diff --git a/CMakeLists.txt b/CMakeLists.txt index 69d7e2a1..3461776d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ # ############################################################################## -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT # ############################################################################## @@ -8,9 +8,8 @@ cmake_minimum_required(VERSION 3.10.2) file(STRINGS "version.txt" version_txt) project(oneVPL VERSION ${version_txt}) -if(NOT "${CMAKE_SIZEOF_VOID_P}" STREQUAL "8") - message(FATAL_ERROR "Unsupported architecture: only 64-bit supported") -endif() + +set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_SOURCE_DIR}/cmake") # # Project configuration options @@ -28,7 +27,7 @@ if(NOT CMAKE_BUILD_TYPE) endif() # Project options -option(OPTION_BUILD_EXAMPLES "Build examples." OFF) +option(OPTION_COMPILE_PREVIEW_EXAMPLES "Build examples." OFF) # Set output directories set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) @@ -46,11 +45,8 @@ add_subdirectory(api) add_subdirectory(dispatcher) add_subdirectory(env) add_subdirectory(modulefiles) -add_subdirectory(tools/cli) -add_subdirectory(examples/hello-decode) -add_subdirectory(examples/hello-encode) -add_subdirectory(examples/hello-vpp) -add_subdirectory(examples/hello-transcode) +add_subdirectory(tools) +add_subdirectory(examples) install( FILES third-party-programs.txt diff --git a/LICENSE b/LICENSE index 7e145886..4e66ab4c 100644 --- a/LICENSE +++ b/LICENSE @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file +SOFTWARE. diff --git a/README.md b/README.md index daa7b589..0cb42991 100644 --- a/README.md +++ b/README.md @@ -25,20 +25,42 @@ To build this project you will need: - A compiler with C++11 support - CMake 3.10 or newer -## Build and Installation +## Build and Installation of this package Build the project with the following commands: ``` +cd + mkdir _build cd _build cmake .. -DCMAKE_INSTALL_PREFIX= cmake --build . --config Release +# optional, create a portable zip file from the build +# cmake --build . --config Release --target package cmake --build . --config Release --target install ``` You can find the build output in ``. +Helper scripts are avalible in the `script` folder. + +- bootstrap : builds any dependencies (none at this time). Built dependencies will be placed in the location stored in VPL_BUILD_DEPENDENCIES if the variable is defined. +- clean : removes intermediate build results +- build : builds the package (all but the last step above) +- install : installs the package (the last step above). Package will be installed in the location stored in VPL_INSTALL_DIR if the variable is defined. +- test : run any smoke testing on the installed package + +You can build the project using the scripts with the follwoing commands +``` +cd +script/bootstrap +script/build +script/install +``` + +Optionaly the environment variable VPL_INSTALL_DIR can be set to specify a location for the scripts to install the project. + ## Getting an Implementation To use oneVPL for video processing you need to install at least one @@ -47,6 +69,141 @@ implementation. Current implementations: - [oneVPL-cpu](https://github.com/oneapi-src/oneVPL-cpu), the CPU reference implementation +## Building Base and CPU Implementations + +Normally you don't just want to build the base package, which is limited to the dispatcher and samples. You want to +be able to do actual work like decoding video. To do this you need an implemetnation. As described above the CPU +implementation is delivered alongside the Base package. + +You can extend the project build commands above as follows to also build the CPU implementation. + +``` +cd + +mkdir _build +cd _build +cmake .. -DCMAKE_INSTALL_PREFIX= +cmake --build . --config Release +cmake --build . --config Release --target package +cmake --build . --config Release --target install + +cd + +# optional, specify an external cache folder to store dependencies +export VPL_BUILD_DEPENDENCIES= + +# Build 3rd party dependencies. +source script/bootstrap + +mkdir _build +cd _build +cmake .. -DCMAKE_INSTALL_PREFIX= +cmake --build . --config Release +cmake --build . --config Release --target package +cmake --build . --config Release --target install +``` + +You can find the build output in ``. + +Helper scripts to build Base and CPU implemenation are avalible in the `script/e2e` folder. + +- bootstrap : builds any dependencies. +- clean : removes intermediate build results +- build : builds and installs the package +- test : run any smoke testing on the installed package + +These scripts assume oneVPL and oneVPL-cpu are cloned into the same parent folder + +Note: `.bat` versions are also provided for Windows. + +### Using End-To-End Scripts + +You can build oneVPL base and CPU implementation with the End-To-End scripts using the following commands: + +``` +cd +oneVPL/script/e2e/bootstrap +oneVPL/script/e2e/build +``` + +Optionaly you may set the environment variables VPL_INSTALL_DIR and +VPL_BUILD_DEPENDENCIES to specify a location to install the project and to +store the built dependencies respectivly. + + +``` +cd + +export VPL_BUILD_DEPENDENCIES= +export VPL_INSTALL_DIR= + +oneVPL/script/e2e/bootstrap +oneVPL/script/e2e/build +``` + +You can also clear build results by calling the clean script. +Note, if VPL_INSTALL_DIR is set it will be cleared too. + + +``` +cd + +oneVPL/script/e2e/clean +``` + +A complete rebuild can be forced by cleaning and then rebuilding. + +``` +cd + +export VPL_BUILD_DEPENDENCIES= +export VPL_INSTALL_DIR= + +oneVPL/script/e2e/clean +oneVPL/script/e2e/bootstrap +oneVPL/script/e2e/build +``` + +## Developer Usage + +### Configure the Environment + +If you did not install to standard system locations, you need to set up the +environment, so tools like CMake and pkg-config can find the library and +headers. + +For Linux: +``` +source /env/vars.sh +``` + +For Windows: +``` +\env\vars.bat +``` + + +### Link to oneVPL with CMake + +Add the following code to your CMakeLists, assuming TARGET is defined as the +component that wants to use oneVPL: + +``` +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +``` + + +### Link to oneVPL from Bash with pkg-config + +The following command line illustrates how to link a simple program to oneVPL +using pkg-config. + +``` +gcc program.cpp `pkg-config --cflags --libs vpl` +``` + + ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) for more information. diff --git a/api/CMakeLists.txt b/api/CMakeLists.txt index 268f650c..3ec55b5f 100644 --- a/api/CMakeLists.txt +++ b/api/CMakeLists.txt @@ -1,23 +1,39 @@ # ############################################################################## -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT # ############################################################################## # oneAPI Video Processing Library (oneVPL) API build script cmake_minimum_required(VERSION 3.10.2) +set(VPL_API_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + +if(DEFINED ENV{ONEVPL_API_HEADER_DIRECTORY}) + set(VPL_API_INCLUDE_DIR $ENV{ONEVPL_API_HEADER_DIRECTORY}) + message(STATUS "Using custom API header directory: ${VPL_API_INCLUDE_DIR}") +endif() + # get API version -file(READ vpl/mfxdefs.h mfxdefs) +file(READ ${VPL_API_INCLUDE_DIR}/vpl/mfxdefs.h mfxdefs) + string(REGEX MATCH "MFX_VERSION_MAJOR ([0-9]*)" _ ${mfxdefs}) +set(API_VERSION_MAJOR ${CMAKE_MATCH_1}) set(API_VERSION_MAJOR - ${CMAKE_MATCH_1} + ${API_VERSION_MAJOR} + PARENT_SCOPE) + +string(REGEX MATCH "MFX_VERSION_MINOR ([0-9]*)" _ ${mfxdefs}) +set(API_VERSION_MINOR ${CMAKE_MATCH_1}) +set(API_VERSION_MINOR + ${API_VERSION_MINOR} PARENT_SCOPE) +message(STATUS "API version: ${API_VERSION_MAJOR}.${API_VERSION_MINOR}") add_library(vpl-api INTERFACE) -target_include_directories(vpl-api INTERFACE .) +target_include_directories(vpl-api INTERFACE ${VPL_API_INCLUDE_DIR}) install( - DIRECTORY vpl + DIRECTORY ${VPL_API_INCLUDE_DIR}/vpl DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT dev) diff --git a/api/libmfx.pc.in b/api/libmfx.pc.in deleted file mode 100644 index 9c744b9c..00000000 --- a/api/libmfx.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@DEST_DIR@ -exec_prefix=${prefix} -libdir=${prefix}/lib -includedir=${prefix}/include - -Name: oneVPL -Description: oneAPI Video Processing Library -Version: 2021.1.7 - -Libs: -L${libdir} -lmfx -Cflags: -I${includedir} -I${includedir}/vpl diff --git a/api/vpl/mfxadapter.h b/api/vpl/mfxadapter.h index 5f1f9091..4d040a06 100644 --- a/api/vpl/mfxadapter.h +++ b/api/vpl/mfxadapter.h @@ -29,6 +29,8 @@ extern "C" @p input_info or adapters pointer is NULL. \n MFX_ERR_NOT_FOUND No suitable adapters found. \n MFX_WRN_OUT_OF_RANGE Not enough memory to report back entire list of adapters. In this case as many adapters as possible will be returned. + + @since This function is available since API version 1.31. */ mfxStatus MFX_CDECL MFXQueryAdapters(mfxComponentInfo* input_info, mfxAdaptersInfo* adapters); @@ -45,6 +47,8 @@ mfxStatus MFX_CDECL MFXQueryAdapters(mfxComponentInfo* input_info, mfxAdaptersIn MFX_ERR_NULL_PTR bitstream or @p adapters pointer is NULL. \n MFX_ERR_NOT_FOUND No suitable adapters found. \n MFX_WRN_OUT_OF_RANGE Not enough memory to report back entire list of adapters. In this case as many adapters as possible will be returned. + + @since This function is available since API version 1.31. */ mfxStatus MFX_CDECL MFXQueryAdaptersDecode(mfxBitstream* bitstream, mfxU32 codec_id, mfxAdaptersInfo* adapters); @@ -57,6 +61,8 @@ mfxStatus MFX_CDECL MFXQueryAdaptersDecode(mfxBitstream* bitstream, mfxU32 codec @return MFX_ERR_NONE The function completed successfully. \n MFX_ERR_NULL_PTR num_adapters pointer is NULL. + + @since This function is available since API version 1.31. */ mfxStatus MFX_CDECL MFXQueryAdaptersNumber(mfxU32* num_adapters); #ifdef __cplusplus diff --git a/api/vpl/mfxbrc.h b/api/vpl/mfxbrc.h index a8e18de2..9ddd69fb 100644 --- a/api/vpl/mfxbrc.h +++ b/api/vpl/mfxbrc.h @@ -76,7 +76,7 @@ enum { MFX_BRC_PANIC_SMALL_FRAME = 4 /*!< Coded frame is too small, no further recoding possible - required padding to mfxBRCFrameStatus::MinFrameSize. */ }; -MFX_PACK_BEGIN_USUAL_STRUCT() +MFX_PACK_BEGIN_STRUCT_W_PTR() /*! Specifies instructions for the encoder provided by external BRC after each frame encoding. See the BRCStatus enumerator for details. */ diff --git a/api/vpl/mfxcommon.h b/api/vpl/mfxcommon.h index 552e1983..90a2f3d1 100644 --- a/api/vpl/mfxcommon.h +++ b/api/vpl/mfxcommon.h @@ -52,18 +52,12 @@ enum { MFX_IMPL_HARDWARE4 = 0x0007, /*!< Hardware accelerated implementation (4th device). */ MFX_IMPL_RUNTIME = 0x0008, /*!< This value cannot be used for session initialization. It may be returned by the MFXQueryIMPL function to show that the session has been initialized in run-time mode. */ -#if (MFX_VERSION >= MFX_VERSION_NEXT) - MFX_IMPL_SINGLE_THREAD= 0x0009, -#endif MFX_IMPL_VIA_ANY = 0x0100, /*!< Hardware acceleration can go through any supported OS infrastructure. This is the default value. The default value is used by the legacy Intel(r) Media SDK if none of the MFX_IMPL_VIA_xxx flags are specified by the application. */ MFX_IMPL_VIA_D3D9 = 0x0200, /*!< Hardware acceleration goes through the Microsoft* Direct3D* 9 infrastructure. */ MFX_IMPL_VIA_D3D11 = 0x0300, /*!< Hardware acceleration goes through the Microsoft* Direct3D* 11 infrastructure. */ MFX_IMPL_VIA_VAAPI = 0x0400, /*!< Hardware acceleration goes through the Linux* VA-API infrastructure. */ - -#if (MFX_VERSION >= MFX_VERSION_NEXT) - MFX_IMPL_EXTERNAL_THREADING = 0x10000, -#endif + MFX_IMPL_VIA_HDDLUNITE = 0x0500, /*!< Hardware acceleration goes through the HDDL* Unite*. */ MFX_IMPL_UNSUPPORTED = 0x0000 /*!< One of the MFXQueryIMPL returns. */ }; @@ -228,7 +222,8 @@ typedef enum { MFX_RESOURCE_DX9_SURFACE = 4, /*!< IDirect3DSurface9. */ MFX_RESOURCE_DX11_TEXTURE = 5, /*!< ID3D11Texture2D. */ MFX_RESOURCE_DX12_RESOURCE = 6, /*!< ID3D12Resource. */ - MFX_RESOURCE_DMA_RESOURCE = 7 /*!< DMA resource. */ + MFX_RESOURCE_DMA_RESOURCE = 7, /*!< DMA resource. */ + MFX_RESOURCE_HDDLUNITE_REMOTE_MEMORY = 8, /*!< HDDL Unite Remote memory handle. */ } mfxResourceType; /*! Maximum allowed length of the implementation name. */ @@ -366,19 +361,39 @@ typedef enum { MFX_ACCEL_MODE_VIA_D3D9 = 0x0200, /*!< Hardware acceleration goes through the Microsoft* Direct3D9* infrastructure. */ MFX_ACCEL_MODE_VIA_D3D11 = 0x0300, /*!< Hardware acceleration goes through the Microsoft* Direct3D11* infrastructure. */ MFX_ACCEL_MODE_VIA_VAAPI = 0x0400, /*!< Hardware acceleration goes through the Linux* VA-API infrastructure. */ + MFX_ACCEL_MODE_VIA_VAAPI_DRM_RENDER_NODE = MFX_ACCEL_MODE_VIA_VAAPI, /*!< Hardware acceleration goes through the Linux* VA-API infrastructure with DRM RENDER MODE as default acceleration access point. */ + MFX_ACCEL_MODE_VIA_VAAPI_DRM_MODESET = 0x0401, /*!< Hardware acceleration goes through the Linux* VA-API infrastructure with DRM MODESET as default acceleration access point. */ + MFX_ACCEL_MODE_VIA_VAAPI_GLX = 0x0402, /*! Hardware acceleration goes through the Linux* VA-API infrastructure with OpenGL Extension to the X Window System + as default acceleration access point. */ + MFX_ACCEL_MODE_VIA_VAAPI_X11 = 0x0403, /*!< Hardware acceleration goes through the Linux* VA-API infrastructure with X11 as default acceleration access point. */ + MFX_ACCEL_MODE_VIA_VAAPI_WAYLAND = 0x0404, /*!< Hardware acceleration goes through the Linux* VA-API infrastructure with Wayland as default acceleration access point. */ + MFX_ACCEL_MODE_VIA_HDDLUNITE = 0x0500, /*!< Hardware acceleration goes through the HDDL* Unite*. */ } mfxAccelerationMode; -#define MFX_IMPLDESCRIPTION_VERSION MFX_STRUCT_VERSION(1, 0) + +#define MFX_ACCELERATIONMODESCRIPTION_VERSION MFX_STRUCT_VERSION(1, 0) + +MFX_PACK_BEGIN_STRUCT_W_PTR() +/*! This structure represents acceleration modes description. */ +typedef struct { + mfxStructVersion Version; /*!< Version of the structure. */ + mfxU16 reserved[2]; /*!< reserved for future use. */ + mfxU16 NumAccelerationModes; /*!< Number of supported acceleration modes. */ + mfxAccelerationMode* Mode; /*!< Pointer to the array of supported acceleration modes. */ +} mfxAccelerationModeDescription; +MFX_PACK_END() + +#define MFX_IMPLDESCRIPTION_VERSION MFX_STRUCT_VERSION(1, 1) MFX_PACK_BEGIN_STRUCT_W_PTR() /*! This structure represents the implementation description. */ typedef struct { mfxStructVersion Version; /*!< Version of the structure. */ mfxImplType Impl; /*!< Impl type: software/hardware. */ - mfxAccelerationMode AccelerationMode; /*!< Hardware acceleration stack to use. OS dependent parameter. Use VA for Linux* and DX* for Windows*. */ + mfxAccelerationMode AccelerationMode; /*!< Default Hardware acceleration stack to use. OS dependent parameter. Use VA for Linux* and DX* for Windows*. */ mfxVersion ApiVersion; /*!< Supported API version. */ mfxChar ImplName[MFX_IMPL_NAME_LEN]; /*!< Null-terminated string with implementation name given by vendor. */ - mfxChar License[MFX_STRFIELD_LEN]; /*!< Null-terminated string with license name of the implementation. */ + mfxChar License[MFX_STRFIELD_LEN]; /*!< Null-terminated string with comma-separated list of license names of the implementation. */ mfxChar Keywords[MFX_STRFIELD_LEN]; /*!< Null-terminated string with comma-separated list of keywords specific to this implementation that dispatcher can search for. */ mfxU32 VendorID; /*!< Standard vendor ID 0x8086 - Intel. */ mfxU32 VendorImplID; /*!< Vendor specific number with given implementation ID. */ @@ -386,7 +401,12 @@ typedef struct { mfxDecoderDescription Dec; /*!< Decoder configuration. */ mfxEncoderDescription Enc; /*!< Encoder configuration. */ mfxVPPDescription VPP; /*!< VPP configuration. */ - mfxU32 reserved[16]; /*!< Reserved for future use. */ + union + { + mfxAccelerationModeDescription AccelerationModeDescription; /*!< Supported acceleration modes. */ + mfxU32 reserved3[4]; + }; + mfxU32 reserved[12]; /*!< Reserved for future use. */ mfxU32 NumExtParam; /*!< Number of extension buffers. Reserved for future use. Must be 0. */ union { mfxExtBuffer **ExtParam; /*!< Array of extension buffers. */ @@ -395,9 +415,19 @@ typedef struct { } mfxImplDescription; MFX_PACK_END() +MFX_PACK_BEGIN_STRUCT_W_PTR() +/*! This structure represents the list of names of implemented functions. */ +typedef struct { + mfxU16 NumFunctions; /*!< Number of function names in the FunctionsName array. */ + mfxChar** FunctionsName; /*!< Array of the null-terminated strings. Each string contains name of the implemented function. */ +} mfxImplementedFunctions; +MFX_PACK_END() + + /* The mfxImplCapsDeliveryFormat enumerator specifies delivery format of the implementation capability. */ typedef enum { - MFX_IMPLCAPS_IMPLDESCSTRUCTURE = 1 /*!< Deliver capabilities as mfxImplDescription structure. */ + MFX_IMPLCAPS_IMPLDESCSTRUCTURE = 1, /*!< Deliver capabilities as mfxImplDescription structure. */ + MFX_IMPLCAPS_IMPLEMENTEDFUNCTIONS = 2 /*!< Deliver capabilities as mfxImplementedFunctions structure. */ } mfxImplCapsDeliveryFormat; MFX_PACK_BEGIN_STRUCT_W_PTR() @@ -408,7 +438,8 @@ typedef struct { mfxU16 reserved[3]; /*!< Reserved for future use. */ mfxU16 NumExtParam; /*!< The number of extra configuration structures attached to this structure. */ mfxExtBuffer **ExtParam; /*!< Points to an array of pointers to the extra configuration structures; see the ExtendedBufferID enumerator for a list of extended configurations. */ - mfxU32 reserved2[4]; /*!< Reserved for future use. */ + mfxU32 VendorImplID; /*!< Vendor specific number with given implementation ID. Represents the same filed from mfxImplDescription. */ + mfxU32 reserved2[3]; /*!< Reserved for future use. */ } mfxInitializationParam; MFX_PACK_END() diff --git a/api/vpl/mfxdefs.h b/api/vpl/mfxdefs.h index 3ab13098..14cece02 100644 --- a/api/vpl/mfxdefs.h +++ b/api/vpl/mfxdefs.h @@ -8,25 +8,18 @@ #define __MFXDEFS_H__ #define MFX_VERSION_MAJOR 2 -#define MFX_VERSION_MINOR 0 - -// MFX_VERSION_NEXT is always +1 from last public release -// may be enforced by MFX_VERSION_USE_LATEST define -// if MFX_VERSION_USE_LATEST is defined MFX_VERSION is ignored - -#define MFX_VERSION_NEXT (MFX_VERSION_MAJOR * 1000 + MFX_VERSION_MINOR + 1) +#define MFX_VERSION_MINOR 2 // MFX_VERSION - version of API that 'assumed' by build may be provided externally // if it omitted then latest stable API derived from Major.Minor is assumed #if !defined(MFX_VERSION) - #if defined(MFX_VERSION_USE_LATEST) - #define MFX_VERSION MFX_VERSION_NEXT - #else #define MFX_VERSION (MFX_VERSION_MAJOR * 1000 + MFX_VERSION_MINOR) - #endif #else + #undef MFX_VERSION_MAJOR + #define MFX_VERSION_MAJOR ((MFX_VERSION) / 1000) + #undef MFX_VERSION_MINOR #define MFX_VERSION_MINOR ((MFX_VERSION) % 1000) #endif @@ -82,9 +75,6 @@ extern "C" #error Unknown packing #endif - #define __INT64 long long - #define __UINT64 unsigned long long - #ifdef _WIN32 #define MFX_CDECL __cdecl #define MFX_STDCALL __stdcall @@ -95,6 +85,52 @@ extern "C" #define MFX_INFINITE 0xFFFFFFFF +#if !defined(MFX_DEPRECATED_OFF) && (MFX_VERSION < MFX_VERSION_NEXT) +#define MFX_DEPRECATED_OFF +#endif + +#ifndef MFX_DEPRECATED_OFF + #if defined(__cplusplus) && __cplusplus >= 201402L + #define MFX_DEPRECATED [[deprecated]] + #define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg [[deprecated]] + #define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg) + #elif defined(__clang__) + #define MFX_DEPRECATED __attribute__((deprecated)) + #define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg __attribute__((deprecated)) + #define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg) + #elif defined(__INTEL_COMPILER) + #if (defined(_WIN32) || defined(_WIN64)) + #define MFX_DEPRECATED __declspec(deprecated) + #define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg + #define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg) __pragma(deprecated(arg)) + #elif defined(__linux__) + #define MFX_DEPRECATED __attribute__((deprecated)) + #if defined(__cplusplus) + #define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg __attribute__((deprecated)) + #else + #define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg + #endif + #define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg) + #endif + #elif defined(_MSC_VER) && _MSC_VER > 1200 // VS 6 doesn't support deprecation + #define MFX_DEPRECATED __declspec(deprecated) + #define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg + #define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg) __pragma(deprecated(arg)) + #elif defined(__GNUC__) + #define MFX_DEPRECATED __attribute__((deprecated)) + #define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg __attribute__((deprecated)) + #define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg) + #else + #define MFX_DEPRECATED + #define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg + #define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg) + #endif +#else + #define MFX_DEPRECATED + #define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg + #define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg) +#endif + typedef unsigned char mfxU8; /*!< Unsigned integer, 8 bit type. */ typedef char mfxI8; /*!< Signed integer, 8 bit type. */ typedef short mfxI16; /*!< Signed integer, 16 bit type. */ @@ -110,8 +146,8 @@ typedef int mfxL32; /*!< Signed integer, 32 bit type. */ #endif typedef float mfxF32; /*!< Single-precision floating point, 32 bit type. */ typedef double mfxF64; /*!< Double-precision floating point, 64 bit type. */ -typedef __UINT64 mfxU64; /*!< Unsigned integer, 64 bit type. */ -typedef __INT64 mfxI64; /*!< Signed integer, 64 bit type. */ +typedef unsigned long long mfxU64; /*!< Unsigned integer, 64 bit type. */ +typedef long long mfxI64; /*!< Signed integer, 64 bit type. */ typedef void* mfxHDL; /*!< Handle type. */ typedef mfxHDL mfxMemId; /*!< Memory ID type. */ typedef void* mfxThreadTask; /*!< Thread task type. */ @@ -135,7 +171,7 @@ typedef union { mfxU8 Major; /*!< Major number of the correspondent structure. */ /*! @} */ }; - mfxU16 Version; /*!< Structure version number */ + mfxU16 Version; /*!< Structure version number. */ } mfxStructVersion; MFX_PACK_END() @@ -187,7 +223,7 @@ MFX_PACK_BEGIN_USUAL_STRUCT() typedef struct { mfxU32 Min; /*!< Minimal value of the range. */ mfxU32 Max; /*!< Maximal value of the range. */ - mfxU32 Step; /*!< Value incrementation step. */ + mfxU32 Step; /*!< Value increment. */ } mfxRange32U; MFX_PACK_END() diff --git a/api/vpl/mfxdispatcher.h b/api/vpl/mfxdispatcher.h index 9287dc0b..8db716b6 100644 --- a/api/vpl/mfxdispatcher.h +++ b/api/vpl/mfxdispatcher.h @@ -1,5 +1,5 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ @@ -24,12 +24,16 @@ typedef struct _mfxConfig *mfxConfig; /*! @brief Creates the loader. @return Loader Loader handle or NULL if failed. + + @since This function is available since API version 2.0. */ -mfxLoader MFX_CDECL MFXLoad(); +mfxLoader MFX_CDECL MFXLoad(void); /*! @brief Destroys the dispatcher. @param[in] loader Loader handle. + + @since This function is available since API version 2.0. */ void MFX_CDECL MFXUnload(mfxLoader loader); @@ -50,6 +54,8 @@ void MFX_CDECL MFXUnload(mfxLoader loader); @endcode @param[in] loader Loader handle. @return Config handle or NULL pointer is failed. + + @since This function is available since API version 2.0. */ mfxConfig MFX_CDECL MFXCreateConfig(mfxLoader loader); @@ -128,6 +134,8 @@ mfxConfig MFX_CDECL MFXCreateConfig(mfxLoader loader); MFX_ERR_NULL_PTR If name is NULL. \n MFX_ERR_NOT_FOUND If name contains unknown parameter name. MFX_ERR_UNSUPPORTED If value data type does not equal the parameter with provided name. + + @since This function is available since API version 2.0. */ mfxStatus MFX_CDECL MFXSetConfigFilterProperty(mfxConfig config, const mfxU8* name, mfxVariant value); @@ -144,6 +152,8 @@ mfxStatus MFX_CDECL MFXSetConfigFilterProperty(mfxConfig config, const mfxU8* na MFX_ERR_NULL_PTR If idesc is NULL. \n MFX_ERR_NOT_FOUND Provided index is out of possible range. \n MFX_ERR_UNSUPPORTED If requested format is not supported. + + @since This function is available since API version 2.0. */ mfxStatus MFX_CDECL MFXEnumImplementations(mfxLoader loader, mfxU32 i, mfxImplCapsDeliveryFormat format, mfxHDL* idesc); @@ -176,6 +186,8 @@ mfxStatus MFX_CDECL MFXEnumImplementations(mfxLoader loader, mfxU32 i, mfxImplCa MFX_ERR_NULL_PTR If loader is NULL. \n MFX_ERR_NULL_PTR If session is NULL. \n MFX_ERR_NOT_FOUND Provided index is out of possible range. + + @since This function is available since API version 2.0. */ mfxStatus MFX_CDECL MFXCreateSession(mfxLoader loader, mfxU32 i, mfxSession* session); @@ -190,6 +202,8 @@ mfxStatus MFX_CDECL MFXCreateSession(mfxLoader loader, mfxU32 i, mfxSession* ses MFX_ERR_NONE The function completed successfully. \n MFX_ERR_NULL_PTR If loader is NULL. \n MFX_ERR_INVALID_HANDLE Provided hdl handle is not associated with this loader. + + @since This function is available since API version 2.0. */ mfxStatus MFX_CDECL MFXDispReleaseImplDescription(mfxLoader loader, mfxHDL hdl); diff --git a/api/vpl/mfxdispatcherprefixedfunctions.h b/api/vpl/mfxdispatcherprefixedfunctions.h index 062ce053..8bfdeabb 100644 --- a/api/vpl/mfxdispatcherprefixedfunctions.h +++ b/api/vpl/mfxdispatcherprefixedfunctions.h @@ -134,4 +134,17 @@ #define MFXReleaseImplDescription disp_MFXReleaseImplDescription #define MFXInitialize disp_MFXInitialize + +// API 2.1 functions +#define MFXMemory_GetSurfaceForVPPOut disp_MFXMemory_GetSurfaceForVPPOut + +#define MFXVideoDECODE_VPP_Init disp_MFXVideoDECODE_VPP_Init +#define MFXVideoDECODE_VPP_DecodeFrameAsync disp_MFXVideoDECODE_VPP_DecodeFrameAsync +#define MFXVideoDECODE_VPP_Reset disp_MFXVideoDECODE_VPP_Reset +#define MFXVideoDECODE_VPP_GetChannelParam disp_MFXVideoDECODE_VPP_GetChannelParam +#define MFXVideoDECODE_VPP_Close disp_MFXVideoDECODE_VPP_Close + +#define MFXVideoVPP_ProcessFrameAsync disp_MFXVideoVPP_ProcessFrameAsync + + #endif diff --git a/api/vpl/mfximplcaps.h b/api/vpl/mfximplcaps.h index 996e52e0..16851d0c 100644 --- a/api/vpl/mfximplcaps.h +++ b/api/vpl/mfximplcaps.h @@ -1,5 +1,5 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ @@ -26,6 +26,8 @@ extern "C" @return Array of handles to the capability report or NULL in case of unsupported format or NULL num_impls pointer. Length of array is equal to num_impls. + + @since This function is available since API version 2.0. */ mfxHDL* MFX_CDECL MFXQueryImplsDescription(mfxImplCapsDeliveryFormat format, mfxU32* num_impls); @@ -39,6 +41,8 @@ mfxHDL* MFX_CDECL MFXQueryImplsDescription(mfxImplCapsDeliveryFormat format, mfx @return MFX_ERR_NONE The function completed successfully. + + @since This function is available since API version 2.0. */ mfxStatus MFX_CDECL MFXReleaseImplDescription(mfxHDL hdl); diff --git a/api/vpl/mfxsession.h b/api/vpl/mfxsession.h index fb7197c0..e9c7127d 100644 --- a/api/vpl/mfxsession.h +++ b/api/vpl/mfxsession.h @@ -20,7 +20,9 @@ typedef struct _mfxSession *mfxSession; /*! @brief - Creates and initializes a session in legacy mode. + Creates and initializes a session in the legacy mode for compatibility with Intel(r) Media SDK applications. + This function is deprecated starting from API version 2.0, applications must use MFXLoad with mfxCreateSession + to select the implementation and initialize the session. Call this function before calling any other API function. If the desired implementation specified by ``impl`` is MFX_IMPL_AUTO, @@ -45,12 +47,17 @@ typedef struct _mfxSession *mfxSession; @return MFX_ERR_NONE The function completed successfully. The output parameter contains the handle of the session.\n MFX_ERR_UNSUPPORTED The function cannot find the desired legacy Intel(r) Media SDK implementation or version. + + @since This function is available since API version 1.0. */ -mfxStatus MFX_CDECL MFXInit(mfxIMPL impl, mfxVersion *ver, mfxSession *session); +MFX_DEPRECATED mfxStatus MFX_CDECL MFXInit(mfxIMPL impl, mfxVersion *ver, mfxSession *session); /*! @brief - Creates and initializes a session in legacy mode. + Creates and initializes a session in the legacy mode for compatibility with Intel(r) Media SDK applications. + This function is deprecated starting from API version 2.0, applications must use MFXLoad with mfxCreateSession + to select the implementation and initialize the session. + Call this function before calling any other API functions. If the desired implementation specified by ``par`` is MFX_IMPL_AUTO, the function will search for @@ -73,8 +80,10 @@ mfxStatus MFX_CDECL MFXInit(mfxIMPL impl, mfxVersion *ver, mfxSession *session); @return MFX_ERR_NONE The function completed successfully. The output parameter contains the handle of the session.\n MFX_ERR_UNSUPPORTED The function cannot find the desired implementation or version. + + @since This function is available since API version 1.14. */ -mfxStatus MFX_CDECL MFXInitEx(mfxInitParam par, mfxSession *session); +MFX_DEPRECATED mfxStatus MFX_CDECL MFXInitEx(mfxInitParam par, mfxSession *session); /*! @brief @@ -89,6 +98,8 @@ mfxStatus MFX_CDECL MFXInitEx(mfxInitParam par, mfxSession *session); @return MFX_ERR_NONE The function completed successfully. The output parameter contains the handle of the session.\n MFX_ERR_UNSUPPORTED The function cannot find the desired implementation or version. + + @since This function is available since API version 2.0. */ mfxStatus MFX_CDECL MFXInitialize(mfxInitializationParam par, mfxSession *session); @@ -100,6 +111,8 @@ mfxStatus MFX_CDECL MFXInitialize(mfxInitializationParam par, mfxSession *sessio @param[in] session session handle. @return MFX_ERR_NONE The function completed successfully. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXClose(mfxSession session); @@ -110,6 +123,8 @@ mfxStatus MFX_CDECL MFXClose(mfxSession session); @param[out] impl Pointer to the implementation type @return MFX_ERR_NONE The function completed successfully. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXQueryIMPL(mfxSession session, mfxIMPL *impl); @@ -120,6 +135,8 @@ mfxStatus MFX_CDECL MFXQueryIMPL(mfxSession session, mfxIMPL *impl); @param[out] version Pointer to the returned implementation version. @return MFX_ERR_NONE The function completed successfully. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXQueryVersion(mfxSession session, mfxVersion *version); @@ -144,6 +161,8 @@ mfxStatus MFX_CDECL MFXQueryVersion(mfxSession session, mfxVersion *version); MFX_WRN_IN_EXECUTION Active tasks are executing or in queue in one of the sessions. Call this function again after all tasks are completed. \n MFX_ERR_UNSUPPORTED The child session cannot be joined with the current session. + + @since This function is available since API version 1.1. */ mfxStatus MFX_CDECL MFXJoinSession(mfxSession session, mfxSession child); @@ -158,6 +177,8 @@ mfxStatus MFX_CDECL MFXJoinSession(mfxSession session, mfxSession child); MFX_WRN_IN_EXECUTION Active tasks are executing or in queue in one of the sessions. Call this function again after all tasks are completed. \n MFX_ERR_UNDEFINED_BEHAVIOR The session is independent, or this session is the parent of all joined sessions. + + @since This function is available since API version 1.1. */ mfxStatus MFX_CDECL MFXDisjoinSession(mfxSession session); @@ -171,6 +192,8 @@ mfxStatus MFX_CDECL MFXDisjoinSession(mfxSession session); @param[out] clone Pointer to the cloned session handle. @return MFX_ERR_NONE The function completed successfully. + + @since This function is available since API version 1.1. */ mfxStatus MFX_CDECL MFXCloneSession(mfxSession session, mfxSession *clone); @@ -181,6 +204,8 @@ mfxStatus MFX_CDECL MFXCloneSession(mfxSession session, mfxSession *clone); @param[in] priority Priority value. @return MFX_ERR_NONE The function completed successfully. + + @since This function is available since API version 1.1. */ mfxStatus MFX_CDECL MFXSetPriority(mfxSession session, mfxPriority priority); @@ -191,6 +216,8 @@ mfxStatus MFX_CDECL MFXSetPriority(mfxSession session, mfxPriority priority); @param[out] priority Pointer to the priority value. @return MFX_ERR_NONE The function completed successfully. + + @since This function is available since API version 1.1. */ mfxStatus MFX_CDECL MFXGetPriority(mfxSession session, mfxPriority *priority); diff --git a/api/vpl/mfxstructures.h b/api/vpl/mfxstructures.h index f37fffe2..f2859797 100644 --- a/api/vpl/mfxstructures.h +++ b/api/vpl/mfxstructures.h @@ -1,5 +1,5 @@ /*############################################################################ - # Copyright (C) 2018-2020 Intel Corporation + # Copyright (C) 2018-2021 Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ @@ -40,7 +40,13 @@ MFX_PACK_BEGIN_USUAL_STRUCT() /*! Specifies properties of video frames. See also "Configuration Parameter Constraints" chapter. */ typedef struct { mfxU32 reserved[4]; /*!< Reserved for future use. */ - mfxU16 reserved4; /*!< Reserved for future use. */ + /*! The unique ID of each VPP channel set by application. It's required that during Init/Reset application fills ChannelId for + each mfxVideoChannelParam provided by the application and the SDK sets it back to the correspondent + mfxSurfaceArray::mfxFrameSurface1 to distinguish different channels. It's expected that surfaces for some channels might be + returned with some delay so application has to use mfxFrameInfo::ChannelId to distinguish what returned surface belongs to + what VPP channel. Decoder's initialization parameters are always sent through channel with mfxFrameInfo::ChannelId equals to + zero. It's allowed to skip setting of decoder's parameters for simplified decoding procedure */ + mfxU16 ChannelId; /*! Number of bits used to represent luma samples. @note Not all codecs and implementations support this value. Use the Query API function to check if this feature is supported. */ mfxU16 BitDepthLuma; @@ -50,38 +56,7 @@ typedef struct { /*! When the value is not zero, indicates that values of luma and chroma samples are shifted. Use BitDepthLuma and BitDepthChroma to calculate shift size. Use zero value to indicate absence of shift. See example data alignment below. - @note Not all codecs and implementations support this value. Use the Query API function to check if this feature is supported. - - @internal - Example data alignment for Shift = 0: - @endinternal - @dot - digraph { - abc [shape=none, margin=0, label=< - - - - - - -
Bit1514131211109876543210
Value000000Valid data
>]; - } - @enddot - @internal - Example data alignment for Shift != 0: - @endinternal - @dot - digraph { - abc [shape=none, margin=0, label=< - - - - - - -
Bit1514131211109876543210
ValueValid data000000
>]; - } - @enddot + @note Not all codecs and implementations support this value. Use the Query API function to check if this feature is supported. */ mfxU16 Shift; mfxFrameId FrameId; /*!< Describes the view and layer of a frame picture. */ @@ -133,8 +108,8 @@ typedef struct { If both parameters are zero, the encoder uses the default value of sample aspect ratio. */ - mfxU16 AspectRatioW; /*!< Ratio for width. */ - mfxU16 AspectRatioH; /*!< Ratio for height. */ + mfxU16 AspectRatioW; /*!< Aspect Ratio for width. */ + mfxU16 AspectRatioH; /*!< Aspect Ratio for height. */ /*! @} */ mfxU16 PicStruct; /*!< Picture type as specified in the PicStruct enumerator. */ @@ -232,13 +207,15 @@ enum { MFX_FRAMEORDER_UNKNOWN = -1 /*!< Unused entry or API functions that generate the frame output do not use this frame. */ }; -/* DataFlag in mfxFrameData */ +/* The FrameDataFlag enumerator itemizes DataFlag value in mfxFrameData. */ enum { + MFX_FRAMEDATA_TIMESTAMP_UNKNOWN = 0x0000,/*!< Indicates the time stamp of this frame is unknown and will be calculated by SDK. */ MFX_FRAMEDATA_ORIGINAL_TIMESTAMP = 0x0001 /*!< Indicates the time stamp of this frame is not calculated and is a pass-through of the original time stamp. */ }; /* Corrupted in mfxFrameData */ enum { + MFX_CORRUPTION_NO = 0x0000, /*!< No corruption. */ MFX_CORRUPTION_MINOR = 0x0001, /*!< Minor corruption in decoding certain macro-blocks. */ MFX_CORRUPTION_MAJOR = 0x0002, /*!< Major corruption in decoding the frame - incomplete data, for example. */ MFX_CORRUPTION_ABSENT_TOP_FIELD = 0x0004, /*!< Top field of frame is absent in bitstream. Only bottom field has been decoded. */ @@ -251,7 +228,7 @@ enum { }; MFX_PACK_BEGIN_USUAL_STRUCT() -/*! Specifies "pixel" in Y410 color format */ +/*! Specifies "pixel" in Y410 color format. */ typedef struct { mfxU32 U : 10; /*!< U component. */ @@ -261,6 +238,17 @@ typedef struct } mfxY410; MFX_PACK_END() +MFX_PACK_BEGIN_USUAL_STRUCT() +/*! Specifies "pixel" in Y416 color format. */ +typedef struct +{ + mfxU32 U : 16; /*!< U component. */ + mfxU32 Y : 16; /*!< Y component. */ + mfxU32 V : 16; /*!< V component. */ + mfxU32 A : 16; /*!< A component. */ +} mfxY416; +MFX_PACK_END() + MFX_PACK_BEGIN_USUAL_STRUCT() /*! Specifies "pixel" in A2RGB10 color format */ typedef struct @@ -326,6 +314,7 @@ typedef struct { mfxU16 *U16; /*!< U16 channel. */ mfxU8 *G; /*!< G channel. */ mfxY410 *Y410; /*!< T410 channel for Y410 format (merged AVYU). */ + mfxY416 *Y416; /*!< This format is a packed 16-bit representation that includes 16 bits of alpha. */ }; union { mfxU8 *Cr; /*!< Cr channel. */ @@ -358,7 +347,8 @@ typedef enum { MFX_HANDLE_RESERVED3 = 5, /* Reserved. */ MFX_HANDLE_VA_CONFIG_ID = 6, /*!< Pointer to VAConfigID interface. It represents external VA config for Common Encryption usage model. */ MFX_HANDLE_VA_CONTEXT_ID = 7, /*!< Pointer to VAContextID interface. It represents external VA context for Common Encryption usage model. */ - MFX_HANDLE_CM_DEVICE = 8 /* Pointer to CmDevice interface ( Intel(r) C for Metal Runtime ). */ + MFX_HANDLE_CM_DEVICE = 8, /*!< Pointer to CmDevice interface ( Intel(r) C for Metal Runtime ). */ + MFX_HANDLE_HDDLUNITE_WORKLOADCONTEXT = 9, /*!< Pointer to HddlUnite::WorkloadContext interface. */ } mfxHandleType; /*! The mfxMemoryFlags enumerator specifies memory access mode. */ @@ -464,6 +454,8 @@ typedef struct mfxFrameSurfaceInterface { Read-write access with MFX_MAP_READ_WRITE provides exclusive simultaneous reading and writing access. + @note Bitwise copying of mfxFrameSurface1 object between map / unmap calls may result in having dangling data pointers in copies. + @param[in] surface Valid surface. @param[out] flags Specify mapping mode. @param[out] surface->Info.Data Pointers set to actual pixel data. @@ -480,11 +472,11 @@ typedef struct mfxFrameSurfaceInterface { /*! @brief Invalidates pointers of surface->Info.Data and sets them to NULL. - In case of video memory, the surface with data in video memory becomes unmapped. + In case of video memory, the underlying texture becomes unmapped after last reader or writer unmap. - @param[in] surface Valid surface - @param[out] surface->Info.Data Pointers set to NULL + @param[in] surface Valid surface. + @param[out] surface->Info.Data Pointers set to NULL. @return MFX_ERR_NONE If no error. \n @@ -528,7 +520,7 @@ typedef struct mfxFrameSurfaceInterface { @return MFX_ERR_NONE If no error. \n - MFX_ERR_NULL_PTR If any of surface, devic_handle or device_type is NULL. \n + MFX_ERR_NULL_PTR If any of surface, device_handle or device_type is NULL. \n MFX_ERR_INVALID_HANDLE If any of surface, resource or resource_type is not valid object (no native resource was allocated). \n MFX_ERR_UNSUPPORTED If surface is in system memory. \n MFX_ERR_UNKNOWN Any internal error. @@ -560,7 +552,23 @@ typedef struct mfxFrameSurfaceInterface { MFX_ERR_UNKNOWN Any internal error. */ mfxStatus (MFX_CDECL *Synchronize)(mfxFrameSurface1* surface, mfxU32 wait); - mfxHDL reserved2[4]; + + /*! @brief + The library calls the function after complete of associated video operation + notifying the application that frame surface is ready. + + @attention This is callback function and intended to be called by + the library only. + + It is expected that the function is low-intrusive designed otherwise it may + impact performance. + + @param[in] sts The status of completed operation. + + */ + void (MFX_CDECL *OnComplete)(mfxStatus sts); + + mfxHDL reserved2[3]; } mfxFrameSurfaceInterface; MFX_PACK_END() @@ -711,7 +719,23 @@ typedef struct { return MFX_ERR_REALLOC_SURFACE. See the CodingOptionValue enumerator for values of this option. Use the Query API function to check if this feature is supported. */ mfxU16 EnableReallocRequest; - mfxU16 reserved2[7]; + /*! Special parameter for AV1 decoder. Indicates presence/absence of film grain parameters in bitstream. + Also controls decoding behavior for streams with film grain parameters. MFXVideoDECODE_DecodeHeader returns nonzero FilmGrain + for streams with film grain parameters and zero for streams w/o them. Decoding with film grain requires additional output surfaces. + If FilmGrain` is non-zero then MFXVideoDECODE_QueryIOSurf will request more surfaces in case of external allocated video memory at decoder output. + FilmGrain is passed to MFXVideoDECODE_Init function to control decoding operation for AV1 streams with film grain parameters. + If FilmGrain is nonzero decoding of each frame require two output surfaces (one for reconstructed frame and one for output frame with film grain applied). + The decoder returns MFX_ERR_MORE_SURFACE from MFXVideoDECODE_DecodeFrameAsync if it has insufficient output surfaces to decode frame. + Application can forcibly disable the feature passing zero value of `FilmGrain` to `MFXVideoDECODE_Init`. + In this case the decoder will output reconstructed frames w/o film grain applied. + Application can retrieve film grain parameters for a frame by attaching extended buffer mfxExtAV1FilmGrainParam to mfxFrameSurface1. + If stream has no film grain parameters `FilmGrain` passed to `MFXVideoDECODE_Init` is ignored by the decoder. */ + mfxU16 FilmGrain; + /*! If not zero, it forces SDK to attempt to decode bitstream even if a decoder may not support all features associated with given CodecLevel. Decoder may produce visual artifacts. Only AVC decoder supports this field. */ + mfxU16 IgnoreLevelConstrain; + /*! This flag is used to disable output of main decoding channel. When it's ON SkipOutput = MFX_CODINGOPTION_ON decoder outputs only video processed channels. For pure decode this flag should be always disabled. */ + mfxU16 SkipOutput; + mfxU16 reserved2[4]; }; struct { /* JPEG Decoding Options */ /*! Specify the chroma sampling format that has been used to encode a JPEG picture. See the ChromaFormat enumerator for details. */ @@ -869,6 +893,12 @@ enum { MFX_LEVEL_AVC_51 =51, MFX_LEVEL_AVC_52 =52, /*! @} */ + /*! @{ */ + /* H.264 level 6-6.2 */ + MFX_LEVEL_AVC_6 =60, + MFX_LEVEL_AVC_61 =61, + MFX_LEVEL_AVC_62 =62, + /*! @} */ /*! @{ */ /* MPEG2 Profiles. */ @@ -948,6 +978,40 @@ enum { MFX_PROFILE_VP9_3 = 4, /*! @} */ + /*! @{ */ + /* AV1 Profiles */ + MFX_PROFILE_AV1_MAIN = 1, + MFX_PROFILE_AV1_HIGH = 2, + MFX_PROFILE_AV1_PRO = 3, + /*! @} */ + + /*! @{ */ + /* AV1 Levels */ + MFX_LEVEL_AV1_2 = 20, + MFX_LEVEL_AV1_21 = 21, + MFX_LEVEL_AV1_22 = 22, + MFX_LEVEL_AV1_23 = 23, + MFX_LEVEL_AV1_3 = 30, + MFX_LEVEL_AV1_31 = 31, + MFX_LEVEL_AV1_32 = 32, + MFX_LEVEL_AV1_33 = 33, + MFX_LEVEL_AV1_4 = 40, + MFX_LEVEL_AV1_41 = 41, + MFX_LEVEL_AV1_42 = 42, + MFX_LEVEL_AV1_43 = 43, + MFX_LEVEL_AV1_5 = 50, + MFX_LEVEL_AV1_51 = 51, + MFX_LEVEL_AV1_52 = 52, + MFX_LEVEL_AV1_53 = 53, + MFX_LEVEL_AV1_6 = 60, + MFX_LEVEL_AV1_61 = 61, + MFX_LEVEL_AV1_62 = 62, + MFX_LEVEL_AV1_63 = 63, + MFX_LEVEL_AV1_7 = 70, + MFX_LEVEL_AV1_71 = 71, + MFX_LEVEL_AV1_72 = 72, + MFX_LEVEL_AV1_73 = 73, + /*! @} */ }; /*! The GopOptFlag enumerator itemizes special properties in the GOP (Group of Pictures) sequence. */ @@ -1329,7 +1393,7 @@ typedef struct { */ mfxU16 DisableDeblockingIdc; /*! - Cmpletely disables VUI in output bitstream. + Completely disables VUI in the output bitstream. @note Not all codecs and implementations support this value. Use the Query API function to check if this feature is supported. */ mfxU16 DisableVUI; @@ -1392,31 +1456,6 @@ enum { DPB by a sliding window. */ }; -#if (MFX_VERSION >= MFX_VERSION_NEXT) - -/* QuantScaleType */ -enum { - MFX_MPEG2_QUANT_SCALE_TYPE_DEFAULT = 0, - MFX_MPEG2_QUANT_SCALE_TYPE_LINEAR = 1, /* q_scale_type = 0 */ - MFX_MPEG2_QUANT_SCALE_TYPE_NONLINEAR = 2 /* q_scale_type = 1 */ -}; - -/* IntraVLCFormat */ -enum { - MFX_MPEG2_INTRA_VLC_FORMAT_DEFAULT = 0, - MFX_MPEG2_INTRA_VLC_FORMAT_B14 = 1, /* use table B.14 */ - MFX_MPEG2_INTRA_VLC_FORMAT_B15 = 2 /* use table B.15 */ -}; - -/* ScanType */ -enum { - MFX_MPEG2_SCAN_TYPE_DEFAULT = 0, - MFX_MPEG2_SCAN_TYPE_ZIGZAG = 1, /* alternate_scan = 0 */ - MFX_MPEG2_SCAN_TYPE_ALTERNATE = 2 /* alternate_scan = 1 */ -}; - -#endif - MFX_PACK_BEGIN_USUAL_STRUCT() /*! Used with mfxExtCodingOption and mfxExtCodingOption2 structures to specify additional options for encoding. @@ -1523,12 +1562,7 @@ Values are in the 1 to 51 range, See the CodingOptionValue enumerator for values of this option. */ mfxU16 MotionVectorsOverPicBoundaries; -#if (MFX_VERSION >= MFX_VERSION_NEXT) - mfxU16 Log2MaxMvLengthHorizontal; /* 0..16 */ - mfxU16 Log2MaxMvLengthVertical; /* 0..16 */ -#else mfxU16 reserved1[2]; -#endif mfxU16 ScenarioInfo; /*!< Provides a hint to encoder about the scenario for the encoding session. See the ScenarioInfo enumerator for values of this option. */ mfxU16 ContentInfo; /*!< Provides a hint to encoder about the content for the encoding session. See the ContentInfo enumerator for values of this option. */ @@ -1539,12 +1573,7 @@ Values are in the 1 to 51 range, unless application provided mfxExtPredWeightTable for this frame. See the CodingOptionValue enumerator for values of this option. */ mfxU16 FadeDetection; -#if (MFX_VERSION >= MFX_VERSION_NEXT) - mfxI16 DeblockingAlphaTcOffset; /* -12..12 (slice_alpha_c0_offset_div2 << 1) */ - mfxI16 DeblockingBetaOffset; /* -12..12 (slice_beta_offset_div2 << 1) */ -#else mfxU16 reserved2[2]; -#endif /*! Set this flag to OFF to make HEVC encoder use regular P-frames instead of GPB. See the CodingOptionValue enumerator for values of this option. */ @@ -1581,11 +1610,7 @@ Values are in the 1 to 51 range, mfxU16 NumRefActiveBL0[8]; /*!< Max number of active references for B-frames in reference picture list 0. Array index is pyramid layer. */ mfxU16 NumRefActiveBL1[8]; /*!< Max number of active references for B-frames in reference picture list 1. Array index is pyramid layer. */ -#if (MFX_VERSION >= MFX_VERSION_NEXT) - mfxU16 ConstrainedIntraPredFlag; -#else mfxU16 reserved6; -#endif /*! For HEVC if this option is turned ON, the transform_skip_enabled_flag will be set to 1 in PPS. OFF specifies that transform_skip_enabled_flag will be set to 0. */ @@ -1631,13 +1656,7 @@ Values are in the 1 to 51 range, MFX_CODINGOPTION_ON forces encoder to favor quality and MFX_CODINGOPTION_OFF forces encoder to favor performance. */ mfxU16 RepartitionCheckEnable; -#if (MFX_VERSION >= MFX_VERSION_NEXT) - mfxU16 QuantScaleType; /* For MPEG2, specifies mapping between quantiser_scale_code and quantiser_scale (see QuantScaleType enum). */ - mfxU16 IntraVLCFormat; /* For MPEG2, specifies which table shall be used for coding of DCT coefficients of intra macroblocks (see IntraVLCFormat enum) */ - mfxU16 ScanType; /* For MPEG2, specifies transform coefficients scan pattern (see ScanType enum) */ -#else mfxU16 reserved5[3]; -#endif mfxU16 EncodedUnitsInfo; /*!< Set this flag to ON to make encoded units info available in mfxExtEncodedUnitsInfo. */ /*! If this flag is set to ON, the HEVC encoder uses the NAL unit type provided by the application in the mfxEncodeCtrl::MfxNalUnitType field. @@ -1650,17 +1669,25 @@ Values are in the 1 to 51 range, modify, or remove LTR frames based on encoding parameters and content properties. The application must set each input frame's mfxFrameData::FrameOrder for correct operation of LTR. */ - mfxU16 ExtBrcAdaptiveLTR; /* tri-state option for ExtBRC */ - mfxU16 reserved[163]; + mfxU16 ExtBrcAdaptiveLTR; /* Tri-state option for ExtBRC. */ + /*! + If this flag is set to ON, encoder adaptively selects one of implementation-defined quantization matrices for each frame. + Non-default quantization matrices aim to improve subjective visual quality under certain conditions. + Their number and definitions are API implementation specific. + If this flag is set to OFF, default quantization matrix is used for all frames. + This parameter is valid only during initialization. + */ + mfxU16 AdaptiveCQM; + mfxU16 reserved[162]; } mfxExtCodingOption3; MFX_PACK_END() -/*! IntraPredBlockSize/InterPredBlockSize specifies minimum block size of inter-prediction. */ +/*! IntraPredBlockSize/InterPredBlockSize specifies the minimum block size of inter-prediction. */ enum { MFX_BLOCKSIZE_UNKNOWN = 0, /*!< Unspecified. */ - MFX_BLOCKSIZE_MIN_16X16 = 1, /*!< 16x16 */ - MFX_BLOCKSIZE_MIN_8X8 = 2, /*!< 16x16, 8x8 */ - MFX_BLOCKSIZE_MIN_4X4 = 3 /*!< 16x16, 8x8, 4x4 */ + MFX_BLOCKSIZE_MIN_16X16 = 1, /*!< 16x16 minimum block size. */ + MFX_BLOCKSIZE_MIN_8X8 = 2, /*!< 8x8 minimum block size. May be 16x16 or 8x8. */ + MFX_BLOCKSIZE_MIN_4X4 = 3 /*!< 4x4 minimum block size. May be 16x16, 8x8, or 4x4. */ }; /*! The MVPrecision enumerator specifies the motion estimation precision. */ @@ -1676,11 +1703,12 @@ enum { MFX_CODINGOPTION_UNKNOWN =0, /*!< Unspecified. */ MFX_CODINGOPTION_ON =0x10, /*!< Coding option set. */ MFX_CODINGOPTION_OFF =0x20, /*!< Coding option not set. */ - MFX_CODINGOPTION_ADAPTIVE =0x30 /*!< Reserved */ + MFX_CODINGOPTION_ADAPTIVE =0x30 /*!< Reserved. */ }; /*! The BitstreamDataFlag enumerator uses bit-ORed values to itemize additional information about the bitstream buffer. */ enum { + MFX_BITSTREAM_NO_FLAG = 0x0000, /*!< The bitstream doesn't contain any flags. */ /*! The bitstream buffer contains a complete frame or complementary field pair of data for the bitstream. For decoding, this means that the decoder can proceed with this buffer without waiting for the start of the next frame, which effectively reduces decoding latency. @@ -1717,10 +1745,11 @@ enum { */ MFX_EXTBUFF_VPP_AUXDATA = MFX_MAKEFOURCC('A','U','X','D'), /*! - The extended buffer defines control parameters for the VPP denoise filter algorithm. See the mfxExtVPPDenoise structure for details. + The extended buffer defines control parameters for the VPP denoise filter algorithm. See the mfxExtVPPDenoise2 structure for details. The application can attach this buffer to the mfxVideoParam structure for video processing initialization. */ - MFX_EXTBUFF_VPP_DENOISE = MFX_MAKEFOURCC('D','N','I','S'), + MFX_EXTBUFF_VPP_DENOISE2 = MFX_MAKEFOURCC('D','N','I','2'), + MFX_EXTBUFF_VPP_DENOISE = MFX_MAKEFOURCC('D','N','I','S'), /*!< Deprecated in 2.2 API version.*/ MFX_EXTBUFF_VPP_SCENE_ANALYSIS = MFX_MAKEFOURCC('S','C','L','Y'), MFX_EXTBUFF_VPP_SCENE_CHANGE = MFX_EXTBUFF_VPP_SCENE_ANALYSIS, /* Deprecated */ /*! @@ -1948,14 +1977,6 @@ enum { This extended buffer configures HDR SEI message. See the mfxExtMasteringDisplayColourVolume structure for details. */ MFX_EXTBUFF_MASTERING_DISPLAY_COLOUR_VOLUME = MFX_MAKEFOURCC('D', 'C', 'V', 'S'), - /*! - This extended buffer allow to specify multi-frame submission parameters. - */ - MFX_EXTBUFF_MULTI_FRAME_PARAM = MFX_MAKEFOURCC('M', 'F', 'R', 'P'), - /*! - This extended buffer allow to manage multi-frame submission in runtime. - */ - MFX_EXTBUFF_MULTI_FRAME_CONTROL = MFX_MAKEFOURCC('M', 'F', 'R', 'C'), /*! See the mfxExtEncodedUnitsInfo structure for details. */ @@ -1980,13 +2001,6 @@ enum { See the mfxExtAVCRoundingOffset structure for details. */ MFX_EXTBUFF_AVC_ROUNDING_OFFSET = MFX_MAKEFOURCC('R','N','D','O'), -#if (MFX_VERSION >= MFX_VERSION_NEXT) - MFX_EXTBUFF_DPB = MFX_MAKEFOURCC('E','D','P','B'), - MFX_EXTBUFF_TEMPORAL_LAYERS = MFX_MAKEFOURCC('T','M','P','L'), - MFX_EXTBUFF_AVC_SCALING_MATRIX = MFX_MAKEFOURCC('A','V','S','M'), - MFX_EXTBUFF_MPEG2_QUANT_MATRIX = MFX_MAKEFOURCC('M','2','Q','M'), - MFX_EXTBUFF_TASK_DEPENDENCY = MFX_MAKEFOURCC('S','Y','N','C'), -#endif /*! See the mfxExtPartialBitstreamParam structure for details. */ @@ -2006,6 +2020,16 @@ enum { */ MFX_EXTBUFF_DEVICE_AFFINITY_MASK = MFX_MAKEFOURCC('D', 'A', 'F', 'M'), + /*! + See the mfxExtInCrops structure for details. + */ + MFX_EXTBUFF_CROPS = MFX_MAKEFOURCC('C', 'R', 'O', 'P'), + + /*! + See the mfxExtAV1FilmGrainParam structure for more details. + */ + MFX_EXTBUFF_AV1_FILM_GRAIN_PARAM = MFX_MAKEFOURCC('A','1','F','G') + }; @@ -2025,6 +2049,7 @@ MFX_PACK_END() MFX_PACK_BEGIN_USUAL_STRUCT() /*! A hint structure that configures the VPP denoise filter algorithm. + This extension buffer is deprecated. Use mfxExtVPPDenoise2 instead. */ typedef struct { mfxExtBuffer Header; /*!< Extension buffer header. Header.BufferId must be equal to MFX_EXTBUFF_VPP_DENOISE. */ @@ -2032,6 +2057,37 @@ typedef struct { } mfxExtVPPDenoise; MFX_PACK_END() +/*! The mfxDenoiseMode enumerator specifies the mode of denoise. */ +typedef enum { + MFX_DENOISE_MODE_DEFAULT = 0, /*!< Default denoise mode. The library selects the most appropriate denoise mode. */ + MFX_DENOISE_MODE_VENDOR = 1000, /*!< The enumeration to separate common denoise mode above and vendor specific. */ + + MFX_DENOISE_MODE_INTEL_HVS_AUTO_BDRATE = MFX_DENOISE_MODE_VENDOR + 1, /*!< Indicates auto BD rate improvement in pre-processing before video encoding, + ignore Strength.*/ + MFX_DENOISE_MODE_INTEL_HVS_AUTO_SUBJECTIVE = MFX_DENOISE_MODE_VENDOR + 2, /*!< Indicates auto subjective quality improvement in pre-processing before video encoding, + ignore Strength.*/ + MFX_DENOISE_MODE_INTEL_HVS_AUTO_ADJUST = MFX_DENOISE_MODE_VENDOR + 3, /*!< Indicates auto adjust subjective quality in post-processing (after decoding) for video playback, + ignore Strength.*/ + MFX_DENOISE_MODE_INTEL_HVS_PRE_MANUAL = MFX_DENOISE_MODE_VENDOR + 4, /*!< Indicates manual mode for pre-processing before video encoding, + allow to adjust the denoise strength manually.*/ + MFX_DENOISE_MODE_INTEL_HVS_POST_MANUAL = MFX_DENOISE_MODE_VENDOR + 5, /*!< Indicates manual mode for post-processing for video playback, + allow to adjust the denoise strength manually.*/ +} mfxDenoiseMode; + +MFX_PACK_BEGIN_USUAL_STRUCT() +/*! + A hint structure that configures the VPP denoise filter algorithm. +*/ +typedef struct { + mfxExtBuffer Header; /*!< Extension buffer header. Header.BufferId must be equal to MFX_EXTBUFF_VPP_DENOISE2. */ + mfxDenoiseMode Mode; /*!< Indicates the mode of denoise. mfxDenoiseMode enumerator. */ + mfxU16 Strength; /*!< Denoise strength in manaul mode. Value of 0-100 (inclusive) indicates the strength of denoise. + The strength of denoise controls degree of possible changes of pixel values; the bigger the strength + the larger the change is. */ + mfxU16 reserved[15]; +} mfxExtVPPDenoise2; +MFX_PACK_END() + MFX_PACK_BEGIN_USUAL_STRUCT() /*! A hint structure that configures the VPP detail/edge enhancement filter algorithm. @@ -2050,7 +2106,7 @@ MFX_PACK_BEGIN_STRUCT_W_L_TYPE() buffer is submitted for processing. */ typedef struct { - mfxExtBuffer Header; /*!< Extension buffer header. Header.BufferId must be equal to FX_EXTBUFF_VPP_PROCAMP. */ + mfxExtBuffer Header; /*!< Extension buffer header. Header.BufferId must be equal to MFX_EXTBUFF_VPP_PROCAMP. */ mfxF64 Brightness; /*!< The brightness parameter is in the range of -100.0F to 100.0F, in increments of 0.1F. Setting this field to 0.0F will disable brightness adjustment. */ mfxF64 Contrast; /*!< The contrast parameter in the range of 0.0F to 10.0F, in increments of 0.01F, is used for manual @@ -2299,11 +2355,7 @@ typedef struct { mfxU32 reserved[3]; mfxMemId *mids; /*!< Pointer to the array of the returned memory IDs. The application allocates or frees this array. */ mfxU16 NumFrameActual; /*!< Number of frames actually allocated. */ -#if (MFX_VERSION >= MFX_VERSION_NEXT) - mfxU16 MemType; -#else mfxU16 reserved2; -#endif } mfxFrameAllocResponse; MFX_PACK_END() @@ -3204,7 +3256,7 @@ MFX_PACK_END() MFX_PACK_BEGIN_STRUCT_W_L_TYPE() /*! - Secifies per-macroblock QP for current frame if mfxExtCodingOption3::EnableMBQP was turned ON during + Specifies per-macroblock QP for current frame if mfxExtCodingOption3::EnableMBQP was turned ON during encoder initialization. The application can attach this extended buffer to the mfxEncodeCtrl structure during runtime. */ typedef struct { @@ -3324,25 +3376,6 @@ typedef struct { } mfxExtMBDisableSkipMap; MFX_PACK_END() -#if (MFX_VERSION >= MFX_VERSION_NEXT) -MFX_PACK_BEGIN_USUAL_STRUCT() -typedef struct { - mfxExtBuffer Header; - - mfxU16 DPBSize; - mfxU16 reserved[11]; - - struct { - mfxU32 FrameOrder; - mfxU16 PicType; - mfxU16 LongTermIdx; - mfxU16 reserved[4]; - } DPB[32]; -} mfxExtDPB; -MFX_PACK_END() - -#endif - /*! The GeneralConstraintFlags enumerator uses bit-ORed values to itemize HEVC bitstream indications for specific profiles. Each value indicates for format range extensions profiles. */ enum { @@ -3387,6 +3420,7 @@ MFX_PACK_END() /*! The ErrorTypes enumerator uses bit-ORed values to itemize bitstream error types. */ enum { + MFX_ERROR_NO = 0, /*!< No error in bitstream. */ MFX_ERROR_PPS = (1 << 0), /*!< Invalid/corrupted PPS. */ MFX_ERROR_SPS = (1 << 1), /*!< Invalid/corrupted SPS. */ MFX_ERROR_SLICEHEADER = (1 << 2), /*!< Invalid/corrupted slice header. */ @@ -3506,29 +3540,6 @@ typedef struct { } mfxExtAVCRoundingOffset; MFX_PACK_END() -#if (MFX_VERSION >= MFX_VERSION_NEXT) -MFX_PACK_BEGIN_USUAL_STRUCT() -typedef struct { - mfxExtBuffer Header; - - mfxU16 reserved[12]; - - struct { - mfxU16 Scale; - mfxU16 QPI; - mfxU16 QPP; - mfxU16 QPB; - mfxU32 TargetKbps; - mfxU32 MaxKbps; - mfxU32 BufferSizeInKB; - mfxU32 InitialDelayInKB; - mfxU16 reserved1[20]; - } Layer[8]; -} mfxExtTemporalLayers; -MFX_PACK_END() - -#endif - MFX_PACK_BEGIN_USUAL_STRUCT() /*! Used by the application to specify dirty regions within a frame during encoding. It may be used at initialization or at runtime. @@ -3598,50 +3609,6 @@ typedef struct { } mfxExtMoveRect; MFX_PACK_END() -#if (MFX_VERSION >= MFX_VERSION_NEXT) - -/* ScalingMatrixType */ -enum { - MFX_SCALING_MATRIX_SPS = 1, - MFX_SCALING_MATRIX_PPS = 2 -}; - -MFX_PACK_BEGIN_USUAL_STRUCT() -typedef struct { - mfxExtBuffer Header; - - mfxU16 Type; - mfxU16 reserved[5]; - - /* [4x4_Intra_Y, 4x4_Intra_Cb, 4x4_Intra_Cr, - 4x4_Inter_Y, 4x4_Inter_Cb, 4x4_Inter_Cr, - 8x8_Intra_Y, 8x8_Inter_Y, 8x8_Intra_Cb, - 8x8_Inter_Cb, 8x8_Intra_Cr, 8x8_Inter_Cr] */ - mfxU8 ScalingListPresent[12]; - - /* [Intra_Y, Intra_Cb, Intra_Cr, - Inter_Y, Inter_Cb, Inter_Cr] */ - mfxU8 ScalingList4x4[6][16]; - - /* [Intra_Y, Inter_Y, Intra_Cb, - Inter_Cb, Intra_Cr, Inter_Cr] */ - mfxU8 ScalingList8x8[6][64]; -} mfxExtAVCScalingMatrix; -MFX_PACK_END() - -MFX_PACK_BEGIN_USUAL_STRUCT() -typedef struct { - mfxExtBuffer Header; - - mfxU16 reserved[28]; - - mfxU8 LoadMatrix[4]; // [LumaIntra, LumaInter, ChromaIntra, ChromaInter] - mfxU8 Matrix[4][64]; // [LumaIntra, LumaInter, ChromaIntra, ChromaInter] -} mfxExtMPEG2QuantMatrix; -MFX_PACK_END() - -#endif - /*! The Angle enumerator itemizes valid rotation angles. */ enum { MFX_ANGLE_0 = 0, /*!< 0 degrees. */ @@ -3692,7 +3659,15 @@ enum { MFX_SCALING_MODE_DEFAULT = 0, /*!< Default scaling mode. The library selects the most appropriate scaling method. */ MFX_SCALING_MODE_LOWPOWER = 1, /*!< Low power scaling mode which is applicable for library implementations. The exact scaling algorithm is defined by the library. */ - MFX_SCALING_MODE_QUALITY = 2 /*!< The best quality scaling mode */ + MFX_SCALING_MODE_QUALITY = 2, /*!< The best quality scaling mode. */ + + + MFX_SCALING_MODE_VENDOR = 1000, /*!< The enumeration to separate common scaling controls above and vendor specific. */ + + + MFX_SCALING_MODE_INTEL_GEN_COMPUTE = MFX_SCALING_MODE_VENDOR + 1, /*! The mode to run scaling operation on Execution Units (EUs). */ + MFX_SCALING_MODE_INTEL_GEN_VDBOX = MFX_SCALING_MODE_VENDOR + 2, /*! The special optimization mode where scaling operation running on SFC (Scaler & Format Converter) is coupled with VDBOX (also known as Multi-Format Codec fixed-function engine). This mode is applicable for DECODE_VPP domain functions. */ + MFX_SCALING_MODE_INTEL_GEN_VEBOX = MFX_SCALING_MODE_VENDOR + 3 /*! The special optimization mode where scaling operation running on SFC is coupled with VEBOX (HW video processing pipe). */ }; /*! The InterpolationMode enumerator specifies type of interpolation method used by VPP scaling filter. */ @@ -3718,26 +3693,6 @@ typedef struct { } mfxExtVPPScaling; MFX_PACK_END() -#if (MFX_VERSION >= MFX_VERSION_NEXT) - -/* SceneChangeType */ -enum { - MFX_SCENE_NO_CHANGE = 0, - MFX_SCENE_START = 1, - MFX_SCENE_END = 2 -}; - -MFX_PACK_BEGIN_USUAL_STRUCT() -typedef struct { - mfxExtBuffer Header; - - mfxU16 Type; - mfxU16 reserved[11]; -} mfxExtSceneChange; -MFX_PACK_END() - -#endif - typedef mfxExtAVCRefListCtrl mfxExtHEVCRefListCtrl; typedef mfxExtAVCRefLists mfxExtHEVCRefLists; typedef mfxExtAvcTemporalLayers mfxExtHEVCTemporalLayers; @@ -3989,13 +3944,7 @@ typedef struct { sequence header will be zero. It is the responsibility of the application to update the NumFrame field with the correct value. See the CodingOptionValue enumerator for values of this option. */ -#if (MFX_VERSION >= MFX_VERSION_NEXT) - mfxI16 LoopFilterRefDelta[4]; /* Contains the adjustment needed for the filter level based on the chosen reference frame. See - the P9ReferenceFrame enumerator for array IDs. */ - mfxI16 LoopFilterModeDelta[2]; /* Contains the adjustment needed for the filter level based on the chosen mode. */ -#else // API 1.26 mfxI16 reserved1[6]; -#endif mfxI16 QIndexDeltaLumaDC; /*!< Specifies an offset for a particular quantization parameter. */ mfxI16 QIndexDeltaChromaAC; /*!< Specifies an offset for a particular quantization parameter. */ mfxI16 QIndexDeltaChromaDC; /*!< Specifies an offset for a particular quantization parameter. */ @@ -4083,17 +4032,6 @@ typedef struct { MFX_PACK_END() -#if (MFX_VERSION >= MFX_VERSION_NEXT) -/*! The MCTFTemporalMode enumerator itemizes temporal filtering modes. */ -enum { - MFX_MCTF_TEMPORAL_MODE_UNKNOWN = 0, - MFX_MCTF_TEMPORAL_MODE_SPATIAL = 1, - MFX_MCTF_TEMPORAL_MODE_1REF = 2, - MFX_MCTF_TEMPORAL_MODE_2REF = 3, - MFX_MCTF_TEMPORAL_MODE_4REF = 4 -}; -#endif - MFX_PACK_BEGIN_USUAL_STRUCT() /*! Provides setup for the Motion-Compensated Temporal Filter (MCTF) during the VPP initialization and for control @@ -4111,25 +4049,7 @@ typedef struct { If the field value is in the range of 1 to 20 inclusive, MCTF operates in fixed-strength mode with the given strength of MCTF process. At runtime, values of 0 and greater than 20 are ignored. */ -#if (MFX_VERSION >= MFX_VERSION_NEXT) - mfxU16 Overlap; /* Turn off or turn on overlap during motion estimation/compensation. See the CodingOptionValue enumerator for - values of this option. */ - mfxU32 BitsPerPixelx100k; /* Carries information of a compressed bitstream that is the result of an encoding process following - MCTF (if any). Actual average number of bits spent per pixel in the compressed bitstream is derived as - BitsPerPixelx100k divided by 100000.0. The MCTF process may use this information as an additional hint to - optimize the filtering process for a particular encoding applied afterwards. */ - mfxU16 Deblocking; /* Turn the deblocking filter off or on within MCTF process. See the CodingOptionValue enumerator for - values of this option. */ - mfxU16 TemporalMode; /* See the MCTFTemporalMode enumerator for values of this option. These modes are all different in - terms of quality improvements and performance. In general, 4-reference filtering provides the highest quality - and 1-reference filtering provides highest speed. The spatial filtering process is different - as it does not use any processing between frames. Thus spatial filtering provides the smallest memory footprint. */ - mfxU16 MVPrecision; /* Determines how precise the motion compensation process is. See the MVPrecision enumerator for values of this option. - Integer and quarter-pixel are supported. */ - mfxU16 reserved[21]; -#else mfxU16 reserved[27]; -#endif } mfxExtVppMctf; MFX_PACK_END() @@ -4214,10 +4134,10 @@ MFX_PACK_END() MFX_PACK_BEGIN_STRUCT_W_PTR() /*! The mfxExtDeviceAffinityMask structure is used by the application to specify - affinity mask for the device with given devide ID. See mfxDeviceDescription + affinity mask for the device with given device ID. See mfxDeviceDescription for the device ID definition and sub device indexes. If the implementation - manages CPU threads for some purposes, user can set CPU threads affinity - mask as well by using this structure with deviceID equals to the "CPU". + manages CPU threads for some purpose, the user can set the CPU thread affinity + mask by using this structure with DeviceID set to "CPU". */ typedef struct { /*! Extension buffer header. Header.BufferId must be equal to @@ -4240,6 +4160,159 @@ typedef struct { } mfxExtDeviceAffinityMask; MFX_PACK_END() +/*! The FilmGrainFlags enumerator itemizes flags in AV1 film grain parameters. + The flags are equivalent to respective syntax elements from film_grain_params() section of uncompressed header. */ +enum { + MFX_FILM_GRAIN_NO = 0, /*!< Film grain isn't added to this frame. */ + MFX_FILM_GRAIN_APPLY = (1 << 0), /*!< Film grain is added to this frame. */ + MFX_FILM_GRAIN_UPDATE = (1 << 1), /*!< New set of film grain parameters is sent for this frame. */ + MFX_FILM_GRAIN_CHROMA_SCALING_FROM_LUMA = (1 << 2), /*!< Chroma scaling is inferred from luma scaling. */ + MFX_FILM_GRAIN_OVERLAP = (1 << 3), /*!< Overlap between film grain blocks is applied. */ + MFX_FILM_GRAIN_CLIP_TO_RESTRICTED_RANGE = (1 << 4) /*!< Clipping to the restricted (studio) range is applied after adding the film grain. */ +}; + +MFX_PACK_BEGIN_USUAL_STRUCT() +/*! Defines film grain point. */ +typedef struct { + mfxU8 Value; /*!< The x coordinate for the i-th point of the piece-wise linear scaling function for luma/Cb/Cr component. */ + mfxU8 Scaling; /*!< The scaling (output) value for the i-th point of the piecewise linear scaling function for luma/Cb/Cr component. */ +} mfxAV1FilmGrainPoint; +MFX_PACK_END() + +MFX_PACK_BEGIN_USUAL_STRUCT() +/*! The structure is used by AV-1 decoder to report film grain parameters for decoded frame. */ +typedef struct { + mfxExtBuffer Header; + + mfxU16 FilmGrainFlags; /*!< Bit map with bit-ORed flags from FilmGrainFlags enum. */ + mfxU16 GrainSeed; /*!< Starting value for pseudo-random numbers used during film grain synthesis. */ + + mfxU8 RefIdx; /*!< Indicate which reference frame contains the film grain parameters to be used for this frame. */ + mfxU8 NumYPoints; /*!< The number of points for the piece-wise linear scaling function of the luma component. */ + mfxU8 NumCbPoints; /*!< The number of points for the piece-wise linear scaling function of the Cb component. */ + mfxU8 NumCrPoints; /*!< The number of points for the piece-wise linear scaling function of the Cr component.*/ + + mfxAV1FilmGrainPoint PointY[14]; /*!< The array of points for luma component. */ + mfxAV1FilmGrainPoint PointCb[10]; /*!< The array of points for Cb component. */ + mfxAV1FilmGrainPoint PointCr[10]; /*!< The array of points for Cr component. */ + + mfxU8 GrainScalingMinus8; /*!< The shift – 8 applied to the values of the chroma component. The grain_scaling_minus_8 can take values of 0..3 and + determines the range and quantization step of the standard deviation of film grain.*/ + mfxU8 ArCoeffLag; /*!< The number of auto-regressive coefficients for luma and chroma.*/ + + mfxU8 ArCoeffsYPlus128[24]; /*!< Auto-regressive coefficients used for the Y plane. */ + mfxU8 ArCoeffsCbPlus128[25]; /*!< Auto-regressive coefficients used for the Cb plane. */ + mfxU8 ArCoeffsCrPlus128[25]; /*!< The number of points for the piece-wise linear scaling function of the Cr component.*/ + + mfxU8 ArCoeffShiftMinus6; /*!< The range of the auto-regressive coefficients. + Values of 0, 1, 2, and 3 correspond to the ranges for auto-regressive coefficients of + [-2, 2), [-1, 1), [-0.5, 0.5) and [-0.25, 0.25) respectively.*/ + mfxU8 GrainScaleShift; /*!< Downscaling factor of the grain synthesis process for the Gaussian random numbers .*/ + + mfxU8 CbMult; /*!< The multiplier for the Cb component used in derivation of the input index to the Cb component scaling function.*/ + mfxU8 CbLumaMult; /*!< The multiplier for the average luma component used in derivation of the input index to the Cb component scaling function. */ + mfxU16 CbOffset; /*!< The offset used in derivation of the input index to the Cb component scaling function.*/ + + mfxU8 CrMult; /*!< The multiplier for the Cr component used in derivation of the input index to the Cr component scaling function.*/ + mfxU8 CrLumaMult; /*!< The multiplier for the average luma component used in derivation of the input index to the Cr component scaling function.*/ + mfxU16 CrOffset; /*!< The offset used in derivation of the input index to the Cr component scaling function.*/ + + mfxU16 reserved[43]; +} mfxExtAV1FilmGrainParam; +MFX_PACK_END() + +#define MFX_SURFACEARRAY_VERSION MFX_STRUCT_VERSION(1, 0) + + +MFX_PACK_BEGIN_STRUCT_W_PTR() +/*! The structure is reference counted object to return array of surfaces allocated and processed by the library. */ +typedef struct mfxSurfaceArray +{ + mfxHDL Context; /*!< The context of the memory interface. User should not touch (change, set, null) this pointer. */ + mfxStructVersion Version; /*!< The version of the structure. */ + mfxU16 reserved[3]; + /*! @brief + Increments the internal reference counter of the surface. The surface is not destroyed until the surface is released using the (*Release) function. (*AddRef) should be used each time a new link to the surface is created (for example, copy structure) for proper surface management. + + @param[in] surface Valid mfxSurfaceArray. + + @return + MFX_ERR_NONE If no error. \n + MFX_ERR_NULL_PTR If surface is NULL. \n + MFX_ERR_INVALID_HANDLE If mfxSurfaceArray->Context is invalid (for example NULL). \n + MFX_ERR_UNKNOWN Any internal error. + + */ + mfxStatus (*AddRef)(struct mfxSurfaceArray* surface_array); + /*! @brief + Decrements the internal reference counter of the surface. (*Release) should be called after using the (*AddRef) function to add a + surface or when allocation logic requires it. + + @param[in] surface_array Valid mfxSurfaceArray. + + @return + MFX_ERR_NONE If no error. \n + MFX_ERR_NULL_PTR If surface is NULL. \n + MFX_ERR_INVALID_HANDLE If mfxSurfaceArray->Context is invalid (for example NULL). \n + MFX_ERR_UNDEFINED_BEHAVIOR If Reference Counter of surface is zero before call. \n + MFX_ERR_UNKNOWN Any internal error. + */ + mfxStatus (*Release)(struct mfxSurfaceArray* surface_array); + + /*! @brief + Returns current reference counter of mfxSurfaceArray structure. + + @param[in] surface Valid surface_array. + @param[out] counter Sets counter to the current reference counter value. + + @return + MFX_ERR_NONE If no error. \n + MFX_ERR_NULL_PTR If surface or counter is NULL. \n + MFX_ERR_INVALID_HANDLE If mfxSurfaceArray->Context is invalid (for example NULL). \n + MFX_ERR_UNKNOWN Any internal error. + */ + mfxStatus (*GetRefCounter)(struct mfxSurfaceArray* surface_array, mfxU32* counter); + + mfxFrameSurface1** Surfaces; /*!< The array of pointers to mfxFrameSurface1. mfxFrameSurface1 surfaces are allocated by the same + agent who allocates mfxSurfaceArray. */ + mfxU32 NumSurfaces; /*!` for further information. \endverbatim \n - MFX_WRN_DEVICE_BUSY Hardware device is currently busy. Call this function again in a few milliseconds. \n + MFX_WRN_DEVICE_BUSY Hardware device is currently busy. Call this function again after MFXVideoCORE_SyncOperation or in a few milliseconds. \n MFX_ERR_INCOMPATIBLE_VIDEO_PARAM Inconsistent parameters detected not conforming to Configuration Parameter Constraints. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoENCODE_EncodeFrameAsync(mfxSession session, mfxEncodeCtrl *ctrl, mfxFrameSurface1 *surface, mfxBitstream *bs, mfxSyncPoint *syncp); @@ -456,6 +515,8 @@ mfxStatus MFX_CDECL MFXVideoENCODE_EncodeFrameAsync(mfxSession session, mfxEncod MFX_WRN_PARTIAL_ACCELERATION The underlying hardware does not fully support the specified video parameters. The decoding may be partially accelerated. Only hardware implementations may return this status code. \n MFX_WRN_INCOMPATIBLE_VIDEO_PARAM The function detected some video parameters were incompatible with others; incompatibility resolved. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoDECODE_Query(mfxSession session, mfxVideoParam *in, mfxVideoParam *out); @@ -484,6 +545,8 @@ mfxStatus MFX_CDECL MFXVideoDECODE_Query(mfxSession session, mfxVideoParam *in, - MFX_ERR_UNSUPPORTED ``CodecId`` field of the mfxVideoParam structure indicates some unsupported codec. \n - MFX_ERR_INVALID_HANDLE Session is not initialized. \n - MFX_ERR_NULL_PTR @p bs or @p par pointer is NULL. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoDECODE_DecodeHeader(mfxSession session, mfxBitstream *bs, mfxVideoParam *par); @@ -511,6 +574,8 @@ mfxStatus MFX_CDECL MFXVideoDECODE_DecodeHeader(mfxSession session, mfxBitstream MFX_WRN_PARTIAL_ACCELERATION The underlying hardware does not fully support the specified video parameters. The encoding may be partially accelerated. Only hardware implementations may return this status code. \n MFX_WRN_INCOMPATIBLE_VIDEO_PARAM The function detected some video parameters were incompatible with others; incompatibility resolved. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoDECODE_QueryIOSurf(mfxSession session, mfxVideoParam *par, mfxFrameAllocRequest *request); @@ -532,6 +597,8 @@ mfxStatus MFX_CDECL MFXVideoDECODE_QueryIOSurf(mfxSession session, mfxVideoParam The encoding may be partially accelerated. Only hardware implementations may return this status code. \n MFX_WRN_INCOMPATIBLE_VIDEO_PARAM The function detected some video parameters were incompatible with others; incompatibility resolved. \n MFX_ERR_UNDEFINED_BEHAVIOR The function is called twice without a close. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoDECODE_Init(mfxSession session, mfxVideoParam *par); @@ -557,6 +624,8 @@ mfxStatus MFX_CDECL MFXVideoDECODE_Init(mfxSession session, mfxVideoParam *par); Reset requires additional memory allocation and cannot be executed. The application should close the component and then reinitialize it. \n MFX_WRN_INCOMPATIBLE_VIDEO_PARAM The function detected some video parameters were incompatible with others; incompatibility resolved. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoDECODE_Reset(mfxSession session, mfxVideoParam *par); @@ -568,6 +637,8 @@ mfxStatus MFX_CDECL MFXVideoDECODE_Reset(mfxSession session, mfxVideoParam *par) @return MFX_ERR_NONE The function completed successfully. \n + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoDECODE_Close(mfxSession session); @@ -584,6 +655,8 @@ mfxStatus MFX_CDECL MFXVideoDECODE_Close(mfxSession session); @return MFX_ERR_NONE The function completed successfully. \n + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoDECODE_GetVideoParam(mfxSession session, mfxVideoParam *par); @@ -596,6 +669,8 @@ mfxStatus MFX_CDECL MFXVideoDECODE_GetVideoParam(mfxSession session, mfxVideoPar @return MFX_ERR_NONE The function completed successfully. \n + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoDECODE_GetDecodeStat(mfxSession session, mfxDecodeStat *stat); @@ -612,6 +687,8 @@ mfxStatus MFX_CDECL MFXVideoDECODE_GetDecodeStat(mfxSession session, mfxDecodeSt @return MFX_ERR_NONE The function completed successfully and the output surface is ready for decoding \n MFX_WRN_VALUE_NOT_CHANGED The skip mode is not affected as the maximum or minimum skip range is reached. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoDECODE_SetSkipMode(mfxSession session, mfxSkipMode mode); @@ -632,6 +709,8 @@ mfxStatus MFX_CDECL MFXVideoDECODE_SetSkipMode(mfxSession session, mfxSkipMode m @return MFX_ERR_NONE The function completed successfully and the output buffer is ready for decoding. \n MFX_ERR_NOT_ENOUGH_BUFFER The payload buffer size is insufficient. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoDECODE_GetPayload(mfxSession session, mfxU64 *ts, mfxPayload *payload); @@ -681,10 +760,12 @@ mfxStatus MFX_CDECL MFXVideoDECODE_GetPayload(mfxSession session, mfxU64 *ts, mf See the :ref:`Working with Microsoft* DirectX* Applications section` for further information. \endverbatim \n - MFX_WRN_DEVICE_BUSY Hardware device is currently busy. Call this function again in a few milliseconds. \n + MFX_WRN_DEVICE_BUSY Hardware device is currently busy. Call this function again after MFXVideoCORE_SyncOperation or in a few milliseconds. \n MFX_WRN_VIDEO_PARAM_CHANGED The decoder detected a new sequence header in the bitstream. Video parameters may have changed. \n MFX_ERR_INCOMPATIBLE_VIDEO_PARAM The decoder detected incompatible video parameters in the bitstream and failed to follow them. \n MFX_ERR_REALLOC_SURFACE Bigger surface_work required. May be returned only if mfxInfoMFX::EnableReallocRequest was set to ON during initialization. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoDECODE_DecodeFrameAsync(mfxSession session, mfxBitstream *bs, mfxFrameSurface1 *surface_work, mfxFrameSurface1 **surface_out, mfxSyncPoint *syncp); @@ -712,6 +793,8 @@ mfxStatus MFX_CDECL MFXVideoDECODE_DecodeFrameAsync(mfxSession session, mfxBitst MFX_WRN_PARTIAL_ACCELERATION The underlying hardware does not fully support the specified video parameters. The video processing may be partially accelerated. Only hardware implementations may return this status code. \n MFX_WRN_INCOMPATIBLE_VIDEO_PARAM The function detected some video parameters were incompatible with others; incompatibility resolved. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoVPP_Query(mfxSession session, mfxVideoParam *in, mfxVideoParam *out); @@ -739,6 +822,8 @@ mfxStatus MFX_CDECL MFXVideoVPP_Query(mfxSession session, mfxVideoParam *in, mfx MFX_WRN_PARTIAL_ACCELERATION The underlying hardware does not fully support the specified video parameters. The video processing may be partially accelerated. Only hardware implementations may return this status code. \n MFX_WRN_INCOMPATIBLE_VIDEO_PARAM The function detected some video parameters were incompatible with others; incompatibility resolved. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoVPP_QueryIOSurf(mfxSession session, mfxVideoParam *par, mfxFrameAllocRequest request[2]); @@ -761,6 +846,8 @@ mfxStatus MFX_CDECL MFXVideoVPP_QueryIOSurf(mfxSession session, mfxVideoParam *p MFX_WRN_INCOMPATIBLE_VIDEO_PARAM The function detected some video parameters were incompatible with others; incompatibility resolved. \n MFX_ERR_UNDEFINED_BEHAVIOR The function is called twice without a close. \n MFX_WRN_FILTER_SKIPPED The VPP skipped one or more filters requested by the application. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoVPP_Init(mfxSession session, mfxVideoParam *par); @@ -778,6 +865,8 @@ mfxStatus MFX_CDECL MFXVideoVPP_Init(mfxSession session, mfxVideoParam *par); Reset requires additional memory allocation and cannot be executed. The application should close the component and then reinitialize it. \n MFX_WRN_INCOMPATIBLE_VIDEO_PARAM The function detected some video parameters were incompatible with others; incompatibility resolved. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoVPP_Reset(mfxSession session, mfxVideoParam *par); @@ -789,6 +878,8 @@ mfxStatus MFX_CDECL MFXVideoVPP_Reset(mfxSession session, mfxVideoParam *par); @return MFX_ERR_NONE The function completed successfully. \n + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoVPP_Close(mfxSession session); @@ -804,6 +895,8 @@ mfxStatus MFX_CDECL MFXVideoVPP_Close(mfxSession session); @return MFX_ERR_NONE The function completed successfully. \n + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoVPP_GetVideoParam(mfxSession session, mfxVideoParam *par); @@ -816,6 +909,8 @@ mfxStatus MFX_CDECL MFXVideoVPP_GetVideoParam(mfxSession session, mfxVideoParam @return MFX_ERR_NONE The function completed successfully. \n + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoVPP_GetVPPStat(mfxSession session, mfxVPPStat *stat); @@ -849,10 +944,173 @@ mfxStatus MFX_CDECL MFXVideoVPP_GetVPPStat(mfxSession session, mfxVPPStat *stat) See the :ref:`Working with Microsoft* DirectX* Applications section` for further information. \endverbatim \n - MFX_WRN_DEVICE_BUSY Hardware device is currently busy. Call this function again in a few milliseconds. + MFX_WRN_DEVICE_BUSY Hardware device is currently busy. Call this function again after MFXVideoCORE_SyncOperation or in a few milliseconds. + + @since This function is available since API version 1.0. */ mfxStatus MFX_CDECL MFXVideoVPP_RunFrameVPPAsync(mfxSession session, mfxFrameSurface1 *in, mfxFrameSurface1 *out, mfxExtVppAuxData *aux, mfxSyncPoint *syncp); +/*! + @brief + The function processes a single input frame to a single output frame with internal allocation of output frame. + + At the end of the stream, call this function with the input argument ``in=NULL`` to retrieve any remaining frames, until the function returns MFX_ERR_MORE_DATA. + This function is asynchronous. + + @param[in] session Session handle. + @param[in] in Pointer to the input video surface structure. + @param[out] out Pointer to the output video surface structure which is reference counted object allocated by the library. + + @return + MFX_ERR_NONE The output frame is ready after synchronization. \n + MFX_ERR_MORE_DATA Need more input frames before VPP can produce an output. \n + MFX_ERR_MEMORY_ALLOC The function failed to allocate output videoframe. \n + + MFX_ERR_DEVICE_LOST Hardware device was lost. + \verbatim embed:rst + See the :ref:`Working with Microsoft* DirectX* Applications section` for further information. + \endverbatim + \n + MFX_WRN_DEVICE_BUSY Hardware device is currently busy. Call this function again after MFXVideoCORE_SyncOperation or in a few milliseconds. + + @since This function is available since API version 2.1. +*/ +mfxStatus MFX_CDECL MFXVideoVPP_ProcessFrameAsync(mfxSession session, mfxFrameSurface1 *in, mfxFrameSurface1 **out); + +/*! + @brief + Initialize the SDK in (decode + vpp) mode. The logic of this function is similar to MFXVideoDECODE_Init, but application has to provide array of pointers to mfxVideoChannelParam and num_channel_param - number of channels. Application is responsible for + memory allocation for mfxVideoChannelParam parameters and for each channel it should specify channel IDs: + mfxVideoChannelParam::mfxFrameInfo::ChannelId. ChannelId should be unique value within one session. + The application can attach mfxExtInCrops to mfxVideoChannelParam::ExtParam to annotate input video frame if it wants to enable + letterboxing operation. + @param[in] session SDK session handle. + @param[in] decode_par Pointer to the mfxVideoParam structure which contains initialization parameters for decoder. + @param[in] vpp_par_array Array of pointers to `mfxVideoChannelParam`structures. Each mfxVideoChannelParam contains initialization + parameters for each VPP channel. + @param[in] num_vpp_par Size of array of pointers to mfxVideoChannelParam structures. + + @return + MFX_ERR_NONE The function completed successfully. \n + MFX_ERR_INVALID_VIDEO_PARAM The function detected invalid video parameters. These parameters may be out of the valid range, or + the combination of them resulted in incompatibility. Incompatibility not resolved. \n + MFX_WRN_INCOMPATIBLE_VIDEO_PARAM The function detected some video parameters were incompatible with others; incompatibility + resolved. \n + MFX_ERR_UNDEFINED_BEHAVIOR The component is already initialized. \n + MFX_WRN_FILTER_SKIPPED The VPP skipped one or more filters requested by the application. + + @since This function is available since API version 2.1. +*/ +mfxStatus MFX_CDECL MFXVideoDECODE_VPP_Init(mfxSession session, mfxVideoParam* decode_par, mfxVideoChannelParam** vpp_par_array, mfxU32 num_vpp_par); + +/*! + @brief + This function is similar to MFXVideoDECODE_DecodeFrameAsync and inherits all bitstream processing logic. As output it allocates + and returns array of processed surfaces according to the chain of filters specified by applicaton in MFXVideoDECODE_VPP_Init. The + original decoded frames are returned through surfaces with mfxFrameInfo::ChannelId == 0. In other words, zero + ChannelId is reserved by the SDK for decoded output and cannot be used by application to set video processing channels during + initialization. + + @param[in] session SDK session handle. + @param[in] bs Pointer to the input bitstream. + @param[in] skip_channels Pointer to the array of `ChannelId`s which specifies channels with skip output frames. Memory for + the array is allocated by application. + @param[in] num_skip_channels Number of channels addressed by skip_channels. + @param[out] surf_array_out The address of a pointer to the structure with frame surfaces. + + @return + MFX_ERR_NONE The function completed successfully and the output surface is ready for decoding. \n + MFX_ERR_MORE_DATA The function requires more bitstream at input before decoding can proceed. \n + MFX_ERR_MORE_SURFACE The function requires more frame surface at output before decoding can proceed. \n + MFX_ERR_DEVICE_LOST Hardware device was lost. + \verbatim embed:rst + See the :ref:`Working with Microsoft* DirectX* Applications section` for further information. + \endverbatim + \n + MFX_WRN_DEVICE_BUSY Hardware device is currently busy. Call this function again after MFXVideoCORE_SyncOperation or in a few milliseconds. \n + MFX_WRN_VIDEO_PARAM_CHANGED The decoder detected a new sequence header in the bitstream. Video parameters may have changed. \n + MFX_ERR_INCOMPATIBLE_VIDEO_PARAM The decoder detected incompatible video parameters in the bitstream and failed to follow them. \n + MFX_ERR_NULL_PTR num_skip_channels doesn't equal to 0 when skip_channels is NULL. + + @since This function is available since API version 2.1. +*/ +mfxStatus MFX_CDECL MFXVideoDECODE_VPP_DecodeFrameAsync(mfxSession session, mfxBitstream *bs, mfxU32* skip_channels, mfxU32 num_skip_channels, mfxSurfaceArray **surf_array_out); + +/*! + @brief + This function is similar to MFXVideoDECODE_Reset and stops the current decoding and vpp operation, and restores internal + structures or parameters for a new decoding plus vpp operation. It resets the state of the decoder and/or all initialized vpp + channels. Applications have to care about draining of buffered frames for decode and all vpp channels before call this function. + The application can attach mfxExtInCrops to mfxVideoChannelParam::ExtParam to annotate input video frame if it wants to enable + letterboxing operation. + + @param[in] session Session handle. + @param[in] decode_par Pointer to the `mfxVideoParam` structure which contains new initialization parameters for decoder. Might + be NULL if application wants to Reset only VPP channels. + @param[in] vpp_par_array Array of pointers to mfxVideoChannelParam structures. Each mfxVideoChannelParam contains new + initialization parameters for each VPP channel. + @param[in] num_vpp_par Size of array of pointers to mfxVideoChannelParam structures. + + @return + MFX_ERR_NONE The function completed successfully. \n + MFX_ERR_INVALID_VIDEO_PARAM The function detected that video parameters are wrong or they conflict with initialization parameters. Reset is impossible. \n + MFX_ERR_INCOMPATIBLE_VIDEO_PARAM The function detected that video parameters provided by the application are incompatible with initialization parameters. + Reset requires additional memory allocation and cannot be executed. The application should close the + component and then reinitialize it. \n + MFX_WRN_INCOMPATIBLE_VIDEO_PARAM The function detected some video parameters were incompatible with others; incompatibility resolved. + MFX_ERR_NULL_PTR Both pointers decode_par and vpp_par_array` equal to zero. + + @since This function is available since API version 2.1. +*/ +mfxStatus MFX_CDECL MFXVideoDECODE_VPP_Reset(mfxSession session, mfxVideoParam* decode_par, mfxVideoChannelParam** vpp_par_array, mfxU32 num_vpp_par); + +/*! + @brief + Returns actual VPP parameters for selected channel which should be specified by application through + mfxVideoChannelParam::mfxFrameInfo::ChannelId. + + @param[in] session Session handle. + @param[in] par Pointer to the `mfxVideoChannelParam` structure which allocated by application + @param[in] channel_id specifies the requested channel's info + + @return + MFX_ERR_NONE The function completed successfully. \n + MFX_ERR_NULL_PTR par pointer is NULL. \n + MFX_ERR_NOT_FOUND the library is not able to find VPP channel with such channel_id. + + @since This function is available since API version 2.1. +*/ +mfxStatus MFX_CDECL MFXVideoDECODE_VPP_GetChannelParam(mfxSession session, mfxVideoChannelParam *par, mfxU32 channel_id); + +/*! + @brief + This function is similar to MFXVideoDECODE_Close. It terminates the current decoding and vpp operation and de-allocates any internal tables or structures. + + @param[in] session Session handle. + + @return + MFX_ERR_NONE The function completed successfully. \n + + @since This function is available since API version 2.1. +*/ + +mfxStatus MFX_CDECL MFXVideoDECODE_VPP_Close(mfxSession session); + +/*! Alias for MFXVideoDECODE_DecodeHeader function. */ +#define MFXVideoDECODE_VPP_DecodeHeader MFXVideoDECODE_DecodeHeader + +/*! Alias for MFXVideoDECODE_GetVideoParam function. */ +#define MFXVideoDECODE_VPP_GetVideoParam MFXVideoDECODE_GetVideoParam + +/*! Alias for MFXVideoDECODE_GetDecodeStat function. */ +#define MFXVideoDECODE_VPP_GetDecodeStat MFXVideoDECODE_GetDecodeStat + +/*! Alias for MFXVideoDECODE_SetSkipMode function. */ +#define MFXVideoDECODE_VPP_SetSkipMode MFXVideoDECODE_SetSkipMode + +/*! Alias for MFXVideoDECODE_GetPayload function. */ +#define MFXVideoDECODE_VPP_GetPayload MFXVideoDECODE_GetPayload + #ifdef __cplusplus } // extern "C" #endif diff --git a/api/vpl/mfxvp9.h b/api/vpl/mfxvp9.h deleted file mode 100644 index 8b7818e6..00000000 --- a/api/vpl/mfxvp9.h +++ /dev/null @@ -1,40 +0,0 @@ -/*############################################################################ - # Copyright (C) 2018-2020 Intel Corporation - # - # SPDX-License-Identifier: MIT - ############################################################################*/ - -#ifndef __MFXVP9_H__ -#define __MFXVP9_H__ - -#include "mfxdefs.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#if (MFX_VERSION >= MFX_VERSION_NEXT) - -/* Extended Buffer Ids */ -enum { - MFX_EXTBUFF_VP9_DECODED_FRAME_INFO = MFX_MAKEFOURCC('9','D','F','I') -}; - -MFX_PACK_BEGIN_USUAL_STRUCT() -typedef struct { - mfxExtBuffer Header; - - mfxU16 DisplayWidth; - mfxU16 DisplayHeight; - mfxU16 reserved[58]; -} mfxExtVP9DecodedFrameInfo; -MFX_PACK_END() - -#endif - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif - diff --git a/cmake/CompileOptions.cmake b/cmake/CompileOptions.cmake index 8770ab67..e1b790fc 100644 --- a/cmake/CompileOptions.cmake +++ b/cmake/CompileOptions.cmake @@ -9,11 +9,16 @@ # if(CMAKE_BUILD_TYPE STREQUAL "Debug") add_definitions(-D_DEBUG) + if(UNIX) + set(CMAKE_CXX_FLAGS "-O0 -g ${CMAKE_CXX_FLAGS}") + endif(UNIX) endif() if(MSVC) add_link_options("/DYNAMICBASE") - add_link_options("/HIGHENTROPYVA") + if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8") + add_link_options("/HIGHENTROPYVA") + endif() add_link_options("/LARGEADDRESSAWARE") add_link_options("/NXCOMPAT") add_compile_options("/GS") @@ -23,6 +28,6 @@ else() add_compile_options("-Werror=format-security") add_definitions("-D_FORTIFY_SOURCE=2") add_compile_options("-fstack-protector-strong") - set(CMAKE_CXX_FLAGS "-z relro -z now -z noexecstack") + set(CMAKE_CXX_FLAGS "-z relro -z now -z noexecstack ${CMAKE_CXX_FLAGS}") add_compile_options("-Wall") endif() diff --git a/cmake/FindVPL.cmake b/cmake/FindVPL.cmake new file mode 100644 index 00000000..f5f1b494 --- /dev/null +++ b/cmake/FindVPL.cmake @@ -0,0 +1,31 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## + +# Find project local libraries, only for use within project +# +# This module defines +# +# VPL__FOUND VPL_IMPORTED_TARGETS + +if(NOT API_VERSION_MAJOR) + set(VPL_api_FOUND 0) + set(VPL_dispatcher_FOUND 0) + set(VPL_FOUND FALSE) + return() +endif() + +set(VPL_INTERFACE_VERSION ${API_VERSION_MAJOR}) + +# VPL::dispatcher +add_library(VPL::dispatcher ALIAS VPL) +list(APPEND VPL_IMPORTED_TARGETS VPL::dispatcher) +set(VPL_dispatcher_FOUND 1) + +add_library(VPL::api ALIAS vpl-api) +list(APPEND VPL_IMPORTED_TARGETS VPL::api) +set(VPL_api_FOUND 1) + +set(VPL_FOUND 1) diff --git a/cmake/PackageTarget.cmake b/cmake/PackageTarget.cmake index ccacbf9d..cc02b9a9 100644 --- a/cmake/PackageTarget.cmake +++ b/cmake/PackageTarget.cmake @@ -1,5 +1,5 @@ # ############################################################################## -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT # ############################################################################## diff --git a/cmake/oneAPIInstallDirs.cmake b/cmake/oneAPIInstallDirs.cmake index 3fbed0f5..184e19bf 100644 --- a/cmake/oneAPIInstallDirs.cmake +++ b/cmake/oneAPIInstallDirs.cmake @@ -1,5 +1,5 @@ # ############################################################################## -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT # ############################################################################## @@ -8,9 +8,15 @@ # Set installation directories # -set(CMAKE_INSTALL_BINDIR bin) +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4") + set(CMAKE_INSTALL_BINDIR bin32) + set(CMAKE_INSTALL_LIBDIR lib32) +else() + set(CMAKE_INSTALL_BINDIR bin) + set(CMAKE_INSTALL_LIBDIR lib) +endif() + set(CMAKE_INSTALL_INCLUDEDIR include) -set(CMAKE_INSTALL_LIBDIR lib) set(CMAKE_INSTALL_DOCDIR documentation) set(CMAKE_INSTALL_ENVDIR env) set(CMAKE_INSTALL_MODDIR modulefiles) diff --git a/dispatcher/CMakeLists.txt b/dispatcher/CMakeLists.txt index 316560e9..edc7e34e 100644 --- a/dispatcher/CMakeLists.txt +++ b/dispatcher/CMakeLists.txt @@ -1,5 +1,5 @@ # ############################################################################## -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT # ############################################################################## @@ -13,6 +13,7 @@ if(WIN32) windows/mfx_critical_section.cpp windows/mfx_dispatcher.cpp windows/mfx_dispatcher_log.cpp + windows/mfx_driver_store_loader.cpp windows/mfx_dxva2_device.cpp windows/mfx_function_table.cpp windows/mfx_library_iterator.cpp @@ -31,26 +32,48 @@ if(UNIX) message(STATUS "MFX_MODULES_DIR=${MFX_MODULES_DIR}") endif() +add_definitions(-DMFX_DEPRECATED_OFF) + list(APPEND SOURCES vpl/mfx_dispatcher_vpl.cpp - vpl/mfx_dispatcher_vpl_loader.cpp vpl/mfx_dispatcher_vpl_config.cpp) + vpl/mfx_dispatcher_vpl_loader.cpp vpl/mfx_dispatcher_vpl_config.cpp + vpl/mfx_dispatcher_vpl_msdk.cpp) add_library(${TARGET} SHARED "") if(WIN32) - # force correct name on Windows + # force libxxx style name on Windows set_target_properties(${TARGET} PROPERTIES PREFIX "lib") - set_target_properties(${TARGET} PROPERTIES IMPORT_PREFIX "lib") +else() + # use version script on Linux + set_target_properties( + ${TARGET} + PROPERTIES + LINK_FLAGS + "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/linux/libvpl.map") endif() -set_target_properties(${TARGET} PROPERTIES OUTPUT_NAME "mfx") -set_target_properties(${TARGET} PROPERTIES VERSION ${PROJECT_VERSION}) + +set_target_properties(${TARGET} PROPERTIES OUTPUT_NAME "vpl") +set_target_properties( + ${TARGET} PROPERTIES VERSION ${API_VERSION_MAJOR}.${API_VERSION_MINOR}) set_target_properties(${TARGET} PROPERTIES SOVERSION ${API_VERSION_MAJOR}) target_sources(${TARGET} PRIVATE ${SOURCES}) -target_link_libraries( - ${TARGET} - PUBLIC vpl-api - PRIVATE ${CMAKE_DL_LIBS}) +if(UNIX) + # require pthreads for loading legacy MSDK runtimes + set(CMAKE_THREAD_PREFER_PTHREAD TRUE) + set(THREADS_PREFER_PTHREAD_FLAG TRUE) + find_package(Threads REQUIRED) + target_link_libraries( + ${TARGET} + PUBLIC vpl-api + PRIVATE ${CMAKE_DL_LIBS} Threads::Threads) +else() + target_link_libraries( + ${TARGET} + PUBLIC vpl-api + PRIVATE ${CMAKE_DL_LIBS}) +endif() target_include_directories(${TARGET} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) @@ -64,13 +87,17 @@ install( # export(PACKAGE VPL) -configure_file(${PROJECT_SOURCE_DIR}/cmake/templates/VPLConfig.cmake.in - ${PROJECT_BINARY_DIR}/VPLConfig.cmake @ONLY) -configure_file(${PROJECT_SOURCE_DIR}/cmake/templates/VPLConfigVersion.cmake.in - ${PROJECT_BINARY_DIR}/VPLConfigVersion.cmake @ONLY) - +configure_file(cmake/VPLConfig.cmake.in cmake/VPLConfig.cmake @ONLY) +configure_file(cmake/VPLConfigVersion.cmake.in cmake/VPLConfigVersion.cmake + @ONLY) install( - FILES "${PROJECT_BINARY_DIR}/VPLConfig.cmake" - "${PROJECT_BINARY_DIR}/VPLConfigVersion.cmake" + FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake/VPLConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/cmake/VPLConfigVersion.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/vpl" COMPONENT dev) + +configure_file("pkgconfig/vpl.pc.in" "pkgconfig/vpl.pc" @ONLY) +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/vpl.pc" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" + COMPONENT dev) diff --git a/cmake/templates/VPLConfig.cmake.in b/dispatcher/cmake/VPLConfig.cmake.in similarity index 66% rename from cmake/templates/VPLConfig.cmake.in rename to dispatcher/cmake/VPLConfig.cmake.in index 8baf36e0..d6adaa2a 100644 --- a/cmake/templates/VPLConfig.cmake.in +++ b/dispatcher/cmake/VPLConfig.cmake.in @@ -11,6 +11,17 @@ # Initialize to default values set(VPL_INTERFACE_VERSION @API_VERSION_MAJOR@) +get_filename_component(_vpl_config_file + "${CMAKE_CURRENT_LIST_DIR}/VPLConfig.cmake" REALPATH) +get_filename_component(_vpl_config_dir "${_vpl_config_file}" DIRECTORY) +get_filename_component(_vpl_install_prefix "${_vpl_config_dir}/../../.." + REALPATH) +get_filename_component(VPL_LIB_DIR + "${_vpl_install_prefix}/@CMAKE_INSTALL_LIBDIR@" ABSOLUTE) +get_filename_component( + VPL_INCLUDE_DIR "${_vpl_install_prefix}/@CMAKE_INSTALL_INCLUDEDIR@" ABSOLUTE) +get_filename_component(VPL_BIN_DIR + "${_vpl_install_prefix}/@CMAKE_INSTALL_BINDIR@" ABSOLUTE) if(NOT VPL_IMPORTED_TARGETS) set(VPL_IMPORTED_TARGETS "") @@ -23,24 +34,15 @@ if(NOT VPL_FIND_COMPONENTS) endforeach() endif() -if(NOT DEFINED ENV{VPL_LIB}) - message(STATUS "Expected environment variable not defined: VPL_LIB") -endif() -if(NOT DEFINED ENV{VPL_BIN}) - message(STATUS "Expected environment variable not defined: VPL_BIN") -endif() -if(NOT DEFINED ENV{VPL_INCLUDE}) - message(STATUS "Expected environment variable not defined: VPL_INCLUDE") -endif() - # VPL::dispatcher set(VPL_dispatcher_FOUND 0) set(vpl_system_name ${CMAKE_SYSTEM_NAME}) if(vpl_system_name STREQUAL "Linux") get_filename_component( - _dispatcher_lib "$ENV{VPL_LIB}/libmfx.so.${VPL_INTERFACE_VERSION}" ABSOLUTE) + _dispatcher_lib "${VPL_LIB_DIR}/libvpl.so.${VPL_INTERFACE_VERSION}" + ABSOLUTE) elseif(vpl_system_name STREQUAL "Windows") - get_filename_component(_dispatcher_lib "$ENV{VPL_BIN}/libmfx.dll" ABSOLUTE) + get_filename_component(_dispatcher_lib "${VPL_BIN_DIR}/libvpl.dll" ABSOLUTE) else() message(FATAL_ERROR "Unsupported OS name: ${vpl_system_name}") endif() @@ -50,13 +52,13 @@ if(EXISTS "${_dispatcher_lib}") add_library(VPL::dispatcher SHARED IMPORTED) set_target_properties( VPL::dispatcher PROPERTIES INTERFACE_INCLUDE_DIRECTORIES - "$ENV{VPL_INCLUDE}") + "${VPL_INCLUDE_DIR}") if(EXISTS "${_dispatcher_lib}") set_target_properties(VPL::dispatcher PROPERTIES IMPORTED_LOCATION "${_dispatcher_lib}") if(vpl_system_name STREQUAL "Windows") set_target_properties( - VPL::dispatcher PROPERTIES IMPORTED_IMPLIB "$ENV{VPL_LIB}/libmfx.lib") + VPL::dispatcher PROPERTIES IMPORTED_IMPLIB "${VPL_LIB_DIR}/vpl.lib") endif() endif() endif() @@ -71,11 +73,11 @@ unset(_dispatcher_lib) # VPL::api set(VPL_api_FOUND 0) -if(EXISTS $ENV{VPL_INCLUDE}) +if(EXISTS ${VPL_INCLUDE_DIR}) if(NOT TARGET VPL::api) add_library(VPL::api INTERFACE IMPORTED) set_target_properties(VPL::api PROPERTIES INTERFACE_INCLUDE_DIRECTORIES - "$ENV{VPL_INCLUDE}") + "${VPL_INCLUDE_DIR}") endif() list(APPEND VPL_IMPORTED_TARGETS VPL::api) set(VPL_api_FOUND 1) diff --git a/cmake/templates/VPLConfigVersion.cmake.in b/dispatcher/cmake/VPLConfigVersion.cmake.in similarity index 100% rename from cmake/templates/VPLConfigVersion.cmake.in rename to dispatcher/cmake/VPLConfigVersion.cmake.in diff --git a/dispatcher/linux/device_ids.h b/dispatcher/linux/device_ids.h new file mode 100644 index 00000000..73d7110a --- /dev/null +++ b/dispatcher/linux/device_ids.h @@ -0,0 +1,471 @@ +/*############################################################################ + # Copyright (C) 2017-2020 Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef DISPATCHER_LINUX_DEVICE_IDS_H_ +#define DISPATCHER_LINUX_DEVICE_IDS_H_ + +// Tables from: +// https://github.com/Intel-Media-SDK/MediaSDK/blob/master/_studio/shared/src/libmfx_core_vaapi.cpp +// https://github.com/Intel-Media-SDK/MediaSDK/blob/master/_studio/shared/include/mfxstructures-int.h + +#include +#include +#include + +enum eMFXHWType { + MFX_HW_UNKNOWN = 0, + MFX_HW_SNB = 0x300000, + + MFX_HW_IVB = 0x400000, + + MFX_HW_HSW = 0x500000, + MFX_HW_HSW_ULT = 0x500001, + + MFX_HW_VLV = 0x600000, + + MFX_HW_BDW = 0x700000, + + MFX_HW_CHT = 0x800000, + + MFX_HW_SCL = 0x900000, + + MFX_HW_APL = 0x1000000, + + MFX_HW_KBL = 0x1100000, + MFX_HW_GLK = MFX_HW_KBL + 1, + MFX_HW_CFL = MFX_HW_KBL + 2, + + MFX_HW_CNL = 0x1200000, + MFX_HW_ICL = 0x1400000, + MFX_HW_ICL_LP = MFX_HW_ICL + 1, + + MFX_HW_JSL = 0x1500001, + MFX_HW_EHL = 0x1500002, + + MFX_HW_TGL_LP = 0x1600000, + MFX_HW_RKL = MFX_HW_TGL_LP + 2, + MFX_HW_ADL_S = MFX_HW_TGL_LP + 4, + MFX_HW_DG1 = 0x1600003, +}; + +enum eMFXGTConfig { MFX_GT_UNKNOWN = 0, MFX_GT1 = 1, MFX_GT2 = 2, MFX_GT3 = 3, MFX_GT4 = 4 }; + +typedef struct { + int device_id; + eMFXHWType platform; + eMFXGTConfig config; +} mfx_device_item; + +// list of legal dev ID for Intel's graphics +static const mfx_device_item listLegalDevIDs[] = { + /*IVB*/ + { 0x0156, MFX_HW_IVB, MFX_GT1 }, /* GT1 mobile */ + { 0x0166, MFX_HW_IVB, MFX_GT2 }, /* GT2 mobile */ + { 0x0152, MFX_HW_IVB, MFX_GT1 }, /* GT1 desktop */ + { 0x0162, MFX_HW_IVB, MFX_GT2 }, /* GT2 desktop */ + { 0x015a, MFX_HW_IVB, MFX_GT1 }, /* GT1 server */ + { 0x016a, MFX_HW_IVB, MFX_GT2 }, /* GT2 server */ + /*HSW*/ + { 0x0402, MFX_HW_HSW, MFX_GT1 }, /* GT1 desktop */ + { 0x0412, MFX_HW_HSW, MFX_GT2 }, /* GT2 desktop */ + { 0x0422, MFX_HW_HSW, MFX_GT2 }, /* GT2 desktop */ + { 0x041e, MFX_HW_HSW, MFX_GT2 }, /* Core i3-4130 */ + { 0x040a, MFX_HW_HSW, MFX_GT1 }, /* GT1 server */ + { 0x041a, MFX_HW_HSW, MFX_GT2 }, /* GT2 server */ + { 0x042a, MFX_HW_HSW, MFX_GT2 }, /* GT2 server */ + { 0x0406, MFX_HW_HSW, MFX_GT1 }, /* GT1 mobile */ + { 0x0416, MFX_HW_HSW, MFX_GT2 }, /* GT2 mobile */ + { 0x0426, MFX_HW_HSW, MFX_GT2 }, /* GT2 mobile */ + { 0x0C02, MFX_HW_HSW, MFX_GT1 }, /* SDV GT1 desktop */ + { 0x0C12, MFX_HW_HSW, MFX_GT2 }, /* SDV GT2 desktop */ + { 0x0C22, MFX_HW_HSW, MFX_GT2 }, /* SDV GT2 desktop */ + { 0x0C0A, MFX_HW_HSW, MFX_GT1 }, /* SDV GT1 server */ + { 0x0C1A, MFX_HW_HSW, MFX_GT2 }, /* SDV GT2 server */ + { 0x0C2A, MFX_HW_HSW, MFX_GT2 }, /* SDV GT2 server */ + { 0x0C06, MFX_HW_HSW, MFX_GT1 }, /* SDV GT1 mobile */ + { 0x0C16, MFX_HW_HSW, MFX_GT2 }, /* SDV GT2 mobile */ + { 0x0C26, MFX_HW_HSW, MFX_GT2 }, /* SDV GT2 mobile */ + { 0x0A02, MFX_HW_HSW, MFX_GT1 }, /* ULT GT1 desktop */ + { 0x0A12, MFX_HW_HSW, MFX_GT2 }, /* ULT GT2 desktop */ + { 0x0A22, MFX_HW_HSW, MFX_GT2 }, /* ULT GT2 desktop */ + { 0x0A0A, MFX_HW_HSW, MFX_GT1 }, /* ULT GT1 server */ + { 0x0A1A, MFX_HW_HSW, MFX_GT2 }, /* ULT GT2 server */ + { 0x0A2A, MFX_HW_HSW, MFX_GT2 }, /* ULT GT2 server */ + { 0x0A06, MFX_HW_HSW, MFX_GT1 }, /* ULT GT1 mobile */ + { 0x0A16, MFX_HW_HSW, MFX_GT2 }, /* ULT GT2 mobile */ + { 0x0A26, MFX_HW_HSW, MFX_GT2 }, /* ULT GT2 mobile */ + { 0x0D02, MFX_HW_HSW, MFX_GT1 }, /* CRW GT1 desktop */ + { 0x0D12, MFX_HW_HSW, MFX_GT2 }, /* CRW GT2 desktop */ + { 0x0D22, MFX_HW_HSW, MFX_GT2 }, /* CRW GT2 desktop */ + { 0x0D0A, MFX_HW_HSW, MFX_GT1 }, /* CRW GT1 server */ + { 0x0D1A, MFX_HW_HSW, MFX_GT2 }, /* CRW GT2 server */ + { 0x0D2A, MFX_HW_HSW, MFX_GT2 }, /* CRW GT2 server */ + { 0x0D06, MFX_HW_HSW, MFX_GT1 }, /* CRW GT1 mobile */ + { 0x0D16, MFX_HW_HSW, MFX_GT2 }, /* CRW GT2 mobile */ + { 0x0D26, MFX_HW_HSW, MFX_GT2 }, /* CRW GT2 mobile */ + /* this dev IDs added per HSD 5264859 request */ + { 0x040B, MFX_HW_HSW, MFX_GT1 }, + /*HASWELL_B_GT1 */ /* Reserved */ + { 0x041B, MFX_HW_HSW, MFX_GT2 }, /*HASWELL_B_GT2*/ + { 0x042B, MFX_HW_HSW, MFX_GT3 }, /*HASWELL_B_GT3*/ + { 0x040E, MFX_HW_HSW, MFX_GT1 }, + /*HASWELL_E_GT1*/ /* Reserved */ + { 0x041E, MFX_HW_HSW, MFX_GT2 }, /*HASWELL_E_GT2*/ + { 0x042E, MFX_HW_HSW, MFX_GT3 }, /*HASWELL_E_GT3*/ + + { 0x0C0B, MFX_HW_HSW, MFX_GT1 }, + /*HASWELL_SDV_B_GT1*/ /* Reserved */ + { 0x0C1B, MFX_HW_HSW, MFX_GT2 }, /*HASWELL_SDV_B_GT2*/ + { 0x0C2B, MFX_HW_HSW, MFX_GT3 }, /*HASWELL_SDV_B_GT3*/ + { 0x0C0E, MFX_HW_HSW, MFX_GT1 }, + /*HASWELL_SDV_B_GT1*/ /* Reserved */ + { 0x0C1E, MFX_HW_HSW, MFX_GT2 }, /*HASWELL_SDV_B_GT2*/ + { 0x0C2E, MFX_HW_HSW, MFX_GT3 }, /*HASWELL_SDV_B_GT3*/ + + { 0x0A0B, MFX_HW_HSW, MFX_GT1 }, + /*HASWELL_ULT_B_GT1*/ /* Reserved */ + { 0x0A1B, MFX_HW_HSW, MFX_GT2 }, /*HASWELL_ULT_B_GT2*/ + { 0x0A2B, MFX_HW_HSW, MFX_GT3 }, /*HASWELL_ULT_B_GT3*/ + { 0x0A0E, MFX_HW_HSW, MFX_GT1 }, + /*HASWELL_ULT_E_GT1*/ /* Reserved */ + { 0x0A1E, MFX_HW_HSW, MFX_GT2 }, /*HASWELL_ULT_E_GT2*/ + { 0x0A2E, MFX_HW_HSW, MFX_GT3 }, /*HASWELL_ULT_E_GT3*/ + + { 0x0D0B, MFX_HW_HSW, MFX_GT1 }, + /*HASWELL_CRW_B_GT1*/ /* Reserved */ + { 0x0D1B, MFX_HW_HSW, MFX_GT2 }, /*HASWELL_CRW_B_GT2*/ + { 0x0D2B, MFX_HW_HSW, MFX_GT3 }, /*HASWELL_CRW_B_GT3*/ + { 0x0D0E, MFX_HW_HSW, MFX_GT1 }, + /*HASWELL_CRW_E_GT1*/ /* Reserved */ + { 0x0D1E, MFX_HW_HSW, MFX_GT2 }, /*HASWELL_CRW_E_GT2*/ + { 0x0D2E, MFX_HW_HSW, MFX_GT3 }, /*HASWELL_CRW_E_GT3*/ + + /* VLV */ + { 0x0f30, MFX_HW_VLV, MFX_GT1 }, /* VLV mobile */ + { 0x0f31, MFX_HW_VLV, MFX_GT1 }, /* VLV mobile */ + { 0x0f32, MFX_HW_VLV, MFX_GT1 }, /* VLV mobile */ + { 0x0f33, MFX_HW_VLV, MFX_GT1 }, /* VLV mobile */ + { 0x0157, MFX_HW_VLV, MFX_GT1 }, + { 0x0155, MFX_HW_VLV, MFX_GT1 }, + + /* BDW */ + /*GT3: */ + { 0x162D, MFX_HW_BDW, MFX_GT3 }, + { 0x162A, MFX_HW_BDW, MFX_GT3 }, + /*GT2: */ + { 0x161D, MFX_HW_BDW, MFX_GT2 }, + { 0x161A, MFX_HW_BDW, MFX_GT2 }, + /* GT1: */ + { 0x160D, MFX_HW_BDW, MFX_GT1 }, + { 0x160A, MFX_HW_BDW, MFX_GT1 }, + /* BDW-ULT */ + /* (16x2 - ULT, 16x6 - ULT, 16xB - Iris, 16xE - ULX) */ + /*GT3: */ + { 0x162E, MFX_HW_BDW, MFX_GT3 }, + { 0x162B, MFX_HW_BDW, MFX_GT3 }, + { 0x1626, MFX_HW_BDW, MFX_GT3 }, + { 0x1622, MFX_HW_BDW, MFX_GT3 }, + { 0x1636, MFX_HW_BDW, MFX_GT3 }, /* ULT */ + { 0x163B, MFX_HW_BDW, MFX_GT3 }, /* Iris */ + { 0x163E, MFX_HW_BDW, MFX_GT3 }, /* ULX */ + { 0x1632, MFX_HW_BDW, MFX_GT3 }, /* ULT */ + { 0x163A, MFX_HW_BDW, MFX_GT3 }, /* Server */ + { 0x163D, MFX_HW_BDW, MFX_GT3 }, /* Workstation */ + + /* GT2: */ + { 0x161E, MFX_HW_BDW, MFX_GT2 }, + { 0x161B, MFX_HW_BDW, MFX_GT2 }, + { 0x1616, MFX_HW_BDW, MFX_GT2 }, + { 0x1612, MFX_HW_BDW, MFX_GT2 }, + /* GT1: */ + { 0x160E, MFX_HW_BDW, MFX_GT1 }, + { 0x160B, MFX_HW_BDW, MFX_GT1 }, + { 0x1606, MFX_HW_BDW, MFX_GT1 }, + { 0x1602, MFX_HW_BDW, MFX_GT1 }, + + /* CHT */ + { 0x22b0, MFX_HW_CHT, MFX_GT1 }, + { 0x22b1, MFX_HW_CHT, MFX_GT1 }, + { 0x22b2, MFX_HW_CHT, MFX_GT1 }, + { 0x22b3, MFX_HW_CHT, MFX_GT1 }, + + /* SCL */ + /* GT1F */ + { 0x1902, MFX_HW_SCL, MFX_GT1 }, // DT, 2x1F, 510 + { 0x1906, MFX_HW_SCL, MFX_GT1 }, // U-ULT, 2x1F, 510 + { 0x190A, MFX_HW_SCL, MFX_GT1 }, // Server, 4x1F + { 0x190B, MFX_HW_SCL, MFX_GT1 }, + { 0x190E, MFX_HW_SCL, MFX_GT1 }, // Y-ULX 2x1F + /*GT1.5*/ + { 0x1913, MFX_HW_SCL, MFX_GT1 }, // U-ULT, 2x1.5 + { 0x1915, MFX_HW_SCL, MFX_GT1 }, // Y-ULX, 2x1.5 + { 0x1917, MFX_HW_SCL, MFX_GT1 }, // DT, 2x1.5 + /* GT2 */ + { 0x1912, MFX_HW_SCL, MFX_GT2 }, // DT, 2x2, 530 + { 0x1916, MFX_HW_SCL, MFX_GT2 }, // U-ULD 2x2, 520 + { 0x191A, MFX_HW_SCL, MFX_GT2 }, // 2x2,4x2, Server + { 0x191B, MFX_HW_SCL, MFX_GT2 }, // DT, 2x2, 530 + { 0x191D, MFX_HW_SCL, MFX_GT2 }, // 4x2, WKS, P530 + { 0x191E, MFX_HW_SCL, MFX_GT2 }, // Y-ULX, 2x2, P510,515 + { 0x1921, MFX_HW_SCL, MFX_GT2 }, // U-ULT, 2x2F, 540 + /* GT3 */ + { 0x1923, MFX_HW_SCL, MFX_GT3 }, // U-ULT, 2x3, 535 + { 0x1926, MFX_HW_SCL, MFX_GT3 }, // U-ULT, 2x3, 540 (15W) + { 0x1927, MFX_HW_SCL, MFX_GT3 }, // U-ULT, 2x3e, 550 (28W) + { 0x192A, MFX_HW_SCL, MFX_GT3 }, // Server, 2x3 + { 0x192B, MFX_HW_SCL, MFX_GT3 }, // Halo 3e + { 0x192D, MFX_HW_SCL, MFX_GT3 }, + /* GT4e*/ + { 0x1932, MFX_HW_SCL, MFX_GT4 }, // DT + { 0x193A, MFX_HW_SCL, MFX_GT4 }, // SRV + { 0x193B, MFX_HW_SCL, MFX_GT4 }, // Halo + { 0x193D, MFX_HW_SCL, MFX_GT4 }, // WKS + + /* APL */ + { 0x0A84, MFX_HW_APL, MFX_GT1 }, + { 0x0A85, MFX_HW_APL, MFX_GT1 }, + { 0x0A86, MFX_HW_APL, MFX_GT1 }, + { 0x0A87, MFX_HW_APL, MFX_GT1 }, + { 0x1A84, MFX_HW_APL, MFX_GT1 }, + { 0x1A85, MFX_HW_APL, MFX_GT1 }, + { 0x5A84, MFX_HW_APL, MFX_GT1 }, + { 0x5A85, MFX_HW_APL, MFX_GT1 }, + + /* KBL */ + { 0x5902, MFX_HW_KBL, MFX_GT1 }, // DT GT1 + { 0x5906, MFX_HW_KBL, MFX_GT1 }, // ULT GT1 + { 0x5908, MFX_HW_KBL, MFX_GT1 }, // HALO GT1F + { 0x590A, MFX_HW_KBL, MFX_GT1 }, // SERV GT1 + { 0x590B, MFX_HW_KBL, MFX_GT1 }, // HALO GT1 + { 0x590E, MFX_HW_KBL, MFX_GT1 }, // ULX GT1 + { 0x5912, MFX_HW_KBL, MFX_GT2 }, // DT GT2 + { 0x5913, MFX_HW_KBL, MFX_GT1 }, // ULT GT1 5 + { 0x5915, MFX_HW_KBL, MFX_GT1 }, // ULX GT1 5 + { 0x5916, MFX_HW_KBL, MFX_GT2 }, // ULT GT2 + { 0x5917, MFX_HW_KBL, MFX_GT2 }, // ULT GT2 R + { 0x591A, MFX_HW_KBL, MFX_GT2 }, // SERV GT2 + { 0x591B, MFX_HW_KBL, MFX_GT2 }, // HALO GT2 + { 0x591C, MFX_HW_KBL, MFX_GT2 }, // ULX GT2 + { 0x591D, MFX_HW_KBL, MFX_GT2 }, // WRK GT2 + { 0x591E, MFX_HW_KBL, MFX_GT2 }, // ULX GT2 + { 0x5921, MFX_HW_KBL, MFX_GT2 }, // ULT GT2F + { 0x5923, MFX_HW_KBL, MFX_GT3 }, // ULT GT3 + { 0x5926, MFX_HW_KBL, MFX_GT3 }, // ULT GT3 15W + { 0x5927, MFX_HW_KBL, MFX_GT3 }, // ULT GT3 28W + { 0x592A, MFX_HW_KBL, MFX_GT3 }, // SERV GT3 + { 0x592B, MFX_HW_KBL, MFX_GT3 }, // HALO GT3 + { 0x5932, MFX_HW_KBL, MFX_GT4 }, // DT GT4 + { 0x593A, MFX_HW_KBL, MFX_GT4 }, // SERV GT4 + { 0x593B, MFX_HW_KBL, MFX_GT4 }, // HALO GT4 + { 0x593D, MFX_HW_KBL, MFX_GT4 }, // WRK GT4 + { 0x87C0, MFX_HW_KBL, MFX_GT2 }, // ULX GT2 + + /* GLK */ + { 0x3184, MFX_HW_GLK, MFX_GT1 }, + { 0x3185, MFX_HW_GLK, MFX_GT1 }, + + /* CFL */ + { 0x3E90, MFX_HW_CFL, MFX_GT1 }, + { 0x3E91, MFX_HW_CFL, MFX_GT2 }, + { 0x3E92, MFX_HW_CFL, MFX_GT2 }, + { 0x3E93, MFX_HW_CFL, MFX_GT1 }, + { 0x3E94, MFX_HW_CFL, MFX_GT2 }, + { 0x3E96, MFX_HW_CFL, MFX_GT2 }, + { 0x3E98, MFX_HW_CFL, MFX_GT2 }, + { 0x3E99, MFX_HW_CFL, MFX_GT1 }, + { 0x3E9A, MFX_HW_CFL, MFX_GT2 }, + { 0x3E9C, MFX_HW_CFL, MFX_GT1 }, + { 0x3E9B, MFX_HW_CFL, MFX_GT2 }, + { 0x3EA5, MFX_HW_CFL, MFX_GT3 }, + { 0x3EA6, MFX_HW_CFL, MFX_GT3 }, + { 0x3EA7, MFX_HW_CFL, MFX_GT3 }, + { 0x3EA8, MFX_HW_CFL, MFX_GT3 }, + { 0x3EA9, MFX_HW_CFL, MFX_GT2 }, + { 0x87CA, MFX_HW_CFL, MFX_GT2 }, + + /* WHL */ + { 0x3EA0, MFX_HW_CFL, MFX_GT2 }, + { 0x3EA1, MFX_HW_CFL, MFX_GT1 }, + { 0x3EA2, MFX_HW_CFL, MFX_GT3 }, + { 0x3EA3, MFX_HW_CFL, MFX_GT2 }, + { 0x3EA4, MFX_HW_CFL, MFX_GT1 }, + + /* CML GT1 */ + { 0x9b21, MFX_HW_CFL, MFX_GT1 }, + { 0x9baa, MFX_HW_CFL, MFX_GT1 }, + { 0x9bab, MFX_HW_CFL, MFX_GT1 }, + { 0x9bac, MFX_HW_CFL, MFX_GT1 }, + { 0x9ba0, MFX_HW_CFL, MFX_GT1 }, + { 0x9ba5, MFX_HW_CFL, MFX_GT1 }, + { 0x9ba8, MFX_HW_CFL, MFX_GT1 }, + { 0x9ba4, MFX_HW_CFL, MFX_GT1 }, + { 0x9ba2, MFX_HW_CFL, MFX_GT1 }, + + /* CML GT2 */ + { 0x9b41, MFX_HW_CFL, MFX_GT2 }, + { 0x9bca, MFX_HW_CFL, MFX_GT2 }, + { 0x9bcb, MFX_HW_CFL, MFX_GT2 }, + { 0x9bcc, MFX_HW_CFL, MFX_GT2 }, + { 0x9bc0, MFX_HW_CFL, MFX_GT2 }, + { 0x9bc5, MFX_HW_CFL, MFX_GT2 }, + { 0x9bc8, MFX_HW_CFL, MFX_GT2 }, + { 0x9bc4, MFX_HW_CFL, MFX_GT2 }, + { 0x9bc2, MFX_HW_CFL, MFX_GT2 }, + { 0x9bc6, MFX_HW_CFL, MFX_GT2 }, + { 0x9be6, MFX_HW_CFL, MFX_GT2 }, + { 0x9bf6, MFX_HW_CFL, MFX_GT2 }, + + /* CNL */ + { 0x5A51, MFX_HW_CNL, MFX_GT2 }, + { 0x5A52, MFX_HW_CNL, MFX_GT2 }, + { 0x5A5A, MFX_HW_CNL, MFX_GT2 }, + { 0x5A40, MFX_HW_CNL, MFX_GT2 }, + { 0x5A42, MFX_HW_CNL, MFX_GT2 }, + { 0x5A4A, MFX_HW_CNL, MFX_GT2 }, + { 0x5A4C, MFX_HW_CNL, MFX_GT1 }, + { 0x5A50, MFX_HW_CNL, MFX_GT2 }, + { 0x5A54, MFX_HW_CNL, MFX_GT1 }, + { 0x5A59, MFX_HW_CNL, MFX_GT2 }, + { 0x5A5C, MFX_HW_CNL, MFX_GT1 }, + { 0x5A41, MFX_HW_CNL, MFX_GT2 }, + { 0x5A44, MFX_HW_CNL, MFX_GT1 }, + { 0x5A49, MFX_HW_CNL, MFX_GT2 }, + + /* ICL LP */ + { 0xFF05, MFX_HW_ICL_LP, MFX_GT1 }, + { 0x8A50, MFX_HW_ICL_LP, MFX_GT2 }, + { 0x8A51, MFX_HW_ICL_LP, MFX_GT2 }, + { 0x8A52, MFX_HW_ICL_LP, MFX_GT2 }, + { 0x8A53, MFX_HW_ICL_LP, MFX_GT2 }, + { 0x8A54, MFX_HW_ICL_LP, MFX_GT1 }, + { 0x8A56, MFX_HW_ICL_LP, MFX_GT1 }, + { 0x8A57, MFX_HW_ICL_LP, MFX_GT1 }, + { 0x8A58, MFX_HW_ICL_LP, MFX_GT1 }, + { 0x8A59, MFX_HW_ICL_LP, MFX_GT1 }, + { 0x8A5A, MFX_HW_ICL_LP, MFX_GT1 }, + { 0x8A5B, MFX_HW_ICL_LP, MFX_GT1 }, + { 0x8A5C, MFX_HW_ICL_LP, MFX_GT1 }, + { 0x8A5D, MFX_HW_ICL_LP, MFX_GT1 }, + { 0x8A70, MFX_HW_ICL_LP, MFX_GT1 }, + { 0x8A71, MFX_HW_ICL_LP, MFX_GT1 }, // GT05, but 1 ok in this context + + /* JSL */ + { 0x4E51, MFX_HW_JSL, MFX_GT2 }, + { 0x4E55, MFX_HW_JSL, MFX_GT2 }, + { 0x4E61, MFX_HW_JSL, MFX_GT2 }, + { 0x4E71, MFX_HW_JSL, MFX_GT2 }, + + /* EHL */ + { 0x4500, MFX_HW_EHL, MFX_GT2 }, + { 0x4541, MFX_HW_EHL, MFX_GT2 }, + { 0x4551, MFX_HW_EHL, MFX_GT2 }, + { 0x4555, MFX_HW_EHL, MFX_GT2 }, + { 0x4569, MFX_HW_EHL, MFX_GT2 }, + { 0x4571, MFX_HW_EHL, MFX_GT2 }, + + /* TGL */ + { 0x9A40, MFX_HW_TGL_LP, MFX_GT2 }, + { 0x9A49, MFX_HW_TGL_LP, MFX_GT2 }, + { 0x9A59, MFX_HW_TGL_LP, MFX_GT2 }, + { 0x9A60, MFX_HW_TGL_LP, MFX_GT2 }, + { 0x9A68, MFX_HW_TGL_LP, MFX_GT2 }, + { 0x9A70, MFX_HW_TGL_LP, MFX_GT2 }, + { 0x9A78, MFX_HW_TGL_LP, MFX_GT2 }, + { 0x9AC0, MFX_HW_TGL_LP, MFX_GT2 }, + { 0x9AC9, MFX_HW_TGL_LP, MFX_GT2 }, + { 0x9AD9, MFX_HW_TGL_LP, MFX_GT2 }, + { 0x9AF8, MFX_HW_TGL_LP, MFX_GT2 }, + + /* DG1/SG1 */ + { 0x4905, MFX_HW_DG1, MFX_GT2 }, + { 0x4906, MFX_HW_DG1, MFX_GT2 }, + { 0x4907, MFX_HW_DG1, MFX_GT2 }, + { 0x4908, MFX_HW_DG1, MFX_GT2 }, + + /* RKL */ + { 0x4C80, MFX_HW_RKL, MFX_GT1 }, + { 0x4C8A, MFX_HW_RKL, MFX_GT1 }, + { 0x4C81, MFX_HW_RKL, MFX_GT1 }, + { 0x4C8B, MFX_HW_RKL, MFX_GT1 }, + { 0x4C90, MFX_HW_RKL, MFX_GT1 }, + { 0x4C9A, MFX_HW_RKL, MFX_GT1 }, + + /* ADL */ + { 0x4600, MFX_HW_ADL_S, MFX_GT1 }, //ADL-S + { 0x4680, MFX_HW_ADL_S, MFX_GT1 }, //ADL-S + { 0x4681, MFX_HW_ADL_S, MFX_GT1 }, //ADL-S + { 0x4683, MFX_HW_ADL_S, MFX_GT1 }, //ADL-S + { 0x4690, MFX_HW_ADL_S, MFX_GT1 }, //ADL-S + { 0x4691, MFX_HW_ADL_S, MFX_GT1 }, //ADL-S + { 0x4693, MFX_HW_ADL_S, MFX_GT1 }, //ADL-S + { 0x4698, MFX_HW_ADL_S, MFX_GT1 }, //ADL-S + { 0x4699, MFX_HW_ADL_S, MFX_GT1 }, //ADL-S +}; + +typedef struct { + int vendor_id; + int device_id; + eMFXHWType platform; +} Device; + +static inline eMFXHWType get_platform(int device_id) { + for (unsigned i = 0; i < sizeof(listLegalDevIDs) / sizeof(listLegalDevIDs[0]); ++i) { + if (listLegalDevIDs[i].device_id == device_id) { + return listLegalDevIDs[i].platform; + } + } + return MFX_HW_UNKNOWN; +} + +static mfxStatus get_devices(std::vector &allDevices) { + const char *dir = "/sys/class/drm"; + const char *device_id_file = "/device/device"; + const char *vendor_id_file = "/device/vendor"; + + int i = 0; + for (; i < 64; ++i) { + int ret; + Device device; + std::string path = std::string(dir) + "/renderD" + std::to_string(128 + i) + vendor_id_file; + + FILE *file = fopen(path.c_str(), "r"); + if (!file) + continue; + ret = fscanf(file, "%x", &device.vendor_id); + if (ret != 1) + continue; + fclose(file); + + // Filter out non-Intel devices + if (device.vendor_id != 0x8086) + continue; + + path = std::string(dir) + "/renderD" + std::to_string(128 + i) + device_id_file; + file = fopen(path.c_str(), "r"); + if (!file) + continue; + ret = fscanf(file, "%x", &device.device_id); + if (ret != 1) + continue; + fclose(file); + + device.platform = get_platform(device.device_id); + + allDevices.emplace_back(device); + } + + // sort by device_id + std::sort(allDevices.begin(), allDevices.end(), [](const Device &a, const Device &b) { + return a.device_id < b.device_id; + }); + + if (allDevices.size() == 0) + return MFX_ERR_NOT_FOUND; + + return MFX_ERR_NONE; +} + +#endif // DISPATCHER_LINUX_DEVICE_IDS_H_ \ No newline at end of file diff --git a/dispatcher/linux/libvpl.map b/dispatcher/linux/libvpl.map new file mode 100644 index 00000000..dc36d34d --- /dev/null +++ b/dispatcher/linux/libvpl.map @@ -0,0 +1,81 @@ +LIBVPL_2.0 { + global: + MFXInit; + MFXClose; + MFXQueryIMPL; + MFXQueryVersion; + + MFXJoinSession; + MFXDisjoinSession; + MFXCloneSession; + MFXSetPriority; + MFXGetPriority; + + MFXVideoCORE_SetFrameAllocator; + MFXVideoCORE_SetHandle; + MFXVideoCORE_GetHandle; + MFXVideoCORE_QueryPlatform; + MFXVideoCORE_SyncOperation; + + MFXVideoENCODE_Query; + MFXVideoENCODE_QueryIOSurf; + MFXVideoENCODE_Init; + MFXVideoENCODE_Reset; + MFXVideoENCODE_Close; + MFXVideoENCODE_GetVideoParam; + MFXVideoENCODE_GetEncodeStat; + MFXVideoENCODE_EncodeFrameAsync; + + MFXVideoDECODE_Query; + MFXVideoDECODE_DecodeHeader; + MFXVideoDECODE_QueryIOSurf; + MFXVideoDECODE_Init; + MFXVideoDECODE_Reset; + MFXVideoDECODE_Close; + MFXVideoDECODE_GetVideoParam; + MFXVideoDECODE_GetDecodeStat; + MFXVideoDECODE_SetSkipMode; + MFXVideoDECODE_GetPayload; + MFXVideoDECODE_DecodeFrameAsync; + + MFXVideoVPP_Query; + MFXVideoVPP_QueryIOSurf; + MFXVideoVPP_Init; + MFXVideoVPP_Reset; + MFXVideoVPP_Close; + + MFXVideoVPP_GetVideoParam; + MFXVideoVPP_GetVPPStat; + MFXVideoVPP_RunFrameVPPAsync; + + MFXInitEx; + + MFXLoad; + MFXUnload; + MFXCreateConfig; + MFXSetConfigFilterProperty; + MFXEnumImplementations; + MFXCreateSession; + MFXDispReleaseImplDescription; + + MFXMemory_GetSurfaceForVPP; + MFXMemory_GetSurfaceForEncode; + MFXMemory_GetSurfaceForDecode; + + local: + *; +}; + +LIBVPL_2.1 { + global: + MFXMemory_GetSurfaceForVPPOut; + MFXVideoDECODE_VPP_Init; + MFXVideoDECODE_VPP_DecodeFrameAsync; + MFXVideoDECODE_VPP_Reset; + MFXVideoDECODE_VPP_GetChannelParam; + MFXVideoDECODE_VPP_Close; + MFXVideoVPP_ProcessFrameAsync; + + local: + *; +} LIBVPL_2.0; diff --git a/dispatcher/linux/mfxloader.cpp b/dispatcher/linux/mfxloader.cpp index 42123be4..0361c1eb 100644 --- a/dispatcher/linux/mfxloader.cpp +++ b/dispatcher/linux/mfxloader.cpp @@ -18,16 +18,17 @@ #include "vpl/mfxvideo.h" +#include "linux/device_ids.h" #include "linux/mfxloader.h" namespace MFX { -#if defined(__i386__) - #define LIBMFXSW "libvplswref32.so.1" - #define LIBMFXHW "libmfxhw32.so.1" -#elif defined(__x86_64__) - #define LIBMFXSW "libvplswref64.so.1" +#if defined(__x86_64__) + #define LIBMFXSW "libmfxsw64.so.1" #define LIBMFXHW "libmfxhw64.so.1" + + #define ONEVPLSW "libvplswref64.so.1" + #define ONEVPLHW "libmfx-gen.so.1.2" #else #error Unsupported architecture #endif @@ -45,8 +46,9 @@ enum Function { eNoMoreFunctions = eFunctionsNum }; -// new functions for API 2.0 +// new functions for API 2.x enum Function2 { + // 2.0 eMFXQueryImplsDescription = 0, eMFXReleaseImplDescription, eMFXMemory_GetSurfaceForVPP, @@ -54,6 +56,15 @@ enum Function2 { eMFXMemory_GetSurfaceForDecode, eMFXInitialize, + // 2.1 + eMFXMemory_GetSurfaceForVPPOut, + eMFXVideoDECODE_VPP_Init, + eMFXVideoDECODE_VPP_DecodeFrameAsync, + eMFXVideoDECODE_VPP_Reset, + eMFXVideoDECODE_VPP_GetChannelParam, + eMFXVideoDECODE_VPP_Close, + eMFXVideoVPP_ProcessFrameAsync, + eFunctionsNum2, }; @@ -88,17 +99,28 @@ static const FunctionsTable g_mfxFuncTable[] = { }; static const FunctionsTable2 g_mfxFuncTable2[] = { - { eMFXQueryImplsDescription, "MFXQueryImplsDescription", VERSION(0, 2) }, - { eMFXReleaseImplDescription, "MFXReleaseImplDescription", VERSION(0, 2) }, - { eMFXMemory_GetSurfaceForVPP, "MFXMemory_GetSurfaceForVPP", VERSION(0, 2) }, - { eMFXMemory_GetSurfaceForEncode, "MFXMemory_GetSurfaceForEncode", VERSION(0, 2) }, - { eMFXMemory_GetSurfaceForDecode, "MFXMemory_GetSurfaceForDecode", VERSION(0, 2) }, - { eMFXInitialize, "MFXInitialize", VERSION(0, 2) }, + { eMFXQueryImplsDescription, "MFXQueryImplsDescription", VERSION(2, 0) }, + { eMFXReleaseImplDescription, "MFXReleaseImplDescription", VERSION(2, 0) }, + { eMFXMemory_GetSurfaceForVPP, "MFXMemory_GetSurfaceForVPP", VERSION(2, 0) }, + { eMFXMemory_GetSurfaceForEncode, "MFXMemory_GetSurfaceForEncode", VERSION(2, 0) }, + { eMFXMemory_GetSurfaceForDecode, "MFXMemory_GetSurfaceForDecode", VERSION(2, 0) }, + { eMFXInitialize, "MFXInitialize", VERSION(2, 0) }, + + { eMFXMemory_GetSurfaceForVPPOut, "MFXMemory_GetSurfaceForVPPOut", VERSION(2, 1) }, + { eMFXVideoDECODE_VPP_Init, "MFXVideoDECODE_VPP_Init", VERSION(2, 1) }, + { eMFXVideoDECODE_VPP_DecodeFrameAsync, "MFXVideoDECODE_VPP_DecodeFrameAsync", VERSION(2, 1) }, + { eMFXVideoDECODE_VPP_Reset, "MFXVideoDECODE_VPP_Reset", VERSION(2, 1) }, + { eMFXVideoDECODE_VPP_GetChannelParam, "MFXVideoDECODE_VPP_GetChannelParam", VERSION(2, 1) }, + { eMFXVideoDECODE_VPP_Close, "MFXVideoDECODE_VPP_Close", VERSION(2, 1) }, + { eMFXVideoVPP_ProcessFrameAsync, "MFXVideoVPP_ProcessFrameAsync", VERSION(2, 1) }, }; class LoaderCtx { public: - mfxStatus Init(mfxInitParam& par, char* dllName); + mfxStatus Init(mfxInitParam& par, + mfxInitializationParam& vplParam, + mfxU16* pDeviceID, + char* dllName); mfxStatus Close(); inline void* getFunction(Function func) const { @@ -137,34 +159,68 @@ std::shared_ptr make_dlopen(const char* filename, int flags) { }); } -mfxStatus LoaderCtx::Init(mfxInitParam& par, char* dllName) { +mfxStatus LoaderCtx::Init(mfxInitParam& par, + mfxInitializationParam& vplParam, + mfxU16* pDeviceID, + char* dllName) { + mfxStatus mfx_res = MFX_ERR_NONE; + std::vector libs; + std::vector devices; + eMFXHWType platform; + + // query graphics device_id + // if it is found on list of legacy devices, load MSDK RT + // otherwise load oneVPL RT + mfxU16 deviceID = 0; + mfx_res = get_devices(devices); + if (mfx_res == MFX_ERR_NOT_FOUND) { + // query failed + platform = MFX_HW_UNKNOWN; + } + else { + // query succeeded: + // may be a valid platform from listLegalDevIDs[] or MFX_HW_UNKNOWN + // if underlying device_id is unrecognized (i.e. new platform) + platform = devices[0].platform; + deviceID = devices[0].device_id; + } + + if (pDeviceID) + *pDeviceID = deviceID; if (dllName) { // attempt to load only this DLL, fail if unsuccessful std::string libToLoad(dllName); libs.emplace_back(libToLoad); } - else if (MFX_IMPL_BASETYPE(par.Implementation) == MFX_IMPL_AUTO || - MFX_IMPL_BASETYPE(par.Implementation) == MFX_IMPL_AUTO_ANY) { - libs.emplace_back(LIBMFXHW); - libs.emplace_back(MFX_MODULES_DIR "/" LIBMFXHW); - libs.emplace_back(LIBMFXSW); - libs.emplace_back(MFX_MODULES_DIR "/" LIBMFXSW); - } - else if (par.Implementation & MFX_IMPL_HARDWARE || par.Implementation & MFX_IMPL_HARDWARE_ANY) { - libs.emplace_back(LIBMFXHW); - libs.emplace_back(MFX_MODULES_DIR "/" LIBMFXHW); - } - else if (par.Implementation & MFX_IMPL_SOFTWARE) { - libs.emplace_back(LIBMFXSW); - libs.emplace_back(MFX_MODULES_DIR "/" LIBMFXSW); - } else { - return MFX_ERR_UNSUPPORTED; + mfxIMPL implType = MFX_IMPL_BASETYPE(par.Implementation); + // add HW lib + if (implType == MFX_IMPL_AUTO || implType == MFX_IMPL_AUTO_ANY || + (implType & MFX_IMPL_HARDWARE) || (implType & MFX_IMPL_HARDWARE_ANY)) { + if (platform == MFX_HW_UNKNOWN) { + // use oneVPL + libs.emplace_back(ONEVPLHW); + libs.emplace_back(MFX_MODULES_DIR "/" ONEVPLHW); + } + else { + // use MSDK + libs.emplace_back(LIBMFXHW); + libs.emplace_back(MFX_MODULES_DIR "/" LIBMFXHW); + } + } + + // add SW lib (oneVPL only) + if (implType == MFX_IMPL_AUTO || implType == MFX_IMPL_AUTO_ANY || + (implType & MFX_IMPL_SOFTWARE)) { + libs.emplace_back(ONEVPLSW); + libs.emplace_back(MFX_MODULES_DIR "/" ONEVPLSW); + } } - mfxStatus mfx_res = MFX_ERR_UNSUPPORTED; + // fail if libs is empty (invalid Implementation) + mfx_res = MFX_ERR_UNSUPPORTED; for (auto& lib : libs) { std::shared_ptr hdl = make_dlopen(lib.c_str(), RTLD_LOCAL | RTLD_NOW); @@ -175,11 +231,7 @@ mfxStatus LoaderCtx::Init(mfxInitParam& par, char* dllName) { for (int i = 0; i < eFunctionsNum; ++i) { assert(i == g_mfxFuncTable[i].id); m_table[i] = dlsym(hdl.get(), g_mfxFuncTable[i].name); - if (!m_table[i] && - ((g_mfxFuncTable[i].version <= par.Version) || - (g_mfxFuncTable[i].version <= mfxVersion(VERSION(1, 14))))) { - // this version of dispatcher requires MFXInitEx which appeared - // in Media SDK API 1.14 + if (!m_table[i] && ((g_mfxFuncTable[i].version <= par.Version))) { wrong_version = true; break; } @@ -190,7 +242,7 @@ mfxStatus LoaderCtx::Init(mfxInitParam& par, char* dllName) { for (int i = 0; i < eFunctionsNum2; ++i) { assert(i == g_mfxFuncTable2[i].id); m_table2[i] = dlsym(hdl.get(), g_mfxFuncTable2[i].name); - if (!m_table2[i]) { + if (!m_table2[i] && (g_mfxFuncTable2[i].version <= par.Version)) { wrong_version = true; break; } @@ -204,23 +256,20 @@ mfxStatus LoaderCtx::Init(mfxInitParam& par, char* dllName) { if (par.Version.Major >= 2) { // for API >= 2.0 call MFXInitialize instead of MFXInitEx - mfxInitializationParam initPar2 = {}; - - if (par.Implementation & MFX_IMPL_SOFTWARE) { - // software - initPar2.AccelerationMode = MFX_ACCEL_MODE_NA; - } - else { - // hardware - VAAPI - initPar2.AccelerationMode = MFX_ACCEL_MODE_VIA_VAAPI; - } - mfx_res = - ((decltype(MFXInitialize)*)m_table2[eMFXInitialize])(initPar2, &m_session); + ((decltype(MFXInitialize)*)m_table2[eMFXInitialize])(vplParam, &m_session); } else { - /* Initializing loaded library */ - mfx_res = ((decltype(MFXInitEx)*)m_table[eMFXInitEx])(par, &m_session); + if (m_table[eMFXInitEx]) { + // initialize with MFXInitEx if present (API >= 1.14) + mfx_res = ((decltype(MFXInitEx)*)m_table[eMFXInitEx])(par, &m_session); + } + else { + // initialize with MFXInit for API < 1.14 + mfx_res = ((decltype(MFXInit)*)m_table[eMFXInit])(par.Implementation, + &(par.Version), + &m_session); + } } if (MFX_ERR_NONE != mfx_res) { @@ -275,16 +324,51 @@ mfxStatus LoaderCtx::Close() { } // namespace MFX // internal function - load a specific DLL, return unsupported if it fails -mfxStatus MFXInitEx2(mfxInitParam par, mfxSession* session, char* dllName) { +// vplParam is required for API >= 2.0 (load via MFXInitialize) +mfxStatus MFXInitEx2(mfxVersion version, + mfxInitializationParam vplParam, + mfxIMPL hwImpl, + mfxSession* session, + mfxU16* deviceID, + char* dllName) { if (!session) return MFX_ERR_NULL_PTR; + *deviceID = 0; + + // fill minimal 1.x parameters for Init to choose correct initialization path + mfxInitParam par = {}; + par.Version = version; + + // select first adapter if not specified + // only relevant for MSDK-via-MFXLoad path + if (!hwImpl) + hwImpl = MFX_IMPL_HARDWARE; + + switch (vplParam.AccelerationMode) { + case MFX_ACCEL_MODE_NA: + par.Implementation = MFX_IMPL_SOFTWARE; + break; + case MFX_ACCEL_MODE_VIA_D3D9: + par.Implementation = hwImpl | MFX_IMPL_VIA_D3D9; + break; + case MFX_ACCEL_MODE_VIA_D3D11: + par.Implementation = hwImpl | MFX_IMPL_VIA_D3D11; + break; + case MFX_ACCEL_MODE_VIA_VAAPI: + par.Implementation = hwImpl | MFX_IMPL_VIA_VAAPI; + break; + default: + par.Implementation = hwImpl; + break; + } + try { std::unique_ptr loader; loader.reset(new MFX::LoaderCtx{}); - mfxStatus mfx_res = loader->Init(par, dllName); + mfxStatus mfx_res = loader->Init(par, vplParam, deviceID, dllName); if (MFX_ERR_NONE == mfx_res) { *session = (mfxSession)loader.release(); } @@ -321,12 +405,21 @@ mfxStatus MFXInitEx(mfxInitParam par, mfxSession* session) { if (!session) return MFX_ERR_NULL_PTR; + const mfxIMPL implMethod = par.Implementation & (MFX_IMPL_VIA_ANY - 1); + mfxInitializationParam vplParam = {}; + if (implMethod == MFX_IMPL_SOFTWARE) { + vplParam.AccelerationMode = MFX_ACCEL_MODE_NA; + } + else { + vplParam.AccelerationMode = MFX_ACCEL_MODE_VIA_VAAPI; + } + try { std::unique_ptr loader; loader.reset(new MFX::LoaderCtx{}); - mfxStatus mfx_res = loader->Init(par, nullptr); + mfxStatus mfx_res = loader->Init(par, vplParam, nullptr, nullptr); if (MFX_ERR_NONE == mfx_res) { *session = (mfxSession)loader.release(); } @@ -365,8 +458,6 @@ mfxStatus MFXClose(mfxSession session) { mfxStatus MFXMemory_GetSurfaceForVPP(mfxSession session, mfxFrameSurface1** surface) { if (!session) return MFX_ERR_INVALID_HANDLE; - if (!surface) - return MFX_ERR_NULL_PTR; MFX::LoaderCtx* loader = (MFX::LoaderCtx*)session; @@ -379,11 +470,24 @@ mfxStatus MFXMemory_GetSurfaceForVPP(mfxSession session, mfxFrameSurface1** surf return (*proc)(loader->getSession(), surface); } +mfxStatus MFXMemory_GetSurfaceForVPPOut(mfxSession session, mfxFrameSurface1** surface) { + if (!session) + return MFX_ERR_INVALID_HANDLE; + + MFX::LoaderCtx* loader = (MFX::LoaderCtx*)session; + + auto proc = (decltype(MFXMemory_GetSurfaceForVPPOut)*)loader->getFunction2( + MFX::eMFXMemory_GetSurfaceForVPPOut); + if (!proc) { + return MFX_ERR_INVALID_HANDLE; + } + + return (*proc)(loader->getSession(), surface); +} + mfxStatus MFXMemory_GetSurfaceForEncode(mfxSession session, mfxFrameSurface1** surface) { if (!session) return MFX_ERR_INVALID_HANDLE; - if (!surface) - return MFX_ERR_NULL_PTR; MFX::LoaderCtx* loader = (MFX::LoaderCtx*)session; @@ -399,8 +503,6 @@ mfxStatus MFXMemory_GetSurfaceForEncode(mfxSession session, mfxFrameSurface1** s mfxStatus MFXMemory_GetSurfaceForDecode(mfxSession session, mfxFrameSurface1** surface) { if (!session) return MFX_ERR_INVALID_HANDLE; - if (!surface) - return MFX_ERR_NULL_PTR; MFX::LoaderCtx* loader = (MFX::LoaderCtx*)session; @@ -413,6 +515,110 @@ mfxStatus MFXMemory_GetSurfaceForDecode(mfxSession session, mfxFrameSurface1** s return (*proc)(loader->getSession(), surface); } +mfxStatus MFXVideoDECODE_VPP_Init(mfxSession session, + mfxVideoParam* decode_par, + mfxVideoChannelParam** vpp_par_array, + mfxU32 num_vpp_par) { + if (!session) + return MFX_ERR_INVALID_HANDLE; + + MFX::LoaderCtx* loader = (MFX::LoaderCtx*)session; + + auto proc = + (decltype(MFXVideoDECODE_VPP_Init)*)loader->getFunction2(MFX::eMFXVideoDECODE_VPP_Init); + if (!proc) { + return MFX_ERR_INVALID_HANDLE; + } + + return (*proc)(loader->getSession(), decode_par, vpp_par_array, num_vpp_par); +} + +mfxStatus MFXVideoDECODE_VPP_DecodeFrameAsync(mfxSession session, + mfxBitstream* bs, + mfxU32* skip_channels, + mfxU32 num_skip_channels, + mfxSurfaceArray** surf_array_out) { + if (!session) + return MFX_ERR_INVALID_HANDLE; + + MFX::LoaderCtx* loader = (MFX::LoaderCtx*)session; + + auto proc = (decltype(MFXVideoDECODE_VPP_DecodeFrameAsync)*)loader->getFunction2( + MFX::eMFXVideoDECODE_VPP_DecodeFrameAsync); + if (!proc) { + return MFX_ERR_INVALID_HANDLE; + } + + return (*proc)(loader->getSession(), bs, skip_channels, num_skip_channels, surf_array_out); +} + +mfxStatus MFXVideoDECODE_VPP_Reset(mfxSession session, + mfxVideoParam* decode_par, + mfxVideoChannelParam** vpp_par_array, + mfxU32 num_vpp_par) { + if (!session) + return MFX_ERR_INVALID_HANDLE; + + MFX::LoaderCtx* loader = (MFX::LoaderCtx*)session; + + auto proc = + (decltype(MFXVideoDECODE_VPP_Reset)*)loader->getFunction2(MFX::eMFXVideoDECODE_VPP_Reset); + if (!proc) { + return MFX_ERR_INVALID_HANDLE; + } + + return (*proc)(loader->getSession(), decode_par, vpp_par_array, num_vpp_par); +} + +mfxStatus MFXVideoDECODE_VPP_GetChannelParam(mfxSession session, + mfxVideoChannelParam* par, + mfxU32 channel_id) { + if (!session) + return MFX_ERR_INVALID_HANDLE; + + MFX::LoaderCtx* loader = (MFX::LoaderCtx*)session; + + auto proc = (decltype(MFXVideoDECODE_VPP_GetChannelParam)*)loader->getFunction2( + MFX::eMFXVideoDECODE_VPP_GetChannelParam); + if (!proc) { + return MFX_ERR_INVALID_HANDLE; + } + + return (*proc)(loader->getSession(), par, channel_id); +} + +mfxStatus MFXVideoDECODE_VPP_Close(mfxSession session) { + if (!session) + return MFX_ERR_INVALID_HANDLE; + + MFX::LoaderCtx* loader = (MFX::LoaderCtx*)session; + + auto proc = + (decltype(MFXVideoDECODE_VPP_Close)*)loader->getFunction2(MFX::eMFXVideoDECODE_VPP_Close); + if (!proc) { + return MFX_ERR_INVALID_HANDLE; + } + + return (*proc)(loader->getSession()); +} + +mfxStatus MFXVideoVPP_ProcessFrameAsync(mfxSession session, + mfxFrameSurface1* in, + mfxFrameSurface1** out) { + if (!session) + return MFX_ERR_INVALID_HANDLE; + + MFX::LoaderCtx* loader = (MFX::LoaderCtx*)session; + + auto proc = (decltype(MFXVideoVPP_ProcessFrameAsync)*)loader->getFunction2( + MFX::eMFXVideoVPP_ProcessFrameAsync); + if (!proc) { + return MFX_ERR_INVALID_HANDLE; + } + + return (*proc)(loader->getSession(), in, out); +} + mfxStatus MFXJoinSession(mfxSession session, mfxSession child_session) { if (!session || !child_session) { return MFX_ERR_INVALID_HANDLE; diff --git a/dispatcher/pkgconfig/vpl.pc.in b/dispatcher/pkgconfig/vpl.pc.in new file mode 100644 index 00000000..17e16290 --- /dev/null +++ b/dispatcher/pkgconfig/vpl.pc.in @@ -0,0 +1,13 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ +includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ + +# oneAPI Video Processing Library (oneVPL) +Name: oneVPL +Description: oneAPI Video Processing Library +Version: @API_VERSION_MAJOR@.@API_VERSION_MINOR@ +URL: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onevpl.html + +Libs: -L${libdir} -lvpl +Cflags: -I${includedir} -I${includedir}/vpl diff --git a/dispatcher/vpl/mfx_dispatcher_vpl.cpp b/dispatcher/vpl/mfx_dispatcher_vpl.cpp index 38f1de84..5c2c609e 100644 --- a/dispatcher/vpl/mfx_dispatcher_vpl.cpp +++ b/dispatcher/vpl/mfx_dispatcher_vpl.cpp @@ -1,5 +1,5 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ @@ -25,6 +25,7 @@ mfxLoader MFXLoad() { // spec mfxStatus sts = loaderCtx->BuildListOfCandidateLibs(); if (MFX_ERR_NONE != sts) { + delete loaderCtx; return nullptr; } @@ -32,12 +33,17 @@ mfxLoader MFXLoad() { // ptr table for each library which is mfxU32 numLibs = loaderCtx->CheckValidLibraries(); if (numLibs == 0) { + delete loaderCtx; return nullptr; } // query capabilities of each implementation // may be more than one implementation per library sts = loaderCtx->QueryLibraryCaps(); + if (MFX_ERR_NONE != sts) { + delete loaderCtx; + return nullptr; + } return (mfxLoader)loaderCtx; } diff --git a/dispatcher/vpl/mfx_dispatcher_vpl.h b/dispatcher/vpl/mfx_dispatcher_vpl.h index 8c1f0d76..d9ca28c7 100644 --- a/dispatcher/vpl/mfx_dispatcher_vpl.h +++ b/dispatcher/vpl/mfx_dispatcher_vpl.h @@ -1,5 +1,5 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ @@ -7,6 +7,7 @@ #ifndef DISPATCHER_VPL_MFX_DISPATCHER_VPL_H_ #define DISPATCHER_VPL_MFX_DISPATCHER_VPL_H_ +#include #include #include #include @@ -19,6 +20,8 @@ #include #include "windows/mfx_dispatcher.h" + #include "windows/mfx_dispatcher_defs.h" + #include "windows/mfx_library_iterator.h" #include "windows/mfx_load_dll.h" // use wide char on Windows @@ -37,6 +40,13 @@ typedef std::string STRING_TYPE; typedef char CHAR_TYPE; #endif +#define MSDK_MIN_VERSION_MAJOR 1 +#define MSDK_MIN_VERSION_MINOR 0 + +#define MAX_MSDK_ACCEL_MODES 16 // see mfxcommon.h --> mfxAccelerationMode + +#define MAX_WINDOWS_ADAPTER_ID 3 // check adapterID in range [0,3] + #define MAX_VPL_SEARCH_PATH 4096 // OS-specific environment variables for implementation @@ -51,12 +61,35 @@ typedef char CHAR_TYPE; #define ENV_OS_PATH "LD_LIBRARY_PATH" #endif +#define TAB_SIZE(type, tab) (sizeof(tab) / sizeof(type)) +#define MAKE_MFX_VERSION(major, minor) \ + { (minor), (major) } + +// internal flag for MSDK compatibility mode (loading via MFXLoad) +// do not specify accelerator mode (see MFXInitEx2 default path) +enum { MFX_ACCEL_MODE_VIA_HW_ANY = 0x7FFFFFFF }; + // internal function to load dll by full path, fail if unsuccessful -mfxStatus MFXInitEx2(mfxInitParam par, mfxSession* session, CHAR_TYPE* dllName); +mfxStatus MFXInitEx2(mfxVersion version, + mfxInitializationParam vplParam, + mfxIMPL hwImpl, + mfxSession* session, + mfxU16* deviceID, + CHAR_TYPE* dllName); typedef void(MFX_CDECL* VPLFunctionPtr)(void); +enum LibType { + LibTypeUnknown = -1, + + LibTypeVPL = 0, + LibTypeMSDK, + + NumLibTypes +}; + enum VPLFunctionIdx { + // 2.0 IdxMFXQueryImplsDescription = 0, IdxMFXReleaseImplDescription, IdxMFXMemory_GetSurfaceForVPP, @@ -64,9 +97,26 @@ enum VPLFunctionIdx { IdxMFXMemory_GetSurfaceForDecode, IdxMFXInitialize, + // 2.1 + IdxMFXMemory_GetSurfaceForVPPOut, + IdxMFXVideoDECODE_VPP_Init, + IdxMFXVideoDECODE_VPP_DecodeFrameAsync, + IdxMFXVideoDECODE_VPP_Reset, + IdxMFXVideoDECODE_VPP_GetChannelParam, + IdxMFXVideoDECODE_VPP_Close, + IdxMFXVideoVPP_ProcessFrameAsync, + NumVPLFunctions }; +// select MSDK functions for 1.x style caps query +enum MSDKCompatFunctionIdx { + IdxMFXInitEx = 0, + IdxMFXClose, + + NumMSDKFunctions +}; + // both Windows and Linux use char* for function names struct VPLFunctionDesc { const char* pName; @@ -135,6 +185,16 @@ struct VPPConfig { mfxU32 OutFormat; }; +// special props which are passed in via MFXSetConfigProperty() +// these are updated with every call to ValidateConfig() and may +// be used in MFXCreateSession() +struct SpecialConfig { + mfxHandleType deviceHandleType; + mfxHDL deviceHandle; + mfxAccelerationMode accelerationMode; + mfxVersion ApiVersion; +}; + // config class implementation class ConfigCtxVPL { public: @@ -146,7 +206,10 @@ class ConfigCtxVPL { // compare library caps vs. set of configuration filters static mfxStatus ValidateConfig(mfxImplDescription* libImplDesc, - std::list configCtxList); + mfxImplementedFunctions* libImplFuncs, + std::list configCtxList, + LibType libType, + SpecialConfig* specialConfig); // loader object this config is associated with - needed to // rebuild valid implementation list after each calling @@ -184,6 +247,8 @@ class ConfigCtxVPL { static mfxStatus CheckPropsVPP(mfxVariant cfgPropsAll[], std::list vppConfigList); + static mfxStatus CheckPropString(mfxChar* implString, std::string filtString); + std::string m_propName; mfxVariant m_propValue; mfxI32 m_propIdx; @@ -192,6 +257,57 @@ class ConfigCtxVPL { // special containers for properties which are passed by pointer // (save a copy of the whole object based on m_propName) mfxRange32U m_propRange32U; + std::string m_implName; + std::string m_implLicense; + std::string m_implKeywords; + std::string m_implFunctionName; +}; + +// MSDK compatibility loader implementation +class LoaderCtxMSDK { +public: + LoaderCtxMSDK(); + ~LoaderCtxMSDK(); + + // public function to be called by VPL dispatcher + // do not allocate any new memory here, so no need for a matching Release functions + mfxStatus QueryMSDKCaps(STRING_TYPE libNameFull, + mfxImplDescription** implDesc, + mfxImplementedFunctions** implFuncs, + mfxIMPL* msdkAdapter); + + // required by MFXCreateSession + mfxIMPL msdkAdapter; + +private: + // session management + mfxStatus OpenSession(mfxSession* session, + STRING_TYPE libNameFull, + mfxAccelerationMode accelMode, + mfxIMPL hwImpl); + void CloseSession(mfxSession* session); + + // utility functions + mfxAccelerationMode CvtAccelType(mfxIMPL implType, mfxIMPL implMethod); + mfxStatus GetDefaultAccelType(mfxU32 adapterID, mfxIMPL* implDefault); + mfxStatus CheckAccelType(mfxU32 adapterID, mfxIMPL implTest); + + // internal state variables + STRING_TYPE m_libNameFull; + mfxImplDescription m_id; // base description struct + mfxAccelerationMode m_accelMode[MAX_MSDK_ACCEL_MODES]; + mfxU16 m_loaderDeviceID; + + __inline bool IsVersionSupported(mfxVersion reqVersion, mfxVersion actualVersion) { + if (actualVersion.Major > reqVersion.Major) { + return true; + } + else if ((actualVersion.Major == reqVersion.Major) && + (actualVersion.Minor >= reqVersion.Minor)) { + return true; + } + return false; + } }; struct LibInfo { @@ -200,14 +316,32 @@ struct LibInfo { STRING_TYPE libNameFull; STRING_TYPE libNameBase; mfxU32 libPriority; + LibType libType; // if valid library, store file handle // and table of exported functions void* hModuleVPL; VPLFunctionPtr vplFuncTable[NumVPLFunctions]; // NOLINT + // select MSDK functions for 1.x style caps query + VPLFunctionPtr msdkFuncTable[NumMSDKFunctions]; // NOLINT + class LoaderCtxMSDK* msdkCtx; + // avoid warnings - LibInfo() : libNameFull(), libNameBase(), libPriority(0), hModuleVPL(nullptr), vplFuncTable() {} + LibInfo() + : libNameFull(), + libNameBase(), + libPriority(0), + libType(LibTypeUnknown), + hModuleVPL(nullptr), + vplFuncTable(), + msdkFuncTable(), + msdkCtx() {} + + ~LibInfo() { + if (msdkCtx) + delete msdkCtx; + } }; struct ImplInfo { @@ -217,15 +351,16 @@ struct ImplInfo { // description of implementation mfxHDL implDesc; + // list of implemented functions + mfxHDL implFuncs; + // used for session initialization with this implementation - mfxInitParam initPar; + mfxInitializationParam vplParam; + mfxVersion version; // local index for libraries with more than one implementation mfxU32 libImplIdx; - // globally unique index assigned after querying implementation - mfxU32 vplImplIdx; - // index of valid libraries - updates with every call to MFXSetConfigFilterProperty() mfxI32 validImplIdx; @@ -233,9 +368,10 @@ struct ImplInfo { ImplInfo() : libInfo(nullptr), implDesc(nullptr), - initPar(), + implFuncs(nullptr), + vplParam(), + version(), libImplIdx(0), - vplImplIdx(0), validImplIdx(-1) {} }; @@ -257,6 +393,7 @@ class LoaderCtxVPL { // update list of valid implementations based on current filter props mfxStatus UpdateValidImplList(void); + mfxStatus PrioritizeImplList(void); // create mfxSession mfxStatus CreateSession(mfxU32 idx, mfxSession* session); @@ -267,11 +404,20 @@ class LoaderCtxVPL { private: // helper functions + mfxStatus LoadSingleLibrary(LibInfo* libInfo); + mfxStatus UnloadSingleLibrary(LibInfo* libInfo); + mfxStatus UnloadSingleImplementation(ImplInfo* implInfo); + VPLFunctionPtr GetFunctionAddr(void* hModuleVPL, const char* pName); + mfxU32 ParseEnvSearchPaths(const CHAR_TYPE* envVarName, std::list& searchDirs); + mfxU32 ParseLegacySearchPaths(std::list& searchDirs); + mfxStatus SearchDirForLibs(STRING_TYPE searchDir, std::list& libInfoList, mfxU32 priority); + mfxStatus ValidateAPIExports(VPLFunctionPtr* vplFuncTable, mfxVersion reportedVersion); + std::list m_libInfoList; std::list m_implInfoList; std::list m_configCtxList; @@ -279,9 +425,13 @@ class LoaderCtxVPL { std::list m_userSearchDirs; std::list m_packageSearchDirs; std::list m_pathSearchDirs; + std::list m_legacySearchDirs; STRING_TYPE m_vplPackageDir; + STRING_TYPE m_driverStoreDir; + SpecialConfig m_specialConfig; mfxU32 m_implIdxNext; + bool m_bKeepCapsUntilUnload; }; #endif // DISPATCHER_VPL_MFX_DISPATCHER_VPL_H_ diff --git a/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp b/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp index 5e8695af..98c3a5e0 100644 --- a/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp +++ b/dispatcher/vpl/mfx_dispatcher_vpl_config.cpp @@ -1,11 +1,13 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ #include "vpl/mfx_dispatcher_vpl.h" +#include + // implementation of config context (mfxConfig) // each loader instance can have one or more configs // associated with it - used for filtering implementations @@ -15,7 +17,11 @@ ConfigCtxVPL::ConfigCtxVPL() m_propValue(), m_propIdx(), m_propParsedString(), - m_propRange32U() { + m_propRange32U(), + m_implName(), + m_implLicense(), + m_implKeywords(), + m_implFunctionName() { m_propValue.Version.Version = MFX_VARIANT_VERSION; m_propValue.Type = MFX_VARIANT_TYPE_UNSET; m_parentLoader = nullptr; @@ -35,9 +41,18 @@ enum PropIdx { // settable config properties for mfxImplDescription ePropMain_Impl = 0, ePropMain_AccelerationMode, + ePropMain_ApiVersion, + ePropMain_ApiVersion_Major, + ePropMain_ApiVersion_Minor, + ePropMain_ImplName, + ePropMain_License, + ePropMain_Keywords, ePropMain_VendorID, ePropMain_VendorImplID, + // settable config properties for mfxDeviceDescription + ePropDevice_DeviceID, + // settable config properties for mfxDecoderDescription ePropDec_CodecID, ePropDec_MaxcodecLevel, @@ -66,44 +81,74 @@ enum PropIdx { ePropVPP_InFormat, ePropVPP_OutFormat, + // special properties not part of description struct + ePropSpecial_HandleType, + ePropSpecial_Handle, + + // functions which must report as implemented + ePropFunc_FunctionName, + // number of entries (always last) eProp_TotalProps }; +// leave table formatting alone +// clang-format off + // order must align exactly with PropIdx list // to avoid mismatches, this should be automated (e.g. pre-processor step) static const PropVariant PropIdxTab[] = { - { "ePropMain_Impl", MFX_VARIANT_TYPE_U32 }, - { "ePropMain_AccelerationMode", MFX_VARIANT_TYPE_U16 }, - { "ePropMain_VendorID", MFX_VARIANT_TYPE_U32 }, - { "ePropMain_VendorImplID", MFX_VARIANT_TYPE_U32 }, - - { "ePropDec_CodecID", MFX_VARIANT_TYPE_U32 }, - { "ePropDec_MaxcodecLevel", MFX_VARIANT_TYPE_U16 }, - { "ePropDec_Profile", MFX_VARIANT_TYPE_U32 }, - { "ePropDec_MemHandleType", MFX_VARIANT_TYPE_U32 }, - { "ePropDec_Width", MFX_VARIANT_TYPE_PTR }, - { "ePropDec_Height", MFX_VARIANT_TYPE_PTR }, - { "ePropDec_ColorFormats", MFX_VARIANT_TYPE_U32 }, - - { "ePropEnc_CodecID", MFX_VARIANT_TYPE_U32 }, - { "ePropEnc_MaxcodecLevel", MFX_VARIANT_TYPE_U16 }, - { "ePropEnc_BiDirectionalPrediction", MFX_VARIANT_TYPE_U16 }, - { "ePropEnc_Profile", MFX_VARIANT_TYPE_U32 }, - { "ePropEnc_MemHandleType", MFX_VARIANT_TYPE_U32 }, - { "ePropEnc_Width", MFX_VARIANT_TYPE_PTR }, - { "ePropEnc_Height", MFX_VARIANT_TYPE_PTR }, - { "ePropEnc_ColorFormats", MFX_VARIANT_TYPE_U32 }, - - { "ePropVPP_FilterFourCC", MFX_VARIANT_TYPE_U32 }, - { "ePropVPP_MaxDelayInFrames", MFX_VARIANT_TYPE_U16 }, - { "ePropVPP_MemHandleType", MFX_VARIANT_TYPE_U32 }, - { "ePropVPP_Width", MFX_VARIANT_TYPE_PTR }, - { "ePropVPP_Height", MFX_VARIANT_TYPE_PTR }, - { "ePropVPP_InFormat", MFX_VARIANT_TYPE_U32 }, - { "ePropVPP_OutFormat", MFX_VARIANT_TYPE_U32 }, + { "ePropMain_Impl", MFX_VARIANT_TYPE_U32 }, + { "ePropMain_AccelerationMode", MFX_VARIANT_TYPE_U32 }, + { "ePropMain_ApiVersion", MFX_VARIANT_TYPE_U32 }, + { "ePropMain_ApiVersion_Major", MFX_VARIANT_TYPE_U16 }, + { "ePropMain_ApiVersion_Minor", MFX_VARIANT_TYPE_U16 }, + { "ePropMain_ImplName", MFX_VARIANT_TYPE_PTR }, + { "ePropMain_License", MFX_VARIANT_TYPE_PTR }, + { "ePropMain_Keywords", MFX_VARIANT_TYPE_PTR }, + { "ePropMain_VendorID", MFX_VARIANT_TYPE_U32 }, + { "ePropMain_VendorImplID", MFX_VARIANT_TYPE_U32 }, + + { "ePropDevice_DeviceID", MFX_VARIANT_TYPE_U16 }, + + { "ePropDec_CodecID", MFX_VARIANT_TYPE_U32 }, + { "ePropDec_MaxcodecLevel", MFX_VARIANT_TYPE_U16 }, + { "ePropDec_Profile", MFX_VARIANT_TYPE_U32 }, + { "ePropDec_MemHandleType", MFX_VARIANT_TYPE_U32 }, + { "ePropDec_Width", MFX_VARIANT_TYPE_PTR }, + { "ePropDec_Height", MFX_VARIANT_TYPE_PTR }, + { "ePropDec_ColorFormats", MFX_VARIANT_TYPE_U32 }, + + { "ePropEnc_CodecID", MFX_VARIANT_TYPE_U32 }, + { "ePropEnc_MaxcodecLevel", MFX_VARIANT_TYPE_U16 }, + { "ePropEnc_BiDirectionalPrediction", MFX_VARIANT_TYPE_U16 }, + { "ePropEnc_Profile", MFX_VARIANT_TYPE_U32 }, + { "ePropEnc_MemHandleType", MFX_VARIANT_TYPE_U32 }, + { "ePropEnc_Width", MFX_VARIANT_TYPE_PTR }, + { "ePropEnc_Height", MFX_VARIANT_TYPE_PTR }, + { "ePropEnc_ColorFormats", MFX_VARIANT_TYPE_U32 }, + + { "ePropVPP_FilterFourCC", MFX_VARIANT_TYPE_U32 }, + { "ePropVPP_MaxDelayInFrames", MFX_VARIANT_TYPE_U16 }, + { "ePropVPP_MemHandleType", MFX_VARIANT_TYPE_U32 }, + { "ePropVPP_Width", MFX_VARIANT_TYPE_PTR }, + { "ePropVPP_Height", MFX_VARIANT_TYPE_PTR }, + { "ePropVPP_InFormat", MFX_VARIANT_TYPE_U32 }, + { "ePropVPP_OutFormat", MFX_VARIANT_TYPE_U32 }, + + { "ePropSpecial_HandleType", MFX_VARIANT_TYPE_U32 }, + { "ePropSpecial_Handle", MFX_VARIANT_TYPE_PTR }, + + { "ePropFunc_FunctionName", MFX_VARIANT_TYPE_PTR }, }; +// end table formatting +// clang-format on + +// sanity check - property table and indexes must have same number of entries +static_assert((sizeof(PropIdxTab) / sizeof(PropVariant)) == eProp_TotalProps, + "PropIdx and PropIdxTab are misaligned"); + mfxStatus ConfigCtxVPL::ValidateAndSetProp(mfxI32 idx, mfxVariant value) { if (idx < 0 || idx >= eProp_TotalProps) return MFX_ERR_NOT_FOUND; @@ -129,6 +174,25 @@ mfxStatus ConfigCtxVPL::ValidateAndSetProp(mfxI32 idx, mfxVariant value) { m_propRange32U = *((mfxRange32U *)(value.Data.Ptr)); m_propValue.Data.Ptr = &(m_propRange32U); break; + case ePropSpecial_Handle: + m_propValue.Data.Ptr = (mfxHDL)(value.Data.Ptr); + break; + case ePropMain_ImplName: + m_implName = (char *)(value.Data.Ptr); + m_propValue.Data.Ptr = &(m_implName); + break; + case ePropMain_License: + m_implLicense = (char *)(value.Data.Ptr); + m_propValue.Data.Ptr = &(m_implLicense); + break; + case ePropMain_Keywords: + m_implKeywords = (char *)(value.Data.Ptr); + m_propValue.Data.Ptr = &(m_implKeywords); + break; + case ePropFunc_FunctionName: + // no need to save Data.Ptr - parsed in main loop + m_implFunctionName = (char *)(value.Data.Ptr); + break; default: break; } @@ -316,8 +380,28 @@ mfxStatus ConfigCtxVPL::SetFilterProperty(const mfxU8 *name, mfxVariant value) { m_propParsedString.push_back(s); } - // get first property descriptor - must be "mfxImplDescription" + // get first property descriptor std::string nextProp = GetNextProp(&m_propParsedString); + + // check for special-case properties, not part of mfxImplDescription + if (nextProp == "mfxHandleType") { + return ValidateAndSetProp(ePropSpecial_HandleType, value); + } + else if (nextProp == "mfxHDL") { + return ValidateAndSetProp(ePropSpecial_Handle, value); + } + + // to require that a specific function is implemented, use the property name + // "mfxImplementedFunctions.FunctionsName" + if (nextProp == "mfxImplementedFunctions") { + nextProp = GetNextProp(&m_propParsedString); + if (nextProp == "FunctionsName") { + return ValidateAndSetProp(ePropFunc_FunctionName, value); + } + return MFX_ERR_NOT_FOUND; + } + + // standard properties must begin with "mfxImplDescription" if (nextProp != "mfxImplDescription") { return MFX_ERR_NOT_FOUND; } @@ -332,13 +416,47 @@ mfxStatus ConfigCtxVPL::SetFilterProperty(const mfxU8 *name, mfxVariant value) { else if (nextProp == "AccelerationMode") { return ValidateAndSetProp(ePropMain_AccelerationMode, value); } + else if (nextProp == "ApiVersion") { + // ApiVersion may be passed as single U32 (Version) or two U16's (Major, Minor) + nextProp = GetNextProp(&m_propParsedString); + if (nextProp == "Version") + return ValidateAndSetProp(ePropMain_ApiVersion, value); + else if (nextProp == "Major") + return ValidateAndSetProp(ePropMain_ApiVersion_Major, value); + else if (nextProp == "Minor") + return ValidateAndSetProp(ePropMain_ApiVersion_Minor, value); + else + return MFX_ERR_NOT_FOUND; + } else if (nextProp == "VendorID") { return ValidateAndSetProp(ePropMain_VendorID, value); } + else if (nextProp == "ImplName") { + return ValidateAndSetProp(ePropMain_ImplName, value); + } + else if (nextProp == "License") { + return ValidateAndSetProp(ePropMain_License, value); + } + else if (nextProp == "Keywords") { + return ValidateAndSetProp(ePropMain_Keywords, value); + } else if (nextProp == "VendorImplID") { return ValidateAndSetProp(ePropMain_VendorImplID, value); } + // property is a member of mfxDeviceDescription + // currently only settable parameter is DeviceID + if (nextProp == "mfxDeviceDescription") { + nextProp = GetNextProp(&m_propParsedString); + if (nextProp == "device") { + nextProp = GetNextProp(&m_propParsedString); + if (nextProp == "DeviceID") { + return ValidateAndSetProp(ePropDevice_DeviceID, value); + } + } + return MFX_ERR_NOT_FOUND; + } + // property is a member of mfxDecoderDescription if (nextProp == "mfxDecoderDescription") { return SetFilterPropertyDec(value); @@ -501,10 +619,85 @@ mfxStatus ConfigCtxVPL::CheckPropsGeneral(mfxVariant cfgPropsAll[], // check if this implementation includes // all of the required top-level properties CHECK_PROP(ePropMain_Impl, U32, libImplDesc->Impl); - CHECK_PROP(ePropMain_AccelerationMode, U16, libImplDesc->AccelerationMode); CHECK_PROP(ePropMain_VendorID, U32, libImplDesc->VendorID); CHECK_PROP(ePropMain_VendorImplID, U32, libImplDesc->VendorImplID); + // confirm that API version of this implementation is >= requested version + mfxU32 versionRequested = 0; + if (cfgPropsAll[ePropMain_ApiVersion].Type != MFX_VARIANT_TYPE_UNSET) { + // version was passed as U32 = (Major | Minor) + versionRequested = (mfxU32)(cfgPropsAll[ePropMain_ApiVersion].Data.U32); + } + else if (cfgPropsAll[ePropMain_ApiVersion_Major].Type != MFX_VARIANT_TYPE_UNSET && + cfgPropsAll[ePropMain_ApiVersion_Minor].Type != MFX_VARIANT_TYPE_UNSET) { + // version was passed as 2x U16 + mfxVersion ver = {}; + ver.Major = (mfxU16)(cfgPropsAll[ePropMain_ApiVersion_Major].Data.U16); + ver.Minor = (mfxU16)(cfgPropsAll[ePropMain_ApiVersion_Minor].Data.U16); + versionRequested = (mfxU32)ver.Version; + } + + if (versionRequested) { + if (libImplDesc->ApiVersion.Version < versionRequested) + isCompatible = false; + } + + if (libImplDesc->AccelerationModeDescription.NumAccelerationModes > 0) { + if (cfgPropsAll[ePropMain_AccelerationMode].Type != MFX_VARIANT_TYPE_UNSET) { + // check all supported modes if list is filled out + mfxU16 numModes = libImplDesc->AccelerationModeDescription.NumAccelerationModes; + mfxAccelerationMode modeRequested = + (mfxAccelerationMode)(cfgPropsAll[ePropMain_AccelerationMode].Data.U32); + auto *modeTab = libImplDesc->AccelerationModeDescription.Mode; + + auto *m = std::find(modeTab, modeTab + numModes, modeRequested); + if (m == modeTab + numModes) + isCompatible = false; + } + } + else { + // check default mode + CHECK_PROP(ePropMain_AccelerationMode, U32, libImplDesc->AccelerationMode); + } + + // check string: ImplName (string match) + if (cfgPropsAll[ePropMain_ImplName].Type != MFX_VARIANT_TYPE_UNSET) { + std::string filtName = *(std::string *)(cfgPropsAll[ePropMain_ImplName].Data.Ptr); + std::string implName = libImplDesc->ImplName; + if (filtName != implName) + isCompatible = false; + } + + // check string: License (tokenized) + if (cfgPropsAll[ePropMain_License].Type != MFX_VARIANT_TYPE_UNSET) { + std::string license = *(std::string *)(cfgPropsAll[ePropMain_License].Data.Ptr); + if (CheckPropString(libImplDesc->License, license) != MFX_ERR_NONE) + isCompatible = false; + } + + // check string: Keywords (tokenized) + if (cfgPropsAll[ePropMain_Keywords].Type != MFX_VARIANT_TYPE_UNSET) { + std::string keywords = *(std::string *)(cfgPropsAll[ePropMain_Keywords].Data.Ptr); + if (CheckPropString(libImplDesc->Keywords, keywords) != MFX_ERR_NONE) + isCompatible = false; + } + + // check DeviceID - stored as char*, but passed in for filtering as U16 + // convert both to unsigned ints and compare + if (cfgPropsAll[ePropDevice_DeviceID].Type != MFX_VARIANT_TYPE_UNSET) { + unsigned int implDeviceID = 0; + try { + implDeviceID = std::stoi(libImplDesc->Dev.DeviceID, 0, 16); + } + catch (...) { + return MFX_ERR_UNSUPPORTED; + } + + unsigned int filtDeviceID = (unsigned int)(cfgPropsAll[ePropDevice_DeviceID].Data.U16); + if (implDeviceID != filtDeviceID) + isCompatible = false; + } + if (isCompatible == true) return MFX_ERR_NONE; @@ -644,8 +837,35 @@ mfxStatus ConfigCtxVPL::CheckPropsVPP(mfxVariant cfgPropsAll[], return MFX_ERR_UNSUPPORTED; } +// implString = string from implDesc - one or more comma-separated tokens +// filtString = string user is looking for - one or more comma-separated tokens +// we parse filtString into tokens, then check if all of them are present in implString +mfxStatus ConfigCtxVPL::CheckPropString(mfxChar *implString, std::string filtString) { + std::list tokenString; + std::string s; + + // parse implString string into tokens, separated by ',' + std::stringstream implSS((char *)implString); + while (getline(implSS, s, ',')) { + tokenString.push_back(s); + } + + // parse filtString string into tokens, separated by ',' + // check that each token is present in implString, otherwise return error + std::stringstream filtSS(filtString); + while (getline(filtSS, s, ',')) { + if (std::find(tokenString.begin(), tokenString.end(), s) == tokenString.end()) + return MFX_ERR_UNSUPPORTED; + } + + return MFX_ERR_NONE; +} + mfxStatus ConfigCtxVPL::ValidateConfig(mfxImplDescription *libImplDesc, - std::list configCtxList) { + mfxImplementedFunctions *libImplFuncs, + std::list configCtxList, + LibType libType, + SpecialConfig *specialConfig) { mfxU32 idx; mfxStatus sts = MFX_ERR_NONE; bool decRequested = false; @@ -659,6 +879,10 @@ mfxStatus ConfigCtxVPL::ValidateConfig(mfxImplDescription *libImplDesc, std::list encConfigList; std::list vppConfigList; + // list of functions required to be implemented + std::list implFunctionList; + implFunctionList.clear(); + // save list when multiple filters apply to the the same property // (e.g two mfxConfig objects with different values for CodecID) std::list configCtxListDups; @@ -681,6 +905,12 @@ mfxStatus ConfigCtxVPL::ValidateConfig(mfxImplDescription *libImplDesc, if (idx >= eProp_TotalProps) continue; + // if property is required function, add to list which will be checked below + if (idx == ePropFunc_FunctionName) { + implFunctionList.push_back(config->m_implFunctionName); + continue; + } + // ignore config objects that were never assigned a property if (config->m_propValue.Type == MFX_VARIANT_TYPE_UNSET) continue; @@ -702,6 +932,50 @@ mfxStatus ConfigCtxVPL::ValidateConfig(mfxImplDescription *libImplDesc, vppRequested = true; } + // check whether required functions are implemented + if (!implFunctionList.empty()) { + if (!libImplFuncs) { + // library did not provide list of implemented functions + return MFX_ERR_UNSUPPORTED; + } + + auto fn = implFunctionList.begin(); + while (fn != implFunctionList.end()) { + std::string fnName = (*fn++); + mfxU32 fnIdx; + + // search for fnName in list of implemented functions + for (fnIdx = 0; fnIdx < libImplFuncs->NumFunctions; fnIdx++) { + if (fnName == libImplFuncs->FunctionsName[fnIdx]) + break; + } + + if (fnIdx == libImplFuncs->NumFunctions) + return MFX_ERR_UNSUPPORTED; + } + } + + // update any special (including non-filtering) properties, for use by caller + if (cfgPropsAll[ePropSpecial_HandleType].Type != MFX_VARIANT_TYPE_UNSET) + specialConfig->deviceHandleType = + (mfxHandleType)cfgPropsAll[ePropSpecial_HandleType].Data.U32; + + if (cfgPropsAll[ePropSpecial_Handle].Type != MFX_VARIANT_TYPE_UNSET) + specialConfig->deviceHandle = (mfxHDL)cfgPropsAll[ePropSpecial_Handle].Data.Ptr; + + if (cfgPropsAll[ePropMain_ApiVersion].Type != MFX_VARIANT_TYPE_UNSET) { + specialConfig->ApiVersion.Version = (mfxU32)cfgPropsAll[ePropMain_ApiVersion].Data.U32; + } + else if (cfgPropsAll[ePropMain_ApiVersion_Major].Type != MFX_VARIANT_TYPE_UNSET && + cfgPropsAll[ePropMain_ApiVersion_Minor].Type != MFX_VARIANT_TYPE_UNSET) { + specialConfig->ApiVersion.Major = cfgPropsAll[ePropMain_ApiVersion_Major].Data.U16; + specialConfig->ApiVersion.Minor = cfgPropsAll[ePropMain_ApiVersion_Minor].Data.U16; + } + + if (cfgPropsAll[ePropMain_AccelerationMode].Type != MFX_VARIANT_TYPE_UNSET) + specialConfig->accelerationMode = + (mfxAccelerationMode)cfgPropsAll[ePropMain_AccelerationMode].Data.U32; + // generate "flat" descriptions of each combination // (e.g. multiple profiles from the same codec) GetFlatDescriptionsDec(libImplDesc, decConfigList); @@ -712,6 +986,11 @@ mfxStatus ConfigCtxVPL::ValidateConfig(mfxImplDescription *libImplDesc, if (sts) return sts; + // early exit - MSDK RT compatibility mode (1.x) does not provide Dec/Enc/VPP caps + // ignore these filters if set (do not use them to _exclude_ the library) + if (libType == LibTypeMSDK) + return MFX_ERR_NONE; + if (decRequested) { sts = CheckPropsDec(cfgPropsAll, decConfigList); if (sts) diff --git a/dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp b/dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp index 053ce236..18e41ed3 100644 --- a/dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp +++ b/dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp @@ -1,5 +1,5 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ @@ -8,16 +8,35 @@ #include "vpl/mfx_dispatcher_vpl.h" +// leave table formatting alone +// clang-format off + // new functions for API >= 2.0 static const VPLFunctionDesc FunctionDesc2[NumVPLFunctions] = { - { "MFXQueryImplsDescription", { { 0, 2 } } }, - { "MFXReleaseImplDescription", { { 0, 2 } } }, - { "MFXMemory_GetSurfaceForVPP", { { 0, 2 } } }, - { "MFXMemory_GetSurfaceForEncode", { { 0, 2 } } }, - { "MFXMemory_GetSurfaceForDecode", { { 0, 2 } } }, - { "MFXInitialize", { { 0, 2 } } }, + { "MFXQueryImplsDescription", { { 0, 2 } } }, + { "MFXReleaseImplDescription", { { 0, 2 } } }, + { "MFXMemory_GetSurfaceForVPP", { { 0, 2 } } }, + { "MFXMemory_GetSurfaceForEncode", { { 0, 2 } } }, + { "MFXMemory_GetSurfaceForDecode", { { 0, 2 } } }, + { "MFXInitialize", { { 0, 2 } } }, + + { "MFXMemory_GetSurfaceForVPPOut", { { 1, 2 } } }, + { "MFXVideoDECODE_VPP_Init", { { 1, 2 } } }, + { "MFXVideoDECODE_VPP_DecodeFrameAsync", { { 1, 2 } } }, + { "MFXVideoDECODE_VPP_Reset", { { 1, 2 } } }, + { "MFXVideoDECODE_VPP_GetChannelParam", { { 1, 2 } } }, + { "MFXVideoDECODE_VPP_Close", { { 1, 2 } } }, + { "MFXVideoVPP_ProcessFrameAsync", { { 1, 2 } } }, +}; + +static const VPLFunctionDesc MSDKCompatFunctions[NumMSDKFunctions] = { + { "MFXInitEx", { { 14, 1 } } }, + { "MFXClose" , { { 0, 1 } } }, }; +// end table formatting +// clang-format on + // implementation of loader context (mfxLoader) // each loader instance will build a list of valid runtimes and allow // application to create sessions with them @@ -25,10 +44,15 @@ LoaderCtxVPL::LoaderCtxVPL() : m_libInfoList(), m_implInfoList(), m_configCtxList(), - m_implIdxNext(0), m_userSearchDirs(), m_packageSearchDirs(), - m_vplPackageDir() { + m_pathSearchDirs(), + m_legacySearchDirs(), + m_vplPackageDir(), + m_driverStoreDir(), + m_specialConfig(), + m_implIdxNext(0), + m_bKeepCapsUntilUnload(true) { return; } @@ -98,23 +122,31 @@ mfxStatus LoaderCtxVPL::SearchDirForLibs(STRING_TYPE searchDir, wchar_t libNameFull[MAX_VPL_SEARCH_PATH]; wchar_t* libNameBase; - // special case: libmfx*.dll filter includes dispatcher itself (libmfx.dll) - if (wcsstr(testFileData.cFileName, L"libmfx.dll")) + // special case: do not include dispatcher itself (libmfx.dll, libvpl.dll) + if (wcsstr(testFileData.cFileName, L"libmfx.dll") || + wcsstr(testFileData.cFileName, L"libvpl.dll")) continue; - LibInfo* libInfo = new LibInfo; - if (!libInfo) - return MFX_ERR_MEMORY_ALLOC; - err = GetFullPathNameW(testFileData.cFileName, MAX_VPL_SEARCH_PATH, libNameFull, &libNameBase); - if (!err) { - // unknown error - skip it and move on to next file - delete libInfo; + // unknown error - skip it and move on to next file + if (!err) continue; - } + + // skip duplicates + auto libFound = + std::find_if(libInfoList.begin(), libInfoList.end(), [&](LibInfo* li) { + return (li->libNameFull == libNameFull); + }); + if (libFound != libInfoList.end()) + continue; + + LibInfo* libInfo = new LibInfo; + if (!libInfo) + return MFX_ERR_MEMORY_ALLOC; + libInfo->libNameFull = libNameFull; libInfo->libPriority = priority; @@ -148,16 +180,14 @@ mfxStatus LoaderCtxVPL::SearchDirForLibs(STRING_TYPE searchDir, (strstr(currFile->d_name, "libmfx") != currFile->d_name)) continue; - // special case: libmfx* filter includes dispatcher itself (libmfx.so) - if (strstr(currFile->d_name, "libmfx.so")) + // special case: do not include dispatcher itself (libmfx.so*, libvpl.so*) or tracer library + if (strstr(currFile->d_name, "libmfx.so") || + strstr(currFile->d_name, "libvpl.so") || + strstr(currFile->d_name, "libmfx-tracer")) continue; char filePathC[MAX_VPL_SEARCH_PATH]; - LibInfo* libInfo = new LibInfo; - if (!libInfo) - return MFX_ERR_MEMORY_ALLOC; - // get full path to found library snprintf(filePathC, MAX_VPL_SEARCH_PATH, @@ -165,11 +195,22 @@ mfxStatus LoaderCtxVPL::SearchDirForLibs(STRING_TYPE searchDir, searchDir.c_str(), currFile->d_name); char* fullPath = realpath(filePathC, NULL); - if (!fullPath) { - // unknown error - skip it and move on to next file - delete libInfo; + + // unknown error - skip it and move on to next file + if (!fullPath) continue; - } + + // skip duplicates + auto libFound = + std::find_if(libInfoList.begin(), libInfoList.end(), [&](LibInfo* li) { + return (li->libNameFull == fullPath); + }); + if (libFound != libInfoList.end()) + continue; + + LibInfo* libInfo = new LibInfo; + if (!libInfo) + return MFX_ERR_MEMORY_ALLOC; libInfo->libNameFull = fullPath; libInfo->libPriority = priority; @@ -186,6 +227,67 @@ mfxStatus LoaderCtxVPL::SearchDirForLibs(STRING_TYPE searchDir, return MFX_ERR_NONE; } +// get legacy MSDK dispatcher search paths +// see "oneVPL Session" section in spec +mfxU32 LoaderCtxVPL::ParseLegacySearchPaths(std::list& searchDirs) { + searchDirs.clear(); + +#if defined(_WIN32) || defined(_WIN64) + mfxStatus sts = MFX_ERR_UNSUPPORTED; + STRING_TYPE msdkPath; + + // get path to Windows driver store + for (mfxU32 adapterID = 0; adapterID <= MAX_WINDOWS_ADAPTER_ID; adapterID++) { + msdkPath.clear(); + sts = MFX::MFXLibraryIterator::GetDriverStoreDir(msdkPath, MAX_VPL_SEARCH_PATH, adapterID); + if (sts == MFX_ERR_NONE) + searchDirs.push_back(msdkPath); + } + + // get path via dispatcher regkey - HKCU + msdkPath.clear(); + sts = MFX::MFXLibraryIterator::GetRegkeyDir(msdkPath, + MAX_VPL_SEARCH_PATH, + MFX::MFX_CURRENT_USER_KEY_ONEVPL); + if (sts == MFX_ERR_NONE) + searchDirs.push_back(msdkPath); + + // get path via dispatcher regkey - HKLM + msdkPath.clear(); + sts = MFX::MFXLibraryIterator::GetRegkeyDir(msdkPath, + MAX_VPL_SEARCH_PATH, + MFX::MFX_LOCAL_MACHINE_KEY_ONEVPL); + if (sts == MFX_ERR_NONE) + searchDirs.push_back(msdkPath); + + // get path to location of current executable + wchar_t implPath[MFX::msdk_disp_path_len]; + MFX::GetImplPath(MFX::MFX_APP_FOLDER, implPath); + STRING_TYPE exePath = implPath; + + // strip trailing backslach + size_t exePathLen = exePath.find_last_of(L"\\"); + if (exePathLen > 0) + exePath.erase(exePathLen); + + if (!exePath.empty()) + searchDirs.push_back(exePath); + +#else + // Linux + // Add the standard path for libmfx1 install in Ubuntu + searchDirs.push_back("/usr/lib/x86_64-linux-gnu"); + + // Add other legacy MSDK paths + searchDirs.push_back("/lib"); + searchDirs.push_back("/usr/lib"); + searchDirs.push_back("/lib64"); + searchDirs.push_back("/usr/lib64"); +#endif + + return (mfxU32)searchDirs.size(); +} + // search for implementations of oneAPI Video Processing Library (oneVPL) // according to the rules in the spec mfxStatus LoaderCtxVPL::BuildListOfCandidateLibs() { @@ -226,7 +328,13 @@ mfxStatus LoaderCtxVPL::BuildListOfCandidateLibs() { sts = SearchDirForLibs(m_vplPackageDir, m_libInfoList, LIB_PRIORITY_SYS_DEFAULT); // fifth priority: standalone MSDK/driver installation - sts = SearchDirForLibs(emptyPath, m_libInfoList, LIB_PRIORITY_MSDK_PACKAGE); + ParseLegacySearchPaths(m_legacySearchDirs); + it = m_legacySearchDirs.begin(); + while (it != m_legacySearchDirs.end()) { + STRING_TYPE nextDir = (*it); + sts = SearchDirForLibs(nextDir, m_libInfoList, LIB_PRIORITY_MSDK_PACKAGE); + it++; + } return sts; } @@ -238,60 +346,108 @@ mfxU32 LoaderCtxVPL::CheckValidLibraries() { while (it != m_libInfoList.end()) { mfxU32 i = 0; LibInfo* libInfo = (*it); + mfxStatus sts = MFX_ERR_NONE; -#if defined(_WIN32) || defined(_WIN64) // load DLL - libInfo->hModuleVPL = MFX::mfx_dll_load(libInfo->libNameFull.c_str()); + sts = LoadSingleLibrary(libInfo); // load video functions: pointers to exposed functions - if (libInfo->hModuleVPL) { + if (sts == MFX_ERR_NONE && libInfo->hModuleVPL) { for (i = 0; i < NumVPLFunctions; i += 1) { VPLFunctionPtr pProc = - (VPLFunctionPtr)MFX::mfx_dll_get_addr(libInfo->hModuleVPL, - FunctionDesc2[i].pName); - if (pProc) { + (VPLFunctionPtr)GetFunctionAddr(libInfo->hModuleVPL, FunctionDesc2[i].pName); + if (pProc) libInfo->vplFuncTable[i] = pProc; - } - else { - MFX::mfx_dll_free(libInfo->hModuleVPL); - break; - } } } -#else - // Linux - libInfo->hModuleVPL = dlopen(libInfo->libNameFull.c_str(), RTLD_LOCAL | RTLD_NOW); - if (libInfo->hModuleVPL) { - for (i = 0; i < NumVPLFunctions; i += 1) { - VPLFunctionPtr pProc = - (VPLFunctionPtr)dlsym(libInfo->hModuleVPL, FunctionDesc2[i].pName); + // all runtime libraries with API >= 2.0 must export MFXInitialize() + // validation of additional functions vs. API version takes place + // during UpdateValidImplList() since the minimum API version requested + // by application is not known yet (use SetConfigFilterProperty) + if (libInfo->vplFuncTable[IdxMFXInitialize]) { + libInfo->libType = LibTypeVPL; + it++; + continue; + } - if (pProc) { - libInfo->vplFuncTable[i] = pProc; - } - else { - dlclose(libInfo->hModuleVPL); + // not a valid 2.x runtime - check for 1.x API (legacy caps query) + if (sts == MFX_ERR_NONE && libInfo->hModuleVPL) { + for (i = 0; i < NumMSDKFunctions; i += 1) { + VPLFunctionPtr pProc = + (VPLFunctionPtr)GetFunctionAddr(libInfo->hModuleVPL, + MSDKCompatFunctions[i].pName); + if (pProc) + libInfo->msdkFuncTable[i] = pProc; + else break; - } } } -#endif - if (i == NumVPLFunctions) { + + // check if all of the required MSDK functions were found + if (i == NumMSDKFunctions) { + libInfo->libType = LibTypeMSDK; it++; + continue; } - else { - // required function is missing from DLL - // remove this library from the list of options - delete libInfo; - it = m_libInfoList.erase(it); - } + + // required functions missing from DLL, or DLL failed to load + // remove this library from the list of options + UnloadSingleLibrary(libInfo); + it = m_libInfoList.erase(it); } // number of valid oneVPL libs return (mfxU32)m_libInfoList.size(); } +VPLFunctionPtr LoaderCtxVPL::GetFunctionAddr(void* hModuleVPL, const char* pName) { + VPLFunctionPtr pProc = nullptr; + + if (hModuleVPL) { +#if defined(_WIN32) || defined(_WIN64) + pProc = (VPLFunctionPtr)MFX::mfx_dll_get_addr(hModuleVPL, pName); +#else + pProc = (VPLFunctionPtr)dlsym(hModuleVPL, pName); +#endif + } + + return pProc; +} + +// load single runtime +mfxStatus LoaderCtxVPL::LoadSingleLibrary(LibInfo* libInfo) { + if (!libInfo) + return MFX_ERR_NULL_PTR; + +#if defined(_WIN32) || defined(_WIN64) + libInfo->hModuleVPL = MFX::mfx_dll_load(libInfo->libNameFull.c_str()); +#else + libInfo->hModuleVPL = dlopen(libInfo->libNameFull.c_str(), RTLD_LOCAL | RTLD_NOW); +#endif + + if (!libInfo->hModuleVPL) + return MFX_ERR_NOT_FOUND; + + return MFX_ERR_NONE; +} + +// unload single runtime +mfxStatus LoaderCtxVPL::UnloadSingleLibrary(LibInfo* libInfo) { + if (libInfo && libInfo->hModuleVPL) { +#if defined(_WIN32) || defined(_WIN64) + MFX::mfx_dll_free(libInfo->hModuleVPL); +#else + dlclose(libInfo->hModuleVPL); +#endif + delete libInfo; + return MFX_ERR_NONE; + } + else { + return MFX_ERR_INVALID_HANDLE; + } +} + // iterate over all implementation runtimes // unload DLL's and free memory mfxStatus LoaderCtxVPL::UnloadAllLibraries() { @@ -300,30 +456,18 @@ mfxStatus LoaderCtxVPL::UnloadAllLibraries() { ImplInfo* implInfo = (*it2); if (implInfo) { - // call MFXReleaseImplDescription() for this implementation if it - // was never called by application - if (implInfo->implDesc) { - LibInfo* libInfo = implInfo->libInfo; - VPLFunctionPtr pFunc = libInfo->vplFuncTable[IdxMFXReleaseImplDescription]; - (*(mfxStatus(MFX_CDECL*)(mfxHDL))pFunc)(implInfo->implDesc); - } - - delete implInfo; + UnloadSingleImplementation(implInfo); } it2++; } + // lastly, unload and destroy LibInfo for each library std::list::iterator it = m_libInfoList.begin(); while (it != m_libInfoList.end()) { LibInfo* libInfo = (*it); if (libInfo) { -#if defined(_WIN32) || defined(_WIN64) - MFX::mfx_dll_free(libInfo->hModuleVPL); -#else - dlclose(libInfo->hModuleVPL); -#endif - delete libInfo; + UnloadSingleLibrary(libInfo); } it++; } @@ -331,28 +475,154 @@ mfxStatus LoaderCtxVPL::UnloadAllLibraries() { return MFX_ERR_NONE; } +// unload single implementation +// each runtime library may contain 1 or more implementations +mfxStatus LoaderCtxVPL::UnloadSingleImplementation(ImplInfo* implInfo) { + if (implInfo && implInfo->libInfo) { + LibInfo* libInfo = implInfo->libInfo; + VPLFunctionPtr pFunc = libInfo->vplFuncTable[IdxMFXReleaseImplDescription]; + + // call MFXReleaseImplDescription() for this implementation if it + // was never called by the application + // this is a valid scenario, e.g. app did not call MFXEnumImplementations() + // and just used the first available implementation provided by dispatcher + if (libInfo->libType == LibTypeVPL) { + if (implInfo->implDesc) { + // MFX_IMPLCAPS_IMPLDESCSTRUCTURE; + (*(mfxStatus(MFX_CDECL*)(mfxHDL))pFunc)(implInfo->implDesc); + implInfo->implDesc = nullptr; + } + + if (implInfo->implFuncs) { + // MFX_IMPLCAPS_IMPLEMENTEDFUNCTIONS; + (*(mfxStatus(MFX_CDECL*)(mfxHDL))pFunc)(implInfo->implFuncs); + implInfo->implFuncs = nullptr; + } + } + delete implInfo; + return MFX_ERR_NONE; + } + else { + return MFX_ERR_INVALID_HANDLE; + } +} + +// check that all functions for this API version are available in library +mfxStatus LoaderCtxVPL::ValidateAPIExports(VPLFunctionPtr* vplFuncTable, + mfxVersion reportedVersion) { + for (mfxU32 i = 0; i < NumVPLFunctions; i += 1) { + if (!vplFuncTable[i] && (FunctionDesc2[i].apiVersion.Version <= reportedVersion.Version)) + return MFX_ERR_UNSUPPORTED; + } + + return MFX_ERR_NONE; +} + // query capabilities of all valid libraries // and add to list for future calls to EnumImplementations() // as well as filtering by functionality // assume MFX_IMPLCAPS_IMPLDESCSTRUCTURE is the only format supported mfxStatus LoaderCtxVPL::QueryLibraryCaps() { + mfxStatus sts = MFX_ERR_NONE; + std::list::iterator it = m_libInfoList.begin(); while (it != m_libInfoList.end()) { - mfxU32 num_impls = 0; LibInfo* libInfo = (*it); - VPLFunctionPtr pFunc = libInfo->vplFuncTable[IdxMFXQueryImplsDescription]; + if (libInfo->libType == LibTypeVPL) { + VPLFunctionPtr pFunc = libInfo->vplFuncTable[IdxMFXQueryImplsDescription]; + + // call MFXQueryImplsDescription() for this implementation + // return handle to description in requested format + mfxHDL* hImpl; + mfxU32 numImpls = 0; + hImpl = (*(mfxHDL * (MFX_CDECL*)(mfxImplCapsDeliveryFormat, mfxU32*)) + pFunc)(MFX_IMPLCAPS_IMPLDESCSTRUCTURE, &numImpls); + + if (!hImpl) { + // the required function is implemented incorrectly + // remove this library from the list of valid libraries + UnloadSingleLibrary(libInfo); + it = m_libInfoList.erase(it); + continue; + } + + // query for list of implemented functions + // prior to API 2.2, this will return null since the format was not defined yet + // so we need to check whether the returned handle is valid before attempting to use it + mfxHDL* hImplFuncs = nullptr; + mfxU32 numImplsFuncs = 0; + hImplFuncs = (*(mfxHDL * (MFX_CDECL*)(mfxImplCapsDeliveryFormat, mfxU32*)) + pFunc)(MFX_IMPLCAPS_IMPLEMENTEDFUNCTIONS, &numImplsFuncs); + + for (mfxU32 i = 0; i < numImpls; i++) { + ImplInfo* implInfo = new ImplInfo; + if (!implInfo) + return MFX_ERR_MEMORY_ALLOC; - // call MFXQueryImplsDescription() for this implementation - // return handle to description in requested format - mfxHDL* hImpl; - hImpl = (*(mfxHDL * (MFX_CDECL*)(mfxImplCapsDeliveryFormat, mfxU32*)) - pFunc)(MFX_IMPLCAPS_IMPLDESCSTRUCTURE, &num_impls); + // library which contains this implementation + implInfo->libInfo = libInfo; - if (!hImpl) - return MFX_ERR_UNSUPPORTED; + // implementation descriptor returned from runtime + implInfo->implDesc = hImpl[i]; + + // implemented function description, if available + if (hImplFuncs && i < numImplsFuncs) + implInfo->implFuncs = hImplFuncs[i]; + + // fill out mfxInitParam struct for when we call MFXInitEx + // in CreateSession() + mfxImplDescription* implDesc = reinterpret_cast(hImpl[i]); + + // fill out mfxInitializationParam for use in CreateSession (MFXInitialize path) + memset(&(implInfo->vplParam), 0, sizeof(mfxInitializationParam)); + + // default mode for this impl + // this may be changed later by MFXSetConfigFilterProperty(AccelerationMode) + implInfo->vplParam.AccelerationMode = implDesc->AccelerationMode; + + implInfo->version = implDesc->ApiVersion; + + // save local index for this library + implInfo->libImplIdx = i; + + // validate that library exports all required functions for the reported API version + if (ValidateAPIExports(libInfo->vplFuncTable, implInfo->version)) { + UnloadSingleImplementation(implInfo); + continue; + } + + // initially all libraries have a valid, sequential value (>= 0) + // list of valid libraries is updated with every call to MFXSetConfigFilterProperty() + // (see UpdateValidImplList) + // libraries that do not support all the required props get a value of -1, and + // indexing of the valid libs is recalculated from 0,1,... + implInfo->validImplIdx = m_implIdxNext++; + + // add implementation to overall list + m_implInfoList.push_back(implInfo); + } + } + else if (libInfo->libType == LibTypeMSDK) { + mfxImplDescription* implDesc = nullptr; + mfxImplementedFunctions* implFuncs = nullptr; + + libInfo->msdkCtx = new LoaderCtxMSDK; + if (!libInfo->msdkCtx) + return MFX_ERR_MEMORY_ALLOC; + + sts = libInfo->msdkCtx->QueryMSDKCaps(libInfo->libNameFull, + &implDesc, + &implFuncs, + &libInfo->msdkCtx->msdkAdapter); + + if (sts || !implDesc || !implFuncs) { + // error loading MSDK library in compatibility mode - remove from list + UnloadSingleLibrary(libInfo); + it = m_libInfoList.erase(it); + continue; + } - for (mfxU32 i = 0; i < num_impls; i++) { ImplInfo* implInfo = new ImplInfo; if (!implInfo) return MFX_ERR_MEMORY_ALLOC; @@ -361,28 +631,29 @@ mfxStatus LoaderCtxVPL::QueryLibraryCaps() { implInfo->libInfo = libInfo; // implementation descriptor returned from runtime - implInfo->implDesc = hImpl[i]; + implInfo->implDesc = implDesc; - // fill out mfxInitParam struct for when we call MFXInitEx - // in CreateSession() - mfxImplDescription* implDesc = reinterpret_cast(hImpl[i]); + // implemented function description, if available + implInfo->implFuncs = implFuncs; - memset(&(implInfo->initPar), 0, sizeof(mfxInitParam)); - implInfo->initPar.Version = implDesc->ApiVersion; - implInfo->initPar.Implementation = implDesc->Impl; + // fill out mfxInitializationParam for use in CreateSession (MFXInitialize path) + memset(&(implInfo->vplParam), 0, sizeof(mfxInitializationParam)); - // save local index for this library - implInfo->libImplIdx = i; + // default mode for this impl + // this may be changed later by MFXSetConfigFilterProperty(AccelerationMode) + implInfo->vplParam.AccelerationMode = implDesc->AccelerationMode; + + implInfo->version = implDesc->ApiVersion; - // assign unique index to each implementation - implInfo->vplImplIdx = m_implIdxNext++; + // save local index for this library + implInfo->libImplIdx = 0; // initially all libraries have a valid, sequential value (>= 0) // list of valid libraries is updated with every call to MFXSetConfigFilterProperty() // (see UpdateValidImplList) // libraries that do not support all the required props get a value of -1, and // indexing of the valid libs is recalculated from 0,1,... - implInfo->validImplIdx = implInfo->vplImplIdx; + implInfo->validImplIdx = m_implIdxNext++; // add implementation to overall list m_implInfoList.push_back(implInfo); @@ -390,20 +661,58 @@ mfxStatus LoaderCtxVPL::QueryLibraryCaps() { it++; } - return MFX_ERR_NONE; + if (!m_implInfoList.empty()) { + std::list::iterator it2 = m_implInfoList.begin(); + while (it2 != m_implInfoList.end()) { + ImplInfo* implInfo = (*it2); + + // per spec: if both VPL (HW) and MSDK are installed on the same system, only load + // the VPL library (mark MSDK as invalid) + if (implInfo->libInfo->libType == LibTypeMSDK) { + auto vplIdx = std::find_if( + m_implInfoList.begin(), + m_implInfoList.end(), + + [](const ImplInfo* t) { + mfxImplDescription* implDesc = (mfxImplDescription*)(t->implDesc); + + return (t->libInfo->libType == LibTypeVPL && implDesc != nullptr && + implDesc->Impl == MFX_IMPL_TYPE_HARDWARE); + }); + + if (vplIdx != m_implInfoList.end()) + implInfo->validImplIdx = -1; + } + + it2++; + } + + // sort valid implementations according to priority rules in spec + PrioritizeImplList(); + } + + return m_implInfoList.empty() ? MFX_ERR_UNSUPPORTED : MFX_ERR_NONE; } // query implementation i mfxStatus LoaderCtxVPL::QueryImpl(mfxU32 idx, mfxImplCapsDeliveryFormat format, mfxHDL* idesc) { - if (format != MFX_IMPLCAPS_IMPLDESCSTRUCTURE) - return MFX_ERR_UNSUPPORTED; + *idesc = nullptr; std::list::iterator it = m_implInfoList.begin(); while (it != m_implInfoList.end()) { ImplInfo* implInfo = (*it); + if (implInfo->validImplIdx == (mfxI32)idx) { + if (format == MFX_IMPLCAPS_IMPLDESCSTRUCTURE) { + *idesc = implInfo->implDesc; + } + else if (format == MFX_IMPLCAPS_IMPLEMENTEDFUNCTIONS) { + *idesc = implInfo->implFuncs; + } + + // implementation found, but requested query format is not supported + if (*idesc == nullptr) + return MFX_ERR_UNSUPPORTED; - if (implInfo->validImplIdx == idx) { - *idesc = implInfo->implDesc; return MFX_ERR_NONE; } it++; @@ -424,21 +733,46 @@ mfxStatus LoaderCtxVPL::ReleaseImpl(mfxHDL idesc) { // through the full list until we find a match std::list::iterator it = m_implInfoList.begin(); while (it != m_implInfoList.end()) { - ImplInfo* implInfo = (*it); + ImplInfo* implInfo = (*it); + mfxImplCapsDeliveryFormat capsFormat = (mfxImplCapsDeliveryFormat)0; // unknown format + // determine type of descriptor so we know which handle to + // invalidate in the Loader context if (implInfo->implDesc == idesc) { - LibInfo* libInfo = implInfo->libInfo; + capsFormat = MFX_IMPLCAPS_IMPLDESCSTRUCTURE; + } + else if (implInfo->implFuncs == idesc) { + capsFormat = MFX_IMPLCAPS_IMPLEMENTEDFUNCTIONS; + } + else { + // no match - try next implementation + it++; + continue; + } - VPLFunctionPtr pFunc = libInfo->vplFuncTable[IdxMFXReleaseImplDescription]; + // if true, do not actually call ReleaseImplDescription() until + // MFXUnload() --> UnloadAllLibraries() + // this permits the application to call Enum/CreateSession/DispRelease multiple + // times on the same implementation + if (m_bKeepCapsUntilUnload) + return MFX_ERR_NONE; + // LibTypeMSDK does not require calling a release function + if (implInfo->libInfo->libType == LibTypeVPL) { // call MFXReleaseImplDescription() for this implementation - sts = (*(mfxStatus(MFX_CDECL*)(mfxHDL))pFunc)(implInfo->implDesc); - - implInfo->implDesc = nullptr; // no longer valid + VPLFunctionPtr pFunc = implInfo->libInfo->vplFuncTable[IdxMFXReleaseImplDescription]; - return MFX_ERR_NONE; + if (capsFormat == MFX_IMPLCAPS_IMPLDESCSTRUCTURE) { + sts = (*(mfxStatus(MFX_CDECL*)(mfxHDL))pFunc)(implInfo->implDesc); + implInfo->implDesc = nullptr; + } + else if (capsFormat == MFX_IMPLCAPS_IMPLEMENTEDFUNCTIONS) { + sts = (*(mfxStatus(MFX_CDECL*)(mfxHDL))pFunc)(implInfo->implFuncs); + implInfo->implFuncs = nullptr; + } } - it++; + + return sts; } // did not find a matching handle - should not happen @@ -456,9 +790,18 @@ mfxStatus LoaderCtxVPL::UpdateValidImplList(void) { while (it != m_implInfoList.end()) { ImplInfo* implInfo = (*it); + // already invalidated by previous filter + if (implInfo->validImplIdx == -1) { + it++; + continue; + } + // compare caps from this library vs. config filters - sts = - ConfigCtxVPL::ValidateConfig((mfxImplDescription*)implInfo->implDesc, m_configCtxList); + sts = ConfigCtxVPL::ValidateConfig((mfxImplDescription*)implInfo->implDesc, + (mfxImplementedFunctions*)implInfo->implFuncs, + m_configCtxList, + implInfo->libInfo->libType, + &m_specialConfig); if (sts == MFX_ERR_NONE) { // library supports all required properties @@ -473,6 +816,62 @@ mfxStatus LoaderCtxVPL::UpdateValidImplList(void) { it++; } + // re-sort valid implementations according to priority rules in spec + PrioritizeImplList(); + + return MFX_ERR_NONE; +} + +// From specification section "oneVPL Session": +// +// When the dispatcher searches for the implementation, it uses the following priority rules +// 1) Hardware implementation has priority over software implementation. +// 2) General hardware implementation has priority over VSI hardware implementation. +// 3) Highest API version has higher priority over lower API version. +mfxStatus LoaderCtxVPL::PrioritizeImplList(void) { + // stable sort - work from lowest to highest priority conditions + + // 3 - sort by API version + m_implInfoList.sort([](const ImplInfo* impl1, const ImplInfo* impl2) { + mfxImplDescription* implDesc1 = (mfxImplDescription*)(impl1->implDesc); + mfxImplDescription* implDesc2 = (mfxImplDescription*)(impl2->implDesc); + + // prioritize greatest API version + return (implDesc1->ApiVersion.Version > implDesc2->ApiVersion.Version); + }); + + // 2 - sort by general HW vs. VSI + m_implInfoList.sort([](const ImplInfo* impl1, const ImplInfo* impl2) { + mfxImplDescription* implDesc1 = (mfxImplDescription*)(impl1->implDesc); + mfxImplDescription* implDesc2 = (mfxImplDescription*)(impl2->implDesc); + + // prioritize general HW accelerator over VSI (if none, i.e. SW, will be sorted in final step) + return (implDesc1->AccelerationMode != MFX_ACCEL_MODE_VIA_HDDLUNITE && + implDesc2->AccelerationMode == MFX_ACCEL_MODE_VIA_HDDLUNITE); + }); + + // 1 - sort by implementation type (HW > SW) + m_implInfoList.sort([](const ImplInfo* impl1, const ImplInfo* impl2) { + mfxImplDescription* implDesc1 = (mfxImplDescription*)(impl1->implDesc); + mfxImplDescription* implDesc2 = (mfxImplDescription*)(impl2->implDesc); + + // prioritize greatest Impl value (HW = 2, SW = 1) + return (implDesc1->Impl > implDesc2->Impl); + }); + + // final pass - update index to match new priority order + // validImplIdx will be the index associated with MFXEnumImplememntations() + mfxI32 validImplIdx = 0; + std::list::iterator it = m_implInfoList.begin(); + while (it != m_implInfoList.end()) { + ImplInfo* implInfo = (*it); + + if (implInfo->validImplIdx >= 0) { + implInfo->validImplIdx = validImplIdx++; + } + it++; + } + return MFX_ERR_NONE; } @@ -486,15 +885,42 @@ mfxStatus LoaderCtxVPL::CreateSession(mfxU32 idx, mfxSession* session) { while (it != m_implInfoList.end()) { ImplInfo* implInfo = (*it); - if (implInfo->validImplIdx == idx) { + if (implInfo->validImplIdx == (mfxI32)idx) { LibInfo* libInfo = implInfo->libInfo; + mfxU16 deviceID = 0; if (sts == MFX_ERR_NONE) { - // initialize this library via MFXInitEx, or else fail + // pass VendorImplID for this implementation (disambiguate if one + // library contains multiple implementations) + mfxImplDescription* implDesc = (mfxImplDescription*)(implInfo->implDesc); + + // should not happen in normal circumstances, but avoid using nullptr if something went wrong + if (!implDesc) + return MFX_ERR_NULL_PTR; + + implInfo->vplParam.VendorImplID = implDesc->VendorImplID; + + // set any special parameters passed in via SetConfigProperty + if (m_specialConfig.accelerationMode) + implInfo->vplParam.AccelerationMode = m_specialConfig.accelerationMode; + + // initialize this library via MFXInitialize or else fail // (specify full path to library) - sts = MFXInitEx2(implInfo->initPar, - session, - (CHAR_TYPE*)libInfo->libNameFull.c_str()); + sts = MFXInitEx2( + implInfo->version, + implInfo->vplParam, + (libInfo->libType == LibTypeMSDK ? libInfo->msdkCtx->msdkAdapter : 0), + session, + &deviceID, + (CHAR_TYPE*)libInfo->libNameFull.c_str()); + } + + // optionally call MFXSetHandle() if present via SetConfigProperty + if (sts == MFX_ERR_NONE && m_specialConfig.deviceHandleType && + m_specialConfig.deviceHandle) { + sts = MFXVideoCORE_SetHandle(*session, + m_specialConfig.deviceHandleType, + m_specialConfig.deviceHandle); } return sts; diff --git a/dispatcher/vpl/mfx_dispatcher_vpl_msdk.cpp b/dispatcher/vpl/mfx_dispatcher_vpl_msdk.cpp new file mode 100644 index 00000000..5d622d8c --- /dev/null +++ b/dispatcher/vpl/mfx_dispatcher_vpl_msdk.cpp @@ -0,0 +1,388 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "vpl/mfx_dispatcher_vpl.h" + +#ifdef __linux__ + #include + #define strncpy_s(dst, size, src, cnt) strcpy((dst), (src)) // NOLINT +#endif + +// leave table formatting alone +// clang-format off + +static const mfxChar strImplName[MFX_IMPL_NAME_LEN] = "MSDK RT (compatibility mode)"; +static const mfxChar strLicense[MFX_STRFIELD_LEN] = "MIT"; + +#if defined _M_IX86 +static const mfxChar strKeywords[MFX_STRFIELD_LEN] = "MSDK,x86"; +#else +static const mfxChar strKeywords[MFX_STRFIELD_LEN] = "MSDK,x64"; +#endif + +static const mfxAccelerationMode MSDKAccelModes[] = { +#ifdef __linux__ + MFX_ACCEL_MODE_VIA_VAAPI, +#else + MFX_ACCEL_MODE_VIA_D3D9, + MFX_ACCEL_MODE_VIA_D3D11, +#endif +}; + +// 1.x function names should match list in enum eFunc +static const mfxChar* msdkImplFuncsNames[] = { + "MFXInit", + "MFXClose", + "MFXQueryIMPL", + "MFXQueryVersion", + "MFXJoinSession", + "MFXDisjoinSession", + "MFXCloneSession", + "MFXSetPriority", + "MFXGetPriority", + "MFXInitEx", + "MFXVideoCORE_SetFrameAllocator", + "MFXVideoCORE_SetHandle", + "MFXVideoCORE_GetHandle", + "MFXVideoCORE_SyncOperation", + "MFXVideoENCODE_Query", + "MFXVideoENCODE_QueryIOSurf", + "MFXVideoENCODE_Init", + "MFXVideoENCODE_Reset", + "MFXVideoENCODE_Close", + "MFXVideoENCODE_GetVideoParam", + "MFXVideoENCODE_GetEncodeStat", + "MFXVideoENCODE_EncodeFrameAsync", + "MFXVideoDECODE_Query", + "MFXVideoDECODE_DecodeHeader", + "MFXVideoDECODE_QueryIOSurf", + "MFXVideoDECODE_Init", + "MFXVideoDECODE_Reset", + "MFXVideoDECODE_Close", + "MFXVideoDECODE_GetVideoParam", + "MFXVideoDECODE_GetDecodeStat", + "MFXVideoDECODE_SetSkipMode", + "MFXVideoDECODE_GetPayload", + "MFXVideoDECODE_DecodeFrameAsync", + "MFXVideoVPP_Query", + "MFXVideoVPP_QueryIOSurf", + "MFXVideoVPP_Init", + "MFXVideoVPP_Reset", + "MFXVideoVPP_Close", + "MFXVideoVPP_GetVideoParam", + "MFXVideoVPP_GetVPPStat", + "MFXVideoVPP_RunFrameVPPAsync", + "MFXVideoCORE_QueryPlatform", +}; + +static const mfxImplementedFunctions msdkImplFuncs = { + sizeof(msdkImplFuncsNames) / sizeof(mfxChar*), + (mfxChar**)msdkImplFuncsNames +}; + +// end table formatting +// clang-format on + +static const mfxIMPL hwImplTypes[] = { + MFX_IMPL_HARDWARE, + MFX_IMPL_HARDWARE2, + MFX_IMPL_HARDWARE3, + MFX_IMPL_HARDWARE4, +}; + +LoaderCtxMSDK::LoaderCtxMSDK() + : msdkAdapter(), + m_libNameFull(), + m_id(), + m_accelMode(), + m_loaderDeviceID(0) {} + +LoaderCtxMSDK::~LoaderCtxMSDK() {} + +mfxStatus LoaderCtxMSDK::OpenSession(mfxSession* session, + STRING_TYPE libNameFull, + mfxAccelerationMode accelMode, + mfxIMPL hwImpl) { + // require API 1.0 or later (both MFXInit and MFXInitEx supported) + mfxVersion reqVersion; + reqVersion.Major = MSDK_MIN_VERSION_MAJOR; + reqVersion.Minor = MSDK_MIN_VERSION_MINOR; + + // set acceleration mode - will be mapped to 1.x API + mfxInitializationParam vplParam = {}; + vplParam.AccelerationMode = accelMode; + + return MFXInitEx2(reqVersion, + vplParam, + hwImpl, + session, + &m_loaderDeviceID, + (CHAR_TYPE*)libNameFull.c_str()); +} + +// safe to call more than once (sets/checks for null session) +void LoaderCtxMSDK::CloseSession(mfxSession* session) { + if (*session) + MFXClose(*session); + + *session = nullptr; +} + +// map mfxIMPL (1.x) to mfxAccelerationMode (2.x) +mfxAccelerationMode LoaderCtxMSDK::CvtAccelType(mfxIMPL implType, mfxIMPL implMethod) { + if (implType == MFX_IMPL_HARDWARE) { + switch (implMethod) { + case MFX_IMPL_VIA_D3D9: + return MFX_ACCEL_MODE_VIA_D3D9; + case MFX_IMPL_VIA_D3D11: + return MFX_ACCEL_MODE_VIA_D3D11; + case MFX_IMPL_VIA_VAAPI: + return MFX_ACCEL_MODE_VIA_VAAPI; + } + } + + return MFX_ACCEL_MODE_NA; +} + +mfxStatus LoaderCtxMSDK::GetDefaultAccelType(mfxU32 adapterID, mfxIMPL* implDefault) { +#ifdef __linux__ + // VAAPI only + *implDefault = MFX_IMPL_VIA_VAAPI; + return MFX_ERR_NONE; +#else + // get default acceleration modes + mfxU32 VendorID = 0, DeviceID = 0; + mfxIMPL implTest; + mfxStatus sts; + + implTest = MFX_IMPL_VIA_ANY; + sts = MFX::SelectImplementationType(adapterID, &implTest, &VendorID, &DeviceID); + + if (sts != MFX_ERR_NONE || VendorID != 0x8086) { + implTest = MFX_IMPL_UNSUPPORTED; + return MFX_ERR_UNSUPPORTED; + } + + *implDefault = implTest; + + return MFX_ERR_NONE; +#endif +} + +mfxStatus LoaderCtxMSDK::CheckAccelType(mfxU32 adapterID, mfxIMPL implTest) { +#ifdef __linux__ + // VAAPI only + if (implTest != MFX_IMPL_VIA_VAAPI) + return MFX_ERR_UNSUPPORTED; + + return MFX_ERR_NONE; +#else + // get default acceleration modes + mfxU32 VendorID = 0, DeviceID = 0; + mfxStatus sts; + + sts = MFX::SelectImplementationType(adapterID, &implTest, &VendorID, &DeviceID); + + if (sts != MFX_ERR_NONE || VendorID != 0x8086) + return MFX_ERR_UNSUPPORTED; + + return MFX_ERR_NONE; +#endif +} + +mfxStatus LoaderCtxMSDK::QueryMSDKCaps(STRING_TYPE libNameFull, + mfxImplDescription** implDesc, + mfxImplementedFunctions** implFuncs, + mfxIMPL* msdkAdapter) { + mfxStatus sts; + mfxSession session; + + m_libNameFull = libNameFull; + + mfxIMPL msdkImplType = MFX_IMPL_UNSUPPORTED; + *msdkAdapter = MFX_IMPL_UNSUPPORTED; + +#ifdef __linux__ + // require pthreads to be linked in for MSDK RT to load + pthread_key_t pkey; + if (pthread_key_create(&pkey, NULL) == 0) { + pthread_key_delete(pkey); + } +#endif + + // try HW session, default acceleration mode, search for first supported device + mfxIMPL hwImpl = MFX_IMPL_AUTO; + mfxIMPL implDefault = MFX_IMPL_UNSUPPORTED; + for (mfxU32 i = 0; i < TAB_SIZE(mfxIMPL, hwImplTypes); i++) { + hwImpl = hwImplTypes[i]; + + sts = GetDefaultAccelType(i, &implDefault); + if (sts != MFX_ERR_NONE) { + // unsupported + continue; + } + + sts = + OpenSession(&session, + m_libNameFull, + (mfxAccelerationMode)CvtAccelType(MFX_IMPL_HARDWARE, implDefault & 0xFF00), + hwImpl); + + if (sts == MFX_ERR_NONE) { + // hwImpl now indicates which adapter succeeded + msdkImplType = MFX_IMPL_HARDWARE; + break; + } + } + +#ifdef ENABLE_MSDK_SW_FALLBACK + // if HW failed, try SW session + if (msdkImplType == MFX_IMPL_UNSUPPORTED) { + sts = OpenSession(&session, m_libNameFull, MFX_ACCEL_MODE_NA, MFX_IMPL_SOFTWARE); + if (sts == MFX_ERR_NONE) { + msdkImplType = MFX_IMPL_SOFTWARE; + } + } +#endif + + // failed to initialize with any impl type + if (msdkImplType == MFX_IMPL_UNSUPPORTED) + return MFX_ERR_UNSUPPORTED; + + // failed to initialize with any impl type + if (sts != MFX_ERR_NONE) + return sts; + + // return list of implemented functions + *implFuncs = (mfxImplementedFunctions*)(&msdkImplFuncs); + + // clear new 2.0 style description struct + memset(&m_id, 0, sizeof(mfxImplDescription)); + *implDesc = &m_id; + + // fill in top-level capabilities + m_id.Version.Version = MFX_IMPLDESCRIPTION_VERSION; + + // query API version + sts = MFXQueryVersion(session, &m_id.ApiVersion); + if (sts != MFX_ERR_NONE) + return sts; + + // fill in acceleration description struct + mfxAccelerationModeDescription* accelDesc = &(m_id.AccelerationModeDescription); + accelDesc->Version.Version = MFX_ACCELERATIONMODESCRIPTION_VERSION; + accelDesc->NumAccelerationModes = 0; + accelDesc->Mode = m_accelMode; + + if (msdkImplType == MFX_IMPL_HARDWARE) { + // query actual implementation for this session + mfxIMPL actualImpl = {}; + sts = MFXQueryIMPL(session, &actualImpl); + if (sts != MFX_ERR_NONE) + return sts; + + // return HW accelerator - required by MFXCreateSession + *msdkAdapter = hwImpl; + + // map MFX HW number to VendorImplID + m_id.VendorImplID = 0; + switch (hwImpl) { + case MFX_IMPL_HARDWARE: + m_id.VendorImplID = 0; + break; + case MFX_IMPL_HARDWARE2: + m_id.VendorImplID = 1; + break; + case MFX_IMPL_HARDWARE3: + m_id.VendorImplID = 2; + break; + case MFX_IMPL_HARDWARE4: + m_id.VendorImplID = 3; + break; + } + + // set default acceleration mode + m_id.AccelerationMode = CvtAccelType(MFX_IMPL_HARDWARE, implDefault & 0xFF00); + + CloseSession(&session); + + // hardware - test for all supported acceleration modes + m_id.Impl = MFX_IMPL_TYPE_HARDWARE; + for (mfxU32 i = 0; i < TAB_SIZE(mfxAccelerationMode, MSDKAccelModes); i++) { + // check if this accelerator type is supported + if (CheckAccelType(m_id.VendorImplID, MSDKAccelModes[i]) != MFX_ERR_NONE) + continue; + + sts = OpenSession(&session, m_libNameFull, MSDKAccelModes[i], hwImpl); + + if (sts == MFX_ERR_NONE) { + mfxU16 m = accelDesc->NumAccelerationModes; + + accelDesc->Mode[m] = MSDKAccelModes[i]; + accelDesc->NumAccelerationModes++; + + CloseSession(&session); + } + } + + // at least one acceleration mode must be supported + if (accelDesc->NumAccelerationModes == 0) + return MFX_ERR_UNSUPPORTED; + + // if QueryIMPL did not set VIA flag, set default to first supported mode + if (!m_id.AccelerationMode) + m_id.AccelerationMode = accelDesc->Mode[0]; + + // reopen session with default mode + sts = OpenSession(&session, m_libNameFull, m_id.AccelerationMode, hwImpl); + if (sts != MFX_ERR_NONE) + return sts; + } + else { + // software - set default accel mode + m_id.Impl = MFX_IMPL_TYPE_SOFTWARE; + m_id.AccelerationMode = MFX_ACCEL_MODE_NA; + m_id.VendorImplID = 0; + + accelDesc->NumAccelerationModes = 1; + accelDesc->Mode[0] = MFX_ACCEL_MODE_NA; + } + + // fill in strings + strncpy_s(m_id.ImplName, sizeof(m_id.ImplName), strImplName, sizeof(strImplName)); + strncpy_s(m_id.License, sizeof(m_id.License), strLicense, sizeof(strLicense)); + strncpy_s(m_id.Keywords, sizeof(m_id.Keywords), strKeywords, sizeof(strKeywords)); + + m_id.VendorID = 0x8086; + m_id.NumExtParam = 0; + + // fill in device description + mfxDeviceDescription* Dev = &(m_id.Dev); + memset(Dev, 0, sizeof(mfxDeviceDescription)); // initially empty + + // query for underlying deviceID (requires API >= 1.19) + mfxU16 deviceID = 0x0000; + if (IsVersionSupported(MAKE_MFX_VERSION(1, 19), m_id.ApiVersion)) { + mfxPlatform platform = {}; + + sts = MFXVideoCORE_QueryPlatform(session, &platform); + if (sts == MFX_ERR_NONE) + deviceID = platform.DeviceId; + } + + // if QueryPlatform did not return deviceID, we may have received + // it from the loader (MFXInitEx2) + if (deviceID == 0) + deviceID = m_loaderDeviceID; + + Dev->Version.Version = MFX_DEVICEDESCRIPTION_VERSION; + snprintf(Dev->DeviceID, sizeof(Dev->DeviceID), "%04x", deviceID); + Dev->NumSubDevices = 0; + + CloseSession(&session); + + return MFX_ERR_NONE; +} diff --git a/dispatcher/windows/libmfx.def b/dispatcher/windows/libmfx.def index 6d73b2bd..c924a807 100644 --- a/dispatcher/windows/libmfx.def +++ b/dispatcher/windows/libmfx.def @@ -49,6 +49,10 @@ EXPORTS MFXInitEx + MFXQueryAdapters + MFXQueryAdaptersNumber + MFXQueryAdaptersDecode + MFXLoad MFXUnload MFXCreateConfig @@ -60,3 +64,13 @@ EXPORTS MFXMemory_GetSurfaceForVPP MFXMemory_GetSurfaceForEncode MFXMemory_GetSurfaceForDecode + + MFXMemory_GetSurfaceForVPPOut + MFXVideoDECODE_VPP_Init + MFXVideoDECODE_VPP_DecodeFrameAsync + MFXVideoDECODE_VPP_Reset + MFXVideoDECODE_VPP_GetChannelParam + MFXVideoDECODE_VPP_Close + MFXVideoVPP_ProcessFrameAsync + + diff --git a/dispatcher/windows/main.cpp b/dispatcher/windows/main.cpp index f54dff9b..da2d7fd3 100644 --- a/dispatcher/windows/main.cpp +++ b/dispatcher/windows/main.cpp @@ -49,13 +49,6 @@ const struct { { MFX_LIB_HARDWARE, MFX_IMPL_HARDWARE4, 3 }, { MFX_LIB_SOFTWARE, MFX_IMPL_SOFTWARE, 0 }, { MFX_LIB_SOFTWARE, MFX_IMPL_SOFTWARE, 0 }, // unused - was MFX_IMPL_AUDIO -#if (MFX_VERSION >= MFX_VERSION_NEXT) - //MFX_SINGLE_THREAD case - { MFX_LIB_HARDWARE, MFX_IMPL_HARDWARE | MFX_IMPL_EXTERNAL_THREADING, 0 }, - { MFX_LIB_HARDWARE, MFX_IMPL_HARDWARE2 | MFX_IMPL_EXTERNAL_THREADING, 1 }, - { MFX_LIB_HARDWARE, MFX_IMPL_HARDWARE3 | MFX_IMPL_EXTERNAL_THREADING, 2 }, - { MFX_LIB_HARDWARE, MFX_IMPL_HARDWARE4 | MFX_IMPL_EXTERNAL_THREADING, 3 }, -#endif }; const struct { @@ -74,9 +67,6 @@ const struct { { 4, 4 }, // MFX_IMPL_HARDWARE3 { 5, 5 }, // MFX_IMPL_HARDWARE4 { 2, 6 }, // MFX_IMPL_RUNTIME, same as MFX_IMPL_HARDWARE_ANY -#if (MFX_VERSION >= MFX_VERSION_NEXT) - { 8, 11 }, // MFX_SINGLE_THREAD, -#endif }; MFX::mfxCriticalSection dispGuard = 0; @@ -93,7 +83,7 @@ using namespace MFX; // All other functions are implemented implicitly. // -typedef MFXVector HandleVector; +typedef MFXVector HandleVector; typedef MFXVector StatusVector; struct VectorHandleGuard { @@ -111,10 +101,29 @@ struct VectorHandleGuard { void operator=(const VectorHandleGuard &); }; -int HandleSort(const void *plhs, const void *prhs) { - const MFX_DISP_HANDLE *lhs = *(const MFX_DISP_HANDLE **)plhs; - const MFX_DISP_HANDLE *rhs = *(const MFX_DISP_HANDLE **)prhs; +static int HandleSort(const void *plhs, const void *prhs) { + const MFX_DISP_HANDLE_EX *lhs = *(const MFX_DISP_HANDLE_EX **)plhs; + const MFX_DISP_HANDLE_EX *rhs = *(const MFX_DISP_HANDLE_EX **)prhs; + + // prefer HW implementation + if (lhs->implType != MFX_LIB_HARDWARE && rhs->implType == MFX_LIB_HARDWARE) { + return 1; + } + if (lhs->implType == MFX_LIB_HARDWARE && rhs->implType != MFX_LIB_HARDWARE) { + return -1; + } + + // prefer integrated GPU + if (lhs->mediaAdapterType != MFX_MEDIA_INTEGRATED && + rhs->mediaAdapterType == MFX_MEDIA_INTEGRATED) { + return 1; + } + if (lhs->mediaAdapterType == MFX_MEDIA_INTEGRATED && + rhs->mediaAdapterType != MFX_MEDIA_INTEGRATED) { + return -1; + } + // prefer dll with lower API version if (lhs->actualApiVersion < rhs->actualApiVersion) { return -1; } @@ -147,7 +156,7 @@ mfxStatus MFXInitEx(mfxInitParam par, mfxSession *session) { HandleVector allocatedHandle; VectorHandleGuard handleGuard(allocatedHandle); - MFX_DISP_HANDLE *pHandle; + MFX_DISP_HANDLE_EX *pHandle; wchar_t dllName[MFX_MAX_DLL_PATH] = { 0 }; MFX::MFXLibraryIterator libIterator; @@ -162,17 +171,24 @@ mfxStatus MFXInitEx(mfxInitParam par, mfxSession *session) { mfxIMPL implInterfaceOrig = implInterface; mfxVersion requiredVersion = { { MFX_VERSION_MINOR, MFX_VERSION_MAJOR } }; + mfxInitializationParam vplParam = {}; + if (implMethod == MFX_IMPL_SOFTWARE) { + vplParam.AccelerationMode = MFX_ACCEL_MODE_NA; + } + else { + // hardware - D3D11 by default + if (implInterface == MFX_IMPL_VIA_D3D9) + vplParam.AccelerationMode = MFX_ACCEL_MODE_VIA_D3D9; + else + vplParam.AccelerationMode = MFX_ACCEL_MODE_VIA_D3D11; + } + // check error(s) if (NULL == session) { return MFX_ERR_NULL_PTR; } - #if (MFX_VERSION >= MFX_VERSION_NEXT) - if (((MFX_IMPL_AUTO > implMethod) || (MFX_IMPL_SINGLE_THREAD < implMethod))) - #else - if (((MFX_IMPL_AUTO > implMethod) || (MFX_IMPL_RUNTIME < implMethod))) - #endif - { + if (((MFX_IMPL_AUTO > implMethod) || (MFX_IMPL_RUNTIME < implMethod))) { return MFX_ERR_UNSUPPORTED; } @@ -184,7 +200,7 @@ mfxStatus MFXInitEx(mfxInitParam par, mfxSession *session) { *session = 0; // allocate the dispatching handle and call-table - pHandle = new MFX_DISP_HANDLE(requiredVersion); + pHandle = new MFX_DISP_HANDLE_EX(requiredVersion); } catch (...) { return MFX_ERR_MEMORY_ALLOC; @@ -236,21 +252,38 @@ mfxStatus MFXInitEx(mfxInitParam par, mfxSession *session) { DISPATCHER_LOG_INFO((("loading library %S\n"), dllName)); // try to load the selected DLL curImpl = implTypes[curImplIdx].impl; - mfxRes = - pHandle->LoadSelectedDLL(dllName, implType, curImpl, implInterface, par); + mfxRes = pHandle->LoadSelectedDLL(dllName, + implType, + curImpl, + implInterface, + par, + vplParam); // unload the failed DLL if (MFX_ERR_NONE != mfxRes) { pHandle->Close(); - } - else { - libIterator.GetSubKeyName( - pHandle->subkeyName, - sizeof(pHandle->subkeyName) / sizeof(pHandle->subkeyName[0])); - pHandle->storageID = libIterator.GetStorageID(); - allocatedHandle.push_back(pHandle); - pHandle = new MFX_DISP_HANDLE(requiredVersion); + continue; } + mfxPlatform platform = { MFX_PLATFORM_UNKNOWN, 0, MFX_MEDIA_UNKNOWN }; + if (pHandle->callTable[eMFXVideoCORE_QueryPlatform]) { + mfxRes = MFXVideoCORE_QueryPlatform((mfxSession)pHandle, &platform); + if (MFX_ERR_NONE != mfxRes) { + DISPATCHER_LOG_WRN( + ("MFXVideoCORE_QueryPlatform failed, rejecting loaded library\n")); + pHandle->Close(); + continue; + } + } + pHandle->mediaAdapterType = platform.MediaAdapterType; + DISPATCHER_LOG_INFO( + (("media adapter type is %d\n"), pHandle->mediaAdapterType)); + + libIterator.GetSubKeyName( + pHandle->subkeyName, + sizeof(pHandle->subkeyName) / sizeof(pHandle->subkeyName[0])); + pHandle->storageID = libIterator.GetStorageID(); + allocatedHandle.push_back(pHandle); + pHandle = new MFX_DISP_HANDLE_EX(requiredVersion); } while (MFX_ERR_NONE != mfxRes); } @@ -294,7 +327,12 @@ mfxStatus MFXInitEx(mfxInitParam par, mfxSession *session) { // try to load the selected DLL curImpl = implTypes[curImplIdx].impl; - mfxRes = pHandle->LoadSelectedDLL(dllName, implType, curImpl, implInterface, par); + mfxRes = pHandle->LoadSelectedDLL(dllName, + implType, + curImpl, + implInterface, + par, + vplParam); // unload the failed DLL if (MFX_ERR_NONE != mfxRes) { pHandle->Close(); @@ -308,7 +346,7 @@ mfxStatus MFXInitEx(mfxInitParam par, mfxSession *session) { } pHandle->storageID = MFX::MFX_UNKNOWN_KEY; allocatedHandle.push_back(pHandle); - pHandle = new MFX_DISP_HANDLE(requiredVersion); + pHandle = new MFX_DISP_HANDLE_EX(requiredVersion); } } while (MFX_ERR_NONE != mfxRes); @@ -347,7 +385,8 @@ mfxStatus MFXInitEx(mfxInitParam par, mfxSession *session) { implTypes[curImplIdx].implType, implTypes[curImplIdx].impl, implInterface, - par); + par, + vplParam); } // unload the failed DLL if ((MFX_ERR_NONE != mfxRes) && (MFX_WRN_PARTIAL_ACCELERATION != mfxRes)) { @@ -356,7 +395,7 @@ mfxStatus MFXInitEx(mfxInitParam par, mfxSession *session) { else { pHandle->storageID = MFX::MFX_UNKNOWN_KEY; allocatedHandle.push_back(pHandle); - pHandle = new MFX_DISP_HANDLE(requiredVersion); + pHandle = new MFX_DISP_HANDLE_EX(requiredVersion); } } } while ((MFX_ERR_NONE > mfxRes) && (++curImplIdx <= maxImplIdx)); @@ -373,11 +412,11 @@ mfxStatus MFXInitEx(mfxInitParam par, mfxSession *session) { if (HandleSort(&(*first), &(*it)) != 0) NeedSort = true; - // select dll with version with lowest version number still greater or equal to requested + // sort allocatedHandle so that the most preferred dll is at the beginning if (NeedSort) qsort(&(*allocatedHandle.begin()), allocatedHandle.size(), - sizeof(MFX_DISP_HANDLE *), + sizeof(MFX_DISP_HANDLE_EX *), &HandleSort); } HandleVector::iterator candidate = allocatedHandle.begin(); @@ -395,15 +434,57 @@ mfxStatus MFXInitEx(mfxInitParam par, mfxSession *session) { } // everything is OK. Save pointers to the output variable - *candidate = 0; // keep this one safe from guard destructor - *((MFX_DISP_HANDLE **)session) = pHandle; + *candidate = 0; // keep this one safe from guard destructor + + //=================================== + + // MFXVideoCORE_QueryPlatform call creates d3d device handle, so we have handle right after MFXInit and can't accept external handle + // This is a workaround which calls close-init to remove that handle + + mfxFunctionPointer *actualTable = pHandle->callTable; + mfxFunctionPointer pFunc; + + pFunc = actualTable[eMFXClose]; + mfxRes = (*(mfxStatus(MFX_CDECL *)(mfxSession))pFunc)(pHandle->session); + if (mfxRes != MFX_ERR_NONE) + return mfxRes; + + pHandle->session = 0; + bool callOldInit = !actualTable[eMFXInitEx]; + pFunc = actualTable[(callOldInit) ? eMFXInit : eMFXInitEx]; + + mfxVersion version(pHandle->apiVersion); + if (callOldInit) { + pHandle->loadStatus = (*(mfxStatus(MFX_CDECL *)(mfxIMPL, mfxVersion *, mfxSession *))pFunc)( + pHandle->impl | pHandle->implInterface, + &version, + &pHandle->session); + } + else { + mfxInitParam initPar = par; + initPar.Implementation = pHandle->impl | pHandle->implInterface; + initPar.Version = version; + pHandle->loadStatus = + (*(mfxStatus(MFX_CDECL *)(mfxInitParam, mfxSession *))pFunc)(initPar, + &pHandle->session); + } + + //=================================== + + *((MFX_DISP_HANDLE_EX **)session) = pHandle; return pHandle->loadStatus; } // mfxStatus MFXInitEx(mfxIMPL impl, mfxVersion *ver, mfxSession *session) // internal function - load a specific DLL, return unsupported if it fails -mfxStatus MFXInitEx2(mfxInitParam par, mfxSession *session, wchar_t *dllName) { +// vplParam is required for API >= 2.0 (load via MFXInitialize) +mfxStatus MFXInitEx2(mfxVersion version, + mfxInitializationParam vplParam, + mfxIMPL hwImpl, + mfxSession *session, + mfxU16 *deviceID, + wchar_t *dllName) { MFX::MFXAutomaticCriticalSection guard(&dispGuard); mfxStatus mfxRes = MFX_ERR_NONE; @@ -412,9 +493,39 @@ mfxStatus MFXInitEx2(mfxInitParam par, mfxSession *session, wchar_t *dllName) { MFX_DISP_HANDLE *pHandle; + *deviceID = 0; + + // fill minimal 1.x parameters for LoadSelectedDLL to choose correct initialization path + mfxInitParam par = {}; + par.Version = version; + + // select first adapter if not specified + // only relevant for MSDK-via-MFXLoad path + if (!hwImpl) + hwImpl = MFX_IMPL_HARDWARE; + + switch (vplParam.AccelerationMode) { + case MFX_ACCEL_MODE_NA: + par.Implementation = MFX_IMPL_SOFTWARE; + break; + case MFX_ACCEL_MODE_VIA_D3D9: + par.Implementation = hwImpl | MFX_IMPL_VIA_D3D9; + break; + case MFX_ACCEL_MODE_VIA_D3D11: + par.Implementation = hwImpl | MFX_IMPL_VIA_D3D11; + break; + case MFX_ACCEL_MODE_VIA_VAAPI: + par.Implementation = hwImpl | MFX_IMPL_VIA_VAAPI; + break; + default: + par.Implementation = hwImpl; + break; + } + eMfxImplType implType = (par.Implementation == MFX_IMPL_SOFTWARE ? MFX_LIB_SOFTWARE : MFX_LIB_HARDWARE); - mfxIMPL implInterface = par.Implementation & -MFX_IMPL_VIA_ANY; + mfxIMPL implInterface = par.Implementation & -MFX_IMPL_VIA_ANY; + const mfxIMPL implMethod = par.Implementation & (MFX_IMPL_VIA_ANY - 1); // check error(s) if (NULL == session || NULL == dllName) { @@ -437,8 +548,12 @@ mfxStatus MFXInitEx2(mfxInitParam par, mfxSession *session, wchar_t *dllName) { if (MFX_ERR_NONE == mfxRes) { // try to load the selected DLL using given DLL name - mfxRes = - pHandle->LoadSelectedDLL(dllName, implType, par.Implementation, implInterface, par); + mfxRes = pHandle->LoadSelectedDLL(dllName, + implType, + implMethod, + implInterface, + par, + vplParam); } // unload the failed DLL if ((MFX_ERR_NONE != mfxRes) && (MFX_WRN_PARTIAL_ACCELERATION != mfxRes)) { @@ -454,7 +569,7 @@ mfxStatus MFXInitEx2(mfxInitParam par, mfxSession *session, wchar_t *dllName) { *((MFX_DISP_HANDLE **)session) = pHandle; return pHandle->loadStatus; -} // mfxStatus MFXInitEx2(mfxIMPL impl, mfxVersion *ver, mfxSession *session, wchar_t *dllName) +} mfxStatus MFXClose(mfxSession session) { MFX::MFXAutomaticCriticalSection guard(&dispGuard); @@ -491,40 +606,41 @@ static mfxModuleHandle hModule; // for the UWP_DISPATCHER purposes implementation of MFXinitEx is calling // InitialiseMediaSession() implemented in intel_gfx_api.dll mfxStatus MFXInitEx(mfxInitParam par, mfxSession *session) { - HRESULT hr = S_OK; - #if defined(MEDIASDK_ARM_LOADER) - hr = E_NOTIMPL; + + return MFX_ERR_UNSUPPORTED; + #else + wchar_t IntelGFXAPIdllName[MFX_MAX_DLL_PATH] = { 0 }; + mfxI32 adapterNum = -1; - DriverStoreLoader dsLoader; - if (!dsLoader.GetDriverStorePath(IntelGFXAPIdllName, sizeof(IntelGFXAPIdllName))) { - return MFX_ERR_UNSUPPORTED; + switch (par.Implementation & 0xf) { + case MFX_IMPL_SOFTWARE: + #if (MFX_VERSION >= MFX_VERSION_NEXT) + case MFX_IMPL_SINGLE_THREAD: + #endif + return MFX_ERR_UNSUPPORTED; + case MFX_IMPL_AUTO: + case MFX_IMPL_HARDWARE: + adapterNum = 0; + break; + case MFX_IMPL_HARDWARE2: + adapterNum = 1; + break; + case MFX_IMPL_HARDWARE3: + adapterNum = 2; + break; + case MFX_IMPL_HARDWARE4: + adapterNum = 3; + break; + default: + return GfxApiInitPriorityIntegrated(par, session, hModule); } - size_t pathLen = wcslen(IntelGFXAPIdllName); - mfx_get_default_intel_gfx_api_dll_name( - IntelGFXAPIdllName + pathLen, - sizeof(IntelGFXAPIdllName) / sizeof(IntelGFXAPIdllName[0]) - pathLen); - DISPATCHER_LOG_INFO((("loading %S\n"), IntelGFXAPIdllName)); + return GfxApiInitByAdapterNum(par, adapterNum, session, hModule); - hModule = MFX::mfx_dll_load(IntelGFXAPIdllName); - if (!hModule) { - DISPATCHER_LOG_ERROR("Can't load intel_gfx_api\n"); - return MFX_ERR_UNSUPPORTED; - } - - mfxFunctionPointer pFunc = - (mfxFunctionPointer)mfx_dll_get_addr(hModule, "InitialiseMediaSession"); - if (!pFunc) { - DISPATCHER_LOG_ERROR("Can't find required API function: InitialiseMediaSession\n"); - return MFX_ERR_UNSUPPORTED; - } - hr = (*(HRESULT(APIENTRY *)(HANDLE *, LPVOID, LPVOID))pFunc)((HANDLE *)session, &par, NULL); #endif - - return (hr == S_OK) ? MFX_ERR_NONE : (mfxStatus)hr; } // for the UWP_DISPATCHER purposes implementation of MFXClose is calling @@ -534,26 +650,20 @@ mfxStatus MFXClose(mfxSession session) { return MFX_ERR_INVALID_HANDLE; } - HRESULT hr = S_OK; + mfxStatus sts = MFX_ERR_NONE; #if defined(MEDIASDK_ARM_LOADER) - hr = E_NOTIMPL; + + sts = MFX_ERR_UNSUPPORTED; + #else - if (hModule) { - mfxFunctionPointer pFunc = - (mfxFunctionPointer)mfx_dll_get_addr(hModule, "DisposeMediaSession"); - if (!pFunc) { - DISPATCHER_LOG_ERROR("Can't find required API function: DisposeMediaSession\n"); - return MFX_ERR_INVALID_HANDLE; - } - hr = (*(HRESULT(APIENTRY *)(HANDLE))pFunc)((HANDLE)session); - } - else - return MFX_ERR_INVALID_HANDLE; + + sts = GfxApiClose(session, hModule); + #endif session = (mfxSession)NULL; - return (hr == S_OK) ? MFX_ERR_NONE : mfxStatus(hr); + return sts; } #undef FUNCTION @@ -604,7 +714,8 @@ mfxStatus MFXJoinSession(mfxSession session, mfxSession child_session) { MFX_DISP_HANDLE *pChildHandle = (MFX_DISP_HANDLE *)child_session; // get the function's address and make a call - if ((pHandle) && (pChildHandle) && (pHandle->apiVersion == pChildHandle->apiVersion)) { + if ((pHandle) && (pChildHandle) && + (pHandle->actualApiVersion == pChildHandle->actualApiVersion)) { /* check whether it is audio session or video */ int tableIndex = eMFXJoinSession; mfxFunctionPointer pFunc; @@ -673,8 +784,6 @@ mfxStatus MFXMemory_GetSurfaceForVPP(mfxSession session, mfxFrameSurface1 **surf if (!session) return MFX_ERR_INVALID_HANDLE; - if (!surface) - return MFX_ERR_NULL_PTR; struct _mfxSession *pHandle = (struct _mfxSession *)session; @@ -688,13 +797,29 @@ mfxStatus MFXMemory_GetSurfaceForVPP(mfxSession session, mfxFrameSurface1 **surf return sts; } +mfxStatus MFXMemory_GetSurfaceForVPPOut(mfxSession session, mfxFrameSurface1 **surface) { + mfxStatus sts = MFX_ERR_INVALID_HANDLE; + + if (!session) + return MFX_ERR_INVALID_HANDLE; + + struct _mfxSession *pHandle = (struct _mfxSession *)session; + + mfxFunctionPointer pFunc; + pFunc = pHandle->callVideoTable2[eMFXMemory_GetSurfaceForVPPOut]; + if (pFunc) { + session = pHandle->session; + sts = (*(mfxStatus(MFX_CDECL *)(mfxSession, mfxFrameSurface1 **))pFunc)(session, surface); + } + + return sts; +} + mfxStatus MFXMemory_GetSurfaceForEncode(mfxSession session, mfxFrameSurface1 **surface) { mfxStatus sts = MFX_ERR_INVALID_HANDLE; if (!session) return MFX_ERR_INVALID_HANDLE; - if (!surface) - return MFX_ERR_NULL_PTR; struct _mfxSession *pHandle = (struct _mfxSession *)session; @@ -713,8 +838,6 @@ mfxStatus MFXMemory_GetSurfaceForDecode(mfxSession session, mfxFrameSurface1 **s if (!session) return MFX_ERR_INVALID_HANDLE; - if (!surface) - return MFX_ERR_NULL_PTR; struct _mfxSession *pHandle = (struct _mfxSession *)session; @@ -728,6 +851,140 @@ mfxStatus MFXMemory_GetSurfaceForDecode(mfxSession session, mfxFrameSurface1 **s return sts; } +mfxStatus MFXVideoDECODE_VPP_Init(mfxSession session, + mfxVideoParam *decode_par, + mfxVideoChannelParam **vpp_par_array, + mfxU32 num_vpp_par) { + mfxStatus sts = MFX_ERR_INVALID_HANDLE; + + if (!session) + return MFX_ERR_INVALID_HANDLE; + + struct _mfxSession *pHandle = (struct _mfxSession *)session; + + mfxFunctionPointer pFunc; + pFunc = pHandle->callVideoTable2[eMFXVideoDECODE_VPP_Init]; + if (pFunc) { + session = pHandle->session; + sts = + (*(mfxStatus(MFX_CDECL *)(mfxSession, mfxVideoParam *, mfxVideoChannelParam **, mfxU32)) + pFunc)(session, decode_par, vpp_par_array, num_vpp_par); + } + + return sts; +} + +mfxStatus MFXVideoDECODE_VPP_DecodeFrameAsync(mfxSession session, + mfxBitstream *bs, + mfxU32 *skip_channels, + mfxU32 num_skip_channels, + mfxSurfaceArray **surf_array_out) { + mfxStatus sts = MFX_ERR_INVALID_HANDLE; + + if (!session) + return MFX_ERR_INVALID_HANDLE; + + struct _mfxSession *pHandle = (struct _mfxSession *)session; + + mfxFunctionPointer pFunc; + pFunc = pHandle->callVideoTable2[eMFXVideoDECODE_VPP_DecodeFrameAsync]; + if (pFunc) { + session = pHandle->session; + sts = (*(mfxStatus( + MFX_CDECL *)(mfxSession, mfxBitstream *, mfxU32 *, mfxU32, mfxSurfaceArray **)) + pFunc)(session, bs, skip_channels, num_skip_channels, surf_array_out); + } + + return sts; +} + +mfxStatus MFXVideoDECODE_VPP_Reset(mfxSession session, + mfxVideoParam *decode_par, + mfxVideoChannelParam **vpp_par_array, + mfxU32 num_vpp_par) { + mfxStatus sts = MFX_ERR_INVALID_HANDLE; + + if (!session) + return MFX_ERR_INVALID_HANDLE; + + struct _mfxSession *pHandle = (struct _mfxSession *)session; + + mfxFunctionPointer pFunc; + pFunc = pHandle->callVideoTable2[eMFXVideoDECODE_VPP_Reset]; + if (pFunc) { + session = pHandle->session; + sts = + (*(mfxStatus(MFX_CDECL *)(mfxSession, mfxVideoParam *, mfxVideoChannelParam **, mfxU32)) + pFunc)(session, decode_par, vpp_par_array, num_vpp_par); + } + + return sts; +} + +mfxStatus MFXVideoDECODE_VPP_GetChannelParam(mfxSession session, + mfxVideoChannelParam *par, + mfxU32 channel_id) { + mfxStatus sts = MFX_ERR_INVALID_HANDLE; + + if (!session) + return MFX_ERR_INVALID_HANDLE; + + struct _mfxSession *pHandle = (struct _mfxSession *)session; + + mfxFunctionPointer pFunc; + pFunc = pHandle->callVideoTable2[eMFXVideoDECODE_VPP_GetChannelParam]; + if (pFunc) { + session = pHandle->session; + sts = (*(mfxStatus(MFX_CDECL *)(mfxSession, mfxVideoChannelParam *, mfxU32))pFunc)( + session, + par, + channel_id); + } + + return sts; +} + +mfxStatus MFXVideoDECODE_VPP_Close(mfxSession session) { + mfxStatus sts = MFX_ERR_INVALID_HANDLE; + + if (!session) + return MFX_ERR_INVALID_HANDLE; + + struct _mfxSession *pHandle = (struct _mfxSession *)session; + + mfxFunctionPointer pFunc; + pFunc = pHandle->callVideoTable2[eMFXVideoDECODE_VPP_Close]; + if (pFunc) { + session = pHandle->session; + sts = (*(mfxStatus(MFX_CDECL *)(mfxSession))pFunc)(session); + } + + return sts; +} + +mfxStatus MFXVideoVPP_ProcessFrameAsync(mfxSession session, + mfxFrameSurface1 *in, + mfxFrameSurface1 **out) { + mfxStatus sts = MFX_ERR_INVALID_HANDLE; + + if (!session) + return MFX_ERR_INVALID_HANDLE; + + struct _mfxSession *pHandle = (struct _mfxSession *)session; + + mfxFunctionPointer pFunc; + pFunc = pHandle->callVideoTable2[eMFXVideoVPP_ProcessFrameAsync]; + if (pFunc) { + session = pHandle->session; + sts = (*(mfxStatus(MFX_CDECL *)(mfxSession, mfxFrameSurface1 *, mfxFrameSurface1 **))pFunc)( + session, + in, + out); + } + + return sts; +} + // // // implement all other calling functions. diff --git a/dispatcher/windows/mfx_critical_section.h b/dispatcher/windows/mfx_critical_section.h index eb27462c..cdb5a8f7 100644 --- a/dispatcher/windows/mfx_critical_section.h +++ b/dispatcher/windows/mfx_critical_section.h @@ -7,7 +7,7 @@ #ifndef DISPATCHER_WINDOWS_MFX_CRITICAL_SECTION_H_ #define DISPATCHER_WINDOWS_MFX_CRITICAL_SECTION_H_ -#include +#include "vpl/mfxdefs.h" namespace MFX { diff --git a/dispatcher/windows/mfx_dispatcher.cpp b/dispatcher/windows/mfx_dispatcher.cpp index 89ecb0f5..d2d9eb3b 100644 --- a/dispatcher/windows/mfx_dispatcher.cpp +++ b/dispatcher/windows/mfx_dispatcher.cpp @@ -66,7 +66,8 @@ mfxStatus MFX_DISP_HANDLE::LoadSelectedDLL(const wchar_t* pPath, eMfxImplType reqImplType, mfxIMPL reqImpl, mfxIMPL reqImplInterface, - mfxInitParam& par) { + mfxInitParam& par, + mfxInitializationParam& vplParam) { mfxStatus mfxRes = MFX_ERR_NONE; // check error(s) @@ -78,11 +79,7 @@ mfxStatus MFX_DISP_HANDLE::LoadSelectedDLL(const wchar_t* pPath, return loadStatus; } // only exact types of implementation is allowed - if ( -#if (MFX_VERSION >= MFX_VERSION_NEXT) - !(reqImpl & MFX_IMPL_EXTERNAL_THREADING) && -#endif - (MFX_IMPL_SOFTWARE != reqImpl) && (MFX_IMPL_HARDWARE != reqImpl) && + if ((MFX_IMPL_SOFTWARE != reqImpl) && (MFX_IMPL_HARDWARE != reqImpl) && (MFX_IMPL_HARDWARE2 != reqImpl) && (MFX_IMPL_HARDWARE3 != reqImpl) && (MFX_IMPL_HARDWARE4 != reqImpl)) { DISPATCHER_LOG_ERROR((("invalid implementation impl == %s\n"), @@ -164,12 +161,16 @@ mfxStatus MFX_DISP_HANDLE::LoadSelectedDLL(const wchar_t* pPath, } else { // The library doesn't contain the function - DISPATCHER_LOG_ERROR((("\"%s\" is required for API %u.%u\n"), - APIVideoFunc2[i].pName, - apiVersion.Major, - apiVersion.Minor)); - mfxRes = MFX_ERR_UNSUPPORTED; - break; + DISPATCHER_LOG_WRN( + (("Can't find API function \"%s\"\n"), APIVideoFunc2[i].pName)); + if (apiVersion.Version >= APIVideoFunc2[i].apiVersion.Version) { + DISPATCHER_LOG_ERROR((("\"%s\" is required for API %u.%u\n"), + APIVideoFunc2[i].pName, + apiVersion.Major, + apiVersion.Minor)); + mfxRes = MFX_ERR_UNSUPPORTED; + break; + } } } } @@ -186,31 +187,33 @@ mfxStatus MFX_DISP_HANDLE::LoadSelectedDLL(const wchar_t* pPath, if (version.Major >= 2) { // for API >= 2.0 call MFXInitialize instead of MFXInitEx - int tableIndex = eMFXInitialize; - mfxFunctionPointer pFunc = callVideoTable2[tableIndex]; - mfxInitializationParam initPar2 = {}; - - if (reqImplType == MFX_LIB_HARDWARE) { - // hardware - D3D11 by default - if (reqImplInterface == MFX_IMPL_VIA_D3D9) - initPar2.AccelerationMode = MFX_ACCEL_MODE_VIA_D3D9; - else - initPar2.AccelerationMode = MFX_ACCEL_MODE_VIA_D3D11; - } - else { - // software - initPar2.AccelerationMode = MFX_ACCEL_MODE_NA; - } + int tableIndex = eMFXInitialize; + mfxFunctionPointer pFunc = callVideoTable2[tableIndex]; - mfxRes = (*(mfxStatus(MFX_CDECL*)(mfxInitializationParam, mfxSession*))pFunc)(initPar2, + // filled-in mfxInitializationParam must be provided for MFXInitialize path + mfxRes = (*(mfxStatus(MFX_CDECL*)(mfxInitializationParam, mfxSession*))pFunc)(vplParam, &session); } else { - // only support MFXInitEx for 1.x - int tableIndex = eMFXInitEx; + // Call old-style MFXInit init for older libraries + bool callOldInit = + !callTable[eMFXInitEx]; // if true call eMFXInit, if false - eMFXInitEx + int tableIndex = (callOldInit) ? eMFXInit : eMFXInitEx; mfxFunctionPointer pFunc = callTable[tableIndex]; - { + if (callOldInit) { + DISPATCHER_LOG_BLOCK(("MFXInit(%s,ver=%u.%u,session=0x%p)\n", + DispatcherLog_GetMFXImplString(impl | implInterface).c_str(), + apiVersion.Major, + apiVersion.Minor, + &session)); + + mfxRes = (*(mfxStatus(MFX_CDECL*)(mfxIMPL, mfxVersion*, mfxSession*))pFunc)( + impl | implInterface, + &version, + &session); + } + else { DISPATCHER_LOG_BLOCK(("MFXInitEx(%s,ver=%u.%u,ExtThreads=%d,session=0x%p)\n", DispatcherLog_GetMFXImplString(impl | implInterface).c_str(), apiVersion.Major, @@ -252,7 +255,7 @@ mfxStatus MFX_DISP_HANDLE::LoadSelectedDLL(const wchar_t* pPath, loadStatus = mfxRes; return mfxRes; -} // mfxStatus MFX_DISP_HANDLE::LoadSelectedDLL(const wchar_t *pPath, eMfxImplType implType, mfxIMPL impl) +} // mfxStatus MFX_DISP_HANDLE::LoadSelectedDLL(const wchar_t* pPath, eMfxImplType reqImplType, mfxIMPL reqImpl, mfxIMPL reqImplInterface, mfxInitParam& par, mfxInitializationParam &vplParam) mfxStatus MFX_DISP_HANDLE::UnLoadSelectedDLL(void) { mfxStatus mfxRes = MFX_ERR_NONE; @@ -287,6 +290,10 @@ mfxStatus MFX_DISP_HANDLE::UnLoadSelectedDLL(void) { } // mfxStatus MFX_DISP_HANDLE::UnLoadSelectedDLL(void) +MFX_DISP_HANDLE_EX::MFX_DISP_HANDLE_EX(const mfxVersion requiredVersion) + : MFX_DISP_HANDLE(requiredVersion), + mediaAdapterType(MFX_MEDIA_UNKNOWN) {} + #if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) static mfxStatus InitDummySession(mfxU32 adapter_n, MFXVideoSession& dummy_session) { mfxInitParam initPar; @@ -345,6 +352,7 @@ static inline mfxI32 iGPU_priority(const void* ll, const void* rr) { static void RearrangeInPriorityOrder(const mfxComponentInfo& info, MFX::MFXVector& vec) { + (void)info; { // Move iGPU to top priority qsort(vec.data(), vec.size(), sizeof(mfxAdapterInfo), &iGPU_priority); @@ -381,7 +389,7 @@ static mfxStatus PrepareAdaptersInfo(const mfxComponentInfo* info, static inline bool QueryAdapterInfo(mfxU32 adapter_n, mfxU32& VendorID, mfxU32& DeviceID) { MFX::DXVA2Device dxvaDevice; - if (!dxvaDevice.InitD3D9(adapter_n) && !dxvaDevice.InitDXGI1(adapter_n)) + if (!dxvaDevice.InitDXGI1(adapter_n)) return false; VendorID = dxvaDevice.GetVendorID(); @@ -390,6 +398,10 @@ static inline bool QueryAdapterInfo(mfxU32 adapter_n, mfxU32& VendorID, mfxU32& return true; } +static inline mfxU32 MakeVersion(mfxU16 major, mfxU16 minor) { + return major * 1000 + minor; +} + mfxStatus MFXQueryAdaptersDecode(mfxBitstream* bitstream, mfxU32 codec_id, mfxAdaptersInfo* adapters) { @@ -443,13 +455,27 @@ mfxStatus MFXQueryAdaptersDecode(mfxBitstream* bitstream, mfxAdapterInfo info; memset(&info, 0, sizeof(info)); - sts = MFXVideoCORE_QueryPlatform(dummy_session.operator mfxSession(), &info.Platform); - if (sts != MFX_ERR_NONE) { + //WA for initialization when application built w/ new API, but lib w/ old one. + mfxVersion apiVersion; + sts = dummy_session.QueryVersion(&apiVersion); + if (sts != MFX_ERR_NONE) continue; + + mfxU32 version = MakeVersion(apiVersion.Major, apiVersion.Minor); + + if (version >= 1019) { + sts = MFXVideoCORE_QueryPlatform(dummy_session.operator mfxSession(), &info.Platform); + + if (sts != MFX_ERR_NONE) { + continue; + } + } + else { + // for API versions greater than 1.19 Device id is set inside QueryPlatform call + info.Platform.DeviceId = static_cast(DeviceID); } - //info.Platform.DeviceId = DeviceID; info.Number = adapter_n - 1; obtained_info.push_back(info); @@ -520,13 +546,27 @@ mfxStatus MFXQueryAdapters(mfxComponentInfo* input_info, mfxAdaptersInfo* adapte mfxAdapterInfo info; memset(&info, 0, sizeof(info)); - sts = MFXVideoCORE_QueryPlatform(dummy_session.operator mfxSession(), &info.Platform); - if (sts != MFX_ERR_NONE) { + //WA for initialization when application built w/ new API, but lib w/ old one. + mfxVersion apiVersion; + sts = dummy_session.QueryVersion(&apiVersion); + if (sts != MFX_ERR_NONE) continue; + + mfxU32 version = MakeVersion(apiVersion.Major, apiVersion.Minor); + + if (version >= 1019) { + sts = MFXVideoCORE_QueryPlatform(dummy_session.operator mfxSession(), &info.Platform); + + if (sts != MFX_ERR_NONE) { + continue; + } + } + else { + // for API versions greater than 1.19 Device id is set inside QueryPlatform call + info.Platform.DeviceId = static_cast(DeviceID); } - //info.Platform.DeviceId = DeviceID; info.Number = adapter_n - 1; obtained_info.push_back(info); diff --git a/dispatcher/windows/mfx_dispatcher.h b/dispatcher/windows/mfx_dispatcher.h index 5f4cfdd1..eabc6ade 100644 --- a/dispatcher/windows/mfx_dispatcher.h +++ b/dispatcher/windows/mfx_dispatcher.h @@ -7,11 +7,11 @@ #ifndef DISPATCHER_WINDOWS_MFX_DISPATCHER_H_ #define DISPATCHER_WINDOWS_MFX_DISPATCHER_H_ -#include +#include -#include +#include "vpl/mfxdispatcher.h" +#include "vpl/mfxvideo.h" -#include #include "windows/mfx_dispatcher_defs.h" #define INTEL_VENDOR_ID 0x8086 @@ -59,6 +59,7 @@ enum ePluginFunc { }; enum eVideoFunc2 { + // 2.0 eMFXQueryImplsDescription, eMFXReleaseImplDescription, eMFXMemory_GetSurfaceForVPP, @@ -66,6 +67,15 @@ enum eVideoFunc2 { eMFXMemory_GetSurfaceForDecode, eMFXInitialize, + // 2.1 + eMFXMemory_GetSurfaceForVPPOut, + eMFXVideoDECODE_VPP_Init, + eMFXVideoDECODE_VPP_DecodeFrameAsync, + eMFXVideoDECODE_VPP_Reset, + eMFXVideoDECODE_VPP_GetChannelParam, + eMFXVideoDECODE_VPP_Close, + eMFXVideoVPP_ProcessFrameAsync, + eVideoFunc2Total }; @@ -85,7 +95,7 @@ enum eMfxImplType { }; // declare dispatcher's version -enum { MFX_DISPATCHER_VERSION_MAJOR = 1, MFX_DISPATCHER_VERSION_MINOR = 2 }; +enum { MFX_DISPATCHER_VERSION_MAJOR = 1, MFX_DISPATCHER_VERSION_MINOR = 3 }; struct _mfxSession { // A real handle from MFX engine passed to a called function @@ -111,7 +121,8 @@ struct MFX_DISP_HANDLE : public _mfxSession { eMfxImplType implType, mfxIMPL impl, mfxIMPL implInterface, - mfxInitParam &par); + mfxInitParam &par, + mfxInitializationParam &vplParam); // Unload the library's module mfxStatus UnLoadSelectedDLL(void); @@ -149,6 +160,16 @@ struct MFX_DISP_HANDLE : public _mfxSession { MFX_DISP_HANDLE &operator=(const MFX_DISP_HANDLE &); }; +// This struct extends MFX_DISP_HANDLE, we cannot extend MFX_DISP_HANDLE itself due to possible compatibility issues +// This struct was added in dispatcher version 1.3 +// Check dispatcher handle's version when you cast session struct which came from outside of MSDK API function to this +struct MFX_DISP_HANDLE_EX : public MFX_DISP_HANDLE { + explicit MFX_DISP_HANDLE_EX(const mfxVersion requiredVersion); + + mfxU16 mediaAdapterType; + mfxU16 reserved[10]; +}; + // declare comparison operator inline bool operator==(const mfxVersion &one, const mfxVersion &two) { return (one.Version == two.Version); diff --git a/dispatcher/windows/mfx_dispatcher_defs.h b/dispatcher/windows/mfx_dispatcher_defs.h index 8a24efe8..b70a7ea1 100644 --- a/dispatcher/windows/mfx_dispatcher_defs.h +++ b/dispatcher/windows/mfx_dispatcher_defs.h @@ -26,3 +26,8 @@ typedef void* mfxModuleHandle; typedef void(MFX_CDECL* mfxFunctionPointer)(void); + +// Tracer uses lib loading from Program Files logic (via Dispatch reg key) to make dispatcher load tracer dll. +// With DriverStore loading put at 1st place, dispatcher loads real lib before it finds tracer dll. +// This workaround explicitly checks tracer presence in Dispatch reg key and loads tracer dll before the search for lib in all other places. +#define MFX_TRACER_WA_FOR_DS 1 diff --git a/dispatcher/windows/mfx_driver_store_loader.cpp b/dispatcher/windows/mfx_driver_store_loader.cpp new file mode 100644 index 00000000..5251a1aa --- /dev/null +++ b/dispatcher/windows/mfx_driver_store_loader.cpp @@ -0,0 +1,192 @@ +/*############################################################################ + # Copyright (C) 2012-2020 Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include + +#include "windows/mfx_dispatcher_log.h" +#include "windows/mfx_driver_store_loader.h" +#include "windows/mfx_load_dll.h" +#include "windows/mfx_vector.h" + +namespace MFX { + +inline bool IsIntelDeviceInstanceID(const wchar_t *DeviceID) { + return wcsstr(DeviceID, L"VEN_8086") || wcsstr(DeviceID, L"ven_8086"); +} + +inline bool ExctractDeviceID(const wchar_t *descrString, mfxU32 &deviceID) { + const wchar_t *begin = wcsstr(descrString, L"DEV_"); + + if (!begin) { + begin = wcsstr(descrString, L"dev_"); + if (!begin) { + DISPATCHER_LOG_WRN(("exctracting device id: failed to find device id substring\n")); + return false; + } + } + + begin += wcslen(L"DEV_"); + deviceID = wcstoul(begin, NULL, 16); + if (!deviceID) { + DISPATCHER_LOG_WRN(("exctracting device id: failed to convert device id str to int\n")); + return false; + } + + return true; +} + +DriverStoreLoader::DriverStoreLoader(void) + : m_moduleCfgMgr(NULL), + m_pCM_Get_Device_ID_List_Size(NULL), + m_pCM_Get_Device_ID_List(NULL), + m_pCM_Locate_DevNode(NULL), + m_pCM_Open_DevNode_Key(NULL) {} + +DriverStoreLoader::~DriverStoreLoader(void) {} + +bool DriverStoreLoader::GetDriverStorePath(wchar_t *path, + DWORD dwPathSize, + mfxU32 deviceID, + wchar_t *driverKey) { + if (path == NULL || dwPathSize == 0) { + return false; + } + + // Obtain a PnP handle to the Intel graphics adapter + CONFIGRET result = CR_SUCCESS; + ULONG DeviceIDListSize = 0; + MFXVector DeviceIDList; + wchar_t DisplayGUID[40]; + DEVINST DeviceInst; + + DISPATCHER_LOG_INFO(("Looking for MediaSDK in DriverStore\n")); + + if (!LoadCfgMgr() || !LoadCmFuncs()) { + return false; + } + + if (StringFromGUID2(GUID_DEVCLASS_DISPLAY, DisplayGUID, sizeof(DisplayGUID)) == 0) { + DISPATCHER_LOG_WRN(("Couldn't prepare string from GUID\n")); + return false; + } + + do { + result = + m_pCM_Get_Device_ID_List_Size(&DeviceIDListSize, + DisplayGUID, + CM_GETIDLIST_FILTER_CLASS | CM_GETIDLIST_FILTER_PRESENT); + if (result != CR_SUCCESS) { + break; + } + + try { + DeviceIDList.resize(DeviceIDListSize); + } + catch (...) { + return false; + } + result = m_pCM_Get_Device_ID_List(DisplayGUID, + DeviceIDList.data(), + DeviceIDListSize, + CM_GETIDLIST_FILTER_CLASS | CM_GETIDLIST_FILTER_PRESENT); + + } while (result == CR_BUFFER_SMALL); + + if (result != CR_SUCCESS) { + return false; + } + + //Look for MediaSDK record + wchar_t *begin = DeviceIDList.data(); + wchar_t *end = begin + DeviceIDList.size(); + size_t len = 0; + + for (; (begin < end) && (len = wcslen(begin)) > 0; begin += len + 1) { + if (IsIntelDeviceInstanceID(begin)) { + mfxU32 curDeviceID = 0; + if (!ExctractDeviceID(begin, curDeviceID) || curDeviceID != deviceID) { + continue; + } + + result = m_pCM_Locate_DevNode(&DeviceInst, begin, CM_LOCATE_DEVNODE_NORMAL); + if (result != CR_SUCCESS) { + continue; + } + + HKEY hKey_sw; + result = m_pCM_Open_DevNode_Key(DeviceInst, + KEY_READ, + 0, + RegDisposition_OpenExisting, + &hKey_sw, + CM_REGISTRY_SOFTWARE); + if (result != CR_SUCCESS) { + continue; + } + + ULONG nError; + + DWORD pathSize = dwPathSize; + + nError = RegQueryValueExW(hKey_sw, driverKey, 0, NULL, (LPBYTE)path, &pathSize); + + RegCloseKey(hKey_sw); + + if (ERROR_SUCCESS == nError) { + if (path[wcslen(path) - 1] != '/' && path[wcslen(path) - 1] != '\\') { + wcscat_s(path, MFX_MAX_DLL_PATH, L"\\"); + } + DISPATCHER_LOG_INFO(("DriverStore path is found\n")); + return true; + } + } + } + + DISPATCHER_LOG_INFO(("DriverStore path isn't found\n")); + return false; + +} // bool DriverStoreLoader::GetDriverStorePath(wchar_t * path, DWORD dwPathSize, wchar_t *driverKey) + +bool DriverStoreLoader::LoadCfgMgr() { + if (!m_moduleCfgMgr) { + m_moduleCfgMgr = mfx_dll_load(L"cfgmgr32.dll"); + + if (!m_moduleCfgMgr) { + DISPATCHER_LOG_WRN(("cfgmgr32.dll couldn't be loaded\n")); + return false; + } + } + + return true; + +} // bool DriverStoreLoader::LoadCfgMgr() + +bool DriverStoreLoader::LoadCmFuncs() { + if (!m_pCM_Get_Device_ID_List || !m_pCM_Get_Device_ID_List_Size || !m_pCM_Locate_DevNode || + !m_pCM_Open_DevNode_Key) { + m_pCM_Get_Device_ID_List = + (Func_CM_Get_Device_ID_ListW)mfx_dll_get_addr((HMODULE)m_moduleCfgMgr, + "CM_Get_Device_ID_ListW"); + m_pCM_Get_Device_ID_List_Size = + (Func_CM_Get_Device_ID_List_SizeW)mfx_dll_get_addr((HMODULE)m_moduleCfgMgr, + "CM_Get_Device_ID_List_SizeW"); + m_pCM_Locate_DevNode = (Func_CM_Locate_DevNodeW)mfx_dll_get_addr((HMODULE)m_moduleCfgMgr, + "CM_Locate_DevNodeW"); + m_pCM_Open_DevNode_Key = (Func_CM_Open_DevNode_Key)mfx_dll_get_addr((HMODULE)m_moduleCfgMgr, + "CM_Open_DevNode_Key"); + + if (!m_pCM_Get_Device_ID_List || !m_pCM_Get_Device_ID_List_Size || !m_pCM_Locate_DevNode || + !m_pCM_Open_DevNode_Key) { + DISPATCHER_LOG_WRN(("One of cfgmgr32.dll function isn't found\n")); + return false; + } + } + + return true; + +} // bool DriverStoreLoader::LoadCmFuncs() + +} // namespace MFX diff --git a/dispatcher/windows/mfx_driver_store_loader.h b/dispatcher/windows/mfx_driver_store_loader.h new file mode 100644 index 00000000..f3f32a2c --- /dev/null +++ b/dispatcher/windows/mfx_driver_store_loader.h @@ -0,0 +1,75 @@ +// Copyright (c) 2019-2020 Intel Corporation +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +#ifndef DISPATCHER_WINDOWS_MFX_DRIVER_STORE_LOADER_H_ +#define DISPATCHER_WINDOWS_MFX_DRIVER_STORE_LOADER_H_ + +#include + +#include +#include + +#include "windows/mfx_dispatcher_defs.h" + +namespace MFX { + +typedef CONFIGRET(WINAPI *Func_CM_Get_Device_ID_List_SizeW)(PULONG pulLen, + PCWSTR pszFilter, + ULONG ulFlags); +typedef CONFIGRET(WINAPI *Func_CM_Get_Device_ID_ListW)(PCWSTR pszFilter, + PZZWSTR Buffer, + ULONG BufferLen, + ULONG ulFlags); +typedef CONFIGRET(WINAPI *Func_CM_Locate_DevNodeW)(PDEVINST pdnDevInst, + DEVINSTID_W pDeviceID, + ULONG ulFlags); +typedef CONFIGRET(WINAPI *Func_CM_Open_DevNode_Key)(DEVINST dnDevNode, + REGSAM samDesired, + ULONG ulHardwareProfile, + REGDISPOSITION Disposition, + PHKEY phkDevice, + ULONG ulFlags); + +class DriverStoreLoader { +public: + DriverStoreLoader(void); + ~DriverStoreLoader(void); + + bool GetDriverStorePath(wchar_t *path, DWORD dwPathSize, mfxU32 deviceID, wchar_t *driverKey); + +protected: + bool LoadCfgMgr(); + bool LoadCmFuncs(); + + mfxModuleHandle m_moduleCfgMgr; + Func_CM_Get_Device_ID_List_SizeW m_pCM_Get_Device_ID_List_Size; + Func_CM_Get_Device_ID_ListW m_pCM_Get_Device_ID_List; + Func_CM_Locate_DevNodeW m_pCM_Locate_DevNode; + Func_CM_Open_DevNode_Key m_pCM_Open_DevNode_Key; + +private: + // unimplemented by intent to make this class non-copyable + DriverStoreLoader(const DriverStoreLoader &); + void operator=(const DriverStoreLoader &); +}; + +} // namespace MFX + +#endif // DISPATCHER_WINDOWS_MFX_DRIVER_STORE_LOADER_H_ diff --git a/dispatcher/windows/mfx_dxva2_device.h b/dispatcher/windows/mfx_dxva2_device.h index 7fb6c921..279c45f3 100644 --- a/dispatcher/windows/mfx_dxva2_device.h +++ b/dispatcher/windows/mfx_dxva2_device.h @@ -27,7 +27,7 @@ " (" STRINGIFY(__LINE__) "):\nUsing of D3D9 enabled!\n\n") #endif -#include +#include "vpl/mfxdefs.h" #ifdef DXVA2DEVICE_LOG #include diff --git a/dispatcher/windows/mfx_function_table.cpp b/dispatcher/windows/mfx_function_table.cpp index c558c186..6eb440c2 100644 --- a/dispatcher/windows/mfx_function_table.cpp +++ b/dispatcher/windows/mfx_function_table.cpp @@ -22,7 +22,7 @@ const FUNCTION_DESCRIPTION APIFunc[eVideoFuncTotal] = { { "MFXCloneSession", { { 1, 1 } } }, { "MFXSetPriority", { { 1, 1 } } }, { "MFXGetPriority", { { 1, 1 } } }, - { "MFXInitEx", { { 1, 14 } } }, + { "MFXInitEx", { { 14, 1 } } }, #include "windows/mfx_exposed_functions_list.h" }; @@ -35,6 +35,14 @@ const FUNCTION_DESCRIPTION APIVideoFunc2[eVideoFunc2Total] = { { "MFXMemory_GetSurfaceForEncode", { { 0, 2 } } }, { "MFXMemory_GetSurfaceForDecode", { { 0, 2 } } }, { "MFXInitialize", { { 0, 2 } } }, + + { "MFXMemory_GetSurfaceForVPPOut", { { 1, 2 } } }, + { "MFXVideoDECODE_VPP_Init", { { 1, 2 } } }, + { "MFXVideoDECODE_VPP_DecodeFrameAsync", { { 1, 2 } } }, + { "MFXVideoDECODE_VPP_Reset", { { 1, 2 } } }, + { "MFXVideoDECODE_VPP_GetChannelParam", { { 1, 2 } } }, + { "MFXVideoDECODE_VPP_Close", { { 1, 2 } } }, + { "MFXVideoVPP_ProcessFrameAsync", { { 1, 2 } } }, }; // static section of the file diff --git a/dispatcher/windows/mfx_library_iterator.cpp b/dispatcher/windows/mfx_library_iterator.cpp index 731d7502..e802f7d4 100644 --- a/dispatcher/windows/mfx_library_iterator.cpp +++ b/dispatcher/windows/mfx_library_iterator.cpp @@ -39,11 +39,7 @@ mfxStatus SelectImplementationType(const mfxU32 adapterNum, if (NULL == pImplInterface) { return MFX_ERR_NULL_PTR; } -#if (MFX_VERSION >= MFX_VERSION_NEXT) - mfxIMPL impl_via = (*pImplInterface & ~MFX_IMPL_EXTERNAL_THREADING); -#else mfxIMPL impl_via = *pImplInterface; -#endif DXVA2Device dxvaDevice; if (MFX_IMPL_VIA_D3D9 == impl_via) { @@ -105,7 +101,8 @@ MFXLibraryIterator::MFXLibraryIterator(void) m_bIsSubKeyValid = 0; m_StorageID = 0; - m_SubKeyName[0] = 0; + m_SubKeyName[0] = 0; + m_driverStoreDir[0] = 0; } // MFXLibraryIterator::MFXLibraryIterator(void) MFXLibraryIterator::~MFXLibraryIterator(void) { @@ -187,36 +184,84 @@ mfxStatus MFXLibraryIterator::Init(eMfxImplType implType, // release the object before initialization Release(); - m_StorageID = storageID; - m_lastLibIndex = 0; + m_StorageID = storageID; + m_lastLibIndex = 0; + m_implType = implType; + m_implInterface = implInterface != 0 ? implInterface : MFX_IMPL_VIA_ANY; + + // for HW impl check impl interface, check adapter, obtain deviceID and vendorID + if (m_implType != MFX_LIB_SOFTWARE) { + mfxStatus mfxRes = + MFX::SelectImplementationType(adapterNum, &m_implInterface, &m_vendorID, &m_deviceID); + if (MFX_ERR_NONE != mfxRes) { + return mfxRes; + } + } #if !defined(MEDIASDK_UWP_DISPATCHER) - if (storageID == MFX_CURRENT_USER_KEY || storageID == MFX_LOCAL_MACHINE_KEY) { - return InitRegistry(implType, implInterface, adapterNum, storageID); + if (storageID == MFX_CURRENT_USER_KEY || storageID == MFX_LOCAL_MACHINE_KEY || + storageID == MFX_CURRENT_USER_KEY_ONEVPL || storageID == MFX_LOCAL_MACHINE_KEY_ONEVPL) { + return InitRegistry(storageID); } -#endif - wchar_t sCurrentModulePath[msdk_disp_path_len]; // NOLINT(runtime/arrays) + #if defined(MFX_TRACER_WA_FOR_DS) + if (storageID == MFX_TRACER) { + return InitRegistryTracer(); + } + #endif + +#endif + wchar_t sMediaSDKPath[msdk_disp_path_len] = {}; - if (!GetImplPath(storageID, sCurrentModulePath)) { + if (storageID == MFX_DRIVER_STORE) { + if (!m_driverStoreLoader.GetDriverStorePath(sMediaSDKPath, + sizeof(sMediaSDKPath), + m_deviceID, + L"DriverStorePathForMediaSDK")) { + return MFX_ERR_UNSUPPORTED; + } + } + else if (storageID == MFX_DRIVER_STORE_ONEVPL) { + // get path to runtime directory only (without library name) + m_driverStoreDir[0] = 0; + if (!m_driverStoreLoader.GetDriverStorePath(m_driverStoreDir, + sizeof(m_driverStoreDir), + m_deviceID, + L"DriverStorePathForVPL")) { + return MFX_ERR_UNSUPPORTED; + } + } + else if (!GetImplPath(storageID, sMediaSDKPath)) { return MFX_ERR_UNSUPPORTED; } - return InitFolder(implType, implInterface, adapterNum, sCurrentModulePath, storageID); + // only need the path for oneVPL loader + if (storageID == MFX_DRIVER_STORE_ONEVPL || storageID == MFX_CURRENT_USER_KEY_ONEVPL || + storageID == MFX_LOCAL_MACHINE_KEY_ONEVPL) { + return MFX_ERR_NONE; + } + + return InitFolder(implType, sMediaSDKPath, storageID); } // mfxStatus MFXLibraryIterator::Init(eMfxImplType implType, const mfxU32 adapterNum, int storageID) -mfxStatus MFXLibraryIterator::InitRegistry(eMfxImplType implType, - mfxIMPL implInterface, - const mfxU32 adapterNum, - int storageID) { +mfxStatus MFXLibraryIterator::InitRegistry(int storageID) { #if !defined(MEDIASDK_UWP_DISPATCHER) HKEY rootHKey; bool bRes; // open required registry key - rootHKey = (MFX_LOCAL_MACHINE_KEY == storageID) ? (HKEY_LOCAL_MACHINE) : (HKEY_CURRENT_USER); - bRes = m_baseRegKey.Open(rootHKey, rootDispPath, KEY_READ); + switch (storageID) { + case MFX_LOCAL_MACHINE_KEY: + case MFX_LOCAL_MACHINE_KEY_ONEVPL: + rootHKey = HKEY_LOCAL_MACHINE; + break; + default: + rootHKey = HKEY_CURRENT_USER; + break; + } + + bRes = m_baseRegKey.Open(rootHKey, rootDispPath, KEY_READ); if (false == bRes) { DISPATCHER_LOG_WRN( (("Can't open %s\\%S : RegOpenKeyExA()==0x%x\n"), @@ -226,19 +271,6 @@ mfxStatus MFXLibraryIterator::InitRegistry(eMfxImplType implType, return MFX_ERR_UNKNOWN; } - // set the required library's implementation type - m_implType = implType; - m_implInterface = implInterface != 0 ? implInterface : MFX_IMPL_VIA_ANY; - - //deviceID and vendorID are not actual for SW library loading - if (m_implType != MFX_LIB_SOFTWARE) { - mfxStatus mfxRes = - MFX::SelectImplementationType(adapterNum, &m_implInterface, &m_vendorID, &m_deviceID); - if (MFX_ERR_NONE != mfxRes) { - return mfxRes; - } - } - DISPATCHER_LOG_INFO( (("Inspecting %s\\%S\n"), (MFX_LOCAL_MACHINE_KEY == storageID) ? ("HKEY_LOCAL_MACHINE") : ("HKEY_CURRENT_USER"), @@ -247,17 +279,34 @@ mfxStatus MFXLibraryIterator::InitRegistry(eMfxImplType implType, return MFX_ERR_NONE; #else (void)storageID; - (void)adapterNum; - (void)implInterface; - (void)implType; return MFX_ERR_UNSUPPORTED; #endif // #if !defined(MEDIASDK_UWP_DISPATCHER) -} // mfxStatus MFXLibraryIterator::InitRegistry(eMfxImplType implType, mfxIMPL implInterface, const mfxU32 adapterNum, int storageID) +} // mfxStatus MFXLibraryIterator::InitRegistry(int storageID) + +#if defined(MFX_TRACER_WA_FOR_DS) +mfxStatus MFXLibraryIterator::InitRegistryTracer() { + #if !defined(MEDIASDK_UWP_DISPATCHER) + + const wchar_t tracerRegKeyPath[] = L"Software\\Intel\\MediaSDK\\Dispatch\\tracer"; + + if (!m_baseRegKey.Open(HKEY_LOCAL_MACHINE, tracerRegKeyPath, KEY_READ) && + !m_baseRegKey.Open(HKEY_CURRENT_USER, tracerRegKeyPath, KEY_READ)) { + DISPATCHER_LOG_WRN(("can't find tracer registry key\n")) + return MFX_ERR_UNKNOWN; + } + + DISPATCHER_LOG_INFO(("found tracer registry key\n")) + return MFX_ERR_NONE; + + #else + return MFX_ERR_UNSUPPORTED; + #endif // #if !defined(MEDIASDK_UWP_DISPATCHER) + +} // mfxStatus MFXLibraryIterator::InitRegistryTracer() +#endif mfxStatus MFXLibraryIterator::InitFolder(eMfxImplType implType, - mfxIMPL implInterface, - const mfxU32 adapterNum, const wchar_t *path, const int storageID) { const int maxPathLen = sizeof(m_path) / sizeof(m_path[0]); @@ -273,20 +322,8 @@ mfxStatus MFXLibraryIterator::InitFolder(eMfxImplType implType, mfx_get_default_dll_name(m_path + pathLen, msdk_disp_path_len - pathLen, implType); } - // set the required library's implementation type - m_implType = implType; - m_implInterface = implInterface != 0 ? implInterface : MFX_IMPL_VIA_ANY; - - //deviceID and vendorID are not actual for SW library loading - if (m_implType != MFX_LIB_SOFTWARE) { - mfxStatus mfxRes = - MFX::SelectImplementationType(adapterNum, &m_implInterface, &m_vendorID, &m_deviceID); - if (MFX_ERR_NONE != mfxRes) { - return mfxRes; - } - } return MFX_ERR_NONE; -} // mfxStatus MFXLibraryIterator::InitFolder(eMfxImplType implType, mfxIMPL implInterface, const mfxU32 adapterNum, const wchar_t * path, const int storageID) +} // mfxStatus MFXLibraryIterator::InitFolder(eMfxImplType implType, const wchar_t * path, const int storageID) mfxStatus MFXLibraryIterator::SelectDLLVersion(wchar_t *pPath, size_t pathSize, @@ -306,7 +343,7 @@ mfxStatus MFXLibraryIterator::SelectDLLVersion(wchar_t *pPath, return MFX_ERR_NONE; } - if (m_StorageID == MFX_PATH_MSDK_FOLDER) { + if (m_StorageID == MFX_PATH_MSDK_FOLDER || m_StorageID == MFX_DRIVER_STORE) { if (m_lastLibIndex != 0) return MFX_ERR_NOT_FOUND; if (m_vendorID != INTEL_VENDOR_ID) @@ -319,6 +356,27 @@ mfxStatus MFXLibraryIterator::SelectDLLVersion(wchar_t *pPath, } #if !defined(MEDIASDK_UWP_DISPATCHER) + + #if defined(MFX_TRACER_WA_FOR_DS) + if (m_StorageID == MFX_TRACER) { + if (m_lastLibIndex != 0) + return MFX_ERR_NOT_FOUND; + if (m_vendorID != INTEL_VENDOR_ID) + return MFX_ERR_UNKNOWN; + + m_lastLibIndex = 1; + + if (m_baseRegKey.Query(pathKeyName, REG_SZ, (LPBYTE)pPath, (DWORD *)&pathSize)) { + DISPATCHER_LOG_INFO((("loaded %S : %S\n"), pathKeyName, pPath)); + } + else { + DISPATCHER_LOG_WRN( + (("error querying %S : RegQueryValueExA()==0x%x\n"), pathKeyName, GetLastError())); + } + return MFX_ERR_NONE; + } + #endif + wchar_t libPath[MFX_MAX_DLL_PATH] = L""; DWORD libIndex = 0; DWORD libMerit = 0; @@ -508,4 +566,54 @@ bool MFXLibraryIterator::GetSubKeyName(wchar_t *subKeyName, size_t length) const wcscpy_s(subKeyName, length, m_SubKeyName); return m_bIsSubKeyValid; } + +// static functions - create their own MFXLibraryIterator, get paths, then release object +mfxStatus MFXLibraryIterator::GetDriverStoreDir(std::wstring &driverStoreDir, + size_t length, + mfxU32 adapterID) { + mfxStatus sts = MFX_ERR_UNSUPPORTED; + MFX::MFXLibraryIterator libIterator; + + driverStoreDir.clear(); + sts = libIterator.Init(MFX_LIB_HARDWARE, 0, adapterID, MFX::MFX_DRIVER_STORE_ONEVPL); + if (sts) + return MFX_ERR_UNSUPPORTED; + + if (wcslen(libIterator.m_driverStoreDir) == 0) + return MFX_ERR_UNSUPPORTED; + + // return path to driverStorDir + driverStoreDir = libIterator.m_driverStoreDir; + + return MFX_ERR_NONE; +} + +mfxStatus MFXLibraryIterator::GetRegkeyDir(std::wstring ®Dir, size_t length, int storageID) { + mfxStatus sts = MFX_ERR_UNSUPPORTED; + MFX::MFXLibraryIterator libIterator; + wchar_t wRegDir[MFX_MAX_DLL_PATH]; + + regDir.clear(); + sts = libIterator.Init(MFX_LIB_HARDWARE, 0, 0, storageID); + if (sts) + return MFX_ERR_UNSUPPORTED; + + eMfxImplType implType = MFX_LIB_HARDWARE; + mfxVersion ver = { 0, 1 }; + sts = + libIterator.SelectDLLVersion(wRegDir, sizeof(wRegDir) / sizeof(wRegDir[0]), &implType, ver); + if (sts) + return MFX_ERR_UNSUPPORTED; + + // remove DLL name - only need the path + std::wstring s = wRegDir; + size_t f = s.find_last_of('\\'); + if (f == std::string::npos) + return MFX_ERR_UNSUPPORTED; + + regDir = s.substr(0, f); + + return MFX_ERR_NONE; +} + } // namespace MFX diff --git a/dispatcher/windows/mfx_library_iterator.h b/dispatcher/windows/mfx_library_iterator.h index 28365b53..e7b5df0c 100644 --- a/dispatcher/windows/mfx_library_iterator.h +++ b/dispatcher/windows/mfx_library_iterator.h @@ -7,25 +7,44 @@ #ifndef DISPATCHER_WINDOWS_MFX_LIBRARY_ITERATOR_H_ #define DISPATCHER_WINDOWS_MFX_LIBRARY_ITERATOR_H_ -#include +#include + +#include "vpl/mfxvideo.h" #if !defined(MEDIASDK_UWP_DISPATCHER) #include "mfx_win_reg_key.h" #endif #include "windows/mfx_dispatcher.h" +#include "windows/mfx_driver_store_loader.h" namespace MFX { // declare desired storage ID enum { +#if defined(MFX_TRACER_WA_FOR_DS) + MFX_UNKNOWN_KEY = -1, + MFX_TRACER = 0, + MFX_DRIVER_STORE = 1, + MFX_CURRENT_USER_KEY = 2, + MFX_LOCAL_MACHINE_KEY = 3, + MFX_APP_FOLDER = 4, + MFX_PATH_MSDK_FOLDER = 5, + MFX_STORAGE_ID_FIRST = MFX_TRACER, + MFX_STORAGE_ID_LAST = MFX_PATH_MSDK_FOLDER, +#else MFX_UNKNOWN_KEY = -1, - MFX_CURRENT_USER_KEY = 0, - MFX_LOCAL_MACHINE_KEY = 1, - MFX_APP_FOLDER = 2, - MFX_PATH_MSDK_FOLDER = 3, - MFX_STORAGE_ID_FIRST = MFX_CURRENT_USER_KEY, - MFX_STORAGE_ID_LAST = MFX_PATH_MSDK_FOLDER + MFX_DRIVER_STORE = 0, + MFX_CURRENT_USER_KEY = 1, + MFX_LOCAL_MACHINE_KEY = 2, + MFX_APP_FOLDER = 3, + MFX_PATH_MSDK_FOLDER = 4, + MFX_STORAGE_ID_FIRST = MFX_DRIVER_STORE, + MFX_STORAGE_ID_LAST = MFX_PATH_MSDK_FOLDER, +#endif + MFX_DRIVER_STORE_ONEVPL = 1001, + MFX_CURRENT_USER_KEY_ONEVPL = 1002, + MFX_LOCAL_MACHINE_KEY_ONEVPL = 1003, }; // Try to initialize using given implementation type. Select appropriate type automatically in case of MFX_IMPL_VIA_ANY. @@ -35,6 +54,8 @@ mfxStatus SelectImplementationType(const mfxU32 adapterNum, mfxU32 *pVendorID, mfxU32 *pDeviceID); +bool GetImplPath(int storageID, wchar_t *sImplPath); + const mfxU32 msdk_disp_path_len = 1024; class MFXLibraryIterator { @@ -66,21 +87,23 @@ class MFXLibraryIterator { return m_StorageID; } + static mfxStatus GetDriverStoreDir(std::wstring &driverStoreDir, + size_t length, + mfxU32 adapterID); + static mfxStatus GetRegkeyDir(std::wstring ®Dir, size_t length, int storageID); + protected: // Release the iterator void Release(void); // Initialize the registry iterator - mfxStatus InitRegistry(eMfxImplType implType, - mfxIMPL implInterface, - const mfxU32 adapterNum, - int storageID); + mfxStatus InitRegistry(int storageID); +#if defined(MFX_TRACER_WA_FOR_DS) + // Initialize the registry iterator for searching for tracer + mfxStatus InitRegistryTracer(); +#endif // Initialize the app/module folder iterator - mfxStatus InitFolder(eMfxImplType implType, - mfxIMPL implInterface, - const mfxU32 adapterNum, - const wchar_t *path, - const int storageID); + mfxStatus InitFolder(eMfxImplType implType, const wchar_t *path, const int storageID); eMfxImplType m_implType; // Required library implementation mfxIMPL m_implInterface; // Required interface (D3D9, D3D11) @@ -99,6 +122,9 @@ class MFXLibraryIterator { mfxU32 m_lastLibMerit; // (mfxU32) merit of previously returned library wchar_t m_path[msdk_disp_path_len]; //NOLINT(runtime/arrays) + wchar_t m_driverStoreDir[msdk_disp_path_len]; //NOLINT(runtime/arrays) + + DriverStoreLoader m_driverStoreLoader; // for loading MediaSDK from DriverStore private: // unimplemented by intent to make this class non-copyable diff --git a/docker/Dockerfile-centos-7 b/docker/Dockerfile-centos-7 index 043ea77c..236dfd30 100644 --- a/docker/Dockerfile-centos-7 +++ b/docker/Dockerfile-centos-7 @@ -1,17 +1,18 @@ # ============================================================================== -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT # ============================================================================== ARG VPL_INSTALL_PREFIX=/opt/intel/onevpl +ARG DOCKER_REGISTRY # Stage 1 -FROM centos:centos7 AS vpl_base +FROM ${DOCKER_REGISTRY}centos:centos7 AS vpl_base ENV TZ=Europe/Moscow -RUN yum install -y centos-release-scl && \ +RUN yum check-update && yum install -y centos-release-scl && \ yum-config-manager --enable rhel-server-rhscl-7-rpms && \ - yum install -y git libtool make pkgconfig devtoolset-7 + yum install -y git libtool make pkgconfig devtoolset-7 RUN cd /tmp && \ curl -O -L https://cmake.org/files/v3.12/cmake-3.12.3.tar.gz && \ @@ -22,7 +23,6 @@ RUN cd /tmp && \ make -j$(nproc) && \ make install - # Stage 2 FROM vpl_base AS vpl_build ARG VPL_INSTALL_PREFIX @@ -37,11 +37,11 @@ RUN cd /oneVPL && \ # Runtime image build -FROM centos:centos7 +FROM ${DOCKER_REGISTRY}centos:centos7 LABEL Description="This is the CentOS 7 base image for the oneAPI Video Processing Library API" LABEL Vendor="Intel Corporation" ARG VPL_INSTALL_PREFIX ENV LD_LIBRARY_PATH=${VPL_INSTALL_PREFIX}/lib ENV PKG_CONFIG_PATH=${VPL_INSTALL_PREFIX}/pkgconfig ENV PATH="${PATH}:/${VPL_INSTALL_PREFIX}/bin" -COPY --from=vpl_build ${VPL_INSTALL_PREFIX} ${VPL_INSTALL_PREFIX} +COPY --from=vpl_build ${VPL_INSTALL_PREFIX} ${VPL_INSTALL_PREFIX} diff --git a/docker/Dockerfile-centos-8 b/docker/Dockerfile-centos-8 index af0445ea..25b9507e 100644 --- a/docker/Dockerfile-centos-8 +++ b/docker/Dockerfile-centos-8 @@ -1,13 +1,14 @@ # ============================================================================== -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT # ============================================================================== ARG VPL_INSTALL_PREFIX=/opt/intel/onevpl +ARG DOCKER_REGISTRY # Stage 1 -FROM centos:centos8 AS vpl_base +FROM ${DOCKER_REGISTRY}centos:centos8 AS vpl_base ENV TZ=Europe/Moscow RUN yum install -y cmake gcc gcc-c++ git libtool make pkgconfig @@ -25,11 +26,11 @@ RUN cd /oneVPL && \ # Runtime image build -FROM centos:centos8 +FROM ${DOCKER_REGISTRY}centos:centos8 LABEL Description="This is the CentOS 8 base image for the oneAPI Video Processing Library API" LABEL Vendor="Intel Corporation" ARG VPL_INSTALL_PREFIX ENV LD_LIBRARY_PATH=${VPL_INSTALL_PREFIX}/lib ENV PKG_CONFIG_PATH=${VPL_INSTALL_PREFIX}/pkgconfig ENV PATH="${PATH}:/${VPL_INSTALL_PREFIX}/bin" -COPY --from=vpl_build ${VPL_INSTALL_PREFIX} ${VPL_INSTALL_PREFIX} +COPY --from=vpl_build ${VPL_INSTALL_PREFIX} ${VPL_INSTALL_PREFIX} diff --git a/docker/Dockerfile-rhel-8 b/docker/Dockerfile-rhel-8 index 3bc9c9bc..69ed3739 100644 --- a/docker/Dockerfile-rhel-8 +++ b/docker/Dockerfile-rhel-8 @@ -1,14 +1,15 @@ # ============================================================================== -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT # ============================================================================== ARG VPL_BUILD_DEPENDENCIES=/oneVPL/_deps ARG VPL_INSTALL_PREFIX=/opt/intel/onevpl +ARG DOCKER_REGISTRY # Stage 1 -FROM registry.access.redhat.com/ubi8/ubi:8.1 AS vpl_base +FROM ${DOCKER_REGISTRY}ubi:8.1 AS vpl_base ENV TZ=Europe/Moscow RUN yum install -y cmake gcc gcc-c++ git libtool make pkgconfig @@ -26,11 +27,11 @@ RUN cd /oneVPL && \ # Runtime image build -FROM registry.access.redhat.com/ubi8/ubi:8.1 +FROM registry.access.redhat.com/ubi8/ubi:8.1 LABEL Description="This is the RHEL 8.1 base image for the oneAPI Video Processing Library API" LABEL Vendor="Intel Corporation" ARG VPL_INSTALL_PREFIX ENV LD_LIBRARY_PATH=${VPL_INSTALL_PREFIX}/lib ENV PKG_CONFIG_PATH=${VPL_INSTALL_PREFIX}/pkgconfig ENV PATH="${PATH}:/${VPL_INSTALL_PREFIX}/bin" -COPY --from=vpl_build ${VPL_INSTALL_PREFIX} ${VPL_INSTALL_PREFIX} +COPY --from=vpl_build ${VPL_INSTALL_PREFIX} ${VPL_INSTALL_PREFIX} diff --git a/docker/Dockerfile-ubuntu-18.04 b/docker/Dockerfile-ubuntu-18.04 index d8c9645e..3cd0bbb7 100644 --- a/docker/Dockerfile-ubuntu-18.04 +++ b/docker/Dockerfile-ubuntu-18.04 @@ -1,22 +1,33 @@ # ============================================================================== -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT # ============================================================================== ARG VPL_INSTALL_PREFIX=/opt/intel/onevpl +ARG DOCKER_REGISTRY # Stage 1 -FROM ubuntu:18.04 AS vpl_base +FROM ${DOCKER_REGISTRY}ubuntu:18.04 AS vpl_base ARG DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Moscow RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ git \ pkg-config \ + ca-certificates \ + dh-autoreconf \ + libdrm-dev \ cmake && \ rm -rf /var/lib/apt/lists/* +RUN git clone https://github.com/intel/libva.git && \ + cd libva && \ + git fetch --tags && \ + git checkout $(git describe --tags `git rev-list --tags --max-count=1`) && \ + ./autogen.sh && \ + make -j $(nproc --all) && \ + make install # Stage 2 FROM vpl_base AS vpl_build @@ -31,11 +42,11 @@ RUN cd /oneVPL && \ # Runtime image build -FROM ubuntu:18.04 +FROM ${DOCKER_REGISTRY}ubuntu:18.04 LABEL Description="This is the Ubuntu 18.04 base image for the oneAPI Video Processing Library API" LABEL Vendor="Intel Corporation" ARG VPL_INSTALL_PREFIX ENV LD_LIBRARY_PATH=${VPL_INSTALL_PREFIX}/lib ENV PKG_CONFIG_PATH=${VPL_INSTALL_PREFIX}/pkgconfig ENV PATH="${PATH}:/${VPL_INSTALL_PREFIX}/bin" -COPY --from=vpl_build ${VPL_INSTALL_PREFIX} ${VPL_INSTALL_PREFIX} +COPY --from=vpl_build ${VPL_INSTALL_PREFIX} ${VPL_INSTALL_PREFIX} diff --git a/docker/Dockerfile-ubuntu-19.10 b/docker/Dockerfile-ubuntu-19.10 index cbb4176f..a5343087 100644 --- a/docker/Dockerfile-ubuntu-19.10 +++ b/docker/Dockerfile-ubuntu-19.10 @@ -1,22 +1,33 @@ # ============================================================================== -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT # ============================================================================== ARG VPL_INSTALL_PREFIX=/opt/intel/onevpl +ARG DOCKER_REGISTRY # Stage 1 -FROM ubuntu:19.10 AS vpl_base +FROM ${DOCKER_REGISTRY}ubuntu:19.10 AS vpl_base ARG DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Moscow RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ git \ pkg-config \ + ca-certificates \ + dh-autoreconf \ + libdrm-dev \ cmake && \ rm -rf /var/lib/apt/lists/* +RUN git clone https://github.com/intel/libva.git && \ + cd libva && \ + git fetch --tags && \ + git checkout $(git describe --tags `git rev-list --tags --max-count=1`) && \ + ./autogen.sh && \ + make -j $(nproc --all) && \ + make install # Stage 2 FROM vpl_base AS vpl_build @@ -31,11 +42,11 @@ RUN cd /oneVPL && \ # Runtime image build -FROM ubuntu:19.10 +FROM ${DOCKER_REGISTRY}ubuntu:19.10 LABEL Description="This is the Ubuntu 19.10 base image for the oneAPI Video Processing Library API" LABEL Vendor="Intel Corporation" ARG VPL_INSTALL_PREFIX ENV LD_LIBRARY_PATH=${VPL_INSTALL_PREFIX}/lib ENV PKG_CONFIG_PATH=${VPL_INSTALL_PREFIX}/pkgconfig ENV PATH="${PATH}:/${VPL_INSTALL_PREFIX}/bin" -COPY --from=vpl_build ${VPL_INSTALL_PREFIX} ${VPL_INSTALL_PREFIX} +COPY --from=vpl_build ${VPL_INSTALL_PREFIX} ${VPL_INSTALL_PREFIX} diff --git a/docker/Dockerfile-ubuntu-20.04 b/docker/Dockerfile-ubuntu-20.04 index 4e363323..4faeda70 100644 --- a/docker/Dockerfile-ubuntu-20.04 +++ b/docker/Dockerfile-ubuntu-20.04 @@ -1,22 +1,33 @@ # ============================================================================== -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT # ============================================================================== ARG VPL_INSTALL_PREFIX=/opt/intel/onevpl +ARG DOCKER_REGISTRY # Stage 1 -FROM ubuntu:20.04 AS vpl_base +FROM ${DOCKER_REGISTRY}ubuntu:20.04 AS vpl_base ARG DEBIAN_FRONTEND=noninteractive ENV TZ=Europe/Moscow RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ git \ pkg-config \ + ca-certificates \ + dh-autoreconf \ + libdrm-dev \ cmake && \ rm -rf /var/lib/apt/lists/* +RUN git clone https://github.com/intel/libva.git && \ + cd libva && \ + git fetch --tags && \ + git checkout $(git describe --tags `git rev-list --tags --max-count=1`) && \ + ./autogen.sh && \ + make -j $(nproc --all) && \ + make install # Stage 2 FROM vpl_base AS vpl_build @@ -31,11 +42,11 @@ RUN cd /oneVPL && \ # Runtime image build -FROM ubuntu:20.04 +FROM ${DOCKER_REGISTRY}ubuntu:20.04 LABEL Description="This is the Ubuntu 20.04 base image for the oneAPI Video Processing Library API" LABEL Vendor="Intel Corporation" ARG VPL_INSTALL_PREFIX ENV LD_LIBRARY_PATH=${VPL_INSTALL_PREFIX}/lib ENV PKG_CONFIG_PATH=${VPL_INSTALL_PREFIX}/pkgconfig ENV PATH="${PATH}:/${VPL_INSTALL_PREFIX}/bin" -COPY --from=vpl_build ${VPL_INSTALL_PREFIX} ${VPL_INSTALL_PREFIX} +COPY --from=vpl_build ${VPL_INSTALL_PREFIX} ${VPL_INSTALL_PREFIX} diff --git a/docker/build_docker_images.sh b/docker/build_docker_images.sh index 6dba39c9..bb13b780 100755 --- a/docker/build_docker_images.sh +++ b/docker/build_docker_images.sh @@ -7,9 +7,9 @@ set -e BASEDIR=$(dirname "$0") -docker build -f ${BASEDIR}/Dockerfile-rhel-8 -t vpl:rhel8 ${BASEDIR}/.. -docker build -f ${BASEDIR}/Dockerfile-centos-7 -t vpl:centos7 ${BASEDIR}/.. -docker build -f ${BASEDIR}/Dockerfile-centos-8 -t vpl:centos8 ${BASEDIR}/.. -docker build -f ${BASEDIR}/Dockerfile-ubuntu-18.04 -t vpl:ubuntu18.04 ${BASEDIR}/.. -docker build -f ${BASEDIR}/Dockerfile-ubuntu-19.10 -t vpl:ubuntu19.10 ${BASEDIR}/.. -docker build -f ${BASEDIR}/Dockerfile-ubuntu-20.04 -t vpl:ubuntu20.04 ${BASEDIR}/.. +docker build -f ${BASEDIR}/Dockerfile-rhel-8 -t vpl:rhel8 --build-arg DOCKER_REGISTRY=${1:-"registry.access.redhat.com/ubi8/"} ${BASEDIR}/.. +docker build -f ${BASEDIR}/Dockerfile-centos-7 -t vpl:centos7 --build-arg DOCKER_REGISTRY=$1 ${BASEDIR}/.. +docker build -f ${BASEDIR}/Dockerfile-centos-8 -t vpl:centos8 --build-arg DOCKER_REGISTRY=$1 ${BASEDIR}/.. +docker build -f ${BASEDIR}/Dockerfile-ubuntu-18.04 -t vpl:ubuntu18.04 --build-arg DOCKER_REGISTRY=$1 ${BASEDIR}/.. +docker build -f ${BASEDIR}/Dockerfile-ubuntu-19.10 -t vpl:ubuntu19.10 --build-arg DOCKER_REGISTRY=$1 ${BASEDIR}/.. +docker build -f ${BASEDIR}/Dockerfile-ubuntu-20.04 -t vpl:ubuntu20.04 --build-arg DOCKER_REGISTRY=$1 ${BASEDIR}/.. diff --git a/docker/tutorial/Dockerfile b/docker/tutorial/Dockerfile new file mode 100644 index 00000000..4e4739ab --- /dev/null +++ b/docker/tutorial/Dockerfile @@ -0,0 +1,35 @@ +FROM ubuntu:20.04 +ENV DEBIAN_FRONTEND=noninteractive + +# Install a few minimal prerequisites +RUN apt update && apt install -y --no-install-recommends \ + software-properties-common ca-certificates gnupg wget apt-utils \ + libva-drm2 vainfo lsb-release \ + libva-dev libdrm2 libdrm-dev libpciaccess0 pciutils \ + build-essential cmake pkg-config strace + + +# Enable Agama package repository for Ubuntu 20.04 +RUN wget -qO - https://repositories.intel.com/graphics/intel-graphics.key | apt-key add - && \ + echo "deb [arch=amd64] https://repositories.intel.com/graphics/ubuntu focal main" > /etc/apt/sources.list.d/intel-graphics.list + +# Enable oneAPI package repository for Ubuntu 20.04 +RUN wget -qO - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB | apt-key add - && \ + add-apt-repository "deb https://apt.repos.intel.com/oneapi all main" + +# Install MSDK GPU media accelerator runtime +RUN apt-get update && apt-get install -y --no-install-recommends \ + intel-media-va-driver-non-free \ + libmfx1 && \ + echo 'LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri' >> /etc/environment && \ + echo 'LIBVA_DRIVER_NAME=iHD' >> /etc/environment && \ + ldconfig + +# Install MSDK Developer Package +RUN apt-get update && apt-get install -y --no-install-recommends \ + libmfx-tools \ + libmfx-dev + +# Install oneVPL Developer Package +RUN apt-get update && apt-get install -y --no-install-recommends \ + intel-oneapi-onevpl-devel diff --git a/docker/tutorial/README.md b/docker/tutorial/README.md new file mode 100644 index 00000000..bf1ebca4 --- /dev/null +++ b/docker/tutorial/README.md @@ -0,0 +1,155 @@ +# Tutorial: Transition from Intel(R) Media SDK to Intel(R) oneAPI Video Processing Library (oneVPL) + +This tutorial shows the first steps to upgrade Intel(R) Media SDK code to Intel(R) oneAPI Video Processing Library. + +**Note**: This tutorial is based on Docker and assumes that you have already set up and configured Docker for your environment. + +**Contents:** +- [Create an image for the tutorial](#create-an-image-for-the-tutorial) +- [Build examples using the same source for both toolkits](#build-examples-using-the-same-source-for-both-toolkits) +- [Run examples with Intel(R) Media SDK](#run-examples-with-intelr-media-sdk) +- [Run examples with oneVPL](#run-examples-with-onevpl) + +## Create an image for the tutorial +To create an image with all prerequisites and start a container, run the `run.sh` script: + +```bash +./run.sh +``` + +This image is based on Ubuntu 20.04. + +Among other prerequisites for GPU use, this image installs: +* the MSDK developer package from Agama +* the oneVPL developer package from the Intel oneAPI program + +## Build example + +The example illustrated here shows the small changes needed to upgrade. + +Review legacy-createsession code to see initialization changes: + +Media SDK initialization: +``` + sts = MFXInit(cliParams.impl, &version, &session); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); +``` + +oneVPL initialization: +``` + mfxConfig cfg = NULL; + mfxLoader loader = NULL; + + loader = MFXLoad(); + VERIFY(NULL != loader, "MFXLoad failed -- is implementation in path?"); + + cfg = MFXCreateConfig(loader); + VERIFY(NULL != cfg, "MFXCreateConfig failed") + + sts = MFXSetConfigFilterProperty( + cfg, + reinterpret_cast(const_cast("mfxImplDescription.Impl")), + cliParams.implValue); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed"); + + sts = MFXCreateSession(loader, 0, &session); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); +``` + +Build the example with Intel(R) Media SDK: + +```bash +cd preview/legacy-createsession/src +g++ legacy-createsession.cpp -o hello_mediasdk -I/usr/include/mfx -I../../../util -lmfx -lva -lva-drm -lpthread -DUSE_MEDIASDK1 +``` + +Build the example with oneVPL: + +```bash +source /opt/intel/oneapi/vpl/latest/env/vars.sh +g++ legacy-createsession.cpp -o hello_onevpl -I/opt/intel/oneapi/vpl/latest/include/vpl -I../../../util -lmfx -lva -lva-drm -lpthread +``` + +**Note**: The oneVPL dispatcher library name was recently updated to `vpl`. Change `-lmfx` to `-lvpl` when compiling +after this `intel-oneapi-onevpl` change has propagated. + +Other than API upgrades, the oneVPL repository adds the convention of adding the `vpl` directory name before include files. +I420 is added as a more recognizable name for the industry standard planar YUV 4:2:0. + +These minor differences are shown at the top of `util.h`: + +```c++ +#ifdef USE_MEDIASDK1 + #include "mfxvideo.h" + enum { + MFX_FOURCC_I420 = MFX_FOURCC_IYUV /*!< Alias for the IYUV color format. */ + }; +#else + #include "vpl/mfxvideo.h" + #include "vpl/mfxjpeg.h" +#endif +``` + +## Run examples with Intel(R) Media SDK + +Run the example code as compiled with Intel(R) Media SDK: + +```bash +./hello_mediasdk -hw +``` + +**Expected output:** + +```bash +Implementation info + version = 1.34 + impl = Hardware:VAAPI +``` + +Check that the legacy Intel(R) Media SDK dispatcher was used: + +```bash +strace ./hello_mediasdk 2>&1 | grep 'libmfx' +``` + +**Expected output:** + +```bash +openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libmfx.so.1", O_RDONLY|O_CLOEXEC) = 3 +openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libmfxhw64.so.1", O_RDONLY|O_CLOEXEC) = 3 +``` + +`libmfx.so.1` is the 1.x legacy Intel(R) Media SDK dispatcher. + + +## Run examples with oneVPL + +Run the example code as compiled with oneVPL: + +```bash +./hello_onevpl -hw +``` + +**Expected output:** + +```bash +Implementation info + version = 1.34 + impl = Hardware:VAAPI +``` + +Check that the oneVPL dispatcher was used: + +```bash +strace ./hello_onevpl 2>&1 | grep 'libmfx' +``` + +**Expected output:** + +```bash +openat(AT_FDCWD, "/opt/intel/oneapi/vpl/2021.1.1/lib/libmfx.so.2", O_RDONLY|O_CLOEXEC) = 3 +openat(AT_FDCWD, "/opt/intel/oneapi/vpl/2021.1.1/lib/libmfxhw64.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) +openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libmfxhw64.so.1", O_RDONLY|O_CLOEXEC) = 3 +``` + +`libmfx.so.2` is the 2.x oneVPL dispatcher. diff --git a/docker/tutorial/run.sh b/docker/tutorial/run.sh new file mode 100755 index 00000000..6c03b7df --- /dev/null +++ b/docker/tutorial/run.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +docker build -t onevpl_tutorial . +docker run -it --rm --privileged -v `pwd`/../../examples:/examples -w /examples onevpl_tutorial:latest + diff --git a/env/CMakeLists.txt b/env/CMakeLists.txt index 83d29b2f..dca4d650 100644 --- a/env/CMakeLists.txt +++ b/env/CMakeLists.txt @@ -1,5 +1,5 @@ # ############################################################################## -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT # ############################################################################## diff --git a/env/bash/vars.sh b/env/bash/vars.sh index 0512a420..5d5534e4 100644 --- a/env/bash/vars.sh +++ b/env/bash/vars.sh @@ -1,7 +1,7 @@ #!/bin/sh # shellcheck shell=sh ############################################################################### -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################### @@ -111,4 +111,6 @@ export LD_LIBRARY_PATH VPL_PREFIX=`cd "$VPL_ROOT/.."; pwd` CMAKE_PREFIX_PATH=$(append_path "$VPL_PREFIX" "$CMAKE_PREFIX_PATH") export CMAKE_PREFIX_PATH +PKG_CONFIG_PATH=$(append_path "$VPL_LIB/pkgconfig" "$PKG_CONFIG_PATH") +export PKG_CONFIG_PATH diff --git a/env/cmd/vars.bat b/env/cmd/vars.bat index 420df68b..506fff9e 100644 --- a/env/cmd/vars.bat +++ b/env/cmd/vars.bat @@ -1,5 +1,5 @@ ::------------------------------------------------------------------------------ -:: Copyright (C) 2020 Intel Corporation +:: Copyright (C) Intel Corporation :: :: SPDX-License-Identifier: MIT ::------------------------------------------------------------------------------ @@ -39,3 +39,8 @@ IF DEFINED CMAKE_PREFIX_PATH ( set "CMAKE_PREFIX_PATH=%VPL_PREFIX%" ) set VPL_PREFIX= +IF DEFINED PKG_CONFIG_PATH ( + set "PKG_CONFIG_PATH=%VPL_LIB%\pkgconfig;%PKG_CONFIG_PATH%" +) ELSE ( + set "PKG_CONFIG_PATH=%VPL_LIB%\pkgconfig" +) diff --git a/env/cmd/vars32.bat b/env/cmd/vars32.bat new file mode 100644 index 00000000..157462cb --- /dev/null +++ b/env/cmd/vars32.bat @@ -0,0 +1,48 @@ +::------------------------------------------------------------------------------ +:: Copyright (C) Intel Corporation +:: +:: SPDX-License-Identifier: MIT +::------------------------------------------------------------------------------ +:: Configure environment variables +@echo off +FOR /D %%i IN ("%~dp0\..") DO ( + set VPL_ROOT=%%~fi +) +FOR /D %%i IN ("%~dp0\..\..") DO ( + set VPL_PREFIX=%%~fi +) +set "VPL_INCLUDE=%VPL_ROOT%\include" +set "VPL_LIB=%VPL_ROOT%\lib32" +set "VPL_BIN=%VPL_ROOT%\bin32" + +IF DEFINED INCLUDE ( + set "INCLUDE=%VPL_INCLUDE%;%INCLUDE%" +) ELSE ( + set "INCLUDE=%VPL_INCLUDE%" +) + +IF DEFINED LIB ( + set "LIB=%VPL_LIB%;%LIB%" +) ELSE ( + set "LIB=%VPL_LIB%" +) + +IF DEFINED PATH ( + set "PATH=%VPL_BIN%;%PATH%" +) ELSE ( + set "PATH=%VPL_BIN%" +) + +IF DEFINED CMAKE_PREFIX_PATH ( + set "CMAKE_PREFIX_PATH=%VPL_PREFIX%;%CMAKE_PREFIX_PATH%" +) ELSE ( + set "CMAKE_PREFIX_PATH=%VPL_PREFIX%" +) +set VPL_DIR=%VPL_ROOT%\lib32\cmake + +set VPL_PREFIX= +IF DEFINED PKG_CONFIG_PATH ( + set "PKG_CONFIG_PATH=%VPL_LIB%\pkgconfig;%PKG_CONFIG_PATH%" +) ELSE ( + set "PKG_CONFIG_PATH=%VPL_LIB%\pkgconfig" +) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt new file mode 100644 index 00000000..aa92f832 --- /dev/null +++ b/examples/CMakeLists.txt @@ -0,0 +1,36 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +# oneAPI Video Processing Library (oneVPL) examples + +cmake_minimum_required(VERSION 3.10.2) + +add_subdirectory(util) +add_subdirectory(dpcpp-blur) +add_subdirectory(hello-createsession) +add_subdirectory(hello-decode) +add_subdirectory(hello-decvpp) +add_subdirectory(hello-encode) +add_subdirectory(hello-transcode) +add_subdirectory(hello-vpp) + +if(OPTION_COMPILE_PREVIEW_EXAMPLES) + add_subdirectory(preview/legacy-createsession) + add_subdirectory(preview/legacy-decode) + add_subdirectory(preview/legacy-vpp) +endif() + +install( + DIRECTORY content + dpcpp-blur + hello-createsession + hello-decode + hello-decvpp + hello-encode + hello-transcode + hello-vpp + util + DESTINATION ${CMAKE_INSTALL_EXAMPLEDIR} + COMPONENT dev) diff --git a/examples/CPPLINT.cfg b/examples/CPPLINT.cfg index 696b2243..ec87427f 100644 --- a/examples/CPPLINT.cfg +++ b/examples/CPPLINT.cfg @@ -1 +1,2 @@ -filter=-readability/casting \ No newline at end of file +filter=-readability/casting +filter=-build/include_subdir diff --git a/examples/hello-decode/content/cars_128x96.h265 b/examples/content/cars_128x96.h265 similarity index 100% rename from examples/hello-decode/content/cars_128x96.h265 rename to examples/content/cars_128x96.h265 diff --git a/examples/dpcpp-blur/content/cars_128x96.i420 b/examples/content/cars_128x96.i420 similarity index 100% rename from examples/dpcpp-blur/content/cars_128x96.i420 rename to examples/content/cars_128x96.i420 diff --git a/examples/hello-transcode/content/cars_128x96.mjpeg b/examples/content/cars_128x96.mjpeg similarity index 100% rename from examples/hello-transcode/content/cars_128x96.mjpeg rename to examples/content/cars_128x96.mjpeg diff --git a/examples/hello-encode/content/cars_128x96.i420 b/examples/content/cars_128x96.nv12 similarity index 68% rename from examples/hello-encode/content/cars_128x96.i420 rename to examples/content/cars_128x96.nv12 index 93b27975..192206cd 100644 --- a/examples/hello-encode/content/cars_128x96.i420 +++ b/examples/content/cars_128x96.nv12 @@ -1 +1 @@ -ÑÑÑÑÑÑÑÑÑÑÑÑÑÐÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈÀ´°©£”‚~wnrzmfhonsijg\_c__e`X\bacYSQV\]aebeUUYXUVWV[WRX_]^YVMC@:<;544?3ÐÐÐÐÐÐÐÐÐÐÐÐÐÏÎÊÃÇÅÊÎÏÎÎÏÏÏÏÏÏÏÏÎÎÎÎÍÍÍÍÍÍÍÌÌÍÎÎÍÍÎÎÎÏÏÏɹ¡¦š~ƒz„yecerzna`png]Y\_`[[XR^ha_UQPSZZ`jkhRS]aZTROSSZaf`YROLB@97854176ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÎÍÍÍÍÎÎÎÎÏÏÏͦŒŠuqpsmlknw€y`cceg]]]^]]WVV_f\\ZVSTXUY^leRSZ^XNNOTS^ccc[SIEB>965421/2ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÉÄÇÄÊÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎÌ·™}mqw|x~€mkf_i\cee\[ZX`ZUYghVSUYYURNWR\iTQWXZRPSRR[caaYVVNF?;96421..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÉÂÅÄÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌÌÌËÌÌÍÍÍÍÌο•„‚~xgn~qflb`bXjf^ZVUR_c]`so]SQW]WNKVSR[TY]XWQQSW[_\Y\TRXQJB?@<641.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏɼ¾ÀÊÐÐÏÏÏÏÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÍÌÌÌÉËÌÌÌÍÌËÈŦ}wmdnuqedd`Y^aWU]VTS[ghgjfiWRWZUQTVTUYSZ_aWTUT[]^[YVSQRPJAB@8662.0ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏȽÂÁÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÎÍËÉËÌÌÎÏÍÊÆóœ{zsj\Ydb\bdc^a^XXTOPTY`cgia^TQQQOOUUTT`OVY[ZY[Z^]^ZURTRSMFEBC=641.3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÇÀÊÅÈÏÏÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍÌÉÆÇÅÈÈÊÍÍËÅÀ¼­”ƒrXTTSPUYnphad]ZMDCO\T]dd^XUSONNKOORP[NTWXYW\]\\^ZTQSPWPEGB><51///ÏÏÎÏÏÏÏÏÏÏÏÐÏÏÏÇÁÊÄÇÎÏÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÌÉÉÉÊÄÁ½ÄÂÅÂÆËÊÆÀ²£©‘}t^VZZYfjcqjg_YWSRTUdVQ^_WRXXSOMJPRTZYQSY[WUXZWTS]XSXRYXC98321//..ÏÎÐÒÒÏÍÎÎÍÌËËÌÍÇÁÊÄÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÅÅÆÄÅ¿»²Â½Ä½ÀÉ¿»ª‹‹‚w‹e_a^]jo\r`X_WRUX_][QQUZSRUXWMLNSSS\f]QXZXWWWZUP^\Y]]QF=7641/.-..ÐÚçìëàÑÍÌÉÄÂÄÆÉÅÁÊÅÂËÍÍÍÍÍÎÎÎÎÎÏÏÎÏÏÏÏÏÌÆÄÀ¹¿¼´§¿¹Â¼ºÅ»¼·œ†snjghcY]f`Yh[U]aSSVY^XVTPPPOOPUYVRTRRTf]NZ]ZSOPZZSYZSPLB9<<962/---.ÞíÞÏ×ìæÎü·¶»½ÂÅÅËÇÃÊÌÌÍÌÌÌÌÌÌÌÍÍÌÌÊÊÉÇÆú°¬²´«¤¯²º¹·½°²¨†{{yslXcg_[e[S]i_W`]PSTW_acVQONNPROWWMPTPR`aZc_VPLO[YUYRRZLDB=<;97300..ìÓ‰rzºíظ²±²¶·ÀÆÇÌÉÅËÍÍÍÎÍËÊËËËÌÍËËÇÅÂÀ·§¡Ÿ¦¨ œ¤°¯²¯®¨‹ypojoo_[ZXadXW_`^`YRWUTVYc\SUPPRVTSUWTRXQR\d]aZX[Y^_VUZXUSDAG<987764110âuws”Øå¹°¯±´µÀÄÈËÉÅËÎÎÎÎÍÈÃÊÌËÌÌÉż¸¶¹½­¢š“ œ˜¦´­¯©žž–{jffYidVPJNYcYRS]gbbl`ac^UYQRQPQSXUUVWXT]RQ```g]a`ki`TPONLLC?@8855654002É€†x’Ìë¿®®²²´¼½ÄÊÉÄÊÏÎÎÍËüÈÌÊÉƾ®£ Ÿ§§ž˜‹–—•¢­¬£˜“‘ˆvcej\]YQQQPYb_[iocU[gRZsp]SQMNNMKLPPOOQS\UX`WT[\ch`]YRKMJHGDHA8555554016¾…Š„~ÇìǨª²³´··ÀÊǽÂÊËÌÍËÀ·ÇÊǶ© ¡Ÿ˜™˜ˆ”˜“Ž•›”Œ‹‡uwteZUX[[RY^[Vaj]UUageef\TTNLLKKJIHHMMS^][]WS]iijY\VRVSJJC@C;864435537<»‡Šˆ…‘ÄèÛþ´±±°®¹Å¼¯²¶¹ÀÀƽ²Áĵ°¤¢œ ¢—˜“‡‚…„Žˆƒ‰Š†……ƒzyrdYXWX`ZVZXS[hTRRajhWUZXTPNMKLKHKIKRV_aVZSSnsgjcc\V`ZTUI?<;97533465;?É·³Ž†“ÄæììäÉ捻«­£ ¡¢¦©¯Âº­°µ£££¤¡£¤™—…„†ƒ„ˆƒ}„‰Š‡„€xwrkcZS[h^UVWW`\PY[aa]USSTSNMOQNNQQJFMQVaUTO^dca^fk]VV]YJQG==<:556589<>ÂÂÁ”ˆ•Äæëçææ컡¦®¥Ÿž¡¨®®µ¸²®©¥¥¥¦§ª¬­­­§™‰ˆ…‚„ƒ}‡‡„„~}{zumjg]WYRY]XV\\^[X]\^`[WRLVVONPMHHJIDCHKLTORS^aa\apa_S[a]JGC??=95677:=@@¾¾¾™Œ—Åäì×ÊäêÆ·ÅƸ¸²°Ÿ‰rlpˆŒ{liiklou}ŽŽ‰‡ƒ„„}‰…ƒ|zxusnmf\]dab\UV[Y__b[U]YZ_ZURMOOQMEGGDBDFEERIQUZX^_a]Uf`Y[[TMGFF;86678;?GH¾¾¿š—ÃåìãÞêéáàãâääà£_RWZ\`a€„bNJJRghc]PM~Œ†ƒ……}Œ„|€{ytttpjeZ[ed^VXRU^fcgZPUVh_bZPPQPLJFHPIGPX`bijqy{wvzxqdgfXTZ]THCA<;9878==ÆÉÌÆÁÄÎàëëëëëëêèçææ¿WNƒ²³´µ­œ–lcn_YWE:7:SR~ƒ‚Š‹†€‰…~|z{|wxr`Z[]XYYYX`ZSOar‚ykb_eUWPNRTNKa–wzslihedbbbba`acdfie`VH>:9;;:::::>>==äæççæèèçêëëéåâÜÔÎËÅUZY–˜“Ž¶›†¢l][QD95Lga„ƒŠŠ~…„zwwywvtf^`\RS[Z\_VT_fkhbX^cdUXOMPTNHpyNVY\_bT@BA@??AOWYZ[]TSG<9987::989;>@@>íìììëììììììçÜÍƾ»±vfV2:=;B^\dijk^VVlb=6O~X~‚††€~ƒ€zvw{yvsmg_WON[Z[WUX`^[MZb[][[`WMNUQKwaz––› ¦”K;98>@DRVSSR^vRC895`{;8888;ADCCîëêêêééééêÝο©¥¦¤¢šf{H4:OSDQUTTTVXOU{iC7£fn‚ƒ€ƒ||try||ulcd[SQIFOXXW[\QNMVY]_W[b_SNOLRˆbŠ¬¬¤ ˜Œ]F8=KNSXJ@=;=`bD796UB799;I‚–‡LA878KRMJx•]55E_€ƒ€‚…}xwsuprwrjg_UVWVY\`]XJISY_[\[YYZ^WQIDBƒ}Y>I8888HOMJJSUSH<=><;@fQ;82‰âS48;<>CILLºÀ¾½¼¯™ŽŽŒŒ‡„„ˆˆƒt{pELKuŒwNF<;:>>;F‘šS66:Œmvƒ€‚~xvwwmnunjhbU^i\WU[\YQQVZ_b_\Z\[YQIFBKšjQ9C7;KCBK>65FSN?ADD=8>_X<:7‡áT39<=BGHEM©¦¢ ¥§¤¦©««ªª xjp|j…oPUczwPJIJLLLEGX‹K=96„xi{^Uk{zzvnmplkgf_hrbZOR\]WTVZ[a[Y\bZQOOOMm YL;@8TxxI>8659=;<@BC=89UWAAO_zF6<<@FKKCT’ŽŽ¯ÅÄÄÄÂÀ¿ÃµI7G|[]VQSKPEFOWXXQMGP[wiKD:6THPV74H€|y{zqikmoje`_[^[OQXXQQV\\\[[^^VSRV`f‚’IKDF@WIA>7477:ADDDB=7PV@FaZQ?:=<=ELOU`„…„“‘d]XZ]UTUT;75=IC9878:><;<;9;9:99BDDJJMTbmlnoš“”‘ˆvnrzk\VVTTQOUWPPZ]\Y[a^[SRQUdt‚~>ttIDDWMAGH@@ABIKJKKJH=CFBH_WVH=<9TDKU>=><8888888899995Kƒ“¤¥§«««©¨§¥¥¥¥¥¦©§œvobWV\XWYRQTQRT\_]daYWTQJKQR\iYXZ?9;BEFHJUkkmmYB@?=AF¤ŽGM<<<;999999889998=•‚‚~{xtqommoomlmmpq|‡kdXRY[]]XSNPUT\ddd\SSVTLFb„\pymgUMT\^]^^^]^^^]^YPSenwKö‚MPUmotsnj¤çÌ‘LSSQNNOPOLJT«–OD87;:787777898784ešbhnoqtsy„©¦Ž‡}ywwvmwyg`WZ[\YVQPPUZ\WZ\WPRXUQU|·‰wmofdaXctpnmkjiihijorf^__epjY½–Š‰„}|vtql¦ãÙº¤¦ª­­°²³²±²­„\r{\875554668B9657zl„“˜šœž”ja\Rƒ œ–‚oqia\]YYVW[]SQXYSNOU\YY[bt¨†iZ]]\ZX_e^ZYXYYXXYY[a]YYYZ[VNz’‡‚rqrqoj~©·¸»¾¾ÁÄÅÆÆÅÄÀ‡jj ²»f433334575573F^€¿ÕÙÜÜà½eYOK€ÜàÝÛÛÜ¢p^tnoqnpx‰“‘††‘“‡„®—}}‚s–wcVWYYYYXWXXWXXXXXYXXXYYZZYWTLfŽˆ~viktumjuttwxz{{}€‚‚‚…}Qh¦Àµ½wC?Mj˜idojZSLAAAo[jgggiijmoruwwvuttrqppri[ec[ºÎÏÝï’LIZZD_…oJLŠk=DƒíçäâÃXKX[YZYVUWYY^{xtrnllllnoqrrriE934GLZ|}•bfncŠíÕk|–XfLe;7989:>T|faJ88:;;FBb_aiihedeffhloruvxxvsqppjNU^MŸàÕÚæë€ECŸ›;‹Ô¸Hk¼V>jãêÕÇÆ“NLU[XXXZYXXXW{{zwrnlkkklooprf;22446:@J[bw—«ÞÍ ™„XaGE9?C>:969BB@88GcX9<;Ne[kljjgfgfeefhknquwwwvulIJSQ[qŽ©ÉûºNFaÐ}ƒØ²aÃHKŽöß—|`VQKQVVUVZYXXXXzzyywsnkihhklnpd80178>:?fTijgklhfddccbbdeiosuwxoGELPPPV`Ž³‰pk[ªä¥»§¾Õicnw™‘`YWUPKQTSTUWYVWWWxxxxxvrmihhhikmd80136=EXq—­ÙðïÙ¬©· dRSNMKKLMMLI=:88:J\{`JJF@NP_d}pfilheddcabbbglpruoFBINQTX]```dkt‚ÊéêèÞ urjgb`_[WSNLUWVUTW[UVVVvwxxxwvrnjgfghje:0125;JPZq‡Èð㇃œ•d@CBHUXQGDJXK>AA?@BOwcrvZYXZZZ[[\y^EEDBBCA@AABA;===<<<<<<<>==;>?:89::9778887;AZhffhknnlhge=5FJNŽ°s]POB@>?F\P^WPRJFJQSb¯Æ_DV¹°‘wmmmnnjh`dgjmopqstttsqoc6:43B91/---+++)@u‘ƒ„­¿£i\]]\Š`<@<;7777777=?Nfhgffhjjihf:4FEJ©Åm]^SEJJKKNJFFEFF?E_^_š±\@Kš»ÉÁ§xrpnl€_egjlnoqsttsrnb5:63BPGB<:2++,*Ds‡wãéà­eccp–I?989;;:<=;]_A>EJ<4455775;BC_lihgeeghig72B@AZlacidKDBEIHJLNPQPO]mkc]XICHaiz ÉÒÁxnn¿w`ehjlmoqssrqjZ39534=?@832247Tlkigeeddhf60=::?HR_inokihhhiiigffijg_UMC;449RP89=<77:JTP:B`UNC:66>@Gdlmnkha`cd6.86;../234766766554320.,-,,,-GIBdlllgg€©ÇÔ¹ÁÏ­b]cgiklnnppjeYLHFFFGGFFHHHHHESKLJPWƒµˆ©¶¨N?:44NysB587332169>EKNSTO@5:B@Zl]VU]gbcb6-6BbC0-680+('(('&''),49AUS+&=VJBdlllkjgg{¥Ë°ÅÑ™\_dgijlmnnlkheb`_]\\\\]^`cf[LIKIOWZZnÉ®?@966[Žˆj<:511234:EGPV_]\P76A?PkC55;ce]W2.8408B?AB@=;9999999:„°w;@>MLCVXNBB;00113@HOMYc^XN:4??BK;765[eVO2.50,4<<;::::99877777678899)".24:ZcegijjjjigV”¾ÌÃq\cehikmnnoonlkjhdca__`bcb_EDIIPECIBR[TNJ<5<;=;614AchcU<0/-,320.-,,++***))))(()+--*)233;_d`_bfikkkk[~²Áέc_dfhkmmnooonmljhfda``aab^@BHINE9ZB>=@;@J@;;:::::=BA<<;:999888:@IHGB;BZV^hjihaWH@>>@BDFKLLIGEDDDEFFFFGLQTWZ[\^amnkebcfhijj\`‚»Æ̘_aegjklmnoonnllkifca`__b]BECA@?=>@@@?@@DD@E_>>>=>Gj·—dgghhhhiijjjiiigfdbcfjjkjhea_^_`aa_^]^bhkloppqqqnrw]OOa«ÂÌÉ{_dfgikkmmnoomlmkgeaZ0378878Lk•pU?<=<<==<;9888886788888788:;;:<@F@[diggghhhhhihjiiiiiigcbcefikkkfc`^_____^\]afilnnpqqrrqgWQOsµÃÑÁqadfhkklnmmmnnmkie\N/34:621DfrVJGI>>?;;=<;;<>>BSHCCBBAADDI]…ž›°UC`fffgggfffghhhiijiihecbbchkljjfaa_____]]^_afklnoorpnodTWk¿ÉÕ³haegjjkklllmnmljf[H.2321?DFVVN’©ŸŠ±º wQKKIJLMT‚aVTWTSRNI”çíéÎÁÐæT7bgfjlidfffghhhhhiiijidbaacfjkmlifccaabaa`_^_dhjlknoooiYRVW™ÈÈÒ¡_bdefgiijjllmmkieQ2//..21BOED¾ãÈÂÛçñîqFQ\ab|§œš¤ŸwXXWEBŒæëÙßíöÌI8cfm·ÒΉdgffghhhhhijkigdbbabfkmlkkhfcbbbbb`]\\_eijprrqoeSNL_®ÇÏІ^bdefhijjkklljje\J5111/+=K68™òòìâåê¸n@6984]}‚„ŠwT.118Ls~®¶±¨˜b<8bgfº¸Ÿfcddggggfghjjjigedb`bdjmnnlifccbb`^\[[[^aerrstuvgTOKxÁËÒ¾l`ceghjjjkkkkjifb]SNNNNOGH38Sˆ¡£¤ Šr‡kD;<:L‹¥¦¥‹D@CDHn•r^VLC9557ahgefbcedccdeeeefghhhhhgeda_^bjkmmkifdba_[[[[[[\^qpomloi]RMQ¡ÈÊÕŸ]adfhhiijjkkkjheb]\[YYXKG26:88>923IWE98BI]r<@AACIJB=9416eIDF62†Õ£42>aihhgggggejlhgdddeeeffggggghiihecb```ejkjie_^^^^\sqmlppmmmneNLKf³ÄÌÖ‰_egggijkklmlkjjjhfcA9>91;µæ¨57GO?h_ABCEMRMKIIGiwVX>42‰š[14A`ihhggggggfeeffeeeeeeefgggffgghgeda_]`dhjlkd`_^]\ponhloqsrpiRKMMƒÁÃÓÂobfggijkkllllkllkjgIR>926g•345f_T{st£ƒ}|z{‚Vhb4330,.17@]geeddeegfghhhebcaacdefgggghgghhgfc`]]`dhkljgb^]\oihkkmsuuus`ML[n¦ÂÉÕªddffhklmmmmnmmlkjjE@=<64103764NMDOVYrw|bX[mQGEGGM85540.0;Pr…‹Ž”˜œŸ£¥¥¦¦¦¥ “‡wleffffgggfghhgfd`]^aeilmljga_lmmlqroosstmULPQf³ÆÌÔ“bffhjkllmmmmmlkjkA(=932444346BLJNRW^]koYWUPJHD@@2.-9Uw¡®³´µ´±±­¬«ª©¨¨¨¨©ª®±¯¢veeefghhhggghgfd`__afjllllfc{utrxumlnnlnhNJLK|¿ÃÐÊucefhhhijkllllkjf@&<3---,,+**,..--,*)+,(&''&&%$%&$] ±²«§ ›—“‹‰†~~|{{{{||~ˆ‡heeffggggffgfffeb_]afilnmli}vpnkjllmkfQKMMRžÁÄÖ«aacfffhhijjjhf`Y=$9/)+*)++*+,*********..354448<:PªŸ“‡{snkgecca_^^]\\\\\]^^_bnqdeefffggfffefgffa^^aeimnnkwxuvuonjmnomlcXNMJh¹ÁËÒ{Zadffggghhheb`ZC%8/,)'2=>AEFEDDDEEFEEFFHIIHFEDAqšphd`^\YXXYZZWr‡TUXWWXXXXWUUR^gedeffggffffffffdb_]`dhmnnqwtwvnpkjlmmptjSLKPšÄÇÖ²aaeggggghhgghi`F*8/1/*-3112121222232110000.--+0‘~TVVVY]acfg]D=GR?@Uhhgfffeb`VAbdcdedffeeeefeeeeca^]]bilmnupnmmnkiklnnojSLKMk½ÇÏÓ…_deghgggggggf_J14/12/'%#####"!!!"#"""""!""""A¥^Gfjrvwz{}[gnhtjTOM>78889>tOOdcdddefeefefffeeebb^\]cilpnoutpmopoiilkkUKKNP™ÈÇÔ¶babcfgggffffd_UC1-../*())))(((()*+,-...011130l‘Eo ¬®°´¹¼ÀÀ±²‰¦}NQF3223453]lA_`deddeeeffgfffffeda^\^dhlnpsqnmqttoilmgVLKMLi¾ÈÍÒ…beegghhggffd`ZTIAA@?@@BBBAAAAABBCEEEFGHHHGGFoFzoÄÃÂÃÃÂÂþšÎËž¯†OO<2323345CyAqbfddeeefggffeefedca^]_enmmnrtsqvpnmlmoeQKLNN—ÊÊÔ»iefghhhgffgeb^ZUQOOMLLMMMMMNOSUUVWXYXXXXVUS_•XTrQ½Æÿ¼¹µ¨ddhb_UQL512222366lWcÞ‘bbcdcdefeeedddeddca^]`lqusqrroslkkjkreNLMMJe»ÊÍÔ”bfhhhihggggda_\[YYXVVVVUUVVX]`abeggdba`_]Yx‘Mcb«¨fabcccdeddddccddedb`][qwxrkjkprlilttth]WNLMQÌËÑÅsdhhijihggggdbabaa_^\ZZYZZ[[_acgjjjggdcca]…}BnsS;3666626565;YD@BB411243323Az?Nadcbcbaddccccccddddcb_\kkmjddcnnv{xywrlqfPLNTd·ËÊÖ§fhhijiihhhhfeccbba_^\[ZZZ[\_`bfhheeecbbaa‚j>u¤j:;;<;9221103\5135620138@926xQC_ccbedbccccccbcddddccbaspmlkvosnxyxvw}n_SKLMN„ÇÇÐуdghhhihhiihfeeddc`_]\[ZZ[]__aabbaaaba`^dw\C€{>237AB:21000/4//5DFB>?BGLF4/bf:]aYY^hhddcbbbbccdddccbb…€|xy|znmszy{€{i`SKKLMXªÉÇ×·hdfgggghiihgfeeeeca`^\[Z[\]_``aaaaa`_]ezƒ[Ku6167ETVMA8/0/58;1Vc^^RCDDDDDDCA>=>B7?sFJ;?Yfeeffdceeedcccdd……†‡‡‡‡‡‡‡‡‡‡†††††‡‡‡‡‡‡‡‡‡‡†„‚|vutttvxwxxxy{{zvuwzz{{zyz|}€€€†††††††††††††…………††††††††††††„}zvtsttvxxxwwyzzywuvvxyyxwx{}€€€………†………††…†…………………†…†…††………††„‚‚|vuuuvwyxxxwy{zyxvvuwyywxxy|}€€€…………………††††………………………………………………ƒ‚{yywvxzzxwwyz{zywvvwxxwxyy|}€€€†…„„………†††…††………………†…„…„„„„„„‚|zxwwxzzxxxzz{zyvvxwxxxxyz~~€€€…ƒ‚ƒ„„„…………†……„……………„‚ƒƒ‚‚ƒ‚€}~|yxwxyzyyz||zzxyvvxyzyyxz|~~€ƒ„„ƒƒƒ„…………………„†††…„‚€€‚}~}}{yxwwwwxy{{{{zyxwwwwxxyyy|~‚„…ƒ‚ƒ…………………„…†…ƒ‚~~€€}||||zywvwvuvz||{z{ywxwvuuwyyy|~€€€ƒ‚‚ƒ„„†ˆ†……„‚€€€}||}}~~}|zz|{{yxwxwwxy||{{{zwwwvtuvwx{~€~€~~‡ŒŒ‹ŠŠ‰Š‹‹‚zz{{||zyxy{z{zyxxyyzz{}|||{{zyxvvvuvz~}~~€€~~€€€‡ˆ††ˆ‡ˆŠ‹‰{zzzzyxxwy{z{{ywwwxxz{|}‚ƒƒ††††ƒ‚€zvz~~}~~~€€€€…„ƒ„„„†‡‡‰ˆ}xxvvvvvvy{zzzyvuvwyz{|…††‰‹ŒŒŒŒŒ†z~~~}~~~~~~~€…†…†…††„‡‡vutuvuvvy{{zyxzzyyyz{ƒƒƒƒ…ˆŠŠŠŽ‰€€†€~}|}~~~}|}}}†‡…‡ˆˆˆ„€†ˆvssttuuvyyzyyz{{yzzz|†ˆˆ‡‡ˆ‰ˆ‰‹‰‚€†€}|}~~~~~~€‚††…†‡‡ˆ†€†‰‚xwussstvxxxyyzzzyyz|~‚‡‹Š†‰ŠŠ‰‰ŠŒŠ‚~~~|z}}ƒƒƒ„„ƒ‡ˆˆˆˆˆˆˆ‰…‡‹Š‡†ƒ~{xuwxxyyyzyxxy|}ƒˆ‰Š‰ŠŠŠ‰ŠŠŠŠƒ~}~{ws}~ƒ‡‡‡‡ˆˆŽŽŽŒ‹‘””‘’’’‘}wxxxyyzyyxz|~‚ˆˆˆˆˆˆ‡‡ˆˆ‰ˆ‡€|zysol~‚„†††††‰‹ˆŠŠŠŠ‰‰‹ŒŠˆˆˆ‰‰ˆ‡…Šˆ{yzz{{{zyyxw€……†…‡‰ˆ‡…†‡„…†~qigjkk„„…‡‡‡‡‡ˆ…„††‡††Š‹‚}{~†‡}|‰‡ƒ‚‚~~|y€…}yxwwutuvvy{zqjjlkj‡††‡ˆ‰ˆˆ‡„€‚‚‚ƒ„…‰‹†„ƒˆˆ‚‚†Š†„ƒƒ„„„„„„‚‚„‚€}zzxvvxxy}}|~{u‰ˆ‡ˆˆˆˆˆ…„„„„ƒƒ‚ƒˆ‰‡‰‰ˆˆŠˆ‡††ˆŠ†…„„„ƒƒ‚ƒ‚ƒ‚~~~}~~~€}{„††…‡‰‰‰ˆˆ‡ˆˆ„ƒ„†…„‚‚ˆˆ…††‡ˆŠ‰‡ƒ†ˆ‰†………ƒƒƒƒ‚‚‚wttvvx||{yvtt}„„…„†‰‰‰‰‰‡‡ˆ„‚‚ƒƒ‚€ƒŠŽ‹‹‹ŠŠŠ‹ŒŽŒ‹Š‰„ƒƒƒ‚‚wsstw~~{vrrs{‚‚‚ƒ‰‰‰‰‰ˆ‡†„‚‚‚‚‚‚„‹“•••”‘‘’’””“’’’’’‹‚‚ƒwssv|„ƒ€€€ztst{€ˆ‰‰‰‰‰ˆ†ƒ‚‚‚‚‚‚‚†Œ‹Ž‘‘ŽŽŒŒŒŒ‹‹…‚‚|zyy~€€€€~zy{}~„ˆ‰‰‰‰Šˆƒ‚ƒ‚‚‚‚†Š‚‚Š‹‹ŠŠ‹ŒŠ‰Š‹ŒŒŒŠ‡……„ƒ‚‚€€~~~~~~~~€‚‚€†‡ˆˆ‰ŠŠ„€‚„ƒƒƒƒ†‡„‰ˆŠ‰‰ŠŒ‹‰‰Š‰‹ŒŠˆ‡††…ƒ‚€€€€€€€€€€€‚††„‚€}€„†ˆ‰ŠŠ‡ƒ„„ƒƒƒƒ„…ƒ€„ˆˆŠ‰…‡Š‹Šˆˆ‡‡ˆŠˆˆ‡‡‡†ƒ„………„„„……„ƒ‚‡‡ˆ‡„||†ˆ‰ŠŠŠ‰‰‡„„……„„„ƒ„†ˆ‰‡†‡ˆ‰‰‡ˆ‡‡‡‰ˆˆ††ˆˆ„„…………………„„ƒ€‚…†‰‰†}}~ƒ‡‰‰Š‹‹‹‰‡……†„ƒƒƒ…ˆ‰ŠŠ‹‹‹ŒŒ‹ŽŒŒ‰††ˆ‰†ƒ‚‚€€€€‚„†‡|~}}„ˆ‰Š‹‹‹Šˆ‡††ƒƒ‚…Š’”””•””•–––––’‰‡‰‰‡†…„„‚€€€‚€€€‚ƒv}}†‰‰ŠŠ‹‹Š‰‡†ƒ‚‚€ƒ‹’“——–••”““”””•–•Ž‡‰‰ˆ‡‡‡‡†ƒ€€€‚‚€€€€p{€~‚ˆ‰‰‰‹ŠŠŠ‰†ƒ‚„‹ŽŽŒ‹Š‹ŠŠ‰‰Š‹Œ‹‡ˆ‰‰‡‡ˆˆˆ…ƒ€€€€‚‚‚ƒ‚€€in{}|~ƒ‡‰‰ŠŠŠŠ‰ˆƒƒ„†‰‡‡………„„………ƒ‚„……„…‡‡ˆˆˆˆˆˆˆˆ‡…ƒ‚‚‚‚‚€jiq{}~…ˆ‰‰‰‰ŠŠŠ…‚‚ƒ„‚‚‚‚‚‚‚‚€€‚ƒ‚‚ƒ‡ˆ…„ˆˆˆˆˆˆ‰ˆ…ƒ€‚„„‚likw€~~‚‡‰Š‰‰ŠŠŠˆ„ƒ‚‚€€€‚€€€€‚‚‚…ˆ‡‡‡ˆˆˆˆˆ‰‰ˆ†ƒ‚‚„†…llls€}~…‰Š‰‰‰ŠŠŠ‡…ƒ‚‚ƒƒ€€€€‚‚‚„ˆ‰ˆˆ†‡ˆ‡ˆˆˆ‡‡…ƒ€‚„‡†lkinz€~|€‡ŠŠŠŠŠŠ‹Š‰„€‚‚‚€€€€€€€€€€€‚„ˆˆˆˆ„ƒ†‡ˆˆˆ‡‡‡‡…€€‚…‡‡kjhhjy€}~ƒ‰ŠŠŠ‹‹Œ‹Š†‚‚‚€€€€€€€€ƒˆ‰ˆˆ‡†‡‡ˆ‰ˆˆˆˆˆ‡…‚ƒ††jkhfes€~}~…Š‹ŠŠ‹‹ŠŠˆ‚€€‚€€€€‚€ƒƒ…‰‰ˆ‰ˆˆˆˆ‰‰ˆˆˆˆˆˆ‰†ƒ‚€„„kiffek{€~}†‰ŠŠ‹‹Š‹‰‚€€€€ƒƒ†‰Š‹Œ‹‹‹‹ŠŠŠŠŠˆ‡ˆˆˆˆˆˆ†ƒ‚‚ggfgfhp~€~~ƒ‡ŠŠŠŠ‹‹ƒ€‚ƒ„„„„„„†‡‡‡‡‰‰‡…ƒƒ‚€†ˆˆˆˆˆˆˆ‡†‚€€hggggghu~‡ŠŠŠŠ‹Œ‹ƒ€‚„……………„………„††‚€€€‚ƒ……„„…‡‰‰ˆ‰‰ˆ‰‡‡†‚€hhffgghr€…Š‹ŠŠŠŠ‰…‚‚‚‚‚‚‚‚‚‚‚‚……‚€€‚‚…‰Š‰‰ˆˆˆˆˆ‰ˆˆ‰ˆˆˆˆ„ihfgggho}€~€†Œ‹ŠŠŠ‰‡…ƒƒƒƒƒƒƒƒƒ„………†…ƒ‚€ƒ……ˆ‰‰‰‰‰ˆ‡‡ˆ‰‰ˆˆ‰ˆˆ‰ˆƒjiihgghju~‚Š‹ŠŠŠŠ‰‰ˆ††††‡‡…‡ˆˆˆ‡‡„ƒ†…†ˆ‰ˆ‰ˆ‰‰‰‰ˆ†‡‡‡ˆˆ‰‰‰ˆ‰‰‡lljijjiho~‚€€†Š‹ŠŠ‹‹ŒŠˆˆ‡†‡‰ˆŠŠˆˆ‡ˆ„…‡†‡‰Š‰ˆˆˆ‡‡ˆ‰‡ˆv€‰‰‰‰‰‰‰‰lllmnnlns|€}}‚ˆŠ‰‰Š‹‹Š‰ˆ‡‡‡ˆˆŠ…uy‡ˆ}~ˆ‡‡ˆˆ‡…††…††††‡€y€‰‰‰‰ˆ‰‰‰{{zz{{{zzzz{{zzzzzzzzzzzzzzz|ƒ†…ƒ…††‡ˆ‡††‡‰ˆ†‡‡‡‡‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ„„ƒ„…†ˆ†……†ˆˆ‡†††††††††††…„‚zzyzyyzzzzzzyyyyyyyyyyyzzzzzz‚‚‚……ƒ„……††……‡‡ˆ‡††††……†‡‡††…„‚‚zzzyyyyzzzzyyyyyyyyzzz{|{||z|‚‚…„„„……………†ˆ‡††……„…„…‡‡‡‡†„ƒ‚‚€€y|{zzzzzzzzzyyyyyyyz{{|~||||~€‚„„„„……†……†ˆ‡††…„………†‡‡‡‡†ƒ‚‚€{€€~|}}{yyzzzzzzzzz{||~}}}ƒ‚ƒ…„„„……‡††ˆˆ‡…†…„………†‡‡†……‚‚‚€€‚‚€~|zyzzz{{z{{|}~€€€‚„„ƒƒ„†…„„„…††‡ˆ†††……„„…‡†‡‡‡…„‚‚€„€€~}|{zyz}}|~‚ƒ‚€‚ƒ„……†„……………„„…‡‡†………„……†††‡‡†…„‚€ƒ‚€€€€€~|{z}}~‚ƒ„„„„ƒƒ„ƒƒ…‡†††………………„„††‡†…„„„„…†††‡†…„„‚‚‚ƒ‚ƒ‚€€€~}}}}~~~~~„„„…„„†‡††††……„………………†…„ƒƒ„ƒ„……………„ƒƒ‚‚‚‚ƒƒ‚€€€}}}€}|}}~ƒ„„…„„††‡†††………………………†…ƒ…ˆŠ‹‹‹ŽŽ‹†‚ƒ‚‚‚‚ƒ€€€‚ƒ‚~}{{y{zz}~}ƒ……†‡‡†ˆˆ‡††……„…………‡………‡˜›œ™™™™™™™Žƒƒƒ‚‚ƒ‚„„„‚}|~|yyw{~}‚††‡ˆˆ‡ˆ‰ˆ†…„……„…†‡ˆ†††‡~|{zzzyz{‚ˆ‚‚€ƒ„€‚ƒ„…†…€|}ƒ~xxx|ƒ~††‡‡‡‡ˆ‰ˆ‡…„„„…†ˆˆ‰†„†‡}}~|{zzzzy}‚‚‚ƒ…‚ƒƒ„…†€{}€}xy{~…~…††ˆˆˆˆ‰‡†„ƒ„„…‡ˆˆˆ‘“††{}}|{{{zz{’†€‚……†„€€€‚ƒ€}}}}}}~~‚}}€‚„…†††††„„……‡‡‡ˆª¶”‡{|~}{|}}{zy«µ‰€ƒ„†…|{yz|}|{|||||}}}{yxz{{zyyy†…†…„……†‡ˆˆ•˜”–‘‘‘‘”••””–——™ƒ‚ƒ„€|€†|}}~~}|||||~€}}{|€„„………„…ˆˆ††„‚™µº¼³³¹»¼º´»Áº°ˆ€€€~~~~‚‹ƒ~€|||}}||{}~~~‚‚€„…„ƒ†…žÁÌÑÓÔÕÖÖÔÓÓÍÅ°€€~€~~„„‚‚„‚|||~~zy{}~}~€€‚‰›†‘žª®°±±®¨žƒ“˜€{}€~~€‚ƒ„ƒ~|||}}{z{~€}}}~€€€€Š´¢‹‡ˆƒƒƒ‹„„›· ~€€€{{|~€€~‚‚„ƒ}||||||||€„}|}~~€‚€€‰¿ÐȹÀ¼™‰Š¤ÃÀÃÑУ~€€€{{{{}€€€€‚…ˆ…|{{{{||||}}{zzz{{}‡¿ÐÏÊ»¦•Ž—¯ÁÏÑÍ €€€}||{|}€€€‚‚ƒ††{yxvvwzyyyyzzzzzzz~‚‚€„½ÑѾ€„ƒ‚†—ÇÓΞ€€~}}}}~€€€€|}|xwy|||{{}}{{{{{|€‚‚‚‚©¶±Ÿ€‡‡ˆŠ„€¦ª±’‚‚‚‚€~}}}}~€€€€}}z{|||{{|||{{zz{~‚‚‚…†‡…‚‚€‚„„‚‚‚‚†‹‚ƒ€}}}~€€€~‚„|{|~}{{{|||{z{|€‚€‚ƒ€€€€€€€€€ƒƒƒ„ƒ~}}~€€€€~‚~|}‚~{{{||{{zz|}€€‚€€€‚€€…„‚€~}}~~~~€€€€€~€|}|{||}{{{{|~€‚€€€€€€“‰‚€~}~}}}€€€€€€~}|}|zzzzzzzz{}|~€‚‚‚‚€€‚ƒƒ€~†„ƒ‚€}}}||~€€€€€€~|{{yxvuuuvvvvuwwx}~}€‚‚‚‚‚ƒ‚€€„„ƒƒ‚}}}|}}~€€€€‚€{xxwvvwvwxxxxxxxw{~}~~~€€‚‚‚‚ƒ‚‚‚ƒƒ‚‚‚}}}||}}€€‚€}{{||{||}~~~}}€~~€~~~~~€‚‚‚‚‚‚‚}Ž‹‚‚~}}|}}}~€€€€ƒ…‡„‚‚‚‚ƒˆˆƒ‚~~~~~€‚ƒ‚‚‚}|ˆˆ‚ƒ}~}}}|}€€€…††„‚‚‚„„ƒ‚ƒ†‡‡ƒ€€~~~~~~~€€‚‚‚}}€‚ƒƒ‚€}}}}~~€€€…††ƒ‚„††ˆˆˆ…‚‚ƒƒƒ€~~~~}~~~€€~~‚„ƒƒƒ~}}}}}}€‚„ƒ‚‚‚‚‚ƒ‚€€~~~€~~~}}}}~€€€€‚€}„ƒƒ‚‚€~}}}}}~€€€‚„†…………‡…ƒ‚‚‚€~~~€€~~~~}}~€€€€€‚€{{}ƒ‚‚~~}}}}|}~€€ƒ„‚„†‡‡‡‡†…„ƒƒƒ‚€~~~€~~~~~€€€€~zyz„“ˆ‚~}}}}}}}€€„‡‚ƒ‚‚‚‚‚…‚€~~~~~~~~~}~€€€~yxy}…‹‡‚€~}}}}}}~€€€€€ƒ‚€ƒŠ•™Ÿ¡¡¢¢Ÿ˜ƒ}~~}}~~€~zxxzƒƒ‚‚~~~}}}~€€€€~~~~~~}{Œ´ÁÆÉÊÌÄÅÇÆÅÅÅž|~~~~~~~~€~zyxyzƒ‚‚‚€~}}}}}~€€€€€~€€{”«£”Ž‡‡……„„„ƒ~~~~~~~}~€‚‚~zyy{z~ƒ‚‚‚€~}}}}}}€€~|wwwwwwyyyzzzz{~~~~}~~~~~‚~|y{|{}ƒ‚‚‚~}}}}}~€€€€€€~|{||}{zzzzz{{{|~|~~~}~~}~{|~~~~€‚‚‚‚~}}}}}~~~€€€€€~~~~€}|~}{{{||{}~…‹~~~}}}}~ƒ~‚‚ƒ‚‚‚ƒƒ‚€~}~~|}}}~~€~‹‚‚ƒ~}~}}}|||{}| ×¦~~~~~~}~ˆˆ‰ˆ‡…„……‚™}}}|||}}~~|•Ñdž„…~}}~}|{|}}}}}~~™¼ ~~}}}~}ÑÑÑÑÑÑÑÑÑÑÑÑÑÐÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈÀ´°¨¢”‚xmpynhiooshjfZ_c`_d`X\b`bXSQV\^afcfVUYYVWWU[WSY`^^ZVMC@:<;544?4ÐÐÐÐÐÐÐÐÐÐÐÐÐÏÏÊÃÇÅÊÎÏÎÎÏÏÏÏÏÏÏÏÎÎÎÎÍÍÍÍÍÍÍÌÌÍÎÎÍÍÎÎÎÏÏÏɹ¡¦š|ƒzƒwecdr|o``png]Z\_`[[XR_ia^UQPS[Z`jliRS]b[SRNST[bf`YROMCA97854177ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÎÍÍÍÍÎÎÎÎÏÏÏΦŒ‰uqpronnpv€y`cceg^]]^]]WVV_f\\ZWTTWUY^leRSZ^WNNPUS_ccc[TIEB>:74421/2ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÉÄÇÄÊÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎÌ·™}orx{wmjf_i\dff\[ZX`[UYhhVSVYYVQNWR\jTQVXZRPTRR\cabYVVOH?<97521..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÅÃËÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌÌÌËÌÌÍÍÍÍÌο•Ž„„ven~rfkb`bWje][VUQ_c^`so^TQW]WNKVSR[TZ]YWQQTW\_\Y\TRYRJB@@=651.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ¾¿ÊÑÐÏÏÏÏÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÎÍÌÌÉËÌÌÌÍÌËÉŦŽ~|ulcltqede_Y^aUU]VTS[ghhieiWRWZUQTWTUZS[^aXUVU[]^[YVTQRQKAC@8662.1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɽÂÁÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÎÍËÉËÌÌÎÏÍÊÆóœ{|th[Wdc]bdc_d^XXTNPTZ`cgia]TQQQOOUSTS`OVX[ZZ\[^]_ZURTRSMFEBC>641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈÀÊÅÈÏÏÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍÌÉÆÇÅÈÉÊÍÍËÅÀ¼­‘~rXTUTPUYorhcd^[MEBO[S]dc^XUTONMKONROZNTWXYW\]\\]ZUQSPWQEFB><51///ÏÏÎÏÏÏÏÏÏÏÏÐÐÏÏÈÀÊÅÇÎÏÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÌÉÉÉÊÃÁ¼ÄÁÅÂÆËÉÆ¿±¡§‘‚}u_VZZYfibpjg_YWTSUUbUR^_VRXXTOLIQRU[YRSY[WVXZXSS]XSYSXXB98321//..ÏÎÒÒÓÑÎÎÎÍÌËËÌÍÇÀÊÆÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÆÅÆÄÅ¿»±Â¼Ã½ÀÉ¿»©ŒŠtŠe`b]]io[q^X_WRUW_]ZQRUZTSUXXNLNTSS[f^QX[XWWW[VP^\Y\]PE=8751/.-..ÐÛèììãÒÍÌÈÃÂÃÆÉÅÁÊÆÃËÍÍÍÍÍÎÎÎÎÎÏÏÎÏÏÏÏÏÌÆÄÀ¹¾¼´§¾·Á¼ºÅº»·š†~plgfgcX\e_Xg[U]aSSVZ_XWUQPPOOPUZWRTRRTe]O[^ZSOPZ[TYYSQLB9==:72/---.ÞîáÑÕêæ춶º½ÂÅÅËÈÄÊÌÌÍÌÌÍÌÌÌÌÌÍÌÍÊÊÉÇƸ¯¬²³«£­°º¸·½°°¦…z{xqmVbg_[eZS]j_Y`\OSTW_bcVRONNQROVXMPUPR_a[b_VQMP[YUZRQ[KDC=<;97300..íÔ‹sy°éÙ¸²±²¶¸ÀÆÇÌÊÅËÍÍÍÎÍÌÊËËËÌÍÌËÇÅÂÀ¶¦¡Ÿ¦¨Ÿœ¤°¯²¯¬¨›ˆypmioo_ZYWadXW^^\aZTXVTVXc\TUQPSWTTUXURXRR[c\aYY[Y^`VUZYTSC@G<977764111äuvsÓç¹°¯±´µÀÄÈËÊÅËÎÎÎÎÍÇÃÊÌËËÌÉĺ·µ¹¼­¢š’œ ›˜¨µ«¯¨ž•ziefYicUOINYcZST_habn_ad_UYQRQPQSXUUUVYU\RQ``_g\caji`TQONKLC?A8855654003̇‚yŽÇêÀ­­²²´¼½ÄÊÉÄÊÏÎÎÍËûÈÌËÈż¬£ Ÿ¦§œž˜‹•—•£¬¬¢—’‘ˆvdfk]]XQSRQZb`[ioaSXeSZrq]SQMNNMKLPPOOPS[VX`WT[Zbi`]ZQKMJHGDIA8555554017½…‰„ŒÂéǦª±³´¸¸ÀÊȾÂÊËÌÍËÀ¶ÇËÇÁµ¨Ÿ¡ ˜™˜ˆ”˜’Ž•›“Œ‹‡€vxteZVX[[RY^ZU_j]US`hgde]TTNLLKKJIHHNNT_^Z]XS^hijX^WQWTKKC@B;864434547=¶„†††ÀçÚ¾µ°²±¯¸Ä½°²¶¹ÀÀƾ²ÁŶ­¤¢ ¢—˜“‡‚…„Ž‡‚‰‹ˆ………ƒ{yseZXWX`ZVZXSZhTQR`jgWUZXTPNNLLKHKIKSV^bUZSSnsgibb^V`ZTUJ?<;:8543365;?Ų¯†‘ÂåììäÇÁ­¦¤«­£ ¡¢¦©¬¾µ©­²š—  š› ”•Ž†…†ƒ„‡„~„‰Š†ƒ~€~wvrkcZT[i]UWWW`]QZ\`a]UTSTSOMPQNNRRJFMQV`STO_dcb\ej_TU][JTH===:556589<>ÂÂÀ“ˆ“Áåëçæå뺠¦®¤žž¡§¬¬³¹¶³²°¬«¯¯®­®¨¦ –‹ˆ…‚„„}‡†ƒƒ{|{ytmkg]WZRZ^YW\\^\Y]\^`[WSLVVONPMGGJIDCHKKTNRS]aa[`qa_S[`]KGC??=95667:=@@¾¿¾˜Œ•ÂäìÕÇâêŶÄƹ¹µ±®ž˜—„€ƒ†xuwxy}„•š—‰†ƒ…„}‰„~‚{zwtsomg\^dab\VV[Y``c\U]YZ_\URMOORMFGGDBFHGGTLTX\W__a_ViaY[[TMHFF;87678;?GH¾¾¿š–ÂãìâÚèéààãâäåäˆ[YZYX[zœyZTTU^b^[VPq…‚……~Œ„|€{ytuuqidY[fd^VXSU^fdgZPVVh_c[PQQPKJGJOFAFKMNYXbefbeklh\abVTZ]TGCA<;9878<@JE½½¿ž“ŸÂãíìíìëìíííîíò¿RMiv€‰ƒO?73467SjmokSI~ƒ‚‡ŠŒ…|}zzywyvcYT[\\Y[ZQZ^_bhgjqrpT\_VQTSJGGJiu‰‘—š›œŸžŸŸžœ”Šzd]TC<;<=<;::9=>>=ÅÇɾ½ÄÎßëëëëëëêçççåâG`ž¨­°¯“€aLRXQSNA>AKOaƒ‚Š‹‡‰…{y{|wxra[]^WXXYY`[SPasƒxha`fTWPNSUONJj‘‚Šƒ}ywtrrpppnnqsu}wm\G>:9;;::::;>?>=åççæææèèêëëéåáÛÓÏËÇ´lYR—¯©¢£œ¯·ƒ•[^WD968dSz„ˆŠ‚…ƒyuxywvuh_`\QR\[\_VU_fkdaX^cdVYOMPUNLH€oSVUVVXMGHHGFFJSUVVWVRQ=:987::989;?@@?îíììììììììêäÚËÅÁ¿¼°šZk:BNKC\^i}v|mWV\eN57`fh„„…ƒ€€xtw{yurmh_WPNZZ[WVY`^ZLZb\]Z[`XNNUQNM}Xw††Š•s>;98;E@KURQUTVSLivY4M”‹Y‚‚ƒ€||rqy{|ulccXRRIDNXWX[]QNMVY]_W[b_TNNMK_‚ežµ³°¬©•S@7>JMTXKC?=DoX?86X‹>89:<a_w‚ƒ‚„}zyplqy{rid`TSTKKRWZ]WTTRTX[ZYY\a]UNHG@qzcYwdUMJOTL=DLNTO<:;;;PfD97Sr?99;<=BIJI‘ÇÊÊɵ®®£•Œ‰ˆˆˆ‡„‡g‚S8:g”ZF?=61rwlƒƒ}ywsvprwskh`TXYWZ\a]XJITZ`[\[ZYZ^WPIDDFnX>H666:NWRLNSRRF:<<<;CiJ;3…ÙN59;<>CILL»»º¹¹ª”ŒŒˆ…„„„„€eŠIGFc‰—cG;66;DB>e¡ƒ>64\b„‚€ywwvmnunkibT`k]XT[\ZRQW[^b`[Z][XQJEA@Tž`M=B6:BBHIEM¡Ÿœ¤®°µ½¿ÀÀ¿½°zz|iKQPhˆlMIEDDDB?>eq=95J›a}xjn}|z{xnlplkfe_iqc[PR\]WTV[[`[Y\cZQMKJGHušSF;?8VqbB>645?FA=BDD<8<\T@=fŒJ;=<@FKKDUŒŽ¨·«¢˜“ŽŽ£‡NEqzZwPfMgVNKSY[VRNMYs†]C>8DwKkQ<98VSAG]RJA=<>ELQXb~…„‘NHIKWLGGG=67HSD=;=8=<>G[HIXH>:9N^clji€Ÿ›§ZVJ@GSQKA:>665Jng}~}~}„†¤‡…Š…„ƒ‚}ttra]\YXUUY\SQXYRNOV\YZ\cy‚Œ¬~h`c]\[Yhi`^\[[[[[\\bh`ZZZ]]UR…“†€qpsqojvž´¸ºº»½¿ÁÁÂÃÂŤ{f{¨±y53445557:<761gŠcŒ°·º¿ÀÉPCM|€caO:9;6:ELmYhhgedeggilpsvvxxvsrppq`P^\[ÊâÞãò®NCT³h<‹¸‹:f´Q;^ÐëÙØÜ—LMXXXX]YXXXW{{zwrnlkkkloopqqS532135AC[_[ky€¯Ú |šhcSTI6::9999QZRI9:@D@=EAjXgjjifggfdefilnruwwwwuu`GPVN|”³¿ÚøC@»Rªê¯Pº“HE˜ýÖ¨ŒnZPKSVVW\YXXXXzzyywsnkihhklnopM10479?EN[m•ÇÍÑáìß½›[gMF@DROC>;656686L`z®òöׇ“™‚LLJJKORPMHOJA;9UŽnh“£ŒwTDEEQYTKEFT^LGRgx……Ž—žœ¢ ®«—Š|xnjgfeccbaaacg`C?ILPUY_n{„Œ·ÆÇÌÐËËËÊ”~xo`XTPKPehhfdb^XYYnorsttutsrmiecceM54/5KÈÚ}lvŠrjur‚Žug`_]\[ZZ\]b‡™¦­²³­©¨£¢ œš››£©¬nnonnkfdcccb`a\A=AD<:97V]KrfZ[[[[[[[[†nc]TQNMLNNObZKLJJJIIIIHIXkklnonmkihhj_:;LOSUY`ibUPW~‘Š‡ƒ~XFHYhb[USNVnnonmmkjgfdgkmprstuutsqpkhK481//026;<>=9<:9;:;:::::::;Oeghiknnmigg^7:IMS‚†g^PD1//2@LFVE@C<:BMYi¡˜THaªwmnnnmjhadgjmopqstttsrojJ49144..,,-.--./\Š‚€‡bZ[[[Zƒ_<<==>?@A@953,+,+.bƒ‡¤ÖОe]_^kG==DEEFEEB?z@A@<:7777777>@Pgihgeegihi^/9C@L„~abgR<=;>ACCACDD?=The`lkJBKjyÆÒÁxnnÄ`ehjlmopssrrofE3942?HGA75.0279X}xnÆìäåšchg‰€=?68::99<=>UN>HMQ84356666FS]iqqidbdfhiijihilrrk_RG@@Ieedu¡ËÖÖrÊ¿v_ehjlnnpqqqmbI453343440036898InaM·çÂëÏnrsžc==47::::<>=99Tlg]79JF@7658B>Wlkjheb`cf^-47545:>GJNONNLJJJIHGFDC@=;841=?Hillhg¥ÄÒ»Àδf\cgikmnnqqmg\H=;;;;;:989::98HWOHeˆ€ÜÊt‹¡J@944AcR6:>966FKPZ_]\P86A@Sf;54;dcVL+35-'5@>====<;;:;;;;=>@AABE*#,05=_ghjjkjjjgT¾ÊÇv[cfhikmnnoonlkjhecb`_`bcceRCHHLRI=>BvŸXBD6536_dZM121-07643321100/.---,,-../-$&1119]``cgikkjkZx¯Áϱf^dfhkmmnoponmlkheca``aaadP?FGKP@@TIO[G=ITkMAAAA@?>98656>BD@NQJIH>8>;==:4;NghfZG82124555666533323555458=@ABFGGHRkicabehijjZ[z¹ÆÍŸaaegjklmnooonmmkifca``_`dMV;G@>;BE:::8889;@CA==<:9998889AIIGABFGDCBBBDFFFEDCDDALj=<;;;;<;::::;::;;=>>>>==Girhgghhhhhiijjjiihhhebcdgilkkgc`^______]^aeiknnpqqsqpiXROi°ÃÐÅw`dfhkllmmnnnnmljga]C,666303O|ŠcL=<<<<==<:9888876888898889;;;<>CID\]egfffgggggiiihiijihfdcbchklkjfaa_____^]^_afklnooqonoeTVi‹¾ÉÔ¸kaegijklmlmnnnmkg_Q;-55=5:8LlhQGMJ>>>:;=;;<>??GVHFFFEDCEFK`‹©•– ªGGdgnomegfffhhhhiijiijfcbacfjkmlifccaabaa`_^_dhjlknoooj[QTU’ÆÈÓ¨badefgijjklmmmkidT:,31.5B?NTUZ­¨Ÿ—½µfLLKILPO\…^WVXUSRMJ¡êìàÁÃ×ÓA?do¼ÙÔcfffgggghhiijjhecbabfkmllkhfcbbbbb`]\\_ehjqssqphUNMY¥ÇÎÓ]bdefhijjkkllkjg_F1.-,.+*KICSÝÕËÁÊÙòÕXIU^cc‰Ÿššž kXWS@EŒÛåÕÞëí¨fgeeabegecdefeefghiihhgfda_^bjkmmkifdba^\[[[[[\^qommlmh^RNN˜ÇÊÕ¥^adfhhiijjklkjiea\VUTSTQIC3:Qy‡ŒŠww‹f><<:U•¦¤¢zABACGyšu^TI@854;fghifed‹xcdeeddefgghhgggeda__dgklkigdb`^[[ZZ[[[[oihjked`UOLh¸ÆÏÍw[cghghhijklkkjgeb_]\[ZULB2898=EJVm¶z?M_cf£”…‡ƒaI¨{eTIA:40:eggfeedecbbdeccdefffggghgfdb`_aeijjhfc`^\[[[[[[[njijrpkdUNNO‰ÃÇÕ¯aafgggghikkkkkjheda_^^WQA156;?GO\o‰g§åçèéíííîïðñ‘eµ£{dSIA<83:chgfffeemnqecccceeeeggggggfdb`_abhkjjgc_]\\[[[[[ooijsrrkVOOL[©ÅÌÓ’dadffghjjkkkkkigeca^^WRB238>@HP[o‹¹¿g¯ñíìëëëìëäèí„lÈ£‚gWNC=;/1=ciihggggeghdedddeeeffghggghiihfec`_`ejkkje__^_^\rplkoommlneNML_«ÃË׎_egggijkklmlkjjjheb]7:>627NT?99FHdc6:;:?FC<8732:hBHD63šÛ/3Acihhhggeeededccceeeeeeggfffgghgfda_]`dhjlkd`_^]\ppnhknqurqjSKMM|¾ÃÒÅsbfggijkkllllkllkif_<>>7.TÌè|38MJCpT@@DGOOMKIIJxmXS;34„ƒJ06Caihhgggffggfccccdeeeeefgfghgghhgfc`]]`dhkmjgb^]]nhhkkmruuttaML[j›ÁÇÕ®edffhklmmmmnmmlkjibIO<81@m`249sQhrqvž~{|wz~NnW434.,/29Bahggeeedddddb`_`aacffffffgggfghhgfda^_aeilmljga_mnmmrroorstmVLNO\¨ÆËÕ•bffhjkllmmmmmlkjjf=?<=45/04757TGFQTUrqpXTZgJDBHHL65552/./6^mnosuy|€€‚‚}—´»¥habfeefghhhggghgfdb`_afjllllfc|vusxumlnnlniNJLKp»ÃÏÌxaefhhhijklllkkkkg3,>623343347GKJNQYa\qjYXTLGGBB>0./,0ASj‚š§­°²´µ¶¶´µµµ´¸¾Ä©•‚ieeffggggffgfffec_]afilnnli|€uonkjlmmlgSLMMM’ÁÄÖ°b`cfgghhijjkkkkh`2+<0-.-+++**-.--*)(())'&&&&%$$&&$>o•¬³´²®ª§¤ž›™——”’’““”’’”§§‚deefffggfffffgffa_^aeimnomwwuwvpnknoommg[NMKd·ÁËÔ‚Zaeffgggiiiifd]V2(9,)*()++,--+*+,,,,+-/146777;>?BEECCCDEFFEFDDEDEDCCC?v¦‚zqkgca_]]]^]fh[[YWXXWXYXY[aleddedffeeeefeeeeda_\]bilmntponmnkillnnnjTLKMhºÇÏÕ‹_deghgghiihhih[<,8/1.*/1000001111110..--,+***(1Œ€^\[YXXXWWYVNGgoCFW_`bcba`]YLPgddddefeefffffeefcb_]]cilpnpvtpmoppiilkkUKKOO“ÇÇÔºcabdfggggghgfdZB02.11,%$####""!!"##"!!"!"#"""E¨`JUZ\dinlmm`GJNQUTW^]TRRSSRWgA[adeddeeeffgffffgeeb_]^dhmnpsponqttpilmhXMKMLd¹ÈÍÔŠaffghhhgggged\R?/-.//*)+++*****+,-.1122454573t•Fbv‰Œ’—œ£¡n†‡tˆjONG4122345o\Kdfedeeeffgffeeeeecb_]_enmnorutquommlmpfQKMNMŽÉÊÔÁlefhhhhgfgffc^YRHCCBAAACCCCBBBCDDEGIIIJKJIIHK‘oH~‚½¾ÀÁÃÃÃþ£ÙÈŸ¸…NQ@2333454Qt?°šcccdcdefeeedddeeedb^]`mswtprrorlkkjlrdNLMMK_·ËÍÕ˜bfhhhihhfggea]YTQOONMMNNNNNOQUVWXYZ[ZYYXVVRe•TYmqÉÄÄÅÅÄÅƺƒ§¡ˆkOL62223346;75>ACAGUMMNJ411233334Jt:Vbdcccbddccccccddddccbaurnnmwqtmuxwvx€n_SLLMM}ÅÇÐÓ‡dghhhihhiihfdcbbb`_]\[ZZZ[]_acghgdddcaa`b‹fA|‹U;8:::9432219]8787211233633<|GIadeddcddcccccccdddcccb…€}yy|ymksyxz~xh_SKKLMU£ÉÈ×»jdfgggghiihgeeddcb`_]\[Z[[^_``bbbaabb``^gzYG…J88:;:6111004N214<<6247?F>22p\=`a``egedcccccccddccccc‡v€{vtmnvpmlslfedVLLK^e½ÅÍØ’`eeeeggghhhgeeeedba_][Y[[\^_``aaaaaa`^`qyPS~R123BML>6200/.,..:HJHGHIKMH5.Tl7^aUWZaedcdedcdeedcbcdd‚€zz€{srtdbkq{tmngYMLLZ`\šÅÅ×Âibddegggghggggfffeca_\ZZ[[\^````aa``]Z}ƒ“N^c4<;AOPPKD90/0CKLNNILNNNNNNK80?k5YlU`YS`feffdceeedcccdd……†‡‡‡‡‡‡‡‡‡‡†††††‡‡‡‡‡‡‡‡‡‡†„‚|wutttvxxxxxy{{zvuwzz{{zyz|~€€€†††††††††††††…………††††††††††††„‚~zvtsttvxxxwvyzzywuvvxyyxwx{}€€€………†………††…†…………………†…†…††………††„‚‚|vuvuvwyyxxwy{zyxvvuwyywxxy|~€€€…………………††††………………………………………………ƒ‚{yywvy{zxwwyz{zywvvwxxwxyy|}€€€†…„„………†††…††………………†…„…„„„„„„‚€|zxwxy{zxxxzz{zyvvxwxxxxyz~~€€€…ƒ‚ƒ„„„…………†……„……………„‚ƒƒ‚‚‚ƒ‚€€}~|yxwxyzyyz||zzxywvxyzyyxz|~~€ƒ„„ƒƒƒ„…………………„††††„‚€€‚}~}}{yxwwwwxy{{{{zyxwwwwxxyyy|~‚„…‚‚ƒ…………………„………„‚~~€€}||||zyxwwvuvy||{z{yxxwvuuwyyy}~€€€ƒ‚‚ƒ„…†‡†…„ƒ~}~}||}}~}||zz|{{yxwxwxxy||{{{zwxwvuuvwx{~€~€~~†ŒŒŠŠŠ‰‰‡‰‚zz{{|zyyxy{z{zyxxyyzz{}|||zzyxxvuvuvz~}~€€~~€€€…Š‡‡‰ˆˆŠ‹Œ|z{zzyxwwy{z{{ywwwxxz{|}‚ƒ„ƒ„€~zvz~~}~~€€€€€€„„‚ƒ„„…‡‡‰‰xxvvvvvvy{zzzyvuvwyz{|€ƒ‡‡ˆ‹ŒŒŒ‹‹‡|~€~~}~~~~~~~€„†………††…‚†‡‚wttuvuvvy{{zyxzzyyyz{~‚ƒƒƒ„‡ŠŠŠŒŒƒ†€~}}~~~~}||}}€…‡…†ˆˆˆ…„ˆ„xssttuuvyyzyyz{{yyz{|„‡‡‡†‡‰‰‰ŠŒ„€†€}|}~~~~…†…†‡ˆˆ‡„‰…zvusstuvxxxyyzzzyyz|~€…‰‹‡‡‰Šˆ‰‰‹Œ…€~~~|z~}„„……„‚…ˆ‡‡‡‡‡†ˆ……‰‰…ƒ€zyvuuwxxyyyzyxxy|}€†‰Š‰‰Š‹ŠŠ‹Š‹†€~~~{wr}~ƒ‡ˆˆ‡‡‡‹ŽŽŽ‹‹‹Ž’’‘‘Ž‹~wxxxyzzyyxz|~€‡ˆˆ‰ˆ‡‡‡‡ˆˆˆˆƒ~zysol……††††ˆŒŠ‹‹ŠŠ‰‰‹ŒŽŒŒŽŽŽ‹|yy{|z{zyyxtz„†ˆ†‡Š‰ˆ‡‡‰‡…ˆ„uifjkk„„……‡‡‡‡‡‡€„††‡††‰Œ…}{}„†„~}ˆˆƒ‚‚~~|x|„ƒ{yzywvvxxy||vkkmlk‡††‡ˆ‰ˆˆ‡…€‚ƒ‚ƒ„…ˆ‹†ƒ€‡‰„}~€…Š‡„ƒƒ„„„„„„ƒ‚„ƒ€}yxwutvwx{}}|€}w‰ˆ‡ˆˆˆˆˆ†„ƒƒƒƒƒ‚ƒ‡‹‡‰ˆ‡ˆ‰ˆ…††‡Š‡…„„„ƒƒ‚ƒ‚ƒƒ€€~}~‚€}|ƒ†……‡‰‰‰ˆˆ‡ˆˆ†ƒ„†……‚‚‚†‰…†‡ˆˆŠ‹ˆ‚„ˆ‰‡……„ƒƒƒƒ‚‚ƒ{uuvyy{~}|{xutw‚……„†‰‰‰‰‰‡‡ˆ†‚ƒƒƒ‚€€‚‡Œ‰ˆˆ‰‰ˆ‰ˆ‡‰ŠŠŠˆ††…ƒƒƒ‚‚ƒ{tstuz~~{wsqrv€‚‚ƒ‰‰‰‰‰ˆˆ†…‚‚‚‚ƒƒƒˆ’””””Ž’““‘‘‘‘Œƒ‚ƒ‚ztsty‚ƒ€€}urswˆŠŠ‰‰‰‰‡„‚‚‚‚‚ƒ‚„‹Ž““’‘ŽŽŽŽ‡‚‚‚~yxw|‚‚{xxz~…ˆ‰‰‰‰Š‰„‚ƒ‚‚‚‚…‹…„‹Œ‹‹‹Œ‹ŠŠŠŒŒŒ‹ˆ„„ƒƒ‚€~~~~~~€‚€†‡ˆˆ‰‹‹†‚„ƒƒƒƒ…‰~ƒŠŠ‰Š‰ŠŒ‹‰‰Š‹‹ŒŒ‰‡††…‚‚€€€€††„‚€}€„‡ˆ‰ŠŠˆƒƒƒƒƒƒƒ„†ƒ€‚ˆ‰‰Š‡†Š‹Šˆ‰ˆˆ‰Š‰ˆˆˆ‡†„‚ƒƒ„ƒƒƒƒƒƒƒ€€†‡ˆ‡„||†ˆ‰ŠŠŠ‰ˆ‡„„……„„„ƒƒ†ˆ‰‰†„ˆŠŠˆ‡‡‡‡‰‰ˆ‡†‡ˆ†ƒ††††††††……‚€…‡‰‰‡}}~ƒ‡‰‰Š‹‹‹Š‡……†„ƒ„ƒ„†ˆˆˆˆˆˆ‰Š‰Š‹ŠŠ‰‰ˆ‡†‡‰‡ƒ‚‚‚€€‚‚€€‚„††{~}}„‰‰ŠŠ‹‹‹‰‡††„ƒƒ‚ƒ‡ŒŒ‘‘‘’“””““‘Š†ˆ‰ˆ†…ƒƒ‚€€€‚‚€€€ƒƒu}}†‰‰Š‹‹‹Š‰‡†„‚‚‚ˆ’•˜———–•–––—˜˜—‘‡ˆ‰‰ˆ‡‡‡†„€€€‚‚‚€€€€oz€~‚‡‰‰ŠŠ‹ŠŠ‰†„ˆ‘“”“’ŽŽŽŽŽˆˆˆ‰ˆ‡ˆˆˆ†ƒ€€€€‚‚‚‚‚€€hm{}{~ƒ‡‰‰ŠŠŠŠŠˆ…‚„„‰‹Š‰‰‰ˆˆ‡‡‡………‰Œˆ‡ˆ‡ˆ‰‰ˆˆˆˆˆ‡„ƒ‚‚ƒ‚‚€jhp{}~…ˆ‰‰‰‰Š‹Š†‚„„†„ƒ…ƒƒƒ‚‚„„‚‚…ˆ†…†‡……ˆˆˆˆˆˆ‰ˆ…ƒ€ƒƒ„ƒljkw€~~‚‡‰Š‰‰ŠŠŠˆ„ƒ‚„‰Š„€‚„€…ˆ†ƒˆˆ‡‡ˆˆˆˆˆ‰‰‰†ƒ‚‚„†…mlls€}~…‰Š‰‰‰‰ŠŠ‡…ƒ‚ƒ††‚‚‚€€‚‚‚‚‡‰ˆˆ†‡ˆ‡ˆ‰‰‡‡†ƒ‚…†‡lkimy€~|€‡ŠŠŠŠŠŠ‹Š‰…ƒ‚€€€€€€€€€€‚‚‚‡ˆˆˆ…ƒ†‡ˆ‰ˆ‡‡ˆˆ…‚€‚…‡‡kjhhjy€}}ƒ‰ŠŠŠ‹‹Œ‹Šˆ‚‚‚‚€‚€€€€€€‚‚‡ˆˆˆ‡†‡ˆˆ‰ˆˆˆˆˆˆ…‚ƒ††kkhfes€~}~…Š‹ŠŠ‹‹ŠŠˆ„€‚‚‚€‚€€€€€€‚†‰ˆ‡‡‡‡ˆˆˆˆˆˆˆˆˆˆ†ƒ‚€„„kiffek{€~}†‰ŠŠ‹‹ŠŠ‰…€€€€€€€‚‚„……‰ŠŠŠŠŠŠˆ‡ˆˆˆˆˆˆˆˆˆ†ƒ‚‚ggggfhp}€~~ƒˆŠŠŠŠŠŒŒ†€‚‚‚‚‚‚‚‚ƒ„„……†Š‹Š‹‹Š‰‰ˆˆˆˆˆ‰ˆˆˆˆˆˆˆ‡†ƒ‚€€hhgggggu}ˆŠŠŠŠ‹Œ‡€‚ƒ………………††‡††ˆˆ†„‚‚€€€€€‚ˆˆˆ‰‰ˆ‰‡‡†ƒ€ihgfgghr~…Š‹ŠŠ‹‹Š†ƒƒƒƒƒƒƒƒ‚‚‚ƒ‡ƒ€€€‚ƒ†‡†††‡ˆˆˆ‰ˆˆ‰ˆˆ‰‰„ihgfghho}€~€†Œ‹ŠŠ‹Šˆ„‚‚‚‚‚‚‚‚‚‚ƒƒƒ„‡ƒ€‚ƒ‡Š‰‰‰ˆˆ‡‡‰‰ˆ‰‰ˆˆ‰ˆ„jjihghhju~‚Š‹ŠŠŠŠ‰‡‡……………………†‡‡‡††ƒƒƒ‚ƒ††ˆ‰‰‰‰‰‰‡‡‡‰‰ˆ‰‰‰ˆ‰‰‡lkijkkiio}‚€†Š‹ŠŠŠ‹‹‹ˆ‡‡†‡ˆ‡ˆŠ‰‰‰‡†ƒ†‡†ˆ‰‰‰‰‰‰‰‰‰‡‡‡…‡‰‰‰‰‰‰‰‰lllmonlns|€}}‚ˆŠ‰‰‰‹‹‹‰ˆ‡‡‡ˆˆ‰Šˆ…†ˆ„ƒ‡††ˆ‰‰‡‡ˆ‡†‡ˆ‡††ww‡‰‰‰‰‰‰‰{{zz{{{zzzz{{zzzzzzzzzzzzzzz|ƒ†…ƒ…††‡ˆ‡††‡‰ˆ†‡‡‡‡‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ…„ƒ„…†‡†……†ˆˆ‡†††††††††††…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{zzzzz‚‚‚……ƒ„……††……‡‡ˆ‡††††……†‡‡††…„‚‚zzzyyyyzzzzyyyyyyyyzzz{|{||z|‚‚…„„„……………†ˆ‡††……„…„…‡‡‡‡†„ƒ‚‚€€y||zzzzzzzzzyyyyyyyz{{}~|}||€‚„„„„……†……†ˆ‡††…„………†‡‡‡‡†ƒ‚‚€{€€~|}}{yyzzzzzzzzz{}}~~}~ƒ‚‚ƒ…„„„……‡††ˆˆ‡………„……††‡‡†……‚‚‚€€‚€€|{yzzz||{{{|}~€€€€‚„…ƒ„„†…„„„…††‡ˆ†††……„„…‡†‡‡‡…„‚‚€„€€~}|{zyz}}|~‚ƒ‚€‚ƒ………†„……………„„…‡‡†………„……†‡†‡‡†…„‚ƒ‚€€€€~|{{~~‚ƒ„…„„ƒƒ„ƒ„…‡†††………………„…††‡†…„„………††‡‡†…„„‚‚‚ƒ‚ƒ‚€€€€~}}}}}~~„„„…„…‡‡††††……„………………†…„ƒ„„„………‡†…„ƒƒ‚‚‚‚ƒƒ‚€€€€}}}€~}}}~‚„„…„„†‡‡†††…………………†…†…ƒƒ…‡ˆˆ‰Š‹Šˆ…‚ƒ‚‚‚‚ƒ€€‚‚‚}|{z{zy|~}…††‡‡†ˆˆ‡††……„…………‡…………œœœœœœ•ƒƒƒ‚‚ƒ‚„……‚~{}}yyxx~}€††‡ˆˆ‡ˆ‰‡†…………„…‡‡ˆ†††ˆ…~|||{{}Š‚‚‚ƒ…€‚ƒ„…††ƒ}|‚€yxwz‚€}€…†‡‡‡‡ˆ‰‡†…„„„…†ˆˆ‰‡…„‰|~}{zzzzzy‰†‚ƒ…€‚ƒƒ„„†‚{|€yy{|ƒ‚~~„†‡ˆˆ‡ˆˆ‡†„ƒ„„…‡ˆˆˆŒŽ†ˆ~{€{{{{zzy…Ž•‰‚……†…~€‚„}}~~}|~}‚~}€‚‚„‡‡ˆ‡†††„„„…‡‡‡‡œ¸Š|z~}y{||{zxž·˜€‚ƒƒ†…|xyz}~}{|}||}}}~}zy{||{z{{€†…†…„„…‡‡ˆˆ’¡˜•‹’™–‡€‚ƒƒ‚€€~}}ƒ|}}}~}}|{{{|}{{{~„„…„…„…ˆˆ††ƒ‹ª±¶±­²¶·µ±²¼¶³’€€€€~‹…~€€|||}}|~||}~€‚‚€„…„ƒ†ƒ¹ÌÐÑÐÓÔÕÓÑÒÒÍÁ‚€€}€€~~„„ƒ‚ƒƒ|||}~{z{|~~€€‚ƒ——¥°¶»½¼º·®¡“Šž…{}€~~€‚ƒ‚ƒ„|||}~{yz|~~||~€€‚§¤Š~€…‚……ƒ……}‰¢²…€€{{|€€~€‚ƒ„|||||{||~„|}~€€€€€¬Íȶ´º¢‰‰³¿¶ÈѾ…€€{{{{}€€€€€„ˆ†‚~{|||||}}~€}||||}~€€~¬ÏÐÎĶ¤’˜®ÁÌÒм…€€€~}|||}€€€€‚ƒƒ…„‚}zywwwyzzzzyyyyyyy}‚‚~§ÐÑˤ‡‚‚€†’¸ÓÒº…€}}}}~€€€}{zxwxz{{z{{|{{{{{{‚‚‚šÀ¸¶†€…ˆ‡Šˆ~˜¹·«ƒ‚ƒ‚‚€~}}}~€€€€€€}€|yz||||||}|{{{z{~€‚…Œ‰‹‚‚€‚‚„‰…„‚‚†‹‚ƒ€~}}}~€€€€}„‚|{|}}}{{{||{{zz|€€‚‚€ƒ€€€€ƒƒƒ„ƒ~}}~€€€€€€}€‚‚~||}€€|{{{||{{z{}€€‚€€€€‚€‚…„‚€~}}~~~€€€€€~€}|~€|||||{{zz}}~€€~~€€€‘‰‚€~}~}}~€€€€€€}|}}{z{{{{{{||~€‚‚‚‚€€€‚‚ƒ€~…„ƒ‚€}}}}}~€€€€€€€~||{{zxxwwxxwwxyy}~}~€€‚‚‚‚‚ƒ‚‚€„„ƒƒƒ}}~}}}~€€€€€}yxxwvutuvwwvvwwvy~~}~~€€‚‚‚‚‚‚ƒ‚‚‚ƒƒ‚‚‚€}}}}|}}€€‚~yxyyyzzz{{{{{z{z{~~~~€‚‚‚‚‚ƒ‚‚‚|~ŽŒ‚‚~}}}}}~~€€€€€~‚~~€„ˆ„~~~~~€‚ƒ‚‚‚}|‡ˆ‚ƒ}~}}}|}€€€~€ƒ…‡‡‚€‚ƒƒƒ‚‚†‡†„‚~~~~~~~€€‚‚‚}}‚ƒƒ‚€}}}}}~€€€€…‡ˆ„‚‚„„…†…„ƒ††„~~~~~€~‚„ƒƒƒ~}}}}}}€€€‚ƒƒƒ…†‡‡‡…‚€€‚~~€~~~}~}~€€€€‚€}„ƒƒ‚‚€~}}}}}~€€€€‚…ƒƒ‚‚~~€~~~~}}~€€€€€‚€{{}ƒ‚‚~}}}}|}~€€€‚ƒ††ˆ‰‰‰ˆ„ƒƒ‚ƒ€~~€€€~~~~~~~€€€€€~zyz„“‰‚~}}}}}}}€‚†ƒƒƒƒƒƒƒ‚‚…ƒ‚ƒƒ€~~~~~~~~~~}~€€€~yxy}…‰‡ƒ€~}}}}}}~€…ƒ‚‚‚‚ƒ‚„ƒ‚€€€‚‚‚‚ƒƒ€~~~~}}~~€~zxx{ƒƒ‚‚~~~}}}~€€€€€€€€…™Ÿ§ª­°²³²²®˜~~~~~~~~€~zyxyzƒ‚‚‚€~}}}}}}€~~~~€}´ÇÊÈÇÇÀ¹½¼ºº»´†}~~~~~}~€‚‚~zxy{z~ƒ‚‚‚€~}}}}}}€€€€€€€‚›—‡‚~}|}}}}}~}~~~~~‚~|y{|{}ƒ‚‚‚~}}}}}~€€€|xvwxxxyyyz{{{{}~~~}~~}~||~~~€‚‚‚‚~}}}}}}~€€€€€€€€€~~|||}}}{zzzz{|{{}~}|~}~~}~ƒ‚ƒƒƒ‚‚‚„ƒ€~~~~}}~}€€€~}~‚€~}~~||{|}{|•~~}}~~~ˆ‰‰ˆ‡……†…‚™~}}}||}}~~}Œ Š€„€€~}}}||||||{}ƒÇÏ‹}~}}}~}ÑÑÑÑÑÑÑÑÑÑÑÑÑÐÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈ¿³²¦ “€xjnxnjjoosgjeY^b_^d_W]b_aXSQV\]bgcfVUZYWWVT[WSYa^^YVMC@:<;544?4ÐÐÐÐÐÐÐÐÐÐÐÐÐÏÏÊÃÇÅËÎÏÎÎÏÏÏÏÏÏÏÏÎÎÎÎÍÍÍÍÍÍÍÌÌÍÎÎÍÍÎÎÎÏÏÏɹŸ¢™zztdbbr~q``pmg\Z]_`[ZWR`ha^UQPSZY`jliRS]bZSQNST[bf`YROLCA97754177ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÎÍÍÍÍÎÎÎÎÏÏÏÍĪŒŠuopqpoqtv|x`dcdg]]]]]]VUV_e[\ZWTTVUY]jeRSY]WNNPTS_ccc\TIEC>:74421/2ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÉÄÇÃÊÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͹™}osyyv€€iic_hZdfe\ZYW`[UYigVRUYYVPMWR[iTQUXZRPTRR\caaYVVOH?<97521..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÃÂÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌÌÌËÌÌÍÍÍÍÌÎÁ•Ž„†scm|pejc`aXjc[ZUUQ_d_asn_TQW]WNKVSRZTZ]YWPQTW\_\Y\TRYRJA@@=651.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ½¾ÊÑÐÏÏÏÏÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÎÍÌÌÉËÌÌÌÍÌËÈÅ©{yrkckrqece_X_`UT\UTS[gghjdhVRVYUQTWTUZSZ^aXUVU[]^[YVTPRQKAC@8662.1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɽÂÀÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÎÍËÉËÌÌÎÏÍÉÆó||tfZUb`[`dd_d_XXSMOTZ`bgi`\TQPPONTRTR_NUWZ[Z\[^]^ZURSRSMFECC>641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ÊÅÈÏÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍËÈÅÆÄÈÈÊÍÍËľ»­‘‚|rXTUSOVXoshcd^ZNECO[S\dc]WUSOMMKNLROYNTWXXW\]\[]ZUQSPWQEFB><51///ÏÏÎÎÏÏÏÏÏÏÏÐÐÏÏÈÀÊÄÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍËÉÉÉÊÃÀ»ÃÀÄÁÅËÉÆ¿¯ž¦’‚v`UZ[Zfj`pjg_WVSSWWbUQ]_VQXXTNKIQRU\YRSY[WVXZXSR]XTYTXWB87321//..ÏÎÓÖÖÒÍÎÎÍÌËËÌÍÇÁÊÄÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÆÅÆÃÅ¿»±Â»Ã¼¿È¾º§Šˆ~rˆe`b\\hlYo^W_WQUW^\YQRUZTSTXXNLNTSSZf^PWZXWWWZVP^\Y[\NC<8751/.-..ÐÚèîíåÓÍÌÇÂÁÃÆÉÅÁÊÅÃËÍÍÍÍÍÎÎÎÎÎÎÏÎÏÏÏÏÏÌÆľ¸¾¼´¦¼µÀ»ºÄ¹»¶—…~~qjbefcW\c\We[U]`RSUY^XWUQPPOOPTZWRTRQSe\N[^ZROOZ[TXYQQK@9=<:72/---.ÞíâÕØéèÐÁºµµº½ÂÅÅËÈÄÊÌÌÍÌÌÍÌÌÌÌÌÌÌÍÊÊÉÇÆÀ·®ª±²ª¢«¯··¶¼¯­£„yzwqoXaf^ZeZS]j`Y_YNRSV^bcWRONNQSNUWMPUPR^`Zb^VQMP\YUZRP[JCD=;;97300..íØŒuz°êÛ·²°±µ·ÀÆÇÌÉÅËÍÍÍÎÍËÊËËËÌÌÌËÇÅÂÀµ¥¡¥¦ž›£°­°¯«§™…xolgom^YWVacXW[\[bXTYVTVWc[SUQPSWTTUXTQXRR[c[aYZ\Z_aVUYXTSB>F<867764101ç—tvsÓ軯¯°³µÀÄÈËÉÅËÎÎÎÎÌÇÂÊÌËÊËɸµ´¸»¬¡™‘›Ÿ›—¨µ«¯¨“yhdfXgcSNJNYcZSTai``m^`e_UYQRQPQRWTUUUZTZQQa`_h\cbkh`TQNMKKA?A8755654003Ï€†‚yŽÉì«­²²´¼½ÄÊÉÄÊÏÎÎÍ˹ÈÍËÆĺª¢ ž¥¥›—‹–—•£¬¬¢—’‘ˆvegk]\WSUSQZa`[in_RUcSYrp]SQMNNMKLOOONNRZVX_WTZZbj^\YQJMIGFCI@8555554017½„‰„ŒÄëȦª±³´··ÀÊǽÂÊÊÌÍÊ¿¶ÇËȽ³§ž  ˜™˜ŒŽ‡”—’•›“Œ‹‡€wxteZVX[\SX]YT]k]SQ^ihcc]TTNLLKKJIGHNNT^^X\XR^jijZ]WPWSKKB>B;864434547=»ŠŠ‡†ÁçÞÊĶ°±¯®¸Ä»¯±µ¸¿¿Ç½²Áź«¢¢œŸ¢—˜“‡‚…„Œ†‰‹ˆ………ƒ{xsd[YWXa[VYXSYgRPQ`hfVUZXTPNNLLJGKIKSV\bTYSSmqfgbc_UaZTUK>=<:8543365;?ɺ·Ž†’ÂæíîçÍÉ®¤£ªª¢ ¡£¦¨ª½¶©«®œ”Ÿšš ••Ž……†ƒ„‡ƒ}„‰Š†ƒ~€~wvrlcYT[h]UVWX`]QZ\_a\USRTSOMPQMNQQIFLPU_QSO^db`\hj]TU^[ISH===:556589<>ÀÁ¿”‰“Âæëæãæî¿¡¨±¥ Ÿ ¦©©¬±³²±°¬ª®¯®¬¬¥£œ“‹ˆ…‚„ƒ}‡†ƒƒ{|{ytmkg\X[SY^ZW][^\Y][]`\WSLVUONPMFGJIDCGJISMRT\_b\an^`S[`\LGC??=95667:=@@½¾¾˜Œ•ÃäìÔÂàê̾ÊÉ¿¿¸¸µ®¨§ –‹‰†€ƒ…‰Ž–ž Ž†ƒ„ƒ}‰„~‚{zwtsomg\^ecc[VVZY``c[U\VY`]VRMOOQMEFFDBFHGEQMUZ^W^ab]UgaY[[UNHFF;86678;?GH½¾¿š–ÃãìãÝèéææèæèèçé¸wec^XXe›˜oYYY[_^\\\dˆ‡ƒ„…~€Œ„|€{ytuuqidY[ec]VYRT^fdeXPUYk]c\PQQPKJGJQGAEIGIQS__[U]ehfZ`aVSY]SFBA=;:878<@JE½½À¡—£Ââìììëëìììíîíîè‰GWeow~fMF;787Elook`Fa„‚†Š‚~Œ…|}zzywyvcYT[[[Y\ZRZ\\aijmrtnTZ^UPSSJHHLU^jv‡‘•–™™—˜š››š‘Ž‡znbTC;;<=<;::9=>>=ËÎÏÆÆËÐÝêëëëëëèåäâáäÄ_H~œ¤§«˜vcFDLLMQIFFLRLw„Š‹‡‰…{y{|wxra[]^WXXYYaZRQas‚ue_`gSVPMRUONLDmŠŽ™”‹…ƒ|~|{zyxxy|‡kJ>:9;;::9:;>?>=éêêéèèéèêëìéãßØÑÌÇÿ–RUz¶µ±¯ª¦À€™i[ZH964K^`‡‰Š‚…ƒyuxywvuh_`\QR\Z\^VU`eia`Y^ccVYOMOTNKFCiYYWUUUNMOMLKKNUUUVXVSM999999989;?A@?ñíìììììíììêäØÆÁ¾»¹®§y]UA`bW\kgŒ‡€‹bWU]W<5@tV„…ƒ€€xtw{yurmh_WPNYYZUVY_\XLZa[]Y[`YMMTQOKR€Tntvz€ƒX:;:9:;DTY\^]iaL:4fˆ<899:sxHOQQQSUTNOxmH6`Ž}b‚‚‚„}zyplqy{rid`TSTKLSWZ\UQTSUX[ZYY\a]UMFFEBmemˆykc^ZSF;FMOVM;::<;[^@6ZC89:<=BIJIŸÄËÉȲª¦œ’Š††‡‡†…ƒ}h{77Dˆ—kKE@@BQSPIh‚W63GŽ^€€ƒ|ywsvprwskiaTWYXZ\a]WJITZ`[][ZYZ^WOHDCBM—dT@F455CILL¶ºº¸·©™”—˜˜–•“Ž†€rwm>EM€”‰LA756DGDH‡a56;Œiu€~ywwvmnuojicU`m^XTY\[TRW[^c`[Z][XPIDAA>dšYF@?79;=PR@CHIEMŸœ™œ£¼ÊÌËÌÎÎÎÍÊ»Ž}~l‡dINRv‡]KHCBA@=9Cˆ—Q:75}i~vt}|z{xnlpljfe_hpc[PR\]VTU[[`[Y]cZQKFEDEH„Q@><9ReNB?636DKA>CED:8?bN=<@FLLDUƒŽ¢¡‰~tqpmmqz{]d„`„a]Xcm_KLRUVQRJQdŠ„N>;6lvZtIBU€z}~slmmnje^^Y^[PQXXQPV\\\[\^^UTOMRUTb—xKCDB?q‡v?<756879?@AA;7:\L@JZXP>;>ELQYbv…ƒ“‘ICGP_VMOLA77EhLE@EADG]\NI<6<:BD55?zvwwphhioxj[WWTTRPWXQP[^\Y\a^ZSSTRT_lu”`IWLGCVrVAGA5347AHJIJHA9TJAPf\P<8>KM[cgr€Ÿ}PIAUng]SE?;743OK<:::;<976557889899?IPUdrxxy~£žš’Š‡}pjbVV\XY[SQSQTR[a^eaXWUPKIOZemWJ‡^>??HADJIQ]^a_LDECB@;>BRHPNG::Q`emjiw¾Ã­^UMHAJKIC=:8A~UMN==<;:999998889996P˜¦¨©ª¨¥¥¤¢ŸŸ¡£¦¦¡}bXRY\^]YSNPXW]ccc\SSVTMHCGTNUsiZPD?EKMLMO\defbPGHDBGWat„i–qZZ^rsutoj~äì½u}„‚„‡Œ‹‰‡…ƒ·ŠID9;<:876777866777<”{vtqonlkljijjklntˆo_XZ[[WSOPOTZ\UX[WPRXUQZ__—šm|ywoiXUdmmlmjiihhjmmcX`ilv‡›˜Œ†|{tsrks¡¾ËÓÍÏÒÓÔÔÕÕÖÕÕíƒSND6886554567;7674c›bhopqqqy„¨ª‰‚|ywvupqyb]^YXW\bdZU\]WPQWc]Z\dz…}œ§viec]][Znleba_____`ahna[Z[`aUXŠŽ…onrpojr{—­²¹¿ÁÃÃÅÆÇÆÅŸwbŸŠ?35554467A9666|l„“–™œœ–o`]Nz¡¢¢Ÿ›™‡uivssqt|Š“”‹Š“˜–Ž˜´Ÿ†‚‚~z|Œ™o\V[\ZYY\[YXWWXXWWXWYZXXZZZXTL{…}thjtumjssqstvyz|}}€‚„{]t¥¶¹}=02233575682G‘]¼Ó×ÛÜßÊlXPLpÔâÝÚÚÝ´u\vzyz{zyyyxz{}}†Š“£´¶¯¡’vv‡g[RVWVXZYXYXYYYYYZZZYZZ[YXXUUM\onhahtrwxsqonnqrsuvwvvvvvvtHfªÈºÛ›bQHKNK<~l>Ii~^xÓäáàßã½bbhXgÒâÞÛÝäºdibpmqsuuvwxxxvutusqrx€›¬Špxdjna]c]]]][Z[[[\]]]Z\\[YrvoƒMMYYXSY_eqywsqommoopssssrrqh\>CŽÖÝöíµy^`r•b¾šTzme^¢¸¶¾ÄdžR\ucc¹áÙÓÇ»ŠGrYjgfhiilnqtwwwvttrqppqqtcjk\ˆÁ¨ ÑORTgbVW`hYVWm_KLpÛÔÈήNM[ZXVUWYX[{xtrnllllnoqrrrqgI;4NšŸ³Ö»žfhh^~ïÖap˜agMYH?EII@Jc’jann[TK?@>h]dihedeffgknqtvwxvrrpppqYWdV{×ßÜîèFBn£LCƒ l9d«N:]ÎïÜãèœKMYXX\ZXXXW{{zwrnlkkkloopqqd=62156DR[xYbpo‰áÔy}–WgLd=7978:=Pxe^J87;<;DDXe]jjjgggfddegjmptwwwvutsWIWUV°¹ËÒêãcBH¶ŽJÂê¢F²•GDªûÕ½¥‘dNLUVW\YXXXXzzyywsnkihhklnoq`61267:>EP]q›¯·ÃÛÙ½£…WcF@8?C>9978@?>87B^b<;=DjXjlmlifecccbbceiostvwxyXDLQQR\€“ÝèRHsÚ‚‘À–Ò]R_Ÿâ·raTTPJSUUWZVWWWxxxxxvsmjhhhijkn_50157>EQ`{“Ýòîðòóï±s\\ILITWPGD>555678W‘ŠB?;8fVeihlmkhfedcabbcglnqstxY@FLPQUVb†oppf½çËÑÆç¤mqolqh[ZVTNLTTSW[UVVVtvwxxwvsojgfgghk`60126=DZuœ¯Úòñßµ®»¡fTUNNKJKLMLH<879:J]jMMI>PO_`srlnmkhfdcbbbabdhknsX@DJNQVZaacdiowŠÁÛáÔµ„upmlhf_ZVQLO__][YWVVVprtuuuutrnifdccg`61137BaRK[f´ÝÓ‹‚š•eADDGRXQHFGVH@8;FRUYUQOSTS]nl¥Šhhmopkgfdbbba`abflX@BIMPVYan{…‹¤¬²¾Ä¹µ²­Œƒyo_XTPKQeggdc_YYYmorsttutsrmiecbd]7403>„å‘KIXjb^ar‘“|nSPOSWVPMOS[kXbsˆ˜¢£¤¦¦ª¯­¬­­°©¤¢˜€vonmjedccdc``dW>@JMPUX`owyv”åìéèçììíì‘rrrk_XTPKShhhgfeb^]kmpstuvvutrokfdd\8;107~É‘s~š•š™^\Œ{r`a`_^^^^_]u‘ª­­«¦¡™“‘Š‰‡ˆ‰Œ”›¡˜lqnnomkggghfddU9?KMPSX`mppl™ðïìëìðððð’llmj_WSPLUllkjijieciknpstuvvutrpkfe\8<2/17JM>@JJBB?AYTas[]]]]\\\\b{‚yphcb]YX]XVUSSSSX[^cdypknonmkihhhhU6?MOSSVbjgdc}ÆÕÎËËËÍÍÄvXZdi_VSRMWmnomlkjgfdgkmorrsuutsqplh[4;1/0027=@@ABDH_|[nvXYYZ[ZZZZf…[TNKJJKKKKN`PFFEEEDDDCBBNbgghknnlhfegS3?KNTnqc`Q=0/6?FGIRHFB40>>>=;;;:58789:98888988:NfhffhjjigeeQ/?HGfÑœeUQNJKLI_`ZaWWXPMOWUq×¼Q@cÆǯ•|ronlŽ_dgilmoqsttsrqo_3<45I@52./-++,)Av’‚‚›©•c\\\[f†G<>@@ABDDA?[M;<<;:8788879>C^kigeeghhhgP+?DAb¶ˆ``bG?BACCDA=@A@<8Pe`c…KBNw”ÁÓŦ}nnȆ`ehjlmoprsrrqk[2;51=OJF<91+,-,Ds‡zÚæØš`aa`„x=<=CCCCBB>I˜i=A@>86677768@@QkkhedcdggiP*;?>CT]`gmdROOTWY\]^__^aorl`ULDBLddq›Å×ÉŸvÉÄ{^dgikmnppqqpfU28425:<=52147:>Cfy`Šéàáâˆgnoœ[>;589:99<=?G@FU\T54466766;ACcnkieaacdhQ)8969?FQ^dffeba_^^^][ZYZXTNF@98;Jhlifxž¿Ò¿ͺi[cfiklmnpqpi]F822322210012226Y`KdÓ»Êò¤jyƒœEA858;;;:==<9=adbN5ASI@7658A>UmmkjgdcceR(73D9**+--,,,++*)((*('&%'.)()8XHGimkkhfp“¿¬ÄѨa^dgijlmnookg\TMLMNMNNOOPOPPHSLKJ^c–ØŽ®­†94.,,,,+++-3:CLYhT&)@JBFilkkkigfp|¶ÈЖ[`eghkklnnmligcb_^^_^]_`afh^JHJJMU`rˆÖª¦g<>44?v„l=66312235;CGMW[XT@4;AB_hIDAQj^WE'76.+=A?@@>=;::::;;=98?q„|N>;211236CFOP]_][H57B@R_865;b_UE*62.0:;::998876654443355443%%132=]adgikkjk\{®À͸j]dfhkmmnopomlljhdca__abbb_ECHHOP@=>Ar’E?AKcDEJHDBA611128HIPMbc[SH64@=A>4528bhaO61-,031/-,,,+****)**)))*.10.1655Egfabehiij[\y¸ÆΧcaegiklmnooonmlkheb`````b^@AHHNK:JUFPQ?=O\bB@@@A@?=;8658>CAAKLFGE?:?;HKCNA;9A=7987889;AD@>><:999889:BIIGB=Fddjjiiheda^^]^^_bfhgec_\\\\\[\[Z\]bgkmnnnqrqpngcbe]SPW–½ÆÇ~W^`cgijlmnoonnmkgd`_``b\8@IHKOVXq©¥XU9:<;:::;<=?BHIFEEDDFGIKKHGGHDTmIHhˆ|Y‡ÆŸT‡dCDPTW[^abfhkmooooooppqrqqotmn`]mgghhhhgghhhhgedbbcehiheba_]]]^^][\^bhkmopqrsttsnlbSNKq¶ÁÌ°d_cegijklnnooonlifc``a[5=HF‘ßÇpi³ŒOˆfavuutpomkhgecba`_^_]^^`ceidgxmdggggghhhhhhjjhgdcbaeikkjhc`^^__`_^\]`eilnoqsstsroqhSMO‡¼ÄÑ›]ceghikkmmnoonlkiea_`Z5:BGa´ÆƒO‰€_‰|i_d\WVSRPOOONKKKIIJKJKLLLNQPSU_ubfgghhggghhjjjihfdcbbdgjlkida_^_`aa_^^^agklnopqrqmqw_QOXÁÊΆ^dfgijklmnoonmlkhda`Z24;CIUfoU^{ojXPKLLIGECBAABAA?>>>?@??@@ABCBBCF]nigghhggghhjjjjiigfecbcfikkkhc`^______]]`dhknnpqqsqpjYRNh°ÃÏÉ|`efhjklmmnonnmljgcaZ038;>=?N[w‡mOABAAA@>><;:::;;:999:<::;;>>=>=<?AIPIZcgospefgffghhhhiijiifcaacfjlmlifccaaaaa`^]_chjlknoooj[QTU’ÆÇÓ¯c`cefhijkklmmmlieXG.3475Vo_MHTIAEB;<>===?@ANZGFCBABCFGWx¤·žŸ«¼JFo¾ÝÚ“dfffggggghijjjiecbabfjmmlkhfcbcbba_\\\^dhjqssqphUNMY¥ÇÎÓ’\adefhijjkllmljibL.11./9==SRQr»¨ªÉ¿›nLMLLNQOg€_ZXUTTRLN¾óìáÇÊÜØE=e…¬¨–gbcegffffghijiigedbabcimnnlifccbb`^\[[[]`dqrrttwiUPKo¾ÊÑÇs_cefhijjkkklljidX@/-,-,&.QD>{ïÍÍÌßéúÃLHW^bc—›š£ŸŸ^VURL;4`ÙôñèâéÚŒV35426q‚†…l>-..9]t€¤¨Ÿ‘zN8<_œ©¥ k?CBCJ„’o[SI?654831=fgggfeeprvfbcccdeefffggggfdb`_`cikjjgc_]\\[[[[[ooijsrrkVOOL[¦ÄËÔšeadffghjjkkkkjigec`^^]RS:276=AJRawšÆwr¿ìêììïîïïðòë‚lºšwaQG@<62=fhggggg³áã´ibcceeeffffgghhfec``_djklliea\\]]\\\lsnkrrtti^QNMq·ÅÐÌy^dffghjjkkkkkkifdb`^^RS;038?@KSaw”Æ®gÅñíëëêëìëáéèuyÇœ}dVLB<;=Dehhhggd~ÄÉÁ€_cceeefffghhhhiifdba`dgjmkie_]^]]]\uxqoqrqppr\NMQÃÇÕ¶dcffghjjjkkkkkjhgeb`_QH;>E;?CKSay—ƼZÀôððïîðñòñóïqÒ¤y]LA6121?eihhgggegheedcceeeffghggfgiihfec`_`ejkkjd__^_^\rpmkoommlmeNLL_«ÃÊב_egggijkklllkkjihebaO;<>7356:DPdƒ¶Î^™ÔÑÎËÏÉÁº²¨šP~†WB54=K@/1@eiiigffeddedccceeeeeeggfffgghgfda_]`dhjlkd`_^]\ppnhknqurqkSKMM|¾ÃÒÈubfggijkklllllkkjiecQ3=<41;OP;8;HMuZ8BCBDME?;831=h>IC66¨Ý.3Cehhhhgfeeeeccccdeeeeefgfghgghhgfc`]]`dhkmjgb^]]nhgkkmruuutaML[j›ÁÇÔ±fdffhklllmmmnmlkjgfS9>=5,tÕß]5;QDJrKAACFOPLIGHI{daS937“†M05Edihhhhffffedcbbdcdffffffgggfghhgfda^_aeilmljga_nnnmrroosrrmWLNO\ªÆÊÕ—aefhjkklmmmmmlkjihTOF<70PŠ°R23BuHv‹qprŠ“zzz{w|}KwT333.,018Ecihhhhgfgggf`Äűqcefeefghhhggghgfdb`_afjllllfc|vusxumlnnlniNJLKr½ÂÎÎ{_cehhhijklllkjjjjW:@<=33/3675;YCISV^|wv[XchKFFGHI55543335BageeddedfeeebtÇãà¢_cdeeffggggffgfffec_]afilnnli|€uonkjlmmlgSLMMO–ÁÃÖµb^bfgghhijjkkjjkkX'5<614444459JJLNQU^\teYXVMIFBB=0///,,.6Kp„‰“˜œžžžŸžœ ¨¥™shdeefffggfffffgffa_^aeimnomwwuwvpoknoommg[NMJd·ÁÊÕˆZaeffgggiiiijkjdR&4:/-.-,,+++00..-,**/,('('&&$%%&()7Wu ©±³¶µ²²±¯®¬¬¬¬¬«¨ª®±®qddeffggffffffffdb`]`dhmnnqwuvunpljmmmptkSLLN•ÄÇÕ¿gbehhgggiiihgfaXL&16**+(*++*,*)****++)*-/24445;=>8v¤³²­¨£Ÿ›—“Š†……€€€€…‡Ž–‡gddedffeeeefeeeeda_\]bilmntponmnkillnnnjTLKMgºÇÎÖ^deghgghiiifdc]Q*05+*'*;>?BEDDDCDDDEDDEEFFFECBB?s²œ“ˆ‚}wsnjgfdb_^_]]]^_^_``bfsqcdddefeefffffeefcb_]]cilpnpvtpmoppiilkkUKKOO“ÇÇÓ¾e`bdfggggghhhieR025//,*2212221122100100...,,+**0ˆojdb_][ZYYZ\YzwXZWTUVUVVVVVWbfdeddeeeffgffffgeeb_]^dhmnpsponqttpilmhXMKMLe»ÈÌÕ’bffghhhggggfebT921/21*&$####""!""#"""""!"#""" @¡iWWWUWZ\^_bWD=XW?@@@GsFr›dbcdcdefeeedddeeedb^]`mswtprrorlkkjlrdNLMMKa·ËÍÖ bfhhhihhfggea\VNB@>>>?ABBAAAAACCBDFEEGHHHGGFEŽwDx€˜  ¤©¯³º²€¥—‚™iNPE3223343eeI”ibbcccdeddddccddedc`^[qvwrkikpqlkmvuuh`ZNMNPŠËËÐÊydhhijihgggfc_[WRONMKKMMMMMMNPTVVVWXWXXXWUTQb—VWuÈÃÃÃÃÁÂö¨áƤ·}MO<2323344Gy=Qcbbcbbddccccccddddcb`]kklidccnmv}yxwsnqgPLNT`³ËÉÖ°hhhijiihgggeb`\ZXWWVUUUVUUVWX[`acefecba_^\W}ŠHk\}ËÅÆÆÅÄÃÂ¥h|qn[QK412222368sVE`dcdcbccccccbcddddccbaurnnmwqtmuxwvx€o`SLLMM~ÆÇÏÔŠdghhhihghhfdbaa``^]\YYYXYZ[]_bfijjigedcba]zBwIT‘ˆxoil`MIKMMOQK311222254Zm9Zddcccddcbbbbccdddcccb…€}yy|ymksyxz~xh_SKKLMU¤ÉÇÖ¾jceggfgghggeddcbba`^[[ZYYZ[^`aehhgeedbbaadŽeBzVD967653399:8EWGFHE311222224Cy96553202ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÊÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͸š{lqw{w~‚mif^i\aed\\[Y_ZUYefVTVYYUQMWS\kTQUXYRPSRQ[cabZVUMH?<97521..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÅÃÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌÌÌËÌÌÍÍÍÍÌÎÀ—Žƒ~vem~rejb`bWje_[VUQ^c]_tnZRQW]WNJUSR\TY\XWQPSVZ_\Z\TRYRJA?@<641.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ¾¿ÊÑÐÏÏÏÏÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÎÍÌÌÉËÌÌÌÍÌËÈƦ~}vkcmtqfde_Y^bWT]VTSZgghlfhXQW[VQSWTUYSZ_`XTUU[]^[YVTPRQKAB@9662.0ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏʽÂÀÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÎÍËÉËÌÌÎÏÍÉÆÄ´zzri]Xfe]bdb]d_XWVPQTZ`cgj`_TPQQONUSTR_OUX[[Y[Z^]^ZVRTQRNGECC=641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÀÊÅÈÏÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍËÈÅÆÄÈÈÊÍÍËÄ¿¾¯•‚~sXTTTPTWnrhcc^[OECN[T]de^YUSNMMJNLRNZOSWWYW\]\[]ZUQSPWQEFD?=51///ÏÏÎÎÎÏÏÏÏÏÐÐÐÏÏÉÀÊÄÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÌÊÉÉÊÃÀºÃÀÄÁÆËÊÇÀ²¤©“‚{t_UYXWdgcpkhaZWTRRTbVQ^_WQWXSNKHPQSYXRSY[XUXZWSS]XRWQXYC9:321//..ÏÎÒÖÕÏÎÎÎÍÍÌÌÍÎÇÁÊÄÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÅÅÆÅƾº¯Á¼Ã½ÁÉÿ¼¬ŒŒ„uŠ‚e]a^]goYo`W_WQUW^][RQU[TRUXXNKMTSS[e]QW[XWXWZVP]\Y^]QI=7641/.-..Î×æîìÞÏÍÍÉÄÃÄÈÊÅÁÊÅÂËÍÍÍÍÍÎÎÎÎÎÎÏÎÏÏÏÏÏÌÆÄÁ¹¿»³¥½¸À»»Å»»¹Ÿ‡~onlfedW[e`Wf\T]`SRVY]XUTQQPOOPTYVRTQQSe^MX]ZTQPY[SY[SPNC:<<962/---.ØëçÖÞîãÎŽ¶·»¿ÃÅÅËÈÄÊÌÌÍÌÌÍÌÌÌÌËÍÌÍÊÊÉÇÆú±«²³ª¡®°¸··¿±²«‰{{yrmVae^Yd[SZiaY_[NRTV^abWRONNPROUXMPUPR^`Xa`WPMMZZUYRO[KB@=<;87300..ëàšu€»ìÛ¹³°²¶·ÀÆÈÌÉÅËÍÍÍÎÍËÉËËËÌÌÌËÇÅÃÀ·§¢Ÿ¦¨žš¡¯¯±°¯§{qnjoq_[]Y`dXV^aZaXRWUSVWc]TUQPRVTSUXSQXRRZb[`YWZV[`WUZXTUCAH=987764110è›ssqŠÏè»°®°´µÀÄÈËÉÅËÎÎÎÎÍÇÁÊÌËÊÌËÆ¿ºº»¿¯¢›“¡œ˜¤´«¯©žž•}mhfXieYQJNYcYSR[fcal`__]TZQQQPQSXTUVWYTZQP_a`g\b`iiaUROPMLA=A8855654002Ѐ„€yˆÄéÀ­­±²´¼¾ÅÊÈÄÊÏÎÎÍʹÇÌËÇÇÀ²¥£¢©«ŸŸ˜Œ–—•¥²¬¥™“’‰wcch\]ZQPPQZb`[hpdTVeRYrp\SPMNNMJMPPQNPSZUW`XV]Zahb_[RKMIHHCGB8655554005¿…Š„~‡¾èħª±²´¸·ÀÊǾÃËËÌÍÊ¿µÆËÉÀ¸¬   ™›š’‘ˆ”š””š —Œ‹‡uvse[VX[[RY]ZU_j^TS^fefd]TSNLLKKJIGHNMS^]X\XRXehkX[VOSRJJB@E<864434536;½…†††‹ºåÓ¶¶³±²±¯¹Æ¾±³¸»ÁÁǽ²ÀÇÀ±¥£œŸ¢—˜”‡ƒ†„Ž‰ƒ‰Ž‘Œˆ†……ƒ{yrdXWWW`ZVYXSYiVPQ_jiXUZXTONMKLIGIHKSW]aTZURltgibb]Ub[SUH==;97433365;?ʲ°†ºâëéᎬ§¦¬®¥¢¢¤§ª¬¿·¨©±£›˜ š™ •–†„†ƒ„‡ƒ}„ŠŠ‡ƒ€wwslbZTZh^UVVV^_PWZ_a]UTSTSNMOQMMPQJELQVbTTO\edc^ci`UU\YJTG==<:55658895677:<>?½¾¿™Œ’½âìÕÄßìƱ¾Äµµ°³´¹·¯±²¯¬©¤£¢¤¥¦§¦©§¥ž†ƒ„ƒ}ˆ„~‚{zwusnmg[^d`a]WU[X__a[V^YY][URMOOQMDEFDCEHGDRKTY]Ycaa_VgaY[[SLGEE;86678;?EF½¾¿š”¾áíÞÐåéÝÛàßßàáãÜ°‹xomŽ|mfgifhnvŠ†ƒ„…~Œ„|€{ytuupjeZ\feaUWRT\fcfYQURcac[OPQPKIGHNHCHKHDNNW[[QZad_T`eWTZ\TGBB<;9878<@KG½½À’›¾àíìíìëìíìíîíîðÓuNSUX_bp‰lTIIJ\hf_YLYƒ†‰‚~Œ†|~zzxwyue[UZ]\Y\[PX^aaeabipsQ\_VQTSIFHOZSNOTXZdotrpow{||uusm]\UG<;==<;::9ÃÅÇ»ºÂÊÛëëëëëìêéèçææâžJRv…•VB6058:O_`bf\Dj…Š‹ˆ€‰…{yz|xxsaZZ]YYXYX^[TO_r‚{ng`dTVQMSUNMLHC^s‰šžžž›——š™™šœšš›š”\@:9<;::::;>>>=áääääåçæêëëéåãÝÖÑÌÉƺxGc¥±´´³£™}^ehVUN<7:AVRƒ‰Šƒ€…ƒyuxywvtg]`]SSZZ\`VT]dkidU\ceTVOMPTNKE>DŽy{zriebba```_]^abdfie]C976:9989;?@@>ñïíììììíìììæÛÍÇÃÁ½±¬ __KŠŸ”ˆ‰ ¸‡˜“XZTK>65^Xp‡†~ƒ€€yuxzxusmg`XON\[[WVX`_\NYb\]\Z^WMNTPLIJWˆPTXY]c_C@@@?>?CRVYZ[[PH6Vi98999;;CnR;Mm?99:<=BIJI•·ËËÊö­¬¢“Š†‡‡‡‡†„†iwX34a›qIOLLLQURJYyf>9H‚kp‚ƒƒ{ywruprwskhaUVXVY[a\YKGRY_Y[ZYX[_XQIEDDAKaXVZF@<;Mh=äU28=>AHIFN˜¨¥¦§·ÇÊËÌÎÎÎÎʾŸ€{dˆFIG_‡‹^I@:9;@=:_¡ˆA64M”^{}‚|yzvnlpljff]hscZOQ\]XUVZZb\Y[c[QKFBABB@‚€V;D98AG?LF64=RRD@BDD;9FfBuàZ6>=?GKKCSuŽŽ›žvnjkefjry‰€w{lŒLURp„fJIHHJIFCCh™wA:7@›ftt`dx{}~slmmnhd_a^a\QPXZRQU\[[ZZ^_VSMEDJLIZšmO@;?BCB:6=_CpÍ]SL<=DLQU_g……‹ŸVADN_aOPNH<mJeR::Zzzzskjlrvi[WUUUROVYQP[]\Y[a^ZRSUNPX^asšWJBGCGv‰b?@95666=BCBB?::[CzÅa[N;=HJVahd€‘›RNBJjlcXI@>96AKE::97:@?>?;;;=9:9>JHHD655:>5::\zvrmfdefodWW\WV[RRURST\][caYXTPLIITcr{H[rQECP[CEJD;<DEFC:775AC<[B===:99888788999968FS\l|ŠŒ‹˜§ª§£žš•‰~sbVRZ[]^XRNPWU\ecd]SSVTLE@JRV]mXSiF:9>CEHJMgtqreH?@=<<>EUliLPOTmptsnhbÁîË•~†‰‰ˆŠŒŠˆ‡”¦LR><<;9999888888888=œ¥¨¨¦¡žœ™–”“‘‘•—™œžœv]VY[\YWRPPWZ]Y[]XQQXUQWZSVt_`‚zh`UHNUYYX[]]]]\XWWPKUgqtx‡‰ƒ}|utrjc‰¬ÅÖÐÔ××ÖÖ×××Ö×е±\J76:97776667777784g¡ywurokiilpkhfdeghihpƒe[\YWSRTYQNTWQMOTVVYY^vƒ€w®švrqkfe[Zpspmmljiijlnrm^accmwdp‘ˆrqqonjiz“¹ÂÇÍÏÏÑÔ×Ø×ÕÕΪ—c]jQ854555456ÅÃßçzVX[sZ]¯MWm‹aj”éãáááß…ZaeSäàßÞáäl]hkgiklnpsvxwvuttrqpoprx~luoaƒ•qq~_Z[\[Z\]]\]^[[\XVY‘“Ž·’LQYXVUWZZ^{xsqmkllmopqrrrqm[H5IªÔâïå£laa{q—Øte}ZhdŸ›œ¥±£VVkz^vÊÐÈ»©–UWj[igedefgilpsuvwxvrrppppoZehSšÊÈÇë—LGJzkJPnxSG\‰OAJ”ïÝáÚžKOXX[YXXWU{{zvqnmlkkloppqqnS=50Ibh›¡„dph[µø™\„Z_QY79;<==Px‡bbbMDB;8BEoWhihffgfedgiknquwwwvusroRS`NãÞÛèë’E>o·MN§¼t7™š@@ŠíÞÑÒÑuKMVW][XXXXyzyywsnkihhkmnoonJ310246?@U\]n{‡°Û¦„šp`WSO59989::96899:78PqT7;8Sc]jmoljhfedcabbcglnqsuwuMBHNQOUb€Ä¬tcVqà™—«Ï®VcoŠ«…]YUSMLTTW]UVVVvwxxxwvsojgfgghilH0035:BQcz³ñïïòîõÒ“VhJNLNWTMHE:45578?nžf@@;DgThhhlomjhfdcbbbabeikpstN@HLPSWZ_baents±æàâäÙ†sngc^_^ZUPLP]\XWVVVVpruuuuutrnifdccejK01248=K_w™«óôë´˜¥©ˆMXLOLIKMMLLF;98;ASdxXLJFARObe~rllmkkhfdbbba`abglpO?FKNSW[ckrtuzƒ§ÀÈ´š…|xvtqj^YTOJRffca]XXXnorsttuttrmiecbcfJ1217>zˆA5>Sˆ„y–¢}O@DDNZXKFCQPE<:BNRQLGFFLKL]iqŸw^ejnpnmjedccdc``cgP=DJNRWZdt~ƒ„›ËÌËÏÒÑÐÏÉ€|vk^WSOJThhfeda^\knpstuvvusrokfdcdI5406RÕÕzjvvkoiw‘ŠucUTSVXURSUW^f]gw†š™ £©«©«®©ª¤Ÿ –€rmnomkggghfcacM:CJMPUYdqttq¦ïíééêîîðæ€llpj^WSOKVkkjiiiebiknpstuvvutrpkgedI9700<@E<:89USUmgZ\\\[[[[Xg‹‚”ˆ~umeb^]\^\ZXWWWWX[_de|jfhknnlhfeeeI4DMPSUZehZOMYƒ‰‡‡Šˆ†wI?GYfb]VRM_smmnnmjh`dhjlooqrtttsrplhF570./026;<<@BFSznb}dVXY[ZZZZWp‚^ZQNJJKKLLTeNKJIGGHFDCBDTghffhjjigebdF1CJM]‰vbVM;2124LINWFGF=>IKWp¯ŽOEp¹›…tqpnk~_egilmoqsttsrqokE48141-.,,-,,-./[Š‚rkf[ZZ[[Z]|VA@@??=<;;97879;:98898889<>>?@BDD?APA::<;:8798879?CakhecbcfgfgC,@AAd‘k`eeE;97?AA@@@CC>?ZieajaGCMd}«ÐÕºp˹n`egikmnpprqqkb?4841@HHB85./268]ƒx²ìãÂr_bcce=<@FEDCBBKlkjgi}¦Ë¯ÅИ]_egijlmmonlgWD<;9:;99:878897IaWFŠÊ¦çØrux‹Ž>A748:99:==;8Uk[hP4ALF=6448B?XlmllidcbfD(86XA+'*.)&%%$$$###$$'(,3?2&,HdGHjlkkifhz}·È͈Zbeghkklnnmkf_[ZWWWWWWWXY[\ZPMMKLXd¹²~§¯®vM@>TVOLD:45??KglmrphdbbA(85@BA<>D?9631110125>GNYcmZ$'37<44Cv€^766222235:CFNXZWP<2;ACahJFFUg[R:(62),>?====<;;;;;;;<>?ABADA$#,05A`ehjkkjkYz°ÂÏ­b_dfhkmmnopnlkkihea____`cdfPDHGLRW\e‡ˆ[›D?<77H„†~I=8212236AGPR_^][F47B@Ua754abbehijj\`€»Ç͘_aegiklmnonnmmlkgca___`aadO@GGKUS@=;:†„=@?LZAKPMDB?211139GKQPdbZRF75A>BB6627`haO92/.01111221/..-/0210./39<=?ABACSnjebbegiTLQ¾ÅË…\adfhjklmnnonmlkgda___`adL=GGISE:NMJ`TA>;=E?9;98899=AA===<9988778:CJIG@;L_`gjhggffcaaa`__acggec^]^\\\\\ZZ[\`ehlmmnpqrrplgcg[SNe«ÁÌ·i\adfhiklmnoonnljfca```cG9FIHLPTWs›†OD7:::999:;EM]neRouon]RNQMKHGEDCDCCA@@?@AAAAACCDEDDEIcnifgggffghihiiiiiigeaabdikljhd`______^^^^afjmnporpnpdTUiŒ¾ÊÔ´hadfikklmlmnnnmkifa_D,68;>>DW[t‚jNCDCCCA??<<<<<<;::::;;;;<;=>>>>>?Mmmfhedffffghhhhiikigdbaacgklmlhcb``aba`_^]`chjlloppoiZQVW•ÆÈÓ¢_aceggijjklmmmkjh`U=-6482..Dc–r[B======<:98888877888887889<<;:<@C@Vk²ÈÄ„cgggggggghijjihdbbabfjmmljhecbbbba_\\\_eikqssqoeSNM[¨ÆÍЇ\bdefhijjkllmljf`O9,5486A@CaxaK?A;999:<:99:<=>GIBCA@??@ACCSwŒœ™@J’ÃÀ¢gcdegffffghijiigedbaacimmmljfccbb`^\[[[]aeqrrtuwhUOKr¿ÊÒÁl`ceghiijkkklljhfZ<+10.2:9AW\Yl’“~‡—…cOHIGGIKHnwSNNNMNNMO¦Úçã¼ÀÔÏ?Affcdfcccdfeeefghihhhgfda_^bilnmkifdba][[[[[[\^qommmoi]RMO™ÇÊÕ ]adfhghijkklkkig_N6,---(%8RLCšèÁ¾ÅÞêê“GOZadgŽ“’•a_]X@P¬ðàÉÜéõ©;?hhfed†zcdddddefgggggggeda`_chklkigdb`][ZZYZ[[\pihjjed_TOLh¸ÆÐÌu\chhgghijjlkkjhb\M@@AABBAL<7€ìíéÏÉç߆H8A?;B‚†…†s;...6[q³´­œ†R7?fgfedigcbddccdeffffgghgfdb`_beijjhfca^\[[ZZ[[[njjjqnicVONO‰ÃÈÕ°aafgggghiijkjjieb]YXWVVVJK67O¢¤¦¦œy{lD478:kž¢fABAAM‚ŠjZRH@654>gggfedfgjcccccdeefffggggfdba_`cikjjgc_]\\[[[[[ooiisrriUNOL[¨ÅÌÓ“bbeffghjjjkjjjgec`^][[ZNM56;8;BIM]uš§]:FLI[†›~zjhmdOH ›u`QG>831=gggggg®ÓÖ¦fbcceeeffffgghhfeca`_djklliea\\]]\[[lrmkrrtsd[PNMu¹ÆÑÈr^dffghjjkkkkkjheda_^]\QP4488>BLTcz¤¼]lªËÏÓÙçàßäêìÛzk·˜t_OF>;51=fhhggdˆÓÖÈ}_cceeefffghhhhihfdba`cgjmkie_]^^]]\uyqnrrrqqr\NMR”ÄÇÖ®bcffghjjjkkkkkjhfda_^]QR4/39@ALTczœËvÖôïîíëííëãìäl‚Å—xaSKA=<=Eehhgggemnhfdcceeeffghggfghihgec`_`ejkkjd_^^_^\sqmlopmlkndNLLb®ÄÌÖ‹^egggijkklllkkiiheb`^MI7=C;@DMTb|œÎ `ÑòííííîïðïóèhˆÏ£}bQF;533Afiigffedddcdccdeeeeeggfffgghgfeb_]`dhjlkd`_^]\ponhlopsppiQKML}¿ÃÓÅoafggijkklllllkkjiea`G><@959=CL\v˜Ï¼WÁëæååéäØÎÆïUŽžhJ:7442/1@eihhgfeeeeccccdeeeeefgfgggghhhfca^]`dhkmjgb^]]oigkkmsvtts_ML[lŸÁÇÕ«cdffhklllmmmmmkkjgdcF6>822267:;CMcŠJKZZZ]gZIA<73:iAG?56·w-3Beihihffeeecc_]_`dffffffgggfghhgfdb^_aeilmljga_jmlkppoosrtlULOQ]ªÅËÕ”`dfhjkklmmmmmlkjifeG7>;4/vµ¤?8@P=Y`:;¶¬f/6Ccihhhgffeedaƒ­²¡hcefeffghhhggghgfeb`_afjllllfc|utrwtnlnnmnhNJLKs¼ÃÏÌw`cehhiijklmmlkkkihJS@;4/}º¿A47NcI†t]]^u~jdgklxˆPˆO2334..18Ecjihhhgffffb}Úðë¦beeffffggggffgffffc_]afilnnli{vnnkjlmmlgRLMMO–ÁÃÖ®_^bfgfhhjkklkkkkjjJH@<:346=653Ce@Zsns†„ebopTPICJH56533337Dcjihggggffedax‹…{eeeeeefffggfffffhgfb_^aeimnomxyxtupoknpomlf[NMJe¸ÁËÓZaeffghhijjjjjjjkI':<72544666=KFLJMScZoaY[YMLLJKB21122110:^geeffijkkkjjhcbabbbdedeffggffffffffdb`]`dhmnnqvuwyopljnnmptkSLLO˜ÄÇÖ¸ebfgghhhiiijjjkigH#871/000///3=;<=<<:;K<2/-,+*'(('()(',4?T|‘˜Ÿ£§©¬¬¬¬¬¬«¦¡¡–€pedeedffeeeefefeeda_\]bilmmurommnkiklnnnjTLKLh»ÇÏÕŠ_deghhhhiiiihg`ZD#63*++)(('&&$$$$$$$$#&(),-,,.3571.Hm‹Ÿ«³´´³±¬ª¨¦¥¥¥¤££¤¥¨«­®¤wbdddefeefffffeeecb_]]cilqooutpmoppiilkkUKKOO“ÇÇÔ¹c`bdfggghhihec_YG$52))',78:=?>>>===?@@BBCEFFEDEFDP‘¯³¬¦ ›˜“‹…‚{zzwuvvvuwy}Šˆideddeeeffgfffeeeeb_]_dhlnptqomqttpilmhWMKMLdºÈÍÓ†aefghhhggiihhhaK*62-+(.8678788875435455444321/.3‹«”‹€{volhecb`_]\\[[[[[[\]]_ckmbdddeeeffgffeeeeecb_^_enmnnrttquommlmpeQKMNN‘ÊÊÔ¼jefhhhhgfhhgfe`L15002/((%$$$%$$#####$#####$""!!:—}iea`]ZZYXXY[WwTUUUVWWWWVUUP]wfccdcdefeeedddeeedb_]`mqvsqsroslkkikrdOLMMK`·ËÍÔ”bfhhhihhggfec_UC0+-//)%%#"#$#$$&''''(()*+*,.0,`Ÿ\UTVVY[^`bdU@;OL<@ZgihfhhgdaWA…kabcccdeddddccddedca^[qwxslklpqlimvtuh`[NMNPˆËËÐÆuehhijihggffd_YRD9:999:;:::9:<=>>=??>>@AAABCC@‰„BVckqtvxyz~pVgijrfQQL<8999:?tNIcbbcbbddccccccddddcb`]lkmke`bnmuzwxwslqhQLNT_±ËÊרfhhijiihfffda]XTMLKIHIKKKJJJLNQRRRSSSTTSQPQOY™_Lˆ¢©©­²¶¹¿±ˆ³›ŠžjMPC2323453]n<[ccdcbddccccbcddddccbaspmljokrmvzxvw~p`TLLMM|ÆÇÐÑ‚cgghhhgfffec`]XWUTTSSSSSSSTUW[__`bca__][ZZVuŽHem¢ÇÃÃÃÂÁÁı©àÀ¤´|MN:2323355B|GOddcccedcbbbbccdddcccb…€{wy{znlryyzzh`TKKLMU¤ÉÈ׸gceffefffgfeca`_]\[[YWVWWXY[]`behjjhedca`_[{CxNÌÆÆÆÄ¿½›burjfWQI312222367oY@`ccccedccdccccddccccc‡wzuummuromsmebaVLKL\b€¾ÅÍØ‘`edeegggfffedcbba_^\[ZYYYZ]_`chjjigecba`_c•iD|=\ˆ‚zsja^bWLHKNMOQJ211122354Wo9Ycccdeeeeedcddddcbcddƒ€zzzrqthdjpzslniYLLLZa^™ÅÆ×Âjbddefggfffefeccb``^\[ZYYY]__`cdcbbbaaa`^kŒVJ{WB65655247776EWCBDA311222333B{@Mcdgggfeffdceeddcccdd……†‡‡‡‡‡‡‡‡‡‡†††††‡‡‡‡‡‡‡‡‡‡†„‚|vutttvxwxxxy{{zvuwzz{{zyz|~€€€€†††††††††††††…………††††††††††††„|zvtsttuxxxwvyzzywuvwxyyxwx{}€€€………†………††…†…………………†…†…††………††„‚|uuvvvwyzxxwy{zyxvvuwyywwxy|~€€€…………………††††………………………………………………„‚{yywvx{{xwwyz{zywvvwxxwxyy|~€€†…„…………†††…††………………†…„„„„„…„„‚€|zxwwy{{xxxzz{zyvvwwwxxxyz~~€€€…‚‚ƒ„„……………†……„……………„‚ƒƒ‚‚‚‚€€}~|yxwxy{yyz||zzxyvvxyzyyxz|~~€ƒƒ„ƒƒƒ„…†……………„…††…„‚€€‚}~}}{yxwwwxxy{{{{zyxwvwxxxyyz|~ƒ„…ƒ‚ƒ…………………„……„ƒƒ~~€~||||{yxvwvuwz||{z{yxxwvuuxyyz}~€€‚ƒ‚€‚ƒ„…†ˆ…„ƒ‚€||}|||}}~~||{{|{{yxwxwxxy||{{{zxxwvuuvwx{~€~€~~…‰ˆˆ†††„ƒ{z{{|{yyxy{y{zyxxyyzz{}||{zyxxxvuvuv{~}~€€~€€€ŠŒ‹‹Š‹Žy{zzyxxwy{y{{ywwwxxz{|}}}}}}{{zywz~~~}~~€€€€€‚‡ƒ‚„…†‡ˆˆ‹‡zxvvvvvvy{zzzyvuvwyz{|~…‡‡‰Š‹Œ‹Š‰‚~€~~}~~~~~~~‚†…„…„„…„…ˆ†zutuvuvvy{{zzxyyyyyz{~‚ƒ„„†‰ŠŠ‹ŒŒ‰…€€~}}~~~~}}}}}~ƒˆ‡…‡‡ˆ‡ƒ€ˆ†}ssttuuvyyzzzz{{yzzz|}„………†ˆŠ‰Š‹Šƒ‡€~}|‚}~~€€ƒ††…‡ˆˆˆƒˆˆtssstuvxwxyyzzzyyz|~~†‰Šˆ‡‰ˆˆ‰‰Œ‹„€~~~|z€}€…†…††„„††…††‡†„†‰ƒ|{xvutuwxxyyyzyxxy|~~‚‡ŠŠ‡‰‹‹ŠŠ‹Š‹†|}|ws~‚†‡‡‡ˆ‡‡ŒŒŒ‹‹‹Š‰Š‰ŠŒ‹Š‰†‚{wxxxyyzyyxz{}}‡‰ˆˆ‡‡ˆ‡ˆˆ‡ˆ†€zysom€„„„…………ŠŽŽ‹‹‹ŒŒŽ’’”“’““”•‘~xyzzzzzyxxuuƒ‡‰ˆˆ‰‰ˆˆ‰Š‰ˆŠƒpgjkl„„„„„…„„„‰†ƒˆˆˆ‡‡‰Œ‹ˆ†……‡ˆ†„ƒ‡ˆ‚‚~}|wt~…ƒ€€~}~€~~~qilkj‡††‡ˆˆˆˆ‡‡‚€„„„……‡‹‰{z€‡ˆ€|{€‰‰„ƒƒ…„„„ƒƒƒ‚…{vtstrrsttxz}~€|u‰ˆ‡ˆˆˆˆˆ‡†ƒ‚ƒ‚‚ƒƒ…‰‰…„‚„ˆˆ€‚ƒ‡ˆ…„„„ƒƒ‚ƒ‚‚ƒƒ„‚€~}{||}~€~~…†…†‰‰‰ˆˆ‡ˆˆ‡„„………„‚‚ƒ‰ˆ‡‰‰ˆˆŠ‰‡…‡‰ˆ……„„ƒƒƒ‚‚‚zx{||}}~~}zwy„……†‰‰‰‰‰‡‡‡‡ƒƒ……„‚€ƒ‰†…†‡ˆˆŠ‰…‚†‡‰†…„‚ƒƒƒ‚‚wrsuux{~}yvsrrx‚‚ƒ‰‰‰‰‰ˆˆ‡†ƒ‚‚‚„ŽŒ‹Œ‹‰‰‰‰ˆ‰Š‹Š‰‡†‚‚ƒ‚yrrtx€‚€~}ysrrxˆŠŠ‰‰‰‰‡…ƒ‚‚‚‚‚‚…Ž•–••”‘‘’”“““’‘‘Š‚‚‚zutu|ƒƒ€€€~xtuy~…‰‰‰‰‰Š‰…‚‚‚‚‚‚ƒ‡‘ŽŽŽŽŽŽŽ‡„„ƒ‚}|{}~~~€€}|}€†‡ˆˆ‰‹‹ˆ‚„ƒƒƒƒƒˆˆ„‹Œ‹‹‹‹‹ŠŠŠŠŒŒŒ‹ˆ‡†„‚‚‚€€~~†„€}€„‡ˆ‰ŠŠ‰ƒ„ƒƒƒƒƒ‡…‡Š‰‰‰‰ŠŒ‹‰‰‹‹‹Œ‹ˆˆˆ†…ƒƒ‚€‡ˆ‡„||†ˆ‰ŠŠŠ‡……„ƒ„„„……ƒ€…‡ˆŠŠ†‡‹‹Šˆˆˆˆ‰Š‰ˆ‡‡††„„†‡††…†‡†…„‚†‰‰‡}}~ƒ‡‰‰Š‹‹‹‰‡…………„„„ƒ„†ˆŠ‰……‰‰‰ˆ‡††‡‰‰ˆ‡†‡‰†‚ƒ„ƒƒ„„„„„ƒƒ‚€ƒ…†‡{~}}ƒˆ‰Š‹Œ‹‹‰‡††…ƒ„ƒƒ„†ˆ‰‰ˆ‰‰‰‰‰Š‹ŠŠ‰‰‰‡†ˆˆ†„ƒ‚‚€€€€€€ƒ„u}}†‰‰‰Š‹‹Š‰‡†…ƒƒƒ‚…‰ŒŒ‘“““’’Š‡‰‰ˆ‡†……ƒ€€‚‚€€€€€pz€~‚ˆ‰‰ŠŠ‹ŠŠ‰†…ƒ‚‚„‹‘‘–————–••––——˜—‘‡ˆ‰ˆˆˆˆ‡†ƒ€€‚‚‚€€hn{}z~ƒ‡‰‰ŠŠŠ‹Š‡†‚‚ƒ‹““””’‘‘ŽŽ‘‘ˆ‡‰ˆˆˆˆˆˆ†„ƒ‚‚ƒ‚‚€jir{}~…ˆ‰‰‰ŠŠ‹‰ˆ‚€„„…‹‹ŠŠ‰‰ˆˆ‡‡††††ˆˆ†‡ˆ……ˆˆˆˆˆˆ‰‡…ƒ€ƒƒ„ƒljlw€~~‚ˆ‰‰‰‰ŠŠŠ‰ƒƒƒ…†ƒ††ƒ„ƒ‚ƒ„ƒ‚‡†„„†‡‡‡ˆˆˆˆˆ‰‰‰†ƒ‚ƒƒ†…mlls€}~…‰Š‰ŠŠŠŠŠ…ƒ‚‚ƒ†Š‡‚‚‚€€€‚ƒƒƒ„‡ˆˆ†‡ˆ‡ˆ‰‰‡‡†ƒ‚„†‡lkiny€~|€‡ŠŠŠŠŠŠŠˆ†„ƒ‚‚„†„€‚‚‚‚€€‚‚‚‡ˆˆ„ƒ†‡ˆ‰ˆ‡‡ˆˆ…‚€‚…‡‡kjhhjy€}}ƒ‰ŠŠŠŠ‹‹‹‰‡ƒ‚ƒ‚€€‚‚‚‚‚€€‚‚‚‡ˆˆ‡†‡ˆˆ‰ˆˆˆˆˆˆ†ƒƒ††jkhfft€~}~…Š‹ŠŠ‹‹‹‹ˆ†‚‚‚€€€‚„‚€€€€‚‚‡ˆˆ‡‡‡‡‡ˆˆˆˆˆˆˆ‰†ƒ‚€„„kiffel|€~}†‰ŠŠ‹‹Š‹Šˆ‚‚‚€€€€€€€€‚‡‰ˆˆˆ‡…ƒ†ˆˆˆˆˆˆˆ‰†ƒ‚‚ggfgfhp}€~~ƒˆŠŠŠ‹‹‹‹‰ƒ€€€€€€€€€ƒ‚‚ƒƒ‡‰ˆˆ‰ˆ‡…‡‰‰ˆˆˆˆˆˆˆ†ƒ‚€€hghgghgu}‡ŠŠŠŠ‹‹ŒŠƒ€‚‚‚‚ƒ‚ƒ……„†‡ˆŠ‹‹ŒŒ‹‹‹‹‹Š‰ˆ‰‰ˆ‰ˆˆ†ƒ€€ihgfgghr~…Š‹ŠŠŠŒŒ„€‚„………………†‡‡‡‡ˆ‹‹Š‰‰‡††…„………‡ˆ‰‰ˆˆ‰ˆˆ‰‰…‚ihgfghho}€~€‡Œ‹ŠŠ‹‹‰„€‚„„„„„„„„ƒƒ‚…ˆ…ƒ‚€€€€€€€ƒ‡ˆ‰‰ˆ‰‰ˆˆ‰ˆ„jjihghhju~‚Š‹ŠŠ‹‰ˆ†ƒ‚‚‚‚‚‚‚‚‚‚‚ƒƒ„†ƒ€‚ƒ†ˆ‡‡‡ˆˆ‡‰‰ˆ‰‰‰ˆ‰‰‡lkjjjjiho}‚€†ŠŠŠŠŠ‰ˆ†……„„„……„„…†‡‡††ƒ€‚ƒ…‡ŠŠ‰‰‰‡‡‰‰‰‰‰‰‰‰‰‰llmmnnlns|€}}‚ˆŠ‰ŠŠŠŠŠ‰‡‡…†ˆ‡†ˆ‰ˆˆ‡‡…ƒ„ƒƒ…‡‡ˆ‰‰‰‰‰‰‡‡‡ˆˆ‰‰‰‰‰‰‰{{zz{{{zzzz{{zzzzzzzzzzzzzzz|ƒ†…ƒ…††‡‰‡††‡‰ˆ†‡‡‡‡‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ„„ƒ„…†‡††…†ˆˆ‡†††††††††††…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{zzzzz‚‚ƒ……ƒ„……††……‡‡‡†…†††……†‡‡†††„‚‚zzzyyyyyzzzyyyyyyyyzzz{|{||z|‚‚……„„……………†ˆ‡†„„„……„…‡‡‡‡†„ƒ‚‚€€x{|zyzzzzzzzyyyyyyyz{{|~||||~€‚„„„„……†……†ˆ‡†…„„………†‡‡‡‡†ƒ‚‚€z€€~||}{yyzzzzzzzz{{}}~}}ƒ‚ƒ…„„„……‡††‡ˆ‡………„………†‡‡†……‚‚‚€€‚€€|zyzzz||{{{||~€€€€€€‚„„ƒƒ„†…„„„…†††‡†††……„„…‡†‡‡‡…„‚‚€„€€€~}|{zyz}}|~€ƒ‚€‚ƒ…………„……………„„…†‡††……„……†‡†‡‡†…„‚ƒ‚€€€€~|{{~€ƒ„„…„„ƒƒƒƒ„…‡†††………………„…††‡†…„„………†††‡†……„‚‚‚ƒ‚ƒ‚€€€€€~||~}~€‚ƒ„„…„…‡‡††††……„………………†…„ƒ„„„†††ˆ††„ƒƒ‚‚‚‚ƒƒƒ€€€}}}~€€~~}|„„…„„‡†‡†††…………………†…†…ƒƒ„ƒƒ„……‡†…ƒ‚ƒ‚‚‚‚ƒ€€‚‚‚~}|{|}z{}~„…†‡‡†ˆˆ‡††……„…………‡…†…„„–š›››š›š™Ž‚‚ƒ‚‚ƒ‚„……ƒ|||zyzx{~}}„†‡ˆˆ‡ˆ‰‡†…„……„…†‡ˆ††††‡ŽŠˆ††…„„‡‡ˆ‚ƒ…€‚ƒ„…††…€{}{xww}}~ƒ†‡‡‡‡ˆ‰‡‡…„„……†ˆˆ‰ˆ‡……ˆ~{||zyzyyyz‹…‚ƒ…‚‚ƒ„……~{}ƒ{xyz„~‡‡‡‡‡ˆˆ‡†„ƒ„„…‡ˆˆˆˆ†„„ˆ}}€~|{zzzzyŠŠƒ‚………„‚}}}~‚…|}|{|}€„}„…†‰ˆˆ‡†††„„„…‡‡ˆ‡†š¨Ž†{|€}y{z|{yy‚­”ƒ„†…ƒ}yyz|€}|}}}}}~~€~{}ƒ‚ƒ……†…„ƒ…†‡ˆˆ‡ž°›Ž~‚€ƒƒƒƒƒ‰•§Ž‚ƒƒ‚€€€€~|}|||}}}}}}|yz{{{yyxz‚……„…„…ˆˆ††ƒ‚…¡¤¥  £§§¥¢¥ª¥ ‡}€€€‚€~~~}†‰~~}|||||}~~}€ƒ‚‚€„…„„†ƒ™ÁÇÉÃÂÆÊËÉÃÇÍÉÆ—~€€}€~~~€„‡‚€€‚‚€~|||}}{||~~€€ƒ†—¥¹ÅÎÐÑÒÑÎÍÉÀ±Ÿ™{}€~~~€„ƒ‚‚„‚~||}~}yy{}~}~€€€€€‡¦‡~„“–”‘…€}Ž¨‚€{{|€~€€€€‚„}|||}}zy{~€}}}€€€€†¸¿¬•™‰„††ž¤™³Æ¸‚€{{{{}€€~€€€~€ƒ„„|||||||||„~}}€€€„»ÑÑÌÈë‘¡ÂÊÎÔÒ·‚€€~||||}€€€€‚ƒ‡‰„€{{z{{{|}|~}}|{|}~‚‚€‚·ÐÏɱ˜ˆˆ‡‡–®ÆÑѵ‚€}}}}~€‚‚‚ƒƒ€{xwvvwyzyyyyzyyyyy}‚‚‚€€®ÎξŠ„†…ˆ…‚­Íͱ‚‚‚‚€~}}}~€€€€€€€€€||zxxy{{{{{{}|{|{{{‚€”¥Ÿš‚ƒƒ‚†…€š™‘†‹‚ƒ€~}}}}~€€~~‚€{yz||||{|}|{{{z{}€€‚‚ƒ‚€‚„ƒ„ƒ~}}}~€€€€~~ƒ„|{{|~|{{{||{{zz|~€€‚‚€€€€€€€‚€…„€~}}~€€€~‚€~}|}{{{|||{zz|}€€‚€~€€€€’‰‚€~}~~}~€€€€~€}}€{|||{zzzz}}~€‚€€€€€‚‚€~…„ƒ‚€}}}|}~€€€€€€}}~}{z{{|{{||}~€‚‚‚‚€€‚‚‚ƒ‚€„„ƒƒ‚}}}|}}~€€€€€€€}||{zxwwwwxxwwyyz}~€‚‚‚‚‚‚‚‚ƒ‚‚ƒƒ‚‚‚~}}}|}}€€€€€|xxxvutttvvvvuvwvy~~~~~€€‚‚‚‚‚ƒ‚‚‚|~Ž‹‚‚~}}|}}~~€€€‚‚|wxyxyzyz{{{{{y{{z~~~~€‚ƒ‚‚‚}|ˆˆ‚ƒ}~~}}|}~€€€€~~€€}}}€€€€ƒ†ƒ€€€€~~~~~~€€‚‚‚‚}}€‚ƒƒ‚€}}}}}~€€€€€„…††€€‚ƒ‚‚‚‚‡‡…ƒ~~}~~€~‚„ƒƒƒ~}}}}}}~€€€†‡†ƒ‚‚„„………ƒ„‡†„~~€~~~}}}~€€€€€‚€~‚„ƒƒ‚‚€~}}}}}~€€€€‚ƒƒƒ„†‡‡‡†…€~€~~~~}}~€€€€€‚€{{}ƒ‚‚~~}}}}}}€€‚ƒ„€€€€‚ƒ‚€€€~€€€~~~~~~~€€€€€zxz„“ˆ‚~}}}}}}}€€€‚‚„‡ˆˆˆ‰‰ˆƒƒ‚‚‚€€€~~~~~~€€€~yxy~…‹‡ƒ~}~~}}}}~€€ƒ†‚„„„„„„ƒƒ„ƒ‚ƒƒ€~€€~~~~~~~€~zxx{ƒƒ‚‚~~~}}}}~€€ƒ†‚‚‚‚ƒ„ƒ‚„ƒ‚€~}}~~~~~~~~~~~~~~€~zywyz€ƒ‚‚‚€~}}}}}}~€€€€€€€€€€‚€‚„†ˆ‰Š‹‹‹Š‡€~~~~~~~~€‚‚~zxy{z~ƒ‚‚‚€~}}}}}}~€€€~}€}€’¢©²¸½¿ÀÃÄÄÃÀ«€~~}~~~~~‚~|z{|{}ƒ‚‚‚~}}}}}}€€€€€€€€€}ŒÃÇÄ¿º¸®§©©§§¨¥‚~~~~}~~}~{|~~~€‚‚‚‚~}}}}}~€‚€~‚‹…€}zyyzxwyzyy~€€~~}}}}~ƒ~€‚ƒƒ‚‚‚ƒƒ‚€~~~~~}~€€€€€€€€|yxyyzyyyyy{{{|}€€~~~~~~~~ˆˆ‰ˆ‡……†…‚™~}}}}}~~€€€€€~}~~}||{yz{{{{|~~}}}~}ÑÑÑÑÑÑÑÑÑÑÑÐÏÏÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈ¿³²¦ “€xjnwojjonsfjdY^a_]c_W]b``XSQV\]afcfVUYYVWVU[WSZa_^YUMC@:;:533>4ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÊÃÇÅËÎÏÎÎÏÏÏÏÏÏÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÎÎÍÍÎÎÎÏÏÏɹ £šxz‚udbbr~q`_omg\Z\^`[YWR_ib^UQPRZZ`jkiRS]bZSRNST[be_XQNKB@97754167ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÎÎÏÏÏÍÅ«ŒŠuooqqpruv|yadcdg]\]]]]VTV_e\[ZVSTWUY]jeRRY^WNNPTS^dcc\TIDB=:64422/1ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÉÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÍÎÎÎÏÏÏÎÎÎÎ͹™|osywu€iid^iZcee[ZYW`[TYgfVSUYYUPMWR[jTQVXYROTQQ\b`aXVWOH?<97520..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÅÃÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌËËËËÌÍÍÍÍÌÎÁ•Žƒ†sbl{pejc`aWib[ZUUP^d^asm^TQW]WNKVSR[T[]YWPQTW[_\Y[TRXRJA@@<651.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ¾¿ÊÑÐÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÎÍÍËÊËÌÌÌÍÌËÈÅ©{yrkckrqece_X_`UR\UTSZgghjdgWRVZUQTWTUZSZ^aXUVU[\][YUTPQQIAC?8662.1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɼÂÀÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÍÍÊÈÊÌÌÎÐÍÉųž||tfZUb`[`dc^d_XWTMPUZ`bfi`\TPPPNNTQTR`NUXZ[Z\Z^]^ZURSQSMEECC>641/2ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ÊÅÈÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍÊÆÂÅÃÇÇÊÍÍËþ»­‚}rXTUSOVXnrhcc^[OEBM[S\dc]WUSNMLJMLQMYOSWXYW[\[Z\ZUQSPVREDA<;51//.ÏÏÎÎÎÏÏÎÏÏÏÐÐÏÏÇ¿ÊÄÆÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍËÉÉÉÉ¿¸ÃÀÄÀÅËÉƾ¯ž¦‘‚~v`UZ[Zfj`pjg_WVTRVVaUQ]_UQWXTNJHPRU\YRSY[WVXYWRR]XTZTWWB77321//..ÏÎÔÚØÐÍÎÎÍËËËÌÍÇÀÊÄÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÅÅÆžº¯Â»Ã¼ÀȾ»§Šˆr‰€e_c\\hlYo^W_VQTV^\YQRUYSRTXXNLNTSSZf^PWZXWWWZVP^\Y[\OC<8751/.-..ÐÛêðïâÒÍÌÇÂÂÃÆÉÅÁÊÅÃËÍÍÍÍÍÍÎÎÎÎÏÏÎÏÎÎÎÎÌÇþ¶½»²¦½¶À»¹Ä¹»¶—…~pkfddcW\c\We[T]`RRUY_XWTPPPNNPTZWRTRQSe\O[^ZROOZ[TXYQQKB9=<:72/---.ÞîßÆÏëèÐÀ¹´µ¹½ÂÅÅËÈÄÊÌÌÍÌÌÌËËÌÌÌÌÌÌÉÉÉÆÅÀµ®©°±¨¡¬¯¸¶¶¼®­¤„yzwqmVad]ZeZS]j`Z_XMQSU]acWRONNQSNUWMPUPR^`[c^VQMP\YUZRP[JCD=;;97300..íÓˆnv±ëÛ¶±¯±µ¶ÀÆÇÌÉÅËÍÍÍÎÍËÈËËËËÌÌËÆÄÂÀµ¤Ÿœ¤¦š£°­°®«¦š‡xokgnn^YXV`cXW\\YbXSXUSVVbZSUQPSWTTUXTQXRR[c[aYZ\Z_aVUYXTSB>F<867764101äuur’Ô纯­°³µÀÃÇËÉÅËÎÎÎÎÌÇÀÉÌËÊËÉÁ¶´µ¸¼¬¡™šž˜–§µ«®§››“zhdeWgcUOINYcZSU`ia`n__d_UXPQQPQRWTUUUZTZQQa`_h\cbkh`TQNMKKA>A8855654/02Ê€‡y‘ÊìÁª¬±±´»½ÄÉÈÃÉÎÍÎÍʸÇÍËÆĹª¡ Ÿ¥¦›—Š•–”£­¬¢–’‡wfgj]\WRSSQZa`[ioaTVcSXqp]SPLMNMJLOOONNRZVX_WTZZbj^\YQJMIHFCHA7555554016¼„‰„Äëȧª±²´·¶¿ÊǼÀÈÊËÌËÀµÅËȾ²§Ÿ ˜™˜Œ‡”–•›“Ž‹Š‡€xxsdZVX[\SX]YT]j^US^iib`]USNLLJKJIGHMNT^^X\XR^jijZ]WPWSKKB?C;864434437=¼ŠŠ‡†ÁçÞÌŶ°°®­¶Ãº®±µ·½½Æ½²¿Å¼«œ¡›ž¡——’†‚…ƒŒŒ„‰‹‡„„…‚zxrcYXWWaZVYXSZgRPQ`hfVTZXTONNLLIGKIJRU\cTYSSmqfgbc_UaZTUK>=;97533365;?É»º‘†‘ÁæíîèÍÉ®££©«¢Ÿ £¤¦ª½´¨©­Ÿ™”žšš¡––†…†ƒ‚†ƒ|ƒ‰‰†ƒ~€}wuqkcYTZg]UVVX_]QZ\^a\UTQSSNMOQMMQQHDKPUaRSO^db`\hj]TU]ZISH==<:556589<>ÀÀÁ˜ˆ’Áåëäàæî¿ ¥°¥Ÿž ¥ª§¥©¦¢œž›œ˜¤¡œ ••‰‡‡…‚„ƒ{‡…‚ƒ{{{xtmkg\X\RX^YV]Z]]Y\[]`\WSLUUONPLDEIHCCFIJTMQS\_b\ap^aS[_]JGC??=95677:=@@½¾Àœ”ÁãìÔÂâêʸÆÌÀ¿¹º·º¹°°³±­¬§¥§ª«©ª¨ª¨¥Ÿ”‡ƒ„‚|‰‚}‚{yvtrnlg[^ecdZUUYY_`cZU\VY_]VRLOOQMDEFDBFHFDRKTY^W_bc]VfcY[[UNHEF;86678;?GG½¾À–ÁãìåâêêäáåçééèèãÇžˆxqs‰‰wljkjlovˆ‰‚ƒ…€Œƒ|€{ysuupicY[fc\VYQS^gceWOUWi^c\PQQQJIGIPHCILJEOPXZZPZadbV_fXSY]RD@@<;9878<@JD½½À¤˜¢Áâìììëëììììîíííé¥XRSUZ_b‰‡cOMMScc`\PMuƒ…‰ƒŒ…|}zyywyucYT[[[Y\YQZ[\`hikptoS[^UQTSJHIOYTONOSSYeljjjowvxtstn_`WA::<=<;::9<>>=ËÎÏÉÈÌÑÝêëëëëëéåãàßáÞÁjCdy‡•pD:2257B`dghbKPŠ‹ˆˆ…{yz|wxqa[]^WXWXYaYRP`t‚vf_^gSVPNSUONKFCMerŠ—œœŸ žœœ›››ššššš”uK88;;::::;>?>=èëêéèééèêëëéäßÙÑËÆÁ¿º—QOŠ­°²³©•„[XbWSQD9:=ONm‹Š‚€„‚yuxxvuuh_a\PQ[Z\^VU`dha`X^bbUWPMPTNJC?B\–x„€vnkiifdcbbbcdfhjni\<99::989;?A@?íîíììììíììëåÙÇ¿»¸¬¨¢}TTo§¤™˜–“¾˜‡¥iYXOA85CiW…†‚€xtxzxvrlh_WONZY[UVY_\XLZa[]ZZ_YNNTPNMNKo~OUVVZ^VCCA@A@@GTVXXZWN?bˆ;8999;AEEE£¨ãèçèçèçåÕŶ Ÿ¢Ÿž“’”kiK7DD=H]ZmrrqZSRgdA5>tZ{„‚{|rpxz{ulccWRRHCMWXX[\PMLVZ]^VZb`TNNKMPPKwcs’˜ž–P:98;>@KVUUVVraAR‡A89:<CILL¤¿½»º¯«²·¶¸º¸µ¯ª‘€€sro79M‰—wI@:9=PQOHic64:Œbz~€}zwwvmntnjhcT_m^WSY\[SRWZ]c`[Z][WQJEBAA@={\?I7577IWSLKRTQM=<==;;U\æW18<>CIICMŠ¢ŸŸ¶À»º³®®­°¸¿·‹|kaBHP~‘|KC988@?>B‰¡a654€sl}€€}zzwolpljfe_gpc[OR[\VTU[Z`ZY\dZQJEC@ADBF–lT8E77A@BPC66DTQB@BDB::LamÛa5?C[†WwU^TYZNJOWZZRRJUf…zM@<7_kPnD_E·”[ZK?LM[ci]‰£›œUYE?Z`ZO@8986:;88?A?DEDDC?<>>QSML>797><478ermifeddmaVW\XZ\SQSQTR[`]eaXWTPJHGLXhtƒƒ@faKEE[ZBFJ@666>FJLLLIA;R:”]SJUafnjiW³ôÏŠOY[WVVWXSOOPQE5UL=<=;8:8766688999876;BITcd]fq…Ž†‚}tmlbVQY[]\YSNPXW]ccc\RRVTMHABMVZimIbn@;:@CEGKLbjhk^E@A=<<=BTjRJP`vtutoi\£Û̼­¯²µ¹½½»¹···¸°^OG<<<:8988898888897Ex‹¤¨¬¬¬­©¨§§¥¤¥¦¦¦ž‚_WZ[[VSOPOSY\UW[WPRXUQ[daaahOj€o`WIENTVTTW]_``ZSRQLHTdq„ps‚‚|{srqj]{›ÃÙÚÚÜÝßáãäâáâãξxK>69:86666777666789† ‹Œ†ƒ~{xtqoqmlmnprv~nZ^YXW\cdZX__WPPXd]Y\d|…ˆ‰Šµ„xrukibV]qronnljjjkmpqh\cegq{iqˆ}nnronjiw‹¬¶º¾ÂÅÅÆÇÈÇÇÉ˳£vT`R;564554567?8674Zhejkiiknw” …€{urrqnjl{rsqt|Š’‰‹’••Ž™µ†‚‚}y|~‚¬‰k^`]\[X`mb]\[[ZZZ[[^fg[ZZZ]ZQV|rgittmjssrstux{|{|||}~‚†€ml¥¯—>14444468=8665ˆ„g|‡ˆŠ‹‹‹xu€_{™—“Žƒwk}zz{zyyyxyyz|…‰“¤´¶¯¡‘ƒ}r›xdVW[ZYYYXYWWWWXWWXXXYXXYZYXWSMff`hurwysronnpqrsvvvuvvvysS¤º¯‰D1344447><82D”a}®ÄÉÏÓÕÈmOFDjËÞÙÓÔÕ¿}\krqsuuvwxxxvututqsx€›¨¯ªl…nbRRUTVZZYYYYYZZZZ[[ZZ[[ZXYX\ZMRWSZ_fowwspnkkmnorssssrpqoj@h±ÈÁè¬uYPS]_A˜{AXo‚]}ÓãàßßáÄccgY`ËáÛØØßÏml\lfhiilnqtwwwvttrqppqqswwjykf†€es{\[]]Z[\\]\^^[Z\[X_’ƒ†±ƒLTXVUWYWX{xtpmklllnoqrrrqocT9?Ûßóò¸|_`onͧYs‡odf¼ÒÒÔ×ÚšP\g__»çäãÝÖ´MrXghedeffgknqtvwxvsrppoorh^jd[·ÃºÉè„JJSs\PVnlSN_zMGM§ñ×ÙÔ•KQW]ZXXWVzzzvqnmkjjknnoqqpaC90J†‚ž¿¯¡flk[‹óÝeo—bhNg]V]_`HG_ˆk]y”ƒwhXK=d_ajigggfddegjmptuwwvutsrdMZ^M­åàÞîâwBAŽ•;[ª®\:žŒ:BîãÕßÛtKNW\ZXXXXyyyywrnkihhklmooq\740024?EQiWcsx—ÝÍ…šXgMh<57549>Q}j`Q:4898@EPiZjmkhfecccbbcehnrtvwwxxfGLTMp¡«ÃÉôÎL>\ÉonßÝmqÈ_GTÛö©‡sVNLUXYVWWWwxxxxvsmihhhijklpW20378;@HTaz²ÅË×ãàÓ­‡WdE@8:<:998:HFC:7>CAjWhmomkhgedcabbbdjorstvxjEDKPOP_r â¹hVJØ€¤¥{ÒO_mªÐbYTSMMTW\UVVVrtvwxwvsojgfgghimY30258?GUf…œãòîïïðî´s][GFARXNB?9554586F‚E995aZbijlomkigdcbbbaadiknqumDBJNQTVYerilrpyÚèÝÞæ×}qmiee`\ZUQLPZZXWVVVnqsuuuttrnifdccei[30137JW Áƒ‹‘–aFKIJNSSLJGQG?:?@CJhpEbrWZZ[ZZZYYV€ƒ|si`\ZXSSVZRQOOOOOOQSWavhffhjjigebc`:6GLOe|kbWJ2.+38F>IMBC:35FM]s sNG{³—}ronl^dgilmoqsttsrqpmZ1:21/,.../0//14Fy}„vZZXZZZZZZ[fOMIHHIIIIHMSCDDBAAA@???>Leigeeghhhdda74FGK¥×y\RQLPOPNcWY\VXVQJRXUåŸG@nÂÓÇ¥|nnÈ„`ehjkmoorsrrrroZ0:36ND9400-+,+)@w—„~€sZ[[[[YntC>=<<<::;:74678:98777887:=Rihedcdggffc52CBFŠ¯k_c[<=<;AAB@@?@@:;Zf`g‚jECRp˜Å×ÇžvÉÃw]dgikmmoprqqphS0:41@Hgnlkhecbcc5-79J0))++*)(('''&&&&%&%%*0('+D_COkkkigfqyµÇÑ—[`dfhjkkmmmkf\UQQQRRRRSRSTVWNTTKQŽ‡³ñ›s‹Œ£g<>459<;9:=<8;ZZUd@8NSJ?8449B@Zllnojdcc`5-6NkjjjjjgRŽ½ÉË{Zbehiklmnonlifdc``^^^^^_bgj\IIKJKSrœ±Á¦¬O?;44;ch96=94312;@;DRPONH=45??NiljmjhaXP1,61'0A???>><;;;;;;;>BEHKLPD!$*/7Jegikkkk]{®ÁÍ·i^dfhklmnoonkjjigea_^^_`aeg]FGGJOU[f•å†g—?A744X…]764112336@DIQ[\ZS;2ddX?1.,,00.,,,,+***))*+**(*-011.4866Mhd``dfiRLO½ÄΔ\_degjklmmmnnlljfc`^^^^`b^ABGGNVE<>:Q˜\HNMSfbWPC56@>;9765;?B=DKGBCE><=:=E=>J^igfdc`^^^^^`bghfc`\\\\\[[[YZ[]bgjmmnorrsqmicf[RMa¨Àʾo[`cfhiklmnnnnmliea``__a[:AIGLPB=S;ND>8<>8887788:>CB??>;9998789;BHHEAAFLHEFDDFHGHGHHGFHBcc?jhggggggfghhhgfdbabdgkkjeb_^]_``_^\\^cgkmoqrstrsnrhSNO‡¼ÄÒœ^ceghikklmnoomkjhda__`X3>HG„¶]i¹¼`t{O@LQSW[^bdhiloooooppppqqqqowgzŒWbkfgghgghhhiiiihgcbbcfikkiea^]_`aa_^]^afklmnpqrqmpw^QOXÁÊΈ]dfgikkmmnoommmkgc`__W4=>????@AACCCBCGanptqefgffhggghhiijifba`bfjlmlifccaaba`^]\^bgilknopojZPSSÄÇÓ¯c`adfghjjkllmmkjhe_T.367765@Xd‡x^DBBAAA?>=;;;;;;:9:::;::;;<===>=<=Ln¸ßÙ”dfffgfffghijjihecbabeilmlkhfcbbbba^[\\^bfiqssrphUNMV¢ÆÍÔ\adefhijjkkllkjgcUF-43:6214NtŽcQ>=<<<==;:98888866888987789;;==AKQIU|ª¤“gbcdgfeefghijhhgedb`abimnnlifccba_][[[[\_cprrttwjVOKl¼ÊÑÃn_ceghiiikkklkifdZF+2322?E@LioWEFG<>?<:<<;;«õðêÜàíÉsA5973M|‚ƒ‚yg2.-/;ep”µ³©–~L5Dhgfeervygbccccdeeeefggfedb`^_cikjjgb_\\\[[Z[[ooijsrslWONMY¤ÄÊÕœbadffghijjjiihgd_\ZZXWXTID3:_™¯°¯¨•rgB8;:40Bghgggedebddcbeeeffgggfffghhfec`_`dikjid__^^]\qplkoomllmeNLL]ªÃÊØ•^dfggijkkkkkkkhhfda_]XQI005;?DOWi¥Ï€‡èïíìëëììèáíÔ\˜À“u_RI@<;=Ifigffeeeeccccdedeeeffeeefghgfeb^]`cgjlkd`_]\[ppmilorurqkSKMN{¾ÂÐÊu`fggijkkkkllljjihda_ZJD8D@=>569=DN_yŸ×œcÖèæãâåß×Ìž˜P–…YA656;6/1Dhiihffeeeccacfdbfffffffggfghhgfdb^_`dhlmljg`_nomlqqnnrrrmXLMMY¥ÄÉÖœ`cfhjjjklmlmmkkjifd^9:>6235;9::CMf}?PZZXY_QH@;51Db;J=4@«Çv,4Efhhhggfeed`Êμqbefeefghhhggghgfeb`_aejlmllgc|vurwsmlnmlmiNJLKlºÂÍÏ|_cehhhijklllllkkif_9:>81:œÅŽ78FN=cY:;=@DLIGEEDGyXTL81H¶”R/7FeiihghgfffctÇãÞ£`deeefffgggffgffffd_]`eilnnli{‚€unnlklmnlgTLMMMÀÃÕµb^bfgfhhijjjjkkkjiaFR<919‹ÂŸ459\\QŽqedf…{oopoq€}Q‡C2331,/1:Fdiihhhgfffecluplbbeeeeeefggfffffhgfb_^`dilnomvvuwwpoknpommi^OMK`¶ÁÉÕ‰Zaeffhhhiiiijjjjje@K<=7418:753QXA]ljv…we`qcNIEDLC55533337Dcihhggggggggeccdspeeedeefggffffffffdb`]_chlnnpwuuumpljnnmptkSLKO–ÄÆÕ¿hafgghhhiiijjjjkje4,=:43545666CJGIKOZc`r^Z^VLLLHK=11122220@ahffededddddcbbi„zedeededffeeeeedeeeda^[^bhlnntopnnnkillnnmjTLKMgºÆÎ×’^deghhhhiiiijkje]3)=3////..-.4;89:7647@2-,*(((&''')*+,+)+??@AABCDEGGEEEFA;fª´²¯¬¨¥¢˜•’ŽŽŽ‘”˜ ‚ddddeeeffgffeeeedcb_^^dmmoosvuptmlllmrfPKLMMÈÉÓÅodfhhhhgfhhghhgZ<*9./+(2746666665221110000000/-,1„³¨“ˆ€}xtpmlieeeccddccdfhkq|pcccccdefeeedddddedb_]_msxtpqqorkjkjlrcNMMMK_µÊÌÕŸbfhhhihhggggecZA/5.23-(&###$$$#""#""""""""#""" C¤Šyqjgc__]\\]]\nd[ZWWWVVWWXY[]ldabcccceddddccddedca^[qvvqjhjoollnxuthc\NLNP…ÊÊÏÌ{chhijihggffda[P;-,-.-'%%$#$$$$$%&''((()+,+-//-f•b]\ZYVUUVWYTLGaBGY^abaa`^]ZJKbaacbbcdccccccddddcb`]jjkidbbnkwywvtnrgQLNT]®ËÉ×±hghijiihffgea]VO@:;:::;===<<<<<<<>@@??@BBBBCBA’~KSX[`dhlmljRDHMRVUY^[QNNOPNXm@Vccdcbddccccbccdddccb`wsppovruntuvvx€n_SKLMMxÄÇÏÕ‹cgghhhgfffeb_[VQLKKIHJKLKKKKLMPQRSTSSTTTSRRP^œZFouƒˆˆ“—›¡‡i‡w{^MN@1122346qYEbdcccedcbbbbbbcddcccb†€}yx{xlkrxwy|ug_SKKLMRŸÉÇÖÀjbeffeffffeda_[XVTTSRSSTTTTUUW\__`cca_^^\Z[VzDnwª»½¿ÁÃÃÃÅ­®Ü¯¦³lLO;1334454Us;Xccccddccdcbbbcdccccc‡u~{uslnwplksjegfVLKK^f»ÅÌÙ–`dddefgfeeeba`_^]\[ZWVVWWXZ[]`aeijjhdcb`^^\‘tC{Y¶ÄÂÂÂÃÃÃÇ¡”¼¢““cOH32222346>yHHadcceeeeedccccccbcdd€~zy€{srscbkr|tmmfYMLLV[XšÅÅ×Æladddegfedecccbaa__^ZYYXWWZ\__`fijigdbb`^]f–aJ{?šÁ¼¸´®¦¡œuNSSROOQE111222365gb;_egjgeeffdcedcccccdd……†‡‡‡‡‡‡‡‡‡‡†††††‡‡‡‡‡‡‡‡‡‡†„‚|wttttvxwxxxy{{zvuwzz{{zyz|~€€€€†††††††††††††…………††††††††††††„|zutsttvxxxwvyzzywuvvxyyxwx{}€€€………†………††…†…………………†…†…††………††„‚|vuvvvwyzxxwy{zyxvvuwyywxxy|~€€€…………………††††………………………………………………ƒ‚{yywwy{{xwwyz{zywvvwxxwxyy}~€€€†…„„………†††…††………………†…„„ƒƒ„„„„‚€|zxwwz|zxxxzz{zyvvxwxxxxyz~~€€€…‚ƒƒ„„„…………†……„……………ƒ‚ƒƒ‚‚‚€}~|xxwxy{yyz||zzxywvxyzyyxz|~~€ƒƒ„ƒƒƒƒ…………………„…†††„‚€€‚}}|}{yxwwwwxy{{{{zyxwwwwxxyyz|~‚„…‚‚ƒ…………………„……ƒ‚‚~~€€}||||zywvwvuvz||{z{yxxwvuuwyyz}~€€€‚‚€€‚ƒ„…†ˆ…„ƒƒ{{|||||}~}}|zz|z{yxwxxxxy||{{{zwxwwuuvwx{~€~€~~„‰ˆ††…‡„‚|z{{|zyyxy{y{zyxxxyzz{}||{zyxxxvuvuvz~}~~€€€€ˆŒŒŠŠŒŽŽ†zzzzyxwwy{y{{ywwwxxz{|}}}|~}|zzzwz~~}~~€€€€†…‚ƒ……‡ˆ‡‹‰|xvvvvvvy{zzzyvuvwyz{}~ƒ††ˆŠŒ‹Š‰‰…€€~~}}~~~~~~~†…„…„„……„ˆ‡}ttuvuvvy{{zyxzzyyyz{~ƒ„„…ˆŠŠ‹ŒŒ‹„†€~}|€~~~}}}}}}‡‡…†‡ˆ‡„€†‡€tsttuuvyyyyyz{{yyz{|~~‚…„……‡‰Š‰‹Œ††€||ƒ}€~‚††„‡ˆˆˆ…†‰‚vstttuvxwxyyzzzyyz|~~„ˆ‹‰‡ˆ‰ˆˆ‰‹Œ‡€~}}{z}€†‡‡‡ˆ†ƒ†††††††„„‰…}{xtutuwxxyyyzyxxy|~~€…‰Šˆ‡Š‹Š‰‹ŠŠ‰||zvr~ƒ…‡‡‡‡……‹‹‹‹Š‹Šˆ‰ˆˆ‹‹‰‡ƒ|~~zwxxxyzzyxxz{|}†‰‰‡ˆ‡ˆˆˆ‰ˆ‡ˆ‚|wrnl€ƒƒƒ‚ƒ‚‚‡ŽŽŽŒ‹‹‹‹Œ‘“”’’’””yz{{{{{yyxtps†ˆˆˆ‰Š‰‡‰‰Šˆ‰ˆzgjkk…„„„„„„ƒƒˆˆƒˆˆˆˆ‡ˆ‹‹‹ŠŠ‰Š‰‡†‰‹„‚ƒƒ‚~}xuy„„‚€€ƒ‚€~xmnlk‡†††ˆˆˆˆ‡‡ƒƒ…„……†Š‹ƒ|y~†‡‚|{ˆŠ„ƒƒ„„„„„„ƒƒ„‚|ytssrrrssvy{~‚}w‰ˆ‡ˆˆˆˆˆ‡†„ƒ‚‚ƒƒ…ˆ‹…ˆˆƒ~…‰…„„„ƒƒ‚ƒ‚‚ƒ‚ƒƒ€}}}{{{|}~}ƒ†…‡‰‰‰ˆˆ‡ˆˆ‡…„„……„ƒ‚‚‡Š‡ˆˆˆˆ‰ˆ†††‡‰†…„„ƒƒƒ‚ƒ~yz{{|~€~zw€…„†‰‰‰‰‰‡‡ˆ‡„ƒ„……ƒ€‚ˆ‰…†‡ˆˆŠŠ‡‚…‡‰‡…„ƒƒƒƒ‚„{srtuvy~~zwurrt~‚‚ƒ‰‰‰‰‰ˆ‡†‡„‚‚‚ƒ€ƒŠ‹‰ˆ‰‰‰‰‰‡…‡‡ˆˆ‡‡„‚‚ƒ‚|srsv|€}{uqrt}ˆŠŠ‰‰‰‰‡…ƒ‚‚‚‚„Œ••”””ŽŽ‘‘‘‘‘ŽŠƒ‚‚}utty€„‚€€yttv}~„ˆ‰‰‰‰Š‰†ƒ‚‚‚‚‚‚†‘’“‘‘’‘‘‘‘‘‘‘‘‘‘‰„„ƒ‚€}{z|€€~|{}€€†‡ˆˆ‰‹‹‰ƒƒƒƒƒƒ‚‡Š„…ŒŽŒŒŒŒ‹Š‹Š‹ŒŒ‹‰††„‚‚‚€€~~~~~~€ƒ…‚€}ƒ†ˆ‰‰ŠŠ„ƒ„ƒƒƒƒ†ˆ~†‹ŠŠŠŠŠŒŒ‰‰ŠŒŒŒŒ‰ˆˆ†…ƒƒ€€…ˆ‡„||†ˆ‰‰Š‹‡„„„ƒƒ„„……‚„‡ˆ‰Š‰ˆ‹‹Šˆ‰‰‰Š‹Šˆˆ‡‡†…‚‚…††………††„…ƒ€„‰‰‡}}~‚‡ˆ‰Š‹ŠŠ‰‡…………„„…ƒƒ†ˆ‰Š‡„‰ŠŠ‰ˆ‡‡‡‰Šˆˆ†‡ˆ‡‚‚„…„……………„„ƒ€€ƒ…††{~}}ƒˆ‰Š‹ŒŒ‹‰‡††…„ƒ„ƒƒ…ˆˆˆ‡†ˆ‰‰ˆˆˆˆ‡ˆ‰ˆˆ††ˆˆ„ƒ‚‚€€€ƒƒu}}†‰‰‰‹‹‹Š‰‡††ƒƒƒ‚ƒ†‰ŠŠŒŒŒŒŽ‰†ˆ‰ˆ‡†…„„‚€€‚‚€€€oz€~‚‡‰‰‰‹ŠŠ‹‰†…ƒƒ‚ƒˆŽ‘””•–•”•––———–’ˆˆ‰ˆˆ‡ˆ‡‡„€€€€‚‚€€glz|z~ƒ‡ˆ‰ŠŠŠŠŠ‡†ƒˆ‘“•—–••“’’““““”••Œ‡ˆˆˆˆˆˆˆ‡„ƒ‚‚‚‚€ihq{}~…‡‰‰‰‰Š‹‰ˆƒ‚ƒ‚‰ŽŒ‹ŒŠˆˆŠŠ‰‰‰Š‹Š†„ˆˆˆˆˆˆ‰ˆ…ƒ€ƒƒ„ƒkjkw€~~‚‡ŠŠ‰‰ŠŠŠ‰„‚„„‰†……………„„„ƒ‚‚‚…„„ƒ…‡‡‡ˆˆˆˆˆ‰‰‰†ƒ‚‚ƒ†…mllr~€}~…‰Š‰‰ŠŠŠŠ…‚‚‚‚„‚€‚‚‚‚‚€€‚‚‚‚ƒ‡‡ˆ†‡ˆ‡ˆˆ‰ˆ‡†ƒ‚„††mkimx~|€†ŠŠŠŠŠŠŠˆ…„ƒ‚‚€‚€€‚‚‚‚…ˆˆ…ƒ†ˆˆ‰ˆ‡‡ˆˆ…‚€‚…‡‡jjhgjx€}}ƒ‰ŠŠŠ‹ŠŠŠ‰†„‚‚‚€‚€‚‚‚…ˆˆ‡†‡ˆˆ‰ˆˆˆˆˆ‡†ƒƒ††kkhfes€~}~…Š‹ŠŠ‹‹‹Š‰†‚ƒ‚‚€€€€€€€€€€€‚‚…ˆˆ‡‡‡‡‡ˆˆˆˆˆˆˆ‰†ƒ‚€„„kiffek{€~}†‰ŠŠ‹‹Š‹Šˆƒ€‚‚‚‚€€€€€€€€€€…‰‰‰ˆ‡…ƒ†‡ˆˆˆˆˆˆˆ†ƒ‚‚ggggfhn}€~~ƒˆŠŠŠŠ‹‹‹‰…€‚€€€€€€‚„ˆ‰ˆ‰ˆ‡…†‡ˆˆˆˆˆˆˆˆ†ƒ€€hhgggggt€}€‡ŠŠŠŠ‹‹‹‹…€€€€€€ƒ‚‚ƒƒ„…‰‰ˆ‰‰ˆ‡‡ˆ‰ˆˆ‰‰ˆ‰ˆˆ†ƒ€€ihgfgghr„‰‹ŠŠŠ‹Œ‡€‚ƒƒƒƒ„„ƒ…†‡†‡††ˆŠŠŒ‹‹‹‹‹Œ‹‹‹‰ˆ‰ˆˆ‰ˆˆ‰‰…‚ihgegiho}€~€†‹‹ŠŠ‹Œ‹‡€€‚ƒ……………„…„……„‡ŠŠˆ††…„ƒƒ‚‚‚ƒ†ˆˆ‰ˆˆ‰ˆˆ‰ˆ„jjihhihjt}‚Š‹ŠŠ‹Š‰‡‚‚‚‚‚‚‚‚‚‚‚‚‡…€€€‚ƒ‚‚‚ƒ‡‰‰‰ˆ‰‰‰ˆ‰‰‡lkijlliio}‚€†ŠŠŠŠ‰ˆˆ…ƒƒƒƒƒƒƒƒƒƒƒ„…„†ƒ€‚ƒ…‰‰ˆˆˆ‰ˆ‰‰ˆ‰‰‰‰‰‰‰llmnonlos|€}}‚ˆŠ‰ŠŠ‰‰ˆ‡†‡…„†††…††‡‡††„‚€€‚„„‡‰‰‰‰‰ˆ‡‡ˆ‰‰‰‰‰‰‰‰{{zz{{{zzzz{{zzzzzzzzzzzzzzz|ƒ……ƒ…††‡ˆ‡††‡‰ˆ†‡‡‡‡‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyzz‚‚ƒ„„ƒ„…†ˆ†……†ˆˆ‡†††††††††††…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{zzzzz‚‚‚……ƒ„……††……‡‡‡†…†††……†‡‡††…„‚‚zzyyyyyzzzzyyyyyyyyzzz{|{||z|‚……„„……………†ˆ‡…„ƒ„……„…‡‡‡‡†„ƒ‚‚€€y||zzzzzzzzzyyyyyyyz{{}~|}||€‚„„„„……†……‡ˆ‡†…„„………†‡‡‡‡†ƒ‚‚€{€€~||}{yyzzzzzzzz{{}}~}}ƒ‚ƒ…„„„……‡†…‡ˆ‡………„……††‡††……‚‚‚€€‚€€|zyzzz||{{{|}~€€€€€‚„…ƒƒ„†…„„„……††‡†††………„…‡†‡‡‡…„‚‚€„€~}|{zyz}}|~‚ƒ‚€‚ƒ………†„……………„„…†‡†………„……†††‡‡†…„‚€ƒ‚€€€€~|zz}€ƒ„„…„„ƒƒ„ƒ„…‡†††………………„…††‡†…„„„„…††‡‡†…„„‚‚‚ƒ‚ƒ‚€€€€~||~~€‚‚ƒ„„…„…‡‡††††……„………………†…„ƒ„„„†††ˆ††„ƒƒ‚‚‚‚ƒƒ‚€€€‚~}}~€€~~}|€„„…„„‡‡‡‡††…………………†…†…ƒƒ„ƒƒ„„„†……ƒ‚ƒ‚‚‚‚ƒ€€‚ƒ‚‚}|{|~{{}~~ƒ††‡‡†ˆˆ†††……„…………‡…†……„‰”˜š›šš›šš•‡‚ƒ‚‚ƒ‚„……ƒ}||zy{xy~~}ƒ†‡ˆˆ‡ˆ‰††…………„…‡‡ˆ†††††Œ‘Ž‹‰‡††…ˆŠŠ‚‚€ƒ…~~€‚ƒ„……†…|||xww{‚~}‚†‡‡‡‡ˆ‰‡†…„„„…†ˆˆ‰ˆ‡…„ˆ‚{{{{yyyxyx„‡‚€ƒ…€‚ƒƒƒ„…€{|ƒ}xxz}„€}€†‡‡‡‡ˆˆ‡†„ƒ„„…‡ˆˆˆˆ†„‚ˆ||{zzzzy€Œ„‚‚…………‚~z{{|…€|}}z{}~„}~ƒ…†ˆˆˆ‡†††„„ƒ…‡‡ˆ‡…¨•‡~{zzz{{zy|¤§ƒ‚ƒ†„ƒ{{|}€~|}}}}}~~€}}€„„„…†…†…„„…‡‡ˆˆ…‘°¥‘‚}€~€‚‚‚‚€‚’¤Ÿ‚ƒƒ‚€€€€}}||}}||||}|yyz{{yzyy€………„„…ˆˆ††ƒ€‚‰œ ¡ žŸ¢¤£¡¡¥¦¡“~€€€€~~~~}ƒŠ€~~~}|||{{}€}|}|‚‚€€ƒ„„„†„ŠµÄÇÅ¿ÂÇÉÈÄÀÊÉȯ‚€€}€€~~~€ƒˆƒ€‚|||}}|||}~~~€€‚ƒ¢¸ÁÌÒÔÕÔÒÐÑȼ«œ†{}€~~~€„„‚‚„ƒ||}~~zyz}~}~€€€€€ž“~”˜œ˜—•Ž… {{}~~€€„ƒ~|||}}zxz}~}}~€€€€€€§À­–Š˜‹‚†ƒŸ·Å•}€|{{{}€€€€€~‚ƒƒƒ}||||||{{€…~}}~€€€€€€~¦ÏÑÌÅÆ·”‹“·ÉÉÐÓÌ”~€~}|||}€€€ƒ†‰…|{{{|||}|‚~}}}~‚‚~¡ÎÏ;¨‘‹ˆŠ¨¿ÐÑÈ’€}}}}~€€‚‚‚„„{ywwwxy{{z{zzzyyyy|‚‚~™ËÎÍŸ‚€……†…˜ËÎÆ‚‚€~}}}~~€€€€€€€€€|{ywwxyzzzzz{{{{{z{‚‚€Š«¢¨ˆƒ…ƒ…‡‚ƒ¡šž†…‹ƒƒ€~}}}}~€€€€}€zxy{||{{|||{{{z{}€‚‚‚ƒƒƒ‚€‚‚ƒƒ„ƒ~}}}~€€~}‚„€|{||||{||||{{zz|}~€‚‚€€€€€€‚€€†„‚€~}}~€€€€~ƒ~|||€|{{{|||{z{}~€€€€‚€€€€€‚€“‰‚€~}~~~~€€€€~}|}|||||{{zz|}~€‚‚€€€€€€€‚‚€~„„ƒƒ€}}||}~€€€€€}|~~}{||||{{||}~€‚‚‚‚€€‚ƒ‚€„„ƒƒ‚}}}|}}~€€€€€€€}}||zyyyyyzyyz||~€‚‚‚‚‚‚‚ƒ‚‚‚‚€}}}||}}€€€€}{zyyvttuuvvvuuwvy}~~~~~€€‚‚‚‚‚‚‚‚{~ŽŒ‚‚~}}|}}~~€€‚‚~xvxwvwwxxyyxxxxxx|~~~~€‚‚‚‚‚}|‡‡‚ƒ}~}}}|}~€€€€~z{|||||}~}}}~}€~~~~~~~~~€€‚‚‚€}}€ƒƒƒ‚€}}}}}}€€€€„‡‡‚€…‰†ƒ‚€~~}~~€€€~‚„ƒƒƒ~}}}}}}~€€€„………ƒ‚‚‚ƒƒƒ‚€„‡ˆ†ƒ€~€~~~}}}~€€€€€‚€}€ƒƒƒ‚‚€~}}}}}~€€ƒ†‡„‚ƒ…†‡ˆ‡‡‚‚ƒƒƒ‚~€~~~~}}~~€€€€€‚€{z|ƒ‚‚~~}}}}}}€€€€‚‚„ƒ„ƒ‚‚‚‚€€€~€€~~~~~~~€€€€€€~zxz„”‰‚~}}}}}}}€€€‚†…„„„…†„‚‚‚€€€~~~~~~€€€~yxy}„‰†ƒ~}}~}}}}~€€ƒ‚ƒ…‡ˆˆˆ‡‡„„ƒƒƒ‚€}€€~~~~~~~~€~zxxzƒƒ‚‚~~~}}}}}€‡„‚ƒ‚‚ƒ‚„„‚‚‚}}€~~~~~~~~~€~zxwyyƒ‚‚‚€~}}}}}}}€‚€‚‚‚ƒ‚€€‚ƒƒ‚€~~~~~}~~~~~~~~~~€‚‚~zyx{z~ƒ‚‚‚€~}}}}}}}€€~~~~€~€…‰‘“––———”Œ~~}~~~~~‚~|y{|{}ƒ‚‚‚~}}}}}}€€€~€}”®¸ÀÅÉËÆÉÊÊÊÈÅš|~~~}~~}€~{|~~~€‚‚‚‚~}}}}}}€€€€³À·¯¨¦¢––•”““–Œ}~~}}}}}~ƒ‚ƒ„ƒ‚‚‚‚„„€~~~~~~~€€€€€~|yxwvvywvxzzy{~~~~~~~~~ˆ‰‰ˆ‡……†…‚—~}}}}}~~€€€€€€€€}zyyy{zyzxy{{{{|€€~}}}~}ÑÑÑÑÑÑÑÑÑÑÑÐÏÏÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈÀ´°§¢•ƒ|uknxmijppsfieY^b^]d_X]b`aXSQW\]afbfVVYYVWVU[XSYa_^YUMC@:<:534?4ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÊÃÇÅËÎÏÎÎÏÏÏÏÏÏÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÎÎÍÍÎÎÎÏÏÏɸ §œy‚{vcabr}q``olg\[\_`[YWR_h`^UQPSZZ`jkjRT]bZTRNST[be_XQNLCA97754177ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÎÎÏÏÏÎçŠtooronpsv~zaccfg]\]]]]UTV_e]\ZVSTWVY]jeRRY^WNNPTS_dcc\TIDB>:64432/1ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÉÍÍÍÍÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͹š‘|mqwyv€€jie^i[aed\[YWaZUYffVSUYYVQNWR[iTQUXYROTRQ\c`aYVWOH?<97521..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÃÅÃÊÏÎÎÎÎÎÎÎÎÍÍÌÌÌËËËËËËËËÌÌÌÌÌËËËËÌÍÍÍÍÍÎÁ•Žƒ…udm}oejc`bWie[YUUP^b]asn\RQW]WNKVSR[TZ]YWPQTW[_\Y[TRXRJA@A=651.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʽ¾¿ÊÐÏÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÎÎÍÍËÊËÌÌÌÍÌËÉƧŽ}zsjcmsqecd`Y^bVR[UTR[gghjehWRW[UQSWTUZT[^aXUVU[]][YVTPRQJAB?8662/1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɼÂÀÇÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÐÏÍÍÊÈÊÌÌÎÐÍÉÆÄ´Ÿ|{sgZVdb\_cc_d`WVTNQVZ`bfia]TPQQPNTSTR`OUX[[Z\[^]^ZURTQSMFEBC>641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ÊÆÆÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÍÊÌÌÎËÇÄÅÃÇÇËÍÎËÿ½¯•|rXTSSPVXorhcd^[MDBOYS]cb^WURNMLJNLRNZOSWXYX\]\[]ZUQTPWREEA=<51//.ÏÏÎÎÏÏÏÏÏÏÏÐÏÏÏÈÀÊÅÅÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÎÍËÉÉÈÉ¿¹ÃÀÃÀÆËÉƾ¯¡¨’{v`VZZYfiapjg`XWSQSTbUQ]^UQWXSNJHPQTZXSRY[XVYZWRR]YSYSXXB77221//..ÏÎÓÔÓÐÍÎÎÍËËËÌÍÇÁÊÅÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÍÆÅÅžº®Â»Â»ÀÈÁ¿¹¦‰‡sŠ€e^b\\hoYo_V_VQUU_\YQQUZSQTXXMKMTSS\g]PWZXWWW[VO^]Z]]OD=8651/.-..ÐÛéîìàÒÍÌÇÂÂÃÇÉÅÁÊÅÂËÍÍÍÍÍÍÎÎÎÎÏÏÎÏÏÎÏÎÌÇý¶½º³¥½¶À¹¸Ä¸»¶˜…}~plgeddV\d^We\T]`RSTY^VVTPPPNNPTXVRTQQTe\MY]YSPPZ[SYYRQLB9==:72/---.ÝîßÇÐìèÐÁºµµ¹½ÂÅÅËÈÄÊÌÌÍÌÌÌËËÌÌÍÌÌÌÊÉÉÇÆÁ·®ª°²ª¡­¯¸´´¼¯­¥„yzxplVbd]ZeZS[iaY_YMQSU^`cWRONNQSOUWLPUPR^]Yb_VQMO[YUZRP[JCC=;;96300..íÔˆnw³ìÛ·±¯±µ¶ÁÆÇÌÊÅËÍÍÍÎÍËÉËËÌËÌÌËÇÅÃÁ¶¥ œ¥§œš£¯®¯®«§šˆxnlhmn^YZWbcXW^^YaXSWUSVWb[SUQPSVTSUXTQXQSYaZ`YZ\X^aWUZYTSB?G<977764101å“uur‘Ô麯­°³µÀÄÇËÊÅËÎÎÎÎÍÇÂÉÌËËËÉļ·¸º¼­¡™›Ÿš–¨´¬­¦œž”zjffWidUNIOYcZST^gban_`c_UYQQQPQSXTVTW[TZQQ_`_h[cakiaUQONLKA>A9855654/02Ì€†yÆëÁ««±±´¼½ÃÉÉÄÊÏÎÎÍÊúÇÍËÇŽ®¤Ÿž¦§ž˜‹––“¥¯¬¢–’‘ˆvddi\]YQRRQZb`\iobTWdRXrp]SQMNNMJMOOPNPRZUX`XVZYah^\YRKMIHGDIB8555554016½…Š„‰ÀêǦ©²²µ··¿ÊȽÁÊËÌÍËÁµÅÌÉÀ¶ªŸŸ¡—™˜‡•—‘Ž“˜ž”ŽŒ‹†vvrd[UX\[QX]ZU^j^TS]hgbb]TSNLLKKJIGINLS_]X\WQ[gihV\VNVSIKB?D;864434437=º„††‡½æÜÅÀ´¯±¯­¶Ä¼¯³¸ºÀ¿Ç¾³Àƾ¯  œž¢–—’‡ƒ†ƒŒ…€ŠŽ‹‡„…„‚{xrbYWWWaZVYXSYhSQQ_ifTT[YTONMKKHGKIKSV]aTZSQntehbb^Ub[TUH>=;97533365;?ȳ²Ž†¾äìíåľ¬¥¤«¬¢¡¢¤¥§¬¾¶ªª­ ”›š¡“•‡„†‚‚†ƒ|„Š‰†‚~€~wvrjdYS[i]SVUV_]PY[^`[TTSTSNMOQMNQQIELQVbTTO^ddb\fj_TU]ZITH==<:556589ÉËÍÂÁÆÎÜëëëëëìêçæäãâÝÖ©TJ\grzrPOE;998UoqnfSFtŠŒˆ‰…{y{|wwpa[]_WWVWY`YSO_tƒxj`^fTVPMTUNMLHDNTU[iw~ˆ•““’•——˜•’Ž…iO;:<<::::;>>>=éìêçæçèçêëëêæáÛÓÎÉÃÀº®}Cb’ž¤¨£xcI;AHGLMHHMRLU†‹„€…ƒyuxxvuth^a]QPZY\_VU_dhdbV\ccTWOLNTNJD>AKaˆ†›—Œ‡„~~}|z|€‚„‹‹vQ66:9989;?@@?æåïììììíìììèÝËĽ¹¬¨¡”cR_®¸µ³²¨°¦y‡~XYR?556\Ov‡‚ƒ€xuxzyurlh_WPLYZ[VVY`^YKZa\][[_XMMTPNKLPK‚^_ZWVVQNOONMMLPUVUWXSLau:9999;AEEE¸uÑêçèçèçæÛΦ¡¦¢ ”“‹Wh=apg_gf˜zTVV]L64Tg`…‚ƒ||rqxz|tkcdWRTHCNWWX[\QMKVY]^V[c`TNNLLQPPL~^^mqv|ƒi<::999;IX\_`akNbŽ?89:<89;<=BIJJÉÍÊʲ©«£–Žˆ††…„„„ƒ…jtV36TrSDRQQQQRQI_{_G˜eT;G7888JTG@ALQND?@A>::6Y‚?96@–fx}yy~|sjkkmga^_Z_[PQXXQPU][[Z[__USOFCBFHEAf¢XJ:@6A]TAB844>HF=BEEB88Kd[L?IIBDKQXb`x‚„¨oDDGgyf`XHFDQh}ppObStpVILORPNMMRs”pA=:=`nsKF\yxsigjswhZVVTSSPWYPPZ^[X\b_ZPRUPJIUVSR†“MFAB<]€…L=855778;@AB?87B`FAN\[OHHWakP{¢˜¤\`I=IZWQB88:8;h\GMDO=EBCJSUUPKCEJ[nXLD:;L@AB669C7/8E`rjbaa\[fcXQY\^]YTNPYV\dcc\RRVUMF?@JXgq‡k>ˆqDA?JGCHJGNNOTPIHHGE@:CCOOTMYprtnhU¼Èö¹¼ÀÁÂÃÄÄÆÇ¿¬š\A[?==<989999999999976?M[dm|~‚‘ž¡ Ÿ˜“‰„{o`WY[\WUQQOTZ]X[]WPSYUQZ^]_ROMUkdXPB;=FIIIKVhhkl]DBA>—~`lnpnnr}²žŠ†{xwurlu€|{|zxxzxxz}ˆ‘ž¬·´ª˜‰up†¦ycW[[ZYX]a\YYXXXXXXX[^]YYYYYXQSmdiwrvxsqonnprsuwvvuvvvx~|lc™­Á‡>013445774761[œhv‹“––—‹_aWSŒ¤¢™–”…pjxsuwvwwvvvutsssqu{‡–¥­²°šr’k_SVYXXYXWXWVXXXXYXXXXYYZZYXTTMUT]agszwspnllmnorssssrpqry]Q—º·À™LH=@@;6Gh@<@z{`˜ËÐÕÙÚߢ[RKK‘ãáÛ×ÙÛ¡qXnijkloqsuvvwvttrqppqruz€k‚hc]YWXY\\[[YYZZZ[\\[Y[\[Z^\c|cNTUUVZX[{xspmkllmnoqrrrqplgO9vËÍï[^bŒom½TdvŒag–èáàààã„WafQ„áÝÙØÜå f`diedefgiloruvxxvsrppooqqeksco²~žŠTWX]^[^]b^^\YaVTQ| ­É‚LRZYXWWVzzzvqnmkjjknnoqqqlSA2>¼ÇßÛ§p`doi­ê‡asŠ[hm·»ÀÃȽYJ`oYqÒáÞÖʼuNqYkhfggfedehknquvwwwusqoq^Ze\cÄÓÔãë…GCT•\@YˆzIA}ƒb|]WA589;=;986;A<;68DUF8>:LhXhjmonjhfdcbbbaaejlortxaAEKOPRW_Œªoh[˜æŸ«¥°á|bnseYXTPKQZWVVVVorsuuuttrmifdcceggA./24;DShƒª·ðîíïðóÌ’UhJMGKYVJB@8444779gk;=9;AKSRYO?=@<:E^Y™}\`gknnnljggghfcaae]A=ILOTX]kx}€ƒ»ßÜÝÞßàáäÁ}zvrg[VRMKYjihiecikmorstvvutrokgdccB8306XÚÆyu‰¡Œ‰hjŸ†sVFGJRXRJIHSTIBBJSXZXY]^bgjtu‡rdnkirmnoomkihhhfcc[>>CQXnnd\\\[[[[[ZYs‰¦®«¦¡›•‰‡„‚€€~‚…ˆ˜†fpfgikjigecbcZ6;KORT[^gaN?@KaddbficbN45F[eeeUPJw’wqnmk„^egilmoqsttsrqpje=96/-.025778=>CRvYPubXZZ[ZZZYYYy…€wld^YXWTXYSQPPPPQRSUZexhfddfhhhdccY2:HJPžm\NM;:9WaZ€Ë†DAd¨ÎÖ¾‘qÌÀs_ehikmnoprqrqng:682=TG@864,+,+-b‰€‰‚fY[[[[YtjC>?=<;99;;74779::8777887:>Yliebbcdggg[-6A@Enyaci^@;99DFGGIJJHBLelf`^QBCTi‚©ÊÖ»ÁÏ´c]cfiklmmpqooi^86731?EG@74.268=^‡‰~¤ÕÍšc^___bŒR<=AACCCDC;BCBABBA9‰F>B@:6666776:B?Zmlljfdccf],3674158==?BCAAACCA@A=:76310.,6F>SlkjgfuyµÇÏŒ[aeghkllmnnkfWD<:<@?>==;;?BA?Mm_L¶æ¾é×opts™m=ENOLS\:33566657@@Lilkmkhecd\,34I[8*(..(%%$$%##$%%'*-1=46:;98;><:F_SY]97NOI=744854333355:ELV[biH &,2g\59@94324;>;FVPOLE:37A?Sjkmnki]RI*14.)4==<<=<;;;;;;;<;;=>>?@5")035JcegijjZ\{ºÆΞ`aegiklmnonmlkjjgb_^^^__bcdNEIGLRY`uÁØH†…;A546b‚xJ573112347ADJRYZYO73?AFeaBA@WeZL/01.07443421110/.-/0.,+-...)!,310Ib`bdgiSLOŒ¾ÄÍ\adegjklmnmmmllkfc`^^^_`acNBGGLSZ\_szGœb<@989b‡‚d><400114?ACCE\lgcabd^SOYš½ÇÅwW^`cgijklmmmlmmjfc_^___acM>FFKTWB=<:g™L=AA^MBKLGCB910124AHRJXgbXOC57@98555=@E@7:D[igfeca``_^^`behhhd_]]\[\]^\[[]afjklmorrssqmlbSNKr¸Ãάb_cegijklmnnnnmkieb`___bG;FHHNM;FZ6G@=8AC8997788:?CA===;9787779;CJJF@_W?hgghhgghhhhhhhgeb`behjlkhda^]^`aa_]]^afkmnopqrqlow^QOYŸÂËÊ]dfgikkmmnoomllkgc`_^`B4EGW§º‚P‚IJT}kFAGIJNRUY[_cghijjjijklmllkhoe{…Idigghgghhhhhiihgecbbdfillkfc`______^]]_chkmnoqqspphWQNh¯ÃÐÄt`dfhkkmmnnnnnmlifb_^`B5@FRºè³Yj«ŸF†ŽnUottutrrqoljhgeddbbbdeeghjnepƒyccfffgggghhhhhiihgecaadikljjfaa____`^\]^`eimnooqnnodTViŠ¾ÊÔ·kaefijkllmnnnmmkieb_`B0;CHg—”dT€‘R‡ƒsdkd^\YWUTSSRONMMLLLLLNOOOSUTX\nranldgggfhggghhiijifba`cfjlmlifccaaba`^]]_cgjllnppoiZQTU‘ÅÇÓªb`adfgijklmmmmljgdaaB,7=CFIShTY}jtcXOPPMJGGECDDCBA@@?@A@AABCCDEEFGMd›ÚÒŒdfffgfffghijjihecaaaeimmlkhfcabba`]\\\^cgjrssrpgTNMY¥ÇÍÓŒ[adefhijjkklmmkigb[?.657544HZbt[FEDCDC??><;<<<<;::;:;:;;;<=>??>>AQ…´ª™gccdeeeefghijhhgedb_acimnnliecbb`_\[[[[\_drsstuxjUPJn½ÊÒÃm_ceghiiikkkmmkig]N8-44;332>S‚ŠdM>>=====;:98888867888888889;<99;??BYbabfgeddddddeghhgfgffda_^bikmmkhfdb_\[[[[[[\]qommlni]RMN–ÇËÖ ]adfhhhhjjkllkifaR6+31/3AC?UqnUB><878:;<:99:<=>GEAAB@@@A@?DYu€y‡›ƒ@Tfed‹vcdcccddfggeffffedb__cgkmligdb^\[ZZYZ[[[ohfhicd`UOKg¸ÆÐÌw\chigghiijkkkjhf]B.--,.-,1W[`UƒŽ†s†‚fNIHHGGIJLdLJKLJIKLU³Øæݸ¾Ü¸7Igfddcbbccccddfeeeefggfeb`_adhkjhfc_][[[ZZ[[[kghhrnjdUNMN‡ÂÇÔµdaegffghiijjjjhfaV>/.11/-0PKM\áÄÁ·àéäÉ]JS[acqŽ‰”Ž‚`a_S@_ÊòÒÇÛêö’5Ghffeijndbccccdeeeefgggedb`__cikjjgb_[\\[[Z[[nmiirqsjVNNLY§ÅËÔ™badffghijjjjjigc]SNLLMMNFJ@:MÇñèÒ¿ÓòÈc=>DCC89>DJUlŠ´àzzëòðííîìçâÞܦR« mN<81//.1Fhhhggfeed`‹¾Â¯mcefeefghhhggghggeb`_aejlmmlgcztsqwsmlnmlnhMJMKmºÂÍÎx]cehhhijklllllkkifcV6<<311038>BPc’|Gs}voqxj\SLE6Ij@F:4;ƒœT,4HghhghgfffcuËèä¥adeeefffggggggggfeb_]`eiknnli{tnnkjlmnleQKMMMÀÃÖ¯\^bfgfhhijjjjkkkjifW3:>6/Bˆ˜Z88JEBj@679=CIDBAB@AlSAM:1QÙ¾]-7Ifihhhggffecmyuqcceeeeeefggfffffhfea_^`dimooluytvvpnjnpommf\OMJa¶ÁÊÔƒZaefghhhiiiijjjjiiXGG=7.M¸ã‹16AZJd‚TNPSc^XY[[_x†V…=227J501;Ifihgggggfefe```jkeeedeefggffffffffdb`^_dimnnpvtwvnqkknnmptkSKKN—ÄÇÖ¼fbfghhhhiiijjjjjijZGL;;347IA443fWK~€z†©…vu‚qa`MBW@44412339Geihgghggfefgedkeeeededffeeeeeeeeeca^\^cimnnuoommnkiklnnnjTKKMi»ÇÏÖŒ_efgihhhiiiiijjij],6<=45546867HEECDK^b\^TTaSGINKO>3220/122Acihhgffffeefeeeb_dedddddefeeeeeffeeecb_]^cilpopvtpmopphillkUKKNO”ÇÇÓ»d`bdgggghhiiijjicW)/=411121112?FCIJJJJV`F@<9441.1.**)*+-+-=`geecccccdddcba^^`ccaddddeeeeefffefgeeb_]_dhlnpsponqttoilmgVMLMLeºÈÌÔŒ`efghhihhhhiigcXN)-:-+,*((('&&%%##""""!#$&'(''')+-)##%%&,Aix|ƒˆŽ“™šž›–“œª­cdddeeeefgffeeeeecb_^_dnmnosvuptmkmlmpePKMMM‘ÉÉÔÁlefhhhihhhhifc`YQ+,8+()(-/1476246667889:<>@A@>?DFE+/Lk†–£®²²²³²±¯¯­®­­®®¯¯²¹¾²qbccccdeffeeddddeedb_]_mqwtpsrorkkkiksdNLMMK`¸ËÍÕšbfhhhihhhhhhhhcT2.7,*''4979:::;;:9888988778865340B| ³³¯«¦£ š–‘‹‹‰††…†‡†‡ˆ“„eabbccdeddddcddeedca^[qwwrllmppkjluttf`ZNMNPŠËËÐÈvehhijihggggfebS606-0.)('&&%&&%%%%%$$$$$$$$$#$"#9ž®¡–Œ†€zwuqmjffbbb___```aabfjvpbbcbbddccccccddddcb`]lkljeaclls|vvwqjqgQLNT`²ÊÉתgghijiihfggec`WG4/+0/+$""!!#""!"#$##$$$&'((())(`¤ukdb_]]]][\]]wd[ZVWWVWYWVXXZddbddcddccccbccdddccb`rnklkrmrktvuuv~~m_SLLMM~ÆÇÐÒ…cgghhhgfffgd`ZTF5352222444565555578879;===>?><~ˆ^]ZXXUUUWWXPGCuS>CZbdedeca`\KFbccccedcbccbbbcddcccb„}€|xy{yliqxxz~vf_SKKMMU¥ÉÇ×»gcdefefffffda]XTLHGEEGGHGGGGGHIJKLLLKMPPOONNLS–iKUZ]aglnnllOINPUZWWZUJIIHHHSpCVcccdedccdcbcbcdcccdc†|vyttmmtpmkqkabbULKK\b€¼ÅÍ×_cddefgfedeb`]XURQQPPOPNNNOQRTY[[]^^\[[[YYYUq“KQs{‡‹Ž’–šŸ©ˆs’xƒ‚[MN@2123454j`Fadcceeeddccdccccbcddƒ€zzzsqsfdipzrjmgYMLLY`[›ÅÅ×Áiadddeffdddcba^[XWWVUTSSUUUWZ\`behihdbbb`^^Y‰}Czt·¾¿ÁÃÃÃÃħ¹Ýªª°iLN=3334565MvA[efigeefeddedcccccdd…††‡‡‡‡‡‡‡‡‡‡†††††‡‡‡‡‡‡‡‡‡‡†„‚|vutttvxxxxxy{{zvuwzz{{zyz{~€€€€‡††††††††††††…………††††††††††††„‚|yutsuuvxxxwvyzzzwuvvxyyxwx{}€€€………†………††…††………………†…†…††………††„‚|vuvvvwyzxxwz{zyxvvuwyywwxy|~€€€…………………††††……………………………†………………„‚{yywvy{{xwwyz{zyxvvwxxxyyy}~€€€†………………†††…††………………†…„…„ƒ„„„„‚€|zxwxz|{xxxzz{zyvvxwxyyyyz~€€€…‚ƒƒ„„„…………†……„……………„‚ƒƒ‚‚‚}~|yxwxy{yyz||zzxyvvxyzyyxz|€ƒƒ„ƒƒƒƒ…………………„…†††„‚€€€}}}}{yxwwwwxy{{{{zyxwwwwxxyyz|~€‚„…‚‚ƒ…………………„……„ƒ‚~~€~}||||zyxwwvuwz||{z{yxxwwuuwyyz}~€€ƒ‚€‚ƒ„„‡‡…„„ƒ{z||||}~~}||{{|z{yxwxwxxy|||{{zwxwwuuvwx{~€€~€~~„‡‡…„ƒƒ}~}zz{z|{yyxy{yzzyxxxyzz{}|||{zyxxvvvvv{~}~~€~€€€€„Œ‹‹ŽŽŽˆ|zyyyxwwy{z{{ywwwxxz{|}}}|{z{{zxxwv{~}~~€€€€€€€…‡„„†…‡ŠˆŠŒxwvvvvvy{zzzyvtvwyz{}~|~„…†ˆ‰‰ˆ‡†„‚€~~}~~~~~~~~……ƒ„„„………ˆ‰utuvuvvy{{zzxzzyyyz{~‚…††ˆŠ‹‹‹Œ‹‰…€~}|€~~~~}~}}}€‡ˆ……‡‡‡…€„ˆƒvsttuuvyyzyzz{{yyzz|~~€„ƒƒ„†ˆŠ‰‹ŒŒ‰†}|ƒ}~€€‚‚‚€~†‡„†ˆˆˆ†€„‰…xssttuvxwxyyzzzyyz|~~‚†‰‰‡‡ˆˆˆ‰‹‰‚~~~|z}€…‡‡‡‡†€‚………†‡‡‡†ƒ‰‡}yyuutuwxxyyyzyxxy|~~ƒ‡ŠŠ…‰ŠŠ‰ŠŠ‹‹„~|{ws€~‚…†††‡†„ˆŠŠ‰‰‰‰‡ˆ‡†‰‹‡‚xxxwvxxxyyzywxz{||}ƒˆ‰ˆ‡ˆˆ‰ˆ‰‰ˆ‰…~{uomƒƒƒ‚ƒƒƒ†ŽŒŒ‹‹ŒŽŒŽŽŠ€yy{{{{zyxxtpp}„ˆ‰ˆˆˆˆ‡‡ˆ‰ˆˆ‰‚rjkk„„…„„„„„„‡‹†ˆ‰‰‰ˆ‰ŠŒ‘‘‘Ž‘‘ƒ‚‚‚}|xus€……ƒ„…ˆ†„„…‡„„…~ollk‡†‡†ˆˆˆˆ‡ˆ…~ƒ†††††ˆŒ‡€}~„‡…~‡Š„ƒƒ„ƒ„„„ƒƒƒ‚ƒ„~yututsstuuxy|€|u‰ˆˆˆˆˆˆˆˆ‡…‚ƒ‚ƒ„…‡Œ†{|†‰…}{~ƒŠ†„„„ƒƒ‚ƒƒƒƒƒƒ„{y{zyxyyz}}~†…‡‰‰‰ˆˆ‡ˆˆˆ…„„„„„‚‚‚†‹‡††‡ˆˆˆ„……‡‰‡…„ƒƒƒƒ‚ƒ|}}~€‚}y|„…†‰‰‰‰‰‡‡ˆˆ…ƒ„††„‚†Š†‡‰‰ˆŠ‹‰……‡‰ˆ„„ƒƒƒƒ‚‚€usuxwx||yxurrx‚ƒ‰‰‰‰‰ˆ‡†‡…ƒƒ‚ƒ€‚ˆŠ†††‡‡ˆŠ‡‚‚…ˆˆ††ƒ‚ƒƒ‚€vrssw}~~zwrqryˆŠŠ‰‰‰‰‡†„‚‚‚€€‚‰’‘Ž‹ŒŠŠŒŒŒŒ‹ˆ†‚‚‚€vssu}„‚€€€{tssy~„ˆ‰‰‰‰Š‰†ƒ‚‚‚‚‚‚„Š“–•”””‘’’“”““”“’‘Š„„ƒ‚|yxy€€€€{yy}€†ˆˆˆ‰‹Œ‰ƒ‚ƒ‚‚ƒ‚„‹ŠŠŽŽŽŒŒŒŒŽŒ‡†„‚‚‚~~~€~}„€}€„‡ˆ‰Š‹Š…ƒ„ƒƒƒƒ…Š}†ŒŒ‹‹‹‹‹ŒŠŠŠŒŒŒŒŠˆˆ‡…ƒƒ‚€€€€€€€€€€€‚ˆ†„||†ˆ‰‰ŠŠ‡ƒ„ƒƒƒƒƒ…†~‚ˆ‰‰ŠŠŠŠŒŠˆ‰‹‹‹ŒŠ‰ˆ‰ˆ‡…ƒƒ„„„ƒƒƒ„ƒ„ƒˆ‰‡}}~ƒ‡ˆ‰Š‹Š‰ˆ†…„……„…„ƒ‚…ˆˆŠŠ…ˆ‹‹‰ˆˆ‡ˆ‰Š‰ˆ‡‡ˆˆ„„†††††††……„‚€…†‡{~}~„ˆ‰Š‹ŒŒ‹‰‡†††„ƒ„„ƒ…‡‰‰‡„†‰Š‰ˆ‡‡†‡‰ˆˆ†„‡ˆ…‚‚‚‚‚‚‚‚€‚ƒ„u}}†‰ŠŠ‹‹‹Š‰‡††„ƒ„ƒƒ…‡‰‰ˆ‰ˆ‰Š‰‰‹‹‰‰‰ˆˆ††ˆˆ†…„„ƒ€€‚€€p{€~‚‡‰‰ŠŠ‹‹‹‰†…„ƒƒ‚‚†ŠŽ‘‘’““””’’ˆ‡‰‰ˆ‡ˆ‡†ƒ‚‚‚€€€gm{}{~ƒ‡‰‰Š‹‹‹Š‡…„‚‚…’’—————––––—˜˜˜—‡ˆ‰‰ˆˆˆˆ‡„ƒ‚‚‚‚iiq{}~…‡‰Š‰Š‹‹‰‡„‚„““”“‘‘Ž‘’‡„ˆˆˆˆˆˆ‰ˆ…ƒ‚ƒƒ„ƒkjkw€~}‚‡‰Š‰ŠŠ‹ŠŠ…‚…ƒ‡Œ‹Š‰‰‰ˆˆ‡††††‡ˆ‡‡ˆˆ‡‡ˆˆˆˆˆ‰‰ˆ†ƒ‚‚ƒ„†…mlls€}~…‰Š‰ŠŠŠŠŠ†‚‚ƒ‚†…ƒ…„ƒ„ƒƒƒƒ‚‚ƒ„„„ƒ†ˆˆ†‡ˆˆˆˆ‰ˆ‡†ƒƒ…†‡nliny€~|€‡ŠŠŠŠŠŠŠˆ„ƒ‚ƒ‚ƒ„„‚‚‚€€‚…‡ƒ„ˆˆ„ƒ‡‰ˆ‰ˆ‡‡ˆˆ…‚€€ƒ…‡‡kkhhky€}~ƒ‰ŠŠŠ‹ŠŠŠˆ…„ƒ‚ƒ„„‚‚‚‚€‚„ƒƒ‡ˆ‡†‡ˆˆ‰ˆˆˆˆˆˆ†ƒƒ††kkhfes€~}~…Š‹ŠŠ‹‹‹ŠŠ‡ƒƒƒ‚€€‚‚€€‚‚‚‡ˆ‡‡‡‡‡ˆˆˆ‰ˆˆˆ‰‡ƒ‚€„„kiffek{€~}‡‰ŠŠ‹‹Š‹Šˆ„€‚‚‚‚€€€€€€€€€‚‚‚‡‰ˆˆ‡…ƒ†‡ˆˆˆˆˆˆˆ†ƒ‚‚fffgfhp}€~~ƒ‰ŠŠŠŠ‹‹Š‰†‚€€€€‚‚‡‰ˆ‰ˆ‡…†‡ˆˆˆˆˆˆˆˆ†ƒ€€hhgggghv€}€ˆŠŠŠŠ‹‹‹‹ˆ€€‚€€€€€€€‚‚ƒ‡‰ˆ‰‰ˆˆ‡‡ˆˆˆ‰‰ˆ‰ˆˆ‡ƒ€€ihgfgghr~…Š‹ŠŠ‹‹ŒŒˆ€‚‚‚‚‚‚‚‚„„ƒ‚ƒ„‡‰‰ŠŠ‰‰ˆˆ‡ˆ‰‰ˆˆ‰ˆˆ‰‰…‚ihgegiho}€~€‡Œ‹ŠŠ‹ŒŠ€‚‚„………………†‡††‡…‡ŠŠŒŒŒ‹‹‹‹ŒŒŠˆˆ‰‰ˆ‰‰‰ˆŠˆ„jjjhhhhju~‚Š‹ŠŠŠ‹‹‰‚€ƒ„„……„„„„ƒƒƒ„‰Šˆ‡……ƒƒ‚€„ˆŠ‰ˆ‰‰‰‰‰‰‡lkijljhho}‚€†ŠŠŠ‹Š‰ˆ„‚‚‚‚‚‚‚‚‚‚‚‚‚‚…‡‚€‚‚ƒƒƒƒƒ…ˆ‰‰‰‰‰‰‰‰Š‰llmnonlns|€}}~‚ˆŠ‰‰Š‰ˆ‡…„„„ƒ„„„ƒ„„…††……€€‚‚„‡‰ˆˆˆˆˆ‡ˆ‰‰‰‰‰‰‰‰{{zz{{{zzzzz{zzzzzzzzzzzzzzz|ƒ†…ƒ…††‡ˆ‡††‡‰ˆ†‡‡††‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ„„ƒ„…†ˆ†……†ˆˆ‡†††…†††††††…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{zzzzz‚‚ƒ……ƒ„……††……‡‡‡†………………†‡‡††…„‚‚zzzyyyyzzzzyyyyyyyyzzz{|{||z|‚……„„……………†ˆ‡…„ƒ„„………‡‡‡‡†„ƒ‚‚€€y||zzzzzzzzzyyyyyyyz{{}~|}||€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡‡‡†ƒ‚‚€{€€~||}{yyzzzzzzzz{{}}~}}ƒ‚ƒ…„„„……‡††‡ˆ†………„„…††‡‡†……‚‚‚€€‚€€€|{yzzz||{{{|}€€€€€‚„…ƒ„„†…„„„…†††‡……†………„…††‡‡‡…„‚‚‚€„~€~}|{zyz}}|~‚ƒ‚€‚ƒ………†„……………„„…†‡…………„…††††‡‡†…„‚€ƒ‚€€€€~|{{~€‚„…†„„ƒƒ„ƒ„…‡†††………………„…††‡†„„„„……††‡‡†……„‚‚‚ƒ‚ƒ‚€€€~}|€ƒ„„ƒƒ„„…„…‡‡††††…………………„„†…„ƒ„„„†††ˆ††„ƒƒ‚‚‚‚ƒƒƒ€€€‚€|}~~~}|ƒ„…„„‡‡‡‡††…………………†…†…ƒƒ…„ƒ…„„‡†…ƒ€ƒ‚‚‚‚ƒ‚€€‚ƒƒƒ€}}|}}{}~~‚…†‡‡†ˆˆ‡††……„…………‡…†……„…‹“•–•–•“Ž‰ƒƒ‚‚ƒ‚„……„ƒ||zx{yx|~|‡‡ˆˆ‡ˆ‰††…………„…‡‡ˆ†††……‰—˜•’‘ŽŽ’ƒ‚€ƒ…€‚ƒƒ………†ƒ~{}yxwx€|€†ˆ‡‡‡ˆ‰‡†…„„……†ˆˆ‰‡‡…„†‡}{{zyyyxyy}ˆ‚ƒ…~‚‚‚‚ƒ†‚{{‚€xxxz‚}…‡ˆ‡‡ˆˆ‡†„ƒ„„…‡ˆˆˆ‡…„‚†‡}~}{zzzzz{‰ƒ‚……„„ƒ~zz||€„‚||~zz||ƒƒ|~‚††ˆˆ‡‡†……„„ƒ…‡‡ˆ‡†‡š–†„z}|z{{{zzy‡•¤‚ƒ„…ƒ|{|~ƒ€}}}}}~~€~}€‚„‡ˆ‡‡†…††„„…†‡ˆˆ†Š®³”†{||{}~~}|{ˆ¢´€‚‚ƒ‚~~|{|}}}}}}~}zy{}|||{{€„………„†ˆˆ††ƒ†”™––––—šš˜˜™œœ—ˆ€€€€€€€~~~}‡€}~~~~||{zz{}|{yy|‚‚€‚„…„„†ƒ~€¡»¿¿··¼ÀÀ¼¶¼Ã¿¼€€}€€~~~~Š„€€|||~}}~~}~~€€€€‚‚†¡ÀËÑÔÕÖ×ÖÔÔÕÎÄ°€{}€~~~ƒ„ƒ‚„ƒ€|||}~{zz|€~~€€€€€›‚Œœ§¨¬¬©ª¤›’ƒ‹œ€{{}~~}€ƒƒ„€|||~~|xx|~}}~€€€€€€‘º¢‡…‚€‹Š†œ·®€||{{}€€~€€~‚ƒ||||}{zz~‚}}~€€€€€ÆÑÊ»Á¼š‰‰ ÂÅÃÒÒ±€€~}||}~€€€€€„ˆ…ƒ~{|||||}|~„~}}~€‚‚ŒÅÐÏȺ¨—–¬¿ÍÑί€€}}}}~€€‚ƒƒ……|yyyyzz|}|}|||{zz{}‚‚ˆÁÑѽƒƒ…‘¿ÒЭ‚‚‚€~}}}}~€€€€€|xwwvvwyyyyyxyyyyyy~‚‚‚€ƒ­¹¶¡€†‡‰‰„~Ÿ­±œ‡Š‚ƒ€}}}}~€€€€€€€}|}yxxy{{{z{{|{{{{{|€€‚‡ˆˆ†‚‚‚‚ƒ„‚‚ƒƒ„ƒ‚~}}}~€€€€}ƒ{z{|||{|}||{{{z|}~€‚€€€€€€€€€€‚€‚†„‚€~}}~€€€€€€}ƒƒ~|{{}~|{{{|{{{zz|~~~€‚€€€€€€€‚’‰‚€}}~~~~€€€€€~~||~~{{{|||{zz}}€€€€~~~€€€~„ƒƒƒ€}}||}~€€€€|}€}||||{{{z{~}€‚‚‚€€€‚ƒ‚„„ƒƒƒ‚€~}}|}}€€€€€€€~|}~|{z|{{{z{|}~~€€‚‚‚‚‚ƒ‚‚ƒ‚‚‚‚€~}}||}}€€€€€€~}|||zxxxxxxxwwyyz~~~~€€‚‚‚‚‚‚‚‚{~ŽŒ‚‚~}}|}}~~€€‚€~{wwwvuttuvwwvvvvvz~~€‚‚‚‚‚}|‡ˆ‚ƒ~~}}}}}~€€€‚€zwwwyyzzz{{{{{zzz{€~~~~~~€€‚‚‚‚‚€}}‚ƒƒ‚€}}}}|}€€€}~~}~€€€„†‚€~~~}}~‚€~‚„ƒƒƒ}}}}}}~€€€€~ƒ…ˆ„€€ƒ‚‚‡‡…ƒ~€~~}}~€€€ƒ€}„ƒƒƒ‚€~}}}}}~€€‚‡‡†ƒ‚‚ƒƒ……ƒ‚…‡‡„~€~~~~~}~€€€€€‚€{{}ƒ‚‚~~~}}}}}€€ƒ„ƒƒ„†‡ˆˆ‡…€€‚€€€€~~~~~~€€€€€~zxz„”‰‚~}}}}}}~€€€€„ƒ‚‚‚€~~~~~€€€~ywy}„Š†ƒ€~}}~}}}}~€€€‚„†‡ˆˆˆ‰†ƒƒ‚‚‚~€€~~~~~~~€~zxxz‚ƒƒ‚‚~~~}}}}}€€„…‚„„„„„„ƒƒ„‚ƒƒ€}~€~~~~~~~~€~zxwxy€ƒ‚‚‚€~}}}}}}}~€€„†ƒ‚‚ƒ„‚‚„‚€‚€~~€€~~~~~~~~‚‚~zxxzzƒ‚‚‚€~}}}}{}}~€€€€€€€€€€€‚‚€~~~~~~~~}~~}~~~~~€‚~|z{|{}ƒ‚‚‚~}}}{}}~€€€~~~€…‰Ž‘•˜œœœœ™‰~~~~}~~}€€~||~~~~€‚‚‚‚~}}}}}}~€€€€€€€€€€€€~ˆ©¹ÁÅÈÊÈÉËÊÉÊɺ„~~~}}~~}~‚ƒ„ƒ‚‚‚‚„ƒ‚€~~~~~~~€|›Á¹°©¢Ÿ•’’ŽŽ‚~~}}~~~‡ˆ‰ˆ‡…………‚™~}}~}}~€€€€€€€€€~€}zxvvvxxwxzyzy~€€~}}~~~ÑÑÑÑÑÑÑÑÑÑÑÐÏÏÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÎÎÎÏÎÏÏÏÏÏÏÍÈ¿´°¦¢•ƒ|ukoxmijppsfieY^b^]d_X]b`aXSQW\\`ebfUVYXVWVU[XRX_^]YUMC@:<:534?3ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÊÃÇÅËÎÏÎÎÏÎÎÏÏÏÎÎÎÎÎÎÍÍÌÌÍÍÍÍÍÎÎÎÍÍÎÎÎÏÏÏÉ· §›y‚zvcabr}q``olg\[\_`[YWR_h`^UQPSZZ_ijjQT]bZTRNTTZae_XQNLB@97754187ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÃÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÌÍÍÍÍÍÍÎÍÎÎÎÎÏÏÏÎç‹sooronpsv~zaccfg]\]]]]UTV_e]\YVSTWVY]jeRRY^WNNOTS^cca[SIDB>95443202ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÉÌÍÍÍÌÌÌÍÍÌÌËËËËËËÌÌÌËÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͹š{mqwyv€€jie^i[aed\[YWaZUYffVTVYYVQNWR[iTPUXYROTQQ\c`aXUVNH?;86421..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÃÅÃÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÍÌÌËËÊËÌÍÍÍÍÍÎÀ”Žƒ…udm}oejc`bWie[YUUP^b]asn\RQW]WNKVSS\TZ\YWPQSV[_[Y[SRYQJA?@<641.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʽ¾¾ÊÑÐÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÎÎÍÌËÊËÌÌÌÍÌËÉŧŽ|ztkcmsqecd`Z^bVR[UTR[gghjehWRW[UQSWTTYT[^aXTUT[]][YVSPRQJAA@8662/1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɼÂÀÈÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÐÏÎÍÊÈÊÌÌÎÐÍÉÆôŸ|{sgZVdb\_cc^d`WVTNQVZ`bfia]TPQQPNTTTR`OUX[ZY[Z^]]ZURTQSMFEAC=641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ÊÅÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÍÊÌÌÍËÇÅÅÃÇÇËÍÎËÿ¼®“‚}rXTSSPVWnqgcd^[MDBOYS]cb^WURNMLJNLRN[OSWXYX\]\[^ZTQTPWQEFB><51//.ÏÏÎÎÏÏÏÎÏÏÏÐÐÏÏÇ¿ÊÄÆÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÎÍËÉÉÈÉ¿¹Ã¿Ã¿ÆËÉÆ¿¯¡¨’€}v`VZZYfibpjh`XWSQSTbUQ]^UQWXSNJHPQSXXSQY[XVYZWRS]XSYRXXA77321//..ÏÎÓØ×ÐÍÎÎÍËËËÌÍÇÀÊÄÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÆÄÅÂľº®ÁºÁ¹¿ÇÁ¿¹¦‰‡rŠ€e^b\\hoYo`W_UQUU_\YQQUZSQTXXMKMTTS\g]PWZXWWW[UN]]Y]\OE=7541/....ÐÛéïîâÒÍÌÆÂÂÃÆÉÅÁÊÅÂËÍÍÍÍÍÍÎÎÎÎÏÏÎÏÎÎÎÏÌÆý·½»³¥¼µ¿··Ä¸»¶˜…}~plgeddV\d^We\T]_RSTY^VVTPPPNNPTXVRTQQTe\MY]YSPPZ[RYZSQLA9==:72/---.ÜîßÆÐìçÏÁºµµ¹½ÂÅÄËÇÄÊÌÌÍÌÌÌËËÌÌÌÌÌÌÉÉÉÇÆ·®ª°²ª¡¬®·²³»¯­¥„yzxplVbd]ZeZS[iaY_YMQSU^`cWRONNQSOUWLPUPR^]Yb_VQMO[YTZRP[JCB=;;96300..íÔˆmw´ìÚ·±¯°µ¶ÀÆÇÌÉÅÊÍÍÍÎÍËÈËËÌËËÌÊÇÅÂÀµ¤¡¦§š£®®®­«§šˆxnlhmn^YZWbcXW^^YaWRWUSVWb[SUQPSVTSUXTQXQSYaZ`YZ\X^`WUZXTSB?G<977764100äuur’Õ麯­°³µÀÄÇËÉÅËÎÎÎÎÍÇÁÉÌËËËȺ¶¶¹¼® ™‘œŸš–¨³«­¦œž”zjffWidUNIOYcZST^gban_`c_UYQQQPQSXTVTW[TZQQ_`_h[cakiaUQONLKA>A9855654/02Ê€‡yÈì««±±³¼½ÃÉÉÃÉÏÎÎÍËùÆÍËÇźª¢ž§¨ ž˜‹––“§°­¢–’‘ˆvddi\]YQRRQZb`\iobTWdQXrp]SQMNNMJMOOPNPRZUX`XVZYah^\YRKMIHGDIB8555554016¼…Š„~ŒÄëʦ©²²´·¶¿ÊǽÁÊËÌÍËÁµÅÌÉÀµ§Ÿ —š—‘’‡•—‘Ž•šŸ”ŽŒ‹†vvrd[UX\[QX]ZU^j^TS]hgbb]TSNLLKKJIGINLS_]X\WQ[gihV\VNVSIKB@D;864434437=¸ƒ…†ÂçÜÅÁµ¯±¯®¶Ä¼¯³¸º¿¾Ç¾³Àƾ±¢¡šž¢–—‘†ƒ†ƒŒ…ŠŽ‹‡„…„‚{xrbYWWWaZVYXSYhSQQ_ifTT[YTONMKKHGKIKSV]aTZSQntehbb^Ub[TUH=<;97533365;?Ư­‹†’ÂåìíçÊí¤¤«¬¢¡¢¤¥§«½¶ªª® ž™››¢“–‡ƒ†‚‚†ƒ|„ŠŠ†‚~€~wvrjdYS[i]SVUV_]PY[^`[TTSTSNMOQMNQQIELQVbTTO^ddb\fj_TU]ZITG==<:556589ÇÈËÂÁÆÎßëëëëëìêéèèæãÜÖÉ„KOV^ek^lqUGIGNhmicVEmŠˆ‰…{yz|wwpa[]_WWVWX_ZSO_tƒxj`^fTVPMTUNMLHDNVSPSU\kx~}{ƒƒ‚‚„xs\I<9<<::::;>>>=éìêçççèçêëëéæãÞÖÏÊÅÀ¹¯žXIu‹•›žxN?24;ANSax‰ŸŸžœ—•”’’‘‘‘‘‘’”“ŠjB5:9989;?@@?èÝëììììíìììçÜÍÇĽ¹¬¨ LT“¶µ¶¶®¡›ojt\URC556JT_ˆ‚ƒ€xuxzyurlh_WPLYZ[UVY`^YKZa\][[_XMMTPNKLONO‹qrje`]]][ZZZZZ\[\]aaZmo99999;AEEEÎu½íéêééçæÛΨ¢¨£¡•”Œk\Md‹‚´–†¡dWVQI95=nQƒƒ€||rqxz|tkcdWRTHCNWVX[\QMKVY]^V[c`TNNLLQPOLM‰WTZ]aehQ>>==<<>JW[]]_U_@89:<gS958<=BHIDN§ˆ¡žŸ©¤–†zyy|†–›€|m}a9?<;=_\<8<>AAFLQWafn„‚£}MGAZxmdXECIK~w~`”SUPh}wNIHIJIJEDO†“R=;5g”\mW^uxsigjswhZVVTSSPWYPPZ^[X\b_ZPRUPJFLUPGO‡MA?>:axnA;6558<;=aLmL]MRPHIRY][ROIS^zqND=8R_FjE<:eunhggemaVV]XY\SSUSUQ[`]eaXWSPJJHEKV\_i—oGDGE@d„xBB=6565:@BCCB?8D]DB[`WW`kjiI{ìê´qou{|‚‚€Y729II=:978??=?><<>;::8EIGK?99;A949Ailddd__idXQY\^]YTNPYV\dcc\RRVUMF@>DQ_pw[M{[FCG]KCIH=;:;EIKKLKI?>O@GZ\RassnhPo«ÂÉÉÆÇÊÌÐÏÏÐÐÑ¿›€P6ZJ===:898888888999875688=IMBQduztkfgfc_``WY[\WUQQOTZ\WZ\WPRYTQZ^\fYSX\q^InS9:;BDGJKXlmomZB@>=<=BG`ZDFUuvrqjKeˆ¿ÖÝáâáãçææçèçåèܸ[QC<<;989888888898998Ncx„˜Ÿ¦­®¬«ª¨¦§£ž•ŽrZ]VVUVX]TQZ[UOPV]ZYZe|‚†ŒzZi`R~|f`XHJSXXWYZ]]^^\XXTLK_ls‹‹hnorqnniYi©½ÃÎÐÒÓÒÒÑÒÒÒÐα·lK<58976776678777785g£ ¤Ÿœ™’‰†…‡…‡‡ˆŒŽ“˜”zployŠ“‰ˆ‘’‡…‘®–€~€~{}tl§¥svrpgf]Vgtpnnmkjjklnqre]cbgrs\hhitskiqpqswz~€‚‚€‚ƒƒ…ƒƒ oVobB444565568A8675Klnkihheflpjigggggfem‚y{|zxyzyz{~€ƒ‰šª·µª™Šuoq˜¢sb``\ZZXfh^[ZYZZYZ[[_ebZZZ[\YPTejvsuwsqonnpqrtvvuuuuuy}€xhx«·œA13445578:7763}•`pxzxwy~†œ¶ŒŠŒ„€}zrwystvvvwvvvutsssqt{…“¢ª±®ª„„‘k[UYYXXYXXXWWWWWXXXWXXXYYZYXWSKS^`gtzwtqmklmnorsssrrpqt{nOˆ¦¾­šK8866537B?94?—prŸ¥­°±®rHG>_¬»¸²±°¢‚bnjijknpruvvvvtsrqqqqqty€‘~scYQTWVXZZYYXXYYYZZZZY[[[ZXZY]XOSUVZX[{ytpmkllmnoqrrqqpomb;g¸ÈÐñ¼‰`TWejE |Cbu‹Y|ÅÞÝßßáÓl`[TY¿æàÙÚÞÛ€jYjedefghloruvxwurrppnopppestatrg}iY\]\Y]^]]]`^Y[[ZUr£‚´oOUZXWWVzzzuqnlkjjkmopqppo`M5=“Ùàïó¸}_`p‰sÔ±[nx^mÌåáááå¿PZb\U³äÞÞÝáÝkoXhhfffeddehknrtvwwwuspnnp\dhUƒÈÁ¶äÆ\KIauSQ\xcONmpDG[Êí×ÔÏxNVZXXXXxyyxwrmjighjlnoooo[>4.Dnt”® ›bnl[óßil“hhW€•š £¦u@V{jYŽÖÒɸ¦‘Icd_kkhfdcbbacdfjosuvwxxuroSP]ShØáÚãó»QAO¯k6x°DK³g:O¸ðÞÕáÈ]QTXWWWWwxxxxwsmjhghijklmnU520/24>ANaYeuÜÌŽ€ž[jPE98:977>Všv]a_OH@8:CLmYjnmkiecbbabbbfkorsvwwvvSFQROœº¿Ú÷‰?=†¿O—èÇP–¯MEsó鶤€hPNR]UVVVrtvwxwvsojgfgghijmM00379AJMQUX_n{‚†‹ª»¾ÄËÆÃÄȨ‚{seZURMK[ihiechjmoqstvvutrokfdceR5604A©ð‰\atyhen‹¡’‰_>ABGSYTIFDVKC;=IORQPA;;=::Q[k™kVbfjnnoomkighgecacT=@JLOTW_mtts‚×ðééèìîîô¿onoodZUQMK_kiigfcfjloqqsuttsrplfcdQ79007x¥uev†Ž‘xVo‘xlQMOSWVQOPSZPLJLRW]a`fkoswy~„|ˆknsljsihlnnkgfeeeccR8?KMOSW`lnnnåòìêëïññ÷ÁlmkldZTQOMallljhadgilnoqrsttsrojfeR6:0/14>A<>FA;9;A^‘up`__]\\]^^^]eƒy‡–¡¨­°°°±²±²±°¯¯¯±²¯xfdfikjhgecbabP4?LORTWajf`_h¥ÆÊÈÉÁ½º¸ˆOMVfe\URPKq{romk†]egilmoqsttsrqpjhQ4:///038<=>ACDIa[XbpZ\[[ZZZZZYZ~Ž­«§¢œ—Š…‚}|{{z|†Ž•zipfeeghhhdbacO1?KNSnrd_RB../8BMENFAB508IQa~˜bLFžÉ›sklÅ}_ehjkmoorsrrrrokP1;10.,--....013AqTqrVYYZZYZYYXa•s‚xog`[XUSQYTQPOOOOPPRTXfvheccdggfebcN.>HEaÒ¦gVPMLOMLTcU]XUXSOJWVZ›ç…D@‡ÐÖ¾‘qËÁt^egikmmoprqrqpnQ0;37OA62/.,+,,*=xŽˆwab\YZZ[ZZXjUNJHHGGHIIIXMCDCBABA@@?>?SjieaacdggdeN*>AAA@@AA>7@agaoŠaBCZ¦ÊÖ»ÀÏ´c]cfiklmmpqppngK0:40@MKE::.,.10Ox•‚š‡_[\\\\[€X?==;:999:955679;98777878;>[mjgcccdfgjP)9?>CV^`hpjVNMPY[]__`a_`msphYMDABXhf}¢Ê¯ÅÑŸ]^ehhjlmnoonlbK262259;:52169;>QuŒ{ÔÞÍ‹^``a_m‡D==@@@BDEB>_U<;<<:7778887=?JhlkieccdfiQ(7879?FOZ_eebaa``_][YXUVVSLE>:69=Wmjgfy·ÈÏ[aegikllmnnlgY@52233211001133?n|d•èàãØ|fjmlŽu===BCCA@A?@’u=BA?76766766;B@]mlmkgdcceR(73G:***+*()++**))&((&&$#*.'&,G[@VmkjjgU“¾ÊÈu[behjklmnomjcXQNMPQOOOONPRVVL`eKvæÄÎó¡hvvwžX><57:988<==IPKKWP344566647A?NjlkmkieccO'65MV>32=93.,+**)*+,07?HR`i;"2DH?TkjkkkZ|±Âαe^dfhkmmnonmjfca`a`^]]\^_aehXQNKNxq¤ê–y›¥›CA948<;98<=;?>>=<::::;;;>BEILMQ;%)18Oghijj\_‚¼ÆÏŸaaegiklmnnnmkjhhfc`^^^^`acgYFIIIKTh„»Á§†=99>s…‚V=;200124>HKPX`]\S<4=AB[U553Cfd\OB<;;>@BDHJGDB?@ACDEDAAGMQV\^^_\]jomjd`fZRMg¬Á̼k\`cehiklmnnmmmlhea`_^^`bZ@BGGPYU><<@€Œ@?@G^CEMKDBA600125DHTI[g`WM@49??P\iDA@@@??<87546?AF=LQLHFB9:;9>>59CZggfeccbcba```cfhiid`^\\\]_^\[[]chjlmoqrrrrnqdRMRŽ¾ÅÑ—]ceghikklmnnnmljhda__^`X8BIGJNG7TL:D>;9D@7987677;?B?<<=;8787789;EKIF>;\cdijgggghhgggfca``beilkhc`^]^_a`_]\]`fjlmnoqrqlox]PO[¢ÁËÌ]dfgikkllnnnmmljgc`_^`V3@IGP^^TRo˜’PJ58999::;;<=@DFBCCB@BCBBBBB@BC>`ODihgggfgggghhhhfdba`beikljfb__^_`__^\\_cgjmnoqqspphXQNk±ÃÐÄu`efhjklmmnnonmkjfb_^_U2>HE‰È¯cWœÇ™S‚YABHJLORVZ[]cghgghgghijlllkhqc~Ffgefgggggfgghiihfdbaadhkljiea`___``]\]^afjlnooqnnodTVjŒ¾ÉÓ¸l`dehjkllmnnnmmkieb__T3FOy˜|XZ”x^‹€oelb][YWVUTSRONNNMMNLLNOOPSUSX^qt¹×“dfffgfefghiiiiheba`aeimmljhfcaaba`][\\^cgjrsrqneSNM]ªÆÍÓŒ[adefhijjkklmmkifdbU-48AEFKVdPhzks`VOQOLIGFEDDDCBAA@@ABAAABCCEDDEFOm¦³›gccdgfeeffhhihhgeca_acimnnliedbb`_\[[\[\_drssuuwiUOKt¿ÊÒÃm_ceghiiikkkmmkihe[L-4456423PZh€nTEEDCCB??=<<<<<;;:::;;;;;;<<>??>>AUnfbegecdddddeggggggfeda_^bikmmkhfdb_\[[[[[[\]qommlnj]RMPœÇËÕ¡]adfhhhhjjkllkhfaSC+2194337E[’{aF?>>===<;:99999977888888899;=:9;?=AWeedŠvcdcccddfffeffffedb__cgkmligdb^\[ZZYZ[[[ohehicc`UOKjºÆÐÎx\chhfghiijkkkhfd]F)010.:@AA^xgP>>:889:;:9889:;=A@?>???>?>>DYx}u„“v>Tgdedbbccccddeeeeefggfeb`_adhkjhfc_][[[ZZ[[[kghhrnjdUNNN‰ÃÇÕ²baefegghiijjjjhgbS6-,,-,((:\_[\ƒŒyq…|[HEFFDEHHO‚]JHKJIGLK]µØëá´»Ú¯5Lgeehjndbccccdeeeefgggedb`__bikjjgb_[\\[[Z[[nmiirqsjUNNLZ¨ÅÌÔ–badffghiijjjjigc]K412310/:ROF†êº»ÇíëÞ¯OLQX^ao€Ž€‡‰ubb_PApêðÖÉØåõ”3Jgfg²ÛÜ­hbccddeffffggggfdc`__dikllid^[\]]\\\krljqptrh]PNLv¹ÆÑËu]dfffgiijjkkjhebYRPPOPPPEK?8uêçáÍÎßõÁX=EJIEwš’‘’…f0322;gÆÛÛÖ˯Z4GhfcƒÊÍÂ}_bbdeeffgghhghhhfcb``bgjmkid^]]^^]\txpnqqrppr\NLQ•ÄÈÖ²bbfffgiijjkkjihd_\[[XXYXJK65S¨ÜÞÜÙЫvq@3001V”™›…S;<=AW†rfh`UH;72Dhffehiedcbbdeeffggggffghhfec`_`dikkic___^]\tqlkopmllneNKLc°ÄË×^efggijjkkkkkjgda`_]\ZZLM55?IR^s¿§kµöóòñîîïïëéó¸W©³ˆnZMF><8:Ihhffeeecb__bacefffffggggghhhfda^_`dhlmljg`_hlmjpqnnrrtmTLPQ^ªÄÊÔ•`cfhijjklmllljjjhfc`^NP76=:?AJR\rŒ·Æ`«ðëëëëëëìçæò·P­¶‘v`RH=847Jhhggeeed`‹¾Â¯mcefeefghhhggghggda_^aejlmllgcztsqwsmlnmlngMJMKt½ÁÎÏx\beghhijklllkjjjheb`KC:BA7<@HO[u”ÂÖaŸ÷òòòñðòðïíï©V¼¬yWC<2---0GhhghffffcvÍèä¥adeeefffgggfggggfeb_]`eiknnli{tnnkjlmnlePKMMO—ÁÃÖ¯\^begfhhijjjjjjjifdbH8=:21102;BNa‚´l_šŸšž›~rg^CQqFE73;o€G-4Gghhhgfffecnyuqcceeeeeefggfffffhfea_^`dimooluytvwpnjnpomlcXNMJe¸ÁÊÔ€YaefggghiiijjjjhgfeI3=;4/LtzB89J?Pf4668:CC;:;:::fO>N:1aæÍ_-7Hfhgggggfffd```lleeedeefggffffffffdb`^_dimnnpvtvunqkknnmptjSKKP™ÄÇÖ¸dbfghhhhiiijjjjihggKK@<5+wÚðk38KPDshHIJN[YTTTTVs„Zx;31A`?30;GehgghggfefgedkŒ~eeeededffeeeeeeeeeca^\^cimnnuopmmnkillnnojTKKMk¼ÇÐÖ‹_efgihhhiiijjiiihiLRC;91;RrE337uL[Ž|„®…}{…tlnRIb<442/023;Gehgfghgfeffedea_cddddddefeeeeeffeeecb_]^cilpopvtpmopphilkkUKKNP—ÈÈÓ»d`bdgggghhiiiiiiikL,;;<2411686:LBEBILda^VQPcMCELJO=43422323Ddhfffgfffefedcbaaed`deddeeeeefffeefedb_\_dhlnprponqutoilmhXNLMLh½ÇÌÔ‹`efghhihhhhiiiihfJ#8:313333235FHHPQSVWgjOIEB<;8480,*,,---/BdhfffeeeededddddŸ»º’ceddeeeefgffeeeeecb^^_dnmoosvuqumkmlmqfPKMMN–ÉÉÕ¿jefhhhihhhhhhhgbZE#66,,-+*))((*)&&%$#$$$#$$%&&&$'(*('(+*'*=aeddeghijkkkjjhdäéä™bbcccdeffeeddddeeda^\_mqwtpsrorkkkikscNLMMKdºËÍÔ–bfhhhihhhhigdb\WG#44)))(*+-/1/.00001112479:;:8:ACC-!!%+4A\€’™Ÿ¢¨«««««««ª©£¿ÎͲhabbccdeddddcddeedb`][qwwrkjlopkjluttgaZNMNQÌËÐÇvehhijihgghhghg^L)43+(&(6::<==<=<;;;:9:;;;;::66642$.Pu•¥­±´²¯­¬ª¨§§¦¦¥¤¤¤¥§§¨©¡uacbbbddccccccddddbb_\lklidbbllt|vvwqjqgQLNTc¶ÉÉتgghijiihfghggf`K.43./,(*)()((((''&&%&%&&&&&%%$#$&l¢²±ª£Ÿ›—’Ž‹…‚}z{zxxxyy}„Š‡hbcccddccccbccdddcbb`rnknmtptlsvuuv~~m_SLLMNƒÇÆÐÒ…cgghhhgffffdb^S<1.-1/)#"! !"!! !"#""##$##%''&%%Z±ž“‡~ysmjifdb``\]]\\]]\\\\]`cnpcbbcedcbccbbbcdcccbb„}€}xx|ylgqxxz~vf^SKKMMW¨ÉÇ×»gcdefeeffffeb^WN:.////--...000011233446787789:;‚“qic`_\ZZZYZ[\^‹bXWUVWVUVUUVUR^ebcdedccdcbcbcdccccc†|vyttlmtpmkqkaccVLKK\b‚¾ÄÍØ_cddefgfeddb_ZUPECBABDEEEEEEEEFFHIGFGKLKJJJHGMpYYVUVVX[\]\I>>cB:C`ghgefecaaQB`ccceeeddccdcccbbcddƒ€zzzsqsfdipzrjmfYMLLX_^ŸÄÅØÁiadddeffddcba]XVQONNNNMNNMOONPSTVWWXYYYXWWVUPkŽTK\floqsrqprS]ebhl^QSJ<;;<<;GwGRefigeefeddedccbbcdd…††‡‡‡‡‡‡††‡‡‡††††‡‡‡‡‡‡‡‡‡‡†„‚|vutttvxxxxxy{{zvuwzz{{zyz{~€€€€‡†††††††††††††………††††††††††††„‚|yutsuuvxxxwvyzzzwuvvxyyxwx{}€€€………†………††…††………………†…†…††………††„‚|vuvvvwyzxxwz{zyxvvuwyywwxy|~€€€…………………††††……………………………†………………„‚{yywvy{{xwwyz{zyxvvwxxxyyy}~€€€†…„„………†††…††………………†…„„„ƒ„„„„‚€|zxwxz|{xxxzz{zyvvxwxxyyyz~€€€…‚ƒƒ„„„…………†……„……………„‚ƒƒ‚‚‚}~|yxwxy{yyz||zzxyvvxyzyyxz|€ƒƒ…ƒƒƒ„…………………„††††„‚€€€}}}}{yxwwwwxy{{{{zyxwwwwxxyyz|~€‚„…‚‚ƒ…………………„……ƒ‚‚~~€~}||||zyxwwvuwz||{z{yxxwwuuwyyz}~€€ƒ‚€‚ƒ„„‡‡…„„ƒ{z||||}~~}||{{|z{yxwxwxxy|||{{zwxwwuuvwx{~€€~€~~„††„ƒ€~{}{zz{z|{yyxy{yzzyxxxyzz{}|||{zyxxvvvvv{~}~~€~€€€€ƒŠŒŠ‹ŒŒŽ‰|zxyyxwwy{z{{ywwwxxz{|}}~|zyyyxxwvvz~~}}~€€€€€€ƒ‰†…††ˆ‰ŠŠ‚xvwvvvvy{zzzyvtvwyz{}~||ƒƒ…††……„ƒƒ€~~}}~~~~~~~~„…ƒƒ„„…†…‡‰„vtuvuvvy{{zzxzzyyyz{~~€„‡‡ˆ‹Œ‹‹Œ‹Š†€~}|‚~~~~}~}}}~…ˆ†…††††ƒˆ…xsttuuvyyzyzz{{yyzz|~~€ƒƒƒƒ…‡ŠŠŠ‹Œ‹ˆ€}|„}~€‚‚‚~€…ˆ……‡ˆˆ‡ˆ†{stttuvxwxyyzzzyyz|~~€…ˆˆ‡‡ˆˆˆ‰ŠŒŒ…€~~|z~…‡‡‡ˆ‡…†…†‡‡‡‡‰ˆ~wwuutuwxxyyyzyxxy|~†Š‹††ŠŠ‰‰‰Š‹‡}zws~‚…††††…„…‰ˆˆˆˆˆ‡‡†„ˆ‹‡xwwvvxxxyyzywxz{{}}‡‰‰‡ˆŠŠ‰‰Š‰‰ˆ€}xom‚ƒƒ‚‚ƒƒƒ…ŠŒŒ‹‹ŒŒŽŒˆ„††…~yy{{{{{yxwtpo|‡‰‰‡‡‡‡†‡ˆˆ‡‰…ymjl„„„„„„„…„†‹‰‰ŠŠ‰‰‰‹Œ’“”’’“””•„‚‚}|xur~…††…‡Š‰‡†‡‰ˆ†ˆ…vkkj‡†††ˆˆˆˆ‡ˆ‡‚‡‡‡††‡‹‹‡„ƒ†ˆˆ„‚‚ˆŠ„ƒƒ„ƒ„„ƒƒƒƒ‚ƒ„€{xvxwuuuwwwy|€€{u‰ˆˆˆˆˆˆˆˆ‡†€ƒ‚ƒ„…‡‹‡yy‚‰‡{{‰‡„„„ƒƒ‚ƒƒƒƒ„ƒ„‚~{wxwvuvwwz{~€……‡‰‰‰ˆˆ‡ˆˆˆ†„ƒ„„ƒ‚‚‚…Šˆ…‚„†‰‡‚‚‚„ˆˆ„„‚‚ƒƒ‚‚‚€€€€€}z‚…†‰‰‰‰‰‡‡ˆˆ†ƒ„††…‚„Šˆ‡ˆ‰Š‰‹Šˆ†‡‰‰„ƒ‚‚ƒƒ‚€‚ytuxyy{€€{zzvst~‚ƒ‰‰‰‰‰ˆ‡†‡†ƒƒƒ„‚…Š†…†‡‡ˆŠ‰ƒ…‡‰†…ƒ‚ƒƒ‚yrrsuy}~~zwsqqu~ˆŠŠ‰‰‰‰‡†…‚‚‚€†ŽŒ‹‹‹Šˆ‹Š‡…‡‰Šˆˆ†„‚‚‚ysrsy„€}vrsu~~„ˆ‰‰‰‰Šˆ†„‚‚‚‚‚‚ƒ‡’—–•••‘‘‘‘‘‘‰„ƒƒ‚}xwv~‚‚€€€€{xwz€†‡ˆˆ‰‹Œ‰„€‚‚‚‚‚‚ƒŠŽ‘’‘’’‘‘‘‘‘‰†„‚‚‚‚~~~~~€€~}}€‚‚€}€„‡ˆ‰Š‹Š†‚„ƒƒƒƒ„Š†‡ŽŽŒŒŒŒŒŠŠ‹‹ŒŒŒ‹‰ˆ‡…ƒƒ‚€€€€€…†„||†ˆ‰‰ŠŠˆ‚‚ƒƒƒƒƒ„ˆ‚}‰ŠŠŠŠŠŠŒ‹‰‰‹ŒŒŒŒ‰ˆ‰ˆ†…„‚‚ƒƒ‚‚‚‚ƒ‚ƒ€€†‰†}}~ƒ‡ˆ‰Š‹Š‡‡†…„„…„…„…ˆˆ‰Šˆˆ‹‹‰ˆ‰‰‰‹‹‰ˆˆˆˆˆ…ƒ†‡‡†††‡‡……ƒ€€„†‡|~}~ƒˆˆŠ‹Œ‹‹ˆ††††…„……ƒ„‡ˆ‰Š„„‰ŠŠˆ‡‡‡‡‰Šˆˆ‡†ˆ‡ƒ‚ƒ‚‚ƒƒƒƒ‚‚‚‚ƒ…v}}†‰‰‰‹‹‹Š‰‡††„ƒ„„ƒ„†ˆ‰ˆ††ˆ‰‰ˆˆˆ‡†ˆ‡ˆ‡„…ˆ‡…ƒƒƒ€€‚€o{€~‚‡‰‰ŠŠ‹‹Š‰†…„ƒƒƒƒ„‡ŠŠ‹ŒŒŒŒŽŽŒŒ‰‡ˆ‰ˆ‡‡†…ƒ‚€‚‚€€gm{}{~ƒ‡‰‰Š‹‹‹Š‡…„ƒƒ‚„‰Ž‘“”•••••––——––ˆˆ‰‰ˆˆˆˆ†„ƒ‚‚‚‚‚iir{}~…‡‰Š‰ŠŠ‹‰†„‚€‚‹’“—˜––•”“””““”•–•Š„ˆˆˆˆˆˆˆˆ…ƒ‚ƒƒ„ƒkjjw€~}‚‡ŠŠ‰ŠŠ‹ŠŠ†„„‚‹ŽŒŒ‹Š‹‹‹ŠŠ‹Š‹‡‡ˆˆˆˆˆ‰‰ˆ†ƒ‚‚ƒ„†…mlls€}~…‰Š‰ŠŠŠŠ‹‡„ƒ…‰‡†…††………„„ƒƒƒ†…„ƒ‡ˆˆ†‡ˆˆˆˆ‰ˆ‡†ƒƒ…†‡nliny€~|€‡ŠŠŠŠŠŠŠˆƒ‚‚ƒ„€‚ƒ‚‚‚ƒ‚‚‚„ˆˆ„ƒ‡‰ˆ‰ˆ‡‡ˆˆ…‚€€ƒ…‡‡kkhhky€}~ƒ‰ŠŠŠ‹ŠŠ‰†„ƒ‚‚‚€€‚€€€‚‚‚‚‡ˆ‡†‡ˆˆ‰ˆˆˆˆˆ‡†ƒƒ††kkhfes€~}~…Š‹ŠŠ‹ŠŠ‰ˆ†„‚‚ƒ‚€€€€‚‚‚…ˆ‡ˆ‡‡‡ˆˆˆ‰ˆˆˆ‰‡ƒ‚€„„kiffek{€~}‡‰ŠŠ‹‹Š‹‹‰„€‚ƒ‚€€€€€€€€€‚‚‚…‰‰‰ˆ…ƒ†‡ˆˆˆˆˆˆˆ†ƒ‚‚fffgfhq~€~~ƒ‰ŠŠŠŠ‹‹Œ‹‡‚‚‚‚€€€€€€€€€…‰ˆ‰ˆ‡††‡ˆˆˆˆˆˆˆˆ†ƒ€€hhgggghv~€ˆŠŠŠŠ‹‹‹‹‰ƒ‚€‚‚€€€€€‚…‰ˆ‰‰ˆ‡‡‡ˆ‰ˆ‰‰ˆ‰ˆˆ‡ƒ€€ihgfgghr~…Š‹ŠŠ‹‹‹‹Šƒ€€€€€€ƒ‚‚‚‚ƒ…‰Š‰ˆˆˆ‡‡…‡ˆ‰ˆˆ‰ˆˆ‰‰„‚ihgegiho}€~€‡Œ‹ŠŠ‹ŒŒ„€‚ƒƒƒƒƒƒƒƒ„ƒ„…„ƒƒ„†‰ŠŠŠ‰‰Š‰„„‡ˆ‰ˆ‰‰‰ˆŠˆ„jjihhhhju~‚Š‹ŠŠŠŒ‹„€‚„…†††…………………†ˆŠ‹‹‹‹‹ŠŠ‹‰‰ˆˆ‰‰ˆ‰‰‰‰‰‰‡lkijljhho}‚€†ŠŠŠŠ‹Š‰…‚ƒƒƒƒƒƒ‚ƒ‚‚‚‚‡Šˆ†…„‚‚€€€€†‰‰‰‰‰‰‰‰Š‰llmnonlns|€}}~‚ˆŠ‰‰Š‰ˆ‡ƒ‚‚‚‚‚‚‚‚‚ƒ„ƒƒ‡ƒ€€~€‚‚„„„„„„‡ˆˆ‰‰‰‰‰‰‰‰{{zz{{{zzzzz{{zzzzzzyzzzzzzz|ƒ†…ƒ…††‡ˆ‡††‡‰ˆ†‡‡††‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ„„ƒ„…†ˆ†……†ˆˆ‡††…„…††††††…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{{zzzz‚‚ƒ……ƒ„……††……‡‡‡†…„„„……†‡‡††…„‚‚zzyyyyyzzzzyyyyyyyyzzzz|||{z|‚……„„……………†ˆ‡…„ƒƒƒ„……‡‡‡‡†„ƒ‚‚€€y||zzzzzzzzzyyyyyyyz{{}~||||€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡††…ƒ‚‚{€€~||}{yyzzzzzzzz{{}}~}}ƒ‚ƒ…„„„……‡††‡ˆ†………„„…††‡‡†……ƒ‚‚€‚€€€|{yzzz||{{||}€€€€€‚„…ƒ„„†…„„„…†††‡……†………„…††‡‡‡…„‚‚‚„~€~}|{zyz}}|€ƒƒ‚€‚ƒ………†„……………„„…†‡…………„…††††‡‡†…„‚€ƒ‚€€€€~|z|~~€ƒ„…†„„ƒƒƒƒ„…‡†††………………„…††‡†„„„„……††‡‡†……„‚‚‚ƒ‚ƒ‚€€€~~}ƒ„……„„„„…„…‡‡††††…………………„„†…„ƒ„„„†††ˆ††„ƒƒ‚‚‚‚ƒƒƒ€€€‚~}~~€~~}}~ƒ„…„„‡‡‡‡††…………………†…†…ƒƒ…„„………‡†…ƒ‚ƒ‚‚‚‚ƒ€€‚‚ƒƒ€}}|}||~~€„†‡‡†ˆˆ‡††……„…………‡…†……„…†Š‹ˆ„‚‚‚ƒ‚„……„„€|}{xzzx{~}†‡ˆˆ‡ˆ‰††…„……„…‡‡ˆ†††…„…“›™–••••—“†€ƒ…~€‚‚ƒ„†…†…{~}yxxw~€|~…ˆ‡‡‡ˆ‰‡†…„„……†ˆˆ‰ˆ‡…„…ˆ‚}|{zyyyxz{‡„€ƒ…€‚ƒ…„}{ƒyxwx€‚}„‡ˆ‡‡ˆˆ‡†„ƒ„„…‡ˆˆˆ†…„ƒˆ|~~|zzzzzy…ˆ……ƒ…ƒ~zy{|€„ƒ|{€zy{|…}}†‡ˆˆ‡‡†……„„ƒ…‡‡ˆ‡†„‘†‡|{€{{z{{zz—’ƒƒ„„ƒ€~||~~ƒ~}}~|}~~€‚~}ƒƒ‡‰ˆ‡†…††„„…‡‡ˆˆ‡„ ¹›‹|{~}y{|}|{z}—µ¦‚‚ƒ‚€€€~~}{{}|||}}~~|{|~€€€ƒ„………„…ˆˆ††ƒ~†™••Ž“““’““•—‘…€€€€~~}~~„}~}~~~}|zyyz{zzxy{‚€„…„„†ƒ}Ž®µº³¯³¸¹¸³²½º¸Ÿ€€~€€~~~~€Š†~~€€}||}}|}}~}€€€‚‚•¾ÌÐÒÑÒÔÕÔÑÓÔÍÄ£ƒ€{}€}~€ƒ„ƒ‚ƒƒ€}||}}|z{|~~€€€€€ƒ›‹”¡²·º¼¹¸·¯¢’‡šˆ€{{}~~€~}€‚ƒ‚ƒ…}||~~}yx{}}~€€€€€€ƒ¯¡‡~€„€ƒ„‚ƒ„|„˜µ~||{{}€€~€€€€ƒ€||||}|yx{€}}~€€€€€€€‚µÎDz®¸ †ˆŒ®¾±ÂÐÉ~~}||}~€€€€€€€ƒ†…ƒ||||||||}ƒƒ~}}€‚‚€€²ÐÐÎƺ©”—¬ÁÊÒÐÅŽ€}}}}~€€ƒ„††ƒ~{{{{|||}}€}}||~‚‚­ÐÑË©€‚‚’²ÑÒÄŽ‚€~}}}}~~€€€‚‚~xwvvvwy{zzyyyyyyyy}‚‚ Æ¿»ˆ„ˆ‰Šˆ~½¹¶ŒŠ‚ƒ€}}}}~€€€€€€~zzxwwwzzzyzz{z{{zz{‡“ƒ‚‚ƒƒ‚ƒ‹†‡‚ƒƒ„ƒ‚~}}}}€€€€}‚~zzz|||{||}|{{{z{}~~€‚€‚‚€€€€€‚…„‚€~}}}€€€€€}€ƒƒ~|{||}{{|||{{{zz|~}~€‚€€€€‚€’‰‚€~}}~€€€€€~‚€~|{{~{{{||||{z{}~~~€€€€€€€~„„ƒ‚€}}}}}~€€€€€~€}|~€|{{||{{zz}~~€‚‚€€€€€‚‚€„„ƒƒƒ‚~}}}}}€€€€€€€}|~~}{{||{z{{|}~€€‚‚‚€‚‚‚‚ƒ‚‚ƒ‚‚‚‚€~}}||}}€€€€€€€~}}}|zz{{zzzz{|}}~~~€‚‚‚‚‚‚‚‚‚{~ŽŒ‚‚~}}|}}~~€€€€}yyyxvutuvvvvuuwwz~~~€‚‚‚‚‚‚}|ˆˆ‚ƒ~~}}}}}~€€€‚€}vvvvvwvwxxxxxwwww}~~~~~€€‚‚‚‚‚€}}‚ƒƒ‚€€}}}}|}€€}yyy{|||}~}}}}}~}~}~~~}}~‚€~‚„ƒƒƒ}}}}}}€€€€ƒ…„~‚€€…‰†ƒ€~~~}}}€€€ƒ€}„ƒƒƒ‚€~}}}}~~€€€~€„„†…‚‚ƒƒ‚‚…‡‡…‚€~~~~~}~€€€€€‚€{{}ƒ‚‚~~~}}}}}€€€…‡‡„ƒƒ……‡‡†…‚„…„‚€€€~~~~~~€€€€€~zxz„“‰‚~}}}}}}~€€‚ƒ„„…………„‚€€~~~~~€€€~ywy}„‹‡‚€~}}}}}}}€€€ƒ†‚‚‚‚ƒ„ƒ‚‚€€~€€~~~~~~~€~zxxz‚ƒƒ‚}}}}}}}}€€ƒƒ…†ˆ‰‰ˆˆ„ƒ‚ƒƒ‚€~~€~~~~~~~~€~zxwxy€ƒ‚‚‚~}}}}}}}~€€ƒ‡ƒƒ‚‚‚ƒ‚‚„„€‚ƒ~~€€~~~~~~~~‚‚~zxxzzƒ‚‚‚€~}}}}{|}~€€„‚‚‚‚„‚„„€~}~~~~€€~~~}~~~~~€‚~|z{|{}ƒ‚‚‚~}}}{}}~€€€€€€€€€€€€€€€~€~~~~~}~~}€€~||~~~~€‚‚‚‚~}}}}}}~€€~~€~‡Œ’—›ž¢¤£¥¤¢˜ƒ~~~}}~~}~‚‚ƒ„ƒ‚‚‚‚„ƒ‚€~~~~~}~€€€€€€¦½ÄÊËÌËÆÊÉÈÈÈÇŸ}~~~}}~~~‡ˆ‰ˆ‡…………‚š~}}~}}~€€€€€€~†¶´©¡š—“Š‹ˆ†‡‡‡„€€~}}~~~ÑÑÑÑÑÑÑÑÑÑÑÐÏÏÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÎÎÎÏÎÏÏÏÏÏÏÍÈ¿²°£Ÿ”}vjlvmjjonqeidY^b^]d_W]b``WSQW\\`e`gUVYXVWVU[XRX_^]XUMC?:<:534?4ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÊÃÇÄËÎÏÎÎÏÎÎÏÏÏÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÎÎÎÍÍÎÎÎÏÏÏÉ·¤—u€xsc`aq~q^_mmg[[\^_[YVR_ga^UQPSZY_hjhQT]bZSQMSTZae^WQNKBA98854187ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÃÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎÍÎÎÎÎÏÏÏÎÄ©‰rnlpppstu|x`cbef\\]]]]UTW_e\[YVSTWUX\ieRQX]WNNOTS^cba[SIDB>96443201ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÉÍÍÍÍÌÌÌÍÍÍÌËËËËËËÌÌÌÌÍÎÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͹™ymqxxuhhc_hYbee[ZYVaZUZgfUSUXYUPMVRZiSQUXYROSQQ\c`aXUVNH?<86431..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÃÁÊÐÏÎÎÎÎÎÎÎÎÍÌÍÌÌÌËËËËËËÌÌÍÌÌËËÊËÌÍÍÍÍÌÎÁ”ƒ†tcm|ndhb``XjdZYTTO^b_arn]RQV]WMKVSRZT[\YVPQSV[_[Y[SQXQIA?@<641.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ½½ÉÑÐÏÏÏÏÎÎÎÎÏÏÏÏÏÏÏÍÍÍÍÌÌÍÎÎÍÍËÊËÌÌÌÍÌËÈƨŽ|yrkakrpcad`Y]bVR[UTS[gghjdhVRWZUQSWTTYSZ^aWTUT[\][XUTPQQJ@@?8662/1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɽÅÁÈÐÎÏÏÏÎÎÎÎÏÏÏÎÏÏÏÏÎÍÍÎËÍÎÐÏÎÍÊÈÊÌÌÎÐÌÈÅôŸ}|reWSb`Z^bc_d_XWSMPVZ_beh`\TPPQONTSTR`NUXZZY[Z^]]ZTQTPSMFEAD>641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ËÄÆÎÍÍÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÍÍÍÊÌÌÎËÇÄÅÃÇÇËÍÍÊþ»®’€|rWTSRPVYoqhdd_[NDBNZR\ca]WURNMLJNLRNYOSWXXX\][[^ZTPSOWQDEA><40///ÏÏÎÎÏÏÏÎÏÏÏÐÐÏÏÇ¿ÊÄÅÍÎÎÎÎÎÎÎÎÏÎÎÏÏÏÏÏÏÎÍËÉÉÈÉÂÀ¹Ã¿Ã¾ÅËÈž®¥‘€~waWZZZfiapjg`WVTRUVbUP\_UPWXTNJHPQTYXSQY[XVXYWRR\XSYSXWA66321//..ÏÎÓ×ÖÐÍÎÎÍËËËÌÍÇÀÊÄÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÆÄÄÁĽ»®ÁºÁ¹¿ÈÁ¾¸¥‡„~r‰~f_b[\hnYo_W_UQUU^\XPQTYSQSXWNLMTSS[g^OVYXWWW[VM\\Y]]OE=7541/....ÐÜêïïãÔÍÌÇÂÂÃÆÉÅÁÊÅÂÊÌÍÍÍÍÍÎÎÎÎÏÎÎÎÎÎÎÎÌÆüµ¼º´¤½µ¿··Ã¸»´–„}~pjeeddV[d]Wd\T]`RRTY^WVTPPONMPTYWRTQQSd[MZ]YROOZZRXYROKA9==:72/---.ÝîÒ¬·ãêÑÁ»¶µº½ÂÅÄÊÇÃÊÌÍÍÌÌÌËËÌÌÌËÌËÉÉÉÆÆÀµ­©¯²«¡­®·²³¹®­¤„wxvolUae\ZeZS\i`Y_XMQSU]abVROONQSOWWLPUPS^]Yb^VQMO[YTZQQZICB=;;9630/..îË}jo¡äÞ¸²¯°µ¶ÀÆÇÌÊÅËÎÍÍÎÍËÈËËÌËÌËÊÇÄÂÀ³£ ›¥§›£®­­¬ª¨šˆxnkelm]WXVacXW\]YaXSXVTVVbZSUQPSVTTUXTQYPSYaZaY[\X^aWUZXTRB?G<977763100âŒxyuË軯­°³µÀÄÇËÉÅËÎÎÎÎÍÈÂÉÌËËËÅû··¹¼¬ ™›ž™–§³«¬£›ž“yifeWhbTLHNXbZSSai`ao]_d_UYPQQPQTXTUTUZTYPQ`__g[caji`UQONLKA>A8855654/02É‚ŠƒzŒÄéÁ¬«±±³¼¼ÃÉÉÃÉÏÎÎÍËúÆÍÌÇĶ¨£Ÿž§§ž˜Š—–“¥®¬¡•’‡udei\]XQTRPYa`\in`RVcQXrp]RQLMNMJMNNONORZUX`WUYYah][XQJMIGGCIB8555554016»…‰„ŠÀéŦ©²²´¸¶¿ÊÇ»ÂËËÌÌËÁµÅÌÉÀµ¤›  —š—Œ†•–“—œ”Ž‹‹…vvrcZUY][QX]YT]i^SR^iha`]USNLLKKJHGHNMT_]X\WQ]ihhW]VNWTJJA@C;864434437=±„†‡Ž¾æØÄ¿´¯±°®¶Ä»¯´º»À½Ç¾³¿Ä»¯¤Ÿ™ž¢–—‘†ƒ†ƒ‹…€‰Š‡„…ƒ‚{yqbYWWW`[VXWSXgRPQ^heTSZXTONMKKHFKIKSV]bTZRQmsehac_U`[WTG==;:7533365;?¯®…¾æìíæÅ¿­¥¤ªª¡¡£¤¥§«¼µ©§ªžœ™œ¢”–ˆ„…ƒ‚†ƒ|ƒŠ‰†~€}wtpjdXTZg\SVVW_\PZ\^_ZTSSTTNLOPMNQQHELPVaSSO_cca[fj^RV^YIUG==<:55658988;<::::;>>>=äìëåææçæêëëéåâÝÕÎÉ¿¶«¦DXs€‹“„K=20477Qeegh]BgŠ„…ƒyuxxvuuh_a]QPZY[_UU`dhc`W]bbUXOLNTNID>BOUU`oˆ˜ŸŸŸžžžœœœžžœ–•ŒxX<99989;?@@?ݼÎîìììíììëåÚËÅý¸ª¨ŽdGq¨¬±µ¯™mX]]RQJ:6:AUMƒƒ€xuxzyurlh_WPLXY\UVY`^ZLZ`\]Z[`YMMTPNKMONQVƒ‰„~wrnlkhgedegijjotviS89999;AEEE³t†èçèèèåäÖÆ»¤ ¥¢ ”“Ž‡‡U^T¡¨¢š–­²„™‹VZRF:64\Zi…„||rpxz|tjcdVRTHBMWVX[\QMLVY]]V[d`TNNKLQPOMIYSTTVWXYIEDDCCCEPVVWWXN\?89:<B=JROPQPPQHaw`:DœXzƒzwvruorwrkh`SWYWZ[b]WHHTZ`Z\[YXY^WQIEDB@AB@?}i}¬´³¯®«‹M=7BLPVXKB>=>idC78;<=CJMKŒžÁ¿¹±ÄÉÈÆÃÃÅÆÈËÊ­€|{ƒ^F55f`GPNNMOQQJXzb>:S‡mh‚}xvvvlnunjhbS]l^WTZ]ZRRW[^c`[Y^\XQKFBA@@=:8B‘c^gtaVLIUUH=HMQVO;9:;;GkG88<=BIHEOÇv£¤ž£ƒh_YWURRUZfƒzy`…>:;;DQPKPz‚F60[‰_‚yxzwnlpkiee_fqe[OR\]WTU[Za[Y]f]QKFCAACCA?=_–ZKG=467?TTOJKOOOE;<<;;@gP=<=@FKKEY°h‹‰‘šHDESebSWMIHJŽ~xzj~@HFo‹–\G<87;A>>\žD64D”`|‚}||skkknhb]\Y^[PQXXQPV]\[[\__UTPGCAGKE?AF…ˆV@F<7<>;NK;8>LOG@BCC=9>_\B>=@FLQYbXb†ˆœ‡UM?KqoiW@CEE>78SaB=DQPJYbkH\¾Õ°eSPMAIIIHC?=@Ae¦`mjTbQiVLLRXZUQOQZw‰dD><;{Tbf?@AA=96J\D?W^VVljiG^ÇéÄ‚ˆ“˜›ž¢££…84>^M?==?7>A@CIJGED>>=FWOMH9:<=C;::Gmdde``jdXOW\^]YUNPYW]dcc\RRWUMG@>FRYfrx‘NRYMFDXnOCHC6336AGJJKJF:CV@Nj`T^uoiJ_…­ÆÓÑÒÔÖ×ØØØØÙÖ‹Z@0IT=;:;8:97666789:988::=:9=H93BRnm_\abbaa^UY[[WTPQPUZ\WZ]XPSYUR[^]omT_fr}IXˆR>==EBFJJUa`baQBCBA@<FLLKLOYabcaSIIEBBRan‰qLUhrpni\ax–³º¾ÆÉÊÈÄÄÄÃÄÆƾ¾›IH9::878777787788897Z•¡¥¨««­ª©ª©©ªª««ª¦š}pos{‹“ˆŠ”•“‹Š“®˜~~z||sgq¥ƒnz{unfVTdkkjnljjjjkmmhX[ijo‚…belsskirppqrtsu{{{z||}~|Ÿ‘VOI7574556557:;6775R£“‹†„€zwvsqqqstuxz…Ž}z{zwxyxxyzz}…Ž˜§´³«Œ~unlv«–qehb]\[Zqneb_^^^^^_bhoe\[[_c\OYjwsvwsqonnprsuwwvuuuuy|~za‰£™K14555556==7668Š‰ahihfhjmx–{xtmkkiheq~stvvwwvvvtuttsrsy‚Žžª°°©z–kYX\YXXY^\YWWWWWWWWXZZYXYYYXWPL]`frywspmklmnorsssrrpqsxw]g ®»J/13333674760R¢lnƒ†„„‡ˆv…zi†Ž‰Š‰„„|vsnhjlnpsuvvwvutrqpppqsv~‹žvzcVTWXXXYXWXWWYYXYYYXXZZZZXYVTUOTVZWY{xtpmkllmnoqrrqqpposJP›Ç·Ó¸gZGLNNAV†AFS€…b³ºÁÈÉѧVC=C|ÑÓÎÉÈÆ£v[peeefghloruvxxvsrppnoqqnnf{qbbaYYYZ\\\ZY[[[[\]]ZZ\\Z_mcv^OUXXWUzzyupnlkjjknopqpqqj]?7vÑÐñôÇŽ`_f“t„Æ^iv’feåàààßäšYdePsÝßÛÖÚâ»l`ajfffeddehknqtuwwvvspnnqo^njY¹–·tQUVb]Z\_g\\YaeNOP¤×µ¾ÈlPTWXXXxyyyvqmjihhilnnoopgI;1=‘œ®ÐÇ«sdid^Áõ^t\f†ÜÖÙÜÞÞzJZcQiÕååãàà¬PqWkjhfdccbbcdehnrtvwxxuqokQZaMÓÛÕôÔeDAl—KAo’m>M¡g9GŒìäáæÌ`SRVWWWwxxxxwrmjhfgijkmmogA50.16?SPsc\moq»çlŠ‹ZfM_^fnrmCGq™\]œ±¡‘}lW>pYfmmkiedbbabbbdjorsvwwwwpKJUNcËÈÒÖîÇS@Gµ‡@¬Ý®=ˆ´PBgéäɼ­‡ORPVVVVrtvwxwvsojfffghikma602469>>=>TkjgccceggfgA,>@@Ssj`eiP<:9=EGHIKLMHFZkle]WIBDZhwÇ«ÄÑ ]^ehhjlmnoonogY49533?DE=6204840021000/.13129]ƒ}y³éàÁu^aaa^|w><>AABDEFBAhU==>>;7788887=?KimmkgeccegC)948126;<=ABB@@@?>;;975220.--,;I>\mjjgRŒ½ÊÈu[behjllmnnmkdTD>>>B@@@@?>@BC@Tyh]ÆäÖê¾ilnoo˜\>;>BBB@?@>F“j;AC>95676766;C@^mlmkiebceC(77]J.()0*&$%$$$#$$%'(-1:IL+%7WX@ZlkkkZw®Âϱe^dfiklmnnnlib^[Y[\[ZZYZ[\_aZRbUGžÖ¬èÞusyzƒ™E@:58:978===JZGIZA444666647A?Pkllkkkga\>(749=A<;B@<964445677;BIR[_d8&*3<34E{g;552112449CEKU[ZXK54A@JhY?CB[g_O;1./024455531//.012330138>@BDFFDHbmhdag[RM`§Á̽l\`cehiklmnnmmmkhda__^^`abLAGGMV^ebrDw“@@<;:C}ƒ}K>;200124?HLPY`]]S;4>AC^R454Dfc^YSONPSWZ\aa][WTTUVWWWUTTV[ahjkmmnppqoklbSNKr·ÂϬb_cegijklmnmmmmjheb__^_`bJ?GEJS]R=<4:?=C>551=efdba``a`__`cfggea^^][\^^^[Z[\bgjklmprrrsnqfRMO‡¼ÄÒ˜\ceghikklmnnnmkjhda_^^_aG=GFGNS?=TLM[K<47?Wgfgfeeeedc``_bfikkhc`^]^^`_^\[]`ehlmnoqrqlox_POW›ÁËÍ]dfgikklmnnnmlljgda_^^`C;GGHKOA7]>@A?8;G>8877777;@B?;;;:777678:AAAAA@@?AA>`EFiggggfggggghhigfcbaadgkljiea`_^_``]\\^aeilmooronoeTVj†¼ÊÓ·jadehjkllmnonmmlieb_^_@6DF[ÁÓ–Se°Å~b~P@CGJMPRUXY\bffefedefhijijhfo`ƒxAgkcfffffggghhhihfebaacgjlmkheca``aa^\\\^bfjlloppoj[PRSÄÇÓ¨a`bdfgijklmmmmlkiea^_?5@GM¢Ý¹[YŽ¹ac“€X_rtvusrrqnljiiiihgfgffgijlqet‡of´‘cfffgfffghhiihgeca`afjmmljgebaaba_][[\_cgjrsrqogUNMX¤ÆÍÓ\adefhjjjlllmmljgca`?/:BGUv€hVc`mŠ~jgja^[YWVUTSQOOOONONNNNOOQUVUZ`sr›fbcdgfeefghihgggeca_acimnnliedbb`_\[\[[]`drsstuwkUPKo¾ÊÒÈp_ceghiijkkklmlkifb_>-7;ABBGV_Osoqo^TOQMKIGFEDEDCABAAABBBAABCCFEEFGQmdbehecdddddegggffgffda__bhkmmkhfdb_][[[[[[\]qommlnj]RNO™ÇËÖ¦]adghhhijjkllkkjh_S9.43530/7UZn~iPEEDCCA?>==<<<<;;;;;;;;;;;<=???>?CYpfdŒvcdcccddeffeffffedb_^bfklkigda^\[ZZZ[[[[ohegicc`UOKh¹ÆÐÎy\chhfghiijkkkjhdZL5,33<278>Je—r^B?>====<::9899888889898889:;<:::=Wgeoquecbbbceeeeefgggedb`_`bikjjgb_[[\[[Z[[nmhirqsjUNNMX§ÅËÔ—bacffghijjjjjige]D/+,,,&&&F]cV]x€hgqdKBCEEFGHGW€UIHIHGFKK\£ÌæÚ°¸×¢4Qhf²äã¯habbddeffffggggfdc`^_dikllid^[\]]\\\krljqptsg\PNLt¸ÅÑÌv\cfffghijjkjiheaW?2476564DPRE£Üµ³ÐéáÌ‹IMRY^`oxŠw|€mba_PCvîîͽÕäõŒ3Ohdz¼Á¼z^abceeffgghhghhhfcb``bgjmkid^]]^^]\txonqrqppr\MLQ’ÄÇÖ³bbffgghijjkjjigd^VRSRQRRQGH?8ðáÙ»¼Û÷¦L?KNMK†š˜”˜c6975:6;MiggffffcvÊãÞ¢adeeefffgggfggggfeb^]`eiknnli{‚tlmkjlmnleQKMMN’ÀÃÖ¬\^begfhhijjjjjjiifda]DC9E@8>CJRazšÊÀT²ùóóòðòóòòðô£ZÆ°^J?6/..0Jihggfffeckrmkcceeeefffggfffffhfea_^`dimooluxtwwonjnpommeZNMJb¶ÁÊÒ~Yaefggghiiijjjihgfc_<;=922115@HVl—º[u«¨§¥«¥š‹~uoIYwKE738Vb;-3Ihhggfffeeeaa`mkdeeeeefggffffffffdb`^`eimnnqwttsmpkknnmptjSKKO•ÄÇÖ¶cbfghhhhiiijjjihhgfb;6>931Pja:8=H;\[14448B?876787bK>N:1bäÔ[,7Ighgffgedefednzeeeeeedffeeeeeeeeeca^\_dilnnuoommokillnnnjTKKMg»ÇÐÖŠ_efgihhhiiijjihhggdAF=:40ŸãÜI6;70Ii{<42?wHk‘xx~Žª…}ƒxw}WSk9331-.23=Jghgfffeeefedcbbbefadeddeeeeefffeeeedb_\_ehlnorponrutoilmhWNLMLc¹ÈÌÕŒaffghhihhhhiiihhig=6=<;2200775;PAFHNPncfTRSfG@BHGN;44432336Gfhfeffeeeeddccf¦ÁÀ—ceddeeeefgffeeeeecb^]`emloosvuqunlmlmqfPKMMMÉÊÕÀkefhhhihhhhiiiiihb<%<9324444349KHKQSV]]tnWTRKEDA?>+"&''&)Aehhknqtttu|}}{xskf^[`babbbddccccccddddba_\lklidabkkt}wuwrkqfQLNS^°ÉÉتgghijiihfghhghdZB%8/)'%)569;;;:99::;;::9:;;;;:::82$"2BQd}— ¦«¯°³²´¶µµµ´´´³­¤•facccddccccbccdddcba`rnkontprksuuvwm_SKLMM|ÅÆÐÒ…cgghhhgfffggfe[A*70.+(')')))())''''&%%&&'&&&&'&&%6W ®²´²°«¨¥¡ Ÿ›™˜———™šž£©¨}abbcedcbccbbbcdcccbb„}€~xx{ylhpyxy}te^SKKMMT¡ÈÇ×»gcdefeeffefeca[J23-/1.'##! ! !!!!!!!!!""""##$#$#?²¯¥ž˜“ŽŠ†‚yvvsrnllkjjkknrx~„kacdedccdcbcbcdccccc†}vytslnuplkqjacbULKK^f¼ÄÌ×_cddeffeeddb`\UF3,...,*+++****+-,,-/00123336687‚©Œˆ}vojecca`^]^][[ZZ[\[[[[]^_fmccceeeddccdcccbbcddƒzz€{spsdciq{skmfYMLLW^Z›ÄÄ×Àiadddefeddcba]WSJAA??ABCDCBBBCCCDDCEFFHHFEFIHEM’}ec_^]ZZZZZZYXa˜YSRRTSRRRQSTRMUffhfeefeddedccbbcdd…††‡‡‡‡‡‡††‡‡‡††††‡‡‡‡‡‡‡‡‡‡†„‚|vttttvxxxxxy{{zvuwzz{{zyz{~€€€€‡†††††††††††††………††††††††††††„|xuttvuvxxxwvy{zzwuvvxyyxwx{}€€€………†………††…††………………†…†…††………††„‚|vuvvvwyzxxwz{zyxvvuwyywwxy|~€€€…………………††††……………………………†………………„‚{yywwy{{xwwyz{zywvvxxxxyyy}~€€€†…„„………†††…††………………†…„„„ƒ„„„„‚€|zxwxz|{xxyzz{zyvvxwxxyzyz~€€€…‚ƒƒ„„„…………†……„……………„‚ƒƒ‚‚‚}~|yxwxyzyyz||zzxywvxyzyyxz|€€ƒ„…ƒƒƒ„…†……………„††††„‚€€€}}}}{yxwwwwxy{{{{zyxwwwwxxyyz|~€‚„…‚‚ƒ…………………„……ƒ‚‚~~€€}}||||{yxwwvuwz||{z{yxxwwuuwyyz}~€€ƒ‚€‚ƒ„„†‡…„„‚zz||{|}~~}||z{|z{yxwxxxxy|||{{zwxwwuuvwx{~€€~€~„…†ƒ‚~}{{zzz{z{{yyxy{yzzyxxxyzz{}|||{zyxxvvvvv{~}~~€~€€€€€‡Š‹ŠŠŒ‹Œ‹‰~zxyyxwwy{z{{ywwwxxz{|}}~|zxwywwvvvz~}~~€€€€€€‚Šˆ‡‡†ˆ‰ŠŠŽ†yvwvvvvy{zzzyvtvwyz{}~||}€‚„„„ƒƒ‚€€~~~}~~~~~~~~‚…‚‚ƒ„…†††‰‡ytuvuvvy{{zzxzzyyyz{~~}‚‡ˆ‰ŠŒŒŒ‹ŠŠ†€~}|„~~~~~~~}|}„ˆ†„††††‚ˆ†{sttuuvyyzyzz{{yyzz|~~„ƒƒƒ†‰ŠŠ‹Š‹ˆ€}|…~~‚ƒƒƒƒ}…ˆ†„‡ˆˆ‡ƒ‡‡~ttttuvxwxyyzzzyyz|~~ƒ†‡‡‡ˆˆˆ‰Š‹ˆ~~|z‚~…‡ˆ‡ˆˆ‚†‡†…‡ˆˆ‡ƒ€ˆ‰vwvutuwxxyyyzyxxy|~€€„ˆ‹‰†‰Š‰ˆ‰ŠŒŠ‚}{wr‚~‚„†…„…†…ƒ‡‡‡‡‡‡‡††ƒ‡‹ˆ{xxvvxxxyyzyxxz{{|}…‰Šˆ‡Š‹Š‰ŠŠ‰Šƒ|{ql‚‚ƒ‚‚ƒ…ˆŽŒŒŒ‹Š‹‹ŠŒ‰ƒ€€|yz{{{{zyywtplz…ˆ‰‡‡‡‡††‡ˆ‡ˆ‡vlk„„…„ƒƒ„…„…ŠŒŠ‹Š‰‰‰‹‹’““’‘“”“…‚‚‚‚}|xuszƒ†ˆ‡‡‰‹‰ˆ‰ŠŠˆˆ‰nkj‡†††ˆˆˆˆ‡ˆˆ‚‡‡‡‡†‡‰ŒŒ‹‹Š‹Š‹ŠŒ‹„ƒƒ„ƒ„„„ƒƒ„ƒƒ„ƒ~{y{|ywwyzy{|~|v‰ˆˆˆˆˆˆˆˆˆ‡€ƒƒƒ„…†ŠŠ€zy~ˆˆ||€ˆ‡„„„ƒƒ‚ƒ‚‚„„ƒ„ƒ~{utusssuuvy{ƒ…‡‰‰‰ˆˆ‡ˆˆˆ‡„ƒƒƒ‚ƒ‚„‰Š„‚ˆˆ~~†‰…„‚‚ƒƒ‚‚‚€~~~€|„†‰‰‰‰ˆ†‡ˆˆ†„„†…†ƒƒ‚ƒˆ‰ˆ‰ˆ‰ˆ‰‰‡††ˆ‰…ƒ‚‚ƒƒ‚€€‚}vwy{{{~}{}{vuy‚ƒ‰‰‰‰‰ˆ‡†‡†ƒƒ„„ƒ€€ƒ‰‡†‡ˆˆˆ‹Œ†‚†ˆ‰†…ƒ‚ƒƒ‚~sqstvz}~zvurprz€ˆŠŠ‰‰‰‰†††ƒ‚‚~€„Œ‰‡‡‡ˆ‡‰‰„‚…†‰ˆ‡…„‚‚‚~trsv}ƒ€}xrrsz~„ˆ‰‰‰‰Š‰†…‚‚‚‚‚…””““’Ž‹ŒŒŒŒ‹‰‡„„ƒ‚wuuy€„€€€}xuw{€†‡ˆˆ‰‹Œˆ…‚‚‚‚‚‚‚‡“•”“““‘’’’””““““’‘Š…„‚‚‚‚}|}~~€~~|~€‚€}€„‡ˆ‰Š‹‹‡„„‚ƒƒ‚‰Š…‰ŽŽŽŒ‹‹‹ˆˆ…ƒ‚‚€€€~€‚†„||†ˆ‰ŠŠŠ‰‚„ƒƒƒƒƒˆ…}€‰‹Œ‹‹ŠŠ‹‹Š‰ŠŒŒŒŒŠˆ‰ˆ†„ƒ‚‚‚€€‚ˆ‡}}~ƒ‡ˆ‰ŠŠŠ†……„„„„„…„€…ˆ‰‰ŠŠ‰‹ŒŠˆŠ‹‹ŒŒŠˆˆˆ‰ˆ†‚€‚†‡‡††††‡†…„‚†‡|~}}ƒˆˆŠ‹‹ŠŠˆ†…………„…„‚„†ˆˆŠ‡„‰‹‰‰ˆˆˆˆ‰Š‰ˆˆˆ‡ˆƒƒƒ‚ƒƒ„„ƒƒƒƒ€‚ƒ…u}}†‰‰‰Š‹‹Šˆ‡††…ƒ„…ƒƒ…ˆ‰‰†ƒ‡‰Š‰‡‡††‡‰ˆˆ†„‡‡…ƒ‚‚‚€€€€€oz€~‚‡‰‰ŠŠ‹‹Š‰††…ƒƒ„ƒƒ…ˆˆ‰‰‰‰‰Š‰‰‹‹‰‰‰ˆ‰††ˆˆ‡††„ƒ‚€€‚‚€€€gm{}{~ƒ‡‰‰Š‹‹‹Šˆ…„ƒƒ‚‚ƒ‡‹ŒŒ““““’‘Žˆˆ‰‰ˆˆˆˆ†„‚‚‚‚‚‚ihq{}~…‡‰Š‰ŠŠ‹Š†„‚‚‚‚‡‘“—————––—–—˜˜˜–Ž…ˆˆˆˆˆˆˆˆ…ƒ‚ƒ„„ƒkjjw€~}‚‡ŠŠ‰ŠŠ‹Š‰‡‚‚‚‡‘““”“‘‘’‘ˆ‡ˆˆˆˆˆ‰‰ˆ†ƒ‚‚ƒ…†…mlls€}~…‰Š‰ŠŠŠŠ‹ˆ‚„…‚ˆŽŒ‹‰‰‰ˆ‡‡‡‡‡ˆ‰Š‡‰‰ˆ†‡ˆˆˆˆ‰ˆ‡†ƒƒ…‡‡nlinz€~|€‡ŠŠŠŠŠŠŠ‰ƒ‚‚‚‡†„„†„„ƒƒƒƒ‚‚…‰ˆƒƒ‡ˆ…ƒ‡‰ˆ‰‰ˆ‡ˆˆ…‚€€ƒ…‡‡kkhhky€}~ƒ‰Š‹Š‹ŠŠ‰…ƒƒ‚‚ƒ„†ƒ‚‚‚€€„‰‰„…ˆ‡†‡ˆˆ‰‰ˆˆˆˆ‡†ƒƒ††kkhfes€~}~…Š‹ŠŠ‹‹Š‰‡…„‚‚‚†ˆ…‚‚ƒ€‚‚‚ƒ‡ˆˆˆ‡‡ˆˆˆ‰ˆˆˆ‰‡ƒ‚€„„kiffek{€~}‡‰ŠŠ‹‹Š‹‹‰…‚‚„ƒ‚‚€€€€‚‚‚‚ˆ‰‰ˆ…‚†‡ˆˆˆˆˆˆˆ†ƒ‚‚ggfgfhp~€~~ƒ‰ŠŠŠŠ‹‹‹‹‡ƒ€‚‚‚€€€€€€€€€€€‚‚ˆ‰‰ˆ‡††‡ˆˆˆˆˆˆˆˆ†ƒ€€hhgfgghv~ˆŠŠŠŠ‹‹ŒŒ‰„‚‚‚‚€€€€€‚‡‰‰ˆˆ‡‡‡ˆ‰ˆ‰‰ˆ‰ˆˆ‡ƒ€€ihgefghr~…Š‹ŠŠ‹‹‹‹Š…€€‚€€‚‚ƒ‡ŠŠˆˆˆˆ‡…†ˆ‰ˆˆ‰ˆˆ‰‰„‚ihgegiho}€~€‡Œ‹ŠŠ‹‹ŒŒ†€‚‚‚‚„ƒƒ‚ƒƒ‡Š‰ˆ‰‰ˆ‡ƒƒ‡‰‰ˆ‰‰‰ˆŠˆ„jjihiihju~‚Š‹ŠŠŠ‹ˆ€‚ƒ„……†…ƒ„„„„‡†…ƒ…†‰Š‰Š‹‹‰‰‰ˆ‰‰‰ˆ‰‰‰‰‰‰‡lkijljhio}‚€†ŠŠŠŠ‹‹Šˆ€‚ƒ……†…„„„…„„„„‡Š‹‹ŒŒ‹‹Š‰ŠŠŠ‹‰‰‰‰‰‰‰‰‰Š‰llmnonlns|€}}~‚‰Š‰‰Š‰‰‡ƒ‚‚‚‚„‰ˆ†„ƒ‚€€~€ƒ‡ˆ‰‰‰‰‰‰‰‰{{zz{{{zzzzz{{zzzzzyyzzzzzzz|ƒ†…ƒ…††‡ˆ‡††‡ˆˆ‡‡‡††‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyzz‚‚ƒ„„ƒ„…†ˆ†……†ˆˆ‡††…„…††††††…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{{zzzz‚‚‚……ƒ„……††…†‡‡‡†…„„„……†‡‡††…„‚‚zzyyyyyzzzzyyyyyyyyzzzz|||{z|€‚……„„……………†ˆ‡…„ƒƒƒ„……‡‡‡‡†„ƒ‚‚€€y||zzzzzzzzzyyyyyyyz{{}~||||€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡†……ƒ‚‚{~||}{yyzzzzzzz{{{}}~}~ƒ‚ƒ…„„„……‡††‡‡†………„„…††‡‡†……ƒ‚‚€‚€€|{zzzz||{{||}€€€€€‚„…ƒ„„†…„„„…††††……†………„…††‡‡‡…„‚‚‚„€~}|{zyz}}|€ƒƒ‚€‚ƒ………†………………„„…†‡…………„……†††‡‡†„„‚‚€ƒ‚€€€€~|z{~€ƒ……†„„ƒƒ„ƒ„…‡†††………………„…††††„„„„„…††‡‡†……„‚‚‚ƒ‚ƒ‚€€€~~€€„………„„„„…„…‡‡††††…………………„„……„ƒ„„„†††ˆ††„ƒƒ‚‚‚‚ƒ‚ƒ€€€‚‚€~~~~~~~‚„…„„†‡‡‡††…………………†…†…ƒƒ……„†……‡‡†ƒ‚ƒ‚‚‚‚ƒ‚€€‚‚ƒƒ~}}}€~|}}„†‡‡†ˆˆ‡††……„…………‡…†……„……†ˆŠŠŒŒ‰ˆ†„‚‚‚ƒ‚„……„…}}{yz{xz}}}…‡ˆˆ‡ˆ‰††…„……„…‡‡ˆ†††…„„‹žž››››ššš‚€ƒ…}€‚‚ƒ„……††€{}~zxyw|€|}„ˆ‡‡‡ˆ‰‡†…„„……†ˆˆ‰‡‡…„„†‡~|{{{z{|ƒ†€ƒ…~€€€‚……~{„zxww~‚~~‚†‡‡‡ˆˆ‡†„ƒ„„…‡ˆˆˆ‡……‚ƒ†„|}~|zzzzzy}‰€€„…ƒ„„~zxz|~„„}{~zyz{…~}€†‡ˆˆ‡‡†……„„ƒ…‡‡ˆ‡†„‡‹†‡‚{~€|{z{{zz{Š‹…ƒ‚„ƒ€}~~‚ƒ}}~}|~~ƒ}~ƒ„†‰‡‡†…††„„…‡‡ˆˆ†„’´¦€z}zz{||{zx‰¦¸ƒ‚€€€€{||}||}}~~|}€‚„„„……„…„„…‰ˆ††ƒ~ŸŸ”Œ…‡ˆ†‹ŒŒŒŒ“—“ƒ€€€€€~~~}€€}}}}~}}}zxxz{yyxxz‚€‚„…„„†ƒ€ƒ¡¬²¯§«±³²¯ª²·¯¨„€}€€€~~~~ˆ‰~~€~||||{~}}|{€€‚‚ˆ³ÊÍÎËÌÏÑÑÏÌÒÐ̺‹€{}€}~~€‚…‚‚ƒ~||}~}{||~~€€€‘˜Ÿ±ÀÇÈÉÇÅÄÀ¹«™“”z{}~~€~}~€ƒƒ‚…‚~||~~}zxy€~}~€€€€~¦‚}‚‡†ˆ‰‰‡„~}ƒ¡£~||{{}€€~€€€€ƒ‚}||}~}zwy~€~||~€€€€€€~ŸÊ¬¬¢‡†…”°­­Äά~~}||}~€€€€€€……„||||||{{|€„~||~€‚‚~šÍÑÐÊĺŸŽ“¬ÁÉÐÒÏ©€}}}}~€€ƒƒ†‡…€||{|}}|}}„€~}~~€‚‚‚~–ÊÐϽˆƒ„„‚”ªËÒΩ‚‚€~}}}}~€€‚‚yxwwwxy||{|{{{zz{{~‚‚ŽÅÉË¢€€†ˆ‰ˆ‚„¸ÅÇ¢ˆƒƒ€}}}}~€€€€€€ywwwwwwzyyyxyyyzyyy~€„˜›‰‚‚‚ƒƒ„ƒ€‘‘‡‚ƒ„ƒ‚~}}}}€€€€}}yxy{||{{{|}||{{{}~~€‚‚€‚€€€€€€†„‚€~}}~€€€€~ƒƒ}{z{||{{|}||{{zz|}}~€‚‚€€€€€€€€€‚’‰‚€~}}~€€€€€~~‚„~|{|}~{{{{|{|{z{|~~~€€~€€€~„„ƒƒ€}}}}~~€€€€~€€~||€‚}{{{|||{z{}}~€‚‚€€€€€€€‚‚„„ƒƒƒ‚~}}||~€€€€€€~|~€€|{|||zzzz{~}€‚‚‚€€‚‚ƒƒ‚ƒ‚‚‚‚€~}}||}}€€€€€€€}|}}|{{|||{{|}}~€€‚‚‚‚‚‚‚‚{~ŽŒ‚‚~}}|}}~~€€€€€~||{zyxwxxxxxwwyz{€~~~‚‚‚‚‚‚}|‡‡‚ƒ~~~}}}}~€€‚€~yxwwutttvvvvvuvwv{€~~~~}~€€‚‚‚‚€}}‚ƒƒƒ€€~}}}|}€€~xvvwyzyz{{{{{{yzzz~~~}}~‚€€~‚„ƒƒƒ~}}}}}€€€€~}}~}}}~€~ƒ„€€~~}}~€€€ƒ€}„ƒƒƒ‚€~~}}}}~~€€€~‚ƒ‡ˆ‚€€ƒ‚ƒˆ‡„ƒ€~~~~~}~€€€€‚€{z}ƒ‚‚~~~}}}}~€€„‡†…ƒ‚‚ƒƒ…ƒƒ‚‚…ˆ‡„€€€~~~~~~~€€€€€~zxz„“‰‚~}}}}}}~€€ƒ„„ƒƒ…†‡‰ˆˆ…€‚€~~~~~~€€€~ywy}„Š†ƒ€~}}}}}}}€€€‚„‚‚‚€~€€~~~~~~~€~zwxz‚ƒƒ‚}}}}}}|}€€‚…†…†‡‡ˆ…ƒƒ‚‚‚~~€€~~~~~~~€~zywxy€ƒ‚‚‚~}}}}}}}~€€„ƒƒ„„„††…„ƒ„‚ƒƒ€~€€~~~~~~~~‚‚~zyxzzƒ‚‚‚€~}}}}{|}}€†…‚ƒ‚‚ƒ„‚…‚€‚‚€}~~~€€~~~}~~~~~€‚~|z{|{}ƒƒ‚‚~}}}{|}}€€€€‚‚ƒ‚€€}}~}}~€€~~~}~~}€€~||~~~€‚‚‚‚~}}}}}}}€€~~€~~€€€€€€‚~~~}}~~}~‚ƒ„ƒ‚‚‚‚…„‚€~~~~~}}€€€€€€~€€ˆ”› ¤¨¬­®®¬¥”~~~}}~~‡ˆ‰ˆ‡…………‚›~~}}~}}€€}˜ºÃÉÌÌÌÃÆÇÆÆÆÇ»‡€~}}~~~ÏÏÏÏÐÑÐÏÑÑÑÐÏÏÏÊÄÇÄÌÏÏÐÐÐÐÎÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÎÎÎÏÎÏÏÏÏÏÏÍÈ¿´®¦£–ƒ|uloxlgipqrehdY^b^]d_X]a_aXRPX\[^d`fUVXVUWVU[XQV\]]YVMC>:<:534?4ÏÏÏÏÏÐÏÏÐÐÐÏÏÏÏÊÃÇÄÊÎÏÎÎÏÎÍÎÎÏÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÎÎÎÍÍÎÎÎÏÏÏÉ·¡©™z‚zwc`cqzp``nkg[Z\^_ZYVQ_f`^TPPRZY^hhiQT]aZTRNTTY`d^WQNLB@98854177ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÃÆÂÈÌÍÍÎÎÎÍÎÎÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÎÎÎÎÏÏÏΤŠqpnrllnou€z`bdgg\\]]]\TTV^e]\XTRTWVX]jdRRY^WNNNSS]ca`ZRHDB>953332/1ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÃÇÃÉÍÌÍÍÌÌÌÍÍÌÌËËËËËËËÌÌÌÍÎÎÎÎÍÎÎÎÎÏÏÎÎÎÎÌ·™zkou{w€kif^i[`ed[[YW`YTYdeUTVXXUQNVR[iTPUXYROSRQ[c`bYUUMH?;86331..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÅÂÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËËÌÌÌÌËËÊÉÊÌÍÍÍÍÍÎÀ”ƒ„~wfm}odib_bVie[YUTP^a]`rnZQQV]WMJUSS\TZ[XVOPSTY_[Y[SQYQIA?@<540.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʽ¾¾ÊÑÐÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÍÌÍËÉËÌÌÌÍÌËÈƦŽ}zvjanspcacaZ\bVR[UTR[gghjehVRW[VPRVTTYT[^aVSTSZ]]ZYVSPRPJ@??9652/1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɼ¿ÈÐÏÏÏÏÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÎËÍÎÐÏÍÍÉÇÊÌÌÎÐÌÈÆôž|yqhZWec\_ba]d_WVTNQVZ`bfia]TPQRPNUTTR`OUX[ZXZX][\ZURTPQMGD@B<641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ËÄÇÏÎÍÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÍÊÌËÍËÇÃÄÂÆÇÊÍÎËÿ½®”‚sVSRSPUWlpgcc^[MDBOYS]cb^WTQMMLJNLRN[OSWWYX\]]]^YTPSOWODGB@>41///ÏÏÎÎÎÏÏÎÏÏÏÐÐÏÏÇ¿ÊÃÅÎÎÍÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÎÍËÉÈÇÉÂÀ¸Ã¿Â¾ÅËÈž¯¢¨’~{t_WYXXffdqkh`XWSQSTbUP\^VPVWSMJHOQSXWRQY[WUYZWRS\WQWQXWA78321//..ÏÎÒÕÕÐÍÎÍÌËËËÌÍÇ¿ÊÄÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÅÄÄÁľ»®Á»Á¹¿ÈÀ¾¸¦ˆ‡rŠe]`\]hoYo_X_TQUU_\YQPTYSQTXWNKMTTS\f]PVZWWWX[TM\\Y^]PF<6541/.-..ÎÚèîíâÒÍÌÆÂÂÃÆÉÅÀÊÄÁËÍÍÍÍÍÍÎÎÎÎÏÎÎÏÎÎÎÎÌÅľ¶½º´¤½µ¿··Ã·»µ˜…}~pkhfdeUZe`Xf[T]_QSTY^VTTPPPNMPTYVRTQQTe\MX[YSPPZZPYZSPLB9=<962/---.ÚîßÅÑìçÏ»µµ¹½ÂÄÃÊÆÂÊÌÌÍÌÌÌËËÌÌÌËÌËÉÉÉÇÆÁ·¯ª¯²«¡­®·²³¹®®¥…yzxojVbe]YeZSZh`X`ZMQSU^`bVRONMPSNUWLPUPR^]Yb_VPLMZYTYQPYJB@=;;972....ìׇlx´ëÛ¸²¯°µ¶ÀÆÇËÉÅËÍÍÍÎÍËÈËËÌËËËÉÇÄÂÀµ¤¡¦¨›¢­®­¬«©š‰xnmhkn]Z[WbcXW^_Z`WRUTSVWb\SUQPRUTSUWSQXPSYaZaYY[U\`WTZWTSB@H<877752000æ•uvsŽÒ繯­¯³µÀÅÇËÉÅÊÎÎÎÎÍÈÂÉÌËËÌǽ·¸¹¼® ™‘œŸš–¦²«¬¥ž –~mhfWgbUMHNYbYSQ]gban__a]UZQQQPQTXTVTUZTYOP_`_g[c`iiaURPPMLAÄÅÈ»¹¿ÊÝëëëëëìêéèèæäÜÔÑͧlc^ZUZdœx^_^\\ZZ[X^‚Œ‡ˆ„{xz|vwqa[]_WWVVW]ZSO\qzma_eSWPMUUNLLHDNVTRTPMY`bbYQX\_`Y]ZVWF856;<::::;>>>=ÓìêääåæåêëëéæãÝÖÐËŸ®¨›gFWbltyZKL@8::Ekrnk`GY‡…€„‚xuxxuuth^a]QPZX[`TT^cigbU\cbTWOLNTNJD>ANTVZW_ly†‰ŠŠŒ‘’”“’“’xk^QB99989;?@??¿Ð½ëíììíììëæÜÎÇÄ¿¹¬ªŽ…KSˆ™ ¦©‰fP:;BEHMIFJORFp…ƒ€wuwzyurlh_WPLYZ[UVY`_\MY`]\[Z`XMMTPLIKONRUW„—’Œˆ†…„‚‚‚ƒƒ…Š‡iA8999;ADDE“špÛêèééèçÚÍ飩¤£–•Ž†‡pOU™¸·µ´­§±‚yŠcYVG644C_V„„||qqxz|sjcdVQTGCNWVW[[QMKVY\]V[d`TNNLMQQOLJJd”df_YWWWSSRRRQQQTUUVXXWJ79:<48oTz†{yxnkqxzqhc_RRTGIPTZ]VSTQRWZYWX[b^UNGFDEIJHHGitOafkoroF<<<;;:?NX[^_d\I<9;<Bz_ƒ¦¥§©­³x>96;DFNVQKIFOyV?7;<=CJLLœ»Á½°ÀÌÌÊÀº¸ºÄÉȼŠ{|}xao46Ae`BPPQQRQRMKvoN4`–‡Y}xuuukntnihaQ[i^VT[\YPPW[_a`[Y\\XQKFBA??<::;IŠ]t˜¤˜Ž„zlR?8DMRXS?;;;;WeA7;=AGHEOê–¥ ¡Œlc_VXQPVZ\m’}z|mwa56J“’YMHCCDORPGb{Z84?Œ^|€ywzunlpjhee^esdZOS\]WTU[Za[Y\f]QKFC@@BA?>BCb‹^HNH;86=RTLDIMOSE8:;;;DjI=XˆšƒI?656EIHEw™m654}tm‚}z||rjkkmgb^_\`[PQXXQPU][[Z[__USOFCAEIC?BNNƒY=J9787AUPFCFPPJ@>@@<9AfTA;>AFLV`]X~Ž“šVTA@gmfZC9AAa“ƒ‚cMIKP{‡fKG??>>;8<€ž[874hb„swysigjswhZVVSSRPWYPPZ^[X\b_ZPRUPJGLRI>@L[mS7D78HO>F?536BIB>CEF>8<\]@;@IKT`jJO¬äº{JSSJLLKNJFEAEuÌ‘]O[QoxlLIKMOMNJMZˆR=<6^’S€aIKiohghgobVV]WX\SSUSUQ[`]eaXWSPJJHFHNMONNržZJ;BEQV[ae~’JLDHCGsƒ\AB;5456=BCEDC?7IXBLj_SalhGXz§ÂÓÒÓÓÕ×ØÚØ××؆:11BK;9788<=::867:9986>>@HKJIJJG<@FDZbVOftjIOq§ÒÛâæèèèêêëíìëâ×X8\F=<<:8999898889999998:;:AG6R_poc_`ba`a]Y\VVUVX]TQZYRNOTYYXX_xƒ†‹ˆ]JUUbjTSa@99>DEGKK^poqlQ>?<;;?HTqXAHQhpiXWq’¹¾ÉÕÙØÓÓÕÊÃËÕÐËË·SQ@<;:8898888878988978ALV]htœ—™˜“Œ†ykkkoyŠ“‰ˆŽŒƒ‹§xx~}~~ub^crRi„vfbUGOWZXX[[^_`_]\[UMPeoxŽ‡^drrkiqppsuw{ƒƒ€€~|‡„€”´_K:47965777677778786K‡˜¥¨ª«¨§¦¤£¢¢££££¦¨¥y|zxyzyy|€„‹’¡²º³¤”„yrmno„¹…wmsifdYYpsommkhhhijmqrb^b`fpkTdwrtusqnmmoqsuvvuuuuvy|}…—i[wfC344655558C8777;™‚‚{yxtqnnjjikkkjnqr‹utvvvwvvutsssqrwŒ™¦­°¬£“†€ª‡j\b]ZZX[jb\ZYXYYXYYZ_d^YZYZ[XNXbgu{vroljlmnprssssrpqrvzrc­º˜@1344456876662bdeklkjlnvŒ¦‰{vropokdytgilnpruvvvutsqppqqrv{…”¢­x™ydVWYXWWYXXWVVWWWWXWWXXXXXXXXVRLUZX\{wsolkklmnoqrrqqqpoxgL©¿¬œK9788439OE86:‚h~‡Š‹ŒŒ€i|al‘‘ŽŒ‹…}pngceffhloruvxwtrqponoppnnpd†l_SSUVVYYYYYXYYYYZZZZY[[[XXYZbWNUWVTzzytolkjjjknopqpqqolY8l½ÇÓñ¸ˆ`X\ltI«Fgx–^y¬ÃÈÏÒÓÒ|ODBPªÝØÑÎÑÊ‘j^meffeddehkosuvwwvtronnqsmgwibƒeo{][\]ZZ^]\\]`^Z\ZXT‚¤‚œµbOTXXXxxyxuqljihhilnnoopn[G3?›ÔÙëî±z]_nxܵ^l{ƒXwÍâßßßà×g`d_N£äÜØÖÛä“mXijhfdcbbacdfkpsuwwxwtpnoeZhcU®Ä»Ãì•LMNoeQTetXOPzdAEmàçÛÔÉhRRWWWwxxxxwrmjhfgijklmnmU;4.Dbb†žš˜bon[‘óÙjiŒrbb¼×ÑÖ×Û¼MRc`Q‘æäæàÜÙy[h^kmkhecbbabbbfkprtvwwvurcJU\K›âÞÛìë‡E=p¬JB‘°}5gµQ<\ÎìÙÕ߸TUQUVVrtvwxwvsojfffghijklK310/35>AN^Ygy‚ ÚÇ’žcjPV[W]aeR=RšXkŸ™‹{i[FHpXjlomjgeccbbbaaejlortvwyiEIQMd¡§ÄÄîàZ?Eµ”NÃë F¶“ID“ûÝ®™vaONPUVVopqsuvttrmgedbcdfhjE/0489=CLWe„ÄÔÙáçäâÀ—XjM@578656;I—„YUA57769G@hYdgimmljfecbca__acglpstwlDBJMOO^t“âÊrWJsÞˆ´z¡Ó_VeˆÂ´l^USPKSYXXlnpqsttttqkgdbaabchI//259AK\o’¢äïííìëïĆUgE@89<:9877NN>:7:?A=8533455Cƒ‡L686GhUhhdfjlnnnlifgggeb`adhniF?HKOTW[behilrz‰¸ÒØǪ…ztqonk`YVQMJ[iechjmoqssuuutrojfddcdK2205:^„K9DP—¬­¶»¼Å£bZVMPNQQNKLI:4566;U’¥`HLA>hPedcehfhlnonljhgggebaaddG==?@>M`P‡lReigfdfikihgdaa``b^@6GLNQUYennpl¦òïêëëðñðõ¤jkllaYSQNMcnlj€^egilmoqsttsrqojddK88//14?B8;PZz‘vp[YYYYWWXX[[YWWVVZ^bdmrst{…ˆx…st|xlgnfdefhhgda`ab`>6GNPSTZejeba{»ÇÅÄÅÄÅÄÁ|RS]ibYTSONzvklÂx`ehjkmoorsrrrqnifI69//014:=>@ACELdY}nq^^]\\\\\\\\[t}{›£¨­°°±±±°±°°¯³²°°ª–sedcbcggfcaaa_:4FLPYphc]M6--38AFEPC@?3.:IXb€ŠXLK´Áp˼p_egikmmoprrrqqnkI3:2/,--.//../02@_H^qY\[[ZYYYYYXd†®ª¦¡›”Œ‰ˆ†‚€~~~€ƒ‡‘™vjnda`cdgfcbb`72EGI‹Õƒ_ONKKJKH]aY`VUYQNMUQ_±ànBE–ÎÔ¶ÁÏ°a]cfiklmmprqpqpmH2:3:M=40..,+,,*8tm€sWYXZZYYYYYV|‡{‚ume`[UTRRYRSPPOOOPQTWZjvigcccegggfb50BAC‰Äw^a]A?CABDCCBBB@>7Edd`{ZBD^~¤Ì±ÅÑ™Z_ehhjlmnoonpmdD2941ENKD::.+-..Gw’„{llcYZZ[ZZZX}mQOIHHIHKLJL]KEEDDDDAAA@@AXlliebcdfhhd4->>?M__bjn\KHGMSTVXY[[XZkqneVLDBC\hg{¸ÉÍ…Ybegikllmnnnj_D26327:<;52158=@Yr‘€¢®—e[\\\[YhyF>==:;:;::95578:;98777888:@_mmkgdcbehe5,:98=DMXbiojfffeecc`^\\_`[SJB<79>]kigT”¿ËÄp\behjkllmnnleS:21211100//100/Do„uŽßåÚ¡babb`]„h<<>>?@@BD?B]J;<>>97778887>?Oklmkieabdc6+86A/+,-,-../..--+***((&'**'(.LU@]lkkX{²ÁÏ®c_cfhkllmnmlh`RJHJMNMNNMLLNONFjsY‰çÙÞçŒfnqpt–N?:@CCCCBC@758:988=<@UT@KQ8444556548A>TklkkkhaWQ1*73,2A?>@?==;99::;;;>BEJNOT0&(2:UfhiRLQ“¿ÆˆZadegikkmmmljihfeb_^]]_``cfXKKKJ^`Ü’€§±­¬q;?559<988==;H\MON469KHB8535>@Gdlhgfd^SL1)50+2;:::;;<;:8878;:8668755(#0445Pbbd]SO]¡¿ÉÂrW^`behiklmmlkjjgc`^]]___acWFHHJMT`q‚Ǽtu­V>=337Va:4@@5422577;L[OMF>638A@YkiiiigbV:/1.-22/-.,+,++)(('())((&'*+(&1201Tea`fZQLh¯Á̶g\`begijkmnnllljgc`^^^^_`bYDEGJPT\g’ä,c C@923Ky|O3762112459BEJSXWTF45A@Lh]HHJ^d^T?51258:=??A@><;<>@BA@>>>DJNRUUVVXiomhk`RNL~¼Ãѧ`_beghiklmnmllljfd`^^]]_bZACGHQYbgužnA‰<@:97RŒ‡zB<7100134?GKPZ_]]R:4?@E`R342Ffca]XTTVY[[^bgfc^ZZ[[[[Z[ZXX[`gjmmnopqrrnpbQMS•¾ÆÑ‘[bdfghjkklmmmmkhgc`^^]^`Z=DHFNW_K><=[cNO?QTOCB?2//127FHTJ^e^UL<4;?>F@661=ffebba`a_^]_`dghgda_][\\^_][Z[^eijlmoqrrknw^ON_§ÁÌÊ}\ceghjkklmmmmljjfc`_]]_X:CHEJQP9CNKUgI478:=6149Rgfgffeddcb`__adhkljfa_^]^__^]\[^dgklnnqqrqqgWPMn´ÃÐÂr`degikklnnonnkkifb_^]_V7BHFILN:@c8>;?8AL@:;98888HJHD<<=======>B@>V@Lkfhggefffeefhhhgdb``cejlmjgca^___`^]\[^bfikloppoiYQWZœÆÇÓ¦``bdfgijklmnmmlkhda^_T3>GEÖ¿kTzÀ¿ilhC@BBCEGIMNOSY\[Z[[[\]^_aaa_\dWm<‰ˆdffffeeeghhhhggebaabfjmlkieda``aa_\Z[\^cgjrsrqoeRMM`®ÆÍÒˆ\acefhijjlmmmlkigca_S2;DEqÏÛ‡Ojª²MwpK^loqrrsssqpoonnnmlllmmlmoqufyŠa|£fcccfeeefgghhhggeca^acimmlkiecbb`^\[[\[\_drssuuwhSOJwÀÊÓÀj_cefhiijkllllkkifc`U.5=ELj…v\Wz£O{Œ~hnnfda_\[YXWUSSTSRRRQQRSSUY[Y_hzh[fdccdddddefgffggffd`^_bgkmmkhfca^\[[[[[[\]qommloi\QMPžÈËÕœ\adfgghijjkkkkkiheaS-48?CBFM`XWƒ_{rbURTOMKIIGFFFDCCDCBCDCCDEEFIGHIJXoddŠvbdcccdddeeeffffeca_^_fklligda][[ZZYZ[[[ohehicc_TOKl½ÆÑÊs\cgheghiijkkkkiheWE,43442//AYUqygPHGEEEB@@>>====<;;;;<<;;;<=>?@??@E^pegfcbccbbcdeedeefggfda^]aegkjheb_\[[[YZZ[[kghhrnicUNNNŒÄÈÕ«_aeddfghijjjjjgd_RB+219446;AQq”pYA?>>>><<;:9999999999::999::;=<;;;;Hbgcfgkbcbbbcddddeffggeca`_`ahkjifb^Z[\[ZZ[[nlhirqriTMNL[¬ÅÌÒb`ceffgiiijjkjge]E)00/.8=>?:\¡¦¤¢|AECCCh|dUJC;551Gheddeca^^``cdefffefgggghggfd`]]`dhlmlje_]glmioommqrtkSLQSc°ÄËÓŽ`cfghjjkllkkkjgfda`_]\UND28:8;AHSd{¡¯QAWjmpŠ³œŽ—™nOy°hVJB;81/Hhfdded`Šµº¦iceeefefghhgfghggd`^^aejlmlkfcztrpwrljmmlngMJLKx¾ÂÎÉr]cefghijkkkljhiheca_]VPG1448ABKTe{ Ál{Çìëííïïïðñðõ¡\ª¬‚iVJC<;42Jhgffffc{Ôíç¤addeefffgggfggggfda]\`eiknnlh{tmmjiklmldPKMMPšÁÄÖ©[^bdffhhijjjiijjifc`_WQG005:?BMTdz—ΛkÒðììëëëììáæð›Vº¨†m[PG>;9=Nhggfffecq{uccddeefffggfffffffd`^^`dimonkvzuvuoninpomlcWNMIhºÀÊÒ{Zadffgghiiiijjihgeb`WHA9F@;AFNUd}Í \Ïóîîîíîðñññø›ZʸŒkVH<40/2Liggfffeed__`jjddeeeefggfffffffeca_^`eimnnqwsuvnpjknnmpthQLKOžÅÇ×´abfghgghiiijjihhgfdbX:=>;3459?IXoǽU®ÝØÙ×ÙÔÍú²¯ja—fM;55:@2.2KigffgedefddkŒeeeeeedffeedddeeeeba^\_djmnnupolmokhklnooiSKKLo¾ÇÐÕ…_efhihhhiiiiihgggfd[4:>512:8>FO|I>IHJKUJA;654.^N>L93WÄÅT,7Jghgffeeffedfb`cddddddefeeddeffeedca_\^dilpoovtomnopiilklUKKNQœÈÇÔ¶b`begggghhiiihgggff\:?>819©Ò¦98BS9Th>?@ADMKGGFGD[xORB5/c´€B/9Jggfffeeefedcba`cc`deddeeeddeffeddecb^[_ehknpspnnrstnhlmhVMKMLk¾ÇÍÓ…`efghhihhhhihhgggh]HT<926z¬ž645OgG…|bcdy‡rqnpotŒcft5222/+02843456655>LGKINTe\pfZY]OKMKGH50/0/0101Ffhffeeeddccbaab˜¾¾«habbccdedddcbcdeedb_\[rwwrkklppkjluttf_YMMNQÌËÐÇtehhijihgghiiiig^T-*=2.//.---.2:668887:G<1/-,+*)&(''()*,,*/Dfhgfeeddddcbaaa^a^`bbbbbbddcccbbbcddca`^\lklidaajks|vvwqjpfQLNTc¶ÉÉרfghijiihfghhfc]UR-':-(+)('''&&$#$$#"#$#$&''(*+,/477)%&()*-Aegfeddcbbba`^]^^_^`bcbbccddcccbbbbddcbaa`rnkmkrmqjtvuuv~~l^SKLMNƒÇÆÐÑ‚cgghhhgffghged]V4'8,&&%+3469:988989::::::;<>>=>@@>(!$%(()=djkotx~ƒ‚ƒƒ‚€zyvleabcabcedcbcbbbbcdcbcaa„}€}xx|ylhqxxz~ve^RKKMMW¨ÉÇ×·fccefeeffgfgggdV7)8-,'&).-00///.-----,,,+++++++)*(%9Oar…œ¦«¯²³µ´´´´´´´³µ´¯¨›…e`bdedcbccbcbbcbbccb†|vyttlmtpmkqka``TLKK[a‚¿ÄÍ׋_bcdeeffededbaV>/5-20,&$$""###$""""!!!""""###!!$(Ad‘¨±³²°¬¨¤¢žš˜˜——••–—•–—š §¥|bdceedccbcdccbabcccƒ€zzzspsfdipzrjmgYMLLYa` ÄÅؽfaccdefedddba`ZO:-*-,+'$$#"##$##$%%&'(((*+--.,,)Yª®¨Ÿš“Š…}zuqmmkiijjihiikpuzkegfefedddedcbabcdc…††‡‡‡‡‡‡††‡‡‡††††‡‡‡‡‡‡‡‡‡‡†„‚|vutttvxxxxxy{{zvuwzz{{zyz{~€€€€††††††††††††††………††††††††††††„|yutsuuuxxxwwyzzzwuvvxyyxwy{}€€€………†………††…††………………†…†…††………††„‚|vuuvvwyzxxwz{zyxvvuwyywwyy|}€€€…………………††††………………………………………………„‚zxxwvy{{xwwyz{zyxvvxxxxyyy|~€€€†…„„………†††…††………………†…„„ƒƒ„„„„‚€|zxwxz|{xxxzz{zyvvxwxxyzyz~€€€…‚‚ƒ„„„…………†……„……………„‚ƒƒ‚‚‚}~|yxwxy{yyz||zzxyvvxyzyyxz|€€€ƒ„…ƒƒƒ„…………………„††††„‚€€€}}}}{yxwwwwxy{{{{zyxwwwwxxyyz|~€€‚„†ƒ‚ƒ…………………„……ƒ‚‚~~€}}||||zywvwvuwz||{{{yxxwwuuwyyz}~€€ƒ‚‚ƒ„…†‡…„„ƒzz||||}~~}||{{|zzyxwxwxxy|||{{zwxwvuuvwx{~€€~€~~„…†ƒ‚€}{yzyyz{z|{yyxy{xzzyxxxyzz{}|||{zyxxvvvvv{~}~~€~~€€€€€…ˆ‰ˆŠ‰ˆ‰ˆ†zxyyxwwy{y{{ywwwxxz{|}}~|zxvxvwvvvy~~}~~€€€€€€€‰‹‹‰‡ˆ‹ŒŒ‰zuwvvvvy{zzzyvuvwyz{}~|||}}€€€~€€~~}~~~~~~~~€†ƒ‚„…†‡†‰‰|suvuvvy{{zyxyyyyyz{~}|€…‡ˆŠ‹Œ‹ŠŠ‡€~}|†~~~}€}|}‚‡†„…………„ˆ‡~sttuuvyyzyzz{{yyzz|~~~~ƒƒƒƒ†ˆŠŠŠŒŒŠƒ~}|†~‚ƒ„„~}ƒ‡‡„†ˆˆ‡„†‡ttttuvxwxyyzzzyyz|~~……†††ˆ‰‰Š‹‹„~}|zƒ„‡ˆ‡‡ˆƒ€…ˆ‡„‡ˆˆˆ…†Š„wuvutuwxxyyyzyxxy|~€€†Š‹‡ˆˆ‰ˆ‰‰‹‹†~}ys‚~‚„……„………‚…††††‡‡†…‚…Š‡€}{xxvvxxxyyzyxxz{{{}~‚‡Š‰†Š‹‹ŠŠŠŠŠ‡}vl‚‚ƒ‚‚‚…†ŒŒŒŒ‹‹‹‰‹‰‰‹‰‚|z{{yyy{{{{zyxxtpjw}‚ˆ‰ˆ‡‡‡‡…†ˆ‡‡‡‚|sl„ƒ„„„„ƒ„ƒ„‰Œ‹ŠŠ‹ŒŽŽ‹‹Œ‹Š„‚‚}{wtrw€„‡‰ˆˆŠŠ‰ˆ‰ŠŠˆŠ†ukj††††ˆˆˆˆ‡‡‰†‚‡‰ˆˆ‡‡ˆŒ’’’‘‘’“‘’„ƒ‚„ƒ„„ƒƒƒƒ‚‚‚„€~€‚€}}}~}€|zu‰ˆˆˆˆˆˆˆˆˆ‡ƒ„„„……†ˆŒ†€}†‡…~€ˆˆ„„„ƒƒ‚‚‚ƒƒ„„ƒ„zvrsrrrstswy}„†‰‰‰ˆˆ‡ˆˆˆ‡…„‚ƒ‚‚ƒ„ˆ‹„~z|‡‰„|z~„‰…ƒ‚‚ƒƒ‚‚ƒ‚ƒ€~{}||{|}~~~‚†‰‰‰‰ˆ†‡ˆˆ‡„„………ƒƒ‚‚‡Š‡‡…†ˆˆ‡ƒ„„…‰†ƒ‚‚ƒƒ‚€€‚‚zy{}}}~€}{xw€ƒ‰‰‰‰‰ˆ‡†‡‡ƒƒ„…„‚€‚‡‰‡‰‰Š‰‰‰…†ˆŠ‡…ƒ‚ƒƒ‚‚vrsuvx{}xvtqrt~ˆŠ‰‰‰‰‰†††ƒ‚‚‚~|ƒ‰‰††‡‡‡‰Š…ƒ…ˆˆ†…ƒ‚‚wrrtw~|ysqru~~„ˆ‰‰‰‰Šˆ†…‚‚‚‚€€ƒ‹ŽŒ‹Š‹Š‡‡ˆ‰‰ˆ‡…„„ƒƒytsv}ƒƒ€€€~wttw~†‡ˆˆ‰‹Œˆ…‚‚‚‚‚‚…Œ•—••••‘‘’‘‘‘‰…„‚‚‚‚~{zy€€€€~{{}€€}€„‡ˆ‰‰Œ‹ˆ‚ƒƒ‚ƒƒ‚†ŒŽ‘‘‘’‘’‘‘’’‘‘‰‡…ƒ‚‚‚€€€~~~~€~~~„„||†ˆ‰‰ŠŠ‰ƒƒ„ƒƒƒƒ‡Š€‚ŠŽŽŽŒŒŒŒŠŠŠŠŠ‹Œ‹‰‰ˆ†„‚ƒ€€€€€€€€€€€€†‡}}~ƒ‡ˆ‰ŠŠŠ†ƒ„„ƒƒƒƒ†…~~…‰ŠŠŠŠŠŠŒ‹‰Š‹ŒŒŒŒ‰ˆˆˆˆ†„ƒ…†…„………†„„‚€€…‡|~}}ƒ‡ˆŠŠ‹Š‰ˆ…„„„…„…ƒ€ƒ†‡ˆŠ‰ˆ‰Œ‹‰‰Š‰‰‹‹‰ˆˆˆˆˆ„„………………††…„ƒ€ƒ…v}}†‰‰ŠŠ‹ŒŠˆ†††…„„…„ƒ…‡ˆŠˆ‚†Š‹Š‰ˆ‡‡‡‰‰ˆ‡‡‡ˆ†ƒ‚‚€€€€‚o{€~‚‡‰‰‰Š‹‹Š‰†……ƒƒ„ƒƒ„‡ˆ‰‡…†‰‰‰ˆˆ‡‡‡ˆˆˆˆ„…ˆ†…„ƒ‚€€‚€gm{}{~ƒ‡‰‰Š‹‹ŠŠˆ…„„ƒƒƒƒ…ˆ‰ŠŠŒŒ‹‹ŒŠŒŽŒŠ‹ˆ‡ˆ‰ˆˆˆ‡……‚€‚‚‚iir{}~…‡‰Š‰ŠŠ‹Š†„ƒƒ‚‚…‹Ž‘““””””•–•–––”Ž†ˆˆˆˆˆˆ‡‡…ƒ€€‚ƒƒ„ƒkjjw€~}‚‡‰Š‰‰Š‹Šˆ†ƒ€„““˜˜—––””••”•––—”Š†ˆˆˆˆˆˆ‰ˆ†ƒ‚‚ƒ„†…mlls€}~…‰ŠŠ‰ŠŠŠ‹‰ƒ‚„‚ƒŽ‘‘ŽŒ‹ŒŒ‹ŒŒ‹ˆ†‡ˆˆˆˆ‰‰‡…ƒƒ„†‡nlinz€~|€‡ŠŠ‰ŠŠŠ‹Š„‚„‚†Šˆ‡†‡‡†††„…„„„†……„‡ˆ…ƒ‡‰ˆˆˆˆ‡ˆˆ…‚€€ƒ…‡‡kkhhkz€}~ƒ‰ŠŠŠŠŠŠ‰…ƒ‚‚„„‚ƒƒƒ‚‚ƒ‚‚„‚‚‚„ˆ‡†‡ˆˆ‰‰ˆˆˆˆ‡…‚ƒ††kkhfet€~}~†ŠŠŠŠ‹ŠŠˆ…„ƒ‚‚‚€€‚€€€€€€‚‚‚ƒ‡ˆˆˆ‡‡ˆˆˆˆˆˆˆˆ†ƒ‚€„„kiffek{€~}‡‰ŠŠ‹ŠŠŠ‰ˆ„ƒ‚‚ƒƒ€€€‚‚‚†‰‰ˆ…ƒ†‡ˆˆˆˆˆ‰ˆ†ƒ‚‚ggfgfhq~€~~ƒ‰ŠŠŠŠ‹‹‹Š‡ƒ€‚ƒ‚€€€€€€€€€‚‚‚…‰‰ˆ‡††‡ˆˆˆˆˆˆˆˆ…ƒ€€hhgffghv}€ˆŠŠŠŠ‹‹Œ‹‰…€‚‚‚‚€€€€€€€€€€€‚‚…‰‰ˆˆ‡‡‡ˆ‰ˆ‰‰ˆ‰ˆ‡†ƒ€ihgdfghr~…Š‹ŠŠ‹‹‹‹Š‡‚€€€€€€€‚…‰Šˆˆˆ‡‡…†ˆ‰ˆˆ‰ˆˆ‰ˆ„ihgehiho}€~€‡Œ‹ŠŠ‹‹‹‹ˆ€€€€€€€‚‚ƒ…ŠŠˆˆŠ‰‡‚ƒ‡ˆ‰ˆ‰‰ˆˆ‰‡„jjihihhju~‚Š‹ŠŠŠ‹Œ‰‚€‚‚ƒ‚‚‚ƒ‚‚‚‚‚„„„‚ƒƒ…ˆŠˆˆ‰ˆ†‡‡‡ˆˆˆ‰‰‰‰‰ˆ‡lkiiljhho}‚€†ŠŠŠŠ‹ŒŠ‚€‚‚„…†‡†„„„…„…††„…‡ˆŠŠ‹‹‰‰Š‹‹Š‰‰‰‰‰‰‰‰‰‰llmnonlns|€}}~‚‰Š‰‰ŠŠŠˆƒ€‚ƒ„„ƒ‚‚‚‚‚‚ƒ‚†‰ŠŠ‹Œ‹ŠŠ‰‰ŠŠŠ‰ˆˆ‰‰‰‰‰‰‰‰{zzz{{{zzzzz{{zzzzzxxzzzzzzz|ƒ†…ƒ…††‡ˆ‡††‡ˆ‡‡‡‡††‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ„„ƒ„…†ˆ†……†ˆˆ‡††„„…††††‡†…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{{zzzz‚‚ƒ……ƒƒ……††……‡‡‡†…„„„……††‡††…„‚‚zzzyyyyzzzzyyyyyyyyzzzz||{{z|‚‚„…„„……………†ˆ‡…„ƒƒƒ„……‡‡‡‡†„ƒ‚‚€€y||zzzzzzzzzyyyyyyyz{{}~||||€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡†……ƒ‚‚{€€~||}{yyzzzzzzzz{{}}~}~ƒ‚ƒ…„„„……‡†††‡…………„„……†‡‡†…„‚‚‚€‚€€|zyzzz||{{{|}€€€€€€‚„…ƒƒ„†…„„„…††††„…†………„…††‡‡‡…„‚‚‚„~€~}|{zyz}}|~€ƒƒ‚€‚ƒ…………„……………„„…††„„……„……†††‡‡†…„‚‚€ƒ‚€€€€~|z{~~€ƒ„…†„„ƒƒƒƒ„…‡†††………………„„…††…„„„„……††‡‡†……„‚‚ƒ‚ƒ‚€€€~~~€‚…†††…„„„…„…‡‡††††……„…………„„……„ƒ„„„†††ˆ††„ƒƒ‚‚‚‚ƒƒƒ€€€‚‚~~~„…„„‡‡‡‡††…………………†…†…ƒƒ………†††ˆ‡†ƒ‚ƒ‚‚‚‚ƒ‚€€‚‚ƒƒ‚}}}€~|}}ƒ†‡‡†ˆˆ‡††……„…………‡………„„……„„……†††„ƒƒ‚‚‚‚ƒ€€‚„……„„ƒ}}{z{|zy|~}ƒ‡ˆˆ‡ˆˆ††…„……„…‡‡ˆ†††…„……”œžžŸŸŸžœ”„€ƒ…}€‚‚‚ƒƒ„††‚||}zxzwz}|‚ˆ‡‡‡ˆ‰‡……„„……†ˆˆ‰ˆ‡……„…ˆ‰‡„ƒ€~‚ƒˆƒ…€€€€€‚…†{}ƒ|xxw{‚~}†‡‡‡‡ˆ‡†„ƒ„„…‡ˆˆˆ‡†…ƒƒ„ˆ}|||zyzyyzyˆƒ€„…ƒ„„~{xz|}ƒ…{}‚}xy{}„€|…ˆˆˆ‡‡†……„„ƒ…‡‡ˆ‡†„…ƒƒ„‡|}€~{{z{zzy„Š‡ˆƒ‚ƒƒ}~~„|}~}{|}~„€{}‚…†ˆ‡††…††„„…†‡ˆˆ†„ˆ¥¨Œ†y|€}y{{|{zx~—³¡€ƒ‚€€€}{}}}}}}~~}~„ˆˆ‡†…„……„…‰ˆ††‚Ÿ¯˜ƒ„…„„„‚ˆ˜¢•€€€€€~}}}}}}}}}}}|zy{||||{|‚€„…„„†‚€‚„’¡¥¦¡¡£¨©§¤¥«©¤~€}€€~~~~~…Š€~}~~}{zzz{|{zyy}€€€‚‚‚ŸÂÆÊÃÁÆÉËÊÅÅÍÉȤ€{}€}~~€ƒ‡ƒ€€‚|||}}~}}~~€€€€€€€€‡›«½ÅÒÓÔÕÓÑÏÍÁµ¢š„€{{}~~€~}~€ƒ„‚‚„ƒ|||}}zyz}€~€€€€‹¦‚†“•˜›˜–ˆ‚}ƒ§‰}||{{}€€~~€€€ƒƒ|||~~{xx|€~}}~€€€€€€‹¾¹¢Œ‘–†‚„ƒ•Ÿ¦¾Ã}~}||}~€€€€€€~ƒ‚ƒƒ~||||}{yz~‚~}}~€‚ˆÀÒÐÇÆĬŽ‹›¿ÉÊÓÒÅ€~|||}~€€‚ƒ†ˆ†‚}|||}}|}|…~}~€‚‚‚€…½ÐÏɶŸŽŠ‰‹—¯ÃÐÐÃŒ€}}|}}~€‚‚‚ƒƒ€{yyzzzz|}}~}||||~€‚‚‚€‚¶ÐÐÁ€…………‚¦ÏÏÁŽ‚ƒ€}}}}~€€€€€€€zwvvvvwz{zywwxyyyxy~€°¨¡€„†‡ˆ†€Š¤›„ƒ„ƒ~}}}}~€€€{{zxwxxzzzyyyzz{{{z{~€‚‚ƒ„ƒ‚‚‚‚‚€…„‚€~}}}~€€€~}|yzz||{{{|}|{{{z{}}~€‚‚€€€€€€€€€€‚‚€’‰‚€~}}~€€€€€€}‚„}|{||||{|||{{{z{|~~~~‚€€€€€€~…„ƒ‚€}}}~~~€€€€€~€‚~|{}€}{{{||||{z|}~}€‚€€€€€€‚€„„ƒƒ‚€~}}|}~€€€€~€€}}~{|{|{{{zz}}~‚‚‚‚€€€‚ƒ‚ƒ‚‚‚‚€~}}|||}€€€€€€|}~}{||||{{{|}~~€€€‚€‚‚‚‚‚{~‹‚‚~}}|}}~€€€€€€~}}}|zy{zzzzz{|}}~}~~‚‚‚‚‚‚}|ˆˆ‚ƒ~~}}}}}~€€€€€~|{{zyvuuvwwwwuvxw{~~~~~€‚‚‚‚‚€}}€‚ƒƒ‚€€~}}}|}€€‚{wvvvvvvvwxxxxwwww}~~~~~}~~€€€~‚„ƒƒƒ~}}}}|}~€€€€‚€{xxyz{{{||||||||}{~€~~}}~€€€ƒ€}„ƒƒƒ‚~~}}}}}}€€€€€‚„‚~~~€€€€„‰…‚€€~~~~~}~€€€€‚€{{}ƒ‚‚€~~~}}}}~~€€€€„…‡…‚ƒ‚‚‚†††„‚€€€~~~~~~~€€€€€~zxz„‘ˆ‚~}}}}}}~€†ˆ‡ƒ‚ƒ„„…††„ƒ…†…‚~€~~~~~€€€~ywy}„Œ‡‚~}|}}}}~€€€‚‚ƒ„…†‡‡†…‚€€€~~~~~~~~~€~zwx{€ƒƒ‚}|}}}}}}€€€€€€ƒ…€€‚ƒ‚‚€~€~~~~~~}~€~zywxy€ƒ‚‚~}}}}}||~€€€‚‚„†‡ˆ‰‰‰ˆ„ƒ‚‚‚‚€~€€~~~~~~~~‚‚~zyxyzƒ‚‚‚€~}}}}{||}€€„†‚„ƒ‚ƒ„ƒ‚‚ƒ„‚ƒ~~~€€~~~}~~~~~€‚~|y{|{}ƒ‚‚‚~}}}{}|}~€€ƒ…‚‚‚ƒ…‚„ƒ€}}~}}€~~}}~~}€€€~{|~~~~€‚‚‚‚~}}}}}}}~€€€€€€€€€€€€€€~}}}~~~~~~}}~~}~‚~€‚„ƒ‚‚‚„ƒ‚€~}~~~~}~€€}€~€€€€‚‚‚‚‚€~~~~~}}~~‡ˆ‰ˆ‡…………‚š~}}}~}}~€€€€€€€€€€…”šŸ¤©«­­®­ª ˆ~€~}}}~~ÏÏÏÏÐÑÐÏÑÑÑÐÏÏÏÊÄÇÄÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÎÏÏÏÏÏÏÍÈ¿´¯¥ •ƒ}uikwjijppreidY^b^]e_W\b_aXRPW\[_e`gUVYWVWVU[WQW^^]YVMD?:<9534?3ÏÏÏÏÏÐÏÏÐÐÐÏÏÏÏÊÃÇÄÊÎÏÎÎÏÎÎÏÏÎÎÎÎÎÎÎÍÍÌÌÍÍÍÍÍÍÍÍÍÍÎÎÎÏÏÏÈ· ¨™w{t`]bs|p_`nlg[Z\^_ZYVR_ga^UPPRZY_hihQT^bZSQMSTZ`c]WQNKBA97654187ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÂÆÂÈÌÍÍÎÎÎÎÎÏÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÎÎÎÎÏÏÏÍ挊snnqnmopu}y`ccef\\\]\\TTV_e\\YUSTVUX]hcRQY^VMNOSS]cba[RHDA=95333102ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÃÇÃÉÍÌÍÍÌÌÌÍÍÌÌËËËËËËÌÌÌÌÌÍÎÎÎÍÎÎÎÎÏÏÎÎÎÎÍ·™{mqwyv€~ggd^hZbdd[[XW`YUYeeUSVYXUOMVPZhSOTXYPNSQPZa_bWUUOG?<86431..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÄÂÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÊÊÊÉÊÌÍÍÍÌÌÎÁ’Œ†€tdn{mdiaaaVjdZYUUO]`^`ql[QQW]VNKUSS[TZZYVOQRV[^ZY[SRYPH@?@<641.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏɺ½½ÊÑÐÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍËÌÍÍÍÌÌËÉËÌÌÌÍÌÊÈƧŒzzti_kqpd`c`Y]aVSZTTQZeeficgVRW[UPRUTTYS[]aWTTS[[\ZYVSPRQJ@@>8652/2ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏǻÿÈÐÏÏÏÏÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÎËÌÎÐÏÍÍÊÇÊÌÌÎÏÌÈÅõ¢|scVTb_Z^c`]d`XVSMOUZ`aei_\SPQRPNUSTR`MVW[\YZY^[\ZTRTPSMFD>B<530/4ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏǾËÄÆÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÍÊËÌÍËÆÃÄÂÆÇÊÍÎËÿ¼¬‚~sVTSQOWXoqfcc^ZMD@MZS\cb^WTRMMKINKQMYOSWWYX\]\]^YTPSOWPEG@?=30/..ÏÏÎÎÎÏÏÏÏÏÏÐÐÏÏǾÊÃÄÎÎÍÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÎÍËÉÈÈÉþ¸Ã¿Â¾ÆËÈž¯ ©’~v`WY[Ygi`ohf_WVSRTVdTQ\]TOWXSNJHQQSXXSQY[WVXZWRR\WSXRXV@67220//.-ÏÏÔ×ÖÐÍÎÎÌËËËÌÍÆ¿ÉÂÂÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÎÏÌÄÃÃÁĽº­Á¹À·ÀÈÀ¾¸¥‡†p†}f^a\]elXn^V_TQUU_\XOQTXRRSWWNMNTSS\g^OVZWWWW[TM\[Z]]NC<6541/.-..ÐÞëïîãÒÌËÅÂÁÃÆÉÄÀÉÂÀËÍÍÍÍÍÍÎÎÎÎÏÎÎÏÎÎÎÎËŽ¶½¹²¤½´¿´·Ã¶¼µ—…}phdecbT\b]We\T]_QSTX^UUTPONLMOTYWQSQQTe[MZ\XSOOYZPXYRNIA9=<962/---.ÞïÒ¬¸çèÌ¿¹µµ¹½ÂÄÂÉÆÂÊÌÌÍÌÌÌËËÌÌÌËÌËÉÉÉÅÅÁµ¯ª¯²© ­®¹±´¹¯­¤…yzwnlVbe\YcWR[j_X_ZLQSU^abURNMLPSNUVLQUPS^^Zb]UPLMYYSYQRYJCB=;;972....ïÇzjp¬ëÙ¶²¯°µ¶ÁÆÆËÉÅËÍÍÍÎÍËÈËËÌËËËÊÇÄÃÀÁ³£Ÿ¥¦œ™¢­¯¬®ª©šˆwnlgjl\VXWbaWW^\Y`WRVUTVWaXSUPOSUSTUXSQYPSYaZ`XZ\W]`VTZXUQA?G<877752011ä‰wwsÍ躯¬¯²³ÀÄÆÊÉÃÊÎÎÎÎÍÈÂÉÌËËËÇÁº¶·¹¼­ —‘›ž™”£±­¬¢šž”zieeUhbSMHPXaZRR`i_bp_`e_UXPQQPQSWSVTVZSYOP_^_h[c_jh`UQOOLLA>A8855664/03É€ˆxÂéÁ«ª°°³¼ºÂÉÈÁÊÎÎÎÍËúÇÍËÇÅ»§Ÿž¦§žŸ˜Š–›“’ «¬ ’‘‘ˆweei[]WRUSRZa_\jn`QVcOWrp\RPLMMLILNNONORZTW_VTZY`f]\WPJMJGGDI@8555554016¶…Š‚~ˆ¿éǤ§²²µ·µ¾ÈƺÁÌËÍÍÊÁµÅÌÉÀ·§˜žŸ–™—‘†–—Ž‘”“Š‹†€vvqcYUX\YPX]XU^i]RR^gfba\TSMLKIIHGEGNLT_]X\WP\hhdV]TNYUIJB?B:864434536=®ƒ…†Œ¾æÛÇŵ­±¯­¸Å»­³ººÁ¾Ç¾²Àƽ¯¥¡—ž¡•–‡ƒ†ƒŒ…Šˆ†ƒ…ƒ‚{xp`WVUV`ZUXVSYhRPP_ieTS[YTNMMKKIFJIKSV^aTZRQnsdg`b^VaZTVH<<;:8543365;?ñ±Œ„Ž¼äíîèÉí¤£¬­¡¢¤¥¥¦«¼´¨¨¯ ›Ÿ–›¡”–Ž‡„†‚‚…z„‹‰…}€~wuqjdXRZgZTUTU_[PZ[^_XRRSSSNLOQLORQHEMQVaTSO_bc`[di\RT^YHUF===:56659995677:=@?¼½¾—Œ‘»âìѾÜëƳ¿Ä¶µ¯²¶Â÷ª¢¡•Ž’›–˜ŒŽ†ŽŽŠŠ‡…‚{€‡€~xywsrmmg[^eccZSTYY_^bYU^VX^ZURJNMPJCEFCAEGEDSIUX\Ybaa^SfbVYYPKFFG;86678>>>žçãæãåçæêëëéåáÛÔÎÉÁ¿µª¤›ŠOMU]ekdUg]JEEE\olhaNG{ƒ…‚€wuxxuutg\`\OQZY[]TU_chb_V\cbSVNLOTMIC>COUV^[Z_gnoqst{z}}z|yl_UPF?:9999;@@@?΀ËïìììììëæÛÉŽ¹¬¨‹ŒkBjŠ•›¡“\J515>>KTSVZZIT~}‚wuwzyurlh]UOMYZ\TVY^\YJYa[^Z[`WLMTPMKMPOQUXZq‚ž¡  ž›™˜—•””•••”–—Z:899>IUUTSOatJ<:<=CIKK¦Á¹«²¶§ ™’’’˜£­}|xƒ_yG48KXCJRPPOOPQH_|a@S]Ž²²¬§¢œlH99EMPUOA>;:?iY?:=BHHEQú—}¦ž¡ƒIEDITJEFEHH~ˆwu]‚<67tœfINIHHMPPKPvlA8>wvd€ywzvnknihde^hpd[OR\\WSSZYaZW[f[PJEB@@BB@@EJAk}`MdWMG@GTSB@HKNO@79:;:MgE=?FKJCZ¹pp‰‡§dECEkje[IJG]•uv{g}8=Ay“”UA866BNLIQƒI52TZ€{x||rjjllga^\X_[OPXXPOS]\[YZ^_UTNGBAGJC?CQQIŒpY=J5688GUOIFILKG=<==:9CiL>D•œžpxoBKGlŒˆUI=879=99Y ‰@65A–ax|uxysigktygYVVSSROWYPOZ^[X\b^YPSURJGLRJ=?NS] aR:F69C>?NA55CDD;6:ZVDOWWadiFMÌͽ®²·»ÀÃÅÃÀÀ¿—aca][jdXPY\`\YSNOXV[d`bZPPWTMF@?GS[Y[Z_ŠŠGFCE?TŠV?;75666:?ABA>97RSJedXV`iHQi‘Â×ÙÙÚÛÞàßßßÞÞ®77:MJ>9;86=@==A??@@;;8:M[ie_aga^a^Z\VVTUZ^URXZQNOV[YYXbzƒ†Œ„dOWag{i>rs@;;@DCHKM^ebgeM>?>><;?E]QIGNdkZZm‚©¸ÈËÊƲª·² ©Äü˹iHO==;989999888898899865689FCdwuupnknlkpnmnkp{Š’‘Š‹’“Œ‡’­”}{{|~sc_RTPIox^ULABMOLMOQ[aac_QMMHCF[jwuS^iiisrrrsuyz{{xwzzy|}†¹‰HD79:867877787787787;Ngy„‰”œ©¨¨«¬­«ª©¥¡’z{yvvwyxyy{}ƒŒ–¦´²«š‰{smmonŒ¨n{vxmmaR[mommmjjiijlnpjX_hgm~|_optuspnmnpqsuvvuuuwwy{}}¤ƒSSM;464566666;>6777?Œ¥¨¢›˜˜”“ŒŽŽŽŽ‘”š™vsuvwvvwvtsssqqsx„‘Ÿ©®­§›‹}Ž®|mbf][[Wcrga^^]]\]^_agl_ZZ[^`ZQVdu{vrolklmnprsssrrqprtx~sc–¥ K04444557;;7773rŸpomjgdeefjgedcabbbefw}gilnoruvvvutqpppqqqswŒŸ°¬~¡wbVZZXWWZ\ZXWWWWWWVWXYXWWXYXXXQOWX[zwrolkklmnoqrrrqppptsUq¡²µJ.23232698861Brbqtuyuu~ˆ©ª‹‹…|{zvrmxjceefhloruvxvtsqppooppomovlŽg]SVWWWYYXWWWXYYXYXXXXXYYXXXUUUQVUTzyytpmkjjiknopqppqqoq@X¤Ê¶ÜµmaKNPWEY—EIWy“c|—¢¢¢•]FHDs¥¦¥  aqedeedeehknruwxxvtspnmoqrik|ecg`X[Z[\]\YZ[[[[\]\Z[]\Ybld’ZQVXXxxyxvqljihhilnnoopqdX9:ØÓòòÄ‹\]f’q‰ÍdkprašÔØÛÜÝã¬Y]SMgÕåÞ×ÛÞË{belgedccbbcdfkpstvwxxvrnln`fm`d¶¬«©\RTXeY[\bd[]WfZLMZÂμÇÀ_QSWWwxxxxwrmjhfgijklmmo`C7.@ŽžÂ½ªnfk`[Â÷”^o_gçáßÞàå–M_iS_ÍàÝÚÚáÔbqWmmjgedbbabbbfkoqsuwxwvsrZQ_XVÁ×ÜÞõ©MDBŽ|GRZkŠ¤¯½ÏÝÉ»¥‚[fD?>@CDA:Gu·a[lo_SG>@?Wg\hilnmkgecbca_^`cfkpstuxaBFLOS]x’µöÃPHC©¹_­ÀoÍWLUŸêÀzhTQNJTXWlnpqstttspkgdbaabchZ3-067=DM[n…¿ñíîîëïë´lb\F<7998899U”^RB5799;BHEmVfefjmonmjdcbcc``abfjnqubACIMPSUXw—€rn`sἪµ§æblpo{p[YVRMJZ]\jloqsstuutqmiecccce]5/0259767CPI::>;fVdjfeinonnliggggfc`acfkp`BBILPUX\^^`djsw¦ÞçæáÁ€rkgdcd^XUPLJagdhjmoqssuuutrojfdccd]60027;QPK\lˆÎÌÍÎÎÖÇ”ThJMHGXWJBB8445569t¨†B<;6W^\kjegijlnonlkhgggfbaach_C?IKOSW[gsz}„–¥ºº¨œ•ƒ‚~xo^WUPKJbifcgjlopqsuttsqolgccc\8501>`СD<@ZQLOTUt¤ƒLaJPNKIJKKLE76679Hc”‘QPO?IYXgeligffgiknmifedddba`a[B=HKNRV[hu|~¨ÞÞÝÞßÞßâÚyvtk_XSPKMfki`dgilnoqrtttsqokfcc\8:117gÓ¥w€ŽŸ™•rs‡Ž’wGGJFIOTQKFHQG@:AIPQ`]E@@A=?BEA@HQb„ˆrf^]\ZYZ\]^]\\_ZYZ_dhouz|‚‡ŒŽ„ƒw‚}qkofcbcggfcba^_W59JNRTY^gcPB@G^ddbbc\YT>3>Scbg`RNR©”q̽p^ehijmnoprqqqqni]3;3/,/0145569;Do}bbhbC:77ADDFFGGGBAYjjb]ZHBE]gs~¸ÈÏ‹ZbfgiklmmnooncS09424@EE;41/38;Ce…ŒzzvaYZYZZZY]]MJGFHHHJKIKYFCBBCBA?@@???Vkkjgecbehj^,1<<=EOYeowrhcehhhjkjhhjmtohZNE>>=::8521/.;B@alkYx¯ÁÍ®c^cghklllnmmiaQB>=?@@@AA>>?AAAZ€xt½ìáØ`dgfffU<;?@BBCEG?JdH;=>=97777878??Pllkkkgdbc\+/4DX5('+*$###$$###$$%'*.7C>''<]VA`kjZ[{¹ÅÍ›_aegikllmmmlg`\YX[\ZZZYZ[\]_XVraR¿åËéÕplrtr€B?:ACBA@AA;a™W;B?<756667569>@;8533212445:?HPZb^,!+/9>]iiSLO‹½ÅˇZ`ceghjklmlljgfedb_^]]^``bfaSYPE~µ•äàww…†šu=<<====;;;;<==<;<=<=<'"-149Wcc^SNXš½ÈÂsV^`behijllmlkjihd`^]]]^^ac`KGJGJQ\ ¥¬¾¹°ªX>=35:<:78?==PWFK=45=QJC8545?@HejhgedaXK,/2..7542333431//..11/---,,.%$1213Vb_fZRLc«Á̺k\`begijkmmnlkljgca_]]^^`a`KCGFMQX\l«ÛoGl¥EA923?BdlhlbRNKvºÃЮc^begiikklnmmlljfda^]]]_aaK@HGNSW`t·ÙE6ƒ‹<@514X~xL474101245:CDKUZWSD45B@LgZDHI]d_ZPHGHJKORVZ\ZVSQQRSSTTRQRTY`fgghklpqqnqfSMQŽ½ÃÒ˜\bdfgijkklmmmlkigd`]^]^`aI@HGMV_ej’KMœh479:=7138Qgeefeeegecb_]^cgklkhda_^^_``][\^afilmnoqnnodTUiŠ¾ÉÔ¸jadehjkkllnnnmlkieb_^^^>;FGGJRN6HZ5>;?8BK>;:87779HJID;@`VZcgfeeffffghgfc_^`bejllkgda`````_]\\_bfjllmppniYPTT’ÄÇÓ¦``bdfgijklmmmmlkiea_^^;7GGOv„hKQdƒQF65667899:;:>@DA>??==>>>=>>=>A?>=<;;;;;<=<<<;=>>@AA@AF`pdknqcbbbbcdddeeffggfdb`^`bhijifa^Z[\[ZZ[[omhhrpsjTMNMW¦ÅÊÓ•b`ceffgiiijkkjfcZL2-32919?>>?>=<;:999889999999:99::;>==;;ACR`[LDZÃƹs_abbddefffhhghhgeca__cfjljhc]\^^^]\vxomqrqoqq[NLPÃÇ×°`aefffghhjkjjigd]G1++,,&$$/ZbfPN`[IHIB<>>>?@BDF[fKIGEDDBGGOpž¾¸ ©Ë4Rdfe`cabbcddeffffgeeghgecb__`dikkhc_^_^]\sqkjnnlikmeMKK_«ÃËÖ‰^deefhijjjjjiheaYE;:<<>=<7TQUYű­¡ÎͳXKMLPTW\l{a[_[[YVNJ~ñêÒÁ¾Îî2Ngefecbcccddeeedefedeggfdc`^]_cgjlid`^][ZpmkejlptppkRJLL|¾ÂÒÅnafffhjkkjjjjihd_ZWVUTUUTILDBSÚÝϾ¼ÎïóxEIY^^`¢œŸžœ]MNK=Anºã×ÚêíÕc1Kgefecbbccdeeeeffffffghgffc`]]`dhkljfa]\[lfdehksuqst_MKZkÀÆÕ©adeghjkkkllkkjhda^]\ZZYYOK<7C¢ëëæØÙߥoG//.,;kx€€‚fE+--6Myiƒ’Š}nR;1Hhddeca^_bbcdefffffgggghggfc`]]`dilmljf_]hmmgnommqsrlUKNO\¨ÄÊÔ_dfhhjjkllkkkjgedba^\[[PM<4;Idrw|yupzL:>@DLWi‚«œF@OVVb¤‡}z}x\H¯€fTJA;91/IhffffcvÊåá¡addeefffgggfffggfeb^\`eiknnlhyrlmkikmnldPKMMM“ÁÂÕ¬\]adffhhhijjjjhhhfc`^]QS?164:@DMXkƒ®³a‚Èßâæèîëëíïðï”]«ªfSIB<;1/Hgffffecjtqoccddeefffggfffffffea_]`dimonktxswvooimpomkdZNLIb·ÀÊÒ~Yadffgghiiijjihhgea_^QU?/16<>DOWh¢ÓvÝñìììëìììÜçî‰]Á¤„jXNF><9>Lgffffeed```nmddeddefggfffffffeda_]`eimnnowttrmpjjmmmpsiRLKN—ÅÈ׸bbeghgghiiijjihhgfc`_PJ=61/3Lhffgedefddl‰{ededdeeffeedddeeeec`]\_djmnmvpolmnjgjknooiSKKMh¼ÇÐÖˆ^dfhihhhiiijihgggecaO:<>:369=DNa| Ö©XÆèßÛÞàÜÕÊ¿¸±aj¢oQ=6436/.3Kffffeeffede_^cddddddefeeddeffeddc`^\^dilnnpvtplmnohilkkUKKON’ÇÈÔ¹d`begggghhiiihgggfedQ1<<3127>8;:EKc„AJTOLPYME>865/`M>J82X´¶L,6Jefffeeefedcbabeeadeddeeeedeffedeecb^\_ehknpsponqurnilmhWMKNLb·ÈÍÕŠ`ffghhihhhhihhgggffR7>=6.H¬Ç78GN8`W9>>@DMIEFEEA[tGHD6/vÉ’G.7Lfeffeeeeedcbf¨À¿—cdddeeeeefffeeeedca]]_dmlmosvvqvmkmllqfPKMMLŒÈÊÕ¾jefhihihhhhihhhggghSOK;7/EË’248YWK‰m\\]swggefhp‘anm32255+01;Kffefeedddcbba’æîçœbbcccdeffeedddeeec`][^lqvspsqmqkjjhkucMMMMK]·ËÎÕ•afghhiihhhhiiihgghU;E;=32/96641T`?`upxŠƒfhoxYRNDEP854422339Jggeeeeedccbab`°ªœgabbccdedddccdeeedb`][rxvrkiknpkklvuufb[MLNRˆÊËÑÇudghikjhhgiiiihghgU&3>;34667765BIFHDKUfXf^VZ[MKNMJL6201//001Gghffeeeddcbbba]^[^bbbbbbddcccbbcdddca`_\jjlibabiks}xuwqkpfQLNS[°ËÈתeghijiihghhiiihe\M&1<1/000/.//5?:>?>>=BSA6320..-*,)(()*++*-Fghgfeeddddcbbbbbaabbccccdddccbbbcddcbba`tommjtoqirutuvm_TKLML{ÄÆÎÓ„agghhhggghhgebZUL%.9**,*('&&'&$##"""##"$%&&'()'*/02($&')),Dfgffeeedddcbbbbbaaaabbbdeddcccbbbcdcbcba…}‚~ww{xkhqxxz~se^SKKMMRŸÉÆÖ¹ebdeffefghggecc\P).8*''&,034897567878899:::;>=9=@A@)"$&(,.@cecbaaaaaa```_^^^]^_abbdeddcdcbcbbcbbccb†~vytrkmuqkipjbaaULLL_e|ºÄÌ׎^bcdeffffffeed`P..7,*&&,//11100.//00......-.--,*+)#"$(*,2Hq{€‡Œ’”–™Ÿžš—‘Œ„zleccceedccbcdccbabccc‚zzysosecir{skmfZMLLW]Z˜ÄÄØ¿gaccdefeeeeddb_Q405-2.*&$#####$#####"!"""#####"$%$"'Aaz›§¯²²±¯®¯¯®¬¬««­®°±°°¬qdhfefedddedcbabcdc…††‡‡‡‡‡‡††‡‡‡‡†††‡ˆ‡‡‡‡‡‡‡‡†„‚~|wutttvxwxxxy{{zvuwzz|{zyz{~€€€€†††††††††††††††……†††‡††††††††‚€|yttsvuvxxxwvy{zzwtvvxyyxwy{}€€€………†……†††††††……………†…†††…………††ƒ€{uuuvvwyzxxwz{zyxvvuwyywxyy}}€€€…………………††††††…………………………………………„zxywwy{{yxwyz{zyxvvxxxxyyy~~€€€†…„„………†††…††………………†…„„ƒƒ„„„„‚€|zxwxz|{yyzzz{zyvvxxxyyyy{~€€€„‚‚ƒ„„„…………†……„……………„‚ƒ‚‚‚‚€~~|yxwxzzyy{||zzxywvxzzyyx{}€€€ƒ„…ƒƒƒ„…………………„††……„‚€€€}}}}{yxwwwwxz{{{{zyxwwwwxxyyz}~€€ƒ„†ƒ‚ƒ…………………„……‚‚‚~~€€}}||||{ywvwvux{}|{{{yxxwwuuwyyz}~€‚ƒ‚‚ƒ„„†‡…„ƒ~zz{|||}~~}||z{|zzyxwxxxzz|||{{zwxxvuuvwx{~€€~€~~„……‚~{xxwxyz{z{{yyxy{xzzyxxyy{z{}|||{zyxxvvvuv{~}~€€€€€€ƒ†‡ˆ‰ˆ‡ˆ†„{xyyxwwy{y{{ywwxxyz{|}}~|zwuxvvvvvz~~}~€€€€€‡ŽŒ‹‰ˆ‹Œ|uwvvvvy{zzzyvuvwzz{}}||z|z{~|}}}~€€~~ƒ}~~~~~~}~…„„„…‡‡‰Š€suvuuvy{{zzxzzzzyz{~~}{}‚†ˆ‰Š‹‹‹Š‰ˆ‚~}|‰€~~~~€||€†…„……„……‚†‰‚tttuuvyyyyyz{{yyz{|~~}ƒ„„…‰‹‹‹‹‹‹†~}|‡€~ƒ„„„†€{‡‡…†‡ˆˆ…ƒˆƒvtttuvxwxyyzzzyyz}~ƒ…„…†‡‰‰‰‹Œ‡}|zƒ„‡ˆˆˆ‰„ƒˆ‡„†‰ˆˆ‡‚‰†zuvutuwxxyyzzyxxy|~~…ˆ‹‰ˆˆˆˆ‰Š‹Œ‰€}yr‚„„„ƒ„„„„††…†‡‡††‚Š‰|{xxvvxxyzzzywyzz{{}}€†‰Š†‡‹‹ŠŠ‹ŠŠŠ‚|xn‚‚ƒ‚‚‚„‹Œ‹Š‹ŠŠˆŠŠˆŠ‹„~{zyyzy{||{zzzxtpit{†‰ˆ‡ˆˆˆ††ˆˆ‡ˆ„}yn„„„„„„„„ƒƒ‡ŽŽŽŒ‹‹‹ŒŒŒŽ‰†…………‚‚ƒ‚‚€}|xusw}‚†‰‰ˆ‰‰‰ˆˆ‰Š‰‰Špj‡††‡ˆ‰ˆˆ‡‡ŠŠ„‡Š‰‰ˆˆˆ‹’””““•––•„ƒƒ„ƒƒ„ƒƒ„„„ƒ…ƒƒ‚‚……‚„ƒ€„€{u‰ˆˆˆˆˆˆˆ‰ˆˆ„‚„„†…†‡‹Š‡„…‰Šˆ‡†…‰ˆ„„„ƒƒƒ‚‚ƒ„††ƒ„zwsssrrrttsx|€„†‰‰‰ˆˆ‡ˆˆˆˆ†„ƒƒ„‡Œ…|yy„Š‡}{|‚‰…ƒ‚ƒ„‚‚‚ƒƒƒ„ƒ€{{zyyz{{}}…‰‰‰‰ˆ†‡ˆˆ‡…„„„…ƒ‚‚‚…‹‡„‚‡ˆˆ€€‚ƒˆˆƒ‚ƒƒƒ‚‚~{|€‚{x{ƒŠŠ‰‰‰ˆ‡†‡‡„ƒ„††„‚…Š‡Š‰‰Š‰ŒŠ‡†ˆ‰ˆ…ƒ‚ƒƒƒzrrvxwy~€zwvsrrz€ˆŠŠ‰‰Š‰‡†‡„‚‚‚‚‚„…‡Š††‡‡‡ˆ‹ˆ€†‡‰‡…„‚‚ƒzrqtuy~~~|yurqs{„ˆ‰‰‰ŠŠ‰†…ƒ‚‚‚ƒ‰‰ˆˆˆˆˆŠˆ…„‡ˆ‹ˆ…„„„ƒƒ‚‚‚{tssy…€ztsu{€†‡ˆ‰‰‹Œˆ†‚‚‚‚‚‚ƒ‰“–•”””ŽŠ‹Šˆ……‚‚‚‚‚zyw}€€}zy{~€}€„‡‰‰‰‹‹‰ƒ‚ƒ‚‚ƒ‚„‹’”“’’’‘’’“”“’““””’‹‡…ƒ‚‚‚~~€~~€‚„||†ˆ‰‰ŠŠŠ„€ƒ„ƒƒƒƒ…Œ…ƒ‹ŽŽ‹‹‹‹‹‹‰ˆ†ƒ‚‚€€€€€€€€€€€ƒ‡}}~ƒ‡‰ŠŠŠŠ‡‚ƒƒƒƒƒƒ…‰|„‹‹‹‹‹‹‹‹‹ŠŠ‹‹ŒŒŒŠˆˆˆˆ†„‚ƒ„„ƒƒ„„„„„ƒ€‚‡|~}}ƒ‡ˆŠŠ‹‰ˆˆ……„……„…‚‚‡‡ˆ‰ŠŠŠŒŒ‰ˆŠ‹‹‹ŒŠˆˆˆ‰ˆ†ƒ†‡‡††††‡†…„€‚…v~}†‰‰‰Š‹ŒŠˆ†††…„„…„‚„…ˆ‰Š†…Š‹Š‰‰ˆˆˆŠŠˆˆˆˆˆ‡ƒ‚‚€€‚‚‚‚‚€‚oz€~‚‡‰‰‰Š‹‹Š‰††…„ƒ„„ƒ„…ˆˆ‰…ƒˆ‰ŠŠˆ‡‡‡ˆ‰ˆˆ†„‡‡…ƒƒ‚€€€‚€€€gm{}{~ƒ‡‰‰Š‹‹‹Šˆ†„„ƒ„ƒƒ„…‡ˆˆˆ‰ˆ‰‰‰ˆŠŠ‰‰ˆˆˆ††‡ˆˆˆ‡…„‚€‚‚iir{}~…‡‰‰ŠŠ‹‹Š‡„„ƒƒ‚‚„‡‹Œ‘’’’’Ž‡‡ˆˆˆˆˆˆˆ…ƒ‚‚ƒƒ„ƒkjkw€~}‚‡Š‰‰ŠŠ‹Š‰…„‚‚€ƒ‰’”–———––————˜˜˜–Œ†ˆˆˆˆˆ‰‰ˆ†ƒ‚ƒ„†…mlls€€}~…‰ŠŠŠŠŠ‹‹ˆ„ƒ‚‚Š’”••”“’‘‘‘’“‘ˆ†‡ˆˆˆˆ‰‰ˆ†ƒƒ…†‡nlinz€~|€†ŠŠŠŠŠ‹‹‹…‚…„ƒ‹ŽŒ‹‹‹ŠŠ‰‡‡ˆ‰ˆ‰ŠŠˆ‹ˆ…ƒ‡‰ˆˆ‰ˆˆˆˆ„‚€€ƒ†‡‡kkhhky€}}ƒ‰ŠŠŠ‹ŠŠŠ†‚‚‚ƒˆ…„‡‡†„ƒ„ƒƒ‚‚‚…‡Œ…„‡ˆ†‡ˆ‰ˆ‰ˆˆˆˆ‡…‚€ƒ††lmhfes€~|†ŠŠŠ‹‹ŠŠ‡…ƒƒ‚‚„‚…‹†ƒ‚‚‚‚€‚„Œ‰ƒ…ˆ‰ˆ‡‡ˆ‰ˆˆˆˆˆˆ†ƒ‚€„„ljgfek|€~}€‡‰ŠŠ‹ŠŠŠŠ‡†„‚‚…ŠŠƒ‚ƒ„„„€€ƒƒƒƒˆ‰ˆ…ƒ†ˆˆˆˆˆˆ‰ˆ†ƒ‚‚ggfgfhp~€}~ƒ‰ŠŠŠŠ‹Š‹‹‰…‚„ƒ‚€‚€‚€€‚‚ƒˆ‰ˆ‡††‡ˆˆˆˆˆ‰ˆˆ†ƒ€€hhgffghv€~€ˆŠŠŠŠ‹‹Œ‹Š†‚„‚‚€€€‚‚€€‚‚‚ˆ‰ˆˆˆ‡‡ˆ‰ˆ‰‰ˆ‰ˆˆ†ƒ€ihgeghhr…Š‹ŠŠ‹‹‹‹‹ˆƒ‚‚‚‚€€€‚ƒˆŠˆˆ‰ˆ‡…†ˆ‰ˆˆ‰ˆˆ‰ˆ…‚ihgegiho}€~€‡Œ‹ŠŠ‹Š‹‹‰„€€‚€€€€ƒˆŠˆˆŠ‰‡ƒ„‡ˆ‰‰‰‰ˆ‰‰‡„jjihihhju~‚ŠŒŠŠŠ‹‹Œ‹„€€€€‚ƒ‚ƒ‚„ˆŠˆˆ‰ˆˆ‡ˆˆ‰‰‰‰‰‰‰‰‰‡lkjjljhiq~‚†ŠŠŠŠ‹‹Œ…€‚„„„„……ƒƒƒƒƒ††„‚ƒ„ˆŠ‰‰‰‰ˆˆˆ‰ŠŠ‰‰‰‰‰‰‰‰klmnonlns|€}}~‚‰Š‰‰Š‹‹‹…€‚ƒ…††…„„„„„„……………‡Š‹ŠŠŠŠ‹‹‹Š‰‰‰‰‰‰‰‰‰‰{zzz{{{zzzzz{{{zzzzzxzzzzzzz|ƒ…„ƒ……†‡ˆ‡††‡ˆ‡‡‡‡††‡‡‡†‡‡†…ƒ‚ƒƒ‚yzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ„„ƒ„…†‡†……†ˆˆ‡††„„…††††‡†„ƒ‚‚zzzzyyzzzzzzzyyyyyyyyyz{{zzzz‚‚ƒ……ƒ„……†…„†‡‡‡†…„„„„…†‡‡††…ƒ‚‚zzzzyyyzzzzyyyyyyyyzzzz||{{z|‚……„„……………†ˆ‡…„ƒƒƒ„……‡‡‡‡†„ƒ‚‚€€y||{zzzzzzzzyyyyyyyz{{}~||||~€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡†……ƒ‚‚|~|}}{yyzzzzzzzz{{}}~}~ƒ‚ƒ…„„„……‡†††‡…………„„…†‡‡‡†……‚‚‚€‚€€~~|zzzzz||{{||}€€€€€€‚„…ƒ„„……„„„„††††„…†………„…††‡‡‡…„‚‚‚„€~€~}|{zyz}}|€€ƒƒ‚€‚ƒ………†……………„ƒ„…††…„……„…†††††††…„‚‚€ƒ‚€€€~|z|€ƒ……†„„ƒƒ„ƒ„…‡††††……………„„…††…„„„„„…††‡††……„‚‚‚ƒƒ‚€€€~~€ƒƒ‚‡ˆ‡‡…„„„…„…‡‡††††……„…………„„……„ƒ„„„†††ˆ††„ƒ‚‚‚‚‚ƒ€ƒƒ€€€‚‚‚€~€„…„„‡‡‡‡†…………………………†…ƒ„………†††ˆ‡…ƒ‚‚‚‚‚‚‚ƒ€‚€€‚ƒƒƒƒ€}}}€}}}~ƒ†‡‡†ˆˆ†††……„…………†…†…„„……„„„„„…„ƒ‚‚‚‚‚ƒ~€‚„…„„„„}|z{|{z{~}‚ˆˆˆ‡ˆˆ††…………„…‡‡ˆ†††…„„„‹—š›žœœš–‰€ƒ…|~€‚‚ƒƒ„†‡„}|}{xzxx~~|€‡ˆ‡‡ˆ‰†……„„……†ˆˆ‰ˆ‡……„ƒ‡‹ŒŠ‡‡…„„…†‰ƒƒ…‚€€„‡‚||ƒ~xxwy‚€|…ˆ‡‡‡ˆ†…„ƒ„„…†‡ˆˆˆ†…ƒƒƒˆ‚{{|{yyywyx€ˆ„…„„…{xx|}ƒ†€{|‚xyz|ƒƒ|„ˆˆˆ‡‡†…†„„„…††ˆ‡†„…ƒ‚‚ˆ|~~|{zzzzz}Œ…†ƒ‚ƒƒ€~~‚…€|}~}z|}}ƒ‚{}……ˆ‡††…†…„„…†‡ˆˆ†……•£ˆ|{€z{{{{{zz‹¡«ˆ€ƒ€€€€€~||}}}}~~}}~‚„‡ˆ………………„…ˆ‡††ƒ€|–¶£€{~{€€€€~£¨‡€€€€}}{}}||}}}}}{{z}~€‚‚„…„ƒ‡ƒ‚‹›œ›š› ¡ Ÿž¡¥ •€}€€~~~~~}‚Š~}}~}|yxwyyyxwx{€€€€‚‚‚Œ¶¿ÃÀº¾ÃÅÄÀ¼ÅÆŶ…€{}€~}}}ƒ‰„€€€‚€}||}}}€{{}}€€€€€’¬ÃÍÓÔÖ××ÕÓÔÐǸ¡{{}~~~|~€ƒ„‚‚ƒƒ€}||}}|z{|~~~~€€€€‚ŸŒƒŽ¡¢©§¤¡™†}”™}||{{}€€~€€‚€‚ƒ€||}~~|xx{€}|~€€€€€€€¬·Š„…‚€…“‹Ž§Á¤}~}||}~€€€€€~~‚‚€||}}}{xy|€€||}~€‚€¬ÐÐŽôˆŒ°ÈÄÊÓФ~€}||}€€€‚…ˆˆ…~|||||||{}„‚}}}~€‚‚‚~¨ÎÏδ ’Œœ³ÂÏÐÌ¢€~}|}}~€‚ƒƒƒƒ‚}{{{|||}|}€~||}~‚‚€~¢ÎÑΩˆ‚‚‚‚‡šÈÒ΢ƒ€}}}}~€€€€|xwwwwxy{|{zyxzzyzz}€”¾±¶‹€ƒ‡‰‰ˆ©©±‘„ƒ‚~}}}}~€€€|xwwwwwxyyyxxxyyyyyz~€‚„‹†Šƒ‚‚‚‚…ƒ‚†„‚€~}}}~€€€€€€€}€{xxyz|{{{z}||{{{{|~~€‚‚€€‚€€€€€‚€’‰‚€~}}~€€€}„…|{{||||||}|{{{zz|}~~~‚€€€€€€‚~…„ƒ‚€€~}}~~~€€€€‚ƒƒ|||~}{{||{z{{z{}~}}~€‚€€~~~€€„„ƒƒ‚‚€~}}}}~€€€€€~€€~}}€€|{{{|{|{z{}}~~€‚‚‚‚€€€ƒ‚ƒ‚‚‚‚€~}}||}~€€€€€€}|~€€|{{||{{zz{~}€€€‚€‚‚‚‚‚‚{~Œ‚‚~}}|}}~€€€€€€}|}~{z{|{{{{||}~~‚‚‚‚‚‚‚}|‡‡‚ƒ~~~}}}~€€€€€€}}||{zyyyyyxxxxzz{~~~~€€‚‚‚‚‚‚‚€}}ƒƒƒƒ€~~}}}|}€€‚}xxwvutttvvuvvuvvv{}~~~~~~€‚~‚„„ƒƒ~~}}}}|~€€€}wvvwxyxyzzzzyzyyy{€~~~~~€€€ƒ€}„ƒƒƒ‚~~}}}}}}€€€€}{{}}}}}~€~~~‚€€€€~~~~~~~€€€€‚€{{}ƒ‚€~~~}}}}}~€€€€~€ƒ‡‡‚ƒˆˆ„ƒ€€~~~~€€€€~zyz„”ˆ‚~~}}}}}~€€„…‡…ƒ‚‚ƒ„ƒ‚‚†‡ˆ„€~€~~~~€€€~ywy}„Š†‚~}}}}}~~€€€‚……„ƒƒ…‡‡ˆ‡‡ƒ‚‚€€€~~~~~~~€~zwx{‚‚‚‚€}}}}}}}}~€€€‚„ƒƒƒ‚‚‚€€~~€~~~~~~}€~zywxz€ƒ‚‚~}}}}}|}}€€€€‚†„„„ƒ„†„ƒ‚~~~€€~~~~~~~~‚‚~zxxyzƒ‚‚‚€~}}}}|||}~€€„‚ƒ……†‡†††„ƒ‚‚ƒƒ€}}~~€€~~~}~~~~~€‚~|x{{{}ƒ‚‚‚~}}|{||}~€€‚‡„‚ƒ‚‚ƒƒƒ…‚‚}}~}~€~~}}~~~€€€~{|~~~€‚‚‚~}}}}||}}€€‚€‚ƒ‚‚„‚€~}~~~~€~~}}~}}~‚~€„„ƒ‚‚‚„„‚€~}~~}}}~€€€€€€€€€€€~}}~}~~~~~~~~~~}}~~ˆ‰‰‰‡…………‚š~}}}~}}~€€}~€‚ƒ„†††‡ˆ‡†ƒ€€€~}}}~~ÏÏÏÏÐÑÐÏÑÐÏÏÏÏÏÊÄÇÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÍÏÏÍÈ¿´¯¦¢•„}ukkwjijppreidX^b^]e_W]b_aXRPW\[_e`fUVYWVWVU[XQW^^]YVMD?:<:534?3ÏÏÏÏÏÐÏÏÐÐÏÏÏÏÏÊÃÇÃÊÎÏÎÎÎÎÎÎÏÏÎÎÎÎÎÍÍÍÍÍÍÍÍÍÌÌÌÌÌÍÎÍÍÏÏÏȶ ¨™x‚{‚u`]bs|p_`nlg[Z\^_ZYVQ_fa^UPPRZY^hiiQT]bZSQMSTZ`c]WQNLBA97654187ÏÏÏÏÏÐÏÏÏÏÏÏÏÎÍÉÂÆÁÈÌÍÍÎÎÎÎÎÏÏÎÎÍÍÍÌÌÍÍÍÍÍÍÍÍÍÍÍÍÎÎÎÎÎÏÎͦŒŠsnnqllnouz`ccef\\\]]\TSV_d[[YVSTVUX]hdRQX^VMNOSS]cba[RHDA=95333102ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÃÇÂÉÍÌÍÍÌÌÌÌÌÌÌËÊÊËÊËÌÌÌÌÌÍÍÍÍÍÎÎÎÎÏÏÎÎÍÍÌ·™{mpvzw~hhd^hZbdd[ZXWaYTYeeTSUXXUPMVQYiSPTXYPNSQPZa_aXUUOG?<86431..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÁÃÁÊÐÏÎÎÎÎÎÍÍÍÍÌÌËËËËËËËËËËËËËÊËÊÉÊËÌÌÌËËÍÁ’Œ†€ven|mdiaaaVjd[YUUO]`^`qlZPQV]VNKUSS[TZ[XVOQRVZ_ZY[SRYPI@?@<641.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÎÏȹ½»ÉÑÐÏÏÏÎÎÎÎÎÎÎÏÏÎÏÏÍÍÍÍËÌÌÍÍÌÌËÈÊËËÌÌÌÉÇƧŒzzti_mqpd`c`Y]aWS[TTQZeeficgVRW[UPRUTTYS[]aWTTSZ[\ZYUSPRPJ@@>7642/2ÍÍÍÍÎÎÎÎÏÎÏÏÏÎÏźſÇÏÏÏÏÏÎÎÎÎÎÎÎÎÏÏÎÏÎÍÍÎËÌÎÏÏÍÌÈÇÊËÌÎÏÌÇÅõ¢~{seWVda[^c`]d`XVSMOUZ`aeh_\TPQRPNUSTQ`NUW[\YZY^[\ZTQTPSMFD>B;520.4ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏƾËÂÅÎÎÍÎÎÎÎÎÎÎÎÎÍÎÎÎÎÎÍÍÍÊËÌÍËÇÃÄÂÆÇÊÍÎÊÿ¼¬~sUSRROVWoqfcc^ZMD@MZS\ab^WUQMMKINKQMYOSWWYX\]\]^YTPSOWPEGA?=2//--ÏÏÎÎÎÏÏÎÏÏÏÐÏÏÏÆ¿ÊÂÃÎÎÍÎÍÎÎÎÎÎÎÎÎÎÏÎÎÏÎÍËÈÈÇÉÿ¸Â¾Â¾ÆËÈŽ¯¡ª“~v`WYZXgi`ohf_WWSRTVdUQ\]TOWXSNJGPRSXXSRY[WVXZWRR\WSXRXV@67320..--ÏÎÒÕÕÐÍÎÎÌËËËÌÍÅ¿ÉÂÂÍÎÎÎÎÎÏÏÏÏÎÎÏÏÏÏÏÎÏÌÄÃÃÀýº­À¹À·¿ÇÀ¾¸¦ˆ‡€p†}f]a]^emXn^V_TQUU_\XOPUXRRSWXNMNTSS\h^OVZWWWW[TM]ZZ]]NC<6541/....ÏÛèîîäÓÍÌÅÁÁÃÆÉÃÀÉÂÀËÍÍÍÍÍÍÎÎÎÍÎÎÎÏÎÎÎÎËŽ¶½º³¤¼´¾´¶Â·»¶˜†}phdecdT[c]We\T]_QSTX^TTTPPNLMOTYWQTQQTe[MZ\XSOOYZPXYRNJA9=<962/---.ÜïÜ´¼æéÎÁºµ´¹¼ÂÃÂÉÆÂÊÌÌÍÌÌÌËËÌÌÌËÌËÉÉÉÅÅÁ´¯ª¯³ª ¬®·±³¸¯­¥‡zzxnlUaf]YbXR[j_X_ZLQSU^abVRNMLPSNUWLPUPS^^Zb]UPLMYYSYPRYJBC=;;972....îЄjp©êÛ·²¯¯µ¶ÀÆÆËÉÅËÍÍÍÎÍËÈËËÌËËËÊÇÄÿÁ³¡žœ¤§œš¡­®¬®ª©š‰wnmhjl\VYWaaVW^\Y`WRVUTUWaYSUPOSUSTUXSQYQSYaZ`XZ\W]`VT[XURA?G<877752011èuxsÍ軯¬¯²³ÀÄÆÊÉÃÊÎÎÎÎÍÈÂÉÌËËËÇÁº¶¶¸»«Ÿ•šž™”¡±­¬£›Ÿ•{jfeVhbSMHPXaZRQ^h`bp__b]UXPQQPQSWSVTVZSYOP`^_h[c_jh`UQOOLLA=@8855664/03уˆ‚xÂ髪°°³¼ºÂÉÈÁÊÎÎÎÍËúÇÍËÇÅ»¨ žœ¥§Ÿ—Š•›“’ž«¬¢”‘‘ˆwedh[]WRTRRZa_\iobQVcOXrp\RPLMMLILNNONORZTX_VTZY`f]\XQKMJGGDH@8555554016À…Šƒ~‰ÀêȤ§²²µ·µ¾ÈƺÁÌËÍÍÊÁµÅÌÉÀ·¨™ž •™–…——Ž‘””‹‹†vuqcYUX\YPX]XU^i]RQ^ffba\TSMLKIIHGEGNLT_]X\WP\hhdV]TMVSIKA@C:864434536=·‚„…†Œ¿çÛÇƵ­±¯­¸Å»­³ººÁ¾Ç¾²Àƽ°¥¡˜¢•–†ƒ…‚ŒŒ…Šˆ†ƒ…ƒ‚{ypaWVUV_[UXVSYhRPP_ifTS[YTNMMKKHEJIKSV^aTZRQnsdg`b]Ub[TUH<<;:8543365;?Ʋ²Œ„ÀåíîéÉÄ®¤£¬®£¢£¥¥¦«¼´¨§¯Ÿš —™¡”•†„†‚…z„‹‰…}€~wuqidYRZg[SUTU_\OY[^^XRRSSSNLNQLORQHEMQVaTSO_bc`[cj]ST]YHUF===:56658995677:=@@¼½¾˜Œ’½ãìоÝëȳ¾Ä¶¶²¶·Ãø©¡¢•”Ÿ˜š”ŒˆŽŒ‹‡†‚‚z€‡€~xywsrmmg[]eccZSTYY_^aYU^VX^ZURJNMPJCEFCAEGEDSIUX\Ybaa^SfaWZYQKFFG;86678>>=ÝÚàäæçæêëëéåáÜÕÏÉÁ¿¶¬¥ž¦SRSSW^`rTSRWcb^XQGrˆ…‚€wuxxuutg\`\OQZY[^TU^cic`T[cbSVNLNTMIC>BNUV_\]achb_]\c\``[b`^OF?:8569:99;@@@?eÑ‚«ïìììììëåÛËÄþ¹«©œŠ‰PKj{…ŒŽ]<80046?`ihjgPGz‚~~vtwzyurlh]UOMYZ\TVY^]ZKYb\^Z[`WLMTPMKMPORUWXYgz‘—š›™ššš›œœ˜˜’‹ƒteG9999;CMRTapu{~ƒn=::9999CTZ\^^j_G:9=CIKKضŒ¼º¬ª§œ“Š|z}ƒŠ•„{yz}[p268::@RQOOOLRMKumS1^—}[yuvukntmih`Q]k^VTZ[YQPWZ\b`ZWZ\WPJFBB??=::=DG\}`¢¯°°±µ¬]>78CHIRSHDA>NvN@ILMNC8:;;;Z`B?FKJCZµ~f‡„¡€JE?]tk`HDII‘}tcR68R‘‘cJA<;?NPPF^†j945†irw||rjjllfa^]Y_[OPXXPOS]\[YZ^_UTNGBAGJC?CQQJP–i\>K6555FROGEHHGF:8::;:JhG>DHNWaLHi´«§`ZMB?TRPC86:7w¢½”]ŠHDC[‰H>656AB@C„¢o762p‚b€tvysigjtxgYWVSSROWYPOZ^[X\b^YPSURJGLRJ=?OTQh ]Q>G6998FPD<;AGE>>AA@99ChNAGJV_kLFzñé±kjosqqquxuoij…Êð–_ŒINMW}~VKH@?@><9?~\:94\›[~rgjoggfeoaVW]XX\TTUQSQ\^[e_WVRPIIHFGMIDFPOQ}˜SGaQLZV`dkGJm·ÄÆÇÂÃÅÈËÌÌÊËÉÇq|§_‰NePsi\JKPTSNPMSe‰‡R>=7RŒJsUA?Tea][jcWPY\`\YSNOXU[dabZPPUTLF@?GS^ZYZSh”‚IBAA;[~ƒS<7556656>AA@968WOQj[YYaGM`…¸ÓÚÝßßááâââââØT27`bCKAN=AC@DMQPOKG@CCZ]QL@8=@=G:<5F_bdbcd`UY[[WSQQOT\\VZ\WOQZUQY][p~{^X`fn‘nCKGF@RzwHDC93439BEFGGF>7SNHmk[RaGCV‹ÅÝâéììëèëëéëïî—L<0?S=;898::75556987878;<><;SXz‰‘^np^ïÞtj„z]hÆäààáã×]U`eKŠãÞßÛÞæ§Zj]nnljgdccbbbaacgkortuvvvtTLYR\ÏâÛÞñÑaD>”–7Y©¯g5?=sâæ×ÕÜ–JPOTopqsuuttrmgecbcdfgiiE1/0246@CP\\j}ˆ¤ÙÍœŠ˜jgT€šš¡¥ªŽDOv|VrÏ×ÐïžlAtVgjmnmkfdcbba_^`cglqsstuwVDKPM†Ÿ·ÃÍ÷°D>\ËnfØá|`ËlGF·ûÌ©nVMKPVlnpqrssstqkgcbaabcfg?-.589>DMYiÐÛÞäéæçÕ¡\kP;679:88=L™Y^eULD:6B?f]affjmonlidcbbc```cgknprvWAFKONSix±äªaWJŸÕx§sȲP[g•Ãžc[TQMIW[jloqrttuutqmieccccdfE/.24:BN`tš¥äíííìëðÐWkLD99;99998i‚RL96::<;GCSfYhefiknonligfggeb`abfjntW@DINQUWYhrinrryØä×Üàß„poiec_]ZVQMJ^ehjmnqssuuutrojfdccceF/0138J†’’™š™°¨k\XINFRZRGFA644556H™ªn=@;7gSdkfehgefhlnnifedddba_`dS?@ILOTV^kx€†‡œ´´ºÅƼº¼µ‹‚~xn_WTPKLdi_cfikmoprsttsqojfcbcG7407KÄç‚af€}liVTYŠš]TSMNKHIKKKLA7778?RjnLPLA;@G<5?BDFHEg“tq`_^\[Z\]^^]]]`[X[]ajpsu{~…Œ|€„{plod``bdffdca`aL/;1->K[eƒzRITÅ¿ÁÏ°b]cfhjlmnqrqprqmiB391/----/...00.3KgcqZ\\[[[ZZZZZ[]‚€‡• ¨¯°³³´²¯®®¯¯°°±°±¬”offdbceghgfdeL+N<62//,,,,*5gLkqVZY[ZYXXXYYWuŠ«­¨£—Œˆ†…‚||{{{~€‡‘–nkogfccdfhihiO);C?Vº²d^`Q?EECDECCA@A@<6Ifa`ŠQAF_y€¹ÈΊZbfgikllmnoooia=4852GNLC98-+./0@uƒ‰u[]YYZXXZYZX[‘vƒ}rib^XTSRTWQPOOONOPRTY[nvjkhecbehikQ'8>>D]e_elgPGDFNPQTUVVWUYjpmbTLDBE`hS”¿ËÆs[behjkllnnonh^?353269;932148;>Ws’}„v[ZZZ[Z[Ybƒ[PLIHIIHKMLQaGEDEECAABA@@C]llkieabcejR'6;9;BJTaiqpjijhggfedb``ba]VJC=89@akWy²Âΰd^cfhklllnnmkdP:32221002//000.Jq}†¼Î¹{\]^^[\Z{d?===;;::::86679::98877888:BcmkkkgdbbfQ%54<6-002012346431.--.,*''*(((/NMAal[_»ÆÎœ_aegijllmmmkh]RMKKPONOPNLNPQPNolŒåääÇrbfhhgk‹L;<=>?@BDD=HVB;=><97778888>>SkkkkjheccN%44N\;-+32+(&&&&%%'((*,3QJ@_jRKPŽ½ÅˈZ`ceghjklmlkgca___]\[[[]^`bdTfkOvèÒÐñªfqstr‡„?><:87778999;?BGJON' &)5<[g^SNYœ¾ÈÂrV^`behijllmljigeca^\\]__acfUUSIRž”¯õ¯lƒ‡ŠŸg=>579986:=K>7444556548B>VjihgeaWOB&33-*6;;:;;;;:9888:;;9768765%$2347VafZQLe­Á̹j\`begijkmmmljihec`^\\]^_acUFHGILSo§†–À¸³«¦L@;36;;87;@>EWL>C754;LG?7546@?Ieiggedd\I-1/-.40/..,,++++*)(**)('(()+%'11/3YclbRNK{¼ÃЭc^begiikklmnlljhfc`]\\^_`bVDFFJOTZa…Ô³H=xš?A733@`R47F>42135669PZMKD<63;AA[ihihgeaYG81023358::::877789;<<99=@GHLOQPOSinnpcRMS•¾ÄÓ˜\befgijkklmmlkihfc_]\]^_bXBDGJQU\gŠÞ5?”z;@315_€o@3530002449BDKTXWRB36C?Ng]MNP_c`]XTRSUTUZ]cec_ZXXYZZZZYXWW[bhjlmmoopknv]PN]¤ÀËÌ\ceghjkkkmmmlljifb_]]]^aW@DGHR\cl¬ˆD^¢X<>669oh<<5//0135AFKP\_]^O73@?FcP242Gfdb``___^\]]afigda__]\\]^^\Z[\afiklmoosqphXQMk±ÃÐÄt_degikklmmnnlkkifb_]]^`U>CŠ”D>@@NAFWYMBB=987998879=<<@HGFB;BWMS^ffeeeeefghfeca__adillljfdaa```_]Z[\^bgjqsrpneRNM]ªÆÍÒŠ[acefhjjjlllmmkifca^_Q0@JFk„WFM\x{GA5655667889:>AC?>?>;;<;<;<<<@DA=L:Phhhfededefghhggfeca^_chlmmkiecba_^][Z[[\_cptstuwhTOJr¿ÊÒÃl_cefhiijkklllkkifc__Q3=GD’åÑvQf£Å¥PpF=??>?ABCEEGLRPOOSTSUVVVVWVSRWNZAgdddedcddefggffgfed`^^aglmlkheca^\[[ZZZZ\]ppmllmh]RMO™ÇËÖŸ[adfgghijjkkkkkjheb`R2;DG`³ÌˆO`Š¼‰HŒ}RF\bfjmnqqqopqqpoooonopppqrtyg€‡Tc’ubdccccdeefeefeefd`^]_fkllifc`][[ZZYY[[[ogehicc_UOKgºÆÐÌt[bghfghiijkkkkjhgdaS-6=EIVgjhd^šOŒŠsdupmkhdcb_[[YXXWVVVUUVWXY[_a]ft|daebbbbcbcdddeeeefffca_^aehjihda_\[[[YYZ[[lhhhsoidUNNN‰ÃÇÕ°``dedfghijijkkkiie_N+56=@?@DIUNrvc‚rcVZUQQNMMKJIHFFFFEEFFFFGIIJMKLPQ`q_hjnbabbbcdddeeffffedb`^_ahiiiea^Z[\[ZZZZomhhrpsjTMOLYªÅÌÓ“b`cefggiiijkkkhhcTC+40340--2LUYzodOKIGIGDBBA@??>==<<<==>===>?@BBBABHbr³Ûܨeabbcdddfffggggfdb`]^chjlkhc][\\\\[[krkiqptsf[PNKx¹ÄÑÊs\befefhhijkjjhe`SB*31846:>EHY‚‚kN@@????>=<;::999999::;::::;:;>>==<=Nf…ÊÍÂy^aabddefffgggghfeca_^bfjljhc]\]]]]\vypnqrqoqq[NLR•ÃÇ×®_aefefghhjkjjjhf`H,0/.-3566>[†r]D;;<<<=<;988888876887788789::<;?AMQEEDCBBABBFW}¡ž™¸‡5Rffdbbbbbcddddddfedeghfec`]]_cgikhd`^][ZomlejlptppkRJLL¿ÂÒÅnadefhjkkkjijigd^RB??@???=?VVTg±¢›”¸´“mMLLHIKNLovRMNPQNMMJzÞêèÒ·Áç•2Ngfdbbbbbcddddeefffefhgfeca]]`cgjljfa]\[lfdeiksuqst_MKZkÀÆÕ©acefhjkkklkkjhfc]ZXWUUVUUHMFAsìÇŽÞéðåeGN\cdjšŽ–™“™a\[XCD|àíÕÒçñìr1Kfdeca]]`acddeeeffgggghggfd`]]`dhlmlif_]hllgnommqsrlUKOP\ªÄÊÔ_cfhhijkkkkkjhfb_^^[ZZYYKK:6ZÖôìÞÓÜì¶g?7:86J}‚…‚o@+,+3Iov³Â½³£{D2Hgded`‹¹¾©kbdddeefggggggggfd`^^aejlmmkfdztspvrljllkngLJLJs¼ÀÎËs]cefghhijjjjjhfedb`]\[[KL75As­´··­o…];469As¡¥¥¦pCA@AGj‘r_WNF=562GhfffcyÏéå¤`cdddefgfgfffgfgfeb^\_eiknnlhyrmmjijlnldPKMLO–ÁÃÕ¬\]adffhhhiiikjhhgeb_]\[LN64:9>EOXl†«ÌpŠëòðïíìííìàëîˆaá€eTKE=<8;KffgedefddkŠ|eddddeeeeeecddeeeeca]\_dilnmvpommnjgjknooiSKKMj½ÇÐÕˆ^dfhihhhiiijihgggeb`^LO88?;>@HPYl…§Ñp}æìêëìëìììäìòƒ^Ä­Œp\OD;627Mgffeeefdde`^cddcddddeeeddeeedddca^]^ciknnovtplmnohilkkUKKNO˜ÈÈÔ¹d`begggghhiiihgggfda`F?;A@6:>DLXn‹²á‡kçôòñðïñïìèåßto‘gL?8/--.2Kgfeeededdcba`cc`deddeeeedeffddeecb^[^dhknprponqtrmilmgVMKMKg»ÈÍÕŠ`ffghhihhhhihhgggfdbE5=9211028?DSe—ŠGz‡„…Œ~rf\VM5d[@C52E{„?-5Jggeeeddddcbe ¹¸–cdddeeeeefffeeeedca]]_cmlmosvvpunlmllodPKLMN“ÉÊÕ¿jefhihihhhhihhhgggfeG5=<4.Iƒ‘P89IE>j@4568=D><<;=;Fl?CJ8.„éÁR,7Kfgffedddcbb`•èîç›bccccdefeeedddeeec`][]lpvtpsrnqkjjhjteMMMMKbºËÎÕ–afghhiihhhhiihggffgIQ@<6,dÐó†16CSB[zNJIKV\TSSRTW†jkb521GV711:Jffefeddccbbbb–º¸¦habbccdddddccdeeedb`][rxwrkjlppkjlvstf_XMLNQŽËËÒÇudghikjhhgiiihgggghJLB:916DeG321gaFƒ‰}‚Š¦œz{€‡qoiGTX6442/122>867.+*++--,.Cfhgfeeddddcbbbbaaabcbbdeddcbbbbbccbbcba„~‚~xw{xliqxxzvg^SKKMMU¦ÉÆ×¹ebdeffefghghgfcZTB!56+,-+*)())**'%%$##$$##$#%%%%%'(*''')*(+Aehffeeedddccbbbaaa`babdeddcccbabbbbbccb†}vytskmuqljpjcbbVLKL]b€¾ÄÌ׎^bcdefffgggeba\XF#44(((()),.01.,----...00023344:@B@'"$%'+.?cgffeeedddccbbbbbabbccdeedccbbcccbabcccƒ€zzysosebhpzrkmfZMLLZa_ÄÄØ¿gaccdefeefffggf^J(44*&%%04568864555544454355444301/#"$)/21?chffffeeeeddccbbbabbcegfefedddedcbabcdc…††‡‡‡‡‡‡††‡‡‡‡†††‡‡‡‡‡‡‡‡‡‡…„‚~|wutttvxwxxxy{{zvuwzz|{zyz{~€€€€†††††††††††††††……††††††††‡……†‚€|yttsvuvxxxwvy{zzwtvvxyyxwy{}€€€………………†††††††……………†…†††………„…†ƒ€{uuuvvwyzxxwz{zyxvvuwyywxyy}}€€€…………………††††††……………………………„………†„zxywwy{{yxwyz{zyxvvxxxxyyy~~€€€†…„„………†††…††………………†…„„ƒƒ„„„„‚€|zxwxz|{yyzzz{zzvvxxxyyyy{~€€€…‚‚ƒ„„„…………†……„……………„‚ƒ‚‚‚‚€~~|yxwxz{yy{||zzxywvxzzyyx{}€€€ƒƒ…ƒƒƒ„…………………„††……„‚€€}}}}{yxwwwwxz{{{{zyxwwwwxxyyz}~€€ƒ„†ƒ‚ƒ…………………„……‚‚‚~~€€}}||||{ywvwvux{}|{{{yxxwwuuwyyz}~€ƒ‚‚ƒ„…†‡…„ƒ~zz{|||}~~}||z{|zzyxwxxxzz|||{{zwxxvuuvwx|~€€~€~~„……‚~zxxwxyz{z{{yyxy{xzzyxxyy{z{}|||{zyxxvvvuv{~}~€€€€€€ƒ„„†…„…ƒ~{xyyxwwy{y{{ywwxxyz{|}}~|{wvxwvvvvz~~€}~€€€€€ƒŽ‹Š‹Ž~uwvvvvy{zzzyvuvwzz{}}||z{yz|{{z|}~~~…~~~~~~}}~…†‚ƒ„…‡‡ˆ‹ƒtuvuuvy{{zzxzzzzyz{~~}{z~„†ˆˆ‰‰Š‰‡ˆ„~}|Š€}~~€€}z~†…ƒ‚…„„†ƒ†‰†wttuuvyyzyyz{{yyz{|~~~}‚………ˆ‹‹ŒŒŠŠ‰~}|„~„„……†‚{†ˆ†…†‡‡†ˆ†ysttuvxwxyyzzzyyz}~~€„ƒƒ„†ˆŠ‰‹‹ŒŠ‚}|zƒ€ƒ‡ˆˆˆ‰†~‚‡ˆ……‡ˆˆ‡ˆ‡}uuutuwxxyyzzyxxy|~~~‚‡‰‰ˆˆˆ‰ˆŠŠŒ‹ƒ~yr‚€„„ƒƒƒ„ƒ‚„††…†‡‡‡†€‰‰zzxxuvxxyzzzywyzz{{|}~ƒ‡‹‰…‰ŠŠŠ‹‰Š‹†|wr‚‚‚€€‚€ƒˆŠˆ‰‰‰‰‡ˆ‰‡‰Œ‹…€|{yyyy{{{{zzzxspiq{}„‰Šˆ‡‰‰‰ˆ‰‰ˆ‰‡|u„ƒ„ƒ„„ƒ„‚‚…ŽŒŒŒ‹‹Œ‹‹Ž‰ƒ€€€€‚‚€}|xuswy„ˆŠˆ‡‡ˆ††‡ˆˆˆ‰„vl‡‡††ˆ‰ˆˆˆ‡ˆŒ‡ˆŠŠ‰‰ˆˆ‰’’‘‘“““’…ƒƒ„ƒƒ„ƒƒ„„„ƒ€„……†…‡‰‡„„‡ˆ…„‡„zt‰ˆˆˆˆˆˆˆ‰ˆˆ†‚††††…†‰ŽŽŽŽ‰„„„ƒ‚‚‚‚‚„††…ƒ„}yvvvustuvtvz~ƒ†‰‰‰ˆˆ‡ˆˆˆˆ‡…‚‚€ƒ„‡ŠˆzzŠˆ~}‰†ƒ‚ƒ„‚ƒ„„„„€}ywxvvuwxx{}~€„‰‰‰‰ˆ†‡ˆˆˆ†„„„„‚‚‚…Šˆ€}|‚‰ˆ€{|€‡ˆƒ‚ƒƒƒ‚€‚€€‚‚|zŠŠ‰‰‰ˆ‡†‡‡…ƒ„††…‚‚ƒ‰ˆˆˆˆ‰‰Šˆ†††ˆ‰…ƒƒƒƒ‚utvyyz|€~zyytsuˆŠŠ‰‰Š‰‡†‡…‚ƒƒ„€€‚„Š‡‡ˆˆˆˆ‹Œ…‚‡ˆ‰‡……ƒ‚‚tpstuz}|yusprv„ˆ‰‰‰ŠŠ‰††„‚‚€ƒ‡‹†…††††‰ˆ‚€…†‰‰‡‡…„ƒƒ‚‚ursu{ƒ‚|ursw~€†‡ˆ‰‰‹Œˆ†ƒ‚‚‚‚†‘’‘ŒŽŽ‹‡††††„‚‚‚‚‚yvux€ƒ€€zvw{}€„‡‰‰‰‹‹‰„‚‚‚‚‚‚ƒˆ‘–••””“‘’’““’’‘Š‡„ƒ‚‚ƒ€~}~~€€~~~€ƒ||†ˆ‰‰Š‹‹…€‚…ƒƒƒƒƒ‹‹ˆŽ‘‘‘’‘‘‘‘‘‰ˆ†ƒ‚ƒ€€€†}}~ƒ‡‰ŠŠŠŠ‡‚‚ƒƒƒƒƒ„‹„}ƒŒŽŒŒŒŒŠŠŠŠŠ‹Œ‹‰ˆˆˆ…„‚‚‚‚‚‚‚‚‚ƒ‚‚€€†|~}}ƒ‡ˆŠŠ‹‰ˆ‡…„„„„„‡‚}€‡ˆ‰ŠŠŠŠŠŒŠ‰ŠŒŒŒŒŒ‰‡ˆ‰ˆ‡ƒ€…‡‡††††‡‡……ƒ€€…v}}†‰‰‰‹Š‹Šˆ†…†…„……ƒ„…‡‰Š‰ˆŠŒŠ‰‰Š‰‰‹‹‰ˆˆˆˆˆ„ƒƒ‚‚ƒƒƒƒƒƒ‚‚€‚oz€~‚‡‰‰‰Š‹‹Š‰†…†„ƒ……ƒƒ„‡ˆŠ‡‚‡Š‹‹‰‡‡‡‡‰‰ˆˆ‡†‡…ƒ‚ƒ€€€€€gm{}{~ƒ‡‰‰Š‹‹‹Šˆ†…„ƒ„„ƒƒ…‡ˆ‰‡…‡ˆ‰Šˆˆ‡†‡ˆˆˆ‡„…‡‡††…ƒ‚€€€‚‚‚€€iir{}~…‡‰‰ŠŠ‹‹Š†„„ƒƒ‚ƒƒ…ˆ‰‰Š‹‹‹‹‹ŠŒŒ‹ŠŠˆ†ˆ‰ˆˆˆˆ‡…‚€€‚ƒƒƒ‚kjkw€~}‚‡Š‰‰‰Š‹‹ˆ…„‚‚€‚†‹ŽŽ‘’’“““”••••••“‡ˆˆˆˆˆ‰‰ˆ†ƒ€ƒ„……mlls€€}~…‰ŠŠ‰ŠŠ‹Šˆ…‚€‡“”˜˜——–••–••–——˜”‰†‡ˆˆˆˆ‰‰ˆ†ƒ€ƒ…††nlinz€~|€†ŠŠŠŠŠ‹‹‹†„†‚…’’‘ŒŒŒŽŽŒŽŽŽ‘‹„ƒ‡ˆˆ‡‰ˆˆˆˆ„‚€€ƒ†‡‡kkhhky€}}ƒ‰ŠŠŠŠŠŠ‹‡‚ƒƒ‚ˆ‹‰ˆˆˆˆ‡‡†„…………‡†…†ˆˆ†‡ˆ‰ˆ‰ˆˆˆˆˆ…‚€€ƒ††lmhfes€~|†ŠŠŠŠ‹ŠŠ‡„ƒ‚‚‚†…‚ƒƒƒ‚‚‚‚‚‚„‚ƒ‚„ˆˆˆ‡ˆˆ‰ˆˆˆˆˆˆ†ƒ€€ƒ„lkgffk|€~}€‡‰ŠŠ‹ŠŠ‰ˆ†„„‚ƒ‚€€‚‚‚‚‚€€€‚‚ƒƒƒ‡‰ˆ…ƒ†ˆˆˆˆˆˆ‰ˆ†ƒggfgghp~€}~ƒ‰ŠŠŠŠ‹Š‹Šˆ…‚‚‚‚ƒ„ƒ„‚‚‚€€€‚ƒ‚…‰ˆ‡††‡ˆˆˆˆˆ‰ˆˆ†ƒ€€hhgffghv€~€ˆŠŠŠŠ‹‹Œ‹Š†‚ƒƒ‚€€€€€€€€‚‚‚…‰ˆˆˆ‡‡‰‰ˆ‰‰ˆ‰ˆˆ†ƒ€ihgeghhr~…Š‹ŠŠ‹‹‹‹‹ˆƒ€ƒƒ‚‚€€€€€€€€€€‚‚†‰ˆˆ‰ˆ‡†‡ˆ‰ˆˆ‰ˆˆ‰ˆ…‚jhgegiho~€~€‡Œ‹ŠŠ‹ŠŠ‹‰…‚‚‚€€€€€€‚†‰‰ˆŠ‰ˆ‚ƒ‡ˆ‰‰‰‰ˆ‰‰‡„jjihihhjv~‚ŠŒŠŠŠ‹‹‹Š†€€€€€€€€€€‚‚‚†‹‰ˆ‰ˆˆ‡ˆ‡‰‰‰‰‰‰‰‰‰‡lkijljhip}‚†ŠŠŠŠ‹‹Œ‡‚‚‚‚„„„‚‚ƒ†ŠŠ‰‰‰‰ˆ‰‰Š‰‰‰‰‰‰‰‰‰klmnonlns|€}}~‚‰Š‰‰Š‹ˆ‚„„„††††…ƒƒƒ…†…ƒ‚ƒ†Š‰‰‰ˆ‰‡ˆˆˆˆ‰‰‰‰‰‰‰‰{zzz{{{zzzzz{{{zzzzxxzyyyzzz|ƒ…„ƒ……†‡ˆ‡††‡ˆ‡‡‡‡††‡‡‡††‡†…ƒ‚ƒƒ‚yzzzzzzzzzzzyyyyyyyyyyyyyyyyz‚‚ƒ„„ƒ„…†‡†……†ˆˆ†††„„…††††‡†„ƒ‚‚zzzzyyzzzzzzzyyyyyyyyyz{{zzzz‚‚ƒ……ƒ„……†…„†‡‡‡†…„„„„…†‡‡††…ƒ‚‚zzzzyyyzzzzyyyyyyyyzzzz||{{z|‚……„„……………†ˆ‡…„ƒƒƒ„……‡‡‡‡†„ƒ‚‚€€y||{zzzzzzzzyyyyyyyz{{}~||||~€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡†……ƒ‚‚{~|}}{yyzzzzzzzz{{}}~}~ƒ‚ƒ……„„……‡†††‡…………„„…†‡‡‡†……‚‚‚€‚€€~~|zzzzz||{{||}€€€€€€‚„…ƒ„„……„„„„††††„…†………„…††‡‡‡…„‚‚‚„~€~}|{zyz}}|€€ƒƒ‚€‚ƒ………†……………„ƒ„…††…„……„…†††††††…„‚‚€ƒ‚€€€~|z|€„……†„„ƒƒ„ƒ„…‡††††……………„„…††…„„„„„…††‡††……„‚‚‚ƒ‚ƒ‚€€€~~€ƒ‚‚‡ˆ‡‡†…„„…„…‡‡††††……„…………„„……„ƒ„„„†††ˆ††„ƒ‚‚‚‚‚ƒƒƒ€€€‚‚‚‚‚€€ƒ…„„‡‡‡‡†…………………………†…ƒ„………†††ˆ‡…ƒ‚‚‚‚‚‚‚ƒ€‚€€‚ƒƒƒƒ~}}€€}}}}‚†‡‡†ˆˆ†††……„…………†………„„…………„ƒ„„ƒ‚€‚‚‚ƒ}€‚„…„„„„}}{|~}{{~}€‡ˆˆ‡ˆˆ††…………„…‡‡ˆ†††…„……†Ž’–—˜™———”Œ‚ƒ…}~€€‚‚ƒƒƒ…‡…||zxzzw|~|~†ˆ‡‡ˆ‰†……„„……†ˆˆ‰ˆ‡……„ƒ…Š—–”ŽŒŒ‡‚„…ƒ€€~~€ƒ‡„}{€yxww|~…ˆ‡‡‡ˆ†…„ƒ„„…†‡ˆˆˆ†…ƒƒƒ…‡|{{zyyxwwyzŠƒ……„„…|xx{}‚‡ƒ|{‚yxyz…}~ƒˆˆˆ‡‡†…†„„„…††ˆ‡†„…ƒƒ††|}~}{zzzyzyˆ‰„ƒ‚ƒƒ€€€‚…‚||~z{||‚…||€…†ˆ‡††…†…„„…†‡ˆˆ†…†Š˜“‡„z}}z{z{{zyƒ”¤•€‚‚€€€€‚€}}}}}}}~€}}~ƒ†ˆ………………„…ˆ‡††ƒ}‹¶°“…z|~{y}}|}|z‚³ž€€€€€€~~}{|}||}}}}}}}|~ƒƒƒƒƒ‚€„…„„‡ƒ’••–‘“——–———™—Š‚}€€~~~~}~‡}}}~~}}yxwxyyxxxz€€€€‚‚‚‚‚¡´ºº±³¸¼½¹´·À»º—~{}€~}}}~‹†€~€€~|{{{{~~}|{|~€€€€€‡¨ÇÎÒÒÓÕÕÖÓÔÖÑʺ™€{{}~~~|~€ƒ„ƒƒ„€~||}~}|}}}~~~€€€€€€€‘—‹›§´¶º¼¸µ²©›……||{{}€€~€ƒ‚‚‚…}||}~}yxz€~}}€€€€€€–³‘‚|ƒƒ„ƒ„„~‰£¸ˆ~}||}~€€€€€~€€‚|||}~}ywy~€~{|~€~•È̽ª´´”…†’·½´Çш€}||}€€€€„††„€||||||zz{‚}||}€€‚‚‘ÈÐÐËĶ¡ŸµÄÍÒÏ¿ˆ€~}|}}~€€ƒ„……„{||||||}|„}}}~€‚‚ÅÐО‡€‚€ˆ—»ÒѾŠƒ€}}}}~€€‚}yxyyyz{{|{{zz{|||~~€€€‡¼ÆƬ€†‰‰‰…}œ¿½°…„ƒ‚~}}}}~€€€€€~wuwvvvwyzyyxxxyyyxy}€ƒ““”Œ‚‚ƒƒƒ†Œ‰‰…„‚€~}}}~€€€€€}|}zxxxxzzzzyz{z{{{z{}~€‚‚€‚‚‚€€€€€’‰‚€~}}~€€€}…€{zz{|||||}}|{{{z{}}~~~€‚€€€€€€€‚‚€…„ƒ‚€€~}}~€€€€€~‚„„}}{|}||{||{z{{z{|}}}~€~~~~€€€„„ƒƒ‚‚€~}}}}~€€€€~‚€€~}{}€|{{{|z|{{z{}}}~€‚€€€€€‚‚ƒ‚‚‚‚€~}}||}~€€€€~€|}‚~{zz|{{{zz}}~‚‚‚‚€€€‚‚‚{~Ž‹‚‚~}}|}}~€€€€€€~|}|{|||{z{z{}~~‚‚‚‚‚}|ˆˆ‚ƒ~~~}}}~€€€€€€€~}}}{{{|{{{{{{}}~~~~~~€€‚‚‚‚€}}€‚ƒƒƒ€~~}}}|}€€€€~{zzyxwvvvwvvvuvxx{~~~~~~~€€€~‚„ƒƒƒ~~}}}||~€€€‚€~ywvvvuuuvwwvvvvvvw~€~~~~~~~€€ƒ€}„ƒƒƒ‚~~}}}}}}€€€ywxxz{z{||||{|{{{{~€~~~~~~€€€€€‚€{{}ƒ‚‚€~~~}}}}}~€€€€~‚‚€~}~€€€€ƒ‡„~~~~~€€€€€~zyz„“ˆ‚~~}}}}~~€~ƒ…ˆ…€€ƒ‚†††„‚~~€~~~~€€€~ywy}„Š†‚~}}}}}}€€ƒ‡‡†ƒ‚‚ƒƒ……„ƒ€„†‡†‚€€~~}~~~~€~zwx{‚‚‚€}}}}}}}}€€€€‚ƒƒƒ„‡‡ˆˆ††‚€~~~~~~}~€~zywxz€ƒ‚‚~}}}}}||}€€€€„ƒ€€€€‚‚€€€~~~€€~~~~~~~~‚‚~zxxyzƒ‚‚‚€~}}}}||||~€€€‚‚„‡†‡††ˆ‡ƒƒƒ‚‚‚€~~~€€~~~}~~~~~€‚~|x{{{}ƒ‚‚‚~}}|{||}}€„„‚„„„……ƒƒƒƒƒƒƒ‚~~~}~€€~~}}~~~€€€~{|~~~~€‚‚‚~}}}}|||}€€„†ƒ‚‚‚„‚„ƒ€‚}}~~~€~~}}~}}~‚~€‚„ƒ‚‚‚ƒ„€~}~~}|}}€€€‚ƒ‚€~~~~~~~~~~~}}~~ˆ‰‰ˆ‡…………‚‚š~}}}}}}}€€€€€~€€€}}~~€€€~}}}~~ÏÏÏÏÐÑÐÏÑÐÏÏÏÏÏÊÄÆÃÌÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÍÏÏÍÇ¿µ¯¦¢–ƒ|tjkyjjkposehdW]b^]e_V]b_aWRPV[[^d`gUVXVTVUT[XQU]^]ZVMD>9<:534?3ÏÏÏÏÏÐÏÏÐÐÏÏÏÏÏÊÃÆÂÊÎÏÎÎÎÎÎÎÏÏÎÎÍÍÍÍÍÍÍÍÍÍÍÍÌÌÌÌÌÍÎÍÍÏÏÏȶ §™x‚{‚t`^br{o_`nkg\Z\^_ZYVQ_fa^UPPRYY^hihQT]aZSQNSTZ`c]VQNLBA86653187ÏÏÏÏÏÐÏÏÐÐÏÏÏÎÍÉÁÅÀÈÌÍÍÎÎÎÎÎÏÏÎÎÍÍÌÍÍÍÍÍÌÌÍÍÍÍÍÍÍÎÎÎÎÎÏÎͦ‹Štnnqllmnuy`dbfe\\\]\]TSV_dZ[YVTTVUX\idRPX^VMNOSS]cba[RHDA<953331/3ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÉÃÆÁÉÍÌÍÍÌÌÌÌÌÌÌËÊÊËËËÌÌÌÌÌÍÍÍÍÍÎÎÎÎÏÏÎÎÍÍÌ·™{mqv{w~ggd_gZbed[[XWaYUYfeSRUXYUOLVPYiSPUXYPNSQPZa`bYUUOH?<86331-.ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÁÃÁÊÐÏÎÎÎÎÍÍÍÍÍÌÌËËËËËËËËËËËËÊÊËÊÉÊËÌÌÌËËÍÁ’†vdn|mdhaaaWje[YUUO]a_`qm[QQV^VNKUSSZT[ZXUOQRV[^ZY[RRYPI@?@<641-,ÍÍÍÍÍÍÍÍÎÎÏÏÏÎÏȹ½»ÉÑÐÏÏÏÏÎÍÍÎÎÎÏÏÎÏÎÍÍÍÌËÌÌÍÍÌÌËÈÊËËÌÌÌÉÇƧ‹{ysi^mqod`c`Y]aVS[TTR[eegidgVRW[UPSVTTYS[^aWTUSZ[\ZYUSPRPJ@@>7642/3ÍÍÍÍÎÎÎÎÏÎÏÏÏÎÏƻſÇÏÏÏÏÏÏÎÎÎÎÎÎÎÏÏÎÏÎÍÍÎËÌÎÏÏÍÌÈÆÊËÌÎÏÌÇÅõ |{qeWUc`Z^ca^e_XVTMMUZ`aeh_\TPQRPNURTR_LUV[\X[Z^\]ZTQTPSLGD?B;520.5ÏÏÏÏÏÏÏÏÏÏÏÎÎÎÏÆ¿ËÃÆÎÎÍÎÎÎÎÎÎÎÎÎÍÎÎÎÎÎÍÍÍÊËÌÍËÇÃÅÃÆÇÊÍÎËÿ¼«Ž}rVTRQOVXoqfcc]ZMD@M[S[bb^WURMMKINJQNYNRVUXX\]\\^ZTPTOXPEGA?=2//--ÏÏÎÎÏÏÏÏÏÏÏÏÏÎÏÆ¿ÊÂÄÎÎÍÎÍÍÎÎÎÎÎÎÎÎÏÎÎÏÎÍËÈÈÇÉÿ¸Ã¾Â¾ÆËÈŽ®¡©zuaWYZXgi_ogf`XVSRVVeUQ\]TOWXSNJGPQR[YSQY[WVXZWRQ\WSXRYW@67320..--ÏÎÑÕÕÐÍÎÍÌËÊËËÍÄÀÊÂÂÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÎÏÌÄÃÃÀĽº­À¹¿¶¿Ç¿¾·¦ˆ†rˆzf^a\]flXo\U^TPUU_\XOQUXRRSWXMMNTSS\i]OWZWWWW[TM]ZZ^]ND<6541/....ÏÙæîíãÓÍËÅÁÀÂÆÉÂÀÉÂÀËÍÍÍÍÍÍÎÎÎÎÏÎÎÏÎÎÎÎËŽ¶½»³¤»´¾³¶Âµ¼µ˜…}~nhddccT\b]We[T\_QSTX^UUTPPNLMOTZWPTQRSe[MZ]YRNNYZQXYRMJA9=<962/---.ÛïܼÅçèÍ¿¹´²¸¼ÂÃÃÊÆÂÊÌÌÍÌÌÌËËÌÌÌËÌËÉÉÉÅÅÀ´¯ª¯³© ª®¸±³·®­£ƒyzvmkTae\XcXR[i^X_YLQSU^acVRNMLPSNUWLPUPS^]Ya]TPMNZXSZPRYJBC=;;972....îÌ‚jr«êض±¯¯µµÁÅÆËÉÅËÍÍÍÎÍËÈËËÌËËËÊÇÄÿÁ³¡žœ¤¦œ™¡­®¬®©¨š†vnlfll\VYWbaWW^]Y`VRVUTUWaZSUPOSUSTUXSQYQSZaY_XZ]X]aUTZWUQA?G<877752011ãˆvvrÎ踮¬¯²³ÁÃÆÊÈÃÊÎÎÎÎÍÈÂÊÌËËËÇÁ¹µ¶¸»« •š™” ±­¬¢›Ÿ•zjgdVibTMHNXaZRQ]gabp__b]UXOQQPQSWSVTVZTZNQ`_`h[c`jg`TQOOLL@>@8855664/03Lj‚xŽÃé¿«ª±°´»¹ÂÉÈÁÊÎÎÎÍËúÈÍÌÇù§Ÿœœ¥§Ÿ—Š•›“‘­­¢”‘‘ˆvddh\]UQSRRYa`]jobRVcOXrp[RPKMMLILNNONORZTX`VU[X`g]\WQKMJGGEI@8555554016·…‰ƒ}‰Àé䧲²µ·µ¾ÈƺÁÌËÍÍÊÁ´ÅËÉÀµ§™žž•™–…—–‘–“ŒŠ‹†€vuqcYTX\YOY]YU^h\RR_ffb`\TSMLKIJHGEGNLT_]X\WP[ggfU\TMWSIJAAC:864434536=°ƒ„……Œ¿æÙÆõ®±¯­¸Å»­³ººÁ¾Ç¾²Àź­¢ ˜œ¡•–†‚…‚ŒŒ„‹ˆ†ƒ…ƒ‚{xq`VVUV_ZVYVSZhRPP_ifTT[YTNMMKKHEJIKSV^bT[SQnsdg_a]Ub[UVG<=;:8543365;?õ°‰…¿åìîèľ­¤£¬®£¢¤¥¥¦«»´§¦­™¡˜—¡”–Ž†„†‚…z„‹‰…‚}€~wuqidXRZg[TUTU`[NY[^^XRRSSSNLOQLORRHDLPVaTSO_cda[cj^RU^YIUE===:566589<>ÀÁ¿ˆ‘¾äëåáá캞¢®¡žŸ¥ª¦¤¦¦¢••”™ š‘™Ž‘Ž‹ˆˆ…€‚‚y‡„‚‚{||xrjjg[VYQY_[VZ[_[W[[\^ZTNJWWOMPLCFIHBBGIISLRR[_aZ`q^^P\a[IFD??>95677:>?@»½»”Œ’½ãìÏ¿ÞëŲ¾Ä¶¶°²´ÂĹª¡¡•Ž“ ˜›—‹Ž‰Œ‹‡†‚‚‚z€‡€~xywsrnmfZ^dccZSSYY_^aYU^VX^ZURKNNPKCDEC@EGEDSIUX\Ybba^SfaWZYQKFEG;86678<@HG©À»—Ž”¼âìáØèéßÞâããäáãâçêíÃœœ“‡Œ”‘“…Š‡Š‹‡ƒ‚‚}€‹{yxrssnicY]eb]SVPT_gceXPSRg^cYOQRQKIFHQIBJKLGQR^_ZO[eddVbdURY^SGBC<:9888>=sºÊ»ºÀÉÛëëëëëìêéçäâá×ÐËÈɯ£¢¥–Žƒ|{|z}†Œ’™™™Š€ˆ„~{xz|vwq`Z]_VXVVX_YRN_t‚wi^^gTUOMTTMLKGAMVSSTRP\cfe[S[[__V_YVXH>99<:9:::;?>>=iÁÔÐåæååêëëéäâÜÕÏÉÁ¿µ«¤›¡ td_WTV^q”n[[[[ZXYWRe†‚…‚vtxxuutf\`]PQZY[^TT]cie`T[cbSVNLNSMIC>BOUV_[\cfka]ZUYRWVPWVQ@9434778:99;@@@@M¯špâîìíììëäÚÌÅþ¹«©œ‘‰Ž{EQ_ks}kAHF<9:;WppniZAh€‚~~utwzyurlg^UOMZZ\UVY^][LYb\]Z[`WLMTOMJMPORTWYY]lfblx|„„„‡ˆ‡{wpjgZLD;99EEIKEEHOQJ|zyppwz|sjcdWRSGBNVVXZ[RLJWZ]]V\d_TNNKMQPOLIKOVXk„•¡ ˜”ŽŽŒŒŒŽŽ’”‘}V:;=BHJHdo¬ÚÓÑÐÎËʾ®©£ž›—‘Š‰‡ƒ~„QVu···µ±¦²–w‡ySUP?443\Tg~xwnjpwzqhb^PSTFIQTZ]VRTRSV[XXX\b^VNGECEIJGGGIR[”upng`\YXYYXWVVWVVWXY][Z@:=BHII[yšÉÉÀµÉÔÒÐÌÈÅÇÌÏÍ´†€}{€uXYArsgaie‹˜|’zQSQXO74KoT|wuqtnpvrkh_SVXUY[`\XGFSY`X[ZYVY^WPJEEB?A@?>AKN[‹OPW[`bfP=>>>;::CTYZ\\[NF8=CIKKÅÕ~µ½«§‘}rf^\YZ^hn„{zyƒcpM15437MRPRURPPG\td<9cŠUtxtvukmsmig`Q^j^UT[\YPOWZ]a`ZX[\WPJFBB??=9:BHHEQðÙk—¡—JCFSceTVRJHHŒ~vt‚\}>58VeHJQQQOOOOK[|c@:~Ÿig|wzvnkoihde]hqcZOR\\WSTZYaZW\f[PJEC@@CB@?CHE?D~kqœ±«¤•Š[G7=KMNQK><;;AjRAFKJCZxZ‚ˆ™‹OJ=P~zveI>F=uŽyz|`}679zœkKMEBBJOOMLrtE72^†]v{|rijllfa^]Z`ZOPXXQOT]\[YZ^^TTOGAAGJC?CQQJRX”b]L^IC>9ISPADGGHI<7:;<9UbDDINYaLFS­Ä¯hTNH;7†yZtPGM`a][jcWPY\`\YRNOXU[eabZQPVUMF@?HT^ZZ[]co—zN=@=9YsiE<7556::9ACDC96<_M\k]\_JJRu°ÓÛàââäçèæèêæç™:<]…OjTWXIUDFOY^^UOJLSdv]IB;9RDKU<>6Udebcd`UY[[WTRPNU\]W[]UORYUQX\\r€xfb\\[o˜bFCFD>f…„H@;65666;?BBA=88YKRqdZVD@Bw³ÝãèíîæÚÚæÙÖèö¥04:GI<9966HJJKMJB8PGKifYROMVv—·Ç×ÊÈ¢~†¬ƒu¡ÒÂ{JD1TR==;:8888878888888888:;=?LC>W`jljkhiplkkjoyˆŽ†ˆ‹…‚Žªyy€|}}qambP\ckzQI€\<<brkkkmlnnqsvy{{ywwyy{z|ƒ‡œª³°¨–†{qkmnkVPTKS|lUMC?EONLMOQZ]_^XOOMHBJ]jzŽkVgqspnmnpqruvwvuuvvxz|}„¹}H@79:87777777777667854:AHQYcŽ‰Œ‹ˆ‡„€{tsssvvwvvvutrrrppsz†•£¬±®£›‰{oq¦“myxunjZQaoonnmkkkklnpodVbhgo‚z]szvrolklmnorsssrrppqsuz¦{RYR=455555666<=65556X{“¢¥ª­­­©¨§§¨¨¨©©©«¦’mjlopsvvvvusponpqqqtyŒŸ­º³ˆ¡œrffc\\\Wiqea__^]]]^_bik]ZZ[^`ZPTYzwsolkklmnoqrqqqqpoqu{pf§¢I14434566:;7662M¥’Œ„~}{wtqopppqrsw{~‰cdefhlortvwutsqppopqpomn}›†””nZXZXWWW[[YWWWWWWVVWWXXVWXXXXWQPTzyyupmkjjjknooppqqqrvoQx¡´¯I/222326988633†`edcbehkr„zuqmlljihd}mcdddddhknruvxwvtrpnmpqqonbƒ€bWTWXWWXXWWVWXXXXXXWWXXYYXXXTUVRXxwyxvqljihhilmnoopqpol9^ªË¸âµrcKOS]HZ˜CL]n lk~€~„†ˆ|Žnˆ‡†ƒ‚€xpugedbcaabdfjpstvwxwupmklnqcvt`bbYXZZ\\\[Y[[ZZ[\\\Z\]\Zdja~€WQVwwxxxwrmjhfgijkmmmnnaU5=‰Ü×ñò¼Š\Zd’pŠËekhŠ…`‹­¹¾ÄÈ˳\E>=^¼ÑÎÇÅŸ†cepjhedbbabbbfknqsuwwwvrmjjZkjV‡¹•‡´‡RUV]`Y]\da[\ViUNM]ÃȶŲUQSrtvwxwvsojffffhijklm\@5.EŽŒÀ³ªlgm]YÃù—al‹ic™ãßßÝÝã²VhdZXÄäÞØØÝâƒmUnnmjgeccbbbaacgkosuvvvvtlOV_MƒÎ×ÕêäuFBPša=W‡ItÐÏgE»~CA–óÒǯ¥kJKRlnpqrssstqkgcbaaccejR1.268:>GS[m©´ÀÐÞÍÄ©‹YiPqsx~‚€RD\›lWŠÂ²¤ŽzmFPnYfeimonlidcbbc```cgknprstLCHNParš Óù’GCRÊ‘h¿ºcšÁOLT§í¸€fTPMJZjloqrstuutqmiecbcccgT1-067=EN\oˆÃòíîîííï¿y]dC646644:@Xµw[XF;854:GBnVegehknoomigfggeb`abfjnqsM@FKPPTYb–¢{oiZ’ç¡«¦ä‹\kqtq[YVQMJ^hjmnqssuuutrojfcccceW2.136=DWq”±¹ñîññðñé®fdZI?7::99969j^I>7:=<;>FDIMPUX`ltyz|‚Š”«Ä½¨—‡~zvl]WUPKKc_cfikmoprsttsrokfcbcX6523>iÓ–A:@ZRPOOMaœŒQfHQMMWSNJLA64555;n¨¥XDG;AjRigbfjgdcehjihgda```_^^`L:NdX™zZgkigec`cgfecb`^^_`I7@LNPRW_jkmoy×ôðíîïíïòÞvihii_WRPMQjλl^ehijmnoprqqqpnifX3;0/013:>@BEA@Ofƒ’‚q^RNOUWRMMNVWQQPSWZ[XSQQTTVX[iPcOWiijjgdaabegfdcb`_aH2?NPRRXah`RMOg€zzvon`?8BXfaaXQMY©ÁЫ_]cfhjlmnqrqprqnjY0;2.,/0256569;;9I{‡pf__][[\]^^^^]]_\Y[^ahpvvy{‚…Š…x†}xomqgcbcehhgfdbbF0@KMS€€g[MD00036ODMQACC==LITl°¤TFS¿±ÅО[^ehhjlmnoppqqpn[-;43@4.,+**++++*GR^lb[\\[ZZZZZZYX`y…“Ÿ©®±³°±³°¯¯®±²±°±°­’phgedcdfiihffC+@FBcÙªeWRLMTRQP_USRPQPMEM^Wf½W?Gr€¹ÈÏZbegikllmnpppoiW.:53IQGA:84,+++)[]`z_VYY[YXYYYYXX~‹­¬¨£ž—‘Š†ˆ…‚€~~€‚ˆ“—lmoihebbfhiikD)=?>U’_cgS8989???@ABBA<:Ujg`idHAE`T’¾ËÇs[begjkllnoookaP/9526BEE930/38;?e‹i`_YZZXZZZYX_”s‡~tjb]YWTQTVQQPPONOPSV[\pvjkjgbbcegjE(:==BPW^irsf^\]`acfgfffgmtpj]QG@?CbY{±Âίc^cfhkllmnnmkeU830010...--02219f†Š}‚‘kZZZ[[[[Xi€YSMIIIJIKNMYcHGFGHDBBBBAAD^lkkjhdbbdgD%8745;@FNSYYVVWTTRPNNMJFFE?<9528?>>@><=?@>Ab‡ƒ~¡ÙÕªk\_`_]^^‚[@?>=>=;;::977799998878889:CdlkkkifbceC$72M>*(')%$$$%%%$$$$$%$&',92%(=aSBcRKO‹½Ä̉Z_bdgijkllljf^ZWVYZYXXXXZ[]^YZ~rg¾èßæ¬egjlmmtŠD;;<<=??BC<:7777888?>Vlkkkjiea]@$65LQ?54=9430/.--/00138>HTeW%$28>?]^SNXš½ÈÃsU]`cehikllmligdcba^\[\]_`ce^ViYJµæ½åä{mstus’x=>=EFFDBCA;}‘M>D><65667776>AFekihge^RN9%54*'9?>=>>==;;;;<<===;<>>?=$!+/5:YfZQLb«Á̺j\`begiikmmlkjigdb_]\[\]_bd^ROJGcˆ{×Þz”™¡™£Y>=589877::?XbC=C:7555556559B?Wiggedc[Q<'41-0987775664332234530//0/0#&3337YlcRNJu¹ÃЫa^befhikllmmlkigec`]\[]_`b^JEHGJNX|‡‰Â»¢œ¢ CA937<:86=C?HO?<;544;GC<6546@?Jdfffedd]I20,+.0,,++**))))(())**)*,-00/1865;anpeSMN½ÄÒ–\befghjkklnmlkjhfc_\\]^_a`JCIGMQX^n­à[54…;A524C[H2;J=20135569SZLJA;54>77>}];;3//0136CEKQ]_]^N64A>HeP242Hfcbaaaa`_]^]`eijigba^]]^_^][Z[_dhjlmmronodTVi‰¼ÉÔ¸i_degjjjllmmmmlkheb_]^^`B>GFHNVd]HFB`Ã…>??AHEJNu`=?GXxFABBCBA?32223;ELKIbdXQJ<389;;4111Ggddeeeffeec`^]`dilllifca__`_^\[[\^bgjqtrpneSNMY¥ÆÌÒŠ[acefhijjkllmmkifca^^^<9HHGKTW=7bI>=@<=OQF=;;;::;<=<97798:99>?=;;;;::;;;BEA=G:Tgggeedeeefffeegfec_]]agkmmkifc`^]\ZZZZ[[]ppnllmh]SMN—ÇËÖŸ[adfgghijkkkkkkjheb_^<7AGS¿é´XXq­Â“Re>>?==>?@ACBDIOKJKNONPQPPPPOMMQK{T@‚rcdddddddeedefffec_]]_cjmljgd`^\[ZYYYZ[[ohehicc_UOKf¹ÆÐÌu[bghfggiijjkkkjhgd`_<5=GGw¸¯cVjŸÀuTŽpHHX[`dhjmmonoppoooppppppqrrtzg‚„Ndfbbcccccdeedeeeffec`_^_dikjhea^\ZZ[ZYZZ[mhigsnjdTNNM„ÂÇÔ°``dedfghiijkkkjihfb`;/8AFJTafl]mªiY‡kfvsqnkhheb^^][[ZZYZZYZZ[]^be_iyybfjmbabbbcdddedefefedb`^_bgijiea^Z[\[ZZZZonhhqosjTMOMV¦ÅÊÓ“b`cefgghhijkkkjihbZ7.68=<:;@FSQhk„sbX^XTSQOOMLJJIHGHHGHHHIJJKMOMORTeq­ÛÛ¥eabbcdddedfggggfdb`^^bgjkjhc][\\\\[[krlhpptsh]PNKr·ÄÑÊs\befefhhhijjjigfZM2.3070.,0;UQawncRMIIJHDCCBA@@?>>==>>??>>?@@ACDDCDJdˆÈÍÁw^aabccddefgggghfeca^^bfjkjhc]\\]]]\vypmqqpnpq\MLPÂÇ×®_aefffghhjjjjifc\N3-4282><<::9:::::::;:;::;;<>?>==?Phihddaaabccddeeeeeeghgfca^_aeijjhc_^^]]\tqlknnkikmeMKK_¬ÂËÖ‰]deefhijjjjijigfY8-//,/1133Ec‘o[A<<===<<;99888888788778889::<<99;DA;L`dccbbbbcddddddfedeghfdc`^]_cgjkid`^][ZpmlejlptppkSJLLy½ÁÒÆoaeefhjkkjjijihe_N5+,--(&&%Eeq`J=C<879:;;999;<BA8f‘œ‡XFKFD?}¦|eVLB;831Ffedddb_`_ljdddeeeffffffffffedb_]^cimnnnwtuumpjjmmmpsiRLKM’ÅÈ׸bbeghgghiiiiiiigddc`^\ZKM3595=?FO^s¾IgŠ“¡ªºÏ»½ÂÇÉÀ{X™¨}dSIA;:/,EffdeefddlŒzdddddeedeeecdddeeeca][^dilnmuoommnjgjknooiSKKLeºÇÐÖ‰^dfhihhhihiiiigfedb_^ZLP4123@=GQZpŠ¸±h òòòóðîððïéïícÁ dSJC<<67Hfeeeefdde_^ccddddddeeeddeeedddca^]^chkmlnvtplmnohilklVKKNN“ÇÈÔºd`begggghhiiihgfgfca^[LQ5599?>IQYo‰¯Ìc”íëêëëëëëêÞêìxa¤‡m\PF>96:Mgeeededdcba`ccadeddeeeedeffdddecb^[^dhjmosponqtrmilmgVMKMKc¹ÈÍÖŒ`ffgiiiihiiiihgggdca]BD:EB9=BIQ]u‘ºÚjƒòóòòññòòóññëqtÏ¡vXH>2/..1Kgeeeddddcbe º¸adddeeeeefffeededca]]_clklosvvpumlmllpePKLMMÈÊÕÀkefhiiiihiiiihhggfec_<:=722226>FSf…½}X¥­ª¨¬¯¤—Š~wh=njGA439R\8.4Iffeedddcbb`“èïã’accccdefeeeddddeec`][]iovtpsrnqkjjhjtdMLLMK_¹ËÎÖ—afghhiihiihiihgggfeb<5?83/C\]=89G?Oj44567DK80|æÐU,7Iefeeddccbaba–··¡eabbccdddddccddeedb`][qxwrkikopkklwstf`YMLNQ‹ËËÒÈucghikjhhgiiiihgggfdCL>94,„Ýéb58MJ>jaDEEHNQLKJIJK}j\W:40aS709Jdfeeeddcbbbb^^]_bbbbbbcddccbbcddccaa_\jklicbbiks}wuwqjqgQLNT_´ËÉتeghijiihhhiihggggffEW>96/Ej–M227qTT”€uy|žz|x|~Kgc3340,.12=Icfeeedddcbbbaaaabbccccdddcbbbbcccbbba`upmnktprjsuuuv€n_UKLMMÆÆÏÔ†bgghhhhhhhihhhhggg<3=;;13116746RFBJRSfwl^PP\_EBAFEM854532226Gceffeddddcbbbbaaabcbcdedccbbbbbccbbcba…~‚xw|yliqxxz~vf_SKKMNU¤ÉÇ׺ebdefffghhhhhhihc]9%<9514454457GJJOPT\bbxe]XSKJIDAB1.,.-.--0Eceffeedddccbbbaaaaabbdedccccbabbbbbccb†~v€ztsknvpljpjccbVLKL^d½ÄÌØ^bcdeffggghhggcXS8#:3--.-,+,,.3401.,++-3*('&'&&&%&&''((**)-Ddffeeedddccbca```bbccceedccbabccbabccc‚€zzysosdbhq{skmfZMLLX_\›ÄÄØÀgaccdeffffffc`]WT9#90(**)('(()(&&'(''&'''(+,-../6;><'"$&(*-Befffeedddcccca```badfgfefedccddcbabcdc…††‡‡‡‡‡‡††‡‡‡‡†††‡‡‡‡‡‡‡‡‡‡…„‚~}xutttwxwxxxy{{zvuwzz|{zyz{~€€€†††††††††††††††……††††††††‡……†‚€|yuttvuvxxxwvy{zzwtvwxyyxwy{~€€€……………†††††††††…………†††††………„…†ƒ€{uuuwwwyzxxwz{zyxvvuwyywxyy}~€€€……………††††††††……………………………„………†„zxywwy{{yxwyz{zyxvvxxxxyyy~~€€†…„„………†††…††………………†…„„ƒƒ„„„„‚€|zxwyz|{yzzzz{zzvvwxxxyyy{€€„‚‚ƒ„„„…………†……„……………„‚ƒ‚‚‚‚€~~|yxwyzzyy{||zzxyvvxzzyyx{}€€€ƒ„…ƒƒƒƒ…………………„††……„‚€€}}}}{yywwwwxz{{{{zyxwwwwxxyyz}~€€ƒ„†ƒ‚ƒ…………………„……‚‚‚~~€€~}||||{yxvwvux{}|{{{yxxwwuuwyyz}~€€ƒ‚‚ƒ„„†‡…„„‚}zz{|||}~~}||z{|zzyxwxxxzz{||{{zwxxvuuwwx|€€~€~~„„„‚zxxwxyz{z{{yyxy{xzzyxxyy{z{}|||{zyxxvuvuv{~}~€~€€€€€€€€‚‚‚€~|{xyyxxwy{y{{ywwxxyz{|}}~|{xvxvvvvvz~~}~€€€€€~‹ŽŽ‹‘Žuwvvvvy{zzzyvuvwzz{}}|{zzxz{zzy{|~~~ˆ~~~~~~}}~~ƒˆ„‚ƒ„†††‡‹†uuvuuvy{{{yxzzzzyz{~~}{yz‚…†‡†‡ˆ‡‡„~}|‹‚}~€€}z|„…‚ƒ„ƒ…„…‰‡{stuuvyyzyyz|{yyz{|~~}{…‡†ˆŒŒ‹ŠŠ…~}|ƒƒ~„…††‡„|~…ˆ‡…†‡††ƒ€ˆ‡}tttuvxwxyyzzzyyz}~~~|‚ƒ‚‚„ˆŠ‰Š‹‹‹†~|z‚‚‡‡‡‡‰‡€†ˆ†„†ˆ‰ˆ„~†ˆ€vuutuwxxyyzzyxxy|~~}}…ˆˆˆ‡ˆ‰ˆ‰ŠŒŒ‡xr‚€ƒ„ƒ‚ƒƒ„‚ƒ†‡†…‡‡ˆ‡ƒ‡Šƒzyxxvvxxy{zzyxyzz{{||z†Š‹‡‡‰Š‰ŠŠŠ‹‰~ur‚‚‚‚€‚€ƒ…ˆ†‡ˆˆ‡†‡ˆ…‡‹‹…€}{yyyy{{z{zzzxtpioxz‡‰‰†ˆŠŠŠŠŠ‰‰Š{y„ƒ„„ƒ„ƒƒƒ„…ŠŽŒŒ‹‹Œ‹‹Š‚~€‚‚€}{xutwx|‡‰ˆ‡‡‡‡…†‡ˆ‡ˆ‡}r‡‡††ˆ‰ˆˆˆ‡ˆ‹Š‹‹ŠŠ‰‰‰‹ŽŽ‹‹Œ‹ŠŠ†ƒƒ„ƒƒ„„ƒ„„…ƒ…†ˆ‡‡‰Š‰‡ˆ‰‰†ˆ‰~u‰‰ˆˆˆˆˆ‰Š‰ˆ‰†‡‡ˆ†…†‘’”“‘’”•”“„„„ƒ‚‚‚ƒ„‡‡†…†€}zz{{xwwzywz}‚…‰‰‰ˆˆ‡ˆ‰‰ˆˆ†‚‚„…†‰‹…‚‰‰…‚‚ƒ‰†ƒ‚ƒ„‚ƒ„…„…|xutssssuux{|€ƒ‰‰‰‰ˆ†‡‡ˆˆ†…ƒƒƒ‚‚ƒ…‰Š€zy~‰Šƒ{{~…‰ƒƒƒƒ‚€‚‚€€~~}€ƒ{}ŠŠ‰‰‰ˆ‡†‡‡†„„††…ƒ‚‚‚ˆ‰†…„†‰ˆ†‚ƒ…†‰†ƒƒƒƒ‚yvx|~||€}{}zvtzˆŠ‰‰‰Š‰‡†‡†ƒƒ„…ƒ‚ƒ‰ˆˆŠ‰Š‰Š‰…‡‰Šˆ†…ƒ‚‚xqquuvz~~zutqqs{„ˆ‰‰‰ŠŠ‰‡†…ƒ‚‚‚‚…Š‡…††††‰‰„}‚…‡‰‡‡†„‚‚‚‚‚‚xrrtw~‚~~|wrrsz€‡‡ˆ‰‰‹Œ‰†„‚‚‚‚…Œ‹‹Š‰‰‹‰ˆŠŒ‡…‡‡…„‚‚‚‚‚‚zttt|‚„€€€|vtu|}€„‡‰‰‰‹‹‰…‚‚‚‚‚‚‚†––••••“’‘‘‘’’‘Œ‰ŠŠ‰‡…ƒ‚‚ƒ‚}|{€€~}|~€||†ˆ‰‰‹‹‹‡‚…ƒƒƒƒ‚ˆŽ‘“‘‘‘‘‘’’“’’””““”‘‹‡†ƒƒ‚‚€€~€~~€ƒ}}~ƒ‡‰ŠŠŠŠˆ‚‚ƒƒƒƒƒƒ‰‰€„ŽŽŽ‹Œ‹‹ŒŽ‹ˆˆˆ†„ƒ‚‚€€ƒ|~}}ƒ‡ˆ‰Š‹Š††„ƒ„„„ƒ‡„|~‡Š‰Š‹‹ŠŠ‹‹‰Š‹Š‹ŒŒŠˆˆ‰‰‡…ƒ†‡††……†‡‡…ƒƒv~}†‰ŠŠŠŠ‹Šˆ†……†„„„‚€„††‰‰ŠŠŠ‹‹‰‰‹Œ‹ŒŒŠˆˆˆ‰‰†‚€ƒ„„„„„…„„„ƒƒ€€‚oz€~‚‡‰‰ŠŠ‹‹Š‰……†…„……ƒƒ„…ˆ‰Š††Š‹‹Š‰ˆ‡ˆŠŠˆˆˆˆˆ†ƒ‚‚‚€€€€€gm{}z~ƒ‡ˆ‰Š‹‹‹Šˆ†……ƒ„…ƒƒƒ†‡‰‰„ƒ‰Š‹Šˆ‡†‡ˆŠˆˆ†„‡††……„‚€€€€iiq{}~…ˆˆ‰ŠŠ‹‹Š†„…ƒƒƒƒƒ„†‡ˆˆˆˆˆ‰‰ˆˆ‰‰ˆ‰ˆ‡ˆ†…‡ˆˆˆ‰‡…ƒ€€ƒƒ‚kjjw€~}‚‡Š‰‰‰Š‹‹ˆ…„ƒƒ€€‚…ˆ‹‹ŒŽŽŽŽŽŽ‘‘ŽŽŒ‡ˆˆˆˆˆŠŠˆ†ƒ€€€ƒ„……mlls€}~…‰ŠŠ‰ŠŠ‹Š‡…‚€„Š’”•––—––————˜˜—•Œ†‡ˆˆˆˆˆˆˆ†ƒ€ƒ…††nlinz€~|€†ŠŠ‰ŠŠ‹ŠŠ‡‚ƒ„‚ƒŒ“”—–••”’’’’’’““”•„‚‡ˆˆˆˆˆˆˆˆ…‚ƒ†‡‡kkhiky€}}ƒ‰ŠŠŠŠŠŠŒ‰‚„…ƒƒŽŽŒ‹Š‹‰ˆŠ‹ŠŠŠ‹ŒŒ‰‡‡ˆ‰ˆ‰ˆˆˆˆ‡…‚€€ƒ††lmhges€~|†ŠŠŠŠ‹ŠŠ‰„‚‚‚‚‡‹‡‡‰††…„…„„ƒƒƒ…‰‡…‡‰‰ˆ‡ˆˆ‰ˆˆˆˆˆˆ†ƒ€€‚„lkgffk{€~}‡‰ŠŠ‹ŠŠ‰†„ƒƒ‚…†„…ˆ…ƒƒ‚‚€ƒ…Š‡…†ˆˆ…ƒ†ˆˆˆˆˆˆ‰ˆ†ƒggfgghp~€~~ƒ‰ŠŠŠŠŠŠŠ‰‡†ƒ‚„‰‡‡„‚‚‚ƒƒƒ‚‚€€ƒ††ƒƒˆ‰‡††‡ˆˆˆˆˆ‰ˆˆ†ƒ€€hhgffghv€}€ˆŠŠŠŠ‹‹‹‹Š‡ƒ‚ƒ‚ƒ€ƒƒƒ„ƒ€‚‚ƒ‡‰ˆˆ‡‡‰‰ˆ‰‰ˆ‰ˆ‡†ƒ€ihgeghhr€~…Š‹ŠŠ‹‹‹Œ‹‰„€ƒ„‚‚€€€‚€€‚‚ƒˆˆˆ‰ˆ‡†‡ˆ‰ˆˆ‰ˆˆ‰ˆ…‚jhgegiho~€~€‡Œ‹ŠŠ‹‹Š‹Š†‚‚‚‚‚€€€€‚‚€€‚‚‚ƒ‰‰‰Š‰‡‚ƒ‡ˆ‰‰‰‰ˆ‰‰‡„jjihihhjv~‚ŠŒŠŠŠ‹‹‹‹ˆ‚‚‚‚€€€€‚€€‚‰ˆ‰‰ˆˆ‡ˆ‡‰‰‰‰‰‰‰‰‰‡lkjjmjhiq}‚†ŠŠŠŠ‹‹ŒŒ‰ƒ€‚€‚€€‚ƒ‚‚„ˆŠ‰‰‰‰‰‰‰ŠŠ‰‰‰‰ˆ‰‰‰klmnonlns|€~}~‚‰Š‰‰Š‹ŒŠƒ€‚‚ƒ‚‚‚‚‚‚……ƒ‚„‰‰‰Š‰‰‡‰‰ˆˆ‰‰‰‰‰‰‰‰{zzzzz{zzzzz{{{zzzzxxzyyyzzz|‚„ƒƒ……†‡ˆ‡††‡ˆˆ‡‡‡††‡‡‡††‡†…ƒ‚ƒƒ‚yzzzzzzzzzzzyyyyyyyyxyyyyyyyz‚‚ƒ„„ƒ„…†‡†……†ˆˆ†††„„…††††‡†„ƒ‚‚zzzzyzzzzzzzzyyyyyyyyyz{{zzzz‚‚‚……ƒ„……†…„†‡‡‡†…„„„„…†‡‡††…ƒ‚‚zzzzyyyzzzzyzyyyyyyzzzz||{{z|‚…„„„……………†ˆ‡…„ƒƒƒ„„…‡‡‡‡†„ƒ‚‚€€y||{zzzzzzzzyyyyyyyz{{}~}|||€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡†……ƒ‚‚{€~|}}{yyzzzzzzzz{{}}~}~ƒ‚ƒ……„„……‡†††‡…………„„…†‡‡‡†……‚‚‚€‚€€~~|zzzzz||z{||}€€€€€‚„…ƒ„„……„„„„††††„…†………„…††‡‡‡…„‚‚‚„€~€~}|{zyz}}|€€ƒƒ‚€‚ƒ………†……………„ƒ„…††…„……„…†††††††…„‚‚€ƒ‚€€€~|z}€„……†„„ƒƒ„ƒ„…‡††††……………„„…†‡…„„„„„…††‡††……„‚‚‚ƒ‚ƒ‚€€€~~„ƒƒ‡ˆ‡‡†…„„…„…‡‡††††…………………„„……„ƒ„„„†††ˆ††„ƒ‚‚‚‚‚ƒƒƒ€€€‚‚ƒ„ƒ‚ƒƒ€‚ƒ‚„…„„‡‡‡‡†…………………………†…ƒ„………†††ˆ‡…ƒ‚‚‚‚‚‚‚ƒ‚€€‚‚ƒƒƒƒƒ}}}}}}|†‡‡†ˆˆ†††……„…………†………„„…………„„……ƒ‚‚‚‚ƒ|€‚„……„„…‚}}|~~}|}}‡ˆˆ‡ˆˆ††…………„…‡‡ˆ†††…„………‡ŠŽ’“‘ŽŠƒƒ…}~€€‚ƒƒƒ…‡†||{yz{xz}}}„ˆ‡‡ˆˆ†……„„……†ˆˆ‰ˆ‡……„„„†”ž›™˜—”••–•‹‚ƒ…ƒ€€~}|~‚‡†{€zxxv|‚||ƒ‡‡‡‡ˆ†…„ƒ„„…†‡ˆˆˆ†…ƒƒƒ„ˆ‚}||yyyxwyy…‡„……ƒ…|yw{}‡„}{€„zwyy~…}}‚†ˆˆ‡‡†…†„„„…††ˆ‡†„…ƒƒ„„ˆ}~}|zzyyzy€Œ„‚‚‚ƒ€€€„ƒ}{~€zz||€‡~|…†‡‡††…†…„„…†‡ˆˆ†……‡Œ‹„ˆ|{€{{zz{zz|Ž“–€‚‚€€€‚‚~}}~}}~~‚|~ƒƒ†„„„………„…‰‡††ƒ~~¢¶˜Šz{~}x{{{|{yyŽ¬·€€€€€~{|}||||}}}}}|‚ƒƒƒƒƒƒ€„…„„†‚€‘£—”‰†‰‰‰ŒŽ–”}~€€~~~~~~}‚}}}}}~~}{zyz{{{{|~€€€€‚‚‚…‚©¯²­©­±´²®¬µ·±¥{}€~|}}}‹ˆ~€€~|zyyy{{|zzz{€€€€€€€€‚™ÂÌÏÍËÎÐÒÑÎÏÓÏ̱‡{{}~~}|}~€ƒ„ƒ‚ƒ~||}~}~€~~}€€€€€€€…š–«¶ÄÇÈÌÊÆþ¶§–”‘||{{}€€~~€„ƒ‚…ƒ~|||}}yzz}~}}€€€€€€€€†¬~~„‡‡Œ‹‰†ƒ~}‡« ~}||}~€€€€€~€‚‚~||~~~zwx}~|{}€€„¸Ç¶¡¨–‚…ƒ™±§®ÆΣ€}||}€€~…„ƒ‚}|||}|zxy~~|||€‚‚‚ƒ·ÐÒÍÈŵ”—µÇËÒÒÍ£€~}|}}~€€ƒ„†‡‡‚|||||||||€†€}||€‚‚‚‚´ÏÐË´œˆ†……‰ž´ÍÑΣƒ€}}}}~€€‚‚‚{{{|{|||{}~}|{{}€€€€«ÎËÆ“€‡‡‡†€ŒÁÇË„ƒ‚~}}}}~€€€€€yvvwvvxyz{zyxyz{{z{}€€–¬œ ƒ‚‚„………ƒ‚—‘š††„‚€~}}}}€€€€~zyxwwwwyyyywxyyyyyyz}~€‚ƒ‚‚‚€€’‰‚€~}}}€€}~‚zyzz{||z{|}||||{{|}~~€€€€€€€‚€…„ƒ‚€€~}}~€€€€€}€…„||{|||{||}|z{{{{|}}~~‚€~€€€€„„ƒƒ‚‚€~}}}~~€€€€€‚ƒ|||}|{||{yz{{z{}~}}€€‚€€€€€€€‚‚ƒ‚‚‚‚€~}}||}~€€€€~€€}}}€|zz{{{|{z{}}~~€‚‚‚‚€€‚‚{~ŽŒ‚‚~}}|}}~€€€€~€€}|{{{||{{zz{}}€€€€‚‚‚‚‚‚}|‡‡‚ƒ~~~}}}~~€€€€€€}}~}{{{|||{|||}~~€€‚‚‚‚€}}ƒƒƒƒ€~~}}}|}€€€€€€~|||{yyzzyyyyyy{{|~~~~€‚‚€€~‚„ƒƒƒ~~}}}||~€€‚€|yxxwvtuuvvuuuuvvw|~~~~~~~‚‚€€ƒ€}„ƒƒƒ‚~~}}}}|}€€€{wvvwwxwxyyxyyywxwz€~~~~~~€‚€€€‚€{{}ƒ‚‚€~~~}}}}|~€€€€€|zzz{|||}~}}}}}~~~~~~~€€€€€~zyz„“ˆ‚~~}}}}}~€€€€~‚„‡…‚€€€ƒˆˆ„‚€~€~~~~€€€~ywy}„Š…‚€~}}}}}}€„…†…‚‚ƒƒ‚‚ƒ†††„€€~~}~~~~€~zwx{‚‚‚ƒ‚}}}}}}~~€€„††ƒ‚ƒ……†ˆ††‚‚ƒƒ€~€~~~~~}€~zywxz€ƒ‚‚~}}}}}|{}€€~€‚‚„„…„…„„ƒ€€€~~€€~~~~~~~~‚‚~zxxyzƒ‚‚‚€~}}}}}}||}€€€€€‚†‚ƒƒ‚‚~~~€€~~}~~~~~€‚~|x{{{}ƒ‚‚‚~|}}||||}€€‚‚‚ƒ†‡ˆˆ‡ˆˆ„ƒƒ‚ƒƒ~~}~€€~~}}~~~€€€~||~~~~€‚‚‚~}}}}||}}~€€ƒ‡ƒƒƒ‚‚ƒƒ…ƒ‚}~~~~€~~}}~}}~‚‚ƒ„ƒ‚‚‚ƒ„‚€~}~~}|}|~€€‚…‚‚‚‚‚„‚ƒ„‚‚€~~~~~~~~~~~}}~~ˆ‰‰‰‡…………‚š~}}}}|}|}€€€€€€€€€€}}~~~€€€~}}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏËÄÆÃËÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÍÏÏÍÈ¿´¯¥ •ƒ}tijwkjkonreicW]b]]e^V]b_`VQOU[Z_d_gUVYXUWUTZWQV_^\YVLD?9;9533?3ÏÏÏÏÏÏÏÏÏÏÎÎÎÎÎÉÃÆÂÉÎÏÎÎÎÎÎÎÎÎÎÎÌÌÌÌÌÍÌÌÍÍÌÌÌÌÌÌÌÍÎÍÍÏÏÏȶŸ¦™vxta]ar|o]_nlg[Y\^_ZYVQ_f`]UPOQXX^hiiPT]bZQPMQSZ_b]VPMKAA86543077ÏÎÎÎÎÏÎÎÐÏÏÏÏÎÍÈÁÅÀÈÌÍÍÎÎÎÎÍÎÎÎÍÍÍÌÍÍÍÍÍÌÌÌÌÌÍÍÍÍÎÎÎÎÎÏÎͦ‹Štnmpnnopu}y_dadd[[\]\\TRV^dXZZVTSUTX\hdRPX]VMNNRR]cba[RHC@<953331/3ÍÍÍÎÎÎÎÎÎÎÎÎÎÍÍÊÃÆÁÈÍÌÍÍÌÌÌËËÌÌËÊÉÊËËÌÌÌËËÌÌÌÍÍÎÎÎÎÏÏÎÎÍÍÌ·™{nqwyv~ffb^fXcec[[XVaZTXgeRQTXXTOKVQYhRPTXYPNSPPZ`_aWUVOH?<86331-.ÎÎÍÍÍÍÍÍÎÎÎÎÎÎÎÊÁÃÁÊÐÏÎÎÍÍÍÍÍÍÍËËËËËËËËÊÊÊËÊÊÊÊÊÊÉÊËÌÌÌËËÍÀ’Œ‚†tcn{mdhaa`XjbZYTUN\a_aql\QPV]VNJTSSYS[\YUOQQW\_XXZRRYPI@?@<640-,ÍÍÍÍÍÍÍÍÎÎÎÎÎÎÏȹ½»ÉÑÐÏÏÎÎÎÎÎÎÎÎÏÏÎÎÎÍÍÍÌËËÌÌÌËËÊÇÊËËÌÌÌÉÇƧ‹yxri^lpoc`c`Y]`UT[SSR[fdgicgVRW[TPTWTTYRZ]bXTUSZ[\ZXTSPQPI@@>7642/3ÍÍÍÍÍÎÎÍÎÎÎÎÎÎÏƻſÇÏÏÏÏÎÎÎÍÍÎÎÎÍÎÎÍÎÎÍÌÍËÌÎÏÏÌËÈÅÊËÌÎÏÌÇŵ¡}}rdWSb^Z]ca_d_XVSLLUZ_`dh`\TPQQNLSQTQ`LTUZ[Y[Z^\]ZTQTPSLED?B;520.5ÏÎÎÏÏÏÎÎÎÎÎÎÎÏÏÆ¿ËÃÆÎÎÎÎÍÍÍÌÍÎÎÎÍÍÍÎÎÎÍÌÍÊËÌÍÊÆÄÄÂÅÇÊÍÎËÿ¼ª€|rWTRPNWXoqfcc]YMD@LZRZba]WURMMKINIQMXNRVVWX\\[\]ZSOTOWPDG@>=2//--ÏÎÎÎÏÏÎÎÎÎÎÎÎÏÏÆ¿ÊÁÅÎÎÍÍÌÌÍÍÍÎÎÎÍÎÎÎÏÎÍÌËÈÇÇɾ¸Â½Á¾ÅÊÈŽ®¡¨Ž|vbVYZXgj^oge^VURRXXdUP[]SOWXRMJGQQR\[TQY[VVWYWPQ\VSXRXV?5732/..--ÏÎÒ××ÑÍÎÍÌÊÉÊËÍÄÀÉÁÂÍÎÎÎÍÍÎÏÏÏÏÏÎÎÏÏÏÎÏÌÄÃÃÀĽº«À¸¾µ¿Ç¾¾·¦ˆ„~q†{f]`Z\elXo\U\SOTU_]XPPTXRRSVWMMNTRS[h^OVYVVVVZSL][Z\]NC<6541.....ÏÛêïïäÓÍËÄÀ¾ÁÅÈÂÀÈÁÀËÍÍÍÍÌÌÍÎÎÎÏÎÍÎÎÎÎÎËŽ¶½º³£º³½²´Áµ¼µ˜…}~ngcdbaT]b\We[S[^QSTY_UUTPONLLNSYWPSQQSdZNZ]XQMMXZPXXRNIA9=<962/---.ÝïЪ·ãéÍ¿¸³±·»ÂÃÃÊÆÂÊÌÌÍÌÌËËËÌÌÌËÌËÉÉÉÅÅÀ³¯ª®²§Ÿ¨­·±³¶­­£„yyvmlUaf\YcXS_j^W^XLQSU^`bUQNMMPSMUVKPUPS]^Za[SPLNYWRZPRXJBC=;;972....îÈygn¤çÚ¶±®®´µÀÅÆËÉÅËÍÍÍÎÍËÈËËÌËÌÊÊÇÄÿÁ²¡žœ¤¥›˜ ­®¬®©§™†vnlfkk\UWVa`VW]YY_VRVUTTV`YRTPPSURTUWSQYPRZaY_XZ]X]aTSZWTPA?G<877752011ãŠxxr‘Ì黯­¯²³ÀÃÆÊÈÃÊÎÎÎÎÍÇÂÊÌËËËÆÀ¸³¶¸»« •šœ˜“ ±®¬¡šœ’yieeUhaSMHPYcYSSai`bp__b]TWOPQPPRWSUTVZTZMP`^_hZc`jg`TQNNKL@>@8755664/03Ê‚‰wŒÂéŪª±±³»¸ÁÉÈÁÊÎÎÍÍʹÈÌËÇ·¥ž›œ¥§Ÿ—Š•š’¬­¡’‡veeh\]URUSQZa_\jm`QVcOXrpZQPJLMLHKMMNNNRZTX_VTYX_h][VPJMIGFEI?7555554/16¼‚†‚}‰Àé̦¨±²´¶´¾ÈƺÁÌËÍÌÉÀ´ÅËÈ¿³¦˜œž”™–…–•ŽŒ‘”œ’Š‰Š†€wuqcXTX[ZPX\WU]i]RQ^ffa_[SSMKKHJHGEGNLT_]W\WP\igfW]TMXSIJAAC9864434536=·ˆ‰……ŒÀæâÕ϶­¯­¬¶Ä»­³ºº¿½Ç½±¿Ä·ª Ÿ˜šž”–†ƒ…‚ŒŒƒ€Šˆ„‚„ƒ‚{xqaWVUV`[UXUSZfPPP_ieSS[YSMLMKKIFKIKSV]bTZRQmrde^c^UbZUUH<=;:7443365;?ź¸ŒƒÁåìïëÍ̯¡¢«¬¢¢¢¤¥¥ªº²¦¦ªšœ™ ˜•š“–Ž†„†‚†z„‹‰…}~}wtqjdXSYf\TUTV`[PZ\^^XRRRSSNLOQLOSQGDLPV`SSO_bb`Zej]RU^YHUF<<=:566589<>½¾¿“‡’¿äëåàã¢¯£Ÿ¤«¦¢¥¥¡•”“™ š”‘‹‰ˆ…€‚‚y‡„‚‚{|{wrjjfZX\SY_[V[[^ZW[Z\^ZTOKWVOLOLBDGFBBGIHSKQSZ^bZ`o[_Q\`[IFD?>=95677:>@@ª¾½–‹’¿ãìоÝêȹÄǺ¹²¶¹Æźª¡¡”Ž“Ÿ—š—ŽŒ‰ŽŒ‹‡†‚‚‚z€‡€~xyvsrnkfZ^dfdYQSYZ_^cYU^VX_[VRKNMOKCDFC@EGEDSHVX\Xbca^TdbVYYRLGEG;86678<@HFŠ½¼˜”¾ãìâÛééãäæååæäæçéëïÛš“‰Œ‘’Œˆ†…ŒŠ‹ˆƒ‚‚|€‹{ywpttoibX]ea[TWPS`gcdXPSSi]cYOQRQJHEHSKDJKLFPR^^YNZeddWbcVSX_RFAB<:8878=>85568989:9<@@@?K{«bÌðììììëåÚÈÀÀ»¶¨¦™ŒˆŠ]ISZaimQTaWCCBKknlg_FU}~}tswzyuqkf]UNMXY[SVY]\YKZa\]Y[aWLLTPMKMPOQTWYX]jaX\`bafmonnpmd^ZSkkB<;99>BLQVk‹PQQSTUWHDEEECBBHRTTVVQLB<:OpKHJJDZjeS~˜š“UUB=eqmbH9>?R–Œƒ`|O54T˜~FPLIGJNOOHeyW89FŒ^tv{|qijlmha][W_[OOWWOOT]\ZYZ^^UTOGAAGJC>CQQJT[b‘^aoj^VLUSL7:;<;`YFHMYbSII±ìÅwHTWMNMMPNHEBDŒØæ™X‰C:;a™mF;76;LLKHk‘r962vxdusvshfisyfYVWSSRNVXPOZ^[X]b^YPSUPJFLRJ=@OTOejwZIF>377:LNICABBBB::;;;:ReHJX_lPIL«èÍ°ž¡©«¬¯±°°®ª¦¢µÎɈ_†BJG\†nJA876<;9>…¢h763]Xspmmhgebl_UW^XX\TQTQTP\_\e_WUSPIHHEHLHEINPRglŽ‚W>H<8::8FH956=5347==:ADFD87AcJfo^]LJKj¨ÓÛáååçììéëðîëÙsT[ˆkdvOkLjXMJQX[ZPRLUeyPA>9Gl@dO=;Adfbab`VY[[VSQPNT\\UY\WNRZUQX\\swelnbZVyšXH?D@?rƒE<7456548>@A?:6;]H[j\YB>;i¢×ãéíï༻Ý̶ÊòÑ;7:VP@==@6;A?>DEECC>;;9JQLK@8::D<586Ebfa_a^Z[VVVW[]TRZ[ROOW`[Z[ezƒ‡ŒƒcepZWclwJMJJEB^y^BGC83339/AY><9:9997666687888789:;<>DN5:B>RURMsqqrstx{{z{|~€€€z“t@Y?=;;9899988888888:9::;<>?EEinimoopqrtuy{zxwwwwxxy{~ƒˆ”¥³µ®œŒsmmllaOPMQciQRA99?HGFILThjkk]ECB?O¢Z]€ƒqcRGD.1148=HVm˜åñðñðïìÊ…VhJE99=;9863;J>;69AH@9;@GQTvbHCGE@BZ^|œxbjjfca`cgfebaa_]_^^D7DKNOSX`kmnm„æñëéëíîîóÝukjlh^WSOLPÌÁr]ehhilmoprrppqoidc>93//11;?=AG=5Bo“¬~b@=@GVXQDBAVOD?=ERUSKDBBBEEI`^_…[Ukkjgd`abcffdca`_^`B3DMPQRXcjgffp¶ÐÎÌÊÈÅÄÅ©^SWbh^WRPLVÀγb\begiklnqrpprqnje<760-/138;;<@CEQZuo\ZZYXWWXY[\Y[Z[\[Z\[YZZ[Z]]`gRYQchhjjifdbadghgfdba`?2DMPRbecbS>/04;@HAKG;<8/.DL]hŠwQJW­ÄС[]dghilmnoooqqqnh;581/.-,,,,+,-./5Pƒmp]^]\[[\\\\\[[]^XWX^chpv|‡‰Œ…~‡‰„‚}potifcbdfhihfec;0CHGjÃŒdSKKFGFGOgV`^TYUNMQRRnÕÁT@Kz¶ÇÏZaeghkllmnoppqoh9582AP?8421-,,,*7[K^qW[[[ZZYYYZYXWjƒ{‹™¥«­°±¯±°®­®®¯®°°³³¬nijhdcbehihig9.B@>tχ___H@GFFFHDBBA@@<4Of`b‡LAFP¾ÊÉu[cehikllnopoog]76741EKKB76.+.02Bte€rUYXZZYYYYYYX]…’°ª¥¡›”‰„ƒ„~}}yxy‚‡‘”gnojieabcegjh9+==?Nhaagk^HB@ELKMRSSUUQWjpl`TLCBEZy®Âͱe^bfhjllmnonlf[;442257870-/36:;RuƒynlcYZZZZZYYVnt†zog`ZTTRPTVPPONMMOPSUY\rujkkgdbbdfe9*;;9>HP[gotmighgfhhggebced]VKD>8:BWXx¹ÄÍ _`efgillmllkjaM921220.///0110,Ou’~€Ÿ®šg[[\[[\ZWuyURJIHHIJLNM[_GGFGFBBBCBA@D`lkkjhdbbcc8&839./245455555444100/.+(())))1NJARKNˆ¼ÃÍ[^adfhijkkkje\SMKMQPPPPPPQRSQTr†w‹ÛäÙ§d_ac`aac‚O???>=<<<::776799:98877888:Dflkkkjgdb`7&77`L0*+1*''&$$$#%&&')*08D]H#)BVKA^SMV˜¼ÆÅxU]_beghkklljda_]]^][ZZZ\^`cdSntY„æÙÜè˜fmprsq‚{=:;<<>??AC=<97778888>>Wljjijg^UQ4'7448?<=?>=;98877888:;=AEIOI"!'*7=fYQK`¨Á˽m[`begiiklllkihfcb`][ZZ\^aceU_ZGeÓ»Áô·iwwxyx˜_><@FFFCBCA=ŠŒH@D=:65567766>AFeigfdb]QL4(61*-;<;;<;;:88999;;<:567765#&2468lcRNJr¸Âаc^befhijkllmkjieca^\[Z[^`bcTRIGI^a‹Ûœz£°³¼ª˜GA:698878<=Ba_>9<8755555654:B>XgeffffaT:,2-,240.--,++**+))))*)''(()*#'1105nqgSMN‰¼ÃÒ›]aefghikklmlkjigeb^[Z\]_`bSGGFIMT_n}½Èƒrk›Š;B648<:86@D@IC875544;FC:6547A?Jdfeeedc]P;2./2212467786766669:98:=AEEHJMMNQkmv_OLWÀÉÍ„\cefgikkklmlljihea]\\\^_bUDGGJPS[eˆØ¤14;œm;?336GWA2?L92023356Y¨P><12Qf]RTVbc`_]]]\]\\]_dhhhfb_^]]^^^\ZYZ]bgjklmrnmndTVi‰½ÉÓ»k_ddfiijllllmlljhda^\\]_U?DGGNW`l„¹£V„¨??:56E‡‹ŠQ:82/00146DELQ^^\^K54B>IdO243Hfdbcccbba_^]^dikmjfb_^^^___]ZZ]aehjlnoomhYPRS‘ÄÆÓ©_`acefgjkkllllljgc`]]]_Q9BHEKQZjdLE<Ån;@>BCHD„ïfB@QGdO@869546565689?BA==?<:::999;;B:\rggedccddddcdeffea^\\_dhlkheb`][[ZYXXZ[\ngdgicc`UOLf¸ÆÏÎyZaggegghijkkkkihfc`_N3>@A@BGKFEGIIIJLLLMMKHHKEuP@gcacccbcdddddeefeda_^^`chjhgda^\[ZZYYZZZlhhgsnjdTNNM…ÃÇÔ´`_dddffhijijkkihhfb`P/9@GO‡«‡Zf{±¼`e…W@GQTZ^ceiillmomnnnoppppoqqqszeƒJakqcabbbcddddeefeedbb_]^aghiifb^ZZ[[ZYYYomhhqosjTMOMW¨ÅÊÔ˜b`bdffghiijkkkiihdbQ*69CGIQ[dj]€­Rj\hvutrnkjheab`^]]\\]^^\\]_adf`l~w^ºä®fabbcdddefffffeecb_]^cgilkhc][[\[[[Zjrlhpptsh]PNKu¸ÃÐÌu[befefhhijjkkkjie\I)53798656>>??@???@AABDDDCDKhofbcbaabddeeffedddfhged`^^_chijhc_]]\\\tqlknnjhjleMJK`­ÂÊ׌]bdffhhijkjijiebYD*213/7>ADDQ_€|dIBCABB@??=<;;:;;:::::;;::;;;=>?>>>@Sniccbaaaddcccccddbdfgfdb_\\^cgjkid_\\ZYomlejlpsookRILLz½ÁÑÆo`dffhikkkkjjjhgcM0.--,-+++1Ko”kW@<=====;;:8889898888778889::=<9::=;;Qcdbbaaacdccccdfeeeeggfdb`\\_chkljfa\[Zkeeehlstpst`LJXh˜¿ÅÕ«bbefhikkkkkjjigcZF/./0.++*-Ojs[H:;9889;;:8889:::;=<===<<;;=>@Rhipƒf;Tfca^^bacddccdfffggfghffc`\]_dhlmkie_^fkkgopmmqrpkUJMMX§ÃÇÔ‘^begghjjjjjjige_VMKKKKLKKCPZbQd{‚gelfOCDFEDEGJLxkKIHHGEFLJh«ÑçÖ°²Ýœ5Ogd_ŒÀŲnacccdeffgffgffffc`^]`dilmmkfdyssqurljlkimgLJLIoº¿ÍÌv\bdfghhghiihgfc_\ZZXXYXXQKKOD²×µ¯ÎéáΘKMOUXZbo}w{rvab_[HI’úäÆ¿Ôâò‚2KfdcuÇáá§^bccddeeeeeeeeeffeb^[^chknnlhzslljijlnlePKMLM‘ÀÀÔ±]\adefggghhhgffda`_^\[ZZUID>;ŸñÜÕ¶¸Ùø½Q>IQSPk¡–—œ‡A;983GkŸÛÞàÜÔ°S2Ggdebipomabcdcddeeeeeeeefffea_]^chlnnkqwsuunoimonlkeZNLI_´¿ÊÔƒX`cefgfgihhgghgecb`^][[WID58hÍæäâÜׯui5--++Mj…ˆˆˆa:566Ca‚gkkbYL;81Dgdedb_`_mkcdddddedeeeefffeedb^\]bhlmmmvsutmpjjlllotiRKKL’ÅÈÖºcbeghghhiihhhhhgedb`_\[VJE26=Mafhhfjƒ˜r>?A@;{£¦”‘UAC@B@~ŸxcTJB;642Efddeecdl‡xdccccdecdddccccddec`\Z]chlmmtoommnjgjinnniSKJKe»ÇÏÖŠ]dfgihhhighhhhgeedb_]\VLG2796;?HQbv“¼l@Rkrv ¶––¡¤škP•§zdRI@;90.Effdddccc^\accccdcbcdddcedddddb`^\]bgjnlousplmnoghkkkUKJMM”ÈÇÓ»d_bdfggggghhhhgffec`_]VNI1335@?JR_t‘m£ìîððïððñòðóê|d¼ }dRIB<;42Feedcccbba`adc`decbddeedefeddeeca][]cgjmoroooqtrmjlmgVNKLKc¹ÈÍÖŽ`ffghhiihhhihhfffdb`_WOK1169??KQ]sŒºÀ^ ïëêëëëëìéÛëæqgÃhXOF?;9>Keddddccbad£À½—cdccddeeefffeeeedc`][]blklosvvqumkmlkpePKJLLŽÉÉÕÁldfhhhiihhhiihgfgfcb`WCC:GA<@CLS^w“½ÆY–óïïïîîðñòòôîkuÓ¬„gTF:40.2Ifdddcccba_Šäïçœcbcccddeeeedddeedb`][\kpvsprrnpjkjgitcMKLLK_¸ËÍÖ™afghhiihhhiiigggfedbY7<=:325:?FQe®ÙlvÑÕÕÐÒÒËÁ¶­­—Mw‡[G7557>1.3HeedccccbaaaŽ°±¡g`bbccccbdeccdeddca`]Zqwvqjgjookkkwstf`YLLNQ‰ËËÑÉubfgijjhhgihhhgffefe]58>5108@=96:EGnd5BDDBGL@;74424e@BJ81eÆÁM,6Hdedddccbaaa]\\^aaabbacdcccbbcdccbaa_[ijkhbaaijs}wuwqjpgQLNS]±ËÉתeghijiihhhhhhgfffee^>C=710•É¸C8<<80/3;6537dFIgol}€‘wcanjQMFCCM745532339Hceeedccccbbbbaaa`acbcdddcbca`aaaaacca…~uztrjnvpkjpjcccVLKK^e¼ÄÌØ’^bcdeefggghgghhfaY.*=:625557669JFHDEK\b\k\Y\XNMNKKH4100.//02Ecefeedddccbca```bbccceedccbabccbabccc‚zz€ysoscair{skmfZMLKV][šÄÄ×ÁgaccdeeeeeefgffaWP.(=2/.//../03=?<:<9532@3ÏÏÏÏÏÏÏÏÏÏÏÎÎÎÎÉÃÆÂÊÎÏÎÎÎÎÎÎÎÎÎÎÌÌÌÌÌÍÍÍÍÍÌÌÌÌÌÌÌÍÎÍÍÏÏÏȶŸ¨šx‚z‚u`]aq{o_aokh\Y[^`ZYVP_h`^UPOQYX^hiiQU]`ZSQMRSZ_c]VPNKBA86543087ÏÎÎÎÎÏÎÎÏÏÏÏÏÎÍÈÂÅÀÈÌÍÍÌÍÍÍÍÎÎÎÍÍÍÌÍÍÍÌÌÌÌÌÌÌÍÍÍÍÎÎÍÎÎÏÎÍÁ¤‹Štompklllt€y]bbedZ[\]\]TSV^cZ[ZWTSUTX\hdRQZ_VLMNRR]ca`[QGC@<853331/3ÍÍÍÎÎÎÎÎÍÎÎÎÎÍÍÊÃÆÁÉÍÌÌÌÊÊËËËÌÌËÊÉÊËÌËËËËÌÌÌÌÍÍÎÎÎÎÎÏÎÎÍÍ˵˜‘|knt{v~hfd^fY`dc[[XVaZTYedSRTXYUOLVQYhROUYYPNRPPZa_aYVTMG>;87331-.ÎÎÍÍÍÍÍÍÍÎÎÎÎÎÎÊÁÂÁËÏÎÍÍÍÍÍÍÍÌÌËËËËËËËÊÊÊÊËÊÊÊÊÊÊÉÊÊÌÌÌËËÍ¿’ƒ~vcl}mch`a`VjcZYUUN\a^`qnZQPV^VNJTRRYT[[YVOQRV[_YX[RQYOH??@=640.,ÍÍÍÌÌÍÍÍÍÎÎÎÎÎÏȹ¼»ÉÏÎÎÎÎÎÎÎÎÎÎÎÏÏÎÎÍÍÍÍÌËËËÌÌÌËÊÇÊËËÌÌÌÉÇÆ£‰zysh^mpod`a^W\aUS[TTQZfefhdgVRW[TPTVSRXSZ]bVSUSZ[]ZXUSPPPI?@>8641/3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻŽÅÎÍÎÎÎÎÎÍÍÎÎÎÎÎÎÍÍÎÍÌÌÊËÎÏÏÍËÈÅÊËÌÎÏÌÈÅõ¡}yqgXUc`Y^a^\b^WVSLMVZ`aei`\SPQQOLTRTQ`LUU[[X[Z^[]ZTQTPSKED?C<420/5ÏÎÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÁÄÍÌÍÍÍÍÍÌÌÍÍÍÍÍÎÍÎÎÍÌÌÊÊËÍÊÆÃÄÂÅÇÊÍÎËÃÀ½«‚}rVTQPNUXnoebc\YND?NWR\bb_XURMMLIMIRMZNSVVWX\\[[^ZSOTNWNDI@?>2//--ÏÎÎÎÏÏÎÎÎÎÎÎÎÎÏÅ¿ÊÁÃÍÌÌÍÌÌÍÍÍÍÎÎÎÎÎÎÎÎÍÌËÈÈÇɾºÃ½Á¾ÆÊÈż±¥©€zuaVXXVegaogg_XVRSUTdUP\]UPWXSMJGPQQYXSQY[UUWYVPQ\VSXPWV?7712/..,-ÏÎÒ××ÐÍÎÍÌÊÉÊËÍÄÀÉÁÁÌÎÎÎÍÍÍÏÏÏÏÏÎÎÎÎÎÎÏÌÄÂÂÁżº­À¸¿¶¿Ç¿¾¶¨‰‡€rˆ}fZ_\]blVn\V]ROTU`]XOPTYRRTVXLKLSSRZh]NVYVWVVZSL]ZZ^^MD<6531...-.ÍÙèïïäÓÌÊÿ¾ÁÆÉÂÁÈÁÀËÌÌÍÌÌÌÍÎÎÎÏÎÎÎÎÍÍÎËÄÁ½¶¾º±¢»³¾²µÁµ¼¶š‡}ojhbbbTYd^Ve[S[]QSSX^UUTOOOMLNTXVQTPQRdZNY\XRNNXZQXYRMJA9<<962/----ÔíÕ©¹åé̾¸³±·»ÁÃÃÊÆÂÊÌËÌËÌËÉËÌÌÌËËÌÊÈÈÅÆÁµ¯«¯²§ž©­¸°´¶®­¢ƒyzwllVbe[XaYS\i]V_YLQSU^`bUQNMLORMUWJPUOS^^Za\TOKLYXSZPQYJBB=;;972....ìÎ}go¢âÛ¶°®®´´¿ÅÆËÉÄËÍÍÍÍÍÉÇËÌÌËËËÊÈÄľÀ´¢Ÿœ¤¦›—¡­®¬®©¨š…vnlhkn^WZV`aVV_\Z_VOTTSUV`YRTOOSVRSUWQPYPSY`X^XY[UZ`USZWTQA?G<877752011äŒwwrÅ踭¬®²²ÀÃÆÊÈÃÉÍÍÍÎÌÆÁÉÌËËËÈü¸¹·»«Ÿ”šœš“ ±®« šœ’{lgfUhcTMIOXbYRQ^ibana_`[TWOPQPQSXSVTVYSZNP___i[c_jf`SQONKLA<>8855664/03ɉw‡¿æ¿ªª°±³»¸ÁÉÈÁÉÍÍÍÍʹÇÌËÈÄ»« žž¥§Ÿ–Š”š’ž¬­Ÿ‘‡webgZ]WQSSQZ`a\gnbQVdOWqoZQPLMNLHKMNONNRZTX`UTZX_f_[VQKMHFGDH@7555554/16¹ƒˆ‚|…»çÆ£§±²µµ³¾ÈƺÁÌËÍÌÊ¿´ÅÊÈ¿¶©šœœ”˜–„–•Ž‹‘“›‘Š‰‹†€utpcYUX\XPY]XU]i^RR_dda`\SSMLKHJHGEGNLR^\W[VPXfggU\SMUSHIAAE:854435527>­‚‚„„Œ¼äßÉƲ®°­¬¸Æ¼®³º¸À¼Ç½±¿Ä·ª¡¡š›Ÿ“•†ƒ†‚ŒŒ„€Š‹‡„ƒ„‚‚{xqaUVVV^[VZUSXgRPO^hfSR[YTNLMJKIEKJKRV^`RZRPltdh`a\Tb[UUF<;;97443475;?µ¶Ž‚½ãíïèÇÆ­££«­¢¢£¤¤¤ª¹±¥¤«›œ™ ™—œ“–Ž…ƒ†‚‚†‚z„‹‰…‚~~~~wtpjdZSZh[SVSU_[NW[^^XRRSSSNLPQLOSRGCLPVbTSN^bdaYbi^RT\XITE<<<:566599==·ÀÁ–†¼âëæãã﹜Ÿ°¤ž¤©¤¢¤¤ ”•”™ ›’–‘‹ˆˆ„‚‚zˆ…ƒ{|zwriig[VXQY_[V[Z^[V[[\_ZTOJVWOLPLCEHGAAFIJRKRSZ]`Y_r`]O[a\HFD?>=95677:>@@½¾˜Œ’¼âìϼÝëïºÆ´·±µµÂ¿µ¨¡¡•Ž’Ÿ˜›—Ž†ŽŽŒŠ‡‡‚‚‚z€‡€~xywsrmnhZ]dccYRTXX^]bYU^VX^ZURKONPKBDFB@EFFCRHUX[Xca`]Se`WYXPJFEF:86679<@HFy°¿˜”¼âíÞÑèéÞÛàÛÜããääæéíšš”‰”‘’Š†ƒŒŽ‹Œˆ…ƒƒ‚|€‹{ywrtsoieY\fb[SWPR^gbdXOSPg^dXNQRQKIEHSKCKKLEQP]_[O[eddUadVRX_SGBC<:8889><^~ü½ÁËÚêëëëëëéçåâààÖÎÊÊÆ”…‘™Ÿ¦«¬¬¨¦¢¦©©¨¨ª¥£¤ ‘€ˆ„}zxz{wvp_Z^`UXVUW`YQM^u‚tg^\gSUNMTTNMJDAMVSSTRP\bfe[SYY^_U]XTYJ>89<<8::::>>>COTV_[\bfkb`_Z\VZVSWVRC;8977:9999;@@@?OT®m‘îíììììäÚǾ¾º¶¨§šŽŒŽ„’^VRQRX]e„gSRT[c`\VLO|~}tswzyupkg]TMM[X\TVX]][JZaZ]Z[`WKMUPMKMPOQTWYX\mdZYYWTUWSSPQKA951Zn54479UImywnjpwzphc_PRTEGPTZ]VRTRSV[WWXZ`]UMEDBDHIFGGJUX\X~…Ÿš—’ŽŒŠ‰†„‚€‡ŒzS9@HIIi¡ÉÁµ»³¨¤œ˜––™š¨±¢}{{€zMTx¶´°ª¨ž¹¦}•ƒOSOB853PaWxuqtnpvrkh^RVXTY[_]XGERX_X[YXVX]VOJDDA?@?>=BMPX^p”cib]XUTTTTTSQQQRTTSSVST?AHKKÝóº{»¨¤‡IFGHRLFGHIEpŒxzz…gcN=]ZOJXVq€tlONTeZ84@vOrtvukmtlig]O]j]UT[\YQOWY[c_ZW\[VNHEAA??=89=DIJ[cuuJW]bimnH;=<;:::HX\]^_aNJFHDPÉÕjž¨fBBKtƒrngPLFO•xvy…Yv@2556:NOMLMKLOG[xe>:p™\fx{vnjoiicc\gpcZNR\\WSTYX`ZV\g[PJCB@ACA@?DIC?K[d„_}œœ¡§ª±?989??DSXOIIEkiKLJBXfXMcž—¦W]I=UpdcL8:?;†Ž›‚Z|668cxKJPONMNNNLV{dC8bŒzUx}zqhjlmfb^]X_[OPWVOOT]\ZY[^^TUOGABGIB>CRRJU[`f’[~¥­¥“ˆrQD7@HHIOE;:9;BjOJLXaaLDzïÖ—GWXROTPVYOJJEmÀô²pft38<}›sLG><J;798>KG=;<@BC?=>>=9:PeNkhkUDMc»ÓØØÙÛÞàÞÝÝÛÚ×ÚáÉ‚|aˆWIMLh‡iMKB>>><86N˜ŠC974{[tg]``\ZjeWPY\_]YRMPXTZe``[QOVTMF@>GR\WZbgle[fœkU8H88BH;@?434;CA=5v|QvMAB[fcbb`UX[[VTQPNV]\TZ[UNPZTQTXUlxejul^UWxXK:A9Ajve?94456878?BC@75@aHelY?>9RËãèìïæ± ÇÏ£¯áóƒ48gyG^IVT@IABKVXWQLHGLYnZLF;8D@CN;>6Qhb^a_Z[VUSUWYPLWVNNOTWWYX`s„‹…edpjVZ]b‚’IHBFBCt‡pA?844558=@ABB>8:^FRhcSQSe€ª¿ËÎÇÄŸ¡¸À« ½Ëg054>M<8657:=97767897877?@AC:;;FE05abOEDRfGDJF9455?IKKKKI@9SDIbcsqqsstw{{y|}~}}€ybXP4ZM<<;:88999878888898889;=>HE>\elnnprtuwz{yxvvwxzz{}…›©¶³¨—‰|qllmmmZR]bvnB^|I::<<<;?K`IHrpnmmoprtuvvutuwy{|“º`MH;;:9888877778888889889==>?bthijiigikkostuvvuvvtsrrropsz…‘ž©°®§ž}qcQTTFf}aUOEAIPLMNOU[\^^VPPNJEOamkZvrnljkmmorrssqpopqtwyŒ¹lI?579866776666665556542479BJnwosssqpplhefgjlnpsuvvvtsponoponqv|‹ž²À·›„­uxvyplfVRfnnmmlklkjknoodXchhp‚tWzwrolkkkmnnpqqqqqpppq{¢qUeY=465555455>@555548Rfz…’Ÿ¨¬ª¥©¬¬¬­¬¦¦ž•fbeehlortuwutspmmooppnln|–°µŒ­obf_ZZZYoka_^]\[[\\^ahi\ZZZ]_YPyxxtplkijijmnoppqqqrqsxkj¢ª¢E144344579976539‰ž¢¥—“Šˆ†††…„…ˆ‘“˜…bdbcccgjnqsuwwvurpnlnopommxv¤}fVXYWWWX[ZXWWWVVVWVWWXXWWXXXXXUwwxxvqliihgiklnnooqqqviIz ´ª’I0232215_ŠrD@‚†9>_ÐòÛäå¡GlnppqrsstqkgcabbbcdfiU30../2?FIkV[jqw³ß£ypŒceƒäßàààã»M]e_MåÝÛØÝæ–^g^kilonkhdbbbc__`bfjopqrrucFKSH…ÜÑÕÙìºQAB­‰8‘ѽOWÃjCGµòÌǯ¤fIjloprssuutpmiecbbcccgL.-258;@IS]o’¬¹ÄÒàÑÍ·‹Yi_¦©¨¬´¸€BUofVƒÛÜÖ˹©hDuUfffimpomjgfggfc``bgjmpptdBDKNTk~ªªçðqE?jÒl„ЯY³¬HLZ¿î¬eTOMhjlnpssuuusqnjfcbbbbeO/-057>FP_vÅóíîíëìñЀWiD999:==FWp“¯ºòíññòòñ»m^bI?7:::8::BxrUP:5::;;IAXaYkkiecegjmnifdcdda`__cglaCAGJNSWY\^^bjpt†×çéæã¬vqhdbac]YTOL^begjmnpqssssqojebaabS20115:86;OO?7;:EiRilmkgdcdgiihgeba`_^]^_a\C>HJMQVYclruux~†•®Å²Ÿ’‹ƒ~{ytj\WTOL…\ceilmopqrssrpnidbabT4403?wÝ“F?E[PNMNMP~šTgKIGCVYODC:544464X¤Ÿ]8;88hRekjklifdcceghgc``_^]^\[YBBLNCEfy‡Ž”|JDIGHNRRJHCRJD<6HMNPTYbklomˆëôðïððñò÷Ýtljih^UQOMÀγb\begiklnqqpqqpnieS3;/./13;>ABC@DV}˜Ÿ…sUAADNYTKDCMXIEAENUWTKGJKMNOUgXinN\llkjgdbbdghgedbaa^;4HNQRSYdi`WV[ˆ›˜••“Ž‹vI@J]f_\TQN®ÄС[]dghjkmnpoqqqpmiU0;1-*.0257569;>H^†ˆrh_]\ZYY[\\\Z\]\\\\\\\\][\\]]dbNQ]hhjkkjhfcbdgijhgec]74FLN\od[N;*+,/3C7JI88749LHYmª•RHz·ÇÏZaeghjllnooppqolV-<41=1-,+**++++,?]vmf[\\[[[[[[ZYZZZWVUVY\beimntz|jyƒ}zvrkprjiecbeijkig`32FEDŠß„bTOMQRPQVeUZZTXUNGP[UkμS@Q¾ÊÉu[cehikllnopponhQ,:52IQF?873++++(TROpbWZZZYYXXYYXYWktn~Œš¥¬®±±±±±±³³±±¯±±°¨ˆojkiebbbehjjc11B>@t«q`cdG9<<<@?>>?@A?88Xhd`ngGAYx¯Âͱe]bghjllmnonmj^L-:523BFF940-069:ar|‚cVZXYYXYXYXXW_„›±¯«¨ œ˜”‹ˆ†‡ˆ……ˆ–ž–dlmkkhdbabfhd1/>=>IXZajpiWOOUYZZ^__abbktqj\PGA@XYy¹ÄÍž]_efgikmmllljcQ551110/0/,+./237aƒ~yxtbXYYZYZZXVxŠ„zrkd`ZWUSQPPRQQSUX[_caxtjkjhebabdb1,:86;BHQ\bhda_`]\]\YXVSSSOIE?957:RJN‰¼ÃÌŒZ^acfhjjkkkjd[I988:;98:;:::;:@>XjihgfcXOK-+72*/>>==>>=<::88;<<;;<>??BA=:65666667??Idhgfdb]SK/+40+1:8877677532334444311220"'445mpeRMN‰½ÃÒ—Zaefghikklmljhgfda^[[Z[]_a^PKHFLV[¦À}š¶¹ºÀ¶‘B@98:9989=>Lqd>;?9654445555;A@Zgffffe_T;..+*1/+*((''&&%%&$%$$%&'()+*(+122jmw^OLXžÀÊÌ‚\ceggikkklmljiihea]\[\\_a_KDIGMQY`l–Ü“WRN’|:A538::86ABEE=8766447>=75547A=Mefeeddb\SD95588<@DGGDBBCCCBEEDCAEHLQSXYY[]rpngXPLd¬ÃÏÅu^efghkjklmllkjjhda^]\\]``LCJGNRV`q¥à]49E£_<>237BF;3BK82233455:WYLE<744>?D^ffgedc_\ZWUUUVX[^cffca^]\[[\]][XXX]dhijklqmmndSUg‡¼ÉÔºk`eegiijklllllljhda^]\\^aK@IFNX^erœÜoCDg©I>:129d~I05;3011345:BJJOQPH:3:B?Tea\]^cba``__]]]]\_diijheb^\]^^_]ZYY]aehijmnomhYPSTŽÃÇÔ©``acefhjkkllmlljgc`]]\]`J?IFJRZfs˜Ö…q»²‹>@834N‹†ƒG751000146CCJQ]]\\I45B>KeP456Ofcccccba`_]]`ejllkhdb`_^_`^\ZY[^cfiosrondRMMX¤ÆÌÓŒZ`bdfgijjkkklllifc`^\\^C=FEHNU`qsnOWѶf:@CWL673>eddeddcccb`]\_chkmlkgdb`__^\[YZZ\_eoutstvjUPJm½ÈÒÄl]bdfgijjkkkllkkieb_]\]?;FGGLT_bA9@@€R9AAX`>CFECBB:10013@HNLOfdWQI82;;<<643/?ecceddcdedca]\]`ekllkhdb_^\[ZYYYZ[\opmlkni]SMM–ÆÊס[`cffghiijjkkkkjgda^]]>7FIHXf`L7JXJGME9EVeV?@@@?=>=:7655;5>HK§èÈaQ[xš¬dP=47789::;<<=?CC?@BAAABBBBCC@@@>’ß­fabbcddddffffffdcb_]^cgilkgb][\\[[[Zjqlhpptsg]PNKt¸ÃÐÌu[befefhhiijkkjihgca=-7>EFGQ[conšªGuŽqN`mpqssrrpmllkijiihhhhfefhjlqdt…kd³Æ|^aabdddeffffffggdba^^aeiljhc]\\\]]]sxqmqrpmoq\MKP‘ÂÇÖ³`adfefghhjjjjkjihcY9-54964244RQTr`ym_TQTOKIHHEDDDDCBCCDCDCCCDDEFHHHIJSoldbbaabbbddddcdecdefedb`]\^cgjkid`]\ZZpmnejlptookRILL{½ÁÑÇp`effhikkkkjkjhebU8+2110=<<><<<<===<<<<==>?@@?ACZuebbaaabbddcdeffeeeggfdc`\\_chkljfa]\[mgedhjstpst`LJXh™¿ÅÕ«bbefhikkkkkkjigf^C/,,+-+*+,5S}‘oW@??>>>=<;:99899999:9999:99:;<==<;9:A[fca^^``cdddcdffgggfffffc`\]_dhlmkie`^agkgmommqsplVJMMX§ÃÈÔ‘^beghhjjjkjjjhe`V=..22/--+1Sx{^M:9::::;;:88888775689988888:<<>ACM_]HBXf`‘¿À§hacccdeffgfffffffd`^]_dilmnkfcxssourlkllikgMJLIoº¿ÍÌu[adeffhhhiiihfc]TNLMMNMMLBTejQFQVF>A?:<=<=>ABCG_XIIHEDCDFFLj˜»´›¦Ç˜9OgcvÊçâ ^bccddeeeeeeeeeffeb^[^chknnlhysmlkhjlnkdOJMLM‘ÀÀÓ¯\\acdffgghihgfeb_[ZYXXXXYMOPUN¤¬©–³¿®†^JMJJKORO|kYTWWUSPLJ˜îèØļÊì˜3Kgebiurqbbcdcddeeeeeeeefffea_]^bhlnnkqxtttnnimonlkdYNLI_´¿ÉÓX`cefgfghhhhggec`__][ZZZQMBCFÅÝŸ¼Ðäø¯HHU^bbyŸ–•§™–WVSO:G|ÓåÑÚïñâp1Gfedb^_^iicdddddedeeeefffeedb^\]bhlmmmtttumpjjlllptiRKKL“ÅÇÖ¶bbeghhggiihhhggebaa_]\[\QJ@;<•óïêÓÎáÚ†V3542/[t‚~wf3+++9Qsl•¢”ƒ[>0Bfdeecdkˆzccccccecdddccddddec`\Z]bhlmlupolmnkgjinnoiSKJKe»ÆÎÖ‰^cfgihhhighhhgfddca_][[QJ@6:N€”ž œ’rxM79<:J‡¨©¥¥aBDCDIt“r^RJC:552Cfddddcc_\bccccccccddddedddddb`^\]bgjomnusplmnoghkkkVKJML’ÇÇÔ»c_bdfggggghhhggfedc`_]\RK?0577=BGO]s“¬q8@DFAe‹•uqa_b\OBŠ§{eUKC<810Dfdddccba`^ba`decbcdeddeeeddeeca][]cgimoronnqtrmilmgVNKLKb¹ÈÍÖŒ`ffghhiihhhhggfffdb`^]RLA/656?AKSbw•Âia¾ÅÏÐÞçÜßäçéÜ_ª£|dRIB;;0,@edddccbad›··bedddddeefeeeededc`][]bmkmnruuqulknmkpdPKJLMŒÉÉÕ¿kefhihiihhhhihgfgfcb_]RPE0/28??LR_v©d­õïîïììííêßìæueÄ›~dTLE=<9;Edddcccba_‘æïå•bbbcccddddeddcdddb`][\kousprrmpjkjfirbLKLML^·ËÍÕ—afgghiihhhiiigggfedb`RLD5@=8----1Ddeddccbaaa]\[^aaabb`bcbccbbcdccbaa_[ijlib`aijr|wuwpiogQLNR\²ËÈשdghijiihhhhhhgfffedcU3;;2/0/14=?JYu¦cUƒŒ†ˆŠvia\VI6kS@B43Cx…B-4Ededdcccaaa```abbccbbcccaabbbcbaaaba_tnkmismqistuuu~€m^TKLLL}ÅÅÎÔ†cffhghgghhhgggfffeeV5;=5/2j}k:8=K;Ob25569CIEF633421016Ebfeddddccccbaa`bbeghfefedccddcbaacdc…††‡‡‡‡‡‡…†‡‡‡‡††††‡‡‡‡‡‡‡‡‡…„‚~}xutttwxxxyyx{|zvuwzz{{zyz{~€€€††……†‡†††††††††……††††††††‡……†‚|yvutuuvxxxxwz{zywtvwyzyxwy{~€€€………„…†††††……†…………††††…†………„…†‚€{uwwwwwyzwxwz{zyxvvuxyywxyz}~€€€……………†……††……†…………††………†…„…………ƒzyywwy{{yxxz{{zywvvxyyyyyz~~€€€†…„„…………†……††……………………„ƒƒƒ„„„„‚€|yxwyz|{zzz{z{zzvvxxxyzzy|~€€€…‚ƒƒ„„„…………†……………………„‚‚‚‚‚‚€€|yxwy{{zy{||{zyxwvxz{yzx{}€€€ƒ„…ƒ‚ƒƒ………………„„††……„‚€€}~~~{zxwwxxyz{{{{zywwwwwxyzyz~~€€€ƒ„…‚€‚ƒ………………„„…„‚‚‚~~€€~}||}|{ywwxvvy{}||{{yxyxwuuxyy{~~€€€‚‚€‚ƒ„„††„ƒƒ|{z||||}}~}||{{|zzyxxyxxzz||||{zwyyvuuwwx|€€€€€~~ƒƒ‚€~zxwwyzz{z{{yyxy{yzzyxxyy{z{}}||{zyxxvuvuv{~€€}‚~€~€€€}|}}}}}||zzzwyyxwxy{z{{yvwxxy{||}~}|{xwywvvuv{~~…~~~€€€€~ƒ‰‹ŒŽŽ†xvvvvwz{{zzyvuvwz{{}~}{yyxyzzxyz|~€~~‚~~~~~}|~}~‰Œ‰ˆ‡‡Š‰Š‹}tvuuwz||{yxz{yzyz|~}}{xyxz~€€…†…ƒ~}}‹‡~~€‚‚€{{€†‚~„„…†…ˆ‰‚utuuwyyzyxz|{yzz{}~~~{z~†‰ˆ‰ŒŒŒ‹Š‰‚}|„††‡ˆˆˆ~{‡†„„…„………ˆ„wstuvxwyyyzzzyyz}~~~{z„ƒ„‰‹Š‹Š‰‹„}z€ƒ††‡†ˆˆ}‚ˆˆ„…‡ˆ‡‡ˆ…zuutuxyyyzzzyxxz}~~~}x|†…„†ˆˆŠ‰Š‹‹‹†yr€ƒ„‚‚‚ƒ‚€„ˆˆ„†‰ˆˆ‡€‰‡|wxxvwyxy{zzyxy{||{|yws}‡‹‹ˆˆˆ‰ŠŠ‰‹Œˆxp‚‚€ƒƒ††…†‡‡‡††ƒƒ‰Š„~{zyyy||{{z{zxurjorvz‚ˆŠŠ…ˆ‹‹ŠŠ‹‰ŠŠ~v„„ƒ„ƒƒ„ƒ„„„†ŒŒ‹‹Œ‹‹‰‹‹‰‹ŽŽ…€€‚‚‚}|xttwxy{ƒˆ‰ˆ†‡ˆ‡††ˆ‡‡ˆƒ|‡ˆ††ˆ‰‰ˆˆˆ‡‰Œ‹ŠŠŠ‹‹‹Œ†ƒƒƒƒƒƒƒƒƒ„„„……„…„€}€„ˆŠ‰ˆ‰‰‰ˆˆ‰ŠˆŠ‹}‰‰ˆˆˆˆˆŠŠŠˆŠ‰‚‡‰‰ˆ‡‡‡ˆ’’‘‘Ž†„„ƒ‚ƒƒ„‡‡‡……†ƒ„‚ƒ‡„~€ƒƒ‚ƒ€‰‰‰ˆˆ‡ˆ‰‰‰ˆˆ„ƒ…„……†…‰ŽŽŽ‰„ƒƒƒ‚ƒ„††……~xtstsrqqsssw{‰‰‰‰ˆ††‡ˆˆ‡†„‚ƒ‚€‚ƒ…†‹†~{|‚‹‰|}‚‰…‚ƒƒƒ‚€ƒ„…‚€}{{yyyz{{~€~ŠŠ‰‰‰ˆ††‡‡‡„„…††ƒ‚‚ƒ…Š†~|}„‹Š{|‡ˆƒƒ‚‚€|}~€€€€ƒ€{xˆŠ‰‰ŠŠ‰††‡†ƒƒ…‡†„‚ƒŠ‡ˆ‰‰Š‹‹‡††‡ˆ‰‡…‚‚€vrtwxw{€~zwxtrtƒˆ‰ŠŠŠ‹‰††…ƒ‚ƒ‚‚€‚‚ƒ†Š†ˆ‰‰‰ŠŒŒ„‚ˆ‰Š‰ˆ‡„ƒ‚‚‚‚‚uprstw}~zxtqqt€†ˆˆ‰‰‹‹ˆ†„‚‚‚€‚ƒ„ˆŠ†……†……‰‡€„…ˆŠ‡ˆ‡…ƒ‚‚ƒ‚‚vrrtzƒ€€~ysrt}€„‡‰‰Š‹‹‰†‚‚‚‚‚‚‚ˆ‘ŽŽ’‘Ž††ˆˆ‡„ƒ‚‚{www~‚€€}yxz||†ˆ‰Š‹‹‹‰‚ƒƒ‚‚ƒ‚„Š“–•••–•““’‘‘‘‘ŒŠŠŠŠ‡†ƒ‚€€‚€~}€€€~}}}~ƒ‡ˆ‰ŠŠ‹Š„„…ƒƒƒƒ…‹‹‹‘‘‘‘’’‘’“““““’‘Šˆˆ†ƒ‚€€€€€€€€{~}}ƒ‡ˆ‰ŠŠ‰…‚ƒƒ‚ƒƒƒ…‹~†Œ‘ŽŒŒŒŽ‹ˆˆˆ†…ƒ‚ƒƒƒƒ‚ƒƒ„ƒƒ‚€€u~}…‰‰‰ŠŠ‰ˆ‡……„………‡€|ˆˆ‡Š‹‹‹Š‹Š‰Š‹‹ŒŒŒŠˆˆˆ‰ˆ„„‡ˆ‡‡‡††‡‡…„€oz€~‚‡‰‰ŠŠ‹‹Šˆ…„…†„…„……†‰ŠŠŠŠŒŠ‰Š‹‹‹‹ŒŠˆˆˆˆ‰„‚‚‚‚ƒ‚‚‚‚‚‚€€hm|}{~ƒˆ‰ŠŠ‹‹‹Š‡………„„……ƒ‚†‰Š‰†ˆ‹ŠŠŠ‰ˆˆ‰‹Šˆˆ‡†‡†ƒƒƒ‚€€iir{}~…ˆˆ‰ŠŠ‹‹Š‡……„ƒ…„ƒ‚„†ˆŠˆ„‰ŠŠ‰‡‡‡‡ˆ‰ˆˆ†…‡‡†††„‚€€€‚ƒkjkw€~}‚‡‰‰‰ŠŠ‹‹‰†…„‚ƒ‚ƒƒ…‡†ˆ‡††ˆˆˆˆˆ‡‡‡ˆˆ‡ˆ†…‡‰ˆˆˆ‡…ƒ€€€‚„…„nmls€}~„‰‰ŠŠŠŠ‹Šˆ…ƒƒ‚€ƒ†ˆŠŠ‹ŒŒŒŒŒŒŽŒŒ‹‡‡ˆˆˆˆ‰‰ˆ†ƒ‚€€‚ƒ………omjnz€~|€†ŠŠ‰ŠŠ‹‹‰‡„€†‹’“”••••–––———–”‰ƒ‡ˆˆ‡‰‰‰‰ˆ…‚ƒ†‡‡klhiky€}}ƒ‰ŠŠŠŠ‹‹‹Š…„„‚…Ž”•˜—––••”””””••––‡‡ˆ‰ˆ‰ˆˆˆˆ‡…‚€ƒ…†mmiges€~|†ŠŠŠŠ‹‹‹‹†‚……‚…Ž‘‘ŽŒŒ‹‹Œ‹ŒŽŽˆ‡‡ˆˆ‰‰ˆˆˆˆˆ†‚‚‚ƒmkgfgl{€~}‡‰ŠŠŠŠŠ‰‡ƒ‚ƒ‚ˆ‹Š‰‡‡†††„…„„…†‹‹…‰Šˆ…ƒ†ˆˆˆˆˆˆ‰ˆ‡ƒ‚€€ggfgghq~€~~‚‰ŠŠŠŠŠŠ‰‡…„ƒ‚†‡ƒ†‡„ƒ‚‚ƒ‚€„ˆŠ…†‡‰‡††‡ˆˆˆˆˆ‰ˆ‰†ƒ€€hhhfghhu€}€ˆŠŠŠŠ‹Š‹Šˆ‡†ƒ‚ƒ†Œ„‚‚‚‚„„‚€‚…‰Œ†„ˆˆ‰‡†‰‰ˆˆˆˆ‰‰ˆ†ƒ€jhgegihr~~„Š‹ŠŠ‹‹‹‹‹‰‡ƒ‚‚„†…‚…„„††„‚€€ƒ‚ƒ‡‰‰‰‡†‡ˆ‰‡ˆ‰ˆˆ‰‡„jhgegiho~€}€‡ŒŒŠŠ‹‹‹‹‹‰ƒ„„€€€€€‚€€‚‚‚‡‰Šˆ‡‚ƒ‡‰ˆ‰‰‰‰‰‰‡ƒjjihihhkv~‚ŠŒŠŠŠ‹Š‹ŒŠ…€ƒƒ‚‚€€€€€€‚‚‚ˆ‰‰ˆ‡‡‡‡‰‰‰‰‰‰‰ˆ‰‡lkjjmjhiq}‚~†Š‹ŠŠ‹‹‹‹Š‡‚‚‚‚€‚‚€€€‚‚‚‰‰‰ˆ‰‰‰‰ŠŠ‰‰‰‰ˆˆ‰‰klmnoolos|€~}}‚‰Š‰‰‹‹‹‹‹‡‚€‚€€‚ƒˆ‰‰‰‰ˆ‰‰ˆ‰‰‰‰ˆ‰‰‰‰{zzzzzzz{zzz{{{zzzyyyyyyyzzz|‚„ƒƒ„„†‡‰‡††‡ˆ‡‡‡‡††‡‡‡……‡†„ƒ‚ƒƒyzzyzzzzzzzzyyyyyyyyyyyyyyyyz‚‚ƒ„„‚„…††………†ˆˆ……†„„…††††‡†„‚‚zzzzyzzzzzzzzyyyyyyyyyz{zzzzz‚‚ƒ……ƒ„………„„…†‡‡†„„„„ƒ…†‡‡†…„ƒ‚‚zzzzzzyyzzzzzyyyyyzzzzz||{{z|€‚„„„„……„ƒ„†‡‡…„ƒƒƒ„„…‡‡‡‡†„ƒ‚‚€€y||{zzzyyzzzzyyyyyyz{{}~}|||~€‚„„„„………„…‡ˆ‡……„„„„…†‡‡†…„ƒ‚‚{€~|}}{zyzzzzzzzzz{}}~}~ƒ‚‚……„„……‡†††‡…………„„…†‡‡††„„‚‚‚€‚€€|{zzzz|{yz{|}€€€€€‚„…ƒ„„……„„„„††††„…†……„„…†††‡†„„‚‚„~€~}|{zzz}|{~€€ƒƒ‚€‚ƒ………†……………„ƒ„…††„„……„………†††……„ƒƒ‚€€€€~|z}€„…„†„„ƒƒ„ƒ„…†††††…………„„„…††…„„„„„…††‡†……„ƒ‚‚ƒ„ƒ€€€~~‚„ƒƒ‡ˆ‡ˆ†…„„…„…‡††††……………………„„……„ƒƒ„„†††ˆ††ƒ‚‚‚‚‚‚ƒƒ€€€‚„…†„„„„ƒ…„„„…„„†††††…„……………………†…ƒƒ„„…†††ˆ‡…ƒ‚‚‚‚‚ƒ}€€‚ƒƒƒƒ†ƒ€}~~}~~}…‡‡†ˆˆ†††……„…………†………„„„„…†……††„ƒ‚‚ƒ‚‚ƒy~‚„„„„„††€|||€€~~}}}„‰‡‡ˆˆ††„……„„…††ˆ†………„„…†………„………………„ƒ…}€‚‚„‡‡„~}|{{{zy{~}€‡‡‡ˆˆ†……„„……†‡‡‰‡†…„„ƒ…‡†”œœžž˜ˆƒ…†‚}|z{}€†‡‚||~{y|yx~{‡‡‡‡ˆ……„ƒ„„††‡ˆˆ‡…„ƒƒƒ„†ˆ‹Š…‚€€Š†…†„„‚}|z{~…†{|ƒ~wxxz‚|~…ˆˆ‡‡†……„„„…‡‡ˆ‡†„…ƒ„………ˆ|z||zzyxxzx„Š‚ƒ‚ƒ€€€„{|‚~xz{|„„z}ƒ‡‡‡††…†…„„…†‡ˆˆ†„„†‡„‚‡||€~{zzzzzzŒ‡‚‚€€‚„€|}~~|}}}ƒƒ|}€ƒ„†…„„„„„„†‰‡†‡‚~› ‹‡y|~yzzz{zyz¥€‚‚€€}|}}||~~~~~}}}ƒ„ƒƒ‚€‚„„„„†‚€€§³™Œ}}€~€€€‚‚~€“£~€€}}}}~}}}|}|}}}~}}|||€€€€€‚‚ƒˆ‹‹“œžœ››ž    ¡¢¤ •{}€~}|||}}ƒ‹~~~€~|yxxyzyyz{{€€€€ž¼Àü¹¿ÄÆÅÀ¾ÆÅÆ·{{}~~}}}}‚ˆƒ€‚~|{{{|~}||{z}€€€€€€€€€†»ËÐÔÔÕ××ÕÔÔÐÆ·Ÿ||{{}€~€€ƒƒ‚‚„„€}||}}|}}~}~}€€€€€€€‹Ÿƒ™¢¥©«©¦¢™†~•~}||}~€€€€€€‚ƒ}||~~|yx{~||‹¹¥€„‰€‚ƒ‡Ž¦¿€}}}}€€€}~‚€€€||}~|xwz€}{|~€‚‚‚‹ÂÐɹ»À©Šˆ´ÇÂÊÒÍ€~}}~~€€€‚…Š‰‰{|||||zz{‚}{|}~€‚ƒ€‰ÁÏÐ̵£“Ž–£ºÆÐÏʃ€~}}~~€€€‚ƒƒ„ƒ‚~|||}}|}}}ƒ„~||~~€€€€…»ÐÑÉ¢‰‚Š£ÌÒË„ƒ~}}}~~€€€€‚|yxzzyyzyyz{yyx{~~~~€€®Ä¼¶……‰‰Š‰€†³±·†„‚€~}}}}~€€€€€|wuwwvwwxxxyyyyz|{{{}~€‚‹ŒŽ‚‚‚‚‚‚‰„…‘‰‚€~}}}~€‚€€€€€€|||xwxxxzyyyxxzzyxyxz}~~€‚€‚€‚‚€€€€„„ƒ‚€€~}}~€€|‚ƒ~zzzy{{{zz{}||{{{{|}~~~€€€€€€€€€‚„„ƒƒ‚‚€~}}}~€€€€~ƒ…ƒ~}}{||||||}|{zzzz{}}}}~€~~€€ƒ‚‚‚‚€~}}}|}€€€€‚‚€€|||}|{||{yz{{z{}}}~€‚€€€€€€€€‚{~ŽŒ‚‚~~}||~€€€€€~~€€‚€}|}~|{{{{||{z{}~~~€€‚‚‚‚‚‚}{ˆ‡‚ƒ~~~}}}€€€~€€€}||zz{|{{zz{}}€€€‚‚‚}}€ƒƒƒƒ€~~~~}}}~€€€€€€€|}~}{{|||{{{||~~€€€‚€€€~‚„ƒƒƒ~~~}}}}~€€€€€~}}|{zz{zzz{{zz||}€~~~~~~‚‚€€€ƒ€}„ƒƒƒ‚~~}}}}}}€€‚€~{zyxwvuvvvvuvuuvvw~€~~~~~€‚‚€€€‚€{{}ƒ‚‚€~~~~}}}}~€€€€€zvvvuvvvwwvvxxwvvvz~~~~~~€€€€€~zyz„“‰‚~~~}}}}|€€€€€~yxxxz||||}||||||}{}~~~~~~€€~ywy}„Š…‚€~}}~}}}~€~~~~~€€€€€††‚‚€€€~~}~~~~€~zxxz‚‚‚‚~}~}}}~€€~ƒ…ˆ†€‚ƒ‚„†‡„ƒ€~~~~~~}€‚~zywxy€ƒ‚‚}}}}}}|}€€††‡ƒ‚‚ƒƒ„…„„‚……ƒ‚€~}€~~~~~~}~‚‚~zxxyzƒ‚‚‚€~}}}}}}|}~€€€‚ƒƒ…†‡‰††ƒ~~€€~}~€€~~}~~~~~~€‚~|x{{z~‚‚‚}}}}}||||~€€€‚…€€€€‚€€~}~€~}~~}}~~€€€~{|}~~€‚‚‚‚~}}}}{|||}€‚ƒ†…†„†ˆ‰…ƒƒ‚‚‚~~~€~~~~}~~}‚ƒ„ƒ‚‚‚„„‚€~~~~||||}‚„…‚„„„„„ƒƒ„ƒ„‚‚ƒƒ€~~~}~~~~~}}~~ˆˆ‰ˆ‡…………‚˜~}}}|||||€€„‡‚‚‚‚‚„‚ƒ…‚‚€~~~~€€€~~}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÄÆÃËÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÎÏÍÈ¿´¯¤ ”‚}tijxkikonsdhcV]a]]e^T\b_`WROT[Z`d`fUUXWUWUTZVPU^^]YULE>:<9532@3ÏÎÎÏÏÏÏÏÏÏÏÎÎÎÎÉÃÆÂÊÎÏÎÎÎÎÎÎÎÎÎÎÌÌÌÌÌÍÍÍÍÍÌÌÌÌÌÌÌÍÍÍÍÏÏÏǶž¥˜vyta]ar|o]`okh[Z[]_ZYVP_g`]UPOQXX^hihPU]aZQPLQRZ`c]VPMKA@76543187ÏÎÎÎÎÏÎÎÏÏÏÏÏÎÍÈÂÅÀÈÌÍÍÌÍÍÌÍÎÎÎÍÍÍÌÌÍÌÌÍÌÌÌÌÌÍÍÍÍÎÎÍÎÎÏÎÍÂ¥ŠŠunmomnnot}y^c`cd[[\\\]TSV]cY[YVTSTTX\hdRPX]VMNNRS^caa[RGC@<853221/2ÎÍÍÎÎÎÎÎÎÎÎÎÎÍÍÊÃÆÁÉÍÌÌÌÊÊÊËËÌÌËÊÉÊËËÊËÌÌÌÌÌÌÍÍÍÍÎÎÎÎÎÎÍÎ˵˜{mouyu~eec^eWadd[[WVaZTYfeSQTWYUNLVPYgRPTXYPNSOPZ`^`XUUNH?;86331-.ÎÎÍÍÍÍÍÍÍÎÎÎÎÎÎÊÁÂÁËÏÎÎÎÍÍÍÍÍÌÌËËËËÊÊÊÊËÊÊÊÊÊÊÊÊÊÈÊÊËÌÌËËÌÀ‘Œ„~tal|ldh`a`WjbXYUUN\a_`qm[QPV]UNJTRRYT[\YUOQQW\_XWZRPXOH??@<530-,ÍÍÍÌÌÍÍÍÍÎÎÎÎÎÏȹ¼ºÉÎÎÎÏÎÎÎÎÎÎÎÎÏÏÎÍÍÍÍÌËËÊÌÌÌÌËÊÇÊËËÌÌÌÉÇŦ‰zyqh]lonb_a_X]`UR[STQZeeghcgVQW[TPSUSRYRZ]aWSUSZ[]YXTSOPPI?@>7641/3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻŽÇÎÍÎÏÎÎÎÍÍÎÎÎÎÎÍÌÌÍÍÌËÉÊÍÏÏÍËÈÅÊËÌÎÏÌÇŵ ||peWSb^Y]b`]c^XUSLMVZ`adi`[SPQQOLTRTQ`LUUZ\X[Z^[\YTQTPSKED?B;520.5ÏÎÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÂÅÍÌÍÎÍÍÍÌÌÍÍÍÍÍÎÌÍÍÍÌÌÉÊÊÍÊÆÃÄÂÅÇÊÍÎÊ¿¼ª|pVTRPMVYopebc]YOD?NXR[bb^WTRLMLIMIRMZNSVVWX[\[\^YSPTOWODH@?=2/.--ÏÎÎÎÎÏÎÎÎÎÎÎÎÎÏÅ¿ÊÁÄÍÌÌÍÌÌÍÍÍÍÎÎÎÎÎÎÎÎÍÌÊÈÇÆÉ¿ºÃ½Á¾ÆÊÈļ®¢§Ž€|vbVYYXfh^ogf^VVRRUTdUP[]TOWXSMJGPQQYXSQY[UUWYVPQ\VSXSWV?6722/..,-ÏÎÒÕÕÐÍÎÍÌÊÉÊËÍÄÀÉÁÁÌÎÎÎÍÍÍÏÏÎÎÎÎÏÏÎÎÎÏÌÄ¿ļº­À¸¿¶¿Æ¿½¶¦‡„~q‡{f[`[]ckVn\U\SNTU`]WOPTXQQSVXMMNTRRZh]NVYVWVVZRL]ZZ]]LC<6541...-.ÏÛêïîäÔÌÊÿ¾ÁÆÉÂÁÈÁÀËÌÌÍÌÌÌÍÎÍÍÍÍÎÎÎÍÍÍËÅÁ½µ½º±¢»²½²µÀµ¼´—†}~nhdbbbUYc]UdZS[]PSSX^UUTOONLKMTYWPSPQRdZNZ\XQMNXZPXYQMJA8=<962/----ÛïÖµÀæé̾¸³²·»ÁÃÃÊÆÂÊÌËÌËÌËÉËÌÌËËËÌÊÈÈÄÅÀ³¯«¯²§ž©­¸°´µ®­ ‚wyvllTbeZXaXS^i^X_YKPRU^`cUQMLLORMUVKPUOS]^Za\SOKMYXSZPRXJCC=;;972....îÉ|hp¢äÙµ°®®´´¿ÅÆËÉÄËÍÍÍÍÍÉÇËËÌËËËÊÇÄþ¿³¡œ¤¦›—¡­¯¬®¨§™ƒvmkekl\UXUa`VW]ZY`VQUTSUV`YRTOOTVRTUWRPYPSZaY_XY\W\`USZWTPA?F;877752011âŠwwqÈç·­¬¯²²ÀÁÅÊÈÃÊÎÎÎÎÌÆÁÉÌËËËÈû¶¸¶»«Ÿ•šœš’¡±®©Ÿšœ‘wiedTh`RMIOXbYRR_iabo^_c]TVOPQPPRWSVTVZS[NP`^^hZc_kf_TQNMJL@>?8755664/03Ä€‰w‰Á翪ª°±³»¶ÁÉÇÁÉÎÎÍÍɹÇÌËÈú©Ÿœœ¤¦ž–Š”š’Ÿ­¬›†vedhZ\UQTSQZ``\hm`QUbNWrpZPPKMMLHKMNONNQYTX_USXX`g\ZUPJMHFFDI?7545554/16µƒ†|‡½èÆ£¨±²µµ²¾ÉŹÁËËÌÌÊ¿´ÅÊÈ¿´¦šœ”˜–Œ„–•Ž‹’™Š‰Š…vuqbXUY\XPX]VU\i]RR_gf`_\TTNKJHIHGEGNLS_\W[VOZigfW]TMWSIJ@@B9754335527>±ˆ‰ƒ„Ž¿åàÏ˳®¯¬«·Ä¹¬²¹µ¾»Ç½±¿Ä·ª  ™œŸ‘•†‚…‚ŒŒ„€Š‹Ž†ƒ‚„‚zwp_WVVV_\UYUSYgQPO^gdSS[YSNLMJKIFKJKSV]aRZQPlscg`a]Ta[UVH<<;97443475;?ú·ŒƒÀäíïéÌÍ«¡¢ª« ¡¡£££©¹±¥¤«››™¡˜˜‘–…ƒ…‚‚†y„Š‰…‚~~}~wrojeYRZg[TVSU_[OY\^_XRRRRSMKOQLOTRGDLPV`SSN_bb`Xdj\QU^XGUF<<<9566599=>œÀ¾“†‘¿äìäßäî·ž¡²£žŸ¥«¦¡¤¤ ”•“œš š“—Š‘Ž‹‡‡„‚‚zˆ„‚{|zxrijfZWZQY_[V[Z^[WZ[\^ZUOJWVOLOJBDGFAAFIIRKRSZ]aY`p]_P[a[IED?=<85677:>A@}¯¾–Œ“¾ãìͺßéõÂȹ½·»¼ÆÄ»ª ¡•Ž’Ÿ˜›—’…Œ‹ˆ†‚z€†€~€xywsrnlgY]eccYRTXY^^bXU^UX_[UQJONOJCDFB@EFFCSHUY\Xaba]SdaWXXPLGDE975679<@HFp•¿–”¿ãíáÙêéááãâäçèêèéëðÄšš”Š“‘ŒŠ‚‹‹ˆ…ƒ‚‚|‹€zyvrttoicW\eb[SWPR_hcdWOTSi\bWNQRPJHEIUKCKKMFQR]_ZMZecdVbdWRX_QFAA<:8889>=><>W¾–~äéæêëëéãÞÙÓÊŽ¼°§ ™–ˆ¦¢¤Ÿ—‡ƒ|yustvx€ˆ”–‚~uuxxtttf[`\NP\Y[\TT^ci_]U^c`SVNKLSLGB>COTV_Z[bflb_^Z\UZTRWVRD;9988:9989;@@@?]UŽ›çîíììêãÙǾ¹¶§¨™ŽŒŠ}•„e`XTRXaz˜‡^Z[[]ZXUSPwƒ}}tswzyupkg]SMMYX[SVY\[XJZ`Z]YZ`WKLUPMKMPOQTVYX\md[[[YWXVMRKKG;52.bv65678;BIJINUr¤ÏÏÌÊÔ×ÖÒÐÎÊÌÎÍȧƒ‚}~ƒm@h›¡¥¥}eJ;=AFGIE?BEOHZzvmjpwyphb^PSTFJRUZ]TPTSTV[WWX[`\TMEDBDHIFGGKUX[ZYq}š   Ÿœ™™—”’’’’‘”––ŽqHAHII–°Á‰Â¿¯°šˆ}ngedfkw…–Š{{{}‡USd±¶¹¶³­¨­~|ŠXRRG534=fJsuqtnpwqjh_RVYVX[`]WGFRX_X[ZXVY]UOJDDA?@?>=BMPX`Yr”s}slfb``^]\ZYZ[[[\^bfaWCHKKîôÙp¬¨žCCGS`ZMRMJDQ‘zz{~Qf===IVVVXYSLJFBQ³¸”[Œ¥xKEAiŠ~|kKCJ>…‚xx€raa04434CONMPQMOLKqmO2LzwRy{vmioihdc]gocZNR[[VSTYX`ZV\fYOICB@ACA@?DIC?K[heƒYr†Š•šœ_9778<=BTWWUUSv]LJCYjOIX··©U\OF>ULND8594ažÇ£bvQ27G^OCPPPONMNMLsoR4Y“•Pr{zphilmha][W^[OOWVOOT]\YY[^]SUNGAAGIB>CSQJX]_hƒŠ[“³´²­©¦}I;7>HHK[I=;::QmJLXaiMGbéè³khpopxwy~{vrnw¸óÈ‚Y„B65]ŸJMGDBFNNOF^|`957…ccuuqgfisygXVWSSSOVYPOZ]ZW\b^ZOSTPJGKQI<>NVNilir~_RpdULGDNOF=jŸkC7558HHIFt–x962m€Uslkgfc_m`TV^XW\TQSQTP[^[e_VURPHHHDGLGCHNNVjkir˜q[=L7578>JGB@ACAIp;:;;::X_Zik\EJZ¾ÕÜßààâåäãäãáÞÝßÚ™wujzALHY„†_KC::89879}¡i873T—PrjaaaZ\jdWOX\`[ZSMOXV[d``YPOVSMF@=HV_Y\diob[Yc bT:J79;9:D?447?CDAABD@79MeOgfLKIM‚ÀÛßçêéãßãçâåêèåÕÊ«xkzvLWOs}kHIIHIHHDCS„—Y><7L¢SqhJFTeb`a`WYZZURPPNT][SXZUNQZSPX]]sƒydlxk\UU[zRK9A7A_dJ<84458=;:AEEA67DcIdc;96D¾ãéííí¸š±Ý­¡Ðò¾SGbŒ]dfRlF\IEJT\^[OPKR^ypOD>9Aa=YM=:>ea^a]Z[UUUX]^SPYYROOU^ZY]hz‚†‹„ccpiTWYUd‹FGAD>L}‰j=84456459?@@=85>^DYc[US]}¡¾ÅËÆÆÀ¼»¾½µÁÌŒ09:OK>89:5;@>:==><>;996CJHI@89:E:268Nkikqooolr|‰‘‡Š‘’’Œ—³˜„€|z|{mbmlcTW_go‡x@PIICGhsLDG?4235?FGHIJF;:[COdrqqsrttxzyz|||}~~vPA;.JX=;9:88887777888888779:=>CN7?T^kopqsuvyzywuuvvxwwy{€ˆ•¦³µ­š‹smmllnbQZhr†e9|}I@>CJ@FKHKTTVXRFDDCA=9??URqomlmnprtuuuutuvxy|~ mEU<;::889887778888889999;<>EFmnfkjiijkjnrsuvvvvvusrrrpprwŠ›§±±©¡’shSMOLWi]MM=9;DHEFJLYfeigXDDB?>DR^vQuqnkjklmoqqssqpoppswzƒ·“DI8999778766666766677776677:Lugdiihgeeccdfikmortuvvusponpponpuz†™¬¾¼£†k{‚Vyƒxok\NR_acbdcccaadffbVRemn{~zwrnlkkkmmnpqpqpqpopqv¤‰SNF64765555557?76556428?ITq{ŽŒŒ‰ƒ|rkbcdehloqtuvvtspmmooppomlwŽ©¾¥–±yugla^^YZrpiggecddcegjqj\]\]cg]yxxtplkiiijlmnpppqqqqp|_‚œ–O144344567?86563>wŽ£©¬­«¬©¦¤¤¤¤¥¥¥¨ª©£Žfcdccdfilpsuwwvurpmlmoppmlr}‡§xdY]ZXXW[d^YXXWWVWWXXY]\XXYYYXWwwxxvpliiggiklmnooppquq\ež§¹”J//112248456311~ …ˆ€ysssqomlmlkjloqtw‡cca```_bdinrtuvwxupliikmopgq–l^UWWVVWWWVVVWWWVVVVWWWWXWXYXVVvwxwwvrmigfgiijlllmnnpvCOšÁ±Å¶^WFFHKF<€\:LPdŸiaglkjklp{—’yuqnlklid|nedcba`aabejnprsvvvwsnhgimhh„bZPSVVVZZZYXXYYZYYXZZYZ[\[XZXddrtuwwwvsnifffeghijkklea<7{ÐÉíñÄ‘``d…–X¼‰Qvl—‡fu‚†‡‡ˆˆ…p}|f€Ž‹ŽŒ‰„zjwkigecbaaba`bgjnqtvvwvtqlj^eqcdŒdqwYZ\\[Z^^]^]__Z_ZZVb£““º™npqstttsqlgea`bcefghj_G8/@Ÿ²½ÔÚª{ae`ZîÎafi™bt »ÁÄÌÎÓ•OC=@mÌÖÓÍÌɸ`irmmkfdaaba`^_bfkoqstutttrWT`Y[¾À¸Èå„HIGnjKM^y^JIny?BM°óÙáÖ¤lnppqrrrspkgcaabbbdeha=1..6;C_^~u[mqbŽåÎwh|‰WqÁãÞÝÝÝã†ZfeScÓáÛÕ×ÝÜtoVnilomkhcbbbc`__afjnpqrrswYIRTLµâÞÚëâyF=b´Q;†¯“?L¹m;C™îÝÒÐÓxjlnprsstuspmidcbbcbcg\5./147;CJS]i|Žž±Ôʱ£v^_µÝÙÚÜÞÛkKXaR^ÇçåãàßÒYl\cffimpolhfeggeb``afjmppquXCGOKq ¬ÆÀíÖS@>£©I®ç½M—µNHVÚñ´¢{eQhjlnpsstutsqnifcbbbbe[4-/58:@FQ^sœãççêëëëë°cgPVefjqvnEMb…\Z·§™†rb@VjXigefknonkjhfffeaa`cfjmnsW@CJONQbw˜ãÄnXLaÙ—{±ƒ€ßyM`o¡Á‚_XSPagjkmoprstssqokfcbabc]7./15;ESf«¥èéìíììîážWlO<556745HWkŒ“åïîîíìéÑ‹SjMG:9::9876FdPI<79=<;=F:73544567]xb<566S`Xklnlgedcceghgc``_^]^\[^S@>IKNRVZfs|ƒ…‹¡­°¹Ã¸³³µ¡…‚{th[VSNÇ|]dhjkmoprtrrponhcaa_;720:YÞÑ}ox”…v~ƒms’œiYZJPJPWRLJJ<44566@‡¯›LFE9CfQjfchlifca`bffeba`]^^^]]S>;8;?LXˆ†PLLGANOeb…yjhkhd``bcfecb`____`V;9ILNPTYdmnnl™íîèéçêííôÏmjikg]UQNÀϵb\bdgiklnqqpqqpmhd^7<1//02<>=@E<6Hn’¨„_;=AERYVHE@QSE>9BNRRPH@>=QdZšzXcmkjgdbbdghgedba`aW67KMPQT[fjhjh„ÑÜÚØ×ÕÔÓÕ«`[]fg\UQP­ÄС[]dghjlmnoopqqolha5;3/-/049<<=ADG\sŒvlTPPSUUPOORYTSRSVXZ[XSTUWY[^_mTjRSjlkllifcbdgijhgecbV38JMQUaaeaO925=DHHBOJ@=5..FQah}gPz·ÇÏZafghkllnoopppomc3960/----.,,-..6>`‘qr`_^][[\]]\[\]\\\\[[\\][[[[]]fTF]iiijkkkjiecbeijkifeV.7GHJ†´w_NMF@@BAQ^NbZPUNIKRNTwÙ²PP¾ÊÉuZbehjkllnoppppmb1970FM=621.,,++)5N^_qY\[[ZZZZZYYZZYXWVVWY\bekloty€oo„„{wqgnpkiebbbehjiiX*6D@EžÏp^_XDIMJILLFEFEGE?7Tc\g£JZy¯Âͱd\bfijllmnonnmdX07641FKJ@87-+-/0>lMprTYYZYXXYXXYYYXrmpŽ›¥«®±±±±±²³³±±²²³°¢‚pjkkhdbabfgkZ)4@=A]p`bggO=:;AGHHLMNPNIShmi^VMCWYz¹ÄÍž\_efgikmmllmkcW5743268:70./37;=Nt…‡w_`[XXXXYXXYYWgˆ¤°®¬¨ œ˜“ŽŒˆˆˆ‡‡ˆŒŽ–ž“`llkjhebabchZ)2=;;BMTbmvwlhhhgfhihhffhnmf^PHA;PJN‰¼ÃÌŒZ^acfhijkkkkg]H60112/-..-./..+Kr‘~}ŠŽ^YYZZZZZYW‰~Š‚yrjd`\XUSQPQPRRTUVY^dazrkkkjgcaadX'1643/58=@CGECB?=<<:776310.-..+/E^RMU˜¼ÇÅuT]_bdfhjkkkhbYLJHJNMLMMMMNOONYrŒ}‡Å×ÇŠ^\^]^^]\\‰n\WNLJIJKMNN_[KLLKIGFGEDDEPikjjkjhecbU&/4F\8)'))$###"#"!""#$&(+2=P8",G_fYQK`©Â̼kZ_bdghijkkjhc]]\\\[ZZZYZ\^acUo~i‰æãâÖ€bgijkmmvvJCBBB@@A?<;9>;::;:9887999:9Lfhhhiid[VK'067@@=8:<:974420135567;?EJSD"*-kbRNJr¹ÂЯb]bdfhhjkllkigecb`_\ZZ[[]`dgUdeKsèÐÆòºgqsttts’b;;:::;;;==>B?7:;<;8876787:=@\ighgd_TMD(05.&.=<;;<<<;:99;;;;;:768772!%13mpfSMNˆ¼ÃÓ™[`dfghijkklkihfdb`][ZZZ\_acSVLGOˆ ò¸k‡–›¢•‘G=@@=966666667??LefffedcWI+00.,65210.,---,,-******)))))"'12jmv^OLWÀÊÍ‚[cegghjjkllkjigfd`][[\\^`bRIHGILRg–…™Æ±¦¥§¯~;@8:;:98;?BX}_;=?9643445555=AA]fffeed`U@2,*+/,++,+*+++*+,,,..//13699;=@?rpngXPLe«ÃÏÅu^efghjjkklllkiigd`]\\\]_bTEHHKOT[b€Í½=84>œcPeeeecc`\XNGEEHIJOTXZZYUQPRSSUUUQRSV]bffghqmmndSUi‡¼ÉÓ¹j`eefiiijllllkkjhd`^]\\^aVBFHKQV]gƒË±:>9_¦I>;239AA75HF313344549WVKB:644??F_eeeccb`^]\ZZYZZ\^aehhfd^]]\\^^\ZXX[_dfhimnomhYOQSŽÂÆÔ¨``acefgiklllllkjgc`^\\]aW@FHHR[cl‚À½U^hŒ•>@711MeN568Pecddccaa`_]\]afkmkjgca`___\[YYY[_bottssxiUPJn½ÈÑÅm]bdfgiiijjkklkkiea_]\^P8BHEKQ[fwˆzC|à¤S;@;=8J||rEA<0/0003E\L573FIEBAB6.//04BHPKPebWPH83<=??9440:bcdddbccddc`^\\^cilkiec`\[ZYXXXYZZnfdghbc_TNKf¸ÅÏÎyZaghfgghijjkkkjhfc`^^N1?JEdˆ]A=OPJPTA:JWlO?AAA@>?;65555<>H>FTTJIE=378;?>49CVcbdddccddeeca_\\^cgjifda]\ZZYYXYZZlfhgsnicSMNM…ÂÇÕ´a_dedefhiiijkkjihfb__N0;HCŠâÓ~?2RJ8@=?6AF:87786669?A=;;;965644787>KIGC:>^labcbbcddddeeeeedb`_^^bghhifb^[[[[YYYYonghqpsjSLNMW¨ÅÊÔ—b_bdffghiiijkkiihe`_O3:CG`¼×–OPVn‹‘KH545556789::=?BA>?@>>>>??>>>=@@<9[;O̯fabbcddddeffeefccb_]^cfhkkhc^[[\[[[Zjslippusg]OMKu¸ÃÐÌu[befefhhiijkkjihgcaQ-7=FIZqqgu†­Ã¥HsS?@?@ACEGIKLRY]][Z\\^`aaa_]]Y\hYƒi<žÂy^aabddddefffefffdb`^^adhkjhc]\\\]]\uypnqqpmoq[MKO‘ÂÇÖ³aadeefghhjjjjkjjhebP)57?BAAHNUi‚¯A…ƒ\H^gkmpoprqoopnlnmlkkklkiklmqudxˆbS]cbaabcdeeeeeeddfgfdc`]\^bgijhc_]\\\\sqljnnjhjkfMJJ`®ÃÊÖ^bdffhiijkjijjjieZG)50330,-13DR‚ƒHˆˆvcojgec`_\ZXWWUSSSRSSSSSTUWW\\Y`k{eZdbaabccdddccddcddeedb`][^cgjkhd`]\ZZpmmejlptoojRILLz½ÁÐÇp_effhijkkkjjjhf`SB)309536:CJ[L\m]obTWVPMLJJHHGHGEDDDDDEDEEFGGHKIKLMYsibbaaacdddccdeeeeeefedc`\[_cgjkjfa]\[kfddhkstpss_LJXhš¿ÅÕ«abefhikkkkkkjife_H+00.,6;>>>>=<<<===<===>>>@AAABE_xda^^aabddccdefgffffefec_\]_chlmkje`^cilhoplmqsplVJMMX¦ÃÈÔ‘]begghjjjkjjjhfcS8,,,+)%&&&9]…†nR@A???>>=;:999999:::999::99:;;<===;=F`g`ŒÀÅ­jacccdefffffeeffec_]\^chllnkfcytsqurlkllilfLJLIoº¿ÍÌu[adeffhhhiiigec]M6357765429^‰y`I;<<;;;<;9999777656877777788;;;9:@JH?E[duÇâÞŸ^bcccddeeeeeeeeffea][]chknnlhz‚rlljgjknkcOJMLM‘ÀÀÓ¯\\acdfffghhhgee`[TPPPPQQQPD[nfM?DA97989;999;==>ANHDFDAB@A@ABPt’‰—´‡:Qgbiollabcccddeeeeeeeefffd`_]^chlnnkqwsutmnhmonlkdYNLI_´¿ÉÓ€X`cefgfghhhgffca^[ZYXXXXXITVVX‘˜–|yYKHHFFGKKM†dOJKNKIJMJ„Ñåèѳ¾ç—4Lgdb_`^lkccccddeeeeeefffeeca^\]bhlmmmvttumpjilllptiRKKL“ÅÇÖ¶bbeghhgghhhhgfecb`^][ZZZZJOADa㽿°Ûèèà‰GLU\cfy‚‚˜‡bc`Z@JîâÁÅåîís1Hfeecdl‡ydccbcdedddcccdddddb`\Z]ahlmmuoonmmkgiinnoiSKJKe»ÆÎÕˆ^cfghhghhghggfedca`]\[Z\KK<;LÈðâÒµ¾æêˆI9DCA>>Ipˆj\VNE;461Bfdccbba`add`cecbcdeedeeeddeeca][]cgjmoqnnnqtqmilmgVNKLKb¹ÈÍÖŒ_efghhiihhhhggeeeca`][[KL628:CJNQV_r”šd9@A=;|˜•~yKEFDB>Œ¡ydUKB<732Bfdcccbad¤ÃÃœcddddddeefeeeededc`][]blklnruvpulknmkpdPKJLMŒÈÉÕ¿kefhihiihhhhhgfefeca^\\LM7/:48>DKVg}£µMRpŠ‘™žÀDZ¶¿ÃÇ·sV¤¡zbQI@;:/,Afccccba_åîé¡bbbcccddddeddcdddb`][\kqvspqrmpjkjgjsbLKLML]¶ËÍÕ—afgghiihhhhhhgfffdc`^\LP;011:=AMSc{šÈtÃöòòòðïññíèóßjiÁ™{aQJC<<66CdccccbaaaŒª«f`abbbcbaddcccdddca`]Zqwvqjhjnojklwsuf`ZMMNQ†ÉËÑÉtbfgiiihhhhhhgfffedb_]KT<147;=CMR`{•Ê›]½ñéèêëëëìæÝîÜbpƒk[OF>959Heccccbaaa][Y]a`abb`bbabcbbbcccbaa_[iikhbaahjr|wtwpkpfRLNR\²ËÈשdghiiiiihhhhggfffeca`HA;?G:<@GOVgŸÎ¬Q¹øðïñðñòòóóõá]…ÑŸwZI@4/..1Geddcccaaa``aaabbcbbccaaabbbbbaaaba_wpmokupsirstuv~€l^TKLLL}ÅÅÎÔ†cffhghhghhgggfeeedaaH5<92/248?EPd}±ÁTŒÆ¾¹½¾®¡˜‰rBwlJ?337JS5-3Edddcccbbbbbaaabcbbcddba`aabbaaaabba…}‚€xw|xlipxwz}ue^SKKLLR ÉÇ×»faceefefhhhggffffdcdI3<:3.3BI>96>DCmP3;;98=A753343=e:GJ80vâÑU,5Fdedccccbbbbaaaaaa`acbbbbaaabbaaacca„}u€ztrjnvojhpjbbbVLLK^e~¼ÄÌØ^bcdeegggghggffeeceKM@;6,KÃÛ›48@S:MkCBBBFNRJHDDDG_WN<4/h’]9-6Gceddddccbbbaa`abccbeedcbbbbccbabcccyz€ysnscair{skmfYMLKV][›ÄÄ×ÀgaccddefeeefgfffedfKOF:7/?x©Š043NrBw†bb`e†snompt„…IrV2130--11;Gbeddddccccbaa`aaehifefedccddcbaabcc†††‡‡‡‡‡‡…†‡‡‡‡††††‡‡‡‡‡‡‡‡‡…„‚~}xutttwxxxyyx{|zvuwzz{{zyz{~€€€††……†‡†††††††††……††††††††‡……†‚|xuutvuvxxxxwz{zywtvvyzyxwy{~€€€………„…†††††…††…………†††……†………„……‚€|uwwwwwyzwxwz{zyxvvuxyywxyz}~€€€……………………††……†…………†………„†…„…………ƒzyywwz||yxxz{{zywvvxyyyyyz~~€€€†…„„…………†……††…………………„„ƒƒƒ„„„„€|yxwyz|{zzz{zzzzvvxxxyzzy|~€€€„‚ƒƒ„„„…………†……………………„‚‚‚‚‚€€|zxwy{|zy{||{yyxwvxz{yzx{}€€€ƒ„…ƒ‚ƒƒ………………„„††……„‚€€€€}~~~{zxwwxyyz{{{{zywwwwwxyzy{}~€€€‚„…‚‚ƒ„……………„„…„‚‚‚~~€€~}||}|{ywwxvvx{}|{{{yxyxwuuxyy{}~€€€‚‚€‚ƒ„„††…ƒƒ|zz||{|}~~}||zz|zzyxwyxxzz||}|{zwyyvuuwwx|€€€€~~~ƒƒ‚€~{xwxyy{{z{{yyxy{yzzyxxyy{{|}~||{zyxxvuvuv{~€€}ƒ~€€€}||||||{{zzzwyyxwxy{z{{yvwxxz|||}~}|{xwywvvvv{~~‡~~€€€~~€†‰Š‹ŒŒŒ‹…yvvwvwz{{{zyvuvxz{{}~}{yyxyzzwx{|}€~~Ž…~~~~}}~}}‡Ž‹Šˆ‡‹Š‹ŒŽtvvvwz|}{yxz{zzy{|~}}{xyxz{}|}€ƒ……‚~}}ˆ‡~‚‚ƒƒ‚{z~†„~~ƒ„…††‡Š…wttuwyyzyxz|{yzz{}~~~{y{ƒˆˆˆŠ‹ŒŒ‹Š‰„}|€ƒ€€†‡ˆˆ‰‰€{€‡†ƒƒ…„„†‚„ˆ†ystuvxwyyyzzyyyz}~~~|y}……ƒƒ‰‹Š‹‹‰Š‰~z€‚ƒ…††…‡ˆƒ~‡‰……†ˆ‡‡ˆ†|uusuxyyyzzzyxx{~~~~|xv€†„„…†ŠŠ‰Š‹Œ‰|r€‚ƒƒ‚‚ƒƒ‚ˆˆ„…ˆ‰ˆ‡‚ˆˆ~wxxvwyxy{zzyxz|||{{yvsvƒˆŠ‰ˆˆ‰‰ŠŠ‹ŒŠr‚‚‚€€€€‚‚…†……†‡‡††ƒ‚ˆŠ„~€}zyyy||{{z{zxtpioqux~†‰‹††Š‹‹Š‹‰Š‹„w„ƒƒ„ƒ„„„„„ƒ„‹‹ŠŠ‹‹‹‰ŠŠˆ‰ŒŽ‡‚€€‚‚‚‚ƒ~|xuuxxyz€†‰‰‡‡ˆ‰‡‡ˆˆ‡‰†~‡‡‡†ˆ‰‰‰‰‡†‡ŽŒ‹‹Š‹Œ‹ŒŒˆ‚ƒ„ƒƒƒƒƒƒ„„„……„…„}}‡‰‰ˆˆˆˆ‡‡‡‰‰ˆ‹…‰‰ˆˆˆˆˆ‰ŠŠ‰‰Œ„‡Š‰ˆˆ‡‡ˆŒŽŒ‹ŒŒ‹†„„ƒ‚ƒƒ„†‡‡†„……‡…„ˆˆ…ƒƒ†‡„ƒ†ƒ‰‰‰ˆˆ‡ˆ‰‰Š‰ˆ…~‚†……………‡‘“’’’‘’“““„ƒƒƒ‚‚„††…†zvtvusrrsusuy‰‰‰‰ˆ††‡ˆˆˆ†„‚ƒ„……‰Šƒƒ‰Šƒ€‚‰…‚ƒƒƒ€‚„†ƒ}yxxwwwyxz~~ŠŠ‰‰‰ˆ††‡‡‡…„………ƒ‚‚ƒ…Šˆ~{{€ŠŠ‚zz~†‰ƒƒ‚€€‚€~€€€€€€€„ƒ~{ˆ‰‰‰ŠŠ‰††‡‡ƒƒ…‡‡…‚‚‚‰ˆ††‡ˆŠ‹‡ƒ„…†Š‡…‚‚‚zttxzyz|yzyssƒˆˆ‰ŠŠ‹‰†††„‚ƒƒƒ‚‚ƒ„‰‡ˆŠŠŠ‰‹ˆ„‡‰Š‰ˆ†„ƒ‚‚‚‚ƒyqpstty||wurps€†ˆˆ‰‰‹Œ‰†„ƒ‚‚‚ƒ†Š†…††††‰‰|ƒ…‡Š‡ˆ‡…ƒ‚‚ƒ‚‚‚{rrsv}ƒ€~~ztrs}ƒ‡‰‰Š‹‹‰†‚ƒ‚‚‚‚‚‚†ŒŒŠ‹‹Š‹ŒŠ‰ŠŽŽ‡…‰‰‡„ƒ‚‚‚}vvu{ƒ€€yvw||†ˆ‰Š‹‹‹‰ƒ‚‚‚‚‚‚‚‡‘—–••–––•–““•”’‹‡ˆˆˆ‡†ƒ‚€€‚€~}|€€€~}}}}~ƒ‡ˆ‰ŠŠ‹Š„€ƒ…ƒƒƒƒ„ŠŽ’’’‘‘’‘‘‘ŽŠˆˆ†ƒ€‚€€€€€€{~}}ƒ‡ˆ‰ŠŠŠ…‚ƒ‚ƒƒƒ„‹†€‡ŽŽ‘’’‘’‘‘‘ˆˆˆ†„„‚‚‚‚‚‚‚‚€u~}…‰‰‰ŠŠˆ‡†…„„„…„ˆ|ˆŠ‰‰Ž‹‹‰Š‹Š‹‹ŒŒ‰ˆ‰‰ˆ†ƒ…‡‡‡†††‡‡†…‚oz€~‚‡‰‰ŠŠ‹‹‰ˆ…„…†„…„€††…ˆŠŠŠŠ‹Š‰Š‹ŒŒŒŒ‹ˆˆˆˆ‰‡‚€‚ƒ„„„„„ƒ„ƒƒƒ‚€hm|}{~ƒˆ‰ŠŠŠ‹‹Š‡……†„„……ƒƒƒ„ˆ‰ŠŠ‰‹Š‰ŠŠŠŠŠ‹‹‰ˆˆ†‡‡„‚‚‚€€€€€iir{}~…ˆˆ‰ŠŠ‹‹Š‡……„ƒ……ƒ‚ƒ„ˆ‰‹„ƒ‰ŠŠŠ‰ˆ‡‡ˆŠ‰ˆˆ‡‡ˆ†…„ƒ‚€€€€‚ƒ‚kjkw€~}‚‡‰‰‰ŠŠ‹‹ˆ†…„‚ƒ„ƒƒ„††ˆ‰†ƒˆ‰‰‰‡‡††‡‰‰‡‡„†ˆˆˆˆ‡„ƒ€€€€‚ƒ„…ƒnmls€}~„‰‰ŠŠŠŠ‹Šˆ…„‚‚€ƒ„†ˆˆ‰‰ˆ‰ˆˆ‰‰ŠŠŠ‰‰ˆˆ‡†‡ˆˆˆ‰ˆˆ†ƒ€€€‚„………ominz€~|€†ŠŠ‰ŠŠ‹‹‰‡„‚‚…ˆ‹Œ‘’“’‘Š„‡ˆˆ‡‰ˆ‰ˆ‡„€ƒ†‡‡klhiky€}}ƒ‰ŠŠŠŠ‹‹‹‰…‚‚‚ƒ‰’•—–————————˜˜˜˜’‡‡ˆ‰ˆ‰ˆˆˆˆ‡…‚€€ƒ…‡mmiges€~|†ŠŠŠŠ‹‹‹‹‡„†„‚‹’”––”““’‘‘‘‘‘‘’““‹‡‡ˆˆ‰ˆˆˆˆˆˆ†ƒ€€‚ƒlkgfgl{€~}‡‰ŠŠŠŠŠŠ‡‚ƒ‚‚„ŒŽŒŒ‹ŠŠŠ‰ˆ‰Š‰Š‰ŠŠ‹‹ˆ…ƒ†ˆˆˆˆˆˆ‰ˆ‡ƒ€€ggfghhq~€~~‚‰ŠŠŠŠŠ‰ˆ†„„ƒ…‹‡†‡††…„„„ƒƒ‚‚„‡ˆ……Šˆ‡††‡ˆˆˆˆˆ‰ˆ‰†ƒ€hghfghhu€}€ˆŠŠŠŠ‹ŠŠ‰ˆ‡…„ƒ†‚‚‡„ƒƒ‚‚‚€€ƒ…ˆˆ‡…‡ˆ‰‡†‰‰ˆˆˆˆ‰‰ˆ†‚€jhgegihr~~„Š‹ŠŠ‹‹‹‹Š‰‡…‚‚‚‡‰„‚‚ƒƒ„„„‚€‚„……ƒ…ˆ‰‰ˆ…‡ˆ‰‡ˆ‰ˆˆ‰‡„jhgegiho~€}€‡ŒŒ‹Š‹‹‹‹Šˆ„‚‚‚‚ƒ€‚„…ƒƒƒƒ‚€€‚‚‚…‰‰ˆ‡‚ƒ‡‰ˆ‰‰‰‰‰‰‡ƒjjihihhku~‚ŠŒ‹ŠŠ‹‹‹‹‰…ƒ…‚‚€€€€‚€‚‚‚†‰‰ˆ‡‡‡ˆ‰‰‰‰‰‰ˆˆ‰‡lkjjnkhiq}‚~†Š‹ŠŠ‹‹‹‹‹‡‚ƒ‚‚‚€€‚€€‚‚‚‚…Š‰‰‰‰‰‰ŠŠ‰ˆ‰‰ˆˆ‰‰klmopolos|€~}}‚‰Š‰‰‹‹‹‹Šˆƒ‚‚‚€€‚…Š‰‰‰ˆ‰ˆ‡‰‰‰‰ˆ‰‰‰‰{zzzzzzz{zzz{{{zzzyyyyyyyzzz|‚„ƒƒ„„†‡ˆ‡††‡‡‡‡‡‡††‡‡†……‡†„ƒ‚ƒƒyzzyzzzzzzzzyyyyyyyyyyyyyyyyz‚‚ƒ„„‚„…††………†‡‡……†„„…††††‡†„‚‚zzzzyzzzzzzzzyyyyyyyyyz{zzzzz‚‚ƒ…„ƒ„………„„…†‡†…„„„„ƒ…†‡‡†…„ƒ‚‚zzzzzzyyzzzzzyyyyyzzzzz||{{z|€‚„„„„……„ƒ„†‡‡…„ƒƒƒ„„…‡‡‡‡†„ƒ‚‚€€x||{zzzyyzzzzyyyyyyz{{}~}|||€‚„„„„………„…‡‡‡……„„„„…†‡‡†…„ƒ‚‚{€~|}}{zyzzzzzzzzz{}}~}~ƒ‚ƒ„…„„……‡††††…………„„…†‡‡††„„‚‚‚€‚€€|{zzzz|{y{{|}€€€€€‚„…ƒ„„……„„„„††††„…†……„„…†††††„ƒ‚‚„~€~}|{zzz}|{€€ƒƒ‚€‚ƒ………†……………„ƒ„…††„„……„………†††……„ƒƒ‚€€€€~|z}€„……†…„ƒƒ„ƒ„…†††††…………„„„…††…„„„„„…††‡†……„ƒ‚‚ƒƒƒ€€€~‚„ƒƒ‡ˆ‡‡†„„„…„…‡††††……………………„„……„ƒƒ„„†††ˆ†…ƒ‚‚‚‚ƒƒ€€€‚„…†„………„……„„…„„†††††…„……………………†…ƒƒ„„…†…†ˆ‡…ƒ€€‚‚‚ƒ}€‚ƒƒ‚ƒ†„~~~…‡‡†ˆˆ†††……„…………†………„„„„…†……††„ƒ‚‚‚‚ƒy}€‚‚ƒ„„„„††}||~~}}‚ˆ‡‡ˆˆ††„……„„…††ˆ†………„„…†…†…ƒƒƒƒƒƒƒ‚€ƒ…~€ƒ†‡…€}|{{|{yz}}†‡‡ˆˆ†……„„……†‡‡ˆ‡†…„„ƒ…‡†Š˜šššœœœœ™Žƒ…‡ƒ‚}{xy}…‡„}|}|y|zw}{}†ˆ‡‡‡…„„ƒ„„††‡ˆˆ‡…„ƒƒƒ„†‡‘Š†…„„††‡ˆ‰…‡„„‚~|{|~~„…‚|{‚€wxxx€‚}}„ˆˆ‡‡†„…„„„…‡‡ˆ‡†„…ƒ„……†‰y{|{zzxxyy|‹„‚‚ƒ€€€€€„€{{€xy{{†}}‡ˆ‡††…………„…†‡ˆˆ…„„…†‚~€ˆ€{|zzzyzz{Š‡€‚‚‚‚„|}~~|}}}‚…}|„„…„„„„„„„…‰‡††‚}|‹šŠˆ}z{zzzzzzy†•€‚~}}}}|}~~~~}}€ƒƒƒƒ‚€€„„„„†‚€»£~{}z|}}}~|{‡ž~€}}}}}~|||}||}}}}}|}|~‚€€€€€€€€€‚ƒˆŒ“‘˜–””••˜™™™šš˜{}}|||}}€‰}~~~~}{zz{|{{||}€€€€Œ¯·¾º³·½¿¿»¶¼Â¿¼{{}~~}||}‚Š„€€~|zz{{||{{|z{€€€€€€€€€’·ÌÐÓÓÔÕ×ÖÕÕÕÏÉ´|{|{}€~~€€‚ƒƒ‚ƒ„€~||}~~}~~}}€€€€€€€‚›Œ” ®³¶¹¹µ²­¥–Š„~}}|}~€€€‚€‚„‚~||}~}yyz~€~}}€‚€©§ˆ~„‚ƒ‚€…ƒ~¨€}||}~€€€~}€€||}}wvx~€~|{}‚‚€®ÍÇ´©¸¬Œ…„˜º¼·ÊЀ~~}}~~€€€€€„‡‡ˆƒ|||}}{zxz~{||~€ƒ‚¬ÎÐÏÉ´ž’¥ºÆÏÑ̓~}}~~€€€‚ƒƒ……„€|||||||||†€}}|~~€€€¦ÍÐιš…‚‚‚€ŒžÂÒ΄ƒ~}}}~~€€‚‚}zz{{{{{{z|~|{z{~~€~›ËÅÈ›€ˆ‰‰‰„§ÂÀ†„‚€~}}}}~€€€€€}xuwwwxwwvwxxwwy~}}~~€ŠŸ’™†€‚‚ƒƒƒƒ‰Ž‹‘ˆ‚€~}}}~€‚€€€€€}yyxwwxwy{zyyyyzzyyyz}~~€‚~‚‚‚‚‚€€„„ƒ‚€~}}}€‚€|‚}yyyxyyyyxy||{zzzz{}~~~‚€€€€€€€€€€‚„„ƒƒ‚‚€~}}}~€€€€€€}‚…„~||{{||{||}}||{{{{|}}}~€€~~€ƒ‚‚‚‚€~}}}|}€€€€‚ƒ€€€|||||{|||zyzzz{|}}}~€‚€€€€€€{~Œ‚‚~}}}|~€€€€€~~€€‚}||~~|{{{zz|{zz{}~~€€‚‚‚‚‚‚‚}{‡‡‚ƒ~~~}}}€€€}€~||€}{z{|{|{zz}}~€€€‚‚‚‚‚}}ƒƒƒƒ€~~~~}}}~€€€€€€}|~|{{{|{zzz{|}~€€€€‚‚€€€~ƒ„ƒ‚ƒ~~~}}}}~€€€€€€€€}|}||{{|{||||}}}~~~~~~€‚€€€ƒ€}„‚ƒƒ‚~~}}}}}}€€€‚~|{{{yyyyxxyyxwxyz}€~~~~~~€‚‚€€€‚€{{}ƒ‚‚€~~~~}}}|~€€€€€|yxwvutuuuuuvvuutux~~~~~~~€€€€~zyz„“ˆ‚~~~}}}}}€€€€€€|xvvwxyxyzyxyzzyyxw~~~~}}~€€~ywy}„Š…‚€~}}~}}}~€€€€€|{{{{}}}|~~~~}}~€~€€€~~~}}~~~€~zxxz‚‚‚‚~}~}}}~€€~‚‚††€~‚€€†ˆ…‚‚€~~~~~}}€‚~zywxy€ƒ‚‚}}}}}}}~€€€€ƒ„††ƒƒƒƒ‚…‡‡…‚~}€~}}~~~~}~‚‚~zxxyzƒ‚‚‚€~}}}}}||}~€€€„…†„‚‚„……‡‡…„‚ƒ‚~}~€~}~~~~~~€‚~|x{{z~‚‚‚}}}}}||||~€€€€ƒ„„…†…„„‚€€}~€~}~~}}~~€€€~{|}~~€‚‚‚‚~}}}}||||}€€€€€…‚~~€‚ƒƒ‚‚€~~€~~~~}~~}‚‚ƒ„ƒ‚‚‚„„‚€~~}}}|||}‚‚‚‚ƒ…††…†ˆˆ‡ƒƒ‚ƒƒ‚€~~}~~~~~}}~~ˆ‰‰‰‡…………‚˜Ž~}}}|||||~€€‚†ƒ€ƒƒ‚‚„‚‚„ƒ€ƒƒ‚~~~~~€€€~~}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÍȾ³¯¢ ”|sgiyjhjomscgbT\a\]e^T]b^`WQOU[Y`e`fUUXWUWUTZVPV__]WTLD>9;9532@3ÎÎÏÏÏÏÏÏÏÏÏÎÎÎÎÉÂÆÂÊÎÏÎÎÎÎÎÎÎÎÎÎÌÌÌÌÌÍÌÌÌÌÌÌÌÌÌÌÌÍÍÍÍÏÏÏǵœ¤—uys_\_q|o]`nkh[YZ\_YYVO`f_]TPOQXV^iihQV^aZQPKQRZ`c]VNMJA@76643087ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÁÅÀÈÌÍÍÌÍÍÌÍÎÎÎÍÍÍÌÌÌÌÍÍÌÌÌÌÌÍÍÍÍÎÎÎÎÎÏÎͦŠŠtmmmlmkms|z^a`bdZ[[\\]TSV]cY[ZVTTUSW[heRQY]VMNNRR]caa\QFB@;742221/2ÎÍÍÎÎÍÎÎÍÎÎÍÍÍÍÉÃÆÁÉÍÌÌÌÊÊÊËËÌÌËÊÉÊÊÊÊËÌÌÌÌÌÌÍÎÎÍÎÎÎÎÎÎÍÍ̵˜{kosyt}edb]eX`cd[ZWUaZTYedSPSWXTNLVOXhROTXYPNSPOYa^`XUTNH?;75331-.ÍÎÍÌÌÍÍÍÍÍÎÎÎÎÎÊÂÂÁÌÏÎÎÎÍÍÍÍÍÍÌËËËËÊÊÊÊËËÊÊÊÊÊÉÊÊÈÊÊÊÌÌËËÌ¿‘€„t_k|kdg^``WjcYYUTN\a_`qlZPOV^UNJTRQXT[\YUNPQW\_XWZQOXNH?>@<530-,ËÍÍÌÌÍÍÍÍÎÎÎÎÎÏȹ¼»ÊÎÎÎÏÎÎÎÎÎÎÎÎÏÏÎÍÍÍÍÌÌËÊÌÌÌÌËÊÇÊËËÌÌÌÉÆÄ¥‰yzog\lnnc^`]W]`UR[STQZdefhcgURW[TPSUSRXRZ]aURTRZ[\YYTSOOOH??>8641/3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻżÆÎÍÎÏÎÎÎÍÍÎÎÎÎÎÍÌÌÍÍÌÌÉÊÍÏÏÍËÈÅÊËÌÎÏÌÇÄÁµ¡|zpfVRa]Y]a_]a^WUSLMVZ`adi`[SPQQOLTPSP`KTUZ[XZZ^Z[XTQSOSJDD?B;420/5ÏÎÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÁÅÍÌÍÎÍÍÍÌÍÍÎÍÍÍÎÌÍÍÍÌÌÉÊÊÍÊÆÃÄÂÅÇÊÍÎʾ¼«€}pUTRPLUXoodbc]YND?NXR\ba^WTRLMLIMIQLZNSUVWW[\Z\^YSOTOWMCH@>=2/.--ÏÎÎÎÎÏÎÎÎÎÎÎÎÎÏÅÀÊÁÄÍÌÌÍÍÌÍÍÍÍÎÎÎÎÎÎÎÎÍÌÊÈÇÆÉ¿ºÃ½Á¾ÆÊÈü® ¨ytbVXXWfg]ofe^VVRRVUdUP\]TOWXRLIFPQRXWRQXZUTWXUOP[USWSXU>6612/..--ÏÎÒÖÕÐÍÎÍËÊÉÊËÍÄÀÉÁÁÌÎÎÎÍÍÍÏÏÎÎÎÎÎÏÏÏÎÏÌÄÂÁ¾Ä¼¹­À¸¿µ¿Æ¿½¶¦‡„}pˆ{f[`[]ckVn\T\SNTU`^XOPTXQQRUXLLLSRR[g]OVYVWUVZQJ]YY]]MC<6531.....ÍÛêîîäÓÌÊÿ¾ÁÆÉÂÁÈÁÀËÌÌÍÌÌÌÍÎÍÍÍÎÎÎÎÎÍÍËÅÁ¼´½º±¢»²½±µ¿µ¼´–†}}nhecbbUYc]Ud[SZ]PSSX]UUTONMKKMSYWORPQRd[MY\XQLMXYPXYPLJA7<<962/---.ÙïШµäé˾¸³²·»ÁÃÃÊÆÂÊÌËÌËÌËÉËÌÌËËËÌÊÉÈÄÅÀ³®ª®²¦ž©­¸°´µ®­¢uxullSbe[XaXRZi^X^YKPRU^`bUPMLKNSMUVKOTOS^^Y`\ROKLXXSYPPXJCC=;;972....îÈwfm£æص°®®µ´¿ÅÆËÉÄËÍÍÍÍÍÉÇËËÌËËÊÊÇÄþ¿³ œœ£¦›—¡­¯¬®¨§™„vljejm\UXVa`VV]\X_VRUTSUV`XRTONTVRTUWRPXPSZ`X^XZ\W[_TRYVRP@>E;877752000äŠwvqÊç·¬«®±²¿ÁÅÊÈÃÊÍÍÎÎÌÆÁÉÌËËËȹ³µ¶¼¬ž•™œš“ ±®©ž™œwideUg`PMHNWaWQQ\gabn^^b]TVNPPOPQVSVTVYR[OP`^^hZb_ke^RQNLIK@­ƒ…ƒ„‹ºåÞÈ󮯬«·Åº­²¸µ¿»Ç½±ÀÄ·ª ¡˜›Ÿ’”…‚„‹Œ„€Š‹Ž…ƒ‚„€yvp`VVUU]\UYUSWgRPO]gdSQ[YSMLMJKHELJKSU]`QYQPmscf^`\S`[VUG<:;86543464;?¬µ¶Œ‚»âíîçÆÅ©¢¢©ª ¡¡¤¢¢¨¹±¦¦«š›™¡™™ ‘•Ž…ƒ…‚†y„Š‰…}}}~vrpjeYRYgZRVRT]ZNW[]_XRRRRQMKOPKNRQGDMPU_RRM^ab_Xdj\PT]XGTF<<;9555589<=…·Á”†¹áìæâä쳞 ¯¡Ÿ¥©¤¡£¤Ÿ••“œ™ š’š‹Ž‹‡‡ƒ~‚‚zˆ„‚{|yxqhheZVYQX^XU[Y\[VYZZ][UOJWUNLOIACEE@AFIHQJRSZ]aY`p]_OZ`[HDD?=<85567:>@?‡’¿—Œ’ºáíнßè´Áĵº³·¸ÄÀ¸« ¡•’ž—›–†Œ‹Š‡†‚z„}€wywsqmlgY\dcbXRSWW]\bWU]SW_[UQJOMMIBCDA?EFFCRGUX\Xab`\RcbVWXPKGDE964579>=><?>==AMOX`[Tiˆ™‰ƒ~zxurqonoopsw{ƒoWGKKóìò~Œ¬˜¢JAFXlm[]VLK?|ˆxz|†gXKm¥¢˜Ž„²©~žMROKA54JlNtuuiksljg^P]m^USZ\ZSPWXYb_YV[ZUMHEAA??<78>DGI[gYSuWXUSRRPLKJJHHIIPRQQRTNPKDP¦‘’V|•œ’RM?K††…zN=F=`•}~|‡Wo@4@>;:LOZ`bdWOJZn_86C{Rn{vmhmihdc]gocZNR[[VRSXV_ZV[fXNHCB@@CA@>CHA=J[hh^†TYgot{~wE:988::=R[]_``kOLDW†OGD¥ØµjLQO;JFGH<679AÊÏ‚€Vw558=@>MONMKKLMI]yb?:…¦h^{ypfgkmga\[W_[OPWTMOT][YX[_]STNGABGHA>CRQHT\_g…}[ª«­±²²p=66NUNfkjt~Œwbuœ˜~ukXK?:CHDr;9:;;BhNZiyLCMw¬ÃÔÑÑÓÕÙØØÖÓÒÑÏÐÓ£€€hw^39Dƒ—{K?876CNLJNu‹P64A“UhllgfdamaTV^XW\TQTRTP[]Ze^VURPIIHDGKFBGNNRhnlup—j]?Q;656;EGB@ED@™‰29:;::^ZZjoHHOm³ÓÛàääåèêæèèçãâã߶{_‡PCGL‚“ŒND7547?;=Yž–M566‡i]jbab\\jdWOX\`\ZRMOYV[e``XPOVSMF?=GU^W[cgne\ZYg ^T=J6988>E?9::8U—ˆD;93w‡Rp]TZec``_UXZYTSPPNU\[TYZUNQZTPW[Zr„xdkxn]UVZYvœTK;C5:MJ;>9336=E]>CEGA78JeKe>865l©áçïìíÆ–Ÿ×ºœ°í鹈ŠŒ{XPhYgj]LKPTVQOOOY{mD==6irEjD>;Vc^a]Y[TSSUY]RLVXONOU]ZY\fx†‹„ccqiVRXXWg‘ŠJD>@9Qx}\;6335777:@BB>55AbG`kYPQoµº¾¿¶º²³½¼±¹ÃµR57bjAJ@LB@8;3Rjkqooolp|‰“‡‰‘ŠŠ”³˜‚|y}{mbmmaVWZ^^l“tBFFGAP|„UA?73456;ABCBC@7<_ETrqosssruvwwxwy{}}~~yG53/85589;855568778879:;=:<=HG08ENgpqtuvyzyxuutvxxxy{‰”¥±³­›Œ~rlmmmom[T_ot‹bAo_JDEXYAHKD999=DKKJJKG?;O>Nqomllnoqtuuuussuwy|{ki[8_E;;:988998877888899999;<=FEDghjjihiiimqruvuuvvtrqrrpprwŠ™¦­¯¨ €rgbNU\bw^@jg<99>AAFKL`nnsnZA?<;;;=CUfuqnkjjlmoqqssrqoppsw{|›¹RQ@:988788776667777778889::<>ftegkjihfeeegijlnruuvutsponppomot{ˆš­¿¸¡‰gSYPFv{_VQEDNQOOORVYYZYVTSMHFXhp‚’zwrnlkkkmmnpqpqpqpoprr±\K;358766666656765556653229JH]nekoomlkgca`_bcehloqtuwutspmmnnopomlxªº¼• ¤m{suliaSXlpnlmlljiiknpn`Yddcnzyxwtpljiiijlmnpppqqrro|šiXqcD345444555G9545_¢vqokgeefefhfecccddefg~xbcccaaaacejmprsuvwwsnhgikoet‰cWSVWWXXYXVVWXYXWWWXXXXYYYWXVRrtuwwvvsojfffeghijkklknW0hºÆÆí·‚gTX`yQe°IVjjœ}^mrwvuvz€®“‡†|zzxxun|oigecbaaba`bfjmpsuvwvtqlhg`jy`^_ZXYY[]^\ZZ[[[[[\\[Z\]\[jfhŠnpqsttssrmgea`bcefggjfWG0?˜ØÙêòµ…`bc…j¡Õqicz›dv‡’˜œ››sILBNŒ¤¤£žš“…y`vnmkfdaaba`^_bejnpstttttqkU`hZl´ ŸVRTWcZZ\]dZYX[gQOL~Ø»¿ÄlnppqrrrsqkgcaababddggN70.Dhg‹­Ÿ§gmp]\Êù›_oŠzZŒÈÕÖÚÜßÖg\SPL•çáÚ×Ûݸv\illnmkhcbbbda^^aeinpqrrrusSOZQcÅÏ×Ýò›ID?}ƒ?BnŽg”ÅZÏš[ÊŽEMdÎë }`SbgikmoprttssqokecbbbbdE-.048?GSazÊòìîîììðÓ„UiA@DFIMMDBTzwX^‚€p`RGD<``^jiecegjlmjfcccca`^_bgjkmM?DJOPRX^ˆ·qk_aÖÁŽ±‘¾Öfaosw…hZYT^cegjmnpqrrsrqnjebaaacH..016>GZs–­ÀóîóóòòóÁp\dG=79986:XMFS_†Á¼»º·´·®aaYHB7:<98755ELA=78?D=9>A>kRflmlhedccegihd``_^]^][Z]L@AILOSW[elrsty‡›¶Ã­œ†€}{wrhZWTÅy]dhjkmoprtrrpomhca`aM2205A†Þ„CAM`JMMMOPuœUeNGB?PYL@>8443464E‰a5665`W`llmligd``bffecaa^]_^]Z\J=?IKNSVZgu}ƒ„–ÃÌÍÑÖÔÓÔÕ°}{vpf[USÍÀq]eggilmoprrppplgcabL5601:‰ÑrŽž“– ª¦­¤ŠMeKQPLOOMJMI945568TŽ±FME7PZZj`biljhd``bcffdb`____`_K:=IKNRUYeprrožêìäçåëììòÂjhimf\URÀÏ´b\bdgiklnqqpqqplgcbL58//0;TO?@BAF]ƒŸ¡†rM9@BKXUMBADYJC==GRTRJBB@AECG\b_ŠaTjllljgcbdghjhgecbcO3;LNQQT\gg][Ykœ£š•““’nGBM`e^[Tw¶ÇÏ‹W_dgikllnoopppoliJ2:1,+/02443498QB8:327JJ\q©‹OŒ¾ÊÈsYaehjkllnoppopnlJ/;23;/,,*)*+**-0Bpoh]]\[[[\\\\[[\[[\[[[[\\[[\\[_dIIikijjjkkkjebbbehjigfM+;FBL³ÇqZOOKPPPM`aU]WTYQNHQVTt×´[w®Áͱd\bfijllmnonnomgF.:43LNE=771*+**(JMVlcY[YYYYYYYZYYYZXXXWWVW\`adeipqXjurrpolgnmkkhdbabfhikO(:B=J•¤f^e[=<=<>@>=>??@>7:\gb`sgWXx·ÃÍŸ]_efgikmmllmmf[B/9505CFE83/,05:=a\h|`TXXXWWXXXXXXYYn`er€Žš¤ª«­®°²²³³®­¯¯®©˜}rjkjhebabcejP'7?kaRMJq¸ÂѬ_\adfhhiklkjgc___^]\YYZ[\^`e`Y|n`¿çÚæÇogkmoprrwuNFEDDCBBCBA?FC<<<;;;:;;;;;:Pgghhhg`UPA$450+5>=<=<<;:9766;;::;;A6!(lodQLM‡¼ÃÒ–Z`dfgghikklkifdca_][ZZZ[^ae`WeSF§å±ÝîŠktuvwxwŽY<<::::99::?=:689;:87777779<@\hggecaWMA&33-)29987557775666666632211-!)5imv\OLWœÀÊË~Zbeggghjkklkihfdb`][[[[^_b[TPHFYymÅåƒ}™¤ª³¾¨C<==;76656778@>MffffdccXH,1.,,4-+)'%%%&'&&&%%%%%%&&&&&$)1qpmgWOLd¬ÃÐÃr^dfghijkllljjhgfd`]\\\]_a]LFHGLOWoƒ„Á»‘ˆ…†¤v;?9??>=;>AG_”i;?B:954445556=AA]feecba^UD6/0031258:;;989<=>@@?=9=ADIKOPQpklndRTgˆ½ÉÔ¸j`eefhijjklkkkjigd_]\\\]`_JDJGNQV]lŸäq.42?›Y<>459987Qeedcba`\YSNNNPRTY_ceeb_^\\[Z[\[WWVW[afghlmomhXOQTŽÂÆÔ¨``aceegijjkkkkkjgc`^\\\^`IAJGOV[bo™ßp<==k£C?924:=:65OA423445537RNG>7525@>Gaeddbbb`^\\[ZYZ[\]`ehhgfba^]]^][YWWX[`dfnrroneSMMX£ÅÌÓ[`bdegiihjkkklkifc`]\\]_F@JELV_gs”׉\€ŽžŒ;@622;fe52=812102358BOKKLI?52GEHOWboÑŒnÜõ¾g;?324[{V4100010146ABIQ[YZXB26C=NeT>?ASecbbbbbaa_^\]afklljgda_][ZXWXYYZ\nomlkkg]SMM•ÆÊ×£[`cefghghijkkkkigda^\\\>=GGGNV`m…¶~O½ê¤N;@9:8[Ž‹B?90/0013;HIPQ_]ZZG33A>F`P452;bcbbbbbccb`^\\_djlkhec_][YXXWXYYZnfcfgac^TNKe¸ÅÏÎyZaghffghiijkkkjhfc`]\\;:GHGIS[fdF>8nÇB;@AODAPSLCBA4.///3DHQKQd`WPG52>?@E>5726`dcccccddeca_\\^chihgea]\ZYYYYZZZlfgfsnibRKMM„ÁÆÕ´a_dedefgiiijkkjjheb_]\85EHN…œ{U@?GIKg]?:HRvQ@BABB@@943235@CNAM_^RQH9067;;@31>@>7KOC<:;;;:89=>;9:8768547;99?JEEB:<— Z_cbcddddeefeefdca_]^cfikkhc^[\[[[[[jrlipptre[OLJq¶ÃÐËs[beeeghhiijjkkjhgc`]:634434545679>AB@>?@;:;:::;<<=BB=9K7c»{^abbddddeefeefffdb`]^aeikjhc]\\\]]\twpnrpompqZLKOŽÁÇÖ²`adefghhhijjjkjjhea_808AFKYfgp„š¶½˜Ie>;=;<<=>?@ABGNPMLMNNNNPOQQOOLOWN|[;bdaaabcdddedeedefgfdb`]]^cgijhc_]]\\\rplimnjhjkeMJK`®ÃÊÖŒ]bdffhhiijjikkjigc^6,6:@?<=BCIY“º~H‰oFBOV\`cdhiknprqpppppoppomnooryf}ƒOW`baabcddddccddcdeeedb`][]cgjkhc_][ZZqmmeilptooiQILLz½ÁÐÆp`effhiiijjjkkjih_S2.4060-+04=H`›pN‹‡m^rpnnljheb___[YZZYY[[[XX[[\ad]gw{]Uaaaacdddccddfeeefffdb_\[^cgjkif_]\[jfcbfjrrorr]LJXhš¿ÅÕ«abefhijjjjjkkifcZN3.42;18:AINXMoi^†xjZ`[USQPOMLLLKIHHHHHIHIHIIIKNMNRTev_a^^aabddccdefgffffffec_\]_chkmkid`^bilhopllprpkTJMMX§ÂÈÔ]befgijiiiijjhfeX6-10+/79:;>TQ`xkkWQLKLHECCBAAAA@?>>????>?????@BCCBDIgy`ÁÅ­jacccdeffffffefffc_\\_chlmmkfcxssptrkjlkhleLJLIm¹¿ÎËu\bdfgghghghiihe\D0+,,+&%$$'HcwmUCCAAA@?><;:::;;::::::;;:::;;<=?>>>@OkevËâÞŸ^bcccddeeeeeeefgfd`][]chkmnkhy‚~qkkigijmkbOJMLL‘ÀÁÓ±]\adeffggfghhfd_V@568966631@f–ycG==;;<<<:9999877789877787889;<;:9:<::Kacjollabcccddeeeeeeffgffca]\^bhlnnlpurttlmglnnlkcYNLI`µ¿ÉÔƒX`ceffgggghgfeb[SOONOPPPPMEaydR>788889::888998898:=>><=<;:<60Agcccbae¥Á½“bdddddeeefeeeeeedc`]\]blklmqtuptljnljndPKJLLŠÈÊÖ¿kefhihiihhhggffeeeb_^[[[IK45CJVg€¥¤KDMWh€¦»`y»áãèéïïíïððõÞqh»š{bQIB<;30Aedccbaaa\ZY\a_`bb`bbabcbbbbbccba_\hhkga^`giq{wtvojndRMNQY¯ÊÇתefhiiiiihhhhhffffdca^[JS7//3=?HOVg€žÌZÈñìëìëìîïîìóã^Ш‡jUI>61/2Gedcccbbbbba``bcbbcddba`aabbbbaabaa„}‚€xu{xkhpwwy|sd]RKKKKQžÉÇ×¼eaceefefhhhgfgffeeca_@<;>93765gDBD62^©²M,4Dceddcccccbbaaabccbeedcbbbaccbbacdc€yy€ysnsc`hr{rjlfYLLKU][˜ÄÄ×Âh`ccddefeefgggffedcbB>=:4,I‡U89CK:\V6888=GICCBCCD[b;63221..ÍÎÍÌÌÍÍÍÍÍÎÎÎÎÎÊÁÂÀÌÎÎÍÍÍÍÍÍÍÍÌËËËËÊÊÊÊÊËÊÊÊÊÊÉÉÉÇÉÊÊÌÌËÊÌ¿’„€t_k|kdg^``WjcYXUUN\a_`pnZOOU]UMJSQPWTZ[YUNPQW\_XWZQOYOH>>?;52/-,ËÍÍÌÌÍÍÍÍÎÎÎÎÎÏȹ¼¹ÉÏÎÎÎÎÎÎÎÎÎÎÎÏÎÎÍÍÎÍÌÌËÊÌÌËËÊÊÆÊËËÌÌÌÈÆÄ¥‰yzog\lnnc]`^W\`US\STQZdefhdgUPWZSPRURQXRY]aURTRZ[\YYTSOPOH>?=7640.3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻŻÆÎÍÎÎÎÎÎÍÍÏÎÎÎÍÌÌÌÍÍÌÌÉÊÍÏÏÍËÈÅÊËÌÎÏÌÇĵ¡|zpfVRa]Y^a]\a]WUTMMVZ`adi`[SPQPOLTQSQ_JTUZ[WZZ^Z[XTQTORKDC?B:420.5ÏÎÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÁÅÍÌÍÍÍÍÍÌÌÍÎÍÍÍÍÌÍÍÍÌÌÉÊÊÍÊÆÃÄÂÅÇÊÍÎʽ¼«}pUTRPLTWoodac]YND?NXR\ba^VTRLMLILIQLZMSVVVV[\Z\^YSOTOWLCI@><2/.--ÏÎÎÎÏÏÎÎÎÎÎÎÎÎÎÅÀÊÁÄÍÌÌÍÌÌÍÍÍÎÎÎÍÎÎÎÎÎÍÌÊÈÇÆɾºÃ½Á¾ÆÊÈÄ»® ¨ytbVXXWef`ogg_WVRRUTeUP\]SOVXRLIFPPRWURQXZUTWXUOP[USWRWU>7612/.---ÏÎÒØ×ÐÍÍÍËÊÉÊËÌÃÀÉÁÁÌÎÎÎÍÍÍÏÏÎÎÎÍÎÎÏÏÎÏÌÄÂÀ¾Ä»¹­À¸¿µ¿Æ¿½¶¥‡„}pˆ{fZ`[]ckVn\T\SNTT`^XOOTYQQRUXMKMSRSZf\NVXVWUVZQJ]YY]]MD<6531.....ÎÛêïîäÓËÉÿ¾ÁÆÉÂÁÈÁÀËÌÌÍÌÌÌÍÎÍÍÌÍÎÎÎÎÍÍËÅÀ¼³¾º¯¢»²½±µ¾´½´–†}}nhebbbUYc]Ud[SZ]PSSW\USSOOMKKMSYVNRPPQd[MX[XRLMXYPXYPLJA7<<962.---.ÙïسÀçèʽ·³±·»ÁÃÃÊÆÂÊÌËÌËÌËÉËÌËËËËÌÊÈÈÄÄÀ³®ª®²¥©­¸¯´´­­¢uxullSbe[XaXRZi^X^YKPRT]_bUPLKKNRLTUJPTNS^^Ya]SOKLXXSYPPXJCC=;;972....íÊ}gp¦çÖ´¯®®´´¾ÅÆËÉÄËÍÍÍÍÍÉÇËËËËÊÊÊÇÄþ¾³¡›£¥š–¡­¯«®§§™…vljejm\UXVb`VV]\Y_TPUTSTV`XQSNNTURSUWQPWOSZ`X^WWYW[_TRYVRP@>E;877752000äŠvvpÌç·¬«®±±¿ÂÅÊÈÃËÎÍÍÎÌÆÁÉÌËÊÊȹ³µ¶¼­ž”™œš’ ±®©ž™œwideUg`PLHOWaWQQ\fabm__b]TVNPPOPQUSVTUYRZOP_^^hZd^ke_RQNLIK@±…‰ƒƒŒ¾åßÈij®¯¬«·Åº¬²¸¶¿»Ç¼±ÀÄ·ª ¡™šŸ’”…‚„‹‹ƒ€Š‹Ž…ƒ‚„€yvp`VVUU][UYUSWgRON]gdSQ[YSMLMJKHEJJKSU]`PYQPmscf_a\S`[VUG<:;86543464;? ¶¸Œƒ¿äíîçÆŨ¡¡ªª ¡¡¤¢¢¨¹°¥¦¬šš˜ ™™ ‘•Ž…ƒ„„y…Š‰…}}}~vrpjeYRZgYRVRT]ZNW[]_XRRRRQMKOPKNRQHDLOU_RRM^bb_Xdj]PT]XGTE<<;9555589<=‚¤À“†‘½ãìæâä쳞£¯ œŸ¥©¤¡££ž”•’›™ š’š‹Ž‹‡‡‚}y‰…ƒ€z{yxqhheYVXQY^XU[Y\[VYZZ][UOJWUNLOIACFF@@EIHPIRSZ]aY`p]_OZ`ZHEC?=<85567:>@?œ~¹–Œ“½ãíоßéøÄÅ·»±µ·ÃÀ¸¬ ¡”’ž–š—‘‡Œ‹Š‡†€‚€z„}vywsqmlgX\dcbXRSWW]\bWU]SW_[UQIOMNIBCCA?EEEBRGTY\Wab`\RcbVWWOJGDE964579>=<>Wy¥€§ÌØéëëëëëéèåâààÖÌÆÄ¿“„…ƒƒŠ‰€ˆ¡”“‚„‰‰‚|†‚{ywy{uvo_Z^_UVTTWaXQM^sue[\gQUNLSTMLIEAMWRSURN\bce[QYY^]Q[XUWH<99;:68:99>>=>lij…´ÞîíììëâÙÈÁÀ¼¸§¤˜‰z“¦™—„zspt{tgegggmt}‚„Ž€}sswyxsokg^SMLXX[SUX[[XHY`Z]YZ`WKLUPMILONQTUXW[me\[[\WYZRVNNK?985^v87998KOPwpsmowqih^RVXTXZ`]XFDQW^W[ZXVX]UOJBDA>?>==AMOX`[VUdz‰ ¢  ™–”’Ž‹Š‰Œ“––qTKKóëøšr©•¨Z@CSxmk`MMD\‘vw}ƒLUe´¸¶±®¦«·ƒ‚“XQRH:558hKlvtiksljg^P\k]URZ\ZSPWXYb_YV[ZUMHEAA??<78>DGI[gXSWrqje`\[[[[YXWWVWXYZ\_YVDP£‰Zj •¡UZD>m|xuN9=@@Œ‹”€wV^9bh`SZZjŒy{ƒUOO^aD44aa[{umhmihcc[fpcZNR[[VRSXV_ZV[fXNHCB@@CA@>CHA=J[hiZQTKRVZ[`V???>==<=MWXZZ[UKGWžUHAŽïÈ„DTSFIKINMGBA>xÇñŸ€dlQ03336FOMJLMJNKJrnQ1Q…Ozypfgklga]\W_[OOWTMOT][YX[_]STNFAAGHA>CRPHT\_gˆj\S‚‹–›Ÿ—O8668>EJPTSRQNxXO_•UJCŒäÊ°šœŸ£©­­¯±­¥ ž¬Ë×’‚Z}A36PjQDPONMMMMMKosR6M„šVjvpedhtyhWUURSRNTXPOZ\ZV[a^YOSUPIELRI;>NUNfjkt‚fzui¡¶´²ª£œdB87?FtMB=;;;RiNg~UCIeš¿ÕÖÕ×ÚÜÝÛÛÙØ×ÕÕظƒxZ676iŸ}MIA>FC›¢A78:<;=eUatLHM`¤ÑÚàåææéëéêìíéææßÎŒywhy7@?u¡eB6335CGEF~žz962`ŒNjaaa\[jdVNW[`[YRMOXUZe``XPOVSMF?I3689@EC?@ABŒž<8;<;9;\]VSHHC]šÒÞäêëá»±Ó̯¾éëèâܨxkvlDMH^ƒ{VKE;:::878z f974HšSid\^ec`a_UXYYTRPPNU\\TYZTMQZTPUVWq„xckxn]TVZZ\}–TIAD68<9;B;439>”¤:ADE?6:PdNC;51Z™Öåîìêãµ±ÖÕ·µéêäȾ©wa…kPYTw~dHIJJJJKFGY†–Z>=8CUa_DBMb]`\YZTSSUY]RLVXONNT[ZY\ev€…‹„bdqiVQXZ[[a“„OA?>5Hg_D:53357ro9CEE?55GcIpcTQf‰µÅÊÌÅÑ¿µÌʳÀÑ̘GAe‰Qi\TfG[GEKV]]XOOHPYslOF?9IH?GKGLSRVVOEDDCA=:?>tpmjijjlnpqssqqoppsw|€‚¡`JQ;:99889877666778788889::865556WsŠ˜¦²±­ª«ª«¬¬¬®­««§¡Šgaba___adinrtuvvwuokhiknoomlqŸ–o^[\YWXW`f\YXXVUVWWWXY^\WXYXXvwxwwurmigfgiijlllmnnosmRm¤¥µ‰C./11335714630.f¦•›“Š€€~}z{{{{z}€„ˆ…bcbb````bejmorruvwvrmggilnqeŽ…gYUWWVVXWWVVWWWWVWVWWWVWXWXXXrtuwwvvsojffeeghijkkllpr8W Ã«ÈªURCBBC>;€_9HNW›ydfddccegjvxpmiigfefec{thgeba``ba`bfjmpstvwvspkggjaxx]UPUWWXZZYXWXYYYXXYZZXY[[ZWXWnpqsttssrmgda`bcefggijd^6<ŠÔÉðﻌ^bcˆŽX¿‰Ovl“bn{~~{||šž|„Šƒ}~~xqwomkfcaaaa`^_bejmprtutttqkeYjm]l…m`mfY\]]Z\^^]^^_^Z\[ZVbš…lnppqrqrrpkfbaabbbddfhZC5/J¬³ÂÛÖ§tcea_ˆïÊ`gf™ln‹£ª¯´µ»œQ=;9^²ÂÁ½·¶­ˆl_qkomkgcabbc`^^`einoqrrsuulPZbO|Ä·«ÏÉ`GHNu[LP`tVKLnmAEM¯ðÖÝjlnprsrstrpmhdcbbcbcdh]81-.7;Hc]„q_rp`”éÏtiyVr´áÝßßÞå¢Wd[UWÄåßØÙÞã•pWhfilpolhfeggdb__afjmppqstoMMVMfÔáÜÞñÀWD;…;C¥9S¶`9D˜íàÒÖhjlnpsstuusqmifcbbbbbfR1..036;DIQZey‹œ®ÑȬ‹|Ye²æàßààäŒJ[aVS¸äÞÛÛßçŠ^d[gefknonkjhffed`__cejlopqnIELPM—­¾ÇÍõ§B=OÄyMÂæ°E¢§KF[ãíµ¨|afijmoprsttsqnjecbabbdR/,/47:@FP\ožâäæêëêéê´hbUo–—™ ¦œWHYo\W’ÙÔʼ©š]EqThidcegjlmiecbcba_]_bgjkmlHAFLPNVs·í³]QEˆØo‡²{„ÜeJ]q¨È‚bW^begjlnopqrrrqnieb``acU1./05;FSe§£êèìíìëîå¦ZjR:567998;H^`Z_^MF=75D@lUdljgdccfhigfda`__]\\_`adeG?EINQUVYokorpjÌß¾ÏÄé²gookdc_\Y€[ceijlnpqrssrpmhcaaaaX3.0027=J]r–šéðññïïíÙ”SlOF;8;:99:9Gp_UG67;;;:I?[_[knlhfecceghgd``_^\]\[\[^H?CIMPTX[___`eowÄÚßϹˆuojiiie[WÂv\dhjklnprtrrpolgca``Y51119D‡~;4:Fy€|{yrl†QgID9:B@:7637<;976>QN=6;9HgRjmmkgfca`bffeba`]]_^][Y[H=BHKOTW[it|‚ƒŠ˜ž¦µ¾¯©¦£’…zrfZVÍ¿n\dffhlmoprqpqpkfbaa[6610:bèÈognxouxy~ƒœqV_GKEL]VKCB8545564m¨™Q9:69hPgkikligd``bcfecb`_____]]G;AIKOSV[iuz|{Ÿàäàäåéèèíµroond[UÀϲa[acfiklnqqpqqokgba[6:0/1B‰ƒ\\lvzz“˜”¡šaUXMPKIIJJJME75667B`‘¦[NPE9ZOccelkjkjgdbbdghgedaa`aa`I7>IKNQV[hnnnl¬îêãæäêëìòºhihle\U¯ÄРY\aehjlmnoopqpolgc[4<0../4?>;?C94Ml}‡‡Œ]>FGGJOTNJFERGA:=FMQ^eJD?D?>EaX•l^kmljfbcdgijhfecaabI2=KMOQV]hikol¨ííêèèçççë±fddgf[U|¸ÇÏ‹W_cgikklnoopponkh]2<1.,/15:==>BENm¤xfDACITWOFDCPTGCAEPVVRHFHFJLMSfYgoN^llkjjiecbeijkifcbbG0>KNRSZ^gaPFBF]bb^[b\UQF52FXcdpP¿ÊÈsYaehikklnopoopmk^0;5.,+----.-./4EPu‘rr__^\YYZ\\]][]]]][[\\\]^]^`bbheSS_jjkjklkiebbbehjigecE,>GIOŠŽj^LL74584LLF`MGLA?EPIVxÍZz°Áͱc\bfhjkkmnonnpom].;60GE61.-,+++)+4Jzgs\]\[ZZ[[\[[YZ[ZZZZZZ[[[[\\[\dYA[mhijjklkkkhdbabfgihhE)?C>YϹhXVOKSQPMYTNOMLNJE>T^Xl¸X[}¹ÃÍŸ]_degijlmllmnlcU-9634KLJ>87+**,,<\F`rV[ZYYXYYYYYYYYYYYYXVVVUVWZ\]h[JipmkiihemkkjhebabcfhkE'777=?>@BDDED?Idke\[PIOŠ»ÂÌ‹X]acfhiikkklj_Q084318<>91..05;?Ork„sTXXWWWWXXXXXXX[fV[eq‰Ž—œ ¦©«¬ª¯¬ª©§¡œ‰xsjjkjgcaaachE%9=;?JRYfptncaabbdfgggfhkttmdSI\QMU—¼ÇÃqT\_bdfgijkljeX@4/0/-**+++++--)IqzqphWWWXXYXXXXWk˜¥®±±¯ª§¤£¡žœžœ˜˜›œŸ¥©¬Œ_ikikjgdbaadC#67537$54ITB538732/,,+*+--..15:BN\A%lodQLM†¼ÃÒ–Z`dfgggikjjjgdb`_^][Y[Z[]_dgVlpW}æÚÖë§eloqttttyuNIGGGFGHHHFDSG@@?>=======>?XhggfdcZOL9$54*#2==;<=<<;::8:<<;;:99;:91"imv\OLWœ¿ÊË~Zbeggghjjklkgedc`^\\ZZZ\^bdS^UF]Ë»´òÈiuvwy{|{ˆN?<<;;9999:=87578:988777779:D`fffddd\P>'40-.7554211121000010/.-++++*!)qpmgWOLd®ÃÐÃr^dfghijjllkjhgfcb`][[Z[^`aPRHFI[_Ù®r™­±¶¼Å©=;SeeedbbaZH3.**,/('&&$$$$$'&&'''('&'*+-,-/pklodRTgŒ¾ÉÔµg`eefhiikkkjiihhec_\\[[]^bQFHGJNT\mxªÑŒtokp¡e;=<468777CGCFL?6886544564433:B?Veccbaa_][ZUUTUWX]adfgfcb`^\[\]]ZXVVY^denrromeSLK\«ÅÌÒˆZ`bdegijiiijjkkifb_\[[\_UAFHJT[ah~ÀÀDA=?€˜Kccccbba``_^][[\\\\_dhiihfb__]^^[YXWXZ]bnusstxiTOJp¾ÈÒÃk^bdfghiihijkkkkhea^\\[]R>EHGPYal~¶Åbx¤¥ªv:?412>\S27C512112456BULIIC;32=AAZddggfcbbbbba`__^Z\`eilljfca_]\ZXWWXY[]nomkkkg\SMN™ÇÉÖŸZ`cefghihhikkkkigd`][[\N225Z~qC100010/256?BGPXWXS>17B>PdWIKLZdcbbbaaba`^\[_chkkheb^\[YXWVXXYZnfcfgac^SNKf¸ÄÏÍuZaghffgghhjjkkjhfc_]\]M8BIFJQ[ft£ÆZ~ìÜ”C==67;t‘u<:4//0/13:GGPS^\[\G23B=HcN232?bcbbbbbcdba_\\]agjhec`]\ZYXXWXYZlfgfsnibRKMM„ÁÆÖ±_^deddeghhiijkkjifb_]^M2@JFIQZ]moYA?«Ìx=>?AB;Ja`PBB<0.0.04DHQLRc^VOE42@?ALC6735_cccbccdeecb_^\\aghhie`]ZZZZYYYYolggqoriRKMLW¨ÄËÓ“`_bdeefghhiikkkigd`]^L.=IDq­¢gQ>DStGABBBB@A511/16BEQCRe`USH7/88<;8103Ebccccddeeeeeba_\]bfjljgb][[\[[ZZjrlipptre[OLJu¸ÂÑÉp[bdedfhhhhikkkjgfc__L0;GD}âà”D5CbHBCE;=SXP?=>>><:;;;867578;7:>@=;AF?@>:@qPKXbcccccdeedeffedb`]]`eikihc]\\\[\[twpnrpompqZLKOÁÇ×®_acddfhhhhjjjjiihfa_M28AHQ–º“VF?Q=TJ@94:645345567>BB?>@?9899889;;>FFAAEILQSUXZ^ehlljklkjklllkkjjowd{F\a`aaccddcccceecdeeecb`[Z^bfjjhe`\[[jfcbfjrrorr\LJXhš¿ÅÕª`befghjkjkkkkjiicVC)5044.+.49ELw¨X_Ž~XZmoqsrpomjggfccccba``a`_bddgj`muVV^^``bddccccefedefeedb^[]^bgklkhc_^bilhopllprpjRJMMX§ÂÈÓŽ]beffghjjkjjifd`UC)31736;>GKPTRXi‰}jbh`[ZXVTQPQPOLKLLKKKKLLMNNOSQRWZmsW’ÁĬiaccccdeffefeeffeb^\[]chllmjebxssptrkjlkhldKJLIoº¿ÎÊr[adeegghhhiiiggaH+00,*26799DRMjioo_UNROJHFFDCCCCB@@AAA@A@BBABBCEEEEFLjnyÎáÞŸ^bcccddeeeeeeeeffd_\Z\cgkmmkgy‚~qkkigijmkaMILLL“¿ÀÕªY\`bdfffgghhigeaU:,++*'$$$#,Q_pkUEFDCDC@?>=<<<<<;;;;;<;;;;;;;;=????ATmejollaccccdddeeeeeeffgfb`^\^bgknmkpurttlmglmmkkcYMLIb¶¾ÉÒ{X_bdffffgghgfda\N6346755542Hq˜v`D>><<=<<;:998788889988987889;;<<;:9:=Qbb_`_lkbcccddeeeeddffeedc`^\]bgkmmlvstuloihlllotiQJKL•ÅÆÖ²_beghhgfggggfdb]XPMLMMNNNNGIk‚dU=8::;:;;98888766547899988889;‘黾µÍÛïémFKZbde’›¡”¥šUVSN8K|ÑäÐÜìîÜh1Cfccbad¥Á½“bddddddeefddedddcb`]\\alklmqtuptljnljodPKJLLŽÉÉÕ½jdeghhhihhhffddcbba_][Z[YHF:8jäðéÓÀÐì¶j@26624s{~€oa****8\sk‘›ƒsU=0Agbaaa_æïæ˜abbcccdcccddcbcbbb`][\jpvsoprloijifjqaLKKLK_¸ËÌÔ•`egghhhhhhggffdddca_]ZZXHG48G¬¯¸±©Œl„Z75898cš¤¦§šVCCBBJ€p]QHB:553Bfcbaaa`¯°d_`bbbcaabccbbbbbca`\Zqwvpjhjnojjkvste`YLMNP‡ÊÊÑÈsbfghhhhhhgggfedddb`^[[XJG0387=BGKUf€£”L8?><9;Fdcccbbbbba``bcbbcddba`aabbabaabaa„|€yu{xkhpwwy|sd]RKKKKR¢ÉÇعdabddeefhhggfegfecba^XIO45::>>IOVi‚ ÑxgÑîéêëêëìíæáð×Y|ÅŸ†mZND<414Gedcccbbbbaa`aaa`acbbbbaaabbbaadcaƒ|t€ysqimvnihoibbaULLK]d¼ÄÌ׌]bcddegggggffggedda_Z8=BJQZpŠ¯ÛXÒ÷òòóññóñðíïÏV‘ÃŒdJ?:/,..1Dddddccbbbaa`abccbeedcbbaaccbabccc€xy€yrmsb`hr{rjlfYLLKU][›ÃÃ×¾e`ccdeefeeffggffddba[69;5/.37hv>,3Cbeddccccbaa`aaehifefedccbdcbaabcc‡††‡‡‡‡‡†…†‡‡‡‡††††‡‡‡‡‡‡‡‡‡…„‚}xutttxxxxyzx||zvuwzz{{zyz{~€€€…†……†‡†††…†††††………†††††††‡……†‚{xvvtvuvxxxyxz{zxwuvvyzyxwy|~€€€………„…†††††…†……………†††……†………„„…{vxxxwwyzwxw{{zyxvvuxyxwwz{~~€€€……………………†………†…………†………„†…„………„‚zyyxwz||yxy{{{{ywvvxyzyzy{~€€€†…„„…………†……††…………………„„„ƒƒ„„„ƒ|yxwyz|{zz{|{zzyvvxxyyzzy|~€€€„‚‚ƒ„„„…………†……………………„‚‚‚€|zywy{|zz{|}|yyxwvxz{z{x{~€€€ƒ„…ƒ‚ƒ„……………„„††……„‚€€€€€}~~{zywwxyzz{{{|zywwwwxy{{y{~~€€€‚„…‚€ƒ„……………ƒ„„„‚‚~~€€~}||~|zywwxwwy{||{{{yxyxwuvyyy|}~€€‚‚‚ƒ„„†‡„‚‚€|zz{|{|}~}}||zz|zzyxwzxyzz||}}{zwyyvuuwxx|€€€€ƒ€€~~~ƒƒ‚€€}zxwxyy{{z{{yyxy{yzzyxyyy{{|}~}|zzyxxvuvuv{~€€}…€€€~}{|z{{yyzyzzwyyxxxy{{{{yvwxxz||}~~}{{xxywvvuw{~~‰„~€€€}~}}}€‚„…………ƒzvvvvwz{|{zyuuvxz|{}}{yywxyyxxz|~~~Š€~~~~}|{ŒŽ‹ŒŽ‰xvuuw{|}{yxz|zzy{|~~}{xyxww{z{}€‚„€€~||‡‡~‚ƒ‚„……zzƒ‰ƒ€ƒ……†‡‡‰‹|tuuwzy{yxz|{y{z{}~~~{zy{€ƒ„„†ŠŠ‹ˆ†…{‚…‡‡ˆˆ‹…}}„†‚€ƒ„ƒ……„ˆˆttuvxwzyyzzyxyz}~~~|yy~…‰‡‡ŠŒ‹‹Š‰Š†z€‚‚……„„…‡……‰‰……†††…~†ˆ‚wtttxzzzyzzyxx{~~~~}yux‚„‚ƒ‡ŠŠ‰‹‹Œˆx€‚ƒ‚€€‚ƒ€…‰‡‚†‰ˆˆ†~„‰ƒywxuwzxy{zzywy|}}{{zwsrw…‡‡ˆˆ†‰‰ˆŠ‹ŒŠz‚‚‚€€€€‚‚ƒ†‡†…‡ˆ‡‡…„Š…~|}zyyz|||{z{zxtqjoquuu|†Š‹‡‡‰Š‰‡ŠŠ‹Š‚„„ƒ„ƒƒ„„„ƒ‚ƒ…ˆ‡†‡ˆ‰‡‡ˆ…†ŠŒˆ‚‚€‚ƒ‚ƒ‚~|xuuxxyxy‡‰Š†ˆ‹‹Šˆ‰ˆˆŠ…‡‡‡…‡ˆˆ‰‰ˆ†…ŠŽŒŒŒŒŒ‹Œ‹ŒŒŽ„‚„„ƒƒƒƒƒ„„„…†„…ƒ~|z‡‰‰‡‡‡††…†‡‡‡‡‰‰ˆ‡ˆˆˆ‰ŠŠ‰‡ŒŠ‹‹‰ˆ‰‰‹ˆ‹ŒŽ†ƒ„„††„„„ƒ‚ƒƒ„†‡‡†ƒ‚„‡Š‰ˆŠ‹Š‰‰Š‹‰‰‹‰‰‰ˆˆ‡ˆ‰‰‰‰ˆ‰‚‡ˆˆ‡††‡‰Ž‘’‘‘‘’““†„ƒƒ‚€€‚„†‡‡…†€|}€{yy|{|‰‰‰‰ˆ††‡ˆ‰ˆˆ†€„ƒƒ„…†…‹ŽŒŽ‰ƒƒƒ‚‚‚€€‚……†€zvstsrrqssswzŠŠ‰‰‰ˆ††‡‡ˆ†„„„„‚€‚ƒ„‡‹„|{}…‹ˆ~|~‰„ƒ‚‚€€€ƒ„‚~}|}~~~€€ˆŠ‰‰ŠŠ‰†††‡…ƒ„‡‡†ƒ‚‚‚…‹„~~~†‹‰~z}‡ˆ…‚‚€{z{~~~€€~~€yƒˆˆ‰ŠŠ‹‰††…„‚ƒ††„ƒ‚‚‚…‰‡‰‹‰‹‹Œˆ‡‡ˆˆŠ‰‡„ƒ‚‚ƒƒ‚xrruvux~€{vvsq€†‡ˆ‰‰‹‹ˆ‡…ƒ‚‚‚ƒ‚‚‚„ˆ‰†ˆ‰‰ˆŠ‹ƒƒˆ‰‰‹‰‡…ƒ‚‚ƒ‚‚‚‚xqqsux~~~}zwrr}ƒ‡‰‰Š‹‹‰†ƒ€‚‚‚„‰‰†………„†‰…€„…ˆ‹‡ˆˆ‡…ƒ‚‚€‚yrsry€…€€€€}vs||†ˆ‰Š‹‹‹ˆ„‚‚‚‚‚‚ƒ‹‘ŽŽŽŽ‘’Ž††Š‰ˆ†ƒ‚€€‚}yyw|€€€|y}}~ƒ‡ˆ‰ŠŠ‹Š†„„‚‚‚‚…Œ•–•””••–––••••‘Š‡ˆ‡ˆˆˆ†ƒ€€‚€~~€~€~~|~}}ƒ‡‡‰ŠŠŠ‡……ƒƒƒƒ‡ŒŽ‘‘‘‘‘‘ŽŽ‰ˆˆ‡ƒ‚ƒ€€€€€€€€€€v~}…‰‰ˆ‰ˆ‡„ƒ„ƒƒƒƒƒˆ‹€‰ŽŒ’’’’’’“’‘‘‘“Žˆˆ‰ˆ†„‚ƒ„„„„„„……„ƒƒo{€~‚‡‰ˆ‰ŠŠ‰ˆ‡…„ƒ…„†…~}ƒ‰ˆ†‰ŽŽŽŒŠŠ‰Š‹‹ŒŒ‰ˆˆ‰Š†€€ƒ†‡‡†††‡†‡†„‚im|}{ƒˆ‰ŠŠŠŠŠŠ‡…„†…„…„‚†……ˆŠ‹‹Š‹‰‰Š‹‹Œ‹‹‹‰ˆˆ‰‰†‚‚‚‚‚‚‚‚iir{}~†‰‰‰ŠŠ‹‹Š†………„„…„ƒƒ‚…ˆ‰ŠŠŠ‹‰‰ŠŠŠ‹ŠŒ‹ˆˆˆ‡††ƒ‚ƒ€€€‚‚kjlw€~~ˆ‰‰‰Š‹‹Šˆ†„„ƒƒ…„‚ƒƒ„ˆŠŠ…†ŠŠŠŠ‰‰‡ˆ‰Š‰‰ˆ‡†‡‡‡†ƒƒ€€‚‚„„ƒonls€}}„‰‰‰‰ŠŠ‹Š‡……‚ƒƒƒ„……‡‰‰„‚ˆŠ‰‰ˆ‡†‡‡‰ˆ‡‡…†ˆˆˆ‡‡…ƒ€‚ƒ………onjmy€~|€†ŠŠ‰‰‰‹‹‰‡…ƒ‚‚ƒ…†‡ˆˆ‡‡ˆˆ‡ˆˆ‰ˆˆ‡ˆ‡‡‡…†ˆˆˆˆ‰ˆ‡…€€ƒ†‡‡llihky€}}ƒ‰ŠŠŠŠ‹‹Š‰…ƒ‚€€‚†ˆ‹Š‹ŒŒŽŽ‰†ˆ‰‰‰‰‡ˆˆˆ…‚€€ƒ…†nnifet€~|†ŠŠŠŠ‹‹‹‹ˆƒ‚ƒƒ‚…Š“””••–•–———————‡‡‰ˆ‰‰ˆˆˆˆˆ†ƒ€€€‚ƒlkgfgm|€~}€‡‰ŠŠŠŠ‹ŒŠƒƒ†…ƒƒ’”——––•”“““““””•–”Š„ƒ†ˆˆˆˆˆˆ‰ˆ‡‚€€ghgghhq~€}}‚ˆŠŠŠŠŠ‰‰…‚‚ƒ‚‚„‘‘ŒŒŒ‹‹ŒŒ‹Š‹‹Ž‹‡††‡ˆˆˆˆˆ‰ˆ‰†ƒ€€iggfghhu€}€ˆŠŠŠŠŠ‰‰†ƒƒƒ‚†ŒŠˆˆ‡‡†††…„…„„…ˆ‰‡†‹‰‰‡†‰‰ˆˆˆˆ‰‰ˆ†‚€jhgegihr~„Š‹ŠŠŠŠŠ‰ˆ‡††ƒ…ˆ‚ƒ†ƒƒƒ‚‚‚€ƒ…‡†…‡ˆ‰ˆ‡…‡ˆ‰‡ˆ‰ˆˆ‰‡…‚jhgegiho}€}€‡ŒŒ‹ŠŠ‹‹Š‰ˆ‡„‚ƒ‚†ˆ‚‚‚€‚ƒ‚‚ƒ†‡‡„†‰‰‡‚ƒ‡‰ˆ‰‰‰‰ˆˆ‡ƒjjjhihhku~ƒŠŒ‹ŠŠ‹‹‹‰Š‡ƒ‚‚ƒ……‚‚„…„…„„ƒ€€‚‚‚…‰ˆ‡‡†ˆ‰‰‰‰‰‰‡ˆ‰‡lljjnkijq~‚~†Š‹ŠŠŠ‹‹‹‹ˆ„ƒ„‚‚€‚‚€€€‚‚‚€‚‚‚…‰‰Šˆ‰‰ŠŠ‰ˆ‰‰ˆˆ‰‰llmoqpmps|€~}}‰Š‰‰Š‹‹‹‹‰…ƒƒ‚‚€€€‚€€‚ƒ€‚‚‚‚…‰‰‰ˆ‰ˆ‡‰‰‰‰ˆ‰‰‰‰{zzzzzzz{zzz{{{zzzyyyyyyyyzz|‚„ƒƒƒ„†‡ˆ‡†††‡‡†‡‡††‡‡†……‡†„ƒ‚ƒƒyzzyyzzzzzzzyyyyyxxyyyyyyxxy{~‚ƒ„„ƒ„…†††……†ˆ†„…†„„…††††‡†ƒ‚‚zzzzyzzzzzzzyyyyyyxyyyz{zzzzz~‚ƒ„„ƒ„………„„…†‡……ƒ„„„ƒ„†‡‡†…ƒƒ‚zzzzzzyyzzzyzyyyyyzzzzz||{{z{€‚„„„„……„ƒ„†††„„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zzzyyzzzzyyyyyzz{{}~}|||~€‚„„„„………„…‡‡†……„„„„…†‡‡†…„‚‚‚{€~|}}{zyzzzzzzzzz{}}~}~ƒ‚ƒ„…„„……‡††††…………„„……‡†††ƒƒ‚‚‚€‚€€|{zzzz|{y{{|}€€€€€‚„…ƒ„„……„„„„††††„…†……„„…†††††„ƒ‚‚„~€~}|{zzz}|{~€€ƒƒ‚€‚ƒ………†……………ƒƒ„…†…„„……„………†††……ƒƒ‚‚‚€€€€~|z}~„……†…„ƒƒ„ƒ„…†††††…………„„……†…„„ƒ„„„…††‡†……ƒ‚‚€‚‚ƒƒ€€€~~‚„ƒ„‡ˆ‡‡†„„„…„…††††††…………………„……„„‚‚ƒ„†††ˆ†…ƒ€‚€‚‚‚~‚ƒ€€€‚‚„†‡…†††††…„„†„„††††††………………………†…ƒƒƒƒ…†…†ˆ‡…ƒ€€€‚ƒ{€‚€‚ƒƒƒƒ†…„ƒ‚‚€€€„‡‡†ˆˆ†††……„……………………„„ƒƒ……††††„ƒ‚€€€‚ƒy{‚‚„„ƒƒ……†„}}}€€~~}|‡ˆ‡ˆˆ††„„…„„„†…‡†…„„„„…†…ˆ‡„„‚€‚„…€~€€€€€„‡‡ƒ~}||~~|||}}„‡‡ˆˆ†……„„……†‡†‰‡……„„ƒ…‡‡†‡Š‹ŽŽ‹‡†ˆ…‚ƒ~{xx{~‚‡†|}|zz|xx~}{‚ˆˆ‡‡…„„ƒ„„‡†‡‡ˆ†…„ƒƒƒ„†ˆ†”Ÿœš——–––—–†‡ƒƒƒ~~}}„ƒ{}zxzwz‚~|€ˆˆ‡‡…„„„„„…‡‡‡‡†„…ƒ„……††‰ƒ~||zzzzyyy€Š‚‚‚€€€€€€ƒƒ}{~„{xyy|„|~†ˆ‡††…„„„„…†‡ˆˆ…„ƒ…†„€„‰|~~|z{{zz{|‹‚‚ƒ‚‚‚„ƒ}{}€|{||}†{~ƒ†…„„„ƒƒƒ„†‰‡††‚}}}€ˆ}z{z|}zzzzˆ€„ƒ‚~}}}}~~~‚€|}€ƒƒƒ‚‚€€€‚„„„„†‚€€‚¡²“Šzz~~y{||{zzx…~}}}~}€€~{|}}|||}}}|}|}‚€€€€€€€€€‚ƒ‰…™«š‘„€ƒ…ƒ†‡ˆˆ‰‡‡{}~~}|||}}{€|}}}}~}}}}}}€€€€€€€‚‚Ž¢§ª¦£§««¬ª§«²¬{|}~~}}}}}~Š‰~~~~€€~}|yyzyyyy{z{€€€€~—ÁÈÊÇÂÆËÍÍÊÆÌÌË|{||}~€~}~ƒƒ‚€ƒ}|{}}}€~|}}{}€€€€„˜§¾ÆÎÑÒÔÓÑÐÏ˽®~}||}~€€€‚ƒ‚‚„„|||~}||}~~~~‚€€…¦‡€†‘•™˜•’Ž‡~}|}}~€€€€‚ƒ€||}~{wx{€€~|}‚‚„µº¢Ž‰–Š€‚€…™™”­€~}}}~~€€€€}€ƒ‚‚ƒ||~~zvvz€}{|}~€‚ƒƒ¶ÑÑÈÂǺ–Š­ÇÊÌÒƒ}}}~~€€€ƒƒ†ˆˆ†{||||{zy|‚||||~~€€€³ÎÏÍÁ³‘‹”¨ºÌЄƒ€~}}}~~€ƒ‚‚‚‚‚}||||||}|}ƒƒ~}||~~~€€­ÏÐͧ‡~‚ƒ‚‚ƒŒ¼Ò†„‚€~}}}}~€€€€‚€{yx{zzz{zz{yyyx{~~~~€¿³¹‹‚ˆ‰‰‰„œ«‘ˆ‚€}}}}}€€€€zvuvvvvvvuvxxww{€~~~~~~€‚„‹ˆƒ‚‚‚ƒ„„„ƒ‚€~}}}‚€€€{{zvwwwwyyyzyyyz{zyyz}~~~‚€€€€€€„„ƒƒ‚‚€~}}}~€€€€}|ƒ‚}zyzyyzyyxy|{yyzyz|~~~~~‚€€€€€€ƒ‚‚‚‚€~}}}}}€€€€…„‚}}}{{||{{{}||{{{{{|}}}}€‚€~~~~~~~€{~Ž‹‚‚~~}}|~€€€€€‚€|||||||}|zyyyz{{}~~~€‚‚€€€€}{‡‡‚ƒ~~~}}}€€€~}~€€ƒ€}||}{{{{zz{{zz|}~~€‚‚‚‚‚‚‚‚‚|}ƒƒƒƒ€~~~~}}}~€€€€~~€~||€|zz{|{|{zz|}~~€€€€‚‚€€‚„‚‚ƒ‚~~~~}}}~€€€€€€€€€}|~€€|{z{|{{zzz|}~€€‚‚€ƒ€|€„‚‚ƒ‚~~}}}}}}€€€€€€€}}~}|{{|{||{||||~€~~~~~~~‚€€€z{}ƒ‚‚€~~~}}}||}€€€‚ƒ~}}||zz{{zz{{zz{{{~~~~~~~€~zyz„“ˆ‚~~~}}||}€€€€€~|yyxvuuvvuuuvvtuuvz~~}~~}}€€€€~yxy}„Š…‚~}}}}}|}€€€€€{wvvuvvvwxwvxxxwwww}~~~}}~}~€~zxxz‚‚‚‚€~}}}}}~€€zyyyz|||{}}}}||}}}|~}~~~~}}~€‚~zywxy€ƒ‚‚}}}}}}‚€~‚~~~~€€€€„ˆ…‚}~~}}~~~~}~‚‚~zxxyzƒ‚‚‚€~}}}}}}}~€€€ƒ„‡‡‚€€ƒ‚‚‚†‡‡„‚~~€~~}~~~~~~€€‚~|x{{z~‚‚‚||}}}{|}~€€€……†ƒƒ‚‚ƒ„……ƒƒ„††„‚~€~}~~}}}~€€~{{}~~€‚‚‚}}}}}||}||€€€€‚‚‚ƒ…††ˆ‡‡…€€€~€~~~~}~~}~‚‚ƒ„ƒ‚‚‚„„€~~}}}|}||~€€€€„‚€€€€€‚‚€€~}~~~~~}}}~ˆ‰‰‰‡…………‚™Ž~}}}|}}||}€‚……„„„†‡†ƒƒ‚‚‚€~}~€€€~~}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍǽ²¯ ’€|sfiyjiinmrcgaU]a[[d]S\b^`WQPUZY`d_fSTWVUWTTZUQY`^[XTMD>8<:522@1ÎÎÏÏÏÏÏÏÏÏÎÎÎÎÎÈÂÆÂÊÎÏÎÎÎÎÎÎÎÎÍÎÌÌÌÌÌÍÌÌÌÌÌÌÌÌÌÌÌÍÍÍÎÎÏÏÇ´™¡–s~xr^]^r|n\_nkh[YZ[^YXUN^g_\SOOQXW]hjfPU]aYQPLQR[`b\VNNKA@76642086ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÇÁÅÀÈÌÍÍÌÍÍÌÍÎÎÍÍÍÍÌÌÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÎÎÏÎÍ版tklmlmnrtzy^b_bdZ[[\\]TSV\dY[ZVUTTSWZidRPX\ULNMRR]c`aZPFC?;742110-1ÎÍÍÎÎÍÎÎÍÎÎÍÍÍÍÈÃÆÁÊÍÌÌÌÊÊÊËËÌÊÊÊÊÊÊÊÊËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÎÎÎͶ—zlquxs~|ada]fW`cd[[WUaZTYeeROSVXTMLVNYgROSXYPNSOPY`^_WTUNF?;74320--ÍÎÍÌÌÍÍÍÍÍÎÎÎÎÎÉÀÁÀÌÏÎÎÎÍÍÍÍÍÍÌËËËËËÊÊËÊËËÊÊÊÊÉÉÉÇÉÊÊÌÌËÊÌÀ’…q_k{kdg^``WiaXXUTM\`^`nl\POT\TMJSQQXTY[YUNPQW]_XXYQOYNG=>@;53/-,ÌÍÌÌÌÍÍÍÍÎÎÎÎÎÏȹ»ºÉÎÎÎÎÎÎÎÎÎÏÎÏÏÏÎÎÎÎÍÍÌËÊÌËËËÊÊÆÊËËÌÌÌÈÆĦŠxymf\jnoc^`]U\_UR[SSPYeeefbgUPUYSPSTRQYQX\aURTRZZ\XYTSOPOH>?=7640/3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻżÇÎÍÎÎÎÎÎÍÎÏÎÍÎÎÍÌÍÍÍÍÌÉÊÍÎÎÍËÈÅÊËÌÏÏÌÇĵ¢~yoeUQa]Y]`^]b_WURKKUY`aci`ZSOOPNJSPSP_KUUZ[WZZ^Z[XSQSOSJEC?B;530.3ÏÏÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ÌÁÆÍÌÍÍÍÍÍÍÍÎÎÍÎÍÍÍÎÍÍÌÌÉÊÊÌÊÅÂÄÁÆÈËÍÍʽ¼«€{qURQPLUVnncbd]YND@LYPZba^VTQKLKIKIQLXNRUVVW[[ZZ]YSOSNVMCH@><3/.-,ÏÏÎÎÏÏÎÎÎÎÎÎÎÎÏÅÀÊÁÄÍÌÌÌÍÍÍÍÍÎÎÎÎÏÎÎÎÍÍÌÊÈÇÅÈÁ½¹Ã½À¾ÆËÈÄ»­ž§ŽzsaUXYWfh[mef^VURRYXcUO[\SOVXSKHGOQQXXRQY[UTWWUNO[VTXRWV>56120.---ÏÎÓÙØÑÍÍÍËÊÉËËÌÃÀÈÀÁÌÎÎÎÍÍÎÏÏÎÎÎÎÎÎÏÏÍÎÌÄÂÁ¾Ãº¸¬À¸¾µ¿Æ¾½¶¥†ƒ}p‡ye[`Z\diVm]S[TMTT^\UOPSWQQQSWMKLSRRYg]NVXVWUUYQJ\ZY\\LB<7531.....ÎÛêíîçÕËÊÿ¾ÁÅÉÂÁÇÀÀËÌÍÍÍÌÍÍÎÎÍÍÍÎÎÎÎÍÍÌÅÀ»³½¸¯¢»²½±µ¾´¼´–…}}nfcbbaTZaZTcZRY^ORSW]VVTNNMKKLRXVNRPQPbZLY]YQLMXZQVXPLIA8=<:73.---.ÚïÌš­áë;·²±·ºÀÃÄÉÅÂÊÌÌÌËËËÊËÌËËËËËÊÉÈÅž±¬¨¬°¤¨­¸¯µ³®¬¡twtllSbeZYbXQ]i\X_WKPRT\abUQMLLNSMSUJOTNS[^Ya]SNKMYXQYPOXJCD=;;973/...îÂwglžäÛ¶¯­®´³¾ÅÇËÈÄËÎÍÍÍÍÊÇËÌÌËËÊÊÇÃþ¿± ›™£¥˜–¡­­«®§¨š„ulicjl\TVVb_VW[XW_TSWTSUU_WPSONUVQTUWQPXPSY_X^WY[W]`TRXWSP?=E:866763000Þ„ywrŒÅ踬ª®±±¿ÁÅÊÈÁÊÎÍÍÎÌÆÁÉÌËÊÊÈÁ·°³´»«Ÿ”Ž™›™‘Ÿ³®«ž™œvgbeUg_PLHOWaXPQ^h^`n^^c^TVNPOOOQVRUSTXR[OO_^]gXc_kf^RPLLIK@>@7744564./2½€‹€w†½æÀ©©¯°³»·ÁÉÈ¿ÈÎÍÍÍÉÁ¸ÇÌËÇú§š™¡£˜œ•‰”™‘›­«œ‘…vddh[[UPRSQY``\hm^OT^NVpp[QOKMMJFJMNONLPYTX_TRWW`g[YUPILFEDCI?7534554/16¬ƒ…€|ƒ¸æÉ£¥°²µ¶²¾ÈƸ¿ÊÉÍÌÊ¿³ÄÊÈ¿´§™œŸ”–”‰ŒŒ‚–”‹‰‘—Ž‰ˆŠ„~vtpbWTY[XOX\VT[g]QP^gf`_]TTMJIGIHGEGOKS^[V[VO[iffV]TLVTHI?>@9754334427>¬‡…‚„Š¹äàÎÈ´®®¬«·Ä¹«°µ³½ºÈ¼±¿Ã¶ª ¡™š ““Ž…ƒŠŠ~Š‹…ƒƒ€€yvoaWWUU]\UXUSXgQOO]gdRR[YSMLLIKHFKKJSU\`QYQQkqcf_a]T^YVUG<;;86543365;?ƒœ·Œ‚»âíîèÈǪ¡¡©©ž  ¢¡¡§·®¥¢©šš—¡™˜Ÿ‘”…ƒƒ„y„Šˆ„||}~vqnjdXQYg[QTQT^ZMW\]^XQRQRSMJPPKNRRGDLNT^OQM_a`^Yfi\PT]YFTF<<<9566589<=—…»”†ºáëãÞâí¸Ÿ¢°¢ž ¤¬§¡¢£Ÿ“”“›™ š’™‹‹‡†‚}‚‚y€ˆ„z|yxqhieZVZQV^XT\Y\[VY[Z][UOKWTNMPJADEFA@EIGPIQSX[aYap[`PZ^[IDC@?<85677:>@?¶t£š‹‘»âíͺÝêÆ·Äƹ¼²µµÄÁ»ª  •Œ–š–‡‹Œ‹Š‡…€‚€z~ƒ~|~vxwsqmlgY\ecbWQSWW^\cWU\SW_[VQIOMNJBCDA?FFEBRGTX\W_ba\RbcVVVOKHDF965679>=>lnlt«ßííììëàØÉÂþº©£–‹‰Œz~œ¤¤¤ž˜‘‰„~|xxz~„‰–—•‚|srv{ytokg]SMJWV[RUW[ZUGY`Z]YY`WKLUPNJMONQTUYWZmd[[[ZWYZRVLNK>984d„96988>><†v|„oETœ¶¶¸¶²¦¦ƒrzlPRN;332PWVwtikskig^N]l\SRY[[SPWWYc_YV[YUNHEAA?><78>DHJ\hXTU\Š„‹„xrpmjihedeghhintwhXN•wgVWª¥§XdK?Me\aG66;5j—±™|ˆXaBj’Š}uri¢ {™}MQPUJ64BrJsumimihcc\fncYMR[ZURSYV_ZV\fYPIBB@ACA@>CHC>JZjl^J]–WRRSSQSMHIGEEDEGMRRRRTMMZÑlLDdîã¦W\a^]cbfhe`YTj¹ôÍy„Tt736439KMPRVVPOI\sb:8MXg{pfgklga\[V\[OOVUMNS][XX\_\SUNGABGIB>BRQIW]^iŒlNc|Ihsx~ƒ‰u?877;==BQY[]\]rN\¡bKD]·ÂÄ¿»¼¿ÄÆÆÇÇƽ»Âȵ”|x`q15:IK=MOOMMLLMI[|_@6}§uTwpedhsyhUUVSRSNTXPOZ\ZV[a^YNRTQIFKQJ<>LUNglkw„gW~lp©­°´´³«^;5:AmoKMIC>=A‚¡HA;9:<;CiRpRIKRŒÉÚàçèééèéçèêíêèáÙ³{€_ƒO6:Nˆ–ƒH;444@MJHR€‘S55;][c`a\[jdVNW[`ZYSMOXV[d``XPOUSME?79>{«B=?A@<7bF=7Moqqrslq{‡’Ž‡‹‘’“Ž—µ›€~|x}{mcmmcY\`_ZXYx eL=B@9a{}O:5346<;8=?@?;44Ebqppqrsuwwxxyy{{}~}n588_\>E>G:9BB?FKJIEC<=;672Srsttwzywutttvstuy~†’¡°´­œumllmomha[Z]_t—SGEIG?Y|~HB?73448@CCDCDA8?bpnljkmortuuuttsuxy|zF31->T<86789:75555567888779;;<>GH0:JWfhhhhkpruvvvvvtrqsrqpqu|‡–£¬°ª£”ƒvigcQXdtx‹GRuZGCD[N@IIA::;AGKJJJIF>=Puqmjijklnpqssqppppsvzvgs`;_@;::998887777778888888:;;CEBflijiihfeefijlnqtuuvtrpooooonorw‚“¦º¾§vTKVYisQEsS88:>ABGJNfopulR>>;:;;>Fzwsnlkjkllnpqpqqqpoprsu¤³JQ<:988888776666776677878:9;=^uggkjjjheddbccdgjnqtuwutsqmmnnopolks‰¤¸¼©…^]HVrZVODFNONNOSWXXYXUTRMII\irxxxtoljiiijlmnpppqqrrqo“§TI925876666565666555566323;NMOlcejjjhhgdbaabccccehkpsuwwvurpnlmoqpnkp|©‘²Šrwurjh]Q^nommmljiijlmmn^Yabdwwxxupkihggiklmnooppppm‘c^{eC355445566=>555652G^R_nv„´Õ¡ƒqˆo`‚ÜÞÝÝÜÝÙfbceOtÝÝÙÕÖÝÚnrTgefjmnnljhffeda``cfjmoopsiGISN^ÑÔÒ×äÞnA9yµDP¸Ïš9‚µNBQÍëÉÄafijmoprsttsqnkecbabbba;,-258,-049@ISbÎñìîíëìðØŽSlH[`diqu]ARjwW[˜² Ž{i]@UjXkifdccfhjhfda`__^\]_`bejdB@GKOPS\e ¹†mcU{枯‡ÄÉYansyˆgY„[ceijlnpqrssrpmhdbaa`aB-./28@I[u›«ÄñîñòññôÇ{WhG;666638>IjyXZL:7543;JCnRhmkhfecceghgd``_^\]\[\\`^D?FJNQVX[]^]dmtt¸êåéæã•qoeb`^a\Åy\dhjklnortrrppmgcba_aE.0025CZJGU`ÍÅ¿½´¶²j]_ID79:99875IXIE87;><89DNE=964435658cx^8465T_Xklmljgd``bdfecb`_____]\YC;DHKOUW]jx€…‡¿ÃÅËÏËÊÊË¡}vqf[¿Î¸eZadgjklnqqpqrplgc`aE5403>•Ë‰r€“¡•š¤©¯£“QgKOOITWPJKI934665DŽ¯’FFC8BePkgcglljgdbadghgedaaaaa`]B9CIKOSV\hrqss±îêäèæíìíó±igime\¨ÃЩ[\behjkmnpoqqqolgbbC75//0>SMMZŽ|PMNGBQNf\}whhlkjfbbdgijhgecaaa_A3AJLNQV\hkjonÁôîëììïñòø´ikhig\q³ÄГX^cgijklnopppookgeB76-,.14;>@BB>Dbƒ™™vJ8B@GSVSHE?TNC;9BMPQOGB=;@>;NcTš‚Z`lkjjiecbehkligcb`_@1ALORRU^hfbcaŠ»¼·²¯§£ŸœqJHQcg^K†»ÈÊwY`dhiklmoppoopnkgA58/++/014458<@Qoˆ’€pZKLLQURMKKMWPMLNQWZZXSSRRUW[]lRiXQikjklkifbbbehjjheb`EDABEA@>??@?78[e_dPKM„ºÁÍ‘X\adfhijkklmlbY;27607CEB43.+.268_NUtdVXXXXWXXXYYXYYYXYXXVTTTTUVVXjXRjjhffggfkkjjjgdaa`cfh9(===F^_]eicLBAELLMOPTVWXWeqohY^SMS”»ÅÇxT\_bdfgijlkkf[B33110...-,*-/234bt‡‚fWZVWWWXXXXXYXX\`TW^htˆ•œŸ¡§ª©ª§¥¢ š”‚wrjjjjgdc``ad9'9;9;:;;:9755435677789???@?A\ffgdba\QK5'62)&6;;9988:988789877752334/!rpmgXPM_§ÂÎÊ{]dfghijjkkkigfeca`][[Z[]ab[UVLD€Å–Öñ’lz|‚‡‰ƒK??><;;:87@D6556987877766789D`eeedcc_Q8+3.,16/-,+))**)*(('''''&&%%%&#pklneTVg¹ÈÓÀm_eefhijkkkjiihgec_\\[[\^`\NIIGMUY™Æ±¹º½Ä̯y;;:<=@ABCDWm]G9;:BF76566678@=Seddb`a_ZM:/++..++,-.----/0123343135:?ADknolhZNNNˆÂÆÔ©_`acefgijkjjjjjifb_]\[[\^_KEKGMQX]i‹Óª]UQNY]<>>FEDBBEFLt¡^:C??@54445556??F_dcaaa`]ZSHEEFIKOT[^]][YXYXXXXXWRPPSY`eossomfUMLU¡ÄËÓŒZ`cdegiiijjjjkkifb_\[ZZ]^JCKGNQV_mšáw1::9\œC?;577878GF@JSA6;;6443444433;A?Vdbbaaa`^[YYXWWXY[_cfggecca_]\\[YWTTV[_ntsstxkVOKh¹ÈÑÅl]bdeghhhhijkkkjhea^\\[[^I@JFOX^dn“Úˆ@EEK‹Š9@626;:96EJ<635557525GHB94326A=Kbcbaabba`_^]]]]\[[^chjjheca_][ZYXWWWWYonljjif^TMKÆÊÖ¡Z`bdfghhhhikkkkigd`][[[\E?HFKS\eqÑšf¤ÃÀ¯j9@322BWP49F711212455DXMIG?822>>AZccfffdba``a```_^\[^dhkjgec`]ZYXXWWWXXmdbfgac^SMK_²ÄÏÎwZafhffgghhjjkkjhfc_]\[[@=FFHNV`m†É•]ÊöëªL<>224W~o92311100146=AENVUTM;18A>QcZLMN\dbbabbbcba_\[]agiigea][ZYXXWXXYlfggsnibRKMM}¿ÆÖ´a_dddeefhhiijjjjifb_][[<;GHHMV_kèO¾÷Ù‡?>;35?{†‡l97200//039GFOS_\\]G24B=HcO121?bcccbbcdddb`]\\afiihea][[ZYYYYZolfgqoriRKMLS¢ÄÊÓ˜`_bdeefhhhiijkjigd`^\\96FIHQ^]^ra?^ÃÄk>>adcccdddddeecb_]]`ejkjhb^[\[[[[twpmrqolnqZLKNŒÁÆÖ±`addefhhhhjkkjiihfa_]:5?HI©éÎmA7HYIHKF9AT[U@@@@?=:;:975669:=8<;@L?DR_cccccddeddefeca_]\^chjjhb^]\[[[pplhlnifikeLJK]ªÂÊÖŠ]cdefhiiijjjkjjigdb_=4:EG\–¢rUACR7H>@76=857545566=BA>>?>8788768::>GHD@?7Ujbcbbcccdcccccddedca_\Z]cgijhc_][ZYpmmdilospojRIKKw¼ÁÐÅn_edfhijjkjjkkjjigda:-6>EHIT`iwš¨cMB4777889:;<<<@EC@@A@@ACDDCBAAABCBmIAda``accdddddddddefecb`\[^bfjjifa][[hecbgirsoss`MJXg“¿ÄÔ­bbefghjkjjkkkkjjhd]7-45:865869:\ººaavH>?ADFILOSVX]cggffggghjkkihgejucxAZdbdaaccdddddeedeffddb_\[^bgklkid_^fkkhnpklpsplUJMMU¢ÂÇÕ’^beffghjjjjjkihf[O3.3/90-,29BHU¥KktLXimprrppomklkgfgfedcccaaefgilbo‚rP„Íйoaccccdeefeffedeec_\\^chlmmjfcyttotrkjlkhkfLJKIi¸¿ÍÌw[adeefghhiiihfc]R7,4260;>CJJOO]ˆMs‰~hfkda`][XUTTTTQPPNNONMNNNPPQVUTZ_qqg¼ØÕŸ^bcccddeeeeeeeeffd_\[]cgkmmkgz‚~pkkigijnkbOJMLKŒÀÀÓ±\\`bddeggghhihgfZ;-0/+.02344GNPz]xsdWQWRMLIIFEEEFDCCCCCCCBCCCCCEHGHIHPnldhefabcccdddeeeeeeeggfb_^\^bgknmkptqttlmglnnlkf[NKI]³¿ÈÓX`bdfffggghhhfc]J2)+**$#"##4V_yjTJIEEGDBA@?>>>>=<<<<=<<;<<<;<=>??@@CTmf`a`oobcccddedddcdeefedb`^[]bgklmmvsssloihkllotjQJKKŽÅÆÖ¸bbeghhgfgghgfec_WC4779:96523Q|”s]D@?==>><<;:99899999999978889:;<<<;::>Ugcdkxdccbccdcccbcccdddca^[Y\agkmmunnnkljgjimmmhSJJK`·ÆÍÖ‰]beghgfggggffc_\UPMMMNONNODNv…cT=:;;;;;989887766646887878878;;<>>JZ]J?Qdca][acbbccbbcccdddddddca_][\bgjnkmvsnjmnmfgjjjTJJMKŠÆÇÓ¼b]_aeeeffgggfda^\XWVVUVVVXMNhmTC@K@:9:99;:::=>>@H]MHGFDCBCDDId—µ­š£Å–8Gdbba`afd`cecbcdeddeeeeeedb`\Y\cgimnqmmnqsplilmhUMKLK]´ÈÌÖŒ^eegghhhgghgeca`^\[[YXXYZOLT[L{—¡ŒŽœ“qXJJKHGHLIVŠ[OJQQONMMJžèêÚŸÅêš3Bccbad¦ÇÅždddddddeefddedddcb`][]blklmqttpskknljpfOJKLK…ÈÉÔ¿ldeghihhghhgfdcba`_^\ZZZ[OKEIB´Ü·¸¿áçèÑ\IM[adf‰†™Žœ”~]^[T>:>†‹…‡uf*+*+4Vmx©´¦–ŠiB1;dcaaa_ˆ©¦˜d_`bbbcbabcbbbbbbca`\Zpwvpjhjmoijlwttfc\MMNO€ÉÉÐÉubfghhhhhgggffeddcb`][Z[QIA5:V©ÈÉÍÉÅ¢mwH11237fŽšž W?@@ALwŠkZRJB:453JOWl…¦ÒlrÙíèêëëëëìäÞïÕ[xÀ™‚kYNF>736Ededcccbaaa`abdbadedcbbbbccbabccc€~xv€ysnr`^fr{tkjeYLLJTZW–ÃÃÖÄi`cccdefeefffeeddcb`_RDE8F?:?CKRZq‰¬ÑwaÖîéêëëëëëìëïÕWРvXF>73/-0Cdddccdcaaa`aaejkfefedccbdcbaabcc‡††‡‡‡‡‡†…†‡‡‡‡†††‡‡‡‡‡‡‡‡‡†…„‚}xutttxyxxyzx||zwuyzz{{zyz{~€€€…†……†‡†††…†††††……†††‡††††††…†‚{xuvuvuvxxxyxz{zxwuvvy{yxwy|~€€€………„…†††††…†……………†††……††………„…‚€{uxwxwwyzxxwz{zyxvvuxyywwy{~~€€€……………†……†……††…………†………„†…„………ƒ‚yyyxwz|{yxxz{{{ywvvxyzyzz{~€€†…„„…………†……†††………………„„„ƒ‚„„„ƒ€|yxwyz|zzz{|{zzzvvxyyyzzy|~€€„‚‚ƒ„„„…………†……………………‚‚‚‚‚€}zywy{{zz{}}|zyywvxz{z{x{~€‚„†ƒ‚ƒ„……………„…††……„€€€€€€}~~{z{wwxyzz{|{{zyxwwwwyzzy{~~€€€‚„…‚ƒ„…††……ƒ„„„‚‚~~€~}{|~|zyxwxwwy{||{{{yxyxwuvxxy|~~€€‚‚‚€‚ƒ„…†‡„‚‚€|zz{|{|}|~}||zz|zzyxxyxyzz||}}{zwyyvuvwwx|€€€€„€€~~‚ƒ}zxwxyy{{y|{zyxy{yzzyxyyy{{|}}|zzyxxvuvuv{~€}†‚€€€€~~~{{yzzyxyxzzwyyxxxy{{{{yvwxxz||}~~}{{xxywvvvw|~~Š‡€€€}~}}|}}€‚‚€zwvvvwz{|{zyuuvxz|{}}{yywxyyxxy|~~~’Œ~~}|{ŠŽŽ‹zuuvw{|}{yx{|zzy{|~~}{yxxwwzz{|€‚ˆ€~||…†ƒ}‚…„„††‚zy€Š†ƒƒ…†‡ˆ‡‰Œ€uuuwzy{zyz|{z{z{}~~~~{yxz}€ƒ‡ˆŽˆ†…|…ˆ‡‡ˆ‹‡}z†‚€„ƒ…†…ˆ‰„utuvywzyyzzyyy{}~~~{vw{„‰‰ˆŠ‹‹Š‹ŠŠ‰~‚€„…ƒƒ„††€}ƒˆ‰††††……€ƒ‰…yttuxyyyz{zxxx{~~~~~}xtt{„ƒ†‰Š‰ŠŠŠ‹€‚‚ƒ€€ƒ€€…ˆ‰‚…ˆ‰ˆ‡€‚‰…|wxuwyxy{{zxxy|}}{{xwspq‡††‡‡‰‰ˆŠ‹Œ‹ƒ‚‚‚€€€€€‚…ˆ‡„‡‰ˆˆ†Š‡{|zyyz|}||{{zxtpjpquttu‚ˆ‹Š‡ˆ‰‰‡Š‰‹‹‡„„ƒƒƒƒ„„„ƒƒƒƒ‡†…†‡ˆ‡†‡„ƒ‰‹ˆ‚‚€€‚ƒ…„‚~|xuvyyyxx}…ˆŠˆ„Š‹Šˆ‰‰ˆŠ‰‡‡‡…‡‰ˆ‰‰ˆ‡†‡Œ‹Š‹‹‹‹‹‹‹Œ†‚„„ƒƒƒ‚ƒ„„„…………ƒ}z~…ˆ‰‡‡‡ˆ†……‡‡‡‡‰‰ˆ‡ˆˆˆ‰ŠŠ‰‡‹ŽŒŒŒ‹‰‰‰‹Š‹‹Œ‡‚‚ƒ…†„„„ƒ‚ƒƒ„†‡‡†ƒƒ†‰‰‰‰Š‰‰‰ŠŠ‹‰‹‰‰‰ˆˆ‡ˆ‰‰ŠŠ‡Š†‡‰ˆˆ‡‡‡ˆŒŽŽŽŽ‡„ƒƒ‚€‚„†‡ˆ…†„‚‚€ƒ†‚~}„‚‰‰‰Š‰‡‡‡ˆ‰‰ˆ‡ƒ„…„……†…ˆŽ’’‘‘’’“’Œ„ƒƒ‚‚‚€€€ƒ……†ƒ|wsrsrqqrtttxŠŠ‰‰‰‰††‡‡ˆˆ…„‚ƒ‚€‚ƒ„†Šˆ‚ƒŠŠ‚‚‚ˆ†‚‚‚€€€ƒ…ƒ€}|zy{z{{|€ˆ‰‰‰ŠŠ‰‡‡‡‡‡ƒ„‡‡†„‚ƒ‚„Š†|zzŠ‹z{~…ˆ…‚€€}}‚€„ƒˆˆ‰ŠŠ‹‰†††…‚ƒ†ˆ†„‚ƒŠ‡‡ˆ‡ˆŠŒ‡„…††ŠŠ†…ƒ‚‚ƒƒ‚‚‚}trvywx|~yvws€†‡ˆ‰‰‹‹‰‡†„‚‚ƒ„ƒ‚‚„†‰†‰ŠŠŠŠŒˆ…ˆ‰Š‹Šˆ…„‚‚ƒ‚‚‚ƒ}spstuy|~~}zwsq}ƒ‡‰‰Š‹‹‰†„‚‚‚„ˆ‰……††…†Šˆ€|ƒ…†‹ˆˆˆ‡…ƒ‚‚€€ƒ~sqru|ƒ‚€€}xs||†ˆ‰ŠŠ‹‹ˆ…‚‚‚‚‚ƒ‰ŽŒ‹ŠŠ‰ŠŠŠ‰‰ŠŒŽ…†‰‰ˆ†ƒ€€‚€wwvx€ƒ€€€}x}}~ƒ‡ˆ‰ŠŠ‹Š‡‚ƒ„ƒ‚‚‚ƒ‰”–••••–••–••––”ˆ…ˆ‰ˆ‰ˆ†ƒ€€‚~}}€~€|~}}„‡ˆ‰ŠŠŠ‰‚††ƒƒƒƒ…‹’“’‘’’““’’’‘‘ŒŠŠŠŠ‰ˆˆ‡ƒ‚‚€€€€v~}…‰ˆ‰Š‰ˆ„‚„ƒƒƒƒƒ…†ƒ‹Ž‘’’”“‘‘’‰ˆ‰‡…„‚‚‚ƒƒƒƒƒƒƒ‚‚oz€~‚‡‰‰‰‰Šˆ‡†…„ƒ…„…‰€|Š‹‰ˆŽ‘’‘‘ŽŽ‹ˆˆ‰‰‡‚€‚…‡‡†‡†‡‡‡‡†„hl{}z~ƒˆ‰ŠŠŠŠŠŠ‡…„†…„…‚‡‡…†‹ŒŒŒ‹ˆ‰Š‰‹‹‹ŒŠˆˆ‰Š‡ƒ€ƒƒƒƒƒƒƒƒƒƒƒ‚iiq{}~†‰‰‰ŠŠ‹ŒŠ‡……†„„…„‚„„ƒ‡‰‰ŠŠ‹Šˆ‰ŠŠŒŒ‹ŒŠ‰ˆˆ‡†„‚‚‚€€€€€‚‚kkkv€~~ˆŠ‰ŠŠ‹‹‹‰†„…„ƒ……‚‚ƒ‚‡‰Š‰ˆŠŠŠŠŠŠ‰‰Š‹Šˆˆˆ†‡‡………ƒ€€€ƒ„……onmt€}}„‰ŠŠ‰ŠŠŒ‹ˆ……ƒ‚ƒ„ƒƒ…ƒ‡‰‹†‡ŠŠŠ‰ˆ‡‡‡‰‰ˆˆ‡†‡ˆˆ‡ˆ†ƒ€€‚„…††onjmx~|€†ŠŠŠ‰‰‹‹‰‡†ƒ‚€‚ƒ„…‡‡‰‡„†‰‰‰ˆˆ††‡‡‰‡‡……‡ˆˆ‡ˆˆ‡…€ƒ†‡†llihjy€}}ƒ‰ŠŠŠ‰‹‹Š‰‡„‚‚€€ƒ„†ˆˆ‰‰ˆ‰‰ˆ‰‰‹‹‹‹Š‰‰‰…†ˆ‰‰‰ˆˆˆˆ…‚€€ƒ…†nmihes€~|†ŠŠŠŠ‹‹‹‹‰„‚‚„ˆ‹Œ‘‘’““””“’’ˆ‡ˆŠ‰‰ˆˆˆ‰ˆ†ƒ€€‚ƒljgffl{€~}€‡‰ŠŠŠ‹‹Œ‹†…†„ƒˆ‘”———˜˜—————˜˜™˜—…ƒ‡ˆˆˆˆˆˆ‰ˆ†ƒ€€€gggfgiq~€}|‚ˆŠŠŠŠŠŠŠ†‚„„ƒˆ‘“•–”““’‘‘‘‘“ˆ‡†‡ˆˆˆˆˆ‰ˆ‰‡ƒ€iggfghhu€}€ˆŠŠŠŠŠ‰‰†ƒ‚‚‚ƒ‹ŽŒŒ‹ŠŠŠ‰ˆˆ‰ˆˆŠ‹‹‰‹‰‰‡†‰‰ˆˆˆˆ‰ˆˆ†‚jhgegihs€„Š‹ŠŠŠŠŠˆ†………ƒ„‹Šˆ‡‡††„„„ƒƒ‚‡Œ‹…‡‰‰ˆ‡…‡ˆ‰ˆˆ‰ˆˆ‰‡„‚jhgfhiho}€}€‡ŒŒŠŠŠ‹‹Š‰ˆ‡…‚†„ƒ‡…„„€‚‚€…†‹ˆ…ˆˆ‡‚ƒˆ‰ˆ‰‰‰‰ˆˆ‡ƒjjjhihgkt}‚ŠŒ‹ŠŠ‹‹‹Š‰‡…‚‚…ŽŽ†‚‚‚ƒ„……„ƒ‚ƒ„†…„‰ˆ‡‡†ˆŠ‰‰‰‰‰‡ˆ‰‡lljjnkijq}~†Š‹ŠŠ‹‹‹‹‹‰…‚‚‚ƒƒ‚€„…„ƒƒƒƒ‚€€‚‚ƒˆ‰‰‰‰‰ŠŠ‰‰‰‰ˆ‰‰‰llmoqpmps|€~}}‚‰Š‰‰Š‹‹‹‹Š…‚…ƒ‚€€‚€€€€€‚‚‚‚‰‰‰‰Šˆ‡‰‰‰‰ˆ‰‰‰‰{zzzzzzz{zzz{{{zzzyyyyyyyyzz|‚„ƒƒƒ„†‡ˆ‡†††‡‡†ˆ‡††‡‡†……‡†„ƒƒƒƒyzzyyzzzzzzzyyyyyyxyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†„„…††††‡†ƒ‚‚zzzzyzzzzzzzyyyyyyyyyyz{zzzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒƒ‚‚zzzzzzyyzzzzzyyyyzzzzzz||{{z{€‚…„„„……„ƒ„†††…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zz{zzzzzzyyyyyzz{{}~}|||~€‚„„„„………„…‡‡†……„„„„…†‡‡†…„‚‚‚{€~|}~|zyzzzzzzzzz{}}~}~‚ƒ‚ƒ„…„„……‡†††††………„„……‡†††ƒƒ‚‚‚€‚~€€|{zzzz|zy{{|}€€€€€‚„…ƒ„„……„„„„††††„…†………„…†††††„ƒ‚‚„~€~}|{zzz}{{~€€ƒƒ‚€‚ƒ…†…†……………ƒƒ„…†…„„…„„…„…†††……„ƒ‚ƒ€€€€}|{}€~„†††…„ƒƒ„ƒ„…†††††…………„„……†…„„ƒƒ„„…††‡†…„ƒ‚‚€‚ƒ~ƒƒ€€€~‚„ƒ…‡‰ˆ‡‡…„„„„…††††††…………………„……„„‚‚ƒ„†††ˆ†…ƒ‚€‚‚‚~ƒ€€€‚‚„†‡†‡†‡††…„„„„„††††††………………………†…ƒƒƒƒ„†…†ˆ‡…‚€€€‚ƒ{~‚‚‚ƒƒƒ„††…„„ƒ‚‚‚‚„‡‡‡ˆˆ†††……„…………………„„„ƒƒ…†††††„ƒ€€€‚ƒzz~€‚‚ƒƒƒ‚…††…€}~}~}|~†ˆ‡ˆˆ††„„„„„„†…‡†…„„„„„†‡ˆ‡…„ƒ‚‚€€‚„†~€€~~~€ƒ‡‡„|||~||}}‚‡‡ˆˆ†……„„„…†‡‡‰‡……„„„…‡‡‡††…‡ˆˆ‰ˆ‰‰‡……‰†ƒƒ{xx{}‡‡ƒ}||{z|zx|~|‡‡‡‡…„„ƒ„„††‡ˆˆ†„ƒ‚ƒ„†ˆ†‹Ÿœœ››œ—ˆ‡„ƒƒ~~€„„|}€|x{xx€€|~†ˆ‡‡…ƒ…„„„…‡‡‡‡…„„‚„……‡‡†‰„~}}|{{{|}‰‚‚€€€€€€ƒ„{}…~wywyƒƒ|}„ˆ‡†…………„„…††ˆ‡…„ƒ……ƒ€†…{}}|zz{zzzz…‚ƒƒ„‚ƒ…„~{}}z||}…„{}†…„„„ƒƒƒ„†‰†††‚~~}~z{z…„z}}z|}{zz{€€‚‚ƒƒƒ}}~}}~~‚||ƒƒ‚‚‚€€€‚„„„„…‚€€‚¨™Šy}|y{}{zzz{~~}}}~}€€|{}}||}~}}}||}€‚€€€€€€€€€€‚ƒ‰„”³¨”†}~~‚‚‚‚€„{}~~}||||~{}}|}}}|}}}|~~}€€€€€€€€‚‡‰˜ž¡Ÿœž¡¢¢£¢ ¦©{{}~€}}}}}}‡Œ~~~~}}{{{{yzz{||€€€~†®¿Äû¼ÂÆÇÄ¿¿ÈÇ|{||~~€~}~€ƒ†‚€€‚€~|z{||~}{{{y|€€€€€¨ÂËÒÔÔÕ××ÖÔÔÎÂ~}}}}~€~€€‚ƒ‚‚„„€}||}~}~~}}‚€€˜”ƒŽ›¢¥ª«¨¥ šŽƒ€}}}~~€€€€€€€€‚ƒ}|}~~|xx{~~}}‚‚·šˆ‡„~}…Ž…€}}}~~€€€€}~‚€€€€||~€}wuy~€|{}€‚‚‚ËÏÅ´¾ºž‡‡’¸ÆÀʃ}}}~~€€€€‚…‰ˆ†|||||{ywz‚}|||}~€€€‚~œËÏÐÊÁ´¡‘Žš«¾ÈЄƒ€~}}}~~€€€ƒƒƒƒ„ƒ‚~|||||||{|†}|{~~~€€~–ÊÏÐÀ›†~€„«Î‡„‚€~}}}}~€€€|{z||||||{}}{|zz~~~~€€‚ÂÃÅ©~†‰‰Š‡~‹º‘ˆ‚€}}}}}~€€€€|wvwwvwwwuvwvvtv€~~}~~€‚‚„•’•€‚‚ƒ‚‚Œ„ƒƒ‚€~}}}~‚€€€€€€€|yyvvwwwwwwxyyxx}}||}}}~~‚~‚‚‚€€„„ƒƒ‚‚€~}~}~€{€{xyyyyzyzzyyzyyxxx{}~~~€‚€€€€€€€€€ƒ‚‚‚‚€~}}}}~€€€€}„…‚|{{|zzzzzy|}{{{{z{|}}}~‚€~~~~~€{~Œ‚‚~~}}|~€€€€~ƒƒ~|||{||}}|{{zz{{}}~~€‚‚€€€€€€€€€}{††ƒƒ~~~}}}~€€€~~€‚‚~||}}{{||{yyzz{{|~~€€‚‚‚‚‚‚}}‚ƒƒƒ€~~~~}}}~€€€€~}€}{~€|{{{{z||{z{}~~€€€‚‚€‚ƒ‚‚ƒ‚~~~~}}}€€€€€€€~||‚~{zz{{{{zz{}}€€€€‚€ƒ€|€‚‚‚ƒ‚~}}}}}}~€€€€€€€€€~|~}{{{|{{{{{{}~€‚€€€z|}€‚‚‚€~~~~~}}}~€€‚‚~}}}|{{|{{||||}}~~~~~~~~~€€€€~zyz‚“‰‚~~~~}}}}€€€~~|{{zzxxyxxxxxwvwxz~~~~~~€€€€~yxy}„Š…‚€~}}}}}}}€€€€}yxxvuttuvutuvuuuuvz€€~~~~}~~~€~zxxz‚‚‚‚~}}}}}|€€€€€}xwwwxzyyzzyz{zzzyxy~~~~~~~~~}€‚~zxwxy€ƒ‚‚‚~}}}}}}‚‚€€}z||{}}}|}~~~~~}€}~~}}~~~}}~€‚‚~zwxzzƒ‚‚‚€~}}}}}}~€€€‚…‡‚‚€€€ƒ‡‡ƒƒ~€~~~~~~~€€‚~|x{{{~‚‚‚‚||}}}||}~€€ƒ„††„‚ƒƒ‚‚ƒ†ˆ‡„~€~~~~~}}~€€~{{}~~€‚‚‚~}}}}}|}}}€€€€ƒ††„ƒ‚„……†‡……‚‚‚‚€~€~~~~~~~~€‚‚ƒ„„ƒ‚‚‚„…‚€~~}}}||}|~€€€€€€€‚„…„„†ƒ„‚€€€~}~~~~}~~~ˆ‰‰ˆ‡……†…‚—~~}||{||}€€€€€€ƒ„€€€‚ƒ‚‚€€}~€€€~~}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÎÎÎÍÍÍÌÍÎÎÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍǾ³®¢ “€|rfixjhinmrcgaU]a[[c\R[b^`VQPTZY`e^eTTVVUVSTYVPX`_[XTMD>8<:522@1ÎÎÏÏÏÏÏÏÏÏÎÎÎÎÎÈÂÆÂÊÎÎÎÎÎÎÎÎÎÎÍÎÌÌÌÌÌÍÍÍÍÌÌÌÌÌÌÌÌÌÌÍÍÎÏÏÇ´š¤˜txs^\^q|o\_nkh[YZ[^YVUN^g_\SOOQXV]gihPT]`YPPKQRZ`b\VNNKA@76642086ÎÎÎÎÎÎÎÎÎÎÎÎÎÍÌÆÁÅÀÈÌÍÍÌÍÍÌÍÎÎÍÍÍÍÌËÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÍÎÏÎÍÁ¥ˆˆrklmkmlot{y^b_bdZ[[\\]SRV[cY[YVUTTSWZhcPQX\ULMNSR]c`aZPFC?;742110-1ÎÎÍÎÎÍÎÎÍÎÎÍÍÍÍÇÂÆÁÉÍÌÌÌÊÊÊËËÌÊÊÊÊÊÊÊÊËËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÍÍÌ·—zkptyt}~bdb]fW`cd[[WUaYTYceROSVXTMLVNXgQNSWYPNSOPY`^_WTUNF?;74320--ÍÍÌÍÌÍÍÍÍÍÎÎÎÎÎÉÀÁÀÌÎÎÎÎÍÍÍÍÍÍËËËËËÊÊÊÊÊËÊÊÊÊÊÉÉÉÇÉÊÊÌÌÊÊÌÀ’„€s_k{kcf^``WjbXXUTM\`^`nl\POT\TMJSQQXSY[YUNPQV\_XXYQOYNG=>@;53/-,ËÌÌÌÌÍÍÍÍÎÎÎÎÎÏǸ»¹ÉÏÎÎÎÎÎÎÎÎÏÎÏÎÎÎÍÎÎÍÌÌËÊËËËËÊÊÆÊÊËÌÌÌÈÆÄ¥Šxyof\knnd^`]V\`UR[SSPYeeegbhVPUYSPSTRQXRX]aURTRYZ\XYTSOPOH>?=7640/3ÌÍÎÎÎÎÍÍÎÎÎÎÎÎÏĻżÇÎÍÎÎÎÎÎÍÎÏÎÍÎÍÌÍÍÍÍÌÌÉÊÌÍÎÍËÇÅÊËÌÎÎÌÇĵ¢~yoeUQa]Y]`]\b_WTSLLUY`aci`ZSOOPNJSPSP_KUUZ[WZZ^Z[WSQSOSJEC?B;530.3ÏÏÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÁÆÍÌÍÍÍÍÍÌÍÎÍÍÎÍÎÍÍÍÍÌÌÉÊÉËÉÅÂÄÁÆÇÊÌÍɾ¼«€{qURQPLUVnncbd]YND@LYPZba^VTRKLKIKIQLYNRUVVW[ZZZ\YSPSNWMCH@><3/.-,ÏÏÎÎÏÏÎÎÎÎÎÎÎÎÎÄ¿ÊÁÄÍÌÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÎÌÊÈÇÅÇÁ¾¹Â¼À¾ÆÊÈû­ ©€xs`TYYVfg\meg^VURRXVcUO[\SOVXSKHGOQQXWRQXZUTWVUNO[USXRWV>56120.---ÏÎÓØ×ÐÍÍÍËÊÉËËÌÁ¿ÈÁÁÌÎÎÍÍÍÍÏÏÎÎÎÎÎÎÏÏÎÎÌÄÂÀ½Â»¹¬À¸¾µ¿Æ¾½¶¤……~r‰xdZ_Z[dkVn\T\SMTT_\UOPSWQQRUWLKLSRRZg]NVYVVUUZQJ\YY\]LC<7531.....ÍÚêïíäÓËÊÿ½ÁÄÈÀ¿ÇÁÀËÌÌÍÌÌÌÍÎÎÍÍÍÎÎÎÍÍÍÌÅÀ»²½¸¯¢º²½±µ½³º´–…}~nhgcbaTZb[Uc[RY]ORSW]UVTNNMKKLSYVNROQPbZLX\XPLMXZQVXPLIA8=<:73.---.ØîسÁéé̾¸³°¶¹ÀÂÄÊÆÂÊÌËÌËÌËÉËÌËËËËËÉÈÈÅÄÀ³­¨­°¥¨­¸®µ²®« uxuljRadYXcWQ[i]W^YKPRT\abUQMLKNRMSUJOTNR\^Xa^SNKMYXQYPPWJCD=:;973/...íÎ~gq¨èص¯®®´³¾ÄÆËÈÄËÎÍÍÌÍÊÆËËËËÊÊÊÇÃþ¾³¡›™£¥˜– ­­«¯§¨š‚sliekn[UXWb_VV\ZY^TRWTSUU_WPSONTUQSUWQOXPSX_X]WX[W]`TRXWSP?=E;866763000å‹vvqŒËè·¬ª®±±¿ÂÅÊÇÁÊÎÍÍÎÌÆÀÉÌËÊÊǹ³µ´»­ž”Ž™›™‘Ÿ³®¬ ™tebeUg`PLHPXaWPP]g_`n_^a]TVNPOOOQVRUSTXQ[OO_^]gYc_kf^RPLLIK@¬‹ˆƒ„‹½æàÎÈ´®®¬«·Â·«°µ³½ºÈ¼±¿Ã¸«  ™š ““Ž…ƒŠŠ~Š‹…ƒ€‚€yvoaWWUU][UYUSXgRPO]gdRR[YSMLLIKHFLKJRU\`QYQPlrcf_a\T^YVUG<::86543365;?}³Šƒ¿äíîèÈǪ¡¡¨§œ  ¢¡¡§·®¥¢©šš—¡™˜Ÿ‘“Œ…ƒ„€„x„Šˆ„|||~vqnjdXQYg[QTQT^ZMW\]^XQRRRRMKPPKNRSGDMOT_PQM_aa_Ydi\PS\XFTD;<<9566489<=ª‚¨’†¾äëãÞâ¢³£ž ¤¬§¡¢£Ÿ“”“›™ š’™‹ŽŒ‹‡‡‚}‚y€ˆ„z{yxphjeZWYQV^XT\Y\[VY[Z][UOJWUNLOJACFFA@EIGPJRSY\aX`p]^OZ_[HDC@><85667:=@?Æ{„“‹’¿ãì͹ÛêǸÄÅ·¼³·µÄÁ»ª  •Œ–š–‡‹‹‹Š‡„‚€y~ƒ~|~vxwrrmlgX\dcbWQSWW^\cWU\SW_[URIOMNJBCDA?FFEBQGTX[W`b`\RbbVVVOKGDF965679<>HFj[q‹Ž–¿ãíãÛéêäåæââåäåãåèðÙš•ˆ‹’‘Œ‹Š…ŒŽ‰ˆƒƒ‚‚z~Šy€wuqsrnhbV[daZQVOQ\gbcVMQSiZaXNQRPJIEGRJCKLLFPR\^YLYdceT`dVOW\PE@A<:8889=@IASEiƒ•šÁäíìíëëìììíîííêçäææ°ŒŒŒƒ‡‰‹‚ˆƒˆ“‡‰„ˆ€|Š‚y|wvvuwsaVQZYZVZVN[Z\_ghinqkS\\SMSRFDFPWQQOOPIJWY\ZON^Y_]]gfW_R?:9<<;;;:;>==>><[RLqrÍéêëëéäÞØÒÊĽ¼°§–•€~}y}„ˆ’“–›”—•ŽŒ„€€~uswvsssfZ`[NO[XZ]ST_bi]]T]daSUNKLRLG@=illnšåíìììèâÙÎÊËƾ¶¬™ŽŒ‰‹~{{“™£ª«¬§¥ ››››¡£¥¦¤ž†|usv{ytokg]SMJXV[SUW[[XHY`Z]YY`WKLUPNJLONQTUYWZnd\[[ZWYYRUJMJ>984`9698868:;Xlz†Ž†K;20135=Z`cdeX@artmowqig]QVXTXZ`]XGERW_W[ZYVX]UOIBEA>>><<78>DHI\hXTXYZ{ƒ™£ œ—”Œ‹‰ˆ…€‚ƒ…†Š“ŠnZ—‚eYI¦Á«c\RFCHC=J[jk]LOm›glgb]YXVWVTUUTSRSSSTVXS_ã‚OIIÐñ½qemomrvyyzvqll¨é䈃pYX7YWNCOO\wpsrSNMefG45WjU{pfgklfa\[V\[OOVUMNS][YX\_\SUNGABGIB>BRQHT\^i‹kPOk‚ENVY]`fS==;;::=AQX[\\]WL¯oMEL”¿ÂËÅÆÊÍÎÎÏÏÏÌÈÆÇΰ–{…^qI13467GONJJKIMKJtnQ2T‘LqpedhsyhUUVSRSNTXPOZ\ZV[a^ZNRTQIFKQJ<>LUNgkjv„gZWvgaŽ•¡§•I657QR>FQPOLLLyWkuGDTt¹ÒÛÞàáâââáâââàßßÜ©yz„X;46ZtRDONMKLMMMHmtR7Ag’\]mgfdal`RU]YX\UOSQSP[]Ze_VUQOIIHDFJFCHOMTillvsbac]}©µ±¬¢™VC77g‰GHI><:;:RjtXIJLu»ØÞæééæåèææçêëèäÛȈx{]|477pœ{LH>;9=LNMD\‚o;6/k}Nd`a\[jdVNW[`ZYSMOXVZd`aYPOUSME?EL@?GxOD?889;;=iXBCB>uµÞãëê꼟¯Õ´ ÁêáãÝÖ•xpno7CB{’£`B6335AC@E„ x:62Q“L`[_dbab`VXYXTROPNT[[TYZTMPZSPV[Vn‚vclym[TW\]^_bƒ‡XFFA489:BFB?;oµT>;:;;:8;ZPI4.4u­æçíìêâØÜæÛÓàêééææ—we}bELH`…vRKF<<;;869wb:85>˜Z\a[^`^`^ZZTSQUY]TNXXOMNT[ZXXcy…‹…bdqjUQX[[[]bf˜wWCED>6:Ovt[OUsÂÎÑÑÓÖÕÒÓÑÍÏÊÊÍÅÃ’|]`RZYzz^FIJKKJMHI`‹”Y?=:<”]VeA?Bgpooqlq{‡‘‡Š‘‰‰‘±•zz~}z|{nbmmaV\a_[Z]cu¢cQ8@97Qk[@:542CCD=35Fqpoqssux{|}~‚‚€~YC?i‡JoVYaCRCCLV]]XNNFMSokNF@88M:GI;<5gvvuxzywuuutwwxy}‚‰—©³³©—‰|qllkmolifb[[[]ƒšRK?FA>>=85@qnljjmoqtuuttssuwx{}K37:JF97654;@<9;:98:8786>DBEA8<[ciiigeeefijlnqtuuvtrponnoonptz‡š®¾»£‹vhNSbo{;d]B@?KBBIIFPRSWVKDDCB@=:zvrnljjjllnpqpqqqpoopvx„§YOK;:99787777677778677878::=>FSyxxtoljhiijlmnpppqqrqqp…¾tFA7888666666555665445667877=Apjciihiiigedccccccehkpsuwwvuqomkmopomlp{¬²„ˆ[i„|nh]MMV\^]]``___`bcb^QRflwwxwupkhhggiklmnooppppou©rQMA25654445556>7654443100ChvUVolrrrponlieaaaba_^^adhnqruvvwuplhikmoomjlv‡µ…uknfba\TgsmkjhedcdefgkrdZ[[vvwvvurlhgfgiijlllmmmnnoƒq_•—Š?244333567>965452?Rdv¤¾´¦¡¨¨««««ª¨§¤Ÿ™ˆiccb````bdimorruvvvrmigilnpnpz¨‚i[^\YXXXdd\YXWVVWWXXYZ]ZWWYqstvvuvrmiffeeghijkkklmtkOs¥§¶~2/U¹¾ÐåÔ¤pab`a‰îÍbicš~g{Š’”–dOXF\–Ÿžž›—”ƒw`shlpolhfegheb`_afjloprrsstaQ\`M¡Á¯£Ö NJMYkVTVdkVQPmfCGM¬ðhjlnprstutsqmifcbbbbbdfZ5/-0>ATnkpaqp_•êÔxjv–^o£ÍÐÓØÚß»TVLJP°åàØ×ÚÜ´uZhfekmnnkjhffeda``cfjmooprtbIPYH‘ØáÙçîšHABš~6L‹l5X°W8E˜îâafijmoprssssqnkecbaa`aeO0../25:AEPYbtˆœ­ÑÈ©—†…Xl°äÜÜÜÜâ¬Pdd]N¦ãÜÖÒØáº]lWhdccfjmmiecbcba^]_afjkmps`CFPM_½ºÊËÜí|>:iÆY[ÏåŸ@§¡HDcêè¸^begjlnopqqrqpnieb````dN.,057:@FN\mžÚâæêëêçê¹t\`“ÐÍÎÓÕÔƒBT_YQææãáÙÒœAuSghedccfhihfda__^]\]_`bein^ABINOTa†Ñõ£PIC¬Ã`š·u…ÚaIXvÆÖ…‚[ceijlnpqrsrrpmhdba`_bR/-/16L`yŸ¢ïñóóòòóâ XiUC978866:EmŠfWR<46565EEOhUjkjifca_adfeba`]\]]\\ZZ]WC>GJNQVY]]\]ahsw¤ØæçÝÄŠumeceedËÀq[dfgilmoprqoqplgca``V20018A|l:9@O‘—‘ŽŠƒ¢PjMD;8:99873BWIA;79oï½g]dƒichknnn•~OfEA6EJLORV]jomoq¾îçãçãëëìñ«ffhlew¶ÅГX^cgijklnopppookgdV3;...19D=;@F:5E\bdˆ˜_KSNLGFFJJHFJ?;9:=BPcŽ_LILBGJY`hwfikjjiecbehkligca`a];2EKMOQX_iilpqÉõñïïïïððõ©ghehfM‹¼ÈÊwY`dhiklmoppoopmjhW1<.-,015;>?@BDPw’§`:@[^_”mTgkklkifbbbehjjheba\83ELORRX`h`SPMeŠˆƒ€|wrT:8J]eYw¯ÀÌ·fZbfhjklnoonopnlkX.<2-),..//0/02?]sŠtkROOQTUONNOUUPPORVY[[WUWVWY\_cjSfMZjjllkkkhdbabdgjigd]31DILT}wd^ME,,-.,C>?U@=B69ANI]XZ|¸ÃΣ]^cegijmmmlmonmmW,<40E;0-,+*+**,5=_’qsa_^\[[\[\]]\]]]]\[[[\\[[\]]_bgQF`hgijkjjkjheba`bfgijb1/CBAnß›eTONMTRRMeYTYSQWMJCSXWOJO‰»ÁÍ‘X\adfhijkklmmjbP,:52:NKD:75+****6J^\qYYYZZYXXXYYYYZZYZZZZYYYXYZYZ_aAOhffgjjiijjjjgdaa`cfjc/.B>>b§~^`eR7898<<<>=>=?=6?_ga]RMU—»ÅÇwT\_bdfgijkkkg\M.8542;>>70-,049=HiJnrUXWXXWWXXXXXXYYXXYYXWVVUUUTTWgFUdccdefegkijjjgdc``adb/+==??@?>??@B@=Vl‘}w}~v[WWXXYYYYYYVr’¡ª¯²²°°­¬««««ª«¬¬®²³±‡dhhiiihfdba^/(73B0*+*)''()*((((''%%%&%$*2(jpfRLM†»ÃÒ—Y_cfgghhhijgd]WVUUVVVVUVXY[[]_mŒx{®Ä½}\[\\[\\[[Ye‰–¯¨¢œ–’ŽŠ…}{zxwwvvw{ƒŠ‰buighijifc[S.(66\S7,,31-+('&&%%''(*+/38J^==;9==6756687875688898Hbeedccc]P8-/,+12*)'&%$$%&$%$$##$$$$$%%&lmnlhYOQQŒÄÇÔ¦_`acefgijjijiihfda^\[[[]^aRNIHJQVl¿§y¤¶º¾ÄÉͬl9:::;<=>@@XbK@899FC76667779?>Vecb```_YL:0-/13247998878:;<<===:8:Iacb```_\XRMLLLORTY^cddc`^]][ZZYVRQQTY`mtrrswjUOJm¼ÈÑÆm]bdeghhhhijjjkigd`]\[Z[_TCHIJOQYc|¿Ì>7::8h‘<@:79887;GCBWdE6?<8543434544;A@Xdbaaaa_][ZYYXYYXY\adghecca^\YWWVVUUVYmomjjjg]SMM”ÆÉÖ¢Z`bdfgggghijjjjhfc_]\ZZ]T?FHITY`gz¶ÑQDEHK–w8@538;:88IF;736667524>@=64326B225AE@3?F522223554D]NIC;623>?B[bacddbb`_`````_^\[]afigeb_[YXWWXWWXXlfggsnibRKMM„ÁÆÖ²_^dddeefhhiijjiigeb^\[\O:BHFJQYev¤Écƒíôã›C><213X‚]/4611100246;CGLQPOF719A=Qb^XZY`dbaaaabcca_][\`fhhge`\ZYYYXXYYnlfgporiRKMLV¦ÄÊÓ•a_bdeefhhhiijjjigd`]\]N5AJFIPYds˜ÒlnéòÎ{AUL5743Zddccdcddedca_]\_dilifb][[\[Z[swplqpolnqZLKO‘ÂÇÖ¯_addefhhhhjjjiiihea^_N.;IDqµ°qSW99?A€‘P:@@OY>DIFCBB>//0/07IFTDTf`VPG51=;=;53207]dccdddcceeeca_]\]bhjjhb]\[[[[pplhlnifikeLJJ`®ÂÊÖŠ]cdefhiiikjijjjigd`_N1:FDpÝä¢RA:IPKQTF8ERfa@A@?A?>>765347=AE:GRQHFD<487:??4;GYcdccddccbdefdca_[Z]bfijhc_][YYpmmdilospojRIKKz½ÁÐÅn_edfhijjjjjkkjjhfb`P08@HL…²–]F3LN6=AB?>??<<=>>>>=>>@?;<_?Eh^``accddddddddefffdb_\\^bfklkid_^fkkhnpklpsplUJMMY¨ÂÈÕ’^beffghjjkjkkkjif_L(53:;9898;B?vôTgW=>=>?@BCFFHIPXZYVWWXZ\]]^]^^\_j\‚l9w¿Ä®kaccccdeeeeeeeffeb_]\^bhklmjecyttotrkjlkhkfLJKJo»¿ÎËu[adeefghhijjiggaRB)4/54-+,49C@c©ŸCx†_AQ_dhlmmooooppnmmllkkkjiiklmordu†b]¼âÞ¡_ccccdddeeedddeffd`\[]cgkmmkgz‚~pkkigijnkbOJMLL’ÀÀÔ¯\]`bcdffghhihed`XE*32745>>===>>==>>>>>?@?@ABEYpfcl†xddcbcccbcaaccbddcba^ZY[`gkmmunnnkljgjimmniRJKKeºÆÎÖ‰]beghgfggggfed`[M9545543331:^rZCB@?>>?==<;::9:999999999999:;;;<<=<>>Jlˆ„„“¬…;Gdbad¥Á¾”bdddcbddeedddddccb`][]blklmqttpskknljofPJKLLŒÈÉÔ½jdeghihhgghgfdba_]\\ZYXXXYHR[_Me}‡jhmePEEDFEEFGH]‰WLGKIGFIMIÄåëÓ±¹ã£5Ccba_æïç˜aabbbcdccccbbccbbb_\Z\jpvsopqloijifjrbLKKLK^·ËËÔ–`egghhgghhgfedcb`__][YYYZJNGLMÈ·ªÔëãÏ£NMOTX\allˆy|qccaXCJ¢øÞ·¼Ûæô„3>cbaa_¯®›c_`abbcbabcabbbbbca`[Zpwvpjhjmoijlvsuf_YMMNO‡ÊÊÑÉtbfghhhhhgggfedcbba_][YY[KK=@B¸ìÓÇ«²Õ÷ÇV@FPQMRšš”™Žl57521PjšÒØÔÍ›P2:dbaa`\[X[```ba`bbaabbbbabbaa`^[hikga^ahiq{wtvojndRLNQ[²ÊÇשdgghhhhhhggggfddcca^\ZY[MJ;8<~âéèáÛÛ¸ri6+,,)8ez„‰ŒtV4568Hl€ca_UMA662:dcaa```_``abcbbcca`abbbbbbabba_unmmjnpsirrtuu|k]SKKKK|ÆÄÏÔ‡beegggggggfgfedddb`^[ZZLJ938@Yimnkkg{”qC>BB9a¡¦–€BAB?>CšucULC<834?JQ]q‹½™c‹ØèêíïñññòññöÓdo¾—z_OJB<<53>ccbcbcaaa`abccceedcbbbbccbabccc€~xv€ysnr`_fq{sjjeYLLJTZZ˜ÂÃ×Àf`cccdefeeffffeedcb`][LL>1/18?>KPZp‰²Í`€åîéëëëëëìßÛðÐYwÀ•|cULE>:8;Ecdccccbaa`aaehhfefedccbdcbaabcc‡††‡‡‡‡‡†…†‡‡‡‡†††‡ˆˆ‡‡‡‡‡‡‡…„‚}xutttxyxxzzx{{zwuyzz{{zyz{~€€€…†……†‡†††…†††††……††††††††‡……†‚{xuvuvuvxxxyxz{zxwuvvy{zxwy|~€€€………„…†††††…†……………†††……†………„„…‚€{uxwxwwyzxxwz{zyxvvuxyywwy{~~€€€……………†……†………†………††………„†…„………„‚yyyxwz|{yxxz{{{ywvvxyzyzz{~€€†…„„…………†……††…………………„„„ƒƒ„„„ƒ|yxwyz|zzz{|{zzzvvxyyyzzy|~€€„‚ƒƒ„„„…………†……………………ƒ‚‚‚€~}zywy{{zz{}}|yyywvxz{z{x{~€ƒ„…ƒ‚ƒ„……………„„††„…„€€€€€€}~~{z{wwxyzz{|{{zyxwwwwyzzy{~~€€€‚„†‚ƒ„…††……ƒ„„„‚‚‚~~€~}{|~|zyxwxwwy{||{{{yxyxwuvxxy|}~€€‚‚‚€‚ƒ„„†‡„‚‚€}zz{|||}|~}||zz|zzyxxyxyzz||}}{zwyyvuvwwx|€€€…€~~ƒƒ}zxwxyx{{y|{zyxy{yzzyxyyy{{|}}|zzyxxvuvuv{~€€}†ƒ€€€~~{zyzyxxxwyzwyyxxxy{{{{yvwxxz||}~~}{{xxzwvvuw|~~‹ˆ€€€€€€}~}}{{z}~}}}}|}xvvvvwz{|{zyuuvxz|{}}{yywxyywxy|~~~‘Žƒ€€}|{}…‹ŽŽŽŠ|uuvw{|}{yxz|zzy{|~~}{yxxwwzzz|€‚ˆ€}|„…„~†……†‡„{y}Š‹‡†‡‡‰ŠŠŠ„utuwzy{zyz|{z{z{}~~~~{yyyz|~„†Ž‡„ƒ‚}„ˆ‡‡ˆŠ‰~z‡‚ƒƒ„†…‡Š‡wsuvywzyyzzyyy{}~~~{wwz~†‰ˆ‰‹‹‹‹ŠŠŠ‚€„„ƒƒ„…†|‡ˆ†…………†‚‰†{ttuxyyyz{zxxx{~~~~~}xttx‚…„‚„‰ŠŠŠŠ‰Š†€‚‚€€€‚‚ˆŠ„„‡ˆ‡‡€ˆ†~wyvwyxy{{zxxy|}}{{xwspqw……„ƒ†‡Šˆ‰‹ŒŒ‰‚‚‚„ˆ‰ƒ…ˆ‰ˆ‡‰ˆ€{|zyyz|}|{{{zxtpkpqttsq{‡‰‹‰‰ˆ‰‡ŠŠŠ‹Š„„ƒ„ƒƒƒƒƒƒ‚‚‚…†……†ˆ‡††ƒˆŠ‡€€€€‚ƒ‚ƒ‚~|xuuxxyzxx‡ŠŠ…‡ŠŠˆ‰‰‰‰Š‡‡‡…‡‰ˆˆ‰ˆ‡†…‹‹ŠŠŠ‹ŠŠŠ‹Š‹ˆ‚‚ƒƒƒƒƒƒƒ„„„…†……ƒz{‚ˆ‰‰‡ˆ‰‰ˆ†‡‡‡ˆ‰‰ˆ‡ˆˆˆ‰ŠŠ‰‡ˆŽ‹Š‰Š‹‹‹ŒŒ‘Š‚‚„„„„„ƒ‚ƒƒ„‡‡‡†…€€„ˆ‰‰ˆˆˆˆ‡ˆˆ‰‰‰‰‰‰ˆˆ‡ˆ‰‰‰Š‡ŠŠ„ˆŠ‰ˆˆ‡ˆˆŠ‹‹ŒŒˆˆ‡‡ˆ‰†„„ƒ‚€‚„†‡ˆ†…†…‡…†Šˆ…ƒ„‡ˆƒƒ‰‰‰Š‰‡‡‡ˆ‰‰ˆˆ„~ƒ††…†……†’“’““”••••„ƒƒ‚‚‚€€€ƒ…†……~zvtvvtssuwtu‰ŠŠ‰‰‰††‡‡ˆ‰…„ƒƒ‚„„…ˆ‹Šˆ‡ˆ‹‹‰†††‰‡ƒ‚‚€€€€‚……}{wvuvvvwxy}ˆŠ‰‰ŠŠ‰‡‡‡‡‡„„………„‚‚ƒ„‰‰~zz~‰‹„{z|ƒ‰†‚‚€€‚€€€€€€„‚ƒˆˆ‰ŠŠ‹‰††††‚ƒ†ˆ‡…‚€ˆ‰ƒƒ‰‹‡„‰Š‡…ƒ‚‚ƒƒ‚‚€wuv{|z|€}z{z€†‡ˆ‰‰‹‹ˆ‡……‚‚ƒ……‚‚€‚‰‡‰‹‹ŠŠŒŒ‰ˆ‰ˆ‰Š‰ˆ†ƒ‚‚ƒ‚‚‚ƒvqrtttz}~{vtr}ƒ‡‰‰Š‹‹‰†„‚‚€‚†Š††ˆˆˆˆ‹Œ‡~ƒ‡ˆŠ‹‰ˆ‡…ƒ‚‚€€‚vqrsw}‚~}ys||†ˆ‰ŠŠ‹‹‰…‚‚‚‚‚‚‡Œˆ‡†…†…‡‡„€ƒ†‡‹ˆ†ˆ‰ˆ†ƒ€€‚ysut|‚…€€~x}}~ƒ‡ˆ‰ŠŠ‹Šˆ‚‚ƒƒ‚‚‚‚†‘“’’’’’‘’’’“””Š„‡‰‰‰ˆ†ƒ€€‚||z~€€€€€~|~}}„‡ˆ‰ŠŠ‹Šƒ€…†„‚ƒƒƒˆ‘••”“”“”•••”•••‡‰ˆˆˆˆˆ‡ƒ‚‚€€€~€€v~}…‰ˆˆ‰‰‰…ƒ„ƒƒƒƒ„‹Œ‰Ž‘‘‘‘ŽŒŒŒŒ‰ˆ‰‡…„ƒ‚‚‚‚‚oz€~‚‡‰‰‰‰‰‡……„„ƒ„„„Š„}‚ŒŽŒŒ‘’‘‘“’”““’’”ˆˆ‰‰ˆ„€ƒ†††…††††††„hm{}z~ƒˆ‰ŠŠŠŠ‰‰‡…„……„‡}‡‰‡†Š‘ŽŒ‹‹ŠŠ‹ŒŒ‰ˆˆ‰‰…€ƒ……†…………………„iir{}~†‰‰‰ŠŠŠ‹‰‡……†………ƒ„†„„‰ŠŠ‹‹‹ˆˆŠŠ‹‹‹‹‹‰ˆˆˆ†…‚‚‚€€€‚‚kjkv€~~ˆŠ‰ŠŠŠ‹‹‰†……„ƒ……ƒ‚„‰‰‰ŠŠŠ‰ˆŠŠ‹‹‹Œ‹‰ˆˆˆ††„ƒƒ€€€€‚ƒƒ…onmt€}}„‰ŠŠ‰Š‹ŒŠ‡……„ƒ„…ƒ„ƒ„ˆŠŠ†‡Š‹ŠŠ‰‰ˆˆŠŠ‰‰ˆˆ‡‡†††„ƒ€€‚„……†onjmx~|€†ŠŠŠ‰‰‹‹‰‡†ƒ‚‚ƒ‚…„†ˆŠ‰‚ƒ‰‹ŠŠˆ‡‡‡‡‰‰‡‡…†ˆˆˆˆˆ‡„‚€€„†‡‡llihjy€}}ƒ‰ŠŠŠŠ‹‹Š‰†„‚€€ƒ„„‡‡ˆˆ††ˆˆˆˆˆˆ‡‡‡ˆˆ‡†…†ˆ‰‰ˆˆˆˆ…‚€€ƒ…†nmihes€~|†ŠŠŠŠ‹‹‹Šˆ…‚‚„†ˆŠ‰ŠŠ‹‹‹ŠŒŒŽŽŒ‹‹ˆ†ˆˆˆ‰‰ˆˆˆˆ†ƒ€€‚ƒljgffl{€~|€‡‰ŠŠŠ‹Š‹Š‡‚„ƒƒ†ŒŽ‘’“““”•––––––––…ƒ‡‰ˆˆˆˆˆ‰ˆ‡ƒ€€gggfgiq~€}|‚ˆŠŠŠŠŠ‹Œˆ„††ƒ…Ž’”˜˜—˜—–––•••––——”‰††ˆˆˆˆˆˆ‰ˆˆ†ƒ€iggfghhu€}€ˆŠŠŠŠŠ‰‰‡‚‚‚‚ƒ‚…’’’‘ŽŽŒŽŒŒŒˆ††‰‰ˆˆˆˆ‰ˆˆ†‚jhgegihs€„Š‹ŠŠŠ‰Šˆ…„ƒƒ‚‚‰ŽŒŠŠ‰‰ˆˆ‡†…†††‡‰‰ˆ‡‹ˆ‡‡…‡ˆ‰ˆˆ‰ˆˆ‰‡„‚jhgfhiho}€}€‡Œ‹ŠŠŠŠˆ‡‡……‚ˆ‰†…†„„ƒ‚ƒƒƒ‚€„†††„‡ˆ‰‡‚ƒˆ‰ˆ‰‰‰‰ˆˆ‡ƒjjjhihhku€}ƒŠŒ‹ŠŠ‹‹‹‰‰‡†ƒƒƒ‚…‡‚‚€‚‚‚€‚„‡ˆ‡„†ˆ‡‡†ˆŠ‰‰‰‰‰‡ˆ‰‡lljjnkijq}~†Š‹ŠŠ‹‹‹ŠŠ‰†ƒ‚‚„†‡‚‚„††††…ƒ‚‚ƒ‚†ŠŠ‰‰‰ŠŠ‰‰‰‰‰‰‰‰llmoqpmos|€~}~‚‰Š‰‰Š‹‹‹ŠŠ‡ƒ‚ƒ‚€‚ƒ‚‚€€€€‚‚‚„‰‰ˆŠˆ‡‰‰‰‰‰‰‰‰‰{zzzzzzz{zzz{{{zzzyyyyyyyyzz|‚„ƒƒƒ„†‡ˆ‡†††‡‡†ˆ‡††‡‡†……‡†„ƒƒƒƒyzzyyzzzzzzzyyyyyyxyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†„„…††††‡†ƒ‚‚zzzzyzzzzzzzyyyyyyyyyyz{zzzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒƒ‚‚zzzzzzyyzzzyzyyyyzzzzzz{|{{z{€‚…„„„……„ƒ„†††…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zz{zzzzzzyyyyyzz{{}~}|||~€‚„„„„………„…‡‡†……„„„„…†‡‡†…„‚‚‚{€€~|}~|zyzzzzzzzyz|}}~}~‚ƒ‚ƒ„…„„……‡†††††………„„……‡†††ƒƒ‚‚‚€‚€€|{zzzz|zy{{|}€€€€€‚„…ƒ„„……„„„„††††„…†………„…†††††„ƒ‚‚„~€~}|{zzz}{{~€€ƒƒ‚€‚ƒ…†…†……………ƒƒ„…†…„„…„„…„…†††……„ƒ‚ƒ€€€€~}|{}€~„††…„„ƒƒ„ƒ„…†††††…………„„……†…„„ƒƒ„„…††‡†…„ƒ‚‚€‚ƒ~ƒƒ€€€~‚„ƒ…‡‰ˆ‡†…„„„„…††††††…………………„……„„‚‚ƒ„†††ˆ†…ƒ‚€‚‚‚~ƒ€€€‚‚„†‡†‡‡†††…„„„„„††††††………………………†…ƒƒƒƒ„†…†ˆ‡…‚€€‚ƒ{}‚€‚ƒƒƒ„††††…„„ƒƒ„‚ƒ„†‡‡ˆˆ†††……„…………………„„„ƒƒ…††††…„ƒ€€€‚ƒ{z}‚‚‚‚‚‚……†…ƒ~}~~~}}~…ˆ‡ˆˆ††„„„„„„†…‡†…„„„„„†‡ˆ‡…„ƒ‚‚€€ƒ„†ƒ€~}|~‚‡‡…€|||€}}}}‡‡ˆˆ†……„„„…†‡‡‰‡……„„„…‡‡‡‡ƒ‚ƒƒƒƒƒƒƒ…‰‡ƒƒ{yx{}€††…~|{{{{{y{}}~†‡‡‡…„„ƒ„„††‡ˆˆ†„ƒ‚ƒ„†ˆ‡…’›œœœœžœ›‡„ƒƒ€~€ƒ…ƒ||~|x{yw~€|}…ˆ‡‡…ƒ…„„„…‡‡‡‡…„„‚„……‡‡…ˆ‡„ƒƒ‚€‚‚†ƒ‚€€€€€ƒ…||ƒ€wxxw€„}}ƒˆ‡†…………„„…††‡‡…„„……ƒ€‰}{{|zzzyyzz|€€‚ƒ…ƒ‚ƒ……{{zz{{ƒ†||€……„„ƒƒƒƒ„†‰†††‚~~}}{yw}‰|{~{z~|zz{{€€€€‚‚‚‚ƒƒƒ€|}~}|~~}‚„}|~ƒƒƒƒ‚€€€‚„„„„„€€‚ƒ–•…‡z{€zz||{zzz~~}}}~~~}}}}}~~}~~}||‚€€€€€€€€€‚ƒŠ„†®¹˜‹{{~}z|}~}}|||}~~}||||~||{||||||}|||}}~‚€€€€€€€Œ‘“˜”‘“”•—˜˜™™™{{}~€}}}}}|‚Š}}~~~}}|}}}}}~~€‚€€~~€˜²¹»µ±¸¼½¼¹´¼Â|{||~~€~~}ƒ‹‚€~|z{{zyyzxyyz€€€‚€ƒŸÅÎÑÒÐÑÕÕÕÓÓÕÑ~}}}}}€~€€‚ƒƒƒ„~||}~~€~}~}|~‚‚€€‰šŽŸª·¾ÀÁÀ¼¹µ©š}}}}~~€€‚€‚„‚~||}~~{z{}~~}‚‚€Š±’}€„‚…†‚€ƒ€~€}}}~~€€€€€€}}€€}|}}xvx}}{}€€‚‚‚€‰¾É»¥¢°ž……ƒ—µ²¯ƒ}}}~~€€€€ƒ†‡ˆ„}||~~|yvx}€|{||}€€€‚€ˆ¾ÐÑÍÉĸ›Ž”®ÃÊÏ„ƒ€~}}}}~€€‚ƒƒƒ†††||||||||{…€||{|}}€€€€…¼ÎÐÊ´†…„„…•¨Ç†„‚€~}}}}~~€‚~|||}}}|}|~ƒ~}{}~~~€€€‚³ÎÌÇ“~‡‡‡‡‚²‘‰‚€}}}}}~€€€€€€}ywxyxyyyxxxwwvv}~}}~~€‚˜ªŸ¥„€‚„………ƒ€„„ƒ‚€~}}}~€€€€€~xvvvwvwwvuwwvvv}€~~~~}~~‚‚„„‚‚‚„„ƒƒ‚‚€~}~~}€€€||~zwwwxxyyyzyyyz{{zz{}~~~€€€€€€€€€ƒ‚‚‚€~}}}}~€€€€€€€{€„€{yyzyyxyywxzzzxyyy{}}}~~‚€~{~Ž‹‚‚~~}}|}~€€€~‚…„}~~|{{{z{|}|||{{|{|}~~~€‚€€€€€€}{‡‡‚ƒ~~~}}}~€€€€€~‚€€‚||||{||||zyyz{{{~€‚‚‚‚‚‚}}‚ƒƒƒ€~~~}}}~~€€€~}‚€|||~|z{{{zz{zz{|}~€‚‚‚‚‚‚ƒ‚‚ƒ‚~~~~}}}€€€€~€€€~~{}{{z{z{|{zz|}~~€€€‚‚€ƒ€|€‚‚‚ƒ‚~}}}}}}~€€€€€€€€€}|~€|{z{|{{zzz|}~€€€‚€€€z|}€‚‚‚€~~~~~}}}~€€€€€}}~~}{{||||||||}~€~~~~~~€€€€~zyz‚“ˆ‚~~~~}||}€€€‚‚€||}{zz{zzz{{z{{|}~~}~~€€€€~yxy}„Š…‚€~}}}}}}}€€€€€~|zzyywvwwvvvvvuuvvz€~~~}~~€~zxxz‚‚‚‚~}}}}}|€€€€€€~zwwvuvuuwwvuwxwwvvw}~~~~~}~~}€‚~zxwxy€ƒ‚‚}}}}}}€‚€zxxxy{{{{{{z||{{|{z~~~~}~~~~}}~€‚‚~zwxzzƒ‚‚‚€~}}}}}}~€‚€~}~€}}~~~‚†ƒ€~~~~~~~€‚~|x{{{~‚‚‚||}}}}}~€€€€~‚„ˆ†€€ƒ‚†‡†„‚€~€~~~~~}}~€€~{|}~~€‚‚‚~}}}}}{}}€€…††ƒ‚‚‚ƒƒ„‚‚…‡ˆ…‚~€~~~~~~~~€‚‚ƒ„ƒ‚‚‚„„€~~}}}|}}|€€„…„‚ƒƒ†‡‡‰ˆ†…€€}~~~~~}~~~ˆ‰‰ˆ‡…………‚—~~}}||}|}€€ƒ‚‚‚‚‚‚‚€€~~€€~~}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÎÎÎÍÍÍÌÍÎÎÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍǾ³®¢Ÿ“}sfixkiinmrcgaU]a\\c\R\b^`WQPTZY_e^dSTWVUWTTYVPX`^[XTMD>8<:522@2ÎÎÏÏÏÏÏÏÏÏÎÎÎÎÎÈÂÆÂÊÎÎÎÎÎÎÎÎÎÎÍÎÌÌÌÌÌÍÍÍÍÌÌÌÌÌÌÌÌÌÌÍÍÎÏÏÇ´š¤˜tys^\^q|n\_nlh[ZZ[_YWUN^g_\SOOQXW]gihOT]aZQPLQRZ`b\VNNKA@76642086ÎÎÎÎÎÎÎÎÎÎÎÎÎÍÌÇÁÅÀÈÌÍÍÌÍÌÌÍÎÎÍÍÍÍÌËÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÍÎÏÎÍÁ¥ˆˆrklmkmlot{y^b_cdZ[[\\]SRV\dY[ZVUTTSWZhcPQX\ULMMSS]caa[PFC@;742110.1ÎÎÍÎÎÍÎÎÍÎÎÍÍÍÍÈÃÆÁÉÍÌÌÌÊÊÊËËËÊÉÊÊÊÊÊÊËËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÍÍ̶—zkptyt}~bca]fX`cc[[WVaYTYdeROSVXTMMVNXgQNSWYQNSOPY`^_WUUNG?;74320--ÍÍÍÍÌÍÍÍÍÍÎÎÎÎÎÉÀÁÀÌÏÎÎÎÍÍÍÍÍÍËËËËËËÊÊÊÊËÊÊÊÊÊÉÉÉÇÉÊÊÌÌÊÊÌÀ’…€r_j{kcg^`aWiaXYUTM\`^`nl\POT\TMJSQQXTYZYUNPQV\_YXYQOYNG=>@;53/-,ËÌÌÌÌÍÍÍÍÎÎÎÎÎÏǹ¼¹ÉÏÎÎÎÎÎÎÎÎÏÎÏÎÎÎÎÎÎÍÌÌËÊËËËËÊÊÆÊÊËÌÌÌÈÆħŠxxng]knod_`]V\_UQ[SRPYeeefbhVPUYSPSTRQXRX]aVRTRYY\YYTSOPOI>?=7650.3ÌÍÎÎÎÎÍÍÎÎÎÎÎÎÏĻżÇÎÍÎÎÎÎÎÍÎÏÎÍÎÍÌÍÍÍÍÌÌÉÊÌÍÎÍËÇÅÊËÌÎÎÌÇĵ¢~yneUQb^Y^`^]b_VTQKLUY`aci`ZSOOPNJSPSP_KUUZ[W[Z^[[WRQTOSJEC?C;530/4ÎÍÍÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ÌÁÆÍÌÍÍÍÍÍÌÍÎÎÍÎÍÎÍÍÍÍÌÌÉÊÊÌÊÆÂÄÁÆÇÊÌÍɾ¼«Œ€{pURQPLUVnndbc]YMD@LYPZba^VTRKLJHKIQLYNRUVVW[ZZZ\YTPSNWNCH@>=3/--,ÎÎÎÎÏÏÎÎÎÎÎÎÎÎÎÅ¿ËÁÃÍÌÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÎÌÊÈÈÅÈÁ¾¹Â½À¾ÆÊÈû­ ¨€ytaUYYVfg]nef]UURRXVcUO[\SOVXSKHFOQQXXSQY[UTWWUNNZVSXRWV>66120.---ÏÎÓÙØÑÍÍÍËÊÉËËÌ¿ÈÁÁÌÎÎÍÍÍÍÏÏÎÎÎÎÎÎÏÏÎÎÌÄÂÁ½Â»¹¬À¸¾µÀƽ½¶¤……~rˆyd[_Z\dkUn\S[SNTT_\UNPSWQQRUWLKKSSRZg^NVYVWUUZQJ\ZY\\LB<7541.....ÎÜêííçÕÌÊÿ¾ÁÅÉÁ¿ÇÀ¿ËÌÌÍÌÌÌÍÎÎÍÍÍÎÎÎÎÍÍÌÅÀ¼²½¸¯¢º²½¯·½²»´–…}~ngfcbaT[cZTdZRY^PSSW]UVTNNMKKLSYWORPQPbZMY\YQLMXZPWXPLIA8=<:73/---.ÛðЛ¨ßê;¸³°¶¹ÀÂÄÊÅÁÊÌËÌËÌËÉËÌËËËËËÉÇÉÅÄÁ³®©­°¤¨¬·­¶±®¬ uxulkRadZXcWQ\i^X_XLQRT\`bUQMLKNRMSVJOTNR[^Ya^SOKMYXQYPOXJCD=:;973/...íÅzglšáÚµ¯®®³³¾ÄÆËÈÄËÎÍÍÌÌÊÆËËËËÊÊÊÇÃþ¾³¡œš£¤™–¡«­ª¯¥¨š‚tmidkn[TXWa`VV\ZY^TSWTSUU`WQSONTUQSUWQPXQSX_X^XX\W]`TRXWSP?=E;866763000à†xvrŒÇ縬ª®°±ÀÁÅÊÈÂÊÎÍÍÍÌÆÀÉÌËÊÊȹ³µ´»­Ÿ•Žš›™‘ ³¯¬Ÿ™tgceTg`PLHOWbXQR^g^`n_^b^TVNPPOOQVRUSTXQ[OP_^]gYc_kf^ROLLIK@©‘‹ƒ„Œ½åâÑȲ®¯¬«·Ä¹¬°µ³½¼È»±¾Ãµ© ¡™š ““Ž†€ƒˆ‰~‹Š…ƒ€‚€yvoaWWUU\[UYUTYgQPO\gdRQ[YSMLLIKHFLJISU\`QYQPmrcf_a\T^YVUG<:;86543365;?z{©Ž‚¿äíîçÈǨ¡¡©©Ÿ  ¢¡¡©·­¥£¨™š˜¡™˜Ÿ’“…ƒ„€„xƒ‰ˆ„|{{~vqojdXQYfZQTQT_ZNX\]^XQRRRRMKPPKORRFCMOT_PQM^aa`Ydi\PS\XFTE<<<9566489<=‘ˆ“‡¾ãìäÞãí´ž¡¯ œŸ¤¬§¡¢£Ÿ””’œ™Ÿ›’™ŒŽŒ‹‡‡ƒ}‚‚yˆ„z{xxqhheYWYQV^YT]Y\[VYZZ^[UOJWVNLOJBDFF@@EIGPJRTX[bX`p]^OZ_[HDC@><85667:=@?LJo‹Œ”ÁãíʹÞé²Á¶¼³¸·Æûª  •Œ–š–ˆŠŠ‹Š‡…‚‚€y~ƒ~|vxwrrmlgY\dcbWQRWW^]cWT\SW_[URJOMNJBCDA?FFEBQGTX\W`b`\RbbVVVOKHEG965679<>HGaLk}™ÂãíàÖêéßÞâàâååæåçêðšš•ˆ‹’‘Œ‹Š†‹Œˆˆ„ƒ‚ƒ{}‹€y€wuqsrnhbV[daZQVOQ]hbbVMRSiZbXNQRPJIEGSKCKLLFPR\^YLYdceT`dVOW\PE@@<:8889=@JBX@^t’‘¾ãíìíëëìíìíîííëçåæ粌ƒ‡Š‹ˆƒŠ“ˆˆŽ„‰€}‹‚y|xwvuwsbWRZYZWZVN[ZZ^gjkpqlS\\SMSRFDFPWQQPOPIJWY\ZON_Y_]]gfW`R?:9<<;;;:;>==>>984c8698895463Zx=55798>EGF~ïãü¦z·¯¬NAFQkw``VMNCk“v{~~{‡ZET]gqwV<>><777Tqsql`DRvsmowqih^QWXUYY`]XGERW_W[ZYVX]UOIBEA>>><<@LOW`[UWYSXXNGFCCFJMOSS˜ÓfWWURLKLLH~ÔÁÉulœ›—YZ=EzzxtL;ACH–~€€{?W‚‘œ¤§ˆfS=8<78>DHJ\hXTXX\[ci}Ž“˜›žœœ›™™™——™™˜™–‘…g¬‡ZQBá»sISH>D@AB;:997y¶Ú–|†dIY¤¶··µ±¦²ŠvƒoOSN:343K^Osnimihcc\fod[NQ[[VRSYV_ZV\fYOIBB@ACA@>CHC=J[jk^LQa[’~Žˆ€xqmkifdccccdcceinn`ñ¢ULA•ðË•x~…†‹‘‘‘’’Œ†€˜Íå›{ŠPd=q…ullgŸ™z˜yLPPYM65>tJqsfgkmgb\[V\[POVUMNS][YX\_\STNGABGIB>BRQIT\^i‹iPURr†NQQQQRRJHFEFEDDGOQRQRTK•~UFHjªÀÒÎÌÏÒÔÕÕÔÕÔÒÏÍÖ¸‰|~Sn43643;LMNPURMOG]tb:8Wƒ^`rfdhszhUUVSRTOTXPOZ\ZV[a^ZNRTQIFLQK<>MUNgkjv„fZZOvePmty€„‹b97699;MGEIC9::;;B[E>>8[£ÛâëêëÍ“Ì·ŽžâäáâÛ¸u‚Z‡E9:UŠ–|F;444?MIFV†•Y566‡fR^`dbaa`VXYYTRPPNS[[TYZTMPZSPV[Wp‚uckym[TW\]^`de„[DJ@2557AFGAaRBB;887::?TU@..X”ÝéíîêêãàéãÖÞíéìèì¹t~\ˆBIGT„|KF9668:78Sš’K861o‚Kc`gd_a^ZZTUSUY]UNXYPMNTZZYXbx…‹‚aeqjTRY[ZZ]chj˜rZwyhQUi³ÄÅÇÊÌÍÊÍÍÊËÉÃÇÉË©xwg…GPL`{PHIEDEDA=<`–‡F=:4_›Hj^MLbqooqlrz‡‘‡‰‰‰’²˜|~}z}{kammbV[a_\[^fdp¢`U6B76DVB;=63/SK@FK08IVeigeeefijlmptuvvtrpoooponpsxƒ–ª¼½¦‹wk^N[ivƒ{:ghPEDJ_HCJH==88=EKKKKJE=zwsnkjjjllnpppqqqppppupguU@^><:::88777776778889899:;;BG=cmijjjhfddccddgjnqtuwutspmmooopolku‹§¸»²›`N[`vj?ZzH99;@ACHJQknlrhL>>;;;;yxwtoljiiijlmnpppqqrqqqw±¥CR;:98876667656667556788899;?RuggkjjkjigecccccbehkpsuwwwuromllnppnlpyŒ¨¨|WOBg}aRLD@HNMLLORVXYZXQPOJGGZwwwxupkhhggiklmnooppppoo¢œNE5368654555456665444566558JOFgechgfehiihedbba_^_adinqsuwwwvqlhiknpomkiyŒ•«qyuyplfURbmnlklkiiijklmjYXbvvwwvurmhgfgiijlllmmmnolŠŒ_\pW9344333455;A5544420/2F‹¡an€…„‚~|{yurjdccb````bdimorruvvvsnigilnpomk‰®|ndg^ZZYXmlb`_\ZY[[\]_bkcZYqstvvuurmiffeeghijkkkmmprp`¨´9123334677665441AizŽ§¹¯°­¬ªªªª«¬¬¬¬«¬¤kfdba``a`_bfjmpstvwvtqlggjmnoz¤xdUXYWWWX[[XWWVVUVVVVWVXVWWnpqsttrrqkgda`bcefggijkpwNL•£´¦…:2444316=D8556;¢——‰†ƒ‚‚~{z{|||||€ƒ†‘‰hjgcaaaa_^_bdjmpsssttuqlgfiih’i\TUVWWXXWVVVWWXWWWWWWWWYYXknopqrqrrpkfbaaaabddfhjhnD4~¿Ðèœ~\RV`tKf°HXma|jdcabaaabfpngdddedaaa`ywnnkhcabbca^]`einoprrsttrjf`a~e]TSVXV[[\[ZYYZZZYZZ[ZX\]\[jknorssttrpmhdcbabbcdeh^O<.O¹Öâíé¨w\^eŽhžÐqjfgŸ|^ovvvvvy‚ˆ±«‰Œ‰‚~}urwjlpolifegheb`_afjloprsssrpZYhc\™¡xw‘aTX[^[[_^`]^_[\_TQMxhjlnprstutsqmifcbbbbbdfbC2-0Zxz›¸¤ emk\`Ðú]l›byˆ—›¡¢¦©F@?;m­³µ°®¦ž‚h_mdjmnnljhffeda``cfjlnoprrtZMY[N±ÃÍËï¶TCAWŽWCQuzPAN’^8Ad×afijmoprsrssqnkecbaa`ada?/--.03B?MeQ`ony²Û¥~nˆXˆÇØÚÜÞÞâ~YZUOeÕãßØØÞá’oRidcceimniecbcba_]_aeikmppsXFMVG’åÜ×áîµO@=Ÿ˜5c³½z4‚°I?QÆí^begjlnopqqrqqnieb````c]6,-258<[ÍojÑ܆ZÎyEIméëƒ[ceijlnoqrssrpmhdba`_a^8,.159?GR_v‹ÕîìîîëíñÞ–VmZ¬¹½ÂÅǯPMXfUX´åßÙѵcKrSjkigdbcdfhgd`__]\]][\\_chT@AIMOOYhwÃË…bYKÚ{–¦wÂÇS[ku’¦Åz\dgjklnortrrpomgcba_``<,./29BM_y ªÈîìððïðóψSmG=?BEHIAEwuXVkwdYKAmRdkjifca_adfeba`]\]]]\Z[\`RA@GKOSWX\cddntsxÕçÞááè”pogc_]ÌÂr[dfgikmoprqoqplgda``_?./024GJMQVXafgfhlt{’¸ÑϺž„ytqoomÀζbZadgjklnqqoqqplgc``_@11/9CÁ[54=SPNNQRJ`£f]]C=79;987529E><77;EB:7@83/.3VlVAMUYQPSZ`|¤OgMOPKNOMJLN?34455>g¦UKM@6^Ndf^cilkkjiecbehjkigdba`aX95GKMORX`kllntÒïèåèåíîîô¡hjgjMˆ»ÈÊwY`dhiklmoppoopmjgd=84-,/05=>?BB;?V`ds™~KSMNIFFJKJFIKA<9=CKPmuOHFI@FGaW…–u`jkkkifbbbehjjheb`aY75HLOPRYbigjln¸áÝÚÙ×ÓÒÑшZ[^fZu¬ÀÌ·fZbfhjklnoonopnlkg<76/,-01489:EUXSGC?TPB=:@NSPMD??HcWkZVkkkkkkhdbabdgjhgdcX35HLQR\`beTA97:FHJHIMA@<3,1HUWWw¶ÃΣ]^cegikmmmlmonlmi;4900.+++**+++/He|ŠqaRQPRUTPQRTXUTSUUWZ[ZWXYYZ\``geXXOdjjjjjkjhebaabfgiigZ/4EGHj®dTJJA>`RSbPPWGIKQJPJNƒ¹ÀÌ‘X\adfhijkklnmmke9381HH@54-*,/02JM\ifYYYYYYXXXYYYZZZZZZZYYYXYZYY\bZ>[hffgghijjjjjgdb```ch])2B>@[{e_egT<88:BACFGIIJGCQgjfYPJ[£À˽jZ_adfghiklkidX:34324443/,*.1468aV^wcUXWXWWWXXXXXXXXXXYYXXWVUUTSS\cB]cbbcdddhjiiiigeca``d\*.=<;@JT]krwofegghiiiihghkqpjlaPLJj´ÁЭa\acefghjjkif\K9101/,,-----00-,\vŒyfY\WVWWWWXXXXXXWYVTTUX_fjqy~ƒŒ•Ž“•’‹‡‚zmrqhiiihfdbaaY(,7535;ACGIQQMLIEEDCA?>>=<:41kpgRLLºÃÓšZ_cegghiiijfbZOJHHKKLLLLNNPONPf}eq…‚mXXYYYZZZYYYVvxzŠ™¤¬°°±²°®­¬­­­®®¯±³³¬ƒgggiijigfcaW),56T6('&&"!!"! ""!!!"#$%&(8Gimv]OMS—¿Ê̓[bdfggiijjigb\[ZYZYXXXXZ[]_aa`~n‹ÇʪnY\\[[]\\[Yiˆž°«¦ š•‘ŽŠ†‚~{{z{|}€…ˆ‹_rigfehhd[TK(-66QJ825:75210/.-/212456:>FMrpmgXPM`©ÁÎÆu^dfghijkkkigedb`_][ZZZ[]`dfaZyZa±ìâã²ebddfgiiklŽ~ˆ~tld^ZVSRQRONMKKKLNPRU[\tmefdaa\QLF'-6.$':<<;;:;;;:989::99987776qlmoeSVg…»ÈÔºi_defiijjkkihgedba^\[ZZ\_ac^XcMK®êÈÛî”gqruttuwvŠnXTLJHHKMNNNReMIGFDEEDCDDCCIdeecccbaTH--2.,263411//./.-,+-,---+*))*lmnmhYOOPÄÇÔ¦^`aceeghikjiiigeda]\[[[]_a\TSJFs·ŽÌók|„ˆŒŽ…vJAB????=<:<;8766788777899898Icdcbbaa]Q;/+)*0,&&%%$#$$%%%$%&&%%$$&*+nsqomdSLKU£ÅËÓŽZacdeghhiijjjiigea]\[[\]_]NJJGLQVˆ»…¶ºº¿ÆÌ̧a9:99::;;=>WVF>8::A=76667778?>Wdba```^YQB:77:=?@EHJKNNLKJJIHGGCAADLQmtrsswjTOJj¼ÈÒÇn]bdegghhhijjjjifd`]\[[[]\IDKGMPW[e†Ñ´VLJLLc—G=;CFFGGGHKS‚ŽOJbba``a_]YVTRRSTUVZ`dfgeb`_]\YVUUQOOQUnomkjlg]SML•ÇÉÖ¤Z`bdefggghijjjigfc_][ZZ[]IBKFNQU]kÛŒ2===:u…9A88:998>EC@fqE7@<7443444444<54327B=Mbbaaaa``^^^^^^^][Z\aeihdb^[ZXWWVVVWXlfggsnibQKML~ÀÆÔ´a_dddeefhhiijjiigda^\[[[C>GFJRZcpŠË¨a–Á˾¥J<<228AA>4@C632223554B\NIB;633??C\bacccbba````aa`_][\`ehgfd`\ZYXWWXXXnlfgporiRKMKS¡ÄÉÓ˜a_bdeefhhhiijjjhgd`]\[[?@:217dV/6921111246Qb_]]]acbaaabbcca`^\\`ehjjgb][ZYYZZZhrlioptsg[OLJm´ÂÑËr[bddefhhhhhkkiihfc_]\[;:GHGMU^j|µ¶NªöðÀo9A713LtxoB20010//249EBMS]Z\[B25B=HbQ454Fcccbcbcdddca^]\_diljfb^\[[[Z[twplqpolorZLKNŠÁÇÖ°`addefhhhhjkjiiihea^]\95FJHP]\]n•–Kn»à­X:A:97LwU>=2/0//14BGNPQ_\YUC23B>BXM5744[dccccccdeeca_]\^cijjgb^]\[[[qplhlnifikeLJK\ªÂÊÖ]cdefhiiikjjjjjigd`^]93BILÙXYR9<=G†J:A?LM>JMICBC:.////7IFTGUe_VNF52?=>=74315]dcddccbcdeeca^\[]bgijgb_][ZYpmmdilospojRIKKw¼ÁÐÇp_ddfhijjjkkkkjjhfb_];6>IH¦éÐrN==JNKY\D9EOl_?A?@A@?>653248?CI=LZVLJE;277:=;15BVdccddddccdefeba_\Z^bfjjhe`][[heccgirsoss`MJXh•¿ÄÔ¯cbefghjkkkkkkkkihfc_;29EG]¯xU?2XK9=>@6CK@;:987786;>=::;8655545787ALHGC:EHLYajqid`uuCC53345556789:?AB?>@?<<=<=<====?@;9X>DªÌ³laccccdeeeddeeffdb_\\^chklljecyttotrkjlkhkfLJKIj¹¿ÎÍw[adeefghhijjkjihbW5-44:978::?D@ˆÄ¨LhK;?=<=?@BCCDEKRROMPRTUVWXYXXWRUbVj5“ÝÙŸ_ccccdddeeeddeeffd`\[]cgkmmkgz‚~qkkigijnkbPJMLK¿ÀÔ°\\`bcdffghhijggeXM3-3/90-+06?B>>>???>>?????ABBBBCG]rfa^\bcbbccbbbcccdccdddca_][[agjnkmvsnkmnnggjjjUJJMLŽÇÆÓ¼b^_aeedffgfffda]V@1146655420@c„Œp[DDB@@@@>>=<;:;:999::::99::9:;<<<===>E]hbaabeeacecbcdcddeeedeecb`\Y\bgimnqmmnqtplilmhUMJLKa¸ÈÌÖ^degghhggggfeb_[SMJKMMMMMMKC_“€eM==;;;;;:99888777667777778779;;998:AA8DWcad§ÇÅ›bdcdcbcdeeeeeedccb`][]blklmqttptlknmjpfQJJLL‹ÈÉÔ¾kdeghiihfghgeca^ZVVVVUUUVWWE\xjTB989::9::877898899<<=>>>?==<>>B[rnxˆœ|?Ecb`ˆâïêž`abbbcccbdccbccbbb_][\jpusopqmpijigjrbLKKLK]¶ËËÔ˜afgghhhghhgfdca`^\\[YXWWXWFV__LTrrYUWPB@AACCDFGHaƒSJFJHEDGMJu®ÛíÓ®³Û´8Abba`ˆ§¦–b_`abbbbabbbbbbbbca`\Zpvuojhjnoijlwsuf_YMMNO‚ÉÉÐÉubfghhhhhgggfecbba`_\ZYXXXFQJL]É°¶¥ÓÝе…KONPTW]ahƒpotkdc`XFK§ûܵ´ÏÞö—4AOÓÜÌ»«µÙú¼OBMWYU]£¢™ž˜k:<972Nl©ÙÚÞÙѳ\47bca``a``abbcbbcca`abbbbbbabba_uonnjoqtirrtuu|k]SKKKKuÄÅÏÕˆbeeggggfggffedcccb_][YXZIK98@šîîëÝÕß¾ta1-,+(=gx~„iU0125Ef}dgldXH;517bcaacb`__bcbbcccbaaabbbababbaa„|€yu{wjgpwwy{se]RKKKKPÉÆؽfabdeeeefggggeeddca_]ZXZHJ41:Im}~ywi|Šb=>CB;n§¨¥¡†ECCA@G‹—ubSJC<7258bcbacba```aa`acbbbbaaabbbabcbbƒ|tysqimtnigoiaccUKKK]d|¸ÃËÙŽ]bccceggffgfeeedcb`_[YZIK5/778=BHQ`t‘´t8?ELNYuŸ‡vwxƒnWK¨¡zcRJA;;/.:cccbcaaa`abdbbdeddcbbbccbabccc~xv€ysnr`_hqztjjeYLLJTWV”ÂÃ×Àg`ccbdefffffeeeddcb`\YZIK60728>AKQ`u‘Ã~b‹ÈØÞâéïîíîðñõËfm¹—zbQIA;;1-:cdcccbaa`aadijfefedccbdcbaabcc‡††‡‡‡‡‡†…†‡‡‡‡†††‡ˆˆ‡‡‡‡‡‡‡…„‚}xutttxyxxzzy{{zwuyzz{{zyz{~€€€…†……†††††…†††††……††††††††‡……†‚{xuvuvuvxxxyx{{zywtvvy{zxwy|~€€€………„…†††††…†……………†††……†………„„…‚€{uxwxwwyzxxwz{zyxvvuxyywwy{~~€€€……………†……††……†………††………„†…„………„‚zyyxwz|{yxxz{{{ywvvxyzyzz{~€€†…„„…………†……††……………………„„ƒƒ„„„ƒ€|yxwyz|zzz{|{zzzvvxyyyzzy|~€€„‚ƒƒ„„„…………†……………………ƒ‚‚‚€~|zywy{{zz{}}|zyywvxz{z{x{~€ƒ„†ƒ‚ƒ„……………„„††„…„€€€€€€}~~{zywwxyzz{|{{zzxwwwwyzzy{~~€€€‚„†‚‚ƒ„…††……ƒ„„„‚‚‚~~€~}{|~|zyxwxwwy{||{{{yxyxwuvxxy|}~€€ƒ‚‚‚€€‚ƒ„„†‡„‚‚€}zz||||}}~}||zz|zzyxxyxyzz||}}{zwyyvuuwwx|€€€…‚€~~ƒƒ}zxwwxx{{y|{zyxy{yzzyxyyy{{|}}|zzyxxvuvuv{€€}†„€€€€~~{zyzzxwvwyzxzyxxxy{{{{yvwxxz||}~~}{{xxzwvvuw|~~ŒŠ‚€€€€~~}}{zy{||zz{{|xvvvvw{{|{zyuuvxz|{}}{yywxyywxy|~~~Ž†€€€~|{{€†‰‹‹‹ŒŽŒˆ}vuvw{|}{yx{|zzy{|~~}{yxxxwzyz|€‚ˆ€}|ƒ„…~‡††‡ˆ†}yz‡Ž‹Š‰ˆŠ‹ŒŒŽ‰wtuwzy{zyz|{z{z{}~~~~{yyyz{|}€‚……ƒ‚}€‚„‡‡‡‡ŠŠz|†…~‚„„††ˆŠ‰{suvywzyyzzyyy{}~~~{wxzz€‡‡ˆŠŠŠ‹‹Š‰†€ƒ„„ƒƒ„†ƒ|~†‡…„…„„†ƒ‚‰‡~uuuxyyyz{zxxx{~~~~~}xttv{…‡„…‰ŠŠŠ‹‰ŠŠ‚‚€€€€‚~€†Š‡…†ˆ‡†ƒ~‡‡€yyuwyxy{{yyxy|}}{{xwsprr~…ƒƒ†‰Š‰ŠŒŒŠ‚‚€€ƒ‡‰„ƒˆŠˆˆ„~†‰‚|{zyyz|}|{{{zxtpkpqtttqs‚ˆŠŠ‰‡ˆˆ‰‰ŠŒ‹ƒ„ƒ„ƒ„ƒƒƒƒƒ‚‚„†………ˆ‡‡†ƒ†Š†€€€‚‚ƒ‚ƒ‚|xuuxxyzyvz…‰‹ˆ…‰‰ˆˆ‰‰ŠŠ‡‡‡†ˆ‰ˆˆ‰ˆ‡……ˆŠˆ‡‰‰Šˆˆ‰ˆˆ‹ŽŠƒ‚ƒƒƒƒƒƒƒ„„„…†……ƒ|z†‰‰‡†ŠŠŠˆˆˆˆ‰‰‰ˆ‡ˆˆˆŠŠŠŠ‡†ŽŽ‹‹‹‹‹Œ‹ŒŒ‚‚ƒ„…„„„ƒ‚‚ƒƒ„†‡‡†…}€†‰‰ˆ‡‡‡†††‡ˆˆ‰‰‰ˆˆ‡ˆ‰‰‰Šˆˆˆ‰Š‰ˆˆˆˆˆ‰‹ŠŠ‹…„„„„…„„ƒƒ‚€„…‡ˆ‡„††‰ˆ‡ŠŠ‰‡‡‰Š‰†‰‰‰‰‰ˆ‡‡ˆ‰‰‰ˆ‡‚‡‡†‡†††‹‘‘’“’’“†ƒƒ‚‚‚€€ƒ…†…†‚}zxz{xvvx|ywŠŠ‰‰‰‰††‡‡ˆ‰‡…‚‚ƒ‚‚„……†ŠŽŽŽŽŽ‰ƒ‚‚€€€‚„†ƒ}ytrsssssuuwˆŠ‰‰ŠŠ‰‡†‡‡ˆ…„…„„ƒ‚‚ƒ„ˆŠƒ~{~†‹ˆ|}‰…‚‚€€‚‚‚~€‚ƒˆˆ‰ŠŠ‹‰††…†ƒƒ…ˆˆ†ƒ‚‡‹‚||}‡‹ˆ}z|ˆŠ‡…ƒ‚‚ƒƒ‚‚|xy|}}€‚€}~€€†‡ˆ‰‰‹‹‰‡†…ƒ‚„†…„‚‚‡‰‡‰ŠˆŠ‹‹‡‡ˆ‡ˆ‹Šˆ†ƒ‚‚ƒ‚‚‚‚‚zsqtvtv|€|wtt}ƒ‡‰‰Š‹‹‰‡…‚‚‚‚‚‚„…‰‡‡‰ŠŠ‰Š‹ƒ…ˆ‰Š‹Š‰‡…ƒ‚‚€€‚ƒ{rqrtx~~}yu||†ˆ‰Š‹‹‹ˆ†‚€‚‚‚ƒ†‹‡…†…†…‡Š†}~„…ˆ‹ˆˆ‰ˆ†ƒ€€‚}rssw…ƒƒ‚‚~z}}~ƒ‡ˆ‰ŠŠ‹Šˆ„‚ƒ‚‚‚‚‚…ŒŒ‹‹‹ŠŠŠŠ‹Ž„†‰‰‰ˆ†ƒ€€‚€yzx{€€€€€€~|~}}„‡ˆ‰ŠŠ‹Š…€ƒ…„‚ƒƒ‚†––••••••––”–——‘†ˆŠ‰ˆˆˆ‡ƒ‚‚€€~~v~}†‰ˆ‰ŠŠŠ†ƒ…„ƒƒƒƒˆŽ‘’‘‘‘’“’“’‘’‰ˆŠ‰‰ˆˆ‰‡…ƒƒ€€€€€€€oz€~‚‡‰‰‰‰‰‡ƒ„ƒƒƒƒ„ƒ‰‹…ŽŽŽ‘‘’‘‘‘‘‰ˆ‰ˆ‡…‚…„…„„…„„……„hm{}z~ƒˆ‰ŠŠŠŠˆˆ‡…„…†ƒ‡„|}†‹Šˆ‰’“’‘‘Ž‘‹ˆ‰‰Š‡‚€‚†‡‡‡†‡†††††iir{}~†‰Š‰‰ŠŠ‹‰†……†…†…„‡†…‡ŒŠ‡‰Š‰Š‹‹ŒŠˆˆˆˆ†ƒ‚ƒ‚‚‚‚‚‚‚‚kjkw€~~ˆŠ‰‰ŠŠ‹‹‰†………„……„ƒ„‚‚‡‰ŠŠŠ‹‰‡‰‹‹ŒŒ‹ŒŠ‰ˆˆ‡†…ƒƒ‚€€€‚‚‚ƒonmt€}~„‰ŠŠ‰Š‹ŒŠˆ………ƒ„…„‚‚‚‚‡‰Šˆ‰Š‰ŠŠŠŠŠ‰Š‹Šˆˆˆ‡‡†…†„ƒ€€€‚ƒ„…†onjmx€~|€†ŠŠŠ‰‰‹‹‰‡†„‚ƒƒƒ‚„„ƒ‡‰Œ…‚ˆŠŠŠŠˆ‡‡ˆ‰Šˆˆ‡†‡ˆ‡ˆˆ†…‚€€„†††llihjy€}}ƒ‰ŠŠŠŠ‹‹Šˆ†„‚€ƒ„……‡ˆ‰†‚‡‰‰‰ˆ‡‡‡†ˆ‰‡‡…„‡‰‰ˆˆˆ‡…‚€€ƒ…†nmihes€~|†ŠŠŠŠ‹‹‹Šˆ…ƒ‚ƒ…†ˆˆˆˆ‡ˆˆ‡ˆˆ‰‰‰ˆˆˆ‡‡††ˆ‰‰‰ˆˆˆˆ†‚€€€‚„ljgffl{€~|€‡‰ŠŠŠ‹‹‹Š‡‚‚€‚…‰‹ŒŽŽŽ‘‘’’’‘Ž†ƒ‡‰ˆ‰ˆˆˆˆˆ†ƒ€€gggfhiq}€}|‚ˆŠŠŠŠŠŠŒŠ‚ƒ††„„‰“–•–————————™˜˜–Œ††ˆˆˆˆˆˆˆˆˆ†ƒ€iggfghhu€}€ˆŠŠŠŠŠ‰Šˆƒƒ„„„‚Š’”——•••”’’’’’’’’“”ˆ‡†‰‰ˆˆˆˆ‰‰ˆ†‚jhgegihs€„Š‹‹ŠŠ‰‰ˆ„‚‚‚‚ƒ„ŒŽŒŒ‹Š‰Š‹ŠŠ‹‹‹‹Œ‰ˆ‡…‡ˆ‰ˆˆ‰ˆˆ‰‡„‚jhgfhiho}€}€ˆŒŒ‹ŠŠŠŠ†……„ƒ‚…Šˆ‰Š‡†………„„ƒ‚ƒ‡ˆŠ†‡Šˆ‡‚ƒ‡‰‰‰‰‰‰ˆˆ‡ƒjjjhihhku}‚ŠŒ‹ŠŠ‹‹Š‰ˆ‡†„„‡„„ŠŠ†‚‚‚‚€…†Š‡††ˆ‡‡†ˆŠ‰‰‰‰‰‡ˆ‰‡lljjnkijq}~†Š‹ŠŠ‹‹‹ŠŠ‰†…‚ƒ…‰†ƒƒƒ„„ƒƒƒ†‰‡…„‰Š‰‰‰ŠŠ‰‰‰‰ˆ‰‰‰llmoqpmos|€~}~‚‰Š‰‰‹‹‹‹ŠŠ‡…‚‚‚ƒ„‚€‚„‡†…†„„‚€€€‚‚ƒˆ‰ˆŠˆ‡ˆ‰‰‰ˆ‰‰‰‰{zzzzzzz{zzz{{{zzzyyyyyyyyzz|‚„ƒƒƒ„†‡ˆ‡†††‡‡†ˆ‡††‡‡†……‡†„ƒƒƒƒyzzyyzzzzzzzyyyyyyxyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†„„…††††‡†ƒ‚‚zzzyyzzzzzzzyyyyyyyyyyz{{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒƒ‚‚zzzzzzyyzzzyzyyyyzzzzzz{|{{z{€‚…„„„……„ƒ„†††…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zzzzzzzzzyyyyyzz{{}~}|||~€‚„„„„………„…‡‡†……„„„„…†‡‡†…„‚‚‚{€~|}~|zyzzzzzzzzz|}}~}~‚ƒ‚ƒ„…„„……‡†††††………„„…†‡†††ƒƒ‚‚‚€‚~€€|{zzzz|zy{||}€€€€€‚„…ƒ„„……„„„„††††„…†………„…†††††„ƒ‚‚„~€~}|{zzz}{{~€€ƒƒ‚‚€‚ƒ…†…†……………ƒƒ„…†…„„…„„…„…†††……„ƒ‚ƒ€€€€~}|{}€~…†……„„ƒƒ„ƒ„…†††††…………„„……†…„„ƒ„„„…††‡†…„ƒ‚‚€‚ƒ}‚ƒ€€€~ƒ„ƒ…‡‰ˆˆ†…„„„„…††††††…………………„……„„‚‚ƒ„†††ˆ†…ƒ‚€‚‚‚~€ƒ€€€‚‚„†‡†‡‡†‡†…„„…„„††††††………………………†…ƒƒƒƒ„†…†ˆ‡…‚€€‚ƒ{{€‚‚‚ƒƒ„†††††…………„ƒ„…†‡‡ˆˆ†††……„…………………„„„ƒƒ…††††…„ƒ€€€‚ƒ||}€‚ƒ‚…‡††„€~~~|}~„ˆ‡ˆ‰††„„„„„„†…‡†…„„„„…††ˆ‡„„ƒƒ‚‚‚‚ƒ„‡„€~}{|~†‡†‚}}|€‚€~}}}†‡ˆˆ†……„„„…†‡‡‰‡……„„„…‡‡‡‡„€€€€€‚ƒ‰‡ƒƒ€|zy{}~…††€}|{{|{zz}}}…ˆ‡‡…„„ƒ„„††‡ˆˆ†„ƒƒ‚ƒ„†ˆ‡†ˆ‘”—˜™›š›š˜“‡„ƒƒ€‚…„~|}}yz{v{€||ƒˆ‡‡…ƒ…„„„…‡‡‡‡…„„‚„……‡‡†…Ž–’Œ‹‹ŠŠ‰‹Šƒ‚€€€€‚…ƒ}|‚‚yxxw}ƒ|‡‡†…………„„…††‡‡…„„……ƒ€†„zzz{yzzxxyy€‚‚„…„ƒƒ……|{zzzz€‡|~…†„„ƒƒƒƒ„†‰‡††‚~|}|zyz‡ƒ{}|z||zz{{€€€‚‚‚ƒ„||~~{|}}†{}‚„ƒƒ‚€€€„„„„„€€‚‚‡‰‡€y~‚|y||{zzz}~}}}~}‚€}}}}}~~~€~}|‚€€€€€€€€‚ƒ‰„‚»¡Ž}z|zy{|{{{y{}~~}|||}~~|z|}||||}|||~||€€€€€€€€€‹ ˜–Žˆ‰ŒŒŽŽ‘{{}~€}}}}}|~…}~~~~}}}}€€€€‚€€ˆ¤­³°©­²´´²®­·|{||~~€~~}~…~~}{z|{xxyxxzz€€‚€€ŽºËÍÎÉÊÎÐÑÐÌÎÒ~}}|}}€~€‚ƒ‚€ƒ„‚€}|{{{}€~|{|z}‚‚€€‚•š¬ºÅÊÌÎÎÍËÇõ}}}}~~€~€‚‚‚…ƒ|||}~}}}~~~~}‚‚¢–|~…Š‹Ž‘Ž‰†„~€~}}~~€€€€€€~~€€€|}~~~{wy|€~|}€‚‚‚€¨Ã°Žœ–„‚ƒ‚š§™ƒ}}}~~€€€€~~„„……~||~zvw{€}{{|}€€€€‚‚¨ÎÒÎÆÇ茠ÁËË„ƒ€~}}}}~€‚ƒƒˆ‹‹‡~|||||{zy|‚||||}~€€€~¥ÍÏÎ󜎊Š—®À‡„‚€~}}}}~€€‚‚‚ƒ„„€|||}}}|}|}„ƒ~~}|~}~~€€‚~œÌÏв‰~€ƒ„„ƒ‚Ÿ‘‰‚€~}}}}~€€€€€€€zzy|{{z|{{|{zzx{~~}~~€‚‘¼°·–€†‡ˆˆ…‡„„ƒ‚€~}}}}€€€€€€yvvwvwwwvuvvuuty€~}}~~‚ƒ‰†Š…‚‚€‚„„ƒƒ‚‚€~}~}}€‚€€zyxvwwwwwwwxxxxz~}}}}~~~€‚€€ƒ‚‚‚‚€~}}~}~€€€||zxxxxyzyzywyyyyyxx{}}~~~€‚€€€€€€{~Œ‚‚~~}}|}€€€}€†„€||||zzzzyy||{zz{z{|}~}}‚€~~~}{‡‡‚ƒ~~}}}}~€€€€~€‚ƒ~{||{{|}}|{{z{{{}€‚‚}}ƒƒƒƒ€~~~~~}}€€€~}€€€‚ƒ~||||{{||{yyzzz{}€‚‚‚‚‚‚‚ƒƒ‚ƒ~~~}}}}€€€}€‚‚}}{{z{{{z{{{z{}~~~€€‚‚‚€ƒ€|€‚‚ƒƒ‚~}}}}}}~€€€€€~||€‚}{zz{{|{zz{}}€€€€€z|}€‚‚‚€~~~~~}}}~€€€€€€€€€€~|~€}{{{{{{{zz{}}€~~~~€€€€~zyzƒ”‰‚~~~~}||}€€‚ƒ€€~}}}|{{|{{{|||}}~€~~~~~€€€€~yxy}„Š…‚€~}}}}||}€€€‚€~~}||{zzz{yyyzyyyzz{€~~}~~€~zxxz‚‚‚~~}}}}|~€€€€}yxxvutuvvuttvuutuv{~~~~}~~}€‚~zxwxy€ƒ‚‚}}}}}|~€€€€€|wwwvwxwxyxwxzyyyxwy~~~}~~~~~}~€‚‚~zxyzzƒ‚‚‚€~}}}}}}~€‚‚‚‚€|z{z{|}||}}}}}}~~~~€~~~~~~~€€‚~|x{{{~‚‚‚||}}}}}€€€€€ƒ„€~~€€€‚‡†ƒ‚€€~~~~~}}~€€~{|}~~€‚‚‚~}}}}}}|}€€€‚ƒ‡‡ƒƒƒ‚‚‚„…ˆ†„~€~~~~~~~~~€‚‚ƒ„ƒ‚‚‚„…‚€~~}}}}}}}€€€„‡‡„‚‚ƒ„„„†…„‚„…„‚€~~~~~~}~~ˆ‰‰ˆ‡…………‚—~~~}}}|}|}€‚ƒ‚ƒ„†……†……‚€€€€~~€€~~}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÍÎÏÏÏÏÏÏÏÎÎÎÍÍÌÌÌÍÍÍÍÍÍÌÍÍÍÍÍÍÎÍÍÍÍǾ´­¡Ÿ“}sfixjiinmrcgaT]a\\c\S\b^`WQPSZY^e^dSTWVTVTTYUPW`^ZWTMD>8<:522?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÂÊÎÍÎÎÎÎÎÎÎÎÌÍÍÌÌÌÌÌÌÌÌÌÌÌËÌÌÌÌÌÌÍÍÎÏÏÇ´š¢˜tys^\^q{m\_nlg[YZ[_YVUN]g_\SOOQXW\gigOT\`YPPLQRZ_a[VNNKA@75542086ÎÎÎÎÍÍÎÎÎÎÎÎÎÍÍÇÁÄÀÈËÌÌÌÌÌÌÍÎÍÍÍÍÌÌËÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÍÎÏÎÍÀ£ˆˆrklmkmlot{y^a_cdY[[[\]SRV[cY[ZVUTTSWZhcPQX[ULMMSS\c`a[PFC@;741110.0ÎÎÍÎÎÍÎÎÍÎÍÍÍÍÍÈÂÆÁÉÌÌÌÌÊÉÊËËËÉÉÊÊÊÊÊÊËËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÍÍ̵—zkptyt}~bca]fX`cc[[WVaYTYdeROSVXSMLVNXgQNSWYQMROPX_^_VTUNG?;7432/,,ÍÍÌÍÌÍÍÍÍÎÍÍÍÍÎÉÀÂÀËÎÎÎÎÍÍÍÍÌÌËËËËËËÊÊÊÊÊÊÊÊÊÊÉÉÉÇÉÊÊÌÌÊÊÌÀ’…€r_j{kcg^`aWi`XYTTM\`^`ol\POT\TMJSQQXTYZXUNPPV[`XWYQOYNH=>@;52/,+ËÌËÌÌÍÍÍÍÎÍÍÍÎÏǹ¼¹ÉÏÎÎÎÎÎÎÎÎÎÎÏÎÎÎÎÍÎÍÌËËÊËËËËÊÊÆÊÊËÌÌÌÈÆħŠwxnf\jnnd_`\V[_UQ[SRPYeeegbhVPUYSPSTRQXRX\aVRTQYY\YYSSOPOI>?=6650.2ÌÌÎÍÎÎÍÍÎÎÎÍÍÎÏĻżÇÎÍÎÎÎÎÎÍÎÎÎÍÍÍÌÍÍÍÍÌËÉÊÌÍÎÍËÇÅÊËËÍÎÌÇÄ´¡}xpeUQb^Y^`^]b^VSQKLUY`aci`ZSOOPNJSPSP`KTUZ[W[Z^ZZWRQSOSJEC?B;530/4ÎÎÎÏÏÏÎÎÎÎÎÍÍÎÏþËÁÅÍÌÍÌÍÍÍÌÍÍÍÍÎÍÍÍÍÍÍÌÌÉÊÉÌÊÆÂÄÁÆÇÊËÍɽ»ªŠ|pURQPLTVnndbc\YLD@LYPZba^VTRKLJHKIQLYMRUVVW[ZYY\XSOSNWNCH@=<3.---ÏÏÎÎÏÏÎÎÎÎÎÍÎÎÎľÊÁÃÍÍÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÍÌÊÈÈÆɾºÂ½Á¾ÅÊÈû¬Ÿ¨ŽytaUYYVfg]ofg]UUQQXUcUO[\SOVXSKHEOQQYXRQY[UTWVUNMZVSWRWV?66110..--ÏÎÓØØÐÍÍÌÊÊÉÊËÌþÈÀÀÌÎÎÍÍÍÍÏÏÎÎÎÎÎÎÎÎÎÎÌÃÂÁ¿Ã¼º®Á·¿µ¿Æ¾½µ¢…„~qˆyd[_[[dkTn\S[SNTT_\UNPSWQQRUWLKKSRRZg]MUXVWUUZRJ\YY]]MC<7541.....ÎÛêðïäÔËÉ¿½ÀÄÈÁ¾ÆÁ¿ÊÌÌÌÌÌÌÍÎÍÍÍÍÍÍÍÌÍÍÌÅÀ¼³¼º°¡¹²½±µ¾³»²”„}}nfeba`TZcZScZRY]PSSW]UVTNNMKKLSYWORPPOaZLY\YQLMXZPWXPLIA8=<:73/---.ÚïÖ¯»æêξ¸²°¶¹¿ÂÃÉÅÁÉËËÌËËËÉËÌËËËËËÈÆÈÅÃÁ³¯¨¬¯¥œ¨¬·®µ³®¬Ÿ€twtlkR`dYXcWQ[i]X_XLPRT\`bUQMLKNRMSVKOTNR[^Y`\SNKMYXQYPOWKCD>:;973/...íÉ}gn¡äÛµ¯­­³²¾ÄÅËÈÃÊÍÍÍËËÊÆÊÌËËÊÊÉÇÁľ½² œš£¤˜•¡¬®«®¦§™ƒtlidjmZSWVa`VV\ZY^TRXTSUU_WPSONTUQSUWQOXQRX_X^XX[W\`TRXWSP@=E;866763000ã‰wvq‹Ç麬ª®±±¿ÁÄÉÈÂÊÍÍÍÍËżÆÌËÊÊȺ³µ³»®ž•Ž™š˜‘ ³®«ž—vhceTg`PLHOWaWQR^h_`n^^b^TVNPPOOQVRUSTXR[OO_^]hZc_jf^RPLLIK@;756679×m“¾ãìκÞêŵŸ»´¹¹Çźª  •Œ–š–ŽˆŠŠŠŠ‡…‚‚€x}ƒ~|~vwvrqmlgY\dcbWQRWW]\bWT]SW_[UQIOMMJACDA?EFEBQGTX[W`b`\RcaVXXPKGDG965569<=GFXK`q—ÀâíäÜêéááäãäååçæèëïÄšš•ˆ‹‘Ž‘‹‹Š‡‹Ž‡Œˆ„‚‚ƒ{}Š€ywuqsrnhcW[eaZQVOQ]gbcVMRSiZaXMPQOIHDGSKCJLLFPR\^ZLYdddT_dVOW^PD@@<:9879=@KBZGMl‡²äíìíëëìíìííííëèåç꼎Œƒ‡‰Ž‹ˆƒ‰”ˆˆŽ~~…Š|Š‚y{wwvuwtcWQZYZVZVN[ZZ^eghmqkS\\SMRQFDEPWQQOOPHJWY\ZON_Z_]^hfV_S?99<<;;;:;><>@S“fyÙêëëëëêèäáÝÛÞÒÌÅÁÄšƒ„…€„ˆ‡|‡ƒ‰‘ƒ‚ˆ~‰‹„~‡‚{xvx|uvp_X]`UVSSV`XPM^rsbZ]gQTNLTSMLIC?KURSUSO\cde[SYY^\R]XSTF;99;:69:9:>==:7787Wq@989<;@FGFdéð÷Îl­°¼h@DHh€pg`LJKF}w|}|ŒSNORX^^R\nlQHGMgihbXELttnowpig^QVVUYY`]XFERW_W[ZXVW\UOIBEA>>><<@JOW`[UWZRWXNJB:7543330ŒàO37886;DFFjÄÁ͘^œš¥\gB<^vkqP99C8z”™‰~ƒc?_sŽ•ŒO?4/059@VXV[^YCXuikskig_N\l^URZ[ZSPWWYc_XV[YUMHEAA?><78>CHI[hXTYYZ[YJKQXajpwz~‚¤½Œƒ†‡†€{unh¼ŸfUEnæË’CRKFCFBHEEDC>^´ðÅ}„JK‚¦«±³°ŒsY[]QPND223<\Ejohmihcc[fpd[NQ[ZVRSYV_YV[fYOHBB@ACA@>CID=IZjk^LPdSMwž¢ž˜•“Š…{€‚‚‚‚……‰ŽŒõÃaMDnèÕ°Ž”—œ¢£¥¦¦§£ž¤Ãܳ|ƒxLTf±°©—¡Âˆ†£YOQHB865bWZtfgklga\[V\[QOVUMNS][YX[_\STNGABGIA>BQPHR[^hŠmOUYJk“gngb\YXWWUUUSSSTTTSSUY—†^HD[™¼ÐÔÑÓÕ×ØØÙ×ÖÕÔÒÖÍŽ{|ˆfaQ6NME=ILYnkmlRNMfgM36OrLpgdhszhUUVTQTNTXPOZ\ZV[a^YNRTQIFLQK<>MUNdkju„hZ[SH|oFPWZ]_aJ><;<;;6579<>HRRQMJLzeLKIQÌÜãêêéÕÐÛÝÌÎæêäàØÀ}y€X}656b€UBOLLJKMMMGjtV:<[ŒlOb`ZZidVNW[_[YSMNWVZd`aYPOUSME?=FTYSYcene\YY_bdiilŒXŽ°µ²ª¢šˆMA68@DEJJ?<;;60^‹I^`dbaa`VXYYTQMPNR[[TYZUNOZSPT[Vk‚xcjxl\TW\]^_dhh„[PkeSGA;@HM@HFEDF?8889;Y^M/-E‡ÌìéìêêëçêëããëèîêìÔ~{jxe:DD|’¥`C7335?A>B‚Ÿ=64G˜P[afc_a^ZZTVTX]`UNYYOMNS[ZYZdw„‹‡dcqjTQXZ[[\bhlp—o\=J:489;EFAVŠPBC?9:;:99wxpTTa{©ÑÖ×ÖÙÔÑÓÖÖØÔÒÕÔÖ½€€`„YHMH_„uRLG<<<<868rk;969”gVifbirooqlqz†‘ˆˆ‘Ž‰‰°€}€}z||obmm`TZ`^\[]feis¡`X8I879;8AE85=>BC<=CDD<7oonqtutw{~€‚ƒ„„ƒxkiuZ”WVYY}{]FHJKLJNHK^‰”`?=;8ŒkKkE?Bgwuxzyxvtuuwvwyz€‡•¥³µ«™‹~rklkmokhfb^]^[[a~žTN7@79UhO=:5326;>;?DDD<4pnkklmnqtuttsstvwy{}{I;7i‚IqO^^BRCDLV]\XNOELQjnQF?97J0SkimpqtuvuvvtrqrqppqvŠ™¦®®¦ž‹}shgfeb\ZZUfŒHH?E??sƒ~B;5344557;>>><7spljijjlmprsqqopppsvzv=68=KE87654Ypijjjjjifdcdbbcbdgkosuwwwuqnmklnpomlp{‘¬½vNPN^fRMV;57=BBDGJRgllqgLA@<<865443//3E˜´®‡i€‰ŒŽŒ‡„‚}zrhccba`aa`_bfjlpstvvutpjggkmnnp¨wf\`[XXWZie\ZYWVVWWWWXZ`\Xnpqstsrqojfda`bcdefgiiiluiS~¦©·u8/01223582364116a}’§¶¯¬¬¬©¦¨§¦§¨©ª©ªª£‹iigc``aa^]_adjmprrstttpkffilizšn`TUWWWWWVXVWVVVVVVUUUVVWWkmooqqqqrokfba`a`bcdeghjtc2m¢ÄªÇ‹II??A@:8”°>oÏ׆8¡¤HCbãƒ[ceijlnoprssqpmhcaa`_acF,,167:@FN[mœÑ×ÛãêéåéÀ‚Wj æÞÞÞÝá»M\aaKáÝÚÖØàØ[sTejigcbcdfhgd`_^]\]\Z\\_bekM@CLNRey¢£âö€DARÏ“c¹ÃryÙdFOyÜÆ{\dhjklmnqtrrpolgca`_`bK--/26=FQayžªðèííëëìï¸t[au°±³¸½»L]eeQkÐßØа–DacZjjiea`_adfeba_\[]]\\Y[[[bN@BHMPRVZl®ªznhW’鞥°”Þ²ZiqqxÌÂr[dffhjloprqopplgca``aO/./04;BOd§¥ðïóóòòóì®ec[?;;=@BA8::87:7>txRO<49::7?J>GJMQVWbkorsw|ƒ‘¦¾½§”‹„~|yu«ÃШ\[aegikmnoopqpolgbabP2302@qé²VLTq^WY^`a_Š’OiK?97;<87645=A8767AJA78?8Z\Zkklllkifaadghjhfedaa`a``N<=HILPUWap{‚†‰®ÉÉÊÎÎËÌÑÓ›}|vw¶ÅГW^cehjklnoppponkgbbO47/05fÆ™mqƒ”–˜œ¢£¤®¤|OgFG@BTWJ??7444365A‹›v;875FfTlkilmlkjhdbbehjkigdba`_bQ8:IJLOSW_lrprzÌîçæèæíììò£hhiN‹¼ÈÊwY`cgiklmoppoopmjfdO49../5FM?9AG><<@IOŒžlScIRNKNMKJOJ944467Is©‹KNK<@KYWMCADZGA;;EQRQJ@@?>B@?NgO}sQ]kjjjkjheba`begiigeQ-7ILPUkgb_O<+-,15@=@F876.-4JOJO‰»ÁÍ‘X\adfhijkklnnkllR-<3/=1,+*))+**7Xj†ŒuoVRRSTUSQRRWWUVVWWY[\YXYZZ[]`_j]\PThjiiijkkjgdaa`cehiiS*7FEFÉ‚bPKLGJHKJjXXaTU\MNKS]RMU—»ÅÇwT\_bdfhijlmmljcL,:52DOG>762+***/9UŒqsa^]\[[[[[\][[\\\[Z[[[\ZZ[[[]^eYC[hfghhijjjjjgdc`_`bfkT&7D>C‘Ò{^]`G?FFCCEBB@???=59]fXPJ_¨Á˾kZ_adfggikkkjdYH-8532@CC71.+-05:ANT[rZZYYXXXXXXXXYYYZZZZYYYYXYZYY[dODbeffggggijiiigec`__`gT%4@=AIJLNPRSVRP]ml`PLJq·ÁЮa\acdfghjjjji^K34/00-+,,+)*-.0.>=:866421110.+imw]OLVœ¿ÊÎ…[acefghhiigd`XQOORTTSSRTUVVVWcire€‚y^WXXYYYYYYYXWvmr’¥«­°±±±¯¯®¨«°°±²²±¦€jggfdghgfa[J%04A`<(&&)$#"""""!"""$$%'),;rpmgXPLd¬ÁÎÈy]cefgijjkigea_]\\\ZYYXY[]`cc\jŠqz¬ÈÃ…^Z\\\\][[[Xl‰£±®©¤žš–’‹ˆ‡„ƒ€€‚„ˆŒ•Œ]ngeddee[RMA$143A>:68;:75444203655678:=@qlmoeSVg‡¼ÈÔ½j^ddfhiijjjifecb`^\ZZZZ[^adfVmsd€ÚéáÔƒ^cddfghhjo•yŠ‚ypjd_ZWUSRQOPOMMNQUWW`^vmcba``[SLB%03,#)::;9869987667877676432llnlhXOPPÄÇÔ§^_aceeghikkhggeca`][ZZ[]_acTdYRfßÜÇìÑmmpsutuuw{‘j\WOKHHJLMOPTeOLJIGFFDDEDDDLedaabbcaTF,//,-44//-+)))*)((((((()('%$nsqnmcSLJX§ÅËÓŽZ`cdeghhijiiihfed`][Z[\]^aRYKIO«³œìßttz}…ˆŠ‹€qKBB?@A@?==<:9;88888778899998Ibca`a``\O:.)(+/*''((&&%&)*(&'(((&&'+0lsrrswjTNJm½ÈÑÇn]bcefgghiijjjihfc`]ZZ[Z[`RLIHIPWe·³yžµº¾ÅÍÒÌžW::8899:::<>@DFIOSUUUSQQPPNJHIFEFINmnlkjlg\RMM•ÆÉÖ¥[_adefggghijjihffc_[ZZZZ^RDJHJNSY`n ÜŒ[WWYZs’C<H`a````^\ZWVUUUVVVY_dfgea_\[XURRSQPPRmdcef`c^SMJcµÄÎÏyY`fgeffghiijiiggea\[[ZZ]SCHIJOQWbv°ÛM5:998}w9@8<<;;9?DB>o|G7A<9643444554;139=<;4@@832333653=[MH?8533>?C\bacbbbb```aaaa`_]\\_cikjfa\ZYXXYXXhrkhnossf[NLJr·ÂÐÌs\bcdefhhhhijjihgeb^][\O9BHEIPXds˜ÏpqãóóÌŠ;A8218asL/8921110246:HNJMMH=419A>Paaabbccbaaaacccb`^\[^cikiga][ZZZYYtwplqpolorZLJOÂÇÖ±`acddfghhhjjjihhhe`^\]N4@JFIOYcqŽÎ}_ßòé²g9A413Kp}\61/0000/248CAJR[Y[V?16B=GaW99:Icbbbbbccdeb`^\\]chjjgb]\[[[ZqplhlmifikeLJK`®ÂÊÖ]cdcfghiikjiiiihfc`]]O/=JGHOY\f¸„Q«Ýâ¡N;A758Wˆz…L<90//0/04?GKPR^[[YD23A>CYT4543Wcbbcccbcddb`][Z]cgiiga_\[ZZpmmdilospojRIKKz½ÁÐÇp_dcfhijjjjjjjjjheb^_P.:HEe¥©sPa`B=>^›ˆD;A?FB@TVPDBB6-////6IFTHUd]UME42?>>A>343/Udbbddcbcdeeb_^\Z^cfjjge_\[[gecbgirsoss`MJXhš¿ÅÔ¯cbdfghjkjjkkkkjigea_P2:EEiÙå©SQ<>GKKf`A;ELrZ>A@@B@@=332138CEM?Sa[QOF8/66:<5/08Fadbbddcccdeeeca^[\_cgjkkhb_^djlhnpklpsplUJMLY¨ÂÇÕ•^beffghjjkjjkkiigdaR/7?HKˆ½¦`Q69eK@?A?7KSI?==;::98;<;8896667568:88AJEEB:;qº§hbccbbcccddddefeda^]\_chkllidbxtsotrkjlkhkfLIJIo»¿ÎÍw[adeegghhiijkjihfcS)48CGLXcfpjXTC[Y@>45535444568:@BA??A>9:;;::;<<>BB=8L9SÑå¦_ccbbccdeeeddeeffc_\[\bfjlljfy‚~qkkigijnkcPJMLL’ÀÀÓ±\\`bcdeffhhijjiif]K(44;=;:=?DKME½•H^;9<::<<=>???@FLHFFHHIKMMNNMLJIKTMzc9kqobbcaaccdededdddfgea_]\]aeilljpuqttlmglnnlkeYNLI`µ¿ÈÓX_bdeeefgghihef^RC)4024.++15@:7¼‰F†kE@GMQV\^beeiknpnlmnnnnmmnopnnqye{‡SN]\kkbbbbbcdcdcbcdefecb`^\\`fjlmlurstloihkllotiQJKL“ÅÆÖ¸bacfhfeeggghgdb^UG)217739==<<<;:::::;;::;;:;;<==>>?@Ibjac¡Á¾—bdcccbcdddcdcddcbb_\[]blklmqtuptljmljpgQJJLLŒÈÉÔ¿ldegghhgefhedc`\VJFFIJJJJJJFFj|eI==<<;<<;:9988777777877778789;;;:99::8D[b_‹äïéa`aaabccbbbabcbbbb_][\jpusopqmpijifjqbKKLLK^·ËËÔ™`fgghhgfggfedb^[WTTUUTTTUVTFdhXB89:::9::788786676589:9:;:99;;;ETT`t~cAEaa_¯®žd^`abbbaabbaabbbbba_\Zpwupjhjmoiilwsue^YLMNP‡ÊÊÐÉubfgghggggggeda_][[ZYXWVVXUF\h^HC[TDBD?;<==>?BCCFXpPKIHFDDGKI\Š¼ÞÒ§®È¾>>`a`\[Y\`_`aa`abaabbaaabbaa`][gikga]aiip{wsvoindRLNQ[²ÊÇÖ«effhihhhghhfecba_^^\ZXWWWVFRQLe°£ª˜ÀÁ­ŒfINLJKPUP`^XX\[YVRJKªúæκ¿Îí¯89_a``````abbbbbca`abaaabbaba`_tnmmjoqtiqrstu|k]SKKKK|ÆÄÏÕˆaeegggfefgfedcaaa`_\YYWWWFKAAjéÄÅ°Æ×èø´KES^bah£›£ž¡¥pNPLF5MwÈæ×ßììâ|75`aaba`__abbbccbaaaabbaaaabba`„|‚€yu{vjgowwy{re]RKKKKR¢ÉÇ×¼e`bdededfffffdbbba`][YXXYFI99OËõêáÉÈå×€V2220,Cqz~{~eT')*,=\uh‹šmV;33_baba```_`a`ababbbaaaaaaacdbaƒ|t~xsqimtnigniaccUKKK]d»ÃËÙ]bccbegffggfdddcba_]ZXYYEI13An­¶¸¸¯ rsvG57:;@u¥¥§ªŽODEDCL€‘q^RIC;6363_cbb````abdccdedcbbbbccbabcbb~xvysnr``iqztijeYLLJTZZ˜ÂÃ×Ág`cbadefeeffddddcb`_\YXXFI1/779<:522@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÂÊÎÎÎÎÎÎÎÎÎÎÌÍÍÌÌÌÌÌËËÌÌÌÌËÌÌÌÌÌÌÍÍÎÏÏÇ´š£—tys^]^q|n[_nlgZYZ[_YVTN_g_\SOOQXW\hhgOT]`YPPLQRZ_a[VOMKA@75542086ÎÎÎÎÍÍÎÎÎÎÎÎÎÍÍÇÁÄÀÈËÌÌÌÌÌÍÍÎÍÍÍÍÌÌËÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÍÎÎÎÍÁ¥ˆˆqklmlmmpt{y_b_cdY[[[[]SRV]cY[ZVUSTSWZhcPQX[VLNNSS\c`bZQFC@;741110.0ÎÎÍÎÎÍÎÎÍÎÍÍÍÍÍÆÂÆÁÊÌÌÌÌÊÊÊËËËÉÉÊÊÊÊÊÊËËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÍÍ̶—‘zkquyt}~bda]fX`cc[[WUaYTYfeQOSVXSMLVNXfQNRWYQNSOPX`^_UUUNH?<7432/,,ÍÍÌÍÌÍÌÌÍÎÍÍÍÍÎÈÀÁÀËÎÎÎÎÍÍÍÍÍÌËËËËËËÊÊÊÊËÊÊÊÊÊÉÉÉÇÉÊÊÌÌÊÊÍ¿’Ž„€r`j{kch^`aWiaWYTSM\`^`ol\POT\TMJSQQXTYZYUNPQV\_XWYQPYOH=>@;52/,,ËÌËÌÌÍÍÌÍÎÍÍÍÎÏǹ¼¹ÉÎÎÎÎÎÎÎÎÎÏÏÏÎÎÎÎÍÎÍÍËËËËËÌËÊÊÆÊÊËÌÌÌÈÆĨ‹wwnf]knmc_`]W\_UQ[SRPZeeegbhVQUYSPSTRQXQX\aVRTRYY\XXSSOPPI>?=6650.3ÌÌÎÍÎÎÎÎÎÎÎÍÍÎÏĻƽÇÎÍÎÎÎÎÎÍÍÎÎÍÍÍÍÍÍÍÍÌËÉÊÌÍÎÍËÈÅÊËËÍÎÌÇÄÁ´ }ypdURb\Y]`_]b_VTQKLUZ`adi`ZSOOONJSPSP`KTUZ[W[Z^[ZWRQSOSKEC?C;530/4ÎÎÎÎÎÏÎÎÎÎÎÍÍÎÏÿÌÁÆÍÌÍÌÍÍÍÌÍÍÍÍÎÍÍÍÍÍÍÌÌÉÊÉËÉÆÂÄÁÆÇÊÌÍɽ»©‹|qUSRPLUVnodbd\YMD@LYP[aa^UTRJLJHKIQLYNRUUVW[ZYZ\XSPSNWOCHA><3..--ÏÏÎÍÎÏÎÎÎÎÎÍÎÎÎÄ¿ÊÁÂÍÍÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÍÌÊÈÈÅÈÁ¾ºÂ½Á¾ÆÊÇû­ž¦Œ~ztaUYZWgg]oef]UURRYWcUO[\SOVXRKHEOQQZYRQX[UTWWUONZVSWRWW?66120.---ÏÎÔÙØÑÍÍÌÊÊÉÊË̾ÈÁÀÌÎÎÍÍÍÍÏÏÎÎÎÎÎÎÎÎÎÎËÄÂÁ¾Â¼º®Á·¿µ¿Æ¾¼µ£…ƒp‡zc[_Z\fjUn\T[TNTT^[UOQSXQQRTXLKKSSRZg]OVXVWUUZRK]ZY]]MC=8641.....ÏÝëîíæÖËÉ¿½ÀÄÈÁ¿ÆÁ¿ÊÌÌÌÌÌÌÍÍÍÍÍÍÍÎÍÌÍÍÌÅÀ»³½¹±¡¹²½±µ¾³º²•„|}ofcbaaT\bYTd[SZ^PSSX\TVTONNKKLSYWORPQPaZNZ\YRLMXZPWXQLJA8=<:73/----ÞîË©Ýíо¸²°¶¹¿ÂÄÊÅÁÉËËÌËËËÉËËÊËËËËÈÇÈÅÃÀ±¬§¬¯¥œ¨¬·®µ³­ªžtwtllS`dZXcWQ]i]X`WLQRT[`aUQMLKNRMTVKPTNR\^Ya\SOKLYXQYQPWJCD>:;973/.--ïÁvgk—ÞÞ¶¯­­³²¾ÄÆËÈÄÊÍÍÍËËÊÆÊÌËËÊÊÉÈÂľ¾² ›˜£¤˜•¡¬®«®¦§˜‚tmidjl[SVVa_VV\ZZ_USXUSUU_WQSONTUQTUWQOXQRX_X^XX[V\`TRXXSO?>E;8667530//á†xvr‹Ãè·¬ª®±±ÀÁÅÉÈÂÊÍÍÍÌËŽÇÌËÊÊȺ²µ³»®Ÿ•˜š˜‘¢³®ª—œuhceTg`PLHPWaXRS_h^`n]^c^TVNPPOOQVRUSTXQ[OO_^]hZb_jf^RPLLIK@=@8755564//2À€Šwƒ½æ¾©¨°¯³»¶ÁÈÇ¿ÈÍÍÍÌÈ¿µÅÌËÇú©ž›š¡¤›—ˆ“˜¬«šŽ‘„uddh[\UQSTQX__\il^PT`NXpo[QOJMMJFJMNONLQXTX_TRXW_g\YUPILFEECI@8534454/16³‰ˆ}„¸æÆ£¦°²µµ²¼ÈƸ¿ÊÉÌÊȾ³ÄÊȾ³¦™œŸ”–”‹ŒŽ•“‹‰—ˆˆ‰‚~vtocXTY[XOV\UU\h]RP^hg^^]TTLIJHIHGEFMLT^[V[VO[hffV]TLVTII??B9854434437=‰ƒ…‹»äáÒÍ´®®«ª·Äº¬°´³»¶Å¼°½Ã·ªŸ¡™š¡““†€ƒ‡ˆ€~‹Š„ƒ€‚€yvoaWXUU\[TYUSYfPPO\ebQQ[XSLKLIKIGLJHQU\`QYQPmrcf_a]T_ZVUG<:;86543375;?—Œ~„‚Ž½ãíîêÎʦ ¡¨©Ÿ Ÿ ¡¡§¶¯¥¡¨šš— ™˜ ’“…ƒ…‚ƒ€xƒ‰ˆ„||{~vqojdXQZgZQTRU_XOX\]_XQRQRRMKPPKMRPECKNT_PQM^aa`Yei\QT]YGTF=<<956648:<=ÞÆ|ˆ»ãìãÞåë°žŸ¯¡œŸ¤«¥¡££Ÿ””“œ™Ÿ›’™ŒŽ‹‡‡ƒ~‚xˆ„z|ywqhieYWZPW^XT\Y\ZVZZ[^[VPKWUNMOJABEE@@FHHQJRTX\bX`p]_OZ`\IEC@><756679=??©“jrŒ’¾ãí͹ßèÁ´Áƹ¼´»¹ÇĹª  •Œ‘ž–š–‰‹Š‰Š‡†‚‚y~„~|vxvrrmlgY\ccbVQSWX]]cXT\SW_[VQJOMNJBCD@?FFEBRGUX[W`b`]RcbVWXQLGCF975669<>HGIOOl‡˜ÁãíãÚêéááääåææèåèëïÄ››•ˆ‹’Ž‘‹‹Š‡Œ…‹‰„‚‚ƒ{}‹€y€xuqtsnicW[eaYQVOR^fbcVNRTj[bXNQQOJHDHTKCJLLFQR\^ZLYdcdT`eWOX^QD?@<;9879=@KBdN@cˆžâîìíëëíííííííëèæè뻎Œƒ‡Š‹~ˆ‚‹•……Ž~…Š€}Š‚y|wvuuwtcWQZZZWZUO[YZ_fhinrjS\\SMSRFEFPWQQOOQIJWZ]ZNO_Y_]^hgW`S?:9<<;;;:;>==>>XZ`bk£ðíììçàÞÝÖÔÖÖÔÐÇ«Œ‰Šz{}|wx~~€ƒ‚…€‚ˆ†„ˆ…}~z{trvzytokg^SMKYW[QUX\[XHY_Z]YZaXKMUPNKMOOQTUYVZmc[\[[VYYRVKNJ=984^x87888;BECEMMLPl˜åéæ×®ž•†ƒƒ‡‹’œ¤€}{{}~…‘œ¢§¨ªª©¤¥¦¦§§§§¤ ›‹onwyzrh`bURSF@NVVVZZPLIUY\\V[d_TMKILONMJHINWXY]_Z^VUSWOKLHB=8786Tƒ<789:=AHJHSƒ«¬Ù†ºÑΠJFEDNPCEEGGKŒ€|}{||†¥Ÿž˜Žƒ|uqtxojjllnryƒ„‹|hpvynha^PRSGJQUY]VPTRUVZUWXZ`\SLDCADGIEFGJSW\[UMTRTRTMFED=:7886Xt@99:=tŽvz}~{“ƒ\YTRRSYg–x_Z[[][YTKKqtmowqih^RVWVYZ`]XGFRW_W[YXVW\UOIBEA>?>=<@KOX`[TXZRWYNLE;;98654/ƒÜJ15677>GII_¹«ŸUŒ£¬ckK?FhZeS96=8Tš£Ÿ€~‚MIYdpz];964564PkkllbIIqikskih_O]k]USZ[ZSQXWZc_XV\YUMHEAA??=78>DHI\hXTYX[[VHA=89<@EHKMŽÔgORRUUTSPOɳwPGLÎÞªNPOQMRPPQQPNJPèèŠ}‚q<`Œ™¡¨ªkU><@GHKK>:=BQGXminihcc\god[NQ[ZVRTZW_YV[eYOHBB@ACB@>CID=I[jk]KQeTG?Oc€“™žžœ›™˜ššš™••“ðÙzOJJ´Ñ¾ª¤«­°µ·µµµµ³²²Ã½¬‚{…ZNT¤¸¸¶³®¤³ŽwŠsNRN<555CdHkghkmga\[V\[POWUMNS][XX\^\SUNGACHJB>CRPIT\^h‹jQVXN>Y‘’Š€xsqnjgdeeggfeehkq|{nJCQ}ºÏÖÖÙÚÛÛÜÞÜÚÙØÙØÚŸw}{„Oi8e‚wiab^‘“x•vMPR]R768pN\gehszhVUVSRSOTXPOZ\ZV[a]YNSTQJFLQK=>MTNdnjv…f[\SJ?…zPSSRQQPJJHGFFFGIPQQPPWogGHQ€ÅØÝæçèëííçìîìéèåܽ‚{~zXj223219KLKMQOLOG\ue>5S}jNhgdbn_SU]YX]VOSQSP[^Ze_VUQOIHHDGJEBHPNThkkurbcjiXP‚VTjsvz~‚T77778:;DUZ\]\‚lNKJFzÀÜãêéìѹÀܽ´ÒëãàÛÓ“w‚hl^14?TP=MNONMMMMIZ}aE3g›ŒF]`[[jdVNW[_[YSMNWV[d`aYPOVSME@=GU[U\fhnd[YY_bejlhoˆU—¨­¯°°µB768=ACLOHE@>OH;999y¾áçëéèê½Û¼­Èèâåáßœu…[~J34O™NKICA@HNNIHkyO74DEEKE9::;`gd:.5k¬íêíìëìæèíèäìêîîìè–r[‡<::]‹˜€G:334@LHFS—^573|xJ`da_a^ZZUVV\baVPYZPMNV_[X[ey…Š„bdqiSRY[[[\dilvy—m\>Q>5557BG\vICDDH=7879wwv`V\o‘ÃÌÌÈÊËÈÊÍÍÌÊÅÅÃÄÂ{yc‚>JGVƒ‘{KH:667:68N˜•N862`’Jkmnqtooqns{†ˆ‰‘‘Œ—µš~€|x|{nbmmaV[a_][^gfjqlŸ_Z;K7798?>:onmptuvwwy{z{}~~€€€}||yw}ypn|GQLb}QIIEDEEB><\‘‹I=;5Q¡JhjUTdvuxzxwutttutuww}…‘£±³«™‹~sllkmnlifb^]^[Z]]xTP7B57BK9??2.5;EK??EFE:pnlklmoqtuuutttvxy|}€lJDZ†emzOsLo^UILTYZRQQOXr‰oG==7Gu;XO;::fjloptuuvvvtrrrrpppu|ˆ™¦­¯§žshgfeb_\ZXViKG84456898=AA@9upmjjjjlnpqsrqopppsvy{T7=AlR@D?H7>DBAGKIHED===?UPLL=788><675?efeeeggjkpsuvutrponopooosz…˜­¾º¤Œvjga[Z[Yj“xCGEH@Du†p@?933447<@BBBByvrnkjjjklnpppqqqpppqt]70/0GO98677::75556666878789;;<=DM55FScjheddbbddfimqstvvtsqmmnoppollx©¸º± †dR`qtf@bULDDQeFDIG;955:Š¾H€àá~KƒGEhÆ{\dhjklmnrtrrpolgca`__bZ3,.269?ENXp…×íëìíììïì£behÓâÞßßÞàwNYgTQ´äßÜÚÝå³MuQjjieba_aefecb`][]]]\Z[[\`dG@DKNNTh‚”ãÞwQINË©g©§fªËNN]xËÂr[dffhjloorqopplgca```\7-./3:CO^v¢©ÏëêííííðܘVmP‰˜›£¦¬ŸPS\[SŽÚÒǹ¤‘k;pUbkkjgd_`bdffdc`_____^\[Z\_H@CHMPTWWbunrpeí¿½Á¿ì—gppjÀζbZacfiklmrqoqqolgc```]:-//15:DP^vƒ¼ñêçåäâßÊŠTlI9679;;;<87535::7668JQ@69<:hPckkllkkjhdcbehjkigdba`_`_J;>IJLQUWcpy}€‡ÃàÝÝßàààáäšvuL†»ÉÊwYadhiklmoppoppmkgc_9;0//8r…`M[dfgghnox¢šYbTHF@MZSGB@6443574[ Ÿe:;74ZW[kjgklkkkifbbbehjjheb____L6EVYSGB>PPC>:?LRQPF@??BCBFXfP‚`Nfjiijkkjgda``cfhigcI.:ILNfƒnbVK<,-,.2J>GO>AD58A^SMR‘ºÅÇwT\_bdfhiklmmmmlc2770BK91.--,**-F\u‹ƒqcTTTTUURTUWYUWWXXXY[[YYZZ[\_bamXZM^ihhhijjjjgdc``acfiiK):FCJ¨Øz^RPKQSQQQgVVXQQTMKFgYPJ[¤Á˾kZ_adfggiklmki`X16661FJG?78/)*+09Gp†nk]]\[ZZ[Z[[[[[\[[[Z[Z[[ZY[[[^_eNDdgeefgghiiiigec``_adkL%:B=Gˆ¤j^dcD69:9<<==<=;=94BlaPLJk´ÁЮa\acdfghjklih_T3644179880-+.158:MJVfgXYYXXXXXYYXYYYYZZZYYYYYXYZYZ\fElqaddfffgghiiihfcba_aeL$6><>JUYaknfWQNRWZ\]^_^aabmloeRLL€ºÂÓœZ_bdffgiijjicWC5../,)()()*),-+(WVakdUXWXWWWXXWWXXXXXWWXXXXXWVUTTSfR—’\```bcefihiijigfc``cJ#4987=DKU_dliddc`___\\[YYYYimw^OMT–½É΄[acefghijihd_WGB?CEFDEDCCDGHHJbrŒjfY[WVWWWWXXXXWWXWVUTTTVY^dhksy„…ƒŠ‡†„~xvqiqnhffghhedaaI#4299++,,*)++,,,+))('&'&'&%rpmhYPM_§ÁÎÇw]cefhiiijigd_YWUVXWWVUUWX[\]`d{ˆfx‚mXXYYZZZZYYYYZxjr‚›£ª¯°²³±¯¯¯°°°°°²±±¦€jgddeghgd]VB#32IcC.*,0,)&''&&$%&'()*-15qlmoeSUf¹ÈÔ¼j_ddfhiiiiigeba__^\YYZYZ\_ceaZ€zzÂǬpZ]]\\]\\[[XqŒ¨°®ª¥ ›–’Œˆ……ƒ‚‚‚ƒ…ŠŽ‘—]nfdedcaVNK<"32.,2<;;;;97676557999999:;lmnmiZOPNˆÃÇÔ§__aceeghiikhfedb`_\[[Z[\^bd_Yvem«íââ³facdfghhhjq—u‘„{smf`\YUSQRQQPPQSTUWY`^wlbdbaa_YM?%31,(088874342221344444320/nsqnnfUMKU¡ÅËÓŽZ`bdeghhhjihhgedc`][ZZ[]^a\W^TL§êÍØí˜foqstttuy‘e_WPKJIJKMOOXdNLJHGGEEEEDDDLecbbbbbaVC,0-+-5.**)'%$$$%####$$$$##"msrssvkUOJiºÈÑÇm]bcefgggiiiiiigeb_]ZZ[\\_\SRKFsÀ—Æõ¨hz{„‰Œ€mJDB@BBBA?>=;:;88988878999897Jbb`a``_ZR?0*+-0,+*,.000011011111.003mnljjjf^SML’ÆÉÖ¤[_adefggghijjiigdb_\ZZ[Z]\LIKHMRWˆÇ†­¹»ÁÊÏÒɘN;98899989=K@@:79:;966667778=>Wc````_[XRKGFGHLLNSY^_^[WUSRPNLMLKKLldcdgac_SMJa³ÄÎÏyY`fgeffghhiiiihfea][[ZZ\\IELHMPV[eÆÊjXVUTQxˆ>==CDEFFFHKQx|G<@;:845556666@>I`a`aaa^[XVWUUVVVUW\aefda^ZWUUTTTRRRlghgrnicRKLL¿ÆÕ´`_cddeefhhhhiihgfc`]\[Z[\ICLGNQT\gˆÒ¨2;;;:>Œh:?8??=<;@C@=y}F9C<9544444544HEHQXcm„¸^ƒ°·½ª”>?914:;;95A?743334654BXbaabbbaa`aaaaaa`^\[]bgjjfa^\ZYYYYuxplqpoloqZLKM‰ÀÇ×°`acdefghhhjjjiihhea^\\[@26C>IaW===Kcbbbbbcdccba^]\]bgiigc_\[ZZonmdjlotqojRIKLv¼ÁÐÇp_ddfhijjjjjjjjjhfc_^^;4DJGJSZ_o–¿[vÍêÕ’E=EKrR?A@@BAA;123228EFO@Ud^TRH8077:<;4/4@^dbcddddddeeedb_\\^cgklljebzttptrkjmkikfLJJIj¸¿ÎÌv[adeefghhiijkiihge`=3:EGb¨¼†UL3CdIBAD<9OSPA>=;;<:8:;;988678959==9:AHBCA:;­†\cdbbbddddddddefeb_]\]bfjmlkgz‚~qkkjgijokbOJMLJ¿ÁÔ¯\]`bcdeffhhihhihgfb:,6>EIP^ejr]FJ9QF?:276344444579ABA??A=999::::;;>DD?:F8Ksjbbcbbbcddddddcceffc_][]afjmlkouquulngmoolkf[NKI_´¿ÉÓ€X_bdeeefgghhhiifbW5+55=><>=>BHGDDEDEGHHIJIIGFGNHv]6\^llbccbbccbcbcbbdeecb`]Z\afklmmvrssloihkllntjQJKLÅÇÖºcbdfhfeeggggggecWM4,4/41-+.27=6>§¼xO„\@?CHNQVY[^`cfiljjkklmmlmnnomlpyd{…LMk…xdddbbcbbbbcbcccddca_[Z\agjllunonkljgjimmniRJJLb¸ÆÎÖŠ]cdffgfggggfecb[R8*31>257=FJMNU~ ]W‚aSlqssrpnmkhhgeccba__^^^]_aabeh`kz{[U^\bcbbccbabcbccccdddcb`\Z[afjmlnvsmjmnnggjjiTJJMLÆÇÔ¼c]_aceefffgfeefeY:,00,.6686778GY‰^aŠqbjd_\XVUTRQQPNNNMLLLMMMNNNNNSQRWYex_a`aed`cdbbbbbcddcdeddcb`\Z\bgimnqmlmqtplilmhVMKLK_µÈÍ×_ddfggggffgfecb\F1*,+,&"""$$0LP…ilubYPRTOLHGFEEDCCBBBBBABAACBCCBDDDFFGKdqdc¢ÈÄœcccccbcdddcdccdccb`][]amklnrttpuljmmjpgPJJLL‡ÇÊÔ¿kdegghhgffhfdc`]V=--///.-,,+3Q_‚‚l[HHECFECA@?>>=<;;;;;;<;;;<;;;<===>?@BLdh_ƒßïê¡a`aaabccbbbabcbbcb_][[jqvroqplpijigjrbKKLLL[³ÊËÔ—afffhhffghgecb^[RIFFGHHGFHHBJp™xeI>>>=<==<;:999887888888788889;;<;;;99;F]a^ˆ¨§™d_`abbbbaabaabbbbba_\Zqwuoihiloijlwstea[LLNPÈÉÐÉtbffghgggfffec`^ZUSSSRQQRTVOIkŠg[A::<;::998877766654788889988:;:9<:522@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÎÎÎÎÎÎÎÎÎÎÌÍÍÌÌÌÌÌÌÌÌÌÌÌËÌÌÌÌÌÌÍÍÎÏÎÇ´š¢–r~x€r^]]q|m[^llgZYZ[_YVTN_g_\SOOQXW\gjfOU\`YOPLQRZ_a[UOMKA@65542086ÎÎÎÎÍÍÎÎÎÎÎÎÎÍÍÇÁÅ¿ÇËËÌÌÌÌÍÍÎÍÍÍÍÌÌËÌÌÌÌËÌÌÌÌÌÌÍÍÎÎÎÍÎÎÍÍÁ¥‰ˆqjklllmqtzx_b_bdZ[[[Z]SRV]cY[ZVUSTSWZhbPPX[ULNNSS\b`aYPFC@;741110.0ÎÎÍÎÎÍÎÎÍÍÌÍÍÍÍÈÂÆÀÉÌÌÌÌÊÊÊËËËÉÉÊÊÊÊÊÊËËËÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌÍ̵—‘ykquyt}}bc`]fXaccZZWU`YTYeeQOSVXSMLVNXfQOSWYPNSOPX`]_TUUNH?<8432/,,ÍÍÌÍÌÍÍÌÍÍÍÌÍÍÎÉÀÁÀËÎÎÎÎÍÍÍÍÍÌËËËËËÊÊÊÊÊÊÊÊÊÊÊÉÉÉÇÉÊÊËÌËËÍ¿’Žƒ€s`jzkch^_`Vi`VXTSM\`_`ok\POT\TMJSQQWTZZYUNPQV\_WVYQPYNH=>@;52/,,ËÌËÌÌÍÍÍÍÎÍÍÍÎÏǹ¼¹ÉÎÎÎÎÎÎÎÎÎÏÏÏÎÎÎÎÍÎÍÍËËËËËÌÌÊÊÆÊËËÌÌÌÈÆħ‹wwmg]jnlb_`\V\_UQZRRQ[eeegbgUQUYSPSTRQXRX\aVRTQYZ\WWSSOPPI>?=6650.3ÌÌÎÍÎÎÎÎÎÎÎÍÍÎÏĻƽÇÎÍÎÎÎÎÎÍÍÎÎÍÍÍÍÍÍÍÍÌËÉÊÌÍÎÍËÈÅÊËËÍÎÌÇÄÁ´Ÿ|zocURbZZ\`_]b_VTPKLUY_aci_ZSOOONJSPSP_KTUZ[W[Z]ZZVQQSOTKEC?C;530/4ÎÎÎÏÏÏÎÎÎÎÎÍÍÎÎÿÌÁÅÍÌÍÌÍÍÍÌÍÍÍÍÎÍÍÍÍÍÍÌÌÉÊÊËÈÅÂÄÁÆÇÊÌÍÉÁ½º©Š{pUSRPLUUmodbc]YMDALXP[``]UTRJLJHKIQLXNRUVVW[ZZZ\XRPRNWOCH@><3..--ÏÏÎÎÎÏÎÎÎÎÎÍÎÎÍÿÊÁÂÍÍÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÍÌÊÈÇÅÇÀ¾¹Â½Á¾ÅÊÈû¬ž¤Š}{t`UYZWig]oee\TURRYWbTOZ\RNVWRKHEOQQZYRQX[UTWWUNNZVSWRWV?56120.---ÏÎÕÙØÑÍÍÌÊÉÉÊËÌÁ¾ÈÁÀÌÎÎÍÍÍÍÏÎÎÎÍÎÎÎÎÎÎÎËÃÁÁ½Â»¸¬À·¾µ¿Æ½¼µ£…‚o…zb[_Z[giUn\S[TNTT\ZTNQSWRQRTWKKKSRRZg]OVXVWTUZRK]YY]]LB=8641..---ÏÝìðîæÕËɾ½ÀÄÈÀ¿ÆÁ¿ÊÌÌÌÌÌÌÍÌÍÌÌÍÍÎÍÌÍÍÌÅÀº²¼¹¯ º²½°¶¾³º²”„{|oeaaa`T]aXTe[SZ^ORSX\UVTNNMKKLTYVORPQPaZN[\YRLMXZPWXQLIA8=<:73.----ÝïέÁæëо·²°¶¸¿ÂÄÊÅÁÉËËÌËËÊÉÊËÊËËËËÈÇÈÄþ¯ª§«¯¤œ¨¬·®¶²­«žruslmS`cZXcVP^i]Y_VKQRT[`_SQLLKNRLTUKPTNR\^Ya\SOKLXXQXQQVJCD>:;973/.-.îÃxgq£äݵ¯­­³²¾ÄÆËÈÃÊÍÍÍËÌÊÆÊËËËÊÊÉÇÂľ¾± š™££˜” «­«­¥§˜‚tlhbjk[RUUa^VV[YY_UTYUSUT_VQSNNTUQSUWQOXQRX_Y]WX[V\_TRXXSN?=E;86676300/ã‡wvqÊ鸬ª®°±ÀÁÅÉÈÂÊÍÍÍÌËžÈÌËÊÊȹ²³³º®Ÿ•—™˜‘¢±®©›—šugceTf_PKHPWaXRS_h]`n\^f^SUMPPOOQVRUSTXQ[NP`]^hZa^if^RPLKIK@=@8754564//2Ä€ˆ€vŠÂéÀ¨¨°¯³»¶ÁÈƾÈÍÌÌËÇ¿µÆÌËÅú¨›™¡¤œ›•‡’˜ž®ª˜Ž‘„uddhZ[TQUTPX^_[hl]PT`NXoo[QOJMMJFJMNONLQYTX_TRXW_g[YUOILFEDCI@8534454/16³’~}ˆ¿éÉ¥§°±µµ²½ÈÅ·¿ÊÈËÊȾ³ÄÊȽ³¦™œŸ”–”Š‹Œ€”’Š‰’—Œˆˆ‰‚~vtoaWTY[XPV\UU\g\RP^ii^]]TTLIIGIHGEFMLT_[V[VOZhffV]TLVSII??B9854434437=…‡…„ÁçåØβ­­©ª¶Ã¹«¯²²¹´Å»°¼Â¶ªŸ ˜š¡“’†€ƒ‡‡€}‹Š„ƒ€‚€yvoaXXUU\[TYTRYfPPO]d`QR[XSLKLIKIGLJHQU\`QYPQlrcf_a]T_YUUG<:;86543365;?¬žƒ‚„‘ÂåìîéÎÉ¥Ÿ ¨§žŸŸ¡¡ ¦µ­¥ ¦šš— ™˜ ‘“…‚…‚€„€x„‰‡„||{}vqnjdXPXf[QTQU_XOX\]_WQRQQRLKPPKMRPECJNU_QQM^aa_Zfi[QT]YFTF=<<956649:<=âÒr†“ÁåëáÜåë° £± œ ¥¬¥¡¢£Ÿ”““œ™Ÿ›’™‹Ž‹‡‡ƒ~xˆ„z{ywphieYWZQW^XT\Y\ZVZZ[][VPKVTNMOJABEE@@EHHPJRSX[bX`o\_PZ`\IEC@><756679=??—ho…–ÂåìʼáæÁ¸ÆÈ»¾¹¾½ËÈ¿¬  •Œ‘ž–š–ˆ‹Š‰‰‡…‚‚y~„~|wwvrqmlgY\cdbWQSWX]]cWU\RW_\VQJOMNJBCD@?FFDBRGTX[W`ba\RccVWXQLGCF975669<>HGDSFi{šÆåíäáëèãäæçèèèêèéíñÄšš”ˆ‹’Ž‘Š‹Š†Œ…‹ˆ„‚‚ƒ{}‹€y€wuqtrnibV[eaYQVOR]gbcVNSTkZbXNQQOJHDHUKCJLLFPQ\]YLYdcdT`eWPW^PD?@<;9879=@JAqR<<STVZaŽçïìëåßÜØÔÑÒÒÔÒÒÁ”ˆŠ~zz}~yz~~~{}~y|}}ƒ|y{x{trvyytokg]SMKXW[QUWZZVHZ_Z[XZaXKMUPNKMOOQSUXVZmc[\ZZVYXRUJMJ>974g†:6888?>=<@KOXa[TXZRWYNLE<;:98873“ÞL499:DGI\hWTYX[[UID@97532342ßN279<@DFFJÝ̉RH@¹ò¾l^fjbbdhjifdcb‘Øö¦|}ƒPFmŒ•›UH5/29BHB=J[jk^KQeTH@9:@P^htx~ƒ¡¼ƒ‡ˆ‡ˆ‰†~~í߈QKD—ѹ¾ÀÂÃÅÇÆÅÅÃÀÀÌ¿©†}|BS®°³´²¤•{aekQQPE2238]Fahhkmga\[V\[NPVUMNS][XX[]ZSTMG@CHJB>CRQJW]^iŒmQUXMB9L|ƒ  š–’‹ƒ|€„ƒƒ„„†‡‹€yxOCMo²Î××ÛÜÞÞßáàßÞÞÜÚÝÁ}{|ƒfUJl©¥ž“ž¾„‹¦XOQLI:55[`MgehszgVUVSRROTXPOZ\ZV[a\YNRTQIEKQK<>MULfljv…h[]SIB=…gic^YWVVVTTTTTTUUVVTaipIGNm»ÕÜåèèëììèéììêéèÞÑšz{†WmA6CC<8EKUedhdQNKjjP37KzHcgdcn_SU]YX]UOSQSP[]Ze]UUQOIHHCGJECHPNVijktqcbjhWPMŒWITY\_c`C<:;;;<=DSWXZƒoRKJCi³ÛàêéìÔ´¹ÖÀ«ÁêåâÞÙ²x{Ux546:<9FNMLLLJMKIsoU4J•¡TS`[\jcVNW[_ZXRMNWV[d_aXOOURMF@=GU\V[fhnaZXY_bdikjmj€Oƒ•˜œ ¤i9767:=?ISSSOKH>995f°ßäëêèÝÈÎßØËÎçåçäã´v~u`q249q‰UCOKJIJLMLFgvY;9Q‚tHbdb`a`VXYYSONNLR[ZTWYTLRZRPY`Xq‚ubkxjXTX\]]_egl}ˆvaµ·²«£¡‚WI4;CDFNK?=A>B €=64?•X]llpsooqot{†ŒŠŽ’‹‹˜·ˆƒƒ{w|{lbmmbX\b_\[_fehpei\Z;G4489>Bj¦S?DGPN<9:9ponnrtuvw{}|}€‚ƒƒ„†…}~{~z[ŽMJLIf…mOKF===<869pk<966‹pTrminvuxyxwusuuuuvwy~… °´®œŽ€tmlkmmligb^]\ZY\\[{šTQ<[jlnptuvvvvurrrqppps{†–¤«°©Ÿshgfdb`]ZXXZcŒOE9?5;W_E=92349HK;?DEDupljjjjlmoqsrqoopprvyzn?:={tHnKcTDOBDLU\\WMNELOfmQH@86H>>I:>2Phdeeghjlpsuvusrponooonoqxƒ•«½»¥ŒwjgggbZXTtšvHC@B94444447<>>>zvrnkjjjklnoppqpooopqsd576@ID67645=@;89889:7685;A@DB9;;EA12:Ebieddccddeimprtvvtsqnmnoppolkw¨¹½²Ÿ‰u\Wagm”aCHHJBFk|UAD?4334:BGGGGxxvsnliihhjlmnoppqqqrqlUB?56_D;:::888877776777888789<<>IA8Wcijkjigecdbbcbcfjnsuwwwuromklnoomlp|¨ÀÅ|Pcuw‹SEƒkJCAFP?EIHBG=?EJLIHHvvvwtokhgeehkllmnoopponpo™BXA;:99887777666677677778::ABDHKVmnopcF=>;uuuvutrlgeefgijlmlllmmmlk—¹UJ97887665666565665455666877?@`pfhhgfhjlmjfdba````adhmorrtuvvsnigilnoolklb[dRM}}dZWIFNSRPQSVWWWWWWWVRqrsuvuurlhffeefiijjjklllk‡¦^LH926555444446=7554445553=`zZEbghjjjgffilljecba`aa`_aeilprtvvvtqlggjmnmlmt°›pxpriibSXnqommmkhhijkkmmloprssrqpkgda`acdefgiijllw‰gg›”s5333334457?76544331/6‰©¦„BPijlmmmifdcfikjgc``aa_\]adimorrttttqkfehkkmt£™oebc[YZW]ne_]\ZYYZZZ[]]djmnppqqqrokgca`a`acdegijntcUŒ¥®±j40022345814632211:Lƒ¶¨§«—˜Ÿ£¥¥¦¦¤ –’†ulnkgbabba_^^`dhmnpqrsttrkfdfld—ŽmZTXXWVWWXXWWVVVVVVVVVUVikmnprsttrpmgcbaabbcdehhkwT5©Â«ÄyFF==>;:?{Z8DKFJƒ–¨­§¤Ÿž˜—•”••”–™ž£žšvkpolifdfgeb`_`diloorsssrpjeg[~|_VSUVWXXVVVVWWWXVWXWVVVWgjlmoqstussqmiebabbbbdfhc`J-\¸ÍÐôà¡~X]c‚X¿‰Nyqb‡£„|vupnljgcccbbbcfgkltƒijmnnljgfeeda__beiloopqrssohVlt`\VUWWX\[[ZYXYYYYY[[[YY[afijlooqrrsrpmiebaa``acgbI:.8†ÒÐáñÆ–f__df‘íÇbi`r¤p[`acdfhkrƒ§€|xtqonnlbssbcehlmiecccba^]^`eikmppqrslP\hXt±—t’˜WTX[]Y\^]b]^^Z^^S_bdgilmoppqqqpnica````bdeJ0..9TSpŽ‹§rfrm[¢ôÕshp™”dk~‚€€|sqe…ŽŠŠ‰‰…€zkpjdcbegihfda__^]\]^_aehkmopjJP[QnÄÊÏÚò JB@j„IBU~|M?Z™S9…[ceijlnoprrqqpmhdaa`_acb?/-./24^QAISpÄÅÀ¾½·®µªbd[?566998:BO´»uYVLA=636G;ELDCFDEEm {QfGJCDWZNCC;554466:†¨•I=;68kMdjfflkjjkkiebabdgihfda^]^E3>IKMOTYcmlll‡äëääåäìëëðœgWWy¸ÃÍZ_cegijmmmnnonmljgG58-,.128<>>A@@ADGKžhU`JRNJKIHINM;23468Hb™—QOQF9\Lacaljjjjkkjhfba`begiigb^^C2=KMOPTZdihmkÚëéééèæææä`PKNˆ»ÁˉX\adgijkklmnmmmljG1:0,,/0145678B`Uƒ x\giijjkjgdaa`cfhifb`A0>KNRSZ\daP?HIM…™p`NL>4658?YGRXGIOAEgYPJ_©À˾lZ_adfggiklmnmicB/944OKB:552***7TbƒŒtpZTTTTURQSTWVVWXYYY[[[Z[[[\]aaeiVSSbgffghiiiigfc``_adhj?(?C?RÃÐp[WSIQRPNPYNNNKLNHClaPLJr·ÁЯa\acefghjkljiaX@/8516CDC730+,/2NOVpZYYYWWWXXXXXYYXYYYYYYYYXXYYYZ`aCkecdeeefffgiikigfd`_`d@$9<;>GQYcnsob]]__`ccceeggjilu\OMWœ¾ÉÎ…[acefghiiiif^R@41331121120132.>eRemXWWWVVWXXXXXXXXWXVWWXWWXWVUSSWgK\`^_aabdefhgffhhhfc`_b>#7765:@ENTW^ZXWXTSSSQOMKKJqolgXOLc¬ÁÎÆu]befgihhhhfc^TNLLOPQPPOPPQRRP^e‰nm\[YVWWWWWXXXXXXWWVVTSTUX[bcjrs{ƒƒƒ„zrngpldceggffd`_=#60E?*(('&$%%&&%$$$$###$%%pkmoeSVf„¼ÇÔºj^ddfhhhhhhfd_]\Z[ZYYYWYZ]^`aggov‚y_WXXYYYYYYYYX\xhsš¡§­°²²°±²³³³³³±²°¯¤~jddefgge_WO6#51KZA2/241-++++((')+,-/38kmnmhYOPOÄÇÔ¨__aceefhhhjgdcba_][ZZZZ\^aef^k‡z€«ÅĈaZ\\]]^\[[ZYxŽ«±®¬§¢˜”Ž‹Š‡‡‡‡‰Œ‘–›\kdddca_SMJ6$51)$1;;:;:98655678::::888osqomdSMKX§ÅËÔŽY`bdeghghkigffeba_\[ZZ[\_bcVmrnÙêàÕ…]cdfghhiilx•s–‰xqie_\ZXWVVTSSSUWX[^dazjacbbbaYM:'4/,,54564100/..-/11121/.-msrrswiTNJm½ÈÑÆl\bcefgggihhhhgedb_\ZZZZ\]`RdYTiÞÝÌëÑpkprsstuvz†ŠdcZTOJJIJLNOX_NMLIHHGFFFFFEQfaaabaa_U@./+*-3(''&$##"""!"""#"""""mnliijf]RMM–ÆÉÖ£[_acefgggghhiiigeb^[ZYZZ[_R\MIP¶¾£ëåzrz{~ƒ‡Š‘‹€gIECBCCCBA@>>>?:9::9989::;::9Ma`````]XR@2-/1521268888865577887678ldbcfbc^SMJd¶ÄÏÏxY`fgeefggghhhihfda]ZZZZ[^PMJIKU[iÅÅy—³¹ÀÅÍÔÝÇ‹F;:9999989:=<=678:;:77667778=>Yb````^[XSOLKKNPPSW^aa_[XVROOONNNNNlhggrojbRKLL„ÀÆÕ²_^cdcdefgggghhggfd`][ZZZ^PEKIKORYeq–סkea`bb‘y;<=ABCEFFGKJplAK```aa`^\YWXWVWWWVW\adeca_ZVVUUUUSSnmfgomriRKLKW¦ÃÊÒ”`_bcdefgggghihhfeb_]\ZZ]RCJIJOQX`s¬àX17787@“X<>:A@?=BAGCiB?:358877=A<;B?959984347544338B=Obaaaa`a`____``_^][[]behhea][ZXWWWuwpmqpnlopYLKOÁÇ×®`acddfgghhjiiihggea^]\]P=DHEMV_hvŸÖ_”¬³®¥„9A615;:;96@=744436963:SHE:5534@>D]baaaaba_``aabaa`^\[]aehhfa][[ZYYqpkgmmgfjkeLJK_¬ÃÊÖŒ]cddgghiikjiiiihfd`]\]O9BGDIPXcq“Ï|kØõóí¼g9A421Aab92;8111113658KTHKIC:32;@?Rabdeedbaaaaacbbca^[[\`ehhfb^\[YYnnldilotqojRIKLz½ÁÐÆp_ddfhhijjjijjjihfc_^^N5BJEIPYbq‰Ë„VÐððÒŸL;>224SxvB110000/0239A@GOWVXQ;17B=Ia[DDFPcbbbaacccec`^\[]aehihe_[[ZQ`abgjrsoss`MJXgš¿ÅÔ°cbdfghikjijkkkkihfb_^N1>JFHLV]h€¼–O¼ëóЂ?>=35=o…y=84////024?FINT][\[E24B=D^W3434Wcbbcccccddca^\Z\afjkkhb_^ZfkiopklpsplTJLLZ©ÁÇÕ‘^beffghiikjjkkjihea_O.;IE^“˜mRc†q@Ke•¦l=:Mg`WCB?1/0//18IEUJVa\UOD42?@@JJ566/Pdbbcdcccddec`^\[^agkllidbzutpsqkjlkikeLJJIq»¿ÎËu[adeeffghiiiiiihfdbQ1:EEhØà¦TYW;?DB\„Y<@BLjE?AAAB@B801112;HGPCXf^URH8/78;;2//1:[dcccccccddedcb`\[\bfjmlkgy‚~qkkjgijokbPJMLL•¿ÀÔ­[]`bccdffhghiiihgfcR07@HM˜Î³aTD6NZJIIF9?SY\B@?>>?;:;9887779<=8>DC=?BE>@?:?PDBP_ccbccccccdccdedb`]\\afjlmkntquulngmoolkf[NKId¸¿ÉÒ}X_bddeefggghhihggeS)49CGOemgoiEIR3D;@85=9565434568AA@>>@;888878:::?GFD;@8Ofoncccbbcdcbcbbbbdeda`]Z\afjlmmvrsrloihkllntjQJKN™ÅÇÖ·cbdfgfeeggghhiihf^K(44?@BDFJLNSUW[bbbadddfhhjjjjhgjva}€BM\\acbbbcbaabbbbcbccccb_\Z\afjlknvsljmnmfgjjiTJJMM•ÇÇÓ¼c]^aceefffgfeb_]UH*217:146@HMNO`•¥KiŽuMPeknpqpppqmkkkhihfffdccbefffikbo€uPWaaed`bdcbbbbbbcbddcccb`\Y[bgimnpmlmqtpkiklhVMKLKeºÈÍÖŒ^ddfggggffgeefe`K,10/,3999::;>Ng•Mp‹€lfoieb^[ZXWUTTSRRPPOPPQQPRRPQVTU[_owZcªÇÛcdcccbbcccbccbbbbb`\[\bmkmnrtsotljmljpfPJJLMÈÉÔ½jdegghhgffhfedc`Q6.+,,,$##$%%:LZXvwg\SYVPNKJHHGGFFDDDCCCDCCDDDDDEGEHJIPlnaŒãîê a`aaabccbbbaabcbbb`]Z\jrvroqplojjifjraKKLMK`·ÊËÔ—`effhhffgggedb_ZH.*-.-*****(:T^ŠwlXKJGGIGDAA@@@?>====<==<<<====>?>=?@ACPji_‹©©šd^`aabbbabaaabbbbca_\Zpvtoihiloijkvssda[LLNP†ÉÉÑÉtbffghgggffedb_\VGBCEEFEDEED>Tx’v`F@@?>>>==<;:::99888999989999::;<<<<;;?Nfa\[X\```aa`bbaaaaaaabbaa`][hhjga_aiiq{xsunkmcQLNQ[±ÉÈÖ©dffhihhhfffdca_[VRRRSRQQSTVIOyŒeW><<;;:;;988787777666777788779;:::9AKQ>@K````aaabbbbcca`aaaaabbaba`_toookqqtirpttu}k]SKKLK{ÅÄÏÔ‡beeffgfeffedca^\YYYXWVUUVYKOkqVG9<89988::7879::;=AE@AAAAA@A@BBMq••‰›©§G<]ba``_bcbbccbaaaaaaaaaabba`ƒ|‚wu{whiowvxyoc\RKKKKR¢ÉÆ×»e`bddddefffedba`_]\\ZXVVVXLNY_Nd{ujvs_IFDFFEGHIIqMHEIHGFJOJŠÐçîÙ®½ÕÌA7\ca````aa`abbbbbaaaaaaabcba„|t~wsqilumigngaedUKKK^f¼ÃËØŽ]bccbefeeeeecbaa_^^[YXWVWLKGLF®Ø¬´¾ïëÛÄnJMRW[`fp{„„x‰ldd`VAL¡÷àÀ½×ä÷¨:3\caa``abcbbdedcbaabcbaaabbb~xw€ytnr``irzsjjdYLLJSYW™ÂÃ×Àg`cbadeeeeeeccbb`_`][YWVXNHAA=›ðÏ˲¯ÃçïƒH>MPQIi£›™—“[67433Si—Ûãâ×Dzc70Zcaa``a`fkkgefedbbbdcaaabbb‡††††‡‡‡†…†‡‡‡††††‡ˆˆˆ‡‡ˆˆ‡‡…„‚}xutttxyxyzzy{{zwuxyz{{zyz{~€€€…†……†††††…††††………†††‡†‡††††…†‚|xuvuvuvyxxyx{{zywtvvy{zxwy|~€€€……………†††††…†………†††††……††……………‚€{uxwxwwyzxxwz{zyxvvuxyywwy{~~€€€……………†……††…††………††………„……„………ƒ‚€zyyxwy|{yxxz{{{ywvvxyzyzz{~€€†…„„…………†……††…………………„ƒƒƒƒ„„„ƒ€|yxwyz|zzz{{{zzzvvxyyyzzy|~€€„‚ƒƒ„ƒ„…………†……………………ƒ‚‚‚‚€€~|zywy{{zz{}}|zyywvxz{z{x{~€€‚ƒ„…ƒ‚ƒ„……………„„††„……‚€€€€€€}~~}{zzwwxxyz{|{{zzxwwwwxzzy{}~€€€ƒ…†‚‚ƒ„…††……‚„„„‚‚‚~}€€~}||~|zyxwxwwy{||{{{yxyxwuvxxy|}~€€„„ƒ‚€‚ƒ„…††„‚‚€}zz{|||}}}}||zz|zzyxxyyyzz||}}{zwyyvuuwwx|€€€€ƒ…€~~€‚ƒ}yxwwxx{{z|{zyxy{yzzyxyyy{{|}~}|zzyxxvvvuv{€€}†‡€€€€~~}{{yzzyxwwyzxzyxxxy{{{{yvwxwz||}~~|zzxxzwwvvw|~~‡€€€€~~|}{zxyyywwxyxvvvvvw{{|zzyuuvwz|{}}{xxwxyywxy}~€~~Š~‚‚‚‚~{zyzz}€€€|yvuvw{||zyx{|zzy{|~~}{xwwxxxyz|€ˆ}|‚€„†‡‡‡ˆŠƒzy|‡Ž‘Žtuwzy{yyz||z{z{}~~~}{yxyz{{}ˆ€||‚††‡‡‡‰…}x~Œ‹…ƒ†‡‡‡ˆ‰Œ†tuvywzyyzzyyy{}~~zwwzz|~€ƒƒƒ„ƒ„„ƒ€‚‚ƒƒ‚ƒƒƒƒ~x€†‚€‚ƒ„†…‡Š‡ztuxyyyz{zxxx|~~~~~}wstvw}ƒˆ‰ˆŠ‹‹Œ‹‹Š‚‚€€€€€~z‚ˆˆ††……„†ˆ†yvwyxy{{zxxy|}}{zyvrpqqnw„…ƒ‚…‰ŠŠŠŠ‰€‚‚‚€~~„ˆŠƒ…ˆ‰‡‡ˆ†{zyyz}}|{{{zxtojpptssqoiv†„ƒƒ†ˆŠŠŠ‹Œ‚„……ƒƒƒ‚ƒƒƒƒ‚„ˆ‰ƒ…‰‰Šˆ‰ˆƒ~~€ƒƒ‚‚ƒƒ}yuuyyyzyxwu‡Š‹Šˆ‡ˆˆˆ‰‹‡‡‡‡ˆ‰ˆˆ‰ˆˆˆ…„†…„…†‡‡††„‡Šˆƒƒƒ„„ƒƒ‚ƒ„„…†„…‚€~|~„ˆ‹Š„ˆ‰‰ˆˆ‰‰‰‰ˆ‡ˆˆ‰ŠŠŠŠ‰…†ŒŒŠŠ‹‹‹‰‰‹‹‹Šƒƒ……„…„‚‚‚‚ƒƒ„†‡‡†„ƒ€{}…ˆ‰‰†‰Š‰ˆ‡ˆ‡‰‰‰ˆ‡‡ˆ‰‰‰Š‰‡ŠŽŽŒ‹‹‹‹Š‹‹Œ‹‚ƒ„„ƒƒƒƒƒƒ€€„†ˆˆ‡†€€…ˆ‰ˆ‡†‡‡††‡ˆ‰‰‰Š‰ˆ†‡ˆ‰‰Šˆ‹‰„‰Š‰ˆˆˆˆˆˆ‰„‚Š……††„‚‚ƒƒƒ‚€€ƒ…‡ˆ†††ˆˆ‡‰‹‰‡‡ˆ‰ŠŠŠ‰‰‰‰††‡‡ˆ‰ˆˆƒ„††††……†‰Š‰ŽŠƒ‚€‚€€€„…†ƒ}{wxzyvuvyzˆ‰‰‰ŠŠ‰‡‡‡‡ˆˆ†„‚ƒƒ‚„„ƒ…Œ’”“”’‘••”“’ˆ‚€€€‚‚€€€ƒ†„~zvsssssstuƒˆˆ‰ŠŠ‹‰††††‡„„………ƒ‚‚ƒ„ˆŠ…‚€‚‰‹ˆ€€‚Š‡„ƒ‚‚ƒƒ‚‚€‚€~€€€†‡ˆŠ‰‹‹‰‡††…‚ƒ†ˆ‡…‚€‚ˆ‰~zy}ˆŒ‡zyyˆ‹ˆ†ƒ‚‚ƒ‚‚‚‚‚‚xxz}~€~}}ƒ‡‰‰Š‹‹‰‡…„‚ƒ„…„‚~ˆˆ†……†ŠŠŠ‚ƒ……ˆ‹Šˆ‡…ƒ‚‚€€‚ƒ~tqsvuuz€zu||†‡‰ŠŠ‹‹‰‡„‚‚‚‚€€ƒ‰‡ˆ‹‹ŠŠ‰Œ‹‡ˆ‰‰‹‹‰‰ˆ†„€€‚‚~tqrtv{€~~~z}}~ƒ‡ˆ‰ŠŠ‹Šˆ…ƒ‚‚‚ƒ„„‡Š††‡ˆ‡‡Š‹‡}††ˆ‹‰‰ˆ‰ˆ†ƒ€€‚ursu}ƒ„€€€|~}}„ˆˆ‰Š‹‹‹‡‚ƒ‚‚‚ƒ„‡Œˆ‡†††…†‡†ƒ„‡‰‹Œ…‡‰‰‰ˆ‡ƒ‚€‚yyxz‚€€€v~}†‰‰‰Š‹‹‰‚……„‚ƒƒ‚‡‘”““““”“’””“”––…‡‰‰‰ˆ‰‡…ƒ€€€~~€oz€}‚‡‰ˆ‰ŠŠ‰ƒ„…ƒƒƒƒ„‰‘•”“““““”””““”“‡ˆˆˆ‰‰‰ˆˆ‡ƒƒ‚€€€€€hm|}z~ƒˆ‰‰Š‰ˆ…„„ƒƒƒ„„„ŠŒŠŽ‘‹ŠŠŠ‹‹‰ˆ‰ˆˆ‡‚„„……ƒ„„„„„jir{}~…‰‰‰ŠŠŠ‰ˆ†…„……„Š„}‹ŒŒŒŽ‘’‘’’”•••”’“Žˆˆ‰Šˆƒ€…‡‡‡†‡††††kjkw€~~ˆŠ‰ŠŠŠŠ‹‰†……†„‡‚}}…‰‡††‘’‘ŽŒŽŽŽˆˆˆˆ†„‚ƒ‚‚‚ƒ‚‚‚‚onmt€}}…‰ŠŠŠŠŠ‹‹‡……†„…„ƒƒ„„ƒ…Š‹‹‹ŠŠ‡‡ŠŠ‹‹‹‹‹‰‰ˆ‡†„‚‚‚‚‚omjmy€~|€‡ŠŠŠŠŠ‹Œ‰‡†…„„……„€…‰‰‰‰ŠŠˆˆŠ‹ŒŒ‹‹‹‰ˆˆˆ‡‡†……ƒ€€‚„„…llhijz€}}ƒ‰ŠŠŠŠ‹ŒŠˆ†…„ƒ„…ƒ‚‚†‰Šˆ‡‰ŠŠŠŠ‹‰‰‰‹Š‰ˆˆˆˆˆ‡‡‡†„ƒ€„…†nmihet€~|†ŠŠŠŠ‹‹‹Šˆ†ƒ‚ƒƒ‚„‚ƒ‡‰Œ‡€…ŠŠŠŠˆˆ‡ˆˆŠ‰‡ˆ……ˆˆˆˆˆˆ…ƒ€ƒ„ljgfgl{€~}€‡‰ŠŠŠ‹‹‹Šˆ„‚€€ƒƒ…‡‡‰‡„†‰‰‰‰‡‡††…ˆˆ‡†ƒ…ˆ‰‰ˆˆˆˆ†ƒ€€gggghip}€~}‚‰ŠŠŠŠ‹Š‹‰…€ƒƒ†‡ˆˆˆˆ‰‰ˆ‰‰‰Š‹‹Š‰ˆ‰‡„‡ˆ‰‰ˆˆˆ‰‰‡ƒ€ihgfghhu}€ˆŠŠŠŠ‹ŠŒ‹‡‚‚ƒ‚ƒ„ˆ‹Ž‘‘’“”“””’’“Œ„‡‰‰ˆˆˆˆ‰‰‰†ƒjhgegihs€~„Š‹ŠŠŠŠŒˆ‚„††…ƒˆ‘“——————˜˜——˜˜™˜™”‰‡…‡‰‰ˆˆ‰ˆˆ‰‡„jhgeiiho}}€ˆŒŒ‹ŠŠŠ‰‡‚‚‚‚ƒ„‰‘••–•“’’’‘‘‘‘’“Œ†‚ƒˆŠ‰‰‰‰‰ˆˆ‡ƒjjjhihhlu}ƒŠŒ‹ŠŠŠ‰‡„ƒƒ‚‚‚ƒ‹ŽŒŒŒŠ‰‰ˆˆ‰‰‰ŠŠŠ‰‹‹ˆ‡†ˆŠ‰‰‰‰‰ˆˆ‰‡mljjnkijr~‚~†ŠŠŠŠ‹‹Š‡††„„ƒ„Œ‹ˆ††††……„„„ƒ‚ƒ…††„ƒˆˆŠ‰‰ŠŠŠ‰‰‰ˆ‰‰‰lmnoqpmps|€~}~‚‰Š‰‰‹‹‹‰ˆˆ†…„ƒ‡…‚ƒƒƒƒ€‚‚‚€€„ƒ„„‚…†‰‰ˆˆ‰‰‰‰ˆ‰‰‰‰{zzzzzzz{zzz{{zzzzyyyyyyyyzz|‚„ƒƒƒ„††‡‡†††‡‡†ˆ‡††‡‡‡†…††„ƒ‚ƒ‚yzzyyzzzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†„„…††††††ƒ‚‚€zzzzyzzzzzzzyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…†‡‡†…ƒƒ‚‚€zzzzzzyyzzzyzyyyzzzzzzz{|{{z{€‚„„„„……„ƒ„†††…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zzzzzzzzzyyyzyyz{{}~}|||~€‚„„„„„……„…‡‡†……„„„„…†‡‡†…„‚‚‚€€{€~|}~|zyzzzzzzzzz{}}~}~‚ƒ‚ƒ„…„„……‡†††††………„„…†‡††…ƒƒ‚‚‚€‚~€€~|{zzzz|zy{||}€€€€€‚„…ƒ„„……„„„„††††„…†………„…†††††„ƒ‚ƒ~€~}|{zzz}{{~€€ƒƒ‚€‚ƒ…†…†……………ƒƒ„…†…„„…„„…„…†††……„ƒ€€€€}|{~€…†……„„ƒƒ„ƒ„…†††††…………„„……†…„„ƒ„„„…††‡†…„ƒ‚‚€‚ƒ}‚€€~ƒ„ƒ…‡‰ˆ‡†„„„„„…†‡††††…………………„……„„‚‚ƒ„†††ˆ†…ƒ‚€‚‚‚}€€‚‚‚„†‡†‡‡†‡‡…„„…„…‡††…†………………………………ƒƒƒƒ„†…†‰‡…ƒ€€‚ƒzy}€‚‚‚ƒƒ„††††‡†††††„„…‡‡‡ˆˆ††………„…………†……„„„ƒƒ…††††…„ƒ€€‚ƒ~|~‚‚€…†††††ƒ„„ƒ‚ƒ†ˆ‡ˆ‰†…„„„ƒ„„†…‡†…„„„„…††ˆ‡„ƒ‚‚‚‚‚‚ƒ„†‡‚€}|zz{}ƒ‡‡†~}}}||}ƒ‡ˆˆ†……ƒ„„…†‡‡ˆ‡…„„„„…‡‡‡‡ƒ‚‚‚ƒ„ˆˆ…ƒ}}|}~~…‡…|||€~}}}|€‡‡‡…„„ƒ„„††‡ˆˆ†…„ƒ‚ƒ„†ˆ‡†ƒ€€ƒ„ƒƒ„†…‡…‚ƒ€€€€€€ƒ‡„~||zz{{x{~}~…‡‡…ƒ…„„„…‡‡‡†…„„ƒ„……‡‡†ƒ†•œžžŸžž ž„‚€€‚‚€‚…†{}}y{yw~€||ƒ‡†…………„„†‡†‡‡…ƒ„„…‚€€~~ŠŽŠ†„ƒƒ‚ƒ‚€‚‚‚„„ƒ‚ƒ†…€{}„€yxwx€…~}†„„ƒƒƒƒƒ†‰‡††‚}~|}zz{|{€‡{{{|z{{zyz€€€‚‚‚ƒ„~{|~y{{{ƒ‡}|~…„‚‚€€€„„„„…€€‚‚€~||ƒ‡{|}{|{zzz~}}}~}~~€‚|}~~|~~}„~{~‚ƒ€€€€€€€€€‚ƒ‰„ƒƒ‰—…„y{‚yz|{zz{}~~}||||~€€}|}}}}~~}~~}{{~‚€€€€€€€€€º­’„y{~|z{{||}{|}~}}}}}~||{|}|||}}|||}}~€€€€€€€€„™–•”Œ‹‘’’“””|{||}~€~~}}|„ˆ~}~~}}}„‹€€€€€€€€€€€‚Ÿ®´´®­³¶·µ³°}}}}}€~}~…‹‚€}|€|yyyz{|}€€€€€‡¯ËÍÏÍËÎÑÑÑÏ΀~}}}~~€€€~€€‚ƒ‚ƒ„|{yzz{~|zz{y}‚‚‚˜¢µ½ÆËÍÍÌËÈÅ€~}}~~€€€~€‚€ƒ…‚~|||}~~~~~}€€‚ƒ‚‚€˜¢~|ˆŠŒŽŠ††ƒ}}}}~€€€€}}€€~||}}}zyz|~{{~€€€€‚‚‚šÃ·£Ž–œˆ€„¤„ƒ€~}}}}~€€€€~€ƒ††‡…}{}~yxw{€€~{||~€€€™ÉÒÐÆÆdz‘‰“·Ê‡„‚€~}}{}}€€€‚‚„„‰ŒŒ…}||}}|zxx|€€|{|||}€€‚~•ÉÏÏɺ§‘Œ‰Œ¨’‰‚€}}{}}~€€‚‚ƒ‚‚~}|||||||{}„ƒ}||{~~~~~€‚ÆÏÑÔ}‚ƒƒƒ„„„ƒ‚€~}}}}€€€€€€€€~|}|}~}|}|}€~}{|~~}~~~€ˆ¶¹µ©ƒ‡‰‰ˆ‚„„ƒƒ‚‚€~}}}}~€€€€€}xwwywwxxwwxwvutz€~}}~~~~‚‚‰‰‰ˆ€‚‚‚ƒ‚‚‚‚~}}}}~‚€€~xvvvvvwwvvwwwvvy€~}~~}~‚€€‚ƒ€{~‚Ž‹‚‚~~}}~€€€€€€||}{xwxxxxyxyzyyz{}}}||}}}~~‚€€€€€€}{‡†ƒƒ~~}}}~€€€|„|zzzzzyxyxxyyyyyzyy|~~}~‚~~~€~}}‚ƒƒƒ€~~~}}}}~€€€}‚…„€}~~|z{zz{|}||||{{{}~~€‚‚‚ƒ‚‚ƒ~~~}}|}€€€€€‚€ƒ|||||{|}||zyzz{{~‚‚‚‚‚ƒƒ‚‚‚‚‚ƒ€|€ƒ‚ƒƒ‚~}~}}}}~€€€~}€ƒƒ|{}}|{{|{{zzzz{|}~€€‚‚€~y|}€‚‚€~~~~~}}}~€€€~€‚}z~}{z{zz{|{zz|}~~€€€€~zyzƒ”‰‚~~~~}}|}~€€€€€€€||ƒ|zz{{{{zzz|}~€€€‚‚€€~yxy}…‰…‚~}}}}|||€€€€€€|}~}{{{{|{|{{{|~~€€~~}~€‚€~zxxz‚‚‚~}}}|||}€€‚‚€~}}}||{|{{{||{}}}~€~~~~~~}‚~zywxy€ƒ‚‚‚~}}}}|||€€€€€~}||{{{yzyyxxxwwwxx|~~~~~~~~~€‚‚~zxyzzƒ‚‚‚€}|}}}|||€€€€€€~ywwvutttuvttuuuuttw}€~~~~~~~€~|x{{{~‚‚‚‚|}}}}|}€€€€}xwwvxyxxyyxyzzzzyyw{€~~~~~~~~€~{|}~~€‚‚‚~}}}}}}€‚‚€}z|{z|}|}}~}}~}}~€€€~~~~~~~~~ƒ‚€ƒ„ƒ‚‚‚‚„„€~~~}}}}ƒ…ƒ‚€€€…‡…ƒ‚€~~~~~ˆ‰‰ˆ‡……†…ƒ‚—~}~~}}|}~€€ƒ†‡„‚ƒ‚‚‚‚…†‡†ƒ€~€€€~~}~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÎÍÎÍÍÌÌÌÍÌÌÍÍÌÌÍÍÍÍÍÍÍÍÍÎÌÇ¿´«¢Ÿ‘€}qghviiimlqcgaU]a\\d\S]b^_VPOTZY_e^dTTVVTVTSYTPW_]ZWTMD>9<:521@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÎÎÎÎÎÎÎÎÎÎÍÍÍÌÌÌÌÌÌÌÌÌÌÌËÌÌÌÌÌÌÍÍÎÏÏǵœ¤–txr^]]q|n[^mlgZYZ[_ZVTN`g_\ROOQXW]gghOT\`YPPLRRY_a[UOMJA@65542086ÎÎÎÎÍÍÎÎÎÎÎÎÎÍÍÇÁÄ¿ÇËÊËÌÌÌÍÍÎÍÌÌÍÌÌËÌÌÌÌËÌÌÌÌÌÌÍÍÎÎÎÍÎÎÍÍÂ¥‰ˆoklnkklptzy`b`cdZY[[[]RSV]cY[YVTSTSWZgcPQX\UKNMSS\b_aYPFC@;741110.0ÎÎÍÎÎÍÎÎÍÍÌÍÍÍÍÈÂÆÁÊÌËËÌÊÊÊËËËÉÉÊÊÊÊÊÊËËËÌÌÌÌÍÍÍÍÍÍÍÍÍÍÍÍ̵—‘yjqtzt|cda]fXaccZZWUaXSYfdROSVWSMLVNYgQOSWYPNSOPX_]_UUUOG?<8432/,,ÍÍÌÍÌÌÌÌÍÍÍÌÍÍÎÉÀÂÀËÎÎÎÎÍÍÍÍÍÌËËËËËÊÊÊÊÊÊÊÊÊÊÊÉÉÉÇÉÊÊËÌÊÊ;‘€„€saj{kcg__`WiaVXTSM\`^`qk[POT\TMJSQQYTZZYUNPQV[_WVYQPYNH=>A;52/,,ËÌËÌÌÌÌÍÍÎÍÍÍÎÏǹ¼¹ÉÏÎÎÎÎÎÎÎÎÏÎÎÎÎÎÎÍÎÍÍËËËËËÌÌÊÊÆÊËËÌÌÌÈÆÄ¥‹ywng]jnmb_`\W\_UQZRRQ[feegbhUQUYSPQSRRWRY]aURTQYZ\WWSSOPPI>?=7651.2ÌÌÎÍÍÍÍÎÎÎÎÍÍÎÏĻŽÇÏÍÎÎÎÎÎÍÍÎÎÍÍÍÍÍÍÍÍÌËÉÊÌÍÎÍËÈÅÊËËÍÎÌÇÄÁ³|zocVRb\Y]`_^c_VTPKKUY_ach^YSOOONJSRSP_LUUY[W[Z]ZZVQQSNRJEC?B;530/4ÎÎÎÏÏÏÎÎÎÎÎÍÍÎÎþÌÂÅÎÌÍÌÍÍÍÌÍÍÍÍÎÍÍÍÍÍÍÌËÉÊÊËÈÅÁÄÁÆÇÊÌÍÉÁ¾»©‹€}pURQQMTVmodbc\YMD@MYP[``]UTRJLJHKHRLYNRTUVW[ZZZ\XRPRMWNBGA@=3/.-.ÏÏÎÎÎÏÎÎÎÎÎÍÍÎÍľÊÂÂÍÍÌÌÌÌÍÍÍÎÎÎÎÎÎÍÍÎÍÌÊÈÇÅÈÀ¾¹Â½Á¾ÅÊÇ»­Ÿ¤Š~zuaUYYWgg]nee]TURRWVdTOZ\RNVWRKHEOPPXXRQXZUTWWUNN[URVPWW?57220.-,-ÏÎÕÙØÑÍÍÌÊÉÉÊË̾ÈÁÀÌÎÎÍÍÍÍÏÎÎÎÍÎÎÎÎÎÎÎËÄÁÁ½Â»¸¬À·¿µ¿Æ½½µ£†‚qˆyc[_Z\fjUn\S[TNTT][UNQSWRQRTXLJJSSR[g\OVXVWTUZRK]YZ^]LC=8641..---ÏÝëïîæÔËɽ½ÁÄÈÁ¿ÆÁ¿ÊÌÌÌÌÌÌÍÌÍÌÌÍÍÎÍÌÍÍÌÅÀ»²¼¸¯ º²½±¶½³º±•„{|nfeba`T\aYTe[SZ^ORSW\UVTNNMKKLTXUPSOQPbYNZ\YRLMXZPWYRMJA8=<:73/-,--ÝïÑ©´ãé;·±¯¶¸¿ÂÄÊÅÁÉËËÌËËÊÉÊËÊËËËËÈÇÈÄÿ¯«§¬¯£œ¨¬·®µ³­ªšsuslkR`cZXcWP^i]Y_WKQRT[`_SQLLKNRLUVIPTOR\^Ya\SOKLYXQXQQVJCD=:;973/.--ïÅygm äܵ¯­®³²¾ÄÆËÈÃÊÍÍÍËËÊÆÊËËËÊÊÉÇÂľ½± š™££˜” «­«­¦§˜slgbjmZTWVa_VV\YY_UTYUSUT_VQSNNTUQSTVPPXQSX_X^XX[U\_TRYWTO?>E;86676300/ä‰wvrŒÆè·¬ª®±±ÀÁÅÊÈÂÊÎÍÍÌËÆ¿ÈÌËËÊÈ»´´²¹®Ÿ•Ž™™˜‘ ±®ª˜™tgceTf_PKHPWaXRR^g]bo]^b]SVMQPOOQVRUSUXR\OP_^^hZb^ge_RPLMJK@=@8754564/02ĉw†¿ç¿ª©¯®³»¶ÁÈÆ¿ÈÍÌÌËÈÀ¶ÆÌËÆú¨ž›š £›š–ˆ”—ž®«š„uddh[\TQTTPX^_\hm_PV`MYqoZQOJMMJFJMMONMQYTX_TSYX_g\ZUOILFEECI@8534454/16²——ƒ|…ºçÆ¢¥°±µµ²½ÇŸÁÊÉËÊȾ³ÄÊÈ¿³¦˜œ•–”ŠŠŒ‚•’Š‰’™Žˆˆ‰‚~vtobXTY\YPV\UT]g\RP^hg^^]TTLIIGIHGEGNLS^[W[VO[gffU\SLVSII??A9854434438=~ƒ…‰„Œ½åÞÉñ®®ªª·Å¼¬²µ´¼·Æ¼±¾Ä¹¬Ÿ ˜› ““†€ƒ‡‡}‰Š…‚€‚€yvo`VXUU\[TYTSYfPPO]ebQQ[XSLKLIKIFLJIQU]`QZQPlrcf_a\T`ZUUG<:;86543365;?¯¦{„¾ãíîçÈÂ¥¡¡©¬¡¡¡¡¡¡§¸°¦£ªœ›— ™˜Ÿ‘“…‚ƒ„€xƒŠ‡„||{}uqpjdXPXf[QTQS^XNW[]^XQRRRRMKPPKNSQEBJNU_QQM^aa_Zei\RS\XFTF=<<956649:<=åÜ¥n¾ãìåáå鬟¢­Ÿšœž¤©¤¡££Ÿ””“›™ ›’™‹ŽŽŠ††‚~‚xˆ„z|ywpiheZVYQW^XT\Z\ZVZZ[]ZUOKVTNMOJACFE@@EHHPJRSX\bX`p\_NZ`\IED@><756679=??‹Žgkz•¿âì̼à躰Àĵ·±·¶Å¿´¨  •—š–‰‹ŠŠ‡‡…‚y~…~|vwvrqmlgY\cdbWQSXX]\bWU\RV_[VQJOMNJBCD@?FFDBRGUX\W`b`\RcaWXXQLHDG975669<>HGDSE`p”ÂåíßÖéçÙÚàâãããæäæéí››•ˆŒ”’‹‹Š‡Œ†‰ˆƒ‚ƒ„|~‹z€xuqtsnibV[eaYQVOQ]fbcVNSSi[bXNQQPJHDHUKCJLLFPR\]YLYdddT`eVOX^RE@@<;9879=@KB~[AMfŒ…¿îìíëëíîííîííëèçé칎„‡ŠŽ‹~ˆ‚Š•„ƒŠ}„‰}Š‚y|wwvuwsbVRZZZWZVO\ZZ_fgfmqjR[[SMSQFEFQWQQPOQIJWZ]ZNN_Y_]^hgV^T@::<<;;;:;>==RSU[_rÇòììãÜØÔÐÌÉÉÊÌÐ̪‡Š~z{~€~z{€€{~|}|w{}}„„~{}{|trvyytoke]SMKXX[RVX[\XHY_Z\XZaXLMUPNJLOOPSUYWZmc[\ZZVYYRVKMJ?974]q97888;BECENNVOh~³ëæâ©~vldb]\\_hvŒŠ~}{z|~wy~}x~€€ƒ…‡‹ŠŠˆ…ƒ}vvmnwxzqgabTRSE?OWUVZZPLIVY[\V[d_TMKHKONMJHINWYZ\_Z]VURWOKLHB=9786Z‡=689:=AHIHWa¾´ÙÅ€ÈËÂg@FHPbWNNJJER“|}||}|ƒŒ—ž¡§©ª©§¢¤¦¦¥¥¦¥¥ ž‰louynha^ORSFHPUY]UPTQTVZVWXZa\SLDCACFHEFGJSW\[UMTTURSMFEB=:7787Tq>98:<?><<@KOW`[TX[SWYNLE<:998872‡ÑD59::;AGJKfr²ž¡p`´¬‰W`B;FNJN;5593h¤Ç¡~~z˜z\XRRRUYc|ž|^YY\_\YUNEmokskjh_N]i[TTZZYSQWWZb_XV[ZUNHEAA??=78>DGI\gWTYYYZVHD@:7888773„ÚG177:?DFBQÔË¡\J?róÐ…Q^efflnqpkigdt¼ôÅ}~}~GL[fr{T;:74464PjjlkeLDiinihccZgmbYMR[ZURTYWaZV[eYOIBB@ACB@>DIB=J[jh^LQeTH@;;855668::~×[CGIKNSSN[íé®XLEcÁÀƸ¾ÂÅÇÈÊÉÉÇÆÄÃÉÇ©Ž~}ƒg=i›¢§©sY@?BHHKK?9<@OJSihklfa\[W^[NPWUMOS][YX[]ZSTMG@BHIB>CRPJW]^iŠmQUYLB<9:H[w„Š‘”—ž¨˜–š™˜˜˜™š˜†q|[EE]œÉÖ×ÛÝÞÞàááààßÞÜÛÔy~z„PP_¯··¶³®¤·ŽxŒxMRN=454?hDaehsyfVUVSSQOTXPOZ\ZV[b]YNSUQIFKQJ<>MULfmiu†i[]SIB>7j‰Š˜‡‚}zummmonnnmmooi[uRGJX ÑÚâèèêëìëèëììêéâس}||~Md8qujb`_–x”zLOR]T865lUWhddo_SU]YW\UOSQSQ[]Ze^VVQOJIHDGJDCHPNTijlvtcbjhWQKL–iYXUTRQPNMKJJKLKMQPNˆx`KJGQšÔÞèêìÞ«ÂÉœŸÓéâàÚÊ‚z€n`_13521:KMKNSPLNGYwfA3O{uHa[ZicVNWZ`[YSMNWV[e`aXPPURLE@=GUYT\fhncZYY`cdikjne_…IQ_eiouoC5778:;LNNNMNMMHU}dG2d”G[ccbb`UXYYTPOQNS\ZUYZTMQZSPU[Vn€ubkxlYTX\]]_efl~‚~~uZ˜ž¤§©­¯|^H7:?CEOQLJ^cjU..C}ÐîëîìììéëêçèëîìíñÊzw‚W„A44UœŠIKIBBAFNNIGjxR75:ˆ`Pdc^`^ZZTVTVZ]SOWWNLNU\ZYZdw„‹„cdqiTQY\ZZ\dikt~}vŽgj•°ª “‡{ƒµ[6?EKMQF::xxxpXWax¨ÌÒÐÎÏÒÔÓÓÓÐËËËÌή‚{\…8::aŒ˜yC8444=KJFQ–e672t}Kkknqnnolry†ˆ‰Œ††‘³“}€|z}{lammbW[a_\[_gfhqgcd•]\EYE<874^»S=CFLSS=78ppnnruvwwz|}|‚ƒ‚ƒƒƒ~~}zz~€qly=JE[…’xJE7567:88M–™U862X•Lkptvwvwyxxusuutwyy}‚Š–¥³´ª—‰{plllmnlgeb^]\[Z_^YYp™WS=E4789>c´Q;AMXZM<<=qnlkklnqsuutsstvwx{}~~~~|zwuf}pGPLa€}OHIECDDB>6CejT;64435>@9?BCzwsokjjjklnoppqpppppqtwK8;MwIHJEQ7?DBDKQMKGD==>@XSLM>699=<7678`gecccddfimprtvvtsqnmnopookl|–®¹¶¨“qid[YWz™gHDDD=LŽl><6334459=??xxvtoljiihjlmnoppqqrrpqO1006KE77567;;75456666878789<;;=BM82AN_jjifeddbbcbdfjnsuwwwuqnmklnqomlr’®Ã¾ _Vbmq“UFMKIBFaoHDHC7524AH?EIHLWMMQOJEDuuuvutrlgeeegijlmlllmmmnn}ºDN::997776666666676577778:::?Cnlgjhgikmmjfcba````adhmorruvwvsmhgilnonlkylNPMSccJSK77:CGDDILWhjkmaGAAprsuvuurlheedefiijjjklllkv´†GA4577665555556565445566665CRE_lhkjhffhjlljecba`aa`_aeimpsuvwvtqkggjnnnkibcy[V‚ogbPKRYYYZ\^\[ZZ[^_^knprssrqpkgda`acdefgiijklmœzU]]G3544434445=A5544444437r’SAdgkjjhffdfilljgc``aa_]^aejmprsttttqkgeilllkv´•sslldd`U[ppmkjhgffghiikjlnppqqqrplhca`a`acdegijkn{pb™¤´i23333344588654433212m®ž¡r=_hllmmmjecbbclnkfbabba`^^aeimoqrrtttrjeegilu¦“o`__YXXW]ja[YXWWWXXXYZ[ikmnprrstrpmhdbaabbcdeghhrnGhŸ¤¬ža0/221116987512424oG=Z‰K:c¦OÃx]dgjklmnrsqqpolgcb`_`adQ0-.147;CIQZdt‡”¨¿Õ¿³¡””Zy–­²¹ÀÅ˦NA<=K¥ÖÓÍÈÊɱ{\bnieba_aefecb`][]^]\Z[[[_bh`DGPPUÊÕÐÕÞìˆB=Hº~7‡ÏÍk<¯—DË¿p\dfghjlnorqopplgda``_bS0-/479>ELUk„ÒäåéíìëíòÉxXzÉßÞÞÝÜä©Uh_[MŸäßÜÔÕÝÕipQkkjgc_`bcffdc`_____^\[Z\_f^AAIOMbl“©¸õÒRC=~ÖbÐÂfˆÔ[H¿Î³a[bcfijlmrqoqqomhb``_aW2-./4:DP^u¡¦ÕëêìììëíëªdefÌâÞßßÞã‘IXiZK’åàÞÛÝâÑRqVclnlifcbacghgfdbabaa``]\]c\A?EJOPTZ_Æœqh[UÈÍ|¤™‰ã£Ta¬ÃÏ Y\aehiklnooqqpolgb```Y4-//27q†D39:gƒ|wtqloŸ“TlK9777988;Fn×YVUG?952:GCnQgkjjkkjhdcbehjkifda`____^YC=EGKOTW[eghhkqx€›¸ÍÉ°‘‚yuN‹¼ÊÈrYadhikkmnppopomjeaa[6600;XÛà}_g…dghnqtx›‚UhJD:9;:9985<œrJD77;<;8>I>>ADGMQNp¡ŠNdPOPKKKJIKOG533469Psª~KPO?=_Kg_ciijiijjkjgdaa`cfhigc_]>2@LMPQS[eggjj‚ÊØØ××ÓÌËÍÇy]RMS–»ÆÄsT\_bdfhiklmmmmlla0:4/+,..///000:[jq˜{LNMNHFHKJIHCKC?9:DHPUoYJCDG>?IdS™”o\gghijjjhec``acfhhd`;0@LNRU^_d^L867:AFHGLI?>81fXOJ`ªÀ˺hZ_adfggijlnnmll\,:6.@;0-+**+*)6b‡££‚oQ7<=BTZSHB?HTDB:AKcNY_PRWIl`PLJr·ÁЬa\acefghjkllkjaR*862;PLF=78/)*.JavˆqcRPORTSOOQRVTSTVWWYZZYXYYZ[]b`ibZQQbeeefgghiiifcba``chh7*AB=XÊÅkZZUFOPMKMSKHFFFFClncRLM‡»ÂÓ—Y_bdffgijkjih]N.7540;??=31,-04=Hsv_agaD866:CBDFGIHICimu\OLWœ¾ÉË~[abefghiiiiibR:4/0/+*)**))*)**,JKVeiXYYYXXXXXYYYYYYYYYZYYYYYYYYY[dVB_dcdeefffggffhhhgda_`c8&9<:=EOWbntrgdcdcdffghgijqomgYOLc¬ÁÎÅu]befghghhigd\N>98:977899:9:<;9_NUhgUXWWWWWXXXWXXWWWWWWWWWXWXWVUT`dH]`aabbddfffeeegghfca`a8%85438>BJNPWURQQOMLIFDCBApklneSVf„»ÇÔºj^ddfhhhhhhfb[USQRSRRRRRTUVXYZek„ijTYVVWWWWXXXXWWWXWUVUTSTUWYXagisqprsssqlifbljeefggggf`Y5%71MB+''&$##$%$####""""$%llnmhYOPOŒÃÇÔ©__aceefhggifb`_^]\ZXXWXY\^acfgw‡nywugXXXXYYYYYYYYW]m\fr}‹–ž¥©°²¯²´³´³²±±­©¦”ypdddeffcXQK/&62JT?30353/--,,*)+./0125mrpomdTMLW¥ÅËÔY`bdeghggihfeddb`^[ZZYZ\_bee_z†{…¯·¤iZ[\\\]]\[[ZXu‘¥¯°°«§¤ ›š˜–•”“‘’‘‘“˜œ ¦[ecccb`^UMI1%50(#2<;::98766568:;:::87nsqrswiUOJm½ÈÑÈn\bcefggfggggggdca^\[YZ[]_a^YwsvžêáÜ«c_abceffgfir{ž–‘Š‚|upjhfb]]\[[ZZ\_beirc{ibbbcccXK3'4/,-63342/....-,.//000.-moliijf]RMM–ÆÉÖ¥Z_acefgggghhhhgeda^[ZZZ[\_[Wg]T¡çÙÚç–dmoqrstuw}‹Šiod]UOLJJKMNU]MNLJKJIGGGHIJZjaa`a``]R<-/*+-2'&&%$"""""!""""""""ledcfbd^SMJdµÄÏÐyY`fgeefggghhhhgfda][ZZZZ][VZMF}ܯÄôºfwwx{~ƒˆƒ}kLHEDEEEFFFECHK===<<;;;<<=<;;Qa````_\WP?3/1353248:;:99766788899:lggfrojbRKLL„ÁÆÕ²_^cdcdefgggghhggfd`\[ZZZ\ZPMKIQb`‘á§v¡±µ»ÃÉÐÙÀ„G=<;::987779995689>F86777778;>Za````^[XSPNMMOPQSX^aa`\XVROONNOPOnlfgnmriRKLKW§ÃÊÒ”`_bccdfgggghihhfeb_][ZZZYIEMHNOU^q{­ÔzspqtyŸt;;;=?@BCDFEEa_>;=:=>65566667@=M_``aa`^\YXYWWXXWVW[`dedb_ZVVVUUVUjrkgnotrg\NLJt·ÂÑÊp\bccdegggghiihgfeb`][ZZ[JDNHMOS[eƒÍ¿635565B”T<=@AZbaaa`__^]]]]]]\[YY\aeffe`[YYXWWWvxomqpoloqYLKOÁÇׯ`acddegghhijiihggeb^\[[\HBMELRW]g€ÄÁDB@AD@mš??:467767>?;IEIRZbmºÆ^b‚‘—ž|8A526;::88?<8555469537JEC94434@>E]baaaaba```abbba`^\[]aehhgb^\ZYYfkkcilotqojRIKLz½ÁÐÆp_ddfhhijjjiijjihfc_]\\BSbbdeedbbbaabccdca^[[]`eiihe`\[[GWcbgjrsoss`MJXg˜¿ÅÔ°cbdfghikjijkkkjigfb_]]?:GGFLT\hv¢ÇY€ëíìÊžI<>223N}n513100000338?BFMUTRI927CFFNS^[\\E24A>E‡a3336Xcbcdcccdddb`^\[^bgjlljebytsptqkklkhkeLJKJpº¿ÎÊt[adeefeghiikkjjhgda^<1BJGj‰}YZu§iO€‘¥¨g;@><:<[wrcAA=0///028GERLU`\WRD32>A>‚p3660Ldccddcccddeca_\[]bgklmkgy}pkkjgikokbPKMLL“¿ÁÔ­[]`bccdffhhiiiihgfc`>3>IEžäÉuOc_><>=c‰V;AAI]@AEECBAB4.///1;IFSEYf_VQH719><;6/012Tdcdddcccddddcb`\[]bgjmlkpvqtslmgmoolkf[NKIb¶¿ÉÒ}X_bddeefggghiiihgea>3:FFoÉדOW@>:666558>AC8665645777?KHHC<8Tˆvdcbbbcccbbcbbbbdcca_\Z\`fjlluoonkljgjjlmniRJJKg¼ÆÎÖ‰]cdffffggggghhhgbY7*58ACDEMUbiF.=p‚KD8244566678:;=@@B@>@?=<==>>>=>>>?<8ZL6^`bcbbbcbbbcbcccccccbb`]Z\`ejllmusmkmnmfgkijUJJMM”ÇÇÓ¼c]^aceefffffgfdcWO5,50331.//263,_¹^bY;?><>>?ACEGHHNTSRPSSSVZ[\][\ZXZhZx}=Pb`cb`bdbbbbbccccddccca`\Y[afhmoqmlmqtpkhklgTMKLKd¹ÈÍÖŒ^ddfggggffgfd`^XR8+4/=3015@GMKLl¥¦It‡_AHV\afhiknonnqqpoonmlljkklmlmoues‡mGZ À¾”adcccbbdccbccbbbbb`\[\amklnrttptlkmmknePJJLMÇÉÔ½jdegghhgffhfeefdX:,211.9<<>?>?AWy–By‹€egsqmkheca`]\][XYXXWVVVVVWXWW[^Z`hxoSˆäïç˜``aaabccbbbaabcbbb`]Z\jquroqqloijieiqaLKLMK_¶ÊËÔ–aeffhhffgggeedcZA1--,-+'&%&(';MkŽMrdZ_ZVSPONMLKKJIIIHHHGGGHHIHHILJLNNUsj`Ž°±Ÿb^_aabbbabbaabbbbca_\Zpvtoiijmoiiktrtc`ZLLNP…ÉÉÑÇrbefhhgggfffdc`]R7)*+,(&%%%&&CNdŠhq_TOJLMIFEDEDCBA@@@??@@?>>????@@A@BACFUnj\[X\`__aa`bbaaaaaaabbaa_][hikha`bhiq{wtunimcQLNQZ°ÉÈÖ¥cffhihhhfffdca]ZL>?><@\oŠwaIDCAACA@>>>=<<;:999::::::::::;<<<=>>>CNk`__`aaabbbcca`aaaaabbaa`__olkmlspsisqttu|k]SKKLLzÅÄÏÒƒbeeffffeeeedb_]XRPPQQPOPRSSEV‰iW?=<<<<<;:99987777777777787889:;;;99;=8>N^```_acbbccbaaa``aaaaabba`ƒ}€yu{wiiowvx{rc\RKKKKR¡ÊÇ׺e`bcddddeeeddb_]ZXXXXVUTUWYGVvsYN989:;9::8777776776799::;;;;:<<;FZ]f|ŠzI<=>@CDEJhuNKHGDCDILH\‹½áÜ©¶À×J5Zca``abdbbdedcbbaacbbabbbb€~xwysnq``irysjkfYLKJTZY™ÂÃ×¾f`ccadeeeeddcbba`^^\ZXVUUWGNKSLœ³¨Ÿ«Å¶›{SLNJGHLRMkv^UY]ZZYRIJ¡øå¾°¿ÏçÀB1Yda``aadhhfefedcbbdcbaabbb‡††††‡‡‡†…†‡‡‡††††‡ˆˆˆ‡‡ˆˆ‡‡…„‚}xutttxyxyzzy{{zwuxyz{{zyz{~€€€…†……†††††…††††………†††‡†‡††††…†‚|yuuuvuvyxxyx{{zywtvvy{zxwy|~€€€……………†††††…†………†††††……††……………‚€{uwwxwwyzxxwz{zyxvvuxyywwy{~~€€€……………†……††…††………†…………„……„………ƒ‚€zyyxwy|{yxxz{{{ywvvxyzyzz{~€€†…„„…………†……††…………………„ƒƒƒƒ„„„ƒ€|yxwyz|zzz{{{{zyvvxyyyzzy|~€€„‚‚ƒ„ƒ„…………†……………………ƒ‚‚‚‚‚‚€~|zywy{{zz{}}|zyywvxz{z{xz~€€‚ƒ„…ƒ‚ƒ„……………„…††„……‚€€€€€€}~~}{zzwwxxyz{|{{zzxwwwxxzzy{}~€€€ƒ…†‚‚ƒ„…††……ƒƒ„„‚‚‚~}~€~}||~|zyxwxwwy{||{{{yxyxwuvxyy|}~€€„…ƒ‚‚ƒ„…††„‚ƒ€}{z||||}}}}||zz|zzyxxyyyzz||}}{zwyyvuvwwx|€€€€ƒ…‚€~~‚ƒƒ}yxwwxy{{z|{zyxy{yzzyxyyy{{|}~}|zzyxxvvvuv{€€}†‡ƒ€€€~}{{yzyyxwwyzxzyxxxy{{{{yvwxxz||}~~|zzxxzwwvvw|~~‰€€€€€~~|}{zxzzxwwwxxvvvvvw{{|zzyuuvwz|{}~}{yxwxyywxy|~€~~‹‚~ƒƒ‚ƒƒ{{yvxyz||||zwvuuvw{||zyx{{zzy{|~~}{xxwxxxyz|€‡}|‚€ƒ‚†ˆ‡‡ˆŠ†{yy‡ŠŽŽ‹uuwzy{yyz||z{z{}~~~}{yxyz{{}€ˆ€€}{€††‡†‡‰‡yz‰‹ˆˆˆŠ‰Š‹‹wtvywzyyzzyyy{}~~zwwyz|~~€€~|€‚‚ƒ‚‚ƒ‚ƒ‚€w|‡„~„„†…‡Š‰}ttxyyyz{zyxx|~~~~~}wstvw|„‡‡ˆ‰ŠŠŠ‰ˆ‚‚€€€€€€€y~‡‡…„…„ƒ†„ˆ‡‚yvwyxy{{zxxy|}}{{yvrprqos~†‡…†Š‹ŠŠŠ‰‚‚‚|‡Š†…‡ˆ‡†„~†‡ƒ|zyyz|||{{{zxtpjpptssqoij…‚€ƒ†‰Š‰Š‹‚„……ƒƒƒ‚ƒƒƒƒ‚ƒˆ‰„ƒˆ‰Š‰„~…‰„€€‚‚ƒ‚ƒ‚|yuuxyyzyxxwy„ˆ‰‰‰†‡‰ˆ‰Šˆ‡‡‡‡‰ˆˆ‰ˆˆˆ†„„………†ˆ‡‡‡„…Š‡‚ƒƒ„„ƒƒ‚ƒ„„…†……‚€€€‚†ŠŒˆ††ˆ‰‡‰‰‰‰ˆ‡ˆˆ‰ŠŠŠŠ‰†…‰Šˆ‡‰‰‰ˆˆ‰ˆ‰‹Ž‹ƒƒ„…„…„‚‚‚‚ƒƒ…†‡‡†„‚}{‚‡‰Š††‹‹Šˆˆ‰‰‰‰ˆ‡‡ˆ‰‰‰Š‰ˆ‡ŽŽŽ‹‹‹‹‹ŒŒŽ„ƒ„„„ƒƒƒƒƒ„†ˆˆ‡…|‚‡‰‰‡‡‡†…„…‡‰‰‰Š‰ˆ†‡ˆ‰‰ŠˆŠˆŠŠ‰‰‰‰‰‰‰Šˆ…Š†„‡†„‚‚ƒƒƒ‚€€ƒ…‡ˆ‡„…ˆŠ‰‰‹‹Š‰‰Š‹ŠŠ‰‰‰‰†‡‡‡ˆ‰ˆˆ‡~„‡‡‡‡…††‡‰†€ˆŠ‰‹‹Šˆ…ƒ‚€‚€€€‚„†††‚€ƒ‚||€‚ˆ‰‰‰ŠŠ‰‡‡‡‡ˆˆ‡…‚ƒ‚‚„„„„ˆ’’””””•••”Š€€€‚‚€€‚…†ywqqrrqqqtƒˆˆ‰ŠŠ‹‰††…†ˆ„„„„„‚‚ƒ„…‹ŽŒ‹‹Œ‰‰‰Š‹‡„ƒ‚‚ƒƒ‚‚€€ƒ„‚€€|zzzz{||€†‡ˆŠŠ‹‹‰‡†…†ƒƒ†ˆˆ†ƒƒ†‹ƒ|z{ƒ‰ˆzz|‡‹ˆ†ƒ‚‚ƒ‚‚‚‚‚|}}€€€‚€€}ƒ‡‰‰Š‹‹‰‡†…‚‚„†…„‚…Š„~~~†ŠŠ€z|†‹Šˆ‡…ƒ‚‚€€‚‚xssxywy~‚€}x||†‡‰ŠŠ‹‹Š‡„‚‚ƒƒƒ‰‹‡‡ˆ‡ŠŠŠŠŠ‹‰ˆ‰‰ˆ‹‹‰‰ˆ†„€€‚‚‚yqqstuz}}~}y}}~ƒ‡ˆ‰ŠŠ‹Šˆ…ƒ‚‚ƒ†††‰‡†‰‰‰‰Š‹Œ„‡‰‰‹Š‰‰‰ˆ†ƒ€€‚‚xrrsw~„€~~€|~}}„ˆˆ‰Š‹‹‹ˆƒ‚‚‚‚‚„†‡‹‡……………†‡†|ƒ…†‹ˆˆˆ‰‰ˆ‡ƒ‚€‚{tuu{„€€v~}†‰‰‰Š‹‹‰ƒƒ„ƒ‚‚ƒƒ…ŽŒ‹‹‹‹‹‹‹‹‹‘†…ˆ‰‰ˆ‰‡…ƒ‚€‚~}|}€~€oz€~}‚‡‰ˆ‰‹ŠŠ„„‡„ƒƒƒƒ†•–••••••––••–•”‰†ˆ‰‰‰‰ˆˆ‡„‚‚€€€hm|}z~ƒˆ‰‰ŠŠ‰…‚„ƒƒƒƒƒƒ‡’’’‘‘‘‘‘’‘’’’Š‡‡‡‰‰ˆˆˆˆˆ†„‚ƒ‚ƒ‚‚‚‚‚‚jir{}~…‰‰ŠŠŠˆˆ‡…„„……ƒ‰‹„†ŽŽŽŽŽŽ‰ˆ‰‰‰…€ƒ††‡†††††‡kjkw€~~ˆŠ‰ŠŠŠŠŠ‰†……†„‡†}|…‹Š‰‰‹’““’’“””““’’’‹ˆˆ‰ˆ…€‚……………„„„„onmt€}}…‰ŠŠŠŠŠ‹‹‡……†…†…€~ƒ††„ƒˆŽŽŽŒ‹‰ŠŠŠŠ‹ŒŒŠˆˆˆ†…ƒ‚€€€‚omjmy€~|€‡ŠŠŠŠŠ‹Œ‰‡†…„„……ƒ‚‚‚‚‚ˆŠŠŠŠŠ‰‡‰‹‹‹‹‹ŒŠ‰ˆˆ‡†…„ƒƒ‚‚ƒllhijz}}ƒ‰ŠŠŠŠ‹Œ‹ˆ†…„„……„‚‚ƒˆŠ‰ˆ‰Š‰‰Š‹‹‹‹‹‹Šˆˆ‰ˆˆ‡‡‡†ƒ‚€€ƒ…†omihet€~|†ŠŠŠŠ‹‹‹Šˆ†„‚ƒ„„‚ƒƒ…ˆŠŠ……‰ŠŠŠŠ‰ˆ‡‰ŠŠˆˆˆ‡ˆˆˆˆˆ‡…ƒ€‚„ljgfgl{€~}€‡‰ŠŠŠ‹Š‹Š‰…‚ƒƒ„‚†ˆ‰Šƒ‚ˆ‹‹Š‰ˆ‡††‡Š‡ˆ†„†‰‰ˆˆ‰ˆ†‚€€€gggghip}€~}‚‰ŠŠŠŠ‹‹‹Š†‚‚€‚ƒƒ‡†ˆ‡‡†ˆˆˆ‰‡‡‡‡†‡‰‡‡„„‡‰‰ˆˆ‰‰‰‡ƒ€hhgfghhu€}€ˆŠŠŠŠ‹Š‹‹‡‚€€‚ƒ†ˆ‰ŠŠŠŠ‹‹‹‹‹ŒŽŽ‹‹‹††‰‰ˆˆˆˆ‰ˆˆ†‚jhgegigs€€„Š‹ŠŠŠ‰ŒŠƒ‚……ƒƒ‡‹‘‘’““””•–•––––•”Š†…‡‰‰ˆˆ‰ˆˆ‰‡„jhgeijho~€}€ˆŒŒ‹ŠŠ‹‹‰ƒƒ„……ƒ…’”˜™˜—˜—–—––•–————‘‡‚ƒˆŠ‰‰‰‰‰ˆˆ‡„jjjhihhlu}ƒŠŒ‹ŠŠŠ‰ˆ„‚‚‚‚ƒ…“””“‘ŽŽŽŽŽŽŽŽ‰‡†ˆŠ‰‰‰‰‰ˆˆˆ‡lljjnkijr~‚~‡ŠŠŠŠ‹Š‰†„„ƒƒƒ‚ˆ‹ŠŠŠŠ‰ˆ‡‡‡‡‡‡‰‰‰‡Š‰ˆ‰‰ŠŠŠ‰‰‰ˆ‰‰‰lmnoqpmos|€~}~‚‰Š‰‰‹‹‹ˆ‡‡…„…‚ˆŠˆ‡Š‡…„ƒƒƒƒƒ‚†‰‹†„†ˆ‰‰‡‰Š‰‰‰‰‰‰‰{zzzzzzz{zzz{{zzzzyyyyyyyyzz|‚„ƒƒƒ„††‡‡†††‡‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzzzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzzyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„††‡†…ƒ„„„ƒ…†‡‡†…ƒƒ‚‚€zzzzzzzzzzzyzyyyzyyzzzz{|{{z{€‚…„„„……„ƒ„†††…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zz{{zzzzzyyyzyyz{{}~}|||~€‚„„„„„……„…‡‡†……„„„„…†‡‡†…„‚‚‚€€{€~|}~|zyzzzzzzzzz{}}~}~‚ƒ‚‚„…„„……‡†††††………„„…†‡††…ƒƒ‚‚‚€‚~€€|{zzzz|zy{||}€€€€€‚„…ƒ„„……„„„„††††„…†………„…†††††„ƒ‚‚ƒ~€~}|{zzz}|{~€€ƒƒ‚€‚ƒ…†…†……………ƒƒ„…†…„„……„…„…†††……„ƒ€€€€~}|{}€€…†……„„ƒƒ„ƒ„…‡††††…………„„……†…„„ƒ„„„…††‡†…„ƒ‚‚€‚ƒ}~‚€€€~ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡††††…………………„……„„‚‚ƒ„†††ˆ†…ƒ‚€‚‚‚€}€€€‚‚„†‡†‡‡†‡‡…„„„„…‡††…†………………………………ƒƒƒƒ„†…†‰‡…‚€‚‚ƒ{y{€€‚‚ƒ‚„†‡‡‡‡…†††…………‡‡‡ˆˆ††………„…………………„„„ƒƒ…††††…„ƒ€€€‚ƒ}|}€€„††‡‡‡†………„ƒƒ…‡ˆ‡ˆ‰†…„„„ƒ„„††‡†…„„„„…††ˆ‡„ƒ‚‚‚‚‚‚ƒ„†ˆƒ€~|yy{}‡‡‡ƒ€~~~}~~ƒ‡ˆˆ†……ƒ„„…†‡‡ˆ‡…„„„„…‡‡‡‡ƒ‚‚‚ƒ„‡‰…ƒ‚}}|}~~€…‡‡|||€~~}|~…‡‡…„„ƒ„„††‡ˆˆ†…„ƒ‚ƒ„†ˆ‡†ƒ€€€€€‚ƒ‡†‚ƒ€€€€ƒ‡†}|{{||yz}}}ƒ‡‡…ƒ…„„„…‡‡ˆ‡†„„ƒ„……‡‡†ƒ‡’”—˜˜™š™…‚‚€€‚‚€„‡„}|~}y{{w{€}|‡†…………„„…††‡‡…ƒƒ„…‚€~|ƒ”œ˜•‘‚€‚‚‚„„ƒ‚‚…†||‚‚yxxw}„|……„ƒƒƒ„„†‰‡††ƒ}~|}zz{||{†‚|zz{{zyxz€€€€‚‚‚‚‚‚ƒ„€{{yzzz€‡€|~ƒ„ƒ‚€€‚„„„„„€‚€~}}‰|}~}|{zzz~}}}}}}}||~~||}~€…€{}ƒ€€€€€€€€‚ƒ‰ƒƒ„„…‡‰}z|{{{{z{}~~}||||~€}}}}}~~~~||~‚€€€€€€€€ƒ…§³’‹zy}zzz{{z{|}~}}|}}~~|{|}||||}}||||}€€€€€€€€€­™”ƒ„…ƒ†‡†‡‰}|||}~€~~}}|„}}}~}}}ˆƒ€€€€€€€‚„Ž ¥¦¥¢¥§©©¨¨}}}}}€€~}}ƒ„~~~}ˆ}}||}~€€€€€—¿ÄÆľÂÆÈÈÆÀ~}}}€€€~~€ƒ‚‚€‚ƒ€~{zyzxxxwxyx|‚‚‚„™²ÇÏÒÔÕÕÖÕÕÓ€~}}~~€€€~€€‚‚‚…‚||{{ƒ‚€€~||€€‚ƒ‚‚ˆ „‡’›¡¦¨¨¥¡œƒ~}}}}~€€€€€~€€‚‚|||}~}z|}~~~}{~€€€€‚‚‚ˆ´ª‘„Š~}‡„ƒ€~}}}}~€€€€€~}ƒ‚|}~~~{xy{€|{|~€€€€…¸Î̽³Áµ’…†˜½†„‚€~}}|}}€€€‚ƒ„‰Œ‹‰€|}~~{zyy~€~{|||}€€€„¸ÎÐÎÈÀ² ‘‘ž²’‰‚€}}|}}~€€‚ƒ‚‚ƒ„„}|||||{{{{„}{|{|}~~~€‚€‚µÎÐͶ˜ƒ‚‚‡„„ƒ‚€~}}}}~€€€€|}|}}}}}|}…€~}|~~~}~~~€€«ÌÅÇ—~‡ˆ‰ˆ…„„ƒƒ‚‚€~}}}}~€€€€€€zzy||z{|z{|{zyxy~}}~~~~¡‘œ†€‚ƒƒƒ‚ƒ‚‚‚‚~}}~}}€‚€€€€yvvwvvwwwwvwvutv~~}~~}~‚€‚‚‚‚‚‚‚{~‚Ž‹‚‚~~~}~€€~zyxwwwwwwvwxxxxx}~~~}}}~‚€‚‚€€€}{‡†ƒƒ~~}}~€€€€||€zxxyxxyxyzyxyyzzzzy{~~}~~€€~~~€€~}}‚ƒƒƒ€~~~}}}}€€€€€|~……€{|||{zyyyxyzz{z{{z{}~~~€‚€€€€€€€€‚ƒ‚‚ƒ~~}}}|}€€€~„ƒ‚}{{|{{|}}|||{{{{~€‚‚‚‚‚‚‚‚‚‚‚ƒ€|€ƒ‚ƒƒ‚~}}}}}}~€€€€‚ƒƒ}|||||{|||zyzz{{}€‚‚‚ƒ‚‚~y|}€‚‚€~~~~~}}}~€€}€‚‚€}||}{{{{z{{{{z{}~~~€€€€€~zyzƒ”ˆ‚~~~~}}}}~€€€€€‚€}{|€|{z{z{||{z{}}~€€‚‚€€~yxy}…‰…‚~}}}}||}€€€€€€€€‚}|~€|{zz{{{{zz{}}~~~~‚~zxxz‚‚‚~}}}}||}€€€‚€€€}}~}~{{||||||{||}~€~~~}~€‚~zywxy€ƒƒ‚~}}}}|||€€‚‚~}~}||{||{|{|{{||}~~~~~~~~~~‚‚~zxyzzƒ‚‚‚€}|}}}|||~€€€€€~}zzzywwvwvvuuvuuuvv}€~~~~~~~€€~|x{{{~‚‚‚‚|}}}}||~€€€€€€€zwwvuutuvvutvwvvvuux€~~~~~~~~€}||}~}€‚‚‚~}}}}|}~€‚‚zwywyzzz{{zz{{{{|{zz~€~~~~~~~~~~‚‚ƒ„‚‚‚‚‚„„€~~~~~}~€‚€||~}}}}}~~~‚„€~~~~~ˆ‰‰ˆ‡…„……ƒ‚—~}~~}}|~€€€~€‚ƒ‡†€ƒ€„†‡„ƒ€€~~}~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÍÍÎÎÍÎÍÍÌÌÌÌËÌÌËËËÌÌËËËËÌÌÍÎÍǾ²¬žœ‘}qfhuijilmqcgaU]a[\c[R\b]_VPOSZY_e_dSTVVTVTSYTPW_^ZWTMD=8;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÍÌÌÌÌÌËËÌÌËÊÊÌËËËËËÌÌÎÏÏdz™ •r~w€p]]]q}nZ_mkg[YZ[_YUTN^f_\ROOQXW\gghOT\`YPPLRRY_a[VNLI@?65442086ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÇËÊËÌËÌÍÍÍÍÍÌÍÌÌËÌÌÌÌËËÌÌÌÌÌÌÌÌÍÍÍÍÎÍͦ‰ˆpjkmmlmqsyy`a_cdZZ[[Z]RSV]bX[ZVTRTSWZfcPQX\UKNMSS\b`aYPFC@;741110.0ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÂÅÁÊÌËÊËÉÊÊÊÊÊÉÉÊÊÉÉÊÊËËÊËÌÌÌÍÍÍÌÌÍÍÍÌÍÌÍÌ´–’ynsvxs}cca]fX`ccYYVU`XTYfdQOSUWSMLVNWfPNSWYPNSOPX_]_TTTOG?<9632/,,ÍÍÌÍÌÍÌÌÍÌËÌÍÍÎÈ¿À¿ËÎÎÍÎÍÍÍÍÍÌËËËËÊÊÊÉÊÊÉÉÉÊÊÊÉÉÉÆÈÉÊÊËÊÊÍ¿‘‚ƒo_jzkdf_^`Vi`VXTSM\`^`ok\POT\TMJSQQXTYZYUNPQV[_WVYQPXMG=>A<52/,,ËÌËÌÌÍÌÌÍÍÌÍÍÎÏƹ»¹ÉÎÎÎÎÎÎÎÎÎÎÎÎÎÍÍÍÍÍÍÌËÊÊËÌÌËÊÊÆÊËÊËÌËÈÆæ‹wvkg^inmb_`\W\_UQZRRQ[eeegbgUQUYSPSSRQWRX\aURTQYZ\WWSSOPPI>?=6650.3ÌÌÎÍÎÎÎÍÎÎÎÍÍÍÎüƽÇÏÍÎÎÎÎÎÍÍÎÎÍÍÍÍÍÍÍÍÌËÉÉËÍÎÌËÇÅÊËËÍÎËÆÄÀ²œ{|o`TRa[Y[`_^b_VTPJKUY^aci_ZSOOONJSPSP_KTTY[W[Z]ZZVQQSNSJEC?C;520/4ÎÎÎÎÎÎÎÍÎÎÎÍÍÍÎþÌÁÅÎÌÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÉÉËÈÄÁÃÀÆÇÉËÌÉÁ½¹§‰{pUSRPLUUlnebc\YMEALYP[``]UTRJLJHKIQLXORTUVW[ZZZ\XRPRMWOBG@><3.---ÏÏÎÍÍÎÎÍÍÎÍÍÍÍÍþÊÁÂÍÌÌÌÌÌÍÍÍÍÍÎÍÍÍÍÍÎÍËÊÈÇÅÇ¿½¸Á½À½ÅÊǺ«›¢‰~{vaUYYWgh\nee]TURRYWcTOZ\RNVWRKHEOQQ[ZRQXZUTWWTNNZUSWRWV>4511/.-,,ÎÎÔÝÜÒÌÍÌÉÈÉÉÊ̾ÈÀÀÌÍÍÌÍÍÍÎÎÍÍÍÍÍÍÍÍÍÎËÃÁÁ½Âº¸ªÀ¸¾´¿Æ½½µ¤…‚p†zd[_Z[fjUn\S[TNTT\ZTNQSWRQRTXMKKSRRYg]NVXVWTTZRK]YY[[KA<7630-.,,,ÎÛëððæÕËÉÁ¼¼ÀÄÇÁ¿ÆÁ¿ÊËËËÌÌÌÍÌÌÌÌÍÍÌÌÌÌÌËÅÀ»²¼¸¯ º²½±´½²¹°”ƒ{|oecca`T[bYTe[SZ^ORSX\UVTNNMKKLSYVOROPPbYMZ\YRLMXYPWXQKI@8=<:72.,,,-ÝïÒ¨¸äêν¶±°µ·¿ÁÄÊÅÁÉËËËËÊÊÉÊËÊÊÊËÊÉÇÈÄ¿¯«§¬®¢›¨¬·®³³­¨–}rusllS`dYXcWP]i]Y_VKQRT[`_SQLLKNRMSUKPTNR\^Ya\SOKLXXQYPQVJCE=:;972/.--ïÇzgn¥çܵ®­­³±¾ÄÆËÈÃÊÍÌÌËËÊÅÉÌËËÊÉÉÇÂý½± š™££—”Ÿ«­«¬¦¦—}rlgajl[SWUa_VV[YZ`VUZUTUT_VQSNNTUQSUWQPXQRX_Y^XX[W\_SRYVRN?=D:8667530//åŠvvq‘Ì깬ª®°±ÀÀÄÉÇÂÊÍÍÍËËžÈÌËÊÊƾ·°°±¸­Ÿ•˜˜˜ ²®ªœ—˜‹sebeTd^OKHPWaZTUag[`o\^f^SUMPPOOQVQTRTXR[OP_]\hZb^ge]RPLKHK@>@8745564./2ŃŠv‡ÂêÀ¨¨°¯³ºµÁÇƾÈÌËËÊÇ¿µÆÌËÆÀµ¥š˜ ¡šš–‡“—­ª™Žƒudei[[SQUTPX^_[hj]PU_NXoo[QOJMMJFJLKNNLPZUY]SRWX_gYYTNILFEDCI?7533443/16ªš›‡|†¾êÉ¥§¯±µ´±½ÈÅ·¿ÉÇÊÊȾ³ÃÊȾ°¤™œž•–“‰‰Œ’’‰‰‘—‡‡ˆ‚~wunbWTX[XPV\UU\h\RQ_ih^]\TTLIIGIHFEFMLT_\UZUO\jfeV^TMVTIJ@?@9854334437={€„†ÀçåØ㮬¨©µÂ¸ª®³²¹´Å»°½Ã·ªžŸ˜š ’“Œ†‚†‡}‰‹„‚‚€xvpaXXTU\[SYTRYeOPP^daRR[XSLKLIKIGLJHQU[bRYQQkqce_b]U\YUUH<:;86543375;?ž¨{ÁåìîèÏϨžŸ¦§žŸŸ  Ÿ¦¶®¥¡¦šš— ™˜Ÿ“Œ…‚„ƒx‚‰‡„|{{}upnjdXPXf[QTRU_XOY\\^WQQOQRLJPPJMSQECJNS\OQM_a`_ZgiZPT^ZFSF=;<956648:<=ÛÚ¸uw“ÀäëâÞæﵟ¥±¡›œ ¥ª¤¡¢£ ”“’›™Ÿ›’™‹ŽŠ†‡ƒ}xˆƒ€y{xwphidYWZRW^XT\Y[ZVZYZ\ZUPLVRNLOI@BEE@@EHGPJRSX[aX`mZaQY^ZJEC@=<756669=??ipbat“ÃäìÏÃáéÆ»ÉȺ½·½»ÈÄ»ª  •Œž–š•‰‹Š‰ˆ†…‚‚€y~„~|~vwvrqmkgX\cdbWQSWX]]bWT[QW_\WPJOMMJBDEA?FFDBRGUX\W`a`\RadUVYRLGDF975668<>HGKRNNm‘½äîèæêéæçèææççéçéëïÄšš”ˆ‹’‘‰ŠŠ‡‹†‹‡ƒ‚‚„{}‹€y€wtqurnhaV[eaYQVOR]fbbUOSWkZaXNQROIHCIVMEJLMFPR\\XLYccdT`eXPW^PE@@<;9879=@KBzgD?[„ˆ éììëëìììííìíêæäç鵌‹ƒ‡‰Ž‹}ˆ‚Š•„„Œ}†Š}Š‚y|wvvuwsaVQZYZWZVO[WX_gjmrriTZ[SMRQFEFPTPRPOPIIWZ]\ON]Y_]]hfW^R?:9<<;::9;>==>>FPTV_YZafk`^^W[SYSSVVT?9889:98967:@@?=MONQTe«ïìíâÒÊÁÀ»¹º»¹ºÃ»‡}yz}€}yz€€||~}x{}~…„~|~{|trvzytnjg\SLKXW[RUWZZVHW_Z\WYaXLMTPNLMONORSYWZmc[\ZZUYYRUJLI>973g‚86987;BECEONdhp–˜ßãà±f\UPRRNPNQYm|zz|x{€}wz{z{x{€„‚€~zusmmwxzqg_`SQSD?OVUVZZPKIUY[[V[d_TMJHJNMMIHINVXZ\_Z]VURVOKKHA<7787Sx;789:?=<<@LOX`ZTY[SWYNKE<:998773áO49:;ECGE?<=;LžÚ؈~{†¡yng_YUWap”—za][XVWVUNdtjrjig^N\i\TSYZZSRXWZd^WU\ZTMGEAA??=78?EGI\hXTYX[ZSGC@:7888785‰ÞP3::K[kk^LQdSF?;;:9;97573{ÜU5<9;>DF@Tìå¿hMHO¤ÃÎÎÊÌÎÑÓÔÕÓÒÒÐÎÐÕ§†~~‚JHq„’™žZL902;ADNMGLQTMFfhklga\[W\[NPVUMNS][XX[]ZSTMG@CHJB=DRPJV]^iŒmQVVKA<9869CMVblo•Éˆz}~~~‚ƒ…’ivlGCSŽÈÖÛàááâäæääåääãáÜ´}||€uCU’¯²³µ²§š‡ilsTQPG3234ZLUfgsygVUVSRROTXPOZ\ZV[a\YNRTQIEKPJ<>MTMfljv…h\_TJC?<8Us‹ Ÿ ž™”‹‹‹ŠŠ‰ŠŠŠwbs\GIP‰ÌÚàééëèããåàßçëêäÚÏŽzyƒ^ZJl¦Ÿ•‰}š¼…Š¦XNPMM>55OlGfdbn`SU]YX]UOSQSP[]Ze]UUQOIHHCFJGEIQOVijhqocbkkZTNKN”yxungc`^]^\[ZYYYYYX†zfLJGFˆÍÞèëé꺡³Ù²£ÊëããÝÛšzy„Qr>6B?:7GJS_`d^PLKhlW48G€MX\ZhcVMV[_ZXRMNWW[c_aXOOVRMF@=HW`W^ijmaZXX_bdhkmqh^j‘OMQSTUXSGEB@@@@?ISVJJG;55<~ÈäåéççáØáçáÙáéççãã˜z|}Vw447=>9HNMMLLKMJGkuZ7A‘¦dQeb`a`VXYYSRPNLR[WSVXTMRYRPY`\tƒsalxiXTX\]\_egm„ƒ}}uLu…‰–‘T>:67:;=KVWfimg8-7k¸ðííîëëìììëëëíííñæŽt~ohk159wŒRDOJIHIMMLE^w`?7FpƒJea_a_ZZTVU]de^Z_^WQPXc]Y_l}‚†‹`eqfRRZ\ZZ\eiku}zwuŽfq©²µ´²°­Ÿ`;6:DJMTMAxwvv_X^p›ÎÔÕÓÓÒÓÓÒÓÔÒÍËÊοŠ‰Š]|Z27@~•|MC877;KNMEX{F63E”Pfmorpppnrz…Œ‹‹‰Ž’‘ŒŒ—·‰…‚zx{zldnmbX\b_\[_gegoeb_d–]bj‡vi\P`É|@:BIRWXB7qonnptvvwz}~€‚ƒƒ„…ƒ€~|{w{€†Y‹K>CJ‚“ YD8235>B>?v¡ˆB657iYprsuuwyxwuttuuuuvx|„‘¢°³¬‘…yollmmligb]]\ZZ^\YZYo˜XS=><868hv?:74|…Ijc[^glmostvvuvurrrqppps{‰–¡¬®«§˜‡vigfeb`\ZWYXWVX„ŽUHBB5897D|a:69Ta^F>@vqljjjjlmnprqpooooquyy{yibivsa’K_WcyqTGILMMKNHM\‡”fA;<4r€@iK<;Kfdefhikosuuusrpomnoooprw§»¼©zlgggfc`]\X_™}S>>=49RR>>;4435Dgddcccdehlprtvutsqnmnnoppmlv‹¤¶¼³¢‹xlihb^]|žgM>@?9Px~c<94443437;?wwusnliiihikmnnopqqqrqrZ287CIA77645<2;_B;::9888767776778888778;;=EF5Qafhikkjgdbaa_^^`cgmprtuvvurlhhjmonljiu“¸Á_VeuyŠFQhTICDPU?GIF??76>FMLtuuuutrlgedfhiikllllmnmnpm“Š>Z?;:998877776666775677789:;>AKojhhfhklmjfdba``_`adhloqrtuvvsnigikmonljp„[R\aruHJi<;:=@AEIJZmijn`F=qrrtuuuqmheeddehiijjkllmlm£±KL:888766566655566545566677675544345549]|eBWjhljhfeefilljgc``a`^]^adimoqrttttqkfehkllli|¨|l||sojZOVdhhhijhgghikjjlnopqqqrplhca`a`acdegijji|…bj˜Žl3333333347?7554433326~­£IFhfjjkihgdcejmnkgbabba_^^`dilnprrsttrjfdfhji}°Œphhd[[\V_skeb`]]]^]]_aiklnoqsttromhdba`bbcdeghhmraX’£®®a30012335723642211.3kœ¨¦˜[Loouuvvspoidcdkpolifdffdb`_aeiknoqrssrpjedfmp¨ˆkXXZXWWWZ`[XWVVVVVWWVVfiklnqrttsspmiebabbbbdfggjtL:Š©¾ª¿sED>>>:8FQ]tµóìîíëëíïçžYk•áÝÝÝÜÜÜl`bfS[ÈàÞØÑ×â³_hWlmliec`acghgedbabaa``][]`eY@@HMNU]„‘»öÑZI@kÝw½¬d«ÉPªÃШ[[aegijlmooqqpomhb``_`@,./17?GVk‹°²ñîððððñôÓ…Ul„ãÞÞÝÞàÎWo€uRV½åâàßßá¦DvPhkkkkiebbdfhjhgec`a`a_]]^`VA?FJORUWZ‚£‚rqj]¶æªÂ¸¸ì’cw¶ÅГX^cehijkmopppoolfa`_`B-.015=TKGRa~ÓÑÍÊÈÆ¿¿¶xYfX…ˆ”˜wDd‹œWSŠÅ¹ª•pV:jX`kjjkkjhdcbdhjkifca`______UA>FHMPVX\][\`fnu‰Ïçìëá¹~rN½ÈËxYacgikklnopoppmjda`aB1105B‚Û‰>:B\VTVXXXSg¥hb^@6567568>C‰ÈVWTG<:523DBSfVjjjjkkkhfbbadgiigda_^^___WB;7634464465=]^C5796gQ`hhkkjjjkjhfba`begiigc_^]Z=5DIKNQU[epppn’åíææèçìëëëPKN‡ºÁÊ‹X\adfhijklmnnmmlieB85-,/13;>>>B<;=?JJeŸ~NgGLFCS\PEEA6543563mª¦e9?HLPZgOF?DB<=Sa\§‡c^hghiiiigfca`_adhig_40DJNQcmbdWG/***/8@:GF875laPLJr·ÀÏ°b\acdfghjklmlmjc<2838RE;523/**+Ht’«wdA8<=IXWMBA>TLC=:@MSROD@A@BEFKWiMy`J`gfggghiiifcba_`dgjd2.CDDZÁ©mZJNIKIJLViU[]SV[lpgRLM‡»ÁÑ›Z_bdffgijkiji_W8176.7GGD963+*.=Ud€‹uq[VUUTTRQTUXXVVWXZYZ[[ZZZ[\[_b`l[SO\edeeffgiikigfd`__bgd1,C@=`Ĩc\aX@DEDAEEA??@@?jmu\OLVš½ÇÍ…ZabffghhiiijdV;34301211/-*,/244:Qˆnt`]\[[Z[[ZZ[[[[[[[[Z[Z[[ZYYYZ]^fLCdgddefffggffhhhgc`__aa2)>==<;:77444lmnmhYMNNˆÂÆÔ­`^abdeeggfgd`[YXWXXWVUVWYZ]]^fb…nu\YXVWWWWWXXWWWWWXVTWUTSSTVWYfhktpÁÖΊmmheblheefgghe`XP-(71YK.'&''$""$#"""""#$$&osqoneTMKU£ÅÊÔ’Y_bcefgfeffdbaa_^\ZYYYY[]aeekduyz|u_XXXXYYYXXYYYW`g[cp}ˆ”£«³²°²³²¸¼¼¶®­©¦“xoddecbc\PKG+(61?E=878:852211//245567msqrrwgUOJl¼ÇÑÈo\abefggfffffedca_][ZYZ[]_bd_f‡~~œ½Àˆ`Z\\\]]]\\[ZYz•¦®±°­©¤ ›˜—–•”‘‘‘’–˜¢¦‹Zeccba``ZNH/'50�nnkhhgd\RMM–ÅÉÖ¦[_acefffffffffddc`][ZZZ\]^aWgvt}ÍìàÖŒ]abceffggikw‹„¡˜‘‹…}vqljhd_^^\[Z\]^cgjsczibbbcbbYK2+3.,/5-,-,******()**+++*kcbbfac]RMJd´ÄÎÑ~Y`fgeeffffgggfeec`][ZZZ[\_TdbZdÙßÏçÚwioqrsstuz~Žƒloe^VRLIILMMUYLNMLKJIHGGHIKZiaa``__]T@/,)*,.%%$$###"##"####"##lhhgsojbQKLLƒÀÆÕ¸c^cccdefgggggfffec_][ZYZ[^R^RKO¸Ì¡äêˆmwxz}€‚ˆ‹}iKHEDFFGFGGFELO@?>==<<<<==;;<;;;9876799736799877677768:>[a````^\YTSQOOQSSUX^bcb_\ZUQQQPPQislhnosqg]OLJs·ÁÏÎv[acccfgghhhhhhffea^\ZYZ\RFIKKNRXfs…ǽƒvorux…£d9::;=>?AACCF\S:;<:<855555546?=N```aa`^]ZYZXXYYXVW[_cfdca[WWXVVVuwomqpoloqZLKOÁÅÖµa`cdcfgghhihhhgggdb_\ZZ]TDKKJNQV^nœâ|-45664N•I><@EDDDBDB=JŸ{@>D;9644554534>@BZaaaa``_^]^]]]]]\ZZ[`dfgea][[YWWrokglnigjjdLJK]«ÂÉ×\cddfhghhjihhhihfda]\\]UBJJFOTYbn—ÝDC?z;A8477667<=:?YM96;974334444339B=Paaaa``a`___`aa`_^[[\`dggeb^\ZXWcilcilptpnjRIKLz½ÀÏÈr_ddfgghiiihhijihfc_^]]T>DIDMV]gs•Õ”Tsœ¤œ£m9A426;9978>;8455479536FA?63434A>D]baaabb`````bbba`^[Y\`cghgd_[YYEUdcfjrrots`LJXf•¿ÄÔ³dbceghijihijjkkihfb_]]R9AGDHOWapŒÍ”c¿õñôç¯RSbadeeeabbbabcdcca^[[\_eijjhb^]_eliopklprolVJLKV¤ÁÆÕ–_bdffghhijjjkjjihea^^R5@JEIOX`oƒÃN¶ñíæË–A>;222Sa0132000/1338>CGKRPOE617BA@OX8661Gecddddccccdca^\Z[`fjlmkosquulmgmnnlkg[NKIb¶¿ÈÔƒX_bddeefggghhihggdaS19EE`ÍÞ§UXri=;=AmˆN;B?HRJML[ZF9DLel@A@@@A??9555459AEF=MWSHJE;1587>?63;L`cbcccaabbaacbba_[Y[`ejlmsnonkljhjimmmiRJJKg»ÆÎÖŠ\bdffffggggggggfedU*3:DHTv‚jelB4eL9<=A5AND<;;977868=?<;<<7665535767?KGHD;;RaZacbbbbabbbbbbbcbbaa_\Z[`eilknvrmkmnnfgkiiTJJML’ÇÆÓ½b]_aceefffffffffd^M'35>CDDKS[l\34>ehCA43534455679:@><<=<======?@<6QH6dgffabcbbbbaccbcccaaba`\Y[afjmmpmmnqtqkhklgULJLKb¸ÇÌ×_defghggffgfeee^RG)311421///341*víQcI:>=;<==?@ABCCHPLJJLLLQTUVUTUTRR_Tsz8R©ÌÈ cccccaaccbbbbaaaab`\[\aljmnrttpskjmlkoePJJLL‹ÇÉÓÁmdeegihfffgfec_\TJ*205;/0/6AILJG|«ŸC}}O>EOTX]`cfjlkloonnnnmnnmmnoooopxfs‰g@|àíë£`_`aaacbaaaa`aaabb`]Z\krvrmpqloijifjq`KKLLK^µÉËÕœaeefhgffggfeefe_L-1/1.2:8:>>??GbˆŒ>ŠyXitspoliheda`_^[\[ZZYXXYYZ[ZY_c\cm|jO„¤£•b^_`aabbaaaa`aaabca_\Zputohgjmnijlwtsd`YLLMPƒÈÉÐÌxbfghhfffeeeedc`O5.,,+.'&%&'''?R|…L„tdbc\XURQOONMMLJJJIIIJJJJJKJJLOMNQRWvg\ZW[`__```bbaaa`aaaaba`_][ghiga`bhiq{xsunkmcQKMPZ®ÉÇÖ¬effhigggeeeeca^XF-)+++&&%%&&(HLt‚auaXQLQNKGEDCDCBAA@@@@@@@??A@@AAABCDCCGXpj^_`aaaabbcca`a_`aaabaa`_^sppontqsjrptuu}j\SJKLLyÄÄÎÕŠbedfeefddedda][UB;=>@AA@???;E_l‰s`IFECABB?>====<;;99:::::::;::;;<<=>>>?ERm_`__bbbbccbaa`_``aaaaaaa`ƒz‚xt{vjhovuxync\QJKKLRŸÊÆÖ¿g`acddccddddb`^[TPOPPPPPQRSQC]’…iR>>=<<;<;:99988777777778688789:;;<:9899>R_`___aa`abbbaba``aaaaaaba„|t~xsqimulhgohbfeUKKK^f}»ÃËÙ‘]bcccdedddcbb`^ZWWWWVUSTUWWE\q\K::;<;;:;978777666557887899989;;>JJTgweI=Yb```acbacddcbbaabbbaaabb~xw€ytoq_`isyrjjdYKKJRXY™ÂÂÖÁh_ccacedddccca`_]\\[YWUTTUWEZkcJDJJ?@A@>><:::>A<52/,,ËËÌÌÌÍÌÌÍÍÌÍÍÎÏƹ»¹ÉÏÎÎÎÍÍÎÎÎÏÎÎÎÎÎÍÍÍÌÌËÊÊËËÌËÊÊÆÉÊÊËËËÈÆæ‹xwlh_jnlb``]X\`UR[RRQZefegchVQVZSPSURQWRY\aURUQYZ\WXSSOQPI>?=7651.3ÌÍÎÍÎÎÎÍÍÍÎÍÍÍÎüƽÇÏÍÎÎÍÌÍÎÎÏÎÍÍÍÍÍÎÍÌÌËÉÉËÍÎÌËÇÅÊËËÍÎÌÆÄÀ³›{|oaURa[Z\`_]b]VTQKLUY_ach^ZSPOPOKTQRO^LTUZ[WZY]ZZVQQSOSKEC?C;521/4ÏÎÎÎÎÎÎÍÍÍÎÍÍÍÎþÍÂÅÎÍÍÍÌËÌÌÍÍÍÍÍÍÍÍÎÍÍÌËÉÉÉËÈÄÁÃÁÆÇÉÌÌÉÁ½º¨‹{pUSRPMVVmndab\YMD@LXP[``]VTRJLKHKHPKXNQTUVVZZZ[\XRPSMWOCHA?=3/.--ÏÎÍÍÍÍÍÍÍÎÍÍÍÍÍþËÂÃÍÌÌÌÌÌÌÌÌÍÍÎÍÍÍÍÎÎÍËÊÇÇÅÈÀ½¹Á¼Á½ÅËȺ¬Ÿ¤Š~yu`UYZXgh\mee]UURRWUcTOZ\RNVWRKIFOPQYXRPWZUTWWUNOZURVQWW?5621/.-,,ÎÎÓØÕÏÌÌÌÉÈÉÉÊ̾ÈÀÂÌÍÍÌÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎËÄÁÁ¾Â»¸¬¿·¿µ¾Æ¿¼µ¤†ƒq‡yd\_Z\fjVn\T[TNTU][UNPSXRQRUXMKKSRRYg]OVXVVTTYQK\YY\\LC=7640-.,,-ÎÛêðíãÔËÉÁ¼½ÀÄÇÀ¾ÆÁÀÊËËËÌÌÍÌÌÌÌÌÌÌÍÌÌÌÌËÅÀº³½¸° ¹²½²´¾³º±–ƒ{|ngecbaT\aYTdZSZ]PSSW\UVTNMMKKMSYVPSOQQbZNY\XRLMYXPVXQLJA8=<:72.,,,.ÜîѲ»ãêͽ¶°°µ·¿ÁÃÉÅÂÊËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÄÃÀ±ª¨¬¯¤œ©¬·¯²´¬ªšsvskkR`dZXcXQ]h]Y_WLQRS[``TQLLKNRMTVJPTNR\^Ya\SOKLYWQXPQWJBC>;;972/.--îÅyin¢çÛµ¯­­³±¾ÄÆËÈÄËÍÌÌËËÊÆÉÌËËÊÉÉÆÀ¼½² ™š££˜”¡ª¬¬¬§¥˜slhcjmZTXVa_VV[YZ`VTXUSTT_WQTNNTURSUWQPXQRX`X^WXZW[_SRYWSP@>E:8777530//ãˆwvrŽÊé·­ª®±±ÀÁÄÊÇÂÊÍÍÍËËžÈÌËÊÊƾµ®®°·¬ž•˜™–¡±®«ž˜™tgdeTe_QLHPXaYST^g\ao]]d^SVNPPOOQVRTSTXR[OP_]\gZa]hf^RPLMJK@>@7744554.02‚‰w†¿æ¼ª¨¯¯³¼¶ÁÈÆ¿ÈÌËËÊÇÀµÅÌËÇÁ¸¦žš˜  ™™–‡‘—ž­«œƒuddh[\TQTTPX__[hl^PU_NWpo[QOJMMKFJMLNNLPZUY^TRXX^g[ZUNILFEECI?7533442/16¨šœŽ~…»æÁ£¦°±µµ²½ÇÆ·¿ÉÇÊÊȾ³ÃÊȽ°¤™œŸ”•’‰ŠŒ‘“ŠŠ’˜Ž‰ˆ‰‚}utobXTY\YPW\UT\h\RQ^hg_^\SSLIIGIHGEFNLS_\V[VO\iffV]SMVSHJ@?@9854333338=w{~‰½åÞÍŲ®®««¸Å¹ª®´´»µÅ¼°¼Ãµ¨žŸ˜š¡““†€ƒ‡ˆ€~‰‹Œ‚‚€‚€€xvoaWWTU]ZTYUSXfPPP^ebRR[XSLJKIKIFLJIQU[aRYQQkrce_b]U\YSSG<:;86543365;@¿Â¶ˆy¿äíîåÍʧ ¡©«žŸž ¡ ¦¶®¤¡§šš˜¡™™”†ƒ„€ƒxƒŠ‡ƒ||{}uqpidYQYfYQURU^XOY[\^XQRPQRMKOQKNSQFCKNT^PQN^a`_ZghZPT^YESF=<<955549:<=ÚÛÈ„o¿ãëåáçí±ž¢­ šœŸ£¨£¡¢£Ÿ”““œ™Ÿ›’˜Š‹‡‡ƒ}xˆ…z{xwphheZVYRX^XT\Z\ZWZYZ\ZUPLVSNLOJACEFA@EHHPJRSY\aY`mZ_PZ^ZIEC@><856669=@?_efWmˆÂäëÌ¿à鿲Á÷»¶»·ÄÀ»ª  •Œœ–š–‰ŒŠŠˆ†…‚‚€y~„~|vwvrqlkgY[cbaXQRXX]]bWU[RX_[WQJOMNJBCEA?FFDBRGUX\W`b`\RbcVVXQKGDF976668;>HGEPTCe~ÁàïâÛééàáäãäææèåæêðÀ™š”ˆŒ’‘Š‹‹†Œ†‹ˆƒ‚‚„{}‹€y€wuqtrnhaWZeaZQTMQ]ebbUOSUj\bXNQRPJHDIULEKLMFPR\]YLYdcdT`dWPW]PE@@<;9888==LURSUTO\dcd\SYX^[R[WSRF;98;;79:9:>>>MNOQTZˆàïíáȾ´¨¤¦Ÿ›Ÿ¬¸ž†}yz}€}y{€|€}~x{|~…„€|{|trvzytnkg\SMKXW[RVX[[WIX^Z]XZ`WKMUPNKMONORTYW[md\[ZZVYXQVJLJ>864d:7888;BECEOOR][‰Êèâ¶_RMHKQFGEFIPƒˆ{zz|y|‚~x}|yz|xuzz|~~zvvnlwxzqg_aTRSE@OVUVZZOKIUX[\VZd^SMLIKNNMJHJNWXZ\`Z^VURWOKLHA<8777Qz=789:<;@LOXaZTXZRWZNKE;:998673‡ÝL48:;<@HJJ‚xˆ—||J™Ô¯ZUIHADDFGC@?>>‚ÅéŸ|}{–¥•“‹€vmjlr{thdc^^bglpw‚lqkig_N\j\TSXZZRQXWZc^WU[ZUNHEAA??<79>EHJ\hXTYW\[RFB@:7888785„ÜL2:;>BFFCQãàÓŠPH@¤íÀ†Ž’’—š™š›š˜•”ªÍáœ}~{™kUSRQSWX_t|_WTZfc`[OA]plihcc[fncZMQ[YUQTZW_YVZcYOIBB@ACA??DIC>K[kl^LQdQG@:;97;;99<7zÙR5=;=BIHAUïäÒPKEz¼ËÓÎÑÒÖ××Ø×ÕÕÔÐÏ×¹ˆ~~yAPamx‚†S970.145McdfjfRAbhjlga\\X\ZNNVTMOS^[YX[][TULF?AGIB>CRPIT[^i‹mQVXLA;8769=<88;8xèe:CBDIQU[b˜flxMCLs¾ÕÛâäãæèéææéçåäâßÍŒ{|}…_@l˜ ¥©¬“w^GDHMMLJ=48:JQHdhrygVUVSRQOUXPOZ[ZV[b]YOSTPHEKPI<>NUNejiu†i[]RI@=<;=BKYku}†žÃ›““•˜—–––sfkjHHLl»ÚßèêëâÖÖáÙÔÚéêèÝתzzw„KW]¯·µ±¯©£¼“{”yLQN?756:jG[fbn`SV]ZY\UPSQSQ[][e^VVQOJIHCFKFCGNNTijispcbkiWOLLPRy— ™“ˆ„ƒ}}|zyxvuŠmPHHAj»Þæëè컞ѵ–¡àæãàÝ·yz|wPd7erh[XZ\ŒvqLNQa[=53dcJ\ZhcVNW[`ZXRMNVV[d_aXPPUQME@=HU\U[fhmcZXY_bdjlknf^fzœggc`[XWUUTSSSRRQQRLKJ@655_¦åäèèèåÛàçãÝßèçèãæ·y{‚eiZ12333=MLJLOMKNETwhJ2N}„Gcbaa`VXYYTROOMS[YTXYTMRYSQU\XqrakwjZTW\]]`fgl~„‚}†GOVX\ag[?=<::99;HTgimoG+1Tèïîïííëìììëìíîîðð®tw„X~H25DYP?NMNMNNMMGOzlN4X‘—P\a_a^[ZUVSW^]SQZYRNNU_\Z]fx…‹‚bdqhSRY[[Z\eiku~{xztj\ŠŽ’˜œ¤›V;869??APVxwwwgTYg‚¹ËÏÐÒÒÑÍÌÌÌÊÉÉÈÍÇœ‰†|V…;54V›„GKGAAAGNMIEcx[853|kTnnrppplryˆ’‰Š’Š‰•³™…‚‚|x|{mbmmbW\_]][_gehqfc`be‘]z¨´²®©Ÿ¯ŠE;7?OVVXKqponptvxyxy|}€€€‚~~||x{ˆ’uc6;:dŒ˜tD9444>KIGM–m861b‹Lmqstuwyxwuttttuvz|€†“¦²³¬™Œvmkllmlhd`]]][Z_^ZZ[[i•X[\mYOE;wšMF=HMY[X>pnkklmoqsuutsrruwy{}~}||zuwjyq>JE]†rJG8568:77D]852J›Raiijkmnpttuvvusrqqppppt}‹™¤¬«§Ÿ€shhfdb_[ZWZXVWXY€ŒVKAA2585c‰^MDLZ\[P;upljjjjlmnqsrpooopruyyzz||{vv`‰gHRLbzMHHEDEEB?=VŠ”T=:6@Ÿ]WiQKQbdeghjlpsuuusrpnmopoopsy…˜¬»º¤‹vkhgggc_\YXV[—{T@GA57:9BYK646S_Y>@yvqnkjjjklnoppqpopppqrtubNLk„TˆgXtJoZPILTXXRPOOXoŠwK><84Vgdcccdfimqstvutrpnmoopoolmy©¸¸®š†ukhhfc`\m¢kS:>;5@]\C;63439CB8Awvusoljiihjlnnoopqrrrrpm?::SuEFDDK6>BAAGJJJEB;<<=UTKL@689=<7675^kgeccbbccdhlortvwwuqnljkopomlp|Ž§ÀÄ©‹qc^\b…œWL>B@:Y‡`=84343338G?cojjiffgjlljfcba`aa`_afjmprtvvvtqkggkmnnmjhRRXXmlKM~X789>AAEJLZkmoq`Dmopqssrqpkgdaaacdefgiikklj~·tG>4687665454455565444456665?OFUkjlkhfeeehmmkgc``a`^]^adimoqrstttpkfehklllbVWYD\kUQIADMOMLOPRVWVVVUjlnoprqrrokhca`aabddfhijkjp uSaZ>3555433334>A4544334535fŽ–[@`hlllkjgedfkookgbbbba`^^`dimnprrtttrjeegiklhŠ³~utupmi[PZjlklkjjiiijliklnoqsttrpmhcbaabbcdfgiijn€qdŸ£¬W13333344698555433222c¬¡¢}>Veijkkljhecdhmpolifeffdb`_afiloorrstrpjedehkƒ®‚ncgaZYZVbqfa^\ZZZ[[[\fiklnqrtussqmhebabbcbdfghirhDrŸ¦®˜X//1211168674233496c¦£¹£€HXnsuuuutqnie`dlmnnliffeeda__ceilooprsstqlfcjt©hVWZWVVVY\XWVUUUVVVVVaehjlmpqrrsqnlhdbbaaabdfghlg/S¢Ç°ÕÇjgLKPTU@bœCJ_]VQuÁáƼ·¦¢¦§ª«ªªªª©¨¥¡zddfillhdbbcba_]^`dijmopqsssqkcb–l_UTVWWWWVVVVWVVVVVWVV^bdfikmnpqqpoomhca````adffYQ1;‡ÕÍðñÊ—i__l¡c‹À]ime\u¥¤©£ž˜“••‘ŒŠˆ‰ˆŠŒ‘•˜›~bbbegigec`___^\\^_adhkmnorrscX€h\RPTWWYZYYXXXXXXWXYYY…[bdhjlmoqrppqomgdaa`_`bdfQ910L¨«¸ÐÚ«Š_b`[^Çö“\ikt ‰uvqokhgdba``aa`_``abdi‚ndcbbefgfb`__]\]][[\^adhjlnp_Rhd[ŽlbobY[]]ZZ]^]\\__\Æ{\dgjkkmorspppolgcb`_``bdW4/-/9:B[Yu‡Xhrjj½éŸmij™^`fiijkns|°’‰„}xwwvtqgpxgdb`_adedba_\\]^\[Z[[\acfimZKX]I£¿»¯Ø¼VGHJqfNO[zfKISÊÁr\dffhklmoqpopokgda`__`bM0../37;AEPXarƒ“£½Ú½¬ ‘Ÿwfvƒ„„ƒ………sat^\„ŽŠ‰‡‚{ljohgc_`acfedb`_____^\[Z]_bekVGLUD‰ÚàÛâð·PD=l²N8{©£S3ˆ¾Î±`\acfijkmrqopqolgb____bL.-057:>CJUhƒÒäåéëììêïçXw¹ÀÆÈÌÒ¼XKA@Dƒ×Ø×ÐÐÒÊŠlTpkkiecaacghgedaabaa`_]\^adhSBDNKY±®ÇÊÑôšB?A±žB£çÛhZΫÂÏ Z\aegijlmoopqpolhc``_aR/-.05;DP]t›œÖíëíìëììðÉ~Wv¾àÝÝÝÜßÁUicbMzÞÞÞ×ÒÙâ‰kWclkkkiebbdgijhgec`a`a_]]^_cR?@HMOS\€ƒ»ô»YNBiÞ†q³c»Áw´ÅÏŒW^cfhijkmopppoolga```U0-./38@FJORVVYwŽurtnb´è°Ä¼ÉìŒOŒ¼ÊÉtXacgikklnopoqpmjfb`aW2//06;jo@9ACq‹~|{zuŸ\jUs‹Ž•š™`HU}yRX­É¼®›‰yOArQhjjjjkkifbbadgiigda_^___^^P?>FIMQVX]^[]`gnu‰ÈâéæÚ°}Xw¯ÀͶd[bfgjklmoooppmljeaaW4300>ZÚÑjRXsxS\acgmp‡˜SlM:777767:EO¨\…jE=:525H=eX`iijjjjkkheb`bdgigec`_^^^^S@ScVhhjjjjjkjhfcb`begiigb_^\^V?:FHKOTU\hu{€–ÒÛØÙÛÞÝÞáPKN‰¼ÁÉŠX\acfhijlmnonmmlifU4;...3?JD8=EA864321Q pUbA>87:<86544793255CYQ;598@jOfgijjiijkkjgdb``cfiigd`]]X;6FILNRU[fpool—çìæåèæììë^SMU—ºÄÂqT\_bdfgjkmnmmmlliW2<.-,125;>>?@ADFKcV‡^]YJMBFXWIAC:4433668‚©•M;:66gQahffjihjjjkjhec``acgiif`_X94FKMNPV\fijok¢õñííïððññgYPJ_©¾É¸gZ_adfghjkmnnmlklY/<1-*-//1234559?LXu¡ŒS`SNPJILKHINL923467Fd™žUNQF8XN\g]gijghhiiiihfca`_aehigeZ53FLPQOU]fcZZZe’¥¤¡¡šŒ‡†lbQLJs¶¿Ð©_]acefhijlmmmlllW.;2,<5-,+*)+*)5Wekz–|OLMMIFFKJIICLG@;9BFMQigLECIA@A\\r¥~acgggghijigdba_adgii_12EJNRiocbSD,))*.9B8HK98lpgRMM‡»ÂÑ•Y`bdffgijkklmi`N,950DQG@867/))7a‡¡¦ƒoT8==?RYUIC@CXGB::CORQK@>>=BABI\aV‚\Ldefffgiikihfd`__bgja.1ECCc΢jXJNINLNNYiUZ\TVjmv]OLVš½ÈÉ|ZacffghijjjjdXK.853->BA=32-,/6LawŠ‚pdRQPQTSPOPQWUSSTUWXZ[ZWXXYZ[`ablVWM\feeffgggfgihgd`__ae`-/C>>gÄš`]cV=BB@?BB@>==?rpkfYOKc«ÁÍÂs]befggghiihh^M5411..,+++**,./16Fp†mm]]\\[Z[[[\\\\[[[[[[[[[[ZZZZ\^acGJfdceeeefffeeghigda__`\--><=G__]ejfPB??FMNQRRUWqkloeSTf„»ÇÔ¸h^ddfghhhhhgaXH7245434422201343GKYejXYYYXXXXXXXXXYXYZZYXXYYYYYYYZ]dAUjjhbdeeeeeeefghhgfb`_Z+*:;9=DMUblsukiihfgiieedkmnlhYNPPŒÂÇÔ¦^_abdefggfgc_WOMLNOOONNNNORSSQdLPjjTXWWWWWWXXWWXWWWXWVVWXWXXWWWVWkKa¹ØÏŠaceeedcdeffggfeb_W)+715/135889>>=;98765410nrpondQLLU¢ÄËÓŒY_bcefgfefeb^\ZYYZYXVVWWZ]__ahf€qkRXVVWWWWWXWWXXWWXVVVWVUTTSPR]_^db‰¬ª•ecbbaaheddeeffb[TI'+65_I.'&(($$$$##"""#$$%nrqstvfSNJk¼ÈÒÄk\bcefggfffedcba__][YYYY\_behfu‰swsrgYXXXXYYXYYYYYW\[UYbjr|ƒŒš§¨¦«ª¦¤¢¥¥¢žš”urdccc`_XNKE'+51;=;878:5222220136667mmkijjd[RMN—ÆÊÖ X_bceffffffffdccba^[ZZZ[^`bc^x‡|¦±£hZ[[[[\\[\\[ZXx‹“£¯±±±®¬ª§££     Ÿ ¢¥¨¬®ˆ]bccb_^]YNG+*4/&&578875544444789888mebceab]SMJe´ÄÏÎtYafgeeffffgggfeec`][ZZZ\]_^Ztxz–äâÚ®g^`aabcdeffes…•«¤œ–‘‹†~{xtpnmmlljjnrw{cwf`abba`WI.-2.,13++,+)(()))'((()))jgggrmibRKLLƒÀÆÕ³`^cdcdefgggggfffec`\[ZZZ[][YjcWåÛÙê£dlnpqrtut}~“~xvld\UQOONMOOKLLLKKKJJKLNSgm_`a`_^[R<0+)*-,%%%%###$%%$%%$%%%mmfgomqiSKMKX§ÃÉÒ–`_accdfggggggggffb_\ZZZ[\ZW[QG~å¸ÀðÊisuuvyz|~z…oRNIGGHHILMMNX\HFDDDCDBAAA@>AYa````_ZXRE>;;;=@AEJJLKKKHFCBBCDCirjgnosqe[NLKs·ÁÐËr\accdfgghhhhhhffea^\ZZ[\YQNLITpgè·nŽ¦­µ¼ÂÊÔªuLBA>??>;:98875566887777777797A]aaa``^[XUTRQRRSTUY_bdc`]ZURRRQRtwmkqpolnpYLKOÁÆÖ°_acddfgghhihhhgggda^\[[[ZKENINNT_|z–ͱ–’««b9:89::;<<>?AD=59:;;866666667><8Gd<:C;8434444444;B=Qbaaaaaa``__`aa`^][Y\`dghge`^[YN\hfdiqsoss_LJXf•¿ÄÔ®cbceghijihijjkjihfb_^\\E>JDHQZbk}²Ò`Tjrw~~¢g9@4369897:=:766558:633:;:54435B=E^aabbaaaaaaabcbb`^[Z\`eiijgb_]WclimnklpsplTJLKV¤ÀÇÕ’^beefghhijjjkjjihea^]\B;GEEKS\hyªÍl~Ýìëñà©M<>125=<;45=9323336854C^JIA8532=??Ubacccbbbbbbbcccc`^\[]aejlkieayusptpjjljikdLJJIo¹¾ÍÍy[bdeeffhhiijiiihfd`]]@:GFEKR[fvÎfmáïëåÉ‘>?;222OuU025410101347:HKIMLH>528B7EIFINYdr“Ìr`ãóñíºr:@712>kvlD2100///133;CAKR[X[WA24B[cccdcbcccdca^\Z\afjllkpuquulngmnoljeZMKIb¶¿ÉÔX_bcdeefgghhhihgfd`^=1BJFUkmZ]u«U´ÃÃçX;A857D‚ŠŒi;<7////025CENNT^[ZYG32=@@T_9552Fdccdcbbcccdca_\[\aeilmmurutloihlllotiPJKM—ÅÆÖ·cadfggeeggghhihggfb_=3>IDÕÂtOb„p?AAFr‹J;A?B>;PZVI@A@0////1;JEVFWd]VMF62;A=AB7450?dcccbbbbabcbba_\Z[`eillunnmkljhjimmnhRJJKg»ÆÎÖ‰]cefgggggghhhhgggda?5:FEyÙß›OYgE?DIJkgE;CD`h>@@@@A@A512222,6?GNw›†`b^6@bLFEB@7HUYK>@>==<::::988878;:78;<88@E@BB:=VVGT\cbcbbbaccccccaaba`]Z[`fjmoqmlnqsqliklgTLJLKb¸ÇÍ×_defghggffggggffb[9(59CFGMW_lyG2P6AC<=38<656533357:BB?>?A;99999:;;;?GFCBE@?@BBACCEEDCDCBCGBfj1qáïè›__aaaaccbbbbababbb`][\jquroqqlnikifjr`JJLLK^µÉËÔ˜`eefhhgfgggffb^VQ9*3/82.,-6?GEB:‘¼F{`??@ADFIMQSVXZ_ddccfggijkkkkkiilwftŠS>‡°«˜b^_aaabbbabaaaabbca`\Zqwtojiklmiilvste`YLLMPƒÈÉÐÈubfghhggfefeedcaV;*2/60699?DEEFPzA‡…dG]jnpqpqppnkkjigheeedbaabbcceinbkzYRZX[`__a``bbaaa`aaaabaa`^[hhjhaabhipyxsunjmcQKMPZ¯ÉÇÖ«effhigggefeeedcY?0.-,--*))*+)+@Y‰zJ‰†zdjkfd`\[XWVUTSQPPPOOPOOOPOOQRWVTY[fza\_`aaaaaaccaa```aaab`a``^rmmnltorirqttt{}j\SJKLL{ÅÄÎÕ‰beefeeedeeddb_\M6))*,'"#!""#*IP…v]€qfYTXSPNMKIIHGFFEEDDDDCBACDCDDGHFGHHKbsh___bbbaacbaa```aaaaaaaaa{‚xu{wihowvxypc\QJKKKS¡ÉÆ×¾g`bcddddddddb`\XG5567;;:75558MXr…lfQNJFGHFCCA@A??>=====<=<<<<<<<=?????@BJ_q____`a_`bbaabaaaaaaaaaaaƒ|u~xsqiltmhgnhbbbTJKK^e}¼ÃËØ]bbccdedddcbb_[UNLLLLNMONOPIGd‰„mTAA??==>=<;:::9988888889999999:;<<==<;@A`a```acbacdcbbaaabbaaaaaa}xwxrnq``hqyrjjcXKKJTZZšÂÂÖÀg_bbbcedddccca]YTQQQQTSSUVXSEb“ubJ<<;<<;;:988887778888877888889:<=>=>DL?BCYa`aaeiifedddbbbccbaaaaa‡††††‡‡‡†…†‡‡†††††‡‡ˆˆˆ‡ˆˆ‡‡…„‚|xutttxyxyzzy{{zwuxxz{{zyz{~€€€††……†††††…†††………††††‡††††††…†‚|xuuuvuvyxxyx{{zywtvvy{zxwy|~€€€……………†††††…††……†††††……††……………‚€{uwwxwwyzxxwz{zyxvvuxyywwy{~~€€€……………††…††…††………†…………„……„………„‚€~zyyxwy|{yxxz{{{ywvvxyyyzz{~€€†…………„……†……††……………………ƒƒƒƒ„„„ƒ~|yxwyz|zzz{{{{zzvvxyxxzzz|~€€„‚ƒƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚‚€~|zywy{{zz{}}|zyywvxz{z{x{~€€€‚ƒ„†ƒ‚ƒ„……………„…††„„…‚€€€€€€€}~~~{zzwwxyzz{||{zzxwwwxxyzx{}~€€€„…†‚‚ƒ„…††……‚„„„‚~}~€~}{|~|zyxwxwwy{|}||{yxyxwuvxyy|}~€€„…„€‚ƒ„…††„‚ƒ€}zz{{{|}}~}||zz|zzzxxyyyzz||}}|zwyyvuuwwx|€€€€‚…‚€~€‚ƒ}yxwwxx{{z{{yyxy{yzzyxyyy{{|}~}|zzyxxwuvuv{~€€}†ˆ…€€€~~}{{yyyyxwxzzxyywwxy{{{{yvwxwz||}~~}zzxxzwwvvw|~€~ŽŽ‚€€€€€}}{zyzzxxwxxxuuvvvw{{|zzyuuvwz|{}~}{yxwxyywxy}~~~Œ‹†~„………†ƒ|zywxxvxxwvtrstuvw{||zyx{|zzy{|~~}{yxwxxxy{|ˆ€}|‚€ƒ„ˆˆˆˆŠˆ~zxx~€„…‡ˆ‡†…ƒ€vuwyy{yyz||z{z{}~~~}{yxyzz{}€ˆ€|{…†††……‡zv~ŽŒŽtvywzyy{zyyy{}~~zvwyz|~~~{x‚ƒ‚‚‚‚‚‚zvƒŠƒ…††‡†ˆ‹…vuxyyyz{zyxxz}~~|wstvx{~}€ƒƒƒ„†„€‚€€{x„†‚€‚ƒ‚„†„†‰†{uwyxy{{yxxy{|}zzyvqpqqoss{‡ŠŠŠŠ‹Š‹Š‚‚€}}…‰ˆ…‡†…††€‰…}zyyz|}|{{{zxtpiopsssqojhj~†„‚ƒˆŠ‰‰‰ƒƒ„…ƒƒƒƒƒ„ƒƒƒ€€…‰ˆ…‰‰ˆ‡€€‰†~€€ƒ‚‚‚‚‚}yuvxyzyzyxxxyƒ…„ƒ„„‡ˆ…‰ˆ‡‡‡ˆ‰ˆ‰Šˆˆˆˆ‡„…ˆ‡„‡‰ˆˆ‡€‰ˆ„‚ƒ„„ƒƒ‚ƒ„„…†……‚€€€€‚‚‚†Š‹Šˆ„ˆ†„ˆ‰‰ˆˆˆˆ‰ŠŠŠŠ‰‡……‡……†‡‡†…†„ƒˆ‹Š„ƒƒ„……„ƒ‚‚‚ƒƒ…†‡†……‚ƒ‡Š‹†…‰ŠŠ‡ˆ‰‰‰ˆ‡‡ˆ‰‰‰ŠŠˆ…‰Ž‹‹‹‹ŠŠ‹‹‹‹‘‰ƒƒƒ„ƒƒƒƒƒ„†ˆˆ‡…ƒ{{‚‡Š‰‡ˆŠˆˆ‡‡‰‰‰‰‰ˆ†‡ˆ‰‰Š‰‡ŽŒ‹ŠŠŠŠŠŠ‹‹‹ŽŠ„†…„ƒ‚ƒƒ‚‚‚€€€ƒ…‡ˆ‰~ƒˆ‰‰ˆ‡‡†††‡ŠŠ‰‰Š‰†‡‡‡ˆ‰‰ˆ‹…„‰‰‰‰ˆ‡‡ˆ‰ˆ€‰†‡ˆˆ†‚‚€‚€€€€‚„‡‡††‡‰‡‡ŒŠˆ‡‡‰ˆ‰‰‰ŠŠ‰‡‡‡‡ˆ‰ˆ‡€„†………„…„‡ˆƒ†ŠŠŒŒŠˆ…‚€€€‚‚‚‚€€‚„……}zy||ywwzƒˆˆŠŠŠ‹‰††…†ˆ‡…ƒ‚ƒ‚€ƒƒƒƒ‹’“””””•–––“ˆ„ƒ‚‚ƒƒ‚‚‚€……{wrqrrqrr€†‡‰ŠŠ‹‹‰‡††‡†ƒ…†……ƒ‚‚ƒ„†‹‹ŠŠ‹ŠŠˆ‰ˆ‰‹ˆ†ƒ‚‚ƒ‚‚ƒƒ‚€ƒ‚‚‚~}|}}ƒ‡‰‰Š‹‹‰‡†…„‚„‡ˆ†„‚€‡ˆ~zy}‡‰‡{zy‰Šˆ‡„ƒ‚‚€‚‚‚€yz|~}€€€||†ˆ‰Š‹‹‹Š‡…ƒ‚ƒ„„„ƒ„‰ˆ€~~Š‹ˆ||}‡‹‰‰ˆ†„€€‚‚‚wrrvvtx}€€|}}~ƒ‡ˆ‰ŠŠ‹‹‰†‚‚‚…‡…ƒŠ‡‰ŠŠŠ‹‹ŠˆˆŠ‰‰‹Š‰‰‰ˆ†ƒ€€‚‚wqqstw}}|}~{~}}„ˆˆ‰Š‹‹‹ˆ„‚ƒ‚‚‚„†††Š…‡‰ˆˆ‰ŠŒŠ‚‚ˆˆ‰‹‰‰ˆ‰ˆ‡ƒ‚€‚‚wqrsx…€~v~~|†‰‰‰Š‹‹Š…‚‚ƒ‚‚ƒ†ˆ‰Š………………‡ˆ„|}„…‡‹‡ˆ‰‰ˆ‰‡…ƒ‚€‚{vvv|ƒ€€oz€~|‚‡‰ˆ‰‹‹‹‡€†…ƒƒƒƒƒˆŽŒ‹‹Œ‹‹‹Œ‹‹Ž‘Ž„…ˆ‰‰‰ˆˆ‡„‚€~}~€~hm|}{~ƒˆ‰‰ŠŠŠ‡‚‚…„ƒƒƒƒƒ‰“–•••••••––•–––‘†‡ˆ‰‰‰ˆ‰ˆ‡„ƒƒ€€€€jiq{}~…ˆ‰ŠŠ‰‡„„„ƒƒ„„ƒ„‹‘’’’‘‘‘‘’’“’’’ˆ††ˆ‰‰ˆˆˆˆ‰‡ƒ‚ƒ‚‚‚‚‚‚ƒkkkx€~}ˆŠ‰ŠŠŠ‰ˆˆ†……†……Œ‡„ŠŽŽŽŽŽŽŽŽ‰‰‰ŠŠ„€€„‡‡‡††‡†‡nmlt}}„‰ŠŠŠŠŠŠŠˆ……††…‰|€‰‹Š‰ˆŒ‘““’“”••”•“““ˆˆˆˆ…€‚„„„„„„„„olimx€~|€†ŠŠŠŠŠŠŠ‰‡†††„†‚~…‡……„‰‘ŽŒŒŠ‹Š‹‹ŒŒ‹ˆˆˆ……‚€€kkhikz€}}ƒ‰ŠŠŠŠ‹‹‹‰‡†…„……„‚ƒ„ƒ‚ƒ‰ŠŠ‰‰‰‰‡‰‹‹Š‹‹‹Š‰ˆˆ‡†…„„ƒ€ƒ‚nmihet€~|†ŠŠŠŠŠ‹‹Šˆ†„ƒ„……ƒƒ‚‚‰‰‰‰‰‰‰ˆŠ‹‹‹‹‹‹Šˆˆˆˆ‰ˆˆˆ†…ƒ€€‚ƒljgfgl{€~}€‡ŠŠŠŠ‹‹‹Š‰†ƒ‚„„ƒ‚„„ˆŠŠ†‡‰ŠŠŠŠŠˆˆŠ‹Šˆˆˆˆˆ‰ˆˆ‰ˆ…ƒ€€fggghhp~€~}‚‰ŠŠŠ‹‹Š‹Š‡ƒ‚‚‚ƒ„‚‚‡ˆ‹Š‚‚‰ŠŠŠ‰ˆ‡‡‡ˆŠˆˆ†„†‰ˆˆ‰‰‰†ƒhhgfghhu€}ˆŠŠŠ‹‹ŠŒŠˆ„‚‚€€ƒƒƒ†‡ˆ‡††ˆˆˆ‰‡‡‡‡††ˆ‡‡†„‡‰‰ˆˆˆ‰ˆ†ƒ€jhgdgihr€…Š‹ŠŠŠŠ‹‹‰…€€‚„†‡‡ˆ‰ˆ‰‰‰ˆ‰‰Š‹Œ‹Š‰‰ˆ…ƒ†‰‰ˆˆˆˆˆ‰‡„‚jhgeijhn}€}€ˆŒŒŠ‹‹‹Œ†ƒ„ƒ‚„‡‹Ž‘‘‘“””””“’“‘ˆ‚ƒˆŠˆˆ‰‰ˆˆˆ‡„jjjhihhlu€}ƒŠŒ‹ŠŠŠ‹Œ‡‚„…††ƒ†‘“————˜——˜———˜˜™˜˜††ˆŠ‰‰‰‰‰ˆˆˆ‡mljinkhjr~‚~‡ŠŠŠŠ‰‰Š‡‚‚‚‚ƒ„†”–––”““’’‘‘‘‘‘“‘‰‰‰ŠŠ‰‰‰‰ˆˆ‰‰lmnoqpmps|€~}~‚‰Š‰‰‹‰Šˆ„ƒƒ‚‚‚‚ˆŒŒ‹‹‹ŠŠ‰‰‰‰Š‰ˆ‰Š‹‰ˆ‰ˆ‰ŠŠ‰‰‰‰‰ˆ{zzzzzzz{zz{{zzzzzzyyyyyyyyz|‚„ƒƒƒ„††‡‡‡††ˆ‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzyzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒƒ‚‚€zzzzyzzzzzzzyyyyzzzzzzz{{{{z{€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zz{{zzzzzyyyzyyz{|}~}|||~€‚„„„„……†„…‡‡†……„„ƒ„…†‡ˆ†…„‚‚‚€€{‚~|}~|zyzzzzzzzzz{}}~}~ƒ‚ƒ„…„„……††††††………„„…†‡†††„ƒ‚‚‚€‚~€€~|{yzzz|zy{||}€€€€€‚„…ƒ„„……„„„„…†††„…†………„…†††††„ƒ‚‚ƒ~€~}|{zzz}|{€ƒƒ‚‚€‚ƒ…†…†……………„„„…†…„……„„………†††……„ƒ~€€€€€~~|{}€…††…„„ƒƒ„ƒ„…‡‡†††…………ƒ„…††…„„„„„„„††‡†…„ƒ‚‚€‚‚~}€€€€€ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡††††…„……………„……„„ƒƒƒ„†††ˆ†…ƒ‚€‚‚}~€€€‚‚…†‡†‡‡†‡†…„„„„…‡‡†…††„„……………†………ƒƒƒƒ„†…†‰‡…ƒ€€‚ƒzyy€‚‚‚‚ƒ††‡‡‡…†††……„…‡‡‡ˆˆ†…………„…………………„„„ƒƒ…††††…„ƒ€€‚ƒ~}€€€€€‚†‡‡‡‡‡†††††††ˆˆˆˆ‰†…„„„„„„††‡††„„„„…††ˆ‡„ƒ‚‚‚‚‚‚ƒ„„ˆ…{zz{|~…ˆˆ‡„‚€€€€‚ƒ†ˆˆ†……ƒ„„…†‡ˆ‰‡…„„„ƒ„‡‡‡‡ƒ‚‚‚‚ƒ…†‰†„‚~}~~ƒ†‰„~|}}€€~||}„‡‡…„„ƒ„„††ˆˆˆ†…„ƒ‚ƒ„†ˆ‡†ƒƒ‚ƒ‚‚„„‡‡ƒ‚€€€€€†ˆƒ}|||~|{|}}€‡‡…ƒ…„„„…‡‡ˆ†…„„ƒ„……‡‡…ƒ€‚„†‡†ˆ‡…ƒ‚‚‚‚„‡‡|}|zz|yx|~|}††…„……„„…‡†‡‡…ƒƒ„„‚€~}~’ž ¡ ¢¢¡ ƒ‚€€‚‚ƒƒƒ‚‚„†„~{~|xzwx€|}„„„ƒƒƒƒ„…ˆ‡††ƒ}}||zz{||||…‰†„ƒ‚€€€‚‚‚ƒ„ƒ}{~…}xyxzƒ„}|€„ƒ‚€€„„„„†€€~~~€ˆ~{{||zyxx~~}}}}}}|~€|{}|z||}……||ƒ€€€€€€€€€ƒŠ„ƒ„„€€Š}{|zzzz{}~}|||||~~}}~}}~~~‚‚}|}‚€€€€~ƒ„‰””„ˆyz€{z{|{{{}~}}|}}€||}}||}}}}}}|{~‚€€€€€€€€‡³¶•Œyy}}y|}||}{||~~€~~~}}|}~}}|||}}||}€~€€€€€€€‚€~€–›”–‹ˆ‹Ž‘’“}}}}}€€~}}}‹ˆ~~}}~~}}}‡Œ~~~‚‚€€€“¨¯³­©®±³´³€~}}}€€€~}~€‡‡€€€}~€~|||{|}‚‚‚€¡ÇÊÍËÇÊÎÐÐ΀~}}~~€€€~€‚ƒ‚‚„„€|yyyxwxxwwwy}€€‚‚‚‰š¥»ÅÏÐÒÒÓÑσ}}~}~~€€€ƒ„~{{|~€ƒ|||||~€€€€€‚‚€¦‚~‡‘•˜—“„ƒ€~}}}}~€€€€~}~‚€€~||}~{z|}~~~||~€€€‚€Œ¼´›‹†’ˆ‚€‡„‚€~}}}|}€€€€€…ˆˆˆ…}|~€}yxy|€€~{{|}€€‚‚€Š¾ÑÏÅÀƼ™ˆ‰ “‰‚€~}}}}~€€‚ƒƒ…‡ˆˆ„}|}~|zwx{€~{||}~~~€€‡½ÎÎÍĹ¢—–„„ƒ‚€~}}}}~€€‚‚‚‚‚~}||||{{zz}‚‚|{|{}~~~~~€„¹ÏÐͬŒ~‚‚…„ƒƒ‚€~}}}}}€€€€€€€€€}|||}|||||~ƒƒ~}|{~~}}~~~~€­È½ÀŽ~€‡‰‰Š‚‚‚‚‚~}}~}}€€€€€|zz{}||||{{|{zyx{~~~}}~}~€Œ–‹”ƒ‚‚{}‚‹‚‚€~~~}}‚|xvvwvwwwvuvwvuux€}|}}~~€€‚‚ƒ‚‚}{ˆ‡‚ƒ~~}}€€€€€|yywvwwwwwvxxxxxz~~~~~~}~~}~€€€€€}}‚ƒƒƒ€~~~}~~€€€€~{~|xxyyyyyyzzyxyzzyyzz|~~}~~€€~~~‚ƒ‚‚ƒ~~~}}|}€€€~|‚…ƒ}{||{zyxxyxyzz{|zzyz}~~€‚€€€€€€€€ƒ€|€‚‚ƒƒ‚~}~~}||}€€€€ƒ„„€~€€}{{z{||}}}}||{{|~€‚‚‚‚‚‚‚‚‚‚~z|}€‚‚€~~~~~}}|~€€€€€€ƒ…ƒ}|||||{||{zzzz{{|~‚‚‚‚‚‚‚~yyzƒ“ˆ‚~~~~}}}}€€€~}€€ƒ„}||~|{{{zzzz{{{{}~~~~€€€‚‚‚€~yxy}„‰…‚~~}}}||}€€€€‚€}{{{zzyzz||{z{}}~~€‚‚‚€~zxx{‚‚ƒ~}}}|||}€€€€€€€‚€}|~€{zzz{{{{zz{}}€€~~~zxwxz€ƒ‚‚~}}}}|||~€€‚€€ƒ€}}~}~{{{{|{|{{{|}~€~~~~~~‚‚~zvyzzƒ‚‚€~}}}||||~€€‚€}}}||{||{{||||}}}~€€~}~~~~€‚~|x{{{~‚‚‚||}}{|||€€€€€€~}||{{zyyyxxxxwvvxyy~€~~~~~~~~€~||}~}€‚‚‚~}}}}|||€€€€€€€~{wwvutttuuutuuuuutuy€~~~~~~}~ƒ‚„„‚‚‚‚…„‚€~~~~~}~‚‚~ywwwwyxxzzzxz{zzzyyx~~~~~ˆ‰‰ˆ‡…„……ƒ‚™Ž~~~~}}}~‚‚€~z{{{|}}|}}~}}}}}~~€€~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÍÎÎÍÍÎÌËÌÌÌÌËÌÌËËËÌÍÌËËËÌÌÍÎÌǽ±¬Ÿž‘|qgjwjihmlrcgbV]a[\c\TZ`^_VPOTZX^e`cSTWVUVTTYTPV^^ZXTLC<8<:521@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÎÎÎÎÎÎÎÍÍÎÌÌÍÌËÌÌÌËËÌÌËÊÊÌÌÌËËËÌÌÎÏÏÇ´™¡•u€x€q]^^pzl[_ljh[YZ[_XWTO^g_[ROOQXV\fffOU\`ZQPLRRW^a[VPMI@?75532086ÍÍÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÇËËËÌËÌÍÍÍÍÌÌÌÌËËÌÌËËËËÌÌÌÌÌÌÌÌÍÍÍÍÎÍÍÁ¦‰‡pllmkjlot}y_a`ddZ[[ZZ\QRV\bYZYVSRTSVYdcPQX\ULNNRR\b_aYQFA?<852210/1ÍÍÍÎÎÍÎÍÍÍÌÌÌÌÍÇÂÅÁÊÌËÊËÉÊÊÊÊÉÈÈÉÉÉÉÉÊÊËÊËÌÌÌÌÌÌÍÌÍÍÍÌÍÍÍ̵˜’ymrwzs|edb]fY`ccZZWU_WRYdcRPSVWSNLVOWgQNTWYPLRPPX`^_TTTMH@<85320--ÍÍÍÍÌÍÌÌÍÌËÌÍÍÎÈÀÁÀËÎÎÍÎÍÍÍÍÍÌÊÉÊÊÊÊÉÈÈÊÉÉÉÊÉÊÉÈÉÆÈÉÉÊËÊÊ̾’‚‚€rbk{lcg`_`ViaWWTSM\_]_qlYOOT\TMISRQYTYZWUNOQU[_WVYPPYNJ>>@<52/,,ËËÌÌÌÍÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÎÎÎÎÏÎÍÍÎÎÍÌÌÌÌËÊÊËËÌËÊÊÆÈÊÊËÌËÇÅä‹xxmi_jnmb_`]X\`UR[RRQZefegcgUPVZRPRTRQWRY\`URTQY[\VXSSPPPI>?=7651.3ÌÍÍÍÎÎÎÍÎÎÎÍÍÍÎûƼÇÏÍÎÎÎÎÎÎÎÏÎÍÌÍÌÍÎÍÌÌËÉÉËÍÎÌËÇÄÉÊËÍÎÌÇÃÀ³›y|nbURb\Z\`_]b]VTQKMUY_ach_[SOOPNKTQRO^LTUZ[W[Y]ZZUQQSNRKEC?B;521/4ÏÎÍÎÎÎÎÍÎÎÎÍÍÍÎþÌÁÅÎÍÍÍÍÍÍÌÍÍÍÍÌÌÌÍÎÍÌÌËÉÉÉËÈÄÂÃÁÆÆÈËÌÉÁ½º¨Œ|oTSRQMUVmndab\YMC?LWP[``]VSQJLKHKHPKXNQTUVVZZZ[]WRPSMWNCHA@=3/.--ÏÎÍÍÍÍÍÍÍÎÍÍÍÍÍþÊÂÃÍÌÌÌÌÌÍÌÍÍÍÎÌÌÍÍÎÎÍËÊÇÇÅÈÀ½¹Á¼Á½ÄÊÈû¬¡¥Š~wu_UYYWgh]mee\UUQQUTbTOZ]ROVWRKIFOPQYXQPWZUTWWUOOZURVQWW?56210.--,ÎÎÓÙ×ÐÌÌÌÉÈÉÉÊ˾ÈÀÀÌÍÍÌÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎËÄÁÁ¾Â»¸¬¿·¿¶¾Æ¿¼´¤‡…r‰wc\_[\eiVn\TZSMST\ZVNPSWRQRUXLKKSRRYf]NVXVVTTYQK\YY\\LC=7630-.,,-ÎÛêðíäÓÊÉÁ¼½ÀÄÇÀ¾ÆÀ¿ÊËËËÌÌÍÌÌÌÌÌÌÌÍÌÌÌÌËÅÀº³½¸° ¹²¾´³¾³º²—ƒ{|mhfbbaT[aYTdYSZ\OSSW\TUTNMMKKLSXVPSOQPbZMY\XRLMYXPVXQLJA8=<:72.-,,.ÜîÙÄÍèè̽¶°¯µ¸¿ÁÂÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÄÃÀ±ª¨¬¯¤œ©¬·¯±µªªž€twskiQ`dZXcXP]h]Y^XKPRR[``TQLLKMRMTVJPTNR[^X`\SOKLYWQXPQWJBC>;;961//.-îÍ~lt¬éÙµ¯­­³±¾ÃÅËÈÃÊÍÌÌËËÊÆÉÌËËÊÉÉÆÀ¼½² ™š££˜”¡ª«¬¬§£˜‚slifjn\UXVa_VW\XZ`VSWTSST_WQTNNSURSUWQPXQRX`Y^WXZW[_SRYWTP@?E;87765200/è‘tuq‘Íé·¬ª®±²ÀÀÄÉÇÁÊÍÍÍËËžÈÌËÊÊƾµ®®°·¬ž•˜™–¡±¬¬Ÿ˜™ŽvieeUf_RLHOX`YRS^g\an^]a]SVNPPOOQVRTSTXR[OO_^]hZa]hf^RPLMJK@=@8755553.02φŠ‚w‡Áé¿©©¯¯´»¶ÀÇƾÇÌËËÊÇÀµÅÌËÇÁ¸¦žš˜  ™™–‡‘—‘ž¬«ž‘‘„ucbgY\TPSSQX^_\gl^OU_MVpoZQOIMMJFJMLNNMPZUX^TRXX^g[ZUNILFEECH@8544442/16§˜œ†½éÄ¢¦°±µµ²½ÇÅ·¿ÉÇÊÊȾ³ÃÊȽ°¤™œŸ”•’‰ŠŒ‘“‹Š“™ŽŠ‰‰‚|tsoaXTX\YOW\TU\g\QP]gg`^\RRKIJGIHGEFNLS^[V[VO\iffV]SMVSHJ@@B:754333338=~‚‚}ƒÀçÞÍű®®««¹Åº©®´´»µÅ¼°¼Ãµ¨žŸ˜š¡““†€ƒ‡ˆ€~ˆ‹ƒ‚€ƒ€xvo`VVTU\ZTYTSYePPO^ecRQ[XSLJLIJIFKJIQT[`RYQQkrce_a]U\YSSH<;;96443365;@ÊÍÃœtÁåíîæÇƧ  ©«ŸŸž ¡ ¦¶®¤¡§šš˜¡™™”†ƒ„ƒxƒ‰ˆ„€{|{|tqpidYPYeYQURU^XOX[]^XQRQRQMKOPKNRQFCKNT^PQM^```ZfhZPT^ZFSE=<<955549:<=Ô×Ï—l‡Áåëäáåî´ž¢­ šœŸ£§£¡¢£ ”““œ™Ÿ›’˜Š‹†‡ƒ}xˆ…y{wxphheZUWRX^XT\Z\ZWZYZ]ZUPKUSNLOJBCFFA@EHHQJRRY\aY`lY^PZ^YIDC@><856669==LURRTTO\dce\SXX]ZR[VSSF<98;;79:9:>>>LMNMPTqÆïíçȵ¦–“—”–’‘”¤¨~yz}€}y{€}}}y|{…„€|~{|tqvzysnkf\SMKXW[RVX[[WIX_[]XY_WKMUONKMONPSTYWZmc[[ZZVYXQVJLJ>863`~:7888;BECEQPU~m”™®êãÍnLJGHRJHFGIGi”|{z}y|‚~w~}{|~zz{|~€{xwomwxzqh``TRSE@NVUVZZOKIVX[\UZc_TMLIKONMJHJNWXZ\_Z^VURWNKMHA<8677Q~=789:<;@LOXaZTXZRWZNKE;:998673‡áQ38:;EHJ\hXTYW\[RFB@:7888785ƒßR2:;>BFFCQìíçª[JAuãΰ› ¤¤¨¬­°±°¯«©³Ä×°|~z‹Ÿtkf^XUW`k¡c`_YXUVTK_vlhgcc[enbZMPZXTQTZW`XV[cYOIBA@ACA??DIC>K[kk^LQdQG@:;97;;:9<7zÚY5><>DIIBVòæÞ XLF\©ÇÕÓÔÕØÛÛÜÜÚÙÙÕÓ×ÎŽ|{ˆkEMS\dlbDFQSG=;@gqpnhT@]iikf`\\Y\ZNNVTMOT][YX[][TULF?AGIB>CRPIT[^h‹mQVXLA;8769>BA>>8~æg4;9NUNejiu†i[]RI@=<;>CHE?;?@‰ðNUVY[_gsurrcuPGIY¡ÖÜæëëçÎÊÛÞÎÏåêçßØÆ‚{|pCX˜¯±³µ²¦š…hkpTPOH3234TPPfbm_SV^YX\UPSPSQ[\Zd^UVQOJIHCFKFCGNNTijispcbkiWOLLPVQYbv…Ž–£±¡œš™™š›™˜ˆ‡uZIHDS£Úâëéèá®­ÏÒ²®ÛèäâÝÓ†|{ƒX\Hzª£˜‰}žÀ†ˆ§ZMOLL?45HpEYZhcUNW[`ZXRMNVTYb^aYPOUQME@=HU\U[fhmcZXY_bdjlknf^gwu•’ˆ€yssqkjiiigffNLLF844J‘ÛãçêêëçãçéáâèèéçèÖƒ|{‚Or;:FB=8FJUeegaQLIem\67BSWd`a`UXYYTROOMSZZTWXTMQYSQU\XqrakwjZTW\]]`fgl~„‚~‚Œ“XZXVSRQNLKKKJIHHLgglqY-/D{ØïîïîîïîîìëììíìíñÍ|w|xZs347:<:JNLJKKJMJFgx_<=Œ§rMc_a^[ZUVSW]]UTYXTQPU_ZY]fx…‹‚bdqhSRY[[Z\eiku~{xytqsD[dilryi>9877879IxxwwpVX`wµÖÖÖØÛØÖ×Ø××ÙÚÚÛÚ¶ˆ‡‚hod15;t„MFNJIIJLMLE[wcC6EjJhnqppplryˆŒ‡‡‰ŽŒ‹’²—ƒ|x|{mbmmbW\_]][_gehqfc`bciŒ]sžŸ¥§«¯­d>779DGJSqoonosvwy{€ƒ……„†‡‡………„ƒ€~…“ŒX‚V37A‚—rIE:77:JNMEVv„N52?’Xaqrtuwyxwuuvwww{}{ˆ—ª³´ª™Œvmkllmlhd`]]][Z_^ZZ[\\f’Wv¬£šŽˆ€cN?8?MXZYomkkkmnpsuttssrtwy{}~}}}|{yvsYG>BN‡”ŸVC7235>B>>p¡“K523tQihjllnpttuuuutqqqqppqu~Œ™¤­¬¨Ÿshhfdb`\ZWZXVWXXVvWPLS>:76C`]LAHNW\Wsokijjjkmnqsrpooopruxyz{|~}zsxbEKLHl†lOLF===;867b›‚B961k‘Hhg_^cdeggilpsuuurqpnmnonnptz…™®½º¤Œwkggggc_\ZYWTV~YBJB4898Mn^E?DZ^[IxupmkjjjjlnoppqpopopqrtvwojptogI_Sfx{TFGIJKJMHLY…•qD;<4a‘@hV==Fddcbcdfimqsuvusrpmmoooonlnz©º»°‡ukhhfb`_Yb¡kV9J<47?=>L?332HZU;wvtsoljihhjlnnoooqqrqrps_<:6GfcJ:54445997utuvtpkhfeehjllmnnopponpO3;:NL>77735<@<9:99895685:AACE::;AH414:Qlkifdbaa`^^achmprtvvvtolhgjnomkjjx˜»Ë·†a]Zh‰”KKAFB;X„]=9423445:uuuuutqlhfdegiikmlmmmnmnbE75-?]?:9:9888667766778888778;;=DJ3I\bghklmjgcba``_`bdiloqsttvvsmhgjkmonljr¯—QZck‡AKGJGAKjmEEG@7624=FqrstuuurmhdeddehijjjklllnoiŠp=\>;::98887777766776778779:;>CCkliiffgjlljfcba`aa__bfjmprtvvvtpkggjmnnlilgPZgsƒu9l’^EB?EF?FHFNQHJMLmnpqssrqojfca`acdefgijjkkkn«¨DN9:8877666665666654456667868@Ilnjkhgedehmmkgca`a`^]^adiloqrstttqkfdgjlllfOPQOceSLeH479ADCDJLZkmop_jlnoprqrqnjgca`aabddfhijjkk›˜RH>337665455555;65544455554MhcGSkjlljigdefkookgbbbba_]^`dimnprrtttrjedfikld]hkJf†ua]TGIQSSSUVVWWWVWiklnorrttrpmhcbaabbcdfgiijhƒ‰_jŽ|T1433334347D8554433441h©¥•RCggmmllliecdhmoolifeffdb`_afiloorrstrpjdcfikh—µ}xmslgf\Q]oomljiiiiiifiklnqrtussqmhebabbcbdfhhilsj_•¤²§O11111334723653310//[˜¤›c=bckkklkkjhfcdhlnnlifeddda__ceilooprrsspjddfm†­~j_e^YXWVanb]ZXXXXXYYaehjlmpqrrrqnmiebbaaabdfghlsFF”¦¸§«Y:<98755;aP68=??@TnÇʲƚZFenuuuusrqnjeaacfimkhdabbba_]^`dijmopqsssqkegr£wdTVXWVVVWYWVVVUUVVVV^adfikmnpqqpopmhca````adfgdj@1{ÅÃÑñÈqVZ\~qN¸…DlqcZjŸÀçØ¿½¯¡¥¨¨«««ª©ª©¦£›‹pbbbefhgec`___]\\^_adgkmnoqrqnacŽg\STVWWXXVVVVWVVVVVVV‡[behjlmoqrppqpmgdaa`_`bdg\K:.N´Ùàéô·Œ^]\sz‚ß¼\k`ceœ ¦§Ÿ›–”–”’‹‹‹‹Œ‘•™š™ocbabdfgfb``_]\]][[\^adhjlnnp][{d]TTUXUX[ZZXXWXYXXYZZÇ~\dgijkmorspppolgbb`_``bd`?2.1^{v“¶¢®ogofVœößpgns¡wyuqnlihecaaaaaaaaacefrfcb`_adedba_\\]^\[Z[[\acfiknXSgaY“£zouUZ\\[Z^^]`\^\ÊÄu[dffhklmoqpopokgca`^__a^>.--/13@@FdTWfqw™ÙÇzkm¡yYcejjiiov€š©Œˆ€zvutsqmcwrhgc_`acfecb`_^___^\[Z]_beilSLWZJ¬¾ÉÃéÛqDFGvkJI]ƒqIB¾Í·c[acfijkmrqopqolgb__^^aY5-.147;@HR]kŽ±¾ÈÑáâÒÑÑÁ”hl~ƒ†‡†…„ƒln{ZjŽŒˆ†~{frlkifcaacgggecaabaa`_]\^adgkOGKTDãà×ßîÚjDDLWlƒ¼ôíïîììîïòÎw\‰©·¿ÇËÎÓ›JE<=O¬ÚÙÕÐÒк{a]nkkkiebbdgijhfec`a`a_]]]_beMBCMJ\¦¢ÂÂÎ÷´D?@«­Gžê×ge}¶ÅБX^cfgijkmopppoolga`___:,./28@JXo’²²ïêííííîïç af‹ÜÝÝÝÝÜã‘WheYN¨ãÞÛÓÕÝÖgrPklkkkjhdcbdhjkifca``___^]^aK?AHMPRZw}Ãð¸_QEdá›r°™lÅP‘¼ÉÊvXacghjklnopoqpmkeb``_=-./15:EKUf~›îêæåâàÞÝÌŒVmyáàßÞÞÞßyKWiWK—âßáààáÒRmZ`ljjkkkhebbadgiigda^^__^^]^J>AGKOSWV[w…notqg­ðËÕÑÚçYy¯À͵c[bfgjjlmooopomljea``>00/7?w¾m227Phecb`\X[“…UkV‹”–š £‘LP[†l‡¢ÕÍÀ¯‰o@SkUkijjjjkjheb`bdgigec`^^^^]\L??GINRVX^_\^`emv†¹×âÝÉ¡WY{¹ÃΟ[_ceghjlmnnoonmlidb`<61/4D«ð¡sx… ‰ˆ™›ž¢Ÿ£rYeD9678888=J_¨i|ƒeHA941:G@nPehijjjjkjhfcb`cegiiga_^]\]O?=FILQUV^jrx}‚†•¢­¾¶ª¥PJOŠ¼ÁɉX\acehijlmnonmmlid`;:2//4`‰kNWdliklnprp…¤_a\HE8;:98986D€ZD>47;<<7?H:eV^ghihhijkkjgdb``cfiigd_]\]Q=;FIKPSV]ivz~~—Úæâããææè^SMV˜ºÄÃwT\_adfgilmnmmlllhc;:2-,/17@<;>A8777962yšSdQ;878;975434974666L]K7795QbTgghhhhjjjkjhec``acgiie`^_S97GJLORV]gpmnkšèêäãåæììgYPJb­¿Ê»hZ_adfghjkmnnmllkf:83-,.126;=<>@CEIajg›†OhIJF>LZPCA>5433474Cš«„>;85?lNfhghjihhiiiihfca`_aehifdbT55GKNNQW]ghjpk¤ôñîðññðñlbQLKy¹ÀÏ©`]acefhijlmmmmllh975.,+,--------,6AEŒœtMfHQOILMJILOE333568Mq¦ˆMPOA9aKec\dhjgggghijigdba_adhjhiV15GLPQOU^faVRS`‰œ›˜†kofRLO¼ÂÑ–Z_bdffgijklmmlkb666/:K81-,,+++,D^hm‰‘gESMMGEGIIHFEK?=8;DFPTs_KDFIACFbV†™w`efffgiikihfd`__bgijX.5FJNSpqb`OF,))*-;E;IN;jmu\OLZŸ½ÉÌ‚[abffghijklmj^V24650DKGA995*),Mw”¬’zeB7?=EVXRFD=MRD@8;HQQOH@>=<@>>pÄ_]cV<>?>=@?>=>?qklneSUgˆ¼ÆÓ¾l^ddfghhihghcWB4/.-+''&'()***+2<=I_]]djfVGDDKQRUWXYlmnmhXNOR‘ÃÆÔ­`^abdefgffgd^UC=::<;;;<:9:;==;?HXXq\YXYXXWXXXXXXXYXYZYYYYYYXXXYYZbZA«ÜÒŒaceddccdeffgggda_`T&.:;9>ENUbkqtjjigeefedbnrpondQLKY§ÅËÔ’Y_aceffeefe`\USOPRRRRQRRSUWWX\`BXrZWXWWWWWWXXWXXWWXXXXXXXWXXWXXW^hE‚­«•cbdddcbbdeeeeedeb^P&.625/13575797765221//-nrqrtvfSNJq¾ÇÑÈo\abeffffffda^][Z[ZYVVWXY[^__hatsvZUWVWWWWWXXWXWWWWWVVWVWWWUTQTXW]YZ___^_a`_^`dccddddd_VPD%.57bF-''))&$$%$$#"#$&&mmlijjd[RMOšÅÉÖ¦Z_`cefffffeecba`_][XXYXZ\`cekb‹uxqpl]WXWWXXXXXYYXXXYWSTW[ahkuŒ˜—–žœ›››š ™ˆ‚rrpccba]\TLKC%,52@?;888:744443235888mebceab]RMJg¶ÃÎÐyY`fgeefffffeddcba_[ZYYZ[]`c_dˆ~}Žª°^Z[Z[[\\[[[ZZX{{€ ©®±±´²®«ª©ªª©ª«ª«¯¯±³„`abaa_^]XNE(,4.&'57776534554567777jgggrmibRKLN‹ÁÆÔ´`^cdcdeeffgfffeddb^\ZZYZ[]`Xfzx½éÜɆ[_```aacccc_s‡ ±¬§ œ—“Œ‰ˆ„€}|{||}}†ŽŒ^keaaa`__TF.-2-,12**)('&''(('&&'''mmfgomqiSKLKZªÂÉÒ—a_acddeefgggggffda^\ZYZZ\_UdhafÓàÙåÑugkmnprttu€z–xƒŠ„}vmf`\YUTQNNNNNNMNNPST[]so_a``_]XQ?1+)*-,&&&(())(((''''''irjgnosqeZNLJv¸ÁÐËs\acddefggghhhgffda][ZZZ[^S_VOOÂä°ßï—hsstuvwx{~y‹mYUQLIHGILNOP^`MKIIHGEDEDDCCIba```_]YWRHA>>>@CFJPTUTSQNIFEEEEtwmkqpolnoXKKP”ÀÅÖ°`acddfggghhhhhggfc`]\Z[[]RSKKKhrÍêŽtŽ–Ÿ¦®²¸ÀÄ›sMDCBCDBB@?=<;::87898777999998D_``a__][XVTSRRSSTTX^bdca^[USRRRrqkgmnhfijcLKJa¯ÁÉÕ‹]cddfhhhhiihhiigfc`^\[[]SHIKKNPWwŽ{ªÊ°¦¥§ª«ºÒ«]::99988889;=;7489::866777667;>;<854555555??E]aa`````_^^^^^]\[YYZ`dghgd`\\[hchfdiqsosr^LKZhš¿ÄÕ®cbcefhiiihijjkjigfb_]]^UCKJGMQV_iÚ”8A??@;\Ã;@:?A?>==@>9S›o=>E;:534444444238;9946=9423447953;TGE<5433>?@Xbaaaaacbbbaabcdc`][Z]aejkkjfy~qlkifijniaOJMLM”¾ÀÔ±\\`bccdffhhiiiihgea_^Q6AIDHNV_m¿­Q¤óîìëЇ<@9114M^C0375101124669LTHJHC;418A25BGO:5529bccbbbbcbbbbba_\Z[_ejlknurmkmnmfhkiiTJJMM–ÇÇÔºa^_adeefffgghggffebT39AGS¾éÈjPg{H>BBL|pCJGPCXf`VSI:16<9>4-*-2Fcccbabbcbbcaaba`\Z[afjmoqmlnqsqliklgTLJLJi¼ÇÍ×_defghggffggggfffcV-4=:877668=A@:DJH@BBA8:;8=UyVacbcbabccbbbaaabb`][\alklnrtsqrkkmljoeOIKLO”ÈÉÔÀkceegihgffggggffe`R)27BEHO[ai{r4>d6::><4BF;88754456:@A>==@9654433689=JJHD<8GÈóêœ`_aaaaccbbbbababbb`]Z\jquroqqlnijifjr`JJKLKd¹ÉÌÕšaeefhhgfggggfff`TG(237::99;@BB?>@>=<<<===>>>??=7TX/s³°c^_aaabbbabaaaabcca_\Zqwtojiklmiilvste_YLKMQŠÉÉÐËvbfghhggfefeec`[RI*2104.,*-5>?@CEFHJRTRRSUUVWYZY\^^][[i^n†DDXX[`__a``bbaa``aaaab``_][hhjhaabhiqyxsunjmdQKMQ]³ÉÈÖªdffhigggefeedccZL,1039/779CGIIKX¨vIŠsJ?OY^adfjlnonnoponnmllkjjjjkkjnugn„wJU^`aa`abbcca````aaaa```_^rmmnltorirqttt{}j[SJKLL}ÆÄÎÔˆbeefeeedeedeed`M10.-*..-++,..2JiœgOŒ†sZqrpmkhec`^\[[ZYWVVVUUUUUVUUV[_Z^ftuY\`_aabbbcbaa```aaaa``aa`{‚xu{wihowvxypd\QJKKKS£ÈÆ×½f`acdddddddecb^T?/)+++#"""###,J\“ea†yl^__XURROMLLKJJIHHGFFFGGHHGFGILKKNMQlob__^_a_`abaabaaaaaa``aaaƒ|u~xsqiltmhgnhbbbTJKK]c€½ÃËØŽ\aaccdedddcba^YQ8/01211100/.8LQ~tjmYTMJNLIFFDCCBA@@@????>?>>?????ABABABEPis^``acbacdcbbaaabbbaaaaa}xwxrnq``hqyrjjcXKKJU]\œÂÂÖ¿f^`bbcedddcbb_ZWNIGGHJJHIKJICNby„lWEFDA@BA@?===<;;::9999::::::9::;<<==>>DHha_aaeiifedddbbbccbaaaaa‡††††‡‡‡†…†‡‡†††‡‡‡‡ˆˆˆ‡ˆˆ‡‡…„‚|xutttxyxxzzy{{zwuxxz{{zyz{~€€€††……†††††…†††………††††‡††††††…†‚|xuuuvuvyxxyxz{zywtvvy{zxwy|~€€€……………†††††…†………†††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyywwy{~~€€€…………†††…††…††……………………„……„………„‚€}yyyxwy|{yxxz{{{ywvvxyxxzz{~~€€†…………„……†……††……………………ƒƒƒƒ„„„ƒ~|yxwyz|zzz{{{{zzvvxyxyzzz|~€„‚ƒƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚‚€~}zywyz{zz{}||zyywvxz{z{x{~€€€‚ƒ„…ƒ‚ƒ„……………„…††„„…‚€€€€€€€}~~~{zzwwwyzz{||{zzxwwwxxyzx{~~€€€ƒ††‚‚ƒ„…††……‚„„„‚~}~€~}z|~|zyxwxwwy{|}||{yxyxwuvxyy|~~€€€‚…„€‚ƒ„…††„‚ƒ€}zz{{{||}}}||yz}zzzxxyxyzz||}}|zwyyvuuwwx|€€€€‚…„€~€‚ƒ}yxwwxx{{z{{yyxy{yzzyxyyz{{|}~}|zzyxxwuvuv{~€€}†ˆ†€€€~~}{{yyyyxwwzzxyywwxy{{{{yvwxwz||}~~|zzxxzwwvvw|~€~Ž„€€€~}}{zyzzxxwxxxuuvvvw{{|zzyuuvwz|{}~}{yxwwyywxy}~~~Œ‹‰‡~€…†…„„„}zyvxxwxwvutrstuvw{||zyx{{zzy{|~~}{yxwxxxxz|ˆ}|‚ƒƒˆˆˆˆŠ‰zxvx|~‚‚‚‚‚€~}vuwyy{yyz||z{z{}~~~}{yxyz{{}~€ˆ€}{~€‚€„†††…„†ƒ{wzˆŽ‘ƒtvywzyy{zyyy{}~~zvwyz|~~€~{y‚ƒ‚‚‚{u}Œˆ‚‚†††‡‡‡‹‰wtxyyyz{zyxxz}~~|wstvx{~~~€€€€€{€~€}u€‡ƒƒ„†…†ˆˆ}uwyxy{{yxxy{|}zzyvqpqqorsv‡ˆ‰‰‰ŠŠŠ‚‚~~zƒˆ‡…††„…†‚€ˆ†yyyz|}|{{{zxtpiopsssqojhhq†ˆ††ˆŠ‰Š‰‚ƒ„…ƒƒƒƒƒƒƒ‚‚€„‰Šƒ„ˆˆ‡‡‚~‡‡‚~€€ƒ‚‚‚ƒ‚}yuvxyzyzyxxxw|…‚ƒ‡Šˆ‡ˆ‡‡‡ˆˆ‰‰Šˆˆˆˆ‡„…ˆˆƒ…‰‰‰ˆ‚}‡‰„ƒ„„ƒƒ‚ƒ„„…†……‚€€€€‚‚‚„ˆ‰‰ˆ„…ˆ……‰‰ˆˆˆˆ‰ŠŠŠŠ‰ˆ†„…………†‡††…„€†Šˆ„‚„„……„ƒ‚‚‚‚ƒ…†‡†……‚€€‚…ˆŒŠ††ˆŠ††‰‰‰ˆ‡‡ˆ‰‰‰ŠŠˆ…‡ŒŒŠ‰ŠŠŠ‰‰ŠŠŠŒ‹„„ƒ„ƒƒƒƒƒ€€„†ˆˆ†…„{€†ˆŠ‰…Š‹Š‰ˆ‰‰‰ŠŠˆ†‡ˆ‰‰Š‰‡‹ŽŽŒ‹‹‹‹‹‹‹ŒŒ………„‚‚ƒƒ‚‚‚€€€ƒ…‡ˆ‰{†ˆ‰‡‡‡‡………ŠŠ‰‰Š‰†‡‡‡ˆ‰‰ˆŒ‰†ŠŠ‰‰ˆˆˆ‰‰‰…€‰‡ˆˆˆ†ƒ‚€‚€€€€‚„‡ˆ„…‡‰‰ˆŠŠŠ‰ˆ‰ˆ‰‰‰ŠŠ‰‡‡‡‡ˆ‰ˆˆ‚~„‡†‡†…††…††‡ˆŠ‹‰†„€€‚‚‚‚€€‚„†‡„„‚€„†‚~~~ƒˆˆŠ‹Š‹‰††…†ˆˆ…„‚ƒƒƒƒ†‹ŠŽ‘‘‘‘‰„ƒ‚‚ƒƒ‚‚‚€€„†zwsqrsrqq€†‡‰ŠŠ‹‹‰‡†…‡‡„„…„„ƒ‚‚‚„„‹“”“’‘‘’’ˆ†ƒ‚‚ƒ‚‚ƒƒ‚€€ƒ…ƒ€zwxwwxy}ƒ‡‰‰Š‹‹‰‡†……ƒ„‡ˆ‡…‚€‚…Š…€~……†~~€‰‹ˆ‡„ƒ‚‚€‚‚‚~€€€€€||†ˆˆŠ‹‹‹Š‡…„‚ƒ…†…ƒ€~~…‰xx{†‹‰~xx|…‹‰‰ˆ†ƒ€€‚‚‚‚{tuw|xy|€€}}~ƒ‡ˆ‰ŠŠ‹‹‰†ƒ‚‚~~}|~ˆ‰†ƒƒ…ŠŒŠƒ„…‡Š‹‰ˆ‰ˆ†ƒ€€‚‚‚{rqrtsv{}}~{~}}„ˆˆ‰Š‹‹‹ˆ„‚‚€€€‚‰‡ˆ‹ŠŠŠ‹‹‹ˆ‡‰‰Š‹Š‰‰‰ˆ‡ƒ‚‚‚‚|srrty}}v~|†‰‰‰Š‹‹Š†‚‚‚‚‚‚ƒ…‡Š††‡‡‡‡Š‹‰|…†‡‹Š‰‰‰ˆ‰‡…ƒ‚€‚~tssw„ƒoz€~}‚‡‰ˆ‰‹‹‹ˆ„„ƒ‚ƒ„†ˆŒ‡††††……††ƒ€…‡ˆŒ‡†ˆ‰‰‰ˆˆ‡ƒ‚€‚€{{zz€€~hm{}z~ƒˆ‰‰ŠŠŠ‰‚…†„ƒƒƒ‚†““‘’’’’‘’“’“••”‡„ˆ‰‰‰ˆ‰ˆ‡„‚‚€€€€~jip{}~…ˆ‰ŠŠ‰‡ƒ‚‚ƒƒƒƒƒ‚ˆ•”“””””””•”””’’ˆ…†ˆ‰‰‰ˆˆˆ‰†„‚€€€€€kkkx€~}ˆŠ‰ŠŠˆˆ‡†…„„†…ƒŠŒŽ‘’’‘‘Šˆ‡‡‰‰ˆ‰‰ˆŠ‹†‚……†…„………nmlt}}„‰ŠŠŠŠŠ‰‰‡…„†‡„Š†~‹ŽŒŒ‘’’’’’‘Ž‰ˆ‰Š‡‚€‚††††††††olimx€~}€†Š‰ŠŠŠ‹Š‰‡†…†…‡ƒ||„Šˆˆ†ˆ’““’‘’‘‘‘‘‘‘‘‰ˆ‡†…ƒ€‚kkhikz€}}ƒ‰ŠŠŠŠ‹‹‹‰‡††„…„‚€ƒ……ƒƒ†ŒŽŒ‹Šˆˆ‰‰ŠŠ‹‹Œ‰‰ˆˆ…„‚ƒ‚~€nmihes€~|†ŠŠŠŠŠ‹‹Šˆ‡…ƒ………„‚ƒ‚€†‰ŠŠ‰ŠŠ‡ˆŠ‹‹Œ‹‹‹‰ˆˆˆˆ‡‡†…„‚‚ljgfgl{€~}€‡ŠŠŠŠ‹‹‹Šˆ…ƒƒ„…„‚ƒ‚€€†‰Šˆˆ‰‰‰‰Š‹‹ŠŠ‹‹‰ˆˆ‰ˆ‰ˆˆˆ‡…ƒ€€€fggghiq~€~}‚‰ŠŠŠ‹‹‹‹Š‡„‚„ƒ‚„‚€ƒˆŠŒ†‚ˆŠŠŠŠŠˆ‡ˆŠŠ‰ˆˆ‡†‰ˆˆˆ‰ˆ†ƒ€€hhgfghhu€}ˆŠŠŠ‹‹ŠŒŠ‰„‚ƒƒƒ…ˆ‰Š…†‰ŠŠ‰ˆ‡†‡†ˆ‰‡ˆ„„‡‰ˆˆˆ‰ˆ†‚jhgdgihr€~…Š‹ŠŠŠ‹‹‹‰†‚‚€‚ƒƒ…‡†‡‡†‡ˆˆ‰ˆ‡‡‡†…ˆˆ‡†ƒ„ˆ‰ˆˆˆˆˆ‰†„jhgeijhn}€}€ˆŒŒŠ‹‹Š‹‹‡‚‚ƒ…ˆˆˆŠŠŠ‹‹‹‹‹ŒŽŽ‹‹ˆ‚ˆŠˆˆ‰‰ˆˆˆ‡„jjjhihhlu€~ƒŠŒ‹ŠŠ‹Œˆ‚ƒ…†„ƒ…ŠŽ‘‘’“““”–––——–––††ˆŠ‰‰‰‰‰ˆˆˆ‡mljinkhjq~‚~‡ŠŠŠŠ‹ŠŠˆ‚‚ƒƒ…†„„‹’“—™˜——˜——–––––——˜–Œˆ‰ŠŠ‰‰‰‰ˆˆ‰‰lmnoqpmps|€~}~‚‰‰‰‰‹‰‰ˆƒ‚‚‚‚‚€““““’ŽŽŽŽŽŒˆˆˆ‰ŠŠ‰‰‰‰‰ˆ{zzzzzzz{zz{{zzzzzyyyyyyyyyz|‚„ƒƒƒ„††‡‡‡††ˆ‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzyzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒƒ‚‚€zzzzzzzzzzzzzyyyyyzzzzz{{{{z{~€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zz{{zzzzzyyyzyyz{|}~}|||}€‚„„„„……†„…‡‡†……„„ƒ„…†‡ˆ†…„‚‚‚€€{‚~|}~|zyzzzzzzzzz{}}~}}ƒ‚ƒ„…„„………†††††………„„…†‡†††„ƒ‚‚‚€‚€€~|{zzzz|zy{||}€€€€€‚„…ƒ„„……„„„„…†††„…†………„…†††††„ƒ‚‚‚‚}€~}|{zzz}|{€ƒƒ‚‚€‚ƒ………†……………„„„…†…„……„„………†††……„ƒ}€€€€€~}|{}€…††…„„ƒƒ„ƒ„…†‡†††…………ƒ„……†…„„„ƒ„„„††‡†…„ƒ‚‚‚‚}}€€€€ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡††††…„……………„……„„ƒƒƒ„†††ˆ†…ƒ‚€‚‚€~}€€‚‚„†‡†‡‡†‡†…„„„„…‡‡†…††„„……………†………ƒƒƒƒ„†…†‰‡…ƒ€€‚ƒzzy~€‚‚‚‚‚ƒ††‡‡‡…†††……„…‡‡‡ˆˆ†…………„…………………„„„ƒƒ…††††…„ƒ€€‚ƒ}~€€€€†‡‡‡‡†††††‡††ˆˆˆˆ‰†…„„„„„„††‡††„„„„…††ˆ‡„ƒ‚‚‚‚‚‚ƒ„…‰‡‚€{zz{|}„‡ˆ‡†„ƒƒ‚‚‚ƒ„‡ˆˆ†……ƒ„„…†‡ˆ‰‡…„„„ƒ„‡‡‡‡ƒ‚‚‚‚ƒ……‰‡„ƒ~~€~‚…ˆ†€}|}€~||}ƒ‡‡…„„ƒ„„††ˆˆˆ†…„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ‚‚„„‡‡ƒƒ‚€€€€€€…ˆƒ~|||€}|}}~†‡…ƒ…„„„…‡‡ˆ†…„„ƒ„……‡‡…ƒ€‚‚‚†ƒ‚‚ƒƒ‚ƒ‡ˆ‚}||{z{{xz}}|„‡…„……„„…‡†‡‡…ƒƒ„„‚€~}~…Ž“—˜™›››ƒ‚‚‚‚„‚ƒ‡„€|}}x{yw}}|‚…„ƒƒƒƒ„…ˆ‡††ƒ}}||zz{|||}›™–’‘ŽŽ€€‚‚‚‚‚‚„ƒ~{}…xyxx…|„ƒ‚€€€€‚„„„…€€~~~€„†|{zzzzyx~~}}}}}|}}~€}{|‚~y{{{‚ˆ|}‚€€€€€€€€€€ƒŠ„ƒ„„‚‚‡„{}~}{zzy{}~~}}||}}}~€~|}~}|~~}…~{}€‚€€€€~€ƒ„‡‡ˆ‡€y|‚}{z{{{{|~}}|}}€€~}}}}}~~}~~}|{}‚€€€€€€€~€œ³š~x|€|y{{|}{||~~€~~}}~|{|}||||}}}||}~~~€€€€€€€€~~”¯Ÿ–‡~ƒ‚ƒ†††}}}}}€€~}~{…ˆ~}}}}~}}}‚ƒ~~~~€‚‚€€€…ˆ› £¡Ÿ¡£¥¦¦€}}}}~€€€~}~‡Œ~€~~ƒ†~~}}€€‚‚‚€Š´¿Âû½ÃÆÆÆ€~}}}~~€€€~~€€ƒ‚‚ƒ„~|{zyyxxxxyy}€€‚‚‚‚’°ÉÎÓÖÔÕ××׃}}~}~~€€€€‚‚‚ƒ…‚€|zzz{{}}{{{zz}€€€€€‚‚ƒŒˆ•¤¯³µ´±¯„ƒ€~}}}}~€€€€}~€€||}€~€~~~~}|~€€€‚§¬Š|~‚‡„‚€~}}}|}€€€€}~‚ƒƒ„„||}~{xy|~~|{|}€€‚€ªÌÇ·£²²™„…‡“‰‚€~}}}}~€€€‚‚ƒ…‰Š‹ˆ€|}~{wx{€|{|}~~~€€§ÍÐÐËÈÁ®–Ž™„„ƒ‚€~}}}}~€€‚‚‚ƒ‚‚ƒ‚}||}|{{yx|€}{||}~~~~~~¢ÌÎÎŬ”„„ƒ…„‚ƒ‚‚€~}}}}}€€€€€€€~||||||||{}…~|}{}~}}~~~~€~™ËÍϵ„~‚†‡‡‚‚‚‚‚~}}~}}€€€€€~|||~~}}}|}~|{~~~~}}~}~€‹±£¨˜€€ƒ„……{}‚‹‚‚€~~~}}~‚€}yxwyxxxyxxxxwwvw~||}}~~€‚‚ƒ…ƒ‚‚‚}{ˆ‡‚ƒ~~}}~€€~yvvvvwwwvvvwwvvw}~~~~~~~‚€‚‚}}‚ƒƒƒ€~~~}~€€€€|{|zwwxyxxwxyyyyy{||}~}}~~}}~€‚€€€‚ƒ‚‚ƒ~~~~}}~€€€{~ƒ{yzzzzyyyzyxxxxxxyyy|~~~€~ƒ€|€‚ƒƒ‚~}~~}}|~€€€}‚…„€}~}}}zyxyyz{{|{{{{z{~‚‚‚‚‚‚~z|}€‚‚€~~~}~}}|~€€€€‚ƒ‚‚‚||{{|||}||||{{{|€‚‚‚‚ƒƒ‚‚~yyzƒ•ˆ‚~~~~}}}}~€€€~€€€ƒ„…€}||||{||{{zzzz{|~~€€€‚€~yxy}„Š…‚~~}}}|||€€~ƒƒ~|{~{z{zzz{|{{z|}~~~~€€‚‚‚€~zxx{‚‚ƒ~~}}}|||}€€€€€€~|{‚|zzyy{||{zz|}~~~‚‚~zxwxz€ƒ‚‚~}}}}|||€€€€€€€„‚~|}€}{{z{{{{{z{|}}€~~~~~‚‚~zvyzzƒ‚‚€~}}}||||~€€‚‚€€€~}~}~|z||||||||}}~~€€~}~~~~€~|x{{{~‚‚‚||}}{||}€€€‚€~}~}||{||{{{||{|||}~€€~~~~~~~}€~||}~}€‚‚‚~}}}}|{{€€€€€€~}{zzyxwvwvvvuuttuvvy€~~~~~~~}}ƒ‚„„‚‚‚‚…„‚€~~~~~}}€€€€€|xwwvuuuvvwuuvvwwvvv{~~~ˆ‰‰ˆ‡…„……ƒ‚™Ž~~}~}}~~€‚‚‚{wyxxzzz{{{{{|{{||{y|€~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÍÎÎÍÍÎÍÍÌÌÌÌËÌÌËËËÌÌËËËËÌÌÍÎÌǽ±¬Ÿž‘}rgjujkillrcgbV]a[[c\T[a]_VPOTZX^e`cSTWVUVTUYTPV^^[XTLD=9<:521@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÈÎÎÎÎÎÎÎÍÍÎÍÍÍÌÌÌÌÌËËÌÌËÊÊÌËËËËËÌÌÎÏÏÆ´™¡•u€x€q^^]q}m[^mkh[ZZ[_YVTP^g_[RPOQXV\fggOU\`ZQPLRRX^a[VPMI@?76532086ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÇËËËÌËÌÍÍÍÍÌÌÌÌÌËÌÌËËËËÌÌÌÌËÌÌÌÍÍÍÍÎÍÍÁ¦‰‡plkmlkmqt{x_a`ccZ[[ZZ\RSW\bYZYVSRUSVYdcQQX[ULNMRR\b_aYQFA?<852210/1ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÂÅÁÊÌËÊËÉÊÊÊÊÊÉÉÊÊÉÉÊÊÊËÊËÌÌÌÌÌÌÌÌÍÍÍÌÍÍÍ̵˜’ymrwys}~cda]fW`ccZZWU`XRYecRPSVWSNLVOWgQNTWYPMSPPX_^`TTTMH@<85320--ÍÍÍÍÌÍÌÌÍÌËÌÍÍÎÈÀÁÀËÎÎÍÎÍÍÍÍÍÌÊÊËËÊÊÉÉÉÊÉÉÉÊÉÊÉÈÉÆÈÉÉÊËÊÊ;‘‚‚€qajzkdg`_`WibWWTSM]_^`qlYPOU[TMISRRYTYZWUOPQU[_WVYPPYNI>>@<52/,,ËËÌÌÌÍÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÎÎÏÎÏÎÍÍÎÎÍÍÍÌÌËÊÊËËÌËÊÊÆÉÊÊËÌËÇÅã‹xwmi_inmb``]X\`VRZRRQZefegcgUPVZRPSURQWRY\`URUQY[\VXSSPQPI>?=7651.3ÌÍÍÍÎÎÎÍÎÎÎÍÍÍÎûżÇÏÍÎÎÎÎÎÎÎÏÎÍÍÍÍÍÎÍÌÌËÉÉËÍÎÌËÇÅÊÊËÍÎÌÇÃÀ²šz|oaURa\Z\`_^b^VUPKMUY_ach_[SOOPNKSQRO^LTUZ[WZY]ZZUQQSNRKFC?B;521/4ÏÎÎÎÎÎÎÍÎÎÎÍÍÍÎþÌÂÅÎÍÍÍÍÍÍÌÍÍÍÍÍÌÍÍÎÍÌÌËÉÉÉËÈÄÂÃÁÆÆÈËÌÉÁ½»¨Š~ypUSRQMVWmndbb\YMD?LXP[``]VSQJLKHKHPKXNQTUVVZZZ[]WRPSNWNCHA@>3/.--ÏÎÍÍÍÍÍÍÍÎÍÍÍÍÍþËÂÃÍÌÌÌÌÌÍÌÍÍÍÎÍÍÍÍÎÎÍËÊÈÇÅÈÀ½¹Á¼Á½ÄÊÇû­¡¤‹~ys_VYZXgi\ned\UURRVUbSOZ]ROVWRKIFOPQYXQPWZUTWVUOOZURVQWW?56220.---ÎÎÓÙ×ÐËÌÌÉÈÉÉÊ˾ÈÀÀÌÍÍÌÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ¾Â»¸¬¿·¿¶¾Æ¿¼´¥‡„~p‡vc\`Z\eiVn\SZTNST][UNPSWRQRUXLKKSSRZf\NVXVVTTYRK\YY\\LC=7630-.,,-ÎÝëðíåÕÊÉÁ¼½ÀÄÇÀ¾ÆÀ¿ÊËËËÌÌÍÌÌÌÌÌÌÍÌÌÌÌÌÌÅÀº³¼¸° ¹²¾´³¾³º²—ƒ{{mfbbb`T\aYTdYSZ]PSSW\UVTNMMKKMSYVPSOQQb[NY[XRLMXYPVXQLJA8=<:72.-,-.Þîͧ°Ýêͽ¶°¯µ¸¿ÁÂÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÄÃÀ±ª¨«®¤œ©¬·¯±µªªž€tvrkkR_dZXcWQ]h]Y_WKPRRZ``TQLLKMRMUVJPTNR\^Xa\SOKMYWQXPQWJBC>;;961//.-îÇwhl¡æÙµ¯­­³±¾ÃÆËÈÃÊÍÌÌËËÊÆÉÌËËÊÉÉÇÁ½½² ™™¤¤˜”¡«¬¬¬§£˜‚slhdjm[TXVa_VW\YZ`VUXTSTU_WQTNNSURSUWQPXQRX`X^WX[W\_SRXWTP@?E;87765200/åŠuvqÍçµ­ª®±²ÀÁÅÉÇÂÊÍÍÍËËžÈÌËÊÊÆ¿·¯°±¸«Ÿ”˜™—¡±­¬Ÿ˜™ŽvheeUe_QLIOX`YSS`g\ao^]a]SVNPPOOQVRTRTXR[OO_^\gZa]hf^RPLMJK@=@8755554.02ÍŠŒ…yˆÂ躪©¯¯´»¶ÁÈƾÈÌËËÊÇÀ¶ÆÌËÇÁ·¦ž›š¡¡˜š–‡’—‘œ©©’‘„ucdgZ\TQTTPX__\hk^PU^NVpoZQOJMMJFJMMONMPZUX^TSXX_g[ZUNILFEECH@8544443/16’Š’“‡‡¾è¿£¦°±µµ²½ÈŶÀÇÇÉÉȾ³ÃÊȽ±¤˜Ÿ•–“ŠŠ‹’“‹ŠŽ‘—ŽŠˆ‰ƒ}ttoaXTY\YPW\UU\g[RQ\gg`^\RSKIJGIHGEFNLS^\W[VO\jfeV]SMVSIJ@@B:754334438>„‰„||ŽÀçÝÍű®®«ª¸Å¹©¯±°·´Æ¼°½Â´¨žŸ˜›¡““†€‚‡ˆ€~ˆ‹Œ„ƒ€ƒ€xvp`VWTU]ZTYTRYePQP^dbRQ[XSLJLIJIFKJIQT\`RZQPkqce_a]U\YTSH<;;96443365;@ÐÜÔ³w…ÃåíîæÈŧ  ¨©žŸŸ¡ ž¦¸¯¤¡§™š˜¡™™ž”…ƒ„ƒxƒ‰ˆ„€{|{|uppidXQZfYQURV^YPY\]^XQRQRRMJOPKNRQFCKNT_PQM]``_ZfhZPT^ZFRE=<<9555499<=ÄÁßn{Ãåëåáæí³ž¢¯ ›œŸ¤«¥¡¢£ ”““œ™Ÿ›’—Š‹‡‡ƒ}xˆ†y{wxqhheZUXRY^XT\Y\ZWZYZ\ZUPKVSNLOJADFFA@EHHQJRSY[aY`lY^PZ^ZJDD@><856669=@?pFUO\p¼æíÌ¿áéøÄø¼·¾½Êǽ¬  •Œ‘œ–š–‰Œ‰Šˆ…„‚‚€y~„~|~vxvrqmjgY[dbaYQSWX^^cWU\RX_[VOINLNJCCEA?FFDBRGTW[W`a`\QccVVXRLHDF976668;?HF\[\LIhªÒåâÛééäæçãäæçêèéìñÆšš”ˆŒ’‘Š‹‹†Œ‡‹ˆ‚‚„{}‹€ywuqsrnhaWZda[QUNQ]fbbUOTTi]bXMQROJHDHSKDJKLFPQ\]YMYdddTadVPW]OD@@<;9888==LURSUTO]dcd[SYX]ZR[VSRE<98;;79:99>>>NVVWZZOKJUX[\V[c_TMLIKONMJHINWXZ\`Z^WUSXNKMHA<8787Q}>789:s‘x|}}~z|~xv{yuwwyw{|~~xttlgnuynha^PRSGKQVZ\SOSRVUZUWXY`\SLECADGIEFGKSW][VMURTQTNFEC=:7786[}@98;=LHMF96=:Tš±±|}}}z|{x~ƒ…ˆŒ‘“™›œš˜“Œ‡}sllvphg^QVWVXZ_\WEGSX^W[YXVW\UOJCE@??>=<@LOXaZTXYRWYMLE<:998673ŠßK38:;EHJ[hXTYW[[SGB@:7888795‡ÞL19<>CFFCQìíîÍmMHKµÎ³²·¹½ÁÃÂÁ¾½º¸½Æ½±}{}Ÿ‹‡~skddfp‰}haa\XZ]cfisgfcc[emcZMPZXTQTZW_YVZdYPIBA@ACA??CIC>K[kk^LQdQG@:<:7;:::<7}ÛR4=<>CIHBVñàÍ­dLGK‰ÃÓÖØÚÚÜÞßßÞÜÜÛØØÚ¤z~~“]OPQQV[Y[e}oULMZkid]TAPpjkga]]Y\ZNOVTMOT]\YY\][TUMG@BHJB>CRPIT[^h‹mQVWLA;886:?BA>?9}é_7?8;CFMY_xSujFDS‹ÌÙßççèìîíèíîìèéäÛÄ…|~}€n>Vgu€‰‹U96/.256K__aceW@XjrxfWUUSRPOUWOPZ[ZV[b\YOSTPIEKPI<>NUNejit†i[]SJA><;=DJHC=>7ñe372;EFX_amisWHIM†ÍÝäêê迪ºÚµªÊêåàÚÖšz}}„RExœ£¨«­˜~dKKMPNLI;367CWDacm`TV^YX\UPSQSPZ][e^UVQOJHHCGKGEHNNTikiqpcbkiYQMLPSRSPGFNV‘åmotz~ƒŽ„ƒxaHFC@…Ìâéêçæ¾°ÇÞøËèåäàߟy}{}HWi´¶´±­¥ŸÂ•|™|KOL@9555eQN\hcUNWZ`ZXRMNVUZb^`XPPVRNE@=HW^W\fhmcZXX_bdjlloe^ivrkyy˜Ÿ   ž™”‘Ž‡……HFIL?338o½ëéêêëíçêéâãêééêêçšy|€kW[;ksf[WUX‡†v‰lKLPc`E43VmFaaa_TWYYTROOLR]ZSVWTNQZSQV\WrsakwjZTW\]]`fgm„‚ƒ€…šq~voiedb`_^]\YYYkkoup9.6a«ðððïïïïïîíîïîîïðãŽtv„ZrO22333@NMHKNKKMEOvkT2NK`_a^ZZUVUW]]USXWQNOU^[Y[ey…‹‚bdqhSRY[[Z\fiku~zxyrr{~LQRQRTVMEBBA@>>>ywvtu`Z^n‘ÅÉÉÌÎÍÊÈÊÊÈÆÈÊÍÎÀ™‰„ƒU?36G\P@NMMLMNMLHKwsS6M„›^Woqnoomry‰“Š‹’“ŽŽ”²›…€|x{{mcmmbW\_]]\`gehqfc_bcrr†^Uuz…‰}@7768:::pnomorvxyzyyz}~~|}~}{{†”’y\…654]ž€GLG>>>FMMKF^wd950q}Oqstuwyxwuuutttux{~„ ±´«œŽumkklmlhd`]]][Z_^ZZ[\\^iU‰¬¯²²²²«dC86AMPOomkkklnpsuttsrruwy{}~~~}}{yvuxknx4<;h™nC9334=IGIL•x951T“Kdhjjlnqttvvvutqqrqpppt|‰˜¤­­§¡”ƒtigfdb_[ZWZXVWYXVVr‹Xh‡“ƒvk]\eWA:FMY[tokjjjjkmnqrrqooopruyyz{||{zvzd€e>JE`†ŽkJG8667968@‰Ÿh952>–\Yjhfeeeghkmqtuuurqpomnoonoryƒ’¨º»§Œvkggfgc_\ZYWTRS‰}[EID2454Lj]KELSZ[xuqmkjjjjknoppqpopopqrtvy|xytx[\IRNd„sIHHDDDDA>:77’mMkRJM`dcccdfimqsuvutspmlnoooollu‹¦¹¸­™…tkhgfb__[V_ŸkZ<:7iKE]>>5Mhdccbbccehlortvwwuqoljlopomlq}¨ÁìŒrgghfebt¦\U6K84:PF;>7332ESPutuvupkhfeehkllmnnopponnf8;9Yp@HAGH5?BBBHLLKHD==>=WVLMC688>>8473Umhfdbaa`^^acglortuvvuokigjmomkjjx–¹É¶“whfdoˆ›ON8>:8YttS94334454uuuuutqlhfdfhijkmlmmmnmmf=10/7OB865679:64445665888799;;;<@KB0>KWgkmmjgcba``_``cglpqrtuuvsnhgikmonljpˆ§Â˜XZYkˆBJEIC=\ƒŒP?<623459qrstuuurnieecdfhijjjklmllgXVW3ZM<;::898767777678778888::;>E?Hijhgghjmmjfcba`aa__bfjmprsuvvtqlggjmnmmjiuaS]kpŠy825>lopqssrqpkgcaaacdefgijjkklkŠºYNF;:997776666666676667778::;;@A@FHIWa]``jlnoprqrqolgca`aabddfhijjki„·bH<5687665556555565545566675;LJNhkkljigeefkookfbabba_]^`dhlnprrsttrkedfijliQMKFRegMK?78?HHEFKLWa`bbiklnorrstrpmhdbaabbcdfgiijjv kQ_Q:3544444445=B4544434542[ŠšiBUjkmmlkieddhmonlieeffdb`_aeiloorrstrpjdcfikhd…€Pp‚znj`NNV]__``__`__fiklnqrsussqmiebabbcbdfhhiiplc  ¨P1333334559:454433331S¥¥¡‹GMihmmmlljgecfllmnlifeeeda__beilooprrssqkecgjiŸ¯uufmd``ZTdsmigdddcccaehjlmpqrrrqnmiebbaaabdfhhjsbE| §­’N//1101365464144442Q› ²¡…EGfdjiikkkjifccdfjmlhdbbbba_]^`dijmopqsssqlfem‹¨xf[`[XWVV`e\XWVVVWWW^adfikmnpqqpopmhca````adfggm^-`ªÈ­ÓºbbIHKNLAIVh‡ÎÚßåéìéçêìÂzctƒ……‚‚ƒ…y]kcSwŒŒŠƒƒ{yatkkkiebbdgijhfec`a`a_]]]_bdgIFJRDäÚÓÛèÖdB;fÃY:”ÉÀ[v²ÄÏŽX^cfgijkmopppoolga`__bJ,-.26;DN]q™šßëìíìëìíîë©\o”²¸¿ÇÍÐÐmKD?BeÉÛØÐÎÒÓ«vVgmkkkjhdcbehjkifca``___^]^`cFADLLW„‹¶±Ìû£CAA¨ºN˜ÞÅaN‰»ÉÉtYacghjklnopoppmkfb`_`N.-.04:>K`yž¢ÙóòóòòòòõÓ…Vp¬áÝÞÜÜÝÖcedgRZÉáÞØÓ×àÀ^mTmkjkkkiebbadgiigda_^_^^^]]_E?BHMPQWgm¶Ó’h]Nd߬v¬€Yu«ÀÍ´c[bfgjjlmoonppmljea`aO//.06:[[@ALPŽ¬£š•‘Ž„¢u[b¤åÞÝßßàÆPTVcjvÈãâãàáã¸EwRhljjjjkjheb`bdhigec`_^^^][\D>BGKOTWW\dfcksun¥îÝÞÝæVUu¶ÃÍž[_ceghjlnnnnonmlidabN33/1@bÛÅVCIa_HKMRUW\sždbZcƒˆ“œtETe~xŠ¢Í󦙅d:c^]iijjjjkjhfcb`cegiigb_^]\\\G=@GJNRVW_ccdeinxƒ¥ÅØδPKN„ºÂɉY]acehijlmmnnmmlidcO46//5[ϳ|p}–‘˜› ¥££¥›TjTB8568868BMwRSRO@;741>EJjSghiiijjkkjgdb``cfiigd_]\\\I>=GIMQTV_lw~„‡Œ¡«¬´Âº³^SMS“»ÅÂqT\_adfgiklnmmlllheP39-./5NXG9@KE>?@?>?@>?@AE[KRŸwQeC7769<775446=53557M]C58:5bU]fgggghhiiiihfca`_aehifda`N67HJLNRV]hmkmj¥ìéäãæçìjaPMJoµÀЩ_]adefhijlmmmmlljR.;/-,/0147669:<<@TOˆ¢eX_FKACUYI?B<4433462Jœ¦i9;74QaTffehhfggghijjgdba_adhjhheM25ILNOQW_gfkol¢ëîêéììêlofSLMƒºÁЕY_bdffgijklmmkklQ-;1-4-++**)+++*1>=ZY\XKRLJMLIINO>12455EHQXqWIEJFABNeVšq^effgggggihgd`__adhkQ+6GIMY‰yc\KH.-/01CSCTTrpkeXOKc«ÁÎÄs]befgghikkkkcXF-8620DFD=55.*,8bˆž§…rX8:>>MYWMEC>XLC<8>LQPPG?><=?=>NfO~wTVeeefffeeghigda___bhQ'6FABé“eTONMTSQOY^QSRqklneSUf†¼ÇÔ¸g^ddfghiiihhe[G1632032/.,,*.12KcxŠ„ofOMLORSPNMMQUPQPQSUXZZVTVVXX\`]l][]Z^ddeeeeeefghhgeb`^^bP%4C>@m¥x_`dU9997:?>>>@lmnmhYNNQŽÁÇÔ§__abdefggfhg_S?2-.,*'()*+,+*-4:Hnnp^^]\[Z[\[\[[[\\\\[[[[\\[Z[Z[^^gUG¶Ù’aceedddeefghhgdb_^`N$2>;=ESW]fmj\NMOVYZ[^^nrpoodRLKW¥ÄËÔY_aceffeegfa]QFAACEEFGHHGHIKIGKH``mXYYZYXXXXXXXXXXXYZYYYYYYYYYYZ[fNI‘¢”cadddcbcdefgggfda_`M$1998$05;fJ.*)-,(''&%%$%%')mebcfab]RMJe´ÃÏÏxY`fgeeefeeecbaaa_][YYYYZ]`chim‰qwnndXXXWXXXXXXYYXWWVVTTTVX[`mƒ‘„€ŠˆŠŒŠˆ…€}vqgplcbc`\ZSLK@$040349:99:767887779;<::98776786547899777778778:=Wbaaa``^]\[ZZZ[ZYWXZ^cfffb^ZXXhdheejqsosr^LJZf˜¾ÄÕ«bccefhijiiiiijjiheb_]\]]KDPHLNSZ^n©âq;:87:7…ÒŽD:9:<=?@ABC@E[K8<;;<855566556?=I_aaaaaa`_^^^^^^]\ZZ[_dghgec_\chkinoklorpkSJLLW¤¿ÈÕ]bdefghiijjjkkjigea^]^^JDNEJNRYbt®ÜU;?@AA:”Ôw;@Vbaaaaba``````a``^[Z\`ehjihe`xtsptpjiljhkcKJJJm¸¾ÎÉr\bcdeffhijjjkjiigd`^^]G>IDHQX_hx¦ÛkDJPVVWn§Z<@4676667<;8CXG78=:73346444338BB[baabbbbbbbaabccb`^\[\afjllkpuquvmnglnoljg\NKI`µ¿ÉÒ{X_bcceefgghhhihggd`^]B:FFDJQZet–ÑycÕóïíîÊ{:@8126CH<25:6111124657K[IKE=742:A=Paacdedcbbbbabbccb`_\[\afjlmmurtsloihkllotiPJKL“ÅÆÖ¶cbdefgeeggghhihggeb_^A6DIEIPZdrŽÍƒQÍñíêäµe9?5217cH/21100//1239?BFLRQOH816BEEMS]Z[\G23@>AVc@453Idbbbbbccbabba_\[[`eilknurmkmnmfhkiiTJJMLÇÇÔ¹a^_adeefffgggggfffca?1?JDy¶ªoOaˆC]okm†…C<@99:K€~V>@8////027GDSLT`\YTE42;@?K]>5649`cbbbbcccbaaba_][[_djmoqmmnqsqliklgTLJLKa¶ÇÍÖŒ_defghggffggggfffecA5/././1>KESEWe^VNG928@;@:10019acbbcccbbbabbba`][[`lkmnrttqrkkmljoeOIKLL‰ÇÉÔÀkdeegihgffggggfffedA08CGS”¿¡\Vl`=FLuV>@??@@@?744545A;9ORL?=<;:9999<=:99:6685447867>JFFE;9Tœ”’da`baabbbabaaabbbb`_\Zpwuojikmnijlvste`YLKMO„ÈÉÐÊucfghhggfeffffge[R8*54<>>=@DHRG-4@?]G?:266334333478?CA@?@B<:9::;:;===BC?8BF3U\[a__aa`bbaaa`aaaaba`_][hikhbbchiqzxsuokmcRKMQ[¯ÉÈÖ©dffhigggefffda^VQ:*4/21.,+.3:753A£ºJQ59:9:<;=<>?=>@HFCCEEDEGIIJLKKJIFNL`z:K`````abbccaa```aaaba```^qlmnkupqisqutt|k\RKKLKzÅÄÎÓ†beefeeedefedbb^T;*2.;4134?BGJMPTX\`bdfiiikkjkllklmnnolmxjm‰hBXa^aabbbcbaa```aaaaa`aa`|‚xuzvihowvxyob\QJKKKRŸÈÆ×¼f`acdddddeedddcY>-0--+..--./018Vz¦WT€\Miqrrrponliggfedcaa`_^\\\^_`adi`ds€iR[`__a_`abaabaaaaaaa`aaaƒ|uxsqiltmigoibccTJKK^f|¹ÃËØŽ\aaccdeddddcb_ZI5+*+-("!!"##".LfSb‹rblfa^[ZWUTSRQQPONMMLMMLLKKMOPTSQUW]wk[``acbacccbbaaabbbaaaba}xwysnq``hqyrjjdYKKJTZX•ÂÂÖ¿f^`bbceddddcb_[VB,+,,-+*))**(;IR‰]owf]RTVPMKKHGFEEDDCCCBBBBAABAACDFFEEFEIXpp_aaeiifedddbbbccbaaaaa‡††††‡‡‡†…†‡‡†††‡‡‡‡ˆˆˆ‡ˆˆ‡‡…„‚|xvtttxyxxzzy{{zwuxyz{{zyz{~€€€††……†††††…†††………††††‡††††††…†‚|xuuuvuvyxxyxz{zywtvvy{zxwy|~€€€……………†††††…†………†††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyywxy{~~€€€…………†††…††…††…………†………„……„………„‚€}yyyxwy|{yxxz{{zywvvxyxxzz{~~€€†……„…„……†……††…………†……„ƒƒƒƒ„„„ƒ~|yxwyz|zzz{{{{zzvvxyyxyzz|~€€„‚ƒƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚‚€~}zywyz{zz{}||zyywvxz{z{x{~€€€‚ƒ„†ƒ‚ƒ„……………„…††„„…‚€€€€€€€}~~~{zzwwwyzz{||{zzxwwwxxyzx{~~€€€†‡†‚‚ƒ„…††……‚„„„‚‚~}~€~}{|~|zyxwxwwy{|}||{yxyxwuvxyy|~~€€„„„‚€€‚ƒ„…††„‚ƒ€}zz{{{||}}}||zz}{zzxxyxyzz||}}|zwyyvuuwwx|€€€€‚„…€~€‚ƒ}yxwwxx{{z{{yyxy{yzzyxyyz{{|}~}|zzyxxwuvuw{~€€}†ˆˆ€€~~}{zyyyyxwxzzxyywwxy{{{{yvwxwz||}~~|zzxxzwwvvw|~~‘‡€€€~}{zyzzxwwxxxuvvvvwz{|zzyuuwwz|{}~}{yxwwyywxy}~~~ŒŠ‰‰€€…‡‡†……zxvxxwwwuutrtuuvw{||zyx{|zzy{|~~}{yxwxxxxz|€ˆ}|‚€ƒ€‚‡ˆˆˆ‰Š‚{xuwyz|~~}}|{zvuwyy{yyz||z{z{}~~~}{yxyzz{}€ˆ€}{~€‚€ƒ††……„…ƒ}wv‚‹ŽŽ†uvywzyy{zyyy{}~~zvwyz|~~~€~|y~€‚‚}vz‹Œ‡…ˆ‡ˆ‡‰‰Œztxyyyzzzyxxz}~~|wstvw{~~~~}~zv€‚~v|‡‚~~‚„ƒ†††‰‰€uwyxy{{yxxy||}zyyvqpqqnrtsx‚…†††‡‡‡€‚‚~x‡‡„……ƒ„†„€‡ˆ‚yyyz|}|{{|zxtoiopsssqojihi}‰‰ˆ‰ŠŠŠŠ‚ƒ„…„„„ƒ„„„ƒƒ~‚ˆŠ…„‡‡‡‡„}…ˆ‚~€ƒ‚‚‚„‚}yuvyzzyzyxxyxu‚„€‚‡Š‰ˆˆ‡‡‡ˆ‰‰ˆ‰ˆˆˆˆ‡…„‡Š„ƒˆŠˆˆ…}„‰…ƒ„„ƒƒƒ„„…†……ƒ€€€‚‚ƒ‚†††‡†„‡ˆ…‰‰ˆˆˆˆ‰ŠŠŠŠ‰ˆ‡……………†ˆ‡‡†ƒ}„Šˆ„ƒ„……„ƒ‚‚‚ƒƒ…†‡†……‚€‚ƒ‡Š‹‰‡†‰‡„‰‰‰ˆ‡‡ˆ‰‰‰ŠŠˆ…†‰‰ˆˆ‰‰ˆˆ‡ˆ‡ˆŠŽŒ„„ƒƒƒƒƒƒƒ€„†ˆˆ‡…„‚~„‡ŠŠ…†Š‹Š‡‰‰‰ŠŠˆ†‡ˆ‰‰Š‰‡‰Ž‹Œ‹‹‹‹‹†„…„ƒ‚ƒƒ‚‚‚€€€ƒ…‡‡‰…{|ƒˆ‰‰‡ˆ‰‡…†ŠŠ‰‰Š‰†‡‡‡ˆ‰‰ˆ‹Œ‰‹‹ŠŠ‰‰ˆ‰‰Š‰„ˆˆ‡ˆˆ†ƒ‚€‚€€€€‚„‡ˆƒ„ˆ‰‰ˆ‡ˆˆ‡‡ˆ‰‰‰ŠŠ‰‡‡‡‡ˆ‰ˆˆ†„ˆ‡ˆˆ††‡†‡„{ƒ‡†‰Š‰‡„€‚‚‚‚€„††††‡…†‹‰…„„ƒˆˆŠ‹Š‹‰††…†ˆˆ†„‚ƒ‚„„„‚‚†……‰Š‹ŒŒŒ‹‰‡„ƒ‚‚ƒƒ‚‚‚€ƒ…„|zvwxwutt€†‡‰ŠŠ‹‹‰‡†…†ˆ…„„ƒƒ‚‚ƒ„ƒ†Ž’“••••”•••‡†ƒ‚‚ƒ‚‚ƒƒ‚€……|xuststt}ƒ‡‰‰Š‹‹‰‡†…†ƒ„†ˆˆ†ƒ‚‚ƒˆŒŠŠ‹‹‹‰†††ŠŒˆ‡„ƒ‚‚€‚‚‚‚€~€||†ˆˆŠŠ‹‹Š‡……‚ƒ…‡†„€Š„|yzŠ‰‚yzy‚‹Š‰ˆ†ƒ€€‚‚‚‚€xxz}}{}€}}~ƒ‡ˆ‰ŠŠ‹‹‰†„‚ƒ‚ƒ€ƒ†ƒ„Š…|}…‹‹„||}ƒ‰‹‰ˆ‰ˆ†ƒ€€‚‚‚€uqquutx}{~}}„ˆˆ‰Š‹‹‹‰…‚€ƒ…„‡‰‡Š‰‰Š‹‹Šˆ‰‰‰Š‹Š‰ˆ‰ˆ‡ƒ‚‚‚‚€uqrsuy}{}v~|†‰‰‰Š‹‹‹‡‚ƒ‚‚‚‚‚ƒ…ˆ‡†‰‰‰‰ŠŒŒ‰€…‰‰ŠŠ‰‰‰ˆ‰‡…ƒ‚€wqrsz†€~oz€~}ƒ‡‰ˆ‰‹‹‹‰‚‚ƒƒ‚ƒƒ†‡Š‡„…†……†ˆ‡ƒ{€……‰Š‡‰‰‰‰ˆˆ‡„‚‚{www}‚€hm{}z~ƒˆ‰‰ŠŠ‹Šƒ€„‡„ƒƒƒ‚…ŒŒ‹ŠŠŠŠŠŠ‹‰ŠŽ‹„‡‰‰‰ˆˆˆ‡„ƒ‚‚€~€~~~jiq{}~…ˆ‰ŠŠŠˆ„ƒƒƒ‚ƒ‚…Ž•–••••–••––”–––Œ…†ˆ‰‰‰‰‰‰ˆ…ƒ‚€€€kklx€~}ˆŠ‰ŠŠˆ‡……„„„……ƒ†Ž’“’‘’’’’’’“’’‘Œ‡‡†‡‰‰ˆˆˆ‰Šˆƒƒƒ„„ƒƒƒƒnmmt}}„‰ŠŠŠ‰‰‰‰‡…„…‡„ˆŒ…†ŽŽ‘‹Œ‹‹‹ŒŒ‹‹‰ˆ‰‹Šƒ€…‡‡‡†‡†‡omimx~|€†ŠŠŠŠŠŠŠŠ‡……†…‡‡}|„Œ‹‹ŠŠ‘’’‘’”••””””“Œˆˆ‡ˆ„€‚ƒƒƒƒƒƒƒklhikz€}}ƒ‰ŠŠŠŠ‹‹‹‰†…†………}‡‡……„‹‘“’ŽŽŽŒˆˆ‡……‚‚nmihes€~|†ŠŠŠŠŠ‹‹Šˆ††„………ƒ‚ƒƒ„‰ŒŒŠŠŠ‰‡ŠŠŠŠŠ‹‹Šˆ‰ˆ‡†………ƒ‚€€ljgfgl{€~}€‡ŠŠŠŠŠ‹‹Šˆ†„„„†„ƒƒ‚ƒˆ‰Š‰ŠŠ‰‡Š‹‹‹‹‹‹Šˆˆ‰‰ˆˆˆ‡‡…‚€€€fggghip}€~}‚‰ŠŠŠŠ‹‹‹Š‡…‚ƒ…„‚‚ƒ…ˆ‹‰‡‰Š‰ŠŠ‹‹‰‰Š‹Šˆˆ‰ˆ‰ˆˆˆ‰ˆ†ƒ€€hhgfghhu€}ˆŠŠŠ‹‹ŠŒŠ‰…‚‚ƒƒƒƒ‚‡ˆŒ‰„ŠŠŠŠŠˆ‡‡ˆ‰Šˆˆˆ…‡‰ˆˆ‰‰ˆ‡ƒjhgegihr€~…Š‹ŠŠŠŠ‹‹Š†ƒ‚‚ƒƒ„‡‡‰ˆƒ…‰ŠŠŠˆˆ††††‰‡‡†ƒ…ˆˆˆˆˆˆ‰‡„‚jhgeijhn}€}€ˆŒŒ‹Š‹Š‹‹ˆƒ‚€ƒƒ„‡†‡‡ˆˆˆˆˆˆ‡ˆ‰ˆˆˆˆˆ‡„„‡‰‰‰‰‰ˆˆˆ‡ƒjjjhihhlu€~ƒŠŒ‹ŠŠ‹ŒŠƒƒƒ‚‚„ˆŠ‰Š‹ŒŒŒŽ‘‘‘‘ŽŽ‡†‰‰‰‰‰‰‰ˆˆˆ‡mljjnkhjq}‚~‡ŠŠŠŠ‹‹ŒŠƒƒ„††…„ˆŽ‘“””••––—˜——˜˜˜˜—Ž‡‰ŠŠˆ‰‰‰ˆˆ‰‰lmnoqpmps|€~}~‚‰‰‰‰‹Š‰‰ƒ‚‚‚‚ƒˆ”–˜˜–•–•••””““”••–’‰ˆˆ‰‰Š‰‰‰‰‰ˆ{zzzzzzz{zz{{zzzzzyyyyyyyyyz|‚„ƒƒƒ„††‡‡‡††ˆ‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzyzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒ„ƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒƒ‚‚€zzzzzzzzzzzzzyyyzzzzzzz{{{{z{~€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x}|{zz{{zzzzzyyyzyyz{{}~}|||}€‚„„„„……†„…‡‡†……„„ƒ„…†‡ˆ†…„‚‚‚€€{‚~|}~|zyzzzzzzzzz{}}~}}ƒ‚ƒ„…„„……††††††………„„…†‡†††„ƒ‚‚‚€ƒ}€€~|{zzyz|zy{||}€€€€€‚„…ƒ„„……„„„„…†††„…†………„…†††††„ƒ‚‚‚}€~}|{zzz}|{€ƒƒ‚‚€‚ƒ………†……………„„„…†…„……„„………†††……„ƒ}~€€€€~}|{}€…††…„„ƒƒ„ƒ„…†‡††……………ƒ„……†…„„„ƒ„„„††‡†…„ƒ‚‚‚‚}~}€€€~ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡††††…………………„……„„ƒƒƒ„†††ˆ†…ƒ‚€‚‚~~|~€€‚‚„†‡†‡‡†‡†…„„„„…‡††…†……………………†………ƒƒƒƒ„†…†‰‡…ƒ€€‚ƒyzx}€‚‚ƒ‚‚‚††‡‡‡…†††……„…‡‡‡ˆˆ†…………„…………………„„„ƒƒ…††††…„ƒ€€‚ƒ~~~€…‡‡‡‡‡†††…†††ˆˆˆˆ‰†…„„„„„„††‡††„„„„…††ˆ‡„ƒ‚‚‚‚‚ƒ„„ˆˆƒ€|{z{||ƒ‡ˆ‡‡†…„ƒƒƒ‚ƒ…†‡ˆˆ†……ƒ„„…†‡ˆ‰‡…„„„ƒ„‡‡‡‡ƒ‚‚‚‚ƒ…„‰‡„ƒ€~€€…ˆ‡‚~}}~~}}}‚‡‡…„„ƒ„„††ˆˆˆ†…„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ‚„„ˆ‡ƒ‚‚€€€€€…ˆ…|||€~}}|}„‡…ƒ…„„„…‡‡ˆ†…„„ƒ„……‡‡…ƒ€‚‚‚ƒ‚…„‚ƒƒ‚ƒ†‰„~||{{||yy|}{‚†…„……„„…‡†‡‡…ƒƒ„„‚~}~€„†ŠŒ‘ƒ‚‚ƒ„‚‚††‚|}~}x{{wz€~{€…„„ƒƒƒƒ„ˆ‡††ƒ}}||zz{{||}}ƒš¡¡Ÿœœšš€€€€‚‚ƒƒ€||ƒxxxw|ƒ{~„ƒ‚€€ƒ„„„…€~~~€€‡…~~{{zz~~}|}}}||}~{{‚€zzzz‡{}€€€€€€€€€€ƒ‰…ƒ„ƒ‚ƒ‚‚‰}|}}zzzx{}~}}||}}}}€||~~{|}}†€{|‚€€€€€€ƒ„‡‡€‚ˆz{€{zzz{{|~}}|}}~€}}}~}~}~€||}‚€€€€€€€~‚‰ ™ˆ‡xz€zz{|}{||~~€~~}}~}|{}|||||}|||}|}€€€€€€€€€~~Š´³–Œ{z~~{~€}}}}}€€~}~{€ƒ}}}}~~}}}~‡…~~~€‚‚€€€€”š•”•–˜™š›€~}}}}€€€~}}„‚~~€~~~‰…~}}~€€œ²¸»´°·»¼¼~}}}~~€€€~~„‚‚€€‚ƒ~}~}|||{{z{|~€€‚‚‚‚…§ËÎÐÒÏÐÓÓÔƒ}}~}~~€€€‚ƒƒ€ƒ…ƒ~zyxvwxxxxxxy}€€€€‚‚€Ž™™®·ÃÆÉÉÈÆ„ƒ€~}}}~~€€€€~€€€‚‚}|{|}}€~~~}||~€€€‚‚€’ª„{ƒ…ˆ‹Š‡‡„‚€~}}}|}€€€€}|‚€‚|||}}z{|}}}~{|}€€‚“½§•’¡ƒƒ’‰‚€~}}}}~€€€‚ƒ‰Š‰‰ƒ||~€|xx{}€€~{|}~~~€€~‘ÄÑÑÊÇÉ¿ŸŒ„ƒƒ‚€~}}}}~€€€‚ƒƒƒƒƒ„ƒ}|~~|xvx}|{|}}~~~~ÂÎÎÌ¿±˜ŒŒ„„‚ƒ‚‚€~}}}}}€€€€€}}||}|{{zz~ƒ{|||~~}~~~~€€‡¾ÏÑË¡…~‚‚‚‚‚‚‚€~}}}}}€€€€~~|}|}}}}|||„‚~~||~~~}}~}~ƒ°Ãµ¸†‚‡‡‰{}‚‹‚‚€~}}}}~€€€€€€{zy||{{|{{{|{{yx|~||}}~~€‚Šˆ‚‚}{‡‡‚ƒ€~}}~ywvwvwwwwvvwvvuu{}~~~~~€‚€‚€‚ƒ‚‚}}‚ƒƒƒ€~~~}~€€€€€{yxvvxxwwwwxxxwxz€€~~~~~~‚€€€€€€‚ƒ‚‚ƒ~~~~~}~€€€€€|{€zxxyxyxyyzzzyz{{{||{|~~}~~€~~~~~ƒ€|€‚ƒƒ‚~~~}}}}~€€€|}„…€{||{|{zyyyxyyyyyyyyz}~€€€€~z|}€‚‚‚€~~~}}}||~€€€€„„ƒ~€€|zzzzz{|||||{{{|~€‚‚‚‚ƒƒ‚‚~zyzƒ•ˆ‚~~~~}}|}~€€€€€‚„…ƒ}||||||}||{{{{{{}‚‚‚€~yxy}„‰…‚~}}}}|}€€€}~€€‚„…ƒ}||}|{{|{{z{{zz{}~~~~€€‚‚€~zxx{‚‚ƒ~}}}}||}€€~€€‚ƒ€}{|€}zz{{zz||{z{}~~~~€‚‚~zxwxz€ƒ‚‚~}}}}|||~€€€€€€€‚‚€}{}‚€{zz{z{|{zz{}}~€~~~~~‚‚~ywyzzƒ‚‚€~|}}}|||}€€€‚€‚„ƒ€}}{{{{{{{{zz{}}~€~}~~~~€€‚~{x{{{~‚‚‚||}}|||}€€‚ƒ‚€€}~}||{|||||}|}}~~€~~~~~~€~||}~}€‚‚‚~}}}}|||€€€€€~}}}||zz|zyzzzyyyy{{€~~~~~~~~}~ƒ‚„„ƒ‚‚‚‚…„‚€~~~~}}|~€€€€€~{yyxwvvvvuuuuutttuvz~~~~ˆ‰‰ˆ‡†………ƒƒ™Ž~~}~}}~~€€€€}xwwvvwvvwxwvxxyxwwww}€~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÉÂÆÃÌÏÍÎÏÏÏÏÍÍÍÎÍÍÍÍÌËËËËÌÌËËËËÌÌËËËÌÌÍÍÌǽ²«¢ ‘€{pglwjihmlrcgbV]a[\c\T[a]_VPOSYW^e`dSTWVTVTTYTPV^][XTLC<9<:421@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÅÁÉÍÍÎÎÎÎÎÍÍÍÍÍÌÌÌËËËËËÌÌËËËËÌËËËËÌÌÎÏÎƳœ¥—vx€q]_^p{l[_mkh[YZ\_XVTO^g_[ROOPXV\ffgOT\`YQPLQQX^a[UPMI@?66521/86ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÇËÊËÌËÌÍÍÍÍÌÌÌÌÌËËÌËÊËËÌÌÌËËËÌÌÍÍÍÍÎÍÌÀ£‰ˆomkmkjkmu}x]_`edYZ[Z[\QSV\bYZYVSQTRVYdcQQX[TLNMRQ\b_aXPFA?;751110/1ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÂÅÁÊÌÊÊËÉÉÊÊÊÊÉÉÊÊÉÉÉÊÊÊÊËËÌÌËËËÌÌÍÍÍÌÌÌÍË´—‘xkpwzs{fcb\eY_cbZZWW`WRXdcQPSVWSNKVOWgQNTXYPLRPPW`^`STTNF?;74220--ÍÍÌÌÌÌÌÌÍÌËÌÌÍÎÈÀÁÀËÎÍÍÍÌÌÌÌÌËÊÊËÊÊÉÉÉÉÊÉÉÉÉÉÊÉÈÉÆÈÉÉÊËÊÊͽ‘‚€rak|mbg`_`VibYWTSN]_]_qlYOOT\TMHSRQYTYZWUNOQUZ_WVYPPYNG=>@<52/,,ËËÌËÌÌÌÌÍÍÌÍÍÍÎƸ»¹ÉÏÎÎÎÍÍÎÏÎÍÎÍÎÍÍÌÌÌÌÌËÊÊËËËËÊÊÆÉÊÊËÌËÇÅâŠyyog_jomb``\X\`URZRRPZefegcgUPVZRPRTRQWRY\`URTQX[]XXSSOQOI=?=6651.2ÌÌÌÌÎÍÍÍÍÍÎÍÍÍÎúżÇÏÍÎÎÍÍÎÎÎÎÎÍÎÍÍÍÎÍÌÌËÉÉÌÍÎÌÊÇÅÉÊËÍÎÌÆÃÀ²™y{ocVRb]Z\_]\a]VTQLMUY_ach^[SOOPNKTQRO^LTUZ[W[Y^YZVQQSNQKFC?B:521.3ÏÎÍÍÎÎÍÍÍÍÎÍÍÍÎþÌÁÅÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌËÉÉÉËÈÄÂÃÁÆÆÈËÌÉÁ½»¨ŒzoTRRQMTWlmc`a[YMC@MWP[`a]VSQJLKHKHPKXNQTUVVZZZ[^XRPSMVMCHB@>3/.--ÏÎÍÌÍÍÍÍÍÎÍÍÍÍÍþËÂÃÌÌÌÌÌÌÌÌÌÍÍÎÍÍÍÍÍÍÍËÊÈÇÅÈÀ½¹Á½Á½ÄÊÈû®¢¥Š}xt]UYXWfg^mee\VUQQUScTOZ]ROVWQKIFNOQYWQPWYUTWWTNPZUQUOWW?5622/.-,-ÎÎÑÔÑÎÌÌÌÉÈÉÉÊ˾ÈÀÀÌÍÍÌÍÍÎÌÌÍÍÍÍÌÌÍÍÍÎËÄÂÁ¾Âº¹¬¿·¿¶½Æ¿¼´¦‡…~p‡vb\_[]ejUn\SZTNST]\VOPSWRQRUXKKJSSQZg\NVWVVUUZPK]XX\\ME=653/--,,-ÍÚéïëãÓÊÉÁ¼½ÀÄÇÀ¾ÆÀ¿ÊËËÌÌÌÍÌÌÌÌÌÌÌÌÌÌÌÌËÄÀº´½¸°¡º±¾´³¾³º³™„{|lebabaT[b[UeZRZ]PSSV[TUTNMMKKMSXUPSOQPb[MX[XRMOXWOXYPLKA8<<:61--,,.ÚîؾÈæè̾¶°¯µ¸¿ÀÂÉÅÁÉËËËËÊÊÉÊËÊÊÊËÊÈÇÇÃÃÀ²«¨¬¯¥œ©«·¯±µªª ‚tvskkQ_e[WcWQ[g\X^XKPRS[``TQLLKMRLUVIOTNQ\]Xa]TOKLYXQWPQVJBB=;;961/.--îÐiq§èØ´¯­­³±¾ÃÆËÈÃÊÍÌÌËËÊÅÉÌËËÊÉÉÇÂý¼²¡šš££˜• ª«¬¬§£˜„slifjm[UYWb_VW^[Z_VSWTSUU`WQTNNSURRTVPPWPRW`Y]WWZUZ^SQZVSP@?F;8776520//èrsp‘Î絬ª®°²ÀÀÅÊÇÁÊÍÍÍËËžÈÌËÊÊƾ¸°±²¸«ž•˜™—‘¡±­¬Ÿ˜˜ŽxieeUf_RLHOX_WRR\e]an^]a\SWNPPOOQVRTRUXR[NN^^]hZa]ge^RPMMJK?<856669ŒIOUOm®çîÎÀàêÅ·Ä÷»¶¾½Êǽ«  –‹œ–š•‰Œ‰Šˆ……‚‚€x~„~|~vxvrqmkfY[caaYRRWW]]aWT]SX]YUQINMNIBCE@?EEDBRGTW[V```\QdaWWWQKHDF975668;>GFsS_V@c”ãáâÝééäæçãäæçêèéìðÅš™”ˆŒ’‘Š‹‹†Œ‡‹ˆ‚‚ƒ{~‹€ywuqsqnhbWZda[QTNP]ebbVOSQe^aWKPQOJHCFQHBJJLFPQ\\YMZdddT`dVOV]PD?@<:8788<@KBQmqG:MwÃsËñìëííìííììéæãä麌‹Šƒ‡ŠŽŠ}‚ˆ‚‹•††z{…ˆ€}Š‚z|wuttwtcVQZZZVYUNZX[_fdbjplP\]SMQQFDENVQQOOOHJWZ\YNO^Z_\]heV^R@:9<<;:::;>==>>889:=<@KOW`ZSWZRWYNLE<;997673ßN38:;><78>DHI[hXTYW[[TGCA:7788785ŒáP09<>CFFCQîïðá‡QIA‘ÓÆÁ¸¾ÁÄÆÇÈÇÇÈÆÃÃÍÀµŒ}|~‚ ¢¤¤ –‡{ywsqqssw‡Ž‘“xffcc[fnbYMPZYUQTZW`YVZdYOIBA@ABA?>CHC>J[jj]LQeQG@:<:7:::9<6ÛW3=<>CIHBVòëÛÈzOIEqºÑØÙÛÜÞßàáàÞÞÞÛÙÜÀ{€zŽ›sjd\URV_j’¤‡db]YWUTSLWxkjf`\]Z]ZNOVTMNT^[YX[][TTLF?AGIB>CRPISZ]hŠlPUXKB;8869?AA>?:~äg6?9;CFKW^¡akwLBMr¿×ÜççèëíìéêîìèéçÞÔz{‡cFMS[ep`DCILD<;>fsqmiY@TlrxfWTURRPOTXPOY[ZVZb\YOSTPHEKQI<>NUNekgr‡j[\RIB>;:=DKHC>>9ƒðp6<5=GHW`bo|modIHKn½ÜãêéëÒ³²ÖŬ¿èæáÝغz|~|}BPs„‘™ŸŒSI8019@DLKFIMRR@\em_SV]YW[TPSPSQZ\Zd^UVQOJIHCGKFDGNNTikkvtcajhWQLKPSRTQGEJ8…÷z488KUXeig‚†~lPHF>lºáåêèèØÃÐàÖÅÉçåæáàÀ{|}iEZœ®±³´±£˜€eipTPNG3233PZH]ibTNWZ`[XRMNWTYb^aYPOUQME@=GS[U[fhmc[XY_bdjlkod]hurmhaephšÝ „†Š“––”•–LJKK@445[£çéêëëììëëéåèêèêéí¾z}|ƒS`Eƒ«¤›•€ À„ˆ§[LNLLC55?sF[ba^RWYYTROOMS[ZUXZTMQYSQS[VotakwkZTW[\]`efl~ƒ~€„€}~„Ÿ¡š•”’Œˆ…‚||iilpqE+1Pæðïîîîïîíìììììíïî±tx{~Oq7;FB=9FJVefhaPLH`p`;5;t\O_a]YZUURUZ\TRYYRNOV_[YZcu€„‹„dcqjTRY[Z[\eiku|y{tt|…š‘elgc_[YYXXWVTTTyxwvwcQTc‚Å×ÚÛÛÛÚÛÛÚØØÙÛÛÜÖªˆ€€q\o257::9JNLKKKJLJE`{bB6€¥}IlpllmjoxˆŒ†…ˆ‹…†“²—}€}y}}nammcX\_^\[`gfisgd`cct}|’mFPTVY[^P@<;<<;:qoonnquwxy|‚†‡…†ˆ‰‰†„…„„„‚†–’‰\s_04@P‡– UB7224M=1477McVIEMW[wvusnkiiggilnnnooqqrqrpptunmssir†G[Pjw~TGGHHIIJFGS‚—wE<<4T›Ca_??B_ebbaaccehlortvwwsqnkklopomlq~‘®Å¿¤†qhggeed`o£[W:W;5998FVC65KuuuuutqkhfdfgiiklllmmnmmnD6;\„KA?92335lopqssrqpkgca`acdefgijjkkmid„WBZ=;:998986677666776777789:<>E=bnhifddgjmmkgca`a`^]^bdiloqrstttpkfegjkllifRR^osŒk@@EIK[liliklnorrssrpmhdbaabbcdeghijkn¨‹KE8247655444455965444345554?WaIPijmmmkhecehmonlifefedb`_aeiloorrstrpjdceikeRNLEHkmPIA;;CKIGHLMSXXYfiklnqrssrrpmhebabbbbdfhhijiŽ„Ze€jA3444334346E9544433451L™¢™U>cilmmmmjfdbdhlmnlifededa__ceilnoprrssqkecgjjj›Zw}yomcQOZceeeeefff`dhjlmopqrrqnmidaa```adfhhhltl`”¤¹˜@122223457445543210/DŠ©œn=[ekllklljhgcccfillgdbbba`^\^adikmopqsrrqkeein£¥qrel`]^YUhsjec`____]adfiklnpqqpopmgca`__`adfghno@Rœ¦¯£‘E24543239JC646889EO¥½©Áœ_:Scijjjjjkkkigcbbeghgfc`__^\[\^_bdgkmnoprqmgfl“ŸtcY^ZXWVV_aZWVUUUVV„[behjkmoqqpppolgca``_`bdfgdj97ŠÇ»Ïê®|dOT[p`E¬ƒ@cl`WY¯ïíÉÓJ>Zjqssrrqpnkjgedbbbcfgeb`_^\\]][[\^adhjlnnonl[ƒi^TUWWWWVVVVVVVVUVVÆ{\dgijkmorspppokfca`_`abdfWK71[ÇÖçíï°…\\\ƒsÑ®Xocb\l©ÊéßÎÄ®œ¡¥§ª«ª©ªª©¦¢Ÿ“}edb`_adedb`^[\]][ZZZZ\acfiklmnVk]XPRVWWYYXXWWWWXVWWÊÂr\dffhklnpqpoookgca___`ad\:2.6}™—®Í®­mdkaT™÷ãmflup“¬ª¬¢Ÿ™˜˜–‘ŽŽŽŒŽ’—š›€fgc``adfeca__^^__]\ZZ]_beijlmR_t_`igY\]Y\]][YZ[\ZZ[¾Î±^[acfijkmrqooqolgb____`b\9/--035GHNvX[jom•ß͈phbx§‚zxspmjheca`ba`aaaabehk‚rjifcaacggfecaaaaa`_\\^adgijjOScY^´µ•”ÈŠLOQWdXXY[i^®ÂΠZ\aegijlmoopqpolhb``^_aU2-.038;AGRYf{¡´ÀÙÚý°…\behiigjpz©‚}xtrpoomelzkkkiebadgijhfeb`a`a_]]]^bcgfILUTPºÉÝÖîç†DBA‰†?;g’„}¶ÅÏŽW^cfgijkmoppponlga`_^aW2-.368=AGQdxºîìîîììíðñî¨lgz‚„„€ƒum‰kgˆŒ‰‡‡…ƒzqipikkjhdbbehjkhfca`____]\^_cbDFJQD•ßÏÑØææuA:^Çg;žÖÌP‘¼ÉÉtXacghjjlnopoqomkeb`_`Z4-./39@KYo­°ïçìììëëìïÚˆX£³¶½ÃÇʬQB;:CŠÓÔÒËËÌÅpRokjjkkhebbadgihgda_^^]]]]]^^BADLMVq~­©Ôû²FB?žÎ[Ò»Yz°ÀÍ´c[bfgjjkmmoopomljea_`\7-./169@Pcx—ªõòòñðïïíë³k_ÕÞÞÝÝÝâ®Ti^]N‚àßÝÕÔÚãši[_ljjjjkjhdb`adhigeca^^^^][\[B>CHMPRW_l»ÉlaS_ÚÄ´ WZ~¹ÃÍZ_deghjlmnnoommlicaa]70//7;cQ15;Y‰‡„{l‡–ZhmÚàÞÞÞÞâ™HZX\YˆÝàßÛÚÞåRpSkjjjjjkihfcb`cegihfb_^]\[]\C>CGKOSWX]bb_hquqžìéèêPJP¼ÁɉX]bcehijlmnnmmlkhca]76//8Jºò’_`j‰lkpsuwz’RjW™¤¦«°³®aJTeaWiÃÙÑƹ¦’\>sRfihhiijkkjgda``cfiigd_]\\]]F=BGJNRUX`defhlpz„ ¼ÑÅ]SMW›»ÄÂqT]_adfgilmnmmmlkgc^79//0:†¯|cn}‰ˆ‹“——–˜¤RlG99:<>=;9::98898HILORV^iuvxwŸæíèèéëlbQLKy¸ÀЩ_]adefhijlmmnmllib4:2-,/137=?>?ABDHXeHr Y`Y=8779867544:?3455;LP<6<:CN”‘QfMGC;EVP@==64443562R–“J7755cR^geehffffghijihfc`^_bghiigM18ILNOQW_gfjok çìéçèæjmu\OLZŸ½ÊË}Zacffghiklmmlkka285-8;.+**))****177{ž}LiIPQJMPNJKPI723455@^–XMPC5TSWh\^dfgffggffghhfc`^_acgikM.9IMQQSY`f[I@ABVcd`\_qokeXOKg¯ÁÎÂr]befghhikllmkbW06628PJA9573**+?Yac„•lFXLOIEEHGGGDKA977?AKSeuSIIMCGHUb]˜€g^eeeffeefhigda_^_afjK*9GIM`’yc\JJ11234FUFXqklneSTf¾ÇÔ¸g^cdfghiijjjf[Q1655,8@A@52/+-/Nv¥‘€hD8A@CRWUJFACXID;9DPPONF@=9=<7:TcQ“oOXceeeedefghhgea_^^`hL'8E@CŽé‹bTQNLUSQNV[OOkmnmhXOQU–ÂÇÕ¤]_abdefggghhaS8512/.+**)+**--=duŽŠwmRGFGMSQLIGEPSKJIJMSWYXPORQSTX[]ommoo^bdedccdeffgggca_^^aJ$7C>Ar¤r^aeW97659??>?nrponcRLK\«ÄÌÒ‰Y_acefeeeffb[K6/..,,+++,.--.4@Ge{se_^\[ZYZ\\\[[\\]]\[[[\\\[[[[]_`gaJ‰“cabddccbcdeeegfda_^`G#4=;=FSW]fnnaUSUZ\^`bnrqrtvfSNIu¿ÇÒÃk]abdefeeedb_WLGEEHJJKKKJKLMNMMEbdp_ZYYYXXXXXYXXXYXYYZYYYYYXXXXY[\cCG_`bccdcccbccdeededca_`F"2987,++--+,,,*(((('&mebceac]RMJj¸ÃÏÍvY_efdeeeedec`_^]\ZYXWWXX[^_agdbqy\TWVWWWWWWWWXXWWWWVVWWXXWWWVUTV[ZYcb_b``abbbcabbbbccbVNK;#33@gH/**.,)'('%%%&(+jgggrmhaRKLNŒÁÆÕ±^^cdccdffffec`ab`_\[YXWXZ^adnb‚vyjcbYVWWWWXWWXXYXWWWUVVVUTTSR[o{dkoloonjihfb__jfbbb_\YQLK="13/02:;:::759::999:===<;98876566786667787788?[aaa```^]\[[[[[[ZXXZ^cffec_\YdikhmoklosqkRJMM\«ÀÈÔ]bddfghhijiijjihgd`]\\^TEJLIMPV[c}ÁÑjQNMNR[ÀËŒE:98899::;;;<=95::;;855666667>AAYaaaaaba````__`a`^[Z[`eijjiey~pkkighimiaOJMLN–¾ÀÔ©Z\_bccdffhhhiiihhea^]]U?DHDLTYbj…ŽECBGHHN™±X<;:9:;6Vˆ^9=B:83234344339C=Obaaabbabbb`aabbba^[Y[aeikljpuqttlmglmolkeXMKHf¸¾ÉÒ{X_bcceefggghhihggd`]]T;AGCIQYcn…ÀÁ^u¥±´¸Â®’B?=2478787::9787658:52278743224@=E^aaabbbbbbaabccdb`^[Z]aejlmmurvulnihkllntiPJKMšÄÆÖ¶cbdefgeeggghhihggeb_^S8@IDFMU^k}¶»ZòòñðñËt:A9139<9937:7322337844@YIG?7432;@=Tbaaaaaaaaaaaaabba`^\Z\`fjmlunnlkljhjimmnhRJJKl¾ÆÏÕ†]cdfggfgghhhggggfd`^T4=IFGMU^jx«ÃS€ëíéåä¹a8@5126Zg<124211001347;KOHKJF>527B@>=:CdifJAC;/.../2HGˆÓЃM\zc9@DBbY=>BEdK=BB@A@A>1/0/02>HGOBXhaVSI:15=7@22102Aaa`bbbabaaaabcb`^[Zpwtnjjknnijlvste`ZLKMQÉÉÑÉtcffghggfefgffffecV*28CGMh}pdo€I;PQLMNG;=OXiG?@@@??>=9776668=A>9CKH@BBB9:<7?BG:ES`a``abaaa`aaaaba`_][hjkhb`chhq{xrtnjndRJMQ_¶ÈÈÖ¨dffhighgefgffgfcZK(34<=?7555543688=JJHD=9?@>=<<<==>>>>>><7J]1Nc_abbaaba`````a``a`````{‚€xv{whhowvxzre]RJKKJU¦ÇÅ×»e`acdddcdffc`_]VL+102;.//3>GLHFAc³»nSa:>?====?ABCDEHQRPPSTSUVVVW\^]^ZXfad†J@[a^_`__aa`aba`a`aa```aaƒ{uxsriktmigniaa`TJKK]c‚¾ÃËØŽ\aaccdeddddddd_O.0/01-323799::Cj’ªN_Šb@BPVY^bghkllmnpooonmmmljjkkkmlnuii‚~NQ]`acbaccbaaaaabba``aaa€~xwxsnqa_gpxrikeYKKJU]^žÂÃÖ¿f^`bbcedddddca^Q70,-+-%#$$%%%$0Qy¢FhŒd^sppnmifdc_^\\[[YWVVVWVUVVVXY\`Z]ftx\Yaaeggedcccaabcba``aaa‡††††‡‡‡†…†‡‡†††‡‡‡‡ˆˆˆ‡ˆˆ‡‡…„‚~|xutttxyxxzzy{{zwuxyz{{zyz{~€€€…†……†††††…†††………††††‡††††††…†‚{yuuuvuvyxxywz{zywtvvyzzxwy|~€€€……………†††††…†………†††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyywxy{}~€€€…………††……††…††……………………„……„………„‚€zyyxwy|{yxxz{{zyxvvxyyyzz{~~€€†…………„……†……††…………†……„ƒƒƒƒ„„„ƒ|yxwyz|zzz{{{{zyvvxxxyzzz|~€€€„‚ƒƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚‚€~|zywyz{zz{}|{zyywvxz{zzx{~€€€‚ƒ„†‚‚ƒ„……………„…††„„…‚€€€€€€€}~~~{zzwwwyzz{||{zzxwwwxxyzx{~~€€€‡‡†‚‚ƒ„…††……‚„„„‚‚~}~€~}{|~|zyxwxwvy{|}||{yxyxwuuxyy|}~€€„„…‚€€‚ƒ„…††„‚ƒ€}zz{{{||}}}||z{|zzyxxzxxzz||}}|zwyyvuuwwx|€€€‚ƒ…€~~€‚ƒ|yxwwxx{{z{{yyxy{yzzyxyyz{z|}~}|zzyxwvuvuw|~€€}†‡‰ƒ€€~}{zyyyxwwwzzxyyxxxy{z{{yvwxwz{|}~}|zzxxzwvvvv|~~~‘‰€}{zxzywwwwxxuvvvuwz{|zzyuuvwz|{}~}{yxwwyywxy|~~~ŒŠˆ‰…‡††††€zxvxxvwvuutstvuuw{||zyx{{zyy{|~~}{yxwwwwwz|€ˆ}|‚€~ƒ‡‡ˆˆˆŠ„|yuwxxyzzxxwwxuuwzy{yyz||z{z{}~~~}{yxyzz{}€‰€}{€‚€ƒ…………„…„~xv{„‰‹ŒŒŒŽŒŒ„vvywzyy{zyyy{}~~zwwyz|~~~€|y€‚‚vv†Ž‹‹‰ˆ‰‹Œ~txxyyz{zyxxz}~~~}wtuvw{~}}~~}}~xq‚ww‡†€~„„…††ˆŠ„vwyxy{{yxxy||}zzyvqpqqostssy‚‚‚€‚‚‚€~~x{††ƒ‚„„ƒ…†‚†‰…{yyz|}|{{{zxtpiopsssqojhhhn‚‰Š‰Š‹‹‹‚‚„…„ƒ‚ƒƒ‚ƒ‚‚}€‡Šˆ…‡‡††…‚‰„€‚‚‚‚ƒ‚|xtuxyzyzyxwxxtz†…ƒ‚‡‰Š‰ˆ‡‡‡ˆˆ‰ˆŠˆˆˆˆˆ…„†Š…‚‡Š‰ˆ‡‰†‚ƒ„„ƒ‚‚ƒ„„…†„…‚€€€€‚‚„ƒ„…„‚ƒ„†‰‡‰‰ˆ‡ˆˆ‰ŠŠŠŠ‰‰ˆ……†‡†…ˆˆ‡‡…~‰ˆ„ƒƒ……ƒƒ‚‚‚ƒƒ…†‡†……‚€‚ƒ…ˆ‹Š‰…†ˆ…‰‰‰ˆ‡‡ˆ‰‰‰ŠŠ‰……‡‡††‡‡‡‡†…„„‰‹Œ…„ƒƒƒƒƒƒƒ€€„†ˆˆ†…ƒ‚€‚†‰‹‰„ˆ‰Š‡‰‰‰Š‰ˆ†‡ˆ‰‰Š‰‡†ŽŒŒŒ‹‹‹‹ŒŒŒŽ’ˆ„„„‚‚ƒƒ‚‚‚€€€ƒ…‡ˆˆ‡z€†‰‰ˆ†ŠŠˆˆŠŠ‰‰‰‰‡‡‡‡ˆ‰‰ˆŠŽŒŒŒŠŠŠ‰‰Š‰ŠŠ‰ŒŠ†ˆ‡†ƒ‚€€€€€‚„‡ˆ‚}†ˆ‰ˆ‡††……ˆ‰‰‰ŠŠ‰‡‡†‡ˆ‰ˆˆ‰„‰ˆˆˆ‡‡‡‡ˆ†~€‰†ˆˆˆ†„€€‚‚‚€€€„‡…†‡Š‰ˆ‹ŒŠˆˆƒˆˆŠ‹Š‹‰††…†ˆˆ‡…„…ƒ„„„„ƒ„……ˆ‡ˆˆ‰‰ˆ†„ƒ‚‚ƒƒ‚‚€‚…†~{€€}zz€†‡‰ŠŠ‹‹‰‡……†ˆ†…ƒƒƒ€‚ƒƒƒƒˆŠŒŽŽ‘‘‘‘Žˆ…ƒ‚‚ƒ‚‚ƒ‚‚€€„†zvrqrrqq}ƒ‡‰‰Š‹‹‰‡……†„„†††…ƒƒƒ„†Ž“““’‘‘“’‘“’‹ˆ‡„ƒ‚€€‚‚‚€ƒ‚ƒ€}{{zz{||†ˆˆŠ‹‹‹Š‡……ƒƒ…‡‡…ƒ€‚‡‰„€‡ˆ†~~‚Š‰ˆˆ†ƒ€€‚‚‚|{}€~€~}}~ƒ‡ˆ‰ŠŠ‹‹‰†…‚‚ƒƒ„„€€‰‡}yy~‰‹†{yx~‡‹‰ˆ‰ˆ†ƒ€€‚‚‚‚zssvzvx|{~}}„ˆˆ‰Š‹‹‹ˆ…‚‚ƒ‚€€ƒŠ‡…ƒ‚†‹Œ‰‚‚ƒ…ˆ‹Š‰ˆ‰ˆ‡ƒ‚€‚‚‚‚zrqrttx||}v~~|†‰‰‰Š‹‹‹‡‚ƒ‚‚‚‚‚‚ƒ‡Š†Š‹ŠŠ‹ŒŒŒˆˆŠŠ‹Š‰‰‰ˆ‰ˆ…ƒ‚€‚‚zrqru{ƒ‚}}oz€~}ƒ‡‰ˆ‰‹‹‹‰ƒ‚‚ƒ‚‚ƒ„†‰‰…‡‡‡‡ˆ‹‹ˆ†‡ˆ‹‰‰‰‰‰ˆˆ†ƒ‚}ttsx„ƒ€€hm|}{~ƒˆ‰‰Š‹‹Š„€ƒ†„‚ƒƒ…†ŠŠ…††………†‡…€€„†ˆŒ†‡‰‰‰ˆˆˆ‡„ƒ‚€||{|€€jir{}~†ˆ‰ŠŠ‰Š…‚„„‚ƒƒƒŠ‘’‘‘‘‘‘‘’””‘„…‡ˆ‰‰‰ˆ‰ˆ…ƒ‚€€€€€~kkkx€~}ˆŠ‰‰‰‰†ƒ‚‚ƒ‚ƒƒ‚„‹”•””•””•”••””••‘‡‡‡‡‰‰ˆˆˆ‰‰‡„‚‚nmmt}}„‰Š‰‰‰‰ˆ‡……„…†„…ŒŽŽ‘‘‘‘’‘’‘ŽŒ‰ˆˆˆˆ‰ˆˆˆ‰‹‹…€‚†…†††††omjny€~}€†‰ŠŠŠŠŠŠ‰†……†††‹ƒ€‡ŽŽŽŽŽŽŽŽŽ‹ˆˆ‰‹†€‚…††…………klhikz€}}ƒ‰ŠŠŠŠŠŠŠˆ†…††…‡{€ˆŠ‰ˆ‡ŠŽ‘““““”•””““““‘Šˆ‡†…ƒ€€€€nmhhes€~|†ŠŠŠŠ‹‹ŠŠˆ††…„…ƒ€€…†„ƒƒ‡Ž‘Œ‹‹Š‹ŠŠ‹Œ‰ˆˆ‡†…„ƒƒ~€ljgffl{€~}€‡ŠŠŠŠŠ‹ŠŠˆ†„„………‚ƒƒ}‡Š‹ŠŠ‰Š‡ˆŠ‹ŠŠŠ‹Š‰‰‰‰ˆ‡‡‡……‚€€€€fggghiq~€~}‚‰ŠŠŠ‹‹Š‹‰‡…ƒ„……ƒ‚‚€€‡‰Š‰‰Š‰ˆˆŠ‹‹‹‹‹Š‰ˆˆ‰‰ˆˆˆˆ‰†ƒ€€hhgfghhu€}ˆŠŠŠ‹‹Š‹Š‰†‚‚ƒ„ƒ‚ƒ€‚ˆ‰‹‡†‰ŠŠŠŠŠ‰ˆ‰‹Š‰ˆˆˆ‡ˆˆˆˆ‰ˆ†‚jhgegihr€~~„Š‹ŠŠŠŠŠ‹‹‡‚‚‚‚ƒ‚…ˆŠ‹„€‡ŠŠŠŠ‰‡‡‡‡‰‰‡ˆ……‡ˆˆˆˆˆˆ†„ihgeijhn}€}€ˆŒŒ‹ŠŠŠ‹‹ˆƒ‚‚€‚ƒƒ†‡ˆˆ†„‡‰‰‰‰‡‡††…ˆˆ‡‡„„‡‰‰‰‰ˆˆˆ†ƒjjihihhku€}ƒŠŒ‹ŠŠ‹Œ‹Š„€‚ƒ…‡††ˆˆ‡ˆˆˆˆˆˆ‰ŠŠ‰‰ˆˆˆ…‡‰‰‰‰‰‰ˆˆˆ‡mljjnkijq}‚~‡ŠŠŠŠ‹ŒŽŒ…‚ƒ„„ƒƒ†Š‹‹Ž‘“’“”’‘…ˆŠŠˆ‰‰‰ˆˆ‰‰lmnoqpmos|€~}~‚‰‰‰‰‹‹ŠŠ…‚„„……ƒ…‹‘“•–––––——˜——˜˜˜˜•Šˆˆ‰‰Š‰‰‰‰‰ˆ{zzzzzzz{zz{{zzzzyyyyyyyyyyz|‚„ƒƒƒ„††‡‡‡††ˆ‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzyzzzzzyyyyyxyyyyyxyyyy{~‚ƒƒƒƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyzzzzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒ‚‚‚€zzzzzzzzzzzzzyyyzzzzzzz{{{{z{~€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…‡‡‡‡…‚ƒ‚‚€€x||{zz{{zzzzzyyyzyyz{{}~}|||}€‚„„„„………„…‡‡†……„„ƒ„…†‡‡†…„‚‚‚€€{‚~|}~|zyzzzzzzzzz{}}~}}ƒ‚ƒ„…„„……‡†††††………„„…†‡†††ƒƒ‚‚‚€ƒ€€~|{zzzz|zy{||}€€€€€‚„…ƒ„„……„„„„…†††„…†………„…††††‡„ƒ‚‚‚€~€~}|{zzz}|{€€ƒƒ‚‚€‚ƒ…………„…………„„„…†…„………„………†††……„ƒ}}~€€€€~~|{}€…†……„„ƒƒ„ƒ„…†††………………ƒ„…………„„„„„„„††‡†…„ƒ‚‚‚‚{~}€€€~ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡††††…………………„„…„„ƒƒƒ„†††ˆ†…ƒ‚€‚‚}|~€€‚‚„†‡†‡‡†‡†…„„„„…‡††…†………………………………ƒƒƒƒ„†…†‰‡…‚€€‚ƒyzx|€‚‚‚‚ƒ‚…†‡‡‡…†††……„…‡‡‡ˆˆ†…………„…………………„„„ƒƒ…††††…„ƒ€€‚ƒ~ƒ~~~„‡‡‡‡††††…†††ˆˆˆˆ‰†…„„„„„„††‡††„„„„„††ˆ‡„‚‚‚‚ƒ‚ƒ„„‡‰ƒ€|{z{||‡ˆ‡‡‡†……„„……†‡‡ˆˆ†……ƒ„„…†‡ˆ‰‡…„„„ƒ„‡‡‡‡ƒ‚‚‚‚ƒ……ˆˆ…ƒ~€€€„‡ˆ„~~~~~~‚†‡…„„ƒ„„††‡ˆˆ†…„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ‚„„ˆ‡„‚‚€€€€€€ƒˆ‡||}~}}|}ƒ‡…ƒ„„„„…‡‡ˆ†…„„ƒ„……ˆˆ…ƒ‚ƒƒ‚ƒ…ƒ…„‚ƒƒ‚‚…ˆ†€||{|}}{z|~|€†…„……„„…‡†‡‡…„ƒ„„‚‚~}~€€‚ƒƒ„…„‚‚€‚‚ƒƒ„ƒ…‡…~|}|zz|xx~{~„„„ƒƒƒ„…ˆ‡††ƒ}~||zz{{{|}~~‹™  Ÿ  €€€‚‚‚‚‚‚„„‚}|‚yxyvy‚||ƒ‚€€€€ƒ„„„…€~}~€€‹Š‡…ƒƒ~~}}}}}|}}~~€|{„zyzy|…„||€€€€€€€€€€€ƒŠ„ƒ„ƒ‚‚‚‡ƒz{{{zzy{}~}|||}}}}||~{{||~†„||~‚€€€€€€~€ƒ„ˆ‡‚€€ˆz~|{{z{{|~}}|}}~}}}~}~~~‚}||€‚€€€€€€€~ƒ‚‰ƒ‰}y}‚}{z{}{||}~€~~}~}{|}|||}}|}|||z~€€€€€€€€€~~€¦»›Ž}y|{y||}}}}}€€~}}|}~}|}||}~}}}}€~~€‚‚€€€~•¦——Š„†Šˆ‹Ž€~}|}|~€€€~}}„~~~}~~~‰Š~}}~€‚‚€€€‰¡©®«¦¨­¯¯}}}}~~€€€~}‡ƒ€€‚‚€~~}|}}~€€€‚‚‚‚€€’½ÆÈÉÃÄÉÍ̓€~}}}}~~€~€‚ƒƒ€‚„„}{zyyyxxxxyz~€€€€‚‚ƒ—ªÁÉÐÕÔÕÕÕ„ƒ€~}}}}~€€€€€€€ƒ„|zyzz{}{{zzy}~€€€€‚‚„¡‰Š•›¡¤¤ ‡„‚€~}}}|}€€€€}|€€€~||}€~}}~~||}€€‚‚¯³•†}†„}€‚“‰‚€~}}}}~€€€€€‚†‡‡‰†}||~~}yxz}~~~|{}~~~€€€°ÎÎÀ°½»¡‡‡„„ƒ‚€~}}}}~€€‚ƒ„…††‡ƒ}|~€€~yvx|€~{||}}~~~€€®ÍÏÏË姖„„ƒƒ‚‚€~}}}}}€€‚‚ƒ}|}~~|{yx{€€}{||}~}~~~~€©ÍÏ΢Œ~‚‚‚‚‚‚€~}}}}}~€€€€€€€€€|||||||{{{}ƒƒ}||{}~~}~~}~ ÌÉÍ«€~„ˆˆ{}‚‹‚‚€~}}}}}€€€€€€}|||~}||}}}}|{~~~~~}}~~€Œª™£€€‚ƒ„}{ˆ‡‚ƒ€~~}}}€‚€€{yxyzyzzzyyyxxwvy€€~~~~}~~~€‚‚ƒ‚‚‚‚‚}}€‚ƒƒƒ€~}}}}€€€€{wvvvvvvvvuvwwvux€~~~~~~‚€‚‚‚ƒ‚‚ƒ}}~~~~€€€€{{zxvwwxxwwxxxxyy}~€~~~~~~~€‚€ƒ€|€‚ƒƒ‚~~~~}}}~€€€€}{€‚~zyyyyzyyyzzyzyyyyzz{}~~~~‚€~~z|}€‚‚€~~~}~}||~€~~„…ƒ}||}}|yyxxyxyzzzzzzz{~€€‚‚‚‚‚‚‚~zzzƒ•ˆ~~~~}}|}~€€‚ƒƒ€€‚‚{{|{||}}}}||||{|€€‚‚‚‚ƒ‚€~ywy}„Š…‚~~}}}}|}€€€~€‚………||||{||||{z{zz{{~~~€€€€‚‚€~zxxz‚‚ƒ~}}}}||}€€~~€ƒ†„~||}}{{{{{zz{{z{|}~~~~€‚‚~zxwxz€ƒ‚‚~}}}}|||~€€€€€~|z{yz{zz{|{zz|}~~~~~~~~‚‚~yxyzzƒ‚‚€~|}}}|||}€€€€€€€‚„~||€ƒ}{zzz{{{zz{|}~€~}~~~~€~{x{{{~‚‚‚||}}||||€€‚‚€‚ƒƒ€}|~|z{{{|{{z{||~€€~~~~~~~€~|{}~~€‚‚‚‚~}}}||||€€‚€}}}||{{|{|{|||}}}~€~~~~~~~~~‚‚„„ƒ‚‚‚„„‚€~~}}|||}€€€€€€~~||||zz{{yyyyyxxwyz|~~~~~~~ˆ‰‰ˆ‡…………ƒƒ™~~}~}}|}€€€€€€€€~|yyxvvuuvuuuuuuutttv|€~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÎÍÏÏÏÎÍÎÍÍÍÍÍÌËËËËÌÌËËËÌÌÌËËËÌÌÍÍÌǽ²¬¡Ÿ‘€{phlwjjilkrcgbV]a[\c\T[a]_VPOSZW^e`dSTVVUVTTYUOV^^[XTLD=9<:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÎÎÎÍÎÎÎÍÍÎÌÌÌÌÌËËËËËÌÌËËËËÌËËËËÌÌÎÏÎƳ›¥•vyr]^_q|m[^kjg[YZ\_YVTO^g_[ROOPXV\fggOU\`YQPLQRX^b[UPMI@?76521/86ÌÍÎÎÍÍÎÎÎÍÎÍÍÌÌÆÁÅÀÇËËËÌÌÌÍÍÍÍÌÌÌÌÌËËÌËÊËËËÌÌËËËÌÌÍÍÍÍÎÍÍ¿¡‰‡omlmkjlpu}y^`_bcYZ[Z[\QSW\bYZYVSQTRVYdcQQY[TLNNRQ\b`aYQGA?;851110/1ÌÍÍÎÎÍÎÍÍÍÌÌÌÌÍÇÁÅÂÊÌËÊËÊÊÊÊÊÊÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÌÌÍ˳—‘xkovzs|ecb\fXabbZZWV`WRYdcQOSVWSNLWPWgQNTXYOLROOX`^`TTUNG?<84320--ÍÍÌÌÌÌÌÌÍÌËÌÍÍÎÈÀÂÀËÎÎÍÎÍÍÌÍÌËÊÊÊÊÊÊÉÉÉÊÉÉÉÉÉÊÉÈÉÆÈÉÉÊËÊÊͽ’‚€rak{lag`_`ViaWWTSN]`^_qlYOOTZTMITRRYTYZXUNOQU[_XVYQPXNH>>A<520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÎÎÎÎÍÎÍÍÌÍÍÍÍÌÌËÊÊËËÌËÊÊÆÉÊÊËÌËÇÅâŠxxph_jlla``]W\`URZRRPZefegcgUQVYSPRTSQWRY\aURTQY[]XXSSPQOI>?>7651.3ÌÌÌÍÍÎÎÍÎÎÎÍÍÍÎúļÇÏÎÎÎÎÎÎÎÎÎÎÍÍÍÍÌÌÌÌÌËÉÉÌÍÎÌÊÇÅÉÊËÍÎÌÆÄÀ±™{{pcVS`\Y[_`^a^WTPJMTY`adh^[SOPPOKTRSP^LTUYZWZY^Y[VRQSNQKFC?B;531.3ÏÎÍÍÍÎÎÍÎÎÎÍÍÍÎþÌÁÅÎÍÎÍÍÍÍÍÍÍÍÍÌÌÍÌÌÌÌÌËÉÉÉÌÈÄÂÃÁÆÆÈÌÌÉÁ¾¼©~xqVSRQMUWmodaa[XMD@MXQ[`a]VSQKLKHLHPKXNQTUVVZZZ[]XSOSMVNCHA@>3/.--ÏÎÍÌÍÍÍÍÍÎÍÍÍÍÍÄ¿ËÂÃÍÌÌÌÌÍÌÌÌÍÍÎÍÍÍÍÍÍÍÌÊÈÈÅÈÀ½¹Á½Á½ÄÊÈû®¢¤Š}xs^UWYXgh\ned[TUQQUTcSOZ]ROVWQKIFNPQYXQPWYUTWWTNPZTRVOWW?57220.---ÎÎÑÕÒÍËÌÌÉÈÉÉÊËÿÈÁÀÌÍÍÌÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎËľº¹¬¿·À¶½Æ¿¼´¥†„|n‡vb\_Z\ejUn[R[TNST][VNPSWRQRUWKKKSSRZg\NVWVVUUYQK]XX[[MD<6540.-,,-ÍÚéïìâÓËÉÁ¼½ÀÄÇÁ¾ÆÁ¿ÊËËËÌÌÍÌÌÌÌÌÌÍÍÌÌÌÌÌÄÁº´½·° º±½´²¿´º³˜‚yzkfbabaT[aZUeZRZ]PSRV[TUTNMMKKMSYUOROQQcZMY[XRMOXWOWXPLJA8=<:72.-,-.ÛîЭºáêξ¶°¯µ¸¿ÁÂÉÅÁÉÌËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÃÀ³«©¬¯¥œª¬¶¯±µ«ª ‚svskkR^dZWcVP\h]X^XLPQS[``TQLLKMRLVWJOTNR]]Xa\TOKMYWQWPPVJBB>;;962//.-íËygm›ãÛµ¯­­³±¾ÃÅËÈÄÊÎÌÌÌÌÊÆÊÌËËËÉÈÇÂý¼²¡šš¤¤˜•¡««¬¬§£˜„slhekm[UXVa_VV^[Z_VSWTSUU_WQSNNSURRUWQPWPRX`Y]WX[U[^SRZVSP@?F;87775300/æŒqso‹Éè·¬ª®°²ÀÀÅÊÇÁÊÍÍÍÌËžÈÌËËËÇ¿·°±±¶«ž”˜™—‘£±¬¬ ˜™xieeUf^QLHOX`XQQ[e]`n[\`\SWNPOOOQVRTRUXR[ON^^]gZa]ge_RPMMJK@<856779<@?£O>PFbŒçïÎÀâèÁ³À÷·³»ºÊǾ¬  –‹œ–š•‡‰Šˆ…„‚€y~„~|vxvqqmkfX\d`aXRRXW]]aXT\SX^ZVQINLNIBCEA?EEDBRGTW[W`a`\RcaVWWQKGDF975678D[͆íìëííìííííëçääè´Œ‹Šƒ‡ŠŽŠ~‚ˆ‚Œ–‡†z|„ˆ€}Š‚y|wtttvsbVQZYZVYVNYY\_defkolQ[\SMQQGDENVQQOOOIJWZ]YNN^Z_\\geV^SA::<<;::9:>==>><`_`bdkkpÇòìèÚÑƾ¸±¬¯´¹·¼¯ƒ|~{}„€€€‚†}|€†‡~~}usuurrsf\^[NPZXZ\SU^ae^]UZaaSUMLKRLHA=CPSU_ZZafl`\^W\TYSSUVTA:897799868:???=JJLMLOTp¿ïìØ…[TPNSKKKPPSwxz}€}y{€}}€~x|}~„„€|z|tptyxsokg\SMKXV[RTW[ZVHW_Z]VY_VKMUOMJLOOPSUYW[md[[ZZVYXRVKLJ?874]{:7988;BECETSSTw¥¢žäÙ¹TDFJTeTOQNKFG}y{€~x}‚}w~{|~{|||€}xwomwxzqg`aSRRD@MVVUXZOKITXZ\UZd_SMLIKNMMJHJNWWZ\`Z^WURWOKMHA<8776TŠ?889;=TaYXJ?=:@JNWaZSWZRWYNLE<;997673…ãP28;;DGI[hXTYW[[SGC@:7787795ƒáP09<>BGGCOîïðí´\ME[¼ÂÌÃÅÉËÐÑÑÐÏÏÏÎÌÏÊŸŠ|{~ˆ‘™¥ª¬¨¤¡œš”‘”“•—™ž¢¥¤Ÿ€ffcc[flbYMPZYUQTZW_YVZdYOICB@ACA?>CIC>JZij]LQeRG@;<:7;;::=7vÚW4=<>CJICSíìÒÈ”XJET©Ï×ÜÞÞàâãäããâáàÞÜ×™z‚€|{¢š‰„|sgc`aj€h`b\WZ]begqif`\\X\YNOVTMOS^[YX[][TULF?BGJB=BQQJT[^gŠnQVXKA;886:?BA??;zæ_8?9KUNdkgt‡j[]RIA>;:=EKIC>?:ñd8<6=HGV_fnxzjpMHIX¥ÙßêééÚš•»ÇšÑëááÛш}|u{k>Uco|†ŠU87/,046H``bceZ@Qen`SV]YX\TPSPSQ[^[d]UVQOIHHCGJGDHNNTikhsqdbjhWQLKPTSURHFL:~òj777QXYdee}}|nTEEAL–ÚãçêäæÑÍßáÒÎâçèãáÙˆz}y‚QEu˜¡§©¬”xaIEGNMLI>466@[B[ibUNVZ`YXSMNWUZc^aXPOURME@=HU_X\fhmc[WX^bdjlkof]ivsnjcdeK‚ð|OMYuuvxzzFEGIG925B{ÓíëëêëìéëêååêéêëíØ…{|{zHViµ¶µ³¯©£½–w„JNMA9655aTOaa^SWYYTROOMS[XSXZTMPYSQU[Yq€ubjwkZTW[]]`ffl~„‚ƒ€}‚‰€•§À¨ žœ˜”•nnprw^-1>kÉòïïïïððïîïïííïïðÎ{xz~hYW;kpdYWY[Ž‹uˆuKKM_`I33NrE^a^ZZUUQTYZPPYVOMNT\ZX[ew€…‹‚bcqjSQY[[[\diku~{yyss|ˆ‹•œ|“Š}yuqonlgeeyyxwxoVW\p¥ÌÌÊÍÎËÈËÌËÏÑÓÓÔÕÀŠ‚{„TsJ22333=LLIKNLJLEIsmX3FnMbrnmnkpx‡‘‡‰Š‹°—€€{w}|lbmmcW[`^]\`gfiqfc`bct|w›{W[XUQPQNMLLKJJppoopptwyyxz|}€€‚€€‡–’ƒ‚O~;36DTH?MMMMMMLJLJqwU6J‡žgXtuvwyxwtttuvwyz{‚‰–¥²´¬š‹|rlklmmlhda]]][Z_^ZZ[\\_cea‹YK]agnswa;77787omkkllnpsuutsssvx{}}~~}}}{yvtuxs[353^€FJE?>>DLKPFZuf:6.`†Ihijloqttuuutsqqqqpopt~Š™¦¬¬¨ ~sggfdb_[ZWZXWWXWVXWUb‰P‰œž¤©¬°£T<65;83ƒIk^OP^dccbaccehkoqsvwwuqnljmopomlp}Ž«ÂÁ§ˆrhggffeb]e ][>W948:9L]PCAM\uuuvtpkhffehkllmnoopponlooXOTv{R˜W]mOx_UGJNQUQNOMVqŽ„Q=9;4qb?bD:6Difdb`a_^^acflortvvvtokghjnomkjkyš¼Ë¶uhfijhd{ŸST;R649=9>G:338Suuuuutqkhfdfgiikmllmmnmmo^7<9iq?YFTV8AAAENSVSMHA?CA]\LLD77:8<<571Blmifcbaa```achlprsttvurmhgikmonljr‹«ÀÁ©Œwlhn”NK6?57Nh^C734439qrstuutqnifeddehijjjkllmm]4234>K:64347;;654446758878:;=<:<>IF04@L_ijmljgcba`aa__bfjmprtvvvtpkggjmnmlihr²­|`Z{”CF?B>IEJDAVwqCDD<653jlnoprqqqplfb``aabddegijkkmk‘¬JTD;99878866777666756677789:;>APolijhgeefknnlgcabba_]^_dhlnprrsttrjedfikkkiVT_qv_=~qPEB@SG?GHDNK@iklmorrssrpmhdbabbccdfgiijji”ºYJ<78886655565654554444556775AHOgljlkkiecehmonlifeffdb`_aeiloprrstrpjedeijl[OWY_r\?cm@78;?AAEIL_pofiklnqrssrrpmhebbbbbbdghhjjhƒ¥`LL?05655444544455333332@’«¤ŒKGjkmlklljigdccfillhdbaba`^]^adikmopqsrrqledhko«—hzqtlkeTQ`mmlkiijj^adfiklnpqqpopmgca``_`adgghjpdRƒ££¹z:0/0112454/5532101.:€ªž‘QCdhlkkkkllljfcbbeghhfc`__^]\\^_bdgkmnoprqnjdgq¢œpldg\YZYWimc_\YYYY„[bdhjkmoqrpqpomhcaa`_`bdfghqW0y¦¿£»BF>?<<87Kv@]cjjjjijkkkjgecbacfgeb``^]\]][[\^adijlnnnnkih—•q_U[YWWVVZ[XVUUTVWÆ|[dgijkmosspppokgcb```abdeb^N,Q«ÐÁðè§\X[m—[tÃW_tm`Y|«ÜóåÍÈc:;P¨ÑÍÌÆÇÇ»eZqjjjjkkhdb`adhihfca^^^^][\]Y?@EJNR]p–•Ø÷šLG?ŽÛj~·VWy·ÃÍ[_degijlmnnoommlida`aK...037DHNXot·àÙÔÐÌ¿¼À•Vm¤àÝÞÝÞÞâ€\f^XO¥äßÛÕÕÜßwqQikjjjjkihgca`cegiigb_^]\\\\Y??DHMQTWXa˜šyrk`^ÐÙ¼OJO‡»ÁɈX]acehijlmnnmmmkhdabK///2?X»;>C=6882754v›QjTA;::998898Dt]HC636:<97KhPfedeeffghihjiheca__bghiifdH35bLaf[_egfffeeeeghhhda___afilE-;INQS[^_dWB44269<>;qklnfSUg†»ÆÔºi^cdghhiijjjkcYC-951;LHC;78.**0J\^k–‡XOVMMGCDGFGEFJ;766@BQWggOILK?MG^_l“ydaeddeeefghhheb`^^`djD);GHKo¬cVGM:;;>=RbPklnlgZOOQÂÇÕ¦^_abdefhhhhhbXE075209885.-,-/:cƒ–‡wZ:>D@HRURIH?LTHB9;HQPONF@<9?<5?Yrr–qQ^dcccceefggggdb_^^`fC&;D@C”ç†_UVMHRPMJOOInrpnneSMKUŸÄËÓŠY_acefffegfd]J40//-)%%%''''(/Orƒ’‚ocGABEOUPIDCCTNGFFINSWWULMNNPRVY_s^jLRbccccbbdeeeegfda_^]a@$9A=Afˆi^ceX<544:BBCmrqstwgTNIh¹ÇÐÄl]abdefeeedb_WC53555667776899?GTyop_^\[YWXZ[[[Z[[]]]\[[[\\\[\\\^`afQFV_gecccbbcceeddedcb_]_>"6<;=DNV]hpsk^]_bcdemmljjke\RML’ÄÈÖ¢Z_`bdeeeddcb\SOLLMNOPPPPQRSSRNLJucoZZYYXYYYYYYYYYYYYZYYYYYYYYYYZ[_^>Laa‰tacdbbccdcccddddb_^="57659?CKUV\_[XTQOPQmebcd`b]SMJb²ÃÍÎwY`eedeeeddda\\ZWVVWVVVVWXZ[\\cMD[pVXWXWXWXXXXXXWWXXWVXWXXXXXXXXY[fEXebb__`bbbbccbcbcdde`ZR:#62=F-(())&&%%$###$$ifggqmhbRKLK‚¿ÄÒ³_^cdbcdeeffda`_^^][ZYXWWY]`bdlZ]prRVVWWWWWWXWWWWWWWVVWWWXXXWWVUUW]U^eccjnobaaababbbbbb^PKI7"42CaI3.-21.-.//-+*+llgfnmpiSLLKV¤ÁÈÒ•`_bbcceffffcabbba_][YXXZ]`chndzsu^`\VWWWWXXWXXXXXWWWVVWWWWVSP[msTg`bac°××¢a\^`ebbba`\XRMJ8"32-(,8::9976;@BCA@?hqjgmnrqf[NLKq¶ÀÏËr[accceffffededddb`][YYZ[]_bciƒx{†Œ‡bXYYZZZZZZZZYXYXYTSVZ_gr‚œ©¬š Ÿž ž°ÑÓ΢Ž„svrbaaba``XL<%30,).3111/.-/234655svmjqpnlnoYLKN¿ÅÖ¯_acccefffgffffefeb_][ZZZ\^^Zp|‚¹ÐË’cZ\]^]^^]]\[\[`„y‡›§«°³³±­ªª©©¨§§¥¢¢£ª®±³‰baaaa`__]SA.1,++3+%%$#"""!!""""qpkhlmhfijdLJK[©ÀÉÕˆ\cdcegggghggggffeb_\[Z[[\]UmskˆãçàÙŽ`ddggikllmuqk‡‹­¯¨£ž™•‘ŽŒŠ…ƒ‚~~~~}~~…Œbhh```_^\XRC5--/1/123689:999410olmdhkotqmhQILKv¼ÀÑÂk`ddeghgghhhhhhhgea^][[[\[ScZOvåÚÆëÙtlqrssuvvy€|™kŽŠ„|tmf`]XTQPNNNNLKKKKNSSZ]qr_a`__^ZWTNJHIHILPTY_``__]VQQcchfejqsosr_LJYd—¿ÄÔªbbddehihhiiiiiihgda_\\\\ZRYNIVµ°›êãzq{}€‚…‰“˜‚Šb`YQLIHHIKONO]_ONMLKJIGEEDCCIabaa`_`^[YWVUUUUVUUX]aeggda^[flmhnojlospkSILLW¤ÀÈÕ]bddfghhijiijiiigda^\\\\MGMJLQWd¼»v“±º¿ÄËÐÕÝÝÓhJEDBCCBCCCB@>@@:9998778899888B]aa````_^]\[\[\[[XXZ^dhiihe`zusptpjjkjhkdLJJIm¸½ÍÉs\bceeffhiiiiiiihfc`]]\]LDOIJLRXakÕ±kefegeÙ³‰I<:9987777777543789:866677667<;Oaa``aaa`____^]^_][Z[_dikkifx}plkighjmiaOJMKK¾ÀÔ«[\`bcceffhhhiiiihea^]\^MBMEHLPW_p¥åm.56671póÉr<;:<=?ABCDDmw=00000000123:?@FLRPRN<24B=B”XUVV]bbbccbbbababa_]Z\`lklmrusprkjlkjoePJKKL‹ÆÉÕ¿jcefgihgfghhggffgfcaD-@JDVsx_Vi’ D}¸¶´µ­„A>>127_€}{B441////124AEFMS\Y[]I32>?9™íh/44?acbbcbbbabaaaa_\Z[krurprpkoijieirbKKJKK]µÉËÕ—`eefhhgggghgggfffecD1CFBD}l=?>:::Rˆ†ƒL?A7//..029IDTJU_[XRF529A9^©_1653Xcbbbabaaaaaaa`^\[pvtoiijmnijkvste_ZLLMPƒÇÇÐÉubffghggfefgfffggfdE09EE^ÃáµZSiˆSj„X=@@CJ>?LOJCAB5344442384@:6/3>Sbbbbaa```a`aaa```^rmmnktnpisqutt{k]SKJLKxÄÃÍÓ‡beegfffdeggffff`Y<(58BEGJS]dw?4`TCBAA7=RPG>?>=;:98:;;98895565446866=O=?6255344323467@CA@?@F:899::89:;=BDA9)3/54.,+2B\_`bcabbaaaa`aaaa`aaaa}xvysnqa`gqyqijdZKKJT[Y™ÃÁÕ¿f^`bbddddcddddcX?)1.62/338=?@AB@r£°QftF?BCCCDIORSSX[adddcbehiiikkmlmjiumf‡mAUa^bhifdcccaaabba`aaaa‡††††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…„‚~|xutttxyxyzzy{{zwuxyz{{zyz{€€€††……†††††…†††……†††††‡††††††…†‚|yuuuvuvyxxywz{zywtvvyzzxwy|~€€€……………†††††…†………†††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyywxy{}~€€…………†††…††…††……………………„……„………„‚€~zyyxwy|{yxxz{{zyxvvxyyyzz{~~†……„…„……†……††……………………ƒƒƒƒ„„„ƒ~|yxwxz|zzzz{{{zzvvxyxyzzz{€€„‚‚ƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚‚€~|zywxz{zz{}|{zyywvxz{zzxz}€€€ƒ„†ƒ‚ƒ„……………„…††„„…‚€€€€€€}~~~{zzwwwyzz{}|{zyxwwwxxyzy{}~€€€‡Šˆ‚‚ƒ„…††……‚„„„‚‚~}~€~}{|~|zyxwxwvy{}}||{yxyxwuuxyy{}~€€„ƒ…‚€€‚ƒ„…††„‚ƒ€}zz{{{||}}}||z{|zzzxxyxxzz||}}|zwyyvuuwwx}€€€ƒƒ†‚€~~€ƒƒ|yxxwxx{{z{{yyxy{yzzyxyyy{{|}~}|zzyxwvvvuw|~€€}‡‡Šƒ€€€~~}{zyyyywwwzzxyyxxxyzz{{yvwxwz||}~}|zzxxzwvvvw|~’Œ€~{zxzywvwwwxvuvvuwz{|zzyuuvwz|{}~}{yxwwyywxy|~~~‹Š‰‰ƒ…‡ˆˆ‡ˆƒzxvyxvwvvuussuuuw{|}zyx{|zyy{|~~}{yxwwwwxz|€‡}|‚}‚‚‡ˆˆ‰ˆ‰†~xvwwwxxwvuvvvuuwzy{yyz||z{z{}~~~}{yxyyz{}€€ˆ€}{€‚……„…ƒ„…€xuv~ƒ†ˆ‰ˆ‡ˆˆ‡ƒwvywyyy{zyyy{}~~zwwyz|~€€~~€|y~€‚€€€€wu€ŽŒŽŽ‘ƒtxxyyzzzyxxz}~~|xttvw{~}}~}}~wq}~wtƒ‰ƒ€……‡‡…‡Šˆwwyxy{{yxxy||}zyxvqpqqostrrv{~~ytv}~‚‚‚€~xw„†‚‚ƒ‚„†„†‰‡~yyz|}|{{{zxsoioosssqojhhgfu…ˆˆˆˆ‰‹‚‚ƒ…„„ƒƒƒƒƒ‚ƒ~€…‰ˆ…‡††††€ˆ…‚‚‚‚‚ƒ‚}xuvxyzyzyxxyxusˆ‡…†ŠŠ‰ˆ‡‡ˆˆ‰‰‰‰ˆˆˆˆˆ‡…†Š‡†‰Šˆ‡ˆ‡ƒ‚ƒ„„ƒ‚‚ƒ„„…………‚€€€€‚‚„ƒƒ…ƒ€ƒ†‰‰‰‰ˆˆˆˆˆŠŠ‰Š‰‰ˆ‡……ˆ‡„‡‰ˆˆ‡~ˆ‰„‚„……„‚‚‚‚ƒƒ…†‡††…‚€‚ƒƒ†ˆ‰‰‡„ˆ‡‰‰‰ˆ‡‡ˆ‰‰ŠŠŠŠ†…††……††‡†…„‚ˆŠŠ…ƒ„„ƒ‚ƒ„ƒ€„†ˆˆ†…ƒ‚€€„ˆ‹‹‡†ˆŠ‡‰‰‰Š‰ˆ†‡ˆ‰‰Š‰‡…Š‹‹‹‹‹ŠŠŠ‹‹ŒŽ‘‹ƒ„„ƒ‚ƒ‚‚‚€€€ƒ…‡ˆ‰ˆƒ|~„ˆŠŠ…‡‹ŠŠŠŠ‰‰‰‰‡‡‡‡ˆ‰‰ˆˆŽŒ‹‹‹Š‹Š‹ŒŒŒ…†‡†ƒ€‚€€€€‚„‡‰…|}„ˆˆˆ‡‡‡†…ˆŠŠ‰ŠŠ‰‡‡†‡ˆ‰ˆ‰Œ…†Š‰‰‰ˆ‡ˆˆˆ‰‚‰‡‡ˆˆ‡„€€‚‚‚‚€€€‚„†„ƒ…‰‰‰‰ŠŠ‰‰„‰‰Š‹Š‹‰††…†ˆˆ‡‡€€…‡‡††……………€‡†‡‡ˆˆˆ†„ƒ‚‚‚ƒ‚‚‚€‚…‡……„ƒˆ…€€€†‡‰ŠŠ‹‹‰‡……†ˆ‡…ƒ‚ƒ‚‚ƒ„ƒƒ††ˆŠŠ‹‹‹Œ‹Šˆ†ƒ‚‚ƒ‚‚ƒ‚‚€€ƒ†„|xusttsr}ƒ‡‰‰Š‹‹‰‡……‡…„„……„‚‚‚ƒ…„‰‘“”””••••••ˆ‡„ƒ‚‚€€‚‚€„„€}{xvvuw||†ˆ‰Š‹‹‹Š‡…†„ƒ…‡‡†„‚‚„‹ŽŒŠ‹Œ‹‹‰‰‰‰Œ‰‰ˆ†ƒ€€‚‚‚€~€‚‚€€€}}~ƒ‡ˆ‰Š‹‹‹‰†…ƒ‚„……„‚€‚€…‰€{z|…Š‰~{zz†‹‰ˆˆˆ†ƒ€€‚‚‚‚~vvw|{z}€{~}}„ˆˆ‰Š‹‹‹ˆ…‚‚‚‚ƒ‚„ƒ‚ˆ‰||~ˆŒ‹€z{}…ŠŠ‰‰‰ˆ‡ƒ‚€‚‚ƒƒurrtrtx|~v~~|†‰ˆ‰‹‹‹‹ˆƒ€ƒ‚‚‚‚ƒƒ‚„ŠˆˆŠ‰ˆ‹Œ‹‰‡ˆ‰‰‹‹‰‰‰‰‰ˆ…ƒ‚€‚ƒtqqsv{}{oz~}ƒ‡‰ˆŠ‹‹‹‰„‚‚‚‚‚ƒ„ƒ†Š†ˆ‰‰‰‰ŒŒŒ‡‚‡‰‰ŠŠ‰‰‰‰ˆˆ†ƒ‚€vrrt{…hm{}z~ƒˆ‰‰Š‹‹‹†€‚„„‚‚‚„†ˆŠ„…††††ˆ‰‡€{‚…†Š‰ˆ‰‰‰ˆˆˆ‡„ƒ‚{xxx~€€jiq{}~…ˆ‰ŠŠŠŠ‡€……ƒƒƒƒ„ˆŠŠ‰‰‰ˆ‰‰‰ˆ‡‰‹‡„‡‰‰‰‰ˆ‰ˆ…‚‚€~€~~kjkx€~}ˆŠ‰‰‰‰†‚‚‚‚‚‚‚‚‡’–•”••”•”•–••–—–ˆ…‡ˆ‰‰ˆˆ‰‰‰†„‚€€€€nnmt€}}„‰Š‰‰‰ˆ†…„„ƒ„…„ƒ‰‘”““’’’“““““’“‘Š‡‡‡ˆ‰ˆˆˆˆŠ‹‡ƒƒ„ƒ„„„„omjnx~|€†‰ŠŠŠŠŠ‰‰‡……‡†„‹‹‡‹‘‘‹ŠŠˆˆ‡‡‰‰‰ˆˆŠŒ‰ƒ€…‡‡‡‡‡‡klhikz}}ƒ‰ŠŠŠŠŠ‹‹‰†…††…Šƒ|€‰Œ‹‹ŒŽ‘’’’’’‘‘‹ˆ‡‡†„€‚‚‚‚‚ƒonhges€~|†ŠŠŠŠ‹‹‹Šˆ†‡‡„‡‚}}…ˆ‡‡…†Œ‘“”“’’’’‘‘‘’Žˆˆ††…ƒ‚~~ljhgfl{€~}€‡ŠŠŠŠ‹‹Š‰ˆ†…„……ƒƒ…ƒ‚‚…‹ŽŽŒ‹Š‰ˆ‰Š‰‰‰Š‹‹‰ˆˆ‡‡†……ƒ‚€€€fgghhiq~€~~ƒ‰ŠŠŠ‹‹‹‹Šˆ…ƒ„……„‚‚€„‰ŠŠ‰‰Šˆ‡Š‹‹‹ŠŠŠŠ‰ˆ‰ˆˆˆˆˆˆ†ƒ€€ihgfghhu€}ˆŠŠŠ‹‹‹ŒŠ‰†ƒ‚„…ƒ‚‚‚‚„ˆŠ‰‰‰‰‰‰Š‹‹ŠŠ‹‹Šˆˆˆ‰ˆˆˆˆˆˆ†ƒ‚jhgegjhr€~~„Š‹ŠŠŠŠ‹‹Šˆƒ‚ƒƒ‚‡‰‹‰„†ŠŠŠŠŠ‰ˆˆ‰ŠŠˆˆˆ‡‡ˆˆˆˆˆ‰‡„ihgfikhn}}€ˆŒŒŠŠŠŠ‹‹‰„‚€‚ƒ‚ƒ‡ˆ‹ˆ„‰ŠŠŠ‰ˆ‡‡‡‡‰ˆˆ‡„…ˆ‰‰‰‰ˆˆ†„jjjijihkt€~‚ŠŒ‹ŠŠ‹Œ‹Š…‚~€‚ƒƒ„‡‡ˆ‡††ˆˆˆ‰‡‡‡†…†ˆ‡‡†„†ˆ‰‰‰‰ˆˆ‰‡mkjjnkijq}‚‡ŠŠŠŠ‹‹†‚‚ƒ…‡ˆ‡ˆ‰‰‰Š‰‰Š‰‹ŒŒŒ‹ŠŠ‹†…‰Š‰‰‰‰ˆˆ‰‰lmnoqpmos|€~}~‚‰‰‰Š‹‹Œ‡ƒ…†„ƒ„‰ŒŒ‘’”””•”“‘’Š†ˆ‰ŠŠ‰‰‰‰‰ˆ{zzzzzzz{zz{{zzzzyyyyyyyyyyz|‚„ƒƒƒ„††‡‡‡††ˆ‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzzzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒ‚‚‚€zzzzzzzzzzzzzyyyzyyzz{z{{{{z{~€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…ˆ‡‡‡…ƒƒ‚‚€€x||zzz{{zzzzzyyyzyyz{|}~}|||}€‚„„„„………„…‡‡†……„„ƒ„…†‡‡†…„‚‚‚€€{‚~|}~|zyzyzzzzzzz{}}~}}ƒ‚ƒ„„„„……‡††‡††………„„…†‡‡‡…ƒƒ‚‚‚€‚}€~}{zzzz|zyz{|}€€€€€‚„…ƒ„„……„„„„††††„…†………„…†††††„ƒ‚‚‚|€~}|{zzz}|{~€€ƒƒ‚‚€‚ƒ…………„…………„„„…†…„………„………†††……„ƒ{}~~€€€€~~|{}€…†…†„„ƒƒ„ƒ„…†††………………ƒ„…†……„„„„„„„††‡†…„ƒ‚‚‚ƒz€}€€€~ƒ„„…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒƒ„†††ˆ†…ƒ‚€‚‚||~‚€‚‚‚‚„†‡†‡‡†‡‡…„„„„…‡††…†………………………………ƒƒƒƒ„†…†‰‡…‚€€‚ƒyyx{‚‚‚ƒ‚…†‡‡‡…†††………†‡‡‡ˆˆ†…………„…………………„„„ƒƒ…††††…ƒ‚€€‚ƒ~€„~~|z}‚‡‡‡‡†††††††‡ˆ‡ˆˆ‰†„„„„„„„††‡††„„„„„††ˆ‡„ƒ€‚ƒ‚ƒ„„†‰…}|zz{|~‡‡‡‡‡††…†…†††‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡‡‡‡„€‚‚‚‚„…ƒ‡Š…ƒ€€€„‡ˆ‡„€€€€€€€‚†‡…„„„„„††‡‡‡†…„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ‚„„ˆ‡…‚‚€€€€€€‚ˆˆƒ~}|}€~}}}‚‡…ƒ…„„„…‡‡ˆ†…„„ƒ„……ˆ‡…‚ƒƒ‚ƒ„ƒ†…ƒ‚ƒƒ‚„ˆ‡‚||||~~}z|~|~†…„……„„…‡†‡‡…ƒƒ„„‚€}|~€€€ƒ‚€€‚‚ƒ‚ƒ‚„‡†€|}|zz|zw{~|}‚„„ƒƒƒƒ…‰†††‚~}}||zz{|||}~}’•—˜š›€€‚‚‚‚ƒ„ƒ~|{xzxw‚}{ƒ‚€€€……„„…~~~€€€‡š›—”~~}|}~}|}}~~}{†}xyxy…~{€€€€€€€€€€€ƒŠ„ƒƒƒ‚ƒ‚‚ƒ‰}{zzyzy{}}}||}}||}|{}|z{{|„†}|~€€€€€~~€ƒ„‰†‚‚„‰{|~}z{{||}~}}|}}}~€~}}~}}~~~‚ƒ~|}€‚€€€€€€~ƒƒƒ„†y{€€z{z}|||}~€€~~}~€}}}}|}}}}}~}|{}€€€€€~Ž¬¢‹…xzyz{}}}}}€€~}}}|{||||||}}}}}}}~€‚‚‚‚€€}Œ²«–Œ~|€ƒ…€~}}}}~€€€~}}~Š…}~}}€~~~~„Œ~~}}€‚‚‚€€‰ˆ–žŸžœ ££}~}}~€€€~}~€Š‡€‚€€€ƒƒ€~~~~~~€€‚‚‚‚‚¥¹¾Áº·¾ÃÀ~}}}}~€~€ƒƒ‚‚„ƒ€€~}||||}}|{|~€€€€‚‚‰©ÈÏÒÕÒÔÕÖ„ƒ€~}}}}~€€€€‚€ƒ„}zxwwwwxxwww{~€€€€‚‚€’—ŒŸ©µ·º¼¹‡„‚€~}}}|}€€€€€~}€€|{|}~~‚€~~}||}}€€‚‚€˜±Š}}‚ƒ“‰‚€~}}}}~€€€€~€ƒ„ƒ„†€||}|{{}}}~}|}~~~€€~™Æŵ Ÿ­›†„ƒ„ƒ‚€~}}}}~€€€‚ƒƒ†ˆˆ‰‡|}~zwx{€€|{|}~~~~€~•ÆÐÑÌÊȽ¡„„ƒƒ‚‚€~}}}}}€€‚‚ƒ‚‚ƒ„}|}~{wwy~€|{|~~}}~~€~ÅÎÎʺ¨ˆ‰‚‚‚‚‚€~}~}}}~€€€€€€~}||||{{zy{ƒ~{||}~~|}~}~‚ŠÂÏÐÉš€~„ƒ{}‚‹‚‚~}}||}€€€€€}|}|{||||||…€~}{}~~}~~~~€…°º­±„‚††}{ˆ‡‚ƒ€~~}}}€‚€€€€€}{|{~}}}}||}~||{z~~~~~~~~~‚†‰†Š‚‚‚€||€‚ƒƒƒ€~}}}~€}xwvwvwwwwvvwvvuu~€€~~~~~‚€€‚‚ƒ‚~‚ƒ‚‚ƒ}}~~€€€€}ywwvwwwwxwwxwwwx|€€~~~~~~~€€€€„€|€‚‚‚‚‚~~~}}}~€€€€{|{xxxxyyxyyyzzzz}}}}}}}~}~}€~~~~‚~z|}€‚€~~~}}}}|~€€€~{€…‚|z{zzzzzxyyxxxxxwxyy{~€‚€€~zyzƒ”‰~~~~}}|}€€~ƒ…„€}~€{zyyyyz{{{{zz{{|€€‚‚‚‚ƒƒƒ‚€~yxy}„‰…‚~}}}||}€€€€‚€ƒƒƒ‚}{|{{||}}||||{{{}~‚‚‚‚€~zxx{‚‚ƒ~}}}}||~€€~}€„„…‚}|||{{{||{z{{{z{}~~~~€€€‚ƒ~zxwxyƒ‚‚‚€~}}}}|||~€€€~€€„…€}z||z{{zzz{{{z{}~~~~~~‚‚~yxyzz‚‚‚‚€~}}}}|||}€€€€€€€}z|‚~zzzzz{||{z{}}~~~€€~{x{|{~‚‚||}}||||~€€€€€‚†„}|‚€{zz{{{{{zz{}~€€~~~~~€~{|}~~€‚‚‚~}}}||||~€€€‚‚‚}}~~~z{|{|{||{|}~€€~~~~~~ƒ‚„„ƒ‚‚„ƒ‚€~~}}}}|}€€€‚€€~~}}||{|||||}|}}}~~€€~~~ˆˆ‡ˆ‡…„……ƒƒ˜Ž~}~}}||€€€€€€~|{{{zyyzyxxxxwvvvxx}€~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍÌËËËËÌÌËËËËËËËËËÌÌÍÍËǼ³­ €|pgkuijilkrcgaV]a[[c\T[a]_VPOSZX^e`dSTVVTVTSYUOU]][XTLD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÎƳš¤”v€y€q]^^q|l[]kjg[YY[_XVTO^g_[ROOPXV\ffgOU\`YPPKQRW^a[UOLI@?75521/75ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÁÅÀÇËËËÌÌÌÍÍÍÍÌÌÌÌÌËËÌËÊËËËÌÌËËËÌÌÍÍÍÍÍÍÍÀ¡‰†omlmjilrt|y^`_bcYZ[ZZ[QRV\bYYYVSQTRVYdcPQXZTLNMRQ\b``YPGA?;851110.1ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÀÅÁÊÌËÊËÊÊÊÊÊÊÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÌÌÍ˲˜’xjnvzs}dc`\eXaccZYWU_WRXdcQORVWSNKWOWgQNSXXOLROOX`^`TTUNG?<84320--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÈ¿ÁÀËÎÎÍÎÍÍÌÌÌËÊÊÊÉÊÊÉÉÉÉÉÉÉÉÉÊÈÈÈÆÈÉÉÊËÊÊ̼’Ž‚qak{kbg_^_Vh`WWTSM[`^_qlYOOT[TMITRRYTYYXUMOQUZ_XVYPOXNH>>@<520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÍÍÍÍÍÎÍÍÍÍÍÍÍÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅâ‰xxph_jlla_`]W\_UQZRRPZdeegcfUQVYSPRTSQVRY]`TQSQY[]XXSROPOI>?=7651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎúĻÇÏÎÎÎÎÎÍÎÍÎÎÍÍÍÍÌÌÌÌËËÉÉÌÍÎÌÊÇÅÉÊÊÌÎÌÆÃÀ±˜{{pcVS`\Y[_`^a^WTPJLTY_ach^ZSOPPOKTRSP^LTUYYVYY^Z[VRPSNRKEC=A;531.3ÏÎÍÍÍÍÍÍÎÎÎÍÍÍÎþÌÁÅÎÍÍÍÍÍÍÌÌÍÍÍÌÌÍÌÌÌÌËËÉÉÉÌÈÄÂÃÁÆÆÈËÌÉÁ¾¼©~xqVSRQMUWmodaa[XLC@LWP[`a]USQKLJHLHOKYOQTUUUZZZZ\XROSMUNCHA?>3/.--ÏÎÍÌÍÍÍÍÍÎÍÍÍÍÍÄ¿ËÂÃÍÌÌÌÌÍÌÌÍÍÍÎÍÍÍÍÍÍÍËÊÈÇÅÈ¿½¸À½Á½ÃÊǹ®¢£‰}ws^UWYXgh[ned\UTQQVTbSNZ]ROVWPKHEMOPYWQPWYTSWWTNPZSQWPWW?56220.---ÎÎÑÕÓÎËÌÌÉÈÉÉÊËÄ¿ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ¾Â¹¸«¾·À¶¼Ç¾¼´¥…‚zm‡vb\_Z\ejUn[R[TMST\YUMORXRPRUWKKKSRRZf\NUVUVTTYQL\WWZ[LC=6440.-,,-ÍÚéïìäÔÊÈÁ¼½ÀÄȾÇÁ¿ÊËËËËÌÍÌÌÌÌÌÌÍÍÌÌÌÌÌÄÁº³½¸¯ ¹°½´²À³¹²–xxkfb`baT[aYTdYQZ]OSRV[TUSNNMJKMSYUOQOQQcYMX[WQLNWWPUWPKJA7=<:62.-,-.ÛîÕ·ÄãëϽ¶°¯µ·¾ÁÂÉÅÁÉËËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ²ª¨¬¯¤œ©«µ¯±¶ª©ž€rurjkR]dZXcVO]h\W^WKPQRZ_`TPLLKMQLVWJNTNR]]X`\SOKMYVQWPOVJBB=;;962//.-ìÆ|hožãÜ´®¬­³±½ÃÅËÈÃÊÎÌÌÌÌÉÅÊËËËËÉÈÆÂý¼±¡™™¤¤˜•¢«ª««¦¢˜‚rlgdkl[TVU`_VV\ZZ^USWSSUT^WQSNNSURRTWPOWPRX_X\WYZV\^RRYWRO??F;87775300/ãˆtspËè·¬ª®°²À¿ÅÊÈÂÊÍÍÍËËžÈÌËÊËÇ¿·°±±¶«ž“Œ˜™—¤±«¬ —™xicdTe^PLHOW`XQQ`g\`n[\`]SWNPONOQVRTRUXQ[ON^^\fYa\ge_RPMMIL@<856679<==<\[[]^gij¥ïíêÕÀ²¤™’‹ŒŽ™Ÿ¥®‘|~{}„€‚‡}{€€…‡~~}usuurrsf\^[NPZXZ\SU_`e]\U[a`STMKKRLHA=DPSU_ZZafk`\]W[SXSSUVT@:888889868:???=JIJLKLPeŸêëà–OLHFONFFFHGM~y}€}y{€|~|€~x|}~ƒƒ|z|tptyxsokg\SMKXV[RUW[XTIX^[\WY_UKMTOMJLONPSUXVZlcZ[ZZVYWQVKLJ?873a…:7888;BECEWUTT„˜Ã‰ÑÙÇlDEDOd_QTOII>svzx}‚}w~}z{~z{|{~€~€}xwomwxzqg`aSRRD@MVVTWYNKITVZ[UYc]RMLIKNMMJHJNWWY[`Z^WUQVNKMHA<8776P>899;BÑçz}~}||wxywvvzyx{~xvupokpwphg^QVWUXY^[WFFQX^W[XWUU[TNICD@??>=:@JNW`ZRVZQVZMKD;;997673†æR16;;;AHJJ¶´¯¢–q]QMÐÚ¬…ˆ”›Ÿ¡¢¢ Ÿœš²ÒÙŒz‚~uxyuvxxx|}~€„„ƒ€}zwsihojhf_O^k\SSWZXPOWWZb]WU[YUMHD@@??<79>DGI[hXTZW[[RFB@:7787795ƒâP08;CIC>JZjk]KPeQF?:;97:;::=7uÚW4=;=CIIBVéëÕ¾£eKEJÍ×Üááâåææåæçåãâàݽ€€|{Š¤ ¤ ™Ž…~xsspnjjklsy‰Œ‘}gf`\[VZWMNVTMOS][XXZ\\SUMF?BHJB=BQQJT[^jnQVXKA;875:?BA??;zèd7?9LTNckivˆj[]RIA>;:>ELIC=>9ók8<5=HIY`gvv…qrUHIKÒÞèêåç©”®Õ«·êãâßÛ©y|vq…XDNT\gr_AADF@:8U‹™žQB7334;>;B^œ™W430g‹IhgedbabcdeimprtvutrqnmnnopolluŒ©¸¹¯š†tihhfc`_[WYTTRŠr^m˜“ƒwi\_`V=8FwvurnkjiihilnnoooqqrqrppqsuwxxspkALKHn‚pNLE<::9755Q“G:62NMcjfcddbcbabbdgknqsvwwuqnkjlnpomknzŽªÁ¨‰shggffec`\^œa^>[>2444EXUHDOuuuvtokhfeehkllmnnoppomlmoqnmsud}xGYNlxƒUEGFFHHHEEQƒ—~G<<6H L[fE?D_gdb``_^^`cfkoqsuvvtpkggjmnmkjjv—¼Ì·‘vhfijihcu¡UW=V76988GSF;:IuuuuutqkhfdfgiikmllmmnmlmmQ=;]SnnR|LTQCFLU[^\PQGQYm]D<:6>Y6IJ9;1Upjgcbaa```abfknqrtuvtrmggikmonljr‹«À¬Œtljik‰˜ON9G3337@A=?AB?=>:6:6;KGGK>79:D;2149^llljfcba`aa__`ejlpqsvvutpkggjmnmlihr‹¯ÆÁ¡uh|–‡KG6<7:_plJ62344lnpqrrrqpkgc``acdffghijklkN4/-.JR;:8867975565667777756779:G=Znkjhgddfknolgcbbba^]]_dhlnprrsttrjecfikkkjcNTall”`@NGKECNm[@FGA96iklmorrssrpmgdbabbccdfgiijjj|À†BM:998877656656656545556678::>Adnjkkkiecehmonlifeffdb`_aeiloprrstrpjedeikkiRT^nv†Q>‘„NA>=GA?EGFRYfiklnqrssrrpmhebbbbbbdghhjjis´HB54776655555455455443455655DWLMfkklmmjgdcdhlmmlifeeeda__ceilnoprrssqlebfhkZJPKQ`bHLQ957=CCBFKM^j`ehjlmopqrrqnmidaa``abdghiiik™|U\eG35443334445I:5443334538y˜š[@]kllklljigdcceillhdbaba`^]^adikmopqsrrqlfdff_aw\O}mc_QGMSVWWXXYY]acfiklnpqqpoomgca``_`adgghhjwr_’¤µy422122244585553222115p¬œŸvAUjkkkkkllljgcbcdghhfc`__^]\\^_bdgkmnoprqnjedgw¶˜ouiofedVSeqnmjhgg„[bdhjkmoqrpqpomhcaa`_abdfghokAb ž¬¡l4-011003687631224:7v¬¡»Ÿn>Oeikkkkkllkjgecaadfgeb``^]\]][[\^adijlnnnmlhit¤”oeadZXXWWfh^[XVWWÆ}[dgijkmosspppokgcb```abddffj2D™Â²ÁÓ}dWHLNUL>šx:S^YTO€’ÝìÈЮO3Gafjjjjijjjkjhdb`_adecba^\\]\\[ZZ[\abfiklljjk_m\TXXWVVVWXVVUUUUÉÃt[dffhklnprpooolgca`__`bceUP34sÏÈæóà¥zX[^ŽŽ_¿™Oshc\cŸÅñéÒÕ„<;Qiossssrqqnkieghc``aceedb`_^^__^[Z[]_cfijkmnlT…}`XSUWWWWWVVVVVVVV½Ìµa[acfijlmrqooqolgb`_`_abdU91/?¡¶¹Êçµc_aZV‡ñÜcedmjwµ¾Çµª³Ÿ¦¦¦©«««¬¬¬ª¦£™ˆnhifc``cghgedaabaa__]\^adgjlmnjOnu]YPSVWVYZYZYWXXXY¬ÁÏ¢Z\aegijlmoopqpolhc``^_abY5/,/8>=Y_e–`eqpaˆàÓ|glkcŽ±ž¤¡ ›˜•“‘ŽŽŽŽ”™š”kjkifbacfijhfecaaaa_]^]_bcgilfN^iXggo€\UY[\ZZ_`]yµÄÎW^cegijkmoppponlga`__`bQ0--.168=BKRWbp€“£ÈÊ«ŸŒxp£ˆ{zspnkgdca``__```aabfgz{jlkjhda`dhjkifca`____^]^_beiaIO[OcÀ»¼Áî¤KECJ`IH\OºÈÈtXacfhjjlnopopomkfb`__bR/,/579<>DO_r­ÖÜàæìëèééä·ˆ\^_afgdgms™ƒ}xwrqpnlgdzqjjkkieaaadgiigda_^^^^^]]^_c[CHNLPÂÞà×æîJE;‚®C:†Zx­¿Í´b\bfgjjkmnoooomljeb`_aV0,.059@IUg‚™°ñèîîìëììíð´obv€‚ƒ{z}{m‰yh€†…‡…„‚{yhukjjjkjhdb`adhihfc`^^^^]\\\^W?BGLFª°Ê¿Ûîz?=KÃB«VXz¸ÃÍ[_ceghjlmnnoommmjdb``X3-./27?DJNOTe‚‹Ûë”UKA}âzqOJO‡»ÁɈX\`cehijllmnmmmlhdaa[4../36I]E?HUj¹¶³¨£¢Ÿ––¢tW}ÈÞÝÞÞÞàÌZg_\Q`ÎâßØÕÙàÉelUmihiijkkjgda`_beiigd`]\\[\\V?>DHLPUVW_‚ptqiaÄç²\RLT–ºÄÂtT[^adfhiklmmmlkkgcaZ43//;J¬Þs=?IcLJNNNRTRg‘befÎáÝÝÝÝá¼M[X\QXÄâÝÚÙÜâÇJuPfihhhijjjjheca_`cghifa^][\\X@CIjPefefefggiijjgdba_adhiihe`^\C:AFJMQSW`lw|ƒœÏ×ÔØkodRLM‡¼ÂÒœZ_cdfghjkkmmmlkki]1;0-,014;=>@@GN>JuTjG=9899879::XxOJ?347;;7AIBEZgGe£b^a>88678675437G83557=IE7;=5`YYfddeffghgffghggd`^_acfijhdC2=JLNPSX`hhjnj¹ôïëêqoleXOJd¬ÁÍÇv\ceghhhklmllkjl^.93,/-*+++*++****(%4€™UdSB?9=LNA;9533234638h˜v6853MeRgedfgffeeeeeghhgda_^_afijhA/;KNPPRW`fcbda´¹¶²qklnfSUg†»ÆÓ¼j^cdghhiijklljcU-96-EO=40//-*)))+0/g‡MhIMRIMUQMIOI933344:Io—qIOH8?eKij[aegeddeeefghhheb`]]`ehi?,9?MQOOKF?:;>:3Dfo|•kPadccbbdeeeegfda_^]_c=%=C?FŸÜ{^WZJCKKHFIGmsqstwgTNIh¹ÇÑÅl\abdfeeeeeeaV>0--.)%$$%%#$%)FVGDCDGNSUVMIIJKMPSXh^ZiJXecccbbcceeddedcb_]^_:#9@=Bbwa^eeX@646?GGmmljjke\RML’ÄÈÖ£Z_`cddeeddca\Q>999<>=>>>=>??@JOlˆqd\ZYXWUWXZZZYZ[\]\[[[[\]\[\[]__efPJX…qacdbbccdcccddddb_^_:"6<;Qaa__`bbbbbcbcbccdedb`]9"66536>>?>:8cchfejqsosr_LJYd—¿ÄÔ¬bcddehiihhhhhiiigd`^\[[\]Sab\P»áÒØìŸdmortttxy}€x–{ š”Š…~{xrmhebaaaa`_``chjrdup_aa__^YWTPMKKIKNRU[`aaa`^XTflmhnojkospkSILLW¤ÀÈÔ^bddfghhiiiijjiigc`]\\\]R]ROGߥÄð¿euuvxy|~€ƒˆ‡‹Œh}siaYTNLLJKJPOKLIHHHFGGHHILZnaaa```^\YXWVVUVVVUX]aehgea^ytsptoiikjgjcLJJIm¸½ÍÉs]bceeffhhhhiiiihfc_]]\^TLJMKPc^•ç¨o”£­²¹ÂÈËÐÔÊŠwTNJFFFFIJLMMK[YGFCBAA@????>>>Naaaaaa`_^]]\\[\\[XXZ^dgiihfx€}pkjhehjniaOJMKK¾ÀÔ¬[\`bccdffghhihiiheb^]\^WEHMIJMU_wvžÔ«‹‰ˆ‰‡­Û¤†QBA@>=<;::987644567866667767789499:;855666556>CDEFEEFF:a“a;@@;;644444545@FBISZbj}³Ô[L[_fr{–¶‰C@<7=<;:87:;6`‡X8=B:83234344337BAW_aaaaaaabbbbbbaaba_\Z\afimprmkmpsplhjkfTLKLJa·ÆÍÖ‹^deffhggfghgggfffd`_W7=HCFKS[gv¡ÏcgÝïíäëà¦S:A513;;9728:7211237954BVGG?85429A9n—_aaaaabbbbbbbabbba_\Z\alklmqtsprkjlkjoePJKKMŒÆÉÕ¿jcefgihgfghhggfffeb`X3:HEEJPZfu˜ÎoYÜóîêðË–F;?2219`^4133200002356;IJGJIGA725B:WÕš`efdcbbbcbaaabbbba_\Y\jrurpqpknijieirbKKJKK]µÉËÕ—`eefhhgggghgggfffdbZ/6GHFO]]Yb³xNÀÛÚÜÞ¹‚>=<120SrqQ40.00///122;A?IQXUWYE23?>>‰ Q@BBNcbba`aaaaabbb`^[Zqvtojijlnijkvste_ZLLMPƒÇÇÐÉubffghggfefgffffgfdZ17CHKœÄ§aQc~:KUXUUŒg;@;34;h–‘F;;3////125CEMMR\ZZZI31;@>FYD3535Zcba```aaaaba`_][hijgaaahhqzxstnkmeSJMRY®ÉÇÖ©dffhihhgefgffgfgfeZ37>HG¢çÕ„L^}…?AA@<]ƒU;A>@;9EjmbDAB9....02AD}tI;BAJaA?BBAA@A<0///02?HGOCYf`VSK=23?6@831017Zbaaa```aaab````_‚|‚‚xuzvhhoxvxyqe\RJJKJQ ÈÅ×¼f`bceeddefggfffe]R+16?DFN[bgu‡9@NMLUOC9CQakB@@@?A??=9787659>DA;GPNBBAA87:4=?E9?L\ba`aaaa`aaaa``aaa…|u~xrqilsmifnhabbVJKK]f~»ÃÊØ‘\aaccdeeeeefdd`TM+046>>==?AFPJ/5jD9;:?5>KB9::976655;=>;9:@6333432345:JJIG?98\b`dcabaaaaa`aaaa`aaaa}xvysnq`_gqyqijeZLKJT[Y™ÃÁÕ¿f^`bbcdddeeb]]YSN,/2/20.,,/5<5543DknBA502443345679:@AA@?@D>;===>=>==>@A?8?Y4Fa_chifdcccaaabba`aaaa‡††††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|xutttxyxyzzy{{zwuxyz{{zyz{~€€€††……†††††…†††……†††††‡†††††††…{yutuvuvyxxywz{zywtvvyzzxwy|~€€€……………†††††…†………†††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyywxy{}~€€…………†††…††…††……………………„……„………„‚€~zyyxwy|{yxxz{{zywvvxyyyzz{~~†…………„……†……††……………………ƒƒƒƒ„„„ƒ~|yxwxz|zyzz{{{zzvvxyxxyyy{€„‚ƒƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚‚€€~|zywxz{zz{||{zxyvvxz{yzxz}€€€ƒ„†ƒ‚‚„……………„…††„„…‚€€€€€€}~~}{zzwwwyzz{}|{yxxwwwxxyzy{}~€€€ˆŠˆ‚‚‚„…††……‚„„„‚‚~}~€~}{|}|zyxwxwvy{}}||{xxyxwuvwyy|}~€€…‚„‚€€‚ƒ„…††„‚ƒ€}zz{{{|}}}}||z{}zzyxwyxxzz||}}|zwyyvuuwwx|€€€ƒƒ†ƒ€~~€‚ƒ|yxxwwx{{y{{yyxy{yzzyxxxy{{|}~}|zzyxwvvvuw{~€€}ˆ†Š…€€€~~~}{zyyyywwwzzxyyxxxyzz{{yvwxvz||}~}|zzxxzwvvvw|~’Ž‚‚‚€€€{zxzywvwwxxvuvvuwz{|zzyuuvwz|{}~}{yxwwyxwxy|~~~‹Š‡‰…„ˆˆˆˆˆ†{xvyxwwvvuustuuuw{|}zyx{{zyy{|~~}{yxwwxwwz|ˆ}|‚}ƒ€†ˆˆˆ‡ˆ‡yvvwxwvvuuuuvtuwyy{yxz||z{z{}~~~}zyxyyz{}€€ˆ€}{€~……ƒ„ƒƒ„yvuz~€‚ƒ„ƒ‚‚~wvxvyyy{zyyy{}~~zwwyy|~€€}}€|y}~€‚€€€€€xuzŠ‘‘Ž‘‘‘‡vxxyyzzzxxxz}~}wsuvw{~}}~~~€}wr}}€‚~~€ysŒ‡ƒ‚††ˆ‡‡‡Š‹zwyxyz{yxxy{|}zyxvqpqqossrrsw{{zsqq|}‚‚yu‚‡€ƒ‚ƒ†…†‰ˆ€yyz|}|z{{zxsninosssqojhhgfhvƒ…†‚‚ƒ„„„ƒƒƒƒƒƒƒ‚~€„ˆˆ…††…„†ƒˆ‡‚ƒ‚‚‚ƒ‚}xuvxyzyzyxxyxurw‡Š‰‰‰ŠŠˆ‡†‡ˆ‰‰‰‰ˆˆ‰‰ˆ‡†…‰‰‚†ˆ‰ˆˆƒ~†‡ƒ‚ƒ„„ƒ‚‚ƒ„„…†……ƒ€€€€‚‚„ƒƒ„…ƒ€…‰Š‰ˆˆˆˆˆˆŠŠŠŠŠŠ‰ˆ‡…ˆˆ‚…‰‰‰ˆƒ}†‰…‚ƒ„……ƒ‚‚‚‚‚ƒ„†‡††…‚€‚ƒ‚„†††‡„…ˆ‰‰‰ˆ‡‡ˆ‰‰ŠŠŠŠˆ‡†…………†‡‡†…‚~…Šˆ…‚„ƒƒ‚ƒ„ƒ€€„†‰ˆ‡…ƒ‚€€‚†‰ŒŠˆ‡‡ˆ‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠ‡…‡‹Š‰‰Š‰‰‰‰‰‰Š„„ƒƒ‚‚ƒ‚‚‚€€€‚…‡ˆ‰‡„}‚†ˆ‹‡‚‰Š‹ŠŠ‰‰‰‰‡‡‡‡ˆ‰‰‰‡‹ŽŽ‹‹‹‹‹Œ‹…†‡†ƒ€‚€€€‚„‡ˆ‡}z†ˆ‰‡†‰‰‡ˆŠŠŠŠŠ‰‡‡†‡ˆ‰ˆˆŠ‰‹Š‰‰‰ˆ‰‰ˆ‰‡ƒ‰‡‡ˆˆ‡„€€‚‚‚‚€€€„†ƒ€‚‡‰‰ˆˆ‡ˆ‡„‰ŠŠ‹Š‹‰††…†ˆˆ‡‰‚†ˆˆˆ‡†‡‡†‡‚|†ˆ‡ˆ‰‰‰‡„ƒ‚‚‚ƒƒ‚‚€……††‰‡†‹‹ˆ‡€††‰ŠŠ‹‹‰‡……†ˆˆ†ƒƒƒƒƒ„„„‚‚…ƒƒ‡ˆ‡‰‰‰‰ˆˆ†ƒ‚‚ƒ‚‚ƒ‚‚€€‚„†}zx{{xv}ƒ‡‰‰Š‹‹‰‡……‡†„„„„ƒ‚‚„ƒ„‹ŒŽ’‘‘ˆ‡„ƒ‚‚€€‚‚‚€€ƒ†{xtrssq||†ˆ‰Š‹‹‹Š‡…†…ƒ…‡‡‡„ƒƒ‚ƒ‰‘”“““’’’’’’‘‰‰ˆ†ƒ€€‚‚‚€~~}}}}~ƒ‡‰‰Š‹‹‹Š†…„‚„††…ƒ€€€€‰‡ƒ€†‰‰„€…‹‰‰ˆˆ†ƒ€€‚‚‚ƒ‚zy{}~~€{~}}„ˆˆ‰Š‹‹‹‰†ƒƒƒ‚ƒ‚€€€ƒŠ‚yyz‚‹Œƒyyx‰Š‰‰‰ˆ‡ƒ‚€‚‚ƒƒ‚ysrtvsv{v~~|†‰ˆ‰‹‹‹‹ˆ„€‚‚‚‚‚‚ˆŠ…ƒ‚ƒˆŒŒ‡€ƒ†‰‹‰‰‰‰‰ˆ…ƒ‚€‚ƒ‚yrqssu{}{oz~}‚‡‰ˆŠ‹‹‹Š…€‚ƒ‚‚‚‚‚ƒ„‰‡‡‹‹ŠŠŒŒŒ‹ˆ‰Š‰‹Š‰‰‰‰ˆˆ†„‚‚yrqrv|ƒƒ~hm{}z~ƒˆ‰‰Š‹‹‹‡ƒƒ‚‚‚ƒ…†‰„…ˆˆ‰ˆŠ‹‹‡}ˆˆ‰Šˆ‰‰‰ˆˆˆ‡„ƒ‚}uuty€ƒ‚€jiq{}~…ˆ‰‰ŠŠ‹ˆ…†ƒƒƒ„†‡‹†…†…………‡†ƒ~€……‰Š†‡ˆ‰‰‰ˆ‰ˆ…ƒ‚‚€~}|}€€€kjkx€~}ˆŠ‰‰‰‰‡‚‚‚‚‚‚†ŽŽŽŽŽŽ‘“”„†‡‰‰ˆˆ‰‰‰†ƒƒ€€nnmt€}}„‰Š‰‰‰‡„„‚ƒƒ‚ƒ‚‚†–•””•••••••“••–†‡‡‰ˆˆˆˆˆ‰‰ˆ„‚‚‚‚omjmx~|€†‰ŠŠŠ‰‰ˆ‡†……†‡ƒ‡Ž’‘‘‘‘‘‘‘‘‘‹‹ˆ‡†…‡‰ˆˆˆ‰‹Œ…€ƒ††‡†††klhijz}}ƒ‰ŠŠŠŠŠŠŠ‰……†‡„‰Š‚„ŽŽŽŽŽŒŠŠŠ‹‰ˆ‹‹Š‰‰ˆˆ‰†‚€‚„……„……onhges€~|…ŠŠŠŠŠ‹‹Šˆ†‡†…‡„||„‹ŠŠ‰‰Š’“’’“““”””“Šˆ‡†…ƒ€ljhgfl{€~}‡ŠŠŠŠ‹‹Š‰ˆ‡†„…„€~ƒ‡†…„„ˆ““’‘ŽŽŽŠˆˆ‡†…„ƒ‚fgghhiq~€~~ƒ‰ŠŠŠ‹‹‹‹‰‡†ƒ………ƒ‚ƒ‚ƒ‡Œ‹Š‰‰ˆ‰ŠŠŠ‰Š‹‹‰ˆˆ‰ˆˆ‡‡†…ƒ€€€ihgfghhu€}ˆŠŠŠ‹‹‹‹Š‰†„ƒ„…„‚‚‚ƒ‚ƒ‡‰‰‰‰‰‰‡ˆ‹‹‹‹Š‹Š‰ˆˆˆ‰ˆˆˆˆˆ†ƒ‚jhgegjhr€~~„Š‹ŠŠŠŠ‹‹‹ˆ„ƒ„ƒ‚‚‚‚‚ˆŠŠˆˆ‰‰‰ŠŠ‹ŠŠŠ‹‹‰ˆˆˆˆˆˆˆˆˆ‰†„ihgfikhn}}€ˆŒŒ‹ŠŠŠ‹‹Š…‚‚‚‚‚„ˆ‹‹„ƒˆŠŠŠŠ‰ˆ‡ˆ‰Š‰ˆ†‡†ˆ‰‰‰‰ˆˆ†ƒjjjijihkt€~‚ŠŒ‹ŠŠŠ‹‹Š†‚‚‚‚‚‡ˆŠŠ„‡ŠŠŠŠˆ‡†‡†‰‰‡†„ƒ†‰‰‰‰ˆˆˆ‡mkjjnkijq}‚‡ŠŠŠŠŠ‹Œ‹‡‚‚ƒƒƒ†‡‡ˆ‡†ˆˆˆ‰ˆ‡‡ˆ‡†‡‡ˆ‡……ˆŠ‰‰‰ˆ‰‰‰lmnoqpmos|€~}~‚‰‰‰‰‹‹Žˆ‚‚‚‚‚‚„†ˆ‡‡Š‰‰Š‹ŠŠŠ‹ŽŒ‹‹Š…‡‰ŠŠ‰‰‰‰‰ˆ{zzzzzzz{zz{{zzzzyyyyyyyyyyz|„ƒƒƒ„††‡‡‡††ˆ‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzzzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒ‚‚‚€zzzzzzzzzzzzzyyyzyyzz{z{{{{z{~€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…ˆ‡‡‡…‚‚‚‚€€x||{zz{{zzzzzyyyyyyz{|}~}|||~€‚„„„„………„…‡‡†……„„ƒ„…†‡‡†…„‚‚‚€€{‚~|}~|zyzyzzzzzzz{}}~}}‚ƒ‚ƒ„„„„……‡††‡††………„„…†‡‡†…ƒƒ‚‚‚€‚}€€~}{zzzz|zyz{|}€€€€€‚„…ƒ„ƒ„…„„„„…†‡†„…†………„…‡††††„ƒ‚‚‚‚€|€}|{zzz}|{~€€ƒƒ‚‚€‚ƒ…………„„……„„„„…†…„………„………‡††……„ƒz|~€€€~}|{}€…†……„„ƒƒ„‚„…††††…„…„„ƒ„…†……„„„„„„„…†‡†…„ƒ‚‚‚‚x€}€€€€~ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡†††………„…„…†„„…„„ƒƒƒƒ…††ˆ†…ƒ‚€‚‚{|}‚€‚‚‚‚„†‡†‡‡†‡‡…„„„„…‡††…†………………………………ƒƒƒƒ„†…†‰‡…‚€€‚ƒyyxz€‚‚ƒ…†‡‡‡…†††………†‡‡‡ˆˆ†…………„…………†……„„„ƒƒ…††††…ƒ‚€€‚ƒ€„€~}{y{~€‡‡‡‡†††††‡†‡ˆ‡ˆˆ‰†„„„„„„„††‡††„„„„„…†ˆ‡„‚€‚ƒ‚ƒ„„†‰†‚~|{{|}}…‡‡‡‡††…‡‡†‡‡‡‡ˆˆ†…„„„„…†‡‡‡‡…„„„ƒ„‡‡‡‡ƒ€€‚‚‚‚„…ƒ†Š†ƒ€€€€ƒ†‰‡†ƒ‚‚‚„†‡…„„„„„††‡‡‡†„„ƒ‚ƒ„†ˆ‡†ƒ€€‚ƒƒƒ€‚…„ˆˆ…‚‚€€€€‚‡‡…}||}~}}|‡…ƒ…„„„…‡†‡‡…„„ƒ„……ˆ‡…‚ƒƒƒ‚„ƒ……ƒ€‚ƒ„ƒ‡‡„}|||€~}|}}}……„……„„…††‡‡…ƒƒ„„‚€}|~€‚€€€€„ƒ‚€‚‚ƒ‚ƒ‚ƒ‡‡‚}||{z|{wy}}{‚„„ƒƒƒƒ…ˆ†††‚~}}{|zz{|||}~~~‡‰‰ŠŒ€€€‚‚‚‚„„€|~|xzyw|{ƒ€€€„…„„…~~~€€€€’£¢¡Ÿžž~~}|}~}|}}}}~{~…xyww~…€{~€€€€€€€€€€€ƒŠ„ƒƒ„‚ƒ‚‚‡‡~|z{{|}}}||}}|||~}{|‚~y{{z‡{}€€€€€€€~~€€‚„‰†‚‚‚‰{|}zz{|}~~}}|}}}}~€~|}~~|}~}…€{}‚€€€€€€€€~ƒƒ€€‰~z}€{z{~|||}~€€~~}}€~}}}}}~~~~~|{|€€€€€€~€‚•‡Š{y~‚}z{}}}}}€€~}}~}{{|||||}}|}}|{|~€‚‚‚€€~‚®º›‘}y|{{€~}}}}~€€€~}~|ƒ‚}~}}}~}~~ˆƒ~~}~€‚‚‚€–’›“’“–—}~}}~€€€~}}~ŠŒ€~~€‚‰ƒ~~~~~~€€‚‚‚‚~ª²¸³¬¯µ·ƒ€~}}}}~€~~€‚ƒ‚‚‚ƒ€€~~}~€€€‚‚™ÃÌÌÏËÌÐÒ„ƒ€~}}}}~€€€€‚ƒ‚ƒ…€}{zyyxz{ywx|~~€€€‚‚…™œ³½ÈÎÏÐχ„‚€~}}}|}€€€€€€€‚‚€}zzyyz|||{zzz}}~€‚‚†©Š{‰‹‘““‰‚€~}}}}~€€€€€}~‚€€||}€€~~~~}|}~~~€€€…¶»£‘„”€ƒ„ƒ‚€~~}}|~€€€€‚‚…‰ˆ‰Šƒ||}~~|xy{}~~~{|}~~~~€€ƒµÐÑÊ¿Æ댄„ƒƒ‚‚€~~}}}}€€€ƒƒƒ„ƒ„„~|}€|wwy~€€}{|}~}}~~€€²ÍÎÎǽ®›”‚‚‚‚‚€~}}}||~€€}}|}~}{ywx}€|{||}~}}~}~‚€¬ÎÏϼ•ƒ}{}‚‹‚‚~~}}||}€€€€€€€~|}|{||||{{~„{{||~~}}~~~~€£ËÁÈ¡~~†‰}{ˆ‡‚ƒ€~}}}|€€€€€~~|~}~~}}~}}~‚~||~~~~~~~~~ŠŸŽšŠ€||€‚ƒƒƒ€~}}}}~€~yzx{zzz{zyyyxxwvz€~~~~~~€‚~‚‚‚‚~‚ƒ‚‚ƒ}}}~€~yvvvvwwwvvvwwvvuz€€€~~~~~~~~€‚„€|€‚‚‚‚‚~~~}~~€€€€~zzywxxxxyyyyyxzz{~€€~~~~}~}~~~‚~z|}€‚€~~~~}}}}~€€€€{{zxyyyzzzyyzz{{{{{}}||~~~}€€€~zyzƒ”‰~~~~}}|}€{……€|}|}}|zyxyxwwwxxxyxy|~€‚‚‚‚ƒƒ‚€~yxy}„‰…‚~~}}}}|}~€€€‚„ƒ‚€€€‚~zyzzzz{|{|{{{{{}~‚‚‚‚‚ƒ‚€~zxwz‚‚ƒ~}}}}||~€€€€€ƒƒƒ„||||||}}||||{z{|~~~€€€€‚ƒ~zxwxyƒ‚‚‚€~}}}}|||~€€~€‚„…„|{||{{|{{zz{zz{|}~~~€‚‚~yxyzz‚‚‚‚€~}}}}||{~€€€€€‚~{z~~zz{yzz{|{{z|}~~~~~€~{x{|{~‚‚||}}||||~€€€€€€€‚‚€~{{{zz{zz{|{z{|~~~~~~€~{|}~~€‚‚‚~}}}||||}€€€‚€‚„„}|}€|{z{{|{{zz{{~€€€~~~~~ƒ‚„„ƒ‚‚„ƒ‚€~~}}}||}€€‚ƒ€€~}~|~|{||||||{|}~~€~~ˆˆ‡ˆ‡…„……ƒƒ˜Ž~}~}|{|€€€€€€€€~~}|{{||{{{||{|||}~€€€~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍÌËËËËÌÌËËËËËËËËËÌÌÍÍËǼ³®¢ž€}pgkujigkkrcgbW\a\[b\T[`]_VPOSZX^d`dRTVVTVTSXUPU]][XTMD>9;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌÌËËËËËËËËËÌÌÌÎÎdzš¤•u€ys]]^q}m[^ljfZYZ[_YVTO^e_[ROOPXV\efgOU\_YPPKQRW^aZUPLJ@?76521/76ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÁÅÀÇËËËÌÌÌÍÍÍÍÌÌÌÌÌËËÌËÊËËËÌÌËËËÌÌÍÍÍÍÍÍÍÀ¢Š†omlnihkpu|y^`_bcZZ[ZZ\QSV]bYZXVSQTRU[ecPQXZTLNMRQ[b``YQGA?<951210/1ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÀÅÁÊÌËÊËÊÊÊÊÊÊÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÌÌÍ˳˜’xknuzs|ec`\eXaccZZWU`XRXfbQOSVWSNKWPWfPNSWYPLROOW`^`UTUOH?=84320--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÈ¿ÁÀËÎÎÍÎÌÌÌÌÌËÊÊÊÊÊÊÉÉÉÉÉÉÉÉÉÊÈÈÈÆÈÉÉÊËÊÊ̽’‚sbj{kag_^_Vh`WWTSM\`_`qkYOOT[TMITRRYTYZXUNOQUZ`XVYPOXNI>>A;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏƸ»ºÉÏÎÎÎÍÍÍÍÍÍÍÍÍÌÍÍÍÍÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅâ‰xzsh`jmlb_`]W\_UQZRRPZefegbgUQVYSPRTSQWRY]`TRTQYZ]XXSROPPI>?=7651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎúļÆÏÎÎÎÍÍÍÎÎÎÍÍÍÍÍÍÌÌÌËËÉÉÌÍÎÌÊÇÅÉÊÊÌÎÌÆÄÀ²™{{rcVSa\Y[_`^a^WTPJLTY_adh]ZSOPQOKTRSP^LTUYYVYZ^Z[VRPSNRKEC>A;531.3ÏÎÍÍÍÍÍÍÎÎÎÍÍÍÎþÌÂÅÎÍÍÍÍÍÍÌÌÍÍÍÌÌÍÍÍÌÌËËÉÉÉÌÈÄÂÃÁÆÆÈËÌÉÁ¾¼ªŽ€yrWSRQMVWmodaa[XLC@LWP[`a]VSQKMJHLHPLYOQTUVVZZZZ]XROSMUNCHA?>3/.,,ÏÎÍÌÌÍÍÍÍÎÍÍÍÍÍÄ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÎÍÍÍÍÎÍÍËÊÉÇÅÉ¿½¸À½Á½ÃÊȺ®¢¦Œ}ur_UWYXhi[ned\UUQQVTbSOZ]ROVWPKIFNOQYWQPWYUTWWUNPZSQVPWW?57220.--,ÎÍÐÖÓÎËÌÌÉÈÉÉÊËÄ¿ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ¾Â¹¸©¿·À¶¼Ç¾¼µ¥‡†~nˆvb\_Z\ejUn[S[TMST\YUMPRXRPRUWKKKSSRZf\NUWVVTTYQL\WX[[LC=6440.-,,-ÍÙèðíäÓÊÈÁ¼½ÀÄÈ¿ÇÁ¿ÊËËËËÌÍÌÌÌÌÌÌÍÍÌÌÌÌÌÄÁº³½¸¯Ÿ¹±½µ²À´¹³˜„yylgc`baT\aYTdYRZ]OSRV[TUTNNMJKMSXUOROQQcYMY[WQLNXWPUXQLJA7=<:62.-,-.ÙïÙ·ÀãêϽ¶°¯µ·¾ÁÂÉÅÁÉÌËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ²ª¨¬¯¥©¬µ¯±¸«ªŸ‚uuskjQ]dZXcVO]h]X_WKPQSZ^`TPLLKMQLVWJNTNR]]X`\SOKNYUQWPPWJBB=;;962//.-ìÇ}im¡æÚ´­¬­³±¾ÃÅËÈÄÊÍÌÌÌÌÊÆÊËËËËÉÈÆÂý½±¡š™¤¤˜•¢¬ª««§¢™ƒslhdjm[TVUa_VV\YX^USWSSUT]VQSNNTTQRTWQOWPRX_X]WYZV]^RRZWRP??F;87775300/ãˆutpŽÍç·¬ª®°²ÀÀÄÉÈÂÊÍÍÍÌËžÈÌËËËÇ¿·°±±¶«ž”˜™˜‘¤±«¬ –™‘xhdeUe^QLHOW`YQQ]f]`n\]a]SWNPONOQVRTRUXR[ON^^\gZa\he_RPMMIL@<856779<@?°};BMGjÂîÖÃáéÁ´Âĸº³»»ÈÀ¶©¡ •Œœ–š•‡‰‰ˆ…„xƒ~|vwvpqmjeX\caaXRRXW\\`WT\SW^ZVQINLNIBCEA?EEDBRGTW[W^a`\QbaUWWRKGDG965777H{ÔZ­ñìíííííììçååæ긎Œƒ‡ŠŽŠ~ˆ‚Œ—‡…y|ƒ‡€}‰y{wuttvsbUQZYZVYVNYZ]_ddglokR[\SMQQGEEOVQPOOOIJVZ]ZNM]Y_\\geV^TA::<<;::9;><=DNSV_Z[afl`\^W[SXSSVWUA:887799868:???=IIILLLM^…Ùîå®LEFFLTFHGHG@ny~€}y{€|}}€~x|}~ƒ‚|z|uqtyxsokg\SMKXV[STW[YUIW_[]VY_VKMTONILOOPSUXWZmdZ[ZZVYWQVKMK?873c~98888;BECEXWUSr¢ŽË•±ÜÌ‹IFAG]cUUPGFDK•{yx}‚}w}|z{~z||{~€~€}xwomvxzqg`aSQRD?MVVTWYOKITW[\UYc^SMLIKNLMJHJNWWY\`Z^WUQVNKMHA<8776U‚=89:;=AIJHdWSJªúêø–„¾·odIEALONL<89>:†•§‹~z|ywzxv{z}}{|zwvlhntyoha^PRSFHOTX[TPSRTTZUVWX_\RLEDADFIEEGJSV\YUMTSTQSMFEC=:7776Z€A88;==;@KNWaZRWZQVZMKD;;997673†äO26;;;AHJKºµ´®Ÿ€\W@–ཥŸ¥§«¯°°¯­ªª©§±ÄÒ {‚~vyxwwvvtwuzvz{zwsqsqhjpjhf^N]j\SSWZXPOVWZb^XU[YUMHD@@??<78>DHJ[hXTYW[[SFB@:7787795ƒâP08;=BGGDQððñõêQLCl¸ËÖÓÕÖÙÛÛÛÚØ×ØÕÓØÄ{|~…xuyz|€‡‰Œ’˜–œž›—‘Œ†{srffcb[flbYMOYXUQSYW_YVZdYOIBA@ABA?>CHC?K[jk]KPeQG@:;97;;::=8uÚX4=;=CIIBVéëÜ´®yOFFrÂÖÛäääçéêçéìèåäãßÖ›€€|{ƒ‡œ¦««¨¥¢›–“”–˜˜œ ¢¥¤¡„hf`\[W\XNNVTMOS]\YX[\\SUMG@AGHB=CRPJU\^jnQVXLB;875:?BB??;{éd7?8MTNejivˆj[^RIB>;:>FLIC=>:ók7<5=GIYagvsƒ{qbIIEqÁàäêæèÇš«Ò»£«àæåáÝÈ|xo~’WONNPSXW\e„…gVSXgec[TCMnn_SV]YY\SOSPSP[^Zd]TUQOIGHCFKGEHNMTijisrcajiXQLLPTTVSIIM8}õs889S[^jgh{vyrbHAC;_«èæééæëáßéãÚàêåéåèÊ|||wg?Uao|ƒƒI850-135Jegffg\@PkaTNVY_XWSMNWUZc^`WOOURME@=IV`X\fhmbZWX_bdjmkof_iwuokfihQ„ð…UT\uuppjfGEDGLF614T•èíëëìëëëëêêêêêëìîÀ{}|y‚LHy–Ÿ¤§©ŠqYB@CLLKI?579@VC\b]SWYYSQOOMT[WSXYSMPXSPV\[uuakwkYTW[]]`edk}ƒ‚ƒ€|ƒ‡‡‡‘¯’Š„|zsrlfpnnrwzM*2M…æðïðïïïïïïðïîïïïî²t|y}vGRz·¶¶¶²¬¤ºŒwŒ€KNNA7554]VKa]YZUURV]^SS[WOLMT]ZX\fx€†‹€acqiRQY[[[\eiku~}zztt|‡ŒŽŒ’™œŸ›˜˜™˜šzyyww{dSXc~¸Ç¸ÃÉ»¸¸³µÁÓÉ»Çׯ}u‚a[OG~rfa\`—Žx‘zKKL\_L43JsFlmkmkqz‰’‡‰Ž‘‰ˆ‘²š‚{w|{kbmmbW\_^][`geisheaccu}z~‚”˜ŠŸ›–’‰ƒ€~{xqppoprrvxzyxz{z~}~~{z|€{y|„’‘„‡PtC13421=LLINROJLEHqo\6?_ŠQfvvxxwvtssttuxz|‚ˆ”¤³´«šŒ~smklmnlid`]]]ZY^^ZZ[\\`dgdfjxchc`[YVUUTQQomkkllmoruutsssuxz}~~~}|{yvutx„~O|747CMC?MMLLMLJJKHlyX8F’§jOjiloqstvvutrqqqppopt~Šš¦«¬© qggfdb_[YVYXWWXXVWWWWY]UIQSVW\bQ>;:9tpljijjkmnprrpooopsvyzz{{{{zxwtvnaw143eœvAKF@??CKJOEXre:62^ŠGddddegikmpssstsqpnmnonnory…™®½¹¢ˆsjhggfa_][YWSSSSRSSg„Kx†Š”˜ ˆB866xuqmkjjjjkmpppppopppqsuvwxxxxxu{bvg29:k‘dA7344;HFKLrˆ„@42C–S^fccbbbcdeimprtvutrqnmnnopnkmy¬º¹¬—ƒrihhfb`_[WYTTSP€w]š²´µ±¬¨¥fI76wvusokjiihilnnoopqrrrrpqrtvwxyu}[ŠS=HBr¡tGC5235748=¢|<535ŠnUjgggdbbaabbdgknqsvwwtqnkjlnpollp~“®ÃÁ§‰phgfffec`^YV–eaX†xeWMCO\V?<97Fx›i>:72wˆHkgYW_ecb``_^^`cfkorsuvvtpkhgjmnmkjkz›½Ë°‹rgfijiigbjŸX\>Y61577HWQHFuuuuutqkhfdfgiikmllmmnmlmmnd_htu\™O\cT€n_GHIKMLKLIPr’Y>9<3o}=fN98?gigdbaa```acgknqrtuvtrmggikmonljrŒ®ÁÀ¤…pjhijhšQR?Q45978FN>55qrstuutqnifdddehijjjklllmn[99>‚nFoJi`muyK6334jlnopqqqqplfb``aabddegijjleG54-7_D<::988876776667777667789;=DH5Pbghedegknolgcbbba^]]_dhlnprrsttrjecfiklkifdc^\[w›aBGGHA?h„ƒD>:62iklmorrssrpmgdbabbccdfgiijkke‰y9[B<:9888876777655666666788:;?CGnmijkiecehmonlifeffdb`_aeiloprrstrpjedfikkkdQVbrr‘TD]OKECHdM@HHA=fiklnqrssrrpmhebbbbbbdghijjjk§µJO<988876655655555555555667879BMhljklmjgdcdhlmmlifeeeda__ceilnoprrssqlecfhkhRT^it}L?‘„G=;;@?AEGH\`ehjlmopqrrqnmidaa``abdghijjg–¤TI<3376554444347854433345545JicGOkkmllljigdcceillhdbaba`^]^adhkmopqsrrqlfdfiZKMFHTnXFD:69BIFDGKLY]acfiklnpqqpoomgca``_`adfhhig€cYnM3432233333=E4532223443l§§NEhjmkkkllljgcbcdghhfc`__^^\]^_bdgkmnoqqqnkeefdnk[~tmiZKOX___```ƒ[bdhjkmoqrpqpomhcaa`_abegghjpm\©¬·U221122344515542111/0[›¤–˜WAdhlkkkkllkjgebabcfgeb``^]\]][[\^aeijlnnnmlheg{´”qogk```XUirlifdcÄx\cgijkmossqppokgcb```abdffirL;Žš°¡œZ04443105>O:64699@Oc¸·²¿H<^dljjjklkkkkidb`_adecba_\\]]\[ZZ[]abfiklljkijs¦o^]`ZXXVVbc[XWVVÊ¿q\dffhklnprpooolgda`_`acdeafH-l¸ÅµåÈwzRRW_oHj¼LQnk_Wh ÈóéÈÓz87Ucihhiiijkkkkigc``aceecb``^^__^[Z[]_cfijlnnlk\žƒiZTVWWVVVVWVUUUV¾Í±_\acfijlmrqooqolgb`_``ace\I<-G¢ÛÖññÇ—bZ[h–fžÐuaga_\ƒ³âàоµK47^gmnnnmmmljihjjifca`cghgedaabaa`_]\^adgjlmnokR‚v]VRUVWXXWWVVVVVW­ÁÏY\aegijlmpopqpolhc``^_bcaC1.1\¤–©Êí„`fcX[Îû¦Wlnvn›­¢Ÿ’–˜œ¢¢§©¨¨©©§¥ ž{ijkifbacghjhfecaaaa_^^^_bdhjlofOpo^\XWWWUZ[[[YXYYZ{µÄ͈W^cegijkmoppponlga`__`aaB.--/33BMHonUhokq³á£ujh^c¥¢¢©§¦£žœ™•”•““”””••˜›œž‚hlkkhdaadgjkifca``___^]^`behl`M^eTq³›s‚™^QUW[]Y^^OºÈÅpYacfhjjlnopoonmkfb``_a^9,-/159AGLIv“§Ä¸Üñ|?>G¼GPJN…ºÁɈX]acfhikllmnmmmlhc`_`C--.049=K`vššÚóòóôóññîíÇvb}š ¨®´¶”M975BŠÄÇÄ»»»¶ŒsSriiiijjjjgda`_beiigd`]\\[\\\R=?EINNSauˆÜá]QEvæŒ]RMS”ºÄÂtT\_adfhiklmmmllkgc`aD.//28Ap_87?Bƒ¡š–Ž~vm…˜\f”ÕÛÝÝßÞå TdYWL†ãàÞ×ÖÜä¢jZakghhijjjjheca_`cghifa^][\\]S>>EHLPVWW_yvlqtpg¾ïfXPJ^©¾Éºi[_adghhjlnnmmmljfbaC2103CvíºXMQniPV]bdfgk…ŠRlˆãÜÜÛÛÛáQ_]]LzÞÞÜØÖÛäœPoPkfffghhiiihfda__aehigda^\\]U?9::8596O k]eFHIILOPKBRV~lTWt|gYNA:B?@>ACDF_UDn¡Xf\B:688767:;CtmMK:237:97HCLiQfddeffghgffghhgd`__adgiiif^>4AIKMPSYalpmol©êêãqolfXOKd¬ÁÎÆu\ceghhiklmmmkjkjA27.,+./02456:;<>BYOA…’OnQ<:668877543FL55567;mNcdcfffffffeeghhgda___bgijjc=0?JLNPSY`hhkok¸õñíqklnfTUg‡¼ÆÔ¼j^cdghhijkllljkh@28/.4+++*))++((()&$I™~NlF>97342111/.-)(')+8^p}‡~]AIKGEHLOKKFDQID;9FOPQQNIB=@A:6P_Jœ’mUaccbbcceeddedcb_]]^_4'?B?J¢Ít]Z_J?FFCBEmmljjkd\RMM•ÅÈÖ¤Z_`cddeedeeb\K6-,--(&&&(&&((1X€˜§„qa?7:=A[m`_ff[E;89CJmebcd`b^SMJd³ÃÍÎxY`fecdeddda^XH>=>@AABDDBCDDDFSbŠrmYWTTUSQRTUVXVWWX[ZZ[[[[\[[[\^a^jcSOZ_`_bbbbbcbcbccddca^^]5$8<;@@>KÑç¤Z::9;<<>?@AB;EVC6::;<854455545=>@Zbaa`aaaa`a````aa`^[Z\_filjktrmjmnmegihiUJKLL‘ÆÆÓ¹a^`bdefffghhgggfffb_\]I>DEEMU\dmŽÔž@EGJNRU¥Â‡E?Ep`aaabaabbbaaababb`^\Z\amklmqtsprkjlkjoePJKKLŒÆÉÕ½icefgihgfghhggffffb_^E7CGCGNU_mƒÅ¦S˜ôñïëîëªQ;C615;::749:8412448:526CAA73332<@;šš_`abaaabaaaababbb`_]Z[jqurprqknijheirbKKJKK]µÉÌÕ–`eefhhgggghggfffgda`E3AICHNV_m~¹µI‹ðíèäìØ–D<@323;A>52674001126857JWGGC=7527B9a e`ccbaaaaaaaaabbba`^\Zqwuojijlnijkvste_ZLLMPƒÇÇÐÉtbffhhggfefgfgffffcaD,?JDFJR[ex§ºK€òñññóƃ=><120Aqh5100000//1249=BEKPMNI:24A>@Q`^Z[\_bbaaaaaaabbba`^\hijga`aghqzxstmkmeSJMRY®ÉÇÖ¨dffhihhgefggggfffdcF-DCMR\XZ\K42=@>JcO567@_baa```aaaaaaa_]qllnltorirqutt{k]SJJLKxÄÃÎÓ…aeegfffdegggffeeedG1:FChÕà°YUj“]8=@B:H‡V;A988@@?DwzH;B@C@9BWWNAAB9..../1>JDTEWc]VNG:25A:AA>454/Od`_```aaaaa``aa…|u~xrqilsnifohaccUJKK]f~»ÃÊØ\aacceeeeffffffa\D(6;DFNlyifuˆ{7=BFNwdC:CD[p@@@??A@@=311113=EIKAVe`SSK?12;3@:3//4C^caaaa`aaaaaa`aa}xwxsnq``gqyqijeZLKJT[Y™ÃÁÕ¿e_`bbceddeeedeeZRA(66?BCEJQZi{c5CSKKKD@9GV]S?AA?>?>=<:9976577;86:??999;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÁÆÁÈÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌËËÊÊËËËËËËÌÌÌÎÍƳ™£•rx€q]\^q}m[^ljfZYYZ_YVTO]f_[ROOPXV\efgOU\_YPPKQRW^aZUOLJ@?75421/76ÍÍÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÆÊÊËÌÌÌÍÌÌÌÌÌËÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ£‰†plkmkjmrtzy^`_bbZY[ZZ\RRV\bXYXVSQTRUZdcPQXZTLNMRQ[b__YQGA?<951210.1ÍÍÍÎÎÍÎÍÍÍÌÌÌÌÍÇÀÅÁÉÌËÊÊÊÊÊÊÉÉÈÈÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÌÌÍ˳˜’yknvxs}~cc_\fXaccZYVU_XSXedQOSVWRNKWPWfPNSWYPLROPW`^`USUNH?=84220--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÈ¿ÁÀËÎÎÍÍÍÍÌÌÌËÊÊÊÊÊÉÉÉÉÉÉÉÉÉÉÊÈÈÈÆÈÉÉÊËÊÊ̽‘Žƒq`jzkbg__`Vh`WWSSM\a_`qlYOOT[SMITRRXSYYXTMOQUZ_XVYPOXNH>>A;52/,+ËËÌÌÌÌÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÍÍÍÍÍÍÍÍÌÍÍÍÍÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅáˆx{si_jlmb_`]V\_UQZRRPZeeegbfUQVYSPRTSQVRY]`TRTQYY]XXSROPOI>?=6651-1ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎúĻÆÏÍÎÎÎÎÍÎÍÍÎÍÍÍÍÍÍÌÌËËÉÉÌÍÎÌÊÇÅÉÊÊÌÎÌÆÃÀ²š{{rcVRa\Y[_`^a^WTPJLTX_ach]ZSOPPNKTQSP^LTTXYVYY^Z[VRPSNQJEC>@;531.2ÏÎÍÍÍÍÎÍÎÎÎÍÍÍÎþÌÂÅÎÍÍÍÍÍÍÌÌÍÍÌÌÌÍÍÍÌÌËËÉÉÉÌÈÄÂÃÁÆÆÈËÌÉÁ¾»«ŽyrWSRQNVVmodaa[XLC@LXPZ`a\VSQKMKHKHPLYNQTUVUYZYZ]XROSMUNCGA>>3/.,,ÏÍÍÌÌÍÍÍÍÎÍÍÍÍÍľËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÎÍÌËÊÈÇÅÈ¿¼·Á¼Á½ÃÊȺ®¢¦Œ}ur_TWYWhi[ned\TTQQVSbSOZ]ROVWPJIFNOPXWQPWYUSWVUNPZSQVPWW?46220.-,,ÎÍÐÖÔÎËÌÌÉÈÉÉÊËÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÄÁÁ¾Á¹¸¨¿·¿¶¼Ç¾»´¥‡†~oˆvb\_Z\ejUn[S[TMST\YUMPRXRPRUWKKKSRRYf\NUWVUTTYQL\WW[[LC=643/--,,.ÎÙèðíäÒÊÈÁ¼½ÀÄȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÌÌÍÌÌÌÌËÄÁº³¼·¯ž¹±½µ²À´º³˜ƒyylgc`b`T\`XTdZSZ]OSRV[TUTNNMJKLSYUOROQPcYMY[WQKMXWPUXQLJA7=<:62.-,-.ÛïÖ²½ãéͽ¶±¯µ·¾ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÆÆÃþ±ª§¬¯¥©«´¯±¹«« ‚uuskjQ]cZXcUO]g\X^WKPQRZ_`TPLLKMQLUWKNSNQ]]X`\SOKNYUQWPPWJBB=;;961//--íÆ{hk£éÙ´­¬­³±½ÃÅÊÈÃÊÍÌÌËËÉÆÉËËËÊÉÈÆÁ½¼± ™™¤¤˜•¢­ª««§¢™ƒslhejm[TUU`_VV[XX_URVSSUT]VQSNNSUQRTWQOVPRX_X]WXZV]^RRYVSQ??E;87765200/åŒvupŽÌè·¬ª®°±ÀÀÄÊÇÁÉÍÍÍËÊžÇÌËÊÊƾ·°±°¶ªŸ”Œ—™˜‘¦´­­ —™’xgceUe^QLHOW`XRS`g\_n\]b]SWNPNNOQVRTQSXR[ON]]\gZa\he^RPMMJL@<856769GFr\ZU=Jsá› ìéââååçèèêèéëñÄ™˜”ˆ‹’Ž‘Š‹Š…ŽŽ‡Šˆ‚€ƒ{}Šyvuqsqnh`V[caZQUOQ]dbbTNSRg\bWLPQOIGCFRIBJKLFPQ\\XKWdcdT_cVPV]QD?@;:8878<@JADXemYEDT‚{èìíîíìíìêëæâä绌‹‹ƒ‡ŠŽŠ~ˆ‚Œ–‡†Žy|ƒ†€|‰y{vuttvsbUQZXZVYVNZY\`eeglokR[\SMQQFEEOVQPNNOHJVZ]ZNM]Z_\\geV^SA:9<<::::;><<;hqsrqkff{¹ÝëéèæáÛ×ÑÌÍÎÑ×Ø·‚‚„€…ˆ‡{…ƒŠ•†ˆ{‚†‡„~†|xuvxtun_X\_UUSSV^VOM_rraY\fPTNMRRMMIC>KTQRSSO]dccZSXX]ZR\VSSG<98;:78:98=<<;TUSTUYbcrÄðìÝ£ulfc[]]fmtŠ‹|€{}„€€‚‡}{€€„†}€}}tsutrrsf\^[NPZXZ\SU^ae^]U[baSTMKKQKG@=COSV^YZafk`\^W[SXSSVWU@9888889867:?>>?><;?KNWaYRWZQVZMKD;:996673‡äO16;;;AHJJÏÄÅ¿¯“aSC_ÌÀö¸¼»ÁÃÃÂÁÀÀ¿¼¾Å½¨~~‚wyxwwxxtzv}yz|}yuttvklqihf^O]i\SSWZXPOWWZb^XU[YTLGD@?>?<79>EGJ\hWTZW[[TFA@:7787795‚áP08;>CFHDPñóòôô¶[NGR©ËÖØÙÚÜÞÞÞÞÜÜÛÛØ×Ùžy|}…yvzxutuuwy€{}€‚€|ywrjejdfcb[flbYMOYXUQSYW_YVYcYOHA@@@BA?>CHC>K[jk]KPeQF@:;97;;::=8uÚX4=;>CIIBVÜÞÛ²¥ˆYGD]¬ÓÚãççéëíìèííèæçãÛ½„|{„‚xŠ–›¡¥§©ª©®­««¬ª¥¡—‚ie`\[W\XNNUTMOS][YXZ\\SUMH@AFIB>CRPJU\^iŒnQUXLB;765:?BB??;{êd7?8MTNdkiuˆj[^RIA>::>EMIC=>9ól7<5=GIYag‚|†ˆrgKJGT¥ÝâééäಱÌÚ¹²ÔèåäÞÛ”yzpr˜’pic\VQT\e¡—me`XTRSQLQws^SV]XW\TPSPSPZ]Zc]TUQOIGGCFKFDHNMShkitrcajhXPLLPTUVSIJO9|õs889S[^jghtllkaN@A=F‰Úééëçêêàæêàßêèèééâ‘z|xuŠXFKOV_h^GFJSL>;HJ]pknpSKFUodF32ceTutwxwvtsststvyy~…“£³´«™Œ~smkkmnmiea]]]YY]^YZ[\]`dgdca`‹Œ~Œ…~ysmjigeomlkklmoqtuutsstvz}~~~}|{yvss{Š‹ee`035658IMJHJJGIIDT{iM2g–‹Iehkoqtuuvutsqqrqpoot~Š™¥«¬©¡’sggfeb`\YVYXWWXXVWWWWZX]›fWXUQPQOLKHGtokjjjjjlnorrqonnpsvyzz{{{zzxvtp}V{O14=hmDFMIHHIIIJKKwnJ3Sy–UZfcdefikmpssstsqpnmmnnnory„–«¼º¦Žwkggggb_][YWTSSSRSV]g†JQ^cgnu|]976xuqmjjjijjlnppppopppqsuuvxxxyxvs}R‰@35CŒ˜cEE:789FKJOLb}Z44.ysMhdcabccdeimprtvutrpllnnopnllw©¹»°œ‡ujhhfc`_ZWYTTSRVt}S”Ÿ¤§«±ŸP<6wvusokjihhhkmnnooqqrqqpprtuvwwvtw\…7=;VŠ—™M>5324;@:E^—›f530^‘Iihedcbbaabbdgknqsvwvtqnkjlnpomko{¨ÁíŽthggffdc`^YVS‹lb‰±¯¦ž”‰„eP:uuuvtokhfeehjllmnnoooommmnpqtvuunoz?KHL}ˆ€QKA6566424L”–R942D›Talihhecb``_^^`cflpqstuvtplggjmnmkjju•·Ë¸‘uhfijiigd_`œ]`EmRA=94DYUDuuuuttqkgedfgiiklllmmmlklmmpqtrsc€qGRLau‰YHHFCCDC@=Gx”ŠL=;7<œ_ShPFK`igcaa````acgknqqsuuurlggikmonljo†¨¿Â«ŠskiijiduTWE83jmoqssrqpkgba`abdffgijjjklf;;9VzFJIH[8;AAAIQPKKFA9>A=@u}†M833gjlnorrssrplgcbabbccdfgiijlbNFG/ST=;:;989877877677777678889;=H=Hjmkjhecdglonkhfeffdb__aeilopqrssrpjecdhjkjjbPSY`o˜ZBHGJCA_}q@CB@AFJL^`cfiklnpqqpoomgca`__`acgggigp§rPIC336544335345@74444345542Qy\CXkkkkkllljfbbbdfhheb`_^^^\]^^adgkmnopqqnkfdg[OOL@OxhOJF??HNLHKMM‡[adhjkmoqrpppolhc``__`bdffhhl…vY…•ŽK2322233335A8543333331S¨£¦}GOjjkjkkllkjgdbbbcfgeb``^]\]\[[\^adhilnnnmmifdb~¬~hzxunlaPQ^iiiiiÅ{\cgijkmorspppnkfcb````bdefhniPm¥»•F00111134502641/000-KŽžª—ƒCJegjikkkjkkkidb`_adecbb_\\\\\[ZZ[\abeiklljkjgd}°‹ojff\Z\XUkpfc`^ÉÁsZcffhjlnpqpoookgca_^_`bcdeke-]±©¬£J==::8349bV7noronmlkkkihghkkifa`cfhjhfecaa`a_]]]_bcgilnqeP~o[TPTVVWWWWVVUVWv²ÃÎX^cefijkmnpponmkfa`__`acV2/.6irvšµ ªgiqgT‰òâpeqwrt¥z…sx‹‘œ´³±ª©ª©£¢¡ž™‰shkkjgcaadgjkifca`____^]^_adgjoaPmj^ag^XZXY[]]ZXZ[MŠºÆÉvXabfhjjlnoponnmkfb`__`bN0---.14A?EIOPS\h€Ò͈fYKiãeXPJ\§¿É¼jZ_adfhhjlnnmmmljfbaV1///9>n‘L-04Jsqnljeb\Wˆ‡Py±×ÙÚÜÞßáuZZTQR´æáÞ×ÙßâˆqPiiffghhiiigfca__adhigda^\\\\P>=FHMPUWX]hhfmttl®jaPLIp¶ÀϬa\adeggikmmmnmljiecV34//:PÉíŒ_et•jfjrz}‚ƒˆ‘pYlºàÛÜÚÚÛØg]^cXL¦ãÞÚÔÔÚâ{d_Zjeeefggiiiigdb`_adhiihea^[\S?;EHLOSVY`abddhmw…lodRLL†¼ÂÒ—Y_cdfghjkkmmmljjifW39//1<Š£t\kt‚„ˆŠŽ’“‹—›_fZ¨ÓÐÑÕØÚ¿RQRZRNæäåáÚÎÀbJpPgddeffghhhjihfc`^_bghiigc^]U@:DHKORUXcox~‚‡‹›¥iit^OLVš½ÉÌZacfghijkmmmlkjjhX1;..-04@E8:@B57751121xšRnRMRRX_cdRGU^„[TbŠxjZLCD>nP`edeffghgffghhfc`^^acfiiiebY=7DHKNQTXamvy}|¤áçpoleXOJd­ÀÍÆu\ceghhhklmllkijjY.;/-,/237=>>?BEGGYnQP–†MoL<7676547=>T]PH6136968K=^]Yecfffffffeeghhgda_^_afiiih];3CILNPSZbkmkmj®éèqkkmfSTgˆ¼ÆÓ¼j^cdghhiijklkijkZ,;1-*+../01134568BJ8N qPkE<8689887438[G66568<@<9E=JiOhkbffeeeeeefgghheb`]]`fhjjb90AKMOPSY`gglpm·óñllnlgZNOR‘ÂÇÔ§]_abdefhihklkkgU,;4,87+++*)*+)())(''h _U`@8769660***+)*)N™‘TaTHODGWZNDID6333355:X‡“RCB84bPi¤Žaggdccbbdeeeegfda_^]^agc2.AILObwha\N?'*((*msqstwgSNJj¹ÇÑÆm\abdfeeeeffcYM.745,8?@>31-*+--:DG—JcPMPJHIHGHJNF32238LŸ¾n\]bH9@A??mebde`b]SMJb³ÃÍÎxY`fecddddcb_VC1--.,*)*++)*++Dp¨›ykQ5;;?P[WLB@;UNB=8?IifggqlhbRKLKƒ¿ÄÒ´`^bcbcddddb_[SFBCCFGHJJIIHGFFUd}‚p`PLKNRPLLNNQURQRTVVWYZYXXXXZ[_a`m]YPcnoaaa`abbbbbcdddca__\2%8;:=@CB@=:hqjfmorqg\NLKq¶ÀÏÌrZacccefecdc^]\ZYZZYWWVUUX[^``NM`egXYYXWWXXXXXXXXYXYXWXWXXXYYXXXZZcDG`}¼Â»x]ababbaacccdd^UNH.%81PS0&$%&###"! "svmkqonlnoYLKN¿ÅÖ°``cccefeeeeba_``_^\[YWVWZ`bfld=GigUXWWWWWWWXWWXXWWWWVWWWXWWWWWWXV`PQebdfcc`aabbbaacb`^\TJIG-$61?MA64375435787pojglmgfijdLJK[©ÀÉÖ\cdceggggfeccdccba^[YYY[]_bjeLiwgQWVVWVVVVWWXXWWWWWVVWWXWWWVTRU\W[^dcbbba``aabbbbba`_^]XMI0$50(",87666548<>>plmehkotqniRILKv½ÀÐÇo^dcegggggfeefeeec`][ZZZ[]_ddcttpde\VWVVVXXXXXXXXXXXWWXXXXWVSd}ˆbYg_a___^]^__abbabaaba`_UI4)3.,,4.**+**)*)**hchfeiqsosr`LJYd—¿ÄÔ¯cbcdeghihgffffggeca][[[[[^^`uw~‘•Š_XYYYZZZ[ZZZZZ[ZYXXVWVVTe¸¬}g{yzz{zzxsnid_jlb```_]]ZQA1.**+1&$##""##"""flkhnnjknspkTILLW¤ÀÇÕ‘^bddfghhggghhhhgfc`]\\\[^Y^}}|‹ÎÓÊ`\]^^^^^]]]]_^^hfZfr€‰•©º½¾µ³³µ³³´³²µ´±¯ªž€sd``a`_^[WRF965668<>AFIJJIIHytsptoiikjgidLJJIm¸½ÍËv\bcdeffghgghiihgfc_]\[\^U^qmc¢éâá؈`eehjjmpqq{tqm„•¥°³²­«¨¢œš˜—––•••—˜˜šž§›`\b`aa_`^[XUSPNNMOQSV\abddd`x€}pkjheiimhaOJMKKŽ¾¿Ô°]\`accdffgghiihhheb^\[[]S]\TI—éÎÆðÌioqsuuvxxy}xyˆŽˆ¦—’‰‚€{vqmjhfedcdefegmr{hop^aa``__\ZYXWWWXXVUY]afhheotqtvlmfllmkje[MKI]³¾ÈÔ‚W^acceefggghhghggd`]\[]TSOMId¶—£ðÓkw~ƒ†’–› œ•yqwnd\WQOLKJIMKIIHHIHGGHIIJP^rbaa`aa`_^^]]]\[\ZYYZ_dgiimvrtslnhgjjkntiQJKLÃÄÔ»c`cdfgeeggghhggfgeb^]\^XFFOJKNTkÁ¨uŸ¹½ÁÆÎÑÒØÞÛÃŒoUPKGFFGIJLNNMa_IHFEDDDDCB@?@@Qaaaaaa`^^^^^_^]^^][Y[^chjksmmmkkjgiillmiSJJJeºÅÍ׊]cdfgffgghhggfgfec`^]]YFENGHLSZanÝžc]YVXVnÕ·u}NBCBA@?=>=<:976545776566777778;Ubaa`aa`_______```][YZ^diljltrmjlnmggjhiUJKKL‘ÆÆÓºb^_adeeffgggfggfedb_^]ZEBKCGLQW_u°áX1699:6fîà•d;:88877889::896599:;866666666==E^ba``aa`a```````a`^[Y[`eimprmklosplhjkfTLKLJa·ÆÌÖŒ^deffgggfghgggfffeb_]ZC?HBHOV\ds¤Þd?@@DDBUËËJ<;=ABCDEFFF:_S:>=;;743444444;B=U`aaaaaaaabaaa`aba`][Y[`lklmqtsorkilkkoeOIKKL‹ÆÈÔÁkcefgihgfghhggffffc`^Y@?GBFOX`iw¡Ú|Uy‹’•¬Ï®r=A:=<;;<5q“Y8@C:93234334337C>C„c^````aaa````aabaa`^[Zpwtoihjlniikurue_ZLLMPƒÇÇÐÊvbffghggfefgffffffb`\9:GFEJQYcrŽÏ€M»ñìãåìÞ”DYM3134100002346:LNEHGD=614AHOWTUVD32>??Mb\JJKRab````aaaa````^ƒ|‚xuzwihoyvxzre\QJJKJQ ÈÅ×¾f`bceeddefggfffffe^46?IC“ÕÄ}M^{’@:>AA>JŒW;A613?|ŒŒ€<771//./122@EINQ]YZ]O519A=DaS3433Scaa````aa``aaa†|u~xrqilsnifohaccTJKK]f~»ÃÊØ’\aaccdeeeffffeefe^65;HCzÛߣQVmPBEFD@b€HICQCWd]UQI=23@8@;84430Lecca```aa`a`aa‡††††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxywyzzy{{zwuxyz{zzyz{~€€€††……†††††…†††……†††††‡†††††††…{xuttvuvyxxywz{zywtvvxzyxwy{~€€€……………†††††…†………†††††……††…………„‚€€{uwwxwwyzxxwz{zyxvvuxyywxyz}~€€…………†††…††…††……………………„……„………„‚€~zyyxwy|{yxwz{{{ywvvxyyyzz{~~†…………„……†……††……………………ƒƒƒƒ„„„ƒ~|yxwyz{zyzz{{{zzvvxyxyzzz|~€„‚‚ƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚€~|zywyz{zz{|}{zyyvvxz{zzx{~€€€‚…‡ƒ‚ƒ„……………„…†…„„…‚€€€€€€}~~}{zzwwwyzz{}|{zzxwwwxxyzy{~~€€ˆŠ‰ƒ‚ƒ„……†……ƒ„„„‚}~~€~}{|}|zyxwxwvy{}}||{yxyxwuvxyy|}~€€…ƒƒ€€‚ƒ„…††„‚ƒ€}zz{{{|}}}~||z{|zzyxxyxyzz||}}{zwyyvuuwwx|€€€„‚†„~€‚ƒ~|yxwwxx{{y{{yyxy{yzzyxyyz{{|}~}|zzyxwvvvuw|~€€}Š‡Š‰€~~~}{zyyyxwwwzzxyyxxxyyz{{yvwxwz||}~}|zzxxzwvvvw|~‘‘‘†€ƒ„‚{zxyywvwwwxuvvvuwz{|zzyuuvwz|{}~}{yxwwyxwxy|~~~Š‰†‡‡€ƒˆˆŠ‰‰‰€yvyxwwwvuusuvuuw{||zyxz{zyy{|~~}{yxwwxwwz|ˆ}|~ƒ€„‡‡‡††ˆƒ}vvwvvvutttuvtuwyy{yxz||z{z{}~~~}zxxyyz{~€€‡€}{€‚ƒ„ƒƒƒ‚ƒƒ|usuuvvwxxwxxutvxwzyy{zyyz{}~~zvwyx{~€€}}€|x|~‚€€€€|uu{„ˆŒŒŒŽŽŽŒ‡xwyyyzzzxxxz}~~~}wtuvx{~}|~~~€~xr|}‚~{tw‡ŽŒ‹ŠŒŒ‹‹€vyxyzzyxxy{|}zyxvqpqqnsrpqsv{zwroo|}€‚‚€€{tzˆ…~…„††…ˆŠ†zyz|}|z{{zxsninosssqnjhhgffglkjotv‚‚ƒ„…„……„„ƒƒƒƒ‡…ƒƒ‚…†ƒ…‰†ƒ‚‚ƒ‚}xuvxyzyzyxxxxurqq~„‡ˆˆ‰ˆ‡‡‡ˆ‰‰ˆ‰‰‰‰‰ˆ‡ˆ…‡Š‡…‡‡†‡†€ˆ…ƒƒ„„ƒ‚‚ƒ„„…†……‚€€€€‚‚„ƒ„„„‡ˆ†…ˆŠ‰‰ˆˆˆˆ‰ŠŠ‰Š‰‰‰ˆˆ†‡Š„‚‡Š‰‰‡€€‰†ƒ„………ƒƒ‚‚‚‚ƒ„†‡†……‚€€‚ƒ‚ƒ…„‚€‚…ˆ‰‰‰ˆ‡‡ˆ‰‰ŠŠŠŠ‰ˆ‡…†ˆ†…ˆ‰ˆ‰†~€‰‰ƒ‚ƒ„ƒƒƒƒƒ€€„†‰ˆ‡…ƒ‚€€‚…ˆ‰‰‰……‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠˆ†…††……†‡‡†……‚ƒˆŠŠ„ƒ„‚‚ƒ‚‚‚‚€€€‚…‡‡‰‡„‚€ƒ†‰Œ‰†‡‰ŠŠ‰‰‰‰‡‡‡‡ˆ‰‰ˆ††ŒŒ‹‹‹ŠŠŠ‹Œ‹ŒŽ’‰„†…ƒ‚€‚€€€‚„‡ˆˆ†~|‚†‰‹‡„ŠŠˆ‰‰‰ŠŠ‰‡‡†‡ˆ‰‰‡ŠŽŒ‹‹ŠŠŠ‹Š‹‹‹‹…ˆˆ‡…€€€‚‚‚‚€€€„††}{‡ˆ‰‡‡‡‡„‰ˆŠ‹Š‹‰††…†ˆ‰ˆŠ‹…ˆŠ‰‰‰ˆˆˆˆ‰‰€Š†ˆ‰‰‰‡„ƒ‚‚ƒƒ‚‚€€ƒƒ‚„‡‰‰ˆ‰‰‰€†‡‰ŠŠ‹‹‰‡……†ˆˆ‡…~‚†‡‡‡†††……†ˆ‡ˆˆˆˆˆˆ†ƒ‚‚ƒ‚‚ƒ‚‚€€ƒ††…‡„ƒ‰‰„}ƒ‡‰‰Š‹‹‰‡……†‡……‚‚ƒ‚‚‚ƒƒ‚ƒ„ƒ…‡†‡‡‡ˆˆˆˆ‡„ƒ€€€€……~yvtvvu||†ˆ‰ŠŠ‹‹‰‡…†‡„„…„„ƒ‚‚‚ƒ…ƒ‡‹ŒŽ‹ˆˆ†ƒ€€‚„…|zwtut}}~ƒ‡‰‰Š‹‹‹‰†……ƒ„†ˆ‡†ƒ‚‚„”””•–•““”””ˆ‰ˆˆ†ƒ€€‚‚‚‚ƒ‚‚~€‚{~}}„ˆˆŠŠ‹‹‹‰……‚ƒ…†…„€€€…Šˆ…‚„‰Š‰ƒ‚‚‰‹‰‰‰ˆ‡ƒ‚€‚‚ƒƒƒzwy||}~u~|†‰‰‰‹‹‹‹ˆ„‚‚‚‚ƒ€ˆˆ~yy|†‹~zyy„‹Š‰‰‰‰ˆ…ƒ‚€‚ƒ‚xrqstsu{oz~}‚‡‰ˆŠ‹‹‹‹†ƒ‚‚„Š‡ƒ€‚‰ŒŒ‚~€†‰‹‰‰‰‰ˆˆ†ƒ‚‚wqqstv|hm{}z~ƒˆ‰‰Š‹‹‹ˆ‚‚ƒ‚‚‚‚ƒƒ†Š†‰‹ŠŠ‹Œ‹‹Šˆ‰‰Š‹‰‰‰‰ˆˆˆ‡„ƒ‚yrrrw~„ƒjhq|}~…ˆ‰‰Š‹‹Šƒ‚ƒƒ‚‚‚„„‡ˆ…‡ˆ‰ˆ‰‹Œ‹†~„‰ˆŠˆ‰‰‰‰‰ˆ‰ˆ…ƒ‚‚|vwuz€ƒ‚kjkx€~}ˆŠ‰Š‰Š‹„€ƒ…„ƒƒƒ†‡‰‰„……„……‡ˆ†€{„…Šˆ‡ˆ‰‰ˆˆ‰‰‰†„‚‚€}~€nmmt}}„‰Š‰‰‰ˆ„‚‚€€‚„‰ŽŒŒŠŠŒ‹‹‹ŒŒ‹ŒŽ’Š„†‰‰ˆˆˆˆ‰ˆ†ƒƒ€€omjmx~|€†‰ŠŠ‰ˆ†„ƒƒƒ‚‚‚‚‚‰“••”•••–••–•”––•‹†‡†ˆˆ‰ˆˆ‰‰Šˆ„ƒ‚ƒ‚‚klhijz}}ƒ‰ŠŠŠ‰‰‰ˆˆ………‡…ƒŠ‘’’’’‘‘‘’“’‘‘‘ŽŽŠˆ‡‡‡ˆ‰‰ˆˆ‰‹‹…€ƒ†‡‡‡‡oniher€~|~…ŠŠŠŠ‰ŠŠŠˆ……††„Œ‰†‹‰†‰ˆˆ‰‰ˆ‰ˆˆˆ‡ˆ‰†€‚ƒ„„„„ljhgfl{€~}€‡ŠŠŠŠ‹‹Š‰ˆ†††…‰|€ŠŒ‹‹‹‹‹ŽŽŽ‰ˆ†……ƒ€€~~fgghhip}€~~‚‰ŠŠŠ‹‹‹‹‰ˆ††…†}~…ˆ‡†……‰’““•”“”“’’’“”’Šˆˆˆ†……„ƒ€ihgfghhu€}‡ŠŠŠ‹‹Š‹Š‰†…„……ƒ„„ƒ‚‚„ˆ‘Œ‹‹‹ŠŠ‰‰Š‹Šˆˆˆ‡‡‡‡†…‚€jhgdgjhr€~~„Š‹ŠŠŠŠŠ‹Šˆ…ƒ„„…ƒ‚‚‚ƒ‡Š‹ŠŠŠŠ‡‰Š‹‹ŠŠ‹Š‰‰ˆˆ‰ˆˆˆˆˆ†ƒihgfikin}}€‡Œ‹ŠŠŠ‹‹Š‡‚‚„…ƒ‚‚‚„‚‚‡‰Š‰Š‰‰ˆ‰‹‹‹‹Š‹‹‰ˆ‡‰‰‰ˆ‰‰ˆˆ†ƒjjjkjihkt€~‚ŠŒ‹ŠŠŠ‹‹‹‰‚‚ƒƒ‚€„‰ŠŠ††‰ŠŠŠ‹‹Š‰‰‹‹‰ˆˆˆˆˆˆˆ‰ˆˆˆ†mkijnkhjq}‚‡ŠŠŠŠŠŠ‹‹‰„‚‚€‚‚‚‚‡‰Œ‹ƒ‚‰‹‹ŠŠ‰‡‡ˆˆ‰‰ˆ‡†…‡‰‰‰ˆ‰‰‰lmnoqpmos|€~}~‰‰‰‰‹‹‹‹‰„‚‚‚‚ƒ‡‡‰‰„ƒˆ‰‰‰‰ˆ‡†‡…ˆ‰‡‡„ƒ†Š‰‰‰‰‰‰{zzzzzzz{zz{{zzzzyyyyyyyyyyz|ƒƒƒƒ„††‡‡†††ˆ‡†ˆ‡†††††……††„‚‚ƒ‚yzzyyzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†…………………†…†††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„††‡†…ƒ‚‚‚€zzzzzzzzzzzzzyyyzyzzz{z{{{{z{~€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…ˆ‡‡‡…‚‚‚‚€€x||{zz{{zzzzzyyyyyyz{|}~}}||~€‚„„„„………„…‡‡†……„„ƒ„…†‡‡†…„‚‚‚€€{‚~|}~|zyzyzzzzzzz{}}~~}ƒ‚ƒ„„„„……‡†††††………„„…†‡‡††ƒƒ‚‚‚€‚}€€~|{zzzz|zyz{|}€€€€€‚„…ƒ„ƒ„…„„„„…†††„…†………„…††††‡„ƒ‚‚‚‚~}€~}|{zzz}{{~€€ƒƒ‚‚‚ƒ…………„„……„„„„…†…„………„………†††……„ƒy|}€€€€~}|{~€…†……„„ƒƒ„‚„…††……………„„ƒ„…………„„„„„„„…†‡†…„ƒ‚‚‚‚u~~~ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡††††…………„……„„…„„ƒƒƒƒ…††ˆ†…ƒ‚‚€‚‚z~}|‚‚‚‚‚„‡††‡‡†‡‡…„„„„†‡†……†……………………………„ƒƒƒƒ„†…†‰‡…ƒ€€‚ƒyyyy~‚€‚ƒ†‡‡‡…†††………†‡‡‡ˆˆ†…………„…………………„„„ƒƒ…††††…„ƒ€€‚ƒ…ƒ~€€|{yx|~ƒˆˆ‡†††††††‡ˆ‡ˆˆ‰†„„„„„„„††‡††„„„„ƒ…†ˆ‡„‚‚‚‚‚‚ƒ„„„ˆˆƒ‚}}|}~}‚†‡‡‡††…‡‡‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„„„†‡†‡ƒ‚‚‚„…ƒ„‰‡„‚€€€…ˆ‡‡‡†………„…†…†‡‡…„„„„„††‡‡ˆ†„„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ€‚„„ˆˆ†‚‚€€‚‚‚†‡†„~}~~~††ƒ„„„„…‡†‡†…„„ƒ„……ˆ‡…‚€€€‚ƒƒƒ‚ƒƒ…†ƒ‚ƒƒ‚‚†‡†||||€€~}||‚†„……„„…††‡‡…ƒƒ„„‚}|}~€ƒ‚„ƒ‚€‚ƒƒƒƒ‚‚†‡†€||{|}}{y|}|„ƒƒƒƒƒ…ˆ†††‚~}}||z{{{{{}~~~€~}€€€‚‚‚‚‚„„„}|}|zz|yx}|}‚‚€€„„„„…~~~€€€€‡“˜›œ~~|}}~}|||}~€}|€yxywx‚||€€€€€€€€€€€ƒŠ„ƒƒƒ‚‚‚‚ƒ”™–“{}~~~}||}}}|||~|{‚„zyywz„„||~€€€€€€~€€‚„‰†‚‚‚ˆ‚zzzxy{{}~~~}}|}}}}|~~{{~€{z|{}……||~€€€€€€€€~‚ƒ‚‚‚‰€{}~{z}{||}~€€~~}}~€}}}~}}~~~‚‚}|}€€€€€€€€~€‚‚„Š|y~|z~}}}}}€€~}~€€~|}}}|}}}}~}}|z~€€‚‚‚€…¥­‹zy}|y€~}|}}~€€€~}~||{|}}||}~}}}}~~~~~~~€‚‚‚€~ƒª´›“|~€}}}}~~€€€~}~|‹€~~}}~}~}‡€~~}}~€€‚‚‚‚€‡Šœœššœžƒ€~}}}}~€~}~‚„€~€€€€ƒƒ€~~~~~€€€€‚‚~•³¹¿º²µ»„ƒ€~}}}}~€€~€€‚ƒ‚‚„ƒ€€‚€€}~~€€€‚ƒœÄÏÏÒÑÑÓ‡„‚€~}}}|}€€‚‚‚„„€€~}}{zzxzzyxy|}~€‚‚‚€ˆ›¥¯»ÂÅÇ“‰‚€~}}|}~€€€€~~€‚|yyyxyzzxxxy{~~~~€€‚€‰°{}‚ƒ„†ƒƒƒ‚€~~}}|~€€€€€~}€ƒ‚ƒ„€||~€~~}}}|}~~~~€€‡»Ä°™‹ ™†„„ƒƒ‚‚€~~}}}}€€€ƒƒ‡ˆˆˆ‡€||~~~{xy|}~~}{}~}}}~€…¹ÐÒÍÅÉƯ‚‚‚‚‚€~}}}||~€€‚ƒ‚ƒƒ„„„}|~€€zwwz€€|{|}~}}~}~‚€ƒ·ÍÎÍĸ¥’{}‚‹‚‚€~}}||}~€€€€€|||~~}zwwz~|||}~||}}~~€‚³ÎÐз~}{ˆ‡‚ƒ€~}}||}€€€€€€€€€}||{||{|{z{„~{||}~~}~~~~~~€¥È¹Äš~†||€‚ƒƒƒ€~}}}|}€€€€€~}|||}}|~}}}€ƒ€~}|}~~~~~~~~~ˆ–‰•†€~‚ƒ‚‚ƒ}}}~~€€|z{{~||||{{|{z{yx}€~~~~~}~€‚‚‚‚‚„€|€‚‚‚‚‚~~~~€€€€€|xvvvvwwwvuvvvuuu|€€€~~~~}~~~€€€~z|}€‚€~~~~~~~~€€€€|yxwwxwwxwwwxwxyy{€~~~}}{€~~~~~zyz~ƒ”‰~~~~}}|}€€~z}{yxyyyzyxxyz{|{}}}~~~~~}‚€€€€€~yxy}„‰…‚~~}}}}|}€€}{…‚|z{{{{{zyyzyxxwwwyzzz|€‚‚‚ƒƒƒ€~zxwz‚‚‚~}}}}||}€€~„…„€~€€}zyxxwwyyyyyyzy{~~€‚‚‚‚~zxwxyƒ‚‚‚€~}}}}|||~€€€‚€‚‚‚‚~{z{{{|}}|||||{{|~€€€€€‚~yxyzzƒ‚‚‚€~}}}}|||}€€}€ƒ„…„~|||||||}|{{{zz{{~~~~~€‚~{x{|{~‚‚‚||}}||||}€~€„„‚~||~|z{{{{zz{z{z|}~~~~~~~€~{{}~~€‚‚‚~}}}||||}€€€€€€€€€~{{€zyz{zz{|{{z|}~~~~~~~~~ƒ‚~€„„‚‚‚„ƒ‚€~~}}}|||€ƒ††~||‚‚|{z{{{||{z{|~}€€~~~~ˆˆ‡ˆ‡†„……ƒƒ˜Ž~}}}}||~€€‚‚‚‚€~}~€|{{{{|{{{z{|}~€~~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÎÍÍÍÍÌËËËËÌÌËËËËËËËËËÌÌÍÌËǽ³®¡œ€~rfkuiifkkqcf`V\`\[b[S[`]^VPOSZX_d_cRTUVUVSSXTPW_][WTMD>9;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÁÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÍÆ´š£”s~yq]^_p}m[]kjfZYYZ_YVTO^e_[RPOPXW\ffeOU\_YPPKPQX^aZUOLI@?76521076ÍÍÎÎÍÍÎÎÎÍÎÍÍÌÍÆÀÄÀÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ£‰‡plkojinrtzy^`^bcZYZZZ\RSV\aXYYVTQTSV[ebQQXZTLNMRQ\b__YQGA?<951220/1ÍÍÍÎÎÍÎÍÍÍÌÌÌÌÌÇÀÅÁÉÌËÊËÊÊÊÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’ykovxr~dd_[fXaccZ[WU_XRXdcQOSVWRNLWPXfPNSWYPLRNOX`]`USUOH?=74320--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÈ¿ÁÀËÎÎÎÎÍÌÌÌÌËÊËËÊÊÉÉÉÉÊÉÉÊÊÊÊÉÈÈÆÈÉÉÊËÊÊͼ’Ž„~ral{kbg_^`Vh`WWTSM\a^`olZPOT[SMITRRWRYZXTMOQTZ_XVZQOXNH>>@;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÉÏÎÎÎÍÍÍÍÍÍÍÎÍÍÍÍÍÍÌÌÌÊÊËËËËÉÊÆÉÊËËÌËÇÅâ‰xzng^jnlb_`]W\_TQ[RRQZeefgbfUQUXSPRTSRURZ^`TRTQYZ\XVRSOQPI>?=6651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎĺżÆÏÍÎÎÍÍÍÎÎÍÍÍÌÍÍÍÍÍÌËËÉÊÌÍÎÌËÇÄÉÊÊÌÎÌÇÄÀ²™zwndURb]Y\_`^a]VTQKLTY_aci^ZSOPPNKTRSQ^LUTXYVYY^YZVQPSNRJED>A<431.2ÏÎÍÎÎÍÎÍÎÎÎÍÍÍÎľÌÂÅÎÍÍÍÍÍÍÌÌÍÍÍÌÌÍÍÍÌÌËËÉÉÊÌÉÅÃÂÀÆÆÈËÌʾ»«Ž~wpWRPQNUWlpea`[XLC@LXP[`a]VSQKMKHLHPLYNQSTVUYZYZ\XROSMUOBF@>=3/.-,ÏÍÍÍÍÍÍÍÍÎÍÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÎÍÍËÊÈÇÅÉ¿½¸À½Á½ÃÊÇû®¢¥‹{ss^UUXXhi[nfe]UUQQVTcSOZ]SOVWQKJFMOQXWRPWYUSWWUNQYSQVPWW?46220.--,ÎÍÐÕÔÎËÌÌÉÈÉÉÊÌÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ½Á¹¸¨¿·¿¶¼Æ½¼´¥‡†|o‰wa[^Z\ekUn]S[SMST\YUMPRXRQSUWKKJSRRYf\NVWVVTTYQM[WX\[LB=7540..,,-ÎÚèïíãÒÊÈÁ½½ÀÅȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÌÌÍÌÌÌÌËÄÁº²¼¸®žº±¼µ²Á´¹³™„zykfb`b`T[`YTdZSZ]OSQV[SUTNMNKKLSXUOROQQcZNY[WQLNXWPTXQLJA7=<:72.-,-.ÚïÙ¶Áçè;¶±¯µ¸¿ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÃľ±ª§«¯¥žª¬³¯±¸ªªŸƒvvrjhQ^cZXcVO\g]Y_WKPPR[_`TPLLKMPLTXKNSMR]]Ya\SOKOYVQWPQWICC>;<961//--íÊ~hn«éس®¬­³²¾ÃÅËÈÃÊÍÌÌËËÊÆÊËËËÊÉÇÆÁ½½°Ÿ˜˜¤¤˜–¢®ª¬ª¥¢™ƒslhejm[UWT__VV\XY_URWSQTT]VQSNNSUQRTWQOWPRY_X]WY[V]^SSZVSQ??F;87775200/è”zvq‘Ð絫ª®°²ÀÀÅÊÇÁÊÍÍÍËËžÇÌËÊÊƾ¶¯°±¶ªŸ”Œ—™˜“¥µ¬­ –™‘xhceUf_RLHNV`XRR_g]`m\^b]TVNPONOQVRTQTYR[ON^]]gZb]he_RPMMJL@=?8854454.02²––—•œÀ齩¨¯®´»¶ÁÈÆ¿ÇËËËÊÇ¿µÄËËÆ·¦ž›™  ˜š”‡‘—’’ž©«Ÿ’„tcdgZ\TPSQOX^_\hm]OT`NWon[QNJMLJFJMLNNMPXTW]TRXX`g\ZVNIMGFECH@7543343015]iwx||¢èÁ¢§°±µµ±¼ÈÆ·¿ÈÇÊÉȾ²ÃÊȽ±¤˜œŸ”–’‰‹‹€“”ŒŠŽ™Šˆ‰ƒ|stobYSX[YOW\UU\h\RP]fg_]ZRSLJJGIGFEFNLR][VZUO\ifeU\SMUSIJ@?B9753313438<[’¼Àº§…ÝÞÍDZ®®ªª¶Ã¹©®³°¸µÆ»®»Â¶ªž—› ”“…‚ˆ‰€~ˆ‰Œ…‚€ƒ€~xuo`UUSS]YTYTSXfQPN]dcRRZXSLKLJJHEJJIQU[`QXPPlrcd_a\T`XUTG=:;86432265:@k¹Úâݺv½ñîçËɧ  ¦¦œžž ¡Ÿ¦´¬£ §™™˜ ˜™’•Œ…‚…€ƒw‡‡„||{{tqpibWPZgZQURU^YNX[\]XQQPRSMJPQLNRQFBJNT^QQM]``_Xei\RS\YFSF=<<9555499;=™´•u}h_•êåáæî´ž£°¡›œŸ¤¬¥¡¡¢Ÿ”“’›™Ÿš‘–ŠŒŠ‡‡ƒ}x~…ƒy{wtphheYUYQX^YT\Z\YUZYZ]ZTPKVTNMOJBCFFA?EHHQJRSY[aW_n\^OZ^[IEC@?<856769GFUcP}gD>_½»{ÜëäåçåçèèêéèêðÆš™”‰Œ“’‹‹Š…Ž‡‹‰‚€ƒ{~Šyvuqsqnh`V\caZQVOQ]ebbTMSTg\bWMQRPJHCGSJCJKLFPQ\\YKWdcdT_cVOV]QD?@<:8878<@KABPdnaMDG–¯bÍïííìíìëêêææçéÁ‹‹ƒ‡ŠŽŠ~‚ˆ‚—‡…{|ƒ‡€|‰y{wuttvsbUQZXZVYVNZZ]_eehlokR[\SMQQGEFOUPPNOOIJVZ]ZMM]Y_\\geV^TA:9<<;:::;><<LTRRTSO]dccZSXX]ZR\WSSG<98;:79:99====GJIKMPOTu•áå×wAGHKZ\IOMKI=q{~|x{€}~~€~x}}~ƒ~|z}vqtywsokf[SMKXW[RTW[ZVHV_Z]WY_VKMTOMILONPSUXW[lcZ[ZZVYWQVJMK?863_‚;7888;BDCEr[ZXV¡µ´Þ´Ï½cR@=F]ZWRG?B?R˜||w}‚~x~|y{~{|}{~~}xwpmvxzqgaaSQSC?LVVTWYOKISWZ\UZc^SMMILOMMJGJNWXY\_Y]WTQVNKMHA<9676P€?79:<=AIJH—TPLTÛ÷ðër©Å¡OXDRFA>A@7589;ˆ²Ó”w}ywyxv{z}}|~€€‚zwvlintymh`^PRTFHNTX[TPSQUUZUVWY`\RLEDBDFHEEFJSV\YUMURTRSNGEC=:6676[A88;<>>=;@KNW`YRXZQW[NLE<;997673‡äO27;;;AHJJÜËËÆ»¤nSHE¥ÄÈÃÁÄÅÇÊÊÊÉÈÈÈÆÆ͵ ƒ~‚vzxwxzxvzx~|w|zvuuvjkqihf^O]j\SSWZXPOWWZb^XU[YULGD@@??<68>DHJ\hWTZW[[TFB@;68877:5ƒáO08<>CGHDPðòòóöØrNKEÊÕÙÛÜÝßßàáàßÞÞÜÚݽ||~…xy{zxxwvvw{vswzyustphelefcb[gmbYMOYXUQSYW_YVYcYOIBA@ACA?>CIB>K[kk]LPeQF@:<:7;;::=8uÛW4=;>CIJCUÜÜàÄ¢‘jICMÏÚàèçéìììéëíëèéçÝÓ˜}{ƒ~x{{wvv~‚„Š“•—“‹qnkhfa\[X\XNNVTMNS]ZXX[\[SUMH@AFHB>BQQIT[^jlQVXLB;766;@CB??;xéd7?8LUNdjiuˆh[^RIA>;:>FMJC=>9ók7<5=GHY`jˆ}~‹voRJIG…ÑâçêäæλÈáÐÁÌéåçà߶yzqs€¥¡›•‹€vngefkof``]]^bhmr†|^SV]XX\TPSPSPZ]Zd]TTQOIGGCGJGEHNMSikjtsbajhXPLLPUUWTHIN9{õr879U[]kiiukkogVB@?:mÄìéëêèìååìæáèêèêéë°x}zw…˜dZTQPPRZcl’ª‹da[b]WVOBMqbUNVY`YXTMNWUZc^_WONURME@=IWbX\egmcZWX_bejmkng_ixwqlgiiV…ï‚TU^vuoqjeHGGHLOB116\°îìííëìíííîíêéëìíê¥y{xvƒh@OVanwwJ9987755Ejmljj[>Oe^TWYYSQNOMT[XSXYSMPXSPX_]v‚uakwkYTW\]^`ffl}„‚€„}…‡‡Š“¬’‰ƒ|}qrofttttw{v:-3SŸðîêçîëäåååæëîèçìé˜yzyy‚IHs‹— ¡w[H628EIHHB;>AHRA[]YZUVSW\[QS\YPMNT^[X\gz‚†‹€`cqjRPY[[[\eiku~|z{tt}‰Œ‰‡Š€{nnkhkcxxxwvyxZUZh‹¿¹œ’À¯‹Š”´É›œ¾Ì”zvv}tCQˆ²³µ·¶¯£¢ypzrKLK@4353ZVOnnolr{‰’†‰‘’Š‹’³šƒ€zw|{kbmmcY\`^]\`feirfdacct~y}ƒ„‚‚ˆˆƒƒ‚€ƒˆ‡‹Œqopooqruwyzyy||{~}}~|y}ƒ‘ƒŠ‰Š^WKa£Ÿ“…zqu²›y™JIJRUG44IsGqvxywvtstttuwyz€†“£²´«˜‹|rlkklnmiea]]]ZY^^YZ\]\`ehdcaab~ŽŽ£¢ ž›–“omlkklmoqrsutttvx{|~~~}{{yvts{‹‰‹Mo@3=;73:AMLJJKJHIIFf}_=@•¬pKfddefikmpssstsqpnmmnnnosz…–¬½º¥Œvkggggb_][XVTSTRRSV_`[—[OQONPSRJDAxuqmjjjjjjloppppooppqsuvwxxxyxvtxkar/44c‹g>KHABBEJHNGUtb<7DgŒGdedbbccdfimprtvutrpllmnppollwŽª¹º¯š…tjhhfc__ZWYSTSTXU]‚G_otz†Žm95wwusokjihhikmooppqqrqqqqstuvwwvu^yb058m”ˆUA9455;IGMJgy~B42<’WZjfdccbbabbdgknqsvwvtqnkjlnpomlp}«ÂëŒshggfgec^^YXUQzu\ ¨«®¯²¶ªZBuuvvtokhfeehillmnooooonmnoprsuvr~V‹P9CB~—©rD>322497;B€¤‡B522vPmiggecb``_^^`cflpqstvvtplhgjmnmkjjw˜ºÌµŽtigijiigdb]Y”ed{¨‡xji_VuuvuttqkgedfghiklllmmmllmmmnostmzW‘HGLE]zZJJ?:::754=pœp=960h”Hhidcghgcaa````acgknqqtuvurmggikmonljqŠ«À©ŠskhijigdižX[@]=6554CSPprstuutqnifdddfhijjjkllkmlkllkolt`”JRXV}…rGGEEEFGFDCm‘•`A;<3_š@a[>=Egnjgca``aa__aejlprsvvutpkggjmnmljir±Ç¤nijjh€™RT=M58999GPEknpqssrqpkgba`acdffgijjkklm\B=OlW‰Q{jI`HEIPX[\UOPIV_zvMA9:4EM5MD::1[lnnjfc`aa`^\]`dhkoqrstrsqkfehjklljfh{¢Çα‰qmo”‹PJ;B26=87R?=INLLQyŒâáºÏ¡F2Pcdfhiijjjjjkjifca`bghgedaaaaa`^]]^adhjlnoppolk¨ƒlXVZXWVVV\\WUU«ÀϤZ\aeghjlmoopqpnlhc``^_acdXX<.e¼ÇÇñå£][^sZt¼T\uoc]n©Õòî×Úw5.Y}pffghijjjkkkkkifa`cfhjhgebaaa`_^^]_bdhjmopqgX–tcWTUUVVUUUVUUUv³ÃÎX^cefijkmnpponnlfb`__`ac[@3-<”ØÒÞîÏŸi[]`o\³æŒYc`hd·ÏÁžxs7,'}Ç­sbdefghhgggjkkjgcaabgjkifca``____^^`behkmpcO{lZSOSVWWXXXXWWWNŒºÇÉvXabfhjjlnoponnmkgc`__`a`=.-/A`ZoŠ¢‡aqo`\Â÷¥\ptul…|Xd\Vboz„™£¤¤ ¡ Ÿž›–“Š{jjkkjhda``dgiigda_^^_^^]\^_beim]Oli[gwfZ_\Y\^]\X[Zw¬¿Í¶eZbfgjjlmnonnomlkea__`aZ7-++.03:=FJOPTZax¹‚j_RbjaPLIp¶ÀϬa\adeggiklmmnmlkieba=./.530.3CŠú»nmv—’zˆŽ”˜ŸœXi€ÞÝÜÜÚÛß¹TiajQ[ÊàÜØÑÓÜÔ[uPffdeffghhhjihfda__bgiiigc^\\Q>:EHLOSVYaceggjnyiju^OLVš½ÉÌZacfhhijllmmmkkjhc>73..5Y€ZZhnoqrsvzywt—PnlÝÞÜÝÞÞâ¢JUTZNU¿æäåäàÚÁId_Zheeffghgffghhgda__adhiiiea_T?9EHKORTWboy€„ˆ¤poleXOJd¬ÁÎÆu\beghhiklmmmlkkjf=73-./27E>8>?AFGJOpeMe£eXgC7443444:DG{‰SSG<76653=J=nQahcffeeeeeefgghhfc`^^bfhjjj^93CJKMPSYajmjmk¶êllnlgZOOPÂÇÕ©^^abdefhjjllkkkg:47.*),-.////22344<91nŸVc]B;689988742Tp>:657:<97?H8`Z[´bedddcdeefgghgdb_^^`chjkb71BKMOPSZ`fflpm¹ñnronneRLIV¤ÄËÓŒY_bcefghgjkkkh^739/3E3-++*)**)))(''4ˆ‘MfQ;75499663225944644Igg9695JhN“cbbcccbbdeeffgfda_^\]agkb40BLORPSXadZMIIRqmsqstwhTNIjºÇÑÄk]abdfffghhie[U53852GLD=866-**)*)()i›}JjFIF=HYTF?C934334557pŒB@<6O˜mIhFQOJKLLKJQO;23344@R`€kNOQ@6`K_`[befcbaaccddccddddb_^]\`]-,CCCQ¶Óy]PMLPVQPmebde`b^SMKc³ÃÎÎvY`gfddeeeeebV>41111)'''&&%&'+K^af‰eDULNGBCFGFGBHF:75>GLSXXRMFIKACC^Xn£‚f\ababacccbccdeca`^\^Y+)B@>O—¯k]_cG7==;ifggqmhbRLMK€¿ÄÓ³_^bcbcddddca\N8/.//.-,..--.-5_“£‡ud?:C@CQVXMFC@WKF<8@NQPOIB=98<97B\\WŠaWjbaa`abbbbbcdddcb`^^W+(==<@Q^[`iibPFCDllgfnmqiSLLKU£ÂÈÒ–`^abccdeeca]YLFFFGIJLLJJKJIENk~‘‚rkMB@CKSQIDDCKRGFFJMPTWWRNOPQSW[\amWbbµÜ©e`aabbbbbcdddddb``Y-&9:8:?IQ[gmuskhhhqjfnorqf[NLKq¶ÀÏËrZacccefedba[WUSRRSTUSRSTVWVPLPpsr`^[[YXXZZ[[ZYZ[\]\[Z[[[[[[\[[]^^cPBqÂƼx]ababbbcccddedca]S,&6.40/13789<>;98twmkqonlnpYLKOŽÀÄÕ°``ccceffddea_][Z[[ZYWVVVX[^^^XCoaq\ZYZXWXXXXYXXXYXYYXXXXXXXXXXXYZ]\>Kdffcc`aabbbbcccbcdd[QLF*&60UU2&%%'%$##"!pojglmgfijdLJJ]«ÀÉÖŒ\cdceggfffeca`a``^\ZYWXZ^aciiJAMsYWWXWWWWXXWWWWVWXWVVWWWWWVWWWXYY_GXeccba``aabbbbbbb`\[QKJG*&61>IA7448755788nlmdhkotqniQIKKy½ÀÐÆo^ddegggggfedeeccb`][YZ[]^`ckRKfxXTVVWVVVVWWWWWWVWWVVVVVVVVWWVUUVVV^eccba``a`abbbbbba`^]XMH+&50(#-76654448;?BFJLOPQx}pkjheiimiaOJMKKŽ¾ÀÔ®\\`bcddffgghhggggea^\[\]]Sm|ovÃìÝÖŸa``bccefghjmjih|{xˆ—¤ª²¶³²²±¯­­ªªªªª«ª«ª®²ib`a```_]ZXTSONNNNPRU[`bdedotruulmflmnkjeZMKI^³¾ÉÓW^acceefgggggggggc`]\[\\Pf]X]ÓÞÑàæelnrttvyz}‚yz€Ž ´²­¦¡˜”““Ž‹‰†††‡ˆˆ‰‰Š”–e]f`a```^]ZXWVVWWWWUUY]afhhmurtsmnhgjklnsiQJKKÃÄÔºd`cdfgefhhhgggggfdb^]\\\M`QNM²á¢Óï²etvvvwz{}€„†ƒ•|†˜‘‹„~uokgc]ZWVTQPPQQQSVY]camx_aa```_\\\\\\\[\ZXXZ_cgiktmmmkkjgiillmiSJJJfºÅÍÖŠ]cdfggggghhggggfed`^]\^LKLKIVmc®ï¢m¥­´½ÀÄÊÍÕ¾–pmlaYRMIHHHJJKXUMLLLKJIIGHFEHMfd`aaaa`^^^^^_]]^^\ZXZ^bgmjlsrmjlnmggjhiTJKKL’ÆÅÓºb]_adefffgggffgffeb_]\]MCJGEIMUh…y™Ï¶ ™™šš³Û«Œƒ[LHEDFFGHIKIHGRM@?>><<<<<<;;<<;:8876765335788766666667::M`aaaaa````____`aa_]ZZ[_kklmrtsprkjlkjoeOIKKLŒÆÈÔ¾idefgihgfghhggffffc`]^O@AFDKOT[eƾ?;>B96:9;;855555555;BGFGFGFEC7w•Y;A?;;5334344339C@973344333235A>C[`_```aa``a``aaaaa``^\hijga``ghqzxrsmjmdSJMRY®ÉÇÖ«dffhihhgefggggfgfda`I5@GBGMS\ix©É\kßñíçëîä˜I>B43588865::9654559:423;;;63322;@=Q``a`aaaa`````aaaaa`_]rmmnkuorirqtst{€l]SJJLKyÅÃÍÔˆbeegeffefgggffgfecbI1>ICGLR\gv Îa\ÛïëæêîÑ>>=126<8952784221137746FXFD@:5426A;G\bababaa`_````aa````_ƒ|‚‚xuzxihpxvxzse\QJJKKQ ÈÅ×¾f`bcdedeffggfffffdcI+;HEFJSX]kÁmRÓîêêëê¼n9@:221DnY1121000001238_llmmw›X:A6128aslG2000////112=C@LRZVWZI32;A>Ia[?=AG\baa```aa`a```}xwxsnqa`gpyqijeYKKJT[Y˜ÃÁÕÁg^accddddeeefeeeddI/9CFQ¿ãÅmQbƒ€8<==<8W‰I>@;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏÇ·»¹ÉÏÎÎÎÎÍÍÍÍÍÍÍÌÍÍÍÍÍÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅ¢ˆwzng^jnmb_`]W\_TQ[RRQZeeffbeUQVXSPQTSRVRZ^`TRTQYZ\XVRSOQPI>?=6651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎĺżÆÏÍÎÎÎÎÍÎÎÍÍÍÌÍÍÍÍÌÌËËÉÊÌÍÎÌÊÇÄÉÊÊÌÎÌÇÃÀ²™zwndURb]Y\_`]a]VTQKLTY_ach]ZSOOPNKTRSQ^LUTXYVYY^YZVQPSNRJED>A<420.2ÏÎÍÎÎÍÎÍÎÎÎÍÍÍÎĽÌÂÅÎÍÍÍÍÍÍÌÌÍÍÌÌÌÌÍÍÌÌËËÉÉÊÌÉÅÃÂÀÆÆÈËÌʾ»ªŽ~wpWRPQNUWlpea`[XLC?LXP[`a]VTQKMKHKHPLYNQSTVUYZYZ\XROSMUOCF@>=3/.-,ÏÍÍÍÍÍÍÍÍÎÍÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÎÍÌËÊÈÇÅÉ¿¾¸Á½Á½ÃÊÇû®¢¥Š|ss^UUWXhh[nfe^UUQQVTcSOZ]SNVWQJIFMOQXWRPWYUSWWUNQYSQVPWV?46220.--,ÎÍÐÔÔÎËÌÌÉÈÉÉÊÌÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ½Á¹¸¨¿·¿¶¼Æ¼¼´¤ˆ…{oŠwa[^Z[ejUn]S[SMST\YUMPRXRQRUWKKKSRRYf\NUWVVTTYQMZWX[ZK@<7540..,,-ÎÙçïîãÒÊÈÁ½½ÀÅȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÌÌÌÌÌÌÌËÄÁº²¼¸®žº±¼µ²Á³¸²™„zxkfb`b`S[aYTdZSZ]OSQV[SUTNMNKKLSYUOQOPQcZNY[WQLNXVPSXQLJ@6=<:72.-,-.ÚîܸÁåè̽µ±¯µ¸¿ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÉÉÉÈÇÇÃľ±ª§«¯¥žª¬³¯±¸ª©žƒvvrjhQ^cZWcWP\g]Y_WKPPR[_`TPLLKMQLUWKNSLQ]]Y`\SOKOYUQUPQWIBB=;;961//--ìÍ€hmªê׳®¬­³²¾ÃÅËÇÃÊÍÌÌËËÊÆÊËËËÊÈÇÅÁ½½°Ÿ˜˜¤¤˜–¢®ª¬«¥¢˜‚slhfjm[UWT^_VV[XX`WSWSQTT]VQSNNSUQRTWQOVORY_X]WY[V]^RSYVSQ>>E:87775200/ëœ}{t”Òæ´¬ª®°²À¿ÅÉÆÁÊÍÍÍËËŽÇÌËÊÊƽ´­®±¶ªŸ”Œ—™˜“¨´­¬ •˜’xhceUf_RLHNV`XRR`g]_n\^c^TVNPONOQVRTQTXRZNN]\\fYb]he_RPMLIL@=?8854454.02¥•“”“˜½ë»©¨°®´»µÁÇÆ¿ÇËËËÊÇ¿µÄËËƸ¥š˜  —š”‡‘—’’ ©«ž‘Ž„tbcgZ\TPSQOX^_\hm\OS_OWoo[QNJMLJFJMLNNLPWTW]TRXX`g[ZVOIMGEECH@7543343015V^w|~{äÀ¢§°±µ´±¼ÈÆ·ÀÉÇÉÉȾ²ÃÊȼ±¥˜œŸ”–’‰‹‹€“”Œ‰Ž‘™‰ˆ‰ƒ|ttoaYSX[YOW[UT[g\RP]fg_\ZRSLJIGIGFEFNLR][VZUO\ifeU\RMUSIJ@?B9753313438_©lDMPBcžË¹âæÀ¸ÆÉÁÁ¹¾¾Éľ­ Ÿ”Œœ•š•ŽŽ†ŠŠ‰…„y‚}{uvwqqljeW]c``XRRXW\\aXS]SW^[WPINLNIBCEA?FEDBRGTW[V^`_[RcaUVWQLGDG966767;>GF?XNqvH9S‰ÐqÂìäæçèëëéêéèéñÆ™™”‰‹“’‹‹Š…Ž‡‹‰‚€ƒ{}Šyvuqsqmh`V\baZQVOQ]dbbSLRTg[aVMQRPJHCGSJCJKLFPQ\\YKWdcdT`cVPV]QD@@<:8878;@KAHNdlfWIGkÃm­ðíîëìëèèêææèêΖ‹‹ƒ‡ŠŽŠ‚ˆ‚—‡…Ž{|ƒ‡€|‰y{vuttvraUQZXYVXVNYZ]_edflpiQ[[SMQQGFFOTPQNOOIIUZ]ZMM^Y_\\geV^SA:9<<;:::;=<=LURSTTO\dccZSXX]ZR\WSSF<98;:79:99=<=EOTV_Z[afk_\\X[SYSSVWU@9888899878:??>=HIJKLPWPvƒÇæÛ˜CGGJVdQPRLKEK”~|x{€~~~€~x}}~ƒ€~|z}uqtywsnkeZSMKXWZRSW[ZVHV_[]WY_UKMUONJLNNOSTXWZlcZ[ZZVYXRVJMK?863_‚;7888;BDCEˆ`^[T‡Î±é£ŒÉÅyYE>@SVUUD<=B;88:5b­åÁx{~~ywyxv{z}}|~~€‚zwwlintynh`^PRTFHNTX[TPSQTUZUVVY_[QKEDBDFHEEFJRV\YTLURTRSNGEC=:6676YA88;<>==;@LNV`XQYZPW[NLF<;997673†äO17;:;AHJJäÖÔÒ˺„UI@vÀÈÏËÎÎÐÒÒÓÒÑÐÑÎÌÒÅ”}‚tzxwxzxvzx~|yy~zvtuvjkqihf^O]j\SSWZXPOVWZb^XU[YTLGD@@??;68>DHJ\gVSYVZ[TFBA;68887:5ƒáM/8<=BGHDQðòòòôé‘RMCpÄÔÛßààáááâããâáßÝÝדy~„wy{zxxxxwy}zww}|wuxskgmfgbb[gnbYMOYXUQSYW_YVYcYOIBA@ACA>>CIA>L[jk\KOdQG@:;:7;;::=8uÚV4=;>CIICV××ÚÊ™xPCGrÂÙÞééêëéééççèèéèàÙ¼ƒ|zƒy}}xurvuuzxrv{|zvxvkcegeea\[W\XNNVTMOS]ZXX[\[SUMH@AGHB>CRQJU\^jŒkQVXLB;766;@CB??;wéd7?8MTNejivˆg\]PH@>;:>EMJC=>9ók7<5=GHY`jŽ€ƒrYJJDe¸ääéèäâÌÎáÞÍÍæåèâáÖ†yqt~€™ ª«¨¥Ÿ—‘ˆ„‚ƒ„„ˆ’› ›‚^SV]XX\TPSPSPZ]Zd]TTQOIGHCGJGEHNMTjjisrbbjhWPLLPUUWTHIN9{õr879U[]kiisgehcXC=>8S¡éëëìêìéæëêäæêèêëíÔ‚zyxwœ„{rha[XZ`qŒ‰ib^WTSWXV]~eUNVY_YXTMNWUZc^_WONURME@=JWbX\ehnbZWX_adimknf_jxwqlfiiV…ï‚TU^vuoqjeLLKJNTN8/3J‰åííîìëïïîïïíéëííîÌzyxw“aLKLPUZWTWd€}WOKalgc\Q>Om`TWXXSQNOMS[XSXYSMPXSPX`^wƒualxjYTW\]^`ffl}„‚€„}‚…‡‡Š“¬“‰ƒ|}qrpfxxxwx{~Q*0EyàíãÜéìÛØ×ÖÙáïäÚåîÁxzyy|x@O`l|„Œo:82+,38;S`^`adS;<=GJJNH_sR450ytLkgedbbbabbdgknqsvwvtqmkjlnpollp~©Áê‹rhggfgec^^YXTSRm|Iw„‰“š¢€>uuuvtokhfeehillmnnoooonmnoprsuuuvs[‚487T‡‘‚E:4444@FBLY†‘f440\Iilkhedb``_^^`cfkoqstvvtplhgjmnmkjjv–ºÌµŽthgijiigdb^YV‹jg¢±µ´²°®£`uuuuttqkgedefhiklllmmmlllmmnorssufqr7GAY‘œ’MI;333452:K–Y741B™U]hkmnifcaa````acgknqqtuvusmggikmonljqŠ«À§‰skhijigfacœ\ccyj`SFOXprstuutqnhfdddfhijjjkllklljkmprmu^„eELINq]IJG@??=:7;^ŒL=957•kPf_VXfmjgca``aa__`ejlprsuvutpkggjmnmljisŽ²Ç¤nijkjewžTXD7:3=egknnkgca``a_]]_ehlnprrsttqjdceiklkifdsŸÇϵŽsrœRF:=25DVC::ijlnpqstsrplgcbaabccdfghijmX298AOA656527?@::<988;75966AEBF@8::GA007D[ecdhmookhedffdb__aeilopqrstrpjedeikkjifeuœ½¼­ŸkO@9<9BnsrH6fikmoqrssrrplgdbbbbccdgiijlfD51.1XH;:99877755776567777567789<>IB5Tekmjgecdhlmmlifeeeda__beilnoprrssqlecgijjjjaW\]p€›WFFGF@At†ˆD=`dgjlmpqrrrpnlidba``abdghiijjdu{;WL:::9887767776656666667788:EDCEÅ{\cgijkmorspppnkfcb````bddegeu›mQeaE24432222333H=4444323325r¥tMNifhjkljkkkidb`_adecbb_\\\\\[ZZ[]`bfikllkjjgc]ZmyS\ƒld_PFNUYWVÉÁsZcffhjlnpqpoookgca`__`bcdegmyfd¢¢¹d111222133496553332223c§ ˜KGffghijjkjkjigc``aceecb`_]^`_^[YZ]_cfijlnnnnjea‹¸†unkmddbURfsmk½ÌµaZacfijlmrqooqolgb`_```bcdgn[9vœ¬™]0-00000364573001374d¬£¶«…>?afghiijjjjjkjifca`bghgedaaaaa`^]]^adhjlnoppolm~¬ƒm_bbYXXXVgh^[ªÀϤZ\aeghjlmoopqpnlhc``__acdbd[*Y£Ã¨ÃÆk[KEEHKC;‘t9M\ZSPn‹ËïÔÅÇo18prgghhiijjjkklkifa`cfhjhgebaaa`_^]]_bdgjmoppphh¦~jWSWVVVUTXYVUv³ÃÎX^cefijkmnpponnlfb`__`ab`QG-@‘ÓÀëðÓ s[]aU³•Lskg]\‘¸ðìâײF/7¬¬scfhhhijjkkkkkjgcaabgjkifca``___^]^`aehkmorcX‘l_USTUVVUUVVVVNŒ»ÇÉuXabfhjjlmoponnmkgc`__`abM3.1UÃÁÐ×뱑]^aYX|ìÛae`lko±°¼žsaN+,-]ghacddeggghhijjkjhda``dgiigda_^^^^^]]^`bfilp^Qzh[TNSVVWYYYYXXYx­¿ÍµeZbfgjjlmnonnomlkea__``aN/.-1EGOstxŸ^gso^…äØwfqpjg{FCPEJT_jr‰‹–˜˜˜—–”Œ‰xnijjjkigdb`adhihfc`^^^^][\\^_cflXQjfXv“wamnXZ\]\YWXx·ÃÍ¥]^dfgijlnnnoommmjda`__`C,,+.147>=GTUZew‰›¿Â¢”€ob^p~–£ª­¯®®­¨¦¦¦¦¦¦§¦¦§¬§ž|hjjjjihfb`_behiigb_]\\\\[[Z\_fPLV^GŠÀ»®ÄßGHEQuPJMƒ¹ÁËX]acfhijllmnmmmlhda_^`B+,1569<@GRct£ÄÐ×Þèëäãâߨ–®“œ“ŽŠ…€~zxwwvvvuuuuuz~‘ngiiijkjgca`_beiigd_\\\[\[[Z\_KGJREuÕÝßÙîäzFD>]RLQºÃÅvT]_adghiklmmmllkhc`__H,-.27:@HSazŒ¼ñêîíìëííîñ·£~gkebb`^\[[[[\\\\[[\\]\\izhggiijjigdb`^`cfghe`^]\\[[[Z]JABJKNªµÄÐÇèÚb@;WeXOJ\§¿É¼jZ_adfhhjlmnmmmljfb__M,-./4:AM]t“²°îçïïððñññôÈŒ[\ehnomnu€Š£·“Ž‹„||}~{umvqffghhiiigfca__adhigda^\\[[\]J=@GLOSZ|•£éóŠKFDjaPLIp¶ÀϬa\adeggiklmmnmlkiebaO.../25=GIS`ráÚÖÒÊÆ¿¼¿¶rdrƒƒ†…ƒƒƒ}\S_IQ‚Ž‘’Œ{wXsfeefggiiiigdb`_adgjihe`^[[\]K=>FJOQUWYpª›yqj_lneRLL†¼ÂÑ—Y_cdfghjkllmmlkjidcP00.0=F¶Q,/4KQNNMIHHGFn–Wn“µ¼ÂÉÏÑ×–OIABK’àßÝÖÖÚÜ­rYcjdeffgihhjihfc`^_bgiiigc^\[]M>uPeefffffffeeghhgda_^_bgijjgdaT>9EILORTXbpy€…ˆ—qkkmfSTg…»ÆÓ¼k]cdghhiillmmkkkiR0:---11:A:<@@48532442e¡^b[o˜—›¢©ª”PSU}dQ]¶Ì¿²œ‡uY8b^Xfbffeeeeeefgghheb`^]`fikjigX;7EIJNQTYamttvu¬llnlhZOOPÁÇÕª^^abdefhjjlllkkkR-;.-,/136<=>?DGIL`wTK…˜OhW=7567987@JUªuRTNH=9732CCImM‹bedddcdeefggggdb_^^`chjjk]83EJLNPTZbjjjlj¸nronnfSLJU£ÄËÓY_bcefghgjkkjkjQ,;1,**-,---,.//0024/9“†LnN?:79988864<…j@>63799:8EF;oNudbbcccbbdeefegfda_^\]agjl^52DLNOPTYaeeknk¨msqstwhTNIj»ÇÐÇo\abdfffghikkg_I+;4,E@0+++))**)**()'HŸsNjE87467665332@>24658GYO59;4a[Xaaedbbcbbcceeddeecb`\[]`dj^11DKORPWYbcVC<==mmkjjke\RML”ÅÈÕ¦Z_`cdeffffgf]VG,:627LF@;780******+7~œcTaCC;:ITH<=:33323452>€”w7;74LfPcbˆsabbaabbddccddddb_^]\^d\-0DGJN~‘n_TJE030mebde`b^SMKc³ÃÍÏwY`gfddeeeefcXH/944-7887..,*,**+14lšŠV]XHSLJPRNKNRD333334CPq‡dJPI8>fIc_^`deabaaacccbccdeca`^\\`Y+.DBAUÅÒr\QRJOWSifggqmhbRLMK€¾ÄÒ²^^bcbcdddeed\K54001,&$%%%$&'%.HQR}zOWTMMGDDEEFDFK;444?CNW\]RKIOF@MHbUy’yb\aa`abbbbbcdddcb`^]]U(+B?>NŠ•e^acI467llgfnmqiSLLKU¢ÁÇÓ•_^abccdeddb^WD200110/010/00.Ek|Š„€pS=GHCEKRSKICERIF::GQPONJE?8;>84FaPq’hn¡h`aabbbbbcdddddb`^_U)*=<;>MWY`imj[OLhqjfnorqf[NLKp¶¿ÎËrZacccdeedb_\SJGHHKKMNMLMLKJJd‡Ÿ˜xmY;8:?MXQH?>=OOBA?CHOTUTJEHHJLQTXfeXhI€Á|]aaabbbcccddedda``V*)9869>FMXbhopiftwmkqonlnpYLKN¿ÄÖ°`acccdefecb^YVUSSTTUTSSTTWXUPSnyogXWWWVUUUWWXYXXY[\[Z[[[\[\[\\]_^beOI]ebb`aabbbbcccbcdddb_ZM)(6-:0+-.0//1311pojglmgfijdLJJ]«ÀÉÖ‹\ccceefedec`_^\\\[ZXWVVWZ^`^ZMXsek[\[ZYYZZYYYYYYZYYYXXXYYYYYYYYZZ`T>Qecba``aabbbbbbbbbcaUMJD'(61\Z6)''+('&%$nlmdhkotqniQIKKy½ÀÐÆn_ddefffefecbabaa`^[ZXXY\_belX?M^lVXXXWWWXXXWWWXXXXWVVWWWWVWXXXXX]ZC\edba``a`abbbbbbb`[XPMJF'(517;;866886589icigeiqsosr_KKZe—¿ÃÔ®bbcdeggggfedeedccb_\ZZZ[]^`cb@KkmRWWWWVWWWWVWWWWWVVVUVVVVVVWWWVUXVR`dcbb`_^__abccbbbaa``ZMF))4.'%.544322124gkkinnjknspkTIMMW¤¿ÆÕ^bdeggggghffffefda^\[[[\]_dg`zspRVWVWVVVWWWWWXXWVVVVVVVVVVWVPXegSkbdbbb^‹¾Á¨faabbbbaaa`_VF/.1-,-5)&''&&%%$xsspsniikjgidLJJIm¸½ÍÊs\bcdfffgggfgfffeea][[[\\^adwƒlvrqhYVWVVXYXXXXYXXXXXXXXXXXWTb‰–‡Uccaaab_sÆÞݘ]ababa`_`_]YRB3+)*+/&&%&'()))x€}pkiheiimhaOJMKKŽ½ÀÔ¬[\`bcddffgggfefffd`]\\\\^Z[z„u{™¥¥m[YZZZ[[[[[[\\\]\[\\[ZXTa”ÅÒ¶e^nnoooolq~wm`^hiaa```__[WTJA?><<>DGKPTVVWotruulmflmnkjdYMKI^´¾ÉÒW^acceefgggffggffc_]\[\^V[||uˆÔÞÕ¯n[^^___a`aaabbbaj`_bjs|—ÆÎÔϱ®³´³²±²´±­ª¥¡zwe``````]ZXUTQPPPPQSUZ_cefmtrtslnhgjjlnshPJJL‘ÃÄÕ¹c`cdfgefhhhgfggefda^\[\]TZkeYŽäßÛå®eggjmoqrwx~vvs’ž«²´²¯«§¤¡¢¡ŸŸœœœž  ¡¦®š`]aaa`a`_]ZYXWVWWXWTTX]afhltmnmkkjgiillmhSJJJfºÅÌÖŠ]cdfggggggggffgfec`]\\]RY\RIxéÕ¶êå}ksrttuvwx|}|}‡žª¡œ˜”Š†‚}yxvsqqpopsttx€‡jhn_aaaa`_\\\\\\\[[YXXY]bgljlsrmjlnmggjhiTJKKL’ÆÅÓºa]_adeffffghffgeedb_]\]UOONIQ‘Šçå~r„ˆŽ“™Ÿ¢¨¯·»¬›jƒˆwog_]XTPMKKJJHHGHHHGIMNPUcvaaaaaa`_^^^^_^^_^\ZXY^dimprmlmprplgjkfSLKLJc¸ÆÌÕŠ^deffgggfghgggfffda_]]XGDMFHIP\¡©yœÂ¿½¾ÀÆÊÎÚØŬŽf]VNJHGGIJLNNNgbONMLJIHGEECCCDXbaaaaaa```__`__``_\[XZ`kklmrusprkjlkjoeOIKKLÆÈÔ¾jcefghhgfghhggffffc`]\YGBICFLQX\h‘Ù®NGDBADG²ÞektLEDCDEDDDCB?><>;78887667877899;Va``aaa``````__```_][Y[iqurprqlnhjheirbKKKLK^µÉÌÔ–`eefghgggghhgfffgda_][F?GCFKOV^mšá€2:=>>=DË÷’‡V<:::877766776545889:876666666;FDFOU\cm‘Ù=BADFHH›ÕŽB;:;<>?@ABBA:OX?8<::<854455554:BA446676669:8UW?59<:62245433333>?>Wb`a`aa`_``___``_```_ƒ|‚yuzxihoxuxzsd\RJJKJQŸÇÅ×½f`bcdedeffggfffffca]88CGCJOV`o€¿ªGïìçâêíÐ~>?=137:89549973234499436FA@943329@:Kaaaaa```a``````_`aaa†|uxrqilrmifohaccTJKJ]f~»ÃÊØ‘\aacceeeefffffffdb_53BIDGKS^i~²¶F†õòñññð¼k9@:126?@=42652001125658LVFFD?8424@;CYcbcbbbaaa```aa`a`aa|xwxsnqa`gpyqijdYKKJT[X˜ÃÁÕ¿f^accddddeeefeefec_42?IDTpv_Td…§Nc¯´´³³³ŸS:A6212T€]311000//0223:>AFLSONK;22>>>Mce\^`abca```aaaa`aa‡††††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxyyyzzy{{zwuxyz{zzyz{~€€€††……†††††…†††……†††††‡†††††††…{xuttvuvyxxyyz{zywtvvxzzxwy{~€€€……………†††††…†……††††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyywxyz|~€€…………†††…††…††……………………„……ƒ„……„‚€~zyyxwy|{yxwz{{{ywvvxyyyzzz}~†…………„……†……††……………………ƒƒƒ‚ƒ„„ƒ~|yxwyz{zyzz{{{zzvvxyxyzzy{€ƒ‚ƒƒ„ƒƒ…………†……………………„‚‚‚‚‚‚€€~|zywy{{zz{|}{zyyuvxz{zzxz}€‚ƒ„‡‚‚‚„……………„…†…„„…‚€€€€€€|}~}{zzwwwyzz|}|{zzxwwwxxzzy{}~€€‰ˆˆƒ€‚‚„…††……ƒ„„„‚}~~€~}{{}|zyxwxwvy{}}||{yxyxwuuxyy|}~€€†‚‚„€‚ƒ„…††„‚ƒ€}zz{{{|}}}~||z{|zzyxxzxxzz||}}{zwyyvuuwwx|€€€€†ƒ…‡~€‚ƒ€|yxxwwx{{y|{yyxy{yzzyxyyy{{|}~}|zzyxwvuvuw{~€€~Œˆ‰‹ƒ~~{zyyyxwvwzzxzyxxxyzz{{yvwxwz||}~}|zzxwxtvvvw|‘‘’‹€ƒ…„„…„€zxyywvwwwxuuvvuwz{|zzyuuvwz|{}~}{yxwwwwwxy|~~~ˆ‰‡…‡‚ˆˆŠŠ‰Š…zwxxwwwvuustvuuw{||zzx{{yzy{|~~}{xxwwxwxz|ˆ}|}‚‚††††…‡…~xuwuuvutttuvtuwzy{yxz||z{z{}~~~}zxxyyz{}€€ˆ€}{~‚‚ƒ‚‚‚‚‚‚~vsusuvvsstuuttvxwzyy{zyyz{}~}zwwxx{~€€}}€|x|~€€~€€wsuwz|~€~|wxyyyzzzxxxz}~~}wstuw|~}}~~~€}wr||~‚‚~~utzˆŽ‘…wyxyz{yxxy{|}zzxvqpqpnsrqqqv{{xroo}}~‚€€€€€€~usŽŠ†…ˆ‡‰ˆˆ‡‹‹}yz}||z{{zxsnhoosssqmhghgeeehfdhjlƒ‚ƒ„…„„……„„ƒƒƒ€…†~}ƒƒ…†††‰ˆ„€‚‚‚‚ƒ‚}xuvxyzyzyxwxxurqrpmrx{|ˆ‡‡‡ˆˆ‰ˆ‰ˆ‰‰‰‰ˆˆ‡†‡…ƒ…‡„„‡„€‡ˆ„ƒ„„ƒ‚‚ƒ„„…†……‚€€€€€‚ƒ„ƒ„„„„‡ŠŠ‹Š‰‰ˆ‡‡‰‰ŠŠŠŠ‰ŠŠˆˆˆ†‰‰„†‰‰ˆˆ„~†‡„„„……ƒ‚‚‚‚‚ƒ„†‡†……‚€€‚ƒ‚ƒƒ…†…ƒ‚†‰‰‰ˆ‡‡ˆ‰‰ŠŠŠŠŠ‰‰‡…‰ˆ…‰Š‰‰„}†‰…ƒƒ„„ƒƒ„ƒ€€„†‰ˆ‡…ƒ‚€€€€‚ƒ……ƒ‚…„‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠŠ‰‡†„…†…‡ˆˆˆ‡‚|…Š‡„‚„‚‚ƒ‚‚‚‚€€€‚…‡ˆ‰‡„‚€€€ƒ†‰Š‰Š†ŠŠ‰‰Š‰‡††‡ˆ‰‰‰†…†‡†…‡‡‡‡†††…‡ŠŒ‹„„„ƒ€‚€€€‚„‡ˆˆ†ƒ€ƒ‡ŠŠ‡„‰ˆŠŠ‰ŠŠ‰†††‡ˆ‰‰ˆ†‹ŽŒŒ‹‹‹‹‹ŒŒŒ‘‘…†ˆˆ„‚€€€‚‚‚€€€ƒ†‡†}|‚‡‰Š‡…Š„‰‰Š‹Š‹‰††…†ˆ‰ˆ‰ŒŒ‹ŠŠ‰‰‰ŠŠŠ‹Šˆ‡ŠŠ‰‡„ƒ‚‚ƒ‚‚€ƒ„~}‚‡ˆ‰‡‡‡€†‡‰ŠŠ‹‹‰‡……†ˆ‰ˆ‹„ƒˆ‰ˆˆˆ‡ˆˆˆ‰†|„‰‡‰ˆˆˆˆ†ƒ‚‚ƒ‚‚ƒ‚‚€€€‚ƒ„…ˆŠ‰ˆ‹‹}ƒ‡‰‰Š‹‹‰‡……‡ˆ‡‡€„†††……†…„…‚…ˆ‡ˆˆˆˆ‰ˆ‡„ƒ€€‚€€€‚††‚„€„„||†ˆ‰ŠŠ‹‹‰‡…†‡†…ƒ‚‚‚‚ƒ„ƒ‚‚‚ƒ†‡‡ˆˆˆ‰ˆ‰‰ˆ†ƒ€€‚€……}wtrss}}~ƒ‡‰‰Š‹‹‹Š†…‡…„…†……ƒ‚ƒ‚„……ˆŠ‹Š‹ŒŽŽŽ‹‰‰ˆˆ†ƒ€€‚‚‚ƒƒ‚ƒ„~}zww{~}}„ˆˆ‰Š‹‹‹‰†…„ƒ…‡‡‡„‚€‚‚‡””•––••••••Œˆ‰‰ˆ‡ƒ‚€‚‚ƒƒƒ‚}€€v~|†‰‰‰‹‹‹‹ˆ†ƒ‚„………ƒ€€€€ˆŒ‹ˆˆ‰‹ŒŠ†††‡‹‰‰‰‰‰ˆ…ƒ‚€‚‚ƒƒxvwz}y|oz~}‚‡‰ˆŠ‹‹‹‹‡‚€‚‚‚‚ƒŠ„|yz~‰†{zz|ˆ‹‰‰‰‰ˆˆ‡„‚‚wrqssrvhm{}z~ƒˆ‰ŠŠŠ‹Œ‰„ƒ‚‚‚‚‚‚‚†Š…~|}‚ŠŒ‰}|}€†Š‰‰‰‰ˆˆ‰‡„ƒ€€vqqrtxjiq|}~…ˆ‰ŠŠ‹ŒŠ…‚‚‚‚‚‚ƒ„„ˆ‰‡ŠŠ‰Š‹‹‹‰ˆ‰‰‰‹ˆˆ‰‰‰‰ˆ‰‰…ƒ‚€‚xrrrw…kjkw€~}ˆŠŠŠŠŠ‹†‚„„ƒ‚‚ƒ„…ˆ‡…ŠŠ‰‰ŠŒŒ‹…ˆ‰‰Šˆ‰‰‰ˆˆ‰‰‰‡„‚‚|wxv{€‚nmmt€}}„‰Š‰ŠŠ‹‡‚„…ƒƒƒ„…‡Š…„†…†††‰ˆ…~{ƒ…†Šˆ‡ˆ‰ˆˆˆˆ‰‰†ƒƒ‚€~€omjnx~|€‡‰‰‰Šˆ†‚‚‚€‚„†ŒŠˆ‡†‡‡†‡ˆ‡‡†ˆŠŒ†‚…ˆˆ‰ˆˆ‰‰ˆ‡„ƒ€klhikz}}ƒ‰ŠŠŠ‰‡†„„„„ƒƒƒ‚…Ž”“““”””””••”•–—•‡„†‡ˆ‰‰ˆ‰‰Š‹‰„ƒ‚ƒƒnniher€~|†ŠŠŠŠ‰‰‰‰ˆ…††ˆ„…Ž”””““’’“““““‘’’‘ˆ†ˆ‰ˆˆˆˆˆ‰‰Œ‹„€€ƒ†‡‡‡ljhgfl{~|€‡‹ŠŠ‰Š‹‹‰‡††‡„†ŒŒ‘‘‘Œ……‰‡ˆˆ†…ˆˆˆˆˆˆ‡„€‚ƒƒƒ„fgghhiq}€}}ƒŠŠŠŠ‹‹‹‹‰‡†‡…ˆŠ€ˆŽŒŒŒŒŒŽ‹„…‰‰‰‰‰‡‰‰‰ˆˆ‡…„‚~~ihgfghhu€}‡ŠŠŠ‹‹Š‹‹‰‡‡…‡†~{‰‰‡ˆ‡‡‡ŒŽ‘‘’““’““’“Š‰‰‡†„„„ƒ€jhgdgjhs€~~„Š‹ŠŠ‹Š‹‹Šˆ†„„…‚€……ƒƒƒ„ˆ””“’‘‘‘Ž‘‹ˆ‰ˆˆ‡‡‡†…‚ihgfikin}}€ˆŒ‹ŠŠ‹‹‹Š‡„„………‚ƒ‚ƒ„‰ŽŽ‹Š‰‰‰‰‰‰‰‰‰Š‹Šˆ‰‰‰ˆˆˆˆˆ†ƒjjjkjihkt€~‚‹Œ‹ŠŠŠ‹‹Š‰…‚„……‚‚‚ƒƒ‚ƒˆ‰ŠŠ‰Š‰‡‰Š‹‹ŠŠ‹Š‰‰‰‰‰ˆˆ‰ˆ‰ˆ‡mkijokhjq}‚‡ŠŠŠŠŠ‹Œ‹‹†‚ƒ„„‚‚‚„‰Š‰‰‰‰‰‰Š‹‹‹ŠŠŒ‹Šˆ‰Š‰‰‰‰ˆˆ‰‰lmnoqpmpt|€~}~‚‰Š‰‰Š‹Œ‹‹‡‚‚‚‚‚‚‡ˆ‹‰„…‰ŠŠŠŠŠ‰ˆˆŠŠ‰ˆˆˆ‰‰‰‰‰‰‰‰{zzzzzzz{zz{{zzzzyyyyyyyyyyz|ƒƒƒ„„††‡‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yzzyyzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†‡†………………††…†‡†ƒ‚‚zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zzzzzzzzzzzzzyyzzzzzz{z{{{{z{~€‚…„„„……„ƒ„†‡‡…„„ƒƒ„„…ˆ‡‡‡…‚‚‚‚€€x||{zz{{zzzzzyyyxyyz{||~}}||~€‚„„„„………„…‡‡‡………„ƒ„…†‡‡†…„‚‚€€{‚~|}~|zyzyzzzzyzz{}}~~}ƒ‚ƒ„„„„……‡††††…………„„…†‡‡††ƒƒ‚‚€‚~€€~|{zzzz|zyz{|}€€€€€„…ƒ„ƒ„…„„„„…‡‡†„…†………„…†‡††‡„ƒ‚‚‚‚~}€€}|{zzz}{{~€ƒƒ‚‚€‚ƒ……„…„„……„„„„†‡†„………„………†††……„ƒw{}€€€~}|{}€…††…„„ƒƒ„‚„…††……………„„ƒ„…†……„„„„„„„…†‡†…„ƒ‚‚‚‚t}€}€~ƒ„ƒ…‡‰ˆ‡†…„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††ˆ†…ƒ‚‚€‚‚z|}{ƒ‚‚‚ƒ„††‡‡‡†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒzyzy}€€„‡‡‡…†††………†‡ˆ‡ˆˆ†…………„…………†……„„„ƒƒ…††††…„ƒ€€‚ƒ€€ƒ†€€}|zwz|€ˆˆ‡†††††††‡ˆˆˆˆˆ†„„„„„„„††‡††„„…„ƒ…‡ˆ‡„‚‚‚‚‚‚ƒ„„„‡‰…‚€}}~~…†‡‡††…‡ˆ‡ˆˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„„„†‡†‡ƒ‚‚‚‚„…‚ƒˆ‰„‚€€€€€ƒ‡‡‡‡‡†‡ˆ‡‡ˆ†‡ˆ‡…„„„„„††‡‡ˆ†„„ƒ‚ƒ„†ˆ‡†ƒ€€ƒƒƒ€‚…„ˆˆ‡„‚‚‚‚„‡†‡…„„ƒ‚‚‚‚‚ƒ…††ƒ„„„„…‡†‡†…„„ƒ„……ˆ‡…‚€€‚ƒƒ‚„ƒ„…ƒ€‚‚‚ƒƒ„ˆ‡„€}}||~~~|}…„……„„…††‡‡…„ƒ„„‚‚‚||~~€ƒ‚€€‚ƒ„‚€€‚‚ƒƒ„ƒ‚‚…ˆ‡ƒ}|||€~}}|}„„ƒƒƒƒ…ˆ†††‚~|}||zz{{{{}~~~~€|~€€€€‚‚ƒ„|||{|||yy}}|‚€€€……„„…€~~~€€€€~~€ƒ~~|}}}}|}|}}}|}~|y{zwz€~{€€€€€€€€€€ƒŠ„ƒ„ƒ‚‚‚‚Ÿ¢£|~}|||}}}}{{}~{…~xxxv|ƒ€z~€€€€~€‚„‰†‚‚€…Š‡„||}~~}|}}}}||~}{}„~y{yxˆ€{}€€€€€€€~ƒƒ‚‚ƒ‚€‰y{{y}|||}~€~~}}}}~}|}}{{|}‡€{|~€€€€€€€~€‚‚‚…†€Š~{~{~}}}}}€€~}}€~}}}~~~~||}€€€€‚‚€ƒ‰ŠŠ{y‚|€~}|}}~€~}~|||||}|}}}~}}{{~~€‚‚‚€}‰³´‹zy}z}}}}~~~€€~}}}|}}|}|}}~}|}}}€€~~}~~€€‚‚‚‚„¥ª˜•„€‚…„ƒ€~}}}||€~~}}Œ‰~~}€}~~‡~~~~~~~€€€€‚‚‚ƒ‚ ¤§£¡¤„ƒ€~}}}|~€~~€‡ˆ€‚€€ƒ€~~~~€‚‚€œ»¾Ãº½‡„‚€~}}}|}€ƒƒ‚‚ƒ„€ƒƒ€~€~}}}~€‚‚„¾ÎÏÔÕÔ“‰‚€~}}|}~€€€€‚ƒ„‚€}}}}{zyzyyz{}~~~€€‚‚€Š†” ­³¸ƒƒƒ‚€~~}}|~€€€€€}~€€€€~zxxwwxwwwwvx|~~~}~‚‚€‹µ–}ƒ„ƒƒ‚‚€~~}}}}€€€€ƒƒ„……ƒ}{|~‚‚€~}}|}}}}}€Š½Ê»¥—¬£‚‚‚‚‚€~}}}}}~€€‚ƒƒ…ˆ‰ˆ‡„}|}~~~{{|}}}~|{}~}}~}~‚‚‰½ÏÑÏÉÉÄ{}‚‹‚‚€~}}}|}~€ƒƒ‚‚„…„ƒ€}|€}xxy}€€{z}~~|~~~~€‚‚€…»ÎÎÍò}{ˆ‡‚ƒ€~}}}|}€€€€}}|}~|xuw{~{{}}~~~~~‚‚·ÎÐг‡~||€‚ƒƒƒ€~}~}||€€€€€€€|}|{||{{zz|ƒ}{|}€€~~~~~~~§Ä°½”~€~‚ƒ‚‚ƒ}}}}}€€~|}||}|}~||}‚„}}|~~~~~~~~€‡†ƒ„€|€‚‚‚‚‚~}~~~€{|{}~}}~}||~}}|{y~~~~}~~€‚€‚‚‚~z|}€‚€~~~~~€€€€yxwxwwxxxwvwwvvtv~€~}~~~}|}€€€€~zyz~ƒ”‰~~~}~~~~€€€€zwwwwwwvwvwxxxwxx}€~}~~}|{€~~~€~yxy}„‰…‚~~~}}}|}€€€€}z|{xxwxxyxxxxyz~|€€~~~~~~€‚€€€€€~zxwz‚‚ƒ~~}}|||~€€€{{ƒƒ}yz{zz{zzzy{|~z{{{|}~}}~€‚‚‚‚‚ƒƒ~zxwxyƒ‚‚‚€~}}}|||}€€}……ƒ}}~~~~}zyywwwwwvvwxxx{~~€‚‚‚‚‚‚~yxyzzƒ‚‚‚€~}}}}|||}€€€ƒ‚ƒ‚}yyyyxz{|{{{{{{{}~~€€€€€‚‚~{x{|{~ƒ‚‚}}}}||||~€€€ƒƒƒ…‚}{|||||}}||||{z{{~~€~{{}~~€‚‚‚~}}}}|||}~€€~~€ƒ„…‚}|||{{{|||zzzzz{|}~~ƒ‚~€„„‚‚‚„ƒ‚€~~}}}||}~€€€€€€€ƒ}{||z{{{{z{|{{{|}~~ˆˆ‡ˆ‡…„…†„‚˜Ž~~}|}}||}€€€€€€€„…„€}{|zzz{zz||{{z|}~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÎÍÍÍÍÌËËËËÌÌËËËËËËËËËÌÌÍÌËǽ³¯¢€qfkuiigkkqcfaV\`\[b[T[`]^VPOSYX_d_cRTUVUVSSXTPW_][WTMD>9;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÁÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÍÆ´›¤”txq]^_p|n\]lkgZYYZ_YVTO^f_[RPOPYW\fgfOU\_YPPKPQX^aZUNLI@?76521076ÍÍÎÎÍÍÎÎÎÍÎÍÍÌÍÆÀÄÀÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ£Š‡pkkpljorszy^`_bcZYZZZ\RSV\bXYYVTRTSV[ebQQXZTLNMRQ\b__YQGA?;951220/1ÍÍÍÎÎÍÎÍÍÍÌÌÌÌÌÇÀÅÁÉÌËÊËÊÊÊÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’ylpwwr~dd_[fXaccZ[WU_XSXedQOSVWRNLWOYfPNSWYPLROPX`]`USUOH?<84220--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎȾÀÀËÎÎÎÎÍÍÌÌÌËÊËËÊÊÉÉÊÉÊÉÉÊÉÉÊÉÈÈÆÈÉÊÊËËË̼“Ž„~r`k{kbg_^`Vi`VWTSM\a_`plZPOT[SMIURSWRYZXTMOQUZ_XVZQOXNI>>A;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏÇ·»¹ÉÏÎÎÎÎÍÍÍÍÍÍÎÍÍÍÍÍÍÌÌÌÊÊËËÌËÊÊÆÉÊÊËÌËÇÆâˆxzng^jnlb_`]W\_TQ[RRPZeefgbfUQVXSQRTSRVQY]`TRTQYZ\XWSSOPPI>?>6651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎĺżÆÏÍÎÎÎÎÍÎÎÍÍÍÍÍÍÍÍÌÌËËÉÉÌÍÎÌËÇÅÊÊÊÍÎÌÇÃÀ²˜zwndURb]Y\_`]a]VTQKLTY_aci^ZSOOPNKTRSQ^LTSXYVYY^Z[VQPSNRKEC>A<421.2ÏÎÍÎÎÍÎÍÎÎÎÍÍÍÎĽÌÂÅÎÍÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÉÉÊÌÉÅÃÃÁÆÆÇËÍʾ»«~wpWSQQNUWlpea`[XLC@LXP[aa]VTQKMKHKIPLYOQTTUUYZYZ\XROSMUOCGA>>3/.-,ÏÍÍÍÌÍÍÍÍÎÍÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÎÍÌËÊÈÇÅÉÀ¾¸Á½Á¾ÃÊÈÄ»®£¥‹|ts^UVWXhi[nfe^UUQQVUcTOZ]SNVWQJIFMOQXWRPWYUSWWUNRYSQVPWV?46220.---ÎÍÑÖÔÍËÌÌÉÈÉÉÊÌÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ¾Âº¹©¿·À¸¼Æ½¼´¤ˆ…|o‰wb[^Z\ekVn]S[SMST\ZUMPRXRQRUWKKKSRRYf\NUWVVUTYQNZXX\[KB<6530.-,,-ÎÚêðîâÒÊȽ½ÀÅȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌÌÄÁº³¼¸° º±¼µ²Á´¹³˜…{ykfa`b`S[aZTdZSZ]OSQV[TUTNMNKKLRYUNQOQQcZNY[WQLNXWSTWQLK@7=<:61.-,,.ÛïÓ¶Èèè̾¶°¯µ¸¿ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÃÄ¿±ª§¬°¥žª¬´¯°·ª«ŸƒwvrjiQ]cZXcWP\g]Y_WKPPR[_`TPLLKMQLUWKNSMR]]Y`\SOKOYUSVPQWICC=;;961//-,íÃwgr¬ê׳®¬­³²¾ÃÅËÇÃÊÍÌÌËËÊÆÊËËËËÉÇÅÁ½½± ™™¤¥˜—£¯ª¬«¤¢™ƒslifjm[UWT__VV[XY_WTXSRTT^WRSNNSUQRTWROWPRY_X]WZ[V]^SSYVSP??E;8776520/.☄‚|—Ó泬ª®±²ÀÀÅÊÇÁÊÍÍÍËËƾÈÌËÊÊƼµ®¯±¶©Ÿ”Œ˜™˜“¨´­¬ •˜xgceUf_RLHNV`XRS`g]_m[^d^TWNPONOQVRTQTYRZNN][]fYb]ie_RPMLIL@=?8854453.02•ŒŒŽŽ“¯ç·ª©¯®´¼¶ÁÈÆ¿ÇËËËÊÇ¿¶ÄËËÆÁ·¤›™¡ —š•‡’—’’œ¦ª‘…uddgZ\TQSQOX^_\hm\OS_OWon[QNJMLJFJMLNNLPWTW]TRXX`g\ZVNJMFEECH@7543343015XVt†…€̽¢¥°±µµ±½ÈÅ·ÀÉÈÊÊȾ³ÃÊɽ°¤˜œž”–’ˆ‹Œ““‹‰—‰‡‰ƒ}utobYSX[YOW[UT[g\RP]fg_][RRLJJGIGFEFNLS][V[UO\ifeU]SMTRJJ@?B9753313438=Nw½ÔØÉŸÎÉIJ®®ªª¶Ã¹©¯¶²º¹Ç¼¯½Ã·©œž—› ““…‚ˆ‰€}ˆˆ‹„‚€‚€~xun`UUST]YTYTRXfPPN]cbRR[XSLKLJJHEJJIQV[aRXQPlrcd^a\T`XUSH=:;86432265:@jŠÈÏÏË”sËóèÌɦ  ¦¦œŸž¡¡¡¨·®¤¡§˜™˜Ÿ—™’•Œ…ƒ„€~ƒv‡‡„|}{|tpph`VPZgZQURU]YNX[\]WQQPRSMJPQLNQPFBJOT]PQM^``_Yei[QU^ZESF=<<9555499;=ˆ©®dS`Of¤êâçì°¢°¡›œŸ£ª¥¡¢¢Ÿ”“’›™Ÿš‘–Š‹‡‡‚|€x„ƒ€y{wtphheXVZPX^YT[Z\YUZYZ\ZTPKVTNMOJBCEE@?EHHQJRSX[aX`m\^OZ]ZIEC@?<856769;?>A”ƒGTSBWy¼µÝæÁ¶ÄÆ»¼´¹»ÈŽª Ÿ•Œœ•›•ŽŽ‡Š‹‰…„y„}{uvwqqljeX]c`aYRRXW\]aXT\RX^ZVQINLNIBCF@?FEDBRGUW\V_a_[RcaTVWQLGDG966767;>GF8KO_€S=E_¹†‹âååæåèçæçæçéð½—˜”‰‹“’Œ‹Š…Ž‡‹‰‚€ƒ{}Š‚ywuqsqnh`W\caZQVOQ]dbcTMRTgZbVMQQPJHCISJCJKLFPQ\]XKXdcdT`cVPW]PD@@<:8878;@JALNdnl`RMMª‘‰æîíìëéææçããåçÓ¨‹Š„‡ŠŠ€‚ˆ‚˜ˆ†Ž{|„‡|‰z{wuttvraUQZXZVXVNY[]_eehlpiR[[SMRQGEEPUPQOOOIJVZ^[NM^Z_]\gcV_R@:9<<;:::;=<<LTRRTTO]dcbZSXX][R[VSRF;98;:79:98====KKKLMN^Tp‡¢áÚ´MFFFQcYRTLHI=z{|x{‚}~~€~x}}~ƒ‚~|z}uqtxxsnkf[SMJXW[RTW[ZVHW^[\XY_VKMTOMILONOSUXW[lcZ[ZZVZWQUIMJ>763^‚:7888;BDCEl_]XhÑÀÝÒx½Æ”WN=CHQOSE;8?:[™”—{|‚~x~|y|~{}}{~€}xwomwxyqgbaSQRC?LVWUWZOKITW\[UZc^SMLILOMMJGJNVWY\_Y\WUQVNJLHA=8676P€>79:<=AIIH´yLJDsóîõÎhÒÆsAFJWGCACB>=>;F™Úêzywzyw{z}||€‚zwwlintynha^PRTFHNTX[SPSQUUZUVWY`\QKEDBEGIEEFJRV\YTMURTRSNGEC=:6676[}@88;<;AHHHã¤wqis¯ ª`ÝÊ¡“—˜›žœ›œœ˜•š¸ÖÙ||{{wwwvwv{z~€~|xvvpslovphg^RVVTXY^[WFEQW^W[XWTV\UNIBD@>>>=;@KNV`XRXZPW[MLF<;997673‰àK26::;BIJJæàÛØÔÉ _LBQ¬ÄÔÐÒÒÓØ×Ø×ÖÕÕÔÑÓÕ¡€}‚~uzxwxzxvyx~}|w}{wtvvjlqihf_O]j\SSWZXPOVWZb^XU[YTLGD@@??<68>DHJ[gWTZWZ[RFBA;68887:5†ßJ18;=CGHCRñòóòòðµ]MGQ±ÒÙáââãååæåèæäâáàÞ·|~…xz{zxxxxwz}zzu|}xvxskgngfbb[gnbYMOYXUQSYW_YVZcYOHCA@ACA?>DIB?K[jj\LPeQF?:;:7;;::=8wÙS4=;=CIJDVÈÇÍË™‰‚_ECX¤×ÜçêêëáÝâäÚÛäëèãÚÑ—}{ƒy~}zuqzyx|xvsz~zwvumegiifa\[X\XNNVTMOS]ZXX[\[SUMH@AGIC>CRQJU\^jŒkQVWLA;766;@CB??;yç_8?8MTNejivˆg\]QIA?<;?FMJC=>9€ñg8<5>HIY`jšˆ…‹‹udLJGL“ÞäèëäèàÖàèÚÕæççæâä£xstv{‰”–¡¨©«««¨¬­¬ªª«ª¨¥”€]SV]XY\TPSPSPZ]Zd]TTQOIGHCGKGEHNMTjjisrbbjhXQMLQVUWTIJO8|ól87:X]^khineacb[I=>;?z×íëìëëëèêìêéééêììéyzyx{Ÿ¤¦¢›•‚zuqnljkjkmqw€‡‰ŽiUNVZ`XXTMNWUZc^_WONURME@>IVbX\ehnbZWX_bejlkof_jyxqmgjiV†í‚ZW`wvpqkeLLKJMSVD/2=JnqpleS=TaY[UVU]d`RU\YQMNU_[X\h{‚†ŠacqiQPY[[[\eiku~|zzrs}‹Ž‰‡Œˆ‚~osqkngwwwwvy}rUW]n›³Ÿy‰¿‘{yr}»²y£¼½wy{yƒJFgx†”“XD:/+2=AFONKNSWN?grrns|‰‘Ž†‹‘’‘Œ•´š€€yv{{kcmmcY\`^]\`geiredaddt~y|ƒƒ‹„{tdgokjepooonpstwwyzxz}~~€€€‚}y}…Ž†‹~q?TŽ¨«®±± {[\^ZMKI>1234UPUuwxwvtrstsuwxy~„’¢¯²«›}rmkklmmiea]]]ZY^^YZ\]]_dgdc``ckkfiiggmuwvzpnlkklmoqqsstttuwy{}~~}{{zwtsy‡Šš“ZRI·´°¬ —•Èœy™IJJFG>55HqEgkmpstuvutrqqrqpoos~Š˜¤­­¨¡“‚thgfeb`\YWYXWWXXWXWWXZYYXXWZm|“›¡¡ žuqljjjjklnpqrqonnoruyyz{{{{zywtrqwŠLl<@_ZRHILQsxowfIEGel\:57wQWeddfhjmpssstsqpnmnnnnnrz†•ª¼»§vkhgggb_][YWTSTSRSV`bTUWŽŒ‡…}vrnlxvrmjjjjikmoppqpppppqrtuwxxxyxvuttzPs333433CLKGIKHGIGDfz`?;y˜qJhdbbbcdfimprtvutrpllmnppnllu‹§¹»°œˆvkhhfc``[XYUUTTWURQ`ž_[ZUQRQNMvvvsnkjihgiknooppqqrqqqqrtuvwwvwv|hbi047RbM?KJHHHIJINH[|_<8c‡Gghfdcbbabbdgknqsvwvtqnkjlnpomlo|¦¿Ä­thhgfgfc_^ZXUSRQa‡EQ]`fmtwYuuvwtokhfeehjllmnnoooonmmnpqsuuutXzZ035r¢yCF>787?KINIVjt@5/:UZmkgedb``_^^`cfkoqstvvtplhgimnmljis“¸Ì·uigijiigeb_ZUQzuW“—œ¡¥«°Ÿuuvuttqkhedfghiklllmmmlllmmmnqsuq}RŠK7F47:98AijlnpqstsrplgcbabbccefhhijkjC89O‹XLaIqW35324:>;665546747867==>?::dojkkllljgcbbdfhheb`_^^^\\^^adgkmnoqqqokgdegjZP\fu{ˆGMbOJDCGbG@‡[adhjkmoqrpppolhda``_`bdfgghgt¶—AM:987776655655544544455446777?EVhhijkllkjgebbbcfgeb``^]\\\[[\^aehjlnnnmmifce]PY`ewnDG’zB<;:??AÆ|\cgijkmorspppokgcb````bddeggi§‰KC83565544444346845444453343A^jOH`hgijljkkkidb`_adecbb_\\\\]\ZZ[]`bfikllkjkgb_OJIBCYuVCA97:CJGEÉÂsZcffhjlnpqpopolgca___`bcdefg‹ƒZa|c@2432232333CJXiŠÉØßâéíêçéêÛŽ ¦Ÿ§žš–‹‡„€~~}}}€…†‰gggiijjigdb`^`cghhea^]\\\[[[[]HFHPFoÝáÜ×çí‘ID?eXOJ[§¾É¼jZ_adfhhjlmnmmmljgc`_W2,./48>FQ^q—’åêìíìëììíðÜ—¢xsrkjhec`^\ZZ\]\\\\\\]^_ysefghhiiigfca__adgihda^\\\[\\]H@BINMš¸Ê½äèn@?jaPLJpµÀϬa\adeghiklmmnmlkjfb_Z5,..17=DTg­ Üëíðððñòòõäª{W]_bfhikqx…£Ÿ‰ˆ‚}ywwywuklyieefggiiiigdba_adgjjhea^\[\]^H=@HMPOUn™çæŠUKlneRLM†»ÂјY_cdfghjkllmmlkjida]6-..14:QHGRcd·ÔËÆÀ¸²©§Ÿª£hcy€‚‚~|{croTjˆ…‰‡†ˆ‡‚yqcqdeffghihjihfc`^_bgiijhc^\[\]I=>GKORVWWe‰qsqiju^OLU™½ÉÌ‚Zacfhhijllmmlkkjhc]61..9BxØŽ703DPFHJIHIIJM‰…S{“¦¬³ºÁÄÄpH<:=V¯ÚØÓÏÒÓÎsOlfdffghhggghhfc`__adhiiiea^\]K==FINQUXZ^[\]`gpoleXOKb«ÁÎÇv]ceghhiklmmmlkkjf^770.2@—î©v{†£¡’¡¦¬°­¨ªœiZ~ÍÞÞÞÞÞÞØieb_WO§åßÛÔÔÛä”g^Ziefffggfeeghhgdb`__bgjjjgd`_N?;FHMPSVYdlquvyqkkneSUg…»ÆÓ½k^cdghhiillmmlkkib490..2MvhIGSYXYXX[^\XN|”WiiÖàÝÜÛÛÝÎ\YXhTK™ãÞÝÜÝàä‰LqNebfffeffeefhghhfb`^]`fikjigeS>9FILORTXbpz€„‡llnlgZOOPÂÇÕª^^abdefhjjlllkkjd290-,.14>=;=B:8:65886;†NmV©¹¹½ÃÅÄ”NTWtUP|ÙØÓƳ¡ŽZ:sOf}deddeddeefggggdb_^^`chkkkjX:6FIKNQTYamsqrsnrpnnfSLJU£ÄËÓY_bcefghgjklkkkd292-,-0138<<=AEGJPteKUž~MmJ>>?BEFC=JOv¾_TVdZKC;54E;__]‰dbbcdcbbdeefegfda_^\]bgjkl[63EKLNPTZbjjjnnnsqstwiTNIj»ÇÐÈp\abdffghijlkkk`185-,+,,,-,--.-./-/.,P£jTiE;878877885c¹[F@3269;:9K@InPcaddcccbbcceeddeecb`][]afjl[42ELOPPTZbedhiinmljjke\RML”ÅÉÖ¨Z_`cdefghikkg_U/77/9N7.,,+****)*))+)g Y^^?96578775328Z?25559BKB6?<9oP_aˆs`bbaabbddccddddb_^]\^cj[02EKORS\[cbS>11mecde`b^SMKc³ÃÍÐxY`gfddeffee`WR27651AIB=875+***)+-,D‹OdPA:68DE;88323024550K‚–`4753aYXb`cbbbbabacccbccdeca`^\Z\dX+1EGIPŽšp^RII:=jgggqmhcRLMK€¾ÄÒ³_^bcbcdeeeee\Q574502755/-,++++*)+0ƒ—|JjHMODLXWOGNH8333336AW„Š\IL@5O`Oc__`ddaa`abbbbbcdddcb`^\[^T(0EA@XËÎp[TWJLTmmgfnmqiSLLKU¢ÁÇÓ—_^abcceeeed`T=3//0/&##$%$$&%'2AFTšˆnFeIONHGFGFGHNF3225<@RXheQKNO?DRNdUw‚pcdaaabbbbbcdddddc`^]]Q&.B>?M€‰b^ccL54iqjgnorqf[OLKp¶¿ÎÌsZacccdeedc`ZP;21244334435644Wios€jDMLLFCFLKIIBGMG@9=MQOSQMJB;B@96MbKŽ”j_o_aaabbbcccddeddba^_Q&+=<;?KVYaknmcXtwmkqpnlnpYLKNŽ¿ÃÕ±`acccdefdca]XPKJJKLNOONNONNJV~š°‹qhF3::ASZVI@>?@?I^``a`a`a````_^_`a`_][Ypwtoihklmhikuqte_YLLMP„ÇÇÐÉvbffhhggfffgggffgfb_^^QBCGCHMRYaxµßS.46564Yèåb{bEBBA@?=<<;987744567765567667798O``a````````___`a`__][hhiga``hhqzwqqlkmdSJMRZ®ÉÇÖ«dffhighgefggggfffda_^Q@@GCJOU[cuªÜX>@BCCAOËÓyƒF;978788899:9765598:;865566655;=@Yaaa`````_____`````_]rmmnluorirqtss{€k]SJJLKyÅÃÍÔˆbeefefeefggggfffeb`_O;?HBHRZajy¦ÜrM_eoy„‘Á·ˆj<=<@BCEEFFFC9ntK:?<;;6444445449C;M`aa``a``_____``````_ƒ|‚‚yuzwihpxuxyrd\QJJKKQŸÇÅ×½f`bcdedefgggfffffda`N7>HBFLS[fvÔ}jÁêêìîññÝ“M=@7?A>>=<:<;:ŒQ8BA:83344334335A>BZaaa`aa```__``````a`†|uxrqilrmifohaccTJKJ]f~»ÃÊØ‘\aacceeeefgfffffebaO3=HCFLRZet’ÐyRºòíäæëîÐ}@?=23677756:98B?757::52257743323<@;Nbcabbaaba```aa``a``|xw€ysnq`_gqyqijdYKKJT[X˜ÃÁÕÁf^acccdddeffffffecbP.;HEFLRZbpŒÊˆF±òìééëë¿l:@9138<::34985221248844:PEC<74329A:E]igdcabca```aa``a``‡††††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxyxyzzy{{zwuxyz{zzyz{~€€€††……†††††…†††……†††††‡†††††††…{xutuvuvyxxyxz{zywtvvxzzxwy{~€€€……………†††††…†……††††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyyxxyz}~€€…………†††…††…††……………………„……ƒ………„‚€~zyyxwy|{yxwz{{{ywvvxyyyzzz}~†„„……„……†……††……………………ƒƒƒ‚„„„ƒ~|yxwyz{zyzz{{{zzvvxyxyzzz{€ƒ‚ƒƒ„ƒƒ…………†……………………„‚‚‚‚‚‚€€~|zywy{{zz{|}{zyyuvxz{zzxz}€‚ƒ†‡ƒ‚ƒ„……………„…†…„„…‚€€€€€€}}~}{zzwwwyzz|}|{zzxwwwxxzzy{}~€€‰‰ˆ„€‚ƒ„…††……ƒ„„„‚}~~€~}{|}|zyxwxwvy{}}||{yxyxwuuxyy|}~€€‡‚„€‚ƒ„…†‡„‚ƒ€}zzz{{|}}}~||z{|zzyxxzxxzz||}}{zwyyvuuwwx|€€€€‡„„‡~€‚ƒ|yxxwwx{{y|{yyxy{yzzxxyyy{{|}~}|zzyxwvuvuw{~€€~‰‰Œ…€~~|zyyyywvwzzxzyxxxyzz{{yvxxwz||}~}|zzxwyvvvvw|‘‘‚„†……††‚zxzywvwwwxuuvvuwz{|zzyuuvwz|{}~}{yxwwxwwxy|~~~ˆˆ‡ƒ†„€‡ˆ‰‰‰Š‡|xyxwwwvuustuuuw{||zzx{{yzy{|~~}{yxwwxwxz|ˆ}|}‚‚…†……„†…€yuvuvvutttuutuwzy{yxz||z{z{}~~~}zxxyyz{}€€ˆ€~}{‚‚‚‚‚‚‚€xsutuvvsstuutuvxwzyy{zyyz{}~}zwwxx{~€}}€~|x|}€‚€xtuvuwwyyyzyzxwxyyyzzzxxxz}~~}wstvw|~}}}~€}wr||~‚~€wtv~‡‰‹ŒŽŽ†xyxyz{yxxy{|}zzxvqpqqnsrqqrw{{wroo}}}‚€€€€€€€wszŽ‘ŽŒ‹Š‹‹‹‹€yz}}|z{{zxsninosssqnihhgfefhfeijkƒƒƒ„…„„„……„ƒƒ„‚~‚‰‚~~ƒ……†††‡Š…‚ƒ‚‚‚„‚}xuuxyzyzyxxxxvrrrpoqsss‰‡‡ˆ‰‰‰ˆ‰‰‰‰‰‰ˆˆ‡…‡ƒ‚„ƒƒ††ƒ‡‰…„„„ƒ‚‚ƒ„„…†……‚€€€€€‚‚„ƒ„„„„„ˆˆ‰Š‰‰ˆ‡‡‰‰ŠŠŠŠ‰ŠŠˆˆ‰…ˆŠ…†‰ˆ†ˆ†~ƒˆ„„„……ƒ‚‚‚‚‚ƒ„†‡‡……‚€€‚ƒ‚ƒ„…†ˆ‡…†‰‰‰ˆ‡‡ˆ‰‰ŠŠŠŠŠ‰‰ˆ†ˆŠ‚ƒˆŠ‰‰†~‚‰†ƒƒ„„ƒƒ„ƒ€€„†‰‰‡…ƒ‚€€€€‚ƒ„…ƒƒ‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠ‰‰‰‡…†ˆ„…‰‰‰‰„|‚Šˆƒƒƒƒ‚ƒ‚‚‚‚€€€‚…‡ˆ‰‡„‚€€‚„‡ˆˆŠ‡ŠŠ‰‰Š‰†‡‡‡ˆ‰‰‰‡††…„……†‡‡†…„ƒ‰Š‰„„„ƒ€‚€€€€‚„‡ˆˆ†ƒ…ˆŠ‰†‡ˆŠŠ‰‹Š‰‡††‡ˆ‰‰‡…ˆŒ‹ŠŠŠŠŠŠŠ‹‹‹ŒŽ‘‡„†ˆ„‚€€€‚‚‚€€€‚„†‡ˆ|…ˆŠŠ„‡„‰‰Š‹Š‹‰††…†ˆ‰‰‡‹ŽŽŒ‹‹Š‹‹‹‹‹Œ‘‰†‰‹‰‡„ƒ‚‚ƒ‚‚‚€€ƒ†€z~†ˆ‰ˆ‡‡€†‡‰ŠŠ‹‹‰‡……†ˆ‰ˆŒ‰‡ŠŠ‰‰ˆ‡ˆˆ‰‰‰‚ƒŠ†ˆ‰ˆˆˆ†ƒ‚‚ƒ‚‚ƒƒ‚€€€‚ƒƒ†‰‰ˆ‰ˆ}ƒ‡‰‰Š‹‹‰ˆ†…‡ˆˆ‰‚„‡ˆ‡‡††‡†‡…}‰‡ˆˆˆ‰‰ˆ‡„ƒ€€‚€€„‡…‡†ƒ‡‹||†ˆ‰ŠŠ‹‹Š‡…†‡‡…ƒ‚ƒƒƒ„„„ƒ‚‚…‡‡ˆˆ‰‰‰‰‰ˆ†ƒ€€‚‚€€„†{ywxy}}~ƒˆ‰‰Š‹‹‹Š‡…††„„„„ƒ‚ƒƒ„„‚„„…†‡†ˆ‡‰‰‰‰‰‰ˆˆ†ƒ€€‚‚‚‚ƒ‚ƒ†ƒ}yvsr{~}}„ˆˆ‰Š‹‹‹‰††„ƒ…‡‡‡†ƒƒƒƒ…Š’““““’’Œˆ‰‰ˆ‡ƒ‚€‚ƒƒƒƒƒ‚€‚‚~v~|†‰‰‰‹‹‹‹‰…„‚„†††„€€…Ž”““““’’‘‘‘‘‰‰‰‰‰ˆ…ƒ‚€‚ƒƒƒƒ}xz|~oz€}}‚‡‰ˆŠ‹‹‹‹‡ƒ‚ƒƒ„ƒ€€€ˆ‰„€€†‹‰†‹‰‰‰‰ˆˆ‡„‚‚‚}ursvuuhm|}z~ƒˆ‰ŠŠŠ‹‹‰„€‚‚‚‚‚‚ƒ‰‡}xw{†Œ‹~yyzƒŠŠ‰‰‰ˆ‰‰‡„ƒ€€‚‚|sqrstwjiq|}~…ˆ‰ŠŠ‹Œ‹†‚‚‚‚‚‚‚ƒƒ…‹‡ƒ‚‚„Š‹‹„ƒ…‡ŠŠˆ‰‰‰ˆˆ‰‰…ƒ‚€€‚}sqrtykjkx€~}ˆŠŠŠŠ‹‹‡‚ƒ‚‚‚ƒ„„†‰†Š‹‹‹‹Š‹‹Šˆ‰ŠŠŠˆˆ‰‰ˆˆ‰‰‰‡„‚€‚€vutv~‚nmnt€}}„‰Š‰ŠŠŒ‰€„…„ƒƒƒƒ…ˆ‡„‡ˆˆˆ‰‹ŒŠ„|ƒˆ‡‰Š‰‰‰ˆˆˆˆ‰‰‡ƒ‚‚}}|{€omjnx~|€‡ŠŠŠ‰‰‡‚‚‚‚‚‚ƒ†‡Šˆ„…………„††„€|€„…‰‰…†ˆˆ‰ˆˆ‰‰ˆ‡„ƒ€€€€klhikz}}ƒˆŠŠ‰‰‡„ƒ‚‚‚‚‚„ŠŽŒŒ‹‹ŒŒŒŒŒŽ‘“Œƒ„‡ˆ‰‰ˆ‰‰‰‰ˆ…‚‚nniger€~|~…‰ŠŠŠ‰‰ˆ‡‡………†‚ƒ‹”••”–•••••–•”––—Œ…ˆ‰ˆˆˆˆˆ‰‰‹Œˆ‚€……††ljhgfl{~|€‡ŠŠŠŠŠŠ‹‰‡††‡…ƒ‹’’’’’‘‘‘’’“’Ž‹‡ˆˆ†„†ˆˆˆˆ‰Šˆ‚€„…††fgghhiq}€}}ƒŠŠŠŠŠ‹‹Š‰‡†‡……Œ‰†ŒŽ‡€†ˆˆˆ‡††ˆˆˆˆ‡†…ƒ€€ihgfghhu€}ˆŠŠŠŠ‹‹‹Š‰†‡…‡Š€}‚‹Œ‹‹‹‹ŠŒŒŒŒ‡†‰‹‹‹‹ŠŠ‹‹‰ˆ‰‡†…‚‚‚jhgdgjhs€~~„Š‹‹Š‹‹‹‹Šˆ‡……†€|~†ˆ†††……Š‘’“““““”“““”‰‰‰ˆ‡††…„‚ihgfikin}}€ˆŒŠŠŠ‹‹‹Š‡…„…„ƒ„„ƒ‚ƒ„†Ž“”‘ŽŒŽŽ‰‰‰ˆˆˆˆ‡‡†ƒjjjkjihkt€~‚‹Œ‹ŠŠŠ‹‹‹‰†ƒ………„‚‚ƒ†Œ‹Š‰‰‰‰ŠŠ‰‰‰ŠŠŠ‰ˆ‰‰‰ˆ‰‰ˆˆ†mkijokhjq}‚‡ŠŠ‰ŠŠ‹Œ‹‹‡‚ƒ„…ƒ‚ƒ„‚‚†Š‰ŠŠŠŠˆˆŠ‹‹‹‹‹‹Š‰‰Š‰‰‰‰ˆˆ‰‰lmnoqpmpt|€~}~‚‰Š‰‰Š‹Œ‹‹ˆ‚‚ƒ„ƒ‚€‚‡‰Šˆˆ‰‰‰‰Š‹‹ŠŠ‹‹Šˆˆˆ‰‰‰‰‰‰‰‰{zzzzzzz{zz{{zzzzyyyyyyyyyyz|ƒƒƒ„„††‡‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yzzyyzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†‡†………………††…†‡†ƒ‚‚zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zzzzzzzzzzzzzyyzzzzzz{z{{{{z{~€‚…„„„……„ƒ„†‡‡…„„ƒƒ„„…ˆ‡‡‡…‚‚‚‚€€x}|{zz{{zzzzzyyyyyyz{|}~}}||~€‚„„„„………„…‡‡‡……„„ƒ„…†‡‡†…„‚‚€€{‚~|}~|zyzyzzzzzzz{}}~~}ƒ‚ƒ„„„„……‡††††…………„„…†‡‡††ƒƒ‚‚‚€€‚~€€~|{zzzz|{yz{|}€€€€€„…ƒ„ƒ„…„„„„…‡‡†„…†………„…†‡††‡„ƒ‚‚‚‚~}}|{zzz}{{~€ƒƒ‚‚‚ƒ……„…„„……„„„„†‡†„………„………†††……„ƒwz}~€€€€~}|{~€…†……„„ƒƒ„‚„…††……………„„ƒ„…†……„„„„„„„…†‡†…„ƒ‚‚‚‚t{€}€€ƒ„ƒ…‡‰ˆ‡†…„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††ˆ†…ƒ‚‚€‚‚z{}{~„‚‚‚ƒ„††‡‡‡†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒzyzy|€€€~€€‚‡‡‡…†††………†ˆˆ‡ˆˆ†…†……„…………†……„„„ƒƒ…††††…„ƒ€€‚ƒ€‚†€}|zxy|‡ˆ‡†††††††‡ˆˆˆˆˆ†„„„„„„„††‡††„„…„ƒ…‡ˆ‡„‚‚‚‚‚‚€ƒ„„„†‰†ƒ~}~~~„†‡‡††…‡ˆ‡ˆˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„„„†ˆ†‡ƒ‚‚‚€‚„…ƒƒ‡‰…‚€€€€€‚‡‡‡‡‡†‡ˆˆ‡‰‡‡‡‡…„„„„„††‡‡ˆ†„„ƒ‚ƒ„†ˆ‡†ƒ€€ƒƒƒ€‚…„‰‰‡…‚ƒƒ„‡†‡†††‡…„„………‡‡…ƒ„„„„…‡†‡†…„„ƒ„……ˆ‡…€€ƒƒƒ€„ƒ„…„‚€‚‚‚‚ƒ‡‡†ƒ€~}~~~~~‚…„……„„…††‡‡…„ƒ„„‚‚}|~~ƒ‚€€‚„„ƒ‚€€‚‚ƒƒƒƒ‚‚„‡‡„~|||}~}|}ƒ„ƒƒƒƒ…ˆ†††~}}||zz{{{{}~~~~€~|~€€€‚‚‚‚ƒ„ƒ}||{}}}{z|~|‚€€€„„„„…€~~~€€€€}~€~~}}}}}|{||}~€}}}|zz|xy~~{~€€€€€€€€€€ƒŠ„ƒ„ƒ‚‚‚‚‚€ƒŒ’•™{}}}||}}}|||}~|}‚xxxwy‚{|€€€€€~€€ƒ„‰†‚‚€‹›—”||}~}}|}}}}||}~{|„yzyw{…ƒ{|€€€€€€€~ƒƒ‚‚ƒ‚€ƒˆ{zzy}|||}~€€~~}}}}}~}{{€z{{{‡ƒ{|}€€€€€€€~€‚ƒ‚†ˆ€…‡{}}~}}}}}€€~}}~~€}}~~}}~€ƒ||}€€€€‚‚€~ƒ„„‡„y{€~}|}}~€€€~}€}}}}|}}~}}~}}{{€€‚‚‚€œ­—Šx{}}}}~~€€~}~~||{|}||}}}}}}}||~~~}~€€‚‚‚‚€~ž¹§–…{{}ƒ€}}}}}€~~~|……~~~}~}}}}†Š~~~~~~€€€€‚‚‚…Œ›™–”–—„ƒ€~}}}}~€~~~‰~~~€€†…~~~~€‚‚~†¨²º»²¯‡„‚€~}}}|}€€ƒƒ‚‚ƒ€‚€~~}}}~€‚‚‚‚·ÍÍÏÐÌ“‰‚€~}}|}~€€€€‚ƒ‚‚„ƒ€€€ƒ€~~~~}}}~~~€€‚‚‚••¤¶ÀÉ̓ƒƒ‚€~}}}|~€€€€€€€€ƒ‚€|zzyxwvwvvwx{~~~}~€‚‚£œ{}†Š‹„„ƒƒ‚‚€~~}}}}€€€€€}}€|yzzy{}|{{zz{~~}}}}€§Â­–‡•‚‚‚‚‚€~}}}}}~€€€‚‚„ˆŠŠŠˆ€||~~~~~}|}~}}~}~‚‚~¥ÌÒÍÁÃÇ{}‚Œ‚‚€~}}}|}~€€ƒƒƒ„…†…„ƒ~||~~~zxz|~~~}z|~~|}}~~€‚‚~¢ËÏÏÊú}{ˆ‡‚ƒ€~}}}|}€‚ƒ‚€}|€€zxxz€|z}}~~~~~‚‚~œËÏÐʨŽ||€‚ƒƒƒ€~}~}|}€€€€€€€€~|||~}|zxwz~||}€€~~~~~~~‚”ÈÈɽˆ~€~‚ƒ‚‚ƒ}}}}|~€€€€€€€€|}|{||{||z{€…{||~€~~~~~~~€€†¢›˜š€€„€|€‚‚‚‚‚~}}}~~€~||}|~}}}|}ƒ~~|}~~~~}~~€‚‚ƒ‚‚~z|}€‚€~~~~€€€|{{{}|{||{{{{yyyw{€~~~~~~~~€‚€~zyz~ƒ•‰‚€~~~}~~€€€€{wvvvvwvwvuvwvvut{€€~}~~}}{}€€~yxy}„‰„‚~~~~}}|~€€€€|yxwxxwwwwxxxyxy{|~~€€~~~}~|~€~zxwz‚‚ƒ~~}}}|}~€}z~|yyyyyzyyyyz}~~~~~~~~‚‚‚‚‚‚~zxwxyƒ‚‚‚€~}}}}||}€€|{‚…{z{{{{{zzzz|}{yzzzyz{|~€‚‚ƒ‚‚ƒ~yxyzzƒ‚‚‚€~}}}}|||}€€~……„~€€{zywvwwxwvvwxxy}~€€€€‚‚~{x{|{~ƒ‚‚}}}}||||~€€‚‚€‚‚‚‚{yzyyz{||{|{{{{{~€€~{{}~~€‚‚‚}}}}}|||}€€~€‚ƒ„…„||||||}}}|}||{{{}~~ƒ‚~€„„‚‚‚„ƒ‚€~~}}}||}~€~€‚„…ƒ}|}|{{|||{z{{z{{|~~ˆˆ‡ˆ‡…„…†„‚˜Ž~~~}}}||}€€€€€€€‚~|{~~{z{{zzz|{{{{}~~}~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍËËËËËÌÌËËËËËËËËËÌÌÍÌËǽ³¯¡€~qfkuiihkiqbfaU\`\Za[T[`]]UPORYX_d^cRTUVUVSSXTPW_][XTMD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÍÆ´›¤•txr\^_p|m\]lkfZXXZ^YUTO]f_[ROOPXV\fgfOU\_YPPKPQX^aZUOLI@?75421/75ÍÍÎÎÍÍÍÍÎÍÎÍÍÌÌÆÀÄÀÇÊÊËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ£Š‡olkokjnrtzy^`^abZYZZZ\RSV\aXYXVSQTRVZebQQXZTLNMRQ\b__YQFA?<851220.1ÍÍÍÎÎÍÍÌÍÍÌÌÌÌÍÇÀÅÁÉÌËÊÊÊÊÊÊÉÉÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’yjpwxr~€ed_[fWaccZZWU^XSXedQORVWRMLWOYfPNSWYPLROPX`]_USTOH?<74220,-ÍÍÍÍÌÌÌËÌÌËÌÍÍÎÈ¿ÁÀËÎÎÎÎÍÌÌÌÌËËÊÊÊÊÉÉÊÉÉÉÉÉÉÉÊÈÈÈÆÈÉÉÊËÊÊ̼’Žƒ~qak|kbg_^`Vh`VWTSM[a_`pm[QOT[SMIURSXSYZXTMOQUZ_WVYPOXNI>>@;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÉÎÎÎÎÍÍÍÍÍÍÍÎÍÍÍÍÍÌÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅâˆxzph^jomb_`]W\_UQZRRPZfeffceVQUXRQRTRRVRY]`TRTQYZ\WWSROPQI>?>6551.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎźĻÆÏÍÎÎÍÍÍÎÍÍÍÍÍÌÌÍÌÌÌËËÉÉÌÍÍÌËÇÅÉÊÊÌÎÌÇÃÀ²™yxndURb^Y\_`]a]WTQKLTX_ach^ZSOOPNKTRSQ^LTTXYVYY^Z[UQPSNRKFC>A;430/3ÎÍÍÎÎÍÎÍÎÎÎÍÍÍÍžÌÁÅÎÍÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÉÉÉËÈÄÂÃÁÆÆÈËÌÊ¿¼«Ž~voWSRQNVWlpea`ZXLC@LXPY``]VTQKLKHKIPLYNQUTVUYZYZ\XRNRMUOCHA?>3/.--ÎÍÍÍÌÍÍÍÍÎÍÍÍÍÌÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÈÇÅÉ¿½·Á½Á¾ÃÊÈÄ»®£¦Œ|sr^UVXWgi[nff_UUPPVTcTNY]SNVWQJIFMOQXWRPWYUSWWUNSYRPVPWV?57220.---ÎÍÑÖÔÎËÌÌÉÈÉÉÊÌÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÃÂÁ½Âº¹©¿·À·¼Æ¾½´¤‰†~p‰wb[^[\dkVn]T[SMST\ZUMPRXRQRUWKKKSRRYf\NUVVVTTYQO[XX[ZKB<6530.-,,-ÎÚèðîäÒÊȽ½ÀÅȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁº²¼¸° º±½¶±Á´º´™…{ykgb`b`T[aZUdZRY\OSRV[TUTNMNKKLRXUNQOQQcYNY[WQLNXWTUWPLK@7=<:61.-,,.ÚïضÄæè˾¶°¯µ¸¿ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÆÃÿ°ª§¬°¤žª¬´°°¸ª« „wwsjjQ^cZXcVQ[h]Y_XKPPRZ_`TPLLKMQLTWKNTNQ\]X`[SOKOXTTWOQWIBB=;;961//-,ìÍ}gn©ë×´®¬­³²¾ÃÅËÈÃÊÍÌÌËËÊÆÊËËËÊÉÈÅÁ½½°¡™™£¤——£®©¬«¥¢™„sligjm[UXUa_VV[ZX^UQVTSTT^VQSNNSUQRSWROWPQX_X\VZ[W]^RRYURP>?E:8777520/.夈ˆ‚™Õè´«ª­±²ÀÀÅÊÇÁÊÍÍÍËËÆ¿ÈËËÊÊÆ¿·¯±²¶ªŸ”Œ˜™˜“¦¶­¬¢–˜‘xhdeUf_QKHOW_XRQ\e^_m^_b\SVNPNNOQVRTQSXQZNN^\]fYb]he^ROMLIK@=?8854453./2‘ˆˆˆˆ¡Ø¾ª©®®³¼¶ÁÇƾÇËËËÊÇ¿¶ÄËËÆú¨žšš¡ —š•†’–’’ŸªªŸ’ŽŽ…tbcgZ\SPSRPX]_\hn_OT`NWon[QMJMLJFILLNMKPWSW]TRXW`g[ZUNILFEDBH@7543343/15WTh‰Œˆ•µ£¥¯±µµ±½ÈÆ·ÀÉÈÊÊȾ²ÃÊɾ³¥™œž•–’ˆ‹‹“’ŠˆŽ—‰ˆ‰ƒ|ttoaYSW[XNV[UU\g\RP]ef`^[RRLIIFIGFEFNLT][VZUN\ifeU]SMUSJJ@?B9753313438=O`¨ÑÝÕ»~ŸÌŲ®®ªª¶Ä»©¯¸´¼»È¼¯½Ã¹«žŸ—› “’„‚€ˆˆ€}ˆ‰„‚€ƒ€~xun`VUST]YTYTSXgRPO]dcRRZXSLKLJJHEJJIRUZaQYQPkrcd^a\U_XUSH=::86432264:?uy¶ÍÈȬo–óèÌƦŸ §¨ž Ÿ¡¡¡©»°¤¢ª›š˜Ÿ—™’•Œ…ƒ…ƒw‡‡„||{{tppiaVPZgZQURT]ZNX[\]XQQPRSLJPQLNRQFBJNT^PQM]``_Ydi[QT^ZESF<;<9555488:<€šµJVSX~Ùãç챞£° ™›ž¢¨¤¡£¢Ÿ””“›™Ÿ™’–ŠŒŠ††ƒ}x„ƒ€y{wtphhdXVYPX^XT[Z[YVZYZ\ZTOJVTNLOJBCFFA?EHGQJRSY[aX`m[^OZ]YIDC@?<756779;>>5jTTUMEjŸ¼ÕèÁ¶ÅÄ·¹°¶·ÅÁ¶¦ Ÿ”‘œ•›”Ž‡ŠŠ‰…„€yƒ}{uvwqqljeX\c``YRRXV\]bXT]SW^ZVPINLNIBCE@?FEDBRGTW[V_a_[RcbTVWQLGDF966767;=FE7?MR|hC;U†°qÇæäåâäæäåååèí¾›š”‰‹“’Œ‹‰…Ž‡‹‰ƒ{}‰yvtqsqnh`V[caZQVOQ\dbcTNRQe]bVLQQOJHCIRICJKLFPQ\\YLXdddS_cWPV]PD@@<:8779;?JAOO]mngZPJ|¯uÉðìëêèãâääãåèÚ¾—Š„‡‹Š€‚ˆ‚—‡‡z|„ˆ|‰y{vuttvr`UQYXZVXVNY[]_dcfkolQ[[SMQQGEEPUPPNOOHJVZ]ZNM]Y_]\ecV_R@:9<<;:::;=<<;hhjkkkknlnšéíìÑ«˜Š‚}|€~‡“„†‰†{€…‚‹—†‚ˆ{‚ˆ‰…}†|xuvxtul]X]_UVSSV^WOM_q€uc[]dPSNLRRMMIB?LUQQSSO\dccZSXX]ZQ[USRF;98;:79:98===763f~:7888;BDCE{`^[W©ÌÇ튤Dz]Z>DCLKPJ;79=<Š–§ˆ|‚~x~|y|~z||{~‚}wwomvxzqgaaSQRC?LVWUWZOKISW[[TZc^SMMJLOMMJGJNVWY]`Y]WUQVNJLHA<8676Xƒ=79:<=AIIH˜ŸRKHNÏöïðx®ÙžAFFVRIGIOKHFDBtÃø¹yxwzyw{z}}|‚zvwlhntxnh`^PQUFHNTX[SPSQSTZUVWY`\RLECBEGIEEFJSV[YTMURTRSNGEC<96676]}@88;<;AHHHÄÌ|umh­¡P²Ü¶™›Ÿ¥ª¬­°°°¬©¨µÅÕ {}|{vwwvwv{{~€~~xwupslnuphg^RVVTWY^[WFEQW^W[XWTV\UNICD@>?><:?KNU`YQXZPW[NLG;:997673ŽáK26::;BIJJãäÜÚÖзtOG@†ÀÐÔÒÓÔÙÚÚÛÚÙØØÕÓÙÀ‚{‚~tyxvxzwvxx}}}y{{vsvvjkqihf^O\i\SSWZXPOVWYb]WU[YTMGD@@??<68>DGI[gWS[WZ[TFBA;67887:5‹ßJ18;=CGHCRññòòòó×vOLB‰Í×ßäâäæçèæèéçäääàÔ’|…xz|ywxxxwz}z{w|~zwyskgngfbb[gobYMOYXUQSYW_YVZdYOHBA@ACA?>CIC>KZjj[KPeQF@:;96:;:9=7|ÙS4=;=CIJCVÏÎÍÑ­‡‚qJBJÍÛâëêìäØÙäÜØÝéèäÝ׶{ƒy}|zuqzyx}yxsz~wywofhiifa\[W\XNNVTMNS]ZXXZ\\SUMG@AGIB=BRQIT\^jŒkQUXLA;666;@CB??;~êc7?8MTNejiv‰g[]QHA>;;?FMJB=>8…ôl7<5>HJY`j•Žƒ‡‘{nQJJDnÅæåêçæçÛÞèàÖÞêæéãçÈ|tuvxvwxiy„‡ŠŠ‡“”‹‰†~vnkn^SV]WY\SPSPSPZ]Zc]TUQOHGGCGKGDGNMRikjutcajgVOLLQVUWTIKO8€õq879V\^khhppcdd^S@>>9Z³íìëìëìêéëêéêêéììîÂ{{yyyy…œ¤«¯­ª©¨¦£¥£¥£¥¨ª«©¢—mTMUZ_XWSMNWUZc^_WOOURME@=IU`WZdhmc[WY`bekmjne^jywqmgjiU‰ï„WU^vuoqjeKKJKLQWM505Oííïðìíñññññíéîðîí¶zyxxz–¨žœ•ˆ}wngfgjgaa]]_cipv{ˆcUWYYSPNOMT[XSXYSMPXSPU[Xn€vbkxl[TW[]^`ffm~ƒƒ|€…ˆ‡ˆ”¬”‘Šƒ{|rrpgwwwxxz~{=,1LêãÌÄéßÀ¿¼»¼ÒïÌÁÜêªvzzxxx`YVROPU_h­¢pd^]\YWRJB^iXZUURX__RS\YPMMT]ZX\gx€…Š‚bcrjROX[[Z]eiku~}||ts}ŠŽŽ‰‡Œˆ‚}nrqlngxwwwwy|{[RVcƒ¶¬‡s³®zxt€Ž§È‡¸Á“vz{xz€GIOVbkr]=<>A@977ZqqqleM=^ppkpz‡‘†Š‘’Š‹’²š‚|w}{lbmm`W[_^][`geisfebecu{~ƒ…„„‹…{rdhpmkfppoooqstvwx{zz~~~‚€}}|ˆ–ƒŽˆ}tƒd<^|‹–›ŸŒWK9/0:BFHIB@EJQGItxxwvsssttuwyz†”¤±³«›|rljllmliea]]]ZY^_ZZ\]]`fiedbafnlgjgd_fqkqsonlkllmoqrsrsttuwy|~~~~}{zyvuszˆŒœ•ˆILi©®±³µ±¥™…hkqUIHC52348bF_moqstuvutrqqqppoos~‹˜¥­¬¨žŽqggfda`\YVYXWWYXWXWWXZYYXXXVSRVWfry‹sokjjjjklnpprqnnnosvyzz{{{zzxvtrqx‡{F`FŸ®¨¡–‹|ŸÁ†~©hEIINL;44``Leeefhjlpssstsqpmmmnnnos{‡™®½¹¤Štjggffb_][YWTSTSRSV_aTUXYfˆŸ Ÿ™xuqmjjjijkmoppppopppqsuvwyxxyxvutq|c[\0DJD>;GITcegbOHBRseQ36K{FadbabcdeimprtvutrpllmnopnkmwŽ©¹º­š…sjhhfc``ZWYTTSTYWRST\šy}tmheawvusokjihhiknnoppqqrqqpqstuvwwvuus€SuJ14775:JKJIKJGHIGMzoT2U– RXjfdbbbaabdgknqsvwvtqnkjlnpolkp}©Áª‹rhggfgec_^YWTSRSPb™VRRPNPQSuuuvtokhfeehkllmnnoooommnoprsutttv~O‚<24DspBILFDDDIJIOFmtO4@\‰uLlkhedb``_^^`cfkoqstuvtplhgjmnmkjjv—ºÍµthgjjiigdb^YUSQgD_mrx}‚‰tuuutspkgedfhiilllmmnnllmmmnorsssxvZ‚454M‘•aXI6566EJHOMfyc55,SGejlmigcaa``_`abfknqqtuuusmggikmonljp‹«ÀÁ§‰skiijigfb^ZUƒme¢¤©­®±³prttuutqmhedcdfhijjjkllkmlkklnqrrwhlu4B•WYegklmjgca``aa__`ejloqsuvutpkgfimnmljhsŽ³Ç£nijkjgec`˜\hª •Œ€tlnpqssrqokfba`acdffgijjjkkkjijlomw_€fBLGQ‡xLKA7665335C‹šW:633ˆsPhffgknnjfc``a`^\]`dhkoprstrsqkedgjkllieh{¢ÈͱŠqnkhgdržU[@[>7655jlnopqqrqojeb``aacdeghiijkkjjkkmgyX[ITLdyŒWFGFDBDCA?Fy’‹N><93ˆGn\FDQfknnkgcbbba_]]_ehlnprrstsqjdcehkkjifeu¡ÈÏ´Šrjli‡“SR>L5799:ijlnpqstsqolgcbabbcdefhhijjkhULN|€O˜\bJv`THILQTUMRKQ\xnE<8;3c[;_F:95]fhmookifeffdb__aeilopqrstrojedehkkjifewžÅϸŽrp›‚RG>D35;B:fikmoqrssrqolhdbbbbbcehiijjlU6=9us@YHT`:?BABLTUQMHD;@=B\UKMC6668?9333CFmlhkkllkjgdbbbcfgeb``^]\]\[[\^`ehjlnnnmmhebbfYQ\gv‚DRw[JDBC\FÅ{\cgijkmorspppokgcb`__`bdefggf’ºXK@987776655654544554545555665;DGXigjjljkkkidb`_adecbb_\\\\\[ZZ[]`bfiklkkjjf``[OV[\piHC}l<87;>?ÉÁs[dffhjlnpqpopolgca___`acdefdƒª[K?6266544444334;754443443437UxeMJfghijjjkkjigc``aceecb`_]^`_^[YZ]_cfijlnnnnkfaRMOI=W{bLFA==GMI½Ì³_Zacfijkmrqooqolgb`_`_`bcdeev‘kTx]53322222334E=4542223427~ª¦VIbfhiiiijjjkjifca`bghgedaaaaa`^]]]adhjlmopqookea‘©qpyzsnl_NQ^fªÀΡZ]beghjlmoopqonlhc``__abddhnm\r¨¡Äu522222234533654221104gŸž’˜S?agghhhikkkkklkifa`cfhjhgebaaa`_^]]_bdgjmoqrqpmh±}sihe\[]XUjqw³ÃÍX^cdfiklmnpoonnlfb`__`abdekQ2{—§¤¡r403210/27B?743579AEj½´°¿@3†xdghhijijklkkkjgcaadgjkifca``___^]^`behknooppl{«~lXZ\XVVVVa`N»ÇÈrXabfhjklnooonnmkgc`___`b^`Q*Y«È¬ÙÚ†wVNQT^V>Ž,@Œ×ËðïÛ¡vZ\_‡\¸¬Srcd^_‘¸íåÙÁ³H0.Rgffedghhhiiijjjjkigdb_adhihfc`^]]^][[\]_cfiko[X†d[SRUVWWWWWWVWx¸ÃΣ\^dfgijlnnnoommmjda`___aI/-1N§£°ÅÜ©žbbgXS|ïêoaioqp°››ˆ]F@/0.Rfdœ½·eeeffhjjjjjjihfb`_aehiigb^]\\[\[[[\_cgjVUvd^^\WXXV[\\\PJM…¹ÁÊŒX]adfhijllmnmmmlhda_^^`F---046@_T^Zcoqc‚ÖÔ‚knldYgB6=1-.28<`or”½¾žvuqnkigfiiiikkjgd`_`ceiigd_\\\[\[ZZZ\`dNQ`aP¸–t‹š]QUV]RLR”»ÄÃvT]_adghiklmmmllkhc`__^=+,.037:?BKS\ap…˜§Ãʱ§”ƒta[]cqy‡‘™Ÿ¥¬ª­¬¬ª­¯®­«ª¤”zgggiijjigdb`_`cfghe`^]\\[[[[\\\ILPXD’ÀÈÎÕó¯ODBeXOI^©¾É¼jZ_adfhhjlmnmmmljfb__^>+-1679<@FO`s°Úßâæííêèêï¾s–¡¬­«¦£ž™•‘Ž‹‰ŠŠŠ‹ŒŽ’‘šwefghhiiigfca__adhigda^\\[[\\[[EEFNHhÜàÙÖâð§LCj`PLJs·ÀϬa\adeggiklmmnmlkjeb_^A,-.16:BLXi„˜µðçííìëììíò­Ž¥„|xvqnjgecabbbaa``_`acl‚ieefggiiiigdb`_adgjihe`^[[\]]^E?AJNL‹­Ä·áò{AlobQLMˆ¼ÂÑ—Y_cdfghjklmnmlkkiea`F--./4:?J\t’°°òêðñññòòò÷º t\^\^`aabelw‰yusronnnmlbpwfeffghihjihfc`^_bgiiigc^\[\\_G=AGMPPSev‘ãÜ‹[ilv]NKWœ¾ÉÌ‚ZacfhhijlmmmmlkjgbbI-../34GREJU`|ÎÇÃÀº´ª¥ ›ª•aav||}{zz‚„‚¢m|€|€€}{ympldffghgffghhfc`__adhiiiea^\[]G=@GKOQVWWa{tlrqoldWOJc­ÁÍÇw\ceghhiklmmmlkkjfdI10.0@MµËZ45=FINQTWZ_]]_apklndSUhˆ¼ÆÓ½k^cdghhijllmmlkkieJ35..8TÓÔ‡v„’­–šŸ¢¨¯³±¯«–Wj–ÔØÛÝßßâ¾ZbVQO]ËäàÛÓÙßáxrOfeeeeeeeeefhghheb`^]`fikjigdaL?;FILPSUXdoty|kknlgYOQT‘ÂÇÔª^^`bdefhjjlllkkjiK18-./8`qW@JRUQQQRVWVQR‡Pn‹ãÜÛÛÚÚß°SddkNT¿áÜÙÔÖÝákabXmddddeddeegggggdb_]^`chkkkigR<:FILORTXbnx~‚nrpnneRLKX¥ÃËÓŽX_bcefghgjklkkjjK09--,008?<=@?8;978=86J–wTfu×ÔÔÖØÙØŠNR]eLQ¬çãäÜÐÁ¯VGtNqebbcddbbdeefegfda_^\]bgjkjlV86FJLNQSXalropnsqsuwhTNJk»ÇÑÅl]abdffghijkkkkkJ/:.-,/025:;<>DFHK[xUGg¢c]bIXY\`fg`GSS‘•RTj•‚n^LA>D;mR^bddcccbbccdeddedcb`\[]`fjjlX53FKMNPTZaiikonnlkjlf[RML”ÅÉÖ¢Z_`cdefghhjkkkgG.;1,+*,--,,,-,,--+,,-qŸSe[?8566435:>>¦±OQC214796=M;[bVc‰s`bcaabbddccddddb_^]\^cilW33FLOPPTZbebcdmecde`b^SMKc³ÃÎÎwY`gfddegghjibYA-;4-HB2-,,++***)))*+1ˆLkSA:679877430\z976668>Lx~a_edO6twmkqpnlnpYLKP’ÀÅÖ¬_`bcccdedca]WD5345766676575496@LMQVWSMDAHB==R_Q¥“nW``abbbbcccccdddcb`_`P%,<<;>JTYakppgpojhlmhfijdMJJ`®ÀÉÕ‰[abbceeecb_[TNLLKMNPPNNOOOORh†›ž}o^:;A>ETXYJEABZIE;7>LQPOIA;;:>>=CSiLslNSa`aabbbbbcccccddcbaaP%+9758>@FIMSVVlunnmkkjgiillniSJJJh»ÅÍÖˆ]cdfggggggfgfffddb`][[[]ZXw‹u{š¸Â‹fZ[\[\]]]]\\\]]_]\]\]^]YÈÓê²UNZbbbccbb`YY\^fdaaa`_]\[YXVSPOOPPQSTY_cmklsrmjlnmggihiUJKKM”ÆÅÓ¹a]_adefeffghfffddca^]\[^VVu{j}ÒêÛÔ•]``aaceefhiliihghfdcdguÁâÒØÍ›™¢£££¦§¦¦£œ“‹{s{f`a`_^^]\[YWVUVXXWTTW\bimprmlmprplgjkfSLKLJd¸ÆÌÖŒ^deffffffghgggeedb`^\[]TVf]UlÜÛÒâß…elnqstuxz}‚yzyzŒ„œ¦®µ¿µ®¬©¬«ª¨¨©¨¨¨¨¨©¬¯³—eb``_```_^]\[[Z[\\[YWXZ^mllmsusprkjlkjodOJKKMÇÉÔ¾jcefffgffghhggffeda_]\\STaPJTÏà¤Üï¬cutuvwxy~‚‡ˆŠˆŒ«±¬¨¢™–•“ŒŠŠ‰‡…„„‚ƒƒ…Ž”k\j^`````a`__]\]^^_]\YYZjpurpsqknijhehrbKKKLK_¶ÉÌÕ—`eefgggggghggffeec`^\\ULRKDGj~lÃñ j˜ §¯µ»ÄÌÏÔ×Åšo—•Ž‡xsngc^ZWUUTRRQQPOPPTX^_iz_`a```a``_^^^____^\[Ypwtoiikmmhhkurte_YLLMP„ÇÇÐÊubefhhggfffgfffffea_]\XGFKCEJOUs•{”Ë»©¥£¥ª¤µÛ¬ˆ—Žeti\TPJKIGIJJJ[XONLLLLJIHGFDFH`d`a`_a``__^^_^^^^^^\Zhijga_`ghpywrtljndRKMRY®ÈÇÖªdefhihhgefgfggffec`^][HAHCEJOUZcƒÉÐJ455450|ó¸9mwPKGEGGHIJLJHHFTO@?==<<::;;;;;;@Xbaa`aa`_^^^^^^^^__^\pllljtnqhrrusszk]SJJLKyÄÃÎÓ†beefeffefggggfeeeb_^]HAEDDKOT[fƒÈ¿;?@BA@<‚òÄ^„PA@@?<;99876656336788767677766:9H_aa`aa`^^_^^^^^___`^ƒ|‚€xuzxjhoxuwzse\QJJKJQŸÇÅ×¼e`bbdddeffggfffffda_^C=DDDMT[bjƒ¾ËNEHKQTYqË›yw=9788899;<==:::75:9;;755455554:?=Ua`aaa````______``aa†{uxrqilrmifohaccTJKJ\e~¼ÃÊØ‘\aaccefeefffffffdb_^?:CFBIPXal·Ëgr¹ÈÏÔÚáçÔ”V<<8BGCHMT]jz«Ç_mÝóðëëëíÍ|E?>6;<::988;9;ƒ|J7AA962344333334?>?[ggedccca```aaaa`aa†††††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxywyzzy{{zwuxyz{zzyz{~€€€††……†††††…†††……†††††‡††††††…„{xutuvuvxxxywz{zywtvvxzzxwy{~€€€……………†††††…†……††††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyyxxzz}~€€…………†††…††…††……………………„……„………„‚€~zyyxwy|{yxwz{{{ywvvxyyyzyz~~†„„……„……†……††……………………ƒƒƒƒ„„„ƒ~|yxwyz{zyzz{{{zzvvxyxyzzy|~€ƒ‚‚ƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚€€~|zywy{{zz{|}{zyyuvxz{zzx{~€€‚ƒ†‡ƒ‚ƒ„……………„††…„„…‚€€€€€€}~~}{zzwwwyyz{||{zzxwwwxxzzy{~~€€€‰‰ˆ„€‚ƒ„…††……ƒ„„„‚~~~€~}{|}|zyxwxwvx{}|||{yxyxwuvxyy|}~€€‡ƒ„‚€‚ƒ„…†‡„‚ƒ€}{z{{{|}}}~||z{|zzyxxzxxzz||}}{zwyyvuuwwx|€€€ˆ„ƒ‡‚~€‚ƒ~|ywxwww{{y|{yyxy{yzzxxyyz{{|}~}|zzyxwvuvuw{~€€~ŽŠ‰Œ‡~€~|zyyyywvwzzxzyxxxyzz{{xvwxwz||}~}|zzxwywvvvw|‘‘‘Ž„ƒ†††††„{xzywvwwwxuuvvuwz{|zzyuuvwz|{}~}{yxwwyxwxy|~€~~ˆˆˆ„……€†ˆ‰‰‰‰ˆ~xxxwwwvuustuuuw{|}zzxz{zyy{|~~}{yxwwxwwz|ˆ€}|€}€‚„†……„……‚{uvvuvusttuutuwzy{yxz||z{z{}~~~}zxxyyz{}€€ˆ€~}{‚‚‚‚‚‚ysvuuuusstttuuwxwzyy{zyyy{}~}zwwxx{~€€}}€~|x||~€‚~€zttuuvuvvvuvywvxyyyzzzxxxz}~~}wsuvw{~}}~}~€}wr||}€‚€~ytuv|‚……„…††„yyxyz{yxxy{|}zzxvqpqqnsrpqrv{{xrno}}}€€€€€ysw‡‘’‘ŽŽ‘’„yz|||z{{zxsoinosssqnjhhgefgifeijlƒ‚ƒ„…„ƒ„…„„ƒƒƒƒ€~}Š‰ƒ„†‡‡‡‡ˆŠˆ‚‚‚‚‚ƒ‚}xuuxyzyzyxwwxuqqqoooponˆ‡‡ˆ‰ˆ‰ˆ‰‰ˆˆ‰‰ˆˆ‡…‡‚~~ƒƒ…‡†‡‰‡„„„ƒ‚‚ƒ„„…†……‚€€€€‚‚„ƒ„„„…ƒƒƒ‚ƒ‰‰ˆˆ‡ˆ‰ŠŠŠŠ‰Š‰ˆˆ‰†‡ˆ†…ˆ‡…‡‡€‚‰†…„……ƒ‚‚‚‚‚ƒ„†‡‡†…‚€€‚ƒ‚ƒ„…„ˆŠ‰ˆ‰‰‰ˆ‡†ˆ‰‰ŠŠŠŠŠ‰‰Š‡‡Š…ƒ‰Š‰‰ˆ€€ˆ†„„„„ƒƒƒƒ€€„†ˆˆ‡…ƒ‚€€€€‚ƒƒ…„ƒ€‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠ‰‰‰ˆ…‡‰„ƒˆŠŠ‰‡~‰‰„…ƒ‚‚ƒ‚‚‚‚€€€‚…‡ˆ‰‡„‚€€‚‚…‡……‡ŠŠ‰‰Š‰‡‡‡‡ˆ‰‰‰‰‡†…„†…†‡‡‡‡„~€ˆŠ†„ƒ„ƒ€‚€€€€‚„‡ˆˆ†ƒ‚€€‚‡Š‹ŠˆˆŠŠ‰‹Š‰‡‡†‡ˆ‰‰‡…†‰ˆ‡‡ˆˆˆˆ‡‡ˆ‡ŠŒ‰ƒ…†„‚€€€‚‚‚‚€€€‚„†‡‡†~ƒ†‰‹‡‚„‰‰Š‹Š‹‰††…†ˆ‰ˆ‡ˆŽŒ‹‹‹ŠŒŒŒŽ’Œ…ˆ‰ˆ†„ƒ‚‚ƒƒ‚‚€€ƒ…„{{ƒ‡‰Šˆ…€†‡‰ŠŠ‹‹‰‡……†ˆ‰ˆ‹Œ‹‹ŠŠ‰ˆˆ‰‰ŠŠ‰ˆŒ‡‰‰ˆˆˆ†ƒ‚‚ƒ‚‚ƒ‚‚€€€‚ƒ~ƒ‡‰ˆˆ‡}ƒ‡‰‰Š‹‹‰‡……‡‰ˆŠ‡…ˆ‰ˆˆ‡†‡‡ˆ‰€|ˆˆ‡ˆˆ‰‰ˆ‡„ƒ€€‚€€€‚††‡‰ˆ‡‹||†ˆ‰ŠŠ‹‹‰‡…†‡‡‡„€‚…………………„„„€†ˆ‡‡‰ˆ‰‰‰ˆ†ƒ€€‚‚€€†…€€}|€}}~ƒˆ‰‰Š‹‹‹Š†…††……ƒ‚ƒ‚ƒ„ƒ‚‚„‡††„‡ˆˆ‰‰‰ˆˆ†ƒ€€‚‚‚ƒƒ‚……~wtrq{~}}„ˆˆ‰Š‹‹‹‰†††ƒ„…………ƒƒ‚ƒ…„†ˆˆˆˆ‰Š‰Š‹‹‹Šˆ‰‰ˆ‡ƒ‚€‚‚ƒƒƒƒ‚ƒƒ‚€}zw~|†‰‰‰‹‹‹‹ˆ…„‚„†ˆ‡†ƒ‚ƒŒ‘““”•–••–––“‰‰‰‰‰ˆ…ƒ‚€‚‚ƒƒƒ{}pz}}‚‡‰ˆŠ‹‹‹‹‡„‚„…„„€€ƒŽŽŽ‹‰‰‰‹‹‰ˆ‰‰ˆˆ‡„‚ƒ‚xuux{xhm|}z~ƒˆ‰‰ŠŠ‹‹‰…‚‚‚†Š‚~|{‚‹Œƒ{|{ŠŠ‰‰‰ˆ‰‰‡„ƒ€€‚€wrqrrsjiq|}~…ˆ‰ŠŠ‹‹Š†‚ƒ‚‚‚‚‚‚‰‰zy{„ŠŒ„yzz€ˆŠˆ‰‰‰ˆˆ‰‰…ƒ‚€€vqrrtykjkx€~}ˆŠŠŠŠŠ‹ˆ‚‚‚‚‚‚ƒƒ„„Šˆ‡ˆ‡‡ŠŠŠ‰…‡‰‰ˆ‹ˆˆ‰‰ˆˆ‰‰‰‡„‚‚xrssynmnt€}}„‰Š‰ŠŠŒŠ‚ƒ„ƒ‚‚‚ƒ„…‰…ˆ‹ŠŠ‹Š‹Œ‹†…‰‰ŠŠˆ‰‰ˆˆˆˆ‰‰‡ƒ‚‚}yyw|€omjnx~|€‡ŠŠŠŠŠŠƒƒ„„ƒƒƒ„†ˆ‰„†‡‡‡ˆ‰Š‰…|}††‡‰‡ˆˆˆ‰ˆˆ‰‰ˆ‡„ƒ‚€€~€klhikz}}ƒˆ‰ŠŠ‰‡ƒ‚‚€€…†ˆ‹†††…†……†…„†‡ŠŒ…„†ˆ‰‰ˆˆ‰‰‰‡„ƒ€€nniges€~|~…‰ŠŠŠˆ‡……„„„„„‚‚ˆ‘‘‘‘‘‘’’’”•–“†…‡ˆ‰ˆˆˆˆ‰‰‹‰ƒ‚„ƒ„ljhgfl{~}€‡ŠŠŠ‰‰Š‰‰‡…†‡†‚ˆ’–•””•”””•••”””•‘‡ˆˆ†„†ˆ‰ˆˆ‰Œ‹„€€ƒ‡‡‡fgghhiq~€~}ƒŠŠŠŠŠ‹‹Š‰‡†‡‡ƒ‰’‘‘‘‘‘‘‘‘‘Žˆˆˆˆˆ‡…†‡‰ˆˆˆˆ‡…€‚‚‚ƒihgfghhu€}ˆŠŠŠŠ‹‹‹‹‰‡‡†„Œˆ…ŽŽŽŽŽŽˆ€ˆ‰‰‰ˆˆˆˆˆˆˆ‡……‚€~jhgdgjhs€~~„Š‹ŠŠ‹‹‹‹Šˆ‡†…Šƒ{}†ŒŠŠ‰‰‰‰ŒŒ‰…‰ŒŒŒŒŒ‹Œ‹ˆ‰ˆˆ†„„„ƒ€ihgfikin}}€ˆŒŠŠŠ‹‹‹Š‡†„†ƒ}ƒ‡†…„„„‡Ž’’’““”””““””’‹‰‰ˆˆ‡‡‡†„ƒjjjjiihlt€~‚‹Œ‹ŠŠŠ‹‹‹‰†ƒ……„‚‚‚ƒ„Š’”’ŽŽŒ‹ŒŒŒŽ‹ˆ‰ˆˆˆˆˆ‡ˆ†mkijokhjq}‚‡ŠŠ‰ŠŠ‹Œ‹‹ˆ„„………‚ƒƒƒ‰ŒŠŠŠ‰‰‰ŠŠŠŠŠ‹ŠŠ‰‰‰‰‰ˆ‰ˆ‰‰lmnoqpmpt|€~}~‰Š‰‰Š‹Œ‹Š‰„‚ƒ„„‚‚ƒ‚„‰‰Š‰‰Š‰‡‰‹‹‹ŠŠ‹Š‰‰ˆ‰‰‰‰‰‰‰‰zzzzzzzz{zz{{zzzyyyyyyyyyyyz|€ƒƒƒ„„††‡‡†††ˆ††ˆ‡†††††……‡†„ƒ‚ƒ‚‚yzzzyzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†‡†………………††…†‡†ƒ‚‚zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzzzzzzzzzyyzzzzzz{z{{{{z{~€‚…„„„……„ƒ„†‡‡…„ƒƒƒ„„…ˆ‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{|}~}}||~€‚„„„„………„…‡‡‡……„„ƒ„…†‡‡†…„‚‚‚€€{ƒ~|}}{zyzyzzzzyzz{}}~~}ƒ‚‚„„ƒ„……‡††††…………„„…†‡‡††ƒƒ‚‚‚€€‚~€€~|{zzzz|zyz{|}€€€€„…ƒ„ƒ„…„„„„…‡‡†„…†………„…†‡††‡„ƒ‚‚‚‚~}|€~}{{zzz}{{}ƒƒ‚€‚ƒ……„…„„……„„ƒ„†‡†„………„………†††……„ƒvy}}€€€~}|{}€…†……„„ƒƒ„‚„…††……………„„ƒ„…†……„„„„„„„…†‡†…„ƒ‚‚‚‚uy€}‚ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††ˆ†…ƒ‚‚€‚‚z{}{}„‚‚‚‚„„††‡‡‡†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒzyzzz€€€~€†‡‡…†††………†ˆˆ‡ˆˆ†…†……„………††……„„„ƒƒ…†††……„‚€€‚ƒ€†ƒ€‚~|zxy|}…ˆ‡††…††††‡ˆˆˆˆˆ†„„„„„„„††‡††„„„„ƒ…‡ˆ‡„‚‚‚‚‚€ƒ„„„†Šˆƒ~~~€~ƒ†‡‡††…‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡‡‡…„„„„„†ˆ†‡ƒ€‚‚‚€‚„…‚ƒ…‰…ƒ€€€€€€†‡‡‡‡††ˆ‡ˆŠ‡†‡‡…„„„„„††‡‡‡†„„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ€‚„„ˆˆˆ†‚‚ƒƒ‚ƒ‡‡‡‡‡†‡†‡†‡††‡‡…ƒ„„„„…‡†‡†…„„ƒ„……ˆ‡…‚€€ƒƒƒ€ƒƒ„…„‚‚‚ƒ‚€‚†‡‡†„‚‚€€€€€€€ƒ…„……„„…††‡‡…„ƒ„„‚‚‚||~~ƒ‚€€‚ƒ„ƒ‚€€‚ƒƒƒ„ƒ‚ƒ†‡†}|||~€~}|}‚„ƒƒƒƒ…ˆ†††}}||z{{{{{}~~~~€|~€€€€‚‚‚ƒ„ƒ„€|||}€~||}}~‚€€€„…„„…€€~~~€€€€€~~}}}}}|||}~~||{{{|zx|~|}€€€€€€€€€€ƒŠ„ƒ„ƒ‚‚‚‚‚‚…ˆˆ|~}|||}}}|{||~|}zyzyx€}|€€€€€~€ƒ„‰†‚‚€–¤¡¢||}~}}|}}}}||}~||ƒƒyyxwy‚„}{€€€€€€€~€ƒƒ‚‚‚‚€‡‡‚|}{||}~€~~~}}}}}~~{{€‚zzzy{…†||}€€€€€€€~€‚ƒ‚‡ˆŠ{|}}}}}}}€€}}}}}~{|~|{}}~„„}{}€€€‚‚€~‚…„‹}z~€~}|}}~€€~~}€}}}}}}~}€€}|{~€€‚‚‚€…—”…Šzyƒ}}}}~€€€~}~~{{|}||}}}}~}}{z}~~~~€€‚‚‚‚€~Œ¹¸•zy}ƒ€}}}}~~~~{~~}~}}~~~}}~}~„€}~~~~~€€€€‚‚‚ƒœ—˜Š†ˆ‹„ƒ€~}}}}~€€~~|…‚~~~}€€~~~~…‚~~}~~€‚‚“¥«¯ª¦‡„‚€~}}||}€~‚‡ƒ€€‚‚€€€ƒ‚~}}}}~€‚‚‚¡ÃÄÇÇÁ“‰‚€~}}|}~€€€„ƒ‚„ƒ€„„€€~~}~~~€€‚‚‡›³ÈÍÔÖƒƒƒ‚€~}}}|~€€€€‚„„~~€||{{|{{}}~~~~‚‚‚€¡€ˆ” ¤ƒ„‚ƒ‚‚€~~}}}}€€€€}}€€€}yyxvwvvuuvvy}~}}}~€Ž» ‡€~„‚‚‚‚‚€~}}}}}}€€€€~…„…‡‡ƒ{z|||}€|}}}||~~}}~}~‚‚€ŒÀÍŲ¤·{}‚‹‚‚€~}}}|}~€‚ƒƒƒ‡ˆˆ‰‰‚||}~~}~}}}}~|}~}}}}~~€‚ŠÀÏÐÏÊÇ}{ˆ‡‚ƒ€~}}}|}~€‚‚‚‚ƒƒ…ƒƒ||~~|yz{~~{|~}~~~~~~‚‚€†¼ÎÎÍÁª||€‚ƒƒƒ€~}~}|}~€€€€€€€}|}€{yyy}€~{|€~~~}}~~~‚‚¸ÏÏÏ®‚~‚ƒ‚‚ƒ}}}}|~€€€€€€€€€~}|{|}{{zyy}|{}~€~~}}~}~€€¤½¦·„€|€‚‚‚‚‚~~}}|~€€€€}||||||}}|{~ƒƒ||}}~~~~}}}~€„‰„Š‚€‚~z|}€‚€~~~~~€€}|}|}}}~€~~}{~}~~~}~€‚‚~zyz~ƒ”ˆ‚€~~~}~€€€€€€}yyxzyyyyyxxxwwvuw€€€€~}~~~}}}€€€€€€~yxy}„‰…‚~~~~}}~~€€€}xvwvvwwwwvvwwwvvx€€~}~~}}|€~~~€~zxwz‚‚‚‚~~~}}||~€€€|zzywxxxxyxxxxxy~~~€~~~~~€‚€€~zxwxyƒ‚‚‚€~}}}}|||~€€~y}‚€zxyyyzzyyzz|}}~~~€~€€‚‚‚‚ƒ~yxyzzƒ‚‚‚€~}}}}|||}€€~|…„~{||}|||{{zz|zyyyxxy{{}€‚‚ƒ‚~{x{|{ƒ‚‚}}}}|||}~€€ƒ…ƒ‚~€€~zywvvwxxwwvwxy{~~~~€€€€}{{}~~€‚‚‚}}}}}|||}€€€ƒ‚„„€}yzz{z|}}|||||{{|~~~€ƒ~€„„‚‚‚„ƒ‚€~~}}}||}~€€€}~€‚ƒ…‡…}|||||}}}||{|{z{|~ˆˆ‡ˆ‡…„…†„‚˜Ž~~~}}}||}€€„ƒ‚€}|||{{{||{zz{z{{|}~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍËËËËËÌÌËËËËËËËËËÌÌÍÌÌǽ´¯¢}qgjtkjgkiqbfaV\`\[a[T[`]]UPORYX_e_dRTUVUWTSYTPV^^[XTMD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÎÆ´œ¥•t€yr]^_o|n[]lkgZXXZ^YUTO]f_[RPOPXV\fhfOU\_XPPLQRX^aZUOLI@?75421/75ÍÍÎÎÎÎÎÍÎÎÎÍÎÍÌÆÀÿÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÁ£Šˆpllpkjnrsxy^`^abZYZZZ\RSV\aXYXVSQTSV[ebPQXZTLNMRQ\b__YPGA?<851220.2ÍÍÍÎÎÎÎÍÎÍÌÌÌÌÍÈÀÅÁÉÌËÊÊÊÊÊÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’xlqvws~€ed_[fWaccZZWU^YSXedQORVWRMLWOYeQNSXZPMROPX`]`USTOH?<84321--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÉ¿ÁÀËÎÎÎÎÍÍÌÌÌËËÊÊÊËÉÉÊÉÉÉÉÉÉÉÊÉÈÈÆÈÉÉÊËËËͼ’Ž„|q`k|lbg_^`Vh_VWTSM[a_`pm\QOT[SMJURSXSYYXUNOQUZ_WVYPOXNI>?A;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÉÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÌÌÌËÊÊËËËËÊÊÆÉÊÊËËËÇÆâˆxylh^jomb_`^W\_UQZRRQZfeffbeUQUXSQSTRRVRY\`URTQYZ\XWSSOPQI>?>6551.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎŻżÆÏÍÎÎÎÎÍÎÎÍÍÍÍÌÌÍÌÌÌËËÈÊÌÍÍÌËÈÅÊÊÊÌÎÌÇÃÁ²™zxoeUSb^X[`a^b]WTPKKTX^ach^ZSOOPNKSRSQ^LTTYZVYY^Z[URPSNQKFC>A<530/3ÎÍÍÎÎÍÎÍÎÎÎÍÍÍÍÅ¿ÌÂÅÎÍÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÉÉÉÌÈÄÁÃÁÆÆÈËÌÊ¿¼«Ž~voVSRQNWWlpfb`ZWLD@LYPY``]VSQKMKHKIPLYNQUUVVYZZ[]XRNRMUOCHA?>3/.-,ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÈÇÅÉ¿½¶Á½Á¾ÃÊÈÄ»®£¥‹|tr]UVXWhjZnfe_UTQRWUcTNZ\RNVWQJJFNOQYWRPXYUSWWUNSYRQWQWV?57220.---ÎÍÑ×ÔÏËÌÌÉÈÉÊÊÌÄ¿ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÃÂÁ½Â»¹©¿·À¸¼Æ½¼´¤ˆ„|nˆxb[^[\dkVm]T[SMST\ZUMPRWQPRUWKKKSRRXf\NUWUVTUYQP[XXZZKA<6540.-,,-ÎÛêðîäÒÊȽ½ÀÅȾÆÁ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁ¹²¼¹°¡º±½¶²Á´¹²˜…zxlgaab`T[a[TdZSZ]OSRV[TUSNMMKKLRXUNQOQQcYNY[WQLNXWUTWQLJ@7=<:61.-,,.ÛîÔµÄæè˾¶°°¶¸¿ÁÂÉÆÂÉËËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ°ª§«°¤Ÿª¬´°±¸«ªž‚wxsjkQ_dZXcWQ[h]Y^XKPQS[_aTPLLKMQLTWKNTMR\\Y`[SOKOXUUVOPWIBC=;;951//-,îÇxhn¦ê×´®¬­³²¾ÃÅËÈÃÊÍÌÌÌËÊÆÊËËËÊÉÈÅÁ¾½°¡™™¤¤˜˜£¯ª­¬¥¢™‚slifim[UWT`_VV[YY_WRVTSTT^WQSONSUQRRWROWPQX^X]WZ[W]^RSYVRP>>E:8777520/.Ù¦‘’Ó궬ª®±³ÁÀÅÉÇÁÊÍÍÍËÊÆ¿ÈËËÊÊƾ¶¯±²¶ªŸ”Œ˜™˜”¦µ­« ”—‘xhddUf_QKHOW_XRR`g]_n]^c\TVNPNOOQVRTQTYRZNN]\\eZb]he_RPMKJL@=?8854453./2{yx{|Œ¨°«©¯®´¼¶ÁÇƾÇËËËÊÇ¿¶ÄËËÆø§žšš¡ —š•‡’—’’œ¤¨œ…tccgZ\SQTRPX^_[hm]OS`NWon[QNJMLJFJMMONLPWTW]TRWW`g[ZVOJMFFDCH@7543343/15SS`’ ž”€§§¯°µµ±½Èƶ¿ÉÇÉÊȾ²ÃÊɾ²¥˜œž•–’ˆ‹‹“’Šˆ•Žˆ‡‰ƒ|ttoaYSX[YOW[UU\h\RQ]fg`^[RRLJJGIGGEFNLT][VZVN\iffV]SMUSIJ@?B9753313438=WU•ÓãäÑ”|Ëͳ­­ªª¶Ã¸¨®µ°¸¸Ç¼¯½Ä¹«ž—› ““„‚€ˆ‰€}ˆ‰‹„‚€‚€}xvn`VUST]XTYTSYgQON]dcRRZXSLKLJJHEKJIRV[aRYQPkqcd^a\U_XUSH=::86432264:?Œ€£À¬¯¨sxÙìÐ˦Ÿ ¦¦œŸž¡¡Ÿ¨¶¬¤¢©›š˜Ÿ—™‘•Œ„ƒ…€„w‡‡„||{{tppiaVPZfZQURU^ZNX[\]XQRQRSMKPQLNRQFBJNT^QQM]``^Yei\QT^ZESF=;<9555488:2H}[YeS>]|¹ÄâĸÇƼ¿µººÈ姞ž•œ•›•Ž‡ŠŠŠ†„€yƒ}{uvwqqljeW\cabXRRYV\]aWS\SX^ZVOINLNIBDFA?FEDBRHUW[W_a`\RcbTVWQLGDF966767;=FE8:DPlrI;I_Âo‹âåæåèèçäáæêîá—”‰‹“’Œ‹Š…ŽˆŒŠ‚ƒ{}‰ywuqsqnh`V[b`YQVPP[dbcTMRRf[aVLQROJHCISICJKLFPR\]XKXdcdT_cWPV]PD@@<:8779;?JAZY`qrneZV]¡‹¯íìçáÜØÙÖÖÖ×ØÕÏ­Š„‡‹Š€ƒˆ‚—‡‡z|ƒ‡|‰y{vuttvraUQYX[VXVNYZ[^fgjmokR[[SMQQGEEPUPPNOOIJVZ][NM]Y_]\caW_S@:9<<;:::;=<<;cbcdcdehlmzÝðëØ“xmhhdccaalw“}†‰†{€…‚‹—†‚ˆ{‚ˆ‰†}†|xuvxtum^X]_UVSSV_WOM_pq`Z]dPSMMRRMMJB?LTRRSUP]dcdZSXX][R[UTSF<98;:79:98===763b€97888;BDCEn•g_[T„äÌñ¸€Ê¼hMBCHCCCH;55;5^ŸÀ²~x|y|~z}}{‚}xwolvxzqgabSQSD?KVWUXZPLJUX[[UZd^SMLIKOMMJGJNVWY^`Y]WUQWOJLHA<8676S€=79:<>=<:@KNV`XQXZPW[NLG;:997773ŠáJ26::L[jl^KPePF@:;97;;:9>7xÙS4=;=BIJDW¸·¶½²|x{TBDc·ÜßêêëãŽÕÔ¸¿ßëäßØÑyƒy}|ytq{yx}zxyy}wyxofhiifa\\X]YNNVSMOT][XX\]\SUMG@@FIB=CRQJW^^lŽjQUWK@;666;@BB>@;zèa8>8MTMfjky‡f\]QIB>::>FMIBIJY`k•œŠ‹‘†tZKKDPžååéêåëæáèçÝàëçêççâquxywzzguywvxuoryvqnmgcc`^j^RU]WX[SPSPSOZ_Zd]TUQNHGHCGKFEHONUijjrqbbkiXQMLOUTVSIJP9€óm97:V^_khhbj]\[XTC;<8E‡âíìììëìëëëìëêéëìî݉xyyzzvxxu…’–›ŸŸœ¤¦¥¢¡Ÿ™’‡{yhTNVZ_XWSMNWWZb^_WOOUQLE@>IV`W\fjmaYWX_aejmlof^jxvplgjjY‹íƒ][buvprjePOPOQT\[B.2@tÚîîñîëïððñðïëìñîïÔ‚xxy{zŒ˜¤­®¬¥Ÿ˜“‹ˆ‡‡†Š”™ž¤¢—iUXXXRONOMS[XRWXTMRWSPW`]q‚vclwiWTW\]^agfm~„‚‚ƒ|€…‰ˆŠ”¨“’Š„{|rrpgzzzzz{~X*0>iÏäÅ¢Í챤¦¨©²éÔ¢ÆàÌzzzyuŠ©‘ˆ€vla[Z]ez…r`^WUTVY\[kwZ[UVTZa`SS_\SOOVa[X]i{‚†Š‚bbqhQPY[[Z]eikv}zxzrs}ŠŽˆ†Œ†‚}nqpkngwvvwwy{}jSXbs¡©l¼†xv|’¿›y¥¯¤vy{yu}SOMMNSYUY_“tVSShfe]XI>[sror{†Œ†Š“”’˜µ‡‚‚{vz{kblmc[^`_][_feiqdc`ccu{}‚„ƒƒ‹„~zqchpmkfpooopqruvwwyzx{}€~}€€€{z{†Ž…’‹uv„OCVany‚ƒI75/+155BbfgiieI>kwwwusrstttuwx}‚ ®°­ž€unkklmmiea]]]ZX^^YZ\]]`fidda`clkfigd_htmsupnlkklmpqrrrrsstvy|~~}|{ywusx„‡šŸx=Q—Ÿ¤©ª„mR>:?HKHE=568?:BJJJJKJIIJH\€dC4~¨’Fglifdb``_^^`bfkoqstuvtpkhfimnmljit“¸Ë¹”xjgjjiigec_YVSSPdŒJMSSWZ_tuuuttpkgeefghikllllmmllllmnorsstrƒYw\/34n“eJ\B>==CJIMINojA59E[Xjlljgdaa``_`abfknqqstuusmhgikmonljo†¦½Ã¬ulijjihfb_[VRttN}…Š•™prttuutqmhfdcdfhijjijklkllkklnpqrp‚PŠL36=s“‡T=5433:GEIKfy„M34/xzKggjlljgca``aa__`eiloqsuvutpkgfilnmmjhpˆ­ÅÄ©†pjjkkhedb[`n¥³³´²±lnpqssrqokfb``acdeffgijjklkjjjkmqmzSA?DG‡˜©fE>3213548@p£‘J620Y“Hcedfknnjfc``a`^]]`dhknprstrsqlfdgjkllifgwžÆ϶‘tnkigfdjWb`‹{m_Ujlnopqqqqpkebaaaacddfhiijkkjihikmkt_‰DKLEbvVIH>9:;8779c™€@;62ET_ic_bhknnkgbbbba_]]_dhlnprrstsqkdceikkkjgdsÅлŽsjkkf|˜SWœVXlG<B?@HIFCBB98;5BRLIL=686@=3027Ujeccbdhllhdaabaa^]^`dhkmopqsssqmgeegijlkieg{ŸÅ aO>;;8?ep^`cfhkmopqqqpomidb`__`adfggigA00.2HK9854579853455556787546789:MÈÄuZdffhjlnprpopolgda___`accegfrµ‚BG7876666555555435544444445538EIH]ihiijjkkjigc``aceecba_]^`_^\Z[]_cgjklnnnnlfbZINOL]aW@PL555=B¼ÌµaZacfijlmrqopqolgc`````abdfei£|RJG4165444444338A55443333341Ty[MThhiiiijjjkjifca`bghgedaaaaa`_]]^aehjmnopqonlfZVedD\„xb]VICMQª¿Î¦\]begijlnooqqonlhc``_`acddei„|Xv˜Œ\02222323339C4543323431X« ¥{JPgfhhhijkkkklkifa`cfhjhgdbaaaa`^]^`bdgjmoqrppokcš¶{wnpmhhcRRdw²ÂÏ”X^cefijlmnpooonlgba```abdelkS`›Ÿ°°V2112212345/5532100//Nš¥”€6Zveghhiiijklkkkjgcaadgjkifdb``___^]^`behknooqpomŠ­zobfbYXYWWlNŒ»ÆÊyXabfikklnoooonmkgc``__`bdbi0I•ž±Ÿ¦\28656305A`?78<>@AZ[´Ö´Å¶h.Ehfghgihhijjjjjkjhdaaadgiihea_]^^^^]\^`bfikmooqgy¨{iUVYWUUUV\Zv«¿Ì¸gZbfhjjlmoonnomlkeb____`bT]25‚ûÇîÊ…}RXajRbÈZMrre\\›²ïðØدL-;aghfffhiiiiijjjjjigdb`adhihgc`^]]^][\\^_cfilmo]g—jbUTUVTUUUUUUt¶Âͧ]^dfgiklnnnoommmjda`__^aR?0/VºÔàëó½™bZ\ee“Ô‰Zl\b`p¯Îçг°s106af¤Å¿„fhhgghijjjjjihfb`_behjifb^]\\\\[[[\_cfimWXcZQNTWWWXXXPJL€¸ÀÊX]acfijklmnnmmmlhda_^^`X3/.4iŒ…ñ­ƒbjeWT¼ü´Unoxq†¨yya=83/06d`|ž¡‰ddeffghhhiijiijgda_`ceiigd_\\\[[[[ZZ\_chSVqc[ozd[_\[]^]RLPŽ¹ÃÄvT]_aeghjkmmmmllkhc``_`Q1-,./02FH?kdRdmkq£Ù¦|mh`XUQ8:930025@ihnlkl‰€mmjhgefhhiiijihdba_`cfghd`^][[\\[[[[]`KQ[_J“À®‘¨¾fKNeXOJY¤¾É¼jZ_aeghhjlmnnmmljgb`_`N.,-1369=DLU`kx¡¯¿Ö̼´¢•wd]Y_kw—œ£¨¨¬¯®­µ°ªª§£šŠpfghhhiiihfda__adhihea]\\\\\\[[ZFKNVEÅÒÞÙôÉ]DkaPMIm´¿Ï¬`\adfghjklmnnmlkjfb__O--.478:>DJVkŽÜçéêíîíííðë‘z™­®«§¢žš˜”’‘‘‘“˜—˜mdggggiiiigdb`_adgjjhd`^\[\]^][CDDNJ\Ò×ÓÔ×ï¾SkoeSLL‚»ÂÑ™Z_cefhijklmnnllkie`_S/-..38=FTe{¨–ßäêììëëììî冨š…ˆytrnkihecedddcccccefw€ffffghhhjihfc`^_cgiijgc^\[\]^^D>BJONit›±®äö…ilu]OLS—¾É̓ZadfhhiklmnmmlkjhbaW2-..16:?Qe{£›Úñññòòòòñó䜘f^^]^^__`djv}tronlkiiiig_ureffghgffghhfc`__adhjiiea^\[\^E>AHLPPT[c‚ÑÂ…qokeXOKaªÁÍÇw]ceghhillmmmmkkjfbZ2...36ChO>ALO”­¤ œ–Ž†{z©€Zhwz|zyz‡‡—¨€x…}~~}~|zyitheeffffeefghgdb_^_bgjjjgd`]\]E=@GKOQVXY\edfpjlmeSUh„ºÆÔ½k^cdghhijllmmmkkie[43..9Fí F@B\VAGORSVZ\[v¡`k}‹–œ¡¢¦ŠO673=¸¿Á»º»¶Ÿ|[`mddeeeeeefhghhfc`^^`eikjigd`^G>=FJNQTWY`abckknlhYNOPŠÂÇÔª^^`bdegijjlmmkkkh]39..1>Ûžt{‰žŸ—œ¤ª®²²¨¤¨…N{¬ÓÕÙÜÞàæœX\POLxàâàÙÖÝáÓhrMkddddeddeegggggdb_^^`dikkkifcK>;FHLPSUXcpx~nqpooeSLKT¡ÄËÓŽY_bcefhhhjklkkkj`1;/..1@Z\B=FNHCDDDFFE;W•oYj¶âÜÜÚÙÚáŒWegcLj×ÞÛ×Ò×ÞÕUqTahbbcddbcdeefegfda_^\]bhjkjjiP;9GHLORTXbnw{nsqstxhTOIi»ÇÑÆl]abeffghijkkkkka/;0-,.13;==?C<<@<BNÌŠPQ?224775BK9iV]a]^_aaababccbccddca`^\Z\bflR23GLPQPTZcd_YkggfqmhcRLML‚¾ÄÒµa^bbbcdfghiidYO,9609P<3.-,+***))+)+)I rQlI>8689887434l986578;<8?G9UdSbmrtb`aaabbbcccdddcba^\[\`hQ,4FKOQ^maa]M9mlffnmqiSLMKU£ÂÇÕ›_^abcdffedb_WO/956/?GA=674*****+.14i _WbA6657;7652223744646Xus:476@oMbµââ°f`aabbbccddddddc`^][\bN'3EEFT±²t\MJLiqjgnprqf[OLKr¶ÀÎÌsZacccdeeeee\L3824010/.**))***)+/,MŽT_UEG<@SZNAA>43333457@€‡@?;56jNZy··²u]`aabbbcdedddddba_]\^K%1D?>]þjZ\_HswmkqpnlnpYLKNŽÀÄÕ²``bccdeeecc_U?2-./,%#$$&$%&&%%.43‡~LdMLRKJLMKJMQG513345GTg†jLNQB6ZOX_[hfda`abbbbccddddddcca_]^J#/@=>Jkp_agdSpnjgmmhfijdLJJ[ªÀÉÖŒ[abbcefedb_[R@:::<=>?>>>?>>FQWalqtolmehknspmiQIKLx½ÀÐÅl^bbcefffdb^WSPONOPQRPPQRRSS[uŽ‹wlN8AAAHUYVIG?IXIE98BOQOMHA<98=;9BWeIhOUa``abbbbbccccddddbb`L#-8546:?DLMPVgcihfiqsorr_LJZf—¿ÄÕ­bbccfggfeeb]\ZXWXXXVUVVVXZ[Ri‚™„tmU@>@DOTLGCDCQOHFGKORUXWROQTUWY\^_oZ`OU^`^`_aaccbbcccccdc_YSB#-61L7(''&%##hllimmklnspkTILLW¤ÀÇÕ‘_bdffefffeca``___][ZXYY[_cZOQrrxoe]\[YXWYZZZ[ZZ[[[\[Z[[[[[[Z[[[\^]dR@Zd]ŒÄÇ°labbbbbcccab]NJI?",64][=.,.30.xsspsojikjgjcKJJIn¹½ÍËu\bcddefffeccccbbb_][ZZ[\^_]\HXjidZZZYXXYYYYYYYYYXXYXXXXXWXYYYYYZ[_AEbc`pÃßÛ¡^abbbcccb^[XSMKA!,4/)*4977776x}pjjiehiniaOJMKL½ÀÔ­[\`bccdeefeeeeeddb_][Z[[\^_cP@IhdVXXWWWWXXXWVVWWWXWVWWWWWWWWXXXYW[IQecb`fnih``aaabbbbbba`YMB&,2.)*22110..orqtvlmflmnkjf[MKI`µ¾ÉÓ~W^`bcdeeffffffedda^[[[\\^^cZETrfRWWWWVVWWWVVVWWWWVVVVVVVWWWWWUUVUS^dccba`_]ljaaaaaaa```_\TD./.-,/3&%%$##mvssrlnhgkklnsiQJJL”ÃÄÕ¸c`cdegffgggfffeddc`]\[[\]^g`}wpkTYXUVVVWWWWWWWXWWWWVWWWWXXXWQZm{_\kaccbbbbkƒwcbbaaa`___][WQC3+**,.()(*,.msmnnkkjgjillmiSJJJh»ÅÍÖˆ]cdfgffgggggeffddb`][[\\_aeŽ{gvyvl[VWWXYYYYYYYYYYYXYYYXYYYV]Ž¦¡oXhbcbbbbbaZ[```aaa`__^]\ZWTJBA@@@CFINUZljmtrmjlnmfgihiUJKKM”ÆÅÓ¹a]^addeeffghfffddca^]\[\^Xaˆ‚r}¤®±s^Z[[[[\\\[[\\\]]]]]]]]\]ŽÉÒä—OO\```___]^]^abb`aa`___]\ZVUQOPOOOPRTX`jmoqmlnprpmhkkfSLKLJd¸ÆÌÖ^cdfffggfghgfffedb`^\[\^Pb€tq‘âàؼu\`^_`aaccdffedeefffb`\yÎæÚéÁ`amxyyxxwvro£À«qmaa````_^\ZXWVVVWWUTTW\lklnsusprkilljodOJKKMÇÉÕÂkcefghhgfghggfffeda_]\\]Mcc^SãÝ×æ½igjmorstwy~€xxxywvy|„´áÍÁÿ²³¶¶µµ¶¶¶¶µ±ºÅ¶‚vg_``a```_][ZZ[[Z[ZXWWXjrurpsqkoijieirbKKKLK_¶ÉÌÕš`eefghgggggggffefca^][\JdURE„íβêé‚jtttttuw{€„‘›¦°´´¬¦¥¤¡ŸŸœšš™™˜˜˜™š›£ fZa_```a`__^]]]]^]^][YYousnhgjllgjlvste_YLLMO…ÈÇÐÊvbefghgggfggggfffeb_^\\J]PJCSƒ†çå~r‡Ž•œ£ª±¸ÁÂÄŸ›‡«¦ ›–’ŽŒˆ„~ywvqooonmmmmosxogu^``aa`___^^_^_^^^^][gghf`a`hgpzxrrnlndRKMRZ°ÉÇÖ«defhihhgffggggffeca_]]MLHICHKQZ™ xŸÅ½¸·¸»¾»ÍÛ·«²‰mˆ~tke`ZTQNMKJIJIIJIIIIILMMQZrdaa`aa___^^^^^^^^^^]sopomwprirqtts|€l]SJJLK{ÅÃÍÓ‡befffffefggggfeeeb_^]SFCHBGMRX]h’Ú°D==:9;8—í‰4uƒaaWNJHGHIJLMNNhaNMMLKIHHGFDBBBPaaaaaa`___^^^^^^^___„{‚xtzwigoxtwxpe\RJJKJR ÆÅÖ½f`bbdddefgggfffffda_^UE@GCHLPV^m—߈2=>;778867777888898Qaaaaa```________```†}u~xrpilsmhfoibccTJKJ]f~»ÃÊØ“]aaccefeffffffffdb`_U??GBHPW\co‘×>CADEGG}×…nzD<;;:87776677555588:9766666666;;B\babbaab```````_`aa~|xwxsnpa`hqyrijeYKKJU[Y˜ÃÁÕÃh^accdddeefffeefeca`T8=HBDLT\esÏ«Ys ¨¯·ÂÒàÂ]:98::<=>@BC?;KJ<7<:::755545655:A;Peiedccca```aaa``aa†‡†††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxywyzzy{{zwuyyz{zzyz{~€€€†††…†††††…†††…††††††‡††††††…„|xuttvuvxxxywz{zywtwvxzzxwy{~€€€……………†††††…†……††††††……††……………‚€€{uwwxwwyzxxwz{zyxvvvxyyxxyz}~€€…………††……††…††……………………„……„………„ƒ€~zyyxwy|{yxwz{{{ywvvxyyyzzz~~†„„……„……†……††……………………„ƒƒƒ„„„ƒ€~|yxwyz{zyzz{{{zzvvxyxyzzz|~€„‚‚ƒ„ƒƒ…………†……………………„‚‚‚‚‚~|zywy{{zz{|}{zyyuvxz{zzx{~€€‚„†‡ƒ‚‚ƒ„……………„††…„„…‚€€€€€€}~~}{zzwwwyzz|}|{zzxwwwxxzzy{}~€€€‰ˆ†…‚‚ƒ„…††……ƒ„„„‚~~~€~}{|}|zyxwxwvy{}}||{yxyxwuuxyy|}~€€ˆƒ€„ƒ€‚ƒ„…†‡„‚ƒ}zz{{{|}}}~{{z{|zzyxxzxx{z||}}{zwyyvuuwwx|€€€ˆ…ƒ‡„~~~€‚‚~|ywwwwx{{y|{yyxy{yzzxxyyz{{|}~}|zzyxwvuvuw{~€€~Œ‰ŒŠ~€€}zyyyxwvwzzxzyxxxyzz{{yuwxwz{|}~}|zzywywvvvw|‘‘‘†‚‡‡‡ˆ‡†}xzzwvwwxyuuvvuwz{|zzyuuvwy{{}~}{yxwwyxwxy|~€~~‡‡‡ƒ„†€…ˆˆ‰ˆ‰‰yxxwwwvvursuuuw{||zzx{{zyy{|~~}{yxwwxwwz|ˆ€}|€€~ƒ„†……„„…ƒ|uvuuvuttstutuwzyyyxz||z{z{}~~~}zxxyyz{}€€ˆ€€~}{‚‚‚‚‚‚{svuuuutsttuuuwxvxyy{zyyy{}}zvwxx{~€€}}€~|x{|~€‚~€|ututtuutuuuxxwxyyyzzzxxxz}~~}wsuvw{~}|~}~€}wr||}€‚€~€€{uusuwz}~}~~€|xyxyz{yxxy{|}zzxuqpqqnqrqqrvzzwqoo}}}€€€€ztu~ŠŽ‘‘Ž‘‘’†yz}||z{{zxrninnstsqnigggffghfdiklƒƒƒ„……„„†„„ƒƒƒƒ€}†Š‡‡ˆˆ‰ˆˆ‰‹‹‚‚‚‚‚‚„ƒ}xvvxyzyyyxxxxuqrrpoppomˆ‡‡ˆ‰‰ˆˆ‰‰‰‰‰‰ˆ‡ˆ†‡…~}€ƒ„…‡‡‡ˆ‰…„„ƒ‚‚ƒ„……†…†ƒ€€€€€‚‚„ƒ„„„…„ƒ|‰‰ˆˆ‡ˆ‰ŠŠŠŠŠŠŠˆˆ‰‡†‡ƒƒ…†„…‡ƒ‚ˆ‡…„……ƒƒ‚‚‚‚ƒ„†‡‡†…‚€€‚ƒƒƒ„„„†Š‹‹‰‰‰ˆ‡†ˆŠ‰ŠŠŠŠŠ‰‰Š‡†Š‡„‰Œˆ‰ˆ‚~‡‡„„ƒ„ƒƒƒƒ€€ƒ†‰‰‡…ƒ‚€€€€‚ƒƒƒ†…ƒ‚‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠ‰‰‰‰‡†Š†‡‹‹‰‰‚}‡‰„„ƒ‚‚ƒ‚‚‚‚€€€‚…‡ˆ‰ˆ„€€€‚ƒ†„‚„ŠŠ‰‰Š‰‡‡‡‡ˆ‰‰‰‰‰ˆ…„‡‡…‡‰ˆˆ‡€}‡Š†…„„‚€‚€€€€‚„‡‰ˆ†ƒ‚€€€„ˆŠŠ‰ˆŠŠ‰‹‹‰‡‡††ˆ‰‰ˆ……††……†‡‡‡†…„ƒ‡ŠŒ‰„„…„‚€€€‚‚‚‚€€€„†‡‡‡‚…ˆ‹Š„„‰‰Š‹Š‹‰††…†ˆ‰ˆ††ŒŽ‹‹‹‹Š‹Š‹ŒŒŒ‘…†ˆˆ†„ƒ‚‚ƒƒ‚‚€€ƒ…‡€{†ˆŠŠ…€†‡‰ŠŠ‹‹‰‡……†ˆ‰ˆ‰ŽŒ‹‹ŠŠ‰ŠŠŠ‹Œ‡ˆ‰ˆˆˆ†ƒ‚‚ƒ‚‚ƒƒ‚€€‚ƒ€|†ˆ‰ˆ‡}ƒ‡‰‰Š‹‹‰‡†…‡‰‰‰‹…†‰‰‰‰ˆ‡ˆˆ‰‰†~‡‰‡ˆˆ‰‰ˆ‡„ƒ‚‚€‚‚€€€ƒ…†‰‰ˆ‰||†ˆ‰ŠŠ‹‹Š‡…†‡ˆˆ††‡‡‡††††…†‚~…ˆ‡ˆ‰ˆ‰‰‰ˆ†ƒ€€‚‚€€„†„…„„}}~ƒˆ‰‰Š‹‹‹Š†…†‡…„‚‚‚‚ƒ„ƒ‚†‡‡…ˆˆˆ‰‰‰‰ˆ†ƒ€€‚‚‚ƒƒ‚€ƒ†yvtt{~}}„ˆˆŠŠ‹‹‹‰††‡„„„„„ƒ‚ƒƒ…ƒ‚………‡††ˆˆ‡ˆ‰ˆ‰‰‰ˆ‡ƒ‚€‚ƒƒƒƒƒ‚…„|yww~|†‰‰‰Š‹‹‹ˆ……ƒ„†‡‡‡„‚‚ƒƒˆ‹ŽŽ‘‘‘‘Š‰‰‰‰‡…ƒ‚€ƒƒƒƒƒ‚~‚‚€pz}}‚‡‰ˆŠ‹‹‹‹‡…‚ƒ…††…‚€€€‹“•””•””“““““‰ˆ‰‰ˆˆ‡„‚ƒƒ‚|wxz~}hm|}z~ƒˆ‰ŠŠŠ‹‹Š†ƒ‚‚ƒ€€‚ŠŠ‡…ƒ„Š‹ˆ‚ŠŠ‰‰‰ˆ‰‰‡„ƒ€€‚‚|trrusjiq|}~†ˆ‰ŠŠ‹‹‹ˆ€‚‚‚…Šƒzxy~‰ˆ{zyz…‹ˆ‰‰‰‰ˆ‰‰†ƒ‚€€‚{sqrstkjkw€~}ˆŠŠŠŠŠ‹‰‚‚ƒ‚‚‚‚ƒƒƒˆŠ…€~~„‰‹‰~€‚‡Š‰ˆ‰‰ˆˆ‰‰‰‡„‚€‚}sqrt{nnns€}}…‰Š‰ŠŠŒŠƒ‚ƒ‚‚‚‚‚ƒ„ˆ‰‡‹ŠŠ‹‹Š‹Š‰‰Š‰ŠŠˆˆ‰ˆˆˆˆ‰‰‡ƒ‚‚vvuv~omjnx~|€‡ŠŠŠŠ‹‹„€‚…„ƒƒ‚ƒƒ…‰†…‰‰‰‰Š‹ŒŠ„~†‰ˆ‰‡†ˆˆ‰ˆˆ‰‰ˆ‡„‚‚~~}|klhikz}}‚ˆ‰ŠŠ‰ˆ„‚‚‚…‡ˆŠ…„†………†ˆˆ„~{ƒ…†‰‡††ˆ‰‰ˆˆˆ‰‰‡…ƒ€€oniges€~|~…‰ŠŠŠˆ†„ƒ‚ƒ‚‚‚ƒ„†‹‰ˆˆˆˆˆˆ‰‰‰ˆ‹Ž‘‰ƒ…ˆˆˆˆˆˆ‰‰‰‰…‚‚‚ljhgfl{~}€‡ŠŠŠ‰‰‰ˆˆ‡……†„‚…••””•••••––••–——Š…ˆ†„†ˆˆˆ‰‰‹†€…††fgghhip}€}|ƒŠŠŠŠŠŠ‹‹Š‡†‡‡„…Ž”““““’’““““““’‘Š‡ˆˆ…†ˆˆˆˆ‰‰Š‡‚€„……ihgfghhu€}ˆŠŠŠŠ‹Œ‹‹‰‡‡‡„ˆ‹Š…‚‡ˆˆˆ‡‡ˆ‰ˆ‰ˆ‡……ƒjhgdgjhs€~~„Š‹‹Š‹‹‹‹Šˆ‡‡„Š‰‡ŒŒŒŒŒ‹‹Œ‰€~„ˆˆˆˆˆ‡‡ˆˆˆˆ‡†„‚ƒ‚‚ihgfikin}}€ˆŒ‹ŠŠ‹‹‹Š‡‡„‡…}{ˆ‰ˆˆ‡‡‡ˆŠ‹ŠˆŠŒŽŽŽŽŽŠ‰‰‰ˆ‡††…„‚jjjjiihlt€}‚‹Œ‹ŠŠŠ‹‹‹‰‡„……‚€…„ƒƒƒƒ…Œ‘’““”“”“”“’“””‰‰ˆˆˆˆˆ‡ˆ‡mljjokhjr}‚‡ŠŠ‰Š‹‹Œ‹‹ˆ…„………‚ƒ€ƒƒ†“’ŽŒ‹Š‹‹‹‹ŒŒŠ‰‰‰‰ˆ‰ˆ‰‰lmnoqpmpt|€~}~‰Š‰‰ŠŒŒ‹‹‰…‚„…„‚„ƒƒ‚†‹‹Š‰ŠŠ‰‰ŠŠŠ‰Š‹‹Š‰ˆ‰‰‰‰‰‰‰‰zzzzzzzz{zz{{zzzyyyyyyyyyyyz|„ƒƒ„„††‡‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yzzzzzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†ˆ‡………………††…†‡†ƒ‚‚‚zzzzyzzzzzzyyyyyyyyyyyyzzzzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzzzzzzzzzyyzzzzzz{z{{{{z{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„†ˆ‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{|}~}}||~€‚„„„„………„…‡‡‡……„„ƒ„…‡‡‡†…„‚‚‚€€{ƒ~|}}{zyzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€‚}€~|{zzyz|zyz{|}€€€€‚„…ƒ„ƒ„…„„„„…‡‡‡„…†………„…†‡††‡„ƒ‚‚‚‚~}{~€}{{zzz}{{}€ƒƒ‚‚‚ƒ……„…„„……„„„…†‡†„………„………†††……„ƒ‚‚uw}}€€~}|{}€…†……„„ƒƒ„‚„…††……………„„ƒ„††……„„„„„„„…†‡†…„ƒ‚‚‚‚wx~~€ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††ˆ†…ƒ‚‚€‚‚zz|{{ƒƒ‚‚‚„„…‡‡‡ˆ†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒ{zyzz€~}~~…‡‡††††………†‡ˆ‡ˆˆ†…†……„…………†……„„„ƒƒ…†††……„‚€€‚ƒ‡„€‚|{yy{}„ˆ‡†††††††‡ˆˆˆˆ‰†„„„„„„„††‡††„„„„„…‡ˆ‡„‚‚‚‚‚„…„„…‰‰„‚~~€~…‡‡††…‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„„„†ˆ†‡ƒ€‚‚‚‚„…ƒƒ„‰†ƒ€€€€€…‡‡‡‡††ˆ‡‡‰‡†‡‡…„„„„„††‡‡ˆ‡„„ƒ‚ƒ…ˆˆ‡†ƒƒƒƒ€‚…„ˆ‰ˆ†‚‚ƒƒ‚ƒ††‡‡††‡‡‡‡‰ˆ‡‡‡…„…„„„…‡†‡††„„ƒ„……ˆ‡…€€ƒƒ‚‚„ƒƒ…„‚‚‚‚‚†‡‡‡………ƒƒƒƒƒ„„„…„……„„…‡†‡‡…„ƒ„ƒ‚||}~~ƒ‚€‚ƒ„ƒ‚€ƒƒ„…„ƒƒ†‡‡ƒ}}||~~||}„ƒƒƒƒ…ˆ†††‚~}}{|z{{{{{|~~~~€|~€€€€‚‚‚ƒƒƒ„|||}‚€~|||~‚€€€€„„„„…€~~~€€€€€€€~~}}}}}|{|}~€||{{{|{yz}}|€€€€€€€€€€‚ˆ…ƒ„ƒ€‚‚‚‚‚€|~}}}}}|}|||}}|~}{z|{x|€}{€€€€€~€ƒ„‰…‚€€†šŸ¡||}~~}}}}}}||}~}|€„zxxww~ƒ{~€€€€€€€€~€‚‚‚‚‚€‚ŒŒˆ}|||}~€€~~~}}}}}~|{€…{yzyx‡{}€€€€€€~€ƒ‚†ˆ…ˆzz{~}}}}}€~}}}}~~{{}€|z{||ƒ‡{}€€€‚‚€‚„…€‡†z|~€~}|}|~€€€~}}~€€}}}~}}~€‚~||~€€‚‚‚€~€†Š„‰ƒy{‚}}}}~~€€€~}~€€}|}}}|}}}}~}||{|~~€€‚‚‚‚€€}¢º €yz€„€}}}}~~~~||{|}}}}}}}}}||}~~~~~~~€€€€‚‚‚€›¯ ™Š‚„ƒ€~}}}}~€€~~|€‹ƒ~~~}}~~€†~~~}~~€‚‚‚‚…†œ £ ž‡„‚€~}}||}~~~†€~‚€€‚…‚~}}}}~€‚‚‚‚Š±º¿Á¸“‰‚€~}}|}~€€€‚ƒ‚„„€€‚€‚ƒ€~~}~~~€‚‚³ÍÏÒÔƒ„ƒ‚€~~}}}~€€€€ƒ‚‚ƒ„€€‚ƒ€€€~~~}~}}~‚‚‚‚šŽ’¥±¼ƒ„‚ƒ‚‚€~~}}}}€€€€€~€‚‚~|{{zyxwwwwwy}~}}}~€¨¤{€ƒ‚‚‚‚‚€~}}}}}~€€€€~}‚€€‚‚‚}yxyxxzzyxyyz|~~}}~}~‚‚€ªÇº¤‘•{}‚Œ‚‚~}}}|}~€€‚‚‚‡‹ŠŠŠ‡}{}‚~~}}|~}}}}~~€‚€©ÍÑÑÈÇ}{~ˆ‡‚ƒ€~}}}|}~€€‚ƒƒƒ…‡†…†‚}|}~~~yz{}}}~}{~~~~~~~~‚‚~¤ÌÎÎÊ¿||€‚ƒƒƒ€~~}}}~€‚||€€~yzy|€€€|{~~~}}~~~‚‚~ÌÎÑÉ¢~‚ƒ‚‚ƒ}}}}}}€€€€€€€€€€}}|}~~|yyx|~|{~€~~}}~}~€“ƶ„„€|€‚‚‚‚‚~~~}|}€€€€€€€€}}|{||{{zz|„}{|}€€~~}~}~€ƒ™“‘’~z|}€‚€~~~~~€€}|}|}}}~}|}‚„~~|~~~~~}~€~ƒ€€~zyz~ƒ•ˆ‚€~~~~~€€€€€€~{|{}~||~|||}|{{zx}€€~}~~~}~~€€~yxy}„ˆ„‚€~~~~~~€€€€€ywwwvwwwwvvvwwvtu}€€€~~~~}}|~~€~{xwz‚‚‚‚~~~}||}~€€€zwwwwwwwxwwwwxxxy}~€~~~~~~|~‚€~zxwxyƒ‚‚‚€~}}}}||}~€€|z}}yxxxxyyxxxxz}~~~~€€€‚‚‚‚‚~yxy{zƒ‚‚‚~}}}}}||~€€€{|ƒ„zzzz{|z{{z|€|}}~~€‚‚ƒƒ‚~{x{|{ƒ‚‚}}}}|||}~€€}†„‚}~}~~||{{{zyxxwwwyz{~€‚‚}{|}~~€‚‚‚}}}}}|||}€€„ƒƒ€‚€{ywwvwxzywxyxxy}€ƒ€„„‚‚‚„ƒ‚€~~}}}}|}~€€€€ƒƒ„†ƒ{z{{{|}}||}}|{{{}‰‰‡ˆ†…„…†„‚™Ž~~~}}}}}~€€~~‚„‡…‚~|||||||}|||||{{{|~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍËËËËËÌÌËËËËËËËËËÌÌÍÌÌǽ³®¡{qfkujjhkjqbfaV\`\[a[S[`\]TPORYX_e_dRTUVTWTSYTPV^^[XTMD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÎƵ¦•s€y~r]^`p|m[]lkfZXXZ^YUTO]f_ZQOOPXV[ehfOU\_XPPLQRX^aZUOLI@?75421/75ÍÍÎÎÎÎÎÍÎÎÎÍÍÍÌÆÀÄÀÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÌÍÍÍÎÍÍÀ£‹‡omlokjnqszy^`_bcZYZZZ\RSV\aXYXVSQTSV[ecPPWZTLNMRQ\b__YPGA?<851220.2ÍÍÍÎÎÎÎÍÎÍÌÌÌÌÍÈÀÅÁÉÌËÊÊÊÉÉÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’yjpvxr}€ed_[fX`bc[[WU^YTXedQORVWRMLWOXfQNSXYPMROPX`]`USTOH?<84321--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎɾ¿¿ÊÍÎÎÎÍÍÌÌÌËËÊÊÊËÉÉÊÉÉÉÉÉÉÉÊÉÈÈÆÈÉÉÊËËËͼ’„{r`k|lbg_^`ViaXWTSM[a_`ol[QOT[SMJTRRWSYZXUNOQTZ_WVYPOXNI>?A;520,+ËËÌÌÌÌÌÌÍÍÌÍÍÎÏÇ·»¹ÈÍÎÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÌÌÌËÊÊËËËËÊÉÅÉÊÊËËËÇÆâˆxzoh^jomb_`^W\_TQ[RRPYddffbfUQUWSQSTRRVQY]`URTQYZ\XWSSOPPI>?>6550.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎŻƽÆÎÍÎÎÎÎÍÎÎÍÍÍÍÌÌÍÌÌÌËÊÈÊÌÍÍÌËÇÄÊÉÊÌÍËÆÃÀ±™zwoeVSb]Y\`a]a]WTQKMUX^ach^YRONONJRQSQ^LTTYZVYY]Z[URPSNRJEC>A<530/2ÍÍÍÎÎÍÎÎÎÎÎÍÍÍÍÅ¿ÌÂÄÍÌÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÈÉÉËÈÃÀÃÀÆÆÈËÌɾ¼«Ž~voUSQQNVWlpeab[XLC@LXPZa`]VSQKLKHKHPLXNQUUVVYZZ[]XRNRMUNCGA>>3/.-,ÌÌÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÈÇÅÈ¿¼¶Á½Á¾ÃÊÈÄ»®£¤Š|sq\UVXXgi[mfe_UUQQVTcTOZ\RNVWQJJFNOQYWRPWYUSWWUNSYRPVPWV?57210.---ÍÍÒÖÔÎËÌÌÉÈÉÊÊÌþÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÊÂÁÁ½Â»¹©¿·À¸¼Æ¾¼´¤ˆ…|o‰xbZ]Z\dkVl]T\SMST\ZUMPRWQPRUWKKKSRRYf\NUWVVTUYPPYWX[[LB<6540.-,,-ÎÛêðíäÑÊȽ½ÀÅÈÁ¾ÆÁ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁ¹²»¹°¡º±½¶²Á´¹²˜…zxkfbbaaS[a[Ue[SZ]OSRV[TUTNMMKKLSYUNQOQQcYNY[WQLNXWUTXQLJ@7=<:61.-,,.ÜîÔµÂåè˾¶°°¶¸¿ÁÂÉÆÂÉËËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ°ª§ª°¤Ÿª­³¯±¸«ªž‚wxsjiQ`eZXcWQ[g^Y^XKPQS[_aTPLLKMQLUWKNSMR]\Ya\SOKOXUVUOQWIAB=;<951//-,ïÈzhn¤éØ´®¬­³²¾ÃÅËÈÃÊÍÌÌÌËÉÆÊËËËÊÉÈÅÁ¾½° ™˜¤¤˜—£¯ª¬¬¦¢™‚slifjm[VWT`_UV[XY`VRVTRTT^WQSONSUQSTWRPWPRY^X]WY[V]^RSYWSP?>E:8776520/.Õ©’”Òⳬª®°³ÁÀÅÊÇÁÊÍÍÍËÊƾÈËËÊÊƾ¶¯±²¶ªŸ”Œ˜™˜”¦µ¬¬¢–—‘xhccUf_QKHNV_XQQ_g]_n]^b\TVNPNOOQVRTQSZRZNN^\]fZb]he_ROMMJK?=?8854453./2stqx{}…Ž¢¬¨¯®´¼¶ÁÈÆ¿ÇËËÌÊÇ¿¶ÄËËÆ÷¦žšš¡ —š•‡’—’’ž¨ªž’ŽŽ…tbbgZ\SQSQOX^_[gm]OT`NWon[QNJMLJFJMLONMPWTW]TRWW_fZZVNILGFDCG@7543343/15RR]Ž¥¢š‰€£§¯±µµ±½ÈÆ·ÀÉÈÊÊȾ²ÃÊɾ³¥˜ž•–’ˆ‹‹“’ŠˆŽ—‰ˆ‰ƒ|tsnaXSX[YNW[UU\h\RQ]fg`^[RRLJJGIGGEFNLS^[VZUN[hfeV]SMUSHI@?B9753313338=dQÌàçÚ±s®Ï³®®«ª¶Åº©¯¶²º¹Ç¼¯¼Ã¸ªžŸ—› ““„‚ˆˆ€}ˆ‰„‚€ƒ€}wvn`UUSS]XTYTSYfQPO]dcRRZXSLKLIJHEJJIQU[aRYQPkqcd^a\U^XUSH=::864322549?•ˆ™¼©¥©€j­ïÎʧ ¡¨ªžŸŸ¡¢ ©º®¤¡©šš˜Ÿ—™‘•Œ„ƒ…€ƒw‡ˆ„||{{sppibVPZfZRUQU]ZNX[\]XQRQRSMKPQLNRQFBJNT^QQM]``^Yei[QT^ZESF=;<9555488:<^b¡ K=OD\‡Þéñ²¢¯ š›ž£¦¢¡£¢Ÿ””“›™Ÿ™’•‰ŒŠ‡‡ƒ}x„„€€xywtphhdXVYQW]YS[Z\YVYYZ\ZTNJUTNMOJBDFFA?EGHQJRSX[aX`o\^OY]YIEC@><856779;?>46ihPnXDKlªÄÑÁµÄǺ¹±´µÅ¿µ¦Ÿ‘œ•›•Ž†ŠŠ‰†„€yƒ}{uvwqqljfX[c`aXQRXV\]aWS\SW^ZVOINLNIACFA?FEDBRGTW[W_`_\RbbTVWQLGDF966767;=FE::?M^xV>?P¡œZÉèçæåáÚÚÛââäÆ­ ‰‹“’Œ‹Š…Ž‡ŒŠ‚ƒ{}‰ywuqsrnh`W[b`ZQUOQ[dbcTMRRg[aVLQROJHCHSICJKLFPQ\]XLXdccT_cVPW]QD?@<:8778;?I@^^^ntpj^[TƒžžãîæÝ×ÐÌËÊÈÅÃÇȘ‚‡‹Š‚ˆ‚—‡‡z|ƒ‡|‰y{vuttvraUQYW[VYVNYZ\_fejmokS[[SMQQGEEPUPPNOOHJVZ]ZNM]Y_]]dbV_S@::<=;::::=<<;a_`babcejklµóìæ£qg^ZZXUTPUZj•€€…‰…{€…ƒ‹—†‚ˆ{‚ˆ‰†}†|xuvxtum^X]_TVSSV_WON_q€r`Z\dPSMMRRMMJB?LTRRTSO\dcdZSXX][R[USSG<98;:79:98===763b:7888;BDCEe’v`\VbÕÚâåx¸Å‹HI?NA?>C=6487>±Ìy~|y|~z}}{‚}xxomvxzqgabSPSDAKUVUXZOKITY[\UZd^SMLIKOMMJGJNVWY]`Y]WUQVOJLHA<8676R€=79:;?>=;@KNV`XQWZPW[NLG;:987773ŠàJ26;:CIB>K[jj\KPePF@:;97;;:9>8xÙS4=;=AIJDW»¼¼¼º‡t}dD?P’ØÝæëéèųÀܶ°ËìåàÝÖ³xƒy}|ytqzyx{zxy{€}vyyofhjhfa\\X]YNNVSMOS]ZXX\]\SUMG@@FIB>CRQJV]^kkQUWK@;666;@BB>@;}èc8?8MTMejjx‡g\]QIB>::>FMIBIIX`jŸŒŠxeLKHAvÕèçêèéêãåêáßééèêèëµquxyw{{hw}{z|vryxvpljhffbbk^SV]XW[TPTQSPZ^Zd]TUQOIGHCGKFDGNMThjjrqbbkiXQMLOUTVSIJP9„öp878V`akhh^k`\\YVI;<;9eÇîìììëìíììíìëéêìíëªwyyzzxywmwzwxzzxzw{{wohecZYe^UNVY`YXSNNWVZc^`XOOUQLE@=IV`W[einbZWX_bejmlof^jxvplgjjXï‚WT]uwprjeQPPOQSZ^M017\»ïíðîëìíííîîìëðïíçœvwy{zvw}†‘–ž£¦©©©©¬­«©«ª¥Ÿ–…dTWXXSPNOMS[XSXYSMRWSPW_]r‚vbkwkYTW[]^agfl~„‚‚ƒ|€…ˆˆ‰”¬“‘‰ƒz|qrpgzyzzzz}n/.6X¬éÑŸ¦íÇ—–•”—Ðéž«ÖàŽvzywwˆ £¬§£›’Šƒ}xsprssy}‡—˜Š_YUVSX^_SS\YPMNT`\X]i{†‹‚bbqiRPY[[Z]eiku}{z{ts}ŠŽŽˆ†‡‚}mqpjngvvvvwxz|tVW]l‘¬™tvµ¦xyƒ‡·»v‰¡¯}w|zvx¥wof`YTV\cx›—oc_WTRRSRPnxomqy‡Ž‡Š‘’ŠŒ•´œ†‚{wzzkbmmaW\`^][_fehrecadctz}ƒ„ƒ„Œ„~{qcgpmjeppoooprtuwwyzyz|€|€€€|}|„‘‘…‹‡}tt{ŠRKLMQYaXNNTgfPGE\qmkc[H@gxxwusssttuwyz„‘¢±´­sljklmljea]]]ZY]^XZ\]]`fgddaacmlgkhc^htlswpnlkkkmoprrrqrrtwy{}~~~}{zywuty‰Œžˆ€f=Wgv‚‹’t?<3,,4:15>KH=RKJIIIJIHNIsxU5H‘¦tIklljgcba``__acfknqrttuusmggjkmonkjrŠ¬ÀÁª‹tkijjihfb_[YUQfƒDNX]bgprttuutqmhedddfhjjjjkllkmljklnpqqryuWƒ422N—IHH<::;GJHOF\q\76/U‘Hbgjmmjgca``aa__`eiloqsuvutpkgfilnmljisŒ°Çê†pjjkkhedc`\mVŒ–œ knpqssrqokfb``acdfgghijjklkjijklonxelv297Z‡’z@74234?EALS|ˆx941?—YYedfjmnjfc``a`^]]_dhjnprstrsqkedgjklliegy¡ÇÏ´Žsnkigfeed—Zpž¶³±­jlnopqqrqpkeba`aacddfhiijkkjihijljw[€d:H@f“ ‘KG81013319F’ q9423†xOjfdehknnkgbbbba_]]_dhlnprrstsqjdceikkkigdtŸÆѸŽsjlkhfpœT_SwbULijlnprsssrplgcbaabccefhhiijjjjiikdzVŽXIMJMu}`JJE=;=<998J…š[<961p–Jlj^X[dhlookifdefdb__aeiloprrstrojedfikkjiffvœÃл“tlli„‘RT=J347fikmoqrsssrplhdbbbbbcdghiijjkke`cl{T›TQgM‚{ƒSEEFFFGHFHM—ŠN>;<1f’?h];:8Ydcgkmmlifeeed`__cfilnoprrssqlecfijjjjgeq“¸ÍÀŸr™~TIAG57:adgjlmpqrrrqolieaa``abeghiiikY=B@>=@<5:76FJEIE788=G61/6Ddljgcbbdfhheb`_^^^\]^^adhlnooqqpojfdegjkllkb^n™”¡ZO=<<:Bo‡[adhjlnoqrqqpolhda`__`bdfggjU50/-8XB;977778644556557787557789;=CM3=Tckmkjjgdbbbcfgeb__^]\]\\[\]`ehjlnnnmlhebbehibXZX_{™LHFHG@@rÆ}\cgijkmosspppokgcb`_``bdefghb[nV4_F<:99887667776557666677788:;?G<`ljjjjjkkidb`_adecaa^\\\]]\ZY[]`bfiklkkjjfa_bdST`ku~‰EIOIJDDKÉÃsZdffhjlnorpopolgda___`acdeghk¤°KSA:98776655665555555556656789:A@]ihijjjjjkigc__aceecba_]^`_^[YZ]_cgjklnnnnlfabTR[cn€p?Tž{G?=<¼Ì³`Zacfijlmrqopqolgc`````bcdfff–«OJ:676665555544534554445544644CNKIcgiiijjjjkjieba`bghgedaaaaa`_]]^aehjlnopqonmhZHLKFR^`DFE656?­ÀΡZ]beghjlnoopqonlhc``_`acdefc…šaNXE234433433334D=4443333342@y“„SN_hhhhikkkkkkkifa`cfhjhgebaaaa`^]^`bdhjmoqrqpnj`[vvLd„|je`QGN|´ÃÎX_cefijlmnpooonlgba```abddfr‚ea ™’A/322221334=9443322231<‹¯› aH\fghhijijkkjkkjgcaadgjkifca``___^]^`behknooqpondŸ¶{wjljddbTSQºÈÈrYacfhkklnoooonmkgc``__`bchkUN†¢œ»‡A001111256136420001/9zœŸ¨”[2Ygghhihhijijkjkjhdbaacgiigda_]^^^^]\^`bfikmopppm‹¬{m_c`YWWWWYx®Àͳc[bfhjjlmoonnomlkeb____ac_kG.x›» µ™BA<:99437_^7:ADFEPn‰ÝմΞG,Pifedegghhhijkjjkigdb`adgihfc`^]]^][\\^_cfikmnqb{¥yhVUXWUUUUWYz·ÂΠ[_dfgiklnnnoommmjda`___bWXB+V°Ê¸ëê©“eW_eƒE žAhvmb[w¬ÖòîÓÚ{7+Gi ¿¹ƒdefgffhijjjjihgb`_bfhiigb^]\\\\[[[\^bfikoYeg`UTUVUUUUPJM…¹ÁɉX]adfhijlmnnmmmlhda_^^`\C4+<ÝÏèê禀[Z\o}aÉÆ^j\abb“¹ßж•”B0-De~¬­ddffeefghiiiiijgca``bfiigd_\\\[[[[ZZ\_bflTW|bZPMTWWWYY]RLR”»ÄÂuT]_aeghjkmmmmllkhc``___A--/Byq¦·œ«fgndTtéí{\svxnŸ€feF320/.Ef_b``wdeeefghggiiijigdb`_`cfghd`^][[\\[[\Z[_ePUmbZv†i]ca[]eXOI]©¾É¼jZ_adghhjlmnnmmljgb`__[<,-,/.18G:InPYeom„¾ÅŽ{maYTQC9<73/,,-Gebjjkrokjhededffhhhiiigfca__adhihea]\\[\\][YZ\IPX]I—¿³œ²ÍoGkaPLJs·¿Ï­a\adfggjklmnnmlkjfb__[6+,0257:AIS\jz¡°ºÐÜÉÁ¹¬“n`TOV`hq{…Žš¡¢©«ª©©¨§¤ž›‘~gefgggiiiigdb`_adgjjhe`][\\^^][ZEILUFÊÖàÙóÖhkodSLMˆ¼ÂÒ˜Z_cefhijkllmmllkiea^[7+-04786=E]œ–‘Œ‹„tmcu¦jZlruwvwy€Š±«Š‰‹~}{|~{vnuedeeeeeefhghheb`^]afikjigda^^E=@GKOQUWY]cdklnlgYOPPŒÁÇÔª^^`bdfgijjlmmkkkheC20.0A[ÚØjHKVrKKMTZ]`dji’ao€‡‹Ž“—™›wE==5K«²´®¬­ªˆ|Rlgcddeddffgggggdb_^^`dikkkifb`H>=FILPTVY`abnrpnneRLKU£ÄËÓŽY_acefhhhjklkkkjgD64..6Tµ|p~Žž–—›¡¦ª«®£§£mXˆµÉÏÕÚÝßà{XRJJN˜çâß×Ùàâ¼ieUjabcddbcdeefegfda_^\]bhjkjifdK=;FHKOSTWcpxnsqstxhTOJk»ÇÐÆl\abeffggijkkkkjjB55-./5FVM8?EK<=?>=>>=7n”Zf|ÚÞÜÜÛÚÛÙnaeh[J‡áÝÚÕÐØßÀMxMdfcbccbaccdeddedcb_\\]`fjjkjiO:7FHKNQSXanwnmljjke\RML•ÅÈÕ¢Z_acefghhhjkkjjkA37-,,016;=>@@;@@=APB>BƒŒOm_ØàÞÞÞÞßÊ]SRlPKxáãåäâÜÕ¨;m[]Žp`bbaabbddccddddb_^]\^cikkkQ65GJLMPQYalolebde`b^SMJc³ÃÍÍuY`gedefggijkkkjA29.,+.003788;?ADGSmNCOš}PjB{‚‚†ŽkPUa™[R]¦µ¢ygUI35231/,,*))'((((*-0._”€JjJD?7BTTF==624234452K‘›}7;74>oK_ab^cc`abbbbccddddddcca_][]G#2E??^¿¼iZ]`pnjhllhfhidLJJ[ªÀÉÔˆZabbceeedca[L7.--.'%$%&&&(((%'--@”ˆrKiFOQHMSQMJON<333345FU}ˆeJNK<7eI^_X_dfbaabbbbbcccccdddb`_]_H#0@=>Iil_`gdnlmehknsomiRIKLx½ÀÐÃk^bbceffdca]XI?>=>@?AAAABBAA@KRRgŽviG`LNJDCEEEFDIH9556CDNXafSLGMH@IE]Xf¥‡gZa`abbbbbccccddddba__K#/<<;>FPWajqhchhfiqsorr_KJZf˜¿ÄÕ­bbbcegfddc`[URQOPQQRRQQSSTTTc{†Š~qh@AHFCIQWRJI?NRJB::FPPMLHD>88<74A[\SŽkQV^__abccbbccccccdccb_J#.7546:?CLQTgmlhmmjlnrpkTILLX¦ÀÇÕ‘_bdeeddddc`]\ZZZZYXVVVWWY[WZ—¥€lhE8::CSWNE@>?TKDAAEKPTUTKIKMOQUWZ`oSkMP‹½Â¬kabbbbbccccddc\VQ?#.51M6(&''&%xtrotpiikigjcKJJIp¹½ÎËt\bccbddeedc``a``_][ZZZZ\__RTcywpq[ZWVWVTUWXXYXYZZ[\[Z[[[\[[[\\\^^_fTCYbuËâÜŸ]abbbccbbb``\LJJ>",65][=.--30x€}pjjifhimiaOJMKL½ÀÔ­[\`aaccdeedcccbbba^\ZZZ[]_]WQNqgq]\[ZZYYYYXYYYYYYXXXXXXXXXYXYYYY[]\>Gcc`ipki_`aabbbbba^\YSMK@!,5/**597877ptrstlmfllnkjeZMKH_¶½ÉÓ~W^`bcddeefeeeeddc`][ZZ[\]_aaAPQrZXXXWWWXXXWWWWWVWXWWVVVWWXWWXXXYZ[CRecca`_]ljaaaaaababcbaWKA$-3.)+21011/nurttlnhhkkknsiQJJL“ÂÄÕ¸b`cdffefeffffedddb_\[[[\\^_dI@SvYVWWWWVVWWWVVVWVVVVVVVVVWWWWWWWUUTQ[dccbbbl„wcbba`a`````^\RC-/0-,03&%&%$mtmnmkkjgjjllmiSJJJh»ÅÍÖˆ]cdfgfffffffededcb^][[\\^_jZ‚fx\RWUVVVVWWWWVVWWWWWVVWWWWWWWWQVfoUbfccbbbbaZZ``_`aaa`__^][WPA2)((+-&'&')ljlsrmjlnmghihiUJKKM”ÆÅÓ¹a]_addeeeffgfeeddc`^\\[\]_dp—dpqolaVVVWXXXXYXXYXXYXYYYXXYYYU\ˆ˜•c_jacbbaa```]`_]aaa``__]\YVRH>:::;?CFKPjloqmlmorplgjkfSLKLJd¸ÆÌÖ‹^defffggfggfeeefdb`]\[\\]Yq’wpƒŸ£bYYZZZ[[\[[[\\\\\]]\]\\Z\‰ÁÎÑyPVacbbaaaab¢¿½•_aa```_^][XVTPMMMMMOQSXljknsuspslilljoeOJKKMÇÉÕ¾icefghhgfghgeeffeda_]\[\ZTn‡qx¡á×Ê•a]_^^_____``aabaaaaaa`]xÌâÞï¢DDW``_^^^^Zˆáîæ’]````__^][XWUSTTTTTSSVjqtspsqkoiiiehrbKKKLK_¶ÉËÕ–_defghgggggffffefc`^\[\XPji^aÆåÞàØŠafgiknpquu{tuutttrrmh»òÙÎÜ·qy„ŒŒ‹Œ‹‹‰¥Á°‹ra_``_``^][ZYYYZZYYVVVpwtnhhklmhikurte_YLLMO†ÈÇÐÉtbefghggfffggffffda_^\\WOeSRJ¿èÂËòÌhosuttttvy{||}|€€xˆ“¡ÂÏúº·µµ´³³³³³³´³²°¯¦Šog_`__``_^]]\\[\]\]\ZYgijg`_`hhqzwqrmkmcQKMR[°ÉÇÖ©cefhighgefffgfffeca^\\XLcMGDy¸ˆ²ñÎiw}‚†‹–š¡«°²°«––­±´°¬£žžš™˜–•““’‘‘•™œjXd_``aa_^]]]]]]]^^^]\plkmjvprirqtsr{€k]SJKLKyÄÃÎÓ…beefeeeefggggfeedb_]\YHPJDDIPTtÆ u¢¸¿ÁÄÈÐÑÔÝÚÍÇÊ“†£›—’Œ…€{upljhcbbbbaaabdhltjjz^``aa_^^__^^^^^^^_^„z€xuzwigoxuwypd\RJJKJQŸÇÅÖ»e`bbdddeffffffffec`_][IEHDCIOTZco à«_USOOQS¶×f@ˆzt„znd^YSPKIIIHLKJJIIJIIJHIIIKQle`aaa```__^^^^^^___†|u~xrpilsmifoibccTJKJ]f}»ÃÊØ\aaccefeefffffffca`^]JBDEDIMRXaz³ä^07:;;;GÒ÷†?†rXSLHGGGIKMNNNNi[IHIGGEDDCCA@@@I\babaaaa`______^_``}xwxsnpa`hqyrijdYKKJU[Y˜ÃÁÖ¾d_acccddeefffeefdba_^H?AFCKPU\cu¦ãj@FHHHJI«âv`|PEDCBBB@A@=;::875567766667777698Jdiedcccaa`_```__``†‡†††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxywyzzy{{zwuyyz{zzyz{~€€€†††…†††††…†††…††††††‡††††††…„{xuttvuvyxxywy{zywtwvxzzxwy{~€€……………†††††…†……††††††……††……………‚€€{uwwxwwyzxxwz{zyxvvvxyyxxyz}~€€…………††……††…††……………………„……ƒ………„ƒ€~zyyxwy|{yxwz{{zywvvxyyyzzz}~†„„……„……†……††……………………„ƒƒ‚„„„ƒ€~|yxwyz{zyzz{{{zzvvxyxyzzz{~€ƒ‚‚ƒ„ƒƒ…………†……………………„‚‚‚‚‚~|zywy{{zz{|}{zzyuvxz{zzxz}€€‚„†‡ƒ‚‚ƒ„……………„††…„„…‚€€€€€}~~}{zzwwwyzz|}|{zzxwwwxxzzy{}~€€€€‰ˆ‡…‚‚ƒ„…†………ƒ„„„‚~~~€~}{|}|zyxwxwvy{}}||{yxyxwuuxyy|}~€€ˆ„„„€‚ƒ……†‡…‚ƒ€}{z{{{|}}}~{{z{|zyzxxzxx{z||}}{zwyyvuuwwx|€€€‰†ƒ†…~€‚ƒ~|ywwwwx{{y|{yyxy{yzzxxyyz{{|}~}|zzyxwvuvuw{~€€~ŽŠ‹Œƒ~€€€€~{yyyxwvwzzxzyxxxyzz{{yuwxwz{|}~}|zzxwywuuvw|‘‘‘‰‚‡‡‡ˆˆ‡xzywvwwxyuuvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy|~€~~‡‡ˆ„ƒ†€„ˆˆ‰‰ˆ‰ƒzxxwwwvvurtuuuw{|}zzx{{yyy{|~~}{yxwwxwwz|ˆ€}|€€~~‚ƒ……„„„…ƒ~vvuuuuttsuutuwzy{yx{||z{z{}~~~}zxxxxz{}€€ˆ€€~}{€‚‚‚‚}svttttsssttuuwxvzyy{zyyy{}}zvwxx{~€€}}€~|x||~€~~€~utututsrsttvwvxyyyz{zxxxz}~~}wsuvw{~}|~}~€|vr||}‚~€€|uusstsuvxxxyzxwyxyz{yxxy{|}zzxvqpqqnqrqqrvz{wpnn}}}~€€€€|ttx…‰ŒŒŒŒ‹…zz|||z{{zxrnionsssqmhgggffghfeijlƒƒƒ„……„„……ƒƒ‚‚‚~~ƒŒ‹‹‹‹ŒŽƒ‚‚‚‚ƒ‚}xvvxyzyzyxwxxuqrqonopnlˆ‡†ˆ‰‰ˆˆ‰‰‰‰‰‰ˆ‡‡†‡‰~„…††‡†ˆŠ†ƒ„ƒ‚‚ƒ„……†…†ƒ€€€‚ƒ„ƒ„„„…„„|x‰ˆˆ‡‡ˆ‰ŠŠŠŠ‰ŠŠˆˆ‰‡††€„ƒƒ‡†„ˆˆ†………ƒƒ‚‚‚‚ƒ„†‡‡†…‚€€‚ƒƒƒ„„„…ˆŠŒ‰‰‰ˆ‡†ˆ‰‰ŠŠŠŠŠ‰‰‰ˆ…‰ˆ…‡‰‡‡‰„}…ˆ„„ƒ‚ƒƒƒƒ€€ƒ†‰‰‡…ƒ‚€€€‚ƒƒ‚…‡‡†‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠ‰‰‰‰ˆ†Šˆ†ŠŠ‰‰…~„‰…„ƒ‚ƒ‚‚‚ƒ€€‚…‡ˆ‰ˆ„€€‚…„‚ŠŠ‰‰Š‰‡‡‡‡‰‰‰‰‰‰‰†…ˆ‡ƒ†‰Š‰‰ƒ|„Š‡……„ƒ€‚‚€€€€‚„ˆŠˆ†ƒ‚€€‚†ˆˆˆˆŠŠ‰‹‹‰‡‡†‡ˆ‰‰‰‡†…„„…††‡††…ƒ„‰‰ˆƒ„„„‚€€€‚‚‚‚€€€‚„†‡‡‡‚€€‚‡ŠŒ‰„‰‰Š‹Š‹‰††…†ˆ‰‰†…‰‹‰ˆ‰ˆˆ‰ˆˆ‰ŠŠŒŽ†„‡ˆ†„ƒ‚‚ƒƒ‚‚€ƒ…ˆ…~ƒ‡Š‹‡€†‡‰ŠŠ‹‹‰‡……†ˆ‰ˆ‡ŽŒ‹‹‹‹‹Œ‹‹’ˆ†ˆˆ‰ˆ†ƒ‚‚ƒ‚‚ƒƒ‚€€€‚ƒ‚{{ƒ‡‰‰ˆ}ƒ‡‰‰Š‹‹‰‡†…‡ˆˆ‰ŠŠŠŠŠ‰‰ˆ‰‰‰‰Š…‡‹‡ˆˆ‰‰ˆ‡…ƒ‚‚€‚‚€€€„ˆ‰‰ˆ||†ˆ‰ŠŠ‹‹Š‡…†‡ˆˆ‰‡ˆˆˆ‡†‡ˆˆˆ†}‰‡‡‰ˆ‰‰‰ˆ†ƒ€€‚‚€€€‚††‡‰†‡}}~ƒˆˆ‰Š‹‹‹Š†…†‡‡†‚€ƒ„ƒ„„„…ƒƒƒƒ‡†…ˆˆˆ‰‰‰‰ˆ†ƒ€€‚‚‚ƒƒ‚…„~|zy{~}}„ˆˆŠŠ‹‹‹‰††‡…„„ƒƒ‚ƒƒ„ƒ€‚ƒ„…††‡‡‡ˆˆ‰‰‰‰ˆ‡ƒ‚€‚ƒƒƒƒƒ‚…†~xusw~|†‰‰‰Š‹‹‹ˆ…†„ƒ…†††„ƒ„„„…ˆˆˆˆ‡‰ŠŠŠŠŠŠ‰‰‰‰‰‡…ƒ‚€ƒƒƒƒƒ‚‚pz}}‚‡‰ˆŠ‹‹‹‹‡…ƒƒ…‡‡†„€†’’“””•––•••‘‰ˆ‰‰ˆˆ‡„‚ƒ‚‚€z|~€hm|}z~ƒˆ‰ŠŠŠ‹‹‰†‚ƒ„„„ƒ€ˆ‘‘ŒŒŒŠˆ‰‰ˆ‰‰‡„ƒ€€‚€wttvyjiq|}~†ˆ‰ŠŠ‹‹Š‰‚€‚‚‚‚‚‰ˆ~}}†ŒŠ|}|ƒ‹‰‰‰‰‰ˆ‰‰†ƒ‚€€‚€uqqrskjkw€~}ˆŠŠŠŠŠ‹Šƒƒƒ‚‚‚‚‚‚‚„Š†|yy|‡‹Œyzy‚‰Šˆ‰‰ˆˆ‰‰‰‡„‚€‚vqqrunnns€}}…‰Š‰ŠŠŒ‹„‚‚‚‚‚ƒƒƒ†Š‡†…„†ŠŠŠ‡ƒ†‡‡‰Šˆˆ‰ˆˆˆˆ‰‰‡ƒ‚‚‚xstsyominx~|€‡ŠŠŠŠ‹Œ†€„„ƒ‚‚‚ƒƒˆ‰†Š‹Š‹‹Š‹ŒŠ‡‡Š‰Š‡†ˆˆ‰ˆˆ‰‰ˆ‡„‚‚‚}z{x|kkhikz}}‚ˆ‰ŠŠŠŠ†€ƒƒƒ‚‚ƒ……‰‡„‡‡‡ˆˆŠ‹‰„{‡‡ˆ‰‡‡ˆ‰‰ˆˆˆ‰‰‡„ƒ‚€€€nniges€~|~…‰ŠŠ‰ˆ†ƒ‚‚€€ƒ†‡‹ˆ„…„„…„††„~€…†‰‹……ˆ‰ˆˆˆˆ‰‰ˆˆ…ƒ€ljhgfl{~|€‡ŠŠŠ‰ˆ‡††…„„„ƒ‚„‹ŽŽŽ‘“”•„„†„†ˆˆˆˆ‰ŠŒ‰ƒ‚„ƒfgghhiq~€}|ƒŠŠŠŠŠŠ‹Š‰‡††‡ƒƒŒ•–••••”•––•••••—†ˆˆ…†ˆˆˆˆ‰ŠŒ‹ƒ€€„†‡ihgfghhu€}ˆŠŠŠŠ‹Œ‹Š‰‡†‡†ƒŒ‘‘’‘‘‘‘’‘‘‘‘‘‹‹ˆˆˆˆ‡ˆ‰‰‰ˆˆ‡†…€‚‚ƒjhgdgjhs€~~„Š‹‹Š‹‹‹‹Šˆ‡‡…†‡„ŠŽŽŽŽŽŽŽ†~‚ˆˆˆ‰ˆ‡†‡ˆ‰ˆ††…‚ihgfikin}}€ˆŒŒ‹ŠŠ‹‹‹Šˆ‡„‡Š€|€ŠŒ‹ŠŠŠŠ‰‰ŠŠ‚ˆ‰ˆˆ‰ˆ„„ˆˆ‰ˆ‡†„ƒƒƒjjjjiihkt€}ƒ‹Œ‹ŠŠ‹‹‹‹‰‡……†€}…‡††…„„†ŠŠ‹Š‹ŒŽŽŽŽ‰‰‰ˆˆ‡‡‡†…mkjjnkhjr}‚~‡ŠŠŠŠ‹ŒŒ‹‹‰…„†…ƒ„ƒ‚‚‚ƒƒ‰‘“”””“””““’‘“”’Œˆ‰‰‰ˆˆˆˆˆlmnoqpmpt|€~}~‚‰Š‰‰‹ŒŒ‹‹‰†ƒ………ƒ‚€€ƒƒ‹’‘Œ‹‹‹‰ŠŠŠŠ‹ŒŠˆ‰‰‰ˆˆ‰ˆ‰zzzzzzzz{zz{{zzzyyyyyyyyyyyz|„ƒƒ„„††‡‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yzzzzzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†ˆ‡………………††…†‡†ƒ‚‚‚zzzzyzzzzyyyyyyyyyyyyyyzzzzyz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzzzzzzzzzyyzzzzzz{z{{{zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„†ˆ‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{|}~}}||~€‚„„„„……………‡‡‡………„ƒ„…‡‡‡†…„‚‚€€{ƒ~|}}{zyzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€‚~€€~|{zzzz|zyz{|}€€€€€„…ƒ„ƒ„…„„„„…‡‡‡„…†………„…†‡††‡„ƒ‚‚ƒ‚}}|~}{{zzz}{{~€ƒƒ‚‚€‚ƒ……„…„„……„„„…†‡†„………„………†††……„ƒ‚‚uv}}~€€€~}|{}€…††…„„ƒƒ„‚„…††……………„„ƒ„††……„„„„„„„…†‡†…„ƒ‚‚‚‚‚wx€~}‚ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††ˆ†…ƒ‚‚€‚‚zz|{zƒ‚‚‚‚ƒƒ„†‡‡ˆ†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒzzyzz~~||}~„ˆ‡††††………†ˆˆ‡ˆˆ†…†……„…………†……„„„ƒƒ…†††……ƒ‚€€‚ƒ†…‚€||yy|}‚ˆ‡†††††††‡ˆˆˆˆ‰†…„„„„„„††‡††„„„„„…‡ˆ‡„‚‚‚‚„…„„…‰‰…‚~€€~€„‡‡††…‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆˆ‡ƒ€‚‚‚‚„…‚ƒƒ‰‡ƒ€€€€„‡‡‡‡††ˆ‡ˆ‰‡†‡‡…„„„„„††‡‡ˆ†„„ƒ‚ƒ…ˆˆ‡†ƒƒƒƒ€‚…„ˆ‰ˆ†ƒ‚ƒ„‚‚…†‡‡††‡‡‡‡ˆˆˆ‡‡…„…„„„…‡†‡†…„„ƒ„……ˆ‡…€€ƒƒƒ‚„ƒƒ…„ƒ€‚‚‚‚€…‡‡‡‡‡‡‡‡……†‡††…„……„„…‡†‡‡…„ƒ„ƒ‚‚||}~~ƒ‚€€‚ƒ„ƒ‚€‚‚ƒ„……ƒƒ…‡‡…‚€~}~~~}}~‚„ƒƒƒƒ…ˆ†††‚~}}{{z{{{{{|~~~~€|~€€€€€‚‚‚ƒƒ„„‚||||}‚}||~‚€€€€……„„…€€~~~€€€€€€€~~}}}~}|||}~‚|||{}~}{z|}|€€€€€€€€€‚ˆ„ƒ„ƒ€‚‚‚‚‚€€€|~~}}|}|}}||}~|}|{z{|yz~|~€€€€€~€ƒ„‰…‚‚€€€‡“||}~~}}}}}}||}}~|~|xyyx{‚€{}€€€€€€€€~ƒƒ‚‚‚‚€„–Ÿ›}|||}~€~~}}}}}}~}{~†~xyxw~…{}€€€€€~€‚‚‚†ˆ‚Š‚zz}}}}}}€€~}}}}}~|z}‚}z{{z€‡{|~€€‚‚€~‚…†‚‚Š~{}€~}|}}~€€€~}}}~€}|}~~|}~}€…€||~€€€‚‚‚€~~€‚‹{z~}}}}~€€€~}~€€}}~~}~~~~}}|{€€~€€‚‚‚‚€}‡§¥ˆ‰yy~„€}}}}~~}~~|{|}||}}}}}}|}{{~~~~~~€€€€‚‚‚‚€Ž¶´˜|z|ƒƒ€~}}}}~€€~~||ƒ€}}}}~~~~}}}„†~~}~~€‚‚‚‚ƒ’‘”š“‘†„‚€~}}||}~~Š~}~€‰‡~}}}}}€‚‚‚€~—¬²¸´“‰‚€~}}|}~€€„„‚€€€ƒ„€‚‚~~}}~~€‚‚ƒ¤ÈËË̓„ƒ‚€~~}}}~€€€€ƒƒ‚‚‚ƒ†‚€ƒ„‚€€€‚€~~}}~‚‚‚Š™¤½Æ̓„‚ƒ‚‚€~~}}}}€€€€€€€€€‚ƒ‚€}€}}}}{||~~}}}}€€§‰’‚‚‚‚‚~}}}}}}€€€€|~€€€{xxwwvvvuuuvz~~}}~}~‚‚€½ª„{}‚Œ‚‚~}}}|}~€€€€„†‡‡ˆˆzy{||~|||}|}~}}}}~~€‚ŽÁÏ˼®}{ˆ‡‚ƒ€~}}}|}~€€ƒƒƒ…‰‰ˆ‡†||~~~}~~~}|~~~~~~~~‚‚‚‹ÁÎÐÏÊ||€‚ƒƒƒ€~}~}|}}€‚‚‚‚ƒ„„ƒ‚}|}~~{xz{~€~{~~~~}}~~~‚‚€†½ÍÏÎÀ~‚ƒ‚‚ƒ}}}}}}€€€€€€€€||~€€~yyyz€}z}€~~}}~}~€€„¹ÏÌΩ„€|€‚‚‚‚‚~~~}|}€€€€€€€~}||}}{zzyz~‚||}€€~~}~}~ ·ž°Œ‚~z||€‚€~~~}}€€€€€|}||||{}|{{…{|}~€}~~~}~‚…ƒˆ~zyz~ƒ•ˆ‚€~~~~~€€~{}}|~~}~}}ƒ€~~||~}~~~}~€‚€‚€~yxx~„ˆ„‚€~~}}€€€€€€{zzz|{{{{zzzyxxwwy€€€€~~~~~}}}€€€~zxxz‚‚‚‚~}}}}|}~€€€€{vvvuvwvwvvvvwvutx€€~~~~}||€€~~~zxwxyƒ‚‚‚€~}}}|{|}€€€{yxxwxxwxxxwxwwy||~~~~~€‚€~yxyzzƒ‚‚‚€~}}}}}||~€€|z~}yyyyyzzyzzz}~~~~€€~€€‚‚‚ƒ‚~{x{|{ƒ‚‚}}}}}{||~€€||‚…‚|{{{{}|||||}|}}}~€€~€€‚‚ƒƒ}{|}~~€‚‚‚}}}}}}||}€€~€……„€~~~{zzzzyxwwwwxyy|~€€€€€ƒ~€„„‚‚‚„ƒ‚€~~}}}}|}€€€€‚ƒƒ‚ƒƒ‚~ywwxwxzzxxzxxz{}€€€€€ˆˆ‡ˆ†…„…†„‚™Ž~~~}}}}}~€€~~€‚ƒƒ……€}z{{{|}}}|}}||{{|~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍËËËËËÌÌËËËËËËËËËÌÌÍÌÌǾ³®¢~{qgkujjhlkqbfaV\`\[a[S[`\]TPORYX`e_dRTUUTWTSYTPV^][XTMD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÈÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÎÆ´§–u€ys^^`p|n\^lkgZXXZ^YUTO]f_ZQOOPXV[fhfOU\`XPPLQRX^aZUOLIA@75421/75ÍÍÎÎÎÎÎÍÎÎÎÍÍÍÌÆÀÄ¿ÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ¤‹ˆpnlpkjnqszz^a_ccZYZZZ\RSV\aXYXVSQTSV[ecPPW[TLNMRQ\b__YPGA?<851220.2ÍÍÍÎÎÎÎÍÎÍÌÌÌÌÍÈÀÅÁÉÌËÊÊÊÉÉÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜“ykpvxs}€ed`\fX`cc[[WU^YTXedQORVWRMLWOXfQNSXYPMROPX`]`USTOH?<84321--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÉ¿ÀÀÊÍÍÍÎÍÌÌÌÌËËÊÊÊËÉÉÊÉÉÉÉÉÉÉÊÉÈÈÆÈÉÉÊËËËͼ’Ž‚„|r`k|lbg_^`ViaXWTSM[a_`ol[QOT[SMJTRRWSYZXUNOQTZ_WVYPOXOI>?A;520,+ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÈÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌÌËÊÊËËËËÊÉÅÉÊÊËËËÇÆâˆx{oh^komb_`^W\_UQ[RRPYeeffbfUQUWSQSTRRWRY]`URTQYZ\XWSSOQPI>?>6550.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎŻƼÆÎÍÎÎÍÍÍÎÎÍÍÍÍÌÌÍÌÌÌËËÈÊÌÍÍÌËÇÄÊÉÊÌÍËÆÃÀ±™zxoeUSb]Y\`a]a^WTQKMUX^ach^YRONONJRRTQ^LTTYZVYY]Z[URPSNRJEC>A<530/3ÍÍÍÎÎÍÎÎÎÎÎÍÍÍÍÅ¿ÌÂÅÎÌÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÈÉÉËÈÄÁÃÀÆÆÈËÌɾ¼«ŽvoVSQQNVWlpebb[XLCALYPZa`]VSQJMKHKHPLXNQUUVVYZZ[]XRNRMUNCGA>>3/.-,ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÃÌÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÈÇÅÈÀ½¶Á¼Á¾ÃÊÈÄ»®£¤Š|sq]UVXXhi[mfe_VUQQVTcTNZ\RNVWQJJFNOQYWRPWYUSWWUNSYRPVPWV?56220.---ÍÍÑÖÔÎËÌÌÉÈÉÊÊ̾ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÊÂÁÁ½Â»¹©¿¸À¸¼Æ¾¼´£ˆ…|o‰xbZ]Z\dkVm]T[SMST]ZUMPRWQPRUWKKKSRRYf\NUWVVTUYPPYWX\[LC=7540.-,--ÎÚèðîäÑÊȽ½ÀÅÈÀ¾ÆÁ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁº²»¸°¡º²½¶³Á´¹²˜…zxkfbbaaS[a[Ue[SZ]OSRV[TUTNMMKKLSYUNQOQQcYNY[WQLNXWUTXQLKA7=<:61.-,-.ÛíÙ¸Áäè˾¶°°¶¸¿ÁÂÉÆÂÉËËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ°ª§«°¤Ÿª­³¯±¸ª©‚wxsjiQ`eZXcWQZg^Y^XKPQS[`aTPLLKMQLUWKNSMR]]Ya\SOKOXUVUOPWJBC=;<:51//-,ïÑkn¦ê×´®¬­³²¿ÃÅËÈÃÊÍÌÌÌËÉÆÊËËËÊÈÈÆÁ¾½° ™˜£¤™—£¯ª¬¬¦¢˜‚rlifjm[VWT`_UV\XY_VRWTSTU^WQSONSUQSSWROWPRY^X]WY[V]^RSYWSQ??E:8777520/.Í®”—” ÍÙ²¬©­°³ÁÀÅÊÇÁÊÍÍÍËËƾÈËËÊÊž¶¯±²·ªŸ”Œ˜™˜”¦µ¬¬¢–—‘xhccUf_QKHNV`XQQ]g^`n]^a[SVMONOOQVRTPTZRZNN^\]fZb]he`ROMMJK@=?8854453./2knipwy}ƒ’ª¨¯®´¼¶ÁÈÆ¿ÇËÌÌÊÇ¿¶ÄÊÊÆ÷¥žšš¡ ˜š•‡’—’’ž¨ªž’ŽŽ…tbbgZ\SQSQOX^^Zgn_OT`NWpmZPMJMLJFILLONMPWTW]TRWW_f\[VOJMGEECG@7543343/15UQY€«­§›}–©¯±µµ±½ÈƸÀÉÈÊÊȾ²ÃÊɾ³¥˜ž•–’ˆ‹‹“’‹ˆŽ—‰ˆ‰ƒ|tsnaXSX[YNW\UU\h\RQ]fg`^[RRLIIFHGFEFNLQ][VZUOZhffV]SMUTHI@?B9753313438=tShºÜèânjͳ®¯«ª·Äº©¯·³»»Ç¼¯½Ã¸ªžŸ—› ““„‚ˆ‰€}ˆ‰„‚€‚€}wvn`UUSS]XTYTSYfPPO]dcRRZWSLKKIJHEJJIQU[aRYQPkqcd_a\U_YUSH=::864322549?›Ž‘²ªœŸˆh†ãÊǨ ¡©«ž Ÿ¡¢¡¬¹®£¢¨šš˜Ÿ—™‘•Œ„ƒ…€ƒw‡‡„||{{spphbWPZfZRUQU^ZNX[\]XQQQRSLKPPKNRQFBJNT^QQM]``]Yei[QT^ZESF=;;9555488:<856779;?>@0SnNgbN>b‘Úʸ´ÃÆ··°´´Á¼¯¥Ÿœ‘Œœ•›•Ž†ŠŠ‰†„€yƒ}{uvwqqljfW\c`aXQRXV\]aWS\SX^ZVOINLNIADFA?FEDBRGTW[W_``\RbbTVWQLGDF966767;=FF@:763a‚:7788;BDCEcŽ`^YS«êÔõ™”ͧEH>LH=;>@96785lªÚ¸€~x}y|~z}}{‚}wwomvxzpg`bSQSDALUVUXZOLIUX[[UZd^SMLIKOMMJGJNVWY]`Z^WUQWOKLHA<8676R>79:;?>=;@KNV`XQWZPW[NLG;:997773ŠàJ26;:CIB>K[jj\KPePF@9;97;<:9>8xÙS4=;=AIJDW¼¼½»¾ tzuK@GoÊÞäëéì˨¬×¾£­áéâà×͆ƒy}|ytqzyx{zxy|€}vyyofhjhga\]Y\YONVTMOR]ZXX\]\SUMG@AGHB>CRQJV]^kkQUWK@;666;@BB>@;wèc8?8MTMejjx‡g\]QIB>:;>FMIBIIX_jŠ›•‰Œ“€pSKJBW·ëèêëèìæäêæáæëçêèëÖ{v~wyv{{hw|{z|vr}yvqmkjggbbk^SV^XW\TOSPSPZ^Zd]TUQOIGHCGKFDFMMShjjsrbbkiXQMLOUTVSIJP9{õq878U__kihZfe[\ZXQ>;<7K¢íìììëìîíìííìéêìíîÌ{wy{zvyxoy}zyzzsxqqqng^]^Z[f`UOWY`YXSMNVVZb^`XOOURLE@>IV`WZcgnbZWX_bejmloe^jxvplgjjX‡ð‚VT]tvprjeONOOPRW^Y:.3IéììëëèæèèéêêêìëéíÂwwz|zusyz}zx{}€†„‰‹Š…{vrkgcb\UXXXSQPOMS[YSXYSMRWRPW_\q‚vbkwkYTW[]^agfl~„‚‚ƒ|€„ˆ‡‰”­”‰‚{|rspgxyyzzz|E+1H~áÖ¨ƒÓß‘Š‡‰‰§í­„ÄÛµt{ywwuy†š¢¨¬««¬«§§§§¨ªª¬ª¦¢‰aZUURTY\SRZZPMNT^[W]j{†‹‚bbqiRPY[[Z]eiku}{z{ts}ŠŽŽˆ†‡‚~mrpkngwvuvwwy{|aRXd|¯¢‚qœ¿„{…‡ Ï¢³”s|yvw‚¦¤¥ ˜Œysnljhecaadhmv}€‰ƒnlqy††‰“Š‹“²š†‚{v{zkbmmaW\`^][_fehrecadcu{~„…ƒ„Œ„~{qchqmjfpoooopqsuvwxz{z}~~|~}„”‡Œˆ~tuu“šod^WSPR[cn•®’jf\[VTQPIGn}xwvtsstuuxyz‡“£±´­œŽsljklmljea]]]ZY]^XZ\]]`fgdebacnlgkhc^itlswpnlkkllnpqrrqrrtvy{}~~~}|{ywusz‰ŒžŠs‰cFMOT`hiI@?CGA;9@kusli`ECjopstuuutrqqqpooor|ˆ–¤«­©¡“rggfda`\YWYYWWXXWXWVW[XXXXXWTSTPXYboutpljjjjjlnopponoopruxyz{{|{zxwtrqz„}{}@Mn~‹”šš_J>1,1Y˜¨¬¯²²£“~a_^\KIF;0122@_Cababcdeimpsuvvtrqmlmnopollv¨º»­™ƒsiihfc``[VYTUSTYXRRUYSSTTUUX]`wwvsnkjhghikmnoppqrrrqqqrtuvwwvuutsp…PXF‰·³­¦Ÿ—È¢xžKHGCEA558pOXgecbbaabdgjnqsvwvtqnkjknpomlp|ª¿Â©‰rihhhhec_^ZXTSRSRRSSRdy…œŸ¢uuvvtpkhfeehjllnnnoooonmmnpqtuttuutu€Go8C\TMCFLOtypymKGC\o_D42_nKmjfdb``_^^_bfkoqrtuvtpkhgjnnmkjit—½Ë´sihjjiigeb^YVSSRRQWš‚€…~wtuuuttqkhedfgijlllmmmmmlmmmnprssttt|oVp024544BKJFGIGFIGA\~fM1b‰ŽGelljgcba``__abfknqrttuusmggjkmonljrŠ¬ÀÁ¨Šskijjihfb_[YUTPf™WWVSPprttuutqmhedddfiijjjklllmlklmnpqqsr‚\ma/38QYHCQJHGGHJIKKS}jG3VšYUhjmmjgca``aa__`eilpqsuvvtpkgfilnmljis±Æ¨…pjjkkhedc__Yn~BUahnknpqssrqokfb`aacdfgghjjjklkjijkloqp‚O„O037}£uAIJ878>JIJLPcsN54+qJecfjmnjfc``a`^]]`dhkoqrstrsqkedgjklliegx¡ÈÏ´snkigfeefaŠhašš ¥jlnopqqrqpkfcaaaacddfhijjkkjihijknl|PŽ@6:G}Ž™_:63326@@@InŽ“[34/X—Jefcdgknnkgbbbba_]]_ehlnprrstsqjdceikkkigdtŸÇѹŽsjlkhfdg›Xo‘³®§ijlnprsssrpmhcbaabbcefhhijjjjihhikju]Š=FHG€›gHD52232135]ž”M831C[^lhgffhlookifdegdb__aeiloprrstrojedfikkjiffvœÄл“tlkkhwœS]GfPDfikmoqrsssrqmhebbbbbcdgiiijjkjjhjilkmDMMK^ˆoLIIC>?@><:En—ƒD<:58–tSobQOZddgkmmlifeeed`__cfilnoprrssqlecfijjjjgeq“¸Í¿~nlŽSR?K46adgjlmpqrrrrplieca``abeghiiijkbYWgz]}Ik[hs_FFFJIJIKHNeŽ–iC9=96„`FjF:8;eebbdhllhdaabaa^]^`dhkmopqssrqlfdegijkkiek‚¨Èʱ‰œzTFAE37^`cfhkmopqqqoolhda`_``bdfghhjc=;6f…L_fN|SDK?@GT\_]VNNCLJ_nTIG=55>5=A6838hjgcbbdfhheb`_^^^\]^^adglnooqqpojfdehjkllkggx”¹Ÿ¢hU>::48†[bdhjlnoqrqqpolhda``_abdfggj\379HD5Qcjmjjkkidb`_adecba^\\\]]\ZZ[]`bfiklkkjjfa^bcf\W\\c}˜JHGJIAAÉÁr[dffhjlnprpopolgda`__`bcdfhhdo†FJW<;998776655666567656667788:FNZhy’§¹ÂÐãàÑÏƽg[PLQX_it~†š›¡¤¤¥®ÊÍɬ™–‹udeffghhhjihfc`^_cgijjgc^\[\]_^]YCIKTFÎÙàØïàjlu^OKW¾ÉÌZadfhhijlmmmmlkjhc`_K--.257;@FMXpŽäëìîîìíîîð𘆓“£ª®®­¬ª¦¡œ›˜—™šž £¢ždffghgffghhfc`^_aehjiiea^\[]^^]BBCQLWÅÈÎÑÎåqokdXOKd¬ÁÎÆv\ceghhiklmmmmkkkgb`Q/---27=FUg€²š×âçìììíííí¯‘—Ž‡‚~{wtqnnnmmlklmmmnpsŠodfffffeefghgdb_^_bgjjjgd`]\]_^B>AMOO]g¢¥äpjlmeSVh„»ÆÔ¼j^cdghhijlmmmmkkiebT0.--/59=L]r’ÓôîííêéçäâÙ‹¥€gfa`^^\\\]^dddcbaaab```^ezfeeeeeeefhghheb`^]afikjigda^^_B=AHMPQTX[u¿klnlgYOPPŒÂÇÔ©^^`bdfgijklmmkkkhdW1/..59L€Z439=k|vtma^^ZUM…ž^\joqtuux‚Œ—¿©‘‘Œƒ€}}yrrqcddeddeegggggdb_^^`dikkkifb_`D=?FKNQUWY\_nrpnneRLKU£ÄËÔY_acefhhhjklkkkjgY33-.7F˜ö©WSYxqR]closx}}¡}do‚††Š‹Ž‹‰iDJB8W”¡§¨£ Ÿš~zRpdbcddbcdeefegfda_^\]bhjkjifccG>=FHLPTUYacnsqstxhTOJk»ÇÐÆl]abeffghijkkkkjh\2:-.0:‚ÅŽkpŒ’•™›œž˜¤žZfŽ¶ÁÉÐÖÚÝÌdRHEHT´çâÞ×Ûàà¦p[\jbbccbbcceeddedcb_]\]afjjkjgdJ>;FGKORTXbpnmljjke\RML•ÅÈÖ¢Z_acefghhhjkkkkj\/<..-18IS>8?HA89865664:ƒ‹Po•ãÞÝÜÛÛÞÄ]icfWL¤ãÝÛÕÑÙáªSuLzp`bbaabbddccddddb__]\^cikkhgM<8FHKNQSXamlebde`b^SMJc³ÃÎÎuY`gedefgghjkjjk^->A=@DDCWXFCU”yRi‚æßßÞÝÞáµSWUdNK–æáãâáÞÝœ;vSee^_aaabacccbccddca`^\Z\bhjhiN76GJLMPRYbkjggfqmhbRLLL‚¿ÄÒ¯^]ccbcegghijjkk]-;2,+,..04667;<>ACZYB:b¡e\\V’“›  žnTShƒTRoÁÁ³¢ŒyfP9]cVknoa`aaabbbcccdddcba^\[\agikM34GKNOPSZbgnlfennqiSLMKV¤ÂÈÓ”_^abcdfggijjh`T,:5-0/*+++**)))))*'(**o VdZ;7456866>OL…«UVPF>:7534GCEpJŒÜÞ°g`aabbbcdddddddc`^][]aekL23GLQRQUZcdhqjgmorqf[OKJr¶ÀÏÊo[acddfggggg_VN,960643+****+,.5Oœ~KnO?75576663328I63565:9223134551W’ h3854HkMaa`_cb`abbbbbcccccdddb``^\]D$3E??\»¿k[[nlmehknsomiRIKLx½ÀÐÆn^bbceffedb_VC1--/+%%&()(*+***+-,V“‹aSaEQMGQVRLJPE6233337E[…Š]IME8;iHa`Y[bgb`abbbbbccccddddba`^^C"1@=>Igm_`fhchhfiqsorr_KJZfš¿ÄÕ­bbbcegfedc_[RFBA@CCBEFFGGFFGJOSS‡zYPZKOJEEFFEFFLA3436@ARXhlSLJPD?OG`WkšƒiX__abccbbccccccdcca_`F#/<<;>FPV`hgmlhmmjlnrpkSILKY§ÀÇÕ‘_bdeededdb]XUSQPRRSSRQRTUWX]gu€}|p]>IKHEGMRMKH?ONI@9=LQONMLG@8<=74B]Ua›qZ£Ä¬kabbbbbcdeeccddca_F!.85568>CKOxtrotpiikigjcKJJIqº½ÎËt\bccbccccb_^\[[[[YXWWWWY[`TiŽ¥¡xk^;59:FWVOC>;AVHC==BIPSSQHFFIKNQSVbjOrMSÂåÜŸ]abbbcccddccdaXTP=!.60K7('''&x€}pjjifhimiaOJMKL½ÀÔ­[\`aacbbceca`aa``_\[YYZZ\aWQ]vuzniUTRRTTQQSUUWWWYYZ[ZZ[[[[[[[\\]__aiVFVajrki``bbbbbcccb`_YKJI/-.4ptrstlmfllnkjeZMKH_¶¾ÉÓ~W^`bcdcceedcdcbbb`]ZZ[ZZ\^XQR^zgo\]\[ZYZZZZZYZZZZYYYYYYYYYYYYYYZ[_Y@Gdc`_^]ljaaaaabbaa][YTMK>,50+*59777nurttlnhhkkknsiQJJL“ÃÄÕ¸b`cdefdefeeeedccdb_][ZZ[\]`cVA\[oWXXXWWWXXXWWWWWXXXWWWWWXXWWXXXXY[XASecabbl…wcbba`a``abbb`VKA$-3.**12010mtmnmkkjgjillmiSJJJg»ÅÍÖˆ]cdfgfffeeffedddca^\[[[\]^_]>@^rSWWWWWWWWWVVVVVVWVVVVVVWWVWWWXXVVTM[dbbabbZZ``_`aa`_```_][QB,0/-,/3&%%%ljlsrmjlnmfhihiUJKKM“ÆÅÓ¹a]_addeeeefffddddb`^\\\\]^bfYrhuRTVVWVVVWWWVVVWWWWVVWWWVWWWXWRU`fQbccbbaa```^``^aaa____^\[VN>0*((*-&&&'jloqmlmorplgkkfSLKLJc¸ÆÌÖ‹^defffggfggfeeeeeb_]\\\\^bf]tggcYUVVWXXXXXWXXXXXXXXXXXXYYUY~]dibcbbba`b¡¿¾•_aa`____][XUPE<::;CWbbaaa_^][XUXca```___^]\ZXXYYYXYXVUgijg`_`hhqzwqrmjmcQKMR[°ÉÇÖ©cefhighgefffgfffec`^\[\M[\VOeßÝÁÝñ¤dosttutuxy~zzzzzxssss…ÓçÌÂÞª‡’¢£¦¦¥¢Ÿ–Œ„wryd_`_``^]]\\[[[[\\][Ypllmjvprirqtsr{l]SJJLKyÄÃÎÓ…beefeeeefffgfeeedb_]\\MZ[OFM°ÇŽÔî´dwx{}‚†‰’š  š‘‘”š£°»»¶±¯±³¯¬ªª©©ª¬¬¬®¯²³˜hd_`_aa`^^]]]]]\\^__\„{€xuzwigoxuwzre\RJJKKQŸÇÅÖ»e`bbdddefffffeeeec`_]]PPQKBGP[Y¡â›s›­·¿ÄÍÔÖÚÜÛÚØÏ¥¶±®©£›š˜•”’Š‡ˆ‡‡‡‡‰Š‹Ž‘—n[l^_aa``^^^]^^^]^_^^†|u~xrpilsmifoibccTJKJ]f~»ÃÊØ\aaccefeefffffedcb`^]SGFJBEKPU`rv¢Ú¢{snjomsÉÁdWŠœ•Š…ytnjfb`[WVVUTUUWXYZ_cch~babaaaa`_____^^^__}xwxsnpa`hqyrijdYKKJU\Y˜ÃÁÖÁf^acccddeeeefeedcba_]VFCHBEKOT[dƒÆÓ@/25665Uäê`>‘ouxmaZUOMJGGGEGLKJKKKJJJIHHHFGI`ihedcccaa`____^^__†‡†††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxywyzzy{{zwuyyz{zzyz{~€€€†††…†††††…†††…††††††‡††††††…„{xuttvuvyxxywy{zywtwvxzzxwy{~€€……………†††††…†……††††††……††……………‚€€{uwwxwwyzxxwz{zyxvvvxyyxxyz}~€€…………††……††…††……………………„……ƒ………„ƒ€~zyyxwy|{yxwz{{zywvvxyyyzzz}~†„„……„……†……††……………………„ƒƒ‚„„„ƒ€~|yxwyz{zyzzz{{zzvvxyxyzzz|~€‚„‚‚ƒ„ƒƒ…………†……………………„‚‚‚‚‚~|zywy{{zz{||{zzyuvxz{zzx{~€€‚„†ˆƒ‚ƒƒ„……………„††…„„…‚€€€€€}~~}{zzwwwyyz{||{zzxwwwxxzzy{~~€€€€‰‰‡…ƒƒ„…†………ƒ„„„‚~~~€~}{|}|zyxwxwvx{}||{{yxyxwuvxyy|}~€€ˆ…ƒ„‚ƒ„…†‡„‚ƒ€}{z{{{|}}}~{{z{|zyzxxzxx{z||}}|zwyyvuuwwx|€€€‰‡ƒ…†€~€‚„~|ywwwwx{{y|{yyxy{yzzxxyyz{{|}~}|zzyxwvuvuw{~€€~ŽŠ‹„€€‚€{yyyxwvvzzxzyxxxyzz{{yuwxwz{|}~}|zzxwywuuvw|‘‘‹‡‡ˆˆˆˆxzywvwwxxuuvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy|~€~~‡‡‡…‚†‚ƒ‡ˆˆˆˆ‰…|yxvwwvvustuuuw{|}zzx{{yzy{|~~}{yxwwxwwz|ˆ€}|€€~‚ƒ……„„ƒ„ƒwvuuuuttsuutuwzy{yx{||z{z{}~~~}zxxxxz{}€€ˆ€€~}{€‚‚‚€uvttttsssttuuwxvyyy{zyyy{}}zvwxx{~€€}}€~|x||}€‚€~~vtututsrstuwwvwxyyz{yxxxz}~~}wsuvw{~}|~}~€|wr||}~~~€€~uutsssttuuvwwwwxxyz{yxxy{|}zzyvqpqqnqrqqrw{{wqnn}}}~€€‚€~tuux{ƒ„„†††…„€{z|||z{{zxrnionsssqmhgggffgifeijlƒƒƒ„……„„……„„ƒ‚‚~~‹’‘Ž‘‘…‚‚‚‚ƒ‚}xuuxyzyzyxwxxuqrqonopnmˆ‡†ˆ‰Šˆˆ‰‰‰‰‰‰ˆ‡‡‡†Œˆƒ‚†ˆ‡‡‡†ˆ‹ˆƒ„ƒ‚‚ƒ„……†…†ƒ€€€‚ƒ„ƒ„„„…„„|u‰‰ˆ‡ˆˆ‰ŠŠŠŠ‰ŠŠˆˆ‰ˆ‡‡€}‚ƒƒ†‡‡ˆ‰‡………ƒƒ‚‚‚‚ƒ„†‡‡†…‚€€‚ƒ‚‚„„„…‡‡ˆ‰‰‰ˆ‡†ˆŠ‰ŠŠŠŠŠ‰‰Š‰…‡‡„…‡†…ˆ†€ƒ‰…„ƒƒƒƒƒƒ€€ƒ†‰‰‡…ƒ‚€€‚ƒƒ‚ƒ†ŠŠ‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠŠ‰‰Š‰†‰‰ƒ…‰Š‰Š‡‰…„ƒ‚‚ƒ‚‚‚ƒ€€‚…‡ˆ‰ˆ„€€‚€ƒ…ƒ‚ŠŠ‰‰Š‰‡‡‡‡‰‰‰‰‰‰‰‡…ˆ‰‚„‰ŠŠŠ‡~Š‡……„ƒ€‚€€€€‚„ˆŠˆ†ƒ‚€€€„†…„ˆŠŠ‰‹‹‰‡††‡ˆ‰‰‰ˆˆ†ƒ…†…†ˆ‡ˆˆ„}€‰‰†…„„„‚€€€‚‚‚‚€€€‚„†‡‡†‚€€…ˆ‹‹„‰‰Š‹Š‹‰‡††‡ˆ‰‰†…†ˆ†…†‡‡‡‡…†…†ŠŒŽˆƒ…‡‡„ƒ‚‚ƒƒ‚‚€ƒ…‡†„€…ˆ‹Š€†‡‰ŠŠŒ‹‰‡†…†ˆ‰ˆ†ŠŒŒ‹‹‹‹ŠŒŒŒ’‹„ˆˆ‰ˆ†ƒ‚‚ƒ‚‚ƒƒ‚€€€‚ƒ…z€…ˆŠŠ}ƒ‡‰‰Š‹‹‰‡†…‡‰‰ˆŒ‹Š‹ŠŠ‰‰ŠŠŠ‹Š‹Œ‡ˆˆ‰‰ˆ‡…ƒ‚‚€‚‚€‚|€†ˆ‰ˆ||†ˆ‰Š‹‹‹Šˆ…†‡ˆˆ‹…ƒˆˆ‰‰ˆ‡‡ˆ‰ˆ‰€~‰ˆ‡‰ˆ‰‰‰ˆ†ƒ€€‚‚€€€ƒ†‡Š‰‰}}~ƒˆ‰ŠŠ‹‹‹Š‡††ˆ‡‡‚ƒ††††…††……„€€‡‡…ˆˆˆ‰‰‰‰ˆ†ƒ€€‚‚‚ƒƒ‚€„†ƒƒ‚{~}}„ˆˆŠŠ‹‹‹‰††‡†…„‚‚ƒ‚ƒ„„‚„††‡‡‡ˆˆ‰‰‰‰ˆ‡ƒ‚€‚ƒƒƒƒƒ‚€ƒ†xutw~|†‰‰‰Š‹‹‹‰††…ƒ„…„„ƒ‚„‚„…„…†††††‡ˆ‡††ˆˆˆ‰‰‰‡…ƒ‚€ƒƒƒƒƒ‚ƒ…„~|pz}}‚‡‰ˆŠ‹‹‹‹ˆ†„ƒ…‡ˆ‡…ƒƒ‚‚…ŠŒŒŒŽŽ‰‰‰‰ˆˆ‡„‚ƒ‚‚ƒ~~€‚hm|}z~ƒ‰‰ŠŠŠ‹‹Š‡ƒ‚„………„€€„Ž”””––••••••”‹ˆ‰‰ˆ‰‰‡„ƒ€€‚|wwy}jiq|}~†ˆ‰ŠŠ‹‹‹‰ƒ€‚ƒ‚‚ƒ€€€…Œ‰‡…‡‹‹‡ƒƒ„…‹‰‰‰‰‰ˆ‰‰†ƒ‚€€‚|rrrtkjkw€~}ˆŠŠŠŠŠ‹Š…€‚‚‚‚‚‚‡Š€zyy‹Œ„yzy|ˆŠ‰‰‰ˆˆ‰‰‰‡„‚€‚{rqrsnnns€}}…‰ŠŠŠŠ‹‹†‚‚‚‚‚‚‚ƒƒƒŠˆ‚}|}…Š‹‡}|~‡Šˆˆ‰ˆˆˆˆ‰‰‡ƒ‚ƒ}srrtominx~|€‡ŠŠŠŠ‹Œ‡‚ƒ‚‚‚ƒƒƒ…‰‡‰‹‰‰‹‹Š‹‰‰ŠŠ‰‹‡†‡ˆ‰ˆˆ‰‰ˆ‡„‚ƒwwvwkkhikz}}ƒˆ‰ŠŠŠŒˆ„…ƒƒƒƒƒ„‡‰…ˆŠ‰‰ŠŠ‹‹‹„‚ˆ‰‰‰‡ˆ‰‰‰ˆˆˆ‰‰‡„ƒ‚~}|nniges€~|~…‰ŠŠŠˆ†‚‚‚…†‰‰ƒ†††††ˆ‰ˆ„|{„…†‰ˆ‡ˆ‰ˆˆˆˆ‰‰ˆˆ…ƒljhgfl{~}€‡ŠŠ‰‰‡†„ƒƒƒ‚‚ƒ„…‰Œ‡‡‡†‡†‡‡‡††…‰‹Œ‡ƒ†„†ˆˆˆ‰‰‰Š‰…‚‚fgghhiq~€}|ƒŠŠŠŠŠ‰‰‰ˆ‡††‡ƒ‚ˆ’““’“”“”””••••–—–‰…‡…†ˆˆˆˆ‰‰‹†€‚…†ihgfghhu€}ˆŠŠŠŠŠ‹‹Š‰‡†‡†ƒ‰’–””””““””““”“““’‰‡‰ˆ‡ˆ‰‰ˆ‰ˆ‰Š‡‚€„…jhgdgjhs€~~„Š‹‹ŠŠ‹‹‹Šˆ‡‡‡ƒŠŽŽ‘‘Ž†…‰ˆˆ‰ˆ‡†‡‰‰ˆ‡†…ƒ€€ihgfikin}}€ˆŒŒ‹ŠŠ‹‹‹Š‡‡†„Œ‡ƒŒŽŒŒŒ‹‹Œ‰€†ˆ‰‰‰ˆƒƒ‡‰‰ˆ†…„‚‚‚‚jjjjiihkt€}ƒ‹Œ‹ŠŠ‹‹‹‹‰‡…„‰‚||„ŠŠ‰‰ˆˆˆˆˆ‰…€…‰‰‰ˆ‰‡‡‰ˆ‰ˆˆ‡†………„mkjjnkhkr}‚~‡ŠŠŠŠ‹ŒŒ‹Šˆ†„†„€ƒ†…„„„„„ŠŒŒŒ‘‘Œ‰‰‰‰ˆˆ‡ˆˆlmnoqpmpt|€~}~‚‰Š‰‰‹ŒŒ‹‹‰†ƒ………ƒ‚‚€ƒƒ…’””““”“’’‘‘’’“‰‰‰‰ˆˆ‰ˆˆzzzzzzzz{zz{{zzzyyyyyyyyyyyz|„ƒƒ„„††‡‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yzzzzzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†ˆ‡………………††…†‡†ƒ‚‚‚zzzzyzzzzyyyyyyyyyyyyyyzzzzyz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzzzzzzzzzyyzzzzzz{z{{{zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„†ˆ‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{||}}}||~€‚„„„„……………‡‡‡………„ƒ„…‡‡‡†…„‚‚‚€€{ƒ~|}}{zyzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€‚€€~|{zzzz|zyz{|}€€€€€„…ƒ„ƒ„…„„„„…‡‡‡„…†………„…†‡††‡„ƒ‚‚ƒ‚}}|~}|{zzz}{{~€‚ƒ‚‚€‚ƒ……„…„„……„„„…†‡†„………„………†††……„ƒ‚‚tu|~}€€€~}|{}€…††…„„ƒƒ„‚„…††……………„„ƒ„…†……„„„„„„„…†††…„ƒ‚‚‚‚‚ww~€}€‚‚€ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††ˆ†…ƒ‚‚€‚‚zy{|z€„‚‚‚‚‚‚ƒ…‡‡ˆ†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒzzyzz}~|{|}‚ˆ‡††††………†ˆˆ‡ˆˆ†…†……„…………†……„„„ƒƒ…†††……ƒ‚€€‚ƒ€…‡‚€||zz|}€‡‡†††††††‡ˆˆˆ‰‰†…„„„„„„††‡††„„„„„…‡ˆ‡„‚‚‚‚„…„„„ˆŠ†‚~€€„†‡††…‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆˆ‡ƒ€‚‚‚‚„…ƒ‚‚‡ˆƒ€€€€€ƒ‡‡‡‡††ˆ‡ˆ‰‡†‡‡…„„„„„††‡‡ˆ†„„ƒ‚ƒ…ˆˆ‡†ƒƒƒƒ€‚…„ˆ‰ˆ‡„‚ƒ„ƒ‚…‡‡‡††‡‡‡‡ˆˆ‡‡‡†„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€ƒƒƒ‚„ƒƒ…„ƒ€‚‚‚€„‡‡‡‡‡‡‡ˆ‡‡ˆ‡‡†…„…„ƒ„…‡†‡‡…„ƒ„„‚‚||}~~ƒ‚€€‚ƒ„„‚€€‚‚ƒ„†…ƒƒ„‡††…ƒƒ‚€€€€ƒ„ƒƒƒƒ†‰†††‚~}}{{z{{{{{|~~~~€|~€€€€‚‚‚ƒƒ„„ƒ~}|||}{|}€€€€……„„…€€~~~€€€€€€€~~}}}~}}||}~}|||~€~|||}~€€€€€€€€€€‚‰„ƒ„ƒ€‚‚‚‚‚€|~~}}}}}}}||}}||{{{{yx}}|}€€€€€~€ƒ„‰…‚‚€€€€€ƒ…||}~~}}}}}}|||}~|}~}xzzxx€€||€€€€€€€€~ƒƒ‚‚‚‚€€Š ¤}|||}~€€~~~~~}}}}}}|}…€yxxwz‚ƒ||€€€€€~€‚‚‚†ˆƒ‹‡„~}}}}}€€~~}}~~}~}{|ƒ€y{zy|†„|{}€€‚‚€~‚…†‚‚†‡z|€~}|}}~€€€~}~~}}{|~{{||…„|{}€€‚‚‚€~~€ƒ‚€‡…z|}}}}~€€€~}}~~~~}~~€}||~€€‚‚‚‚€~~ˆ’ˆ‰y{„€}}}}~~~~{|}||}}}}}~}}|z}~~~~€€€€‚‚‚‚€¨½¢€yzƒƒ€~}}}}~€~~}|}}||}}~}~}}}}~€~~}~~€‚‚‚‚—¨›šŒ‚†„‚€~}||~~|ŠŒ~~~~€~~~~†~~}}}}}€‚‚‚‚†ž¤©¦“‰‚€~}}|}~€~‡‰‚€ƒ€€€ƒƒ€~~}}~~€‚‚‚Œµ¿ÂŃ„ƒ‚€~~}}}~€€€€€‚„‚ƒ†ƒ€€„„€€€€~~}}}~‚‚‚‘¯ËÏÓƒ„‚ƒ‚‚€~~}}}~€€€€‚ƒ‚‚„ƒ€€ƒ€€€€~~~}}}}€‚¦‚‚‚‚‚€~}}}}}~€€€€€~~€€€‚€|||{{zxxxzyxz}~}}~}~‚‚€ª§‚{{}‚Œ‚‚~}}}|}~€€€€~~‚ƒ„„ƒ|xxwwxxyxwwwy|~~}}}~~€‚€€ªÇ¾ª–}{ˆ‡‚ƒ€~}}}|}~€€€‚ƒ‚„‰Š‰ŠŠƒ{{}~~ƒ‚~~~~}|}~~~~~~~~‚‚€©ÌÒÑÊ||€‚ƒƒƒ€~}~}|}~€€ƒƒƒƒ………„„||}~~}z{{}}}~||~~~~~~~~‚‚~£ËÎÎÉ~‚ƒ‚‚ƒ}}}}|}€€‚‚}|}€€|xzz}€{|~~}}~}~€‚}žÌÏÐÇ„€|€‚‚‚‚‚~~~}|}€€€€€€€}|}~~{xxy}€€~{|€~~}~}~”ÅÀ¿¶‚~z||€‚‚€~~~}}€€€€€€€€~}|{||{{zzz}‚‚|{|~€}~~~}~„–‘’~zyz~ƒ•ˆ‚€~~~~~€}}}||||}}||~ƒ„~}}|~~~}~~~}~€‚‚‚‚€€~yxx~„ˆ„‚€~~~~€€€€€||}|}~~}}}~}||z~€~~~~~}}~€‚€€€~zxxz‚‚‚‚~~~~}~~€€€|xwwxwxxxwwwwvvvuu~€€€~~~~}}|~€€~~zxwxyƒ‚‚‚€~}}}}|}}€}xwwvwwwwxwwwwwwvx}€~~~|~€~yxyzzƒ‚‚‚€~}}}}}}}~€€€€{{|zxyxxxyyxxyxy}€}~~€€‚‚‚‚~{x{|{ƒ‚‚}}}}}||}~€€€}z~ƒ‚{yzyz{zzzzz|€‚}~~€€‚‚‚‚ƒ}{|}~~€‚‚‚}}}}}|||~€€~|†„€|}|}~}}|}|~€€||||~~~€‚‚ƒ~€„„‚‚‚„ƒ‚€~~}}}||}€€€€ƒ…„‚€€‚€}{zyyxxxwvwwwxz}€€€€ˆˆ‡ˆ†…„…†„‚™Ž~~~}}}}}~€€€„ƒƒ…‚€{xvxwxzzzyzyxyz|~~~€€€ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÎÍÍÌËËËËËËËËËËËËËËËËÌÌÍÌËƾ³®¡œ~{pgkujjgljqbfaU\`\[a[S[`\]TPORYX_e^dRTUUTWTSYTPV]][WTLD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËËËËËËËËËËËËÌÌÌÎÎƳ§–t€ys^^_o|n\]ljfZXXZ^YUTO]f_ZQOOPXVZehfOU\_XPPKQQX]aZUOLI@@75421/75ÍÍÍÍÎÎÎÍÎÎÎÍÍÍÍƿÿÇÊÊËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÌÍÍÍÎÍÍÀ£‹‡pmlokimpt|z^a_bcZYYZZ\RSV\aXYXVSQTSVZecPPWZTLNMQQ\b__YQGA?<851220.2ÍÌÌÍÍÎÎÍÎÍÌËËÌÌÈÀÄÀÉÌËÊÊÉÉÊÊÉÉÈÈÈÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’yjpuwr}fda\fW`bbZ[WU^YSXedQORVWRNKWOXfQNSWYPLROPX`]`USTNG?<84321--ÍÍÍÌÌÌÌÌÍÌËËÌÍÎÈ¿ÀÀÊÍÎÎÎÍÍÌÌÌËÊÊÊÊÊÉÉÊÉÉÉÉÉÉÈÉÈÈÈÆÈÉÉÊËËÊͼ’„}r_k|mbg_^_VhaXWTSLZ`^_ol[QOT[SMITRRWRYYWUNOQTZ^WVZPOXNI>?A;520,+ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÈÍÎÎÎÎÍÍÍÍÍÍÎÍÍÍÍÍÌÌÌËÊÊËËËËÊÉÅÉÊÊËËËÇÆâˆxzog^jomb_`^V[_UQZRRPXedefbfUQUXSQSTRRVQY]_URSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎźŻÆÎÍÍÍÎÎÍÎÎÍÍÍÍÌÌÍÌÌÌËËÈÉËÌÍÌËÈÄÊÉÊÌÍËÆÃÀ±™zwodUSb^Y\``]a^WTQKMTX^`bh^YROOONJRQSP^KSSYZVYX]Y[VRPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÂÅÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÈËÇÄÁÄÀÆÆÈËÌɾ¼«Ž~voVSPQNVWloeab[WLCALYPY`_]VSQJLKHKHPKWNQTUUVYZYZ]XRNRMUNBG@>>3/.--ÍÍÍÍÌÍÍÍÍÎÍÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÌÍÌÍÍÍÍÍÍÍÍÌËÉÇÆÅÈÀ½¶À¼Á¾ÃÊÈÄ»®£¤Š|sq]UVWWfh[mfe_UUPPVTcTNY\RNVWQJJFNOQXWQPWYUSWWUMSYRPVPWV?5622/----ÍÍÐÖÔÎËÌËÉÈÉÉÊ̽ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÉÁÁÀ½Á»¹©¾·À·¼Æ½¼´£ˆ…|o‰xbZ]Z\cjVl\T[SMSS\[UMORVPORUWJKKSRRXf\NUWVUTTYPPYWX[[LC<7540.-,--ÍØæðîãÑÊÈÁ¼½ÀÄÈÀ½ÆÁ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌËËÃÁº²»¸°¡º±½µ³Á³¹²—…zxkfbaaaRZa[Ud[SY\NSRV[TUSMMMJKLRXVNQOQPbYMY[WQKNXWUTXPLKA7=<:61.-,--ØíỾãçʾ¶°°¶¸ÀÁÁÉÆÁÉËËËËËÊÉÊÊÊÊÉÊÊÈÇÇÃþ°ª¦ª¯£ž©­²®±¸ª©œ‚wxsjiQ_eZWbWQZf]X^WKOQS[`aTPLLKMPLTWKOTNQ\\X`\SOKNXUVUOPXIBB=:;951//-,îØ‹op¥ë×´®«­³²¿ÃÄËÈÃÊÍÌÌËËÉÆÊËËËÊÈÇÅÁÁ½½¯ ™˜£¤™—¢¯©¬«¦¡˜rlifjm[VWT`_UV[XX_UQVSSTT^WPSONSUQSSWQOWPRY^X]WX[U\]RSYWSQ?>E:8777520/.Á«”—• Èв­©­°³ÀÀÄÊÇÁÊÍÌÌËËƾÇÊÊÊÊŽµ®±²·©Ÿ”Œ—™˜”¦µ¬¬£–—‘xhccUf_QKHNV`XPP]g^`m]^a[SVMONOOQVRTPSYQYNN]\]fZb]he`ROMMJK@=?8854453./2cjferwuy¢¨¯®´¼¶ÁÈÆ¿ÇËÌÌÊÇ¿¶ÄÊÊƶ¤žšš¡ —š”‡‘—’’ž¨ª’ŽŽ„tbbgZ\SQSQOX^^Yfm^OTaNWomZPMJMLJFILLNNMPWTW]SRWW^f\[VOJLGEECG@7543344/15aPUpª·µ¨‹‚§°°µ´±¼ÇÆ·ÀÉÉÊÊǾ²ÃÊɽ²¥˜ž•–’ˆ‹‹€“’Š‡Ž—‰ˆ‰ƒ|tsnaXSX[YNW[UT\h\QP\ef`^[RRLIIFHGFEFMLR][VZUNYgfeU]RMUSHI@?A9753313338=Š[XžÖãåÖ•q¶¶®®«©·Ä¹©¯¸´¼ºÇ¼¯½Ã·©ž—› ““„‚ˆˆ€|ˆ‰Œ„‚‚€}wvn`UUSS]XTYTSXfPPO]dcRRZWSLKKIJHEJJIPUZaRYPOjpcd_a\U_YUSH=::864322549?Ÿ“Ž§¯Œ‰`j®Íǧ ¡©ªž Ÿ¡¡¢ª¹¯¤¢¨™™˜Ÿ—™‘•Œ„ƒ„€ƒw‡‡„||{zsoohbWPZfZRUQU]ZNX[[]XQQQRSLKPPKNRPFBJNS^QQM]a`]Xei[QT]ZERE;;;8554488:>Q1@gU]qR>=OOROOOPUxf˜žÌŃKE=?JSSUC:8?8d™‡‡€}~}x}}„„~|€z~vptywsnie[SMKYWZSTW[[XHW_Z\XY^UJLSNLILONOTUXV[mcZZZZVYWQVJMI=763aƒ:7778:ACBDan˜h`[Sì×ïÍuͽ_??HO><>CA<;<9GšÏá|x}y|~z}|{‚}wwomvxzpg_bSQSDALUVUXYOLIUX[\UZd^SMLIJOMMIGJMVWX]`Z]WUPVNKLHA<7676Q‚>789;;@HJHM{ÂiJIDˆñâï´jäÅ}py‡Œ’“–šš˜“‹°Öߎ|xwzyw{z}||~‚‚xvwlintxmh`^OQTGHOTX[TOSQTUZUVVY_[RKDCBDGIEEFJSV[ZUMURTQSNGEC<96676ZB88;<;AGGHŽ®ä ‰‚„˜{zWW¸ÆÏÈÊÍÏÑÓÔÓÓÔÓÐÎÐÕ£‡}|{vwwvwvzz~€vuuotlmuphg^QVVTWY^\XFEQW_W[XWTU\UNICD@>>>=;@KNV`XQWZPV[MKG;:987673‰çS07;:<69?EGI[gWSXV[[SFAA;67877:5…åS.8<=BHHDRóóóóóðéášTKEN³ØÝæêêëíëêéçèêêéåÚЗ‚xz}ywwxxwz{y{z}}ywyslgnffcb[foaYMOYXTQRYW^YVYcYOHC@?@BA?>CHB=K[jj\KPePF@:;97;<99>7uÝ[3=;=AIICV´²¯±³©qj{XBAW¬ßâêêéÛ§ž¾Ïš™ÂìâáÝש~y}{ytqzyx{yxy||vyyofhjhga\]Z\YONVTMOR]ZXX\]\SUMG?@GHA=CQQIV^^jkQUWK@;666;@BA>@;wèe8?8MTMekjx‡g\]QIB>::>FMIBHIX_jŠ’ŸŒŒ‘‹w^KJFE‹äëêëêëéäèêäãêêêêëêœs|xxu{{hw|zy|vr}yuqmkjggbbk^SV^XW\TOSPSPZ^[d]TUQOIGGCHKFDGNMTikjsrbbkiXQMLOUTVSIJP9zôr778S]^khhY_iZZXURD9;9IU`V[fjncZWX_bejmloe]jxvplgjjW†ðSR[suprjePNNOPSW`bJ.1;iÐîçãçêßÞßáäåèëãäëàˆty}yss{{~|xwywouttxum`Y]ba`_\SWXXSQPOMS[YSXYSMRXSPW^[p€vbkwkYTW[]^agfl~„‚‚ƒ|€ƒˆ‡‰“®“‡{|qspgyxyyz{{~b+/9_ÃÞ·v£ð£|}}€ŒÝÑoÍÓ}yzwwutwxz~…Š‹•——››™“‹‰‰vli\ZUURTY\RQYYPMNT^[X]i{…‹‚bbqiRPY[[Z]eiku}{z{ts}ŠŽŽŽˆ…ˆ‚}mrqkngwwvvwxxz|nSU[nŸ±–{¿ z†’ŠÏ±ˆ ¶­u{zvxw|Ž—¥«¬­¬¦£ž›˜–—˜™™œ £§¨£‰mkqy†…ˆŽ’Š‹“²š…‚zv{zkbmmaW[_^][_fehrecadcu{~„†‚„Œ„}{qbgpljfponoopprtvvwz{z~~€}€~}{|}‚’“‡‹‰uuw{¢¢•†{qkd`^ftud^\XWZ^chj~xwvtssuuuxyz‡“£°³­œ~sljklmliea]]]ZY]^XZ\]]`fgdebacnlgkgc]htlrvomlllllnpqrrqqstwy{}~~}|{{ywtszˆŠ Šp|šeWSONOPV]avœp\ZZa_YURCDlpqstuuutrqqqoonor{ˆ—¥¬®©¡’€sggfda`\YVYXVVXXWXWVW[XXWXXWTSTPXYbpxsokjjjjjkmopponoooquxyz{{|{yxvtrqy‚zƒnANV]ht}a88410354Mnoonl^@Jeefhjlpssstsqommnnnnoryƒ“ª¼»¥‹tjfgggb_][WURRTSQRV^`TTX[VUVVTTUSXxuqmjijiijmnopppooopqstvwxxxxxvutrnowP@l‰“œ¡§’cU=22;FHGD<:96EGP]aa_PIBHnl[97:yVWmljgcba``__abfknqqstuusmggikmonkirŠ¬ÀÁ§ˆrkiijigfb_[YUTSP]£uvvoortttttqmhedcdehijjjklllmkkklnoqrssu‚K}?148769JLKIHGGHHFGox^<>Œ¥vGhjmmjgca```a__`eilorsuuuspkgfilmlljisŽ±ÅÁ§„ojjjkhedc__]Wm•QRQNjmpqrrrqokfb``acdffghiijkljiiijlnqqxwS512Hvt@Ii]ECCIJGNEc|\:8Pr‘H`dfjmnjfc``a`^]]`dhkoqrstrsqkedfiklliegx¡Çδrnkhgfeeffbv|Ebntikmopqqrqpkfba`aabddfhiijkkihhhjklmyghw033T—•]@B:556DJFNI\kq?507‘]Wfcdfjnnkgbbbba_]]_ehlnprrstsqicbeikkkigdtŸÆиsjlkhfdfbej¤¥§ijlnorsssrplgcba`abbdfghiijjijihikhxZ~d3@:hŒ™”G;43217=9CLˆ™ˆA422}|Llgecdhlookifdefdb__aeilopqsstroiedfijkjiffv›Ãл“tlkjigjWl‚¬¡fikmnprsssrplhdbbaaabdghiijjkkifhkfzUŒUCLDX‚‡|MK?65553247xŸv;730b™Ljmkhfdcgkmmkhfdeeca__beilnoprrsspkecfhjjjjgeq“¸ÍÀŸ€mlj}šSZ@X?`dgjlmpqrrrqolieb`_`aaeghiiijkkkklcyU–PJQL_{‹VFGGDBCC@?=b‡˜`?;:3R¨PbkPEFZebbdhlkhdaaba`^]^`cgkmopqssrplfcdgijkkiek¦Ç˲‘w’‰SO@J4^`cfikmopqqqpnlhca___`adfgghikbOLX~sTRaxKaZJGJORSLOMMVrƒN>7=2J{4Hkfcbbdfhhfb`_^^][\^^adglnnoqqpniedehjkllkgfu’³Æ©žwTC@B3ƒ[adhjkmoqrpppolhc``__`bdfgghiF76444347647756:;==8:@?=É¿q[dffhjlnorpopolgc`___`abceg\F<;07_D<:98866666666557666667788:CLchhhijkkkkkkifa`cfhjhfebaaaa`]]]`bdhjmoqrppolfTPZ_eziAK“xA;y³ÃÎX^cefijlmnpoonmkgba```abdeee˜ŸSI<43565555443347754433333352>[jQJYghhijijkkjkkjgcaadgjkifca``__^]]^_behknooqpoodLKIAC\rSC@:9PŽºÇÈsYabfhjklnoooonlkgb``__`bbcdŽbT|hK12333322333FE4433222331Oœ¡£cOVgfhihhijijkjkjhdbaacgiifca_^^^]]]\^_bfikmopppolc‘“^m~~rmiYYw­¿Í³c[bfhjjkmnnnnomlkeb____aaaimp]u«¥½^012121134464543320110E‹¦˜˜x?Pecefgghhhijkjjkigdb`adgigec`^]]^][\\^_bfilmnooqf³yvhjf^^_WXz¸ÂÍž[_dfgijlmmnoommmjda`___`aelC>Š—¤¦™[.-00//026657401147>E˜µ¢Â¡h,I›¿ºdefgffhijjjjihgb`_bfhihfb^]\\[\[[Z\^bfikmnqk‹¬|kZ_^XVVPJN‰¹ÀɉX]acfhijlmnnmmmlhda_^^_aYhB,m­Ç§ÒÅdeMGJMOH9{”;I_^XTY’¤îìÄÒ­Q*>}§¬ccffeefghiiiiijgca``beiigd_\\\\\[[ZZ\_bfjlp\{ ugVTWVTT]RKT—ºÄÂuT]_aeghjlmmmmllkhc``__aTM9,Q¨ÓÅïðË s[`aŒžP­Oinh_\s­×ðêÓÚƒ6,:cb`b‚xeeeeffgggiiijigdb`_`cfghd`^]\\[\[[\Z[_dhlTd‹c^TTUVUTfXOI]¨¾É¼jZ_adghhjlmnnmmkjgb`_^_[=1+6mξÏÙ쬑[Z_Y[gßë{Ydclh”´¸­ˆ^`?/-8fbegqjbaaffefffhhhiiigfca__adhihea]\[[\\][YZ\agQWzbZQMSWWWkaPMIs·¿Ï­a\acfghjllmnnmlkifb_^^[=-,.6JFSyyx©chsr_tØèdqtod{e?H?201/09g_decx§¬™ldeeeefgggiiiigdb`_adgjjhd`][\\^^]ZYZ_LUiaX}–s`jnkofSLMˆ»ÂÒ—Y_cefhijkklmmlkkid`_^W7,,,/037=:BTQVbq’´Æ¤•‚la\VPHB=61-,,9d\effo§ÈÅ_`acdeffghhhjihfc`^_cgijigc^\[\]_^\ZYGOV[F™¾¹­ÂÞjlu^OKW¾ÉÌ€Zadfhhijklmmmlkjhc`^V3,-2557;AHRaqš»ÇÏÖäëâÚÙØÄ|aRNLQU[dox†š—¡¢¢¡ž Ÿž™’Œldfffhgffghhfc`^_adhjiiea^\[]^^]YCIJSD‹ÑÛà×íqokdXOJe­ÁÍÅt\ceghhiklmmmlkkjgb_Z5,-/379?GNXlƒ·òéîïíëìííòÔ›’—¦«­¯®­«§¡ŸŸŸŸžœ›ž¡¤§£œtdfffffeefghgdb_^_bgjjjgd`]\]^^]CBCQLU¾ÂËÑÍojlmeSVg…»ÆÓºi^cdfhhiilmmmlkkiea]:,--05:AM]t•µ¨íâíííîïïïôÏ…º¤‘™ˆ„€|zvrpppppooppnoss|‹heeeeeeefhghheb`^]afikjigda^^^^B=AMOOYbˆ£¤klnlgYOPPŒÂÇÔ§]^`bdfgijklmmkkkhc_;,.-.26:BN]oˆ—íçäááÞÚÔÎΊ§ujida^^\\[[]`_^^^^^_]^^_Zlwdddeddeegggggdb_^^`cikkkifb`_^A=AHLPQUW\rnrpnneRLKU£ÄËÓŒY_acefhhhjklkkkjfb=...1;Bˆ“C+-3E`]YSPOMIGBE¡ˆV_gkprssy„Œ›¾ ”‘‹„}~~tptnbcddbbdeefegfda_^\]bhjkjifc``Cj“™Ÿ™–•{sVsbbccabcceeddedcb_]\]`fjjkigccG==FILPSVXanmljjke\RML•ÄÈÕ¢Y_acefghhhjkkjjif@73-.2IŸœm]kx€…‹‹‹‹Š…}vŸ‘Pu•²»ÆÌÒØܶXOECE^ÉäàÚÖÛÞÜ–rQhm`abaabbddccddddb_^]\^cikkgecJ>;FGKORTXblebde`b^SMJc³ÃÎÍtY`gedefggijjjjjh=64,--27GI7;@G46641111/GyQt´âÞÝÝÜÜà¬XjaeTR¼âÞÚÓÑÛá˜[jRh__aaabacccbccddca`^\Z\bhihffL;8FHKNQSXbjggfqmhbRLLL‚¿ÅÒ¯^]ccbcdfghjjjjki<47-,,1159>>@@AEHHOkSIEi˜d_`­åÞÞÞÝÝáœPXU]NO±äàáàààãŽ?xNflnaaaaabbbcccdddcba^\[\agihiN66GJLMORYbnlfennqiSLMKV¥ÂÈÓ”_^abcdgghiiijkg;38.,+-//1343467:QiP›Â¹x]`aabbbcdedddddba_][Z]djL13GMQRPSYcuwnkqonlnoZLKO¿ÄÖ­^`bccdeffffcXU73840MN?6311.*)*******Fž{MoL<989997887:uyHH=348:;9:KC?oN`b`a```bbbbccddddddcca_]\Z]dI+4GJMO`qe`pnjhllhfhidLJJ[ªÀÉÕˆZabbceffddd\S:4753.@?<823.*****+-26b£gRkK<7667666332AI34556;JRA7>;4gVYbb````abbbbbcccccdddb``^\\_F&4FDET·Àw]nlmehknsomiRIKLy½ÀÐÃk^bbceeffeeaU?52111+'''&&%&&&&&&'(9{˜YYaD:66>HA975132145541eŸW3653SdQcb``ba`abbbbbccccddddba`^\^C#2E??Z¸Âl\hbhhfiqsorr_KJZfš¿ÄÕ­bbbcegffdc`[P90//0+))*,,-///0.-.*rŽƒOaTHPFFSZSJIM>3333449CkŠŠTHKA6BiHb`ZZcga^abccbbccccccdcca`]^B"0@<>Hfm`_glkhmmjlnrpkTILKY§ÀÇÕ‘_bdeededc`]YNHGFFHGHIIJKKJJKNQQW—{vIaPMOIFEGFFFIN:1227FOV_xsrotpiikigjcKJJIqº½ÎËt\bccbcccb`ZXVTRSTTTTSRSUVXYbfoszxoKHMMIDCHKJJFANJF=9ANPNPPNJB;@>75E`Ov¡vY¿àœ]abbbcccddccdddda]D!.75459?BIx€}pjjifhimiaOILKL½ÀÔ­[\`aabbbcca_]\\\\[YXWVWXZ\\Y|˜±’qjP38;=JZYRD@;EXEA99?JPRPLC@@ADFIKSdcQtONiki_`bbbbbcccccdd`WPN<"-50I5(''&ptrstlmfllnkjfZMKH_µ¾ÉÓ~W^`bcdccdcb`aa```^[YWYZ[^aN^l„uvp[NKJMRQMLMOOUSSTTWXWYZ[ZZZZ[[\^`_cjUMU``_]ljabaaabbaaa`_XKIJ< -74][=.++nurttlnhhkkknsiQJJL“ÃÅÕ¸b`cdefdddddcbbaab`][YYZZ[][QM`punh]]\[YYZ[ZZZZZZ[ZZZYYYYZYYZYYYY[[`XAHecbbl…wcbba`aa```][YUMK>-50,)4976mtmnmkkjfiillmiSJJJg»ÅÍÖˆ]cdfgfffeeddccccb`][ZZ[\\__bEU`hfYYYXWWXXXXXXWXXWXXWWWWWWWWWXXXXY]T>TecbbaZZ``_`aa`__aba``UKA#-3.*)0211ljlsrmjkmmfhihiUJKKL“ÆÅÓ¸`]_addeeeddfdcccca_][[[\\]^aO=CkfTWWWWWWWWWWVVWVVWVVVVVVVVVVWWXXVXTK\cbaa```^``^aaa_```_^][QA*0/--.3&%%jmoqmllnqplgjkfSLKLJc¸ÆÌÖ‹^ddfffgfefgedddcba_\[[\\\^fZU^riPVVVWVVVVWWVVVWWVVVVVVVVWWWXWSSY]Oabcbbba`b¡¿¾•_aa``___^\ZVN=1)((),&%%lkknsuspslikljoeOJKKMÇÉÕ¾icdfghhgffgfeedddc`_\\[[\^gf‘sgp\`\TUVVXXWXWWWXXWXXWWXXWWXXXTVr…‚Vigabbbaa^‹ãðè˜_`__^^__][XTPD;8899=?CjqtrpsqlojiiehrbKKKLK_¶ÉÌÕ–_defghgggggfeeeeeb`]\[[[^]i•~ew‡„bVWXYYYZYYYYYYZZZZZ[[Z[[YZy³·¢`Wabbbba``^Œ¬«œc]_`^^__^\ZVSRPMLLKKMPpwsnhhkmmhikurte_YLLMO†ÈÇÐÉtbefghggfegfeffefda_]\[Z]UcŠq|±ÁŇeZ\\\]]\\[\\\^__^_^^_^^[qÅ×âåyHMacbba``a^\X\`_``_^_``][YWUSSRRQRRQgiig`_`hhqzwqrmjmcQKMR[°ÉÇÖ©cefhighgeffegfefeb`^][Z[Mezjj’èåÜÓ]babbbdefhkplkjiiiiiigh³çÛØåŽ?CYbaa`_^^^____``a`_``_^\[YXXXXXWXWUpllmjvprirqtsr{l]SJKLKyÄÃÎÓ…beefeeeefeegfeeeda_^[\ZIdXYN“áÚÍèÝ|gmrrtuuwz|‚yzyxwuttts‡ÜîÈÅàyDL_kkkkjifcb^][ei``_a`^^]\[[[ZZZZ\\Z„{xuzwigoxuwzre\RJJKKQŸÇÅÖ»e`bbdddefeeffeeeda_^\[ZGfRQDråʦåë’fuuvvwz{}‚‰‹Šˆ‡‚€}|{žËØÀ¯¹£¥ª°±±±²²²®¬«¢›|zg__```_^]\\]][[[]^^†|u~xrpilsmifoibccTJKJ]e}»ÃÊØ\aaccefeefffffeeba`]\[F^NICLqqsÙç‡r—£ª±¼ÀÅÍÐÔÔÓȧ¨­«®°´²°®«¨ª¨¥¢¡¡    ¡£¤¦¨­¡h^aaaaaa`^]^^^^^\]^^}xwxsnpa`hpyrijdYKKJU\Y˜ÃÁÖ¾d_acccddeeeefeedcaa_]\ILGHAGKQV|‹y¢Ë¹¨¡ž¡¢Ÿ«Õ¸Žˆž”¤²ª¢œ™—•’Œ‰‡…‚~~|||||}}}…Žs\qfdcccca`_^^^^]]^^†‡†††‡‡‡†…†‡‡††‡‡‡‡‡‡ˆˆ‡ˆ‡‡‡…ƒ‚~|xuttswywyzzy{{zwuyyz{zyyz{~€€€†††…†††††…†††…††††††‡††††‡†…„{xuttvuvxxxywy{yywtwvxzzxwx{~€€……………†††††…†……††††††………………………‚€€{uwwxwwyzxxwz{zyxvvvxyyxxyz}~€€…………††……††…††……………………„„„„………„ƒ€}zyywwy|{yxwz{{zywvvxyyyzzz}~†„ƒ„…„……†……††……………………„ƒƒ‚„„„ƒ€~{yxwy{{zyzz{{{zzvvxyxyzzz|~€‚„ƒ„ƒƒ…………†……………………„‚‚‚‚‚€~|yywxz{yy{||{zzyuvxz{zzx{~€€‚…†ˆƒ‚‚ƒ„……………„…†…„„„‚€€€€€~}~~}{zywvwyyz|||{zyxwwwxxzzy{~~€€€€‰‰†…„‚ƒ„…†………ƒ„„„‚}~~€~}{|}|zyxwxwvx{}||{{xxyxwuvxyy|}~€€ˆ†‚‚…‚‚……†‡„‚ƒ€}{z{{{|}}}~{{{{|zyzxxzxx{z||}}|zwyyvuuwwx|€€€Š‡„„‡~€ƒ„‚|ywwwwx{{y|{xywy{yzzxxyyz{{|}~}|zzyxwvuvuw{~€€~‹‹‡‚‚‚}yyyyxvvzzxzywxwyzz{{yuwxwz{|}~}|zzxwywuuvw|‘‘‘Œ‚€†ˆˆˆˆ‰„yyywvwwxxuuvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy|~€~~‡‡‡…‚…ƒ‚‡ˆˆˆ‡ˆ†~zxvwwvvustuuuw{|}zzx{{yzy{|~~}{yxwwxwwy|ˆ€~||€€}‚‚„…„ƒ‚„ƒ€xvvvuuttsuttuwzy{yx{|{z{y{}~~~}zxxxxz{~€€ˆ€|{‚‚€€€xuuuttssrstuvwxvyyy{zyyy{|~zvwxx{~€€}}}|x{||~€‚€~€xtttutssrsuwwvwxyyz{yxxxz|~~}wsuvw{~}|~}~€|wr|}}~‚‚€€wttttsstvuuvwwwxxyz{yxxy{|}zzxvqpqqnqrqqrwz{xqmn}}}}~~€vttuuvz}}€}|{zz|||z{{zxsnhonsssqmhgggffgifdijlƒƒƒƒ„…„„……„„ƒ‚ƒ‚€}‚ŠŽ†‚‚‚‚ƒ‚}xuuxyzyzyxwxxuqqqomopnmˆ‡‡‡‰Šˆˆ‰‰ˆ‰‰‰ˆ‡‡ˆ…ŽŽ‹ˆˆŠˆ‰ˆˆŠ‹ƒ„ƒ‚‚ƒ„……†…†ƒ€€€€‚ƒ„ƒ„„„…„„{v‰‰ˆ‡‡ˆ‰ŠŠŠŠ‰ŠŠˆˆ‰ˆˆ‰‚}}„„†‡‡‡ˆ‰………ƒƒ‚‚‚‚ƒ„†‡‡†…‚€€‚ƒ‚‚„„„…‡†„‰‰‰ˆ‡†ˆ‰‰ŠŠŠŠŠˆ‰‰‰††…‚……ƒ†ˆƒƒ‰‡…ƒ‚ƒƒƒƒ€€ƒ†‰‰‡…ƒ‚€€€‚ƒƒ‚„…‰‹‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠ‰‰‰‰‰†ˆŠ……‰Šˆ‰ˆ~ˆ†„„‚ƒ‚‚‚‚€€€‚…‡ˆ‰ˆ„€€‚€‚…†…‰Š‰‰Š‰‡‡‡‡ˆ‰‰‰ˆ‰‰ˆ†‡Šƒ‚ˆŠŠ‰ˆ~‡ˆ„…„‚€‚€€€€‚„ˆŠˆ†ƒ‚€€€‚…„‚ˆŠŠ‰‹‹‰‡‡††ˆ‰‰‰‰‰‡„…ˆ…„‰‰‰‰‡}ˆŠ………„ƒ‚€€€‚‚‚‚€€€‚ƒ†‡‡†‚€€€‚†‰Š„‰‰Š‹Š‹‰†……†ˆ‰‰‡…†…„……†‡†††„‚‡ŠŠˆƒ„…‡„ƒ‚‚ƒ‚‚‚ƒ…†††ƒ€ƒ‡Š‹†‡‰ŠŠ‹‹‰‡……†ˆ‰ˆ…‡Œ‹ŠŠ‰ŠŠŠ‰‹‹‹Œ‘Ž„…‡‰ˆ†ƒ‚‚ƒ‚‚ƒƒ‚€€€‚ƒ…„~}ƒ‡‰Š|ƒ‡‰‰Š‹‹‰‡†…‡ˆ‰‡ŠŒŒ‹‹ŠŠŠ‹‹Š‹Œ†ˆˆ‰‰ˆ‡…ƒ‚€‚€€€‚z|ƒ‡‰‰||†ˆ‰ŠŠ‹‹Š‡…†‡‡ˆŒ‹‡‰‰‰‰ˆˆ‡ˆŠ‰Š‡€‰‰‡‰ˆ‰‰‰ˆ†ƒ€€‚‚€€€€€€‚„ˆ‰‰}}~ƒˆ‰ŠŠ‹‹‹Š†…†‡‡‰„~„‡ˆ‡ˆ††‡‡‡‡|…ˆ†ˆˆˆ‰‰‰‰ˆ†ƒ€€‚‚‚‚‚‡††‡…{~}}„ˆˆŠŠ‹‹‹‰††‡‡…„„ƒƒ„„…ƒ‚‚€‚…†‡‡ˆˆˆ‰‰‰‰ˆ‡ƒ‚€‚ƒƒƒƒƒ‚€†…}zyw~|†‰‰‰Š‹‹‹ˆ…††„„„ƒƒ‚‚ƒƒ„‚‚„„…†…‡‡‡††‰ˆˆ‰‰‰‡…ƒ‚€ƒ‚ƒƒƒ‚…†yvpy}}‚‡‰ˆŠ‹‹‹‹‡†…ƒ„†‡‡†„„‚‚„„‡‰ˆˆ‡‡‰ŠŠ‰ŠŠ‰‰‰‰‰ˆˆ‡„‚ƒ‚‚‚‚‚‚hm|}z~ƒˆ‰ŠŠŠ‹‹Š‡„‚„†‡†…‚€€€€‚Š‘‘’““•–––””ˆ‰‰ˆ‰‰‡„ƒ€€‚€y{}jiq|}~†ˆ‰Š‰‹‹‹‰„‚ƒ„ƒ„€‹’“’‘‘‘ŽŽŽŽŽ‰‰‰‰ˆˆ‰‰†ƒ‚€€€‚€wssvkjkw€~}‡ŠŠŠŠŠ‹Š…€‚‚‚‚‚ƒ‹‡‚}ˆŒ‡~}}}…‹ˆ‰‰ˆˆ‰‰‰‡„‚€€€uqrrnnns€}}…‰Š‰ŠŠ‹‹†ƒ‚‚‚‚‚‚ƒ‚†‹ƒzxx~‰Œ‰|xyyƒŠˆˆ‰ˆˆˆˆ‰‰‡ƒ‚€vrrsominx~|€‡ŠŠŠŠ‹Œˆ‚‚ƒ‚‚‚‚ƒƒƒˆŠ†„ƒ‚†ŠŠŠ„‚„†‡Š‰†ˆˆ‰ˆˆ‰‰ˆ‡„‚‚xsttkkhikz}}ƒˆ‰ŠŠŠŠ‚€ƒ„„ƒ‚ƒƒƒ„‰‡‡‹ŠŠ‹‹Š‹ŒŠˆ‰ŠŠŠ‡‡‰‰‰ˆˆˆ‰‰‡„ƒ‚‚}{{ynniges€~|~…‰‰‰ŠŠˆ‚‚ƒƒ‚‚‚ƒ„†Š……‰ˆˆˆ‰Š‹‰ƒ|„ˆˆ‰‰ˆ‰‰ˆˆˆˆ‰‰ˆˆ…ƒ‚€€ljhgfl{~}‡ŠŠŠ‰‡…ƒ„‡‰‹†„…„……„‡‡„€|„…‰Š…†„†ˆˆˆ‰‰‰‰‰†ƒfgghhiq}€~}ƒŠŠŠŠ‰‰‡‡†…………ƒƒ†‹‹Š‹Œ‹‹ŒŒŒ‘“Žƒ„††ˆˆˆˆ‰‰ŠŒ‰ƒ‚„ihgfghhu€}ˆŠŠŠŠŠŠŠŠ‰‡†‡…‚†–•••–••–•––•”––˜…ˆˆ‡ˆ‰‰ˆˆˆ‰Œ‹ƒ€€ƒ†jhgdgjhs€~~„Š‹‹ŠŠŠ‹‹Šˆ†‡‡„†Ž“’’’’’‘’“’’’’‘Œ‡ˆ‰ˆ‡†‡ˆ‰ˆˆˆ‡„€‚‚ihgfikin}}€ˆŒŒ‹ŠŠ‹‹‹Š‡‡‡ƒ‰ˆˆŽŽŽŽ†€…‰‰‰‰ˆƒƒ‡‰‰ˆ‡†„jjjjiihkt€}ƒ‹Œ‹ŠŠ‹‹‹Šˆ†‡ƒŠ‰~~…‹‹Œ‹‹ŠŠ‹Š‚~‚‡ˆ‰‰‰‡†ˆˆ‰ˆˆ†…„ƒƒƒmkjjnkhkr}‚~‡ŠŠŠŠ‹ŒŒ‹Šˆ†„‡…}|€ˆˆˆ‡‡†††‡‡‡ƒ‚„‰ŠŠ‰‰‰‰‰‰‰‰‰‰‡‡‡††lmnoqpmpt|€~}}‚‰Š‰‰‹ŒŒ‹‹Š‡„……ƒ…„ƒ‚ƒƒƒ‡‹ŽŽ‘‘‘‘‘‰‰‰‰‰ˆˆˆˆzzzzzzzzzzz{{zzyyyyyyyyyyyyz|„ƒƒ„„††‡‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yyyzzzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†ˆ‡………………††…†‡†ƒ‚‚‚zzzzyzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzyyzzzzzzyyyzzzzz{z{{{zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„†‡‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{||}}}||~€‚„„„„……………‡‡‡…„…„ƒ„…‡‡‡†…„‚‚‚€€{‚~|}}{zyzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††††…………„„…†‡‡††ƒƒ‚‚‚€€€‚~€~|{zzyz|zyz{|}€€€€€„…ƒ„ƒ„…„„„„…‡‡†„…†………„…††††‡„ƒ‚‚‚‚|}|}|{{zzz}{{~€‚ƒ‚‚€‚ƒ……„…„„……„„ƒ„†‡†„………„………†††……„ƒsu{}€€~}|{}€…††…„„ƒƒ„‚„…††……………„„ƒ„…†……„„„„„„„…†††…„ƒ‚‚‚‚xw}€|€‚‚€‚„ƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚zy{|z~„‚‚‚…‡‡ˆ†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒz{yz{|~}|y{}€‡‡††††………†ˆˆ‡ˆˆ†…†……„…………†……„„„ƒƒ…†††…„ƒ‚€€‚ƒ€‚€„ˆ‚|}|{|}~†‡††…††††‡ˆˆˆˆ‰†…„„„„„„††‡††„„„„„…‡ˆ‡„‚‚‚‚„…„„„‡Š‡ƒ~~€€ƒ†‡††…‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ†‡ƒ€‚‚‚‚„…ƒƒ‚‡ˆ„‚€€‚€€‚‡‡‡‡††‡‡ˆ‰‡†‡‡…„„„„„††‡‡ˆ†„„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ€‚…„‰‰‰‡„ƒƒ„‚‚„‡‡‡††‡‡‡‡‰ˆ‡‡‡†„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€ƒƒƒ‚„ƒƒ„„ƒ€‚‚€ƒ‡‡‡‡‡ˆˆˆˆˆˆ‡††…„…„ƒ„…††‡‡…ƒƒ„ƒ‚‚||}~~ƒ‚€€‚ƒ„„ƒ€€‚‚„„†‡„„„‡†††…†…„„ƒ„„„„…ƒƒƒƒƒ†‰†††~}}{{z{{|{{|~~~~€|~€€‚‚ƒ„ƒ„‚}}|}}|{|}€€€€€„…„„…€€~~~€€€€€€€~~}}}}}|}||}~}|||}€ƒ€~|||~€€€€€€€€€‚‰…ƒ„ƒ€‚‚‚‚€|~~}}}}}}}||}~||{||}{y{}}|€€€€€~€ƒ„‰…‚€€€€€€€||}~}}}}}}}|||~~}}}|zz|zx|€||€€€€€€€~ƒƒ‚‚‚€€€€š}|||}~€~~~}}}}|}~||‚yxxxxƒ~z€€€€€~~€‚‚‚†ˆ€†•—~}}}}}€~~~}}~~}}~{{ƒ„zyzxy‚†~{}€€‚‚‚€€~‚…†‚‚‚Šy€~}|}}~€€€~~}~~}~}{{€{z{z|„†}{}~€€€‚‚€~~‚‚‚€Š}{}}}}~~€€€~}}~~€}}~~}}~~ƒ~||€€€€‚‚‚‚€~~„…ƒŠ{zƒ€}}}}~~}€€}}}}}}~~~}~~}|{|€~~~€€€€‚‚~Œ­¨ŠŠyyƒƒ€~}}}}~€€~}}~||{||}}}}}}}}||||~~}~~€‚‚‚‚´°˜‘}{†„‚€~}}||}€~~{ƒ‡~}}~~~}~}€‹„~~~}}}}~€‚‚‚ƒ‹“œ˜•“‰‚€~}}|}~€~~†ƒ~~~ƒˆ‚~€~~}}~~€‚‚€~š°¶»ƒ„ƒ‚€~~}}}~€€€€ƒƒ‚…ƒ€€‚‚€~~}}}~‚„¤ÊÍ̓„‚ƒ‚‚€~~}}}}€€€€‚ƒƒ‚„„€€€ƒ„€€€€€€~~}}}}}€‹˜Ÿ¹Â‚‚‚‚‚€~}}}}}}€€€€€€€€€‚ƒ~}€~}}}~~}}~~}}~}~‚‚€¨}„{}‚Œ‚‚€~}}}|}~€€€€}|€€€~zxwwwvvvvvuw{~~}}}~~€‚¾¯”‡}{ˆ‡‚ƒ~}}}|}~€€€€‚‡ˆŠŠŠ‡}yy{{{}€~{{|{|}~~~~~~~~‚‚ÁÐÍÀ||€‚ƒƒ‚€~}~}|}}€€€‚ƒƒƒ†††…†||}~~€~}~~~}|~~~~~~~~~‚‚‚‹ÀÎÐÎ~‚ƒ‚‚ƒ}}}}}|~€‚‚‚‚ƒ„ƒ||}~~}yyz|~~}z~~~}}~}~€‚€†½ÍÏÍ„€|€‚‚‚‚‚~~~}|}~€€€€€€€€~|}€€~xxx{‚€|{~€~~}~}~€€„¹ÏÍÌ‚~z||€‚‚€~~}}}~€€€€€€€}}|}}}{yxx{~~||}}~~~}~€‚ ·±~zyz~ƒ•ˆ‚€~~~~}~€~}}|{||{|{{|€„{|}~€~}~~~}~€‚…ƒ‡€~yxx~„ˆ„‚€~~~~€€}|}|}~}~~}}ƒ€~}}~€~~~~~}~~€‚€‚€~zxxz‚‚‚‚~~~~€€€€€€€~z{z|}|{|{zz{zzyywz€~~~~}}|}€€€€~zxwxyƒ‚‚‚€~}}}|}}}€€€€ywvvvwwvwvvvwwvvuy€~~|||€€~~yxyzzƒ‚‚‚€~|}}|}}|~€€€zxxwwxwwxxwwwxxxz|~~€~~~€‚€~{x{|{ƒ‚‚|}}}||||~€€{z~~{xxwxyyxxxxy|€}~~~€€‚‚‚ƒ}{|}~~€‚‚‚}}}}}|||}€€{|„„€z{zzz{{{{{|€~}~€€€€€‚‚ƒƒ~€„„‚‚‚„ƒ‚€~~}}}||}~€€~†…ƒ~~~~}}}€}{{|||~}}€€€ˆˆ‡ˆ†…„…†„‚™Ž~~~}}}}}~€€‚ƒ‚€‚‚‚{zxxxwxwvvvvwy{~€€€€ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÃÇÃÌÏÏÏÏÏÏÏÎÍÎÍÎÍÍÌËËËËËËËËËËËËËËËËÌÌÍÌÌƽ´®¡œ‘~{qgkujjgljrcfbV\`\[a\S[`]]TPORYX_e^dRTUUUWTSYTPV^][XTMD=9;9421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËËËËËËËËËËËËÌÌÌÍÎÆ´§—tz~s_^_o|n\]mkg[XYZ^YUTO]f_[ROOPXVZehfOU\_YPPKQQX]aZUOLJA@75432/77ÍÍÍÍÎÎÎÍÎÎÎÎÎÍÌƿÿÇÊÊÌÌÌÍÍÍÍÌÌÌÌÌÌËÌÌËÊËËËÌÌËËËÌÌÌÍÍÍÍÍÍÀ£Œ‡mnmnkknpt|z^a_ccZYZZZ\RSV\aXYXVSQTSV[fcPPWZTLNMQQ\b_`YQGA?<851220.2ÍÍÍÍÍÎÎÍÎÍÍÍÌÌÌÈÀÄÀÉÌËÊËÊÉÊÊÉÉÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÍÍÍÍÍÌÍÌÍ˳˜’xkquxs~fe`\fX`bb[ZWU^YSYedQPRVWRNKVOXfQNSWYPLROPX`]`USUOG?<84321--ÍÍÍÌÌÌÌÌÍÌÌËÌÍÎÉ¿ÀÀÊÎÎÎÎÌÌÌÌÌËÊÊÊÊÊÉÉÉÉÊÉÉÉÉÉÉÉÈÈÆÉÉÊÊËËËͽ’Ž…~r_k|mcg_^`ViaXWSSLZ`^`pm[QOT[SMITRRXRYZWUMOQTZ^WVZPOXOI>?A;520,+ËËÌÌÌÌÌÌÍÌÌÍÍÎÎǸ»ºÈÎÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌËÊÊËËËËËÉÆÉÊÊËËËÇÆã‰xzph]konb_`^V[_UQZRRPXedefcfVQVXSQRTRRVQY]_URSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎźļÆÎÍÍÍÍÍÍÎÎÍÍÍÍÌÍÍÍÌÌËËÈÊÌÍÎÌËÈÄÊÉÊÌÎÌÇÃÁ±šywodUSb^Y\``]b_WTQKMTX_abh^ZSOOPNJRQSP^KTSYZVYX]Z[VRPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÂÅÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÉÌÉÄÁÄÁÇÆÇËÌÊ¿¼¬~vpUSPQNVWlpebc[WLCALYPY`_]VSQKLKHKHOKXNQTUVVZ[ZZ]WRNRMUNBG@>>3/.--ÍÍÍÍÍÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÍÌÌÌÌÌÌÍÍÌÍÍÍÎÍÍÍÍÌËÉÇÆÅÈÀ½¶Á¼Â¾ÃÊÈÄ»®¤¥‹|sq]VVXXfh[mfe_UUPPVUcTNY\RNVWQKJFNOQXWRPWZUSWXUMSXRPVPWV?5622/----ÍÌÐ×ÕÎËÌËÉÉÉÊÊ̾ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÊÂÁÀ½Á»¹©¾¹À¸½Ç¾½´¤ˆ…|p‰xcZ]Z\cjVl]T\SMSS][UMORWQORUWKKKSRRXf\NUWVUTUZPPYWW[[LC=7540.-,--ÍØæðîâÐÊȽ½ÀÅÉÀ¾ÆÁ¿ÊËËÌËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁº²»¸° ¸²½¶´Á´¹²—…zxlfbbbaRZa[Ue[SY\NSRV[TUSNMMJKLRXVNQOQPbZNX[WQLOXVVSWPLKA7=<:61.-,--Ùíà¼Äææ˾¶±°¶¹ÀÁÁÉÆÁÉËËËËËÊÉÊËÊÊÊÊÊÈÈÇÃÄ¿°ª¦ª¯£©­²®±¸«ªœvwrjiQ`eZWbWQZh]X^XLOQS[_aTPLLKMPLTWKOTNQ\\X`\SOKNXUVVOPWIBB=:;951//-,íÚqu­îÙµ®«­³²¾ÃÅËÈÄÊÍÌÌËÌÊÆÊËËËËÉÈÆÁ½¾°¡š˜¢¤˜—¡°ª¬«¦¡˜slifjm\VWT`_UV[XY`VRVSSTT^WPSONSUQSSWQOWPRX_X]WX[U\]RSYWSP?>F:7776520/.¶§“—–œÁÆ®­ª®°±¿ÁÄÊÇÂÊÍÍÍËËƾÇÊÊÊÊŽµ®±²·«Ÿ•—š˜”¤µ­¬£——‘xhccUf_RMHNV`XQQ^g^`n^^a\TVMONOOQVRTPSYQYNN^]]fZa]gfaROMMJK?=@8854453.02dcebmusvz•©¯®³¼¶ÀÇÆ¿ÈËÌÌËÇ¿¶ÄÊÊƶ£šš¡¡š›•‡‘—’’¨ªž“ŽŽ„ucchZ\TQTROX^^Zgn^PTaNWpn[PMJMLJFILLNMMPWTW]TRWW^e^[VOJLGFFCG@8543344/05RRfŸ»½±ž{¢°±´µ±½ÆƸÀÉÈËÊǾ²ÃÊɾ²¤˜ž•–“‰Œ€’’ŠˆŽŽ—‰‡‰ƒ}tsobYSXZYOW[UT\h\RP\fga_[RRLIIFHGFEFNLR][VZUNYgffU]SMTSHJA?A9754313336< kT€ÍßèÞ²q–·®¯«©·Ä¹©°·³»¹Ç¼¯½Ã¸«ž—› ““„ƒˆˆ}‰‰Œ…‚‚€}xwoaVVST]XTYTRXgQPO]dcRRZWSLKKIJHEJJIQUZaRXPOjqcd^a\U_YTSH=::864322549?¢–ž±Ž‡‰id…Æƨ ¡©«ž Ÿ¡¡¡ª¸®¤¢¨š™˜Ÿ—™‘•Œ„ƒ„€ƒw‚ˆˆ„||{{spohbWPZgZRURV^ZNX\[]XQQQRSLKPPKNRQFBJNT^QQM]a`^Yei[QT]ZESE;;;8554488:<†JP™™G;JERuÓò· ªžšœŸ£¨¤¡¡¢Ÿ”“’›™Ÿ™’–Š‹‡‡ƒ}x…„€€xzwtoghdXVZQW]YS[Y[YUYYZ\ZUPKUTNLOJADGFA?EGHQKQRX[aW_n\^PZ^ZIEC?=<856669;>>[56[_R{\DBi·Ú—¦À²µ­°´Â¼®§¤žŒ‘œ–›•Ž†Š‹‰†„€yƒ}{uvvqqmjfW\c`aXQRXV\]aWS\SW^ZVPINLNIADFA?FFDBQGUW[W_``\RbaVWWRLGCE966767;=EFH<;>O\qZA>J˜³J²ëÞÔÕÓÔÕØÙ×ÕÓ̼“‰”’Œ‹Š…Žˆ‰‚ƒz}ŠywtqsrnhaW[baZQUOQ\ebcUMRQg]aWLQQNJHCIRIBILLFPQ\]XLXccdT_cVPW]QE?@<98767;?JAacccpuspgaZs›¯âîϳ¡“uy|~„ž…‹Ž‰‚‡‚—ˆˆ|}ƒ‡|‰‚yzvuttwsaVQYWZVYVNYY\_edhlpmR[[TMQPGEFPUPPNOOIJUZ]ZNM]Y_]\fdV_S@::<=;::8:=<<;\\Z[\[\^`ffl£ñëã‚HGFDPQEEDDE?t‚ˆ„z€„‚‹˜ˆ„ˆz‚‰‰‡~†‚|wuwyuum^X\^TVSSU_WOM_q€sb[\eQSMMRRMMJC?LTQRTSN\dcd[SXW][Q\VTTG<98;:78:98<==;JJIIJJKMLLO`•ÚÚÅYCHDJaaWWMFI@Tš}}ƒƒŠ}‚~€†‡}~~vsutrqre[][NOZYY\ST_bf^\T[aaSUMKKRKGA=COSV_ZZ`gk_]]W\TXSTVWT@9887797767:??>=QQXUSQRPpv¯‚ºÆ§QK>A?MOWO;7;763_‚:7778:ADCE_e•|_\V^Óçäïy¶ÎŠ:BCPECBDF@=>=;n¼ó¸zy}y|~{}|{‚€}wwnmwxzphabSQSDAMUVUXZOKIUY[[UZd^SMLIKOMMJGJMVWY]aZ^WUPWOKMHA<7676Q‚?789<;?HJHMbÁ•OKG]ÛèåÝ`¼Ö¤€ˆŽ–œ£¤¡¡¡Ÿš™œ¥Äܪ|ywzyw|z}|{~‚‚‚xwwlhntxmga^OQUGIPTW[TPSPTUZUVWY_\RKDCBDGHEEFJSU\[UNVRTRTNGEC<96686ZB88;=;AGGH‘Ÿà¿—”‹‚’ƒuiD“ÁÔÏÏÑÒÓÕÖØÕÕÕÑÐÐ×À…{{{vwwvxvzz€wuuoulmuphg]QVVTXY_\XFEQW_WZXWTU\VNICD@>>>=;@KNV`YRW[PV[NLG;:987773‰çS07;9<69?EGJZgWTYW[[TFBA;67877:5…åS.8<CHB>K[kj\LPdPFA:;:7;<:9>7uÝ[3=<>BIJCU­®««ª©€ewiE@N‚Ùàèëæéµ™¤Õ­•§æåäáØÊ…{~|ytq|yx{{yz}€{uzyofhjiga\]X[YONUTMOR]ZXX[]\SUMG?@FHB=CQQIV^]iŒlQUWKA;676;@BA>@;wèe8?9MTMeliw‡g\]RIC>:;?GMJBVxdO3?X…Hbklljgcb```a__aeilprsuuutplggjlmlliir‹¯ÅÁ¦„ojjkkhedd`_]YTa¢lmlknqqrrrqokgb``acdfgghjjjklkiiiklnprq^hd/38?B;@_nWGHHHIHIQ}lR2[£¨\Rffjmnjfc``a`^]]`diloprstssqkedgiklliegx¡Èδsnligffeffd]qNPOjlnopqqrqplfcaaaaceefhiijkkjhhijkmoo€QR/25t—j;RTH??AIHILGnqN78:sHecdgknnkgbbbba_]]`ehlnprrsttqicbeikkkjgeuŸÇѹŽtklkifdeea{wGkuiklnprstsrplgcba`abbdfhhjjjjiiihjjlj{OB25AI…‘©pB:2212<<6Cah631<–a[mjhfddilmmkhfdeeda__beilnoprrstqlfcgijjjjgeq’·ÍÁ¡llkipžTiu aehjlnpqrrrqomifba_`aadgiiijjjkiggfnik€@KKEg€xYJH<7997654J‘”N;643†Onmgcddccehlkhdaaba`^]]`cfjmppqssrqlfdehiklkiek€¤ÇʯŽuj‚•RY=Q]acfikmopqqqonlhca___`aegghiijllhgbp^wFTO_soFGEECEFEECL~”…I>>:2~Cm_?>Bbhcabdfhhfb`_^^]\\]^adhlmnpqqqojfdehjkllkhfu”µÅÅ¢˜TMAI€[adhjknoqrpppolhda`__`cefghhifMCAm|O€xM\XaHEHMTY\WMTHRYocE;:91YM8VD<>2Zkhdbbbcfgeb`_^\\\\\[\^`ehjlnnnmlifcbfiijkjfbfvž§£rVB@BÄy\cgijkmorspppokgca`_`abdefgjU4>9[dDCE>L;5>B?@JNJGCC<7<6=UQKPE566;A53238akkidba`adddb`^\\\\]\ZZ[]`bfiklkjkkga_bdfhiijhdk€¦aT<9:É¿q[dffhjlnorpopolgd`___abcdfiX20218GA77334698533444556885468::9;=GK/5CSckjjkigc__`beecb`^]^`^][YZ]_cgjklnnnnlga_adgf`^Zx‡ŸPM?A@½Í±_Z`cfijlmrqooqolgc``_`abcdefZKHD.RV=;:99776666666677666677888:coe\V}¤ÙñèÉÕ…9,Icab}wefeeffgggiiijigdb`_`cghhd`^]\\\\\\\[[_dhknV|ŸtgTTVVTfXOIa«¾ÊºiZ_adghhjlmnnnmkjgb`_^_]J?,7rÌÍßíﶘa\]fsoÅ”Os`b\^˜ºïáØÀ½M0,Egefrlaaaffefffhhhiiihfca__adhihea]\[[\\]\YZ\afjQf‹b]UTUVUkaOLJu·ÀÏ­a]acfghjllmnnmlkjfb_^^^M1-/=“©¬ºÛÆ«~\cbVO¤ùÔZejqqs¶œšˆ[EF2/.Gicgc{ª¯›mdeeeeggggiiijgdb`_adgjjhe`][\]^^^[YZ_cNZz`ZRMSWXkodSLMˆ»ÂÒ—Y_cefhijkkmmnmkkie`_]]L/-+0578RZQzVirnc™ã¿xkmia[gBCHUd„ÆÖÛÞåííåäåé¯l_TRNJKRZdn…“™˜˜™œ›š–’‰ƒxhdfffffeefghgeb_^_bgjjjgd`]\]^^^XBHJSDˆÓÛâÖpjlmeSVg…»ÆÓ»i^cdghhijlmmmlkkje`_G,-.058=FO[jÞêêîíëëììíñ —ž–™¥¨«®¯¯®©¥¥¥¤¤¢ ¡¢¤§©ª¤—lcdefeeefhghhfc`^]agjkjigda_^^_\AADQLU¾ÃËÐiknlgYOPPÁÇÔ§]^`bdfgijklmmkkkidaM----27=EUg€«¡Óìëïðññòòò÷™¶œ™œ”Žˆ…~zxwvutsrssttwzy†ˆdceeddeegggggdb_^^`dikkkifb`__]@=CMOOXb†¢lqpnneRLKV£ÄËÓŒY_aceghhhjkllkkjfdQ-.--14:FEJTej¯ÙÎÊÈÅÁ»´¯¦b–srngbaa]][Z[ZZZ[[[[\Z[^^\trbcddbbdeefegfda_^\]bhjkjjgd``^A=AHMQQTW]mspssxhTOJk»ÇÐÆl]acefghhijllkkkheT00..:BxÉ€4,0>KFGGEDDDDC?[­tV`cfiklnv}ˆ¥´˜“‹„~{}}||oovfaccabcceeddedcb_]\]`gjkkjhdb_A<@FJOQUWYnnkjimf\RML•ÄÈÕ¢Z_bdefhhhhjllkkihV15-.4D¨ô­uu› ˆ•›Ÿ¢§ª¨¥©›fb{‚„…€|eZcLJw‹ŒŠ‰ƒzn^q_abaabbddccddddb_^]\^dikkhecaD>>FHLPSUXmebde`b^SMJc³ÃÎÍuY`gfdefghikkjkjjW/;-..5]ŠtRO[adgggjqpmh^h£€T|”¨¯¸ÀÇÎÒžRB==CpÔÞÝ×ÔÙÙÒ‡tMka_aaabacccbccdeca`^\[]bhihgecH>;FGKORTWkgggrlhbRLMK‚¿ÅÓ±^]ccbcdghikjjjjkX-=--,017E>9=F=46741212/a—f[~ÎßÞÞÞÞÝâ˜Yh_^P^ÏáÝØÑÓÝá‚h^Xlk`aaaabbbcccddecba^]\\agihgfJ;7GHKNQSXnmgfnnqiSLMKV¥ÂÉÔ”_^abcdghiijjjjlZ,=/-,/025;??@ADGKLhqPKJ€’UjdÑàÝÝÜÛÛÞ‡S[\^MXÈàÝÛÚÜàãyKuJ”Þ§d`aabbbcddddeddc`_]\]`ehhiL66HJKNPQYiqjgmosqeZOKJs·ÀÏÊo[accdgghijjjjkW,=1,++-../00/12356<>4/<’‹MoI«Á¾ÂÇÇɺeSQc^QS©âÜÔƳ¡ŒR:tOq½¾y]`abbbbddedddddbb`]\[_dgkK24HKLOOS[twnkqpnlnpYLKOÀÄÖ­_`ccdefghhiif]M+;4,9<.+**)))))))*))*(E¡zNm?BBAEIIIHNTVmSU\n_OD:46F;^aTcab```bbbbccddddddcda_^\[]bjJ04GLPQPTYqojhllhfgidLJJ_®ÀÉÕˆZacdegghgee]VJ):52:VMA9543,)***+++-/_¥fUiE98787669=:CtgNL;047::7<;2//+***+.246<|œW^bG:7689775333LM45558:BC;9A<8pO]b```_`abbbbbccccdddcba`][Z_D'4FEFQ±¿webhhfiqtprr^KKZhœ¿ÄÕ¬bbcdghhfgfd\L74001-%%%%%%%%&&&&''%?ŒŽNeWA644Jio`xtrptpjjljgkcLJJIqº½ÎËu\bcccdddb`[TLJIGIIIKJKLLLMMNOQNg›~pGiIOQHIGJGHINK412268DV_}lPLRM;AZIbYdun‰Ó¡^abbbcccddccdccca_`D!.<;;>GQUx€}qjjigijlh`NILKL½ÀÔ­[\`abccbbb]XVSQQRTTSRRSTVWY\`aej~vkCUNNICBEGHHDAHC?:7ANNPSTQLE>EB;:I`L…¦}Wak``bbbbbcddcccccdc`\A -8758@MZ[WID;;>??AMdXWzRK\]ljabaaabcccbbcc]TOM:!-6/E4)((nusttlnhhkjknsiQJJL“ÃÅÕ¸b`ccffdedcba__^^^]\ZXXZZ\aWRqƒŽ{kmOCBCJQTLFDEGSPJMMNQSVXYWUVWXY[^_^fkXVN]bk…wcbbcbabaaaa_^SIJJ: -74_[<,)mtmnmkkjfiimlniSJJJg»ÅÍÖˆ]ccegfeeddcbba`a_][YYZZ[\]SNWsmt`]\\ZYXZ[Z[[Z[[[[[[ZZZ[ZZZZZZZ[\\b[EEcccbZZ```aaaa``aa]ZWSMJ<-51/+497ljlsrmjkmmfhihiUJKKL“ÆÅÓ¸`]^addefeddddcbba`^\[Z[[[]^]VCv`s_ZYYYXXYXXXXXXXWXXXWXXXXXXXXXXXYZ_R?A;520,+ËËÌÌÌÌÌÌÍÌÌÍÍÎÎǹ»ºÉÍÍÍÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌËÊÊËËËËËÉÆÉÊÊËËËÇÆâˆxzpg]konb_`^V\_UQZRRPXedefcfVQVXSQRTRRVQY]_TQSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎźûÆÎÍÍÍÎÎÍÎÎÍÍÍÍÌÍÍÍÌÌËËÈÊÌÍÍÌËÈÄÊÉÊÌÎÌÇÃÁ±™ywodUSb]Y\``]b_WTQKMTX_abh^ZSOOPNJQQSP^KTSYYVYX]Z[UQPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÁÅÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÉÌÉÄÂÄÁÇÆÇËÌÊ¿¼¬~vpTRPQNVWlpebc[WLCALYQY`_]VSQKLKHLHOKWMQTUVVZ[ZY\XRNRMUNBG@>>3/.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÍÍÌÍÍÍÎÍÍÍÍÌËÉÇÆÅÈÁ½¶À½Â¾ÄÊÉÄ»®¤¥‹|rp\VUXXfh[mee_UUPPVTcTNY\RNVWQKJFNOQXVRPWZUSWWTMRXRPVPVV?5622/----ÍÍÒ×ÖÎËÌËÉÉÉÉÊ̾ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÊÂÁÀ½Á»¹©¾¹À¸½Æ¾½´¤ˆ…|pˆxcZ]Z\cjVl\T\SMSS][UMORWQORUWKKKSRRXf\NUWVUTUYPPYWW[[LC=7540.-,--ÍÛéðîâÑÊȾ½ÀÅÉÀ¾ÆÁ¿ÊËËÌËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÀº²»¹°¡·²½¶´Á´¹²–…zwlf`abaRZa[Ud[SY\OSRV[TUSNMMJKLRXUNQOQPbZMX[WQLOXVVSWPLKA7=<:61.-,--ÚíÛ²½äè;¶±¯¶¹ÀÁÁÉÆÁÉËËËËËÊÉÊËÊÊÊÊÊÈÈÇÄÄ¿°ª§ª°£§­²®±¸«©œuwqjhQ_eZWbWQ[h]X^XLOQS[_aTPLLKMPLTWKOTNQ[\X`\SOKNXUVVOPWIBB=:;951//-,ìÜ’x|®ìܶ¯«­³²¾ÃÅËÈÄÊÍÌÌËÌÊÆÊËËËÊÉÇÆÁ½½±¡š˜¢¤˜– ¯©«¬¦¡˜rkhejm\VWT`_UUZYY_VRVSSTT^WPRONSUQSSWQOWPRX^X]WX[V\]RSYVSP?>F:7777520/.©¡‘“”˜°¶§«ª­±±¿ÁÄÊÇÂÊÍÍÍËËƾÇÊÊÊÉļµ®±±·«Ÿ•—š˜•¢´­«¢—˜wgbcUe`RMHOV`XQQ]g^`n^^a\TVMONOOQVRTPSYQYNN]]]fZb^hfaROMMJK?=@8854453.02kZa[arsuw‚¤°®³¼¶ÀÇÆ¿ÈËÌÌËÇ¿¶ÄÊÊÆ´¢šš¡¡™š–‡‘—’’œ§ª’Ž„ucdhY\SQTRPX^^Ygm^OT`NWpn[PMJMLJFILLNNMPWTV]TRWW^g][WOJLGFFCGA8543344/05 _O]¿Éõ‡´±´µ±½ÆƸÁÈÈËÉǾ²ÃÊɽ±£—ž•–“‰‹Œ€’’‹ˆŽŽ—‰‡‰ƒ}ttobXSWZYOW[UT[h\RP\fga`[RRLIIFHGFEFNLR][VZUNYgffT\SMTSHI@?A9754313336<ªƒ\f¶Ùäá̓v¬¯¯«©·Ä¹©°¶±º¸Ç»¯½Ã·©ž—› ““…‚ˆ‰}‰‰Œ…‚‚€}xwoaVVSS\WSYTRXgQPO]dcRRZWSLKKIJHEJJIQUZaRYPOjqcd]a\U_YTSH<::864322549?¤˜Ž˜¯“t{sZoªÉ¨ ¡ªª Ÿ¡  ¨¶­¤¢¨™™˜Ÿ–™‘–„‚„€ƒv‚ˆˆ„||{{soohbWPZgZRURV^ZNX\[]XQQQRSLKPPJNRQFBJNS^QQM]a`^YehZQT]YDSE;;;8554488:>YB3G^NtoK:X−ÁÁ±µ¯´¶Ç¸´°ªœœ–›•†Š‹‰‡„€yƒ~{uvvqqljfW[c`aXQRXV\]aWS\SW^ZVPINLNIADFA?FECAQGUW[W_``\RbaUWWRLGCE966767;=EFGB>=JYieK>EbÈ]|æÞÒÖ×ÕÒÓÔÕÑÓÑίŠ““Œ‹‰…Žˆ‰ƒƒ{}‰ywtqsrnhaW[baZQUOQ\ebcUMRQg]aWLQQNJHDIRIBILLFOQ\]XLXdccT_cVPW]QE?@<98767;?JAeegelutsneae„µÙðÔŠ{pgbbc`dipŒ‘‰Ž‰‚‡‚—ˆˆ|}„‡|‰‚yzvuttwsaVQYWZVYVNYY\_edhlpmR[[TMQPGEFPUPONOOIIUZ]ZNM]Z_]\fdV_S@::<=;::8:=<<;YYXXYXXZ\`chÞîèŸDEFFN]HHJGIBI•‡‡…z€„‚Š—ˆ„ˆz‚‰‰‡~†‚|wuwyuum^X\^TVSSU_WOM_q€sb\\eQSMMRRMMJC?LTQRTRNZdcd[SXW][Q\VTTG<98;:78:98<==;JJJHJJKLMKMVyÀÚÐwBEAAYd\\OCCE;‚{€€~€‚‰}‚~€†‡}~~vsutrqre[][NOZYY\ST_bf^\T[baSUMKKRLGA=BOSV_ZZ_fk_]]W\TXSTVWT@:887797767:??>=RRUZSSRQbw´––ɹ[M?C@CFJN<67;6`›­¨}}~~y~|~…„~{€y}uqtywsnjf[SLJYWZSTV[ZWHW^Z\XX_VKMTOLILOOPTVXVZmdZZZZVZXRVJMJ>763g:7778:ADCE\_–a\VO öâ÷­à­GFISRPPOSSMMMIS£éë‹x~}y|~{}|{‚€}wwnmwxzph`bSQSDAMUVUXZOKIUY[[UZd^SMLIKOMMJGJMVWX]aZ^WUPVOKMHA<8676V…>789<;?HJHLRž¼\PKI¢ìØéˆuÕÀ¤£¨©­²¶µ´¶¶³±²²ÀÁ¶xwzyw|z}|{~‚‚‚xwwkintxmga^OQUGIPTW[TPSPTUZUVWY_\RKDCBDGHEEFJSU\ZUNVRTRSNGEC<96676^~B88;=;AGGH–ÉÙ¡Ÿ˜ŠjjHa¹ÐÕÑÔÖ×ØÙÛÛÚÙØÕÓÔ×™xz{vwwvxvzz€wuuoulmtphg]QVVTXY_\XFEQW_WZXWTU\VNICD@>>>=;@KNV`YRW[PV[NLG;:987773æS17;9<69?EGJZgWTYWZ[TGCA;67887:5‡ãP/8<CHB>K[kj\LPdQFA:;:7;<99>7vÙS3=<>BIJCU™¡¦¤ Ž^hyMAEeÂáæêæéÌœžÆÈ¢ÐéãáÜÙ¡z{~|ytq|yx{{yz}{tzypfgiiga\\W[YONUTMOR]ZXX[]\SUMG?@FHB=CQQIV^]iŒlQUWKA;676;@BA>@;wæb8?9MTMeliw‡g\]RIC>:;?GMJB=?9~òl9;4>HIW_kˆŠ›—Š‘…rSJJCJŸëììëììêèêëéêëëëìîåŽywxv|ziw}{z|wr}}xpmkjffbak^SV]YY\TPSPSPZ^Zd]TUQOHGGBGKFEGNMTilisrbblhWPMMPUUWTJJP:yôr769V^_kihNOY[RRPNK>797DŒéííîìëïðïðñðëìðîîÞ…vzyuxvnx|yy{{txwvqqja^`[]gaUNWY`ZXSMNVVZc_`XPOUQKD?=HWcV[fjnd[WX_aejlloe^jxvplgjjV„ñVRZuuprjf[YUSUY]]fhD-2B{ßèÖÇàçÈƼÀÉæâÁÓåÕ~x|yrt|}€}tx{zruzyqvmb\_fc`a`UWXXSQOOMR[YSWYSMRWRPW^[pvbkwkYTW[]_agfm}„‚‚„~}„ˆ‡ˆ“°“‡{|rsqh{{{{{|~|}€S*/CmÔÒ¤l²í˜supmé»o®ÔÃtzwwvvzz|vu|vpuxultka\\b]]`^YZUUTX]_TS[[QNLTa\W\gz…‹‚bbqiQPY\[Z]eikt}{z|ts}ŠŒŽ‰…ˆ‚~mrpjnhvuuuuvwwyydMOcx©Ã»°´Ê«ƒ•Ž‡²ÞÒËÍÍ uzvwyyvssvqqzvx|ƒ†ƒ€}zxutnnnkq{ˆŽ‡Š”’ŠŠ•µ…€zv{zkbmmaW[`_][_fegrfcadcs~€z}ƒ…ƒ„„}{rbgpljfoonnoprtutuvx{|{}€|~~~|}‡˜•Šˆuvxxww€†‘š¢©¬¬©©©§©©©ªª¬­ª«¦ Žxwusrsttsvxy†‘¢°²­œ~sljklmliea]]]ZY]]WY\]]`egdeb`domhkgb]itmrvomkkklnpqrrqrrsuwy{}|~~|{{xuts{ˆˆš Œqpr—¨¡¤”‹ƒyqlkkkfcbcejqy€‹€pruuuttsqqrponpr{ˆ—¤¬­©¢”ƒthgfea`]ZWYXVUXXWXWVW[YXXXYVTSTPYZbpwsoljijjjkmpppoooopruvxz{{{{yxvtrpvƒz†£›£yga[UQOTaf~££yhd]ZVSRPHKpifikmossttsqommnnnnorx‚¨»¼¨wmgghgc_][WUSRTSRSV^`TTX[VVVUTSTSXxuqmjjiiikmoopppoooppqtvwxyxxwvusrooz…‹|FKNQYbk^@?@C?:97Lqtrni[@Kebbcdeimpruvutrpmlmnooollu‰¤¸½³Ÿˆtkiifc``\VXTUSTXWRRUYSSSXXVUSRwwvsnjihggjkmnopoqrrqqqqstvvwwvuuussojY?`w„Ž•œˆPI7..6>AGNJHKNUR?Yfbbbabbdgknrtvwvsqnkiknpomkoy¨ÀÄ­thhiihfc__[XTSRSRRSSSWUTUUTuuvvtnigfeehjklmmoooppommnprtttttuusqqDLw¥ª­°³­‹uZ]^THH@40011IZGhfdb```^^_bglprstvvtpkhfhmmmlihs“¹Ë¸’vjhjjiigeb^ZVSSRRRRUXTUTStuuutsoifedfghikllmmmnmlmmmnpqssttusqzpFWX±¶²«¤‘¤Ë‹w¦‚BG<:@:35=tEbmjfcaba`__acglnqrttuuslgghjmonljp†§¾Á¬Œtkiijigfb_\YUTRPVZRVamostttusokgedddehjjjjklllmkklmnpqrstusƒW`U4YaUJAHHYxrny_FDAahZ:51m_Qllljgcb```a__aeilprsuuutplhfikmlljhp‡¬Ä§„ojjkkhedd`_\YVTT‰‹“kopqrrrqokgb``acdfgghjjjklkiiiklmpqrs„IyD125436YkVCEEDGIBBiv_B4gŒƒDegjmnjfc``a`^]]`dilnprstssqkfcfikllieeuœÇδsnliggfefedb\n¡cfjlnopqqrqolfcaaaaceefhiijlkjhhijkmootyO614AWVIBIKs~‡M330j‹Ijigecdilmmkhfdeeca__beilnoprrstqlfcfijjjjgepµÌ£mlkjig™Ys¨`dgjlmpqrrrqomifba_`aaehiiijjjkiffiezR‹W?>;:8Ao›x?;73?¡dZofYX`fdbbdfhheb`_^^]\\]^adhlmnpqqqojfdehjklllhft’²ÅůŒPV=…[adhjknoqrpqpolhda`__`befghhikh_[`irWœNReM‚rwOEEGIJIJJJMm“bB:>6;•ZMlF98Ahhecbbdfgeb`_^\\\\\[\_`ehjlnnnmmifcbeiijkjfber–ÅŸ~TJAÅ}\cgijkmosspppokgca`_`abdefghjH:9G‡`JObt@PD?DOY`_^ROJFMPjmQGA:36F5@F9=69gkjeca`adedb`^\\[\]\ZZ[]`bfiklkjkkgb_bcfgiiihdasŒ¥nU@=ÉÄt[dffhjlnprpopolgd`___abcdfge96<:LG;567408>@9:=;88;;4884=HFFJ;79;G@1019Qjjkjgd`_`beecb`_]^`^^[YZ]_cgjklnnnnlgb_adghiihgo€¦\S<:½Í³_Z`cfijlmrqoppolgc````abcdfgL41./KB1GYflkjjljidb`_bfhgecaaa`a`_]\]aehjmnopqpomgbbcee^[YwˆNLAE¬ÀÍ Z]begiilnoopponlic````acdefgb\rQ7`C;:997766666666666666777789:9987666555565556555666667788==;756Vs;8BGGGHmnÈâ¾ÅÁv/3Ybb€yefeeffgggiiijigdb`_`cfhhd`^]\\\\\\\[[_dhkmod©ykX]]XfXOI]¨¾É¼jZ_adghhjlmnnnmljgb`_^^aSX7.cµÊ¶ì묖kZ^a‚E‚¸JYvqbY`¡»óíáÙºS./Xgfpja`affefffhhhiiihfca__adhihea]\[[\\]\YZ]afjmT~œsgTTVVkaOMIs·¿Î­a]acfghjllmnnmlkifb_^]_S>0,BŽßÐéç覃ZY[f}]ÀØ}^d\a^v²ÏÞÁ¤Ÿu1//Xhfcz©®šmdeeeeggggiiijgdb__adgjjhe`][\]^^^ZYZ_dhOeˆb\TTUVlodSLMˆ»ÂÒ—Y_cefhijkkmmnmkjid`_]^[:.,0H~wˆ§¸›±fgnfUjáøŸVprwq‰hh]744//2\gegpªÌÄŽbcdeefffghihjihfb`^_cgijjhc^\[\]__\ZZ\_LZy`\RNSWjlw^OKW¾ÉÌZadfhhijklmmmlkjhb`]^W8-,,1/07F9FoQXdnk~µÔš}lbWVSL>@>962/24`fagdbedfcddeeffffhhffghhfd`^_adhjjiea^\[]^^^[ZXIVg^V›wdqoleXOJe­ÁÍÅt\ceghhiklmmmlkkjgb^^T2--/156;CJR[fs‡šª´ÉÛ̼·©œxcVLEA<41--2_b\cbb``a``aabdefffffeefghgeb_^_bgjjjgd`]\]^^^[VENUYF™¾º·pjlmeSVg…»ÆÓ»i^cdghhijlmmmlkkjd`^V2,.2578=AEK\p³éçéëîîíííñæ‡wiaXLDCKPZf‡‰‰“‘‘’’‘Š€zqeeeefeeefhghhfc`^]afjkjigda^^^^^XAHISE„ÕÜáiknlgYOPPŽÁÇÔ§]^`bdfgijklmmkkkic_Z5,.-16;DNZnŒ¨§ïáììëëëìëîÚ„®—‘•ž¢¦¬¯¯¯¬ª¨©ªªªªªªª«­«£‹ecdeddeegggggdb_^^`cikkkifb`___\@ADQMR·¿ÊlqpnneQLKV£ÄËÓŒY_aceghhhjkllkkjfb]9,.-/4:>IZoˆª¤ôïññòòóòñòÖož°›¡¡œ”Ž‹‡ƒ€}|{{yyyyy{~~abddbbdeefegfda_^\]bhjkjjgd`__]>=CLOPV`‚mspssxhTOJk»ÇÐÆl\acefghhijllkkkhe`;-.-178T[@=DL\¨§¢Ÿœ—‘†}w]@™˜swqlgec``]\ZZZYZZ[[\\]^^`|l`ccabcceeddedcb_]\]`gjkkjhdb_\?=BHMQQTWnnkjimf\RML•ÄÈÕ¢Y_bdefhhhhjllkkifb>0/.3C]ÑÎ`:=EdFFJMMMPSZ\[zªiW__`bfhjmtœ£ŽŒ‡ƒ{xxzzyhovbabaabbddccddddb_^]\^dikkheb_]@=@FKNPTWmebde`b^SMJc³ÃÎÍtY`gfdfgghikkkkjhe=61-/9_ØÄ…w‚¤™š¢¥ª««®ª£³bd}‚ƒƒ€}{x{ksw[\€ƒ…‡…„‚‚{zhgl^aaabacccbccdeca`^\[]bhihge``C==FHKOSVkgggrlhbRLMK‚¿ÅÓ±^]ccbcdghikjjjjig993--/9ZfU:FHLORTnmgfnnqiSLMKV¥ÂÉÔ”_^abcdghijjjjjjh784,,.108?<=AD9:<<7=:9:8y“XeŒ×ÜÝÞÞÞÞß|]cYWNoÜàÞÙÒØÞßxsTg̨d`aabbbcddddeddc`_]\\`dhigfI;7GHKNQSiqjgmosqeZOKJs·ÁÏÊo[`ccdgghijjjjki966-,,/126;=<>ADHLS|aKEN‰OmyàÜÛÛÚÚÛØnZ^c\LfÕßÜØÔØßánYlR¦Ãz]`abbbbddedddddbb`]\[_dhhiK56HJKNORtwnkqpnlnoYLKOÀÄÖ­_`bcdefghijijjd758/,*+-,,,,+,,+,-./-,(HžzPj]ÏÓÒÔ××Ùº]RP[UQZÅæãßÖȶ¢T@xNddb```bbbbccddddddcda_^\[]bhkJ35HKLNOSqojhllhfgidLKJ\ªÀÉÕ‰Zacdeggiiiih^W44910K;1-++**))))*+**))\¦fVd?RUV[_`bTSVY}cTUr‰raQD;9C9iX[g````aabbbbcccccdddb``^\[]biJ04GMOPOTomlehjnspmiQJKLy½ÀÑÄk^ccdfggfdeaXT44751BQIA<681)))**+-059x W__?7566534rL_a`]]_^abccbcccddccdcca`\Z\_D&4FEFQª¾bklhmnklnrplUIKLY§ÀÇÔ^bdffeffeeaVA4/../%###$$#$$%%%%%%$K›~ImO=5448:6542134325536]~|<3454iUZb]‹ÁŬjabbbbbcdeeccddcb_^\^B#2F@@X¹ÐytrptpjjljgjdKJJIqº½ÎËu\abccdddb`[S?8656434566777776886D’pKlFFE:GWXK@E=33223457?…“ŒCB?73U_Na_qªÅÛ]abbbcccddccdccca`]^A"1A<>Jltx€}qjjigijniaNILKL½ÀÔ­[[_abccbba]XQNLJJKKLLLMMMNNOORRL‚‘€cMhFQOFKLMIILQD112366GUe„jNNSI6E^Ia][chmj_`bbbbbcddcccccdca_`D!.<;:>GQptrutlnflmnkjdYMKH`¶¾ÉÓ~V]`bccbcc`[XUSRTTTSSRRSTVWZ]^^_w~v^G\MNICCEFFEBEG;865DKMTVZSMGBIB?AJ`Nˆ¢]Zljabaaabcccbbccddb_Y? .8658;BnurttlnhhkkknriQJJL“ÃÅÕ¸a_cceecdcba_\\[\\[YXVUVWY\^^j“Œzm_;>DBBLRWSJH=LUID:8AMPMKHC?:6;989JcQb€YLf†wcbbcbabaaaabbb\RMK8!.5-@2)(mtmmmkkjfiillniSJJJg»ÅÍÖˆ]cbdgeeddbb``___^][XXYZZ^cPdƒ›˜xhcB::@SMEEDFJPTVWRNOPRTWZ[\giZ`JXaZZ```aaaa``aaa_^RIJJ8 -73^\:+ljlsrmjkmmfhihiUJKKL“ÆÅÓ¸`]]addeeddcbaa`a`^]ZYYZZ[^WOUmv€kpYZXXXWUWXYYZZZZ[[[[[[[[[\[Z[Z[]^\c`HEbca``^``_aaa`aa``\YWQKJ:-500.58kloqmllnqplgjlgSLKLJc¸ÆÌÖ‹^cdffffedddccbcba`]\Z[[[\^[VMX~br\[ZZYXYZYYYYYXXXYXXXXXXXXXXXYXY[Z`P:Rebb`c£¿¾•_aa`a`_abaa^RJ=!-3.(&-3lkkmsuspslijmkpdOJKKMÇÉÕ¾icdfghgedeedddccbb`^\\[[[]^bUAUVsWXXXXWWXXXXWWWWWWWWVVWVWWWVWWWWYY[SC[daab^ãðè˜_`____a`_^^YM=(/0--.4(jpuspsqloiihfirbKKKLK_¶ÉÌÕ–_defghffffeeedddcb_]\[[[[]__>AYvUVWWWVVWWWVVVVWVVVUVVUVVWWVWWWWVVVPS`caaa`^Œ««c\^__^_^^^\YTJ80+))*.$pwtohhkmmhijurte^XLLMO†ÈÇÐÉtbefghgffeffeddedca^\[[[ZZbhd_wVSVUVVVWWWWWVVWWWWVWVVVVWWVWXUOXggNiccba``a^\X\`^^`_^_^^][ZVRL>300136hijg`_ahhqzwrsmjmcQKMR[°ÈÇÖ©cefhighgffgeeeeeeb`^][ZZZ_f‰’Zolkh]TVVWXWXXXXXXXXXXXYYYXXXXXTfŒ”†Vffbbba`_``_```_````_^][ZXTROKHGHHIsnmlhvprisrtss{k\RJJLKyÄÃÎÓ…beefeefffffefeeeda_]\[[ZV^„’nj…—™‚^XYYYZZ[[ZZZZ[[[[\]]\\\\Yd™Å˲_OXcbbaa```_````````__^\\ZWUTQOOPOO†z~xu{wihoxvwzse\RJJKJQŸÆÆ׺e`bbdddeffefgfeedb`_\[[[PZz„qz¢Øѽ‡][^]]]^_^^]]]__``______]ŠÞÛæèwDK`cbbaa``_____`_```_^]]\ZXWVVVVVV†|t~xrqiktnjfnibbbTJKJ]e~»ÂÊØŽ\`accdeefefffeeeba`][ZZLYnj`oÐéÞãÉw`cdggikloqwxqrrrponnoly×éÑÕä€>G^cbbbaa``____`aaaaa_^^]\[ZYZZZZ[}xw}xsoqa^gpyrijdXKKKU\Y™ÁÀ×Áe_acccddefeefeeedaa_][[K[YUQVÐÛÆÔòÁforutvvuwz~~|}|yvuttvršÞé½ÁÐbAG[dbbbaba``___cegdcccca_^]\[[[[[]†‡†††‡‡‡†…†‡‡††‡‡‡‡‡‡ˆˆˆˆ‡‡‡…ƒ‚~|yuttswywyzzy{{zwuyyz{zyyz{~€€€…††…†††††…†††…††††††‡††††‡†…„{xuutvuvyxxywy{yywtwvxzzxwy{~€€……………†††††…†……††††††……………………„‚€€{uwwxwwyzxxwz{zyxvvuwyyxxyz}~€€…………††……††…††……………………„…„„………„ƒ€}zyywwy|{yxwz{{zyxvvxyyyzzz}~†„ƒ„…„……†……††……………………„ƒƒƒ„„„ƒ‚~{yxwy{{zyzz{{{zzvuxyxyzzy{€‚ƒ€ƒ„„„…………†……………………„‚‚‚‚‚€~|yywxz{yy{||{zyyuvxz{zzxz}€€‚…‡ˆ„ƒ‚ƒ„……………„…†…„„…‚€€€€€}}~~{zywwwyyz|||{zyxwwwxxzzy{~~€€€€‰‰‡„…ƒƒ„…††……ƒ„„„‚~~~€~}{|}|zyxwxwvy{}||{{yxyxwuvxyy|}~€€‡‡ƒ…„‚‚„…††„‚ƒ€}zz{{{{|}}~{{{{|zzzxxzxx{z{||||zwyyvuuwwx|€€€‰‰…„‡„‚ƒ‚€|ywwwwxz{y|{yyxy{yzzxxyyz{{|}|}|zyyxwvuvuw{~€€}Ž‹Ž‹~‚ƒƒ„ƒzyxxxvvzzxzyxxxyzz{{yuwxwz{|}~~|zzxwywuuvw|}‘‘†…‰‰‰ŠŠ‰~zywvwwxyvuvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy|~€~~‡††…‚ƒ…†‡‡‡‡‡ˆ‚}xvwwvvustuuuw{|}zzx{{yzy{|~}}{yxwwwwwy|ˆ€~}|€~‚„„ƒƒƒƒƒ‚{vvvuutttuutuwzyyyx{|{z{y{}~}}}zxxxxz{}€ˆ€}{‚‚‚€€|uuuttsssttuuvxvyyy{zyyyz|~zvwxx{~€€}}~|x|{|~€‚€€~~~{ttrtssrrsuwvuwyyyz{yxxxz|~~~~}wsuvw{~}}~}~|wr}||}€‚€~€€€€{tsrssststvwwwwyxyz{yxxy{}|zzxvqpqqnqrpqrwz{wqmn}}}|~€}}}~ztutsuuuvvxyyyzzz|||z{{zxsnhonsssqmhgggffgifeijl„ƒ„„„…„„ƒƒ‚ƒƒ‚€€}~€‚ƒ…ˆŠ‰‡†„‚‚‚‚ƒ‚}yuuxyzyzyxwxxurqqnmopml‰‡‡ˆ‰Šˆˆ‰‰ˆ‰‰‰ˆ‡†ˆ†ˆ‘’‘‘‘’†„ƒ‚‚ƒ„…††……ƒ€€€‚ƒ„ƒ„„„„„ƒ{v‰‰ˆ‡†ˆ‰ŠŠ‰Š‰ŠŠˆˆˆˆˆ‹Œ†ƒ‚‡‡‡‡‡†‡‹ˆ„…ƒ‚‚‚‚ƒƒ„†‡‡……‚€€‚ƒ‚‚„…„…†…„‰‰‰ˆ††ˆ‰‰ŠŠŠŠŠˆ‰Š‰ˆ‡…~}ƒƒƒ‡‰‡ˆ‰‡„‚ƒƒƒƒ€€ƒ†‰‰‡…ƒ‚€€€‚ƒƒ‚„„„†‰‰‰Š‰‡†‡ˆ‰ŠŠŠ‰‰‰‰‰ˆ…ˆ†„†‡†‡‰‡€…‰…„‚‚ƒ‚‚‚‚€€€‚…‡ˆ‰ˆ„€€€‚€‚ƒ„‰ŠŠ‰‰Š‰‡‡‡‡ˆ‰‰‰‰‰‰‰‡†Šˆ‚‡‰‰ŠŠ†~‚‰…„…ƒ€‚€€€€‚„‡Šˆ†ƒ‚€€€……ˆŠŠ‰‹‹‰‡‡††ˆ‰‰‰‰‰ˆ††‰‡€…‰Š‰‰†~‚Š‡„‡†„‚€€€‚‚‚‚€€€‚ƒ†‡ˆ‡ƒ€€€€……„‰‰Š‹Š‹‰†……†ˆ‰‰‰ˆ‡†ƒ††…‡ˆˆˆ‡ƒ}‚Š‰††„„†…ƒ‚‚ƒƒ‚‚€ƒ†‡††„‚‚†‰†‡‰ŠŠ‹Š‰‡……‡ˆ‰ˆ……†‡†††‡‡‡‡††„†‰Œ‡ƒ„ˆ‰†„‚‚ƒƒ‚ƒ‚‚€€€‚ƒ…‡ˆ†„ƒ‡‰|ƒ‡‰‰ŠŠ‹‰‡†…‡‰‰‡†‹Œ‹Œ‹‹‹‹‹ŒŒŒ’Š„ˆ‰‰ˆˆ…ƒ‚‚‚‚‚€€€€…„~~ƒ‡‰||†ˆ‰ŠŠ‹‹Š‡…†‡ˆ‡‰ŽŒ‹ŠŠŠŠ‰‰‹ŠŠ‹‹Œ†ˆˆ‰‰‰ˆ†ƒ€€‚‚€€€€€z|ƒ‡ˆ}}~ƒˆ‰ŠŠ‹‹‹Š†††‡ˆ‰Œ„…‰‰‰‰ˆ‡ˆ‰‰‰‰Šˆ‡ˆˆ‰‰‰‰ˆ†ƒ€€‚‚‚‚‚€€‚…ˆ‰{~}}„ˆˆŠŠ‹‹‹‰††‡‡‡‡€€…‡†‡†…††††…€€†‡‡‡ˆˆ‰‰‰‰ˆ‡ƒ‚‚ƒƒƒƒƒ‚€‡††ˆw~|†‰‰‰Š‹‹‹‰…†‡……ƒ‚‚‚ƒ„„‚‚ƒ„„‡‡‡‡‰‰ˆ‰‰‰‡…ƒ‚€ƒƒƒƒƒ‚‚…„|ypz}}‚‡‰ˆŠ‹‹‹‹‡…‡„„„„ƒƒƒ‚„‚……ƒ„†……„…‡ˆ‡†ˆˆ‰‰‰‰ˆˆ‡„‚‚‚ƒƒ‚…†yhm|}z~ƒ‰‰ŠŠŠ‹‹Š‡†ƒ„…†‡‡…ƒƒ‚‚…ŠŠˆ‡††ˆ‰‰‰‰‰‰‰‰‰ˆ‰‰‡„ƒ€€‚‚‚‚‚‚€jiq|}~†ˆ‰ŠŠ‹‹ŠŠ†‚ƒ…††…ƒ€€€€„ŠŽ‘’””””“““Œ‰‰‰‰‰‰‰†ƒ‚€€‚€y{|kjkw€~}‡ŠŠŠŠŠ‹‹‡‚ƒƒ‚ƒ‚‚€€ƒŒ““’’“’’‘‘‘‘‰‰‰ˆˆ‰‰‰‡„‚€€€‚€vssnnnt€}}…‰Š‰ŠŠ‹‹‰ƒ‚‚‚ƒ‚‚‚…‹‡ƒ€‚Š‹†ˆ‹ˆ‰ˆˆˆˆ‰‰‡„‚€€‚€uqqnliny~|€‡ŠŠŠŠ‹‹Š„‚ƒ‚‚‚‚‚‚‚ƒˆŠzxx€‹ˆ{yyz„Š†‡ˆˆˆˆ‰‰ˆ‡„ƒ€vrqjkhikz}}ƒˆŠŠŠŠŒ‹…‚‚ƒ‚‚‚‚‚ƒ„‰‰„€†‹Œ‹€ƒ†‰‰†‰‰‰ˆˆˆ‰‰‡…ƒ‚xssoniges€~|~…‰ŠŠŠ‹Œ…€‚„…ƒ‚ƒ‚‚†‰‡‰‹ŠŠ‹‹‹Œ‹Š‰ŠŠŠŠˆˆ‰ˆˆˆˆ‰‰ˆˆ…ƒ‚‚}zzmjhgfl{~}€‡ŠŠŠŠ‰…‚‚‚‚‚ƒ‡‰…‡‰ˆ‰‰Š‹‹Šƒ†‰‰‰‰‡…†ˆˆˆ‰‰‰ˆ‡…ƒ‚€€fgghhiq}€~}‚‰ŠŠŠ‰†„ƒ‚‚€…†‰Šƒ…†„†…†ˆ‡„~{„…ˆ‰†…†ˆˆˆˆ‰‰‰ˆ‰†ƒihgfghhu€}ˆŠŠŠŠ‰ˆ‡‡‡………„„…‡‰ˆˆ‡ˆˆˆ‰ˆˆ‰ˆŠŒŽ‹ƒ„†ˆ‰‰ˆˆˆ‰ŠŠƒ‚jhgdgjhs€~~„Š‹‹ŠŠŠŠ‹‹ˆ‡†‡ƒ‚ˆ‘•”““••”•••–••—–˜Ž…‡ˆ‡†‡ˆ‰‰‰‰ŒŠƒ€€„ihgfikin}}€ˆŒŒ‹Š‹‹‹‹‰‡‡‡†ƒ‰‘•”“”““’””“’““’’’Œ…ˆ‰ˆƒƒˆ‰‰ˆˆˆ†„€‚jjjjiihkt€}ƒ‹Œ‹Š‹‹‹‹Š‰‡‡…ƒŠŽŒ‘Ž‡„‡ˆˆ‰‰‡†ˆ‰‰‰ˆ‡…„lkjjnkhkr}‚~‡ŠŠŠŠ‹ŒŒ‹Šˆ‡„„Œˆ‚ŠŽŽŒŽŒŒŒŠƒ~ƒˆ‰‰ŠŠˆˆ‰‰‰‰ˆ†…ƒƒƒlnnoqpmpt|~}}‚‰Š‰‰Š‹Œ‹‹Š‡…„‰ƒ||ƒŠ‰‰‰ˆˆ‡ˆˆˆ…€€ƒ‡‰‰‰‰ˆ‡ˆ‰‰‰‰ˆ†‡††zzzzzzzzzzz{{zzyyyyyyyyyyyyz|„ƒƒ„„††ˆ‡†††ˆ‡†ˆ‡†††††……‡†„ƒƒƒ‚‚yyyzzzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†ˆ‡………………††…†‡†ƒ‚€‚zzzzyzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚zyyzzyyzzzzzzyyyzzzzz{z{{{zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„†‡‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{||}}}||~€‚„„„„………„…‡‡‡…„…„ƒ„…‡‡‡†…„‚‚‚€€{‚~|}}|zyzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€€~|{zzzz|zyz{|}€€€€€„…ƒ„ƒ„…„„„„…‡‡†„…†………„…††††‡„ƒ‚‚‚‚{||}~|z{zzz}{{~€‚ƒ‚‚€€‚ƒ……„…„„……„„„…†‡†„………„………†††……„ƒstx}~€}}|{}€…††…„„ƒƒ„‚ƒ…††……………„„ƒ„…†……„„„„„„„…†††…„ƒ‚‚‚‚xxz}~‚‚€€€‚ƒƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚zyz{y{‚ƒ€‚†‡ˆ†‡‡…„„……†‡†……††…………………†……„ƒ„ƒƒ„……†‰‡…‚€‚€‚ƒy{zz|{‚||xy|}„ˆ†††‡†……†ˆˆ‡ˆˆ†…†……„…………†……„„…„ƒ„††††„ƒ‚€€‚ƒ‚‚ˆ…‚}}~|}}}ƒ††††††††‡ˆˆˆˆ‰†…„„„„„„††‡††„„„„„…‡ˆ‡„‚‚‚‚‚„†„„„…Š‰„€€€€…‡†††‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡„€‚‚‚‚„†ƒƒ‚„ˆ…ƒ€€€‚‚€…‡‡‡††ˆ‡ˆ‰‡†‡‡…„…„„„††‡‡ˆ†„ƒƒ‚ƒ…ˆˆ‡†ƒ€‚ƒ„ƒ€‚……‰‰‰‡…ƒƒ„‚ƒ†‡‡†‡‡‡ˆ†ˆˆ‡‡‡…„…„ƒ„…‡†‡†…„„ƒ„……ˆˆ…€€ƒƒƒ‚„ƒƒƒ„„‚€‚€†‡‡‡†ˆˆˆ‡ˆ‡‡††…„…„ƒ„…‡†‡‡…ƒ‚„ƒ‚‚|||ƒ‚€€‚ƒƒƒƒ‚€‚‚ƒ„‡ˆ…„„††††ˆˆ‡‡ˆˆˆˆ………„ƒƒƒƒ†‰‡††‚~}}{{z{{|{{|~~~~€|~€€€€€€€‚„„„ƒƒ„ƒ‚‚€€€€€€€€…„„„…€€~~~€€€€€€€~~}}}}}||||}~€€€}{|||€}||}€€€€€€€€€€‚‰…ƒƒƒ€‚‚‚‚€€|~~|}}}}}}||}~}||||~€~|}}|~€€€€~€ƒ„‰…‚€€€€€€€||}~}}}}}}}|||}}~||{{z{{yy}}|~€€€€€€~ƒƒ‚‚‚€€€€€€}|||}~€~~~}}}}||}~|~{yzzxz||€€€€€~~€‚‚†‰€€’~}}}}}€~~~}}}~}}~}{…}xxww{ƒ‚||€€‚‚‚€€‚…‡‚‚‚€‡‘€~}|}}~€€€~~}~~~~|{~„~yzyx}†ƒ|{~€‚‚€~~€ƒƒ‚‚‚Š~}}}}~~€€€~}}~}~{{}}{|||†ƒ||~€€€‚‚‚‚€~~€‚„‚‹}ƒ€}}}}~€~}~€€~}~~~~‚€}||}~€€€‚‚‚‚‚€~‚ƒƒ‹zƒƒ€~}}}}~€€~~€}{}|}}}}}}~~}}{z}€~}~~€‚‚‚‚‚Ž±©Š‰y†„‚€~}}}|}€~||}}}|}}~}}}}}}~~~~}}}}}€‚‚‚‚‚€³°˜’~“‰‚€~}}|}~€|~Œ‡~}}}~€~~~~‡€~~}}~~€‚‚‚‚‚ƒ‹‰“œ›ƒ„ƒ‚€~~}}}~€€€Šˆ€ƒ€€€€€„„€€‚€~~}}}~‚‚€›±¸ƒ„‚ƒ‚‚€~~}}}}€€‚ƒ‚‚‚„…‚€ƒƒ€€€€~~}}}}~€„¤ÊÍ‚‚‚‚‚€~}}}}}~€€€ƒƒ‚‚„ƒ€€ƒ‚€€€~~~~}}~}~‚‚€‹™ž·{}‚Œ‚‚€~}}}|}~€€€€~€€‚‚€}€€€~}~~~~~~~}}}~~€‚‘ª|}{ˆ‡‚ƒ~}}}|}~€€€}~‚€‚‚}zzwxwvvwwwwx|~~~~~~~~‚‚~’¿±–||€‚ƒƒ‚€~}}}}}}€‚‚‚…‰‰‰ŠŠ…|xxwxy|~|{{||{~~~~~~~~~‚‚‚ÁÏÎ~‚ƒ‚‚ƒ}}}}}|~€€‚ƒƒƒ„„ƒ…„…{||~~~~~}|~~}}~}~€‚‹ÀÎЄ€|‚‚‚‚‚~~~}|}}€€‚‚‚~||}}}}xyz}~~~}{€~~~~}~~€€†¾Í΂~z|}€‚‚€~~}|}}€€€€€€€€€}}}€€€}vux|€€|{}~~~~~}~€€„ºÎÍ~zyz~ƒ•ˆ‚€~~}}}€€€€€€€}}|~~~{wrx{}{||€~~~~~}~€¢¹ €~yxy~„ˆ„‚€~~~~~€€~}}|{|{{|zz{…}z|}~€€~~~~~}}~€‚†„€~zxxz€‚‚‚‚~~~~€€~||}||||}}||„}}|}~~~~}|~~€‚€‚~zxwxz€ƒ‚‚‚€~}~~~~€€€€€||}{~~}}~}||}}||{y|€~}|{|€~yxyzzƒ‚‚‚€~|}}}}~}€€€€|xwvwwwwwwvvvvvvutz~€€~~||{€~{x{|{ƒ‚‚|}}}}}|}€€}xwwvwxwwwwwwwwxww{~~~€‚€}{|}~~€‚‚‚}}}}}|}}~€€{{|{yyyxxyyxxyyy{~~€€€~€€‚‚‚ƒ~€„„‚‚‚„ƒ‚€~~~}}}}}~€€~z~ƒ‚}zzyzzzzzzz{‚}~~€€‚‚‚‰ˆ‡ˆ†…„…†„‚™Ž~~}}}}}~€~}…„€|}}~}~}}}}}€€~}~~~€€ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÃÇÃÌÏÏÏÏÏÏÏÎÍÎÍÎÍÍÌËËËËËËËËËËËËËËËËÌÌÍÌÌƽ´­¢œ’{qhkujjhljrdfbV\`\[a\S[`]]TPORYX_e^dRTUUUWTSYTPV]^[WTND=8;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËËËËËËËËËËËËÌÌÌÍÎÆ´ž¦—u‚{~s___p|n\]mjg[XYZ^YUTO]f_[ROOPXVZehfOU\_YPPKQQX]aZVOKIA@66632/76ÍÍÍÍÎÎÎÍÎÎÎÎÎÍÌƿÿÇÊËÌÌÌÍÍÍÍÌÌÌÌÌÌËÌÌËÊËËËÌÌËËËÌÌÌÍÍÍÍÍÍÀ£‹‡oomnkkopt|z^a_dcZY[ZZ\RSV\aXYXVSQTRU[fcPPWZTLNMQQ\b__YQGA?<851220.2ÍÍÍÍÍÎÎÍÎÍÍÍÌÌÌÈÀÄÀÉÌËÊËÊÉÊÊÉÉÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÍÍÍÍÍÌÍÌÍË´˜’xkqvxs~~fe`\fX`bb[ZWU^YSYedQPRVWRNKVOXfQOSWYPLROPX`]_VSUNH?<84321--ÍÍÍÌÌÌÌÌÍÌÌËÌÍÎÉ¿ÁÀÊÎÍÍÎÍÌÌÌÌËÊÊÊÊÊÉÉÉÉÊÉÉÉÉÉÉÉÈÈÇÉÊÊÊËËË̼’Ž„}r`j|mcg_^`ViaXWSSLZ`^`om[QOT[SMITRRXRYYWUMOQTZ^WVZQOXOI>?A;520,+ËËÌÌÌÌÌÌÍÌÌÍÍÎÎǹ»»ÈÍÍÍÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌËÊÊËËËËËÉÆÉÊÊËËËÇÆã‰x{qh]konc_`^V\_UQZRRPXedefcfVQVXSQSTRRVQY]_TQSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎźûÅÎÍÍÍÎÎÍÎÎÍÍÍÍÌÍÍÍÌÌËËÈÊÌÍÍÌËÈÄÊÉÊÌÎÌÇÃÁ±™yxpdUSa]Y\``]b_WUQKMTX_abh^ZSOOPNJQQTP^KTSYYVYX]Z[VRPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÂÃÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÉÌÉÅÂÄÁÇÆÇËÌÊ¿¼¬~wqTRPQOVWlpebc[WLCALYQY`_]VSQKLKHKHPKXMQTUVVZ[ZZ]XRNRMUNBG@>>3/.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÍÍÌÍÍÍÎÍÍÍÍÌËÉÇÆÅÈÁ½·Á½Â¿ÄÊÉÄ»¯¥¦‹|rq\VVYXgh[mfe_UUPPVTcTNY\RNVWQKJFNOQYWRPWZUSWWTMSYRPVPWV?5622/----ÍÍÒÖÔÍËÌËÉÉÉÉÊ̾ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÂÁÁ¾Â¼¹ª¾ºÀ¸¾Æ¿½´¥‰‡~p‰ycZ]Z\cjVl]T\SMSS][UMORWQORUWKKKSRRYf\NUWVUTUYPPYWW[[LC=7540.-,--ÍÛéïíáÑÊȾ½ÀÅÉÀ¾ÆÁ¿ÊËËÌËÌÌÌÌÌÌÌÍÍÍÌÍÍÌËÄÁ»²»¹°¡¸³½¶´Á´¹²˜†{zmfbabaRZa[Ue[SY\NSRV[TUSNMMJKLRXVNQOQPbZMX[WQLOXVVSWPLKA7=<:61.-,--ÚíÝ¿Åçç;¶±¯¶¹ÀÁÁÉÆÁÉËËËËËÊÉÊËÊÊÊÊÊÈÈÇÄÄÀ±«§«°¤¨­²®±¸«ªž‚vwrjiR_eZWbWQZh]X^XLOQS[_aTPLLKMPLTWKOTNR[\X`\SOKNXUVVOPWIBB=:;951//-,êÜ—|²íÙ·°«­³²¾ÃÅËÈÄÊÍÌÌËÌÊÆÊËËËËÉÈŽ¾±¡š˜£¥™— °ª««¦¢™‚rliejn^VWT`_UV[YY`VRVSSTT^WPSONSUQSSWQOWPRY^X]WX[V\]RSYWSQ?>F;7776520/.ŸšŽ“””¥©¡§«¬°²ÀÁÄÊÇÂÊÍÍÍËËƾÇÊÊÊÊÆ¿¶°²²¸¬ž–˜›˜•¢´­«¢——zhccTeaTMHOV`XQQ]g__n]^b\TWMONOOQVRTPSYQYNN]^]fZb^hfaROMMJK?=@8854453.02xZ^\[nwyyy•±®³½·ÁÇÆ¿ÈËÌÌËÇ¿¶ÄÊÊÆĸ¦Ÿ›š¢£›š–ˆ‘—’’œ§ª’Ž„uccgY\UOTRPX^^Zgn^PT`NWpn[PNJMLJFILLNNMPWTV]TRWW^g]\WOJLGFFCGA8543344/05µxSUw´Ì;Ÿ{­±µµ±½ÆƸÀÉÈËÊǾ²ÃÊɽ³¦˜œž”—”Š‹““Œ‰ŽŽ—‰ˆ‰ƒ}tsnbXSWZYOW[UT\h\RP]fga_[RRLIIFHGFEFNLS][VZUNYgffU]SMTSHI@?A9754313336<ª™hZ’ÓßäÚ¡n˜±¯¬ª·Åº©¯·³»¹Ç»¯½Ã·©žŸ˜› ““…‚ˆ‰~‰‰Œ…‚ƒ€}xwoaVVSS\XTYTRXgRPO]ecRRZWSLKKIJHEJJIQVZaRXPOjqcd^a\U_YTTH<::864322549?¡‘¦©vt{\h‰Ê­Ÿ ª¬ž Ÿ¡¢¡¨¸®¤£¨š™˜Ÿ—™’–„‚„€ƒ€w‚ˆˆ„||{{toohbWPZg[RURV^ZNX\[]XQQQRSLKPPKNRQFBJNS^QQM]a`^Yei[QT]ZESE;;;8554488:<–p;T ‰>?PAX…ì¾ £«žš›ž¢¨¤¡¡ ’“’›™Ÿ™’–‹Š‡‡ƒ}x…„€€xywtphidXWZQW]YS[Y[YUYYZ\ZUPKUTNLOKADFFA?EGHQKQRX[aW_n\^OZ^[IEC?=<856669;>>gN3;ZV]~T>GoΙ}¶Â³·´¹¼Êž»·³§•œ–›–Ž‡Š‹‰‡„€yƒ~{uvwqqljfW[c`aXQRXV\]aWS\SW^ZVPINLNIADFA?FFCAQGUW[X_``\RbaVWWRLGDE966767;=EFDG>=BUbmTAAIŸTÅãÔÖÓÏÌÈÉÊÈÈÌÏÄ–’“Œ‹Š…Žˆ‰ƒƒ{}‰ywtqsrnhaW[baZQUOQ\ebcUMRQg]aWLQQNJHDIRIBILLFOQ[]XLXdccT_cVPW]QF@@<98767;?JAfeffgsutqhe`r£ÉëæŸxg]YWTURRY_n—ŒŽ‰~‚‡‚—ˆ‰|}„‡|‰‚yzwuttwsbVQYWZVYVMYZ\_edhlpmR[[TMQPGEFPVPONOOIIUZ]ZNM]Z_]\fdV_S@;:<=;::8:=<<;ZYYYYXXY[^ddm·ðéÌWBFGKaUINJIJ=}–†…{€„‚Š—ˆ„ˆz‚‰‰‡~†‚|xuwzuun_X\^TVSSU^WOM_q€sb\]eRTMLQRMMJC?LTQRTRNZccdZSXW][Q\VTUG<99;:78:98<==;JJJIJJJKMKMPgžÖÓ¢JG@D=RRT]VTRST‚zš·|ÁÄzHH?D=AAH@5698>£Á’|}~~y~|~…„~{€y~uptywsnjf[SMJYWZSTW[ZXIW^Z\XX^UKMTOLILOOPTVXVZmdZZZZVYXRVJMJ?764]:7778:ADCE[^lŸo]XQlèåìáiÏÍmGQY]^c__bYUXTOÍüµv~}y|~{}|{‚€}wwomwxzphabSQSDAMUVUXZOKIUX[[UZc^SMLIKOMMJGJMVWX]aZ^WUQVOKMHA<8676R†>789;;?HJHJNuÍzNLHláÜãÁQ·Æ½±´¸º½ÁÂÁÀ¾¼¹¹¸Â½¹wvyyw{z}{|~‚‚‚xwwkintxmg`^OQUHJPTW[TPSPTUZUVWY_\RKDCBDGHEEFJSU\ZUNVRTRTNGEC<96676WzA88;=;@GGH“™¯ä°š—‡qiXEÌ×Õ×ØÙÚÛÝÝÜÛÛ×ÔÓÙÀ}z}vvxvwvzz€€wuuoulmtphg^QVWUXY_\XFEQW_WZXWTU\VNICD@>>>=;@KNV`YRW[PV[OMG;:987773ƒãR17;9;AHIJêêëèêëêëê½aKEB¤ÕÚãçææêëéæìíëææåÞÕšx|yvxyywxy}}|{|ztrvujjrigf^N^k\TSXZYQOWXYa]WUZYTLFD@@?><69?EGJZgWTYWZ[TGCB;67877:5åS/8;=BGGDQïòññóóðäߪ\KGE˜ÛÝèëêé×ËÐáļÒìéäÝÔ¿}}ywvyywz{z{{~xvytlgnffcb[fnbZMOZYUQRZW_YVYcYOIC@??C@?>CHB>K[kj\LPdQFA;;:7;<99>8qÜY2=@NTMelhvˆj[]RIC>:;?GMJB=?9yòl9;4>HIX_k†‹”‹Œz`JJG@mØîìììëëéêìëëëêëìíï·xwxv|ziw}{z|wr}|yqnkkgfbbl^SV]YX]TPSQSPZ^Zd]TUQOHGGBGKFEFNMTilissdakhWPMMPUUWTHFN;tôr768U]_lihSSWaVTRPOD798:bÌïíðïëíððòòñíêððîî¬szyuxwnx|yy{{tywwsrkb__[\gaUNVY`[XSMNWVZd_`XPOUQKD?>IWbVZdind[WY_bdjlloe^jyvpldfiU‚ñ‚VRZuuprkfZXVRTW\\bhT.17XºêÙ¹ÄìͲ³¯®³Ñë¹·Ùæ¡t|yrs|}€}tx{zrvz{rvoc[aeb_a_TWXXSQOOMS\YTXYSMRXSPV^\q‚wblwkYTW[]_agfm}„‚‚„|„‡‡ˆ’°“ˆ‚||rsqg{{{{{|~}}€j-.5W§Þ¾‚ŠæÉ}xvuzÊブÉÚŽvwwvvzz|vu|wrvz{lrmd`^d_\`_YYUUTX]^SRYXOMNS]ZW\gz‚†ŠƒcbqiRPY\[Z]eikt}{z|tt}ŠŽ‰„ˆ‚~mrqjnhvvuuvvwxxyoJISrÃÃÀ¼ÄË©¨¯®µÛÝÒÓÏÁ}yvwyzvtvysryrqsrsikjiighhiomlmkq{ˆ†‰Ž‘Žˆˆ’²˜~{w|{lclmaW[`_][_fegrfcadcsz}„…ƒ„…}{sbgpljfponnooqsuuuuvy{}}‚~‚ƒƒ„‰—•‰‘Š~uvxxwvtrqrw~„ŠŒŽ‘–™šš››š–ˆƒxvusrsuuvy{|‚‰•¥²´¬š‹}sljklmliea]]]ZY]]WY\]]`fheebadonhlhe]iumrvnlkkkkmpqrrrrrstwy|}}~}|zzxvtszˆˆœ Žqppt…”œ¨¬­¬ª¥Ÿ˜—–•”•–šŸ¤¨¦¡Šsruuuttrqqqponpt~‰˜¦­®© ‘rggfda`\ZWYXVVXXWXWVW[XXXXYVTSTPYZcpxrokjjijjkmpppoooopsvxyz{{{{yxvtrqxƒ{‚Ÿ’†ª˜’Œwmeb`bnyra^ZWVZ_fghteikmossttsqommnonnosyƒ•¬¼º¤Štkghggc_][WVSRTSRSV^aTTXZVUVUTSUSYxuqmjiiiikmoopppooopqsuwwxyxxxvutrnoxˆ£WTQONOQW`f€˜…c^W`c_[WPAJkbacdeimpruvutrpllmnponllwŽ©º¼¯•sjiifc`a\VYUUTTXWRRUYSSTYXUUTSwvvsnkihggjkmnopoqrrqqrrsuuvwwvuutssommƒODR\dpyK36200446ZmnnnjZ=Pfbbbbbbdgknrtvwvsqnjilnpolkp{­Á¨Šthhiiifd`_[XTSRSRRSSSYVTVVVuuvvsojgfeehjklmmoooopomnoprttttttusqpvtEFGA98:>GS@agdba``^^_bglprstvvsplhghmnmliix™¼Ì¶tjijjiiheb^ZVSSRRSSUXTUUTuuuuutpjgedfghjlllmmmnmlmmmnpqssttutrq‚ZIT±³³µ´°¦ „pr|PGE:12232\UPljfcabb`__`cglnqrttuvsmhgikmonkir‰¨¿ÁªŠskijjjgfb_[YUTRPVZSTTRpsttuutqmhedddfijjjjklllmlkkmnpqrstutrƒFf72213BG<91[§KflTKObhebbbcfgeb__^\[[\\[\_aehjlnnnmmifcbfiijljfbft—ÅÔ¿•OXÅ|\cgijkmosspppokgca`_`abdffghhfXRQgvU‡yIkZdw\RHHLQSSKRJQZ|Ž{J<9=1T€:Y\:=4Jmieb`_addca`^\\[\]\ZZ[^`bfiklkjkjga_bcfhiiigdarŸ³Ÿ}SKÊÂs[dffhjlnprpopolgd`___abddfgiT6;5jrGY[FiL9680Jlkjgd__`beecb`^]^`^^[ZZ]_cgjklnnnnlgb`aegiiihieez¥mU@½Í²_[`cfijlmrqopqolgc````abcdeiP/66:AB7340039=;5543347569758=<@@8:WwYx®¿Í³c[bfhjjkmnonnomlkeb`___`aacb´hK@636655555443446654444444453;WcQLZeehiihhijkjjjjheb`aehihfc`^^]^][[\]_cfjlmnopqoTRZ_bvdCEWY{¸ÂΠ[_dfgijlnnnoommmjdb`___`abakšqRcmR513333323336L:5433333342Oš¢^N‹»€eefggghijjjjihgb`_bfhiifb_]\\\[[[Z\_bfikmoppcMLHA?]vYFOJN‰¹ÁÊŠX]acfhijlmnnmmmlhda_^^_aabhvi^˜¥ºˆ8022221233565543222211H“ª”žr;~µdcffeffghiiiiijgca_`cfiigd_\\\\\[[ZZ\_bfjlnopnfš“]q||r\RKT—ºÄÃvT]_aeghjlmmmmllkhc``__``cmY9i¡š¨§u<..////1473572//0145C’¨¡¾šf+Dabzefeeffgggiiijigdb`_`cghhd`^]\\[\[\\Z[_dhkmoob£®uwggefXOI]¨¾É¼jZ_adghhjlmnnnmljgb`_^^_ae\)M˜¼³²Ð‘PXCEFEC=>•k7IXTRN^‹¢ìçºÒ«R*>ffqj`aaffefffhhhiiihfca__adhihea]\[[\]][YZ]afjlodŽ©xl[`_kaOLIs·¿Ï­a]acfghillmnnmlkifb`^^_ZQG+<ˆËÀØð奔^]_j¨zSµˆIrke]Y­ÞïìÖà†9,7dfcyª°šmdeeeeggggiiijgdb`_adgjjhe`][[]_^^ZYZ_chlStgUTWlodSLM‰¼ÂÒ—Y`cefhijklmmnmkkid`_]^ZF4,2P¼Ï×ÛïÌ¡lY[\b\ŠëÐ\f]ehf¡·Ï¸•sE/-9gegpªÌÄŽbcdeefffghihjihfc`^_cgijjhc^\[\]__\ZZ\afNgŠb]UTUjlv^OKWž¿ÊË~Zadfhhijklmmmlkkhc`]]\L/.-2NZYy† ^nriV–ðÙrcttqiiLV=201.095002?jacffeddbbcdefffffffeefghgeb_^_bgjjjgd`]\]^_^^\XIVi^W{”upjlmeSVg…»ÇÔ¸g^ceghhijlmmmlkkjda^]?,-02469?GNYfx˜¬¼ÃÐâåÕÐËǨp^PJEA;51/.Ai^_cccbb_`chgcefeefeeefgghhfc`^]afjkjigda^^_^^^WEOVZF•¾¹jknlgYOQPŽÂÈÔ¦]^`bdfgikklmmkkkid`^B,./268M^pÈöïïíììëêéè•jª ««§¡›™•‹‹‰ˆˆ††……‡†‡ŠŒ™vbccabcceeddedcb_]\]`gjkkjhdb^_\?=CMOO\innljjmf\RMM—ÅÈÖ Z_bdefhhhijllkkihfQ....9;P…Z4268b€|vpmmgb`V;Cš…~wqolihecbba`````aabdcj‚gabaabbddccddddb_^]\^dikkheb__\?=AHMQQSmebde`b^SMJe´ÃÎÌsZagfdefghjkkkkjiiS12..:G¡ö¦XPVquQZ_hjjmrssq¤k]^\Z[^`aeip‚|utqpooommml_nt_aaabacccbccdeca`^\[]bhihfea_\?=?FKOPSkgggrlhbRLMLƒ¿ÅÓ¯^]ccbcdghjkjjjjijT19-.0<ŠÈmu‹”’”›¡¨§¦¥žŠ²‹[cv|}}y{~€ˆ†¢™yzˆ|}~~}zwlmm_aaaabbbcccddedba^]\\agiggfc]B>=FHLPSnmgfonqiSLMKW¦ÂÉÔ“_^abceghikjjjjikT0<,--1;FGKORhqjgmosqeZOKKt¸ÁÐÊo[acdegghjjjjjjkU/<-,,0039=>?B>EOBB@D‹’Ro—ËÓÖÚÝÞàÛqZXNMK†æáâÙÖÝßÝvwK‚Àz]`abbbbdeedddddcb`]\[`dhiggI;7GHKNQuxnkqpolooYLKO‘ÀÅÖ¬_`bddfggiijjjjlV-=/-,-/0259::=?BDG^nIB;Q’Nq•äÜÛÛÚÚÜÓfcdf\KzßÞÜÖÏÕÝÝggbUgb```bbbbccddddddcda_^\[]bghiJ66HIKNProjhlmhfhidLJJ^­ÀÉÕ‰ZacdfhhiijjjjgP+<3-.**+,+****)))+*(**&\lWd„æßÞßàßáÀZSPVQMkÛãååâÜÑÀVJvMjb```aabbbbcccccdddb``^\[]bgiG24HKLNOomldhknspmhQJKL|¾ÀÑÄl^ccefhhhijiaYI*;5,CR:2.,--+))**++***,u£ZaVR€‚„ˆ‘‘oUVYz\TX›µŸŒtaQHB:rR`d``a`abbbbbccccdddcba`^[Z]ckF04GLNPPdabffiqtorr_KKZgš¿ÄÕ­bbcdghihfdd]VI,:55/HOGC<65,****+-06:D‡šPgT<5345425BKH]‚]TP?755653=L:_bQda]\^^abccbcccddccdcca`\[[]dE*4GKMPU_gkhmnklnrpkSJLLY§ÀÇÔ]bdfffgeefcXH/835.2321.))))))*.01/.M‡JnS>878:988743@rO<:548:::8?J=FqJa^Š¼À«jabbbbbcdeeccddca_^\[_C&3FDGN‘ztrptpjjljgjdLJJIqº½ÎÊt\accddcccc]O92--/*####%$$$$$%&%%%'\¤rLoL;55465563233;635548Kd_85886nN\_vËãà¥^abbbcccddccdcccb`^[]A$2E@@W½x~rjiigijniaNILKL½ÀÔ­[[_accbbba^XK;4477645677877877885L€˜cQjDB;6@QP?8=623323553?Š™;:953_[Sa_jvon``bbbbbcddcccccdcb`]]A"1B=?MypusttlnfllnkjcXMKH`¶¾ÉÓ~W^`bccbcb_[SMJHIJJJJKKLLMNNMMOLI‹Œ†YXaFRMEPSSLIPN;233445DQuŠpKNPB4LdKa_\_`^khabaaabcccbbcbcdcb``D!.=;;@KntrttlnhhkjknriQJJL”ÃÅÕ¸c`cceecdca_YURQRTTSRRRRSTVXZ[\Z]‘yyQW[LQIDDEFEECJF5334@CMW\jVMJLM@CMJ`R–~g…ycbbcbabaaaacbbbcc`Z@ -997:?ltmmmkkjgjillniSJJJh»ÅÍÖˆ]ccegeedca_\YYYZ[YXWVVWXZ[]agryuypTANLIDFINNKJ@INJD<;HQPMLJID=8>:44I`Lx‘kQX[```aaaa``abbbbb\UPL9!.6.7.,ljlsrmjkmmfhihiUJKKL”ÆÅÓ¸`]^adddedca`_^^^_^\ZXYYZ[`^Uy—´˜qhX7589DY\UJ?;;WM@=:"+5/'#,jpuspsqloiihfirbKKKLKb¹ÉÌÕ–_defghgffeeddccbba_]\[[[\]_cGSbclWXXYXWXXXXXXXWWWXXXWWWWXWWWXXWXZY\P@Ydaa`^Ž±¯ d]____aa`___YL<'.1.--3pwtohhlmmhhjurte^XLLMOŠÉÇÐÉtbefghgffefeeddccca_][[[[\\`R:@anSWWWWWWWWWWWVVWVWWVVVVVVWWWWWWXYXXQL_ca``a^]Y\`^^`__```^^\ZTG40,+*+1hijg`_ahhqzwrsmjncQKMR^³ÇÆÖ©cefhighgffeedddddca^\[[[[[e^U^frQUVVWVVWWWVVVVWWVVVVVVVVWWWWXVRSYZNcccaa`_``_```_`````_^][YVRI:/---/rmllgtoqhsrtss{k\SJJML}ÆÃÎÓ…beefeeffffeddededb_^\ZZZZej—~\s[]\UUWVWXWWXWWWXWWWWWXXXXXXXXSXqƒ{Qlebbaa```_```````a`_^][ZWSQMHDEEE†z€xu{wjhoxvxzse\RJJKJR¢ÆÆ׺e`bbdddefffefeeeeb`^][[ZZYg™…`o‚{hVWWWXYYZZYYZYYXYZ[[[[ZZ[X\²¯•ZV`cbbaa``_____`_`a``_^][YVUSQNNNN†|u~xrqiksojfniba`TJKJ]e~»ÃÊØ\aaccdeefffffdeeba_^\[ZZR`†„pwŸ¹Ã‘gYZ[[\]^^^^^]\]]^^____^_Z|ÉÒæÚkGOacbbaa``____aaaaaa`_]\[ZYWVUUUT}xw~xsoqb_gpyrijeYKKKU\Y™ÂÁÖÀe_acccddefeefdeeba`_][ZZKaznmØêØÖœ`_`acabbbcccdfhhgfeddcbk»çÚÝåBH]cbbaba``___cefdccbb`^]\[ZYYXXX†‡†††‡‡‡†…†‡‡††‡‡‡‡‡‡ˆˆˆˆ‡‡‡…ƒ‚|yuttswywyzzy{{zwuyyz{zyyz{~€€€…††…†††††…†††…††††††‡††††‡†…„{xuutvuvyxxywy{yywtwvxzzxwy{~€€……………†††††…†……††††††………………†…„‚€€{uwwxwwyzxxwz{zyxvvuwyyxxyz}~€€…………††……††…††……………………„…„„………„ƒ€}zyywwy|{yxwz{{zyxvvxyyyzzz}~†„ƒ„…„……†……††……………………„ƒƒƒ„„„ƒ‚~{yxwy{{zyzz{{{zzvuxyxyzzy{~€‚ƒ€ƒ„„„…………†……………………„‚‚‚‚‚~|yywxz{yy{||{zyyuvxz{zzxz~€€‚†‡ˆ…„ƒƒ„……………„…†…„„…‚€€€€€}}~~{zywwwyzz|||{zyxwwwxxzzy{~~€€€€ˆ‰‡„…ƒƒ„…††……ƒ„„„ƒ~~~€~}{|||zyxwxwvy{}||{{yxyxwuvxyy|}~€€…ˆ„„…‚‚……††„‚ƒ€}{z{{{{|}}~{{{{|zzzxxzxx{z{|}}|zwyyvuuwwx|€€€‡‰†ƒ†…€‚„‚€|ywwwwx{{y|{yyxy{yzzxxyyz{{|}}}|zyyxwvuvuw{~€€}Ž‹ƒ~€ƒƒ„…„‚|xyxxvvzzxzyxxxyzz{{yuwxwz{|}~~}zzywywuuvw|~‘‘‰ƒ‰‰‰‹Š‰zywvwwxyvuvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy|~€~~††††ƒ‚……ˆ‡‡‡‡ˆ„~yvwwvvustuuuw{|}zzx{{yzy{|~}}{yxwwwwwy|ˆ€~}|€€~‚„„„ƒƒ‚„ƒ~vvuuutttuutuwzyzyx{|{z{y{}~}}}zxxxxz{}€€ˆ}{€‚‚€€€€~vtuttsssttuuwxvyyy{zyyyz|~zvwxx{~€}}~|x}{|}‚€~}utrtssrrsuwwvwyyyz{yxxxz|~~~~|wsuvw{~}}~}~|wr}|}}‚~€€€€€|usrssstttvwxwwyxyz{yxxy{}|zzxvqpqqnqrpqsw{{wqnn}}}|~€€€}{}~|uutsuuvwvwxyyzzz|||z{{zxsnionrssqmhggfffgifeijl„ƒ„„„„„„‚ƒƒ‚‚€€€~€‚ƒƒ‚‚‚‚‚‚ƒ‚}xvuxyzyzyxwxxurqqnmopml‰‡‡ˆ‰Šˆˆ‰‰‰‰‰‰ˆ‡‡ˆ†ˆ‹‘‘‘‘‘‘‡ƒƒ‚‚ƒ„†††……ƒ€€€€‚ƒ„ƒ„„„„„ƒ{v‰ˆˆ‡†ˆ‰ŠŠŠŠ‰ŠŠˆ‰‰ˆˆ‰Š‡‰Š‰Šˆ‰‰Š…„ƒ‚‚‚‚ƒƒ„†‡†……‚€€‚ƒ‚‚„…„………†‰‰‰ˆ††ˆ‰‰ŠŠŠŠ‰‰‰‰‰ˆˆˆ€|~‚„„†ˆˆ‡‰‰„‚ƒƒƒƒ€€ƒ†‰ˆ‡…ƒ‚€€€‚ƒƒ‚„„„†‰‰‰Š‰‡†‡ˆ‰ŠŠŠ‰‰‰‰‰‰…‡„ƒ……„ˆ‰ƒ„‰‡…‚ƒ‚‚‚‚€€€‚…‡ˆ‰ˆ„€€€‚€ƒƒ†ŠŠ‰‰Š‰‡‡‡‡ˆ‰‰‰ˆ‰‰‰‰†‰‰…†‰‰‰Šˆ€ˆ†„„ƒ€‚€€€€‚„ˆŠˆ†ƒ€€€€‚†ˆŠŠ‰‹‹‰‡‡††ˆ‰‰‰‰‰‰‡…‰‰„‰Š‰‰ˆ€ˆˆ„†‡„‚€€€‚‚‚‚€€€‚ƒ†‡ˆ‡ƒ€€€€ƒ…„‰‰Š‹Š‹‰†……†ˆ‰‰‰‰ˆ†„‡ˆ„…ˆ‰‰ˆ†~‰Š…†……†…ƒ‚‚ƒƒ‚‚‚€ƒ†‡††„‚„‡†‡‰ŠŠ‹‹‰‡……†ˆ‰‰††…„„……†††††„‡ŠŠˆƒ„†‰†ƒ‚‚ƒƒ‚‚ƒ‚‚€€€‚ƒ…‡ˆ‡†‚…ˆ|ƒ‡‰‰ŠŠ‹‰‡†…‡‰‰†…ˆ‹‰ŠŠŠ‰ŠŠ‹‹‹ŒŽ‘„…‰‰ˆ‡…ƒ‚‚‚‚‚€€€€„†„‚‚…ˆ||†‰‰ŠŠ‹‹Š‡…†‡ˆ‡‡ŒŽŒŒŒ‹Š‹Š‹‹‹Œ…‡ˆ‰‰‰ˆ†ƒ€€‚‚€€€€‚}z†ˆ}}~ƒˆ‰ŠŠ‹‹‹Š†††‡‡‰‰ˆ‰‰Š‰‰ˆˆŠŠ‰Š‡‰‰‡ˆˆ‰‰‰‰ˆ†ƒ€€‚‚‚‚‚€~}†ˆ{~}}„ˆˆŠŠ‹‹‹‰††‡‡ˆŠ†ˆ‰ˆˆ††ˆˆˆ‡‚}†ˆ‡‡ˆˆ‰‰‰‰ˆ‡ƒ‚‚ƒƒƒƒƒ‚€€„†‡‰w~|†‰‰‰Š‹‹‹‰…†‡††ƒ„ƒƒ„„„ƒ‚‚‚‚„„†ˆ‡‡‰‰ˆ‰‰‰‡…ƒ€ƒ‚ƒƒƒ‚€„†‚‚pz}}‚ˆ‰ˆŠ‹‹‹‹‡††…„„„‚ƒ‚ƒ„„‚ƒƒ„…„‡ˆ‡†ˆˆ‰‰‰‰ˆˆ‡„‚‚‚ƒƒ‚„†€xhm|}z~ƒ‰‰ŠŠŠ‹‹Š‡†„ƒ…††‡…ƒ„‚ƒ„…‡ˆ‡‡…„†ˆˆˆˆ‡‡‰‰‰ˆ‰‰‡„ƒ€€‚‚‚‚ƒ„ƒ€jiq|}~†ˆŠŠŠ‹‹ŠŠ‡ƒ‚…†‡‡…‚‚‰ŠŠŠŠ‰‹ŒŒŒŒŒŒŠ‰‰‰ˆ‰‰‰†ƒ‚€€€‚‚}}€kjkw€~}ˆŠŠŠŠ‹‹‹‰ƒ‚ƒ„ƒ„„€‡Ž““”•–––•––—“Š‰‰ˆˆ‰‰‰‡„‚€€€‚{vwnnnt€}}…‰Š‰ŠŠ‹‹Š…€‚‚‚‚‚‚‚‰ŽŽŽ‹‹ŠŠ‹Œˆ‰ˆˆˆˆ‰‰‡„‚€€ƒ{rroliny€~|€‡ŠŠŠŠ‹‹Š†€‚ƒ‚‚‚‚‚‚‚„‹‡€}|{‡ŒŠ|}{€Š‡‡ˆˆˆˆ‰‰ˆ‡„ƒ€‚{rqjkhikz}}ƒˆŠŠŠ‹Œ‹†‚‚‚‚‚‚ƒƒƒ†‹…{xx|ˆ‹Œ€xzyˆ‰‡‰‰‰ˆˆˆ‰‰‡…ƒ€ƒ}sqoniges€~|~…‰ŠŠŠ‹‡ƒ„ƒ‚‚‚‚‚ƒ‡Š‡†……†‹‹Œˆ„†‡ˆˆŠˆ‰‰ˆˆˆˆ‰‰ˆˆ…ƒ‚ƒvumkhgfl{~}€‡ŠŠŠŠ‹‡€ƒ„ƒ‚ƒ‚‚‚„‰ˆ‡‹ŠŠ‹‹‹ŒŒŠ‡‡Š‰‰‰†„†ˆˆˆ‰‰‰ˆ‡…ƒ‚~}fgghhiq~€~}‚‰ŠŠŠ‰†ƒ‚‚€€€‚ƒ†Š†…ˆ‡ˆˆˆŠ‹Š…|€‡‡ˆŠˆ††ˆˆˆˆ‰‰‰ˆˆ†ƒihgfghhu€}ˆŠŠŠŠˆ†……„ƒƒƒƒ„‡ˆ‹†„†„„…„†‡…}€„…‡‹†…†ˆ‰‰ˆ‰ˆ‰ŠŠŠ…jhgdgjhs€~~„Š‹‹ŠŠŠŠŠˆ‡‡††ƒƒ…ŽŒ‹Š‹ŒŒŒŒŽŽ’“’†ƒ‡‡†‡ˆ‰‰‰ŠŒ‡‚ihgfikin}}€ˆŒŒ‹Š‹‹‹‹‰‡‡‡…‚…Ž––••––••––••”••—”ˆ†Šˆƒƒˆ‰‰‰ˆ‰Š‡‚€‚jjjjiihkt€}ƒ‹Œ‹Š‹‹‹‹Šˆ‡‡‡ƒ…Ž“““’“’‘’“’‘’’‘‘Žˆ‡‰ˆ‡†ˆ‰‰‰ˆˆ†…ƒlkjjnkhkr}‚~‡ŠŠŠŠ‹‹Œ‹Šˆ‡†‚ˆ‰ˆŠ‚‚‡‡‰ŠŠˆˆ‰‰‰‰ˆ†…ƒ‚lnnoqpmpt|~}}‚‰Š‰‰‹‹Œ‹ŠŠˆ…‚‰Š}„ŒŒ‹ŒŒ‹ŠŠŒŒ……ˆ‰‰‰ˆ‡‰‰‰‰‰ˆ††„„zzzzzzzzzzz{{zzyyyyyyyyyyyyz|„ƒƒ„„††ˆ‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yyyzzzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†ˆ‡………………††…†‡†ƒ‚‚zzzzyzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzyyzzzzzzyyyzzzzz{z{{{zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„†‡‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{||}}}||~€‚„„„„………„…‡‡‡…„…„ƒ„…‡‡‡†…„‚‚‚€€{‚~|}}|zyzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€€€~|{zzzz|zyz{|}€€€€€„…ƒƒƒ„…„„„„…‡‡†„…†………„…††††‡„ƒ‚‚‚‚z||}~|{{zzz}{{~€‚ƒ‚‚€€‚ƒ……„…„„……„„„…†‡†„………„………†††……„ƒstv~~€~}|{}€…††…„„ƒƒ„‚ƒ…††……………„„ƒ„…†……„„„„„„„…†††…„ƒ‚‚‚‚zyy}‚€€‚ƒƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚zyy{zyƒ€€€†‡ˆ†‡‡…„„……†‡†……††…………………†……„ƒ„ƒƒ„……†‰‡…‚‚€‚ƒy{zz{{~‚||yx{|‚‡†††‡†……†ˆˆ‡ˆˆ†…†……„…………†……„„…„ƒ„††††„ƒ‚€€‚ƒ~‡†‚}~}}}}††††††††‡ˆˆˆˆ‰†…„„„„„„††‡††„„„„„…‡ˆ‡„‚‚‚‚‚„†„„„„‰Š…€€€„‡†††‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†„ƒ‚ƒˆ†ƒ€€‚‚‚€…‡‡‡†‡ˆ‡ˆ‰‡†‡‡…„…„„„††‡‡ˆ†„ƒƒ‚ƒ…ˆˆ‡†ƒ‚ƒ„ƒ€‚……‰‰Šˆ†‚‚‚‚ƒ„ƒ‚…‡‡†‡‡‡ˆ†ˆ‡‡‡‡…„…„ƒ„…‡†‡†…„„ƒ„……ˆˆ…€€‚ƒƒƒ‚„ƒƒƒ…„ƒ‚‚€…‡‡‡†ˆˆˆ‡ˆ‡‡††…„…„ƒ„…‡†‡‡…ƒ‚„ƒ‚‚}||ƒ‚€€‚ƒƒƒƒ‚€‚ƒƒ†ˆ†„……††‡ˆ‡‡‡ˆˆˆ†………ƒƒƒƒƒ†‰†††}}{{z{{|{{|~~~~€|~€€€€€€‚„„„ƒ‚„……„„ƒ‚‚€€€€‚……„„…‚€€~~~€€€€€€€~€~}}}}}||||}~€~|||}~~}{|}€€€€€€€€€‚Š„ƒƒ‚€‚‚‚‚‚€€€|~~|}}}}}}||}|{||}ƒ~}}|~€€€€€ƒ„‰…‚€€€€€€€||}}}}}}}}||}}}}||{||}zy|}}}€€€€€€€~ƒƒ‚‚‚€€€€€€}||}}~€~~~}}}}||}~|}}|z{|zx~€}|€€€€~~€‚ƒ‚†‰€€‚~}}}}}€~~~}}}~}}}~|~ƒxxwwy€ƒ~{€€‚‚‚€€‚…‡‚‚‚€~}|}}~€€€~~}~~~~~}{}…yyywyƒ…~{}€‚‚€~~€ƒƒ‚‚‚‚…‰}}}}~~€€€~}}~}~|z{€~z{zz}…†}{}~€€€€‚‚‚‚€~~€ƒ„ƒ‚‡‡ƒ€}}}}~~}}~~€~}}~~}}~‚ƒ~{|€}~€€‚‚‚‚‚€~}|}€‰„ƒƒ€~}}}}~€€~~€€}}}~}~~~~~~}|{}€~~~€‚‚‚‚‚€–ˆ‰€†„‚€~}}}|}€~~|{|||}}}}}}}}}|||~~~}}}~€‚‚‚‚‚ƒ¯½ ‘€“‰‚€~}}|}~€}|…„~}}}~~~}}~}€‹ƒ€~~}}~~€‚‚‚‚˜£—šƒ„ƒ‚€~~}}}~€€~~‹Ž~~~‚€ƒ‰‚€€~~}}}~‚‚€‡Ÿ¥ƒ„‚ƒ‚‚€~~}}}}€‚ƒƒ‚€€‚…‚€€‚‚€€€€~~}}}}~€€·À‚‚‚‚‚€~}}}}}~€€€ƒ„ƒ‚‚„ƒ€„„€€€€€~~~}}}}~‚‚€‚’¯Ê{}‚Œ‚‚€~}}}|}~€€€€€€€ƒƒ}~€€~~~~~~}}}~~€‚ƒžŒŒ}{ˆ‡‚ƒ~}}}|}~€€€}}€€€~}~~}{{{yyz{}~~~~~~~~‚‚€‚¬¨ƒ||€‚ƒƒ‚€~~~}}}}€€€ƒ†‡ˆ‰ˆˆzxvuvvvvvuuvy}~~~~~~~~‚‚‚€¬È¿~‚ƒ‚‚ƒ}}}}}|}€€ƒƒƒ„‡†ˆ‰ˆ†}zzz||~‚€~}~}|~~}}~}~€‚€©ÌÑ„€|‚‚‚‚‚~~~}|}}€€‚‚‚‚‚‚„„„|||}~~}}}}~~~|~~~~}~~€~£ËÏ‚~z|}€‚‚€~~}}}}€€€€€€€}|}~~}yxy{~~z|€~~~~~}~€}ŸÊÍ~zyz~ƒ•ˆ‚€~~}}}€€€€€~}}€€~ystz~‚€}{|€~~~~~}~–ÇÆ€~yxx~„‰…‚€~~~~}€€€€€€€€}}||}}{zvwz}€{{|}€€~~~~~}}~€€†žš€~zxxz€‚‚‚‚~~~~€‚~}}|{{||}|{z~…‚{{||€~~~~}|~‚‚‚~zxwxz€ƒ‚‚‚€~}~~€€€€~}{~}}~~}~}}ƒ‚~|~~}}|€‚€~yxyzzƒ‚‚‚€~|}}}~~~€€€€€€~{|z{}|{|{zzzzyyyww€€€~}|{}€€~{x{|{ƒ‚‚|}}}}}}~€€€yvwvvwwwwvvvwwwvuv€~~~|~€€}{|}~~€‚‚‚}}}}}}|}~€€~€€zxxwxxxwxxxwxxxxyz~€€€~€‚‚ƒ~€„„‚‚‚„ƒ‚€~~~}}}}}~€€€€|z~~{yyxxyyxxxxy{€~~€‚‚‚‰ˆ‡ˆ†…„…†„‚™Ž~~}}}}}}€{|ƒ„€{zzzzzz{{z{~}~~~€€‚‚ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÃÇÃÌÏÏÏÏÏÏÏÎÍÍÍÎÍÍÌËËËËËËËËËËËËËËËËÌÌÍÌËƾµ®¢œ’{qhkuijhlircfbV\`\[a\S[_\]TPNRYX_e^dRTUUUWTSXTPU]^[WTND=8;;521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÍÌÍÌÌÌËËËËËËËËËËËËËËËËÌÌÌÎÎƵž¦—u‚{~s_^_o{n\]ljg[XXZ^YUTO]f_[ROOPXVZehfOU\_YPPKQQX^aZVOKIA@66631/75ÍÍÍÍÎÎÎÍÎÎÎÎÎÌÌƿÿÇÊËÌÌÌÍÍÍÌÌÌÌÌÌÌËÌÌËÊËËËËËËËËÌÌÌÍÍÍÍÍÍÀ£‹‡pomnkknos|y^a_ccZY[ZZ\RSV\aXYXVSQTRU[fcPPWZTLNMQQ\b__YQGA?<852220.2ÍÍÍÍÍÎÎÍÎÍÍÍÌÌÌÈÀÄÀÉÌËÊÊÉÉÉÊÉÉÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÍÍÍÍÍÌÍÌÍË´˜’ykqvxs}~fd_\fX`bb[ZWU^YSYedQPRVWRMKVOXfQOSWYPLQOPX`]_VSUNH?<84221--ÍÍÍÌÌÌÌÌÍÌÌËÌÍÎÈ¿ÁÀÊÎÎÍÍÌÌÌÌÌËÊÊÊÊÊÉÉÉÉÊÉÉÉÉÉÉÉÈÈÇÉÊÊÊËËË̼’Ž„}s_j|lcg_^_ViaXWTSMZ`^`om[QOT[SMITRRXRYYWUMOQTZ^WVZQOXOI>?A;520,+ËËÌÌÌÌÌÌÍÌÌÍÍÎÎǹ»»ÈÎÎÎÎÍÍÍÍÍÍÍÎÍÍÍÍÍÍÌÌËÊÊËËËËËÉÅÉÊÊËËËÇÆâ‰x{qh]knmc_`^V[_UQZRRPXedeecfVQVXSQSTRRVQX\_TQSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎŹ»ÆÎÍÍÍÍÍÍÎÎÍÍÍÍÌÍÍÍÌÌËËÈÉÌÍÍÌËÈÄÊÉÊÌÍÌÇÃÁ±™ywpeUS`\Y\``]b_WUQKMTX_abh^ZSOOPNJRQTP]KSSYYVYX]Y[VRPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÁÅÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÉËÉÅÂÄÁÇÅÆÊÌÊ¿¼¬}wrTRPPNVWlpebc[WLCALXQZ`_]VSQJLKHKHOKWMQTUVVZ[ZZ^XRNRMUNBG@>>3/.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÌÍÌÍÍÍÎÍÍÍÍÌËÉÇÆÅÈÁ½·À½Â¾ÄÉÉÅ»¯¥¦Œ|rp]VUYXfh[mfe_UUPPUTbSNZ\RNVWQKJFNOQYWRPWZUSWWTMSYRPVPVV?5622/----ÍÍÒÖÔÎËÌËÊÉÊÊÊÌþÈÁ¿ÌÍÍÌÌÌÍÍÍÍÍÍÍÌÌÍÍÍÎËÂÁÁ¾Á¼ºª¾ºÀ¸¾Æ¿½´¦Š‡~p‰ycY]Z\cjVl]S\SMSS]\UMOQWQORUWKKKSRRYf\NUWVUTUYPPYWW[[LC=7540.-,--ÍÛéïíâÐÊÈ¿¿ÃÆÉÀ¾ÆÁ¿ÊËËÌËÌÌÌÌÌÌÌÍÍÍÌÌÍÌËÄÁ¼³»¹±¡¸³½µ´Á´¹³™†{ylfaabaRZa[Ud[RY\NSRV[TUSNMMJKLRXVNQOQPbZMX[WQLOXVVSWPLKA7=<:61.-,--ÚíÞÁÀäç̾·²±¶ºÀÀÁÉÅÁÉËËËËËÊÉÉÊÊÊÊÊÊÈÈÇÄÄÀ²¬§«°¥©­²­°¸¬ªŸ‚vwsjiQ_eYWbWQZg]X]XKOQS[_aTPLLKMPLTWKOTNR[\X`\SOKNXUVVOPWIBB=:;:51//-,èÜ›ƒ„¶îÕ·°­­³²¾ÃÅËÈÄÊÍÌÌËÌÊÆÊËËËÊÉÈƽ¾±¡›˜£¥š— ¯ª««¦¢™ƒsliejm\VWT`_UV\YX_VRVSRTT^WQSONSUQSSWQOWPRY^W]WX[V\]RSYWSQ?>G:7677520/.•“‹Žœš¨®±²ÀÁÄÊÇÂÊÍÍÍËËƾÇÊÊÊÊÆ¿¸°³²¸¬ž–˜š˜•¢´­«¡——zhccTf`RLHOV`XQQ\g__n]^b\TVMOOOOQVRTPSYQYNN]]]fZb]gf`ROMMJK@<@8854453./2„dX[Ui|}}y„¯¯³¼¶ÁÇÆ¿ÈËÌÌÊÇ¿¶ÄÊÊÆĸ¦Ÿ›š¢£›š–ˆ‘—’’œ§ª’ŽŽ„uccgY\SPSQPX^^Zgm^PT`NWon[QNJMLJFILLNNMPWTV]TRWW^g]\WOJLGEECHA8543344/05½–\Pn®ÎÕʶ€˜²´µ±¼ÆƸÁÉÈËÊǾ²ÃÊɽ³¦˜œž”—”Š‹Œ““ŒˆŽŽ—‰ˆ‰ƒ}tsnbXSWZYOW[UT[h[RP]ega^[RRLIIFIGFEFNLR][VZUNYgfgU\SMTSHIA?A9754313337<š¥~ayÄ×àÚºu~°¯¬ª·Å»©±¸µ»¹Ç¼¯½Ã¶©Ÿ˜› ““…‚ˆ‰~‰‰Œ…‚ƒ€}xwoaVVSS\XTYTRXgRPO]dcRRZWSLKKIJHEJJIQUZaRXPOjqcd^a\U_YSTG<::864322549?‘£ŠŸ¯|bm_]s­©¢¡ª­Ÿ Ÿ¡¡ §·®¤¢§™™˜Ÿ˜™ž’–„‚„€ƒ€w‚ˆˆ„||{{toohbWPZg[RURV^YNX\[]XQQQRSLKPPKNRQFBJNS^QQM]a_^Ydi[QS\ZFRE;;;8554488:<§…@9ƒœPALKFj²°ž£¬ ™š¢§¤£¡Ÿœ‘‘‘›™ ™’—ŒŠ‡‡ƒ}x…„€€xywtphidXWZQW]YS[Y[YUYYZ\ZUOKUTNLOKACFFA?EGHQKRRX[aW_n\^OZ][IEC?=<855669;>>oU:5LXQ€dD:\‡ªkŵ¹¹ÀÃÎËÉÆ¿µ¥–›–›•‡Š‹‰‡„€yƒ~{uvwqqljfW[c`aXQRXV\]aWS\SW^ZVPINLNIADE@?FFCAQFTWZW_``[RbaUWWRLGCE965667;=EFAJDB@R`l_JBFe¯Y›èÔÌÆÀ¼´°¯®°¹Áï““Œ‹Š…Žˆ‰‚ƒ{}‰ywuqsrnhaW[baZQUOQ\ebcUMRQg]aWLQQNJHDIQIBILLFOP[]XLXdccS_cUPW]QE?@<98767;?JAighihotsrmheh‡Èåî«^TNKKMHHFIOPy˜Š~ƒ‡‚—ˆˆ|}„‡|‰‚yzwuttwsbVQYWZVYVNYY\_edhlplR[[TMQQFDFOVPONOOIIUY\ZNM]Z_]\fdV_S@:9<=;::8:=<<;WUVVVUTUWY^`fˆâêÚsAHGI\cMQPJKCLœ‰„z€„‚Š—ˆƒ‰z‰ˆ‡}†‚|xuwytuo_X\^TVSSU_WOM_q€sb[\eRTMLQRMMJC?JTQRTRNZccdZRWW][Q\VTUG;89;:78:98<==;JIJHIIIKLLKL[‚ÅѽZJ@<@W[_[E;=@<‰†€€ƒŠ}‚†‡‚}~}usutqqre[][NPZXY\ST^bf_\T[baSUMKKRLGA=ANSV_ZZ_fl_]]W\TXSSVVT@:886697767:??>=TUWebXUTRx–†Ç†¤ÍŸCI>H>=;>A95684d¦ÔÁƒ}~‚~y~}~…ƒ|€z~vptxwsnjf[RMJWVZSTW[ZXHV^Z\XX^UKMTOLILNOPTVXVZmdZZYYVYXQVJMJ?763]:7778:ADCEXZ`˜ˆ\XRRÃõæ÷Šœã™T_flnwwuwywxrmw¸îáƒ|}z|~{}|{‚€}xxolvxzphabSPRD@MUVUXZOLIUX[[UZc^SMLIKOMMJGJMVWX]`Z^WVPVOKLHA<8676R†>789;;?HJHJO_À¥TOKQ½æ×âi‚ÄÉÀ¿ÂÄÆÈÌÍÌÊËÉÇÇËÆ¥–zvyyw{z}{|~‚‚‚xwwlintxmg`^OQUGJPUW[TPSPTUZUVWY_\RKDCBDGHEEFJSU\ZUNVRTRSNGEC<96676WzA88;=;@GGH— ¨ØÆŸŸ˜ŒfdBsÇÕØÙÙÛÛÝÞßßßÞÜÚØÙ×–w|vvxvwvzz€~wuuoulmtphg^QVWUWX_\WFEQW_WZXWTU\VNICD@>>>=;@KNV`YRW[PV\OLG;:987673ƒãR17;9;BHIJììíêéìììîÙ~NH>sÏØàèççëîîçêïîéèéãÛº||yvxyywxy}}|{|zusvujjrigf^N^k\TSXZYQOWXYa]WUZYTLFD@@?><69?EHJ[hWTYXY[UHCA;6777795åS/8;=BGHDQíóóòóóóèáÈrMIBkÑÜåëèìÓ¹¹ÙƬ·áëãß×Ò{}ywvyywz{z{{~ywytlgnffcb[fnbZMOZXUQRZW_YVYcYOHC@??C@?>CHB=K[ki\LPdRFA;;:7;;98=8qÜY2=@NTMelguˆi[]RIC>:;?FMIB=?9yòl9;4=HIX_k‚‹£‘ŒŽ‘mPKIAP³ïììëììììëìììëìëìî܇uxv|ziw}{z|wr}|yqnkkgfbcm^SV]YW\TPSQSPZ^Zd]TUQOHGGBGKFEFNMTilisscakhWPMMPUUVTIIP:tôs768T]^kihUTVdYTTRQK;9:6L¡îíïðìëïïïïðïëîðíïÓ}yyuxwpy|yy{{tywwsrkb__Z\g`UNVY`ZXSMNWVZd_`XPOUQKD?>IVaVZdind[WY_adjmloe]iyvplgjjU‚ñ‚VRYtuprjfYXWSTUZ\_ga9/3GŽæܶ£Ýܧ š˜š¯èÆ–ÆÜÈv|yrs|~}tx{zrvz{tvoc[aeb_a_TWXXSQOOMS[YTXYSMQXSPV^]r‚wblwkYTW[]_agfm}„‚‚„|€„‡†ˆ’°“ˆ{|qsqg{{{{{{~~}~}A+/J}ÝÍ¥‡Ê雀€}y©ð«‹ÁÖ²qwwvvzz|uu|wrvz{oqmd`_d_\`_YYUVTX]_SRYXOMNS]ZW\gy†ŠƒcbqiRPY\[Z]eikt}{z|ts}‹ŒŽ‰„ˆ‚~mrpjngvvvuvuvxwwwXGJh{·ÇÈÉÅÉÀ¸½½¿ÔÞØ×ÑÒ”uwwyzvtvytsztsvtupkmjkijkkronnlq{ˆŽ†‰Ž‘Žˆˆ’²˜~€zw|{lblmaW[`_][_fegrfcadcsz}„†ƒ„…}{sbgokjfponnnoprttuuuxz}}}‚}}€ƒ‡••‡}tvxxwvvtspoorqqqtuswvvtstuuvvuvvusrstuvy{|‚‰•¥²´¬™‹|rkkklmliea]]]ZY\^XY\]]`fheebadonhlie^iumrunlkkkkloqqrrrqqtwy{}~}~|zzxvtsyˆ‰œŸ‹ppptvx{‚Œ”›¡¤¦¨©¨­¯®«©¨¦¤ —’ˆsruuuutrqqqponpt~Š™§®­¨ ‘rggfda`]ZWYYVVXXWXWVW[XXXXYVTSUPZ[cqysoljiiijlmopponoooquxyz{{{{yxwurqxƒz…Ÿ”tŠ¥¥ª¨£š•Œƒ|yvrqqqpu{ƒŒ”•–ƒgikmpssstsqomlmonnosz…•¬¼º¤Štkghggc_][XUSRTSRSV^aTTXZVUVUTSUSYxvrmjiiiikmnopppooopqsuwwyyxxwvutrnoz‰’“¥‡uog_XUU^dt–¡‚ig_YVVWVPSwjacdeimpruvutqoklmnponllwŽ©º»¯›ƒsjiifc``[VYUUTTXWRRUYSSTZXUUTRwvvsokigggikmnonoqqrqqprstuvwwvuutssnmm|†LILNRY`YHKP`aSHDLmpnieU?Kibbbabbdgkortvwvspmjilnpolkp|ª¿Ã¬Œthgiiifd`_[XTSRSRRSSSYVTVVVuuvvtpkgfeehjklmmnoooonmnoprttttttusqqm}_=XkxƒŒ”|A?6/,298BXXX[_bS=Vgda```^^_bglprrtvusokhghmnmkiht–ºË¶uihjjiigeb^YVSSRRRSUXTUUUuuuuutqkhedfghiklllmmnmlmlmnpqrsttusqrq€FIv¤¨ª®¦ŒzZHIILIHC81014CXCikgcabb`__`cglnprstvvsnhhjkmonlip‡¨¿Âª‰skijjigfb_[YUTQPUZSTTSpsttuttqmhedcdehijjjkllklkkkmnoqrstutrztCUa¶¸¸¶²®§¦ÄŒ|’†EG=696356lK[omjfcb```a__aeilprsuvvtplggjlmllihq‹¯Å¦ƒojjkkhedd`_\YWTTTTSloqqrrrqokgb``acdffghiijklkiiijlnprrrq‚\YW8s~uj]^VgœŠv‘{FD:TcW<41ajJikmnjfc``a`^]]`dhkoqrstssqkedfiklliegw¡Éͳrnkiggfefedca]WR]jlnopqqrqplfba``abddfhiijkkjhhhjkmopqr…JuI013325ZVIBFKJGHA>byaI4FhˆE`egknnkfbbbba_]]_ehlnprrsttqicbehkkkjgev¡Çзsjlkifdeefee`_™ijlnorstsrpmgcba`abbdfhhijjjijihijloqs|Lƒ:25=EE:EJIR[QIIGIH\gK4^ ¤VUecehmonkifdefda_`afiloprsssroidcfijkjiffxÄϺ’tllkjhffdec|›fikmnprsssrpmiebbaaabdghijjjkkifhiklmvm^121N’LAJGT_QEJFKGPwkH823yzJigecchlmmkhfdeeca_`cfjlooprrsspkecfhjjjjger”¹ÍÀŸ~mlkjjhec{€`dgjlmpqrrrqomifba_`aaegiiijjjkjgfijix^vo165VŒwC<7201ENFJK^g|W74.Y•Hhkjgdccehlkhdaaba`^]^`dhkmpprsrrqlfcdgijkkhfk§ÈʯvlkkjdŒk]`cfikmoppqqonlhca___`adgggiijlkigfhdzT‰\7F=gš¢PB70014?9:Duž˜]=31BœZ^mlmjfcbbdfhgeb`^]^][\]^behlmopqqpniedehjkllkgfv•µÆÅ®vkm›V„[adhjknoqqpqpolhda`__`befghhiijjhgfbzS”OGLGNw}kOLD:9997654]š‹JK836vRnmjhhfdcbbdfgeb`^^\[[\\[\_aehjlnnnmlhebbfhijlifbft—ÅÓÄŸƒ›KÄy\cgijkmorspppokgca`_`acdefggggijgfavZ˜MLSKq|ŒTFGEEDFFEDAX†™xE>>83ˆ„En]?>Bcieca`adedb`^\\[\]\ZZ[]`bfijlkjjjfa_bcfhiiigdarœÇР‰MÊÁr[dffhjmnorpopolhd`___abcdfffgRC>R}dV“Q`|HkOFFLRY\^TNQIV`zZD:;62[I;XC<=0Zljgd__`ceecb`^]^`^][YZ]`cgiklnnnnlfa_aegiiiiidbx’¢zU½Í³_Z`cfijlmrqopqolgc````abcdefc98;AhN=DDKIECBB99;6FWPLO?466HJ.4BSdkkkkkkifa`cfhihgebaaaa`]]^`behkmoqrppolfbadgjjhgy„©[Sz³ÃÎX^cfghjlmnpponnkhca``abceef_OEI49cC<:998766776666667777777888:@F531//1Ljaeedddcbcddfeeffffeefghgeb_^_bgjjjgd`]\]^_^\Z[[JX{`YPMojlmeSVgŒ½ÇÔµe^cdghhijlmmmlkkida^]R2,--0359=?FQTYdt„•¯Ì³Ÿync[TNGB>84021Qj^efefecdhkhbeeeefeeefgghhfc`^]`gjkjigd`^^^^^_]VJUj_Yv‡jknlgXOQT–ÃÈÔ [_`bcfgijklmmkkkhd_^Q/-.3567@DQJZÍmmljjmf[RLN˜ÄÈÕžZ_bdefghhijllkkihe]5-.-.27;CN[m…†æèæãÝÜÛÒÌȵYZy£ ®°­¨¥£œ—•””‘‘Ž‘‘“–•˜mabaabbddccddddb_^]\_dikjheb^\\W==BKPOblebdd`b]SMJf¶ÃÎÊqZagedefghjkkkkjih`8/..3=G”˜C,-0?Z]^YTSPIFB=4K¤œ‰†~zvsomjkjihhhhfffghigv‚c`aabacccbccdeca`^\[]bhihfe`^\Y>=@HORPkgggqlhaQLML…¿ÅÓ¬]]bcbcdghjkjjjjihc95/.1@nðÚejuupt‡‰’’”’‹ Ÿkdc_[Y[\]^`dlfcdehjigghfeZrr_aaaabbbcccddedba^]\\agiggfc^Z?=?FLPPnmgfonqhRLMKW§ÂÉÓ‘_^abcdggikjjjjiie7:1-.4O¤šm\krz~~‚†Œ‘Œ‡s~³~Wcotvxx{|ƒ˜º¥Žˆ‡€€ul‹¤e`aabbbcddddeedc`_]\]afhijgc\A>=FHKOhqjhnospdYNKKv¸ÁÐÉn[accegghjjjjjjjf6;2,,.28JI8;@J66773000001¦ggw„‡ˆ‹ŽŒk@><5N’¦§©§§§¤’_b´{]`abbbbdeedddddcb`]\[`dhigfbF>;FGKOuwnkqpolooYLKP‘ÀÅÖ«^_bddfggijjjjjkh5:3,,.015:>?@@>CFFEbVGGCR›ŠNyœ¾ÅÌÓ×ÚÝÑfUMEGL›çáàÚÙßáÖruLje```bbbbccddddddcda_^\[]bghggH;8GHJNrojhlmhfhidLKJ^­ÀÉÕ‰Zacdfhhiijjjjkh596-,+-//1355698:>EZK<93`•pTr´ãÝÜÜÜÛÞÈ_ief[K‹ãÝÜÖÏÔÝØ_rW^h```aabbbbcccccdddb``^[Z]cghjK57HIKNomldhknspmhQJKL|¾ÀÑÅl^ccefhiijjjkh_287/-1*)*+*))))))))'(*))r›]a]­çßÞßßÞà¹UWRXPL}âàááááÞÐSWnQk``a`abbbbbccccdddcba_][Z\chkJ24HJLMdabffiqtorr_KKZhš¿ÄÕ¬bbcdghiiiijfZT15822XN=50./.*)*)****+,6‰šPlIw¤££¨¯´³}UUXnWRb½Î¿±ˆt`@@wNeb]\^^abbbbcccddccdcba_\[Z\biJ04GLMO_gkhmnklnrpkRIMMY§ÀÇÔ]adfffgedd`XS267613IHD@660*)*)+.14;KPPd‚ZVRLH>:621?NntrstlnhhjjlnriQJJL•ÃÄÕ¸c`cdedbbb_\VQLIIJJJJJKKLMNNOPQQPSŠ„OcVHPCDS\VKENC5232345?PƒtFKG:3V_N`a^_gˆybbbcbabaaaabccbbba_`D .>:;AltmmmkkjgjillnhRJJJh¼ÅÍÖ‡]cdffddb`^[XTQRTSSSRQQQSUVXZ]]ZpvyIfPMQHGFHHGGIQA0224;=PXdvXNMSK:GVLaWm~tbZaa`aaaa``abbccbbcb_[@ -:;89;LPOPPOOJB>E>89L`KŠ yY\_``_aaa`abbbcbbc]UPL9!-5.5.jmoqmlmoqpkfjkgTLKLJd¹ÅÌÖŠ^ddfffedcaa`__^__]ZXXYY[\_\b™­…niL5=>>GYZZMD@?A:520,+ÌÌÌÌÌÌÌÍÍÍÍÎÎÎÎȹ»ºÉÍÍÍÎÎÍÍÍÍÍÍÍÍÎÎÎÍÌËÌÌÊÊËËËËËÉÆÉÊËËËËÇÆ£Šyzph^lood_a_W\^URZRSPXfeefcgVQVXSQSTRRVQX]`USTQYZ\XWSSOQPI>?=5550.2ÌÌÍÍÎÍÎÎÎÎÎÍÍÎÎźļÆÎÍÍÍÎÎÍÎÎÎÍÍÍÌÍÍÍÌÌÌÌÉÊÌÍÍÍÌÉÅÊÊÊÍÎÌÇÄÁ³›yvpeVTb^Y]``]b_WUQKMUY_aci^ZSOOPNJRQTP^KSSZZVYX^Z[WRPSNQIEC>@;530/3ÍÍÎÎÎÍÍÍÎÎÍÍÍÎΞÌÁÅÍÌÌÍÍÍÍÌÌÍÍÍÍÌÍÍÍÍÌÌÌÉÉÉËÊÆÂÃÁÇÆÇÌÍÊ¿¼¯‘~wsURPQOWXloebc[XMCAMYRZ``^VSQJLKHKHOKXNQTUVVZ[Z[_XRNRMUNBG@>>40.--ÍÍÍÍÍÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÍÍÍÍÍÎÎÍÍÍÍÍËÊÈÆÅȾ·¿½Â¿ÄÊÉÄ»¯¥§~sp\VVYXgh^nff`VVRQUTdTNZ]SNVWQKJGNOQYVQOWYUSWXUOTXRPVQVV?46220.---ÍÍÑÕÔÍËÌËÊÊÊËÊ̾ÇÁÁÌÍÎÎÍÍÍÍÍÍÍÍÎÍÍÍÎÎÎËÃÁÁ¾Á¼º«¾¹À·¾Æ¿¾´¦Š‰q‰zdZ][\djUl]T[SNST]]VMOQXQOSUWLKKSRRYf[NVXVUUUYQPYWW\\MC=7540.-,--ÍÙçïíßÏÊÉÃÀÀÃÆÉÀ¾ÆÁÀÊËËËËÌÌÌÌÌÌÌÍÍÍÌÍÍÍÌÅÁ¼³»¹²¡¹´¾µ¶Áµ»´š‡|zlgabcaSZb[Td[RY\NRRV\TUSNNNKKLRXUOQOQQbZMY[WQLNXWVSWPLKA7=<:61.-,--Ùìß½ÆéæÌÀ¸³²·ºÀÁÂÉÆÂÊÌËËËËÊÉÊËÊÊÊÊÊÈÈÈÄÅÁ²¬§¬°¦Ÿª®µ­²¸­¬¡„wwsjhQ_eZWcXQ\h]X^XLOQS[`aTPLLLMPLTWKOTNR[\X`\TOLNYUVVOPWJBB=:;:51//-,ä㦊ÂîÓ¹³®­³²¾ÃÅËÈÄËÍÍÍÌËÊÆËÌËËÊÉÈÆÂþ¾²¡›˜£¥š—Ÿ­««¬§£™„sljgjn]WYU`_UV\[X_WSVSSTT_XPSONSUQSSWQOVPSY_X]WY[V\^SSYWSP@>G:7677520/.’Š‹‹—•’š¢¬±²ÁÂÄÊÇÁÊÍÍÍËËÆ¿ÈËÊËËÇÀ¸±³³¸«Ÿ•Ž™›˜“Ÿ±­«¡™™yiddVe`RMHOV`XRQ[g__n^^b]TWNOOOOQVQTPSZRYON]]\fZb^hfaROMMJK@=A8854453./2‡rV]V^y~~}x ²³½¸ÂÇÆ¿ÈÌÌÌÊÇ¿¶ÄÊÊÇĺ¨Ÿœ›¢£›œ–‰•˜’“©«œ’Ž„udcgY\TOSQPY_^Zhn_PTaNWon[QOKMMKGILLNMMPWTW]TRWW_e][VOJLGFECHA8543344/05¼¬pR^—ÈÔÒÅ”€²µ¶²¾ÆƸÁÉÈËÊǾ³ÃÊÊ¿µ§™Ÿ•˜•‹ƒ–“Š—Š‰Šƒ}usobXSW[YOX\UT[g[RQ]fga^[RRMJJGIHGEFNLR]ZVZVNZfffU^TMTRHI@?A9754313336qYF3A`WsxI9MdŸx½¸»ÃÊÎÓÒÒÑÐÍǽ­š–›•‡Ž‹ŒŠˆ…‚€zƒ~}uvwqrmjfX[c`bXRSXW]]aXS]SX^ZVQINLNIBEE@?EFDAQGUW[X```\RbaUWWRLGDF:65667;=EF?HGB@I]ihQCEJxg×Ú·¬§¡š™›™›£ª°›Ž’Œ‹Š…ŽŽ‰Šƒ‚‚{}ŠzvtqsroibWZba[RUOQ\ebdVNRRi]aWMQQOJHDIRICILLFPQ\]XLZdcdT_cUOW]QE?@<98767;@LBjigihkttroigdr²ÛïË`IGEENFEDCEFN“”Š~ƒ‡‚—‰ˆ~~„‡}Šz{wuuuwsbVQYWZVYVNY[\^ffilolQ[[TNRQGDFPVQPNOPIJUY]ZNN]Z`]]feV_S@::==;::8:==>;WVVVVVTTVX[`cpÀìå¡BFFFTjWRTMJK:VžŠ€ƒŠ}‚‚‡‡~‚~vtutrqrf[][OOYYZ\ST^bf^\T\baSVMKKRLGA=BOSV^ZZ`gm`]]W\TXTSWWUA:887797777:??>=RUW\iXVSR_™²©Ð¼UA@GD<<;@=7786<Åç y~‚~y~|€†„|€{~wqtxxsnjf\SMJWVZSTW[ZWHW_Z\XX_WKMTOLILOOPTUXV[ndZZYZVYXRWKMJ?763^:7888:AECEV[^z¢e\UMˆöäôÈjÙ¿vnx|{ˆ…†Šˆ†~{¢Õï¤z}z|~{}||€ƒ}xxpmvxzph`bSPSD@MVVUXZOKIVY[[UZd^SMLIKOMMJGJMVXY]`Z^WURVOKMHA<8676R†?789;;?HJHILQ•ËePKHŠíÛê©W±ÆÍÆÊËËÌÏÑÒÑÑÎÌËËÓ¬}xzyw{z~{}‚‚‚ywxlhmtxmga^OQUHJQUX[UPSPTUZUVWY`\RKDCCEHIFEGJRU\[UMVRTSSNGFC=96686UyA88;=;AGGH’™ŸÃÜ£œ—†opSQ·ÔØÛÜÝÞÞßààãáàÝÛÚÜ¿|{uwxvxuzz€~wvvoummuphg^QVWUXX_\XGEQW^WZXWTV\VOIBE@>??=;@KNVaZRW[RV[PLG<:987772†âQ16;9;BHIJëìíëéëëëëä£UJCMºØÜæééêïïëèíîìéêçÜÔ•zwvxzyvxz~}}{}zurvvjksjgf^N^k\UTYZYRPVXYb^WU[ZUMGD?@?><68?EIK[hWUZXZ\UGDA:68877:4„äQ/8;=BGHDQëñòñòóòïæß—TLFL·ßáëèê൭ÄÕ¦¥ËíäàÝ׸{|zwvyzxz|y{z€~ywxtmhnffcb[gpd\NQ[XURSZW_YU[eXOICA@?CA?>CIC>K[kj\LPeRGA;;:7;;99>7tÚW2=CRQJU^]jŒmQVXKA;666;?AA>@:;?GMIB=?9yòm9;4=HIX_k|ˆŒœœŒŒ’Šw[KKFC…æíììììíìëìííìììììí§txv}{jy~|y|ws~}yrokkhgccm`TV]XW\TPSQTQ[^Zd]UVROIGGBGJFEFNMTiljssdalgUPMMPUSTRHIP:tôs769U\^kiiUVXehZ[XWSA:<9>xßîíïíëëìíìííëìíìëê›vzuxwry}zy{{uzwxtqjb`_[[hbUOWY`ZXSMNXVZd_`XPNUQLE?>IWbW[dind[WY_aeklkof\ixunjfikU‚ñ‚UT\vvprjfVVTSQQTXX^^A.3=hÔÞ“¼ì®ŒŒ•ÑÜ…¤ÍÝyyrt}~}tx{zswz|xvnbZafcaa_TWXYSQPOMT\YTXYSNQXSQV^^sƒyclxm[TW\^_ahfm~„‚‚„|€„ˆˆˆ”²”‰ƒ|}rsqh{zzzzz{~|}‚X*/=cÃÚÀ”­ðÍ•‰†„•äו´ÑÕyuvvw{{}uu|uqwzzrtjd`_e`\`_YYUVSU\^SRYXOMNT_[W[gz‚‡Œ„dbrjSQY\\[]fiku}{|tt}‹ŒŽ‘‰…‰‚nqplohvvvuvwwyyxyb@BSržÉÇËÈÈÌÍÉÉËÒÙÕÒÓܽouwyzuuvytt{tsxvvsqlmmklkmronolqyˆŽ‡ŠŽ‘‰Š•´˜€~{x||lammbW[`_][_gehrfdbdctz~„†„„„~{ragpmjgponnopqrsttutvy}~}~€}~€€‚„ˆ“’…‘‘€tvxxwwvtsrrtrrqponjiiiiijnpqsuwxwtstuuvxz{‰•¤²´«™‹}qkjkkmlifa]\]ZY]]WY\]]`fhefcadoogljf^itnswomllkmnpqrrrqqrtxy{}~~}{zyxvutzˆ‰› Šppqtxurqpsv{€…ŠŽŠ‘‘Œ‰†‚{uorqruvuttrqqqponpuŠ˜§®­§žrggfda_\ZWZXVWXXWYWWW[XWWYYWTTUOYZcpysoljijjlmoppoonnopsvyz{|{{{yxwusqy‚z†Ÿ”urŠ•¢©¬®¬ª¨§£¡¡¡  £¦§©«¤¢‰ijlnqstttsqomlmonnos{†˜­½¹£Štjfhggc_^\XVSRTSRSW_aUUWZVVUTRRURYxvrmjiiijlnnnpppoopprsuwxyyxxxwutrop{Š“‘Š©Ÿœ—Œ‚xqkfcgnla_^[\ajquw‡xacdfjnpsuvutqoklmnponllxª¼¾¯š‚rjiifcaa[VYUUTTYWSSUZSTTYXUUTSwvvsokhhhhjkmooopqrrrrqrtuuvwxwwvussomm}¨Œa\WRPOPYdjˆ¬¦vfb``[XWRDKpeabbbcehmprtvwvspmjiknppmlq”°Äê‹shhijifd`_[XTSSSRRSTTYVTVVWuuvvtpkgfefhjllmnnoppponoopstuuuuuutqqpn…VDNS\emqJ8:::8764UrsrplX>Nhdbaa`^_`chmprrtvusokhfjnomkhiyš½Ì¶Žsjijkijheb^YVTSRRSRTXTVUUuuuuutqkheefgijlllmmnonmmmmoqrsttuvtrrqww=Rt„Ž—› pSG7008@BGIDDGKPP>_kgcbbb`__adhmoqrttvvslhhjkmonkjrŠª¿Àª‰rkjkjjgfb_[YVURPU[STSSqstuvvtqmhedddgijjkklmmllkklnoprstuutsq‚]E[«®°²²©Ÿ‰naabOHE;34642PUJmljfcb```a``bfjmprsuvutqlggilmmlihsŽ²ÆÂ¥„pkkkkheddaa]ZWTTSSSloqqssrqolgb`abcefhhijjkllkjjjlmoqrssss„Fa?Œ¸±¬¥ž–ˆ»»€¯dC=7AG?54BuCclmnjfc``a`_]^aeiloqsttssqkedgjklmjfgz¥Éγrnkiggfeeedca^WTUjmnopqqrqplfc``aacefgiijklkjiiijkmopqqyyGp3BYPI?MWIcuortRC6GlgY842xXTghknnkfbbbbb`]]`fimoqrrsttpiccfiklkjgew¢ÈÑ·sjkkifeeeffea][ijloqrstsrpmgcbaaacdfghhikkkkjiijkmoqp}d]k024464AMINULDDHA;Ist^>9oyGedehmonkifdefda_`bfjmoprstsroidcfikkjifgxÄϺ‘rllkjhgfeefeefikmoqssssrpmiecbbbbdfghijkkkkjghjkmonSx[/27Q^M6m’–Jbhecchlmmkhfdeeca_`dgkmopqrsttpkecgijjkkger—ºÎ½œ}mlljjiffc{`dgkmopqrrrqomjfba`aabegiijjjjkjhgikllM‹H026|¤|@GD=:9>GHAMEYog@6-5`Xmjgdccehlkhdaaba`_^^aejlnpprtssqkfdehjklkiflƒªÊÊ°vmklkhdx]`cgilnopqqqoolhca___`adghhiijlkjgfhikvS;69Cx‹•g;62334UwXJQ{„…E521x€Lmlliecbbdfhgeb`^^_]\]^`dgjlnopqqqnifdfijlklkhgx—¶ÇÄ­wonhŒ„[adhjlnoqrqqpolhda`__`begghhijjjiffemld„9EHF€‘£uHE72327C7;F£„P:20]šLhmmnlgdcbbdfgfb`_^\\\\\\\_bfijmnnnmlifcbfhijljfbfu˜ÅÓÄžuo›Äy\cgijlnpstqppokgca`_`aceffggggijihbqa{yCLKH[„oPJJF???=887G~œmIF62I§W_nf\]eheca`adddba_]\\]][ZZ[^abfiklkjkjfb_bdfhiiigcasŸÉÖÁ‘˜ÊÁr[degiknoprpopolgd`___abddfgghgb^_esUsH\Qg}gGFEGIIHKHJN}”X?;>4FžMTkE98@hjgd__`cffdc`_]_`^^\Z[]`cgjkmnoonlfa`bfhijiiidcy¡À¤‰½Í³_Z`cgiklmrqopqolgc``_`abcdffhW;:9~uGwmLyUJQ@@JS\bb^OPDJPYviMD>93:I3BF8=66fljieb``cgihfdaaaaaa_\\^behknopqqoomhcbdgjkkjihecw¡x­ÀΟZ]behijlnopqqonlid````bcdffiH2<8OQA777:35>A><@?<;9<95965DIGIK869;G>2118Ojkkkkifaacfhjigebaaaa`^]^`bfiknprrqqpmgbcehjiiiijx¬j|´ÃÎX^cfgijlnoqpoonlhca``bcdefgT3...4TL:9766778554555556777556789:<@M@0EXemkkkkkkjhdaadhkkifca````^]]^`cfjlnoprqpolgbbehiij~†¬\Q»ÈÈsYacfhjkmoppoonmlhc````acdde^T\V/VS<::997766666666667667777889:=G?Jjjjiijjjkjkkiebaadhiigca`^^^]^]]^`dgjlnpppqoplfbd_[\„‰MXx¯¿Í³c[bfhjklnoonnpnmkfb``_`aabcdg“¹[MK9988777666666666666666666789:?AHeeghhhhijkjkkjheb`beiihfd`^]]^]\\\]_dgjlnoppqqphTW]aa‡‹CX[}¸ÂΟZ_dfhjkmmnnoonnmkdb`___`aaabŒ¸`H@6777655555444534655454444553:GLK€ƒdfggghijjjjkiigb``cfhjifb_]\\\[[\[]_bfjlnoqqqlPWbqw†uAOJN‰¹ÁʈX]adfhjklmnnnnmlhda_^^_aba_~¦fQLH5144433332343D<54333333432`„XW–ccefefghiiiijkjgda_`cfijhe_\\\[\\\[[]_cgklnpqpSS[bewcE\RKT—ºÄÂtT]_aefhjlmnnnmlkhda`__`aa`kˆkU‡——W02322222333A;4433323323e´Ÿ§yHQb‚zdfeefghggijjjjhec``adghid`^\[\\]\\[[\_eikmoqaLLF@B]reXOI`«¾Ê¹f[_adghhjlmooonlkhc`__^``cj\If§žº§P1101112444026421100-/\•›¨•‹4Bfrk_`afffgffghiijihgca_`behiheb^\\\\^][ZZ]bgkmnojgšŠXp€jaPLJv¸ÀÏ©_]acfghjllnoonmkjfc`_^__blP)aš¬ª¢£W286433138WO669<=?D[bÂѯɸu/5`e|«±˜kdefeefghhijjjgdb`_aehjjie`]\[^__^[Z[`eikmlf©­tyhlobRLN‹¼ÂÒ”Y_ceghikklnnnmlkie`_]^_Z[H(JŸË´ÎíÄ€TVY`|`@°>bum_Yi§¾ôðÖ×µU-.Yhq®ÌÄŽbdeeeffggiiijihgd`^`dhijjhc_][]_`_][Z]bgiia•§vm]jlv^NKX ¾ÊË|Zbdfhijklmmnmlkkhc_]^_WE6,;vÓÐåëî·˜b\[`}dÁªSp`c``´ßçÕ½¼|1..Whebeefcdeeeffffhhghhhhfd`__behjiifb^\]]^_^\Z[^adLŠœtgUqoldWOKg°ÁÍÂp^cehiijlmmmmmlkjfb_^][H1-0=žž®Ó¿­ƒ`ghWKŽõèpZnqvp ¦Ž‰gA?6/.2[hffeddcccddfeefggfefghhgeb_^_bgjkjhea_]]^__]ZZ[]Joˆc_UpklmeSVhŒ½ÆÔµe^ceghijjmmmmmllieb_]\H.--1034MPKzuTiqocŠ×σlji_W`N9?=741.25_hefffecdgkhbeeffffefgggghfc`^]`gjlkjhda``____][YJZ|\XPjknlgXOQT–ÃÈÔ¤\_acdghiklmmmllkje`^\?-../149?CGNX^cs†™¦ÅͲ§–‡wi^UKE@;74126ch`fggfcn¾ÚЋbdeeeeeefhhhhheb`^^`djllkjfca_```_]WIVn[XmlrpnmdQLJ[¨ÄÌÓŠY`bcfhhiiklllllkhc`^>+/1457:>CITfƒÃÔÜßäìîéçèìËxeWVPF@94107eh]effeee‡°«—edddedccegggggfdb`_]^bilkkjhea``_^\TENZXG”msqstwgTNJn¼ÆÑÂh]acffghijkllllkifb`B+/1059@GP\l“ŽÚìéîíëëìììòÀˆ¦‰ygP?4-**7fh^hjjjjjfb`acbbcddccddeffffedb`]\]ahjkkkidb_^\ZQ@HMSB‘mnlkjlf\RLN™ÄÈÕ›Z`bdfghhijklllkjhebG,/1.38@HVh€®¢Ëíêïðïðñññø½Œ¢k^SSYdmzŠœ¢ž§ªªª©ª«ª¦£ Ÿˆfbcbbbceeddeeedc`^]\_ejkkheb_][ZR>BEPJ]mfcdd`b^SMJf¶ÃÎÊrZahfefghijllkkkjgeK,.1.047BGNXll«áÚÙÒÐÉý¹¼}EH^ˆ•¦­¯±°­©£¢ žœ›œž ¢  Žbaaabbcdccddeedba^\[]chihgea_\[S<>ALPOkhhgqlhbRLML†ÀÅÔ­^^cccefhhjkkkkkkihN./0/<\« ˜™‘Š…‚|ywvusrooqpqqssstŠ{^`aaacdcdddddeeca_]\\bhihggc^\V=<@IPRnmggpnqiSLMKX¨ÂÊÓ’_^bdefhhikjkkkkjiP13..9I¸ö­sqz•¡…‰”™šž¢žš­œrplfa``]]\Z[ZYZZ\\]]^^^]]\Šže`aaccceeeeeeeedb`^\^afiijhd^X>FJKuxnkqpolooYKKP’ÀÅÖ¬^`ddegghjkkkkkjlP1:,--128>GA48750,//014Žgdyƒ…ƒ€|~sWfWE`‡‰ŽŽŒ‹|~\dl_``bcccddeeddeeedb`^\[]bghhhdC<:FGJrpjhlmhfhidLKI_®ÁÉÖ‰ZbdffgijjjkkjjmP.;,,,/037<>?A@BGHIVnNIIF^¤R}¢¬´»ÃÇ͸_D<;>Q¯àÝÛÕØÛÙÀtkOma``abcccccdddcefeca`^[Z]dhhjiF98HHKpmldhkntpmiQJKK~¾ÀÑÅl_cdfghjjkkkjklM.;/,+,./012335778:FP;63.n—gX{ÇÞÞÞÞÞÝá»Zh`^VL¡åÞÜÖÐÙÝÓ[yNfe_`abcccccddddeeedcb`^[[]dijkG57IIKdbbgekqtpsr]KKZh›¿ÄÕ¬bcdehhijjkkjjbF,<2,61****(())())()(**)/‚”UgdÉàÛÛÛÜÛà¬T^ZgQJ“ãÝÜØØÝáÑMfbWk]\^_bcdccdddeeededcb`]\[^chlE33HJL_hkinojkosplSJMM[©ÀÇÔŽ]befgiiihii_WB+:5.CYF;5110,*******+--B•LoK°ÏÍÎÒÕ×Ó…RRWbSPzßâàÙ̸¤‡@IvMc¼À§hbcccccdefededdcb`^\[]diD13GLMytrpuqkimkgjeLJJIrº½ÎÉt\bdeeffddd^WC-:56+>FCA754.***+-/39=?Z¡|Ln@HMORUZ^`VUTpŠVUWwycTF;5;D:qS[yÍãàŸ_bbbbbcefeddddccba_\[^dA,2FMOx~qkjigijoi`NILKL’½ÀÔ­[\abccddefdXC18241/*+,)'('((()+,,++-i¨iRjD:757753(2DGJqusttlnflmnkjcWLKHa¶¾ÉÓ~W^accdcbcb\M90,-0)##"$%%%$$%%$&&&%2~ŸX[fF9758:876321Bh<54459;>>7"/D?AksmnmkkjgjillngQJJIi¼ÅÎÖ†]cdfedcba]YRMJIIIIIJKKLLMMMOOOOOV‡‹~KjOEE:?P[QCAE823223456P’–{>D=63`[Qab`b`^aa`abcbabbbbccccbba_`?!.>;>mjlsrmjlmmfhihhTJKKM•ÆÅÓ·_]_bcccca_\XTRQRSSRQRQRRSVWY[\]Z‚™}rImGNTHKKMKIJQQ9122359NWr„`NOTD5M]La]^ihd```_bcbbcccbcdccbbc_[> -;<9jmqrmlmpqpkgkkgTLKKJd¹ÅÌÕ‰^ddfefecc`^[ZZZZ[YWVUUVWY[[``^]svlEbKONDDDEEEDAIB864:LKPXZ[ROHHL@AEM`O£‚a—¿½”^bccccbcccbcb\UPL8 -623lklntutrtljlmkqfPJKKM“ÇÉÕ¾icdfghfddba`_____^\ZXYZZ[^bahx‰‚wqiBAHGDFKQTNLH?RNJB;=JQPMKGD@:7<869LbOg„_I†äðè˜`babaacccba_RIJJ8 -7/NjpvspsqmojljfiraJJKLKb¸ÉÌÕ•_defggfedcbaaaaa`_]ZYZZ\\^Qf‡Ÿª}giG478?M]WOB<:DXEB==AHOTUUNKLMNPTVXZheXeJT^²°¢e^_``abbb]XUQLJJ9+62Rqvuohilmmhhkurue^XLKMOŠÉÇÐÈsbefgigfeddccccbaa_\[ZZZZ\UPZm‚krYTRSUVSRTTUVXWXZYZ[[Z[[[\\Z[[[[\^]d`JE_b`^]X[`____`aaa_^__XMJ> *50(hijga`biiqywrtnjncRKMR^´ÇÅÖ¦befhigggfeeddcccca_]\ZZZZ\ZSP_Œfs`\[[ZZYZZYZZZZYYYYYYYYXYXYXXXYXY[Z`N#,4.+smllivpqisruts|~j\SKKLKÇÂÎÒ‚beefeeffffeeddddb`^][ZYY[^b[@cRs]XXXXXWXXWWXXXWXXXWWWWWWWXWWWXXXZZ[QBYda```_````aaaba`_^]]\YQ@-0/--†{~€xv{wjhoxwx{se\RKJKJS£ÇÇØ·c`bcddddffeeddddcb`^][YYZ\^a@;Iu]UWWWWVWXXWWVVVWWWVVVVVUVWWWWXXWXWWQP_caaa`_____``aaaa_^]\[YUOB4+))†|t~xrqiksmifoibaaTKKK]e¼ÃË؉\aaccdeeeeeeeeedca_]\ZZYZ`j^sXv`RUUVVVUWWVVWVVWWWVVWWVVVWXXXXVPU_`Ngbcbba``____aaaaaa`_^][ZWTPG>;;€}xw~xsprb^gpzrijeYLKKW^ZšÂÁ×¼c_acbcddddeefeeeca_^\[ZYZ^g‡ Xkg^a[UWVVWXWWXWWXXWWWWWXWWYZ[YXVbz†Thebbbba``___cefdccbb`_][YWSQNLL†‡†††‡‡‡‡…†‡‡‡††‡‡‡‡‡ˆˆˆˆ‡‡†…ƒ‚|yuttswywyzzy{{zwuyyz{zyyz|~€€€…††…††††††††††††††††‡††††‡†…„{xuttvuvyxxywy{yywuwvxzzwvy{~€€…………††††††…†……†††††††……………†…„‚€€{uwwxwwyzxxwz{zyxwvuwyywxyz|~€€…………††……††…††…………………………„„„……„ƒ}zyxwwy|{yxwz{{zyxvvxyyyzzz|~†„ƒ……………†………………………………„ƒƒƒƒ„…ƒ‚€~{yxwy{zyzzz{{{zzvuxyxyzzy{~€‚ƒƒ„„„…………………………………„‚‚‚‚‚‚€~|yywyzyyy{||{zyyuvxz{zzxz~€€‚†‡ˆ……„ƒ„………………††…„„…‚€€€€€}}~~{zywwwxzz|||{zyxwvwxxyzy{~~€€€€‡‰ˆ„„„ƒ„…††……ƒ„……ƒ‚}~~€~}{{}|zyxwxwvy{}||{{yxyxwuuxyy|}~€€„ˆ†‚ƒ†ƒƒ……†‡„‚ƒ}{z{{{|}}}~{{z{|zzzxxzxx{z|{|}|zwyyvuuwwx|€€€†Šˆƒ…‡ƒƒ„‚€€|ywwwwx{{z|{yyxy{yzzyxyyz{{||}~|zyyxwvuvuw{~€€~‘ŒŒ‰„………††yxxxvvzzxzyxxxyzz{{yuwxwz{|}~~}zzywywuuvw|ƒˆŠ‰ŠŠŠ†|ywvwxxxuvvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy{~€~~†………„„ƒ‚‡‡†††‡†€{vvwvvurtuuuw{|}zzx{{zyy{|~~}{yxvwwwwy|‡€}|€}‚ƒƒƒƒ‚ƒƒ‚xvvuuttsuutuwzyzyxz|{z{y{}~~~}{xxxxz{~€€ˆ€}{‚€€€~~€€yttttsrsttuuvxuxyx{zyyyz|~{wwxx{~€}}}|x}|{}€‚~~€ytrtssrrsuwvuwyyyz{yxxxz|~~|wtuvw{~}}~~}~|wr}}}}~‚€€€€€€xtrssstttvwxwwyxyzzyxxy{|}zzxvqpppnqrprsv{{wqnm}}}|}€€}|~~~wttsuttuuwxyxyzz|}|z{{zxsnhnnrtromhggfddehfegilƒƒƒƒƒƒ„„ƒƒƒƒ‚‚‚€€}||}}~~€€‚‚‚‚ƒ‚}xuuxyzyyxxwxxuqqpmlnomlˆ‡†ˆ‰‰ˆˆ‰‰‰‰‰‰‰ˆ‡‡†ˆ‡ˆˆ‰‹‹Š‹‹‹Šˆ‡„ƒ‚ƒƒ„†…†…„ƒ€€€€‚ƒƒƒ„„ƒ„ƒƒ{v‰ˆˆ‡‡ˆ‰ŠŠŠŠ‰ŠŠ‰‰Šˆˆˆ‹‘ŽŽŽŽˆ„ƒƒ‚‚‚‚ƒ„†‡††…‚€€‚‚‚‚„…„††…†‰‰‰ˆ†‡ˆ‰‰ŠŠŠŠ‰‰ŠŠ‰‰ˆŒ‰„ƒ††‡‡‡‡‡‹‰„ƒƒƒƒ€‚ƒ‡‰ˆ‡…ƒ‚€€€€ƒƒ‚„……†‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠ‰‰‰Š‰‰ˆ‡ƒ}}€ƒƒ„‡‰‡‰‰‡ƒ‚ƒ‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€‚€€‚‚ƒŠŠ‰‰Š‰†‡‡‡‰‰‰‰ˆ‰‰‰‰‡†ˆ†…‡‡†‡‰‡†‰…„ƒ€‚€€€‚…ˆŠˆ†ƒ‚€€€€ˆŠŠ‰‹‹‰‡‡…‡‰‰‰‰‰‰‰‰‡‡Š†‚‡ŠŠ‹Š…~ƒˆ……‡„€€€‚‚‚‚€€€‚„‡‡ˆ‡ƒ€€€€€€‚„‰‰Š‹Š‹‰†…†‡‰Š‰‰‰‰ˆ…†Š…€‡ŠŠ‰Š…}ƒŠ‡…‰ˆ†…ƒ‚ƒƒƒ‚‚ƒƒ†‡‡†„‚‚€€ƒ†‡‰ŠŠ‹‹‰‡……‡ˆ‰‰‰ˆ‡„„††…‡ˆˆˆ‡ƒ|‚Š‰††……‡†„‚‚ƒƒ‚‚ƒƒ‚€€€€ƒ…‡ˆˆ†‚„|ƒ‡‰‰Š‹‹‰‡……‡‰‰‡……‡†…†‡‡†‡†……„†‰‹‡ƒ„ˆˆˆ†ƒ‚‚‚‚‚€€…†‡‡‡……||†‰‰ŠŠ‹‹Šˆ…†‡ˆˆ†‡ŒŒ‹‹Š‹‹‹ŒŒŒŽ’‰„‡‰‰‰ˆ‡„€‚‚€€€€€‚„„ƒ……}}~ƒ‡‰‰‹‹‹‹Š‡††‡ˆ‡ŠŽŒ‹‹ŠŠŠŠ‹‹ŠŠ‹ŒŒ†‡ˆ‰‰‰‰ˆ†„€‚‚ƒƒ‚|y€†|}}„ˆˆŠŠ‹‹‹‰††‡‡ˆ‹Œ…‡‰Š‰‰‡‡ˆ‰‰‰‰€Šˆ†ˆˆ‰‰‰‰‰‡ƒ‚‚ƒƒƒƒƒ‚€€€}|€†w|~†‰‰‰Š‹‹‹‰…†‡‡ˆ…‡ˆ‡‡†…†‡‡‡„€‡‡‡‡‡‰‰ˆ‰‰‰‡…ƒ€ƒ‚‚‚ƒ‚€…†‡pz}}‚ˆ‰‰Š‹‹‹‹ˆ†††……‚ƒ‚‚„„„‚ƒ……‡‡†ˆˆ‰‰‰‰‰ˆ‡„‚‚‚‚ƒƒ‚…†ƒhm|}{~ƒ‰‰ŠŠŠ‹‹Š‡†…„„„„ƒƒ‚‚„ƒ…„‚„………„…‡ˆˆˆ‡‡‰‰‰ˆ‰‰‡…ƒ€€‚‚‚‚„†khq|}~†ˆŠŠŠ‹‹‹‹‡…ƒ„†‡‡‡„ƒƒƒƒ†‰ˆ‡†„„‡ˆˆˆ†…‡‰‰‰‰ˆ‰ˆ†ƒ‚€€‚ƒ…ƒkjkv€~}ˆŠŠŠŠŠŠ‹‰…ƒ†††…ƒ€€€€„‡ˆˆ‡‡‰ŠŠŠŠŠ‹‰‰‰‰ˆ‰‰‰‰‡„‚€€€€‚ƒ~~nnms€}~…‰ŠŠŠŠ‹‹‹†‚ƒƒƒ„‚€€‡‘‘’”••••–—–ˆ‰ˆ‰ˆˆˆˆ‡„‚€€‚‚{vominy€~|€‡ŠŠŠŠ‹‹‹ˆ€‚‚‚‚ƒ‚‚Š““‘’’‘‘‘ŽŠ‡ˆ‰ˆˆˆˆˆ‡…‚€‚{skkhikz€}}ƒˆŠŠŠ‹‹‹‰‚ƒƒ‚‚‚‚ƒ‚‚‚…‹‡ƒ€€ˆ‹ˆ€‚‹ˆ‰‰‰ˆˆˆ‰‰ˆ…‚€‚{soniges€~|~…‰ŠŠŠ‹Œ‰ƒ‚ƒ‚‚‚‚‚ƒƒƒ‡Š‚zxx}‰Œ‹~xzy€‰Š‰‰ˆ‰ˆˆ‰‰‰ˆ†ƒ€ƒ}tmkhgfl{~}€‡‹Š‹‹‹‚€‚„„‚‚‚‚‚ƒ„ˆ‰…‚€€„Š‹Œ„ƒ†ˆŠ‡ƒ†ˆˆˆ‰‰‰ˆ‡…ƒƒ€ufgghhiq~€~|ƒŠŠ‹ŠŠŠƒ€‚„„‚ƒ‚ƒ…‰‡ˆ‹ŠŠ‹‹‹‹‹Š‰‰Š‰Šˆ…†ˆˆˆ‰‰‰ˆˆˆ†ƒ‚€{ihgfghhu€}ˆŠŠŠ‰ˆ„‚‚€€€‚ƒ†Š†‡‰ˆ‰‰‰Š‹Š†ƒˆ‰‰Š‰ˆˆ‰‰‰‰‰‰‰‰ˆ†ƒ€jhgdgihs~~„Š‹‹Šˆ‡……„„ƒƒƒ„…†‰Šƒ„†…††…‡ˆ…€{ƒ„‡Š‡‡‡†‡‰‰‰‰‰‰‹Š…ihgfikin|}€ˆŒŒŠŠŠŠŠ‰ˆ‡†††„…‡Œ‡‡‡††‡…†‡‡‡ˆˆ‹ŒŽ†ƒ†ƒƒˆ‰‰‰‰ŠŒŽ†jjjjiihkt€}ƒ‹Œ‹ŠŠ‹‹‹Š‰‡‡‡ƒ‚‡”“’’””“””••–•––—”ˆ†‰‡†ˆ‰‰‰‰‰Š‹‡‚€lkiinkhkr}‚}‡Š‹Š‹‹‹‹‹Šˆ†‡‡‚‡‘–•”•••”“””““”““”’ˆ‡ŠŠˆˆ‰‰‰‰ˆ‡†…ƒlnmoqpmpt}~}}‚‰Š‰Š‰ŠŒ‹Š‰‡‡†‚ˆ‘‘‘‘‘‘‡†‡‡‰‰ˆ‡‰‰‰‰‰‡……‚zzzzzzzzzzz{{zzzzzyyyyyyyyyz{„ƒƒ„„††‡††††ˆ‡†‡‡†††††……‡†„ƒ‚ƒ‚‚yzzzzzzzzzzzyyyyyyyyyyyyyyyy{‚ƒƒƒ‚„…††………†ˆ‡†………………†…††…ƒ‚‚‚zzzzzzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„…†‡†…„„„„ƒ…††‡†…ƒ‚‚‚zyyzzyyzzzzzzyyyzzzzz{z{{|zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„…‡‰ˆ‡…‚‚‚‚€€x||zzzzzzzzyzyyyyyyz{||}}}||}€‚„„„„………„…‡‡‡………„ƒ„…‡‡ˆ‡…„‚‚‚€€{‚~|}}|zzzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€€~|{zzzz|{yz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡†„…†……„……††††‡„ƒ‚‚‚‚z{{}~|{{zzz}{{~€‚ƒ‚‚€‚ƒ……„„„„……„„„…†‡†„………„……†††…††„ƒvst|}~}|{}€…††…„„ƒƒ„‚ƒ…‡‡………„„…„ƒ„…†………„ƒ„„„„…†††…„ƒ‚‚‚ƒ|yx|€‚€€‚ƒ…‡‰ˆˆ†…„„„„…‡‡†††…„„…………†„„……„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚yyy{{x}ƒ‚€€~€ƒ‡ˆ†ˆ‡…„„……†‡†……††…………†……†……„ƒƒƒƒ„……†‰‡…‚‚€‚‚yz{z{}|||zxz|~†‡††‡†……†ˆˆ‡ˆˆ†…†…………………‡……„„…„ƒ…††††„ƒ‚€€‚ƒ€‚€„ˆƒ~~~~~~„††…††††‡ˆˆˆˆ‰†…„„„…„„††‡††„…„„„†‡ˆ‡„‚‚‚‚‚„†„„„ƒ‡Š‡‚€€€‚†‡††‡‡‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†ƒƒ‚†ˆ„‚€€‚‚ƒ‚†‡‡†‡ˆ‡ˆ‰‡‡‡‡…„…„„„††‡ˆˆ†„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚……ˆ‰‰ˆ‡„‚‚ƒƒƒ‚‡‡†‡‡‡ˆ†ˆˆˆ‡††„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€‚ƒƒ‚„ƒƒƒ„„ƒ‚‚‚‚‚‡‡†‡ˆˆˆ‡ˆ‡‡††…„…„ƒ„…‡†‡‡…ƒ‚„ƒ‚‚‚|||~€ƒ‚€‚ƒƒ„„ƒ€€‚ƒ„…ˆ‡„……††‡ˆ‡‡‡ˆ‡‡………„ƒƒƒƒƒ†‰†††‚}}{{z{{{{||~~~~€|~€€€€~€€‚ƒƒƒƒ‚‚„„………„ƒƒƒ‚€€€‚……„……€€~~€€€€€€€~~~}}}}}}||}}€€~~~~~}~~~€€€€€€€€‚Š„ƒƒƒ‚‚‚‚€€€|}~}}}}}}|||}~{{{{|}{{|€€€€~€ƒ„‰†‚€€€€€€€|{}~~~}}}}}|||}}~~|||}~}|}}|~€€€€€€~ƒƒ‚‚‚€€€€€€€}|||}~€~~~~}}}||}~~|||{z||xz~}|}€€€€~~€‚ƒ‚†ˆ€~}}}}}€€~~~}}}~}}}~}|~zxzzx{|}€‚‚‚€€~€‚…†‚‚‚€~}|}|~€€~~}~~~~~~||…{xxxx|ƒ‚||€‚‚€}‚‚‚‚‚ƒ„}}}}~~€€€~}~~~~~~{{€„|yzzy~‡‚||}~~€€‚‚‚‚€~~€‚ƒ‚†Œ…ƒ€}}}}~~~~~}~~{{}|z{||€‡‚||}~€€‚‚‚‚‚‚€~}}†„ƒ€~}}}~~€€~}€}~~~~~‚€}||~~€‚‚‚‚€~}~ˆ†„‚€~}}}|}€~~~€}{}}}}~~}}~~}}|z}€~}|}}€‚‚‚‚‚‚‚‚Ž•…‹“‰‚€~}}|}~~~|}|||}}}}}}}}}}}}~~~}}~~‚ƒ°½Ÿ’ƒ„ƒ‚€~~}}}~€€|‚‚}~~~~~~~ˆŒ€~~}}}€‚‚€€‚‚š¥–›ƒ„ƒƒ‚~~}}}}~€€ƒŽ†€~~ƒ€€…„€€€€~~}}}}~€‚€‡Ÿ‚‚‚‚‚}}}}}}~€€€€€‚„ƒ„…€ƒƒ€€€~~~}}~}~‚‚€‚€Ž¶{}‚Œ‚‚~}}}|}~€€€‚„ƒƒ…‚€€‚ƒ‚€€~~~~}}}}~~€‚‚‚‚‚“³}{‰ˆ‚ƒ~}}}|}~€€€~€€ƒ‚€}€€~€~}~}~~~~‚‚‚ƒžŒ€||€‚ƒƒƒ€~~~}||}€~}~‚€€€€~~€}||||||~~~~}~~~~‚‚‚€€‚«¡~‚ƒ‚‚ƒ}}}||}}€€‚‚‚†ˆŠŠˆ‰„}zywvvvvvttuuy~}}~}}~€‚€¬Å„€|‚‚‚ƒ‚~~}|}}|~€€‚ƒƒƒ…ˆ‡†‡‡ƒ}yxxzz}}}{{|{~~~~~~}}~€€€«Ë‚~z|}€‚‚€~}}}}|~€€‚‚ƒ„ƒƒ{||}~€~~~}~~|~~~~~}~€€~¥Ìzyz~ƒ•ˆ‚€~}}}}}~€€€€€€€~||}~}}yxy|~~~z}€~~~~}~}ŸÊ€~yxy}„Š„‚~~}}|}€€€€€€€}}}€€€}xtv{‚€}z|€€~~~~}}~€€~–È€~zxxz€‚‚‚‚~}~}~€€€€€€€€}}|}~~|yswz}{||€~~~~}|~€ˆ¦~zxwxz€‚‚‚‚€~}~~€‚‚‚~}}|{||{{zzz…z{|}~}~~~~~~‚~yxyzz~‚‚‚‚€~|}~€€€€€€||}||||}}||€„‚}}~|~€€~}~~~~|}€‚€~{x{|{~‚‚‚|}}}}~}€€||~|~~}~}}}~|}|{z€~~~}}|{}€€}{|}~~€‚‚‚}}}}}}}}~€}yxwxwwxxwwvvvuuuuv€€€~~~~}{}€ƒ~€„„‚‚‚„ƒ‚€~~~}}}}}~~~xvwwvwwwwwwxxwxwvx~€~€€€‚‰ˆ‡ˆ†…„…†„‚™Ž~}}}}}}~~~|y{zyyxxwxxxxxyyy~€}}~~€‚‚ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÄÇÄÍÏÏÏÏÏÏÏÏÏÏÎÎÍÎÎÍÍÍÍÌÍÌËËËËËËÍÍÍÌÍÍÍËǾ¶­¥Ÿ‘€|qikvkjgmlscfbU\`\[a\S[`\]UPNSYX_d_dRTUUTVTSXTPW]^\XSLE=8;;522?2ÎÎÏÏÏÎÎÏÏÏÎÎÎÎÍÈÃÇÂÉÍÎÎÎÎÎÎÎÎÎÎÎÍÍÍÌÌÌÌÌÌËËËËËËËÌÌÌÌÌÍÎÎǶ §–wƒ{~r_^`o|n]^nkg[XXZ_YVTO]f_[ROOPXV\fgfPU\_YQPKQQX_a[VOLI@@66631075ÍÍÍÎÎÎÎÏÏÏÎÎÎÍÌÇÀÄÀÇÊËÌÌÌÍÍÍÍÍÍÍÌÌÌÌÌÌËËËËËËËËËÌÍÌÌÍÍÍÍÍÍÀ£Šˆqqnmjknmt}y^b`ccZY[ZZ\RSV\bYYXVSQTRV\fcPQXZUMNMQQ\c_aYPGA?<851220.2ÍÍÍÎÎÎÎÎÎÎÍÍÌÌÌÈÁÅÁÉÌËËËÊÉÊÊÊËÊÉÉÉÊÊÊÊÊÊËÊËÌÌËÌÌÍÍÍÍÍÍÍÌÍ̵˜’ylruxs}~ge`\gY`bb[ZWU^YSYedRPRVWRMKVOYfQNSWYPLROPXa^`UTUOH><85221--ÍÍÍÍÌÌÌÌÍÍÌÌÍÍÎÉ¿ÁÀÊÍÍÍÎÍÍÌÌÌËËËËËËÊÉÉÉÊÉÉÉÉÉÉÉÉÉÇÉÊËÊËËËÌ»’ƒ}s`k}nbg`_`VhaXWTSLZ`^`pn[QOT[SMITRRXRYZWUNOQTZ_XVZQOYOI>?A;520,+ÌÌÌÌÌÌÌÍÍÍÍÎÎÎÎɹ»ºÉÍÍÍÎÎÍÍÍÍÍÍÍÍÎÎÎÍËËÌÌÊÊËËËËËÉÆÉÊËËËËÇÆ£Šyzpg^mood_a_W\^URZRSPXfeefcgVQVXSQSTRRVQX]`USTQYZ\XWSSOQPI>?=5550.2ÌÌÍÍÎÍÎÎÎÎÎÍÍÎÎƺļÆÎÍÍÍÎÎÍÎÎÎÍÍÌÌÍÍÍÌÌÌÌÉÊÌÍÍÍÌÉÅÊÊÊÍÎÌÇÄÁ³›yvpeWTb^Y]``]b_WUQKMUY_aci^ZSOOPNJRQTP^KSSZZVYX^Z[WRPSNQIEC>@;530/3ÍÍÎÎÎÍÍÍÎÎÍÍÍÎΞÌÁÅÍÌÌÍÍÍÍÌÌÍÌÍÍÌÌÍÍÍÌÌÌÉÉÉËÊÆÂÃÁÇÅÇÌÍÉ¿¼¯‘~wsURPQOWXloebc[XMCAMYT\aa^VSQJLKHKHOKXNQTUVVZ[Z[_XRNRMUNBG@>>40.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÍÍÍÌÍÎÎÍÍÍÍÍËÊÈÆÅȾ·À½Â¾ÄÊÉÄ»¯¥§~sp\UVXXgg^nff`VVRQUTdTOZ]SNVWQKJGNOQYVQOWYUSWXUOTXRPVQWV?46220.---ÍÍÏÕÔÍËÌËÊÊËËÊ̾ÇÁÁÌÍÎÎÍÍÍÍÍÍÍÍÎÍÍÍÎÎÎËÃÁÁ¾Á¼º«¾¹À·¾Æ¿½´¥Šˆ€q‰{dY\Z[cjUl]T[SNST]]VMOQXQOSUWLKKSRRYf[NVXVUUUYQPYWW\]MC=7540.-,--Í×äîíáÐÊÉÃÀÁÄÆÉÀ¾ÆÁÀÊËËËËÌÌÌÌÌÌÌÍÍÍÌÍÍÍÌÅÁ¼³»¸²¡¹´¾µ¶Áµ»³™†|zlgacbbSZb[Td[RY\NRRV\TUSNNNKKLRXUOQOQQbZMY[WQLNXWVSWPLK@7=<:61.-,--×ëåÉÇççÌÀ¸³²·ºÀÁÂÉÆÂÊÌËËËËÊÉÊËÊÊÊÊÊÈÈÈÄÅÁ²¬§¬°¦Ÿª­µ­²¸­¬ ƒwwsjhQ_eZWbYQ\h]X^XLOQS[`aTPLLLMPLTWKOTNR[\X`\TOLNYUVVOPWJBB=:;:51//-,à糊¾êÒ¹³°®³²¾ÃÅËÈÄËÍÍÍÌËÊÆËÌËËÊÉÈÅÂþ¾²¡›˜£¥š—Ÿ­««¬§£™ƒsljgjn]WZUa_UV^[X_WSVSSTT_XPSONSUQSSWQOVPSY_X]WY[V\^SSYWSP@>G:7676520/.ŽŽ‡‰‰ˆŒŽ“œ¬²²ÀÃÄÊÇÁÊÍÍÍËËÆÀÈËÊËËÇÁ¹²´´¸ªŸ•Ž™›˜“ ²­ª ˜™xiddVe`RMHOW`WQQZe`^n^^b\TWNOOOOQVQTPSZRYON]]\fZb^hfaROMMJK@=A8854453.02‰…_YZUq‚€zˆ¯³¾¹ÂÇÆ¿ÈÌÌÌÊÇ¿¶ÄÊÊÇź© œ›££›œ–‰•˜’“žª«œ’Ž„vdcfY\TORPPY`^Zgn_PTaNWon[QOKMMKGILLNMMPWTW]TRWW_e][VOJLGEECHA8543344/04¸½Ž[S}¾ÓØγzŸ·¶²¾ÆƸÁÉÉËÊǾ³ÃÊÊ¿µ§™Ÿ•˜•‹ŽŽƒ–“Š‘˜‘Š‰Šƒ~usnaXSW[YNX\VT]g[QP]fga^[RRMJJGIHGEFNLR]ZVZVNZfffU^TMTRHI@?A9754313336;`£ ydÍÖÛÔªp‡³­«¹Å»©±¸¶»¹Ç½°¿Ä¹«Ÿ ˜› “”Ž…€ƒ‰Š‚€Šˆ…ƒ€„€~yxoaUVST]WTYTSYfRQP\edSSZWTMKLIJHFKJIQU[aRXRPkrce^b]U_XVSF=;;864322549@}™œ…Š§¤f]ePbu¡¤¡«­ŸŸŸ¡¢¡§·®££§™™™ —™ž’•„ƒ…~ƒ€xƒˆˆ„|}||tppicWPZg[RVRV]ZNW\\^XQQQRSLKPQLORQGBJOS^QRM\ba_Zei\QS]YESE<;;8554488:>›v3Ež“CENEMi  ¬Ÿš¡¨®ª©¨©¦œ˜’š™ ™’—ŒŽ‹ˆˆƒ}y€†…€y{xvphhdYVYRX^YT[Y\YVZZZ\ZUOIUTNLOJADFFA?EGHQKRRX[`Xan]^OZ^ZHEC?=<856668;?>n`R68V]_„U?=_‚”k«¹»ÈÐÓ×ÖÕÕÔÕÓÏŦ•œ•Ž‡Ž‹ŒŠˆ…‚€zƒ~|uvwqrmjfX[c`bXRSXW]]aXS]SX^ZVQINLNIBEE@?EFDAQGUW[X```\RbaUVWQLGDF:65667;=EF@DICACXdnYGBFq¡T¨ãÀªž–Ž…}~|~ƒŽš£‘“Œ‹…Ž‰Šƒ‚‚z}ŠywtqsrnibWZba[RUOQ\ebdVNRRi]aVLQQOJHDIRICILLFPQ\]XLZdcdT_cUOX]PE@@<97667;@LBjihhihrtsqjhci‘ÎèâvCEECNPEFEDEAn¡‰~ƒ‡‚—‰ˆ~~„‡}Šy{wuuuwsbVQYWZVYWNY[\^ffilolQ[[SNRQGDFPVQPNOPIJUY]ZNN^Z`]]feV^R@::==;::8:==>;WVUVVVUTUXY`ai–çèÃRDECKfcVWOIJDLŸ†w~„‚Š—ˆƒ‰{‚‰‰…~‡‚|xvwzuun_X\_TVSTW`WOM^s‚tb[\eRTMLRRMMJC?KTQRTRN[ddeZSXY^[R\XUUG;99;;78:98<===@ST[N<8:<;†”™‹~ƒŠ}‚‚‡‡~‚~vtutrqre[^[OOYYZ\ST^bf_\T\baSVMKKRLGA=BOSV^ZZ`gm`]]W\TXTSWWT@:887797777:??>=RTUUbXUSSR|„…¿{»Ï~:BDJ@@=@B=<<;7c²íÐ}‚~y~|€†„|€{~wqtxxsnjf\SMJWVZSTW[ZWIW_Z\XX_WKMTOLILOOPTUXV[ndZZYZVYXRWKMJ>763^:7888:AECEVZ^h¤{_ZS^Ùëæñw­Ô›}‚†Š™˜—››™˜–’›ÀâÇ~|z|~{}||€ƒ}xxpmwxzphacSPSD@MVUUXZOKIVY[[UZd^SMLIKOMMJGKNVXY]`Z^WVRVOKMHA<8676R†?789;;?HJHIINlˉNKG]Ûéãà_Š¿ÓÌÌÏÏÐÑÔÖÕÔÓÒÐÍÓÇxzyw{z~{}‚‚‚ywxlintxmg`^OQUHJQUX[UPSPTUZUVWY`\RKDCCEHIFEGJRU\[UMVRTSSNGFC=96686UyA88;=;AGGH“œªâ³–’‰~„rkC‰ÓØÜÞßßáâââääãáßßÜÙ™ywwxvxuzz€~wvuoummuphg^QVWUXX_\XGEQW^WZXWTV\VOIBE@>??=;@KNVaYRW[RV[PLG<:987772†âQ16;9;BHIJëêìëééééèåÂjKF=‡ÖÛâêêêííìçéêìëêêàÙ¾wvxzyvxz~}}{}zvsvvjksjgf^N^k\UTYZYRPVXYb^WU[ZUMGD?@?><68?EIK[hWUZXZ\UGDA:68877:4„äQ/8;=BGHDPéðòòñóóòëêÀfMJ@~Üßéêç뼡§Ö±™©âèáßØÕŒ{ywvyzxz|y{zzwxtmhnffcb[gpc]NQ[XURSZW_YU[eXOICA@?CA?>CHC>K[kj\MPeRGA;;:7<;99>7uÚW2=CRPJU^]jŒmQVXKA;666;@BA>@;wæc8?9;CIOYaM[_^`[YcdPy_DDPgÓëèëéêíåäêçàåìéêêìÙƒywyzlzz|}|vu…sssqhegrzgWUURRQMTWNOZ\YTZa][NRTOIEKPI=?MTNeniwˆi[^RHB>:;?GMIB=?9}óm9;4=HIX_lxƒŠ“£‹‘}iMKIBWÅïìììììîíìíîíëìììïÎ|xv}{jy~|y|ws€~zrokkhgccm`TV]XW\SOSQTQ[]Zd]UVROIGGBGJFEFNMTilkssdalgUPMMOUUVTIIO:yõs769U\]kiiWYZcqb`_]ZL<=<8R¸ïììëëêééééèçëêèéîÄwyuxwry}zy{{uzwxtqjb`_[[hbUOWY`ZWRLNXVZd_`XPNUQLE?>IWbW[dind[WY_aeklkof\iyvplfjjV„ñƒUT\vvprjfSSRPMMNRSY`P015M£åÏ–‰ÞΊŠ†€ªìœ|¿Ø·v|st}~}tx{zswz|xwnbZafcaa_TWXYSQPONV\YTXYSNQXSQV^^sƒyclxn[TW\^_ahfm~„‚‚„~|€„ˆˆ‰”²”‰ƒ|}rsphzzzzyyy}|}€s1.2TŽáѲ¢Ü馔•““Îî´¯Îߟmxww{{}uu|uqwz{qukd`_e`\`_YYUVSU[\RRYXOMNT_[W[gz‚‡Œ„dbrjSQY\\[]fiku}{|tt}‹ŒŽ‘‰…‰‚nqplohwwvuvwwyyxysGADd€ÃÍÆÄÅÊÎÎÏÐÖÖÌÈÊÔÒ†pxyzuuvytt{tsxvvsqllmklkmronolqyˆ‘Ž‡ŠŽ‘‰Š•´˜€~{x||lammbW[`_][_geirfdbdctz~„†„„„~{ragpmjgpponopqrtttutux{~~~}|}‰“’„Œsvxyxwvtsrrusstsrqmklkllmqruyzyxwtstvuvxz{‰•¤²´«š‹}rkjkkmlifa]\]ZY]]WY\]]`fhefcadoogljf^itnswnmllkmnpqrrqqqrtwy{~~~}|zyxvut{ŠŠ›ž‰opqtwwuurqpnnnprqnpnmjhghhjkmotuvuttrqqqoonpuŠ˜§®®§ž€rggfda_\ZVZXWWXXWYWWW[XWWYYWTTUOYZcpysoljijjlmnpponnoopsvyz{||||zxwutqz„z…Ÿ“uoqquz‚‹’–›Ÿ£¥£ª«©¦¦¤¢œ“‹‚{jjlnqstttsqomlmonnosz†˜­½º¤Štjfhhgc_]\XVSRTSRSW_aUUWZVVUTRRURYxvrmjiiijlnnnpppoopprsuwxyyxxxwuurop|Š““{‚˜¡¬¯¬§ ›“ŽŠ„€‚„…Š‘œ¡ Ÿ`bdfjnpsuvutqoklmnponllx©¼¾¯š‚rjiifdaa[VYUUTTYWSSUZSTTYXUUTSwvvsokihhhjkmooopqrrrrqrtuvwwxwwwvtspmm~¨·˜‹ƒxmd^Z\^b|e`YRRW[Z\]}n`bbbceimprtvwvspmjiknppnlq”°ÅÁ¨‰rhhjjifd`_[XTSSSRRSTTYVTVVWuuvvtpkgfefhjllmnnoppponooqsuuvvvuusqqpn{“ZONNOPRWY[`w…tXTRdge`\Q?Kldbaa`^_`chmprrtvusokhfjnomkhiyœÀ̵skikjijheb^ZWTTRRSRTXTVUUuuuuutqkheefgijlllmmnonmmmmoqrsttuvtrrqo|h>Q[gt}ƒs9760,054=bhjjkiU43WnEfhlnnkfbbbba_]]`fjmoqrrsttoiccfiklkifez¦ÊдŒsjkkifeefffea\\ijloqrstsrpmgcbaaacdfghhjkkkkjiiikmoqqr‡LpK0:<:67GEP]^\\RF57ZvdP54DƒI]eeinonkifdefda_`bgjmoprstsroidcfikkjieg{¢ÆϹrllkjhgfeefdbfikmoqssssrpmiecbbbbdfghikkkkkjghjklnps~J<258999EKdr^FHGD7DUlT4T¦aQieceilnnkhfeeeca_`dgkmopqrsttpkecgijjkjffu˜»Î½œ}mllkjifffd`dgkmopqrrrqomjfba`aabehiijjjjkjhfijlmvoX€322FttDCIECCLKE@9Dp“NC=81mžFjjVPTcigd__`cffdc`_]_`^^[Y[]`cgjkmnoonlfa`bfhijiiidcy¡Éֽͳ_Z`cgiklmrqoppolgc`__`abcdfggg^USbqg_œOUlI…lgNGGIMONJOIQbŒ•sE;;<0b}9b[8;4Jmjieb``cgihfdaaaaaa_\\^behknopqqoomhcbdgjkjjihedwœš­ÁΟZ]behijlnopqponlid````bcdffga<96UƒSJoJ\l=GC>CNW_`\TKH?IGXlXKH?53:77A;7:0Hmkkkifaacfhjifebaaaa`^]^`bfiknprrqqpmgbcehijiiihdlŸ~´ÄÎX^cfgiklnoqpoonlhca``bcdeeg]1699ED;254209=?9776656847947?A@E?79;BL7008Galkkkkjhdaadhkkifca````^]]^`cfjlnoqrrpolgbbefhijjkx­Q‘»ÈÈsYacfhjkmoppoonmlhc````abcedF32..A^@<9887676666666567776667789:I;\jhihhhijkjkkjheb`beiihfd`^]]^]\\\]_dgjlnoppqqpkd`\[\…‰Y\~¸ÂÍŸZ_dfijkmmnnoonmlkdb`_^^`acbct¸˜?V;98776665556555555655665567888B@Rqffffghijjjjkiiga``cfhjieb_]\\\[[\[]_cfjlnoqqqrjVW\``†‹OIN‰¹ÁʈX]adfhiklmnnnnmlhda_^^_aba`o°CI66666544544444435554455544425JRPRygcffefghiiiijkjgda_`cgiihe_\\\[\\\[[]_dgklnppriPWbqv†x[QKT—ºÄÂtT]_aefhjlmnnnmlkhda`__`baac›ƒYNZB224342323243:K54333333341FˆTYZƒydeeefghggijjjjhec``aeghhd`^\[\\]\\[[\`fikmoqmQT]cgzeeXOI`«¾Ê¹f[_adghhjlmooonlkhc`__^`aacwwWm¥ž’=02212122337=4542322221A“¯—£eA[oi_`afffgffghiijihgca_`behiheb^\\\\]][ZZ^bgkmno]ILD@G[jaPLJv¸ÀÏ©_]acfghjlmnoonmkjfc`_^_`aicCJ–¥¡¿€<0/0011244305531000/.<œŸ¨•g*Rdw©±—kdefeefghhijjjgdb`_aehjjie`]\[]__^[Z[`eikmnhcŽ}OklpbRLN¼ÂÒ”Y_ceghikklnnnmlkie`^]^^`bi0<Ž¾š²>=:898636Ee@7;@CEEZl“ÝұΥR)Bgo©ÌÃŽbdeeeffgghiijihgd`^`dhijjhd_][]_`_][Z]bgilkf­­tzjlv^NKY ¾ÊË|Zbdfhijklmnmmlkkhb_]^]^QS/3v½É³ìç gY[^tˆJcÄXLrui]YŒªßðíÐÚ‡<+9eebeefcdeeeffffhhghhhhfd`__behjiifb^\]]^_^\Z[^cghb–©unqoldWOKg°ÁÍÂp^cehiiklmmmmmlkjfa^^]^L<34O¢ßÒíéá¢ZY[i‘Z˜Ï‰Vn]cad¢»ëÕŨªJ/,9efeeddcccddfeefggfefhhhgeb_^_bgjkjhea_]]^__]Z[\acNŒugpklmeSVhŒ½ÆÔµf^ceghijkmmmmmlkida_^]V7;>1U•‰˜µÌ¦¬hfnbTUÉû¼Ujovuw³†{xK891./:5321Cjfaffefeˆ±¬˜fdddedccegggggfdb`_]^bilkkjhea``_^]]WIWp\\msqstwgTNJn¼ÇÑÃi]acffghijkllllkigdaP..13568722/Ekh^gffffc``bdgfdddccddfffffedc`^\]ahjkkkidb_^][[TFN[YMmnlkjlf\RLN˜ÄÈÖŸZ_befghhijklllkjifbT/.3/27>BIUqŠ‹†’”••–—–•‘†zh`baabbcdccddeedba_\[]chihgea_\ZZR>BEQLkhhgqlhbRLLL†ÀÅÓ­^^cccefhhjkkkkkkif^4-2//35@FHN[lrÒØÖÑÌËĺ´­£QD?Id|“›¥­¯±¯¬­«­ª©ªª¬««­­­§Ÿ]`aaacdcdddddeecb`]\\bhihhgc^[[T<>BLPnmggpnqiSLMJW¨ÂÊÓ’_^bdefhhikjkkkkjha7///4AR²´L--1BKIJGFGFBBCACF`¦¤¦§Ÿ˜“Œˆ†„ƒ€|||}}}~}~~€”Še`aacddeeeeeeeedc`^\^bgijjhd^[U<=@IPhqjhoosqeZOKKw¹ÁÐÉn[bdefhhikkkkkkjjd76/.0?pïÖ‰pz…¬ˆ‰’šŸ¡£¤¤£¡¥¯¢z|wpmkgedb`_\[[[\\]^^_^__d¤|]`acdddeffeddeeec`_]\aeiiggd]V=?@@AFHJKojMKIEg©{[v‚“˜Ÿ¦ª®šW6445W¬ÈÊÇÃÄÅÁ¤|aXn`abcddccdeeeeffeedc`^[[^eijjhF:8HHdbbgekqtpsr]KKZhœ¿ÅÕ¬bcdfhhijjkkkkkd1:4-,*-../12135678=KA530.z—a\†¿ÒØÛÝßÞã²X`VOPN¯æßÝØÖÞàÒdxLj`\^_bcdcddeeeffdeddb`^\[^cikkH68II_hkinojkosplSJMM\ªÀÇÔŽ]bffgiijjkkjbW/87.0:-***)())))))))*+*(6ŠQlrØÝÛÚÚÛÚà£WiamRL¢ãÝÚÕÐÙÞÒSqX[–¼À¦hbcccccdeffdeddcb`_\[]dilF34HJytrpuqkimkgjeLJJIsº½ÎÉs\bdeefhhhicWR.7732TQ?9422/+*******+./Lš„LpZÖáÞÞßßßß‹PRT[ONæãçåâÚеEUoNÎãàŸ^bbcccdeffedddccba_\[]cjE23GKx~qkjigijoi`NILKL“½ÀÔ­[\abcdeddeaYR076601DA@<341+***+,/37=?c¥sOlAu€„‹‘—Œ^VTv…STd§«—ƒo^OG?>vO]kuonaabccccdeedccccdcba_\Z]eC/3FLqusutknflmnkjcWLKHb·¾ÈÒ~W^accddeff]N483420+)))'''((()*+++))/t¨aVf?7335433?JFI‰TSI9545553BK7g[Wa__\kibbbbbcddccbccdccba^[Z_?)2EHnurttlnhhkjknrhPJJL–ÃÅÕ¸c`cdeeddcb_UA3--./######$#"#$%&%&&&9ŠšSbaD978::878522\|A:6459;::7@J:NkMbbbl‡ycbccbbbbbbaccbbbcb_^\\=%1DAksmmmkkjgjimlngQJJIi¼ÅÎÖ†]cdfeddba^ZQ>535655678899888;<;<>:R™ˆKiYA655665631228B23544;NaS4588;rK_bcc^]aaaabcbabbbcccccbb``^]=$/D?mjlsrmjlmmfhihhTJKKM•ÆÅÓ·_]_bcccca^\VPKHHIIIJJKKLLLMMOPPPOY“xImN@;68FNC8:8322124541P’{7<753iUWabbceba`_bcbbccccdcccbbaa__@!.???BDFITh]UuMM\]X[`__```abaa]YVOJJJ9+72hijgaaciipywrtnjncRKMR^´ÇÅÖ¦befhjgfeedccccbaa`]\[ZZZZZN_r‰‚zhiJBBDKPQJHGFGQRMONQSTWYYZYYXZZZ]^_^fgSNS]a`_````aaaaa`_^]\]TLJ< *51smllivpqirruts|~j\SKKLKÇÂÎÒ‚beefeeeededddccca_^\[ZZZ[YPNby‹gs]]\\ZXYZ[[[[[[[[[[ZZZZYYZYXYYYYZ\[bQ?Kda``_````aabba`^`^__^TI?#*4/†{~€wv{xjhoxwx{se]RKJKJS¤ÇÇØ·d`bccdddeeeeddddca_]\[ZZZ\^_LRz\t[YYYYYXYYYYYYYWXXYXXYXWWXXWWXXXYZZ]M=Vdaa`_____``aaaa`^]]]\YN<)/0-†|t~xrqiksmifoibaaTKKK]e€½ÃËØŒ\aaccdedeeedddddba_]\YYZ[]`V=IQuWWWWWWWXXXXXWVVWWWVVVVVUVWWWWXXXZYYQF]caa``____aaaaaa`_]][[YTL;1*)€}xw~xsprb^gpzrijeXLKKW^Z›ÂÁ×Áe_acbcddeeeeeeddca_^\ZZZZZbcIIWxWUWWVVVVWXXWVUVWWWVVVVVVVWWWWXXWWWWOYacaba``___cefdccbb`^\\YURNA75†‡†††‡‡‡‡…†‡‡‡††††‡‡‡ˆˆˆˆ‡‡†…ƒ‚|yuttswywyzzy{{zwuyyz{zyyz|~€€€…††…††††††††††††††††‡††††‡†…„{xuttvuvyxxywy{yyxvwvxzzwvy{~€€…………††††††…†……†††††††……………†…„‚€€{uwwxwwyzxxwz{zyxwvuwyywxyz|~€€…………††……††…††…………………………„„„……„ƒ}zyxwwy|{yxwz{{zyxvvxyyyzzz|~†„ƒ…†………†………………………………„ƒƒƒƒ„…ƒ‚€~{yxwy{zyzzz{{{zzvuxyxyzzy{~€‚ƒƒ„„„…………………………………„‚‚‚‚‚‚€~|yywyzyyy{||{zyyuvxz{zzxz}€€‚‡‡ˆ††…ƒ„………………††…„„…‚€€€€€}}~~{zywwwxzz|||{zyxwvwxxyzy{}~€€€€‡‰ˆ…ƒ…ƒƒ…††……ƒ„……ƒ‚}~~€~}{{}|zyxwxwvy{}||{{yxyxwuuxyy|}~€€ƒ‡†ƒ†„„……††„‚ƒ€}{z{{{|}}}~{{z{|zzzxxyxx{z|{|}|zwyyvuuwwx|€€…‰‰„„‡„€ƒ„€}ywwwwx{{z|{yyxy{yzzyxyyz{{||}~|zyyxwvuvuw{~€~‘Œ‹€~ƒ†††‡†ƒyxyxvvzzxzyxxxyzz{{yuwxwz{|}~~}zzywywuuvw|…€ˆ‰‰ŠŠŠˆ~zwvwxxxuvvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy{~€~~†…†……„„†‡†…†‡†‚|vvuvvurtuuuw{|}zzx{{zyy{|~~}{yxvwwwwy|‡€}|€}€‚‚ƒƒ‚‚‚‚‚‚zvvuuttsuutuwzyzyxz|{z{y{}~~~}{xxxxz{~€€ˆ€}{‚€€€~}{tuttsrstttuwxuxyx{zyyyz|~{wwxx{~€}}}|x}}{|~€‚€~€€ztrtssrrsuvwvwyyyy{yxxxz|~~|wtuvw{~}}~~}~|wr}||}~€‚€€€€€€ysrssststvwxwwyxyyzyxxy{|}zzxvqpppnqrpqsw{{wqnm}}}||€€}}~~zttsuttuuwxyxyzz|||z{{zxsnhnnrtromhggfddehfegilƒƒƒƒƒƒ„„ƒƒ„ƒ‚‚€€}}}}}}}~€€‚‚‚‚ƒ‚}xuuxyzyyxxwxxuqqpmlnommˆ‡†ˆ‰‰‰ˆ‰Š‰‰‰‰‰ˆ‡‡†‡ˆˆ‡‡ˆ‡…†‡‡ˆ†…„ƒ‚ƒƒ„†…†…„ƒ€€€€‚ƒƒƒ„„ƒ„ƒƒ{v‰ˆˆˆ‡ˆ‰ŠŠŠŠ‰ŠŠ‰ŠŠˆˆˆ‰‘‘‘‘‰„ƒƒ‚‚‚‚ƒ„†‡†……‚€€‚‚‚‚„…„††…†‰‰‰ˆ†‡ˆ‰‰ŠŠŠŠŠ‰ŠŠ‰‰ˆŠŽŠ‡†ˆ‰ˆ‰ˆˆ‰ŒŒ…ƒƒƒƒ€‚ƒ‡ˆˆ‡…ƒ‚€€€€ƒƒ‚„……†‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠ‰‰‰Š‰‰ˆˆ…~|~‚„„†ˆˆ‡‰‰„‚ƒ‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€€€‚‚ƒŠŠ‰‰Š‰†‡‡‡‰‰‰ˆˆ‰‰‰‰ˆ†‡ƒ‚…†„„‡‰‚„Š‡…ƒ€‚€€€‚…ˆŠˆ†ƒ‚€€€ˆŠŠ‰‹‹‰‡‡…‡‰‰‰‰‰‰‰‰ˆ†‰ˆ„‡‰‰‰Š‡€ˆ†…‡„‚€€€‚‚‚‚€€€‚„‡‡ˆ‡‚€€€€€€„‰‰Š‹Š‹‰†…†‡‰Š‰‰‰‰ˆ††‰‡…ŠŠ‰Š‡€‰ˆ„ˆˆ†…ƒ‚ƒƒƒ‚‚‚ƒ†‡‡†„‚€€€†‡‰ŠŠ‹‹‰‡……‡ˆ‰‰‰ˆ‡†…ˆ‡ƒ†‰‰‰‰†}€‰Š…‡††‡†„‚‚ƒƒ‚‚ƒƒ‚€€€€ƒ…‡ˆ‡†‚‚|ƒ‡‰‰Š‹‹‰‡……‡‰‰‰††…ƒ„…†††††…„€ˆŠ‰‡ƒ„†‰ˆ†ƒ‚‚‚‚€…†‡††…„||†‰‰ŠŠ‹‹Šˆ…†‡ˆˆ……ŠŠ‰ŠŠ‰ŠŠŠ‰ŠŠŒ‘Œƒ…ˆ‰‰ˆ‡„€‚‚€€€€€‚„†‡†…}}~ƒ‡‰‰Š‹‹‹Š‡††‡ˆ‡ˆŽŒŒŒ‹Š‹‹‹Œ‹Œ‘Ž…‡ˆ‰‰‰‰ˆ†„€‚‚ƒ‚‚~„|}}„ˆˆŠŠ‹‹‹‰††‡‡‡ŠŠ‰Š‹Š‰ˆˆ‰ŠŠ‰Šˆƒ‹ˆ†ˆˆ‰‰‰‰‰‡„‚‚ƒƒƒƒƒ‚€€€x|ƒw|~†‰‰‰‹‹‹‹‰…†‡‡‰‰€‡‰ˆˆ‡†‡ˆ‰ˆˆ‚|†ˆ‡‡‡‰‰ˆ‰‰‰‡…ƒ€ƒ‚‚‚ƒ‚€€€‚„pz}}‚ˆ‰‰Š‹‹‹‹ˆ††††…ƒ…ƒ„………„ƒƒ‚…†‡‡†ˆˆ‰‰‰‰‰ˆ‡„‚‚‚‚ƒƒ‚ƒ‡†hm|}{~ƒ‰‰ŠŠŠ‹‹Š‡†………„ƒ‚‚€ƒƒ„ƒ‚ƒ„„„†ˆˆˆ‡‡‰‰‰ˆ‰‰‡…ƒ€€‚‚‚‚ƒ†„khq|}~†ˆŠŠŠ‹‹‹‹ˆ…ƒ„…†…†„ƒ…‚„……†‡‡†„ƒ‡ˆˆˆ†…‡‰‰‰‰ˆ‰ˆ†ƒ‚€€€‚‚……kjkv€~}ˆŠŠŠŠŠŠ‹ˆ…‚ƒ†‡‡‡„‚€„ˆ‰‡†…„‡‡ˆˆˆ‡‡ˆ‰‰ˆ‰‰‰‰‡„‚€€€€ƒƒ‚‚nnms€}~…‰ŠŠŠŠŠ‹Š‡‚„…„…ƒ‚†ˆŠŠŠ‹ŽŽŽŽŒ‰‰ˆ‰ˆˆˆˆ‡„‚€€‚ƒ€zominy~|€‡ŠŠŠŠ‹‹‹‰‚€ƒ‚ƒ‚‚‚‚€„Ž“”•––––——˜˜–Œ‡ˆ‰ˆˆˆˆˆ‡…‚€ƒ€vkkhikz€}}ƒˆŠŠŠ‹‹‹Šƒ€ƒ‚‚ƒ‚‚ˆŒŒŒŒ‹ˆ‡‡‡Œ‰‰‰‰ˆˆ‰‰ˆˆ…‚€€‚€voniges€~|~…‰ŠŠŠ‹‹Š„‚ƒ‚‚‚‚ƒƒƒƒ„Šˆ€}|{„‹‹„}}|}†‹‰‰ˆ‰ˆˆˆ‰‰ˆ†ƒ€‚vmkhgfl{~}€‡ŠŠ‹‹Œ‹„‚ƒƒ‚‚‚‚‚ƒƒ…Š†}xxy…‹Œ†yyy|†Š‡ƒ†ˆˆ‰ˆˆ‰ˆ‡…ƒ‚‚xfgghhiq~€~|ƒŠŠ‹Š‹Œ„„…‚‚ƒ‚‚‚„‡Š‡†………Š‹‹Š„…‡‡ˆŠˆ…†ˆ‰ˆ‰‰‰ˆˆˆ†ƒ‚‚{ihgfghhu€}ˆŠŠ‹Š‰…‚ƒ‚‚„ˆˆ†‹ŠŠŠŠŠ‹Œ‹ˆ†‰‰‰Š‰ˆ‡‰‰‰‰‰ˆ‰‰ˆ…ƒ‚jhgdgihs~~„Š‹ŠŠˆ†„ƒ‚‚€‚ƒ‚†‰‡„ˆˆˆˆˆ‰ŠŠ‡}†‡ˆ‰‰ˆˆ†‡‰‰‰‰‰‰ˆ‰†ƒ€ihgfhkin|}€ˆŒŒ‹Š‰ˆˆ‡†………††‡ˆŠ‡ƒ……„…„…‡…‚~}‚ƒ†‰‰……ƒƒˆ‰‰‰‰‰ŠŠƒjjjjiihkt€}ƒ‹Œ‹ŠŠ‹‹Š‰ˆ‡‡‡„ƒ…‹ŠŠˆ‰Š‰ˆ‹Š‹ŒŽ‘’Œƒ…‡†ˆ‰‰‰‰‰‹‹ƒ€lkiinkhkr}‚}‡Š‹‰‹‹‹‹‹Šˆ‡‡†‚…•–•”•––•––––––•–˜Ž†‰‰ˆˆ‰‰‰‰‰ˆ‰ˆ„lnmoqpmpt}~}}‚‰Š‰ŠŠŠ‹‹Šˆ‡†ˆ„„”•””””“’’’‘‘’’’’‘Œ†ˆ‰ˆ‡‰‰ˆˆ‰‡……„zzzzzzzzzzz{{zzzzzyyyyyyyyyz{„ƒƒ„„††‡††††ˆ‡†‡‡†††††……‡†„ƒ‚ƒ‚‚yzzzzzzzzzzzyyyyyyyxyyyyyyyy{‚ƒƒƒ‚„…††………†ˆ‡†………………†…††…ƒ‚‚‚zzzzzzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„††‡†……„„„ƒ…††‡†…ƒ‚‚‚zyxyzyyzzzzzzyyyzzzzz{z{{|zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„…‡‰ˆ‡…‚‚‚‚€€x||zzzzzzzzyzyyyyyyz{||}}}||}€‚„„„„………„…‡‡‡………„ƒ„…‡‡ˆ‡…„‚ƒ‚€€z~|}}|zzzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€€~|{zzzz|{yz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡†„…†……„……††††‡„ƒ‚‚‚‚zz{}~|z{zzz}{{}€€‚ƒ‚‚€€‚ƒ……„„„„……„„„…†‡†„………„……†††…††„ƒyst{€}}}|{}€…††…„„ƒƒ„‚ƒ…‡‡………„„…„ƒ„…†………„ƒ„„„„…†††…„ƒ‚‚‚ƒ}yx}‚}ƒ€€‚ƒƒ„‡‰ˆˆ†…„„„„…‡‡†††…„„…………†„„……„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚yyy{{x{ƒ‚€€~~~‡ˆ‡ˆ‡…„„……†‡†……††…………†……†……„ƒƒƒƒ„……†‰‡…‚‚€‚‚yz{zz||€}{zxz{}„‡††‡†……†ˆˆ‡ˆˆ†…†…………………‡……„„…„ƒ…††††„ƒ‚€€‚ƒ€‚€‚ˆ„~~~}‚†††††††‡ˆˆˆˆ‰†…„„„…„„††‡††„…„„„†‡ˆ‡„‚‚‚‚‚„†„„„ƒ†Šˆƒ€€€€€†‡††‡‡‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†ƒƒ‚„ˆ…‚€€€ƒƒƒ‚€‚†‡‡†‡ˆ‡ˆ‰ˆ‡‡‡…„…„„„††‡ˆˆ†„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚……‡‰‰ˆ‡…‚‚‚ƒƒƒ‚†‡†‡‡‡ˆ†ˆˆˆ‡††„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€‚ƒƒ‚„ƒƒƒ„„„‚‚‚ƒƒ†‡†‡ˆˆˆ‡ˆ‡‡††…„…„ƒ„…‡†‡‡…ƒ‚„ƒ‚‚‚|||€ƒ‚€ƒƒ„„ƒ‚€€‚‚„„‡‡…„…††‡ˆ‡‡‡ˆ‡‡………„ƒƒƒƒƒ†‰†††‚}}{{z{{{{||~~~~€|~€€€€€‚‚ƒƒƒƒ‚‚„„………„„ƒƒƒ€€‚……„……€€~~€€€€€€€~~}}}}}}||}~~€€€€~~€€€€€€€€‚Š„ƒƒƒ‚‚‚‚€€€|}€~}}}}}}|||}~|{z{{}~}{{{€€€~€ƒ„Š†‚€€€€€€€|{}~~}}}}}||||}~~||||~„€~~}|~€€€€€€€~ƒƒ‚‚‚€€€€€€€}|||}~€~~~~}}}|||}}||{|{}zy|}}|€€€€€~~€‚ƒ‚‡ˆ€~}}}}}€€~~~}}}~}}|~~|}}{yz{yy||€‚‚€€~€‚…†‚‚‚€~}|}|~€€~~}~~~~}~}|„}xxxxz‚}{~€‚‚‚€}‚‚‚‚‚ƒ„}}}}~~€€€~}~~~~~~|{~†yyzy{„…}{}~€€‚‚‚‚€~~€‚ƒƒ†Ž„ƒ€}}}}~~~~~~}~{{}}yz{z~†…|{}~€€‚‚‚‚‚‚€~}}ƒ„ƒ€~}}}~~€~}}~€}}~~~}}~~ƒƒ}{}€~}€‚‚‚‚€~€…„‚€~}}}|}€~}~€~|}~~}~~~~~~}|z}€}{}}€‚‚‚‚‚‚‚‚‚€“‰‚€~}}|}~~~~}|z{|||}}}}}}}}|z{~~}}~~‚’¯¦‡ƒ„ƒ‚€~~}}}~€€|~„€|}~~~~~}}~}€‰‚€€~~}}}€‚‚€€‚–¸±–ƒ„ƒƒ‚~~}}}}~€€~€Š~~~~~~~„Œƒ€€€~~}}}}~€…Œ“‚‚‚‚‚}}}}}}}€€€€„„‚€€€‚…€€€‚‚€€€~~~}}~}~‚‚€š{}‚Œ‚‚~}}}}}~€€€„„‚‚‚ƒ…ƒ€„„€€~~}}}}}~~€‚‚‚„§}{‰ˆ‚ƒ~}}}|}~€€€€‚€€„ƒ€~‚€€~~~}~}~~~~‚‚‚Œœ€||€‚ƒƒƒ€~}~}||}~}}€€€€}~€€€€~~~~~€~~}~~~~‚‚‚€€“¤~‚ƒ‚‚ƒ}}}||}}€€€ƒƒ„…„…„}~~}|zzzxwxz{~~}}~}}~‚€“»„€|‚‚‚ƒ‚~~}|}}|~€€‚ƒƒ…Š‹‹‰Š‡zxuuvvvvuuuvw|~~~~~}}~€‘‚~z|}€‚‚€~}}}}|}€€‚‚‚ƒ„…†………}{zz||~‚€€€€~{~~~~~~}~€€Âzyz~ƒ•ˆ‚€~}}}}|}€€€€€‚ƒ‚€|||}~~~}}}~~~}||€~~}}}~‚€ˆ¿€~yxy}„Š…‚~~}}}}€€€€€€€€€€~}|}~}{wxz}€|{€€~~~~}}~€€‚€„º€~zxxz€‚‚‚‚~}~||€€€€€€€€€€~}}~€€~zusy}€~{{}€~~~~}|~­~zxwxz€‚‚‚‚€~}~~€€€}}||}||zwvy{€‚|{|}~}~~~~~~Š~yxyzz~‚‚‚‚€~|}~€‚€~}}|{|||||{z|ƒ…}z|}~~}~~}~~}€‚€~{x{|{~‚‚‚|}}~~~€€€€~}|}}|~~}}}~‚ƒ€~~}}€~~~}}|z}€}{|}~~€‚‚‚}}}}}}}}€€€€€~{|{{~}||}{{{{zzyyx{€€€~~~~~}{{€ƒ~€„„‚‚‚„ƒ‚€~~}}}}}~~€€‚€zwvwvwwwwwvvvuvuvt{~~€~}€‰ˆ‡ˆ†…„…†„‚™Ž~}}}}|}~}~€€€zvvvvwwwwwwxxxxxwx{~~€€€‚ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÄÇÄÍÏÏÏÏÏÏÏÏÏÏÏÏÍÎÎÍÎÍÍÌÍÍÍÍÌËËËÍÍÍÌÍÍÍËǾ¶®£œ~rhkukjgmlscfbU\`\[a\S[`\]UPNSYX_d`fRTUVVVTSXTPV]^\XTME=8;;522?2ÎÎÎÎÎÎÎÏÏÏÎÎÎÎÍÈÃÇÂÉÍÎÎÎÎÎÎÎÎÎÎÎÍÍÍÌÍÌÌÌÌÌÌÌÌËËËÌÌÌÌÌÍÎÎǶ ¦—t‚z~s`^`o|n^_nkg[XXZ_YVTO]f_[ROOPXV[ghgPU\_YQPKQQX_a[VOLJ@@66631075ÍÍÎÎÎÎÎÏÏÏÎÍÍÍÌÇÁÄÀÇÊËÌÌÌÍÍÍÍÍÍÍÍÌÌÍÌÌËËËËËÌËÊËÌÍÌÌÍÍÍÍÍÌÀ£Šˆrommklnnt~z_b`ccZY[ZZ\RSV\bYYXVSQTRV\fcPQXZTMNMQQ\c_aYPGA?<851220.2ÍÍÍÎÎÎÎÎÎÍÍËËÌÌÈÁÅÁÉÌËËËÊÉÊÊËËÊÉÊÊÊÊËÊÊÊËÊËÌÌËÌÍÍÍÍÍÍÍÍÌÍ̵—’yltuyt}gfa]gY`bb[ZWU^YSYedRPRVWRMKVOXfQOSWYPLROPXa^`UTUOH><84221--ÍÍÍÍÌÌÌÌÍÌÌÌÌÍÎÊ¿ÁÀÊÎÎÎÎÍÍÌÌÌËÌÌÌÌËÊÊÉÉÊÉÉÊÊÉÉÉÉÉÇÉËËÊËËË̼’Ž„~ral}nbg`_`WhaXWTSLZ`^`pn[QOT[SMITRRXRYZWUMOQTZ_XWZQOYOI>?@:520,+ÍÌÌÌÌÌÍÍÍÍÍÍÍÎÎɹ»ºÉÎÎÎÎÎÍÍÍÍÍÍÍÍÎÎÎÎÍËÌÌÊËÌÌËËËÉÅÉËËËËËÈÆãŠxzoh_lpod_a_W\^URZRSPXfeefcgVQVXSQSTRRVQX]`USTQYZ]XWSSOQPI>?=5550.2ÌÌÍÍÎÍÎÎÎÎÎÎÎÎÎƻļÆÎÎÍÍÎÎÍÎÎÎÍÍÍÍÍÍÍÍÍÍÌÉËÌÍÍÍÌÉÅÊÊÊÍÎÌÇÄÁ´šywoeVSc^Y]``]b`WUQKMUY_aci^ZSOOPNJSQTP^KSSZZVYX^Z[WRPSNQIEC>@;530/3ÍÍÍÎÎÍÍÍÎÎÍÎÎÎÎÆ¿ÌÁÅÎÍÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÍÌÌÌÉÉÉËÊÆÄÄÀÇÅÈÌÍÊÿ¼®vqTRQQOVXloebc\XMCAMYT\aa^VSRJLKHLHOKXNQTUVVZ[Z[_XRNRMUNBG@>>40.--ÍÍÍÍÌÍÍÍÍÎÎÎÎÍÍÅ¿ËÂÃÍÍÌÌÌÌÌÍÍÍÍÍÎÎÍÍÍÍÍÌËÉÇÅÈÁ¿¹Á½Á¿ÅËÉÅ»®¥§Ž~tq]UVYXhh^nff`UVRQUTdTOZ]SNVXQKJGNOQYVQOWYUSWXUOTXRPVQWV?46220..--ÍÍÏÕÔÎËÌËÊÊËËËÌþÇÁÁÌÍÎÎÍÍÍÍÍÍÍÍÎÎÍÍÎÎÎËÃÂÁ½À»º¬¾º¿¸ÀÇ¿¾³¤Š‰p‰zeZ^Z[dkVm]T[SNST]]VMOQXQOSUWLKKSRRYf[NVXVUUUYQPYWW\]MC=7540.-,--ÍØæîíáÐÊÉÃÀÁÄÆÊÁ¾ÆÁÀÊËËËËÌÌÌÌÌÌÌÍÍÍÌÍÍÍÌÅÁ¼²º¶²¡ºµ¿µ·Áµ¼³™†|zlgabbaRZb[Ud[RY\NRRV\TUSNNNKKLRXUOQOQQbZMY[WQLNXWVSWPLK@7=<:62.-,--ÚíáÇËéèÍÁ¹³²·»ÁÂÂÉÆÂÊÌËËËËÊÉÊËÊÊÊÊÊÈÈÈÅŲ«§¬¯¦žª®¸®³¹­¬¡ƒwxsjhQ_eZWbXQ]h]X^XLOQS[`aTPLLLMPLTWKOTNR[\X`\TOLNYUVVOPWJBB=:;:51//-,Þ㯌•Çæ˹´±°³³¾ÃÅËÈÄËÍÍÍÌËÊÇËÌËËÊÉÈÆÂþ¿³¡›˜£¥™–Ÿ®¬«¬§£™ƒsljhjn]VXUa_UV][Y_WSVSRTT_XPSONSUQSSWQOVPSY_X]WY[V\^SSYWSQ@>G:7677520/.ˆ†€…†€ƒƒ„Š‘ °²ÀÃÄÊÇÁÊÍÍÍÌËÆÁÉËÊÊÊÈù²µ´¸ªŸ•Žš›—” ²®«¡˜™xiddVf`RMHOW`WQQ]h_`n^^b\TWNOOOOQVQTPSZRYOO]]\fZb^hgaRPNMJKA=A8854453.02““tU[Qf‰‹‰…z ¶¾¹ÂÇÆ¿ÈÌÍÍËÇ¿¸ÅÊÊÇÅ»ª¡œœ££šœ–‰•™’’žª«’Ž„vdcfY]TOSQPY`^Zhn^PUbNWon[QOKMMKGILLNMMPWUX]TRWW_f]]XOJMGFFCHA8543344/04­¼§mOh­ÑÞÙÈ„¶·²¾ÆƸÁÉÉËÊǾ³ÃÊÊÀµ§™œŸ•˜•ŠŽƒ–”‹‘—‘Š‰Šƒ~usnaXSW[YNX\VT]h[RP]ff`^[RRMJJGIHGEFNLR]ZUZVNZfffU^SMTSHJ@?A9754313336;O‰¨pv·ÍÑѾzs§¯­¹Å»©±¸µººÇ½°¾Ãº¬  ˜› “”Ž…€ƒŠŠ‚€Šˆ…ƒ€„€~yxnaUUST]XTYUSYfRQP\edSSZWTMKLIJHFKJIQU[aQXRPkrce_b\U`YUTG=;;864322549A‹¤„}­uOYYOnŒ¦£ª¬ŸŸŸ¡¡¡§·®£¢¥˜™™ —šž’•„ƒ…~ƒ€y„ˆˆ„|}||uqpicXPZg[RVRV]ZNW\\^XQQQQSMKPQKORQGBJOS^PQM^ba_Zei[QS]XESE<;;8554488:=³°€@2€§WHJP>du Ÿ°¡› ¦­±±±±²´«¤š˜š¡™“—ŒŽ‹ˆˆƒ}y€†„€yzxvqhieZVYRY^YT[Z\YVZZZ\ZUOKUTNLOJADFFA?EGGQKRRX\`Xan]^OZ^ZHEC?=<855669;?>X`Q=5I^UpD7Th¢q·¼Ì××ØÖÔÒÒÓÔÔѼ™›–Ž‡Ž‹ŒŠˆ…‚€z€„~}uvvqrmjfX[c`bYRSXW]]aXS]SX^ZVPINLNIBDE@?EFDAQGUW[X```\RbaUWWQLGDF:65667;=EFFEKHEBR`lfOBEN¤ipßÈ›uoihfbdmz’Œ‹…Ž‰Šƒ‚‚{~‹‚zvtqsrnibWZba[RUOQ\ebdVNRRi]aWLQQOJHDIRICILLFPQ\]XLZdcdT_cVOX]PE?@<98767;@LBlljijinutsoifev·Ûî˜ACEEK[HHJHHEF˜’…‡‚—‰ˆ~~„‡}‰‚z{wuuuwsbVQYWZVYWNZ[]_gfilplQ[[TMRPGEFOVQONOPIJUY]ZNN^Z`]]feV^S@::==;::8:==>;UUSTTTUTTVX\aewËêØrDEAAXj^]RGDH=RUWT\_UTSRc’u¹ž–ݦDEGPMLJGKLFEECI—Ýõž|€‚~y~|€†„|€{~wquxxsnjf\SMJWWZSTW[ZWHX_Z\XX_WKMTOLILOOPTUXV[neZZYZVYXQWKMJ?763`‚:7988:AECEUW\a•`]WPöá÷¹uмŸž¢¥§­¯¬®°®¬¬ª©¼ÇÍŒ{{|~{}||€ƒ}xxpnwxzphacSPSD@MVVUXZOKIVX[[UZd^SMLIKOMMJGJMVXY]`Z^WVRVNKMHA<8676R„>789;;?HJHPHMW±®UMHH£ðÚë—]´ÑÔÐÔÕÕÕØÚÚÙ×ÕÔÒÐؤxw{yw{z}{}‚‚‚ywxmintxmg`^OQTHJQUX[UPSPTUZUVWY`\RKDCCEHIFEGJRU\[UNVRTSSNGFC=96686YB88;=;AGGH‰™ŸÓÌ™•’ˆˆkmL\ÅØÜââããåæååèçäãâáÜÂ}uxxvwvzz€~€xvvoummuphg_QVWTXX_\XGEQW^WZXWTV\VOIBE@>??=;@KNVaYTY[RW[OLG<::87772‡çS16;9;BHIJêéëìêéêéêëß’QIAUÆÛßêëëêçåæåÞßèëéäÙÕ›swxzywy{}}{~zvsvvjksjhg`N^k\UTYZYRPVXYb^WU[ZUMGD?@?><69?EIK[hWUYWZ\TFCA:68877:4„äQ/8;=BGHDQèîòòñóóóîèÛ‡PLDSÈßçëæëÓ›šÀÊš”ÇëááßÛ®xzwvyzxz}y{{€~zwxumhngfcbZfpc]NQ[XURSZW_YU[eXOICA@?CA?>DIC>K[kj]MPeQF@:;:7<;99>7wÛW2=CRPJU^^kŒmQVXKA;666;@CA>@JWbW[dind[WY_aekllpf\jzxqmfikW†ñƒUT\vwqrjfVTRQOMMPRT]Z;.3?sÞÓ¦p¶è—}|{s‰àÄdœÆÔ‚zst}~}tx{zswz|xwnbZafcaa_TXXXSQPONU\YTXYSNQXSQU^_sƒxbmxn[TW\^_ahfn~ƒ‚‚„~}€…‰ˆ‰•²”‰ƒ|}ssqh|zzzzyy|}{~K*/CgÌáÒ¼ÐòΧ¥¤£ÅòÖ»ÏáËmwww{{}uu|uqwz{qvld`_e`]`_ZZTVTU[\RQYXOMNT_[W[fzƒ‡ŒƒacqjSQY\\[]fikv}{|ts}ŠŒŽ’‰…‰‚nqplohrsstuwxxyxxzY?COj¤È½µ»ÂÉÊÉËÑÌÁººÇÕ©lxyzuuvyts{tsxvvsrmlmklknsqqrns{ˆ‘‡‰Ž‘‰Š•´˜€}|w|}lbnmbW[`_][_geirfeadcs~z…‡†„…~|sagqnjgmmmnoqrssttuutwz}~~|~~{|~ˆ‘ƒ‹‰tvwyxwvtsrqqrstsrqollmlmmqruxyxxvtsuwvvxz{‰•¤³³«~skkkkmlifa]\]ZY]^XY\]]`fhegdbeoohmjf^ismvznmlklmoqrrrrrqqsxz}~~}|{zywvu|ŒŒœžˆopqtwwvwusqqqpprqmlkigffgijlortvvuttrqqqooopu€‹–¤®®§ž‘thgfea_]ZWYYVWXXWXWVW[XWXYYWTTUPWWanwsoljijjlnopqonnnopsvyz{||||zywusr{…{†Ÿ“unnqsrrrtwyz{€€€……„ƒ|xqkgfhjlnqstttsqommmnnnosz‡˜­½¼§xlfgggc_^\XVSRTSRSW_bUUWZVVUTTSURWxvrmjiiijlnoppppoopprtuwxyyyxxwvusop}‹“’}zu|†“ ©«­¯­­¬¬®­¬¬®¯®¬©¢œ†dcegjnpsuvutqoklmnppnlmx‹¦¹¿³Ÿ†sjiigdbb[VZUUTTYWSSUZSTT[XUVTTwvvsokihhhjlnoooprrrrrrruvvwwxxxxwtsqmm~Ÿ±­¤¦£œ“‹‚{urnmjgihhjox€…ˆ{abbbceimqttvwvsqnjjknppnlo{«ÃëŒtihjjifd`_[XTSSSRRSTSXUTVWWuuvvtpkhfegijllmnopqpqpooprtuvvwwvusqqppl—“slb[URPWbhvœ«€jc[VUUSPKNrgaaa`^_`dinqstuvvspkgfjnomkhhv˜¾Ì¸tkijkjiheb^ZWUSRRRRUZTVUUuuuuutqlheefgiklllmnooonmmnprstuuvwtrrrqn‰^FKLQY_dSHILTWJA?UrqojeU>Kjgcabb`^_adinprsttuvslhhjkmonljrŠ¨¾Á­‹tkjkjjhfc`]ZVUSQUZSTSSqstuvvtqnieddegijjkklmmmlkllnoqssuvutssqv{?Lcr€Œ‘—g?>60-4;;JYWXZ\`S<[ojfcb```a``cgknqrsvvutqlggjlmmlihr‹±Çè†qkkllhfeeba_\XUUSSTloqqssrqplhb`abdfghijkjkllkjjjlmoqrsssspb@_”¡§ª®¯›ˆoSGHJJIE<88843JVFkmmjfca`a`^\^aejmpqsttssqkedhkklmjegy¤Éεrokihgfeeeedb^WTWjmnopqqrqpmgcaaaacefhiijklkjihijlnppqsssˆHZKž»¸¸·³®¡»¯}}ŸmC<47=<74_cW942p]Ofeinonkifdefda_`bgjmoprstsroidcfikkjifgwœÄϹrllkjhgfeefdbfikmoqsttsrpmjfcbbbbdfghjkkkkkjghjkmopo€gXk024332;H\r`LLGH>3Enu`D4ChEgfceilnnkhfeeeca_`cgkmopqrsttpkecgijjkkges™¼Î½œ}mlljjifffd`dgkmoqrsssrpnkfca`aabfhijjjjjkjhfijlmlƒSu\/38>A=>IJKHNLDE:BHiaC3{«ŸM_kgdcdfimliebbba`_^^agjlnpprtssqkfdehjklkifmƒªÊɯwmkljhjh]`cgjlnopqrrqomica___`beghiiijlkjhghijk‚LˆI024l“p;IF<;;;_oEHFVsf@65A‰lRmlifdbbegihfc`___]\]^`dgjlnopqqqnifdfijlklkhgx—·ÈÅ®’ynnmk„[adhjlnoqrqrqpmida`_`acfgghhijjkjgfgglxQŽ;45=t•Œ\=84445HWGLLmuƒL64.kIkllkgecbbdfhfb`_^\\\\\\]_cfikmnnnmlifcbfhikljfcgv–ÄÔÇ¡xklÄy\cghjlnpstqrqolhca```adeffgggghihgfdomc…6ADG‡—¬D@3132244AH„¥”R720R Qdmlljgeca_beedba_]\\]][[[[^adgiklkjkjfb_bdfhjiigcar›Ç×Ç™qÊÁr[degiknopsqppomhca`_`abcdfgghhiihgbu_xv@MMDc€fJLB77775458r›€P?32?žiVmllkkigd__adffdc`_]_`^^\Y[]`dhjkmnoonlfa`bfhijiiidbvÅÕÀ½Í³_Z`cgiklmrroqrolgca`_``acdghhhjlkk`vVmGNKZs{IHHFDDFDB??ršlC?=66˜}Jn]CCIfkieb``cgihfdaaaaaa_\\^bfilnopqqoomhcbdgjkjjihecsšÃ¬ÁΟZ]behijlnppqqpnlida```bcdfghh_NJQxqI–nMwW\uQMHIMTVVLQNPYm‹‡T@8<74qP>aE;=2[mkkifaacfhjifebaaaa`^]^`bfiknprrqqpmgccehiiiiiifcuz³ÄÎX^cfgiklnopqponlida``bcddefhF7:9x`?WOFcC>[^RLK:3557=;6434`mklkjida`dilkifca``a`_^]^`dgjmooqrrpolhbbdfhijjjhpP»ÈÈsYacfhjkmnoopoomlid````acddhA/549@E855114:=<6543346558857<<?=;769mj8=FLJILwtÐçÈÀȇ8+Qgaefgddeeefffghihhhhhgda_`behjiifb^\]]^_^\Z[^dhlkg®¯tqoldWOKg¯ÁÍÂp^cehijklmmmmmlkkhc__^_SP?/N¢Ï¶ÙðÓ”[]^g“yB§¡Bdwrb\e¦¶óíç×ÆY1*Iheeedcccddfeefhhfffhhiheb_^_chjkjheb_]]^__]Z[\bhga—©upklmeSVhŠ½ÆÔµf^cghiijkmmmmmlkjfb`_^WB739lÖÑååò¼›eZY]vrjÐÆai`bcbx³Í⽟“y1/-Ihefffcdhliceefggfefggiihfc`^^bhjlkjhda``____]Z[`bOŽ vklnlhYOQS“ÃÈÔ£\_bdeghikllmmmlkieb_^\F2//7r|}™¼¬¯enn^L„ðï‚Xutxr¤nk]632/.0Miffgfdn¾ÜÔŽbdeffeeffhiihgeb`^^aejmlkjeb`_```_]Z[\JvŒfnrpnmfSLJY¨ÄÌÓ‰Y`ceghhijkllmmkkheb_ZA/-,0-/2EA=gjPclmj†ÆÌŽxjdZUUN=>>;73/22Rkffgffe‡«¨–ebdeedcdfhhhhgfdba_]^cjlkkjgda``_^]\[YJ]~\ntqstxiTOJo¼ÇÑÃi]bdgghijjlllmlkjhd_Z7./.0259@GLT]ep”¦²ÌØø¯¡tcXMF@=95230Ukdchgggda``befdddccdefgfffedca^\]bhjkkjhdb_^][Z\VIWq\mnlkjke\RLN˜ÄÈÖŸZ`cefhhijjkllmkjifb]:-12458:>AGRe€Íáäçêíîììíðß…qb^ZMC;511/Xke_hgggggfcb‹tabdbbbcefeeeeedc`^\\_ejkkieb_][ZYZSFO]Znfcde`b^SMJg¶ÃÎËsZbhhfggiiklllkkjgca?+//059@IR`r›’Òìæíìëëììëðу°nVE;4000\jd\ddddddccacca`baabcdeedddeedba_\[]chihgea_\ZYZR@IOUlhggqlhcRLLLˆÀÅÓ­]^ccdfgihjkkkkkkieeE+-/.28?GVf~¦£ÇòìðñññòòòøÎ~Ÿ€nVI=41/2:ivsnz{}~~}|zvspno``abbddeeddddeecb`]\\bhhghgc^[Z[S>DFQnmggpnqiSMMKY©ÁÊÓ“`_bdfghhikjkkkkjhgI+-0.14:HEFO^_šÖÐɾ»¸®¨Ÿ™u<>69X”}‹”¦¬¯¯­³°±±²³³²³³°­¹šcabbddeeefeeeeedc`^\^chijjhe_Z[TFpnldhlntpmiRJKK~¾ÀÑÅl_cdgghjjjklllmnM09,--11:G=8>F@46640-,0123<™]Zfmqtvx{€‹–©¾™ŒŽŠƒ€€‚‚}vrvebcdedddeffffffffeca^[[^ehjjieC<?@@DGJMZyWNNICm®{dn…†…ƒ…‡‡\@D:7a™¥©¨¤¥¤Ÿ‰Zen]__bdedeefffffefedc`^\\_cikjlH;9G`ikinokmospmTJMM[¨ÀÈÔ^beghiijjlllmiG/:5:‰ŠEA9127:;:7CL9ZfQccc]]`baabdbacbbcddcccba`^\[<&1DmklsrmjlmmfhihiTJKKM–ÆÅÔ¹`]_addcdb`]WF623466679999:99:<<<=>9[¡HnVA75698774221O`23546:=B@6:@9CsK`cbbb_a_^bdcbccdcdedcccba`_]<#/FknqqmlmpqpkgklgTLKKJe¹ÅÌÖŠ^ddeeeeca^YQKHGGHHIJKKLLLMLNQPPPNTu›oJnM;554:=7543132124542Gyi15455oO[bbbe¥À½”_bccdcbcddccddcba``?!.AmklntutrtljkmkqePJKKM“ÇÉÕ¾icdefgfdb_\WSQPQSQQRQQRRSUVXZ\]]Y†ˆŠeNkDJE:HY]PCGE72322447 ,TXqzXNOVF5I\L_[ang‚°°¡e``abacccbbbcb_YQM9 ,7qwuoijmmmhikurue^XLKMO‹ÉÇÐÈsbefhifddca_^^^__^\ZXYYZ[]^dg_]a~{yWM\LPICDDDFFCAH@764;9LUBA<<@HOTTULLLNORVY[\ghUcKT`__abbbbcbba`_][ZYQKJ<*5‡z~€xv{xjhoyxx{se\RKJKJS¤ÇÇ׺e`accddeeeeeddccc`_^]ZZYZZOU_~}kjVVTSTSRRTUVWXWYYYZ[ZZ[[[\[ZZ[[[\]]c]HD_b`___``babaaaa`__``^QH@"+3†|t~xsqiksmjgoibbaUJKK]e¾ÃÊØ\`accdeeefeddddcb`_][YYY[ZUQSxeq\\[[ZYYZZYZYZZZZYYYYYYYYYXWXXXXY[Z_L;Odaa`____bbaaaaaa__^^]XK:(/0€}xw~xsorb^fp{qijeXKKKW^[ÂÀÖÁe_acbcddeeeeeeddca_^\ZYYZ\_dIP_\qWXXXXXWXYXXXXXXYXYYXXXXXXWWWWXWXZYZPAXdaa``___defdcccca_^]\XTI71,†‡‡††‡‡‡‡…†‡‡‡†††‡‡‡‡ˆˆˆ‡‡‡†…ƒ‚~|yuttswywyzzy{{zwuyyz{zyyz|~€€€†††…††††††††††††††††‡††††††…„{xuttvuvyxxywy{yywtwvxzzxwy{~€€…………††††††…†……†††††††……………†…„‚€€{uwwxwwyzxxwz{zyxvvuwyyxxyz|~€€…………†††…††…††…………………………„„………„ƒ€}zyxwwy|{yxwz{{{yxvvxyyyzzz|~†„ƒ…†………†………………………………„ƒƒƒƒ„…ƒ‚~{yxwy{zyzzz{{{{yvuxyxyzzy{~€‚ƒƒ„„„…………………………………„‚‚‚‚‚‚~|yywyzyyy{||{zyyuvxz{zzxz}€€‚‡‡ˆ†‡…ƒ„………………††…„„…‚€€€€€}}~~{zywwwwyz|||{zyxwvwxxzzy{}~€€€€†ˆ‰…ƒ„„ƒ…††……ƒ„……ƒ}~~€~}{{}|zyxwxvuy{}||{{yxyxwuvxyy|}~€€‚‡‡ƒ…„ƒ……††„‚ƒ}{z{{{|}}}~{{z{|zzzxxzxwzz||}}|zwyyvuuwwx|€€€…‰‰…ƒ‡…€ƒƒ‚€~ywwwwx{{z|{yyxy{yzzyxyyz{{|}}~|zyyxwvuvuw{~€€~‘‘ŽŒ‚~ƒ‡†‡‡‡†|xyxvvzzxzyxxxyzz{{yuwxwz{|}}~}zzywywuuvw|‘‘‡€‡Š‰‰ŠŠŠ{xvwwxxuvvvuwz{|zzyuuvwy{{}~}zyxwwyxwwy{~€~~……††…‚‚……‡†……‡‡ƒ~wvwvvurtuuuw{|}zzx{{yzy{|}~}zyxvwwwwy|‡€}|€€~‚‚ƒ‚‚‚ƒ‚}vvuuttstutuwzyzyxz|{z{y{}~~~~{xyxxz{~€ˆ€}{‚€€€}€}ttttsrstttuvxuxyx{zyyyz|~{wwxx{~€}}}|x}}{|~€‚€~€€€}urtssrrsuvwvwyyyz{yxxxz|~~|wtuvw{~}}~}~|wr}}|}}€‚€€€€€€|srssststvwxwwxxyz{yxxy{|}zzxvqpppnqqpqsw{{wqnm|}}}|~€€|}~~|utsuuvvuwxyxyzz|||z{{zxsnhnmrtromhfgfeffhfegilƒƒƒƒƒ„„ƒƒ„ƒƒ‚‚‚€€}~}}}}~~€‚‚‚‚ƒ‚}xuuxyzyyxxwxxuqppmlnonmˆ‡†ˆ‰‰‰ˆ‰‰‰‰‰‰‰ˆ‡‡†ˆˆˆˆ‡†…ƒƒ„„…„ƒƒƒ‚ƒƒ„†…†…„ƒ€€€€‚ƒƒƒ„„ƒ„ƒƒ€|w‰ˆˆ‡‡ˆ‰ŠŠŠŠ‰ŠŠ‰ŠŠ‰ˆˆˆ‹ŽŽŽ‰„ƒƒ‚‚‚ƒƒ„†‡†……‚€€‚‚‚‚„…„††…†‰‰‰ˆ†‡ˆ‰‰ŠŠŠŠŠ‰ŠŠ‰‰ˆ‰ŒŒŒ‹‹‹ŠŒŽŽ†„ƒƒƒ€€€„‡ˆ‰‡…ƒ‚€€€€ƒƒ‚„……†‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠ‰‰‰Š‰‰‰ˆˆ‚~‚…†‡‡ˆ‡ˆŠ†‚ƒ‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€€€‚‚ƒŠŠ‰‰Š‰‡‡‡‡‰‰‰‰ˆ‰‰‰‰‰††„ƒ‚…‰†…‰ˆ†ƒ€‚€€€‚„ˆŠˆ†ƒ‚€€€ˆŠŠŠ‹Š‰‡†…‡‰‰‰‰‰‰‰ˆˆ†ˆˆ††‰ˆˆ‰‰‚ˆ‡…†„€€€‚‚‚‚€€€‚„‡‡ˆ‡ƒ€€€€€€„‰‰Š‹Š‹‰†††‡‰Š‰‰‰ˆˆ‡…‰Š„‰ŠŠ‰‰‚~‡ˆ…‡‰†…ƒ‚ƒƒƒ‚‚‚€ƒ†‡‡†„‚€€€†‡‰Š‰‹‹‰‡……‡ˆ‰‰‰‰ˆ†…ˆˆ‚„ˆŠ‰‰ˆ€}‡‹††ˆˆ‡†ƒ‚‚ƒƒ‚‚ƒƒ‚€€€ƒ…‡ˆ‡†‚€|ƒ‡‰‰Š‹‹‰ˆ†…‡‰‰‰ˆ‡…ƒ„†††‡‡‡‡…€~†Šˆ†…„…ˆˆ†ƒ‚‚‚‚€…‡‡††…ƒ||†‰‰Š‹‹‹Šˆ…†‡ˆˆ……‡‰‡‡ˆ‡‡‡ˆ†‡‡‡‰‹„ƒ†ˆ‰ˆ‡„€‚‚‚€€€€€‚…†‡ˆ‡}}~ƒ‡‰‰Š‹‹‹Š‡††‡ˆ‡†‹ŽŒŒŒ‹‹‹‹‹ŒŒŒ‘††‰ˆ‰‰‰ˆ†„€‚‚ƒ‚‚€‚ƒƒ…|}}„ˆˆŠ‹‹‹‹‰††‡ˆ‡‰‹‹‹ŠŠ‰‰Š‹ŠŠ‹ŠŠ†ˆ‰‰‰‰‰‰‡„‚‚ƒƒƒƒƒ‚€€€€{y€w|~†‰‰Š‹‹‹‹‰…†‡‡‰Œ…„ˆ‰‰‰ˆ‡‡‰Š‰‰†|ƒŠ‡‡‡‰‰‰‰‰‰‡…ƒ€ƒ‚‚‚ƒ‚€€|{€pz}}‚ˆ‰‰Š‹‹‹‹ˆ†††‡‡„‡††‡††††††‚ƒ†‡‡†ˆˆ‰‰‰‰‰ˆ‡„‚‚‚‚ƒƒ‚„†hm|}{~ƒ‰‰ŠŠŠ‹ŒŠ‡†………ƒ‚‚ƒƒ„„‚€ƒ„„†ˆˆ‡†ˆ‰‰‰ˆ‰‰‡…ƒ€€‚‚‚‚‚…†khq|}~†ˆŠŠŠ‹‹‹‹‡†„„„„„„ƒ‚„ƒ„†ƒƒ……†…ƒ†ˆ‰ˆ†…‡ˆˆ‰‰ˆ‰ˆ†‚‚€€‚ƒ„†kjkv€~}ˆŠ‹ŠŠŠŠ‹ˆ†ƒƒ…‡‡‡†ƒƒ‚ƒ„ˆ‰ˆ‡†„†ˆ‰ˆˆˆˆˆˆˆˆ‰‰‰‰‡„€€€€‚ƒƒ…nnms€}~…‰ŠŠŠŠŠ‹Šˆ‚‚„†‡†„‚€€€€††‡‡†…ˆˆ‰‰‰ˆ‰‰ˆˆˆ‰ˆˆˆˆ‡„‚€€‚„‚ominy~|€‡ŠŠŠŠ‹‹‹Š„€ƒƒ‚ƒƒ‚€€ƒ‡ŠŒŽ‘‘‘‘‘’‘‘‹ˆˆ‰ˆˆˆ‰ˆ‡…‚€‚ƒ‚|kkhikz€}}ƒˆŠŠŠ‹‹‹Š…‚‚‚‚ƒƒƒ€‚‹”••——•”•–—–•‘‹‰‰‰ˆˆ‰‰ˆˆ…‚€€‚‚{oniges€~|~…‰ŠŠŠ‹‹‹…‚ƒ‚‚‚‚ƒƒ‚‚‚…ŒŒ‰ˆ††‰Šˆ„„„ƒ‡Œ‰‰ˆ‰ˆˆˆ‰‰ˆ†ƒ€‚{mkhgfk{~}€‡ŠŠ‹‹‹Œ‡‚‚ƒ‚‚‚‚ƒƒƒ„ˆŠ€zzx~ŠŒ‰}{{y€Šˆƒ†ˆˆ‰ˆˆ‰‰‡…ƒƒ}fgghhiq~€~|ƒŠŠ‹‹‹ˆƒ„ƒ‚‚‚‚ƒ„‰‰€zz{‚Š‹Œz|}ƒ‰‰…†ˆ‰ˆ‰‰‰‰ˆ‰†ƒƒihgfghhu€}ˆŠŠŠŠŠ†€€ƒ„‚‚‚‚‚ƒ…Šˆˆ‰‡ˆ‰‹‹‹‰‡‰‰‰ˆŠŠˆ‡‰‰‰‰‰ˆ‰‰ˆ…ƒ‚€jhgdgihs€~~„Š‹ŠŠ‰†ƒ‚‚€€€€‚‚†‰…‰Š‰ŠŠŠ‹‹‹ˆ„†‰‰Š‰ˆˆ…‡‰‰‰ˆˆˆˆˆ…ƒihgfhkin|}€ˆŒ‹Š‰ˆ†……„ƒ‚ƒƒ„„…‰‰ƒ†‡†‡‡ˆ‰Šˆ‚{…‡ˆŠ‰‡ƒƒˆ‰‰‰‰‰‰ŠŠ…jjjjiihkt€}ƒ‹Œ‹ŠŠŠŠŠ‰‡‡†††ˆ‡‰Š„……ƒ…„ƒ…†„€„†ˆŒ†ƒ††ˆ‰‰‰‰‰ŠŒ‡lkiinkhkr}‚}‡Š‹‰Š‹‹‹‹‰ˆ‡‡†‚„ˆŽŒŒŽŽŽŽŽ‘‘“”•“‡„ˆ‰ˆ‰‰‰‰‰‰‹Œ‡‚lnmnqpmpt|~}}‚‰Š‰‰‹Š‹‹Šˆ‡‡‡ƒƒ‰’–•••––•–•–––••”–“ˆ‡‰ˆ‡ˆ‰‰‰‰ˆ‡†…ƒzzzzzzzzzzz{{zzzzzyyyyyyyyyy{ƒƒƒ„„††‡††††ˆ‡†‡‡†††††……‡†„ƒ‚ƒ‚‚yzzzzzzzzzzzyyyyyyyxyyyyyyyy{‚ƒƒƒ‚„…††………†ˆ‡†………………†…††…ƒ‚‚‚zzzzzzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„††‡†…„„„„ƒ…††‡†…ƒ‚‚‚yxyzzzyzzzzzzyyyzzzzz{z{{|zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„…‡‰ˆ‡…‚‚‚‚€€x||{zzzzzzzyzyyyyyyz{||}}}||}€‚„„„„………„…‡‡‡………„ƒ„…‡‡ˆ‡…„‚ƒ‚€€{‚~|}}|zzzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€€€~|{zzyz|{zz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡†„…†……„……††††‡„ƒ‚‚‚‚{z{||z{zyz}{{}€€‚ƒ‚‚€‚ƒ……„„„„……„„„…†‡†„………„……†††††…„ƒ{stx€}~}~|{}€…††…„„ƒƒ„‚ƒ…‡‡………„…„„ƒ„…†………„ƒ„„„„…†††…„ƒ‚‚‚ƒ~zy|‚}~‚€€‚‚„ˆ‰ˆˆ†…„„„„…‡‡†††…„„…………†„„……„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚yyyz{yz‚ƒ€~}}}†ˆ‡ˆ‡…„„……†‡†……††…………†……†……„ƒƒƒƒ„……†‰‡…‚‚€‚‚yy|{z||~|{xz{|‚‡††‡†……†ˆˆ‡ˆˆ†…†…………………‡……„„…„ƒ…††††„ƒ‚€€‚ƒ‚ˆ…~~~…††††††‡ˆˆˆˆ‰†…„„„…„„††‡††„…„„„†‡ˆ‡„‚‚‚‚‚„†…„„ƒ…Š‰„€€€€€…‡††‡‡‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†ƒƒ‚ƒˆ…ƒ€‚ƒƒƒ€…‡‡†‡ˆ‡‡‰ˆ‡‡‡…„…„„„††‡ˆˆ†„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚……‡‰ˆ‰‡…‚‚‚‚‚ƒ‚…‡†‡‡‡ˆ†ˆˆˆ‡‡†„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€‚ƒƒ‚„ƒƒƒ„„„‚‚‚‚ƒƒ‚…‡†‡ˆˆˆ‡ˆ‡‡‡†…„…„ƒ„…‡†‡‡…ƒ‚„ƒ‚‚|||~ƒ‚€ƒƒ„ƒ„ƒ€€‚‚ƒ„‡ˆ†„†…‡‡ˆˆ‡‡ˆ‡‡………„ƒƒƒƒƒ†‰†††‚}}{{z{{{{||~~~~€|~€~€€€€€‚‚‚ƒƒƒ‚ƒ„„………„ƒƒƒƒ€€‚……„……€€~~~€€€€€€€~~}}}}}}||}~€~€€€€€€€€€€€€€€‚Š…ƒƒƒ‚‚‚‚€€|}~}}}}}}|||}~~}|{{{{}}||||€€€ƒ„Š†‚€€€€€€€|{}~~}}}}}||||}}~||{|}„‚~}{}€€€€€€€~ƒƒ‚‚‚€€€€€€€}|||}~€~~~~}}}|||}~}||{}}}z|~}|€€€€~~€‚ƒ‚†ˆ€~}}}}}€€~~~}}}~}}|}~}||{zz|zx}||€‚‚€€}€‚…†‚‚‚€~}|}|~€€~~}~~~~}}~|~~yxyyy‚~{~€‚‚‚}‚‚‚‚‚ƒ„}}}}~~€€€~}~~~~~~}{}†‚yyyyz…{}~~€€‚‚‚‚€~~€‚ƒƒ†ƒƒ€}}}}~€~~~~~~|z|‚€yy{z{„‡~{|~~~€€‚‚‚‚‚‚€~}}„„ƒ€~}}}~~€€~~}}~|{|~~z{}}}„†~{|~€€~~€‚‚‚‚€~€†„‚€~}}}|}€~}~€€€~~~~~~€~|{|€~|}}~€‚‚‚‚‚‚‚‚‚€}|~“‰‚€~}}|}~~~}}{||}}|}}}}~}}|zz~~}}}~~‚‚ƒ–†ƒ„ƒ‚€~}|}}}€~~}|~}||}}}}~}}}}}€€~~~}}€‚‚€€‚…²½Ÿƒ„ƒƒ‚~}}}}}~€€~~Œ‹~}}~~€~~~}€Žˆ€€€~~}}}}~€‚ž©™‚‚‚‚‚}}}}}}}~€€€€ˆ‰ƒ€‚„‚€€€~~~~}}}}~‚‚€‚‚†{}Œ‚‚~}}}|}}€€€€‚„‚ƒ…„€‚‚ƒ‚€€~~~}}}}}~€‚‚‚‚€}{~‰‡‚ƒ~~}}|}~€€€ƒ„‚„„€€ƒƒ€~}}}~~~~‚‚‚”€||€‚ƒƒƒ€~~~}||}~€€€€~€‚‚~}€€~}~~€~~}}}~~‚‚‚€ƒ~‚ƒ‚‚ƒ}}}||}}€€~}€‚~€€€~}|}}}~~}}~}}~€€‚§„€|‚‚‚ƒ‚~~}|}||~€€‚‚„ˆ‰‹ŠŠˆ‚}|{yyxwwvtuvx}~~~~~~}~€€€€«~z|}€‚‚~}}}}}}€€ƒƒƒƒ†‡‡†…†ƒ|xuvwxyyyxxxy{}~~~~~~}~€€‚€€«zyz~ƒ•ˆ‚€~}}}}}}€‚‚„„ƒƒ|||}~‚ƒ€€€€~|~~~}}}~¥€~yxy}„Š„‚~~}}}}€€€€€€‚}||~~}~{z{}}}}}{~€€~~~~}~~€€~ž€~zxxz€‚‚‚‚~}}|{€€€€€€€€}}}€~}wwx|€€~z|€~~~~}}~~˜~zxwxz€‚‚‚‚€~}}}}€€€€€€€~}}}~|wsw{~|{|~~~~~}}~€€Š~yxy{z~‚‚‚‚€~|}~€‚‚}}}||}|{{xyz~ƒz{}~€~~~}~}~‚~{x{|{‚‚‚|}}~€€€€€|}}|{|||}{{{€…‚||}|~€~~~}~}|}€‚€}{|}~~€‚‚‚}}}}}~}~€€€~~|}}|~~~}~}}‚€~}{~€€~}~~}}|{~ƒ~€„„‚‚‚„ƒ‚€~~}}}}}~€€€€||{z|||{{{zzzyxxwww€~~}{}€‰ˆ‡ˆ†…„…†„‚™Ž~}}}}|}~~€€€|wvwvvwvwvuuvvvvvuv~~~€~ÏÏÏÏÏÏÏÏÏÐÑÏÏÎÎÉÄÇÄÍÏÏÏÏÏÏÏÏÏÏÏÏÍÍÍÍÎÍÍÌÌÍÍÍÌËËËÍÍÍÌÍÍÍËǾµ®¤ “~qhkvjigmlscfbU\`\[a\S[`\]UPNSYX_d`eRTUVVVTSXTPV]^\XTME=8;;522?2ÎÎÏÏÏÎÎÏÏÏÐÎÎÍÌÇÃÇÂÉÍÎÎÎÎÎÎÎÎÎÎÎÍÍÍÌÍÌÌÌÌÌÍÌÌËËËÌÌÌÌÌÍÎÎǶ ¦˜vƒ{~t_^an|n^^nkg[XXZ_YVTO]f_[ROOPXV[ghgOU\_YQPKQQX_a[VOLJ@@66631075ÍÍÍÎÎÎÎÏÏÏÎÎÎÍÌÇÁÄÀÇÊËÌÌÌÍÍÍÍÍÍÍÍÍÍÍÌÌËËËËËÌËÊËÌÍÌÌÍÍÍÍÍÌÀ£Šˆqpnnklnnt~{_b`ccZY[ZZ\RSV\bYYXVSQTRV\fcPQXZTMNMQQ\c_aYPGA?<851220.2ÍÍÍÎÎÎÎÎÎÎÎÍÍÌÌÈÁÅÁÉÌËËËÊÉÊÊËËÊÉÊÉÊÊËÊÊÊËÊËÌÌËÌÍÍÍÍÍÍÍÍÌÍÌ´—’ylsuyt}~feb\gY`bb[ZWU^YSYedRPRVWRMKVOXfQOSWYPLROPXa^`UTUOH><84221--ÍÍÍÍÌÌÌÌÍÍÍÍÍÍÎÉ¿ÁÀÊÎÎÎÎÍÍÌÌÌËÌÌÌÌËÊÊÊÉÊÉÉÊÊÉÉÉÉÉÇÉËËÊËËË̼’Ž„~ral|mch`_`Wh`XWSSLZ`^`pn[QOT[SMITRRXRYZXUNOQTZ_XVZQOXOI>?@:520,+ÍÌÌÌÌÌÍÍÍÍÍÎÎÎÎɹ»ºÉÎÎÎÎÎÍÍÍÍÍÍÍÎÍÍÎÎÎÌÌÌÊËÌÌËËËÉÅÉËËËËËÈÆâ‰xzoh_lope`a_W\^URZRSPXfeefcgVQVXSQRTRRVQX]_USTPYZ\XWSSOQPI>?=5550.2ÌÌÍÍÎÍÎÎÎÎÎÍÍÎÎƺļÆÎÎÍÍÎÎÍÎÎÎÍÍÎÎÍÍÍÍÍÍÌÉËÌÍÍÍÌÉÅÊÊÊÍÎÌÇÄÁ³™ywoeVSb`Y]``]a`WUQKMUY_aci^ZSOOPNJSQSP^KSSYZVYX^Z[WRPSNQIEC>@;530/3ÍÍÎÎÎÍÍÍÎÎÍÍÍÎΞÌÁÅÎÍÍÍÍÍÍÌÌÍÍÍÎÍÌÍÍÍÌÌÌÉÉÉËÊÆÄÄÀÇÅÈÌÍÊÿ¼­vqTRQQOWYloebc\XMCAMYT\aa^VSRJLKHLHOKXNQTUVVZ[Z[^YRNRMUNBG@>>40.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÍÍÍÍÍÎÍÍÍÍÍÍËËÉÆÅÈÁ¿¹Á½Á¿ÅÊÉÅ»®¥¦Œ~tq]UVXXih]nff_UUQQUTcTOZ]SNVXQKJGNOQYVQOWYUSWWUNSYSPVQWV?46220..--ÍÍÏÕÔÎËÌËÊÊËËËÌþÇÁÂÌÍÎÎÍÍÍÍÍÍÍÍÎÎÍÍÍÎÎËÃÂÁ½Á»º¬¾º¿¸ÀÆ¿¾³¤ŠŠp‰zeZ^Z[djVl\T\SMST]]UMOQXQOSUWLKKSRRYf[NVXVUUUYQPYWW\]MC=7540.-,--ÍØæïìâÐÊÉÃÀÁÄÇÊÁ¾ÆÁÀÊËËËËÌÌÌÌÌÌÌÍÍÍÌÍÍÍÌÅÁ»±º¶²¡ºµ¿µ¸Á´¼³™†|zlgabbaRZbZUd[RY\OSRV\TUSNNNKKLRXUOQOQQbZMY[WQLNXWVSWPLK@7=<:62.-,--ÚíáÆÏëè͹³²¸»ÁÂÂÉÆÂÊÌËËËËÊÉÊËÊÊÊÊÊÈÈÈÅƱª¦¬¯¦ž©®¸­³¹­¬¡ƒxxsjhQ_eZWbXQ]h^X^XKOQS[``TPLLLMPLTWKOTNR[\X`\SOLNYUVVOPWJBB=:;:51/.-,Þ寜Íæ˺³±°³³¾ÃÅËÈÄËÍÍÍÌËÊÇËËËËÊÉÈÆÂþ¿³¡š˜£¥™–Ÿ®¬«¬§£™‚slkhjn]VXT`_TV]ZY_VSVSRTT_XPSONSUQSSWQOWPSY^X]WX[V\^SSYWSQ@>G:767752//.Šˆ€ƒ‡‚„ƒ„‡˜«³ÀÃÄÊÇÁÊÍÍÍÌËÆÁÉÊÊËËÇú²µ³¸ªŸ•Ž™›—“ ²®«¡˜™viddVf`RLHOV`WQQ]g``n^^b\TWNOOOOQVRTPSZRYON^]\fZb^ggaRPMMJKA=A8854453./2’…Y[TX‰‡|Šµ¾¹ÂÇÆ¿ÈÌÍÍËÇ¿¹ÅÊÊÈƼ¬¡œœ£¤š›–‰•™’’©«’Ž„udcfY]TOSQPY_^Zhn^PUbNWon[QOKLMKFILLNNMPWTW]TRWW_e^]XOJLGFFCHA8543344/03«¶¸„VWÉÚÝѬwª¸²¾ÆƸÁÉÉËÊǾ³ÃÊÊÁ·§™œž•˜•ŠŽ‚–”‹–‘Š‰Šƒ~usnaXSW[YOX\UT\h\RQ^ff`^[RRMJIGIGGEFNLR]ZVZVNZffgV^SMTSHIA?A9754313337TkUG4?_Wf‡Sm ‚…ˆ‚—‰ˆ~~„‡}‰yzwuuuwsbVQYWZVYWNY[^_gghkqlQ[[TMQPGEFOVQONOPIJUY]ZNN^Z`]]feV^S@::<=;::8:==>;UUTTUUUUTUXZackŸèâ¢HG?=Ifd`YHBD@MŸ€~‚ƒŠ—ˆ„‰{‚‰‰…~‡‚|xvwzuun_X\_TVSTW`XON_sƒtb\]eRSMLRRMMJB?LTQRTSN[dceZSXY^[R\XUVG;89;;78:98<===RSUSU`UTSSR~~¸zÒËjAKQRKSPQWSLKJFnÁøÏ}‚~y~}~…„|€{~wquxxsnjf\SMJWVZSTW[ZWHX^Z\XX_WKMTOLILOOPTUXV[neZZYYVYXRWKMJ?763b}97988:AECEUV\aq¦n`ZShãéêít°É´§«¬¬¯¶··¹¹¶³±®º¿ÂŸ|{|~{}|{ƒ}xxpnwxzphabSPRD@MVVUXZOKIVY[[UZd^SMLIKOMMJGKNVXY]`Z^WURVOKMHA<8676Vˆ>789<;?HJHXGIM|ÍrNJEnæâä×[ÉÖÒÔÖØØ×ÚÜÚÙØ×ÕÒÖÈtzyw{z}{}‚‚‚ywxmintxmga^OQTHJQUX[UPSPTUZUVWY`\RKDCCEHIFEGJRU\[UMVRTSSNGFC=96676Ww?98;=;AGGH„ˆ—°ä£“Ž…’ynbB—ØÚáãääæèçäéêçäääßØ›swxvwvzz€~€xvvoummuphg_QVWTXY_\XGEQW_WZXWTV\VOIBEA>??=;?JNVbYRWZRW[PMG<:987772‡ßN27;9;AHIJçèéëêèçèççãºcKE=”ÜÜåëëêæààæÜÔÜëêæß×Àyvxzywxz}}{~zvsvvjksjhg`N^k\USYZYRPVXYb^WU[ZUMHE@@?><69?EIK[hWTZWZ\XHDB:68877:4…äP/8;K[kj\LPeQHB;;:7;;99>7xÜV2=@;yée7?9;CIOYbWLYZ\[XYg^R}XDETsÞíêìêìëèèìéæéëëëìïÎ~wyzlzz|||vu…sstqhfirziWUUSQRNTXOOZ[YTZa][NRTOIEKPI=?MSNgnjxˆi[^RIC>:;?FMIB=?9~ón9;4=HHX_lxy‡‹—ŠŠzfLKJCdÕîìîíëíïîîïïîëîïíïÁwx}{jy}y|ws€~zroljigdbmaSV]YW\TPTRSR[]Zd]UVROIGGBGKFEFNMTilkuucaliWQNMPUTWUIHP:zõt769UZ\khhVZ^^hsddcb^K=>=9]ÊîæÝßëß×××Ø×ÛëÛÒàê´txxwry}zy{{uzwxtqkb``[[ibUOWY`ZXSNOXUZe_`XPNUQLE?>IWaW[dind[XY`adjmlpf]iyvqmfikW‡òƒUT\uvpsjfVQONLKJKNMSZF/17T»Ý½yˆç¼zvtst¶é€o¸Ò¤uvs}~}tx{zsvz|xxna[bfcaa_TWXYSQPONU\YTYYSNQXSQU\]rƒzclxmZTW\]_ahfn~ƒ‚‚„}€„‰ˆ‰•³”‰ƒ|}rsqh{zzyyyxy|z|‚k-/5V¢æÜÉÊëç¾±¯¥®æìÉÎßä‡pww{{}uu|uqwz{qvlc`_e`\`_YZTURU[\QOXVNLNS[YWYeyƒ‡‹†earkTPY\\[\fikv}{|ts}ŠŒŽ’‰…ˆ‚nqplohppprtvwxyxxzn?:>`‡¿¿®´¼ÅÇÃÆÎͼ°®³Å¿wtyzutvyts{tsxvvssnlmklkmrpoplpyˆ‘†ˆŒŽŒ††’°•}|}y}}namnbW[`_][_geirfeadcs~z…‡†„„~{sagpmjgljklnprsttttvssu~~}~~}|~{{}ˆ–’‰…{rtxxxwvtsrqqrstsrqpmkllmnqsvyzyzxtsuwvxz}~„˜¥´³ª—ˆzqjjklmlifa]\]ZY]^XY\]]`fhegdceoohnkf^itntxnllklnoqrrrrqqrtxz}~}|{{ywvv}Žž‡opqtwwvwvurqqpqsspllkjhhjllmpsuvuutsrqpqooopv€ª¯­¥ž€rggfda_\ZVZYVWWWVXWVW[XWXYYVTTUPZZbqysoljiijlmopqonnnnptvyz{|{{{zywusr{…zˆžtnorstvutrpnmliglmljeeeceedhklnqstttsqommmnnopt|Šš®½º¤Štkfhhgc_^]YVSRTSRSW_bUUWZVVUUSSUSYxuqmjiiijlnoppoooooprtuwxyyyxxwvusop~Š•”}{qonprx}‚†‰‹ŒŒ•˜——“‘Œˆ€slgbcdgknpsuvutqokkmoqomllyŽ©¼¾°›‚rjiigebb[VZUUTTYWSSUZSTT[XUUTSwvvsokihhhjlnoooprsrrrrruvvvwxxxxwtspmm¤¢„Ž§­¯­®®«ª¤££  £¦¦ª¬«§£`babceimqttvwvtplkjloponlq”°ÅÁ¨‰rhhjjifd`_[XTSSSRRSTTYUTVVWuuvvtpkgfegikllmnopqpqpooprtuvvwwvusqpppnrŸ§ œ”‰~uqlgefic^]\[\binsw‰p`aa_^^`dinqstuvusojggkoomkhiyœÀ̵skijkjigeb^ZWTTRRSSTXTVUUuuuuutqkheefhiklllmnnoonmmoprstuuvwtrrqqn£mc\UQOMPXcn‘²¦yja][XVSMBQtgcabb`^_adinprsutvvrlhhjkmonkis¬¿À¦ˆskjkjjgfb`]ZVURPU[STSSqstuvvtqmhdddegijjkklmmmlkllnoqstuvutssrnvBJMS]cjbB?>?BA;8;gvuqmfP43NlCdfinonkifdefd`^`cgjnoqsttsroiddfijkjieh{¢ÆϹrllkjhgfeefdbfikmoqstssrpmiecbbbbdfghjkkkkkjghikmopqr‹PeN7jpgZOR_{™‡u‚|I82OncT52:J[ecejlonkhfeeec`_adhknopqrstspjecgjjjkkgeuš¼Î½œ}mlljjheffd`dgkmoqqssrrpmjfba`aabfhijjjjjkjhfijlmosƒF|@123345DRYNNOECD6;Oxm\:OZ‚Œ{<625‹oSlklkheba_beedba_]\\]\[[\\^bdhiklkjkjfb_bdfhiiigcbtŸÉÖÄ–pÊÁr[degiknopsqopomhca`_`abcdfgghhijihfbOP:I@f™¢§UH=2222333>P˜¢zA410qKjkklkjgd__acefdca_]__]^\Y[]`dhjkmnoonlfa`bfhijiiidcy ÈÕ½½Í³_Z`cgiklmrqoqrolgca`_``acdghiiikjigc|S–JJMIKs~rQKJ>9::8656MŠ™eJ751X¤Mdlkihmkjeb``cgihfdaaaaaa_\[^cgilnopqqoomhcbdgjkjjiheduÆ­ÁΟZ]behijlnoprqpolid````acdfghhhkklkhn_–JLQIz}—^EHGFEFFDB@T™QA><2M¬R[mL>>Nkllifaacfhjigebaaaa`^]^`bgiknprrqqqmgccehiiiiiifdu~µÄÎX^cfgijlnoqqqpnlhda``bcddeffdPFCj‚Wb˜NdxFrYIFILTXZTLTIU]r‹mH>8<1El7MZ:?96gllkjida`diljifca``a`_^]^`dgjmooqrrpolhbbdfijjjjifQ’»ÈÈsY`cfhjknopqqpnmlic````accdfY6<8UoHBVBRT7?A@AJTVSNIF@9>9B[WOPI6466==6331>ikkjkkiebaadhiigca_^^__^]]_adgjlnppppopmhbaehjkjjjYy°¿Í³b[bfhjklnoppppnmlgba`_`aabeW0243;DC463127;=84333345568756;:;;9:J\=;997666666666666677667777899K~UZhpiqž×³€oibXUVD;>=951-26bhefgggda_`ceedddccdefgfgffdca^\]bikkkjieb_^][YZZXJ]mnlkjle\RLN›ÄÈÖŸZ`ceghhijjkllmkjifa_I-0..137EFhqjhoosqeZOKJw¹ÁÐËq\befghijkklllkjih^2-/./36@EGN]qqÏÛÖÏÉƾ¹¯¢[?>51f¦dKS[cx•———¡¢¤¤¦§¥¤ ·ÚÚÎy]bbcdeeeggfddeeeca_]]bfiighe][[V=?AuxnkqpolooYLKP“ÀÄÕ®_`defghikkkklkkjja4/..4AU²¯J-,/AJKKIHFEDA@?BELHi¨×¹¬²³±°ª©§§¥¢  ¢¢£¥¤¢£££‰bbbcdeeeeffddeefeca_\[_ehhhhc]\W==@rojhlmhfhidMKI_®ÁÉÖ‰Zbdffgijjjkllllla36..0?tñ׉oxƒª‰˜Ÿ£¥ª¬¨¤¤¥¨±—›˜‘‰…‚~|xxxwwwwwwxyz}”y`aceedddeeeeefgfecb_\\`fhhihd`Y>heahflqtpss_LKZh¿ÄÕ¬bcdfhhikkklmmmld0:0-,/15EG7:@I74432.+.1012:›œcXZ\^`bdfmry‹—†…}|zxyyztfsr\^_beedeefffffeffdc`_][`cikjkhD<?@AAEGJMfmMKHGBl¶^ez€ƒƒ}~~ˆ‚…Žmcyƒ~‚‚€€€x{cs®À©ibdddddefffeffedba_\[]dijkmI;9ztqpuqkknkgjeLJKIw¼½ÎÊu\beefghhijklj]-;4-+*-//013347789=IH952/1Œ¤cfy‡Œ“œ¡ª¬°M3447`·ÍÏËÄÇÉÆ«|bT¶äá ^bbcccdefffeeeeeba_\Z]chkmJ66x~qkjigijoi`NILKM”½ÀÔ­[^abddeghjkg\R,96//6,***)))))))))))**)'C“ŠMq–ÑÖØÛÞßàä˜V`TNOR¾äàÝ×ÕÝàÒd|Kkxomaabcccddeefdceeecba_\Z\chlI44qvsutkmfllnkjcVLKHc·¾ÉÓ~W^accdefff^UP+8632VP=6200/+********.11c™yMr’äÜÛÛÜÛÛ߈ZhckQP²âÜÚÕÏØÞÓRn\Ye]]njbbcbccdddccdddccba^[Z\cjH32nurttlnhijjknshOJKM—ÃÅÕ¸c`cdefeeddaXR/85613HEB=564,***+,.27G24545;M`P3588:sK]ab`Œãðè˜_bbcbacccbbcdcbbb`_B#-jpvtpsqlnjkigiraJJKLKc¸ÉÌÕ•_ddeggec`]YUQPPQQQQQPQQRSVVXZ[\\Yr€`PkF>859EH=7:6232124541S›s6<743fYUabba‘°¯¢e``aaacccbbbbbbbba_B!+qwuoijmmlgijtrue^XLKMO‹ÉÇÐÈrbefhifcba^[YXXYZYXWTUUUVY[[^aa_g ~‚XWaDRLBQ[YPHMN>3222339FY‡bJOL=3PbL`a[^`aZ[`_``a`bccbbbbbba\UO; *hijga`ciiqyxrtnjncRKMR^´ÇÆÖ¦befhjfedba`_^^]^^][XXYYZ\]_gjigzŸuyP^[JRLFFGIFFEKP80117>DUZeiTLMUL:CTK_Vmˆzk^`aaabbbbbbbaabbaRKJJ9!*smlmjuoqhsrtts|~j\SKJLKÇÃÏÒ‚beefeddcba````a`_^[YYZ[]]]hgaefr€uPMUONFCCEFHHEAHEB<8CRQOSRSSLD?G>86I^Nw¢{]Waabbbbcbbaaa`^][NJIJ: )†z~€yw{wihoyxx{se\RKJKJS¤ÇÇØ·c`bcccdddcbbbbbaa`][ZZZZZ\\d‚™®ˆylV6>A=CSZ]WIE>E]IC:6;GOPMND>:9;>@CFReaNyPK[`__`bab`aaaa`ZXVUOIJ<(†}t~ysqjlsmjgoibbaULLJ]e¾ÃËØŠ\`acbdedccddccbba^]\[ZYXZTSs„š‚okY@;<@JSRIEBABPPHJHKMPUWXXUTTVWY\^__djVPQ\`____bbaaaabbaaaaa]OIB")€}xw~xsorb^fp{qijeXLLKW^[žÂÁÖ¼c_acbcddccddddccb`^]\[YXZZPOV|…xnhZ[ZZXVXYZZZ[ZZ\[[[[ZZ[[[[ZYZZZZZ[\aWBGcb``___defdccccaaa``_WI>(-††††††‡‡‡…†‡‡‡†††‡‡‡‡‡‡ˆ‡‡‡†…ƒ‚~|yuttswywyzzy{{zwuyyz{zyyz|~€€€……†……††‡†††††††††††‡‡†‡††††…„{xutsvuvyxxywy{yywtwvxzzxwy{~€€……………†††††…†……†……††††……………†…„‚€€{uvwxwwyzxxwz{zyxvvuwyyxxyy|~€€…………††……††…††…………………………„„………„ƒ€}zyxwwy|{yxwz{{{yxvvxyyyzzz|~†„ƒ…†………†………………………………„ƒƒƒ„„…ƒ‚~{yxwy{{yzzz{{{{yvuxyxyzzy{~€‚ƒ€ƒ„„„…………………………………„‚‚‚‚‚‚‚~|yywyz{yy{||{zyyuvxz{zzxz}€€‚‡‡ˆ†††ƒ„………………††…„„…‚€€€€€|}~~{zywwwxyz{||{zyxwvwxxzzy{}~€€€€†ˆ‰†ƒ„„ƒ…††……ƒ„……ƒ}~~€~}{{}|zyxwxvuy{}||{{yxyxwuvxyy|}~€€‚†ˆ„„…ƒ……††„‚ƒ€}{z{{{|}}}~{{z{|zzzxxyxwzz||}}|zwyyvuuwwx|€€€…ˆŠ†ƒ††€€ƒ„‚€zwwwwx{{z|{yyxy{yzzxxyyz{{|}}~|zyyxwvuvuw{~€€~‘‘ŒŽŽ…~‚‡‡‡‡ˆ‡xxxvvzzxzyxxxyzz{{xuwxwz{|}}~}zzywywutvw|‘Š€…Š‰‰‰Š‰ƒ|yvwwxxuvvvuwz{|zzyuuvwy{{}~}zyxwwyxwwy{~€~~………†…ƒ…‚„‡†………‡„xvwvvurtuuuw{|}zzx{{yzy{|}~}zyxvwwwwy|‡€}|€€~~‚‚ƒ‚‚‚‚ƒ~wvuuttstutuwzyzyxz|{z{y{}~~~~{xxxxz{~€ˆ€}{~€‚€€~€€vttssrsttuuvxuxyx{zyyyz|~{vwxx{~€}}}|x}}|{}‚~€€€€~vrtssrrstvwvwyyyz{yxxxz|~~|wsuvw{~}}}~}~|wr}}|}}‚€€€€~€€}urssststvwxwwxxyz{yxxy{|}yzxvqpponqrpqrvz{wqnm||}}|~€€}|~~}vtsuuvvuwxyxyzz|||z{zyxsnhonrtromhfgfdffhfegil€‚‚ƒƒƒƒ„„ƒ‚ƒƒ‚‚€€}}}}}}~€€‚‚‚ƒ‚}xutxyzyyxxwxxuqpomlnommˆ††ˆ‰‰ˆˆˆ‰ˆ‰‰ˆˆ‡‡‡†ˆˆˆˆ‡…ƒƒ‚‚ƒ„ƒƒƒ‚ƒƒ„†…†…„ƒ€€€€‚‚ƒƒ„„ƒ„ƒƒ{v‰ˆˆ‡†‰‰ŠŠŠ‰ŠŠŠ‰ŠŠˆˆˆˆ‰Š‹‹‹‹ŒŒŒŒŒŠˆ„ƒ‚‚‚‚ƒƒ„‡‡†……‚€€€‚‚‚ƒ„„†…††‰‰‰ˆ†‡ˆ‰‰ŠŠŠŠŠˆŠŠ‰‰ˆ‡‘‘‘‡„ƒƒƒ€€‚ƒ†ˆˆ‡…ƒ‚€€€€‚‚‚„„…†‰‰‰Š‰‡†‡ˆ‰ŠŠŠŠ‰‰Š‰Š‰ˆŒ‰…‚„‡‡ˆ‡‡‡ˆ‹‡‚ƒ‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€€€€€‚ƒŠŠ‰‰Š‰†††‡‰Š‰‰‰‰‰‰Š‰‡‡}~ƒƒ„ˆ‰†‰‰‡ƒ€‚€€€€‚…ˆŠˆ†ƒ‚€€ˆ‰‰ŠŠŠ‰‡†…†ˆ‰‰‰‰‰‰ˆ‰†‡‡„…ˆˆ…‡‰†‡‰…†…€€€‚‚€€€€‚„‡‡ˆ‡ƒ€€€€€€„‰‰Š‹ŠŠ‰††…†‰Š‰‰‰‰ˆˆ†‡Š…„ˆŠ‰‰Š…~„ˆ…‡‰†…ƒ‚ƒƒƒ‚‚‚€ƒ†‡‡†„‚€€€†‡‰‹‰ŠŠ‰‡……‡ˆ‰‰‰‰ˆ‡…‡ŠƒˆŠ‰‰Š„}„‹†…‰‰ˆ†„‚‚ƒƒ‚‚ƒ‚‚€€€‚ƒ†ˆˆ‡†‚€|ƒ‡‰‰ŠŠ‹‰ˆ†…‡‰‰‰‰ˆ†„†ˆ†…ˆ‰‰‰ˆ‚|„‹ˆ…ˆ††ˆˆ…ƒ‚€‚‚€€…†‡††…ƒ||†‰‰ŠŠ‹ŠŠˆ…†‡ˆˆ†††…„…†‡††‡…„„„‰Š‹…ƒ„ˆ‰ˆ‡„€‚‚€€€‚„†‡ˆˆ}}~ƒ‡‰‰Š‹Š‹Š‡††‡‡‡…‡Š‹ŠŠ‰ŠŠŠ‹‹ŒŒŽ’‰„‡ˆ‰‰‰ˆ†ƒ€€‚‚ƒ‚‚€€‚„‡‡|}}„ˆˆ‰‹‹Š‹‰††‡‡‡‡‹ŒŒŒ‹Š‹ŠŠ‹‹‹Œ‘‹†ˆ‰‰‰ˆ‰‰‡ƒ€‚ƒƒƒƒƒ‚€€€€€€w~|~†‰‰Š‹Š‹Š‰…†‡‡ˆ‹‰‰‰Š‰‰ˆˆ‰Š‰‰‰ƒ„‹‡‡‡‰‰ˆ‰‰‰‡„‚€ƒ‚‚‚ƒ‚€€~x|pz}}‚ˆ‰‰Š‹‹‹‹ˆ††‡‡Šƒ…ˆˆˆˆ‡†‡ˆˆˆ†~€ˆˆ‡†ˆˆ‰‰‰‰‰ˆ‡„‚‚‚‚‚‚€€hm|}{~ƒ‰‰‰ŠŠ‹ŒŠ‡†…„…ƒ‚„ƒƒ„„…„ƒ‚ƒƒ……ˆˆ‡†ˆ‰‰‰ˆ‰‰‡…ƒ€€€‚‚‚ƒ‡jhq|}~†ˆ‰ŠŠ‹‹‹Š‡†„„„ƒ‚ƒ‚„„„‚‚‚„…„…ˆˆˆ††‡ˆˆ‰‰ˆˆˆ…ƒ‚€€€‚ƒƒ…kjkv€~}ˆŠŠŠŠŠ‹‹ˆ†…ƒ„†††…„„„‚†…†ˆ‡‡†„…‡ˆˆ‡‡ˆ‡ˆˆˆ‰ˆˆ‰†„€€€€€‚„ƒ…nnms€}}…‰‰ŠŠŠŠ‹Šˆƒ‚„‡‡‡†ƒ‚‚†ˆˆ‡†„…‡ˆ‰ˆˆˆ‡‡ˆˆ‰ˆˆˆˆ‡„€€€‚…„‚oliny~|€‡ŠŠŠŠŠŠ‹‰„ƒ„„„„‚€„„†‡‡‡ˆŠŠŠŠ‰‰…„ˆˆ‰ˆˆˆˆˆ‡…‚€„„€jkhikz€}}ƒˆŠŠŠŠ‹‹Š†€‚‚ƒ‚ƒ‚€ƒ‰Ž’”””••”•”‘‹‰‰‰ˆˆˆˆˆˆ…‚€€‚ƒ€oniges€~|~…‰ŠŠ‹‹‹‹‡€‚ƒ‚‚‚ƒƒ‚€‡‘–”•”’’“’’‘’’‰ˆˆ‰ˆˆˆˆ‰ˆ…ƒ€‚€mkhgfk{~}€‡ŠŠ‹‹‹‹‡‚‚‚‚‚‚‚ƒƒƒƒ„‹‹†„ƒ…‰‰„€‰‰ƒ†ˆˆˆˆˆ‰‰‡…‚‚€fgghhiq~€~|ƒŠŠ‹‹‹‰‚ƒƒ‚‚‚ƒƒ„…‹„{zxy†ŒŒ„yzy{†Š††ˆ‰ˆˆˆ‰Š‰‰†ƒ‚‚ihgfghhu€}ˆŠŠŠŠŠ€€ƒ„„‚‚‚‚ƒ„‡Š…~}|‰‹Œ‡|}‚‡ŠŠˆ‡‰‰‰‰‰ˆ‰ˆ‡…ƒ‚‚jhgdgihs€~~„Š‹ŠŠŠ‡‚€‚ƒ‚‚„ˆ‰‡‹Š‰‰Š‹‹Œ‰Š‰Š‰‰Š‰‡…‡‰‰‰ˆˆˆˆˆ†„‚ihgfhkin|}€ˆŒ‹ŠŠ‡„ƒ‚‚€‚‚…‰‡†Š‰‰‰ŠŠ‹‹‰„‚‡‰‰‰Šˆƒ„ˆ‰‰‰‰‰‰‰ˆ…‚jjjjiihlt€}ƒ‹Œ‹Š‰ˆˆˆ†………………†ˆ‹…„†††‡‡ˆŠˆ„}}ƒ…†‰‰ˆˆ†ˆ‰‰‰‰‰‰ŠŒŠƒlkiinkhkr}‚}‡Š‹ŠŠŠ‹‹Š‰ˆ‡‡‡†‡ˆ‹ˆ…‡……†„„†…ƒƒ‚…‡‰ŒŠƒ„ˆˆ‰‰‰‰‰Š‹Ž‹„lnmnqpmpt}~}}‚‰Š‰ŠŠ‹ŠŠŠˆ‡‡‡‚‚…‘‘’’“••—Ž„†ˆ‡ˆ‰‰‰‰‰‰Š‰„zzzzzzzzzzz{{zzzzyyyyyyyyyyy{„ƒƒ„„††ˆ‡†††ˆ‡‡‡‡†††††……‡†„ƒ‚ƒ‚‚yzzzzyzzzzzzyyyyyyxxyyyyyyyy{‚ƒƒƒ‚„…††………†ˆ‡…………………†…††…ƒ‚‚‚yzzzzzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„††‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzyyzzzzzzyyyyyyzz{z{{|zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„…‡‰ˆ‡…‚‚‚‚€€x||{zzzzzzzyzyyyyyyz{||}}}||}€‚„„„„………„…‡‡‡………„ƒ„…‡‡‡‡…„‚ƒ‚€€{‚~|}}{zzzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€€~|{zzyz|{zz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡†„…†………„…††††‡„ƒ‚‚‚‚{z{{~~|z{zyz}{z}€‚ƒ‚€‚ƒ……„„„„……„„„…†‡†„„……„………†††……„ƒ}tsv€~~}~|{}€€„…†…„„ƒƒ„‚ƒ…‡‡……………„„ƒ„…†………„ƒƒ„„„…†††…„ƒ‚‚ƒzyz‚~}‚€€€‚‚ƒˆ‰ˆ‡†…„„„„…‡††††………„………†„„……„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚yyyz{zy€„~|||~…ˆ‡‡‡…„„……†‡†……††…………†……†……„ƒƒƒƒ„……†‰‡…‚‚€‚‚yy{{z|{~|{yy{|€‡††‡†……†ˆ‡‡ˆˆ†…†…………………‡……„„…„ƒ…††††„ƒ‚€€‚ƒ††‚~~~„††††††‡ˆˆˆˆ‰†…„„„…„„††‡††„…„„„†‡ˆ‡„‚‚‚‚„†„„„„ƒ‰Š…€€€€€€ƒ‡††‡‡‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚€‚„†ƒƒ‚‚‚ˆ†ƒ€‚ƒƒƒ„‡‡†‡ˆ‡‡‰ˆ‡‡‡…„…„„„††‡ˆˆ†„ƒƒ‚ƒ„†ˆ‡†ƒƒ„‚€‚……†ˆˆ‰‡†‚‚‚‚‚€„‡‡‡‡‡ˆ†ˆˆˆ‡‡†„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€€‚ƒƒ‚„ƒƒƒ„„„ƒ‚‚ƒ„ƒ„‡‡‡ˆˆˆ‡ˆˆ‡‡†…„…„ƒ„…‡†‡‡…ƒ‚„ƒ‚‚|||~~€ƒ‚€ƒ„„„„‚€‚ƒƒ†‰‡„……†‡ˆ‡‡‡ˆ‡†………„ƒƒƒƒƒ†‰†††}}z{z{{{{||~~~~€|~~€€€‚ƒƒƒƒ„‚ƒ……………„ƒƒƒ‚€€€‚……„……€€~~~€€€€€€€~}}}}}}|}}}~€€€‚‚€€€€€€€€€‚Š…ƒƒƒ‚‚‚€€|}}}}}}}||{{|~~~}}}}|}~}~}~€€€~€ƒ„Š†‚€€€€€€|{}~}}}}}}}|{|{}}~|{z{{}ƒ€~|z|€€€€€€€~ƒƒ‚‚‚€€€€€€€€}{||}~€~~~}~}}}||}|~}|||}‚~}~}|~€€€€~~~€‚ƒ‚‡ˆ€€~}}}|}€€~~}}}~}|||~~|{z{{|{x{}|{}€‚€~~‚…†‚‚‚€~}|||~~€€~~}~~~}}}|}~~zz{{y|~{}€‚€~‚‚‚‚‚ƒ„€}}}|}~€€€~}}~~~~~~||‚ƒyxyyy}ƒ||~~€€€€‚‚‚€~~€‚ƒƒ†Žƒƒ€~~}}~~€~~}~}~~~}{{‚ƒzyzzz‡|{}~~~€€‚‚‚‚€~~}„„ƒ€~}}}}~€€~}}~~}{{~zy{{|‡€{|}~~~€‚‚‚‚€~€€…„‚€~}}|{|€~~~€~}~~}}~ƒ€||}€}}}~€‚‚‚‚‚‚€€}}~“‰‚€}}}|}}~~€€}}~}}}~~~}~~}}|z~€~}}}~~‚€€‚}ƒ„ƒ‚€~}|}}}€€~~{|{||}|}}}}}}}}||}~~}}}~‚‚€€€€’¬¤ƒ„ƒƒ‚~}}}}}~€€~~{ƒ…~}}~~}~~}~}}†‰€€€€~~}}}}~€€€€‚˜ºµ‚‚‚‚‚}}}}}}}~€€‰‘‚~~~~€~~€ˆˆ€€€~~~~}}}}~‚‚€€†•‘{}Œ‚‚~}}}|}|€€€€‚„ƒ€€„„€‚‚€€~~~}}}}}~€‚}{‰ˆ‚ƒ~~}}||~€€€‚…ƒ‚‚‚„…€‚„ƒ€€~~}}}~~~~‚‚‚ƒ||€‚ƒƒƒ€}}~}||}~€€€€€‚„‚€}€‚€€~~~€~~}~~~~‚‚‚€‰€~‚ƒ‚‚ƒ}}}||}}~€€~}€€€€}€€~~~€~~}}}}}~‚€€ƒ€|‚‚‚ƒ‚~~}|||}~€€€~…ƒ„……†ƒ~€}|}|}~€~}}}}}~}€€€€~z|}€‚‚€~}}|}}}€€‚ƒƒ„‡ˆŠ‰ˆˆ…€{yxwwvvuuuuvy|~~~~~}}}~€€‚€€~zyz~ƒ•ˆ‚€~}}}}~}€‚‚‚‚ƒƒ„„„…ƒ}yxwxy{}|{|{{z{~~}}}~€Œ€~yxy}„Š…‚~~}}||€€€„ƒ‚‚€{|}}~~€‚€}~€€~~~}}~~€‚€‡€~zxxz€‚‚‚‚~}}}|~€€€€€€€€~||}~}}{xy{}~}~|{~~~~}}}~„~zxwxz€‚‚‚‚€~}}}{~€€€€€€€€}}}€~ywvy}€{{}~~~~~}€€ƒ~yxyzz~‚‚‚‚€~|}}~€€€}}}~~~}ywty||{|}€~~~}~}~‚~{x{|{‚‚‚|}}~‚‚‚~|}|{||||zyz{‚„|z|}~€~~~}~}}~€‚€}{{}~~€‚‚‚}}}~~€€€€€€€€}|}||{||}}{{}ƒ„|}|}€~}}}}}}|}ƒ~€„„‚‚‚„ƒ‚€~~~}}}}~€€€}|~|}~}}~€€~}||~~~~~}|{€‰ˆ‡ˆ†…„…†ƒ‚™~}}}}|}~€€€€€~zzyy{zzzzyyxxwwwvuz~~~~}|ÏÏÏÏÏÏÏÏÏÐÑÐÏÎÎÊÄÈÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌǾ¶®¤¡”~rikxkjjmmtcgbV^b\\d]S[`^_UQOSZY_d_dSUVWUVTTYUQW^_\XTME=7;<632@2ÏÏÏÏÏÏÏÏÏÏÐÏÎÎÍÈÃÇÃÊÍÎÎÎÏÏÏÏÎÎÎÎÎÎÎÍÌÌÌÌÌÌÍÌÍÌÌÌÌÌÍÍÍÍÎÎÆ· ¦šxƒz€t__ao|o]_mjgZYZ[_ZWUO_g_[RPPQYW\ghhPV]`ZQPLQRX_b[WOMK@@75542076ÎÎÎÎÎÎÎÏÏÏÎÎÎÍÌÈÁÅÀÈËËÌÌÍÍÍÍÍÍÎÍÍÍÍÍÌËËËÌÌÌÍÌÌÍÍÍÌÍÎÎÍÍÍÌÀ£Š‰qonolmoot~{`c`cd[[[[\]STV]dYYYWTRUSV]gdQQY[UMNNQQ]c`b[PGB?;952320.2ÎÎÎÎÎÎÎÎÎÏÎÍÍÌÍÉÂÅÁÊÌËËËËÊÊÊËËËÊÊËÊËËÊÊÊËËÌÌÌÌÍÎÍÍÍÍÍÍÍÍÍ̵—”zmtvyu~~gfb]hZ`ee[[WU_YSXffSPTWXRNLVPZhQOUXZPMSPPYb_aWTUOH?<96321.-ÍÍÍÍÍÍÍÌÍÍÌÎÍÍÎÊÁÂÁÌÎÎÎÎÎÍÍÍÍÌÍÍÌËÌËÊÊÉÊÊÊÊÊÊÊÉÊÉÈÊËÌËËËËͽ’†~sam}mdg``aYibYXTTM[`^`po[QOT\TMJTRSYSZ[XUNPQTZ_XWYQOYOI>@A<520-+ÍÌÌÌÌÍÍÍÍÍÍÎÎÎÎÈ»¼»ÊÎÎÎÎÎÎÎÎÎÎÍÎÎÎÍÎÎÎÌÌÌËËÌËÌÌÌÊÆÉËÌÌÌËÇÆÄ£‰z{oh_lppe`b_X]_VS[SSPZgeffdhVPVXSQSTRSXQY]`USUQYZ\YXTSOQPI>@>5550.2ÌÍÍÎÎÍÎÎÎÎÎÎÎÎÎżļÇÎÎÍÍÎÎÎÎÎÎÍÍÎÍÍÎÍÍÍÍÍÊËÍÍÎÍÌÉÆÊÊËÍÏÌÇÅ´šyxpeXTc`Z^a`]a_XTRKNUY_adi^[SOOPOKSQSP^LTTZ[WZY`Z[XSQSORJFC>@;431/3ÍÎÎÎÎÍÍÍÎÎÎÎÎÎÎÅÀÌÂÆÎÎÍÍÍÍÍÌÌÍÍÍÎÍÍÎÍÍÍÌÍÉÉÊÌËÇÄÄÁÇÅÈÌÍÊ¿½­‘€xrTTQROWYmpfac[YMCALYR[ba^VTRJLKHLHOKYORUTVVZ[[[_YSORMWOCGA??40/-,ÍÍÍÍÍÍÍÍÎÎÎÎÎÍÍÅÁÌÃÄÍÍÌÌÌÌÍÍÍÍÍÍÎÍÎÎÎÍÎÌËÈÆÆÊÁ¿ºÁ½Á½ÅÊÉÅ»¯§¨Ž~ur^UVYXhi^ofgaVVRRUTeUN[]SNVXRKJGOPQXWRPXZUSXXVOTYSQVQXX@57220..--ÍÍÐÖÕÏËÌÌËÊËËËÌÂÀÉÁÃÍÍÎÎÍÍÎÎÎÍÍÍÎÎÎÎÎÎÎÌľ»¹­¾ºÀ¶¿ÇÀ¾´¥‹‹p‰zfZ^[]dkVm]U^SNST_^WOOQXQPSVWLLLSSSZg]OWXVVVUZSQZXX]]MC=7540.----ÎÚèïíãÑÊÊÄÁÁÄÆÊÂÀÇÁÁÊÌËËËÌÍÍÍÍÍÍÎÎÎÍÍÍÍÍƼ²¼¸²¡º´¿´µÁ¶½´˜†|{lgbbcbTYd[Uc[RZ]PRRW]UVSMNNKLMSYVOQORRcZNYZXRMOYXXTWQMJ@7=<;72.----ÛíÞÂÍëèͺ´³¸»ÂÃÃÊÆÃËÌËËËËÊÉÊËËËËÌÌÉÉÈÆÆò¬¨­°§ž©®¹¯²º­¬¡ƒvxtkiQ^eZWcZQ]h^Y_YKOQT\_aTPMLLMQLUWKNSNS\]Ya\TPLOYVWVOPXJBC=;;951..--ßã­‘œÊâȹ´²±´³¾ÄÆÌÉÄËÍÍÍÌÌÊÇËÌËËËÉÉÆÃÿ¾²¡›™£¥š—Ÿ­­¬«¨¤˜„snlhjn^WYU`aVV\[Z_VSXTRTT_WQSONSVRSTWQOWPRZaX^WY\V]_TTZWSQ@?G;7677520/.Š‡€€€ƒ“£³ÀÃÅËÈÂËÍÎÎÍËÇÃÉËËËËÈĺ´¶µ¹¬ –Ž˜š—”¡³®«¡™›‘xieeVhbSLHOW`YRR^h``oa_c^TXNQPOPRVQUQSZRZOO_^]h[b^ihaSPNMJKA=A8755454/02“iWYUp‹ˆ‚|«ÀºÃÈÇÀÉÍÍÍËÉÁºÆÊÊÈƽ¬¢¤¥œœ—ˆ•™’’«­’‘ƒvedhZ^UPSQQZ`^[io_QUdOXqp]QNKNMKHJLLNMMQXTX^TRXX`g^]XOIMGFECHB8644344014ª¯½žhQsºÖà×Ã…Œ¸³¿ÇƹÂÊÊÌÊÇ¿´ÄÊËÁ¶§™œž•™—Šƒ—”ŽŒ‘™‘Š‰‰ƒ~vupcXSX]XOY]VT]h]RP_ggb`]SRMJJHIGGEFNMS][W[VO\ighV^TMUSHIA?A9854423337£½¡y77‘ŸMIKN?gx¤±¤œ ª¶»¾ÃÄÅü¹³¬ž š’—’Ž‹‰ˆƒ}‚z‚‰…y|zyqiie[VYRY^YT[Z]ZVZ[[]ZUPJVUNLOKADFFA?GHIQKRSY]aXbo]_PY_[IEB@><856669=@=Qb\M87S^T„kC7Xl°w‰³¼ÎÌËȽº¼¾ÁÅʽ—Ž‡Œ‹ˆ…‚‚z€‡}vywrsnkgY\cacYSSXW]^aXT\SX_[VPINLNIBDF@?FGDAPHVX[W`aa]RcbVWXSMHEG:75667<=FFFCFLECBT`lcLCFU´blØ©gYVRPQKMLMQWw ŒŠ…ŠŽŒ„‚‚ƒ{~Œz€yvrstpidX\db\RUOQ^fcdVNSSi\cXMRQOJHDJTJCJLMFPQ]^ZM[ddeU`cVOW^REAA=:8767;@KBllkhhijpwwuoifg|²Öä}>FHIWgONPNMHD—Œ…ˆ„Ž—‰‰~†ˆ‚~Šy{xvuuxucWRZX[WZXNZ\^`ghknqlQ\]UNQQGFEPXQQOOQIJVY^ZNN^[`^^gfV`UA::<=<:;9:==>;VVUUUVVWUWXZ_ai}ÔëÊ`KA=>Yfb\KB@E:x—€„ƒŒ˜ˆ„‰|ƒŠŠ†ˆ‚|xww{uup`X^`TVTUWaXPN`sƒuc[\fQTNMRSNNJC@MTRRTSN\edeZSYZ_\T\XUVH<99;;78:98===>CC75676Rµ¼‰‚‰}‚€‚‡ˆ‚€ƒ~vtuusqsg\_[NPZZ[]TT^bg_^U\caSVNKKRKGA?>=UQTTT]ZSTTR\}n©†ªÛšFPX^]_`_de_[XQX¡âò—|‚~y€…„€{€{wrvyytokg\TMKYW\SSX\[XIX_Z]XYaXKMTOLILOOOTVXV[of[[[ZWZYRWLNK@773b}97988;AECE‚PZ`f˜‰b_YS¡ðÜù§x±´¹¼ÂÁÂÃÃÅÿ¹»Çµ­‚z}~|}|€ƒ€}xxpnxy{riacTRSEAMWXVY\OKIVZ\]U[e_SNLJKOMNJHKNVXZ^a[^XVSWOKMIB<8776Vˆ?889;;>HJH‘EHL\»žPLIJ±ïÝì^ºÖÕÕØÚÚÚÝßÞÝÜÛÙ×ÕÙ¥syzx||~{~„„ywxmiouyoha^PQTGJQUX\UPSQTU[VVWZa]SLEDBEHIFFGJSV]\VMVSUSSNGFD=96686Ww@98;=?>=<@KPVbZSX[SW[PMG<;:87782†ßM16;:;BIJJÝçèêêéåãâàÞцPI@YÍÝßêêìãÓÏÝØÂÄÝëæâÙÕštyzzvz{}~|~|xtwvjltlhg`O^j\VTZ[YSPXZ[b_XU[ZVNHE@@?><79?DIJ[iXU[Y[]WHDB:58887:4ƒäP/8<=BHHDQâïñóòòóóôñðÞNKCUÏáçêäëÁ“–ÃÁž™ÅêãâÝݧtxwyyx{}z|{€|xxuniphgdb[hqc\NQ\ZVSU[W_ZV[eZPJCA@@CA?>CIC>L[li]MQgRHB;;:8;;99>8tÛW2>DSQJV_^lmRVXKB;666;@BA>A:;?FMIB=?:sñm9<4=IIX`lwt~‡‹œ‡‰”rUJJHJ¡îíîïììññðññðìíñîîã‹v}}jz~y|ws€~zspmkihecnaTW]YW\TPURTR\^Ze^VVROIGGBGJFEGONTillvvdbmiWQOMPUTVTHIP=rót769U[^ljiW^``evkecaaX@>@:C‘êåÑÈäáÀ¿¿ÀÀÀáß¹Íâ܃vzyry~{z}}vzxyuskb`a\\jcUOWZa[XSOOXU[e`aYPOUQLE@>JXaV[dipe[XY_cgknlpf]hxvpmeijY‚ðƒTT[vvqvlfPPLJIIIJJKMVP4/3A|ÞÉ’f½ã…omkj…å²UšÉÏ}tt€}uy}|tx{}wypdZbgdbcaUWYYTSQPNU\YUZZTNRXSRU\\rƒzclyn\TX]^`cigo„‚€ƒ…|€„‰‰Š“³•‰ƒ}}strh|{zzz|}{{|{~}A+1DhÕçÜÒÞïÔ»¶°¯ÐòÜÍÚìÀkww||vv~wrx{|qwne``g`]a^YZUURTY[QPXVMLOU[YWZexƒ‡Œ†ebslTRY\\\^gjlv€~|}vt}Š’’Š…Š‚€orpmphlmnnotvvuvxxyK46Ij »¬¦¶½½¾ÂÎÅ° Ÿž¦·‹kz{vtvztt}utyvwrrnlmkmklqonokpy†’‰ŒŽŒ„„‘¯•|z‚~z€mamobV\`_][_hgjsgebedtƒ|…ˆ…„Ž†{sdhpnjgiiijknqrpqqqsrnow‚}~~}~}{|‰–’‚‰†yqvzxxwvttrrqrttsrqonmlmnpqswyzyzxutuwwxz}ˆŽ˜¥´²©•…yqklllmmjfb]\][Z__WY]^^agjfgdbdppjokg`juotyonmlloqsttsssrstx|}€}}|{zwvv~‘¡ ‹qqqtxxwwwtqqqqrstsolkiiiiklmpsuvvuttsrrsrppqxƒž«¯¬¥qfggea_\YV[YWWXXWZXWX[YWXYYWUTVQZZcqxtolkijkmnopqonnnoquxy{||||||zwvts}†{† ”vnpsttvvusrpoppmlmmlkihffffhklmqtuuutronnnonoqv}‹œ°¾¸¢†sjgiihc`^]XUSRUSRTW_bUVX[WWVUSTVSXyvrnkiijkmnoopoooooprtvxyzzzyyxwvtpp}–”~|sqprssrsqpongfjllljigdca`bddgkortuvvtqnllnoponmn{“®¾¼¬“rjjkgdbb[V[UUUUXXTTV\TTT[YVVUTxxvtpkihiijlnoooprrrrrrtuvwxxyyyxwusqmm~¤¤€nprv|ƒŠ—ž¡Ÿ¡¥¦¦§¦¤ —“…{pccbcdgimqtuwxvtqmljmpqpnmsƒ™±ÄÁ¥†rhikkifea`\YUTSTSSSTTZWTWXXvvvwuplhffgiklmnopqqqqppoqsuvwxxwvvsrqppootš£¬¯¯¬«¦¡š–“’“““•˜ž£§¦Ÿv`ba___`djorstvwvtpkhhloonkhj|ŸÃ̲Šskijkjjhfc_[WTSRRTSUYTWWVuuvvvurmhffghjklmmnnooonmnoqssuvuvwusrrqpm’®™–Ž‚woia^]_jrh_\YUUWZ`fk„kdbba``_aejnqrtuuvvsmhhklnooljv”°ÁÀ¦‡skklkjhgd`]ZWURPU[STTTrtuvvvurniedefhjkkllmmnmlllmnpqstuvvutsrpo›~[VQONMOWbfr«‹g``d_]ZWK?Ztjgcaaa`a`adhknqstuvvtqlhgjmnnlijv“¶ÉÂ¥…qlklligeecb^[WTUTTTmqsstutrpmidaacdghijkllmmlkjjkmnpqrtttsrps†MFNT^gmsP:9553543IqssqofK=conkgdb`aa_]_bfknprsttttrledhklmmjfi¨Êβ‹rpljihggffeda]WTWkmopqrsrrpnhca`abdegijjklmkjiiiklnprrstspq;Su…˜œ¢vMH9206BDGHEDDCHQFGlmnolidbbcb`]^bgknpqsstutqjcdgjllkiffx¥ÌÑ´Œrlmkigfeggffa]\jkmoqrstsrqnidbabbceghijklklljiijlnpqstsr‰RF\ª­±´µ§›‹t`ehVGB64:?72:eC]ginpomjgefgda_adhknpqstttsoiddgjlkkjgh}¤ÇϹ‘tlmlkihgfffebhklnprtttssqnjecccbcefhjkkkklljhijlnpqrrx‡AcA–»¶³¬¥¤ ½Ä‚{®{A84DNG:44g]Lhdejmooljgfffdb_adhlnoqrstttpkfdhjllmlgfwœ¿Ï¾œ}mllkjiggffbfikmprsttsrpnkgdbbbcdgjjjjkkllkigiklnop~sJq2Jd]TFE^gl~wnx]>0?:0v›@ja><:Vmmlkid`aejlkjgdb``aa`^^^`cgkmoprssqpmgbbegjjkkjjeO»ÈÈtYadgjklmopqqppmlidaaaabcdefgWEALŒiD—iRˆYTkHEGKRXZ[PRPP[_y~WE:980WU4WI9?3Dnlkkkjfbbbeijihea`^^`_^]]^aehkmoqqqqpqmgbbeijkkkjYy¯¿Í³b\cgikllnopppqonlgca```abced=8<=3/_M<;9877767666666566667777899:<@J7Qeihhhijjjjkkjjhda_adgjjie`]\]]^]\\\^aehkmoqqqqqpmhdcf]RKVšºÄÄuT\`cegiknnoonnmlhdb`__abbdfg’ihggggec``cedcedddegggggggfca_]]bjmmlkifc`_][ZZZZZHvoomkklf\RMM™ÄÈÕŸZ`cfghijjklmmllkifb`\@/.,0.03KHBlwQeoqi{ºÙ›zkiaXXU==?:740.1BkiggggggfdbŒuaddcbdefggfefgfdb`]]agkkkifc`^[ZYYYZZK[ofdef`b^SMIf¶ÃÎÌtZbhighhijllllmljheb\7/0./15:?DJPX`hv‰ ªÀÕijª–‰tf[PHB=:521/Ckhfggggffecfd``cbbcceefeddefecb_]\^dhjihfb_\ZZZYZWJRlihhrmhbRLLL‡¿ÅÕ°]^ddfggiijlllllljgc^:-025579=AGRe{»Úßãæìîíêëìè›n`ZYRF=60/.Gkiefhgggffedhilbaabcddeeddeffecb`]\]chjiigc^[Z[ZZTHQonhhpoqjSLMJX§ÂÌÔ”a^cefghijkkllllkieb<+//159?GP]l“Äïæîììëëììî熩–ƒs]I=60/.Jkiechgggggfg°ÖÚ¨fabcddeeeffgggfec`_]^dhjkkhe_Z[[\TCLjrkiootrf[OKKw¹ÂÐÊq\cefghhjkkklllkigfC+./.39@HVg¦©¹ðæîîïðññòõꂧŠxcM@:50/,Njhd_edeededa‚ÉÌÀy^bcddfeeghhgggheda_]^bfjjhie][\]T>FuxnkqponpqYKKP“ÀÅÖ®_adffghikklllkkkihH+.0.049BEN]pxžèàØÓÎËŸ­¨—HH?6:|‹E:3/2Ztvws‚‚€y{wmdabcdeeeeefffefffeca_]\_fhhihd^]]U>BrokilmighkeMKJ^­ÁÉÖ‹[beghijjjklmlklkkK./0/=BHG_Îê—†—Ÿ©­±±¯²±±±²³³³²±±©•r`bddeeddeeffefgfecb_]\afhiiiea^W>>pnmehlntroiRJKK}¾ÀÑÇn_efhijjjklmlmmlmJ13/.:I³÷±rktŠ u}‡Š“˜›¡££¦Ÿ¦™¡µª·±®ª¦¡›™•“Œ‹ŒŒŒŒŽ‘‘’™m`cdeeedffggfgfggeda_\\`fijjihc[>=idcielruqss^KK[g¾ÄÕ®cdfhijjkkklmnnnoI18--1;y©_aqv~‚…ˆ‰‹‰‡wlbXRh§œ†Ž‡‚|yxusonlihggggggggghgw‚a__befefegggffgghedb_]\`dikklib@EC35431,-010136§tdfb`_]]]\[Z`a_``````_``a_Xn¦Âªiceefeefghggggeedb`]\^ejkmmiD=zusqvrlknmikeLJKIrº½ÍËu\dfffghjkllllnH0:,,,/137<>?A@ADGHLlVHIGGC^±‡V\ejnruv{‰•°Àž““Š†ƒ‚€tp˜ãâ _cdeedefffgffeeedc`\[_eiklmH=y€rlkkhjlpiaOILLM’¾ÁÔ­[_cdeeghjjkkkgC/;/,*-//135669;;=AFYG<851/‹«nfp„†…ƒƒ…ƒ€~[JPB;e–›™˜•“„€\]snbccdddeefefeeeeeeeb_][_ehkmI9rwsvtmphnopmkeXMKH`µ¾ÉÓ~X`bdefggjjjaY=.;3,3/+++*))))())()'(**)&>™‘RpŠ¨°¹ÁÈÏÓ×–PE@?DZÆãàÝÖÚàÝÊssLjb\mjccdcddeeeededdddca_\[^bhlI5ovsvunpjjlllnsiPJKL“ÂÄÖ¸cbefggggffbXU=-:5.EV@52/..,********+-0/d—|Ly£äßßßÞÞÞá\k`_TR»ãÞÝÖÐÙÝÔ^yT`hl‰ycdddddcddddddcddcb`_][\ckH4lunnmknlhjknmniRIKKh¼ÅÍ׊^dfggggedd[VB-:56,FJE@9671+***,,.29=ACyœjTl˜åÝÜÝÜÝÜÝ|V\cgNO°ãÞÜØØÞáÕR^kQkc]^accccddcdddddddddca`_][]eE2mkmtrnlmnngjkiiUJKMN–ÇÅÓ¼b^aceeefffbUE1835130.,+())))))*+,,+*)6„ŸYbW~ÔÎÎÐÑÓÔ¾dSQffRPãáÞ×ʶœ|ACyLhebb_a``cddcddddefeeddcba`][^B.jmqsnmmprqlhllgTLKLJe¹ÅÌÖ^deffffedb[H63002*"#"#$$$####$$$$%%#C–’NjODONPQSV[^RQS¯‹QTXuo\QE:3:F8lVZebe¤½½“_cddddcdeeeeddccbb`\\?(mklotvurtljmnkpePJKLM‘ÇÈÔÁkcefghgec`^VC31121112332333335767999]£€IoP=7578637@:5?´ŽCB90069;:7AN:UiNbc`‘åðç—`bbccbddeeedddccb`_^@%jqvtptrlnkligisdKKKKKa·ÉÌÖ™_deeggeca^YQJGFEEEFHIHHHIJJJLLKKLLMs£nJqN<758:8773210lq13446::==7E@423224557Y‘’o>E>64ZaPabaacebaaabbbbcbbbbbbbbb`YS="smlmlwprhtsuts|~j]TLKMK{ÆÃÏÔ…beeededcb`^^]]]^]\ZXXXYZ\^bijup„¡wxNaXHTNHOPQMJNTG322245;QXs}ZNPTE5EdI_^Zdfgb`bbbbcdcbbbaaabaUNKJ9"‡z‚zy{xjjpzww{te]SLKKJQ¢ÇÇ׺e`bcdddddb```````_][YYZ[]^bljjbvˆxsI]UMQHDDEGFFCEJ9232?LLR]^ZSMJNPAAKI^RwªŒq[``ababbbbba````]NJIJ:!ˆ~uzttjluojhoibbaVLLK]f¼ÃËØŽ\`bccdeddccbbbaa`_][ZZZZZ]fdhtqu€qOEOLIEFGMMLLFBMJIA8>944G]U]”oUVa`abbbbbccca`[WURLIJ< €~yxytprb`hq{rjkfZMLLY`Z—ÂÂÖÀe_acbcdedddcccbba_]\[[ZYY[Ug‹£½ˆpjS47::EZa\PA=8M[C@868BLQQREA@ADGLOQXcjMuNN]`__defeddccbaa```ZMI@#††††††‡‡‡…†‡†††‡‡‡‡ˆ‡‡‡ˆ‡†††…ƒ‚}yvttswywyzzy{{zwuyyz{zyyz|~€€€………………†‡†††††…††††‡†‡†‡††††…„€|xuttuuvyxxywy{yywuwvxzzxwy{~€€€……………†…†††…†…†††…††††……†…………„‚€€{vwwwwwyzxxwyzyyxwvuwyyxxyy|~€€…………††……††…†††…………………………„………„ƒ€~zyxwwy{{yxwzz{{yxvvxyyyzzz|~€€†„ƒ…†………†…………††………………„„ƒƒ„„…ƒ‚~|yxwyz{yyzz{{{{zvuxyxyzzy{~€‚ƒƒ„„„…………………………………„ƒ‚‚‚‚‚‚~|zywyz{yz|||{zyxvvxz{zzyz}€€€‡‡ˆ†‡†„„……………„………„…„€€€€€€~|}~~{zywwwxyz|||{zywwwwxxyzy{}€€€€†‡‰‡ƒ„„ƒ…†………ƒ„……ƒ}~~€~}{|||zyxwxvux{|||{{yxyxwuuxyy|}~€€‚…ˆ…ƒ…ƒ……††…ƒ‚€~{z|{{|}}}~|{z{|zzzxxzxx{z{|}}|zwyyvuuwwx|€€€…ˆŠ‡„†‡‚€€ƒ„ƒ€|wwwwx{{y|{yyxy{yzzxxyyy{{|}}}|zyyxwvvvvw{~€€~‘‘Œˆ‡‡ˆˆ‰‰‚xxxww{{xzxwwwyzz{{yvwxwz{|}}}|zzywywutvw|‘‘‚„‰‰‰‰‰‰†}zvwxxyuvvwuwz{|zzyuuvwz{{}~}zxxwwyxwwy{~€~~„……†…ƒ…ƒ„‡†………†…€ywwwuurtuvuw{}}zzx{{yzyz|}}}zxxvwwxwy|‡€}|€€~~‚‚ƒ‚‚‚‚‚wvuuttstttuwzyzyx{|{z{y{}~}}~{xxxxy{~€€ˆ€€}{€‚€~~€xttsssssttuvxuxyx{zyyyz|~{wwxx{~€}}~~|x~}|||€‚‚€€€€€wrtssrqstvvuwyyyz{yxxxz}~|wstvw{~~}}~}~{wr~|}~~€vrssststuwxwwxxyz{ywxy{|}zzxvqpppnqrpqrvz|woml|}}}}}€~}|~~~wtruttuuwxyxyzz||{z{zyxsoinnrsqolhfgedeehfefik€‚ƒ‚ƒ„ƒ„„„ƒƒƒ‚‚‚‚„€€}~}}~€€‚‚‚‚ƒ|xttxxzyyyxwxxtpppmlnoml‰‡†‡‰Š‰ˆˆ‰ˆ‰‰‰ˆˆ‡ˆ‡ˆˆˆˆ‡†„ƒƒ‚‚‚‚„ƒƒ‚‚ƒ„…†‡„„ƒ€€€‚‚ƒƒ„ƒ„„ƒƒ|w‰‰ˆ‡†‰‰ŠŠŠ‰ŠŠŠ‰Š‰‰ˆˆˆˆ‰‰ˆˆ‰‡‡‡‡‡‡…„ƒ‚‚ƒ„…‡‡†…„‚€€€‚‚ƒ„„„††‡‡‰‰‰ˆ††ˆ‰ŠŠŠŠŠŠ‰ŠŠ‰‰ˆ‡‰‘‘‘’’‘‘’‘‡„ƒƒ‚€‚„‡‰ˆˆ…ƒ‚€€€€‚‚‚„„…†‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠŠ‰‰Š‰‰‰ˆŒŠ‰ŠŠ‰Š‰‰ŠŠƒƒ‚‚‚€€ƒ…‡ˆ‰ˆ„€€€€€‚‚ƒŠŠŠ‰ŠŠ‡††ˆ‰‰ŠŠ‰‰‰‰‰‰ˆ‰„~}ƒ……ˆ‰‡‡‰ˆƒ‚‚€€€‚…ˆŠˆ†ƒ€€ˆ‰‰ŠŠŠŠ‡††‡‰‰Š‰‰‰‰‰‰‡†…€‚„„ƒ„ˆ‰ƒ†Š†……‚€€‚€€€‚„‡‡ˆ‡ƒ€€€„ˆ‰Š‹Š‹Š‡……‡‰ŠŠŠ‰‰‰‰‡‡‹ˆ…ŠŠ‰‰Š‡~‰…†‰‡„ƒ‚‚‚„ƒ‚‚‚€€€ƒ†‡‡‡…‚€€€†‡Š‹‰Š‹Šˆ††ˆ‰‰‰‰‰ˆˆ††Š†‡ŠŠŠŠ‡€‰‡…Š‰ˆ†„‚‚ƒ„‚‚ƒƒ‚€€€‚ƒ†ˆˆ‡†ƒ€|ƒ‡‰‰Š‹‹‰ˆ††ˆ‰‰‰‰‰‡…‡‰††ŠŠŠŠ†}€Š‰…ˆ‰‰‰ˆ…ƒ‚€‚‚€…†‡‡‡…ƒ||†‰‰ŠŠ‹‹Šˆ†‡ˆˆˆˆˆ†„„…††‡‡‡‡†„~‡‰†‡…„†‰ˆ†„€‚‚€€€€‚…†‡ˆˆ}}~ƒˆ‰‰Š‹‹‹Š‡†‡‡ˆ†……ˆ‰†ˆˆˆ‡ˆ‡†ˆ‡ˆŠŒ‹„…‡‰‰‰ˆ†ƒ‚ƒƒ‚‚€€‚„†ˆ|}}„ˆˆŠ‹‹‹ŠŠ††‡ˆˆ†ˆŽ‘ŒŒ‹‹‹Œ‹‹ŒŒŽ’Ž„ˆˆ‰‰‰‰‰‡„‚€ƒ‚ƒƒƒƒ‚€€€€€‚ƒw|~†‰ŠŠ‹ŠŠŠ‰††‡‡‡‹ŽŽŒŠŠŠŠŠŠŠ‹ŠŠ‹ŠŠˆ‡‡‰‰‰‰‰‰ˆ…ƒ‚‚‚‚ƒ‚€€€|zpz}}‚ˆ‰‰‹‹ŠŠŠˆ††‡‡‹‰ƒ†ˆ‰‰‰ˆ†‡‰‰‰‰‚|ˆ‰‡†ˆˆ‰‰‰‰‰ˆˆ„‚‚‚‚‚‚€|{hm|}{ƒ‰‰Š‹Š‹‹Š‡††…‡„†‡†††‡†…†…„€…‡ˆˆ‡†ˆ‰‰‰ˆˆ‰ˆ…ƒ€€‚‚‚‚‚ƒjhq|}~†ˆŠŠŠ‹‹Š‹ˆ…„„…‚‚‚€‚„†…‚€€‚ƒ„„‡‰ˆ†…‡ˆ‰ˆ‰‰‰ˆ†ƒ€€€‚ƒƒ…kjkv€~}ˆŠŠŠŠ‹‹Œ‰†…„„„„„ƒ‚‚„„†„ƒ„†…†…„ˆ‰ˆˆˆˆ‡‰ˆ‰‰‰ˆˆ†„‚€€€€ƒ„„„mmms€}}…‰ŠŠŠ‹‹‹Šˆ„ƒ…†ˆ‡‡…ƒƒƒ„†ˆ‰‡…„„ˆ‰‰‰‰ˆ‡‡ˆˆ‰ˆˆˆˆ‡ƒ€€€‚…†„oliny~|€‡‹ŠŠŠŠŠŠŠ…„†‡††„€€€„††‡…ƒ„‡‰ˆˆˆˆ…ƒ‡ˆ‰ˆˆˆˆˆ‡…‚€††ƒijhikz}|ƒ‰ŠŠŠŠ‹‹‹‡‚„ƒƒ„‚‚ƒƒƒƒ‚ƒ„…†‡‰Œ‹ŒŒŒŒ‹ŠŠ‰‰‰‰‰ˆˆˆˆ…‚€ƒ„ƒnniges€~|~…‰ŠŠŠ‹‹Œ‰€‚‚ƒ„…†„‚ˆ’”–––—––———’‰ˆ‰‰ˆˆˆˆˆˆ†ƒ€‚mkhgfk{~}€‡ŠŠŠ‹‹‹‰‚ƒ‚‚‚‚‚‚‚ƒ‚‚…”““’ŽŽ‹„‡‰‰‰ˆˆˆ‰ˆ†ƒ‚fgggghq~€~|‚ŠŠ‹‹‹Œ‰‚‚ƒ‚‚‚‚ƒƒƒƒƒˆŒ„€~ˆŠ‰€~~‚Š‡‡‰‰‰ˆˆ‰‰‰‰‡ƒ‚hhgfffgu€}ˆŠ‹‹‹Œ‚€‚„„‚‚‚ƒƒ„„‰ˆ}wxw€‹Š‹}xyx€‰Š‡ˆ‰‰‰‰‰ˆˆˆˆ†ƒƒjhgdgiht€~~„‹‹‹Š‹Š‚‚„„‚‚‚‚‚ƒ…Šˆƒ€€†‹ŠŒƒ~‚„†ˆŠ‰‡…‡‰‰‰ˆˆˆˆˆ†„‚ihgfhjhn|}€ˆŒŒŠ‰‡„‚‚€€€€‚†Š‡ŠŒŠŠŠ‹‹Œ‹ŠŠ‰Š‰ŠŠˆƒƒˆ‰‰‰ˆ‰‰‰ˆ†‚jjiiihhjt€}ƒ‹Œ‹Šˆ‡……„ƒ‚‚ƒƒƒ‚„ˆ‰…ˆ‰ˆ‰‰Š‹ŒŠ…ƒˆˆ‰Š‰ˆ‡ˆ‰‰‰‰‰‰‰‰‰…kkihnkhjr}‚}‡Š‹ŠŠŠ‰Š‰ˆ‡†††‡ˆ‡Š‰ƒ…†…‡†‡‰‰…|€ƒ…‡‹ˆˆˆˆ‰‰‰‰‰‰‰ŒŽ‡lnmnppmpt|~}}‚‰Š‰ŠŠŠ‹ŠŠˆ†‡‡†††‰‹†‡†…††„…‡…………ˆŠŒŽ†‚†ˆˆ‰‰‰‰‰‰‹‡zzzzzzzzzzz{zzz{zzyyyyyyyyyy{„„ƒ„…††ˆ‡†††ˆ‡‡ˆ††††††……‡†„ƒ‚‚‚‚yzzzzzzzzzzzyyyyyyxxyyyzyyyy{‚ƒƒƒ‚„…††………†ˆ‡†…†…………†…††…ƒ‚‚yzyzzyyzzyyyyyyyyyyyyyyyzzyzz~‚ƒ„„ƒ„„……„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚€zyyzzyyzzzzzyyyyyyzzz{z{{{zzz}€ƒ…„„„……„ƒ…†‡†…„„ƒƒ„„…‡ˆˆ‡…‚‚‚‚€€y||{zzzzzzzyyyyyyyyz{||}}}||~€‚„„„„………„…‡‡†………„ƒ„…‡‡‡‡…„‚ƒ‚€€|‚~|}}{zzzyzzzzzzz{}}~~}‚ƒ‚‚ƒ„ƒ„……‡††ˆ†…………„„……‡‡††„ƒ‚‚‚€€‚€|{zzyz|{zz{|}€€€€‚„…ƒƒƒ„…„„„„…‡‡‡……†…„…„…†††††„ƒ‚‚‚‚{z{{~~~}{{zyz}{z}€‚ƒ‚€‚„……„„„„……„ƒ„…†‡†„„……„………†††……„ƒ~tsu~}€~}|{}€€„††…„„ƒƒƒ‚ƒ…‡‡…†………„„ƒ„…†………„ƒƒ„„……†††…„ƒ‚‚ƒ€{zy|‚€€‚‚ƒ†‰ˆ‡†…ƒƒ„„…‡‡†††………„………†„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚yyyy|zx~„~~{z||ƒˆ‡‡‡…„ƒ……†‡‡†…††…………†……†…‡„ƒƒƒƒƒ……†‰‡…‚‚‚‚zy{{z{|}€||zy{|~…††‡†……†ˆ‡‡ˆˆ†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ‚~…ˆ‚€€~~ƒ†††‡††‡ˆˆˆˆˆ†…„„„…„„†‡‡††„„„„„†‡ˆ‡„‚‚‚„††„„„ƒˆŠ†€€€€‚‡‡†‡ˆ‡ˆˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†„ƒ‚‚‚‡‡ƒ€‚„ƒƒ‚€ƒ‡‡†‡ˆ‡ˆ‰ˆ‡‡‡…„…„„„††‡ˆˆ‡„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚………ˆˆˆˆ‡„‚‚‚ƒ€‚‡‡‡‡ˆˆ‡ˆˆˆ‡‡†„…„ƒ„…‡†‡†…„„ƒ„……ˆˆ…€€‚ƒƒ‚ƒƒƒ„ƒƒ„ƒ‚‚‚ƒ…„‚‚„‡‡‡‡ˆˆ‡ˆ‡‡‡†…„†…ƒ„…‡†‡‡…ƒƒ„ƒ‚‚‚|||~~€‚‚€€ƒƒƒƒ„ƒ€€ƒ„ƒ…‡‡„……†ˆˆ‡‡‡ˆ‡‡………„ƒƒƒƒƒ†‰†††~}}z{zzzz{{|~~~|~€‚€€~€€ƒƒƒƒƒ‚ƒƒƒ………„ƒƒƒ‚€€€‚……„……€€~~€€€€€€~€~}}}}}}|}}}~€€~~€€ƒ‚‚€€€€€€€€ƒŠ„ƒƒ€‚‚‚€€|~€}}}|}}||||}~}~~~~}}~€€‚„Š„‚€€€€€€€||}}}}}}}}|||}}}~|{{{{~€}|{{|€€€~ƒƒ‚‚‚€€€€€€€}|||}~€~}}}}}|||}~}{||}~„‡~~}|~€€€~~~€‚ƒ‚‡‰‚€~}}}|}€€~~}}}~}}}|~~||{{|||zz}||}€‚‚~}€‚…†‚‚‚}||}~€€~}}~~~~~}~~|}}{y{{yz~|}€€~‚‚‚‚‚ƒ„€}}}}}}€}}~~~~~}~}|€‚ywyyy|‚‚}}~~€€€‚‚‚‚‚€~~€‚ƒƒ†ƒƒ€~}}}~€~~~~}~~~~|{‡}yyyy|„„||}~~~€€‚‚‚‚‚~}}„„ƒ€~}}}}~€€~~}}}~~{z~‚|zzzz}ˆ…z{}}~}~€€‚‚‚‚‚‚€~~€€†„‚€~}}|{}€~~~}}~|~~~|{|}}…ƒ|{}~€}}~~€‚‚‚‚‚‚‚€}}~’‰‚€}}}|}}€€~~~~~~~€}|{~~}}}}‚€€‚‚{ƒ„ƒ‚€~}|}|}€~~||}}}}}}}}}}|||z{~~}}}}~€‚‚€€€‚‚‹’ƒ„ƒƒ‚~}}}}}~€~}{~}||}}}}}}}~||}‚~~~}}}}~€‚…°»€‚‚‚‚‚~}}}}}}~€€|„ƒ}}~~~~~}…ƒ~~~~}}~}~€‚‚€ƒ¤­{}Ž‚‚~}}}}}}€€€€ƒ‹…€€ƒ€€€€„„€~~~}}}}}€‚‚„…}{ˆˆ‚ƒ~~}}}|}€€€ƒƒƒ†‚€ƒ„€~~~}}~~~‚‚‚‚€||€‚ƒƒƒ€}}~}}|}}€€€‚ƒƒ‚‚„ƒ€ƒ‚€€~}~€€~~}~~~~‚‚‚€‚€~‚ƒ‚‚ƒ}}}}|}}~€€€~€€‚‚€|~€€}}}~€~~}}}~}~‚‚€€€‚ƒ€|‚‚‚ƒ‚~~}||||~€~}~ƒ€€€€~~€€€}~}~~~~}}}~}}}€‚€€€ƒ‚~z|}€‚‚€~~}}}}}~€€€‚†ˆŠŠŠˆ†~}|{{{{z{}~~~~~~}}~€€‚€‚~yyzƒ•ˆ‚€~}}}~}~€€‚ƒƒƒ…††††‡†‚}xwvwvuuttutuy~~~}}}}‚‚€~ywx}„‰„‚~~}}}}~€€‚‚ƒ„„ƒƒ‚~zyyy{|€~~~~}|}€€~~~}}}~€€‚€~zxwy‚‚‚~~}|||~€€€€€€€‚|{}~~~~~~~|~~~}~}}‚€~zxwwy€‚‚ƒ‚~}}}{|€€€€€€€€€|||}}}|xyy|~~~}z{~~~~~}}~€€~ywy{z~‚‚‚‚~}}~}~€‚€€€€€€~}}}~€€|xvw{‚€}z|~€~~}~}~~€‚~{x{|{‚‚‚}}}~€€‚‚‚}}||}~}{yux{}{{|~~~~~~~}}~‚€}{{}~~€‚‚‚~}}~€€€€‚€}}}{|||||zzz†€z{|}€~}~}}}}~~ƒ~€„„‚‚‚„ƒ‚€~~~~~~€€€€€€€~|}|||||}~|||€„‚~}}|~~€~~~~~}||~‰ˆ‡ˆ††„…†„‚™~}}}}}}~€€€~|}}|~}~~~~~}}|z~~~~}|{}ÏÏÏÏÏÏÏÏÏÐÑÐÏÎÎÊÄÈÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌǾ¶®£¡”~rikxljjmmtcgbV^b\\d]S[`^_UQOSZY_d_dSUVWUVTTYUQW^_\XTME=7;<632@2ÏÏÏÏÏÏÏÏÏÏÐÏÎÎÍÈÃÈÃÉÍÎÎÎÏÏÏÏÎÎÎÎÎÎÎÎÍÌÌÌÌÌÍÌÌÌÌÌÌÌÍÍÍÍÎÎÆ· ¦™wƒz€t_^ap|o]_mjgZYZ[_ZWUO_g_[RPPQYW\ghhPV]`[QPLQRX_b[WOMK@@75542076ÍÍÎÎÎÎÎÏÏÏÎÎÎÍÌÈÁÅÁÈËËÌÌÍÍÍÍÍÍÎÎÍÍÍÍÌÌËËÌÌÌÍÍÌÍÍÍÌÍÎÎÍÍÍÌÀ¤Š‰qonolmoot~{`c`cd[[[[\]STV]dYYYWTRUSV]gdQQY[UMNNQQ]c`b[PGB?;952320.2ÍÍÎÎÎÎÎÎÎÏÎÍÍÌÍÉÂÅÁËÌËËËËÊÊÊËËËËËÊËËËËÊÊËËÌÌÌÌÍÎÍÍÍÍÍÍÍÍÍ̵—”zmtvyu~feb]hZ`ee[[WU_YSXffSPTWXRNLVPZhQOUXZPMSPPYb_aWTUOH?<96321.-ÍÍÍÍÍÍÍÌÍÍÌÎÍÍÎÊÁÂÁÌÎÎÎÎÎÍÍÍÍÌÍÍÌËÌËÊÊÉÊÊÊÊÊÊÊÊÊÉÈÊËÌËËËËͽ’†~sam}mdg``aYibYXTTM[`^`po[QOT\TMJTRSYSZ[XUNPQTZ_XWYQOYOI>@A<520-+ÍÌÌÌÌÍÍÍÍÍÍÎÎÎÎÈ»¼»ÊÎÎÎÎÎÎÎÎÎÎÍÎÎÎÍÎÎÎÌÌÌËËÌËÌÌËÊÆÉËÌÌÌËÇÆÄ£‰z{ph_lppe_b_X]_VS[SSPZgeffdhVPVXSQSTRSXQY]`USUQYZ\YXTSOQPI>@>5550.2ÌÍÍÎÎÍÎÎÎÎÎÎÎÎÎżļÇÎÎÍÍÎÎÎÎÎÎÍÍÎÍÍÎÍÍÍÍÍÊËÍÍÎÍÌÉÆÊÊËÍÏÌÇÅ´šzwpeXUc`[_a`]a_XTRKNUY_adi^[SOOPOKTQSP^LTTZ[WZY`Z[XSQSORJFC>@;431/3ÍÎÎÎÎÍÍÍÎÎÎÍÍÎÎÅÀÌÂÆÎÎÍÍÍÍÍÌÌÍÍÍÎÍÍÎÍÍÍÌÍÊÉÊÌÊÇÅÄÁÇÅÈÌÍÊ¿¼­‘xrUTQROVZmpfac[YMCALYR[ba^VTRJLKHLHOKYORUTVVZ[[[_YSORMWOCGA??40/-,ÍÍÍÍÍÍÍÍÎÎÍÍÍÍÍÅÁÌÃÄÍÍÌÌÌÌÍÍÍÍÍÍÎÍÎÎÎÍÎÌËÈÆÆÊÁ¿ºÁ½Á½ÅÊÉÅ»®¦¨Ž~ur^UVYXhi^ofgaVVRRUTeUN[]SNVXRKJGOPQXXRPXZUSXXVOTYSQVQXX@56220..--ÍÍÑ×ÖÏËÌÌËÊËËËÌÂÀÉÁÃÍÍÎÎÍÍÎÎÎÍÍÍÎÎÎÎÎÎÎÌÄÂÁ¿Ã»¹­¾ºÀ¶¿ÇÀ¾´¤Š‹p‰zfZ_[]dkVm\U^SNST_^WOOQXQPSVWLLLSSSZh_PWXVVVUZSQZXX]]MC=7530.----ÎÚèïîãÑÊÊÄÁÂÄÆÊÂÀÇÁÁÊÌÌËËÌÍÍÍÍÍÍÍÎÎÍÎÍÍÍƼ³½¸²¡º´¿´µÁ¶½´˜†|{lgbaccTYd[Ud[RZ]PRRW]UVSMNNKLMSYVOQORRc[NZZXRMOYXXTWQMJ@7=<;72.----ÜíÝ¿Êëèͺ´³¸»ÂÃÃÊÆÃËÌËÊËËÊÉÊËËËÌÌÌÊÊÈÆÆò­ª®°§ž©®¹¯²º­¬¡ƒvxtkiQ]eZWcZQ]h^Y_YKOQT\_aTPMLLMQLUWKNSNS\]Ya\TPLOYVWVOPXJBC=;;951..--Þá­’›ÆÝÅ·´±±µ´¾ÄÆÌÉÄÌÎÍÍÌÌÊÇËÌËËËÊÊÇÄÿ¿²¡›š£¤š—Ÿ­­¬«¨¤˜„snlgjn^WYT_aVV\[Z_VSXTRTT_WQSONSVRSTWQOWPRZaX^WZ\V]_TTZWSQ@?G;7677520/.†ƒ}{|~zzz|„Š–±ÀÃÅËÈÂËÍÎÎÍËÇÃÉËËËËÈĺ´¶µ¹¬ –˜š—”¡³®«¡™›‘xiefVhbSLHOW`YRR^h`aoa_c^TXNQPOPRVQUQSZRZOO_^]h[c_ihaSPNMJKB=A8755454/02’œž…XYUc—‘Š|”¾ºÃÈÇÀÊÍÍÍËÉÁºÆÊÊÈƽ¬¢¤¥œœ—ˆ•™’’«­’‘ƒvedhZ^UPSQQZ`^[io_QWdOXqp]QNKNMKHJLLOMMPXTX^TRXX`g^]XOIMGFECHB8644344014§¦µ²S`£ÓáßѤw¯´¿ÇƹÃËËËÊÇ¿´ÄËËÁ¶§™œž•™—Šƒ—”ŽŒ‘™‘Š‰‰ƒ~vupcYSX]XOY]VT]h]RP_gfc`]SRMJJHIGGEFNMR^[W[VO\ihhV^TMUSHIA>A9854423337Ÿ«¼…J.h¨lCJR=Ykš­¢Ÿ¬»ÂÅËÎÏÐÎÌƾ°¡™’—’Ž‹‰ˆƒ}‚z‚‰…y|zyqiie[VYRY^YT[Z^ZVZ[[]ZUPJVUNLOKADFFA?FHIQKRSY]aXbo]_OZ^[JEB@><856669=@=OWfQA5C[Rl‚M:G_¡n§¸Çž¸²­¥¦§«¯·¼«•Ž‡Œ‹ˆ…‚‚z€‡}vywrsnkgY\cacYSSXW]^aXT\SX_[VPINLNIBDF@?FGDAPHVX[W`aa]RcbVWXTNHEG:75667<=FFFDCJHECL_glVFED“’Q½ÉlRMJGOIGFFHKOŽ—ŒŠ…ŠŽŒ„‚‚ƒ{~Œz€yvrstpidX]db\RUOQ^fcdVNSSi\cXNRQOJHDJTJCJMMFPQ]^ZM[ddeU`cVOW_SEAA=:8767;@KBlllihijltvtqkiem¢ÑëªCEHHOh]OSPNM@fž„ˆƒŽ—‰‰~†‰‚}Šy{xvuuxucWRZY[WZXNZ\^`ghknqlQ\]VNQQGFEPXQQOOQIJVY^ZNN^[a^^gfV`UA::<=<:;9:==>;VVVTUUUUTTUXZ`cn©èÜ„KG=;F``_R@<@=GšŠŒƒŒ—‡„‰|ƒŠŠ†ˆ‚|yww{uup`X]`UVTUWaXPN`sƒucZ\fQTNMRSNNJC@MTRRTSN[ede[SZZ^\T\XUVH<98;<78:98===:;;=:66766€¯Ù±€‰}‚€‚‡ˆ‚€ƒ~vtvusqtg\^\OPZZ[]TT^bg_^U\caSVNKKRKGA?>=gPSTUZbUVUSXŽ}µ{ÚÀj^iorw}|zz{wsnlŒÊõÃ{‚~y€…„€{€{wsvyytpkg]TNKYW\SSX\[XIX_Z]XYaXKMTOLILOOOTVXV[of[[[ZWZYRWLNK@773_‚:7988;AECEºQV^d¢f`ZR|ðåíãl¥ÆÈÁÅÇÍÍÌÎÍÍÍÌÊÈÆλ¦Š{}~|}|€ƒ€}xypoxy{riacUQSEAMWXVY\OKIVZ\]U[f_SNLJKOMNJHKNVXZ^a[^XVRVOKMHB<8776Sƒ>889;;>HJH¾PGLRšÇdMJF€îâêÏVÓ××ÙÜÜÝÞááàßÝÜÛÙÙ̓xzx|}€{~„„ywxmiouyoha^PQTGJQUX\UPSQTU[VVWZa^SLEDBEHIFFGJSV]\VMVSUSSNHFD=96686Y}A88;=?>=<@KPVbZTX[RW[PMG;;:87782‡åT16;:;BIJJÔééëìêèèéèçã±^KD>¥ßÝçêëèÎÃÉâ¿´ÉêæáÞÖÇ|xzzvz{}~|~|xtwvjltlhg`O^j\VTZ[YSPXZ[b_XU[ZVNHE@@?><79?DIJ[iYU\Y[]WHDA958887:5‚çV/8<=BHHDQÏíðññññòòñîë­YMG@ åäêèåᮤ°Û½°ºæãæÞÛÒ~wwyyx{}z|{€|xxuniphgdb[hqc\NQ\ZVSU[W_ZV[eZPJCA@@CA?>CIC>L[lk^MQgRHA;;;8;;99>8sÝ]2>DSQJV_^lmRVXKB;666;@BA>A:;?FMIB=?9yõz8<4=IIWalrw{„Šš—Š‡‹udLKIDráíîñîëïñññññíëððíï¸u}~jz~y|ws€~ztqnkhhecnaTW]YW\SPURTQ[^Ze^VVROIGGBGJEDGONTillvvdbmjWPOMPUTVTHIP9f×çÓ¶Ììó´´´·ÓìľÙå¯ryzrx~{z}}vzxyusja`b\\jcUOWZa[XSOPXUZeaaYPOVQLE@>JX`V[dipe[XY_chknlpf]hxvpleijY…òWTZwvqvlfQPNLJJIJIKKSV@-37XÈÕ´t›îº|utqzÎä|z¾×¡nt€}uy}|tx{~wypdZbgdbcaUWYYTSQPNU\ZTZYTNRXTRU\\rƒyclyn\TX]^`cjgn„ƒ€ƒ…|€„‰‰Š”³•‰ƒ}}strh||{yz|}|{{z|‚`*06P­íæÝßêéÔÎÍËÐêèÙßìèow||vv~wrw{|qwne``g`]a^Y[UUTVZ\QR[ZOMOU^[X\gxƒ‡Œ…ebslTRY\\\^gjlu~|}vt}‹Ž’’Š„Œ‰‚€orpmphmmnnosuuuvxxzc57;^ˆ§¤”¦·®°¸ÇÁ«˜“’˜©Ÿmw|vtvztt}utyvwrrnlmkmklqomoioz‰’ˆŒŽ‡‰”³š}‚~z€lamobV\`_][_hgjuiebedtƒ}…ˆ…„Ž†{sdhpnjgihhikmopppqqssops}~}||{}‡“’„Ž‰~sszyxwvttrrqrttsrqonmlmnpqswyzzzxttvxxyz|~†˜«¼µ¨”†zqlmmlmmjfb]\][Y`_WY]^^agkfhdbdppjokg`juotyonmlmoqstttsssstvz}~}|{zwvv~ ¡‹qqqtxwwwvurqqqrstsoljiiiiklmpsuvvutttsrsrpprz…“Ÿ¬±¯§œŽ~rgggeb_\YV[YWWXXWZXXX[YWXYYWUTVQZZcqxupmkijkmnopqonnnnptxz{||||||zyvts{…{…Ÿ”vnorstvvtsrpoppokmnmlihffgfhklnqtuuutronnnpnoqv~ž³¾º£‡skgiihc`^]XUSRUSRTW_bUVX[WWVUSTVSXzwsokiijkmnoopoooooprtvxyzzzyyxwvtpp|‹“•spprstuvssroleillljjigeccdddgkortuvvtqnllnoqpnmn|’¬¾½®•€rjjkgdbb[V[UUUUXXTTV\TTT[YVVUTxxvtqlihiijlnoooprsrrrrtuvwxxyyyxwusqnm}£¤€mmoqqqrrruttlprrqrqqnhfcacdbcdgimqtuwxvtqmljmpqpnmsƒ™²ÄÀ¥†rhjkkifea`\ZUTSTSSSTTZWTWXXvvvwuqlhffgillmmopqqqqpppqsuvwxxwwvsrqponnt›¬z„”›¡¥ª¬©­¯¯¯®®®¬§Ÿ’Šraba___`djorstvwvtpkhhloonkhk} Ã̱ˆrkijkjjhfc_[WTSRRSSUYTVWVuuvvvurmhffghjllmmnnooonmnoqrsuvvvwusrrqqpq¡Á¸¯¯¬©¤Ÿ˜‘Œ†ƒ‚ƒ‚ƒ…‰‘™œš•obbba``_aejnqrtuvvvsmhhklnooljv”³Ã¿¥†skklkjhhfa]ZVURPU[STTTrtuvvvurniedegijkkllmmnmlllmnpqrtuwvutsrqo~¬”‹„yoga[Z[]j}h^ZURRSVYXi€kgcaaa`a`adhknqstuvvtqlhgkmonlikx–¶É¤ƒqlklljgeecb_[WTUSSTmqsstutrpmidbbceghijklmmmlkjjllmprrtutssrn‡“[SNMMNOTYabxŸ›mZT`fc`\UE=bqmkgdb`aa_]_bfknqrsttttrledhklmmjfiªÌβ‹rqmkihghgfeda]WTWkmopqrsrrpnhca`abdegijjklmkjiiikmnpsrstssq‡d?NVams{o:541.0356[pppnlbEAhmnolidbbcb`]^bgknpqsstutqiccgjllkiff|ªÌдslmkihfeggffa]\jkmoqrstsrqniebabbceghijklklljiijlnqqstssvˆEDl†‘›Ÿ¥œfYC523?EFFCAC?=DSAUhinpomjgefgda_adhknpqstttsoiddhjlkkjfi~¥ÈϹ‘ulmmkihgfffebgjlnprtttssqnjecccbcefhjkkkklljhijlnpqrsr‚u=Q~®¯³¶µ²ªŸ”ommpKE<34>=52IcCedejmooljgfffdb_adimnoqrstttpkfdhjllmlhfzÁпœ|mllkjiggffbfikmprsttsrqnkgdbbbcdgjjjjkkllkigjklnpqqŒZTPZ´µ°¨Ÿ—‹Í¥uŽ¯T>3;OQH734/neMnigebbfijihea_aa_]]_behlmoprsrpnifdgjlmlmlhhy›¸ËÅ«yponl€[beikmopqqqrrpnjda`_`aeghiijjkkkjhgfhjku}I€9224677EHIENebMD5>Ir{aD7x–‰Dimkjfcbbegigda`_^]\\\\^acgjmoooonmjgddgijkljgehxžÊÖÅœtjlÂw\chikmopstrsrpnieba`abegghiiihhiihefgh{k\{035>XZABIFCA@AHF6PEi~\<4b‰Q_mkljeba`bfefca_]]^]][[\\`cfijkkklllib_begjjijgcbx¦Íדo˾q\dghjlnoqsrqqomidba`abdeegghhijkjhfedXvk/32G’œa>C;5559GLBOG]lp>5//…pNmkllkhd``bdggeca`^_a_^\[\_bfijlnopqolfaacghijijiefªÌÕ¹¾Î²`[behjllnsrpqqomiea```bcdeghiijkkjigd‚MŒY2<8bˆ–N:22214<=0Xokkklkheb`cgijigea_^__]\[]^bfjkmnopprrrmfbcfhjkkY\ºÂΞZ`dgijkmnoopponnkfca```abcfO5=8YfDCN>OM4?BA?ENPLIED?7=7:SWNPN9686AB43/2>clkkklljigc``dgijigd`^]]\\\\\^aehkmnpqqrrrnhbbehjOIP»ÂˉX^beghjlmnooonnlieb`__`bceQ.1318EC4742358<83233335568754777999;?JH-6I[ijijjjjkkjjhda_aehjjie`]]]]^]\\\^`eikmpqqqrrpmhbbe\RKXºÄÄuU\`cehjknnoonnmlhdb`_`accbPA;8,I_><:8976776667666567777778899;=DD>ihihgiihhijjjjjheb``bfihifb_^]\]]]\[[^bgjmnoqrrqqqngbeYOIc¬¾Ë»hZ_begijlmoooonmkhea___`acffy£ZAZ;:987776666666656667767678899;>C?da`aeghgghiiiiiihgda_`cfhjifc_\\]]^][Z\_dhkmoopqpppi_jaOLJx¹ÀϪ_]achhikmnnooomkjhc`___abbb}¾…@Q9977655655555555556554555567757BCg«­“jeggfghhiiijjjgec``bfjkkjfb^\\_``_\[\`fjkmnppo^WYmpbRLO¼ÂÒ–Y_cfghkklmnoomlkjfb__^_`bbs°vHC55665554443344444554334344535IjUUg®ÒÊ”bdeefgghiijijjihea_`dhjkjhe`][^`a`^[[]bgklnpkOWcjmw^NKZ£¿ÉË}Zcegikklmnonmmlliea_^^_abf”nXVfH4134333222335K944333223328 ±}OWaihiddeeffgghijhihiihea^`beiijjgc^]]^^__]Z[_eiknlQU^qpmeWNKi±ÂÎÃs]cfijklmmmnoomlkhc`__^`dhlY[|«¨>/1112112345754332222226r²˜˜œK:bgeedcdddfffghhhhhhiihec`^_dhkllifc_____`]Z[]bfilXJTrlmmeSVj¾ÇÔ¹h_dhiijklmnoonmljfb`___bkW@`Ÿž ¼„A/.00012445036310000.0i ™³¢E.[hgfdehkhbegghhhhhhiiijhca__chklmkieccb`aa`^[[^bghYQlmplhYORT–ÄÈÔ¦^`cdfhijllmnnnmljfb_^^]]],G–œ½›¹—A?<:98636?‚Z8=EIIHLxtÕæ¿Ɔ:)Liggdn¾ÚÑbeeffgggghiihhfca_^afknmlkhebaaba`^ZZ[_ej^nsrnmfSLJ\«ÄÌÓYacehhijklmmmmmkheb_^[PL-7‚ÁŶî餓kXY`oYṖDnxqc[jªºôïãÕÄZ2+Gjgfge‰ºµ›ebdefeeffhihgggecb_]^cjmnnliebaa`^^\[[Z]c`qurtvxiTNJs½ÇÑÅk]behhhjkkllmmmljhd`^]O;.0W¯ÜÓîéã ˆZ\]eŒb†×²Vp[cc`€µÒâĪž|1//Ijhggged``cedcedddegggggggfca_]]bjnnmlifc`^][ZZZZZ\Uoomkkmf\RLOœÄÈÕ Z`cfghijjklmmmmkifb_^U4.-2d¨“¦¿Õ£²melcWN©øàmbqu{q›¡ura832/.2LkhgggggfdbŒuaddcbdefggfefgfdb`]]aglllifc_^[ZYYYZZ[Mofdef`b^SMIj¸ÃÎÌuZbhigghijllllmljhe`_N10,.024>\JS‹]\ltkl–ØĆrkh^X[M:=>862./1Rlhggggffecfd`acbbcceefeddefecb_]\^dijihfb_[ZYZYZZZKmhhhrmhbRLLMÀÆÔ°]^ddffgiijlllllljgdcH.1/.027EK[n”ÎØßãéíîêêéìÔj[WTKA:3/0/Xkheghgghgfg¶Ûݧfabbddeffffgggfec`_]_dijkkie_Z[[[[WGkrkiootrf[OKKzºÂÐÊq\cefghijkkklllkihfQ,-//37;AITbv˜”íæìíìëëìììñÄ„¬Œ}kUD:3/0/\kiceihggggd‡ÌÍÁz^bbcdeffhhggggheda_]^bfjjhie][\\]WCuxmlqponpqYKKR–ÀÅÖ®_adffghjkklllkkkihX.,0.16qokilmighkeMJIc²ÁÉÖ[bfghijjjklmlkljk]0-0..26;BLYj‚|ÚêåäßÚÕÑÎÆÀ‰EJ?7KŽm=:.+0ahgc`efffgffedaaacccddeeddeeffefgfecb_]\afhiiiea]]W=pnmehlntroiRJKKƒ¾ÀÑÈo_efhijjjklmlmmll`2//.4?F•›E-,,8Y^\ZTQMIHE?;7@EF†óÎ]PNTfŠ‘––•ž¡¡£¤¤¢ ¡œ”Œwdbddeeedffggfggggeda_\\`fijjihc_Y>jddjelruqss^KK[iž¿ÄÖ¯cdfhijjkkklnnnnna14./2CoîÝ‚ahpšnu{ƒŠ‘”— ›§ˆ¯ÎÍ­­±²²®­®«ª¨¥£¤¤¥§¦¨ª­©¢Œb__befefeggggggghedb_]\`dikklif]>aikioolmpurlSJNO^¬ÀÈÔ_dfhiijjjlmmmnob/:...7W´¤wct€‡Ž‘“”•’‰€vjaZS–«š¢Ÿ™”‘ŒŠ‰…ƒ€}{z{{zyyy{{||Ž©Á©iceeeeefghhhggeedb`]\^ejklmkeAzusrwrlknmikeLJKIx¼½ÍËt\dfffghijkllmob.?A>@CDCM`KFEEDCRª‘a[\[[]__bfhn€‰}~||ywtssstoao„uobcdeeeeefefffeeeeeb_][_ehklnIrwsvumphnopmkeXMKHc·¾ÉÓ~X`bdefggjkkliZ+<1,+,.0136889=?>BEXjG?;841ƒ°sXix~€€ƒŽ¤v…‰‚ƒ}|{|kli\kicdddddeeeeeeddddda_]\^bhkmKovtwvnqjjlllnsiPJJN˜ÄÄÖ¸dbefghhhikkf[O+;5.--++,++*)*)**)))')*))'9 ˜`lz†‰‘•žž‚I2434b®¿ÂÁ¾À¾º¢}fQpl‹zdddedddddddddcdddb`_][\chmMluonmlnlhjknmniRIKKl¾ÅÍÖˆ^dfggggggf\UM*:612SA3/-,+,*))******+,/0`™J|¡ÊÎÕÙÜßàãUWMJMUÄåáÞ×Øàà×k|Lgh^^bccdcdddeededdeeedca`][]ckLmkmtrnlmnngjkiiUJKMO™ÆÅÓºa^aceeedcc_VP,9560P]ZNCMI82332457?ZˆŒiFLG:5KkJ`b`^afc`abbbbbbba``abbaXSMJ>ˆ~uzttjluojhoibbaVLLK]d‚¿ÃËØ\`bcbdedba_``____][YYYY\]]gmp{m˜uqIiQKSLHJJKHHKTI312269?TYjrWNNVL7=aG^]\rplc_`bbbcccccaaabb`OIIJ>€~yxytprb`hq{rjkfZMLLZb^ÂÂÖÀe_acbcdddcbbb`aa`_][ZYYZZ[`gc``o}oE_QNPFDEFFGFBAF;654BQPQ[ZTSLGFMD?@F]Tl¸rY__defeddccbbb^WUPKIJ?††††††‡‡‡…†‡†††‡‡‡‡‡‡‡‡‡‡†††…ƒ‚}yuttswywyzzy{{zwuyyz{zyyz|~€€€………………†‡†††††…†††††‡‡††‡†††…„€|xuttuuvyxxywy{yywuwvxzzxwy{~€€€……………†…†††…†…†††…††††……†…………„‚€€{vwwwwwyzxxwyzyxxwvuwyyxxyy|~€€…………†………††…†††…………………………„………„ƒ€~zyxwwy{{yxwzz{{yxvvxyyyzzz|~€€†„ƒ…†„……†…………††………………„„ƒƒ„„…ƒ‚~|yxwyz{yyzz{{{{zvuxyxyzzy{~€‚ƒƒ„„„…………………………………ƒ‚‚‚‚‚‚‚~|zywyz{yz|||{zyxvvxz{zzyz}€€€ˆ‡ˆ‡‡ˆ…„……………„……………„€€€€€~|}~~{zywwwxyz|||{zywwwwxxyzy{}€€€€†‡‰ˆƒƒ…ƒ…†………ƒ………ƒ}~~€~}{|||zyxwxvux{|||{{yxyxwuuxyy|}~€€ƒ„ˆ†‚‚†ƒ………††ƒ‚~{z|{{|}}}~|{z{|zzzxxzxxzz{|}}|zwyyvuuwxx|€€€††‹ˆ„…‡ƒ€ƒ„ƒ‚~wwwwx{{y|{yyxy{yzzxxyyy{{|}}}|zyyxwvvvww{~€€~‘Š€€‡ˆˆˆ‰Š…zxxww{{xzxwwwyzz{{yvwxwz{|}}}|yzywywutvw{‘‘Ž„‚‰‰ˆ‰‰‰ˆ{vwxxyuvvwuwz{|zzyuuvwz{{}~}zxywwxxwwy{~~~„…………ƒ€„ƒƒ††……………{wwwuurtuvuwz|}zzx{{yzyz|}}}zxxvwwxwy|‡€}|€€}‚‚‚‚€‚zvuuststttuwyyzyx{|{z{y{}~}}~{xxxxy{}€€ˆ€€}{€‚€~}€zutsssssttuvxuxyx{zyyyz|~{vwxx{~€}}~~|x}{|}~€‚‚€€€€€€yrtssrqstuvuwyyyz{yxxxz}~|wstvw{~~}}~}~{wq}||}~‚~~€€yrssstttuwywwxxyzzywxy{|}zzxvqpppnqrpqrvz{woml|}|||}~}}}}~{truttuuvxyxyzz||{{{zyxsninnrsqolhfgedeehfefik€‚‚‚‚„„„„„ƒƒ„ƒ‚‚ƒ„‚€}~}}~€€‚‚‚‚ƒ}xttwxzyyyxvxxtoppmlnoml‰‡†ˆ‰Š‰ˆˆ‰ˆ‰‰‰ˆˆ‡ˆ‡ˆ‰ˆˆ‡†„ƒƒ‚‚‚‚„ƒƒ‚‚ƒ„…††„„‚€€€‚‚ƒƒ„ƒ„„ƒƒ|w‰‰ˆ‡†‰‰ŠŠŠ‰ŠŠŠ‰ŠŠ‰ˆˆ‡‡ˆŠˆ‡‡…„„„……ƒ„ƒ‚‚ƒ„…†‡†…„‚€€€‚‚‚ƒ„„„††‡‡‰‰‰ˆ††ˆ‰ŠŠŠŠŠŠ‰ŠŠ‰‰ˆˆ‡‰ŒŽŒ‡„ƒƒ‚€‚„‡‰ˆˆ…ƒ€€€€‚‚„„…†‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠŠ‰‰Š‰‰‰ˆŠ‘‘ŽŽŽ‘ƒ‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€€€€€‚‚ƒŠ‰Š‰ŠŠ‡††ˆ‰‰ŠŠ‰‰‰‰‰‰ˆŠŠ„€€…‡†ˆˆ†‡ˆŠ„‚‚€€€€‚…ˆŠˆ†ƒ€€€€ˆˆ‰ŠŠŠŠ‡††‡‰‰Š‰‰‰‰‰‰ˆ‡„~~€ƒƒƒ†Š‡‡Šˆ†…‚€€‚€€€„‡‡ˆ‡ƒ€€€„ˆ‰Š‹ŠŠ‰‡……‡‰ŠŠŠ‰‰‰‰ˆ†‰ˆ†ˆ‰‡†ˆ‰‰‡†ˆ‡„ƒ‚‚‚„ƒ‚‚‚€€ƒ†‡‡‡…‚€†‡‰‹ŠŠ‹Šˆ††ˆ‰‰‰‰‰ˆˆ‡†Š‰‡ŠŠŠŠˆ}‡‡…‰‰ˆ†„‚‚ƒ„‚‚ƒƒ‚€€€ƒ†ˆˆ‡†‚€|ƒ‡‰‰Š‹‹‰ˆ††ˆ‰‰‰‰‰ˆ…†Š‡„‰ŠŠŠˆ€~‡Š…ˆŠ‰‰ˆ…ƒ‚€‚‚€„†‡‡‡…ƒ||†‰‰ŠŠ‹ŠŠˆ†‡ˆˆˆ‰‰‡…„‡‡„‡ˆˆˆˆ‡~}‡Š…†‡††‰ˆ†„€‚‚€€€„†‡ˆˆ}}~ƒˆ‰‰Š‹‹‹Š‡†‡‡‡‡†………„†‡††††……ƒƒ‡Š‹‹„„…‰‰‰ˆ†ƒ€‚ƒƒ‚‚€‚„†ˆ|}}„ˆ‰Š‹‹‹ŠŠ††‡‡ˆ…†‹Œ‹‹‹ŠŠ‹Š‹‹ŒŒ‘‘……ˆ‰‰‰‰‰‡ƒ€ƒ‚ƒƒƒ‚‚€€€€€‚„w|~†‰‰Š‹ŠŠŠ‰††‡ˆ‡‰ŽŽŒŒ‹‹Š‹‹‹‹Š‹‰‡‡ˆ‰‰‰‰‰ˆ…ƒƒ‚‚ƒ‚€€€€~pz}}‚ˆ‰‰‹‹ŠŠŠˆ††‡‡ŠŠŠ‰‰Š‰‰ˆˆ‰Š‰Šˆ‡‹‡†ˆˆ‰ˆ‰‰‰ˆˆ„€‚‚‚‚‚‚€€xhm|}{ƒ‰‰Š‹Š‹‹Šˆ…††‰‰‡‰ˆˆ‡‡‡ˆˆˆˆƒ|ƒˆˆˆ‡†‡ˆ‰‰ˆˆ‰ˆ…‚€€‚‚‚‚‚‚€~jhq|}~†ˆŠŠŠ‹‹Š‹ˆ†………ƒ…ƒ„……‡„ƒ‚‚„…‡‰ˆ†…‡ˆ‰ˆ‰‰‰ˆ†‚€€€‚ƒƒƒkjkv€~}ˆŠŠŠŠ‹‹‹‰†…„…ƒƒ‚‚€ƒ„„ƒ‚ƒ„…ƒ‡‰ˆˆˆˆ‡‰ˆ‰‰‰ˆˆ‡„‚€€€ƒ„„„mmms€}}…‰ŠŠŠŠ‹‹Šˆ…ƒ„…†…†„ƒ…‚„†„†ˆ††…ƒ‡‰‰‰‰ˆ‡ˆˆˆ‰ˆˆˆˆ‡ƒ€€€‚…††nliny~|€‡‹ŠŠŠŠŠŠ‰†ƒ†ˆ‡‡†ƒ‚„‡ˆˆ†„ƒ‡‰‰‰ˆˆ…„‡ˆ‰ˆˆˆˆˆ‡…‚€…‡†ijhikz}}ƒ‰ŠŠ‹‹‹‹‹ˆ‚„…„…ƒ………„„„‡‰‰‰‰‰ˆ‡ˆ‰‰‰‰‰ˆˆˆˆ…‚€ƒ……nniges€~|~…‰ŠŠ‹‹‹‹Š‚ƒ‚ƒ‚‚ƒƒ€€„…†‰‹ŽŽ‰ˆ‰‰ˆˆˆ‰ˆˆ†ƒ€‚‚mjggfk{~}€‡ŠŠŠŠ‹‹Šƒ€ƒ‚‚‚‚‚‚†‘”–—––——–——˜–Œƒ‡‰‰‰ˆˆˆ‰ˆ†ƒ‚fgggghq~€~|‚ŠŠ‹‹‹‹Š„‚‚ƒ‚‚‚‚‚‚ƒƒƒ„‹‘‘ŒŒŽŒ‹‹‹‹Œ‡‡‰‰‰ˆˆˆ‰‰‰†ƒ€hhgfffgu€}ˆŠ‹‹‹ŒŒ„‚‚ƒ‚‚‚‚‚ƒƒƒ…Œ†}||…ŠŒ„}}}|…‹ˆˆ‰‰‰‰‰‰ˆˆˆ†ƒjhgdgiht€~~„‹‹‹Š‹„„…‚‚‚‚‚‚„„‡Š‚yxwzˆŠŒ…xyz{…Š‰‡…‡‰‰‰‰ˆˆˆˆ‡ƒ‚ihgfhjhn|}ˆŒŒŠŠ‰„€ƒ‚‚‚‚‚„ˆ‰…„ƒ‚„Š‹‹‰ƒ††ˆ‰Šˆƒƒˆ‰‰‰‰‰‰‰ˆ†„jjiiihhjt€}ƒ‹Œ‹Šˆ…„‚‚€€€‚€„Š‡‡‹‹‹‹Š‹‹Œ‹Šˆ‰Š‰‰‰‡†ˆ‰‰‰‰‰‰‰ˆˆ…kkihnkhjr}‚}‡‹Š‰Š‰‡‡††…„………„„‡Š†…‰ˆ‰‰‰Š‹‹ˆ†ˆˆ‰‰‰‰ˆ‰‰‰‰‰‰‰ŠŒ‰lnmnppmpt|}}‚‰Š‰ŠŠ‰Š‰‰ˆ††‡†ˆˆˆ‰„„†……†…‡ˆ†ƒ~~‚„†‰Š†‡ˆˆ‰‰‰‰‰‰‹Žzzzzzzzzzzz{zzz{zzzyyyyyyyyy{„„ƒ„…††ˆ‡†††ˆ‡‡ˆ††††††……‡†„ƒ‚‚‚‚yzzzzzzzzzzzyyyyyyyxyyyzyyyy{‚ƒƒƒ‚„…††………†ˆ‡†…†…………†…††…ƒ‚‚yzyzzyyzzyyyyyyyyyyyyyyyzzyzz~‚ƒ„„ƒ„„……„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚€zyyzzyyzzzzzyyyyyyzzz{z{{{zzz}€ƒ…„„„……„ƒ…†‡†…„„ƒƒ„„…‡ˆˆ‡…‚‚‚‚€€y||{zzzzzzzyyyyyyyyz{||}}}||~€‚ƒ„„„………„…‡‡†………„ƒ„…‡‡‡‡…„‚ƒ‚€€|‚~|}}{zzzyzzzzzzz{}}~~}‚ƒ‚‚ƒ„ƒ„……‡††ˆ†…………„„……‡‡††„ƒ‚‚‚€€~|{zzyz|{zz{|}€€€€‚„…ƒƒƒ„…„„„„…‡‡‡……†…„…„…†††††„ƒ‚‚‚‚{yz{}~~}z{zyz}{z}€‚ƒ‚€‚„……„„„„……„ƒ„…†‡†„„……„………†††……„ƒvst|}}}|{|€€„††…„„ƒƒƒ‚ƒ…‡‡…†………„„ƒ„…†………„ƒƒ„„……†††…„ƒ‚‚ƒ|zy|€‚€€€‚‚…‰ˆ‡†…ƒƒ„„…‡‡†††………„………†„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚yyyy{{x|„‚~~{y{{€‡‡‡‡…„ƒ……†‡‡†…††…………†……†…‡„ƒƒƒƒƒ……†‰‡…‚‚‚‚{yz{z{||€}}{y{|}ƒ††‡†……†ˆ‡‡ˆˆ†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ„~€‚ƒˆƒ€€~~…††‡††‡ˆˆˆˆˆ†…„„„…„„†‡‡††„„„„„†‡ˆ‡ƒ‚‚‚„†‡„„„ƒ‡Š‡€€‚†‡†‡ˆ‡ˆˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†„ƒ‚‚…ˆ„ƒ„„‚€‚†‡†‡ˆ‡ˆ‰ˆ‡‡‡…„…„„„††‡ˆˆ‡„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚………ˆ‰‰ˆ‡…‚‚‚‚†††‡ˆˆ†ˆ‰ˆ‡‡†„…„ƒ„…‡†‡†…„„ƒ„……ˆˆ…€‚ƒƒ‚ƒƒƒƒ„„„„‚‚‚ƒ…„‚‚‚‡‡†‡ˆ‰‡ˆ‡‡‡†…„†…ƒ„…‡†‡‡…ƒƒƒƒ‚‚‚~{||~~€‚‚€€ƒƒƒƒ„ƒ€€‚„ƒ…††…„…†ˆˆ‡‡‡ˆ‡‡………„ƒƒƒƒƒ†ˆ†††‚~}|z{zzzz{{|~~~|~€‚€€~~€€€€€‚„ƒƒƒ‚ƒƒƒ………„ƒƒƒ‚€€€‚……„……€~~~€€€€€€~€€~}}}}}}|}}~~€€~~~€€‚‚€€€€€€€€€€ƒŠ…ƒƒ€‚‚‚€€|}€}}}}}}||||}€~}€€€‚„Š„‚€€€€€€€|||}}}}}}}|||}}}~~||{||{zz{|}€€€€~ƒƒ‚‚‚€€€€€€€}|||}~€~}}}}}|||}}}{z{||ˆƒ~}|{|€€€~~~€‚ƒ‚‡‰‚€~}}}|}€~~}}}~}}}|}~|}||}~|}}}}‚‚~}€‚…†‚‚‚~}||}~€€~}}~~~~~}~||{z{z|yx|}|{~€€~€‚‚‚‚‚‚ƒ}}}}}}€}}~~~~~}~~|~{wyzzz}|~~€€€‚‚‚‚€~~‚ƒ†ƒƒ€~~}}}~€~~~~}~~~~||†~xyyy{ƒ|}~~~€€‚‚‚‚‚~}}„„ƒ€~}}}}~€€~~}}}~|z}…zzzz{„ˆ~z|~~}~€€‚‚‚‚‚‚€~~€€…„‚€~}}|{|€~~~}}~|{|€}yz{{}…‡}{}}€~}~~€‚‚‚‚‚‚‚€}}~“‰‚€}}}||}€€~~€}~~}~~‚~||}€~}}}}€‚€€‚‚‚€}ƒ„ƒ‚€~}|}|}€€€€}|~~}}}~~}}~}||z{€~~}}}}~€‚€€€‚‚ƒ„ƒƒ‚~}}}}}~€~~||{||||}|}}}}}|{|{~€€~~}}}}~€‚‚€©€‚‚‚‚‚}}}}}}}~€€{~…€}}}~~~~~}~}~Š†€~~~}}}}}~€‚€€—º{}Œ‚‚~}}}}}}€€€~‰~~~~~~~‚Š…€~~~}~}}}~€‚‚†š}{‰ˆ‚ƒ~~}}}|}€€€€ƒƒ‚€€…ƒ€€‚€‚‚€}~~~}~}‚||€‚ƒƒƒ€}}~}}}}}€€€‚„„‚‚‚ƒ…„€ƒ„€}~~€€~~}~~~~‚‚€€‚€~‚ƒ‚‚ƒ}}}}}}}~€€‚€ƒ„€~~€€|}€€~~}}}~}~‚‚€€€ƒ€|‚‚‚ƒ‚~~}}|||~€~}}€€€€€€~}~€€~}}~~~}~~}}}€‚€€€~z|}€‚‚~~}}}}}~€€€~ƒƒ‚ƒ„„„~~~~~}~€~~~~~~}}~€€‚~yyzƒ•ˆ‚€~}}}~~~€€‚ƒƒ…ˆ‹Š‰‰‡„€~~||zzzyyyzz{~~~}}}~‚€~ywx}„Š„‚~~}}}}~€€‚ƒ‚‚„…„„…„„„}xwuvvvvuuvuvv}€€~~~}}}~€€‚€~zxwy€‚‚‚~~}}}}~€€‚„ƒ‚€{z{{|}‚€€€~|€~~~}}}}~zxwwy€‚‚‚‚~}}}||€€€€€€€€€€€~{|}~~~~|~}~~~~||~~~}}}~€€~ywy{z~‚‚‚‚~}}}||€€€€€€€€€€€~}|}}}}zxyz}~~|{~€~~~}}}}~€~{x{|{‚‚‚}}}~€€€€‚}}}~€~ywvz}~{{}~}}~~~}}~€}{{}~~€‚‚‚~}}}€‚‚‚‚‚~}}|}}}|{xwz|€‚|z|}~€€~}}~}}}}~~€ƒ~€„„‚‚‚„ƒ‚€~}~~€€€€}}}|||||}{zz|ƒ†}{|}~~~~~~~~~~~}}~‰ˆ‡ˆ††„…†„‚š~}}}}}}~€€€€~|}}|||||~|||~‚ƒ€}~}}~~~~~}{{ÏÏÏÏÏÏÏÏÏÐÑÐÏÎÎËÅÈÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌÇ¿¶¯¥¢•~rjkxlkinnscgbW`c]]e]T[a``VQOT[Y_d_dSUVWVVTTZUQW__\YTME=7;<632@2ÏÏÏÏÏÏÏÏÏÏÐÏÏÎÍÉÄÇÃÊÍÎÎÎÏÏÏÏÏÏÎÎÎÎÎÍÌÌÌÌÌÌÍÌÌÌÌÍÌÌÍÍÍÍÎÎÆ· ¦šyƒz€v`^ar|n^`okg[Y[\`ZWUP^ha[RPPPYX\ghhPV]a[QPLQRY`b[WPNJ@@75542076ÏÎÎÎÎÎÎÏÏÏÎÎÎÍÍÈÂÅÁÈËËÌÌÍÎÎÎÎÏÎÎÍÍÍÎÍÌËËÌÌËÌËËÌÍÍÌÍÎÎÍÍÍÌÁ¤‹Šqonqklomt€}abaed[[[[\]SSV]d[ZZWURVTV]hdQQY\UMONQQ]d`b[PGA?<952320.2ÎÎÎÎÎÎÎÎÎÏÎÍÍÌÍÊÂÅÂÌÌËËËËËËËÌÌËËËËËËËËÊÊËËËÌÌËÍÎÍÍÍÍÍÍÍÍÍ͵—”{mtw{vhfd^hZaed[[WU_YTYegSQTWXSOLVP[hQOUXZPMSPOYb_aWTUNH><96321.-ÍÍÍÍÍÍÍÌÍÍÌÎÍÍÎÊÁÂÁÍÎÎÎÎÎÍÍÍÍÍÍÍÌËËËÊÊÊÊÊÊÊÊÊÊÊÊÉÈÊËËËËËËͽ’‚…sbm~ncg`abXibYXTSM\a_apo[ROU]TMITRSYSZ\YUNPQTZ_XWYQOYPI>@A<520-+ÍÌÌÌÌÍÍÍÍÍÍÎÎÎÎÈ»¼¼ÊÎÎÎÎÎÎÎÎÎÎÍÎÎÎÍÎÎÎÌÌÌËËÌÌÌÌËÊÆÉËËËÌËÇÆÄ£Š{|qh_kpqf_b_X]_VS[SSPZgefgdhWPVYTQSTRSXQY^bUSUQY[]XXTSOQPI>@>5550.2ÌÍÍÎÎÍÎÎÎÎÎÎÎÎÎżļÇÎÎÍÍÎÎÎÍÍÎÍÍÎÎÎÍÍÍÍÍÍÊËÍÍÎÍÌÊÅÊËÌÍÏÌÇÅ´™z|reXTc`[_b`]a_XTRKOUY`adi^\TOOOOKSQSP^LUTYZWZY_[[WSQSORKFC>@;431/4ÍÎÎÎÎÍÍÍÎÎÎÎÎÎÎÅÁÌÂÆÎÍÍÍÎÎÍÍÍÍÍÍÎÎÎÍÍÍÍÍÎÊÉÊÌËÈÆÄÁÇÆÈÌÍÊ¿¼®‘xqVTQROVZmpfac[YMCAOXS\ba^WURJLKILHOLYORUUVVZ[[[_XSORMXOCGA??40/--ÍÍÍÍÍÍÍÍÎÎÍÎÍÍÍÅÁÌÃÄÍÍÌÌÍÍÍÍÍÍÍÍÎÎÎÍÍÍÎÍËÉÇÇÊÃÀ»Â½Â¿ÅËÉÅ»®¦¨Žtr_VWYWhi^oggaVVRRUTeTO[]SNWXRKJFNPQXWRQY[USXXUOUXTPVPXX@57220/.--ÍÍÑØÖÏËÌÌÌËËËËÌÂÁÉÁÃÍÎÍÍÍÍÎÎÎÍÍÎÎÎÎÎÎÎÎÌÄÂÂÀļº­¾º¿¶¿ÇÀ¾´¤Š‹€p‰{f[`[]elVm]U^SNST`^WNOQXQPSVWLLLSSSZh_PXXVVUUZSQZXX]]ND=7540.----ÎÚéðîäÑÊËÆÂÂÄÆÊÂÀÇÁÁÊÍÌÌÌÌÍÎÍÍÍÍÍÎÎÍÎÍÍÍƽ´½¹±¡ºµ¿´µÁ¶½´˜†|{mhbbccTZd]Vc[RZ]PRRW]UVSMNNKLMSYVOQORRc[NZZXRMPZXYTWQMK@7=<;71.----ÜíÞÀÈëêÎĽµ³¸»ÂÃÄÊÆÃËÍËËËËËÌËËËËÌÌÌÊÊÈÆÆĶ¯©®±§žª¯º°³º®¬¡ƒvxukjR_eZXcYQ[h^X_YLOQT]`aTPMLLMQLUWKNSNS\]Ya\TPLPYVWUOOXJBC>;;951/.-,âã®”žÆÛŵ³³¶·ÀÄÇÌÉÅÌÎÍÎÍÌÊÈËÌËËËÊÊÇÃÿ¿´¢œš£¥š— ®®«­¨¥˜ƒsnlgjn^WXU`aVV]][_WRWTRTU_WQSONSVRSTWQOWPRZ`X^WY\W_`STYWSRA?G;7677520/.…~|€|z|ƒŠ¨ÄÂÆËÉÃËÍÎÎÍËÈÃÉËËËËÈľ¶¶µ¹¬Ÿ–Ž™š˜”¡³¯«¡™›’xjeeVjbSLHPW`YRR^g`apa_b^TXNQPOPRVQUQSZRZOO__]g[c_jgaSQMMJKA=A8755454/02†•š‘`XYXw’Š¸¼ÅÈÇÁÊÍÎÍÌÊ»ÆÊÊÈƾ®¤ž¤¥œœ—‰•™’’ž­®’‘„veehZ_UPSQQZ`^[jn^QXdOXqp]QNKNMKHJLLOMMPXTX^TRXX`g^]XOJMGFECHA8644344014­©¯¹”bTƒÃÚâÙÀ~“·ÀÆÆ»ÅËËËÊÇ¿µÄËËÁ¶©šž•™—Šƒ—”ŽŒ“›‘Š‰Š„wupcYSZ]YOY]VT^i\RP_hgc`]SRMJJHIGGEFNMR^[W[VO[jhhW_SMUSHIA>A9854423337¥ÄŸg1@”‰FKNJDi€° žœ¨¿ÇËÓÕ×ØÖÔÐËÅ­™“™Ž‘Ž‹‰ˆƒ}‚z‚‰†y|{zqiheZWZRY^ZT][^ZVZZ\^[UPJXUNLOKADFFA?FHIQKRSY]bXbo]^OZ_[IEB@><856669=@=PUgXI79NUWe@9\w¸j‡©»¿´«”‘’“–›¢¯µˆŒ‹ˆ…‚‚z€‡€}vywssolgY\cbeYRTYW]^aXT\TX^\VPINLNIBDF@?FGDAPHVX[Xaaa\RdbVWXSMHEG:75667<=FFFDBFJEEEXbnaJBF]¶ZvЇKHGDIREHDEGD^Œ‹…ŠŽŒ„‚‚ƒ{~Œz€yvrttoidW^db\RVOQ^fdcUNSRg_dXNRQOJHDJTJCJMMFPQ]^ZN[dddTacVOX_SEAA=:8767;@KBklllikkjrwwtmjeh}¶ÞÕ]BHIJajTTSMLJ@‹†„—‰‰~†‰‚~Šy{xvuuytcWQ[ZZWZXNZ\_`ggilrnQ]]VNQQGFEPXQQOOQIJVY^ZNO_[a^^hfV_VB::<=<:;9:==>;YWWVVVUUVUVXZ`bjÖã²SSA<;RZ\WD;?>=jNPSRRZWSSRP_ug¥{³Ø“aovwy~~{|{yurqu«ß莀~y€…„€{€{wsvyytpkg]UNKYW\TSY][YIY`Z]XYaXKMTOLILOOOTVXV[of[[[ZWZYRWMOL@874^|97988;AECEØdU\ch•zf`[U«éÕ÷qºÐÇÆÊÎÏÌÏÎÎÎÎÌËÉÌÏ ’|}|}|€„€}xypoxx{riacUSTEAMWXVZ\NKIVY]]U[f_SNLJKOMNJHKNVXZ^a[^XVRVOKMHB<8776T‡?789;;>HJHësDIMb¼ŒJIFLÀóãðƒgÌ×ÙÚÜÝÝßááááßÝÜÛÙܨvzy|~€{~‚„„zwxmipvzoha_PQTGJQUX]UPSRUU[VWX[b^SLEDBEHIFFGJSV]\VMVSUSSNHFD=96686Xx@98;=?>=<@LPVbZTX[RW[PMG;;:87782‡áO16;:;BIJJ«ÜáßâââààßÞÛÌ‚OH=cÙÞäêéìÏ´¯×Ç««ÔëâàÙÖœv{zvz|}~|}ytwvimtlih`O_k]VTZ[YSPXYZb_XV^\VNHE@@?><79?DIK[iYU\Y[]WHDA958887:4ƒäO08<=BHHDQ®ïóóóòòóôôòòÞ~OKAYÙâèêãçÀŸ Íį©ÐèåâÝߣuxzyx{}z||€|xyumjpihcc[hqc\NQ\ZVSU[X`ZW\fZPJCA@@CA?>CID?L\lk^MQgRHA;;;8;;99>8tÚT3=DSRJV_^lmRVXKB;666;@BA>AOVOgniwŠj[_SIC>:;?FMIB=?9{òm9<5=IIWaleyr~ƒ‡–…ƒ‰“ztUJJJJ°ïíððìíðñòññðëíñïîâˆ{~jz~y|xs€~ztqnkhhecoaTW^XW\SPURTQ[^[e^VVSOIGGBGJEDFNMRimnwxdbmiWPOMPUTVTHIP;vós769W\_kjiMagkmq‡xrnlj]C@B;?ëزªãÕ¢Ÿš£âÕ˜»ÜØ‚xzrx~{|}}vzxyuskb`c\\kcVPWZb[XSOPXU[e`bYPOVRLE@>JX`VZaepg\YZ`cgknlpf]hxvpleikS‚ñ‚VSZwwrulfHIIHECAAACCHNB115?‚ßÅŽxÍß‹xvvršî²l£ÆÊsv€}uz}|uy|~xzpeZchdacaUWYYTSRPNU]ZU[[TNRYURU\\rƒyclyp]UY]_acjgn…ƒ€ƒ†|€„‰‰ˆ”´”‰ƒ}}ttrh|{{yyyxyy{{y}v9-3?eØëâØÞæÔÈÌÍÌÛâÛÛåî¯gz}|~vv~wrx{|qwne_`ia]b^Y[UUTTZ\QOXWNKNSXYY[dxƒ‡Œ…ebsnVRY\]\^gklu€~~vu}‹ŽŽ’’‹…‰‚€orpmphlmmmoqttvxxwwt>15Cg‰”®¦š­Àº„}‚Šom}vtvztt}utywwssommkmlosomolpzŠ”†ˆŽŽ„…¬’||ƒ~z€lamobU[`_][`igjtigcfeuƒ}€…ˆ…„Ž†{sdhpnjgccbdfijijklmnpjils‚‚}}€~|€‹™—†Œuv{zywvttrrqrttsrqponmmnprtwyzyzwutuxxy{}Š”ž«´²ª–…zqlmmlnmjgc]\][Z`^WY]^_agkfhdbeppjplg`juotyponmmprtututttuuw{}€€~||{zwvv~Ÿ Žrqrtxwwwvurqqqrstsqnkiiiiklmpsuvvuttusrsqqqsx‚Ÿ­²¯§œŽ~pgggeb_\YV[YWVXXWZXXY[YWYYYWUUVQZZcqxvqmkjjlnopqqonnnnqtxz{|}||}|{zvss{†|‰£–vnprstvvtsrpopppnmnmlihffffhklnqtuuutroooopnnrv~ž³¾· „rjgiihc`^]XUSRUSRTW_bUVX[WWVUSTUSX{xspliijkmooopoooopqsuxyy{{zzyxwvuqp}Š’—‚€tpprtuuvtrromijnmmkkjgfccdddgkortuvvtrolmnoppnmn}–°¿¼«“rjjkgdbb[V[VVUUXXSTV\TTT[YVVUTxxvuqmjhijkmooopprrrrrstvvwxyyyyxxvtqnm}¡¡mmostuvutvsojhkjjjkljjifeddccdgimqtuwxvtrnljmpqpmms‚™²ÄÀ¦†rhjkkifeba]ZUTSTSSSTTZWTWXXxvvvurmhfghjlmnnopqqqqppprtuvwxxwwwtrqppnmsž°”moopqrtxzwwywxwvvtrmgcaaba___`djorstvwwtpkhhlnomkhk| Ã̱‰rjikkjjhfc_[WTSRRSSUYTVWVuuvvvurnigfgijllmmnooponmnpqstuvvvwusrrqqpq‚‘Œ…˜Ÿ¦ª¬°¯®±°±°¯°°¯¬£™Œkcbba``_afknprtuvvvsmhhklnpoljv”±Ä¿£…rkklkjhhe`]ZVURPU[STTTstuvvvvsojfeegijkkllmnnmllmmoprstuwvutsrqpox™¥·°®¨¡›”Œ‡‚|xyzyz{~ƒŒ”•–mgcaaa`a`adhknqstuvvtqlhgjmonlikw•·É¿ qlllligeecb_[WTUSSTorstuvusqniebbceghjjklmmmmkjklmnqrrtutssrqpŸ¤Œ€yqg_YWY[c€|e_YTRQSTUTr|mkgdb`aa_]_bfknqrsttttrledhklmmjfi€¬Íͯ†qqmjihghgfeda]WTWlnopqsssrqnica`acdfgijklmmkjiijlmnpsrstssssšlOLKMNPUV[[c…“zXRShheb\SACnpnolidbbcb`]^bgknpqsstutqiccgjllkifg}¬Ïί†plmkihfeggffa]\jknpqrstsrqniebabbceghijklklkjijklorrstsssz€CHU^irz‚V4530,155Cgllmkj[>Mmjnpomjgefgda_aeikopqstttsoiddhjlkkjgi©ÊÍ°‰qlmmkihgfffebhkmoqrtttssqnjecccbcefhjkkkllljiikmopqrssq‡h;X€™ ¤ªŠdS;339DGGEB?A::EUAafejmooljgfffdb`aeimnoqrstttpkfdhjlmnmgg{¢Åι˜zmllkjiggffcgjmnprsttsrqnkgdbbbcdgjjjjklllkhhjlmoprstJMZ¤°²µ¶µ±ªŠmqzeFB738@;44aTOjecehkmmifdddba`_`dhlmpqrstttqkfdgjmnnkifrŒ±ÌÈ­umkmkiji]beikmoqpqrrqpmjeb``aacfiijjjkllkhhijlmoo{‚Ah;·°©ž•{«Æ‰y¬ŠB93BTPA42QvCikgebbfijihea_aa_]]_behlmoprsrpojfegjlmlmkhi}Ÿ¼Ì§‹wponl}[bfilnopqqqrrpnjea`_`aeghijjjkkkjhggijkl‚kRo0@QKD:NLwuP5>m‹Gjllmkhd``bdggeca`^_a_^\[\_bfijlnoqqomgabdgijjjjief€©ÌÔ¹¾Î±_\cehjllnsrpqqpmjeb```bddeghiijkkjigeo}L>135m¡ˆHB?7455@IJCMO`u`64+DšQ`lkmmljfcaaehiigdbabbbb_\\`dijmopqrrppnidcehkkkjiicey È¯ÂÐZ_cfhjlmoqqrqqomjfbaaacdeghiiijklmmgsl_Š69;D}‹šy=622226=:@Mg–œq6527nSmlmllklkgcbehjkigfcbaaa`^^_adgjmoqrrrsrnhecehijjkkjeev€¸ÆÏŠX`dgiklnpqrqqqomjebaacdeefghhiklnohx^u|;HJEˆª„JJ:22232057Vœœb:321uŽIklnnnmmmkjdbbejlkjgdb``aa`^^_aehknoprssrpnicbehjklkjjfQ•¼ÈÇqYaehjlnopqqqqpnlidaaaacddefghjkkne|TŠmEMLH\€u\KKF??>=<:8Gi••S@961_§Leke^^gmlkkjfcbbeikiheb`_^`_^]]_bfikmoqqqqqqmhbcfikkklkY{±¿Î­^\dgjllnopppqqonlgca``aaccdegjkimjtM›eIWLfŠ‰JFFEFFFFEEDo–ž€J@>>1Y¦F\lB99Bjlkklkheb`cgijigea_^__]\[]^bfjkmnopprrrmgccfhjklY\~¸ÂΘZ`ehjkmnoopqponnkfca```abcdeSA=OŽcD˜gS‹ZReFCHLT\]]RPRN[^r}ZF>891FS2JO9>85flkllljjgca`dgijigd`^]]\\\\]^aehkmnpqqrrrohbbehjQJNŒºÃˆY_cfijkmnoooonnlieb`__`bcd_9:<>qTI8662337;<53323345578656778:9:HDMXa‚‰¼òçîíìëìììíò™™…wdN@82//8hjiefhgggggdiheebcdeedffffffffffedb`]\_fhhihd^]\]\YqokilmigikeMJIb±ÁÉÕˆ\cffhijkklmmlklljf?+.//49AIVf~¥¯®îáíííîîïïðö•¢˜‚oVD=70/.ŽÉ“rt…Œ–˜›œ £¦¥Ÿ“Œsk^En¤§³³±¯ª¥¡ ž›˜––”“’’““”–˜š˜»áâ¢adeefgffgggfffffec`]\_ejlnmliy€€rmllijlpiaOILKM”¾ÁÕ¬\`cefghjjkklmmoE38---2;NXC6?CF79779743211125a¯“‡ƒ€}zwtsronmllmnmnooppyŽuocceefffeffffffeffec`]\_ehkmmlrwsvumphnoplkeXMKHb·¾ÊÒ}XacefhijkkklloE18,,,/15:<<>A@962p²{W[`dglmpv}…­¶›˜•’Œ‡„‚‚‚€~ouwr‹zeeeedeeedeedddeedca`^[]chkmlvonmlnlhjknnniSIKKl¿ÅÎÖˆ^efhhhhikji`Y;/;2-,+,,,++***)****('***)'6¥ k`u„†ƒ€‚€}€kfjQJn†ˆŽˆ…~e`t]^bccddeeeeededdeeeeca`][]cikmkmurnlmnngkljiUJKMO™ÇÆÓºa^bdfffhhhbWU:.;5,EI4/.,+*+**********+/0[¦‡Twˆ›£«µ»ÄÇËL:9:=^ÃÜÜØÒ×Ú×ÆztJpda_aa`ceeeeeeefgffeedba_][]dikmrtnmmprqlimlgTLKLJg»ÆÍÖŠ^eegggeddbZV=.9542OLE?8781****+++.49>CEz—nP~¶àßßßßßßâ‰\fYWSS¾äßß×ÒÚÝÜkyU_id£»½’_dddeddeefffeddccb`\[^dmkmouwuruljnnkqfPJKKN’ÈÉÔ¾icfghhhihg`UB2735/6520-*,*)**)+,-////,6ƒš[^i¹ãÜÛÜÜÜÛÜzZcflPO²ãÞÛÔÒÙßÞb^nPl`“çïæ•`bbcbbdefeecddccb`_][_kpwuptrlokljgisdKKKKK`¶ÉÌÖ–_efgghgfdaYC65113+#""##$$#$$#$$$$$##!?‘“PkM¬äÜÝÞßàßÉfSP^^PO™èåçäÝÓÅ«OA|Mfc`—¶´£d``abbcddddbbcccbba_\[rxvpjkmnmiijvsug]XLKMOˆÉÇÐÉscffghgec`]S>0../,+,-----.-..01012332X ƒJoC\ooqty}ƒsUTUžRTcžœ…q^NB?D8mZWca`^Z]``abb`bcbcccbbcccdb`_\jjlhcacjkrzxsunineQKMR]³ÇÆÖ¨cffhjfeca^YNDBBA@ADFFEFFFFFGHHHHHGFIp£qLpI;5465429C>:I´†IH=4346886>N;SnMabaaaaaacdcbcccbbcbbbcdccb`]rmlmlwpsiututs|~j]TLKLL}ÆÃÐÔ„beeededb_[UPNMLKLNNNOOOORSTVWXYXXW\€›aQnJ:76::8774212ƒy24446;::;9=H>=wL]bbbbbbcddcdeecbbbbabccccba_‡{‚zy{yjjpzwx{te]RLKKJR£ÈÇعd`bcdddca_[WUTTTUVUTTTTUWYYZ]^^]]\c†ŒX[fF654565552222<@34544=Qh[44783jXVbbccbbaabbcdccccbaabbcbcc`Y‰~u€ztsjluojhpjbbaVLLK^f½ÃËØ]`bccdeba_]]\\\\\[YXXXXY[]^cekqdhƒ|{Oa\B<65>II>8>8232134642T‘–~9=953TjLabddcc`acccdddccbbbbbbb\WOJ€~yx€ytqrc`hq{rjkgZMLLYaZ˜ÂÂ×Àe_acbcdcba`_`____^\ZYYY[]]`inxnŽ“urJiPJSEHU[WPJRP>223355:KY~ˆfLNPD6@pH_b_abddbeggfeddddccbbb`OJII†††††††‡‡…†‡†††‡‡‡‡‡‡‡‡‡‡†††…ƒ‚}yuttswywyzzy{{zwuyyz{zyyz|~€€€………………†‡†††††††††††‡‡††‡†††…„€|yvutvuvyxxywyzyywuwvxzzxwy{~€€€……………†…†††…†…†††…††††……†…………„‚€€{vxwxwwyzxxwzzzyxwvuwyyxxyy|~€€…………†………††…†††…………………………„………„ƒ€~zyxwwy{{yxwzz{{yxvvxyyyzzz|~€€†„ƒ…†„……†…………††………………„„ƒƒ„„…ƒ‚~{yxwyz{zyzz{{{{zvuxyxyzzy{~€‚„ƒ„„„…………………†……………„ƒ‚‚‚‚‚‚~|yywyz{yz|||{zyxvvxz{zzyz}€€€‚ˆ‡ˆ‡‡‰†„……………………………„€€€€€~|}~~{zywwwxyz|||{zywwvwxxzzy{}€€€‡†ˆ‰„ƒ…ƒ…†………ƒ………ƒ‚}~~€~}{|||zyxwxvux{|||{{yxyxwuvxyy|}~€€ƒƒ‡‡ƒ‚…„……††…ƒ‚~|{{{{|}}}~{{z{|zzzxxzwx{z{|}}|zwyyvuuwxx|€€€‡…‹‰…„‡„€ƒ„ƒ‚‚‚€xwwwx{{y|{zzxy{yzzyxyyy{{|}}}|zyyxwvuvww{~€€~‘‹Œƒ…ˆ‰‰‰Šˆ|xwww{{xzxxxxyzz{{yuwxwz{|}}}|yzywywutvw{’‘‘ˆ‚ˆ‰ˆˆˆ‰‰|wwxxyuvvwuwz{|zzyuuvwz{{}~}zxywwxywwx{~~~………††„‚„…ƒ…†…„……†ƒ}wwwvurtuvuwz|}zzx{{yzyz|}}}zxxvwwxwy|‡€}|€}€‚‚‚€‚‚|vvuttstttuwyyzyx{|{z{y{}~}}~{xxxxy{}€€ˆ€€}{€€€‚€~~~€|utsssssttuvxuxyx{zyyyz|~{wwxx{~€}}~~|x€~€€€€‚€~€€€€{stssrqstvvuwyyyz{yxxxz}~|wrtvw{~~}~~}~{wq€‚€{rssstttuwywwxxyzzywxy{|}zzxvqoppnqrpqrvz{woml}}}}}~‚€€~~~|uruttvuwxyxyzz||{{zzyxtninnrsqolhfgedefhfefik€€‚‚ƒ„„„„„ƒƒ„„ƒ„‚ƒƒ€~}~}~~~€€‚‚‚‚ƒ|xttwxzyyxwvxxtoppmlnomlˆ‡†ˆ‰‰‰ˆˆ‰ˆ‰ˆ‰ˆˆ‡‡†ˆˆˆˆ‡†„ƒƒ‚‚‚‚„ƒƒ‚ƒƒ„††‡„„ƒ€€€‚‚ƒƒ„ƒ„„ƒƒ|w‰‰ˆ‡‡ˆ‰‰‰Š‰ŠŠ‰‰Š‰ˆˆˆ‡ˆˆ‰ˆ‡‡…ƒ„ƒƒƒ„„ƒ‚‚ƒƒ„…†‡††„‚€€€‚‚ƒ„„„††‡‡‰‰‰ˆ††ˆ‰ŠŠŠŠŠ‰‰ŠŠ‰‰ˆˆ‡‡ˆŠ‹‹ŠŠŠ‰‰ˆ‡…„ƒƒ‚€‚„‡‰ˆˆ…ƒ€€€€‚‚„„…†‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠŠ‰‰Š‰‰‰ˆ‰’’‘‘’‘‘’‘‘„‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€€€€€‚‚ƒ‰Š‰ŠŠŠ‡††ˆ‰‰Š‰ˆˆ‰‰‰‰‰‰ŽŒŠ†ˆŠˆŠ‰‡ˆŠ†‚€€€€‚…ˆŠˆ†ƒ€€€€ˆ‰‰ŠŠŠŠ‡††‡‰‰Š‰‰‰‰‰Š‰ˆ‡|}„„†‰ˆ‡ˆ‰‡…‚€€‚‚€€€„†‡ˆ‡‚€€€„ˆ‰Š‹ŠŠ‰‡……‡‰ŠŠŠ‰‰‰‰‰††„‚„†„ƒ†‰†ˆ‰†ˆ‡„ƒ‚‚‚„ƒ‚‚‚€€ƒ†‡‡‡…‚€€†‡‰‹ŠŠ‹Š‡††ˆ‰‰‰‰‰ˆˆˆ†‰Š…†ŠŠ‰Š‰„}…ˆ„ˆ‰ˆ†„‚‚ƒ„‚‚ƒƒ‚€€€ƒ†‰ˆ‡†‚€|ƒ‡‰‰Š‹‹Šˆ††ˆ‰‰‰‰‰ˆ‡…ˆŠ€ŠŠŠŠ‰ƒ}…‰†‡Š‰‰ˆ…ƒ‚€‚‚€…†‡‡‡…ƒ||†‰‰Š‹‹‹Šˆ†‡ˆˆˆ‰Š‰†…‰ˆ‚ƒ‰ŠŠ‰‰‚|…‹‡…‰ˆˆ‰‰‡„€‚‚€€€…‡‡ˆˆ}}~ƒˆ‰Š‹‹‹‹Š‡†‡‡‡ˆˆ‡…ƒ……††‡‡†††~„‰ˆ‡†…„ˆ‰‰ˆ†ƒ€‚ƒƒ‚‚€‚„†ˆ|}}„ˆ‰ŠŠ‹‹ŠŠ††‡‡‡……‡Š‡ˆˆˆ‡‡‡‡ˆˆˆ‰‹Ž‘‡„†ˆ‰‰‰‰‡ƒ€ƒ‚ƒƒƒ‚‚€€€€€‚„w~|~†‰‰Š‹ŠŠŠ‰††‡ˆ‡†‹‘ŒŒ‹‹‹‹‹‹ŒŒ“Š†ˆˆ‰‰‰‰‰ˆ…ƒ‚‚‚ƒ‚€€€€pz~}‚ˆ‰‰‹‹ŠŠ‹ˆ††‡ˆ‰Ž‹ŠŠŠŠ‰‰‰ŠŠŠ‹Š‹Œ‡†ˆˆ‰ˆ‰‰‰ˆˆ„€‚‚‚ƒ‚‚€€€}hm|}{„‰‰ŠŠ‹‹‹Š‡††‡‰……ˆ‰‰‰ˆ‡ˆˆ‰‰‰ˆ~‰ˆˆˆ†‡ˆ‰‰ˆˆ‰ˆ…‚€€‚‚‚‚‚|jhq|}~†ˆŠŠ‹‹‹ŠŠ‡†††ˆ„‡‡‡‡‡ˆ‡†††„‡‡‰ˆ†…‡ˆˆˆ‰‰‰ˆ†‚€€€‚ƒ‚kjkv€~}ˆŠŠŠŠ‹‹‹‰†…„…ƒ‚ƒƒ……ƒ€‚„„…‰ˆˆˆˆ‡‰ˆ‰‰‰ˆ‰‡„‚€€€€ƒ„„…mmms€}}…‰ŠŠŠŠ‹‹‹ˆ†„„„„ƒƒ‚‚ƒ„„…ƒ‚„……†ƒ…‰‰‰‰ˆ‡ˆˆˆ‰ˆˆˆ‰‡ƒ€€€‚…‡†nliny~|€‡‹ŠŠŠŠ‹‹‰†ƒƒ…‡‡‡‡„„‚„…‡‰ˆ‡…ƒ…ˆ‰‰‰ˆ…„ˆˆ‰ˆˆˆˆˆ‡„‚€†ˆ‡ijhikz}|ƒ‰ŠŠŠ‹‹‹‹‰‚‚…‡‡‡†‚€€…†‡†„ƒ†ˆ‰‰‰Š‰‡‡‰‰‰‰ˆˆˆˆ‡…‚€ƒ…†nniges€~|~…‰ŠŠ‹‹‹‹‹ƒƒƒƒƒƒƒƒ„…ƒƒ„‚„„‡‰‰‰Š‹Š‰ˆˆˆ‰‰ˆˆˆ‰ˆˆ†ƒ€‚ƒmjggfk{‚~}€‡ŠŠ‹‹‹Œ‹„€‚‚‚‚ƒƒƒ‚‚†‰‹‘Œƒ†‰ˆˆˆˆˆ‰ˆ†ƒ€fgggghq~€~|ƒŠŠ‹Š‹‹‹…€‚ƒ‚‚‚‚‚‚‚‚„Ž–—˜—–—––––––’‡‡‰ˆˆˆˆˆ‰ˆˆ‡ƒ€€hhgfffgu€}ˆŠ‹‹‹Œ†‚‚‚‚‚‚ƒƒƒƒƒˆŽŒ‹‰‡ŠŒ‹ˆ‡‡‡ˆŒˆ‡‰‰‰‰‰‰ˆ‰ˆ†ƒ€jhgdgiht€~~„Š‹‹‹ŒŽ‡ƒ„ƒ‚‚‚‚ƒ„„Š‰|zy€Š‹Š~||z~ŠŠ‡…‡‰‰‰‰ˆˆˆˆ‡ƒihgfhjhn|}ˆŒŒ‹‹‹†€ƒ„ƒ‚‚‚‚ƒƒ…Š‡|yxx‚‹Š‹}xz{‰‹ˆƒƒˆ‰‰‰‰‰‰‰ˆ†ƒjjiiihhjt€}ƒ‹‹‹Šˆ†‚€€€‡Š††‡‡…‰‹ŠŒ‡„ˆˆ‰ˆŠŠ‡†ˆ‰‰‰‰‰‰‰ˆˆ†kkihnkhjr}‚}‡‹ŠŠ‰ˆ…„„‚‚‚‚ƒƒ‚‚ƒˆŠ†Š‹‹‹Š‹‹ŒŒŠ‡‡Š‰‰Š‰ˆˆ‰‰‰‰‰‰‰‰‰ˆlnmnppmpt|~}}‚‰Š‰‰‰ˆ‰ˆˆ‡†††††††‰ˆ„‡ˆ‡ˆˆ‰‹‹‰„}‚†ˆˆŠ‰ˆˆˆ‰‰‰‰‰‰‰‹zzzzzzzzzzz{zzzzzzzyyyyyyyyy{„„ƒ„…††ˆ‡†††ˆ‡‡ˆ††††††……‡†„ƒ‚‚‚‚yzzzzzzzzzzzyyyyyyyxyyyyyyyy{‚ƒƒƒ‚„…††………†ˆ‡††……………†…††…ƒ‚‚yzyzzyyzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„„……„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚€zyyzzyyzzzzzzyyyyyyzz{z{{{zzz}€ƒ…„„„……„ƒ…†‡†…„„ƒƒ„„…‡ˆˆ‡…‚‚‚‚€€y||{zzzzzzzyyyyyyyyy{|{}}}||~€‚ƒ„„„………„…‡‡‡………„ƒ„…‡‡‡†…„‚ƒ‚€€|‚~|}}{zzzyzzzzzzz{}}~~}‚ƒ‚‚ƒ„„„……‡††ˆ†…………„„……‡‡††„ƒ‚‚‚€€~|{zyyz|{zz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡‡……†…„…„……††††„ƒ‚‚‚‚{zz{|~~}z{zyz}{z}€‚ƒ‚€‚ƒ……„„„„……„ƒ„…†‡†„„……„………†††……„ƒ}ystz€}}}|{}€€„†††„„ƒƒƒ‚ƒ…‡‡…†…„„…„ƒ„…†………„ƒƒ„„……†††…„ƒ‚‚ƒ}}zy}‚|~‚€€€‚‚„ˆ‰‡†…ƒƒ„„…‡††††…„„…………†„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚yyyy{|yz‚ƒ}{yz{~†‡‡‡…„ƒ……†‡‡†…††…………†……†…‡„ƒƒƒƒƒ……†‰‡…‚‚‚‚|yy{zz|{‚}}|z{|}††‡†……†ˆ‡‡ˆˆ†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ…€ˆ„€€€„†…‡††‡ˆˆˆˆˆ†…„„„…„„†‡‡††„„„„„†‡ˆ‡ƒ‚‚‚„†ˆ„„„ƒ„Š‰‚€€‚€€†‡†‡ˆ‡‰ˆ‡‡ˆ‡†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†…ƒƒ‚„‰…€ƒ„…ƒ€†‡†‡ˆ‡‡‰ˆ‡‡†…„…„„„††‡ˆˆ‡„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚……„‡‡‡ˆ‡†‚‚‚‚‚‚€…‡†‡‡ˆ‡ˆˆˆ‡††„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€‚ƒƒ‚ƒƒƒƒƒƒƒƒƒ‚ƒƒ††ƒ‚‚†‡†‡ˆˆ‡ˆ‡‡‡†…„……ƒ„…‡†‡‡…ƒƒƒƒƒ‚‚~{||~~€ƒ‚€€ƒƒƒƒƒƒ‚€‚„„…ˆ‡…„……ˆˆ‡‡‡ˆ‡‡†……„ƒƒƒƒƒ†ˆ†††~}|z{z{zz{{|~~~|~€‚‚€€~€€‚‚ƒƒƒƒ‚ƒƒƒ………„ƒ‚ƒ‚€€€‚……ƒ……€~~~~€€€€€€~€~~}}}}}}|}}~~€€~~~€€‚‚€€€€€€€€€ƒŠ„ƒƒ‚‚‚‚€€|}~~}}}}}|{|||~€~}~€€€€‚„Š„‚€€€€€€€|{|~}}}}}}||||}}}~€~}}}|{|}~€€€€€€~ƒƒ‚‚‚€€€€€€€}{||}~€~~}}}}|}|}}}|{z{{|€|{{z|€€€€~~~€‚ƒ‚ˆ‰‚€~}}}|}€~~}}}}}}}||~||}}}€†„~~~}|‚~~€‚††‚‚‚~}||}~€€~}}~~~~~}|~}||z|||{x{|||~€‚€~}‚‚‚‚‚‚„}|}}}}€}}~~~~~}}|}}{yz|zx|€}{}~€€€‚‚‚‚‚€~}€‚‚ƒ†ƒƒ€~}}}~€~~~}~~~}|~ƒwxyyz‚€}}~~~€€‚ƒ‚‚‚€~}}‚„„ƒ€~}}}}~€~~~}}}~~}{|…‚zzzyz€†{|~~}~~€€‚‚‚‚€~€€†„‚€~}}|||€~~}}~|{{yyz{{‚Š€y|~}~~}}€‚‚‚‚‚‚‚€|}~“‰‚€~}}|||}€€~~}}}}~~{{}}~†{|}}}}~€‚€€€‚‚‚€}ƒ„ƒ‚€}||}|}€€}~}~€~~€~}{{€}~}}}~‚€€€‚‚€ƒ„ƒƒ‚~}}}}}~€}{}}}||}~}}}}||{y}€€~~}}}}~€€€‚‚ƒ‹€‚‚‚‚‚€~}}}}}}~€€~||~}|}}}}}}}}}}|€‚}€€~~~}}}}}~€‚€„®{}Œ‚‚~}}}}}}€€}}‹‰~}}~~~~~}~ŠŒ€~~}~}}}~€‚‚‚‚ƒ¦}{ˆ‡‚ƒ~~}}}|}€€€€ˆ‰‚‚€€„ƒ€€~~~}}~~~‚‚‚…||€‚ƒƒƒ€}}~}}}}~€€€‚„‚‚……€‚‚ƒ‚€€}~~€€~~}~~~~‚‚€€€€~‚ƒ‚‚ƒ}}}}|}}~€‚ƒ„‚„…‚€‚„€€}~€€~~~}}~}~‚€€€€ƒ€|‚‚‚ƒ‚~}|}||}}€€€€‚‚€~}€€}}~~~~}~~}}~€‚€€€€~z|}€‚‚}~~}}}}~€€}}€€€€€€~€€€}}~}~~€~~~~~}}~€€‚~yyzƒ•ˆ‚€~}}}~~~}€€ƒ‡‰‹‰ˆˆ„€€€~}~~}}~~~}}}~‚€~ywx}„Š„‚~}}}}~~€€ƒƒƒƒ†‡‡ˆ††…‚~}{zyxwxxwxxx{€€~~~}}}~€‚‚€~zxwy‚‚‚‚}|}}}}€€€‚‚ƒ„„„„‚‚€zwuvwwwwwwwwwx€~~}}}}~‚~zxwwz€‚‚‚‚}||}}|€€€€€€€€‚ƒ|z{|}~~‚ƒ€€€}|~~~~~}}}~€‚~ywyzz~‚‚‚‚}|}||z‚€€€€€€€||}~}}~z{|}}}}}z~€~~~}}}}~‚~{x{|{‚‚‚~}}}}}‚€€€€€€€€~}||}~}|xyy|~z|~}}~~~}}~€€}{{}~~€‚‚‚~}}~~€‚‚ƒ}}|~€{xuw{~‚€}{|~€€~}}~}}}}~ƒ~€„„‚‚‚„ƒ‚~~~€‚€}~}|}}|{{wyz~‚€{{}~~~~~~~~~~~~~‰ˆ‡ˆ††„…†ƒ‚š~}}~~~€€€€€€~|}||{|{||{zz€†‚{{|}~~~~~~~}}{ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÌÆÈÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÎÍÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌÇ¿¶®¥¢”‚~sjkxlkinnscgbW`c]]e]T[a``VQOT[Y_d`eSTUWVVTSZUQW__\YTME=8<<632@2ÎÎÏÏÏÏÏÏÏÏÏÏÏÎÍÊÅÇÂÊÍÎÎÎÏÏÏÏÏÎÎÎÎÎÎÎÎÍÍÍÌÌÍÌÍÌÌÍÌÌÍÍÍÍÎÎǸ ¥šyƒ{€u`^`s|n^`okg[Y[\`ZWUP^ha[RPPPYX\ghhPV]bZQPKRRY_b[WPNJ@@66642076ÎÏÏÎÎÎÎÏÏÏÎÎÎÍÌÈÃÆÁÉËËÌÌÍÎÎÎÎÎÎÎÍÍÍÎÍÌÌÌÌÍÍÍÎÍÍÍÍÌÍÍÍÍÍÍÍÁ¤Š‰qnnqlmpou}abaed[[[[\]SSV]d[ZZWURVTV]idQQY\UMONQQ]d`b[PGA?;852220.2ÏÏÎÎÎÎÎÎÎÎÎÍÍÌÍÊÂÅÂÌÌËËËËËÌËÌÍÌËËËËËËËËËÌËÌÎÎÍÍÎÍÍÍÍÍÍÍÍÍͶ˜“|ntwzv~gfd]hZaed[[WU_YTYegSQTWXSOLVP\hQOTXYPMSPOYb^aWTUOH><85311.-ÎÎÍÍÍÍÍÌÍÍÍÎÍÍÎÊÁÂÁÍÎÎÎÎÎÍÍÍÍÍÌÌËËËËÊÊÊÊÊÊÊÌÌÊÊËÉÈÊËËËËËË;’Ž†€r`l|mdg`abXjcZXTSL\a_apo[ROU]TMITRSYSZ\YUNPQUZ_XWZQOYPI>@A;520-+ÍÌÌÌÌÍÍÍÍÍÍÎÎÎÎȼ¼¼ËÎÎÎÎÎÎÎÎÎÎÍÎÎÎÍÎÎÎÌÌÌËËÌÌÌÌÌÊÆÉËËËÌËÇÆÄ£Šz{ph_kope_b_X]`VR\SSPZgefgdhWPVYTQSTRSXQY^bUSUQY[\XWTTOQPI>@>5550.2ÌÍÍÎÎÍÎÎÎÎÎÎÎÎÎƽļÈÎÎÍÍÎÎÎÎÎÎÍÍÎÍÍÍÍÍÍÍÍËËÍÍÎÎÍÉÅÊËÌÍÏÌÇÅ´šz|teXTc`[_ba\a_XURKNVY_adi^\TOOOOKSQSP^LUTYZWZY_[[WSPSORKFC>@;431/4ÍÎÎÎÎÍÍÍÎÎÎÍÍÎÎÅÁÌÂÆÎÍÍÍÎÎÍÌÌÍÍÍÎÍÌÍÍÍÍÍÎÊÉÊÌËÈÆÄÁÇÆÈÌÍÊÿ½­‘xrVTQROVZmpeac[YNCANXS\ba^WURJLKILHOKYORUUVVZ[[[_XSNSMXOCGA??40/--ÍÍÍÍÍÍÍÍÎÎÍÍÍÍÍÅÂÌÃÄÍÍÌÌÍÍÍÍÍÍÍÍÎÍÍÍÍÍÎÍÌÉÇÇÊÃÀ»Á½Á¿ÅËÉÅ»®¦¨Žtr_VWYWhi^oggaVVRRUUeTO[]SNWYQKJFNPRYXSQY[USXXUOUYTPVPXX@56220/.--ÍÍÑØÖÏËÌÌÌËËËËÌÂÂÉÁÄÍÎÍÍÍÍÎÎÎÍÍÍÎÎÎÎÎÎÎÌÅÂÂÀļº­¾º¿¶ÀÇÀ¾´¤Š‹€p‰{f[`[]elVm]U^SNST`^WNOQXQPSVWLLLTSS[i^PXXVVUUZSQZXX]^MD=7540.----ÏÛéïîãÑÊËÅÂÁÃÆÊÂÁÇÁÁÊÍÌÌÌÌÍÎÍÍÍÍÍÍÍÍÎÍÍÍŽ´½¹±¡ºµ¿´¶Á¶½´˜†|{mhcbccTZd]Vc[RZ]PRRW]UVSNNNKLMSYVOQPRRcZNZZXRMPZXYTWQMKA7=<;71.----ÝîÝÀÆêêÎû´³¸»ÂÃÄÊÅÃËÍËËËËËÌÌËËËÌÌÌÊÊÈÆÆĶ¯©®±§ª¯º°³¹®¬¡ƒvxukjR_eZXcYQ[h^X^YLOQT]`aTPMLLMRLUWKNSNS]]Ya\TPLPYVWUOOXJBB>;;961/.-,âä®”ÃÖø´³³¶·¾ÄÇÌÉÅÌÎÎÎÍÌÊÈËËËËËÊÊÇÄÿ¿´¢œš£¥š— ®®¬­¨¥˜‚snlgko_WXU``VV]][`XSWTRTU_WQSPNSURSTWQOWPRZaX^WY\W_`STYWSR@?H;76775200/Œ‡€yzz|wvz}ˆ—½ÃÆËÉÃËÍÎÎÍÌÈÃÉËËËÊÈž¶¶µ¹¬Ÿ–š›—”¡´¯«¢™›’wiefVibSMHPX`YRR^g`apa_b^TXNPOOPRWRUQSZRZOO__]g[c_jgaSQMMJK@=A8755454/13„–œuVZWl”–‘‹{ž¾ÅÈÇÁÊÍÎÍÌÊ»ÆÊÊÈƾ¯¤ž¤¥œœ—‰•™’’­®ž’‘„veehY^UPSQQZ`^[jn^QXdOXqp]QNKNMKGJLMONMPXTY^TRXX`g^]XOJMGFECH@8644344014­¦§¸§tPk²ÕâßÑ›y²ÀÆƺÃÌËÌÊÇ¿µÄËÊÁµ©›œž•™—Šƒ—”ŽŒ“š‘‹‰Š„wtocYTZ\YOY]VT^i\RP_hgb`]SRMJJHIGGEFNMR][X[VO[jhhW_SMUSHIA?A9754323338=gDLŠ§uu³ÎÑÑÇn™¾Æ¾¬´½¹¿½È¿®ºÄº¬ž ™š¡••Ž…ƒŠŠ‚Š‹…„…‚yxoaWVSU]YVYVT[hQQP^geTR[XSMKLJKIFKIIQU[aRYRPlsdh`b\T`ZVUH<;;87432254:Bj{‘ªƒy—¬MSWJn~®°£¢¢¤¦§­¾¹°¯³¤žš™™Ÿ”–†ƒ…„y„‹‰„|~~vrpjdXPZi[RVRU_[OY[^aZRRQRTNLPQLOTRGCKOT^QRM]ab`Zej[QS]YFSE<;<9555488:=‚¤µ·~<0pœ]EKR;YXWWVWVVVUVWY]bep³æÐkUF>:@STVG:9>;E—˜—ˆ„ˆ}ƒŠ‹†ˆ‚|yww{uvp_X^`TVTUXaXPN`tƒudZ\gQTNMQRNNJC@MTRSVSN[edeZSYZ^\T\XUWH<99;;78:98===>=<:88~»ì¸‡€}‚€ƒ†ˆ‚€‚~vtvtsqtf\_\OOZZ[]SV_ch`]V\baSVNKLRKGA?>=€VORRRWYSSRQU€p“œƒÚº„€‡ˆŒ—•“–˜—ŒŒŸÈë¶~y€€……€z{wsvyyupkg]UNJYW\TSZ][YIY`Z]XYaXKNTOLIMOOOTUXV[of[[[ZWZYRWMOL@874_97988;AECEðPZaeˆ˜fc\T€íÜîÜfŸÎÒÌÎÑÔÒÒÕÕÔÔÓÑÐÍÖ·Ž~}|}}ƒ€€}xypoxx|riacURTEANWWVZ\NKIVY]]U[f_SNMJKOMNJHJNVXY^a[^XVRVOKMHB<8776S…?889;;>HJHõªFHKRž¶XIGEõãðÈR­ÙÙÝßßßàâãããâáàßÝÛІxy|~€{~‚ƒ„zwxmipvzoha_PQTHJQUX\UPSRUU[VWX[b^SLECCEHIFFGJSV\[VMVSUSSNHFD=96686X~B88;=?>=<@LPVbZSXZRW[PMG;;:87782†æS05;:;BIIJ‰ÍÜßáâããààÞÜ×¢ZIB@´áãêèìÞ±¦·Ù©ŸºëãàßÕÈ|zzv{|}~|~}ytwvimtlih_O_k]VTZ[YSPXYZb_XV^\VNHE@@?><79?DIJ[iYU\X[]WHDA958887:5ƒåT/9<=BHHDRæõòðñððñòòòî¦VMH>­æäèèâΌÆÝǾÅèäæÝÞÐ}wzxx{|z{{€}xyumjpihcc[hqc\NQ\[WSU[X`ZW\fZPJCA@@DA?>DIC>L\lk^MQgRHA;;:8;;99>8uÜ[3>DSRJU_^lmRVXKB;666;@BA>@OVOgniwŠj[_SIC>:;?FMIB=?9zôs9<4?@=79LQGhecehjmmkgdddcba`aeilmorsttttrlfdgjmnnkifq‰®Ëʯ‘wlkmkiji^aeikmoqpqrrrqnleb`abbcfijijklllkhhiklmopp†n@S€³²¶¸·´±§¦€xyƒQE<34=?749c‰šR;322139<7ILƒš—Q430NŸPblmmmmmlkjdbcfjlkjgdb``aa`^^_aehknoqsssrqnibbehjklljjfO”½ÈÇqYaehjlnopqqqqpnljebaaaccdefggijkmni{O—HCNBaš¡¥\KC422321078w¢ŽH721;˜iUllnmnmmkkjfcbbfijiheb`_^`_^]]_bfiknqqqrqpqmhbcfikkllkY{±¿Î­^\dgjllnopppqponlhdb``aabcdefiijkkjp_”FLMJLq~iOJJB>>==;94Bmkkkkkkkheb_adhjjifa]\]^^\\[\^bfilnpqqqrrpmgbbe]RKWœ»ÅÄsU^begiklnnopomlljeb`_`bccfJ6=7afACM?PM5>BA?FORNJED?7<87QXOPR>586>F62006Ukiijkkkkjhfc``afihigc_^^]\]\\[[^cgkmnpqrrqqrngbeZOIe­¾Ìºh[adghilmnoooonnlifa__``beK.243:F@3512369;73323335557754776999;>FO21BQahhhiiijjkkjihda``bfikigd_\\]]]\[Z\adgkmoopqqrrqlkaOLKy¹ÀϪ`^behiikmnnoopoljid`___ac`L>84,L\=<:9887666677666567777778889:<@I5€·›keffghhjjkjjjjhfda`bfjkkkgc_]]_``_][\agjkmopqqrrqmpcQKO½ÂÒ–Y`dfgikkmnoppmlljfb__]`bcff{šNCY<:987776666666665566767677899;1333323322335J;45433323443h ª–ST_hgeehkhbegghhhhhiiiijhca__chklnljfdcbbaab_[[`cgkjPlmpmh[PQS•ÃÈÔ§_`cefhilllmnnnmljfb_^_`chmhZ{¦žˆ901112212345964322222222Y«£’£h3Vjheo¾ÚÑbeefgggfghiijhfda_^afknmlkiecbbbbb_ZZ[_ejVntronfSKJZ©ÄÌÓŒYacegijkllmmmmmkheb^^_ckSGb £¦Ã}DJB?>=AB?=:631026GŸª ­§ ˜•’Š†……„„ƒ‚‚ƒ“]ljdeeeeeffffeeeeffda_^]^chklmovuxvnqjjllmnsiPJJN˜ÄÅ×·cbfhhiijkkkjkn^+>.-,.028>;<@D;:=>==E==>?ACA@­‡‚ƒ}vrqoligfebbaabaaabb```c‚y‰zeeeedeeededdddeedca`^[]chkmlvoomlnlhjknnniSIKJk¾ÅÎÖˆ^efhhhijjjjkiW+=/++-/136:=>>AEFKN`ƒYLFB=92Y°‹c__]]]]^_^_bmrmmllkkkjkjjj_ly_]bcccdeeeeededdeeeecba][]cikmkmurnlmnnhkmjiVJKMO™ÇÆÓºa^bdffhhjjjdZL*<3-+)+---,,+,,,,,,.,++***(,•ªjVgrxz{{~ƒŠ’™¶¹•Ž“‡†ƒƒ‚{umo`^aa`ceeeeeeefgffeedcb_][]dikmrtomnprqlimlgTLKLJh¼ÆÍÖŠ^eegghhiifZUK(;7/2H5.,+))*))))))*****+,,M³ci|‡‡†‡‰ŒŒ{K85?™|?>8127:<<8=N?AvL_bbbbbaacbcdccccbaabbcbcba`‰~u€zusjluojhpjbbaVLLK^f‚¿ÃË׌]`acccc`^[WTSSTTUUTRSRSTVWZ[]]]]]]b†WYhG8669:8763220dc13456::>?89A>4mSXabbaa`addcddddcbbbccbbbcba€~yxytprb`hq{rjkf[LLLY`\žÂÂ׿d_acbccba_]\[[[[\[YWWXXWXZ\_ccfeben„‚Pd_C6557876533233335554?f‚u54563XeOabccdcbehhfeddedcdccbbb`\S†††††††‡‡…†‡†††‡‡††‡‡‡‡‡‡†††…ƒ‚}yuttswywyzzy{{zwuyyz{zyyz|~€€€………………††††††††††††††‡††††††…„€|xvutvuvyxxywyzyywuwvxzzxwy{~€€……………†…†…†…†…†††…†††††††…………„‚€€{vxwxwwyzxxwzzzyxwvuwyyxxyy|~€€…………†…………†…†††………………………„„………„ƒ€~zyxwwy|{yxwzz{{yxvvxyyyzzz|~€†„ƒ…†„……†…………††………………„„ƒƒ„„…ƒ‚~{yxwyz{zzzz{{{{zvuxyxyzzy{~€‚„ƒ„„„…………………†……………„ƒ‚‚‚‚‚‚~|yywyz{yy{||{zyxvvxz{zzyz}€€‚ˆ‡ˆ‡‡‰‡„……………………………„€€€€€€~|}~~{zywwwxyz|||{zywwwwxxzzy{}€€€‡†ˆ‰…ƒ…„…†………ƒ…„…ƒ‚}~~€~}{|||zyxwxvux{}||{{yxyxwuvxyy|}~€€„‚‡‡ƒ…………††„‚‚~|{{{{|}}}~{{z{|zzzxxzwx{z{|}}|zwyyvuuwxx|€€€‰„Š‰…„‡…‚€ƒ„ƒƒƒƒ‚zwwwx{{y|{zzxy{yzzyxyyy{{|}}}|zyyxwvuvww{~€€~‘‘‹Ž……‰‰‰ŠŠ‰€xwwx{{xzxxxxyzz{{yuwxwz{|}}}|zzywywutvw{“‘‘‘Š‚‡‰ˆˆˆˆˆƒ}xwxxyuvvwuwz{|zzyuuvwz{{}~}zyywwxywwx{~~~„……††„‚‚†ƒ„†…„…†…„~xwwvurtuvuvz|}zzx{{yzyz|}}}zyxvwwxxy|€‡€}|~€}‚‚‚€‚~vvuttstttuwyyzyx{|{z{y{}~}}~{xxxxy{~€€ˆ€}{€€€€‚~~€~utsssrsttuvxuxyx{zyyyz|~{wwxx{~€}}~~|x€}~~~~‚€€€€~ttssrqstvvuwyyyz{yxxxz}~|wrtvw{~~}~~}~{wq~}||}€‚€~€~~~ssssttsuwyvwxxyz{ywxy{|}zzxvqoponqrpqrvz{woll}}}}}}€€€~~~~vruttuuwxyxyzz||{{{zyxsninnqsqolhfgedefhfefik€ƒ……„„ƒ„ƒƒ„„ƒ„ƒƒ„€}~}}}~€€‚‚‚‚ƒ|xttwxzyyxxvwwtoppmlnomlˆ‡†ˆ‰‰‰ˆˆ‰ˆ‰ˆˆˆˆ‡††ˆˆˆˆ‡†„ƒƒ‚‚‚‚„ƒƒ‚ƒƒ„†…‡…„‚€€€‚‚ƒƒ„ƒ„„ƒƒ|w‰‰ˆ‡‡ˆ‰‰Š‰‰Š‰‰‰Š‰ˆˆˆ‡‡ˆ‰ˆ‡‡†ƒ‚‚ƒ„„„ƒ‚‚ƒƒ„…†‡††…‚€€€‚‚‚ƒ„„„††‡‡‰‰‰ˆ…†ˆ‰ŠŠŠŠŠ‰‰‰Š‰‰ˆ‡‡‡ˆˆˆŠ‰…………„…„„ƒƒ‚€€„‡‰ˆˆ…ƒ€€€€‚‚„„…‡‰‰‰‰‰ˆ†‡ˆ‰ŠŠŠŠ‰‰Š‰‰‰‰ˆŠ‹‘‘…‚‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€€€€€‚‚ƒ‰‰‰‰ŠŠ‡††ˆ‰‰‰‰ˆˆ‰‰‰‰‰ˆŽ‘ŒŒŒŒŽ‰€‚€€€€‚„ˆŠˆ†ƒ€€€~ˆ‰‰ŠŠŠŠ‡††‡ˆ‰Š‰‰‰‰‰Š‰‰‹…‚††‡‰‡†‡‰ˆ…‚€€‚‚€€€„†‡ˆ‡ƒ€€€€„ˆ‰ŠŠŠŠ‰‡……‡‰ŠŠŠ‰‰‰‰‰‡†~‚ƒ‚„ˆ‰†ˆŠ‡ˆ‡„ƒ‚‚‚ƒƒ‚‚‚€€ƒ†‡‡‡„‚€€€†‡‰Š‰Š‹Š‡††ˆ‰‰‰‰‰ˆˆˆ†ˆ‰††‰‰‡‡‰‡~ƒ‰…‡‰ˆ†„‚‚ƒƒ‚‚ƒƒ€€€ƒ†ˆˆ‡†‚|ƒ‡‰‰Š‹‹Šˆ††ˆ‰‰‰‰‰ˆ‡…‡‹„‚‰ŠŠŠ‰…‚‰††‰‰‰ˆ…ƒ‚€‚‚€„†‡‡‡…ƒ||†‰‰Š‹‹‹Šˆ†‡ˆˆˆ‰Š‰‡…ˆŠ‚ˆŠŠŠŠ†}Šˆ…‰‰ˆ‰‰†ƒ€‚€€„†‡ˆˆ}}~ƒˆ‰Š‹‹Š‹Š‡†‡‡‡‰Š‰†„‡‡……ˆˆ‰‰‰ƒ|‰‰…‡‡†‡Š‰ˆ†ƒ€€‚‚ƒƒ‚€‚„†ˆ|}}„ˆ‰ŠŠ‹Š‹Š††‡‡‡††…†……†‡†††………ƒ„ˆŠŒ‰„„‡‰ˆ‰‰‡ƒ€‚‚ƒƒƒ‚‚€€€€€‚„v~|~†‰‰Š‹ŠŠŠ‰†††ˆ‡…ˆŽŽ‹‹ŠŠŠŠŠ‹‹ŒŒŽ’…†‰‰ˆ‰‰‰ˆ…ƒ€‚‚‚ƒ‚€€€€pz}}‚ˆˆ‰Š‹ŠŠ‹ˆ††ˆ‡‡‹‹‹‹‹Š‹ŠŠ‹‹ŒŽ‡†ˆˆ‰ˆ‰‰ˆˆ‡„€‚‚‚‚‚‚€€€€hl{}{ƒ‰‰ŠŠ‹‹‹Šˆ††‡ˆ‹‹Š‰Š‰‰ˆˆˆ‰‰‰Š†ŠŠ‰ˆ†‡ˆ‰‰ˆˆ‰ˆ…‚€€‚‚‚‚‚jhp|}~†ˆŠŠ‹‹‹Š‹‡…†‡‹„€†ˆˆˆˆ‡‡‡ˆˆˆ‡}†ˆˆˆ†…‡ˆˆˆ‰‰‰ˆ†‚€€€‚ƒƒkjjv€~}ˆŠŠŠŠŠŠ‹ˆ†…„†ƒ€„…„……‡†ƒƒƒ‚‚……‡ˆˆ‡ˆ‡‰ˆ‰ˆˆˆˆ‡„‚€€€€ƒ„„…nmms€}}…‰ŠŠŠŠ‹‹Šˆ…„…„ƒƒƒ„„€‚ƒ„„„‡‰‰ˆˆ‡‡ˆˆ‰ˆˆˆ‰†„€€€‚…‡†nliny~|€‡‹ŠŠ‹Š‹‹‰†„ƒ„†………ƒ„„‚†……†‡††„ƒˆˆ‰ˆˆ…„ˆˆ‰ˆˆˆˆˆ‡…‚€…ˆ‡ijhikz€}|ƒ‰ŠŠŠ‹‹‹‹‰ƒ‚…‡ˆˆˆ„‚‚€‚…ˆ‰‡…ƒ„ˆ‰‰‰‰ˆ‡‡‰‰‰‰ˆˆˆˆˆ…‚€€‚…‡nniges€~|~…‰ŠŠ‹‹‹Œ‹„„…………‚€€ƒ………„ƒ…ˆ‰‰‰‰Š‰ˆˆˆ‰‰ˆˆˆ‰ˆˆ…ƒ€‚ƒmjggfk{‚~}€‡ŠŠ‹‹‹ŒŒ†€‚ƒ‚‚ƒ‚‚‚ƒƒ„††Š‰ŠŠŠŠŠ‰‡ƒ‡‰ˆˆˆˆˆ‰ˆ†‚€fgggghq~€~|ƒŠ‹‹Š‹‹Œ†€‚‚‚‚‚‚‚„Š’“’“““““’‘‰‡‰ˆˆˆˆˆ‰ˆˆ†ƒ€€hhgffggu€}ˆŠ‹‹‹‹Œ‡‚‚‚‚‚‚‚‚ƒ‚ƒƒƒŠ”—˜—•••••••””‘‰‡‰‰‰‰‰‰ˆ‰ˆ†ƒ€ihgdghgs~~„Š‹‹‹‹Ž‰‚ƒ‚‚‚‚‚ƒƒƒƒ…‰‡‡„‡Š‹‡„„ƒƒ‰‹‡…‡‰‰‰‰ˆˆˆ‰‡ƒjhgfhjhn|}ˆŒŒ‹‹Ž‰€€ƒ…ƒ‚‚‚‚‚„„‡‹{zyz‡‹Œ„z{zz„Œ‰ƒƒˆ‰‰‰‰‰‰ˆˆ†ƒjjjjhhhjt€}ƒ‹‹‹Š‰‡€‚ƒ‚‚‚‚ƒˆŠ‚{zy}ŠŠ‹‡zz|}…Š‹‡†ˆ‰‰‰‰‰‰‰ˆˆ†kkihnkhjr}‚}‡‹‹‰‰‡„‚‚€€€€„Šˆ‡‰‰‡ˆ‹‹‹‹‡‰‰Š‰‰Š‰ˆˆ‰‰‰‰‰‰‰‰‰ˆlnmnppmpt|~}}‚‰Š‰‰ˆ†††…„„„ƒ„„„ƒ…Š‡‡‹‰ŠŠŠŠ‹‹‹‡„‡‰ˆ‰‰ˆˆˆ‰‰ˆ‰‰‰‰‰Šzzzzzzzzzzz{zzz{zzzzyyyyyyyy{„„ƒ„…††ˆ‡†††ˆ‡‡ˆ†…†††………‡†„ƒ‚‚‚‚yzzzzyzzzzzzyyyzyyyyxyyzyyyy{‚ƒƒƒ‚„…††………†ˆ‡††…„……………††…ƒ‚‚‚yzyzzyyzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„„……„„…†‡†…ƒ„„„ƒ…†‡‡†…ƒ‚‚‚€zyyzzyyzzzzzzyyyyyyz{{z{{|zzz}€ƒ…„„„……„„…†‡†…„„ƒƒ„„…ˆˆˆ‡…‚‚‚‚€€y||{zzzzzzyyyyyyyyyy{|{}}}||~€‚ƒ„„„……………‡‡‡………„ƒ„…‡‡‡†…„‚‚€€|‚~|}}{zzzyzzzzzzz{}}~~}‚ƒ‚‚ƒ„„„……‡††‡†…………„„……‡‡††„ƒ‚‚‚€€~~}{zyyz|{zz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡†……†………„……††††„ƒ‚‚‚‚{zy{|~~~zzzyz}{z}€‚ƒ‚€‚ƒ……„„„„……„ƒ„…†‡†„„……„………†††……„ƒ|{stx€}~~}|{|€„…††„„ƒƒ„‚ƒ…‡‡…†…„„…„ƒ„…†………„ƒƒ„„„…†††…„ƒ‚‚ƒ|~zy|‚}~€€‚‚ˆ‰‡†…ƒƒ„„…‡††††…„„……………„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚xyyyz|yyƒ}|yz{}„‡‡‡…„ƒ……†‡‡†…††…………†……†…†„ƒƒƒƒƒ……†‰‡…‚‚‚‚}yy{zz|{~~}}{{}}…†‡†……†ˆ‡‡ˆ‡†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ†€€€ˆ…‚€€€„†††††‡ˆˆˆˆˆ†…„„„…„„†‡‡†…„…„„„†‡ˆ‡ƒ‚‚‚„†ˆ„„„ƒ„‰‰„€€€‚€€„‡†‡ˆ‡‰‡‡‡ˆ‡†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†…ƒ‚‚‚‚ˆ…‚€ƒ„„ƒ„‡†‡ˆ‡‡ˆ‡‡‡†…„…„„„††‡ˆˆ‡„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚……ƒ†ˆ‡‡‡‡ƒ‚‚€„‡†‡‡ˆ†ˆˆˆ‡††„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€‚ƒƒƒƒƒƒ„„„„ƒ‚ƒƒ††„‚‚…‡†‡ˆˆ‡ˆ‡‡‡†…„……ƒ„…‡†‡‡…ƒƒƒƒ‚‚‚~{||~~€ƒ‚€€ƒƒ‚‚‚ƒ‚„„„‡‡†„……‡ˆ‡‡‡ˆ‡‡†……„ƒƒƒƒƒ†ˆ†††~}|z{z{zz{{|~~~€|~€‚‚€€‚~€‚‚ƒƒƒƒ‚ƒƒƒ„……„ƒ‚ƒ‚€€€‚……„……€~~~€€€€€€}€~}}}}}}}||}}~€€~~~~€€‚‚€€€€€€€€€‚Š…ƒƒ‚€‚‚‚€€{}~~}}}}}}|{|||~~}~€€€‚„Š„‚€€€€€€€€|{|~~}}}}}|||{}}}€€}~€~€€€€€€€€€~ƒƒ‚‚€€€€€€}{|{}~€~~~}}}}||}}}}~}|||{{yyz{{}€€€€€~~~€‚ƒ‚‡‰€~}||||€~}}}~}}}}}}}|||||}…‡~}}|{~‚~~€††‚‚‚~}||}}€€~}}~~~~}}|~~||{}~~{{}}|}€€~}‚‚‚‚‚‚ƒ}}|}}}€€~}}~~~~}}|{zzz{{xz}|{}~€€€‚‚‚‚‚€~}‚‚ƒ†ƒƒ€~}}}}~€~~~~}}~~~~|}xxzzy}‚€|}~~~€€€‚ƒ‚‚‚€~}}‚„„ƒ~}}}}~€~~~}}}~~}||„„yxyyz~ƒ‚}|}~}~~€‚‚‚‚‚€~€€†„‚€~}||{|~€}~~}~}{{‚ƒ{yzzz~ˆ„{{}}}}}}€‚‚‚‚‚€|}~’‰‚€~}}|||~~~~}~}{{~zy{|{ˆƒz{}~€}}~}€‚€‚‚}ƒ„ƒ‚€}||}}}€~€~}~~}}‚€}{|~~}}}~€€‚€€€€€‚‚€ƒ„ƒƒ‚~}}}}}~€€€|~~}}}~~}}~}}{z}~~}}}}~€€€‚‚‚€‚‚‚‚‚}}}}}}}~€€~}{{|||}||}}}}}||||{~~}}}}}}~‚‚€‹{|‹‚‚~}}}}}}€€~{‚‚~}}}~~~~~~}}‚Œ‚~~~~}}~~}~€€‚‚‚€˜}{~‰ˆ‚ƒ~}}}}|}€€~}‰‚~~~~€~~†Š‚~~}}}~~~‚‚‚‰||€‚ƒƒƒ€}}}}}}}~€€€‚…ƒ€€€ƒ…€ƒ‚€~~~€€~~}~~~~‚€€€€~‚ƒ‚‚ƒ}}|||}}~€€ƒ„ƒ‚‚‚„†‚‚„„€~}~€€~~}}}~}~‚€€€ƒ€|‚‚‚ƒ‚~~||||}~€€‚‚‚€‚„ƒ€~€€€~}~~~}}~~}}}€‚€€~z|}€‚‚}}}|}}}~€€}~~€€€}~€€}}~}~~€~~~~}}~€€‚‚€~yyzƒ•ˆ‚€~}}}~~~}€~€„‚ƒ‚ƒ„ƒ~€€}}~~~~}}}~~€‚€~ywx}„Š…‚~}}}}~~‚ƒƒ‡ŠŒ‹‹‰†‚€|}~~~~~€€~~~}}}~€‚‚€~zxwy‚‚‚‚}||}}|€€‚ƒƒƒ…†††…ƒ„„€{zxxwvvwwvvww~€~~~}}}}~€‚~zxwwy€‚‚‚‚}||}}|€‚„„ƒ{xvwxyxyyzzyyy{~~~~~}}}~€‚~ywyzz~‚‚‚‚}}|}}{~€€€€€€€~z|}|~€ƒ‚€€~~}}€~~~}}}}~‚~{x{|{~‚‚‚~}}||{}€€€€€€€€€}||}~}}|x{{}}}~|z~~}}~~~}}~€€}{{}~~€‚‚‚~}}}~€€‚}}}}~~~yyxz}€€€|{}€€~}}~}}}}~ƒ~€„„‚‚‚„ƒ‚~~‚‚‚‚‚‚‚ƒ}}}€}yvuy|€~{|}~~~~~~~~~~~~ˆˆ‡ˆ††„…†ƒ‚šŽ~~~€€€‚€€~}}|||||{yyz{€ƒ}z|}~~~~~~~~}}}ÑÑÑÐÐÑÑÑÑÑÑÐÏÏÏÌÆÉÅÎÏÏÏÐÑÑÑÑÑÏÏÏÏÏÏÏÏÏÏÏÍÎÎÍÍÍÍÍÍÎÏÏÏÏÎÍÈ¿¶±§£–ƒtjnymlkmoueidX`c^^g_U\a`aWRPU\Zaf`eTVWXVWTT\VRX`a]YUME=9<<632@3ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÎÊÅÈÄÌÏÏÏÏÐÐÐÐÐÏÏÏÎÎÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÎÎÎÎÏÏȸ ¨œy„|‚va`bs}p^`plh\Z[\`[YWQ_ha]SQQRZY^hihQW^b[RPLSSZac]XPOK@A76642077ÐÐÐÏÏÐÏÏÐÐÏÏÏÎÍÉÃÆÂÊÍÎÎÎÎÏÏÏÏÏÏÏÍÍÍÍÍÌÌÌÍÍÍÎÎÍÍÍÍÍÎÎÎÎÏÏͤ‹Šrppqnoprw{bccfe\\[\]]TUW^e\[[XVSWUW^ieSSY\UNPORS_ebc\QGB@<952330.2ÏÏÏÏÏÏÏÏÏÎÎÍÎÍÍËÃÆÃÌÍÌÌÍÌÍÍÌÍÌÌÌËÊËËÌËËËÌÌÍÎÎÎÎÎÎÎÏÏÏÏÎÎÎζ—“|nux{x‚€ggc`i[bgf\\XW`[TZfgTRUXYTPNWP\jRQUY[QMSPQ[c`bWTUOH?<85331..ÏÏÎÎÎÎÎÎÎÎÎÎÎÎÏËÂÃÃÍÏÏÏÏÏÎÎÍÍÍÍÍËËÌËÊÊÊÊÊËËÌÍËËÌËÉËÌÍÍÍÌÌξ“‚‡san~ndh`bcYke[YUUO]bacqp\ROV^VNJURS[T\]ZWOQRV[`XXZRPZPJ>@A<520-+ÍÍÍÎÎÎÎÎÎÏÏÏÏÏÐɼ½½ÌÏÏÏÏÏÏÏÏÏÏÎÎÏÏÏÎÎÎÍÍÍÌÌÍÍÎÍÍËÆÉÌÍÍÌËÈÇŤ‹|}rg_mrpe_c`Z^aWR]TTR\hgiifjXRWZTRTUSSXS\_cWUVRZ\_ZYUTORPI>@>5561.3ÍÍÎÎÎÏÏÏÏÏÏÏÏÏÐǽƾÊÏÏÏÏÏÏÏÏÏÏÎÎÎÎÏÍÍÍÎÎÎËÍÎÎÎÎÍÊÅÊÌÍÎÏÍÉÅô›{~sfXUea]`ba_b`YUSLOW[acgk`]UQPPPKUSUQ`MVV[[X[[a]^YSRUPRLFC>@;431/3ÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÆÁÍÂÈÏÎÎÎÏÎÎÎÎÎÎÎÎÍÎÍÍÍÎÎÎËËËÌËÈÆÄÁÈÈÊÍÎÌÅ¿¾®‚|tWTQSOWZnrhbd\ZODAPYT^cc^XUSLNLILIRMZPSVVXX\]\]aZTPUOYPCGA>?40/--ÎÎÎÎÎÏÏÎÏÏÏÎÎÎÏÆÃÍÂÅÎÎÎÎÎÎÎÎÎÏÎÎÎÎÎÎÍÎÏÍÌÉÈÇÊÃÁ¼Â¾ÃÀÆËËǽ±¨ªvt_WWZYij`qhhaWWSRUUfVO\]UNWZTMJGOQS[YSQZ\VTZZWPVZURXQYYA66220/.--ÎÎÒ×ÖÏÌÍÍÍÌÌÌÌÌÃÂÊÂÅÎÏÎÎÎÎÎÏÎÎÎÎÎÎÎÏÏÏÏÍÄÃÂÀýº­¿ºÀ·ÀÈ¿µ¥‹Š€qŠ}g]a[]fnXo^V_UPUVa_XPPSZSPTVZOMMVTT]j^PXYWWVV[SRZYZ^^MD>8540..---ÐÛêïíãÒËËÇÃÃÅÇÊÃÁÈÂÂËÍÍÍÌÍÍÏÎÎÎÍÍÍÍÎÎÏÎÎÇü´¼º²¢ºµÀµ¶Â·¾µ™†|{niecedU[e^Vf\T[^QTTX]VVSOPPLMNU\WQUQSSe[O[[XSNPZXZUXRNJ@8==;71.----ÞîÙ½ÆêéÎļ¶´º½ÂÃÅÊÆÄÌÍÌÌÌËËÌÍÌÌÌÌÌÌËËÊÇÆô¯¨­²§Ÿª¯º°µº¯¬¡ƒvyvmjS`g\YeZR\i`Z`[LQSU_bcUQNMLOSMVXLOUPT^^[c^VPLPZWYWPQXJBC=;;951/.-,äᨓÄ×ĸ¶´´¸ºÀÃÈÍÊÆÍÎÎÎÎÍËÉÌÌÌÌËÊÊÈÅÄÀ¿²¢ž›¤¥›˜¢¯¯¬®©¦™‚tnmimo_XZVbaWX_^]aWRXTTUWaZRTQNSWSTUXRQXQT[aY_Y[\W_`TUZXUR@?H<76775200.–ˆ€{z|}xwz}ˆ¯ÄÇÌÉÄËÎÎÎÎÌÈÄÊÌÌÌÌÈÆÀ··¶»­ —œ™•£´¯« ™“xkfgVibSMGPX`YTR`jaara`b_UYOQQPQSXSVRU[S\PP`_^h\d`kibTQOMKK@>@8866554/12}žž‹[[X[„•Š„¸ÄÈÇÁÊÎÎÍÌËûÇËËÉÇ¿°¥Ÿž¥§ž˜Š•œ”’­®œ’’‘„vefjZ_VPSQR[a`]kp`SWeOXsq]ROKNNLHJMOPNMQZU[_USYYah_^YQJNIFECHA8655344024£¬¦²¸ŠYYÌÜâ×¹y›ÃÇÇ»ÄÌËÌËÈ¿µÆËʶªœžŸ–š˜‹‘„–”Œ“›Š‰Š…€xvqcZTZ]YPZ^WU^j^SQ`ihca^URMKJHIGGFHOMS_]Y\WP\khhW_UOUTKJA?A9854324438=qKHj¨˜wj“ÊÑÔÏ¢p~¾Æ¾®´»¸½»Ç½­¼Æ¼®¡¡›œ¢––†‚…‹ŒƒŠŒ…„…‚€zypbWWUU^ZVZVT[iSRQ`igTS\YTNMNKLJFKJJRV]dTZSQmteiac^U`ZWVH<;;97443364;B|eŽ†¨•{ˆªZQYJbq©¯£¢£¤§«¶ÅÀ·¶½²ª£¢™™Ÿ•–†„…‚†‚z„‹‰…‚}~~vrqkeXQ[j\RWSV`[O[]`bZSSSTSMLQSMPTRGCLPVbRRN`cca[fl\RS^ZFTG<;<:555489;>ƒ›©Ç–Z0K˜~AJPELj‡ž›¡ ÁÕÚÝÙ××ÖÖØÚÚÓ±“™’‰‰…€‚ƒ{‰†‚€|}{zrkjf[WZSZ_ZU]\`[V\[]_\VQKXVNMPLCEGFA?GIJSLTT[^bZcq^`P[`[JFCA>=955669]V]rXG6;PT`Z=GH@ADXbpXF@He«OzÇb>EFGR\HKJJIERžŒ…‘‹Ž„„ƒ…|‚|zwrvvpjdX^fb\RVPR_geeWOTQg_eZOSSPJIDITKCKMNFQR^`[O\ffeVbeWPX`TFBB=;8767<@LBijjkihhhjuxvslich~®Ú½LHDBC`fZ[QIHG=‰‘‚Ž™Š‰‘ˆ‹…€‹ƒ{}ywwxzucWR\Z[W[YO[\_ahgjornR^_VOSQGFFQXRRPQRJKWZ^ZNP_\a__ihW`VB;:==<:;9:>>>;_[Z[YZZZYYXY[]cfl†Þå–QUA?:EJNK;89<7fžœ —ˆ„‰}„Š‹‡€‰ƒ}zxx|wwq_X_aUXUWYbZPOat„uf\^fTVNLSSNNJC@NVSTWUP^fef[T[[_]U]YVWH<99<;78::9>==?>>bWOPPOOQRQQQP]gd¥x»Ì¢Œ”›ž ¥ª¨§¥££ ºÓÒ‹|z€€††€{€|€xtwyzvqmj^UNJZY\TTZ^]ZJZa[^Y[bYLNTPOJMPPQUWYX]of\\]ZX[YSXNPMA874Zt98988;BFDFÛ¬W\cfo¢qf`\Z¹ÛÐ÷’tÃ×ÐÐÔ×ÖÕÖØÙØ×ÕÔÑÑÕ™~€}€~}„€~yzrpyz}sjceUTUEBOWXW[\OKKWZ]^V\g`TNMKMPOOJHKNWY[`c\`ZWTXOKNJB=9886W@889<?>=DIB?L]mk^NRhSHA;;:7;;99>8uÛY4>DSSJV__nŽnSWZLB;677<@CB?A=ræf8@9;DJOYcbxKCYZWVWV\XDswEAS]Ëïìíìììîíìíîíëìììîä{p|{|~}xv‚‡€txxshgkt|iXWWTRSOUZQQ\^]Y\d`[OSTPIFLPJ=>NVPhojyŽj]_SJC>:;@GMJB=@;vño:>5IV\TYbgqf\Z\bfimpmpf\hxwqmejlWñ…STZwwsvmh;@FFDBCFGGFBDH;136>œãÁš—Ý⚆ƒ~²ñ­‚±ÓÃo~‚‚~w}~uz|~xzqe[dheacbVX\[USQPOV]ZV[[TNSZVSUXYq‚zdmyo]UY^_bejgo†ƒƒ‡€|€†ŠŠ‹–·•‘Šƒ}uvsiuvurrrpnoooqsxm5.4=pÛãÚÕÚÚÓÏÑÍÆÏÒÑÐÚãœh}€ƒxx€xsx{}qxofbaic^d`Z[WWSS[[OOXWNLMR[[Y[ey„‡‰fdtnURZ]]]_hklv‚€€yv}‹”’‘‡Ž‹ƒ€ptqnqjqpqqsuwxyz{|~|t7-1C`u~…••‡¤¬—whmppop_q|ww|vv~vuyvxstonoknmotqoplp{Š”…ˆŽ†„°–~}„€}€nbnpcV\``^\ajhlvjhehfv€„~‚‡‰††‡|tejqnkh[[[[\begffefgik\\^n‚}~ƒŠ—•‡’Žƒxx{}zxxvussrsutsrqpoonnnqsuxy{{{xwvxzzz|~ˆ’š¨¶´ª–ˆ{smonmnmkgc^]^\[a`YZ^__cilgifdfrrlrmhbkxpuyqonnnpsvuvvuuttwy{~€€~~|{ywwŽŸ Žrqruxxxxxutrqqrtttroljjjjklnrtvwxvvuusrtsqqrz„Ÿ­±°¦œ~qgggfba]ZV[YXWYZY[ZYY\ZXYZZWWVXR]^gv|vqmllklopqrrpoooopsx{|}}~}}}|{xvt|†{ˆ¤˜xnpsuvwwutrpoppppoomljhgfggjloptvvwvvspooppnoqvŽ ³½¸£‰ukhjjhd`_]XVTUVUTUYadVWY\XYXUTUYV[|xsoljjklnopppoooooqsuwyz{{{zzzxwvqq~Š’–ƒ‚uqqstuvvtsrpmlkmmmlkigfcdeefimpsuwwwusommnpqqqno}—°¾¿°•skjlgdccZV[VVUVZZUUW]UWWZYXXUUzxwtqmjiikmnopppqsrsssstvwxxyzzyzywurom}¤¢}nmnrstuuvwwvrlkmllmnmkjiffeddfikoruvxywusomlnqrqpos—±Å§ˆtijlkkgfca]ZVUUUSUUWV[YWZYZxwwwvrmighikmnooopqrrrqqqsuvvxyyxxxusqqponu£´˜pnooqrtuvvoknkjklmnnmigedb```bflpsuuwxwurliimpqoljl| ÃͲ‰qkjlmkkigc_\XVTSSVUVZVYYWvwwwvvsnigghjklmmmnoppponoprtuwxwwxvtsrqqqr‡“‹‚liloprrrrmkpokggghlnmkiedcbbbacglnqsuvwwwtniilnpqqnkx”³Æ¾ ƒpklmlkihea^[VTTRW]TVVUtvvwwwvspkgefhijkklmnooommmnoqtuuwxwvutrqrrmmo|¦±Šlpsw{€ƒ†Œ‹‹‰†‚{urnmhfdccbaa`aeilortuvwwuqmiilopomjly—ºÊ½Ÿ‚rmlmmigffcc`\XUVUSTpsuwwuutrnieccdfghijlmnnnmlklnoprttuvuttrqqqos£º²£©®²³³³²³±±°¯±±³³­¤žikgdcaab`^`chloqstuuuurmggjkmmmkgk‚®Íί‡rqmljiiihggeb^WUXmoqrttutsrnidbabcdehjkllnmlkijkmnoqstuttsttqƒ¦ª©«ª¢—‘Š{vnkkkkkmqw†‡ˆ”ynomjecddca^_dimoqrtuuvurjeehklmlifg~¯ÐÏ°ˆrnnmkigghhggc_^klnqsstuusrokfbbbbdfghjklmlllkjllmpsstuttttr¦ƒvof_XTTW]h§Žme]WRRRQQL\|lnppnkhffgea`bgjlpqrtuuutqkedhlmmlkgk‚©ÊϳŒunnnljihgggfcikmprtuuuutrokgddccdfgikkllmmmljjlnoqrstttsu—eKJKMPRWVWXYslQKLhmkidZF=\jeinqpmjhgghebacfjmnpqtuuutqlgejlnnomggzŸÄϼš|nmnljihhggdhkmorttuuusrpliebbcdehklkllmnmljiklmoqsttr{AJXeqzŒd5740-199>_fehghbF>cfdeilnnlgeeddca`bfjmnprtuuuurlgfhknonkigq‰®Ëʯ‘wmlnljjj_cgjloqrrssssqnlfbaabbdgjjkkllmlmjiiklnoqrqŒa;Z…•ž¥¨­–n^A55;FHGB>?@:6=‰¢ˆFjlmmmkgdbcfhkjhecbcccc`]^aejlnpqrssqqojedfjlllkjjefxžÈ°ÄП[`dgikmnqrrrrqpnjfbaacdefhhijjklmnnlhj†HˆH046Rl`=FGB@@>AHH>OGpyW:5_€œP`mmmmnmliecfilkjhgdcbbba_^`behknorsrsssojedfijkkllkfew·ÆÐZaehjkmpqrrrrqomkfbcccdfgghjjjkmopplqyP;235o£ŽM@>6555>GICQL_pn:4/1ŠnRnlmmnnmlkfccgjlmkheb`bbaa__`behlopqtttsqniccfijklllkgP“¼ÈÉsZbfiklnpqrrrqqnmiedcbbcdegghijklnokxicˆ5:=<:9BbœaB;82D¨eWlh^[alkllmlkidbaehjkjgda__^^]]]^_bfilnpqrrrrrpibcfhkRKOŒ»Ä̇Y_dhjklnopppponmkfca`abcddefjjjnkrM `JVLfŠ‰…MFFFFFGFFEC_”QD=A5?¥gHoR7;9[mkklllkifcabehjkjgb_^^___]]]^bfjmoqrqqrsqnhccf_SLWœ¼ÆÅuV^bfhjlmnooppomljfca`acddedRB>WŽ^GžcVŒYReFCHLQY]^TNVMZ^l‚fIB893:\:>S>;=2Onjjjklkkigdaabgjjihd`_^^_^]\[[_dhknopqrrrrrnhbgZPJa©¾Ì»i\aegiklmnppppoomifc``abcd]7;9@CACNTTOKFD=9>7A[VNQM9687@B3.-/9]kiiijjkkjjifb`adgjkkgd`^]^__^\[]behlnnopqstsrmlbQMJr·ÀЫ`^cfhjklnnopqpomkiea```bd]31637@E4421248;<53323356558756878:991-.1:?Cgui‰ ]pwzff²ìÁylrqf^kT8>?742-,.Olihhghhhe‡ÊËÂ{_cdeffggiiihhihgdba]^cgkjiif_\]]]^^vzpmrqporrZLLQ–ÂÆ×­_befhjkklllmmmllkieY510,/047;<;GQPYdq„“¥É¼¥š‚sgd^VMFA<7310-Rmihhghhggdihdecdeeffggggggffggfeb`]]_fhhiie_]]^^]trnkoojhjlfNKJd³ÁËÖ‰]dggikklmmmnmmmmki^3//2347:>CLXhx˜µÃÍÔàëêâàßÝÀxbTMJFA:400-Vmiiihhgghgffeedddeefffeffggfghgfcca]]afijjjfb_]\\poofimpuspkSKLL„¿ÁÓÆmafgijkmmmnnnnnnmkd7,-0569>AGPWo~³òêîîíëìíííô¾ƒ‚wgTE;4/0-Zmjjjhhhgghhhfedddeeffffgghhgghggfec`]]agjklkic`]]mfekglsurtu_LL]l¢¿Ä׬cegijkllmnnoopoomh;+-/14:AIVg}¢³¤îÛëììììììíõ³–«‹{eMA:3///anllihiihhgggffda`badfgggfhhhhihhigec`^^aejllljhc`gnkippmnqvrmTJOP^«ÀÊÕ`ehijkllmmnoooonk@+./.2783357;hˆ“ª²³´°ª¨¨¦¢ŸžŸœ›œœž¡££yŽ}egfeefffffeeeedddcaa^[^dilmmwqpnlnnjlloopjSKKKk¾ÆÏ׉^dfhiijjkkllln@38/--/05??:>BC78::788479;>@@>c²¥ ˜‘ˆ†‚€~{ywvvutttstvxxu€‰b_deddeffffffffeeeeedc`^[]djlnlnwsomoppikmkjVKMMN”ÇÆÔ»a^begghikkllkg;39,,,.136:?@AAEGIMPv|VOIDA<6D¤¢{vupjhfeda_]\ZZ[[\\\\\]]]\Zos`abbaefffggffghffeeedba]\^ejlnruoooqtsnjnnhTMLMJd¹ÇÎÖŠ^efhiiikjki^X61;.,++./..///01001164/-+++*(t°{Y[\\_`cfimr|•ŸŽ‹Š…ƒ€}{}|{ylpwl¢¼¾“`deefeefggffdeeedca^[^eomnpuwvtwnmpomrfQJLLN‘ÉÊÔ¾icfijjjjiibVV80<3+?8-,+*))*))*********+,+:­šh\u‚‚„‚€~„Œ…— xiv…‚ƒ„ƒ€{|vat–èðæ–`cddcceffeecdeeddb`]\`lrwvqusoqmmkiktdLLLKLb¸ÉÍÖ–_eghhjhbb_XV80:61=XLA;544/**+***++,16:B@e¬‚`t€ŠŒ“š£¨ª­‚J2555T±ËÏÎÉÊÌÉ¿ƒzInhš´±¡d`abccdeeddccddddcb`]\tywqlmnpojklwuvh_YLLNO‹ÉÈÒÊrcghhjiihg^T<1956+<@:9412.***)***,-13325|™jS„²ÑÕÚÝßàáå‡Z\QNNP¸çáàÙ×ÞàäŠr^Xk_^Y\``abcbddcdddccdddcbb`]kkmidaekls{ytvojpfRLNS_¶ÈÇצcfhijghfeaT>76232.'&%&&&&%&&%$$$#####!2†•VdrÊáÞÝÜÜÜÝÝyajfmTN­åàÞÖÏØÞá„RzKldaaaabcdccddcccdcccdddccb_qomnlvqtjvtvvv~~m]SLKNMÇÄÑÓƒbffgefeb`[M:0--/*%%%&&%&'''(())*++,+(K•MpVÆåàáááàáÓjSSV[ONšçãåäæåÞØv8}Rbgabbbdeccdeedcccbbcddddcb`ˆ~„zy}zlkq{yz|tg]RLKLKT£ÈÈظdacdcddb_]WJ>;<;;<==<=>?@@?@BBAABCCB@e¡|MtB‹¬©«¯²¶»–XVSsrRSpÆ̾­š„j\H7cgRdbbbbabcbddddddcbbccccccba‹v€zutknvpkipjccbVLLL_f½ÃÌØŒ^abcccc`]YSNLLJIJLKLLMMMOOPQRRRTTTSUt kPrE:89;==GvK`bbbbabdddedddddbccccbbcccƒ€zy€yuruebhr|skmg[MLLYa\™ÂÂ׿e_acbcca_[WTSSRRTSQRRQRRTVXZ[\\]]^\a—\TlH978:;9679426uu87534:===9;KB7rR[bbbdcbfhhgeeefeedcccbbccc†††††††‡‡…†‡‡††‡‡‡‡‡‡‡‡‡‡†††…ƒ‚}yvttswyxzzzy{{zwuyyz{zyyz|~€€€…†…………†††††††††††††‡‡†††††††…€|xvttuuvyxxywyzyywuwvxzzxwy{~€€€††††…†††††††††…†††††††††††††…‚€€{vwwwwwyzxxwzzyxxwvuxyyxxyy|~€€††††††††…†…†††††††………††…„…………ƒ€~zyxwwy|{xxwzzz{yxvvxxxyzyz|~€†„„…†……††……†…†††…††………„ƒƒ„„…ƒ‚~{ywvxz{zyzz{{{{zvuxyxyzzx{~€‚ƒƒ„„„………………††……………„‚‚‚‚‚ƒ~|yxvxz{zy{}|{zyxuvxz{zzyz}€€‚ˆˆ‰‡ˆ‰‰…„……………†……………‚€€€€|}~~{zyvwwxzz|||{zywwwwxxyzy{~€€€†…ˆŠ‡‚†…„†………ƒ……„ƒ‚€~~~€~}{|||zyxwyvux{}||{{yxyxwuvxyy|~~€€€„†ˆ„„……†††„‚ƒƒ|{|||||}~~|{z{|zzzxxzwx{z{||}|zwyyvuuwxx|€€€€Š„‰Š‡„††ƒ€‚„„ƒ„†ƒ|wwww{{y|{zyxy{yzzxxyyy{{|}}}|zyxwwvuvww{~€€~’‘ŠŽŽ‡ƒ‰‰‰ŠŠŠ„ywwx{{xzyxwxyzz{{yuwxwz{|}}}|zzywywutvv{‘’‘‘‘’‘ƒ…‰ˆˆ‡ˆˆ†~ywxxyuvvwvwz{|zzyuuvwy{|}~}zyywwxxwwy{~~~„†…††…ƒƒ†„„……„ƒ„……€xwwvurtuvuwz|}zzx{{yzyz|}}}zyxvwwxxy|†}|~€~~‚‚‚€€‚€wvuttssutuwyyzyx{|{z{y{}~}}~{xxxxy{~€€ˆ€€}{~€€‚~~€wtsssrsttuvxuxyx{zyyyz|~{vwxxz~€}}~~|x€„†€~€‚€€€€€€vtssrqstvvuwyyyzzyxxxz}~|wrsvw{~~}}~~~{wq€€€€‚~~~vrtststuwyuwxxyzzywxy{|}{zyvpoqonqrqqruz|woml}~~~~€~~wrtttuuwxyxyzy||{{zzyxsninnrrqolhfgfeeeifdfik€€‚‚‚‚ƒƒƒƒƒƒ„ƒ„ƒƒƒ~}~|}}~€‚‚‚‚ƒ}xtswxzyyyxvwvtppomknolmˆ‡†ˆ‰‰ˆˆˆˆˆ‰ˆˆˆ‡‡‡†‡‰ˆˆ‡†„ƒƒ‚‚‚‚„„ƒ‚ƒƒ„††‡…„ƒ€€€‚ƒƒƒ„ƒ„ƒƒƒ{v‰‰ˆ‡ˆ‰‰ŠŠ‰‰ŠŠ‰ŠŠ‰ˆˆˆ‡ˆˆ‰ˆ‡‡†„ƒƒƒ„„„ƒƒ‚ƒƒ„…†‡‡…„‚€€€‚‚‚ƒ„„…††††‰‰Šˆ††‰‰ŠŠ‰ŠŠŠ‰ŠŠ‰‰ˆ‡‡†‡ˆˆ‰‰†‡…ƒƒƒƒ„ƒƒ‚€€‚ƒ‡ˆˆ‡…‚€€€€‚‚‚ƒ„„†‡‰‰ŠŠ‰ˆ‡‡ˆ‰ŠŠŠŠ‰‰Š‰‰‰‰ˆˆˆ‡ŠŠŒŒŽŒ‹Šˆ‡…ƒ‚‚‚‚€€€‚…ˆˆ‰‡„€€€€€€€‚‚ƒ‰‰‰‰ŠŠ‡†‡ˆ‰‰Š‰ˆˆ‰‰‰Š‰ˆ‹Ž’‘‘‘‘‘’‘‘’‹‚€€€€‚…ˆŠˆ†ƒ€€€~ˆ‰‰‰ŠŠŠˆ††‡‰Š‹Š‰‰‰‰ŠŠ‰Œ‰††ˆ‰ˆ‰ˆ‡ˆ‹‹…‚€€‚‚‚€€„‡‡ˆ‡ƒ€€€„ˆ‰ŠŠ‰ŠŠ‡††‡‰Š‹Š‰‰‰‰Šˆ‰ƒ}|ƒ„„‰Šˆˆ‰ˆˆ‡…ƒ‚‚‚ƒ„‚‚‚€ƒ‡‡‡‡„‚€€€€†ˆŠŠ‰Š‹Šˆ††ˆŠŠ‰‰‰ˆˆˆ‡††ƒƒ…†„„ˆ‰ƒƒŠ‡‡‰‰‡„ƒƒ‚‚ƒƒ€€€€ƒ†‰ˆ‡†‚}„ˆ‰‰Š‹‹Šˆ††ˆ‰‰‰‰‰ˆˆ††‹ˆ…‰‹Š‰‰‰€~ˆ†…‰Š‰ˆ…ƒ‚‚‚€…‡‡‡‡†ƒ||‡‰‰Š‹‹‹‹ˆ†‡ˆ‰ˆ‰ŠŠˆ††Š…~…ŠŠŠŠˆ€~ˆ‰…‰Š‰‰‰‡„€‚€€‚„‡ˆ‰ˆ}}~ƒˆ‰Š‹‹‹‹Š‡†‡‡ˆ‰ŠŠ‡…‡‰†‚†‰Š‰Š‡~~ˆ‹…‡Šˆˆ‰‰‰‡ƒ‚ƒƒƒ‚€€„†ˆ|}}…ˆ‰Š‹‹Š‹Š‡‡‡ˆˆˆˆ†„„…†††‡†††„†Š‡‡†…„‰‰‰‰ˆ„€ƒƒƒƒƒ‚‚€€€€€‚…v|†‰‰Š‹‹ŠŠŠ‡††‡†…†‰‰‡ˆˆˆ‡‡‡‡ˆˆˆŠŒ……‡‰ˆ‰‰‰‡…ƒ‚ƒ‚ƒ‚€€€€pz€}}‚ˆ‰‰Š‹ŠŠ‹‰††ˆˆ†ˆ‘ŽŒ‹‹‹‹‹ŒŒŽ‘‡†ˆˆ‰‰‰‰‰ˆˆ…‚‚‚ƒƒ‚€€€hl{}{„‰‰Š‹‹‹‹‹ˆ††‡‡‹Ž‹ŠŠŠŠŠ‰Š‹Š‹‹Š‹ˆ‡†‡ˆ‰‰‰ˆ‰ˆ…ƒ€‚‚‚‚‚€jhp|}~†‰ŠŠ‹‹‹Œ‹ˆ†‡‡‰„ˆ‰‰‰‰‡†‡ˆ‰‰Š†|ƒŠˆˆ……‡‰ˆˆ‰‰‰ˆ†ƒ€€€‚ƒƒ‚kjjv€~}‰ŠŠ‹‹‹‹Œ‰‡†…ˆ…~‚‡‡‡‡†‡‡††‡†‚ƒ‡‡ˆˆ‡ˆˆ‰ˆ‰‰‰‰‰‡„‚€€€‚„……nmms€}}…‰ŠŠŠŠ‹‹‹ˆ…„„…‚‚ƒ‚ƒ„‡†‚‚„„†‰‰ˆˆ‡ˆˆˆ‰‰ˆˆ‰†ƒ‚€€€‚†‡†oliny€~}€‡‹ŠŠ‹Š‹‹Š‡…„…„ƒƒƒ‚„„…„‚ƒ………†ƒ†‰‰ˆˆ…„ˆˆ‰‰ˆˆˆˆ‡…‚€…ˆ‡ijhhkz}}ƒ‰ŠŠ‹‹‹‹‹Š…ƒ…†‡†‡…„„ƒ……ˆ‰‡†…ƒ‡‰‰‰‰ˆ‡‡‰‰‰‰‰‰ˆ‰ˆ†‚€€ƒ…‡nniges~|~…ŠŠ‹‹‹‹ŒŒ†‚„†‡†‡„€€€‚†‡‡…ƒƒˆ‰ˆ‰‰Š‰‰ˆˆ‰‰‰‰‰‰ˆˆ†ƒ€‚ƒljggfk{‚}€‡Š‹‹‹‹ŒŒ‡ƒ„„„…‚ƒ€ƒ„„‚ƒƒˆ‰‰‰‰ŠŠ‰†ƒ‡‰ˆˆˆˆˆ‰ˆ†ƒ€fgggghq~€}|‚Š‹‹‹‹‹Œˆ€‚€‚‚ƒ€‚„…†‡Š‹Š‹‹‹‹‹Š‡‡‰ˆˆˆˆˆ‰ˆˆ‡ƒ€€hhgfegfu‚€}ˆŠ‹‹‹‹Œ‰ƒ‚‚‚‚ˆ‘“””•••••••’Šˆ‰‰‰‰‰‰ˆˆˆ‡ƒ€ihgdghgs€…Š‹Œ‹‹ŒŠ‚‚‚ƒ‚‚‚‚ƒƒƒƒ„ƒ‡–——•““““““’’’‡…‡‰‰‰‰ˆˆ‰‰‡ƒihfehihn|}ˆŒŒ‹‹ŽŒ‚‚ƒƒ‚‚‚‚‚‚ƒ„„ŠŒ‡…„ƒƒˆŠŠƒ‚‚‹‰ƒƒˆ‰‰‰‰‰‰‰‰†ƒjjjihhhjt}ƒ‹Œ‹‹‹Š‚‚„„‚‚‚‚‚‚ƒ„…Š‡|yyw€‹Š‹}yzy}‰Œˆ†ˆ‰‰‰‰‰‰‰ˆ‰‡jjihnkhjq~‚}‡‹ŠŠ‰‡ƒ‚€‚‚†‹‡||{…ŒŠŒ€z}‚ˆ‹Šˆˆ‰‰‰‰‰‰‰‰‰ˆknmnppmpt|~}}‚‰Š‰ˆ‡„„ƒ‚‚‚‚‡Š†‰ŠŠ‰Š‹ŠŒŠ‡ˆ‰Š‰‰‰‰ˆˆ‰‰‰‰‰‰‰‰ˆzzzzzzzzzz{{zzz{zzzzzyyzyyzz{„„ƒ„…††ˆ‡‡††ˆ‡ˆˆ†††††………‡‡„ƒ‚‚‚‚yzzzzzzzzzzzyyyzyyyyyyyzyyyy{‚ƒƒƒ‚„…†‡†……†ˆ‡††…„……………†††„‚yzyzzzzzzzzyyyyyyyyyzzyyzzzyz~‚ƒ„„ƒ„„……„„…†‡†„ƒ„„„ƒ…†‡‡†…ƒ‚‚€zyyzzzzzzzzyzyyyyyyz{{z{{|zzz}€ƒ…„„„……„„…†‡‡…„„ƒƒ„„…ˆˆˆ‡…‚‚‚‚€€y||zzzzzzzyyyyyyyyyy{|{}}}||}€‚ƒ„„„……………‡ˆ‡………„ƒ„…‡‡‡†…„‚‚€€|‚~|}}|zzzyzzzzyzz{}}~~}‚ƒ‚‚ƒ„„„……‡††‡‡…………„„……‡‡††„ƒ‚‚‚€€€}|{zzzz|zzz{|}€€€€‚„…ƒƒƒ„…„„„„…‡‡‡……†……„„……††††„ƒ‚‚‚‚{{z{{~}}zzzyz}{{}€‚ƒ‚€‚ƒ……„…„„……„ƒ„…†‡†„………„………†††……„ƒ‚z~ttu~}}}|{|ƒ…††……ƒƒ„‚ƒ…‡‡…†…„„…„ƒ„…†………„„„„„……†††…„ƒ‚‚‚ƒxzzz‚~}€€€€€†‰‡‡…ƒƒ„„…‡‡†††…„„…………†„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚xzyyz|zy„€||yx{|‡‡‡†„ƒ……†‡‡†…††…………†……†…‡„ƒƒƒƒƒ……†‰‡…‚‚‚‚|yyzzy{z}}~|{}}~„†‡††…†ˆ‡‡ˆˆ†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ†€~††‚€‚†††††‡ˆˆˆˆˆ†…„„„…„„††‡††„„„„„†‡ˆ‡ƒ‚‚‚„†ˆ…ƒ„„ƒˆŠ†€€€€‚‚€‚‡†‡ˆ‡‰ˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„„…‡ˆˆ‡ƒ€‚‚‚‚„†…„‚‚‚‡†‚€‚ƒ„„‚€‚††‡ˆ‡‡‰ˆ‡‡†…„…„„„††‡ˆˆ‡„„ƒ‚ƒ…†ˆ‡†ƒƒ„ƒ€‚……ƒ…†…‡‡‡„‚‚‚‚€ƒ†‡‡‡‡†ˆˆ‰‡††„…„ƒ„†‡†‡††„„„„……‰‰…‚€‚ƒƒ‚„ƒ‚ƒ„„„„ƒ‚‚ƒ‚…†…‚ƒ„†‡ˆˆ‰‡ˆ‡ˆ‡†…………ƒ„…‡†‡‡…ƒƒƒƒ‚‚‚~|||~~€ƒ‚€‚ƒƒƒƒƒƒƒ€„…„‡‡‡„……‡ˆˆ‡‡ˆ‡‡†……„ƒƒ„ƒƒ†‰†††}}}z{zzzz{{|~~~€|~€‚€€€~‚‚‚ƒƒƒƒ„‚ƒƒƒ………„ƒƒƒ‚€€‚……„……€€~~~€€€€€~€~~}~~}}}|}}~~€€~}}~€€‚€€€€€€€€€‚Š…ƒƒ‚‚‚‚€€€|~~~~}}}}|{|||~€}}}€€€€‚„Š…‚€€€€€€€€|||~}}}}}|||{|}}€}}~€€€€~~ƒƒ‚ƒ‚€€€€€€}|||}~€~~}~}}}||||}}}~||}{{||~€€~~€‚ƒ‚ˆˆ}}}||}€€~}}}~}}||}|}}{{{{{~‚}|{{{~‚‚‚‚€€~~€‚††‚‚~}||}}€€~}}~~~~~}|}}|}}}~‚…~~~}}‚‚‚‚‚~~‚‚‚‚‚„}}}|}~€~}}~~~~|~|{zz||{xy||||~€‚‚‚‚‚‚‚‚€~}‚ƒƒ†ƒƒ€~}}}}~€~~~~}~~~~}|}|{y{|yz€|{~~~€€‚‚‚ƒ‚‚€~}}‚„ƒƒ~}}}}~€~}}}}~~~}|€„{wxyy}‚~|}}}~~€€‚‚‚‚‚‚‚€~~€†„‚€~}|||}~~~~}~~~|{€‡~yzzy{ƒ†~{|~}}}}~€‚‚‚‚‚‚‚‚€|}~’‰‚€~}}||}~€~~~}~~~{z~|yz{{|‡ˆ|z}}~~}}~~‚‚‚‚‚‚}ƒ„ƒ‚€}|}}}}€~~~~|}}~|{|}}~„…}{}~€€~}}}~€‚‚€€€€€‚‚‚‚€„„ƒƒ‚~}}}}}~€€~~~~~~}|{|€€~~}}~~~€€‚‚‚‚‚‚‚‚‚‚~~}}}}}~€€~€~||}|}|}}~}}}|||zz~~~~}}}~}~€‚‚‚{|Œ‚‚~}}}}}}€€~~{}|}|}}}}}}}}}||€}~~~}}}}€‚‚‚‚}{~‰ˆƒƒ~~}}}|~€|ƒ‚~}~~~~~~€ˆ~~~}}~~~€‚‚‚‚‚‚||€‚ƒƒƒ€~~~}}}}~€„…€ƒ€€ƒ…‚€~€€~~~~~~€‚‚€€€€~ƒƒ‚‚ƒ~}}}|}}~€€€ƒƒƒ†ƒ€€‚€ƒƒ‚€}€€€~~~~}~}€‚€€€€ƒ€|‚‚ƒ‚~}}}||}}€€ƒƒ„‚‚…ƒ€€€ƒƒ€~}~~~~~~~}~~€‚€€y||€‚‚~~}}}}}~€€€€€€ƒ‚~~€€€€~}}}~~€~~~~~}~~€€‚‚€~yyy„•ˆ‚€~}}~~~~}€~}}‚€€€}€€~}}~~~~~~}}~‚€~ywx}„‹…‚~}}}~~~~€€€€€€…†‡‡‰‰†€~}€€€€€~~~}}}~€‚‚€~zxxy‚‚‚‚}|}}}}~€€‚ƒƒ‚…ˆ‰‰‰‡†…‚€€€~|||}}}}}~€~~}}}}~‚‚‚~zxwwy€ƒ‚‚‚}|}}}|~€‚‚‚‚ƒ…†…„ƒ‚ƒ|ywvvuuvvuuvuy~~~~~}}}~€‚‚~ywyzz~ƒ‚‚‚}}}}}|}€€€€€€ƒ‚}xwwxxy{||||{{z}€~~~}}}}~‚~{x{|{~‚‚‚‚~}}}|z|€€€€€€€€€€€€€€{z}}}~‚€~~~{~~~}~~~}}~€€}{{}~~€‚‚‚~}}||~€€€€€€€€€€€{||~}}}xxz}}}~}z|€~}}}}~~}~ƒ~€„„‚‚‚„ƒ‚~~€‚‚‚ƒ‚~}}}~|xyx|{|}~~~~~~~~~~~~ˆˆ‡ˆ††„…†ƒ‚šŽ~~~€‚‚‚‚‚‚}}|}~{xtw{~‚€|{|}}~~~~~~~}~ÑÑÑÐÐÑÑÒÑÑÑÐÏÏÏÌÆÉÅÎÏÏÐÑÑÑÑÑÑÏÏÏÏÏÏÏÏÏÏÏÍÎÎÍÍÍÍÍÍÎÏÏÏÏÎÍÈ¿¶±§£–ƒtjnymlkmoueidX`c^^g_U\a`aWRPU\Zaf`eTVWXVWTT\VRX`a]YUME=9<<632@3ÐÐÐÐÐÐÐÑÐÐÐÏÏÏÎÊÅÈÄÌÏÏÏÐÐÐÐÐÐÏÏÏÎÎÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÎÎÎÎÏÏȸ ¨›y„|‚va`bs}p^`plh\Z[\`[YWQ_ha]SQQRZY^hihQW^b[RPLSSZac]XPOK@A76642077ÐÐÐÏÏÐÐÐÐÏÏÏÏÎÍÉÃÆÂÊÍÎÎÎÎÏÏÏÏÏÏÏÍÍÍÍÍÌÌÌÍÍÍÎÎÍÍÍÍÍÎÎÎÎÏÏͤŒ‹rppqnoprw{bccfe\\[\]]TUW^e\[[XVSWUW^ieSSY\UNPORS_ebc\QGB@<952330.2ÏÏÏÏÏÏÏÏÏÎÎÍÎÍÍËÃÆÃÌÍÌÌÍÌÍÍÌÍÌÌÌËÊËËÌËËËÌÌÍÎÎÎÎÎÎÎÏÏÏÏÎÎÎη™”|nux|x‚€ggc`i[bgf\\XW`[TZfgTRUXYTPNWP\jRQUY[QMSPQ[c`bWUUOH?<85331..ÏÏÏÏÎÎÎÎÎÎÎÎÎÎÏËÂÃÃÎÏÏÏÏÏÎÎÍÍÍÍÍËËÌËÊÊÊÉÊËÌÌÌÌËÌËÉËÌÍÍÍÌÌ;”‚‡vcn~ndh`bcYke[YUUO]bacqp\ROV^VNJURS[T\]ZWOQRV[`XXZRPZQJ>@A<520-+ÍÍÍÎÎÎÎÎÎÏÏÏÏÏÐɼ½¾ÎÐÐÏÏÐÏÏÏÏÏÏÏÏÎÏÎÎÎÍÍÍÌÌÍÍÎÍÍËÆÉÌÍÍÌËÉÇŤ‹|}rh`mrpe_c`Z^aWR]TTR\hgiifjXRWZTRTUSSXS\_cWUVRZ\_ZYUTORPI>@>5561.3ÍÍÎÏÎÏÏÏÏÏÏÏÏÏÐǽƿËÐÐÏÏÐÐÏÏÏÏÏÏÏÏÏÍÍÍÎÎÎÌÍÎÎÎÎÍÊÆÊÌÍÎÏÍÉÅÄ´›{~sgXUea]`ba_b`YUSLOW[acgk`^UQPPPKUSUQ`MVV[[X[[a]^YSRUPRLFC>@;431/3ÎÎÐÐÏÏÏÏÏÏÏÏÏÏÏÆÁÍÂÉÏÏÎÎÏÎÎÎÎÏÏÏÏÏÏÍÍÍÎÎÎËËËÌËÈÆÅÂÈÇÊÍÎÌÅÀ¿¯‚|tWTQSOWZnrhbd\ZODAPYT^cc^XUSLNLILIRMZPSVVXX\]\]aZTPUOYPCGA>?40/--ÎÎÏÎÎÏÏÎÏÏÎÎÎÎÏÆÃÍÂÆÎÎÎÎÎÎÎÎÎÏÏÏÎÎÎÎÍÎÏÍÍÊÈÈÊÄÁ½Ã¾ÃÁÆËËǽ±¨«vt_WWZZjj`qhhbWWSRUUfVO\]UNWZTMJGOQS[ZSQZ\VTZZWPVZURXQYYA66220/.--ÎÎÒ×ÕÏÌÍÍÍÌÌÌÌÌÃÂÊÂÅÎÎÎÎÎÎÎÏÎÎÎÎÎÎÎÏÏÏÏÍÆÃÃÁľ¼°ÀºÀ·ÁÈ¿µ¥‹Š€qŠ}g]a\^fnXo_W_UPUVa_XPPSZSPTVZOMMVTT]j^PXYWWVV[SRZYZ^^MD>8540..---ÐÛêïìâÒËËÇÃÃÅÇÊÃÁÈÂÃÌÍÎÍÌÍÍÏÎÎÎÍÍÍÍÎÎÎÏÎÆý¶½º³¤¼¶Àµ¸Â·¾µ™†|{niecedV\e^Ve]U[^QTTX]VVSOPPLMNU\WQUQSSe[O[[XSNPZXZUXRNJ@8>=;71.----ÞîÜÃÑíéÎļ·´º½ÃÃÅÊÆÅÌÍÌÌÌËËÌÍÌÌÌÌÌÌËËÉÈÈÄ·°ª¯³© ­°»°µ»¯¬¡ƒvyvmjS`g\ZeZR\i`Z`[LQSU_bcUQNMLOSMVXLOUPT^^\c^VPLPZWYWPQXJBC><;951/.-,çߧ“¡ÊÛƺ¶³³¸ºÁÃÈÍÊÆÍÎÎÏÎÍËÉÌÍÌÍËÊÊÈÅÄÁÀ´£žœ¤§œš¢¯°¬¯ª¦™‚tnmimo_XZVaaWX_^]bXRXTTUWaZRTQNSWSTUXRQXQT[aY`Y\\W_`TUZXUR@?H<86776200.Ÿ„‚}~{~~€…¢ÄÇÌÉÄËÎÎÏÎÌÈÄÊÍÍÍÌÈÆÀ··¶º­ —œ™•£´¯«¢š“xkfgVibSMGPX`YTR`jabra`b_UYOQQPQSXSVRUZS]PQ_`_i\e`libTQOMKK@>@8866554/12u„”•’gW[Um‘„y©ÆÈÇÁÊÎÎÍÌË»ÈÌËÊÇ¿°¥Ÿž¥§ž˜Š•œ”’Ÿ±¯ž““‘„vefjZ`VPSQR[a`]kp`SXeOXsq]ROKNNLHJMOPNNRZU[`VTZZbi_^ZQJNIFECHA8655344024–²­±¿œgQu¸ÖâÛÉŽ‚ÂÈÇ»ÄËËËËÈ¿¶ÆÌË·ªžŸ–š˜‹‘„—•‹‘–Ÿ‘‹‹‹„€xvqcZVZ]YPZ^WU^j^SQ`ihca^URMKJHIGGFHOMS_]Y]WQ^kihV`VOUTKJA@A9854324438=q`HWž¤„lz¾ÑÖÒ¾zp°Ç¾®´º¶º¹Ç¾±Ãɾ±¤¡›œ¢––†‚…‹Œƒ‹ŒŽ†„‚†‚€zxpcXWUU^ZVZVT[iSRQ`igTS\YTNMNKLJFKJJRV]dT[SRntehac_U`ZWVH<;;97443364;B{`€„œ¤~¡«qSZVOo’µ¥£¢£¨«·ÇÆÂÈÍÄ»¯ªŸ› •–†„…‚‚‡z…‹‰…‚~€vrqkeYQ\j\RWSV`[O[]`bZSSSTSMLQSMPTRGCLPVbRRN`cdb\fl\SS^ZFSE<;<9555499;>~ªÁ§y46”NEKR=fuŸš Ÿ±ÔÚÙÕÓÒÒÑÒÖ×ØÈœ˜’‰ˆ„ƒƒ{Š‡‚€|~{zrkjf[XZSZ_ZU]\`[V\\]_\VQKXVNMPLCEGFA?GIJSLTT[^c[dq^`Q[`[JFCA>=956669=?=e\b}lO96GUT†rC8Ug¢sv¨³Žymd`a_`_bgs…’‰ŒŠ†ƒƒ‚{‡~xzxttomhZ^dceZRTZX^^cZU]UZ`]WSLOLOJCDFA@GHEBRIWY\Ybcc]SeeWXYTMIFG;75668<>GFPA>;@J?>@Q[ndJ@EK¦xS¹š@DGILaOJMLLH@›ƒ‘‹ŽŒ…„ƒ…}‚{zwsuupjdX^fb\RVPR_geeYPTTk^eZOSSPJIDITKCKMNFQR^`[O\ffeVbfXOX`TFBB=;8768ZŸ˜Š‰€‡‹…€‹ƒ{~zwwxzucWR\Z]X[YP[\_ahhjosmS^_VOSQGFFQXRRPQRJKW[_[NO_\a``jiW`VB::==<:;9:>>>;f`^^]^^]\[[[]]aektÃíÃXYEB:;GHL?78;:?”¡¹Ÿ‡„Š}„Š‹ˆ‰ƒ~zxx|wwq_X_aUZVVZcZPOat„vf\_gTVNLSSNNJC@NVSTWUP_fff\T[[_]U^YVWH<99;<78::9>==?>>_eONNMNOOOOOOX}eŽ’Ì¿¨¦©­°°±±±°¯¯ª¦¦´ÇÙ¦zz‡†€z}€xtwyzvqmj^UNLZY^UUZ^]ZJZa[^Y[bYLNTPOJMPPRUWYX]of\\][X[YSXOPNA874`}98988;BFDFÐÙmW`cf“Žfd^V‘îÑíÑb«ÕÖÔÕ×ØÚÚÛÛÚÙØÖÔÑÙ½‚|€}~~„€€~yzrpyz}tjceUTVFBPYXW[\OKKWZ]^V\g`TNMKMPOPKIKNXY[`c\`ZWTXOKOJB=9886XŠ@889<?>=DIB?M]mk^NRhSHA;;:7;;99>8zÞ^3>DSSJV__nŽnSWZLB;677<@BA>A=~ìm7@9;DJOYcUYHkzwsqqusFZ…UCHWïìììììíîîíîíìëììëð»tr}{|~}xv‚‡€txxshgkt|iXWWTRSOUZQQ\^]Y\e`[OSTPIFLPJ=>NVPhojyŽj]_SJC>:;@GMIB=@:‚õx:>5IV\TYbgqf\Z\bfimompf\hyxqmfklX‹ô‰WTZwwsvmh7=EJIHHPOLIFHI?3466dÛØÂ¥ÂñÀ˜––“§éÜ¥´Ñ߉x‚‚~w}~vz}xzqe[bieacbVX\[USQPNU]ZU[[TNRZWSUXYq‚zdmyo]UY^_bejho†ƒƒˆ|†ŠŠŒ™º–’Šƒ}uvsimpokiigddcdfhpsH*27K³àÚÖÚÚÕÖÛÝÕÒÐÏÐÕàËl{~€ƒxx€xsx|~rxofb`ic^d`Z[WWSS[\QPZXNLOS[[Z\fy„‡‰fdtnURZ]]]_hlmv‚€€yw}Š”“‘Ž‰‹ƒ€puqnqjvuvvwxzzz{}€~Q)06Xl{‚“˜Š‡›¨¡…ngnqqtic|xw|vv~vuzwxstonoknmotqoplp{Š”ˆŒ†„®—~…€}€nbnpcV\``^\ajilvjhehfw…‚‡‰†‡‡|uekrnkhUTVWY]abaabccci\NPX|‚€~}‚‰–“†ƒwxy{|yxvussrsuusrrpoonnnqsuxy{{{xwvxyyz{‚ˆ‘›¬¸µª–‡{smonmnmjgc^]^\\b`YZ^__djmhifdfstmspjclypuyonlllosuuuuttssvz|~€€~~}{yxwŽŸ sqsvxxxxxutrqrrtttroljjjjklnrtvwxvuuusrtsrqu|…‘ ®²°¦œ~shggfca]ZW[YXWYZY\ZZZ\ZXYZZXWWYR^^gv|upmmlkmoprssqqpooqty{|}}~}}}|{xvt|†|‰¤—wnpsuvwwutspopppppnmljhgfggjloptvvwvvsqopppnoqv€Ž ´À»¤‰ulijjhd`_]XVTUVUTVYadVWY\WYXUTUYV[{wrnkjjklnpqppppoopqsvxyz{{{zzzxwvrq••†„uqqstuvwusrpmlklmmlkigfcdeefimpsuwwwvtpnmnpqqqnp˜±¿¿°šƒskjlgdccZV[VVUVZZUUW]UWWZYXXUUzywtoljijkmopqppqsrsssstvwxxyzzyzywurom¦£|mnorstuvvwwvrljmlmmnmkjiffeddfikosvwyywvspmlnqrqpouƒ›µÆÁ¦ˆtijlkkgfca]ZVUUUSUUWV[YWZYZxxwwurmighilnoooopqrrrqqqsuvwxyyxxxvsrqooow¦´•onopqrtuuvrkmjiklmnnmigedb```bglpsuuwxwurliimpqpljm~¡ÄͲˆrkjllkkigc_\XVTSSVUVZVYYXwxwwvvsojggijklmmmnoppqpnoprtuwxwwxvtsrqqqs‰“Šljloqrrsttlqrmkjjjnpnljfddcbbachloqsuvwwwtniilnpqqnkx”²Å¿£†rllmlkiifb^[VTTRW]TVVUuvwxwwvtpkgffhjkkklmnooonmmnpqtuuwxwvutrqrrmmo~ª¶Žnnonnopkpqomkjhiikmnmidccba``bejmprtuvwwuqmiiloponjlzš¼ÌÀ¡‚rmlmmjgffcc`\XUVUTTqtuvwuutrnieccdfghijlmnnnmlkmnoprttuvuttrqqqqos™…mosw{~ƒ‚Š‹ŠŒŒ‹ˆƒzupmlnkfecaab`^`dhlpqstuuuurmggjknnmjhl†±Íί‡rrnljiiihggeb^WUXmoqrttuusrnidbabcdehjklmmmlkijkmooqstuttsttrpoy€‹š¤©¬±²´´±±²°°°¯¯²³°©£›yoomjecddca__ejmoprtuuvurjeehklmlifh±Ðϱ‹smnmkigghhggc_^klorsuuuusrokfbbbbcehijkkmlllkjllmpsstuttttsvŸ«©¬«¦šŠ‚|xrkjjjiikpx~…†‹loppnkhffheaabgjloqrsuvvtqkfeimnmmkgk‚©ÊжŽunnnljihgggfcikmpsuuuuutrokgecccdegikkllmmmljjlnpqrtttttqŠ­‡yqh`ZURV]ax¡¦‚kcYTRQROOLkthloqpmjhghhebacfjmnprtuuutrlgejlnnomgg{ŸÃмš|nmnmkjhhggdhkmprttuuusrpmiebccdfiklkllmnmljjklmoqtuttr‹‚OJJLOQWXRVVf{v]MHSnmliaT@Djgdfjlnnlgeeddca`beimoqstuuvuslhgilnonkihq‰®ËÊ®‘vnmnljjj_cgjloqrrssssqnlgbabbbdgjjjkllmlmjiiklnprsss‹UAV^kvƒ‹ƒC671-,5;:IdeffdhZ>Okgecdgjkjhebabb_^^`dgjmopqstssplgfikllmnmhi|Ÿ¾ÍéŽxqqom€\cgjmopqrrssrpokfb`aabdgijjkkllmlihhikmoqq|…?Iu‘š¡©­ª}lU>68AIHE@>@>66EX@fmkgdbcfikifb``_^]]]^_beilnppqqpokhedhjklljgfk|¢ÌÕÄ›vkmÂu]ejjmopquvttrrokfcbaabegijkjihijkjgfhjlnnˆmATz¶¶·ºº¶²«®Švy‰ZD<33;A:45fQSpmkgdbacgggeba_^^^]\\\^adgjkmmmnnmjc`dfhjjjjhedz§Î×Á”p̾p_fhjlmorstsssqnjfca`abeghihiikklkihfhjlmQ^OO¨®¥š†zv½³{´uC36NZQ<42XtCkmmmjga`cfhggdba``b`^]\^`cgjlnpqqqpnhbbehikllljgg~§ËÕ¼¿Ñ²_]dgikmnputrsrpnjfca``ceeghijkkllkkhfghq‰D{C2CE@94@DFWagfjxP.>fzbM44@‡K`mmmmkgdbcfhkjhecbccdc`^^aejlnpqrssqqojedfjlmmkkjefyŸÉ±ÄП\`dfikmnqrrrrqpnkfbaacdeghhijjklnoolhf{zM‚6247888DHIGGHGFJB@95447DHENHXayU34,IœPbmmmmnmllkhdccfjljifca_^``^^^_bgjmprsssrrrohccejllmmlY}µÀа_]egjllnpqrrqqqomiecbaabceeffijjlnmk†K’S4?9d‰‘›S;312238>8EL{—›a452;–jUmmmmmlkllljgdbdhjjjiea_```_^]]`ehkmnprrrttsniddfjkllZ_†»ÄÑš[behjkmnpqqqqponlhdbaaabcdefhhjlmml|O˜GBMBcœ¡¦^KD412321078m¢–U9222|ŒIklmnmmkllmlkiebbehjkjgda__^^^]]^_bfiloqrssrrrpibcfhkRJS”½Å̇Y`dhjklnopqpoonmkfcb`abcddeehijlilm`•FLMKJp|kPJJB=>=<98:Nt›ŠJ@:60e¨Kfkga`gkjklllkjfcabeijkjgb_^^___]]]^bfknoqrqqrsqnhccf^SL\¢½ÆÅuV_bfhjlnnooppomljfda`acddeehjilmkYuIQZI‰škEGFFFGGGEDF|—¡sG??>0]¬G\lC::?dkjjkllkigdaabgjjihd`_^^_^]\[[_dilnopqrrrrrnhbgZPJg®¾Ì»i\aegikmmoopqpoomjgc``abcde]HCE„uGvNzElVFEIMW\^]OTQS\bz~VF<791IZ3KO9?<2_jiikklkjjifb`adgjkkhc`^]^__^\[^behlnnopqstsrmlbQMKy¹ÀЫ`^cfijkmnnoqqpomljea```bceF6>8jhBHRCZU6?BB@HSXSOLHC:<<8O]SPSE5667A<4202@fhhhjklkklkigebachklmlhd`^^`ab`]\]agjlmoprstssnqcRLO½ÂÒ–Zadgiklmnopqqnmmkgc`__`bdB/664:4333345546864787;:9:=BO;.:NUdhgghjjkkkkkkjifb`bgilmlkgb_]_bba_[[^diklnopqrrknw^OK[¤¿ÊË}[cfhjklmnoqqonnljfb`^^acZC:41.O[=<98887766677666667777777888:;>J;Fcjhfggghhhijjjjijkifb_adhklmkhd`^__`a`^[\`fiknoqqqsrngYQKj±ÃÏÄp^egjklmnnoppponljea_^_acfev‹CGY;;998677666776775566666677899:8=RPQ\js…’¶É¨™…oaZZUPJC?:52102akiihhhgggfdeedddeefffffghgfghgfcca]]bgijkjgc_]\\poofjmpuspkSKLL„¿ÁÓÇmaggijkmmmnnnnonmjhC-002358=AIR`o±ÁÉÑáêàØ×ÐÉžk\NHEB=720.3ekjjhhhgghhgfedddeeffgggghhgghhgfec`]]bgjklkida^]mfekglsurtu_LL]l¢¿ÅجcegiklmmmnnoopoomjJ+-/467:>AIO[vˆâíìîîíëíîîï𛉅vl^MA82//5hllkhiihhgggffc`abadfghgghhhiihhhgec`^^aejlmmjic`gnkippmnqvrmTJOPb¯ÀËÕ`ehijlllmmnoooonlQ+-/027>DO]qˆ»’Úããìëëëëììí뉰š‡u_J?81/.9klmkhiihhgggffcŽ¾À¤fdffffhghiihhhhgfda]]`fjmnolhdzutrwsmmonjlfMJKK{¾¿ÏËt^effiikkkmnnoonnV,,0.05;?IXk§™Úóðòóóòòòññèz†pbTLS>93/-=mlklegjiihhgggezÎæàœaeefgggghhhgfgggedb^]bgknomljy€rmlmjlnqjcOJNMPœÀÄÖ­^adfghikklmmmnooX../.157Q[B@DMJš¾±§—‰„€wh800.8—Ú}I>/.@mmkldekjihhggggfryspdeefffffhggggggggeda^]agjmmnmrwtwunqjpqpnleYNLIk¼¿ËÔ}YbdfgijkkllmmnoY/2/.6FYÈÓe85:MQ?CEKLONQTV[\mut~Çö¦F6.-Dlkijdbgffedddddcbb``kjdffeeghggggfffffda`_]_dilnnowvxworkknmnqujQKLR¡ÅÆظdbfiijkkkkllmloY/8//1@mé×—}‡“¬­œ¢§®´»¼¼º·¯£Ÿ‹mg„žd0**.Mrvx}{|‰ŠŠŠŠˆ†…€}zsjm‘}egfeefffffeeeedddcba^[^dimnmwqpnlnnjlloopjSKKJqÁÆÏ׉^dfhijjkklllloZ.<..-5E~‚hINV\[XYXZ]][YUMC>::8?MHNcw‡—¥­¯²´±±µ´´´´³´´²±±¯ c_deddeffffffffeeeeedca][^ejlnlnwsomoppikmkjVKMMPÇÇÔ»a^beghiiklllloZ,>/.,/13@G;:@F;67752///257:<=>C†¡©µ±­ª¤ œ™˜•”‘‹ŒŒŽ’Ÿƒ``bbaeffffgffghffeeedc`]\_ejlnruoooqtsnjnnhTMLMJl¾ÇÎÖŠ^efijjjkkkkljT*>.,+-1258>@AABFGILX„eQNJGC>9=‡¶”‰ƒ}zwuroommllkjkkkkjkkm‡t ¼¾”bffffeefggffeeeedca^\^eomnpuwvtvnmppmrfQJLKP›ÊÊÔ¾icfjlljjkkkd[I)>1-++.//0133366567:F941.-,,(Q³ljieaaa`_\[Z[\Z\__^_`__^^_[ex˜èðç”bddeddeffeeceeeecb`^\`lrwvqutoqmmliktdLLLLLi½ÉÍÖ–_ehjjjjkjgZUI(<6//6++,+*)))))*)))(*****++2–¥kU_cgimnsx€‰•¯º š–‘‹…‚€€ywupšº¸¥eaabccdeeddccdeddcb`]\tywqlmoqpkkmxuvh_YLLNPÊÈÒÊrcgijkhdcaZVJ';733VM?93110+*+++*+++,14:A@^¸‹jc~ˆ‡‡~€‚€d_eNHg‡Š‘ŽŽŒ‡|zRub_[_b`abccddcdddcceddcba`]kkmidaells{yuwojpfRLNSa·ÈÈצcfhjkhgghcWL-:5704HB>:453,*+**++-.165673v¦uY~£«·¾ÄÇ͉N<::>W»àÞÝØ×ÜÚÛ‘zRcj`aabbcddcddcccdccdddccbb_qomnlvqukwtwvv~~m]SLKNM„ÉÃÑÓƒbfggehgecZH3:3431-)(('(''''&&%&%%%$$$".…–\]„Æßßààßààá‚^gZZSO¯æßáÜÓØÝã—`pMmcbbcdeccdeedcccbbcddddcb`ˆ~„{y}zllq{zz|th]RLKMLV©ÈÈظdbccceeca^S?4.///$$#$$$$%$%%%%&&'''))%D‘NllÑßÜÜÜÜÝÝÛu^caiPM¤åßÞ×ÓØàå”A€Lfgbbcbbcbddddddcbbcccccccb‹v€zvtknvpljpjcdbVLLL_fƒ¿ÃÌØŒ^abcccc`]YN>77776887889;;;;<=<<==>@?<`œJtNËäßßáááàÉdRPRTQO‹ææéæâÛɺo3q_Vdbbbabdddedddddbccccbbcddƒ€{yzurudahr|sknhZMLLYa]žÂÂ׿e_acbccb^[UOKIIGGHJJJJKKMMLNNNOOOONOOp¢nOr?o€€ƒ‡Œ•yUVSuwRS_¢ª“€kYF=D@A<520-+ÎÎÎÏÏÏÏÏÏÐÐÏÏÐÑ˽½¾ÎÐÐÐÐÐÐÏÏÏÏÏÏÏÎÏÏÏÎÎÎÍÌÌÍÍÎÍÍËÆÉÌÍÍÌËÉÇŤ‹|}rh`mrpe_c`Z^aXR]TTR\hgiifjXRWZTRTUSSXS\_cWUVRZ\_ZYUTORPI>@>5561.3ÎÎÏÐÏÏÏÏÏÐÐÐÐÐÑȽƿËÐÐÏÏÐÐÏÏÏÏÏÏÏÏÏÏÏÎÎÎÎÌÍÎÎÎÍÍÊÆÊÌÍÎÏÍÉÅÄ´›{~sgXUea]`ba_daYVSLOW[acgk`^UQPPPKUSUR`MVV[[X[[a]^YSRUPRLFC>@;431/3ÏÐÑÑÐÐÏÏÐÐÐÐÐÐÑÈÂÍÂÉÏÏÎÎÏÎÎÎÎÏÏÏÏÏÐÏÏÏÏÏÎÌËÌÍÌÈÆÅÂÉÈÊÍÎÌÅÀ¿¯|tWTQSOWZnrhde\ZODAPYT^cc^XUSLNLILIRN[PSVVXX\]\]aZTPUOYPCGA>?40/--ÏÏÐÏÎÏÏÎÏÏÏÏÏÏÏÇÃÍÂÆÎÎÎÎÎÎÎÎÎÏÏÏÏÏÐÏÏÐÐÎÍÊÉÈËżþÃÁÇËËǾ±¨«vt`WWZZjj`qhibWWSSUUgVP\]UNWZTMJGOQS[ZSQZ\VTZZWPVZURXQYYA66220/.--ÎÎÓ×ÕÐÌÍÍÍÌÌÌÌÌÃÂÊÂÅÎÎÎÎÎÎÎÏÏÏÏÏÏÏÏÐÐÐÏÍÅÄÃÁľ¼±ÀºÀ¸ÁÈ¿µ¦ŒŒ‚r‹~h^a\^fnXo_W_UPUVb_YPPTZSPTVZOMMVTT]j^PXYWWVV[SRZYZ^^MD>8540..---ÐÜêîíãÒËËÇÃÃÅÇËÃÁÈÂÃÌÍÎÍÌÍÍÏÎÏÎÎÏÏÏÏÏÏÏÎÆþ¶½»´¤»µ¿µ¸Ã¸¿¶š‡}|njfdfeV]e^Ve]U[^QTTY^VVSOPPLMNU\WQUQSSe[O[[XSNPZXZUXRNJ@8==;72.----àîÖ¹ÆééÏż¶µº½ÄÄÅÊÆÅÌÍÌÌÌËËÌÍÍÍÍÍÍÍÌËÊÈÈÄ·°ª¯´© «¯º±¶¼°®¤…wyvmjSbh][fZR\i`Z`[LQRV`cdUQNMLOSMVXLOUPT^^\c^VQLPZWYWPQXJBC>;;:61/.-,èÛŸ‘ÄÚʺ¶´³¸¹ÀÄÉÍÊÆÍÎÎÏÎÍËÉÌÍÍÍÍÌÌÉÅÄÁÀ´£žœ¥¨œš¡¯¯¬°«§š…tnmjmo_YZWccXX_^]bXRXTTVXbZRTQNSWSTUXRQXQT[aY`Y\]W_`TUZXUR@?H<76776200/°–ˆ…‚|}€{~‚‰“·ËÍÉÅËÎÎÏÎÌÈÄÊÍÍÍÌÈÆÀ¶·¶»­ —œ™•£´¯¬£œž”ylggWjcTNHPXbZTR`jabra`b_UZOQQPQSXSVRUZS\PQ_`_j^f`libTQOMKK@=A8866554/13v~–•{W[V`Š’Ž‰|ŒÇÊÇÃËÍÎÎÍËüÈÌÌÊÇÀ±¥Ÿž¥§ž˜Š•œ”’®¯Ÿ””“…wfgk\`WQTQQ[ba^kp`SXeOXsq^SOKNNLHJMOPNNRZU[`VTZ[ci_^ZQJNIFECHA8665344024®®¯¼²zTb ÐßáÔ±u®ËÇ»ÄÌÌÌÌÉÀ¶ÆÌÊ·«ŸŸ–š˜‹‘„—•Œ“œ‘ŒŒŒ…€xvqd[VZ^YPZ_XV^j^SQ`ihca_URMKJHIGGFGOMS_]Z^WQ_kjiV`VOVTKJA@A9854324438=956679=@>___n€VB6?QRk‰P<;HD=>FXerPDAGwµLr»SCJLL]`KQQOMGKž‰’ŒŒ……„‡~‚|zwsvvpjfX_fb\SWQS_gffYPSTk^eZOSSPJIDITKCKMNFQR^`[O\fgfVbfXPX`SFBB=;8768@\c_]JABD;‚“Š—Š‰‘€‚ˆŒ‡€‹ƒ{~zwwy{veYR\[]X\YP\\_ahhjosnS^_VNSRGFFQXRRPQRJKW[_[OO_\b``jiWaVB::==<:;9:>>>;kc```]^^^]]]_``eioéÜ|OMCA7?@DB77897_ »º‰…Š}„ŠŒˆ‰ƒ~zxx|xyq`Y_aUZVVZcZQOat„vg]_gSVNMSTNNJC@NWSUWUP_fff\T[[_]U^YVWH<99;<78:99>==?>>OSPNNMLMKNOOON[]^v´Ä½¯²¶¹»º»¾½¼¼º·³µÃƼƒ}‚‡‡€z}€xtwz{wrmj_UNLZY^UUZ^^ZJZa[^[[bYLOUPOJMPPRVXZX]of\\]ZY[ZSXOPNA874cy88988;BFDF¬ÅƒV^ceojgb]]ºÎÇô‡|ÍØÖÖÙÚÛÝÞÝÝÜÜØÖÓÔØ–x€~~‚„€€~yzrpyz~tkceUTVFBPXXX[\PLJWZ]^W]g`TOMKMPOPKIKOXY\`c\`ZWTXOKOJB=9886Yˆ>989<?>=CIHERT…äöóðñïîñññôöÜwQL>sçäæëáèâÓÔãÛÖÔèåêâàæxzy}~{}}ƒ}yzvnkqjiee^ird\OR]\WSV\Yc[X]i[QKDBABEA?>DIB?M]mk^NRhSHA;;:7;;99>8vÜZ3><@DJJCXOq°ÅÒëìììêêêǶžkMFFkáíëëêëìççëçäèìëëìîç’u~{z~}y|€ƒy~|siknmhc__Z_]POWWPPV_]\Z^__VUMH?AHIB>DSSJV__nŽnSWZMA;677A=yèc8@9;DJOZdIvmIW}}ywz[FvwFARf×îìîîëíððîïðîëìîìîâˆp}{~}xv‚‡€txxtigkt|iXXXTSSOUZQQ\^]Y\d`[ORTPIFLQJ=>NVPhojyŽj]_SJB>:;@GNJB=@;~ñm;>5JW^VZbhqf\Z\bfimonpf]jzyrnfklXŒò}XTZwwtvmi69DJKKKS\PNJIKH8677?¥çÒº´áé­žœš›ÕñÀ«Éà¾uƒ‚~w}~vz}€y{qe[cheaccVX\[USQPNU]ZU[ZUOSZWSV[[s„{emzp]UY^`bejho€‡ƒ„ˆ€}†ŠŠŒš»–’Š„uwtjfhhb]]^ZY]^ceip`0/4;sÉÌÁÆÍÈÉÒØÓž»»»ËЉn€€ƒyy€ysx|ryofbajc_daZ[WWSS[\QPZXNMPU\\Z\fz„ˆ‰geunURZ]]]_hlmw‚‚€wv~‹•“‘Ž‰Œƒsvrmqj{zz{z{}|}}~€€v2.1Ebh~Œ…€Š•—‚h`hnkgbZuzx}ww~vuzwyttpopknmotqpplp{Š”‡Œ“’‰Š“¯˜}…€|€ocoqfX]a`^\ajilvkhegfx€…‚ˆ‹‡‡‡€}vfkrnkhVUUWWZ]^_`a``ab`HHHcƒ‚‚…~‰––‡’„yz}~~{xwwttstuutrsqppopoqsuyz{{{ywvxyy{}~†š¨¸´ª—‡{smoonoolgc^]^\\baYZ^__dknijgegstnspkclyouyklkkknrtvuussrstwz|~€€€}|zxw~ŽŸ Žsrswxyyyxwtrrrsuutspnkjjjklnruwxxvvuvtttsrqt|„ ®²°§~shggfba]ZW\ZXWZ[Y\\[[]ZXYZZWWWZS^^hv|wspmmlmpqrttsrqpoqtx{|}~~~~|{{xvt|†|‰£™ynptuwywuvtqopppqqonljhhfghjmprtvwxxvtrppppoprvŽŸ²½º£ˆulhjjhd`_]XWUUWUUWYafWWY\WYXVTUYW\{zvolkjklnqqqqqqpooqsuwzz{|{{{zxwvrq~”—„‚uqrstuvwvtsqnllkmnlkjhfcdefgimqtvwxwvtpnooqqrqno|”¯½½®–skjlheccZV\VWVV[[UUW]VXW[ZYXUUzzyuqmkjjlopqqqrrtsssrstwwxyz{{yzywurom|¡¡~mmorstuvwxxwsojkmmnonljiggfedgjmptvwyzxusqnnpqrrqos“°Ã§ˆtjklkkgfca][WVUUSTUWV\YXZYZxxxxwtokhikmoooopqrrsrrrrsuvwyzyyyxvsrqpnmu ±“onopqrtuvvunkkjklnoomihfebaabdgmqtuuxyxvrmiinqqolikzÃδ‰rkkllkkjgc`]YVTSSVUV[VYZYwxxxxwtpjhgjklmmmnpoppqpnoprtuwyxxyvtrsrrqq‡“Šlikoqrrsttqnrnkkjknpnljgeddcbacimortvwxwwuojkmnpqqokw”´Æ¿¥‡rklmlkjjgc_\VTTRW\UWVVuwxxxxwtqlhfgijkklnmnoopommnpruvvxywvuttrrrnmnª°nnooortqottqomkkmnmpokfccca`abfjmpstuvxwuqmiilopomjm{™»ËÁ¢ƒrmmmmjhgfdc`\XUWUTUrtwxxwvuspkfddegijljlmnopnmlmnpqstuuvuttsrrqqou’œŠomlnnnonkpoonmkjiklnppmifdabc`_`dimpqsuuuwvrmggikmnnkim…®Ìα‹trnllkjjihheb_WVYmprtuuvvtrpkebbcegihjklmnnmkjjknoprsttuuttusqqpkijpz|y{„†‰Ž‹…~vpnoqqokfdeeda_`fjmoqstvvvurkedhknmmjgg|®ÐÑ´‹snonljhhihhgc`^lnprtvvvvtrokgddddefhjjklmmmlkjllmpsttuuuuutrpv‹™ªÂõ²³³³±±±²±°¯¯±²°©¤npqpolhgghfaacgknpstuuvwvrlgfimnmmlgk€¥Èзvooolkjiihhfdjkmqtvvvvvtrplheddddfhjkkmmmnnljjlnpqsuuuuuurˆ¬©¨ª¥œ”Šƒ{wtmgehiiilox††‘€hnoqqnkihihfcbdgknpqstvvvusmhfjmooomigxŸÄмš|nnnmljihhgdilnqsuuvvutrpmjfcccefjlllkmnnmljjlnopsuuuvut§™}oia[WSRZbh¢›ti_\WSRQQMQxnehjnonlhffedcaacfjnprtuuuvvsnhghlnoonlhq‰°ÌÊ­wonnmkkj`ehknpqrstttsqnmhcbbccehjjjlmmmlnkjklmnpstttw–aJKKNRU[VQRTdrhQJHbqolf_L=Noifdegjljigcabb`__aehjopqrstutqmggikmoonlhj~Ÿ¾ÌŬzrqom€\dgjmopqrrstrqolgbabccehikklklmnljihjkmprss€{?LZdp|ˆ‘k7961./79=@;79OOGmmkhdb`cgggeca_^^^^]\\^beikkmnnonnjdadfhjkkkjecv£ËØÓpÌ¿p_fhjlnpssutssqnkgcaabdfhiiiijkklljhghjlntGRT¤¶¶¹»¹µ²«­xy{‡OC925>?83>oBbnmmjgb`cfihgdba`bc`^]]^aehjlnpqrqpnhcbeijkmmmlhg|£ÉÕ¼ÀÒ²_]dgikmopturstqokgcaabdefhijkkklllliggik|Bl8ƒ²©‘ƒ{qÇ™s•²j>2@ZXK645rZPnmmmkhdbcfikjhedddcdcb__cgkmnprsstrqpjedgjlmnmljgevœÈ¯ÄО\aegilnnqsrssrqnkgdccddfhhijjjklnoomkih†gVo0:GA;55BDM[ced[O;2Oxo^>51Z}Elmmnomliecfilkjiheccdcba`adfilnqstrstspjfegiklkklkgeu~¸ÈÐ[bfijlmprssssqpnkfcdddeghhijjjlnppppmjRu^/35798;HHIGGHGFH<@My}aD4tœžK`omnooolkfccgkmnlifcccddb__`cfjloqsttusrojdcfijklllkgP”¼ÈÉt[cgikmoprsssrqonjeddcceefgiiijkmnoonpŠGŠJ046Og]3PzœhOnmnnonmlkhecdgjlkigdb`ab`^^_`dhknprstttrrpiccejlmmmlYz±Àб_^fhkmmnprrrrrpomiedbabbdeffgijklnonu|O‘>234l£M@?7554;HIGQH\lr@42+kŽHkmmmnnnllmkhdbdikkkifdaaa`__^^aeiknoqsrsuutniddfjkllZ[~ºÄÑš[bfiklmoqqqrrqpomhdcaabbdeefhhjlmok{kc‰6:<>=<98=V… sC=945ŒŒJkje`aijjklllkihebacgjjjhd`_^^___][[_dilopqrsssrrnhchZPJc¬¿Ì»i\aegilmnopqrrponjhdaaaccdegijkmhmM bKYQa‡ŽSFGFEFGGGECTš›\E=A:2„’>jg=:8Kjikkklkjkjgc`aehkkkhc`^]__`_][]bfilnoqrrtutsnmbQMKv¸ÁЫ`^cfiklmnopqrqonljfa``acdeeSDA]Ž\H¡e[‘`VqKGGJPXY]XMYMZ_l…sMD9:73XK5WN8@7;gijkkllllljhfbbdillmlhd`__abc`]\]bhkmnpqstutsnqcRMN½ÃÓ–Zaehjlmmoopsronnlhca```ce[7<64423346458865978<:9;>FN2/?NVghghhijkkkkjjkjgc`bdhklmkhe`__`aaa_[]bgjlopqrrsrngYQLh°ÃÏÄq_ehjklmnopqpponlkgb`_`bbL=62.7bF=;99888667676666677777778899:<@J6Pfigeefghhijjijjjlkjhea`agkmmmmiebaabbc^\]_dhkmoprtnnnhVWiŒ¾ÉÖ¶ibgjjklnnoppqppnlieba_`befh‰f2_E;:998887666766665566777778999;>H;Yjeehkhdgghjjijjjklkkjeb``ejmoomkgeeccccc`\]adhkmonornj[PST”ÅÉÔ¡^befhjlmmnooppomlieb^_`bcm­¯CVA9998767665666665555566666677898@DQefo¾ÚÐŒbfghiiihikjjkjheb``eimoonmjgddccdc`\\]aeikoutqpgSMKY¨ÆÍÒ‡[cdghjlmmnnopommjgda__`ai ŸHM:787755655544444356544554555536PSO^aifˆ°«™feefghgghjiijjigdc`_afloopnjgedcba_]\[[]`ervsvwyjVPKq¾ÈÓÁh_dghiklmmnoponnmjgb___``…y^PNA13445434442347F754444334441P‰¤‰OXaihfc`adffeggfegiiijijigfc`__elononkhdb`^]][[\[[^qqommnf^TMOšÅËÖœ[beghikklmnnnnnnkhda__^emsjW”Œ†I023223333347C64334333342J§®ž§d9WjhhgfecŽvcfgfefhiiihhiihfdb__cjmnmkheb_]\\ZY[[\\oighhac_UNKi·ÄÐËu\cjjijkkklmmnnnljgc__^hdV\{°¡Ê¥I10022233455355443222//C†¤¢–n-Jihggfedgfbbddeeeggggffghgfda^]`fjjiihda^\\\[[[[[mijkvqjdTMMMŠÁÇÖ°^`gghijkkklmnnmmlhfb__[h98‡š§¤¢•N..2200127;L>83379;?PK™Ð¿±Ì Z,;giggggfeilobbddcffggggfhhgeca__`ejjkjhf`]\]]\\[[ppijtrtlTNMK[¬ÃÍÖ•bbeghikkklmnmmmljhea_R^9/i­É®Æå´g{POPTZ[BQÏw>\pnaZZ›¥êðåÃÔE-7fjhghhgi¶ÚÞªgcddfghhhiihijigeca_agkllljfb\]^]]]\jtmjqrush[OLKyºÂÑËq_fghikkkmmnnnmmljgc`TI4,PšÔÀáíí±¢m`ab‚²[qÊ‘M{hib`m­ÃôäâÉÊU1-9gjhghhheŠÎÍÂ{`eefgggghiihijhhfca_`ehkkiif`^^^___v{qnsrposrZLLQ“ÁÆ×®adghikkklmnnmmllkifb\@1,7XÇÄÏÓêÒ¦„Z]bZ^Q®ôÕci_ism‡»­±—kTM1.-;hjihhhggdkiefcdfefgggggggghhhheb`^^agiiiif`^]^^^trnkpokjkmfNKJ_¯ÁËÖ‹_fgijkklmnnnmmmmlid\=2-/2IONv‰„”²cqxxiZ¦óØ|gvyxmzz@AI6310*-8410/610-BmkkkiihhgggffcŽ¾À¤fdfggghhijiiihhgfdb^]agkmoolhd{uurwsmmpnjlgNKLKv½¿ÏËt^efgjjkllmooppomg7+-/15:AHTey°ŸðÝëëëëëëëìòLJ´’‚oYG>61/-HomkkjjiihhgggezÎæàœaeffggghiihggghhfdb_]bhlopnlky‚rmlmjnorkcPJMMN—ÀÃÖ­^adfhhikllmnnoonj;+.//29>DRby“³£ôíðòòóóóóòöÃzreTMH9600,Opmlkghjihhggggfryspdefffgggiiggghhhgeda^]bhkmnomrxuwvnqjpqqoleZNLJgº¿ËÔ}Ybdggikkklmmnnnl=../.35;TIDHPYeþ¹³©Ÿ›’‰„}\230.H±»XG70-Snmllefjiiiigggfeec`ljeffffgiighhggfggeb`_]`ejlnnpxwxworkkmmpqukQKLQÆÇظdbfhikkkklmmmnnm>1///@F}Ùš>237MC?>?DBFHHGKPUfhk‰ãîxB3..Vnlkledjiiiiggghhhhn~fgfffgggggfffffgfdbb_\^ejmnoxqpnlnnkmmoppkTKKKmÀÆÏ׉^eghjjjklmmmmnm;620.:Hªõº‚{‰”µœ—™›¦©¯³´´¯¬¤¥†qw›¦U5.,,Sljiidaihhhhfefeeddf``eeefefggffgffgggfedcb^[_fkmomowsomoqrjkmkkVLMMO˜ÈÇÕ»b_dfhijkklmmllm;84.-19d—\O]bhdgjggjihf^SLC?;8LQ:0.3>Io…”•”–¤¤¤¤¤¤£¢¡ž—zjaadcdfgggfgggghhhgfeeca^\`fjmoruooorttnknniTNLMKg»ÈÎ׋_ggjkkkklllllm:67/-.02;JC7=AF556530-..1458:==;Ibw“ ­²³³´³²®¬¬ª©©¨¨§¨¨ª¬¯¥ t¢¼¿•cgffffffghggfffeeca^\`eqnnouwvuxpnqpmsfQKLLN•ÊËÕ¿jehkllllllllli867,,,/247<@@A@BEGJKc|VNKJHFB=;Vª¬©«¤ ›˜•‘Œˆ†„ƒ€€€€‚‚„…‚Œ‹œéðæ–cddeeefffefeffeeeca_]`msxvqutqrnnmjlueLLMLLf»ÉÌÖ—ahijkllllliaY359.,+-/0013446878;;FN;641/--,A£©„ƒ|wvspokhffdedccccacccccav{˜µ²£fabcdeefefeeeeeeecca]\tzxrlnpspklnyvwh_ZMMNPŒÉÇÑÊueijklkkkjbUU32;2,2.+,,+***))**)*)(*)**)*+)n±aba_^^^_^^aekqlmmmlmlklkkkfc{h\[^babccceededdddfeedcb`]klmidbells|zvxpjpfRMNT]²ÈÇ׫gijkkjfeb]WU31:6.FUB83/./,**++*++++-037=?I¯™cXiqtwx{„Š•›®À•–“‹†ƒ‚€}|lvbaaccdedeeedccdddeeddcbb`qomomvqukvuxwv~~m]SLKOM}ÇÄÏÖ‰diikihggf]T92856,EHA<411-)*+**+,-/578::5k´‚jj†‡…ƒ…‰Œ}R:A86Y•¢©­©§ª§¢ƒ‚Kmlabcefedefedddddcdeeedcbaˆ~…|z}zmls|zz}uh]SLKNMS¢ÈÇ×½hdehffghg`R:673411,*)(((''(('''''&&%&&$&~ŸjW†Ÿ³¹ÃÊÏÖÚáTNFCFQ±çããÝÙáàã§ofTqcbcbcdcdeeedddccddddddcb‹v{vtknvpmjpjcdbWMLL`g¼ÄÍÚ‘_bccdded`YF81/.1)###$##$##$$##$#$$%%'#8ˆ’UdÐáàààßÞÞà€ambdWN¢æààÛÒÖÝâ§P~Ijgbbabeedeeeddedceedccdddƒ€|z‚{urudbir|sknh[MLLYa[™ÂÃ×Ãg`accccc_\TB5566544334466677998789:<=9Z–‰KpgÑßÜÜÝÝÝÝÚs[a^dNLåàÞÙ×ÚÝà¢9{V\ibdcbgijgefggeeeeeddcddd†‡††††‡‡‡…†‡‡†††‡‡‡‡‡‡‡‡‡†††…ƒ‚}yvttswyxzzzy{{zwtxyz{zyyz|~€€€†††……††††…†††††…†††‡‡††††…††…€|xvttuuvyxxywyzyywuwvxzzxwy{~€€€††††…†††…†††††…†…†††††††……††…‚€€{vwwwwwyzxxwzzyxxwvuxyyxxyy|~€€††††††††……†††††††††……††…„…………ƒ€~zyxwwy|{xxwzzz{ywvvxxxyzyz|~€†„ƒ…†……††……†…††††††………„ƒƒ„„…ƒ‚~{ywvxz{yyzz{{{{zuuxyxyzzx{~€‚ƒ€ƒ„„„………………††……………„‚‚‚‚‚ƒƒ~|yxvxz{yy{}|{zyxuvxz{zzyz}€€‚†ˆ‰‡ˆ‰ˆ‡………………†……………‚€€€€€|}~~{zyvwwxyz|||{zywwwwxwyzy{~€€€†„†‰‰ƒ„†…†………ƒ……„ƒ‚€~~~€~}{|||zyxwyvuyz}||{{yxyxwuuxyy|~~€€€†„ˆ†‚‚………††„‚ƒ‚}{||||||~~|{zz|zzzxxzwx{z{||}|zwxyvtuwwx|€€€Œ…†‹ˆ„…‡„„……………‚ywwxzzy|{zzxy{yzyxxyyy{{|}}}|zyxxwuuvvv{~€€~‘‹ŠŽ‹€‰ŠŠ‰ŠŠ‰~wvx{{xzyxxxyzz{zyuwwwz{|}}}|zzywxvutvv{€‘“’‘‘‘’’†ƒ‡ˆ‡‡‡‡ˆ‚}wxyyuvvwvwz{{zzyuuvwy{|}~}zyyvwxxwwy{~~~…††‡ˆ†…ƒ†…‚„„ƒ‚ƒ„…ƒ|wwvvrtuvuwz|}zyx{{yzyz|}}}zyxvwwxxy|‡}|~€‚€}€ƒ€€€€€|vuttssutuwyyzyyz|{zzy{}~}}~{xxxxy{~€€ˆ€~}{~€€€€€‚€~~€|tsssrsttuvxuxyx{zyyyz|~~{vwxxz~€}}~}|x€}}~}€‚€€€€€€€|tssrqstvuuwyyyzzyxxxz}~~|wrsvw{~~}}~}~{wq€~}}~~‚~~}}~{stssssuwxuwxxyzzywxy{|}{zyvpoqonqrpqqvz{wpml~€€~€‚€~~|}~{rtttutvxyxxzy||{{zzyxsninnrrqolhfgfdefhedfik€‚ƒ‚ƒƒƒƒƒ‚ƒƒƒ‚‚~~~|}~~€‚‚‚‚ƒ}xttwxzyyxwuwvsoooljlnlmˆ‡…‡ˆ‡ˆˆˆˆˆˆˆˆˆ‡‡‡†‡‰ˆˆ‡‡„ƒƒƒ‚‚‚„„ƒ‚ƒƒ„…††…„ƒ€€€‚ƒƒƒ„ƒ„ƒ‚‚{v‰‰‡ˆˆ‰‰ŠŠŠ‰‰Š‰ŠŠ‰ˆˆˆ‡‡ˆ‰‰ˆˆ†„ƒƒƒ„„ƒƒƒ‚ƒƒ„…†‡‡…„‚€€€‚‚‚ƒ„„…†‡‡†‰‰Š‰†‡‰ŠŠŠ‰Š‰Š‰ŠŠ‰‰ˆˆ‡‡‡ˆ‰‰‰‡†…„„ƒƒƒƒƒ‚€‚„‡‰ˆ‡…ƒ€€€€‚ƒ„„†‡‰‰Š‰‰ˆ‡ˆ‰ŠŠŠ‰‰‰ŠŠŠ‰‰‰ˆˆ‡‡‡ˆ‰‰ˆ‡‡†ƒ‚‚‚‚‚‚‚€€€‚…ˆˆˆ‡„€€€€€€€‚‚‚‰‰‰ˆ‰Šˆ†‡ˆ‰‰‰‰ˆ‰‰‰‰Š‰‰ˆˆŠ‰‰‹ŒŽŽŒ‹ˆ†‚‚€€€€€‚…‡‰ˆ†ƒ€€~~ˆ‰‰‰‰ŠŠˆ††‡‰ŠŠ‹‰ˆ‰‰ŠŠ‰‰Ž’’‘‘‘‘‘‘‘‘‡‚€ƒ‚‚‚€€€ƒ‡ˆˆ‡ƒ€€€„ˆ‰Š‰‰ŠŠˆ†…‡‰Š‹Š‰‰‰‰Š‰ŠŽŠˆ…†‰‰‰‰‡‡ˆ‹Š†…ƒ‚‚ƒ„„‚‚€€€„‡ˆ‡‡„‚€†ˆŠŠ‰ŠŠŠˆ††ˆŠŠ‰‰‰ˆˆˆ‰ˆ‡||ƒ„…‰‰ˆ‰ˆˆ‰‰‡„ƒƒ‚‚ƒ‚€€€ƒ†‰ˆ‡†‚€}„ˆ‰‰ŠŠ‹Šˆ††ˆ‰‰‰‰‰‰ˆ‰†‡„‚„‡…ƒ…Š‡‡Š†ˆŠ‰ˆ…ƒ‚‚‚€…‡ˆ‡‡†ƒ||‡‰‰ŠŠ‹‹‹‡†‡ˆ‰ˆ‰Š‹‰ˆ…‰‹…†‹Š‰‰Š†}ƒ‰…†ŠŠ‰ˆ‡„€‚€€‚„‡ˆ‰ˆ}}~ƒˆ‰ŠŠ‹‹‹Š‡†‡ˆˆ‰Š‹Š†…ˆŠ€‰ŠŠŠŠ…}‚Š‡…ŠŠ‰‰‰‰‡ƒ€‚ƒƒ‚‚€€„†ˆ|}}„ˆŠŠ‹‹ŠŠŠˆ‡‡ˆˆ‰‹Š†…‰ˆ‚‚ˆ‰ŠŠŠ„{‚‹‰„ˆ‰ˆˆ‰‰‰‡„€€‚ƒƒƒ‚‚€€€€€‚…w~|†‰‰Š‹ŠŠŠŠ‡†‡ˆˆˆ‡…ƒ……††‡‡‡‡†‚}‚‰Š†‡†„†‰‰‰‰‡†ƒ‚ƒƒ‚€€€€€pz}}‚ˆ‰‰‹‹ŠŠ‹‰††‡‡……‡‰‡‡ˆˆ‡‡‡‡‡ˆˆˆŠ‘‹„…‡‰‰‰‰ˆ‡ˆ„€‚‚ƒƒ€€€hl{}{ƒˆ‰Š‹ŠŠ‹‹‰…†ˆ‡†‹ŒŒŒŒŒŒ‹ŒŽ’Ž…†‡‡‰‰‰‰ˆ‰ˆ…‚€€‚‚‚‚‚€jhp|}~†‰ŠŠ‹‹‹‹Šˆ†‡‡‰ŽŒ‹‹Š‹Š‰Š‹‹‹‹‹ŒŽ‰‡†…‡‰ˆˆ‰‰‰ˆ†ƒ€€€€‚ƒƒ‚kjjv€~}‚ˆŠŠ‹‹Š‹‹Š‡††‰‡‡‰‰‰‰‰ˆ†ˆˆ‰Š‰ƒ}ˆ‰ˆ‡‡ˆ‡ˆˆ‰‰‰‰‰‡„€€€‚„……nmls€}}…‰ŠŠŠŠ‹‹‹ˆ†…†ˆ€…ˆˆˆ‡†ˆ‡†‡‡††‡ˆ‰ˆˆ‡ˆˆˆ‰‰ˆˆˆ†„€€€‚…‡†nlimy€~}€‡‹ŠŠŠŠ‹‹Šˆ…ƒ…ƒƒ‚„„†„€ƒ„„ˆ‰ˆˆ…„ˆˆˆ‰ˆˆˆ‡†…‚€…ˆ‡ijggjz}}ƒ‰ŠŠŠ‹‹‹‹Š†„„„„‚ƒ‚„ƒ…ƒƒ„„……ƒˆ‰‰‰ˆ‡ˆ‰‰‰‰ˆ‰ˆˆˆ†‚€€ƒ…‡nniges~|~…‰Š‹‹‹‹Œ‹ˆƒ„…‡†‡†„…ƒ…††ˆˆ‡†„ƒˆ‰‰‰‰Š‰ˆˆ‰‰‰‰‰‰ˆˆ†ƒ€€ƒljggfk{‚}€‡Š‹‹‹ŠŒŒ‰ƒƒ…ˆ‡‡‡ƒ€€‚…‡ˆ‡„ƒ„‰‰‰‰‰‰‰†„‡‰‰‰ˆˆˆ‰ˆ†ƒ€fgggghq~€}|‚Š‹‹‹Š‹‹Šƒ‚„„„„„‚€„ƒ‚„„ƒƒƒ…‰‰‰‰‰‰‰ˆ…‡‰ˆˆˆˆˆˆˆˆ‡ƒ€€hhgfeffu‚€}ˆŠ‹‹‹‹‹‹„€‚‚‚‚‚ƒ…†„ƒ€ƒ„„ƒ„‰Š‰‰‰ˆ‰‰ˆ‡‡‰‰ˆˆ‰‰ˆˆˆ‡ƒihgdfhgs€~…‹Œ‹‹‹‹‹„€ƒ‚‚‚‚‚ƒ…‚‚ƒ†ˆ‰‹ŽŽŒ‡…†ˆ‰‰‰ˆˆ‰‰‡ƒhhfdgihm}}ˆŒŒŠ‹‹Œ…‚ƒ‚‚‚‚‚‚‚‚ƒ„ƒ…“––––——––—––•‹ƒƒˆ‰‰‰‰‰‰‰‰‡ƒjiiihghjt}ƒ‹ŒŒ‹Œ†€‚ƒƒ‚‚‚‚‚‚ƒ„„ƒ‰’”“’ŽŽŽŽŽŒ‹‹ˆ‡ˆ‰‰‰‰‰‰‰ˆˆ‡jjhhnkhjq~‚}‡‹‹‹‹†€„…ƒ‚‚‚‚‚‚„„…‹Š‚€}€ˆ‹‹€|~}‰Œˆˆ‰Š‰‰‰‰‰‰‰ˆknmnppmpt|~}}‚ŠŠŠŠˆ…‚‚‚‚…‹†{yyx‹‰‹~yyy}‡‹‰ˆ‰‰‰‰‰‰‰‰‰ˆ{zzzzzzzzz{zzzzzzzzzzzzzyyzz{„„ƒ„…††ˆ‡‡††ˆ‡ˆˆ†††††………‡‡„ƒ‚‚‚‚yyyyyzzzzyzzyyyyyyyyyyyyzyyy{‚ƒƒƒ‚„…†‡†……†ˆ‡††…„……………†††„‚yyyyyyzzzyzyyyyyyyyyzzyyzzzyz~‚ƒ„„ƒ„„……„„…†‡†„ƒ„„„ƒ…†‡‡†…ƒ‚‚€zyyzyyzzzzzyzyyyyyyzz{z{||zzz}€ƒ…„„„……„„…†‡‡…„„ƒƒ„„…ˆˆˆ‡…‚‚‚‚€€y||zzzzzzzyyyyyyyyyy{|{}}}||}€‚ƒ„„„……………‡‡‡………„ƒ„…‡‡‡†…„‚‚€€|‚~|}}{zzzyzzzyyzz{}}~~}‚ƒ‚‚ƒ„„„……‡††‡‡…………„„……‡‡††„ƒ‚‚‚€€€€~~|{zzzz|zyz{|}€€€€‚„…ƒƒƒ„…„„„„…‡‡‡……†……„„……††††„ƒ‚‚‚‚|zy{z|}}{zzyz}{{~€‚ƒ‚€‚„……„…„„……„ƒ„…†‡†„………„………†††……„ƒx~wst|€}}}||}~‚„††……ƒƒ„‚ƒ…‡‡…†…„„…„ƒ„…†………„ƒ„„„……†††…„ƒ‚‚‚ƒu~|zy|€€ƒˆˆ‡…ƒƒ„„…‡‡†††…„„…………†„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚wzzzy{|y|ƒ‚}{ywy{~„ˆ‡…„ƒ……†‡‡†…††…………†……†…‡„ƒƒƒƒƒ……†‰‡…‚‚‚‚zyxyyxxy{€}}||}}~…†††…†‡‡‡ˆˆ†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ†‚}ˆƒ€€€…††††‡ˆˆˆˆˆ†…„„„…„„††‡††„…„„„†‡ˆ‡ƒ‚‚‚„†ˆ†ƒƒ„ƒ…‰ˆ‚€€‚‚€€…†‡ˆ‡‰ˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ…‡ˆˆ‡ƒ€‚‚‚‚„†……ƒ‚‚„Š…‚„„„ƒ€…†‡ˆ‡‡‰ˆ‡‡†…„…„„„††‡ˆˆ‡„„ƒ‚ƒ…†ˆ‡†ƒƒ„ƒ€‚……‚…†‡‡‡††‚‚‚‚‚€€†‡‡‡ˆ†ˆˆ‰‡††„…„ƒ„†‡†‡†…„„ƒ„……ˆ‡…‚€‚ƒƒ‚„ƒƒ„………„ƒ‚ƒƒ…ˆˆ„ƒƒ†‡‡ˆˆ‡ˆ‡ˆ‡†……†…ƒ„…‡†‡‡…ƒƒƒƒ‚‚‚~|||~~€ƒ‚€‚ƒƒƒ„ƒ‚‚‚€‚†…†‡ˆ„……†‰ˆ‡‡‡‡‡†……„ƒƒ„ƒƒ†‰†††}}}z{z{zz{{|~~~€|~€‚‚‚‚‚€ƒƒ‚ƒƒƒ„„ƒƒƒƒ…„„„ƒ‚ƒ‚€€‚……„……€~~~€€€€€~€€~}~~}}~}}}~~€€~}}~~€€‚€€€€€€€€€€‚‹…ƒƒ‚‚‚‚€€€{}~~~}}}||||||~}}}€€€€€€‚„Š…‚€€€€€€€€{||~~}}}}}|||||}~€}}}€€‚€€€~~ƒƒ‚ƒ‚€€€€€€||{|}~€~~}}}}}||||}}|~€€~~€€€~~~€‚ƒ‚ˆ‰‚€}}|{|}€~}}}}}}|}|||}~~~}}}}}|}}~‚‚‚‚€}}~€‚††‚~}{{|}~~}}}~}}~|||}{yzz{{€‚~}{zz‚‚‚‚‚‚‚€~~€‚‚‚‚„€}}||}}€}}}~~~~}||}|}}|}~ƒƒ}}}}|~€‚‚‚‚‚‚€}}‚‚ƒ†„„€}|||~€~~~}~~~}}}|yz{{{zxz||||~~€€‚‚‚ƒ‚‚~}}‚„„ƒ~}}|}~€~}}}}}~~~~|}||yy|{x|€}{|~}~~€‚‚‚‚‚‚‚‚€}~}€…„‚€~~}|}||~€~~~}~~~}|}ƒ€wxxxx~‚}|~}}}}~€‚‚‚‚‚‚‚‚‚€||~’‰‚€~}}|||}~~~~~~~}{|…ƒzzzyy~†ƒ|{}~}}}}}€€‚‚‚‚}ƒ„ƒ‚€~}||}}}€~}~|z{€zyz{z€Šƒz{}}~~~}}~€€€€€€‚‚‚‚€„„ƒƒ‚~}|}}}~€€~}|}~~{{|}~€†‚||}~~}}~~~€€€‚‚‚‚‚‚‚‚ƒ‚~}}}}}}~€€~~~~~€~~€~}|z~€~~}}~}}~‚€‚‚‚{|Œ‚‚~}}}}}}€€~€€}{}}}||~~}}}}||{y{€€~~}}}}}~‚‚‚‚‚}{~‰‡ƒƒ~~~}}}|}~€~|{|}}}}}}}}}}}}}}€|~€~}~~~~€‚‚‚‚‚‚||€‚ƒƒƒ}~}}}|}~€€€}|‰‡}}}~}~~}}}}…ƒ}~~€}~~~~~~€‚‚‚€€€~‚ƒ‚‚ƒ~}}}|}}~€€€‹Š~~~‚€„…€~€~~~~~~}€€‚‚€€€€ƒ€|‚‚ƒ‚~}}}||}}€€‚ƒ‚‚……‚€ƒƒ€~~~‚~~~~~}~~‚€€~y{|€‚‚~}~}}}}}~€‚„„ƒ‚‚ƒ…‚€€‚„ƒ€}}}~~€~~~~~}~~€‚€~yxyƒ•ˆ‚~}}~~~}~~€€€€€€€ƒ‚€}€€€€}}}~~~~~~~}}~~‚€~ywx}„‹…‚~}}}~}}}€}}€€€~~€}}~~~~€€€~~}}}}€‚‚€~zxxy‚‚‚‚}||}}}}€€€€€‚†………‡ˆ„€€}}}~~}~~€€~}}}}}~‚‚‚~zxwwy€ƒ‚‚‚}|}}}}}€‚ƒƒ„‡ˆˆˆ‰ˆ†ƒ€€~~~~~~~~~~~}}}~‚~ywxzz~ƒ‚‚‚}}}}}|}€‚‚ƒƒ‚„„…†„ƒ‚ƒ‚~|zzyyyyyyyz}€~~~}}}}~‚~{x{|{~‚‚‚‚}}}}||€€€€€‚„‚€ywtuuuvuuuuvuv~~~~}}~}}~€€}{{}~~€‚‚‚}}}}|z€€€€€€€€€€€€{xyyzz|~~~~||€€~}~}}~~}~~ƒ~€„„‚‚‚„ƒ‚~~}}}€€€€€€€€€€€z{}~~~~}~~~~~}~{}~~}}~~~~}~ˆˆ‡ˆ††„…†„‚šŽ~~~€€€ƒ~|||}}|}xxy|}~~}{{~~~~}~~~~~~ÒÒÒÐÐÑÑÒÒÒÒÒÒÑÐËÆÉÅÎÐÑÑÒÑÑÒÑÑÑÐÏÏÐÑÐÏÎÏÏÏÏÎÍÎÍÍÍÏÎÍÎÏÏÏÎÈÀ¶²§£–…tjq{llkmovfifY_c^^g_U\a`aWRPU\[bgaeUWXXVWTT]VRX`a]XUME=9<<632@2ÑÑÑÐÐÑÑÑÑÑÑÑÑÐÐËÅÈÅÍÏÐÑÑÐÐÑÐÐÐÏÏÏÏÐÏÎÎÎÎÎÎÍÍÍÍÍÍÎÍÍÎÎÏÐÐɸ¡©ž|„}ƒwb`cr}q^`qmi]Z[\`[YWQ`ia]TQQRZY_jjiQW_b[RPLSSZac]XPOLBA76642076ÐÐÑÐÐÑÐÐÑÑÑÐÐÏÎÉÃÇÃËÎÎÎÎÎÏÏÏÏÏÏÏÏÎÎÎÎÌÌÌÍÍÍÎÎÎÍÍÎÎÎÏÏÐÐÐΤ‹soqropnpw{bdcfh]]\\]]TUW^e\[\XWTWUX^ieSSY\UNPORS_ebc\QHC@<952330.2ÐÐÐÐÐÐÐÐÐÐÐÏÏÎÎËÃÇÃÌÎÍÍÎÍÍÍÍÎÍÍÍÌÌÍÌËËËËÍÍÍÏÏÎÎÎÎÏÏÐÐÐÏÏÎηœ”}mux~y‚‚jid`i\bhg]\YYa[TZfgTRUXZUQNWP\jSQU[[QMSPQ[c`bWUVPI?<85332.-ÏÏÐÏÏÏÏÏÏÐÏÏÏÎÏÌÃÄÃÍÐÐÏÏÏÏÏÎÎÎÍÍÍÍÍÌËËÊÊËÌÌÎÎÌËÌËÊËÍÎÏÎÍÌξ–‚‡yeooei`acZle\YUVP^bacqp]SPV^VNJURS[U\^\WOQRV[`XXZRPZPJ>@A<520-+ÏÏÏÏÏÏÏÏÏÐÐÏÐÐÑ˾¾½ÍÑÑÐÐÐÐÐÐÏÏÏÏÏÏÏÏÏÎÎÎÍÌÌÍÍÎÍÍÌÆÉÌÍÎÍËÊÇÅ¥‹|}si`mtqe`da[^aXR]TUS\hgiifkYRWYTRTUSSYS\`cVUVRZ\_ZYUTOQPI>@>5561.0ÏÏÐÐÏÐÐÏÏÐÐÐÐÐÑÈ¿Æ¿ÉÐÐÏÏÐÐÐÐÐÐÏÏÏÏÏÐÏÎÎÎÎÌÍÎÎÎÎÍËÆÊÌÍÏÏÍÊÅĵœ|~uhXUgb\aca_daYUSKPW[acgk`_VRPPPKUSUR`NVV[[X[[a]_YSQTPRLFC>@;431/5ÏÑÑÑÐÐÑÐÐÐÐÐÐÐÑÈÃÍÃÇÐÐÎÏÏÏÏÏÏÐÐÐÏÏÐÐÐÏÏÏÎÌÌËÍÌÈÆÆÃÉÉÊÎÏÌÆÀ¿°ƒwWTQSPX[nrhde\ZPDBQYT^cc^XUSLNLILIRN[QSVVXX\]\]b[TOTOYPCGA>?40/-.ÏÏÐÏÏÏÏÏÏÏÏÏÎÏÏÇÄÍÃÅÎÏÎÎÎÎÎÎÎÐÐÐÏÏÐÐÐÐÐÏÍËÉÈËżÿÄÂÇÌËǾ³¨«‚wu`WWZZki`rhjbWWSSVUgVO\]UNWZTMJGOQS[ZSQZ\VUZ[WPVZURXQYYA66220/.--ÎÎÓ×ÕÏÍÎÎÍÌÍÌÌÌÄÂÊÂÆÎÐÏÎÎÎÎÏÏÏÏÏÏÏÏÐÐÐÐÍÆÄÞ»±Á»À¸ÂÈ¿¶¦‚r‹h^a[^hnXp_W_TOUVb_YPPSZRPTVZOMMVTT]k^PXYWXWU[SRZYZ^]MD>8530..---ÐÜêïìâÑÌÌÈÅÅÆÈËÃÁÈÂÄÌÍÎÍÌÍÍÏÎÏÎÎÏÏÏÏÏÏÏÏÆþ·¾»³¤¾·Àµ¹Ã¸¿·›ˆ}|njfdfeW^f_Wf]T[_QTTY^VVSOQPLMNU\WQUQSTf[O[[XTNPZXZUXRNJ@8>=;72.----ÝîÜÅÔíèÎŽ¸¶»¿ÄÄÅËÇÇÍÍÌÌÌËËÌÍÍÍÍÍÎÍÌÌËÉÉĸ±«°´© ®±¼±¶¼°¯¦‡xzvmjSbh][fZS\j`Y`[LQRV`ccUQONLOSMVXLOUPT_^\c^VPMPZWYXPQXJBC><;:61/.-,ë់žÐâÊ»¸´´¹»ÁÅÈÍÊÇÍÎÏÏÎÍËÉÌÍÍÍÍÌÌÉÆÅÁÀ´£Ÿž¤§œš¤¯±¬°«¨›‡vomkmo_YZWdcXX__]cXRWUTVXbZRTQOSWSTUXRQXQT[aY`Y\\W_`TUZXUR@?H<86776200/×£Š†„…€€€„Š‘ªÇÌÉÅËÎÏÏÎÌÈÄÊÍÍÍÌÈÆÀ¶¸·»­¡˜œ˜—¥´¯¬£œŸ”zlggXjdUMHOWb[TQ^ibcq`ad_UZOQQPQSXSVRUZS\PQ`__j^f`libTQOMKKA=B8766554/13sƒ‹‡\[ZWuŽŒˆ€|¸ÊÇÃÊÍÎÎÍËüÈÌÌÊÇÀ±¦Ÿž¦¨ ž™Š•œ““£±°Ÿ””“…wfgk\`XQSQQZb`^kp`SXeOXsq]SOKNNLHJMPPNNRZU[`VTZ[cj`^ZQJNIFECHB8665344024o£¶·»¼Œ\W‚¿ÖàØÈ“ÊÈ»ÄÌÌÍÌÉÀ¶ÅÌËø«Ÿ –š™Œ‘“„–•ŽŒ“–‘ŒŒŒ„€xwqd[VZ^YP[_XV_j^SP`igda_URMKJHIGGFHOMT_]Y^WQ_kjiW_VOUTKJA@A9854324339=956769=?=Yfjt™nM69RYS…gC8\n«}‡¬¡eUNMLTNRPMOS^›‘‘ŽŠˆ„„ƒ{‡~x{yvupni[^eceZSUZX__dZU]UZ`]WSLOLOJCDFA@GHEBRHWY\Ybcc^TfeXXZUNIFG:75668<>GFOP>=;DI:;=QZt_D~š’ŒŒ†…„‡~‚|ywswvpjgY_fb\SWQS_gffYPSTk^eZOSSPJIDITKCKMOFQR^`[O\fggVbeXPX`SFAB=;8768;Ka__QA=C;[ –‹‘ˆŒ‡€‹ƒ|zvwy{vfZS\[]X\YO\\_ahhjotnS^_VNSRGFFQXRRPQSJKW[_[NO_\b`_jiXaVA::==<:;9:>>>;nkfedbcdcaaaacegkoqËè®IQAE:9=>B:6688C’°×§…Š}„ŠŒˆ‚‰ƒ~zxx|xyraZ_aUZVVZcZQOat…xi]_gSVNMSTNNJC@NWSUWUP_fff\T[[_]U^YVWH<99;<78::9>==?>>SWSMLKKLKKMLMMTaT|œÀ˽¿ÂÆÈÇÇÇÈÆÇÄÁ¾É¿Âš|‚ˆ‡z}€xuwz{vrmj^UNLZY^UUZ^^[JZa[^[[bYLOUQOJMPPRUXZX]og\\^ZY[ZSXOPOA874`‚:7988;BFDFºÉªW[`ceŠ|da]W’Ú¹éËeµÖØÙÙÛÜàáááááÜÚÚØÚÀ}~‚„€€~zzrryz~tkceUTVFBPYXX[\PLJW[]^W]g`TONKMPOPKIKNXZ\_c]`ZWUXOKNJC>9886Y‰@989<?>=DIB?M^nk^ORhSHA;<;7;;99>8€à^3><@EJJCXM`©ßãðòòñòóóé×ɇUJEN¾ïìëëëììêëëèèëëëëíð¾xzz~}y|€ƒ€x~}siknmhc__Y^]POWWPPV`]\Z^__VUMH@AHJB>DTSJV__oŽmSXZMA;667A<„ìk8@9;CJO[eEd~giœ«©¨¨¦¢ˆUcƒWCGZ®ðìííììîîîíîîìëííìï²p~|~}xv‚ˆ€txxtigkt|iXXWTSTOUZQR\^]Y\e`[ORTPIFLPJ=?OVOhojzj^aTJB>:;@HNIB=@:‰õs<>5JX`V]fjrf\Z\bfjmnnpf]kzyrnfklX’ô‡YUZxwtvmj8:EU\]]arf]\[XWC9:98uåãÛÍÛñÔº¶¯©ÀñâÊÕÞâˆ}‚~w}~vz}€y{qe[dhfbccVX[[VUTPPV^\Y^]VOS[WTW\]u…|en{p]UY^`bejho€‡ƒ„ˆ€}‚†ŠŠšº–’Š„~€vwtjUU[[XWVURRUXXX`a=-47U¶ÐÉÃÇÆÆÐÛÛÌÃÀ¿ºÆ×¼h|ƒyy€xsx|ryofbaid`dbZ[WWUY\]WW`_YUTX`]Z`i|…ˆ‰gevoWRZ]]]_hlmw‚‚€wv~‹•“‘‰Œƒ€qwrmqj|}||||}}}}}€ƒN(17Zi€‹‡†„‹“˜vhenomhZezx}ww~vuzwyttpopkooqtqppmp|‰‰‰““ŽŠ•³Ÿ„‚‡€{ocprfX]a`^\ajilvkhegfx€…€ƒˆ‹†‡‡|ufkrnkhXXWYZ[_bbabbcccfO@AK{ƒ‚ƒ€€Œ—‘†’„{|~}}{xwwttrsuutrsqppopoqtvyz{}{yxxy{{}~€ƒ†™¬¼¸«˜Œ}snoonoolgc^]^\\baYZ^__djnjjgegttmspjclyotyhhhghhmqrqqqppoorwx{€€}}{zyŸ¡‹tstxxyyzyvtrrrstutsqolijjklosuvxwvvuvuutttrv}ˆ—¥¯²¯¨Ÿ‘tjhhfca^[X\YXWZ[Y\\\\]ZXYZZWWWZR^^hw|wrpmnmmoqrttttrqprty|}}~~~~}|{xwu|…{Š£˜xnotvxywuvtqoppqqqpoljhgfghjlortvwxwvtspqprrstzƒ‘¡¶Â»¢Šuljkkida_^YWUUWVVWYafWWY\WXXVTUYV\|ytomkjjlnqqqqqrpooqsvxzz{}||{zyxvrr€–”‡‡vqrttuvwvtsqollmmmlkjhfcddegimqtvwxwvspnooqsrqop›µÂÀ¯šƒsjjlhedc[V[WVVV[[UUW]VXW[ZYXUU{zyuqmkkjknpqqrsstssssrtwxxz{{{yzyxvsqo££~nnosstuvwxwwtqljlmmonljiggfedgjmptvwyzxusqnnprrrprxˆŸ¸ÈÀ¥ˆuikllkhfca][WVUUSTUWV\YXYYZxxxxwsokhhkmopoopqrrsrrrrsuwxyzyxyywusrqqpu£³–nnopqrtuuvwsnkjklnoomihfeba`adgmqtuuxyxvrmjinqqpmlo‚¥Å͵Šrlkmmlkjgc`]YVTSSWUW[VYZYwxxxxwtpjhgjklmmmnpoppqqooprtuwyxyzywvtsrrrˆ˜Ž‚mlmoqrrstttqqmkkiknpnljfdeddbacimortvwxwwvojkmopqqomz—µÆ¿¥†tmlmlkjjgc_\VTUSV\UWVVtvxxxxwtqlhfgijkklnmmopponmnpruvvxyxwvutrrrnmo€­¶Žnnooorststtpomjkmnnpnjfcdca``bfjmpstuvxwuqmjknpqpnlm|›¾Ìæ„rmmmmjhgfdc`\XVXUTUsuwxxwwuspkfddegijlllmnoonmlmnpqstuuvuttsrrqqpt—£Œnkjmooqsqstsrrljiijoqpniedabca_`dimpqsuuuwvrmhgjmoonlinˆ±Íϲ‹trnmlkjjihhec_WVYnpstuvvvtrplfbbcegjjjklmnmmkjjlmoprtutvuuuusrpollosƒŠzlmmmklopnooljhgilprqnlfeeeda_`fjmoqstvvvvskefiknnmjgg¯ÐÑ´‹soonljhhihhgc`^lnprtvvvvtrplgdddeffhjjklmmmlkkllnptttuuuuutsqpomlu´Ï¬z|ƒ‡†‰‘‘ŽŒˆ„|sjhkqrqpmhgghfaacgknpstuuvwtqlgfimnmmkgkƒ©ÌѶŽvooomljiihhfdjkmqtvvvvvtrplheddedfhjkkmmmnnmkklnqqsuuuuuutrs†” ¬³´µ³µ²®®´µ²±¯®¯²²¯¨Ÿ~joprqnkjiihfcbdhlnpqstvuuusmhfjmonomjh§ÈѼš}poommkihhgdilnqtuuvvutrpmjfcccefjlllkmnnmljjlnopsuvuvutx£¬©¬« ”‰€|vpmkjklmnqv}…ˆ‡’qghjnonmigfeddaacgjnprtuuvwvsnhghmnopokjv±Í˲”ypnnmkkj`ehknprsstttspnmhcbbccehjjjlmmmlnkiklmnqsttus‰¬ƒxpg_[VSX\bpš®’tlb[XWTQOJ^}jfdfhklkjhdabb`^^aehjoqqrstutqmggjlnooolhk¡ÀÍÅ­‘{rqom€\dgjmoqqrrstrqolgcbbcdfhjkklklmnmjihjkmprstrŠ…NJKMPRWZRSS^y}fOINjomjdYD>^pkhecdfiljgca``_]\]^`cgjmpqqqqqoliffjklmmkhfl}£ÍÖÇŸwlmÂv]dikmoqquvttsrpkgdcccegijkkkiijkkjhgijmoprr‹Y@Wanz„Š‰J594/,2:;CaeehjjaEAknlhdcachggeca`_^^^]\\^bfikkmnoonnjcadfhjkkkjee}«Ï×Á“pÌ¿p_ghkmnpssutssqnkgcbbceghiiiijllllkigijlno{‰AFv“œ¥©¬®‡oZB68AIIGA=>@97=XDWnnmjfb`cgihgeca`aca^]]^aehjlnpqqqpnhccfijkmmmkhi¨ÍÖ»ÀÒ±`^dhikmopturstqokgcabbdefhiiklkllmmiggill…p@Tz¶¶¸¹º·³­ª”wzŽpD@438@=63QfClnonkieccfikjiedddddcb__bgkmnqqrssrrpjedgjlmnlljfg{£Ì³ÅÐ[aegilnnqsrssspnkgdccddfhiijkjkmnopmljjlS\QO©¯©ž‘‹t´½ƒ}²‡A74J\T@44@~Eapnnonmjfcfjlkjiheccdcba`bdgjlnpssrssspjfegiklkllkgg|‰ºÇЋZbfijlmprsstsqpnkgcdddfghhijjjlnpqppnkqŒDzF2FGA;5?EFWahhdTD3:`|eU553yaOomnooolkfccgkmnlifcccddc`_adgjmoqsstussoidcgjjkllmkgVœ½ÉÉvZcgikmoprstsrqonkeddcdeefgiiijkmnoonl|{L„8246798CHIGGIHFHF;D\ƒmZ8@ˆŸ†Djlnonnmlkhecdgjlkigdb`bca^^_adhknprstttrspicdfjllnmlY€µÀеa^fhkmnnprrssrqomiedbbbbdefghijklnook…eb|135<\fL@IGCBA@FIFELP|rQ87hŒžP_mlmnnnllmkhdbdikkkifdaaa`__^^afiknoqsssuutoieegjlll\aˆ»ÄÑ›[bfiklmoqqrsrqpomhdcaabbdeefghjkmopk‡S}l032C“¤p?C=7546BIHLKQ_wd84/5oQmklmnmlmnmkigcceijkjiea``__^^^^`dgknpqstutssqibcfikRJS•½Å̇Y`ehjklnpqrrrponkgdbaabdeeefgijlnok†L’W2<8[‡˜Z;412227?A5=¥oYš_;<Q»`9?4Gmjjkkkklllkifcachjmmmkfb_^abbb_\\`filopqrrstkox]NJ`ªÀÊË}\dgiklmnnprqooomkfa`__aceD7=7rnFM[Dbb:ACBCKV][VRKF?=B=ObYPQK8465;=;5222Tkijijkjjkjjkigc`beimmmkhe`__`aab_[]chkmopqrtsrnfYPLs¶ÃÐÄq_ehjlmmnopqppoomjfb`_`bd>0777AE9131128;?;66433466469658;9<>9:;?JJ/0:GXgfhiiijkjjijlkjheb`bhmnmmmiebaabcc]\]`ehkmoprtnnnhUXl”ÀÉÖ¶ibgjjklnnoppqppnlidba_acV=50./OY<<98877666666667667777777888:;=FH5Tciklhehihijjjijklkkjeb`agkmoomkgeeccccd`\]adhknpnornj[QSX ÅÊÕ¤`bffhjlmmnooppomkieb__adebo{Z[C1-,)3`jklmigrsssrqonnmjhef£¼¿—dgffffffghgggffeec`^]`fqnnouwvuxpnqpmsfQKMLP›ÊËÕ¿kfjllklllllllnV->//,14=OR:9AI?57:9511/032257:;;414>LZo— ¨«¦§²²²³³²°°¯¬«¤}šéðè—bddeeefffefeffeedba_\`msxvqutqrnnnjmueLLMMKi¾ÉÍÖ˜bjjkkmllllllmT+>.-,.027;>>@@@@ACBE_YJGHHGEB>;8b—¬³µ´°¯­«©¤£¡ žžœžž ¢¤Ÿ¦…œ¼½¦eabcdeefefeeeeeeedba^\tzxrlnpspklnywxh_ZMMNQ•ÊÉÓÉtejkkllllkkjcK*>0,+,/0247:<30-,,,**++++++***,.2677‹ªv[\\]^_acdejq~~|zyxxwwwvrgwsaccefedefedddddddeeddcbbˆ~…|z}zmls|z{}th]SLKNLX­ÇÈÙ¹gdegggfff_WJ+;560?RG@8331+*++*+,,,.38:=?<\¸a\s|€ƒ€‚„†‘£¹Ž‚„Š„‚‚‚€~|etgbcbcdcdeeedddddddddddcc‹v{vtknvpljpjcdbWMLL`f‡ÂÄÍØŽ^bceeghhdWG1;463/4/-,++*))*))**))*+*)((%r¯{hn‡‡‰–œ ƒO4843Qž¹¿Ã¾»¾¼»•W^rbbabeeefeeddeddeedddeddƒ|{‚{urudahr|sknh\MLLY`a¤ÂÃ×Áf_cdceeeb]M992321%$$%%$%$#$$$$#####$##"+…›bYˆ«ÄÉÑØÚÝàå“TQKJJN¤éãâÝØàáã¾dwKpfccbgjkgffggeeeeeeddedd††††††‡‡‡…†‡††††††‡†††‡‡‡†††…ƒ‚}yvttswyxyzzy{{zwtxyz{zyyz{~€€€††………††††…††…††…†††††††††…††…€|xvttutvyxxywyzyywuwvxzzxwy{~€€€††††…†††…††††……†††††††††……††…‚€€{vvwwwwyyxxwzzyxxwvuxyyxxyy|~€€††††††††……†††††††††……†……„…†…„ƒ€~zyxwwy|{xxwzzz{ywvvxxxyzyz|~€†„„…†……††…………††††††……„„ƒ‚„„…ƒ‚~{ywvxz{yyzz{{{{zuuxyxyzzx{~€‚ƒ€ƒ„ƒ„………………††……………„ƒ‚‚‚‚‚ƒ~~|yxvxz{yy{}|{zyxuvxz{zzyz}€€‚…‡‰‡‡‰ˆ‡………………†……………‚€€€€€|}~~{zyvwwxyz|||{zywwwwxwyzy{}€€€†……‰‰…ƒ†…†………ƒ……„ƒ‚€~~~€~}{|||zyxwyvuyz}||{{yxyxwuuxyy|}~€€€‡‚ƒ‡‡ƒ………††„‚„ƒ‚~{|{|||}~~|{zz|zzzxxzwx{z{||}|zwxyvtuwwx|€€€Œ†„Šˆ„„ˆ…ƒ……†……ƒ{wwxzzy|{zyxy{yzyxxyyy{{||}}|zyxxwuuvvv{~€€~Ž‘Œ‰Œƒ€‡Š‰‰ŠŠŠxww{{xzyxxxyzz{zyuwwwz{|}}}|zzywxvutvv{€“’’’’’’‘ˆƒ†‡‡†‡†ˆ…~xwxyuvvwvwz{{zzyuuuwy{|}~}zyywwxxwwy{~~~…†‡‡ˆˆ†ƒ…†ƒƒ„ƒ‚ƒƒ„„}vwvvrtuvuwz|}zyxz{yzyz|}}}zyxvwwxxy|‡}|}€‚‚€}ƒ€€€€~uuttssutuwyyzyxz|{zzyz}~}}~{xxxxy{}€ˆ€€~|{~€€€~€‚€~~€~usssrsttuvxuxxx{zyyyy|~~{vwxxz~€}}}|x€~}~‚€€€€€€€~tssrqstvuuwyyyzzyxxxz}~~|wrsvw{~~}}~|~{wq}}~}~€‚€~~~}~}ssssssuwxuwxxyzzywwy{|}zzxvpoqonqrpqqvz{wpmk~~~€~~}{{~~~}rtttutvxyxxzy{{yzyyyxsninnqrqolhfgfdefhedfikƒ‚‚„„‚ƒƒƒ‚‚„ƒ‚‚~}~|}~~€€€ƒƒ}xttwxzyyxwuwvsoooljlnlmˆ‡„‡‰ˆ‡ˆ‡‡ˆˆ‡ˆ‰ˆ‡‡†‡‰ˆˆ‡‡„ƒƒƒ‚‚‚ƒƒƒƒƒƒ„……††„ƒ€€€‚‚ƒ‚„ƒ„ƒ‚‚zu‰‰‡‡ˆ‰‰ŠŠ‰‰‰‰‰Š‰‰ˆˆ‡†‡ˆ‰‰ˆ‡†„ƒ‚„„„ƒƒƒƒƒ„…†‡‡…„€€€‚‚‚ƒ„„…††‡†‰‰Š‰††ˆŠŠ‰ŠŠ‰Š‰‰‰‰ˆˆ‡‡‡‡ˆ‰ŠŠˆ†…ƒ„ƒƒƒƒ‚‚€ƒ‡‰ˆ‡„‚€€€€‚ƒ„„…†‰‰‰‰‰ˆ‡ˆ‰ŠŠŠ‰‰‰‰Š‰‰‰‰ˆˆ‡‡‡ˆˆ‰ˆ‡‡…„ƒ‚‚‚‚‚‚€€€‚…ˆ‡††„€€€€€‚‰‰‰ˆ‰Šˆ††ˆ‰‰‰‰ˆˆ‰‰‰Š‰ˆˆˆˆ†…ˆ‰‰‰Š‰‡†ƒ‚‚€€€€€‚„†ˆˆ†ƒ€€~~ˆ‰‰‰‰‰Šˆ††‡‰ŠŠ‹‰ˆ‰‰ŠŠ‰‰‹ŒŽ‘‘Ž‡‚€ƒ‚‚€€€ƒ‡ˆˆ‡ƒ€~~€„ˆ‰Š‰‰ŠŠˆ……‡‰Š‹Š‰ˆ‰‰Š‰‰Ž‘ŒŒŒ‹‹‹‹Œ†…ƒ‚‚ƒƒ‚€€„‡ˆˆ‡„‚€€†ˆŠŠ‰ŠŠŠ‡…†ˆ‰Š‰‰‰ˆˆˆ‰‰‹…€~…†‡ˆˆ‡‡ˆ‰ˆ‰‡„ƒƒ‚‚ƒ‚€€ƒ†‰ˆ‡…‚€}„ˆ‰‰ŠŠŠŠˆ…†ˆ‰‰‰‰‰‰ˆ‰‡†}‚ƒ‚ƒˆŠ†ˆŠ‡ˆŠ‰ˆ…‚‚€€~…‡ˆ‡‡†ƒ||‡‰‰ŠŠŠ‹‹‡††ˆ‰‰‰Š‹Š‰†‡‰‡†‰‰‡‡ŠˆŠ††ŠŠ‰ˆ‡„€‚€€€‚…‡ˆ‰‡}}~ƒˆ‰ŠŠ‹‹‹Š‡†‡‡ˆŠŠ‹Šˆ…‡‹„‚‰ŠŠŠŠ‡€ˆ‡…‰Š‰‰‰‰‡ƒ€ƒƒ‚€„†ˆ|~}}…ˆŠŠŠ‹ŠŠŠˆ†‡ˆˆ‰ŠŠ‡…ˆŠƒ‡ŠŠŠŠ‡~‰Š…ˆŠˆ‰‰‰‰‡„€€‚ƒƒƒ‚ƒ€€€€€‚„v~|†‰‰Š‹ŠŠŠŠ‡†‡‡ˆŠŠ†„‡ˆ…„ˆ‰‰‰‰†}‰‹……ˆ††‰‰‰‰†…ƒ‚ƒ‚‚€€€€€pz}|‚ˆ‰‰‹‹ŠŠ‹‰††‡‡†††…„…†‡†††………‚‡ŠŠŠ‡…„ˆ‰‰‰ˆ‡ˆ„€€‚ƒ‚€€€hl|}{~„ˆ‰Š‹ŠŠŠ‹ˆ…†‡†…‡‹ŠŠŠ‰‰ŠŠ‹‹ŒŒ‘†…†‡‰‰ˆ‰ˆ‰ˆ…‚€€€‚‚€jhp|}~†‰ŠŠ‹‹‹‹Šˆ†ˆ‡†‹ŒŒ‹‹‹‹‹ŒŒŒ‘ˆ††„‡ˆˆˆ‰‰‰ˆ†‚€€€€‚„ƒ‚kjjv€~}‚ˆŠŠŠ‹Š‹‹Š‡††ˆŽŒŒ‹ŠŠŠŠ‰ˆˆ‰‰Š‹‰…‰‹ˆ‡ˆˆ‡ˆˆ‰‰‰‰‰‡ƒ€€€€€‚„……nmls€}}…‰‰ŠŠŠ‹‹Šˆ††‡Œ„‡‰‰‰ˆ‡‡‡‡ˆˆ‰„{‚‰ˆˆ‰ˆ‡ˆˆˆ‰‰ˆˆˆ…ƒ€€€‚…‡†nlimy€~}€‡ŠŠŠŠŠ‹‹‰ˆ…„†ƒ‚…†…†…‡‡„„„„‚€„††‰ˆˆ…„‡ˆˆ‰ˆˆˆ‡†…‚€…‡‡ijggjz}}‚‰ŠŠŠ‹‹‹‹Š†„…„‚‚€‚ƒ„…‚€‚ƒ„ƒ†‰‰‰ˆ‡ˆ‰ˆ‰‰ˆ‰ˆˆˆ†‚€ƒ…†nmhfer~{~…‰Š‹‹‹‹Œ‹ˆ„„……„„ƒ‚ƒ„ƒ……ƒ…†††…ƒ†‰‰‰‰Š‰‰ˆ‰‰‰‰‰‰ˆˆ†ƒ€€‚ljgffj{‚}€‡Š‹‹‹‹ŒŒŠ„„…†ˆ‡ˆ…„ƒ‚„…ˆ‰ˆ†„‚‡‰‰‰ˆ‰‰†„‡‰‰‰ˆˆˆ‰ˆ†ƒ€fgggghq~€}|‚Š‹‹‹‹‹‹‹…‚„††††ƒ€€€€‚……†„ƒ‚ˆ‰‰‰ˆ‰‰ˆ…†‰ˆˆˆˆˆˆˆ‰‡ƒ€€hhgfeffu€}ˆŠ‹‹‹‹‹‹…‚ƒƒƒ„~€ƒƒ‚‚ƒƒˆ‰‰‰‰‰‰Š‰‡ˆ‰‰ˆˆˆ‰ˆˆˆ‡ƒihgdfhgs€~…‹‹‹‹‹‹‹†‚€~€‚„…„„ˆŠŠ‰‰‰‰‰‰ˆ‡…†ˆˆˆ‰ˆˆ‰‰‡ƒhhfdghhm}}ˆŒ‹Š‹‹Œ†‚ƒ‚‚‚‚‚€‚‚ƒ„ˆ‰ŒŽŽ‹ƒƒˆ‰Š‰‰‰‰ˆˆ‡ƒjiiiiggjt}ƒ‹Œ‹‹‹‡‚‚‚‚‚‚‚‚ƒƒ„‚ƒ‰’–—————––—–––’‰†ˆ‰‰‰‰‰‰ˆˆ‰ˆjjhhnkgiq~}‡‹‹‹‹‰€ƒ„ƒ‚‚‚‚‚‚ƒ…„†Ž’“‘ŒŒŒŒ‰ˆ‰ŒŒ‰ˆ‰Š‰‰‰‰‰‰‰‰knmnppmpt|~}}‚‰ŠŠŠŠ‡€€ƒ„ƒƒ‚‚‚‚‚‚ƒƒ‡Œ„€~}|…Š‹†||}|‚Œ‰ˆ‰‰ˆ‰‰‰‰‰‰ˆ{zzzzzzzzz{zzzzzzz{zzzzzyyzz{„„ƒ„…††ˆ‡‡††ˆ‡‡ˆ†††††………‡‡„ƒ‚‚‚‚yyyyyzzzzyzzyyyyyyyxyyyyzyyy{‚ƒƒƒ‚„„…††……†ˆ‡††…„……………†††„‚yyyyyyzzzyyyyyyyyyyyyyyyzzzzz~‚ƒ„„ƒ„„……„„††‡†„ƒ„„„ƒ…†‡‡†…ƒ‚‚€yyyyyyzzzzzyyyyyyyyyy{z{{{zzz}ƒ…„„„……„„…†‡‡…„„ƒƒ„„…ˆˆˆ‡…‚‚‚‚€€y||zzzzzzzyyyyyyyyyyz|{}|||{}€‚ƒ„„„……………‡‡‡………„ƒ„…‡‡‡†…„‚‚€€|ƒ}|}|{zzyyzzzyyzz{}}~~}~ƒ‚‚ƒ„„„……‡††‡‡…………„„……‡‡††„ƒ‚‚‚€€€~}}|{zyzz|zyz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡‡……†……„„……††††„ƒ‚‚‚}{{{{{||{zzyz}zz}€‚ƒ‚€‚ƒ……„…„„……„ƒ„…†‡†„………„………†††……„ƒz}ystz€}}}||}~~€„†…„„ƒƒƒ‚ƒ…‡‡…†…„„…„ƒ„…†………„„„„„„…†††…„ƒ‚‚‚ƒu}}yy}‚}~€€€€‡ˆ‡…ƒƒ„„…‡‡†††…„„…………†„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚wz{zy{}zz‚ƒ~|yvx{}ƒ‡‡…„ƒ……†‡‡†…††…………†……†…‡„ƒƒƒƒƒ……†‰‡…‚‚‚‚{yxxyxxyy~~}|}}}€„††……†ˆ‡ˆˆˆ†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ†ƒ}€€‡„€€€„††††‡ˆˆˆˆˆ†…„„„…„„††‡†…„…„„„†‡ˆ‡ƒ‚‚‚‚„†††ƒƒ„ƒ„‰ˆ„€€‚ƒƒƒ€€„†‡‡‡ˆˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ…‡ˆ‡‡ƒ‚‚‚‚„†††ƒ‚‚‚Š‡‚„„„ƒ„†‡ˆ‡‡ˆˆ‡‡†…„…„„„††‡ˆˆ‡„„ƒ‚ƒ…†ˆ‡†ƒƒ„‚€ƒ……„††…†††ƒ‚€€…†‡‡ˆ†ˆˆ‰‡††„…„ƒ„†‡†‡†…„„ƒ„……ˆ‡…‚€‚ƒƒ‚ƒƒƒ„…‡†…„‚‚ƒƒƒ‡ˆ„‚ƒ…‡ˆˆˆ‡ˆ‡ˆ‡†…………„„…††‡‡…ƒƒƒƒ‚‚‚~|||~~€ƒ‚€‚ƒƒƒ„„ƒƒ‚€‚„……†…„„……ˆˆ‡‡‡‡‡†……„ƒƒ„ƒƒ…Š‡††}}|z{z{zz{{|~~~€|~€‚‚‚ƒ‚€€ƒ‚ƒƒƒ„„„ƒ„ƒƒ…„„„ƒ‚‚‚€€„„„……€~€~~~€€€€€~€€~}~~}}~}}}~~~}|~~€€€€€€€€€€‚Š†ƒƒ‚‚‚€€€{}~~~}}}||||||~€~~}}}€€€€€€€€‚„Š…‚€€€€€€€€€{||~~}}}}}|||{|~}€}}}~~€€€€€€~}~€„ƒ‚‚‚€€€€€€||{{}~€~~}}}}}|||}}||~€~~}~~€€€~}~‚ƒ‚ˆ‰‚€}}{{|}€~~}}}}}}|}|||}€~}|~€‚‚‚€}}~€‚††‚~|{{|}~}}}~}}~||||}{{zzz|{zzyz|‚‚‚‚‚~~~€‚‚‚‚ƒ€~}|||}}~€€}}}~~~~}||}|{|||}ƒ‡€~~{}€€‚‚‚‚€}}‚‚‚…„„€~~}|||~€€~~}~}}}~}~~|{{|}}}{{{}}|~~€€‚‚‚‚‚‚~}}‚„„ƒ€~}}|}~€~}}}}}~~~~~|yyzz{{xx}}{{~}}~€‚‚‚‚‚‚‚€~}~}€…„‚€~~}|{||~€~~~~}~~~~|}yxzzx{‚}|~}}}}~€‚‚‚‚‚‚‚‚‚€||~“‰‚€~}}|||}~~~~~~~}||ƒ…zxyyx|ƒ„|}~}}}}}~€€€€‚‚}„„ƒ‚€~}||}}}~~}}~}{z‚„{zzzy}‡‡|z}~~}}}}}~€€€€€‚‚‚€ƒ„ƒƒ‚~}|}}}~~}}}zz~€zyz{{~‡†{{}~€~}}}~~€€€‚‚‚‚‚‚‚‚‚‚~}}}}}}~€~~€~}~~~}}~~ƒ‚~||}€€~}}}}}~‚€‚‚‚{|‹‚‚~}}}}}}€}~~~~}~~~}~~}{z{€€}}}}}}~‚‚ƒ}{~‰‡‚ƒ~~}}}}|}~€~~|z|||||}}}}}}|||{z}€~}}~}~€‚‚‚‚‚||€‚ƒƒƒ€}}}}}|}~€€~{€€}}}}}~}~}}|}~‡„}~€~}}~~~~€‚‚€€€€~‚ƒ‚‚ƒ~}}}|}}~€€}Š}~~~~~~‚†~~~~~~~~}€€‚‚€€ƒ€|‚‚‚ƒ‚~}}}||}|€€„†‚€€€‚…€€ƒ‚~~~~~~~~}~~€‚€€~x{}€‚‚~~~}}}}}~€‚„ƒ‚„…ƒ€ƒ„‚€~}}~~€€~~~~~~}}~€‚€~yxy~„•‡‚~}}~~~~~~€€€ƒƒƒ‚„ƒ€€ƒ‚€€}}}~~~~~~}}}~€‚€~yvx}„‹„‚~}}}~}}}€€€€~€€‚€~}€~}~~~~€€€~~}}}}€‚‚€~zxxy‚‚‚‚~}||}}}}€~}ƒ€€€€‚€~€€€~|}~}}~~€€~}}}}}}‚‚~zxwwy€ƒ‚‚‚}|}}}}}€€‚‚‚‡‰ŠŠŠˆ‚€€€€~}}~~~~~~}}}}}|}€‚~ywxzz~ƒ‚‚‚€}}}}}|}€€€ƒƒƒƒ…†‡†……„…‚€}}}}}~~~~€~}}}}}}~€‚~{x{{{~‚‚‚‚}}}}||€‚‚‚ƒ‚ƒƒ‚‚€}}zyyyxxxxxxy}~}}}}~~}}€€}{{}~~€‚‚‚}}}}|{€€€€€€€€‚‚€€€{wuuuuuuuuuuvuy€€~}~}}~~}}~ƒ~€„„‚‚‚„ƒ‚~~}|{€€€€€€€€€€€~yzz{{{}}}|}~~}}~~~~}}~ˆˆ‡ˆ††„…†„‚™~}}}€€€€€€€|z}~~~~~|~}~~~~}{}~~~}}}~~~~ÓÓÓÒÒÒÒÓÓÓÓÓÓÓÒÍÇÊÆÏÑÒÒÒÓÓÓÒÒÒÒÒÒÑÑÑÐÑÐÏÏÏÏÏÏÏÏÏÏÏÏÏÐÑÏÏÉÀ·³¨¤–…ulq{nmkopvhlgZae__h`V]b`bYRQW]]cibgVXYZXYVV^WSZab_ZWOG?:=<744A3ÑÒÒÑÑÒÒÒÒÒÒÒÒÒÐËÆÉÅÌÏÐÑÑÒÒÑÑÑÑÑÑÑÑÐÐÐÐÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÐÐÑɹ¢ªž|…}„xcadt~r`bqnk^[]^b\ZXQbjb^URRS\[_jkkSY`d\SRNUU\ce^YPQLBB86643187ÑÑÒÑÑÒÒÒÒÒÒÑÐÐÏÊÄÇÃËÎÎÎÎÐÐÐÐÐÐÏÏÐÐÐÐÏÏÏÎÏÏÎÏÏÎÏÏÐÐÐÐÐÑÑÑΦŽŒtqrsppprx€|cedgi__^^_`UVX`g]\\XWUXVZ`kgTU\]WOQQTUagcd]RIDA=953341/3ÑÑÑÑÑÒÒÑÑÑÑÐÏÏÎËÃÇÃÌÎÍÍÎÏÎÎÏÏÎÍÍÎÎÎÎÎÍÍÍÍÎÎÐÏÎÎÏÏÐÐÐÑÑÐÐÎιœ”}ovyyƒƒkieaj]chh^^ZYc\V[hiVTVZ[VRNYR]kURV\]SOUSS]ebcXWWQI@=96442/.ÐÐÐÑÑÐÐÐÐÐÐÐÏÏÐËÃÄÃÍÑÐÐÐÐÐÐÐÐÏÏÏÏÎÎÎÍÍÍÌÌÌÍÍÍÍÌÌËËÍÍÏÏÏÎÍÏ¿—‘ƒˆ‚ygp€pfjabd[mf][WWP_dbcsp^TQW_XOKVTU]V\]]XPSTX]bZZ\RR\PJ?AB=531.,ÏÏÐÑÑÐÐÐÐÐÐÐÐÐÑʾ¿¾ÌÑÒÑÑÒÑÑÑÑÑÑÑÐÐÑÑÐÐÐÐÎÎÎÎÎÏÎÎÍÉÌÍÎÏÎÍÊÈÆ¥}~tiaourfaeb[^bXT^UVT]ihjjglZTY[USUVUUZT]`dXVXT]^`[[WVQSQJ?A?7661/1ÐÑÐÑÑÑÑÐÑÑÑÑÑÐÑÉ¿ÇÀËÑÒÑÐÑÑÑÐÐÐÐÐÐÑÑÑÑÑÐÏÏÍÎÐÐÐÏÎÌÈÌÍÎÐÐÎÊÆŶ~uhYVic]adcaeaZWTLPX\bdhla_WSRRPLVTVSbNWW\^[^]a__ZUTWQSLGD?A=431/6ÑÑÑÑÑÑÑÐÑÑÑÑÐÐÑÊÄÎÅÉÑÑÐÐÐÐÐÏÏÐÐÑÐÐÑÑÒÑÐÎÏÌÍÍÎÍÉÇÇÄËÊËÏÏÍÇÁÀ°…€wXUSURY\otiff][PECQ[T_dd`XVUMNLJNJSO]RUXWZZ^^]^c[UQVPZQDIA??41/..ÐÐÐÐÏÐÐÐÐÐÐÐÐÐÐÉÄÎÅÇÐÐÏÏÏÏÏÏÏÐÑÑÐÐÑÑÒÑÐÎÎËËÉÌƽÄÁÆÃÇÍÌÈ¿³©«ƒyxaYX[[ljasjkbXXTTWVgWQ^^WQZ[TNKHQRT]\TR\]XW[[YQW[VSZS[Y@66320/.--ÏÏÓ×ÕÏÎÏÏÎÍÍÍÍÎÅÃËÄÆÐÐÐÏÏÏÐÐÐÐÑÐÐÐÑÑÑÑÑÎÇÅÅÄÇ¿½²Â¼Â¹ÃÉÃÀ·§ŒƒuŒi`a\^ioZq_X`UQWWc`ZQRU[TSUXZNMNWUU_m`PYZXYXV\TS\[[a_NE=8541//...ÐÝêïíâÒÍÍÉÅÅÆÉÌÄÂÉÄÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÐÐÐÐÏÇÄ¿¹À¼´¦¿¹Á¶ºÄ¹À·œ‰}~qkgeffW^f`Xh]U]_RUUZ^WWUORQNNOV\XRURTTh]O\\ZUOP[Y[VZTPLB9>=;83/....ÞîÜ¿ÊëéÏÆ¿¸·»¾ÅÅÆÌÈÇÍÎÎÍÎÍÍÍÎÎÎÏÎÎÎÍÍËÊÉŹ°¬±µª¡°²½²·¼±±§ˆz{xokTch^[f[T^kaZa\NRTW`deWQPONPTNXYMQWQV``^d_WRNR[X[YSRZKED><;:730/--ìàˆ•Ëã˽º··»¼ÂÆÈÍËÇÍÏÏÏÏÎÌÊÌÎÏÏÍÍÍÊÈÅÂÀµ¥¡ §©œ¦°²­±¬©œˆwpnloq`Z\XddYYa`^cYRYVUWYc[TURPUXUVVZSRYSU\b[b[^^Y`aUV\YWTAAI<87876300/㯕•ˆ‚…ˆ…†‰‘•žÀÌÊÅÌÐÐÏÏÍÊÅËÎÎÎÌÉÇÀ¸¹º½®¢™“ŸŸ›˜§´¯­¥ž •zmhhYleVNJQYc\US`jbcqabgaVZPSRQRTXTWSW[T]QQaa`k_gamkdUROOLMB>B9877665/14·t}…ŠlY_Vbƒƒ~uËÈÃËÏÏÏÎÌĽÉÍÌËÉÁ±¦¢¡¨ª¡ šŒ–œ””¥³° •–•†wfgl]aXRTSS[ca_lqbTYfQYur]TQMOOMIKOPQPOS[W\aWU\\ck``[RKOJHGDIB9765555126‡‹¶¸»Ä¦lPj¢ÌÖØË¥|½È¼ÅÌÍÍËÊÁ¶ÇÌʹ¬ž ¡˜™’“…——‘Ž•—ž’Ž†yxrd\W\_[Q[`YV^k`URbjheb`VTOLKIKIIGHPNUa^[_YR_mjjX`WQXTKKBAB:965434449>n|vW[˜¬‡di³×àßÕ˜t¡Â¯µ½¹¾¶ÆÀ¸Åȶ¬¦ Ÿ¤——‘ˆ„‡ƒŒ…‚ŒŒˆ‡„†„‚|yrdYXWXb\W\WU[jTSRbjiUU^[UOMMLMKHKLJTW`eT\TSovgjbeaWa\WVI=;<98643474f€‰ª¸¯F7u g:BR?\j”£¦§³Ã¹­¦¡˜šš™¡­½µ“”“Œ‹†ƒ……}ƒ‹ˆƒ‚}||unlh]Y\U\a[W_]a]Y]]^a]WSLYWPNRMDGIHCAHJKSLUV\`d\dr`aR^b^KGDA>=95667:>@>edm~–“Z<5J`RmN?O…´I|§GHKJMecPVUONHKš”’ŒŽ‡…†ˆ‚}‚zwtwwrkfZahd]TXQS`hggYRVUl`f\PTSQKJFJUMELNOHSS_a\O]gihXdgYPYaSGBA=;8889=BNBOXXYZ[Y[[[estslb^Vlƒ®ŠTO?<A<ƒž™‘‚„‰†Œƒ}€|wwz|wg[U]]^Z]ZQ]]`cjikquoT__WOTTIGGQYSSQRSKMX\`[PQa^caakiYbVB;:>==:;:;>>>;nojhigfgihiiffhglonåÏcJEDA7;;?<66785`¦ÐÈŠ€†ŒŽ‰ƒŠ…{zy}yztb\abWZWW[d[RPau†xj_bhTWPMTUNOKDBOWSUVUQahfg]U\]a^V`YXWH=99<<88:99?==<`WURONNOPOPNNORTVVaèÅr`glmqx{{|xtqgdp²ê鎃†‹Œ„ƒ†ƒ€wvxxvvxi_a_RR]]^`VWbekcaX`geUXPMNTMJC=CRWXb^^ckocba[`W]VUXZWC;9988:8888;?@>?MKLNLKJKJILLMMOQRVs|´ÇÎÄÅÈÊÌÍÍÏÏÎÍËÉÈÊÉ°£€ƒ„‰‰ƒ}ƒ~yvy|}ysnj`VOM[Z_VV[__\K[caa^\cZMPWRPJMQQSXY[X^qf^^_\[^\TYOPNB985iz78999=CHEG¨Œ¥dV[^`fsaa^[\¤­¸çxŒØ×ÛÛÜÜàâããããáÝÜÜÛÜ |€„†ƒ‚||tsz{vldfVUWGCQYYY[^QMKX\a`Y_haVONLNPPPLILQZ\]bc]a[XV[QLOLC=9996^‡<99:==@JKHóîù£OX\`ˆ©fZVPléòðó{…ÞÞæèççìíîéìïîêèéåàÀ€ƒ………‡~zzplrx}sldbRTVILTX\_WQVTWX^Z[[]d_UMFFDFJKGHILVZ`_WQZVXUWOJIE=86896\}@:9<>=DHIJ×Ëä¦OQV]¥ÔmYWRiÒÏÅÁYßÞéêëêÖÊÌã̽ÇçëæáÚÔ“{€„…ƒ…„}zytypsyvmkbSXYW[\c_[IGU\cZ^][YZ_ZRKDGB?@?>>BNRYe]W\^V[]RMI=;:98893ßK37=:>EJIGSOX“âíëííìêíîíííÎsQK>…ëæçëãëéÝÞçàÚÛêåêäåæ›|{~€}~„ƒ~{|yqmsllff`kse]PS^]XTV][c\Z_i\RLDBBBFB@?EKD@N`ol_OTjTIB;<<8<<;:?8{ÚU5>=@FKKDYNSƒÖéíòññòóóòèß·hNICyèíëììììëëëëééëëëìîãŽ~|}~{~ƒ…‚z€~tjknnjd`a[`^PPYXQQXa_]\_a`WWNJABIJD>DUULW`apoUY\NC;777@QXQjpl{l`bTKD?;=BHNJC=A:ƒòl<>5>JIYcpDIqrJT\Z]\ZY`aYƒaFESgÚêßÑÙíØÊÆÃÈÍÕêÝÌÚèÕw|‚€|€|vƒ€|vtpmjkhfqcY[a\[_VSVSWS^b_h`XZUQKIIDHLFGIRRVmopx{hfpkYRNNRXWWVHHQ<€óm95:W]`nmnLKUyx~ŠŒ››‘––oPMKETÍÕ´i†êºxrnss ë—\§ÎÇq|€~€y~{zwvmcad]_neXRY\d][UPP[X_jbe\SRXTMGA?KYcX^gkrg_\^dgkoqpqf^m|zsofklWŒó|VR]yxtvnj?>E^hkjkxvhgfb`UA@=9EºìßÓÍëé¹®¬­²àðÎÉàí®s†€y€x|z|re\eigdedX[]\WURQOV_]Y]]WPU[WSX^^u†{eo|t_W[`bdfljr‚ˆ„€†ˆ~„‡‹‹›»–“‹…wxujBJNQMJGDBDEIJMS]H/15?y´µ±µ»¶»ËÕƳ¥¤««ºÁvo…ƒz{zv{~€szpgecjeaeb[^XXUS[\RQ[\SNQX]]Z^f}ˆ‹‘ŠgfwqYT\_`_aknoy„ƒ‚zz€Œ‘‘–•’Ž‰Ž†‚rwsnrlh}|||}|}}~€€„s.-2H_m‡…€~††ˆŽwidgne\UWs}}xxyx|yzuuqpqlpoqurprnr|Š“‘‰Œ”•’ˆ‡•°•†€}peqreV]ca`_ckjowkifii{ƒ†‚ƒ‰‹‡ˆˆ~whmsomjR\[]]_cffffghgikd<:;^……„ƒ‚‚žšˆ…}~}}{{zxwuuuvwwvutqqqpqpruw{|}~|zyxy|||}ƒ‰”­·´©—†zrnpporplif`_`^]cbZZaaaflpklhegtuntqjbmyqvydfedefjooonnllkknqsu|€€~}{yx‘’£¡Œtstw{z{zyxvtsttvuusrpljkknnqsvxxxwvuvuuvutrv}ˆ”¡®²®¥œ~uljigdb_[Y][YY[\[\\\]^\Y[[ZYYXZS^_ix}yuqnnmnrsuvvvusrqsux|}~€~~}zxwv†|Š¤–wqruvyzyxwurqqqqqrqoljjihhiknpstuwyxxvspprrqpry‚ŽŸ²¾¸¢Švljlkhda`_[WVWXVWYZbfXXZ^ZZZXUVZW]}ytollklmprsrsssqppqswy{|}}}}{zyywqrŽ˜•‚vrstuvwxwvtqollmmmmmkigeffghjnruwxyxvtpnopqssrpq›³ÂÀ¯—‚sklliged\X]XWWW\\VVX^WXX]ZZYWV||zvqmkkkmoqrrrstutttttvxyy{|||z|zxvsppƒ¥¥nnossuvwxyxxtqmklmpqolkjhhgffhkmqtwxyzywuroorttsqryˆž·ÈÀ£†sknmmlhgdb_\XWVVVVVXX^ZZZZZ{{yywtoljiknopppqssttsrsstvxyzzz{{ywutssrqv£µ—nnpqrtuvvwwuolklnoopnkigfdcbbdgosuwxyzzvsnkjoqrrnmo‚¥ÆÌ°‡rmlonmljhda^YXVTTWWZ\WYZYxyyyywupkhgjlmnnooqqrrqqopqtuvwyyz{zwvutsssˆ˜‚mjmqrssssuusqpljkkorqnkhfefdcadinqtvyzyxxvoklnqrssoo|—¸Ç¾¤†ummnnlkjgc`\WUVUZ^VWVVvwyyyxwurlhfgjkllmnnoppponnoqsuvwyzyxwvusssomo€«´Œooopprsssstrpnkjnooqokgeddbaachmpsuvvxyxwsolloqrqpmqœ¼ËÁ£…tonookjigeca^ZWYVTVtuwxxwwvtpkfdefgjkllmoooooonnpqrtvvvwwvutssrrpwš¡‹okjmooprsrsssrnljijoqrnjgebcdb`cfjmprtvwxxxtojiknppolhn‡±ÎϳŒusonlkjjihhhdaZYZoqstvvwwusplfcbdfgijklmmnoomllmnprsuvvwvuvutsqpmmosƒˆzmnopposssrrqnjiklqrrpmhfffeb``eknqsuvxxxwtlfgkmoonjgi±ÑÒ´‰ropomkiijjihea`moqtuwwwwvsplgeeefghikllmnnmmlllnorutuvvvvvutrqqqp{ºË©snmmkhnnooopnljihjnrrrqmjgiigbadhloqtuwwwxvrmhgjnonnlhmƒ©Ìг‹vqppnmkjiijgfkloruwwwwwvtrnjfeeffgijllmnnoonklmorrtvvvvvuutrpooopux‡Š…’’’’‰‰…|ukijppsrolkiiifdceimnprtwwwvvunigknoopoji€¤ÄÏ»›~qponmljihhdjmoruvvwwwvsqnjfeeefhlmmmmnopnmkkmoprtuvwwvvtrz‚š ª±µ·µ³±­²µ±°±°°³µµ±¨™qiiknpomjggfeebbdhkorsuwwwxwtnihimopqoljsŽ²Îɯ“yqoommllafilnqstuvvutrpmidccdegilllmnnnooljlmnprtuuuvs‰®©¬­§Ÿ”‰‚|vromkkhikosx‰‹Œlgefhklljhdbcca_`afilorrstvvurnhhjmooppnkk¡ÀÍÄ­’zssqo^eikoqrssuuusrpmhdccddfijklmmmnomkjiklnprstuu¥˜|umc]XSTZ`f}¢£„lf\VVVTRPLn{khfdehjljgdba``_^_`behknqrrrqqpmjffjlnmnligm~¢ËÖÄ™ulnÃw^fjlnpqsxxvutspmhdcccdhiklllkkkllkhgijmoqstv—cJLLNQT[XSUT`rmWIG\oomhbT?Enoliecbeihhfdba````_]]_cgilmmnooookdaeijllllkff{«Ñ×¼Œnοpahjlnorstvvttsolgdbbcfhijkkjkllmlkhgijlnqq€@L\gt€‡Žt9762//7<<@@78EW?fopoljfdcgjlkigfeeefdc``cglmnqrsttsspjggikmnnmmkgj|¥Î³ÅϘ[bfikmoqrsstttrolgdddeghjiklkklmnopmkjjmqIRU¡··¹ºº·³¨¨~{|“UE<329@:45fORonopnmjfdfjmmljifddeeda`bdgjloqttttutpkgfhjmmlmmlhh~…ºÈψ[cfjlnpqrttutsqolheddfhiiijkklmpqqppnlj{ƒAl8|²¬¨›Ž‰zˆÊ¤v´_C3:SZN842ZqClnnpoomkgddhmonljgddffec``adgjmpqttuutsojeehjlmnnmlhTš½ÊÇr\dhjlopqstutsrpolgeccefghiijjkmopppnnjˆjSr19ICA:8EDK]ehg`M>2HrsdD42A‡I`onnoommlifdeilmljhebaccb`__adhlnqstuutstpjedhlmmnnl[³Áѯ``gilmopqststsrqokgeccddefhhijklnppoomRsc/36799;HIIGGIGFJAHJFBB@AHIDJGj„eI4D|ž‹Fjllnnnmnonkjgddfillkifba``_^^]^`dhloqstuvvutrjdegilRKR½Æ̆[afijlnppqsssrqoligdbcceeefghjlmopnv|N”A132h¦–PAB;555:GJGNFYkyQ54-MŸQ`mlmnnmnmmmkjheccgjkllida`__``^]]_diloqstuuttroideh_TNYŸ¾ÇÅvYadgiknoprssrqpoliecbcdfffghijlnok{lcŽ77:>tŒ’„A832324<@9KOŒ–]573;–nSlilmmkmmmmllkifbbdhkkkieba__`__]\]`eknpqssttstsoici[QKd¯¿Í½l]cfhjlnoprsssqpokieabbdeeghiiklni~\z8FIDˆ¡«œOL?2112210;A„¦•N:522Khhjlmlklklllllkhcacfjlmljea_^_```^\^bgknoprstuutsmmbQNLz»ÂЬb_dgjlmooqrssrqolkgbaaadefhiijknbyRmFOMGY|jNMK=9:;;759Bv †F?850f©O€rhhhjlkkklmmmmkigcdfjmnnmieb``bdda^\_djmnpstuuutsprdSMQ‘¾ÄÓ–ZbgiklmnpprsrponlidaaabdgghjkmnekO¡fLVQYy™_FIHGFGGFDBF„— sG>@>1Y±R™M>>Ddkkklmmmmmkjgdbdhknnnlhda`bccc_\\afkmoprrrttnqz`QM\¥ÁÊË}\ehjkmnooqrqpppmlgca``begfWKJb‰]J¦h[dZ„WQHHKQSUUMUNU^n‰‰[F98=1Ns:K[@?>2Zljkkklllkkljhdabekmmmljfb```aab_[^dilnopqstutqj[QMl²ÃÐÄq_eiklmnoppqqqppmkgca`abeZ8;9O‰XChRTzO>ECBFQ[c_[TKI?DCCacVPPB5576;=75425_kjjjkkjjkkllkifb`chloonmjfcbbbcc]\^afjlmoprupppjWWjŽÀÉÖ¶hbgjklmoopqqrqqomjeca`aeV07:8AE?2330/2>9::62/.0ZmkkkjiiiigfcŒ¸À©jegghhiijkjjiiihgec_^bilnopmjg|vvtyunnrpklgMKLKy¾¿ÐÌwaghhkklnnnppqqqonZ0/,/127;?CJRWelw‹¢­·Î×Ä»³£”|m`RHC?;74200`mkkkjjjjihge{Ðæá¡bggghhhiijjhhiiigeb_^cilpqonlzƒtnonkoprldQKOMQšÀÄÖ¯`cfhjijlmmnopppon`1,,1678:<@GPcs¢Ùßäçêîîìëìîé™tg^YSK?83//2emkkkjkjjihhgeszsrfegfghghjiihhiiiifda_^ciloopotzuwwprjqrrpng[OLJg»ÁÌÕ[dfhijkkmnnnnoone4+,.15:?EP^k„œžñäëìíìëìììï⃱š…ubNA93//4hmllkjkkjjihhgfeballfggfghiihhhihhhgfca_^agkmporywyxpslknoqrwlRLMPŸÇÈÙ¹eeijklllmmnnnnooh9+-./4:@HUe}—À–êãëíîïïððñõæ„­~lTB;61/.8jmlkkjjjjjjihiiigpghggghhhggggfffghecb_]agknopyrqonoolnnqqrlULMKoÃÈÑ؉`hijklllmmmmnooj;,./.15:?HTas‚ÞèäáÝØÔÏËž£JPF?=l’R@;/-;lmmlliikjjjihhhhhgbafgghggggfgggghhihfedb_]aglnpnpxuqnprsklommXLMNRžÉÈÖºb`egijklllmmmnnk;////;?ZŸr9/12L¨ù½gX]h—n_elv}„‡ŠŽ’–•¦‹±ÙŽ=3-,@lmllmgekjjijiihhhhgj¢¶¹–eggggghhijihhggffdb`]`gpnnpvxwvyqoqpnsfRLMMRšÊËÖÀlhjlmmmmlmmmmnl9830.5BÒ¡{z‡“œ˜šŸ£¦¨¦Ÿ”Š}qiWEMhfA1.--Ajmlkkfahgggfgffffeed›éñé–bfffffhhiggggggfecb_]amtxvswvrsoonjnweNMNMLh½ÊÎ×™djkllmllmmmmml7850-/5?YaJ9BFO;99:87454412239=@A6/.**)?hnpsxwvƒƒƒ‚…†ƒ‚€|uskf›½º¤fcdfffggggfffggffecb^]u{xrnpqsqlmozwyh_\NMOR“ËÉÔËufkllllllmmmlj676-,-025<>@BDEFB??9/3@Vjz’£©°³µ²²··¶¶¶¶¶¶µ´³²¤“m_^`cceeeefeeffffffffeeca_llnkfcfmnt~{wzrmqhTNPVe¹ÉÊÙ©gklllllllllh]278.+,.1359=?@BDEGKMd‹`NHC=87411<{–¦µµ³°«¨¥¡Ÿ›™——–•”””““–—šš ™hbcdeeeeffeeeeefeeeffedcarpnpnxsvlxwyxx€€n_UMMQP…ÊÅÒÖ‡fkkljklkkfZU06<2,+*-.....-.-,------+++*++,+6ˆº›˜˜‰†}yvussrrrrrqqqqrtr…ƒbcdffffggfeeeeeedeffedcbˆ‚…|{~{mmt~|}wh_TMMNMW«ÉÊÛ»hffiiigee]VV05;5+DA1.-++++******+++*)*+.12/a³”rqpljifedb_\[Z\[\\[]\]\\]^][{ncecdddfffeefeeeedeefedc‹€w{xvmoxrokrmfecXNMMagƒÀÅÏÙadfggeefaZV53861BAKŸ¢mW[\^achjlpv‚š«”‘ŒŠ…‚‚‚‚}nwxfeaceffgffffeedfeeeffed…‚}{‚|wtvfdlt~vmoi]NMMZa]ÂÃ×Âhaeffghig]Q85867*6731.-.-****++*++,..,,+)^·†ca€ŠŒ‰†„„„„ˆ~†štkoƒ€‚„ƒ‚‚‚~‚clqdcbgklhgghhfffffeeefed†‡††††‡‡‡…†‡††‡‡‡‡ˆ‡‡‡††‡‡‡‡…ƒ‚}yvtttwxxyzzy{{zvtxyz{zyyz{~€€††††…††††…††…††††‡‡‡‡‡†‡‡‡‡†…‚€|xvtsutvyxxywyzyywuwvxzywwy{~€€€††††…†††…††††…††††††††††††††…‚€€{vwwvvwyyxxwzzyxwwvuxyyxxyz|~€€†††…††††…†††††††††††…††…„…††…ƒ€~zyxwwz|{xxxzzz{ywvvxxxyzyy|€†„ƒ†††…††…†††††††††…………ƒƒ„„…„‚~{ywvxz{yzzz{{{{zuuxyxyzzyz~€‚„€ƒ…„„………††…††…†………„‚‚‚‚‚ƒƒ~€€~|yxvxz{yy{}|{zyxuvwz{zzyz}€€‚„ˆ‰‡ˆ‰‰ˆ………‡……†…†………‚€€€€|}}}{yyvwwxzz||{{zywwwvwvy{y{~€€€††…ˆŠ†„†…†††…ƒ……„ƒƒ‚€~~€~}{{{|zyxwxvuxz}}||{yxyxvusvxy|~~€€€€†ƒ‚‡ˆƒ€„……††„ƒƒƒ‚{|||||}~~|{{y|zzzxxzxxzz||}~|zwxxuttvvx|€€€‹ˆƒ‰‰…ƒ‡†‚„††‡†††}wwx{{z{{zyxy{yzywxyyy{{||}}|zywwvuuvvv{~€~ŽŒŒˆŒ„†ŠŠŠŠ‹Š…yww{{xyxxxxyzz{zwuwwvz{|}}||zywwxvuuvv{~‘““’““““’‹‚…‡‡††‡ˆˆ€zwxyvvvwvwz{|zywuuuwy{|}~}zxywvxxwwx{€~~‡‡‰‡‰‰ˆ…†‡ƒƒ„„‚‚ƒ„…xwuurtuvuwz|}zyxz{yzyz|}|}zyxvvwwwy{‡}|~~‚‚‚~~ƒ‚€€€~€wutsssustwyyzyxz|{zzyz}~}}~{xxxxx{}€€ˆ€€}{~~€€€€‚€~~~~€vsssrstttvxuyxxz{yyyy|~~{vwxxz~€~}}~{x€€}€~‚€€€€€€€vstrqstvusvxyyzzyxxxz|~{wrsvw{~~}~~}~{wq‚~€‚€~~~}|}~tsttssuwxuwxxyzzxwwxz}}zzxvpoponqqpqrvz{wpmk€€€‚€~}|}~~ttttutvyyxxzz{{{zzyyxsminmqrqnkgfgfdefifdfikƒƒƒ„…‚ƒ„„„‚ƒƒƒƒ~~}}~€‚ƒƒ}wttwxzzzxwuwvsppoljlnll‡‡†‡ˆ‡ˆ‡‡‡ˆˆˆ‰ˆ‡‡ˆ‡‡ˆˆˆˆ‡„ƒ‚ƒ‚‚ƒ„ƒƒƒƒƒ„……††„ƒ€€€‚‚ƒƒ„ƒ„ƒƒƒ{u‰‰ˆ‡ˆ‰‰ŠŠ‰‰‰‰‰Š‰‰ˆˆˆ‡‡ˆ‰‰‰‡†„ƒƒ„…„ƒƒƒ‚‚„…†‡‡…„‚€€‚‚‚ƒ„„…†‡‡†‰‰Š‰‡†‰ŠŠŠ‰Š‰ŠŠŠ‰‰‰ˆ‡‡‡‡ˆ‰Š‰ˆ‡†ƒƒƒƒƒƒ‚‚€€‚„‡‰ˆ‡…‚€€€€‚ƒ…„…†‰‰ŠŠ‰ˆ‡ˆ‰ŠŠŠ‰Š‰‰Š‰‰‰‰‰ˆ‡‡‡ˆ‰‰ˆ‡‡†ƒƒƒƒ‚ƒ‚‚‚€€€‚ƒ…‡ˆ‡‡ƒ€€€€ƒ‰‰‰‰ŠŠ‡†‡ˆŠ‰ŠŠ‰‰‰‰ŠŠ‰‰ˆˆˆ†…‡ˆˆˆ‰‰†„ƒ‚‚‚€€€€€‚…ˆ‰ˆ†ƒ€~~ˆ‰ŠŠŠŠŠˆ††‡‰ŠŠ‹‰‰‰ŠŠŠ‰‰‰‰‰‰Š‹ŒŒŽŒ‰†‚€ƒ‚‚‚€€€„‡‡ˆ‡ƒ€~~„‰ŠŠŠ‰ŠŠˆ……‡‰Š‹Š‰‰‰‰ŠŠ‰‹‘’’‘’‘’†…ƒ‚‚ƒ„„‚‚‚€„‡ˆˆ‡„‚€€†‰ŠŠ‰ŠŠŠˆ…†ˆ‰ŠŠŠ‰ˆˆˆŠ‰Œ‰†…‡ˆ‡ˆˆ††‰ŒŠˆ‡„‚‚ƒƒ‚‚ƒ‚€€ƒ‡‰ˆ‡†‚€}…‰ŠŠŠŠŠŠˆ…†ˆ‰‰‰Š‰‰ˆ‰ˆˆƒ}{~‚„…‡Šˆˆ‰ˆˆ‹‰ˆ…ƒ‚‚‚‚‚€€…‡ˆ‰ˆ†ƒ||ˆ‰‰ŠŠŠ‹‹ˆ††‰‰‰ŠŠ‹Š‰ˆ††ƒƒ…†„„ˆŠ„‚Šˆ†ŠŠ‰ˆ‡„‚€‚‚€€€‚„†ˆ‰ˆ}}~„ˆ‰ŠŠ‹‹‹Š‡‡‡ˆ‰ŠŠ‹‹‰††Š‰…‰ŒŠ‰Š‰‚}ˆˆ„ˆŠŠ‰‰‰‡ƒ‚ƒƒ‚‚€€€€ƒ†ˆ|}~…ˆŠŠ‹‹ŠŠ‰ˆ‡‡ˆˆ‰‹‹ˆ…†Š…~†‹ŠŠŠ‰‚|†Š…‡ŠŠ‰‰‰‰ˆ…€ƒ„ƒ‚ƒƒ€€€€€‚„v~|‡‰ŠŠ‹ŠŠŠŠ‡†‡ˆ‰Š‹ˆ„‡Š†€†ŠŠŠŠ‰|‡‹‡„ˆˆ‰‰‰‰‰‡†ƒ‚ƒƒ‚‚‚‚€€€€oz€}}‚ˆ‰Š‹‹Š‹‹Š‡†ˆˆ‰ˆ†„„††…‡ˆ‡‡‡†}†‹ˆ…‡†…‡‰‰‰‰ˆ‡„€‚‚‚ƒ‚€€€fk{~z~„ˆ‰Š‹‹‹Š‹‰…†ˆ†…†ˆ‡…‡‡‡†‡††‡‡‡ˆŠˆ……‡‰‰ˆ‰‰‰‰…ƒ€€‚‚‚€jgp|}~†‰ŠŠ‹‹‹Œ‹ˆ†‡‡…‡ŒŒŒ‹‹‹‹ŒŒ“Š………‡‰‰‰‰‰‰‰†ƒ€€€€‚ƒƒ‚kjiv€~~‚ˆŠŠŠ‹‹ŒŒŠ‡†‡‡‹ŽŒŒ‹‹‹ŠŠ‹Š‹‹ŒŒŒ‡ˆˆˆˆ‰ˆ‰‰‰‰‰‡ƒ€€‚„……mmkr€}~…‰‰ŠŠŠ‹‹‹‰‡‡‡ŒŠ†ŠŠ‰‰‰ˆ‡‡ˆˆ‰Š‰Š‰ˆ‰ˆ‡ˆˆ‰‰‰‰ˆˆ†„ƒ…‡‡nkhlx€~}€‡ŠŠŠ‹‹‹‹‰ˆ‡…‰…}ƒ‡‡ˆˆ‡‡‡‡‡‡‡…~‡†ˆˆˆ…„‡ˆ‰‰‰ˆ‰ˆ‡†ƒ‚‚…ˆ‡ijfgjz}|ƒ‰ŠŠ‹‹‹‹‹‹ˆ„„…ƒ„‚ƒ……‡ƒ‚‚ƒ„…‰‰‰ˆ‡ˆ‰ˆ‰‰‰‰‰ˆ‰†‚ƒ…‡nmhfdr€~{~…Š‹‹‹‹‹ŒŒ‰…„„„ƒ‚‚€ƒƒ„„€ƒ„„…„„‰‰‰‰Š‰ˆˆ‰‰‰‰‰‰‰ˆ†ƒ‚‚ƒljfefj{‚~}€ˆ‹‹‹‹‹‹‹Š…„„…†…†„ƒ…‚ƒ†…‡‰‡††ƒ„ˆ‰‰‰‰‰…ƒ‡‰ˆ‰‰‰‰‰‰†ƒfgffghq~€}|ƒŠ‹‹‹ŠŠ‹‹†ƒ…†ˆ‡ˆ†‚€€‚ƒ‡ˆˆ†„‚…‰Š‰‰‰‰ˆ…†ˆˆ‰‰‰‰‰‰‰†ƒ€€hhgfeffu€}ˆŠ‹‹‹ŠŒŒ‡ƒ…………ƒ€€…„…ƒƒ‚†ŠŠ‰‰‰‰‰‰‡ˆ‰‰‰‰‰‰ˆ‰ˆ†ƒhhgdfhgs€~…Š‹‹‹‹‹Œ‡ƒ‚‚‚€‚ƒƒ‚€€‚ƒ„ƒ†ŠŠ‰‰ŠˆˆŠ‰‡…†‰‰‰‰‰ˆ‰ˆ‡„hhfdghhm}}€ˆŒ‹‹‹ŒŒˆ€ƒ‚‚……„‡ŠŠŠ‰ŠŠŠŠŠˆ‚ƒˆ‰Š‰‰‰‰‰‰‡ƒjiiiiggjt}ƒ‹‹‹‹‹Œ‰‚ƒ‚‚‚‚‚‚‚‚ƒƒƒ„‡‰Œ‰†ˆ‰‰‰‰‰‰‰‰‰ˆjjhhnkgiq}‚~‡‹‹‹‹ŽŒ‚‚ƒ‚‚‚‚‚‚ƒƒ„ƒƒ†–—˜˜˜——–——––—‰‰ŠŠ‰‰‰‰‰‰‰‰jnmnppmpt|~}}‚‰Š‹‹‹€‚„ƒ‚‚‚‚‚‚‚„…„Š‘Š‹Œ‹‰‡†ˆˆŒŠˆˆ‰‰‰‰‰Š‰‰ˆ{zzzzzzzzz{zzzzzzzzzzzyyzzzz{„„ƒ„…††ˆ‡‡†‡ˆ‡‡ˆ††††††……‡‡„ƒ‚‚‚‚yyyyyy{zzyzzyyyyzyyyyyyyyzyy{‚ƒƒƒ‚„„…‡†……†ˆ‡††…„…………††††„‚‚zyyyyyzzzyyyyyyyyyyyyzzzzzzzz~‚ƒ…„ƒ„„……„„††‡†…ƒ„„„ƒ…†‡‡†…ƒ‚‚€zzyyyyyzzzzyyyyyyyyyz{z{|{zzz}ƒ……„„……„„…†‡‡…„„ƒƒ„„†ˆˆˆ‡…‚‚‚‚€€y||zzzzzzzzyyyyyyyyy{|{}|||{}€‚ƒ„„„……………‡‡‡†……„ƒ„…‡‡‡†…„‚‚€€|‚~|}}|{zzzzzzzzzz{}}~€~}~ƒ‚‚ƒ„„„……‡††‡‡†………„„…†‡‡††„ƒ‚‚‚€€~~}|{zzzz|zyz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡‡†…†……„„……††‡†„ƒ‚‚‚‚~{{{{{}|{{zyz}zz}€€‚ƒ‚€€‚ƒ…†„…„………„ƒ„…†‡†…………„………†††……„ƒ‚‚z|{ssw€}|}||}€€ƒ†…„„ƒƒƒ‚ƒ…‡‡…†…„„…„ƒ„†††………„„„„……†††…„ƒ‚‚‚ƒv{~yx{‚~}€€€€~~€…ˆ‡†ƒƒ…„…‡‡‡††…„„…………†…………„ƒƒ„ƒ„††‡†…ƒ‚‚‚‚xy{zz{}{z€„{zvw{|€‡‡†„„……†‡‡†…††…………†…………‡…ƒƒ„ƒƒ……‡‰‡…‚‚‚‚yxxxxwxxx}~~}}}}~ƒ…†……†‡‡ˆˆˆ†…†………………†‡……„„…„ƒ…†‡‡†„ƒ‚‚ƒƒ…}~€~……€€€ƒ††††‡ˆˆˆˆˆ†…„……„„„†‡ˆ††„…„„„†‡‰ˆƒ‚‚‚‚‚„†††„‚ƒƒ‚ˆ‰…€€€ƒƒƒ€ƒ†‡ˆˆˆˆ‡‡ˆˆ†…„„„„…†ˆˆˆ‡…„„„„…‡ˆˆ‡ƒ‚‚‚„††‡„ƒƒƒ‚ˆ‰ƒ€ƒ„„…ƒ†‡ˆˆ‡ˆ‡‡‡‡………„…„††‡‰ˆ‡…„ƒ‚ƒ…†ˆ‡‡ƒ€‚„‚€ƒ……ƒ††ƒ‚„‡„‚€€ƒ‡‡ˆˆ‡ˆ‰‰‡‡†……„ƒ…‡‡†‡†…„„„„……‰ˆ…‚€‚ƒƒ‚„ƒ€ƒ„†„ƒ„„‚‚ƒ„ƒˆˆ†ƒ„„‡ˆˆ‰ˆˆ‡ˆ‡‡……†…„„…††‡†…ƒƒƒ„‚‚‚~|||~~€ƒ‚€‚ƒƒ‚‚‚ƒƒ‚€„††††„†‡…ˆˆˆˆˆ‡‡†…†…ƒƒ„ƒ„†ˆ‡††~}|{{{{{z{{|~~~€{~‚‚‚‚€€‚‚‚ƒ„„†„ƒƒƒ„„…„ƒ‚‚‚€ƒ…„„……€~€~~€€€€}~~~~}}~}}}|~€€~}}~~€€€€€€€€‚‚‹†ƒƒ‚‚‚€€{}~~~}}}}|||||~€~}||€€€€€€€€‚„‹„€€€€€{||~~}}}}}||||}~}€€}|}~~€€€€€€}~€„ƒ‚‚‚€€€}|{|}~€~~~}}}}|||}|}}~€€~~}}}€€€~}~‚‚‚ˆˆ‚}}|||}€€~}}}}}}|}||}~€€}}}}~~€‚‚‚‚~}~€‚…†‚‚‚‚~||||~€~}}}~}~~||||~~~~}||{z{{{}€‚‚‚‚‚‚~~~€‚‚‚‚„~}}||}}€€~}}~~~~}|||}zzz{z|~||{z|€‚‚‚‚‚‚‚‚€}}‚‚‚†„„€~~}|}}~€€~~~}}}~}}}|}|}~ƒ~}}}|~~€‚‚‚‚‚‚‚‚‚‚~}}‚„„ƒ}}}}}~€€~~}}}}~~~~|{yz{{{yx{|||}}~~‚‚‚‚‚‚‚‚‚‚‚€~~~€€†„‚€~}}|||~€~~}}~~~~~}|}|zy{|yx~€{{}~}}}€‚‚‚‚‚‚‚‚‚‚‚‚€}}‘ˆ‚€~}}}||}€~~~~~~~~}|€„{vxywz€‚|}~}}}}~~‚‚€€‚‚€~ƒ„ƒƒ€~~}}}}~€~}}~~|{€ˆ~y{yxz‚†€||~}}}}}}€€€€€‚‚‚‚€ƒ„ƒƒ‚€~}}}}~~€~}~~~zy~‚}yz{z{„Š~z{}€}}}}~~€€‚‚‚‚‚‚ƒ‚‚‚~~}}}}}~€€~~~~||}}z{|}~ƒ†~{|}€€~}}~~~~‚€‚‚‚‚y{ŽŒ‚‚~}}}}}}€€€~~~~~~€~€€~}{|€~}}}}}~‚‚‚‚ƒ}{~ˆˆƒƒ~~~}}}|}~€€~{|||}|}}~}}}}||{z}€~}~~}~€‚‚‚‚‚‚‚‚||€‚ƒƒ‚~}~}}}|}~€€~{{{||||}||}}}}||~}{€€~~}~~~~‚‚‚ƒƒ‚‚ƒ~~}}}}}}~€€{‰}|}}~~~~~}~Š~€€~~~~~~}€€‚‚€€€€ƒ|€ƒ‚‚ƒ‚€}}}|}}}~€€~„Ž…~~~‚€~€‡†€€~‚~~~~~~~‚‚€y{}‚~~}}}}|}€€‚‚‚€ƒ…„€€‚ƒ‚€~~~~€€~~~~~~}}~‚€~yxy„•‡‚~}}~~}}}~€€€ƒ„„‚‚ƒ„„‚‚ƒ„‚€~}~~~~~~~}}~~‚€~ywx}„Š„‚~}~}}}}}€€€ƒƒ‚€€€€€}|~~~€€€~~}}}~‚‚€zxxy‚‚ƒ}}}}|}}€~}}€€€€€€}~€||~~~~€€~}}}}~}‚‚~zxwwy€‚‚‚‚€}}}}|}}€€ƒ„ƒ„………‚€€€|}~~}~~€€~~}}~}}~‚‚~ywxzy~‚‚ƒ‚~}}}}||€ƒƒƒ…ŠŠŠ‹‹ˆ…ƒ€}}~~~~~~€€~}}~~~~~€‚~{y{{z~ƒ‚‚‚}}}}||€‚ƒƒƒ„…„„„…„„ƒ€€~}~}}}~~~€~~~~~~~}}€}{{}~~€‚‚‚}}}}||€ƒ€€~|zyyxxwwwwwwz~€~~~~~~~}~~ƒ~€„„‚‚‚„ƒ~~}|{}‚€€€€€€€€€€}xvuuutwvvvvvvv{~~}}~~}~~~~ˆˆ‡ˆ‡‡……†„‚šŽ~}|z}€€€€€€€€€€€zy{{{||€ƒ€}}}|~~~€~~~}~~~~ÔÔÔÓÓÓÓÔÔÔÔÔÔÓÒÍÇÊÇÏÑÒÒÒÓÓÓÒÒÒÒÒÒÑÑÑÐÑÐÑÑÑÑÑÑÐÐÑÑÑÑÑÑÒÐÏÉÀ·³¨¤–…€ulq|onlppvhlgZae__h`W^cabYRQW]]cibgVXZZXYVV^WSZab_ZWOG?:=<744A3ÑÒÒÒÒÓÓÓÓÓÓÓÒÒÐËÇÉÅÌÏÐÑÑÒÓÒÒÒÑÑÑÑÑÐÐÐÐÏÐÐÐÐÐÐÏÏÐÐÐÐÐÐÑÒÒɸ¢«ž|…}„xcbdtsabqnk^[]^b\ZYQcjb^URRS\[_jkkSYad\SRNUU\ce^YPQLBB86643197ÑÑÒÑÒÒÒÓÒÒÓÒÐÐÏÊÄÇÃËÎÎÎÎÐÐÐÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÏÏÏÎÏÐÐÐÐÑÐÑÑÑÎçŒtrrsqqqsx€}dedgi__^^_`UVYai]]\XWUXVZ`kgSU]^WOQQTUagcd]RIDA=952342/3ÑÑÑÑÑÒÒÑÑÑÑÐÏÏÎËÃÇÃÌÎÍÍÎÏÎÎÏÏÏÎÎÎÎÎÎÎÎÎÎÎÎÎÐÏÎÏÐÏÐÐÐÑÑÑÑÎκ”}pwy~zƒ„kjfbj]chh^^ZYc]W[jjWTVZ[VRNYR]kURW\]SOUSS]ebcXWWQI@=96442/.ÐÐÐÑÑÑÑÐÐÑÑÐÏÏÐËÃÄÃÍÑÐÐÐÑÐÐÐÐÐÐÏÏÎÎÎÍÍÍÌÌÌÍÍÍÍÌÌËËÍÍÏÏÏÏÎÏÀ˜’ƒˆ‚ygqqgkbcd[mf][WWP`ecdtq^SQW_XOKVTU]V\]]XPRTY]bZZ\RR\PJ?AD=631.,ÐÐÐÑÑÑÐÐÐÑÑÐÐÐÑʾ¿¾ÌÑÒÒÒÒÑÑÑÑÑÑÑÐÐÑÑÐÐÐÐÎÎÎÎÎÏÎÎÍÉÌÍÎÏÏÎËÉƦ~~tjbpurfbec[^cXT_UVT]jikkhlZTY[USUVUUZT]`dXVWT]^`[[WVQSQK@A?8761/1ÑÑÐÑÑÑÑÑÑÑÑÑÑÐÑÉ¿ÇÀËÑÒÑÒÒÑÑÐÐÐÐÐÑÑÑÑÑÑÐÏÏÍÎÐÐÐÏÎÌÈÌÎÎÐÐÏÊÆŶž~uiYWjd^bedbfbZWUMQX\behmb`WSRRPLVTVSbNWW\^[^]a^_ZUTWQSLHE@B=531/6ÑÑÑÑÑÑÒÑÑÑÑÑÐÐÑÊÄÎÅÉÑÑÑÐÑÑÑÏÏÐÐÑÑÑÑÑÒÑÐÎÏÌÍÍÎÍÉÇÇÄËÊÌÏÏÍÇÁÀ°…€wYWTVTY\pujgf^[PECQ[T_fe`YWUMNLJNJSO]RUWWZZ^^]^c[UQVPZQDIB@?40/..ÑÑÐÐÐÑÑÐÐÐÐÐÐÏÐÉÄÎÆÇÐÐÐÐÐÐÐÐÐÑÑÒÑÑÑÑÒÑÐÎÎËËÉÌÆýÅÁÆÄÈÍÍÉÀ³©«Ž„zybZY[[lkbtjlbXXTTXWhXR__WRZ[TNKHQRT]\UR\^XW\\YQW[VSZS[Y@76320//--ÑÑÖÚ×ÓÏÏÏÎÍÎÍÍÏÆÂÌÅÆÐÐÐÐÐÐÑÑÐÑÒÑÑÑÒÒÑÑÑÎÇÅÅÄÇ¿¾´Ã½ÃºÃÉÄÁ·§ŠƒwŒiaa\_ipZraY`UQWWc`ZRSU[TSUXZNMNWUU_m`QY[XZXW]TS\[[a_NE=8541//...ÓÞëïìæÕÍÍÉÆÇÇÉÌÅÂÊÅÄÍÎÎÏÏÏÏÐÐÐÐÐÑÐÐÐÐÐÐÏÇÄ¿¹À¼¶©À¹Â·»Ä¹À·ž‰}slggggW]f`Yi_V]`RUUZ_XXVPRQNOOV\XRURTTh]O\]ZUOQ[Y[VZTPLB9>=;83/..-.ÞíáÎÚíëÐÆ¿¹¸»¾ÆÆÆÍÈÇÍÎÏÎÏÎÎÍÎÏÎÎÎÏÏÎÍËÊÉŹ°¬±¶¬¦²²½³¸¼±³©‰{|xpmTdh_[f[T^kb[a\NRTWadeWRPOOPTNXYMQWQV``^e`WROS\X[YSRZKED><;:730/--ìÞœ‡šÎèпº·¶»¼ÁÇÉÍËÇÍÏÏÏÐÏÌÊÌÏÎÎÎÍÍÊÈÆÂÀµ¥¡ §©ŸŸ©°²®±¬©Šxpolpr`[\XddYYba^bYTYVVWYc[TURPUXUVVZSRYSU\b[b\__Y`aUV\YWTAAI<878763100ë»›—‘‘’Œ‹Š‰‹”œ·ÎÊÅÌÐÐÏÐÎÊÆÌÎÏÎÌÉÇ¿¹ºº½¯¢š”¡ ›šª¶°­¥¡•{mhhYleVNJQZc\UTbkbcqabgaV[PSRQRTXTWSW[T]QQaa`l_gamkdUROOLMB>B9877665/14Ø‚u~†‡{Yb[Xt„„z„ÂÉÃËÏÏÏÏÌžÉÍÌËÉ°¦¢¡©«¢Ÿ›—••¦´±Ÿ•••‡wfgl^aXRTSS[cb_lrcTYfQZur]TQMOOMIKOPQPOS[W\aWU\\dk``[RKOJHGDIB9766555136ºx¬¼¾Âº€WX„½ÒÚÑ»„ Ë¾ÆÌÌÍÍÊÁ¶ÆÍËĺ­ž ¢™š‘”‡˜—’Ž•˜Ÿ’Ž†yxse\W\_[Q\`ZV^k`URbjieb`VTOLKIKIIGHPNUa^[_YR_mjkX`WQXTLLBAB:96533444:>“q‰ld„±šj\‘ÑßèáÃ~€½²¶¼·½ÃÈÁºÆËÈ¿²¬¦£¥˜—’ˆ„‡ƒ†ƒ‘ˆ‡„‡…ƒ|zseZXWXb\X\WU[kUSRbkhUU^[UOMMLMKHKLJTW`eT\TSpvgjbeaWa\XXJ=;<98543484KKFmz£¦ª­¼³¡•“’ˆ‚ˆŽš©´¢”“Œ‹†ƒ……}„Œˆƒ‚~€}|unlh]Y\U\a[W^]a]Y]]^a]WRLZWPNRMDGIHCAHJKSLUV\`d\dr`aS^c^KGDA>=95667:>@>ebp…±sL5>`^T`D;cr¦ˆ›¼‰IHFFKXJIIHJJO‘œŽŒˆ„†„}‚‰‚€‚z{{wvroj\`fdf\TV[Z`ae\W^V[a_YSMPNPLDFHCAGHECSJX[^Zcdc`VhfYY[VOJGH;75769v«‘‹Ž‡…†ˆ‚~ƒ{wtxxrkfZahd]TXRS`hggYQVUl`f[PTSQKJFJUMELNOHSS_b]O]gihXehZRZaSGBA=;8889=BNCMTSRSTTTVVXkqsnd[VY‘‡‹¨YZB>9DVZ[E::@;U©¡œ‘‚ƒ‰†‚„~€}xxz|wg[U]]^Z]ZQ^^`cjjlquoT__WOTTIGGQYSSQRSKNY\`\PQa^caaljZbUA;:>==:;:;>>>?RJLMMJJKKIJLKMNQVPmt™½ÕÐÍÎÐÑÓÓÔÔÔÒÐÎÏÍ×¹ˆ€ƒ„‰‰ƒ}ƒ~zwz}~ysnj`VOO\Z_VV[__\K[caa^\cZNPWRPJMQQSXY[Y`sg_^_\[^\UZOPNB985k†9899:=DHEGº‹£TYZ[^uc][[X‰Ã¦ã»eÅÙÝßßàâãäååååàßßßÞÌ…„‚„†ƒ‚||usz|€wldfWUWHDQYYY\^QMKX\a`Y_haVPNLNPPPLILQZ\^cd]a[YV[QLOLC=9997Z…?99:=>AJKHóìõÖ]U^an²…a\VSÃ÷ìôÄ]ÇßãêêéìîïìêîïìêëêâÛ¡}„€………‡~zzplrx~tldbSTWJMTX\_WRVTWX^Z[[]d_UMFFDFJKGHILVZ`_WQZVXUWOKIE=86896a„D:9<=>EHIJìàèØcLPTxØ›VTPSµìÔê [ÏàæêèíÞÈÂÖÚºº×ìæâÞÖ¿}€€……ƒ…„}zytypszvmkbTZ[Y[\c_ZJHV\cZ^][YZ_ZRKDGB?@?>>BNRYe]W\^V[]SMI>;:98894’äS27=;=EKLM~w“Œ”œ¥¸éȧ¦’llL\×âçêäê׳ªÊؼ·ÍêâæâÝÊ~~€ƒ€|yzympxolkcSbn_XV\^\VSZ\^fb\Y`^YPIGBBA?=79AGJM^kZW`\^`YHEC;79987;6‘æU0:>?EJIGSKRsÈëëëííêíîíëëà•VKBWÙêçéèçíåÞæçàÞæèéèæëÆ{}~„ƒ~{|yqmsllff`mse]PS^]XUW][c\Z_i\RLDBBBFB@?EKD@Napl_OSlTIB<<;8<<;:?8‚à^4?=@FLKDYMQnÂîðïððïððððëÛŒTMFSÌïìììíììêéììëëëììíïº~|}~{~ƒ…‚z€~tjknnjd`a[`^PPYXQRXa^]\_a_WXOIABIJD>DUULXaapoUY[NC;767=ACC@B<Šíl9A:@PXPjpm|Žl`bUKD?;=BHNJC=A:öu<=5?JJYcpBFe~OH`ddddbdmOmMDLX±íäÒÌåçÎÉÆÇÇÊãéÐÔâè¤z‚€|€|wƒ€|vtqmjkhfqcY[a\[_VSVTXT_b_h`XZVQLIIDHLFGIRRWmooy{hfpkYSPOT[XWVHIQ<øy:6;Y]aomnJKNpwnƒ‹–‹ˆŠ–…x\KLJEŸâÆ•|Êæ–z{zu‹áÔv“ÁÚ”y€~€z~{zwvmcad]_neXRY\d][UPQ[X`jbe\RRYUOGA?KYbX_hlrg_\_dgkopprg_o~}tofklX–ö‰\Y_yxuwokDCDXnru{‚“„{yysdJCC<9ƒëèãßçïÞÆÆÅÄÚòåÛäì߀‚‚z€x|{|rf\eigeedY[]\WVURPV_\Y^]WPU\ZVX^^u†{eo|t^W[abdfljrƒˆ„†ˆ~„ˆ‹‹Žœ¼–“Œ†~wxuk6AAHKHGHJMLKJJLWN6159W¦½³¯³±±¹ÇÈ·©¡¤¤«»›cƒƒ{{zv{~€szphebkfbgc[^YYX[^^XW_]XTTZda]bl~ˆ‹ŠgfwpZT\___aknoyƒ‚€yyŽ‘‘–”’‰Ž†‚rwsnsmI{z{yxyxxwxyz{~ƒF(29Yj‚†ƒ„‡Œ‡…tllpn_WQe}}xxyx|yzuvrpqmqorwsqsos~Œ”’Œ‘’’Œ˜µž†„ˆ~‚‚peqreW_ca`_ckjnvjhehj}ƒ†‚„‰‹‡ˆˆ~whmronkE``bcegjjiilmmoopH37Az…‚‚‚ƒŒœ—‰“†}~~~}{ywtuuvwwvutrqqppprvxz|}~}zyyz|}€ƒ‡‘›®¼¹­švpppoqqmif`__^]ca[Z`abgmoklhehuuntpkblyqvy``a`abejkllmliiikmnos€€~}}{y€ ¡vvxz{{zzzxvutuuvvusrpmkklnnpswyyxwvvwutvvtrv~‰—¤°´±ª ‘wmjigeb_[X][YY[\[]\\^^\Z[\ZYYXZS^_ix}yvronnnrtuvvvutsqsvx{~€€~}{xwv~†~Š¥›{qruvyzywwvsqqqqqrqoljjihhhjmprtuwyyxvspqrsssuz‚¢¶Â½¤Œvmjlkhda``[WVXYVWY[cgYY[^Z[ZXUVZW]}{upllklmorrssssrqqqswz|}}}}}|zyyxtt—™Š‡xrsuvvwxwvtqnllllmmmkigfffghjnruxyzxvsqnpqrttsps‚›³ÁÀ¯œ†ulkligfd]Y]YXXW\\WWY_WYY]ZZYWV}|zwrmkkkloqrrsruuuuutuwxyz{|}|y{{ywurp‚£¤pqqstvwwyyxxtpmkkmpqolkjhhgfgilmptwxyzxwuqportusqrxˆœµÈ©Œvlmmnmigeb`]YXWWVWWXX^ZZZZZ{{zxxupljiknoppprtttttrsstwxyzzz{{zxvsssrqx©º›onprrtvvvwwtplkknoopokigfecbbcgosuwxyzyvsnkloqrromo¢Åϵ‹vomnnmlkieb_ZXWUUXXZ\WYZYyyyzzwuplhgjlnnnppqrrrqqopqtuvwyyz{zxuuutssˆ˜ƒnlmpssttsuvsqqmjkkorpnlhfefdcaejnqtvyzyyyvplmoqrsspn|—¶ÈÁ¨Švnmnnmkkhd`]WUVUZ^VWVVvxyzzwwvrmhfgjklmnooopppooooqsuvwyzzywwvtttono€°¹noopprsststspnkjnooqpkheeebabdhmpsuvvxzywtplloqrqpnp½ÍÃ¥†upnnoljiheca^ZWYVTVtuwwxwvutplfdefgkkllmoooooomnpqrtvvwxxwvuuurrpx¢‰nkjmooprsrrssroljijorrnjgebcebacfkoqsuvxxyxtojiknpqpmioˆ³ÑÏ´vspnmkjjjhhhdaZYZpqsuvvwxvsqkfdbdghhiklmmnoomllmoqrtvwwxxvvvtsqpmmotˆ}mnppqoossrsrojhjmqqrpmhfgfeb`bhlnqsuvxyxwtlfgknoonlhk‡³ÐÒµuopomljjjjihea`mortvwxxxvtplheeffghjkllmnonnmllopsuuvwwwwvutrqqqpzºÎ¬wrooolnrrrsssqnkhilqsrpmjgiifbbeimprtuwwxywsmihknonnmjmƒ©ËÒº”yqqpomkjiijgfkmpsuwxxxxwurnjfffgfhjkmmnooopnkmnprsuvvvwwvutsrqqqvys‰ƒillijnooopqqnkhfimpqsromkijigedfimnprtwxxvwuoihkmnppoji~§ÈÒ½ ƒspponljihhekmoruvvxxxvsqnjgfffghkmnnnoopnmllmoqrtuvwwvwutrpooosw~“¥‘–—”••”Šƒ~tljjjkoqomiggffecbdhkortvwwxxwtojhjnpqqplkw’¶Ïͳ–yqpoommlagjlorstuvvutspmifddeefillmmnnnoolklnoqstuuuvvtuŠ˜¢­³¶¼Áº³¬ª°¯­¯®®±³³´®¦‘lggghlmljhdbcca_`afilorstuvvurnihjmoppqnjo„¤ÁÏÄ­”tsqo‚^eilprrstuuvtrqmieccddfijlmmnnoonljiknorstuvuw¢®ª¬©¡˜‡zsmkiihggknsy€††‘„jifdeikljhebaa`_^_`behknqrrssrqmjggknnnnmjho¥Í×ʦ{noÅy^fjmopruyxvvutqmhdcccdhjklmllkklmkhgjmoprtusˆ°ƒyrg`ZUSV]ak“µªi`[XWURQMS}skjfdcfiiigeba````_]]`dfilmoppppokebfhjlmmmkgf}«ÑÚÈšsÏÁq`hjlnprttvvuuspmhdbbcfhjkkkkllmmlkhgjlmpqsrŠ‰NKLNPSW\SUTWk|pVHGdpnjfcM=Stoolhcbehjjigecbbec`^^_bfiknprsrsroiddgjlmnoolhj„¬ÎؽÁѱa^eiknopqwwtuuspmhcabdfiijklnllnmmmjhhjmoqr‹]@W`mzƒ‰S4852/1:=>\gijkmhN<`qpomjgdcgjlkjheeeefdc``cglnpsttuutsqkggjlmoonmlhk}¤Í´ÅÏ\agiknpqrtttuurolhdddehijjklkkmnnopmljknoy‹DEt“¤¦ª°Šk[C55;GJHD<>B<7:QLHnnnpomjfdfjmnljigdeeeda`adhknprtutuutpkggikmmlmmlhi|ˆ»ÈÑŒ]cgjlnqqsuuvusqomieddfhiijjkklnprqppmlllƒu@Uv¶·¸ºº¹´®¥œuz‚sHE934>?64BpAcnnponmlhddimonlkheeefec``behknqrtuuvuspjfehjlmnnmlhVœ½ÊÉw\dhjmoqrtuvutrqolgeccefghiijklmopponmllŽYWUM­´®§œ“‹{±Êy¨œPB2CXUE446vVQonnoommmifefilmmjifbaccba`abeimoqstuutttqkedhlmmnnm\€µÀѵc_gjlmoqruuttsrqokgeccdefghhijklnpponmqŽDwJ2KNF@:?GE[koop`I95Xzi\75/`yCkmmnomnonkhecfjllmjgdbabaa`__bgjlnprutuvvvqjffhlmnn^a‡¼ÄÑŸ^dhklmoqsstttrqpojfdcddefggghjkmnopon|€I†;236898AKJGFGIFGI;@Wrb>5o˜I`mmnnnmoonkjhfdfjmlljgca_`__^^_`dhlorstuuvvurjcfgjlQLU•½ÄÎŒ\bgiklnpqrsssrqoligdccdfefghijlmnppl„j]235;X`I?KIECBBDIIBLO}{Y?3b—§gRnlmnnlnmmmkkifcdhklmliea`__``^]]_dilorttuuttroidfh]TN]£½ÆÇvYbehilnpqrssrqpolifdcdefggghjjlmool‡Vys122A’§s>E@7556@IIHLJ`vpC420uHkklmlkmmmmllligccehllljeca`_`__]\]`ekoqrssttsusojei[QLi±Àνk]cghjmnpqrsttrqnlifbbcdefghikklmnk‡N^2:7TƒŽ”`9522227@@>N\„“‹H551V£Obkkkkkklklllmmkhdbcfjlmmkfb___```^\^bhlopqsstuvtsnnbQNL€½ÂЬaaegjlnopqsttsrpmkhcbbadeghijkjlnkOœM=KA`ž¥³vIH72222313>S¢‚@931AŸi[rjkllkkkklmnnnligcdfjmonmjfcaabeda^\_djmoqstvvutsprdSMS—¾ÃÓ—\cgjklmopqrsrqpnljebaabeghhhijljep]˜GMNMIq‚{`KNE88998558K‹ nA<744ŒŠh•hkjhlkjlmmmmnmkjhebdhlnnnlidb`bddc_\\`gknoqsrrttnqz`QLa©ÀËÍ^fiklmnoqqrqqppmlhdbaaceghhjlmkc]q•KPWJmy¡‚KIJHFFGFDB?Y’˜™^E>A92€¢EjhF?>Kjkllllllllljidbbekmmnmjfb`a`aab_[_eilnppqrsutqj\QOrµÄÑÉzagjlmnnppqqrrqpnkhdb``bdfbTPT‚sMz™Nr…I‚w\OHHKPPROLTMWb{”„RD8=:1nk5ZW:A:5fkkkkkjjklmlkjfb`chlopnmjgdbbbcc]\]afjlmoprupppjXXm’ÁÊØÁobhjllnoopqrrrqpmjfca`acdF7;7‚uIZpLru>FEACKUafa\RKJ@IEQl_ROJ:4475;=7652Acijjjjjjjklmmlkfcabhmoppoligeecccc`^_behknppqspl]SVYÆËÖ¬ccfhjlmoopqqrsqnljfc``bc;4;9@GC62421/8?C?8:96557845965=C?AF;9:=EO600W¢Å‘dhijiiijkllllkhfb`bfinppnnkgedddeda^]^bgknrxvsrjUNLa¯ÇÎÕ]cfiklnnnopqrqpnlheb``bN5//.2NU<<97766776667666667776777779::=BO4?X…·²žgeghhihijkjkkjjhedbabhnopqokheeedc__^\]_dhtwvwy{kVPLyÁÉÓÆn`fhklmmmoppqqpomjgd__`a_Z]`3J\<<;:9888777777776677877787899:N54334433342:Œ´¬¥^BXkijjhk»ßá¨iefghhhiijjjkkjhgdb_bhlnnlkhc^_^^^^^mvokrtwuj^QMM~½ÃÑËr^fhjjllmmnoopnmlkifa`ckgg`”²¶ÁV112233223465454444333227nª¡–¡v2Hkijihf‰ÌÏÄzbeghhhiijjjjjkjigdb`bfikmlkhb^^^``_x}spvusqst\NMUÃÅׯbehijkllmnoopmmnlkhda_gR8e¨š¦´•X3./1111348977632122444o®¥®Åši/:fjijhifllhgddfghhhiiijiiiiiifdb``chlklkga_^^^^vtpmrrmjkmiPLKh¶ÁËÖŒahijlllmnonnpoonmkhdY]S,P›©ÊŸÅ¸XGHABCA<99c²P:DPURRSˆØìڶ΢Q.3cljjiiihhigfeefgghiiiiihhhhjhedb__dikmmkgd`\]]sqphmqrvtqmULMN‰ÁÄÕÈpcijklmnnonnpppqomjf[QC->‰ÄÊ·ð[]bh’–I€×iKxzug`m¬ºñíìÔàw9-4bljjiiiiihfedeffgiiiiiiihhikjhgea^^cjlmmmke`^^pghnkouwtvvbMM`o¤ÂÈØ®fhiilmnmopppppqpnlibP7:1,6dljjjighhhfdbdddfiijiiiijjjjjjifca__cilnnnlhdblpnmrroqtwuoVKPQd°ÂÌÖ’afjkkmmnpppppqqpnkeO4C>3g«–£¾Û¯º†emn`VaÕöÎdkuz€wš¬{vp?321,+7fmkkjjiiihfc“ÁÇ°lehhiiiijkkjjjjigec_^bilnopmjh}wvuyvoorpkmhOKLL~¾¿ÐËvaghhkklnnoppqqrolhI2402247>bSTwXlv{ly´æ½„rmkaZ_U:<>:840,.7glkkkjjjjige}Óçæ¨bghhhijijjjiiiiiheb^]bhmpqonm|ƒtoonkopsmeQKOMSŸÀÄÖ°acfhjijlmmnopppomjA/.-/038<>@FNY^cs‡œ¥·ÕÊ´«™‹{oeZPHB>:632.9ilkkkjkjjiigft~zweehhhjjijiiiiiiiigda^^biloopov{uwwprkrsspng[OMKj¼ÁÌÕ\dfhijklmnooooomlE+,/4579810-AnllkkjjjjjhhiihhoŽ€hhhhghhhhhggfffghfdb_]agknopzsrpoopmnnqrrlULMLoÃÈÑÙŒahiklllmmnnmooonR,--.27>DO\q‡¸£ÅêàìëììììììôÁ²Ž}jQB<50/-Epmllljjjjjihhhhhgb`ggghggggggggghhihfedb`^ahlnpoqyvrnqstkmommXLMNRžÉÈÖ¾d_egjjkmmmmmnoooV,,0-/4:=EUcu•—Á÷òòñññðîêçè¥]gTIGie==4/-Iommlliijjiiihhhhhecbfedhhgggghhijkjhggeeb^]bgknorvpppsvvokoojUNMNLmÀÈÐØŒbiillmmmlmmnonoX-/0.3;gvdAFRTWQVUWXWSLIFA748;;GE50.,-.Nlkjkkf`hgggfgffeeeeeba^addefeeeffggfffefgfeda^mlokecgmnu|xzsnqiTOQVfºÉËÚªhkllllllmmllmU+>..,/13/,+-0369?AACDFHKMQYQMHC?<632/4C]v‰›ª¯´¶¶¶³°³´³²²²±±°±³´«¤‚acdgfffghgeeefeeddfgfecaˆ‚…|{~|mmu|}€yi`UNNOMZ¯ÊËÜ»ifgkikllkj`XF*>4-,+-/001212534777@=30/-,+,--*H˜¤¯µ°¬¦¡ž›˜–’‘ŽŽŒ‹‹ˆŠ‹ŒŽžtbccddefgfffgfeeeddfgfec‹€w{xvmpxrpkrmfecYNMMagˆÃÅÏÙafghhhhhbWWG)>8/.:.,,+***)++**)*))*****+,..?œ³Ž’Š†|ywuqoomnmlllkiiiijljsˆibacefghgfggfedffefgffe…‚}{‚|wtwgdlt~vmoi]NMM]ba¤ÃÃ×Âicfgfdcc`ZXH*<631TRB93//.+**+*++++++.47=?@As®Šjmkhfecbaa_^^^_^^^]]]]^^]]]Yqwccbglmihhiigffggefffff†‡††††‡‡‡…†‡††‡‡‡‡ˆˆˆ‡ˆ‡‡‡‡‡…ƒ‚}yvtttwxxyzyx{{zvtxyz{zyyz{~€€†††……††††…††…††††‡‡‡‡‡†‡‡‡‡……‚€|xvtsutvyxxywyzyywuwvxzywwy{~€€€††††…†††…††††…††††††††††††††…‚€€{vwwvvwyyxxwzzyxwwvuxyyxxyz|~€€††††††††…†††††††††††…††…„…††…ƒ€~zyxwwy|{xwwzzz{ywvvxxxyzyy|€€†„ƒ†††…††…†††††††††…………ƒƒ„„…„‚~{ywvx{{yyyz{{{{zuvxyxyzzyz~€‚ƒ€€ƒ…„„………††…††…†………„‚‚‚‚‚ƒƒ€~€~|xxvxz{yy{}|{zyxuvvy{zzyz}€€‚ƒ‡‰‡ˆ‰‰ˆ†……‡……†……………‚€€€€€|}}}{zywwwxzz||{{zywwwvwvy{y{~€€€†‡†ˆ‹ˆ„†……††…ƒ………ƒƒ‚€~~€~}{{{|zyxvxvuxz}}||{yxyxwusvxy|~~€€€€†„‚…ˆ…€‚…†††„ƒƒƒ‚}|||||}~~|{{y|zzzxxzxxzz||}~|zwxxuttvvx|€€€ŠŠƒˆ‰†ƒ†‡ƒƒ†††‡†…xwx{{z|{zyxy{yzywxyyy{{||}}|zywwvuuvvv{~€~‹‡Š†€„ŠŠ‰ŠŠŠ‡|ww{{xzyxxxyzz{zwuvvvz{|}}||zywwxvutvv{~““’“““’“ƒ„‡‡†††‡‡{wxyvvvwvwz{|zywuuuwy{|}~}zxyvvxxwwx{~~ˆ†‰ˆ‰Š‰†…‡„‚ƒƒƒ‚‚ƒ„yvvurtuvuwz|}zyxz{zzyz|}|}zywuvwwwy{ˆ}|~‚‚‚‚‚~~‚‚€€€~€yutsssustwyyzyxz|{zzyz}~}}~{xxxxxz}€€‰€~}{~~€€€‚~~€ysssrstttvxuxxxz{yyyz|~~{vwxxz~€~|}}{x€€~~€~~€‚€€€€€€ystrqstvusvxyyzzyxxxz|~{wrsvw{~}|~~}~{vq‚~}}||}‚~~~}}xstsssuwxuwxxyzzxwwxz|}zzxvpoponqqopruz{wolk‚€~}||}‚~}}|~~wtttutvxyxxzz{{zzyyyxsminmqrqnkgfgedeehfcfhj‚ƒƒ…††ƒ‚ƒƒ„ƒƒ‚‚€~~}}~~‚ƒ‚}wttwxzzzxwvwvsppnljlnkk‡‡†‡ˆˆˆ‰‡‡‡ˆˆ‰ˆ‡‡‡†‡ˆˆˆˆ†„ƒ‚ƒ‚‚ƒ„ƒ‚ƒƒƒ„……†…„ƒ€€€‚ƒƒƒ„ƒƒƒƒƒ{u‰‰ˆ†ˆ‰‰ŠŠ‰‰‰‰‰Š‰‰ˆˆ‡†‡ˆ‰‰‰‡……ƒƒƒ„„ƒƒƒ‚‚„…†‡†…„‚€€‚‚‚ƒƒ„…†‡‡†‰‰Š‰‡†‰ŠŠŠŠŠ‰Š‰Š‰‰‰ˆ‡†‡‡ˆ‰Š‰ˆ‡†„ƒƒƒƒƒƒ‚€€‚ƒ‡‰ˆ‡…‚€€€€‚ƒ„„…†‰‰ŠŠ‰ˆ‡ˆ‰ŠŠŠ‰Š‰‰Š‰‰‰‰‰ˆ‡‡‡ˆ‰‰ˆˆ‡†ƒƒƒƒ‚ƒ‚‚‚€€‚ƒ…‡ˆ‡†„€€€€ƒ‰‰‰‰ŠŠ‡††ˆŠ‰ŠŠ‰‰‰‰ŠŠ‰‰ˆˆˆ†…‡‰‰ˆŠ‰‡„ƒ‚‚€€€€€‚…ˆ‰ˆ†ƒ€~ˆ‰Š‰ŠŠŠˆ…†‡‰ŠŠ‹‰‰‰ŠŠŠ‰‰‰ˆˆ†‡‰‰‰‹‹Š‰†„‚€‚ƒ‚€€€€„†‡ˆ‡ƒ€~~„‰ŠŠŠ‰ŠŠˆ……‡‰Š‹Š‰‰‰ŠŠŠ‰‰ŒŽ‘Ž‘’‘‘Ž†„ƒ‚„„ƒ‚‚‚€„‡ˆˆ‡„‚€€†‰ŠŠ‰ŠŠŠˆ…†ˆŠŠŠŠ‰ˆ‰‰Š‰‹‹……ŠŠŠŒ‹ˆ‡„‚ƒƒ‚‚ƒ‚€€€€„‡‰ˆ‡…‚€}…‰‰ŠŠŠŠŠˆ…†ˆ‰‰‰Š‰‰‰‰‰Š‰‚~ƒ††‡‰‡‡†‰ŠŠŠˆ…ƒ‚‚‚‚‚€…‡ˆ‡ˆ†ƒ||ˆ‰‰ŠŠŠ‹‹ˆ††‰‰‰ŠŠ‹Šˆ‡‡…~}‚ƒ‚…Š‰†‰Š‡‰Š‰ˆ†ƒ‚€‚‚‚€€€‚„†ˆ‰ˆ}}~„‰‰ŠŠ‹‹‹Š‡‡‡‡ˆŠŠ‹‹‰‡†‰ˆ†‡Šˆ†ˆŠ…~†Š…‡Š‰‰‰‰‡ƒ€ƒƒ‚‚‚€€€€ƒ†ˆ|}~…ˆŠŠ‹‹ŠŠ‰ˆ†‡‡ˆ‰‹ŒŠ†…‰‰†‹‹ŠŠŠ…|ƒˆ††ŠŠ‰‰‰‰ˆ…ƒ„ƒ‚ƒƒ€€€€€‚„v~|‡ŠŠŠ‹ŠŠŠŠˆ†‡ˆ‰Š‹‰…†Šˆ~‚ŠŠŠŠŠ„{‚‹ˆ…‰‰‰‰‰‰‰ˆ†ƒ‚ƒ‚‚‚‚‚€€€€oz}|‚ˆŠŠ‹‹Š‹‹Š‡…ˆˆŠŠˆ…„ˆ‡ƒ…‰‰‰‰‰‚{ƒŠŠƒ‡‡‡‡‰‰‰‰ˆ‡„€€‚‚‚ƒ‚€€€fk{}z~ƒˆ‰Š‹‹‹Š‹‰…†ˆˆ‡†…„„…††††………ƒ€„ˆŠ‰ˆ„„…‰‰ˆ‰‰‰ˆ…ƒ€€‚‚‚€jgo|}~†‰ŠŠ‹‹‹‹‹ˆ†‡†……Š‰‰Š‰‰‰‰‰‰Š‹‹Œ’„……†‰‰‰‰‰‰ˆ†ƒ€€€€‚ƒƒ‚jiiv€~~‚ˆŠŠŠ‹‹ŒŒŠ‡†‡‡‡Ž‘Ž‹‹Œ‹ŒŒŒŒŽ’Ž†‡ˆˆ‡‰‡‰‰‰‰‰‡ƒ€€‚ƒ……lmkr€}~…‰‰ŠŠŠ‹‹‹‰‡‡‡ŠŽŒ‹‹‹ŠŠ‰ˆ‰‰ŠŠ‹‰‡Œ‰ˆˆˆ‡ˆˆˆ‰‰‰ˆˆ†ƒƒ…‡‡nkhlx€~}€‡Š‰Š‹‹‹‹‰‰‡…ŠŠ€…‰‰‰‰ˆ‡†‡ˆˆ‰‰{†‰ˆˆˆ…„‡ˆ‰Š‰ˆ‰ˆ‡…ƒ‚‚…ˆ‡iifgjz}|ƒ‰ŠŠ‹‹‹‹ŠŠ‡…††€…†††††‡†………„€„…ˆ‰‰ˆ‡ˆ‰ˆ‰‰‰‰‰ˆ‰†‚ƒ…‡nmhfdr~{~…Š‹‹‹‹‹ŒŒ‰…„…ƒ‚‚ƒƒ„ƒ€€€‚ƒ„ƒˆ‰‰‰‰‰ˆˆ‰‰‰‰‰‰‰ˆ†ƒ‚‚ƒljfefj{‚~}€ˆ‹‹‹‹Š‹‹‹†„„„„‚ƒƒƒƒ†ƒ‚„…………‚‡‰‰‰‰‰†ƒ‡‰‰‰‰‰‰‰‰†ƒ€€fgffghq~€}|ƒŠ‹‹ŠŠ‹ŒŒ‡ƒ„…‡‡ˆ†„„‚€ƒ…‡ˆ‰‡…„‚ˆŠŠ‰‰‰ˆ…†ˆ‰‰‰‰‰‰‰ˆ‡ƒ€€hgfeeefu€}ˆŠ‹Š‹‹ŒŒˆ‚ƒ†‡‡‡†‚€€€…†‡†„‚ƒ‰Š‰‰‰‰‰‰ˆˆ‰ˆ‰‰‰‰ˆ‰‰…ƒhhfcfggs€~…Š‹‹‹‹‹Œ‰‚‚„„ƒ„‚}}~~‚‚ƒ‚ƒƒ„ŠŠŠ‰‰‰ˆ‰‰‡…‡‰‰‰‰‰ˆ‰ˆ‡ƒhhfdghhm}~€ˆŒ‹‹ŒŒŒ‰‚€‚‚~~{}~€€„„ƒ…‰ŠŠ‰Š‰ˆŠŠ‡ƒƒˆ‰‰‰‰‰‰‰‰ˆƒjihihggjt€}ƒ‹Œ‹‹‹‹Š‚ƒ‚‚‚€~€‚‚„„ƒ†Š‹Š‰ŠŠ‰Š‰‰‡†ˆŠŠ‰‰‰‰‰‰‰‡jjhhnkgiq}‚~‡‹‹‹‹Œƒ‚ƒ‚‚ƒ‚‚ƒƒƒ„„ƒƒ†Š‹‘’‘‘’‘‘’’’‰‰‰Š‰‰‰‰‰‰‰‰jnmnppmot|~}}‚‰Š‹‹Ž„€‚ƒƒ‚‚‚‚‚‚ƒƒ„„„‹”——————––—–•–”‹ˆ‰‰‰‰‰‰Š‰‰‰{zzzzzzzzz{zzzzzzzzzzzzzzzzz{„„ƒ„…††ˆ‡‡†‡ˆ‡‡ˆ††††††……‡‡„ƒ‚‚‚‚yyyyyy{zzyzzyyyyzyyyyyzzyzyy{‚ƒƒƒ‚„„…‡†……†ˆ‡††…„…………††††„‚€‚zyyyyyzzzyyyyyyyyyyyyzzzzzzzz~‚ƒ„„ƒ„„……„„††‡†…ƒ„„„ƒ…†‡‡†…ƒ‚‚€zzyyyyyzzzzyyyyyyyyyz{z{|{zzz}ƒ……„„……„„…†‡‡…„„ƒƒ„„†ˆˆˆ‡…‚‚‚‚€€y}}zyzzzzzzyyyyyyyyy{|{||||{}€‚ƒ„„„……………‡‡‡†……„ƒ„…‡‡‡†…„‚‚€€|‚~|}}{{zzzzzzzzzz{}}~~}}~ƒ‚‚ƒ„„„……‡††‡‡†………„„…†‡‡††„ƒ‚‚‚€~~}|{zzzz|zyz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡‡†…†……„„……††††„ƒ‚‚‚‚~{z{{z|||{zyz}zz}€‚ƒ‚€€‚ƒ…†„…„………„ƒ„…†‡†…………„………†††……„ƒ‚‚{{|ssu~|}||}€€‚„…„„‚ƒƒ‚ƒ…‡‡…†…„„…„ƒ„†††………„„„„……†††…„ƒ‚‚‚ƒxx€yyy|€€€~}ƒˆ††ƒƒ„„…‡‡‡††…„„…………†…………„ƒƒ„ƒ„††‡†…ƒ‚‚‚‚yx|zz{~|z~„€{zwwz|†‡†„„……†‡‡†…††…………†…………‡…ƒƒ„ƒƒ……‡‰‡…‚‚‚‚zywwxwxxw|€~~~~~}~‚…†……†‡‡ˆˆˆ†…†………………†‡……„„…„ƒ…†‡‡†„ƒ‚‚ƒ‚…}~ƒ‡€€€€‚††††‡ˆˆˆˆˆ†…„……„„„†‡ˆ††„…„„„†‡‰ˆƒ‚‚‚‚‚‚„†…†„‚ƒƒ‚‡ˆ†€€€„ƒ„‚€‚†‡ˆˆˆˆ‡‡ˆˆ†…„„„„…†ˆˆˆ‡…„„„„…‡ˆˆ‡ƒ‚‚‚„†‡ˆ…ƒƒƒ‚‡Š…€‚„ƒ„‚‚…‡ˆˆ‡ˆ‡‡‡‡………„…„††‡‰ˆ‡…„ƒ‚ƒ…†ˆ‡‡ƒ€‚„‚€ƒ……ƒ……„……†…‚€‚€€‚‡‡ˆˆ‡ˆ‰‰‡‡†……„ƒ…‡‡†‡†…„„„„……‰ˆ…‚€‚ƒƒ‚„ƒ€‚„‡ˆˆ‡…‚‚‚‚„‚†ˆ‡‚ƒ„‡ˆˆ‰ˆˆ‡ˆ‡‡……†…„„…††‡†…ƒƒƒƒ‚‚‚~|||~~€ƒ‚€€‚‚‚‚‚‚ƒ„„€„…………†‡ˆ…‡ˆˆˆˆ‡‡†…†…ƒƒ„ƒƒ…‰‡††~}|{{{{{z{{|~~~{~€‚‚‚€€€‚ƒƒ„„†…ƒƒƒ„„…„ƒ‚‚‚€€„„„……€~€€~~€€€€~€~~~}~}}}~~€€~}}~~€€€€€€€€€€€‚Š†ƒƒ‚‚€€{|~~~~}}}}|||||~~~}||€€€€€€€‚„Š„€€€€€{||~~}}}}}||||}~}€€}|}~~€€€~}~€„ƒ‚‚‚€€€||{|}~€~~~}}}}|||}|}}~€€~~}}}€~}~‚‚‡ˆ‚}}|||}€€~}}}}}}|}||}~€€}}}~€‚‚‚‚‚}}~€‚…†‚‚‚‚‚~||||~€~}}}~}~~||||~~€}}}}}}~€‚‚‚‚‚~~~€‚‚‚„~}|}|}}€€~}}~~~~}||{}|{{zzy{{zyyy|€‚‚‚‚‚‚‚€~}}€‚‚‚…„„€~}}|}|~€€~}~}}}~}}|}{{|||}……€~~{}~€‚‚‚‚‚‚‚‚‚‚~}}„„ƒ}}}}}~€€~}}}}}~~~}~}}|{}}}|z{|~|}}~~‚‚‚‚‚‚‚‚‚‚‚€~~~€€…„‚€~}}|||~€~~~}~~~~~|{zyz{|zx{~|{|~}}}€‚‚‚‚‚‚‚‚‚‚‚‚€}}~“ˆ‚~}}}||}€~~~}~~~~}|~€}wx{xw~‚||~}}}}~~€‚‚‚‚€~}ƒ„ƒƒ€~~}}}}~€~}}~~|{}‡xyyvxƒ}|~}}}}}}~€€€€€‚‚‚‚€ƒ„ƒƒ‚€~}}}}~~€~}}~|z}…z{{zz€‰ƒ{{}~}}}}~~€€‚‚‚‚‚‚ƒ‚‚‚~~}}}}}~€~}~~~{y|€~yz{{{Š‚z{|~}}~~~~‚€‚‚‚‚y{‹‚‚~}}}}}}€~~€~~~~~|}~~€ƒ}||~€€~~}}}}}~‚‚‚‚ƒ}{~ˆ‡ƒƒ~~~}}}|}~€€€}}~~~}}~}}}|{z}€€~}}~}~‚‚‚‚‚‚‚‚||€‚ƒƒƒ~}~}|}|}~€€~}{{{|||}||}}}}|||zz€€€~~}~~~~‚‚‚ƒƒ‚‚ƒ~~}}}|}}~€€{|}}||}}}}~}}}}€†}€€~~~~~~~€€‚‚€€€€ƒ|€ƒ‚‚ƒ‚€}}}||}}€€|€‡~}~}~€~~~~}†„~~‚‚~}~~~~~€‚‚€y{}‚~~}}}}|}€€‡…€€€€‚ƒ€€€„ƒ€~~~~€€~}~~~~}}~‚~yxy„•‡‚~}}~~}||~€€€‚ƒ‚ƒ……€‚‚ƒƒ€~~~~~~~}}~~‚€~ywx}„‹„‚~}}}}||}€€€‚ƒ„‚‚ƒ„‚€‚ƒ‚€|}~~~€€€~~}}}~€‚‚€zxxy‚‚ƒ}}}}}}}~€€€‚€}~€€€}|}}~~€€~}}}}~~~€‚‚~zxwwy€‚‚‚‚€}}}}}}}~€€~}}€€~}€€€}|}~}~~~€~}}}~}}~€‚‚~ywxzy~‚‚ƒ‚~}}}}||~€€€€ƒ‡ˆˆˆ‹‹†€€€€}}}~~~~~€€~}}~~~~~‚~{x{{z~ƒ‚‚‚}}}}|{~€€ƒ„ƒ„‡ˆˆˆ‡‡†„‚€€€}}}~~~~~‚~~}~~~~}}~€€}{{}~~€‚‚‚}}}}|}~€‚ƒ‚ƒƒ„ƒƒƒ‚‚ƒ€€}}}}}}}}}~~€€~}}~~~~}~}ƒ€~€„„‚‚‚„ƒ‚~~}|||€€ƒ‚€€|zxywwwwwwvwwz~~~}}}~}~~~~ˆˆ‡ˆ‡‡……†„‚™~~}|{{€€€€€€€€€€€ywuuvuvwvwwwxwx}~~~~}}~~}}ÓÓÓÓÓÓÓÓÔÕÔÓÓÓÒÍÇÊÇÏÒÒÓÔÓÓÓÒÒÓÓÓÓÒÒÒÑÑÐÑÑÐÏÏÐÐÏÐÑÐÏÑÑÑÏÏÉÀ·³¨¤–…€wmp{onlppvimgZaf_`iaW_cacZTRW^^chbgVXZZXYWW^XTZab_ZWOG?:==743B3ÓÒÓÒÒÓÒÒÒÓÓÒÒÒÐËÇÉÅÍÑÑÓÓÒÒÒÑÑÒÒÒÒÒÑÑÑÐÏÐÐÐÏÏÏÏÏÏÐÏÏÐÐÐÑÒɸ¢«ž|…}„xdbdt€sabqol^[]_b][YScjb_WRRS][_jkkSYad\TSOVV\ce^YPQLBB86743197ÒÒÑÑÒÒÒÒÒÒÒÑÐÐÏËÄÇÃÌÏÏÐÐÑÑÑÑÑÑÒÒÐÏÐÑÐÏÏÏÏÏÏÏÏÎÏÐÐÐÐÑÑÑÑÑÎçŒtrrsqqrsx€}dedgi__^_`aVVYai^]]YXUXVZ`kgSU]^WOQQUWbgcd]RIDA=952452/4ÐÐÑÑÑÒÒÑÑÑÑÐÏÏÏËÃÇÃÍÏÎÏÐÐÐÐÐÏÎÏÏÎÍÎÎÎÎÎÎÎÎÎÐÏÎÏÐÏÐÐÑÒÑÑÑÎϺœ“}pwy~zƒƒkjfbj]chh^^[Zd^W\jjWTW[[WROZR]kURW\]SOUSS^ebcXWWQI@=96543/.ÐÐÐÑÑÑÑÑÑÑÑÐÐÑÑÌÃÄÃÎÒÒÒÒÒÑÐÑÐÐÐÐÏÏÏÎÍÍÍÌÌÌÍÍÍÍÌÌËËÍÎÏÏÏÏÎÏÀ˜’ƒˆ‚ygqpgkbcd[mf]ZXXRafdfuq_TRX_XPLVUV]V\]]XPRTX]bZ[\SR\QK?AD>631.,ÐÐÐÑÑÒÑÑÑÑÑÐÐÒÒ˾¿¿ÎÒÓÓÓÓÒÑÒÒÒÒÒÒÒÒÑÐÐÐÐÎÎÎÎÎÏÎÎÍÉÌÎÏÏÏÎËÉƦ~~tjcpurfbec\^bXT_VWU^kjklimZTY\UTVWVUZT]`dXVWT\^`[\XWQSRK@A?8761/1ÑÑÐÑÑÑÒÑÑÑÑÑÑÒÒÉ¿ÇÀÌÓÒÒÒÒÒÑÑÑÒÒÑÑÑÑÑÑÑÐÏÏÍÎÐÐÐÏÎÍÈÍÏÏÒÒÏÊÆŶž~uiZWjd^bedbfbZXUNQY\ceimb`WTSSQLVSWSbNWW\^[^]a__ZVUWQSMHE@B=531/6ÑÑÑÑÒÑÒÒÑÒÑÑÐÑÑÊÄÎÅÊÓÒÑÑÑÑÑÑÑÑÑÒÑÑÑÑÒÑÐÎÏÌÍÍÎÍÉÇÉÆËËÍÐÑÎÇÁÀ°„€wYWTVTY\pujgf^\QFDQ\U`fe`ZXVNNMJMJSN]RUWWZZ^^]^c[VQWQZQEIB@?40/..ÑÑÐÐÐÑÑÑÐÑÐÐÐÐÑÉÄÎÆÉÑÑÐÐÏÐÑÑÑÑÒÓÒÒÒÒÒÑÐÎÎËËÉÌŽÅÂÇÅÉÍÍÉÀ³©«Ž„zya[Y\[klbtjlbXYUTYXgXR__WSZ\UNKHQSU^\UR\^XW\\YQW[WSZU[YA76320//--ÑÑÖÝÚÓÏÐÏÎÎÎÎÎÏÈÄÌÆÈÐÑÐÐÐÑÒÒÑÒÓÒÒÒÑÑÑÑÑÎÇÅÅÄÇ¿¾´Ã½Ã»ÄÊÄÁ·§ŠƒxŽ€jbb[^ioZraY`VQWWb_YRSU[TSUXZNNNWUV_m`QY[XZXW]TS\[[a`NE=8541//.--ÓÞëðïçÕÍÍÊÆÇÈÊÍÅÃËÆÅÍÎÎÏÏÏÐÐÑÒÑÑÑÑÑÐÐÐÐÏÇÄ¿¹Á¼¶©À¹Â·»Ä¹À·ž‰}slhhhgW^f`Yi_V]`QVVZ_XXVPRQNOPV]YSURTUh]O\][UOQ[Y[VZTPLA9>=;83/..--ßîßÄÓìêÐÆÀº¹½ÁÇÇÈÍÊÈÍÎÏÎÏÏÏÏÏÐÏÏÏÏÐÎÍËÊÉŹ°­²¶¬¦²²½³¸¼±³©‰{|ypmTdja\g[T^kb[a\NRUW`deWRPOOQUPX[MQWQV``^e`WROS\X[YRSYKED><;:730/--îÔ”‘ÈêÕÀ¼¸·¼½ÃÈÊÎÌÈÍÏÏÏÐÏÍËÍÐÐÏÎÍÍÊÈÆÃÀ¶¦¢¡¨©ŸŸ©°²®±¬©Šxpolps`[\ZecYYba^bZUZVWXXc[TURPUYUVW[SSYSU\b[b\__Y`aUV\YWSAAI<868764100è«ž˜—™“‘’”˜ªÉÌÆÌÐÐÏÐÎÊÆÌÏÎÎÌÉÇÀ¹ºº¾²¥›•¢ ›š«µ±­¥¡•{mhhYlfWNJQZc\UTbkbdqabgaV[PSRQRUZTXUX\T^QQbaak`hbmkdUROOLMB?C:877766014ÑŠxx~‚€c\bWb}€|x§ËÄËÏÏÏÏÌžÉÍÍÌɱ¦¢¢¨«¤¢›—••§³°Ÿ•••‡wfhl^aXRTSS[cb_lrcTYfQZur]TQMOOMILOQRQOS[V\bWU]]dj``[RKOJHGDJB9866565137Áu’µ½À—eToœÆÑÑÅŸƒÁ¿ÆÌÍÎÌʶÆÍÌŹ­ž ¡™š“”‡˜—’Ž•˜Ÿ’Ž†yxre\W\_[Q\`ZV^k`URbjieb`VTOLKJLJJHIQOVa_\`ZS_mjkY`WQYULLB@C:96644455;?½l…€iu««{Xn¾ÜèçÜžs¢³µ¼¹À¾ÈÅ¿ÉÎÎƹ³­©©™—’‰…‰ƒ†ƒ‘ˆ‡„‡…ƒ}{seZXWYb\X\WU[kUSRbkhUU^[UOMNLMKILLKTX`fU\TSpvhjbeaWa\XXJ=;<:8654585>:7678:>@>nbm}®\77VlQmuN:JRYM;9<>:¯£šƒ‰†‚„~€}xxz}yg[U^]^Z]ZQ^]`cjjlquoU__WPTTIGHQYTSRRSKNY\`\PQa^caakiZbUA::>==;;;??A@==<:8X±âÛ‘€†ŒŽ‰ƒ‹†€{zz}z{uc\abWZXX[d[QPau†xi_ciTWPNTVOPLEBPWTVXURahgh]U\]a^V`YWWH=99<<89;:;@@>CSXYc_^dlpecb[`W\VWY[XC;999::89999997\ˆ?99;>=@JLHðêáé~T^cg¥gc^Xoçêìó|…àÞèêêêîïïëîïïëêìæßȆ‚€………‡~zzplrx~tldbSTWJMTX\_WRVTWX^Z[[]d_UMFFEGJKGHILVZ``WQZVXUVNJIF>97896_A:9<=>EHIJãéãò—FKIRžÀ`OLInãÞÞÚaâáéèêæ»°ºß¼«ºæêãáÚÖ—|€……ƒ…„}zytypszvmkbTZ[Y[\c_ZJHV\cZ^][YZ_ZRKDGC@@?>>BNRZe]V\^V[]RMH><;98884“ßL37=;=EKLMq}™‚z‚‰ÂØ•‘‹‚~zj_?˜æäééä翯´ÜĶ´áæåäÞà{€ƒ€|yzympxolkcSbn^XV\^\VSZ\^fb\Y`^YPIGBBA?=79AGJM_m[W`\_`YHEC:7:987;6’ãL1;>?EJIGSHP]›Ößßâãääãåäâà»lOH=”îèéêæëìáãêáÛâëæëçêç™z€}~„ƒ~{|yqmsllff`mse]QS^]XUW][c\Z_j]SLDBBBEC@?EKD@Napm_OTkSIA;<<9==;9?8‚ÛR6?>@FLKDYMP\œèóòðñðïððòñí¾fPKA†ìììëíììíìëììëëìììîߎz}~{~ƒ…‚z€~ullople`a[`^PPYXQRXa^]\_a`WYOIABIKD>EUUMYbbqqVZ\NC<768>BCB@B>€å^:A:@PXQkqn}ladVLE@<=BIOKD?B;‚ðh==5?JJYcpBES‚cBTfb`^ZYgWS…gECUtáæÓ³ÄíÅ©©¨¡Ÿ·ìÉ®ÐâÏ|€|wƒ~vtqnmlhgrcY[a\[_VSVTXT_b_h`XZVQKIIDHLGGIRRYmopy{hgrm[TQPSZXXWJJR>òm:7;Y]aomnIJJ`yir‚Ž„‚ŽxqOKJI_ÔÒ¯m‡êÂ~xxvu±íŒb¨ÊÂx}€z~|}wvmdce^angYRY\d][UPQ[X`jbe\RRYUOGA?KZcX_hltg_]_dhlorrsg`o}{tohlmZŽñ~]Z`yxuwokDGFQox{€—˜…‡„}oZFFC;KÁñçßÝëëÏÉËÉÎéêßßäò©s‚z€x}‚{|rf\fjgdeeY[]\WVURQV`_X^^WPU\ZVY^^u‡{eo|t_X\acdgmktƒˆ…‚†‰„‰ŒŒ›º——†~wxuk4<236?l›Ÿ—¡¥¡¨¶Â±œ‰‰Ž‰Ž]p…{{zv|€szphebkebhc\^YYXY]^VR[[TRTXb_]clˆ‹‘ŠgfwpZU]``_alnqzƒ‚€zzŽ‘“—•“‰‘Ž†‚rwsnsm5kwxxvvuttuvwxx}ƒh+/3Gmx€„‰ˆ…‚wqrtwcQQ[v~xxyx}y{vvrpqmqqsxtqtos~Œ”“Œ’””ŒŒ™µš…„ˆ‚~ƒ‚peqrfZ`cb`_clkpwkhfij|ƒ†‚…Š‡ˆˆ€~whmronk7]gfghilkjknorssud234X†…‚ƒ†ŸŽ”‘‡€€‚~|yuuuvwxwvtrqqppqsuwz{~~}zz{{|}|}€…‘›­¹·¯œŽvpppoqqnif`____db\\abdhmokliggstntpjbmyqwz[\^^`abgjkkljgfghihjjw€€~}{y€Ž §‘wwxz}}|{zxwvuvvvvusrpmlllnnptwyyzzyyyxvvuutv}‡’¢°´°ª ‘wlihgeb_][^\ZY[]\]\\]^\[[][YYYYS^_jy}ywtqonnptvwvvvtsrtwy{}€€€~~}{zxv|…}Œ¨{stvwzzzyxwtqqqqqrqomljihhiknpsvxzzyywusrssttvz¢¶Á½¤Šumklkifca_[WVXYWVW[cgYY[_[ZZXUV[Y^~|wqnmlklosrstsssqqrsuy{|}}}|||{yyut•˜ˆ†xstuvwxxxwtqommnnnnmkigefghikotwyyzzwuspqqtvtsprš³Â¾®˜…vmlmjgfd]Y]YWWW\\WWY_XYX^ZZZXX~|{ysnlkkloqrsttuvvvvutvxyz{|}|{|{ywurq‚£¥€ooqtuwwwyzyxtqommnpqolkjiihghjlnqtxy{{zyvtqprutsqqxˆœ¶Çé‹vlmmnmigeb`\YXWWWXXZX^ZZ[Z[|||zyuqmkjknoqrrttuuuusrsuvxy{{{{{zxvsssqpx¥´™qoprsuwxxxxuqmkknpppomigggeddehotvwyz{{xupllnqrronq£ÇÏ´‹vomnnmlkiea_[XXWWYXZ\XZ[Zz{{zzzvqljikmoopqrrrssrqopqtuwy{z{|zxuuutst‰˜ƒokmqssuuuvwuromjklpsromihfgfddgkoqtvy{{z{xqlmoqrsspo}˜¶ÈÁ¨Švnmmnmkkhea]XXVUZ^VWVVxyzzzzxwsnjhiklnooooppqqpoooqtvwxz{zywwvuutonp€¯·opppqstuvusspokknpqqplifffddcdhmptvvwyzywtplloqrqqnpœ¼Íæ‰vonooljihfeb_ZWYVTVuvwwxwwwuqmgffgilmmmnoppqqpnnpqruwwxyyxwvuussqv™¤Œokknopqstsqssrpmkjkpsrokhgdeebacfkoqsuwxxyxtniiknpqpmioˆ±ÏѵvsonmkjkkjihdaZYZqstuvvwxvtrlgddfiijklmnopqpnmnmoqrtwxxyyxwwutrronotƒ‰|nopqrqnssssrokikmqrrqmigggebabhlortvvxyxwtlfgknoonlhj‚¯ÐÒµtopomlkikjihea`opstwxxyywuqlheegghijklmnoppomllopsvvwxxxxwvurrrrqz¸Îªwroppnlqssttrrnkiknrsrpmjhjjhedfjmqrtuwwwyxtmhhknonnmjlƒ¨ÊѺ“xqrpomkkjijgfloqtwxyyyyxurnjggghgijjlnoppqpnkmnossvwwwxxwwututsrtwu„iknnlprsrrrssqnijlpqsromljkjheegilnprtwyyywuoihkmnppolj{ ÄѽŸƒspponmjihhglnqtvwxyyywtrnjhggggilnooopppnmllmoqsuvwxxxxvuvutsrrrq‹¯§xjhlonnnnnpqpnkkljloqonkhhgffcbdhkortvxyyxwtojhjnppqplks·Ï˱•zrppommlbhkmpsuvvwwwutpnifeeffgjlmnnonnoolklnoqtuvvwxwvvtsqppru“¾¿ž‹—–—––‘Œ‡‚{tnjigfjmmmjhfbbbb``afimprsuuvvurnihjmoppqoko„¥ÁÏů“~usqp„_gjmqsttuvwvusqnjfccefhkklmnnnoomlkjlnorstvwwvtz„Ž›¥¯³µ´³µ³­°³²±±±³¶¶¶´­¤…lkgefjlmkidaaa`__`acfhloqqrssrqnjhgknnnnnkip€¤ËÖÇ ynpÅz_gknprsuyxwvutrnieedegijkllllkkllljikmnprtuvt‡®«­­© ˜ˆ‚{uplkllklnqy‡‹–znlheegjjjgeba`aaaa^^`dgikmoppqqolfcghjlnnnlhfz§ÐÙÅ•sÏÁsahkmortuvwvuutqmifddeghjklkkllmmmljhjlmpqstu§ž~xpg`ZVV[`an‘‘sf^XWWVSSO`€qpmjecfijjigedbcfea__`cfiknprsstspkfdgjmnoonlij‚©ÍÖ¾ÂѲd`gjloqrsxwttvtqniedcehikkklnllnnnnjhhjmopsv›jJMNMORXXV[VZoymULSkojgeZF?dvppnjgefilmmkifffffecaadglnpstuvvvtqkggjmmoonnmhj{¡ÊµÅР^bgjloprttuuvurpmjfddfhijjkllknoprqnmkknpq~‚DK[dp{‰z;57310395FjnonmndDDmpoqpojhfhknomkjgefffebbcehloptuuuvvuqlhhiknnnnnmihx‡»ÈÑ]dhkmnqrtvvvusrpnjgedfhiijjkkmnpssrqommooŒj:U…–Ÿ¢¤­¨sdN:34=KMK@;>C;9@WAYpnpqponiffjnpomkhfefgfdbabfilorrtvvwvtqlgfiklnpomliVš¿ËËx]eikmprsuvvutsrpmifdcefghijjllnprrqpnmnpMNUž¶¶·¹»º³§£ts~eƒ\335?>53UcEmnoqpoonkgfgjlnnljgdccdcaabcfjnprttuvvvvslfghlnmnnm^³ÂÑ·d`hkmnpqsuutttsrpmieccdefgiijkmnpqpqoomy‡@k<~»¶±©”‰ˆÌ¶~ƒ¹yQ>4ITN<43C~Daooppoopolifegkmnnlhecbcbba_`chkmoqsvvvwwvrkhghklmm]]½ÅÑ _ehllnprsttttsrqokgdccdefhhhiklnoopopm†oMw3@ZQIB:DFKhqrstZC3@hxeN342{_Pnmnoooppnlkigehknomkhdbaaa``_`aeilprtuuvwwurkdegjlSLS‘¾ÅÎŒ\bhjkloqsstssrqpnjgeccdfgghijklmooopnWlk0236998GKJFFIHEHF:EgƒjX6;s‚Djlmnomnoonlljfdfimnnmjfbaaaa`__^aeimpstuvvuutqkffg`UO[Ÿ½ÆÇwYbehjloqrsssrrqpnjfdcdeghhhjjklnooooŒJˆX036BVS=FKHECCCGIGGJ^†pQ78¤¡N`mlnnmmonnmmljgedgjmmljfcbaaaa`_^_aflprstuuuuvuqkei\QLd­ÁϾm^dgikmpqrrsttssplifbbcegghijkllmnnt€K•F232^£™R@F=6668EJILGQiz_950=–nRmllkllmmmmnnnlifcehjmmmkgcaa`aba`^`cimoqrtuuwwvupnbQNKy¼ÄÒ­b`ehjlnprrsttttqmkhcaabefhijjkklnlzq\“:79:i‹†E732324;B=FLl•u:652|Hkkkkkkllmnnooomkheegjmppnjgdaaceec`^aeknprtuwvvvvprdSNR’ÀÆÓ–]chklmoppqrttrqomjeb`abeghhijjkli}`r„7DI@‚ ©ªUJ@2112221:Ao¨¡j:730]¤Prjjjkkkklmmmmnnmkifcdimooomiebabdeda_^bglopsttuuvnq{bQN_¦ÂÍÌ^gjlmnopqqttqqqnlhcaaaceghhijjlbwUŠqCONHZ„†~TNM=66985365[ššX@851F§gYljmlklkllllllmmmliebcfloonnkgb`aaccc`]`fimprsstuutrk^SOn²ÅÐÆwahkmmnopqrrssrpnkhcb``bdfhjkmmajQfJRQPm†›gHKJHFFFEC@?n‘›ŽRC?@5=¤€HkbJFCUlkkkkjjlmmmljgcbdimpqpnjgdbbcdd`^_bgknoqrtuqrqjXYm¿ÊØ¿nchklnnpqrrstrrpmjfca``ceg^VVhƒ`M©eU€eR˜hbMFHJLLNKOONVjˆ˜wMA9@5;ŠY;dQ8?8>ijjjjjjklmnmmlhebbinpqqoligefeeedb_`cgjnprpqtql^RTV•ÆÊÖ¬ccgiklnppqrrrsqnljfc`abf[:97V“\E‚`]ŽYAKDAGR[hie\PPJHOMcmYPKA846;7@@9:;5Ijhijiiijllllmljgcbcgjorqpnlhfefffea^^_dhlorxvtskVNL[©ÇÍÕ^egjlmnnpqqqrqpnlheb`afQ2<=BC=>?=:99;956:4:HJDHH:9;=IL2228Lyjeghhihijkjklkkifecbcioqrqpmihgfeca_^^^`eitwvwy|lWQLq¾ÉÓÇoagiklmmnppqqqpomjgd``bY8/./2;YA;976667975556566567777777779:;>HJ/@Ygifdihghhfgijjkkkkkihfcaagmppqpnjheba`^^^]\]asqpnnpjaVOP™ÇÍÙ¥]dgjjlmnopqqppomlifb``a_ZRY=3dH<;;:88878777877766778888889::;=CH:amkigeweghfghijjiijkjihfdbadknppnkhc`^^^]]]]]\qjgijdfaWPLi¸ÅÑÏy^dklkllmnnpppoomkifb`_aer°˜:[D;::98888777777777667766777789:;>G>Zljihefecbeffgghhghijjjihfca_bhmmlljeb_]^]]\]]\oklmwrleUNNNŠÂÈÖ±aahhikkmnmnopponmjhea``anªªCS>9998777666666665555555565567776:EN[fjjihhnrtdeffffgfhihijjjhedbaahlmmmjgb_^]]]\]]rrkkutvnVONL[ªÅÌÖ–ccfhkkmmmmnpooomkjgda``c”‹PM964666665665555555554555444563;T~_R`dkjkik¸àã®kefghhhiijjkklkjhecacimopnlid__^^^^^mvokrtwvj^QMMwºÃÑËr^fhkkllmmnoooonlkifca`c|†iRq_E1345554443455KD44444333442A”¨¶‰LGbkjjjh„ÆÈÂ}bffghhiikkkkkljjhecacgjnnmlib^^^``_x}spvusqrt\NMR–ÃÆׯbehjkkllnnoooonnmkieb`imveg­¤Âs512333333455755334433332:~µ›š¥V2Xljjjjgiiggddeghhhijkkjjjjjigeca`cilmmkha_^^^^vtpmrrmjkmiPLJc²ÂËÖŒahijlmmnoppppqpomkhcadfAMªœ»²g911223334674375542111/5u¢›º©“R-Jkjjjjjihigfeefgghiiiiiiijjjifec``dilmnlhd`\]]sqphmqrvtqmULMM…ÀÄÔÈpcijklnoooppqqqqomjfcUh:4…™º®¥³s6;8887526;im:9jkjjjihhhfdbdddghhjiiiijjjjkkjgeca`djmonnlhdblpnmrroqtwuoVKPR`ªÃÌÖ’agkllnnnpqqqrrqpnkgZBL8I‡ÛÌâîíÉ¢~^^`l¥‚^ÂÂfgndfce–µáéÕÁµ˜91-@kkkkkkjihfc’Áðofhhiiiijjjjkkkjhfd``djmoopmjh}wvuyvoorpkmhOKLLu½ÀÐËvbhiillmopppqqrqpmj_<725J¶º¸ÂÞÚª¡edhcXQ€îò—Yrkzzs¸£’sC;60-,Allkkkkjjige}Ñãâ¦bggghjjjjjkkjiiigeda`djmpqonm|ƒtoonkopsmeQKONO–ÂÄÖ°bdgikikmmmoqqqqpnl]93004>C@_rj´fkx~udƒ×é orwtlcyQ9??753.+,Allklkkkjiigfrytseegghjjjjkkkjiiiigfca_diloopov{uwwprkrsspng\OMLfºÂÌÖƒ]egijklmmnppppponZ10-.0048<<A@ABCFGIPTW]ems®÷ÕZB1-1_ommlljikjijiiihghgdš½º¦hefggghhhghgghhggfdc^]v{xrnprsqmnpzxzj`\NNPSËÊÕÌwhlmnnnnnnnonnm:520.8F ÷ÄŠ€†³©•› ¦©­³´¸º·®¬¢…u„­—D4--3anmmllifkkjjiijihhgheb_ceffgggggfhhggggggffda^mlokfcgmnv€|xztoriUNQVc¶ÊËÚ«ilmmnnnnnnnnnm:950-1:až†`Sdhgimmopswrlg\RHGE=>UL91-,-4_mllmljdkkjjiijiiihhhgeegggghghgfgggggggggfeb`sqoqnxswmyyzyyƒpaVNNRP‚ËÆÔ׈glkmlmmmmmmmk886.-.229743301025578;@?>81.---1\lkjjjhckkkkkjjkjhgeeefeeiihhhihgffgggfghgeecaˆ‚…|{~|mmu}}yi`UNNOMW«ËËܼjggkjlmllmmja577,,+/257=??ABBDFGHRs]OLKJGDA<854.*)-6Fn‰—›œ¨¨§¨¨¨¨¨©£˜Œzgdfffffhhggfggffffffffec‹€w{xvmpxrpkrmfecYNMMag†ÂÆÏÙafghjllllh\V17:/,+-0125799:==@DFLbM@:721/0....C\z“¥°µ¶µ¶´³¯­¬«©©©ª©©©ª­¯¬¨˜hddegggihhihgffhhfgghfe…‚}{‚|wtwgdlt~vmoi]NMM]ba¡ÄÃ×Âicfghjkkh]VV16<4,-../-,++**+****('****++,--..]­§«­§¡œ™•’ŽŒŠ†„ƒ„ƒƒ‚‚‚‚ƒ…†ƒ•ƒddeimnkiijihghihggghgf†‡†††††‡‡†‡‡††‡‡‡‡ˆˆˆˆˆ‡‡‡‡‡…ƒ‚}yvtttwxxyzyx{{zvtxyz{zyyz{~€€†††……††††…††…††††‡‡‡‡‡††‡‡†……‚€|xvtsutvyxxywyzyywuwvxzywwy{~€€€††††…†††…††††…††††††††††††††…‚€€{vwwvvwyyxwwzzyxvvvuxyyxxyy|~€€††††††††…†††††††††††…††…„…††…ƒ€~zyxwwy|{xwwzzz{ywvvxxxyzyz|€€†„ƒ†††…††…†††††††††…………ƒƒ„„…„‚~{ywvx{{yyyz{{{{zuvxyxyzyx{~€‚ƒ€ƒ…„„………††…††…†………„ƒ‚‚‚‚ƒƒ~€~|xyvxz{zy{}|{zyxuvvy{zzyy}€€‚‚ˆ‰‡ˆ‰ˆ‰†……‡……†……………‚€€€€€}|}~}{zywwwxzz||{{zxwwvvwvy{y{~€€€…ˆ†‡‹‰…††……†…ƒ„……ƒ‚‚€~~€~|{{||zyxvxvuxz}}||{yxyxwusvxy|~~€€€€……‚„ˆ……†‡‡„ƒƒƒƒ~{{|||}~~|{{y|zzzxwywxzz||}~|zwxxuttvvx|€€€ˆ‹ƒ†‰†ƒ…ˆ„‚ƒ†‡‡‡‡†„yww{{z|{zyxy{yzywwxxy{{||}}|zywwvuuvvv{~€~‹‹Žˆˆˆ€‚ŠŠ‰ŠŠŠŠxw{{xzyxxwyzz{zwuvvvz{|}}||zywwxvutvv{~“”““““““…ƒ‡‡†…†‡‡ƒ}wxyvvvwvwz{|zywuuuwy{|}~}{xyvvxxwwx{~~Šˆ‰‰ŠŠ‹ˆ‡ˆ†‚ƒƒƒ‚‚ƒƒ‚{vvurtuvuwz|}zyxz{zzyz|}}|zywuvwwwy{ˆ}|€}‚‚‚‚‚€}„€€~€{utsssustwyyzyxz|{zzyz}~}}~{xxxxx{}€€‰€~}{}€€€~‚~~~€|sssrstttvxuxxxz{yyyz|~{vwxxz~€~}}}{x€€~~‚€€€€€€€€{strqstvutwxyyzzyxxxz|~{vrsuw{~}|~~|~{vq||||}€‚~}}}~zstsssuwwuwxxyzzxwwxz|}zzxvpoonmqqoprvz{wolk€~}{€‚€~}}}|~zuttutvxyxyzz{{zzyyyxsminmqrqmkgfgfdeehecfhj‚ƒƒ„††…ƒ‚„ƒƒƒƒ‚‚ƒ~~}}~~€€ƒƒ}wttwxzzzxwvwvsppnljlnkk†‡††ˆˆˆ‰‡†‡ˆˆ‰ˆ‡‡‡†‡‡ˆˆˆ†„ƒ‚ƒ‚‚ƒ„ƒ‚ƒƒ‚„……†…„ƒ€€€‚ƒƒƒ„ƒ„ƒƒƒ{v‰‰ˆ†‡‰‰ŠŠ‰‰Š‰‰Š‰‰ˆˆ‡†‡ˆ‰‰‰‡…„ƒƒƒ„„ƒ„ƒ‚‚ƒ…†‡†…„‚€€‚‚‚ƒƒ„…†‡‡†‰‰‰ˆ‡‡‰ŠŠŠ‰Š‰Š‰‰‰‰‰ˆ‡‡‡‡ˆ‰Šˆˆ††„ƒƒƒƒƒƒ‚€€‚ƒ‡‰ˆ‡…‚€€€€‚ƒ„„…†‰‰‰Š‰‡†ˆ‰ŠŠŠŠŠ‰ŠŠ‰‰‰‰‰ˆ‡†‡ˆ‰‰ˆˆ‡†„ƒƒƒ‚ƒ‚‚‚€€‚ƒ„‡ˆ‡†„€~€€€ƒ‰‰‰‰Š‰††‡‰‰‰Š‰‰‰‰‰ŠŠ‰‰ˆˆˆ‡…‡‰‰ˆŠ‰‡…ƒ‚‚€€€€…ˆ‰ˆ†ƒ€€~ˆ‰Š‰ŠŠ‰ˆ††‡‰ŠŠŠ‰‰‰ŠŠŠ‰‰‰Š‰†††‡ˆ‰‰‰‡†„‚€‚ƒ‚€€€€„†‡‰‡ƒ€~~„‰Š‹Š‰ŠŠ‡……ˆ‰Š‹Š‰‰‰ŠŠŠ‰‰ŠŠ‰‰ŠŒŒŒŒ‹Š†„ƒ‚„„ƒ‚‚‚€„‡ˆˆ‡„‚€†‰ŠŠ‰ŠŠŠˆ††ˆ‰ŠŠŠŠ‰‰‰Š‰‰Ž’“‘‘‘’’’‘’Ž‰‡…‚ƒƒ‚‚‚‚€€€€„‡‰ˆ‡†ƒ€}„‰‰ŠŠŠŠŠˆ††ˆ‰‰‰ŠŠ‰‰‰‰ŠŽ‹‰††‰ˆ‰‰‰‡‡ŠŒ‹‰ˆ…ƒ‚‚‚‚‚€…‡ˆ‡ˆ†ƒ||ˆ‰ŠŠŠŠ‹‹ˆ†‡‰‰‰ŠŠ‹‹‰ˆˆ‡{|€„……ˆŠ‰ˆ‰ˆ‰Š‰ˆ‡„‚€‚‚‚‚€€€‚„†ˆ‰ˆ}}~„‰ŠŠŠŠ‹ŠŠˆ‡‡‡ˆŠŠ‹‹Š‰†‡ƒ‚‚†…ƒ„‰‰‚…‹‡‡Š‰‰‰‰‡ƒ€‚ƒƒ‚‚‚€€€€ƒ†ˆ|}~…ˆŠŠŠŠŠŠˆ‡†‡‡ˆŠ‹‹Šˆ…ˆŠ‡†‹ŒŠ‰Š‡~‰†…‰ŠŠ‰‰‰ˆ†‚€ƒ„„ƒƒƒ€€€€€‚„v~|‡ŠŠŠŠŠŠŠŠˆ†‡ˆ‰Š‹Š‡…ˆŠ€€‰‹ŠŠŠˆ~ˆˆ…‰ŠŠ‰‰‰‰ˆ†ƒ‚ƒƒ‚‚ƒ‚€€€€oy}}‚ˆŠ‰Š‹Š‹‹Š……ˆˆ‰‰‰†…‰‰‚€‰ŠŠŠŠ†|Š‹„†‰ˆ‰‰‰‰‰ˆ‡„€‚‚‚ƒ‚€€€fk{}z~ƒˆ‰ŠŠ‹‹Š‹ˆ…†ˆ‰‰‡…ƒ††††ˆˆ‡ˆˆ„}€ˆ‹…†‡……ˆ‰ˆ‰‰‰ˆ†ƒ€€‚‚‚‚‚€€jgo|}~†‰ŠŠ‹‹‹‹‹ˆ†‡‡…††‡……‡‡††††††…†ˆŠŽŽ………†ˆ‰‰‰‰‰‰†ƒ€€‚‚ƒ‚‚jiiv€~~‚ˆŠŠŠ‹‹ŒŒ‰‡††……ŠŒŒ‹Œ‹‹‹‹ŒŒŒ‘’††ˆˆ‡‰‡‰‰‰‰‰‡ƒ€€‚ƒ…†lmkr€}~…‰‰ŠŠ‹‹‹Š‰‡‡‡ˆŽŒŒ‹‹‹ŠŠ‹‹‹ŒŽ‰‡ˆˆ‡ˆˆˆ‰‰‰ˆˆ†„‚ƒ…‡ˆnkhlx€~}€‡ŠŠŠ‹‹‹‹‰‰‡†‰ŽˆŠ‹‹‹ŠŠˆ‡‡‰‰Š‹ˆ€…‹ˆˆˆ†„‡ˆ‰‰‰ˆ‰ˆ‡…ƒ‚‚…ˆ‡iifgjz}|ƒ‰ŠŠ‹‹‹‹‹‹‡…‡Š€€‡ˆˆˆˆ‡‡‡‡‡ˆˆƒ|‚ˆˆ‰‰ˆ‡ˆ‰ˆ‰‰‰‰‰ˆ‰†‚‚ƒ…‡nmhfdr~{~†Š‹‹‹‹‹ŒŒ‰†„…‚€‚…„‚……‡…ƒ‚‚‚ƒ„†‰‰‰‰‰ˆˆ‰‰‰‰‰‰‰ˆ‡ƒ‚‚ƒljfefj{‚~|€ˆ‹‹‹‹‹‹‹‹‡„…ƒƒ‚€~‚ƒƒ„ƒƒ„ƒ†‰‰‰‰‰†ƒ‡‰‰‰‰‰‰‰ˆ‡ƒ€€fgffghq~€}|ƒŠ‹‹‹‹Œ‹Œˆƒ„„†……„‚„…‚……„†ˆ††…‚†‰‰‰‰‰ˆ…†ˆ‰‰‰‰‰‰ˆˆ‡ƒ€€hgfeeefu€}‡Š‹‹‹‹ŒŒ‰ƒ„…‡ˆˆ‡…ƒ‚€‚ƒ…‡ˆˆ†„‚‡ŠŠŠ‰‰‰‰‡ˆ‰ˆ‰‰‰‰‰‰‰†ƒhhfcfggs€…Š‹‹‹‹‹Œ‹ƒ‚…††…†‚€€‚ƒ……†„ƒ‚‡ŠŠŠ‰‰ˆ‰‰‡…‡‰‰‰‰‰ˆ‰ˆ‡„hhfdghhm}~€ˆŒ‹‹ŒŒŒ‹ƒƒƒƒƒ‚€€ƒƒ‚‚‚‚„ƒˆŠŠŠŠ‰ˆ‰Šˆƒƒˆ‰Š‰‰‰‰‰‰ˆƒjihihggjt€}ƒ‹‹‹Œ‹Œ‹„€‚‚€‚‚‚‚€€ƒ„ƒƒˆŠŠŠŠŠ‰‰‰‰ˆ†ˆŠŠ‰‰‰‰‰‰ˆ‡jjhhnkgiq}‚~‡‹‹‹‹ŒŒ„‚ƒ‚‚‚‚‚‚ƒƒƒ…„…Š‹‹ŠŠŠŠŠŠŠŠˆ‰ŠŠ‰‰‰‰‰‰‰‰jnmnppmot|~}}‚‰Š‹‹Œ†‚‚‚‚‚‚‚‚‚ƒ„ƒƒ„‰ŒŽ‘’’’’’’’’“’Œˆ‰‰‰‰‰‰Š‰‰‰{zzzzzzzz{{zzzzzzzzzzzzzzzzz{„„ƒ„…††ˆ‡‡†‡ˆ‡‡ˆ†††††††…‡‡„ƒ‚‚‚‚yyyyyy{zzyzzyyyyzyyyyyzzyzyy{‚ƒƒƒ‚„„…‡†……†ˆ‡††…„…………††††„‚€‚zyyyyyzzzyyyyyyyyyyyyzzzzzzzz~‚ƒ„„ƒ„„……„„††‡†…ƒ„„„ƒ…†‡‡†…ƒ‚‚€zzyyyyxzzzzyyyyyyyyyz{z{|{zzz}ƒ……„„……„„…†‡‡…„„ƒƒ„„†ˆˆˆ‡…‚‚‚‚€€y}}zyzzzzzzyyyyyyyyy{|{||||{}€‚ƒ„„„……………‡‡‡†……„ƒ„…‡‡‡†…„‚‚€€|‚‚~|}}|{zzzzzzzzzz{}}~~}}~ƒ‚‚ƒ„„„……‡††‡‡†………„„…†‡‡††„ƒ‚‚‚€‚~~~}|zzzz|zyz{|}~€€€€€‚„…ƒƒƒ„…„„„„…‡‡‡†…†……„„……††††„ƒ‚‚‚‚{z{|||||{zyz}zz}€€‚‚€€‚ƒ…†„…„………„ƒ„…†‡†…………„………†††……„ƒ‚‚}z}ust}||{{}€ƒ…„„ƒƒƒ‚ƒ…‡‡…†…„„…„ƒ„†††………„„„„……†††…„ƒ‚‚‚ƒzv€zyw€€|~€€~}|}~‡‡†ƒƒ„„…‡‡‡††…„„…………†…………„ƒƒ„ƒ„††‡†…ƒ‚‚€‚‚{w|{zz~}z}„|{yvy{}„‡†„„……†‡‡†…††…………†…………‡…ƒƒ„ƒƒ……‡‰‡…‚‚‚ƒzxxxxwxwvy€€~~~~}~„††…†‡‡ˆˆˆ†…†………………†‡……„„…„ƒ…†‡‡†„ƒ‚‚‚„€„|~†€€€€€€…†††‡ˆˆˆˆˆ†…„……„„„†‡ˆ††„…„„…†‡‰ˆƒ‚‚‚‚‚‚„†„†„‚ƒ„‚†ˆ‡‚€€ƒƒ„‚€…‡ˆˆˆˆ‡‡ˆˆ†…„„„„…†ˆˆˆ‡…„„„„…‡ˆˆ‡ƒ‚‚‚„††ˆ†ƒƒƒƒ…Š‡€‚„ƒ„ƒ…‡ˆˆ‡ˆ‡‡‡‡………„…„††‡‰ˆ‡…„ƒ‚ƒ…†ˆ‡‡ƒ‚€‚„‚€ƒ……‚„…„……††‚‚‚‚‚††‡ˆ‡ˆˆˆˆ‡†……„ƒ…‡‡†‡†…„„„„……‰ˆ…‚€‚ƒƒ‚„ƒ‚„††‡ˆ…ƒ‚‚‚…ƒ…ˆˆƒ„ƒ‡ˆˆ‰ˆˆ‡ˆˆ‡……†…„„…††‡†…ƒƒƒƒ‚‚‚~|||~~€ƒ‚€€‚‚‚ƒ‚‚ƒƒ‚€ƒ†††…†‡ˆ††ˆˆˆˆ‡‡†…†…ƒƒ„ƒƒ…‰‡††~}|{{{{{z{{|~~~{~€‚‚€€€‚ƒ„„„„ƒ€‚„ƒ„„…„ƒƒ‚‚€€‚ƒ„„……€~€€~~€€€€~€€~~~~}~}}}~~€€~}}~~€€€€€€€€€€‚Š†‚ƒ‚€‚‚€€{|~~~~}}}}|||||~€€~~}}}€€€€€€€‚„‹„€€€€{||~~~}}}}}||||}~}~€€}|}~~€€€€€~}~€„‚‚‚‚€€€€||{{~~€~}}}}}}|||}||}~€€~}}}}€~~~‚‚‡ˆ‚}}|||}€€~}}}}}}|}||}~€€~}}~€‚‚‚‚‚}}~€…†‚‚‚‚‚}}||}~€~}}}~}}~||||~~€€~~~~~€‚‚‚‚‚~~~€€‚‚ƒ„~}}}|}}€€~}}~~~~}|||}}}~~}|{|yyz{}€‚‚‚‚‚‚‚€~}~€‚‚‚†Ž„„€~~}|}|}€€~}~}}~~}}|}{zzzzz|€~}{zz|}€‚‚‚‚‚‚‚‚‚~}}‚„„ƒ}}}}|~€€~}}}}~~~~|}|}}|~~€~~}|}~~€‚‚‚‚‚‚‚‚‚‚‚€~€€†„‚€~}}|||~€~~~}}|~~}}|zy{||{yy{|||~}}}€‚‚‚‚‚‚‚‚‚‚‚‚€}}~’‰‚~}}}|}}€~~~}}~~}||||yy|{wz€~z{~}}}}~~‚‚‚‚‚€~~ƒ„ƒƒ~}}}}}~€~}}~~}|}‚xvyxv|‚}|}~}}}~~~€‚€€‚‚‚‚€ƒ„ƒƒ‚}}}}}~~€~}}~~}{|……zzzyw|„„~{}~~}}}~~~€€‚‚‚‚‚‚‚ƒ‚ƒ‚€~}}}}}}~€~}}~|zz‚zyz{z}ˆ‡{z|~~~}}}~~~~‚‚‚‚‚‚z|Œ‚‚}}}}}}}€~}}~|{|~{z{||†„|{|~~}}~}}~‚‚‚‚‚‚‚‚}{~ˆ‡ƒƒ~~~}}}|}~€€~~~}~€~€}|{|€€~~}}}}~~‚‚‚‚‚‚‚‚||€‚ƒƒƒ}}}}}|}~€€€€€}||}}}}}~~}}}}}{zz€~~}~~~~‚‚‚ƒƒƒ‚ƒ~~}}}|}}~€€|{{|||||||}}}}}||}{}€~~~~~}~‚‚€€€ƒ|€ƒ‚‚ƒ‚€}}}|}}}€€}|…ƒ}}|}}}~~~}}}ˆ}~‚~}~}}~~€‚‚€y{}‚~~}}}}|}€€~~€~‚Š†€~~€€~}~~~~}}~€‚~yxy„–‡‚~}}~~}||~€€‚ƒ‚€€ƒ…‚€€€ƒ‚€~~~~~~}}~~‚€~ywx}„‹„‚~}}}}||}€‚ƒ„‚‚‚„…ƒ‚ƒ„‚€~~~~~€€€~~}}}}€‚‚€zxxy‚‚}}}}}}}~€‚‚‚‚„ƒ€‚€€~|}}~~€€~}}}}}~€‚‚~zxwwy€‚‚‚€}}}}}}}}€€}~€€€€~}€~|}}}}~~€~}}}~}|}‚‚~ywxzy~‚‚ƒ‚~}}}}}}}€€~}€ƒ€‚ƒ€~€€€~|}}~~~~€€~}}~~|~~‚~{x{{z~ƒ‚‚‚}}}}}|~€€‚‚ƒ‡‰Š‹‰Šˆƒ€~}}}~~~~‚~~}~~~~}}~€€}{{}~~€‚‚‚‚}}}}}}}€€ƒ„ƒƒ„…‡†„„„…ƒ€€~}}~~~€€}}~~~~}}}ƒ€~€„„‚‚‚„ƒ‚€~~}}}}‚‚‚ƒ‚ƒ„‚‚€€}}}}}|~~}}~~~~~}~~~~ˆˆ‡ˆ‡‡……†„‚šŽ~~}||{€€€€€€€€‚€€}zwwwvvvvwwwww|~~~~~}~~}} \ No newline at end of file +ÑÑÑÑÑÑÑÑÑÑÑÑÑÐÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈÀ´°©£”‚~wnrzmfhonsijg\_c__e`X\bacYSQV\]aebeUUYXUVWV[WRX_]^YVMC@:<;544?3ÐÐÐÐÐÐÐÐÐÐÐÐÐÏÎÊÃÇÅÊÎÏÎÎÏÏÏÏÏÏÏÏÎÎÎÎÍÍÍÍÍÍÍÌÌÍÎÎÍÍÎÎÎÏÏÏɹ¡¦š~ƒz„yecerzna`png]Y\_`[[XR^ha_UQPSZZ`jkhRS]aZTROSSZaf`YROLB@97854176ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÎÍÍÍÍÎÎÎÎÏÏÏͦŒŠuqpsmlknw€y`cceg]]]^]]WVV_f\\ZVSTXUY^leRSZ^XNNOTS^ccc[SIEB>965421/2ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÉÄÇÄÊÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎÌ·™}mqw|x~€mkf_i\cee\[ZX`ZUYghVSUYYURNWR\iTQWXZRPSRR[caaYVVNF?;96421..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÉÂÅÄÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌÌÌËÌÌÍÍÍÍÌο•„‚~xgn~qflb`bXjf^ZVUR_c]`so]SQW]WNKVSR[TY]XWQQSW[_\Y\TRXQJB?@<641.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏɼ¾ÀÊÐÐÏÏÏÏÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÍÌÌÌÉËÌÌÌÍÌËÈŦ}wmdnuqedd`Y^aWU]VTS[ghgjfiWRWZUQTVTUYSZ_aWTUT[]^[YVSQRPJAB@8662.0ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏȽÂÁÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÎÍËÉËÌÌÎÏÍÊÆóœ{zsj\Ydb\bdc^a^XXTOPTY`cgia^TQQQOOUUTT`OVY[ZY[Z^]^ZURTRSMFEBC=641.3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÇÀÊÅÈÏÏÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍÌÉÆÇÅÈÈÊÍÍËÅÀ¼­”ƒrXTTSPUYnphad]ZMDCO\T]dd^XUSONNKOORP[NTWXYW\]\\^ZTQSPWPEGB><51///ÏÏÎÏÏÏÏÏÏÏÏÐÏÏÏÇÁÊÄÇÎÏÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÌÉÉÉÊÄÁ½ÄÂÅÂÆËÊÆÀ²£©‘}t^VZZYfjcqjg_YWSRTUdVQ^_WRXXSOMJPRTZYQSY[WUXZWTS]XSXRYXC98321//..ÏÎÐÒÒÏÍÎÎÍÌËËÌÍÇÁÊÄÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÅÅÆÄÅ¿»²Â½Ä½ÀÉ¿»ª‹‹‚w‹e_a^]jo\r`X_WRUX_][QQUZSRUXWMLNSSS\f]QXZXWWWZUP^\Y]]QF=7641/.-..ÐÚçìëàÑÍÌÉÄÂÄÆÉÅÁÊÅÂËÍÍÍÍÍÎÎÎÎÎÏÏÎÏÏÏÏÏÌÆÄÀ¹¿¼´§¿¹Â¼ºÅ»¼·œ†snjghcY]f`Yh[U]aSSVY^XVTPPPOOPUYVRTRRTf]NZ]ZSOPZZSYZSPLB9<<962/---.ÞíÞÏ×ìæÎü·¶»½ÂÅÅËÇÃÊÌÌÍÌÌÌÌÌÌÌÍÍÌÌÊÊÉÇÆú°¬²´«¤¯²º¹·½°²¨†{{yslXcg_[e[S]i_W`]PSTW_acVQONNPROWWMPTPR`aZc_VPLO[YUYRRZLDB=<;97300..ìÓ‰rzºíظ²±²¶·ÀÆÇÌÉÅËÍÍÍÎÍËÊËËËÌÍËËÇÅÂÀ·§¡Ÿ¦¨ œ¤°¯²¯®¨‹ypojoo_[ZXadXW_`^`YRWUTVYc\SUPPRVTSUWTRXQR\d]aZX[Y^_VUZXUSDAG<987764110âuws”Øå¹°¯±´µÀÄÈËÉÅËÎÎÎÎÍÈÃÊÌËÌÌÉż¸¶¹½­¢š“ œ˜¦´­¯©žž–{jffYidVPJNYcYRS]gbbl`ac^UYQRQPQSXUUVWXT]RQ```g]a`ki`TPONLLC?@8855654002É€†x’Ìë¿®®²²´¼½ÄÊÉÄÊÏÎÎÍËüÈÌÊÉƾ®£ Ÿ§§ž˜‹–—•¢­¬£˜“‘ˆvcej\]YQQQPYb_[iocU[gRZsp]SQMNNMKLPPOOQS\UX`WT[\ch`]YRKMJHGDHA8555554016¾…Š„~ÇìǨª²³´··ÀÊǽÂÊËÌÍËÀ·ÇÊǶ© ¡Ÿ˜™˜ˆ”˜“Ž•›”Œ‹‡uwteZUX[[RY^[Vaj]UUageef\TTNLLKKJIHHMMS^][]WS]iijY\VRVSJJC@C;864435537<»‡Šˆ…‘ÄèÛþ´±±°®¹Å¼¯²¶¹ÀÀƽ²Áĵ°¤¢œ ¢—˜“‡‚…„Žˆƒ‰Š†……ƒzyrdYXWX`ZVZXS[hTRRajhWUZXTPNMKLKHKIKRV_aVZSSnsgjcc\V`ZTUI?<;97533465;?É·³Ž†“ÄæììäÉ捻«­£ ¡¢¦©¯Âº­°µ£££¤¡£¤™—…„†ƒ„ˆƒ}„‰Š‡„€xwrkcZS[h^UVWW`\PY[aa]USSTSNMOQNNQQJFMQVaUTO^dca^fk]VV]YJQG==<:556589<>ÂÂÁ”ˆ•Äæëçææ컡¦®¥Ÿž¡¨®®µ¸²®©¥¥¥¦§ª¬­­­§™‰ˆ…‚„ƒ}‡‡„„~}{zumjg]WYRY]XV\\^[X]\^`[WRLVVONPMHHJIDCHKLTORS^aa\apa_S[a]JGC??=95677:=@@¾¾¾™Œ—Åäì×ÊäêÆ·ÅƸ¸²°Ÿ‰rlpˆŒ{liiklou}ŽŽ‰‡ƒ„„}‰…ƒ|zxusnmf\]dab\UV[Y__b[U]YZ_ZURMOOQMEGGDBDFEERIQUZX^_a]Uf`Y[[TMGFF;86678;?GH¾¾¿š—ÃåìãÞêéáàãâääà£_RWZ\`a€„bNJJRghc]PM~Œ†ƒ……}Œ„|€{ytttpjeZ[ed^VXRU^fcgZPUVh_bZPPQPLJFHPIGPX`bijqy{wvzxqdgfXTZ]THCA<;9878==ÆÉÌÆÁÄÎàëëëëëëêèçææ¿WNƒ²³´µ­œ–lcn_YWE:7:SR~ƒ‚Š‹†€‰…~|z{|wxr`Z[]XYYYX`ZSOar‚ykb_eUWPNRTNKa–wzslihedbbbba`acdfie`VH>:9;;:::::>>==äæççæèèçêëëéåâÜÔÎËÅUZY–˜“Ž¶›†¢l][QD95Lga„ƒŠŠ~…„zwwywvtf^`\RS[Z\_VT_fkhbX^cdUXOMPTNHpyNVY\_bT@BA@??AOWYZ[]TSG<9987::989;>@@>íìììëììììììçÜÍƾ»±vfV2:=;B^\dijk^VVlb=6O~X~‚††€~ƒ€zvw{yvsmg_WON[Z[WUX`^[MZb[][[`WMNUQKwaz––› ¦”K;98>@DRVSSR^vRC895`{;8888;ADCCîëêêêééééêÝο©¥¦¤¢šf{H4:OSDQUTTTVXOU{iC7£fn‚ƒ€ƒ||try||ulcd[SQIFOXXW[\QNMVY]_W[b_SNOLRˆbŠ¬¬¤ ˜Œ]F8=KNSXJ@=;=`bD796UB799;I‚–‡LA878KRMJx•]55E_€ƒ€‚…}xwsuprwrjg_UVWVY\`]XJISY_[\[YYZ^WQIDBƒ}Y>I8888HOMJJSUSH<=><;@fQ;82‰âS48;<>CILLºÀ¾½¼¯™ŽŽŒŒ‡„„ˆˆƒt{pELKuŒwNF<;:>>;F‘šS66:Œmvƒ€‚~xvwwmnunjhbU^i\WU[\YQQVZ_b_\Z\[YQIFBKšjQ9C7;KCBK>65FSN?ADD=8>_X<:7‡áT39<=BGHEM©¦¢ ¥§¤¦©««ªª xjp|j…oPUczwPJIJLLLEGX‹K=96„xi{^Uk{zzvnmplkgf_hrbZOR\]WTVZ[a[Y\bZQOOOMm YL;@8TxxI>8659=;<@BC=89UWAAO_zF6<<@FKKCT’ŽŽ¯ÅÄÄÄÂÀ¿ÃµI7G|[]VQSKPEFOWXXQMGP[wiKD:6THPV74H€|y{zqikmoje`_[^[OQXXQQV\\\[[^^VSRV`f‚’IKDF@WIA>7477:ADDDB=7PV@FaZQ?:=<=ELOU`„…„“‘d]XZ]UTUT;75=IC9878:><;<;9;9:99BDDJJMTbmlnoš“”‘ˆvnrzk\VVTTQOUWPPZ]\Y[a^[SRQUdt‚~>ttIDDWMAGH@@ABIKJKKJH=CFBH_WVH=<9TDKU>=><8888888899995Kƒ“¤¥§«««©¨§¥¥¥¥¥¦©§œvobWV\XWYRQTQRT\_]daYWTQJKQR\iYXZ?9;BEFHJUkkmmYB@?=AF¤ŽGM<<<;999999889998=•‚‚~{xtqommoomlmmpq|‡kdXRY[]]XSNPUT\ddd\SSVTLFb„\pymgUMT\^]^^^]^^^]^YPSenwKö‚MPUmotsnj¤çÌ‘LSSQNNOPOLJT«–OD87;:787777898784ešbhnoqtsy„©¦Ž‡}ywwvmwyg`WZ[\YVQPPUZ\WZ\WPRXUQU|·‰wmofdaXctpnmkjiihijorf^__epjY½–Š‰„}|vtql¦ãÙº¤¦ª­­°²³²±²­„\r{\875554668B9657zl„“˜šœž”ja\Rƒ œ–‚oqia\]YYVW[]SQXYSNOU\YY[bt¨†iZ]]\ZX_e^ZYXYYXXYY[a]YYYZ[VNz’‡‚rqrqoj~©·¸»¾¾ÁÄÅÆÆÅÄÀ‡jj ²»f433334575573F^€¿ÕÙÜÜà½eYOK€ÜàÝÛÛÜ¢p^tnoqnpx‰“‘††‘“‡„®—}}‚s–wcVWYYYYXWXXWXXXXXYXXXYYZZYWTLfŽˆ~viktumjuttwxz{{}€‚‚‚…}Qh¦Àµ½wC?Mj˜idojZSLAAAo[jgggiijmoruwwvuttrqppri[ec[ºÎÏÝï’LIZZD_…oJLŠk=DƒíçäâÃXKX[YZYVUWYY^{xtrnllllnoqrrriE934GLZ|}•bfncŠíÕk|–XfLe;7989:>T|faJ88:;;FBb_aiihedeffhloruvxxvsqppjNU^MŸàÕÚæë€ECŸ›;‹Ô¸Hk¼V>jãêÕÇÆ“NLU[XXXZYXXXW{{zwrnlkkklooprf;22446:@J[bw—«ÞÍ ™„XaGE9?C>:969BB@88GcX9<;Ne[kljjgfgfeefhknquwwwvulIJSQ[qŽ©ÉûºNFaÐ}ƒØ²aÃHKŽöß—|`VQKQVVUVZYXXXXzzyywsnkihhklnpd80178>:?fTijgklhfddccbbdeiosuwxoGELPPPV`Ž³‰pk[ªä¥»§¾Õicnw™‘`YWUPKQTSTUWYVWWWxxxxxvrmihhhikmd80136=EXq—­ÙðïÙ¬©· dRSNMKKLMMLI=:88:J\{`JJF@NP_d}pfilheddcabbbglpruoFBINQTX]```dkt‚ÊéêèÞ urjgb`_[WSNLUWVUTW[UVVVvwxxxwvrnjgfghje:0125;JPZq‡Èð㇃œ•d@CBHUXQGDJXK>AA?@BOwcrvZYXZZZ[[\y^EEDBBCA@AABA;===<<<<<<<>==;>?:89::9778887;AZhffhknnlhge=5FJNŽ°s]POB@>?F\P^WPRJFJQSb¯Æ_DV¹°‘wmmmnnjh`dgjmopqstttsqoc6:43B91/---+++)@u‘ƒ„­¿£i\]]\Š`<@<;7777777=?Nfhgffhjjihf:4FEJ©Åm]^SEJJKKNJFFEFF?E_^_š±\@Kš»ÉÁ§xrpnl€_egjlnoqsttsrnb5:63BPGB<:2++,*Ds‡wãéà­eccp–I?989;;:<=;]_A>EJ<4455775;BC_lihgeeghig72B@AZlacidKDBEIHJLNPQPO]mkc]XICHaiz ÉÒÁxnn¿w`ehjlmoqssrqjZ39534=?@832247Tlkigeeddhf60=::?HR_inokihhhiiigffijg_UMC;449RP89=<77:JTP:B`UNC:66>@Gdlmnkha`cd6.86;../234766766554320.,-,,,-GIBdlllgg€©ÇÔ¹ÁÏ­b]cgiklnnppjeYLHFFFGGFFHHHHHESKLJPWƒµˆ©¶¨N?:44NysB587332169>EKNSTO@5:B@Zl]VU]gbcb6-6BbC0-680+('(('&''),49AUS+&=VJBdlllkjgg{¥Ë°ÅÑ™\_dgijlmnnlkheb`_]\\\\]^`cf[LIKIOWZZnÉ®?@966[Žˆj<:511234:EGPV_]\P76A?PkC55;ce]W2.8408B?AB@=;9999999:„°w;@>MLCVXNBB;00113@HOMYc^XN:4??BK;765[eVO2.50,4<<;::::99877777678899)".24:ZcegijjjjigV”¾ÌÃq\cehikmnnoonlkjhdca__`bcb_EDIIPECIBR[TNJ<5<;=;614AchcU<0/-,320.-,,++***))))(()+--*)233;_d`_bfikkkk[~²Áέc_dfhkmmnooonmljhfda``aab^@BHINE9ZB>=@;@J@;;:::::=BA<<;:999888:@IHGB;BZV^hjihaWH@>>@BDFKLLIGEDDDEFFFFGLQTWZ[\^amnkebcfhijj\`‚»Æ̘_aegjklmnoonnllkifca`__b]BECA@?=>@@@?@@DD@E_>>>=>Gj·—dgghhhhiijjjiiigfdbcfjjkjhea_^_`aa_^]^bhkloppqqqnrw]OOa«ÂÌÉ{_dfgikkmmnoomlmkgeaZ0378878Lk•pU?<=<<==<;9888886788888788:;;:<@F@[diggghhhhhihjiiiiiigcbcefikkkfc`^_____^\]afilnnpqqrrqgWQOsµÃÑÁqadfhkklnmmmnnmkie\N/34:621DfrVJGI>>?;;=<;;<>>BSHCCBBAADDI]…ž›°UC`fffgggfffghhhiijiihecbbchkljjfaa_____]]^_afklnoorpnodTWk¿ÉÕ³haegjjkklllmnmljf[H.2321?DFVVN’©ŸŠ±º wQKKIJLMT‚aVTWTSRNI”çíéÎÁÐæT7bgfjlidfffghhhhhiiijidbaacfjkmlifccaabaa`_^_dhjlknoooiYRVW™ÈÈÒ¡_bdefgiijjllmmkieQ2//..21BOED¾ãÈÂÛçñîqFQ\ab|§œš¤ŸwXXWEBŒæëÙßíöÌI8cfm·ÒΉdgffghhhhhijkigdbbabfkmlkkhfcbbbbb`]\\_eijprrqoeSNL_®ÇÏІ^bdefhijjkklljje\J5111/+=K68™òòìâåê¸n@6984]}‚„ŠwT.118Ls~®¶±¨˜b<8bgfº¸Ÿfcddggggfghjjjigedb`bdjmnnlifccbb`^\[[[^aerrstuvgTOKxÁËÒ¾l`ceghjjjkkkkjifb]SNNNNOGH38Sˆ¡£¤ Šr‡kD;<:L‹¥¦¥‹D@CDHn•r^VLC9557ahgefbcedccdeeeefghhhhhgeda_^bjkmmkifdba_[[[[[[\^qpomloi]RMQ¡ÈÊÕŸ]adfhhiijjkkkjheb]\[YYXKG26:88>923IWE98BI]r<@AACIJB=9416eIDF62†Õ£42>aihhgggggejlhgdddeeeffggggghiihecb```ejkjie_^^^^\sqmlppmmmneNLKf³ÄÌÖ‰_egggijkklmlkjjjhfcA9>91;µæ¨57GO?h_ABCEMRMKIIGiwVX>42‰š[14A`ihhggggggfeeffeeeeeeefgggffgghgeda_]`dhjlkd`_^]\ponhloqsrpiRKMMƒÁÃÓÂobfggijkkllllkllkjgIR>926g•345f_T{st£ƒ}|z{‚Vhb4330,.17@]geeddeegfghhhebcaacdefgggghgghhgfc`]]`dhkljgb^]\oihkkmsuuus`ML[n¦ÂÉÕªddffhklmmmmnmmlkjjE@=<64103764NMDOVYrw|bX[mQGEGGM85540.0;Pr…‹Ž”˜œŸ£¥¥¦¦¦¥ “‡wleffffgggfghhgfd`]^aeilmljga_lmmlqroosstmULPQf³ÆÌÔ“bffhjkllmmmmmlkjkA(=932444346BLJNRW^]koYWUPJHD@@2.-9Uw¡®³´µ´±±­¬«ª©¨¨¨¨©ª®±¯¢veeefghhhggghgfd`__afjllllfc{utrxumlnnlnhNJLK|¿ÃÐÊucefhhhijkllllkjf@&<3---,,+**,..--,*)+,(&''&&%$%&$] ±²«§ ›—“‹‰†~~|{{{{||~ˆ‡heeffggggffgfffeb_]afilnmli}vpnkjllmkfQKMMRžÁÄÖ«aacfffhhijjjhf`Y=$9/)+*)++*+,*********..354448<:PªŸ“‡{snkgecca_^^]\\\\\]^^_bnqdeefffggfffefgffa^^aeimnnkwxuvuonjmnomlcXNMJh¹ÁËÒ{Zadffggghhheb`ZC%8/,)'2=>AEFEDDDEEFEEFFHIIHFEDAqšphd`^\YXXYZZWr‡TUXWWXXXXWUUR^gedeffggffffffffdb_]`dhmnnqwtwvnpkjlmmptjSLKPšÄÇÖ²aaeggggghhgghi`F*8/1/*-3112121222232110000.--+0‘~TVVVY]acfg]D=GR?@Uhhgfffeb`VAbdcdedffeeeefeeeeca^]]bilmnupnmmnkiklnnojSLKMk½ÇÏÓ…_deghgggggggf_J14/12/'%#####"!!!"#"""""!""""A¥^Gfjrvwz{}[gnhtjTOM>78889>tOOdcdddefeefefffeeebb^\]cilpnoutpmopoiilkkUKKNP™ÈÇÔ¶babcfgggffffd_UC1-../*())))(((()*+,-...011130l‘Eo ¬®°´¹¼ÀÀ±²‰¦}NQF3223453]lA_`deddeeeffgfffffeda^\^dhlnpsqnmqttoilmgVLKMLi¾ÈÍÒ…beegghhggffd`ZTIAA@?@@BBBAAAAABBCEEEFGHHHGGFoFzoÄÃÂÃÃÂÂþšÎËž¯†OO<2323345CyAqbfddeeefggffeefedca^]_enmmnrtsqvpnmlmoeQKLNN—ÊÊÔ»iefghhhgffgeb^ZUQOOMLLMMMMMNOSUUVWXYXXXXVUS_•XTrQ½Æÿ¼¹µ¨ddhb_UQL512222366lWcÞ‘bbcdcdefeeedddeddca^]`lqusqrroslkkjkreNLMMJe»ÊÍÔ”bfhhhihggggda_\[YYXVVVVUUVVX]`abeggdba`_]Yx‘Mcb«¨fabcccdeddddccddedb`][qwxrkjkprlilttth]WNLMQÌËÑÅsdhhijihggggdbabaa_^\ZZYZZ[[_acgjjjggdcca]…}BnsS;3666626565;YD@BB411243323Az?Nadcbcbaddccccccddddcb_\kkmjddcnnv{xywrlqfPLNTd·ËÊÖ§fhhijiihhhhfeccbba_^\[ZZZ[\_`bfhheeecbbaa‚j>u¤j:;;<;9221103\5135620138@926xQC_ccbedbccccccbcddddccbaspmlkvosnxyxvw}n_SKLMN„ÇÇÐуdghhhihhiihfeeddc`_]\[ZZ[]__aabbaaaba`^dw\C€{>237AB:21000/4//5DFB>?BGLF4/bf:]aYY^hhddcbbbbccdddccbb…€|xy|znmszy{€{i`SKKLMXªÉÇ×·hdfgggghiihgfeeeeca`^\[Z[\]_``aaaaa`_]ezƒ[Ku6167ETVMA8/0/58;1Vc^^RCDDDDDDCA>=>B7?sFJ;?Yfeeffdceeedcccdd…{…{†z‡z‡{‡{‡{‡z‡z‡z‡z‡{‡{†z†z†z†z†z‡z‡z‡z‡z‡z‡z‡z‡z‡z‡z†|„‚ƒ|†v…uƒt…t†t†v‡xˆw‡x†x†x‡y‰{ˆ{†z‡v‡u‡w‡z‡z‡{‡{‡z‡y‡z†|…}ƒ‚€ƒ€ƒ€ƒ†y†z†z†z†z†z†z†z†z†z†z†z†y…y…y…y…y†y†y†y†y†y†y†y†y†y†y†z†{„‚}‚zƒv„t„sƒt„t…v†xˆx†x…w…w†yˆzˆz‡y†w†u†v†v†x†y†y†x†w†x†{…}„€‚€€…z…z…y†z…y…y…z†z†z…z†z…z…y…y…y…y…y…y†y…y†y…y†y†z…z…z…z†z†z„‚‚‚‚|‚v…u…uƒu„v…w…y†x†x…x…w‡y‡{ˆz‡y†x†v†v†u…w…y†y‡w‡x†x†y…|„}‚€‚€€…z…z…z…y…y…y…y†z†z†z†z…y…y…y…y…y…y…y…y…z…z…z…{…|…{…|…|…z…|ƒ‚‚‚{…y„y„w„v…x…z…z…x…w†wˆy‡z†{†z…y…w„v…v„w…x‡x‡w‡x‡y†y„|ƒ}‚€‚€€€€†y…|„{„z…z…z…z†z†z†z…z†z†y…y…y…y…y…y…y†z…{„{…|„~„|„|„|„|„~‚€‚|„z„x„w„w…x…z†z…x…x†xˆz‡z†{†z…y„v…v…x…w†x‡x‡x‡x‡y†zƒ~‚~‚€€€€…{ƒ€‚€ƒ~„|„}„}…{…y…y…z†z…z…z„z…z…z…z…z…{„|‚|ƒ~ƒ}‚}‚}ƒ‚€ƒ‚}~ƒ|…y„x„w„x…y…z‡y†y†zˆ|ˆ|‡z…z†x…y„v…v…x…y†z‡y‡y†x…z…|‚~‚~‚€€€ƒ‚„‚„ƒ€ƒƒ„~…|…z…y…z…z…z…{„{†z†{†{…|„}‚~€€€€‚€‚„}„~ƒ}ƒ}„{†y…x„w„w„w…w†x†y‡{ˆ{†{†{†z…y…x„w„w…w‡w†x‡x‡y‡y…y„|‚~‚€‚„„…€ƒ€‚ƒ~…}…|…{…z…y…z…}„}…|†~…ƒ‚‚~ƒ~‚€€€‚ƒ}„|…|…|†|„z…y…w…v…w…v„u„v…z‡|‡|†{…z…{…y„w…x…w†v†u†u‡w‡y†y…y„|~‚€€€€ƒ‚ƒ‚€€€‚€ƒ€„„~†|ˆ{†z…}…}„~‚‚€ƒ€„€„}„|„|ƒ}ƒ}„~ƒ~ƒ}…|‡z†z†|†{…{…y…x…w…x…w„w„x†y†|‡|†{…{„{„z„w„w…w†v†t†u‡v†w…x„{„~‚‚€‚ƒ~‚€ƒ‚€€~€~‡~Œ}Œ}‹}Š}Š~‰~Š~‹~‹~‚z„z„{„{…|„|„z†y‡x†y†{†z†{…z…y„x…x…y…y…z…z…{†}…|„|ƒ|ƒ{„{ƒz„y…x…v…v…v…u„vƒzƒ~‚‚‚‚}ƒ~~ƒ€‚€€~€€~€€€‡ˆ}†}†}ˆ€‡ˆ}Š|‹}}‰~{ƒz„z„z…z„y„x†x†w‡y†{†z†{…{…y…w…w…w…x…x…z…{†|…}ƒ‚…ƒˆƒŠ†‹†‹†‹†ŽƒŽ‚€‹z†vz‚~ƒ‚‚‚‚~ƒ}~~~€€€€€€‚€ƒ‚…~„}ƒ{„{„y„{†z‡z‡}‰~ˆ}}ƒx…x…v†v‡v‡v†vˆvˆy‡{†z†z…z…y„v…u…v…w…y‡z…{…|…‡…˜†›†œ‰™‹™Œ™Œ™Œ™Œ™Œ™†Žzƒ~ƒƒ‚~‚~ƒ}~~~~‚~„~„~„€‚…}†|…~†|…y†y†w„{‡~‡}‚v†u†t‡uˆvˆu‡vˆv‰yˆ{†{…z„y…x…z„z…y†y‡yˆz†{††ƒ‡ƒƒ~ƒ|…{ˆzŠzŠzŠyzŽ{‰‚€ˆ€†‚€‚€~}ƒ|„}~~€~‚}ƒ|„}…}†}…€†|‡}…ƒ‡~ˆxˆxˆx„|€ƒ†ˆ~v†s†s‡t‡t‡u‡uˆv‰yˆy‡z…y„y„z„{…{†yˆzˆz‰z†|„††‡ˆ}ˆ}‡~‡|ˆ{‰zˆz‰z‹zy‰}‚€‚†‚€‚}ƒ|…}~~~‚~ƒ~ƒ~„…€†‚€†{†}…€†}‡x‡yˆ{†~€…†‰~‚x…w†u†sˆsˆsˆtˆv‰x‡x†x„yƒy„z„z…z‡yˆyˆzˆ|‘~“‚†‡†‹{Š}†‰}Š|Š{‰{‰{ŠzŒzŠ{‚’~†~€~‚|…z…}†}„ƒ€ƒ€ƒ€„„‚ƒƒ‡€ˆ}ˆ}ˆ}ˆ}ˆ}ˆ}ˆ~‰~…‚‡‹}Š}‡€†ƒ‚~„{…x†u†w†x†x†y„y„y…z…y‡x‡x‡yˆ|ª}¶ƒ”ˆ‡‰{Š|‰~Š}Š{Š|‰}Š}Š{ŠzŠyƒ«~µ}‰~€{wƒs„}†~…ƒ‡|‡{‡y‡zˆ|ˆ}|Ž{Ž|Ž||||Œ}‹}}{‘y”x”z‘{’{’z’y‘yy}w†x…x†x…y„y…z…y†y‡xˆzˆ|•~˜‚”ˆ–ˆ‘ˆ‘ˆ‘ˆ‘ˆ”‡•‡•ˆ”ˆ”‰–ˆ—‡—€™|zƒysol‚~ƒ‚„„€†††††‰|‹€ˆ†ŠŠ|Š}Š}‰~‰~‹}Œ|Š|ˆ|ˆ|ˆ|‰~‰€ˆ}‡}…{Š|ˆ€{„y„z…z…{…{„{…zˆyˆy†x†w„€‚…™…µ†º…¼‡³‰³ˆ¹‡»…¼†º‡´„»…Á†º~°qˆigjk€k„„…€‡€‡‡~‡~‡~ˆ~…‚‹„ƒ††~‡††€Š‹|‚|}|{}~}†|‡|{}}|~~‰~‡ƒ‚‚‚€‚„~…~„|ƒy†€……žÁ}ÌyÑxÓwÔwÕuÖtÖuÔvÓvÓyÍ{Åz°qjjlk€j€‡~†€†‡ˆ‰ˆ~ˆ~‡„€„‚„‚‚‚ƒ‚„„…‚‰‹|†|„|~ƒ~ˆzˆy‚{}‚~†}Š~†„ƒƒ„„„„€„€„‚‚‚‰„›‚†€‘}žzªz®x°v±v±x®x¨yž}}ƒ|“~˜€{u‰{ˆ}‡ˆ€ˆˆˆ~ˆ~…„€„‚„ƒ„ƒƒ‚„ƒƒˆ~‰|‡|‰|‰}ˆ}ˆ{Šzˆ{‡~†€†}ˆ}Š}†~…„€„„ƒƒ‚€ƒ‚€ƒ€‚Š´~¢~‹~}‡ˆ~~ƒ~ƒƒ€‹„„}›{· „~†€†€…€‡‰{‰{‰|ˆˆ‡ˆˆ~„ƒ€„€†…~„‚‚‚„‚ƒˆ}ˆ|…|†|†|‡|ˆ|Š|‰|‡€ƒ„†}ˆ|‰}†~…~…€…‚ƒƒƒƒ‚€€‚‚‰w¿tÐtÈv¹vÀx¼|™‰Š|¤{ÃyÀvÃtÑtÐ}£„~„€…€„€†‰{‰{‰{‰{‰}‡‡€ˆ„‚€‚€ƒ€ƒ‚‚…ˆ€…ƒŠ|Ž{{‹{‹{‹|Š|Š|Š|‹}Œ}Ž{zzŒz‹{Š{‰}„ƒƒƒ‚‚‡w¿sÐsÏtÊw»~¦•Ž~—{¯vÁrÏrÑsÍ{ ‚‚€€‚€ƒ‰}‰|‰|‰{‰|ˆ}‡€†„‚€‚€‚‚‚‚ƒ‚†‚†„‹{“y•x•v•v”w‘z‘y’y’y”y”z“z’z’z’z’z’z‹~‚‚‚ƒ‚€„w½sÑsÑv¾|„€ƒ„€ƒ€‚€†z—tÇsÓtÎ{ž€€ˆ€‰~‰}‰}‰}‰}ˆ~†ƒ‚€‚€‚€‚‚‚‚†€Œ|‹}Ž|‘x‘wy|Ž|Ž|{Œ{Œ}Œ}Œ{‹{{{{‹|…€‚‚‚‚‚‚|©z¶y±yŸ~€€€‡‡ˆ€Š€„~€z¦yª{±}’‚‚‚~‚„ˆ€‰~‰}‰}‰}Š}ˆ~ƒ€‚€ƒ‚‚€‚‚€†Š}‚‚Š}z‹{‹|Š|Š|‹{Œ{Š|‰|Š|‹{Œ{ŒzŒzŠ{‡~……„‚ƒ‚‚‚‚…€†€‡…~‚~‚~€~~~‚~„~„‚€‚‚‚‚‚†€‹‚ƒ†‡€ˆˆ}‰}Š}Š~„€€‚„ƒƒ€ƒƒ€†‡~‚„„‰|ˆ{Š|‰~‰Š}Œ{‹{‰{‰|Š|‰|‹{ŒzŠ{ˆ|‡†€†…ƒ‚‚€€‚€ƒ€€€€€€€€€€€€€€€€€‚†€†„ƒ‚ƒ€ƒ}„€ƒ„†ˆ~‰}Š}Š~‡ƒ„€„€ƒ€ƒ€ƒƒ„…~ƒ€‚„ˆ~ˆ|Š}‰…‚‡~Š{‹{Š{ˆ|ˆ|‡{‡{ˆzŠzˆ|ˆ}‡‡‡€†€ƒ‚„………„„„……„€ƒ€€‚‚€‡‡ˆ‡€„|…|„‚†€ˆ‰~Š}Š}Š~‰~‰~‡~„€„€…€…€„€„~„€ƒ„†ˆ|‰}‡†‡|ˆ{‰|‰|‡}ˆ{‡{‡{‡{‰|ˆˆ~††ˆˆ„€‚„……€…€…………„€„ƒ€€€‚…€†‰‰†}“}‰~‚ƒ‡€‰‰~Š}‹~‹}‹}‰}‡…€…€†€„€ƒƒ€ƒ…€ˆ~‰}Š|Š}‹|‹z‹zŒzŒz‹zzŽzz{Œ}Œ|‰~††ˆ‰†ƒ€‚‚‚‚‚€‚€€€€€‚ƒƒ‚„†€‡~|†~„}ƒ}‚„ˆ€‰Š}‹}‹}‹|Š|ˆ~‡†€†€ƒ€ƒ€‚€€…~Š|{{’y”x”v”u•u”u”v•v–v–v–u–w–w’x‰}‡‰~‰}‡†…€„„‚€€€‚‚‚‚€‚‚€ƒ€‚‚€ƒ€v„}„ƒ}ƒ‚†‰‰}Š}Š}‹|‹}Š}‰~‡€†€ƒ€‚€‚‚€ƒ€‹{’x“x—w—v–v•w•v”w“x“x”x”x”x•x–x•wŽ{‡‰~‰}ˆ~‡~‡~‡‡€†€ƒ€€€‚‚‚‚‚‚ƒ€‚€€€‚p‚{ƒ€ƒ‚~‚‚‚ˆ‰}‰}‰}‹|Š|Š}Š}‰†ƒ€€‚‚„€‹}{{Ž|Ž|{Œ|‹|Š}‹~Š~Š~‰}‰}Š‹€Œ~‹~‡€ˆ~‰‰~‡~‡~ˆ~ˆˆ…ƒ€€‚€€€‚‚‚‚‚‚ƒ‚‚‚€‚€i}n{}Ž|‹~‚ƒ‚‡‰~‰}Š}Š|Š}Š}‰}ˆ~ƒ€ƒ€„€†‰€‡ƒ‡……‡…„…„„…‚…‚…‚ƒ‚‚„ƒ…ˆ…ˆ„ƒ…‚‡‡ˆˆˆˆ~ˆ~ˆ~ˆ~ˆ~‡…€ƒ‚‚‚‚ƒ‚‚‚‚€‚j}i|q{ˆ}ˆ~‚ƒ…ˆ‰}‰~‰}‰}Š}Š|Š}…€‚€‚€ƒ„‚…‚††‚„‚‚‚‚‚‚‚„‚„€ƒ€‚‚ƒƒ†‚‡‚‡ƒƒ‡€ˆ…€„ˆˆ~ˆ~ˆ~ˆ~ˆ~‰~ˆ~…€ƒ€€‚„‚„‚‚‚li}k}w€€‚~ƒ~ƒ‚‚‡€‰Š‰}‰}Š}Š}Š~ˆ~„ƒ€‚€‚€€…†€†€ƒ‚‚„††ˆ€ˆ€ˆ€…€‚‚‚ƒ‚ƒ‚ƒ…€ˆ~‡‡‡ˆˆˆ~ˆ~ˆ~‰}‰~ˆ~†~ƒ‚‚„€†…l€l~l~s‚„€ƒ}ƒ~ƒ…‰Š~‰}‰}‰}Š}Š}Š}‡…ƒ€‚‚ƒƒ€‚„ƒ‚‚€‚‚‚ƒ€‚€‚€‚€‚„ˆ~‰~ˆ~ˆ†‡€ˆ~‡~ˆ~ˆ}ˆ}‡}‡}…~ƒ€€‚„€‡€†€l‚k€i}nz„€ƒ~ƒ|‚€‚‡€ŠŠ~Š}Š}Š}Š}‹}Š~‰„€€€‚€‚‚€‚€„€†€…€…€…€…€‡€…€ƒ€‚‚‚‚„€ˆ~ˆ~ˆ~ˆ„€ƒ†€‡~ˆ~ˆ~ˆ~‡}‡}‡~‡…€€€€€‚…€‡‡€k‚j€h{h{j}y€ƒ}‚~‚ƒ‰~Š~Š}Š}‹}‹}Œ|‹}Š~†€€‚ƒ‚„‚‚„†€‡€‡€‡‡€†€…€„€ƒ€ƒƒ‚ƒ€ˆ‰~ˆ~ˆ~‡†‡€‡ˆ‰ˆˆ~ˆ~ˆ~ˆ~‡~…€‚€ƒ€††j€k~hzfyezs€„~“}ˆ~‚…Š~‹}Š}Š}‹}‹}Š}Š}ˆ‚€€€„‡€‚‚€ƒ€‚‚€‚‚€‚‚…€‚ƒƒ…€‰‰~ˆ~‰ˆˆ~ˆˆ‰‰~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ}‰~†ƒ€‚€„€„€ki~fyfxeyk}{…€‹~‡}‚†€‰~Š}Š}‹}‹}Š}‹}‰~‚€€€€€€€€€ƒƒƒ‚†€‰ƒŠŠ‹Œ•‹™‹‹Ÿ‹¡Š¡Š¢Š¢ŠŸŠ˜ˆƒ‡}ˆ~ˆ~ˆ}ˆ}ˆ~ˆ~†ƒ€‚‚gg~fzgxfxhzp~€ƒ~ƒ~‚ƒ‚‡Š~Š~Š~Š}‹}}‹~ƒ€€€€‚€ƒ„~„~„~„~„„~†~‡}‡‡‡{‰Œ‰´‡Á…ƃɃʂÌÄÅÇ€ÆÅÅņžˆ|ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~‡~†~‚€€€hg~gzgygxgyhzuƒ‚~‚‚‡€Š~Š}Š}Š}‹}Œ}‹~ƒ€€€‚€„……€…€……„……~…€„€†{†”‚«€£€”€‚Ž‡ƒ‡…………„„„„…„‡ƒ‰~‰~ˆ~‰~‰~ˆ~‰~‡}‡~†‚€€‚‚hh~fzfygyg{hzr~€ƒ‚‚‚…€Š~‹}Š}Š}Š}Š}‰}…‚€‚‚‚‚‚‚‚‚‚‚€‚…~…|‚ww€ww€w‚w‚y…y‰yŠz‰z‰zˆzˆ{ˆ~ˆ~ˆ~‰~ˆ}ˆ~‰~ˆ~ˆ~ˆ~ˆ„‚ih~f|gyg{g|h{o}}ƒ‚€‚~‚€†Œ~‹}Š}Š}Š}‰}‡~…ƒƒƒƒ€ƒ€ƒ€ƒ€ƒƒ„…€…€…†~…|ƒ{‚||€}ƒ{…z…zˆz‰z‰z‰{‰{‰{ˆ|‡~‡ˆ‰|‰~ˆ~ˆ~‰}ˆ~ˆ~‰}ˆƒji~i{h|g~g~h~j~u€‚‚‚~‚‚Š~‹}Š}Š}Š}Š}‰~‰~ˆ~†€†††‡‡€…€‡€ˆ€ˆ~ˆ~‡‡~„~ƒ†€…†ˆ}‰|ˆ~‰}ˆ{‰{‰{‰|‰|ˆ{†}‡~‡…‡‹ˆ~ˆ~‰~‰}‰}ˆ}‰}‰~‡lƒlj~ij‚j‚iƒh‚o~‚‚‚€ƒƒ€‚†€Š~‹}Š~Š~‹|‹}Œ}Š}ˆ~ˆ~‡†‡€‰ˆŠŠ~ˆ‹ˆ‡‚ˆ„‚…ƒ‡†‡‰~Š}‰~ˆ}ˆ}ˆ}‡|‡|ˆ|‰{‡}ˆ| v×€¦‰~‰~‰~‰~‰~‰~‰}‰~lˆlˆl‰mˆn‡n…l„n…s…|‚€}™}‚ˆŠ}‰}‰}Š|‹|‹|Š}‰}ˆ~‡~‡‡ˆˆŠ|…•uÑyLJ†ˆ}„~…ˆ~‡}‡}ˆ~ˆ}‡|…{†|†}…}†}†}†}†~‡~€™y¼€ ‰‰~‰~‰}ˆ}‰}‰~‰}ÑÑÑÑÑÑÑÑÑÑÑÑÑÐÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈÀ´°¨¢”‚xmpynhiooshjfZ_c`_d`X\b`bXSQV\^afcfVUYYVWWU[WSY`^^ZVMC@:<;544?4ÐÐÐÐÐÐÐÐÐÐÐÐÐÏÏÊÃÇÅÊÎÏÎÎÏÏÏÏÏÏÏÏÎÎÎÎÍÍÍÍÍÍÍÌÌÍÎÎÍÍÎÎÎÏÏÏɹ¡¦š|ƒzƒwecdr|o``png]Z\_`[[XR_ia^UQPS[Z`jliRS]b[SRNST[bf`YROMCA97854177ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÎÍÍÍÍÎÎÎÎÏÏÏΦŒ‰uqpronnpv€y`cceg^]]^]]WVV_f\\ZWTTWUY^leRSZ^WNNPUS_ccc[TIEB>:74421/2ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÉÄÇÄÊÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎÌ·™}orx{wmjf_i\dff\[ZX`[UYhhVSVYYVQNWR\jTQVXZRPTRR\cabYVVOH?<97521..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÅÃËÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌÌÌËÌÌÍÍÍÍÌο•Ž„„ven~rfkb`bWje][VUQ_c^`so^TQW]WNKVSR[TZ]YWQQTW\_\Y\TRYRJB@@=651.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ¾¿ÊÑÐÏÏÏÏÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÎÍÌÌÉËÌÌÌÍÌËÉŦŽ~|ulcltqede_Y^aUU]VTS[ghhieiWRWZUQTWTUZS[^aXUVU[]^[YVTQRQKAC@8662.1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɽÂÁÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÎÍËÉËÌÌÎÏÍÊÆóœ{|th[Wdc]bdc_d^XXTNPTZ`cgia]TQQQOOUSTS`OVX[ZZ\[^]_ZURTRSMFEBC>641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈÀÊÅÈÏÏÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍÌÉÆÇÅÈÉÊÍÍËÅÀ¼­‘~rXTUTPUYorhcd^[MEBO[S]dc^XUTONMKONROZNTWXYW\]\\]ZUQSPWQEFB><51///ÏÏÎÏÏÏÏÏÏÏÏÐÐÏÏÈÀÊÅÇÎÏÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÌÉÉÉÊÃÁ¼ÄÁÅÂÆËÉÆ¿±¡§‘‚}u_VZZYfibpjg_YWTSUUbUR^_VRXXTOLIQRU[YRSY[WVXZXSS]XSYSXXB98321//..ÏÎÒÒÓÑÎÎÎÍÌËËÌÍÇÀÊÆÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÆÅÆÄÅ¿»±Â¼Ã½ÀÉ¿»©ŒŠtŠe`b]]io[q^X_WRUW_]ZQRUZTSUXXNLNTSS[f^QX[XWWW[VP^\Y\]PE=8751/.-..ÐÛèììãÒÍÌÈÃÂÃÆÉÅÁÊÆÃËÍÍÍÍÍÎÎÎÎÎÏÏÎÏÏÏÏÏÌÆÄÀ¹¾¼´§¾·Á¼ºÅº»·š†~plgfgcX\e_Xg[U]aSSVZ_XWUQPPOOPUZWRTRRTe]O[^ZSOPZ[TYYSQLB9==:72/---.ÞîáÑÕêæ춶º½ÂÅÅËÈÄÊÌÌÍÌÌÍÌÌÌÌÌÍÌÍÊÊÉÇƸ¯¬²³«£­°º¸·½°°¦…z{xqmVbg_[eZS]j_Y`\OSTW_bcVRONNQROVXMPUPR_a[b_VQMP[YUZRQ[KDC=<;97300..íÔ‹sy°éÙ¸²±²¶¸ÀÆÇÌÊÅËÍÍÍÎÍÌÊËËËÌÍÌËÇÅÂÀ¶¦¡Ÿ¦¨Ÿœ¤°¯²¯¬¨›ˆypmioo_ZYWadXW^^\aZTXVTVXc\TUQPSWTTUXURXRR[c\aYY[Y^`VUZYTSC@G<977764111äuvsÓç¹°¯±´µÀÄÈËÊÅËÎÎÎÎÍÇÃÊÌËËÌÉĺ·µ¹¼­¢š’œ ›˜¨µ«¯¨ž•ziefYicUOINYcZST_habn_ad_UYQRQPQSXUUUVYU\RQ``_g\caji`TQONKLC?A8855654003̇‚yŽÇêÀ­­²²´¼½ÄÊÉÄÊÏÎÎÍËûÈÌËÈż¬£ Ÿ¦§œž˜‹•—•£¬¬¢—’‘ˆvdfk]]XQSRQZb`[ioaSXeSZrq]SQMNNMKLPPOOPS[VX`WT[Zbi`]ZQKMJHGDIA8555554017½…‰„ŒÂéǦª±³´¸¸ÀÊȾÂÊËÌÍËÀ¶ÇËÇÁµ¨Ÿ¡ ˜™˜ˆ”˜’Ž•›“Œ‹‡€vxteZVX[[RY^ZU_j]US`hgde]TTNLLKKJIHHNNT_^Z]XS^hijX^WQWTKKC@B;864434547=¶„†††ÀçÚ¾µ°²±¯¸Ä½°²¶¹ÀÀƾ²ÁŶ­¤¢ ¢—˜“‡‚…„Ž‡‚‰‹ˆ………ƒ{yseZXWX`ZVZXSZhTQR`jgWUZXTPNNLLKHKIKSV^bUZSSnsgibb^V`ZTUJ?<;:8543365;?Ų¯†‘ÂåììäÇÁ­¦¤«­£ ¡¢¦©¬¾µ©­²š—  š› ”•Ž†…†ƒ„‡„~„‰Š†ƒ~€~wvrkcZT[i]UWWW`]QZ\`a]UTSTSOMPQNNRRJFMQV`STO_dcb\ej_TU][JTH===:556589<>ÂÂÀ“ˆ“Áåëçæå뺠¦®¤žž¡§¬¬³¹¶³²°¬«¯¯®­®¨¦ –‹ˆ…‚„„}‡†ƒƒ{|{ytmkg]WZRZ^YW\\^\Y]\^`[WSLVVONPMGGJIDCHKKTNRS]aa[`qa_S[`]KGC??=95667:=@@¾¿¾˜Œ•ÂäìÕÇâêŶÄƹ¹µ±®ž˜—„€ƒ†xuwxy}„•š—‰†ƒ…„}‰„~‚{zwtsomg\^dab\VV[Y``c\U]YZ_\URMOORMFGGDBFHGGTLTX\W__a_ViaY[[TMHFF;87678;?GH¾¾¿š–ÂãìâÚèéààãâäåäˆ[YZYX[zœyZTTU^b^[VPq…‚……~Œ„|€{ytuuqidY[fd^VXSU^fdgZPVVh_c[PQQPKJGJOFAFKMNYXbefbeklh\abVTZ]TGCA<;9878<@JE½½¿ž“ŸÂãíìíìëìíííîíò¿RMiv€‰ƒO?73467SjmokSI~ƒ‚‡ŠŒ…|}zzywyvcYT[\\Y[ZQZ^_bhgjqrpT\_VQTSJGGJiu‰‘—š›œŸžŸŸžœ”Šzd]TC<;<=<;::9=>>=ÅÇɾ½ÄÎßëëëëëëêçççåâG`ž¨­°¯“€aLRXQSNA>AKOaƒ‚Š‹‡‰…{y{|wxra[]^WXXYY`[SPasƒxha`fTWPNSUONJj‘‚Šƒ}ywtrrpppnnqsu}wm\G>:9;;::::;>?>=åççæææèèêëëéåáÛÓÏËÇ´lYR—¯©¢£œ¯·ƒ•[^WD968dSz„ˆŠ‚…ƒyuxywvuh_`\QR\[\_VU_fkdaX^cdVYOMPUNLH€oSVUVVXMGHHGFFJSUVVWVRQ=:987::989;?@@?îíììììììììêäÚËÅÁ¿¼°šZk:BNKC\^i}v|mWV\eN57`fh„„…ƒ€€xtw{yurmh_WPNZZ[WVY`^ZLZb\]Z[`XNNUQNM}Xw††Š•s>;98;E@KURQUTVSLivY4M”‹Y‚‚ƒ€||rqy{|ulccXRRIDNXWX[]QNMVY]_W[b_TNNMK_‚ežµ³°¬©•S@7>JMTXKC?=DoX?86X‹>89:<a_w‚ƒ‚„}zyplqy{rid`TSTKKRWZ]WTTRTX[ZYY\a]UNHG@qzcYwdUMJOTL=DLNTO<:;;;PfD97Sr?99;<=BIJI‘ÇÊÊɵ®®£•Œ‰ˆˆˆ‡„‡g‚S8:g”ZF?=61rwlƒƒ}ywsvprwskh`TXYWZ\a]XJITZ`[\[ZYZ^WPIDDFnX>H666:NWRLNSRRF:<<<;CiJ;3…ÙN59;<>CILL»»º¹¹ª”ŒŒˆ…„„„„€eŠIGFc‰—cG;66;DB>e¡ƒ>64\b„‚€ywwvmnunkibT`k]XT[\ZRQW[^b`[Z][XQJEA@Tž`M=B6:BBHIEM¡Ÿœ¤®°µ½¿ÀÀ¿½°zz|iKQPhˆlMIEDDDB?>eq=95J›a}xjn}|z{xnlplkfe_iqc[PR\]WTV[[`[Y\cZQMKJGHušSF;?8VqbB>645?FA=BDD<8<\T@=fŒJ;=<@FKKDUŒŽ¨·«¢˜“ŽŽ£‡NEqzZwPfMgVNKSY[VRNMYs†]C>8DwKkQ<98VSAG]RJA=<>ELQXb~…„‘NHIKWLGGG=67HSD=;=8=<>G[HIXH>:9N^clji€Ÿ›§ZVJ@GSQKA:>665Jng}~}~}„†¤‡…Š…„ƒ‚}ttra]\YXUUY\SQXYRNOV\YZ\cy‚Œ¬~h`c]\[Yhi`^\[[[[[\\bh`ZZZ]]UR…“†€qpsqojvž´¸ºº»½¿ÁÁÂÃÂŤ{f{¨±y53445557:<761gŠcŒ°·º¿ÀÉPCM|€caO:9;6:ELmYhhgedeggilpsvvxxvsrppq`P^\[ÊâÞãò®NCT³h<‹¸‹:f´Q;^ÐëÙØÜ—LMXXXX]YXXXW{{zwrnlkkkloopqqS532135AC[_[ky€¯Ú |šhcSTI6::9999QZRI9:@D@=EAjXgjjifggfdefilnruwwwwuu`GPVN|”³¿ÚøC@»Rªê¯Pº“HE˜ýÖ¨ŒnZPKSVVW\YXXXXzzyywsnkihhklnopM10479?EN[m•ÇÍÑáìß½›[gMF@DROC>;656686L`z®òöׇ“™‚LLJJKORPMHOJA;9UŽnh“£ŒwTDEEQYTKEFT^LGRgx……Ž—žœ¢ ®«—Š|xnjgfeccbaaacg`C?ILPUY_n{„Œ·ÆÇÌÐËËËÊ”~xo`XTPKPehhfdb^XYYnorsttutsrmiecceM54/5KÈÚ}lvŠrjur‚Žug`_]\[ZZ\]b‡™¦­²³­©¨£¢ œš››£©¬nnonnkfdcccb`a\A=AD<:97V]KrfZ[[[[[[[[†nc]TQNMLNNObZKLJJJIIIIHIXkklnonmkihhj_:;LOSUY`ibUPW~‘Š‡ƒ~XFHYhb[USNVnnonmmkjgfdgkmprstuutsqpkhK481//026;<>=9<:9;:;:::::::;Oeghiknnmigg^7:IMS‚†g^PD1//2@LFVE@C<:BMYi¡˜THaªwmnnnmjhadgjmopqstttsrojJ49144..,,-.--./\Š‚€‡bZ[[[Zƒ_<<==>?@A@953,+,+.bƒ‡¤ÖОe]_^kG==DEEFEEB?z@A@<:7777777>@Pgihgeegihi^/9C@L„~abgR<=;>ACCACDD?=The`lkJBKjyÆÒÁxnnÄ`ehjlmopssrrofE3942?HGA75.0279X}xnÆìäåšchg‰€=?68::99<=>UN>HMQ84356666FS]iqqidbdfhiijihilrrk_RG@@Ieedu¡ËÖÖrÊ¿v_ehjlnnpqqqmbI453343440036898InaM·çÂëÏnrsžc==47::::<>=99Tlg]79JF@7658B>Wlkjheb`cf^-47545:>GJNONNLJJJIHGFDC@=;841=?Hillhg¥ÄÒ»Àδf\cgikmnnqqmg\H=;;;;;:989::98HWOHeˆ€ÜÊt‹¡J@944AcR6:>966FKPZ_]\P86A@Sf;54;dcVL+35-'5@>====<;;:;;;;=>@AABE*#,05=_ghjjkjjjgT¾ÊÇv[cfhikmnnoonlkjhecb`_`bcceRCHHLRI=>BvŸXBD6536_dZM121-07643321100/.---,,-../-$&1119]``cgikkjkZx¯Áϱf^dfhkmmnoponmlkheca``aaadP?FGKP@@TIO[G=ITkMAAAA@?>98656>BD@NQJIH>8>;==:4;NghfZG82124555666533323555458=@ABFGGHRkicabehijjZ[z¹ÆÍŸaaegjklmnooonmmkifca``_`dMV;G@>;BE:::8889;@CA==<:9998889AIIGABFGDCBBBDFFFEDCDDALj=<;;;;<;::::;::;;=>>>>==Girhgghhhhhiijjjiihhhebcdgilkkgc`^______]^aeiknnpqqsqpiXROi°ÃÐÅw`dfhkllmmnnnnmljga]C,666303O|ŠcL=<<<<==<:9888876888898889;;;<>CID\]egfffgggggiiihiijihfdcbchklkjfaa_____^]^_afklnooqonoeTVi‹¾ÉÔ¸kaegijklmlmnnnmkg_Q;-55=5:8LlhQGMJ>>>:;=;;<>??GVHFFFEDCEFK`‹©•– ªGGdgnomegfffhhhhiijiijfcbacfjkmlifccaabaa`_^_dhjlknoooj[QTU’ÆÈÓ¨badefgijjklmmmkidT:,31.5B?NTUZ­¨Ÿ—½µfLLKILPO\…^WVXUSRMJ¡êìàÁÃ×ÓA?do¼ÙÔcfffgggghhiijjhecbabfkmllkhfcbbbbb`]\\_ehjqssqphUNMY¥ÇÎÓ]bdefhijjkkllkjg_F1.-,.+*KICSÝÕËÁÊÙòÕXIU^cc‰Ÿššž kXWS@EŒÛåÕÞëí¨fgeeabegecdefeefghiihhgfda_^bjkmmkifdba^\[[[[[\^qommlmh^RNN˜ÇÊÕ¥^adfhhiijjklkjiea\VUTSTQIC3:Qy‡ŒŠww‹f><<:U•¦¤¢zABACGyšu^TI@854;fghifed‹xcdeeddefgghhgggeda__dgklkigdb`^[[ZZ[[[[oihjked`UOLh¸ÆÏÍw[cghghhijklkkjgeb_]\[ZULB2898=EJVm¶z?M_cf£”…‡ƒaI¨{eTIA:40:eggfeedecbbdeccdefffggghgfdb`_aeijjhfc`^\[[[[[[[njijrpkdUNNO‰ÃÇÕ¯aafgggghikkkkkjheda_^^WQA156;?GO\o‰g§åçèéíííîïðñ‘eµ£{dSIA<83:chgfffeemnqecccceeeeggggggfdb`_abhkjjgc_]\\[[[[[ooijsrrkVOOL[©ÅÌÓ’dadffghjjkkkkkigeca^^WRB238>@HP[o‹¹¿g¯ñíìëëëìëäèí„lÈ£‚gWNC=;/1=ciihggggeghdedddeeeffghggghiihfec`_`ejkkje__^_^\rplkoommlneNML_«ÃË׎_egggijkklmlkjjjheb]7:>627NT?99FHdc6:;:?FC<8732:hBHD63šÛ/3Acihhhggeeededccceeeeeeggfffgghgfda_]`dhjlkd`_^]\ppnhknqurqjSKMM|¾ÃÒÅsbfggijkkllllkllkif_<>>7.TÌè|38MJCpT@@DGOOMKIIJxmXS;34„ƒJ06Caihhgggffggfccccdeeeeefgfghgghhgfc`]]`dhkmjgb^]]nhhkkmruuttaML[j›ÁÇÕ®edffhklmmmmnmmlkjibIO<81@m`249sQhrqvž~{|wz~NnW434.,/29Bahggeeedddddb`_`aacffffffgggfghhgfda^_aeilmljga_mnmmrroorstmVLNO\¨ÆËÕ•bffhjkllmmmmmlkjjf=?<=45/04757TGFQTUrqpXTZgJDBHHL65552/./6^mnosuy|€€‚‚}—´»¥habfeefghhhggghgfdb`_afjllllfc|vusxumlnnlniNJLKp»ÃÏÌxaefhhhijklllkkkkg3,>623343347GKJNQYa\qjYXTLGGBB>0./,0ASj‚š§­°²´µ¶¶´µµµ´¸¾Ä©•‚ieeffggggffgfffec_]afilnnli|€uonkjlmmlgSLMMM’ÁÄÖ°b`cfgghhijjkkkkh`2+<0-.-+++**-.--*)(())'&&&&%$$&&$>o•¬³´²®ª§¤ž›™——”’’““”’’”§§‚deefffggfffffgffa_^aeimnomwwuwvpnknoommg[NMKd·ÁËÔ‚Zaeffgggiiiifd]V2(9,)*()++,--+*+,,,,+-/146777;>?BEECCCDEFFEFDDEDEDCCC?v¦‚zqkgca_]]]^]fh[[YWXXWXYXY[aleddedffeeeefeeeeda_\]bilmntponmnkillnnnjTLKMhºÇÏÕ‹_deghgghiihhih[<,8/1.*/1000001111110..--,+***(1Œ€^\[YXXXWWYVNGgoCFW_`bcba`]YLPgddddefeefffffeefcb_]]cilpnpvtpmoppiilkkUKKOO“ÇÇÔºcabdfggggghgfdZB02.11,%$####""!!"##"!!"!"#"""E¨`JUZ\dinlmm`GJNQUTW^]TRRSSRWgA[adeddeeeffgffffgeeb_]^dhmnpsponqttpilmhXMKMLd¹ÈÍÔŠaffghhhgggged\R?/-.//*)+++*****+,-.1122454573t•Fbv‰Œ’—œ£¡n†‡tˆjONG4122345o\Kdfedeeeffgffeeeeecb_]_enmnorutquommlmpfQKMNMŽÉÊÔÁlefhhhhgfgffc^YRHCCBAAACCCCBBBCDDEGIIIJKJIIHK‘oH~‚½¾ÀÁÃÃÃþ£ÙÈŸ¸…NQ@2333454Qt?°šcccdcdefeeedddeeedb^]`mswtprrorlkkjlrdNLMMK_·ËÍÕ˜bfhhhihhfggea]YTQOONMMNNNNNOQUVWXYZ[ZYYXVVRe•TYmqÉÄÄÅÅÄÅƺƒ§¡ˆkOL62223346;75>ACAGUMMNJ411233334Jt:Vbdcccbddccccccddddccbaurnnmwqtmuxwvx€n_SLLMM}ÅÇÐÓ‡dghhhihhiihfdcbbb`_]\[ZZZ[]_acghgdddcaa`b‹fA|‹U;8:::9432219]8787211233633<|GIadeddcddcccccccdddcccb…€}yy|ymksyxz~xh_SKKLMU£ÉÈ×»jdfgggghiihgeeddcb`_]\[Z[[^_``bbbaabb``^gzYG…J88:;:6111004N214<<6247?F>22p\=`a``egedcccccccddccccc‡v€{vtmnvpmlslfedVLLK^e½ÅÍØ’`eeeeggghhhgeeeedba_][Y[[\^_``aaaaaa`^`qyPS~R123BML>6200/.,..:HJHGHIKMH5.Tl7^aUWZaedcdedcdeedcbcdd‚€zz€{srtdbkq{tmngYMLLZ`\šÅÅ×Âibddegggghggggfffeca_\ZZ[[\^````aa``]Z}ƒ“N^c4<;AOPPKD90/0CKLNNILNNNNNNK80?k5YlU`YS`feffdceeedcccdd…{…{†z‡z‡{‡{‡{‡z‡z‡z‡z‡{‡{†z†z†z†z†z‡z‡z‡z‡z‡z‡z‡z‡z‡z‡z†|„‚ƒ|†w…uƒt…t†t†v‡xˆx‡x†x†x‡y‰{ˆ{†z‡v‡u‡w‡z‡z‡{‡{‡z‡y‡z†|…~ƒ‚€ƒ€ƒ€ƒ†y†z†z†z†z†z†z†z†z†z†z†z†y…y…y…y…y†y†y†y†y†y†y†y†y†y†y†z†{„‚‚~‚zƒv…t„sƒt„t…v†x‡x†x…w…v†yˆzˆz‡y†w†u†v†v†x†y†y†x†w†x†{…}„‚€‚€€…z…z…y†z…y…y…z†z†z…z†z…z…y…y…y…y…y…y†y…y†y…y†y†{…z…z…z†z†z„‚‚‚‚|‚v…u…vƒu„v…w…y†y†x…x…w‡y‡{ˆz‡y†x†v†v†u…w…y†y‡w‡x†x†y…|„~‚€‚€€…z…z…z…y…y…y…y†z†z†z†z…y…y…y…y…y…y…y…y…z…z…z…{…|…{…|…|…z…|ƒ‚‚‚{…y„y„w„v…y…{…z…x…w†wˆy‡z†{†z…y…w„v…v„w…x‡x‡w‡x‡y†y„|ƒ}‚€‚€€€€†y…|„|„z…z…z…z†z†z†z…z†z†y…y…y…y…y…y…y†z…{„{…}„~„|„}„|„|„‚€€‚|„z„x„w„x…y…{†z…x…x†xˆz‡z†{†z…y„v…v…x…w†x‡x‡x‡x‡y†zƒ~‚~‚€€€€…{ƒ€‚€ƒ~„|„}„}…{…y…y…z†z…z…z„z…z…z…z…z…{„}‚}ƒ~ƒ‚~‚}‚~ƒ‚€ƒ€‚}‚~ƒ|…y„x„w„x…y…z‡y†y†zˆ|ˆ|‡z…z…x…y„w…v…x†y†z‡y‡y†x…z…|‚~‚~‚€€€ƒ‚„„ƒ€ƒ€ƒ„…|…{…y…z…z…z…|„|†{†{†{†|„}‚~€€€€€‚€‚„}…~ƒ}„}„{†y…x„w„w„w…w†x†y‡{ˆ{†{†{†z…y…x„w„w…w‡w†x‡x‡y‡y…y„|‚~‚€‚„„…‚€€‚ƒ~…}…|…{…z…y…z…}„}…|…~…„‚‚~ƒ~‚€€€‚ƒ}…|…|…|†|„z…y…x…w…w…v„u„v…y‡|‡|†{…z…{…y„x…x…w†v‡u†u‡w‡y†y…y„}~‚€€€ƒ‚ƒ‚€€‚€ƒ€„…~†|‡{†{…~„~ƒ‚~ƒ}„~…}„|„|ƒ}ƒ}„~ƒ}„|…|‡z†z†|†{…{…y…x…w…x…w„x…x†y†|‡|†{…{„{„z…w…x…w†v†u‡u‡v†w…x„{„~‚‚€‚ƒ~‚€ƒ‚€€~€~€†~Œ}Œ}Š}Š}Š}‰~‰‡‰~‚z„z„{„{…|„z…y‡y‡x†y†{†z†{…z…y„x…x…y…y…z…z…{†}…|„|ƒ|„z„z„y…x…x…v‡u†v…u„vƒzƒ~‚‚‚‚}ƒ~ƒ€‚€€~€€~€€€…€Š}‡}‡}‰€ˆˆ~Š}‹}}Œ~|‚z„{„z…z„y„x†w‡w‡y†{†z†{…{…y…w…w…w…x…x†z…{†|…}ƒƒ‚…‡ƒˆ„ˆƒ‰„Š‹€Š~ˆz…vz‚~ƒ‚‚‚‚~ƒ}~~€€€€€€‚€‚€‚„„}‚|ƒ{„z„{…z‡y‡|‰~‰}x…x†v†v‡v‡v†vˆvˆy‡{†z†z…z…y„v…u…v…w…y‡z…{…|…€…ƒ‡œ‡ˆ‹œŒœŒœŒœ‹œ‹‡•|ƒ~ƒƒ€‚~‚~ƒ}~~~~‚~„~…~…€‚„~†{…}…}…y†y†x…x‚†~‡}‚€w†t†t‡uˆvˆu‡vˆv‰y‡{†{…z…y…x…z„z…y‡y‡yˆz†{†~†‚ˆƒ…ƒƒ„~‡|Š|Š|Š{Œ{}ŒƒŠ‚†‚€‚~}ƒ}…~~~€~‚}ƒ|„|…}†}†€ƒ…}‡|…‚†€ˆyˆxˆw…z‚„€ˆ}„€x…s†s‡t‡t‡u‡uˆv‰y‡y†z…y„y„z„{…{†yˆyˆz‰{‡|…„„‰‡‡|‡~†}‡{‰z‰z‰zŠzzŒy„‰€††‚€}ƒ|…}€~~~‚~ƒƒ„„†‚…{†|…€†‡yˆyˆ{‡|ƒ„‚‰~…~z„v†u‡sˆsˆt‡uˆvˆx‡x†x„yƒy„z„z…z‡yˆyˆzˆ|Œ~Ž€†…ˆ‰~‹{‡€‡‰{Š{ˆ{‰{‰z‹zŒy……€Ž•~‰~~‚|…z…~†}…„„~……€„‚‚„…ˆ}‡}‡~‡~‡}‡|†~ˆ}…‚…‰~‰}…€ƒ‚€‚z„y‡v‡uˆu‡w†x†x†y„y„y„z…y‡x‡x‡y‡|œ}¸€†Š‰|Šz‰~‰}Šy‹{Š|Š|‹{Šz‹x†€ž~·~˜~€{‚wƒrƒ}†~…ƒ‡|ˆxˆy‡z‡}‡~‹}Ž{Ž|Ž}||}‹}‹}‹~Ž}z’y’{‘|‘|{zŽ{‹{~€w†x…x†x…y„z„z…y‡y‡xˆzˆ|’~¡€˜‡•ˆˆ‹‰ˆ‡‡‡‡ˆˆˆˆ’ƒ™~–z‡y€sol‚ƒƒ…‚…†€†€††~ˆ}Œ}Šƒ‹‹|Š}Š}‰}‰~‹}Œ}|{Ž{{Œ|ŒŽ}Ž{Ž{{‹~|„y„y…{„|…z„{…zˆyˆy†x†tƒz„‹†ªˆ±†¶‡±Š­‰²ˆ¶‡·‡µ‰±‡²…¼ˆ¶„³u’ifj€k€k„€„……‡‡€‡‡‡~‡€‹„…††~‡†€†€‰Œ|…|}|{}}}„|†~„|~|}}~ˆˆ€ƒ‚‚‚€‚„~…~„|ƒx†|ƒ„ƒ¹Ì{ÐyÑzÐyÓwÔvÕvÓxÑxÒyÒ|Í|Ávk‚kml€k€‡}†€†‡€ˆ‰ˆ~ˆ~‡…€„‚„ƒƒ‚ƒ‚„ƒ…ƒˆ‹|†|ƒ|€}~‡{‰z„{}|~€…~Š~‡„ƒƒ„„„„€„€„ƒ‚‚ƒ„—ƒ€—}¥y°x¶w»u½t¼vºw·x®{¡}“}Š|ž€…}w‰{ˆ}‡ˆ€ˆˆˆ~ˆ~†„€ƒ‚ƒƒƒ‚ƒƒ‚ƒƒ„‡‹|‡|‰|ˆ}‡~ˆ{‰yˆz…|†~†~‡|Š|‡~…„„„ƒƒ‚€ƒ‚€ƒƒ‚§€¤Š~€€…‚~…}…~ƒ……‚}€‰}¢|²ƒ…†…€…€‡‰{‰{‰|ˆˆ‡ˆˆ†ƒ€„€†…~…€‚‚‚ƒ‚„†‰|…|†|‡|ˆ|ˆ{Š|‹|ˆ~‚„„ˆ|‰}‡~……€„ƒƒƒƒ‚€€‚€ƒ€{¬uÍuÈv¶y´yº{¢~‰‰}|³{¿x¶uÈtÑw¾‚………€„€†‰{‰{‰{‰{‰}‡‡€ˆ†‚€ƒ€ƒ€ƒ€‚„€ˆ€†‚‚‡~Œ{‰|ˆ|ˆ|‰|‰|ˆ}‰}ˆ~‡€‰}Š|Š|Š|ˆ|†}†~…€ƒƒƒ‚‚€ƒ~{¬tÏsÐtÎuÄz¶~¤’~˜{®wÁsÌqÒrÐv¼€…‚€€‚€ƒ‰~‰}‰|‰|‰|ˆ}ˆ€†€…‚€‚€‚‚ƒ‚ƒƒ…ƒ„ƒ‚ˆ}’z”y”w”w”wyŽzzz’z“y“y‘y‘y‘yy‘yŒ}ƒ‚‚ƒ‚‚~z§tÐsÑtËy¤‚‡ƒ‚€‚€€†}’u¸rÓsÒwº…ˆ€ŠŠ}‰}‰}‰}‰~‡„‚€‚€‚€‚‚ƒ‚„‹}Ž{z“x“w’x‘z{{z{Ž{|Ž{{Ž{{{Ž{‡‚‚‚‚‚‚~šyÀx¸w¶|†€‚…ˆ‡‚Šˆ~{˜x¹x·z«ƒ‚ƒ‚~‚…ˆ€‰‰~‰}‰}Š}‰~„€‚€ƒ‚‚€‚€‚€…€‹}…„€‹|yzŒ|‹|‹|‹|Œ|‹|Š}Š|Š{Œ{Œ{Œz‹{ˆ~„€„ƒ‚ƒ‚…€Œ‰~‹~‚‚€‚~‚~„~‰~…€„‚‚‚†€‹‚ƒ†‡€ˆ~ˆ}‰}‹}‹~†€‚„ƒƒƒ€ƒ€…€‰}~„ƒ‚Š|Š{‰|Š}‰}Š}Œ{‹{‰{‰|Š|‹{‹{ŒzŒz‰|‡†€†€…‚‚‚‚€€ƒ€€€€€€€††„ƒ‚ƒ€ƒ}„€ƒ„‡ˆ~‰}Š}Š~ˆƒ€ƒ€ƒ€ƒ€ƒ€ƒƒ„€†}ƒ€€‚‚‚ˆ~‰|‰|Š}‡€†€Š|‹{Š{ˆ{‰|ˆ|ˆ{‰{Šz‰{ˆ}ˆˆ‡€†€„‚‚ƒƒ„€ƒƒƒƒƒƒ€ƒ€€€‚€†‡ˆ‡€„‚|…|„‚†€ˆ‰~Š}Š}Š~‰~ˆ~‡„€„€…€…€„€„~„ƒƒ†€ˆ}‰|‰~†€„ˆ|Š|Š|ˆ|‡|‡{‡{‡z‰z‰}ˆ}‡~†‡ˆ†€ƒ††€†††~†~††……€‚€€…€‡‰‰‡}‘}‰~‚ƒ‡€‰‰~Š}‹~‹}‹}Š~‡…€…€†€„€ƒ„€ƒ„†€ˆ}ˆ|ˆ}ˆ}ˆ{ˆz‰{Š{‰{Š{‹{Š{Š|‰|‰~ˆ‡†‡‰‡ƒ€‚‚‚‚‚‚€‚€€€€‚‚€‚€‚ƒ‚„†€†~{…~„}ƒ}‚„‰€‰Š}Š}‹}‹}‹}‰~‡†€†€„€ƒ€ƒ€‚€ƒ€‡~Œ|Œ|{{zx‘x‘w‘w’x“x”w”w“x“y‘yŠ}†ˆ~‰}ˆ~†€…€ƒƒ‚€€€‚‚‚‚‚€‚‚€ƒ€‚‚ƒƒ€u„}„ƒ}ƒƒ†‰‰}Š}‹~‹}‹}Š}‰~‡€†€„€‚€‚‚€ˆ}y’x•x˜w—v—u—t–u•v–w–w–v—v˜w˜w—v‘y‡~ˆ~‰}‰~ˆ‡~‡‡€†€„€€€‚‚‚‚‚‚‚‚‚ƒ€‚€‚€€‚ozƒ€ƒ‚~‚‚‚‡€‰}‰}Š}Š}‹|Š}Š}‰†„€€‚ˆ~‘y“x”y“y’yzzz{Ž{Ž{Ž{Ž{Žz{z{ˆˆˆ~‰ˆ~‡~ˆ~ˆˆ†ƒ€€‚€€€‚‚‚‚‚‚‚‚‚ƒ€‚€‚‚h|m~{}Ž{Œ~‚ƒ‚‡‰~‰}Š}Š}Š}Š}Š~ˆ~…€€‚€„€„€‰‹~Š‰‚‰‰ˆ~ˆ~‡€‡‡………‰„Œˆˆ„‡ˆ‡ˆ‰‰ˆ~ˆ~ˆˆ~ˆ~‡~„€ƒ‚‚‚ƒƒ‚‚‚‚€‚j}h|p{‡}ˆ~‚ƒ…ˆ‰}‰~‰}‰}Š}‹|Š}†€‚€„€„~†€„ƒƒ……‡ƒ‡ƒ‚ƒ€‚‚‚„ƒ„ƒ‚ƒ‚‚‚…†ˆ‡††…„†‚‡……ˆˆ~ˆ~ˆ~ˆ~ˆ~‰~ˆ~…€ƒ€€ƒƒ‚„‚ƒ‚lj}k}w€‚~ƒ~ƒ‚‚‡€‰Š‰}‰}Š}Š}Š}ˆ~„ƒ€€€‚€„…‰‡Šˆ„„‚‚„„€…‚†„…„€ƒ…†ˆ††„ƒˆˆ‡‡ˆˆˆˆˆ~‰~‰~‰~†~ƒ‚‚„†…m€ll~s‚„€ƒ}ƒ~ƒ…‰Š~‰}‰}‰}‰}Š}Š}‡…ƒ€‚€ƒ€††‚‚ƒƒƒ…†‡‡‚‡‚…€‚€‚€‚€‚‚‚‡‰~ˆ~ˆ†‡€ˆ‡~ˆ~‰~‰}‡~‡}†~ƒ€‚…€†€‡€l‚k€i}my„€ƒ~ƒ|‚€‚‡€ŠŠ~Š}Š}Š}Š}‹}Š~‰…€€ƒ€€‚€€‚€…€€€€€ƒ€ƒ€‚‚‚‚‚‡ˆ~ˆ~ˆ…ƒ†€‡~ˆ~‰~ˆ~‡}‡}ˆ~ˆ…€‚€€€‚…€‡‡€k‚j€h{h{j}y€ƒ}‚}‚ƒ‰Š~Š}Š}‹}‹}Œ|‹}Š~ˆ€‚€‚€‚‚‚ƒ€†‚†€ˆ€‰‰‰€ˆ€„€ƒ€ƒ‚‚ƒ‚‡€ˆ~ˆ~ˆ‡€†€‡€ˆˆ~‰~ˆˆ~ˆ~ˆ~ˆ~ˆ~…€‚€ƒ€††€k€k~hzfyezs€„~“}‰~‚…Š~‹}Š}Š}‹}‹}Š}Š}ˆ„€€‚‚†ƒ‚‚ƒ€ƒ‚ƒ€ƒ€ƒƒ€‚‚€…€ƒ€‚ƒƒ‚†€‰ˆ~‡~‡‡~‡~ˆˆ~ˆ~ˆˆ~ˆ~ˆ~ˆ~ˆ}ˆ~†ƒ€‚€„€„€ki~fyfxeyk}{…€‰~‡}ƒ†€‰~Š}Š}‹}‹}Š}Š}‰~…€€…€ƒ‚€‚€‚€‚€ƒ‚€‚„ƒ‚‚„…€…‰€Š€ŠŠ‚Š‚Š‚Š‚ˆƒ‡ƒˆ€ˆ~ˆ~ˆ~ˆ~ˆ}ˆ}ˆ~ˆ~†ƒ€‚‚gg~gzgxfxh{p}€ƒ~ƒ~‚ƒ‚ˆŠ~Š~Š~Š}Š}Œ}Œ~†€€‚€‚‚‚€‚€‚€‚€‚€ƒ„„……€†Š…‹Š™‹Ÿ‹§Šª‰­‰°ˆ²ˆ³ˆ²ˆ²ˆ®‰˜ˆˆ~ˆ~ˆ~ˆ~ˆ~ˆ~‡~†~ƒ€‚€€hh~gzgygxgygzuƒ‚}‚‚ˆ€Š~Š}Š}Š}‹}Œ}}‡€€‚ƒ………………~†~†~‡~†€†}ˆˆ´†Ç„Ê‚È‚ÇÇ€À€¹€½¼€º€º»‚´ˆ†ˆ}ˆ~‰~‰~ˆ~‰~‡}‡~†ƒ€€‚‚ih~gzfxgyg{hzr~ƒ‚~‚‚…€Š~‹}Š}Š}‹}‹}Š}†€ƒ€ƒ€ƒƒƒƒƒ€ƒ€‚€‚€‚ƒ‡‚ƒ›€—€‡€‚‚ƒ~†}‡|†}†}†}‡}ˆˆ}ˆ‰~ˆ}ˆ~‰~ˆ~ˆ~‰~‰„‚ih~g|fyg{h|h{o}}ƒ‚€‚~‚€†Œ~‹}Š}Š}‹}Š}ˆ~„‚‚‚‚‚‚‚‚‚‚ƒ€ƒ€ƒ„€‡|ƒxv€wxxx‚yƒy‡yŠz‰{‰{‰{ˆ{ˆ}‡‡‰‰~ˆ~‰~‰}ˆ~ˆ~‰}ˆ„jj~i|h|g~h~h~ju€‚‚‚~‚‚Š~‹}Š}Š}Š}Š}‰}‡~‡…€…€…€………€…€…€†€‡€‡€‡~†~†|ƒ|ƒ|ƒ}‚}ƒ}†{†zˆz‰z‰z‰{‰|‰{‰{‡}‡~‡‰}‰|ˆ‰~‰}‰~ˆ~‰}‰~‡lƒk‚ijkƒkƒiƒi‚o}‚‚‚„ƒ€†€Š~‹~Š~Š~Š}‹}‹~‹}ˆ‡‡†‡ˆ€‡ˆ€Š€‰~‰}‰‡†~ƒ‚†‡†€ˆ~‰}‰~‰~‰|‰|‰{‰|‰}‰{‡|‡‡…•‡‰‰~‰~‰}‰}‰~‰~‰~lˆl‰l‰mˆo‡n…l…n†s…|‚€}™}‚ˆŠ~‰}‰}‰}‹|‹|‹}‰}ˆ~‡‡‡ˆˆ‰~Š}ˆŒ… †Šˆ„€ƒ„‡†€†€ˆ~‰}‰}‡}‡|ˆ|‡|†|‡|ˆ|‡{†}†ƒwÇwχ‹‰}‰~‰}‰}‰}‰~‰}ÑÑÑÑÑÑÑÑÑÑÑÑÑÐÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈ¿³²¦ “€xjnxnjjoosgjeY^b_^d_W]b_aXSQV\]bgcfVUZYWWVT[WSYa^^YVMC@:<;544?4ÐÐÐÐÐÐÐÐÐÐÐÐÐÏÏÊÃÇÅËÎÏÎÎÏÏÏÏÏÏÏÏÎÎÎÎÍÍÍÍÍÍÍÌÌÍÎÎÍÍÎÎÎÏÏÏɹŸ¢™zztdbbr~q``pmg\Z]_`[ZWR`ha^UQPSZY`jliRS]bZSQNST[bf`YROLCA97754177ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÎÍÍÍÍÎÎÎÎÏÏÏÍĪŒŠuopqpoqtv|x`dcdg]]]]]]VUV_e[\ZWTTVUY]jeRSY]WNNPTS_ccc\TIEC>:74421/2ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÉÄÇÃÊÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͹™}osyyv€€iic_hZdfe\ZYW`[UYigVRUYYVPMWR[iTQUXZRPTRR\caaYVVOH?<97521..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÃÂÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌÌÌËÌÌÍÍÍÍÌÎÁ•Ž„†scm|pejc`aXjc[ZUUQ_d_asn_TQW]WNKVSRZTZ]YWPQTW\_\Y\TRYRJA@@=651.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ½¾ÊÑÐÏÏÏÏÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÎÍÌÌÉËÌÌÌÍÌËÈÅ©{yrkckrqece_X_`UT\UTS[gghjdhVRVYUQTWTUZSZ^aXUVU[]^[YVTPRQKAC@8662.1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɽÂÀÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÎÍËÉËÌÌÎÏÍÉÆó||tfZUb`[`dd_d_XXSMOTZ`bgi`\TQPPONTRTR_NUWZ[Z\[^]^ZURSRSMFECC>641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ÊÅÈÏÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍËÈÅÆÄÈÈÊÍÍËľ»­‘‚|rXTUSOVXoshcd^ZNECO[S\dc]WUSOMMKNLROYNTWXXW\]\[]ZUQSPWQEFB><51///ÏÏÎÎÏÏÏÏÏÏÏÐÐÏÏÈÀÊÄÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍËÉÉÉÊÃÀ»ÃÀÄÁÅËÉÆ¿¯ž¦’‚v`UZ[Zfj`pjg_WVSSWWbUQ]_VQXXTNKIQRU\YRSY[WVXZXSR]XTYTXWB87321//..ÏÎÓÖÖÒÍÎÎÍÌËËÌÍÇÁÊÄÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÆÅÆÃÅ¿»±Â»Ã¼¿È¾º§Šˆ~rˆe`b\\hlYo^W_WQUW^\YQRUZTSTXXNLNTSSZf^PWZXWWWZVP^\Y[\NC<8751/.-..ÐÚèîíåÓÍÌÇÂÁÃÆÉÅÁÊÅÃËÍÍÍÍÍÎÎÎÎÎÎÏÎÏÏÏÏÏÌÆľ¸¾¼´¦¼µÀ»ºÄ¹»¶—…~~qjbefcW\c\We[U]`RSUY^XWUQPPOOPTZWRTRQSe\N[^ZROOZ[TXYQQK@9=<:72/---.ÞíâÕØéèÐÁºµµº½ÂÅÅËÈÄÊÌÌÍÌÌÍÌÌÌÌÌÌÌÍÊÊÉÇÆÀ·®ª±²ª¢«¯··¶¼¯­£„yzwqoXaf^ZeZS]j`Y_YNRSV^bcWRONNQSNUWMPUPR^`Zb^VQMP\YUZRP[JCD=;;97300..íØŒuz°êÛ·²°±µ·ÀÆÇÌÉÅËÍÍÍÎÍËÊËËËÌÌÌËÇÅÂÀµ¥¡¥¦ž›£°­°¯«§™…xolgom^YWVacXW[\[bXTYVTVWc[SUQPSWTTUXTQXRR[c[aYZ\Z_aVUYXTSB>F<867764101ç—tvsÓ軯¯°³µÀÄÈËÉÅËÎÎÎÎÌÇÂÊÌËÊËɸµ´¸»¬¡™‘›Ÿ›—¨µ«¯¨“yhdfXgcSNJNYcZSTai``m^`e_UYQRQPQRWTUUUZTZQQa`_h\cbkh`TQNMKKA?A8755654003Ï€†‚yŽÉì«­²²´¼½ÄÊÉÄÊÏÎÎÍ˹ÈÍËÆĺª¢ ž¥¥›—‹–—•£¬¬¢—’‘ˆvegk]\WSUSQZa`[in_RUcSYrp]SQMNNMKLOOONNRZVX_WTZZbj^\YQJMIGFCI@8555554017½„‰„ŒÄëȦª±³´··ÀÊǽÂÊÊÌÍÊ¿¶ÇËȽ³§ž  ˜™˜ŒŽ‡”—’•›“Œ‹‡€wxteZVX[\SX]YT]k]SQ^ihcc]TTNLLKKJIGHNNT^^X\XR^jijZ]WPWSKKB>B;864434547=»ŠŠ‡†ÁçÞÊĶ°±¯®¸Ä»¯±µ¸¿¿Ç½²Áź«¢¢œŸ¢—˜“‡‚…„Œ†‰‹ˆ………ƒ{xsd[YWXa[VYXSYgRPQ`hfVUZXTPNNLLJGKIKSV\bTYSSmqfgbc_UaZTUK>=<:8543365;?ɺ·Ž†’ÂæíîçÍÉ®¤£ªª¢ ¡£¦¨ª½¶©«®œ”Ÿšš ••Ž……†ƒ„‡ƒ}„‰Š†ƒ~€~wvrlcYT[h]UVWX`]QZ\_a\USRTSOMPQMNQQIFLPU_QSO^db`\hj]TU^[ISH===:556589<>ÀÁ¿”‰“Âæëæãæî¿¡¨±¥ Ÿ ¦©©¬±³²±°¬ª®¯®¬¬¥£œ“‹ˆ…‚„ƒ}‡†ƒƒ{|{ytmkg\X[SY^ZW][^\Y][]`\WSLVUONPMFGJIDCGJISMRT\_b\an^`S[`\LGC??=95667:=@@½¾¾˜Œ•ÃäìÔÂàê̾ÊÉ¿¿¸¸µ®¨§ –‹‰†€ƒ…‰Ž–ž Ž†ƒ„ƒ}‰„~‚{zwtsomg\^ecc[VVZY``c[U\VY`]VRMOOQMEFFDBFHGEQMUZ^W^ab]UgaY[[UNHFF;86678;?GH½¾¿š–ÃãìãÝèéææèæèèçé¸wec^XXe›˜oYYY[_^\\\dˆ‡ƒ„…~€Œ„|€{ytuuqidY[ec]VYRT^fdeXPUYk]c\PQQPKJGJQGAEIGIQS__[U]ehfZ`aVSY]SFBA=;:878<@JE½½À¡—£Ââìììëëìììíîíîè‰GWeow~fMF;787Elook`Fa„‚†Š‚~Œ…|}zzywyvcYT[[[Y\ZRZ\\aijmrtnTZ^UPSSJHHLU^jv‡‘•–™™—˜š››š‘Ž‡znbTC;;<=<;::9=>>=ËÎÏÆÆËÐÝêëëëëëèåäâáäÄ_H~œ¤§«˜vcFDLLMQIFFLRLw„Š‹‡‰…{y{|wxra[]^WXXYYaZRQas‚ue_`gSVPMRUONLDmŠŽ™”‹…ƒ|~|{zyxxy|‡kJ>:9;;::9:;>?>=éêêéèèéèêëìéãßØÑÌÇÿ–RUz¶µ±¯ª¦À€™i[ZH964K^`‡‰Š‚…ƒyuxywvuh_`\QR\Z\^VU`eia`Y^ccVYOMOTNKFCiYYWUUUNMOMLKKNUUUVXVSM999999989;?A@?ñíìììììíììêäØÆÁ¾»¹®§y]UA`bW\kgŒ‡€‹bWU]W<5@tV„…ƒ€€xtw{yurmh_WPNYYZUVY_\XLZa[]Y[`YMMTQOKR€Tntvz€ƒX:;:9:;DTY\^]iaL:4fˆ<899:sxHOQQQSUTNOxmH6`Ž}b‚‚‚„}zyplqy{rid`TSTKLSWZ\UQTSUX[ZYY\a]UMFFEBmemˆykc^ZSF;FMOVM;::<;[^@6ZC89:<=BIJIŸÄËÉȲª¦œ’Š††‡‡†…ƒ}h{77Dˆ—kKE@@BQSPIh‚W63GŽ^€€ƒ|ywsvprwskiaTWYXZ\a]WJITZ`[][ZYZ^WOHDCBM—dT@F455CILL¶ºº¸·©™”—˜˜–•“Ž†€rwm>EM€”‰LA756DGDH‡a56;Œiu€~ywwvmnuojicU`m^XTY\[TRW[^c`[Z][XPIDAA>dšYF@?79;=PR@CHIEMŸœ™œ£¼ÊÌËÌÎÎÎÍÊ»Ž}~l‡dINRv‡]KHCBA@=9Cˆ—Q:75}i~vt}|z{xnlpljfe_hpc[PR\]VTU[[`[Y]cZQKFEDEH„Q@><9ReNB?636DKA>CED:8?bN=<@FLLDUƒŽ¢¡‰~tqpmmqz{]d„`„a]Xcm_KLRUVQRJQdŠ„N>;6lvZtIBU€z}~slmmnje^^Y^[PQXXQPV\\\[\^^UTOMRUTb—xKCDB?q‡v?<756879?@AA;7:\L@JZXP>;>ELQYbv…ƒ“‘ICGP_VMOLA77EhLE@EADG]\NI<6<:BD55?zvwwphhioxj[WWTTRPWXQP[^\Y\a^ZSSTRT_lu”`IWLGCVrVAGA5347AHJIJHA9TJAPf\P<8>KM[cgr€Ÿ}PIAUng]SE?;743OK<:::;<976557889899?IPUdrxxy~£žš’Š‡}pjbVV\XY[SQSQTR[a^eaXWUPKIOZemWJ‡^>??HADJIQ]^a_LDECB@;>BRHPNG::Q`emjiw¾Ã­^UMHAJKIC=:8A~UMN==<;:999998889996P˜¦¨©ª¨¥¥¤¢ŸŸ¡£¦¦¡}bXRY\^]YSNPXW]ccc\SSVTMHCGTNUsiZPD?EKMLMO\defbPGHDBGWat„i–qZZ^rsutoj~äì½u}„‚„‡Œ‹‰‡…ƒ·ŠID9;<:876777866777<”{vtqonlkljijjklntˆo_XZ[[WSOPOTZ\UX[WPRXUQZ__—šm|ywoiXUdmmlmjiihhjmmcX`ilv‡›˜Œ†|{tsrks¡¾ËÓÍÏÒÓÔÔÕÕÖÕÕíƒSND6886554567;7674c›bhopqqqy„¨ª‰‚|ywvupqyb]^YXW\bdZU\]WPQWc]Z\dz…}œ§viec]][Znleba_____`ahna[Z[`aUXŠŽ…onrpojr{—­²¹¿ÁÃÃÅÆÇÆÅŸwbŸŠ?35554467A9666|l„“–™œœ–o`]Nz¡¢¢Ÿ›™‡uivssqt|Š“”‹Š“˜–Ž˜´Ÿ†‚‚~z|Œ™o\V[\ZYY\[YXWWXXWWXWYZXXZZZXTL{…}thjtumjssqstvyz|}}€‚„{]t¥¶¹}=02233575682G‘]¼Ó×ÛÜßÊlXPLpÔâÝÚÚÝ´u\vzyz{zyyyxz{}}†Š“£´¶¯¡’vv‡g[RVWVXZYXYXYYYYYZZZYZZ[YXXUUM\onhahtrwxsqonnqrsuvwvvvvvvtHfªÈºÛ›bQHKNK<~l>Ii~^xÓäáàßã½bbhXgÒâÞÛÝäºdibpmqsuuvwxxxvutusqrx€›¬Špxdjna]c]]]][Z[[[\]]]Z\\[YrvoƒMMYYXSY_eqywsqommoopssssrrqh\>CŽÖÝöíµy^`r•b¾šTzme^¢¸¶¾ÄdžR\ucc¹áÙÓÇ»ŠGrYjgfhiilnqtwwwvttrqppqqtcjk\ˆÁ¨ ÑORTgbVW`hYVWm_KLpÛÔÈήNM[ZXVUWYX[{xtrnllllnoqrrrqgI;4NšŸ³Ö»žfhh^~ïÖap˜agMYH?EII@Jc’jann[TK?@>h]dihedeffgknqtvwxvrrpppqYWdV{×ßÜîèFBn£LCƒ l9d«N:]ÎïÜãèœKMYXX\ZXXXW{{zwrnlkkkloopqqd=62156DR[xYbpo‰áÔy}–WgLd=7978:=Pxe^J87;<;DDXe]jjjgggfddegjmptwwwvutsWIWUV°¹ËÒêãcBH¶ŽJÂê¢F²•GDªûÕ½¥‘dNLUVW\YXXXXzzyywsnkihhklnoq`61267:>EP]q›¯·ÃÛÙ½£…WcF@8?C>9978@?>87B^b<;=DjXjlmlifecccbbceiostvwxyXDLQQR\€“ÝèRHsÚ‚‘À–Ò]R_Ÿâ·raTTPJSUUWZVWWWxxxxxvsmjhhhijkn_50157>EQ`{“Ýòîðòóï±s\\ILITWPGD>555678W‘ŠB?;8fVeihlmkhfedcabbcglnqstxY@FLPQUVb†oppf½çËÑÆç¤mqolqh[ZVTNLTTSW[UVVVtvwxxwvsojgfgghk`60126=DZuœ¯Úòñßµ®»¡fTUNNKJKLMLH<879:J]jMMI>PO_`srlnmkhfdcbbbabdhknsX@DJNQVZaacdiowŠÁÛáÔµ„upmlhf_ZVQLO__][YWVVVprtuuuutrnifdccg`61137BaRK[f´ÝÓ‹‚š•eADDGRXQHFGVH@8;FRUYUQOSTS]nl¥Šhhmopkgfdbbba`abflX@BIMPVYan{…‹¤¬²¾Ä¹µ²­Œƒyo_XTPKQeggdc_YYYmorsttutsrmiecbd]7403>„å‘KIXjb^ar‘“|nSPOSWVPMOS[kXbsˆ˜¢£¤¦¦ª¯­¬­­°©¤¢˜€vonmjedccdc``dW>@JMPUX`owyv”åìéèçììíì‘rrrk_XTPKShhhgfeb^]kmpstuvvutrokfdd\8;107~É‘s~š•š™^\Œ{r`a`_^^^^_]u‘ª­­«¦¡™“‘Š‰‡ˆ‰Œ”›¡˜lqnnomkggghfddU9?KMPSX`mppl™ðïìëìðððð’llmj_WSPLUllkjijieciknpstuvvutrpkfe\8<2/17JM>@JJBB?AYTas[]]]]\\\\b{‚yphcb]YX]XVUSSSSX[^cdypknonmkihhhhU6?MOSSVbjgdc}ÆÕÎËËËÍÍÄvXZdi_VSRMWmnomlkjgfdgkmorrsuutsqplh[4;1/0027=@@ABDH_|[nvXYYZ[ZZZZf…[TNKJJKKKKN`PFFEEEDDDCBBNbgghknnlhfegS3?KNTnqc`Q=0/6?FGIRHFB40>>>=;;;:58789:98888988:NfhffhjjigeeQ/?HGfÑœeUQNJKLI_`ZaWWXPMOWUq×¼Q@cÆǯ•|ronlŽ_dgilmoqsttsrqo_3<45I@52./-++,)Av’‚‚›©•c\\\[f†G<>@@ABDDA?[M;<<;:8788879>C^kigeeghhhgP+?DAb¶ˆ``bG?BACCDA=@A@<8Pe`c…KBNw”ÁÓŦ}nnȆ`ehjlmoprsrrqk[2;51=OJF<91+,-,Ds‡zÚæØš`aa`„x=<=CCCCBB>I˜i=A@>86677768@@QkkhedcdggiP*;?>CT]`gmdROOTWY\]^__^aorl`ULDBLddq›Å×ÉŸvÉÄ{^dgikmnppqqpfU28425:<=52147:>Cfy`Šéàáâˆgnoœ[>;589:99<=?G@FU\T54466766;ACcnkieaacdhQ)8969?FQ^dffeba_^^^][ZYZXTNF@98;Jhlifxž¿Ò¿ͺi[cfiklmnpqpi]F822322210012226Y`KdÓ»Êò¤jyƒœEA858;;;:==<9=adbN5ASI@7658A>UmmkjgdcceR(73D9**+--,,,++*)((*('&%'.)()8XHGimkkhfp“¿¬ÄѨa^dgijlmnookg\TMLMNMNNOOPOPPHSLKJ^c–ØŽ®­†94.,,,,+++-3:CLYhT&)@JBFilkkkigfp|¶ÈЖ[`eghkklnnmligcb_^^_^]_`afh^JHJJMU`rˆÖª¦g<>44?v„l=66312235;CGMW[XT@4;AB_hIDAQj^WE'76.+=A?@@>=;::::;;=98?q„|N>;211236CFOP]_][H57B@R_865;b_UE*62.0:;::998876654443355443%%132=]adgikkjk\{®À͸j]dfhkmmnopomlljhdca__abbb_ECHHOP@=>Ar’E?AKcDEJHDBA611128HIPMbc[SH64@=A>4528bhaO61-,031/-,,,+****)**)))*.10.1655Egfabehiij[\y¸ÆΧcaegiklmnooonmlkheb`````b^@AHHNK:JUFPQ?=O\bB@@@A@?=;8658>CAAKLFGE?:?;HKCNA;9A=7987889;AD@>><:999889:BIIGB=Fddjjiiheda^^]^^_bfhgec_\\\\\[\[Z\]bgkmnnnqrqpngcbe]SPW–½ÆÇ~W^`cgijlmnoonnmkgd`_``b\8@IHKOVXq©¥XU9:<;:::;<=?BHIFEEDDFGIKKHGGHDTmIHhˆ|Y‡ÆŸT‡dCDPTW[^abfhkmooooooppqrqqotmn`]mgghhhhgghhhhgedbbcehiheba_]]]^^][\^bhkmopqrsttsnlbSNKq¶ÁÌ°d_cegijklnnooonlifc``a[5=HF‘ßÇpi³ŒOˆfavuutpomkhgecba`_^_]^^`ceidgxmdggggghhhhhhjjhgdcbaeikkjhc`^^__`_^\]`eilnoqsstsroqhSMO‡¼ÄÑ›]ceghikkmmnoonlkiea_`Z5:BGa´ÆƒO‰€_‰|i_d\WVSRPOOONKKKIIJKJKLLLNQPSU_ubfgghhggghhjjjihfdcbbdgjlkida_^_`aa_^^^agklnopqrqmqw_QOXÁÊΆ^dfgijklmnoonmlkhda`Z24;CIUfoU^{ojXPKLLIGECBAABAA?>>>?@??@@ABCBBCF]nigghhggghhjjjjiigfecbcfikkkhc`^______]]`dhknnpqqsqpjYRNh°ÃÏÉ|`efhjklmmnonnmljgcaZ038;>=?N[w‡mOABAAA@>><;:::;;:999:<::;;>>=>=<?AIPIZcgospefgffghhhhiijiifcaacfjlmlifccaaaaa`^]_chjlknoooj[QTU’ÆÇÓ¯c`cefhijkklmmmlieXG.3475Vo_MHTIAEB;<>===?@ANZGFCBABCFGWx¤·žŸ«¼JFo¾ÝÚ“dfffggggghijjjiecbabfjmmlkhfcbcbba_\\\^dhjqssqphUNMY¥ÇÎÓ’\adefhijjkllmljibL.11./9==SRQr»¨ªÉ¿›nLMLLNQOg€_ZXUTTRLN¾óìáÇÊÜØE=e…¬¨–gbcegffffghijiigedbabcimnnlifccbb`^\[[[]`dqrrttwiUPKo¾ÊÑÇs_cefhijjkkklljidX@/-,-,&.QD>{ïÍÍÌßéúÃLHW^bc—›š£ŸŸ^VURL;4`ÙôñèâéÚŒV35426q‚†…l>-..9]t€¤¨Ÿ‘zN8<_œ©¥ k?CBCJ„’o[SI?654831=fgggfeeprvfbcccdeefffggggfdb`_`cikjjgc_]\\[[[[[ooijsrrkVOOL[¦ÄËÔšeadffghjjkkkkjigec`^^]RS:276=AJRawšÆwr¿ìêììïîïïðòë‚lºšwaQG@<62=fhggggg³áã´ibcceeeffffgghhfec``_djklliea\\]]\\\lsnkrrtti^QNMq·ÅÐÌy^dffghjjkkkkkkifdb`^^RS;038?@KSaw”Æ®gÅñíëëêëìëáéèuyÇœ}dVLB<;=Dehhhggd~ÄÉÁ€_cceeefffghhhhiifdba`dgjmkie_]^]]]\uxqoqrqppr\NMQÃÇÕ¶dcffghjjjkkkkkjhgeb`_QH;>E;?CKSay—ƼZÀôððïîðñòñóïqÒ¤y]LA6121?eihhgggegheedcceeeffghggfgiihfec`_`ejkkjd__^_^\rpmkoommlmeNLL_«ÃÊב_egggijkklllkkjihebaO;<>7356:DPdƒ¶Î^™ÔÑÎËÏÉÁº²¨šP~†WB54=K@/1@eiiigffeddedccceeeeeeggfffgghgfda_]`dhjlkd`_^]\ppnhknqurqkSKMM|¾ÃÒÈubfggijkklllllkkjiecQ3=<41;OP;8;HMuZ8BCBDME?;831=h>IC66¨Ý.3Cehhhhgfeeeeccccdeeeeefgfghgghhgfc`]]`dhkmjgb^]]nhgkkmruuutaML[j›ÁÇÔ±fdffhklllmmmnmlkjgfS9>=5,tÕß]5;QDJrKAACFOPLIGHI{daS937“†M05Edihhhhffffedcbbdcdffffffgggfghhgfda^_aeilmljga_nnnmrroosrrmWLNO\ªÆÊÕ—aefhjkklmmmmmlkjihTOF<70PŠ°R23BuHv‹qprŠ“zzz{w|}KwT333.,018Ecihhhhgfgggf`Äűqcefeefghhhggghgfdb`_afjllllfc|vusxumlnnlniNJLKr½ÂÎÎ{_cehhhijklllkjjjjW:@<=33/3675;YCISV^|wv[XchKFFGHI55543335BageeddedfeeebtÇãà¢_cdeeffggggffgfffec_]afilnnli|€uonkjlmmlgSLMMO–ÁÃÖµb^bfgghhijjkkjjkkX'5<614444459JJLNQU^\teYXVMIFBB=0///,,.6Kp„‰“˜œžžžŸžœ ¨¥™shdeefffggfffffgffa_^aeimnomwwuwvpoknoommg[NMJd·ÁÊÕˆZaeffgggiiiijkjdR&4:/-.-,,+++00..-,**/,('('&&$%%&()7Wu ©±³¶µ²²±¯®¬¬¬¬¬«¨ª®±®qddeffggffffffffdb`]`dhmnnqwuvunpljmmmptkSLLN•ÄÇÕ¿gbehhgggiiihgfaXL&16**+(*++*,*)****++)*-/24445;=>8v¤³²­¨£Ÿ›—“Š†……€€€€…‡Ž–‡gddedffeeeefeeeeda_\]bilmntponmnkillnnnjTLKMgºÇÎÖ^deghgghiiifdc]Q*05+*'*;>?BEDDDCDDDEDDEEFFFECBB?s²œ“ˆ‚}wsnjgfdb_^_]]]^_^_``bfsqcdddefeefffffeefcb_]]cilpnpvtpmoppiilkkUKKOO“ÇÇÓ¾e`bdfggggghhhieR025//,*2212221122100100...,,+**0ˆojdb_][ZYYZ\YzwXZWTUVUVVVVVWbfdeddeeeffgffffgeeb_]^dhmnpsponqttpilmhXMKMLe»ÈÌÕ’bffghhhggggfebT921/21*&$####""!""#"""""!"#""" @¡iWWWUWZ\^_bWD=XW?@@@GsFr›dbcdcdefeeedddeeedb^]`mswtprrorlkkjlrdNLMMKa·ËÍÖ bfhhhihhfggea\VNB@>>>?ABBAAAAACCBDFEEGHHHGGFEŽwDx€˜  ¤©¯³º²€¥—‚™iNPE3223343eeI”ibbcccdeddddccddedc`^[qvwrkikpqlkmvuuh`ZNMNPŠËËÐÊydhhijihgggfc_[WRONMKKMMMMMMNPTVVVWXWXXXWUTQb—VWuÈÃÃÃÃÁÂö¨áƤ·}MO<2323344Gy=Qcbbcbbddccccccddddcb`]kklidccnmv}yxwsnqgPLNT`³ËÉÖ°hhhijiihgggeb`\ZXWWVUUUVUUVWX[`acefecba_^\W}ŠHk\}ËÅÆÆÅÄÃÂ¥h|qn[QK412222368sVE`dcdcbccccccbcddddccbaurnnmwqtmuxwvx€o`SLLMM~ÆÇÏÔŠdghhhihghhfdbaa``^]\YYYXYZ[]_bfijjigedcba]zBwIT‘ˆxoil`MIKMMOQK311222254Zm9Zddcccddcbbbbccdddcccb…€}yy|ymksyxz~xh_SKKLMU¤ÉÇÖ¾jceggfgghggeddcbba`^[[ZYYZ[^`aehhgeedbbaadŽeBzVD967653399:8EWGFHE311222224Cy96553202ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÊÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͸š{lqw{w~‚mif^i\aed\\[Y_ZUYefVTVYYUQMWS\kTQUXYRPSRQ[cabZVUMH?<97521..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÅÃÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌÌÌËÌÌÍÍÍÍÌÎÀ—Žƒ~vem~rejb`bWje_[VUQ^c]_tnZRQW]WNJUSR\TY\XWQPSVZ_\Z\TRYRJA?@<641.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ¾¿ÊÑÐÏÏÏÏÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÎÍÌÌÉËÌÌÌÍÌËÈƦ~}vkcmtqfde_Y^bWT]VTSZgghlfhXQW[VQSWTUYSZ_`XTUU[]^[YVTPRQKAB@9662.0ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏʽÂÀÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÎÍËÉËÌÌÎÏÍÉÆÄ´zzri]Xfe]bdb]d_XWVPQTZ`cgj`_TPQQONUSTR_OUX[[Y[Z^]^ZVRTQRNGECC=641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÀÊÅÈÏÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍËÈÅÆÄÈÈÊÍÍËÄ¿¾¯•‚~sXTTTPTWnrhcc^[OECN[T]de^YUSNMMJNLRNZOSWWYW\]\[]ZUQSPWQEFD?=51///ÏÏÎÎÎÏÏÏÏÏÐÐÐÏÏÉÀÊÄÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÌÊÉÉÊÃÀºÃÀÄÁÆËÊÇÀ²¤©“‚{t_UYXWdgcpkhaZWTRRTbVQ^_WQWXSNKHPQSYXRSY[XUXZWSS]XRWQXYC9:321//..ÏÎÒÖÕÏÎÎÎÍÍÌÌÍÎÇÁÊÄÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÅÅÆÅƾº¯Á¼Ã½ÁÉÿ¼¬ŒŒ„uŠ‚e]a^]goYo`W_WQUW^][RQU[TRUXXNKMTSS[e]QW[XWXWZVP]\Y^]QI=7641/.-..Î×æîìÞÏÍÍÉÄÃÄÈÊÅÁÊÅÂËÍÍÍÍÍÎÎÎÎÎÎÏÎÏÏÏÏÏÌÆÄÁ¹¿»³¥½¸À»»Å»»¹Ÿ‡~onlfedW[e`Wf\T]`SRVY]XUTQQPOOPTYVRTQQSe^MX]ZTQPY[SY[SPNC:<<962/---.ØëçÖÞîãÎŽ¶·»¿ÃÅÅËÈÄÊÌÌÍÌÌÍÌÌÌÌËÍÌÍÊÊÉÇÆú±«²³ª¡®°¸··¿±²«‰{{yrmVae^Yd[SZiaY_[NRTV^abWRONNPROUXMPUPR^`Xa`WPMMZZUYRO[KB@=<;87300..ëàšu€»ìÛ¹³°²¶·ÀÆÈÌÉÅËÍÍÍÎÍËÉËËËÌÌÌËÇÅÃÀ·§¢Ÿ¦¨žš¡¯¯±°¯§{qnjoq_[]Y`dXV^aZaXRWUSVWc]TUQPRVTSUXSQXRRZb[`YWZV[`WUZXTUCAH=987764110è›ssqŠÏè»°®°´µÀÄÈËÉÅËÎÎÎÎÍÇÁÊÌËÊÌËÆ¿ºº»¿¯¢›“¡œ˜¤´«¯©žž•}mhfXieYQJNYcYSR[fcal`__]TZQQQPQSXTUVWYTZQP_a`g\b`iiaUROPMLA=A8855654002Ѐ„€yˆÄéÀ­­±²´¼¾ÅÊÈÄÊÏÎÎÍʹÇÌËÇÇÀ²¥£¢©«ŸŸ˜Œ–—•¥²¬¥™“’‰wcch\]ZQPPQZb`[hpdTVeRYrp\SPMNNMJMPPQNPSZUW`XV]Zahb_[RKMIHHCGB8655554005¿…Š„~‡¾èħª±²´¸·ÀÊǾÃËËÌÍÊ¿µÆËÉÀ¸¬   ™›š’‘ˆ”š””š —Œ‹‡uvse[VX[[RY]ZU_j^TS^fefd]TSNLLKKJIGHNMS^]X\XRXehkX[VOSRJJB@E<864434536;½…†††‹ºåÓ¶¶³±²±¯¹Æ¾±³¸»ÁÁǽ²ÀÇÀ±¥£œŸ¢—˜”‡ƒ†„Ž‰ƒ‰Ž‘Œˆ†……ƒ{yrdXWWW`ZVYXSYiVPQ_jiXUZXTONMKLIGIHKSW]aTZURltgibb]Ub[SUH==;97433365;?ʲ°†ºâëéᎬ§¦¬®¥¢¢¤§ª¬¿·¨©±£›˜ š™ •–†„†ƒ„‡ƒ}„ŠŠ‡ƒ€wwslbZTZh^UVVV^_PWZ_a]UTSTSNMOQMMPQJELQVbTTO\edc^ci`UU\YJTG==<:55658895677:<>?½¾¿™Œ’½âìÕÄßìƱ¾Äµµ°³´¹·¯±²¯¬©¤£¢¤¥¦§¦©§¥ž†ƒ„ƒ}ˆ„~‚{zwusnmg[^d`a]WU[X__a[V^YY][URMOOQMDEFDCEHGDRKTY]Ycaa_VgaY[[SLGEE;86678;?EF½¾¿š”¾áíÞÐåéÝÛàßßàáãÜ°‹xomŽ|mfgifhnvŠ†ƒ„…~Œ„|€{ytuupjeZ\feaUWRT\fcfYQURcac[OPQPKIGHNHCHKHDNNW[[QZad_T`eWTZ\TGBB<;9878<@KG½½À’›¾àíìíìëìíìíîíîðÓuNSUX_bp‰lTIIJ\hf_YLYƒ†‰‚~Œ†|~zzxwyue[UZ]\Y\[PX^aaeabipsQ\_VQTSIFHOZSNOTXZdotrpow{||uusm]\UG<;==<;::9ÃÅÇ»ºÂÊÛëëëëëìêéèçææâžJRv…•VB6058:O_`bf\Dj…Š‹ˆ€‰…{yz|xxsaZZ]YYXYX^[TO_r‚{ng`dTVQMSUNMLHC^s‰šžžž›——š™™šœšš›š”\@:9<;::::;>>>=áääääåçæêëëéåãÝÖÑÌÉƺxGc¥±´´³£™}^ehVUN<7:AVRƒ‰Šƒ€…ƒyuxywvtg]`]SSZZ\`VT]dkidU\ceTVOMPTNKE>DŽy{zriebba```_]^abdfie]C976:9989;?@@>ñïíììììíìììæÛÍÇÃÁ½±¬ __KŠŸ”ˆ‰ ¸‡˜“XZTK>65^Xp‡†~ƒ€€yuxzxusmg`XON\[[WVX`_\NYb\]\Z^WMNTPLIJWˆPTXY]c_C@@@?>?CRVYZ[[PH6Vi98999;;CnR;Mm?99:<=BIJI•·ËËÊö­¬¢“Š†‡‡‡‡†„†iwX34a›qIOLLLQURJYyf>9H‚kp‚ƒƒ{ywruprwskhaUVXVY[a\YKGRY_Y[ZYX[_XQIEDDAKaXVZF@<;Mh=äU28=>AHIFN˜¨¥¦§·ÇÊËÌÎÎÎÎʾŸ€{dˆFIG_‡‹^I@:9;@=:_¡ˆA64M”^{}‚|yzvnlpljff]hscZOQ\]XUVZZb\Y[c[QKFBABB@‚€V;D98AG?LF64=RRD@BDD;9FfBuàZ6>=?GKKCSuŽŽ›žvnjkefjry‰€w{lŒLURp„fJIHHJIFCCh™wA:7@›ftt`dx{}~slmmnhd_a^a\QPXZRQU\[[ZZ^_VSMEDJLIZšmO@;?BCB:6=_CpÍ]SL<=DLQU_g……‹ŸVADN_aOPNH<mJeR::Zzzzskjlrvi[WUUUROVYQP[]\Y[a^ZRSUNPX^asšWJBGCGv‰b?@95666=BCBB?::[CzÅa[N;=HJVahd€‘›RNBJjlcXI@>96AKE::97:@?>?;;;=9:9>JHHD655:>5::\zvrmfdefodWW\WV[RRURST\][caYXTPLIITcr{H[rQECP[CEJD;<DEFC:775AC<[B===:99888788999968FS\l|ŠŒ‹˜§ª§£žš•‰~sbVRZ[]^XRNPWU\ecd]SSVTLE@JRV]mXSiF:9>CEHJMgtqreH?@=<<>EUliLPOTmptsnhbÁîË•~†‰‰ˆŠŒŠˆ‡”¦LR><<;9999888888888=œ¥¨¨¦¡žœ™–”“‘‘•—™œžœv]VY[\YWRPPWZ]Y[]XQQXUQWZSVt_`‚zh`UHNUYYX[]]]]\XWWPKUgqtx‡‰ƒ}|utrjc‰¬ÅÖÐÔ××ÖÖ×××Ö×е±\J76:97776667777784g¡ywurokiilpkhfdeghihpƒe[\YWSRTYQNTWQMOTVVYY^vƒ€w®švrqkfe[Zpspmmljiijlnrm^accmwdp‘ˆrqqonjiz“¹ÂÇÍÏÏÑÔ×Ø×ÕÕΪ—c]jQ854555456ÅÃßçzVX[sZ]¯MWm‹aj”éãáááß…ZaeSäàßÞáäl]hkgiklnpsvxwvuttrqpoprx~luoaƒ•qq~_Z[\[Z\]]\]^[[\XVY‘“Ž·’LQYXVUWZZ^{xsqmkllmopqrrrqm[H5IªÔâïå£laa{q—Øte}ZhdŸ›œ¥±£VVkz^vÊÐÈ»©–UWj[igedefgilpsuvwxvrrppppoZehSšÊÈÇë—LGJzkJPnxSG\‰OAJ”ïÝáÚžKOXX[YXXWU{{zvqnmlkkloppqqnS=50Ibh›¡„dph[µø™\„Z_QY79;<==Px‡bbbMDB;8BEoWhihffgfedgiknquwwwvusroRS`NãÞÛèë’E>o·MN§¼t7™š@@ŠíÞÑÒÑuKMVW][XXXXyzyywsnkihhkmnoonJ310246?@U\]n{‡°Û¦„šp`WSO59989::96899:78PqT7;8Sc]jmoljhfedcabbcglnqsuwuMBHNQOUb€Ä¬tcVqà™—«Ï®VcoŠ«…]YUSMLTTW]UVVVvwxxxwvsojgfgghilH0035:BQcz³ñïïòîõÒ“VhJNLNWTMHE:45578?nžf@@;DgThhhlomjhfdcbbbabeikpstN@HLPSWZ_baents±æàâäÙ†sngc^_^ZUPLP]\XWVVVVpruuuuutrnifdccejK01248=K_w™«óôë´˜¥©ˆMXLOLIKMMLLF;98;ASdxXLJFARObe~rllmkkhfdbbba`abglpO?FKNSW[ckrtuzƒ§ÀÈ´š…|xvtqj^YTOJRffca]XXXnorsttuttrmiecbcfJ1217>zˆA5>Sˆ„y–¢}O@DDNZXKFCQPE<:BNRQLGFFLKL]iqŸw^ejnpnmjedccdc``cgP=DJNRWZdt~ƒ„›ËÌËÏÒÑÐÏÉ€|vk^WSOJThhfeda^\knpstuvvusrokfdcdI5406RÕÕzjvvkoiw‘ŠucUTSVXURSUW^f]gw†š™ £©«©«®©ª¤Ÿ –€rmnomkggghfcacM:CJMPUYdqttq¦ïíééêîîðæ€llpj^WSOKVkkjiiiebiknpstuvvutrpkgedI9700<@E<:89USUmgZ\\\[[[[Xg‹‚”ˆ~umeb^]\^\ZXWWWWX[_de|jfhknnlhfeeeI4DMPSUZehZOMYƒ‰‡‡Šˆ†wI?GYfb]VRM_smmnnmjh`dhjlooqrtttsrplhF570./026;<<@BFSznb}dVXY[ZZZZWp‚^ZQNJJKKLLTeNKJIGGHFDCBDTghffhjjigebdF1CJM]‰vbVM;2124LINWFGF=>IKWp¯ŽOEp¹›…tqpnk~_egilmoqsttsrqokE48141-.,,-,,-./[Š‚rkf[ZZ[[Z]|VA@@??=<;;97879;:98898889<>>?@BDD?APA::<;:8798879?CakhecbcfgfgC,@AAd‘k`eeE;97?AA@@@CC>?ZieajaGCMd}«ÐÕºp˹n`egikmnpprqqkb?4841@HHB85./268]ƒx²ìãÂr_bcce=<@FEDCBBKlkjgi}¦Ë¯ÅИ]_egijlmmonlgWD<;9:;99:878897IaWFŠÊ¦çØrux‹Ž>A748:99:==;8Uk[hP4ALF=6448B?XlmllidcbfD(86XA+'*.)&%%$$$###$$'(,3?2&,HdGHjlkkifhz}·È͈Zbeghkklnnmkf_[ZWWWWWWWXY[\ZPMMKLXd¹²~§¯®vM@>TVOLD:45??KglmrphdbbA(85@BA<>D?9631110125>GNYcmZ$'37<44Cv€^766222235:CFNXZWP<2;ACahJFFUg[R:(62),>?====<;;;;;;;<>?ABADA$#,05A`ehjkkjkYz°ÂÏ­b_dfhkmmnopnlkkihea____`cdfPDHGLRW\e‡ˆ[›D?<77H„†~I=8212236AGPR_^][F47B@Ua754abbehijj\`€»Ç͘_aegiklmnonnmmlkgca___`aadO@GGKUS@=;:†„=@?LZAKPMDB?211139GKQPdbZRF75A>BB6627`haO92/.01111221/..-/0210./39<=?ABACSnjebbegiTLQ¾ÅË…\adfhjklmnnonmlkgda___`adL=GGISE:NMJ`TA>;=E?9;98899=AA===<9988778:CJIG@;L_`gjhggffcaaa`__acggec^]^\\\\\ZZ[\`ehlmmnpqrrplgcg[SNe«ÁÌ·i\adfhiklmnoonnljfca```cG9FIHLPTWs›†OD7:::999:;EM]neRouon]RNQMKHGEDCDCCA@@?@AAAAACCDEDDEIcnifgggffghihiiiiiigeaabdikljhd`______^^^^afjmnporpnpdTUiŒ¾ÊÔ´hadfikklmlmnnnmkifa_D,68;>>DW[t‚jNCDCCCA??<<<<<<;::::;;;;<;=>>>>>?Mmmfhedffffghhhhiikigdbaacgklmlhcb``aba`_^]`chjlloppoiZQVW•ÆÈÓ¢_aceggijjklmmmkjh`U=-6482..Dc–r[B======<:98888877888887889<<;:<@C@Vk²ÈÄ„cgggggggghijjihdbbabfjmmljhecbbbba_\\\_eikqssqoeSNM[¨ÆÍЇ\bdefhijjkllmljf`O9,5486A@CaxaK?A;999:<:99:<=>GIBCA@??@ACCSwŒœ™@J’ÃÀ¢gcdegffffghijiigedbaacimmmljfccbb`^\[[[]aeqrrtuwhUOKr¿ÊÒÁl`ceghiijkkklljhfZ<+10.2:9AW\Yl’“~‡—…cOHIGGIKHnwSNNNMNNMO¦Úçã¼ÀÔÏ?Affcdfcccdfeeefghihhhgfda_^bilnmkifdba][[[[[[\^qommmoi]RMO™ÇÊÕ ]adfhghijkklkkig_N6,---(%8RLCšèÁ¾ÅÞêê“GOZadgŽ“’•a_]X@P¬ðàÉÜéõ©;?hhfed†zcdddddefgggggggeda`_chklkigdb`][ZZYZ[[\pihjjed_TOLh¸ÆÐÌu\chhgghijjlkkjhb\M@@AABBAL<7€ìíéÏÉç߆H8A?;B‚†…†s;...6[q³´­œ†R7?fgfedigcbddccdeffffgghgfdb`_beijjhfca^\[[ZZ[[[njjjqnicVONO‰ÃÈÕ°aafgggghiijkjjieb]YXWVVVJK67O¢¤¦¦œy{lD478:kž¢fABAAM‚ŠjZRH@654>gggfedfgjcccccdeefffggggfdba_`cikjjgc_]\\[[[[[ooiisrriUNOL[¨ÅÌÓ“bbeffghjjjkjjjgec`^][[ZNM56;8;BIM]uš§]:FLI[†›~zjhmdOH ›u`QG>831=gggggg®ÓÖ¦fbcceeeffffgghhfeca`_djklliea\\]]\[[lrmkrrtsd[PNMu¹ÆÑÈr^dffghjjkkkkkjheda_^]\QP4488>BLTcz¤¼]lªËÏÓÙçàßäêìÛzk·˜t_OF>;51=fhhggdˆÓÖÈ}_cceeefffghhhhihfdba`cgjmkie_]^^]]\uyqnrrrqqr\NMR”ÄÇÖ®bcffghjjjkkkkkjhfda_^]QR4/39@ALTczœËvÖôïîíëííëãìäl‚Å—xaSKA=<=Eehhgggemnhfdcceeeffghggfghihgec`_`ejkkjd_^^_^\sqmlopmlkndNLLb®ÄÌÖ‹^egggijkklllkkiiheb`^MI7=C;@DMTb|œÎ `ÑòííííîïðïóèhˆÏ£}bQF;533Afiigffedddcdccdeeeeeggfffgghgfeb_]`dhjlkd`_^]\ponhlopsppiQKML}¿ÃÓÅoafggijkklllllkkjiea`G><@959=CL\v˜Ï¼WÁëæååéäØÎÆïUŽžhJ:7442/1@eihhgfeeeeccccdeeeeefgfgggghhhfca^]`dhkmjgb^]]oigkkmsvtts_ML[lŸÁÇÕ«cdffhklllmmmmmkkjgdcF6>822267:;CMcŠJKZZZ]gZIA<73:iAG?56·w-3Beihihffeeecc_]_`dffffffgggfghhgfdb^_aeilmljga_jmlkppoosrtlULOQ]ªÅËÕ”`dfhjkklmmmmmlkjifeG7>;4/vµ¤?8@P=Y`:;¶¬f/6Ccihhhgffeedaƒ­²¡hcefeffghhhggghgfeb`_afjllllfc|utrwtnlnnmnhNJLKs¼ÃÏÌw`cehhiijklmmlkkkihJS@;4/}º¿A47NcI†t]]^u~jdgklxˆPˆO2334..18Ecjihhhgffffb}Úðë¦beeffffggggffgffffc_]afilnnli{vnnkjlmmlgRLMMO–ÁÃÖ®_^bfgfhhjkklkkkkjjJH@<:346=653Ce@Zsns†„ebopTPICJH56533337Dcjihggggffedax‹…{eeeeeefffggfffffhgfb_^aeimnomxyxtupoknpomlf[NMJe¸ÁËÓZaeffghhijjjjjjjkI':<72544666=KFLJMScZoaY[YMLLJKB21122110:^geeffijkkkjjhcbabbbdedeffggffffffffdb`]`dhmnnqvuwyopljnnmptkSLLO˜ÄÇÖ¸ebfgghhhiiijjjkigH#871/000///3=;<=<<:;K<2/-,+*'(('()(',4?T|‘˜Ÿ£§©¬¬¬¬¬¬«¦¡¡–€pedeedffeeeefefeeda_\]bilmmurommnkiklnnnjTLKLh»ÇÏÕŠ_deghhhhiiiihg`ZD#63*++)(('&&$$$$$$$$#&(),-,,.3571.Hm‹Ÿ«³´´³±¬ª¨¦¥¥¥¤££¤¥¨«­®¤wbdddefeefffffeeecb_]]cilqooutpmoppiilkkUKKOO“ÇÇÔ¹c`bdfggghhihec_YG$52))',78:=?>>>===?@@BBCEFFEDEFDP‘¯³¬¦ ›˜“‹…‚{zzwuvvvuwy}Šˆideddeeeffgfffeeeeb_]_dhlnptqomqttpilmhWMKMLdºÈÍÓ†aefghhhggiihhhaK*62-+(.8678788875435455444321/.3‹«”‹€{volhecb`_]\\[[[[[[\]]_ckmbdddeeeffgffeeeeecb_^_enmnnrttquommlmpeQKMNN‘ÊÊÔ¼jefhhhhgfhhgfe`L15002/((%$$$%$$#####$#####$""!!:—}iea`]ZZYXXY[WwTUUUVWWWWVUUP]wfccdcdefeeedddeeedb_]`mqvsqsroslkkikrdOLMMK`·ËÍÔ”bfhhhihhggfec_UC0+-//)%%#"#$#$$&''''(()*+*,.0,`Ÿ\UTVVY[^`bdU@;OL<@ZgihfhhgdaWA…kabcccdeddddccddedca^[qwxslklpqlimvtuh`[NMNPˆËËÐÆuehhijihggffd_YRD9:999:;:::9:<=>>=??>>@AAABCC@‰„BVckqtvxyz~pVgijrfQQL<8999:?tNIcbbcbbddccccccddddcb`]lkmke`bnmuzwxwslqhQLNT_±ËÊרfhhijiihfffda]XTMLKIHIKKKJJJLNQRRRSSSTTSQPQOY™_Lˆ¢©©­²¶¹¿±ˆ³›ŠžjMPC2323453]n<[ccdcbddccccbcddddccbaspmljokrmvzxvw~p`TLLMM|ÆÇÐÑ‚cgghhhgfffec`]XWUTTSSSSSSSTUW[__`bca__][ZZVuŽHem¢ÇÃÃÃÂÁÁı©àÀ¤´|MN:2323355B|GOddcccedcbbbbccdddcccb…€{wy{znlryyzzh`TKKLMU¤ÉÈ׸gceffefffgfeca`_]\[[YWVWWXY[]`behjjhedca`_[{CxNÌÆÆÆÄ¿½›burjfWQI312222367oY@`ccccedccdccccddccccc‡wzuummuromsmebaVLKL\b€¾ÅÍØ‘`edeegggfffedcbba_^\[ZYYYZ]_`chjjigecba`_c•iD|=\ˆ‚zsja^bWLHKNMOQJ211122354Wo9Ycccdeeeeedcddddcbcddƒ€zzzrqthdjpzslniYLLLZa^™ÅÆ×Âjbddefggfffefeccb``^\[ZYYY]__`cdcbbbaaa`^kŒVJ{WB65655247776EWCBDA311222333B{@Mcdgggfeffdceeddcccdd…{…{†z‡z‡{‡{‡{‡z‡z‡z‡z‡{‡{†z†z†z†z†z‡z‡z‡z‡z‡z‡z‡z‡z‡z‡z†|„‚ƒ|†v…uƒt…t†t†v‡x‰w‡x†x†x‡y‰{ˆ{†z‡v‡u‡w‡z‡z‡{‡{‡z‡y‡z†|…~ƒ€‚€ƒ€ƒ€ƒ†y†z†z†z†z†z†z†z†z†z†z†z†y…y…y…y…y†y†y†y†y†y†y†y†y†y†y†z†{„‚|‚zƒv„t„sƒt„t…u†x‡x†x†w…v†yˆzˆz‡y†w†u†v†w†x†y†y†x†w†x†{…}„‚€‚€€…z…z…y†z…y…y…z†z†z…z†z…z…y…y…y…y…y…y†y…y†y…y†y†{…z…z…z†z†z„‚‚‚|ƒu…u…vƒv„v…w…y†z†x…x…w‡y‡{‡z†y…x†v†v†u…w…y†y‡w‡w†x†y†|„~‚€‚€€…z…z…z…y…y…y…y†y†z†z†z…y…y…y…y…y…y…y…y…z…z…z…{…|…{…|…|…z…|„‚‚‚{…y…y„w„v…x…{…{…x…w†wˆy‡z†{„z„y„w…v…v„w…x‡x‡w‡x‡y†y„|ƒ~‚‚€€€€†x…{„|…z…y…z…z†z†z†z…z†z†y…y…y…y…y…y…y†z…{„{„|„~„|„|…|„|„~‚€€‚|„z„x„w„w…y…{†{…x…x†xˆz‡z†{…z„y„v…v…w…w†w‡x‡x‡x‡y†zƒ~‚~‚€€€€…z‚€‚€ƒ~„|„|…}…{…y…y…z†z…z…z„z…z…z…z…{…{„}‚}ƒ~ƒ‚}‚}‚‚€ƒ€‚}~ƒ|…y„x„w„x…y…{‡y†y†z‡|ˆ|‡z…z…x…y„v…v…x…y†z‡y‡y†x…z…|‚~‚~‚€€€ƒƒ‚„€ƒ€ƒƒ„…|†z…y…z…z…z…|„|…{†{†{…|„|‚~€€€€€€€‚€‚„}„~ƒ}ƒ}„{†y…x„w„w„w…x†x†y†{‡{†{†{†z…y…x„w„v…w‡x†x‡x‡y‡y…z„|‚~‚€ƒ„„€…ƒ€€‚ƒ~…}…|…{…z…y…z…}„}…|…~„ƒƒ€~ƒ~‚€€‚ƒ~…|…|…|…|„{…y…x…v…w…v„u„w…z†|‡|†{†z…{…y„x…x…w†v‡u†u‡x‡y†y…z„}~‚€€ƒ‚‚ƒ‚€€€‚€ƒ€„…~†|ˆ{…{„~ƒ‚€€ƒ|„|„}…|„|„|ƒ}ƒ}ƒ~ƒ~„|…|‡{†{†|†{…{…y…x…w…x…w„x…x†y†|‡|†{…{„{„z…x…x…w†v†u†u‡v†w…x…{„~‚‚€‚ƒ~‚€ƒ‚€€~€~€€…~‰|ˆ|ˆ~†}†~†€„‚ƒ{ƒz„{„{…|„{…y‡y‡x†y†{†y†{…z…y„x…x…y…y…z…z…{†}…|„|ƒ{„z„y„x†x†x†vˆu†v†u„vƒ{ƒ~‚‚‚‚}ƒ~ƒ€ƒ€€~€€€€€Š}Œ}‹}‹~Š€‹€~~Ž}|y„{„z…z„y„x‡x†w‡y†{†y†{…{…y…w…w…w…x…x†z…{†|…}ƒƒ„}ƒ}ƒ}„}…}…{‡{†z…yƒwz‚~ƒ‚‚‚~‚~ƒ}~~€€€€€€‚€‚‚‚‡~ƒ}‚|„{…|†}‡zˆ{ˆ}‹~‡z„x…v†v‡v‡v†vˆvˆy‡{†z†z…z…y„v…u…v…w…y‡z…{†|…~„„…‡–‡š‰›Š›‹›Œš‹›Šš‰™‚Ž~‚‚ƒ€‚~‚~ƒ}~~~~‚~„~…~…ƒ‚†|…|„|…z„y„z…x„{…~ˆ}†}z„u†t‡uˆvˆu‡vˆv‰y‡{†{…z„z…x…y„y…y†y‡yˆz†{†~††‚‡ƒŽ„„Š†ˆ‰†Š†Š…‹„Œ„Œ‡‰‡ˆ…€‚€~}ƒ}…~~~€~‚}ƒ}„}…}†}†~…ƒ€ˆ{‡}…‡{‡xˆw‡wƒ}€ˆ}†~}ƒs†s‡t‡t‡u‡uˆv‰y‡y‡z…z„z„z…{…{†yˆzˆz‰zˆ|‡}……„ˆ…~…{…|†|ˆzŠy‰zŠy‹yyŠzƒ‹‡…€‚~}ƒ|…‚}~~‚‚€ƒ€„……ƒ~†{†}…ƒ‡{ˆxˆyˆzƒ„ˆˆ~t‡s‡s‡s‡t‡uˆvˆx‡w†x„yƒy„z„z…z‡yˆyˆzˆ|ˆ~†~„„†ˆ‰}Š}ˆ€‡~‰|ˆ{ˆz‰z‰zŒz‹y„Š€Š~ƒ~~‚|…z…€…}„€‚…†}…}†}†~„‚…„†|†}…†|†{‡|†}„€„†‰}ƒ|„{…x†v‰uˆtˆu‡w†x†x†y„y„y„z…y‡x‡xˆy‡|†~š~¨‚Ž‡†Š{Š|‡€‰}‹y‹{ŠzŠ|‹{Šy‹y†‚|­}”|wƒs„†~…‚ƒ†}‡y‡y‡zˆ|‡‡€Œ}Œ|Œ}‹}‹}‹}Š}‰~Š~‰€Š~Œ{‹}Š‰†‚ƒ‚{ƒw…x…x†x…y„yƒz…y†y‡xˆzˆ{‡}ž}°›‡Ž‰ˆ~ˆ‚‡€‡ˆƒ‡ƒˆƒˆƒ‡ƒˆ†‰€•z§yŽsom‚ƒ€ƒ„‚„€„€…€…€……~Š|Ž}Ž|||‹}‹}‹}Œ}Œ}Ž}’|’y”z“{’{“{“y”y•x‘z~‚x…y…z„z…z„z…zˆyˆx†x†uƒu‚…ƒ‡¡‰¤ˆ¥ˆ ‰ ‰£ˆ§ˆ§‰¥Š¢‰¥ˆªŠ¥ƒ p‡g}j€k€l„€„‚„„€„…„~„~„~‰}††ƒ‰ˆˆ~ˆ~‡‡‰Œ}‹|ˆ|†|…|…|‡ˆ†}„~ƒ~‡}ˆ€‚ƒ‚‚‚€„~…}„|„w†tƒ~…™ƒÁÇɀÀÆ~Ê}Ë~É€Ã~Ç~ÍÉ~Æq—i~lk€j€‡}††‡€ˆˆˆ~ˆ~‡~‡€‚„€‡„‚„€„€…‚…‚‡€‹~‰||{|z}€}‡{ˆ|€||~{€~‰‰„ƒƒ…„„„€ƒ€ƒƒ‚ƒ†…—¥{¹vÅtÎsÐtÑrÒrÑsÎtÍtÉxÀz±}Ÿ~™€|u‰{ˆ}‡ˆ€ˆˆˆ~ˆ~‡~†€ƒ‚„ƒƒ‚‚‚ƒ‚ƒ„…‚‰~‰|…|„}‚~„}ˆyˆy{€}‚ƒ~‡}ˆ~…€„€„„ƒƒ‚€ƒ‚€‚ƒ€ƒ‡„¦‚‡€~„~}“{–|”|‘}~…€€}~Ž~¨…‚†€…†‰{‰{‰|ˆˆ‡€ˆˆ‡~„€„€……€…€„‚‚‚„ƒ‰}ˆ|‡|‰|‰}ˆ}ˆzŠy‰{‡~…€‡}‰}ˆ}……€„„ƒƒƒ‚€€€‚‚†z¸x¿{¬|•|™}}‰„††~ž~¤}™z³wÆy¸„‚……€†‰{‰{‰{‰{‰}‡‡€‡€‡~ƒ€ƒ€…€…~„€‚ƒ€„„ƒ‰|†|…|†|‡|ˆ|ˆ|Š|‰|…‚„†~‡}‰}†…„€‚ƒƒƒ€€‚‚„w»rÑsÑuÌuÈxÃ{«~‘}¡yÂvÊsÎrÔrÒx·‚‚€‚€ƒ‰~‰|‰|‰|‰|ˆ}ˆ€‡€†ƒ€‚€‚‚‚ƒ‡‰„„€{Ž{Œz‹{Œ{‹{‰|‰}‰|‰~ˆ‰}Š}‹|Š{‰|‡}†~‚‚‚ƒ‚€‚‚y·rÐrÏtÉx±€˜‚ˆ€ˆ‡~‡}–y®sÆrÑrÑxµ‚ˆ€ŠŠ}‰}‰}‰}‰~‡…ƒ‚€‚‚‚‚‚‚‚ƒ‚ƒ…€Ž{•x–w•v•v”wyz‘y‘y’y”y“z“y“y’y‘y‘yŠ}‚‚‚‚‚€‚€z®uÎtÎu¾|Šƒƒ„†€…€ˆ€…~‚x­tÍuÍy±‚‚‚~‚…‰€‰‰~‰}‰}Š}‰~…‚€€‚€‚€‚€‚€‚€ƒ€‡€||z‘xxy{{{{Ž{Ž{Ž}Ž|Ž{|Ž{Ž{{‡„„ƒ‚‚€”}¥|Ÿ{š}~‚~ƒ~ƒ‚€†€…€}|š}™‘†€‹‚ƒ†‡€ˆ~ˆ}‰}‹}‹}ˆ~‚„ƒƒƒƒ€ƒ€ˆ~ˆ~‚„€‹{yŒz‹|‹|‹|‹|‹{Š|Š}Š|Š{Œ{Œ{Œz‹{ˆ}‡†€„€‚‚‚‚€‚€ƒ~‚~€†„‚„€ƒ}„€ƒ„‡ˆ~‰}Š}Š}‰~ƒ€„ƒ€ƒ€ƒ€ƒƒ‡~…~ƒ„‡Š|‰{‰{‰|‰~Š|Œ{‹{‰{‰|‹|‹{‹{Œz‹zˆ|ˆ~ˆ†€…€ƒƒ‚‚‚€€€€€€€‚€‡ˆ‡€„|…|„†€ˆ‰~Š}Š}Š~‡……„€ƒ€„€„„……~ƒ€‚…€‡~ˆ}Š|Š}†‡‹{‹{Š{ˆ|ˆ|ˆ|ˆ{‰zŠz‰|ˆ}‡‡€†€†„‚„†€‡††…†~‡†…€„€‚€†€‰‰‡}’}‰~‚ƒ‡€‰‰~Š}‹~‹~‹}‰~‡…€…€…€…€„„~„€ƒ„†ˆ}Š}‰…€…‰{‰|‰|ˆ|‡{†z†z‡z‰z‰}ˆ}‡~†‡‰†€‚‚ƒ„ƒƒ€„„„„€„€ƒ€ƒ€‚€‚ƒ‚…†€‡~{…~„}ƒ}‚ƒˆ€‰Š}‹}Œ}‹|‹}‰~‡†€†€…€ƒ€„€ƒ€ƒ„†ˆ}‰}‰~ˆ}‰{‰z‰{‰{‰|Š{‹{Š|Š|‰}‰~‰‡†ˆˆ†„€ƒ‚‚‚‚‚€‚€€€€‚€‚€‚€ƒ‚ƒ„€u„}„ƒ}ƒ‚†‰‰}‰}Š}‹|‹}Š}‰~‡€†€…€ƒ€ƒ€ƒ€‚€…‰}Œ|Œ|{zxwwww‘x“x“w“w’y’yzŠ}‡‰~‰ˆ‡†…€…ƒ€€‚‚‚‚‚‚‚‚‚€‚€ƒ€‚€€‚pzƒ€ƒ‚~‚‚‚ˆ‰~‰}Š}Š}‹|Š}Š}‰†€…€ƒ€‚€‚€„‹|‘x‘x–x—v—u—t—t–t•v•v–v–v—u—v˜w—v‘y‡~ˆ~‰~ˆˆ~ˆ~ˆ‡€†€ƒ€‚€‚‚‚‚‚‚‚ƒ€‚€‚‚h|n~{}Žz‹~‚ƒ‚‡‰~‰}Š}Š|Š}‹}Š~‡~†€‚€€‚‚‚ƒ‹|“w“x”y”x’y‘z‘yzŽ{{{{{Žy{‘{‘zˆ‡‰ˆˆ~ˆ~ˆ~ˆˆ~†„€ƒ‚‚‚ƒƒ‚‚‚‚€‚j}i|r{ˆ}ˆ~‚ƒ…ˆ‰}‰~‰~Š}Š}‹|‰}ˆ~‚€€„€„€…€‹~‹~Š€Š‰€‰}ˆ}ˆ}‡€‡€††€††€ˆƒˆ††ƒ‡€ˆ€…€…€ˆˆ~ˆ~ˆ~ˆ~ˆ~‰~‡…€ƒ€€ƒ‚ƒ‚„‚ƒ‚lj}l}w€€‚~ƒ~ƒ‚‚ˆ€‰‰‰}‰}Š}Š}Š}‰~ƒ€€ƒ€ƒ€…†€ƒ„†…††ƒ†„ƒ€‚€ƒ‚„ƒƒ‚‚‚‚‚‡‡†‡„…„ƒ†‡‡‡ˆˆˆˆˆ~‰~‰}‰~†~ƒ‚ƒƒ†…m€ll~s‚„€ƒ}ƒ~ƒ…‰Š~‰}Š}Š}Š}Š}Š}…~ƒ€‚€€‚ƒ††Š‡‡†‚ƒ‚‚‚„‚„……€…€ƒ€‚„ƒ‡ƒ†ƒ„„‡~ˆ~ˆ†‡€ˆ‡~ˆ~‰~‰}‡}‡}†~ƒ€€‚„€†€‡€l‚k€i~n‚y„€ƒ~ƒ|‚€‚‡€ŠŠ~Š}Š}Š}Š}Š}ˆ~†€„ƒ‚€‚€„€†‚„ƒ€ƒƒ„†‚‡‚‡‚‡‚†…€€‚€‚‚‡ˆ~ˆ„ƒ†€‡~ˆ~‰~ˆ~‡}‡}ˆ~ˆ…€‚€€€‚…€‡‡€k‚j€h{h{j}y€ƒ}‚}‚ƒ‰~Š~Š}Š}Š}‹}‹}‹}‰‡€ƒ€‚ƒ‚€‚€ƒ„€‚€‚€‚€‚‚‚€ƒ€‚‚€‚€‚‡€ˆ~ˆ‡€†€‡€ˆˆ~‰~ˆˆ~ˆ~ˆ~ˆ~ˆ~†€ƒ€ƒ€††€j€khzfxfzt€„~“}ˆ~‚…Š~‹}Š}Š}‹}‹}‹}‹}ˆ†€€‚€‚‚‚‚€„€‡€ˆˆ‚ˆ„‰‚‰€ˆ€ƒ€ƒ€‚‚‚‚‚‡€ˆˆ‡‡‡‡€‡€ˆˆˆ~ˆ~ˆ~ˆ~ˆ~‰~†ƒ€‚€„€„€ki~fyfxeyl~|…€‹~‡}ƒ†‰~Š}Š~‹~‹}Š}‹}Š}ˆ~‚€€ƒ‚†‚‚„„€„€„€„€„ƒ€ƒ€„€ƒ€‚ƒƒ‚€‡‰ˆ~ˆˆ‡…€ƒ†€ˆˆ~ˆ~ˆ~ˆ~ˆ~ˆ~‰~†ƒ€‚‚gg~fzgxfxh{p}€ƒ~ƒ~‚ƒ‚ˆŠ~Š~Š~‹}‹}‹}‹}‰~ƒ€€€ƒ†€‚‚€‚€‚€ƒ€„€ƒ€€‚ƒ„ƒ‚‚‚ƒƒ€‡‰~ˆ}ˆ}‰~ˆ~‡~…~‡‰~‰~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~†~ƒ€‚€€hg~hzgygwhygzu€ƒ‚}‚‚‡€Š~Š}Š}Š}‹}‹}Œ}Š~ƒ€€€‚€€€‚€€€‚‚ƒ€‚ƒ€…‚…„†€‡ˆ‚Š„‹†‹ˆŒ‰ŒŠ‹‹‹‹‹‹‹Š‹‡Š€‰~ˆ~‰~‰~ˆ~‰~ˆ~ˆ~†ƒ€€‚€‚ih~gzfxgyg{hzr~ƒ‚~‚‚…€Š~‹}Š}Š}Š}Œ}}Œ~„€€€‚€„………………†~‡}‡‡€‡}ˆ€‹’‹¢Š©‰²‰¸‡½†¿†À…ÄąąÅÀ‡«ˆ€‰~‰~ˆ}ˆ~‰~ˆ~ˆ~‰~‰…‚‚ih~g|fzg{h|h{o}}ƒ‚€‚~‚€‡Œ~‹}Š}Š}‹}‹}‰}„€€‚„€„€„€„€„€„€„„€ƒƒ€‚…}ˆŒ…ÃǂĿ€º¸€®€§©€©€§€§€¨ƒ¥‡‚ˆ~‰‰~ˆ~‰~‰}ˆ~ˆ~‰}ˆ„jj~i{h|g~h~h~ju€‚‚‚~‚‚Š~‹}Š}Š}‹}‰}ˆ~†ƒ€‚‚‚‚‚‚‚‚‚‚‚‚€ƒƒ„~†‚ƒ‹…€€}zy‚yƒz†xˆw‡y‡z‡yˆyˆ~‡€‰€‰~ˆ‰~‰}‰}ˆ}‰}‰~‡lƒkj~j€j‚jƒiƒh‚o}‚‚‚ƒƒ€‚†€Š~Š~Š~Š~Š~‰}ˆ~†…€…„„€„€…€…€„€„…†€‡€‡††|ƒyx€yyz‚yƒy…y‡yŠyŠ{‰{‰{‰|‡}‡€‰€‰~‰‰~‰~‰~‰~‰~‰~‰~lˆlˆm‰mˆn‡n…l…n†s…|‚€}™}‚ˆŠ~‰}Š}Š}Š}Š}Š~‰~‡€‡€…†ˆ‡†ˆ‰€ˆ€ˆ€‡‡~…}ƒ~„~ƒƒ…}‡|‡|ˆ{‰y‰z‰{‰{‰{‰{‡|‡‡ˆˆ~‰‰~‰}‰}‰}‰~‰}ÑÑÑÑÑÑÑÑÑÑÑÐÏÏÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈ¿³²¦ “€xjnwojjonsfjdY^a_]c_W]b``XSQV\]afcfVUYYVWVU[WSZa_^YUMC@:;:533>4ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÊÃÇÅËÎÏÎÎÏÏÏÏÏÏÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÎÎÍÍÎÎÎÏÏÏɹ £šxz‚udbbr~q`_omg\Z\^`[YWR_ib^UQPRZZ`jkiRS]bZSRNST[be_XQNKB@97754167ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÎÎÏÏÏÍÅ«ŒŠuooqqpruv|yadcdg]\]]]]VTV_e\[ZVSTWUY]jeRRY^WNNPTS^dcc\TIDB=:64422/1ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÉÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÍÎÎÎÏÏÏÎÎÎÎ͹™|osywu€iid^iZcee[ZYW`[TYgfVSUYYUPMWR[jTQVXYROTQQ\b`aXVWOH?<97520..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÅÃÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌËËËËÌÍÍÍÍÌÎÁ•Žƒ†sbl{pejc`aWib[ZUUP^d^asm^TQW]WNKVSR[T[]YWPQTW[_\Y[TRXRJA@@<651.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ¾¿ÊÑÐÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÎÍÍËÊËÌÌÌÍÌËÈÅ©{yrkckrqece_X_`UR\UTSZgghjdgWRVZUQTWTUZSZ^aXUVU[\][YUTPQQIAC?8662.1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɼÂÀÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÍÍÊÈÊÌÌÎÐÍÉųž||tfZUb`[`dc^d_XWTMPUZ`bfi`\TPPPNNTQTR`NUXZ[Z\Z^]^ZURSQSMEECC>641/2ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ÊÅÈÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍÊÆÂÅÃÇÇÊÍÍËþ»­‚}rXTUSOVXnrhcc^[OEBM[S\dc]WUSNMLJMLQMYOSWXYW[\[Z\ZUQSPVREDA<;51//.ÏÏÎÎÎÏÏÎÏÏÏÐÐÏÏÇ¿ÊÄÆÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍËÉÉÉÉ¿¸ÃÀÄÀÅËÉƾ¯ž¦‘‚~v`UZ[Zfj`pjg_WVTRVVaUQ]_UQWXTNJHPRU\YRSY[WVXYWRR]XTZTWWB77321//..ÏÎÔÚØÐÍÎÎÍËËËÌÍÇÀÊÄÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÅÅÆžº¯Â»Ã¼ÀȾ»§Šˆr‰€e_c\\hlYo^W_VQTV^\YQRUYSRTXXNLNTSSZf^PWZXWWWZVP^\Y[\OC<8751/.-..ÐÛêðïâÒÍÌÇÂÂÃÆÉÅÁÊÅÃËÍÍÍÍÍÍÎÎÎÎÏÏÎÏÎÎÎÎÌÇþ¶½»²¦½¶À»¹Ä¹»¶—…~pkfddcW\c\We[T]`RRUY_XWTPPPNNPTZWRTRQSe\O[^ZROOZ[TXYQQKB9=<:72/---.ÞîßÆÏëèÐÀ¹´µ¹½ÂÅÅËÈÄÊÌÌÍÌÌÌËËÌÌÌÌÌÌÉÉÉÆÅÀµ®©°±¨¡¬¯¸¶¶¼®­¤„yzwqmVad]ZeZS]j`Z_XMQSU]acWRONNQSNUWMPUPR^`[c^VQMP\YUZRP[JCD=;;97300..íÓˆnv±ëÛ¶±¯±µ¶ÀÆÇÌÉÅËÍÍÍÎÍËÈËËËËÌÌËÆÄÂÀµ¤Ÿœ¤¦š£°­°®«¦š‡xokgnn^YXV`cXW\\YbXSXUSVVbZSUQPSWTTUXTQXRR[c[aYZ\Z_aVUYXTSB>F<867764101äuur’Ô纯­°³µÀÃÇËÉÅËÎÎÎÎÌÇÀÉÌËÊËÉÁ¶´µ¸¼¬¡™šž˜–§µ«®§››“zhdeWgcUOINYcZSU`ia`n__d_UXPQQPQRWTUUUZTZQQa`_h\cbkh`TQNMKKA>A8855654/02Ê€‡y‘ÊìÁª¬±±´»½ÄÉÈÃÉÎÍÎÍʸÇÍËÆĹª¡ Ÿ¥¦›—Š•–”£­¬¢–’‡wfgj]\WRSSQZa`[ioaTVcSXqp]SPLMNMJLOOONNRZVX_WTZZbj^\YQJMIHFCHA7555554016¼„‰„Äëȧª±²´·¶¿ÊǼÀÈÊËÌËÀµÅËȾ²§Ÿ ˜™˜Œ‡”–•›“Ž‹Š‡€xxsdZVX[\SX]YT]j^US^iib`]USNLLJKJIGHMNT^^X\XR^jijZ]WPWSKKB?C;864434437=¼ŠŠ‡†ÁçÞÌŶ°°®­¶Ãº®±µ·½½Æ½²¿Å¼«œ¡›ž¡——’†‚…ƒŒŒ„‰‹‡„„…‚zxrcYXWWaZVYXSZgRPQ`hfVTZXTONNLLIGKIJRU\cTYSSmqfgbc_UaZTUK>=;97533365;?É»º‘†‘ÁæíîèÍÉ®££©«¢Ÿ £¤¦ª½´¨©­Ÿ™”žšš¡––†…†ƒ‚†ƒ|ƒ‰‰†ƒ~€}wuqkcYTZg]UVVX_]QZ\^a\UTQSSNMOQMMQQHDKPUaRSO^db`\hj]TU]ZISH==<:556589<>ÀÀÁ˜ˆ’Áåëäàæî¿ ¥°¥Ÿž ¥ª§¥©¦¢œž›œ˜¤¡œ ••‰‡‡…‚„ƒ{‡…‚ƒ{{{xtmkg\X\RX^YV]Z]]Y\[]`\WSLUUONPLDEIHCCFIJTMQS\_b\ap^aS[_]JGC??=95677:=@@½¾Àœ”ÁãìÔÂâêʸÆÌÀ¿¹º·º¹°°³±­¬§¥§ª«©ª¨ª¨¥Ÿ”‡ƒ„‚|‰‚}‚{yvtrnlg[^ecdZUUYY_`cZU\VY_]VRLOOQMDEFDBFHFDRKTY^W_bc]VfcY[[UNHEF;86678;?GG½¾À–ÁãìåâêêäáåçééèèãÇžˆxqs‰‰wljkjlovˆ‰‚ƒ…€Œƒ|€{ysuupicY[fc\VYQS^gceWOUWi^c\PQQQJIGIPHCILJEOPXZZPZadbV_fXSY]RD@@<;9878<@JD½½À¤˜¢Áâìììëëììììîíííé¥XRSUZ_b‰‡cOMMScc`\PMuƒ…‰ƒŒ…|}zyywyucYT[[[Y\YQZ[\`hikptoS[^UQTSJHIOYTONOSSYeljjjowvxtstn_`WA::<=<;::9<>>=ËÎÏÉÈÌÑÝêëëëëëéåãàßáÞÁjCdy‡•pD:2257B`dghbKPŠ‹ˆˆ…{yz|wxqa[]^WXWXYaYRP`t‚vf_^gSVPNSUONKFCMerŠ—œœŸ žœœ›››ššššš”uK88;;::::;>?>=èëêéèééèêëëéäßÙÑËÆÁ¿º—QOŠ­°²³©•„[XbWSQD9:=ONm‹Š‚€„‚yuxxvuuh_a\PQ[Z\^VU`dha`X^bbUWPMPTNJC?B\–x„€vnkiifdcbbbcdfhjni\<99::989;?A@?íîíììììíììëåÙÇ¿»¸¬¨¢}TTo§¤™˜–“¾˜‡¥iYXOA85CiW…†‚€xtxzxvrlh_WONZY[UVY_\XLZa[]ZZ_YNNTPNMNKo~OUVVZ^VCCA@A@@GTVXXZWN?bˆ;8999;AEEE£¨ãèçèçèçåÕŶ Ÿ¢Ÿž“’”kiK7DD=H]ZmrrqZSRgdA5>tZ{„‚{|rpxz{ulccWRRHCMWXX[\PMLVZ]^VZb`TNNKMPPKwcs’˜ž–P:98;>@KVUUVVraAR‡A89:<CILL¤¿½»º¯«²·¶¸º¸µ¯ª‘€€sro79M‰—wI@:9=PQOHic64:Œbz~€}zwwvmntnjhcT_m^WSY\[SRWZ]c`[Z][WQJEBAA@={\?I7577IWSLKRTQM=<==;;U\æW18<>CIICMŠ¢ŸŸ¶À»º³®®­°¸¿·‹|kaBHP~‘|KC988@?>B‰¡a654€sl}€€}zzwolpljfe_gpc[OR[\VTU[Z`ZY\dZQJEC@ADBF–lT8E77A@BPC66DTQB@BDB::LamÛa5?C[†WwU^TYZNJOWZZRRJUf…zM@<7_kPnD_E·”[ZK?LM[ci]‰£›œUYE?Z`ZO@8986:;88?A?DEDDC?<>>QSML>797><478ermifeddmaVW\XZ\SQSQTR[`]eaXWTPJHGLXhtƒƒ@faKEE[ZBFJ@666>FJLLLIA;R:”]SJUafnjiW³ôÏŠOY[WVVWXSOOPQE5UL=<=;8:8766688999876;BITcd]fq…Ž†‚}tmlbVQY[]\YSNPXW]ccc\RRVTMHABMVZimIbn@;:@CEGKLbjhk^E@A=<<=BTjRJP`vtutoi\£Û̼­¯²µ¹½½»¹···¸°^OG<<<:8988898888897Ex‹¤¨¬¬¬­©¨§§¥¤¥¦¦¦ž‚_WZ[[VSOPOSY\UW[WPRXUQ[daaahOj€o`WIENTVTTW]_``ZSRQLHTdq„ps‚‚|{srqj]{›ÃÙÚÚÜÝßáãäâáâãξxK>69:86666777666789† ‹Œ†ƒ~{xtqoqmlmnprv~nZ^YXW\cdZX__WPPXd]Y\d|…ˆ‰Šµ„xrukibV]qronnljjjkmpqh\cegq{iqˆ}nnronjiw‹¬¶º¾ÂÅÅÆÇÈÇÇÉ˳£vT`R;564554567?8674Zhejkiiknw” …€{urrqnjl{rsqt|Š’‰‹’••Ž™µ†‚‚}y|~‚¬‰k^`]\[X`mb]\[[ZZZ[[^fg[ZZZ]ZQV|rgittmjssrstux{|{|||}~‚†€ml¥¯—>14444468=8665ˆ„g|‡ˆŠ‹‹‹xu€_{™—“Žƒwk}zz{zyyyxyyz|…‰“¤´¶¯¡‘ƒ}r›xdVW[ZYYYXYWWWWXWWXXXYXXYZYXWSMff`hurwysronnpqrsvvvuvvvysS¤º¯‰D1344447><82D”a}®ÄÉÏÓÕÈmOFDjËÞÙÓÔÕ¿}\krqsuuvwxxxvututqsx€›¨¯ªl…nbRRUTVZZYYYYYZZZZ[[ZZ[[ZXYX\ZMRWSZ_fowwspnkkmnorssssrpqoj@h±ÈÁè¬uYPS]_A˜{AXo‚]}ÓãàßßáÄccgY`ËáÛØØßÏml\lfhiilnqtwwwvttrqppqqswwjykf†€es{\[]]Z[\\]\^^[Z\[X_’ƒ†±ƒLTXVUWYWX{xtpmklllnoqrrrqocT9?Ûßóò¸|_`onͧYs‡odf¼ÒÒÔ×ÚšP\g__»çäãÝÖ´MrXghedeffgknqtvwxvsrppoorh^jd[·ÃºÉè„JJSs\PVnlSN_zMGM§ñ×ÙÔ•KQW]ZXXWVzzzvqnmkjjknnoqqpaC90J†‚ž¿¯¡flk[‹óÝeo—bhNg]V]_`HG_ˆk]y”ƒwhXK=d_ajigggfddegjmptuwwvutsrdMZ^M­åàÞîâwBAŽ•;[ª®\:žŒ:BîãÕßÛtKNW\ZXXXXyyyywrnkihhklmooq\740024?EQiWcsx—ÝÍ…šXgMh<57549>Q}j`Q:4898@EPiZjmkhfecccbbcehnrtvwwxxfGLTMp¡«ÃÉôÎL>\ÉonßÝmqÈ_GTÛö©‡sVNLUXYVWWWwxxxxvsmihhhijklpW20378;@HTaz²ÅË×ãàÓ­‡WdE@8:<:998:HFC:7>CAjWhmomkhgedcabbbdjorstvxjEDKPOP_r â¹hVJØ€¤¥{ÒO_mªÐbYTSMMTW\UVVVrtvwxwvsojgfgghimY30258?GUf…œãòîïïðî´s][GFARXNB?9554586F‚E995aZbijlomkigdcbbbaadiknqumDBJNQTVYerilrpyÚèÝÞæ×}qmiee`\ZUQLPZZXWVVVnqsuuuttrnifdccei[30137JW Áƒ‹‘–aFKIJNSSLJGQG?:?@CJhpEbrWZZ[ZZZYYV€ƒ|si`\ZXSSVZRQOOOOOOQSWavhffhjjigebc`:6GLOe|kbWJ2.+38F>IMBC:35FM]s sNG{³—}ronl^dgilmoqsttsrqpmZ1:21/,.../0//14Fy}„vZZXZZZZZZ[fOMIHHIIIIHMSCDDBAAA@???>Leigeeghhhdda74FGK¥×y\RQLPOPNcWY\VXVQJRXUåŸG@nÂÓÇ¥|nnÈ„`ehjkmoorsrrrroZ0:36ND9400-+,+)@w—„~€sZ[[[[YntC>=<<<::;:74678:98777887:=Rihedcdggffc52CBFŠ¯k_c[<=<;AAB@@?@@:;Zf`g‚jECRp˜Å×ÇžvÉÃw]dgikmmoprqqphS0:41@Hgnlkhecbcc5-79J0))++*)(('''&&&&%&%%*0('+D_COkkkigfqyµÇÑ—[`dfhjkkmmmkf\UQQQRRRRSRSTVWNTTKQŽ‡³ñ›s‹Œ£g<>459<;9:=<8;ZZUd@8NSJ?8449B@Zllnojdcc`5-6NkjjjjjgRŽ½ÉË{Zbehiklmnonlifdc``^^^^^_bgj\IIKJKSrœ±Á¦¬O?;44;ch96=94312;@;DRPONH=45??NiljmjhaXP1,61'0A???>><;;;;;;;>BEHKLPD!$*/7Jegikkkk]{®ÁÍ·i^dfhklmnoonkjjigea_^^_`aeg]FGGJOU[f•å†g—?A744X…]764112336@DIQ[\ZS;2ddX?1.,,00.,,,,+***))*+**(*-011.4866Mhd``dfiRLO½ÄΔ\_degjklmmmnnlljfc`^^^^`b^ABGGNVE<>:Q˜\HNMSfbWPC56@>;9765;?B=DKGBCE><=:=E=>J^igfdc`^^^^^`bghfc`\\\\\[[[YZ[]bgjmmnorrsqmicf[RMa¨Àʾo[`cfhiklmnnnnmliea``__a[:AIGLPB=S;ND>8<>8887788:>CB??>;9998789;BHHEAAFLHEFDDFHGHGHHGFHBcc?jhggggggfghhhgfdbabdgkkjeb_^]_``_^\\^cgkmoqrstrsnrhSNO‡¼ÄÒœ^ceghikklmnoomkjhda__`X3>HG„¶]i¹¼`t{O@LQSW[^bdhiloooooppppqqqqowgzŒWbkfgghgghhhiiiihgcbbcfikkiea^]_`aa_^]^afklmnpqrqmpw^QOXÁÊΈ]dfgikkmmnoommmkgc`__W4=>????@AACCCBCGanptqefgffhggghhiijifba`bfjlmlifccaaba`^]\^bgilknopojZPSSÄÇÓ¯c`adfghjjkllmmkjhe_T.367765@Xd‡x^DBBAAA?>=;;;;;;:9:::;::;;<===>=<=Ln¸ßÙ”dfffgfffghijjihecbabeilmlkhfcbbbba^[\\^bfiqssrphUNMV¢ÆÍÔ\adefhijjkkllkjgcUF-43:6214NtŽcQ>=<<<==;:98888866888987789;;==AKQIU|ª¤“gbcdgfeefghijhhgedb`abimnnlifccba_][[[[\_cprrttwjVOKl¼ÊÑÃn_ceghiiikkklkifdZF+2322?E@LioWEFG<>?<:<<;;«õðêÜàíÉsA5973M|‚ƒ‚yg2.-/;ep”µ³©–~L5Dhgfeervygbccccdeeeefggfedb`^_cikjjgb_\\\[[Z[[ooijsrslWONMY¤ÄÊÕœbadffghijjjiihgd_\ZZXWXTID3:_™¯°¯¨•rgB8;:40Bghgggedebddcbeeeffgggfffghhfec`_`dikjid__^^]\qplkoomllmeNLL]ªÃÊØ•^dfggijkkkkkkkhhfda_]XQI005;?DOWi¥Ï€‡èïíìëëììèáíÔ\˜À“u_RI@<;=Ifigffeeeeccccdedeeeffeeefghgfeb^]`cgjlkd`_]\[ppmilorurqkSKMN{¾ÂÐÊu`fggijkkkkllljjihda_ZJD8D@=>569=DN_yŸ×œcÖèæãâåß×Ìž˜P–…YA656;6/1Dhiihffeeeccacfdbfffffffggfghhgfdb^_`dhlmljg`_nomlqqnnrrrmXLMMY¥ÄÉÖœ`cfhjjjklmlmmkkjifd^9:>6235;9::CMf}?PZZXY_QH@;51Db;J=4@«Çv,4Efhhhggfeed`Êμqbefeefghhhggghgfeb`_aejlmllgc|vurwsmlnmlmiNJLKlºÂÍÏ|_cehhhijklllllkkif_9:>81:œÅŽ78FN=cY:;=@DLIGEEDGyXTL81H¶”R/7FeiihghgfffctÇãÞ£`deeefffgggffgffffd_]`eilnnli{‚€unnlklmnlgTLMMMÀÃÕµb^bfgfhhijjjjkkkjiaFR<919‹ÂŸ459\\QŽqedf…{oopoq€}Q‡C2331,/1:Fdiihhhgfffecluplbbeeeeeefggfffffhgfb_^`dilnomvvuwwpoknpommi^OMK`¶ÁÉÕ‰Zaeffhhhiiiijjjjje@K<=7418:753QXA]ljv…we`qcNIEDLC55533337Dcihhggggggggeccdspeeedeefggffffffffdb`]_chlnnpwuuumpljnnmptkSLKO–ÄÆÕ¿hafgghhhiiijjjjkje4,=:43545666CJGIKOZc`r^Z^VLLLHK=11122220@ahffededddddcbbi„zedeededffeeeeedeeeda^[^bhlnntopnnnkillnnmjTLKMgºÆÎ×’^deghhhhiiiijkje]3)=3////..-.4;89:7647@2-,*(((&''')*+,+)+??@AABCDEGGEEEFA;fª´²¯¬¨¥¢˜•’ŽŽŽ‘”˜ ‚ddddeeeffgffeeeedcb_^^dmmoosvuptmlllmrfPKLMMÈÉÓÅodfhhhhgfhhghhgZ<*9./+(2746666665221110000000/-,1„³¨“ˆ€}xtpmlieeeccddccdfhkq|pcccccdefeeedddddedb_]_msxtpqqorkjkjlrcNMMMK_µÊÌÕŸbfhhhihhggggecZA/5.23-(&###$$$#""#""""""""#""" C¤Šyqjgc__]\\]]\nd[ZWWWVVWWXY[]ldabcccceddddccddedca^[qvvqjhjoollnxuthc\NLNP…ÊÊÏÌ{chhijihggffda[P;-,-.-'%%$#$$$$$%&''((()+,+-//-f•b]\ZYVUUVWYTLGaBGY^abaa`^]ZJKbaacbbcdccccccddddcb`]jjkidbbnkwywvtnrgQLNT]®ËÉ×±hghijiihffgea]VO@:;:::;===<<<<<<<>@@??@BBBBCBA’~KSX[`dhlmljRDHMRVUY^[QNNOPNXm@Vccdcbddccccbccdddccb`wsppovruntuvvx€n_SKLMMxÄÇÏÕ‹cgghhhgfffeb_[VQLKKIHJKLKKKKLMPQRSTSSTTTSRRP^œZFouƒˆˆ“—›¡‡i‡w{^MN@1122346qYEbdcccedcbbbbbbcddcccb†€}yx{xlkrxwy|ug_SKKLMRŸÉÇÖÀjbeffeffffeda_[XVTTSRSSTTTTUUW\__`cca_^^\Z[VzDnwª»½¿ÁÃÃÃÅ­®Ü¯¦³lLO;1334454Us;Xccccddccdcbbbcdccccc‡u~{uslnwplksjegfVLKK^f»ÅÌÙ–`dddefgfeeeba`_^]\[ZWVVWWXZ[]`aeijjhdcb`^^\‘tC{Y¶ÄÂÂÂÃÃÃÇ¡”¼¢““cOH32222346>yHHadcceeeeedccccccbcdd€~zy€{srscbkr|tmmfYMLLV[XšÅÅ×Æladddegfedecccbaa__^ZYYXWWZ\__`fijigdbb`^]f–aJ{?šÁ¼¸´®¦¡œuNSSROOQE111222365gb;_egjgeeffdcedcccccdd…{…{†z‡z‡{‡{‡{‡z‡z‡z‡z‡{‡{†z†z†z†z†z‡z‡z‡z‡z‡z‡z‡z‡z‡z‡z†|„‚ƒ|…w…tƒt…t†t†v‡xˆw‡x†x†x‡y‰{ˆ{†z‡v‡u‡w‡z‡z‡{‡{‡z‡y‡z†|…~ƒ€‚€ƒ€ƒ€ƒ†y†z†z†z†z†z†z†z†z†z†z†z†y…y…y…y…y†y†y†y†y†y†y†y†y†y†y†z†z„‚|‚zƒu„t„sƒt„t…v†xˆx†x…w…v†yˆzˆz‡y†w†u†v†v†x†y†y†x†w†x†{…}„‚€‚€€…z…z…y†z…y…y…z†z†z…z†z…z…y…y…y…y…y…y†y…y†y…y†y†{…z…z…z†z†z„‚‚‚|‚v…u…vƒv„v…w…y†z†x…x…w‡y‡{‡z†y…x†v†v†u…w…y†y‡w‡x†x†y…|„~‚€‚€€…z…z…y…y…y…y…y†z†z†z†z…y…y…y…y…y…y…y…y…z…z…z…{…|…{…|…|…z…|ƒ‚‚{…y…y„w„w…y…{…{…x…w†wˆy‡z…{„zƒy„w…v…v„w…x‡x‡w‡x‡y†y„}ƒ~‚€‚€€€€†y…|„|„z…z…z…z†z†z†z…z†z†y…y…y…y…y…y…y†z…{„{„}ƒ~ƒ|„}„|„|„‚€€‚|„z„x„w„w…z…|†z…x…x‡xˆz‡z†{…z„y„v…v…x…w†x‡x‡x‡x‡y†zƒ~‚~‚€€€€…{‚€ƒ€ƒ~„|„|„}…{…y…y…z†z…z…z„z…z…z…z…{…{ƒ}‚}ƒ~ƒ‚}‚}‚€ƒ‚}~ƒ|…x„x„w„x…y…{‡y†y…z‡|ˆ|‡z…z…x…y„w…v…x†y†z‡y†y†x…z…|‚~‚~‚€€€ƒ‚ƒ„ƒ€ƒ€ƒƒ…|…z…y…z…z…z…|„|…{†{†{†|„}‚~€€€€€€‚€‚„}…}ƒ|ƒ}„{†y…x„w„w„w…w…x†y†{‡{†{†{†z…y…x…w„w…w‡w†x‡x‡y‡y…z„|‚~‚€‚„„…‚€‚ƒ~…}…|…{…z…y…z…}„}…|…~ƒ‚‚‚~ƒ~‚€€€‚ƒ}…|…|…|†|„z…y…w…v…w…v„u„v…z†|‡|†{…z…{…y„x…x…w†v†u†u‡w‡y†y…z„}~‚€€€€ƒ‚‚‚€€€€‚€ƒ€„…~†|ˆz…z„}ƒƒ€ƒ{„{„|…|„|„|ƒ|ƒ}„~ƒ}„}…|‡z†z†|†z…{…y…x…w…x…x„x…x†y†|‡|†{…{„{„z„w„x…w†w†u‡u‡v†w…x„{„~‚‚€‚ƒ~‚€ƒ‚€€~€~€„~‰|ˆ|†~†~…‡€„‚‚‚|ƒz„{„{…|„z…y‡y‡x†y†{†y†{…z…y„x…x…x…y…z…z…{†}…|„|ƒ{„z„y„x†x†x†vˆu†v†u„vƒzƒ~‚‚‚‚}ƒ~~ƒ‚€€€€€€€‚ˆ~Œ}}Œ~Š€Š€Œ~~Ž}Ž|†€z„z„z…z„y„x‡w‡w‡y‡{†y†{…{…y…w…w…w…x…x†z…{†|…}ƒƒ„}ƒ}ƒ|„~„}„|†z…z…zƒwz‚~ƒ‚‚‚‚~ƒ}~~€€€€€‚ƒ€‚‚†…}‚|ƒ{…|…~‡{ˆ{‡}‹~‰~|ƒx†v†v‡v‡v†vˆvˆy†{†z†z…z…y„v…u…v…w…y‡z…{†}…~…„ƒ‰†”†˜ˆšŠ›Œš‹šŠ›‰š‰š…•€‡‚ƒ€‚~‚~ƒ}}~~~‚~„~…~…~ƒ†}…|„|…z„y„{…x…y„~ˆ~‡}}ƒt†t‡uˆvˆu‡vˆv‰y†{†{…z…y…x…z„z…y‡y‡yˆz†{†~†††ƒŒ„‘„Ž…‹ˆ‰Š‡Š†‹†Œ…Œˆ‹Š„Š†‚€‚€~}ƒ|…€~~~~€~‚}ƒ}„}…}…}†}…‡|‡|…†|‡xˆw‡w„{€‚†~‡}€‚t†s‡t‡t‡u‡uˆv‰y‡y†y…y„y„z„{…{†yˆyˆz‰{ˆ|‡~…~„‚ˆ…‚„{…{…{‡{‰yŠy‰y‹xyŒx†„†‡€‚€|ƒ|…ƒ}€‚€ƒƒƒ„~…‚€†{†|„ƒ‡}ˆxˆxˆz…}„†€‰}‚€v†s‡t‡t‡t‡uˆvˆx‡w†x„yƒy„z„z…z‡yˆyˆzˆ|ˆ~†~„‚„ˆˆ‹|‰‡ˆ|‰{ˆzˆz‰z‹zŒy‡€€Œ~„}‚}‚{…z……}…€‚†~‡z‡{‡{ˆ|†…ƒ€†|†}††}†z†{†}„~„„‰}…~}ƒ{…x†tˆuˆtˆu‡w†x†x†y„y„yƒz…y‡x‡xˆy‡|…~~¨€•…‡‰~Š{ˆ‡Šz‹zŠz‰{‹{ŠzŠy‰||¤|§zƒv‚rƒ†~„ƒƒ…‡{‡{‡|‡}…€…‹~‹|‹}‹}Š}‹}Š}ˆ~‰~ˆ€ˆ‹}‹}‰€‡ƒ|„~„~„z…w†x…x†x…y„z„z…y‡x‡xˆzˆ{…|‘}°¥†‘‰‚‰}‡€ˆ‡~ˆ€ˆ‚ˆ‚‰‚ˆ‚‡€ˆ‚‚’|¤wŸrnl‚ƒ€ƒƒ‚ƒ€ƒ€‚€ƒ€‚‚‡}Ž}Ž|Ž|Œ}‹}‹|‹|‹|Œ|}|‘y“y”z’{’{’y”z”yy€y…z…{…{„{„{…{ˆyˆy†x†tƒp€s‚‰†œˆ ˆ¡ˆ ‰žŠŸ‰¢‡¤‰£‰¡Š¡ˆ¥‰¦ˆ¡z“g~jk€k€…€„„„€„„~„~ƒ~ƒ~ˆ}ˆƒƒŠˆ€ˆ~ˆ~ˆ~‡ˆ‹}|‹|‹|Š{Š{‰}Š€‰}‡|†}‰|‹„‚‚‚ƒ€ƒ€‚ƒ„~„}„x†u„y„Š„µ‚ĀǀŃ¿‚€ÇÉÈÄÀ~ÊÉÈx¯m‚nl€k€‡}††€†€ˆˆˆ~ˆ~‡~‡€ƒƒˆƒƒ…€„……‚†Š‹|ƒ|||y}~}†|‡|‚||}{~~ˆŠ~„ƒƒ„„„„€„€„ƒƒ‚ƒ„‚¢|¸yÁtÌsÒsÔrÕrÔrÒsÐsÑvÈy¼{«~œ‚†}w‰{ˆ}‡ˆ€ˆˆˆ~ˆ~‡~†€„„ƒ„‚‚‚ƒ‚ƒ„…ƒˆ‹|…|}~~ˆzˆyƒz~}~…}‰~…„€„„ƒƒ‚€ƒ‚€‚€ƒ€‚ƒžƒ“~€}}”}˜{œ{˜{—|•}Ž~…} ƒ†…‡‰{‰{‰}ˆˆ~‡ˆˆ‡~…„€„……€„ƒ‚„‚ƒ‡~Š|‡|ˆ|ˆ}ˆ}ˆz‰xˆz†}††~‡}‰}†~…„€„ƒƒƒ‚€€€€ƒ€~§yÀz­{–{Š|˜~‹‚†ƒŸ€~z·wÅ€•…}„€†‰|‰{‰{‰{‰}‡‡€ˆ€‡„€ƒ€„€…~…ƒ‚€ƒƒ‚ƒˆ}‰|…|†|‡|ˆ|ˆ|Š{Š{‡€‚……~‡}‰}‡~…„€ƒ€ƒƒƒ‚€€€€„~{¦sÏrÑtÌuÅvÆy·~”‹~“z·wÉuÉrÐrÓtÌ~”‚~‚€ƒ‰~‰}‰|‰|‰|ˆ}‡€†€‡„‚€‚‚ƒƒ†‰€…ƒŠ|‹{‰{ˆ{‰|‰|‰|‰}‰|‡…‚‡‡~ˆ}ˆ}‡}‡~„‚‚‚ƒ‚‚~|¡sÎrÏsÍv¾|¨‘€‹ˆŠ}{¨u¿qÐrÑtÈ}’ˆ€ŠŠ}‰}‰}‰}‰~‡…ƒ‚€‚€‚‚‚‚‚„„„Œ{•y•w”w”w”xy{Ž{Žz{‘z‘z‘z‘y‘yyŽyŠ|ƒ‚‚‚‚~}™uËtÎtÍyŸ€‚„€‚……€†€…y˜tËtÎvÆ}‚~‚„ˆ€‰‰~‰}‰}Š}‰~†~ƒ€€‚€‚€‚€‚€‚€‚€†€|‘{’y“w‘w‘x’y‘z‘z‘z‘z‘z{‘{‘{‘{‘{‘z{‰„„‚ƒ‚‚€€Š}«{¢z¨|ˆƒ…ƒ…€‡€‚~ƒ|¡{š}ž†…€‹ƒ€ƒ†‡€ˆ~ˆ}‰}‹}‹}‰~ƒ€ƒ€ƒƒƒƒ€‚€‡Š}„€…ŒzxŽy{Œ|Œ|Œ{Œ{‹|Š|‹|Š{‹{Œ{Œz‹{‰}††€„‚‚‚‚‚‚€ƒ€ƒƒ‚~~€~~~‚~€ƒ…‚‚ƒ€ƒ}„ƒƒ†ˆ~‰}‰}Š}Š~„ƒ„€ƒƒ€ƒƒ†~ˆ}‚~„†€‹|Š{Š|Š|Š|Š|Œ{Œ|‰|‰|Š|Œ{Œ{ŒzŒz‰|ˆ}ˆ~†…€ƒƒ‚‚€€€€€€€€‚…€ˆ‡€„|†|„‚†€ˆ‰~‰}Š}‹~‡„„€„€ƒ€ƒ€„„……~‚ƒ„‡~ˆ|‰|Š|‰ˆ€‹|‹{Š{ˆ{‰|‰|‰|Š{‹zŠ{ˆ}ˆ~‡€‡€†€…€‚‚‚…††€………††„€…€ƒ€€€‚„€‰‰‡}“}‰~‚‚‡€ˆ‰~Š}‹~Š~Š~‰~‡…€…€…€…€„„~…ƒƒ†ˆ}‰|Š}‡„‰|Š|Š|‰|ˆ|‡{‡{‡z‰zŠ|ˆ}ˆ~†‡ˆ‡‚€‚‚‚„…„€…€…………€„€„€ƒ€€€€‚ƒ‚…†€†~{„~„}ƒ}ƒƒˆ€‰Š}‹}Œ|Œ|‹}‰~‡††€…€„€ƒ„€ƒƒ…€ˆ}ˆ|ˆ~‡~†}ˆ{‰|‰|ˆ|ˆ|ˆ{ˆ{‡|ˆ|‰}ˆˆ~††ˆˆ„€ƒ‚‚‚‚‚€‚€€€€‚ƒ‚ƒƒ€u„}„ƒ}ƒ‚†‰‰}‰}‹}‹|‹}Š}‰~‡€†€†€ƒƒ€ƒ€‚€ƒ€†‰}Š}Š|Œ|zŒyŒyyŒyyzyyzŽ||‰~†ˆ‰ˆ‡†…€„„‚€€‚‚‚‚‚‚‚€‚€€‚ozƒ€‚‚~‚‚‚‡€‰}‰}‰}‹|Š|Š}‹}‰†…€ƒ€ƒ€‚€ƒˆ}Ž{z‘y”y”v•t–t•u”u•v–v–v—u—u—w–v’yˆ}ˆ~‰~ˆˆ~‡~ˆ~‡€‡€„€‚€€€‚‚‚‚‚‚‚€‚€‚g{l~z|ŽzŒ~‚ƒ‚‡ˆ~‰}Š}Š|Š}Š}Š~‡~†ƒ€€‚‚ˆ~‘x“v•x—w–v•w•w“x’x’y“y“x“x“x”x•x•xŒ|‡ˆˆˆ~ˆ~ˆ~ˆˆ‡~„€ƒ‚‚‚‚‚‚‚‚€‚i}h|q{‡}‡~‚ƒ…‡‰}‰~‰}‰}Š}‹|‰}ˆ~ƒ€€‚€ƒ€‚‰~z{Ž||Œ|‹|Œ|Š}ˆ~ˆ}Š}Š}‰~‰}‰€Š‹~Š~†„ˆˆ~ˆ~ˆ~ˆ~ˆ~‰~ˆ~…€ƒ€€ƒƒ‚„‚ƒ‚k€j}k}w€€ƒ~ƒ~ƒ‚‚‡€ŠŠ‰}‰}Š}Š}Š}‰}„€€‚€„€„‰†…„…‡…‡……„„„‚ƒ€‚‚‚……„‰„†ƒƒ…‚‡€‡‡ˆˆˆˆˆ~‰~‰}‰~†~ƒ‚‚ƒ€†€…m€ll~r‚~„€ƒ}ƒ~ƒ…‰Š~‰}‰}Š}Š}Š}Š}…~‚€‚€‚€‚„‚„…€……‚ƒ‚‚‚‚‚‚ƒ‚ƒƒ€‚€€‚„‚‡‚ˆ‚†ƒƒ‡€‡~ˆ†‡€ˆ‡~ˆ~ˆ~‰}ˆ}‡}†~ƒ€€‚„€†€†€m‚k€i}m€xƒƒ~ƒ|‚€‚†€ŠŠ~Š}Š}Š}Š}Š}ˆ~…„ƒ‚€‚€ƒ†‡€„‚‚ƒ…†‡ˆ‡€‡€‚‚‚ƒ‚ƒ‚ƒ‚‚…ˆ~ˆ…ƒ†€ˆ~ˆ~‰~ˆ~‡}‡}ˆ~ˆ~…€‚€€€‚…€‡‡€j‚j€h{gzj|x€ƒ}‚}‚ƒ‰~Š~Š}Š}‹}Š}Š}Š}‰†€„€€‚‚‚€‚€‚„ƒ‚„ƒ‚‚‚‚€‚€‚€‚…€ˆ~ˆ‡†€‡€ˆˆ~‰~ˆˆ~ˆ~ˆ~ˆ~‡~†€ƒ€€ƒ€††€k€k~hzfxezs€„~”}‰~‚…Š~‹}Š}Š}‹}‹}‹}Š}‰†‚€ƒ€‚€‚€‚€†€…€„€„€„€…€†€„€‚€‚‚‚‚…€ˆˆ‡‡‡‡€‡€ˆˆˆ~ˆ~ˆ~ˆ~ˆ~‰~†ƒ€‚€„€„€ki~fyfxeyk}{„€‰~†}ƒ†‰~Š}Š}‹~‹}Š}‹}Š}ˆ~ƒ€€€‚‚ƒ‚‚‚ƒ€…€‡€ˆ€ˆ€ˆ€‡€‡€„€„€ƒƒƒ‚…€‰‰}‰ˆ‡…€ƒ†€‡~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~†ƒ€‚‚gg~gzgxfxhzn}€ƒ~ƒ~‚ƒ‚ˆŠ~Š~Š~Š}‹}‹}‹}‰}…€€‡„‚‚€ƒ€‚€‚€ƒ‚€„„€‚‚‚‚„ˆ‰}ˆ}‰ˆ‡…†€‡ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~†~ƒ€€€hh~gzgxgwgygytƒ€‚}‚€‚‡€Š~Š}Š}Š}‹}‹}‹}‹}…€€‚€€€‚€‚‚€ƒ‚€€€ƒ‚‚ƒ‚ƒƒ‚ƒ„€…‰‰~ˆ~‰~‰~ˆ~‡}‡~ˆ‰~ˆ~ˆ~‰~‰~ˆ~‰~ˆ~ˆ~†ƒ€€‚€‚ih~gzfygxg{hzr~ƒ‚‚‚„€‰~‹}Š}Š}Š}‹}Œ}}‡€€‚€ƒƒƒ~ƒ~„„ƒ…†~‡~†€‡~††€ˆŠ…Š‰Œ‹‘‹“‹–‹–‹—Œ—‹—‹”‹Œ‰ˆ~‰~ˆ}ˆ~‰~ˆ~ˆ~‰~‰…‚‚ih~g|eyg{i|h{o}}ƒ‚€‚~‚€†‹~‹}Š}Š}‹}Œ}‹}‡€€€‚ƒ€…………€…„…„…~…€„‡}Š”Š®ˆ¸†À†Å…Ʉ˃ƃÉʂʂʂȃņšˆ|ˆ‰~ˆ~ˆ~‰}ˆ~ˆ~‰}ˆ„€jj~i{h|h~i~h~jt€‚‚‚}‚‚Š~‹}Š}Š}‹}Š}‰}‡‚€‚‚‚‚‚‚‚‚‚€‚€‚€‡…³À·€¯¨€¦¢€–‚–ƒ•‚”‚“‚“ƒ–‡Œ‰}‰‰~ˆ~‰}‰}‰}ˆ}‰}‰~‡lƒk‚ijlƒl„iƒi‚o‚}‚‚‚„„€†€Š~Š~Š~Š~‰~ˆ~ˆ~…ƒƒƒƒƒ€ƒƒƒƒƒƒ€„€…€„€†~ƒ|yx€wv‚vƒy…w‰v‰xˆzˆzˆy‰{ˆ~‰‰~ˆ‰~‰~‰~‰~‰~‰~‰~lˆl‰m‰nˆo‡n…l…o†s…|‚€}—}‚ˆŠ~‰}Š}Š}‰}‰}ˆ~‡~†€‡…€„††€†€…€†€†€‡€‡††}„z‚y€y€y{‚z„y„z‡x‰y‰{‰{‰{‰{ˆ|‡‡ˆ€‰€‰‰~‰}‰}‰}‰~‰}ÑÑÑÑÑÑÑÑÑÑÑÐÏÏÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈÀ´°§¢•ƒ|uknxmijppsfieY^b^]d_X]b`aXSQW\]afbfVVYYVWVU[XSYa_^YUMC@:<:534?4ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÊÃÇÅËÎÏÎÎÏÏÏÏÏÏÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÎÎÍÍÎÎÎÏÏÏɸ §œy‚{vcabr}q``olg\[\_`[YWR_h`^UQPSZZ`jkjRT]bZTRNST[be_XQNLCA97754177ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÎÎÏÏÏÎçŠtooronpsv~zaccfg]\]]]]UTV_e]\ZVSTWVY]jeRRY^WNNPTS_dcc\TIDB>:64432/1ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÉÍÍÍÍÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͹š‘|mqwyv€€jie^i[aed\[YWaZUYffVSUYYVQNWR[iTQUXYROTRQ\c`aYVWOH?<97521..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÃÅÃÊÏÎÎÎÎÎÎÎÎÍÍÌÌÌËËËËËËËËÌÌÌÌÌËËËËÌÍÍÍÍÍÎÁ•Žƒ…udm}oejc`bWie[YUUP^b]asn\RQW]WNKVSR[TZ]YWPQTW[_\Y[TRXRJA@A=651.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʽ¾¿ÊÐÏÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÎÎÍÍËÊËÌÌÌÍÌËÉƧŽ}zsjcmsqecd`Y^bVR[UTR[gghjehWRW[UQSWTUZT[^aXUVU[]][YVTPRQJAB?8662/1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɼÂÀÇÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÐÏÍÍÊÈÊÌÌÎÐÍÉÆÄ´Ÿ|{sgZVdb\_cc_d`WVTNQVZ`bfia]TPQQPNTSTR`OUX[[Z\[^]^ZURTQSMFEBC>641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ÊÆÆÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÍÊÌÌÎËÇÄÅÃÇÇËÍÎËÿ½¯•|rXTSSPVXorhcd^[MDBOYS]cb^WURNMLJNLRNZOSWXYX\]\[]ZUQTPWREEA=<51//.ÏÏÎÎÏÏÏÏÏÏÏÐÏÏÏÈÀÊÅÅÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÎÍËÉÉÈÉ¿¹ÃÀÃÀÆËÉƾ¯¡¨’{v`VZZYfiapjg`XWSQSTbUQ]^UQWXSNJHPQTZXSRY[XVYZWRR]YSYSXXB77221//..ÏÎÓÔÓÐÍÎÎÍËËËÌÍÇÁÊÅÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÍÆÅÅžº®Â»Â»ÀÈÁ¿¹¦‰‡sŠ€e^b\\hoYo_V_VQUU_\YQQUZSQTXXMKMTSS\g]PWZXWWW[VO^]Z]]OD=8651/.-..ÐÛéîìàÒÍÌÇÂÂÃÇÉÅÁÊÅÂËÍÍÍÍÍÍÎÎÎÎÏÏÎÏÏÎÏÎÌÇý¶½º³¥½¶À¹¸Ä¸»¶˜…}~plgeddV\d^We\T]`RSTY^VVTPPPNNPTXVRTQQTe\MY]YSPPZ[SYYRQLB9==:72/---.ÝîßÇÐìèÐÁºµµ¹½ÂÅÅËÈÄÊÌÌÍÌÌÌËËÌÌÍÌÌÌÊÉÉÇÆÁ·®ª°²ª¡­¯¸´´¼¯­¥„yzxplVbd]ZeZS[iaY_YMQSU^`cWRONNQSOUWLPUPR^]Yb_VQMO[YUZRP[JCC=;;96300..íÔˆnw³ìÛ·±¯±µ¶ÁÆÇÌÊÅËÍÍÍÎÍËÉËËÌËÌÌËÇÅÃÁ¶¥ œ¥§œš£¯®¯®«§šˆxnlhmn^YZWbcXW^^YaXSWUSVWb[SUQPSVTSUXTQXQSYaZ`YZ\X^aWUZYTSB?G<977764101å“uur‘Ô麯­°³µÀÄÇËÊÅËÎÎÎÎÍÇÂÉÌËËËÉļ·¸º¼­¡™›Ÿš–¨´¬­¦œž”zjffWidUNIOYcZST^gban_`c_UYQQQPQSXTVTW[TZQQ_`_h[cakiaUQONLKA>A9855654/02Ì€†yÆëÁ««±±´¼½ÃÉÉÄÊÏÎÎÍÊúÇÍËÇŽ®¤Ÿž¦§ž˜‹––“¥¯¬¢–’‘ˆvddi\]YQRRQZb`\iobTWdRXrp]SQMNNMJMOOPNPRZUX`XVZYah^\YRKMIHGDIB8555554016½…Š„‰ÀêǦ©²²µ··¿ÊȽÁÊËÌÍËÁµÅÌÉÀ¶ªŸŸ¡—™˜‡•—‘Ž“˜ž”ŽŒ‹†vvrd[UX\[QX]ZU^j^TS]hgbb]TSNLLKKJIGINLS_]X\WQ[gihV\VNVSIKB?D;864434437=º„††‡½æÜÅÀ´¯±¯­¶Ä¼¯³¸ºÀ¿Ç¾³Àƾ¯  œž¢–—’‡ƒ†ƒŒ…€ŠŽ‹‡„…„‚{xrbYWWWaZVYXSYhSQQ_ifTT[YTONMKKHGKIKSV]aTZSQntehbb^Ub[TUH>=;97533365;?ȳ²Ž†¾äìíåľ¬¥¤«¬¢¡¢¤¥§¬¾¶ªª­ ”›š¡“•‡„†‚‚†ƒ|„Š‰†‚~€~wvrjdYS[i]SVUV_]PY[^`[TTSTSNMOQMNQQIELQVbTTO^ddb\fj_TU]ZITH==<:556589ÉËÍÂÁÆÎÜëëëëëìêçæäãâÝÖ©TJ\grzrPOE;998UoqnfSFtŠŒˆ‰…{y{|wwpa[]_WWVWY`YSO_tƒxj`^fTVPMTUNMLHDNTU[iw~ˆ•““’•——˜•’Ž…iO;:<<::::;>>>=éìêçæçèçêëëêæáÛÓÎÉÃÀº®}Cb’ž¤¨£xcI;AHGLMHHMRLU†‹„€…ƒyuxxvuth^a]QPZY\_VU_dhdbV\ccTWOLNTNJD>AKaˆ†›—Œ‡„~~}|z|€‚„‹‹vQ66:9989;?@@?æåïììììíìììèÝËĽ¹¬¨¡”cR_®¸µ³²¨°¦y‡~XYR?556\Ov‡‚ƒ€xuxzyurlh_WPLYZ[VVY`^YKZa\][[_XMMTPNKLPK‚^_ZWVVQNOONMMLPUVUWXSLau:9999;AEEE¸uÑêçèçèçæÛΦ¡¦¢ ”“‹Wh=apg_gf˜zTVV]L64Tg`…‚ƒ||rqxz|tkcdWRTHCNWWX[\QMKVY]^V[c`TNNLLQPPL~^^mqv|ƒi<::999;IX\_`akNbŽ?89:<89;<=BIJJÉÍÊʲ©«£–Žˆ††…„„„ƒ…jtV36TrSDRQQQQRQI_{_G˜eT;G7888JTG@ALQND?@A>::6Y‚?96@–fx}yy~|sjkkmga^_Z_[PQXXQPU][[Z[__USOFCBFHEAf¢XJ:@6A]TAB844>HF=BEEB88Kd[L?IIBDKQXb`x‚„¨oDDGgyf`XHFDQh}ppObStpVILORPNMMRs”pA=:=`nsKF\yxsigjswhZVVTSSPWYPPZ^[X\b_ZPRUPJIUVSR†“MFAB<]€…L=855778;@AB?87B`FAN\[OHHWakP{¢˜¤\`I=IZWQB88:8;h\GMDO=EBCJSUUPKCEJ[nXLD:;L@AB669C7/8E`rjbaa\[fcXQY\^]YTNPYV\dcc\RRVUMF?@JXgq‡k>ˆqDA?JGCHJGNNOTPIHHGE@:CCOOTMYprtnhU¼Èö¹¼ÀÁÂÃÄÄÆÇ¿¬š\A[?==<989999999999976?M[dm|~‚‘ž¡ Ÿ˜“‰„{o`WY[\WUQQOTZ]X[]WPSYUQZ^]_ROMUkdXPB;=FIIIKVhhkl]DBA>—~`lnpnnr}²žŠ†{xwurlu€|{|zxxzxxz}ˆ‘ž¬·´ª˜‰up†¦ycW[[ZYX]a\YYXXXXXXX[^]YYYYYXQSmdiwrvxsqonnprsuwvvuvvvx~|lc™­Á‡>013445774761[œhv‹“––—‹_aWSŒ¤¢™–”…pjxsuwvwwvvvutsssqu{‡–¥­²°šr’k_SVYXXYXWXWVXXXXYXXXXYYZZYXTTMUT]agszwspnllmnorssssrpqry]Q—º·À™LH=@@;6Gh@<@z{`˜ËÐÕÙÚߢ[RKK‘ãáÛ×ÙÛ¡qXnijkloqsuvvwvttrqppqruz€k‚hc]YWXY\\[[YYZZZ[\\[Y[\[Z^\c|cNTUUVZX[{xspmkllmnoqrrrqplgO9vËÍï[^bŒom½TdvŒag–èáàààã„WafQ„áÝÙØÜå f`diedefgiloruvxxvsrppooqqeksco²~žŠTWX]^[^]b^^\YaVTQ| ­É‚LRZYXWWVzzzvqnmkjjknnoqqqlSA2>¼ÇßÛ§p`doi­ê‡asŠ[hm·»ÀÃȽYJ`oYqÒáÞÖʼuNqYkhfggfedehknquvwwwusqoq^Ze\cÄÓÔãë…GCT•\@YˆzIA}ƒb|]WA589;=;986;A<;68DUF8>:LhXhjmonjhfdcbbbaaejlortxaAEKOPRW_Œªoh[˜æŸ«¥°á|bnseYXTPKQZWVVVVorsuuuttrmifdcceggA./24;DShƒª·ðîíïðóÌ’UhJMGKYVJB@8444779gk;=9;AKSRYO?=@<:E^Y™}\`gknnnljggghfcaae]A=ILOTX]kx}€ƒ»ßÜÝÞßàáäÁ}zvrg[VRMKYjihiecikmorstvvutrokgdccB8306XÚÆyu‰¡Œ‰hjŸ†sVFGJRXRJIHSTIBBJSXZXY]^bgjtu‡rdnkirmnoomkihhhfcc[>>CQXnnd\\\[[[[[ZYs‰¦®«¦¡›•‰‡„‚€€~‚…ˆ˜†fpfgikjigecbcZ6;KORT[^gaN?@KaddbficbN45F[eeeUPJw’wqnmk„^egilmoqsttsrqpje=96/-.025778=>CRvYPubXZZ[ZZZYYYy…€wld^YXWTXYSQPPPPQRSUZexhfddfhhhdccY2:HJPžm\NM;:9WaZ€Ë†DAd¨ÎÖ¾‘qÌÀs_ehikmnoprqrqng:682=TG@864,+,+-b‰€‰‚fY[[[[YtjC>?=<;99;;74779::8777887:>Yliebbcdggg[-6A@Enyaci^@;99DFGGIJJHBLelf`^QBCTi‚©ÊÖ»ÁÏ´c]cfiklmmpqooi^86731?EG@74.268=^‡‰~¤ÕÍšc^___bŒR<=AACCCDC;BCBABBA9‰F>B@:6666776:B?Zmlljfdccf],3674158==?BCAAACCA@A=:76310.,6F>SlkjgfuyµÇÏŒ[aeghkllmnnkfWD<:<@?>==;;?BA?Mm_L¶æ¾é×opts™m=ENOLS\:33566657@@Lilkmkhecd\,34I[8*(..(%%$$%##$%%'*-1=46:;98;><:F_SY]97NOI=744854333355:ELV[biH &,2g\59@94324;>;FVPOLE:37A?Sjkmnki]RI*14.)4==<<=<;;;;;;;<;;=>>?@5")035JcegijjZ\{ºÆΞ`aegiklmnonmlkjjgb_^^^__bcdNEIGLRY`uÁØH†…;A546b‚xJ573112347ADJRYZYO73?AFeaBA@WeZL/01.07443421110/.-/0.,+-...)!,310Ib`bdgiSLOŒ¾ÄÍ\adegjklmnmmmllkfc`^^^_`acNBGGLSZ\_szGœb<@989b‡‚d><400114?ACCE\lgcabd^SOYš½ÇÅwW^`cgijklmmmlmmjfc_^___acM>FFKTWB=<:g™L=AA^MBKLGCB910124AHRJXgbXOC57@98555=@E@7:D[igfeca``_^^`behhhd_]]\[\]^\[[]afjklmorrssqmlbSNKr¸Ãάb_cegijklmnnnnmkieb`___bG;FHHNM;FZ6G@=8AC8997788:?CA===;9787779;CJJF@_W?hgghhgghhhhhhhgeb`behjlkhda^]^`aa_]]^afkmnopqrqlow^QOYŸÂËÊ]dfgikkmmnoomllkgc`_^`B4EGW§º‚P‚IJT}kFAGIJNRUY[_cghijjjijklmllkhoe{…Idigghgghhhhhiihgecbbdfillkfc`______^]]_chkmnoqqspphWQNh¯ÃÐÄt`dfhkkmmnnnnnmlifb_^`B5@FRºè³Yj«ŸF†ŽnUottutrrqoljhgeddbbbdeeghjnepƒyccfffgggghhhhhiihgecaadikljjfaa____`^\]^`eimnooqnnodTViŠ¾ÊÔ·kaefijkllmnnnmmkieb_`B0;CHg—”dT€‘R‡ƒsdkd^\YWUTSSRONMMLLLLLNOOOSUTX\nranldgggfhggghhiijifba`cfjlmlifccaaba`^]]_cgjllnppoiZQTU‘ÅÇÓªb`adfgijklmmmmljgdaaB,7=CFIShTY}jtcXOPPMJGGECDDCBA@@?@A@AABCCDEEFGMd›ÚÒŒdfffgfffghijjihecaaaeimmlkhfcabba`]\\\^cgjrssrpgTNMY¥ÇÍÓŒ[adefhijjkklmmkigb[?.657544HZbt[FEDCDC??><;<<<<;::;:;:;;;<=>??>>AQ…´ª™gccdeeeefghijhhgedb_acimnnliecbb`_\[[[[\_drsstuxjUPJn½ÊÒÃm_ceghiiikkkmmkig]N8-44;332>S‚ŠdM>>=====;:98888867888888889;<99;??BYbabfgeddddddeghhgfgffda_^bikmmkhfdb_\[[[[[[\]qommlni]RMN–ÇËÖ ]adfhhhhjjkllkifaR6+31/3AC?UqnUB><878:;<:99:<=>GEAAB@@@A@?DYu€y‡›ƒ@Tfed‹vcdcccddfggeffffedb__cgkmligdb^\[ZZYZ[[[ohfhicd`UOKg¸ÆÐÌw\chigghiijkkkjhf]B.--,.-,1W[`UƒŽ†s†‚fNIHHGGIJLdLJKLJIKLU³Øæݸ¾Ü¸7Igfddcbbccccddfeeeefggfeb`_adhkjhfc_][[[ZZ[[[kghhrnjdUNMN‡ÂÇÔµdaegffghiijjjjhfaV>/.11/-0PKM\áÄÁ·àéäÉ]JS[acqŽ‰”Ž‚`a_S@_ÊòÒÇÛêö’5Ghffeijndbccccdeeeefgggedb`__cikjjgb_[\\[[Z[[nmiirqsjVNNLY§ÅËÔ™badffghijjjjjigc]SNLLMMNFJ@:MÇñèÒ¿ÓòÈc=>DCC89>DJUlŠ´àzzëòðííîìçâÞܦR« mN<81//.1Fhhhggfeed`‹¾Â¯mcefeefghhhggghggeb`_aejlmmlgcztsqwsmlnmlnhMJMKmºÂÍÎx]cehhhijklllllkkifcV6<<311038>BPc’|Gs}voqxj\SLE6Ij@F:4;ƒœT,4HghhghgfffcuËèä¥adeeefffggggggggfeb_]`eiknnli{tnnkjlmnleQKMMMÀÃÖ¯\^bfgfhhijjjjkkkjifW3:>6/Bˆ˜Z88JEBj@679=CIDBAB@AlSAM:1QÙ¾]-7Ifihhhggffecmyuqcceeeeeefggfffffhfea_^`dimooluytvvpnjnpommf\OMJa¶ÁÊÔƒZaefghhhiiiijjjjiiXGG=7.M¸ã‹16AZJd‚TNPSc^XY[[_x†V…=227J501;Ifihgggggfefe```jkeeedeefggffffffffdb`^_dimnnpvtwvnqkknnmptkSKKN—ÄÇÖ¼fbfghhhhiiijjjjjijZGL;;347IA443fWK~€z†©…vu‚qa`MBW@44412339Geihgghggfefgedkeeeededffeeeeeeeeeca^\^cimnnuoommnkiklnnnjTKKMi»ÇÏÖŒ_efgihhhiiiiijjij],6<=45546867HEECDK^b\^TTaSGINKO>3220/122Acihhgffffeefeeeb_dedddddefeeeeeffeeecb_]^cilpopvtpmopphillkUKKNO”ÇÇÓ»d`bdgggghhiiijjicW)/=411121112?FCIJJJJV`F@<9441.1.**)*+-+-=`geecccccdddcba^^`ccaddddeeeeefffefgeeb_]_dhlnpsponqttoilmgVMLMLeºÈÌÔŒ`efghhihhhhiigcXN)-:-+,*((('&&%%##""""!#$&'(''')+-)##%%&,Aix|ƒˆŽ“™šž›–“œª­cdddeeeefgffeeeeecb_^_dnmnosvuptmkmlmpePKMMM‘ÉÉÔÁlefhhhihhhhifc`YQ+,8+()(-/1476246667889:<>@A@>?DFE+/Lk†–£®²²²³²±¯¯­®­­®®¯¯²¹¾²qbccccdeffeeddddeedb_]_mqwtpsrorkkkiksdNLMMK`¸ËÍÕšbfhhhihhhhhhhhcT2.7,*''4979:::;;:9888988778865340B| ³³¯«¦£ š–‘‹‹‰††…†‡†‡ˆ“„eabbccdeddddcddeedca^[qwwrllmppkjluttf`ZNMNPŠËËÐÈvehhijihggggfebS606-0.)('&&%&&%%%%%$$$$$$$$$#$"#9ž®¡–Œ†€zwuqmjffbbb___```aabfjvpbbcbbddccccccddddcb`]lkljeaclls|vvwqjqgQLNT`²ÊÉתgghijiihfggec`WG4/+0/+$""!!#""!"#$##$$$&'((())(`¤ukdb_]]]][\]]wd[ZVWWVWYWVXXZddbddcddccccbccdddccb`rnklkrmrktvuuv~~m_SLLMM~ÆÇÐÒ…cgghhhgfffgd`ZTF5352222444565555578879;===>?><~ˆ^]ZXXUUUWWXPGCuS>CZbdedeca`\KFbccccedcbccbbbcddcccb„}€|xy{yliqxxz~vf_SKKMMU¥ÉÇ×»gcdefefffffda]XTLHGEEGGHGGGGGHIJKLLLKMPPOONNLS–iKUZ]aglnnllOINPUZWWZUJIIHHHSpCVcccdedccdcbcbcdcccdc†|vyttmmtpmkqkabbULKK\b€¼ÅÍ×_cddefgfedeb`]XURQQPPOPNNNOQRTY[[]^^\[[[YYYUq“KQs{‡‹Ž’–šŸ©ˆs’xƒ‚[MN@2123454j`Fadcceeeddccdccccbcddƒ€zzzsqsfdipzrjmgYMLLY`[›ÅÅ×Áiadddeffdddcba^[XWWVUTSSUUUWZ\`behihdbbb`^^Y‰}Czt·¾¿ÁÃÃÃÃħ¹Ýªª°iLN=3334565MvA[efigeefeddedcccccdd…{†{†z‡z‡{‡{‡{‡z‡z‡z‡z‡z‡{†z†z†z†z†z‡z‡z‡z‡z‡z‡z‡z‡z‡z‡z†|„‚ƒ|†v…uƒt…t†t†v‡xˆx‡x†x†x‡y‰{ˆ{†z‡v‡u†w†z‡z‡{‡{‡z‡y‡z†{…~ƒ€‚€ƒ€ƒ€ƒ‡y†z†z†z†z†z†z†z†z†z†z†z†y…y…y…y…y†y†y†y†y†y†y†y†y†y†y†z†{„‚‚|‚yƒu„t„sƒu„u…v†xˆx†x…w…v†yˆzˆz‡z†w†u†v…v†x†y†y†x†w†x†{…}„‚€‚€€…z…z…y†z…y…y…z†z†z…z†z†z…y…y…y…y…y…y†y…y†y…y†y†{…z…z…z†z†z„‚‚‚|ƒv…u…vƒv„v…w…y†z†x…x…w‡z‡{‡z†y…x…v…v…u…w…y†y‡w‡w†x†y…|„~‚€‚€€…z…z…z…y…y…y…y†z†z†z†z…y…y…y…y…y…y…y…y…z…z…z†{…|…{…|…|…z…|„‚‚{…y…y„w„v…y…{…{…x…w†wˆy‡z…{„zƒy„x„v…v…w…x‡x‡x‡y‡y†y„}ƒ~‚€‚€€€€†y…|…|…z…z…z…z†z†z†z…z†z†y…y…y…y…y…y…y†z…{„{…}„~ƒ|„}„|„|„‚€€‚|„z„x„w„x…z…|†{…x…x‡xˆz‡z†{…z„y„v„v„x…w†x‡y‡y‡y‡y†zƒ~‚‚€€€€…{‚€ƒ€ƒ~„|„|„}…{…y…y…z†z…z…z„z…z…z…z…{…{„}‚}ƒ~ƒ‚}‚}‚ƒ‚}~ƒ|…y„x„w„x…y…{‡y†y†z‡|ˆ|†z…z…x…y„v„v…x†y†z‡y‡y†x…z…|‚‚‚€€€ƒ‚ƒ„€ƒ€ƒ€ƒƒ…|…{…y…z…z…z…|„|…{†{†{†|„}‚€€€€€€€€‚„}…}ƒ}„}„{†y…x„w„w„w…w†x†y†{‡{…{…{†z…y…x…w„w…w†w†x‡x‡y‡y…z„|‚~‚‚€€‚„„…~‚€‚ƒ~…}…|…{…z…y…z…}„}…|…~„ƒ‚‚~ƒ~‚€€‚~ƒ}…|…|…|†|„z…y…x…w…w…v„u„w…z†|‡|…{…z…{…y„x…x†w†w†u†u‡w‡y†y…z„}~‚€€€ƒ‚ƒ‚€€€‚€ƒ€„„~‡|‡{…{„~„ƒ€‚{„z…|†|„|„|ƒ}ƒ~„~ƒ}„|…|‡{†{†|†z…{…y…x…w…x…w„x…x†y†|‡|†|„{„{„z„w…x…w†w†u‡u‡v†w…x…{„~‚‚€‚€ƒ~‚€ƒ‚€€~€~„~‡}‡|…„ƒ€ƒƒ}„~„}ƒzƒz„{„z…|„{…y‡y‡x†y†{†y†z…z…y…x…x…x…y…z„z„{†}…|„|ƒ|„{„z„y†x†x†vˆv†v†v„vƒ{ƒ~‚‚‚‚}ƒ~~ƒƒ€€€€~€€€€‚„€Œ|}~‹~‹Ž~Ž}Ž|ˆ|ƒz„y…y„y„x‡w‡w‡y‡{†z†{…{…y…w…w…w…x…x†z…{†|…}ƒ}ƒ}…|„{ƒz…{„{„z‡x†x…wƒv€{ƒ‚‚‚‚~ƒ}~‚~€€€€€€‚€ƒ€ƒ€ƒ…€‡}„}„|†}…‡}Š{ˆ}Š~Œ~‚x…w†v‡v‡v†vˆvˆy‡{†z†z…z…y„v…t…v…w…y‡z…{†}…~…|„~…„‹…†“ˆ•‰–‰•ˆ–‡•†“„Ž‚‰ƒƒ€‚~‚~ƒ}~~~~‚~„~…~…~„ƒ……|ƒ|„z„x„{…y…x…|ˆ~‰|u‡t‡uˆvˆu‡vˆv‰y†{†{…z…z…x…z„z…y‡y‡yˆz†{†~†……‚‰…—†˜†•ˆ’Š‘‹‹Ž‹ŽŒ‹’‰…ƒ€‚€~}ƒ|…€~~€~‚~ƒ}ƒ~…}…}…}†€ƒ‡~ˆ{……}‡y‡x‡w…x€€„ˆ|ƒ€v†sˆt‡t‡u‡uˆv‰y‡y†z…y„z„z…{…{†yˆyˆz‰z‡|‡~…~„€†„‡ƒ}ƒ{„{†zˆyŠy‰y‹xŒyŒy‰}†ˆ‚}ƒ|…ƒ~}~€€‚‚‚‚‚‚‚€ƒ~†‚†{‡{„‚†€ˆxˆxˆx†z€‚„‰}…x…s‡sˆt‡t‡uˆvˆx‡w†x„yƒy„z„z…z‡yˆyˆzˆ|‡~…~„‚‚††‡‰}‰~‡‡}ˆ{ˆzˆz‰z‹zz‰{‚‰~ƒ~~‚|…z…„}„€ƒ…~‡z‡z‡|‡|†€€„‚‚…|…|…†~‡z‡z‡|†|ƒƒƒ‰|‡~}‚y†y†uˆuˆt‡u‡w†x…x…y„y„yƒz…y‡x‡xˆy‡|†~‡~š–ƒ†‡„ŠzŠ}…‰|ŠzŠ{‰{Š{Šz‹z‹y„‡~•|¤{w‚sƒ€„~…‚ƒ…†|†{†|‡~†„ƒˆ€Š}Š}‰}‰}‰}‰~‡ˆ~‡€†‰~‹}‡€‚‚„x‡xˆx‡w‡v†x…x†x†y„y„z…y†w‡xˆzˆ{†|Š|®}³ƒ”ˆ†‰{ˆ|‡ˆ|ˆ{‰}ˆ~‰~‰}ˆ|‰{…ˆ~¢{´uo€m‚‚ƒƒ‚ƒƒ‚ƒ~ƒ~ƒ†|{Ž|}}Œ}Œ}‹}‹}Œ~Ž}zy{}|Œ|Ž|Ž{Š{€€y„y…{…{…{„{†zˆyˆx†x†tƒpp†}„”ˆ™‰–ˆ–ˆ–ˆ–ˆ—‡š‡šˆ˜‰˜ˆ™ˆœ‰œ‚—rˆj€k€k€„€„…€„€„€„~„~„~„‡}‹†‡ˆ€‰}‰~‰~ˆ~‰Š~Œ||‘{‘z‘zŽ{}|‘{y‘y|ƒ‚‚‚€‚‚‚„…}„|„x†uƒs~€€…¡…»ƒ¿„¿…·ˆ·†¼„À„À…¼‡¶„¼„Ã…¿~¼oll€k€‡}†‡€†€ˆˆˆ~ˆ~‡~ˆ~…~Šƒ„†€††€††ˆŒ|‡|€|}~~}„}‡~…~}~~‡~Š€„ƒƒ„ƒ„„€„€ƒ€ƒƒ‚‚‚ƒ†„¡~ÀyËuÑtÔuÕtÖs×sÖtÔuÔuÕxÎyÄ|°€€|u‰{ˆ}ˆˆ€ˆˆˆ~ˆ~ˆ~‡…ƒ‚„ƒƒ‚ƒ‚„„…ƒ‡€Œ|†||{}|~†{‰z…z}|{€~ƒ~Š~†„€„„ƒƒ‚€ƒ€ƒ€ƒƒ€ƒƒ„›‚Œ{œy§{¨z¬y¬x©yªy¤z›}’}ƒ~‹œ†€…‡‰{‰{‰}ˆˆ~‡ˆˆ~ˆ}…„€„„ƒ„„‚‚ƒ‚„†€‹|‡|†|†~‡~ˆ|ˆxˆx„|……~‡}‰}‡~…€„€ƒƒƒƒ‚€€€€ƒ‘|º}¢}~‡…€‚‚€‹Š†}œy·|®„…€†‰|‰|‰{‰{‰}‡‡€ˆ€ˆ~…ƒ€„€††~„‚‚ƒ†Š|†|‡|‰|‰}ˆ{Šz‹z‰~…‚…‡}‰}ˆ~„„ƒ€ƒƒƒ‚€€€€‚€uÆsÑuÊx»wÁx¼|š‰‰| yÂxÅuÃrÒrÒx±€‚€ƒ‰~‰}‰|‰|‰}ˆ~‡€†€‡…ƒ€ƒ€‚€ƒ„ˆ€…‚ƒˆ~Š{†|†|†|‡|‡|ˆ}Š|‡~‚„‚…~ˆ}ˆ}†~†ƒ€‚ƒ‚ƒ‚‚€ŒvÅrÐsÏsÈwº}¨—~~–z¬w¿rÍqÑrÎy¯€ˆ€ŠŠ}‰}‰}‰}‰~‡†„‚€‚€‚‚ƒ€ƒ€……‚‰|’y‘yyyzŽz‹|Œ}|Š}Š|Œ|Œ|Œ{Œz‹zˆ{†}‚‚‚‚‚€ˆvÁsÑsÑu½}„‚ƒ€ƒ€€…{‘t¿sÒsÐy­‚‚~‚„ˆ€‰~‰}‰}‰}Š}‰~†ƒ€€‚€‚€‚‚‚€‚„Š|“x–w•w”v”v”wy‘y’y’y“y”x“y“y”y“y’y‘yŠ~„‚„‚ƒ‚‚€ƒ|­y¹x¶y¡€€†‡€‰€‰€„~{Ÿy­y±}œ‡€Š‚ƒ†ˆ€ˆˆ}‰}‹}Œ}‰~ƒ€‚€ƒ€‚€‚€ƒ‚€„€‹}Š|Š}ŽyxxŽy{{{zŽ{Œ{Œ|Œ{Œ{Ž{{{Œ|‡†€„€‚‚‚‚‡ˆˆ†~‚~‚~€‚‚~ƒ}„‚„‚ƒ€ƒ}„€ƒ„‚‡ˆ~‰}Š}‹}Š~…€ƒ„€ƒƒ€ƒƒ€…Š}}ƒ†Œ{Œz‹{‹|‹|‹|‹{Œ|Š}Š|Š|Œ{Œ{Œ{ŒzŠ|ˆ}ˆ~‡…€ƒƒ‚‚€€€€€€€€€€€€€€€€€€€€€‚‚ˆ†€„‚|†|„‚†€ˆ‰~‰}Š}Š~‡ƒ€„€ƒ€ƒ€ƒ€ƒƒ…€†}~ƒ‚ƒˆ~‰|‰{Š{Š}Š~Š|Œ{Š{ˆ{‰|‹{‹{‹{ŒzŠz‰|ˆ~‰~ˆ~‡…€ƒ‚ƒ€„€„€„ƒƒƒ„ƒ€„€ƒ€€‚ˆ‰‡}’}‰~‚ƒ‡€ˆ‰}Š}‹~Š~‰~ˆ~†…€„€…€…€„€…~„ƒ‚…ˆ~ˆ|Š|Š~…ˆ~‹{‹{‰{ˆ|ˆ|‡|ˆ{‰zŠz‰}ˆ}‡‡ˆˆ„€„€†€†€††~†~†~†……„€‚€€…†€‡~{„~ƒ}ƒ~ƒ„ˆ€‰Š}‹}Œ|Œ|‹}‰~‡†€†€†€„€ƒ„„ƒ…‡‰|‰}‡„€†}‰|Š|‰|ˆ|‡{‡{†{‡z‰{ˆ~ˆ}†„‡ˆ…€‚‚‚‚‚‚‚€‚‚€€‚‚€‚ƒ‚‚ƒ„u„}„ƒ}ƒƒ†‚‰€Š~Š}‹}‹|‹}Š}‰‡€†€†€„€ƒ€„€ƒƒ…€‡~‰|‰}ˆ~‰|ˆ{‰zŠ|‰{‰{‹{‹z‰{‰|‰}ˆ~ˆ~††ˆˆ†…€„€„ƒ€€‚‚‚‚€‚‚€ƒ‚‚p{ƒ€‚‚~‚‚‚‡€‰~‰}Š}Š|‹|‹}‹}‰†…€„€ƒ€ƒ€‚€‚€†~Š}||Ž|zxx‘x‘x’x“x“x”w”w’y’yzˆ~‡‰~‰ˆ~‡~ˆ‡€†€ƒ‚‚‚‚‚‚‚€‚€‚€‚‚g{m~{}Ž{Œ~‚ƒ‚‡‰~‰}Š}‹|‹}‹}Š~‡~…„€‚€‚‚€…~{’w’w—w—v—u—t—t–u–v–w–w—v˜v˜v˜v—vz‡ˆ‰‰~ˆ~ˆˆˆ‡„€ƒ‚‚‚‚‚‚‚‚‚i}i|q{‡}ˆ~‚ƒ…‡‰~Š~‰}Š}‹}‹}‰}‡~„€€€‚‚„€z“w“w”w“y‘y‘zzzŽ{{{{{z‘z’z{‡€„ˆˆ~ˆ~ˆ~ˆ~ˆ~‰~ˆ…€ƒ€‚‚ƒ‚ƒ‚„‚ƒ‚k€j}k}w€‚~ƒ}ƒ‚‚‡€‰Š‰}Š}Š}‹}Š|Š}…‚€…€ƒ€‡Œ}‹~Š‰‰‰~ˆ}ˆ~‡€†††€†€‡ˆ„‡†‡‚ˆ€ˆ‡‡ˆˆˆ~ˆˆ~‰~‰}ˆ}†~ƒ‚‚‚ƒ„€†…mll~s‚„€ƒ}ƒ~ƒ…‰Š‰}Š}Š}Š}Š}Š}†~‚€‚€ƒ€‚€†~…ƒƒ……„ˆƒ„„€ƒ€ƒƒƒƒ‚‚‚ƒ‚„‡„‡„…ƒƒ†ˆ~ˆ†‡€ˆˆˆ~ˆ~‰}ˆ}‡~†ƒƒ…€†€‡€nƒl€i}ny„€ƒ~ƒ|ƒ€‚‡€ŠŠ~Š}Š}Š}Š}Š}ˆ~„ƒ€‚€ƒ‚‚ƒ‡„‡„†‚ƒ‚‚‚‚ƒƒ……€ƒ€‚‚……‡‡‡ƒ„„ˆ~ˆ„ƒ‡€‰~ˆ~‰~ˆ~‡~‡}ˆ~ˆ…€‚€€€€ƒ…€‡‡€k‚k€h{h{k}y€ƒ}‚~‚ƒ‰~Š~Š~Š}‹}Š}Š}Š}ˆ…„ƒ‚€€ƒ„ƒ„„ƒ‚ƒ„‚†‡ˆˆ‚‡‚…€‚€„€ƒ‚ƒ€‡ˆ‡€†€‡€ˆˆ‰~ˆˆ~ˆ~ˆ~ˆ~ˆ~†€ƒ€ƒ€††€k€k~hzfxezs€„~”}‰~‚…Š~‹}Š}Š}‹}‹}‹}Š~Š‡€ƒ€€ƒƒ‚€€€„ƒ‚‚‚€‚€‚‚€‚‚‡ˆ‡‡‡‡‡ˆˆˆ~‰~ˆ~ˆ~ˆ~‰‡ƒ€‚€„€„€ki~fyfweyk}{„€Š~†}ƒ‡€‰~Š}Š}‹~‹}Š}‹}Š}ˆ~„€€€‚‚€‚‚‚€„†€‡€ˆ€ˆ€ˆ€‰†€ƒ€ƒ€‚‚‚‚‚‚‡‰~ˆˆ‡…€ƒ†€‡~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ†ƒ€‚‚ff~fzgxfxhzp}‚€ƒ~ƒ~‚ƒ‚‰Š~Š~Š~Š}‹}‹}Š}‰}†€€„…‚‚„„€„„„„ƒƒ€„€‚€‚ƒƒ‚€‡‰}ˆ~‰ˆ‡€…†‡ˆˆ~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~†~ƒ€€€hh~gzgxgwgxhyv€ƒ€‚}‚€‚ˆ€Š~Š}Š}Š}‹}‹}‹}‹}ˆ~€€€„†€‚€ƒ€‚€‚€ƒ€„€‚€‚‚„‚€‚‚ƒ€‡‰ˆ~‰~‰ˆˆ‡€‡€ˆˆ~ˆ~‰~‰~ˆ~‰~ˆ~ˆ~‡ƒ€‚€‚ih~gzfxgxgzhzrƒ‚~‚‚…€Š~‹}Š}Š}‹}‹{Œ}Œ}ˆ~€€€‚€‚€‚€‚€€‚€‚€‚€‚€„‚„‚ƒ‚ƒ€„‡~‰~‰~Š~Š~‰~‰~ˆ~ˆ‡ˆ}‰~‰~ˆ}ˆ~‰~ˆ~ˆ~‰~‰€…‚‚ih~g|ezg{i|h{o}}ƒ‚€‚~‚€‡Œ~‹}Š}Š}‹{Œ}}Š~€€€‚‚€„…………~……†~‡††‡~…€‡Š…Š‰ŒŽŒ‘Œ•‹˜‹œ‹‹œŒœŒœŠ™ˆ‰ˆ~‰‰~ˆ~‰~‰}‰~ˆ~Š}ˆ€„j€j~j|h|h~h~h~j~u€‚‚‚~‚‚Š~‹}Š}Š}Š}‹}‹}‰~‚€€€ƒ€„€„€…€…€„€„€„€„ƒ€ƒ€ƒ„~‰ˆŠ©ˆ¹‡Á…ŅȃʃȂÉË€ÊÉÊÉ„ºˆ„Š~‰~ˆ~‰}‰}‰~‰~‰}‰~‡l‚kijlƒj„hƒh‚o‚}‚‚‚„ƒ€‚†€Š~Š~Š~‹~Š~‰~ˆ~„€‚‚‚‚‚‚‚‚‚‚‚‚‚‚…|‡›‚Á¹€°©¢Ÿ‚•‚’ƒ’ƒƒŽƒŽƒ…ˆ‚‰‰‰‰~‰~‰}‰}‰~Š~‰~l‡lˆm‰nˆo‡n…l…n…s…|‚€}™}~‚ˆŠ~‰}‰}Š~‰}ˆ}‡~…€„„„ƒ€„€„€„€ƒ€„€„€…€††…~…€}zx€v€v‚v‚x„x‡w‰xˆzˆyˆzˆyˆ~‡ˆ€‰€‰‰~‰}‰}‰~‰~‰~ÑÑÑÑÑÑÑÑÑÑÑÐÏÏÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÎÎÎÏÎÏÏÏÏÏÏÍÈ¿´°¦¢•ƒ|ukoxmijppsfieY^b^]d_X]b`aXSQW\\`ebfUVYXVWVU[XRX_^]YUMC@:<:534?3ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÊÃÇÅËÎÏÎÎÏÎÎÏÏÏÎÎÎÎÎÎÍÍÌÌÍÍÍÍÍÎÎÎÍÍÎÎÎÏÏÏÉ· §›y‚zvcabr}q``olg\[\_`[YWR_h`^UQPSZZ_ijjQT]bZTRNTTZae_XQNLB@97754187ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÃÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÌÍÍÍÍÍÍÎÍÎÎÎÎÏÏÏÎç‹sooronpsv~zaccfg]\]]]]UTV_e]\YVSTWVY]jeRRY^WNNOTS^cca[SIDB>95443202ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÉÌÍÍÍÌÌÌÍÍÌÌËËËËËËÌÌÌËÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͹š{mqwyv€€jie^i[aed\[YWaZUYffVTVYYVQNWR[iTPUXYROTQQ\c`aXUVNH?;86421..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÃÅÃÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÍÌÌËËÊËÌÍÍÍÍÍÎÀ”Žƒ…udm}oejc`bWie[YUUP^b]asn\RQW]WNKVSS\TZ\YWPQSV[_[Y[SRYQJA?@<641.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʽ¾¾ÊÑÐÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÎÎÍÌËÊËÌÌÌÍÌËÉŧŽ|ztkcmsqecd`Z^bVR[UTR[gghjehWRW[UQSWTTYT[^aXTUT[]][YVSPRQJAA@8662/1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɼÂÀÈÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÐÏÎÍÊÈÊÌÌÎÐÍÉÆôŸ|{sgZVdb\_cc^d`WVTNQVZ`bfia]TPQQPNTTTR`OUX[ZY[Z^]]ZURTQSMFEAC=641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ÊÅÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÍÊÌÌÍËÇÅÅÃÇÇËÍÎËÿ¼®“‚}rXTSSPVWnqgcd^[MDBOYS]cb^WURNMLJNLRN[OSWXYX\]\[^ZTQTPWQEFB><51//.ÏÏÎÎÏÏÏÎÏÏÏÐÐÏÏÇ¿ÊÄÆÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÎÍËÉÉÈÉ¿¹Ã¿Ã¿ÆËÉÆ¿¯¡¨’€}v`VZZYfibpjh`XWSQSTbUQ]^UQWXSNJHPQSXXSQY[XVYZWRS]XSYRXXA77321//..ÏÎÓØ×ÐÍÎÎÍËËËÌÍÇÀÊÄÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÆÄÅÂľº®ÁºÁ¹¿ÇÁ¿¹¦‰‡rŠ€e^b\\hoYo`W_UQUU_\YQQUZSQTXXMKMTTS\g]PWZXWWW[UN]]Y]\OE=7541/....ÐÛéïîâÒÍÌÆÂÂÃÆÉÅÁÊÅÂËÍÍÍÍÍÍÎÎÎÎÏÏÎÏÎÎÎÏÌÆý·½»³¥¼µ¿··Ä¸»¶˜…}~plgeddV\d^We\T]_RSTY^VVTPPPNNPTXVRTQQTe\MY]YSPPZ[RYZSQLA9==:72/---.ÜîßÆÐìçÏÁºµµ¹½ÂÅÄËÇÄÊÌÌÍÌÌÌËËÌÌÌÌÌÌÉÉÉÇÆ·®ª°²ª¡¬®·²³»¯­¥„yzxplVbd]ZeZS[iaY_YMQSU^`cWRONNQSOUWLPUPR^]Yb_VQMO[YTZRP[JCB=;;96300..íÔˆmw´ìÚ·±¯°µ¶ÀÆÇÌÉÅÊÍÍÍÎÍËÈËËÌËËÌÊÇÅÂÀµ¤¡¦§š£®®®­«§šˆxnlhmn^YZWbcXW^^YaWRWUSVWb[SUQPSVTSUXTQXQSYaZ`YZ\X^`WUZXTSB?G<977764100äuur’Õ麯­°³µÀÄÇËÉÅËÎÎÎÎÍÇÁÉÌËËËȺ¶¶¹¼® ™‘œŸš–¨³«­¦œž”zjffWidUNIOYcZST^gban_`c_UYQQQPQSXTVTW[TZQQ_`_h[cakiaUQONLKA>A9855654/02Ê€‡yÈì««±±³¼½ÃÉÉÃÉÏÎÎÍËùÆÍËÇźª¢ž§¨ ž˜‹––“§°­¢–’‘ˆvddi\]YQRRQZb`\iobTWdQXrp]SQMNNMJMOOPNPRZUX`XVZYah^\YRKMIHGDIB8555554016¼…Š„~ŒÄëʦ©²²´·¶¿ÊǽÁÊËÌÍËÁµÅÌÉÀµ§Ÿ —š—‘’‡•—‘Ž•šŸ”ŽŒ‹†vvrd[UX\[QX]ZU^j^TS]hgbb]TSNLLKKJIGINLS_]X\WQ[gihV\VNVSIKB@D;864434437=¸ƒ…†ÂçÜÅÁµ¯±¯®¶Ä¼¯³¸º¿¾Ç¾³Àƾ±¢¡šž¢–—‘†ƒ†ƒŒ…ŠŽ‹‡„…„‚{xrbYWWWaZVYXSYhSQQ_ifTT[YTONMKKHGKIKSV]aTZSQntehbb^Ub[TUH=<;97533365;?Ư­‹†’ÂåìíçÊí¤¤«¬¢¡¢¤¥§«½¶ªª® ž™››¢“–‡ƒ†‚‚†ƒ|„ŠŠ†‚~€~wvrjdYS[i]SVUV_]PY[^`[TTSTSNMOQMNQQIELQVbTTO^ddb\fj_TU]ZITG==<:556589ÇÈËÂÁÆÎßëëëëëìêéèèæãÜÖÉ„KOV^ek^lqUGIGNhmicVEmŠˆ‰…{yz|wwpa[]_WWVWX_ZSO_tƒxj`^fTVPMTUNMLHDNVSPSU\kx~}{ƒƒ‚‚„xs\I<9<<::::;>>>=éìêçççèçêëëéæãÞÖÏÊÅÀ¹¯žXIu‹•›žxN?24;ANSax‰ŸŸžœ—•”’’‘‘‘‘‘’”“ŠjB5:9989;?@@?èÝëììììíìììçÜÍÇĽ¹¬¨ LT“¶µ¶¶®¡›ojt\URC556JT_ˆ‚ƒ€xuxzyurlh_WPLYZ[UVY`^YKZa\][[_XMMTPNKLONO‹qrje`]]][ZZZZZ\[\]aaZmo99999;AEEEÎu½íéêééçæÛΨ¢¨£¡•”Œk\Md‹‚´–†¡dWVQI95=nQƒƒ€||rqxz|tkcdWRTHCNWVX[\QMKVY]^V[c`TNNLLQPOLM‰WTZ]aehQ>>==<<>JW[]]_U_@89:<gS958<=BHIDN§ˆ¡žŸ©¤–†zyy|†–›€|m}a9?<;=_\<8<>AAFLQWafn„‚£}MGAZxmdXECIK~w~`”SUPh}wNIHIJIJEDO†“R=;5g”\mW^uxsigjswhZVVTSSPWYPPZ^[X\b_ZPRUPJFLUPGO‡MA?>:axnA;6558<;=aLmL]MRPHIRY][ROIS^zqND=8R_FjE<:eunhggemaVV]XY\SSUSUQ[`]eaXWSPJJHEKV\_i—oGDGE@d„xBB=6565:@BCCB?8D]DB[`WW`kjiI{ìê´qou{|‚‚€Y729II=:978??=?><<>;::8EIGK?99;A949Ailddd__idXQY\^]YTNPYV\dcc\RRVUMF@>DQ_pw[M{[FCG]KCIH=;:;EIKKLKI?>O@GZ\RassnhPo«ÂÉÉÆÇÊÌÐÏÏÐÐÑ¿›€P6ZJ===:898888888999875688=IMBQduztkfgfc_``WY[\WUQQOTZ\WZ\WPRYTQZ^\fYSX\q^InS9:;BDGJKXlmomZB@>=<=BG`ZDFUuvrqjKeˆ¿ÖÝáâáãçææçèçåèܸ[QC<<;989888888898998Ncx„˜Ÿ¦­®¬«ª¨¦§£ž•ŽrZ]VVUVX]TQZ[UOPV]ZYZe|‚†ŒzZi`R~|f`XHJSXXWYZ]]^^\XXTLK_ls‹‹hnorqnniYi©½ÃÎÐÒÓÒÒÑÒÒÒÐα·lK<58976776678777785g£ ¤Ÿœ™’‰†…‡…‡‡ˆŒŽ“˜”zployŠ“‰ˆ‘’‡…‘®–€~€~{}tl§¥svrpgf]Vgtpnnmkjjklnqre]cbgrs\hhitskiqpqswz~€‚‚€‚ƒƒ…ƒƒ oVobB444565568A8675Klnkihheflpjigggggfem‚y{|zxyzyz{~€ƒ‰šª·µª™Šuoq˜¢sb``\ZZXfh^[ZYZZYZ[[_ebZZZ[\YPTejvsuwsqonnpqrtvvuuuuuy}€xhx«·œA13445578:7763}•`pxzxwy~†œ¶ŒŠŒ„€}zrwystvvvwvvvutsssqt{…“¢ª±®ª„„‘k[UYYXXYXXXWWWWWXXXWXXXYYZYXWSKS^`gtzwtqmklmnorsssrrpqt{nOˆ¦¾­šK8866537B?94?—prŸ¥­°±®rHG>_¬»¸²±°¢‚bnjijknpruvvvvtsrqqqqqty€‘~scYQTWVXZZYYXXYYYZZZZY[[[ZXZY]XOSUVZX[{ytpmkllmnoqrrqqpomb;g¸ÈÐñ¼‰`TWejE |Cbu‹Y|ÅÞÝßßáÓl`[TY¿æàÙÚÞÛ€jYjedefghloruvxwurrppnopppestatrg}iY\]\Y]^]]]`^Y[[ZUr£‚´oOUZXWWVzzzuqnlkjjkmopqppo`M5=“Ùàïó¸}_`p‰sÔ±[nx^mÌåáááå¿PZb\U³äÞÞÝáÝkoXhhfffeddehknrtvwwwuspnnp\dhUƒÈÁ¶äÆ\KIauSQ\xcONmpDG[Êí×ÔÏxNVZXXXXxyyxwrmjighjlnoooo[>4.Dnt”® ›bnl[óßil“hhW€•š £¦u@V{jYŽÖÒɸ¦‘Icd_kkhfdcbbacdfjosuvwxxuroSP]ShØáÚãó»QAO¯k6x°DK³g:O¸ðÞÕáÈ]QTXWWWWwxxxxwsmjhghijklmnU520/24>ANaYeuÜÌŽ€ž[jPE98:977>Všv]a_OH@8:CLmYjnmkiecbbabbbfkorsvwwvvSFQROœº¿Ú÷‰?=†¿O—èÇP–¯MEsó鶤€hPNR]UVVVrtvwxwvsojgfgghijmM00379AJMQUX_n{‚†‹ª»¾ÄËÆÃÄȨ‚{seZURMK[ihiechjmoqstvvutrokfdceR5604A©ð‰\atyhen‹¡’‰_>ABGSYTIFDVKC;=IORQPA;;=::Q[k™kVbfjnnoomkighgecacT=@JLOTW_mtts‚×ðééèìîîô¿onoodZUQMK_kiigfcfjloqqsuttsrplfcdQ79007x¥uev†Ž‘xVo‘xlQMOSWVQOPSZPLJLRW]a`fkoswy~„|ˆknsljsihlnnkgfeeeccR8?KMOSW`lnnnåòìêëïññ÷ÁlmkldZTQOMallljhadgilnoqrsttsrojfeR6:0/14>A<>FA;9;A^‘up`__]\\]^^^]eƒy‡–¡¨­°°°±²±²±°¯¯¯±²¯xfdfikjhgecbabP4?LORTWajf`_h¥ÆÊÈÉÁ½º¸ˆOMVfe\URPKq{romk†]egilmoqsttsrqpjhQ4:///038<=>ACDIa[XbpZ\[[ZZZZZYZ~Ž­«§¢œ—Š…‚}|{{z|†Ž•zipfeeghhhdbacO1?KNSnrd_RB../8BMENFAB508IQa~˜bLFžÉ›sklÅ}_ehjkmoorsrrrrokP1;10.,--....013AqTqrVYYZZYZYYXa•s‚xog`[XUSQYTQPOOOOPPRTXfvheccdggfebcN.>HEaÒ¦gVPMLOMLTcU]XUXSOJWVZ›ç…D@‡ÐÖ¾‘qËÁt^egikmmoprqrqpnQ0;37OA62/.,+,,*=xŽˆwab\YZZ[ZZXjUNJHHGGHIIIXMCDCBABA@@?>?SjieaacdggdeN*>AAA@@AA>7@agaoŠaBCZ¦ÊÖ»ÀÏ´c]cfiklmmpqppngK0:40@MKE::.,.10Ox•‚š‡_[\\\\[€X?==;:999:955679;98777878;>[mjgcccdfgjP)9?>CV^`hpjVNMPY[]__`a_`msphYMDABXhf}¢Ê¯ÅÑŸ]^ehhjlmnoonlbK262259;:52169;>QuŒ{ÔÞÍ‹^``a_m‡D==@@@BDEB>_U<;<<:7778887=?JhlkieccdfiQ(7879?FOZ_eebaa``_][YXUVVSLE>:69=Wmjgfy·ÈÏ[aegikllmnnlgY@52233211001133?n|d•èàãØ|fjmlŽu===BCCA@A?@’u=BA?76766766;B@]mlmkgdcceR(73G:***+*()++**))&((&&$#*.'&,G[@VmkjjgU“¾ÊÈu[behjklmnomjcXQNMPQOOOONPRVVL`eKvæÄÎó¡hvvwžX><57:988<==IPKKWP344566647A?NjlkmkieccO'65MV>32=93.,+**)*+,07?HR`i;"2DH?TkjkkkZ|±Âαe^dfhkmmnonmjfca`a`^]]\^_aehXQNKNxq¤ê–y›¥›CA948<;98<=;?>>=<::::;;;>BEILMQ;%)18Oghijj\_‚¼ÆÏŸaaegiklmnnnmkjhhfc`^^^^`acgYFIIIKTh„»Á§†=99>s…‚V=;200124>HKPX`]\S<4=AB[U553Cfd\OB<;;>@BDHJGDB?@ACDEDAAGMQV\^^_\]jomjd`fZRMg¬Á̼k\`cehiklmnnmmmlhea`_^^`bZ@BGGPYU><<@€Œ@?@G^CEMKDBA600125DHTI[g`WM@49??P\iDA@@@??<87546?AF=LQLHFB9:;9>>59CZggfeccbcba```cfhiid`^\\\]_^\[[]chjlmoqrrrrnqdRMRŽ¾ÅÑ—]ceghikklmnnnmljhda__^`X8BIGJNG7TL:D>;9D@7987677;?B?<<=;8787789;EKIF>;\cdijgggghhgggfca``beilkhc`^]^_a`_]\]`fjlmnoqrqlox]PO[¢ÁËÌ]dfgikkllnnnmmljgc`_^`V3@IGP^^TRo˜’PJ58999::;;<=@DFBCCB@BCBBBBB@BC>`ODihgggfgggghhhhfdba`beikljfb__^_`__^\\_cgjmnoqqspphXQNk±ÃÐÄu`efhjklmmnnonmkjfb_^_U2>HE‰È¯cWœÇ™S‚YABHJLORVZ[]cghgghgghijlllkhqc~Ffgefgggggfgghiihfdbaadhkljiea`___``]\]^afjlnooqnnodTVjŒ¾ÉÓ¸l`dehjkllmnnnmmkieb__T3FOy˜|XZ”x^‹€oelb][YWVUTSRONNNMMNLLNOOPSUSX^qt¹×“dfffgfefghiiiiheba`aeimmljhfcaaba`][\\^cgjrsrqneSNM]ªÆÍÓŒ[adefhijjkklmmkifdbU-48AEFKVdPhzks`VOQOLIGFEDDDCBAA@@ABAAABCCEDDEFOm¦³›gccdgfeeffhhihhgeca_acimnnliedbb`_\[[\[\_drssuuwiUOKt¿ÊÒÃm_ceghiiikkkmmkihe[L-4456423PZh€nTEEDCCB??=<<<<<;;:::;;;;;;<<>??>>AUnfbegecdddddeggggggfeda_^bikmmkhfdb_\[[[[[[\]qommlnj]RMPœÇËÕ¡]adfhhhhjjkllkhfaSC+2194337E[’{aF?>>===<;:99999977888888899;=:9;?=AWeedŠvcdcccddfffeffffedb__cgkmligdb^\[ZZYZ[[[ohehicc`UOKjºÆÐÎx\chhfghiijkkkhfd]F)010.:@AA^xgP>>:889:;:9889:;=A@?>???>?>>DYx}u„“v>Tgdedbbccccddeeeeefggfeb`_adhkjhfc_][[[ZZ[[[kghhrnjdUNNN‰ÃÇÕ²baefegghiijjjjhgbS6-,,-,((:\_[\ƒŒyq…|[HEFFDEHHO‚]JHKJIGLK]µØëá´»Ú¯5Lgeehjndbccccdeeeefgggedb`__bikjjgb_[\\[[Z[[nmiirqsjUNNLZ¨ÅÌÔ–badffghiijjjjigc]K412310/:ROF†êº»ÇíëÞ¯OLQX^ao€Ž€‡‰ubb_PApêðÖÉØåõ”3Jgfg²ÛÜ­hbccddeffffggggfdc`__dikllid^[\]]\\\krljqptrh]PNLv¹ÆÑËu]dfffgiijjkkjhebYRPPOPPPEK?8uêçáÍÎßõÁX=EJIEwš’‘’…f0322;gÆÛÛÖ˯Z4GhfcƒÊÍÂ}_bbdeeffgghhghhhfcb``bgjmkid^]]^^]\txpnqqrppr\NLQ•ÄÈÖ²bbfffgiijjkkjihd_\[[XXYXJK65S¨ÜÞÜÙЫvq@3001V”™›…S;<=AW†rfh`UH;72Dhffehiedcbbdeeffggggffghhfec`_`dikkic___^]\tqlkopmllneNKLc°ÄË×^efggijjkkkkkjgda`_]\ZZLM55?IR^s¿§kµöóòñîîïïëéó¸W©³ˆnZMF><8:Ihhffeeecb__bacefffffggggghhhfda^_`dhlmljg`_hlmjpqnnrrtmTLPQ^ªÄÊÔ•`cfhijjklmllljjjhfc`^NP76=:?AJR\rŒ·Æ`«ðëëëëëëìçæò·P­¶‘v`RH=847Jhhggeeed`‹¾Â¯mcefeefghhhggghggda_^aejlmllgcztsqwsmlnmlngMJMKt½ÁÎÏx\beghhijklllkjjjheb`KC:BA7<@HO[u”ÂÖaŸ÷òòòñðòðïíï©V¼¬yWC<2---0GhhghffffcvÍèä¥adeeefffgggfggggfeb_]`eiknnli{tnnkjlmnlePKMMO—ÁÃÖ¯\^begfhhijjjjjjjifdbH8=:21102;BNa‚´l_šŸšž›~rg^CQqFE73;o€G-4Gghhhgfffecnyuqcceeeeeefggfffffhfea_^`dimooluytvwpnjnpomlcXNMJe¸ÁÊÔ€YaefggghiiijjjjhgfeI3=;4/LtzB89J?Pf4668:CC;:;:::fO>N:1aæÍ_-7Hfhgggggfffd```lleeedeefggffffffffdb`^_dimnnpvtvunqkknnmptjSKKP™ÄÇÖ¸dbfghhhhiiijjjjihggKK@<5+wÚðk38KPDshHIJN[YTTTTVs„Zx;31A`?30;GehgghggfefgedkŒ~eeeededffeeeeeeeeeca^\^cimnnuopmmnkillnnojTKKMk¼ÇÐÖ‹_efgihhhiiijjiiihiLRC;91;RrE337uL[Ž|„®…}{…tlnRIb<442/023;Gehgfghgfeffedea_cddddddefeeeeeffeeecb_]^cilpopvtpmopphilkkUKKNP—ÈÈÓ»d`bdgggghhiiiiiiikL,;;<2411686:LBEBILda^VQPcMCELJO=43422323Ddhfffgfffefedcbaaed`deddeeeeefffeefedb_\_dhlnprponqutoilmhXNLMLh½ÇÌÔ‹`efghhihhhhiiiihfJ#8:313333235FHHPQSVWgjOIEB<;8480,*,,---/BdhfffeeeededddddŸ»º’ceddeeeefgffeeeeecb^^_dnmoosvuqumkmlmqfPKMMN–ÉÉÕ¿jefhhhihhhhhhhgbZE#66,,-+*))((*)&&%$#$$$#$$%&&&$'(*('(+*'*=aeddeghijkkkjjhdäéä™bbcccdeffeeddddeeda^\_mqwtpsrorkkkikscNLMMKdºËÍÔ–bfhhhihhhhigdb\WG#44)))(*+-/1/.00001112479:;:8:ACC-!!%+4A\€’™Ÿ¢¨«««««««ª©£¿ÎͲhabbccdeddddcddeedb`][qwwrkjlopkjluttgaZNMNQÌËÐÇvehhijihgghhghg^L)43+(&(6::<==<=<;;;:9:;;;;::66642$.Pu•¥­±´²¯­¬ª¨§§¦¦¥¤¤¤¥§§¨©¡uacbbbddccccccddddbb_\lklidbbllt|vvwqjqgQLNTc¶ÉÉتgghijiihfghggf`K.43./,(*)()((((''&&%&%&&&&&%%$#$&l¢²±ª£Ÿ›—’Ž‹…‚}z{zxxxyy}„Š‡hbcccddccccbccdddcbb`rnknmtptlsvuuv~~m_SLLMNƒÇÆÐÒ…cgghhhgffffdb^S<1.-1/)#"! !"!! !"#""##$##%''&%%Z±ž“‡~ysmjifdb``\]]\\]]\\\\]`cnpcbbcedcbccbbbcdcccbb„}€}xx|ylgqxxz~vf^SKKMMW¨ÉÇ×»gcdefeeffffeb^WN:.////--...000011233446787789:;‚“qic`_\ZZZYZ[\^‹bXWUVWVUVUUVUR^ebcdedccdcbcbcdccccc†|vyttlmtpmkqkaccVLKK\b‚¾ÄÍØ_cddefgfeddb_ZUPECBABDEEEEEEEEFFHIGFGKLKJJJHGMpYYVUVVX[\]\I>>cB:C`ghgefecaaQB`ccceeeddccdcccbbcddƒ€zzzsqsfdipzrjmfYMLLX_^ŸÄÅØÁiadddeffddcba]XVQONNNNMNNMOONPSTVWWXYYYXWWVUPkŽTK\floqsrqprS]ebhl^QSJ<;;<<;GwGRefigeefeddedccbbcdd…{†{†z‡z‡{‡{‡{‡z‡z†z†z‡z‡{‡{†z†z†z†z‡z‡z‡y‡z‡z‡z‡z‡z‡z‡z†|„‚ƒ|†v…uƒt…t†t†v‡xˆx‡x†x†x‡y‰{ˆ{†z‡v‡u†w†z‡z‡{‡{‡z‡y‡z†{…~ƒ€‚€ƒ€ƒ€ƒ‡y†z†z†z†z†z†z†z†z†z†z†z†y†y…y…y…y†y†y†y†y†y†y†y†y†y†y†z†{„‚‚|‚yƒu„t„sƒu„u…v†xˆx†x…w…v†yˆzˆz‡z†w†u…v„v…x†y†y†x†w†x†{…}„‚€‚€€…z…z…y†z…y…y…z†z†z…z†z†z…y…y…y…y…y…y†y…y†y…y†y†{…{…z…z†z†z„‚‚‚|ƒv…u…vƒv„v…w…y†z†x…x…w‡z‡{‡z†y…x„v„v„u…w…y†y‡w‡w†x†y…|„~‚€‚€€…z…z…y…y…y…y…y†z†z†z†z…y…y…y…y…y…y…y…y…z…z…z†z…|…|…|…{…z…|„‚‚{…y…y„w„v…y…{…{…x…w†wˆy‡z…{„zƒyƒxƒv„v…w…x‡x‡x‡y‡y†y„}ƒ~‚€‚€€€€†y…|„|„z…z…z…z†z†z†z…z†z†y…y…y…y…y…y…y†z…{„{„}„~ƒ|„|„|„|„‚€€‚|„z„x„w„x…z…|†{…x…x‡xˆz‡z†{…z„y„v„v„x…w†x‡x‡y†y†y…zƒ~‚‚€€€…{‚€ƒ€ƒ~„|„|„}…{…y…y…z†z…z…z„z…z…z…z…{…{„}‚}ƒ~ƒ‚}‚}‚ƒ‚}~ƒ|…y„x„w„x…y…{‡y†y†z‡|ˆ|†z…z…x…y„v„v…x†y†z‡y‡y†x…z…|ƒ‚‚€€ƒ‚ƒ…€ƒ€ƒ€ƒ„…|…{…y…z…z…z…|„|†{†{†|†|„}‚€€€€€€€€‚„}…}ƒ}„}„{†y…x„w„w„w…w†x†y†{‡{…{…{†z…y…x…w„w…w†w†x‡x‡y‡y…z„|‚~‚‚€‚„„…~‚€‚ƒ~…}…|…{…z…y…z…}„}…|…ƒ‚€‚ƒ~ƒ~‚€€‚~ƒ}…|…|…|†|„z…y…x…w…w…v„u„w…z†|‡|…{…z…{…y„x…x†w†w†u†u‡w‡y†y…z„}~‚€€€ƒ‚ƒ‚€€€‚€ƒ€„„~‡|‡z…|„~„~ƒ€ƒ{„z…|†|„|„|ƒ}ƒ~ƒ~ƒ}„|…|‡{†{†|†z…{…y…x…w…x…w„x…x†y†|‡|†|„{„{„z„w…x…w†w†u‡u‡v†w…x…{„~‚‚€‚€ƒ~‚€ƒ‚€€~€~„~†~†}„ƒ€ƒ~„{…}…{„z„z„{„z…|„{…y‡y‡x†y†{†y†z…z…y…x…x…x…y…z„z„{†}…|„|ƒ|„{„z„y†x†x†vˆv†v†v„vƒ{ƒ~‚‚‚‚}ƒ~~ƒƒ€€€€~€€€€‚ƒŠ~Œ}~Š~‹€Œ~Œ~Ž}}‰~|ƒz„x…y„y„x‡w‡w‡y‡{†z†{…{…y…w…w…w…x…x†z…{†|…}ƒ}ƒ~…|„z„y…y…y…x‡x†w…vƒvz‚~ƒ‚‚‚‚~ƒ}}~€€€€€€‚€‚€ƒƒƒ€‰}†}…|†}†ˆ‰|Š|Š~~‚€x„v†w‡v‡v†vˆvˆy‡{†z†z…z…y„v…t…v…w…y‡z…{†}…~…|„|…†ƒŠƒ…††……„ƒ‹ƒˆ„‚€‚~‚~ƒ}}~~~‚~„~…~…~„~„„€…|ƒ}ƒ{„x„z…z†x…{‡~‰}„v†t‡uˆvˆu‡vˆv‰y†{†{…z„z…x…z„z…y‡y‡yˆz†{†~†…~„€…„“‡‡›ˆ™‹–Œ•‹•‹•Œ•‹—Š“††€€~}ƒ|…‚~~~€~‚~‚}ƒ~„}†}…}†~……ˆ{†~…}†y†x†x†w~ƒ€ˆ|…~x…sˆt‡t‡u‡uˆv‰y‡y†z…y„z„z…{…{†yˆyˆz‰zˆ|‡~…~„€…ƒˆƒ‚ƒ}ƒ|…{‡zŠyŠyŠy‹xŒz‹{ˆ‡€„€}ƒ|…„}~€€‚‚‚‚ƒ~…€„…}ˆ{……ƒ‡yˆxˆw‡x€‚ˆ}†{„s‡tˆt‡t‡uˆvˆx‡w†x„yƒy„z„z…z‡yˆyˆzˆ|†~…~„€ƒ…ˆˆˆ|‡~‡~ˆ|ˆzˆz‰zŠzŒzŒy……€ˆ~~|…z…ƒ~…ƒ…~‡z‡y‡{ˆ|‡€„ƒ…|†{…†€‡z‡y‡{‡|…‰}ˆ}~w†w‡uˆuˆt‡u‡w†x…x…y„y„yƒz…y‡x‡xˆy‡|†~„‘††‡Š|‹{†€†Š{Š{‰z‰{‰{Šz‹z‡}—z’wƒsƒ„~„‚ƒ…€†~†|†|†~…~„ƒ…‰~ˆ}ˆ}ˆ~ˆ|ˆ}‡~‡~†€„‚ˆ~‹}‡ƒƒx‡w‰wˆv‡v†x…x†x†y„y„z…y‡w‡xˆzˆ{‡{„} }¹›‡‹‰|‰{‡~ˆ}ŠyŠ{‰|‰}Š|‰{‰zˆ}€—}µx¦om‚‚‚ƒƒ‚ƒ€‚€‚€ƒ~ƒ~ƒ…Š}{{}Œ|Œ||‹}‹}Œ~Œ~|{Ž|Œ~ˆ„€†€†…€~ƒy„y…{…{…{„{…{ˆyˆx†w†tƒp~o†|™•‡•‰‰‡Ž‡‡‡“†“‡“ˆ’ˆ“‡“‰•…—y‘m…j€l„€„„€„€„„~„~…}„†~‹~‰„‰Š}Š~‰}‰~‰~‹~Œ}|’z“y”y’z’{“z”z”x•y{„‚€‚‚„…}„|„x†uƒr~}…Ž†®†µ…º‡³Š¯‰³‡¸†¹‡¸‰³ˆ²†½ˆº…¸vŸkk€j€‡~††€†€ˆˆˆ~ˆ~‡~ˆ~‡€Š‚†‡‡~‡~†€†€‡‹}‹|‡|„}ƒ}†|ˆˆ„}‚}‚~ˆ}Š„ƒƒ„ƒ„„€ƒ€ƒ€ƒƒ‚‚‚ƒ„•€¾{ÌxÐvÒxÑwÒuÔuÕuÔwÑwÓwÔyÍ|Ä€£€ƒ{€u‰{ˆ}ˆˆ€ˆˆˆˆ}ˆ~‡†€€ƒ„ƒƒ‚ƒ‚„ƒ…ƒ‡€‹}‡||y}y}‚|‰z‡{|{~{~‰‡„€„„ƒƒ‚€ƒ€ƒ€ƒƒ€„ƒƒ„›‚‹~”{¡w²x·wºv¼u¹v¸w·w¯z¢{’~‡€š…ˆ…€‡‰{‰{‰}ˆ~ˆ~‡€ˆˆ~ˆ}†„€ƒ‚„ƒ„‚ƒ‚‚ƒ‚……Š}ˆ|…|‚~„~†}‰y‡x‚{‚‚„}ˆ}ˆ~„€„€‚‚ƒƒ‚€€€€‚‚ƒ€¯¡‡~€„€€€ƒ„‚ƒ€„|€„}˜zµ‚…~†‰|‰|‰{‰{‰}‡‡€ˆ€ˆ~†ƒ€„€†€†…€‚ƒ„€Š|ˆ|‡|ˆ|‰}Š|‰y‹xŠ{ˆ†€‡}‰}‰~„ƒ€‚€‚ƒƒ‚€€€€€€‚‚yµtÎuÇx²y®y¸{ €†€ˆŒ{®z¾z±vÂsÐtÉ~‚~ƒ‰~‰}‰|‰|‰}ˆ~‡€†€‡€†ƒ€ƒ€ƒ€„€‚ƒ†…ƒ…Š|†|…|†|‡|‡|ˆ|Š|‰}ƒƒƒ…~‡}‰}†…ƒ€‚ƒ‚ƒ‚€‚€y²rÐrÐsÎuÆyº}©~”~—z¬wÁsÊqÒqÐuÅ~Žˆ€ŠŠ}‰}‰}‰}‰~‡†…‚€‚€‚ƒ€„††ƒ†~Ž{Œ{‹{‹{‹|Š|ˆ|‹}Š}‡…€‡‰}Š}ˆ|ˆ|†~„‚‚‚‚‚y­sÐrÑsËy©„€‚€‚}’v²rÑsÒuÄ~Ž~‚„ˆ€‰~‰}‰}‰}Š}ˆ~†~„€‚€‚€‚‚‚‚‚ƒ‚‡~’x—w–v•v•v•wy{‘zzy‘y‘y‘y‘y‘yyy‰}„ƒ‚ƒ‚‚} xÆw¿v»~ˆ‚‚„€ˆ€‰Š€ˆ€~{x½w¹z¶Œ€Š‚ƒ†‡€ˆˆ}‰}‹}Œ}‰~„€‚€‚€‚€‚€‚€‚€ƒŠ~Žzz‘x’ww‘wz’z’z‘y‘z‘z{z{‘{‘zz{‰†„‚‚‚‚‡“~~~ƒ~‚~€‚€ƒƒ~‚ƒ}‹}†€‡‚‚‚ƒ€ƒ}„€ƒ„‚‡ˆ~‰}Š}‹}Š}†‚„€ƒƒƒ€ƒ€„€Š}†‚‡~ŽzŽzzŒ|Œ|Œ|Œ{Œ|Š|Š}‹|‹{Œ{Œ{Œz‹{‰}ˆ~‡~…€ƒƒ‚‚€‚€‚€€€€€€€…€†€„‚|…|„‚†€ˆ‰~‰}Š}Š}ˆ‚€‚ƒ€ƒ€ƒ€ƒƒ„€ˆ}‚€}ƒƒ‰~Š|Š{Š|Š|Š}Š{Œ{‹|‰|‰|‹{Œ{Œ{ŒzŒz‰|ˆ~‰}ˆ~†…€„‚‚‚ƒƒ€‚‚‚‚ƒ‚€ƒ€€€€‚†€‰†}’}‰~‚ƒ‡€ˆ‰~Š}‹}Š~‡‡†…€„€„€…€„€…~„‚…€ˆ~ˆ|‰{Š{ˆˆ~‹{‹{‰{ˆ|‰|‰|‰|‹{‹z‰{ˆ}ˆ~ˆ~ˆ~ˆ…€ƒ€†€‡€‡†††‡‡……ƒ€€€€„†€‡~|„~„}ƒ~‚ƒˆ€ˆŠ}‹}Œ}‹}‹}ˆ~†€†€†€†€…€„~……€ƒ„‡ˆ}‰|Š~„„€‰|Š{Š{ˆ|‡|‡{‡{‡z‰zŠ}ˆ~ˆ~‡†ˆ‡ƒ€‚‚‚ƒ‚‚€ƒƒƒ€ƒ€‚€‚€‚‚‚‚ƒ…€v„}„ƒ}ƒƒ†‚‰‰~‰}‹}‹}‹}Š}‰‡€†€†€„€ƒ„€„€ƒ„†€ˆ}‰|ˆ~†~†}ˆ{‰{‰|ˆ|ˆ{ˆz‡{†{ˆ|‡}ˆ‡~„…ˆ€‡…€ƒƒƒ‚‚€‚€€‚‚‚‚‚€ƒ‚‚o{ƒ€‚‚~‚‚‚‡€‰~‰}Š}Š|‹|‹}Š}‰†…€„€ƒ€ƒ€ƒ€ƒ€„€‡~Š}Š}‹}|zŒzŒ{Œ{ŒzzzzŽ{Ž|Œ}Œ}‰~‡ˆ~‰ˆ~‡‡†…€ƒ‚€‚‚‚‚‚‚‚‚€‚€‚‚g{m~{}Ž{Œ~‚ƒ‚‡‰~‰}Š}‹|‹}‹}Š~‡~…„€ƒ€ƒ‚€€„‰}Žyy‘y“x”v•u•t•u•v•v–v–v—u—u–w–wzˆˆ‰‰~ˆ~ˆ~ˆˆ†„€ƒ‚‚‚‚‚‚‚‚‚‚‚i}i|r{ˆ}ˆ~‚ƒ…‡‰~Š~‰}Š}Š}‹}‰}†~„€‚€€‚€‚€‹}’v“v—v˜v–v–w•v”w“x”x”x“x“x”w•w–w•wŠ}„ˆˆˆ~ˆ~ˆ~ˆ~ˆ~ˆ…€ƒ€‚‚ƒ‚ƒ‚„‚ƒ‚k€j}j}w€‚~ƒ}ƒ‚‚‡€ŠŠ€‰}Š}Š}‹}Š|Š}†€„€„‚‹}yyyŽ{|Œ|Œ|‹}Š~‹}‹}‹}Š}Š}‹~Š}‹~‡‡ˆˆˆ}ˆ~ˆ~‰~‰}ˆ}†~ƒ‚‚‚ƒ„€†…mll~s‚„€ƒ}ƒ~ƒ…‰Š‰}Š}Š}Š}Š}‹}‡€€„€ƒ€…‰‡†ƒ……†„†…~……„‚„€ƒ€ƒƒ†……‰„†ƒƒ‡ˆˆ†‡€ˆˆ~ˆ~ˆ~‰}ˆ}‡}†ƒƒ…€†€‡€nƒl€i}ny„€ƒ~ƒ|ƒ€‚‡€ŠŠ~Š}Š}Š}Š}Š~ˆ~ƒ‚€‚€€ƒ~„€„€„†‚…ƒ‚‚‚‚ƒ‚ƒ‚‚ƒ…‚‡‚‡‚…„‚ˆˆ„ƒ‡€‰~ˆ~‰~ˆ~‡~‡}ˆ~ˆ…€‚€€€€ƒ…€‡‡€k‚k€h{h{k}y€ƒ}‚~‚ƒ‰~Š~Š~Š}‹}Š}Š}‰}†„€ƒ‚‚€‚€…€‡‡€„ƒ‚ƒ……‡‡€†€…€‚‚„‚…‚„‚‚‡ˆ‡€†€‡€ˆˆ‰~ˆˆ~ˆ~ˆ~ˆ~‡~†€ƒ€ƒ€††€k€k~hzfxezs€„~“}‰~‚…Š~‹}Š}Š}‹}Š}Š}‰~ˆ†€„€‚‚ƒ‚€‚€ƒ„„…………„€‚€‚‚€‚…€ˆ‡ˆ‡‡‡ˆˆˆ~‰~ˆ~ˆ~ˆ~‰‡ƒ€‚€„€„€ki~fyfweyk}{„€‹~‡}‚‡€‰~Š}Š}‹}‹}Š}‹}‹}‰„€€€‚ƒ‚€€ƒ€†€‚€‚€‚€‚€ƒ„€ƒ€‚‚‚€‚‚…€‰~‰‰ˆ…€ƒ†€‡~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ†ƒ€‚‚ff~fzgxfxhzq~‚€ƒ~ƒ~‚ƒ‰Š}Š}Š}Š}‹}‹}Œ}‹}‡‚€€‚‚ƒ‚ƒ€…€†ˆ€‰€‰€ˆ€ˆ€„€ƒ€‚ƒƒ‚…€‰~ˆ~‰ˆ‡€††‡ˆˆ~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~†~ƒ€€€hh~gzgxgwgxhyv€ƒ‚~‚€‚ˆŠ~Š}Š}Š}‹}‹}‹}‹}‰~ƒ€€ƒ‚‡€ƒ‚‚ƒ‚€‚€‚ƒ‚‚€„€„€€‚ƒ‚…‰~ˆ~‰‰ˆ‡‡€‡€ˆ‰~ˆ~‰~‰~ˆ~‰~ˆ~ˆ~‡ƒ€‚€‚ih~gzfxgxgzhzrƒ‚~‚‚…€Š~‹}Š}Š}‹}‹{‹|‹}Š~ƒ€€€„‚€‚€‚€‚€„‚€ƒ„‚„‚‚‚ƒ…€‰~Š}‰~ˆ~ˆ~ˆ~‡‡€…€‡~ˆ~‰~ˆ}ˆ~‰~ˆ~ˆ~‰~‰€„‚‚ih~g|ezg{i|h{o}}ƒ‚€‚~‚€‡Œ~‹}Š}Š}‹{Œ}}Œ~„€€€€‚€ƒƒƒ€ƒ€ƒ€ƒƒ€ƒ„€ƒ€„€…€„ƒ€ƒ€„€†‰ŠŠ~Š‰‰Š‰„€„~‡~ˆ‰~ˆ~‰~‰}‰~ˆ~Š}ˆ€„j€j~i|h|h~h~h~j~u€‚‚‚~‚‚Š~‹}Š}Š}Š}Œ}}‹~„€€‚€„…†††…~……~……€…~…†ˆŠ‡‹Œ‹’—‹›‹ž‹¢Š¤Š£‹¥‰¤‰¢ˆ˜ˆƒ‰~‰~ˆ~‰}‰}‰~‰~‰}‰~‡l‚k‚ijlƒj„hƒh‚o‚}‚‚‚„ƒ€‚†€Š~Š~Š~Š~‹~Š}‰~…€‚ƒ€ƒƒƒƒƒ€‚ƒ€‚‚‚‚€‡€Š¦ˆ½†Ä…Ê„Ë‚Ì‚ËÆʀɀȀȀÈdžŸ‰}‰~‰‰~‰~‰}‰}‰~Š~‰~l‡lˆm‰nˆo‡n…l…n…s…|‚€}š}~‚ˆŠ~‰}‰}Š~‰}ˆ}‡~ƒ€‚‚‚‚‚‚‚‚€‚€ƒ€„€ƒ€ƒ~‡†ƒ¶´€©€¡~š€—‚“‚Š„‹„ˆ„†„‡„‡„‡‡„ˆˆ€‰€‰‰~‰}‰}‰~‰~‰~ÑÑÑÑÑÑÑÑÑÑÑÐÏÏÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÎÎÎÏÎÏÏÏÏÏÏÍÈ¿²°£Ÿ”}vjlvmjjonqeidY^b^]d_W]b``WSQW\\`e`gUVYXVWVU[XRX_^]XUMC?:<:534?4ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÊÃÇÄËÎÏÎÎÏÎÎÏÏÏÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÎÎÎÍÍÎÎÎÏÏÏÉ·¤—u€xsc`aq~q^_mmg[[\^_[YVR_ga^UQPSZY_hjhQT]bZSQMSTZae^WQNKBA98854187ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÃÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎÍÎÎÎÎÏÏÏÎÄ©‰rnlpppstu|x`cbef\\]]]]UTW_e\[YVSTWUX\ieRQX]WNNOTS^cba[SIDB>96443201ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÉÍÍÍÍÌÌÌÍÍÍÌËËËËËËÌÌÌÌÍÎÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͹™ymqxxuhhc_hYbee[ZYVaZUZgfUSUXYUPMVRZiSQUXYROSQQ\c`aXUVNH?<86431..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÃÁÊÐÏÎÎÎÎÎÎÎÎÍÌÍÌÌÌËËËËËËÌÌÍÌÌËËÊËÌÍÍÍÍÌÎÁ”ƒ†tcm|ndhb``XjdZYTTO^b_arn]RQV]WMKVSRZT[\YVPQSV[_[Y[SQXQIA?@<641.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ½½ÉÑÐÏÏÏÏÎÎÎÎÏÏÏÏÏÏÏÍÍÍÍÌÌÍÎÎÍÍËÊËÌÌÌÍÌËÈƨŽ|yrkakrpcad`Y]bVR[UTS[gghjdhVRWZUQSWTTYSZ^aWTUT[\][XUTPQQJ@@?8662/1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɽÅÁÈÐÎÏÏÏÎÎÎÎÏÏÏÎÏÏÏÏÎÍÍÎËÍÎÐÏÎÍÊÈÊÌÌÎÐÌÈÅôŸ}|reWSb`Z^bc_d_XWSMPVZ_beh`\TPPQONTSTR`NUXZZY[Z^]]ZTQTPSMFEAD>641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ËÄÆÎÍÍÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÍÍÍÊÌÌÎËÇÄÅÃÇÇËÍÍÊþ»®’€|rWTSRPVYoqhdd_[NDBNZR\ca]WURNMLJNLRNYOSWXXX\][[^ZTPSOWQDEA><40///ÏÏÎÎÏÏÏÎÏÏÏÐÐÏÏÇ¿ÊÄÅÍÎÎÎÎÎÎÎÎÏÎÎÏÏÏÏÏÏÎÍËÉÉÈÉÂÀ¹Ã¿Ã¾ÅËÈž®¥‘€~waWZZZfiapjg`WVTRUVbUP\_UPWXTNJHPQTYXSQY[XVXYWRR\XSYSXWA66321//..ÏÎÓ×ÖÐÍÎÎÍËËËÌÍÇÀÊÄÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÆÄÄÁĽ»®ÁºÁ¹¿ÈÁ¾¸¥‡„~r‰~f_b[\hnYo_W_UQUU^\XPQTYSQSXWNLMTSS[g^OVYXWWW[VM\\Y]]OE=7541/....ÐÜêïïãÔÍÌÇÂÂÃÆÉÅÁÊÅÂÊÌÍÍÍÍÍÎÎÎÎÏÎÎÎÎÎÎÎÌÆüµ¼º´¤½µ¿··Ã¸»´–„}~pjeeddV[d]Wd\T]`RRTY^WVTPPONMPTYWRTQQSd[MZ]YROOZZRXYROKA9==:72/---.ÝîÒ¬·ãêÑÁ»¶µº½ÂÅÄÊÇÃÊÌÍÍÌÌÌËËÌÌÌËÌËÉÉÉÆÆÀµ­©¯²«¡­®·²³¹®­¤„wxvolUae\ZeZS\i`Y_XMQSU]abVROONQSOWWLPUPS^]Yb^VQMO[YTZQQZICB=;;9630/..îË}jo¡äÞ¸²¯°µ¶ÀÆÇÌÊÅËÎÍÍÎÍËÈËËÌËÌËÊÇÄÂÀ³£ ›¥§›£®­­¬ª¨šˆxnkelm]WXVacXW\]YaXSXVTVVbZSUQPSVTTUXTQYPSYaZaY[\X^aWUZXTRB?G<977763100âŒxyuË軯­°³µÀÄÇËÉÅËÎÎÎÎÍÈÂÉÌËËËÅû··¹¼¬ ™›ž™–§³«¬£›ž“yifeWhbTLHNXbZSSai`ao]_d_UYPQQPQTXTUTUZTYPQ`__g[caji`UQONLKA>A8855654/02É‚ŠƒzŒÄéÁ¬«±±³¼¼ÃÉÉÃÉÏÎÎÍËúÆÍÌÇĶ¨£Ÿž§§ž˜Š—–“¥®¬¡•’‡udei\]XQTRPYa`\in`RVcQXrp]RQLMNMJMNNONORZUX`WUYYah][XQJMIGGCIB8555554016»…‰„ŠÀéŦ©²²´¸¶¿ÊÇ»ÂËËÌÌËÁµÅÌÉÀµ¤›  —š—Œ†•–“—œ”Ž‹‹…vvrcZUY][QX]YT]i^SR^iha`]USNLLKKJHGHNMT_]X\WQ]ihhW]VNWTJJA@C;864434437=±„†‡Ž¾æØÄ¿´¯±°®¶Ä»¯´º»À½Ç¾³¿Ä»¯¤Ÿ™ž¢–—‘†ƒ†ƒ‹…€‰Š‡„…ƒ‚{yqbYWWW`[VXWSXgRPQ^heTSZXTONMKKHFKIKSV]bTZRQmsehac_U`[WTG==;:7533365;?¯®…¾æìíæÅ¿­¥¤ªª¡¡£¤¥§«¼µ©§ªžœ™œ¢”–ˆ„…ƒ‚†ƒ|ƒŠ‰†~€}wtpjdXTZg\SVVW_\PZ\^_ZTSSTTNLOPMNQQHELPVaSSO_cca[fj^RV^YIUG==<:55658988;<::::;>>>=äìëåææçæêëëéåâÝÕÎÉ¿¶«¦DXs€‹“„K=20477Qeegh]BgŠ„…ƒyuxxvuuh_a]QPZY[_UU`dhc`W]bbUXOLNTNID>BOUU`oˆ˜ŸŸŸžžžœœœžžœ–•ŒxX<99989;?@@?ݼÎîìììíììëåÚËÅý¸ª¨ŽdGq¨¬±µ¯™mX]]RQJ:6:AUMƒƒ€xuxzyurlh_WPLXY\UVY`^ZLZ`\]Z[`YMMTPNKMONQVƒ‰„~wrnlkhgedegijjotviS89999;AEEE³t†èçèèèåäÖÆ»¤ ¥¢ ”“Ž‡‡U^T¡¨¢š–­²„™‹VZRF:64\Zi…„||rpxz|tjcdVRTHBMWVX[\QMLVY]]V[d`TNNKLQPOMIYSTTVWXYIEDDCCCEPVVWWXN\?89:<B=JROPQPPQHaw`:DœXzƒzwvruorwrkh`SWYWZ[b]WHHTZ`Z\[YXY^WQIEDB@AB@?}i}¬´³¯®«‹M=7BLPVXKB>=>idC78;<=CJMKŒžÁ¿¹±ÄÉÈÆÃÃÅÆÈËÊ­€|{ƒ^F55f`GPNNMOQQJXzb>:S‡mh‚}xvvvlnunjhbS]l^WTZ]ZRRW[^c`[Y^\XQKFBA@@=:8B‘c^gtaVLIUUH=HMQVO;9:;;GkG88<=BIHEOÇv£¤ž£ƒh_YWURRUZfƒzy`…>:;;DQPKPz‚F60[‰_‚yxzwnlpkiee_fqe[OR\]WTU[Za[Y]f]QKFCAACCA?=_–ZKG=467?TTOJKOOOE;<<;;@gP=<=@FKKEY°h‹‰‘šHDESebSWMIHJŽ~xzj~@HFo‹–\G<87;A>>\žD64D”`|‚}||skkknhb]\Y^[PQXXQPV]\[[\__UTPGCAGKE?AF…ˆV@F<7<>;NK;8>LOG@BCC=9>_\B>=@FLQYbXb†ˆœ‡UM?KqoiW@CEE>78SaB=DQPJYbkH\¾Õ°eSPMAIIIHC?=@Ae¦`mjTbQiVLLRXZUQOQZw‰dD><;{Tbf?@AA=96J\D?W^VVljiG^ÇéÄ‚ˆ“˜›ž¢££…84>^M?==?7>A@CIJGED>>=FWOMH9:<=C;::Gmdde``jdXOW\^]YUNPYW]dcc\RRWUMG@>FRYfrx‘NRYMFDXnOCHC6336AGJJKJF:CV@Nj`T^uoiJ_…­ÆÓÑÒÔÖ×ØØØØÙÖ‹Z@0IT=;:;8:97666789:988::=:9=H93BRnm_\abbaa^UY[[WTPQPUZ\WZ]XPSYUR[^]omT_fr}IXˆR>==EBFJJUa`baQBCBA@<FLLKLOYabcaSIIEBBRan‰qLUhrpni\ax–³º¾ÆÉÊÈÄÄÄÃÄÆƾ¾›IH9::878777787788897Z•¡¥¨««­ª©ª©©ªª««ª¦š}pos{‹“ˆŠ”•“‹Š“®˜~~z||sgq¥ƒnz{unfVTdkkjnljjjjkmmhX[ijo‚…belsskirppqrtsu{{{z||}~|Ÿ‘VOI7574556557:;6775R£“‹†„€zwvsqqqstuxz…Ž}z{zwxyxxyzz}…Ž˜§´³«Œ~unlv«–qehb]\[Zqneb_^^^^^_bhoe\[[_c\OYjwsvwsqonnprsuwwvuuuuy|~za‰£™K14555556==7668Š‰ahihfhjmx–{xtmkkiheq~stvvwwvvvtuttsrsy‚Žžª°°©z–kYX\YXXY^\YWWWWWWWWXZZYXYYYXWPL]`frywspmklmnorsssrrpqsxw]g ®»J/13333674760R¢lnƒ†„„‡ˆv…zi†Ž‰Š‰„„|vsnhjlnpsuvvwvutrqpppqsv~‹žvzcVTWXXXYXWXWWYYXYYYXXZZZZXYVTUOTVZWY{xtpmkllmnoqrrqqpposJP›Ç·Ó¸gZGLNNAV†AFS€…b³ºÁÈÉѧVC=C|ÑÓÎÉÈÆ£v[peeefghloruvxxvsrppnoqqnnf{qbbaYYYZ\\\ZY[[[[\]]ZZ\\Z_mcv^OUXXWUzzyupnlkjjknopqpqqj]?7vÑÐñôÇŽ`_f“t„Æ^iv’feåàààßäšYdePsÝßÛÖÚâ»l`ajfffeddehknqtuwwvvspnnqo^njY¹–·tQUVb]Z\_g\\YaeNOP¤×µ¾ÈlPTWXXXxyyyvqmjihhilnnoopgI;1=‘œ®ÐÇ«sdid^Áõ^t\f†ÜÖÙÜÞÞzJZcQiÕååãàà¬PqWkjhfdccbbcdehnrtvwxxuqokQZaMÓÛÕôÔeDAl—KAo’m>M¡g9GŒìäáæÌ`SRVWWWwxxxxwrmjhfgijkmmogA50.16?SPsc\moq»çlŠ‹ZfM_^fnrmCGq™\]œ±¡‘}lW>pYfmmkiedbbabbbdjorsvwwwwpKJUNcËÈÒÖîÇS@Gµ‡@¬Ý®=ˆ´PBgéäɼ­‡ORPVVVVrtvwxwvsojfffghikma602469>>=>TkjgccceggfgA,>@@Ssj`eiP<:9=EGHIKLMHFZkle]WIBDZhwÇ«ÄÑ ]^ehhjlmnoonogY49533?DE=6204840021000/.13129]ƒ}y³éàÁu^aaa^|w><>AABDEFBAhU==>>;7788887=?KimmkgeccegC)948126;<=ABB@@@?>;;975220.--,;I>\mjjgRŒ½ÊÈu[behjllmnnmkdTD>>>B@@@@?>@BC@Tyh]ÆäÖê¾ilnoo˜\>;>BBB@?@>F“j;AC>95676766;C@^mlmkiebceC(77]J.()0*&$%$$$#$$%'(-1:IL+%7WX@ZlkkkZw®Âϱe^dfiklmnnnlib^[Y[\[ZZYZ[\_aZRbUGžÖ¬èÞusyzƒ™E@:58:978===JZGIZA444666647A?Pkllkkkga\>(749=A<;B@<964445677;BIR[_d8&*3<34E{g;552112449CEKU[ZXK54A@JhY?CB[g_O;1./024455531//.012330138>@BDFFDHbmhdag[RM`§Á̽l\`cehiklmnnmmmkhda__^^`abLAGGMV^ebrDw“@@<;:C}ƒ}K>;200124?HLPY`]]S;4>AC^R454Dfc^YSONPSWZ\aa][WTTUVWWWUTTV[ahjkmmnppqoklbSNKr·ÂϬb_cegijklmnmmmmjheb__^_`bJ?GEJS]R=<4:?=C>551=efdba``a`__`cfggea^^][\^^^[Z[\bgjklmprrrsnqfRMO‡¼ÄÒ˜\ceghikklmnnnmkjhda_^^_aG=GFGNS?=TLM[K<47?Wgfgfeeeedc``_bfikkhc`^]^^`_^\[]`ehlmnoqrqlox_POW›ÁËÍ]dfgikklmnnnmlljgda_^^`C;GGHKOA7]>@A?8;G>8877777;@B?;;;:777678:AAAAA@@?AA>`EFiggggfggggghhigfcbaadgkljiea`_^_``]\\^aeilmooronoeTVj†¼ÊÓ·jadehjkllmnonmmlieb_^_@6DF[ÁÓ–Se°Å~b~P@CGJMPRUXY\bffefedefhijijhfo`ƒxAgkcfffffggghhhihfebaacgjlmkheca``aa^\\\^bfjlloppoj[PRSÄÇÓ¨a`bdfgijklmmmmlkiea^_?5@GM¢Ý¹[YŽ¹ac“€X_rtvusrrqnljiiiihgfgffgijlqet‡of´‘cfffgfffghhiihgeca`afjmmljgebaaba_][[\_cgjrsrqogUNMX¤ÆÍÓ\adefhjjjlllmmljgca`?/:BGUv€hVc`mŠ~jgja^[YWVUTSQOOOONONNNNOOQUVUZ`sr›fbcdgfeefghihgggeca_acimnnliedbb`_\[\[[]`drsstuwkUPKo¾ÊÒÈp_ceghiijkkklmlkifb_>-7;ABBGV_Osoqo^TOQMKIGFEDEDCABAAABBBAABCCFEEFGQmdbehecdddddegggffgffda__bhkmmkhfdb_][[[[[[\]qommlnj]RNO™ÇËÖ¦]adghhhijjkllkkjh_S9.43530/7UZn~iPEEDCCA?>==<<<<;;;;;;;;;;;<=???>?CYpfdŒvcdcccddeffeffffedb_^bfklkigda^\[ZZZ[[[[ohegicc`UOKh¹ÆÐÎy\chhfghiijkkkjhdZL5,33<278>Je—r^B?>====<::9899888889898889:;<:::=Wgeoquecbbbceeeeefgggedb`_`bikjjgb_[[\[[Z[[nmhirqsjUNNMX§ÅËÔ—bacffghijjjjjige]D/+,,,&&&F]cV]x€hgqdKBCEEFGHGW€UIHIHGFKK\£ÌæÚ°¸×¢4Qhf²äã¯habbddeffffggggfdc`^_dikllid^[\]]\\\krljqptsg\PNLt¸ÅÑÌv\cfffghijjkjiheaW?2476564DPRE£Üµ³ÐéáÌ‹IMRY^`oxŠw|€mba_PCvîîͽÕäõŒ3Ohdz¼Á¼z^abceeffgghhghhhfcb``bgjmkid^]]^^]\txonqrqppr\MLQ’ÄÇÖ³bbffgghijjkjjigd^VRSRQRRQGH?8ðáÙ»¼Û÷¦L?KNMK†š˜”˜c6975:6;MiggffffcvÊãÞ¢adeeefffgggfggggfeb^]`eiknnli{‚tlmkjlmnleQKMMN’ÀÃÖ¬\^begfhhijjjjjjiifda]DC9E@8>CJRazšÊÀT²ùóóòðòóòòðô£ZÆ°^J?6/..0Jihggfffeckrmkcceeeefffggfffffhfea_^`dimooluxtwwonjnpommeZNMJb¶ÁÊÒ~Yaefggghiiijjjihgfc_<;=922115@HVl—º[u«¨§¥«¥š‹~uoIYwKE738Vb;-3Ihhggfffeeeaa`mkdeeeeefggffffffffdb`^`eimnnqwttsmpkknnmptjSKKO•ÄÇÖ¶cbfghhhhiiijjjihhgfb;6>931Pja:8=H;\[14448B?876787bK>N:1bäÔ[,7Ighgffgedefednzeeeeeedffeeeeeeeeeca^\_dilnnuoommokillnnnjTKKMg»ÇÐÖŠ_efgihhhiiijjihhggdAF=:40ŸãÜI6;70Ii{<42?wHk‘xx~Žª…}ƒxw}WSk9331-.23=Jghgfffeeefedcbbbefadeddeeeeefffeeeedb_\_ehlnorponrutoilmhWNLMLc¹ÈÌÕŒaffghhihhhhiiihhig=6=<;2200775;PAFHNPncfTRSfG@BHGN;44432336Gfhfeffeeeeddccf¦ÁÀ—ceddeeeefgffeeeeecb^]`emloosvuqunlmlmqfPKMMMÉÊÕÀkefhhhihhhhiiiiihb<%<9324444349KHKQSV]]tnWTRKEDA?>+"&''&)Aehhknqtttu|}}{xskf^[`babbbddccccccddddba_\lklidabkkt}wuwrkqfQLNS^°ÉÉتgghijiihfghhghdZB%8/)'%)569;;;:99::;;::9:;;;;:::82$"2BQd}— ¦«¯°³²´¶µµµ´´´³­¤•facccddccccbccdddcba`rnkontprksuuvwm_SKLMM|ÅÆÐÒ…cgghhhgfffggfe[A*70.+(')')))())''''&%%&&'&&&&'&&%6W ®²´²°«¨¥¡ Ÿ›™˜———™šž£©¨}abbcedcbccbbbcdcccbb„}€~xx{ylhpyxy}te^SKKMMT¡ÈÇ×»gcdefeeffefeca[J23-/1.'##! ! !!!!!!!!!""""##$#$#?²¯¥ž˜“ŽŠ†‚yvvsrnllkjjkknrx~„kacdedccdcbcbcdccccc†}vytslnuplkqjacbULKK^f¼ÄÌ×_cddeffeeddb`\UF3,...,*+++****+-,,-/00123336687‚©Œˆ}vojecca`^]^][[ZZ[\[[[[]^_fmccceeeddccdcccbbcddƒzz€{spsdciq{skmfYMLLW^Z›ÄÄ×Àiadddefeddcba]WSJAA??ABCDCBBBCCCDDCEFFHHFEFIHEM’}ec_^]ZZZZZZYXa˜YSRRTSRRRQSTRMUffhfeefeddedccbbcdd…{†{†z‡z‡{‡{‡{‡z‡z†z†z‡z‡{‡{†z†z†z†z‡z‡y‡y‡z‡z‡z‡z‡z‡z‡z†|„‚ƒ|†v…tƒt…t†t†v‡xˆx‡x†x†x‡yˆ{ˆ{‡z‡v‡u†w†z‡z‡{‡{‡z‡y‡z†{…~ƒ€‚€ƒ€ƒ€ƒ‡y†z†z†z†z†z†z†z†z†z†z†z†y†y…y…y…y†y†y†y†y†y†y†y†y†y†y†z†z„‚|‚xƒu„t„tƒv„u…v†xˆx†x…w…v†yˆ{ˆz‡z†w†u…v„v…x†y†y†x†w†x†{…}„‚€‚€€…z…z…y†z…y…y…z†z†z…z†z†z…y…y…y…y…y…y†y…y†y…y†y†{…{…z…z†z†z„‚‚‚|‚v…u…vƒv„v…w…y†z†x…x†w‡z‡{‡z†y…x„v„v„u…w…y†y‡w‡w†x†y…|„~‚€‚€€…z…z…y…y…y…y…y†z†z†z†z…y…y…y…y…y…y…y…y…z…z…z†z…|…|…|…{…z…|„‚€‚{…y…y„w„w…y…{…{…x…w†wˆy‡z…{„zƒyƒwƒv„v…x…x‡x‡x‡y‡y†y„}ƒ~‚€‚€€€€†y…|„|„z…z…z…z†z†z†z…z†z†y…y…y…y…y…y…y†z…{„{„}„~ƒ|„|„|„|„‚€€‚|„z„x„w„x…z…|†{…x…x‡yˆz‡z†{…z„y„v„v„x…w†x‡x‡y†z…y…zƒ~‚‚€€€…{‚ƒƒ~„|„|„}…{…y…y…z†z…z…z„z…z…z…{…{…{„}‚}ƒ~ƒ‚}‚~‚ƒ‚}~ƒ|…y„x„w„x…y…z‡y†y†z‡|‡|†z…z…x…y„w„v…x†y†z‡y‡y†x…z…|ƒ‚‚€€€ƒ‚„…ƒ€ƒ€ƒ„…|†{…z…z…z…z…|„|†{†{†|†|„}‚€€€€€€€€‚„}…}ƒ}„}„{†y…x„w„w„w…w†x†y†{†{…{…{†z…y…x…w„w…w†w†x‡x‡y‡y…z„|‚~‚‚€‚„„…‚€‚ƒ~…}…|…{…z…y…z…}„}…|…ƒ‚€‚ƒ~ƒ~‚€€€‚}ƒ}…|…|…|†|…{…y…x…w…w…v„u„w…z†|‡|…{…z…{…y„x…x…w†w†u†u‡w‡y†y„z„}~‚‚€€€ƒ‚ƒ‚€€€‚€ƒ€„„~†|‡z…{„~„‚€ƒz…z…|†|„{„|ƒ}ƒ~„~ƒ}„|…|‡z†{†|†z…{…y…x…w…x…x„x…x†y†|†|†|„{„{„z„w„x…w†w†u‡u‡v†w…x…{„~‚‚€‚€ƒ~‚€ƒ‚€€~€„~…~†ƒ€‚€~„}…{…{…z„z„z„{„z…{„{…y‡y‡x†y†{†y†z…z…y…x…x…x…y…z„z„{…}…|„|ƒ|„{„z„y†x†x†vˆv†v†v„vƒ{ƒ~‚‚‚‚}ƒ~~‚ƒ€€€€~€€€€‚€‚‡€Š~‹~Š~ŠŒ~‹Œ~‹~‰~~‚z„x…y„y„x†w‡w‡y‡{†z†{…{…y…w…w…w…x…x†z…{†|…}ƒ}ƒ~…|…z„x†w…y…w‡w‡v†vƒvz‚ƒ‚‚‚‚~ƒ}~‚~€€€€€€‚€‚€ƒƒ‚Š~ˆ}‡}‡}†ˆ€‰~Š|Š}Ž}†y„v†w‡v‡v†vˆvˆy‡{†z†z…z…y„v…t…v…w…y‡z…{†}…~…|„|…}…€†ˆ‚Š„Š„Œ„ƒŒƒ‰ˆ‚†€„‚€‚~‚~ƒ~}~~~‚~„~…~…~„~…‚…}‚}‚{ƒy„z…{†x†z†}‰}‡}y…t‡uˆvˆu‡vˆv‰y†{†{…z„z…x…z„z…y‡y‡yˆz†{†~†…~„}„‚‹‡žˆž‰Š›Œ›Œ›Œ›‹šŠšŠš†‚€€~}ƒ|…„}~~€~‚~‚~ƒ~„~…}…|†}†„€ˆ{†}„~†z†x†y†w‚|€ˆ|†}{„sˆt‡t‡u‡uˆv‰y‡y†z…y„z„z…{…{†yˆyˆz‰z‡|‡~…~„„†„‡ƒƒƒ~†|‰{Š{Š{‹zŠ{‹|ˆƒ€†€}ƒ|……~~~€‚ƒ€ƒ€ƒƒ‚}………~ˆ{†„„‡zˆxˆw‡wƒ~‚‡~‡~~‚t†t‡t‡t‡uˆvˆx‡w†x„yƒy„z„z…z‡yˆyˆzˆ|‡~…~…‚ƒƒ††„‡|‡}‡~ˆ|ˆzˆz‰zŠz‹zyˆ}‰~€~€|„z…‚ƒ~„„…~‡zˆx‡zˆ|ˆ~‚„„†}‡{†~…‡zˆyˆz‡{ƒ€…ˆ~‰}€v†w‡vˆuˆt‡u‡w†x…x…y„y„yƒz…y‡x‡xˆy‡|†~„‡€‹€†„‡ˆ‚‹{‰~†€‰|Š{‰zˆ{‰{ŠzŒzŠ{‚Š}‹{w…rƒ‚‚~„‚ƒ„€†…}„~…†~…‚ƒƒ‡‡}‡}‡~‡}‡|‡~†~†ƒƒ‡‹}ˆ~ƒ„{†x‰x‡v‡v†x…x†x†y„y„z…y‡x‡xˆzˆ{†{„|’}´¦…‰€Šzˆ}‡Šz‹zŠ{‰|Š|Š{‰zŠxƒ‰|¦{¸ql‚ƒ‚‚ƒ€‚€€‚ƒ€…ˆŽ{||Œ}Œ|Œ|‹}Š}‹~‹Š~Œ|}‰ƒ€€‚„€„„|…y…z„{…{„{„{…z‰yˆy†w†tƒp~lzŸŸ…”ˆŒ‰…‡‡‡ˆ‡†‡‹††‡ŒˆŒ‡ŒˆŒ‡“—v“lƒk€„€„…€„€ƒƒ€„~…~„…~Š}Œ€Š€‹}Š}‰}‰}‰~‹}‹}}z’x“x“z’{‘y“y”x“xz…‚‚‚€‚‚‚„…}„|„x†uƒs€zƒƒ†¡ˆ¬‡²‡¯‰§‹«‰±ˆ³‰²Š¯Šªˆ²ˆ·‰¯¨n„kj€‡}††€†€ˆ€ˆˆ~ˆ~‡~ˆ~ˆ‚ˆ‰‡‡~‡~‡†€‡‰~|Œ|Œ|‹|‹{Š~‹Š}‹}Š|Œ{‹„ƒƒ„ƒ„„€„€ƒƒ„‚ƒ‚ƒ„ˆƒ³~Ê{ÍyÎ{Ë|ÌyÏwÑwÑyÏzÌyÒ{Ð|Ì~º‹|€v‰{ˆ}ˆˆ€ˆˆˆˆ}ˆ~ˆ~‡€‚€…ƒ‚ƒƒ„‚…ƒ†Š~Š|€|z}y~~}ˆ{ˆ|||~|€~ˆ‡„€„„ƒƒ‚€ƒ‚€‚„„ƒ„‘ƒ˜~Ÿ{±uÀtÇuÈsÉsÇsÅuÄuÀv¹y«{™“ƒ”…‡‰z‰{‰}ˆ~ˆ~‡€ˆˆ~ˆ}‡~„€ƒƒƒƒƒ‚ƒ‚‚…„‚‰~Š|„|~~‚}ˆzˆxy~~€~†}‰~…„‚‚ƒƒ‚€€€€‚‚~€¦‚}‚~‡†ˆ~‰~‰‡„€~}ƒ|¡£„~†‰|‰|‰{‰{ˆ}†‡€ˆ€ˆ†~„€„€†€…†€ƒƒ‚ƒƒ‚ˆ}‰|ˆ|‰}ˆ~‰}ˆz‰w‰y‡~†€†~ˆ|‰|…~ƒ€‚€‚ƒƒ‚€€€€€€‚~}ŸvÊwÂy¬{{¬{¢~‡†…}”{°}­{­vÄuÎy¬‚~ƒ‰~‰}‰|‰|‰}ˆ~‡€†€‡€†ƒ€ƒ€„€„ƒ€……€„ƒ‰|‡|†|‡|ˆ|ˆ|ˆ{‹{Œ|†€‚„†~ˆ|‰|†~…ƒ€‚ƒ‚ƒ‚‚~~šsÍqÑsÐtÊvÄzº}ŸŽ~“z¬vÁuÉrÐpÒrÏz©€ˆ€ŠŠ}‰}‰}‰}‰~†††ƒ€‚€‚ƒƒ~†€‡…„€Œ|‰|‡{‡|‡}ˆ}‡|‰}‰}„‚„…€†~‰}ˆ~‡~…„€‚‚‚‚‚‚~~–tÊrÐsÏv½}ƒˆ€ƒ„„‚}”xªrËrÒsÎz©‚~‚„ˆ€‰~‰}‰}‰}Š}‰~†…‚€‚€‚‚‚‚‚…y”x”w“w“w’xy|Ž|{‹|Œ{Œ{Œ{zŒz‹{‰{‡~„„‚ƒ‚‚ŽwÅuÉuËy¢€€„€†€ˆ‰€ˆ€‚}„x¸uÅwÇ{¢€ˆƒƒ†‡€ˆˆ}‰}‹}Œ}ˆ~…‚€‚€‚€‚€‚€‚€‚‡y“w•w”w“w“w“w‘z’y’y’y”x”y“y“y“z“y’y‘yŠ~…„€‚‚‚‚„}˜|›}‰‚~‚~‚ƒ€ƒ„ƒ~€~‘|~‘€‡‚‚€ƒ}„€ƒ„‚‡ˆ~‰}Š}‹}‹}‡„€„‚ƒ€ƒ€‚€‰Š}…‰}yxyŽ{||Ž{Ž{{Œ|‹}‹||{{{‹}ˆ~ˆ~…€ƒ‚‚‚‚€‚€€€~€€€€€‚€†€„|†|„‚†€ˆ‰~Š}Š}Š~‰‚€„ƒ€ƒ€ƒƒƒ€ˆ~…}ƒ€ƒ‰}‹{Œz‹{‹|Š|Š{‹{‹|Š}‰|Š|Œ{Œ{ŒzŒzŠ|ˆ}‰}ˆ~†„€ƒ‚‚‚‚€€€€€€‚€€€€€‚‚ˆ‡}’}‰~‚ƒ‡€ˆ‰~Š}Š}Š~†……„€„€„€„€„€…~„~€‚„…ˆ~‰|‰{Š|Š}‰~‹{Œ{Š{ˆ{Š|‹{‹|Œ{ŒzŠ{ˆ|ˆ~ˆ~‰~ˆ†‚€‚€†‡‡€††††~‡†…„€€‚†€‡~|„~„}ƒ}ƒƒˆ€ˆŠ}‹}‹}Š}Š~ˆ~†€……€…€…€„…~„€‚„€†ˆ~ˆ|Š|‡€„‚‰}‹{‰{‰{ˆ|ˆ|ˆ|ˆ{‰zŠ{‰}ˆ}ˆ~ˆ‡ˆƒ€‚‚ƒƒ‚€ƒ€ƒ„„ƒ€ƒ€ƒ€ƒ€€€‚‚ƒ‚…u„}„ƒ}ƒƒ†‚‰‰~‰}Š}‹|‹|Š~ˆ‡€†€†€…€ƒ„…€ƒƒ…€ˆ~‰|‰~†€ƒ€‡|‰{Š|‰|‡|‡z†z†z‡z‰{ˆ~ˆ}†„‡‡…€ƒ‚‚‚‚‚€‚€€€€‚€‚€ƒƒ‚ozƒ€‚‚~‚‚‚‡€‰~‰}Š}Š|‹|‹}Š}‰†€†€…€ƒ€ƒ€„€ƒƒ…€ˆ}ˆ|‰}‰}‰|‰{‰{Š|‰|‰|‹{‹{‰|‰}‰}ˆ~‰††ˆˆ‡††€„€ƒ‚‚€€‚‚‚‚‚€‚€‚€‚‚g{m~{}Ž{Œ~‚ƒ‚‡‰~‰}Š}‹|‹}‹}Š~ˆ~…„€ƒ€ƒ€‚€‚€ƒ‡~‹|Œ|Œ{zyxwxxx“x“x“w“w’y‘zŽ{ˆˆ€‰‰~ˆ~ˆ~ˆˆ†„‚‚‚‚‚‚‚‚‚‚‚‚i}h|q{‡}‡~‚ƒ…‡‰~Š~‰~Š}Š}‹}Š}†~„€‚€‚‚‚‚€‡~y‘x“w—w—u—t—t—t–v–v—v–v—v˜u˜v˜w–vŽ{…€ˆˆˆ~ˆ~ˆ~ˆ~ˆ}ˆ~…€ƒ€‚ƒ‚„‚„‚ƒ‚k€j}j}w€‚~ƒ}ƒ‚ƒ‡€ŠŠ€‰~Š}Š}‹}Š|‰}‡‚€€‚‚‡~‘x“v“v”w“y‘z‘yz{{{{{{yz’z‘zˆ‡ˆˆˆ~ˆˆ~‰~‰}ˆ}†~ƒ‚‚‚ƒ…€†€…mll~s‚„€ƒ}ƒ~ƒ…‰Š‰~Š}Š}Š}Š}‹}ˆ‚€€„€…€‚ˆ~Ž}}Œ~‹‰}‰}‰}ˆ~‡€‡~‡‡‡ˆ‰ƒŠ„‡‰€‰ˆ†‡€ˆˆˆ~ˆ~‰}ˆ}‡~†ƒƒ…€‡€‡€nƒl€i}nz„€ƒ~ƒ|ƒ€‚‡€Š~Š~Š}Š}Š}Š}Š~‰~ƒ€‚€‚€‚‡~†‚„ƒ„‡†ˆ„‚„€ƒ€ƒƒƒƒ‚‚‚…ƒ‰ˆˆ‡ƒ„ƒƒ‡ˆ…ƒ‡€‰~ˆ~‰~‰~ˆ~‡}ˆ~ˆ…€‚€€€ƒ…€‡‡€k‚k€h{hzk}y€ƒ}‚~‚ƒ‰~Š~‹~Š}‹}Š}Š}‰~…ƒ€ƒ‚‚€ƒ„„‡††ƒ…‚ƒ‚‚‚‚ƒƒ…ƒ€ƒ€‚‚„…‰ˆ‰‡„„…€ˆ‡€†€‡ˆ~ˆ‰~‰ˆ~ˆ~ˆ~ˆ~‡~†€ƒ€ƒ€††€k€k~hzfxezs€„~“}‰~‚…Š~‹}Š}Š}‹}‹}Š}‰~‡€…„‚‚€‚†ƒˆ„…„ƒ‚ƒ…‚†ƒ‡‰ˆˆ…€‚‚€‚‚ƒ€‡ˆˆˆ~‡‡ˆˆˆ~‰~ˆ~ˆ~ˆ~‰‡ƒ€‚€„€„€ki~fyfweyk}{„€Š~†}ƒ‡€‰~Š}Š}‹}‹}Š}‹}‹}‰…‚€‚€„ƒ‚€‚€‚„‚€‚€‚€‚€‚‚‚ˆ~‰‰ˆ…€‚†€‡ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~†ƒ€‚‚gg~fzgwfxhzp~‚€ƒ~ƒ~‚ƒ‰Š}Š}Š}Š}‹}‹}‹|‹}‡ƒ€€‚€‚‚€‚€…€†€…€†€‡€‡€ˆ€…€ƒ€ƒ‚‚‚‚‚ˆ~‰~‰ˆ‡€††€‡ˆˆˆ~ˆ~ˆ~ˆ~ˆ~ˆ~†~ƒ€€€hh~gzfygwgxhyv€ƒ‚~‚‚ˆŠ~Š}Š}Š}‹}‹}Œ}Œ}‰~„€€‚„ƒ‚‚ƒ„„‚„€††…„€ƒ€„€‚€ƒƒ‚€‡‰‰~ˆˆ‡‡€‡€ˆ‰~ˆ~‰~‰~ˆ~‰~ˆ~ˆ~‡ƒ€‚€‚ih~gzeyfxgzhzrƒ‚~‚‚…€Š~‹}Š}Š}‹}‹{‹|‹}Š}…€€†…‚€ƒ‚‚‚€ƒ„€‚‚…‚€‚‚‚ƒ€‡Š}Š~ˆ~ˆˆ~ˆ‡€…€†~ˆ~‰~ˆ}ˆ~‰~ˆ~ˆ~‰~‰€„‚‚ih~g|ezg{i|h{o}}ƒƒ€‚~‚€‡Œ~‹}Š}Š}‹{‹|Œ}Œ}†€€‚€‚€€‚‚‚‚„ƒƒ‚ƒ€‚ƒƒ€‡Š}‰}ˆ~‰}‰}ˆ~‡ƒ€ƒ€‡‰‰~ˆ~‰~‰}‰~ˆ~Š}ˆ€„j€j~i|h|i~i~h~ju€‚‚‚~‚‚Š~‹}Š}Š}Š}‹}}}ˆ€€‚€ƒ„……†…~ƒ~„„„€„‡~†~…€ƒ€…†‰€Š‰€Š€‹€‹‰‚‰‰ˆ‰~‰‰~ˆ~‰}‰}‰~‰~‰}‰~‡l‚kijlƒj„hƒi‚o‚}‚‚‚…„€‚†€Š~Š~Š~Š~‹~‹}Š}ˆ€€‚ƒ€…€…€†€…€„„~„…€„„„€„‡Šˆ‹‹”Œ›Œ ‹¤‹¨Š¬‰­Š®Š®Š¬‹¥‰”‰‰~‰‰~‰~‰}‰}‰~Š~‰l‡lˆm‰nˆo‡n…l…n…s…|‚€}›}~‚‰~Š~‰}‰}Š~‰}‰}‡ƒ€‚‚‚‚€„}‰˜ˆº†Ã„Ƀ̂Ì̀ÀÆÇ~ÆÆƀǃ»‡‡ˆ‰€‰‰~‰}‰}‰~‰~‰~ÏÏÏÏÐÑÐÏÑÑÑÐÏÏÏÊÄÇÄÌÏÏÐÐÐÐÎÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÎÎÎÏÎÏÏÏÏÏÏÍÈ¿´®¦£–ƒ|uloxlgipqrehdY^b^]d_X]a_aXRPX\[^d`fUVXVUWVU[XQV\]]YVMC>:<:534?4ÏÏÏÏÏÐÏÏÐÐÐÏÏÏÏÊÃÇÄÊÎÏÎÎÏÎÍÎÎÏÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÎÎÎÍÍÎÎÎÏÏÏÉ·¡©™z‚zwc`cqzp``nkg[Z\^_ZYVQ_f`^TPPRZY^hhiQT]aZTRNTTY`d^WQNLB@98854177ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÃÆÂÈÌÍÍÎÎÎÍÎÎÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÎÎÎÎÏÏÏΤŠqpnrllnou€z`bdgg\\]]]\TTV^e]\XTRTWVX]jdRRY^WNNNSS]ca`ZRHDB>953332/1ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÃÇÃÉÍÌÍÍÌÌÌÍÍÌÌËËËËËËËÌÌÌÍÎÎÎÎÍÎÎÎÎÏÏÎÎÎÎÌ·™zkou{w€kif^i[`ed[[YW`YTYdeUTVXXUQNVR[iTPUXYROSRQ[c`bYUUMH?;86331..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÅÂÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËËÌÌÌÌËËÊÉÊÌÍÍÍÍÍÎÀ”ƒ„~wfm}odib_bVie[YUTP^a]`rnZQQV]WMJUSS\TZ[XVOPSTY_[Y[SQYQIA?@<540.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʽ¾¾ÊÑÐÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÍÌÍËÉËÌÌÌÍÌËÈƦŽ}zvjanspcacaZ\bVR[UTR[gghjehVRW[VPRVTTYT[^aVSTSZ]]ZYVSPRPJ@??9652/1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɼ¿ÈÐÏÏÏÏÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÎËÍÎÐÏÍÍÉÇÊÌÌÎÐÌÈÆôž|yqhZWec\_ba]d_WVTNQVZ`bfia]TPQRPNUTTR`OUX[ZXZX][\ZURTPQMGD@B<641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ËÄÇÏÎÍÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÍÊÌËÍËÇÃÄÂÆÇÊÍÎËÿ½®”‚sVSRSPUWlpgcc^[MDBOYS]cb^WTQMMLJNLRN[OSWWYX\]]]^YTPSOWODGB@>41///ÏÏÎÎÎÏÏÎÏÏÏÐÐÏÏÇ¿ÊÃÅÎÎÍÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÎÍËÉÈÇÉÂÀ¸Ã¿Â¾ÅËÈž¯¢¨’~{t_WYXXffdqkh`XWSQSTbUP\^VPVWSMJHOQSXWRQY[WUYZWRS\WQWQXWA78321//..ÏÎÒÕÕÐÍÎÍÌËËËÌÍÇ¿ÊÄÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÅÄÄÁľ»®Á»Á¹¿ÈÀ¾¸¦ˆ‡rŠe]`\]hoYo_X_TQUU_\YQPTYSQTXWNKMTTS\f]PVZWWWX[TM\\Y^]PF<6541/.-..ÎÚèîíâÒÍÌÆÂÂÃÆÉÅÀÊÄÁËÍÍÍÍÍÍÎÎÎÎÏÎÎÏÎÎÎÎÌÅľ¶½º´¤½µ¿··Ã·»µ˜…}~pkhfdeUZe`Xf[T]_QSTY^VTTPPPNMPTYVRTQQTe\MX[YSPPZZPYZSPLB9=<962/---.ÚîßÅÑìçÏ»µµ¹½ÂÄÃÊÆÂÊÌÌÍÌÌÌËËÌÌÌËÌËÉÉÉÇÆÁ·¯ª¯²«¡­®·²³¹®®¥…yzxojVbe]YeZSZh`X`ZMQSU^`bVRONMPSNUWLPUPR^]Yb_VPLMZYTYQPYJB@=;;972....ìׇlx´ëÛ¸²¯°µ¶ÀÆÇËÉÅËÍÍÍÎÍËÈËËÌËËËÉÇÄÂÀµ¤¡¦¨›¢­®­¬«©š‰xnmhkn]Z[WbcXW^_Z`WRUTSVWb\SUQPRUTSUWSQXPSYaZaYY[U\`WTZWTSB@H<877752000æ•uvsŽÒ繯­¯³µÀÅÇËÉÅÊÎÎÎÎÍÈÂÉÌËËÌǽ·¸¹¼® ™‘œŸš–¦²«¬¥ž –~mhfWgbUMHNYbYSQ]gban__a]UZQQQPQTXTVTUZTYOP_`_g[c`iiaURPPMLAÄÅÈ»¹¿ÊÝëëëëëìêéèèæäÜÔÑͧlc^ZUZdœx^_^\\ZZ[X^‚Œ‡ˆ„{xz|vwqa[]_WWVVW]ZSO\qzma_eSWPMUUNLLHDNVTRTPMY`bbYQX\_`Y]ZVWF856;<::::;>>>=ÓìêääåæåêëëéæãÝÖÐËŸ®¨›gFWbltyZKL@8::Ekrnk`GY‡…€„‚xuxxuuth^a]QPZX[`TT^cigbU\cbTWOLNTNJD>ANTVZW_ly†‰ŠŠŒ‘’”“’“’xk^QB99989;?@??¿Ð½ëíììíììëæÜÎÇÄ¿¹¬ªŽ…KSˆ™ ¦©‰fP:;BEHMIFJORFp…ƒ€wuwzyurlh_WPLYZ[UVY`_\MY`]\[Z`XMMTPLIKONRUW„—’Œˆ†…„‚‚‚ƒƒ…Š‡iA8999;ADDE“špÛêèééèçÚÍ飩¤£–•Ž†‡pOU™¸·µ´­§±‚yŠcYVG644C_V„„||qqxz|sjcdVQTGCNWVW[[QMKVY\]V[d`TNNLMQQOLJJd”df_YWWWSSRRRQQQTUUVXXWJ79:<48oTz†{yxnkqxzqhc_RRTGIPTZ]VSTQRWZYWX[b^UNGFDEIJHHGitOafkoroF<<<;;:?NX[^_d\I<9;<Bz_ƒ¦¥§©­³x>96;DFNVQKIFOyV?7;<=CJLLœ»Á½°ÀÌÌÊÀº¸ºÄÉȼŠ{|}xao46Ae`BPPQQRQRMKvoN4`–‡Y}xuuukntnihaQ[i^VT[\YPPW[_a`[Y\\XQKFBA??<::;IŠ]t˜¤˜Ž„zlR?8DMRXS?;;;;WeA7;=AGHEOê–¥ ¡Œlc_VXQPVZ\m’}z|mwa56J“’YMHCCDORPGb{Z84?Œ^|€ywzunlpjhee^esdZOS\]WTU[Za[Y\f]QKFC@@BA?>BCb‹^HNH;86=RTLDIMOSE8:;;;DjI=XˆšƒI?656EIHEw™m654}tm‚}z||rjkkmgb^_\`[PQXXQPU][[Z[__USOFCAEIC?BNNƒY=J9787AUPFCFPPJ@>@@<9AfTA;>AFLV`]X~Ž“šVTA@gmfZC9AAa“ƒ‚cMIKP{‡fKG??>>;8<€ž[874hb„swysigjswhZVVSSRPWYPPZ^[X\b_ZPRUPJGLRI>@L[mS7D78HO>F?536BIB>CEF>8<\]@;@IKT`jJO¬äº{JSSJLLKNJFEAEuÌ‘]O[QoxlLIKMOMNJMZˆR=<6^’S€aIKiohghgobVV]WX\SSUSUQ[`]eaXWSPJJHFHNMONNržZJ;BEQV[ae~’JLDHCGsƒ\AB;5456=BCEDC?7IXBLj_SalhGXz§ÂÓÒÓÓÕ×ØÚØ××؆:11BK;9788<=::867:9986>>@HKJIJJG<@FDZbVOftjIOq§ÒÛâæèèèêêëíìëâ×X8\F=<<:8999898889999998:;:AG6R_poc_`ba`a]Y\VVUVX]TQZYRNOTYYXX_xƒ†‹ˆ]JUUbjTSa@99>DEGKK^poqlQ>?<;;?HTqXAHQhpiXWq’¹¾ÉÕÙØÓÓÕÊÃËÕÐËË·SQ@<;:8898888878988978ALV]htœ—™˜“Œ†ykkkoyŠ“‰ˆŽŒƒ‹§xx~}~~ub^crRi„vfbUGOWZXX[[^_`_]\[UMPeoxŽ‡^drrkiqppsuw{ƒƒ€€~|‡„€”´_K:47965777677778786K‡˜¥¨ª«¨§¦¤£¢¢££££¦¨¥y|zxyzyy|€„‹’¡²º³¤”„yrmno„¹…wmsifdYYpsommkhhhijmqrb^b`fpkTdwrtusqnmmoqsuvvuuuuvy|}…—i[wfC344655558C8777;™‚‚{yxtqnnjjikkkjnqr‹utvvvwvvutsssqrwŒ™¦­°¬£“†€ª‡j\b]ZZX[jb\ZYXYYXYYZ_d^YZYZ[XNXbgu{vroljlmnprssssrpqrvzrc­º˜@1344456876662bdeklkjlnvŒ¦‰{vropokdytgilnpruvvvutsqppqqrv{…”¢­x™ydVWYXWWYXXWVVWWWWXWWXXXXXXXXVRLUZX\{wsolkklmnoqrrqqqpoxgL©¿¬œK9788439OE86:‚h~‡Š‹ŒŒ€i|al‘‘ŽŒ‹…}pngceffhloruvxwtrqponoppnnpd†l_SSUVVYYYYYXYYYYZZZZY[[[XXYZbWNUWVTzzytolkjjjknopqpqqolY8l½ÇÓñ¸ˆ`X\ltI«Fgx–^y¬ÃÈÏÒÓÒ|ODBPªÝØÑÎÑÊ‘j^meffeddehkosuvwwvtronnqsmgwibƒeo{][\]ZZ^]\\]`^Z\ZXT‚¤‚œµbOTXXXxxyxuqljihhilnnoopn[G3?›ÔÙëî±z]_nxܵ^l{ƒXwÍâßßßà×g`d_N£äÜØÖÛä“mXijhfdcbbacdfkpsuwwxwtpnoeZhcU®Ä»Ãì•LMNoeQTetXOPzdAEmàçÛÔÉhRRWWWwxxxxwrmjhfgijklmnmU;4.Dbb†žš˜bon[‘óÙjiŒrbb¼×ÑÖ×Û¼MRc`Q‘æäæàÜÙy[h^kmkhecbbabbbfkprtvwwvurcJU\K›âÞÛìë‡E=p¬JB‘°}5gµQ<\ÎìÙÕ߸TUQUVVrtvwxwvsojfffghijklK310/35>AN^Ygy‚ ÚÇ’žcjPV[W]aeR=RšXkŸ™‹{i[FHpXjlomjgeccbbbaaejlortvwyiEIQMd¡§ÄÄîàZ?Eµ”NÃë F¶“ID“ûÝ®™vaONPUVVopqsuvttrmgedbcdfhjE/0489=CLWe„ÄÔÙáçäâÀ—XjM@578656;I—„YUA57769G@hYdgimmljfecbca__acglpstwlDBJMOO^t“âÊrWJsÞˆ´z¡Ó_VeˆÂ´l^USPKSYXXlnpqsttttqkgdbaabchI//259AK\o’¢äïííìëïĆUgE@89<:9877NN>:7:?A=8533455Cƒ‡L686GhUhhdfjlnnnlifgggeb`adhniF?HKOTW[behilrz‰¸ÒØǪ…ztqonk`YVQMJ[iechjmoqssuuutrojfddcdK2205:^„K9DP—¬­¶»¼Å£bZVMPNQQNKLI:4566;U’¥`HLA>hPedcehfhlnonljhgggebaaddG==?@>M`P‡lReigfdfikihgdaa``b^@6GLNQUYennpl¦òïêëëðñðõ¤jkllaYSQNMcnlj€^egilmoqsttsrqojddK88//14?B8;PZz‘vp[YYYYWWXX[[YWWVVZ^bdmrst{…ˆx…st|xlgnfdefhhgda`ab`>6GNPSTZejeba{»ÇÅÄÅÄÅÄÁ|RS]ibYTSONzvklÂx`ehjkmoorsrrrqnifI69//014:=>@ACELdY}nq^^]\\\\\\\\[t}{›£¨­°°±±±°±°°¯³²°°ª–sedcbcggfcaaa_:4FLPYphc]M6--38AFEPC@?3.:IXb€ŠXLK´Áp˼p_egikmmoprrrqqnkI3:2/,--.//../02@_H^qY\[[ZYYYYYXd†®ª¦¡›”Œ‰ˆ†‚€~~~€ƒ‡‘™vjnda`cdgfcbb`72EGI‹Õƒ_ONKKJKH]aY`VUYQNMUQ_±ànBE–ÎÔ¶ÁÏ°a]cfiklmmprqpqpmH2:3:M=40..,+,,*8tm€sWYXZZYYYYYV|‡{‚ume`[UTRRYRSPPOOOPQTWZjvigcccegggfb50BAC‰Äw^a]A?CABDCCBBB@>7Edd`{ZBD^~¤Ì±ÅÑ™Z_ehhjlmnoonpmdD2941ENKD::.+-..Gw’„{llcYZZ[ZZZX}mQOIHHIHKLJL]KEEDDDDAAA@@AXlliebcdfhhd4->>?M__bjn\KHGMSTVXY[[XZkqneVLDBC\hg{¸ÉÍ…Ybegikllmnnnj_D26327:<;52158=@Yr‘€¢®—e[\\\[YhyF>==:;:;::95578:;98777888:@_mmkgdcbehe5,:98=DMXbiojfffeecc`^\\_`[SJB<79>]kigT”¿ËÄp\behjkllmnnleS:21211100//100/Do„uŽßåÚ¡babb`]„h<<>>?@@BD?B]J;<>>97778887>?Oklmkieabdc6+86A/+,-,-../..--+***((&'**'(.LU@]lkkX{²ÁÏ®c_cfhkllmnmlh`RJHJMNMNNMLLNONFjsY‰çÙÞçŒfnqpt–N?:@CCCCBC@758:988=<@UT@KQ8444556548A>TklkkkhaWQ1*73,2A?>@?==;99::;;;>BEJNOT0&(2:UfhiRLQ“¿ÆˆZadegikkmmmljihfeb_^]]_``cfXKKKJ^`Ü’€§±­¬q;?559<988==;H\MON469KHB8535>@Gdlhgfd^SL1)50+2;:::;;<;:8878;:8668755(#0445Pbbd]SO]¡¿ÉÂrW^`behiklmmlkjjgc`^]]___acWFHHJMT`q‚Ǽtu­V>=337Va:4@@5422577;L[OMF>638A@YkiiiigbV:/1.-22/-.,+,++)(('())((&'*+(&1201Tea`fZQLh¯Á̶g\`begijkmnnllljgc`^^^^_`bYDEGJPT\g’ä,c C@923Ky|O3762112459BEJSXWTF45A@Lh]HHJ^d^T?51258:=??A@><;<>@BA@>>>DJNRUUVVXiomhk`RNL~¼Ãѧ`_beghiklmnmllljfd`^^]]_bZACGHQYbgužnA‰<@:97RŒ‡zB<7100134?GKPZ_]]R:4?@E`R342Ffca]XTTVY[[^bgfc^ZZ[[[[Z[ZXX[`gjmmnopqrrnpbQMS•¾ÆÑ‘[bdfghjkklmmmmkhgc`^^]^`Z=DHFNW_K><=[cNO?QTOCB?2//127FHTJ^e^UL<4;?>F@661=ffebba`a_^]_`dghgda_][\\^_][Z[^eijlmoqrrknw^ON_§ÁÌÊ}\ceghjkklmmmmljjfc`_]]_X:CHEJQP9CNKUgI478:=6149Rgfgffeddcb`__adhkljfa_^]^__^]\[^dgklnnqqrqqgWPMn´ÃÐÂr`degikklnnonnkkifb_^]_V7BHFILN:@c8>;?8AL@:;98888HJHD<<=======>B@>V@Lkfhggefffeefhhhgdb``cejlmjgca^___`^]\[^bfikloppoiYQWZœÆÇÓ¦``bdfgijklmnmmlkhda^_T3>GEÖ¿kTzÀ¿ilhC@BBCEGIMNOSY\[Z[[[\]^_aaa_\dWm<‰ˆdffffeeeghhhhggebaabfjmlkieda``aa_\Z[\^cgjrsrqoeRMM`®ÆÍÒˆ\acefhijjlmmmlkigca_S2;DEqÏÛ‡Ojª²MwpK^loqrrsssqpoonnnmlllmmlmoqufyŠa|£fcccfeeefgghhhggeca^acimmlkiecbb`^\[[\[\_drssuuwhSOJwÀÊÓÀj_cefhiijkllllkkifc`U.5=ELj…v\Wz£O{Œ~hnnfda_\[YXWUSSTSRRRQQRSSUY[Y_hzh[fdccdddddefgffggffd`^_bgkmmkhfca^\[[[[[[\]qommloi\QMPžÈËÕœ\adfgghijjkkkkkiheaS-48?CBFM`XWƒ_{rbURTOMKIIGFFFDCCDCBCDCCDEEFIGHIJXoddŠvbdcccdddeeeffffeca_^_fklligda][[ZZYZ[[[ohehicc_TOKl½ÆÑÊs\cgheghiijkkkkiheWE,43442//AYUqygPHGEEEB@@>>====<;;;;<<;;;<=>?@??@E^pegfcbccbbcdeedeefggfda^]aegkjheb_\[[[YZZ[[kghhrnicUNNNŒÄÈÕ«_aeddfghijjjjjgd_RB+219446;AQq”pYA?>>>><<;:9999999999::999::;=<;;;;Hbgcfgkbcbbbcddddeffggeca`_`ahkjifb^Z[\[ZZ[[nlhirqriTMNL[¬ÅÌÒb`ceffgiiijjkjge]E)00/.8=>?:\¡¦¤¢|AECCCh|dUJC;551Gheddeca^^``cdefffefgggghggfd`]]`dhlmlje_]glmioommqrtkSLQSc°ÄËÓŽ`cfghjjkllkkkjgfda`_]\UND28:8;AHSd{¡¯QAWjmpŠ³œŽ—™nOy°hVJB;81/Hhfdded`Šµº¦iceeefefghhgfghggd`^^aejlmlkfcztrpwrljmmlngMJLKx¾ÂÎÉr]cefghijkkkljhiheca_]VPG1448ABKTe{ Ál{Çìëííïïïðñðõ¡\ª¬‚iVJC<;42Jhgffffc{Ôíç¤addeefffgggfggggfda]\`eiknnlh{tmmjiklmldPKMMPšÁÄÖ©[^bdffhhijjjiijjifc`_WQG005:?BMTdz—ΛkÒðììëëëììáæð›Vº¨†m[PG>;9=Nhggfffecq{uccddeefffggfffffffd`^^`dimonkvzuvuoninpomlcWNMIhºÀÊÒ{Zadffgghiiiijjihgeb`WHA9F@;AFNUd}Í \Ïóîîîíîðñññø›ZʸŒkVH<40/2Liggfffeed__`jjddeeeefggfffffffeca_^`eimnnqwsuvnpjknnmpthQLKOžÅÇ×´abfghgghiiijjihhgfdbX:=>;3459?IXoǽU®ÝØÙ×ÙÔÍú²¯ja—fM;55:@2.2KigffgedefddkŒeeeeeedffeedddeeeeba^\_djmnnupolmokhklnooiSKKLo¾ÇÐÕ…_efhihhhiiiiihgggfd[4:>512:8>FO|I>IHJKUJA;654.^N>L93WÄÅT,7Jghgffeeffedfb`cddddddefeeddeffeedca_\^dilpoovtomnopiilklUKKNQœÈÇÔ¶b`begggghhiiihgggff\:?>819©Ò¦98BS9Th>?@ADMKGGFGD[xORB5/c´€B/9Jggfffeeefedcba`cc`deddeeeddeffeddecb^[_ehknpspnnrstnhlmhVMKMLk¾ÇÍÓ…`efghhihhhhihhgggh]HT<926z¬ž645OgG…|bcdy‡rqnpotŒcft5222/+02843456655>LGKINTe\pfZY]OKMKGH50/0/0101Ffhffeeeddccbaab˜¾¾«habbccdedddcbcdeedb_\[rwwrkklppkjluttf_YMMNQÌËÐÇtehhijihgghiiiig^T-*=2.//.---.2:668887:G<1/-,+*)&(''()*,,*/Dfhgfeeddddcbaaa^a^`bbbbbbddcccbbbcddca`^\lklidaajks|vvwqjpfQLNTc¶ÉÉרfghijiihfghhfc]UR-':-(+)('''&&$#$$#"#$#$&''(*+,/477)%&()*-Aegfeddcbbba`^]^^_^`bcbbccddcccbbbbddcbaa`rnkmkrmqjtvuuv~~l^SKLMNƒÇÆÐÑ‚cgghhhgffghged]V4'8,&&%+3469:988989::::::;<>>=>@@>(!$%(()=djkotx~ƒ‚ƒƒ‚€zyvleabcabcedcbcbbbbcdcbcaa„}€}xx|ylhqxxz~ve^RKKMMW¨ÉÇ×·fccefeeffgfgggdV7)8-,'&).-00///.-----,,,+++++++)*(%9Oar…œ¦«¯²³µ´´´´´´´³µ´¯¨›…e`bdedcbccbcbbcbbccb†|vyttlmtpmkqka``TLKK[a‚¿ÄÍ׋_bcdeeffededbaV>/5-20,&$$""###$""""!!!""""###!!$(Ad‘¨±³²°¬¨¤¢žš˜˜——••–—•–—š §¥|bdceedccbcdccbabcccƒ€zzzspsfdipzrjmgYMLLYa` ÄÅؽfaccdefedddba`ZO:-*-,+'$$#"##$##$%%&'(((*+--.,,)Yª®¨Ÿš“Š…}zuqmmkiijjihiikpuzkegfefedddedcbabcdc…{†z†z‡z‡{‡{‡{‡z‡z†z†z‡z‡{‡{†z†z†z†z‡z‡x‡x‡z‡z‡z‡z‡z‡z‡z†|„‚ƒ|†v…uƒt…t†t†v‡xˆx‡x†x†x‡yˆ{‡{‡z‡v‡u†w†z‡z‡{‡{‡z‡y‡z†{…~ƒ€‚€ƒ€ƒ€ƒ†y†z†z†z†z†z†z†z†z†z†z†z†y†y…y…y…y†y†y†y†y†y†y†y†y†y†y†z†{„‚|‚yƒu„t„sƒu„u…u†xˆx†x…w…w†yˆzˆz‡z†w†u„v„v…x†y†y†x†w‡y†{…}„‚€‚€€…z…z…y†z…y…y…z†z†z…z†z†z…y…y…y…y…y…y†y…y†y…y†y†{…{…z…z†z†z„‚‚‚|ƒv…u…uƒvƒv…w…y†z†x…x…w‡z‡{‡z†y…x„v„v„u…w…y†y†w‡w†y†y…|„}‚€‚€€…z…z…z…y…y…y…y†z†z†z†z…y…y…y…y…y…y…y…y…z…z…z…z…|…|…{…{…z…|„‚‚‚z„x…x„w„v…y…{…{…x…w†wˆy‡z…{„zƒyƒxƒv„v…x…x‡x‡x‡y‡y†y„|ƒ~‚€‚€€€€†y…|„|„z…z…z…z†z†z†z…z†z†y…y…y…y…y…y…y†z…{„{„}ƒ~ƒ|„|„|„|„‚€€‚|„z„x„w„x…z…|†{…x…x‡xˆz‡z†{…z„y„v„v„x…w†x‡x‡y†z…y…zƒ~‚‚€€€…{‚€‚€ƒ~„|„|„}…{…y…y…z†z…z…z„z…z…z…z…{…{„}‚}ƒ~ƒ‚}‚~‚ƒ‚}~ƒ|…y„x„w„x…y…{‡y†y†z†|‡|…z…z…x…y„v„v…x…y†z‡y‡y†x…z„|‚‚€‚€€€ƒ‚„…ƒ€ƒ€ƒ„…|…z…y…z…z…z…|„|†{†{†{†|„}‚€€€€€€€€€‚„}…}ƒ}ƒ}„{†y…x„w„w„w…w†x†y†{†{„{…{†z…y…x…w„w…w†w†x‡x‡y‡y…z„|‚~‚‚€€‚„„†~ƒ€‚ƒ~…}…|…{…z…y…z…}„}…|…~ƒ‚€‚ƒ~ƒ~‚€€‚}ƒ}…|…|…|…|„z…y…w…v…w…v„u„w…z†|†|„{„{…{…y„x…x…w†w†u†u‡w‡y†y…z„}~‚‚€€€ƒ‚ƒ‚€€‚€ƒ€„…~†|‡z…{„~„~ƒ€ƒz„z…|†|„|„|ƒ}ƒ~ƒ~ƒ}„|…|‡{†{†|†z…z…y…x…w…x…w„x„x…y†|†|…|„{„{„z„w…x…w†v†u‡u‡v†w…x…{„~‚€‚€ƒ~‚€ƒ‚€€~€~„~…~†~ƒ‚€€‚}…{†y†z†y…y„z„{„z…|„{…y‡y‡x†y†{†x†z…z…y„x…x…x…y…z„z„{…}…|„|ƒ|„{„z„y†x†x†vˆv†v†v„vƒ{ƒ~‚‚‚‚}ƒ~~ƒƒ€€~€€~€€€€‚€‚…ˆ‰~ˆ~Š‰~ˆ‰ˆ†z„x…y„y„x‡w‡w‡y‡{†y†{…{…y…w…w…w…x…x†z…{†|…}ƒ}ƒ~…|…z…x†v†x†vˆw‡v†vƒvy‚~ƒ‚‚‚‚~ƒ}~‚~€€€€€€‚€‚€ƒƒ€‚‰‹}‹}‰}‡€ˆ‹~Œ|Œ}}‰zƒu†w‡v‡v†vˆvˆy‡{†z†z…z…y„v…u…v…w…y‡z…{…}…~„|„|…|…„}„}…€…€†††€„~ƒ€ƒ‚‚€‚~‚~ƒ€}€~~~‚~„~…~…~„~„€ƒ†}ƒ}{‚z„{…|†z‡y†|‰~‰}|ƒs‡uˆvˆu‡vˆvˆy†{†{…z„y…x…y„y…y‡y‡yˆz†{†~†…}„|…€……”‡œˆžŠž‹ŸŸŒŸ‹žŠŠœ‡”€„€~}ƒ|…†}~€~‚~‚}‚ƒ€ƒ}„|†}†‚‚‡|†|„}…z…x…z…w„zˆ}‡|~‚sˆt‡t‡u‡uˆv‰y‡y…z…y„z„z…{…{†yˆyˆz‰zˆ|‡~…~…~„~…ƒˆƒ‰ƒ‡ƒ„†ƒˆŠŠ€ŠŒ~Œ‚Šƒƒˆ~}ƒ|…†€~€€‚€ƒ€„„‚~…}†ƒ‡{‡}„ƒ†|ˆxˆx‡w„{‚†~‡}t†t‡t‡t‡u‡vˆx‡w†x„yƒy„z„z…z‡yˆyˆzˆ|‡~†~…ƒƒ„…ˆ…}†|†|†|ˆz‰y‰zŠy‹yz‹y„ˆ~ƒ}€|„z…ƒƒ„„„~‡{ˆx‡z‡|ˆ}ƒƒ€……ˆ{‡}„‚‡}ˆxˆyˆ{…}„†€Š|„w…uˆvˆuˆt‡u‡w†x…x…y„y„yƒz…y‡x‡xˆy‡|†~„…€ƒ€ƒ„†‡Š|‹}‡€ˆ~ˆ{‰{ˆz‰{‰z‹z‹y†„~Š}‡yˆsƒ‚‚~ƒ‚ƒ„……}„~……~…‚„…†|†}†~†}‡{‡|†}…~‚„…€Š{‡}€‚}…{†xˆx‡v†v†x…x†x†y„y„z…y†x‡xˆzˆ{†{„{ˆ}¥~¨‚Œ‡†Šy‰|†€Š}‹y‹{Š{Š|Š{ŠzŠx‡~—}³v¡l€‚ƒ‚‚ƒ‚€€‚‚…†€Œ}Œ{Œ}Œ}‹}‹}‹}‰}‹~‰‰~‹}~‰‚|„zˆ{ˆ{‡y†y…y„{…{…{„{…z‰yˆx†x†t‚pjwŸ}¯‚˜ˆ‰ˆ‡ƒ‡‡‡„……†„ˆ„‡„‡‚‡ˆ‚˜|¢s•l€„€ƒ„„€„€„ƒ„ƒ€„~‰}}}}Œ}‹}Š}Š}‹}Œ}}Ž|Žzy{|‹|‹|Œ|‹{Š|„‚€‚‚„…}„{„w†t‚r€w‚€„„’‡¡‰¥ˆ¦ˆ¡Š¡Š£‰¨ˆ©‰§Š¤Š¥ˆ«Š©†¤uk~j€†}††€†€ˆˆˆ~ˆ~‡~‡~‰~†…‚Š‡€‰~ˆ}ˆ~‡‡ˆ~Œ}{’z’z’z‘{‘|’{“z‘y’y}„ƒ‚„ƒ„„€ƒ€ƒ€ƒƒ‚‚‚‚‚‚„ŸÂ€Æ~ʀÂÁ€Æ}É}Ë}ÊÅ~Å}Í€ÉÈ|¤z€u‰{ˆ}ˆˆ€ˆˆˆˆ}ˆ~ˆ~‡€ƒƒ‡„ƒ„€„€……‚†ˆŒ|†|€|}}†}‡…~}~}€~ˆ~ˆ€„€„„ƒƒ‚€‚€‚€ƒ€ƒ€„„€ƒ‡„›«z½vÅrÒsÓrÔrÕrÓsÑtÏsÍwÁyµ}¢š„„†€‰{‰{‰}ˆ~ˆ~‡€ˆˆ~ˆ}‡~…€„‚ƒƒ„‚‚‚‚ƒ„„ƒˆ‹|„|~|z}|}‡z‰y„z|}z€~„~‰…ƒ‚‚ƒƒ‚€€€€‚ƒ‚‹ƒ¦‚€~†{“}•|˜|›{˜|–}~ˆ‚}~ƒ~§‚‰†}‰|‰|‰{‰{ˆ}†‡€ˆ€ˆ~‡~„€„€………€ƒƒ‚ƒ‚ƒ‡Š|‡|‡|…~†~ˆ{ˆx‡xƒ|„€„~…}‰}†~ƒ‚€‚ƒƒ‚€€€€€€€‚‚‹z¾y¹{¢}Œ}‘}–~†€‚„ƒ}•Ÿ{¦x¾wÀƒ}‰~‰}‰|‰|‰}ˆ~‡€†€‡€‡ƒ€ƒ€„€…~„‚ƒ€‚ƒ‚ƒ‡~‰|‡|‰|‰|Š}‰{‰yz‰~…‚†~ˆ}Š}‡~…ƒ€‚ƒ‚ƒ‚‚ˆvÀrÒsÐuÇvÆxÄ{¬Ž‹}›x¿vÉtÊqÓrÒtÅ~ˆ€Š~‰|‰|‰|‰}‰~†††ƒ€‚€‚‚‚ƒ~†|ˆ†ƒ‚‰}‰|†|†|‡}‡}‡|‰}Š|……ƒ…~ˆ}ˆ~†…ƒ€‚‚‚‚‚€…w½rÐrÏtÉw¶ŸŽ~Š‰‹|—y¯sÃqÐrÐuÃ~Œ~€„ˆ‰}‰}‰|‰}Š}ˆ~†…‚‚€‚‚‚‚€‚ƒ€ƒƒ€‹{yŽyzzŒz‹zŠ|‹}Š}‡‡~ˆ}‰|‰|ˆ|‡|…~„€„‚ƒ‚ƒ‚€‚y¶tÐsÐvÁ}ƒ€ƒ€…€…€……~‚w¦tÏtÏwÁ~Ž‚ƒ†‡€ˆˆ}‰}‹}Œ}ˆ~…€€‚€‚€‚€‚‚€‚…€Œz•w—v•v•v•v•wz{‘z‘y’w‘wxy‘yy‘xy‰~…„‚‚‚‚€~{°z¨y¡€€€„†‡€ˆ€†€~Š{¤{}›€„€ƒ}„€ƒ„‡ˆ~‰}‰}Œ}‹}ˆ~‚ƒƒ‚ƒƒ€‚€†€{Œ{Žz‘x‘w‘x’x‘z’z‘z‘y’y’yzz{{‘{‘z{‰‡~…€ƒ‚‚‚‚‚€ƒ€„€ƒ~‚~‚~~€‚~‚~~‚€„„|…|„‚†€ˆ‰~‰}Š}Š}‰~ƒ€ƒ„ƒƒ€ƒƒ€‡~Š}€‚Š|ŽyŽzŽz|Œ|Œ{Œ{Œ{Š|Š}Š|Š{Š{‹{Œz‹{‰}‰}ˆ~†„€‚ƒ‚‚€€€€€€€€€€€€€€€€€€€€€‚€‚†€‡}’}‰~‚ƒ‡€ˆ‰~Š}Š}Š~†€ƒ€„€„€ƒ€ƒƒƒ€†…}~‚~„…‰}Š|Š{Š|Š|Š|Š|Œ{‹|‰|Š|‹{Œ{Œ{ŒzŒ{‰|ˆ~ˆ~ˆ~ˆ~†„‚ƒ€…†€…„………†„€„€‚€€€…€‡~|…~„}ƒ}‚ƒ‡€ˆŠ}Š}‹}Š~‰~ˆ~…€„€„€„€…€„…~ƒ€€‚ƒ†‡~ˆ|Š{‰}ˆ€‰}Œ{‹{‰{‰|Š|‰|‰|‹{‹z‰|ˆ}ˆ~ˆ}ˆˆ„€‚„€…€…€…€………††…„€ƒ€€ƒ‚…€v„}„ƒ}ƒ‚†‰€‰~Š}Š}‹|Œ}Š~ˆ†€†€†€…€„„~…„€ƒ…€‡ˆ}Š}ˆ~‚†Š{‹|Š{‰|ˆ{‡{‡{‡z‰z‰}ˆ}‡~‡‡ˆ†ƒ‚‚‚‚‚€‚€€€€€€‚ƒ‚‚o{ƒ€‚‚~‚‚‚‡€‰~‰}‰}Š|‹|‹|Š}‰†€…€…€ƒ€ƒ€„€ƒƒ„‡ˆ|‰}‡~…†}‰{‰|‰|ˆ|ˆ|‡{‡{‡{ˆ|ˆ}ˆ~ˆ~„…ˆ†…€„€ƒ€‚‚€€€‚‚‚‚€‚‚g{m~{}{‹~‚ƒ‚‡‰~‰}Š}‹|‹}Š}Š~ˆ…€„€„€ƒ€ƒ€ƒ€ƒ…ˆ~‰}Š}Š}Œ|Œz‹y‹{ŒzŠzŒzŽzz{Œ|Š}‹}ˆ‡ˆ‰~ˆ}ˆˆ~‡~……‚€‚‚‚‚‚‚‚‚‚i}i|r{ˆ}ˆ~‚ƒ…‡‰~Š~‰}Š}Š}‹}Š}†~„€ƒ€ƒ€‚€‚€…~‹|Ž{{‘z“y“v”u”u”v”w•w–w•w–u–v–x”wŽ{†ˆˆˆ~ˆ~ˆ~ˆ~‡~‡…ƒ€€€‚‚ƒ‚ƒ‚„‚ƒ‚k€j}j}w€€‚~ƒ}ƒ‚‚‡€‰Š€‰~‰}Š}‹}Š|ˆ}†ƒ€€‚€„{“w“v˜v˜v—v–v–v”v”w•x•x”x•x–w–w—w”wŠ}†ˆˆ~ˆ~ˆ~ˆ~ˆ~‰}ˆ~†~ƒ‚‚ƒ€„€†€…mll~s‚„€ƒ}ƒ~ƒ…‰Š~Š}‰}Š}Š}Š|‹}‰~ƒ€€‚€„€‚‚ƒ€Ž{‘x‘xyzŽ{{{Œ|‹|Œ|||Œ|‹|Œ|Œ}{‹~ˆ†‡€ˆˆˆ~ˆ~‰}‰}‡~…ƒƒ„€†€‡€nƒl€i}nz„€ƒ~ƒ|ƒ€‚‡Š~Š~‰}Š}Š}Š}‹}Š}„€‚€„€‚€†Šˆ€‡‚†„‡‚‡~†~†~†„€…„€„€„€†„…‰……„‚‡ˆ…€ƒ‡€‰~ˆ~ˆ~ˆ~ˆ~‡}ˆ~ˆ…€‚€€€ƒ…€‡‡€k‚k€h{h{k}z€ƒ}‚~‚ƒ€‰~Š~Š~Š}Š}Š}Š}‰~…~ƒ€‚€‚€€„„„…‚‡ƒ…ƒƒ‚‚‚ƒƒ‚‚‚‚‚„†‚†‚†‚„„‚ˆ€‡€†€‡ˆ~ˆ‰~‰ˆ~ˆ~ˆ~ˆ~‡~…€‚€ƒ€††€k€k~hzfxezt€„~‘}ˆ~‚†Š~Š}Š}Š}‹}Š}Š}ˆ~…„ƒ‚‚€‚€†ˆ‡€ƒ‚‚ƒ€„„€…€†€†€„€ƒ‚…‚†‚…ƒ‚‡ˆˆˆ~‡‡€ˆˆˆ~ˆ~ˆ~ˆ~ˆ~ˆ†ƒ€‚€„€„€ki~fyfweyk}{„€Œ~‡}‚‡‰~Š}Š|‹}Š}Š}Š}‰~ˆ„ƒ‚€€‚€ƒƒ‚€‚ƒ„…†‡‡†…€‚€‚‚€‚†‰‰ˆ…€ƒ†€‡~ˆ~ˆ~ˆ~ˆ~ˆ~‰~ˆ~†~ƒ€‚‚gg~fzgwfxh{q€~€ƒ~ƒ~‚ƒ‰Š}Š|Š}Š}‹}‹}‹}Š}‡€ƒ€€€‚ƒ€‚€€€€ƒ…€€€€€€€‚€ƒ€‚‚‚€‚‚…‰~‰ˆ‡€††‡ˆ~ˆˆ~ˆ~ˆ~ˆ~ˆ~ˆ}…~ƒ€€€hh~gzfyfwgxhyv€ƒ‚}‚€ˆŠ~Š}Š}Š}‹}‹}Œ|‹|‰~…€€€‚€‚‚‚‚‚€„€†€‡€ˆ€‰€‰€‰€ˆ€„€ƒ€‚‚‚‚‚‚…€‰‰~ˆˆ‡‡€‡€ˆ‰~ˆ~‰~‰~ˆ~‰~ˆ~‡~†ƒ€‚‚ih~gzdyfxgyhzrƒ‚~‚‚…€Š~‹}Š}Š}‹}‹{‹|‹|Š}‡€€„†‚‚„€ƒ€‚€ƒ„ƒ‚‚€ƒ€„€€‚ƒ‚…‰~Š~ˆ~ˆˆ‡‡€…€†~ˆ~‰~ˆ}ˆ~‰~ˆ~ˆ~‰~ˆ€„‚ih~g|eyh{i|h{o}}ƒ‚€‚~‚€‡Œ~‹}Š}Š}‹{‹}‹|‹}ˆ~€€€ƒ…€‚€‚‚€ƒ…€‚€€‚„ƒ€‚ƒ…Š}Š}ˆ~ˆ}Š}‰‡‚ƒ€‡ˆ‰~ˆ~‰}‰}ˆ~ˆ~‰}‡€„€j€j~i{h|i~h~h~j~u€‚‚‚~‚‚Š~‹}Š}Š}Š}‹}Œ}}‰~‚€€€‚€‚€ƒ‚€‚€‚€ƒ€‚€‚‚€‚‚€„„„€‚€ƒƒ…€ˆ~Š}ˆ}ˆ}‰~ˆ~†~‡~‡‡ˆˆ~ˆ~‰}‰}‰~‰~‰}ˆ~‡l‚ki~i€l‚j„hƒh‚o}‚‚‚„ƒ€‚†€Š~Š}Š~Š~‹~Œ~}Š~‚€€‚‚€„…†‡†„}„„…€„…†~†„€…€‡ˆ€Š€Š‹‹‚‰‚‰‚Š‚‹‚‹€Š‰~‰~‰~‰~‰~‰}‰}‰~‰~‰l‡lˆm‰nˆo‡n…l…n…s…|‚€}š}~‚‰~Š}‰}‰}Š~Š}Š}ˆ~ƒ€€€‚ƒ€„€„ƒ€‚€‚‚‚‚€‚€ƒ€‚€†‰…ŠŠ”‹šŒŸ‹¤Š©Š«‰­‰­Š®Š­Šª‰ ˆˆˆ~‰€‰‰~‰}‰}‰}‰~‰~ÏÏÏÏÐÑÐÏÑÑÑÐÏÏÏÊÄÇÄÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÎÏÏÏÏÏÏÍÈ¿´¯¥ •ƒ}uikwjijppreidY^b^]e_W\b_aXRPW\[_e`gUVYWVWVU[WQW^^]YVMD?:<9534?3ÏÏÏÏÏÐÏÏÐÐÐÏÏÏÏÊÃÇÄÊÎÏÎÎÏÎÎÏÏÎÎÎÎÎÎÎÍÍÌÌÍÍÍÍÍÍÍÍÍÍÎÎÎÏÏÏÈ· ¨™w{t`]bs|p_`nlg[Z\^_ZYVR_ga^UPPRZY_hihQT^bZSQMSTZ`c]WQNKBA97654187ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÂÆÂÈÌÍÍÎÎÎÎÎÏÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÎÎÎÎÏÏÏÍ挊snnqnmopu}y`ccef\\\]\\TTV_e\\YUSTVUX]hcRQY^VMNOSS]cba[RHDA=95333102ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÃÇÃÉÍÌÍÍÌÌÌÍÍÌÌËËËËËËÌÌÌÌÌÍÎÎÎÍÎÎÎÎÏÏÎÎÎÎÍ·™{mqwyv€~ggd^hZbdd[[XW`YUYeeUSVYXUOMVPZhSOTXYPNSQPZa_bWUUOG?<86431..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÄÂÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÊÊÊÉÊÌÍÍÍÌÌÎÁ’Œ†€tdn{mdiaaaVjdZYUUO]`^`ql[QQW]VNKUSS[TZZYVOQRV[^ZY[SRYPH@?@<641.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏɺ½½ÊÑÐÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍËÌÍÍÍÌÌËÉËÌÌÌÍÌÊÈƧŒzzti_kqpd`c`Y]aVSZTTQZeeficgVRW[UPRUTTYS[]aWTTS[[\ZYVSPRQJ@@>8652/2ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏǻÿÈÐÏÏÏÏÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÎËÌÎÐÏÍÍÊÇÊÌÌÎÏÌÈÅõ¢|scVTb_Z^c`]d`XVSMOUZ`aei_\SPQRPNUSTR`MVW[\YZY^[\ZTRTPSMFD>B<530/4ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏǾËÄÆÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÍÊËÌÍËÆÃÄÂÆÇÊÍÎËÿ¼¬‚~sVTSQOWXoqfcc^ZMD@MZS\cb^WTRMMKINKQMYOSWWYX\]\]^YTPSOWPEG@?=30/..ÏÏÎÎÎÏÏÏÏÏÏÐÐÏÏǾÊÃÄÎÎÍÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÎÍËÉÈÈÉþ¸Ã¿Â¾ÆËÈž¯ ©’~v`WY[Ygi`ohf_WVSRTVdTQ\]TOWXSNJHQQSXXSQY[WVXZWRR\WSXRXV@67220//.-ÏÏÔ×ÖÐÍÎÎÌËËËÌÍÆ¿ÉÂÂÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÎÏÌÄÃÃÁĽº­Á¹À·ÀÈÀ¾¸¥‡†p†}f^a\]elXn^V_TQUU_\XOQTXRRSWWNMNTSS\g^OVZWWWW[TM\[Z]]NC<6541/.-..ÐÞëïîãÒÌËÅÂÁÃÆÉÄÀÉÂÀËÍÍÍÍÍÍÎÎÎÎÏÎÎÏÎÎÎÎËŽ¶½¹²¤½´¿´·Ã¶¼µ—…}phdecbT\b]We\T]_QSTX^UUTPONLMOTYWQSQQTe[MZ\XSOOYZPXYRNIA9=<962/---.ÞïÒ¬¸çèÌ¿¹µµ¹½ÂÄÂÉÆÂÊÌÌÍÌÌÌËËÌÌÌËÌËÉÉÉÅÅÁµ¯ª¯²© ­®¹±´¹¯­¤…yzwnlVbe\YcWR[j_X_ZLQSU^abURNMLPSNUVLQUPS^^Zb]UPLMYYSYQRYJCB=;;972....ïÇzjp¬ëÙ¶²¯°µ¶ÁÆÆËÉÅËÍÍÍÎÍËÈËËÌËËËÊÇÄÃÀÁ³£Ÿ¥¦œ™¢­¯¬®ª©šˆwnlgjl\VXWbaWW^\Y`WRVUTVWaXSUPOSUSTUXSQYPSYaZ`XZ\W]`VTZXUQA?G<877752011ä‰wwsÍ躯¬¯²³ÀÄÆÊÉÃÊÎÎÎÎÍÈÂÉÌËËËÇÁº¶·¹¼­ —‘›ž™”£±­¬¢šž”zieeUhbSMHPXaZRR`i_bp_`e_UXPQQPQSWSVTVZSYOP_^_h[c_jh`UQOOLLA>A8855664/03É€ˆxÂéÁ«ª°°³¼ºÂÉÈÁÊÎÎÎÍËúÇÍËÇÅ»§Ÿž¦§žŸ˜Š–›“’ «¬ ’‘‘ˆweei[]WRUSRZa_\jn`QVcOWrp\RPLMMLILNNONORZTW_VTZY`f]\WPJMJGGDI@8555554016¶…Š‚~ˆ¿éǤ§²²µ·µ¾ÈƺÁÌËÍÍÊÁµÅÌÉÀ·§˜žŸ–™—‘†–—Ž‘”“Š‹†€vvqcYUX\YPX]XU^i]RR^gfba\TSMLKIIHGEGNLT_]X\WP\hhdV]TNYUIJB?B:864434536=®ƒ…†Œ¾æÛÇŵ­±¯­¸Å»­³ººÁ¾Ç¾²Àƽ¯¥¡—ž¡•–‡ƒ†ƒŒ…Šˆ†ƒ…ƒ‚{xp`WVUV`ZUXVSYhRPP_ieTS[YTNMMKKIFJIKSV^aTZRQnsdg`b^VaZTVH<<;:8543365;?ñ±Œ„Ž¼äíîèÉí¤£¬­¡¢¤¥¥¦«¼´¨¨¯ ›Ÿ–›¡”–Ž‡„†‚‚…z„‹‰…}€~wuqjdXRZgZTUTU_[PZ[^_XRRSSSNLOQLORQHEMQVaTSO_bc`[di\RT^YHUF===:56659995677:=@?¼½¾—Œ‘»âìѾÜëƳ¿Ä¶µ¯²¶Â÷ª¢¡•Ž’›–˜ŒŽ†ŽŽŠŠ‡…‚{€‡€~xywsrmmg[^eccZSTYY_^bYU^VX^ZURJNMPJCEFCAEGEDSIUX\Ybaa^SfbVYYPKFFG;86678>>>žçãæãåçæêëëéåáÛÔÎÉÁ¿µª¤›ŠOMU]ekdUg]JEEE\olhaNG{ƒ…‚€wuxxuutg\`\OQZY[]TU_chb_V\cbSVNLOTMIC>COUV^[Z_gnoqst{z}}z|yl_UPF?:9999;@@@?΀ËïìììììëæÛÉŽ¹¬¨‹ŒkBjŠ•›¡“\J515>>KTSVZZIT~}‚wuwzyurlh]UOMYZ\TVY^\YJYa[^Z[`WLMTPMKMPOQUXZq‚ž¡  ž›™˜—•””•••”–—Z:899>IUUTSOatJ<:<=CIKK¦Á¹«²¶§ ™’’’˜£­}|xƒ_yG48KXCJRPPOOPQH_|a@S]Ž²²¬§¢œlH99EMPUOA>;:?iY?:=BHHEQú—}¦ž¡ƒIEDITJEFEHH~ˆwu]‚<67tœfINIHHMPPKPvlA8>wvd€ywzvnknihde^hpd[OR\\WSSZYaZW[f[PJEB@@BB@@EJAk}`MdWMG@GTSB@HKNO@79:;:MgE=?FKJCZ¹pp‰‡§dECEkje[IJG]•uv{g}8=Ay“”UA866BNLIQƒI52TZ€{x||rjjllga^\X_[OPXXPOS]\[YZ^_UTNGBAGJC?CQQIŒpY=J5688GUOIFILKG=<==:9CiL>D•œžpxoBKGlŒˆUI=879=99Y ‰@65A–ax|uxysigktygYVVSSROWYPOZ^[X\b^YPSURJGLRJ=?NS] aR:F69C>?NA55CDD;6:ZVDOWWadiFMÌͽ®²·»ÀÃÅÃÀÀ¿—aca][jdXPY\`\YSNOXV[d`bZPPWTMF@?GS[Y[Z_ŠŠGFCE?TŠV?;75666:?ABA>97RSJedXV`iHQi‘Â×ÙÙÚÛÞàßßßÞÞ®77:MJ>9;86=@==A??@@;;8:M[ie_aga^a^Z\VVTUZ^URXZQNOV[YYXbzƒ†Œ„dOWag{i>rs@;;@DCHKM^ebgeM>?>><;?E]QIGNdkZZm‚©¸ÈËÊƲª·² ©Äü˹iHO==;989999888898899865689FCdwuupnknlkpnmnkp{Š’‘Š‹’“Œ‡’­”}{{|~sc_RTPIox^ULABMOLMOQ[aac_QMMHCF[jwuS^iiisrrrsuyz{{xwzzy|}†¹‰HD79:867877787787787;Ngy„‰”œ©¨¨«¬­«ª©¥¡’z{yvvwyxyy{}ƒŒ–¦´²«š‰{smmonŒ¨n{vxmmaR[mommmjjiijlnpjX_hgm~|_optuspnmnpqsuvvuuuwwy{}}¤ƒSSM;464566666;>6777?Œ¥¨¢›˜˜”“ŒŽŽŽŽ‘”š™vsuvwvvwvtsssqqsx„‘Ÿ©®­§›‹}Ž®|mbf][[Wcrga^^]]\]^_agl_ZZ[^`ZQVdu{vrolklmnprsssrrqprtx~sc–¥ K04444557;;7773rŸpomjgdeefjgedcabbbefw}gilnoruvvvutqpppqqqswŒŸ°¬~¡wbVZZXWWZ\ZXWWWWWWVWXYXWWXYXXXQOWX[zwrolkklmnoqrrrqppptsUq¡²µJ.23232698861Brbqtuyuu~ˆ©ª‹‹…|{zvrmxjceefhloruvxvtsqppooppomovlŽg]SVWWWYYXWWWXYYXYXXXXXYYXXXUUUQVUTzyytpmkjjiknopqppqqoq@X¤Ê¶ÜµmaKNPWEY—EIWy“c|—¢¢¢•]FHDs¥¦¥  aqedeedeehknruwxxvtspnmoqrik|ecg`X[Z[\]\YZ[[[[\]\Z[]\Ybld’ZQVXXxxyxvqljihhilnnoopqdX9:ØÓòòÄ‹\]f’q‰ÍdkprašÔØÛÜÝã¬Y]SMgÕåÞ×ÛÞË{belgedccbbcdfkpstvwxxvrnln`fm`d¶¬«©\RTXeY[\bd[]WfZLMZÂμÇÀ_QSWWwxxxxwrmjhfgijklmmo`C7.@ŽžÂ½ªnfk`[Â÷”^o_gçáßÞàå–M_iS_ÍàÝÚÚáÔbqWmmjgedbbabbbfkoqsuwxwvsrZQ_XVÁ×ÜÞõ©MDBŽ|GRZkŠ¤¯½ÏÝÉ»¥‚[fD?>@CDA:Gu·a[lo_SG>@?Wg\hilnmkgecbca_^`cfkpstuxaBFLOS]x’µöÃPHC©¹_­ÀoÍWLUŸêÀzhTQNJTXWlnpqstttspkgdbaabchZ3-067=DM[n…¿ñíîîëïë´lb\F<7998899U”^RB5799;BHEmVfefjmonmjdcbcc``abfjnqubACIMPSUXw—€rn`sἪµ§æblpo{p[YVRMJZ]\jloqsstuutqmiecccce]5/0259767CPI::>;fVdjfeinonnliggggfc`acfkp`BBILPUX\^^`djsw¦ÞçæáÁ€rkgdcd^XUPLJagdhjmoqssuuutrojfdccd]60027;QPK\lˆÎÌÍÎÎÖÇ”ThJMHGXWJBB8445569t¨†B<;6W^\kjegijlnonlkhgggfbaach_C?IKOSW[gsz}„–¥ºº¨œ•ƒ‚~xo^WUPKJbifcgjlopqsuttsqolgccc\8501>`СD<@ZQLOTUt¤ƒLaJPNKIJKKLE76679Hc”‘QPO?IYXgeligffgiknmifedddba`a[B=HKNRV[hu|~¨ÞÞÝÞßÞßâÚyvtk_XSPKMfki`dgilnoqrtttsqokfcc\8:117gÓ¥w€ŽŸ™•rs‡Ž’wGGJFIOTQKFHQG@:AIPQ`]E@@A=?BEA@HQb„ˆrf^]\ZYZ\]^]\\_ZYZ_dhouz|‚‡ŒŽ„ƒw‚}qkofcbcggfcba^_W59JNRTY^gcPB@G^ddbbc\YT>3>Scbg`RNR©”q̽p^ehijmnoprqqqqni]3;3/,/0145569;Do}bbhbC:77ADDFFGGGBAYjjb]ZHBE]gs~¸ÈÏ‹ZbfgiklmmnooncS09424@EE;41/38;Ce…ŒzzvaYZYZZZY]]MJGFHHHJKIKYFCBBCBA?@@???Vkkjgecbehj^,1<<=EOYeowrhcehhhjkjhhjmtohZNE>>=::8521/.;B@alkYx¯ÁÍ®c^cghklllnmmiaQB>=?@@@AA>>?AAAZ€xt½ìáØ`dgfffU<;?@BBCEG?JdH;=>=97777878??Pllkkkgdbc\+/4DX5('+*$###$$###$$%'*.7C>''<]VA`kjZ[{¹ÅÍ›_aegikllmmmlg`\YX[\ZZZYZ[\]_XVraR¿åËéÕplrtr€B?:ACBA@AA;a™W;B?<756667569>@;8533212445:?HPZb^,!+/9>]iiSLO‹½ÅˇZ`ceghjklmlljgfedb_^]]^``bfaSYPE~µ•äàww…†šu=<<====;;;;<==<;<=<=<'"-149Wcc^SNXš½ÈÂsV^`behijllmlkjihd`^]]]^^ac`KGJGJQ\ ¥¬¾¹°ªX>=35:<:78?==PWFK=45=QJC8545?@HejhgedaXK,/2..7542333431//..11/---,,.%$1213Vb_fZRLc«Á̺k\`begijkmmnlkljgca_]]^^`a`KCGFMQX\l«ÛoGl¥EA923?BdlhlbRNKvºÃЮc^begiikklnmmlljfda^]]]_aaK@HGNSW`t·ÙE6ƒ‹<@514X~xL474101245:CDKUZWSD45B@LgZDHI]d_ZPHGHJKORVZ\ZVSQQRSSTTRQRTY`fgghklpqqnqfSMQŽ½ÃÒ˜\bdfgijkklmmmlkigd`]^]^`aI@HGMV_ej’KMœh479:=7138Qgeefeeegecb_]^cgklkhda_^^_``][\^afilmnoqnnodTUiŠ¾ÉÔ¸jadehjkkllnnnmlkieb_^^^>;FGGJRN6HZ5>;?8BK>;:87779HJID;@`VZcgfeeffffghgfc_^`bejllkgda`````_]\\_bfjllmppniYPTT’ÄÇÓ¦``bdfgijklmmmmlkiea_^^;7GGOv„hKQdƒQF65667899:;:>@DA>??==>>>=>>=>A?>=<;;;;;<=<<<;=>>@AA@AF`pdknqcbbbbcdddeeffggfdb`^`bhijifa^Z[\[ZZ[[omhhrpsjTMNMW¦ÅÊÓ•b`ceffgiiijkkjfcZL2-32919?>>?>=<;:999889999999:99::;>==;;ACR`[LDZÃƹs_abbddefffhhghhgeca__cfjljhc]\^^^]\vxomqrqoqq[NLPÃÇ×°`aefffghhjkjjigd]G1++,,&$$/ZbfPN`[IHIB<>>>?@BDF[fKIGEDDBGGOpž¾¸ ©Ë4Rdfe`cabbcddeffffgeeghgecb__`dikkhc_^_^]\sqkjnnlikmeMKK_«ÃËÖ‰^deefhijjjjjiheaYE;:<<>=<7TQUYű­¡ÎͳXKMLPTW\l{a[_[[YVNJ~ñêÒÁ¾Îî2Ngefecbcccddeeedefedeggfdc`^]_cgjlid`^][ZpmkejlptppkRJLL|¾ÂÒÅnafffhjkkjjjjihd_ZWVUTUUTILDBSÚÝϾ¼ÎïóxEIY^^`¢œŸžœ]MNK=Anºã×ÚêíÕc1Kgefecbbccdeeeeffffffghgffc`]]`dhkljfa]\[lfdehksuqst_MKZkÀÆÕ©adeghjkkkllkkjhda^]\ZZYYOK<7C¢ëëæØÙߥoG//.,;kx€€‚fE+--6Myiƒ’Š}nR;1Hhddeca^_bbcdefffffgggghggfc`]]`dilmljf_]hmmgnommqsrlUKNO\¨ÄÊÔ_dfhhjjkllkkkjgedba^\[[PM<4;Idrw|yupzL:>@DLWi‚«œF@OVVb¤‡}z}x\H¯€fTJA;91/IhffffcvÊåá¡addeefffgggfffggfeb^\`eiknnlhyrlmkikmnldPKMMM“ÁÂÕ¬\]adffhhhijjjjhhhfc`^]QS?164:@DMXkƒ®³a‚Èßâæèîëëíïðï”]«ªfSIB<;1/Hgffffecjtqoccddeefffggfffffffea_]`dimonktxswvooimpomkdZNLIb·ÀÊÒ~Yadffgghiiijjihhgea_^QU?/16<>DOWh¢ÓvÝñìììëìììÜçî‰]Á¤„jXNF><9>Lgffffeed```nmddeddefggfffffffeda_]`eimnnowttrmpjjmmmpsiRLKN—ÅÈ׸bbeghgghiiijjihhgfc`_PJ=61/3Lhffgedefddl‰{ededdeeffeedddeeeec`]\_djmnmvpolmnjgjknooiSKKMh¼ÇÐÖˆ^dfhihhhiiijihgggecaO:<>:369=DNa| Ö©XÆèßÛÞàÜÕÊ¿¸±aj¢oQ=6436/.3Kffffeeffede_^cddddddefeeddeffeddc`^\^dilnnpvtplmnohilkkUKKON’ÇÈÔ¹d`begggghhiiihgggfedQ1<<3127>8;:EKc„AJTOLPYME>865/`M>J82X´¶L,6Jefffeeefedcbabeeadeddeeeedeffedeecb^\_ehknpsponqurnilmhWMKNLb·ÈÍÕŠ`ffghhihhhhihhgggffR7>=6.H¬Ç78GN8`W9>>@DMIEFEEA[tGHD6/vÉ’G.7Lfeffeeeeedcbf¨À¿—cdddeeeeefffeeeedca]]_dmlmosvvqvmkmllqfPKMMLŒÈÊÕ¾jefhihihhhhihhhggghSOK;7/EË’248YWK‰m\\]swggefhp‘anm32255+01;Kffefeedddcbba’æîçœbbcccdeffeedddeeec`][^lqvspsqmqkjjhkucMMMMK]·ËÎÕ•afghhiihhhhiiihgghU;E;=32/96641T`?`upxŠƒfhoxYRNDEP854422339Jggeeeeedccbab`°ªœgabbccdedddccdeeedb`][rxvrkiknpkklvuufb[MLNRˆÊËÑÇudghikjhhgiiiihghgU&3>;34667765BIFHDKUfXf^VZ[MKNMJL6201//001Gghffeeeddcbbba]^[^bbbbbbddcccbbcdddca`_\jjlibabiks}xuwqkpfQLNS[°ËÈתeghijiihghhiiihe\M&1<1/000/.//5?:>?>>=BSA6320..-*,)(()*++*-Fghgfeeddddcbbbbbaabbccccdddccbbbcddcbba`tommjtoqirutuvm_TKLML{ÄÆÎÓ„agghhhggghhgebZUL%.9**,*('&&'&$##"""##"$%&&'()'*/02($&')),Dfgffeeedddcbbbbbaaaabbbdeddcccbbbcdcbcba…}‚~ww{xkhqxxz~se^SKKMMRŸÉÆÖ¹ebdeffefghggecc\P).8*''&,034897567878899:::;>=9=@A@)"$&(,.@cecbaaaaaa```_^^^]^_abbdeddcdcbcbbcbbccb†~vytrkmuqkipjbaaULLL_e|ºÄÌ׎^bcdeffffffeed`P..7,*&&,//11100.//00......-.--,*+)#"$(*,2Hq{€‡Œ’”–™Ÿžš—‘Œ„zleccceedccbcdccbabccc‚zzysosecir{skmfZMLLW]Z˜ÄÄØ¿gaccdefeeeeddb_Q405-2.*&$#####$#####"!"""#####"$%$"'Aaz›§¯²²±¯®¯¯®¬¬««­®°±°°¬qdhfefedddedcbabcdc…{†z†z‡z‡{‡{‡{‡z‡z†z†z‡z‡{‡{‡{†z†z†z‡zˆz‡x‡z‡z‡z‡z‡z‡z‡z†|„‚~ƒ|…w„uƒt…t…t†v‡xˆw‡x†x†x‡yˆ{‡{‡z‡v‡u†w†z‡z‡|‡{†z‡y‡z†{…~ƒ€‚€ƒ€ƒ€‚†y†z†z†z†z†z†z†z†z†z†z†z†y†y†y…y…y†y†y†y‡y†y†y†y†y†y†y†z†{‚€‚|‚yƒt„t„sƒv„u…v†x‡x†x…w…v†yˆ{ˆz‡z†w†t„v„v…x†y†y†x†w‡y†{„}ƒ‚€‚€€…z…z…z†z…y…y†z†z†z†z†z†z†z…y…y…y…y…y†y…y†y†y†z…{…{…z…z†z†zƒ€‚‚{ƒu…u…uƒv„v…w…y†z…x„x†w‡z‡{‡z†y…x„v„v„u„w…y†y‡w‡x†y†y…}ƒ}‚€‚€€…z…z…z…z…y…y…y†z†z†z†z†y†y…y…y…y…y…y…y…z…z…z…z…|…|…{…{…z…|„‚z…x…y„w„w…y…{…{…y…x†wˆy‡z…{„zƒyƒxƒv„v…x…x‡x‡x‡y‡y†y„~ƒ~‚€‚€€€€†y…|„|„{…z…z…z†z†z†z…z†z†y…y…y…y…y…y…y†z…{„{„}ƒ~ƒ|„|„|„|„~‚€€‚|„z„x„w„x…z…|†{…y…y‡zˆz‡z†{…z„y„v„v„x…x†x‡y‡y†y…y…{ƒ~‚‚€€€„|‚‚ƒ~„|„}„}…{…y…y…z†z…z…z„z…z…z…z…{…{„}‚}ƒ~‚‚}‚~‚€ƒ‚~~ƒ|…y„x„w„x…z…z‡y†y†{†|‡|…z…z…x…y„w„v…x†z‡z‡y‡y†x…{…}‚‚€‚€€€ƒ‚„…ƒ€ƒ€ƒ~„~…|…z…z…z…z…z…|„|†{†{…|…|„}‚€€€€€€€€€‚„}…}ƒ}„}„{…y…x„w„w„w„w†x†z†{†{„{…{†z…y…x…w„w…w†w†x‡x‡y‡y…z„}‚~‚‚€€ƒ„„€†~ƒ€‚ƒ~…}…|…{…z…y…z…}„}…|…‚€‚€‚ƒ~ƒ~‚€€€‚}ƒ}…|…|…|†|…{…y…w…v…w„vƒu„x…{†}†|…{„{…{…y„x…x†w†w†u†u†w†y†y…z„}~‚‚€€ƒ‚‚ƒ‚€‚€ƒ€„„~†|‡z…|„ƒ€~ƒz…z…{†|„|„|ƒ}ƒ~„~ƒ}„|…|‡z†{†|†z†z…y…x…w…x…x„x„z…z†|†|…|„{„{„z„w„x…x†v†u‡u†v†w…x…{„~‚‚€‚€ƒ~€ƒ‚€€~€~„~…~…€‚ƒƒ~‚{‡xˆx‡w‡x…y„z„{„z…{„{…y‡y‡x†y†{†x†z…z…y„x…x…y…y…{„z„{…}…|„|ƒ|„{„z„y†x†x†vˆv†v†u„vƒ{‚~‚‚‚‚}ƒ€~ƒƒ€€€€€€€€‚€‚ƒ‚†‡€ˆ~‰ˆ€‡ˆ†„{„x…y„y„x‡w‡w‡y‡{†y…{…{…y…w…w…x…x…y…z…{†|…}ƒ}„~…|…z…w†u†x†vˆv‡v…vƒv‚z‚~‚‚‚‚‚~ƒ€}‚~€€€€€€‚€ƒƒƒƒ‡€Ž}Œ}‹}‰ˆ‹€}}}Œ~|ƒu†w‡v‡v†vˆvˆy†{†z†z…z…y„v…u…v…w…z†z…{†}…}„|„|…z…|„z„{„~„|„}…}„}ƒ~‚€‚‚€‚~‚~ƒƒ~}€~~~‚~„~…~„}„~„„…„}|z„{„|…{‡z‡{‰~Š}€‚sˆuˆvˆu‡uˆvˆy†{†{…z…z…x…z„z…z‡z‡yˆz†{†~†~…}„{„}„‚‹†—ˆš‰›Š‹ž‹‹œŠœ‰šˆ–‚‰€~}ƒ|…‰|€~~€~~‚~‚ƒ€ƒ„|†|‡€„†}…|„}…{…x„z…x…x‚~†~‰|‚€t‡tˆt‡u‡uˆv‰y†y…y…y„y„z…{…{†yˆyˆz‰{ˆ|‡~…~…„}ƒ‡ƒ‹„„Œ…Š‰‡‹‡‹…‹„‹„‹…‹††‰ƒ~}ƒ|…‡‚€~€€ƒ„„„†€„{‡‚‡|‡|…ƒ†~‡xˆxˆw…y‚ƒ€ˆ|ƒv…tˆt‡t‡u‡vˆx†w…x„yƒy„z„z…z†y‡yˆzˆ}ˆ†~…ƒƒƒƒˆ…‚„{…{†|‡{‰y‰y‰y‹wyŒx‡€ˆ}|„z…ƒ„„…„‡{ˆxˆxˆ|‰}„ƒ†ƒ€ˆ{‡|„‚†‰xˆyˆz‡|ƒ‚ƒ‰|†z„uˆvˆuˆt‡u‡w†x…x†y„y„z„z…y†x†xˆy‡|†~„…ƒ~‚‚…ˆˆ‹|‰~ˆ~ˆ|ˆ{ˆz‰zŠz‹zŒz‰}€Œ}…y†rƒ‚‚ƒƒ„„€„ƒ~„„~„‚…„€†|†}…~†}‡z‡|†}†}ƒ‚‚Š{‰}|…{…xˆx‡v†v†x…x†y…z„z„z…y†w‡yˆzˆz†{…{…}•}£€†ˆ‰|Š{†‡€‹z‹{Š{Š{‹{Š{ŠzŠz‚‹|¡x«nˆ‚€ƒ‚ƒ€€€‚‚€‚€„‹~Œ|‹|Š}‹}Š}Š}ˆ~Š~ŠˆŠ}}‹~„‚~„{‡zˆy…y…z…y…{…|…|„{…zˆz‡z†x†tƒp€i|t–{¶£†‰€ˆ{‡~ˆˆ{ˆ†€†€ˆ€ˆ€‡~ˆ„}£y¨n‡„„„€„€„„„€„ƒ€ƒ‡}Ž}Ž{Ž}}Œ|‹|‹}‹}Œ}Œ}Œ}{{Žz‰}†~…………€‚‚‚‚ƒ‚‚„€…}„|ƒx‡uƒsw‚}‹‚†›‰‰œˆ›‰š‰›‰ ˆ¡ˆ ‰ŸŠž‰¡‰¥Š •p€j‡}††€‡€ˆ‰~ˆ~ˆ~‡~‡~Š}Š‚„Š‡Š~‰}‰}ˆˆˆ~‹}|’y”x”w“y“y•y–x–w•x{„€ƒƒ„ƒƒ„€ƒ€ƒ€„„‚„‚ƒ‚…Œƒ¶ƒ¿‚ÂÀ…º…¾‚ÃÅÄ„Àƒ¼€ÅÆ„Å€¶{…u€‰{ˆ}ˆˆ€ˆˆˆ~ˆ}‰}ˆ}ˆ„ƒ‰‚„„€„€†€…‚†‡€‹}Š|‡|„}…}‰}Š€ˆ‡{†{…}‰}ˆ„„„ƒƒƒ€‚€‚€ƒ€„€††ƒ„’¬zÃwÍsÓsÔsÖr×r×rÕtÓtÔsÐxÇ|¸€¡„†‰{‰{‰}ˆ~ˆ~‡ˆˆ~ˆ|ˆ~†„€ƒƒ„‚‚ƒƒ„ƒ‡€Œ}…|||y}y}„|Šz‡{}|{~|~‚~‰~…ƒ‚ƒ„‚‚€€‚€€ƒƒƒ‚„ŸƒŒ€ƒŽ{{¡z¢y©y§z¤{¡{™}†}}”™…}‰|‰|‰{‰{ˆ}†‡€ˆ€ˆ‡~…€„€„„‚…€ƒ‚‚‚‚ƒ…€‹|‡|„}~‚~‡|ˆxˆx€{€‚€ƒ}ˆ|ˆ~ƒ‚€ƒƒƒ‚€€€€€€‚~¬{·|Š„…€‚€…“‚‹Ž{§xÁ{¤ƒ}Š~Š}‰|‰|‰}ˆ~‡€†€‡‡„€ƒ€„€†~†~„‚‚‚…€Š|‡|Š}‰}‰}Š{‰xŒyŠ|‡€†€ˆ|‰|ˆ}…~ƒ€‚ƒ‚ƒ€ƒz¬rÐrÐvÅx½wÃy´~€ˆŒz°wÈvÄsÊrÓrÐz¤€~ˆ€ŠŠ}‰|‰|Š}‰‡†‡„€‚€‚€‚‚‚…‚ˆ„ˆ……‡~Š|†|†|‡|‡|‡|ˆ|‹{ˆ}€„‚†}‡}‰}‡~…„€‚‚‚‚‚ƒ~z¨rÎqÏtÎuÂy´ ~’~Œ~|œy³uÂrÏqÐsÌ{¢„ˆ€‰~‰}‰|Š}Š}‰~†…ƒ‚€‚‚ƒƒƒ‚ƒƒ‚‰}{‰{ˆ{ˆ|ˆ|ˆ|ˆ}Š|ˆ}…€„‡~ˆ|‹|ˆ}…~„„„ƒ‚ƒ‚‚‚€‚~{¢tÎsÑsÎy©ˆ…‚‚‚€‚‡zštÈsÒuÎ{¢€ƒ†‡€ˆ‰}‰}‹}Œ}ˆ~†‚€€‚€‚€‚‚‚ƒ‰|“x–w•w”w”w”xy{|{zyxzŽzŠy‹zŠzˆ}……‚‚‚€‚‚”z¾y±w¶}‹€ƒ€‡‰‰ˆ€}z©y©{±~‘€}„€ƒ„‚‡‰~‰}‰}‹}‹}‰~ƒ‚€ƒ‚‚€ƒ‚€„‹|x’w”w“w’w’w’x‘y’y’y“x”x“x’y“y“y”y”y’z‹~‡…€ƒ‚‚‚‚„‹†Šƒ‚~‚~€‚‚~…~ƒ€‚‚„|†|„‚†€ˆ‰~‰}Š}Š}Š~„€€ƒ„€ƒ€ƒ€ƒ€ƒ€…€Œ}…ƒ€‹{xxyz|{Ž{Ž{z‹}‹|‹|‹{‹{{{‹|‰~ˆ~†ƒ€‚‚‚‚€€€€€€‚€€€€€€€€€€€€‚ƒ€‡}’}‰~‚ƒ‡€‰Š~Š}Š}Š~‡‚€ƒƒƒ€ƒ€ƒƒ…‰}„|…„‹|‹{‹{‹|‹|‹|‹|‹|‹|Š}Š|‹{‹{Œ{ŒzŒzŠ|ˆ}ˆ~ˆ~ˆ~†„‚‚ƒ„„€ƒƒ€„„„„€„€ƒ€€€‚‚‡~|…~„}ƒ}‚ƒ‡€ˆ€Š~Š}‹}‰~ˆ~ˆ~……„€…€…€„€…‚‚ƒ‚ƒ‡‡ˆ|‰|Š|Š~Š}Œ{Œ{‰|ˆ|Š{‹z‹{‹{ŒzŠ{ˆ}ˆ~ˆ}‰}ˆ~†€‚ƒ€†‡€‡††~†~†~‡†…„€€€‚…v„~„ƒ}ƒ‚†‚‰€‰~‰}Š}‹}Œ}Š~ˆ†€†€†€…€„€„~…„€‚„€…ˆ~‰}Š}†€…€Š|‹{Š{‰{‰|ˆ{ˆ|ˆ{ŠzŠ{ˆ}ˆ}ˆ~ˆ~ˆ‡ƒ€‚‚‚‚‚€‚€‚€‚€‚€‚‚€ƒ‚‚ozƒ€‚‚~‚‚‚‡€‰~‰}‰}Š|‹|‹}Š~‰†€†€…€„€ƒ„„€ƒ„…€ˆ}ˆ|‰~…€ƒ€ˆ|‰{Š{Š|ˆ|‡{‡{‡zˆz‰{ˆ~ˆ}†„€‡‡…€ƒƒ€‚‚€€€€‚‚‚‚€‚€‚€‚g{m~{}{Œ~‚ƒ‚‡‰~‰}Š}‹|‹}‹}Š~ˆ†€„€„€ƒ„€ƒ€ƒ„…€‡}ˆ|ˆ}ˆ~‰{ˆz‰{‰|‰{ˆ{Š{Š{‰|‰|ˆ}ˆ~ˆ††‡ˆˆˆ‡~…„‚‚€‚‚‚‚‚‚‚‚i}i|r{‡}‡~‚ƒ…‡‰~‰~Š~Š}‹}‹}Š~‡„€„€ƒ€ƒ€‚€‚€„‡}‹}Œ||{zyyyy‘y’x’x’x’xzzŽ{‡‡ˆ~ˆ~ˆˆˆ~ˆ~ˆ…€ƒ€‚‚‚‚‚ƒ‚ƒ‚„‚ƒ‚k€j}k}w€ƒ~ƒ}ƒ‚ƒ‡€Š~‰‰~Š}Š}‹}Š|‰}…„€‚€‚‚€ƒ‰}x’x”w–v—u—t—t–t–v—v—u—v—v˜u˜v˜v–vŒ{†ˆˆ}ˆˆ~ˆ~‰~‰~ˆ~†~ƒ€‚‚ƒ„†…mll~s‚€„€„}ƒ~ƒ…‰Š~Š~Š}Š}Š}‹}‹|ˆ~„€€€ƒ‚‚Š}’w”v•v•w”x“y’xyzzz‘zy‘z‘y’y“y‘{ˆ†‡€ˆˆˆ~ˆ~‰~‰~ˆ~†ƒƒ…€†€‡€nƒl€i}nz„€ƒ~ƒ|ƒ€‚†Š~Š~Š}Š}Š}‹}‹}‹}…‚€…€„€ƒ€‹}Ž{Œ{‹}‹}‹}Š}Š}‰~‡€‡~ˆ~‰ˆ‰~ŠŠ‚ˆ€‹ˆ€…€ƒ‡€‰~ˆ~ˆ~‰~ˆ~ˆ~ˆ~ˆ„€‚€€€ƒ†€‡‡€k‚k€h{h{k}y€ƒ}}‚ƒ€‰~Š~Š~Š}‹}Š}Š}Š}†~‚€‚€‚€€ƒ~ˆ€…„ƒ‡‡‡‡†„ƒ„ƒ‚ƒ‚‚‚…ƒ‡ˆŒˆ…„„ƒ‡€ˆ†€‡ˆ~‰ˆ‰ˆˆ~ˆ~ˆ~‡…€‚€ƒ€††€l€m~hzfyezs€„~”|ˆ‚†Š~Š~Š}‹}‹}Š}Š}‡~…ƒ€ƒ‚‚„€‚„……‹‡†…ƒƒ‚‚‚‚ƒ‚„‚ƒ‚€‚‚„†Œ‡‰ˆƒ„…€ˆ‰ˆ~‡‡€ˆ‰ˆˆ~ˆ~ˆ~ˆ~ˆ†ƒ€‚€„€„€lj~gyfweyk}|„€Š~†}‚€‡‰~Š}Š}‹}Š}Š}Š~Š~‡†€„‚€‚€…‚Š…Š…ƒ„ƒ‚ƒ…ƒ‡„‡ˆ„‡„‡€ƒ€ƒƒ‚ƒ‚ƒ€ˆ‰ˆ…€ƒ†€ˆˆˆ~ˆ~ˆ~ˆ~‰~ˆ~†~ƒ€‚‚gg~fzgwfxh{p~‚€‚}‚~‚ƒ‰€Š}Š}Š}Š}‹}Š}‹}‹}‰~…€€‚„ƒ‚€€‚„‚ƒƒƒ€‚‚‚‚€€€‚€‚ƒˆ~‰~ˆ‡€††‡ˆˆ~ˆ~ˆ~ˆ~‰~ˆ~ˆ}†ƒ€€€hh~gzfyfwgxhzv€ƒ€‚~‚€ˆŠ~Š}Š}Š}‹}‹}Œ|‹}Š}†€‚„€‚€‚€€‚€†„€„„ƒ‚„‚†„€ƒ€‚‚‚‚ˆ~‰~ˆ~ˆˆ‡€‡€ˆ‰~ˆ~‰~‰~ˆ~‰~ˆ~ˆ~†ƒ‚€‚ih~gzexgxhyhzrƒ‚‚‚…€Š~‹}Š}Š}‹}‹|‹|‹|‹}ˆ~ƒ€€‚‚„‚‚‚ƒ……€†€‡†††„€ƒ‚‚‚ƒƒƒ€ˆ}Š}ˆ~ˆ‰~ˆ‡€…€†~ˆ~‰~ˆ}ˆ~‰~ˆ~ˆ~‰~ˆ€…‚‚ih~g|exg{i{h{o}}ƒ‚€‚~‚€‡Œ~‹}Š}Š|‹{Š|‹|‹}‰~„€€€‚‡€„‚‚€ƒ€‚€‚ƒƒ€ƒ…‚‚ƒˆ}Š}ˆ~ˆ}Š~‰‡ƒ„€‡ˆ‰~‰~‰}‰}ˆ~‰~‰~‡€„€j€j~i{h|i~h~h~ju€‚‚~‚‚Š~Œ}Š}Š}Š}‹|‹|Œ}‹}„€€€‚€€‚ƒ‚€€‚‚ƒ„‚‚ƒ‚„€ˆ~Š}ˆ~ˆ~‰~ˆ~ˆ‡ˆ€ˆ‰‰~‰~‰}‰}‰~‰}‰}‰~‡l‚kj~j€l„j„hƒi‚q~‚‚‚„„‚†€Š~Š}Š~Š~‹}‹}}Œ~…€€€‚€„„„„€……ƒƒ€ƒ€ƒ€ƒ€†€†„€‚ƒ„€ˆ~Š}‰}‰~‰}‰~ˆ~ˆ~ˆ~‰~Š~Š~‰~‰~‰~‰}‰}‰~‰~‰kˆl‰m‰n‰o‡n…l…n…s…|‚€}š}~‚‰~Š}‰}‰}Š~‹}‹}‹~…€€‚ƒ€…††…„}„~„„„„………€……‡‚Šƒ‹„Š†Š†Š†Š‡‹ˆ‹‡‹†Šƒ‰€‰€‰€‰‰~‰}‰}‰}‰~‰~ÏÏÏÏÐÑÐÏÑÐÏÏÏÏÏÊÄÇÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÍÏÏÍÈ¿´¯¦¢•„}ukkwjijppreidX^b^]e_W]b_aXRPW\[_e`fUVYWVWVU[XQW^^]YVMD?:<:534?3ÏÏÏÏÏÐÏÏÐÐÏÏÏÏÏÊÃÇÃÊÎÏÎÎÎÎÎÎÏÏÎÎÎÎÎÍÍÍÍÍÍÍÍÍÌÌÌÌÌÍÎÍÍÏÏÏȶ ¨™x‚{‚u`]bs|p_`nlg[Z\^_ZYVQ_fa^UPPRZY^hiiQT]bZSQMSTZ`c]WQNLBA97654187ÏÏÏÏÏÐÏÏÏÏÏÏÏÎÍÉÂÆÁÈÌÍÍÎÎÎÎÎÏÏÎÎÍÍÍÌÌÍÍÍÍÍÍÍÍÍÍÍÍÎÎÎÎÎÏÎͦŒŠsnnqllnouz`ccef\\\]]\TSV_d[[YVSTVUX]hdRQX^VMNOSS]cba[RHDA=95333102ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÃÇÂÉÍÌÍÍÌÌÌÌÌÌÌËÊÊËÊËÌÌÌÌÌÍÍÍÍÍÎÎÎÎÏÏÎÎÍÍÌ·™{mpvzw~hhd^hZbdd[ZXWaYTYeeTSUXXUPMVQYiSPTXYPNSQPZa_aXUUOG?<86431..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÁÃÁÊÐÏÎÎÎÎÎÍÍÍÍÌÌËËËËËËËËËËËËËÊËÊÉÊËÌÌÌËËÍÁ’Œ†€ven|mdiaaaVjd[YUUO]`^`qlZPQV]VNKUSS[TZ[XVOQRVZ_ZY[SRYPI@?@<641.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÎÏȹ½»ÉÑÐÏÏÏÎÎÎÎÎÎÎÏÏÎÏÏÍÍÍÍËÌÌÍÍÌÌËÈÊËËÌÌÌÉÇƧŒzzti_mqpd`c`Y]aWS[TTQZeeficgVRW[UPRUTTYS[]aWTTSZ[\ZYUSPRPJ@@>7642/2ÍÍÍÍÎÎÎÎÏÎÏÏÏÎÏźſÇÏÏÏÏÏÎÎÎÎÎÎÎÎÏÏÎÏÎÍÍÎËÌÎÏÏÍÌÈÇÊËÌÎÏÌÇÅõ¢~{seWVda[^c`]d`XVSMOUZ`aeh_\TPQRPNUSTQ`NUW[\YZY^[\ZTQTPSMFD>B;520.4ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏƾËÂÅÎÎÍÎÎÎÎÎÎÎÎÎÍÎÎÎÎÎÍÍÍÊËÌÍËÇÃÄÂÆÇÊÍÎÊÿ¼¬~sUSRROVWoqfcc^ZMD@MZS\ab^WUQMMKINKQMYOSWWYX\]\]^YTPSOWPEGA?=2//--ÏÏÎÎÎÏÏÎÏÏÏÐÏÏÏÆ¿ÊÂÃÎÎÍÎÍÎÎÎÎÎÎÎÎÎÏÎÎÏÎÍËÈÈÇÉÿ¸Â¾Â¾ÆËÈŽ¯¡ª“~v`WYZXgi`ohf_WWSRTVdUQ\]TOWXSNJGPRSXXSRY[WVXZWRR\WSXRXV@67320..--ÏÎÒÕÕÐÍÎÎÌËËËÌÍÅ¿ÉÂÂÍÎÎÎÎÎÏÏÏÏÎÎÏÏÏÏÏÎÏÌÄÃÃÀýº­À¹À·¿ÇÀ¾¸¦ˆ‡€p†}f]a]^emXn^V_TQUU_\XOPUXRRSWXNMNTSS\h^OVZWWWW[TM]ZZ]]NC<6541/....ÏÛèîîäÓÍÌÅÁÁÃÆÉÃÀÉÂÀËÍÍÍÍÍÍÎÎÎÍÎÎÎÏÎÎÎÎËŽ¶½º³¤¼´¾´¶Â·»¶˜†}phdecdT[c]We\T]_QSTX^TTTPPNLMOTYWQTQQTe[MZ\XSOOYZPXYRNJA9=<962/---.ÜïÜ´¼æéÎÁºµ´¹¼ÂÃÂÉÆÂÊÌÌÍÌÌÌËËÌÌÌËÌËÉÉÉÅÅÁ´¯ª¯³ª ¬®·±³¸¯­¥‡zzxnlUaf]YbXR[j_X_ZLQSU^abVRNMLPSNUWLPUPS^^Zb]UPLMYYSYPRYJBC=;;972....îЄjp©êÛ·²¯¯µ¶ÀÆÆËÉÅËÍÍÍÎÍËÈËËÌËËËÊÇÄÿÁ³¡žœ¤§œš¡­®¬®ª©š‰wnmhjl\VYWaaVW^\Y`WRVUTUWaYSUPOSUSTUXSQYQSYaZ`XZ\W]`VT[XURA?G<877752011èuxsÍ軯¬¯²³ÀÄÆÊÉÃÊÎÎÎÎÍÈÂÉÌËËËÇÁº¶¶¸»«Ÿ•šž™”¡±­¬£›Ÿ•{jfeVhbSMHPXaZRQ^h`bp__b]UXPQQPQSWSVTVZSYOP`^_h[c_jh`UQOOLLA=@8855664/03уˆ‚xÂ髪°°³¼ºÂÉÈÁÊÎÎÎÍËúÇÍËÇÅ»¨ žœ¥§Ÿ—Š•›“’ž«¬¢”‘‘ˆwedh[]WRTRRZa_\iobQVcOXrp\RPLMMLILNNONORZTX_VTZY`f]\XQKMJGGDH@8555554016À…Šƒ~‰ÀêȤ§²²µ·µ¾ÈƺÁÌËÍÍÊÁµÅÌÉÀ·¨™ž •™–…——Ž‘””‹‹†vuqcYUX\YPX]XU^i]RQ^ffba\TSMLKIIHGEGNLT_]X\WP\hhdV]TMVSIKA@C:864434536=·‚„…†Œ¿çÛÇƵ­±¯­¸Å»­³ººÁ¾Ç¾²Àƽ°¥¡˜¢•–†ƒ…‚ŒŒ…Šˆ†ƒ…ƒ‚{ypaWVUV_[UXVSYhRPP_ifTS[YTNMMKKHEJIKSV^aTZRQnsdg`b]Ub[TUH<<;:8543365;?Ʋ²Œ„ÀåíîéÉÄ®¤£¬®£¢£¥¥¦«¼´¨§¯Ÿš —™¡”•†„†‚…z„‹‰…}€~wuqidYRZg[SUTU_\OY[^^XRRSSSNLNQLORQHEMQVaTSO_bc`[cj]ST]YHUF===:56658995677:=@@¼½¾˜Œ’½ãìоÝëȳ¾Ä¶¶²¶·Ãø©¡¢•”Ÿ˜š”ŒˆŽŒ‹‡†‚‚z€‡€~xywsrmmg[]eccZSTYY_^aYU^VX^ZURJNMPJCEFCAEGEDSIUX\Ybaa^SfaWZYQKFFG;86678>>=ÝÚàäæçæêëëéåáÜÕÏÉÁ¿¶¬¥ž¦SRSSW^`rTSRWcb^XQGrˆ…‚€wuxxuutg\`\OQZY[^TU^cic`T[cbSVNLNTMIC>BNUV_\]achb_]\c\``[b`^OF?:8569:99;@@@?eÑ‚«ïìììììëåÛËÄþ¹«©œŠ‰PKj{…ŒŽ]<80046?`ihjgPGz‚~~vtwzyurlh]UOMYZ\TVY^]ZKYb\^Z[`WLMTPMKMPORUWXYgz‘—š›™ššš›œœ˜˜’‹ƒteG9999;CMRTapu{~ƒn=::9999CTZ\^^j_G:9=CIKKضŒ¼º¬ª§œ“Š|z}ƒŠ•„{yz}[p268::@RQOOOLRMKumS1^—}[yuvukntmih`Q]k^VTZ[YQPWZ\b`ZWZ\WPJFBB??=::=DG\}`¢¯°°±µ¬]>78CHIRSHDA>NvN@ILMNC8:;;;Z`B?FKJCZµ~f‡„¡€JE?]tk`HDII‘}tcR68R‘‘cJA<;?NPPF^†j945†irw||rjjllfa^]Y_[OPXXPOS]\[YZ^_UTNGBAGJC?CQQJP–i\>K6555FROGEHHGF:8::;:JhG>DHNWaLHi´«§`ZMB?TRPC86:7w¢½”]ŠHDC[‰H>656AB@C„¢o762p‚b€tvysigjtxgYWVSSROWYPOZ^[X\b^YPSURJGLRJ=?OTQh ]Q>G6998FPD<;AGE>>AA@99ChNAGJV_kLFzñé±kjosqqquxuoij…Êð–_ŒINMW}~VKH@?@><9?~\:94\›[~rgjoggfeoaVW]XX\TTUQSQ\^[e_WVRPIIHFGMIDFPOQ}˜SGaQLZV`dkGJm·ÄÆÇÂÃÅÈËÌÌÊËÉÇq|§_‰NePsi\JKPTSNPMSe‰‡R>=7RŒJsUA?Tea][jcWPY\`\YSNOXU[dabZPPUTLF@?GS^ZYZSh”‚IBAA;[~ƒS<7556656>AA@968WOQj[YYaGM`…¸ÓÚÝßßááâââââØT27`bCKAN=AC@DMQPOKG@CCZ]QL@8=@=G:<5F_bdbcd`UY[[WSQQOT\\VZ\WOQZUQY][p~{^X`fn‘nCKGF@RzwHDC93439BEFGGF>7SNHmk[RaGCV‹ÅÝâéììëèëëéëïî—L<0?S=;898::75556987878;<><;SXz‰‘^np^ïÞtj„z]hÆäààáã×]U`eKŠãÞßÛÞæ§Zj]nnljgdccbbbaacgkortuvvvtTLYR\ÏâÛÞñÑaD>”–7Y©¯g5?=sâæ×ÕÜ–JPOTopqsuuttrmgecbcdfgiiE1/0246@CP\\j}ˆ¤ÙÍœŠ˜jgT€šš¡¥ªŽDOv|VrÏ×ÐïžlAtVgjmnmkfdcbba_^`cglqsstuwVDKPM†Ÿ·ÃÍ÷°D>\ËnfØá|`ËlGF·ûÌ©nVMKPVlnpqrssstqkgcbaabcfg?-.589>DMYiÐÛÞäéæçÕ¡\kP;679:88=L™Y^eULD:6B?f]affjmonlidcbbc```cgknprvWAFKONSix±äªaWJŸÕx§sȲP[g•Ãžc[TQMIW[jloqrttuutqmieccccdfE/.24:BN`tš¥äíííìëðÐWkLD99;99998i‚RL96::<;GCSfYhefiknonligfggeb`abfjntW@DINQUWYhrinrryØä×Üàß„poiec_]ZVQMJ^ehjmnqssuuutrojfdccceF/0138J†’’™š™°¨k\XINFRZRGFA644556H™ªn=@;7gSdkfehgefhlnnifedddba_`dS?@ILOTV^kx€†‡œ´´ºÅƼº¼µ‹‚~xn_WTPKLdi_cfikmoprsttsqojfcbcG7407KÄç‚af€}liVTYŠš]TSMNKHIKKKLA7778?RjnLPLA;@G<5?BDFHEg“tq`_^\[Z\]^^]]]`[X[]ajpsu{~…Œ|€„{plod``bdffdca`aL/;1->K[eƒzRITÅ¿ÁÏ°b]cfhjlmnqrqprqmiB391/----/...00.3KgcqZ\\[[[ZZZZZ[]‚€‡• ¨¯°³³´²¯®®¯¯°°±°±¬”offdbceghgfdeL+N<62//,,,,*5gLkqVZY[ZYXXXYYWuŠ«­¨£—Œˆ†…‚||{{{~€‡‘–nkogfccdfhihiO);C?Vº²d^`Q?EECDECCA@A@<6Ifa`ŠQAF_y€¹ÈΊZbfgikllmnoooia=4852GNLC98-+./0@uƒ‰u[]YYZXXZYZX[‘vƒ}rib^XTSRTWQPOOONOPRTY[nvjkhecbehikQ'8>>D]e_elgPGDFNPQTUVVWUYjpmbTLDBE`hS”¿ËÆs[behjkllnnonh^?353269;932148;>Ws’}„v[ZZZ[Z[Ybƒ[PLIHIIHKMLQaGEDEECAABA@@C]llkieabcejR'6;9;BJTaiqpjijhggfedb``ba]VJC=89@akWy²Âΰd^cfhklllnnmkdP:32221002//000.Jq}†¼Î¹{\]^^[\Z{d?===;;::::86679::98877888:BcmkkkgdbbfQ%54<6-002012346431.--.,*''*(((/NMAal[_»ÆÎœ_aegijllmmmkh]RMKKPONOPNLNPQPNolŒåääÇrbfhhgk‹L;<=>?@BDD=HVB;=><97778888>>SkkkkjheccN%44N\;-+32+(&&&&%%'((*,3QJ@_jRKPŽ½ÅˈZ`ceghjklmlkgca___]\[[[]^`bdTfkOvèÒÐñªfqstr‡„?><:87778999;?BGJON' &)5<[g^SNYœ¾ÈÂrV^`behijllmljigeca^\\]__acfUUSIRž”¯õ¯lƒ‡ŠŸg=>579986:=K>7444556548B>VjihgeaWOB&33-*6;;:;;;;:9888:;;9768765%$2347VafZQLe­Á̹j\`begijkmmmljihec`^\\]^_acUFHGILSo§†–À¸³«¦L@;36;;87;@>EWL>C754;LG?7546@?Ieiggedd\I-1/-.40/..,,++++*)(**)('(()+%'11/3YclbRNK{¼ÃЭc^begiikklmnlljhfc`]\\^_`bVDFFJOTZa…Ô³H=xš?A733@`R47F>42135669PZMKD<63;AA[ihihgeaYG81023358::::877789;<<99=@GHLOQPOSinnpcRMS•¾ÄÓ˜\befgijkklmmlkihfc_]\]^_bXBDGJQU\gŠÞ5?”z;@315_€o@3530002449BDKTXWRB36C?Ng]MNP_c`]XTRSUTUZ]cec_ZXXYZZZZYXWW[bhjlmmoopknv]PN]¤ÀËÌ\ceghjkkkmmmlljifb_]]]^aW@DGHR\cl¬ˆD^¢X<>669oh<<5//0135AFKP\_]^O73@?FcP242Gfdb``___^\]]afigda__]\\]^^\Z[\afiklmoosqphXQMk±ÃÐÄt_degikklmmnnlkkifb_]]^`U>CŠ”D>@@NAFWYMBB=987998879=<<@HGFB;BWMS^ffeeeeefghfeca__adillljfdaa```_]Z[\^bgjqsrpneRNM]ªÆÍÒŠ[acefhjjjlllmmkifca^_Q0@JFk„WFM\x{GA5655667889:>AC?>?>;;<;<;<<<@DA=L:Phhhfededefghhggfeca^_chlmmkiecba_^][Z[[\_cptstuwhTOJr¿ÊÒÃl_cefhiijkklllkkifc__Q3=GD’åÑvQf£Å¥PpF=??>?ABCEEGLRPOOSTSUVVVVWVSRWNZAgdddedcddefggffgfed`^^aglmlkheca^\[[ZZZZ\]ppmllmh]RMO™ÇËÖŸ[adfgghijjkkkkkjheb`R2;DG`³ÌˆO`Š¼‰HŒ}RF\bfjmnqqqopqqpoooonopppqrtyg€‡Tc’ubdccccdeefeefeefd`^]_fkllifc`][[ZZYY[[[ogehicc_UOKgºÆÐÌt[bghfghiijkkkkjhgdaS-6=EIVgjhd^šOŒŠsdupmkhdcb_[[YXXWVVVUUVWXY[_a]ft|daebbbbcbcdddeeeefffca_^aehjihda_\[[[YYZ[[lhhhsoidUNNN‰ÃÇÕ°``dedfghijijkkkiie_N+56=@?@DIUNrvc‚rcVZUQQNMMKJIHFFFFEEFFFFGIIJMKLPQ`q_hjnbabbbcdddeeffffedb`^_ahiiiea^Z[\[ZZZZomhhrpsjTMOLYªÅÌÓ“b`cefggiiijkkkhhcTC+40340--2LUYzodOKIGIGDBBA@??>==<<<==>===>?@BBBABHbr³Ûܨeabbcdddfffggggfdb`]^chjlkhc][\\\\[[krkiqptsf[PNKx¹ÄÑÊs\befefhhijkjjhe`SB*31846:>EHY‚‚kN@@????>=<;::999999::;::::;:;>>==<=Nf…ÊÍÂy^aabddefffgggghfeca_^bfjljhc]\]]]]\vypnqrqoqq[NLR•ÃÇ×®_aefefghhjkjjjhf`H,0/.-3566>[†r]D;;<<<=<;988888876887788789::<;?AMQEEDCBBABBFW}¡ž™¸‡5Rffdbbbbbcddddddfedeghfec`]]_cgikhd`^][ZomlejlptppkRJLL¿ÂÒÅnadefhjkkkjijigd^RB??@???=?VVTg±¢›”¸´“mMLLHIKNLovRMNPQNMMJzÞêèÒ·Áç•2Ngfdbbbbbcddddeefffefhgfeca]]`cgjljfa]\[lfdeiksuqst_MKZkÀÆÕ©acefhjkkklkkjhfc]ZXWUUVUUHMFAsìÇŽÞéðåeGN\cdjšŽ–™“™a\[XCD|àíÕÒçñìr1Kfdeca]]`acddeeeffgggghggfd`]]`dhlmlif_]hllgnommqsrlUKOP\ªÄÊÔ_cfhhijkkkkkjhfb_^^[ZZYYKK:6ZÖôìÞÓÜì¶g?7:86J}‚…‚o@+,+3Iov³Â½³£{D2Hgded`‹¹¾©kbdddeefggggggggfd`^^aejlmmkfdztspvrljllkngLJLJs¼ÀÎËs]cefghhijjjjjhfedb`]\[[KL75As­´··­o…];469As¡¥¥¦pCA@AGj‘r_WNF=562GhfffcyÏéå¤`cdddefgfgfffgfgfeb^\_eiknnlhyrmmjijlnldPKMLO–ÁÃÕ¬\]adffhhhiiikjhhgeb_]\[LN64:9>EOXl†«ÌpŠëòðïíìííìàëîˆaá€eTKE=<8;KffgedefddkŠ|eddddeeeeeecddeeeeca]\_dilnmvpommnjgjknooiSKKMj½ÇÐÕˆ^dfhihhhiiijihgggeb`^LO88?;>@HPYl…§Ñp}æìêëìëìììäìòƒ^Ä­Œp\OD;627Mgffeeefdde`^cddcddddeeeddeeedddca^]^ciknnovtplmnohilkkUKKNO˜ÈÈÔ¹d`begggghhiiihgggfda`F?;A@6:>DLXn‹²á‡kçôòñðïñïìèåßto‘gL?8/--.2Kgfeeededdcba`cc`deddeeeedeffddeecb^[^dhknprponqtrmilmgVMKMKg»ÈÍÕŠ`ffghhihhhhihhgggfdbE5=9211028?DSe—ŠGz‡„…Œ~rf\VM5d[@C52E{„?-5Jggeeeddddcbe ¹¸–cdddeeeeefffeeeedca]]_cmlmosvvpunlmllodPKLMN“ÉÊÕ¿jefhihihhhhihhhgggfeG5=<4.Iƒ‘P89IE>j@4568=D><<;=;Fl?CJ8.„éÁR,7Kfgffedddcbb`•èîç›bccccdefeeedddeeec`][]lpvtpsrnqkjjhjteMMMMKbºËÎÕ–afghhiihhhhiihggffgIQ@<6,dÐó†16CSB[zNJIKV\TSSRTW†jkb521GV711:Jffefeddccbbbb–º¸¦habbccdddddccdeeedb`][rxwrkjlppkjlvstf_XMLNQŽËËÒÇudghikjhhgiiihgggghJLB:916DeG321gaFƒ‰}‚Š¦œz{€‡qoiGTX6442/122>867.+*++--,.Cfhgfeeddddcbbbbaaabcbbdeddcbbbbbccbbcba„~‚~xw{xliqxxzvg^SKKMMU¦ÉÆ×¹ebdeffefghghgfcZTB!56+,-+*)())**'%%$##$$##$#%%%%%'(*''')*(+Aehffeeedddccbbbaaa`babdeddcccbabbbbbccb†}vytskmuqljpjcbbVLKL]b€¾ÄÌ׎^bcdefffgggeba\XF#44(((()),.01.,----...00023344:@B@'"$%'+.?cgffeeedddccbbbbbabbccdeedccbbcccbabcccƒ€zzysosebhpzrkmfZMLLZa_ÄÄØ¿gaccdefeefffggf^J(44*&%%04568864555544454355444301/#"$)/21?chffffeeeeddccbbbabbcegfefedddedcbabcdc…{†z†z‡z‡{‡{‡{‡z‡z†z†z‡z‡{‡{‡{†z†z†z‡z‡x‡x‡z‡y‡y‡y‡z‡z‡z…|„‚~ƒ|…w„uƒt…t…t†v‡xˆw‡x†x†x‡yˆ{‡{‡z‡v‡u†w†z‡z‡|‡{†z†y‡z†{…~ƒ€‚€ƒ€ƒ€‚†y†z†z†z†z†z†z†z†z†z†z†z†y†y†y…y…y†y†y†y†y†y†y†y†y‡y…y…y†z‚€‚|‚yƒt„t„sƒv„u…v†x‡x†x…w…v†yˆ{ˆz†z†w†t„v„v…x†y†y†x†w‡y†{„}ƒ‚€‚€€…z…z…z…z…y…y†z†z†z†z†z†z†z…y…y…y…y…y†y…y†y†y†z…{…{…z„z…z†zƒ€‚‚{ƒu…u…uƒv„v…w…y†z…x„x†w‡z‡{‡z†y…x„v„v„u„w…y†y‡w‡x†y†y…}ƒ}‚€‚€€…z…z…z…z…y…y…y†z†z†z†z†y†y…y…y…y…y…y…y…z…z…z…z…|„|…{…{…z†|„‚z…x…y„w„w…y…{…{…y…x†wˆy‡z…{„zƒyƒxƒv„v…x…x‡x‡x‡y‡y†y„~ƒ~‚€‚€€€€†y…|„|„{…z…z…z†z†z†z…z†z†y…y…y…y…y…y…y†z…{„{„}ƒ~ƒ|„|„|„|„~‚€€‚|„z„x„w„x…z…|†{…y…y‡zˆz‡z†{…z„z„v„v„x…x†x‡y‡y†y…y…{ƒ~‚‚€€€…{‚‚ƒ~„|„}„}…{…y…y…z†z…z…z„z…z…z…z…{…{„}‚}ƒ~‚‚}‚~‚€ƒ‚~~ƒ|…y…x„w„x…z…{‡y†y†{†|‡|…z…z…x…y„w„v…x†z‡z‡y‡y†x…{…}‚‚€‚€€€ƒ‚ƒ…ƒ€ƒ€ƒ~„~…|…z…z…z…z…z…|„|†{†{…|…|„}‚€€€€€€€€‚„}…}ƒ}„}„{…y…x„w„w„w„w†x†z†{†{„{…{†z…y…x…w„w…w†w†x‡x‡y‡y…z„}‚~‚‚€€ƒ„„†~ƒ€‚ƒ~…}…|…{…z…y…z…}„}…|…‚€‚€‚ƒ~ƒ~‚€€€‚}ƒ}…|…|…|†|…{…y…w…v…w„vƒu„x…{†}†|…{„{…{…y„x…x†w†w†u†u†w†y†y…z„}~‚‚€€ƒ‚ƒ‚€‚€ƒ€„…~†|‡z…|„ƒ€~„z…z…{†|„|„|ƒ}ƒ~„~ƒ}„|…|‡z†{†|†z†z…y…x…w…x…x„x„z…z†|†|…|„{„{„z„w„x…x†v†u‡u†v†w…x…|„~‚‚€‚€ƒ~‚€ƒ‚€€~€~„~…~…€‚ƒ‚~‚z‡xˆx‡w‡x†y…z„{„z…{„{…y‡y‡x†y†{†x†z…z…y„x…x…y…y…{„z„{…}…|„|ƒ|„{„z„y†x†x†vˆv†v†u„vƒ{‚~‚‚‚‚}ƒ~ƒƒ€€€€€€€€‚€‚‚ƒ‚„‚„€†…„€…ƒ~{ƒx…y„y„x‡w‡w‡y‡{†y…{…{…y…w…w…x…x…y…z…{†|…}ƒ}„~…|…{…w†v†x†wˆv‡v…vƒv‚z‚~‚‚‚‚‚~ƒ€€}‚~€€€€€€‚€ƒƒƒƒƒ~Ž}}‹Š€‹€Ž}}}}~‚u†w‡v‡v†vˆvˆy†{†z†z…z…y„v…u…v…w…z†z…{…}…}„|„|…z…{…y…z„|ƒ{„{„zƒ|‚}~€‚‚~‚~ƒ…}~€~~~‚~„~…}„}„~„„…†}‚}{ƒ|„~…}‡{‡{ˆ~‹}ƒ€t‡uˆvˆu‡uˆvˆy†{†{…z…z…x…z„z…z‡z‡yˆz†{†~†~…}„{…z…~†„Ž†’ˆ–ˆ—‰˜‰™Š—‰—‡—ˆ”„Œ‚~}ƒ|…Š}€~}€~€‚~‚€ƒ€ƒƒ}…z‡~…†…|ƒ|‚z…x„z„z†wƒ|†~‰|†~w†tˆt‡u‡uˆv‰y†y…z…y„y„z…{…{†yˆyˆz‰{ˆ|‡~…~…„~ƒ}…‚Š…—…–…”ˆ‹‹ŽŒŒŒŒŠŠ‰‡~‚}„|…„ƒ~€€„„~…~…†€‚ƒ{‡„†}ˆ{†€…†y‡x‡w†wˆ|†~y…sˆt‡t‡u‡vˆx†w…x„yƒy„z„z…z†y‡yˆzˆ}ˆ~†~…ƒƒƒ€…„‡ƒ|ƒ{„{†zˆyŠy‰x‹w‹wŒyŠz‚Š}ƒ|…z…ƒ„€„…ƒ‡|ˆxˆxˆ{‰}†‚~‡‚ƒ‡|ˆ{……‚‡yˆxˆy‡z…ˆ}‡~}ƒuˆuˆuˆt‡u‡w†x…x†y„y„z„z…y†x†xˆy‡|†~„…ƒ~~ƒ‚†‡†‰|‰}ˆ~ˆ}ˆ{‰zˆzŠzŠyŒz‹yƒˆ~‰y„rƒ‚‚€ƒƒ„€„€ƒƒƒ„€ƒ‚‚…„‚†|†|…~†‡z‡{‡|†|‚€…‰|‰|€z…z†xˆx‡u†v†x…x†y…z„z„z…y†w‡yˆzˆz†{…{†|Š}˜~“ƒ‡‡„‹z‰}…‰}ŠzŠ{Šz‹{‰{Šz‹y†ƒ|”w¤r•‚€‚‚‚‚€€€‚€€€€ƒ‚ˆ€Š}ˆ}‰}‰}‰}‰}‡}ˆ~‰‡€‰}Œ}‹~…€ƒ|†{ˆy…y…y…y…{…{…{„{…zˆz‡z†x†sƒpi}q‹{¶}°„“‰…Šzˆ|‡~‰{‰y‰}ˆ}‰|‰}ˆ|‰z‡‚|³už„€ƒ„ƒ„€„€ƒ€„€‚€‚~…~}{Ž|}Œ|Œ|Œ}‹}‹}Œ}‹}‹}Ž}|‰~ƒ€ƒ€ƒ€ƒ€ƒƒ‚€‚‚„€…}„|„x‡uƒswy’•„•ˆ–Šˆ‡‘‡ˆ“†—†—‡–ˆ—ˆ—ˆ—‰™„—vŠl‚‡}‡†€†€ˆ‰~ˆ~ˆˆ~‡~ˆ}Œ~‡‡ˆŠ}Š}‰}‰~ˆˆ~‰}}y’x’w‘x‘y“y“x“x’xz…€ƒƒ„ƒƒ„€ƒ€ƒ€„„‚„‚ƒ‚€‚„‚…¡…´†º…º‡±‰³‡¸„¼„½‡¹ˆ´…·„À‡»„ºz—t~‰{ˆ}ˆˆ€ˆˆˆ~ˆ}‰}ˆ}ˆ~†‹‚††€††~†€…€†‰~|{Ž{{Ž{~~}|Ž{Ž|‰~„„„ƒ‚‚€‚€‚€‚€„††…€ƒ‡„¨}ÇyÎvÒvÒvÓuÕsÕtÖuÓvÔtÖvÑzÊ~ºƒ™†€‰{‰{‰}ˆ~ˆ~‡ˆˆ~ˆ|ˆ~‡…€ƒ‚„‚ƒ€ƒƒ„„‡€Š~ˆ||z}z~}Š|ˆ}}~}}~~‰~†ƒ‚ƒ„€‚€€€€ƒ„€„€„‘„—€‹}›y§w´x¶vºv¼u¸wµx²x©{›}~…€„…‰|‰|‰{‰{ˆ}†‡€ˆ€ˆˆ~†„€„„ƒ„‚‚‚‚‚‚……Š}ˆ|€|}}|~‚}‰yˆx€z{|€€~‡}ˆ}ƒ‚€ƒƒƒ‚€€€€€€‚–³‘€‚|ƒ€ƒ„ƒ„‚„‚~‰|£z¸ˆŠ~Š}‰|‰|‰}ˆ~‡€†€‡€‡…ƒ€„€††~…€‚‚€‚ƒ‰|ˆ|ˆ|ˆ}ˆ~‰}‰yŠwˆy†~†€†~ˆ{‰|…~ƒ€ƒƒƒ‚~•uÈtÌv½yªy´z´|”€…†~’z·y½y´tÇsÑuˆˆ€ŠŠ}‰|‰|Š}‰‡†‡…‚€ƒ€ƒ€„€„€†€†‚„„€Š|‡|‡|ˆ|ˆ|ˆ|ˆz‹zŒ{…‚‚‡}ˆ|‰|‡}…€…€ƒ‚‚‚‚‘tÈpÐsÐtËuÄz¶}¡|ŸyµuÄsÍpÒrÏv¿ˆ„ˆ€‰~‰}‰|Š}Š}‰~††„‚€‚€ƒ„€……ƒ„‡‹{†|…|†|†|†|†|‰}ˆ|‚€„…†}‰}‰}‡~‡…€„ƒƒ‚‚‚‚uÅrÐsÐuÂ{žƒ‡‚€‚€ˆ|—u»rÒsÑw¾~Š€ƒ†‡€ˆ‰}‰}‹}Œ}ˆ~†ƒ€‚€‚‚‚‚†}‘y’x‘yyyz{Œ{Ž|{{zzŽ{‹|‡|†|†~†~†€„‚‚‚€‚‚€‡y¼vÆuÆx¬€ƒ€†€‰‰‰€…}zœv¿w½{°…}„€ƒ„‚‡‰~‰}‰}‹}‹}‰~„€‚€‚€‚‚€‚‚€ƒˆ~‘w–u•w•v”v”v“wy‘z’y’y“x“x’x’y‘yyxyŠ}‡„€ƒ‚‚ƒƒ€“~“}”~Œ‚~‚€ƒƒ€ƒ~†~Œ~‰€‰ƒ|…|„‚†€ˆ‰~‰}Š}‹}‹~…€€‚…ƒƒ€ƒ€ƒ€ƒ€‹}‹|ˆ}Žz‘xxx‘x‘z’z‘z‘z‘yz{z{{‘{‘z{‰}ˆ~†ƒ€‚ƒ‚‚€€‚‚‚€€€€€€†€}’}‰~‚ƒ‡€‰Š~Š}Š}Š~‡‚‚ƒƒ€ƒ€ƒƒ„€‹}„}…ƒ€Œ{zzŽ{|Œ|Œ|Œ|Œ|Š}Š}Š|Š{Š{‹{Œz‹{‰}ˆ}ˆ~ˆ~…~„€‚‚‚‚€‚€‚‚€‚€‚‚ƒ‚€‚€€€‚€‚†€|…~„}ƒ}‚ƒ‡€ˆ€Š~Š}‹}‰~ˆ‡…€„„€„€„€„€‡~‚‚}„€„‡ˆ}‰}Š{Š|Š}Š|Š|Œ{Š|‰|Š{ŒzŒ{Œ{ŒzŒ{‰|‡}ˆ}‰}ˆ~‡€ƒ€…‡‡††~†~†~‡~‡……€ƒ€€€…€v„}„ƒ}ƒ‚†‚‰€‰~‰}‹}Š}‹}Š~ˆ†…€†€…€„€…~…ƒ‚„€…€‡~‰}Š{‰}ˆ€Š|Œ{Š{‰{‰|Šz‰|‰{‹{‹z‰{ˆ}ˆ}ˆ}ˆ~ˆ„€‚ƒƒ‚‚€ƒ€ƒ€ƒƒƒ€ƒ€‚‚€‚‚‚ozƒ€‚‚~‚‚‚‡€‰~‰}‰}Š|‹|‹}Š~‰†€…€†€„€ƒ…~…ƒƒ€„‡ˆ|Š}‡‚‚‡~Š{‹z‹z‰|‡{‡{‡{‡z‰z‰}ˆ}ˆ~‡†‡…ƒ‚‚ƒ‚‚€‚€€€€€‚€‚€‚g{m~{}Ž{‹~‚ƒ‚‡‰~‰}Š}‹|‹}‹}Š~ˆ€†€…€„€ƒ€„„ƒ€ƒ…‡~ˆ|‰}‡…‡|ˆ{‰|Š|ˆ|ˆ{‡z†{‡zˆ{ˆ}ˆ~‡~„…‡‡††…ƒ‚€€€‚‚‚‚‚‚€‚€‚i}i|r{ˆ}ˆ~‚ƒ…‡‰~‰~Š~Š}‹}‹}Š~†„€„€ƒ€ƒ€‚€ƒ€ƒ€…ˆ~‰}‰}Š}‹{‹{‹{‹|‹{Š{Œ{{{Œ{‹}Š}Š~ˆ†ˆ‰~ˆ~ˆ~ˆ~ˆ~‡…€‚€€€‚‚‚ƒƒƒ‚‚‚k€j}k}w€€‚~ƒ}ƒ‚ƒ‡€Š~‰‰~‰}Š}‹}‹|ˆ}…„€‚€‚€€‚€†~‹{ŽzŽz‘y’x’w“v“v“v”w•v•v•v•u•v•x“x{‡ˆˆˆ~ˆ~ˆ~‰~‰~ˆ~†~ƒ€€ƒ€„€……mll~s‚€„€ƒ}ƒ~ƒ…‰Š~Š~‰}Š}Š}‹|Š|ˆ~…€‚€€‚€€‡~y“w”v˜v˜v—u—u–u•v•w–w•v•v–v—v—v˜v”w‰~†‡€ˆ~ˆ~ˆ~ˆ~‰~‰~ˆ~†ƒ€ƒ…€†€†nƒl€i}nz„€ƒ~ƒ|ƒ€‚†Š~Š~Š}Š}Š}‹}‹}‹}†€„€†€‚…y’w’x‘xz{z{Œ|Œ|Œ|Ž|Ž{Œ|Ž{Ž{Ž{‘{‹~„ƒ‡€ˆˆ~‡~‰~ˆ~ˆ~ˆ~ˆ„€‚€€€ƒ†€‡€‡€k‚k€h{h{k}y€ƒ}‚}‚ƒ€‰~Š~Š~Š}Š}Š}Š}‹}‡~‚€€ƒ€ƒ€‚ˆ‹~‰ˆ‚ˆ‚ˆ€ˆ~‡}‡~†„€……€…€…€‡ƒ†‡…„†ˆˆ†‡ˆ~‰~ˆ‰ˆˆ~ˆ~ˆ~ˆ…€‚€€ƒ€†€†€l€m~hzfyezs€„~“|ˆ‚†Š~Š~Š}Š}‹}Š}Š~‡~„ƒ€‚‚‚†~…ƒ‚…ƒˆƒ…ƒ€‚€‚‚ƒ‚‚‚‚„†‚†ƒ†‚„„‚ˆˆ~ˆ~‡ˆ€ˆ‰ˆˆ~ˆ~ˆ~ˆ~ˆ†ƒ€€€ƒ€„€lk~gyfwfyk}|„€Š~†}‚€‡‰~Š}Š}‹}Š}Š}‰}ˆ†€„„‚€ƒ‚ƒ€‡€‡‚†‚ƒ‚‚‚ƒ‚ƒ‚……€„€ƒ€€‚„‚†ƒ‡ƒ†ƒ‚‡‰ˆ…€ƒ†€ˆˆˆ~ˆ~ˆ}ˆ~‰~ˆ~†~ƒ€gg~fzgwgxh{p~€‚}‚~‚ƒ‰€Š}Š}Š}Š}‹}Š}‹}Š}ˆ…€‚€‚€‚€‚ƒ‚„ƒƒƒ„ƒ‡„‡‚ˆ‚ˆ‚††€‚€€€‚ƒ‚…‰~ˆ‡††‡ˆˆˆ~ˆ~ˆ~‰~ˆ~ˆ}†~ƒ€€€hh~gzfyfwgxhzv€ƒ€‚~‚€ˆŠ~Š}Š}Š}‹}‹}Œ|‹|Š}†‚€€ƒƒ‚€€€€„ƒ€€€€€€€‚€‚€€‚€‚€‚…€‰~ˆ~ˆ~ˆ‡€‡€‰‰~ˆ~‰~‰~ˆ~‰~ˆ~ˆ~†ƒ‚€‚ih~gzexgxhyhzrƒ‚~‚‚…€Š~‹}Š}Š}‹}‹|‹|‹|‹|ˆ~ƒ€€€ƒ€ƒ‚‚‚‚€„€‡€†€‡€†€†€ˆ€‡€ƒ€ƒƒ‚‚‚‚‚†€‰~ˆ~ˆ~‰ˆ‡€†€‡~ˆ~‰~ˆ}ˆ~‰~ˆ~ˆ~‰~ˆ€…‚‚jh~g|exg{i{h{o}~ƒ‚€‚~‚€‡Œ~‹}Š}Š|‹{Š|Š|‹}‰}…€‚„‚„‚‚„€„€„€……€ƒƒƒ€ƒ€ƒ‚ƒƒ‚†~‰~‰~ˆ}Š~‰ˆ€‚ƒ€‡ˆ‰~‰~‰}‰}ˆ~‰~‰~‡€„€j€j~i{h|i~h~h~j~v€‚‚~‚‚Š~Œ}Š}Š}Š}‹|‹|‹|Š}†€€€„†€€ƒ€‚€‚€‚€„€‚€€‚„ƒ€‚‚‚†‹}‰}ˆ~‰~ˆ~ˆ‡ˆ€‡‰‰~‰~‰}‰}‰~‰}‰}‰~‡l‚ki~j€l‚j„hƒi‚p}‚‚‚ƒ„†€Š~Š}Š~Š~‹}‹|Œ}}‡€‚‚‚€€‚‚„ƒ„‚„‚‚ƒ†€Š~Š~‰~‰~‰~‰~ˆ~‰‰Š‰~‰~‰~‰~‰}‰}‰~‰~‰kˆl‰m‰nˆo‡n…l…n…s…|‚€‚}š}~‚‰~Š}‰}‰}Š}‹}}}ˆ€‚„€„„††††…ƒ€ƒ€ƒ€…†~…ƒ€‚€ƒ€†Š}‰}‰~‰~ˆ‰‡ˆˆˆ€ˆ€‰€‰‰~‰}‰}‰}‰~‰~ÏÏÏÏÐÑÐÏÑÐÏÏÏÏÏÊÄÆÃÌÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÍÏÏÍÇ¿µ¯¦¢–ƒ|tjkyjjkposehdW]b^]e_V]b_aWRPV[[^d`gUVXVTVUT[XQU]^]ZVMD>9<:534?3ÏÏÏÏÏÐÏÏÐÐÏÏÏÏÏÊÃÆÂÊÎÏÎÎÎÎÎÎÏÏÎÎÍÍÍÍÍÍÍÍÍÍÍÍÌÌÌÌÌÍÎÍÍÏÏÏȶ §™x‚{‚t`^br{o_`nkg\Z\^_ZYVQ_fa^UPPRYY^hihQT]aZSQNSTZ`c]VQNLBA86653187ÏÏÏÏÏÐÏÏÐÐÏÏÏÎÍÉÁÅÀÈÌÍÍÎÎÎÎÎÏÏÎÎÍÍÌÍÍÍÍÍÌÌÍÍÍÍÍÍÍÎÎÎÎÎÏÎͦ‹Štnnqllmnuy`dbfe\\\]\]TSV_dZ[YVTTVUX\idRPX^VMNOSS]cba[RHDA<953331/3ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÉÃÆÁÉÍÌÍÍÌÌÌÌÌÌÌËÊÊËËËÌÌÌÌÌÍÍÍÍÍÎÎÎÎÏÏÎÎÍÍÌ·™{mqv{w~ggd_gZbed[[XWaYUYfeSRUXYUOLVPYiSPUXYPNSQPZa`bYUUOH?<86331-.ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÁÃÁÊÐÏÎÎÎÎÍÍÍÍÍÌÌËËËËËËËËËËËËÊÊËÊÉÊËÌÌÌËËÍÁ’†vdn|mdhaaaWje[YUUO]a_`qm[QQV^VNKUSSZT[ZXUOQRV[^ZY[RRYPI@?@<641-,ÍÍÍÍÍÍÍÍÎÎÏÏÏÎÏȹ½»ÉÑÐÏÏÏÏÎÍÍÎÎÎÏÏÎÏÎÍÍÍÌËÌÌÍÍÌÌËÈÊËËÌÌÌÉÇƧ‹{ysi^mqod`c`Y]aVS[TTR[eegidgVRW[UPSVTTYS[^aWTUSZ[\ZYUSPRPJ@@>7642/3ÍÍÍÍÎÎÎÎÏÎÏÏÏÎÏƻſÇÏÏÏÏÏÏÎÎÎÎÎÎÎÏÏÎÏÎÍÍÎËÌÎÏÏÍÌÈÆÊËÌÎÏÌÇÅõ |{qeWUc`Z^ca^e_XVTMMUZ`aeh_\TPQRPNURTR_LUV[\X[Z^\]ZTQTPSLGD?B;520.5ÏÏÏÏÏÏÏÏÏÏÏÎÎÎÏÆ¿ËÃÆÎÎÍÎÎÎÎÎÎÎÎÎÍÎÎÎÎÎÍÍÍÊËÌÍËÇÃÅÃÆÇÊÍÎËÿ¼«Ž}rVTRQOVXoqfcc]ZMD@M[S[bb^WURMMKINJQNYNRVUXX\]\\^ZTPTOXPEGA?=2//--ÏÏÎÎÏÏÏÏÏÏÏÏÏÎÏÆ¿ÊÂÄÎÎÍÎÍÍÎÎÎÎÎÎÎÎÏÎÎÏÎÍËÈÈÇÉÿ¸Ã¾Â¾ÆËÈŽ®¡©zuaWYZXgi_ogf`XVSRVVeUQ\]TOWXSNJGPQR[YSQY[WVXZWRQ\WSXRYW@67320..--ÏÎÑÕÕÐÍÎÍÌËÊËËÍÄÀÊÂÂÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÎÏÌÄÃÃÀĽº­À¹¿¶¿Ç¿¾·¦ˆ†rˆzf^a\]flXo\U^TPUU_\XOQUXRRSWXMMNTSS\i]OWZWWWW[TM]ZZ^]ND<6541/....ÏÙæîíãÓÍËÅÁÀÂÆÉÂÀÉÂÀËÍÍÍÍÍÍÎÎÎÎÏÎÎÏÎÎÎÎËŽ¶½»³¤»´¾³¶Âµ¼µ˜…}~nhddccT\b]We[T\_QSTX^UUTPPNLMOTZWPTQRSe[MZ]YRNNYZQXYRMJA9=<962/---.ÛïܼÅçèÍ¿¹´²¸¼ÂÃÃÊÆÂÊÌÌÍÌÌÌËËÌÌÌËÌËÉÉÉÅÅÀ´¯ª¯³© ª®¸±³·®­£ƒyzvmkTae\XcXR[i^X_YLQSU^acVRNMLPSNUWLPUPS^]Ya]TPMNZXSZPRYJBC=;;972....îÌ‚jr«êض±¯¯µµÁÅÆËÉÅËÍÍÍÎÍËÈËËÌËËËÊÇÄÿÁ³¡žœ¤¦œ™¡­®¬®©¨š†vnlfll\VYWbaWW^]Y`VRVUTUWaZSUPOSUSTUXSQYQSZaY_XZ]X]aUTZWUQA?G<877752011ãˆvvrÎ踮¬¯²³ÁÃÆÊÈÃÊÎÎÎÎÍÈÂÊÌËËËÇÁ¹µ¶¸»« •š™” ±­¬¢›Ÿ•zjgdVibTMHNXaZRQ]gabp__b]UXOQQPQSWSVTVZTZNQ`_`h[c`jg`TQOOLL@>@8855664/03Lj‚xŽÃé¿«ª±°´»¹ÂÉÈÁÊÎÎÎÍËúÈÍÌÇù§Ÿœœ¥§Ÿ—Š•›“‘­­¢”‘‘ˆvddh\]UQSRRYa`]jobRVcOXrp[RPKMMLILNNONORZTX`VU[X`g]\WQKMJGGEI@8555554016·…‰ƒ}‰Àé䧲²µ·µ¾ÈƺÁÌËÍÍÊÁ´ÅËÉÀµ§™žž•™–…—–‘–“ŒŠ‹†€vuqcYTX\YOY]YU^h\RR_ffb`\TSMLKIJHGEGNLT_]X\WP[ggfU\TMWSIJAAC:864434536=°ƒ„……Œ¿æÙÆõ®±¯­¸Å»­³ººÁ¾Ç¾²Àź­¢ ˜œ¡•–†‚…‚ŒŒ„‹ˆ†ƒ…ƒ‚{xq`VVUV_ZVYVSZhRPP_ifTT[YTNMMKKHEJIKSV^bT[SQnsdg_a]Ub[UVG<=;:8543365;?õ°‰…¿åìîèľ­¤£¬®£¢¤¥¥¦«»´§¦­™¡˜—¡”–Ž†„†‚…z„‹‰…‚}€~wuqidXRZg[TUTU`[NY[^^XRRSSSNLOQLORRHDLPVaTSO_cda[cj^RU^YIUE===:566589<>ÀÁ¿ˆ‘¾äëåáá캞¢®¡žŸ¥ª¦¤¦¦¢••”™ š‘™Ž‘Ž‹ˆˆ…€‚‚y‡„‚‚{||xrjjg[VYQY_[VZ[_[W[[\^ZTNJWWOMPLCFIHBBGIISLRR[_aZ`q^^P\a[IFD??>95677:>?@»½»”Œ’½ãìÏ¿ÞëŲ¾Ä¶¶°²´ÂĹª¡¡•Ž“ ˜›—‹Ž‰Œ‹‡†‚‚‚z€‡€~xywsrnmfZ^dccZSSYY_^aYU^VX^ZURKNNPKCDEC@EGEDSIUX\Ybba^SfaWZYQKFEG;86678<@HG©À»—Ž”¼âìáØèéßÞâããäáãâçêíÃœœ“‡Œ”‘“…Š‡Š‹‡ƒ‚‚}€‹{yxrssnicY]eb]SVPT_gceXPSRg^cYOQRQKIFHQIBJKLGQR^_ZO[eddVbdURY^SGBC<:9888>=sºÊ»ºÀÉÛëëëëëìêéçäâá×ÐËÈɯ£¢¥–Žƒ|{|z}†Œ’™™™Š€ˆ„~{xz|vwq`Z]_VXVVX_YRN_t‚wi^^gTUOMTTMLKGAMVSSTRP\cfe[S[[__V_YVXH>99<:9:::;?>>=iÁÔÐåæååêëëéäâÜÕÏÉÁ¿µ«¤›¡ td_WTV^q”n[[[[ZXYWRe†‚…‚vtxxuutf\`]PQZY[^TT]cie`T[cbSVNLNSMIC>BOUV_[\cfka]ZUYRWVPWVQ@9434778:99;@@@@M¯špâîìíììëäÚÌÅþ¹«©œ‘‰Ž{EQ_ks}kAHF<9:;WppniZAh€‚~~utwzyurlg^UOMZZ\UVY^][LYb\]Z[`WLMTOMJMPORTWYY]lfblx|„„„‡ˆ‡{wpjgZLD;99EEIKEEHOQJ|zyppwz|sjcdWRSGBNVVXZ[RLJWZ]]V\d_TNNKMQPOLIKOVXk„•¡ ˜”ŽŽŒŒŒŽŽ’”‘}V:;=BHJHdo¬ÚÓÑÐÎËʾ®©£ž›—‘Š‰‡ƒ~„QVu···µ±¦²–w‡ySUP?443\Tg~xwnjpwzqhb^PSTFIQTZ]VRTRSV[XXX\b^VNGECEIJGGGIR[”upng`\YXYYXWVVWVVWXY][Z@:=BHII[yšÉÉÀµÉÔÒÐÌÈÅÇÌÏÍ´†€}{€uXYArsgaie‹˜|’zQSQXO74KoT|wuqtnpvrkh_SVXUY[`\XGFSY`X[ZYVY^WPJEEB?A@?>AKN[‹OPW[`bfP=>>>;::CTYZ\\[NF8=CIKKÅÕ~µ½«§‘}rf^\YZ^hn„{zyƒcpM15437MRPRURPPG\td<9cŠUtxtvukmsmig`Q^j^UT[\YPOWZ]a`ZX[\WPJFBB??=9:BHHEQðÙk—¡—JCFSceTVRJHHŒ~vt‚\}>58VeHJQQQOOOOK[|c@:~Ÿig|wzvnkoihde]hqcZOR\\WSTZYaZW\f[PJEC@@CB@?CHE?D~kqœ±«¤•Š[G7=KMNQK><;;AjRAFKJCZxZ‚ˆ™‹OJ=P~zveI>F=uŽyz|`}679zœkKMEBBJOOMLrtE72^†]v{|rijllfa^]Z`ZOPXXQOT]\[YZ^^TTOGAAGJC?CQQJRX”b]L^IC>9ISPADGGHI<7:;<9UbDDINYaLFS­Ä¯hTNH;7†yZtPGM`a][jcWPY\`\YRNOXU[eabZQPVUMF@?HT^ZZ[]co—zN=@=9YsiE<7556::9ACDC96<_M\k]\_JJRu°ÓÛàââäçèæèêæç™:<]…OjTWXIUDFOY^^UOJLSdv]IB;9RDKU<>6Udebcd`UY[[WTRPNU\]W[]UORYUQX\\r€xfb\\[o˜bFCFD>f…„H@;65666;?BBA=88YKRqdZVD@Bw³ÝãèíîæÚÚæÙÖèö¥04:GI<9966HJJKMJB8PGKifYROMVv—·Ç×ÊÈ¢~†¬ƒu¡ÒÂ{JD1TR==;:8888878888888888:;=?LC>W`jljkhiplkkjoyˆŽ†ˆ‹…‚Žªyy€|}}qambP\ckzQI€\<<brkkkmlnnqsvy{{ywwyy{z|ƒ‡œª³°¨–†{qkmnkVPTKS|lUMC?EONLMOQZ]_^XOOMHBJ]jzŽkVgqspnmnpqruvwvuuvvxz|}„¹}H@79:87777777777667854:AHQYcŽ‰Œ‹ˆ‡„€{tsssvvwvvvutrrrppsz†•£¬±®£›‰{oq¦“myxunjZQaoonnmkkkklnpodVbhgo‚z]szvrolklmnorsssrrppqsuz¦{RYR=455555666<=65556X{“¢¥ª­­­©¨§§¨¨¨©©©«¦’mjlopsvvvvusponpqqqtyŒŸ­º³ˆ¡œrffc\\\Wiqea__^]]]^_bik]ZZ[^`ZPTYzwsolkklmnoqrqqqqpoqu{pf§¢I14434566:;7662M¥’Œ„~}{wtqopppqrsw{~‰cdefhlortvwutsqppopqpomn}›†””nZXZXWWW[[YWWWWWWVVWWXXVWXXXXWQPTzyyupmkjjjknooppqqqrvoQx¡´¯I/222326988633†`edcbehkr„zuqmlljihd}mcdddddhknruvxwvtrpnmpqqonbƒ€bWTWXWWXXWWVWXXXXXXWWXXYYXXXTUVRXxwyxvqljihhilmnoopqpol9^ªË¸âµrcKOS]HZ˜CL]n lk~€~„†ˆ|Žnˆ‡†ƒ‚€xpugedbcaabdfjpstvwxwupmklnqcvt`bbYXZZ\\\[Y[[ZZ[\\\Z\]\Zdja~€WQVwwxxxwrmjhfgijkmmmnnaU5=‰Ü×ñò¼Š\Zd’pŠËekhŠ…`‹­¹¾ÄÈ˳\E>=^¼ÑÎÇÅŸ†cepjhedbbabbbfknqsuwwwvrmjjZkjV‡¹•‡´‡RUV]`Y]\da[\ViUNM]ÃȶŲUQSrtvwxwvsojffffhijklm\@5.EŽŒÀ³ªlgm]YÃù—al‹ic™ãßßÝÝã²VhdZXÄäÞØØÝâƒmUnnmjgeccbbbaacgkosuvvvvtlOV_MƒÎ×ÕêäuFBPša=W‡ItÐÏgE»~CA–óÒǯ¥kJKRlnpqrssstqkgcbaaccejR1.268:>GS[m©´ÀÐÞÍÄ©‹YiPqsx~‚€RD\›lWŠÂ²¤ŽzmFPnYfeimonlidcbbc```cgknprstLCHNParš Óù’GCRÊ‘h¿ºcšÁOLT§í¸€fTPMJZjloqrstuutqmiecbcccgT1-067=EN\oˆÃòíîîííï¿y]dC646644:@Xµw[XF;854:GBnVegehknoomigfggeb`abfjnqsM@FKPPTYb–¢{oiZ’ç¡«¦ä‹\kqtq[YVQMJ^hjmnqssuuutrojfcccceW2.136=DWq”±¹ñîññðñé®fdZI?7::99969j^I>7:=<;>FDIMPUX`ltyz|‚Š”«Ä½¨—‡~zvl]WUPKKc_cfikmoprsttsrokfcbcX6523>iÓ–A:@ZRPOOMaœŒQfHQMMWSNJLA64555;n¨¥XDG;AjRigbfjgdcehjihgda```_^^`L:NdX™zZgkigec`cgfecb`^^_`I7@LNPRW_jkmoy×ôðíîïíïòÞvihii_WRPMQjλl^ehijmnoprqqqpnifX3;0/013:>@BEA@Ofƒ’‚q^RNOUWRMMNVWQQPSWZ[XSQQTTVX[iPcOWiijjgdaabegfdcb`_aH2?NPRRXah`RMOg€zzvon`?8BXfaaXQMY©ÁЫ_]cfhjlmnqrqprqnjY0;2.,/0256569;;9I{‡pf__][[\]^^^^]]_\Y[^ahpvvy{‚…Š…x†}xomqgcbcehhgfdbbF0@KMS€€g[MD00036ODMQACC==LITl°¤TFS¿±ÅО[^ehhjlmnoppqqpn[-;43@4.,+**++++*GR^lb[\\[ZZZZZZYX`y…“Ÿ©®±³°±³°¯¯®±²±°±°­’phgedcdfiihffC+@FBcÙªeWRLMTRQP_USRPQPMEM^Wf½W?Gr€¹ÈÏZbegikllmnpppoiW.:53IQGA:84,+++)[]`z_VYY[YXYYYYXX~‹­¬¨£ž—‘Š†ˆ…‚€~~€‚ˆ“—lmoihebbfhiikD)=?>U’_cgS8989???@ABBA<:Ujg`idHAE`T’¾ËÇs[begjkllnoookaP/9526BEE930/38;?e‹i`_YZZXZZZYX_”s‡~tjb]YWTQTVQQPPONOPSV[\pvjkjgbbcegjE(:==BPW^irsf^\]`acfgfffgmtpj]QG@?CbY{±Âίc^cfhkllmnnmkeU830010...--02219f†Š}‚‘kZZZ[[[[Xi€YSMIIIJIKNMYcHGFGHDBBBBAAD^lkkjhdbbdgD%8745;@FNSYYVVWTTRPNNMJFFE?<9528?>>@><=?@>Ab‡ƒ~¡ÙÕªk\_`_]^^‚[@?>=>=;;::977799998878889:CdlkkkifbceC$72M>*(')%$$$%%%$$$$$%$&',92%(=aSBcRKO‹½Ä̉Z_bdgijkllljf^ZWVYZYXXXXZ[]^YZ~rg¾èßæ¬egjlmmtŠD;;<<=??BC<:7777888?>Vlkkkjiea]@$65LQ?54=9430/.--/00138>HTeW%$28>?]^SNXš½ÈÃsU]`cehikllmligdcba^\[\]_`ce^ViYJµæ½åä{mstus’x=>=EFFDBCA;}‘M>D><65667776>AFekihge^RN9%54*'9?>=>>==;;;;<<===;<>>?=$!+/5:YfZQLb«Á̺j\`begiikmmlkjigdb_]\[\]_bd^ROJGcˆ{×Þz”™¡™£Y>=589877::?XbC=C:7555556559B?Wiggedc[Q<'41-0987775664332234530//0/0#&3337YlcRNJu¹ÃЫa^befhikllmmlkigec`]\[]_`b^JEHGJNX|‡‰Â»¢œ¢ CA937<:86=C?HO?<;544;GC<6546@?Jdfffedd]I20,+.0,,++**))))(())**)*,-00/1865;anpeSMN½ÄÒ–\befghjkklnmlkjhfc_\\]^_a`JCIGMQX^n­à[54…;A524C[H2;J=20135569SZLJA;54>77>}];;3//0136CEKQ]_]^N64A>HeP242Hfcbaaaa`_]^]`eijigba^]]^_^][Z[_dhjlmmronodTVi‰¼ÉÔ¸i_degjjjllmmmmlkheb_]^^`B>GFHNVd]HFB`Ã…>??AHEJNu`=?GXxFABBCBA?32223;ELKIbdXQJ<389;;4111Ggddeeeffeec`^]`dilllifca__`_^\[[\^bgjqtrpneSNMY¥ÆÌÒŠ[acefhijjkllmmkifca^^^<9HHGKTW=7bI>=@<=OQF=;;;::;<=<97798:99>?=;;;;::;;;BEA=G:Tgggeedeeefffeegfec_]]agkmmkifc`^]\ZZZZ[[]ppnllmh]SMN—ÇËÖŸ[adfgghijkkkkkkjheb_^<7AGS¿é´XXq­Â“Re>>?==>?@ACBDIOKJKNONPQPPPPOMMQK{T@‚rcdddddddeedefffec_]]_cjmljgd`^\[ZYYYZ[[ohehicc_UOKf¹ÆÐÌu[bghfggiijjkkkjhgd`_<5=GGw¸¯cVjŸÀuTŽpHHX[`dhjmmonoppoooppppppqrrtzg‚„Ndfbbcccccdeedeeeffec`_^_dikjhea^\ZZ[ZYZZ[mhigsnjdTNNM„ÂÇÔ°``dedfghiijkkkjihfb`;/8AFJTafl]mªiY‡kfvsqnkhheb^^][[ZZYZZYZZ[]^be_iyybfjmbabbbcdddedefefedb`^_bgijiea^Z[\[ZZZZonhhqosjTMOMV¦ÅÊÓ“b`cefgghhijkkkjihbZ7.68=<:;@FSQhk„sbX^XTSQOOMLJJIHGHHGHHHIJJKMOMORTeq­ÛÛ¥eabbcdddedfggggfdb`^^bgjkjhc][\\\\[[krlhpptsh]PNKr·ÄÑÊs\befefhhhijjjigfZM2.3070.,0;UQawncRMIIJHDCCBA@@?>>==>>??>>?@@ACDDCDJdˆÈÍÁw^aabccddefgggghfeca^^bfjkjhc]\\]]]\vypmqqpnpq\MLPÂÇ×®_aefffghhjjjjifc\N3-4282><<::9:::::::;:;::;;<>?>==?Phihddaaabccddeeeeeeghgfca^_aeijjhc_^^]]\tqlknnkikmeMKK_¬ÂËÖ‰]deefhijjjjijigfY8-//,/1133Ec‘o[A<<===<<;99888888788778889::<<99;DA;L`dccbbbbcddddddfedeghfdc`^]_cgjkid`^][ZpmlejlptppkSJLLy½ÁÒÆoaeefhjkkjjijihe_N5+,--(&&%Eeq`J=C<879:;;999;<BA8f‘œ‡XFKFD?}¦|eVLB;831Ffedddb_`_ljdddeeeffffffffffedb_]^cimnnnwtuumpjjmmmpsiRLKM’ÅÈ׸bbeghgghiiiiiiigddc`^\ZKM3595=?FO^s¾IgŠ“¡ªºÏ»½ÂÇÉÀ{X™¨}dSIA;:/,EffdeefddlŒzdddddeedeeecdddeeeca][^dilnmuoommnjgjknooiSKKLeºÇÐÖ‰^dfhihhhihiiiigfedb_^ZLP4123@=GQZpŠ¸±h òòòóðîððïéïícÁ dSJC<<67Hfeeeefdde_^ccddddddeeeddeeedddca^]^chkmlnvtplmnohilklVKKNN“ÇÈÔºd`begggghhiiihgfgfca^[LQ5599?>IQYo‰¯Ìc”íëêëëëëëêÞêìxa¤‡m\PF>96:Mgeeededdcba`ccadeddeeeedeffdddecb^[^dhjmosponqtrmilmgVMKMKc¹ÈÍÖŒ`ffgiiiihiiiihgggdca]BD:EB9=BIQ]u‘ºÚjƒòóòòññòòóññëqtÏ¡vXH>2/..1Kgeeeddddcbe º¸adddeeeeefffeededca]]_clklosvvpumlmllpePKLMMÈÊÕÀkefhiiiihiiiihhggfec_<:=722226>FSf…½}X¥­ª¨¬¯¤—Š~wh=njGA439R\8.4Iffeedddcbb`“èïã’accccdefeeeddddeec`][]iovtpsrnqkjjhjtdMLLMK_¹ËÎÖ—afghhiihiihiihgggfeb<5?83/C\]=89G?Oj44567DK80|æÐU,7Iefeeddccbaba–··¡eabbccdddddccddeedb`][qxwrkikopkklwstf`YMLNQ‹ËËÒÈucghikjhhgiiiihgggfdCL>94,„Ýéb58MJ>jaDEEHNQLKJIJK}j\W:40aS709Jdfeeeddcbbbb^^]_bbbbbbcddccbbcddccaa_\jklicbbiks}wuwqjqgQLNT_´ËÉتeghijiihhhiihggggffEW>96/Ej–M227qTT”€uy|žz|x|~Kgc3340,.12=Icfeeedddcbbbaaaabbccccdddcbbbbcccbbba`upmnktprjsuuuv€n_UKLMMÆÆÏÔ†bgghhhhhhhihhhhggg<3=;;13116746RFBJRSfwl^PP\_EBAFEM854532226Gceffeddddcbbbbaaabcbcdedccbbbbbccbbcba…~‚xw|yliqxxz~vf_SKKMNU¤ÉÇ׺ebdefffghhhhhhihc]9%<9514454457GJJOPT\bbxe]XSKJIDAB1.,.-.--0Eceffeedddccbbbaaaaabbdedccccbabbbbbccb†~v€ztsknvpljpjccbVLKL^d½ÄÌØ^bcdeffggghhggcXS8#:3--.-,+,,.3401.,++-3*('&'&&&%&&''((**)-Ddffeeedddccbca```bbccceedccbabccbabccc‚€zzysosdbhq{skmfZMLLX_\›ÄÄØÀgaccdeffffffc`]WT9#90(**)('(()(&&'(''&'''(+,-../6;><'"$&(*-Befffeedddcccca```badfgfefedccddcbabcdc…{†z†z‡z‡z‡z‡{‡z‡z†z†z‡z‡{‡{‡{†z†z†z‡z‡x‡x‡z‡y‡y‡y‡z‡z‡z…|„‚~‚}„xƒuƒt…t…t†w‡xˆw‡x†x†x‡yˆ{ˆ{‡z‡v‡u†w†z‡z‡|‡{†z†y‡z†{…~ƒ€‚ƒ€ƒ€‚†y†z†z†z†z†z†z†z†z†z†z†z†y†y†y…y…y†y†y†y†x†y†y†y†y‡y…y…y†z‚€‚|‚yƒu„t„tƒv„u…v†x‡x†x…w…v†yˆ{ˆz†z†w†t„v„w…x†y†y†x†w‡y†{„~ƒ‚€‚€€…z…z…z…z…y†z†z†z†z†z†z†z†z†y…y…y…y…y†y†y†y†y†z…{…{…z„z…z†zƒ€‚‚{‚u…u…uƒw„w…w…y†z…x„x†w‡z‡{‡z†y…x„v„v„u„w…y†y‡w‡x†y†y…}ƒ~‚€‚€€…z…z…z…z…y†y†y†z†z†z†z†y†z…y…y…y…y…y…y…z…z…z…z…|„|…{…{…z†|„‚z…x„y„w„w…y…{…{…y…x†wˆy‡z…{„zƒyƒxƒv„v„x…x‡x‡x‡y‡y†y„~ƒ~‚‚€€€€†y…|„|„{…z…z…z†z†z†z…z†z†y…y…y…y…y…y…y†z…{„{„}ƒ~ƒ}„|„|„|„‚€€‚|„z„x„w„y…z…|†{…y…z‡zˆz‡z†{…z„z„v„v„w…x†x‡x‡y†y…y…{ƒ‚‚€€„{‚€‚ƒ~„|„}„}…{…y…y…z†z…z…z„z…z…z…z…{…{„}‚}ƒ~‚‚}‚~‚€ƒ‚~~ƒ|…y…x„w„y…z…z‡y†y†{†|‡|…z…z…x…y„v„v…x†z‡z‡y‡y†x…{…}‚‚€‚€€€ƒ‚„…ƒ€ƒ€ƒ~ƒ~…|…z…z…z…z…z…|„|†z†{…|…|„}‚€€€€€€€‚„}…}ƒ}„}„{…y…y„w„w„w„w†x†z†{†{„{…{†z…y…x…w„w…w†w†x‡x‡y‡y…z„}‚~‚‚€€ƒ„„€†~ƒ€‚ƒ~…}…|…{…z…y…z…}„}…|…‚€‚€‚ƒ~ƒ~‚€€€‚~ƒ}…|…|…|†|…{…y…x…v…w„vƒu„x…{†}†|…{„{…{…y„x…x†w†w†u†u†w†y†y…z„}~‚‚€€€ƒ‚ƒ‚€‚€ƒ€„„~†|‡z…}„„‚€}„z…z…{†|„|„|ƒ}ƒ~„~ƒ}„|…|‡z†{†|†z†z…y…x…w…x…x„x„z…z†{‡|…|„{„{„z„w„x…x†v†u‡u†w†w…x…|„‚‚€‚€ƒ~‚€ƒ‚€€~€~„~„~„‚„ƒƒz‡xˆx‡w‡x†y…z„{„z…{„{…y‡y‡x†y†{†x†z…z…y…x…x…y…y…{„z„{…}…|„|ƒ|„{„z„y†x†x†vˆu†v†u„vƒ{‚~‚‚‚‚}ƒ~ƒƒ€€~€€€€€‚‚€ƒ€„€ƒ€‚€ƒ‚ƒ‚‚€€‚~ƒ|‚{„x…y„y„x‡x‡w‡y‡{†y…{…{…y…w…w…x…x…y…z…{†|…}ƒ}„~…|…{…x†v†x†vˆv‡v…vƒv‚z‚~‚‚‚‚‚~ƒ}‚~€€€€€‚€‚€ƒƒƒ~ƒƒ‹Ž}Ž}}‹}}‘}Ž|u†w‡v‡v†vˆvˆy†{†z†z…z…y„v…u…v…w…z†z…{…}…}„|„{…z…z…x…z„{„z…z…yƒ{‚|~‚‚~‚~ƒˆ|~€~~~‚~„~…}…}„~„~…ƒ‚ˆ}„}‚|ƒ~„†~†}†|‡}‹}†u‡uˆvˆu‡uˆvˆy†{†{…{…y…x…z„z…z‡z‡yˆz†{†~†~…}„{…y…z…‡‚Š…Ž†‡’†“‡‘ˆ‡‡Ž„Šƒ~}ƒ|…‹}‚~}€~€‚€ƒƒ€ƒ}…z‡|†„…|‚|{ƒy„zƒ{…x„z…}‰}‡}{„sˆt‡u‡uˆvˆy†y…z…y„y„z…|…{†yˆyˆz‰{ˆ|‡~…~…„}„{„†…”‡ž†›ˆ™Œ˜—Œ”•‹•Š–Š•…‹~‚}ƒ|…ƒƒƒ€~€„~…}†|†~‡„‚|‡~†…ˆ{‡…€†z‡x†x†vƒ|€‚ˆ|‡|}ƒt‡t‡t‡u‡vˆx†w…x„yƒy„z„z…z†y‡yˆzˆ}ˆ~†~…ƒƒ~ƒ|„‚ˆƒ‚‚}‚|„|ˆyŠy‰yŠx‹w‹y‹y†…~‡|„z…‚…ƒ…‚‡|‡y‡w‡{‰}‡‡€„†}ˆ{†€„„†zˆw‰yˆy„~~…†}ˆ}€‚v†uˆuˆt‡u‡w†x…x†y„y„z„z…y†x†xˆy‡|†~„…ƒ~ƒ}„}„…ˆˆˆ}ˆ~‡}ˆ|‰zˆz‰yŠyŒzŒy‡€Œx„r‚‚‚‚€ƒƒ€„€ƒ‚ƒƒ„€‚„ƒƒ†}‡{†~…€‡z‡zˆ|‡|ƒ€‡‡~Š|ƒz…y†x‡x‡v†v†x…x†y…{„z„z…y†x‡yˆzˆz†{…{…|‡|Œz‹„†ˆŠ|‹{‡€‡‰{Š{‰zŠzŠ{Šz‹z‰|~Žu“r–‚€‚‚‚‚‚€€‚€€€ƒ‚…‚ˆ~†}‡}ˆ~ˆ}‡}†~‡~ˆ…‚‡‹|‹~…€ƒ}ƒ{†y„y„y„y…{…{…z„{…z‰z‡z†x†tƒpi~o~x¢z¶˜‡Š‰z‰{†~ˆ}ŠxŠ{Š{Š{Š|‰{‰yŠyŽ{¬y·„€ƒ€„€„ƒ„ƒƒƒ€„…€Š~{Ž|}|Œ|Œ|‹|‹}Œ}‹}‹}}|Š‚‚ƒƒƒ~ƒ€ƒƒ€‚‚„€…}„{„x†u‚t€wx‘|£—‡”‰‰ˆ†‡‰‡‰‡‰‡Œ…†Ž‡ˆ‡ˆ‡–}”r‡}‡~†€†€ˆ‰~ˆ~ˆ~ˆ~‡~ˆ~}‹‚Š‹}‹}Š}Š}‰}‰~‰~‹}{ŽzyŽz‹{‹{Œ{‹{Š|Š~†€ƒƒ„ƒƒ„€„€ƒ€„„‚…‚ƒ‚…‚…†©ˆ¯‡²‡­‰©Š­‰±‡´ˆ²‰®‰¬†µˆ·‰±~¥u‰{‰}ˆˆ€ˆˆˆ~‰|Š}‰}ˆ}‰‹ˆ†‡‡~ˆ†€…€†~|‘z’y”y“y‘{’{”|•z”z“z{„€„„ƒ‚€‚€‚€ƒ€„€‡‡€†€…‚†™€Â}ÌzÏzÍ{Ë{ÎxÐwÒwÑzÎyÏwÓzÏ}Ì‚±…‡‰{‰{‰}ˆ~ˆ~‡ˆ‰}‰|ˆ}ˆ~†€ƒ„‚ƒ‚„‚…ƒ†‰~‹|…|}~‚}‰~‰€…‚‚~ƒ~‰}†ƒ‚ƒ„€‚€€€€ƒ„€…€„……š–|«x¶uÄtÇsÈsÌsÊsÆuÃu¾x¶{§|–€”ƒ‘‰|‰|‰{‰{ˆ}†‡€‡€ˆˆ~†~…€ƒƒ„ƒƒ‚‚‚ƒ……ƒ‰~Š|€|z|y}~}‰yŠzƒz{}{~~…}‰}ƒ€ƒƒ€ƒ‚€€€€€€€‚†‚¬~€~€„‡~‡~Œ}‹‰†€ƒƒ~}‡{«} Š~Š}‰|‰|‰}ˆ~‡€†€‡‡†„€„€†€†~…ƒ‚€‚‚‚‚ˆ~‰|†|…~„~†~‰zˆw†x‚}ƒ…~†|‰{†}ƒ€ƒƒƒ€‚„y¸vÇx¶|¡~|¨|–‚€…ƒ}™{±}§z®vÆtÎz£ˆ€Š‰}‰|‰|Š}‰‡†‡†ƒ€ƒ€„…~ƒ…„‚ƒƒ‚‰}ˆ|ˆ|Š|‰}Š|‰zŠxy‰~…‡~‰|Š|ˆ|†…€ƒ‚‚‚‚‚ƒx·qÐqÒuÍuÈvÅzµ~”~—zµuÇtËqÒqÒsÍ{£„ˆ€‰~‰}‰|Š}Š}‰~‡†…ƒ€‚€‚ƒ„†‚‡‚‡…‚Š|‡|…|†|†|†|†|‰|‰|„€}†‚€…}‡|‰|‡‡†€„‚‚‚‚‚‚‚‚‚‚x´rÏrÐtËw´~œ‚ˆ†~……~‰|žw´rÍrÑsÎz£€ƒ‡‡€ˆ‰}‰}‹}Œ}‰~†„€‚€‚‚‚‚‚‚…{{Œ{‹|‹{Š|‰|‰|‹{‰}ˆ~Š}Œ|{{‡}…‡‡…€„‚‚‚€‚‚€‚€z«tÎtËtÆ|“‚€„€‡€‡‡†€€|ŒvÁtÇuË|}„€ƒ„‚‡‰~‰}‰}‹}‹}‰~…‚€‚€‚‚€‚€‚€‚†y–v–v•w•v•v•x“y’z‘{‘z‘y’x’y‘zŒ{‰{ŠzŠ{‰}‡…€ƒ‚‚ƒ‚€–}¬|œ{ ƒ€‚‚„………€ƒ~‚}—|‘~š€†|†|„‚†€ˆ‰~‰}‹}‹}‹}‡‚…€ƒƒƒ€ƒ€‚€ˆ~Žzy‘x“w‘w‘w‘w‘y‘y’y’y“w’x’y”y”y“y“y”y‘z‹}‡~†ƒ€ƒ‚‚‚€ƒ€‚‚~‚€~~€€ƒ€}’}‰~‚ƒ‡€‰Š~Š}Š}Š}ˆ‚‚ƒƒƒ€ƒƒƒ€‰}‰~€‚„ŽzyŽzŽz{||z{|‹}Œ|‹|‹|Œ|Ž{{‹|ˆ}ˆ~ˆ~†„€ƒ€‚€€‚€€€€€‚ƒ€|…~„}ƒ}‚ƒ‡€ˆ€‰~Š}‹}Š~††„€ƒ€„€„„€ƒ€‡}„€|…~„‡Š|‰|Š{‹|‹|Š|Š{‹|‹|‰}Š|‹zŠ{‹{Œ{Œ{Š|ˆ}ˆ}‰~‰~‡…‚ƒ€†‡††~……†‡‡€…€ƒ€€ƒv„~„ƒ}ƒ‚†‚‰€Š~Š}Š}Š}‹~Š~ˆ†€……€†€„€„„€‚‚€ƒ„††‰|‰|Š|Š}Š|‹{‹|‰|‰{‹yŒz‹{Œ{ŒzŠ{ˆ}ˆ~ˆ}‰}‰†€‚€€‚ƒ€„€„„€„„…„„„€ƒ€ƒ€€€€‚‚‚ozƒ€‚‚~‚‚‚‡€‰~‰}Š}Š|‹|‹}Š~‰…€…€†€…€„…~…ƒƒ€„…€ˆ}‰}Š}††€Š|‹z‹zŠ{‰{ˆ{‡|ˆ{ŠzŠ{ˆ}ˆ}ˆ~ˆ~ˆ†ƒ€‚‚‚‚‚‚€‚€€€€€‚€‚g{m~{}ŽzŒ~‚ƒ‚‡ˆ~‰}Š}‹|‹}‹}Š~ˆ†€…€…€ƒ€„…~ƒ€ƒƒ†€‡}‰|‰„ƒ‰{Š{‹{Š|ˆ|‡{†{‡zˆzŠ{ˆ}ˆ}†„‡†€†€…€…€„‚‚€€‚‚€‚‚€‚i}i|q{‡}‡~‚ƒ…ˆˆ~‰~Š~Š}‹}‹}Š~†~„€…€ƒ€ƒ€ƒƒ€ƒ„†€‡}ˆ}ˆ~ˆ}ˆ{ˆ{‰{‰|ˆ|ˆ|‰{‰|ˆ|‰|ˆ}‡~ˆ†…‡ˆˆˆ‰~‡€…€ƒ€€‚‚ƒƒ‚‚‚k€j}j}w€ƒ~ƒ}ƒ‚ƒ‡€Š~‰‰~‰}Š}‹}‹|ˆ}…„€ƒ€ƒ€€€€€‚€…ˆ~‹|‹|Œ|Ž{ŽyŽyŽzŽzŽyyy‘y‘yyŽ{Ž{Œ|‡ˆˆˆ~ˆˆ~Š~Š~ˆ†ƒ€€€‚€‚€ƒ€„……mll~s‚„€ƒ}ƒ~ƒ…‰Š~Š~‰}Š}Š}‹|Š|‡~…€‚€‚€€„Š|y’x”x•w–v–t—u–u–v—v—u—u—u˜u˜v—v•wŒ|†‡ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~†ƒ‚€‚ƒ…€†€†nƒl€i}nz„€ƒ~ƒ|ƒ€‚†Š~Š~‰}Š}Š}‹}Š|Š}‡‚€ƒ€„‚ƒ€Œ{“w”v—v–w•w•x”w’x’y’y’x’y’y“y“w”x•wz„‚‡€ˆˆ~ˆ~ˆ~ˆ~ˆ~ˆ~ˆ…€‚‚ƒ†€‡€‡€k‚k€h{i{k}y€ƒ}‚}‚ƒ€‰~Š~Š~Š}Š}Š}Š}Œ|‰~‚€€„€…€ƒ€ƒŽ|zŽzz{Œ|‹|Š|‹}‰~ˆ}Š}‹}Š}Š}Š~‹Œ~Œ‰‡‡ˆ~‰~ˆ‰ˆˆ~ˆ~ˆ~‡…€‚€€ƒ€†€†€l€m~hzgyezs€„~“|ˆ‚†Š~Š~Š}Š}‹}Š}Š}‰~„‚€‚€‚€‚€‡~‹‡‚‡„‰‡†…†…„…„‚„€ƒ€ƒƒ€…ƒ‰ˆ‡ˆ…„‡‚‰€‰ˆ~‡ˆ€ˆ‰ˆˆ~ˆ~ˆ~ˆ~ˆ†ƒ€€€‚€„€lk~gyfwfyk}{„€Š~…}‚‡€‰~Š}Š}‹}Š}Š}‰}†„€ƒƒ‚…†„„……ˆ†……ƒ‚ƒ‚‚ƒ‚ƒ‚‚€ƒƒ…†Š†‡†…„†ˆˆ…€ƒ†€ˆˆˆ~ˆ~ˆ}ˆ~‰~ˆ~†~ƒ€gg~fzgwgxh{p~‚€‚~‚~ƒƒ‚‰Š}Š}Š}Š}Š}Š}Š~‰~‡†ƒ‚€„€‰„‡†‡†„ƒ‚‚‚ƒ‚…ƒ…ƒ†ƒˆ‚†‚†€‚€ƒ‚††ƒƒƒƒ€ˆ~‰‡€††‡ˆˆˆ~ˆ~ˆ~‰~ˆ~ˆ}†ƒ€€€hh~gzfyfwgxhzv€ƒ€‚}‚€ˆŠ~Š}Š}Š}‹}‹}‹|‹{Š}‡ƒ€€‚ƒ~‚ƒ€‚€‚„ƒ„ƒ…ƒ„„…ƒ„„ƒ€€‚€‚ƒ€‡~‰~ˆˆ‡€‡€‰‰~ˆ~‰~‰~ˆ~‰~ˆ~‡~†ƒ‚€‚ih~gzexgxhyhzr€ƒ‚~‚‚…€Š~‹}Š}Š}‹}‹}‹}Œ|‹|‰}„€€€ƒ„€‚€‚€€‚€†€‚‚ƒƒ€‚€‚‚‚ƒˆ~ˆ~ˆ~‰ˆ‡€†€‡ˆ~‰~ˆ}ˆ~‰~ˆ~ˆ~‰~ˆ€…‚‚jh~g|exg{i{h{o}~ƒ‚€‚~‚€‡Œ~‹|Š}Š}‹|‹|Š|‹|Š}†€‚€‚‚‚‚‚‚‚ƒ€†€‡€ˆ€ˆ‚‡‚ˆˆ€„€ƒ‚ƒ‚‚ƒ‚ƒƒ‰~‰~‰}Š~‰‡€‚ƒ€‡ˆ‰~‰~‰}‰}ˆ~‰~‰~‡€„€j€j~i|h|i~h~h~j~v€‚‚~‚‚Š~Œ}Š}Š}Š}‹|‹|‹}‹}ˆ~‚€€ƒ‚‡ƒ‚‚ƒ€ƒ€‚€‚€ƒ‚€ƒ€…ƒ‚‚‰}ˆ~‰~‰~ˆ~ˆ‡ˆ€‡‰‰~‰~‰}‰}‰~‰}‰}‰~‡l‚k‚jjmƒj„hƒi‚q}‚‚‚ƒ„‚†€Š~Š}Š~Š~‹}‹|Œ}Œ|‰~ƒ€€€‚…‚‚‚€‚‚‚„‚‚€€‚ƒƒ„‚‚‚‚„€ˆ~Š~‰~‰~‰~‰~‰~‰‰ŠŠ~‰~‰~‰~‰}ˆ}‰~‰~‰kˆl‰m‰n‰o‡n…l…n…s…|‚€~š}~‚‰~Š}‰}‰}Š}‹|Œ}|Š}ƒ€€‚‚€ƒ‚‚€‚‚‚€€€€‚……€ƒ€‚„€‰}‰}‰~Š~‰~‰‡‰‰ˆ€ˆ€‰€‰‰~‰}‰}‰}‰~‰~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏËÄÆÃËÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÍÏÏÍÈ¿´¯¥ •ƒ}tijwkjkonreicW]b]]e^V]b_`VQOU[Z_d_gUVYXUWUTZWQV_^\YVLD?9;9533?3ÏÏÏÏÏÏÏÏÏÏÎÎÎÎÎÉÃÆÂÉÎÏÎÎÎÎÎÎÎÎÎÎÌÌÌÌÌÍÌÌÍÍÌÌÌÌÌÌÌÍÎÍÍÏÏÏȶŸ¦™vxta]ar|o]_nlg[Y\^_ZYVQ_f`]UPOQXX^hiiPT]bZQPMQSZ_b]VPMKAA86543077ÏÎÎÎÎÏÎÎÐÏÏÏÏÎÍÈÁÅÀÈÌÍÍÎÎÎÎÍÎÎÎÍÍÍÌÍÍÍÍÍÌÌÌÌÌÍÍÍÍÎÎÎÎÎÏÎͦ‹Štnmpnnopu}y_dadd[[\]\\TRV^dXZZVTSUTX\hdRPX]VMNNRR]cba[RHC@<953331/3ÍÍÍÎÎÎÎÎÎÎÎÎÎÍÍÊÃÆÁÈÍÌÍÍÌÌÌËËÌÌËÊÉÊËËÌÌÌËËÌÌÌÍÍÎÎÎÎÏÏÎÎÍÍÌ·™{nqwyv~ffb^fXcec[[XVaZTXgeRQTXXTOKVQYhRPTXYPNSPPZ`_aWUVOH?<86331-.ÎÎÍÍÍÍÍÍÎÎÎÎÎÎÎÊÁÃÁÊÐÏÎÎÍÍÍÍÍÍÍËËËËËËËËÊÊÊËÊÊÊÊÊÊÉÊËÌÌÌËËÍÀ’Œ‚†tcn{mdhaa`XjbZYTUN\a_aql\QPV]VNJTSSYS[\YUOQQW\_XXZRRYPI@?@<640-,ÍÍÍÍÍÍÍÍÎÎÎÎÎÎÏȹ½»ÉÑÐÏÏÎÎÎÎÎÎÎÎÏÏÎÎÎÍÍÍÌËËÌÌÌËËÊÇÊËËÌÌÌÉÇƧ‹yxri^lpoc`c`Y]`UT[SSR[fdgicgVRW[TPTWTTYRZ]bXTUSZ[\ZXTSPQPI@@>7642/3ÍÍÍÍÍÎÎÍÎÎÎÎÎÎÏƻſÇÏÏÏÏÎÎÎÍÍÎÎÎÍÎÎÍÎÎÍÌÍËÌÎÏÏÌËÈÅÊËÌÎÏÌÇŵ¡}}rdWSb^Z]ca_d_XVSLLUZ_`dh`\TPQQNLSQTQ`LTUZ[Y[Z^\]ZTQTPSLED?B;520.5ÏÎÎÏÏÏÎÎÎÎÎÎÎÏÏÆ¿ËÃÆÎÎÎÎÍÍÍÌÍÎÎÎÍÍÍÎÎÎÍÌÍÊËÌÍÊÆÄÄÂÅÇÊÍÎËÿ¼ª€|rWTRPNWXoqfcc]YMD@LZRZba]WURMMKINIQMXNRVVWX\\[\]ZSOTOWPDG@>=2//--ÏÎÎÎÏÏÎÎÎÎÎÎÎÏÏÆ¿ÊÁÅÎÎÍÍÌÌÍÍÍÎÎÎÍÎÎÎÏÎÍÌËÈÇÇɾ¸Â½Á¾ÅÊÈŽ®¡¨Ž|vbVYZXgj^oge^VURRXXdUP[]SOWXRMJGQQR\[TQY[VVWYWPQ\VSXRXV?5732/..--ÏÎÒ××ÑÍÎÍÌÊÉÊËÍÄÀÉÁÂÍÎÎÎÍÍÎÏÏÏÏÏÎÎÏÏÏÎÏÌÄÃÃÀĽº«À¸¾µ¿Ç¾¾·¦ˆ„~q†{f]`Z\elXo\U\SOTU_]XPPTXRRSVWMMNTRS[h^OVYVVVVZSL][Z\]NC<6541.....ÏÛêïïäÓÍËÄÀ¾ÁÅÈÂÀÈÁÀËÍÍÍÍÌÌÍÎÎÎÏÎÍÎÎÎÎÎËŽ¶½º³£º³½²´Áµ¼µ˜…}~ngcdbaT]b\We[S[^QSTY_UUTPONLLNSYWPSQQSdZNZ]XQMMXZPXXRNIA9=<962/---.ÝïЪ·ãéÍ¿¸³±·»ÂÃÃÊÆÂÊÌÌÍÌÌËËËÌÌÌËÌËÉÉÉÅÅÀ³¯ª®²§Ÿ¨­·±³¶­­£„yyvmlUaf\YcXS_j^W^XLQSU^`bUQNMMPSMUVKPUPS]^Za[SPLNYWRZPRXJBC=;;972....îÈygn¤çÚ¶±®®´µÀÅÆËÉÅËÍÍÍÎÍËÈËËÌËÌÊÊÇÄÿÁ²¡žœ¤¥›˜ ­®¬®©§™†vnlfkk\UWVa`VW]YY_VRVUTTV`YRTPPSURTUWSQYPRZaY_XZ]X]aTSZWTPA?G<877752011ãŠxxr‘Ì黯­¯²³ÀÃÆÊÈÃÊÎÎÎÎÍÇÂÊÌËËËÆÀ¸³¶¸»« •šœ˜“ ±®¬¡šœ’yieeUhaSMHPYcYSSai`bp__b]TWOPQPPRWSUTVZTZMP`^_hZc`jg`TQNNKL@>@8755664/03Ê‚‰wŒÂéŪª±±³»¸ÁÉÈÁÊÎÎÍÍʹÈÌËÇ·¥ž›œ¥§Ÿ—Š•š’¬­¡’‡veeh\]URUSQZa_\jm`QVcOXrpZQPJLMLHKMMNNNRZTX_VTYX_h][VPJMIGFEI?7555554/16¼‚†‚}‰Àé̦¨±²´¶´¾ÈƺÁÌËÍÌÉÀ´ÅËÈ¿³¦˜œž”™–…–•ŽŒ‘”œ’Š‰Š†€wuqcXTX[ZPX\WU]i]RQ^ffa_[SSMKKHJHGEGNLT_]W\WP\igfW]TMXSIJAAC9864434536=·ˆ‰……ŒÀæâÕ϶­¯­¬¶Ä»­³ºº¿½Ç½±¿Ä·ª Ÿ˜šž”–†ƒ…‚ŒŒƒ€Šˆ„‚„ƒ‚{xqaWVUV`[UXUSZfPPP_ieSS[YSMLMKKIFKIKSV]bTZRQmrde^c^UbZUUH<=;:7443365;?ź¸ŒƒÁåìïëÍ̯¡¢«¬¢¢¢¤¥¥ªº²¦¦ªšœ™ ˜•š“–Ž†„†‚†z„‹‰…}~}wtqjdXSYf\TUTV`[PZ\^^XRRRSSNLOQLOSQGDLPV`SSO_bb`Zej]RU^YHUF<<=:566589<>½¾¿“‡’¿äëåàã¢¯£Ÿ¤«¦¢¥¥¡•”“™ š”‘‹‰ˆ…€‚‚y‡„‚‚{|{wrjjfZX\SY_[V[[^ZW[Z\^ZTOKWVOLOLBDGFBBGIHSKQSZ^bZ`o[_Q\`[IFD?>=95677:>@@ª¾½–‹’¿ãìоÝêȹÄǺ¹²¶¹Æźª¡¡”Ž“Ÿ—š—ŽŒ‰ŽŒ‹‡†‚‚‚z€‡€~xyvsrnkfZ^dfdYQSYZ_^cYU^VX_[VRKNMOKCDFC@EGEDSHVX\Xbca^TdbVYYRLGEG;86678<@HFŠ½¼˜”¾ãìâÛééãäæååæäæçéëïÛš“‰Œ‘’Œˆ†…ŒŠ‹ˆƒ‚‚|€‹{ywpttoibX]ea[TWPS`gcdXPSSi]cYOQRQJHEHSKDJKLFPR^^YNZeddWbcVSX_RFAB<:8878=>85568989:9<@@@?K{«bÌðììììëåÚÈÀÀ»¶¨¦™ŒˆŠ]ISZaimQTaWCCBKknlg_FU}~}tswzyuqkf]UNMXY[SVY]\YKZa\]Y[aWLLTPMKMPOQTWYX]jaX\`bafmonnpmd^ZSkkB<;99>BLQVk‹PQQSTUWHDEEECBBHRTTVVQLB<:OpKHJJDZjeS~˜š“UUB=eqmbH9>?R–Œƒ`|O54T˜~FPLIGJNOOHeyW89FŒ^tv{|qijlmha][W_[OOWWOOT]\ZYZ^^UTOGAAGJC>CQQJT[b‘^aoj^VLUSL7:;<;`YFHMYbSII±ìÅwHTWMNMMPNHEBDŒØæ™X‰C:;a™mF;76;LLKHk‘r962vxdusvshfisyfYVWSSRNVXPOZ^[X]b^YPSUPJFLRJ=@OTOejwZIF>377:LNICABBBB::;;;:ReHJX_lPIL«èÍ°ž¡©«¬¯±°°®ª¦¢µÎɈ_†BJG\†nJA876<;9>…¢h763]Xspmmhgebl_UW^XX\TQTQTP\_\e_WUSPIHHEHLHEINPRglŽ‚W>H<8::8FH956=5347==:ADFD87AcJfo^]LJKj¨ÓÛáååçììéëðîëÙsT[ˆkdvOkLjXMJQX[ZPRLUeyPA>9Gl@dO=;Adfbab`VY[[VSQPNT\\UY\WNRZUQX\\swelnbZVyšXH?D@?rƒE<7456548>@A?:6;]H[j\YB>;i¢×ãéíï༻Ý̶ÊòÑ;7:VP@==@6;A?>DEECC>;;9JQLK@8::D<586Ebfa_a^Z[VVVW[]TRZ[ROOW`[Z[ezƒ‡ŒƒcepZWclwJMJJEB^y^BGC83339/AY><9:9997666687888789:;<>DN5:B>RURMsqqrstx{{z{|~€€€z“t@Y?=;;9899988888888:9::;<>?EEinimoopqrtuy{zxwwwwxxy{~ƒˆ”¥³µ®œŒsmmllaOPMQciQRA99?HGFILThjkk]ECB?O¢Z]€ƒqcRGD.1148=HVm˜åñðñðïìÊ…VhJE99=;9863;J>;69AH@9;@GQTvbHCGE@BZ^|œxbjjfca`cgfebaa_]_^^D7DKNOSX`kmnm„æñëéëíîîóÝukjlh^WSOLPÌÁr]ehhilmoprrppqoidc>93//11;?=AG=5Bo“¬~b@=@GVXQDBAVOD?=ERUSKDBBBEEI`^_…[Ukkjgd`abcffdca`_^`B3DMPQRXcjgffp¶ÐÎÌÊÈÅÄÅ©^SWbh^WRPLVÀγb\begiklnqrpprqnje<760-/138;;<@CEQZuo\ZZYXWWXY[\Y[Z[\[Z\[YZZ[Z]]`gRYQchhjjifdbadghgfdba`?2DMPRbecbS>/04;@HAKG;<8/.DL]hŠwQJW­ÄС[]dghilmnoooqqqnh;581/.-,,,,+,-./5Pƒmp]^]\[[\\\\\[[]^XWX^chpv|‡‰Œ…~‡‰„‚}potifcbdfhihfec;0CHGjÃŒdSKKFGFGOgV`^TYUNMQRRnÕÁT@Kz¶ÇÏZaeghkllmnoppqoh9582AP?8421-,,,*7[K^qW[[[ZZYYYZYXWjƒ{‹™¥«­°±¯±°®­®®¯®°°³³¬nijhdcbehihig9.B@>tχ___H@GFFFHDBBA@@<4Of`b‡LAFP¾ÊÉu[cehikllnopoog]76741EKKB76.+.02Bte€rUYXZZYYYYYYX]…’°ª¥¡›”‰„ƒ„~}}yxy‚‡‘”gnojieabcegjh9+==?Nhaagk^HB@ELKMRSSUUQWjpl`TLCBEZy®Âͱe^bfhjllmnonlf[;442257870-/36:;RuƒynlcYZZZZZYYVnt†zog`ZTTRPTVPPONMMOPSUY\rujkkgdbbdfe9*;;9>HP[gotmighgfhhggebced]VKD>8:BWXx¹ÄÍ _`efgillmllkjaM921220.///0110,Ou’~€Ÿ®šg[[\[[\ZWuyURJIHHIJLNM[_GGFGFBBBCBA@D`lkkjhdbbcc8&839./245455555444100/.+(())))1NJARKNˆ¼ÃÍ[^adfhijkkkje\SMKMQPPPPPPQRSQTr†w‹ÛäÙ§d_ac`aac‚O???>=<<<::776799:98877888:Dflkkkjgdb`7&77`L0*+1*''&$$$#%&&')*08D]H#)BVKA^SMV˜¼ÆÅxU]_beghkklljda_]]^][ZZZ\^`cdSntY„æÙÜè˜fmprsq‚{=:;<<>??AC=<97778888>>Wljjijg^UQ4'7448?<=?>=;98877888:;=AEIOI"!'*7=fYQK`¨Á˽m[`begiiklllkihfcb`][ZZ\^aceU_ZGeÓ»Áô·iwwxyx˜_><@FFFCBCA=ŠŒH@D=:65567766>AFeigfdb]QL4(61*-;<;;<;;:88999;;<:567765#&2468lcRNJr¸Âаc^befhijkllmkjieca^\[Z[^`bcTRIGI^a‹Ûœz£°³¼ª˜GA:698878<=Ba_>9<8755555654:B>XgeffffaT:,2-,240.--,++**+))))*)''(()*#'1105nqgSMN‰¼ÃÒ›]aefghikklmlkjigeb^[Z\]_`bSGGFIMT_n}½Èƒrk›Š;B648<:86@D@IC875544;FC:6547A?Jdfeeedc]P;2./2212467786766669:98:=AEEHJMMNQkmv_OLWÀÉÍ„\cefgikkklmlljihea]\\\^_bUDGGJPS[eˆØ¤14;œm;?336GWA2?L92023356Y¨P><12Qf]RTVbc`_]]]\]\\]_dhhhfb_^]]^^^\ZYZ]bgjklmrnmndTVi‰½ÉÓ»k_ddfiijllllmlljhda^\\]_U?DGGNW`l„¹£V„¨??:56E‡‹ŠQ:82/00146DELQ^^\^K54B>IdO243Hfdbcccbba_^]^dikmjfb_^^^___]ZZ]aehjlnoomhYPRS‘ÄÆÓ©_`acefgjkkllllljgc`]]]_Q9BHEKQZjdLE<Ån;@>BCHD„ïfB@QGdO@869546565689?BA==?<:::999;;B:\rggedccddddcdeffea^\\_dhlkheb`][[ZYXXZ[\ngdgicc`UOLf¸ÆÏÎyZaggegghijkkkkihfc`_N3>@A@BGKFEGIIIJLLLMMKHHKEuP@gcacccbcdddddeefeda_^^`chjhgda^\[ZZYYZZZlhhgsnjdTNNM…ÃÇÔ´`_dddffhijijkkihhfb`P/9@GO‡«‡Zf{±¼`e…W@GQTZ^ceiillmomnnnoppppoqqqszeƒJakqcabbbcddddeefeedbb_]^aghiifb^ZZ[[ZYYYomhhqosjTMOMW¨ÅÊÔ˜b`bdffghiijkkkiihdbQ*69CGIQ[dj]€­Rj\hvutrnkjheab`^]]\\]^^\\]_adf`l~w^ºä®fabbcdddefffffeecb_]^cgilkhc][[\[[[Zjrlhpptsh]PNKu¸ÃÐÌu[befefhhijjkkkjie\I)53798656>>??@???@AABDDDCDKhofbcbaabddeeffedddfhged`^^_chijhc_]]\\\tqlknnjhjleMJK`­ÂÊ׌]bdffhhijkjijiebYD*213/7>ADDQ_€|dIBCABB@??=<;;:;;:::::;;::;;;=>?>>>@Sniccbaaaddcccccddbdfgfdb_\\^cgjkid_\\ZYomlejlpsookRILLz½ÁÑÆo`dffhikkkkjjjhgcM0.--,-+++1Ko”kW@<=====;;:8889898888778889::=<9::=;;Qcdbbaaacdccccdfeeeeggfdb`\\_chkljfa\[Zkeeehlstpst`LJXh˜¿ÅÕ«bbefhikkkkkjjigcZF/./0.++*-Ojs[H:;9889;;:8889:::;=<===<<;;=>@Rhipƒf;Tfca^^bacddccdfffggfghffc`\]_dhlmkie_^fkkgopmmqrpkUJMMX§ÃÇÔ‘^begghjjjjjjige_VMKKKKLKKCPZbQd{‚gelfOCDFEDEGJLxkKIHHGEFLJh«ÑçÖ°²Ýœ5Ogd_ŒÀŲnacccdeffgffgffffc`^]`dilmmkfdyssqurljlkimgLJLIoº¿ÍÌv\bdfghhghiihgfc_\ZZXXYXXQKKOD²×µ¯ÎéáΘKMOUXZbo}w{rvab_[HI’úäÆ¿Ôâò‚2KfdcuÇáá§^bccddeeeeeeeeeffeb^[^chknnlhzslljijlnlePKMLM‘ÀÀÔ±]\adefggghhhgffda`_^\[ZZUID>;ŸñÜÕ¶¸Ùø½Q>IQSPk¡–—œ‡A;983GkŸÛÞàÜÔ°S2Ggdebipomabcdcddeeeeeeeefffea_]^chlnnkqwsuunoimonlkeZNLI_´¿ÊÔƒX`cefgfgihhgghgecb`^][[WID58hÍæäâÜׯui5--++Mj…ˆˆˆa:566Ca‚gkkbYL;81Dgdedb_`_mkcdddddedeeeefffeedb^\]bhlmmmvsutmpjjlllotiRKKL’ÅÈÖºcbeghghhiihhhhhgedb`_\[VJE26=Mafhhfjƒ˜r>?A@;{£¦”‘UAC@B@~ŸxcTJB;642Efddeecdl‡xdccccdecdddccccddec`\Z]chlmmtoommnjgjinnniSKJKe»ÇÏÖŠ]dfgihhhighhhhgeedb_]\VLG2796;?HQbv“¼l@Rkrv ¶––¡¤škP•§zdRI@;90.Effdddccc^\accccdcbcdddcedddddb`^\]bgjnlousplmnoghkkkUKJMM”ÈÇÓ»d_bdfggggghhhhgffec`_]VNI1335@?JR_t‘m£ìîððïððñòðóê|d¼ }dRIB<;42Feedcccbba`adc`decbddeedefeddeeca][]cgjmoroooqtrmjlmgVNKLKc¹ÈÍÖŽ`ffghhiihhhihhfffdb`_WOK1169??KQ]sŒºÀ^ ïëêëëëëìéÛëæqgÃhXOF?;9>Keddddccbad£À½—cdccddeeefffeeeedc`][]blklosvvqumkmlkpePKJLLŽÉÉÕÁldfhhhiihhhiihgfgfcb`WCC:GA<@CLS^w“½ÆY–óïïïîîðñòòôîkuÓ¬„gTF:40.2Ifdddcccba_Šäïçœcbcccddeeeedddeedb`][\kpvsprrnpjkjgitcMKLLK_¸ËÍÖ™afghhiihhhiiigggfedbY7<=:325:?FQe®ÙlvÑÕÕÐÒÒËÁ¶­­—Mw‡[G7557>1.3HeedccccbaaaŽ°±¡g`bbccccbdeccdeddca`]Zqwvqjgjookkkwstf`YLLNQ‰ËËÑÉubfgijjhhgihhhgffefe]58>5108@=96:EGnd5BDDBGL@;74424e@BJ81eÆÁM,6Hdedddccbaaa]\\^aaabbacdcccbbcdccbaa_[ijkhbaaijs}wuwqjpgQLNS]±ËÉתeghijiihhhhhhgfffee^>C=710•É¸C8<<80/3;6537dFIgol}€‘wcanjQMFCCM745532339Hceeedccccbbbbaaa`acbcdddcbca`aaaaacca…~uztrjnvpkjpjcccVLKK^e¼ÄÌØ’^bcdeefggghgghhfaY.*=:625557669JFHDEK\b\k\Y\XNMNKKH4100.//02Ecefeedddccbca```bbccceedccbabccbabccc‚zz€ysoscair{skmfZMLKV][šÄÄ×ÁgaccdeeeeeefgffaWP.(=2/.//../03=?<:<9532@3ÏÏÏÏÏÏÏÏÏÏÏÎÎÎÎÉÃÆÂÊÎÏÎÎÎÎÎÎÎÎÎÎÌÌÌÌÌÍÍÍÍÍÌÌÌÌÌÌÌÍÎÍÍÏÏÏȶŸ¨šx‚z‚u`]aq{o_aokh\Y[^`ZYVP_h`^UPOQYX^hiiQU]`ZSQMRSZ_c]VPNKBA86543087ÏÎÎÎÎÏÎÎÏÏÏÏÏÎÍÈÂÅÀÈÌÍÍÌÍÍÍÍÎÎÎÍÍÍÌÍÍÍÌÌÌÌÌÌÌÍÍÍÍÎÎÍÎÎÏÎÍÁ¤‹Štompklllt€y]bbedZ[\]\]TSV^cZ[ZWTSUTX\hdRQZ_VLMNRR]ca`[QGC@<853331/3ÍÍÍÎÎÎÎÎÍÎÎÎÎÍÍÊÃÆÁÉÍÌÌÌÊÊËËËÌÌËÊÉÊËÌËËËËÌÌÌÌÍÍÎÎÎÎÎÏÎÎÍÍ˵˜‘|knt{v~hfd^fY`dc[[XVaZTYedSRTXYUOLVQYhROUYYPNRPPZa_aYVTMG>;87331-.ÎÎÍÍÍÍÍÍÍÎÎÎÎÎÎÊÁÂÁËÏÎÍÍÍÍÍÍÍÌÌËËËËËËËÊÊÊÊËÊÊÊÊÊÊÉÊÊÌÌÌËËÍ¿’ƒ~vcl}mch`a`VjcZYUUN\a^`qnZQPV^VNJTRRYT[[YVOQRV[_YX[RQYOH??@=640.,ÍÍÍÌÌÍÍÍÍÎÎÎÎÎÏȹ¼»ÉÏÎÎÎÎÎÎÎÎÎÎÎÏÏÎÎÍÍÍÍÌËËËÌÌÌËÊÇÊËËÌÌÌÉÇÆ£‰zysh^mpod`a^W\aUS[TTQZfefhdgVRW[TPTVSRXSZ]bVSUSZ[]ZXUSPPPI?@>8641/3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻŽÅÎÍÎÎÎÎÎÍÍÎÎÎÎÎÎÍÍÎÍÌÌÊËÎÏÏÍËÈÅÊËÌÎÏÌÈÅõ¡}yqgXUc`Y^a^\b^WVSLMVZ`aei`\SPQQOLTRTQ`LUU[[X[Z^[]ZTQTPSKED?C<420/5ÏÎÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÁÄÍÌÍÍÍÍÍÌÌÍÍÍÍÍÎÍÎÎÍÌÌÊÊËÍÊÆÃÄÂÅÇÊÍÎËÃÀ½«‚}rVTQPNUXnoebc\YND?NWR\bb_XURMMLIMIRMZNSVVWX\\[[^ZSOTNWNDI@?>2//--ÏÎÎÎÏÏÎÎÎÎÎÎÎÎÏÅ¿ÊÁÃÍÌÌÍÌÌÍÍÍÍÎÎÎÎÎÎÎÎÍÌËÈÈÇɾºÃ½Á¾ÆÊÈż±¥©€zuaVXXVegaogg_XVRSUTdUP\]UPWXSMJGPQQYXSQY[UUWYVPQ\VSXPWV?7712/..,-ÏÎÒ××ÐÍÎÍÌÊÉÊËÍÄÀÉÁÁÌÎÎÎÍÍÍÏÏÏÏÏÎÎÎÎÎÎÏÌÄÂÂÁżº­À¸¿¶¿Ç¿¾¶¨‰‡€rˆ}fZ_\]blVn\V]ROTU`]XOPTYRRTVXLKLSSRZh]NVYVWVVZSL]ZZ^^MD<6531...-.ÍÙèïïäÓÌÊÿ¾ÁÆÉÂÁÈÁÀËÌÌÍÌÌÌÍÎÎÎÏÎÎÎÎÍÍÎËÄÁ½¶¾º±¢»³¾²µÁµ¼¶š‡}ojhbbbTYd^Ve[S[]QSSX^UUTOOOMLNTXVQTPQRdZNY\XRNNXZQXYRMJA9<<962/----ÔíÕ©¹åé̾¸³±·»ÁÃÃÊÆÂÊÌËÌËÌËÉËÌÌÌËËÌÊÈÈÅÆÁµ¯«¯²§ž©­¸°´¶®­¢ƒyzwllVbe[XaYS\i]V_YLQSU^`bUQNMLORMUWJPUOS^^Za\TOKLYXSZPQYJBB=;;972....ìÎ}go¢âÛ¶°®®´´¿ÅÆËÉÄËÍÍÍÍÍÉÇËÌÌËËËÊÈÄľÀ´¢Ÿœ¤¦›—¡­®¬®©¨š…vnlhkn^WZV`aVV_\Z_VOTTSUV`YRTOOSVRSUWQPYPSY`X^XY[UZ`USZWTQA?G<877752011äŒwwrÅ踭¬®²²ÀÃÆÊÈÃÉÍÍÍÎÌÆÁÉÌËËËÈü¸¹·»«Ÿ”šœš“ ±®« šœ’{lgfUhcTMIOXbYRQ^ibana_`[TWOPQPQSXSVTVYSZNP___i[c_jf`SQONKLA<>8855664/03ɉw‡¿æ¿ªª°±³»¸ÁÉÈÁÉÍÍÍÍʹÇÌËÈÄ»« žž¥§Ÿ–Š”š’ž¬­Ÿ‘‡webgZ]WQSSQZ`a\gnbQVdOWqoZQPLMNLHKMNONNRZTX`UTZX_f_[VQKMHFGDH@7555554/16¹ƒˆ‚|…»çÆ£§±²µµ³¾ÈƺÁÌËÍÌÊ¿´ÅÊÈ¿¶©šœœ”˜–„–•Ž‹‘“›‘Š‰‹†€utpcYUX\XPY]XU]i^RR_dda`\SSMLKHJHGEGNLR^\W[VPXfggU\SMUSHIAAE:854435527>­‚‚„„Œ¼äßÉƲ®°­¬¸Æ¼®³º¸À¼Ç½±¿Ä·ª¡¡š›Ÿ“•†ƒ†‚ŒŒ„€Š‹‡„ƒ„‚‚{xqaUVVV^[VZUSXgRPO^hfSR[YTNLMJKIEKJKRV^`RZRPltdh`a\Tb[UUF<;;97443475;?µ¶Ž‚½ãíïèÇÆ­££«­¢¢£¤¤¤ª¹±¥¤«›œ™ ™—œ“–Ž…ƒ†‚‚†‚z„‹‰…‚~~~~wtpjdZSZh[SVSU_[NW[^^XRRSSSNLPQLOSRGCLPVbTSN^bdaYbi^RT\XITE<<<:566599==·ÀÁ–†¼âëæãã﹜Ÿ°¤ž¤©¤¢¤¤ ”•”™ ›’–‘‹ˆˆ„‚‚zˆ…ƒ{|zwriig[VXQY_[V[Z^[V[[\_ZTOJVWOLPLCEHGAAFIJRKRSZ]`Y_r`]O[a\HFD?>=95677:>@@½¾˜Œ’¼âìϼÝëïºÆ´·±µµÂ¿µ¨¡¡•Ž’Ÿ˜›—Ž†ŽŽŒŠ‡‡‚‚‚z€‡€~xywsrmnhZ]dccYRTXX^]bYU^VX^ZURKONPKBDFB@EFFCRHUX[Xca`]Se`WYXPJFEF:86679<@HFy°¿˜”¼âíÞÑèéÞÛàÛÜããääæéíšš”‰”‘’Š†ƒŒŽ‹Œˆ…ƒƒ‚|€‹{ywrtsoieY\fb[SWPR^gbdXOSPg^dXNQRQKIEHSKCKKLEQP]_[O[eddUadVRX_SGBC<:8889><^~ü½ÁËÚêëëëëëéçåâààÖÎÊÊÆ”…‘™Ÿ¦«¬¬¨¦¢¦©©¨¨ª¥£¤ ‘€ˆ„}zxz{wvp_Z^`UXVUW`YQM^u‚tg^\gSUNMTTNMJDAMVSSTRP\bfe[SYY^_U]XTYJ>89<<8::::>>>COTV_[\bfkb`_Z\VZVSWVRC;8977:9999;@@@?OT®m‘îíììììäÚǾ¾º¶¨§šŽŒŽ„’^VRQRX]e„gSRT[c`\VLO|~}tswzyupkg]TMM[X\TVX]][JZaZ]Z[`WKMUPMKMPOQTWYX\mdZYYWTUWSSPQKA951Zn54479UImywnjpwzphc_PRTEGPTZ]VRTRSV[WWXZ`]UMEDBDHIFGGJUX\X~…Ÿš—’ŽŒŠ‰†„‚€‡ŒzS9@HIIi¡ÉÁµ»³¨¤œ˜––™š¨±¢}{{€zMTx¶´°ª¨ž¹¦}•ƒOSOB853PaWxuqtnpvrkh^RVXTY[_]XGERX_X[YXVX]VOJDDA?@?>=BMPX^p”cib]XUTTTTTSQQQRTTSSVST?AHKKÝóº{»¨¤‡IFGHRLFGHIEpŒxzz…gcN=]ZOJXVq€tlONTeZ84@vOrtvukmtlig]O]j]UT[\YQOWY[c_ZW\[VNHEAA??=89=DIJ[cuuJW]bimnH;=<;:::HX\]^_aNJFHDPÉÕjž¨fBBKtƒrngPLFO•xvy…Yv@2556:NOMLMKLOG[xe>:p™\fx{vnjoiicc\gpcZNR\\WSTYX`ZV\g[PJCB@ACA@?DIC?K[d„_}œœ¡§ª±?989??DSXOIIEkiKLJBXfXMcž—¦W]I=UpdcL8:?;†Ž›‚Z|668cxKJPONMNNNLV{dC8bŒzUx}zqhjlmfb^]X_[OPWVOOT]\ZY[^^TUOGABGIB>CRRJU[`f’[~¥­¥“ˆrQD7@HHIOE;:9;BjOJLXaaLDzïÖ—GWXROTPVYOJJEmÀô²pft38<}›sLG><J;798>KG=;<@BC?=>>=9:PeNkhkUDMc»ÓØØÙÛÞàÞÝÝÛÚ×ÚáÉ‚|aˆWIMLh‡iMKB>>><86N˜ŠC974{[tg]``\ZjeWPY\_]YRMPXTZe``[QOVTMF@>GR\WZbgle[fœkU8H88BH;@?434;CA=5v|QvMAB[fcbb`UX[[VTQPNV]\TZ[UNPZTQTXUlxejul^UWxXK:A9Ajve?94456878?BC@75@aHelY?>9RËãèìïæ± ÇÏ£¯áóƒ48gyG^IVT@IABKVXWQLHGLYnZLF;8D@CN;>6Qhb^a_Z[VUSUWYPLWVNNOTWWYX`s„‹…edpjVZ]b‚’IHBFBCt‡pA?844558=@ABB>8:^FRhcSQSe€ª¿ËÎÇÄŸ¡¸À« ½Ëg054>M<8657:=97767897877?@AC:;;FE05abOEDRfGDJF9455?IKKKKI@9SDIbcsqqsstw{{y|}~}}€ybXP4ZM<<;:88999878888898889;=>HE>\elnnprtuwz{yxvvwxzz{}…›©¶³¨—‰|qllmmmZR]bvnB^|I::<<<;?K`IHrpnmmoprtuvvutuwy{|“º`MH;;:9888877778888889889==>?bthijiigikkostuvvuvvtsrrropsz…‘ž©°®§ž}qcQTTFf}aUOEAIPLMNOU[\^^VPPNJEOamkZvrnljkmmorrssqpopqtwyŒ¹lI?579866776666665556542479BJnwosssqpplhefgjlnpsuvvvtsponoponqv|‹ž²À·›„­uxvyplfVRfnnmmlklkjknoodXchhp‚tWzwrolkkkmnnpqqqqqpppq{¢qUeY=465555455>@555548Rfz…’Ÿ¨¬ª¥©¬¬¬­¬¦¦ž•fbeehlortuwutspmmooppnln|–°µŒ­obf_ZZZYoka_^]\[[\\^ahi\ZZZ]_YPyxxtplkijijmnoppqqqrqsxkj¢ª¢E144344579976539‰ž¢¥—“Šˆ†††…„…ˆ‘“˜…bdbcccgjnqsuwwvurpnlnopommxv¤}fVXYWWWX[ZXWWWVVVWVWWXXWWXXXXXUwwxxvqliihgiklnnooqqqviIz ´ª’I0232215_ŠrD@‚†9>_ÐòÛäå¡GlnppqrsstqkgcabbbcdfiU30../2?FIkV[jqw³ß£ypŒceƒäßàààã»M]e_MåÝÛØÝæ–^g^kilonkhdbbbc__`bfjopqrrucFKSH…ÜÑÕÙìºQAB­‰8‘ѽOWÃjCGµòÌǯ¤fIjloprssuutpmiecbbcccgL.-258;@IS]o’¬¹ÄÒàÑÍ·‹Yi_¦©¨¬´¸€BUofVƒÛÜÖ˹©hDuUfffimpomjgfggfc``bgjmpptdBDKNTk~ªªçðqE?jÒl„ЯY³¬HLZ¿î¬eTOMhjlnpssuuusqnjfcbbbbeO/-057>FP_vÅóíîíëìñЀWiD999:==FWp“¯ºòíññòòñ»m^bI?7:::8::BxrUP:5::;;IAXaYkkiecegjmnifdcdda`__cglaCAGJNSWY\^^bjpt†×çéæã¬vqhdbac]YTOL^begjmnpqssssqojebaabS20115:86;OO?7;:EiRilmkgdcdgiihgeba`_^]^_a\C>HJMQVYclruux~†•®Å²Ÿ’‹ƒ~{ytj\WTOL…\ceilmopqrssrpnidbabT4403?wÝ“F?E[PNMNMP~šTgKIGCVYODC:544464X¤Ÿ]8;88hRekjklifdcceghgc``_^]^\[YBBLNCEfy‡Ž”|JDIGHNRRJHCRJD<6HMNPTYbklomˆëôðïððñò÷Ýtljih^UQOMÀγb\begiklnqqpqqpnieS3;/./13;>ABC@DV}˜Ÿ…sUAADNYTKDCMXIEAENUWTKGJKMNOUgXinN\llkjgdbbdghgedbaa^;4HNQRSYdi`WV[ˆ›˜••“Ž‹vI@J]f_\TQN®ÄС[]dghjkmnpoqqqpmiU0;1-*.0257569;>H^†ˆrh_]\ZYY[\\\Z\]\\\\\\\\][\\]]dbNQ]hhjkkjhfcbdgijhgec]74FLN\od[N;*+,/3C7JI88749LHYmª•RHz·ÇÏZaeghjllnooppqolV-<41=1-,+**++++,?]vmf[\\[[[[[[ZYZZZWVUVY\beimntz|jyƒ}zvrkprjiecbeijkig`32FEDŠß„bTOMQRPQVeUZZTXUNGP[UkμS@Q¾ÊÉu[cehikllnopponhQ,:52IQF?873++++(TROpbWZZZYYXXYYXYWktn~Œš¥¬®±±±±±±³³±±¯±±°¨ˆojkiebbbehjjc11B>@t«q`cdG9<<<@?>>?@A?88Xhd`ngGAYx¯Âͱe]bghjllmnonmj^L-:523BFF940-069:ar|‚cVZXYYXYXYXXW_„›±¯«¨ œ˜”‹ˆ†‡ˆ……ˆ–ž–dlmkkhdbabfhd1/>=>IXZajpiWOOUYZZ^__abbktqj\PGA@XYy¹ÄÍž]_efgikmmllljcQ551110/0/,+./237aƒ~yxtbXYYZYZZXVxŠ„zrkd`ZWUSQPPRQQSUX[_caxtjkjhebabdb1,:86;BHQ\bhda_`]\]\YXVSSSOIE?957:RJN‰¼ÃÌŒZ^acfhjjkkkjd[I988:;98:;:::;:@>XjihgfcXOK-+72*/>>==>>=<::88;<<;;<>??BA=:65666667??Idhgfdb]SK/+40+1:8877677532334444311220"'445mpeRMN‰½ÃÒ—Zaefghikklmljhgfda^[[Z[]_a^PKHFLV[¦À}š¶¹ºÀ¶‘B@98:9989=>Lqd>;?9654445555;A@Zgffffe_T;..+*1/+*((''&&%%&$%$$%&'()+*(+122jmw^OLXžÀÊÌ‚\ceggikkklmljiihea]\[\\_a_KDIGMQY`l–Ü“WRN’|:A538::86ABEE=8766447>=75547A=Mefeeddb\SD95588<@DGGDBBCCCBEEDCAEHLQSXYY[]rpngXPLd¬ÃÏÅu^efghkjklmllkjjhda^]\\]``LCJGNRV`q¥à]49E£_<>237BF;3BK82233455:WYLE<744>?D^ffgedc_\ZWUUUVX[^cffca^]\[[\]][XXX]dhijklqmmndSUg‡¼ÉÔºk`eegiijklllllljhda^]\\^aK@IFNX^erœÜoCDg©I>:129d~I05;3011345:BJJOQPH:3:B?Tea\]^cba``__]]]]\_diijheb^\]^^_]ZYY]aehijmnomhYPSTŽÃÇÔ©``acefhjkkllmlljgc`]]\]`J?IFJRZfs˜Ö…q»²‹>@834N‹†ƒG751000146CCJQ]]\\I45B>KeP456Ofcccccba`_]]`ejllkhdb`_^_`^\ZY[^cfiosrondRMMX¤ÆÌÓŒZ`bdfgijjkkklllifc`^\\^C=FEHNU`qsnOWѶf:@CWL673>eddeddcccb`]\_chkmlkgdb`__^\[YZZ\_eoutstvjUPJm½ÈÒÄl]bdfgijjkkkllkkieb_]\]?;FGGLT_bA9@@€R9AAX`>CFECBB:10013@HNLOfdWQI82;;<<643/?ecceddcdedca]\]`ekllkhdb_^\[ZYYYZ[\opmlkni]SMM–ÆÊס[`cffghiijjkkkkjgda^]]>7FIHXf`L7JXJGME9EVeV?@@@?=>=:7655;5>HK§èÈaQ[xš¬dP=47789::;<<=?CC?@BAAABBBBCC@@@>’ß­fabbcddddffffffdcb_]^cgilkgb][\\[[[Zjqlhpptsg]PNKt¸ÃÐÌu[befefhhiijkkjihgca=-7>EFGQ[conšªGuŽqN`mpqssrrpmllkijiihhhhfefhjlqdt…kd³Æ|^aabdddeffffffggdba^^aeiljhc]\\\]]]sxqmqrpmoq\MKP‘ÂÇÖ³`adfefghhjjjjkjihcY9-54964244RQTr`ym_TQTOKIHHEDDDDCBCCDCDCCCDDEFHHHIJSoldbbaabbbddddcdecdefedb`]\^cgjkid`]\ZZpmnejlptookRILL{½ÁÑÇp`effhikkkkjkjhebU8+2110=<<><<<<===<<<<==>?@@?ACZuebbaaabbddcdeffeeeggfdc`\\_chkljfa]\[mgedhjstpst`LJXh™¿ÅÕ«bbefhikkkkkkjigf^C/,,+-+*+,5S}‘oW@??>>>=<;:99899999:9999:99:;<==<;9:A[fca^^``cdddcdffgggfffffc`\]_dhlmkie`^agkgmommqsplVJMMX§ÃÈÔ‘^beghhjjjkjjjhe`V=..22/--+1Sx{^M:9::::;;:88888775689988888:<<>ACM_]HBXf`‘¿À§hacccdeffgfffffffd`^]_dilmnkfcxssourlkllikgMJLIoº¿ÍÌu[adeffhhhiiihfc]TNLMMNMMLBTejQFQVF>A?:<=<=>ABCG_XIIHEDCDFFLj˜»´›¦Ç˜9OgcvÊçâ ^bccddeeeeeeeeeffeb^[^chknnlhysmlkhjlnkdOJMLM‘ÀÀÓ¯\\acdffgghihgfeb_[ZYXXXXYMOPUN¤¬©–³¿®†^JMJJKORO|kYTWWUSPLJ˜îèØļÊì˜3Kgebiurqbbcdcddeeeeeeeefffea_]^bhlnnkqxtttnnimonlkdYNLI_´¿ÉÓX`cefgfghhhhggec`__][ZZZQMBCFÅÝŸ¼Ðäø¯HHU^bbyŸ–•§™–WVSO:G|ÓåÑÚïñâp1Gfedb^_^iicdddddedeeeefffeedb^\]bhlmmmtttumpjjlllptiRKKL“ÅÇÖ¶bbeghhggiihhhggebaa_]\[\QJ@;<•óïêÓÎáÚ†V3542/[t‚~wf3+++9Qsl•¢”ƒ[>0Bfdeecdkˆzccccccecdddccddddec`\Z]bhlmlupolmnkgjinnoiSKJKe»ÆÎÖ‰^cfgihhhighhhgfddca_][[QJ@6:N€”ž œ’rxM79<:J‡¨©¥¥aBDCDIt“r^RJC:552Cfddddcc_\bccccccccddddedddddb`^\]bgjomnusplmnoghkkkVKJML’ÇÇÔ»c_bdfggggghhhggfedc`_]\RK?0577=BGO]s“¬q8@DFAe‹•uqa_b\OBŠ§{eUKC<810Dfdddccba`^ba`decbcdeddeeeddeeca][]cgimoronnqtrmilmgVNKLKb¹ÈÍÖŒ`ffghhiihhhhggfffdb`^]RLA/656?AKSbw•Âia¾ÅÏÐÞçÜßäçéÜ_ª£|dRIB;;0,@edddccbad›··bedddddeefeeeededc`][]bmkmnruuqulknmkpdPKJLMŒÉÉÕ¿kefhihiihhhhihgfgfcb_]RPE0/28??LR_v©d­õïîïììííêßìæueÄ›~dTLE=<9;Edddcccba_‘æïå•bbbcccddddeddcdddb`][\kousprrmpjkjfirbLKLML^·ËÍÕ—afgghiihhhiiigggfedb`RLD5@=8----1Ddeddccbaaa]\[^aaabb`bcbccbbcdccbaa_[ijlib`aijr|wuwpiogQLNR\²ËÈשdghijiihhhhhhgfffedcU3;;2/0/14=?JYu¦cUƒŒ†ˆŠvia\VI6kS@B43Cx…B-4Ededdcccaaa```abbccbbcccaabbbcbaaaba_tnkmismqistuuu~€m^TKLLL}ÅÅÎÔ†cffhghgghhhgggfffeeV5;=5/2j}k:8=K;Ob25569CIEF633421016Ebfeddddccccbaa`bbeghfefedccddcbaacdc…{†z†z‡z‡z‡z‡z‡z‡{…z†z‡z‡{‡{‡{†z†z†z†y‡y‡y‡y‡y‡y‡y‡z‡z‡z…|„‚~‚}„xƒuƒt„t„t†w‡x‰x‡x†y†y‡xˆ{‡|‡z‡v‡u†w†z‡z‡{‡{…z…y‡z†{„~ƒ€‚ƒ€ƒ€†y†z…z…y†z‡z†z†z†z†z†z†z†y†y†y…y…y†y†y†y†y†y†y†y†y‡y…y…y†z‚‚|‚yƒv„u„t‚u„u…v†x†x…x…x…w†zˆ{ˆz…y…w†t„v„w…y†z†y†x†w‡y†{„~‚€‚€€…z…z…z„z…y†z†z†z†z†z…z…z†z…y…y…y…y†y†y†y†y…y†z…{…z…z„z…z†z‚€‚‚{ƒu…w…wƒw„w…w…y…z„w„x…w†z‡{‡z†y„x„v„v„uƒx…y†y‡w‡x†y…z„}ƒ~‚€‚€€…z…z…z…z…z†z…y…y†z†z…z…z†z…y…y…y…y†y†z…z…z…z†z…|„|…{…{…z…|ƒ€‚z„y„y„w„w…y…{„{ƒy„x†x‡z‡{…{„zƒyƒwƒv„v„x…y‡y‡y‡y‡y†z„~ƒ~‚€‚€€€€†y…|„|„{…z…z…z…y†y…z…z†z†z…y…y…y…y…y…y…z…{„{ƒ}ƒ~ƒ}„|„|„|„~‚€€‚|„y„x„w„y…z…|…{„z…z‡zˆ{‡z…{…z„z„v„v„x…x†x‡y‡z†z…y„|ƒ~‚‚€€€…{‚ƒ€ƒ~„|„}„}…{…z…y…z†z…z…z…z…z…z…z…z…{„}‚}‚~‚}‚~‚‚€ƒ€‚‚|…y…x„w„y…{…{‡z†y†{†|‡|…{…z…y…x„w„v…x†z‡{‡y†z†x„{„}‚‚€‚€€€ƒ‚„…ƒ€‚€ƒƒ…|…{…z…z…z…z„|„{†y†z…{…|„}‚€€€€€€€‚„}…~ƒ~„~„{…z…x„w„w„x„x†y†z†{†{„{…{†z…y…w„w„w…w†w†x†y‡z†y„z„~‚~‚€€€ƒ„„…~‚€€‚ƒ~…}…|…{…z…z…z„}„|…{„~‚€‚€‚ƒ~ƒ~‚€€€‚~ƒ}…|…|…}†|…{…y…w…w…x„vƒv„y…{†}†|„|„{…{…y„x…y…x…w†u†u†x…y…y„{ƒ~~€€€ƒ‚‚‚€€€‚€ƒ€„„~†|†z„}ƒƒ€|„{…z„|†|„|„|ƒ}ƒ}„~ƒ}„|…|†{†{†|†z†z…y…x…x…y„x„x„z…z†|†|…|„|„{„z„w„y…y†v†u‡u†w…w…x„|ƒ‚€€€‚ƒ€€„ƒ€€~€~ƒ~ƒ~‚‚„€ƒ~ƒz‡xˆw‡wˆy†z…z„{„z…{„{…y‡y†x†y†{†y…z…z…y…x…x…y…y…{„z„{…}…}„|ƒ|ƒ{„z„y†x†x†vˆu†v†uƒv‚{~‚‚€‚€‚}‚‚~ƒƒ€€~€€€€€‚}„|…}†}„}„}„}„|ƒ|…z„z„z„w…y„y„x†w†x†y†{†z…{„{…y…v…w…x…x…y…{…|†|…}ƒ~ƒ}„|„{…x†w†y†wˆv‡v…uƒv{~‚‚‚‚‚~ƒ…}~~~€€€€€‚€ƒƒƒƒ~†ƒƒ‰€‹Œ}~~Ž}Ž~~}†x…v‡v‡v†vˆwˆz†{†{†z…z…y„v…u…v…w…z†{…{…}…~„}„{„y„y…x†y…z…z†x†y„zƒ|‚~‚ƒ‚€~‚~ƒy‚~~~‚~~„~„}„|„~„}†~†‰€Œ|‰|ˆ|‡€‡€Š~‰~Š}‹}}}„t‰v‡u‡uˆwˆz†|†|„{…y…x„z„{…y†z†yˆz†|…~…}…}„{„x…y†x…z…~…„€…€…………†………ƒ„~}ƒ}…‹‡}~~€€‚‚‚‚€„{‡{‡€„†~‚}~|{„{„{…z†y…{ˆ~‰}‚€u‡t‡u‡uˆwˆy†y…z…y„x„z…|…{†y‡z‡z‰{‡}†~…~„„~ƒ{…z‡~††”‰ˆ‰œŒœŒžžŒ‹Š‰˜‚ˆ}ƒ|…†„‚†}†|‡zˆ{ˆ}ˆ€~†{‡‚‡|†|„~„{…y„|…y…x…~ˆ{„w‡s‡t‡u‡vˆx…w…y„yƒy„z„z†z†y‡yˆzˆ}‡~…~„ƒƒ~ƒ{„z†ˆ„‹ƒŠ…„‚‰‹Š€‹Š€‰‹„Š}†z…€†„„ƒ‚†}†|‡z†{ˆ~ˆ…}†‚ˆ{ˆ|„ƒ…~‡wˆx‡x‡z‚ˆ|…~z…uˆuˆt‡u‡x†y…y…y„z„z„z…y‡x‡xˆz‡}†~„…~ƒ~„}…x…|…†ˆ…|„z†|ˆ|ˆzŠz‰yŠx‹x‹z‹x†„yŠr‚ƒ‚€ƒƒ„‚€€‚€‚ƒ‚€„„ˆ{ˆ|„‚†~‰xˆzˆ{‡|€„„‰z‡}|ƒw‡x‡x‡v†w†y…x†y…{„z„z…y†x‡yˆ{ˆ|†|„{„|†y‡w„s}‚‡‡‹|‹|ˆ€ˆ~ˆ{‰zŠzŠz‰z‹zŒzˆxŒp‡‚‚‚‚€€€ƒ‚ƒ„†€†|…}†~‡~‡|‡}†}†}ƒƒƒƒ‰|Š}„€ƒ~„{†z…y„y„y„|„|„{„{†z‰{‡z†x‡u‚rj~orv›z ‚‹ˆ‡ŠyŠ|…ˆ~‹y‹zŠzŠz‹{‰zŠyŠz~v¥„„ƒ„€ƒ‚ƒ„ƒ‚„„€„†€Œ}Œ|‹}‹}Œ|‹|‹~‰~‹~‹~‰~‹}Ž}Ž}…€ƒ€„ƒƒ‚‚€‚‚‚„„}„|„x†t‚t€wx€y§{³ƒ™ˆŒ‰}ˆ}†€‡ˆ~‡€†€†€ˆ‚‡‚‡~ˆ€ƒ“|£‡~ˆ†€†€ˆ‰}‰}ˆ}ˆ}ˆ~‡‰}}}|Œ}‹|Š}Š}Š}‹~‹}‹}Œ|||†ƒ€ƒ€ƒ€ƒƒƒƒƒƒ„„€„€……„‚…‚„ƒ€ˆ}‹€‹„“ˆœŠž‰œˆ›‰›‰ž‰ ˆ ˆ ‰ Š¡ˆ¢Š¤‹ }•‰{‰}ˆˆ€ˆˆ~ˆ}Š|Š|Š|ˆ}Š}‰ƒ‚‹‡‰~‰~ˆ~‡‡€‡ˆ~|y’x’xyzy‘yz‘{Ž{†„„ƒ‚ƒƒ€„‡‡‡€…€…€†žƒ¼„À‚ü‡¹„¿Ä~ƀŃÀƒ¾ƂŃƀ·‰{‰{‰}ˆ~ˆ~‡ˆ‰}‰}‰}ˆ}ˆ„‚ˆƒƒ…€„……‚†…‰~|{{{|~Ž}Ž|Ž|{z‰}„ƒƒ€ƒ€‚€€€ƒ€„€†€†€…†…~»xËtÐsÔtÔsÕr×q×qÕsÔsÔsÐwÆ{·Ÿ‰|‰|‰{‰{ˆ}††€‡ˆˆ‡~†€„€‚ƒƒƒ‚‚€‚‚ƒ„…„†€‹}†|~|{}|‚}‹|‰}}|~}}‚~‰}…‚€ƒƒ€ƒ‚€€€€€ƒ€„‹…Ÿ‚ƒ€}™{¢{¥y©y«y©z¦{¢{™~†€~~•Š~Š}‰|‰|‰}ˆ~†€†€‡‡€‡„€„€…††€ƒ‚‚‚ƒƒ…Š}†|~||~}~„|‹yŠx{{|~‡|ˆ|ƒƒ‚‚€‹|¹}¥~€€€„‰€‚€ƒ€ƒ‡€Ž{¦x¿ˆ€Š‰}‰}Š}Š}‰††‡€†ƒƒ€…€‡}†~„‚‚€€ƒ€Š|‡|ˆ}‰‰~Š|‹x‹w‡z††€‡}ˆ{‰|‡~…€‚‚‚‚‚€‹vÂrÐtÉw¹x»wÀ{©€Šˆ~z´wÇxÂtÊrÒt̓ˆ€‰Š~Š}Š}‹~‰~††…€ƒ€‚€ƒ‚‚‚€…‚Š‚‰ƒ‰†Š{†|ˆ|‰|‰|‰|ŠzŒzŒ{„‚‚ˆ}‰{Š|‰}ˆ~‡„€ƒ‚‚‚‚‚ƒ‚€‰uÁpÏrÐsÌtÂwµ}£~“Ž–z£xºtÆqÐqÏtÊ€ƒ†ˆ€ˆ‰~‰}‹}‹~ˆ~†„€‚€‚€‚‚ƒ€ƒ‚„ƒƒ„‚ˆ~Š|†|…|…}†}…|…}‰}‡}€ƒ„„…~ˆ|Š|‡~ˆ‡~…€ƒ‚‚ƒ€‚€‚€…v»rÐrÑtÉz¢‰ƒ€€‚~Šy£sÌrÒtË}„€ƒ„‡‰~‰}Š}‹}‹~‰~†‚€€‚€‚‚‚‚€‚‚ˆ|‘yxzzyyzyyŽzŽ{y’y‘xŽ{††~ˆ~ˆ~‡~„€ƒ‚‚€{®wÄw¼w¶~…‚…‰‰Š€‰€€}†y³x±z·|†|„‚†€ˆ‰~Š}‹}‹}‹}‰~‚ƒ€ƒ€‚€‚€ƒ‚€„Š|“w–u•w•w•v–w•w“x“x’x‘y‘y‘y‘yzŒ|Š{Š{Š{Š}‡~†ƒ€‚€€‚‚€‹~Œ}Ž‚€‚‚€‚€‚~‚‰}„…}‘}‰~‚ƒ‡€ˆ‰~Š}Š}‹}Š~„€‚„…€ƒ€ƒ€ƒ€ƒ€…€‹|‹|‹|x‘wx‘xx‘z‘y’y’y‘x’x“z“z“y“x“y’x‘zŠ}ˆ~ˆ~†ƒ€‚‚€‚€€€€‚€‚€€€€€€€€{„~„}ƒ}‚ƒ‡€ˆ€‰~Š}Š}‰~…€‚ƒƒ‚ƒ€ƒƒ…‹|‚~ƒ†~zzŒzy{‘{{zŽz{Œ}Œ||Œ{{{Ž{‹|ˆ}ˆ~ˆ~†~…€ƒ‚ƒƒ€ƒ€ƒ€‚€ƒƒ€„ƒ€ƒ€‚€€€‚u„~„ƒ}ƒ‚…‚‰€‰~‰}Š}Š}‰~ˆ‡…€…„€…€…€…‡~€ƒ|…ƒˆ~ˆ}‡}Š{‹|‹|‹|Š|‹|Š|‰}Š|‹{‹zŒzŒzŒzŠ{ˆ}ˆ}ˆ}‰}ˆ~„„€‡ˆ‡‡‡~†~†‡‡…„€€€ozƒ€‚‚~‚‚‚‡€‰~‰}Š}Š}‹|‹}Šˆ…„…€†€„€…„€‚‚…€…†€‰|Š|Š|Š}Š|Œ{Š|‰|Š{‹y‹z‹{‹{ŒzŠ{ˆ}ˆ}ˆ}ˆ~‰„€‚‚‚‚€‚€ƒ€‚€‚€‚€‚€‚€‚€€‚h{m~|}Ž{Œ~‚ƒ‚ˆ‰~Š~Š}‹|‹|‹~Š‡€…€…€…€„€„~…~…€ƒ€‚‚†€‰}Š|‰}†ˆ~‹|Š{Š{Š{‰{ˆ|ˆ|‰{‹zŠ{ˆ}ˆ~‡~†~‡†€ƒ€ƒƒ‚‚€‚‚‚‚€‚i}i{r{ˆ}‡~‚ƒ…ˆˆ~‰~Š~Š}‹}‹}Š‡…€…€„€ƒ…„~ƒ€‚€„†€ˆ}Š|ˆ„‰|ŠzŠz‰{‡|‡{‡{‡zˆz‰{ˆ}ˆ}†…‡‡€†€†€†„‚€€€‚‚ƒ‚‚kj}k}w€€ƒ~ƒ}ƒ‚ƒ‡€‰~‰~‰~Š~Š}‹}‹}‰~†…€„€‚€ƒ€‚€ƒ€ƒ€…‡†|ˆ}‡†~†}ˆ{ˆ{ˆ|ˆ|ˆ|‡{‡{‡{ˆ|ˆ|‡~ˆ~†…‡‰ˆˆˆ‡…€ƒ€€€€‚€€‚€„€…„nml~s‚„€ƒ}ƒ~ƒ„‰‰~Š~Š~Š}Š}‹}Š}ˆ~…€ƒ€ƒ€‚€€ƒ€†ˆ~Š}Š}‹|Œ{ŒzŒzŒ{ŒzŒzzŽ{{zzŒ|Œ|‹}‡€‡ˆ~ˆ~ˆ~ˆ~‰‰~ˆ~†ƒ‚€‚€‚‚ƒ€…€……€oƒm€j}nz„€ƒ~ƒ|ƒ€‚†Š~Š~‰}Š}Š}‹}‹}‰}‡„€€‚€€†~‹{zy’x“w”v•u•v•v•v–v–u–v—u—u—v–v”w‰~ƒ‡€ˆˆ~‡~‰‰~‰~‰~ˆ…€‚‚‚ƒ†€‡€‡€k‚l€h{i{k}y€ƒ}‚}‚ƒ€‰~Š~Š~Š~Š}‹}‹}‹}Š~…€€€„€„€‚…Žz”v•v˜v—u–v–v•v•w”w”v”v”x”x•w•v–v–vz‡‡ˆ~‰~ˆ~‰ˆˆ~ˆ~ˆ~‡…€‚€ƒ€…€†€m€m~izgyezs€„~“|‰‚†Š~Š~Š~Š}‹}‹}‹}‹|†€‚€…€…€‚€…~Žy‘x‘xxzŽ||Œ|Œ|‹}‹|||Œ|‹|Œ|}Ž{Ž}ˆ‡~‡~ˆˆ‰‰ˆ~ˆ~ˆ~ˆ~ˆ†‚€‚‚ƒ€mk~gyfwgyl}{„€Š~…}‚‡€‰~Š}Š}Š~Š}Š}‰}‡~ƒ€‚ƒ‚ˆ~~‹Š‰‡‡~†~†~†€„…€„€„€…€†‹†‹†…‚‰‚Š€ˆ…€ƒ†€ˆˆˆ~ˆ~ˆ}ˆ~‰~ˆ~‡~ƒ€‚€€gg~fzgxgxhzq~‚€‚~‚~‚‚‰Š~Š}Š~Š}Š}Š}‰~‡…€„ƒ‚€†~‡ƒƒ†…‡ˆ„†ƒ‚€‚‚ƒƒ‚‚€„„ˆ†Š‡…„†ƒ‡‰‡€††‡ˆˆ~ˆ~ˆ~ˆ~‰~ˆ~‰}†ƒ€€‚€hh~hzfygwhxhyu€ƒ€‚}‚€ˆŠŠ}Š}Š}‹}Š}‹}Š|ˆ}‡†€ƒ€‚ƒ†††Œ‡„ƒ‚‚‚‚ƒ‚ƒ‚„„…„„‚„€‚‚……‰…Œƒ†‚„€ˆ~ˆ‰}‡†€‰‰~ˆ~ˆ~ˆ~ˆ~‰~‰}ˆ~†ƒ‚€‚jh~gzexgxiyhzrƒ‚~‚~‚„€Š~‹}Š}Š}‹}‹}‹}‹|‹}‰~‡ƒ€‚€‚„€†…‚ƒ‚ƒ……„†„‡†‰††„†‚ƒ€€~ƒ~‚€ƒ€‡~‰}‰~‰‡€†€‡~ˆ~‰}‡~ˆ~‰~ˆ~ˆ~‰~‡€„‚jh~g|exg{i{hzo~~‚€‚}‚€‡Œ}Œ}Š}Š}‹}‹|‹|‹|‹|‰~ƒ€€„„€€€‚…€€€€€€€‚‚€€€‚€‚‚‡~‰}Š~ˆ‡‚ƒ€‡‰~ˆ}‰~‰~‰}‰}‰~‰~‡€ƒ€j€j~i{h|i}h~h~kv€‚‚‚~‚‚Š~Œ}Š}Š}Š}‹{Š|‹|Œ|Š}…€€ƒƒ‚‚‚€ƒ€†€…†„€†ˆ‰…€ƒ€ƒ‚‚‚‚‚‚ˆ~‰~‰~ˆ‡‡‡€‡‰~‰~‰~‰~‰}‰~‰~ˆ}‰‡l‚kjjmƒj„hƒi‚q}‚‚‚„~„‚†€Š~‹~Š~Š~‹|‹|‹|‹|Š}‡‚‚„‚…‚‚‚„€„„‚„„ƒ‚ƒ€„€ƒ€„‚‚‚‚ƒƒ‚€‰~‰~‰~ˆ}‰~‰~‰‰ŠŠ~‰~‰‰~‰}ˆ}ˆ~‰~‰kˆlˆm‰nˆo‡o…l…o…s…|‚€~˜}}‚‰~Š}‰}‰}‹|‹|‹|‹|‹|‡‚€€„‡€‚‚‚€‚‚‚€„‚ƒ…‚‚‚ƒ€ˆ~‰~‰~‰~‰ˆ‰‰ˆ€‰€‰€‰‰~ˆ~‰}‰}‰~‰~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÄÆÃËÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÎÏÍÈ¿´¯¤ ”‚}tijxkikonsdhcV]a]]e^T\b_`WROT[Z`d`fUUXWUWUTZVPU^^]YULE>:<9532@3ÏÎÎÏÏÏÏÏÏÏÏÎÎÎÎÉÃÆÂÊÎÏÎÎÎÎÎÎÎÎÎÎÌÌÌÌÌÍÍÍÍÍÌÌÌÌÌÌÌÍÍÍÍÏÏÏǶž¥˜vyta]ar|o]`okh[Z[]_ZYVP_g`]UPOQXX^hihPU]aZQPLQRZ`c]VPMKA@76543187ÏÎÎÎÎÏÎÎÏÏÏÏÏÎÍÈÂÅÀÈÌÍÍÌÍÍÌÍÎÎÎÍÍÍÌÌÍÌÌÍÌÌÌÌÌÍÍÍÍÎÎÍÎÎÏÎÍÂ¥ŠŠunmomnnot}y^c`cd[[\\\]TSV]cY[YVTSTTX\hdRPX]VMNNRS^caa[RGC@<853221/2ÎÍÍÎÎÎÎÎÎÎÎÎÎÍÍÊÃÆÁÉÍÌÌÌÊÊÊËËÌÌËÊÉÊËËÊËÌÌÌÌÌÌÍÍÍÍÎÎÎÎÎÎÍÎ˵˜{mouyu~eec^eWadd[[WVaZTYfeSQTWYUNLVPYgRPTXYPNSOPZ`^`XUUNH?;86331-.ÎÎÍÍÍÍÍÍÍÎÎÎÎÎÎÊÁÂÁËÏÎÎÎÍÍÍÍÍÌÌËËËËÊÊÊÊËÊÊÊÊÊÊÊÊÊÈÊÊËÌÌËËÌÀ‘Œ„~tal|ldh`a`WjbXYUUN\a_`qm[QPV]UNJTRRYT[\YUOQQW\_XWZRPXOH??@<530-,ÍÍÍÌÌÍÍÍÍÎÎÎÎÎÏȹ¼ºÉÎÎÎÏÎÎÎÎÎÎÎÎÏÏÎÍÍÍÍÌËËÊÌÌÌÌËÊÇÊËËÌÌÌÉÇŦ‰zyqh]lonb_a_X]`UR[STQZeeghcgVQW[TPSUSRYRZ]aWSUSZ[]YXTSOPPI?@>7641/3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻŽÇÎÍÎÏÎÎÎÍÍÎÎÎÎÎÍÌÌÍÍÌËÉÊÍÏÏÍËÈÅÊËÌÎÏÌÇŵ ||peWSb^Y]b`]c^XUSLMVZ`adi`[SPQQOLTRTQ`LUUZ\X[Z^[\YTQTPSKED?B;520.5ÏÎÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÂÅÍÌÍÎÍÍÍÌÌÍÍÍÍÍÎÌÍÍÍÌÌÉÊÊÍÊÆÃÄÂÅÇÊÍÎÊ¿¼ª|pVTRPMVYopebc]YOD?NXR[bb^WTRLMLIMIRMZNSVVWX[\[\^YSPTOWODH@?=2/.--ÏÎÎÎÎÏÎÎÎÎÎÎÎÎÏÅ¿ÊÁÄÍÌÌÍÌÌÍÍÍÍÎÎÎÎÎÎÎÎÍÌÊÈÇÆÉ¿ºÃ½Á¾ÆÊÈļ®¢§Ž€|vbVYYXfh^ogf^VVRRUTdUP[]TOWXSMJGPQQYXSQY[UUWYVPQ\VSXSWV?6722/..,-ÏÎÒÕÕÐÍÎÍÌÊÉÊËÍÄÀÉÁÁÌÎÎÎÍÍÍÏÏÎÎÎÎÏÏÎÎÎÏÌÄ¿ļº­À¸¿¶¿Æ¿½¶¦‡„~q‡{f[`[]ckVn\U\SNTU`]WOPTXQQSVXMMNTRRZh]NVYVWVVZRL]ZZ]]LC<6541...-.ÏÛêïîäÔÌÊÿ¾ÁÆÉÂÁÈÁÀËÌÌÍÌÌÌÍÎÍÍÍÍÎÎÎÍÍÍËÅÁ½µ½º±¢»²½²µÀµ¼´—†}~nhdbbbUYc]UdZS[]PSSX^UUTOONLKMTYWPSPQRdZNZ\XQMNXZPXYQMJA8=<962/----ÛïÖµÀæé̾¸³²·»ÁÃÃÊÆÂÊÌËÌËÌËÉËÌÌËËËÌÊÈÈÄÅÀ³¯«¯²§ž©­¸°´µ®­ ‚wyvllTbeZXaXS^i^X_YKPRU^`cUQMLLORMUVKPUOS]^Za\SOKMYXSZPRXJCC=;;972....îÉ|hp¢äÙµ°®®´´¿ÅÆËÉÄËÍÍÍÍÍÉÇËËÌËËËÊÇÄþ¿³¡œ¤¦›—¡­¯¬®¨§™ƒvmkekl\UXUa`VW]ZY`VQUTSUV`YRTOOTVRTUWRPYPSZaY_XY\W\`USZWTPA?F;877752011âŠwwqÈç·­¬¯²²ÀÁÅÊÈÃÊÎÎÎÎÌÆÁÉÌËËËÈû¶¸¶»«Ÿ•šœš’¡±®©Ÿšœ‘wiedTh`RMIOXbYRR_iabo^_c]TVOPQPPRWSVTVZS[NP`^^hZc_kf_TQNMJL@>?8755664/03Ä€‰w‰Á翪ª°±³»¶ÁÉÇÁÉÎÎÍÍɹÇÌËÈú©Ÿœœ¤¦ž–Š”š’Ÿ­¬›†vedhZ\UQTSQZ``\hm`QUbNWrpZPPKMMLHKMNONNQYTX_USXX`g\ZUPJMHFFDI?7545554/16µƒ†|‡½èÆ£¨±²µµ²¾ÉŹÁËËÌÌÊ¿´ÅÊÈ¿´¦šœ”˜–Œ„–•Ž‹’™Š‰Š…vuqbXUY\XPX]VU\i]RR_gf`_\TTNKJHIHGEGNLS_\W[VOZigfW]TMWSIJ@@B9754335527>±ˆ‰ƒ„Ž¿åàÏ˳®¯¬«·Ä¹¬²¹µ¾»Ç½±¿Ä·ª  ™œŸ‘•†‚…‚ŒŒ„€Š‹Ž†ƒ‚„‚zwp_WVVV_\UYUSYgQPO^gdSS[YSNLMJKIFKJKSV]aRZQPlscg`a]Ta[UVH<<;97443475;?ú·ŒƒÀäíïéÌÍ«¡¢ª« ¡¡£££©¹±¥¤«››™¡˜˜‘–…ƒ…‚‚†y„Š‰…‚~~}~wrojeYRZg[TVSU_[OY\^_XRRRRSMKOQLOTRGDLPV`SSN_bb`Xdj\QU^XGUF<<<9566599=>œÀ¾“†‘¿äìäßäî·ž¡²£žŸ¥«¦¡¤¤ ”•“œš š“—Š‘Ž‹‡‡„‚‚zˆ„‚{|zxrijfZWZQY_[V[Z^[WZ[\^ZUOJWVOLOJBDGFAAFIIRKRSZ]aY`p]_P[a[IED?=<85677:>A@}¯¾–Œ“¾ãìͺßéõÂȹ½·»¼ÆÄ»ª ¡•Ž’Ÿ˜›—’…Œ‹ˆ†‚z€†€~€xywsrnlgY]eccYRTXY^^bXU^UX_[UQJONOJCDFB@EFFCSHUY\Xaba]SdaWXXPLGDE975679<@HFp•¿–”¿ãíáÙêéááãâäçèêèéëðÄšš”Š“‘ŒŠ‚‹‹ˆ…ƒ‚‚|‹€zyvrttoicW\eb[SWPR_hcdWOTSi\bWNQRPJHEIUKCKKMFQR]_ZMZecdVbdWRX_QFAA<:8889>=><>W¾–~äéæêëëéãÞÙÓÊŽ¼°§ ™–ˆ¦¢¤Ÿ—‡ƒ|yustvx€ˆ”–‚~uuxxtttf[`\NP\Y[\TT^ci_]U^c`SVNKLSLGB>COTV_Z[bflb_^Z\UZTRWVRD;9988:9989;@@@?]UŽ›çîíììêãÙǾ¹¶§¨™ŽŒŠ}•„e`XTRXaz˜‡^Z[[]ZXUSPwƒ}}tswzyupkg]SMMYX[SVY\[XJZ`Z]YZ`WKLUPMKMPOQTVYX\md[[[YWXVMRKKG;52.bv65678;BIJINUr¤ÏÏÌÊÔ×ÖÒÐÎÊÌÎÍȧƒ‚}~ƒm@h›¡¥¥}eJ;=AFGIE?BEOHZzvmjpwyphb^PSTFJRUZ]TPTSTV[WWX[`\TMEDBDHIFGGKUX[ZYq}š   Ÿœ™™—”’’’’‘”––ŽqHAHII–°Á‰Â¿¯°šˆ}ngedfkw…–Š{{{}‡USd±¶¹¶³­¨­~|ŠXRRG534=fJsuqtnpwqjh_RVYVX[`]WGFRX_X[ZXVY]UOJDDA?@?>=BMPX`Yr”s}slfb``^]\ZYZ[[[\^bfaWCHKKîôÙp¬¨žCCGS`ZMRMJDQ‘zz{~Qf===IVVVXYSLJFBQ³¸”[Œ¥xKEAiŠ~|kKCJ>…‚xx€raa04434CONMPQMOLKqmO2LzwRy{vmioihdc]gocZNR[[VSTYX`ZV\fYOICB@ACA@?DIC?K[heƒYr†Š•šœ_9778<=BTWWUUSv]LJCYjOIX··©U\OF>ULND8594ažÇ£bvQ27G^OCPPPONMNMLsoR4Y“•Pr{zphilmha][W^[OOWVOOT]\YY[^]SUNGAAGIB>CSQJX]_hƒŠ[“³´²­©¦}I;7>HHK[I=;::QmJLXaiMGbéè³khpopxwy~{vrnw¸óÈ‚Y„B65]ŸJMGDBFNNOF^|`957…ccuuqgfisygXVWSSSOVYPOZ]ZW\b^ZOSTPJGKQI<>NVNilir~_RpdULGDNOF=jŸkC7558HHIFt–x962m€Uslkgfc_m`TV^XW\TQSQTP[^[e_VURPHHHDGLGCHNNVjkir˜q[=L7578>JGB@ACAIp;:;;::X_Zik\EJZ¾ÕÜßààâåäãäãáÞÝßÚ™wujzALHY„†_KC::89879}¡i873T—PrjaaaZ\jdWOX\`[ZSMOXV[d``YPOVSMF@=HV_Y\diob[Yc bT:J79;9:D?447?CDAABD@79MeOgfLKIM‚ÀÛßçêéãßãçâåêèåÕÊ«xkzvLWOs}kHIIHIHHDCS„—Y><7L¢SqhJFTeb`a`WYZZURPPNT][SXZUNQZSPX]]sƒydlxk\UU[zRK9A7A_dJ<84458=;:AEEA67DcIdc;96D¾ãéííí¸š±Ý­¡Ðò¾SGbŒ]dfRlF\IEJT\^[OPKR^ypOD>9Aa=YM=:>ea^a]Z[UUUX]^SPYYROOU^ZY]hz‚†‹„ccpiTWYUd‹FGAD>L}‰j=84456459?@@=85>^DYc[US]}¡¾ÅËÆÆÀ¼»¾½µÁÌŒ09:OK>89:5;@>:==><>;996CJHI@89:E:268Nkikqooolr|‰‘‡Š‘’’Œ—³˜„€|z|{mbmlcTW_go‡x@PIICGhsLDG?4235?FGHIJF;:[COdrqqsrttxzyz|||}~~vPA;.JX=;9:88887777888888779:=>CN7?T^kopqsuvyzywuuvvxwwy{€ˆ•¦³µ­š‹smmllnbQZhr†e9|}I@>CJ@FKHKTTVXRFDDCA=9??URqomlmnprtuuuutuvxy|~ mEU<;::889887778888889999;<>EFmnfkjiijkjnrsuvvvvvusrrrpprwŠ›§±±©¡’shSMOLWi]MM=9;DHEFJLYfeigXDDB?>DR^vQuqnkjklmoqqssqpoppswzƒ·“DI8999778766666766677776677:Lugdiihgeeccdfikmortuvvusponpponpuz†™¬¾¼£†k{‚Vyƒxok\NR_acbdcccaadffbVRemn{~zwrnlkkkmmnpqpqpqpopqv¤‰SNF64765555557?76556428?ITq{ŽŒŒ‰ƒ|rkbcdehloqtuvvtspmmooppomlwŽ©¾¥–±yugla^^YZrpiggecddcegjqj\]\]cg]yxxtplkiiijlmnpppqqqqp|_‚œ–O144344567?86563>wŽ£©¬­«¬©¦¤¤¤¤¥¥¥¨ª©£Žfcdccdfilpsuwwvurpmlmoppmlr}‡§xdY]ZXXW[d^YXXWWVWWXXY]\XXYYYXWwwxxvpliiggiklmnooppquq\ež§¹”J//112248456311~ …ˆ€ysssqomlmlkjloqtw‡cca```_bdinrtuvwxupliikmopgq–l^UWWVVWWWVVVWWWVVVVWWWWXWXYXVVvwxwwvrmigfgiijlllmnnpvCOšÁ±Å¶^WFFHKF<€\:LPdŸiaglkjklp{—’yuqnlklid|nedcba`aabejnprsvvvwsnhgimhh„bZPSVVVZZZYXXYYZYYXZZYZ[\[XZXddrtuwwwvsnifffeghijkklea<7{ÐÉíñÄ‘``d…–X¼‰Qvl—‡fu‚†‡‡ˆˆ…p}|f€Ž‹ŽŒ‰„zjwkigecbaaba`bgjnqtvvwvtqlj^eqcdŒdqwYZ\\[Z^^]^]__Z_ZZVb£““º™npqstttsqlgea`bcefghj_G8/@Ÿ²½ÔÚª{ae`ZîÎafi™bt »ÁÄÌÎÓ•OC=@mÌÖÓÍÌɸ`irmmkfdaaba`^_bfkoqstutttrWT`Y[¾À¸Èå„HIGnjKM^y^JIny?BM°óÙáÖ¤lnppqrrrspkgcaabbbdeha=1..6;C_^~u[mqbŽåÎwh|‰WqÁãÞÝÝÝã†ZfeScÓáÛÕ×ÝÜtoVnilomkhcbbbc`__afjnpqrrswYIRTLµâÞÚëâyF=b´Q;†¯“?L¹m;C™îÝÒÐÓxjlnprsstuspmidcbbcbcg\5./147;CJS]i|Žž±Ôʱ£v^_µÝÙÚÜÞÛkKXaR^ÇçåãàßÒYl\cffimpolhfeggeb``afjmppquXCGOKq ¬ÆÀíÖS@>£©I®ç½M—µNHVÚñ´¢{eQhjlnpsstutsqnifcbbbbe[4-/58:@FQ^sœãççêëëëë°cgPVefjqvnEMb…\Z·§™†rb@VjXigefknonkjhfffeaa`cfjmnsW@CJONQbw˜ãÄnXLaÙ—{±ƒ€ßyM`o¡Á‚_XSPagjkmoprstssqokfcbabc]7./15;ESf«¥èéìíììîážWlO<556745HWkŒ“åïîîíìéÑ‹SjMG:9::9876FdPI<79=<;=F:73544567]xb<566S`Xklnlgedcceghgc``_^]^\[^S@>IKNRVZfs|ƒ…‹¡­°¹Ã¸³³µ¡…‚{th[VSNÇ|]dhjkmoprtrrponhcaa_;720:YÞÑ}ox”…v~ƒms’œiYZJPJPWRLJJ<44566@‡¯›LFE9CfQjfchlifca`bffeba`]^^^]]S>;8;?LXˆ†PLLGANOeb…yjhkhd``bcfecb`____`V;9ILNPTYdmnnl™íîèéçêííôÏmjikg]UQNÀϵb\bdgiklnqqpqqpmhd^7<1//02<>=@E<6Hn’¨„_;=AERYVHE@QSE>9BNRRPH@>=QdZšzXcmkjgdbbdghgedba`aW67KMPQT[fjhjh„ÑÜÚØ×ÕÔÓÕ«`[]fg\UQP­ÄС[]dghjlmnoopqqolha5;3/-/049<<=ADG\sŒvlTPPSUUPOORYTSRSVXZ[XSTUWY[^_mTjRSjlkllifcbdgijhgecbV38JMQUaaeaO925=DHHBOJ@=5..FQah}gPz·ÇÏZafghkllnoopppomc3960/----.,,-..6>`‘qr`_^][[\]]\[\]\\\\[[\\][[[[]]fTF]iiijkkkjiecbeijkifeV.7GHJ†´w_NMF@@BAQ^NbZPUNIKRNTwÙ²PP¾ÊÉuZbehjkllnoppppmb1970FM=621.,,++)5N^_qY\[[ZZZZZYYZZYXWVVWY\bekloty€oo„„{wqgnpkiebbbehjiiX*6D@EžÏp^_XDIMJILLFEFEGE?7Tc\g£JZy¯Âͱd\bfijllmnonnmdX07641FKJ@87-+-/0>lMprTYYZYXXYXXYYYXrmpŽ›¥«®±±±±±²³³±±²²³°¢‚pjkkhdbabfgkZ)4@=A]p`bggO=:;AGHHLMNPNIShmi^VMCWYz¹ÄÍž\_efgikmmllmkcW5743268:70./37;=Nt…‡w_`[XXXXYXXYYWgˆ¤°®¬¨ œ˜“ŽŒˆˆˆ‡‡ˆŒŽ–ž“`llkjhebabchZ)2=;;BMTbmvwlhhhgfhihhffhnmf^PHA;PJN‰¼ÃÌŒZ^acfhijkkkkg]H60112/-..-./..+Kr‘~}ŠŽ^YYZZZZZYW‰~Š‚yrjd`\XUSQPQPRRTUVY^dazrkkkjgcaadX'1643/58=@CGECB?=<<:776310.-..+/E^RMU˜¼ÇÅuT]_bdfhjkkkhbYLJHJNMLMMMMNOONYrŒ}‡Å×ÇŠ^\^]^^]\\‰n\WNLJIJKMNN_[KLLKIGFGEDDEPikjjkjhecbU&/4F\8)'))$###"#"!""#$&(+2=P8",G_fYQK`©Â̼kZ_bdghijkkjhc]]\\\[ZZZYZ\^acUo~i‰æãâÖ€bgijkmmvvJCBBB@@A?<;9>;::;:9887999:9Lfhhhiid[VK'067@@=8:<:974420135567;?EJSD"*-kbRNJr¹ÂЯb]bdfhhjkllkigecb`_\ZZ[[]`dgUdeKsèÐÆòºgqsttts’b;;:::;;;==>B?7:;<;8876787:=@\ighgd_TMD(05.&.=<;;<<<;:99;;;;;:768772!%13mpfSMNˆ¼ÃÓ™[`dfghijkklkihfdb`][ZZZ\_acSVLGOˆ ò¸k‡–›¢•‘G=@@=966666667??LefffedcWI+00.,65210.,---,,-******)))))"'12jmv^OLWÀÊÍ‚[cegghjjkllkjigfd`][[\\^`bRIHGILRg–…™Æ±¦¥§¯~;@8:;:98;?BX}_;=?9643445555=AA]fffeed`U@2,*+/,++,+*+++*+,,,..//13699;=@?rpngXPLe«ÃÏÅu^efghjjkklllkiigd`]\\\]_bTEHHKOT[b€Í½=84>œcPeeeecc`\XNGEEHIJOTXZZYUQPRSSUUUQRSV]bffghqmmndSUi‡¼ÉÓ¹j`eefiiijllllkkjhd`^]\\^aVBFHKQV]gƒË±:>9_¦I>;239AA75HF313344549WVKB:644??F_eeeccb`^]\ZZYZZ\^aehhfd^]]\\^^\ZXX[_dfhimnomhYOQSŽÂÆÔ¨``acefgiklllllkjgc`^\\]aW@FHHR[cl‚À½U^hŒ•>@711MeN568Pecddccaa`_]\]afkmkjgca`___\[YYY[_bottssxiUPJn½ÈÑÅm]bdfgiiijjkklkkiea_]\^P8BHEKQ[fwˆzC|à¤S;@;=8J||rEA<0/0003E\L573FIEBAB6.//04BHPKPebWPH83<=??9440:bcdddbccddc`^\\^cilkiec`\[ZYXXXYZZnfdghbc_TNKf¸ÅÏÎyZaghfgghijjkkkjhfc`^^N1?JEdˆ]A=OPJPTA:JWlO?AAA@>?;65555<>H>FTTJIE=378;?>49CVcbdddccddeeca_\\^cgjifda]\ZZYYXYZZlfhgsnicSMNM…ÂÇÕ´a_dedefhiiijkkjihfb__N0;HCŠâÓ~?2RJ8@=?6AF:87786669?A=;;;965644787>KIGC:>^labcbbcddddeeeeedb`_^^bghhifb^[[[[YYYYonghqpsjSLNMW¨ÅÊÔ—b_bdffghiiijkkiihe`_O3:CG`¼×–OPVn‹‘KH545556789::=?BA>?@>>>>??>>>=@@<9[;O̯fabbcddddeffeefccb_]^cfhkkhc^[[\[[[Zjslippusg]OMKu¸ÃÐÌu[befefhhiijkkjihgcaQ-7=FIZqqgu†­Ã¥HsS?@?@ACEGIKLRY]][Z\\^`aaa_]]Y\hYƒi<žÂy^aabddddefffefffdb`^^adhkjhc]\\\]]\uypnqqpmoq[MKO‘ÂÇÖ³aadeefghhjjjjkjjhebP)57?BAAHNUi‚¯A…ƒ\H^gkmpoprqoopnlnmlkkklkiklmqudxˆbS]cbaabcdeeeeeeddfgfdc`]\^bgijhc_]\\\\sqljnnjhjkfMJJ`®ÃÊÖ^bdffhiijkjijjjieZG)50330,-13DR‚ƒHˆˆvcojgec`_\ZXWWUSSSRSSSSSTUWW\\Y`k{eZdbaabccdddccddcddeedb`][^cgjkhd`]\ZZpmmejlptoojRILLz½ÁÐÇp_effhijkkkjjjhf`SB)309536:CJ[L\m]obTWVPMLJJHHGHGEDDDDDEDEEFGGHKIKLMYsibbaaacdddccdeeeeeefedc`\[_cgjkjfa]\[kfddhkstpss_LJXhš¿ÅÕ«abefhikkkkkkjife_H+00.,6;>>>>=<<<===<===>>>@AAABE_xda^^aabddccdefgffffefec_\]_chlmkje`^cilhoplmqsplVJMMX¦ÃÈÔ‘]begghjjjkjjjhfcS8,,,+)%&&&9]…†nR@A???>>=;:999999:::999::99:;;<===;=F`g`ŒÀÅ­jacccdefffffeeffec_]\^chllnkfcytsqurlkllilfLJLIoº¿ÍÌu[adeffhhhiiigec]M6357765429^‰y`I;<<;;;<;9999777656877777788;;;9:@JH?E[duÇâÞŸ^bcccddeeeeeeeeffea][]chknnlhz‚rlljgjknkcOJMLM‘ÀÀÓ¯\\acdfffghhhgee`[TPPPPQQQPD[nfM?DA97989;999;==>ANHDFDAB@A@ABPt’‰—´‡:Qgbiollabcccddeeeeeeeefffd`_]^chlnnkqwsutmnhmonlkdYNLI_´¿ÉÓ€X`cefgfghhhgffca^[ZYXXXXXITVVX‘˜–|yYKHHFFGKKM†dOJKNKIJMJ„Ñåèѳ¾ç—4Lgdb_`^lkccccddeeeeeefffeeca^\]bhlmmmvttumpjilllptiRKKL“ÅÇÖ¶bbeghhgghhhhgfecb`^][ZZZZJOADa㽿°Ûèèà‰GLU\cfy‚‚˜‡bc`Z@JîâÁÅåîís1Hfeecdl‡ydccbcdedddcccdddddb`\Z]ahlmmuoonmmkgiinnoiSKJKe»ÆÎÕˆ^cfghhghhghggfedca`]\[Z\KK<;LÈðâÒµ¾æêˆI9DCA>>Ipˆj\VNE;461Bfdccbba`add`cecbcdeedeeeddeeca][]cgjmoqnnnqtqmilmgVNKLKb¹ÈÍÖŒ_efghhiihhhhggeeeca`][[KL628:CJNQV_r”šd9@A=;|˜•~yKEFDB>Œ¡ydUKB<732Bfdcccbad¤ÃÃœcddddddeefeeeededc`][]blklnruvpulknmkpdPKJLMŒÈÉÕ¿kefhihiihhhhhgfefeca^\\LM7/:48>DKVg}£µMRpŠ‘™žÀDZ¶¿ÃÇ·sV¤¡zbQI@;:/,Afccccba_åîé¡bbbcccddddeddcdddb`][\kqvspqrmpjkjgjsbLKLML]¶ËÍÕ—afgghiihhhhhhgfffdc`^\LP;011:=AMSc{šÈtÃöòòòðïññíèóßjiÁ™{aQJC<<66CdccccbaaaŒª«f`abbbcbaddcccdddca`]Zqwvqjhjnojklwsuf`ZMMNQ†ÉËÑÉtbfgiiihhhhhhgfffedb_]KT<147;=CMR`{•Ê›]½ñéèêëëëìæÝîÜbpƒk[OF>959Heccccbaaa][Y]a`abb`bbabcbbbcccbaa_[iikhbaahjr|wtwpkpfRLNR\²ËÈשdghiiiiihhhhggfffeca`HA;?G:<@GOVgŸÎ¬Q¹øðïñðñòòóóõá]…ÑŸwZI@4/..1Geddcccaaa``aaabbcbbccaaabbbbbaaaba_wpmokupsirstuv~€l^TKLLL}ÅÅÎÔ†cffhghhghhgggfeeedaaH5<92/248?EPd}±ÁTŒÆ¾¹½¾®¡˜‰rBwlJ?337JS5-3Edddcccbbbbbaaabcbbcddba`aabbaaaabba…}‚€xw|xlipxwz}ue^SKKLLR ÉÇ×»faceefefhhhggffffdcdI3<:3.3BI>96>DCmP3;;98=A753343=e:GJ80vâÑU,5Fdedccccbbbbaaaaaa`acbbbbaaabbaaacca„}u€ztrjnvojhpjbbbVLLK^e~¼ÄÌØ^bcdeegggghggffeeceKM@;6,KÃÛ›48@S:MkCBBBFNRJHDDDG_WN<4/h’]9-6Gceddddccbbbaa`abccbeedcbbbbccbabcccyz€ysnscair{skmfYMLKV][›ÄÄ×ÀgaccddefeeefgfffedfKOF:7/?x©Š043NrBw†bb`e†snompt„…IrV2130--11;Gbeddddccccbaa`aaehifefedccddcbaabcc†{†z†z‡z‡z‡z‡z‡z‡{…z†z‡z‡{‡{‡{†z†z†z†y‡y‡y‡y‡y‡y‡y‡z‡z‡z…|„‚~‚}„xƒuƒt„t„t†w‡xˆx‡x†y†y‡x‡{‡|‡z‡v‡u†w†z‡z‡{†{…z…y‡z†{„~ƒ€‚ƒ€ƒ€†y†z…z…y†z‡z†z†z†z†z†z†z†y†y†y…y…y†y†y†y†y†y†y†y†y‡y…y…y†z‚‚|‚xƒu„u„t‚v„u…v†x†x…x…x…w†z‡{‡z…y…w†t„v„v…y†z†y†x†w‡y†{„~‚€‚€€…z…z…z„z…y†z†z†z†z†z…z†z†z…y…y…y…y†y†y†y…y…y†z…{…z…z„z…z…z‚€‚‚|ƒu…w„wƒw„w…w…y…z„w„x…w†z‡{†z…y„x„v„v„uƒx…y†y‡w‡x†y…z„}ƒ~‚€‚€€…z…z…z…z…z…z…y…y†z†z…z…z†z…y…y…y…y†y…z…z…z„z†z…|„|…{…{…z…|ƒ€‚z„y„y„w„w…z…|„|ƒy„x†x‡z‡{…{„zƒyƒwƒv„v„x…y‡y‡y‡y‡y†z„~ƒ~‚€‚€€€€†x…|„|„{…z…z…z…y†y…z…z†z†z…y…y…y…y…y…y…z„{„{ƒ}ƒ~ƒ}„|„|„|„€€‚|„y„x„w„y…z…|…{„z…z‡z‡{‡z…z…z„z„v„v„x…x†x‡y‡z†z…y„|ƒ~‚‚€€€„{‚ƒ€ƒ~„|„}„}…{…z…y…z†z…z…z…z…z…z…z…z…{„}‚}‚~‚}‚~‚€ƒ€‚ƒ|„z…x„w„y…{…|‡z†y†{†|†|…{…y…y…x„w„v…x†z‡{‡y†z†x„{„}‚‚€‚€€€ƒ‚„…ƒ€‚€ƒƒ…|…{…z…z…z…z„|„{†y†{…{…|„}‚€€€€€€€€€‚„}…~ƒ~„~„{…z…x„w„w„x„y†y†z†{†{„{…{†z…y…w„w„w…w†w†x†y†z†y„{ƒ}‚~‚€€€‚„„…~‚€‚ƒ~„}…|…{…z…z…z„}„|…{„‚€‚€‚ƒ~ƒ~‚€€€‚~ƒ}…|…|…}†|…{…y…w…w…x„vƒv„x…{†}†|„{„{…{…y„x…y…x…w†u†u†x…y…y„{ƒ}~€€€ƒ‚‚‚€€€‚€ƒ€„„~†|†z…}ƒƒ€|„z…z…|†|…{„|ƒ}ƒ~„~ƒ}„|…|†z†z†|†z†z…y…x…w…y„x„x„z…z†|†|…}„|„{„z„w„y…y†v†u‡u†w…w…x„|ƒ‚€€€‚ƒ€ƒƒ€€~€~~ƒƒ~‚‚„€ƒ~ƒ{‡xˆw‡x‡y†y„{„{„z…{„{…y‡y†x†y†{†y…z…z…y…x…x…y…y…{„{„|…}…~„|ƒ|ƒ{„z„y†x†x†vˆu†v…uƒv{~‚€‚€‚}‚ƒ~ƒƒ€€€€€€‚}„|…|†|„|…|…|…{„{…z…z„z„w…y„y„x†w†x†y†{†z…{„{…y…v…w…x…x…z…|…|†|…}ƒ~ƒ}„|„{…x†w…y†wˆv‡v…vƒv€{€~‚‚‚~ƒ‡}~~€€€€‚~ƒƒ‚ƒ~†€„†‰Š‹Œ~ŒŒ~‹~…y…v‡v‡w†vˆwˆz†{†{†{…z…y„v…u…v…x…z†{…{…}…~„}„{„y„y…x†y…z…z†w†x„{ƒ|‚}‚‚€~‚~ƒŽy…}~€~‚‚~ƒ~„}„}„~„}†}†‡Ž}‹|Š|ˆ‡‹Š~‹~Œ}Ž}‚tˆv‡v‡vˆwˆz†|†}„{…y…x„z„{…z†z†yˆ{†|…~…}…}„{„x…y†x…z†{…}ƒ|ƒ}ƒ€ƒƒƒ…ƒ…ƒ‚‚€~}ƒ}…ˆ‡~~€‚‚ƒƒ‚ƒ{†z‡~…†€„}~|~{ƒ{„|…{†y†z‡}Š}…w†t‡t‡uˆwˆy†y…z…y„x„z…|…{†y‡z‡zˆ{‡}†~…~„„~ƒ{…y‡{†ƒŠˆ˜ˆšˆšŠš‹œŒŒœ‹œŠœ‰™„Ž}ƒ|…€‡ƒƒ€€‚†}‡{ˆxˆy‰}‰€…{‡€„‡}†|ƒ}ƒ|…y„|„z†w‚}„ˆ{†}y†sˆt‡u‡v‡x…w„y„yƒy„z„z†y†y‡yˆzˆ}‡~…~„ƒƒ~ƒ|„y†}‡……‘ƒƒŠ‰†‹…Š„‹„‹†‰†Š‡‰ˆ~‰z…€‡‚„„ƒ‚…~†|†{…|‡~ˆ~ƒ„~…‚‡|‰{…‚…€†wˆx‡x‡x€‚ˆ}†}|„uˆuˆs‡u‡x†y„y…y„z„z„z…y‡x‡xˆ{‡~†~„…~ƒ~„|…x…v†€‰†„y„{…|†{ŠzŠz‰xŠx‹yŒy‰||‹r„€‚‚‚ƒƒƒ‚€€€‚€ƒƒ€„‚€ˆ{ˆ{„…€ˆx‰yˆ{‡{‚†ˆ}ˆ}~w‡xˆx‡v†w†y…x…y…{…z„z…y†x‡zˆ|ˆ|…|„{„{…y†v‚s~v€ƒˆˆ€Š{‰ˆˆ|‰z‰zŠzŠy‹zŒzŠ{Šr‡‚€‚‚‚€€‚‚€€‚‚‚„…†|…}…~†~‡|‡}†}†}ƒ‚‚…ˆ}Š|„~„€„}…z„y„y„y„|„|„{„{…z‰{‡z†x†t‚pi}oq|u‹xš~Š†ˆ‰}‹z††Š{‹z‹zŠz‹z‰zŠz‹y„†w•„€ƒƒ„ƒ„„„„„ƒ‚„‹~‹}Š}Š}‹}‹|‹}‰~Š~Š~ˆ‰~Œ}Ž}‡€‚ƒ€ƒƒƒ€‚‚‚€‚€‚ƒ„„~„|„x†u‚u€xxyz»€£†‰~‰{‡}‡ˆz‰|‡}‡}ˆ}ˆ~‡|‰{†‡~ž‡~‡‡†€ˆ‰}‰}‰}‰}‡}†‡~|Ž||}Œ|‹|‹}Š}‹}Œ}‹}Œ|Œ}|ˆ~‚‚€ƒ€„€ƒƒ€ƒƒƒ€ƒ„„€„€…€…€„…‚„ƒˆ}Œ}“‘‡˜‰–‰”ˆ”ˆ•ˆ•ˆ˜‡™‡™‡™‰š‰šˆ‹…˜‰{‰}ˆˆˆˆˆ}‰|Š|Š|‰}‰}Œ€„‰‡Š}‰~ˆ~ˆ~‡‡ˆ~Œ}Ž{zz{Œ|‹{Œ{Œ||‹}†„„€ƒ‚ƒƒ€„†‡‡€†€„…Œ…¯‡·…¾„ºˆ³ˆ·…½ƒ¿ƒ¿†»‡¶„¼ƒÂ†¿ƒ¼‰{‰{‰}ˆ~ˆ~‡ˆ‰}‰|Š|‰}ˆ…‚~Š‚„†€……………€‡~|‘z“z’{’{’|‘|’{“{“|“z{„€ƒƒ€ƒ€‚€€€‚€„€†€†…†’·zÌvÐtÓvÓuÔsÕr×rÖsÕuÕsÕuÏyÉ´‰|‰{‰|‰{ˆ}††€‡ˆˆ~ˆ~†€„€‚‚ƒƒƒ‚„ƒ…„…€‰~Š|ƒ|}ƒ~‰~Šƒ}€~~‚}‰}…‚€ƒƒ€ƒ€€€€€‚€„‚†›ƒŒ”} y®x³x¶w¹w¹wµy²x­z¥~–Š~„Š~Š}‰}‰|‰}ˆ~†€†€‡‡‡…„€……‚…ƒ€‚‚‚ƒ„…‚Š~ˆ|~|{}{~€}ŠyŠy‚zz~z€~~†}‰}ƒ€ƒ‚‚€€€‚€©~§ˆ€~€„‚€€ƒ€‚€€€…„ƒƒ~~{¨ˆ€‰‰}‰|Š|Š}‰†~†‡€‡ƒƒ€…€‡~‡}…‚€‚€‚‰|ˆ|†}†‡ˆ}Šw‹v‡xƒ~„€…~†|Š{‡}…‚‚‚‚‚€z®tÍtÇx´z©y¸z¬Œ…„|˜yºz¼y·sÊsЃˆ€ˆ~‰~Š}Š}‹~‰~†††€„€‚€ƒ€ƒ€ƒ„‚‡‚‡ƒˆ„ƒ‰|‡|ˆ|Š}Š}Š{‰z‹xzˆ„‡~‰{Š|‰|ˆ~†„ƒ€‚‚‚‚ƒ‚ƒy¬qÎpÐsÏtÉtÂy´|ž’|¥wºuÆrÏpÑsÍ€ƒ†ˆˆ‰~‰}‹}Œ~‰~†„€ƒ€‚€‚‚ƒƒ…‚…ƒ„†€Š|†|…|†|†|†|†|‰|‰||†ƒ€…}‡}Š|‡~ˆ‡~…€ƒ‚‚ƒ€‚€‚‚{¦rÍrÐsÎv¹}šƒ…€‚~‚‚€~ŒzžtÂrÒsÎ}„ƒƒ‡‰~‰}Š}‹}‹~‰~†‚€ƒ€‚‚‚‚‚‚‚‚†}zŒzŒ{Š{‹{‹{Š{‹{ŒzŠ|‰~Š|{ŽzŽ{‡~…‰‰‡~„€ƒ‚‚‚~}›vËvÅuÈ{›ƒ€ˆ‰€‰‰€„y§vÂwÀ|†|„‚†€ˆ‰~Š}‹}‹}‹}‰~ƒ€‚€‚‚‚€‚€‚€‚‡}‘x—u–w•w•w–x–w–w•v–w“x“x•w”w’y‹‡~ˆ}ˆ}ˆ~‡~†ƒ€‚€€‚€Š~Ÿ}’|™†€€‚‚ƒ€ƒ€ƒƒ~‰}Ž}‹}‘}ˆ~‚ƒ‡€ˆ‰~Š}Š}‹}Š~„€€‚ƒ…€ƒ€ƒ€ƒ€ƒ€„Š}Žyy’x’w’w‘x‘w’y{‘z‘yyy‘yzzyyyŽzŠ}ˆ~ˆ~†ƒ€€‚‚~‚‚€‚€‚‚€€€€€€{„~„}ƒ}‚ƒ‡€ˆ‰~Š}Š}Š}…€‚‚ƒ‚ƒ€ƒƒ„‹|†€‚‡}ŽyŽyyxy‘y’y’y‘xy|’|‘{zz‘z‘z{ˆ}ˆ~ˆ~†~„„‚‚€€‚€‚‚€€‚€‚€‚€‚€€€‚u„~„ƒ}ƒ‚…‚‰€‰~‰}Š}Š}ˆ~‡†…€„€„€„€…€„€ˆ}‚|…„ˆ~Š|‰|‰{{Ž||{‹|‹|‰}Š}‹|Š|‹{‹{Œ{Œ{‰|ˆ}‰}‰}ˆ~†€ƒ€…‡‡‡~††~†‡‡†…‚€ozƒ€‚‚~‚‚‚‡€‰~‰}Š}Š}‹|‹}‰ˆ…„…€†€„€…„€‚€ƒ†€†€…€ˆ|Š|Š|Š|Š|‹{Š|‰|Š|‹zŒyŒzŒzŒz‹{ˆ|ˆ}ˆ}ˆ}‰~‡‚€€‚‚ƒ€„€„€„„„ƒ„€ƒ€ƒƒ€‚€h{m~|}{Œ~‚ƒ‚ˆ‰~Š}Š}Š}‹|‹~Š‡€…€…€†€„€„…~…~ƒ€ƒ€ƒ‚„ˆ}‰|Š|Š~‰~‹|Š{‰{Š{ŠzŠzŠ|Š{‹z‹z‰{ˆ}ˆ~†~‡‡€„€‚‚‚‚‚€‚‚€€€€‚‚‚i}i{r{‡}‡~‚ƒ…ˆˆ~‰~Š~Š}‹}‹}Š‡…€…€„€ƒ……}ƒ€‚ƒ„ˆ~‰|‹|„€ƒ‰}Š{ŠzŠ{‰|ˆ{‡|‡{ˆzŠz‰}ˆ}ˆ~‡‡ˆ€†€…€„ƒ‚€€€€‚‚‚‚ƒ‚‚‚kj}k}w€ƒ~ƒ}ƒ‚ƒ‡€‰~‰~‰~Š~Š}‹}‹}ˆ~†…€„€‚€ƒ€„ƒ€ƒ€„††}ˆ|‰~†ƒˆ|‰{‰{‰{‡|‡{†z†z‡z‰{‰|‡}‡~„†ˆˆˆ€ˆ€‡„€ƒ€€€€‚€‚‚€ƒ€„€…ƒnml~sƒ„€ƒ}‚~ƒ„‰‰~Š~Š~Š}Š}‹}Š}ˆ~…€„€‚€‚€€€€ƒ€„†€ˆ}ˆ|‰}‰|ˆ|‰{ˆ{ˆ|‰{‰|Š|Š|Š|‰}‰}ˆ}ˆ‡†‡~ˆ~ˆ~ˆ~‰ˆ~ˆ~†ƒ€€€‚€‚„€…€……€oƒm€i}nz„€‚~ƒ|ƒ€‚†Š~Š~‰}Š}Š}‹}‹}‰}‡„€‚€‚€‚…ˆ~‹|Œ{{{yyyyxx‘y’y“x’w‘xyzŠ}„‡€ˆˆ~‡~‰~ˆ~‰~ˆ~‡„€€‚‚ƒ†€‡€‡€k‚l€h{i{k}y€ƒ}‚}‚ƒ€‰~Š~Š~Š~Š}‹}‹}‹|‰~…€€€‚‚€‚€ƒ‰|y’x•w—v–u—t—u—u—u—u—u—v—v˜u˜u˜t˜u’x‡~‡ˆ~‰~ˆ‰ˆˆ~ˆ~ˆ~‡~…‚€€ƒ€…€‡€m€m~izgyezs€„~“|ˆ‚†Š~Š~Š~Š}‹}‹}‹}‹}‡€€„€†€„€‚€‹|’x”v–v–w”x“y“x’y‘zy‘x‘y‘z‘z‘y’y“x“w‹~‡‡~ˆˆ‰ˆˆ~ˆ~ˆ}ˆ}ˆ~†ƒ€€€‚ƒ€lk~gyfwgyl}{„€Š~…}‚‡€‰~Š}Š}Š~Š}Š}Š}‡~‚€€ƒ€‚€‚€„Œ|{Ž{Œ{Œ{‹}Š}Š}Š|‰~ˆ~‰~Š~‰}Š}‰~Š€Š‹~‹€ˆ…€ƒ†€ˆ~ˆˆ~ˆ~ˆ}ˆ}‰~ˆ~‡~ƒ€€€gg~fzgxhxhzq~‚€‚~‚~‚‚‰Š~Š}Š~Š}Š}‰}ˆ~†„€„ƒ€…~‹‡‚†‚‡††††€…~„„„‚ƒƒ€‚€‚„‡†ˆˆ………‚Š‚ˆ‡€††‡ˆˆ~ˆ~ˆ~ˆ~‰~ˆ}‰}†ƒ€‚€hg~hzfygwhxhyu€ƒ€‚}‚€ˆŠŠ}Š}Š}‹}Š}Š}‰}ˆ~‡€…€„€ƒ†€‚ƒ‚„‡†„†ƒƒƒ‚ƒ‚ƒ‚ƒ€€‚ƒ……ˆ‡ˆ‡‡……‚‡ˆ~‰}‡†€‰~‰}ˆ}ˆ~ˆ~ˆ~‰~‰}ˆ~†‚‚€‚jh~gzexgxiyhzrƒ‚~‚~‚„€Š~‹}Š}Š}‹}‹}‹|‹|Š}‰~‡…€‚€‚€‚„‡…‰†„„‚‚‚‚„ƒ…ƒ…„‡„‡„…‚„€‚‚„ƒ…‚…ƒ…~ˆ}‰~‰ˆ€…‡ˆ~‰}‡~ˆ~‰~ˆ~ˆ~‰~‡€„‚jh~g|exg{i{hzo~~‚€‚}‚€‡Œ}Œ}‹}Š}‹}‹|‹|‹|Š|ˆ~„€‚€‚‚‚ƒ€€€‚ƒ„„…„ƒ…ƒ†ƒ…ƒ„‚„‚€€‚‚€‚…€‰}‰~ˆ‡‚ƒ€‡‰~ˆ}‰~‰~‰}‰}‰~‰~‡€ƒ€j€j~i{h|i}h~h~ku€‚‚‚~‚‚Š~Œ}‹}Š}Š}‹|‹|‹|‹|‰}…€ƒ€…€‚€‚€€…€‚~~€€€‚‚ƒƒ€‚‚‚‚‚†€‰~‰~ˆ‡‡‡€ˆ‰~‰~‰~‰~‰}‰~ˆ~ˆ}‰‡l‚k‚jjnƒk„hƒi‚q}‚‚‚„~„‚†€Š~‹~Š}Š}‹}‹|‹|‹|‹}‡‚‚ƒ‚‚‚‚‚‚ƒ€…€††‚…€†€ˆˆ‡ƒƒ‚‚‚ƒ‚ƒ‚‚…€Š~‰~‰}‰~‰~‰‰ŠŠ~‰~ˆ‰~‰}ˆ}ˆ~‰~‰kˆl‰m‰o‰p‡o…l…o…s…|‚€~˜}Ž}‚‰~Š}‰}‰}‹|‹|‹|‹|Š|ˆ~ƒ€€‚‚†ƒ‚€‚ƒƒ€‚‚„‚‚€„ƒ‚€ƒƒ‚…~Š~‰~‰~‰~ˆ‰ˆ‡€‰€‰€‰‰~ˆ~‰}‰}‰~‰~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÍȾ³¯¢ ”|sgiyjhjomscgbT\a\]e^T]b^`WQOU[Y`e`fUUXWUWUTZVPV__]WTLD>9;9532@3ÎÎÏÏÏÏÏÏÏÏÏÎÎÎÎÉÂÆÂÊÎÏÎÎÎÎÎÎÎÎÎÎÌÌÌÌÌÍÌÌÌÌÌÌÌÌÌÌÌÍÍÍÍÏÏÏǵœ¤—uys_\_q|o]`nkh[YZ\_YYVO`f_]TPOQXV^iihQV^aZQPKQRZ`c]VNMJA@76643087ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÁÅÀÈÌÍÍÌÍÍÌÍÎÎÎÍÍÍÌÌÌÌÍÍÌÌÌÌÌÍÍÍÍÎÎÎÎÎÏÎͦŠŠtmmmlmkms|z^a`bdZ[[\\]TSV]cY[ZVTTUSW[heRQY]VMNNRR]caa\QFB@;742221/2ÎÍÍÎÎÍÎÎÍÎÎÍÍÍÍÉÃÆÁÉÍÌÌÌÊÊÊËËÌÌËÊÉÊÊÊÊËÌÌÌÌÌÌÍÎÎÍÎÎÎÎÎÎÍÍ̵˜{kosyt}edb]eX`cd[ZWUaZTYedSPSWXTNLVOXhROTXYPNSPOYa^`XUTNH?;75331-.ÍÎÍÌÌÍÍÍÍÍÎÎÎÎÎÊÂÂÁÌÏÎÎÎÍÍÍÍÍÍÌËËËËÊÊÊÊËËÊÊÊÊÊÉÊÊÈÊÊÊÌÌËËÌ¿‘€„t_k|kdg^``WjcYYUTN\a_`qlZPOV^UNJTRQXT[\YUNPQW\_XWZQOXNH?>@<530-,ËÍÍÌÌÍÍÍÍÎÎÎÎÎÏȹ¼»ÊÎÎÎÏÎÎÎÎÎÎÎÎÏÏÎÍÍÍÍÌÌËÊÌÌÌÌËÊÇÊËËÌÌÌÉÆÄ¥‰yzog\lnnc^`]W]`UR[STQZdefhcgURW[TPSUSRXRZ]aURTRZ[\YYTSOOOH??>8641/3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻżÆÎÍÎÏÎÎÎÍÍÎÎÎÎÎÍÌÌÍÍÌÌÉÊÍÏÏÍËÈÅÊËÌÎÏÌÇÄÁµ¡|zpfVRa]Y]a_]a^WUSLMVZ`adi`[SPQQOLTPSP`KTUZ[XZZ^Z[XTQSOSJDD?B;420/5ÏÎÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÁÅÍÌÍÎÍÍÍÌÍÍÎÍÍÍÎÌÍÍÍÌÌÉÊÊÍÊÆÃÄÂÅÇÊÍÎʾ¼«€}pUTRPLUXoodbc]YND?NXR\ba^WTRLMLIMIQLZNSUVWW[\Z\^YSOTOWMCH@>=2/.--ÏÎÎÎÎÏÎÎÎÎÎÎÎÎÏÅÀÊÁÄÍÌÌÍÍÌÍÍÍÍÎÎÎÎÎÎÎÎÍÌÊÈÇÆÉ¿ºÃ½Á¾ÆÊÈü® ¨ytbVXXWfg]ofe^VVRRVUdUP\]TOWXRLIFPQRXWRQXZUTWXUOP[USWSXU>6612/..--ÏÎÒÖÕÐÍÎÍËÊÉÊËÍÄÀÉÁÁÌÎÎÎÍÍÍÏÏÎÎÎÎÎÏÏÏÎÏÌÄÂÁ¾Ä¼¹­À¸¿µ¿Æ¿½¶¦‡„}pˆ{f[`[]ckVn\T\SNTU`^XOPTXQQRUXLLLSRR[g]OVYVWUVZQJ]YY]]MC<6531.....ÍÛêîîäÓÌÊÿ¾ÁÆÉÂÁÈÁÀËÌÌÍÌÌÌÍÎÍÍÍÎÎÎÎÎÍÍËÅÁ¼´½º±¢»²½±µ¿µ¼´–†}}nhecbbUYc]Ud[SZ]PSSX]UUTONMKKMSYWORPQRd[MY\XQLMXYPXYPLJA7<<962/---.ÙïШµäé˾¸³²·»ÁÃÃÊÆÂÊÌËÌËÌËÉËÌÌËËËÌÊÉÈÄÅÀ³®ª®²¦ž©­¸°´µ®­¢uxullSbe[XaXRZi^X^YKPRU^`bUPMLKNSMUVKOTOS^^Y`\ROKLXXSYPPXJCC=;;972....îÈwfm£æص°®®µ´¿ÅÆËÉÄËÍÍÍÍÍÉÇËËÌËËÊÊÇÄþ¿³ œœ£¦›—¡­¯¬®¨§™„vljejm\UXVa`VV]\X_VRUTSUV`XRTONTVRTUWRPXPSZ`X^XZ\W[_TRYVRP@>E;877752000äŠwvqÊç·¬«®±²¿ÁÅÊÈÃÊÍÍÎÎÌÆÁÉÌËËËȹ³µ¶¼¬ž•™œš“ ±®©ž™œwideUg`PMHNWaWQQ\gabn^^b]TVNPPOPQVSVTVYR[OP`^^hZb_ke^RQNLIK@­ƒ…ƒ„‹ºåÞÈ󮯬«·Åº­²¸µ¿»Ç½±ÀÄ·ª ¡˜›Ÿ’”…‚„‹Œ„€Š‹Ž…ƒ‚„€yvp`VVUU]\UYUSWgRPO]gdSQ[YSMLMJKHELJKSU]`QYQPmscf^`\S`[VUG<:;86543464;?¬µ¶Œ‚»âíîçÆÅ©¢¢©ª ¡¡¤¢¢¨¹±¦¦«š›™¡™™ ‘•Ž…ƒ…‚†y„Š‰…}}}~vrpjeYRYgZRVRT]ZNW[]_XRRRRQMKOPKNRQGDMPU_RRM^ab_Xdj\PT]XGTF<<;9555589<=…·Á”†¹áìæâä쳞 ¯¡Ÿ¥©¤¡£¤Ÿ••“œ™ š’š‹Ž‹‡‡ƒ~‚‚zˆ„‚{|yxqhheZVYQX^XU[Y\[VYZZ][UOJWUNLOIACEE@AFIHQJRSZ]aY`p]_OZ`[HDD?=<85567:>@?‡’¿—Œ’ºáíнßè´Áĵº³·¸ÄÀ¸« ¡•’ž—›–†Œ‹Š‡†‚z„}€wywsqmlgY\dcbXRSWW]\bWU]SW_[UQJOMMIBCDA?EFFCRGUX\Xab`\RcbVWXPKGDE964579>=><?>==AMOX`[Tiˆ™‰ƒ~zxurqonoopsw{ƒoWGKKóìò~Œ¬˜¢JAFXlm[]VLK?|ˆxz|†gXKm¥¢˜Ž„²©~žMROKA54JlNtuuiksljg^P]m^USZ\ZSPWXYb_YV[ZUMHEAA??<78>DGI[gYSuWXUSRRPLKJJHHIIPRQQRTNPKDP¦‘’V|•œ’RM?K††…zN=F=`•}~|‡Wo@4@>;:LOZ`bdWOJZn_86C{Rn{vmhmihdc]gocZNR[[VRSXV_ZV[fXNHCB@@CA@>CHA=J[hh^†TYgot{~wE:988::=R[]_``kOLDW†OGD¥ØµjLQO;JFGH<679AÊÏ‚€Vw558=@>MONMKKLMI]yb?:…¦h^{ypfgkmga\[W_[OPWTMOT][YX[_]STNGABGHA>CRQHT\_g…}[ª«­±²²p=66NUNfkjt~Œwbuœ˜~ukXK?:CHDr;9:;;BhNZiyLCMw¬ÃÔÑÑÓÕÙØØÖÓÒÑÏÐÓ£€€hw^39Dƒ—{K?876CNLJNu‹P64A“UhllgfdamaTV^XW\TQTRTP[]Ze^VURPIIHDGKFBGNNRhnlup—j]?Q;656;EGB@ED@™‰29:;::^ZZjoHHOm³ÓÛàääåèêæèèçãâã߶{_‡PCGL‚“ŒND7547?;=Yž–M566‡i]jbab\\jdWOX\`\ZRMOYV[e``XPOVSMF?=GU^W[cgne\ZYg ^T=J6988>E?9::8U—ˆD;93w‡Rp]TZec``_UXZYTSPPNU\[TYZUNQZTPW[Zr„xdkxn]UVZYvœTK;C5:MJ;>9336=E]>CEGA78JeKe>865l©áçïìíÆ–Ÿ×ºœ°í鹈ŠŒ{XPhYgj]LKPTVQOOOY{mD==6irEjD>;Vc^a]Y[TSSUY]RLVXONOU]ZY\fx†‹„ccqiVRXXWg‘ŠJD>@9Qx}\;6335777:@BB>55AbG`kYPQoµº¾¿¶º²³½¼±¹ÃµR57bjAJ@LB@8;3Rjkqooolp|‰“‡‰‘ŠŠ”³˜‚|y}{mbmmaVWZ^^l“tBFFGAP|„UA?73456;ABCBC@7<_ETrqosssruvwwxwy{}}~~yG53/85589;855568778879:;=:<=HG08ENgpqtuvyzyxuutvxxxy{‰”¥±³­›Œ~rlmmmom[T_ot‹bAo_JDEXYAHKD999=DKKJJKG?;O>Nqomllnoqtuuuussuwy|{ki[8_E;;:988998877888899999;<=FEDghjjihiiimqruvuuvvtrqrrpprwŠ™¦­¯¨ €rgbNU\bw^@jg<99>AAFKL`nnsnZA?<;;;=CUfuqnkjjlmoqqssrqoppsw{|›¹RQ@:988788776667777778889::<>ftegkjihfeeegijlnruuvutsponppomot{ˆš­¿¸¡‰gSYPFv{_VQEDNQOOORVYYZYVTSMHFXhp‚’zwrnlkkkmmnpqpqpqpoprr±\K;358766666656765556653229JH]nekoomlkgca`_bcehloqtuwutspmmnnopomlxªº¼• ¤m{suliaSXlpnlmlljiiknpn`Yddcnzyxwtpljiiijlmnpppqqrro|šiXqcD345444555G9545_¢vqokgeefefhfecccddefg~xbcccaaaacejmprsuvwwsnhgikoet‰cWSVWWXXYXVVWXYXWWWXXXXYYYWXVRrtuwwvvsojfffeghijkklknW0hºÆÆí·‚gTX`yQe°IVjjœ}^mrwvuvz€®“‡†|zzxxun|oigecbaaba`bfjmpsuvwvtqlhg`jy`^_ZXYY[]^\ZZ[[[[[\\[Z\]\[jfhŠnpqsttssrmgea`bcefggjfWG0?˜ØÙêòµ…`bc…j¡Õqicz›dv‡’˜œ››sILBNŒ¤¤£žš“…y`vnmkfdaaba`^_bejnpstttttqkU`hZl´ ŸVRTWcZZ\]dZYX[gQOL~Ø»¿ÄlnppqrrrsqkgcaababddggN70.Dhg‹­Ÿ§gmp]\Êù›_oŠzZŒÈÕÖÚÜßÖg\SPL•çáÚ×Ûݸv\illnmkhcbbbda^^aeinpqrrrusSOZQcÅÏ×Ýò›ID?}ƒ?BnŽg”ÅZÏš[ÊŽEMdÎë }`SbgikmoprttssqokecbbbbdE-.048?GSazÊòìîîììðÓ„UiA@DFIMMDBTzwX^‚€p`RGD<``^jiecegjlmjfcccca`^_bgjkmM?DJOPRX^ˆ·qk_aÖÁŽ±‘¾Öfaosw…hZYT^cegjmnpqrrsrqnjebaaacH..016>GZs–­ÀóîóóòòóÁp\dG=79986:XMFS_†Á¼»º·´·®aaYHB7:<98755ELA=78?D=9>A>kRflmlhedccegihd``_^]^][Z]L@AILOSW[elrsty‡›¶Ã­œ†€}{wrhZWTÅy]dhjkmoprtrrpomhca`aM2205A†Þ„CAM`JMMMOPuœUeNGB?PYL@>8443464E‰a5665`W`llmligd``bffecaa^]_^]Z\J=?IKNSVZgu}ƒ„–ÃÌÍÑÖÔÓÔÕ°}{vpf[USÍÀq]eggilmoprrppplgcabL5601:‰ÑrŽž“– ª¦­¤ŠMeKQPLOOMJMI945568TŽ±FME7PZZj`biljhd``bcffdb`____`_K:=IKNRUYeprrožêìäçåëììòÂjhimf\URÀÏ´b\bdgiklnqqpqqplgcbL58//0;TO?@BAF]ƒŸ¡†rM9@BKXUMBADYJC==GRTRJBB@AECG\b_ŠaTjllljgcbdghjhgecbcO3;LNQQT\gg][Ykœ£š•““’nGBM`e^[Tw¶ÇÏ‹W_dgikllnoopppoliJ2:1,+/02443498QB8:327JJ\q©‹OŒ¾ÊÈsYaehjkllnoppopnlJ/;23;/,,*)*+**-0Bpoh]]\[[[\\\\[[\[[\[[[[\\[[\\[_dIIikijjjkkkjebbbehjigfM+;FBL³ÇqZOOKPPPM`aU]WTYQNHQVTt×´[w®Áͱd\bfijllmnonnomgF.:43LNE=771*+**(JMVlcY[YYYYYYYZYYYZXXXWWVW\`adeipqXjurrpolgnmkkhdbabfhikO(:B=J•¤f^e[=<=<>@>=>??@>7:\gb`sgWXx·ÃÍŸ]_efgikmmllmmf[B/9505CFE83/,05:=a\h|`TXXXWWXXXXXXYYn`er€Žš¤ª«­®°²²³³®­¯¯®©˜}rjkjhebabcejP'7?kaRMJq¸ÂѬ_\adfhhiklkjgc___^]\YYZ[\^`e`Y|n`¿çÚæÇogkmoprrwuNFEDDCBBCBA?FC<<<;;;:;;;;;:Pgghhhg`UPA$450+5>=<=<<;:9766;;::;;A6!(lodQLM‡¼ÃÒ–Z`dfgghikklkifdca_][ZZZ[^ae`WeSF§å±ÝîŠktuvwxwŽY<<::::99::?=:689;:87777779<@\hggecaWMA&33-)29987557775666666632211-!)5imv\OLWœÀÊË~Zbeggghjkklkihfdb`][[[[^_b[TPHFYymÅåƒ}™¤ª³¾¨C<==;76656778@>MffffdccXH,1.,,4-+)'%%%&'&&&%%%%%%&&&&&$)1qpmgWOLd¬ÃÐÃr^dfghijkllljjhgfd`]\\\]_a]LFHGLOWoƒ„Á»‘ˆ…†¤v;?9??>=;>AG_”i;?B:954445556=AA]feecba^UD6/0031258:;;989<=>@@?=9=ADIKOPQpklndRTgˆ½ÉÔ¸j`eefhijjklkkkjigd_]\\\]`_JDJGNQV]lŸäq.42?›Y<>459987Qeedcba`\YSNNNPRTY_ceeb_^\\[Z[\[WWVW[afghlmomhXOQTŽÂÆÔ¨``aceegijjkkkkkjgc`^\\\^`IAJGOV[bo™ßp<==k£C?924:=:65OA423445537RNG>7525@>Gaeddbbb`^\\[ZYZ[\]`ehhgfba^]]^][YWWX[`dfnrroneSMMX£ÅÌÓ[`bdegiihjkkklkifc`]\\]_F@JELV_gs”׉\€ŽžŒ;@622;fe52=812102358BOKKLI?52GEHOWboÑŒnÜõ¾g;?324[{V4100010146ABIQ[YZXB26C=NeT>?ASecbbbbbaa_^\]afklljgda_][ZXWXYYZ\nomlkkg]SMM•ÆÊ×£[`cefghghijkkkkigda^\\\>=GGGNV`m…¶~O½ê¤N;@9:8[Ž‹B?90/0013;HIPQ_]ZZG33A>F`P452;bcbbbbbccb`^\\_djlkhec_][YXXWXYYZnfcfgac^TNKe¸ÅÏÎyZaghffghiijkkkjhfc`]\\;:GHGIS[fdF>8nÇB;@AODAPSLCBA4.///3DHQKQd`WPG52>?@E>5726`dcccccddeca_\\^chihgea]\ZYYYYZZZlfgfsnibRKMM„ÁÆÕ´a_dedefgiiijkkjjheb_]\85EHN…œ{U@?GIKg]?:HRvQ@BABB@@943235@CNAM_^RQH9067;;@31>@>7KOC<:;;;:89=>;9:8768547;99?JEEB:<— Z_cbcddddeefeefdca_]^cfikkhc^[\[[[[[jrlipptre[OLJq¶ÃÐËs[beeeghhiijjkkjhgc`]:634434545679>AB@>?@;:;:::;<<=BB=9K7c»{^abbddddeefeefffdb`]^aeikjhc]\\\]]\twpnrpompqZLKOŽÁÇÖ²`adefghhhijjjkjjhea_808AFKYfgp„š¶½˜Ie>;=;<<=>?@ABGNPMLMNNNNPOQQOOLOWN|[;bdaaabcdddedeedefgfdb`]]^cgijhc_]]\\\rplimnjhjkeMJK`®ÃÊÖŒ]bdffhhiijjikkjigc^6,6:@?<=BCIY“º~H‰oFBOV\`cdhiknprqpppppoppomnooryf}ƒOW`baabcddddccddcdeeedb`][]cgjkhc_][ZZqmmeilptooiQILLz½ÁÐÆp`effhiiijjjkkjih_S2.4060-+04=H`›pN‹‡m^rpnnljheb___[YZZYY[[[XX[[\ad]gw{]Uaaaacdddccddfeeefffdb_\[^cgjkif_]\[jfcbfjrrorr]LJXhš¿ÅÕ«abefhijjjjjkkifcZN3.42;18:AINXMoi^†xjZ`[USQPOMLLLKIHHHHHIHIHIIIKNMNRTev_a^^aabddccdefgffffffec_\]_chkmkid`^bilhopllprpkTJMMX§ÂÈÔ]befgijiiiijjhfeX6-10+/79:;>TQ`xkkWQLKLHECCBAAAA@?>>????>?????@BCCBDIgy`ÁÅ­jacccdeffffffefffc_\\_chlmmkfcxssptrkjlkhleLJLIm¹¿ÎËu\bdfgghghghiihe\D0+,,+&%$$'HcwmUCCAAA@?><;:::;;::::::;;:::;;<=?>>>@OkevËâÞŸ^bcccddeeeeeeefgfd`][]chkmnkhy‚~qkkigijmkbOJMLL‘ÀÁÓ±]\adeffggfghhfd_V@568966631@f–ycG==;;<<<:9999877789877787889;<;:9:<::Kacjollabcccddeeeeeeffgffca]\^bhlnnlpurttlmglnnlkcYNLI`µ¿ÉÔƒX`ceffgggghgfeb[SOONOPPPPMEaydR>788889::888998898:=>><=<;:<60Agcccbae¥Á½“bdddddeeefeeeeeedc`]\]blklmqtuptljnljndPKJLLŠÈÊÖ¿kefhihiihhhggffeeeb_^[[[IK45CJVg€¥¤KDMWh€¦»`y»áãèéïïíïððõÞqh»š{bQIB<;30Aedccbaaa\ZY\a_`bb`bbabcbbbbbccba_\hhkga^`giq{wtvojndRMNQY¯ÊÇתefhiiiiihhhhhffffdca^[JS7//3=?HOVg€žÌZÈñìëìëìîïîìóã^Ш‡jUI>61/2Gedcccbbbbba``bcbbcddba`aabbbbaabaa„}‚€xu{xkhpwwy|sd]RKKKKQžÉÇ×¼eaceefefhhhgfgffeeca_@<;>93765gDBD62^©²M,4Dceddcccccbbaaabccbeedcbbbaccbbacdc€yy€ysnsc`hr{rjlfYLLKU][˜ÄÄ×Âh`ccddefeefgggffedcbB>=:4,I‡U89CK:\V6888=GICCBCCD[b;63221..ÍÎÍÌÌÍÍÍÍÍÎÎÎÎÎÊÁÂÀÌÎÎÍÍÍÍÍÍÍÍÌËËËËÊÊÊÊÊËÊÊÊÊÊÉÉÉÇÉÊÊÌÌËÊÌ¿’„€t_k|kdg^``WjcYXUUN\a_`pnZOOU]UMJSQPWTZ[YUNPQW\_XWZQOYOH>>?;52/-,ËÍÍÌÌÍÍÍÍÎÎÎÎÎÏȹ¼¹ÉÏÎÎÎÎÎÎÎÎÎÎÎÏÎÎÍÍÎÍÌÌËÊÌÌËËÊÊÆÊËËÌÌÌÈÆÄ¥‰yzog\lnnc]`^W\`US\STQZdefhdgUPWZSPRURQXRY]aURTRZ[\YYTSOPOH>?=7640.3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻŻÆÎÍÎÎÎÎÎÍÍÏÎÎÎÍÌÌÌÍÍÌÌÉÊÍÏÏÍËÈÅÊËÌÎÏÌÇĵ¡|zpfVRa]Y^a]\a]WUTMMVZ`adi`[SPQPOLTQSQ_JTUZ[WZZ^Z[XTQTORKDC?B:420.5ÏÎÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÁÅÍÌÍÍÍÍÍÌÌÍÎÍÍÍÍÌÍÍÍÌÌÉÊÊÍÊÆÃÄÂÅÇÊÍÎʽ¼«}pUTRPLTWoodac]YND?NXR\ba^VTRLMLILIQLZMSVVVV[\Z\^YSOTOWLCI@><2/.--ÏÎÎÎÏÏÎÎÎÎÎÎÎÎÎÅÀÊÁÄÍÌÌÍÌÌÍÍÍÎÎÎÍÎÎÎÎÎÍÌÊÈÇÆɾºÃ½Á¾ÆÊÈÄ»® ¨ytbVXXWef`ogg_WVRRUTeUP\]SOVXRLIFPPRWURQXZUTWXUOP[USWRWU>7612/.---ÏÎÒØ×ÐÍÍÍËÊÉÊËÌÃÀÉÁÁÌÎÎÎÍÍÍÏÏÎÎÎÍÎÎÏÏÎÏÌÄÂÀ¾Ä»¹­À¸¿µ¿Æ¿½¶¥‡„}pˆ{fZ`[]ckVn\T\SNTT`^XOOTYQQRUXMKMSRSZf\NVXVWUVZQJ]YY]]MD<6531.....ÎÛêïîäÓËÉÿ¾ÁÆÉÂÁÈÁÀËÌÌÍÌÌÌÍÎÍÍÌÍÎÎÎÎÍÍËÅÀ¼³¾º¯¢»²½±µ¾´½´–†}}nhebbbUYc]Ud[SZ]PSSW\USSOOMKKMSYVNRPPQd[MX[XRLMXYPXYPLJA7<<962.---.ÙïسÀçèʽ·³±·»ÁÃÃÊÆÂÊÌËÌËÌËÉËÌËËËËÌÊÈÈÄÄÀ³®ª®²¥©­¸¯´´­­¢uxullSbe[XaXRZi^X^YKPRT]_bUPLKKNRLTUJPTNS^^Ya]SOKLXXSYPPXJCC=;;972....íÊ}gp¦çÖ´¯®®´´¾ÅÆËÉÄËÍÍÍÍÍÉÇËËËËÊÊÊÇÄþ¾³¡›£¥š–¡­¯«®§§™…vljejm\UXVb`VV]\Y_TPUTSTV`XQSNNTURSUWQPWOSZ`X^WWYW[_TRYVRP@>E;877752000äŠvvpÌç·¬«®±±¿ÂÅÊÈÃËÎÍÍÎÌÆÁÉÌËÊÊȹ³µ¶¼­ž”™œš’ ±®©ž™œwideUg`PLHOWaWQQ\fabm__b]TVNPPOPQUSVTUYRZOP_^^hZd^ke_RQNLIK@±…‰ƒƒŒ¾åßÈij®¯¬«·Åº¬²¸¶¿»Ç¼±ÀÄ·ª ¡™šŸ’”…‚„‹‹ƒ€Š‹Ž…ƒ‚„€yvp`VVUU][UYUSWgRON]gdSQ[YSMLMJKHEJJKSU]`PYQPmscf_a\S`[VUG<:;86543464;? ¶¸Œƒ¿äíîçÆŨ¡¡ªª ¡¡¤¢¢¨¹°¥¦¬šš˜ ™™ ‘•Ž…ƒ„„y…Š‰…}}}~vrpjeYRZgYRVRT]ZNW[]_XRRRRQMKOPKNRQHDLOU_RRM^bb_Xdj]PT]XGTE<<;9555589<=‚¤À“†‘½ãìæâä쳞£¯ œŸ¥©¤¡££ž”•’›™ š’š‹Ž‹‡‡‚}y‰…ƒ€z{yxqhheYVXQY^XU[Y\[VYZZ][UOJWUNLOIACFF@@EIHPIRSZ]aY`p]_OZ`ZHEC?=<85567:>@?œ~¹–Œ“½ãíоßéøÄÅ·»±µ·ÃÀ¸¬ ¡”’ž–š—‘‡Œ‹Š‡†€‚€z„}vywsqmlgX\dcbXRSWW]\bWU]SW_[UQIOMNIBCCA?EEEBRGTY\Wab`\RcbVWWOJGDE964579>=<>Wy¥€§ÌØéëëëëëéèåâààÖÌÆÄ¿“„…ƒƒŠ‰€ˆ¡”“‚„‰‰‚|†‚{ywy{uvo_Z^_UVTTWaXQM^sue[\gQUNLSTMLIEAMWRSURN\bce[QYY^]Q[XUWH<99;:68:99>>=>lij…´ÞîíììëâÙÈÁÀ¼¸§¤˜‰z“¦™—„zspt{tgegggmt}‚„Ž€}sswyxsokg^SMLXX[SUX[[XHY`Z]YZ`WKLUPMILONQTUXW[me\[[\WYZRVNNK?985^v87998KOPwpsmowqih^RVXTXZ`]XFDQW^W[ZXVX]UOJBDA>?>==AMOX`[VUdz‰ ¢  ™–”’Ž‹Š‰Œ“––qTKKóëøšr©•¨Z@CSxmk`MMD\‘vw}ƒLUe´¸¶±®¦«·ƒ‚“XQRH:558hKlvtiksljg^P\k]URZ\ZSPWXYb_YV[ZUMHEAA??<78>DGI[gXSWrqje`\[[[[YXWWVWXYZ\_YVDP£‰Zj •¡UZD>m|xuN9=@@Œ‹”€wV^9bh`SZZjŒy{ƒUOO^aD44aa[{umhmihcc[fpcZNR[[VRSXV_ZV[fXNHCB@@CA@>CHA=J[hiZQTKRVZ[`V???>==<=MWXZZ[UKGWžUHAŽïÈ„DTSFIKINMGBA>xÇñŸ€dlQ03336FOMJLMJNKJrnQ1Q…Ozypfgklga]\W_[OOWTMOT][YX[_]STNFAAGHA>CRPHT\_gˆj\S‚‹–›Ÿ—O8668>EJPTSRQNxXO_•UJCŒäÊ°šœŸ£©­­¯±­¥ ž¬Ë×’‚Z}A36PjQDPONMMMMMKosR6M„šVjvpedhtyhWUURSRNTXPOZ\ZV[a^YOSUPIELRI;>NUNfjkt‚fzui¡¶´²ª£œdB87?FtMB=;;;RiNg~UCIeš¿ÕÖÕ×ÚÜÝÛÛÙØ×ÕÕظƒxZ676iŸ}MIA>FC›¢A78:<;=eUatLHM`¤ÑÚàåææéëéêìíéææßÎŒywhy7@?u¡eB6335CGEF~žz962`ŒNjaaa\[jdVNW[`[YRMOXUZe``XPOVSMF?I3689@EC?@ABŒž<8;<;9;\]VSHHC]šÒÞäêëá»±Ó̯¾éëèâܨxkvlDMH^ƒ{VKE;:::878z f974HšSid\^ec`a_UXYYTRPPNU\\TYZTMQZTPUVWq„xckxn]TVZZ\}–TIAD68<9;B;439>”¤:ADE?6:PdNC;51Z™Öåîìêãµ±ÖÕ·µéêäȾ©wa…kPYTw~dHIJJJJKFGY†–Z>=8CUa_DBMb]`\YZTSSUY]RLVXONNT[ZY\ev€…‹„bdqiVQXZ[[a“„OA?>5Hg_D:53357ro9CEE?55GcIpcTQf‰µÅÊÌÅÑ¿µÌʳÀÑ̘GAe‰Qi\TfG[GEKV]]XOOHPYslOF?9IH?GKGLSRVVOEDDCA=:?>tpmjijjlnpqssqqoppsw|€‚¡`JQ;:99889877666778788889::865556WsŠ˜¦²±­ª«ª«¬¬¬®­««§¡Šgaba___adinrtuvvwuokhiknoomlqŸ–o^[\YWXW`f\YXXVUVWWWXY^\WXYXXvwxwwurmigfgiijlllmnnosmRm¤¥µ‰C./11335714630.f¦•›“Š€€~}z{{{{z}€„ˆ…bcbb````bejmorruvwvrmggilnqeŽ…gYUWWVVXWWVVWWWWVWVWWWVWXWXXXrtuwwvvsojffeeghijkkllpr8W Ã«ÈªURCBBC>;€_9HNW›ydfddccegjvxpmiigfefec{thgeba``ba`bfjmpstvwvspkggjaxx]UPUWWXZZYXWXYYYXXYZZXY[[ZWXWnpqsttssrmgda`bcefggijd^6<ŠÔÉðﻌ^bcˆŽX¿‰Ovl“bn{~~{||šž|„Šƒ}~~xqwomkfcaaaa`^_bejmprtutttqkeYjm]l…m`mfY\]]Z\^^]^^_^Z\[ZVbš…lnppqrqrrpkfbaabbbddfhZC5/J¬³ÂÛÖ§tcea_ˆïÊ`gf™ln‹£ª¯´µ»œQ=;9^²ÂÁ½·¶­ˆl_qkomkgcabbc`^^`einoqrrsuulPZbO|Ä·«ÏÉ`GHNu[LP`tVKLnmAEM¯ðÖÝjlnprsrstrpmhdcbbcbcdh]81-.7;Hc]„q_rp`”éÏtiyVr´áÝßßÞå¢Wd[UWÄåßØÙÞã•pWhfilpolhfeggdb__afjmppqstoMMVMfÔáÜÞñÀWD;…;C¥9S¶`9D˜íàÒÖhjlnpsstuusqmifcbbbbbfR1..036;DIQZey‹œ®ÑȬ‹|Ye²æàßààäŒJ[aVS¸äÞÛÛßçŠ^d[gefknonkjhffed`__cejlopqnIELPM—­¾ÇÍõ§B=OÄyMÂæ°E¢§KF[ãíµ¨|afijmoprsttsqnjecbabbdR/,/47:@FP\ožâäæêëêéê´hbUo–—™ ¦œWHYo\W’ÙÔʼ©š]EqThidcegjlmiecbcba_]_bgjkmlHAFLPNVs·í³]QEˆØo‡²{„ÜeJ]q¨È‚bW^begjlnopqrrrqnieb``acU1./05;FSe§£êèìíìëîå¦ZjR:567998;H^`Z_^MF=75D@lUdljgdccfhigfda`__]\\_`adeG?EINQUVYokorpjÌß¾ÏÄé²gookdc_\Y€[ceijlnpqrssrpmhcaaaaX3.0027=J]r–šéðññïïíÙ”SlOF;8;:99:9Gp_UG67;;;:I?[_[knlhfecceghgd``_^\]\[\[^H?CIMPTX[___`eowÄÚßϹˆuojiiie[WÂv\dhjklnprtrrpolgca``Y51119D‡~;4:Fy€|{yrl†QgID9:B@:7637<;976>QN=6;9HgRjmmkgfca`bffeba`]]_^][Y[H=BHKOTW[it|‚ƒŠ˜ž¦µ¾¯©¦£’…zrfZVÍ¿n\dffhlmoprqpqpkfbaa[6610:bèÈognxouxy~ƒœqV_GKEL]VKCB8545564m¨™Q9:69hPgkikligd``bcfecb`_____]]G;AIKOSV[iuz|{Ÿàäàäåéèèíµroond[UÀϲa[acfiklnqqpqqokgba[6:0/1B‰ƒ\\lvzz“˜”¡šaUXMPKIIJJJME75667B`‘¦[NPE9ZOccelkjkjgdbbdghgedaa`aa`I7>IKNQV[hnnnl¬îêãæäêëìòºhihle\U¯ÄРY\aehjlmnoopqpolgc[4<0../4?>;?C94Ml}‡‡Œ]>FGGJOTNJFERGA:=FMQ^eJD?D?>EaX•l^kmljfbcdgijhfecaabI2=KMOQV]hikol¨ííêèèçççë±fddgf[U|¸ÇÏ‹W_cgikklnoopponkh]2<1.,/15:==>BENm¤xfDACITWOFDCPTGCAEPVVRHFHFJLMSfYgoN^llkjjiecbeijkifcbbG0>KNRSZ^gaPFBF]bb^[b\UQF52FXcdpP¿ÊÈsYaehikklnopoopmk^0;5.,+----.-./4EPu‘rr__^\YYZ\\]][]]]][[\\\]^]^`bbheSS_jjkjklkiebbbehjigecE,>GIOŠŽj^LL74584LLF`MGLA?EPIVxÍZz°Áͱc\bfhjkkmnonnpom].;60GE61.-,+++)+4Jzgs\]\[ZZ[[\[[YZ[ZZZZZZ[[[[\\[\dYA[mhijjklkkkhdbabfgihhE)?C>YϹhXVOKSQPMYTNOMLNJE>T^Xl¸X[}¹ÃÍŸ]_degijlmllmnlcU-9634KLJ>87+**,,<\F`rV[ZYYXYYYYYYYYYYYYXVVVUVWZ\]h[JipmkiihemkkjhebabcfhkE'777=?>@BDDED?Idke\[PIOŠ»ÂÌ‹X]acfhiikkklj_Q084318<>91..05;?Ork„sTXXWWWWXXXXXXX[fV[eq‰Ž—œ ¦©«¬ª¯¬ª©§¡œ‰xsjjkjgcaaachE%9=;?JRYfptncaabbdfgggfhkttmdSI\QMU—¼ÇÃqT\_bdfgijkljeX@4/0/-**+++++--)IqzqphWWWXXYXXXXWk˜¥®±±¯ª§¤£¡žœžœ˜˜›œŸ¥©¬Œ_ikikjgdbaadC#67537$54ITB538732/,,+*+--..15:BN\A%lodQLM†¼ÃÒ–Z`dfgggikjjjgdb`_^][Y[Z[]_dgVlpW}æÚÖë§eloqttttyuNIGGGFGHHHFDSG@@?>=======>?XhggfdcZOL9$54*#2==;<=<<;::8:<<;;:99;:91"imv\OLWœ¿ÊË~Zbeggghjjklkgedc`^\\ZZZ\^bdS^UF]Ë»´òÈiuvwy{|{ˆN?<<;;9999:=87578:988777779:D`fffddd\P>'40-.7554211121000010/.-++++*!)qpmgWOLd®ÃÐÃr^dfghijjllkjhgfcb`][[Z[^`aPRHFI[_Ù®r™­±¶¼Å©=;SeeedbbaZH3.**,/('&&$$$$$'&&'''('&'*+-,-/pklodRTgŒ¾ÉÔµg`eefhiikkkjiihhec_\\[[]^bQFHGJNT\mxªÑŒtokp¡e;=<468777CGCFL?6886544564433:B?Veccbaa_][ZUUTUWX]adfgfcb`^\[\]]ZXVVY^denrromeSLK\«ÅÌÒˆZ`bdegijiiijjkkifb_\[[\_UAFHJT[ah~ÀÀDA=?€˜Kccccbba``_^][[\\\\_dhiihfb__]^^[YXWXZ]bnusstxiTOJp¾ÈÒÃk^bdfghiihijkkkkhea^\\[]R>EHGPYal~¶Åbx¤¥ªv:?412>\S27C512112456BULIIC;32=AAZddggfcbbbbba`__^Z\`eilljfca_]\ZXWWXY[]nomkkkg\SMN™ÇÉÖŸZ`cefghihhikkkkigd`][[\N225Z~qC100010/256?BGPXWXS>17B>PdWIKLZdcbbbaaba`^\[_chkkheb^\[YXWVXXYZnfcfgac^SNKf¸ÄÏÍuZaghffgghhjjkkjhfc_]\]M8BIFJQ[ft£ÆZ~ìÜ”C==67;t‘u<:4//0/13:GGPS^\[\G23B=HcN232?bcbbbbbcdba_\\]agjhec`]\ZYXXWXYZlfgfsnibRKMM„ÁÆÖ±_^deddeghhiijkkjifb_]^M2@JFIQZ]moYA?«Ìx=>?AB;Ja`PBB<0.0.04DHQLRc^VOE42@?ALC6735_cccbccdeecb_^\\aghhie`]ZZZZYYYYolggqoriRKMLW¨ÄËÓ“`_bdeefghhiikkkigd`]^L.=IDq­¢gQ>DStGABBBB@A511/16BEQCRe`USH7/88<;8103Ebccccddeeeeeba_\]bfjljgb][[\[[ZZjrlipptre[OLJu¸ÂÑÉp[bdedfhhhhikkkjgfc__L0;GD}âà”D5CbHBCE;=SXP?=>>><:;;;867578;7:>@=;AF?@>:@qPKXbcccccdeedeffedb`]]`eikihc]\\\[\[twpnrpompqZLKOÁÇ×®_acddfhhhhjjjjiihfa_M28AHQ–º“VF?Q=TJ@94:645345567>BB?>@?9899889;;>FFAAEILQSUXZ^ehlljklkjklllkkjjowd{F\a`aaccddcccceecdeeecb`[Z^bfjjhe`\[[jfcbfjrrorr\LJXhš¿ÅÕª`befghjkjkkkkjiicVC)5044.+.49ELw¨X_Ž~XZmoqsrpomjggfccccba``a`_bddgj`muVV^^``bddccccefedefeedb^[]^bgklkhc_^bilhopllprpjRJMMX§ÂÈÓŽ]beffghjjkjjifd`UC)31736;>GKPTRXi‰}jbh`[ZXVTQPQPOLKLLKKKKLLMNNOSQRWZmsW’ÁĬiaccccdeffefeeffeb^\[]chllmjebxssptrkjlkhldKJLIoº¿ÎÊr[adeegghhhiiiggaH+00,*26799DRMjioo_UNROJHFFDCCCCB@@AAA@A@BBABBCEEEEFLjnyÎáÞŸ^bcccddeeeeeeeeffd_\Z\cgkmmkgy‚~qkkigijmkaMILLL“¿ÀÕªY\`bdfffgghhigeaU:,++*'$$$#,Q_pkUEFDCDC@?>=<<<<<;;;;;<;;;;;;;;=????ATmejollaccccdddeeeeeeffgfb`^\^bgknmkpurttlmglmmkkcYMLIb¶¾ÉÒ{X_bdffffgghgfda\N6346755542Hq˜v`D>><<=<<;:998788889988987889;;<<;:9:=Qbb_`_lkbcccddeeeeddffeedc`^\]bgkmmlvstuloihlllotiQJKL•ÅÆÖ²_beghhgfggggfdb]XPMLMMNNNNGIk‚dU=8::;:;;98888766547899988889;‘黾µÍÛïémFKZbde’›¡”¥šUVSN8K|ÑäÐÜìîÜh1Cfccbad¥Á½“bddddddeefddedddcb`]\\alklmqtuptljnljodPKJLLŽÉÉÕ½jdeghhhihhhffddcbba_][Z[YHF:8jäðéÓÀÐì¶j@26624s{~€oa****8\sk‘›ƒsU=0Agbaaa_æïæ˜abbcccdcccddcbcbbb`][\jpvsoprloijifjqaLKKLK_¸ËÌÔ•`egghhhhhhggffdddca_]ZZXHG48G¬¯¸±©Œl„Z75898cš¤¦§šVCCBBJ€p]QHB:553Bfcbaaa`¯°d_`bbbcaabccbbbbbca`\Zqwvpjhjnojjkvste`YLMNP‡ÊÊÑÈsbfghhhhhhgggfedddb`^[[XJG0387=BGKUf€£”L8?><9;Fdcccbbbbba``bcbbcddba`aabbabaabaa„|€yu{xkhpwwy|sd]RKKKKR¢ÉÇعdabddeefhhggfegfecba^XIO45::>>IOVi‚ ÑxgÑîéêëêëìíæáð×Y|ÅŸ†mZND<414Gedcccbbbbaa`aaa`acbbbbaaabbbaadcaƒ|t€ysqimvnihoibbaULLK]d¼ÄÌ׌]bcddegggggffggedda_Z8=BJQZpŠ¯ÛXÒ÷òòóññóñðíïÏV‘ÃŒdJ?:/,..1Dddddccbbbaa`abccbeedcbbaaccbabccc€xy€yrmsb`hr{rjlfYLLKU][›ÃÃ×¾e`ccdeefeeffggffddba[69;5/.37hv>,3Cbeddccccbaa`aaehifefedccbdcbaabcc‡{†z†z‡z‡z‡z‡z‡z†{…z†z‡z‡{‡{‡{†z†z†z†y‡y‡y‡y‡y‡y‡y‡y‡z‡z…|„‚‚}„xƒuƒtƒt„t†x‡xˆx‡x†y†z†x‡|‡|†z‡v‡u†w†z‡z‡{†{…z…y‡z†{„~ƒ€‚ƒ€ƒ€…y†z…z…y†y‡z†z†z†z…z†z†z†y†y†y…y…y…x†x†y†y†y†y†y†y‡x…x…y†{‚~{‚xƒv„v„tƒv„u…v†x†x†x…y…x†zˆ{†z„x…w†u„v„v…y†z†y†x†w‡y†|ƒ~‚€‚€€…z…z…z„z…y†z†z†z†z†z…z†z…y…y…y…y…y†y†x†y…y…y†z…{…z…z„z„z…z~‚{ƒv„x„xƒx„w…w…y…z„w„x…w†{‡{…z…yƒx„v„v„uƒx„y†x‡w‡w†z…{ƒ~ƒ~€‚€€…z…z…z…z…z…z…y…y†z…z…z…y†z…y…y…y…y†y…z…z…z„z†z…|„|…{…{…z„{‚€‚z„y„y„x„w…z…|„|ƒy„x†y†{†{„{„{ƒyƒwƒv„v„x…y‡z‡y‡z‡y…{ƒƒ~‚€‚€€€€†x…|„|„{…z…z…z…y†y…z…z†z†z…y…y…y…y…y…z…z„{„{„}ƒ~ƒ}„|„|„|ƒ~€‚|„y„x„w„y…z…|…{„z…z‡{‡|†{…z…z„y„v„v„x…x†y‡y‡z†z…y„|‚~‚‚€€€„{‚‚€ƒ~„|„}„}…{…z…y…z†z…z…z…z…z…z…z…z…{„}‚}~‚}~‚ƒ€‚ƒ|„z…y„w„y…{…|‡z†z†{†|†}…|…y…y…x„w„v…x…z‡{†z†{†xƒ{ƒ~‚‚€‚€€€ƒ‚„…ƒ€€‚ƒ„|…{…z…z…z…z„|„{†y†{…{…|„}‚€€€€€€€€€€‚„}…~ƒ„~„{…z…y„w„w„x„y†z†z†{†{„{…|†z…y…w„w„w…w†x†y†{†{†y„{ƒ~~‚‚€€€‚„„…~‚€€ƒ~„}…|…{…z…z…zƒ}„|„{„~‚€‚€ƒ~ƒ~‚€€€‚~ƒ}…|…|…~†|…z…y…w…w…xƒwƒw„y…{†|…|„{„{…{…y„x…y…x…w†u†v†y…y…yƒ|ƒ}~‚€€‚‚‚‚€€‚€ƒ€„„~†|‡z„}‚‚~€|„z…z…{†|…{„|ƒ}ƒ~„}ƒ}„|…|†z†z†|†z†z…y…x…w…z„x„y…z…z†|…|„}„}ƒ{„z„w„y…y†v†u‡u†w…x…xƒ|‚‚€€€€‚€‚ƒ€ƒƒ€€€~€~~ƒ~ƒ~‚‚€„€ƒ}„z‡xˆw‡x‡y†y„{„{„z…{„{…y†y†x†y†{†y†z…z…y…x…y…y…y…{„{…|…}„~„}‚|‚zƒz„y†x†x†vˆu†v…uƒv€{~‚€€€‚‚}‚…~‚€ƒ€€€€€‚~‚}„{†|‡z…{†{†y†y†z†y…z„z„w†y„y„x†x†x†y†{†{†{…{…y…v…w…x…x…z…|…|†}…~ƒ~ƒ}ƒ{ƒ{…x†x…y†wˆv‡v…uƒw€{€~€‚~ƒ‰{„€‚~€€€€‚ƒ}ƒ~ƒ}ƒ}†}…„€ƒ‚‚„‚……€……€ƒ€z„v‡v‡v†vˆwˆz†{†|†{…z…y„u…u…v…x…z…|…{…}…„}„{ƒyƒy…w…x†y†y†x†x„zƒ|‚~€€€~‚~ƒyŠ{€~‚‚~„~„ƒ~ƒ}…|…{†„Œ}}Ž}‹€Œ€~Ž~}|‰x‡vˆu‡uˆwˆ{†|†}„{„y…x„z„|„z†z…y‡{†|…~„~„}„{„x…y†x…wˆw‡{„z„{‚}€‚„€€~€|‚|„‡…‡€~~€‚ƒ€‚€„€…€…„z‡z‡ƒƒ‰~ƒ}€|ƒ|…~…~†|‡|‡|‰}‹}|„t‡u‡uˆwˆz†y…{…y„x„z…|…{†y‡{†z‰{‡}…~…~„„~ƒ{…z‡y‡{†€‡ƒŠ„‹„†ŽŠŠ‹ˆ†Ž…‹‡{†ˆ‚…‚ƒ…~‡{‡xˆxˆ{‹~…‚}‡}†„†|‚}€|ƒz„zƒ|…x…x„~ˆ}ˆ{‚tˆtˆu‡v‡x…w„z„yƒy„z„z‡y†x‡y‡zˆ}†~…~„ƒƒ~ƒ|„y†yˆ~†…”‰Ÿ‡œ‡šŠ—Œ—‹–‹–Š–‰—Š–†z†€‡‚ƒƒ‚ƒ…~…~„}„}…‡…„ƒ…‰{‰}……z†x†z†w…z~‚†~ˆ|‚€wˆtˆt‡t‡x…z„z„z„y„z„z…y‡x‡x‡{‡~†~„…~ƒ~„}…y…u†x†‚‰„ƒ‚~|ƒ|‡zŠzŠz‰z‹y‹yŒyˆ€xŠ€‚‚‚‚ƒ€‚€€€€‚€€ƒ€€ƒƒ…}‰{‡~‚„†{‰xˆyˆy†|~„„‰|ƒ~y†wˆx‡u†w†z…x„y„{„z„z…y†w‡yˆ|ˆ}…}„{ƒ{…z†w„sr€w„…‰‡‡|ˆ~ˆ~†|‰z‰{ˆ{Šz‹zŒ{Š|z‹‚‚‚‚€€‚€ƒ‚‚€‚‚‚„ƒƒ†}‡{†}…€‡|ˆ{‡|‡|…}†„Š{…~~ƒ|†}…z„y„y„zƒ|ƒ|ƒ|„{†z‰{‡z†x†t‚qj}oq}u}uu€|†ˆŠ}‹z‡‡‰{Šz‰|‡}ŠzŠz‹zŠz‚ˆ„€„ƒ„ƒƒ„„„ƒ‚„ƒƒ…‚ˆ~‡}†}‡}ˆ}‰~‡‡~ˆ~…‚†€Š|Œ}ˆ€‚ƒ‚ƒƒ‚€‚€‚€ƒ€‚‚ƒ„‚„~„|„x†u‚u€xx€y‚x¡y²“‡Š‰zŠz†~ˆ~‹y‹{Š|ˆ|‰{ˆzˆzŠx……‡~‡‡…‡ˆ}ˆ}‰}‰~ˆ}†€…€Š~{Ž|Œ}Œ}Œ|Œ|Œ|‹}Œ}‹}Œ|Œ}|Ž}„‚‚€„€„€ƒ€ƒƒƒ€ƒ„„€„€…€†€„…‚ƒƒ‰~…|™z«š‡‘‰„‰€‡ƒ‡…‡ƒ†††‡…ˆ†ˆ‡‰‡‡‡‡‡‰{‰}ˆ~‡~ˆˆˆ}‰|Š|Š|‰}‡}{ŒŠ€‹|‹}‰}ˆ}‰}‰~‹}ˆ}‹}Œ}Ž}}†ƒ€„„††€„€„„€ƒ‚ƒƒ€„†‡‡€†€ƒ‚‚‚„Ž‡¢Š§‰ªˆ¦Š£‹§Š«‰«‰¬Šª‹§‰«‰²‹¬‰{‰|‰}ˆ~ˆ~‡ˆ‰}‰}‰}‰}ˆ}‰~‚Š‰‡~ˆ~ˆ~‡~†€†€‡~‰}Ž|‘y’y‘zy‘y‘y’y“{“z{†„ƒƒ€‚€€€‚„€†€‡‡~…†—Á€È|Ê}Ç€Æ{ËyÍyÍ|ÊÆ{Ì|Ìˉ|‰{‰|‰|ˆ}†~†‡€ˆ‰~ˆ}ˆ~†ƒ€ƒ„‚ƒƒ€„…ƒ†…‹}|Ž{}}}€~Œ|}Ž}{‰}ƒƒƒ€‚€€‚€‚€€‚……„†˜€§z¾vÆsÎtÑsÒrÔrÓqÑsÐsÏsËw½z®Š~Š}‰|‰|‰}ˆ~††€‡‡ˆ†„€„€„‚„ƒ‚‚€‚‚ƒ„„„‡‹|„|||{~}…}‹|ˆ|~}|~~~~‰~„ƒ‚‚‚€€€€€ƒ…„¦‚‡€†~‘}•|™}˜~•~’~Ž€‡€~ˆŠ‰}‰|Š}Š}‰†~††€‡…ƒ€„€‡‡†ƒ‚€‚‚‚ƒ…€‹|„|~}~~~†{‹w‰x~{z€}€~‡|ˆ}…‚‚‚‚€„{µzº{¢~Ž‰~–~Š€€€‚€~…~™™€”y­ƒˆ€ˆ~‰}Š}Š}‹~‰~††€…€„‚€ƒ€††}„€ƒƒ‚‚‚‚‚ƒ…‰|‡|‰~‹‰~‹z‹vŒvˆz‡‡€ˆ}ˆ{Š|‰}‡~„ƒ€‚‚ƒƒ‚ƒ‚ƒx¶rÑrÑuÈvÂuÇxº~–€Š{­vÇvÊsÌqÒ€ƒ†‡ˆ‰}‰}‹}‹~ˆ~‡…€ƒ€‚€‚‚ƒƒ‚ƒ†‚ˆ‚ˆ„†ˆ‰{†|ˆ|‰|‰|ˆ{Šzy‹|ƒ‚ƒˆ|‰|‰|‹|‰~‡~…€ƒ‚‚ƒ€‚€‚‚‚x³qÎqÏsÍuÁx³~~‘~‹}”z¨wºrÌrÐ}„ƒƒ‡€‰~‰}Š}‹}‹~‰~†ƒ€€‚‚ƒ‚‚‚‚‚‚„‰}‰|†|…|…|…|„|†}‰|…}ƒ€ƒ„~…}ˆ|‹|‡~ˆˆ~‡~…€ƒ‚‚€€‚y­rÏsÐrÍy§€‡…~€‚€ƒ€‚‚€ƒ}Œv¼sÒ|†|„‚†€ˆ‰~Š}‹}‹}‹}ˆ~„‚€‚‚€‚€‚€‚‚ƒ€‹{‘yx{zzzŽ{ŽzzŽ{Žyy‘y’xŽ{††~Š~‰~ˆ~†ƒ€‚€€‚}y¿y³w¹|‹‚€ˆ‰€‰‰€„|œy«}‘}ˆ~‚ƒ‡€ˆ‰}Š}Š}‹}Š}†„„‚‚€‚€‚€…€Œz•v–u•v”v”v•v•v–v–u–v•x•x•w•w‘{Š€‡~ˆ~‡~ˆ~ˆ~ˆ~†ƒ€€€‚‚„€‹ˆ~~ƒ€‚~€‚‚~ƒ~„|„~„}ƒ}‚ƒ‡€‡‰~Š}Š}Š}‡‚……ƒ€ƒ€ƒƒ€‡{Œ{Žz‘vwwww‘y‘y‘y‘zyyy‘z{zyŽyŽz‰}ˆ~ˆ~‡~ƒ‚ƒ‚€€€€€€€€€€€€€€€€v„~„ƒ}ƒ‚…‚‰€‰~ˆ}‰}ˆ}‡~„€ƒ€„ƒƒ€ƒ€ƒƒˆ}‹|ƒ€‚‰}ŽzyŒzyy’z’y’y’x’y’|“{’y‘y‘z‘y“zŽ|ˆ~ˆ~‰~ˆ~†~„‚‚ƒ„„„„€„€„€……„€ƒ€ƒ€o{ƒ€‚‚~‚‚‚‡€‰~ˆ}‰}Š}Š}‰}ˆ‡…€„ƒ€…€„€†…~…}„ƒ‚‰}ˆ}†}‰{Ž{||Ž{Ž{Œ{Š}Š|‰|Š{‹{‹{Œ{Œ{‰|ˆ}ˆ}‰}Š}†€€€‚ƒ€†‡~‡~†~†~†~‡~†~‡†„‚€i{m~|}Ž{‹‚ƒ‚ˆ‰~Š~Š}Š}Š|Š~Š‡€…€„€†€…€„…„‚‚†……€ˆ|Š|‹|‹|Š|‹|‰|‰}Š|‹z‹yŒy‹y‹z‹{‰{ˆ}ˆ~‰~‰~†‚€‚‚‚‚‚€€€€‚‚‚‚i}i{r{‡}‡~‚ƒ†‰‰~‰~Š~Š}‹}‹}Š†…€…€…€„„~…}„~ƒ€ƒ€‚ƒ…€ˆ}‰|Š|ŠŠ}‹{‰{‰{Š{ŠzŠz‹{Š{Œz‹zˆ|ˆ}ˆ~‡~††ƒ€‚ƒ‚‚‚‚€€€‚‚‚‚‚‚‚kj|l}w€ƒ~ƒ~ƒƒˆ€‰~‰~‰~Š~‹}‹}Š}ˆ~†€„€„€ƒ€ƒ…~„~‚ƒƒ„€ˆ~Š|Š|…†€Š|ŠzŠzŠ{‰|‰{‡|ˆ{‰zŠz‰|‰}ˆ~‡~†‡€‡€‡€†ƒƒ€€€‚‚‚‚€„€„ƒonls‚„€‚}‚}ƒ„‚‰‰~‰~‰~Š~Š}‹}Š}‡~…€…€‚€€ƒ€ƒƒ€„€…€…€‡}‰|‰~„€‚€ˆ|Š{‰z‰{ˆ|‡{†{‡z‡z‰zˆ|‡}‡~…†ˆˆˆ€‡‡…ƒ€‚€‚‚ƒ…€……oƒn€j|m€y„€‚~‚|ƒ€‚†Š~Š~‰}‰}‰}‹}‹}‰}‡…€ƒ€‚€€‚€ƒ€…†€‡}ˆ}ˆ~‡}‡|ˆ{ˆ{‡|ˆ{ˆ|‰|ˆ{ˆ|‡|ˆ|‡|‡~‡…€†ˆ~ˆ~ˆ~ˆ~‰~ˆ~‡~…€‚€ƒ†€‡€‡€llizh{k}y€ƒ}‚}‚ƒ€‰~Š~Š~Š}Š}‹}‹|Š|‰}…€ƒ€€‚‚€ƒ€‚†ˆ~‹}Š}‹||Œzz{Œ{zŽz{{zzŽ{{{‰~†ˆ~‰~‰‰‰‡~ˆ~ˆ~ˆ~…‚€€ƒ€…†nn~izfyezt€„~“|ˆ‚†Š~Š~Š~Š}‹}‹|‹|‹}ˆƒ€€‚€ƒƒ€‚€…~Š|yy“x”v”u•u•v–v•u–u—u—v—v—t—u—u—vz‡~‡~‰ˆ‰‰ˆ}ˆ~ˆ~ˆ}ˆ}†ƒ€€€€‚€ƒ€l€k~gyfxgym}|„€Š~…}‚€‡‰~Š}Š}Š}Š}‹}Œ|Š}ƒ€€ƒ€†€…ƒ€ƒ{’w”v—v—u–v–v•v”w“x“w“v“x“x”x”w•w–w”wŠ}„ƒ†ˆ~ˆˆ~ˆ~ˆ}ˆ}‰~ˆ}‡~‚€€€gh~gzgxhxhzq~‚€‚}‚}‚‚ˆ€Š~Š}Š}Š}Š}‰}‰~…‚‚ƒ€‚‚€„z‘y‘yyz|Œ|Œ|Œ{‹}‹}Œ}}Œ|‹|Š}‹}‹}Ž|‹‡††‡~ˆˆ}ˆ~ˆ~ˆ~‰~ˆ}‰}†~ƒ€€‚€ig~gzfygwhxhyu€ƒ€‚}‚€ˆŠŠ}Š}Š}Š}‰}‰}†ƒƒ‚ƒ‚€†Œ~Šˆˆ‚‡‡~†~†~†~…„€…„€„€…€ˆ„‰ˆ‡…†‚‹‰‰}‡~†‰~‰}ˆ}ˆ~ˆ~ˆ~‰~‰}ˆ~†‚‚€‚jh~gzexgxiyhzrƒ‚‚~‚„€Š~‹}Š}Š}Š}Š}Š}‰}ˆ~‡†€†ƒ€…ˆ€‚ƒƒ„†‡ƒ‡ƒ‚ƒ€€‚ƒ‚‚‚€‚ƒ‚…†‡‡†‡…„‡‚ˆ‰~ˆ~‡€…‡~ˆ~‰}‡~ˆ~‰~ˆ~ˆ~‰~‡€…€‚‚jh~g|exg{i{hzo~}‚€‚}‚€‡Œ|Œ|‹}Š}Š}‹{‹|Š}‰~ˆ‡€„€‚€ƒ‚…†…ˆ†‚ƒ‚ƒ‚‚€‚ƒ‚„ƒ…‚…‚ƒƒƒ„††‡†‡„„‚†‰~‰‡‚ƒ€‡‰~ˆ}‰~‰~‰}‰}ˆ}ˆ~‡ƒ€j€j~j{h{i}h~h~ku€‚‚~‚ƒŠ}Œ}‹}Š}Š}‹|‹|‹}‰|Š|‡€ƒ€‚€‚ƒ€…‚…‚‚‚‚ƒ„……†„†…ˆ„‡„‡ƒ…€€€‚‚€‚€…‰~ˆ‡‡†€ˆ‰~‰~‰~‰~‰}‰~‡~ˆ}‰~‡l‚l‚jjnƒk„iƒj‚q~‚‚‚„~„†€Š~‹~Š}Š}Š}‹|‹}‹|‹|ˆ~„€ƒ„‚‚€€€€‚„‚‚€€€€€€‚€‚€‚‚‚€‚€‚‚…€‰~‰}Š~ˆ~‰‰ŠŠ~‰~ˆ‰~‰}ˆ}ˆ}‰~‰lˆl‰m‰o‰q‡p…m…p…s…|‚€~™}Ž}‰~Š}‰}‰}Š|‹}‹}‹|‹|‰}…€ƒƒ‚‚€‚€…€…‚„€„€„†‚‡ƒ†ƒ€ƒ‚‚‚‚‚‚‚…€‰~‰}‰~ˆ‰ˆ‡€‰€‰€‰‰~ˆ~‰}‰}‰~‰~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍǽ²¯ ’€|sfiyjiinmrcgaU]a[[d]S\b^`WQPUZY`d_fSTWVUWTTZUQY`^[XTMD>8<:522@1ÎÎÏÏÏÏÏÏÏÏÎÎÎÎÎÈÂÆÂÊÎÏÎÎÎÎÎÎÎÎÍÎÌÌÌÌÌÍÌÌÌÌÌÌÌÌÌÌÌÍÍÍÎÎÏÏÇ´™¡–s~xr^]^r|n\_nkh[YZ[^YXUN^g_\SOOQXW]hjfPU]aYQPLQR[`b\VNNKA@76642086ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÇÁÅÀÈÌÍÍÌÍÍÌÍÎÎÍÍÍÍÌÌÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÎÎÏÎÍ版tklmlmnrtzy^b_bdZ[[\\]TSV\dY[ZVUTTSWZidRPX\ULNMRR]c`aZPFC?;742110-1ÎÍÍÎÎÍÎÎÍÎÎÍÍÍÍÈÃÆÁÊÍÌÌÌÊÊÊËËÌÊÊÊÊÊÊÊÊËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÎÎÎͶ—zlquxs~|ada]fW`cd[[WUaZTYeeROSVXTMLVNYgROSXYPNSOPY`^_WTUNF?;74320--ÍÎÍÌÌÍÍÍÍÍÎÎÎÎÎÉÀÁÀÌÏÎÎÎÍÍÍÍÍÍÌËËËËËÊÊËÊËËÊÊÊÊÉÉÉÇÉÊÊÌÌËÊÌÀ’…q_k{kdg^``WiaXXUTM\`^`nl\POT\TMJSQQXTY[YUNPQW]_XXYQOYNG=>@;53/-,ÌÍÌÌÌÍÍÍÍÎÎÎÎÎÏȹ»ºÉÎÎÎÎÎÎÎÎÎÏÎÏÏÏÎÎÎÎÍÍÌËÊÌËËËÊÊÆÊËËÌÌÌÈÆĦŠxymf\jnoc^`]U\_UR[SSPYeeefbgUPUYSPSTRQYQX\aURTRZZ\XYTSOPOH>?=7640/3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻżÇÎÍÎÎÎÎÎÍÎÏÎÍÎÎÍÌÍÍÍÍÌÉÊÍÎÎÍËÈÅÊËÌÏÏÌÇĵ¢~yoeUQa]Y]`^]b_WURKKUY`aci`ZSOOPNJSPSP_KUUZ[WZZ^Z[XSQSOSJEC?B;530.3ÏÏÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ÌÁÆÍÌÍÍÍÍÍÍÍÎÎÍÎÍÍÍÎÍÍÌÌÉÊÊÌÊÅÂÄÁÆÈËÍÍʽ¼«€{qURQPLUVnncbd]YND@LYPZba^VTQKLKIKIQLXNRUVVW[[ZZ]YSOSNVMCH@><3/.-,ÏÏÎÎÏÏÎÎÎÎÎÎÎÎÏÅÀÊÁÄÍÌÌÌÍÍÍÍÍÎÎÎÎÏÎÎÎÍÍÌÊÈÇÅÈÁ½¹Ã½À¾ÆËÈÄ»­ž§ŽzsaUXYWfh[mef^VURRYXcUO[\SOVXSKHGOQQXXRQY[UTWWUNO[VTXRWV>56120.---ÏÎÓÙØÑÍÍÍËÊÉËËÌÃÀÈÀÁÌÎÎÎÍÍÎÏÏÎÎÎÎÎÎÏÏÍÎÌÄÂÁ¾Ãº¸¬À¸¾µ¿Æ¾½¶¥†ƒ}p‡ye[`Z\diVm]S[TMTT^\UOPSWQQQSWMKLSRRYg]NVXVWUUYQJ\ZY\\LB<7531.....ÎÛêíîçÕËÊÿ¾ÁÅÉÂÁÇÀÀËÌÍÍÍÌÍÍÎÎÍÍÍÎÎÎÎÍÍÌÅÀ»³½¸¯¢»²½±µ¾´¼´–…}}nfcbbaTZaZTcZRY^ORSW]VVTNNMKKLRXVNRPQPbZLY]YQLMXZQVXPLIA8=<:73.---.ÚïÌš­áë;·²±·ºÀÃÄÉÅÂÊÌÌÌËËËÊËÌËËËËËÊÉÈÅž±¬¨¬°¤¨­¸¯µ³®¬¡twtllSbeZYbXQ]i\X_WKPRT\abUQMLLNSMSUJOTNS[^Ya]SNKMYXQYPOXJCD=;;973/...îÂwglžäÛ¶¯­®´³¾ÅÇËÈÄËÎÍÍÍÍÊÇËÌÌËËÊÊÇÃþ¿± ›™£¥˜–¡­­«®§¨š„ulicjl\TVVb_VW[XW_TSWTSUU_WPSONUVQTUWQPXPSY_X^WY[W]`TRXWSP?=E:866763000Þ„ywrŒÅ踬ª®±±¿ÁÅÊÈÁÊÎÍÍÎÌÆÁÉÌËÊÊÈÁ·°³´»«Ÿ”Ž™›™‘Ÿ³®«ž™œvgbeUg_PLHOWaXPQ^h^`n^^c^TVNPOOOQVRUSTXR[OO_^]gXc_kf^RPLLIK@>@7744564./2½€‹€w†½æÀ©©¯°³»·ÁÉÈ¿ÈÎÍÍÍÉÁ¸ÇÌËÇú§š™¡£˜œ•‰”™‘›­«œ‘…vddh[[UPRSQY``\hm^OT^NVpp[QOKMMJFJMNONLPYTX_TRWW`g[YUPILFEDCI?7534554/16¬ƒ…€|ƒ¸æÉ£¥°²µ¶²¾ÈƸ¿ÊÉÍÌÊ¿³ÄÊÈ¿´§™œŸ”–”‰ŒŒ‚–”‹‰‘—Ž‰ˆŠ„~vtpbWTY[XOX\VT[g]QP^gf`_]TTMJIGIHGEGOKS^[V[VO[iffV]TLVTHI?>@9754334427>¬‡…‚„Š¹äàÎÈ´®®¬«·Ä¹«°µ³½ºÈ¼±¿Ã¶ª ¡™š ““Ž…ƒŠŠ~Š‹…ƒƒ€€yvoaWWUU]\UXUSXgQOO]gdRR[YSMLLIKHFKKJSU\`QYQQkqcf_a]T^YVUG<;;86543365;?ƒœ·Œ‚»âíîèÈǪ¡¡©©ž  ¢¡¡§·®¥¢©šš—¡™˜Ÿ‘”…ƒƒ„y„Šˆ„||}~vqnjdXQYg[QTQT^ZMW\]^XQRQRSMJPPKNRRGDLNT^OQM_a`^Yfi\PT]YFTF<<<9566589<=—…»”†ºáëãÞâí¸Ÿ¢°¢ž ¤¬§¡¢£Ÿ“”“›™ š’™‹‹‡†‚}‚‚y€ˆ„z|yxqhieZVZQV^XT\Y\[VY[Z][UOKWTNMPJADEFA@EIGPIQSX[aYap[`PZ^[IDC@?<85677:>@?¶t£š‹‘»âíͺÝêÆ·Äƹ¼²µµÄÁ»ª  •Œ–š–‡‹Œ‹Š‡…€‚€z~ƒ~|~vxwsqmlgY\ecbWQSWW^\cWU\SW_[VQIOMNJBCDA?FFEBRGTX\W_ba\RbcVVVOKHDF965679>=>lnlt«ßííììëàØÉÂþº©£–‹‰Œz~œ¤¤¤ž˜‘‰„~|xxz~„‰–—•‚|srv{ytokg]SMJWV[RUW[ZUGY`Z]YY`WKLUPNJMONQTUYWZmd[[[ZWYZRVLNK>984d„96988>><†v|„oETœ¶¶¸¶²¦¦ƒrzlPRN;332PWVwtikskig^N]l\SRY[[SPWWYc_YV[YUNHEAA?><78>DHJ\hXTU\Š„‹„xrpmjihedeghhintwhXN•wgVWª¥§XdK?Me\aG66;5j—±™|ˆXaBj’Š}uri¢ {™}MQPUJ64BrJsumimihcc\fncYMR[ZURSYV_ZV\fYPIBB@ACA@>CHC>JZjl^J]–WRRSSQSMHIGEEDEGMRRRRTMMZÑlLDdîã¦W\a^]cbfhe`YTj¹ôÍy„Tt736439KMPRVVPOI\sb:8MXg{pfgklga\[V\[OOVUMNS][XX\_\SUNGABGIB>BRQIW]^iŒlNc|Ihsx~ƒ‰u?877;==BQY[]\]rN\¡bKD]·ÂÄ¿»¼¿ÄÆÆÇÇƽ»Âȵ”|x`q15:IK=MOOMMLLMI[|_@6}§uTwpedhsyhUUVSRSNTXPOZ\ZV[a^YNRTQIFKQJ<>LUNglkw„gW~lp©­°´´³«^;5:AmoKMIC>=A‚¡HA;9:<;CiRpRIKRŒÉÚàçèééèéçèêíêèáÙ³{€_ƒO6:Nˆ–ƒH;444@MJHR€‘S55;][c`a\[jdVNW[`ZYSMOXV[d``XPOUSME?79>{«B=?A@<7bF=7Moqqrslq{‡’Ž‡‹‘’“Ž—µ›€~|x}{mcmmcY\`_ZXYx eL=B@9a{}O:5346<;8=?@?;44Ebqppqrsuwwxxyy{{}~}n588_\>E>G:9BB?FKJIEC<=;672Srsttwzywutttvstuy~†’¡°´­œumllmomha[Z]_t—SGEIG?Y|~HB?73448@CCDCDA8?bpnljkmortuuuttsuxy|zF31->T<86789:75555567888779;;<>GH0:JWfhhhhkpruvvvvvtrqsrqpqu|‡–£¬°ª£”ƒvigcQXdtx‹GRuZGCD[N@IIA::;AGKJJJIF>=Puqmjijklnpqssqppppsvzvgs`;_@;::998887777778888888:;;CEBflijiihfeefijlnqtuuvtrpooooonorw‚“¦º¾§vTKVYisQEsS88:>ABGJNfopulR>>;:;;>Fzwsnlkjkllnpqpqqqpoprsu¤³JQ<:988888776666776677878:9;=^uggkjjjheddbccdgjnqtuwutsqmmnnopolks‰¤¸¼©…^]HVrZVODFNONNOSWXXYXUTRMII\irxxxtoljiiijlmnpppqqrrqo“§TI925876666565666555566323;NMOlcejjjhhgdbaabccccehkpsuwwvurpnlmoqpnkp|©‘²Šrwurjh]Q^nommmljiijlmmn^Yabdwwxxupkihggiklmnooppppm‘c^{eC355445566=>555652G^R_nv„´Õ¡ƒqˆo`‚ÜÞÝÝÜÝÙfbceOtÝÝÙÕÖÝÚnrTgefjmnnljhffeda``cfjmoopsiGISN^ÑÔÒ×äÞnA9yµDP¸Ïš9‚µNBQÍëÉÄafijmoprsttsqnkecbabbba;,-258,-049@ISbÎñìîíëìðØŽSlH[`diqu]ARjwW[˜² Ž{i]@UjXkifdccfhjhfda`__^\]_`bejdB@GKOPS\e ¹†mcU{枯‡ÄÉYansyˆgY„[ceijlnpqrssrpmhdbaa`aB-./28@I[u›«ÄñîñòññôÇ{WhG;666638>IjyXZL:7543;JCnRhmkhfecceghgd``_^\]\[\\`^D?FJNQVX[]^]dmtt¸êåéæã•qoeb`^a\Åy\dhjklnortrrppmgcba_aE.0025CZJGU`ÍÅ¿½´¶²j]_ID79:99875IXIE87;><89DNE=964435658cx^8465T_Xklmljgd``bdfecb`_____]\YC;DHKOUW]jx€…‡¿ÃÅËÏËÊÊË¡}vqf[¿Î¸eZadgjklnqqpqrplgc`aE5403>•Ë‰r€“¡•š¤©¯£“QgKOOITWPJKI934665DŽ¯’FFC8BePkgcglljgdbadghgedaaaaa`]B9CIKOSV\hrqss±îêäèæíìíó±igime\¨ÃЩ[\behjkmnpoqqqolgbbC75//0>SMMZŽ|PMNGBQNf\}whhlkjfbbdgijhgecaaa_A3AJLNQV\hkjonÁôîëììïñòø´ikhig\q³ÄГX^cgijklnopppookgeB76-,.14;>@BB>Dbƒ™™vJ8B@GSVSHE?TNC;9BMPQOGB=;@>;NcTš‚Z`lkjjiecbehkligcb`_@1ALORRU^hfbcaŠ»¼·²¯§£ŸœqJHQcg^K†»ÈÊwY`dhiklmoppoopnkgA58/++/014458<@Qoˆ’€pZKLLQURMKKMWPMLNQWZZXSSRRUW[]lRiXQikjklkifbbbehjjheb`EDABEA@>??@?78[e_dPKM„ºÁÍ‘X\adfhijkklmlbY;27607CEB43.+.268_NUtdVXXXXWXXXYYXYYYXYXXVTTTTUVVXjXRjjhffggfkkjjjgdaa`cfh9(===F^_]eicLBAELLMOPTVWXWeqohY^SMS”»ÅÇxT\_bdfgijlkkf[B33110...-,*-/234bt‡‚fWZVWWWXXXXXYXX\`TW^htˆ•œŸ¡§ª©ª§¥¢ š”‚wrjjjjgdc``ad9'9;9;:;;:9755435677789???@?A\ffgdba\QK5'62)&6;;9988:988789877752334/!rpmgXPM_§ÂÎÊ{]dfghijjkkkigfeca`][[Z[]ab[UVLD€Å–Öñ’lz|‚‡‰ƒK??><;;:87@D6556987877766789D`eeedcc_Q8+3.,16/-,+))**)*(('''''&&%%%&#pklneTVg¹ÈÓÀm_eefhijkkkjiihgec_\\[[\^`\NIIGMUY™Æ±¹º½Ä̯y;;:<=@ABCDWm]G9;:BF76566678@=Seddb`a_ZM:/++..++,-.----/0123343135:?ADknolhZNNNˆÂÆÔ©_`acefgijkjjjjjifb_]\[[\^_KEKGMQX]i‹Óª]UQNY]<>>FEDBBEFLt¡^:C??@54445556??F_dcaaa`]ZSHEEFIKOT[^]][YXYXXXXXWRPPSY`eossomfUMLU¡ÄËÓŒZ`cdegiiijjjjkkifb_\[ZZ]^JCKGNQV_mšáw1::9\œC?;577878GF@JSA6;;6443444433;A?Vdbbaaa`^[YYXWWXY[_cfggecca_]\\[YWTTV[_ntsstxkVOKh¹ÈÑÅl]bdeghhhhijkkkjhea^\\[[^I@JFOX^dn“Úˆ@EEK‹Š9@626;:96EJ<635557525GHB94326A=Kbcbaabba`_^]]]]\[[^chjjheca_][ZYXWWWWYonljjif^TMKÆÊÖ¡Z`bdfghhhhikkkkigd`][[[\E?HFKS\eqÑšf¤ÃÀ¯j9@322BWP49F711212455DXMIG?822>>AZccfffdba``a```_^\[^dhkjgec`]ZYXXWWWXXmdbfgac^SMK_²ÄÏÎwZafhffgghhjjkkjhfc_]\[[@=FFHNV`m†É•]ÊöëªL<>224W~o92311100146=AENVUTM;18A>QcZLMN\dbbabbbcba_\[]agiigea][ZYXXWXXYlfggsnibRKMM}¿ÆÖ´a_dddeefhhiijjjjifb_][[<;GHHMV_kèO¾÷Ù‡?>;35?{†‡l97200//039GFOS_\\]G24B=HcO121?bcccbbcdddb`]\\afiihea][[ZYYYYZolfgqoriRKMLS¢ÄÊÓ˜`_bdeefhhhiijkjigd`^\\96FIHQ^]^ra?^ÃÄk>>adcccdddddeecb_]]`ejkjhb^[\[[[[twpmrqolnqZLKNŒÁÆÖ±`addefhhhhjkkjiihfa_]:5?HI©éÎmA7HYIHKF9AT[U@@@@?=:;:975669:=8<;@L?DR_cccccddeddefeca_]\^chjjhb^]\[[[pplhlnifikeLJK]ªÂÊÖŠ]cdefhiiijjjkjjigdb_=4:EG\–¢rUACR7H>@76=857545566=BA>>?>8788768::>GHD@?7Ujbcbbcccdcccccddedca_\Z]cgijhc_][ZYpmmdilospojRIKKw¼ÁÐÅn_edfhijjkjjkkjjigda:-6>EHIT`iwš¨cMB4777889:;<<<@EC@@A@@ACDDCBAAABCBmIAda``accdddddddddefecb`\[^bfjjifa][[hecbgirsoss`MJXg“¿ÄÔ­bbefghjkjjkkkkjjhd]7-45:865869:\ººaavH>?ADFILOSVX]cggffggghjkkihgejucxAZdbdaaccdddddeedeffddb_\[^bgklkid_^fkkhnpklpsplUJMMU¢ÂÇÕ’^beffghjjjjjkihf[O3.3/90-,29BHU¥KktLXimprrppomklkgfgfedcccaaefgilbo‚rP„Íйoaccccdeefeffedeec_\\^chlmmjfcyttotrkjlkhkfLJKIi¸¿ÍÌw[adeefghhiiihfc]R7,4260;>CJJOO]ˆMs‰~hfkda`][XUTTTTQPPNNONMNNNPPQVUTZ_qqg¼ØÕŸ^bcccddeeeeeeeeffd_\[]cgkmmkgz‚~pkkigijnkbOJMLKŒÀÀÓ±\\`bddeggghhihgfZ;-0/+.02344GNPz]xsdWQWRMLIIFEEEFDCCCCCCCBCCCCCEHGHIHPnldhefabcccdddeeeeeeeggfb_^\^bgknmkptqttlmglnnlkf[NKI]³¿ÈÓX`bdfffggghhhfc]J2)+**$#"##4V_yjTJIEEGDBA@?>>>>=<<<<=<<;<<<;<=>??@@CTmf`a`oobcccddedddcdeefedb`^[]bgklmmvsssloihkllotjQJKKŽÅÆÖ¸bbeghhgfgghgfec_WC4779:96523Q|”s]D@?==>><<;:99899999999978889:;<<<;::>Ugcdkxdccbccdcccbcccdddca^[Y\agkmmunnnkljgjimmmhSJJK`·ÆÍÖ‰]beghgfggggffc_\UPMMMNONNODNv…cT=:;;;;;989887766646887878878;;<>>JZ]J?Qdca][acbbccbbcccdddddddca_][\bgjnkmvsnjmnmfgjjjTJJMKŠÆÇÓ¼b]_aeeeffgggfda^\XWVVUVVVXMNhmTC@K@:9:99;:::=>>@H]MHGFDCBCDDId—µ­š£Å–8Gdbba`afd`cecbcdeddeeeeeedb`\Y\cgimnqmmnqsplilmhUMKLK]´ÈÌÖŒ^eegghhhgghgeca`^\[[YXXYZOLT[L{—¡ŒŽœ“qXJJKHGHLIVŠ[OJQQONMMJžèêÚŸÅêš3Bccbad¦ÇÅždddddddeefddedddcb`][]blklmqttpskknljpfOJKLK…ÈÉÔ¿ldeghihhghhgfdcba`_^\ZZZ[OKEIB´Ü·¸¿áçèÑ\IM[adf‰†™Žœ”~]^[T>:>†‹…‡uf*+*+4Vmx©´¦–ŠiB1;dcaaa_ˆ©¦˜d_`bbbcbabcbbbbbbca`\Zpwvpjhjmoijlwttfc\MMNO€ÉÉÐÉubfghhhhhgggffeddcb`][Z[QIA5:V©ÈÉÍÉÅ¢mwH11237fŽšž W?@@ALwŠkZRJB:453JOWl…¦ÒlrÙíèêëëëëìäÞïÕ[xÀ™‚kYNF>736Ededcccbaaa`abdbadedcbbbbccbabccc€~xv€ysnr`^fr{tkjeYLLJTZW–ÃÃÖÄi`cccdefeefffeeddcb`_RDE8F?:?CKRZq‰¬ÑwaÖîéêëëëëëìëïÕWРvXF>73/-0Cdddccdcaaa`aaejkfefedccbdcbaabcc‡{†z†z‡z‡z‡z‡z‡z†{…z†z‡z‡{‡{‡{†z†z†z‡y‡y‡y‡y‡y‡y‡y‡y‡z†z…|„‚‚}„xƒuƒtƒt„t†x‡yˆx‡x†y†z†x‡|‡|†zˆw‡u†y†z‡z‡{†{…z…y‡z†{„~ƒ€ƒƒ€ƒ€…y†z…z…y†y‡z†z†z†z…z†z†z†y†y†y…y…y†y†x†y‡y†y†y†y†y†y†y…y†{‚~{‚xƒuƒvƒuƒv„u…v†x†x…x…y…x†z‡{†z…x…w†u„v„v…y†{†y†x†w‡y†|ƒ~‚€‚€€…z…z…z„z…y†z†z†z†z†z…z†z…y…y…y…y…y†y†y†y…y…y†z†{…z…z…z„z…z‚~€‚{ƒu„x„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx„y†y‡w‡w†y…{ƒ~ƒ~‚€‚€€…z…z…z…z…z†z…y…y†z…z…z†z†z…y…y…y…y†z…z…z…z„z†z…|„|…{…{…zƒ{‚€‚y…y„y„x„w…z…|„{ƒy„x†x†z†{…{„{ƒyƒwƒv„v„x…y‡z‡y‡z‡z…{ƒƒ~‚‚€€€€†x…|„|„{…z…z…{…z†z…z…z†z†z†y…y…y…y…y…z…z„{„{„}ƒ~‚}„|„|„|ƒ~€€‚|„y„x„w„y…z…|…z„z…z‡{‡|†{…z…z„z„v„v„x…y†y‡y‡z†z…y„|‚~‚‚€€„{‚‚€ƒ~„|„}„~…|…z…y…z†z…z…z…z…z…z…z…z…{‚}‚}‚~‚}~‚‚ƒ€‚ƒ}„z…y„w„y…{…{‡z†z†{†}†}†|…z…y…y„w„v…x…z‡{†z†{†xƒ{ƒ~‚‚‚€€‚‚„†~ƒ€€‚ƒ„|…{…z…z…z…z„|…z†y†{…{…|„}€€€€€€€€€€€‚„}…~ƒ„~„{…z…{„w„w„x„y†z†z†{†|„{…{†z…y…x…w„w…w†w†y†z†z†y„{ƒ~~‚‚€€€‚„„…~‚€ƒ~„}…|†{†z…z…zƒ}„{„{„~‚€‚€ƒ~ƒ~‚€€‚~ƒ}…{†|…~†|…z…y…x…w…xƒwƒw„y…{†|…|„{„{…{„y„x…y„x…w†u†v†x…x…y„|ƒ~~€€‚‚ƒ‚‚€€€‚€ƒ€„…}†|‡{„}‚€‚~€|„z†z†{†|…{„|ƒ}ƒ|„~ƒ}„|…|†z†z†|†z†z…y…x…x…y„x„y…z…z†|…|„}„}ƒ{ƒz„w„y…y†v†u‡v†w…w„xƒ|‚‚€€€€‚€ƒ„~€ƒƒ€€€~€~‚~ƒ‚„ƒ}…z‡x‰wˆx‡y‡y…{„{„y„|„{…z†y†x†y†{†y†z…z…y…x…y…y…y…{„{…|…}„„}‚|‚zƒz„y†x†x†vˆu†v…uƒv{~‚€€‚‚}‚†~‚€ƒ€€€€€€~‚~‚~„{†{‡y†z‡z†y‡x†y†x…z„z„w„y„y„x†x†x†y†{†{†{…{…y…v…w…x…x…z…|…|†}…~ƒ~ƒ}ƒ{ƒ{„x†x…y†wˆv‡v…v‚w€|€~€‚~ƒŠ{‡~‚€€‚€‚ƒ}ƒ~ƒ}„}†|†}…}„„€ƒ‚‚‚‚‚€‚z„w‡v‡v‡vˆwˆz†{†|†{…z…y„u…u…v…x…z…|…{…}„„}„{ƒyƒy…w†x†y†y†x†x„yƒ|~€€€~‚~ƒ’zŒz~~€‚‚ƒ~ƒƒ‚}…|†{†…Š€Ž}~}Ž~}|‹~z†uˆu‡vˆwˆ{†|†}„{„y„x„{„|„z†z…y‡{†|…~„~„}„{„y„x†x‡wˆw‡z…z„{ƒ|‚€‚‚ˆ€€~€|‚|„…††ƒ~}€‚€…„~„~†~†€‚ƒz‡y‡€„Š†|ƒ|ƒ|…†‡~ˆ|‡|‰}Œ}€‚u‡u‡uˆwˆz†y…{…z„y„z„|…{†z‡{‡z‰{‡}…~…~„~„~„{…y‡x‡z‡}†€†…‡ƒˆ‡ˆˆ‰Žˆˆ‰†‰…‡…|…‰†ƒƒ…ˆ{‡x‡xˆ{‹}‡}‡z‡ƒ†}‚|€|{„zƒ|…z†x…|ˆ~‰|„u‡t‡u‡v‡y…w„z„yƒy„z„z†y†y‡yˆ{ˆ}†~„~ƒ‚~ƒ{„v†wˆ{†„‹‰‰ŸˆŠœ‹œ‹›Š›‹ŠŠœ‰—~ˆ‡‚„€ƒƒ„…~ƒƒ~„††€€„}„ƒˆ|‰}†€†|†x†{…x…x€€ƒ€‰|…~y†tˆt‡u‡x…yƒy…y„z„{„z…x‡x‡x‡{‡~…~„~„~‚~„}…x…t‡t‡{†„‰ƒ„~†}‰}Š|‰{Š{Š{Š|‹}‰€‚‚‚‚ƒ€€€€€€€ƒ€€ƒ€„…ˆ{‰}‚……~ˆw‰yˆw‡y€ƒ‚ƒ‰|…}|„wˆx‡u†w…y…x…y…{„{„z…x†x†yˆ|‡}…}„{ƒ{…x…wƒs€pq†‡…†{†}‡}‡|‰z‰zˆ{Šz‹zŒz‹zƒ…‚‚‚€€‚€ƒƒ„€‚ƒ€…‚„…~ˆ{‡}„‡}‰zˆ|ˆ|†}…„Š{‡}{†|…z„y„y„zƒ|ƒ}ƒ|„|†{‰{†z†x†t‚pj~p~q}u~tzt{uz‚…ˆ„‹zŠ}‡ˆ}‰z‰|‡}Š{‰z‹z‹{‡„€„€ƒƒƒ‚ƒ„„‚„ƒƒƒƒƒƒƒ‡†}…}†~‡}ˆ}‡†~‡~„‚ƒ‰|‹|ˆ‚ƒ‚ƒ€‚‚€‚€‚€ƒ€…‚„„‚„~„|„x…u‚v€y€yy‚xx¨}™…ŠˆŠyˆ}„Š|‹yŠ{ˆ}‰{‰zˆzŠz‰{‡~‡‡…‡~‰}ˆ}‰}‰~ˆ}‡€†€‡|Œ{‹}Š}‹|‹|‹}‹~‹}‹}‹}Œ||}†€‚‚€„€„€ƒ€ƒƒ‚€ƒ„„€„€…€…€…€…‚ƒƒ‰„}”z³~¨…”ˆ†‰}‡~‡‡~ˆ†…‚…‚‡‚‡‚‡€‡„‰{‰}ˆ~‡~ˆˆˆ}‰|Š|Š|‰|‡~‹{Ž}Œ}Œ|Œ}‹}‰}‰|‰}‹}Š}‹|‹~Œ~}‡‚‚€ƒ€…€†„„„€ƒ‚ƒ€ƒ€„†‡‡€†€ƒ‚‡ƒ‰†˜‰ž‰¡‰Ÿ‰œŠž‰¡‰¢‰¢Š£Š¢‹ ‰¦‹©‰{‰{‰}ˆ~ˆ‡€ˆ‰}‰}Š}Š}‡}Š}†‡Œ‡‰~ˆ~ˆ~‡‡‡~ˆ}Œ}Ž{{{Ž{yzzŽ{|Ž|‡„ƒƒ€‚€‚€„†€‡ˆ~…††„®‚¿‚Āû†¼‚Â~Æ}ÇÄ„¿‚¿Èlj|‰{‰|Š|‰~‡~‡‡€ˆ‰~‰}ˆ~‡€ƒƒ†„‚…€„…€…‚†…€ˆ~Ž|’z’{|‘|~‘}’{’{“{’yŒ|„€ƒƒ€‚€‚‚€€€ƒ…€…€†ƒ¨|ÂwËsÒrÔsÔrÕq×q×rÖtÔtÔtÎxŠ~Š}‰}‰}‰}‰~††€‡‡ˆˆ~…€„€‚‚ƒƒ‚‚€‚‚ƒ„„„†€Š}ˆ|‚|}ƒ~ŠŠ‚}~‚~‚}ˆ}†‚‚‚‚€€€€€ƒ…˜ƒ”€ƒŽ}›|¢z¥yª{«z¨{¥{ |šŽ€ƒˆ€‰‰}‰}Š}Š~‰‡~‡‡€‡€‡ƒ€„€‡‡€†€„€‚€ƒ‚‚ƒ„Š}†||}z~z~|Šx‹x{z~{~~…}ˆ}…‚‚‚€€}·}šˆ‡„~‚€}…Ž„…ƒˆ€ˆ‰}Š}Š}‹~‰~††€†…€‚€ƒ€†ˆ}†~„‚‚€€€ƒ€Š|‡|‡~ˆ€‡ˆ}ŠwŒu‡y„~…€††|Š{Š}†…ƒ€‚‚ƒƒ‚‚‚‚‚‚}tËrÏvÅy´w¾xº|ž‡‡~’y¸vÆwÀsÊ€ƒ†‡ˆ‰}‰}‹}‹~‰~‡†€„€‚€‚€ƒ„ƒ‚…‚‰‚ˆ„††‰|†|‰|Š|Š|Š{ŠywŒzˆ…‚ˆ}‰|Š|‹|Š}ˆ~…„€‚‚ƒ€‚€‚‚‚ƒ~}œsËpÏsÐtÊuÁy´|¡~‘~Ž}šz«w¾sÈqÐ}„ƒƒ‡€‰~‰}Š}‹}‹~‰~†„€€‚€‚ƒ‚ƒƒƒ„ƒ„‚ˆ~‰|…|…|†|†|…|†|Š{ˆ|€|†ƒ…}†|‹{ˆ~ˆ~ˆ~‡…€ƒ‚‚€€€ƒ~~–sÊqÏrÐuÀ|›ƒ†‚~€€€„}x«sÎ|‡|„‚†€ˆ‰~Š}Š}‹}‹}ˆ~…€€‚‚€‚‚‚ƒ‰|Ž{Œz‹|Š|Š|‰|Š|Š|Š{‰}‰}Š{Œ|zŽz…†~‰~‰~ˆ~†€ƒ€€€‚‚€wÂwÃvÅx©€ƒ~†€‰‰Š€‡€~}‹xº}‘}ˆ~‚ƒ‡€ˆ‰}Š}Š}‹}Š}‡~‚ƒ€„ƒ‚€‚€‚€ƒ‰|”w–v•w•w•v•w–w•w•u–v•w•v–v–t”vˆ€…ˆ~‰~ˆ}‰~ˆ~†ƒ€€€‚‚‚„•~’}•}€€~‚€‚ƒ‚‚Œ|„~ƒ}ƒ}‚„‡€ˆ‰~Š}Š}Š}‰~‚‚†€†€ƒ€ƒ€ƒ€ƒ€…€‹|y’y“v’v‘w’w’w“w“w’w’x’y‘y‘xxŒ}Š}Š|Š|Š}‰}ˆ}ˆ~‡~ƒ‚‚‚~‚€€‚‚€€€€v„~„ƒ}ƒ‚…‚‰€ˆ~‰}Š~‰}ˆ~„€‚„ƒƒƒƒƒ…{†€ƒ‹{xyŽyyyzy‘zzy’y’z”y“y‘x‘x’x{‰}ˆ~‰~‡~…„€‚‚€‚€‚€ƒ€ƒ€ƒ€ƒƒ€ƒƒ‚‚€€ozƒ€‚‚~‚‚‚‡€‰~‰}‰}‰}Š}ˆ~‡†…€„ƒ€…€„€…‰}€„|…‚Š|‹{‰{ˆ|Žz‘z’z‘z‘zyŽ|}{{{Ž{z{‹|ˆ}ˆ}‰}‰~‡‚€‚‚€…‡~‡~†~‡†‡~‡~‡‡†„€h{l~{}zŒ~‚ƒ‚ˆ‰~Š~Š}Š}Š|Š~Š‡€…„€†…€„€…~‚ƒƒ‡‡…†~‹|Œ||Œ{Œ|‹|ˆ}‰}Š|‰{‹{‹z‹zŒ{Š{ˆ}ˆ}‰~Š~‡ƒ€€‚‚ƒƒƒ€ƒ€ƒ€ƒ€ƒ€ƒ€ƒ€ƒ€ƒ€‚i}i{q{†}†~ƒƒ†‰‰~‰~Š~Š}‹}Œ}Š~‡……€†€„€„~…~„‚„€„‚ƒ‚‡~‰|‰|Š}Š}‹{Š{ˆ|‰|Š{ŠyŒyŒz‹zŒ{Š{‰|ˆ~ˆ~‡†€„€‚‚‚‚‚€‚€‚€‚€€‚‚‚kk}k}v€‚~ƒ~ƒƒˆ€Š~‰~Š~Š~‹}‹}‹}‰~†€„€…€„€ƒ…~…}‚€‚ƒ‚‡‰}Š{‰~ˆ€Š|Š{Š{Š{Š{Šz‰|‰|Š{‹zŠ{ˆ}ˆ~ˆ~†‡€‡…€…€…ƒ€€‚€‚ƒ„……on€mt‚ƒ€‚}‚}ƒ„‚‰Š~Š~‰~Š~Š}Œ}‹}ˆ…€…€ƒ€‚ƒ„ƒ€ƒ€…€ƒ€‡~‰|‹|†‚‡~Š{ŠzŠz‰{ˆ{‡{‡{‡z‰z‰{ˆ}ˆ}‡†‡ˆ€ˆ€‡ˆ†€ƒ€€€‚‚„…€††oƒn€j|m€x‚‚~‚|ƒ€‚†Š~Š}Š}‰}‰}‹}‹}‰~‡†€ƒ€‚€€€€‚€ƒ€„€…€‡~‡|‰~‡„†}‰{‰{‰{ˆ|ˆ{†{†{‡{‡{‰{‡}‡~……€‡ˆˆ‡ˆˆ‡…€‚ƒ†€‡€†€llizh|j}y€€‚}‚}‚ƒ€‰~Š~Š~Š~‰~‹}‹}Š}‰~‡„€‚€‚€‚€‚ƒ„†ˆ~ˆ}‰}‰}ˆ|‰{‰{ˆ|‰{‰{‹|‹|‹|‹|Š}‰}‰~‰…†~ˆ~‰~‰~‰ˆ~ˆ~ˆ~ˆ~…‚€€€ƒ€…€†€nm~izhyezs€‚~“|‰‚†Š~Š~Š~Š~‹}‹}‹}‹}‰„€€‚‚€„~ˆ~‹|Œ{{zzxx‘y‘x’x“x“x”x”w“v’w’xzˆ~‡ˆŠ‰‰ˆ~ˆ~ˆ~‰~ˆ~†ƒ€€€‚€ƒ€l€j~gyfxfyl}{„€Š~…}‚€‡€‰~Š}Š}Š}‹}‹}Œ}‹}†€€€…€†„ƒˆ}y‘x”x—v—u—t˜t˜u—v—u—t—u—v˜u˜u™u˜u—vz…€ƒ‡€ˆ~ˆˆ~ˆ~ˆ~ˆ}‰~ˆ~†~ƒ€€€€gg~gzfxgxizq~‚€‚}‚|‚‚ˆŠ~Š}Š}Š}Š}Š}Š|†€‚€„€„ƒ€€ˆ}‘x“w•w–w”x“z“y’y‘zz‘y‘z{zzz‘y“xyˆ~‡~†‡~ˆˆ~ˆ~ˆ~ˆ~‰~ˆ~‰}‡ƒ€‚€ig~gzfxgwhxhyu€ƒ€‚}‚€‚ˆŠ~Š}Š}Š}Š}‰}‰}†ƒ‚‚‚‚‚€ƒ€‹}zŽ|Œ|Œ{‹}Š}Š}Š|‰}ˆ~ˆ~‰~ˆ~ˆ~Š}‹€‹‰‹‰‰}‡~†‰~‰}ˆ}ˆ~ˆ~ˆ~‰}ˆ}ˆ~†€‚‚‚jh~gzewgxizhzs€ƒ‚‚‚„€Š~‹}Š}Š}Š}Š}Š}ˆ~†…€……€ƒ€„‹Šˆ‚‡…‡‡†‚†„„„ƒ‚ƒ€€€‚‡ƒŒ‡‹‡…ƒ‡ƒ‰‰~ˆ‡€…‡ˆ~‰~ˆ~ˆ~‰~ˆ~ˆ~‰‡€„€‚‚jh~g|fxh{i{h{o~}‚‚€‚}‚€‡Œ|Œ|Š}Š}Š}‹|‹|Š}‰~ˆ‡€…€‚†„ƒƒ„‡†…†„„„€‚‚ƒ‚ƒ‚€‚…ƒ††ˆ‹‡ˆ„…ˆ~ˆ‡‚ƒ€ˆ‰~ˆ~‰~‰~‰~‰}ˆ}ˆ~‡ƒ€j€j~j{h{i}h~g~kt€‚‚}‚‚Š~Œ}‹}Š}Š}‹}‹|‹}Š}‰}‡€…€‚€‚€…ƒŽ†Ž††„‚ƒ‚‚‚„ƒ…„……†…‡„…ƒ…‚‚ƒ‚„‚†‚…„€‰~ˆ‡‡†€ˆŠ~‰~‰~‰~‰~‰~‡~ˆ~‰‡€l‚l‚jjnƒk„i„jƒq‚}‚‚„~…‚†€Š~‹~Š}Š}‹}‹|‹|‹}‹|‰~…€‚€‚€‚€ƒ€ƒ€‚€€‚„„……„„ƒ„ƒ†ƒƒƒ„‚‚€€€‚€‚ƒ€ˆ~‰}‰~‰‰‰ŠŠ~‰~‰‰~‰}ˆ~‰~‰~‰lˆl‰m‰oˆq‡p…m…p†s…|‚€~—}}‚‰~Š‰~‰}Š|‹|‹{‹|‹|Š}…€‚€…€ƒ€‚€€€€ƒ‚„€€€€€€‚ƒ€‚€‚‚€‚€‚‚‰‰}‰~‰Šˆ‡€‰€‰€‰‰~ˆ~‰}‰}‰~‰~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÎÎÎÍÍÍÌÍÎÎÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍǾ³®¢ “€|rfixjhinmrcgaU]a[[c\R[b^`VQPTZY`e^eTTVVUVSTYVPX`_[XTMD>8<:522@1ÎÎÏÏÏÏÏÏÏÏÎÎÎÎÎÈÂÆÂÊÎÎÎÎÎÎÎÎÎÎÍÎÌÌÌÌÌÍÍÍÍÌÌÌÌÌÌÌÌÌÌÍÍÎÏÏÇ´š¤˜txs^\^q|o\_nkh[YZ[^YVUN^g_\SOOQXV]gihPT]`YPPKQRZ`b\VNNKA@76642086ÎÎÎÎÎÎÎÎÎÎÎÎÎÍÌÆÁÅÀÈÌÍÍÌÍÍÌÍÎÎÍÍÍÍÌËÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÍÎÏÎÍÁ¥ˆˆrklmkmlot{y^b_bdZ[[\\]SRV[cY[YVUTTSWZhcPQX\ULMNSR]c`aZPFC?;742110-1ÎÎÍÎÎÍÎÎÍÎÎÍÍÍÍÇÂÆÁÉÍÌÌÌÊÊÊËËÌÊÊÊÊÊÊÊÊËËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÍÍÌ·—zkptyt}~bdb]fW`cd[[WUaYTYceROSVXTMLVNXgQNSWYPNSOPY`^_WTUNF?;74320--ÍÍÌÍÌÍÍÍÍÍÎÎÎÎÎÉÀÁÀÌÎÎÎÎÍÍÍÍÍÍËËËËËÊÊÊÊÊËÊÊÊÊÊÉÉÉÇÉÊÊÌÌÊÊÌÀ’„€s_k{kcf^``WjbXXUTM\`^`nl\POT\TMJSQQXSY[YUNPQV\_XXYQOYNG=>@;53/-,ËÌÌÌÌÍÍÍÍÎÎÎÎÎÏǸ»¹ÉÏÎÎÎÎÎÎÎÎÏÎÏÎÎÎÍÎÎÍÌÌËÊËËËËÊÊÆÊÊËÌÌÌÈÆÄ¥Šxyof\knnd^`]V\`UR[SSPYeeegbhVPUYSPSTRQXRX]aURTRYZ\XYTSOPOH>?=7640/3ÌÍÎÎÎÎÍÍÎÎÎÎÎÎÏĻżÇÎÍÎÎÎÎÎÍÎÏÎÍÎÍÌÍÍÍÍÌÌÉÊÌÍÎÍËÇÅÊËÌÎÎÌÇĵ¢~yoeUQa]Y]`]\b_WTSLLUY`aci`ZSOOPNJSPSP_KUUZ[WZZ^Z[WSQSOSJEC?B;530.3ÏÏÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÁÆÍÌÍÍÍÍÍÌÍÎÍÍÎÍÎÍÍÍÍÌÌÉÊÉËÉÅÂÄÁÆÇÊÌÍɾ¼«€{qURQPLUVnncbd]YND@LYPZba^VTRKLKIKIQLYNRUVVW[ZZZ\YSPSNWMCH@><3/.-,ÏÏÎÎÏÏÎÎÎÎÎÎÎÎÎÄ¿ÊÁÄÍÌÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÎÌÊÈÇÅÇÁ¾¹Â¼À¾ÆÊÈû­ ©€xs`TYYVfg\meg^VURRXVcUO[\SOVXSKHGOQQXWRQXZUTWVUNO[USXRWV>56120.---ÏÎÓØ×ÐÍÍÍËÊÉËËÌÁ¿ÈÁÁÌÎÎÍÍÍÍÏÏÎÎÎÎÎÎÏÏÎÎÌÄÂÀ½Â»¹¬À¸¾µ¿Æ¾½¶¤……~r‰xdZ_Z[dkVn\T\SMTT_\UOPSWQQRUWLKLSRRZg]NVYVVUUZQJ\YY\]LC<7531.....ÍÚêïíäÓËÊÿ½ÁÄÈÀ¿ÇÁÀËÌÌÍÌÌÌÍÎÎÍÍÍÎÎÎÍÍÍÌÅÀ»²½¸¯¢º²½±µ½³º´–…}~nhgcbaTZb[Uc[RY]ORSW]UVTNNMKKLSYVNROQPbZLX\XPLMXZQVXPLIA8=<:73.---.ØîسÁéé̾¸³°¶¹ÀÂÄÊÆÂÊÌËÌËÌËÉËÌËËËËËÉÈÈÅÄÀ³­¨­°¥¨­¸®µ²®« uxuljRadYXcWQ[i]W^YKPRT\abUQMLKNRMSUJOTNR\^Xa^SNKMYXQYPPWJCD=:;973/...íÎ~gq¨èص¯®®´³¾ÄÆËÈÄËÎÍÍÌÍÊÆËËËËÊÊÊÇÃþ¾³¡›™£¥˜– ­­«¯§¨š‚sliekn[UXWb_VV\ZY^TRWTSUU_WPSONTUQSUWQOXPSX_X]WX[W]`TRXWSP?=E;866763000å‹vvqŒËè·¬ª®±±¿ÂÅÊÇÁÊÎÍÍÎÌÆÀÉÌËÊÊǹ³µ´»­ž”Ž™›™‘Ÿ³®¬ ™tebeUg`PLHPXaWPP]g_`n_^a]TVNPOOOQVRUSTXQ[OO_^]gYc_kf^RPLLIK@¬‹ˆƒ„‹½æàÎÈ´®®¬«·Â·«°µ³½ºÈ¼±¿Ã¸«  ™š ““Ž…ƒŠŠ~Š‹…ƒ€‚€yvoaWWUU][UYUSXgRPO]gdRR[YSMLLIKHFLKJRU\`QYQPlrcf_a\T^YVUG<::86543365;?}³Šƒ¿äíîèÈǪ¡¡¨§œ  ¢¡¡§·®¥¢©šš—¡™˜Ÿ‘“Œ…ƒ„€„x„Šˆ„|||~vqnjdXQYg[QTQT^ZMW\]^XQRRRRMKPPKNRSGDMOT_PQM_aa_Ydi\PS\XFTD;<<9566489<=ª‚¨’†¾äëãÞâ¢³£ž ¤¬§¡¢£Ÿ“”“›™ š’™‹ŽŒ‹‡‡‚}‚y€ˆ„z{yxphjeZWYQV^XT\Y\[VY[Z][UOJWUNLOJACFFA@EIGPJRSY\aX`p]^OZ_[HDC@><85667:=@?Æ{„“‹’¿ãì͹ÛêǸÄÅ·¼³·µÄÁ»ª  •Œ–š–‡‹‹‹Š‡„‚€y~ƒ~|~vxwrrmlgX\dcbWQSWW^\cWU\SW_[URIOMNJBCDA?FFEBQGTX[W`b`\RbbVVVOKGDF965679<>HFj[q‹Ž–¿ãíãÛéêäåæââåäåãåèðÙš•ˆ‹’‘Œ‹Š…ŒŽ‰ˆƒƒ‚‚z~Šy€wuqsrnhbV[daZQVOQ\gbcVMQSiZaXNQRPJIEGRJCKLLFPR\^YLYdceT`dVOW\PE@A<:8889=@IASEiƒ•šÁäíìíëëìììíîííêçäææ°ŒŒŒƒ‡‰‹‚ˆƒˆ“‡‰„ˆ€|Š‚y|wvvuwsaVQZYZVZVN[Z\_ghinqkS\\SMSRFDFPWQQOOPIJWY\ZON^Y_]]gfW_R?:9<<;;;:;>==>><[RLqrÍéêëëéäÞØÒÊĽ¼°§–•€~}y}„ˆ’“–›”—•ŽŒ„€€~uswvsssfZ`[NO[XZ]ST_bi]]T]daSUNKLRLG@=illnšåíìììèâÙÎÊËƾ¶¬™ŽŒ‰‹~{{“™£ª«¬§¥ ››››¡£¥¦¤ž†|usv{ytokg]SMJXV[SUW[[XHY`Z]YY`WKLUPNJLONQTUYWZnd\[[ZWYYRUJMJ>984`9698868:;Xlz†Ž†K;20135=Z`cdeX@artmowqig]QVXTXZ`]XGERW_W[ZYVX]UOIBEA>>><<78>DHI\hXTXYZ{ƒ™£ œ—”Œ‹‰ˆ…€‚ƒ…†Š“ŠnZ—‚eYI¦Á«c\RFCHC=J[jk]LOm›glgb]YXVWVTUUTSRSSSTVXS_ã‚OIIÐñ½qemomrvyyzvqll¨é䈃pYX7YWNCOO\wpsrSNMefG45WjU{pfgklfa\[V\[OOVUMNS][YX\_\SUNGABGIB>BRQHT\^i‹kPOk‚ENVY]`fS==;;::=AQX[\\]WL¯oMEL”¿ÂËÅÆÊÍÎÎÏÏÏÌÈÆÇΰ–{…^qI13467GONJJKIMKJtnQ2T‘LqpedhsyhUUVSRSNTXPOZ\ZV[a^ZNRTQIFKQJ<>LUNgkjv„gZWvgaŽ•¡§•I657QR>FQPOLLLyWkuGDTt¹ÒÛÞàáâââáâââàßßÜ©yz„X;46ZtRDONMKLMMMHmtR7Ag’\]mgfdal`RU]YX\UOSQSP[]Ze_VUQOIIHDFJFCHOMTillvsbac]}©µ±¬¢™VC77g‰GHI><:;:RjtXIJLu»ØÞæééæåèææçêëèäÛȈx{]|477pœ{LH>;9=LNMD\‚o;6/k}Nd`a\[jdVNW[`ZYSMOXVZd`aYPOUSME?EL@?GxOD?889;;=iXBCB>uµÞãëê꼟¯Õ´ ÁêáãÝÖ•xpno7CB{’£`B6335AC@E„ x:62Q“L`[_dbab`VXYXTROPNT[[TYZTMPZSPV[Vn‚vclym[TW\]^_bƒ‡XFFA489:BFB?;oµT>;:;;:8;ZPI4.4u­æçíìêâØÜæÛÓàêééææ—we}bELH`…vRKF<<;;869wb:85>˜Z\a[^`^`^ZZTSQUY]TNXXOMNT[ZXXcy…‹…bdqjUQX[[[]bf˜wWCED>6:Ovt[OUsÂÎÑÑÓÖÕÒÓÑÍÏÊÊÍÅÃ’|]`RZYzz^FIJKKJMHI`‹”Y?=:<”]VeA?Bgpooqlq{‡‘‡Š‘‰‰‘±•zz~}z|{nbmmaV\a_[Z]cu¢cQ8@97Qk[@:542CCD=35Fqpoqssux{|}~‚‚€~YC?i‡JoVYaCRCCLV]]XNNFMSokNF@88M:GI;<5gvvuxzywuuutwwxy}‚‰—©³³©—‰|qllkmolifb[[[]ƒšRK?FA>>=85@qnljjmoqtuuttssuwx{}K37:JF97654;@<9;:98:8786>DBEA8<[ciiigeeefijlnqtuuvtrponnoonptz‡š®¾»£‹vhNSbo{;d]B@?KBBIIFPRSWVKDDCB@=:zvrnljjjllnpqpqqqpoopvx„§YOK;:99787777677778677878::=>FSyxxtoljhiijlmnpppqqrqqp…¾tFA7888666666555665445667877=Apjciihiiigedccccccehkpsuwwvuqomkmopomlp{¬²„ˆ[i„|nh]MMV\^]]``___`bcb^QRflwwxwupkhhggiklmnooppppou©rQMA25654445556>7654443100ChvUVolrrrponlieaaaba_^^adhnqruvvwuplhikmoomjlv‡µ…uknfba\TgsmkjhedcdefgkrdZ[[vvwvvurlhgfgiijlllmmmnnoƒq_•—Š?244333567>965452?Rdv¤¾´¦¡¨¨««««ª¨§¤Ÿ™ˆiccb````bdimorruvvvrmigilnpnpz¨‚i[^\YXXXdd\YXWVVWWXXYZ]ZWWYqstvvuvrmiffeeghijkkklmtkOs¥§¶~2/U¹¾ÐåÔ¤pab`a‰îÍbicš~g{Š’”–dOXF\–Ÿžž›—”ƒw`shlpolhfegheb`_afjloprrsstaQ\`M¡Á¯£Ö NJMYkVTVdkVQPmfCGM¬ðhjlnprstutsqmifcbbbbbdfZ5/-0>ATnkpaqp_•êÔxjv–^o£ÍÐÓØÚß»TVLJP°åàØ×ÚÜ´uZhfekmnnkjhffeda``cfjmooprtbIPYH‘ØáÙçîšHABš~6L‹l5X°W8E˜îâafijmoprssssqnkecbaa`aeO0../25:AEPYbtˆœ­ÑÈ©—†…Xl°äÜÜÜÜâ¬Pdd]N¦ãÜÖÒØáº]lWhdccfjmmiecbcba^]_afjkmps`CFPM_½ºÊËÜí|>:iÆY[ÏåŸ@§¡HDcêè¸^begjlnopqqrqpnieb````dN.,057:@FN\mžÚâæêëêçê¹t\`“ÐÍÎÓÕÔƒBT_YQææãáÙÒœAuSghedccfhihfda__^]\]_`bein^ABINOTa†Ñõ£PIC¬Ã`š·u…ÚaIXvÆÖ…‚[ceijlnpqrsrrpmhdba`_bR/-/16L`yŸ¢ïñóóòòóâ XiUC978866:EmŠfWR<46565EEOhUjkjifca_adfeba`]\]]\\ZZ]WC>GJNQVY]]\]ahsw¤ØæçÝÄŠumeceedËÀq[dfgilmoprqoqplgca``V20018A|l:9@O‘—‘ŽŠƒ¢PjMD;8:99873BWIA;79oï½g]dƒichknnn•~OfEA6EJLORV]jomoq¾îçãçãëëìñ«ffhlew¶ÅГX^cgijklnopppookgdV3;...19D=;@F:5E\bdˆ˜_KSNLGFFJJHFJ?;9:=BPcŽ_LILBGJY`hwfikjjiecbehkligca`a];2EKMOQX_iilpqÉõñïïïïððõ©ghehfM‹¼ÈÊwY`dhiklmoppoopmjhW1<.-,015;>?@BDPw’§`:@[^_”mTgkklkifbbbehjjheba\83ELORRX`h`SPMeŠˆƒ€|wrT:8J]eYw¯ÀÌ·fZbfhjklnoonopnlkX.<2-),..//0/02?]sŠtkROOQTUONNOUUPPORVY[[WUWVWY\_cjSfMZjjllkkkhdbabdgjigd]31DILT}wd^ME,,-.,C>?U@=B69ANI]XZ|¸ÃΣ]^cegijmmmlmonmmW,<40E;0-,+*+**,5=_’qsa_^\[[\[\]]\]]]]\[[[\\[[\]]_bgQF`hgijkjjkjheba`bfgijb1/CBAnß›eTONMTRRMeYTYSQWMJCSXWOJO‰»ÁÍ‘X\adfhijkklmmjbP,:52:NKD:75+****6J^\qYYYZZYXXXYYYYZZYZZZZYYYXYZYZ_aAOhffgjjiijjjjgdaa`cfjc/.B>>b§~^`eR7898<<<>=>=?=6?_ga]RMU—»ÅÇwT\_bdfgijkkkg\M.8542;>>70-,049=HiJnrUXWXXWWXXXXXXYYXXYYXWVVUUUTTWgFUdccdefegkijjjgdc``adb/+==??@?>??@B@=Vl‘}w}~v[WWXXYYYYYYVr’¡ª¯²²°°­¬««««ª«¬¬®²³±‡dhhiiihfdba^/(73B0*+*)''()*((((''%%%&%$*2(jpfRLM†»ÃÒ—Y_cfgghhhijgd]WVUUVVVVUVXY[[]_mŒx{®Ä½}\[\\[\\[[Ye‰–¯¨¢œ–’ŽŠ…}{zxwwvvw{ƒŠ‰buighijifc[S.(66\S7,,31-+('&&%%''(*+/38J^==;9==6756687875688898Hbeedccc]P8-/,+12*)'&%$$%&$%$$##$$$$$%%&lmnlhYOQQŒÄÇÔ¦_`acefgijjijiihfda^\[[[]^aRNIHJQVl¿§y¤¶º¾ÄÉͬl9:::;<=>@@XbK@899FC76667779?>Vecb```_YL:0-/13247998878:;<<===:8:Iacb```_\XRMLLLORTY^cddc`^]][ZZYVRQQTY`mtrrswjUOJm¼ÈÑÆm]bdeghhhhijjjkigd`]\[Z[_TCHIJOQYc|¿Ì>7::8h‘<@:79887;GCBWdE6?<8543434544;A@Xdbaaaa_][ZYYXYYXY\adghecca^\YWWVVUUVYmomjjjg]SMM”ÆÉÖ¢Z`bdfgggghijjjjhfc_]\ZZ]T?FHITY`gz¶ÑQDEHK–w8@538;:88IF;736667524>@=64326B225AE@3?F522223554D]NIC;623>?B[bacddbb`_`````_^\[]afigeb_[YXWWXWWXXlfggsnibRKMM„ÁÆÖ²_^dddeefhhiijjiigeb^\[\O:BHFJQYev¤Écƒíôã›C><213X‚]/4611100246;CGLQPOF719A=Qb^XZY`dbaaaabcca_][\`fhhge`\ZYYYXXYYnlfgporiRKMLV¦ÄÊÓ•a_bdeefhhhiijjjigd`]\]N5AJFIPYds˜ÒlnéòÎ{AUL5743Zddccdcddedca_]\_dilifb][[\[Z[swplqpolnqZLKO‘ÂÇÖ¯_addefhhhhjjjiiihea^_N.;IDqµ°qSW99?A€‘P:@@OY>DIFCBB>//0/07IFTDTf`VPG51=;=;53207]dccdddcceeeca_]\]bhjjhb]\[[[[pplhlnifikeLJJ`®ÂÊÖŠ]cdefhiiikjijjjigd`_N1:FDpÝä¢RA:IPKQTF8ERfa@A@?A?>>765347=AE:GRQHFD<487:??4;GYcdccddccbdefdca_[Z]bfijhc_][YYpmmdilospojRIKKz½ÁÐÅn_edfhijjjjjkkjjhfb`P08@HL…²–]F3LN6=AB?>??<<=>>>>=>>@?;<_?Eh^``accddddddddefffdb_\\^bfklkid_^fkkhnpklpsplUJMMY¨ÂÈÕ’^beffghjjkjkkkjif_L(53:;9898;B?vôTgW=>=>?@BCFFHIPXZYVWWXZ\]]^]^^\_j\‚l9w¿Ä®kaccccdeeeeeeeffeb_]\^bhklmjecyttotrkjlkhkfLJKJo»¿ÎËu[adeefghhijjiggaRB)4/54-+,49C@c©ŸCx†_AQ_dhlmmooooppnmmllkkkjiiklmordu†b]¼âÞ¡_ccccdddeeedddeffd`\[]cgkmmkgz‚~pkkigijnkbOJMLL’ÀÀÔ¯\]`bcdffghhihed`XE*32745>>===>>==>>>>>?@?@ABEYpfcl†xddcbcccbcaaccbddcba^ZY[`gkmmunnnkljgjimmniRJKKeºÆÎÖ‰]beghgfggggfed`[M9545543331:^rZCB@?>>?==<;::9:999999999999:;;;<<=<>>Jlˆ„„“¬…;Gdbad¥Á¾”bdddcbddeedddddccb`][]blklmqttpskknljofPJKLLŒÈÉÔ½jdeghihhgghgfdba_]\\ZYXXXYHR[_Me}‡jhmePEEDFEEFGH]‰WLGKIGFIMIÄåëÓ±¹ã£5Ccba_æïç˜aabbbcdccccbbccbbb_\Z\jpvsopqloijifjrbLKKLK^·ËËÔ–`egghhgghhgfedcb`__][YYYZJNGLMÈ·ªÔëãÏ£NMOTX\allˆy|qccaXCJ¢øÞ·¼Ûæô„3>cbaa_¯®›c_`abbcbabcabbbbbca`[Zpwvpjhjmoijlvsuf_YMMNO‡ÊÊÑÉtbfghhhhhgggfedcbba_][YY[KK=@B¸ìÓÇ«²Õ÷ÇV@FPQMRšš”™Žl57521PjšÒØÔÍ›P2:dbaa`\[X[```ba`bbaabbbbabbaa`^[hikga^ahiq{wtvojndRLNQ[²ÊÇשdgghhhhhhggggfddcca^\ZY[MJ;8<~âéèáÛÛ¸ri6+,,)8ez„‰ŒtV4568Hl€ca_UMA662:dcaa```_``abcbbcca`abbbbbbabba_unmmjnpsirrtuu|k]SKKKK|ÆÄÏÔ‡beegggggggfgfedddb`^[ZZLJ938@Yimnkkg{”qC>BB9a¡¦–€BAB?>CšucULC<834?JQ]q‹½™c‹ØèêíïñññòññöÓdo¾—z_OJB<<53>ccbcbcaaa`abccceedcbbbbccbabccc€~xv€ysnr`_fq{sjjeYLLJTZZ˜ÂÃ×Àf`cccdefeeffffeedcb`][LL>1/18?>KPZp‰²Í`€åîéëëëëëìßÛðÐYwÀ•|cULE>:8;Ecdccccbaa`aaehhfefedccbdcbaabcc‡{†z†z‡z‡z‡z‡z‡z†{…z†z‡z‡{‡{‡{†z†z†z‡yˆyˆy‡y‡y‡y‡y‡y‡z‡z…|„‚‚}„xƒuƒtƒt„t†x‡yˆx‡x†z†z†x‡{‡{†zˆw‡u†y†z‡z‡{†{…z…y‡z†{„~ƒ€ƒƒ€ƒ€…y†z…z…y†y‡z†z†z†z…z†z†z†y†y†y…y…y†y†x†y†y†y†y†y†y‡y…y…y†{‚~{‚xƒuƒvƒuƒv„u…v†x†x…x…y…x†z‡{†z…x…w†u„v„v…y†{†z†x†w‡y†|ƒ~‚€‚€€…z…z…z„z…y†z†z†z†z†z…z†z…y…y…y…y…y†y†y†y…y…y†z…{…z…z„z„z…z‚~€‚{ƒu„x„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx„y†y‡w‡w†y…{ƒ~ƒ~‚€‚€€…z…z…z…z…z†z…y…y†z…z…z…y†z…y…y…y†y†z…z…z…z„z†z…{„|…{…{…z„{‚€‚y…y„y„x„w…z…|„{ƒy„x†x†z†{…{„{ƒyƒwƒv„v„x…y‡z‡y‡z‡z…{ƒƒ~‚‚€€€€†x…|„|„{…z…z…{…z†z…z…z†z†z…y…y…y…y…y…z…z„{„{„}ƒ~ƒ}„|„|„|ƒ~€‚|„y„x„w„y…z…|…z„z…z‡{‡|†{…z…z„z„v„v„x…y†y‡y‡z†z…y„|‚~‚‚€€„{‚€ƒ€ƒ~„|„}„~…|…z…y…z†z…z…z…z…z…z…y…z…|ƒ}‚}~‚}~‚‚ƒ€‚~ƒ}„z…y„w„y…{…{‡z†z†{†}†}†|…y…y…y„w„v…x…z‡{†z†{†xƒ{ƒ~‚‚‚€€ƒ‚„…ƒ€€‚ƒ„|…{…z…z…z…z„|„z†y†{„{…|„}€€€€€€€€€€€‚„}…~ƒ„~„{…z…{„w„w„x„y†z†z†{†|„{…{†z…y…x…w„w…w†w†y†z†z†y„{ƒ~~‚‚€€€‚„„†~‚€ƒ~„}…|†{†z…z…zƒ}„{„{„~‚€‚€‚ƒ~ƒ~‚€€‚~ƒ}…{†|…~†|…z…y…x…w…xƒwƒw„y…{†|…|„{„{…{„y„x…y„x…w†u†v†x…x…y„|ƒ}~‚€€‚ƒ‚‚€€€‚€ƒ€„~„}†|‡{„}‚€‚~€}„z†z†{…|„|„|ƒ}ƒ|„~ƒ}„|…|†z†z†|†z†z…y…x…x…y„x„y…z…z†|…|„}„}ƒ{ƒz„w„y…y†v†u‡v†w…w„xƒ|‚‚€€€‚€ƒ…~ƒƒ€€€~€~ƒ~ƒ‚„ƒ}…z‡x‰wˆx‡y†x…{„{„y„|„{…z†y†x†y†{†y†z…z…y…x…y…y…y…{„{…|…}„„}‚|‚zƒz„y†x†x†vˆu†v…uƒv{~‚€€€‚‚}‚†~ƒ€ƒ€€€€€‚~‚~„{†z‡y†z‡y‡x†x†x†w…y„z„w„y„y„x†x†x†y†{†{†{…{…y…v…w…x…x…z…|…|†}…~ƒ~ƒ}ƒ{ƒ{„x†x…z†wˆv‡v…u‚w€|€~‚~ƒ‹{ˆ}€‚€€€€€€‚ƒ}ƒ~ƒ}„}†{†{†z†}…~„}„}ƒ}ƒ}„|‚}ƒx„v†v‡v‡vˆwˆz†{†|†{…z…y„u…u…v…x…z…|…{…}„„}„{ƒyƒy…w†x†y†y†w…x„yƒ|~€€€~‚~ƒ‘{Žzƒ}‚‚€‚‚‚€‚}…|…{†}……ƒ‹~}~~ŽŽ~}Ž}Š~|…uˆu‡vˆwˆ{†|†}„{„y„x„z„|„z†z…y‡{†|…~„~„}„{„y„x†x‡wˆw‡z…z„zƒ|‚€‚‚ˆ€€€}ƒ|„„†…ƒ„~€†…~…}†|‡~„‚{‡y‡}…Š€‹|‡|†|‡€‡‰Š}Š}Š}}„u‡t‡uˆwˆz†y…{…z„y„z„|…{†z‡{‡z‰{‡}…~…~„~„~„{…y‡y‡y‡z‡|ƒ~‚„ƒ†ƒŽƒ‡ƒ„ƒƒƒ‚ƒ}…‰‡ƒƒ„ˆ{‡y‡xˆ{Š}‰€~†z†…‡~‚|{{ƒ{ƒ{„{†y…{‡}Š}‡~w†s‡u‡v‡y…w„z„yƒy„z„z†y†y‡yˆ{ˆ}†~„~ƒ‚~ƒ{„w†wˆz‡~…†’‰›ˆœ‰œ‹œ‹œ‹‹ŠžŠœŠ›‚‡„ƒ€ƒ„€„~ƒƒ„…€†ƒ|…ƒ‡|ˆ|†~…|…x…{…y†w~‚€‰|†}{…tˆt‡u‡x…yƒy…y„z„{„z…x‡x‡x‡{‡~…~„~„~‚~„}…x…t‡t‡x…‚ˆ…„‚‡„„‰ƒŠƒŠ‚ŠŠ€‰‚Š‚††€ƒ‚‚‚€€€€€€€‚€ƒ…‚ˆ|Š|„ƒ„€‡wˆx‡x‡w€€„ˆ}†}~ƒwˆy‡v†w…y…x…y…{„{„z…x†x†y‡|‡}…}„{„{…x…wƒs€pqw…‰…}„{ƒ{†|‡zŠzˆz‰y‹yŒzŒz‰|‚‚€‚€‚ƒ…ƒ‚ƒ……„ˆ{‰{ƒ…ˆz‰zˆ{‡{ƒ†‰|ˆ|€€{…|…z„y„yƒzƒ|ƒ}ƒ|„{†{‰{†z†x†t‚pk~p~q}t}t{syqw{}‡‰‰|‹{‰‰~ˆ{‰z‡~Š|ŠzŠz‹{Š{„€„€ƒ€„€ƒ‚ƒƒ‚ƒ‚ƒ‚ƒ‚ƒ‚ƒ‚ƒ…€†|…}…~†}ˆ|‡~†~†}ƒ‚„ˆ}Š|‡~ƒ€ƒ€ƒ€ƒ€‚€‚€ƒ€‚‚ƒ„‚„~„|„x„uu€xx€y‚zƒx–x•…‡‡ŠzŠ{…‡€ŠzŠzˆ|‰|‰{‰z‰zŠz‡~‡‡…‡~‰}ˆ}ˆ}‰~ˆ~‡†…‹~‹}Š}Š}Š}‹}Š~Š~Š}‹~Š~‹}||ˆ‚‚‚ƒ€ƒ€ƒ€ƒƒƒ€ƒ„„€„€…€†€…€…‚ƒƒŠ„†z®{¹‚˜ˆ‹‰{‰{‡~ˆ}‰z‰|ˆ}†~‡}‡}‡|ˆ|‰|‰}ˆ~‡~ˆˆˆ}‰|Š|Š|‰|‡~ˆ||Ž{||‹|Š|‰|Š|‹}‹|‹|Œ|Œ}‘}Š~‚‚‚€„€„„„„€ƒ‚ƒ€ƒ€„‡‡‡€†€…€Œ€‘„“ˆ˜‰”‰‘ˆ“ˆ”ˆ•ˆ—‡˜ˆ˜ˆ™‰™‰™‰‰{‰{‰}ˆ~ˆ‡€ˆ‰}‰}‰}Š}‡}Š|Š‚„ŠˆŠ}‰}ˆ~ˆ~‡ˆ~ˆ}Š}‹|‹ŒŒ}ˆ}ˆ}‡}‡}ˆ~‰~†„„ƒ€‚‚€‚€„†€‡ˆ~†~…€†˜…²‡¹…»†µŠ±ˆ¸…¼ƒ½„¼‡¹ˆ´ƒ¼ƒÂ‰|‰{‰|Š|‰~‡~‡‡€ˆ‰~‰~ˆ}ˆ„ƒ~‹ƒ‚†€†…†……†~|’z“{’{“z“y”y•z•x•y•yz„€ƒƒ€‚€‚‚‚€€€ƒ…€†…ƒ…Ÿ~ÅzÎvÑtÒvÐvÑtÕsÕsÕuÓwÓtÕuщ~Š}Š}‰}‰}‰}††€‡‡ˆ‰~…€„€‚ƒƒƒƒ‚„ƒ„„…ˆ~‹|Š|ˆ}‡~ˆ~‹€‹‰~†}†~†}‰|‡~ƒ‚‚‚‚€€€€€€‚…‰…šŽ}Ÿ{ªw·v¾uÀvÁvÀv¼w¹xµy©}šˆŠ‰}‰}Š}Š}‰~‡~‡‡€‡‡„„€……‚…„€‚‚‚ƒ„„‚‰~‰|~|z}z~~~‰{‹z„{{}z|~ƒ~‰}†‚‚‚‚€€€‚Š€±€’€}€€„‚€…†‚€€ƒ„€‚~ƒˆ€ˆ‰}Š}Š}‹~‰~††€†€†€‚€ƒ€†€ˆ}‡}…‚€€€ˆ}‰|ƒ}ƒ}‰x‹v‡x}„}‰{Š}‡…€ƒ€‚‚ƒƒ‚‚‚‚‚€€‰w¾uÉv»{¥|¢z°|ž€……ƒ}—zµ{²z¯€ƒ†‡ˆ‰}‰}‹}‹~ˆ~‡…€…‚‚€ƒ€……€‚ƒ‚†‡€ˆ‚„‰}‡|‰|‹~‹~Š|ŠyŒvŒx‰}ˆ€‰ˆ|‰{Š|‰|ˆ}†ƒ€‚‚ƒ€‚€‚‚‚ƒ€ˆv¾qÐrÑtÍtÉtÄz¸}›Ž~”{®vÃtÊrÏ}„ƒƒ‡€‰~‰}Š}‹}‹}‰~†„€€‚‚ƒ‚ƒ€ƒ††‚††Š|†|†|ˆ|ˆ|ˆ|ˆ|‹|Œ{‡~…ƒ€‡|ˆ|Š{‹|‰}ˆ}‡…€ƒ€‚‚€€€‚€…v¼qÎrÐsÊw´}‚†…~„„…}•y¨sÇ|†|„‚†€ˆ‰~Š}Š}‹}‹}‰~…~€‚‚‚‚‚‚‚‡~Œ|ˆ|‡|†}…}†}…|‡}‡|„~€ƒƒ†~‡}‹{ˆ}†ˆ~‰~ˆ~†€ƒ€€€€‚‚y³sÎuÌtÇ|“‚~…‡‡‡€‡€~‚x²}‘}‰~‚ƒ‡€ˆ‰}Š}Š}‹}Š}ˆ~‚€‚€ƒ€ƒ‚€‚€‚€‚†}‘y“w’x’y’x’y’yy‘x’x’x’w“w”v”vŠ}„‡~‰}‰}‰~ˆ~†ƒ€€€‚‚˜|ª|Ÿz¥~„€€‚„€…€…€…€ƒ€~|„~„}ƒ}‚„‡€ˆ‰~Š}Š}‹}Š~ƒ€€…€†„‚€ƒ€ƒ€ƒˆ~‘x•v•v”v“w”v“w”w•v•u•w”w•v•v•v}‡€‰~ˆ~ˆ~ˆ~ˆ}ˆ~‡~ƒ‚‚‚€‚€„€„‚‚~‚€€v„~„ƒ}ƒ‚…‚‰€ˆ~ˆ}‰~‰~‰}…€ƒ„ƒƒ€ƒƒ„€‹|Œ|‰~Žz‘wwwxx‘yy‘y‘zyyyŽzŒ{Œ{zŒzŒ{‰}ˆ~‰~‡~…„€ƒ€‚‚€‚‚‚€€€€€€ozƒ€‚~‚‚‚‡€‰~‰}‰}‰}‰}‡~…€…€„€„€ƒ€„€„„€Š{„€}„‚€Œ{ŽyŒyŒzyy‘x’y‘y‘w“x’z”z“z“x’y’y”y{ˆ}ˆ}‰}‰~ˆ~„€‚ƒ†††…†€††~†††„h{m~{}Žz‹~‚ƒ‚ˆ‰~Š~Š}Š}Š|‰}‰~‡…„€……€„€‡~‚}…„‡‰}‡~†~Š|{‘{{zŽ{Œ|‹}‹|Š|Š|‹{Œ{|Œ{‰|ˆ}ˆ~‰~‰~…€€‚ƒ€…€…†……€…………€…€„€i}i{r{‡}‡~‚ƒ†‰‰~‰~Š~Š}Š}‹}‰~‡€…€…€†€…€……~ƒ‚„€†€„‚„‰|Š|Š|‹|‹{‹|ˆ|ˆ|Š|Šz‹y‹y‹z‹{‹{‰{ˆ~ˆˆ†…€‚‚‚‚‚‚€‚‚€€‚‚‚kj}k}v€‚~ƒ~ƒƒˆ€Š~‰~Š~Š}Š}‹}‹~‰~†€……€„€ƒ…~…}ƒ‚‚„€‰|‰|‰|Š~Š|Šz‰{ˆ{Š{Šz‹z‹{‹zŒz‹{‰|ˆ}ˆ~ˆ††€„ƒƒ‚€‚‚€€‚€‚‚ƒƒ…onmt‚ƒ€‚}‚}ƒ„‚‰Š~Š~‰~Š~‹}Œ}Š}‡…€…€„€ƒ€„…~ƒ€„€ƒ€„~ˆ~Š{Š}†‡Š{‹{ŠzŠ{‰z‰{ˆ|ˆ{ŠzŠz‰|‰}ˆ~ˆ~‡‡†€†€†€„ƒ€‚€‚‚„…€…†oƒn€j|m€x‚‚~‚|ƒ€‚†Š~Š}Š}‰}‰}‹}‹}‰~‡†€ƒ€€‚€‚ƒ€‚€…€„€†€ˆ}Š|‰~‚ƒ€‰|‹{ŠzŠ{ˆ|‡{‡{‡z‡z‰z‰|‡}‡~…€†€ˆˆˆˆˆ‡„€‚€‚€„†€‡€‡€llizh|j}y€€‚}‚}‚ƒ€‰~Š~Š~Š~Š~‹}‹}Š}‰~†„€‚€€€€ƒ€„„€‡‡}ˆ}ˆ~†~†}ˆ{ˆ{ˆ|ˆ|ˆ|ˆ|‡|‡|‡|ˆ|ˆ}‡~†…€†ˆ~‰~‰~ˆ~ˆ~ˆ~ˆ…‚€€€ƒ€…€†€nm~izhyezs€‚~“|ˆ‚†Š~Š~Š~Š~‹}‹|‹|Š}ˆ…€‚€€‚‚‚„€†ˆŠ|‰|Š}Š{‹z‹z‹{ŠzŒzŒz{Ž{Žz{Œ{‹|‹}ˆ†ˆˆˆ~‰‰ˆ~ˆ}ˆ~ˆ~†ƒ€€€‚€ƒ€l€j~gyfxfyl}{„€Š~…|‚€‡€‰~Š}Š}Š}‹}Š}‹}Š}‡€€€‚„€ƒ€ƒ†~Œ|Žzz‘y’y“w“v“w”w•v–v–v–v–v–u–u–v–vz…ƒ‡€‰ˆˆ~ˆ~ˆ~ˆ}‰~ˆ~‡ƒ€€€gg~gzfxgxizq~‚€‚}‚|‚‚ˆŠ~Š}Š}Š}Š}‹}Œ|ˆ€€„€†€†€ƒ€…~Žz’w”w˜v˜u—v˜u—u–w–w–v•u•w•x–w–w—v—v”w‰}††ˆ~ˆ~ˆ~ˆ~ˆ~ˆ}‰~ˆ~ˆ}†ƒ€‚€ig~gzfxgwhxhyu€ƒ€‚}‚€ˆŠŠ}Š}Š}Š}‰}‰}‡‚€‚‚‚‚ƒ‚€…z’x’x’x‘y{{Ž{Ž{{Œ{zŽ||{Œ{Œ|{zŒ~ˆ~†~†‰~‰}ˆ~ˆ~ˆ~ˆ~‰}ˆ}ˆ~†€‚‚‚jh~gzewgxizhzs€ƒ‚‚‚„€Š~‹}Š}Š}Š}‰}Š}ˆ~…€„ƒ‚ƒ‚‚€‰~Ž}Œ~ŠŠ‰€‰}ˆ}ˆ~‡~†…†~††‡‰‚‰†ˆƒ‡‹ˆ‡‡€…‡ˆ~‰~ˆ~ˆ~‰~ˆ~ˆ~‰‡„€‚‚jh~g|fxh{i{h{o~}‚€‚}‚€‡|Œ|‹}Š}Š}Š}Š}ˆ~‡‡€…€…€‚€ˆ~‰†‚…„†ˆ„†„ƒ€‚€ƒƒƒƒ‚€„‚†††‡††„„‡‚ˆ€‰~‡‚ƒ€ˆ‰~ˆ~‰~‰~‰~‰}ˆ}ˆ~‡ƒ€j€j~j{h|i}h~h~ku€‚€‚}‚ƒŠ~Œ}‹}Š}Š}‹}‹{‹}‰}‰‡†€ƒ€ƒƒ‚……†‡†‚ƒ‚‚‚€‚‚ƒ‚ƒ‚„‚€‚‚„…‡‡ˆˆ‡…„‚†ˆ~‡‡†€ˆŠ~‰~‰~‰~‰~‰~‡~ˆ~‰‡€l‚l‚jjnƒk„iƒj‚q}‚‚„~„†€Š~‹~Š}Š}‹}‹|‹}Š}Š|‰†ƒ‚€‚€„„†…‡„‚‚ƒ‚ƒ„††‡†‡†‰†ˆ…†ƒ…‚‚€ƒ€‚†Š}Š~‰~‰‰ŠŠ~‰~‰‰~‰}‰~‰~‰~‰lˆl‰m‰oˆq‡p…m…o…s…|‚€~—}~‚‰~Š‰~‰}Š}‹|‹|‹}Š|Š}‡ƒ€€‚ƒ‚€‚ƒƒ‚‚‚‚‚‚‚€‚€‚€€‚‚€‚„€‰~‰~ˆŠˆ‡€‰‰€‰‰~‰~‰}‰}‰~‰~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÎÎÎÍÍÍÌÍÎÎÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍǾ³®¢Ÿ“}sfixkiinmrcgaU]a\\c\R\b^`WQPTZY_e^dSTWVUWTTYVPX`^[XTMD>8<:522@2ÎÎÏÏÏÏÏÏÏÏÎÎÎÎÎÈÂÆÂÊÎÎÎÎÎÎÎÎÎÎÍÎÌÌÌÌÌÍÍÍÍÌÌÌÌÌÌÌÌÌÌÍÍÎÏÏÇ´š¤˜tys^\^q|n\_nlh[ZZ[_YWUN^g_\SOOQXW]gihOT]aZQPLQRZ`b\VNNKA@76642086ÎÎÎÎÎÎÎÎÎÎÎÎÎÍÌÇÁÅÀÈÌÍÍÌÍÌÌÍÎÎÍÍÍÍÌËÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÍÎÏÎÍÁ¥ˆˆrklmkmlot{y^b_cdZ[[\\]SRV\dY[ZVUTTSWZhcPQX\ULMMSS]caa[PFC@;742110.1ÎÎÍÎÎÍÎÎÍÎÎÍÍÍÍÈÃÆÁÉÍÌÌÌÊÊÊËËËÊÉÊÊÊÊÊÊËËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÍÍ̶—zkptyt}~bca]fX`cc[[WVaYTYdeROSVXTMMVNXgQNSWYQNSOPY`^_WUUNG?;74320--ÍÍÍÍÌÍÍÍÍÍÎÎÎÎÎÉÀÁÀÌÏÎÎÎÍÍÍÍÍÍËËËËËËÊÊÊÊËÊÊÊÊÊÉÉÉÇÉÊÊÌÌÊÊÌÀ’…€r_j{kcg^`aWiaXYUTM\`^`nl\POT\TMJSQQXTYZYUNPQV\_YXYQOYNG=>@;53/-,ËÌÌÌÌÍÍÍÍÎÎÎÎÎÏǹ¼¹ÉÏÎÎÎÎÎÎÎÎÏÎÏÎÎÎÎÎÎÍÌÌËÊËËËËÊÊÆÊÊËÌÌÌÈÆħŠxxng]knod_`]V\_UQ[SRPYeeefbhVPUYSPSTRQXRX]aVRTRYY\YYTSOPOI>?=7650.3ÌÍÎÎÎÎÍÍÎÎÎÎÎÎÏĻżÇÎÍÎÎÎÎÎÍÎÏÎÍÎÍÌÍÍÍÍÌÌÉÊÌÍÎÍËÇÅÊËÌÎÎÌÇĵ¢~yneUQb^Y^`^]b_VTQKLUY`aci`ZSOOPNJSPSP_KUUZ[W[Z^[[WRQTOSJEC?C;530/4ÎÍÍÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ÌÁÆÍÌÍÍÍÍÍÌÍÎÎÍÎÍÎÍÍÍÍÌÌÉÊÊÌÊÆÂÄÁÆÇÊÌÍɾ¼«Œ€{pURQPLUVnndbc]YMD@LYPZba^VTRKLJHKIQLYNRUVVW[ZZZ\YTPSNWNCH@>=3/--,ÎÎÎÎÏÏÎÎÎÎÎÎÎÎÎÅ¿ËÁÃÍÌÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÎÌÊÈÈÅÈÁ¾¹Â½À¾ÆÊÈû­ ¨€ytaUYYVfg]nef]UURRXVcUO[\SOVXSKHFOQQXXSQY[UTWWUNNZVSXRWV>66120.---ÏÎÓÙØÑÍÍÍËÊÉËËÌ¿ÈÁÁÌÎÎÍÍÍÍÏÏÎÎÎÎÎÎÏÏÎÎÌÄÂÁ½Â»¹¬À¸¾µÀƽ½¶¤……~rˆyd[_Z\dkUn\S[SNTT_\UNPSWQQRUWLKKSSRZg^NVYVWUUZQJ\ZY\\LB<7541.....ÎÜêííçÕÌÊÿ¾ÁÅÉÁ¿ÇÀ¿ËÌÌÍÌÌÌÍÎÎÍÍÍÎÎÎÎÍÍÌÅÀ¼²½¸¯¢º²½¯·½²»´–…}~ngfcbaT[cZTdZRY^PSSW]UVTNNMKKLSYWORPQPbZMY\YQLMXZPWXPLIA8=<:73/---.ÛðЛ¨ßê;¸³°¶¹ÀÂÄÊÅÁÊÌËÌËÌËÉËÌËËËËËÉÇÉÅÄÁ³®©­°¤¨¬·­¶±®¬ uxulkRadZXcWQ\i^X_XLQRT\`bUQMLKNRMSVJOTNR[^Ya^SOKMYXQYPOXJCD=:;973/...íÅzglšáÚµ¯®®³³¾ÄÆËÈÄËÎÍÍÌÌÊÆËËËËÊÊÊÇÃþ¾³¡œš£¤™–¡«­ª¯¥¨š‚tmidkn[TXWa`VV\ZY^TSWTSUU`WQSONTUQSUWQPXQSX_X^XX\W]`TRXWSP?=E;866763000à†xvrŒÇ縬ª®°±ÀÁÅÊÈÂÊÎÍÍÍÌÆÀÉÌËÊÊȹ³µ´»­Ÿ•Žš›™‘ ³¯¬Ÿ™tgceTg`PLHOWbXQR^g^`n_^b^TVNPPOOQVRUSTXQ[OP_^]gYc_kf^ROLLIK@©‘‹ƒ„Œ½åâÑȲ®¯¬«·Ä¹¬°µ³½¼È»±¾Ãµ© ¡™š ““Ž†€ƒˆ‰~‹Š…ƒ€‚€yvoaWWUU\[UYUTYgQPO\gdRQ[YSMLLIKHFLJISU\`QYQPmrcf_a\T^YVUG<:;86543365;?z{©Ž‚¿äíîçÈǨ¡¡©©Ÿ  ¢¡¡©·­¥£¨™š˜¡™˜Ÿ’“…ƒ„€„xƒ‰ˆ„|{{~vqojdXQYfZQTQT_ZNX\]^XQRRRRMKPPKORRFCMOT_PQM^aa`Ydi\PS\XFTE<<<9566489<=‘ˆ“‡¾ãìäÞãí´ž¡¯ œŸ¤¬§¡¢£Ÿ””’œ™Ÿ›’™ŒŽŒ‹‡‡ƒ}‚‚yˆ„z{xxqhheYWYQV^YT]Y\[VYZZ^[UOJWVNLOJBDFF@@EIGPJRTX[bX`p]^OZ_[HDC@><85667:=@?LJo‹Œ”ÁãíʹÞé²Á¶¼³¸·Æûª  •Œ–š–ˆŠŠ‹Š‡…‚‚€y~ƒ~|vxwrrmlgY\dcbWQRWW^]cWT\SW_[URJOMNJBCDA?FFEBQGTX\W`b`\RbbVVVOKHEG965679<>HGaLk}™ÂãíàÖêéßÞâàâååæåçêðšš•ˆ‹’‘Œ‹Š†‹Œˆˆ„ƒ‚ƒ{}‹€y€wuqsrnhbV[daZQVOQ]hbbVMRSiZbXNQRPJIEGSKCKLLFPR\^YLYdceT`dVOW\PE@@<:8889=@JBX@^t’‘¾ãíìíëëìíìíîííëçåæ粌ƒ‡Š‹ˆƒŠ“ˆˆŽ„‰€}‹‚y|xwvuwsbWRZYZWZVN[ZZ^gjkpqlS\\SMSRFDFPWQQPOPIJWY\ZON_Y_]]gfW`R?:9<<;;;:;>==>>984c8698895463Zx=55798>EGF~ïãü¦z·¯¬NAFQkw``VMNCk“v{~~{‡ZET]gqwV<>><777Tqsql`DRvsmowqih^QWXUYY`]XGERW_W[ZYVX]UOIBEA>>><<@LOW`[UWYSXXNGFCCFJMOSS˜ÓfWWURLKLLH~ÔÁÉulœ›—YZ=EzzxtL;ACH–~€€{?W‚‘œ¤§ˆfS=8<78>DHJ\hXTXX\[ci}Ž“˜›žœœ›™™™——™™˜™–‘…g¬‡ZQBá»sISH>D@AB;:997y¶Ú–|†dIY¤¶··µ±¦²ŠvƒoOSN:343K^Osnimihcc\fod[NQ[[VRSYV_ZV\fYOIBB@ACA@>CHC=J[jk^LQa[’~Žˆ€xqmkifdccccdcceinn`ñ¢ULA•ðË•x~…†‹‘‘‘’’Œ†€˜Íå›{ŠPd=q…ullgŸ™z˜yLPPYM65>tJqsfgkmgb\[V\[POVUMNS][YX\_\STNGABGIB>BRQIT\^i‹iPURr†NQQQQRRJHFEFEDDGOQRQRTK•~UFHjªÀÒÎÌÏÒÔÕÕÔÕÔÒÏÍÖ¸‰|~Sn43643;LMNPURMOG]tb:8Wƒ^`rfdhszhUUVSRTOTXPOZ\ZV[a^ZNRTQIFLQK<>MUNgkjv„fZZOvePmty€„‹b97699;MGEIC9::;;B[E>>8[£ÛâëêëÍ“Ì·ŽžâäáâÛ¸u‚Z‡E9:UŠ–|F;444?MIFV†•Y566‡fR^`dbaa`VXYYTRPPNS[[TYZTMPZSPV[Wp‚uckym[TW\]^`de„[DJ@2557AFGAaRBB;887::?TU@..X”ÝéíîêêãàéãÖÞíéìèì¹t~\ˆBIGT„|KF9668:78Sš’K861o‚Kc`gd_a^ZZTUSUY]UNXYPMNTZZYXbx…‹‚aeqjTRY[ZZ]chj˜rZwyhQUi³ÄÅÇÊÌÍÊÍÍÊËÉÃÇÉË©xwg…GPL`{PHIEDEDA=<`–‡F=:4_›Hj^MLbqooqlrz‡‘‡‰‰‰’²˜|~}z}{kammbV[a_\[^fdp¢`U6B76DVB;=63/SK@FK08IVeigeeefijlmptuvvtrpoooponpsxƒ–ª¼½¦‹wk^N[ivƒ{:ghPEDJ_HCJH==88=EKKKKJE=zwsnkjjjllnpppqqqppppupguU@^><:::88777776778889899:;;BG=cmijjjhfddccddgjnqtuwutspmmooopolku‹§¸»²›`N[`vj?ZzH99;@ACHJQknlrhL>>;;;;yxwtoljiiijlmnpppqqrqqqw±¥CR;:98876667656667556788899;?RuggkjjkjigecccccbehkpsuwwwuromllnppnlpyŒ¨¨|WOBg}aRLD@HNMLLORVXYZXQPOJGGZwwwxupkhhggiklmnooppppoo¢œNE5368654555456665444566558JOFgechgfehiihedbba_^_adinqsuwwwvqlhiknpomkiyŒ•«qyuyplfURbmnlklkiiijklmjYXbvvwwvurmhgfgiijlllmmmnolŠŒ_\pW9344333455;A5544420/2F‹¡an€…„‚~|{yurjdccb````bdimorruvvvsnigilnpomk‰®|ndg^ZZYXmlb`_\ZY[[\]_bkcZYqstvvuurmiffeeghijkkkmmprp`¨´9123334677665441AizŽ§¹¯°­¬ªªªª«¬¬¬¬«¬¤kfdba``a`_bfjmpstvwvtqlggjmnoz¤xdUXYWWWX[[XWWVVUVVVVWVXVWWnpqsttrrqkgda`bcefggijkpwNL•£´¦…:2444316=D8556;¢——‰†ƒ‚‚~{z{|||||€ƒ†‘‰hjgcaaaa_^_bdjmpsssttuqlgfiih’i\TUVWWXXWVVVWWXWWWWWWWWYYXknopqrqrrpkfbaaaabddfhjhnD4~¿Ðèœ~\RV`tKf°HXma|jdcabaaabfpngdddedaaa`ywnnkhcabbca^]`einoprrsttrjf`a~e]TSVXV[[\[ZYYZZZYZZ[ZX\]\[jknorssttrpmhdcbabbcdeh^O<.O¹Öâíé¨w\^eŽhžÐqjfgŸ|^ovvvvvy‚ˆ±«‰Œ‰‚~}urwjlpolifegheb`_afjloprsssrpZYhc\™¡xw‘aTX[^[[_^`]^_[\_TQMxhjlnprstutsqmifcbbbbbdfbC2-0Zxz›¸¤ emk\`Ðú]l›byˆ—›¡¢¦©F@?;m­³µ°®¦ž‚h_mdjmnnljhffeda``cfjlnoprrtZMY[N±ÃÍËï¶TCAWŽWCQuzPAN’^8Ad×afijmoprsrssqnkecbaa`ada?/--.03B?MeQ`ony²Û¥~nˆXˆÇØÚÜÞÞâ~YZUOeÕãßØØÞá’oRidcceimniecbcba_]_aeikmppsXFMVG’åÜ×áîµO@=Ÿ˜5c³½z4‚°I?QÆí^begjlnopqqrqqnieb````c]6,-258<[ÍojÑ܆ZÎyEIméëƒ[ceijlnoqrssrpmhdba`_a^8,.159?GR_v‹ÕîìîîëíñÞ–VmZ¬¹½ÂÅǯPMXfUX´åßÙѵcKrSjkigdbcdfhgd`__]\]][\\_chT@AIMOOYhwÃË…bYKÚ{–¦wÂÇS[ku’¦Åz\dgjklnortrrpomgcba_``<,./29BM_y ªÈîìððïðóψSmG=?BEHIAEwuXVkwdYKAmRdkjifca_adfeba`]\]]]\Z[\`RA@GKOSWX\cddntsxÕçÞááè”pogc_]ÌÂr[dfgikmoprqoqplgda``_?./024GJMQVXafgfhlt{’¸ÑϺž„ytqoomÀζbZadgjklnqqoqqplgc``_@11/9CÁ[54=SPNNQRJ`£f]]C=79;987529E><77;EB:7@83/.3VlVAMUYQPSZ`|¤OgMOPKNOMJLN?34455>g¦UKM@6^Ndf^cilkkjiecbehjkigdba`aX95GKMORX`kllntÒïèåèåíîîô¡hjgjMˆ»ÈÊwY`dhiklmoppoopmjgd=84-,/05=>?BB;?V`ds™~KSMNIFFJKJFIKA<9=CKPmuOHFI@FGaW…–u`jkkkifbbbehjjheb`aY75HLOPRYbigjln¸áÝÚÙ×ÓÒÑшZ[^fZu¬ÀÌ·fZbfhjklnoonopnlkg<76/,-01489:EUXSGC?TPB=:@NSPMD??HcWkZVkkkkkkhdbabdgjhgdcX35HLQR\`beTA97:FHJHIMA@<3,1HUWWw¶ÃΣ]^cegikmmmlmonlmi;4900.+++**+++/He|ŠqaRQPRUTPQRTXUTSUUWZ[ZWXYYZ\``geXXOdjjjjjkjhebaabfgiigZ/4EGHj®dTJJA>`RSbPPWGIKQJPJNƒ¹ÀÌ‘X\adfhijkklnmmke9381HH@54-*,/02JM\ifYYYYYYXXXYYYZZZZZZZYYYXYZYY\bZ>[hffgghijjjjjgdb```ch])2B>@[{e_egT<88:BACFGIIJGCQgjfYPJ[£À˽jZ_adfghiklkidX:34324443/,*.1468aV^wcUXWXWWWXXXXXXXXXXYYXXWVUUTSS\cB]cbbcdddhjiiiigeca``d\*.=<;@JT]krwofegghiiiihghkqpjlaPLJj´ÁЭa\acefghjjkif\K9101/,,-----00-,\vŒyfY\WVWWWWXXXXXXWYVTTUX_fjqy~ƒŒ•Ž“•’‹‡‚zmrqhiiihfdbaaY(,7535;ACGIQQMLIEEDCA?>>=<:41kpgRLLºÃÓšZ_cegghiiijfbZOJHHKKLLLLNNPONPf}eq…‚mXXYYYZZZYYYVvxzŠ™¤¬°°±²°®­¬­­­®®¯±³³¬ƒgggiijigfcaW),56T6('&&"!!"! ""!!!"#$%&(8Gimv]OMS—¿Ê̓[bdfggiijjigb\[ZYZYXXXXZ[]_aa`~n‹ÇʪnY\\[[]\\[Yiˆž°«¦ š•‘ŽŠ†‚~{{z{|}€…ˆ‹_rigfehhd[TK(-66QJ825:75210/.-/212456:>FMrpmgXPM`©ÁÎÆu^dfghijkkkigedb`_][ZZZ[]`dfaZyZa±ìâã²ebddfgiiklŽ~ˆ~tld^ZVSRQRONMKKKLNPRU[\tmefdaa\QLF'-6.$':<<;;:;;;:989::99987776qlmoeSVg…»ÈÔºi_defiijjkkihgedba^\[ZZ\_ac^XcMK®êÈÛî”gqruttuwvŠnXTLJHHKMNNNReMIGFDEEDCDDCCIdeecccbaTH--2.,263411//./.-,+-,---+*))*lmnmhYOOPÄÇÔ¦^`aceeghikjiiigeda]\[[[]_a\TSJFs·ŽÌók|„ˆŒŽ…vJAB????=<:<;8766788777899898Icdcbbaa]Q;/+)*0,&&%%$#$$%%%$%&&%%$$&*+nsqomdSLKU£ÅËÓŽZacdeghhiijjjiigea]\[[\]_]NJJGLQVˆ»…¶ºº¿ÆÌ̧a9:99::;;=>WVF>8::A=76667778?>Wdba```^YQB:77:=?@EHJKNNLKJJIHGGCAADLQmtrsswjTOJj¼ÈÒÇn]bdegghhhijjjjifd`]\[[[]\IDKGMPW[e†Ñ´VLJLLc—G=;CFFGGGHKS‚ŽOJbba``a_]YVTRRSTUVZ`dfgeb`_]\YVUUQOOQUnomkjlg]SML•ÇÉÖ¤Z`bdefggghijjjigfc_][ZZ[]IBKFNQU]kÛŒ2===:u…9A88:998>EC@fqE7@<7443444444<54327B=Mbbaaaa``^^^^^^^][Z\aeihdb^[ZXWWVVVWXlfggsnibQKML~ÀÆÔ´a_dddeefhhiijjiigda^\[[[C>GFJRZcpŠË¨a–Á˾¥J<<228AA>4@C632223554B\NIB;633??C\bacccbba````aa`_][\`ehgfd`\ZYXWWXXXnlfgporiRKMKS¡ÄÉÓ˜a_bdeefhhhiijjjhgd`]\[[?@:217dV/6921111246Qb_]]]acbaaabbcca`^\\`ehjjgb][ZYYZZZhrlioptsg[OLJm´ÂÑËr[bddefhhhhhkkiihfc_]\[;:GHGMU^j|µ¶NªöðÀo9A713LtxoB20010//249EBMS]Z\[B25B=HbQ454Fcccbcbcdddca^]\_diljfb^\[[[Z[twplqpolorZLKNŠÁÇÖ°`addefhhhhjkjiiihea^]\95FJHP]\]n•–Kn»à­X:A:97LwU>=2/0//14BGNPQ_\YUC23B>BXM5744[dccccccdeeca_]\^cijjgb^]\[[[qplhlnifikeLJK\ªÂÊÖ]cdefhiiikjjjjjigd`^]93BILÙXYR9<=G†J:A?LM>JMICBC:.////7IFTGUe_VNF52?=>=74315]dcddccbcdeeca^\[]bgijgb_][ZYpmmdilospojRIKKw¼ÁÐÇp_ddfhijjjkkkkjjhfb_];6>IH¦éÐrN==JNKY\D9EOl_?A?@A@?>653248?CI=LZVLJE;277:=;15BVdccddddccdefeba_\Z^bfjjhe`][[heccgirsoss`MJXh•¿ÄÔ¯cbefghjkkkkkkkkihfc_;29EG]¯xU?2XK9=>@6CK@;:987786;>=::;8655545787ALHGC:EHLYajqid`uuCC53345556789:?AB?>@?<<=<=<====?@;9X>DªÌ³laccccdeeeddeeffdb_\\^chklljecyttotrkjlkhkfLJKIj¹¿ÎÍw[adeefghhijjkjihbW5-44:978::?D@ˆÄ¨LhK;?=<=?@BCCDEKRROMPRTUVWXYXXWRUbVj5“ÝÙŸ_ccccdddeeeddeeffd`\[]cgkmmkgz‚~qkkigijnkbPJMLK¿ÀÔ°\\`bcdffghhijggeXM3-3/90-+06?B>>>???>>?????ABBBBCG]rfa^\bcbbccbbbcccdccdddca_][[agjnkmvsnkmnnggjjjUJJMLŽÇÆÓ¼b^_aeedffgfffda]V@1146655420@c„Œp[DDB@@@@>>=<;:;:999::::99::9:;<<<===>E]hbaabeeacecbcdcddeeedeecb`\Y\bgimnqmmnqtplilmhUMJLKa¸ÈÌÖ^degghhggggfeb_[SMJKMMMMMMKC_“€eM==;;;;;:99888777667777778779;;998:AA8DWcad§ÇÅ›bdcdcbcdeeeeeedccb`][]blklmqttptlknmjpfQJJLL‹ÈÉÔ¾kdeghiihfghgeca^ZVVVVUUUVWWE\xjTB989::9::877898899<<=>>>?==<>>B[rnxˆœ|?Ecb`ˆâïêž`abbbcccbdccbccbbb_][\jpusopqmpijigjrbLKKLK]¶ËËÔ˜afgghhhghhgfdca`^\\[YXWWXWFV__LTrrYUWPB@AACCDFGHaƒSJFJHEDGMJu®ÛíÓ®³Û´8Abba`ˆ§¦–b_`abbbbabbbbbbbbca`\Zpvuojhjnoijlwsuf_YMMNO‚ÉÉÐÉubfghhhhhgggfecbba`_\ZYXXXFQJL]É°¶¥ÓÝе…KONPTW]ahƒpotkdc`XFK§ûܵ´ÏÞö—4AOÓÜÌ»«µÙú¼OBMWYU]£¢™ž˜k:<972Nl©ÙÚÞÙѳ\47bca``a``abbcbbcca`abbbbbbabba_uonnjoqtirrtuu|k]SKKKKuÄÅÏÕˆbeeggggfggffedcccb_][YXZIK98@šîîëÝÕß¾ta1-,+(=gx~„iU0125Ef}dgldXH;517bcaacb`__bcbbcccbaaabbbababbaa„|€yu{wjgpwwy{se]RKKKKPÉÆؽfabdeeeefggggeeddca_]ZXZHJ41:Im}~ywi|Šb=>CB;n§¨¥¡†ECCA@G‹—ubSJC<7258bcbacba```aa`acbbbbaaabbbabcbbƒ|tysqimtnigoiaccUKKK]d|¸ÃËÙŽ]bccceggffgfeeedcb`_[YZIK5/778=BHQ`t‘´t8?ELNYuŸ‡vwxƒnWK¨¡zcRJA;;/.:cccbcaaa`abdbbdeddcbbbccbabccc~xv€ysnr`_hqztjjeYLLJTWV”ÂÃ×Àg`ccbdefffffeeeddcb`\YZIK60728>AKQ`u‘Ã~b‹ÈØÞâéïîíîðñõËfm¹—zbQIA;;1-:cdcccbaa`aadijfefedccbdcbaabcc‡{†z†z‡z‡z‡z‡z‡z†{…z†z‡z‡{‡{‡{†z†z†z‡yˆyˆy‡y‡y‡y‡y‡y‡z‡z…|„‚‚}„xƒuƒtƒt„t†x‡yˆx‡x†z†z†y‡{‡{†zˆw‡u†y†z‡z‡{†{…z…y‡z†{„~ƒ€ƒƒ€ƒ€…y†z…z…y†y†z†z†z†z…z†z†z†y†y†y…y…y†y†x†y†y†y†y†y†y‡y…y…y†{‚~{‚xƒuƒvƒuƒv„u…v†x†x…x…y…x†{‡{†z…y…w†t„v„v…y†{†z†x†w‡y†|ƒ~‚€‚€€…z…z…z„y…y†z†z†z†z†z…z†z…y…y…y…y…y†y†y†y…y…y†z…{…{…z„z„z…z‚~€‚{ƒu„x„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx„y†y‡w‡w†y…{ƒ~ƒ~‚€‚€€…z…z…z…z…z†z…y…y†z†z…z…y†z…y…y…y†y†z…z…z…z„z†z…{„|…{…{…z„{‚€‚z…y„y„x„w…z…|„{ƒy„x†x†z†{…{„{ƒyƒwƒv„v„x…y‡z‡y‡z‡z…{ƒƒ~‚‚€€€€†x…|„|„{…z…z…z…z†z…z…z†z†z…y…y…y…y…y…z…z…{„{„}ƒ~ƒ}„|„|„|ƒ~€€‚|„y„x„w„y…z…|…z„z…z‡{‡|†{…z…z„z„v„v„x…y†y‡y‡z†z…y„|‚~‚‚€€„{‚ƒ€ƒ~„|„}„~…|…z…y…z†z…z…z…z…z…z…z…z…|ƒ}‚}~‚}~‚‚ƒ€‚~ƒ|„z…y„w„y…{…{‡z†z†{†}†}†|…z…y…y„w„v…x†z‡{†z†{†xƒ{ƒ~‚‚‚€€ƒ‚„†~ƒ€€‚ƒ„|…{…z…z…z…z„|„z†y†{„|…|„}€€€€€€€€€€€‚„}…~ƒ„~„{…z…y„w„w„x„y†z†z†{†|„{…{†z…z…x…w„w…w†w†y†z†z†y„{ƒ~~‚‚€€€‚„„†~‚€‚ƒ~„}…|†{†z…z…zƒ}„{„{„~‚€‚€‚ƒ~ƒ~‚‚€€‚~ƒ}…{†|…~†|…z…y…x…w…xƒwƒw„y…{†|…|„{„{…{„y„x…y„x…w†u†v†x…x…y„|ƒ}~‚€€ƒ‚ƒ‚‚€€€€‚€ƒ€„~„}†|‡{„}‚€‚~€}…z†z…|…|„|„|ƒ}ƒ}„~ƒ}„|…|†z†z†|†z†z…y…x…x…y„x„y…z…z†|…|„}„}ƒ{„z„w„y…y†v†u‡u†w…w„xƒ|‚‚€€€‚€ƒ…}‚‚ƒ€€€~€~ƒ~ƒƒ„ƒ}…z‡x‰wˆwˆx†x…{„{„y„|„{…z†y†x†y†{†y†z…z…y…x…y…y…y…{„{…|…}„„}‚|‚zƒz„y†x†x†vˆu†v…uƒv{‚€€€‚‚}‚†~„€€ƒ€€€€€€‚~‚~„{†z‡y†z‡z‡x†w‡v†w…y„z„x…z„y„x†x†x†y†{†{†{…{…y…v…w…x…x…z…|…|†}…~ƒ~ƒ}ƒ{ƒ{„x†x…z†wˆv‡v…u‚w€|€~‚~ƒŒ{Š{‚€€€€€‚‚‚~ƒ~ƒ}„}†{†z†y†{†|…|…z…z…{„{ƒ|„x…v†v‡v‡vˆwˆ{†{†|†{…z…y„u…u…v…x…z…|…{…}„„}„{ƒyƒy…w†x†y†y†w…x„yƒ|~€€€~‚~ƒ|Ž|†}€‚ƒ€‚€€~…|‡{†{†€„†‰€‹~‹~‹ŒŽ~|Œ}ˆ~}„vˆu‡vˆw‰{†|†}„{„y„x„{„|„z†z…y‡{†|…~„~„}„{„y…x†x†xˆw‡z„y„zƒ|ƒ€‚‚‚ˆ‚€‚}ƒ|„ƒ‡„„…~€‡~†}†{‡|ˆ~†}†y‡z†‡‚Ž}‹}Š|‰€ˆ‚Š€‹~Œ}Œ}Ž}‰w†t‡uˆwˆz†y…{…z„y„z„|…{†z‡{‡z‰{‡}…~…~„~„~„{…y‡y‡y‡z‡{„|}€€€‚…€…€ƒ€‚‚}ƒ‰€‡‚ƒƒ„€‡|‡z‡y‡{Š}Š~…z†|††€…}|~{‚{„|„{†z†zˆ}Š}‰}{…sˆu‡v‡y…w„z„yƒy„z„z†y†y‡yˆ{ˆ}†~„~ƒƒ‚~ƒ{„w†xˆz‡z†€ˆ‡‘‡”ˆ—Š˜Š™Š›‹š‹›Šš‰˜†“‡„ƒ€ƒƒ€„„ƒƒ„†ƒ‚|…~„†~‡|…}„}…y„z„{†vƒ{‚€‰|‡|~ƒuˆu‡u‡x…yƒy…y„z„{„z…x‡x‡x‡{‡~…~„~„~‚~„}…x…t‡t‡v†{……Ž‡–„’…‰ŒŠ‹Š‹ŠŠ‹Š‰‰Š‹ŠŠƒ‚‚‚€€€€€€€‚€‚~…€ƒ†}Š|‡‚…‚†yˆx‡x†wƒ}~ƒ‡‡|€y‡y‡u†w…y…x…y…{„{„y…y†x†y‡|‡}…}„{„{…x…wƒsprr€~†…„ƒzzƒz†{‰yŠz‰zŠxŒxŒyŠy‚€‚‚€‚„…„ƒƒ…€…ƒ‡|‰{„ƒˆzŠzˆzˆz„€~‡†‰|‚~|…{†z„y„yƒzƒ|ƒ}ƒ|„{†{‰{‡z†x†t‚pk~pq|t}t|tzqysz‚‡ˆƒŠ{Š}‰‡|ˆzˆ|‰|‰zŠzŒ{‹{ƒ€„ƒ€„€ƒ„ƒ‚ƒ‚ƒƒƒ‚‚ƒ‚„„†|…|…~…~ˆ{‡|‡}†}ƒ††Š{†}‚„€ƒ€ƒ€‚€‚‚€ƒ€‚ƒ„‚„„|„x„uu€xx€y‚z‚y‡v‰z…‡‰€‹yˆ~…‚‰|‰yˆ|ˆ|‰{‰zŠzŠz‡}‡‡†ˆ~‰}ˆ}ˆ}‰~ˆ}‡……‚ˆ€Š}ˆ}‡}‰}‰}Š~ˆˆ~‰~ˆ€ˆ~‹}Ž|Šƒ‚‚ƒƒ€ƒ€ƒƒƒ€ƒ„„€„€…€†€…€…‚ƒƒ‰„‚|z»¡†Ž‰}‰z‡|†ŠzŠyŠ{ˆ|ˆ{ˆ{ˆ{‰y‰{‰}ˆ~‡~ˆˆˆ}Š|Š|Š|Š}‡~†~Ž|zŽ|}‹|‹|‹|‹|‹}Œ|‹|Œ|Œ~||‚‚ƒ„€…€„€„„€ƒ‚‚ƒ€ƒ€„†‡‡€†€…€‹} €˜†–‰Ž‰ˆˆ‰‡Œ‡Œ‡Ž††Ž†‡‘ˆˆ‰{‰{‰}ˆ~ˆ‡€ˆ‰}‰}‰}Š}ˆ}ˆ|~ˆ…‰Š}‰~ˆ~ˆ~ˆ~ˆ}ˆ}‰}‹}ŠŠ‹…„€„„„€…€„„ƒƒ€‚‚€€„…€‡ˆ‡„†ˆ†¤‰­ˆ³‡°Š©Š­‰²‡´‡´‰²Š®‰­†·‰|‰{‰|‰|‰~ˆ~‡‡€ˆ‰~‰~‰}ˆ~‡‚…‡‡~†~‡†††‹}{z|‘{‘x’x“y’x’x“zz†ƒƒ€‚€‚‚€‚€ƒ…€†…€†Ž‚º}ËzÍxÎzÉ{ÊxÎvÐvÑxÐ|ÌyÎwÒŠ~Š}‰}‰|‰}‰}††€‡‡ˆ‰~‡…€‚‚‚ƒƒ‚‚‚€„ƒ…„…‚†€Š}Ž|{{{}Ž€~Ž|{Ž|Žz‰}ƒ‚‚‚‚€€€€€‚„‚†•ƒš}¬yºtÅrÊsÌsÎsÎsÍsËuÇuÃwµˆŠ‰}‰}Š}Š}‰~‡~†‡€‡ˆ~…„€…„‚„‚ƒ‚‚‚ƒ…„ƒˆŠ|ƒ|~|{}~~†}‹}ˆ}~|~}~~‰}…‚‚‚‚€€‚‚¢‚–|~…Š‹~Ž‘Ž€‰†„‚~ƒˆ€ˆ‰~Š}Š}‹~‰~††€…€†€ƒ€ƒ€…€ˆ~ˆ~†€ƒ€‚€‡‹|‚}|~|~}~‡{‹wˆy}|z€|~ˆ|Š}‡…€ƒ‚‚ƒƒ‚‚‚‚‚€|¨xÃy°|Ž}œ}–€„‚‚€ƒ‚}š~§€™€ƒ†‡ˆ‰}‰}‹}‹~‰~‡†€…€ƒ‚€„€†~…~„‚„„‚……‡~‰|‡|‰Šˆ~Šz‹v‹w‡{‡ˆ€‡}ˆ{‹{Š|ˆ}†€ƒ€‚‚ƒ€‚€‚‚‚‚‚‚z¨sÎqÒtÎvÆtÇvÃ|¨€Œ| wÁtËtË}„ƒƒ‡€‰~‰}Š}‹}‹}‰~‡…‚‚€‚‚‚‚ƒƒˆ‚‹„‹…‡‰~‡|‡|‰|Š|Š|‰{Šzy‹|ƒ‚…ˆ|‰|Š|‹|Š}‰~‡…€ƒ€‚‚€€€‚ƒ~{¥rÍqÏrÎtÃx³~œŽŠŠ~}—y®uÀ|‡|„‚†€ˆ‰~Š}‹}‹}‹}ˆ~†‚€€€‚‚‚‚‚‚ƒ„ƒ„†€‹|‡|…|†}…}†}…|‡}Š|†}}„~ƒ„~…~ˆ}‹|ˆ~ˆ}‰~ˆ~†€ƒ€€€‚‚~}œrÌsÏsÐw²‰…~ƒ€ƒƒ‚„‚„ƒ~‚zŸ}‘}‰~‚ƒ‡€ˆ‰~Š}Š}‹}Š}ˆ~„€‚€ƒ€‚€‚€‚€‚€‚…zzŒyŒ|‹{‹{‹zŠ|Š{Š{Š|‹{zŽzx{„†~‰~‰}‰~ˆ~†ƒ€€‚€‚€‘y¼z°x·{–€€€†€‡€ˆ€ˆ…€~‡|„~„}ƒ}‚„‡€ˆ‰~Š}Š}‹}Š}…€€ƒ€…„‚€ƒ€ƒ€‚€†y–v–v•w•v•w•w•w•v–u–v”v–u—u—t‘y†€ˆŠ‰~ˆ}ˆ}ˆ~‡~ƒ‚‚‚ƒ€‰†Š…€‚‚~€~‚v„~„ƒ}ƒ‚†‚‰€ˆ~‰}Š~Š}Š}†€‚ƒ…„ƒ€ƒƒƒ€ˆŽzy‘x’v‘ww‘w‘w’w“w’w“x’x‘x’xz‰~ˆ}Š‰}‰}ˆ}ˆ~‰~‡~…ƒ€ƒ€€‚€€€€€€€ozƒ€‚‚~‚‚‚‡€‰~‰}‰}‰~‰}‡~ƒ€„ƒƒƒ€ƒ„ƒ€‰|‹|…zxŽxŽxŽxyzyzyw‘y‘y’y‘y‘y‘x‘x{‰}ˆ}‰~ˆ~‡~…€‚‚€…„…„€„€…€„„…€…„€h{m~{}zŒ~‚ƒ‚ˆ‰~Š~Š}Š}Š|ˆ}ˆ‡…„€…†€ƒ€‡}„€|†}„†€‹|Š|ˆ|‰|z’z“z’z‘y‘y||{Žzz{z‘{‹|ˆ}‰~‰}Š}‡‚€‚‚€†‡~‡~‡†‡†~††††i}i{r{‡}‡~‚ƒ†‰Š~‰~‰}Š}Š}‹}‰~†€……€†€…€†~…€‚ƒ„‡†…‡~Œ{||{{Š|‡}‰}Š|‰{Š{‹z‹{Œ{Š{ˆ}ˆˆˆ†€ƒ‚‚‚ƒ‚‚‚‚‚‚‚‚kj}k}w€ƒ~ƒ~ƒƒˆ€Š~‰~‰~Š~Š~‹}‹}‰†€……€…€„…~…}„€ƒ€„€‚‚‚ƒ‡~‰|Š|Š|Š|‹{‰{‡|‰|‹{‹yŒyŒz‹zŒzŠ{‰}ˆˆ‡†€…ƒƒ‚‚‚€‚‚€€‚‚‚‚‚ƒonmt‚ƒ€ƒ}‚~ƒ„‰Š~Š~‰~Š}‹}Œ}Š}ˆ……€…€ƒ€„…}„‚‚€‚‚‚‚‡}‰}Š{ˆ‰Š{‰zŠ{Š{Š{ŠzŠ{‰{Š{‹zŠ{ˆ}ˆ~ˆ~‡~‡†€…†€„ƒ‚€‚€€‚‚ƒ„€…†oƒn€j|m€x‚€‚~ƒ|ƒ€‚†Š~Š}Š}‰}‰}‹}‹}‰~‡†€„€‚€ƒƒƒ‚€„€„ƒ‡~‰|Œ|…€‚‚ˆ}Š{ŠzŠzŠ{ˆ{‡|‡{ˆz‰zŠ{ˆ}ˆ}‡†‡ˆ‡€ˆˆ†€…‚€€„†€†€†€llizh|j}y€€‚}‚}‚ƒ€‰~Š~Š~Š~Š~‹}‹}Š}ˆ~†€„€‚€€€€€ƒ€„€…€…€‡~ˆ|‰~†‚€‡}‰{‰{‰{ˆ{‡{‡{‡{†zˆz‰{‡}‡}…„€‡‰~‰ˆ~ˆ~ˆ~‡…‚€€€ƒ€…€†€nm~izhyezs€ƒ~”|‰‚†Š~Š~Š~Š~‹}‹|‹|Š}ˆ…€ƒ€‚‚ƒƒ…€†€ˆ~ˆ}ˆ}ˆ}‡|ˆ{ˆ{‡|ˆ{ˆ{‰{‰|‰|ˆ|ˆ}ˆ}‡~‡††€ˆ‰~‰‰ˆ~ˆ~ˆ~ˆ~†‚€€€€‚€„€l€j~gyfxfyl}{„€Š~…|‚€‡€‰~Š}Š}Š}‹}‹|‹|Š}‡€‚€€‚‚€‚€…~‰~‹}Œ||{ŽzŽzŽz{y‘y‘y’z’y’y‘yzzŽ{†ƒ‡€‰ˆ‰ˆ~ˆ~ˆ}ˆ~ˆ~†ƒ€€€gg~gzfxhxizq}€‚}‚|‚‚ˆŠ~Š~Š}Š}Š}Š}Œ|Š~‚€€ƒ€††„€„‰}yx“x–v•u–t—u—v—v—u—t—t—v—u™u˜t˜u–vŒ{††ˆ~ˆˆ~ˆ~ˆ~ˆ}ˆ~ˆ~ˆ}†ƒ€‚€ig~gzfxgwhxhyu€ƒ€‚}‚€ˆŠŠ}Š}Š}Š}‰}Š|ˆ~ƒ€€ƒ€„„„€‚€Š|’w”w—w—v•w•x•w”x’y’x’w’x’z’y’y’y“x”wyˆ~‡~†‰~‰}ˆ~ˆ~ˆ~ˆ~‰~‰}ˆ~†€‚‚‚jh~gzexgyizhzs€ƒ‚‚‚„€Š~‹}‹}Š}Š}‰}‰}ˆ~„€‚‚‚‚‚‚‚‚ƒ€„Œ|z{Žz{|Œ}Œ|‹|Š}‰}Š}‹}Š}Š}‹~‹~‹‹~Œ~‰ˆ‡€…‡ˆ~‰~ˆ~ˆ~‰~ˆ~ˆ~‰‡€„€‚‚jh~g|fxh{i{h{o~}‚€‚}‚€ˆŒ|Œ|‹}Š}Š}Š}Š}†…€…„€ƒ€‚€…Š€ˆ‰ƒŠ„‡€†~…~……„„ƒ€‚€ƒ€‡‚ˆ‡Š††ƒ‡‚Š€ˆ‡‚ƒ€‡‰~‰~‰~‰~‰~‰}ˆ}ˆ~‡ƒ€j€j~j{h|i}h~h~ku€‚‚}‚‚Š~Œ}‹}Š}Š}‹}‹}Š|‰}ˆ‡†€„€„‡€„‚„ƒŠ‡Š‡†ƒ‚‚ƒ‚ƒ‚‚‚€‚…„†…Šˆ‡††„†ˆ~‡‡†€ˆ~Š~‰~‰~‰~‰~‰~‡~ˆ~‰‡€l‚l‚jjnƒk„iƒj‚q}‚‚„~…‚†€Š~‹~Š}Š}‹}‹}‹}Š}Š}‰†€…€‚ƒ€…„‰‡‡†„ƒ‚ƒ‚ƒ„ƒ„„„„†ƒ…ƒ„ƒ‚†„‰…‡„…‚„€‰~Š~‰~‰‰ŠŠ~‰~‰‰~‰}ˆ‰~‰~‰lˆl‰m‰oˆq‡p…m…o…s…|‚€~—}~‚‰~Š~‰~‰}‹}‹}‹|‹}Š|Š}‡…‚‚‚€ƒ‚„ƒ‚€‚‚ƒ„„‡††………††„…„…‚‚€€€€‚€‚€ƒ€ˆ~‰~ˆŠˆ‡€ˆ€‰‰‰~ˆ~‰}‰}‰~‰~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÍÎÏÏÏÏÏÏÏÎÎÎÍÍÌÌÌÍÍÍÍÍÍÌÍÍÍÍÍÍÎÍÍÍÍǾ´­¡Ÿ“}sfixjiinmrcgaT]a\\c\S\b^`WQPSZY^e^dSTWVTVTTYUPW`^ZWTMD>8<:522?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÂÊÎÍÎÎÎÎÎÎÎÎÌÍÍÌÌÌÌÌÌÌÌÌÌÌËÌÌÌÌÌÌÍÍÎÏÏÇ´š¢˜tys^\^q{m\_nlg[YZ[_YVUN]g_\SOOQXW\gigOT\`YPPLQRZ_a[VNNKA@75542086ÎÎÎÎÍÍÎÎÎÎÎÎÎÍÍÇÁÄÀÈËÌÌÌÌÌÌÍÎÍÍÍÍÌÌËÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÍÎÏÎÍÀ£ˆˆrklmkmlot{y^a_cdY[[[\]SRV[cY[ZVUTTSWZhcPQX[ULMMSS\c`a[PFC@;741110.0ÎÎÍÎÎÍÎÎÍÎÍÍÍÍÍÈÂÆÁÉÌÌÌÌÊÉÊËËËÉÉÊÊÊÊÊÊËËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÍÍ̵—zkptyt}~bca]fX`cc[[WVaYTYdeROSVXSMLVNXgQNSWYQMROPX_^_VTUNG?;7432/,,ÍÍÌÍÌÍÍÍÍÎÍÍÍÍÎÉÀÂÀËÎÎÎÎÍÍÍÍÌÌËËËËËËÊÊÊÊÊÊÊÊÊÊÉÉÉÇÉÊÊÌÌÊÊÌÀ’…€r_j{kcg^`aWi`XYTTM\`^`ol\POT\TMJSQQXTYZXUNPPV[`XWYQOYNH=>@;52/,+ËÌËÌÌÍÍÍÍÎÍÍÍÎÏǹ¼¹ÉÏÎÎÎÎÎÎÎÎÎÎÏÎÎÎÎÍÎÍÌËËÊËËËËÊÊÆÊÊËÌÌÌÈÆħŠwxnf\jnnd_`\V[_UQ[SRPYeeegbhVPUYSPSTRQXRX\aVRTQYY\YYSSOPOI>?=6650.2ÌÌÎÍÎÎÍÍÎÎÎÍÍÎÏĻżÇÎÍÎÎÎÎÎÍÎÎÎÍÍÍÌÍÍÍÍÌËÉÊÌÍÎÍËÇÅÊËËÍÎÌÇÄ´¡}xpeUQb^Y^`^]b^VSQKLUY`aci`ZSOOPNJSPSP`KTUZ[W[Z^ZZWRQSOSJEC?B;530/4ÎÎÎÏÏÏÎÎÎÎÎÍÍÎÏþËÁÅÍÌÍÌÍÍÍÌÍÍÍÍÎÍÍÍÍÍÍÌÌÉÊÉÌÊÆÂÄÁÆÇÊËÍɽ»ªŠ|pURQPLTVnndbc\YLD@LYPZba^VTRKLJHKIQLYMRUVVW[ZYY\XSOSNWNCH@=<3.---ÏÏÎÎÏÏÎÎÎÎÎÍÎÎÎľÊÁÃÍÍÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÍÌÊÈÈÆɾºÂ½Á¾ÅÊÈû¬Ÿ¨ŽytaUYYVfg]ofg]UUQQXUcUO[\SOVXSKHEOQQYXRQY[UTWVUNMZVSWRWV?66110..--ÏÎÓØØÐÍÍÌÊÊÉÊËÌþÈÀÀÌÎÎÍÍÍÍÏÏÎÎÎÎÎÎÎÎÎÎÌÃÂÁ¿Ã¼º®Á·¿µ¿Æ¾½µ¢…„~qˆyd[_[[dkTn\S[SNTT_\UNPSWQQRUWLKKSRRZg]MUXVWUUZRJ\YY]]MC<7541.....ÎÛêðïäÔËÉ¿½ÀÄÈÁ¾ÆÁ¿ÊÌÌÌÌÌÌÍÎÍÍÍÍÍÍÍÌÍÍÌÅÀ¼³¼º°¡¹²½±µ¾³»²”„}}nfeba`TZcZScZRY]PSSW]UVTNNMKKLSYWORPPOaZLY\YQLMXZPWXPLIA8=<:73/---.ÚïÖ¯»æêξ¸²°¶¹¿ÂÃÉÅÁÉËËÌËËËÉËÌËËËËËÈÆÈÅÃÁ³¯¨¬¯¥œ¨¬·®µ³®¬Ÿ€twtlkR`dYXcWQ[i]X_XLPRT\`bUQMLKNRMSVKOTNR[^Y`\SNKMYXQYPOWKCD>:;973/...íÉ}gn¡äÛµ¯­­³²¾ÄÅËÈÃÊÍÍÍËËÊÆÊÌËËÊÊÉÇÁľ½² œš£¤˜•¡¬®«®¦§™ƒtlidjmZSWVa`VV\ZY^TRXTSUU_WPSONTUQSUWQOXQRX_X^XX[W\`TRXWSP@=E;866763000ã‰wvq‹Ç麬ª®±±¿ÁÄÉÈÂÊÍÍÍÍËżÆÌËÊÊȺ³µ³»®ž•Ž™š˜‘ ³®«ž—vhceTg`PLHOWaWQR^h_`n^^b^TVNPPOOQVRUSTXR[OO_^]hZc_jf^RPLLIK@;756679×m“¾ãìκÞêŵŸ»´¹¹Çźª  •Œ–š–ŽˆŠŠŠŠ‡…‚‚€x}ƒ~|~vwvrqmlgY\dcbWQRWW]\bWT]SW_[UQIOMMJACDA?EFEBQGTX[W`b`\RcaVXXPKGDG965569<=GFXK`q—ÀâíäÜêéááäãäååçæèëïÄšš•ˆ‹‘Ž‘‹‹Š‡‹Ž‡Œˆ„‚‚ƒ{}Š€ywuqsrnhcW[eaZQVOQ]gbcVMRSiZaXMPQOIHDGSKCJLLFPR\^ZLYdddT_dVOW^PD@@<:9879=@KBZGMl‡²äíìíëëìíìííííëèåç꼎Œƒ‡‰Ž‹ˆƒ‰”ˆˆŽ~~…Š|Š‚y{wwvuwtcWQZYZVZVN[ZZ^eghmqkS\\SMRQFDEPWQQOOPHJWY\ZON_Z_]^hfV_S?99<<;;;:;><>@S“fyÙêëëëëêèäáÝÛÞÒÌÅÁÄšƒ„…€„ˆ‡|‡ƒ‰‘ƒ‚ˆ~‰‹„~‡‚{xvx|uvp_X]`UVSSV`XPM^rsbZ]gQTNLTSMLIC?KURSUSO\cde[SYY^\R]XSTF;99;:69:9:>==:7787Wq@989<;@FGFdéð÷Îl­°¼h@DHh€pg`LJKF}w|}|ŒSNORX^^R\nlQHGMgihbXELttnowpig^QVVUYY`]XFERW_W[ZXVW\UOIBEA>>><<@JOW`[UWZRWXNJB:7543330ŒàO37886;DFFjÄÁ͘^œš¥\gB<^vkqP99C8z”™‰~ƒc?_sŽ•ŒO?4/059@VXV[^YCXuikskig_N\l^URZ[ZSPWWYc_XV[YUMHEAA?><78>CHI[hXTYYZ[YJKQXajpwz~‚¤½Œƒ†‡†€{unh¼ŸfUEnæË’CRKFCFBHEEDC>^´ðÅ}„JK‚¦«±³°ŒsY[]QPND223<\Ejohmihcc[fpd[NQ[ZVRSYV_YV[fYOHBB@ACA@>CID=IZjk^LPdSMwž¢ž˜•“Š…{€‚‚‚‚……‰ŽŒõÃaMDnèÕ°Ž”—œ¢£¥¦¦§£ž¤Ãܳ|ƒxLTf±°©—¡Âˆ†£YOQHB865bWZtfgklga\[V\[QOVUMNS][YX[_\STNGABGIA>BQPHR[^hŠmOUYJk“gngb\YXWWUUUSSSTTTSSUY—†^HD[™¼ÐÔÑÓÕ×ØØÙ×ÖÕÔÒÖÍŽ{|ˆfaQ6NME=ILYnkmlRNMfgM36OrLpgdhszhUUVTQTNTXPOZ\ZV[a^YNRTQIFLQK<>MUNdkju„hZ[SH|oFPWZ]_aJ><;<;;6579<>HRRQMJLzeLKIQÌÜãêêéÕÐÛÝÌÎæêäàØÀ}y€X}656b€UBOLLJKMMMGjtV:<[ŒlOb`ZZidVNW[_[YSMNWVZd`aYPOUSME?=FTYSYcene\YY_bdiilŒXŽ°µ²ª¢šˆMA68@DEJJ?<;;60^‹I^`dbaa`VXYYTQMPNR[[TYZUNOZSPT[Vk‚xcjxl\TW\]^_dhh„[PkeSGA;@HM@HFEDF?8889;Y^M/-E‡ÌìéìêêëçêëããëèîêìÔ~{jxe:DD|’¥`C7335?A>B‚Ÿ=64G˜P[afc_a^ZZTVTX]`UNYYOMNS[ZYZdw„‹‡dcqjTQXZ[[\bhlp—o\=J:489;EFAVŠPBC?9:;:99wxpTTa{©ÑÖ×ÖÙÔÑÓÖÖØÔÒÕÔÖ½€€`„YHMH_„uRLG<<<<868rk;969”gVifbirooqlqz†‘ˆˆ‘Ž‰‰°€}€}z||obmm`TZ`^\[]feis¡`X8I879;8AE85=>BC<=CDD<7oonqtutw{~€‚ƒ„„ƒxkiuZ”WVYY}{]FHJKLJNHK^‰”`?=;8ŒkKkE?Bgwuxzyxvtuuwvwyz€‡•¥³µ«™‹~rklkmokhfb^]^[[a~žTN7@79UhO=:5326;>;?DDD<4pnkklmnqtuttsstvwy{}{I;7i‚IqO^^BRCDLV]\XNOELQjnQF?97J0SkimpqtuvuvvtrqrqppqvŠ™¦®®¦ž‹}shgfeb\ZZUfŒHH?E??sƒ~B;5344557;>>><7spljijjlmprsqqopppsvzv=68=KE87654Ypijjjjjifdcdbbcbdgkosuwwwuqnmklnpomlp{‘¬½vNPN^fRMV;57=BBDGJRgllqgLA@<<865443//3E˜´®‡i€‰ŒŽŒ‡„‚}zrhccba`aa`_bfjlpstvvutpjggkmnnp¨wf\`[XXWZie\ZYWVVWWWWXZ`\Xnpqstsrqojfda`bcdefgiiiluiS~¦©·u8/01223582364116a}’§¶¯¬¬¬©¦¨§¦§¨©ª©ªª£‹iigc``aa^]_adjmprrstttpkffilizšn`TUWWWWWVXVWVVVVVVUUUVVWWkmooqqqqrokfba`a`bcdeghjtc2m¢ÄªÇ‹II??A@:8”°>oÏ׆8¡¤HCbãƒ[ceijlnoprssqpmhcaa`_acF,,167:@FN[mœÑ×ÛãêéåéÀ‚Wj æÞÞÞÝá»M\aaKáÝÚÖØàØ[sTejigcbcdfhgd`_^]\]\Z\\_bekM@CLNRey¢£âö€DARÏ“c¹ÃryÙdFOyÜÆ{\dhjklmnqtrrpolgca`_`bK--/26=FQayžªðèííëëìï¸t[au°±³¸½»L]eeQkÐßØа–DacZjjiea`_adfeba_\[]]\\Y[[[bN@BHMPRVZl®ªznhW’鞥°”Þ²ZiqqxÌÂr[dffhjloprqopplgca``aO/./04;BOd§¥ðïóóòòóì®ec[?;;=@BA8::87:7>txRO<49::7?J>GJMQVWbkorsw|ƒ‘¦¾½§”‹„~|yu«ÃШ\[aegikmnoopqpolgbabP2302@qé²VLTq^WY^`a_Š’OiK?97;<87645=A8767AJA78?8Z\Zkklllkifaadghjhfedaa`a``N<=HILPUWap{‚†‰®ÉÉÊÎÎËÌÑÓ›}|vw¶ÅГW^cehjklnoppponkgbbO47/05fÆ™mqƒ”–˜œ¢£¤®¤|OgFG@BTWJ??7444365A‹›v;875FfTlkilmlkjhdbbehjkigdba`_bQ8:IJLOSW_lrprzÌîçæèæíììò£hhiN‹¼ÈÊwY`cgiklmoppoopmjfdO49../5FM?9AG><<@IOŒžlScIRNKNMKJOJ944467Is©‹KNK<@KYWMCADZGA;;EQRQJ@@?>B@?NgO}sQ]kjjjkjheba`begiigeQ-7ILPUkgb_O<+-,15@=@F876.-4JOJO‰»ÁÍ‘X\adfhijkklnnkllR-<3/=1,+*))+**7Xj†ŒuoVRRSTUSQRRWWUVVWWY[\YXYZZ[]`_j]\PThjiiijkkjgdaa`cehiiS*7FEFÉ‚bPKLGJHKJjXXaTU\MNKS]RMU—»ÅÇwT\_bdfhijlmmljcL,:52DOG>762+***/9UŒqsa^]\[[[[[\][[\\\[Z[[[\ZZ[[[]^eYC[hfghhijjjjjgdc`_`bfkT&7D>C‘Ò{^]`G?FFCCEBB@???=59]fXPJ_¨Á˾kZ_adfggikkkjdYH-8532@CC71.+-05:ANT[rZZYYXXXXXXXXYYYZZZZYYYYXYZYY[dODbeffggggijiiigec`__`gT%4@=AIJLNPRSVRP]ml`PLJq·ÁЮa\acdfghjjjji^K34/00-+,,+)*-.0.>=:866421110.+imw]OLVœ¿ÊÎ…[acefghhiigd`XQOORTTSSRTUVVVWcire€‚y^WXXYYYYYYYXWvmr’¥«­°±±±¯¯®¨«°°±²²±¦€jggfdghgfa[J%04A`<(&&)$#"""""!"""$$%'),;rpmgXPLd¬ÁÎÈy]cefgijjkigea_]\\\ZYYXY[]`cc\jŠqz¬ÈÃ…^Z\\\\][[[Xl‰£±®©¤žš–’‹ˆ‡„ƒ€€‚„ˆŒ•Œ]ngeddee[RMA$143A>:68;:75444203655678:=@qlmoeSVg‡¼ÈÔ½j^ddfhiijjjifecb`^\ZZZZ[^adfVmsd€ÚéáÔƒ^cddfghhjo•yŠ‚ypjd_ZWUSRQOPOMMNQUWW`^vmcba``[SLB%03,#)::;9869987667877676432llnlhXOPPÄÇÔ§^_aceeghikkhggeca`][ZZ[]_acTdYRfßÜÇìÑmmpsutuuw{‘j\WOKHHJLMOPTeOLJIGFFDDEDDDLedaabbcaTF,//,-44//-+)))*)((((((()('%$nsqnmcSLJX§ÅËÓŽZ`cdeghhijiiihfed`][Z[\]^aRYKIO«³œìßttz}…ˆŠ‹€qKBB?@A@?==<:9;88888778899998Ibca`a``\O:.)(+/*''((&&%&)*(&'(((&&'+0lsrrswjTNJm½ÈÑÇn]bcefgghiijjjihfc`]ZZ[Z[`RLIHIPWe·³yžµº¾ÅÍÒÌžW::8899:::<>@DFIOSUUUSQQPPNJHIFEFINmnlkjlg\RMM•ÆÉÖ¥[_adefggghijjihffc_[ZZZZ^RDJHJNSY`n ÜŒ[WWYZs’C<H`a````^\ZWVUUUVVVY_dfgea_\[XURRSQPPRmdcef`c^SMJcµÄÎÏyY`fgeffghiijiiggea\[[ZZ]SCHIJOQWbv°ÛM5:998}w9@8<<;;9?DB>o|G7A<9643444554;139=<;4@@832333653=[MH?8533>?C\bacbbbb```aaaa`_]\\_cikjfa\ZYXXYXXhrkhnossf[NLJr·ÂÐÌs\bcdefhhhhijjihgeb^][\O9BHEIPXds˜ÏpqãóóÌŠ;A8218asL/8921110246:HNJMMH=419A>Paaabbccbaaaacccb`^\[^cikiga][ZZZYYtwplqpolorZLJOÂÇÖ±`acddfghhhjjjihhhe`^\]N4@JFIOYcqŽÎ}_ßòé²g9A413Kp}\61/0000/248CAJR[Y[V?16B=GaW99:Icbbbbbccdeb`^\\]chjjgb]\[[[ZqplhlmifikeLJK`®ÂÊÖ]cdcfghiikjiiiihfc`]]O/=JGHOY\f¸„Q«Ýâ¡N;A758Wˆz…L<90//0/04?GKPR^[[YD23A>CYT4543Wcbbcccbcddb`][Z]cgiiga_\[ZZpmmdilospojRIKKz½ÁÐÇp_dcfhijjjjjjjjjheb^_P.:HEe¥©sPa`B=>^›ˆD;A?FB@TVPDBB6-////6IFTHUd]UME42?>>A>343/Udbbddcbcdeeb_^\Z^cfjjge_\[[gecbgirsoss`MJXhš¿ÅÔ¯cbdfghjkjjkkkkjigea_P2:EEiÙå©SQ<>GKKf`A;ELrZ>A@@B@@=332138CEM?Sa[QOF8/66:<5/08Fadbbddcccdeeeca^[\_cgjkkhb_^djlhnpklpsplUJMLY¨ÂÇÕ•^beffghjjkjjkkiigdaR/7?HKˆ½¦`Q69eK@?A?7KSI?==;::98;<;8896667568:88AJEEB:;qº§hbccbbcccddddefeda^]\_chkllidbxtsotrkjlkhkfLIJIo»¿ÎÍw[adeegghhiijkjihfcS)48CGLXcfpjXTC[Y@>45535444568:@BA??A>9:;;::;<<>BB=8L9SÑå¦_ccbbccdeeeddeeffc_\[\bfjlljfy‚~qkkigijnkcPJMLL’ÀÀÓ±\\`bcdeffhhijjiif]K(44;=;:=?DKME½•H^;9<::<<=>???@FLHFFHHIKMMNNMLJIKTMzc9kqobbcaaccdededdddfgea_]\]aeilljpuqttlmglnnlkeYNLI`µ¿ÈÓX_bdeeefgghihef^RC)4024.++15@:7¼‰F†kE@GMQV\^beeiknpnlmnnnnmmnopnnqye{‡SN]\kkbbbbbcdcdcbcdefecb`^\\`fjlmlurstloihkllotiQJKL“ÅÆÖ¸bacfhfeeggghgdb^UG)217739==<<<;:::::;;::;;:;;<==>>?@Ibjac¡Á¾—bdcccbcdddcdcddcbb_\[]blklmqtuptljmljpgQJJLLŒÈÉÔ¿ldegghhgefhedc`\VJFFIJJJJJJFFj|eI==<<;<<;:9988777777877778789;;;:99::8D[b_‹äïéa`aaabccbbbabcbbbb_][\jpusopqmpijifjqbKKLLK^·ËËÔ™`fgghhgfggfedb^[WTTUUTTTUVTFdhXB89:::9::788786676589:9:;:99;;;ETT`t~cAEaa_¯®žd^`abbbaabbaabbbbba_\Zpwupjhjmoiilwsue^YLMNP‡ÊÊÐÉubfgghggggggeda_][[ZYXWVVXUF\h^HC[TDBD?;<==>?BCCFXpPKIHFDDGKI\Š¼ÞÒ§®È¾>>`a`\[Y\`_`aa`abaabbaaabbaa`][gikga]aiip{wsvoindRLNQ[²ÊÇÖ«effhihhhghhfecba_^^\ZXWWWVFRQLe°£ª˜ÀÁ­ŒfINLJKPUP`^XX\[YVRJKªúæκ¿Îí¯89_a``````abbbbbca`abaaabbaba`_tnmmjoqtiqrstu|k]SKKKK|ÆÄÏÕˆaeegggfefgfedcaaa`_\YYWWWFKAAjéÄÅ°Æ×èø´KES^bah£›£ž¡¥pNPLF5MwÈæ×ßììâ|75`aaba`__abbbccbaaaabbaaaabba`„|‚€yu{vjgowwy{re]RKKKKR¢ÉÇ×¼e`bdededfffffdbbba`][YXXYFI99OËõêáÉÈå×€V2220,Cqz~{~eT')*,=\uh‹šmV;33_baba```_`a`ababbbaaaaaaacdbaƒ|t~xsqimtnigniaccUKKK]d»ÃËÙ]bccbegffggfdddcba_]ZXYYEI13An­¶¸¸¯ rsvG57:;@u¥¥§ªŽODEDCL€‘q^RIC;6363_cbb````abdccdedcbbbbccbabcbb~xvysnr``iqztijeYLLJTZZ˜ÂÃ×Ág`cbadefeeffddddcb`_\YXXFI1/779<:522@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÂÊÎÎÎÎÎÎÎÎÎÎÌÍÍÌÌÌÌÌËËÌÌÌÌËÌÌÌÌÌÌÍÍÎÏÏÇ´š£—tys^]^q|n[_nlgZYZ[_YVTN_g_\SOOQXW\hhgOT]`YPPLQRZ_a[VOMKA@75542086ÎÎÎÎÍÍÎÎÎÎÎÎÎÍÍÇÁÄÀÈËÌÌÌÌÌÍÍÎÍÍÍÍÌÌËÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÍÎÎÎÍÁ¥ˆˆqklmlmmpt{y_b_cdY[[[[]SRV]cY[ZVUSTSWZhcPQX[VLNNSS\c`bZQFC@;741110.0ÎÎÍÎÎÍÎÎÍÎÍÍÍÍÍÆÂÆÁÊÌÌÌÌÊÊÊËËËÉÉÊÊÊÊÊÊËËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÍÍ̶—‘zkquyt}~bda]fX`cc[[WUaYTYfeQOSVXSMLVNXfQNRWYQNSOPX`^_UUUNH?<7432/,,ÍÍÌÍÌÍÌÌÍÎÍÍÍÍÎÈÀÁÀËÎÎÎÎÍÍÍÍÍÌËËËËËËÊÊÊÊËÊÊÊÊÊÉÉÉÇÉÊÊÌÌÊÊÍ¿’Ž„€r`j{kch^`aWiaWYTSM\`^`ol\POT\TMJSQQXTYZYUNPQV\_XWYQPYOH=>@;52/,,ËÌËÌÌÍÍÌÍÎÍÍÍÎÏǹ¼¹ÉÎÎÎÎÎÎÎÎÎÏÏÏÎÎÎÎÍÎÍÍËËËËËÌËÊÊÆÊÊËÌÌÌÈÆĨ‹wwnf]knmc_`]W\_UQ[SRPZeeegbhVQUYSPSTRQXQX\aVRTRYY\XXSSOPPI>?=6650.3ÌÌÎÍÎÎÎÎÎÎÎÍÍÎÏĻƽÇÎÍÎÎÎÎÎÍÍÎÎÍÍÍÍÍÍÍÍÌËÉÊÌÍÎÍËÈÅÊËËÍÎÌÇÄÁ´ }ypdURb\Y]`_]b_VTQKLUZ`adi`ZSOOONJSPSP`KTUZ[W[Z^[ZWRQSOSKEC?C;530/4ÎÎÎÎÎÏÎÎÎÎÎÍÍÎÏÿÌÁÆÍÌÍÌÍÍÍÌÍÍÍÍÎÍÍÍÍÍÍÌÌÉÊÉËÉÆÂÄÁÆÇÊÌÍɽ»©‹|qUSRPLUVnodbd\YMD@LYP[aa^UTRJLJHKIQLYNRUUVW[ZYZ\XSPSNWOCHA><3..--ÏÏÎÍÎÏÎÎÎÎÎÍÎÎÎÄ¿ÊÁÂÍÍÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÍÌÊÈÈÅÈÁ¾ºÂ½Á¾ÆÊÇû­ž¦Œ~ztaUYZWgg]oef]UURRYWcUO[\SOVXRKHEOQQZYRQX[UTWWUONZVSWRWW?66120.---ÏÎÔÙØÑÍÍÌÊÊÉÊË̾ÈÁÀÌÎÎÍÍÍÍÏÏÎÎÎÎÎÎÎÎÎÎËÄÂÁ¾Â¼º®Á·¿µ¿Æ¾¼µ£…ƒp‡zc[_Z\fjUn\T[TNTT^[UOQSXQQRTXLKKSSRZg]OVXVWUUZRK]ZY]]MC=8641.....ÏÝëîíæÖËÉ¿½ÀÄÈÁ¿ÆÁ¿ÊÌÌÌÌÌÌÍÍÍÍÍÍÍÎÍÌÍÍÌÅÀ»³½¹±¡¹²½±µ¾³º²•„|}ofcbaaT\bYTd[SZ^PSSX\TVTONNKKLSYWORPQPaZNZ\YRLMXZPWXQLJA8=<:73/----ÞîË©Ýíо¸²°¶¹¿ÂÄÊÅÁÉËËÌËËËÉËËÊËËËËÈÇÈÅÃÀ±¬§¬¯¥œ¨¬·®µ³­ªžtwtllS`dZXcWQ]i]X`WLQRT[`aUQMLKNRMTVKPTNR\^Ya\SOKLYXQYQPWJCD>:;973/.--ïÁvgk—ÞÞ¶¯­­³²¾ÄÆËÈÄÊÍÍÍËËÊÆÊÌËËÊÊÉÈÂľ¾² ›˜£¤˜•¡¬®«®¦§˜‚tmidjl[SVVa_VV\ZZ_USXUSUU_WQSONTUQTUWQOXQRX_X^XX[V\`TRXXSO?>E;8667530//á†xvr‹Ãè·¬ª®±±ÀÁÅÉÈÂÊÍÍÍÌËŽÇÌËÊÊȺ²µ³»®Ÿ•˜š˜‘¢³®ª—œuhceTg`PLHPWaXRS_h^`n]^c^TVNPPOOQVRUSTXQ[OO_^]hZb_jf^RPLLIK@=@8755564//2À€Šwƒ½æ¾©¨°¯³»¶ÁÈÇ¿ÈÍÍÍÌÈ¿µÅÌËÇú©ž›š¡¤›—ˆ“˜¬«šŽ‘„uddh[\UQSTQX__\il^PT`NXpo[QOJMMJFJMNONLQXTX_TRXW_g\YUPILFEECI@8534454/16³‰ˆ}„¸æÆ£¦°²µµ²¼ÈƸ¿ÊÉÌÊȾ³ÄÊȾ³¦™œŸ”–”‹ŒŽ•“‹‰—ˆˆ‰‚~vtocXTY[XOV\UU\h]RP^hg^^]TTLIJHIHGEFMLT^[V[VO[hffV]TLVTII??B9854434437=‰ƒ…‹»äáÒÍ´®®«ª·Äº¬°´³»¶Å¼°½Ã·ªŸ¡™š¡““†€ƒ‡ˆ€~‹Š„ƒ€‚€yvoaWXUU\[TYUSYfPPO\ebQQ[XSLKLIKIGLJHQU\`QYQPmrcf_a]T_ZVUG<:;86543375;?—Œ~„‚Ž½ãíîêÎʦ ¡¨©Ÿ Ÿ ¡¡§¶¯¥¡¨šš— ™˜ ’“…ƒ…‚ƒ€xƒ‰ˆ„||{~vqojdXQZgZQTRU_XOX\]_XQRQRRMKPPKMRPECKNT_PQM^aa`Yei\QT]YGTF=<<956648:<=ÞÆ|ˆ»ãìãÞåë°žŸ¯¡œŸ¤«¥¡££Ÿ””“œ™Ÿ›’™ŒŽ‹‡‡ƒ~‚xˆ„z|ywqhieYWZPW^XT\Y\ZVZZ[^[VPKWUNMOJABEE@@FHHQJRTX\bX`p]_OZ`\IEC@><756679=??©“jrŒ’¾ãí͹ßèÁ´Áƹ¼´»¹ÇĹª  •Œ‘ž–š–‰‹Š‰Š‡†‚‚y~„~|vxvrrmlgY\ccbVQSWX]]cXT\SW_[VQJOMNJBCD@?FFEBRGUX[W`b`]RcbVWXQLGCF975669<>HGIOOl‡˜ÁãíãÚêéááääåææèåèëïÄ››•ˆ‹’Ž‘‹‹Š‡Œ…‹‰„‚‚ƒ{}‹€y€xuqtsnicW[eaYQVOR^fbcVNRTj[bXNQQOJHDHTKCJLLFQR\^ZLYdcdT`eWOX^QD?@<;9879=@KBdN@cˆžâîìíëëíííííííëèæè뻎Œƒ‡Š‹~ˆ‚‹•……Ž~…Š€}Š‚y|wvuuwtcWQZZZWZUO[YZ_fhinrjS\\SMSRFEFPWQQOOQIJWZ]ZNO_Y_]^hgW`S?:9<<;;;:;>==>>XZ`bk£ðíììçàÞÝÖÔÖÖÔÐÇ«Œ‰Šz{}|wx~~€ƒ‚…€‚ˆ†„ˆ…}~z{trvzytokg^SMKYW[QUX\[XHY_Z]YZaXKMUPNKMOOQTUYVZmc[\[[VYYRVKNJ=984^x87888;BECEMMLPl˜åéæ×®ž•†ƒƒ‡‹’œ¤€}{{}~…‘œ¢§¨ªª©¤¥¦¦§§§§¤ ›‹onwyzrh`bURSF@NVVVZZPLIUY\\V[d_TMKILONMJHINWXY]_Z^VUSWOKLHB=8786Tƒ<789:=AHJHSƒ«¬Ù†ºÑΠJFEDNPCEEGGKŒ€|}{||†¥Ÿž˜Žƒ|uqtxojjllnryƒ„‹|hpvynha^PRSGJQUY]VPTRUVZUWXZ`\SLDCADGIEFGJSW\[UMTRTRTMFED=:7886Xt@99:=tŽvz}~{“ƒ\YTRRSYg–x_Z[[][YTKKqtmowqih^RVWVYZ`]XGFRW_W[YXVW\UOIBEA>?>=<@KOX`[TXZRWYNLE;;98654/ƒÜJ15677>GII_¹«ŸUŒ£¬ckK?FhZeS96=8Tš£Ÿ€~‚MIYdpz];964564PkkllbIIqikskih_O]k]USZ[ZSQXWZc_XV\YUMHEAA??=78>DHI\hXTYX[[VHA=89<@EHKMŽÔgORRUUTSPOɳwPGLÎÞªNPOQMRPPQQPNJPèèŠ}‚q<`Œ™¡¨ªkU><@GHKK>:=BQGXminihcc\god[NQ[ZVRTZW_YV[eYOHBB@ACB@>CID=I[jk]KQeTG?Oc€“™žžœ›™˜ššš™••“ðÙzOJJ´Ñ¾ª¤«­°µ·µµµµ³²²Ã½¬‚{…ZNT¤¸¸¶³®¤³ŽwŠsNRN<555CdHkghkmga\[V\[POWUMNS][XX\^\SUNGACHJB>CRPIT\^h‹jQVXN>Y‘’Š€xsqnjgdeeggfeehkq|{nJCQ}ºÏÖÖÙÚÛÛÜÞÜÚÙØÙØÚŸw}{„Oi8e‚wiab^‘“x•vMPR]R768pN\gehszhVUVSRSOTXPOZ\ZV[a]YNSTQJFLQK=>MTNdnjv…f[\SJ?…zPSSRQQPJJHGFFFGIPQQPPWogGHQ€ÅØÝæçèëííçìîìéèåܽ‚{~zXj223219KLKMQOLOG\ue>5S}jNhgdbn_SU]YX]VOSQSP[^Ze_VUQOIHHDGJEBHPNThkkurbcjiXP‚VTjsvz~‚T77778:;DUZ\]\‚lNKJFzÀÜãêéìѹÀܽ´ÒëãàÛÓ“w‚hl^14?TP=MNONMMMMIZ}aE3g›ŒF]`[[jdVNW[_[YSMNWV[d`aYPOVSME@=GU[U\fhnd[YY_bejlhoˆU—¨­¯°°µB768=ACLOHE@>OH;999y¾áçëéèê½Û¼­Èèâåáßœu…[~J34O™NKICA@HNNIHkyO74DEEKE9::;`gd:.5k¬íêíìëìæèíèäìêîîìè–r[‡<::]‹˜€G:334@LHFS—^573|xJ`da_a^ZZUVV\baVPYZPMNV_[X[ey…Š„bdqiSRY[[[\dilvy—m\>Q>5557BG\vICDDH=7879wwv`V\o‘ÃÌÌÈÊËÈÊÍÍÌÊÅÅÃÄÂ{yc‚>JGVƒ‘{KH:667:68N˜•N862`’Jkmnqtooqns{†ˆ‰‘‘Œ—µš~€|x|{nbmmaV[a_][^gfjqlŸ_Z;K7798?>:onmptuvwwy{z{}~~€€€}||yw}ypn|GQLb}QIIEDEEB><\‘‹I=;5Q¡JhjUTdvuxzxwutttutuww}…‘£±³«™‹~sllkmnlifb^]^[Z]]xTP7B57BK9??2.5;EK??EFE:pnlklmoqtuuutttvxy|}€lJDZ†emzOsLo^UILTYZRQQOXr‰oG==7Gu;XO;::fjloptuuvvvtrrrrpppu|ˆ™¦­¯§žshgfeb_\ZXViKG84456898=AA@9upmjjjjlnpqsrqopppsvy{T7=AlR@D?H7>DBAGKIHED===?UPLL=788><675?efeeeggjkpsuvutrponopooosz…˜­¾º¤Œvjga[Z[Yj“xCGEH@Du†p@?933447<@BBBByvrnkjjjklnpppqqqpppqt]70/0GO98677::75556666878789;;<=DM55FScjheddbbddfimqstvvtsqmmnoppollx©¸º± †dR`qtf@bULDDQeFDIG;955:Š¾H€àá~KƒGEhÆ{\dhjklmnrtrrpolgca`__bZ3,.269?ENXp…×íëìíììïì£behÓâÞßßÞàwNYgTQ´äßÜÚÝå³MuQjjieba_aefecb`][]]]\Z[[\`dG@DKNNTh‚”ãÞwQINË©g©§fªËNN]xËÂr[dffhjloorqopplgca```\7-./3:CO^v¢©ÏëêííííðܘVmP‰˜›£¦¬ŸPS\[SŽÚÒǹ¤‘k;pUbkkjgd_`bdffdc`_____^\[Z\_H@CHMPTWWbunrpeí¿½Á¿ì—gppjÀζbZacfiklmrqoqqolgc```]:-//15:DP^vƒ¼ñêçåäâßÊŠTlI9679;;;<87535::7668JQ@69<:hPckkllkkjhdcbehjkigdba`_`_J;>IJLQUWcpy}€‡ÃàÝÝßàààáäšvuL†»ÉÊwYadhiklmoppoppmkgc_9;0//8r…`M[dfgghnox¢šYbTHF@MZSGB@6443574[ Ÿe:;74ZW[kjgklkkkifbbbehjjheb____L6EVYSGB>PPC>:?LRQPF@??BCBFXfP‚`Nfjiijkkjgda``cfhigcI.:ILNfƒnbVK<,-,.2J>GO>AD58A^SMR‘ºÅÇwT\_bdfhiklmmmmlc2770BK91.--,**-F\u‹ƒqcTTTTUURTUWYUWWXXXY[[YYZZ[\_bamXZM^ihhhijjjjgdc``acfiiK):FCJ¨Øz^RPKQSQQQgVVXQQTMKFgYPJ[¤Á˾kZ_adfggiklmki`X16661FJG?78/)*+09Gp†nk]]\[ZZ[Z[[[[[\[[[Z[Z[[ZY[[[^_eNDdgeefgghiiiigec``_adkL%:B=Gˆ¤j^dcD69:9<<==<=;=94BlaPLJk´ÁЮa\acdfghjklih_T3644179880-+.158:MJVfgXYYXXXXXYYXYYYYZZZYYYYYXYZYZ\fElqaddfffgghiiihfcba_aeL$6><>JUYaknfWQNRWZ\]^_^aabmloeRLL€ºÂÓœZ_bdffgiijjicWC5../,)()()*),-+(WVakdUXWXWWWXXWWXXXXXWWXXXXXWVUTTSfR—’\```bcefihiijigfc``cJ#4987=DKU_dliddc`___\\[YYYYimw^OMT–½É΄[acefghijihd_WGB?CEFDEDCCDGHHJbrŒjfY[WVWWWWXXXXWWXWVUTTTVY^dhksy„…ƒŠ‡†„~xvqiqnhffghhedaaI#4299++,,*)++,,,+))('&'&'&%rpmhYPM_§ÁÎÇw]cefhiiijigd_YWUVXWWVUUWX[\]`d{ˆfx‚mXXYYZZZZYYYYZxjr‚›£ª¯°²³±¯¯¯°°°°°²±±¦€jgddeghgd]VB#32IcC.*,0,)&''&&$%&'()*-15qlmoeSUf¹ÈÔ¼j_ddfhiiiiigeba__^\YYZYZ\_ceaZ€zzÂǬpZ]]\\]\\[[XqŒ¨°®ª¥ ›–’Œˆ……ƒ‚‚‚ƒ…ŠŽ‘—]nfdedcaVNK<"32.,2<;;;;97676557999999:;lmnmiZOPNˆÃÇÔ§__aceeghiikhfedb`_\[[Z[\^bd_Yvem«íââ³facdfghhhjq—u‘„{smf`\YUSQRQQPPQSTUWY`^wlbdbaa_YM?%31,(088874342221344444320/nsqnnfUMKU¡ÅËÓŽZ`bdeghhhjihhgedc`][ZZ[]^a\W^TL§êÍØí˜foqstttuy‘e_WPKJIJKMOOXdNLJHGGEEEEDDDLecbbbbbaVC,0-+-5.**)'%$$$%####$$$$##"msrssvkUOJiºÈÑÇm]bcefgggiiiiiigeb_]ZZ[\\_\SRKFsÀ—Æõ¨hz{„‰Œ€mJDB@BBBA?>=;:;88988878999897Jbb`a``_ZR?0*+-0,+*,.000011011111.003mnljjjf^SML’ÆÉÖ¤[_adefggghijjiigdb_\ZZ[Z]\LIKHMRWˆÇ†­¹»ÁÊÏÒɘN;98899989=K@@:79:;966667778=>Wc````_[XRKGFGHLLNSY^_^[WUSRPNLMLKKLldcdgac_SMJa³ÄÎÏyY`fgeffghhiiiihfea][[ZZ\\IELHMPV[eÆÊjXVUTQxˆ>==CDEFFFHKQx|G<@;:845556666@>I`a`aaa^[XVWUUVVVUW\aefda^ZWUUTTTRRRlghgrnicRKLL¿ÆÕ´`_cddeefhhhhiihgfc`]\[Z[\ICLGNQT\gˆÒ¨2;;;:>Œh:?8??=<;@C@=y}F9C<9544444544HEHQXcm„¸^ƒ°·½ª”>?914:;;95A?743334654BXbaabbbaa`aaaaaa`^\[]bgjjfa^\ZYYYYuxplqpoloqZLKM‰ÀÇ×°`acdefghhhjjjiihhea^\\[@26C>IaW===Kcbbbbbcdccba^]\]bgiigc_\[ZZonmdjlotqojRIKLv¼ÁÐÇp_ddfhijjjjjjjjjhfc_^^;4DJGJSZ_o–¿[vÍêÕ’E=EKrR?A@@BAA;123228EFO@Ud^TRH8077:<;4/4@^dbcddddddeeedb_\\^cgklljebzttptrkjmkikfLJJIj¸¿ÎÌv[adeefghhiijkiihge`=3:EGb¨¼†UL3CdIBAD<9OSPA>=;;<:8:;;988678959==9:AHBCA:;­†\cdbbbddddddddefeb_]\]bfjmlkgz‚~qkkjgijokbOJMLJ¿ÁÔ¯\]`bcdeffhhihhihgfb:,6>EIP^ejr]FJ9QF?:276344444579ABA??A=999::::;;>DD?:F8Ksjbbcbbbcddddddcceffc_][]afjmlkouquulngmoolkf[NKI_´¿ÉÓ€X_bdeeefgghhhiifbW5+55=><>=>BHGDDEDEGHHIJIIGFGNHv]6\^llbccbbccbcbcbbdeecb`]Z\afklmmvrssloihkllntjQJKLÅÇÖºcbdfhfeeggggggecWM4,4/41-+.27=6>§¼xO„\@?CHNQVY[^`cfiljjkklmmlmnnomlpyd{…LMk…xdddbbcbbbbcbcccddca_[Z\agjllunonkljgjimmniRJJLb¸ÆÎÖŠ]cdffgfggggfecb[R8*31>257=FJMNU~ ]W‚aSlqssrpnmkhhgeccba__^^^]_aabeh`kz{[U^\bcbbccbabcbccccdddcb`\Z[afjmlnvsmjmnnggjjiTJJMLÆÇÔ¼c]_aceefffgfeefeY:,00,.6686778GY‰^aŠqbjd_\XVUTRQQPNNNMLLLMMMNNNNNSQRWYex_a`aed`cdbbbbbcddcdeddcb`\Z\bgimnqmlmqtplilmhVMKLK_µÈÍ×_ddfggggffgfecb\F1*,+,&"""$$0LP…ilubYPRTOLHGFEEDCCBBBBBABAACBCCBDDDFFGKdqdc¢ÈÄœcccccbcdddcdccdccb`][]amklnrttpuljmmjpgPJJLL‡ÇÊÔ¿kdegghhgffhfdc`]V=--///.-,,+3Q_‚‚l[HHECFECA@?>>=<;;;;;;<;;;<;;;<===>?@BLdh_ƒßïê¡a`aaabccbbbabcbbcb_][[jqvroqplpijigjrbKKLLL[³ÊËÔ—afffhhffghgecb^[RIFFGHHGFHHBJp™xeI>>>=<==<;:999887888888788889;;<;;;99;F]a^ˆ¨§™d_`abbbbaabaabbbbba_\Zqwuoihiloijlwstea[LLNPÈÉÐÉtbffghgggfffec`^ZUSSSRQQRTVOIkŠg[A::<;::998877766654788889988:;:9<:522@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÎÎÎÎÎÎÎÎÎÎÌÍÍÌÌÌÌÌÌÌÌÌÌÌËÌÌÌÌÌÌÍÍÎÏÎÇ´š¢–r~x€r^]]q|m[^llgZYZ[_YVTN_g_\SOOQXW\gjfOU\`YOPLQRZ_a[UOMKA@65542086ÎÎÎÎÍÍÎÎÎÎÎÎÎÍÍÇÁÅ¿ÇËËÌÌÌÌÍÍÎÍÍÍÍÌÌËÌÌÌÌËÌÌÌÌÌÌÍÍÎÎÎÍÎÎÍÍÁ¥‰ˆqjklllmqtzx_b_bdZ[[[Z]SRV]cY[ZVUSTSWZhbPPX[ULNNSS\b`aYPFC@;741110.0ÎÎÍÎÎÍÎÎÍÍÌÍÍÍÍÈÂÆÀÉÌÌÌÌÊÊÊËËËÉÉÊÊÊÊÊÊËËËÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌÍ̵—‘ykquyt}}bc`]fXaccZZWU`YTYeeQOSVXSMLVNXfQOSWYPNSOPX`]_TUUNH?<8432/,,ÍÍÌÍÌÍÍÌÍÍÍÌÍÍÎÉÀÁÀËÎÎÎÎÍÍÍÍÍÌËËËËËÊÊÊÊÊÊÊÊÊÊÊÉÉÉÇÉÊÊËÌËËÍ¿’Žƒ€s`jzkch^_`Vi`VXTSM\`_`ok\POT\TMJSQQWTZZYUNPQV\_WVYQPYNH=>@;52/,,ËÌËÌÌÍÍÍÍÎÍÍÍÎÏǹ¼¹ÉÎÎÎÎÎÎÎÎÎÏÏÏÎÎÎÎÍÎÍÍËËËËËÌÌÊÊÆÊËËÌÌÌÈÆħ‹wwmg]jnlb_`\V\_UQZRRQ[eeegbgUQUYSPSTRQXRX\aVRTQYZ\WWSSOPPI>?=6650.3ÌÌÎÍÎÎÎÎÎÎÎÍÍÎÏĻƽÇÎÍÎÎÎÎÎÍÍÎÎÍÍÍÍÍÍÍÍÌËÉÊÌÍÎÍËÈÅÊËËÍÎÌÇÄÁ´Ÿ|zocURbZZ\`_]b_VTPKLUY_aci_ZSOOONJSPSP_KTUZ[W[Z]ZZVQQSOTKEC?C;530/4ÎÎÎÏÏÏÎÎÎÎÎÍÍÎÎÿÌÁÅÍÌÍÌÍÍÍÌÍÍÍÍÎÍÍÍÍÍÍÌÌÉÊÊËÈÅÂÄÁÆÇÊÌÍÉÁ½º©Š{pUSRPLUUmodbc]YMDALXP[``]UTRJLJHKIQLXNRUVVW[ZZZ\XRPRNWOCH@><3..--ÏÏÎÎÎÏÎÎÎÎÎÍÎÎÍÿÊÁÂÍÍÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÍÌÊÈÇÅÇÀ¾¹Â½Á¾ÅÊÈû¬ž¤Š}{t`UYZWig]oee\TURRYWbTOZ\RNVWRKHEOQQZYRQX[UTWWUNNZVSWRWV?56120.---ÏÎÕÙØÑÍÍÌÊÉÉÊËÌÁ¾ÈÁÀÌÎÎÍÍÍÍÏÎÎÎÍÎÎÎÎÎÎÎËÃÁÁ½Â»¸¬À·¾µ¿Æ½¼µ£…‚o…zb[_Z[giUn\S[TNTT\ZTNQSWRQRTWKKKSRRZg]OVXVWTUZRK]YY]]LB=8641..---ÏÝìðîæÕËɾ½ÀÄÈÀ¿ÆÁ¿ÊÌÌÌÌÌÌÍÌÍÌÌÍÍÎÍÌÍÍÌÅÀº²¼¹¯ º²½°¶¾³º²”„{|oeaaa`T]aXTe[SZ^ORSX\UVTNNMKKLTYVORPQPaZN[\YRLMXZPWXQLIA8=<:73.----ÝïέÁæëо·²°¶¸¿ÂÄÊÅÁÉËËÌËËÊÉÊËÊËËËËÈÇÈÄþ¯ª§«¯¤œ¨¬·®¶²­«žruslmS`cZXcVP^i]Y_VKQRT[`_SQLLKNRLTUKPTNR\^Ya\SOKLXXQXQQVJCD>:;973/.-.îÃxgq£äݵ¯­­³²¾ÄÆËÈÃÊÍÍÍËÌÊÆÊËËËÊÊÉÇÂľ¾± š™££˜” «­«­¥§˜‚tlhbjk[RUUa^VV[YY_UTYUSUT_VQSNNTUQSUWQOXQRX_Y]WX[V\_TRXXSN?=E;86676300/ã‡wvqÊ鸬ª®°±ÀÁÅÉÈÂÊÍÍÍÌËžÈÌËÊÊȹ²³³º®Ÿ•—™˜‘¢±®©›—šugceTf_PKHPWaXRS_h]`n\^f^SUMPPOOQVRUSTXQ[NP`]^hZa^if^RPLKIK@=@8754564//2Ä€ˆ€vŠÂéÀ¨¨°¯³»¶ÁÈƾÈÍÌÌËÇ¿µÆÌËÅú¨›™¡¤œ›•‡’˜ž®ª˜Ž‘„uddhZ[TQUTPX^_[hl]PT`NXoo[QOJMMJFJMNONLQYTX_TRXW_g[YUOILFEDCI@8534454/16³’~}ˆ¿éÉ¥§°±µµ²½ÈÅ·¿ÊÈËÊȾ³ÄÊȽ³¦™œŸ”–”Š‹Œ€”’Š‰’—Œˆˆ‰‚~vtoaWTY[XPV\UU\g\RP^ii^]]TTLIIGIHGEFMLT_[V[VOZhffV]TLVSII??B9854434437=…‡…„ÁçåØβ­­©ª¶Ã¹«¯²²¹´Å»°¼Â¶ªŸ ˜š¡“’†€ƒ‡‡€}‹Š„ƒ€‚€yvoaXXUU\[TYTRYfPPO]d`QR[XSLKLIKIGLJHQU\`QYPQlrcf_a]T_YUUG<:;86543365;?¬žƒ‚„‘ÂåìîéÎÉ¥Ÿ ¨§žŸŸ¡¡ ¦µ­¥ ¦šš— ™˜ ‘“…‚…‚€„€x„‰‡„||{}vqnjdXPXf[QTQU_XOX\]_WQRQQRLKPPKMRPECJNU_QQM^aa_Zfi[QT]YFTF=<<956649:<=âÒr†“ÁåëáÜåë° £± œ ¥¬¥¡¢£Ÿ”““œ™Ÿ›’™‹Ž‹‡‡ƒ~xˆ„z{ywphieYWZQW^XT\Y\ZVZZ[][VPKVTNMOJABEE@@EHHPJRSX[bX`o\_PZ`\IEC@><756679=??—ho…–ÂåìʼáæÁ¸ÆÈ»¾¹¾½ËÈ¿¬  •Œ‘ž–š–ˆ‹Š‰‰‡…‚‚y~„~|wwvrqmlgY\cdbWQSWX]]cWU\RW_\VQJOMNJBCD@?FFDBRGTX[W`ba\RccVWXQLGCF975669<>HGDSFi{šÆåíäáëèãäæçèèèêèéíñÄšš”ˆ‹’Ž‘Š‹Š†Œ…‹ˆ„‚‚ƒ{}‹€y€wuqtrnibV[eaYQVOR]gbcVNSTkZbXNQQOJHDHUKCJLLFPQ\]YLYdcdT`eWPW^PD?@<;9879=@JAqR<<STVZaŽçïìëåßÜØÔÑÒÒÔÒÒÁ”ˆŠ~zz}~yz~~~{}~y|}}ƒ|y{x{trvyytokg]SMKXW[QUWZZVHZ_Z[XZaXKMUPNKMOOQSUXVZmc[\ZZVYXRUJMJ>974g†:6888?>=<@KOXa[TXZRWYNLE<;:98873“ÞL499:DGI\hWTYX[[UID@97532342ßN279<@DFFJÝ̉RH@¹ò¾l^fjbbdhjifdcb‘Øö¦|}ƒPFmŒ•›UH5/29BHB=J[jk^KQeTH@9:@P^htx~ƒ¡¼ƒ‡ˆ‡ˆ‰†~~í߈QKD—ѹ¾ÀÂÃÅÇÆÅÅÃÀÀÌ¿©†}|BS®°³´²¤•{aekQQPE2238]Fahhkmga\[V\[NPVUMNS][XX[]ZSTMG@CHJB>CRQJW]^iŒmQUXMB9L|ƒ  š–’‹ƒ|€„ƒƒ„„†‡‹€yxOCMo²Î××ÛÜÞÞßáàßÞÞÜÚÝÁ}{|ƒfUJl©¥ž“ž¾„‹¦XOQLI:55[`MgehszgVUVSRROTXPOZ\ZV[a\YNRTQIEKQK<>MULfljv…h[]SIB=…gic^YWVVVTTTTTTUUVVTaipIGNm»ÕÜåèèëììèéììêéèÞÑšz{†WmA6CC<8EKUedhdQNKjjP37KzHcgdcn_SU]YX]UOSQSP[]Ze]UUQOIHHCGJECHPNVijktqcbjhWPMŒWITY\_c`C<:;;;<=DSWXZƒoRKJCi³ÛàêéìÔ´¹ÖÀ«ÁêåâÞÙ²x{Ux546:<9FNMLLLJMKIsoU4J•¡TS`[\jcVNW[_ZXRMNWV[d_aXOOURMF@=GU\V[fhnaZXY_bdikjmj€Oƒ•˜œ ¤i9767:=?ISSSOKH>995f°ßäëêèÝÈÎßØËÎçåçäã´v~u`q249q‰UCOKJIJLMLFgvY;9Q‚tHbdb`a`VXYYSONNLR[ZTWYTLRZRPY`Xq‚ubkxjXTX\]]_egl}ˆvaµ·²«£¡‚WI4;CDFNK?=A>B €=64?•X]llpsooqot{†ŒŠŽ’‹‹˜·ˆƒƒ{w|{lbmmbX\b_\[_fehpei\Z;G4489>Bj¦S?DGPN<9:9ponnrtuvw{}|}€‚ƒƒ„†…}~{~z[ŽMJLIf…mOKF===<869pk<966‹pTrminvuxyxwusuuuuvwy~… °´®œŽ€tmlkmmligb^]\ZY\\[{šTQ<[jlnptuvvvvurrrqppps{†–¤«°©Ÿshgfdb`]ZXXZcŒOE9?5;W_E=92349HK;?DEDupljjjjlmoqsrqoopprvyzn?:={tHnKcTDOBDLU\\WMNELOfmQH@86H>>I:>2Phdeeghjlpsuvusrponooonoqxƒ•«½»¥ŒwjgggbZXTtšvHC@B94444447<>>>zvrnkjjjklnoppqpooopqsd576@ID67645=@;89889:7685;A@DB9;;EA12:Ebieddccddeimprtvvtsqnmnoppolkw¨¹½²Ÿ‰u\Wagm”aCHHJBFk|UAD?4334:BGGGGxxvsnliihhjlmnoppqqqrqlUB?56_D;:::888877776777888789<<>IA8Wcijkjigecdbbcbcfjnsuwwwuromklnoomlp|¨ÀÅ|Pcuw‹SEƒkJCAFP?EIHBG=?EJLIHHvvvwtokhgeehkllmnoopponpo™BXA;:99887777666677677778::ABDHKVmnopcF=>;uuuvutrlgeefgijlmlllmmmlk—¹UJ97887665666565665455666877?@`pfhhgfhjlmjfdba````adhmorrtuvvsnigilnoolklb[dRM}}dZWIFNSRPQSVWWWWWWWVRqrsuvuurlhffeefiijjjklllk‡¦^LH926555444446=7554445553=`zZEbghjjjgffilljecba`aa`_aeilprtvvvtqlggjmnmlmt°›pxpriibSXnqommmkhhijkkmmloprssrqpkgda`acdefgiijllw‰gg›”s5333334457?76544331/6‰©¦„BPijlmmmifdcfikjgc``aa_\]adimorrttttqkfehkkmt£™oebc[YZW]ne_]\ZYYZZZ[]]djmnppqqqrokgca`a`acdegijntcUŒ¥®±j40022345814632211:Lƒ¶¨§«—˜Ÿ£¥¥¦¦¤ –’†ulnkgbabba_^^`dhmnpqrsttrkfdfld—ŽmZTXXWVWWXXWWVVVVVVVVVUVikmnprsttrpmgcbaabbcdehhkwT5©Â«ÄyFF==>;:?{Z8DKFJƒ–¨­§¤Ÿž˜—•”••”–™ž£žšvkpolifdfgeb`_`diloorsssrpjeg[~|_VSUVWXXVVVVWWWXVWXWVVVWgjlmoqstussqmiebabbbbdfhc`J-\¸ÍÐôà¡~X]c‚X¿‰Nyqb‡£„|vupnljgcccbbbcfgkltƒijmnnljgfeeda__beiloopqrssohVlt`\VUWWX\[[ZYXYYYYY[[[YY[afijlooqrrsrpmiebaa``acgbI:.8†ÒÐáñÆ–f__df‘íÇbi`r¤p[`acdfhkrƒ§€|xtqonnlbssbcehlmiecccba^]^`eikmppqrslP\hXt±—t’˜WTX[]Y\^]b]^^Z^^S_bdgilmoppqqqpnica````bdeJ0..9TSpŽ‹§rfrm[¢ôÕshp™”dk~‚€€|sqe…ŽŠŠ‰‰…€zkpjdcbegihfda__^]\]^_aehkmopjJP[QnÄÊÏÚò JB@j„IBU~|M?Z™S9…[ceijlnoprrqqpmhdaa`_acb?/-./24^QAISpÄÅÀ¾½·®µªbd[?566998:BO´»uYVLA=636G;ELDCFDEEm {QfGJCDWZNCC;554466:†¨•I=;68kMdjfflkjjkkiebabdgihfda^]^E3>IKMOTYcmlll‡äëääåäìëëðœgWWy¸ÃÍZ_cegijmmmnnonmljgG58-,.128<>>A@@ADGKžhU`JRNJKIHINM;23468Hb™—QOQF9\Lacaljjjjkkjhfba`begiigb^^C2=KMOPTZdihmkÚëéééèæææä`PKNˆ»ÁˉX\adgijkklmnmmmljG1:0,,/0145678B`Uƒ x\giijjkjgdaa`cfhifb`A0>KNRSZ\daP?HIM…™p`NL>4658?YGRXGIOAEgYPJ_©À˾lZ_adfggiklmnmicB/944OKB:552***7TbƒŒtpZTTTTURQSTWVVWXYYY[[[Z[[[\]aaeiVSSbgffghiiiigfc``_adhj?(?C?RÃÐp[WSIQRPNPYNNNKLNHClaPLJr·ÁЯa\acefghjkljiaX@/8516CDC730+,/2NOVpZYYYWWWXXXXXYYXYYYYYYYYXXYYYZ`aCkecdeeefffgiikigfd`_`d@$9<;>GQYcnsob]]__`ccceeggjilu\OMWœ¾ÉÎ…[acefghiiiif^R@41331121120132.>eRemXWWWVVWXXXXXXXXWXVWWXWWXWVUSSWgK\`^_aabdefhgffhhhfc`_b>#7765:@ENTW^ZXWXTSSSQOMKKJqolgXOLc¬ÁÎÆu]befgihhhhfc^TNLLOPQPPOPPQRRP^e‰nm\[YVWWWWWXXXXXXWWVVTSTUX[bcjrs{ƒƒƒ„zrngpldceggffd`_=#60E?*(('&$%%&&%$$$$###$%%pkmoeSVf„¼ÇÔºj^ddfhhhhhhfd_]\Z[ZYYYWYZ]^`aggov‚y_WXXYYYYYYYYX\xhsš¡§­°²²°±²³³³³³±²°¯¤~jddefgge_WO6#51KZA2/241-++++((')+,-/38kmnmhYOPOÄÇÔ¨__aceefhhhjgdcba_][ZZZZ\^aef^k‡z€«ÅĈaZ\\]]^\[[ZYxŽ«±®¬§¢˜”Ž‹Š‡‡‡‡‰Œ‘–›\kdddca_SMJ6$51)$1;;:;:98655678::::888osqomdSMKX§ÅËÔŽY`bdeghghkigffeba_\[ZZ[\_bcVmrnÙêàÕ…]cdfghhiilx•s–‰xqie_\ZXWVVTSSSUWX[^dazjacbbbaYM:'4/,,54564100/..-/11121/.-msrrswiTNJm½ÈÑÆl\bcefgggihhhhgedb_\ZZZZ\]`RdYTiÞÝÌëÑpkprsstuvz†ŠdcZTOJJIJLNOX_NMLIHHGFFFFFEQfaaabaa_U@./+*-3(''&$##"""!"""#"""""mnliijf]RMM–ÆÉÖ£[_acefgggghhiiigeb^[ZYZZ[_R\MIP¶¾£ëåzrz{~ƒ‡Š‘‹€gIECBCCCBA@>>>?:9::9989::;::9Ma`````]XR@2-/1521268888865577887678ldbcfbc^SMJd¶ÄÏÏxY`fgeefggghhhihfda]ZZZZ[^PMJIKU[iÅÅy—³¹ÀÅÍÔÝÇ‹F;:9999989:=<=678:;:77667778=>Yb````^[XSOLKKNPPSW^aa_[XVROOONNNNNlhggrojbRKLL„ÀÆÕ²_^cdcdefgggghhggfd`][ZZZ^PEKIKORYeq–סkea`bb‘y;<=ABCEFFGKJplAK```aa`^\YWXWVWWWVW\adeca_ZVVUUUUSSnmfgomriRKLKW¦ÃÊÒ”`_bcdefgggghihhfeb_]\ZZ]RCJIJOQX`s¬àX17787@“X<>:A@?=BAGCiB?:358877=A<;B?959984347544338B=Obaaaa`a`____``_^][[]behhea][ZXWWWuwpmqpnlopYLKOÁÇ×®`acddfgghhjiiihggea^]\]P=DHEMV_hvŸÖ_”¬³®¥„9A615;:;96@=744436963:SHE:5534@>D]baaaaba_``aabaa`^\[]aehhfa][[ZYYqpkgmmgfjkeLJK_¬ÃÊÖŒ]cddgghiikjiiiihfd`]\]O9BGDIPXcq“Ï|kØõóí¼g9A421Aab92;8111113658KTHKIC:32;@?Rabdeedbaaaaacbbca^[[\`ehhfb^\[YYnnldilotqojRIKLz½ÁÐÆp_ddfhhijjjijjjihfc_^^N5BJEIPYbq‰Ë„VÐððÒŸL;>224SxvB110000/0239A@GOWVXQ;17B=Ia[DDFPcbbbaacccec`^\[]aehihe_[[ZQ`abgjrsoss`MJXgš¿ÅÔ°cbdfghikjijkkkkihfb_^N1>JFHLV]h€¼–O¼ëóЂ?>=35=o…y=84////024?FINT][\[E24B=D^W3434Wcbbcccccddca^\Z\afjkkhb_^ZfkiopklpsplTJLLZ©ÁÇÕ‘^beffghiikjjkkjihea_O.;IE^“˜mRc†q@Ke•¦l=:Mg`WCB?1/0//18IEUJVa\UOD42?@@JJ566/Pdbbcdcccddec`^\[^agkllidbzutpsqkjlkikeLJJIq»¿ÎËu[adeeffghiiiiiihfdbQ1:EEhØà¦TYW;?DB\„Y<@BLjE?AAAB@B801112;HGPCXf^URH8/78;;2//1:[dcccccccddedcb`\[\bfjmlkgy‚~qkkjgijokbPJMLL•¿ÀÔ­[]`bccdffhghiiihgfcR07@HM˜Î³aTD6NZJIIF9?SY\B@?>>?;:;9887779<=8>DC=?BE>@?:?PDBP_ccbccccccdccdedb`]\\afjlmkntquulngmoolkf[NKId¸¿ÉÒ}X_bddeefggghhihggeS)49CGOemgoiEIR3D;@85=9565434568AA@>>@;888878:::?GFD;@8Ofoncccbbcdcbcbbbbdeda`]Z\afjlmmvrsrloihkllntjQJKN™ÅÇÖ·cbdfgfeeggghhiihf^K(44?@BDFJLNSUW[bbbadddfhhjjjjhgjva}€BM\\acbbbcbaabbbbcbccccb_\Z\afjlknvsljmnmfgjjiTJJMM•ÇÇÓ¼c]^aceefffgfeb_]UH*217:146@HMNO`•¥KiŽuMPeknpqpppqmkkkhihfffdccbefffikbo€uPWaaed`bdcbbbbbbcbddcccb`\Y[bgimnpmlmqtpkiklhVMKLKeºÈÍÖŒ^ddfggggffgeefe`K,10/,3999::;>Ng•Mp‹€lfoieb^[ZXWUTTSRRPPOPPQQPRRPQVTU[_owZcªÇÛcdcccbbcccbccbbbbb`\[\bmkmnrtsotljmljpfPJJLMÈÉÔ½jdegghhgffhfedc`Q6.+,,,$##$%%:LZXvwg\SYVPNKJHHGGFFDDDCCCDCCDDDDDEGEHJIPlnaŒãîê a`aaabccbbbaabcbbb`]Z\jrvroqplojjifjraKKLMK`·ÊËÔ—`effhhffgggedb_ZH.*-.-*****(:T^ŠwlXKJGGIGDAA@@@?>====<==<<<====>?>=?@ACPji_‹©©šd^`aabbbabaaabbbbca_\Zpvtoihiloijkvssda[LLNP†ÉÉÑÉtbffghgggffedb_\VGBCEEFEDEED>Tx’v`F@@?>>>==<;:::99888999989999::;<<<<;;?Nfa\[X\```aa`bbaaaaaaabbaa`][hhjga_aiiq{xsunkmcQLNQ[±ÉÈÖ©dffhihhhfffdca_[VRRRSRQQSTVIOyŒeW><<;;:;;988787777666777788779;:::9AKQ>@K````aaabbbbcca`aaaaabbaba`_toookqqtirpttu}k]SKKLK{ÅÄÏÔ‡beeffgfeffedca^\YYYXWVUUVYKOkqVG9<89988::7879::;=AE@AAAAA@A@BBMq••‰›©§G<]ba``_bcbbccbaaaaaaaaaabba`ƒ|‚wu{whiowvxyoc\RKKKKR¢ÉÆ×»e`bddddefffedba`_]\\ZXVVVXLNY_Nd{ujvs_IFDFFEGHIIqMHEIHGFJOJŠÐçîÙ®½ÕÌA7\ca````aa`abbbbbaaaaaaabcba„|t~wsqilumigngaedUKKK^f¼ÃËØŽ]bccbefeeeeecbaa_^^[YXWVWLKGLF®Ø¬´¾ïëÛÄnJMRW[`fp{„„x‰ldd`VAL¡÷àÀ½×ä÷¨:3\caa``abcbbdedcbaabcbaaabbb~xw€ytnr``irzsjjdYLLJSYW™ÂÃ×Àg`cbadeeeeeeccbb`_`][YWVXNHAA=›ðÏ˲¯ÃçïƒH>MPQIi£›™—“[67433Si—Ûãâ×Dzc70Zcaa``a`fkkgefedbbbdcaaabbb‡{†z†z†z†z‡z‡z‡z†{…z†z‡z‡{‡{†z†z†z†z‡yˆyˆyˆy‡y‡yˆyˆy‡z‡z…|„‚‚}„xƒuƒtƒt„t†x†y‡x‡y†z†z†y‡{‡{†zˆw‡u†x†y‡z‡{‡{†z…y†z†{„~ƒ€‚ƒ€‚€…y†z…z…y†y†z†z†z†z…z†z†z†y†y…y…y…y†x†y†y‡y†y‡y†y†y†y†y…y†{‚~|‚xƒuƒvƒuƒv„u…v†y†x…x…y…x†{‡{†z…y…w†t„v„v…y†{†z†x†w†y†|ƒ~‚€‚€€€…z…z…z…z…y†z†z†z†z†z…z†z…y…y…y†y†y†y†y†y…y…y†y†z…{…z…z…z…z‚~€‚{ƒu„x„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx…y†y‡w‡w†y…{ƒ~ƒ~‚€‚€€€…z…z…z…z…z†z…y…y†z†z…z†y†z…y…y…y†z†z…z…z…z„z…z…{„|…{…{…zƒ{‚€€‚z„y„y„x„w…y…|„{ƒy„x†x†z†{…{„{ƒyƒwƒv„v„x…y‡z‡y‡z‡z…{ƒƒ~‚‚€€€€†x…|„|„{…z…z…z…z†z…z…z†z†z…y…y…y…z…y…y…z„{ƒ{ƒ}ƒ~ƒ}„|„|„|ƒ~€€‚|„y„x„w„y„z…|…z„z…z‡{‡{†{…z…z„z„v„v„x…y†y‡y‡z†z…y„|‚~‚‚€€€€„{‚ƒ€ƒ~„|ƒ}„~…|…z…y…z†z…z…z…z…z…z…z…z…{ƒ}‚}‚~‚}~‚€‚ƒ€‚~ƒ|„z…y„w„y…{…{‡z†z†{†}†}†|…z…y…y„w„v…x†z‡{†z†{…xƒ{ƒ~‚‚‚€€€‚ƒ‚„…~ƒ€€‚ƒ~„|…{…z…z…z…z„|„z†y†{„|…|…}‚€€€€€€€€€€€‚„}…~ƒ~„}„{…z…z„w„w„x„x†y†z†{†|„{…{†z…z…x…w„w…w†w†x†z†z†y„{ƒ}~‚€€€ƒƒ…†~‚€‚ƒ~„}…|†{†z…z…z‚}„{„{„~‚€‚€‚ƒ~ƒ}‚€€€‚~ƒ}…|†|…~†|…z…y…x…w…xƒwƒw„y…{†|…|„{„{…{„y„x…y„x…w†u†v†x…x…y„|ƒ}~€€„„ƒ‚€€€‚€ƒ€„…}†|†{„~‚€‚€}…z†z…{…|„|„|ƒ}ƒ}„}ƒ}„|…|†z†z†|†z†z…y…x…x…y„y„y…z…z†|…|„}„}ƒ{„z„w„y…y†v†u‡u†w…w„xƒ|‚‚€€€€‚€ƒƒ}…‚€€€~~€‚~ƒƒ„ƒ}…y‡x‰wˆw‡x†x„{„{„z„|„{…z†y‡x†y†{†y†z…z…y…x…y…y…y…{„{…|…}„~„}‚|‚zƒz„y†x†x†vˆv†v…uƒv{‚€€€‚‚}‚†‡}€€€€€€‚~‚~‚}„{†{‡y†z‡z‡y†x‡w‡w…y„z„x…z„y…x‡x†x†y…{†{…{…{…y…v…w…x…w…z…|…|…}…~ƒ~ƒ|ƒzƒz„x†x…z†w‰w‡v…vƒw€|~€‚~ƒzy‡}€€€€‚€‚‚~ƒ~ƒ|„}†{†z†x†y‡y†y†w†w†x†y„x„v…v‡v‡v‡vˆwˆ{†{†|…z…z…y„u…u…v…w…z†|…{…}„„}„{ƒxƒx…w†x†y†y†w…x„yƒ}~€€€~‚~ƒ~Š|~~‚‚‚‚‚€‚~…{†z†y†z†z†}ƒ€„€„ƒ‚€|ƒy†vˆu‡vˆw‰{†|…|„z„y„xƒ{„|„z†z…y‡{†|…~„~„}„{„x…w†w†xˆx‡x„yƒz‚|‚€‚‚ˆ‚‚}ƒ|„‚†€‡„‚€†}‡|‡z‡zˆ{Š}ƒƒz‡y‡|†‡~}}Ž}‘||Ž}ƒt‡uˆwˆz†y…{…yƒy„z„|…|†z‡{‡zˆ{‡}…~„~„~„}„{…y‡x‡y‡z‡{ƒ{}‚‚‚ˆ€|ƒ|„ˆˆ…ƒ‚†}†}‡|‡}‡~‰~…}…x‡~…Œ‹|…|ƒ|†‡€‡~‡}ˆ}‰}Œ|†€t‡u‡v‡y…w„z„yƒy„z„z†y†y‡yˆ{ˆ}†~…„ƒ‚~ƒz„w†wˆz‡z†|ƒ~€€ƒ€ƒƒƒ„„ƒƒ„ƒ„„ƒ†…‡€…‚‚ƒ‚€ƒƒ€‚ƒ€ƒ€ƒ€ƒ€~ƒx‡€„†~‚||€z‚zƒ{„{†x…{‡~Š}‡~z…t‡u‡x…yƒy…y„z„{„z…x‡x‡x‡|†~…~„~„~ƒ~„}…w…s‡t‡v†wƒ}ƒ†ˆ•‰œˆžŠ‹ž‹ŸŒž‹ž‹ Šž„‚‚‚€€€€‚‚€€€€‚~…z†‚ˆ{ˆ}††}…y…{„y†w~€ˆ|†|ƒy‡v†w…y…x…y…{„{„z†x‡x†y‡|‡}…}ƒ{„z„y…v‚r€pqq€n~w~„Š…ŽƒŠ‚†…„‰ƒŠƒŠ‚ŠŠ‰ƒ€‚‚‚€‚€‚‚‚~„„ƒ‚ƒ†~…„€ˆ{Š}ƒ„…€ˆy‰x‡w‡x€…ˆ~†}{†z„y„yƒzƒ}ƒ}ƒ|ƒ{†{‰{‡z†x†t‚oj}p~p|t}szszq{o|i{v€†‡„{ƒ{ƒ{†|ˆzŠ{Š{Šz‹yŒz‚€„€…€…ƒƒƒ‚‚ƒƒƒ‚ƒ‚‚ƒ„„~ˆ{‰|ƒ…~‰y‰{Š{ˆ{ƒ‡‰}ˆ|ƒ~~…~„‚€‚€ƒƒ€‚€‚ƒ„ƒ„„}„y…uu€yy€y‚z‚y€x~w|u|ƒ‡‡Š{‹|Šˆ}‡{ˆ|ˆ{ˆz‰z‹z‡~‡‡‡ˆ‰}ˆ}ˆ}‰~ˆ}ˆ~ˆ~…€„‚†…|„}…~†~‡|‡~†~†}„„‡~Š{ˆ~ƒ‚ƒƒƒ€„€„ƒƒ€‚€ƒ„€„€…€†€„€…‚‚ƒ‰„ƒ€ƒ~‰|—~„…ˆ„‹yŠ{„‚ˆ‰y‰zˆ|ˆ{‰z‰z‰{‰}ˆ~‡~ˆˆ‰}Š|Š|Š|Š|‰~…€†€Œ}Œ|Š}Š}‹}‹}‹~‰~‰}‹~‹~‹}{{Š~ƒ‚ƒ…€…€„€…„€‚€‚‚‚ƒ€ƒ€„†‡‡€†„€ƒ€{º}­…’ˆ„‰y‰{†~‰|Šz‰{ˆ{‡|ˆ|‡}‰{‰|‰}ˆ~‡‡ˆ‰}‰}‰}Š}‰}‡~Š||Ž{Ž|Œ}‹|‹|‹|‹}Š}‹|‹||Œ}}‹~‚ƒ€„„€ƒ€ƒ€ƒƒƒ€ƒ€€€€„†€ˆˆ‡†„€™€–…•ˆ”‰Œˆ‹‡†‡‘‡’†’†“‡”ˆ”‰|‰{‰|Š|‰}ˆ~†‡€ˆ‰~‰~Š}ˆ}‹|‰„„ˆ‰Š~‰}ˆ~ˆˆˆ~ˆ}ˆ}‰}„„‚‹Š…€…€†€†€„€‚€‚ƒƒ€ƒ€€‚€€€ƒ…€‡ˆ††‚†Ÿˆ®ˆ´‡´‰®‹­‰³‡¶‡·ˆµ‰³Š°ŠŠ}‰}‰}‰}‰}††€‡‡ˆ‰~ˆ}ˆ~ƒ…‹„‚††††……€†‰}|Š‰€|Žyyyz{|Š}ƒ€‚€‚€€€€€„€…€†‡ƒ¯}Ë{ÍwÏxÍzËyÎvÑuÑvÑyÏzΈ€‰‰~‰}Š}Š}‰~‡~‡€‡€‡€ˆˆ~†€„€‚‚ƒƒƒ‚‚„ƒ„„ƒ…Œ|’{”y“z”z’{‘~•|•z”z“{’yˆ}‚€‚€€‚‚‚€€€‚ƒ†„˜~¢zµv½sÆsËsÍsÍsÌsËtÈuŃˆ€ˆ‰~Š}Š}‹~‰~†€†€††€‡~„„€……‚…ƒ€‚‚ƒƒ…„‚ˆ~Š|…|‚|€}‚‰‹ˆ~~€~€~‚~Š}‡„€ƒ€‚‚ƒƒ‚‚ƒ‚‚€‚€‚˜¢~|€ˆŠ~ŒŽ€Š€††€ƒ†‡ˆŠ}‰}‹}‹}‰~‡†€†€…‚€ƒ€†ˆ}‡}…‚€€€‚ˆ~‰|~|z}y}}}ˆzŒy‡zz|yy~ˆ{‹{ˆ~†€ƒ€‚‚ƒ€‚€‚‚‚‚‚‚‚‚šxÃx·z£Ž–}œ~ˆ€„€~}¤}„ƒƒ‡€‰~‰}Š}‹}‹}‰~‡…„€‚€ƒ€„€…~„€‚ƒ††~‡…ˆ}ˆ{†}……†~ŠyŠxŠw‚{ƒ€…€…~ˆ{‹|Š|ˆ~‡…€ƒ€‚‚€€€‚ƒ~™tÉqÒsÐvÆuÆuÇz³‘€‰“z·uÊ|‡|„‚†€‡‰~Š}Š}‹{‹}‰}‡„€€‚€‚‚‚‚‚„„‰€Œ€Œƒ…‰}‡|ˆ|‹}‹}Š|Šz‰xŒx‹|‡€ˆ€‰|‰{‹|‹|‰|‰}ˆ†€„€€€‚‚‚~~•tÉqÏrÏtÉvº{§€‘~Œ~‰Œ~z¨}’}‰~‚ƒ‡€ˆ‰}Š}Š{‹}Š}ˆ~…€€ƒ‚‚‚‚‚ƒƒ„‚„‚‡~Š}†|†|‡|ˆ|‡|‡|Š|‹{‡}}„ƒ†}†|ˆ|‹{‰~‰~ˆ~‰~ˆ~†ƒ€€€‚‚uÆrÏsÑuÃ}”ƒ„}€‚€ƒ€ƒƒ„|„~„}ƒ}‚„ˆ€ˆ‰~Š}‹}‹}‹}‡€€‚€ƒ€‚€‚€‚€ƒ€„‡~Œ|ˆ}‡|†}†~†}…|†}‡|†}ƒ€„‡~‰}‹{Œ|…‡~‰~‰}‰~ˆ~‡~ƒ‚€‚€ˆy¶y¹xµz©‚ƒ‡€‰‰€ˆ€‚v„~„ƒ}ƒ‚†‚‰€‰~‰}Š}‹}‹}‰~‚…€…„€‚€ƒ€ƒ€‚‡}‘x”w“w“y“w“w”x“x’w”w”x“w”v–u–tz…€‡‰~‰}‰}ˆ~‰~‡~…~ƒ‚‚€‰€‰‰ˆ€~~€‚€‚o‚zƒ€‚‚}‚‚‚‡‰~ˆ}‰}Š}Š}‰~ƒ‚„…ƒƒ€ƒƒ€„‰~‘x•v”v“v“v“v“w“w”v”v”w“w“w”v“vy‡ˆ€ˆˆ‰~‰}‰~ˆ~ˆ}‡~ƒƒ‚‚€€€€‚€ƒ€€€h{m~|‚}Žz‹~‚ƒ‚ˆ‰~‰~Š}‰}ˆ~…€„„€ƒƒ€ƒ€„€„„€Š|Œ|Š}Ž{‘xwxxxxyxyzyyz‹{Š}Š}Š}‹|‹|‰}ˆ}‰}ˆ~ˆ~‡‚‚„€„…€…€ƒ€„„€„„€„j}i{r{‡}†~ƒƒ…‰‰~‰~Š}Š}Š}‰~ˆ†€…„…€…€„Š|„}„‹|zŒzŒzŒzŽzy‘x’y‘x’x’y”y•y•y•y”z’y“yŽ|ˆ~ˆ~‰}Š~ˆƒ€‚…‡~‡~‡~†‡€††~††kj}k}w€‚~ƒ~ƒƒˆ€Š~‰~Š~Š}Š}Š}‹}‰~†€……†€„€‡}‚‚}…}„…€‰}‡~††~|‘z’{‘zzŽ{|}|Œ||Ž|Ž{Ž{{ˆ}ˆˆ~ˆ~†„€‚‚‚ƒ‚‚‚ƒ‚‚‚‚onmt‚ƒ€‚}‚}ƒ…‰Š~Š~Š~Š}Š}‹|‹}‡…€…€†€„€…„€ƒ‚ƒ€„„ƒƒ…Š|‹|‹|‹|Š|Š{‡|‡}Š|Š|‹z‹y‹z‹z‹{‰{‰~ˆ‡†„‚‚‚‚‚‚‚‚ƒƒ‚‚‚‚‚‚‚oƒm€j|m€yƒ€‚~ƒ|ƒ€‚‡Š~Š}Š~Š}Š}‹}Œ}‰~‡†€…€„€„…~…}„€€ƒƒ…‰|‰{‰}‰}Š|Š{ˆ{ˆ|Š{‹{ŒzŒz‹z‹z‹{‰|ˆ}ˆˆ~‡‡†…€…€ƒ€‚‚€‚„„…€ll~hyi|j}z€€‚}}‚ƒ€‰~Š~Š~Š~Š~‹}Œ}Š}ˆ~†…€„€ƒ€„…~ƒ‚€‚‚†‰}Šzˆ~‡‰}Š{ŠzŠ{Šz‹z‰{‰|‰{‹zŠz‰|ˆ}ˆ~ˆ~ˆˆ‡€‡‡†€„ƒ€€„…€†nm~izhyezt€ƒ~”|‰‚†Š~Š~Š~Š~‹}‹}‹|Š}ˆ~†ƒ€€‚€ƒƒ€‚€„€‚€ƒ‡‰|Œ|‡€ƒ…Š|ŠzŠzŠ{ˆ{ˆ{‡{ˆzˆzŠz‰|‡}ˆ~…€…€ˆˆˆˆˆˆ…ƒ€€‚‚ƒ„€l€j~gyfxgyl}{…€‰~…}‚€‡‰~Š}Š}Š}‹}‹|‹|Š|ˆ„€‚€€€€€€ƒ€ƒ…‡‡|‰}‡~„†}‰{‰{‰{‰{‡|‡{†|†{…{ˆ{ˆ|‡~†~ƒ€…€ˆ‰‰ˆ~ˆ~ˆ}ˆ~†ƒ€‚€€€gg~gzgxhxizp}€‚~‚}‚‚‰Š~Š}Š}Š}‹|Š|‹|‰}…€€‚‚€ƒƒ€†‡~ˆ}ˆ}ˆ}ˆ|‰|‰{ˆ|‰{‰{‰{Š|‹|‹{Š}‰}ˆ}‰~‡„€‡~ˆ~‰‰ˆ~ˆ~ˆ~‰~‰}‡ƒ‚€ih~gzfygwhxhyu€ƒ‚}‚€‚ˆŠ~Š}Š}Š}‹}Š|Œ|‹|‡€‚€€‚ƒ‚€ƒ€„ˆ~‹}|Ž|{{{y‘z‘y’y“x”x“x”w”w’w’x“xŒ|„‡‰~‰~ˆ~ˆ~ˆ~ˆ~‰~‰~‰~†€ƒ‚‚jh~gzexgyizhzs€ƒ‚~‚‚„€Š}‹|Š}Š}Š}Š|Œ||ˆ‚€€„€†€†…€ƒ€ˆ~y‘w“w—v—u—t—t—t—u˜v˜t—t—u˜u˜u™u˜t™t”w‰}‡€…‡‰~‰~ˆ~ˆ~‰~ˆ~ˆ~‰‡€„jh~g|exi{i{h{o~}‚‚‚}‚€ˆŒ|Œ}‹}Š}Š}Š|‰}‡‚€‚‚€‚ƒ„€€‰}‘x•w•w–v•x“y’x’x’y‘yxy‘zz‘zz‘y’y“wŒ{†‚ƒ€ˆŠ~‰~‰~‰~‰~‰~ˆ~ˆ~‡ƒ€jj~j{h|i}h~h~lu€‚‚}‚ƒŠ~Œ}‹}Š}Š}Š}‰}‡„€ƒ‚ƒ‚‚‚‚ƒ€‹}zŽ|{ŒzŒ|Œ}Š|‰}‰}ˆ~ˆ}‰}‰~‰}Š}Š~Š€‰€‹‹ˆ‡†€ˆŠ~‰~‰~‰~‰~‰~ˆ~ˆ~‰~‡mƒl‚j€jnƒk„iƒj‚r‚~‚‚‚„~„†€Š~Š~Š~Š}‹}‹}Š}‡††„„ƒ„Œ‹ˆ†ƒ†…†ƒ†……„„‚„€ƒ€‚€ƒ…†…†‡„…ƒƒˆ‚ˆ€Š‰~‰ŠŠ~Š‰‰‰~ˆ‰~‰~‰lˆm‰n‰oˆq‡p…m…p†s…|ƒ€‚~—}~‚‰~Š}‰~‰~‹}‹}‹|‰}ˆ~ˆ†…€„ƒ€‡…‚ƒƒ†ƒ‡ƒ„ƒ€‚‚ƒ‚‚‚‚€‚€‚„ƒ…„†„‡‚†…ƒ†€‰~‰ˆˆ€‰€‰€‰‰~ˆ~‰}‰~‰~‰~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÎÍÎÍÍÌÌÌÍÌÌÍÍÌÌÍÍÍÍÍÍÍÍÍÎÌÇ¿´«¢Ÿ‘€}qghviiimlqcgaU]a\\d\S]b^_VPOTZY_e^dTTVVTVTSYTPW_]ZWTMD>9<:521@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÎÎÎÎÎÎÎÎÎÎÍÍÍÌÌÌÌÌÌÌÌÌÌÌËÌÌÌÌÌÌÍÍÎÏÏǵœ¤–txr^]]q|n[^mlgZYZ[_ZVTN`g_\ROOQXW]gghOT\`YPPLRRY_a[UOMJA@65542086ÎÎÎÎÍÍÎÎÎÎÎÎÎÍÍÇÁÄ¿ÇËÊËÌÌÌÍÍÎÍÌÌÍÌÌËÌÌÌÌËÌÌÌÌÌÌÍÍÎÎÎÍÎÎÍÍÂ¥‰ˆoklnkklptzy`b`cdZY[[[]RSV]cY[YVTSTSWZgcPQX\UKNMSS\b_aYPFC@;741110.0ÎÎÍÎÎÍÎÎÍÍÌÍÍÍÍÈÂÆÁÊÌËËÌÊÊÊËËËÉÉÊÊÊÊÊÊËËËÌÌÌÌÍÍÍÍÍÍÍÍÍÍÍÍ̵—‘yjqtzt|cda]fXaccZZWUaXSYfdROSVWSMLVNYgQOSWYPNSOPX_]_UUUOG?<8432/,,ÍÍÌÍÌÌÌÌÍÍÍÌÍÍÎÉÀÂÀËÎÎÎÎÍÍÍÍÍÌËËËËËÊÊÊÊÊÊÊÊÊÊÊÉÉÉÇÉÊÊËÌÊÊ;‘€„€saj{kcg__`WiaVXTSM\`^`qk[POT\TMJSQQYTZZYUNPQV[_WVYQPYNH=>A;52/,,ËÌËÌÌÌÌÍÍÎÍÍÍÎÏǹ¼¹ÉÏÎÎÎÎÎÎÎÎÏÎÎÎÎÎÎÍÎÍÍËËËËËÌÌÊÊÆÊËËÌÌÌÈÆÄ¥‹ywng]jnmb_`\W\_UQZRRQ[feegbhUQUYSPQSRRWRY]aURTQYZ\WWSSOPPI>?=7651.2ÌÌÎÍÍÍÍÎÎÎÎÍÍÎÏĻŽÇÏÍÎÎÎÎÎÍÍÎÎÍÍÍÍÍÍÍÍÌËÉÊÌÍÎÍËÈÅÊËËÍÎÌÇÄÁ³|zocVRb\Y]`_^c_VTPKKUY_ach^YSOOONJSRSP_LUUY[W[Z]ZZVQQSNRJEC?B;530/4ÎÎÎÏÏÏÎÎÎÎÎÍÍÎÎþÌÂÅÎÌÍÌÍÍÍÌÍÍÍÍÎÍÍÍÍÍÍÌËÉÊÊËÈÅÁÄÁÆÇÊÌÍÉÁ¾»©‹€}pURQQMTVmodbc\YMD@MYP[``]UTRJLJHKHRLYNRTUVW[ZZZ\XRPRMWNBGA@=3/.-.ÏÏÎÎÎÏÎÎÎÎÎÍÍÎÍľÊÂÂÍÍÌÌÌÌÍÍÍÎÎÎÎÎÎÍÍÎÍÌÊÈÇÅÈÀ¾¹Â½Á¾ÅÊÇ»­Ÿ¤Š~zuaUYYWgg]nee]TURRWVdTOZ\RNVWRKHEOPPXXRQXZUTWWUNN[URVPWW?57220.-,-ÏÎÕÙØÑÍÍÌÊÉÉÊË̾ÈÁÀÌÎÎÍÍÍÍÏÎÎÎÍÎÎÎÎÎÎÎËÄÁÁ½Â»¸¬À·¿µ¿Æ½½µ£†‚qˆyc[_Z\fjUn\S[TNTT][UNQSWRQRTXLJJSSR[g\OVXVWTUZRK]YZ^]LC=8641..---ÏÝëïîæÔËɽ½ÁÄÈÁ¿ÆÁ¿ÊÌÌÌÌÌÌÍÌÍÌÌÍÍÎÍÌÍÍÌÅÀ»²¼¸¯ º²½±¶½³º±•„{|nfeba`T\aYTe[SZ^ORSW\UVTNNMKKLTXUPSOQPbYNZ\YRLMXZPWYRMJA8=<:73/-,--ÝïÑ©´ãé;·±¯¶¸¿ÂÄÊÅÁÉËËÌËËÊÉÊËÊËËËËÈÇÈÄÿ¯«§¬¯£œ¨¬·®µ³­ªšsuslkR`cZXcWP^i]Y_WKQRT[`_SQLLKNRLUVIPTOR\^Ya\SOKLYXQXQQVJCD=:;973/.--ïÅygm äܵ¯­®³²¾ÄÆËÈÃÊÍÍÍËËÊÆÊËËËÊÊÉÇÂľ½± š™££˜” «­«­¦§˜slgbjmZTWVa_VV\YY_UTYUSUT_VQSNNTUQSTVPPXQSX_X^XX[U\_TRYWTO?>E;86676300/ä‰wvrŒÆè·¬ª®±±ÀÁÅÊÈÂÊÎÍÍÌËÆ¿ÈÌËËÊÈ»´´²¹®Ÿ•Ž™™˜‘ ±®ª˜™tgceTf_PKHPWaXRR^g]bo]^b]SVMQPOOQVRUSUXR\OP_^^hZb^ge_RPLMJK@=@8754564/02ĉw†¿ç¿ª©¯®³»¶ÁÈÆ¿ÈÍÌÌËÈÀ¶ÆÌËÆú¨ž›š £›š–ˆ”—ž®«š„uddh[\TQTTPX^_\hm_PV`MYqoZQOJMMJFJMMONMQYTX_TSYX_g\ZUOILFEECI@8534454/16²——ƒ|…ºçÆ¢¥°±µµ²½ÇŸÁÊÉËÊȾ³ÄÊÈ¿³¦˜œ•–”ŠŠŒ‚•’Š‰’™Žˆˆ‰‚~vtobXTY\YPV\UT]g\RP^hg^^]TTLIIGIHGEGNLS^[W[VO[gffU\SLVSII??A9854434438=~ƒ…‰„Œ½åÞÉñ®®ªª·Å¼¬²µ´¼·Æ¼±¾Ä¹¬Ÿ ˜› ““†€ƒ‡‡}‰Š…‚€‚€yvo`VXUU\[TYTSYfPPO]ebQQ[XSLKLIKIFLJIQU]`QZQPlrcf_a\T`ZUUG<:;86543365;?¯¦{„¾ãíîçÈÂ¥¡¡©¬¡¡¡¡¡¡§¸°¦£ªœ›— ™˜Ÿ‘“…‚ƒ„€xƒŠ‡„||{}uqpjdXPXf[QTQS^XNW[]^XQRRRRMKPPKNSQEBJNU_QQM^aa_Zei\RS\XFTF=<<956649:<=åÜ¥n¾ãìåáå鬟¢­Ÿšœž¤©¤¡££Ÿ””“›™ ›’™‹ŽŽŠ††‚~‚xˆ„z|ywpiheZVYQW^XT\Z\ZVZZ[]ZUOKVTNMOJACFE@@EHHPJRSX\bX`p\_NZ`\IED@><756679=??‹Žgkz•¿âì̼à躰Àĵ·±·¶Å¿´¨  •—š–‰‹ŠŠ‡‡…‚y~…~|vwvrqmlgY\cdbWQSXX]\bWU\RV_[VQJOMNJBCD@?FFDBRGUX\W`b`\RcaWXXQLHDG975669<>HGDSE`p”ÂåíßÖéçÙÚàâãããæäæéí››•ˆŒ”’‹‹Š‡Œ†‰ˆƒ‚ƒ„|~‹z€xuqtsnibV[eaYQVOQ]fbcVNSSi[bXNQQPJHDHUKCJLLFPR\]YLYdddT`eVOX^RE@@<;9879=@KB~[AMfŒ…¿îìíëëíîííîííëèçé칎„‡ŠŽ‹~ˆ‚Š•„ƒŠ}„‰}Š‚y|wwvuwsbVRZZZWZVO\ZZ_fgfmqjR[[SMSQFEFQWQQPOQIJWZ]ZNN_Y_]^hgV^T@::<<;;;:;>==RSU[_rÇòììãÜØÔÐÌÉÉÊÌÐ̪‡Š~z{~€~z{€€{~|}|w{}}„„~{}{|trvyytoke]SMKXX[RVX[\XHY_Z\XZaXLMUPNJLOOPSUYWZmc[\ZZVYYRVKMJ?974]q97888;BECENNVOh~³ëæâ©~vldb]\\_hvŒŠ~}{z|~wy~}x~€€ƒ…‡‹ŠŠˆ…ƒ}vvmnwxzqgabTRSE?OWUVZZPLIVY[\V[d_TMKHKONMJHINWYZ\_Z]VURWOKLHB=9786Z‡=689:=AHIHWa¾´ÙÅ€ÈËÂg@FHPbWNNJJER“|}||}|ƒŒ—ž¡§©ª©§¢¤¦¦¥¥¦¥¥ ž‰louynha^ORSFHPUY]UPTQTVZVWXZa\SLDCACFHEFGJSW\[UMTTURSMFEB=:7787Tq>98:<?><<@KOW`[TX[SWYNLE<:998872‡ÑD59::;AGJKfr²ž¡p`´¬‰W`B;FNJN;5593h¤Ç¡~~z˜z\XRRRUYc|ž|^YY\_\YUNEmokskjh_N]i[TTZZYSQWWZb_XV[ZUNHEAA??=78>DGI\gWTYYYZVHD@:7888773„ÚG177:?DFBQÔË¡\J?róÐ…Q^efflnqpkigdt¼ôÅ}~}~GL[fr{T;:74464PjjlkeLDiinihccZgmbYMR[ZURTYWaZV[eYOIBB@ACB@>DIB=J[jh^LQeTH@;;855668::~×[CGIKNSSN[íé®XLEcÁÀƸ¾ÂÅÇÈÊÉÉÇÆÄÃÉÇ©Ž~}ƒg=i›¢§©sY@?BHHKK?9<@OJSihklfa\[W^[NPWUMOS][YX[]ZSTMG@BHIB>CRPJW]^iŠmQUYLB<9:H[w„Š‘”—ž¨˜–š™˜˜˜™š˜†q|[EE]œÉÖ×ÛÝÞÞàááààßÞÜÛÔy~z„PP_¯··¶³®¤·ŽxŒxMRN=454?hDaehsyfVUVSSQOTXPOZ\ZV[b]YNSUQIFKQJ<>MULfmiu†i[]SIB>7j‰Š˜‡‚}zummmonnnmmooi[uRGJX ÑÚâèèêëìëèëììêéâس}||~Md8qujb`_–x”zLOR]T865lUWhddo_SU]YW\UOSQSQ[]Ze^VVQOJIHDGJDCHPNTijlvtcbjhWQKL–iYXUTRQPNMKJJKLKMQPNˆx`KJGQšÔÞèêìÞ«ÂÉœŸÓéâàÚÊ‚z€n`_13521:KMKNSPLNGYwfA3O{uHa[ZicVNWZ`[YSMNWV[e`aXPPURLE@=GUYT\fhncZYY`cdikjne_…IQ_eiouoC5778:;LNNNMNMMHU}dG2d”G[ccbb`UXYYTPOQNS\ZUYZTMQZSPU[Vn€ubkxlYTX\]]_efl~‚~~uZ˜ž¤§©­¯|^H7:?CEOQLJ^cjU..C}ÐîëîìììéëêçèëîìíñÊzw‚W„A44UœŠIKIBBAFNNIGjxR75:ˆ`Pdc^`^ZZTVTVZ]SOWWNLNU\ZYZdw„‹„cdqiTQY\ZZ\dikt~}vŽgj•°ª “‡{ƒµ[6?EKMQF::xxxpXWax¨ÌÒÐÎÏÒÔÓÓÓÐËËËÌή‚{\…8::aŒ˜yC8444=KJFQ–e672t}Kkknqnnolry†ˆ‰Œ††‘³“}€|z}{lammbW[a_\[_gfhqgcd•]\EYE<874^»S=CFLSS=78ppnnruvwwz|}|‚ƒ‚ƒƒƒ~~}zz~€qly=JE[…’xJE7567:88M–™U862X•Lkptvwvwyxxusuutwyy}‚Š–¥³´ª—‰{plllmnlgeb^]\[Z_^YYp™WS=E4789>c´Q;AMXZM<<=qnlkklnqsuutsstvwx{}~~~~|zwuf}pGPLa€}OHIECDDB>6CejT;64435>@9?BCzwsokjjjklnoppqpppppqtwK8;MwIHJEQ7?DBDKQMKGD==>@XSLM>699=<7678`gecccddfimprtvvtsqnmnopookl|–®¹¶¨“qid[YWz™gHDDD=LŽl><6334459=??xxvtoljiihjlmnoppqqrrpqO1006KE77567;;75456666878789<;;=BM82AN_jjifeddbbcbdfjnsuwwwuqnmklnqomlr’®Ã¾ _Vbmq“UFMKIBFaoHDHC7524AH?EIHLWMMQOJEDuuuvutrlgeeegijlmlllmmmnn}ºDN::997776666666676577778:::?Cnlgjhgikmmjfcba````adhmorruvwvsmhgilnonlkylNPMSccJSK77:CGDDILWhjkmaGAAprsuvuurlheedefiijjjklllkv´†GA4577665555556565445566665CRE_lhkjhffhjlljecba`aa`_aeimpsuvwvtqkggjnnnkibcy[V‚ogbPKRYYYZ\^\[ZZ[^_^knprssrqpkgda`acdefgiijklmœzU]]G3544434445=A5544444437r’SAdgkjjhffdfilljgc``aa_]^aejmprsttttqkgeilllkv´•sslldd`U[ppmkjhgffghiikjlnppqqqrplhca`a`acdegijkn{pb™¤´i23333344588654433212m®ž¡r=_hllmmmjecbbclnkfbabba`^^aeimoqrrtttrjeegilu¦“o`__YXXW]ja[YXWWWXXXYZ[ikmnprrstrpmhdbaabbcdeghhrnGhŸ¤¬ža0/221116987512424oG=Z‰K:c¦OÃx]dgjklmnrsqqpolgcb`_`adQ0-.147;CIQZdt‡”¨¿Õ¿³¡””Zy–­²¹ÀÅ˦NA<=K¥ÖÓÍÈÊɱ{\bnieba_aefecb`][]^]\Z[[[_bh`DGPPUÊÕÐÕÞìˆB=Hº~7‡ÏÍk<¯—DË¿p\dfghjlnorqopplgda``_bS0-/479>ELUk„ÒäåéíìëíòÉxXzÉßÞÞÝÜä©Uh_[MŸäßÜÔÕÝÕipQkkjgc_`bcffdc`_____^\[Z\_f^AAIOMbl“©¸õÒRC=~ÖbÐÂfˆÔ[H¿Î³a[bcfijlmrqoqqomhb``_aW2-./4:DP^u¡¦ÕëêìììëíëªdefÌâÞßßÞã‘IXiZK’åàÞÛÝâÑRqVclnlifcbacghgfdbabaa``]\]c\A?EJOPTZ_Æœqh[UÈÍ|¤™‰ã£Ta¬ÃÏ Y\aehiklnooqqpolgb```Y4-//27q†D39:gƒ|wtqloŸ“TlK9777988;Fn×YVUG?952:GCnQgkjjkkjhdcbehjkifda`____^YC=EGKOTW[eghhkqx€›¸ÍÉ°‘‚yuN‹¼ÊÈrYadhikkmnppopomjeaa[6600;XÛà}_g…dghnqtx›‚UhJD:9;:9985<œrJD77;<;8>I>>ADGMQNp¡ŠNdPOPKKKJIKOG533469Psª~KPO?=_Kg_ciijiijjkjgdaa`cfhigc_]>2@LMPQS[eggjj‚ÊØØ××ÓÌËÍÇy]RMS–»ÆÄsT\_bdfhiklmmmmlla0:4/+,..///000:[jq˜{LNMNHFHKJIHCKC?9:DHPUoYJCDG>?IdS™”o\gghijjjhec``acfhhd`;0@LNRU^_d^L867:AFHGLI?>81fXOJ`ªÀ˺hZ_adfggijlnnmll\,:6.@;0-+**+*)6b‡££‚oQ7<=BTZSHB?HTDB:AKcNY_PRWIl`PLJr·ÁЬa\acefghjkllkjaR*862;PLF=78/)*.JavˆqcRPORTSOOQRVTSTVWWYZZYXYYZ[]b`ibZQQbeeefgghiiifcba``chh7*AB=XÊÅkZZUFOPMKMSKHFFFFClncRLM‡»ÂÓ—Y_bdffgijkjih]N.7540;??=31,-04=Hsv_agaD866:CBDFGIHICimu\OLWœ¾ÉË~[abefghiiiiibR:4/0/+*)**))*)**,JKVeiXYYYXXXXXYYYYYYYYYZYYYYYYYYY[dVB_dcdeefffggffhhhgda_`c8&9<:=EOWbntrgdcdcdffghgijqomgYOLc¬ÁÎÅu]befghghhigd\N>98:977899:9:<;9_NUhgUXWWWWWXXXWXXWWWWWWWWWXWXWVUT`dH]`aabbddfffeeegghfca`a8%85438>BJNPWURQQOMLIFDCBApklneSVf„»ÇÔºj^ddfhhhhhhfb[USQRSRRRRRTUVXYZek„ijTYVVWWWWXXXXWWWXWUVUTSTUWYXagisqprsssqlifbljeefggggf`Y5%71MB+''&$##$%$####""""$%llnmhYOPOŒÃÇÔ©__aceefhggifb`_^]\ZXXWXY\^acfgw‡nywugXXXXYYYYYYYYW]m\fr}‹–ž¥©°²¯²´³´³²±±­©¦”ypdddeffcXQK/&62JT?30353/--,,*)+./0125mrpomdTMLW¥ÅËÔY`bdeghggihfeddb`^[ZZYZ\_bee_z†{…¯·¤iZ[\\\]]\[[ZXu‘¥¯°°«§¤ ›š˜–•”“‘’‘‘“˜œ ¦[ecccb`^UMI1%50(#2<;::98766568:;:::87nsqrswiUOJm½ÈÑÈn\bcefggfggggggdca^\[YZ[]_a^YwsvžêáÜ«c_abceffgfir{ž–‘Š‚|upjhfb]]\[[ZZ\_beirc{ibbbcccXK3'4/,-63342/....-,.//000.-moliijf]RMM–ÆÉÖ¥Z_acefgggghhhhgeda^[ZZZ[\_[Wg]T¡çÙÚç–dmoqrstuw}‹Šiod]UOLJJKMNU]MNLJKJIGGGHIJZjaa`a``]R<-/*+-2'&&%$"""""!""""""""ledcfbd^SMJdµÄÏÐyY`fgeefggghhhhgfda][ZZZZ][VZMF}ܯÄôºfwwx{~ƒˆƒ}kLHEDEEEFFFECHK===<<;;;<<=<;;Qa````_\WP?3/1353248:;:99766788899:lggfrojbRKLL„ÁÆÕ²_^cdcdefgggghhggfd`\[ZZZ\ZPMKIQb`‘á§v¡±µ»ÃÉÐÙÀ„G=<;::987779995689>F86777778;>Za````^[XSPNMMOPQSX^aa`\XVROONNOPOnlfgnmriRKLKW§ÃÊÒ”`_bccdfgggghihhfeb_][ZZZYIEMHNOU^q{­ÔzspqtyŸt;;;=?@BCDFEEa_>;=:=>65566667@=M_``aa`^\YXYWWXXWVW[`dedb_ZVVVUUVUjrkgnotrg\NLJt·ÂÑÊp\bccdegggghiihgfeb`][ZZ[JDNHMOS[eƒÍ¿635565B”T<=@AZbaaa`__^]]]]]]\[YY\aeffe`[YYXWWWvxomqpoloqYLKOÁÇׯ`acddegghhijiihggeb^\[[\HBMELRW]g€ÄÁDB@AD@mš??:467767>?;IEIRZbmºÆ^b‚‘—ž|8A526;::88?<8555469537JEC94434@>E]baaaaba```abbba`^\[]aehhgb^\ZYYfkkcilotqojRIKLz½ÁÐÆp_ddfhhijjjiijjihfc_]\\BSbbdeedbbbaabccdca^[[]`eiihe`\[[GWcbgjrsoss`MJXg˜¿ÅÔ°cbdfghikjijkkkjigfb_]]?:GGFLT\hv¢ÇY€ëíìÊžI<>223N}n513100000338?BFMUTRI927CFFNS^[\\E24A>E‡a3336Xcbcdcccdddb`^\[^bgjlljebytsptqkklkhkeLJKJpº¿ÎÊt[adeefeghiikkjjhgda^<1BJGj‰}YZu§iO€‘¥¨g;@><:<[wrcAA=0///028GERLU`\WRD32>A>‚p3660Ldccddcccddeca_\[]bgklmkgy}pkkjgikokbPKMLL“¿ÁÔ­[]`bccdffhhiiiihgfc`>3>IEžäÉuOc_><>=c‰V;AAI]@AEECBAB4.///1;IFSEYf_VQH719><;6/012Tdcdddcccddddcb`\[]bgjmlkpvqtslmgmoolkf[NKIb¶¿ÉÒ}X_bddeefggghiiihgea>3:FFoÉדOW@>:666558>AC8665645777?KHHC<8Tˆvdcbbbcccbbcbbbbdcca_\Z\`fjlluoonkljgjjlmniRJJKg¼ÆÎÖ‰]cdffffggggghhhgbY7*58ACDEMUbiF.=p‚KD8244566678:;=@@B@>@?=<==>>>=>>>?<8ZL6^`bcbbbcbbbcbcccccccbb`]Z\`ejllmusmkmnmfgkijUJJMM”ÇÇÓ¼c]^aceefffffgfdcWO5,50331.//263,_¹^bY;?><>>?ACEGHHNTSRPSSSVZ[\][\ZXZhZx}=Pb`cb`bdbbbbbccccddccca`\Y[afhmoqmlmqtpkhklgTMKLKd¹ÈÍÖŒ^ddfggggffgfd`^XR8+4/=3015@GMKLl¥¦It‡_AHV\afhiknonnqqpoonmlljkklmlmoues‡mGZ À¾”adcccbbdccbccbbbbb`\[\amklnrttptlkmmknePJJLMÇÉÔ½jdegghhgffhfeefdX:,211.9<<>?>?AWy–By‹€egsqmkheca`]\][XYXXWVVVVVWXWW[^Z`hxoSˆäïç˜``aaabccbbbaabcbbb`]Z\jquroqqloijieiqaLKLMK_¶ÊËÔ–aeffhhffgggeedcZA1--,-+'&%&(';MkŽMrdZ_ZVSPONMLKKJIIIHHHGGGHHIHHILJLNNUsj`Ž°±Ÿb^_aabbbabbaabbbbca_\Zpvtoiijmoiiktrtc`ZLLNP…ÉÉÑÇrbefhhgggfffdc`]R7)*+,(&%%%&&CNdŠhq_TOJLMIFEDEDCBA@@@??@@?>>????@@A@BACFUnj\[X\`__aa`bbaaaaaaabbaa_][hikha`bhiq{wtunimcQLNQZ°ÉÈÖ¥cffhihhhfffdca]ZL>?><@\oŠwaIDCAACA@>>>=<<;:999::::::::::;<<<=>>>CNk`__`aaabbbcca`aaaaabbaa`__olkmlspsisqttu|k]SKKLLzÅÄÏÒƒbeeffffeeeedb_]XRPPQQPOPRSSEV‰iW?=<<<<<;:99987777777777787889:;;;99;=8>N^```_acbbccbaaa``aaaaabba`ƒ}€yu{wiiowvx{rc\RKKKKR¡ÊÇ׺e`bcddddeeeddb_]ZXXXXVUTUWYGVvsYN989:;9::8777776776799::;;;;:<<;FZ]f|ŠzI<=>@CDEJhuNKHGDCDILH\‹½áÜ©¶À×J5Zca``abdbbdedcbbaacbbabbbb€~xwysnq``irysjkfYLKJTZY™ÂÃ×¾f`ccadeeeeddcbba`^^\ZXVUUWGNKSLœ³¨Ÿ«Å¶›{SLNJGHLRMkv^UY]ZZYRIJ¡øå¾°¿ÏçÀB1Yda``aadhhfefedcbbdcbaabbb‡{†z†z†z†z‡z‡z‡z†{…z†z‡z‡{‡{†z†z†z†z‡yˆyˆyˆy‡y‡yˆyˆy‡z‡z…|„‚‚}„xƒuƒtƒt„t†x†y‡x‡y†z†z†y‡{‡{†zˆw‡u†x†y‡z‡{†{…z…y†z†{„~ƒ€‚ƒ€‚€…y†z…z…y†y†z†z†z†z…z†z†z†y†y…y…y…y†x†y†y‡y†y‡y†y†y†y†y…y†{‚~|‚yƒuƒuƒuƒv„u…v†y†x…x…y…x†{‡{†z…y…w†t…v…v…y†{†z†x†w†y†|ƒ~‚€‚€€€…z…z…z…z…y†z†z†z†z†z…z†z…y…y…y†y†y†y†y†y…y…y†y†z…{…z…z…z…z‚~€‚{ƒu„w„wƒx„w…w…y…z„x„x†w†z‡{†z…yƒx„v„v„uƒx…y†y‡w‡w†y…{ƒ~ƒ~‚€‚€€€…z…z…z…z…z†z…z…z†z†z…z†y†z…y…y…y†z…y…y…z…z„z…z…{„|…{…{…zƒ{‚€€‚z…y„y„x„w…y…|„{ƒy„x†x†z†{…{„{ƒyƒwƒv„v„x…y‡z‡y‡z‡z…{ƒƒ~‚‚€€€€†x…|„|„{…z…z…{…{†z…z…z†z†z…y…y…y…z…y…y…z„{ƒ{ƒ}ƒ~ƒ}„|„|„|ƒ~€€‚|„y„x„w„y„z…|…z„z…z‡{‡{†{…{…z„y„v„v„x…y†y‡y‡z†z…y„|‚~‚‚€€€€„{‚‚€ƒ~„|ƒ}„~…|…z…y…z†z…z…z…z…z…z…z…z…{ƒ}‚}‚~‚‚}‚~‚‚ƒ€‚~‚|„z…y„w„y…{…{‡z†z†{†}†}†|…z…y…y„w„v…x†z‡{†z†{…xƒzƒ~‚‚‚€€€‚ƒ‚„…~ƒ€€‚ƒ„|…{…z…z…z…z„|…z†y†{„|…|…}‚€€€€€€€€€€€‚„}…~ƒ~„}„{…z…z„w„w„x„x†y†z†{†|„{…{†z…z…x…w„w…w†x†x†z†z†y„{ƒ}~‚‚€€€ƒƒ…†~‚€‚ƒ~„}…|†{†z…z…zƒ}ƒ|„{„~‚€‚€‚ƒ~ƒ}‚~€€‚~ƒ}…|†|…~†|…z…y…x…w…xƒwƒw„y…{†|…|„{„{…{…y„x…y„x…w†u†v†x…y…y„|ƒ}~€€„…ƒ‚€€‚€ƒ€„~…}†|†{„}‚€ƒ€€}…{†z…|…|„|„|ƒ}ƒ}„}ƒ}„|…|‡z†z†|†z†z…y…x…x…y„y„y…z…z†|…|„}„}ƒ{„z„w„y…y†v†u‡v†w…w„xƒ|‚‚€€€€‚€ƒƒ}…~‚‚€€€~~‚€ƒ~ƒƒ„ƒ}…y‡x‰wˆw‡x†y„{„{„z„|„{…z‡y‡x†y†{†y†z…z…y…x…y…y…y…{„{…|…}„~„}‚|‚zƒz„y†x†x†vˆv†v…uƒv{‚€€€‚‚}‚†€‡}ƒ€€€€€€‚~‚}„{†{‡y†z‡y‡y†x‡w‡w…y„z„x„z„y…x‡x†x†y…{†{…{…{…y…v…w…x…x…z…|…|…}…~ƒ~ƒ|ƒzƒz„x†x…z†w‰w‡v…v‚w€|~‚‚~ƒ{y‰{€€€€€€€‚‚~ƒ~‚|„}†{‡z‡x‡z‡z…x†w†w†w…x…x…v…v‡v‡v‡vˆwˆ{†{†|…z…z…y„u…u…v…w…z…|…{…}„~„}„{ƒyƒx…w†x†y†y†w…x„yƒ|~€€€€~‚~ƒ}‹|‚}~ƒƒ‚ƒ€ƒ€„{†{†y‡v‡x‡y†z…|…|…|„|ƒzƒw…v‡uˆu‡vˆw‰{†|…|„z„y„xƒ{„{„z†z†y‡{†|…~„~„}„{„x…x†w†xˆx‡x„yƒz‚|‚€‚‚‡‚‚}ƒ|„‚†€ˆƒƒ‚€†~ˆ|‡y‡yˆ{Š}†{‡y‡y‡ƒ‡€Š~~Ž~}Ž~‹~ƒu‡uˆwˆz†y…{…yƒy„z„|…|†z‡{‡zˆ{‡}…~„~„~„}„{…y‡x‡y‡z‡{ƒ{}‚€‚‚ˆ€€}ƒ{„‡‰…€ƒ‚†}†}‡|†}‡~‰~‡€…y‡z‡‰|‹|ˆ|ˆˆŠ€‰~Š~‹}|‹~w…t‡v‡y…w„z„yƒy„z„z†y†y‡yˆ{ˆ}†~…„ƒ‚~ƒz„w†wˆy‡z†|ƒ~~€€€€€€€~‚|ƒ‡€†‚‚ƒ‚ƒ‚‚ƒ€‚€ƒ€‚€€ƒw‡|†‡„}|~{{„|„|†y…z‡}Š}‰}}ƒt‡t‡x…yƒy…y„z„{„z…y‡x‡xˆ|‡~†~„~„~ƒ~„}…w…s‡t‡v†wƒ|„‡‡‡’ˆ”‰—Š˜Š˜Š™‰šˆ™…‚‚‚‚€€€€€‚€‚€€€€„y‡~„‡}‡|…~„}…y„{ƒ{†w„{€ˆ}‡|‚y‡v†w…y…x…y…{„{„z…x†x†y‡|‡}…}ƒ{ƒ{„y…v‚rprq€o~s|~ƒ†”‡œ…˜†•Š‘‹ŠŠŠ‰‚‚‚€‚‚‚‚„„ƒ‚‚…|†‡|Š|†‚…‚‡yˆx‡x†w„}~„†‡|ƒ|…z…y„yƒzƒ|ƒ|„|„{†{‰{‡z†x†tƒpj}p~p|t}szszq{o|i|j{†…‚‚|€zƒz†{‰{Šz‰yŠx‹z‚€„€…€…ƒ€ƒƒ‚‚‚ƒ‚ƒ‚ƒ‚ƒ‚‚ƒ„ƒ€ˆ{‰{„ƒˆy‰zŠz‰z„€~‡…€‰|„~ƒ„€ƒ€‚€‚‚ƒ€‚‚ƒ„‚„„|„y„uuxy€y‚zy€x~x}w}y„‰ˆ‰|‰}‰~†}‡|‰{ˆz‰zŠzˆ~‡‡‡‡‰}ˆ}ˆ}‰}ˆ}ˆ}ˆ}†„„…|…|…~†~ˆ|‡|‡}‡~„€……€Š{‡}‚ƒƒƒ„€„ƒƒ€‚€ƒ„€„€…€†€…€…‚‚ƒ€‰ƒƒ€„€„…‡‚†‰Š}Œzˆ††|ˆ{‰{‡{‰{‰z‰{‰}ˆ~‡~ˆˆ‰}Š|Š|Š|Š|‰~†€…‰Š}ˆ}‡}‰}‰}‰~ˆˆ~‰~ˆ‰~‹|Ž|‹~ƒƒ‚„€…€„…„€‚€‚‚‚ƒƒ€…†‡‡€†€„€‚ƒ…}§{³‚’‡‹‰zŠy†}†‹z‹zŠzˆ{ˆ{‰z‰{‰|‰}ˆ~‡‡ˆ‰}‰}‰|Š}‰}ˆ~‡~Ž|Ž{Ž|}‹|‹|‹|‹|‹}Œ}Œ||||Ž}„€ƒ„„€„€ƒƒƒ€ƒ€ƒ€€„†€ˆˆ‡…€|­‚™‡”‰ƒ‰‡„‡…‡ƒ††…‡„†…‡‡‰‰}‰|‰|Š|‰}ˆ~†‡€ˆ‰~‰~Š}ˆ}Š|ˆ„ŠŠ}‰}‰}‰~‰‰‰}‰}Š}ˆ…ˆŠƒ†„€‡†„€‚€‚ƒƒ€ƒ€€‚€€ƒ…€‡ˆ‡‚„„…Žˆ Š¥‰¦‰¥‹¢‹¥Š§‰©‰©Š¨‹¨ŠŠ}‰}‰}‰}‰}†€‡€‡‡ˆ‰~ˆ}ˆ}‡ƒ~„„‡‡~‡~‡…††‡~‰}†€ˆˆŠ}‰}‹|‹|Š}ˆ~…ƒ€‚€‚€€€€€‚„€††€†—‚¿Ä€Æă¾‚ÂÆ|È|ȀƂÈ€‰‰~‰}Š}Š}‰‡‡€‡€‡€ˆ~ˆ~‡€…ƒ‚‚ƒ‚‚‚€„‚„ƒ„„€ˆ~{’z’y”z”x”x”x•w•x•y”xŠ|€‚€€‚‚‚€€‚‚…„†™²yÇwÏqÒqÔrÕrÕqÖqÕqÕtÓƒˆ€ˆ‰~Š}Š}‹~‰~†€†€…†€ˆ~„€„€„„‚„‚‚‚‚ƒ…„‚…‹||Ž{Œ{‹‹ƒŒ‚‰€‰€‰~Š|‹|‡„€ƒ€‚‚ƒƒ‚‚ƒ‚‚€‚€ƒˆ„ ‚„€‡€’|›z¡z¦z¨z¨{¥|¡|œ€ƒ†‡~ˆŠ}Š}‹}‹}‰~‡†€…€†ƒ€ƒ€†€ˆˆ~†€ƒƒ€‚‚†‹|ƒ|||z}{~ƒ}‰zˆ|}z~z~|~‡}‹{ˆ~†€ƒ€‚‚ƒ€‚€‚‚‚‚‚‚‚ˆ|´}ª}‘€„€Š€~‚€€}‡}„ƒƒ‡€‰~‰}Š}‹}‹}‰~‡†€…€‚€‚€„€†~…}„‚ƒ‚…Š|„}~~~~~~†{ŠxŠy€{z|€†|‹{Š|ˆ~‡…€ƒ€‚‚€€€‚‚€…x¸sÎsÌx½y³wÁyµ~’‚…€†}˜x½|†|„‚†€‡‰~Š}Š}‹|‹}Š}‡„€€‚€‚ƒ‚ƒƒ„ƒ‰‰Œ‹‹‡‰‡€ˆ|‡}Š~ŠŠ~Š{Šz‹y‰yˆ~‰€‰~ˆ{‹|‹|‰|‰}ˆ†€„€€€‚‚€‚„y¸qÎqÐsÎtÈuÀz²} }‘~‘}žy²}’}‰~‚ƒ‡€ˆ‰}Š}Š|‹}Š}ˆ~…€€ƒ‚‚ƒ‚‚‚ƒƒ†„†„†‰}‡|†|‰|‰|‰|‰{Š{‹{Œ{„„‡}‰{‰|‹{Š|‰}‰~‰~ˆ~†ƒ€€€‚‚€‚‚xµrÎrÐsÍw¶~˜„ƒ€~‚~‚€‡|„~„}ƒ}‚„ˆ€ˆ‰~Š}‹}‹}‹}ˆ~ƒ€‚€‚€‚€‚‚„†‡‹|‡}…|…}…}…}…}†}‡|†}|…ƒ€…~†}‹|ˆ~ˆ~ˆ~‰}‰~ˆ~‡~ƒ‚€€‚€{«tÌuÅuÇ{—~„‡€ˆ‰ˆ€…v„~„ƒ}ƒ‚†‚‰€‰~‰}Š}‹}‹}‰~ƒ€ƒ€„ƒ‚€‚€ƒ€ƒ€…zŽzŒy‹|‹|‹z‹{‹|‹z‹{‹|‹{zyx‘y†…ˆ~‰}‰}ˆ~‰~‡~…~ƒ‚€‚~¡}‘|œ}†€€~‚ƒƒ€ƒo‚zƒ€‚~‚}‚‚‚‡‰~ˆ}‰}‹~Š}Š}„€‚„‡€„ƒ€ƒ€ƒ€ƒ†y•v–v•w•v•v•w•w•w–w–v•w•v–u•t”v‰~†ˆ‰‰~‰}‰~ˆ~ˆ}‡~„‚‚‚€€‚€‚€‚‚‚‚‚h{m~|‚}Žz‹~‚ƒ‚ˆ‰~‰~Š~Š}‰~…€‚„ƒƒƒ€ƒƒƒ‡~z’y’x’w‘w‘w‘w‘w‘w’v‘w’x’x’xxxŠ}‡~‡‡‰~‰~ˆ}ˆ}ˆ}ˆ~ˆ†„‚€‚ƒ‚ƒ‚‚‚‚‚‚€‚€‚€j}i{r{‡}†~ƒƒ…‰‰~Š~Š}Š}ˆ~ˆ‡…€„„…€…€ƒ€‰|‹|„€†ŽzxxŽyŽxxyxyzyŽxyyzzzŽzyŽ{‰~ˆ~‰}‰~‰~…€€ƒ€†~†~‡~††€†€†~†‡kj}k}w€‚~ƒ~ƒƒˆ€Š~‰~Š~Š}Š}Š}Š}‰†€…€…€†€„€‡|†~}…|……€‹{Š|‰|‰|‹{z’y“y“y’x’y“z”z”{“z“{’{’z’{‹}ˆˆ~‰~ˆ~…€€‚‚…€……€…€…€„€„€„€„€onmt‚ƒ€‚}‚}ƒ…‰Š~Š~Š}Š}Š}‹|‹}‡…€…†€…€†~…€„~ƒƒ‚††„ƒˆ}Ž{{Ž|Ž{Œ{‹|‰}Š}Š|Š|Š|‹{Œ{Œ{Š{ˆ~ˆˆ†…€ƒ‚‚‚‚€‚€‚€‚‚‚‚‚‚‚oƒm€j|m€yƒ€‚~ƒ|ƒ€‚‡Š~Š}Š}Š}Š}‹}Œ}‰~‡†€…„€„……ƒ€‚€‚‚‚‚ƒ‚ƒˆ}Š|Š|Š|Š|Š|‰{‡|‰|‹|‹z‹y‹z‹zŒ{Š{‰}ˆˆ‡†€…„ƒƒ‚‚‚ƒ‚‚‚‚ƒll~hyi|j}z€‚}}‚ƒ€‰~Š~Š~Š~Š~‹}Œ}‹}ˆ~†…€„€„……}„‚€‚‚‚ƒ€ˆ}Š|‰|ˆ‰}Š{‰{‰{Š{‹z‹{‹{‹{‹{‹zŠ{ˆ}ˆ~‰~ˆ~ˆ‡€‡€‡€†€ƒ‚€€ƒ…€†om~izhyezt€ƒ~”|ˆ‚†Š~Š~Š~Š~‹}‹}‹}Š}ˆ~†„€‚€ƒ„„‚€ƒ€ƒ€‚…€ˆ}Š{Š|……€‰|Š{ŠzŠ{Šz‰{ˆ|‡|‰{ŠzŠ{ˆ}ˆ}ˆ~‡ˆˆˆ€ˆˆ‡…ƒ€€‚‚‚„€l€j~gyfxgyl}{…€‰~…}‚€‡‰~Š}Š}Š}‹}Š|‹|Š}‰…€€€‚€€ƒ€ƒ€„€‚‚†ˆ}‰|Š~ƒ€‚ˆ|‹{‹zŠz‰{ˆ{‡{†{†z‡zŠ{‡}ˆ}†„†‰‰~ˆ~ˆ‰~ˆ~†‚€‚€€gg~gzgxhxizp}€‚~‚}‚‚‰Š~Š}Š}Š}‹}‹|‹|Š}†€‚€‚€‚€‚€ƒ€ƒ‡€†}ˆ}‡~‡}†~ˆ{ˆ{ˆ|‰|‡|‡|‡|‡|†{‡|‰|‡}‡~„„€‡‰‰ˆ~ˆ~‰~‰}‰~‡ƒ€‚€hh~gzfygwhxhyu€ƒ€ƒ}‚€ˆŠ~Š}Š}Š}‹}Š|‹|‹|‡‚€€‚€‚€‚ƒ†ˆ~‰}Š~Š}Š|Š|‹{‹|‹|‹{‹|Œ{|Ž{Ž{|‹|‹}‹~††‰~‰~ˆ~ˆ~ˆ~ˆ~‰~ˆ~ˆ~†‚‚‚jh~gzexgyizgzs€ƒ€‚‚‚„€Š}‹|Š}Š}Š}‰|Œ||Š~ƒ€€‚€…€…ƒ€ƒ‡~‹}zz‘z‘y’w“w“v”w”v•v–u•u–v–u–u–u•v”vŠ}†€…‡‰~‰~ˆ~ˆ~‰~ˆ~ˆ~‰‡€„€jh~g|exi{j{h{o~~‚‚€‚}‚€ˆŒ|Œ}‹}Š}Š}‹|‹|‰~ƒ€€ƒ€„€…€…€ƒ€…z’w”w˜v™u˜u—t˜u—v–v—u–t–v•w–v—v—v—u—u‘x‡‚ƒ€ˆŠ~‰~‰~‰~‰~‰~ˆ~ˆ~‡„€jj}j|h|i}h~h}lu€‚‚}‚ƒŠ~Œ}‹}Š}Š}Š|‰}ˆ~„€‚‚‚‚‚‚ƒ…z“w”y”w“y‘zzz{Ž{ŽzŽzŽ{Ž{Ž{Ž{|Ž{zz‰~‡†€ˆ~Š~‰~‰~‰~‰~‰~ˆ~ˆ~ˆ~‡l‚l‚jjnƒk„i‚j‚r‚~‚‚‚„~„‡€Š~Š~Š~Š~‹~Š}‰~†€„„‚ƒƒƒ‚€ˆ||‹~Š}Š}Š}Š}‰}ˆ~‡‡‡~‡~‡‡‰‰‚‰„‡Š‰€ˆ‰~‰ŠŠ~Š‰‰‰~ˆ‰~‰~‰lˆm‰n‰oˆq‡p…m„o…s…|ƒ€‚~—}~‚‰~Š}‰~‰~‹}‹}‹|ˆ~‡‡€…€„…‚€ˆ~Š€ˆ‚‡ƒŠ‡‡†…„ƒƒ€ƒƒƒƒ€‚†„‰†‹‡†„„ƒ†ˆ‰‰‡€‰€Š‰‰~‰~‰}‰~‰~‰~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÍÍÎÎÍÎÍÍÌÌÌÌËÌÌËËËÌÌËËËËÌÌÍÎÍǾ²¬žœ‘}qfhuijilmqcgaU]a[\c[R\b]_VPOSZY_e_dSTVVTVTSYTPW_^ZWTMD=8;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÍÌÌÌÌÌËËÌÌËÊÊÌËËËËËÌÌÎÏÏdz™ •r~w€p]]]q}nZ_mkg[YZ[_YUTN^f_\ROOQXW\gghOT\`YPPLRRY_a[VNLI@?65442086ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÇËÊËÌËÌÍÍÍÍÍÌÍÌÌËÌÌÌÌËËÌÌÌÌÌÌÌÌÍÍÍÍÎÍͦ‰ˆpjkmmlmqsyy`a_cdZZ[[Z]RSV]bX[ZVTRTSWZfcPQX\UKNMSS\b`aYPFC@;741110.0ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÂÅÁÊÌËÊËÉÊÊÊÊÊÉÉÊÊÉÉÊÊËËÊËÌÌÌÍÍÍÌÌÍÍÍÌÍÌÍÌ´–’ynsvxs}cca]fX`ccYYVU`XTYfdQOSUWSMLVNWfPNSWYPNSOPX_]_TTTOG?<9632/,,ÍÍÌÍÌÍÌÌÍÌËÌÍÍÎÈ¿À¿ËÎÎÍÎÍÍÍÍÍÌËËËËÊÊÊÉÊÊÉÉÉÊÊÊÉÉÉÆÈÉÊÊËÊÊÍ¿‘‚ƒo_jzkdf_^`Vi`VXTSM\`^`ok\POT\TMJSQQXTYZYUNPQV[_WVYQPXMG=>A<52/,,ËÌËÌÌÍÌÌÍÍÌÍÍÎÏƹ»¹ÉÎÎÎÎÎÎÎÎÎÎÎÎÎÍÍÍÍÍÍÌËÊÊËÌÌËÊÊÆÊËÊËÌËÈÆæ‹wvkg^inmb_`\W\_UQZRRQ[eeegbgUQUYSPSSRQWRX\aURTQYZ\WWSSOPPI>?=6650.3ÌÌÎÍÎÎÎÍÎÎÎÍÍÍÎüƽÇÏÍÎÎÎÎÎÍÍÎÎÍÍÍÍÍÍÍÍÌËÉÉËÍÎÌËÇÅÊËËÍÎËÆÄÀ²œ{|o`TRa[Y[`_^b_VTPJKUY^aci_ZSOOONJSPSP_KTTY[W[Z]ZZVQQSNSJEC?C;520/4ÎÎÎÎÎÎÎÍÎÎÎÍÍÍÎþÌÁÅÎÌÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÉÉËÈÄÁÃÀÆÇÉËÌÉÁ½¹§‰{pUSRPLUUlnebc\YMEALYP[``]UTRJLJHKIQLXORTUVW[ZZZ\XRPRMWOBG@><3.---ÏÏÎÍÍÎÎÍÍÎÍÍÍÍÍþÊÁÂÍÌÌÌÌÌÍÍÍÍÍÎÍÍÍÍÍÎÍËÊÈÇÅÇ¿½¸Á½À½ÅÊǺ«›¢‰~{vaUYYWgh\nee]TURRYWcTOZ\RNVWRKHEOQQ[ZRQXZUTWWTNNZUSWRWV>4511/.-,,ÎÎÔÝÜÒÌÍÌÉÈÉÉÊ̾ÈÀÀÌÍÍÌÍÍÍÎÎÍÍÍÍÍÍÍÍÍÎËÃÁÁ½Âº¸ªÀ¸¾´¿Æ½½µ¤…‚p†zd[_Z[fjUn\S[TNTT\ZTNQSWRQRTXMKKSRRYg]NVXVWTTZRK]YY[[KA<7630-.,,,ÎÛëððæÕËÉÁ¼¼ÀÄÇÁ¿ÆÁ¿ÊËËËÌÌÌÍÌÌÌÌÍÍÌÌÌÌÌËÅÀ»²¼¸¯ º²½±´½²¹°”ƒ{|oecca`T[bYTe[SZ^ORSX\UVTNNMKKLSYVOROPPbYMZ\YRLMXYPWXQKI@8=<:72.,,,-ÝïÒ¨¸äêν¶±°µ·¿ÁÄÊÅÁÉËËËËÊÊÉÊËÊÊÊËÊÉÇÈÄ¿¯«§¬®¢›¨¬·®³³­¨–}rusllS`dYXcWP]i]Y_VKQRT[`_SQLLKNRMSUKPTNR\^Ya\SOKLXXQYPQVJCE=:;972/.--ïÇzgn¥çܵ®­­³±¾ÄÆËÈÃÊÍÌÌËËÊÅÉÌËËÊÉÉÇÂý½± š™££—”Ÿ«­«¬¦¦—}rlgajl[SWUa_VV[YZ`VUZUTUT_VQSNNTUQSUWQPXQRX_Y^XX[W\_SRYVRN?=D:8667530//åŠvvq‘Ì깬ª®°±ÀÀÄÉÇÂÊÍÍÍËËžÈÌËÊÊƾ·°°±¸­Ÿ•˜˜˜ ²®ªœ—˜‹sebeTd^OKHPWaZTUag[`o\^f^SUMPPOOQVQTRTXR[OP_]\hZb^ge]RPLKHK@>@8745564./2ŃŠv‡ÂêÀ¨¨°¯³ºµÁÇƾÈÌËËÊÇ¿µÆÌËÆÀµ¥š˜ ¡šš–‡“—­ª™Žƒudei[[SQUTPX^_[hj]PU_NXoo[QOJMMJFJLKNNLPZUY]SRWX_gYYTNILFEDCI?7533443/16ªš›‡|†¾êÉ¥§¯±µ´±½ÈÅ·¿ÉÇÊÊȾ³ÃÊȾ°¤™œž•–“‰‰Œ’’‰‰‘—‡‡ˆ‚~wunbWTX[XPV\UU\h\RQ_ih^]\TTLIIGIHFEFMLT_\UZUO\jfeV^TMVTIJ@?@9854334437={€„†ÀçåØ㮬¨©µÂ¸ª®³²¹´Å»°½Ã·ªžŸ˜š ’“Œ†‚†‡}‰‹„‚‚€xvpaXXTU\[SYTRYeOPP^daRR[XSLKLIKIGLJHQU[bRYQQkqce_b]U\YUUH<:;86543375;?ž¨{ÁåìîèÏϨžŸ¦§žŸŸ  Ÿ¦¶®¥¡¦šš— ™˜Ÿ“Œ…‚„ƒx‚‰‡„|{{}upnjdXPXf[QTRU_XOY\\^WQQOQRLJPPJMSQECJNS\OQM_a`_ZgiZPT^ZFSF=;<956648:<=ÛÚ¸uw“ÀäëâÞæﵟ¥±¡›œ ¥ª¤¡¢£ ”“’›™Ÿ›’™‹ŽŠ†‡ƒ}xˆƒ€y{xwphidYWZRW^XT\Y[ZVZYZ\ZUPLVRNLOI@BEE@@EHGPJRSX[aX`mZaQY^ZJEC@=<756669=??ipbat“ÃäìÏÃáéÆ»ÉȺ½·½»ÈÄ»ª  •Œž–š•‰‹Š‰ˆ†…‚‚€y~„~|~vwvrqmkgX\cdbWQSWX]]bWT[QW_\WPJOMMJBDEA?FFDBRGUX\W`a`\RadUVYRLGDF975668<>HGKRNNm‘½äîèæêéæçèææççéçéëïÄšš”ˆ‹’‘‰ŠŠ‡‹†‹‡ƒ‚‚„{}‹€y€wtqurnhaV[eaYQVOR]fbbUOSWkZaXNQROIHCIVMEJLMFPR\\XLYccdT`eXPW^PE@@<;9879=@KBzgD?[„ˆ éììëëìììííìíêæäç鵌‹ƒ‡‰Ž‹}ˆ‚Š•„„Œ}†Š}Š‚y|wvvuwsaVQZYZWZVO[WX_gjmrriTZ[SMRQFEFPTPRPOPIIWZ]\ON]Y_]]hfW^R?:9<<;::9;>==>>FPTV_YZafk`^^W[SYSSVVT?9889:98967:@@?=MONQTe«ïìíâÒÊÁÀ»¹º»¹ºÃ»‡}yz}€}yz€€||~}x{}~…„~|~{|trvzytnjg\SLKXW[RUWZZVHW_Z\WYaXLMTPNLMONORSYWZmc[\ZZUYYRUJLI>973g‚86987;BECEONdhp–˜ßãà±f\UPRRNPNQYm|zz|x{€}wz{z{x{€„‚€~zusmmwxzqg_`SQSD?OVUVZZPKIUY[[V[d_TMJHJNMMIHINVXZ\_Z]VURVOKKHA<7787Sx;789:?=<<@LOX`ZTY[SWYNKE<:998773áO49:;ECGE?<=;LžÚ؈~{†¡yng_YUWap”—za][XVWVUNdtjrjig^N\i\TSYZZSRXWZd^WU\ZTMGEAA??=78?EGI\hXTYX[ZSGC@:7888785‰ÞP3::K[kk^LQdSF?;;:9;97573{ÜU5<9;>DF@Tìå¿hMHO¤ÃÎÎÊÌÎÑÓÔÕÓÒÒÐÎÐÕ§†~~‚JHq„’™žZL902;ADNMGLQTMFfhklga\[W\[NPVUMNS][XX[]ZSTMG@CHJB=DRPJV]^iŒmQVVKA<9869CMVblo•Éˆz}~~~‚ƒ…’ivlGCSŽÈÖÛàááâäæääåääãáÜ´}||€uCU’¯²³µ²§š‡ilsTQPG3234ZLUfgsygVUVSRROTXPOZ\ZV[a\YNRTQIEKPJ<>MTMfljv…h\_TJC?<8Us‹ Ÿ ž™”‹‹‹ŠŠ‰ŠŠŠwbs\GIP‰ÌÚàééëèããåàßçëêäÚÏŽzyƒ^ZJl¦Ÿ•‰}š¼…Š¦XNPMM>55OlGfdbn`SU]YX]UOSQSP[]Ze]UUQOIHHCFJGEIQOVijhqocbkkZTNKN”yxungc`^]^\[ZYYYYYX†zfLJGFˆÍÞèëé꺡³Ù²£ÊëããÝÛšzy„Qr>6B?:7GJS_`d^PLKhlW48G€MX\ZhcVMV[_ZXRMNWW[c_aXOOVRMF@=HW`W^ijmaZXX_bdhkmqh^j‘OMQSTUXSGEB@@@@?ISVJJG;55<~ÈäåéççáØáçáÙáéççãã˜z|}Vw447=>9HNMMLLKMJGkuZ7A‘¦dQeb`a`VXYYSRPNLR[WSVXTMRYRPY`\tƒsalxiXTX\]\_egm„ƒ}}uLu…‰–‘T>:67:;=KVWfimg8-7k¸ðííîëëìììëëëíííñæŽt~ohk159wŒRDOJIHIMMLE^w`?7FpƒJea_a_ZZTVU]de^Z_^WQPXc]Y_l}‚†‹`eqfRRZ\ZZ\eiku}zwuŽfq©²µ´²°­Ÿ`;6:DJMTMAxwvv_X^p›ÎÔÕÓÓÒÓÓÒÓÔÒÍËÊοŠ‰Š]|Z27@~•|MC877;KNMEX{F63E”Pfmorpppnrz…Œ‹‹‰Ž’‘ŒŒ—·‰…‚zx{zldnmbX\b_\[_gegoeb_d–]bj‡vi\P`É|@:BIRWXB7qonnptvvwz}~€‚ƒƒ„…ƒ€~|{w{€†Y‹K>CJ‚“ YD8235>B>?v¡ˆB657iYprsuuwyxwuttuuuuvx|„‘¢°³¬‘…yollmmligb]]\ZZ^\YZYo˜XS=><868hv?:74|…Ijc[^glmostvvuvurrrqppps{‰–¡¬®«§˜‡vigfeb`\ZWYXWVX„ŽUHBB5897D|a:69Ta^F>@vqljjjjlmnprqpooooquyy{yibivsa’K_WcyqTGILMMKNHM\‡”fA;<4r€@iK<;Kfdefhikosuuusrpomnoooprw§»¼©zlgggfc`]\X_™}S>>=49RR>>;4435Dgddcccdehlprtvutsqnmnnoppmlv‹¤¶¼³¢‹xlihb^]|žgM>@?9Px~c<94443437;?wwusnliiihikmnnopqqqrqrZ287CIA77645<2;_B;::9888767776778888778;;=EF5Qafhikkjgdbaa_^^`cgmprtuvvurlhhjmonljiu“¸Á_VeuyŠFQhTICDPU?GIF??76>FMLtuuuutrlgedfhiikllllmnmnpm“Š>Z?;:998877776666775677789:;>AKojhhfhklmjfdba``_`adhloqrtuvvsnigikmonljp„[R\aruHJi<;:=@AEIJZmijn`F=qrrtuuuqmheeddehiijjkllmlm£±KL:888766566655566545566677675544345549]|eBWjhljhfeefilljgc``a`^]^adimoqrttttqkfehkllli|¨|l||sojZOVdhhhijhgghikjjlnopqqqrplhca`a`acdegijji|…bj˜Žl3333333347?7554433326~­£IFhfjjkihgdcejmnkgbabba_^^`dilnprrsttrjfdfhji}°Œphhd[[\V_skeb`]]]^]]_aiklnoqsttromhdba`bbcdeghhmraX’£®®a30012335723642211.3kœ¨¦˜[Loouuvvspoidcdkpolifdffdb`_aeiknoqrssrpjedfmp¨ˆkXXZXWWWZ`[XWVVVVVWWVVfiklnqrttsspmiebabbbbdfggjtL:Š©¾ª¿sED>>>:8FQ]tµóìîíëëíïçžYk•áÝÝÝÜÜÜl`bfS[ÈàÞØÑ×â³_hWlmliec`acghgedbabaa``][]`eY@@HMNU]„‘»öÑZI@kÝw½¬d«ÉPªÃШ[[aegijlmooqqpomhb``_`@,./17?GVk‹°²ñîððððñôÓ…Ul„ãÞÞÝÞàÎWo€uRV½åâàßßá¦DvPhkkkkiebbdfhjhgec`a`a_]]^`VA?FJORUWZ‚£‚rqj]¶æªÂ¸¸ì’cw¶ÅГX^cehijkmopppoolfa`_`B-.015=TKGRa~ÓÑÍÊÈÆ¿¿¶xYfX…ˆ”˜wDd‹œWSŠÅ¹ª•pV:jX`kjjkkjhdcbdhjkifca`______UA>FHMPVX\][\`fnu‰Ïçìëá¹~rN½ÈËxYacgikklnopoppmjda`aB1105B‚Û‰>:B\VTVXXXSg¥hb^@6567568>C‰ÈVWTG<:523DBSfVjjjjkkkhfbbadgiigda_^^___WB;7634464465=]^C5796gQ`hhkkjjjkjhfba`begiigc_^]Z=5DIKNQU[epppn’åíææèçìëëëPKN‡ºÁÊ‹X\adfhijklmnnmmlieB85-,/13;>>>B<;=?JJeŸ~NgGLFCS\PEEA6543563mª¦e9?HLPZgOF?DB<=Sa\§‡c^hghiiiigfca`_adhig_40DJNQcmbdWG/***/8@:GF875laPLJr·ÀÏ°b\acdfghjklmlmjc<2838RE;523/**+Ht’«wdA8<=IXWMBA>TLC=:@MSROD@A@BEFKWiMy`J`gfggghiiifcba_`dgjd2.CDDZÁ©mZJNIKIJLViU[]SV[lpgRLM‡»ÁÑ›Z_bdffgijkiji_W8176.7GGD963+*.=Ud€‹uq[VUUTTRQTUXXVVWXZYZ[[ZZZ[\[_b`l[SO\edeeffgiikigfd`__bgd1,C@=`Ĩc\aX@DEDAEEA??@@?jmu\OLVš½ÇÍ…ZabffghhiiijdV;34301211/-*,/244:Qˆnt`]\[[Z[[ZZ[[[[[[[[Z[Z[[ZYYYZ]^fLCdgddefffggffhhhgc`__aa2)>==<;:77444lmnmhYMNNˆÂÆÔ­`^abdeeggfgd`[YXWXXWVUVWYZ]]^fb…nu\YXVWWWWWXXWWWWWXVTWUTSSTVWYfhktpÁÖΊmmheblheefgghe`XP-(71YK.'&''$""$#"""""#$$&osqoneTMKU£ÅÊÔ’Y_bcefgfeffdbaa_^\ZYYYY[]aeekduyz|u_XXXXYYYXXYYYW`g[cp}ˆ”£«³²°²³²¸¼¼¶®­©¦“xoddecbc\PKG+(61?E=878:852211//245567msqrrwgUOJl¼ÇÑÈo\abefggfffffedca_][ZYZ[]_bd_f‡~~œ½Àˆ`Z\\\]]]\\[ZYz•¦®±°­©¤ ›˜—–•”‘‘‘’–˜¢¦‹Zeccba``ZNH/'50�nnkhhgd\RMM–ÅÉÖ¦[_acefffffffffddc`][ZZZ\]^aWgvt}ÍìàÖŒ]abceffggikw‹„¡˜‘‹…}vqljhd_^^\[Z\]^cgjsczibbbcbbYK2+3.,/5-,-,******()**+++*kcbbfac]RMJd´ÄÎÑ~Y`fgeeffffgggfeec`][ZZZ[\_TdbZdÙßÏçÚwioqrsstuz~Žƒloe^VRLIILMMUYLNMLKJIHGGHIKZiaa``__]T@/,)*,.%%$$###"##"####"##lhhgsojbQKLLƒÀÆÕ¸c^cccdefgggggfffec_][ZYZ[^R^RKO¸Ì¡äêˆmwxz}€‚ˆ‹}iKHEDFFGFGGFELO@?>==<<<<==;;<;;;9876799736799877677768:>[a````^\YTSQOOQSSUX^bcb_\ZUQQQPPQislhnosqg]OLJs·ÁÏÎv[acccfgghhhhhhffea^\ZYZ\RFIKKNRXfs…ǽƒvorux…£d9::;=>?AACCF\S:;<:<855555546?=N```aa`^]ZYZXXYYXVW[_cfdca[WWXVVVuwomqpoloqZLKOÁÅÖµa`cdcfgghhihhhgggdb_\ZZ]TDKKJNQV^nœâ|-45664N•I><@EDDDBDB=JŸ{@>D;9644554534>@BZaaaa``_^]^]]]]]\ZZ[`dfgea][[YWWrokglnigjjdLJK]«ÂÉ×\cddfhghhjihhhihfda]\\]UBJJFOTYbn—ÝDC?z;A8477667<=:?YM96;974334444339B=Paaaa``a`___`aa`_^[[\`dggeb^\ZXWcilcilptpnjRIKLz½ÀÏÈr_ddfgghiiihhijihfc_^]]T>DIDMV]gs•Õ”Tsœ¤œ£m9A426;9978>;8455479536FA?63434A>D]baaabb`````bbba`^[Y\`cghgd_[YYEUdcfjrrots`LJXf•¿ÄÔ³dbceghijihijjkkihfb_]]R9AGDHOWapŒÍ”c¿õñôç¯RSbadeeeabbbabcdcca^[[\_eijjhb^]_eliopklprolVJLKV¤ÁÆÕ–_bdffghhijjjkjjihea^^R5@JEIOX`oƒÃN¶ñíæË–A>;222Sa0132000/1338>CGKRPOE617BA@OX8661Gecddddccccdca^\Z[`fjlmkosquulmgmnnlkg[NKIb¶¿ÈÔƒX_bddeefggghhihggdaS19EE`ÍÞ§UXri=;=AmˆN;B?HRJML[ZF9DLel@A@@@A??9555459AEF=MWSHJE;1587>?63;L`cbcccaabbaacbba_[Y[`ejlmsnonkljhjimmmiRJJKg»ÆÎÖŠ\bdffffggggggggfedU*3:DHTv‚jelB4eL9<=A5AND<;;977868=?<;<<7665535767?KGHD;;RaZacbbbbabbbbbbbcbbaa_\Z[`eilknvrmkmnnfgkiiTJJML’ÇÆÓ½b]_aceefffffffffd^M'35>CDDKS[l\34>ehCA43534455679:@><<=<======?@<6QH6dgffabcbbbbaccbcccaaba`\Y[afjmmpmmnqtqkhklgULJLKb¸ÇÌ×_defghggffgfeee^RG)311421///341*víQcI:>=;<==?@ABCCHPLJJLLLQTUVUTUTRR_Tsz8R©ÌÈ cccccaaccbbbbaaaab`\[\aljmnrttpskjmlkoePJJLL‹ÇÉÓÁmdeegihfffgfec_\TJ*205;/0/6AILJG|«ŸC}}O>EOTX]`cfjlkloonnnnmnnmmnoooopxfs‰g@|àíë£`_`aaacbaaaa`aaabb`]Z\krvrmpqloijifjq`KKLLK^µÉËÕœaeefhgffggfeefe_L-1/1.2:8:>>??GbˆŒ>ŠyXitspoliheda`_^[\[ZZYXXYYZ[ZY_c\cm|jO„¤£•b^_`aabbaaaa`aaabca_\Zputohgjmnijlwtsd`YLLMPƒÈÉÐÌxbfghhfffeeeedc`O5.,,+.'&%&'''?R|…L„tdbc\XURQOONMMLJJJIIIJJJJJKJJLOMNQRWvg\ZW[`__```bbaaa`aaaaba`_][ghiga`bhiq{xsunkmcQKMPZ®ÉÇÖ¬effhigggeeeeca^XF-)+++&&%%&&(HLt‚auaXQLQNKGEDCDCBAA@@@@@@@??A@@AAABCDCCGXpj^_`aaaabbcca`a_`aaabaa`_^sppontqsjrptuu}j\SJKLLyÄÄÎÕŠbedfeefddedda][UB;=>@AA@???;E_l‰s`IFECABB?>====<;;99:::::::;::;;<<=>>>?ERm_`__bbbbccbaa`_``aaaaaaa`ƒz‚xt{vjhovuxync\QJKKLRŸÊÆÖ¿g`acddccddddb`^[TPOPPPPPQRSQC]’…iR>>=<<;<;:99988777777778688789:;;<:9899>R_`___aa`abbbaba``aaaaaaba„|t~xsqimulhgohbfeUKKK^f}»ÃËÙ‘]bcccdedddcbb`^ZWWWWVUSTUWWE\q\K::;<;;:;978777666557887899989;;>JJTgweI=Yb```acbacddcbbaabbbaaabb~xw€ytoq_`isyrjjdYKKJRXY™ÂÂÖÁh_ccacedddccca`_]\\[YWUTTUWEZkcJDJJ?@A@>><:::>A<52/,,ËËÌÌÌÍÌÌÍÍÌÍÍÎÏƹ»¹ÉÏÎÎÎÍÍÎÎÎÏÎÎÎÎÎÍÍÍÌÌËÊÊËËÌËÊÊÆÉÊÊËËËÈÆæ‹xwlh_jnlb``]X\`UR[RRQZefegchVQVZSPSURQWRY\aURUQYZ\WXSSOQPI>?=7651.3ÌÍÎÍÎÎÎÍÍÍÎÍÍÍÎüƽÇÏÍÎÎÍÌÍÎÎÏÎÍÍÍÍÍÎÍÌÌËÉÉËÍÎÌËÇÅÊËËÍÎÌÆÄÀ³›{|oaURa[Z\`_]b]VTQKLUY_ach^ZSPOPOKTQRO^LTUZ[WZY]ZZVQQSOSKEC?C;521/4ÏÎÎÎÎÎÎÍÍÍÎÍÍÍÎþÍÂÅÎÍÍÍÌËÌÌÍÍÍÍÍÍÍÍÎÍÍÌËÉÉÉËÈÄÁÃÁÆÇÉÌÌÉÁ½º¨‹{pUSRPMVVmndab\YMD@LXP[``]VTRJLKHKHPKXNQTUVVZZZ[\XRPSMWOCHA?=3/.--ÏÎÍÍÍÍÍÍÍÎÍÍÍÍÍþËÂÃÍÌÌÌÌÌÌÌÌÍÍÎÍÍÍÍÎÎÍËÊÇÇÅÈÀ½¹Á¼Á½ÅËȺ¬Ÿ¤Š~yu`UYZXgh\mee]UURRWUcTOZ\RNVWRKIFOPQYXRPWZUTWWUNOZURVQWW?5621/.-,,ÎÎÓØÕÏÌÌÌÉÈÉÉÊ̾ÈÀÂÌÍÍÌÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎËÄÁÁ¾Â»¸¬¿·¿µ¾Æ¿¼µ¤†ƒq‡yd\_Z\fjVn\T[TNTU][UNPSXRQRUXMKKSRRYg]OVXVVTTYQK\YY\\LC=7640-.,,-ÎÛêðíãÔËÉÁ¼½ÀÄÇÀ¾ÆÁÀÊËËËÌÌÍÌÌÌÌÌÌÌÍÌÌÌÌËÅÀº³½¸° ¹²½²´¾³º±–ƒ{|ngecbaT\aYTdZSZ]PSSW\UVTNMMKKMSYVPSOQQbZNY\XRLMYXPVXQLJA8=<:72.,,,.ÜîѲ»ãêͽ¶°°µ·¿ÁÃÉÅÂÊËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÄÃÀ±ª¨¬¯¤œ©¬·¯²´¬ªšsvskkR`dZXcXQ]h]Y_WLQRS[``TQLLKNRMTVJPTNR\^Ya\SOKLYWQXPQWJBC>;;972/.--îÅyin¢çÛµ¯­­³±¾ÄÆËÈÄËÍÌÌËËÊÆÉÌËËÊÉÉÆÀ¼½² ™š££˜”¡ª¬¬¬§¥˜slhcjmZTXVa_VV[YZ`VTXUSTT_WQTNNTURSUWQPXQRX`X^WXZW[_SRYWSP@>E:8777530//ãˆwvrŽÊé·­ª®±±ÀÁÄÊÇÂÊÍÍÍËËžÈÌËÊÊƾµ®®°·¬ž•˜™–¡±®«ž˜™tgdeTe_QLHPXaYST^g\ao]]d^SVNPPOOQVRTSTXR[OP_]\gZa]hf^RPLMJK@>@7744554.02‚‰w†¿æ¼ª¨¯¯³¼¶ÁÈÆ¿ÈÌËËÊÇÀµÅÌËÇÁ¸¦žš˜  ™™–‡‘—ž­«œƒuddh[\TQTTPX__[hl^PU_NWpo[QOJMMKFJMLNNLPZUY^TRXX^g[ZUNILFEECI?7533442/16¨šœŽ~…»æÁ£¦°±µµ²½ÇÆ·¿ÉÇÊÊȾ³ÃÊȽ°¤™œŸ”•’‰ŠŒ‘“ŠŠ’˜Ž‰ˆ‰‚}utobXTY\YPW\UT\h\RQ^hg_^\SSLIIGIHGEFNLS_\V[VO\iffV]SMVSHJ@?@9854333338=w{~‰½åÞÍŲ®®««¸Å¹ª®´´»µÅ¼°¼Ãµ¨žŸ˜š¡““†€ƒ‡ˆ€~‰‹Œ‚‚€‚€€xvoaWWTU]ZTYUSXfPPP^ebRR[XSLJKIKIFLJIQU[aRYQQkrce_b]U\YSSG<:;86543365;@¿Â¶ˆy¿äíîåÍʧ ¡©«žŸž ¡ ¦¶®¤¡§šš˜¡™™”†ƒ„€ƒxƒŠ‡ƒ||{}uqpidYQYfYQURU^XOY[\^XQRPQRMKOQKNSQFCKNT^PQN^a`_ZghZPT^YESF=<<955549:<=ÚÛÈ„o¿ãëåáçí±ž¢­ šœŸ£¨£¡¢£Ÿ”““œ™Ÿ›’˜Š‹‡‡ƒ}xˆ…z{xwphheZVYRX^XT\Z\ZWZYZ\ZUPLVSNLOJACEFA@EHHPJRSY\aY`mZ_PZ^ZIEC@><856669=@?_efWmˆÂäëÌ¿à鿲Á÷»¶»·ÄÀ»ª  •Œœ–š–‰ŒŠŠˆ†…‚‚€y~„~|vwvrqlkgY[cbaXQRXX]]bWU[RX_[WQJOMNJBCEA?FFDBRGUX\W`b`\RbcVVXQKGDF976668;>HGEPTCe~ÁàïâÛééàáäãäææèåæêðÀ™š”ˆŒ’‘Š‹‹†Œ†‹ˆƒ‚‚„{}‹€y€wuqtrnhaWZeaZQTMQ]ebbUOSUj\bXNQRPJHDIULEKLMFPR\]YLYdcdT`dWPW]PE@@<;9888==LURSUTO\dcd\SYX^[R[WSRF;98;;79:9:>>>MNOQTZˆàïíáȾ´¨¤¦Ÿ›Ÿ¬¸ž†}yz}€}y{€|€}~x{|~…„€|{|trvzytnkg\SMKXW[RVX[[WIX^Z]XZ`WKMUPNKMONORTYW[md\[ZZVYXQVJLJ>864d:7888;BECEOOR][‰Êèâ¶_RMHKQFGEFIPƒˆ{zz|y|‚~x}|yz|xuzz|~~zvvnlwxzqg_aTRSE@OVUVZZOKIUX[\VZd^SMLIKNNMJHJNWXZ\`Z^VURWOKLHA<8777Qz=789:<;@LOXaZTXZRWZNKE;:998673‡ÝL48:;<@HJJ‚xˆ—||J™Ô¯ZUIHADDFGC@?>>‚ÅéŸ|}{–¥•“‹€vmjlr{thdc^^bglpw‚lqkig_N\j\TSXZZRQXWZc^WU[ZUNHEAA??<79>EHJ\hXTYW\[RFB@:7888785„ÜL2:;>BFFCQãàÓŠPH@¤íÀ†Ž’’—š™š›š˜•”ªÍáœ}~{™kUSRQSWX_t|_WTZfc`[OA]plihcc[fncZMQ[YUQTZW_YVZcYOIBB@ACA??DIC>K[kl^LQdQG@:;97;;99<7zÙR5=;=BIHAUïäÒPKEz¼ËÓÎÑÒÖ××Ø×ÕÕÔÐÏ×¹ˆ~~yAPamx‚†S970.145McdfjfRAbhjlga\\X\ZNNVTMOS^[YX[][TULF?AGIB>CRPIT[^i‹mQVXLA;8769=<88;8xèe:CBDIQU[b˜flxMCLs¾ÕÛâäãæèéææéçåäâßÍŒ{|}…_@l˜ ¥©¬“w^GDHMMLJ=48:JQHdhrygVUVSRQOUXPOZ[ZV[b]YOSTPHEKPI<>NUNejiu†i[]RI@=<;=BKYku}†žÃ›““•˜—–––sfkjHHLl»ÚßèêëâÖÖáÙÔÚéêèÝתzzw„KW]¯·µ±¯©£¼“{”yLQN?756:jG[fbn`SV]ZY\UPSQSQ[][e^VVQOJIHCFKFCGNNTijispcbkiWOLLPRy— ™“ˆ„ƒ}}|zyxvuŠmPHHAj»Þæëè컞ѵ–¡àæãàÝ·yz|wPd7erh[XZ\ŒvqLNQa[=53dcJ\ZhcVNW[`ZXRMNVV[d_aXPPUQME@=HU\U[fhmcZXY_bdjlknf^fzœggc`[XWUUTSSSRRQQRLKJ@655_¦åäèèèåÛàçãÝßèçèãæ·y{‚eiZ12333=MLJLOMKNETwhJ2N}„Gcbaa`VXYYTROOMS[YTXYTMRYSQU\XqrakwjZTW\]]`fgl~„‚}†GOVX\ag[?=<::99;HTgimoG+1Tèïîïííëìììëìíîîðð®tw„X~H25DYP?NMNMNNMMGOzlN4X‘—P\a_a^[ZUVSW^]SQZYRNNU_\Z]fx…‹‚bdqhSRY[[Z\eiku~{xztj\ŠŽ’˜œ¤›V;869??APVxwwwgTYg‚¹ËÏÐÒÒÑÍÌÌÌÊÉÉÈÍÇœ‰†|V…;54V›„GKGAAAGNMIEcx[853|kTnnrppplryˆ’‰Š’Š‰•³™…‚‚|x|{mbmmbW\_]][_gehqfc`be‘]z¨´²®©Ÿ¯ŠE;7?OVVXKqponptvxyxy|}€€€‚~~||x{ˆ’uc6;:dŒ˜tD9444>KIGM–m861b‹Lmqstuwyxwuttttuvz|€†“¦²³¬™Œvmkllmlhd`]]][Z_^ZZ[[i•X[\mYOE;wšMF=HMY[X>pnkklmoqsuutsrruwy{}~}||zuwjyq>JE]†rJG8568:77D]852J›Raiijkmnpttuvvusrqqppppt}‹™¤¬«§Ÿ€shhfdb_[ZWZXVWXY€ŒVKAA2585c‰^MDLZ\[P;upljjjjlmnqsrpooopruyyzz||{vv`‰gHRLbzMHHEDEEB?=VŠ”T=:6@Ÿ]WiQKQbdeghjlpsuuusrpnmopoopsy…˜¬»º¤‹vkhgggc_\YXV[—{T@GA57:9BYK646S_Y>@yvqnkjjjklnoppqpopppqrtubNLk„TˆgXtJoZPILTXXRPOOXoŠwK><84Vgdcccdfimqstvutrpnmoopoolmy©¸¸®š†ukhhfc`\m¢kS:>;5@]\C;63439CB8Awvusoljiihjlnnoopqrrrrpm?::SuEFDDK6>BAAGJJJEB;<<=UTKL@689=<7675^kgeccbbccdhlortvwwuqnljkopomlp|Ž§ÀÄ©‹qc^\b…œWL>B@:Y‡`=84343338G?cojjiffgjlljfcba`aa`_afjmprtvvvtqkggkmnnmjhRRXXmlKM~X789>AAEJLZkmoq`Dmopqssrqpkgdaaacdefgiikklj~·tG>4687665454455565444456665?OFUkjlkhfeeehmmkgc``a`^]^adimoqrstttpkfehklllbVWYD\kUQIADMOMLOPRVWVVVUjlnoprqrrokhca`aabddfhijkjp uSaZ>3555433334>A4544334535fŽ–[@`hlllkjgedfkookgbbbba`^^`dimnprrtttrjeegiklhŠ³~utupmi[PZjlklkjjiiijliklnoqsttrpmhcbaabbcdfgiijn€qdŸ£¬W13333344698555433222c¬¡¢}>Veijkkljhecdhmpolifeffdb`_afiloorrstrpjedehkƒ®‚ncgaZYZVbqfa^\ZZZ[[[\fiklnqrtussqmhebabbcbdfghirhDrŸ¦®˜X//1211168674233496c¦£¹£€HXnsuuuutqnie`dlmnnliffeeda__ceilooprsstqlfcjt©hVWZWVVVY\XWVUUUVVVVVaehjlmpqrrsqnlhdbbaaabdfghlg/S¢Ç°ÕÇjgLKPTU@bœCJ_]VQuÁáƼ·¦¢¦§ª«ªªªª©¨¥¡zddfillhdbbcba_]^`dijmopqsssqkcb–l_UTVWWWWVVVVWVVVVVWVV^bdfikmnpqqpoomhca````adffYQ1;‡ÕÍðñÊ—i__l¡c‹À]ime\u¥¤©£ž˜“••‘ŒŠˆ‰ˆŠŒ‘•˜›~bbbegigec`___^\\^_adhkmnorrscX€h\RPTWWYZYYXXXXXXWXYYY…[bdhjlmoqrppqomgdaa`_`bdfQ910L¨«¸ÐÚ«Š_b`[^Çö“\ikt ‰uvqokhgdba``aa`_``abdi‚ndcbbefgfb`__]\]][[\^adhjlnp_Rhd[ŽlbobY[]]ZZ]^]\\__\Æ{\dgjkkmorspppolgcb`_``bdW4/-/9:B[Yu‡Xhrjj½éŸmij™^`fiijkns|°’‰„}xwwvtqgpxgdb`_adedba_\\]^\[Z[[\acfimZKX]I£¿»¯Ø¼VGHJqfNO[zfKISÊÁr\dffhklmoqpopokgda`__`bM0../37;AEPXarƒ“£½Ú½¬ ‘Ÿwfvƒ„„ƒ………sat^\„ŽŠ‰‡‚{ljohgc_`acfedb`_____^\[Z]_bekVGLUD‰ÚàÛâð·PD=l²N8{©£S3ˆ¾Î±`\acfijkmrqopqolgb____bL.-057:>CJUhƒÒäåéëììêïçXw¹ÀÆÈÌÒ¼XKA@Dƒ×Ø×ÐÐÒÊŠlTpkkiecaacghgedaabaa`_]\^adhSBDNKY±®ÇÊÑôšB?A±žB£çÛhZΫÂÏ Z\aegijlmoopqpolhc``_aR/-.05;DP]t›œÖíëíìëììðÉ~Wv¾àÝÝÝÜßÁUicbMzÞÞÞ×ÒÙâ‰kWclkkkiebbdgijhgec`a`a_]]^_cR?@HMOS\€ƒ»ô»YNBiÞ†q³c»Áw´ÅÏŒW^cfhijkmopppoolga```U0-./38@FJORVVYwŽurtnb´è°Ä¼ÉìŒOŒ¼ÊÉtXacgikklnopoqpmjfb`aW2//06;jo@9ACq‹~|{zuŸ\jUs‹Ž•š™`HU}yRX­É¼®›‰yOArQhjjjjkkifbbadgiigda_^___^^P?>FIMQVX]^[]`gnu‰ÈâéæÚ°}Xw¯ÀͶd[bfgjklmoooppmljeaaW4300>ZÚÑjRXsxS\acgmp‡˜SlM:777767:EO¨\…jE=:525H=eX`iijjjjkkheb`bdgigec`_^^^^S@ScVhhjjjjjkjhfcb`begiigb_^\^V?:FHKOTU\hu{€–ÒÛØÙÛÞÝÞáPKN‰¼ÁÉŠX\acfhijlmnonmmlifU4;...3?JD8=EA864321Q pUbA>87:<86544793255CYQ;598@jOfgijjiijkkjgdb``cfiigd`]]X;6FILNRU[fpool—çìæåèæììë^SMU—ºÄÂqT\_bdfgjkmnmmmlliW2<.-,125;>>?@ADFKcV‡^]YJMBFXWIAC:4433668‚©•M;:66gQahffjihjjjkjhec``acgiif`_X94FKMNPV\fijok¢õñííïððññgYPJ_©¾É¸gZ_adfghjkmnnmlklY/<1-*-//1234559?LXu¡ŒS`SNPJILKHINL923467Fd™žUNQF8XN\g]gijghhiiiihfca`_aehigeZ53FLPQOU]fcZZZe’¥¤¡¡šŒ‡†lbQLJs¶¿Ð©_]acefhijlmmmlllW.;2,<5-,+*)+*)5Wekz–|OLMMIFFKJIICLG@;9BFMQigLECIA@A\\r¥~acgggghijigdba_adgii_12EJNRiocbSD,))*.9B8HK98lpgRMM‡»ÂÑ•Y`bdffgijkklmi`N,950DQG@867/))7a‡¡¦ƒoT8==?RYUIC@CXGB::CORQK@>>=BABI\aV‚\Ldefffgiikihfd`__bgja.1ECCc΢jXJNINLNNYiUZ\TVjmv]OLVš½ÈÉ|ZacffghijjjjdXK.853->BA=32-,/6LawŠ‚pdRQPQTSPOPQWUSSTUWXZ[ZWXXYZ[`ablVWM\feeffgggfgihgd`__ae`-/C>>gÄš`]cV=BB@?BB@>==?rpkfYOKc«ÁÍÂs]befggghiihh^M5411..,+++**,./16Fp†mm]]\\[Z[[[\\\\[[[[[[[[[[ZZZZ\^acGJfdceeeefffeeghigda__`\--><=G__]ejfPB??FMNQRRUWqkloeSTf„»ÇÔ¸h^ddfghhhhhgaXH7245434422201343GKYejXYYYXXXXXXXXXYXYZZYXXYYYYYYYZ]dAUjjhbdeeeeeeefghhgfb`_Z+*:;9=DMUblsukiihfgiieedkmnlhYNPPŒÂÇÔ¦^_abdefggfgc_WOMLNOOONNNNORSSQdLPjjTXWWWWWWXXWWXWWWXWVVWXWXXWWWVWkKa¹ØÏŠaceeedcdeffggfeb_W)+715/135889>>=;98765410nrpondQLLU¢ÄËÓŒY_bcefgfefeb^\ZYYZYXVVWWZ]__ahf€qkRXVVWWWWWXWWXXWWXVVVWVUTTSPR]_^db‰¬ª•ecbbaaheddeeffb[TI'+65_I.'&(($$$$##"""#$$%nrqstvfSNJk¼ÈÒÄk\bcefggfffedcba__][YYYY\_behfu‰swsrgYXXXXYYXYYYYYW\[UYbjr|ƒŒš§¨¦«ª¦¤¢¥¥¢žš”urdccc`_XNKE'+51;=;878:5222220136667mmkijjd[RMN—ÆÊÖ X_bceffffffffdccba^[ZZZ[^`bc^x‡|¦±£hZ[[[[\\[\\[ZXx‹“£¯±±±®¬ª§££     Ÿ ¢¥¨¬®ˆ]bccb_^]YNG+*4/&&578875544444789888mebceab]SMJe´ÄÏÎtYafgeeffffgggfeec`][ZZZ\]_^Ztxz–äâÚ®g^`aabcdeffes…•«¤œ–‘‹†~{xtpnmmlljjnrw{cwf`abba`WI.-2.,13++,+)(()))'((()))jgggrmibRKLLƒÀÆÕ³`^cdcdefgggggfffec`\[ZZZ[][YjcWåÛÙê£dlnpqrtut}~“~xvld\UQOONMOOKLLLKKKJJKLNSgm_`a`_^[R<0+)*-,%%%%###$%%$%%$%%%mmfgomqiSKMKX§ÃÉÒ–`_accdfggggggggffb_\ZZZ[\ZW[QG~å¸ÀðÊisuuvyz|~z…oRNIGGHHILMMNX\HFDDDCDBAAA@>AYa````_ZXRE>;;;=@AEJJLKKKHFCBBCDCirjgnosqe[NLKs·ÁÐËr\accdfgghhhhhhffea^\ZZ[\YQNLITpgè·nŽ¦­µ¼ÂÊÔªuLBA>??>;:98875566887777777797A]aaa``^[XUTRQRRSTUY_bdc`]ZURRRQRtwmkqpolnpYLKOÁÆÖ°_acddfgghhihhhgggda^\[[[ZKENINNT_|z–ͱ–’««b9:89::;<<>?AD=59:;;866666667><8Gd<:C;8434444444;B=Qbaaaaaa``__`aa`^][Y\`dghge`^[YN\hfdiqsoss_LJXf•¿ÄÔ®cbceghijihijjkjihfb_^\\E>JDHQZbk}²Ò`Tjrw~~¢g9@4369897:=:766558:633:;:54435B=E^aabbaaaaaaabcbb`^[Z\`eiijgb_]WclimnklpsplTJLKV¤ÀÇÕ’^beefghhijjjkjjihea^]\B;GEEKS\hyªÍl~Ýìëñà©M<>125=<;45=9323336854C^JIA8532=??Ubacccbbbbbbbcccc`^\[]aejlkieayusptpjjljikdLJJIo¹¾ÍÍy[bdeeffhhiijiiihfd`]]@:GFEKR[fvÎfmáïëåÉ‘>?;222OuU025410101347:HKIMLH>528B7EIFINYdr“Ìr`ãóñíºr:@712>kvlD2100///133;CAKR[X[WA24B[cccdcbcccdca^\Z\afjllkpuquulngmnoljeZMKIb¶¿ÉÔX_bcdeefgghhhihgfd`^=1BJFUkmZ]u«U´ÃÃçX;A857D‚ŠŒi;<7////025CENNT^[ZYG32=@@T_9552Fdccdcbbcccdca_\[\aeilmmurutloihlllotiPJKM—ÅÆÖ·cadfggeeggghhihggfb_=3>IDÕÂtOb„p?AAFr‹J;A?B>;PZVI@A@0////1;JEVFWd]VMF62;A=AB7450?dcccbbbbabcbba_\Z[`eillunnmkljhjimmnhRJJKg»ÆÎÖ‰]cefgggggghhhhgggda?5:FEyÙß›OYgE?DIJkgE;CD`h>@@@@A@A512222,6?GNw›†`b^6@bLFEB@7HUYK>@>==<::::988878;:78;<88@E@BB:=VVGT\cbcbbbaccccccaaba`]Z[`fjmoqmlnqsqliklgTLJLKb¸ÇÍ×_defghggffggggffb[9(59CFGMW_lyG2P6AC<=38<656533357:BB?>?A;99999:;;;?GFCBE@?@BBACCEEDCDCBCGBfj1qáïè›__aaaaccbbbbababbb`][\jquroqqlnikifjr`JJLLK^µÉËÔ˜`eefhhgfgggffb^VQ9*3/82.,-6?GEB:‘¼F{`??@ADFIMQSVXZ_ddccfggijkkkkkiilwftŠS>‡°«˜b^_aaabbbabaaaabbca`\Zqwtojiklmiilvste`YLLMPƒÈÉÐÈubfghhggfefeedcaV;*2/60699?DEEFPzA‡…dG]jnpqpqppnkkjigheeedbaabbcceinbkzYRZX[`__a``bbaaa`aaaabaa`^[hhjhaabhipyxsunjmcQKMPZ¯ÉÇÖ«effhigggefeeedcY?0.-,--*))*+)+@Y‰zJ‰†zdjkfd`\[XWVUTSQPPPOOPOOOPOOQRWVTY[fza\_`aaaaaaccaa```aaab`a``^rmmnltorirqttt{}j\SJKLL{ÅÄÎÕ‰beefeeedeeddb_\M6))*,'"#!""#*IP…v]€qfYTXSPNMKIIHGFFEEDDDDCBACDCDDGHFGHHKbsh___bbbaacbaa```aaaaaaaaa{‚xu{wihowvxypc\QJKKKS¡ÉÆ×¾g`bcddddddddb`\XG5567;;:75558MXr…lfQNJFGHFCCA@A??>=====<=<<<<<<<=?????@BJ_q____`a_`bbaabaaaaaaaaaaaƒ|u~xsqiltmhgnhbbbTJKK^e}¼ÃËØ]bbccdedddcbb_[UNLLLLNMONOPIGd‰„mTAA??==>=<;:::9988888889999999:;<<==<;@A`a```acbacdcbbaaabbaaaaaa}xwxrnq``hqyrjjcXKKJTZZšÂÂÖÀg_bbbcedddccca]YTQQQQTSSUVXSEb“ubJ<<;<<;;:988887778888877888889:<=>=>DL?BCYa`aaeiifedddbbbccbaaaaa‡{†z†z†z†z‡z‡z‡z†{…z†z‡{‡{†z†z†z†z†z‡z‡yˆyˆyˆy‡yˆyˆy‡y‡z…|„‚‚|„xƒuƒtƒt„t†x†y‡x‡y‡z†z†yˆ{‡{†zˆw‡u†x†x‡z‡{†{…z…y†z†{„~ƒ€‚ƒ€‚€†y†z…z…y†y†z†y†z†z…z†z†z†y…y…y…y†y†x†y†y‡y†y†y†y†y†y†y…y†{‚~|‚xƒuƒuƒuƒv„u…v†y†x…x…y…x†{‡{†z…y…w†t…v…v…y†{†z†x†w†y†|ƒ~‚€‚€€€…z…z…z…z…y†z†z†z†z†z…z†y†y…y…y†y†y†y†y†y…y…y†y†z…{…z…z…z…z‚~€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx„y†y‡w‡w†y…{ƒ~ƒ~‚€‚€€€…z…z…z…z…y†z†z…z†z†z…z†z†y…y…y…y†z…z…z…z…z„z…z…{„{…{…{…z„{‚€€~‚z…y„y„x„w…y…|„{ƒy„x†x‡z†{…{„{ƒyƒwƒv„v„x…y‡y‡y‡z‡z…{ƒƒ~‚‚€€€€†x…|…|…{…z„z…{…{†z…z…z†z†z…y…y…y…z…y…y…z…{ƒ|ƒ}ƒ~ƒ}„|„|„|ƒ~€~‚|„y„x„w„y…z…|†z„z…z‡{‡{†{…{…z„z„vƒv„x…y†x‡xˆz†z…z„|‚~‚‚€€€€„{‚‚ƒƒ~„|ƒ}ƒ~…|…z…y…z†z…z…z…z…z…z…z…z…{ƒ}‚}‚~‚‚}‚~‚ƒ€‚~ƒ|„z…y„w„y…{…{†z†z†{†}†}†|…z…y…y„w„v…x†z‡{†z†{†x„{ƒ~‚‚€‚€€€‚ƒ‚„†~ƒ€€‚ƒ~„|…{…y…z…z…z„|…z†y†{„|„|…}‚€€€€€€€€€€€€‚„}…~ƒ~„~„{…z…z„w„w„x„y…z†z†{†|„|…{†z…z…x…w„w…w†x†x†y†z†x„{ƒ}~‚‚€€€„ƒ…†~‚€‚ƒ~„}…|†{†z…z…z‚}„|„{„‚€ƒ~ƒ}‚~‚€€‚~ƒ}…{†|…~†|…z…y…x…w…x„w„w„y…{†|…}„|…|…{„y„x…y…x…w†u†v†x…y…y„|ƒ}~€€„~…„€€€€‚€ƒ€„~…~†|†{„}‚€ƒ€}…z†z†{…{„{„|ƒ}ƒ}„~ƒ}„|…|‡z‡z†|†z†z…z…x…x…yƒy„y…z†z†|…|„}„}„|„z„w„y„y†v†u‡u†w…w„xƒ|‚‚€€€€‚€‚‚~…}‚€€€€~€€€‚ƒƒ„ƒ}…y‡x‰wˆw‡x†x„{„{„z„{„{…y‡y‡x†y†{†y†z…z„y…x…y…y…y…{„{…|…}„~„}ƒ|ƒzƒz„y†x†x†wˆu†v…uƒv{~‚€€€‚}‚†ˆ}…~€€€€€€~‚~‚}…{†{‡y†y‡y‡y†x‡w†x…z„z„x„y„y…w‡w‡x†y…{†{†{„{„y…v…w…x…w…z†|…|…}…~ƒ~ƒ}ƒzƒz„x†x…z†w‰w‡v…vƒw€|~€€‚~ƒŽzyŽy‚€€€€‚€‚€‚‚}ƒ}†{†z‡y‡z‡z…x†x†w†x…x…x„u…u‡v‡v‡vˆwˆ{†{…|…z…z…y„u…u…v…w…z…|…{…}„~„}„{ƒyƒx…w†x†y†y†w…x„yƒ}~€€~‚~ƒ~Œ‹†}~€„€…€……€†€ƒ‚|†z‡y‡w‡x‡x‡v†x†x†w†v†t†r†sˆtˆuˆvˆw‰{†|…|„z„y„x„{„|„z†z†y‡{†|†~„~„}„{„y…x†w†xˆx‡x„yƒ{‚|‚‚‚ˆ‚‚€}ƒ|„‚„€ˆ…ƒ„ˆ{ˆzˆzˆ{Š|ˆ~~…zˆxˆx‡~„€‚„…‡ˆ€‡€†€…€ƒ‚€ƒv†uˆwˆy†y…{…yƒy„z„|…|†z‡{ˆz‰{‡}…~„~„~„}ƒ{„y‡x‡y‡z‡zƒ{}‚€‚‚ˆ€‚|ƒ{…†‰†„‚…†~†}†~……‡~ƒz†v‰~„~|}Ž}Œ€€Ž~||}„t‡v‡y…w„z„yƒy„{„z†y†yˆyˆ{ˆ}†~…„ƒ‚~ƒz„v†wˆy‡z†|ƒ~ƒ~‚ƒ‚~‚{„x„‡‡ƒ‚‚ƒ€‚€€‚€‚‚‚€‚z†vˆƒƒŠ}ƒ|||…~††|‡{†|ˆ}‹}…€v‡u‡x…yƒy…y„z„{„z…y‡x‡xˆz†}…„„~ƒ~„|…w…s‡t‡v…xƒ{~}€€ƒ‚ƒ„ƒ†„‡††„ˆ‡…€ƒ‚‚€‚‚‚€„{‡x‡„†|‚}€|‚zƒz‚|„y†x„|†~‰|†}{†u†w…y„x…y…{„{„y…x‡x†y‡{‡|…}ƒzƒz„y„v‚qpqq€o~s}s~{‡’ŠžŠ Š¡Š ‹¢Š¢‹¡Š ƒ‚‚€‚€‚‚ƒƒƒ‚‚€„}†}„…~‰{ˆ~…‡|†x…z†w†x€€‰|…}}„z„y„yƒzƒ|ƒ}ƒ|„{…{ˆ{‡z†x†tƒpi}o}p|s|szszq{o|j|h|j|~…†„‚‰ƒ†ˆ„Šƒ‰‚‰€‰ƒƒ„€…ƒ€ƒƒƒƒ‚„‚ƒƒ‚ƒƒ€„€ƒ…}‰{ˆ~……}‰x‰yˆx‡z€ƒ€„‰}†|€~„€ƒ€‚€ƒ‚€‚‚‚„‚„„}„y†uvxyzy€z€y~x~x~xy€ƒˆ…~„{ƒ{„|„|‡zˆy…x‰xˆ~‡‡‡ˆ‰~ˆ}‰}Š}ˆ}ˆ}ˆ}ˆ|‡~„€…|ˆ{‡}„‡|‰zˆ|ˆ|‡}€……‰|ˆ|„ƒ‚ƒ€„€„€ƒƒ€‚€ƒ„€„€…†€…€…‚ƒ€Š„€ƒ€„€„‚€‚€‚†ŠŠ}‹{Šˆ„|ˆz†z„zˆz‰{‰}ˆ~ˆˆˆ‰}Š|Š|Š|Š|‰|‡~……‡~…}…}†~‡}‡}†~…~†~„‚ƒ‚ˆ}‹|Š}„ƒ‚ƒ„€……„€ƒ€‚‚‚ƒƒ€…†~‡†……‚ƒ„‰””ƒ„‡ˆŠy‹z†€…‰{ŠzŠ{‡|ˆ{‰{‰{‰}ˆ~‡‡ˆ‰}‰}‰|Š}Š}ˆ…€‰Ž||‹}‹}‹|‹|Š}Š}‹}‹}‹}‹}|‘{‰~ƒ‚ƒƒ€„ƒ€ƒƒ€ƒ€ƒ€€„†€ˆˆ‡…€ƒ‡{³{¶‚•‡ŒŠy‰y‡}ˆ}Šyˆ|ˆ}‡|‡|‰}‰{‰|‰|‰~ˆ~†‡€ˆ‰~‰~Š~‰}‡}|Ž}~Œ}‹}Š|Š|Š|Š}Š}Š|‹|‹}‹Ž€Š„†…~„€ƒ€‚ƒ€ƒ€‚€€‚€‚€‚€€ƒ…€‡ˆ~‰€–~›ƒ”ˆ–‰‹‰ˆˆ‹‡‡Ž††‘†’‡“ŠŠ}‰}‰}Š}‰}†€‡€‡‡ˆ‰~‰}ˆ}‹}…‹„ˆ‰~‰~‰}‰}ˆ~‡‡~ˆ}‰}ˆ}‡€Œ‰†~‡ˆ~ˆ~†‚‚€‚‚‚€€€€€€‚„€‡‡††“‡¨‰¯‡³‡­Œ©Š®ˆ±‡³‡´‰³ˆ€‰‰~‰}Š}Š}‰‡‡€‡€‡€ˆ~‰}ˆ~‡€‡€‡„†€……€…„…€„‡}ˆ~ƒ†€Š~Š|Œ||Œ{Š|ˆ}…‚€‚€€‚‚‚‚‚‚€€‚„€……¡Ç}ÊzÍyË|Ç|ÊyÎwÐwÐz΃ˆ€ˆŠ~Š}Š}‹~‰~†€†€…†€ˆ~‡…€ƒ‚‚ƒƒ‚‚€‚ƒ„ƒ„ƒ€ƒ‹|’y“y”y”x”w”x•x–w–w–w“yˆ}„€ƒ€‚‚ƒƒ‚‚‚‚‚‚€…‰…š¥{»wÅrÏqÐrÒrÒqÓrÑrÏ€ƒ†‡‰Š}Š}‹~‹}‰~‡~†€†‡†ƒ€…€†……ƒ‚‚ƒƒ„„†~‹{{‹|ŠŠ~‹€ŠƒŠˆ|‰|ˆ|‰|‹|ˆ~†€ƒ€‚‚€ƒ€‚€‚ƒƒ‚‚‚€€ƒ‚¦‚‚‚~‡~‘}•|˜}—“}„ƒƒ‡€‰~‰}Š}‹}‹}‰~‡†…€„€‚€„€‡~ˆ}†~„‚‚€€€‡~ˆ|~|z}y}~‡{‰z‡|{}z~y~~‰|Š|ˆ~‡„€ƒ€‚‚€€‚‚‚‚€€Œy¼z´|›~‹†}’ˆ€‚€€€|‡|„‚†€ˆ‰~Š}‹}‹}‹|Š}‡…€ƒ‚€ƒ€„€„„€…ƒˆ„ˆˆ…‰}ˆ|€~~€~}Šy‹xˆy|||€}€~‡{‹{‰|‰}ˆ†€„€€€‚‚‚‚‚€Šw¾rÑrÏvÅvÀtÆx¼}™€ˆ€‰| }“}‰~‚ƒ‡€ˆ‰~Š}Š}‹}‹}‰~†‚€€‚‚‚ƒƒ……‡‡ˆ…ˆƒ„Š}‡|‰}ŠŠ~Š|‹z‹wŠxˆ{ˆŠ€‰~‰{‹|Š|‰}‰~‰~ˆ~†ƒ€€€‚‚€‡w½qÎqÎsÍtÄw¹}¢}—|}~–{„~„}ƒ}‚„ˆ€ˆ‰~Š}‹}‹}‹}ˆ~„€€‚ƒ‚‚‚‚‚‚‚„‚†††~Š}…|‡|‰|ˆ|ˆ{‰{ŠzŒzŠ}‚‚‚‚ˆ|ˆ{‰|‹{‰}‰~ˆ~‰~ˆ~‡~ƒ‚€‚‚€„w¹qÏrÐsÍx¬Œ…~€~‚‚v…~„~ƒ|ƒ‚†‰€‰~‰}Š}‹}‹}Š}…€‚€‚€ƒ€‚€‚€ƒ€†€ˆ€‰}Š|…|…|…}…|…|…|‡|ˆ|„~|ƒ}ƒ„~…}‡|‹{‡~ˆ~‰}‰}ˆ~‰~‡~…~ƒ€‚€‚{­vÈv½vÀ|Ž~ƒ€€‡‰€‰Šoz‚€‚~‚|‚‚‚‡‰~ˆ}‰}‹~‹}‹}‡€†€…ƒƒ€ƒ€ƒ€ƒ€ˆ|ŽzzŒ{‹}‹|Œ|‹|‹|‹{Œ{‹|‹{Žzy‘xŽ{„…~ˆ~‰~‰}‰}ˆ~ˆ}‡~„€‚€Œ–~‹}”~ƒ€~‚‚h{m}|‚}{‹~‚ƒ‚ˆ€‰~‰~Š~Š}Š}‡‚‚‚…„ƒƒƒƒƒ‰|“x–v•v•w•v•w•w•w•v–u–v•w–v–u–u‘x†€‡ˆ‰‰}‰|ˆ}‰}ˆ~‡~„ƒ€ƒ€€‚€€‚ƒ‚‚€j}i{q{ˆ}‡~‚ƒ…ˆ‰~Š~Š}‰}‡„€„„€ƒƒ€„€„ƒ„€‹|‘y’y’w’v‘w‘w‘w‘w’w’v“x’x’x’xxzˆ~†~†~ˆ~‰~‰~ˆ}ˆ~ˆ~ˆ}‰~‡ƒ€‚ƒ€‚€‚‚‚‚‚€ƒ€kk}k}x€‚~ƒ}ƒƒˆ€Š~‰~Š~Š}Š~‰~ˆˆ†€……€†€…€…~Œ{‡~„Š|xxyŽyŽyyyyzzyŽxyŽzŽzyŽyŽzŽz|‰~‰~‰}Š~Š~„€€€„€‡~‡~‡††‡†~‡nmlt‚ƒ‚}‚}ƒ„‰Š~Š~Š~Š}Š}Š|Š}ˆ……€†€†€…~‰|‚|…€ƒ‰}‹{Š|‰|ˆ{Œzy‘x“x“y’x“y”z•z•{”|•z“z“y“z}ˆˆ~ˆˆ~…€€‚‚„€„€„€„€„€„€„€„€oƒl€i|m€x‚€‚~ƒ|ƒ€‚†Š~Š}Š~Š~Š}Š|Š|‰}‡€†€†€†€„†‚ƒ~„„…€‡~…€…„€‰}{‘{zŽ{Œ|Œ|Š}‹}Š}‹}‹|Œ|Œ{{‹|ˆ~ˆˆ……€‚‚‚‚‚€‚‚‚€‚‚‚kk~hzi|k}z€€‚}}‚ƒ€‰~Š~Š~Š~Š~‹}‹}‹|‰~‡†€…€„€……„€‚ƒ€„€ƒƒ‚…ƒƒ‰}Š|Š|‰|‰|‰|‰{‡|‰|‹{‹zŠz‹z‹z‹{Š{‰|ˆˆ‡~†…„„ƒ‚‚€‚‚‚ƒ‚‚‚nm~iyhyezt€ƒ~“|ˆ‚†Š~Š~Š~Š~Š}‹}‹}Š}ˆ†€„€ƒ€„…~…}ƒ€ƒ€‚ƒ„‚‰}‰|‰|‰~‰|‰{‰{ˆ{Šz‹z‹z‹z‹{‹{‹{Š{ˆ}ˆ~ˆ~ˆ~‰~ˆ€ˆˆ†€…ƒ€€‚€‚‚‚ƒl€j~gyfxgyl}{„€‰~…}‚€‡Š~Š~Š}Š}‹}‹|‹|Š}‰†€ƒ€‚„„ƒ€‚„€‚„€ˆ}Š{Š{†‡‰{ŠzŠzŠyŠzŠzˆ|ˆ|Š{‹zŠ{ˆ}ˆ}ˆ~ˆ~ˆ‰ˆ€ˆ‰ˆ…ƒ‚€‚€‚f€g~gzgxhxh{p~€‚~‚}ƒ‚‰Š~Š}Š}‹}‹|Š|‹|Š}‡ƒ€‚€‚€€‚€ƒ€„€‚‚‚‡€ˆ}‹|Š~‚‚€‰{ŠzŠzŠz‰{ˆ{‡{‡{‡zˆzŠ{ˆ}ˆ}†„€†€‰ˆˆ‰‰~‰~†ƒhh~gzfxgwhxhzu€ƒ€‚}‚ˆŠ~Š}Š}‹}‹}Š|Œ|Š|ˆ~„€‚€‚€€‚€ƒ€ƒƒƒ†€‡}ˆ}‡~†}†~ˆ{ˆ{ˆ{‰{‡|‡{‡|‡{†{†{ˆ|‡}‡~†„€‡‰~‰ˆ~ˆ~ˆ~‰~ˆ~†ƒ€‚‚jh~gzdvgyizhzr€ƒ‚‚…€Š~‹}Š}Š}Š|Š|‹|‹|‰~…€€‚€€‚„€†‡‡}ˆ}‰}ˆ|‰|‰{‰|ˆ|‰{‰{Š|‹|Œ|‹|Š}‰}‰}ˆ~…€ƒ€†‰‰ˆ~ˆ}ˆ~ˆ~ˆ~‰~‡€„‚‚jh~g|exi{j{h{n~}‚€‚}‚€ˆŒ|Œ|Š}‹}‹{‹||Œ|†€€€ƒ„€ƒ€‚€„‡~‹}|Ž|{{zy‘y‘y‘x“x”x”x”w”v“v’x“y‘yˆ~‚ƒ€ˆŠ~ˆ~ˆ~‰~‰~ˆ~ˆ~ˆ~‡„€jj~j|h|i}h~h}lu€‚€‚}‚ƒŠ~Œ}‹}Š}Š}Š|‹|Œ|‡€‚€„€…€†€†€ƒ€†~{‘w“w—v—u—t—t˜t—u—u˜u—t—u—u˜u˜u™u˜t˜uy††€ˆŠ~‰~‰~‰~‰~‰~ˆˆ}ˆ~‡mƒl‚jin„k„h‚j‚r~‚‚‚…~„‚‡€Š~Š~Š~Š~‰~‰}Š~‡‚‚‚‚ƒ‚„‚†~y”w–w–w–w”y“x“x’z’z‘z‘x‘z{zz‘z‘y“y‘x‰~‰‰Š~Š~‰‰‰‰~ˆˆ‰~‰lˆm‰n‰oˆq‡p…m„p…s…|ƒ€‚~™}Ž~‚‰~Š~‰~‰~‹}‰}Š}ˆ~„ƒ‚ƒ‚‚‚‚‚€ˆ~z{{Œ{Œ|‹}‹}‹|Š}Š}‰~‰}‰}‰}Š}‰}ˆ~‰Š~‹‰€ˆ‰ˆ‰€ŠŠ‰~‰~‰~‰~‰~ˆ~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÍÎÎÍÍÎÌËÌÌÌÌËÌÌËËËÌÍÌËËËÌÌÍÎÌǽ±¬Ÿž‘|qgjwjihmlrcgbV]a[\c\TZ`^_VPOTZX^e`cSTWVUVTTYTPV^^ZXTLC<8<:521@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÎÎÎÎÎÎÎÍÍÎÌÌÍÌËÌÌÌËËÌÌËÊÊÌÌÌËËËÌÌÎÏÏÇ´™¡•u€x€q]^^pzl[_ljh[YZ[_XWTO^g_[ROOQXV\fffOU\`ZQPLRRW^a[VPMI@?75532086ÍÍÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÇËËËÌËÌÍÍÍÍÌÌÌÌËËÌÌËËËËÌÌÌÌÌÌÌÌÍÍÍÍÎÍÍÁ¦‰‡pllmkjlot}y_a`ddZ[[ZZ\QRV\bYZYVSRTSVYdcPQX\ULNNRR\b_aYQFA?<852210/1ÍÍÍÎÎÍÎÍÍÍÌÌÌÌÍÇÂÅÁÊÌËÊËÉÊÊÊÊÉÈÈÉÉÉÉÉÊÊËÊËÌÌÌÌÌÌÍÌÍÍÍÌÍÍÍ̵˜’ymrwzs|edb]fY`ccZZWU_WRYdcRPSVWSNLVOWgQNTWYPLRPPX`^_TTTMH@<85320--ÍÍÍÍÌÍÌÌÍÌËÌÍÍÎÈÀÁÀËÎÎÍÎÍÍÍÍÍÌÊÉÊÊÊÊÉÈÈÊÉÉÉÊÉÊÉÈÉÆÈÉÉÊËÊÊ̾’‚‚€rbk{lcg`_`ViaWWTSM\_]_qlYOOT\TMISRQYTYZWUNOQU[_WVYPPYNJ>>@<52/,,ËËÌÌÌÍÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÎÎÎÎÏÎÍÍÎÎÍÌÌÌÌËÊÊËËÌËÊÊÆÈÊÊËÌËÇÅä‹xxmi_jnmb_`]X\`UR[RRQZefegcgUPVZRPRTRQWRY\`URTQY[\VXSSPPPI>?=7651.3ÌÍÍÍÎÎÎÍÎÎÎÍÍÍÎûƼÇÏÍÎÎÎÎÎÎÎÏÎÍÌÍÌÍÎÍÌÌËÉÉËÍÎÌËÇÄÉÊËÍÎÌÇÃÀ³›y|nbURb\Z\`_]b]VTQKMUY_ach_[SOOPNKTQRO^LTUZ[W[Y]ZZUQQSNRKEC?B;521/4ÏÎÍÎÎÎÎÍÎÎÎÍÍÍÎþÌÁÅÎÍÍÍÍÍÍÌÍÍÍÍÌÌÌÍÎÍÌÌËÉÉÉËÈÄÂÃÁÆÆÈËÌÉÁ½º¨Œ|oTSRQMUVmndab\YMC?LWP[``]VSQJLKHKHPKXNQTUVVZZZ[]WRPSMWNCHA@=3/.--ÏÎÍÍÍÍÍÍÍÎÍÍÍÍÍþÊÂÃÍÌÌÌÌÌÍÌÍÍÍÎÌÌÍÍÎÎÍËÊÇÇÅÈÀ½¹Á¼Á½ÄÊÈû¬¡¥Š~wu_UYYWgh]mee\UUQQUTbTOZ]ROVWRKIFOPQYXQPWZUTWWUOOZURVQWW?56210.--,ÎÎÓÙ×ÐÌÌÌÉÈÉÉÊ˾ÈÀÀÌÍÍÌÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎËÄÁÁ¾Â»¸¬¿·¿¶¾Æ¿¼´¤‡…r‰wc\_[\eiVn\TZSMST\ZVNPSWRQRUXLKKSRRYf]NVXVVTTYQK\YY\\LC=7630-.,,-ÎÛêðíäÓÊÉÁ¼½ÀÄÇÀ¾ÆÀ¿ÊËËËÌÌÍÌÌÌÌÌÌÌÍÌÌÌÌËÅÀº³½¸° ¹²¾´³¾³º²—ƒ{|mhfbbaT[aYTdYSZ\OSSW\TUTNMMKKLSXVPSOQPbZMY\XRLMYXPVXQLJA8=<:72.-,,.ÜîÙÄÍèè̽¶°¯µ¸¿ÁÂÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÄÃÀ±ª¨¬¯¤œ©¬·¯±µªªž€twskiQ`dZXcXP]h]Y^XKPRR[``TQLLKMRMTVJPTNR[^X`\SOKLYWQXPQWJBC>;;961//.-îÍ~lt¬éÙµ¯­­³±¾ÃÅËÈÃÊÍÌÌËËÊÆÉÌËËÊÉÉÆÀ¼½² ™š££˜”¡ª«¬¬§£˜‚slifjn\UXVa_VW\XZ`VSWTSST_WQTNNSURSUWQPXQRX`Y^WXZW[_SRYWTP@?E;87765200/è‘tuq‘Íé·¬ª®±²ÀÀÄÉÇÁÊÍÍÍËËžÈÌËÊÊƾµ®®°·¬ž•˜™–¡±¬¬Ÿ˜™ŽvieeUf_RLHOX`YRS^g\an^]a]SVNPPOOQVRTSTXR[OO_^]hZa]hf^RPLMJK@=@8755553.02φŠ‚w‡Áé¿©©¯¯´»¶ÀÇƾÇÌËËÊÇÀµÅÌËÇÁ¸¦žš˜  ™™–‡‘—‘ž¬«ž‘‘„ucbgY\TPSSQX^_\gl^OU_MVpoZQOIMMJFJMLNNMPZUX^TRXX^g[ZUNILFEECH@8544442/16§˜œ†½éÄ¢¦°±µµ²½ÇÅ·¿ÉÇÊÊȾ³ÃÊȽ°¤™œŸ”•’‰ŠŒ‘“‹Š“™ŽŠ‰‰‚|tsoaXTX\YOW\TU\g\QP]gg`^\RRKIJGIHGEFNLS^[V[VO\iffV]SMVSHJ@@B:754333338=~‚‚}ƒÀçÞÍű®®««¹Åº©®´´»µÅ¼°¼Ãµ¨žŸ˜š¡““†€ƒ‡ˆ€~ˆ‹ƒ‚€ƒ€xvo`VVTU\ZTYTSYePPO^ecRQ[XSLJLIJIFKJIQT[`RYQQkrce_a]U\YSSH<;;96443365;@ÊÍÃœtÁåíîæÇƧ  ©«ŸŸž ¡ ¦¶®¤¡§šš˜¡™™”†ƒ„ƒxƒ‰ˆ„€{|{|tqpidYPYeYQURU^XOX[]^XQRQRQMKOPKNRQFCKNT^PQM^```ZfhZPT^ZFSE=<<955549:<=Ô×Ï—l‡Áåëäáåî´ž¢­ šœŸ£§£¡¢£ ”““œ™Ÿ›’˜Š‹†‡ƒ}xˆ…y{wxphheZUWRX^XT\Z\ZWZYZ]ZUPKUSNLOJBCFFA@EHHQJRRY\aY`lY^PZ^YIDC@><856669==LURRTTO\dce\SXX]ZR[VSSF<98;;79:9:>>>LMNMPTqÆïíçȵ¦–“—”–’‘”¤¨~yz}€}y{€}}}y|{…„€|~{|tqvzysnkf\SMKXW[RVX[[WIX_[]XY_WKMUONKMONPSTYWZmc[[ZZVYXQVJLJ>863`~:7888;BECEQPU~m”™®êãÍnLJGHRJHFGIGi”|{z}y|‚~w~}{|~zz{|~€{xwomwxzqh``TRSE@NVUVZZOKIVX[\UZc_TMLIKONMJHJNWXZ\_Z^VURWNKMHA<8677Q~=789:<;@LOXaZTXZRWZNKE;:998673‡áQ38:;EHJ\hXTYW\[RFB@:7888785ƒßR2:;>BFFCQìíçª[JAuãΰ› ¤¤¨¬­°±°¯«©³Ä×°|~z‹Ÿtkf^XUW`k¡c`_YXUVTK_vlhgcc[enbZMPZXTQTZW`XV[cYOIBA@ACA??DIC>K[kk^LQdQG@:;97;;:9<7zÚY5><>DIIBVòæÞ XLF\©ÇÕÓÔÕØÛÛÜÜÚÙÙÕÓ×ÎŽ|{ˆkEMS\dlbDFQSG=;@gqpnhT@]iikf`\\Y\ZNNVTMOT][YX[][TULF?AGIB>CRPIT[^h‹mQVXLA;8769>BA>>8~æg4;9NUNejiu†i[]RI@=<;>CHE?;?@‰ðNUVY[_gsurrcuPGIY¡ÖÜæëëçÎÊÛÞÎÏåêçßØÆ‚{|pCX˜¯±³µ²¦š…hkpTPOH3234TPPfbm_SV^YX\UPSPSQ[\Zd^UVQOJIHCFKFCGNNTijispcbkiWOLLPVQYbv…Ž–£±¡œš™™š›™˜ˆ‡uZIHDS£Úâëéèá®­ÏÒ²®ÛèäâÝÓ†|{ƒX\Hzª£˜‰}žÀ†ˆ§ZMOLL?45HpEYZhcUNW[`ZXRMNVTYb^aYPOUQME@=HU\U[fhmcZXY_bdjlknf^gwu•’ˆ€yssqkjiiigffNLLF844J‘ÛãçêêëçãçéáâèèéçèÖƒ|{‚Or;:FB=8FJUeegaQLIem\67BSWd`a`UXYYTROOMSZZTWXTMQYSQU\XqrakwjZTW\]]`fgl~„‚~‚Œ“XZXVSRQNLKKKJIHHLgglqY-/D{ØïîïîîïîîìëììíìíñÍ|w|xZs347:<:JNLJKKJMJFgx_<=Œ§rMc_a^[ZUVSW]]UTYXTQPU_ZY]fx…‹‚bdqhSRY[[Z\eiku~{xytqsD[dilryi>9877879IxxwwpVX`wµÖÖÖØÛØÖ×Ø××ÙÚÚÛÚ¶ˆ‡‚hod15;t„MFNJIIJLMLE[wcC6EjJhnqppplryˆŒ‡‡‰ŽŒ‹’²—ƒ|x|{mbmmbW\_]][_gehqfc`bciŒ]sžŸ¥§«¯­d>779DGJSqoonosvwy{€ƒ……„†‡‡………„ƒ€~…“ŒX‚V37A‚—rIE:77:JNMEVv„N52?’Xaqrtuwyxwuuvwww{}{ˆ—ª³´ª™Œvmkllmlhd`]]][Z_^ZZ[\\f’Wv¬£šŽˆ€cN?8?MXZYomkkkmnpsuttssrtwy{}~}}}|{yvsYG>BN‡”ŸVC7235>B>>p¡“K523tQihjllnpttuuuutqqqqppqu~Œ™¤­¬¨Ÿshhfdb`\ZWZXVWXXVvWPLS>:76C`]LAHNW\Wsokijjjkmnqsrpooopruxyz{|~}zsxbEKLHl†lOLF===;867b›‚B961k‘Hhg_^cdeggilpsuuurqpnmnonnptz…™®½º¤Œwkggggc_\ZYWTV~YBJB4898Mn^E?DZ^[IxupmkjjjjlnoppqpopopqrtvwojptogI_Sfx{TFGIJKJMHLY…•qD;<4a‘@hV==Fddcbcdfimqsuvusrpmmoooonlnz©º»°‡ukhhfb`_Yb¡kV9J<47?=>L?332HZU;wvtsoljihhjlnnoooqqrqrps_<:6GfcJ:54445997utuvtpkhfeehjllmnnopponpO3;:NL>77735<@<9:99895685:AACE::;AH414:Qlkifdbaa`^^achmprtvvvtolhgjnomkjjx˜»Ë·†a]Zh‰”KKAFB;X„]=9423445:uuuuutqlhfdegiikmlmmmnmnbE75-?]?:9:9888667766778888778;;=DJ3I\bghklmjgcba``_`bdiloqsttvvsmhgjkmonljr¯—QZck‡AKGJGAKjmEEG@7624=FqrstuuurmhdeddehijjjklllnoiŠp=\>;::98887777766776778779:;>CCkliiffgjlljfcba`aa__bfjmprtvvvtpkggjmnnlilgPZgsƒu9l’^EB?EF?FHFNQHJMLmnpqssrqojfca`acdefgijjkkkn«¨DN9:8877666665666654456667868@Ilnjkhgedehmmkgca`a`^]^adiloqrstttqkfdgjlllfOPQOceSLeH479ADCDJLZkmop_jlnoprqrqnjgca`aabddfhijjkk›˜RH>337665455555;65544455554MhcGSkjlljigdefkookgbbbba_]^`dimnprrtttrjedfikld]hkJf†ua]TGIQSSSUVVWWWVWiklnorrttrpmhcbaabbcdfgiijhƒ‰_jŽ|T1433334347D8554433441h©¥•RCggmmllliecdhmoolifeffdb`_afiloorrstrpjdcfikh—µ}xmslgf\Q]oomljiiiiiifiklnqrtussqmhebabbcbdfhhilsj_•¤²§O11111334723653310//[˜¤›c=bckkklkkjhfcdhlnnlifeddda__ceilooprrsspjddfm†­~j_e^YXWVanb]ZXXXXXYYaehjlmpqrrrqnmiebbaaabdfghlsFF”¦¸§«Y:<98755;aP68=??@TnÇʲƚZFenuuuusrqnjeaacfimkhdabbba_]^`dijmopqsssqkegr£wdTVXWVVVWYWVVVUUVVVV^adfikmnpqqpopmhca````adfgdj@1{ÅÃÑñÈqVZ\~qN¸…DlqcZjŸÀçØ¿½¯¡¥¨¨«««ª©ª©¦£›‹pbbbefhgec`___]\\^_adgkmnoqrqnacŽg\STVWWXXVVVVWVVVVVVV‡[behjlmoqrppqpmgdaa`_`bdg\K:.N´Ùàéô·Œ^]\sz‚ß¼\k`ceœ ¦§Ÿ›–”–”’‹‹‹‹Œ‘•™š™ocbabdfgfb``_]\]][[\^adhjlnnp][{d]TTUXUX[ZZXXWXYXXYZZÇ~\dgijkmorspppolgbb`_``bd`?2.1^{v“¶¢®ogofVœößpgns¡wyuqnlihecaaaaaaaaacefrfcb`_adedba_\\]^\[Z[[\acfiknXSgaY“£zouUZ\\[Z^^]`\^\ÊÄu[dffhklmoqpopokgca`^__a^>.--/13@@FdTWfqw™ÙÇzkm¡yYcejjiiov€š©Œˆ€zvutsqmcwrhgc_`acfecb`_^___^\[Z]_beilSLWZJ¬¾ÉÃéÛqDFGvkJI]ƒqIB¾Í·c[acfijkmrqopqolgb__^^aY5-.147;@HR]kŽ±¾ÈÑáâÒÑÑÁ”hl~ƒ†‡†…„ƒln{ZjŽŒˆ†~{frlkifcaacgggecaabaa`_]\^adgkOGKTDãà×ßîÚjDDLWlƒ¼ôíïîììîïòÎw\‰©·¿ÇËÎÓ›JE<=O¬ÚÙÕÐÒк{a]nkkkiebbdgijhfec`a`a_]]]_beMBCMJ\¦¢ÂÂÎ÷´D?@«­Gžê×ge}¶ÅБX^cfgijkmopppoolga`___:,./28@JXo’²²ïêííííîïç af‹ÜÝÝÝÝÜã‘WheYN¨ãÞÛÓÕÝÖgrPklkkkjhdcbdhjkifca``___^]^aK?AHMPRZw}Ãð¸_QEdá›r°™lÅP‘¼ÉÊvXacghjklnopoqpmkeb``_=-./15:EKUf~›îêæåâàÞÝÌŒVmyáàßÞÞÞßyKWiWK—âßáààáÒRmZ`ljjkkkhebbadgiigda^^__^^]^J>AGKOSWV[w…notqg­ðËÕÑÚçYy¯À͵c[bfgjjlmooopomljea``>00/7?w¾m227Phecb`\X[“…UkV‹”–š £‘LP[†l‡¢ÕÍÀ¯‰o@SkUkijjjjkjheb`bdgigec`^^^^]\L??GINRVX^_\^`emv†¹×âÝÉ¡WY{¹ÃΟ[_ceghjlmnnoonmlidb`<61/4D«ð¡sx… ‰ˆ™›ž¢Ÿ£rYeD9678888=J_¨i|ƒeHA941:G@nPehijjjjkjhfcb`cegiiga_^]\]O?=FILQUV^jrx}‚†•¢­¾¶ª¥PJOŠ¼ÁɉX\acehijlmnonmmlid`;:2//4`‰kNWdliklnprp…¤_a\HE8;:98986D€ZD>47;<<7?H:eV^ghihhijkkjgdb``cfiigd_]\]Q=;FIKPSV]ivz~~—Úæâããææè^SMV˜ºÄÃwT\_adfgilmnmmlllhc;:2-,/17@<;>A8777962yšSdQ;878;975434974666L]K7795QbTgghhhhjjjkjhec``acgiie`^_S97GJLORV]gpmnkšèêäãåæììgYPJb­¿Ê»hZ_adfghjkmnnmllkf:83-,.126;=<>@CEIajg›†OhIJF>LZPCA>5433474Cš«„>;85?lNfhghjihhiiiihfca`_aehifdbT55GKNNQW]ghjpk¤ôñîðññðñlbQLKy¹ÀÏ©`]acefhijlmmmmllh975.,+,--------,6AEŒœtMfHQOILMJILOE333568Mq¦ˆMPOA9aKec\dhjgggghijigdba_adhjhiV15GLPQOU^faVRS`‰œ›˜†kofRLO¼ÂÑ–Z_bdffgijklmmlkb666/:K81-,,+++,D^hm‰‘gESMMGEGIIHFEK?=8;DFPTs_KDFIACFbV†™w`efffgiikihfd`__bgijX.5FJNSpqb`OF,))*-;E;IN;jmu\OLZŸ½ÉÌ‚[abffghijklmj^V24650DKGA995*),Mw”¬’zeB7?=EVXRFD=MRD@8;HQQOH@>=<@>>pÄ_]cV<>?>=@?>=>?qklneSUgˆ¼ÆÓ¾l^ddfghhihghcWB4/.-+''&'()***+2<=I_]]djfVGDDKQRUWXYlmnmhXNOR‘ÃÆÔ­`^abdefgffgd^UC=::<;;;<:9:;==;?HXXq\YXYXXWXXXXXXXYXYZYYYYYYXXXYYZbZA«ÜÒŒaceddccdeffgggda_`T&.:;9>ENUbkqtjjigeefedbnrpondQLKY§ÅËÔ’Y_aceffeefe`\USOPRRRRQRRSUWWX\`BXrZWXWWWWWWXXWXXWWXXXXXXXWXXWXXW^hE‚­«•cbdddcbbdeeeeedeb^P&.625/13575797765221//-nrqrtvfSNJq¾ÇÑÈo\abeffffffda^][Z[ZYVVWXY[^__hatsvZUWVWWWWWXXWXWWWWWVVWVWWWUTQTXW]YZ___^_a`_^`dccddddd_VPD%.57bF-''))&$$%$$#"#$&&mmlijjd[RMOšÅÉÖ¦Z_`cefffffeecba`_][XXYXZ\`cekb‹uxqpl]WXWWXXXXXYYXXXYWSTW[ahkuŒ˜—–žœ›››š ™ˆ‚rrpccba]\TLKC%,52@?;888:744443235888mebceab]RMJg¶ÃÎÐyY`fgeefffffeddcba_[ZYYZ[]`c_dˆ~}Žª°^Z[Z[[\\[[[ZZX{{€ ©®±±´²®«ª©ªª©ª«ª«¯¯±³„`abaa_^]XNE(,4.&'57776534554567777jgggrmibRKLN‹ÁÆÔ´`^cdcdeeffgfffeddb^\ZZYZ[]`Xfzx½éÜɆ[_```aacccc_s‡ ±¬§ œ—“Œ‰ˆ„€}|{||}}†ŽŒ^keaaa`__TF.-2-,12**)('&''(('&&'''mmfgomqiSKLKZªÂÉÒ—a_acddeefgggggffda^\ZYZZ\_UdhafÓàÙåÑugkmnprttu€z–xƒŠ„}vmf`\YUTQNNNNNNMNNPST[]so_a``_]XQ?1+)*-,&&&(())(((''''''irjgnosqeZNLJv¸ÁÐËs\acddefggghhhgffda][ZZZ[^S_VOOÂä°ßï—hsstuvwx{~y‹mYUQLIHGILNOP^`MKIIHGEDEDDCCIba```_]YWRHA>>>@CFJPTUTSQNIFEEEEtwmkqpolnoXKKP”ÀÅÖ°`acddfggghhhhhggfc`]\Z[[]RSKKKhrÍêŽtŽ–Ÿ¦®²¸ÀÄ›sMDCBCDBB@?=<;::87898777999998D_``a__][XVTSRRSSTTX^bdca^[USRRRrqkgmnhfijcLKJa¯ÁÉÕ‹]cddfhhhhiihhiigfc`^\[[]SHIKKNPWwŽ{ªÊ°¦¥§ª«ºÒ«]::99988889;=;7489::866777667;>;<854555555??E]aa`````_^^^^^]\[YYZ`dghgd`\\[hchfdiqsosr^LKZhš¿ÄÕ®cbcefhiiihijjkjigfb_]]^UCKJGMQV_iÚ”8A??@;\Ã;@:?A?>==@>9S›o=>E;:534444444238;9946=9423447953;TGE<5433>?@Xbaaaaacbbbaabcdc`][Z]aejkkjfy~qlkifijniaOJMLM”¾ÀÔ±\\`bccdffhhiiiihgea_^Q6AIDHNV_m¿­Q¤óîìëЇ<@9114M^C0375101124669LTHJHC;418A25BGO:5529bccbbbbcbbbbba_\Z[_ejlknurmkmnmfhkiiTJJMM–ÇÇÔºa^_adeefffgghggffebT39AGS¾éÈjPg{H>BBL|pCJGPCXf`VSI:16<9>4-*-2Fcccbabbcbbcaaba`\Z[afjmoqmlnqsqliklgTLJLJi¼ÇÍ×_defghggffggggfffcV-4=:877668=A@:DJH@BBA8:;8=UyVacbcbabccbbbaaabb`][\alklnrtsqrkkmljoeOIKLO”ÈÉÔÀkceegihgffggggffe`R)27BEHO[ai{r4>d6::><4BF;88754456:@A>==@9654433689=JJHD<8GÈóêœ`_aaaaccbbbbababbb`]Z\jquroqqlnijifjr`JJKLKd¹ÉÌÕšaeefhhgfggggfff`TG(237::99;@BB?>@>=<<<===>>>??=7TX/s³°c^_aaabbbabaaaabcca_\Zqwtojiklmiilvste_YLKMQŠÉÉÐËvbfghhggfefeec`[RI*2104.,*-5>?@CEFHJRTRRSUUVWYZY\^^][[i^n†DDXX[`__a``bbaa``aaaab``_][hhjhaabhiqyxsunjmdQKMQ]³ÉÈÖªdffhigggefeedccZL,1039/779CGIIKX¨vIŠsJ?OY^adfjlnonnoponnmllkjjjjkkjnugn„wJU^`aa`abbcca````aaaa```_^rmmnltorirqttt{}j[SJKLL}ÆÄÎÔˆbeefeeedeedeed`M10.-*..-++,..2JiœgOŒ†sZqrpmkhec`^\[[ZYWVVVUUUUUVUUV[_Z^ftuY\`_aabbbcbaa```aaaa``aa`{‚xu{wihowvxypd\QJKKKS£ÈÆ×½f`acdddddddecb^T?/)+++#"""###,J\“ea†yl^__XURROMLLKJJIHHGFFFGGHHGFGILKKNMQlob__^_a_`abaabaaaaaa``aaaƒ|u~xsqiltmhgnhbbbTJKK]c€½ÃËØŽ\aaccdedddcba^YQ8/01211100/.8LQ~tjmYTMJNLIFFDCCBA@@@????>?>>?????ABABABEPis^``acbacdcbbaaabbbaaaaa}xwxrnq``hqyrjjcXKKJU]\œÂÂÖ¿f^`bbcedddcbb_ZWNIGGHJJHIKJICNby„lWEFDA@BA@?===<;;::9999::::::9::;<<==>>DHha_aaeiifedddbbbccbaaaaa‡{†z†z†z†z‡z‡z‡z†{…z†z‡{‡{†z†z†z‡z‡z‡y‡yˆyˆyˆy‡yˆyˆy‡y‡z…|„‚‚|„xƒuƒtƒt„t†x†y‡x‡x‡z†z†yˆ{‡{†zˆw‡u†x†x‡z‡{†{…z…y†z†{„~ƒ€‚ƒ€‚€†y†z…z…y†y†z†y†z†z…z†z†z†y…y…y…y†y†x†y†y‡y†y†y†y†y†y†y…y†{‚~|‚xƒuƒuƒuƒv„u…v†y†x…x…y…x†z‡{†z…y…w†t…v…v…y†{†z†x†w†y†|ƒ~‚€‚€€€…z…z…z…z…y†z†z†z†z†z…z†y…y…y…y†y†y†y†y†y…y…y†y†z…{…z…z…z…z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx„y†y‡w‡w†y…{ƒ~ƒ~‚€‚€€€…z…z…z…z†z†z†z…z†z†z…z†z†z…y…y…y…y…y…z…z…z„z…z…{„{…{…{…z„{‚~€€}‚y…y„y„x„w…y…|„{ƒy„x†x‡z†{…{„{ƒyƒwƒv„v„x…y‡x‡x‡z‡z…{ƒ~ƒ~‚‚€€€€†x…|…|…{…z„z…{…{†z…z…z†z†z…y…y…y…z…y…y…z…{ƒ|ƒ}ƒ~ƒ}„|„|„|ƒ}€~‚|„y„x„w„y…z…|†z„z…z‡{‡{†{…{…z„z„vƒv„x…y†x‡yˆz†z…z„|‚~‚‚€€€„{‚‚ƒƒ~„|ƒ}ƒ~…|…z…y…z†z…z…z…z…z…z…z…z…{ƒ}‚}‚~‚‚}‚}‚ƒ€‚~ƒ}„z…y„w„y…z…{…z†z†{†}†|†|…z…y…y„w„v…x†z‡{†z†{†x„{ƒ~‚‚€‚€€€‚ƒ‚„…ƒ€€‚ƒ~„|…{…z…z…z…z„|…z†y†{„|„|…}‚€€€€€€€€€€€€‚„}…~ƒ~„~„{…z…z„w„w„w„y…z†z†{†|„|…{†z…z…x…w„w…w†x†x†y†z†x„{ƒ~‚~‚‚€€€ƒ‚††}‚€‚ƒ~„}…|†{†z…z…z‚}„|„{„‚€ƒ~ƒ}‚~‚€€‚~ƒ}…z…|…~†|…z…y…x…w…x„w„w„y…{†|…}„|…|…{„y„x…y…x…w†u†v†x…y…y„|ƒ~~€€€‚}…„€€€€‚€ƒ€„~…}†|†{„}‚€ƒ€}…z†z†{…{„{„|ƒ|ƒ}„}ƒ}„|…|†y‡z†}†z†z…z…x…x…yƒx„y…z…z†|…|„}„}„|ƒz„w„y„y†v†u‡u†w…w„xƒ|‚‚€€€‚€‚‚}…}„€€€~€€€‚ƒƒ„ƒ}…y‡x‰wˆw‡x†x„{„{„z„{„{…y‡y‡x†y†{†y†z…z„y…x…y…y…z…{„{…|…}„~„}ƒ|ƒzƒz„y†x†x†wˆu†v…uƒv{~‚€€€‚}‚†€ˆ~†}€€€€€~‚~‚}„{†{‡y†y‡y‡y†x‡w†w…z„z„x„y„y…w‡w‡x†y…{†{†{„{„y…v…w…x…w…z†|…|…}…~ƒ~ƒ|ƒzƒz„x†x…z†w‰w‡v…vƒw€|~€€‚~ƒŽzzy„~€€€‚‚€‚‚~‚}ƒ}†{†z‡y‡z‡z…x†x†w†x…x…x„u…u‡v‡v‡vˆwˆ{†{…|…z…z…y„u…u…v…w…z…|…{…}„~„}„{ƒyƒx…w†w†y†y†w…x„yƒ}~€€~‚~ƒŒ}‹‰‡~~€€…€†€…„„€„}†z‡y‡v‡x‡x†w†x†w†v†u‡t†r†sˆtˆuˆvˆw‰{†|…|„z„y„x„{„{„z†z†y‡{†|†~„~„}„{„y…x†w†xˆx‡x„xƒz‚|‚‚‚ˆ‚‚}ƒ|„‚…‰‡ƒ‚ƒ€ˆ{ˆzˆzˆ{Š|‰}„z‡xˆv‡x†|„~ƒ‚ƒ‚‚‚‚‚‚€‚~ƒ}„v‡uˆwˆy†y…{…yƒy„z„|…|†z‡{ˆz‰{‡}…~„~„~„}ƒ{„y‡x‡y‡z‡{ƒ{}~‚€‚‚ˆ€‚}ƒ{……~‰€‡‚„€ƒ„†~†~†…€„†~ƒ‚{…wˆz†ˆ€Ž}‘|}€~||}ƒƒt‡v‡y…w„z„yƒy„{„z†y†yˆyˆ{ˆ}†~…„ƒ‚~ƒz„v†wˆy‡z†|ƒ~ƒ~ƒƒ€‚~‚{„y„‡‡ƒ‚ƒ‚ƒ€‚€€€‚€€‚{…uˆ}ƒŒ~ˆ|‚|‚|††€†‡}‡|‡}‹}‰~w†t‡x…yƒy…y„z„{„z…y‡x‡xˆz†}…„„~ƒ~„|…w…s‡t‡v…xƒ{~~~€€€€€‚€‚{‚†€ƒ‚‚~ƒƒ‚€ƒ}‡uˆ€‚‡}||{ƒzƒ{„{†x…z†}ˆ}ˆ|}„u‡w…y„x…y…{„{„y…x‡x†y‡{‡|…}ƒzƒz„y„v‚qpqq€o~r}s~v…‡Žˆ“‰—‰˜‰™Š›Š›Š›ƒ‚‚‚‚‚‚~„‚ƒ~‡z„ƒ€ˆ|‡}…†}†x„{…y†w‚}€ˆ}†|‚y…y„yƒzƒ|ƒ}ƒ|„{…{ˆ{‡z†x†tƒpi}o}p|s|szszq{o|j|h|h}q†ˆ›†™†–ˆ’Š‘‰ŠŽ‰Ž‚ƒ„€…ƒ€ƒƒƒ‚ƒ‚ƒ‚ƒ‚‚‚‚‚€„ƒ„~‰{Š}ƒ…„ˆxˆy‡x‡x‚~…‡‡|‚~„€ƒ€‚€ƒ‚€‚€‚€ƒ‚‚„„}„y…uvxyzy€z€y~x~x~xw€|„…†‚|{zƒz‡zŠzˆy‡xˆ~‡‡‡ˆ~ˆ}‰}‰}Š}ˆ}ˆ|ˆ}ˆ}‡~„€…}ˆ{ˆ|ƒ‚…~‰y‰{‰{ˆ{‚‚}ˆ‡‰|„}‚ƒ€„€„€ƒƒ€‚€ƒ€„€„€…†€…€…‚ƒ€Š„€ƒ€„€„‚‚‚‚‚„‡ˆ„‰{‰}ˆ~„}…{ˆz…z…y‰{‰}ˆ~ˆ~ˆˆ‰}Š}Š|Š|Š}‰}ˆ}†~„€…~…|…}…~†}‡|†~†~…}„€…†~Š{ˆ}„€‚‚„„€……„€ƒ€‚‚‚‚ƒ€…†~‡†……€‚ƒ„‡€‡€ˆ‚…‡ˆ€ŒyŠ|†‚†}ˆ{Šz†{†{‰{‰{‰|ˆ~‡‡ˆ‰}‰}‰|Š}Š}ˆ…€‡€Œ~Œ}Š}‰}Š}Š}Š~‰~‰}Š~Š~Š}Œ|{‹}„„‚ƒ€„ƒ€ƒƒ€ƒ€ƒ€€€€„†€ˆˆ~†…€„œ{³€š†ˆ~Šx‰|…€Š|‹yŠ{‰{ˆ|‰}‰{‰|Š|Š~ˆ~†‡€ˆ‰~‰~Š}‰}‡~‹|{Ž|Ž}Œ|‹|‹|‹|‹}‹}‹}‹|Œ|Œ}~~………~„€‚€‚ƒ€ƒ€‚€€‚€‚€€€ƒ…€‡ˆ~‰~”{¯Ÿ†–ˆ‡‰~‡‡ƒ‡‚‡ƒ…†…†…†ŠŠ}‰}‰}Š}‰}†€‡€‡‡ˆ‰~‰}ˆ~Œ{‰…†ˆŠ~Š}‰}‰}ˆ}ˆˆ~‰}‰}‰}…‚€‰ƒ‡~ˆ~ˆ~ˆ~†ƒ€‚€‚‚‚€€€€€€‚„€‡ˆ„……ˆ‡›‰ ‰£ˆ¡ŠŸŠ¡Š£‰¥ˆ¦‰¦ˆ€‰‰}‰}Š}Š}‰~‡‡€‡€‡€ˆ‰~ˆ}ˆ~‚‡~Œ„‡†‡~†€…††…~†~ƒ††‡~ˆŠ~‹}‰}†„€€‚€€‚‚‚‚‚‚€€‚„€†‡Š„´„¿‚ۀ»†½‚Ã~Æ~Æ~ƃˆ€ˆ~Š}‹}Š}‹~‰~†€†€…†€ˆ~ˆ~…€„€ƒ‚‚ƒ‚ƒƒƒ„ƒ†~‹|Š{zŽyy‘x‘x‘x‘xyy‰}„€ƒ€‚‚ƒƒ‚‚‚‚‚‚€€„‚†’°zÉwÎsÓqÖrÔsÕr×q×q×€ƒ†‡‰Š}Š}‹~‹}‰~‡~†€…€‡‡„€„€…‚„‚„‚ƒ‚‚ƒ‚…„‚„€‹|“z”z“z’{‘{}}{‘{’{’zzˆ}†€ƒ€‚‚€ƒ€‚€‚ƒƒ‚‚‚€€ƒƒ…ƒŒ€ˆ•z¤w¯x³wµw´x±y¯}„ƒƒ‡€‰~‰}Š}‹}‹}‰~‡†€…€…ƒ€„€‡ˆ}‡~…‚€€€‚…Š|…|€}~€…~…€†~~~~~€~‰}‹|ˆ~‡„€ƒ€‚‚€€‚‚‚‚§~¬Š€€|€€~€‚|‡|„‚†€ˆˆ~Š}‹}‹}‹|Š}‡…„€‚€ƒ€…€†}…~ƒ‚€ƒƒ~„~„…‰||x}x{~†{‹x‰y~|x~x~|…|‹{‰|‰}ˆ†€ƒ€€€‚‚‚‚‚€{ªtÌuÇw·|£x²y²|™€„€…‡}“}‰~‚ƒ‡€ˆ‰~Š}Š}‹}‹}‰~†ƒ€€‚€‚‚‚ƒ~…~‰}Š|‹~ˆˆ€‰|†}ƒƒ…~Š{ŒwŠxƒ{„€…‡|Š{‹|‰}ˆ~‰~ˆ~†€ƒ€€€‚‚‚{§rÍqÐrÐtËsÈvÁ{®}–}Ž~™{„~„}ƒ}‚„ˆ€ˆ‰~Š}‹}‹}‹}ˆ~„€‚€‚‚‚‚€ƒ€‚‚€ƒ‚‚‰}‡|ˆ|‹}Š|Š{Š{‹y‹x‹|ˆ€‡‰}‰{Š|‹|Š}‰~‰~‰~ˆ~‡~ƒ‚‚‚‚~|¢sÌrÎrÎtÅy¬”}„}„ƒv…~„‚|ƒ‚†‚‰€‰~‰}Š}‹}‹}Š}†‚€‚€‚€‚€‚€‚€ƒ€…‡~Š|†|†|‡|‡|‡|‡|Š|‹{‰}|……~†|‡}‹{Š}‰~‰}‰}ˆ~‰~‡~…~ƒ€‚€‚~~™tËsÍsÏwµ„„~ƒ‚†‡‡oz‚€‚~‚}‚‚‚‡‰~ˆ}‰}‹~‹}‹}ˆ€„„ƒ‚€ƒ€„€†€ˆ~Œ|‡|†|†~†~†}…}…}†|†}ƒ€…‡~ˆ|Œ{‡~†~ˆ~‰~‰}‰}ˆ~ˆ}‡~ƒ‚€€‚€‹{±{£z¨z˜€€€€ƒ„…~…h{m}{‚}z‹~‚ƒ‚ˆ€‰~‰~Š~Š}Š}‰~‚‚…†„ƒ€ƒƒ‚†}y“x“w‘y’x’x’x’y‘x’x“x’x“w•w•v”w‡~„ˆ‰‰|‰|ˆ}‰}ˆ~‡~„‚€‚‚€‚€ƒ€…ƒ€‚‚~‚j}i{p{ˆ}‡~‚ƒ…ˆ‰~Š~Š}‰}‡~ƒ€‚‚ƒƒƒ€ƒƒ‚ˆ~y•v”v“v”v”w”w”w”v”v•v”w”w”v’v’wˆ}…†ˆ‰~‰~‰~ˆ~ˆ~ˆ~‰~†„‚€‚€‚€‚€€€kk}k}x€‚~ƒ}ƒƒˆ€Š~‰~Š~Š}ˆ~ˆ‡†…€„„†€…€ƒ€Š|{Œ|Žz‘wwxyxx’w’x‘y‘yyyyŠ{ˆ|‡|‡}‰~‰}ˆ}‰~‰~ˆ}Š}‹~†€‚‚€……†…„€…€……nmlt‚ƒ‚}‚}ƒ„‰Š~Š~Š~Š~Š}‰}‰~‡…„€†€‡€„Š{†~~ƒ‹{ŽyzŒzŒzzyyyzyxx‘x’x’x’x’y’y‘yŽ|‰~ˆ‰~Š~‡‚€‚€††~††††††oƒl€i|m€x‚€~ƒ}ƒ€‚†Š~‰}Š~Š~Š}‹}Š|‰~‡€†€…€†…‡}ƒ‚|…|„„€Š}ˆ~ˆ}†}ˆ}z’y“x“y’y‘z’{‘{‘|‘{‘{‘{‘{‘z{‰~ˆ‡†…ƒ‚‚‚€‚‚‚‚kk~hzi|k}z€€‚}}‚ƒ€‰~Š~Š~Š}Š~‹}‹}‹|‰~‡€†€†€„€…„‚‚€ƒƒ……‚ƒ‚ƒ‚†Œ|Ž|{Œ{‹|Š|ˆ|ˆ}‰|‰|Š|Š|‹{‹{Œ{‰|‰ˆ€ˆ…„‚ƒ‚‚‚‚‚ƒ~ƒ€‚‚nm~iyhyezs€ƒ~•|ˆ‚†Š~Š~Š~Š~Š}‹}‹}Š}ˆ~‡€…€ƒ€………~„€‚€ƒ€‚ƒ€„…†€‰}Š|Š|‰|Š|Š{‡|ˆ|Š{‹{‹zŒz‹z‹z‹{‰|ˆ~ˆˆˆ~‡‡€†€…€„‚‚‚l€j~gyfxgyl}{„€Š~…}‚€‡Š~Š~Š}Š}‹}‹|‹|Š|ˆ…€ƒ€ƒ„…~„‚ƒ‚€ƒ€ƒ†~‰|Š{ˆ~ˆ‰{‰z‰{‰zŠz‹z‹{Š|Š{‹{‹z‰|ˆ}ˆ~‰~ˆ~‰~ˆ€ˆˆ‡…€ƒ€‚€‚€‚f€g~gzgxhxi{q~€‚~‚}ƒ‚‰~Š~Š}Š}‹}‹|‹|‹|Š}‡„€€‚„ƒ€‚€„€‚€€ƒˆ~Š|Œ{†‚‚ˆ|ŠzŠzŠyŠyŠ{ˆ|‡|ˆ{ŠzŠz‰|ˆ}ˆ~‡†‰ˆˆˆ‰~ˆ~†ƒ€‚€‚hh~gzfxgwhxhzu€ƒ€‚}‚ˆŠ~Š}Š}‹}‹}Š|Œ|Š|‰„€‚€€€ƒ€ƒ€ƒ€„…‚ˆ~‰|Š}…€†}‰{Š{Šz‰{ˆ{‡{†{‡{†zˆ{‰|‡}ˆ}„€„‡‰ˆ~ˆ~ˆ~‰~ˆ~†‚‚‚jh~gzdvgyizhzr€ƒ~‚‚…€Š~‹}Š}Š}Š|‹|‹|‹|‰~†€‚€‚‚‚€‚€ƒ€ƒ…€‡~†}‡~‡}†~‡|ˆzˆ|‰|ˆ|‡|‡|‡|†|…|ˆ}ˆ}‡~†~ƒ€„€ˆ‰ˆ~ˆ}ˆ~ˆ~ˆ~‰~†€„jh~g|exi{j{h{n~}‚€‚}‚€ˆŒ|Œ|Š}‹}‹{Š|‹|‹}‡€‚€€‚‚ƒ€…ˆ~ˆ}ˆ~Š}Š|Š|‹{‹|‹|‹{‹{Œ{Ž||{Ž||‹|‹}ˆ~€‚€ˆŠ~ˆ~ˆ~‰~‰~ˆ~ˆ~ˆ}‡„€jj~j|h|i}h~h}lu€‚€‚~‚ƒŠ~Œ}‹}Š}Š}‹|Œ{{ˆ‚€€ƒ€…€†„€ƒ€…~Š}{Žzz‘y‘x’w“v“w“v”v–v–u–u—t—t–u–v–vy††€ˆ~Š~‰~‰~‰~‰~‰~ˆˆ}ˆ}‡mƒl‚jin„k„h‚j‚q~‚‚‚…~„‚‡€Š~Š~Š~Š~‹~Š}Š}ˆ‚€‚€ƒ€ƒ€…†„€„‹|’x“w—w™v˜u—u—u˜v—v—w–u–u–v–v–w—w—v˜v–vŒ{ˆ‰ŠŠ~‰‰‰‰~ˆˆ~‰‰lˆm‰n‰oˆq‡p…m„p…s…|ƒ€‚~™}Ž~‚‰~‰~‰}‰~‹}‰}‰~ˆ~ƒ€‚‚‚‚‚‚‚‚€{“w“y“x“x’zzz{{Ž{{Ž{|{Ž{|Ž|Ž{yŒ|ˆˆˆ‰€ŠŠ‰~‰~‰~‰~‰~ˆ~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÍÎÎÍÍÎÍÍÌÌÌÌËÌÌËËËÌÌËËËËÌÌÍÎÌǽ±¬Ÿž‘}rgjujkillrcgbV]a[[c\T[a]_VPOTZX^e`cSTWVUVTUYTPV^^[XTLD=9<:521@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÈÎÎÎÎÎÎÎÍÍÎÍÍÍÌÌÌÌÌËËÌÌËÊÊÌËËËËËÌÌÎÏÏÆ´™¡•u€x€q^^]q}m[^mkh[ZZ[_YVTP^g_[RPOQXV\fggOU\`ZQPLRRX^a[VPMI@?76532086ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÇËËËÌËÌÍÍÍÍÌÌÌÌÌËÌÌËËËËÌÌÌÌËÌÌÌÍÍÍÍÎÍÍÁ¦‰‡plkmlkmqt{x_a`ccZ[[ZZ\RSW\bYZYVSRUSVYdcQQX[ULNMRR\b_aYQFA?<852210/1ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÂÅÁÊÌËÊËÉÊÊÊÊÊÉÉÊÊÉÉÊÊÊËÊËÌÌÌÌÌÌÌÌÍÍÍÌÍÍÍ̵˜’ymrwys}~cda]fW`ccZZWU`XRYecRPSVWSNLVOWgQNTWYPMSPPX_^`TTTMH@<85320--ÍÍÍÍÌÍÌÌÍÌËÌÍÍÎÈÀÁÀËÎÎÍÎÍÍÍÍÍÌÊÊËËÊÊÉÉÉÊÉÉÉÊÉÊÉÈÉÆÈÉÉÊËÊÊ;‘‚‚€qajzkdg`_`WibWWTSM]_^`qlYPOU[TMISRRYTYZWUOPQU[_WVYPPYNI>>@<52/,,ËËÌÌÌÍÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÎÎÏÎÏÎÍÍÎÎÍÍÍÌÌËÊÊËËÌËÊÊÆÉÊÊËÌËÇÅã‹xwmi_inmb``]X\`VRZRRQZefegcgUPVZRPSURQWRY\`URUQY[\VXSSPQPI>?=7651.3ÌÍÍÍÎÎÎÍÎÎÎÍÍÍÎûżÇÏÍÎÎÎÎÎÎÎÏÎÍÍÍÍÍÎÍÌÌËÉÉËÍÎÌËÇÅÊÊËÍÎÌÇÃÀ²šz|oaURa\Z\`_^b^VUPKMUY_ach_[SOOPNKSQRO^LTUZ[WZY]ZZUQQSNRKFC?B;521/4ÏÎÎÎÎÎÎÍÎÎÎÍÍÍÎþÌÂÅÎÍÍÍÍÍÍÌÍÍÍÍÍÌÍÍÎÍÌÌËÉÉÉËÈÄÂÃÁÆÆÈËÌÉÁ½»¨Š~ypUSRQMVWmndbb\YMD?LXP[``]VSQJLKHKHPKXNQTUVVZZZ[]WRPSNWNCHA@>3/.--ÏÎÍÍÍÍÍÍÍÎÍÍÍÍÍþËÂÃÍÌÌÌÌÌÍÌÍÍÍÎÍÍÍÍÎÎÍËÊÈÇÅÈÀ½¹Á¼Á½ÄÊÇû­¡¤‹~ys_VYZXgi\ned\UURRVUbSOZ]ROVWRKIFOPQYXQPWZUTWVUOOZURVQWW?56220.---ÎÎÓÙ×ÐËÌÌÉÈÉÉÊ˾ÈÀÀÌÍÍÌÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ¾Â»¸¬¿·¿¶¾Æ¿¼´¥‡„~p‡vc\`Z\eiVn\SZTNST][UNPSWRQRUXLKKSSRZf\NVXVVTTYRK\YY\\LC=7630-.,,-ÎÝëðíåÕÊÉÁ¼½ÀÄÇÀ¾ÆÀ¿ÊËËËÌÌÍÌÌÌÌÌÌÍÌÌÌÌÌÌÅÀº³¼¸° ¹²¾´³¾³º²—ƒ{{mfbbb`T\aYTdYSZ]PSSW\UVTNMMKKMSYVPSOQQb[NY[XRLMXYPVXQLJA8=<:72.-,-.Þîͧ°Ýêͽ¶°¯µ¸¿ÁÂÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÄÃÀ±ª¨«®¤œ©¬·¯±µªªž€tvrkkR_dZXcWQ]h]Y_WKPRRZ``TQLLKMRMUVJPTNR\^Xa\SOKMYWQXPQWJBC>;;961//.-îÇwhl¡æÙµ¯­­³±¾ÃÆËÈÃÊÍÌÌËËÊÆÉÌËËÊÉÉÇÁ½½² ™™¤¤˜”¡«¬¬¬§£˜‚slhdjm[TXVa_VW\YZ`VUXTSTU_WQTNNSURSUWQPXQRX`X^WX[W\_SRXWTP@?E;87765200/åŠuvqÍçµ­ª®±²ÀÁÅÉÇÂÊÍÍÍËËžÈÌËÊÊÆ¿·¯°±¸«Ÿ”˜™—¡±­¬Ÿ˜™ŽvheeUe_QLIOX`YSS`g\ao^]a]SVNPPOOQVRTRTXR[OO_^\gZa]hf^RPLMJK@=@8755554.02ÍŠŒ…yˆÂ躪©¯¯´»¶ÁÈƾÈÌËËÊÇÀ¶ÆÌËÇÁ·¦ž›š¡¡˜š–‡’—‘œ©©’‘„ucdgZ\TQTTPX__\hk^PU^NVpoZQOJMMJFJMMONMPZUX^TSXX_g[ZUNILFEECH@8544443/16’Š’“‡‡¾è¿£¦°±µµ²½ÈŶÀÇÇÉÉȾ³ÃÊȽ±¤˜Ÿ•–“ŠŠ‹’“‹ŠŽ‘—ŽŠˆ‰ƒ}ttoaXTY\YPW\UU\g[RQ\gg`^\RSKIJGIHGEFNLS^\W[VO\jfeV]SMVSIJ@@B:754334438>„‰„||ŽÀçÝÍű®®«ª¸Å¹©¯±°·´Æ¼°½Â´¨žŸ˜›¡““†€‚‡ˆ€~ˆ‹Œ„ƒ€ƒ€xvp`VWTU]ZTYTRYePQP^dbRQ[XSLJLIJIFKJIQT\`RZQPkqce_a]U\YTSH<;;96443365;@ÐÜÔ³w…ÃåíîæÈŧ  ¨©žŸŸ¡ ž¦¸¯¤¡§™š˜¡™™ž”…ƒ„ƒxƒ‰ˆ„€{|{|uppidXQZfYQURV^YPY\]^XQRQRRMJOPKNRQFCKNT_PQM]``_ZfhZPT^ZFRE=<<9555499<=ÄÁßn{Ãåëåáæí³ž¢¯ ›œŸ¤«¥¡¢£ ”““œ™Ÿ›’—Š‹‡‡ƒ}xˆ†y{wxqhheZUXRY^XT\Y\ZWZYZ\ZUPKVSNLOJADFFA@EHHQJRSY[aY`lY^PZ^ZJDD@><856669=@?pFUO\p¼æíÌ¿áéøÄø¼·¾½Êǽ¬  •Œ‘œ–š–‰Œ‰Šˆ…„‚‚€y~„~|~vxvrqmjgY[dbaYQSWX^^cWU\RX_[VOINLNJCCEA?FFDBRGTW[W`a`\QccVVXRLHDF976668;?HF\[\LIhªÒåâÛééäæçãäæçêèéìñÆšš”ˆŒ’‘Š‹‹†Œ‡‹ˆ‚‚„{}‹€ywuqsrnhaWZda[QUNQ]fbbUOTTi]bXMQROJHDHSKDJKLFPQ\]YMYdddTadVPW]OD@@<;9888==LURSUTO]dcd[SYX]ZR[VSRE<98;;79:99>>>NVVWZZOKJUX[\V[c_TMLIKONMJHINWXZ\`Z^WUSXNKMHA<8787Q}>789:s‘x|}}~z|~xv{yuwwyw{|~~xttlgnuynha^PRSGKQVZ\SOSRVUZUWXY`\SLECADGIEFGKSW][VMURTQTNFEC=:7786[}@98;=LHMF96=:Tš±±|}}}z|{x~ƒ…ˆŒ‘“™›œš˜“Œ‡}sllvphg^QVWVXZ_\WEGSX^W[YXVW\UOJCE@??>=<@LOXaZTXYRWYMLE<:998673ŠßK38:;EHJ[hXTYW[[SGB@:7888795‡ÞL19<>CFFCQìíîÍmMHKµÎ³²·¹½ÁÃÂÁ¾½º¸½Æ½±}{}Ÿ‹‡~skddfp‰}haa\XZ]cfisgfcc[emcZMPZXTQTZW_YVZdYPIBA@ACA??CIC>K[kk^LQdQG@:<:7;:::<7}ÛR4=<>CIHBVñàÍ­dLGK‰ÃÓÖØÚÚÜÞßßÞÜÜÛØØÚ¤z~~“]OPQQV[Y[e}oULMZkid]TAPpjkga]]Y\ZNOVTMOT]\YY\][TUMG@BHJB>CRPIT[^h‹mQVWLA;886:?BA>?9}é_7?8;CFMY_xSujFDS‹ÌÙßççèìîíèíîìèéäÛÄ…|~}€n>Vgu€‰‹U96/.256K__aceW@XjrxfWUUSRPOUWOPZ[ZV[b\YOSTPIEKPI<>NUNejit†i[]SJA><;=DJHC=>7ñe372;EFX_amisWHIM†ÍÝäêê迪ºÚµªÊêåàÚÖšz}}„RExœ£¨«­˜~dKKMPNLI;367CWDacm`TV^YX\UPSQSPZ][e^UVQOJHHCGKGEHNNTikiqpcbkiYQMLPSRSPGFNV‘åmotz~ƒŽ„ƒxaHFC@…Ìâéêçæ¾°ÇÞøËèåäàߟy}{}HWi´¶´±­¥ŸÂ•|™|KOL@9555eQN\hcUNWZ`ZXRMNVUZb^`XPPVRNE@=HW^W\fhmcZXX_bdjlloe^ivrkyy˜Ÿ   ž™”‘Ž‡……HFIL?338o½ëéêêëíçêéâãêééêêçšy|€kW[;ksf[WUX‡†v‰lKLPc`E43VmFaaa_TWYYTROOLR]ZSVWTNQZSQV\WrsakwjZTW\]]`fgm„‚ƒ€…šq~voiedb`_^]\YYYkkoup9.6a«ðððïïïïïîíîïîîïðãŽtv„ZrO22333@NMHKNKKMEOvkT2NK`_a^ZZUVUW]]USXWQNOU^[Y[ey…‹‚bdqhSRY[[Z\fiku~zxyrr{~LQRQRTVMEBBA@>>>ywvtu`Z^n‘ÅÉÉÌÎÍÊÈÊÊÈÆÈÊÍÎÀ™‰„ƒU?36G\P@NMMLMNMLHKwsS6M„›^Woqnoomry‰“Š‹’“ŽŽ”²›…€|x{{mcmmbW\_]]\`gehqfc_bcrr†^Uuz…‰}@7768:::pnomorvxyzyyz}~~|}~}{{†”’y\…654]ž€GLG>>>FMMKF^wd950q}Oqstuwyxwuuutttux{~„ ±´«œŽumkklmlhd`]]][Z_^ZZ[\\^iU‰¬¯²²²²«dC86AMPOomkkklnpsuttsrruwy{}~~~}}{yvuxknx4<;h™nC9334=IGIL•x951T“Kdhjjlnqttvvvutqqrqpppt|‰˜¤­­§¡”ƒtigfdb_[ZWZXVWYXVVr‹Xh‡“ƒvk]\eWA:FMY[tokjjjjkmnqrrqooopruyyz{||{zvzd€e>JE`†ŽkJG8667968@‰Ÿh952>–\Yjhfeeeghkmqtuuurqpomnoonoryƒ’¨º»§Œvkggfgc_\ZYWTRS‰}[EID2454Lj]KELSZ[xuqmkjjjjknoppqpopopqrtvy|xytx[\IRNd„sIHHDDDDA>:77’mMkRJM`dcccdfimqsuvutspmlnoooollu‹¦¹¸­™…tkhgfb__[V_ŸkZ<:7iKE]>>5Mhdccbbccehlortvwwuqoljlopomlq}¨ÁìŒrgghfebt¦\U6K84:PF;>7332ESPutuvupkhfeehkllmnnopponnf8;9Yp@HAGH5?BBBHLLKHD==>=WVLMC688>>8473Umhfdbaa`^^acglortuvvuokigjmomkjjx–¹É¶“whfdoˆ›ON8>:8YttS94334454uuuuutqlhfdfhijkmlmmmnmmf=10/7OB865679:64445665888799;;;<@KB0>KWgkmmjgcba``_``cglpqrtuuvsnhgikmonljpˆ§Â˜XZYkˆBJEIC=\ƒŒP?<623459qrstuuurnieecdfhijjjklmllgXVW3ZM<;::898767777678778888::;>E?Hijhgghjmmjfcba`aa__bfjmprsuvvtqlggjmnmmjiuaS]kpŠy825>lopqssrqpkgcaaacdefgijjkklkŠºYNF;:997776666666676667778::;;@A@FHIWa]``jlnoprqrqolgca`aabddfhijjki„·bH<5687665556555565545566675;LJNhkkljigeefkookfbabba_]^`dhlnprrsttrkedfijliQMKFRegMK?78?HHEFKLWa`bbiklnorrstrpmhdbaabbcdfgiijjv kQ_Q:3544444445=B4544434542[ŠšiBUjkmmlkieddhmonlieeffdb`_aeiloorrstrpjdcfikhd…€Pp‚znj`NNV]__``__`__fiklnqrsussqmiebabbcbdfhhiiplc  ¨P1333334559:454433331S¥¥¡‹GMihmmmlljgecfllmnlifeeeda__beilooprrssqkecgjiŸ¯uufmd``ZTdsmigdddcccaehjlmpqrrrqnmiebbaaabdfhhjsbE| §­’N//1101365464144442Q› ²¡…EGfdjiikkkjifccdfjmlhdbbbba_]^`dijmopqsssqlfem‹¨xf[`[XWVV`e\XWVVVWWW^adfikmnpqqpopmhca````adfggm^-`ªÈ­ÓºbbIHKNLAIVh‡ÎÚßåéìéçêìÂzctƒ……‚‚ƒ…y]kcSwŒŒŠƒƒ{yatkkkiebbdgijhfec`a`a_]]]_bdgIFJRDäÚÓÛèÖdB;fÃY:”ÉÀ[v²ÄÏŽX^cfgijkmopppoolga`__bJ,-.26;DN]q™šßëìíìëìíîë©\o”²¸¿ÇÍÐÐmKD?BeÉÛØÐÎÒÓ«vVgmkkkjhdcbehjkifca``___^]^`cFADLLW„‹¶±Ìû£CAA¨ºN˜ÞÅaN‰»ÉÉtYacghjklnopoppmkfb`_`N.-.04:>K`yž¢ÙóòóòòòòõÓ…Vp¬áÝÞÜÜÝÖcedgRZÉáÞØÓ×àÀ^mTmkjkkkiebbadgiigda_^_^^^]]_E?BHMPQWgm¶Ó’h]Nd߬v¬€Yu«ÀÍ´c[bfgjjlmoonppmljea`aO//.06:[[@ALPŽ¬£š•‘Ž„¢u[b¤åÞÝßßàÆPTVcjvÈãâãàáã¸EwRhljjjjkjheb`bdhigec`_^^^][\D>BGKOTWW\dfcksun¥îÝÞÝæVUu¶ÃÍž[_ceghjlnnnnonmlidabN33/1@bÛÅVCIa_HKMRUW\sždbZcƒˆ“œtETe~xŠ¢Í󦙅d:c^]iijjjjkjhfcb`cegiigb_^]\\\G=@GJNRVW_ccdeinxƒ¥ÅØδPKN„ºÂɉY]acehijlmmnnmmlidcO46//5[ϳ|p}–‘˜› ¥££¥›TjTB8568868BMwRSRO@;741>EJjSghiiijjkkjgdb``cfiigd_]\\\I>=GIMQTV_lw~„‡Œ¡«¬´Âº³^SMS“»ÅÂqT\_adfgiklnmmlllheP39-./5NXG9@KE>?@?>?@>?@AE[KRŸwQeC7769<775446=53557M]C58:5bU]fgggghhiiiihfca`_aehifda`N67HJLNRV]hmkmj¥ìéäãæçìjaPMJoµÀЩ_]adefhijlmmmmlljR.;/-,/0147669:<<@TOˆ¢eX_FKACUYI?B<4433462Jœ¦i9;74QaTffehhfggghijjgdba_adhjhheM25ILNOQW_gfkol¢ëîêéììêlofSLMƒºÁЕY_bdffgijklmmkklQ-;1-4-++**)+++*1>=ZY\XKRLJMLIINO>12455EHQXqWIEJFABNeVšq^effgggggihgd`__adhkQ+6GIMY‰yc\KH.-/01CSCTTrpkeXOKc«ÁÎÄs]befgghikkkkcXF-8620DFD=55.*,8bˆž§…rX8:>>MYWMEC>XLC<8>LQPPG?><=?=>NfO~wTVeeefffeeghigda___bhQ'6FABé“eTONMTSQOY^QSRqklneSUf†¼ÇÔ¸g^ddfghiiihhe[G1632032/.,,*.12KcxŠ„ofOMLORSPNMMQUPQPQSUXZZVTVVXX\`]l][]Z^ddeeeeeefghhgeb`^^bP%4C>@m¥x_`dU9997:?>>>@lmnmhYNNQŽÁÇÔ§__abdefggfhg_S?2-.,*'()*+,+*-4:Hnnp^^]\[Z[\[\[[[\\\\[[[[\\[Z[Z[^^gUG¶Ù’aceedddeefghhgdb_^`N$2>;=ESW]fmj\NMOVYZ[^^nrpoodRLKW¥ÄËÔY_aceffeegfa]QFAACEEFGHHGHIKIGKH``mXYYZYXXXXXXXXXXXYZYYYYYYYYYYZ[fNI‘¢”cadddcbcdefgggfda_`M$1998$05;fJ.*)-,(''&%%$%%')mebcfab]RMJe´ÃÏÏxY`fgeeefeeecbaaa_][YYYYZ]`chim‰qwnndXXXWXXXXXXYYXWWVVTTTVX[`mƒ‘„€ŠˆŠŒŠˆ…€}vqgplcbc`\ZSLK@$040349:99:767887779;<::98776786547899777778778:=Wbaaa``^]\[ZZZ[ZYWXZ^cfffb^ZXXhdheejqsosr^LJZf˜¾ÄÕ«bccefhijiiiiijjiheb_]\]]KDPHLNSZ^n©âq;:87:7…ÒŽD:9:<=?@ABC@E[K8<;;<855566556?=I_aaaaaa`_^^^^^^]\ZZ[_dghgec_\chkinoklorpkSJLLW¤¿ÈÕ]bdefghiijjjkkjigea^]^^JDNEJNRYbt®ÜU;?@AA:”Ôw;@Vbaaaaba``````a``^[Z\`ehjihe`xtsptpjiljhkcKJJJm¸¾ÎÉr\bcdeffhijjjkjiigd`^^]G>IDHQX_hx¦ÛkDJPVVWn§Z<@4676667<;8CXG78=:73346444338BB[baabbbbbbbaabccb`^\[\afjllkpuquvmnglnoljg\NKI`µ¿ÉÒ{X_bcceefgghhhihggd`^]B:FFDJQZet–ÑycÕóïíîÊ{:@8126CH<25:6111124657K[IKE=742:A=Paacdedcbbbbabbccb`_\[\afjlmmurtsloihkllotiPJKL“ÅÆÖ¶cbdefgeeggghhihggeb_^A6DIEIPZdrŽÍƒQÍñíêäµe9?5217cH/21100//1239?BFLRQOH816BEEMS]Z[\G23@>AVc@453Idbbbbbccbabba_\[[`eilknurmkmnmfhkiiTJJMLÇÇÔ¹a^_adeefffgggggfffca?1?JDy¶ªoOaˆC]okm†…C<@99:K€~V>@8////027GDSLT`\YTE42;@?K]>5649`cbbbbcccbaaba_][[_djmoqmmnqsqliklgTLJLKa¶ÇÍÖŒ_defghggffggggfffecA5/././1>KESEWe^VNG928@;@:10019acbbcccbbbabbba`][[`lkmnrttqrkkmljoeOIKLL‰ÇÉÔÀkdeegihgffggggfffedA08CGS”¿¡\Vl`=FLuV>@??@@@?744545A;9ORL?=<;:9999<=:99:6685447867>JFFE;9Tœ”’da`baabbbabaaabbbb`_\Zpwuojikmnijlvste`YLKMO„ÈÉÐÊucfghhggfeffffge[R8*54<>>=@DHRG-4@?]G?:266334333478?CA@?@B<:9::;:;===BC?8BF3U\[a__aa`bbaaa`aaaaba`_][hikhbbchiqzxsuokmcRKMQ[¯ÉÈÖ©dffhigggefffda^VQ:*4/21.,+.3:753A£ºJQ59:9:<;=<>?=>@HFCCEEDEGIIJLKKJIFNL`z:K`````abbccaa```aaaba```^qlmnkupqisqutt|k\RKKLKzÅÄÎÓ†beefeeedefedbb^T;*2.;4134?BGJMPTX\`bdfiiikkjkllklmnnolmxjm‰hBXa^aabbbcbaa```aaaaa`aa`|‚xuzvihowvxyob\QJKKKRŸÈÆ×¼f`acdddddeedddcY>-0--+..--./018Vz¦WT€\Miqrrrponliggfedcaa`_^\\\^_`adi`ds€iR[`__a_`abaabaaaaaaa`aaaƒ|uxsqiltmigoibccTJKK^f|¹ÃËØŽ\aaccdeddddcb_ZI5+*+-("!!"##".LfSb‹rblfa^[ZWUTSRQQPONMMLMMLLKKMOPTSQUW]wk[``acbacccbbaaabbbaaaba}xwysnq``hqyrjjdYKKJTZX•ÂÂÖ¿f^`bbceddddcb_[VB,+,,-+*))**(;IR‰]owf]RTVPMKKHGFEEDDCCCBBBBAABAACDFFEEFEIXpp_aaeiifedddbbbccbaaaaa‡{†z†z†z†z‡z‡z‡z†{…z†z‡{‡{†z†z†z‡z‡z‡y‡yˆyˆyˆy‡yˆyˆy‡y‡z…|„‚‚|„xƒvƒtƒt„t†x†y‡x‡x‡z†z†yˆ{‡{†zˆw‡u†x†y‡z‡{†{…z…y†z†{„~ƒ€‚ƒ€‚€†y†z…z…y†y†z†y†z†z…z†z†z†y…y…y…y†y†x†y†y‡y†y†y†y†y†y†y…y†{‚~|‚xƒuƒu„uƒv„u…v†y†x…x…y…x†z‡{†z…y…w†t…v…v…y†{†z†x†w†y†|ƒ~‚€‚€€€…z…z…z…z…y†z†z†z†z†z…z†y…y…y…y†y†y†y†y†y…y…y†y†z…{…z…z…z…z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx„y†y‡w‡x†y…{ƒ~ƒ~‚€‚€€€…z…z…z…z†z†z†z…z†z†z…z†z†z…y…y…y…z†z…z…z…z„z…z…{„{…{…{…z„{‚~€€}‚y…y„y„x„w…y…|„{ƒy„x†x‡z†{…{„zƒyƒwƒv„v„x…y‡x‡x‡z‡z…{ƒ~ƒ~‚‚€€€€†x…}…|„{…z„z…{…{†z…z…z†z†z…y…y…y…z†y…y…z„{ƒ{ƒ}ƒ~ƒ}„|„|„|ƒ}€~‚|„y„x„w„y…z…|†z„z…z‡{‡{†{…{…z„z„vƒv„x…y†y‡xˆy†z…z„|‚~‚‚€€€€„{‚‚ƒƒ~„|ƒ}ƒ~…|…z…y…z†z…z…z…z…z…z…z…z…{ƒ}‚}‚~‚‚}‚}‚ƒ€‚~ƒ}„z…y„w„y…z…{†z†z†{†}†|†|…z…y…y„w„v…x†z‡{†z†{†x„{ƒ~‚‚€‚€€€‚ƒƒ„†}ƒ€€‚ƒ~„|…{…z…z…y…z„|…z†y†{„|„|…}‚€€€€€€€€€€€€‚„}…~ƒ~„~„{…z…z„w„w„w„y…z†z†{†|„|…{†z…z…x…w„w…w†x†x†y†z†x„{ƒ~‚~‚‚€€€†‡†}‚€‚ƒ~„}…|†{†z…z…z‚}„|„{„‚€‚ƒ~ƒ}‚~‚€€‚~ƒ}…{…|…~†|…z…y…x…w…x„w„w„y…{†|…}„|…|…{„y„x…y…x…w†u†v†x…y…y„|ƒ~~€€„}„~„‚€€€€‚€ƒ€„~…}†|†{„}‚€ƒ€}…z†z†{…{„{„|ƒ|ƒ}„}ƒ}„|…|†z‡z†}†{…z…z…x…x…yƒx„y…z…z†|…|„}„}„|ƒz„w„y„y†v†u‡u†w…w„xƒ|‚‚€€€‚€‚‚}„~…}€€~€€€‚~ƒƒ„ƒ}…y‡x‰wˆw‡x†x„{„{„z„{„{…y‡y‡x†y†{†y†z…z…y…x…y…y…z…{„{…|…}„~„}ƒ|ƒzƒz„y†x†x†wˆu†v…uƒw{~‚€€€‚}‚†~ˆ~ˆ|~€€€€~‚~‚}„{†z‡y†y‡y‡y†x‡w†x…z„z„x„y„y…w‡w†x†y…{†{…{…{…y…v…w…x…w…z†|…|…}…~ƒ~ƒ|ƒzƒz„x†x…z†w‰w‡v…vƒw€|~€‚~ƒyz‘x‡}€€‚‚€ƒ€‚‚~‚}†{†z‡y‡z‡z…x†w†w†x…x…x„u…v‡v‡v‡vˆwˆz†{…|…z…z…y„u…u…w…w…z…|…{…}„~„}„{ƒyƒx…w†w†y†y†w…x„yƒ}~€€~‚~ƒŒ~Š‰‰~€€…‡‡†…~…€…z‡x‡v‡x‡x‡w†w†w†u…u†t†r†tˆuˆuˆvˆw‰{†|…|„z„y„x„{„|„z†z†y‡{†|†~„~„}„{„y…x†w†xˆx‡x„xƒz‚|‚€‚‚ˆ‚}ƒ|„‚„€ˆˆƒƒ€‚€‡|ˆ{ˆzˆ{‰|Š|‚ƒ{‡xˆu‡w‡y†z…|„~ƒ~ƒ}ƒ}‚|ƒ{…z†v‡uˆwˆy†y…{…yƒy„z„|…|†z‡{ˆz‰{‡}…~„~„~„}ƒ{„y‡x‡y‡z‡zƒ{}‚€‚‚ˆ€‚}ƒ{…„~‰€‡‚„€ƒƒ€††~……€„€…ƒ}…wˆv‡‚‚‹~Ž}}Ž~~}}}†‚u‡v‡y…w„z„yƒy„{„z†y†yˆyˆ{ˆ}†~…„ƒ‚~ƒz„v†wˆy‡z†|ƒ~ƒ~ƒ~ƒ€~‚|„y„ˆ~‡€ƒ‚‚‚‚€€€€€}…vˆz…‹Œ|‡|…|ˆ‡ˆ€‡~‰}‰}Œ|}z„t‡x…yƒy…y„z„z„z…y‡x‡xˆz†}…„„~ƒ~„|…w…s‡t‡v…wƒ{€~~~~‚}‚~‚zƒv‚…€„‚‚ƒƒ‚ƒ~†v‰|„‡~‚|~|~{‚{„|ƒ|†y†y†|‰}‰{€‚u†w…y„x…y…{„{„y…x‡x†y‡|‡|…}ƒzƒy„y„v‚qpqqn~r}t~sx€‚„…††Š†Œ†‡‡‡‘ƒ€‚‚‚‚ƒ„‚‚~†x†‚‡|‡}„~…}…xƒ{„{†w„z€€‡~ˆ{‚€y…y„y„zƒ|ƒ}ƒ|ƒ{„{ˆ|‡z†x†tƒoi}o}p|s|szszq{o{j|i|h}i}}ƒ‰š‰¡ˆ¡‰ŸŠœŠœŠšŠš‚€ƒ„€…€„€„„ƒ„‚„„ƒƒ‚ƒ~ƒ‚€ˆ|Š|…ƒ„‡x‡x‡x‡w„|}ƒ…ˆ{‚~~„€ƒ‚€ƒ‚€‚‚„ƒ‚„„}„y…uvyzzy€zy~x~x~yx€u€‚‡„…€~‚~‡{Š{‰zˆzˆ~‡‡‡ˆ~‰}‰|ˆ}‰}ˆ}ˆ|ˆ|ˆ}‡~…„‡{Š{„‚ƒ€ˆzŠzˆzˆz…}‡„‰{…}ƒ€„€„€ƒƒ€€ƒ„€„€…€†€…€…ƒƒ‰…€ƒ€„€ƒ‚‚‚ƒƒ‚‚‚†‰†}†|‡}†}„z‡zˆz…x‰{‰}ˆ~ˆˆˆ‰}Š}Š|Š|Š}‰}ˆ}‡}…€……|…|…~†~ˆ{‡|‡}†}ƒ}†„€Š{ˆ|„‚ƒ€„€……„€ƒ€‚‚‚ƒƒ€…†‡†……€‚ƒ„‡€‡‚€ƒ‚‡ˆŠz‹{‰€‡†{‰z‡z„z‰{‰{‰|ˆ~‡‡ˆ‰}‰}‰|Š}Š}ˆ~…€†‰‰}ˆ}ˆ}‰~‰}ˆ~ˆ‡}ˆ~‡€ˆŠ|Ž|Œ}„„‚ƒ€ƒƒ€ƒƒ€ƒ€ƒ€€€„†€ˆˆ~‡…„‚‚‰~ ™„ˆ‡‡ŠxŠz…€†Šz‹zŠ{‡|‰}‰{‰|Š|Š~ˆ~†‡€ˆ‰~‰~Š}‰}‡~‰}|{Ž}|‹|Œ|‹|‹|‹}‹|‹||}|}†„€…„€ƒ€‚ƒ€ƒ€‚€€‚€‚€€€ƒ…€‡‡~‰~…Š{´|³ƒ–ˆŒ‰{‰z‡~ˆ~‰{‡~…€†ŠŠ}‰}‰}Š}‰}†€‡€‡‡ˆ‰~‰}ˆ~‹{Œ€‰ƒ‹‹}Š}Š}‰}‰~ˆ~‰}‰}Š}‰~„‡ˆ…ˆ~‡~ˆ~ˆ†ƒ€‚€‚‚‚€€€€€€‚„€‡ˆ€ƒ„”ˆš‰•‰”ˆ•‡–ˆ˜ˆ™‡š‡›ˆ€‰~‰}‰}Š}Š}‰‡‡€‡€‡€ˆ‰~ˆ}ˆ}†„„‚ˆ‡~ˆ~ˆ†€†‡~†~‡~„{‰ƒ…‡†~‰}Š}‰~‡„€€‚‚‚‚€„€†††œ†²‡¸…»†´‹°‰·…»„¼„¼ƒˆˆ~Š}‹}Š}‹~‰~†€†€…†€ˆ~ˆ~†„„‚‚ƒ‚‚€€„‚„ƒ„‚‚~†}…~…}‰|Š|‹|Œ{Œ{Œz‹{‰|‡~„€ƒ€‚‚ƒƒ‚‚‚‚‚‚€‚ƒ……„§|ËzÎvÐwÒxÏwÐuÓtÓtÔ€ƒ†‡‰Š}Š}‹~‹}‰~‡~†€…†ˆ…€„€„‚ƒƒƒƒ‚€‚ƒƒ…„ƒƒ†~Žz’y“x•v•w•x•x”x•x•x•xy‡}†€ƒ€‚‚ƒ€‚€‚ƒƒ‚‚‚€€…Ž…™™|®x·uÃsÆtÉsÉtÈtÆ}„ƒƒ‡€‰~‰}Š}‹}‹~‰~‡†…€†ƒ€„€†€ˆ~ˆ†€ƒ€‚€‚‚‚ƒˆ}Œ|{Š|Š}‹}‹€‹‰~†~†~†}Š|Œ|ˆ~‡„€ƒ€‚‚€€‚‚‚‚‚€‚’€ª„{ƒ…ˆ~‹Š€‡|‡|„‚†€ˆˆ~Š}Š}‹}‹|Š}‡……€‚€ƒ€…€‡}†|„‚€€‚Š|„|||y}z}Šz‰{‚|y}z}y}‚~‹{Š|‰}ˆ†€ƒ€€€‚‚‚‚‚€“xÂx½z§}•}’{¡}€ƒƒ}’}‰~‚ƒ‡€ˆ‰~Š}Š}‹}‹}‰~†„€€‚€ƒ‚ƒ‚ƒ€‰ƒŠ†‰ƒ‰„ƒŠ|…|~|€}…|‹x‹x„{|}|€}€ƒ~‰{‹|‰}ˆ~‰~ˆ~†€ƒ€€€‚‚‚~€‘uÄqÑqÑuÊuÇtÉx¿}ŸŒ{„~ƒ}ƒ}‚„ˆ€ˆ‰~Š}‹}‹}‹}‰~…€€€‚‚ƒƒƒ€ƒƒƒ…„„ƒ‡‰}‡|Š~‰‰~Š|‹x‹vŠxˆ}‰‰‰|Š{‹|Š}‰}ˆ~‰~ˆ~‡~ƒ‚‚‚‚€uÂqÎrÎsÌu¿y±˜}{Œ}Œv„~„‚|ƒ‚†‚‰€‰~‰}Š}‹}‹}‹}‡‚€ƒ€‚‚‚‚‚€ƒ€…€ˆ}‡}†|‰|‰}‰|‰{Š{ŒzŒz‰~€ƒ…‰{‰|Š|Š|‰~‰~‰}ˆ~‰~‡~…~ƒ€‚€€‡w¾qÏrÑsËz¡…†~€~‚‚oz‚€‚~‚}‚ƒ‚‡€‰~ˆ}‰}‹}‹}‹}‰‚‚€ƒ€ƒ‚€ƒ€ƒ†~‡~Š|‡}„|…}†}…}…}†|ˆ|‡|ƒ{„€‚…~…~‰|Š|‡~‰~‰~‰}‰}ˆ~ˆ}‡~„‚‚ƒ{°wÃwµw¸}†‚‚€‡‡‰h{m}{‚}z‹~‚ƒ‚ˆ€‰~‰}Š}Š}‹}Š~ƒ€„‡€„€ƒ€ƒ€ƒ€‚€…Œ{zŒy‹|Š|Š{Š{Š|Š{Š{‹{‰|Š{{Žyx‹|„‡~‰‰|‰|ˆ}ˆ}ˆ~‡~„ƒ€‚‚‚€Šˆ~‚€~~~‚j}i{q{‡}‡~‚ƒ…ˆ€‰Š~Š}Š}ˆ~„ƒƒƒ‚ƒ‚…Žy•w–v•w•v•w•w–w•w•v–v–w”v–v–u–uŒ{…†ˆ‰‰}‰~‰~‰~‰~ˆ~…ƒ€‚‚€€‚€€€‚ƒ‚‚kk}l}x€‚~ƒ}ƒƒˆ€Š~‰~Š~Š}ˆ~‡…€…€„€„„…€…€ƒ†Ž{’y“x’v‘v’x’x’w’w’w’w“x’x’x‘wxŒz‡‡†€‡€‰‰~ˆ~ˆ~ˆ~‰~Š~ˆƒ‚ƒ€ƒ€„€„€ƒƒƒ€ƒ€nmmt‚ƒ‚}‚}ƒ„‰Š~Š~Š~‰~‰~‰}‰~‡€…€„…€‡€„€ˆ|Œ{…€†zxxŽyŽxyx‘yyzzz‹yŒz‹{‹{‹{Œ|Œ|‹{‹|‰~ˆ~‰}‹~Š~ƒ€€…‡~‡~‡†~‡~†‡~oƒm€i|m€x‚~ƒ|ƒ€‚†Š~Š~Š~Š}Š}Š}Š}Š~‡€……€†€…‡|‡}}„|…„€Œ{‹|‹|Š{Š|{z‘y’y’y‘x’y”y•y•y”y”y”y”y“zŒ}ˆˆ‡~ˆ„€€‚ƒƒƒƒ€ƒ€ƒ€ƒkl~hzi|k}z€€‚}‚}‚ƒ€‰~Š~Š~Š}Š}‹}‹|‹|‰~†€…€†€…€……„}„ƒ‡~‡…€…„€‹|‘z“z’zzzŽ{Ž|||||{Ž{{Œ|ˆ~ˆ‡……€‚‚‚‚‚‚ƒƒ‚‚nm~izhyezs€ƒ~•|ˆ‚†Š~Š~Š~Š~Š}‹}‹|Š}ˆ~†€†€„€………€ƒ‚ƒ€ƒ‚„…„ƒ‰}Œ|Œ|Š|Š|Š|‰|‡}Š|Š|Š{Š{Š{‹{‹{Š{ˆ}‰ˆ‡†………ƒ‚‚€‚€‚l€j~gyfxgyl}{„€‰~…}‚€‡ŠŠ~Š}Š}Š}‹}‹|Š}ˆ†€„€„€„†}„~ƒ€ƒ€‚‚„…ƒƒˆ}‰|Š|‰}Š|Š{‰{‡|Š{‹{‹z‹{‹{‹z‹zŠ{ˆ}ˆ~‰~‰~ˆ~ˆ€ˆ‡‡…€‚€€‚€‚f€g~gzgxhxi{p}€‚~‚}ƒ‚‰Š~Š}Š}Š}‹}‹|‹|Š}‡…€‚€ƒ…„~‚‚€ƒ€‚ƒ…€ˆ}‹{‰|‡€‰}Šz‰zŠ{Š{‹z‹z‰|‰|Š{‹zŠ{ˆ}ˆ~‰~ˆ~‰~ˆˆˆ‰ˆ†€ƒ€‚€‚hh~gzfxgwhxhzu€ƒ€‚}‚ˆŠ~Š}Š}‹}‹}Š|Œ|Š|‰~…€€‚€‚€ƒƒ€ƒ€ƒ€‚‚‚‡€ˆ}Œ{‰}‚„€Š{ŠzŠzŠ{Šzˆ{‡|‡{ˆz‰zŠ{ˆ}ˆ}ˆ~…€‡‰ˆ~ˆ~‰~‰~ˆ~‡ƒ‚‚jh~gyewgyizhzr€ƒ‚~‚…€Š~‹|Š}Š}Š}Š|‹|‹|Š}†€ƒ€‚€‚‚€ƒ‚ƒ„„ƒ‡€‡}‰}ˆƒ…‰{Š{Š{Š{ˆ{ˆ{†{†{†z†z‰{‡}‡}†~ƒ…€ˆˆ~ˆ}ˆ~ˆ~ˆ~‰~‡€„€‚‚jh~g{exi{j{h{n~}‚€‚}‚€ˆŒ|Œ|‹}Š}‹|Š|‹|‹}ˆƒ€€‚‚€ƒ‚ƒ€ƒ„€‡†}‡~‡}ˆ|ˆ|ˆ{ˆ|ˆ|ˆ|‡|ˆ|‰}ˆ|ˆ}ˆ}ˆ~ˆ~‡„€„‡‰‰‰~‰~‰~ˆ~ˆ~ˆ~‡ƒ€jj~j|h|i}h~h}lu€‚€‚~‚ƒŠ~Œ}‹}Š}Š}‹|Œ||Šƒ€€ƒƒ€‚€‚€„ˆ~Š}‰}Š}‹|Œ|zzŒ|ŒzyŽzz‘z‘y‘y‘yyŽ{Ž{‡†€‰~‰~‰~‰~‰~‰~‰~ˆ~ˆ}ˆ~‡mƒl‚jjn„k„hƒj‚q‚}‚‚‚…~„‚‡€Š~Š~Š~Š~‹}‹}Œ|Š~ƒ€€ƒ€„€††…€„ˆ~Ž{y‘y“x”w”v•v•v–v–u—u˜u—u—u˜t˜t˜t˜u—vŽz‡‰ŠŠ~ˆ~‰‰‰~ˆˆ‰~‰lˆm‰n‰oˆq‡p†m…p…s…|ƒ€ƒ~™}Ž~‚‰~‰~‰}‰~‹}Š}‰~‰~ƒ€‚‚€‚€‚ƒ€ˆ}x”w–w˜v˜v–w•v–v•w•x•w”v”x“x“y”x•w•w–w’w‰}ˆˆ‰€‰Š‰~‰~‰~‰~‰~ˆ~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÉÂÆÃÌÏÍÎÏÏÏÏÍÍÍÎÍÍÍÍÌËËËËÌÌËËËËÌÌËËËÌÌÍÍÌǽ²«¢ ‘€{pglwjihmlrcgbV]a[\c\T[a]_VPOSYW^e`dSTWVTVTTYTPV^][XTLC<9<:421@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÅÁÉÍÍÎÎÎÎÎÍÍÍÍÍÌÌÌËËËËËÌÌËËËËÌËËËËÌÌÎÏÎƳœ¥—vx€q]_^p{l[_mkh[YZ\_XVTO^g_[ROOPXV\ffgOT\`YQPLQQX^a[UPMI@?66521/86ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÇËÊËÌËÌÍÍÍÍÌÌÌÌÌËËÌËÊËËÌÌÌËËËÌÌÍÍÍÍÎÍÌÀ£‰ˆomkmkjkmu}x]_`edYZ[Z[\QSV\bYZYVSQTRVYdcQQX[TLNMRQ\b_aXPFA?;751110/1ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÂÅÁÊÌÊÊËÉÉÊÊÊÊÉÉÊÊÉÉÉÊÊÊÊËËÌÌËËËÌÌÍÍÍÌÌÌÍË´—‘xkpwzs{fcb\eY_cbZZWW`WRXdcQPSVWSNKVOWgQNTXYPLRPPW`^`STTNF?;74220--ÍÍÌÌÌÌÌÌÍÌËÌÌÍÎÈÀÁÀËÎÍÍÍÌÌÌÌÌËÊÊËÊÊÉÉÉÉÊÉÉÉÉÉÊÉÈÉÆÈÉÉÊËÊÊͽ‘‚€rak|mbg`_`VibYWTSN]_]_qlYOOT\TMHSRQYTYZWUNOQUZ_WVYPPYNG=>@<52/,,ËËÌËÌÌÌÌÍÍÌÍÍÍÎƸ»¹ÉÏÎÎÎÍÍÎÏÎÍÎÍÎÍÍÌÌÌÌÌËÊÊËËËËÊÊÆÉÊÊËÌËÇÅâŠyyog_jomb``\X\`URZRRPZefegcgUPVZRPRTRQWRY\`URTQX[]XXSSOQOI=?=6651.2ÌÌÌÌÎÍÍÍÍÍÎÍÍÍÎúżÇÏÍÎÎÍÍÎÎÎÎÎÍÎÍÍÍÎÍÌÌËÉÉÌÍÎÌÊÇÅÉÊËÍÎÌÆÃÀ²™y{ocVRb]Z\_]\a]VTQLMUY_ach^[SOOPNKTQRO^LTUZ[W[Y^YZVQQSNQKFC?B:521.3ÏÎÍÍÎÎÍÍÍÍÎÍÍÍÎþÌÁÅÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌËÉÉÉËÈÄÂÃÁÆÆÈËÌÉÁ½»¨ŒzoTRRQMTWlmc`a[YMC@MWP[`a]VSQJLKHKHPKXNQTUVVZZZ[^XRPSMVMCHB@>3/.--ÏÎÍÌÍÍÍÍÍÎÍÍÍÍÍþËÂÃÌÌÌÌÌÌÌÌÌÍÍÎÍÍÍÍÍÍÍËÊÈÇÅÈÀ½¹Á½Á½ÄÊÈû®¢¥Š}xt]UYXWfg^mee\VUQQUScTOZ]ROVWQKIFNOQYWQPWYUTWWTNPZUQUOWW?5622/.-,-ÎÎÑÔÑÎÌÌÌÉÈÉÉÊ˾ÈÀÀÌÍÍÌÍÍÎÌÌÍÍÍÍÌÌÍÍÍÎËÄÂÁ¾Âº¹¬¿·¿¶½Æ¿¼´¦‡…~p‡vb\_[]ejUn\SZTNST]\VOPSWRQRUXKKJSSQZg\NVWVVUUZPK]XX\\ME=653/--,,-ÍÚéïëãÓÊÉÁ¼½ÀÄÇÀ¾ÆÀ¿ÊËËÌÌÌÍÌÌÌÌÌÌÌÌÌÌÌÌËÄÀº´½¸°¡º±¾´³¾³º³™„{|lebabaT[b[UeZRZ]PSSV[TUTNMMKKMSXUPSOQPb[MX[XRMOXWOXYPLKA8<<:61--,,.ÚîؾÈæè̾¶°¯µ¸¿ÀÂÉÅÁÉËËËËÊÊÉÊËÊÊÊËÊÈÇÇÃÃÀ²«¨¬¯¥œ©«·¯±µªª ‚tvskkQ_e[WcWQ[g\X^XKPRS[``TQLLKMRLUVIOTNQ\]Xa]TOKLYXQWPQVJBB=;;961/.--îÐiq§èØ´¯­­³±¾ÃÆËÈÃÊÍÌÌËËÊÅÉÌËËÊÉÉÇÂý¼²¡šš££˜• ª«¬¬§£˜„slifjm[UYWb_VW^[Z_VSWTSUU`WQTNNSURRTVPPWPRW`Y]WWZUZ^SQZVSP@?F;8776520//èrsp‘Î絬ª®°²ÀÀÅÊÇÁÊÍÍÍËËžÈÌËÊÊƾ¸°±²¸«ž•˜™—‘¡±­¬Ÿ˜˜ŽxieeUf_RLHOX_WRR\e]an^]a\SWNPPOOQVRTRUXR[NN^^]hZa]ge^RPMMJK?<856669ŒIOUOm®çîÎÀàêÅ·Ä÷»¶¾½Êǽ«  –‹œ–š•‰Œ‰Šˆ……‚‚€x~„~|~vxvrqmkfY[caaYRRWW]]aWT]SX]YUQINMNIBCE@?EEDBRGTW[V```\QdaWWWQKHDF975668;>GFsS_V@c”ãáâÝééäæçãäæçêèéìðÅš™”ˆŒ’‘Š‹‹†Œ‡‹ˆ‚‚ƒ{~‹€ywuqsqnhbWZda[QTNP]ebbVOSQe^aWKPQOJHCFQHBJJLFPQ\\YMZdddT`dVOV]PD?@<:8788<@KBQmqG:MwÃsËñìëííìííììéæãä麌‹Šƒ‡ŠŽŠ}‚ˆ‚‹•††z{…ˆ€}Š‚z|wuttwtcVQZZZVYUNZX[_fdbjplP\]SMQQFDENVQQOOOHJWZ\YNO^Z_\]heV^R@:9<<;:::;>==>>889:=<@KOW`ZSWZRWYNLE<;997673ßN38:;><78>DHI[hXTYW[[TGCA:7788785ŒáP09<>CFFCQîïðá‡QIA‘ÓÆÁ¸¾ÁÄÆÇÈÇÇÈÆÃÃÍÀµŒ}|~‚ ¢¤¤ –‡{ywsqqssw‡Ž‘“xffcc[fnbYMPZYUQTZW`YVZdYOIBA@ABA?>CHC>J[jj]LQeQG@:<:7:::9<6ÛW3=<>CIHBVòëÛÈzOIEqºÑØÙÛÜÞßàáàÞÞÞÛÙÜÀ{€zŽ›sjd\URV_j’¤‡db]YWUTSLWxkjf`\]Z]ZNOVTMNT^[YX[][TTLF?AGIB>CRPISZ]hŠlPUXKB;8869?AA>?:~äg6?9;CFKW^¡akwLBMr¿×ÜççèëíìéêîìèéçÞÔz{‡cFMS[ep`DCILD<;>fsqmiY@TlrxfWTURRPOTXPOY[ZVZb\YOSTPHEKQI<>NUNekgr‡j[\RIB>;:=DKHC>>9ƒðp6<5=GHW`bo|modIHKn½ÜãêéëÒ³²ÖŬ¿èæáÝغz|~|}BPs„‘™ŸŒSI8019@DLKFIMRR@\em_SV]YW[TPSPSQZ\Zd^UVQOJIHCGKFDGNNTikkvtcajhWQLKPSRTQGEJ8…÷z488KUXeig‚†~lPHF>lºáåêèèØÃÐàÖÅÉçåæáàÀ{|}iEZœ®±³´±£˜€eipTPNG3233PZH]ibTNWZ`[XRMNWTYb^aYPOUQME@=GS[U[fhmc[XY_bdjlkod]hurmhaephšÝ „†Š“––”•–LJKK@445[£çéêëëììëëéåèêèêéí¾z}|ƒS`Eƒ«¤›•€ À„ˆ§[LNLLC55?sF[ba^RWYYTROOMS[ZUXZTMQYSQS[VotakwkZTW[\]`efl~ƒ~€„€}~„Ÿ¡š•”’Œˆ…‚||iilpqE+1Pæðïîîîïîíìììììíïî±tx{~Oq7;FB=9FJVefhaPLH`p`;5;t\O_a]YZUURUZ\TRYYRNOV_[YZcu€„‹„dcqjTRY[Z[\eiku|y{tt|…š‘elgc_[YYXXWVTTTyxwvwcQTc‚Å×ÚÛÛÛÚÛÛÚØØÙÛÛÜÖªˆ€€q\o257::9JNLKKKJLJE`{bB6€¥}IlpllmjoxˆŒ†…ˆ‹…†“²—}€}y}}nammcX\_^\[`gfisgd`cct}|’mFPTVY[^P@<;<<;:qoonnquwxy|‚†‡…†ˆ‰‰†„…„„„‚†–’‰\s_04@P‡– UB7224M=1477McVIEMW[wvusnkiiggilnnnooqqrqrpptunmssir†G[Pjw~TGGHHIIJFGS‚—wE<<4T›Ca_??B_ebbaaccehlortvwwsqnkklopomlq~‘®Å¿¤†qhggeed`o£[W:W;5998FVC65KuuuuutqkhfdfgiiklllmmnmmnD6;\„KA?92335lopqssrqpkgca`acdefgijjkkmid„WBZ=;:998986677666776777789:<>E=bnhifddgjmmkgca`a`^]^bdiloqrstttpkfegjkllifRR^osŒk@@EIK[liliklnorrssrpmhdbaabbcdeghijkn¨‹KE8247655444455965444345554?WaIPijmmmkhecehmonlifefedb`_aeiloorrstrpjdceikeRNLEHkmPIA;;CKIGHLMSXXYfiklnqrssrrpmhebabbbbdfhhijiŽ„Ze€jA3444334346E9544433451L™¢™U>cilmmmmjfdbdhlmnlifededa__ceilnoprrssqkecgjjj›Zw}yomcQOZceeeeefff`dhjlmopqrrqnmidaa```adfhhhltl`”¤¹˜@122223457445543210/DŠ©œn=[ekllklljhgcccfillgdbbba`^\^adikmopqsrrqkeein£¥qrel`]^YUhsjec`____]adfiklnpqqpopmgca`__`adfghno@Rœ¦¯£‘E24543239JC646889EO¥½©Áœ_:Scijjjjjkkkigcbbeghgfc`__^\[\^_bdgkmnoprqmgfl“ŸtcY^ZXWVV_aZWVUUUVV„[behjkmoqqpppolgca``_`bdfgdj97ŠÇ»Ïê®|dOT[p`E¬ƒ@cl`WY¯ïíÉÓJ>Zjqssrrqpnkjgedbbbcfgeb`_^\\]][[\^adhjlnnonl[ƒi^TUWWWWVVVVVVVVUVVÆ{\dgijkmorspppokfca`_`abdfWK71[ÇÖçíï°…\\\ƒsÑ®Xocb\l©ÊéßÎÄ®œ¡¥§ª«ª©ªª©¦¢Ÿ“}edb`_adedb`^[\]][ZZZZ\acfiklmnVk]XPRVWWYYXXWWWWXVWWÊÂr\dffhklnpqpoookgca___`ad\:2.6}™—®Í®­mdkaT™÷ãmflup“¬ª¬¢Ÿ™˜˜–‘ŽŽŽŒŽ’—š›€fgc``adfeca__^^__]\ZZ]_beijlmR_t_`igY\]Y\]][YZ[\ZZ[¾Î±^[acfijkmrqooqolgb____`b\9/--035GHNvX[jom•ß͈phbx§‚zxspmjheca`ba`aaaabehk‚rjifcaacggfecaaaaa`_\\^adgijjOScY^´µ•”ÈŠLOQWdXXY[i^®ÂΠZ\aegijlmoopqpolhb``^_aU2-.038;AGRYf{¡´ÀÙÚý°…\behiigjpz©‚}xtrpoomelzkkkiebadgijhfeb`a`a_]]]^bcgfILUTPºÉÝÖîç†DBA‰†?;g’„}¶ÅÏŽW^cfgijkmoppponlga`_^aW2-.368=AGQdxºîìîîììíðñî¨lgz‚„„€ƒum‰kgˆŒ‰‡‡…ƒzqipikkjhdbbehjkhfca`____]\^_cbDFJQD•ßÏÑØææuA:^Çg;žÖÌP‘¼ÉÉtXacghjjlnopoqomkeb`_`Z4-./39@KYo­°ïçìììëëìïÚˆX£³¶½ÃÇʬQB;:CŠÓÔÒËËÌÅpRokjjkkhebbadgihgda_^^]]]]]^^BADLMVq~­©Ôû²FB?žÎ[Ò»Yz°ÀÍ´c[bfgjjkmmoopomljea_`\7-./169@Pcx—ªõòòñðïïíë³k_ÕÞÞÝÝÝâ®Ti^]N‚àßÝÕÔÚãši[_ljjjjkjhdb`adhigeca^^^^][\[B>CHMPRW_l»ÉlaS_ÚÄ´ WZ~¹ÃÍZ_deghjlmnnoommlicaa]70//7;cQ15;Y‰‡„{l‡–ZhmÚàÞÞÞÞâ™HZX\YˆÝàßÛÚÞåRpSkjjjjjkihfcb`cegihfb_^]\[]\C>CGKOSWX]bb_hquqžìéèêPJP¼ÁɉX]bcehijlmnnmmlkhca]76//8Jºò’_`j‰lkpsuwz’RjW™¤¦«°³®aJTeaWiÃÙÑƹ¦’\>sRfihhiijkkjgda``cfiigd_]\\]]F=BGJNRUX`defhlpz„ ¼ÑÅ]SMW›»ÄÂqT]_adfgilmnmmmlkgc^79//0:†¯|cn}‰ˆ‹“——–˜¤RlG99:<>=;9::98898HILORV^iuvxwŸæíèèéëlbQLKy¸ÀЩ_]adefhijlmmnmllib4:2-,/137=?>?ABDHXeHr Y`Y=8779867544:?3455;LP<6<:CN”‘QfMGC;EVP@==64443562R–“J7755cR^geehffffghijihfc`^_bghiigM18ILNOQW_gfjok çìéçèæjmu\OLZŸ½ÊË}Zacffghiklmmlkka285-8;.+**))****177{ž}LiIPQJMPNJKPI723455@^–XMPC5TSWh\^dfgffggffghhfc`^_acgikM.9IMQQSY`f[I@ABVcd`\_qokeXOKg¯ÁÎÂr]befghhikllmkbW06628PJA9573**+?Yac„•lFXLOIEEHGGGDKA977?AKSeuSIIMCGHUb]˜€g^eeeffeefhigda_^_afjK*9GIM`’yc\JJ11234FUFXqklneSTf¾ÇÔ¸g^cdfghiijjjf[Q1655,8@A@52/+-/Nv¥‘€hD8A@CRWUJFACXID;9DPPONF@=9=<7:TcQ“oOXceeeedefghhgea_^^`hL'8E@CŽé‹bTQNLUSQNV[OOkmnmhXOQU–ÂÇÕ¤]_abdefggghhaS8512/.+**)+**--=duŽŠwmRGFGMSQLIGEPSKJIJMSWYXPORQSTX[]ommoo^bdedccdeffgggca_^^aJ$7C>Ar¤r^aeW97659??>?nrponcRLK\«ÄÌÒ‰Y_acefeeeffb[K6/..,,+++,.--.4@Ge{se_^\[ZYZ\\\[[\\]]\[[[\\\[[[[]_`gaJ‰“cabddccbcdeeegfda_^`G#4=;=FSW]fnnaUSUZ\^`bnrqrtvfSNIu¿ÇÒÃk]abdefeeedb_WLGEEHJJKKKJKLMNMMEbdp_ZYYYXXXXXYXXXYXYYZYYYYYXXXXY[\cCG_`bccdcccbccdeededca_`F"2987,++--+,,,*(((('&mebceac]RMJj¸ÃÏÍvY_efdeeeedec`_^]\ZYXWWXX[^_agdbqy\TWVWWWWWWWWXXWWWWVVWWXXWWWVUTV[ZYcb_b``abbbcabbbbccbVNK;#33@gH/**.,)'('%%%&(+jgggrmhaRKLNŒÁÆÕ±^^cdccdffffec`ab`_\[YXWXZ^adnb‚vyjcbYVWWWWXWWXXYXWWWUVVVUTTSR[o{dkoloonjihfb__jfbbb_\YQLK="13/02:;:::759::999:===<;98876566786667787788?[aaa```^]\[[[[[[ZXXZ^cffec_\YdikhmoklosqkRJMM\«ÀÈÔ]bddfghhijiijjihgd`]\\^TEJLIMPV[c}ÁÑjQNMNR[ÀËŒE:98899::;;;<=95::;;855666667>AAYaaaaaba````__`a`^[Z[`eijjiey~pkkighimiaOJMLN–¾ÀÔ©Z\_bccdffhhhiiihhea^]]U?DHDLTYbj…ŽECBGHHN™±X<;:9:;6Vˆ^9=B:83234344339C=Obaaabbabbb`aabbba^[Y[aeikljpuqttlmglmolkeXMKHf¸¾ÉÒ{X_bcceefggghhihggd`]]T;AGCIQYcn…ÀÁ^u¥±´¸Â®’B?=2478787::9787658:52278743224@=E^aaabbbbbbaabccdb`^[Z]aejlmmurvulnihkllntiPJKMšÄÆÖ¶cbdefgeeggghhihggeb_^S8@IDFMU^k}¶»ZòòñðñËt:A9139<9937:7322337844@YIG?7432;@=Tbaaaaaaaaaaaaabba`^\Z\`fjmlunnlkljhjimmnhRJJKl¾ÆÏÕ†]cdfggfgghhhggggfd`^T4=IFGMU^jx«ÃS€ëíéåä¹a8@5126Zg<124211001347;KOHKJF>527B@>=:CdifJAC;/.../2HGˆÓЃM\zc9@DBbY=>BEdK=BB@A@A>1/0/02>HGOBXhaVSI:15=7@22102Aaa`bbbabaaaabcb`^[Zpwtnjjknnijlvste`ZLKMQÉÉÑÉtcffghggfefgffffecV*28CGMh}pdo€I;PQLMNG;=OXiG?@@@??>=9776668=A>9CKH@BBB9:<7?BG:ES`a``abaaa`aaaaba`_][hjkhb`chhq{xrtnjndRJMQ_¶ÈÈÖ¨dffhighgefgffgfcZK(34<=?7555543688=JJHD=9?@>=<<<==>>>>>><7J]1Nc_abbaaba`````a``a`````{‚€xv{whhowvxzre]RJKKJU¦ÇÅ×»e`acdddcdffc`_]VL+102;.//3>GLHFAc³»nSa:>?====?ABCDEHQRPPSTSUVVVW\^]^ZXfad†J@[a^_`__aa`aba`a`aa```aaƒ{uxsriktmigniaa`TJKK]c‚¾ÃËØŽ\aaccdeddddddd_O.0/01-323799::Cj’ªN_Šb@BPVY^bghkllmnpooonmmmljjkkkmlnuii‚~NQ]`acbaccbaaaaabba``aaa€~xwxsnqa_gpxrikeYKKJU]^žÂÃÖ¿f^`bbcedddddca^Q70,-+-%#$$%%%$0Qy¢FhŒd^sppnmifdc_^\\[[YWVVVWVUVVVXY\`Z]ftx\Yaaeggedcccaabcba``aaa‡{†z†z†z†z‡z‡z‡z†{…z†z‡{‡{†z†z†z‡z‡y‡y‡yˆyˆyˆy‡yˆyˆy‡y‡z…|„‚~‚|„xƒuƒtƒt„t†x†y‡x‡x‡z†z†yˆ{‡{†zˆw‡u†x†y‡z‡{†{…z…y†z†{„~ƒ€‚ƒ€‚€…y†z…z…y†y†z†y†z†z…z†z†z†y…y…y…y†y†x†y†y‡y†y†y†x†y†y†y…y†{‚~{‚yƒuƒuƒuƒv„u…v†y†x…x…y…w†z‡{†z…y…w†t…v…v…y†z†z†x†w†y†|ƒ~‚€‚€€€…z…z…z…z…y†z†z†z†z†z…z†y…y…y…y†y†y†y†y†y…y…y†y†z…z…z…z…z…z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx„y†y‡w‡x†y…{ƒ}‚~‚€‚€€€…z…z…z…z†z†z…z…z†z†z…z†z†z…y…y…y…z…z…z…z…z„z…z…{„{…{…{…z„{‚~€€‚z…y„y„x„w…y…|„{ƒy„x†x‡z†{…{„zƒyƒxƒv„v„x…y‡y‡y‡z‡z…{‚~ƒ~‚‚€€€€†x…|…|…{…z„z…{…{†z…z…z†z†z…y…y…y…z†y…y…z„{ƒ{ƒ}ƒ~ƒ}„|„|„|ƒ}€‚|„y„x„w„y…z…|…z„z…z‡{‡{†{…{…z„y„vƒv„x…x†x‡y‡z†z…z„|‚~‚€‚€€€€„{‚‚ƒƒ~„|ƒ}ƒ~…|…z…y…z†z…z…z…z…z…z…z…z…{ƒ}‚}‚~‚‚}‚}‚ƒ€‚~ƒ|„z…y„w„y…z…{‡z†z†{†}†|†{…z…y…y„w„v…x†z‡{†z†z†xƒ{ƒ~‚‚€‚€€€‚ƒƒ„†‚€€‚ƒ~„|…{…z…z…z…z„|…z†y†{„|„|…}‚€€€€€€€€€€€€‚„}…~ƒ~„~„{…z…z„w„w„w„y…z†z†{†|„|…{†z…z…x…w„w…w†x†x†y†z‡x„{ƒ~‚~‚‚€€€‡‡€†~‚€‚ƒ~„}…|†{†z…z…z‚}„|„{„‚€‚€ƒ~ƒ}‚~‚€€‚~ƒ}…{…|…~…|„z…y…x…w…x„w„v„y…{†|…}„|…|…{…y„x…y…x…w†u†u†x…y…y„|ƒ}~€€„}„}…‚~€€€€‚€ƒ€„~…~†|†{„}‚€ƒ€}…z†z…{…{„{„|ƒ|ƒ}„}ƒ}„|…|†z†{†|…z…z…y…x…x…zƒx„x…z…z…|…|„}„}„|„z„w„y„y†v†u‡u†w…w„xƒ|‚‚€€‚€‚‚{ƒ~…}€€~€~€€‚~ƒƒ„ƒ|…y‡x‰wˆw‡x†x„{„{„z„{„{…y‡y‡x†y†{†y†z…z…y…x…y…y…z…{„z„|…}„~„}ƒ|ƒzƒz„y†x†w†vˆu†v…uƒw|~‚€€€‚}‚†}‡‰|ƒ~€€€€‚~‚}„{†z‡y†y‡y‡x†w‡w†w…z„z„x„y„y…x‡x†x†y…{†z…{…{…y…v…w…x…w…z…{…|…}…~ƒ}ƒ|ƒzƒz„x†x…z†w‰v‡v…v‚v€|~€~‚~ƒyz‘x‰|€‚‚€‚‚ƒ‚}…{†z‡x‡z‡y…w†w†w†w…x…x„u…v‡v‡v‡uˆwˆz†{…|…z…z…y„u…u…v…w…z…|…{…}„~„}„{ƒyƒx…w†w†y†y†w…x„yƒ|~€€~‚~ƒŒ~Šˆƒ‰~…‡†~†~††€„z‡x‡v‡x‡x†v†w†v†u…u†t†s†tˆvˆuˆuˆw‰{†|…|„z„y„x„{„{„z†y†y‡{†|†~„~„}„{„y„x†w†wˆw‡w„w‚z‚|‚€‚ƒˆ‚}ƒ|„‚„€‡~‰ƒƒ€‡|‡{ˆzˆ{ˆ|Š|„|‡yˆu‡w‡x‡x†y…z…z„x„x…w…w†x‡u‡uˆwˆz†y…{…yƒy„z„|…|†z‡{ˆz‰{‡}…~„~„~„}ƒ{„y‡x‡y‡z‡zƒ{}‚€‚‚‰€‚}ƒ{…€…ˆˆ‚…€ƒƒ…~………€„€…„€~„x‡vˆ{„„‰‹~Œ~Œ~Œ~Ž~Œ~Œ„‚v†v‡y…w„z„yƒy„{„z†y†y‡yˆ{ˆ}†~…„ƒ‚~ƒz„w†wˆy‡z†|ƒ~ƒ~ƒ~ƒ€‚|„y„ˆ‡€„‚‚‚‚€€€€€€ƒvˆv‡†|Ž|‹}‹~‰ˆ‰‹}Œ}|}~ƒt‡x…xƒy„y„z„{„z…y‡x‡xˆz†}…~„„~ƒ~„}…w…tˆuˆv…wƒ{~}}~~‚}ƒ}ƒ‚~ƒx…qƒ…„‚‚ƒƒ‚‚…wˆw†‡€†|€|~{|„}„}…{†z†|ˆ~Š|„€v†w…y„x…y…{„{„y…x‡x†y‡|‡|…}„zƒz„y„v‚qp‚qqo~s}t~ssy€€‚‚ƒ‚ƒ‚„…„‚€‚‚‚‚€€‚‚ƒƒ„~ƒ~…x‡{…†~†|ƒ}‚|„z„zƒ|…x†x‚~†‰{…~{„y„y„zƒ|ƒ}ƒ|„{…{ˆ{‡z†x†tƒpi}o~p|s|szszq{o{j{h|h}h~n~‚‹‰™Š‰ Š ‹Ÿ‹ ‹ ‚‚„€…€„ƒ€‚ƒ‚ƒ‚‚‚ƒ‚‚‚‚‚„}„€‚‡}Š|ˆ…‚‡y‡x†y†v…y‚‚‰|„|ƒ€‚€‚‚€‚€‚€ƒƒ‚„„|„x…tuxyzy€zy~x}w~xx€t€z†…ƒ‹‚Š‡‡‰…Šƒ‰ƒˆ~‡‡‡ˆ~ˆ}‰}ˆ}Š}ˆ}ˆ|ˆ}ˆ}ˆ~…~„€†|Š{…‚„‡zŠy‰zˆy‡|…„‰|†|‚€ƒ€„€„€ƒ€‚€‚€ƒ€„€„€…†€„…‚ƒ€Š„€ƒ€„€ƒ‚‚‚‚„‚ƒ„‡…ƒ„z‚{ƒ{„{†z‰z‡y‰{‰}ˆ~‡ˆˆ‰}Š|Š|Š|Š}‰}‰}ˆ}……†|‡|†~…ˆ{ˆ{‡|‡|…~~†„‰|ˆ|„~‚ƒ€ƒ€…€…€ƒ€ƒ€‚‚‚ƒƒ…†~‡†……€‚ƒ„ˆ€‡‚‚€ƒ€…ˆˆ‹zŠ~‰…|†{ˆ{…z‰{‰{‰|ˆ~‡‡ˆ‰}‰}‰|Š}Š}‰~……‡‡}†}†}‡~‡}‡~‡†~…~„‚„‰}‹|Œ|…€„‚ƒƒ€ƒ€ƒƒ€ƒ€ƒ€€€€„†€ˆˆ~†…ƒƒ‚‚€‰‚ƒ†‰‰}‹y‰}„‚ˆ}‰{Šz‡{‰}‰{‰|Š|‰}ˆ~†‡€ˆ‰~‰~Š}‰~‡†}Ž{|Œ}Œ|Œ|‹|‹}‹}‹|Œ}Œ|Œ|Ž|’zˆ~„„€„€‚€‚ƒ€ƒ€‚€€‚€‚€€€ƒ…€‡ˆ~ˆ~‡€¦z»€›†Ž‰}‰yˆ|†Š{Šyˆ|ˆ|ŠŠ}‰}‰}‰}‰}‡€‡€‡‡ˆ‰~‰}ˆ}Š|Ž}Œ~Œ}Œ|Š}Š|Š|‰}‰~Š}‰}Š}Š}‰€ŒŠ~†ˆ~‡†ƒ€‚€‚‚€€€€€€‚„€‡ˆ~‚•}¦—†—ˆŠ‰„ˆ†‡Š†ˆ†‹……Žˆ€‰~‰}‰|Š}Š|‰~‡‡€†€‡€ˆ‰~ˆ}ˆ}‰„„‰~ˆ~ˆ~ˆ}‡‡‡~‡~ˆ~†~‰€Š‰†~ˆ}ˆ}ˆ~†„€€‚€‚‚‚‚€€€„€‡€…€†‰‡¡Š©‰®ˆ«‹¦Œ¨Š­ˆ¯ˆ¯ƒˆˆ}Š}‹}Š}‹~‰~†€†€…†€ˆ~ˆ}‡…‡ƒ„…€ƒ„€„‚„‚„€ƒ„……ˆ~‡~ˆ}ˆ|‰}‰}ˆ~†„€ƒ€‚‚ƒƒ€‚‚‚‚‚€‚‚€…€†’½Æ~È{ɀÀÄ}ÉzÍzÍ€ƒ†€‡~‰Š}Š}‹}‹}‰~‡~…€…†ˆ~†…€ƒ‚ƒƒƒƒ€€‚‚ƒ„ƒ„ƒƒˆ}Š{ŒzŽyŽyy‘x‘x‘x‘xyŽzˆ~…€ƒ€‚‚ƒ€‚€‚ƒ‚‚‚‚€€„ƒ†—ªzÁvÉrÐqÕrÔrÕqÕqÕ}„ƒƒ‡€‰~‰}Š}‹}‹}‰~‡…€…€†„€„€†€†€†…€ƒƒƒƒ„„†Ž|“z“y“z’z‘{‘}“{’{‘z“z’y‹}ˆ~‡„€ƒ€‚€€€€‚‚‚‚‚€ƒ„‚¡ƒ‰€Š}•{›{¡z¤z¤{ |‡|„‚†€ˆˆ~Š}‹}‹}‹|Š}‡……€ƒ€ƒ€…€‡}‡|…€ƒ€€‚€‡~‰|„|}€‡ˆ€†~}~}~~‚~Š|‰|ˆ}ˆ†€ƒ€€€‚‚‚‚‚|¯{³}•†€}~†„}€€~‚}“}‰~‚ƒ‡€ˆ‰~Š}Š}‹}‹}‰~†…€‚€‚ƒ€ƒ€„€„‚†‡€‡‰€†‰}‡|}|y~y~~}‰y‹x†z{}y~x~~~‡|‹{‰}ˆ~‰~ˆ~†€ƒ€€€‚‚‚€‚z°sÎsÎvÀz°v½x»|¡‡‡{„~„}ƒ}‚„ˆ€ˆ‰~Š}‹}‹}‹}ˆ~…€€‚‚‚ƒƒ„‚…†€†€‡ƒƒŠ}‡|…~ƒ€‚€†~‹yŒv‰x‚|‚ƒ€…~ˆ{‹|Š|‰}ˆ}‰~ˆ~‡~ƒ‚€‚‚‚€‚€z®rÍqÏrÏtËtÄxº|§|–}v„~„~ƒ|ƒ‚†‚‰€‰~‰}Š}‹}‹}‹}‡‚€€ƒ‚‚‚‚‚‚‚‚ƒƒ‡Š}†|Š}‹~Š~Š|‹{ŒyŒxŒ{ˆ€ˆ€Š}Š{‹|Š|‰}‰~‰}ˆ~‰~ˆ~…~ƒ€‚€‚‚z©rÍqÏrÎuÂ{¢ƒŒ‚~}}‚oz‚€‚~‚}‚ƒ‚‡€‰~ˆ}‰}‹}‹}‹}‰~ƒ€‚€‚€ƒ€‚€‚€ƒ€„€†€‰|‰|…|‡|‡|‡|‡|ˆ{‹{‹{ˆ}ƒƒ†}‡|ˆ|‹{‰}‰~‰~‰}‰~ˆ~ˆ}†~ƒ‚} tÌtÉsÍx«€„~ƒ„€ˆ€ˆh{m}|‚}{‹~‚ƒ‚ˆ€‰~‰}Š}‹}‹}Š}„€ƒ€†„‚€ƒ€ƒ€…€†€Š}Š|…|†|†~…}…|…|†}‡}…}€€„†}ˆ|Œ{†~‡~‰~‰~‰~ˆ}ˆ}ˆ~‡~„ƒ€‚€Œ|ª|™{£|€€€€‚ƒ„j}i{r{ˆ}‡~‚ƒ†ˆ€‰~Š~Š}‰}Š}…€‚‚„„‚€ƒƒƒ€Š{‘y’x‘yz‘yz‘zzy‘y‘y‘x’x”w”v‘y„€…€‡ˆ~‰~‰~‰~ˆ}‰~ˆ~…~ƒ€‚‚€€‚€ƒ€‚€‚‚~‚‚kk}k}x€€‚~ƒ}ƒƒˆ€Š~‰}‰}‰}‰}†€ƒ‚‚ƒ‚€ƒ€ƒ‚„€‹{”w•v”v”v•v”v”v•v”v•u•v”w”w•v•u‘x‡‡€‡‡‰‰~ˆ~ˆ~ˆ~‰~‰~‡„‚€‚‚‚‚nmmt‚ƒ‚}‚}ƒ„‰Š}‰}‰~‰~‰~ˆ~‡…€…„…€†€„€…Œ{Ž{Žz‘x‘vwwxx‘w‘w’x‘x’x‘xŽyŒy‰}ˆ~ˆˆˆ€‰~ˆ~ˆ~ˆ~‰~‹~‹~…€‚€‚€†…†††††oƒm€j|n€y‚€~ƒ}ƒ€‚†‰~Š~Š~Š~Š}Š}Š}‰~†€……€†€†€†}‹{ƒ€€‚‡~ŽzyŽyyyŽzyyyzzyzŽyŽyŽyŽyŽzzŽ{‹}ˆ~ˆ~‰~‹~†€‚‚€…††……~……kl~hzi|k}z€€‚}}‚ƒ€‰~Š~Š~Š}Š~Š}Š|Š|ˆ~†…€††…~‡~„{…€ƒˆ}Š|‰|ˆ}‡}Š|Žy‘y“x“x“y“x”y•z”z”z“z“z“z“z‘{Š~ˆ€‡†…€ƒ‚‚‚€‚€‚€‚€‚nm~hzhzezs€ƒ~•|ˆ†Š~Š~Š~Š~‹}‹}Š|Š}ˆ~††€…€„…ƒ‚€ƒ€ƒ…€†€„ƒ‚ƒ‚‡Ž{‘{|{|Œ|‹}‹}Š}‹}Š|Š|‹|Œ|{‰|ˆˆ€‡†€…„ƒƒ‚‚‚‚~ƒ€‚l€j~gyfwfyl}{„€Š~…}‚€‡Š~Š~Š}Š}Š}‹}Š|Š}ˆ†€„€„€……~…‚ƒ€ƒ‚…}……‡Š|‹|Š|Š|‰{Š|‡|ˆ|Š|‹{ŠzŠ{Šz‹zŠ{‰{‰~‰‰~ˆ~‡‡€‡€…€…€‚€€‚€€‚f€g~gzgxhxizq~€‚~‚}ƒ‚‰Š~Š}Š}‹}‹}Š|‹|‰}‡…€ƒ€„…~…~ƒ€‚‚ƒ€†€„‡~‰|Š|‰}‰}Š{‰{ˆ{ˆ{Š{‹z‹z‹{‹{‹zŠ{‰|ˆ}ˆ~‰~‰~ˆˆˆˆ‰~†ƒ€€‚€‚hh~gzfxgwhxhzu€ƒ€‚}‚ˆŠ~Š}Š}‹}‹}Š|‹|Š|‰~†€‚€‚ƒ„ƒ€‚€ƒ€€‚ˆ~‰|‹z‡†‰{ŠyŠzŠ{ŠzŠz‰{ˆ|‰{‹zŠz‰|ˆ}ˆ~ˆ~‡~ˆˆ~ˆ~ˆ~‰~ˆ~†‚‚‚jh~gyexgyizhzr€ƒ~‚~‚„€Š~‹|Š}Š}Š}Š|Š|‹|‹}‡‚€‚€€€‚€‚€ƒ€‚‚„…ˆ~Š|‹|„€€ƒ‡}Š{ŠzŠzŠz‰{‡{‡{‡z‡z‰{‰|‡}ˆ~……€‡ˆ~ˆ}ˆ~ˆ~ˆ~ˆ~†€„ih~g{exi{j{h{n~}‚€‚}‚€ˆŒ|Œ|‹}Š}Š|Š|‹|‹|ˆƒ€‚€‚€‚‚€‚‚ƒƒƒƒ†€‡}ˆ|ˆ†~„‡|‰z‰{‰{‰{‡|‡{†{†z…{ˆ|ˆ|‡~‡„€„€‡‰~‰~‰~‰~ˆ~ˆ~ˆ~†ƒ€jj~i|h{i}h~h~ku€‚€‚‚}‚ƒŠ~Œ}‹}Š}Š|‹|Œ|‹|Š„€€‚€‚ƒ€…‡†}†}ˆ}ˆ|‡|ˆ{ˆ{ˆ|ˆ{ˆ|ˆ{‰|Š|Š|‰}‰}ˆ}ˆ~ˆ…€‡‰~‰~‰~‰~‰~‰~ˆ~ˆ~ˆ~‡m‚l‚jjn„k„iƒj‚q}‚‚‚„~„‚‡€Š~Š~Š}Š}‹|Œ|Ž|Œ}…€€‚€ƒ„€„ƒ€ƒ€†~Š~‹|‹|||Žzz{{yy‘y“y’y“x”x’wy‘z|…ˆŠ~Š~ˆ~‰~‰‰~ˆˆ~‰~‰lˆm‰n‰oˆq‡p…m…o…s…|ƒ€ƒ~™}~‚‰~‰~‰}‰~‹}‹}Š|Š}…€€‚€„€„€…€…€ƒ€…~‹|y‘y“x•v–v–u–u–v–u—u—u˜u—u—u˜u˜t˜t˜t•vŠ|ˆˆ‰€‰Š‰~‰~‰~‰~‰~ˆ~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÎÍÏÏÏÎÍÎÍÍÍÍÍÌËËËËÌÌËËËÌÌÌËËËÌÌÍÍÌǽ²¬¡Ÿ‘€{phlwjjilkrcgbV]a[\c\T[a]_VPOSZW^e`dSTVVUVTTYUOV^^[XTLD=9<:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÎÎÎÍÎÎÎÍÍÎÌÌÌÌÌËËËËËÌÌËËËËÌËËËËÌÌÎÏÎƳ›¥•vyr]^_q|m[^kjg[YZ\_YVTO^g_[ROOPXV\fggOU\`YQPLQRX^b[UPMI@?76521/86ÌÍÎÎÍÍÎÎÎÍÎÍÍÌÌÆÁÅÀÇËËËÌÌÌÍÍÍÍÌÌÌÌÌËËÌËÊËËËÌÌËËËÌÌÍÍÍÍÎÍÍ¿¡‰‡omlmkjlpu}y^`_bcYZ[Z[\QSW\bYZYVSQTRVYdcQQY[TLNNRQ\b`aYQGA?;851110/1ÌÍÍÎÎÍÎÍÍÍÌÌÌÌÍÇÁÅÂÊÌËÊËÊÊÊÊÊÊÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÌÌÍ˳—‘xkovzs|ecb\fXabbZZWV`WRYdcQOSVWSNLWPWgQNTXYOLROOX`^`TTUNG?<84320--ÍÍÌÌÌÌÌÌÍÌËÌÍÍÎÈÀÂÀËÎÎÍÎÍÍÌÍÌËÊÊÊÊÊÊÉÉÉÊÉÉÉÉÉÊÉÈÉÆÈÉÉÊËÊÊͽ’‚€rak{lag`_`ViaWWTSN]`^_qlYOOTZTMITRRYTYZXUNOQU[_XVYQPXNH>>A<520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÎÎÎÎÍÎÍÍÌÍÍÍÍÌÌËÊÊËËÌËÊÊÆÉÊÊËÌËÇÅâŠxxph_jlla``]W\`URZRRPZefegcgUQVYSPRTSQWRY\aURTQY[]XXSSPQOI>?>7651.3ÌÌÌÍÍÎÎÍÎÎÎÍÍÍÎúļÇÏÎÎÎÎÎÎÎÎÎÎÍÍÍÍÌÌÌÌÌËÉÉÌÍÎÌÊÇÅÉÊËÍÎÌÆÄÀ±™{{pcVS`\Y[_`^a^WTPJMTY`adh^[SOPPOKTRSP^LTUYZWZY^Y[VRQSNQKFC?B;531.3ÏÎÍÍÍÎÎÍÎÎÎÍÍÍÎþÌÁÅÎÍÎÍÍÍÍÍÍÍÍÍÌÌÍÌÌÌÌÌËÉÉÉÌÈÄÂÃÁÆÆÈÌÌÉÁ¾¼©~xqVSRQMUWmodaa[XMD@MXQ[`a]VSQKLKHLHPKXNQTUVVZZZ[]XSOSMVNCHA@>3/.--ÏÎÍÌÍÍÍÍÍÎÍÍÍÍÍÄ¿ËÂÃÍÌÌÌÌÍÌÌÌÍÍÎÍÍÍÍÍÍÍÌÊÈÈÅÈÀ½¹Á½Á½ÄÊÈû®¢¤Š}xs^UWYXgh\ned[TUQQUTcSOZ]ROVWQKIFNPQYXQPWYUTWWTNPZTRVOWW?57220.---ÎÎÑÕÒÍËÌÌÉÈÉÉÊËÿÈÁÀÌÍÍÌÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎËľº¹¬¿·À¶½Æ¿¼´¥†„|n‡vb\_Z\ejUn[R[TNST][VNPSWRQRUWKKKSSRZg\NVWVVUUYQK]XX[[MD<6540.-,,-ÍÚéïìâÓËÉÁ¼½ÀÄÇÁ¾ÆÁ¿ÊËËËÌÌÍÌÌÌÌÌÌÍÍÌÌÌÌÌÄÁº´½·° º±½´²¿´º³˜‚yzkfbabaT[aZUeZRZ]PSRV[TUTNMMKKMSYUOROQQcZMY[XRMOXWOWXPLJA8=<:72.-,-.ÛîЭºáêξ¶°¯µ¸¿ÁÂÉÅÁÉÌËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÃÀ³«©¬¯¥œª¬¶¯±µ«ª ‚svskkR^dZWcVP\h]X^XLPQS[``TQLLKMRLVWJOTNR]]Xa\TOKMYWQWPPVJBB>;;962//.-íËygm›ãÛµ¯­­³±¾ÃÅËÈÄÊÎÌÌÌÌÊÆÊÌËËËÉÈÇÂý¼²¡šš¤¤˜•¡««¬¬§£˜„slhekm[UXVa_VV^[Z_VSWTSUU_WQSNNSURRUWQPWPRX`Y]WX[U[^SRZVSP@?F;87775300/æŒqso‹Éè·¬ª®°²ÀÀÅÊÇÁÊÍÍÍÌËžÈÌËËËÇ¿·°±±¶«ž”˜™—‘£±¬¬ ˜™xieeUf^QLHOX`XQQ[e]`n[\`\SWNPOOOQVRTRUXR[ON^^]gZa]ge_RPMMJK@<856779<@?£O>PFbŒçïÎÀâèÁ³À÷·³»ºÊǾ¬  –‹œ–š•‡‰Šˆ…„‚€y~„~|vxvqqmkfX\d`aXRRXW]]aXT\SX^ZVQINLNIBCEA?EEDBRGTW[W`a`\RcaVWWQKGDF975678D[͆íìëííìííííëçääè´Œ‹Šƒ‡ŠŽŠ~‚ˆ‚Œ–‡†z|„ˆ€}Š‚y|wtttvsbVQZYZVYVNYY\_defkolQ[\SMQQGDENVQQOOOIJWZ]YNN^Z_\\geV^SA::<<;::9:>==>><`_`bdkkpÇòìèÚÑƾ¸±¬¯´¹·¼¯ƒ|~{}„€€€‚†}|€†‡~~}usuurrsf\^[NPZXZ\SU^ae^]UZaaSUMLKRLHA=CPSU_ZZafl`\^W\TYSSUVTA:897799868:???=JJLMLOTp¿ïìØ…[TPNSKKKPPSwxz}€}y{€}}€~x|}~„„€|z|tptyxsokg\SMKXV[RTW[ZVHW_Z]VY_VKMUOMJLOOPSUYW[md[[ZZVYXRVKLJ?874]{:7988;BECETSSTw¥¢žäÙ¹TDFJTeTOQNKFG}y{€~x}‚}w~{|~{|||€}xwomwxzqg`aSRRD@MVVUXZOKITXZ\UZd_SMLIKNMMJHJNWWZ\`Z^WURWOKMHA<8776TŠ?889;=TaYXJ?=:@JNWaZSWZRWYNLE<;997673…ãP28;;DGI[hXTYW[[SGC@:7787795ƒáP09<>BGGCOîïðí´\ME[¼ÂÌÃÅÉËÐÑÑÐÏÏÏÎÌÏÊŸŠ|{~ˆ‘™¥ª¬¨¤¡œš”‘”“•—™ž¢¥¤Ÿ€ffcc[flbYMPZYUQTZW_YVZdYOICB@ACA?>CIC>JZij]LQeRG@;<:7;;::=7vÚW4=<>CJICSíìÒÈ”XJET©Ï×ÜÞÞàâãäããâáàÞÜ×™z‚€|{¢š‰„|sgc`aj€h`b\WZ]begqif`\\X\YNOVTMOS^[YX[][TULF?BGJB=BQQJT[^gŠnQVXKA;886:?BA??;zæ_8?9KUNdkgt‡j[]RIA>;:=EKIC>?:ñd8<6=HGV_fnxzjpMHIX¥ÙßêééÚš•»ÇšÑëááÛш}|u{k>Uco|†ŠU87/,046H``bceZ@Qen`SV]YX\TPSPSQ[^[d]UVQOIHHCGJGDHNNTikhsqdbjhWQLKPTSURHFL:~òj777QXYdee}}|nTEEAL–ÚãçêäæÑÍßáÒÎâçèãáÙˆz}y‚QEu˜¡§©¬”xaIEGNMLI>466@[B[ibUNVZ`YXSMNWUZc^aXPOURME@=HU_X\fhmc[WX^bdjlkof]ivsnjcdeK‚ð|OMYuuvxzzFEGIG925B{ÓíëëêëìéëêååêéêëíØ…{|{zHViµ¶µ³¯©£½–w„JNMA9655aTOaa^SWYYTROOMS[XSXZTMPYSQU[Yq€ubjwkZTW[]]`ffl~„‚ƒ€}‚‰€•§À¨ žœ˜”•nnprw^-1>kÉòïïïïððïîïïííïïðÎ{xz~hYW;kpdYWY[Ž‹uˆuKKM_`I33NrE^a^ZZUUQTYZPPYVOMNT\ZX[ew€…‹‚bcqjSQY[[[\diku~{yyss|ˆ‹•œ|“Š}yuqonlgeeyyxwxoVW\p¥ÌÌÊÍÎËÈËÌËÏÑÓÓÔÕÀŠ‚{„TsJ22333=LLIKNLJLEIsmX3FnMbrnmnkpx‡‘‡‰Š‹°—€€{w}|lbmmcW[`^]\`gfiqfc`bct|w›{W[XUQPQNMLLKJJppoopptwyyxz|}€€‚€€‡–’ƒ‚O~;36DTH?MMMMMMLJLJqwU6J‡žgXtuvwyxwtttuvwyz{‚‰–¥²´¬š‹|rlklmmlhda]]][Z_^ZZ[\\_cea‹YK]agnswa;77787omkkllnpsuutsssvx{}}~~}}}{yvtuxs[353^€FJE?>>DLKPFZuf:6.`†Ihijloqttuuutsqqqqpopt~Š™¦¬¬¨ ~sggfdb_[ZWZXWWXWVXWUb‰P‰œž¤©¬°£T<65;83ƒIk^OP^dccbaccehkoqsvwwuqnljmopomlp}Ž«ÂÁ§ˆrhggffeb]e ][>W948:9L]PCAM\uuuvtpkhffehkllmnoopponlooXOTv{R˜W]mOx_UGJNQUQNOMVqŽ„Q=9;4qb?bD:6Difdb`a_^^acflortvvvtokghjnomkjkyš¼Ë¶uhfijhd{ŸST;R649=9>G:338Suuuuutqkhfdfgiikmllmmnmmo^7<9iq?YFTV8AAAENSVSMHA?CA]\LLD77:8<<571Blmifcbaa```achlprsttvurmhgikmonljr‹«ÀÁ©Œwlhn”NK6?57Nh^C734439qrstuutqnifeddehijjjkllmm]4234>K:64347;;654446758878:;=<:<>IF04@L_ijmljgcba`aa__bfjmprtvvvtpkggjmnmlihr²­|`Z{”CF?B>IEJDAVwqCDD<653jlnoprqqqplfb``aabddegijkkmk‘¬JTD;99878866777666756677789:;>APolijhgeefknnlgcabba_]^_dhlnprrsttrjedfikkkiVT_qv_=~qPEB@SG?GHDNK@iklmorrssrpmhdbabbccdfgiijji”ºYJ<78886655565654554444556775AHOgljlkkiecehmonlifeffdb`_aeiloprrstrpjedeijl[OWY_r\?cm@78;?AAEIL_pofiklnqrssrrpmhebbbbbbdghhjjhƒ¥`LL?05655444544455333332@’«¤ŒKGjkmlklljigdccfillhdbaba`^]^adikmopqsrrqledhko«—hzqtlkeTQ`mmlkiijj^adfiklnpqqpopmgca``_`adgghjpdRƒ££¹z:0/0112454/5532101.:€ªž‘QCdhlkkkkllljfcbbeghhfc`__^]\\^_bdgkmnoprqnjdgq¢œpldg\YZYWimc_\YYYY„[bdhjkmoqrpqpomhcaa`_`bdfghqW0y¦¿£»BF>?<<87Kv@]cjjjjijkkkjgecbacfgeb``^]\]][[\^adijlnnnnkih—•q_U[YWWVVZ[XVUUTVWÆ|[dgijkmosspppokgcb```abdeb^N,Q«ÐÁðè§\X[m—[tÃW_tm`Y|«ÜóåÍÈc:;P¨ÑÍÌÆÇÇ»eZqjjjjkkhdb`adhihfca^^^^][\]Y?@EJNR]p–•Ø÷šLG?ŽÛj~·VWy·ÃÍ[_degijlmnnoommlida`aK...037DHNXot·àÙÔÐÌ¿¼À•Vm¤àÝÞÝÞÞâ€\f^XO¥äßÛÕÕÜßwqQikjjjjkihgca`cegiigb_^]\\\\Y??DHMQTWXa˜šyrk`^ÐÙ¼OJO‡»ÁɈX]acehijlmnnmmmkhdabK///2?X»;>C=6882754v›QjTA;::998898Dt]HC636:<97KhPfedeeffghihjiheca__bghiifdH35bLaf[_egfffeeeeghhhda___afilE-;INQS[^_dWB44269<>;qklnfSUg†»ÆÔºi^cdghhiijjjkcYC-951;LHC;78.**0J\^k–‡XOVMMGCDGFGEFJ;766@BQWggOILK?MG^_l“ydaeddeeefghhheb`^^`djD);GHKo¬cVGM:;;>=RbPklnlgZOOQÂÇÕ¦^_abdefhhhhhbXE075209885.-,-/:cƒ–‡wZ:>D@HRURIH?LTHB9;HQPONF@<9?<5?Yrr–qQ^dcccceefggggdb_^^`fC&;D@C”ç†_UVMHRPMJOOInrpnneSMKUŸÄËÓŠY_acefffegfd]J40//-)%%%''''(/Orƒ’‚ocGABEOUPIDCCTNGFFINSWWULMNNPRVY_s^jLRbccccbbdeeeegfda_^]a@$9A=Afˆi^ceX<544:BBCmrqstwgTNIh¹ÇÐÄl]abdefeeedb_WC53555667776899?GTyop_^\[YWXZ[[[Z[[]]]\[[[\\\[\\\^`afQFV_gecccbbcceeddedcb_]_>"6<;=DNV]hpsk^]_bcdemmljjke\RML’ÄÈÖ¢Z_`bdeeeddcb\SOLLMNOPPPPQRSSRNLJucoZZYYXYYYYYYYYYYYYZYYYYYYYYYYZ[_^>Laa‰tacdbbccdcccddddb_^="57659?CKUV\_[XTQOPQmebcd`b]SMJb²ÃÍÎwY`eedeeeddda\\ZWVVWVVVVWXZ[\\cMD[pVXWXWXWXXXXXXWWXXWVXWXXXXXXXXY[fEXebb__`bbbbccbcbcdde`ZR:#62=F-(())&&%%$###$$ifggqmhbRKLK‚¿ÄÒ³_^cdbcdeeffda`_^^][ZYXWWY]`bdlZ]prRVVWWWWWWXWWWWWWWVVWWWXXXWWVUUW]U^eccjnobaaababbbbbb^PKI7"42CaI3.-21.-.//-+*+llgfnmpiSLLKV¤ÁÈÒ•`_bbcceffffcabbba_][YXXZ]`chndzsu^`\VWWWWXXWXXXXXWWWVVWWWWVSP[msTg`bac°××¢a\^`ebbba`\XRMJ8"32-(,8::9976;@BCA@?hqjgmnrqf[NLKq¶ÀÏËr[accceffffededddb`][YYZ[]_bciƒx{†Œ‡bXYYZZZZZZZZYXYXYTSVZ_gr‚œ©¬š Ÿž ž°ÑÓ΢Ž„svrbaaba``XL<%30,).3111/.-/234655svmjqpnlnoYLKN¿ÅÖ¯_acccefffgffffefeb_][ZZZ\^^Zp|‚¹ÐË’cZ\]^]^^]]\[\[`„y‡›§«°³³±­ªª©©¨§§¥¢¢£ª®±³‰baaaa`__]SA.1,++3+%%$#"""!!""""qpkhlmhfijdLJK[©ÀÉÕˆ\cdcegggghggggffeb_\[Z[[\]UmskˆãçàÙŽ`ddggikllmuqk‡‹­¯¨£ž™•‘ŽŒŠ…ƒ‚~~~~}~~…Œbhh```_^\XRC5--/1/123689:999410olmdhkotqmhQILKv¼ÀÑÂk`ddeghgghhhhhhhgea^][[[\[ScZOvåÚÆëÙtlqrssuvvy€|™kŽŠ„|tmf`]XTQPNNNNLKKKKNSSZ]qr_a`__^ZWTNJHIHILPTY_``__]VQQcchfejqsosr_LJYd—¿ÄÔªbbddehihhiiiiiihgda_\\\\ZRYNIVµ°›êãzq{}€‚…‰“˜‚Šb`YQLIHHIKONO]_ONMLKJIGEEDCCIabaa`_`^[YWVUUUUVUUX]aeggda^[flmhnojlospkSILLW¤ÀÈÕ]bddfghhijiijiiigda^\\\\MGMJLQWd¼»v“±º¿ÄËÐÕÝÝÓhJEDBCCBCCCB@>@@:9998778899888B]aa````_^]\[\[\[[XXZ^dhiihe`zusptpjjkjhkdLJJIm¸½ÍÉs\bceeffhiiiiiiihfc`]]\]LDOIJLRXakÕ±kefegeÙ³‰I<:9987777777543789:866677667<;Oaa``aaa`____^]^_][Z[_dikkifx}plkighjmiaOJMKK¾ÀÔ«[\`bcceffhhhiiiihea^]\^MBMEHLPW_p¥åm.56671póÉr<;:<=?ABCDDmw=00000000123:?@FLRPRN<24B=B”XUVV]bbbccbbbababa_]Z\`lklmrusprkjlkjoePJKKL‹ÆÉÕ¿jcefgihgfghhggffgfcaD-@JDVsx_Vi’ D}¸¶´µ­„A>>127_€}{B441////124AEFMS\Y[]I32>?9™íh/44?acbbcbbbabaaaa_\Z[krurprpkoijieirbKKJKK]µÉËÕ—`eefhhgggghgggfffecD1CFBD}l=?>:::Rˆ†ƒL?A7//..029IDTJU_[XRF529A9^©_1653Xcbbbabaaaaaaa`^\[pvtoiijmnijkvste_ZLLMPƒÇÇÐÉubffghggfefgfffggfdE09EE^ÃáµZSiˆSj„X=@@CJ>?LOJCAB5344442384@:6/3>Sbbbbaa```a`aaa```^rmmnktnpisqutt{k]SKJLKxÄÃÍÓ‡beegfffdeggffff`Y<(58BEGJS]dw?4`TCBAA7=RPG>?>=;:98:;;98895565446866=O=?6255344323467@CA@?@F:899::89:;=BDA9)3/54.,+2B\_`bcabbaaaa`aaaa`aaaa}xvysnqa`gqyqijdZKKJT[Y™ÃÁÕ¿f^`bbddddcddddcX?)1.62/338=?@AB@r£°QftF?BCCCDIORSSX[adddcbehiiikkmlmjiumf‡mAUa^bhifdcccaaabba`aaaa‡{†z†z†z†z‡z‡z‡z†{…z†z‡{‡{†z†z‡z‡z‡y‡y‡yˆyˆyˆyˆyˆyˆy‡y‡z…|„‚~‚|„xƒuƒtƒt„t†x†y‡x‡y‡z†z†yˆ{‡{†zˆw‡u†x†y‡z‡{†{…z…y†z†{„ƒ€‚ƒ€‚€†y†z…z…y†y†z†z†z†z…z†z†z†y…y…y†y†y†x†y†y‡y†y†y†y†y†y†y…y†{‚~|‚yƒuƒuƒuƒv„u…v†y†x…x…y…w†z‡{†z…y…w†t…v…v…y†z†z†x†w†y†|ƒ~‚€‚€€€…z…z…z…z…y†z†z†z†z†z…z†y…y…y…y†y†y†y†y†y…y…y†y†z…{…z…z…z…z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx„y†y‡w‡x†y…{ƒ}‚~‚€‚€€…z…z…z…z†z†z†z…z†z†z…z†z†z…y…y…y…z…y…y…z…z„{…z…{„{…{…{…z„{‚~€€~‚z…y„y„x„w…y…|„{ƒy„x†x‡z†{…{„zƒyƒxƒv„v„x…yˆy‡y‡z‡z…{ƒ~ƒ~‚‚€€†x…|…|„z…z„z…{…{†z…z…z†z†z…y…y…y…z…y…y…z…{ƒ|ƒ}ƒ~ƒ}„|„|„|ƒ}€~‚|„y„x„w„x…z…|…z„z…z‡z‡{†{…{…z„z„vƒv„x…y†x‡y‡z†z…z„{‚‚€‚€€€„{‚‚‚ƒ~„|ƒ}ƒ~…|…z…y…z†y…z…z…z…z…z…z…z…{ƒ}‚}‚~‚‚}‚}‚ƒ€‚~ƒ|„z„y„w„x…z…{‡z†z†{‡}†|†{…z…y…y„w„v…x†z‡{‡z‡z…xƒzƒ}‚‚€‚€€€ƒ‚„†}ƒ€‚ƒ~„}…{…z…z…z…z„|…z†y†z„{„|…}‚€€€€€€€€€€€‚„}…~ƒ~„~„{…z…z„w„w„w„y†z†z†{†}„|…{†z…y…x…w„w…w†x†x†y†z†y„{ƒ}‚~‚‚€€€‡Šˆ|‚€‚ƒ~„}…|†{†z…z…z‚}„|„{„~‚€‚€ƒ~ƒ}‚~‚€€‚~ƒ}…{…|…~…|„z…y…x…w…x„w„v„y…{†}…}„|…|…{…y„x…y…x…w†u†u†x…y…y„{ƒ}~€€„{ƒ}…~‚~€€€€‚€ƒ€„~…~†|†{„}‚€ƒ€}…z†z…{†{„{„|ƒ|ƒ}„}ƒ}„|…|†z†{†|…z…z…z…x…x…yƒx„x…z†z…|…|„}„}„|„z„w„y„y†v†u‡u†w…w„xƒ}‚‚€€€‚ƒƒzƒ€†}‚€€~€~€€ƒ~ƒƒ„„|…y‡x‰xˆw‡x†x„{„{„z„{„{…y‡y‡x†y†{†y…z…z…y…x…y…y…y†{„{„|…}„~„}ƒ|ƒzƒz„y†x†w†vˆv†v…uƒw|~‚€€€‚}‚‡|‡Š|ƒ~€‚€€€‚~‚‚~‚}„{†z‡y†y‡y‡y†w‡w‡w…z„z„x„y„y…x‡x†x†y…z†z…{…{…y…v…w…x…w…z…|…|…}…~ƒ}ƒ|ƒzƒz„x†x…z†w‰v‡v…v‚w€|€‚~ƒyy’xŒ{€‚‚‚ƒ‚~…{†z‡x‡z‡y…w†v†w†w…w…x…v†u‡v‡v‡uˆwˆz†{…|…z…z…y„u…u…v…w…z…|…{…}„~„}„{ƒyƒx…w†w†y†y†w…xƒy‚|~€€~‚~ƒ‹~Š€‰„‰ƒ~…‡~ˆ|ˆz‡}ˆƒ‚z‡x‡v‡y‡x†v†w†v†v†u†u†s‡sˆu‡uˆuˆw‰{†|„}„z„y„x„{„|„z†y†y‡{†|†~„~„}„{„y„x†w†wˆw‡w„xƒz|€€‚ƒ‡‚}ƒ|„‚„†}‰‚…‚‡}ˆ|ˆz‰zˆ{‰|†~~‡x‡v‡w‡w‡w†x†x…w†v…u†v†v†v‡u‡uˆwˆz†y…{„y„y„z„|…|†z‡{‡zˆ{‡}…~„~„~„}ƒ{„y‡x‡y‡y‡z„{}€€‚€‚ˆ‚€‚}„{…€ƒ‡Š…ƒ‚……€„…€ƒ€„…€„x‡uˆv‡~„ƒ†€ˆ‰€ˆ€‡€ˆ€ˆ€‡€ƒ‚w†v‡y…w„y„y„y„{„z†y†y‡y‡{‡}†~…„ƒ‚~ƒz„w†wˆy‡z†|ƒ~€€ƒ~ƒ~ƒ€‚|„y„~ˆ‡€…‚‚‚€€€€€€€€€€‚wˆuˆ€ƒ~}|Ž}Œ€ŽŽ~}}‘}ƒ‚t‡x…xƒy…y„z„z„z…y‡x‡xˆz†}…„„~ƒ~„|…x…tˆt‡v…w{~}}~‚}ƒ}ƒ‚~ƒw„qƒ}†~…ƒ‚ƒƒ‚„wˆt‡ƒ‚‰|ƒ|€||…~…~‡}‡z…|‡~Š|ˆ~w†w…y„x…y…{„{„y…x‡x†y‡|‡|…}ƒzƒy„x„v‚qpqq€o}s|t~rrv€{~~y€t€v}ƒ~‚‚‚€‚€€‚‚ƒ‚ƒ‚~„x‡w†„€†|‚}|‚zƒz‚|„z†w„{†~‰|‡}~‚y„y„zƒ|ƒ}ƒ|ƒ{…{‰{†z†x†s‚o~i}o}o|s|szszq{o|j|h|h}g~f}u…ˆ’ˆ•ˆ—ˆ˜‰š‹›‚‚ƒ…€„„ƒ€ƒ‚ƒ‚ƒ‚ƒ‚ƒ‚ƒ~„€ƒ…~‰|ˆ…‡{†x†z†x†w€‚ˆ}…{‚ƒ‚€‚‚€‚€‚ƒ…‚…„}„x…uvxyzyzy~x~x~yx€u€s€‡ˆš‡›…—†”ŠŠ‰ˆ~‡‡ˆˆ~‰}‰|‰}‰~ˆ}ˆ|ˆ}ˆ}ˆ~‡~…†}Š{‡††}‰xŠyˆx‡y…ˆ~‡{ƒ‚ƒ€„€„€ƒ€‚€‚€ƒ€„€„€……€…€…‚ƒ€Š„€ƒ€ƒ€ƒ‚‚‚ƒ„‚ƒ‚ƒƒ…‰ƒ}{€zƒz†y‰z‰y‰{‰}ˆˆˆˆˆ}Š}Š|‰|Š}‰}‰|ˆ|‡}……|ˆ{‡}„‡|‰zˆ{ˆ{‡|„~†ˆ}‰|„~‚€„€……„€‚€‚‚‚ƒƒ€…†~‡~††€…‚ƒ„‰€†‚‚‚ƒƒ„†‰ˆ{‰|‰~‡}„zˆ{‡{‰|‰|‰}ˆ~‡‡ˆ‰}‰}Š|Š}Š}Š}†~…€††~…}…}†~†}‡}†~…~„~‚‚ƒˆ~Š|Š}…€ƒ‚„„ƒ‚ƒ€„€ƒ€€€„€†€ˆˆ~†…ƒƒ‚ƒ€€ƒ„„ˆ†‹y‹{‡€†€ˆzŠ{‡z‰}‰|‰|Š|‰}ˆ~†€‡€ˆ‰~‰~Š}‰~‡…€Š}‹}‹}‹}‹|‹}Š}Š}Š}‹}‹~Œ}Ž|‘{‹}ƒ„„€ƒ€‚ƒ€‚€‚‚€€€ƒ…€‡ˆ~‰ˆƒŽ|¬~¢„‹ˆ…ŠxŠz…‡‹yŠzŠ{ŠŠ}‰}‰}‰}‰}‡€‡€‡‡ˆ‰~‰}ˆ}ˆ}Ž|{||Œ|‹|‹|‹|Š}‹}Š}‹}Œ}Œ}}Œ~…†‡†ƒ€‚€‚‚‚‚€€€€€‚„€‡‰}…Œ|²}«„–ˆŒˆ~ˆ|‡‡‡€†ƒ……ˆ€Š~Š}‰}Š}Š}‰~‡‡€†€‡€ˆ‰~ˆ}‰}Œ~…Š†…Š}‰~‰}‰}ˆ‡€ˆ~ˆ~ˆ~‰~‚„Œ‰‡~‡~ˆ}ˆ}‡„€€‚€‚‚‚‚‚€€€‚‚„€†€„‰ƒˆ…–‰ž‰Ÿ‰ž‰œŠŠ ‰£‰£„‰‰}Š~‹}Š}‹~‰†€†€…†€ˆ~ˆ}‡~‡€€Š€‡…€‡‡††…‚……€…€…€€ƒƒ‡€†~‡~‡~ˆ~ˆ~ˆ~†„€ƒ€‚‚‚ƒ‚‚‚‚‚‚€‚‚…‡‚…¥…¹„¾Áƒºˆ·…¾€Ã€Ã€ƒ†€‡~‰Š}Š}‹}‹}‰~‡…€…†ˆ~‡…€ƒ‚ƒƒƒ‚‚‚‚ƒ„„ƒƒ€€ƒ†~†}ˆ|Š|Š|‹|‹}‹}Œ|‹{Š|ˆ~†€ƒ€‚‚ƒ€‚€‚ƒ‚‚‚‚€€ƒ†‰„©|ÈxÏuÒsÕtÒtÔsÕrÖ}„ƒƒ‡€‰~‰}Š}‹}‹}‰~‡…€…€‡…„€„€……‚„‚€‚‚ƒƒ„…„‰}‘z“x”w”w”w•w•x•x•w•w•w{ˆ~‡„€ƒ€‚‚€€€€‚‚‚‚€€„’„—€Œ}Ÿ{©xµv·vºu¼w¹|‡|„‚†€ˆ‰~Š}‹}‹}‹|Š}‡…€†€„€ƒ€…€‡~‡}†„‚‚€€„‹|Ž{Œ|Š}‹~Œ~‹‚‹€‰~‰~‰}‰|Œ|‰}‰}ˆ†€ƒ€€€‚‚‚‚‚€€˜~±€Š}‚}‚€€€‚ƒ}“}‰~‚ƒ‡€ˆ‰~Š}‹}‹}‹}‰~†…€ƒ€‚€„€……~„€‚ƒ€„‚ƒ„€†…€‰|€|{}z|…|Š{‰{~}{}z}z~†}‹|‰}ˆ~ˆ~ˆ~†€ƒ€€€‚‚‚‚~~™vÆvÅwµ| {Ÿz­}›€†„{ƒ~„}ƒ}‚„ˆ€ˆ‰~Š}‹}‹}‹}ˆ~…€‚€€‚‚‚‚ƒƒƒ†‚ˆ„ˆƒ‰‚‡ˆ‰|}||~~ˆzŒw‹x€{z{€}€…|Š{Š|‰}‰~‰~ˆ~‡~ƒ‚€‚‚ƒ€ƒ~•uÆrÐrÑtÌrÊtÈx½|¡~v„~„~ƒ|ƒ‚†‚‰€ˆ~‰}‹}‹}‹}‹}ˆƒ€€€ƒ‚‚‚‚‚ƒ‚‚ƒ‚ƒƒ‚„„Š}ˆ|ˆ}Š‰ˆ~‹{Œw‹w‰y‡~ˆ€‰‰|‹{‹|‰~‰~‰}‰}‰~ˆ~…ƒ€‚€‚ƒ~tÅqÎqÎsÊvº{¨}ˆ{‰oz‚‚~‚}‚ƒ‚‡€‰~ˆ}Š~‹}‹}‹}‰~„€‚€‚€‚€‚€‚€ƒ„ƒ†~Š}†|ˆ|‰|‰|‰{‰{ŒzŒyŒ{‡‚ƒ‡~‰{‰|Š|Š}‰~‰~‰|‰}ˆ~ˆ}†~ƒ‚‚€ŠvÂrÏrÐtÉ{š€…~„ƒh{m}{‚}z‹~‚ƒ‚ˆ‰~‰}Š}‹|‹|‹}†€€‚€„€„‚‚€‚€„†ˆ}Š|„}…|†{†|†|†|ˆ|‰|‡|€{…‚€…~†}Š{‰}ˆ~‰~‰}‰~ˆˆ~ˆ~‡~„ƒ€‚…{°xºx­x±~„‚€†€†j}i{q{ˆ}‡~‚ƒ…ˆ€‰~Š~Š}Š}Š}‡€€‚…€…ƒƒ€ƒ€ƒ€„€ˆ}{Š|Š{‰~‰}‰}ˆ}‰}‰|‰|ˆ}‡~‰|‹|{z‡~„‡‰~‰~‰~‰~ˆ~‰~ˆ~…~‚‚‚€†‰†~Š‚€‚~‚~€kj|k|x€€‚~ƒ}ƒƒˆ€Š~‰}‰}‰}‰~†€‚‚‚‚‚‚‚‚‡}’x–w•v”w•v•w”w•w”w•v–v•w•v–v—u–uˆ~…€‡€ˆ‰‰~ˆ~ˆ~‰~‰~‰†„‚‚€€‚€‚€ƒ€‚€nnm~t‚ƒ€‚}‚}ƒ„‰Š}‰}‰~‰~ˆ†…€„€„ƒ„…€„€ƒ‰}‘y”w“w“v’w’w’w“w“x“w“w“x’w“w‘wxŠ|‡‡€‡€ˆ‰~ˆ~ˆ~ˆ~ˆ~Š~‹~‡ƒƒ€„ƒ€„€„„€„o„m€j|n€x‚‚~‚|‚€‚†‰~Š~Š~Š}Š}Š}‰~‰‡€…€…€‡†€„‹{‹|‡‹{xxxxyyx‘y‘yyz‹zŠzŠzˆ}ˆ}‡}‡}‰}‰}‰}ˆˆ~Š}Œ~‰}ƒ€€…‡~‡~‡‡‡~‡~k‚l~hzi|k}z€}}‚ƒ€‰~Š~Š~Š}Š}Š}‹}‹|‰~†€…€†€†…~Š{ƒ€|…€‚‰|zŒ{‹z‹zŒzzŽzxyyxx‘x’x’x’w’x’y‘y‘{‹~ˆ‡‡†„€€‚‚‚‚‚‚€ƒ€on~hzgyezs€ƒ~”|‰†Š~Š~Š~Š~‹}‹}‹|Š}ˆ†‡€‡€„‡~‚ƒ}…}„…€ˆ}‡~‡…†€Œ{‘z“y”y“y’y’z’{’{‘{‘{zz‘{’{Ž|ˆˆ€†€†…ƒ‚‚‚‚‚~ƒ~ƒƒ‚l€j~hygxfyl}{„€‰~…}‚€‡ŠŠ~Š}Š}‹}‹|Š|‰}ˆ†€…€„€……€ƒ‚ƒ€…ƒƒ‚ƒ‚ƒ…‚‹}Ž{Ž|Œ{‹{Š|‰|ˆ}‰}Š|‰|‰|‰|Š{‹{‹{‰}ˆˆ‡~‡†……ƒ‚‚€€‚€‚‚f€g~gzhxhxi{q~€‚~‚~ƒƒ‰Š~Š}Š}‹}‹}‹|‹|Š~ˆ…€ƒ€„…~…}„‚€‚„€„…„‚‰}Š|Š|‰|‰{Š{ˆ{‡|Š|‹{‹z‹{Š{Š{ŠzŠ{‰}ˆ~‰~ˆ~ˆ~ˆˆ€ˆˆ†€ƒ€€‚€ƒih~gzfxgwhxhyuƒ€‚}‚‚ˆ€Š~Š}Š}‹}‹}‹|Œ|Š|‰~†€ƒ€‚€„…~ƒ€‚‚€‚‚„…„€ˆ}Šz‰|‰‰|‰z‰{‰{Šz‹z‹zŠ{Š{‹{‹zŠ{ˆ}ˆ~ˆ~‰~ˆ~ˆ~ˆˆˆˆ~†ƒ‚‚‚jh~gyexgyjzhzr€‚‚~‚~‚„€Š~‹}Š}Š}Š}Š|‹|‹|Š}ˆƒ€€‚€ƒƒ€€‚€€‡‰}‹z‰|„‚†~ŠzŠzŠzŠzŠz‰{ˆ|ˆ|‰{ŠzŠ{ˆ}ˆ}ˆ~‡‡ˆˆ~ˆˆˆ~‰‡€„€ih~g{fxi{k|h{n~}‚}‚€ˆŒ|Œ|Š}Š}Š|Š|‹|‹|‰~„€‚€€€€‚€ƒ‚‚†ƒ„‡ˆ}‹|ˆ‚„€‰{ŠzŠzŠ{‰{ˆ{‡{‡{‡z‡z‰{ˆ}ˆ~‡„€…€ˆ‰~‰~‰~‰~ˆˆ~†„€jj~j{i|j}i~h~kt€‚€‚~‚‚Š~Œ}‹}Š}Š|‹|Œ|‹|Š~…€€‚€‚~‚€‚ƒƒ‚„‡‡}ˆ}‡~†~†~ˆzˆ{ˆ|‰{‡|‡{‡|†|…{†|ˆ}‡~‡†€„€†ˆ~‰~‰~‰~‰ˆˆ~‰~‡mƒk‚jjn„k„iƒjq}‚‚‚„ƒ‚‡€Š~Š~Š}Š}‹}‹}|}†€€€‚‚‚ƒ…€‡€ˆ~‡~ˆ}‰}‰|‰|Š{‰|‰|Š|‰|‹|Œ}Œ|Œ}‹}Š}Š~‹~†€…€‰Š~‰‰‰‰ˆˆ~‰~‰lˆmˆn‡oˆq‡p…m„o…s…|ƒ€ƒ~˜}Ž~‚‰‰~‰}Š~‹}‹}Œ||‡€€€ƒ€…€†„ƒ€„‰~Œ|Œ{{{zyyzy‘x’x”x”x”w•v”v“v‘x’xŠ}†ˆ‰€ŠŠ‰~‰~‰~‰~‰~ˆ~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍÌËËËËÌÌËËËËËËËËËÌÌÍÍËǼ³­ €|pgkuijilkrcgaV]a[[c\T[a]_VPOSZX^e`dSTVVTVTSYUOU]][XTLD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÎƳš¤”v€y€q]^^q|l[]kjg[YY[_XVTO^g_[ROOPXV\ffgOU\`YPPKQRW^a[UOLI@?75521/75ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÁÅÀÇËËËÌÌÌÍÍÍÍÌÌÌÌÌËËÌËÊËËËÌÌËËËÌÌÍÍÍÍÍÍÍÀ¡‰†omlmjilrt|y^`_bcYZ[ZZ[QRV\bYYYVSQTRVYdcPQXZTLNMRQ\b``YPGA?;851110.1ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÀÅÁÊÌËÊËÊÊÊÊÊÊÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÌÌÍ˲˜’xjnvzs}dc`\eXaccZYWU_WRXdcQORVWSNKWOWgQNSXXOLROOX`^`TTUNG?<84320--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÈ¿ÁÀËÎÎÍÎÍÍÌÌÌËÊÊÊÉÊÊÉÉÉÉÉÉÉÉÉÊÈÈÈÆÈÉÉÊËÊÊ̼’Ž‚qak{kbg_^_Vh`WWTSM[`^_qlYOOT[TMITRRYTYYXUMOQUZ_XVYPOXNH>>@<520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÍÍÍÍÍÎÍÍÍÍÍÍÍÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅâ‰xxph_jlla_`]W\_UQZRRPZdeegcfUQVYSPRTSQVRY]`TQSQY[]XXSROPOI>?=7651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎúĻÇÏÎÎÎÎÎÍÎÍÎÎÍÍÍÍÌÌÌÌËËÉÉÌÍÎÌÊÇÅÉÊÊÌÎÌÆÃÀ±˜{{pcVS`\Y[_`^a^WTPJLTY_ach^ZSOPPOKTRSP^LTUYYVYY^Z[VRPSNRKEC=A;531.3ÏÎÍÍÍÍÍÍÎÎÎÍÍÍÎþÌÁÅÎÍÍÍÍÍÍÌÌÍÍÍÌÌÍÌÌÌÌËËÉÉÉÌÈÄÂÃÁÆÆÈËÌÉÁ¾¼©~xqVSRQMUWmodaa[XLC@LWP[`a]USQKLJHLHOKYOQTUUUZZZZ\XROSMUNCHA?>3/.--ÏÎÍÌÍÍÍÍÍÎÍÍÍÍÍÄ¿ËÂÃÍÌÌÌÌÍÌÌÍÍÍÎÍÍÍÍÍÍÍËÊÈÇÅÈ¿½¸À½Á½ÃÊǹ®¢£‰}ws^UWYXgh[ned\UTQQVTbSNZ]ROVWPKHEMOPYWQPWYTSWWTNPZSQWPWW?56220.---ÎÎÑÕÓÎËÌÌÉÈÉÉÊËÄ¿ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ¾Â¹¸«¾·À¶¼Ç¾¼´¥…‚zm‡vb\_Z\ejUn[R[TMST\YUMORXRPRUWKKKSRRZf\NUVUVTTYQL\WWZ[LC=6440.-,,-ÍÚéïìäÔÊÈÁ¼½ÀÄȾÇÁ¿ÊËËËËÌÍÌÌÌÌÌÌÍÍÌÌÌÌÌÄÁº³½¸¯ ¹°½´²À³¹²–xxkfb`baT[aYTdYQZ]OSRV[TUSNNMJKMSYUOQOQQcYMX[WQLNWWPUWPKJA7=<:62.-,-.ÛîÕ·ÄãëϽ¶°¯µ·¾ÁÂÉÅÁÉËËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ²ª¨¬¯¤œ©«µ¯±¶ª©ž€rurjkR]dZXcVO]h\W^WKPQRZ_`TPLLKMQLVWJNTNR]]X`\SOKMYVQWPOVJBB=;;962//.-ìÆ|hožãÜ´®¬­³±½ÃÅËÈÃÊÎÌÌÌÌÉÅÊËËËËÉÈÆÂý¼±¡™™¤¤˜•¢«ª««¦¢˜‚rlgdkl[TVU`_VV\ZZ^USWSSUT^WQSNNSURRTWPOWPRX_X\WYZV\^RRYWRO??F;87775300/ãˆtspËè·¬ª®°²À¿ÅÊÈÂÊÍÍÍËËžÈÌËÊËÇ¿·°±±¶«ž“Œ˜™—¤±«¬ —™xicdTe^PLHOW`XQQ`g\`n[\`]SWNPONOQVRTRUXQ[ON^^\fYa\ge_RPMMIL@<856679<==<\[[]^gij¥ïíêÕÀ²¤™’‹ŒŽ™Ÿ¥®‘|~{}„€‚‡}{€€…‡~~}usuurrsf\^[NPZXZ\SU_`e]\U[a`STMKKRLHA=DPSU_ZZafk`\]W[SXSSUVT@:888889868:???=JIJLKLPeŸêëà–OLHFONFFFHGM~y}€}y{€|~|€~x|}~ƒƒ|z|tptyxsokg\SMKXV[RUW[XTIX^[\WY_UKMTOMJLONPSUXVZlcZ[ZZVYWQVKLJ?873a…:7888;BECEWUTT„˜Ã‰ÑÙÇlDEDOd_QTOII>svzx}‚}w~}z{~z{|{~€~€}xwomwxzqg`aSRRD@MVVTWYNKITVZ[UYc]RMLIKNMMJHJNWWY[`Z^WUQVNKMHA<8776P>899;BÑçz}~}||wxywvvzyx{~xvupokpwphg^QVWUXY^[WFFQX^W[XWUU[TNICD@??>=:@JNW`ZRVZQVZMKD;;997673†æR16;;;AHJJ¶´¯¢–q]QMÐÚ¬…ˆ”›Ÿ¡¢¢ Ÿœš²ÒÙŒz‚~uxyuvxxx|}~€„„ƒ€}zwsihojhf_O^k\SSWZXPOWWZb]WU[YUMHD@@??<79>DGI[hXTZW[[RFB@:7787795ƒâP08;CIC>JZjk]KPeQF?:;97:;::=7uÚW4=;=CIIBVéëÕ¾£eKEJÍ×Üááâåææåæçåãâàݽ€€|{Š¤ ¤ ™Ž…~xsspnjjklsy‰Œ‘}gf`\[VZWMNVTMOS][XXZ\\SUMF?BHJB=BQQJT[^jnQVXKA;875:?BA??;zèd7?9LTNckivˆj[]RIA>;:>ELIC=>9ók8<5=HIY`gvv…qrUHIKÒÞèêåç©”®Õ«·êãâßÛ©y|vq…XDNT\gr_AADF@:8U‹™žQB7334;>;B^œ™W430g‹IhgedbabcdeimprtvutrqnmnnopolluŒ©¸¹¯š†tihhfc`_[WYTTRŠr^m˜“ƒwi\_`V=8FwvurnkjiihilnnoooqqrqrppqsuwxxspkALKHn‚pNLE<::9755Q“G:62NMcjfcddbcbabbdgknqsvwwuqnkjlnpomknzŽªÁ¨‰shggffec`\^œa^>[>2444EXUHDOuuuvtokhfeehkllmnnoppomlmoqnmsud}xGYNlxƒUEGFFHHHEEQƒ—~G<<6H L[fE?D_gdb``_^^`cfkoqsuvvtpkggjmnmkjjv—¼Ì·‘vhfijihcu¡UW=V76988GSF;:IuuuuutqkhfdfgiikmllmmnmlmmQ=;]SnnR|LTQCFLU[^\PQGQYm]D<:6>Y6IJ9;1Upjgcbaa```abfknqrtuvtrmggikmonljr‹«À¬Œtljik‰˜ON9G3337@A=?AB?=>:6:6;KGGK>79:D;2149^llljfcba`aa__`ejlpqsvvutpkggjmnmlihr‹¯ÆÁ¡uh|–‡KG6<7:_plJ62344lnpqrrrqpkgc``acdffghijklkN4/-.JR;:8867975565667777756779:G=Znkjhgddfknolgcbbba^]]_dhlnprrsttrjecfikkkjcNTall”`@NGKECNm[@FGA96iklmorrssrpmgdbabbccdfgiijjj|À†BM:998877656656656545556678::>Adnjkkkiecehmonlifeffdb`_aeiloprrstrpjedeikkiRT^nv†Q>‘„NA>=GA?EGFRYfiklnqrssrrpmhebbbbbbdghhjjis´HB54776655555455455443455655DWLMfkklmmjgdcdhlmmlifeeeda__ceilnoprrssqlebfhkZJPKQ`bHLQ957=CCBFKM^j`ehjlmopqrrqnmidaa``abdghiiik™|U\eG35443334445I:5443334538y˜š[@]kllklljigdcceillhdbaba`^]^adikmopqsrrqlfdff_aw\O}mc_QGMSVWWXXYY]acfiklnpqqpoomgca``_`adgghhjwr_’¤µy422122244585553222115p¬œŸvAUjkkkkkllljgcbcdghhfc`__^]\\^_bdgkmnoprqnjedgw¶˜ouiofedVSeqnmjhgg„[bdhjkmoqrpqpomhcaa`_abdfghokAb ž¬¡l4-011003687631224:7v¬¡»Ÿn>Oeikkkkkllkjgecaadfgeb``^]\]][[\^adijlnnnmlhit¤”oeadZXXWWfh^[XVWWÆ}[dgijkmosspppokgcb```abddffj2D™Â²ÁÓ}dWHLNUL>šx:S^YTO€’ÝìÈЮO3Gafjjjjijjjkjhdb`_adecba^\\]\\[ZZ[\abfiklljjk_m\TXXWVVVWXVVUUUUÉÃt[dffhklnprpooolgca`__`bceUP34sÏÈæóà¥zX[^ŽŽ_¿™Oshc\cŸÅñéÒÕ„<;Qiossssrqqnkieghc``aceedb`_^^__^[Z[]_cfijkmnlT…}`XSUWWWWWVVVVVVVV½Ìµa[acfijlmrqooqolgb`_`_abdU91/?¡¶¹Êçµc_aZV‡ñÜcedmjwµ¾Çµª³Ÿ¦¦¦©«««¬¬¬ª¦£™ˆnhifc``cghgedaabaa__]\^adgjlmnjOnu]YPSVWVYZYZYWXXXY¬ÁÏ¢Z\aegijlmoopqpolhc``^_abY5/,/8>=Y_e–`eqpaˆàÓ|glkcŽ±ž¤¡ ›˜•“‘ŽŽŽŽ”™š”kjkifbacfijhfecaaaa_]^]_bcgilfN^iXggo€\UY[\ZZ_`]yµÄÎW^cegijkmoppponlga`__`bQ0--.168=BKRWbp€“£ÈÊ«ŸŒxp£ˆ{zspnkgdca``__```aabfgz{jlkjhda`dhjkifca`____^]^_beiaIO[OcÀ»¼Áî¤KECJ`IH\OºÈÈtXacfhjjlnopopomkfb`__bR/,/579<>DO_r­ÖÜàæìëèééä·ˆ\^_afgdgms™ƒ}xwrqpnlgdzqjjkkieaaadgiigda_^^^^^]]^_c[CHNLPÂÞà×æîJE;‚®C:†Zx­¿Í´b\bfgjjkmnoooomljeb`_aV0,.059@IUg‚™°ñèîîìëììíð´obv€‚ƒ{z}{m‰yh€†…‡…„‚{yhukjjjkjhdb`adhihfc`^^^^]\\\^W?BGLFª°Ê¿Ûîz?=KÃB«VXz¸ÃÍ[_ceghjlmnnoommmjdb``X3-./27?DJNOTe‚‹Ûë”UKA}âzqOJO‡»ÁɈX\`cehijllmnmmmlhdaa[4../36I]E?HUj¹¶³¨£¢Ÿ––¢tW}ÈÞÝÞÞÞàÌZg_\Q`ÎâßØÕÙàÉelUmihiijkkjgda`_beiigd`]\\[\\V?>DHLPUVW_‚ptqiaÄç²\RLT–ºÄÂtT[^adfhiklmmmlkkgcaZ43//;J¬Þs=?IcLJNNNRTRg‘befÎáÝÝÝÝá¼M[X\QXÄâÝÚÙÜâÇJuPfihhhijjjjheca_`cghifa^][\\X@CIjPefefefggiijjgdba_adhiihe`^\C:AFJMQSW`lw|ƒœÏ×ÔØkodRLM‡¼ÂÒœZ_cdfghjkkmmmlkki]1;0-,014;=>@@GN>JuTjG=9899879::XxOJ?347;;7AIBEZgGe£b^a>88678675437G83557=IE7;=5`YYfddeffghgffghggd`^_acfijhdC2=JLNPSX`hhjnj¹ôïëêqoleXOJd¬ÁÍÇv\ceghhhklmllkjl^.93,/-*+++*++****(%4€™UdSB?9=LNA;9533234638h˜v6853MeRgedfgffeeeeeghhgda_^_afijhA/;KNPPRW`fcbda´¹¶²qklnfSUg†»ÆÓ¼j^cdghhiijklljcU-96-EO=40//-*)))+0/g‡MhIMRIMUQMIOI933344:Io—qIOH8?eKij[aegeddeeefghhheb`]]`ehi?,9?MQOOKF?:;>:3Dfo|•kPadccbbdeeeegfda_^]_c=%=C?FŸÜ{^WZJCKKHFIGmsqstwgTNIh¹ÇÑÅl\abdfeeeeeeaV>0--.)%$$%%#$%)FVGDCDGNSUVMIIJKMPSXh^ZiJXecccbbcceeddedcb_]^_:#9@=Bbwa^eeX@646?GGmmljjke\RML’ÄÈÖ£Z_`cddeeddca\Q>999<>=>>>=>??@JOlˆqd\ZYXWUWXZZZYZ[\]\[[[[\]\[\[]__efPJX…qacdbbccdcccddddb_^_:"6<;Qaa__`bbbbbcbcbccdedb`]9"66536>>?>:8cchfejqsosr_LJYd—¿ÄÔ¬bcddehiihhhhhiiigd`^\[[\]Sab\P»áÒØìŸdmortttxy}€x–{ š”Š…~{xrmhebaaaa`_``chjrdup_aa__^YWTPMKKIKNRU[`aaa`^XTflmhnojkospkSILLW¤ÀÈÔ^bddfghhiiiijjiigc`]\\\]R]ROGߥÄð¿euuvxy|~€ƒˆ‡‹Œh}siaYTNLLJKJPOKLIHHHFGGHHILZnaaa```^\YXWVVUVVVUX]aehgea^ytsptoiikjgjcLJJIm¸½ÍÉs]bceeffhhhhiiiihfc_]]\^TLJMKPc^•ç¨o”£­²¹ÂÈËÐÔÊŠwTNJFFFFIJLMMK[YGFCBAA@????>>>Naaaaaa`_^]]\\[\\[XXZ^dgiihfx€}pkjhehjniaOJMKK¾ÀÔ¬[\`bccdffghhihiiheb^]\^WEHMIJMU_wvžÔ«‹‰ˆ‰‡­Û¤†QBA@>=<;::987644567866667767789499:;855666556>CDEFEEFF:a“a;@@;;644444545@FBISZbj}³Ô[L[_fr{–¶‰C@<7=<;:87:;6`‡X8=B:83234344337BAW_aaaaaaabbbbbbaaba_\Z\afimprmkmpsplhjkfTLKLJa·ÆÍÖ‹^deffhggfghgggfffd`_W7=HCFKS[gv¡ÏcgÝïíäëà¦S:A513;;9728:7211237954BVGG?85429A9n—_aaaaabbbbbbbabbba_\Z\alklmqtsprkjlkjoePJKKMŒÆÉÕ¿jcefgihgfghhggfffeb`X3:HEEJPZfu˜ÎoYÜóîêðË–F;?2219`^4133200002356;IJGJIGA725B:WÕš`efdcbbbcbaaabbbba_\Y\jrurpqpknijieirbKKJKK]µÉËÕ—`eefhhgggghgggfffdbZ/6GHFO]]Yb³xNÀÛÚÜÞ¹‚>=<120SrqQ40.00///122;A?IQXUWYE23?>>‰ Q@BBNcbba`aaaaabbb`^[Zqvtojijlnijkvste_ZLLMPƒÇÇÐÉubffghggfefgffffgfdZ17CHKœÄ§aQc~:KUXUUŒg;@;34;h–‘F;;3////125CEMMR\ZZZI31;@>FYD3535Zcba```aaaaba`_][hijgaaahhqzxstnkmeSJMRY®ÉÇÖ©dffhihhgefgffgfgfeZ37>HG¢çÕ„L^}…?AA@<]ƒU;A>@;9EjmbDAB9....02AD}tI;BAJaA?BBAA@A<0///02?HGOCYf`VSK=23?6@831017Zbaaa```aaab````_‚|‚‚xuzvhhoxvxyqe\RJJKJQ ÈÅ×¼f`bceeddefggfffe]R+16?DFN[bgu‡9@NMLUOC9CQakB@@@?A??=9787659>DA;GPNBBAA87:4=?E9?L\ba`aaaa`aaaa``aaa…|u~xrqilsmifnhabbVJKK]f~»ÃÊØ‘\aaccdeeeeefdd`TM+046>>==?AFPJ/5jD9;:?5>KB9::976655;=>;9:@6333432345:JJIG?98\b`dcabaaaaa`aaaa`aaaa}xvysnq`_gqyqijeZLKJT[Y™ÃÁÕ¿f^`bbcdddeeb]]YSN,/2/20.,,/5<5543DknBA502443345679:@AA@?@D>;===>=>==>@A?8?Y4Fa_chifdcccaaabba`aaaa‡{†z†z†z†z‡z‡z‡z†{…z†z‡{‡{†z†z‡z‡z‡y‡y‡yˆyˆyˆyˆyˆyˆy‡y‡z…|ƒ‚~|„xƒuƒtƒt„t†x†y‡x‡y‡z†z†yˆ{‡{†zˆw‡u†x†y‡z‡{†{…z…y†z†{„~ƒ€‚ƒ€‚€†y†z…z…y†y†z†z†z†z…z†z†z†y…y…y†y†y†x†y†y‡y†y†y†y†y†y†y†y…{~{‚yƒuƒtƒuƒv„u…v†y†x…x…y…w†z‡{†z…y…w†t…v…v…y†z†z†x†w†y†|ƒ~‚€‚€€€…z…z…z…z…y†z†z†z†z†z…z†y…y…y…y†y†y†y†y†y…y…y†y†z…{…z…z…z…z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx„y†y‡w‡x†y…{ƒ}‚~‚€‚€€…z…z…z…z†z†z†z…z†z†z…z†z†z…y…y…y…z…y…y…z…z„{…z…{„{…{…{…z„{‚~€€~‚z…y„y„x„w…y…|„{ƒy„x†x‡z†{…{„zƒyƒwƒv„v„x…yˆy‡y‡z‡z…{‚~‚~‚‚€€†x…|…|…{…z„z…{…{†z…z…z†z†z…y…y…y…y…y…y…z…{ƒ|ƒ}ƒ~ƒ}„|„|„|ƒ~€~‚|„y„x„w„x…z…|…z„y…z‡z‡{†{…{…z„z„vƒv„x…y†x‡x‡y†y…y„{‚‚‚€€€„{‚‚ƒƒ~„|ƒ}ƒ~…|…z…y…z†y…z…z…z…z…z…z…z…{ƒ}‚}‚~‚‚}‚}‚‚€ƒ€‚~ƒ|„z„y„w„x…z…{‡z†z†{‡|†|†{…z…x…y„v„v…x†z‡{‡y†z…xƒzƒ}‚‚€‚€€€ƒ‚„†}ƒ€€‚‚~„}…{…z…z…z…z„|…z†y†z„{„|…}‚€€€€€€€€€€€‚„}…~ƒ~„}ƒ{„z…z„w„w„w„y…z†z‡{†}„|…{†y…x…x…w„w…w‡x†x†y†z†y„{ƒ}‚~‚‚€‚€€ˆ€Šˆ|‚€‚‚„}…|†{†z…z…z‚}„|„{„~‚€‚€ƒ~ƒ}‚~‚€€‚~ƒ}…{…|…}…|„z„y…x…w„x„w„v„y…{†}…}„|…|…{…x„x…y…x…w‡u†v†w…y…y„|ƒ}~€€…z‚|„~‚€€€€‚€ƒ„~…}†|†{„}‚€ƒ€}…z†z…{…{„{„|ƒ}ƒ}„}‚}„|…|†z†{†}†z…z„y…x„w„yƒx„x…z†z…|…|„}„}„|„z„w„y„y…v†u‡u†w…w„xƒ|‚‚€€€‚‚ƒxƒ€†}ƒ€€€~€~€€‚~ƒƒ„ƒ|…y‡x‰xˆw‡w†x„{„{„y„{„{…y‡y‡x†y†{†y…z…z…y„x…x„x…y†{„{„|…}„~„}ƒ|ƒzƒzƒy…x†w†vˆv†v…uƒw{~‚€€€‚}‚ˆ{†Š|…}€‚€€€‚~‚~‚~‚}„{†z‡y†y‡y‡y†w‡w‡w…z„z„x„y„y…x‡x†x†y…z†z…{…{…y…v…w…x…v…z…|…|…}…~ƒ}ƒ|ƒzƒz„x†x…z†w‰v‡v…v‚w€|€‚~ƒyy’xŽz‚€‚‚‚€€‚€ƒ…{†z‡x‡z‡y…w†v†w†w…x…x…v†u‡v‡v‡uˆwˆz†{…|…z…z…y„u…u…v…w…z†|…{…}„~„}„{ƒyƒx…w†w†y†x†w…xƒy‚|~€€~‚~ƒ‹Š€‡„‰€…~„ˆ}ˆ{ˆyˆ{ˆ~†€{‡x‡v‡y‡x†w†w†v†v†u‡u†s‡tˆu‡uˆuˆw‰{†|„}„z„y„x„{„{„z†y†y‡{†|†~„~„}„{„y„x…w†wˆx‡w„w‚z|€‚ƒˆ‚}ƒ|„‚„†}‰†ƒ‚€†~ˆ|ˆ{ˆ{‡|ˆ}‡}…y‡v‡v‡w‡x†w†v…v‡u‡u†u‡u‡v‡t‡uˆwˆy†y…{„y„x„z„|…|†z‡{‡z‡{‡}…~„~„~„}ƒz„y‡x‡y‡y‡zƒ{}€€€‚€‚ˆ‚€‚}„{…€ƒ†~Š†ƒ……€ƒ„€ƒ€ƒ€„ƒy†v‰u‡z†~ƒ€‚‚ƒ„ƒ‚‚‚‚~„w†v‡x…v„y„y„y„{„z†y†y‡y‡{‡}†~„„ƒ‚~ƒz„w†wˆy‡y†|ƒ~€€€‚€ƒ}ƒ}ƒ€€‚|…y„}ˆ~ˆ€…‚‚‚€€€€€€€€€‚x‡u‡z…Š}‘|‘|}Ž‘~}‘}‘|‡v‡x…xƒy…y„z„z„z…x‡x†x‡z‡}…„„~ƒ„}…w…sˆu‡v…w{~}}~‚ƒ~ƒ~ƒ€}‚w„rƒ}…}…€ƒ‚€‚~ƒ„~€ƒy‡s‡„Œ}‡|ƒ|‚|††€ˆ~‡}‡|‡}Š}‹}z…w…y„x…y…z„{„y…x†x†y‡{‡|…}ƒzƒy„x„v‚qpqq€o}s|s~rrs€w{‚{z€s€q€q€|„}ƒ‚‚€‚‚‚ƒ‚ƒ‚ƒy‡u‡‚‚‡}||€{ƒz‚|ƒ{†w…y†}‰}ˆ{€‚y„y„zƒ|ƒ}ƒ|ƒz…{ˆ{†z†x†s‚n~i}n}o{s|szszq{o|j|h|h}g~f~h~v‡‰‰ƒŠ…Œ†‚‚ƒ„€„„€ƒ€ƒ‚ƒ‚ƒƒƒƒ‚‚‚~„€„„€ˆ|ˆ~…†|†x…z„y†wƒ|ˆ‡{‚ƒ€ƒ‚€‚€‚ƒ„‚…„}„x…uvxyzyzy~x~x~yx€u€r€w€‡’Š£‰¢‰¡‰ŸŠžŠžˆ~‡†‡ˆ~‰}‰|‰}‰~ˆ}ˆ|‰}‰}ˆ}‡}†…~‰{‰~‚…†ˆx‰yˆwˆwƒ~~…†€‡{ƒ~‚ƒ€„€„€ƒ€‚€‚€ƒ€„€„€…†€…€…ƒƒ€Š„€ƒ€ƒ€„‚‚‚ƒ„‚ƒ‚ƒ„‡…‡ƒ~€|…z‰{Š{‰|ˆ}ˆˆˆˆˆ}Š}Š|Š|Š}Š}Š|‰|ˆ|‡~…}ˆ{ˆ|‚‚…~‰y‰{‰{ˆzƒ}‡†‰{…}‚€ƒ€„€…€…ƒ€‚€‚‚‚‚ƒ€„†~‡~††€…€‚‚„‰€†‚‚‚ƒ‚‚„‰††{†|‡}„z…zˆ{‰|‰}‰~ˆ~‡‡ˆ‰}‰}Š|Š}Š}Š}ˆ}‡~†€…~…|…}…~†~‡|‡}†~…}‚~……€Š{ˆ}…‚‚„€ƒ€ƒ‚ƒ€„€ƒ€€€€„€†€‰ˆ~‡…ƒƒ‚ƒ€€€‚€†‰‰~ŒzŠ}ˆ€‡{‡zˆ{‰~‰|‰|Š|‰}ˆ~†€‡€ˆ‰~‰~Š}Š}‡…‡€‹~Š}‰}‰}Š}‰}‰~‰~‰~‰~‰Š~|{|„„ƒ€ƒ€‚‚€ƒ€‚€‚‚€€€‚…€‡ˆ~‰‡€„‚•}‚‡†Šˆ{‹y‡~‚‚‰}Šz‹{ŠŠ}‰}‰}‰}‰}‡€‡€‡‡ˆ‰~‰}‰}‡~‹}{Ž{Ž||‹|‹|‹|‹}‹}Œ|‹}}|{|…†‡~†ƒ€‚€‚‚‚€€€€‚„€‡ˆ~‡‚}®zº›†‘ˆ}‰y‡|†‰{‰{‡ˆ€Š~Š}Š}Š}Š}‰~‡‡€†€‡€ˆ‰~ˆ}ˆ~|Šƒ‰‚‹}Š~‰}‰}‰}ˆ‰~‰}ˆ~‰~‡ƒˆ‰ƒ‡~‡~ˆ}ˆ~‡„€€‚€‚‚‚‚‚€€€‚„€†ƒ€–‚’‡›‰“‰ˆˆ’‡“ˆ–‡—„‰Š}Š~‹}Š}‹~‰†€†€…†€ˆ~ˆ}‡}‰~‚ŠŒ†€ˆˆ~ˆ~‡†‡‡†€‡‚‚|‰†ƒˆ~‡~ˆ~‰~‰~‰~‡„€ƒ€‚‚‚ƒƒ‚‚‚‚‚€‚……~††ª‰²‡¸†³‹¬‹¯ˆµ‡·€ƒ†€†~‰Š}Š}‹}‹}‰~‡…€…†ˆ~ˆ~†€ƒ‚ƒƒ‚ƒ‚ƒƒ„‚„ƒ„‚€‚…€ƒƒ‡ˆ~‡~‰‰‰‰}ˆ~ˆ†ƒ€‚‚ƒ€‚€‚ƒ‚‚‚‚€€‚„†™Ã}ÌzÌxÏ{Ë{ÌxÐvÒ}„ƒƒ‡€‰~‰}Š}‹}‹}‰~‡…€…€‡†„€„€„‚„ƒƒ‚‚ƒ‚…„ƒ„€‹}Œ{zŽyyx’z‘{‘ywx|ˆ~‡~„ƒ€‚‚€€€€‚‚‚‚‚€€ƒ…†™œ{³x½tÈrÎsÏsÐqÏ|‡|„‚†€ˆ‰~Š}‹}‹}‹|Š}‡…†€…€ƒ€…€‡€‡‡„€ƒ€ƒ‚‚‚ƒ€‰}‘z”z“y“y“z’|’|’|’{’z’z‘z‰}‰}ˆ~†ƒ€€€‚‚‚‚‚†©Š{€‰~‹~}‘}“}“}‰~‚ƒ‡€‰‰~Š}‹}‹}‹}Š~†…€„€‚€„€†€†}…~ƒ‚€€€€€€‰|‡|ƒ}€†‰€‰€„~~€~~…}‹|‰}‰~ˆ~ˆ~†€ƒ€€€‚‚‚ƒ€‚…z¶y»{£}‘„~”~€€{ƒ~„}ƒ}‚„ˆ€ˆ‰~Š~‹}‹}‹|‰~†€ƒ€€ƒ€ƒ‚‚ƒ‚‚…€‰€ˆ€‰ŠƒƒŠ|‚|y}y~z~‚|‹xŒyƒ{y}y~x~~‰{Š|‰}‰~‰~ˆ~‡~ƒ‚€‚‚ƒ€ƒ€‚ƒyµsÐrÑtÊv¿sÆvÃ{«Œv„~„~ƒ|ƒ‚†‚‰€ˆ~‰~‹}‹}‹}‹}ˆ„€€€‚€‚ƒƒƒ„‚ƒ‚‚„‚„ˆ~Š|…}ƒ‚€ƒˆ|ŒwŒw‡y€~€ƒ€†}‰{‹|‰}‰~‰}‰}‰~ˆ~…ƒ€‚€‚ƒ€‚y²rÍqÎsÎsÇu½{®}›{”oz‚‚~‚}‚‚‚‡€‰~ˆ}Š}‹}‹|‹|Š~…€€‚€ƒ‚‚‚‚‚ƒ„‰}‡}‡|‹}‹~Š}Š{ŒyŒwŒx‹}ˆ‰€Š|‰{‹|Š|‰}‰~‰}‰}ˆ~ˆ}†~„‚‚‚€y¬rÎqÏrÏv¼|•ƒƒƒ}~h{m}{‚}z‹~‚ƒ‚ˆ~‰~‰}Š}‹|‹|‹}‡€ƒ€ƒ‚€‚€‚€ƒ€…€†~‰|„}…|ˆ{ˆ|‰|ˆ|Š|‹{‹{‡~}„ˆ{ˆ{‰|Š|ˆ~‰~‰}‰}ˆ~ˆ~ˆ~‡~„ƒ€‚}£uËuÁtÈy¡€~ƒ~‚†€‰j}i{q{ˆ}‡~‚ƒ…ˆ€‰~‰}Š}Š}‹|ˆ…€†€ƒ€ƒ€ƒ€„†~‡~‹|†~…}†~…~…}…}…~‡}†}ƒ~~‚€……~‰|Š|†‡~ˆ~‰~‰~‰~ˆ~‰~ˆ~…~ƒ‚‚€Š~Ÿ}Ž|š}Š€€€€kj|k|x€€‚~ƒ}ƒƒˆ€Š~‰}‰}‰}‰}‡~‚‚‚‚‚‚€†~ŽyzxŽ{ŽzŽzŽz{zŽyyyx‘x“w”vz„€†‡‰‰~ˆ~ˆ~‰~‰~‰~†ƒ€ƒ‚~‚€€‚‚‚nnm~t‚ƒ€‚}‚}ƒ„‰Š}‰}‰}‰~‡„€„‚ƒƒ‚ƒ‚‚†~y–v•v”v”v•w•w•w•v•v•v•w“w•v•v–uz†€‡€‡€‰ˆ~ˆ~ˆ~ˆ~ˆ~‰~‰~ˆ~„€‚‚‚‚‚o„m€j|m€x‚‚~‚|‚€‚†‰~Š~Š~Š}‰~‰~ˆ‡†€……†€‡€ƒ€‡~Žzzy’w‘x‘x‘x‘x‘y‘y‘y‘y‘yxz‹z‹{ˆ~‡†€…€‡‰~ˆ~ˆ~ˆ~‰}‹~Œ}…~€ƒ†~†~‡†††k‚l~hzi|j}z€}}‚ƒ€‰~Š~Š~Š~Š}Š}Š}Š}‰~…€…€†€‡€„‰{Š{‚„zxŽyŽyŽyŽzzŽzyyzŒzŠ{Š{Š{‹{‰{ˆ}‹}‹|Š|‰~‰ˆ~ˆ~‰}†‚€‚€„€……€„……on~hzgyezs€ƒ~”|‰…Š~Š~Š~Š~Š}‹}‹|Š}ˆ†‡€†…‡{„|…|…„€‹|Š}Š|‰}‰}Š|zyx’y“x’w’w“w“x“x”x”y”x“y|Š~ˆ‡†…€ƒ‚‚€‚‚ƒƒ‚l€j~hygxfyl}{„€‰~…}‚‡Š~Š~Š}Š}‹}‹}Š|‰}ˆ~‡€†€„€…„‚€„~ƒƒ‚‡†€…€„€„‚ˆ~z“y“z’z‘zz{|Ž{Ž|{{Ž{{{Š}ˆˆ‡~†…„ƒ‚‚‚‚‚‚ƒ‚f€g~gzhxhwizq~€‚~‚~ƒƒ‰Š~Š}Š}‹}‹}‹|‹|‰~‡†€ƒ€………€ƒ€‚€ƒ‚ƒƒƒƒ„‡Œ||‹|Š|‰|‰|ˆ}‰}Š|Š|Š|‰|Š{‹z‹{‰|ˆ~ˆ‰~ˆ~ˆ‡€‡€†€…€ƒ€€‚€ƒih~gzfxgwhxhyuƒ€‚}‚‚ˆ€Š~Š}Š}‹}‹}‹|‹|Š|‰~†€„€ƒ„…~„‚€‚‚‚ƒ„‚…ƒ„‡‰|‰{‰|‰|‰{‰{‡|ˆ{‹{‹z‹z‹{Šz‹zŠ{‰|ˆ}ˆ~ˆ~‰~ˆˆˆˆˆ†€ƒ‚‚‚jh~gyexgyjzhzr€‚‚~‚~‚„€Š~‹}Š}Š}Š}Š|‹|‹{‹~ˆ„€€ƒ„ƒ‚€‚€‚€‚‚‚ˆ~Š{Šzˆ~ˆ~‰z‰z‰{ŠyŠz‹zŠ{Š|Š{‹{‹z‰|ˆ}ˆ~ˆ~ˆ~ˆ~ˆ~ˆˆˆ‰†€„ih~g{fxi{k|h{n~}‚}‚€ˆŒ|Œ|‹}Š}Š|Š|‹|‹|Š~…€‚€‚€‚€‚€€‚€‚‚„€ˆ~‹{‹{„ƒˆ{ŠzŠzŠ{Šz‰zˆ{‡|ˆ{‰zŠ{‰|ˆ†‡†ˆ‰~‰~‰~‰~ˆ~ˆ~†ƒ€jj~j{i|j}i~h~kt€‚€‚~‚‚Š~Œ}‹}Š}Š|Š|‹|‹|Š}†€‚€‚€‚€‚‚‚„‚„‡ˆ}Š|Š}„€‡|Š{ŠzŠ{Š{ˆ|‡{†{‡z†z‰{‰{‡~†€„€ƒ†€‰~‰~‰~‰ˆˆ~ˆ~‡mƒk‚jjn„k„iƒjq}‚‚‚„ƒ‚‡€Š~Š~Š}Š}Š}‹|Œ|‹}‡€‚€‚‚ƒƒ€ƒƒ€†‡~‡}ˆ~‡|†~ˆ|ˆ{ˆ|‰|ˆ|‡|‡|ˆ|‡{†|‡}‡~ˆ~‡……€ˆŠ‰‰‰ˆ‰~‰~‰lˆmˆn‡oˆq‡p…m„o…s…|ƒ€ƒ~˜}Ž~‚‰‰~‰}‰~‹}‹|{Ž|ˆ‚€€‚€‚€‚€‚€‚€„€†ˆ‡~‡~Š}‰|‰{Š{‹|Š|Š{Š{‹{||Ž{|Œ|‹|‹}Š~…€‡€‰€ŠŠ‰~‰~‰~‰~‰~ˆ~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍÌËËËËÌÌËËËËËËËËËÌÌÍÍËǼ³®¢ž€}pgkujigkkrcgbW\a\[b\T[`]_VPOSZX^d`dRTVVTVTSXUPU]][XTMD>9;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌÌËËËËËËËËËÌÌÌÎÎdzš¤•u€ys]]^q}m[^ljfZYZ[_YVTO^e_[ROOPXV\efgOU\_YPPKQRW^aZUPLJ@?76521/76ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÁÅÀÇËËËÌÌÌÍÍÍÍÌÌÌÌÌËËÌËÊËËËÌÌËËËÌÌÍÍÍÍÍÍÍÀ¢Š†omlnihkpu|y^`_bcZZ[ZZ\QSV]bYZXVSQTRU[ecPQXZTLNMRQ[b``YQGA?<951210/1ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÀÅÁÊÌËÊËÊÊÊÊÊÊÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÌÌÍ˳˜’xknuzs|ec`\eXaccZZWU`XRXfbQOSVWSNKWPWfPNSWYPLROOW`^`UTUOH?=84320--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÈ¿ÁÀËÎÎÍÎÌÌÌÌÌËÊÊÊÊÊÊÉÉÉÉÉÉÉÉÉÊÈÈÈÆÈÉÉÊËÊÊ̽’‚sbj{kag_^_Vh`WWTSM\`_`qkYOOT[TMITRRYTYZXUNOQUZ`XVYPOXNI>>A;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏƸ»ºÉÏÎÎÎÍÍÍÍÍÍÍÍÍÌÍÍÍÍÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅâ‰xzsh`jmlb_`]W\_UQZRRPZefegbgUQVYSPRTSQWRY]`TRTQYZ]XXSROPPI>?=7651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎúļÆÏÎÎÎÍÍÍÎÎÎÍÍÍÍÍÍÌÌÌËËÉÉÌÍÎÌÊÇÅÉÊÊÌÎÌÆÄÀ²™{{rcVSa\Y[_`^a^WTPJLTY_adh]ZSOPQOKTRSP^LTUYYVYZ^Z[VRPSNRKEC>A;531.3ÏÎÍÍÍÍÍÍÎÎÎÍÍÍÎþÌÂÅÎÍÍÍÍÍÍÌÌÍÍÍÌÌÍÍÍÌÌËËÉÉÉÌÈÄÂÃÁÆÆÈËÌÉÁ¾¼ªŽ€yrWSRQMVWmodaa[XLC@LWP[`a]VSQKMJHLHPLYOQTUVVZZZZ]XROSMUNCHA?>3/.,,ÏÎÍÌÌÍÍÍÍÎÍÍÍÍÍÄ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÎÍÍÍÍÎÍÍËÊÉÇÅÉ¿½¸À½Á½ÃÊȺ®¢¦Œ}ur_UWYXhi[ned\UUQQVTbSOZ]ROVWPKIFNOQYWQPWYUTWWUNPZSQVPWW?57220.--,ÎÍÐÖÓÎËÌÌÉÈÉÉÊËÄ¿ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ¾Â¹¸©¿·À¶¼Ç¾¼µ¥‡†~nˆvb\_Z\ejUn[S[TMST\YUMPRXRPRUWKKKSSRZf\NUWVVTTYQL\WX[[LC=6440.-,,-ÍÙèðíäÓÊÈÁ¼½ÀÄÈ¿ÇÁ¿ÊËËËËÌÍÌÌÌÌÌÌÍÍÌÌÌÌÌÄÁº³½¸¯Ÿ¹±½µ²À´¹³˜„yylgc`baT\aYTdYRZ]OSRV[TUTNNMJKMSXUOROQQcYMY[WQLNXWPUXQLJA7=<:62.-,-.ÙïÙ·ÀãêϽ¶°¯µ·¾ÁÂÉÅÁÉÌËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ²ª¨¬¯¥©¬µ¯±¸«ªŸ‚uuskjQ]dZXcVO]h]X_WKPQSZ^`TPLLKMQLVWJNTNR]]X`\SOKNYUQWPPWJBB=;;962//.-ìÇ}im¡æÚ´­¬­³±¾ÃÅËÈÄÊÍÌÌÌÌÊÆÊËËËËÉÈÆÂý½±¡š™¤¤˜•¢¬ª««§¢™ƒslhdjm[TVUa_VV\YX^USWSSUT]VQSNNTTQRTWQOWPRX_X]WYZV]^RRZWRP??F;87775300/ãˆutpŽÍç·¬ª®°²ÀÀÄÉÈÂÊÍÍÍÌËžÈÌËËËÇ¿·°±±¶«ž”˜™˜‘¤±«¬ –™‘xhdeUe^QLHOW`YQQ]f]`n\]a]SWNPONOQVRTRUXR[ON^^\gZa\he_RPMMIL@<856779<@?°};BMGjÂîÖÃáéÁ´Âĸº³»»ÈÀ¶©¡ •Œœ–š•‡‰‰ˆ…„xƒ~|vwvpqmjeX\caaXRRXW\\`WT\SW^ZVQINLNIBCEA?EEDBRGTW[W^a`\QbaUWWRKGDG965777H{ÔZ­ñìíííííììçååæ긎Œƒ‡ŠŽŠ~ˆ‚Œ—‡…y|ƒ‡€}‰y{wuttvsbUQZYZVYVNYZ]_ddglokR[\SMQQGEEOVQPOOOIJVZ]ZNM]Y_\\geV^TA::<<;::9;><=DNSV_Z[afl`\^W[SXSSVWUA:887799868:???=IIILLLM^…Ùîå®LEFFLTFHGHG@ny~€}y{€|}}€~x|}~ƒ‚|z|uqtyxsokg\SMKXV[STW[YUIW_[]VY_VKMTONILOOPSUXWZmdZ[ZZVYWQVKMK?873c~98888;BECEXWUSr¢ŽË•±ÜÌ‹IFAG]cUUPGFDK•{yx}‚}w}|z{~z||{~€~€}xwomvxzqg`aSQRD?MVVTWYOKITW[\UYc^SMLIKNLMJHJNWWY\`Z^WUQVNKMHA<8776U‚=89:;=AIJHdWSJªúêø–„¾·odIEALONL<89>:†•§‹~z|ywzxv{z}}{|zwvlhntyoha^PRSFHOTX[TPSRTTZUVWX_\RLEDADFIEEGJSV\YUMTSTQSMFEC=:7776Z€A88;==;@KNWaZRWZQVZMKD;;997673†äO26;;;AHJKºµ´®Ÿ€\W@–ཥŸ¥§«¯°°¯­ªª©§±ÄÒ {‚~vyxwwvvtwuzvz{zwsqsqhjpjhf^N]j\SSWZXPOVWZb^XU[YUMHD@@??<78>DHJ[hXTYW[[SFB@:7787795ƒâP08;=BGGDQððñõêQLCl¸ËÖÓÕÖÙÛÛÛÚØ×ØÕÓØÄ{|~…xuyz|€‡‰Œ’˜–œž›—‘Œ†{srffcb[flbYMOYXUQSYW_YVZdYOIBA@ABA?>CHC?K[jk]KPeQG@:;97;;::=8uÚX4=;=CIIBVéëÜ´®yOFFrÂÖÛäääçéêçéìèåäãßÖ›€€|{ƒ‡œ¦««¨¥¢›–“”–˜˜œ ¢¥¤¡„hf`\[W\XNNVTMOS]\YX[\\SUMG@AGHB=CRPJU\^jnQVXLB;875:?BB??;{éd7?8MTNejivˆj[^RIB>;:>FLIC=>:ók7<5=GIYagvsƒ{qbIIEqÁàäêæèÇš«Ò»£«àæåáÝÈ|xo~’WONNPSXW\e„…gVSXgec[TCMnn_SV]YY\SOSPSP[^Zd]TUQOIGHCFKGEHNMTijisrcajiXQLLPTTVSIIM8}õs889S[^jgh{vyrbHAC;_«èæééæëáßéãÚàêåéåèÊ|||wg?Uao|ƒƒI850-135Jegffg\@PkaTNVY_XWSMNWUZc^`WOOURME@=IV`X\fhmbZWX_bdjmkof_iwuokfihQ„ð…UT\uuppjfGEDGLF614T•èíëëìëëëëêêêêêëìîÀ{}|y‚LHy–Ÿ¤§©ŠqYB@CLLKI?579@VC\b]SWYYSQOOMT[WSXYSMPXSPV\[uuakwkYTW[]]`edk}ƒ‚ƒ€|ƒ‡‡‡‘¯’Š„|zsrlfpnnrwzM*2M…æðïðïïïïïïðïîïïïî²t|y}vGRz·¶¶¶²¬¤ºŒwŒ€KNNA7554]VKa]YZUURV]^SS[WOLMT]ZX\fx€†‹€acqiRQY[[[\eiku~}zztt|‡ŒŽŒ’™œŸ›˜˜™˜šzyyww{dSXc~¸Ç¸ÃÉ»¸¸³µÁÓÉ»Çׯ}u‚a[OG~rfa\`—Žx‘zKKL\_L43JsFlmkmkqz‰’‡‰Ž‘‰ˆ‘²š‚{w|{kbmmbW\_^][`geisheaccu}z~‚”˜ŠŸ›–’‰ƒ€~{xqppoprrvxzyxz{z~}~~{z|€{y|„’‘„‡PtC13421=LLINROJLEHqo\6?_ŠQfvvxxwvtssttuxz|‚ˆ”¤³´«šŒ~smklmnlid`]]]ZY^^ZZ[\\`dgdfjxchc`[YVUUTQQomkkllmoruutsssuxz}~~~}|{yvutx„~O|747CMC?MMLLMLJJKHlyX8F’§jOjiloqstvvutrqqqppopt~Šš¦«¬© qggfdb_[YVYXWWXXVWWWWY]UIQSVW\bQ>;:9tpljijjkmnprrpooopsvyzz{{{{zxwtvnaw143eœvAKF@??CKJOEXre:62^ŠGddddegikmpssstsqpnmnonnory…™®½¹¢ˆsjhggfa_][YWSSSSRSSg„Kx†Š”˜ ˆB866xuqmkjjjjkmpppppopppqsuvwxxxxxu{bvg29:k‘dA7344;HFKLrˆ„@42C–S^fccbbbcdeimprtvutrqnmnnopnkmy¬º¹¬—ƒrihhfb`_[WYTTSP€w]š²´µ±¬¨¥fI76wvusokjiihilnnoopqrrrrpqrtvwxyu}[ŠS=HBr¡tGC5235748=¢|<535ŠnUjgggdbbaabbdgknqsvwwtqnkjlnpollp~“®ÃÁ§‰phgfffec`^YV–eaX†xeWMCO\V?<97Fx›i>:72wˆHkgYW_ecb``_^^`cfkorsuvvtpkhgjmnmkjkz›½Ë°‹rgfijiigbjŸX\>Y61577HWQHFuuuuutqkhfdfgiikmllmmnmlmmnd_htu\™O\cT€n_GHIKMLKLIPr’Y>9<3o}=fN98?gigdbaa```acgknqrtuvtrmggikmonljrŒ®ÁÀ¤…pjhijhšQR?Q45978FN>55qrstuutqnifdddehijjjklllmn[99>‚nFoJi`muyK6334jlnopqqqqplfb``aabddegijjleG54-7_D<::988876776667777667789;=DH5Pbghedegknolgcbbba^]]_dhlnprrsttrjecfiklkifdc^\[w›aBGGHA?h„ƒD>:62iklmorrssrpmgdbabbccdfgiijkke‰y9[B<:9888876777655666666788:;?CGnmijkiecehmonlifeffdb`_aeiloprrstrpjedfikkkdQVbrr‘TD]OKECHdM@HHA=fiklnqrssrrpmhebbbbbbdghijjjk§µJO<988876655655555555555667879BMhljklmjgdcdhlmmlifeeeda__ceilnoprrssqlecfhkhRT^it}L?‘„G=;;@?AEGH\`ehjlmopqrrqnmidaa``abdghijjg–¤TI<3376554444347854433345545JicGOkkmllljigdcceillhdbaba`^]^adhkmopqsrrqlfdfiZKMFHTnXFD:69BIFDGKLY]acfiklnpqqpoomgca``_`adfhhig€cYnM3432233333=E4532223443l§§NEhjmkkkllljgcbcdghhfc`__^^\]^_bdgkmnoqqqnkeefdnk[~tmiZKOX___```ƒ[bdhjkmoqrpqpomhcaa`_abegghjpm\©¬·U221122344515542111/0[›¤–˜WAdhlkkkkllkjgebabcfgeb``^]\]][[\^aeijlnnnmlheg{´”qogk```XUirlifdcÄx\cgijkmossqppokgcb```abdffirL;Žš°¡œZ04443105>O:64699@Oc¸·²¿H<^dljjjklkkkkidb`_adecba_\\]]\[ZZ[]abfiklljkijs¦o^]`ZXXVVbc[XWVVÊ¿q\dffhklnprpooolgda`_`acdeafH-l¸ÅµåÈwzRRW_oHj¼LQnk_Wh ÈóéÈÓz87Ucihhiiijkkkkigc``aceecb``^^__^[Z[]_cfijlnnlk\žƒiZTVWWVVVVWVUUUV¾Í±_\acfijlmrqooqolgb`_``ace\I<-G¢ÛÖññÇ—bZ[h–fžÐuaga_\ƒ³âàоµK47^gmnnnmmmljihjjifca`cghgedaabaa`_]\^adgjlmnokR‚v]VRUVWXXWWVVVVVW­ÁÏY\aegijlmpopqpolhc``^_bcaC1.1\¤–©Êí„`fcX[Îû¦Wlnvn›­¢Ÿ’–˜œ¢¢§©¨¨©©§¥ ž{ijkifbacghjhfecaaaa_^^^_bdhjlofOpo^\XWWWUZ[[[YXYYZ{µÄ͈W^cegijkmoppponlga`__`aaB.--/33BMHonUhokq³á£ujh^c¥¢¢©§¦£žœ™•”•““”””••˜›œž‚hlkkhdaadgjkifca``___^]^`behl`M^eTq³›s‚™^QUW[]Y^^OºÈÅpYacfhjjlnopoonmkfb``_a^9,-/159AGLIv“§Ä¸Üñ|?>G¼GPJN…ºÁɈX]acfhikllmnmmmlhc`_`C--.049=K`vššÚóòóôóññîíÇvb}š ¨®´¶”M975BŠÄÇÄ»»»¶ŒsSriiiijjjjgda`_beiigd`]\\[\\\R=?EINNSauˆÜá]QEvæŒ]RMS”ºÄÂtT\_adfhiklmmmllkgc`aD.//28Ap_87?Bƒ¡š–Ž~vm…˜\f”ÕÛÝÝßÞå TdYWL†ãàÞ×ÖÜä¢jZakghhijjjjheca_`cghifa^][\\]S>>EHLPVWW_yvlqtpg¾ïfXPJ^©¾Éºi[_adghhjlnnmmmljfbaC2103CvíºXMQniPV]bdfgk…ŠRlˆãÜÜÛÛÛáQ_]]LzÞÞÜØÖÛäœPoPkfffghhiiihfda__aehigda^\\]U?9::8596O k]eFHIILOPKBRV~lTWt|gYNA:B?@>ACDF_UDn¡Xf\B:688767:;CtmMK:237:97HCLiQfddeffghgffghhgd`__adgiiif^>4AIKMPSYalpmol©êêãqolfXOKd¬ÁÎÆu\ceghhiklmmmkjkjA27.,+./02456:;<>BYOA…’OnQ<:668877543FL55567;mNcdcfffffffeeghhgda___bgijjc=0?JLNPSY`hhkok¸õñíqklnfTUg‡¼ÆÔ¼j^cdghhijkllljkh@28/.4+++*))++((()&$I™~NlF>97342111/.-)(')+8^p}‡~]AIKGEHLOKKFDQID;9FOPQQNIB=@A:6P_Jœ’mUaccbbcceeddedcb_]]^_4'?B?J¢Ít]Z_J?FFCBEmmljjkd\RMM•ÅÈÖ¤Z_`cddeedeeb\K6-,--(&&&(&&((1X€˜§„qa?7:=A[m`_ff[E;89CJmebcd`b^SMJd³ÃÍÎxY`fecdeddda^XH>=>@AABDDBCDDDFSbŠrmYWTTUSQRTUVXVWWX[ZZ[[[[\[[[\^a^jcSOZ_`_bbbbbcbcbccddca^^]5$8<;@@>KÑç¤Z::9;<<>?@AB;EVC6::;<854455545=>@Zbaa`aaaa`a````aa`^[Z\_filjktrmjmnmegihiUJKLL‘ÆÆÓ¹a^`bdefffghhgggfffb_\]I>DEEMU\dmŽÔž@EGJNRU¥Â‡E?Ep`aaabaabbbaaababb`^\Z\amklmqtsprkjlkjoePJKKLŒÆÉÕ½icefgihgfghhggffffb_^E7CGCGNU_mƒÅ¦S˜ôñïëîëªQ;C615;::749:8412448:526CAA73332<@;šš_`abaaabaaaababbb`_]Z[jqurprqknijheirbKKJKK]µÉÌÕ–`eefhhgggghggfffgda`E3AICHNV_m~¹µI‹ðíèäìØ–D<@323;A>52674001126857JWGGC=7527B9a e`ccbaaaaaaaaabbba`^\Zqwuojijlnijkvste_ZLLMPƒÇÇÐÉtbffhhggfefgfgffffcaD,?JDFJR[ex§ºK€òñññóƃ=><120Aqh5100000//1249=BEKPMNI:24A>@Q`^Z[\_bbaaaaaaabbba`^\hijga`aghqzxstmkmeSJMRY®ÉÇÖ¨dffhihhgefggggfffdcF-DCMR\XZ\K42=@>JcO567@_baa```aaaaaaa_]qllnltorirqutt{k]SJJLKxÄÃÎÓ…aeegfffdegggffeeedG1:FChÕà°YUj“]8=@B:H‡V;A988@@?DwzH;B@C@9BWWNAAB9..../1>JDTEWc]VNG:25A:AA>454/Od`_```aaaaa``aa…|u~xrqilsnifohaccUJKK]f~»ÃÊØ\aacceeeeffffffa\D(6;DFNlyifuˆ{7=BFNwdC:CD[p@@@??A@@=311113=EIKAVe`SSK?12;3@:3//4C^caaaa`aaaaaa`aa}xwxsnq``gqyqijeZLKJT[Y™ÃÁÕ¿e_`bbceddeeedeeZRA(66?BCEJQZi{c5CSKKKD@9GV]S?AA?>?>=<:9976577;86:??999;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÁÆÁÈÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌËËÊÊËËËËËËÌÌÌÎÍƳ™£•rx€q]\^q}m[^ljfZYYZ_YVTO]f_[ROOPXV\efgOU\_YPPKQRW^aZUOLJ@?75421/76ÍÍÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÆÊÊËÌÌÌÍÌÌÌÌÌËÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ£‰†plkmkjmrtzy^`_bbZY[ZZ\RRV\bXYXVSQTRUZdcPQXZTLNMRQ[b__YQGA?<951210.1ÍÍÍÎÎÍÎÍÍÍÌÌÌÌÍÇÀÅÁÉÌËÊÊÊÊÊÊÉÉÈÈÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÌÌÍ˳˜’yknvxs}~cc_\fXaccZYVU_XSXedQOSVWRNKWPWfPNSWYPLROPW`^`USUNH?=84220--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÈ¿ÁÀËÎÎÍÍÍÍÌÌÌËÊÊÊÊÊÉÉÉÉÉÉÉÉÉÉÊÈÈÈÆÈÉÉÊËÊÊ̽‘Žƒq`jzkbg__`Vh`WWSSM\a_`qlYOOT[SMITRRXSYYXTMOQUZ_XVYPOXNH>>A;52/,+ËËÌÌÌÌÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÍÍÍÍÍÍÍÍÌÍÍÍÍÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅáˆx{si_jlmb_`]V\_UQZRRPZeeegbfUQVYSPRTSQVRY]`TRTQYY]XXSROPOI>?=6651-1ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎúĻÆÏÍÎÎÎÎÍÎÍÍÎÍÍÍÍÍÍÌÌËËÉÉÌÍÎÌÊÇÅÉÊÊÌÎÌÆÃÀ²š{{rcVRa\Y[_`^a^WTPJLTX_ach]ZSOPPNKTQSP^LTTXYVYY^Z[VRPSNQJEC>@;531.2ÏÎÍÍÍÍÎÍÎÎÎÍÍÍÎþÌÂÅÎÍÍÍÍÍÍÌÌÍÍÌÌÌÍÍÍÌÌËËÉÉÉÌÈÄÂÃÁÆÆÈËÌÉÁ¾»«ŽyrWSRQNVVmodaa[XLC@LXPZ`a\VSQKMKHKHPLYNQTUVUYZYZ]XROSMUNCGA>>3/.,,ÏÍÍÌÌÍÍÍÍÎÍÍÍÍÍľËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÎÍÌËÊÈÇÅÈ¿¼·Á¼Á½ÃÊȺ®¢¦Œ}ur_TWYWhi[ned\TTQQVSbSOZ]ROVWPJIFNOPXWQPWYUSWVUNPZSQVPWW?46220.-,,ÎÍÐÖÔÎËÌÌÉÈÉÉÊËÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÄÁÁ¾Á¹¸¨¿·¿¶¼Ç¾»´¥‡†~oˆvb\_Z\ejUn[S[TMST\YUMPRXRPRUWKKKSRRYf\NUWVUTTYQL\WW[[LC=643/--,,.ÎÙèðíäÒÊÈÁ¼½ÀÄȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÌÌÍÌÌÌÌËÄÁº³¼·¯ž¹±½µ²À´º³˜ƒyylgc`b`T\`XTdZSZ]OSRV[TUTNNMJKLSYUOROQPcYMY[WQKMXWPUXQLJA7=<:62.-,-.ÛïÖ²½ãéͽ¶±¯µ·¾ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÆÆÃþ±ª§¬¯¥©«´¯±¹«« ‚uuskjQ]cZXcUO]g\X^WKPQRZ_`TPLLKMQLUWKNSNQ]]X`\SOKNYUQWPPWJBB=;;961//--íÆ{hk£éÙ´­¬­³±½ÃÅÊÈÃÊÍÌÌËËÉÆÉËËËÊÉÈÆÁ½¼± ™™¤¤˜•¢­ª««§¢™ƒslhejm[TUU`_VV[XX_URVSSUT]VQSNNSUQRTWQOVPRX_X]WXZV]^RRYVSQ??E;87765200/åŒvupŽÌè·¬ª®°±ÀÀÄÊÇÁÉÍÍÍËÊžÇÌËÊÊƾ·°±°¶ªŸ”Œ—™˜‘¦´­­ —™’xgceUe^QLHOW`XRS`g\_n\]b]SWNPNNOQVRTQSXR[ON]]\gZa\he^RPMMJL@<856769GFr\ZU=Jsá› ìéââååçèèêèéëñÄ™˜”ˆ‹’Ž‘Š‹Š…ŽŽ‡Šˆ‚€ƒ{}Šyvuqsqnh`V[caZQUOQ]dbbTNSRg\bWLPQOIGCFRIBJKLFPQ\\XKWdcdT_cVPV]QD?@;:8878<@JADXemYEDT‚{èìíîíìíìêëæâä绌‹‹ƒ‡ŠŽŠ~ˆ‚Œ–‡†Žy|ƒ†€|‰y{vuttvsbUQZXZVYVNZY\`eeglokR[\SMQQFEEOVQPNNOHJVZ]ZNM]Z_\\geV^SA:9<<::::;><<;hqsrqkff{¹ÝëéèæáÛ×ÑÌÍÎÑ×Ø·‚‚„€…ˆ‡{…ƒŠ•†ˆ{‚†‡„~†|xuvxtun_X\_UUSSV^VOM_rraY\fPTNMRRMMIC>KTQRSSO]dccZSXX]ZR\VSSG<98;:78:98=<<;TUSTUYbcrÄðìÝ£ulfc[]]fmtŠ‹|€{}„€€‚‡}{€€„†}€}}tsutrrsf\^[NPZXZ\SU^ae^]U[baSTMKKQKG@=COSV^YZafk`\^W[SXSSVWU@9888889867:?>>?><;?KNWaYRWZQVZMKD;:996673‡äO16;;;AHJJÏÄÅ¿¯“aSC_ÌÀö¸¼»ÁÃÃÂÁÀÀ¿¼¾Å½¨~~‚wyxwwxxtzv}yz|}yuttvklqihf^O]i\SSWZXPOWWZb^XU[YTLGD@?>?<79>EGJ\hWTZW[[TFA@:7787795‚áP08;>CFHDPñóòôô¶[NGR©ËÖØÙÚÜÞÞÞÞÜÜÛÛØ×Ùžy|}…yvzxutuuwy€{}€‚€|ywrjejdfcb[flbYMOYXUQSYW_YVYcYOHA@@@BA?>CHC>K[jk]KPeQF@:;97;;::=8uÚX4=;>CIIBVÜÞÛ²¥ˆYGD]¬ÓÚãççéëíìèííèæçãÛ½„|{„‚xŠ–›¡¥§©ª©®­««¬ª¥¡—‚ie`\[W\XNNUTMOS][YXZ\\SUMH@AFIB>CRPJU\^iŒnQUXLB;765:?BB??;{êd7?8MTNdkiuˆj[^RIA>::>EMIC=>9ól7<5=GIYag‚|†ˆrgKJGT¥ÝâééäಱÌÚ¹²ÔèåäÞÛ”yzpr˜’pic\VQT\e¡—me`XTRSQLQws^SV]XW\TPSPSPZ]Zc]TUQOIGGCFKFDHNMShkitrcajhXPLLPTUVSIJO9|õs889S[^jghtllkaN@A=F‰Úééëçêêàæêàßêèèééâ‘z|xuŠXFKOV_h^GFJSL>;HJ]pknpSKFUodF32ceTutwxwvtsststvyy~…“£³´«™Œ~smkkmnmiea]]]YY]^YZ[\]`dgdca`‹Œ~Œ…~ysmjigeomlkklmoqtuutsstvz}~~~}|{yvss{Š‹ee`035658IMJHJJGIIDT{iM2g–‹Iehkoqtuuvutsqqrqpoot~Š™¥«¬©¡’sggfeb`\YVYXWWXXVWWWWZX]›fWXUQPQOLKHGtokjjjjjlnorrqonnpsvyzz{{{zzxvtp}V{O14=hmDFMIHHIIIJKKwnJ3Sy–UZfcdefikmpssstsqpnmmnnnory„–«¼º¦Žwkggggb_][YWTSSSRSV]g†JQ^cgnu|]976xuqmjjjijjlnppppopppqsuuvxxxyxvs}R‰@35CŒ˜cEE:789FKJOLb}Z44.ysMhdcabccdeimprtvutrpllnnopnllw©¹»°œ‡ujhhfc`_ZWYTTSRVt}S”Ÿ¤§«±ŸP<6wvusokjihhhkmnnooqqrqqpprtuvwwvtw\…7=;VŠ—™M>5324;@:E^—›f530^‘Iihedcbbaabbdgknqsvwvtqnkjlnpomko{¨ÁíŽthggffdc`^YVS‹lb‰±¯¦ž”‰„eP:uuuvtokhfeehjllmnnoooommmnpqtvuunoz?KHL}ˆ€QKA6566424L”–R942D›Talihhecb``_^^`cflpqstuvtplggjmnmkjju•·Ë¸‘uhfijiigd_`œ]`EmRA=94DYUDuuuuttqkgedfgiiklllmmmlklmmpqtrsc€qGRLau‰YHHFCCDC@=Gx”ŠL=;7<œ_ShPFK`igcaa````acgknqqsuuurlggikmonljo†¨¿Â«ŠskiijiduTWE83jmoqssrqpkgba`abdffgijjjklf;;9VzFJIH[8;AAAIQPKKFA9>A=@u}†M833gjlnorrssrplgcbabbccdfgiijlbNFG/ST=;:;989877877677777678889;=H=Hjmkjhecdglonkhfeffdb__aeilopqrssrpjecdhjkjjbPSY`o˜ZBHGJCA_}q@CB@AFJL^`cfiklnpqqpoomgca`__`acgggigp§rPIC336544335345@74444345542Qy\CXkkkkkllljfbbbdfhheb`_^^^\]^^adgkmnopqqnkfdg[OOL@OxhOJF??HNLHKMM‡[adhjkmoqrpppolhc``__`bdffhhl…vY…•ŽK2322233335A8543333331S¨£¦}GOjjkjkkllkjgdbbbcfgeb``^]\]\[[\^adhilnnnmmifdb~¬~hzxunlaPQ^iiiiiÅ{\cgijkmorspppnkfcb````bdefhniPm¥»•F00111134502641/000-KŽžª—ƒCJegjikkkjkkkidb`_adecbb_\\\\\[ZZ[\abeiklljkjgd}°‹ojff\Z\XUkpfc`^ÉÁsZcffhjlnpqpoookgca_^_`bcdeke-]±©¬£J==::8349bV7noronmlkkkihghkkifa`cfhjhfecaa`a_]]]_bcgilnqeP~o[TPTVVWWWWVVUVWv²ÃÎX^cefijkmnpponmkfa`__`acV2/.6irvšµ ªgiqgT‰òâpeqwrt¥z…sx‹‘œ´³±ª©ª©£¢¡ž™‰shkkjgcaadgjkifca`____^]^_adgjoaPmj^ag^XZXY[]]ZXZ[MŠºÆÉvXabfhjjlnoponnmkfb`__`bN0---.14A?EIOPS\h€Ò͈fYKiãeXPJ\§¿É¼jZ_adfhhjlnnmmmljfbaV1///9>n‘L-04Jsqnljeb\Wˆ‡Py±×ÙÚÜÞßáuZZTQR´æáÞ×ÙßâˆqPiiffghhiiigfca__adhigda^\\\\P>=FHMPUWX]hhfmttl®jaPLIp¶ÀϬa\adeggikmmmnmljiecV34//:PÉíŒ_et•jfjrz}‚ƒˆ‘pYlºàÛÜÚÚÛØg]^cXL¦ãÞÚÔÔÚâ{d_Zjeeefggiiiigdb`_adhiihea^[\S?;EHLOSVY`abddhmw…lodRLL†¼ÂÒ—Y_cdfghjkkmmmljjifW39//1<Š£t\kt‚„ˆŠŽ’“‹—›_fZ¨ÓÐÑÕØÚ¿RQRZRNæäåáÚÎÀbJpPgddeffghhhjihfc`^_bghiigc^]U@:DHKORUXcox~‚‡‹›¥iit^OLVš½ÉÌZacfghijkmmmlkjjhX1;..-04@E8:@B57751121xšRnRMRRX_cdRGU^„[TbŠxjZLCD>nP`edeffghgffghhfc`^^acfiiiebY=7DHKNQTXamvy}|¤áçpoleXOJd­ÀÍÆu\ceghhhklmllkijjY.;/-,/237=>>?BEGGYnQP–†MoL<7676547=>T]PH6136968K=^]Yecfffffffeeghhgda_^_afiiih];3CILNPSZbkmkmj®éèqkkmfSTgˆ¼ÆÓ¼j^cdghhiijklkijkZ,;1-*+../01134568BJ8N qPkE<8689887438[G66568<@<9E=JiOhkbffeeeeeefgghheb`]]`fhjjb90AKMOPSY`gglpm·óñllnlgZNOR‘ÂÇÔ§]_abdefhihklkkgU,;4,87+++*)*+)())(''h _U`@8769660***+)*)N™‘TaTHODGWZNDID6333355:X‡“RCB84bPi¤Žaggdccbbdeeeegfda_^]^agc2.AILObwha\N?'*((*msqstwgSNJj¹ÇÑÆm\abdfeeeeffcYM.745,8?@>31-*+--:DG—JcPMPJHIHGHJNF32238LŸ¾n\]bH9@A??mebde`b]SMJb³ÃÍÎxY`fecddddcb_VC1--.,*)*++)*++Dp¨›ykQ5;;?P[WLB@;UNB=8?IifggqlhbRKLKƒ¿ÄÒ´`^bcbcddddb_[SFBCCFGHJJIIHGFFUd}‚p`PLKNRPLLNNQURQRTVVWYZYXXXXZ[_a`m]YPcnoaaa`abbbbbcdddca__\2%8;:=@CB@=:hqjfmorqg\NLKq¶ÀÏÌrZacccefecdc^]\ZYZZYWWVUUX[^``NM`egXYYXWWXXXXXXXXYXYXWXWXXXYYXXXZZcDG`}¼Â»x]ababbaacccdd^UNH.%81PS0&$%&###"! "svmkqonlnoYLKN¿ÅÖ°``cccefeeeeba_``_^\[YWVWZ`bfld=GigUXWWWWWWWXWWXXWWWWVWWWXWWWWWWXV`PQebdfcc`aabbbaacb`^\TJIG-$61?MA64375435787pojglmgfijdLJK[©ÀÉÖ\cdceggggfeccdccba^[YYY[]_bjeLiwgQWVVWVVVVWWXXWWWWWVVWWXWWWVTRU\W[^dcbbba``aabbbbba`_^]XMI0$50(",87666548<>>plmehkotqniRILKv½ÀÐÇo^dcegggggfeefeeec`][ZZZ[]_ddcttpde\VWVVVXXXXXXXXXXXWWXXXXWVSd}ˆbYg_a___^]^__abbabaaba`_UI4)3.,,4.**+**)*)**hchfeiqsosr`LJYd—¿ÄÔ¯cbcdeghihgffffggeca][[[[[^^`uw~‘•Š_XYYYZZZ[ZZZZZ[ZYXXVWVVTe¸¬}g{yzz{zzxsnid_jlb```_]]ZQA1.**+1&$##""##"""flkhnnjknspkTILLW¤ÀÇÕ‘^bddfghhggghhhhgfc`]\\\[^Y^}}|‹ÎÓÊ`\]^^^^^]]]]_^^hfZfr€‰•©º½¾µ³³µ³³´³²µ´±¯ªž€sd``a`_^[WRF965668<>AFIJJIIHytsptoiikjgidLJJIm¸½ÍËv\bcdeffghgghiihgfc_]\[\^U^qmc¢éâá؈`eehjjmpqq{tqm„•¥°³²­«¨¢œš˜—––•••—˜˜šž§›`\b`aa_`^[XUSPNNMOQSV\abddd`x€}pkjheiimhaOJMKKŽ¾¿Ô°]\`accdffgghiihhheb^\[[]S]\TI—éÎÆðÌioqsuuvxxy}xyˆŽˆ¦—’‰‚€{vqmjhfedcdefegmr{hop^aa``__\ZYXWWWXXVUY]afhheotqtvlmfllmkje[MKI]³¾ÈÔ‚W^acceefggghhghggd`]\[]TSOMId¶—£ðÓkw~ƒ†’–› œ•yqwnd\WQOLKJIMKIIHHIHGGHIIJP^rbaa`aa`_^^]]]\[\ZYYZ_dgiimvrtslnhgjjkntiQJKLÃÄÔ»c`cdfgeeggghhggfgeb^]\^XFFOJKNTkÁ¨uŸ¹½ÁÆÎÑÒØÞÛÃŒoUPKGFFGIJLNNMa_IHFEDDDDCB@?@@Qaaaaaa`^^^^^_^]^^][Y[^chjksmmmkkjgiillmiSJJJeºÅÍ׊]cdfgffgghhggfgfec`^]]YFENGHLSZanÝžc]YVXVnÕ·u}NBCBA@?=>=<:976545776566777778;Ubaa`aa`_______```][YZ^diljltrmjlnmggjhiUJKKL‘ÆÆÓºb^_adeeffgggfggfedb_^]ZEBKCGLQW_u°áX1699:6fîà•d;:88877889::896599:;866666666==E^ba``aa`a```````a`^[Y[`eimprmklosplhjkfTLKLJa·ÆÌÖŒ^deffgggfghgggfffeb_]ZC?HBHOV\ds¤Þd?@@DDBUËËJ<;=ABCDEFFF:_S:>=;;743444444;B=U`aaaaaaaabaaa`aba`][Y[`lklmqtsorkilkkoeOIKKL‹ÆÈÔÁkcefgihgfghhggffffc`^Y@?GBFOX`iw¡Ú|Uy‹’•¬Ï®r=A:=<;;<5q“Y8@C:93234334337C>C„c^````aaa````aabaa`^[Zpwtoihjlniikurue_ZLLMPƒÇÇÐÊvbffghggfefgffffffb`\9:GFEJQYcrŽÏ€M»ñìãåìÞ”DYM3134100002346:LNEHGD=614AHOWTUVD32>??Mb\JJKRab````aaaa````^ƒ|‚xuzwihoyvxzre\QJJKJQ ÈÅ×¾f`bceeddefggfffffe^46?IC“ÕÄ}M^{’@:>AA>JŒW;A613?|ŒŒ€<771//./122@EINQ]YZ]O519A=DaS3433Scaa````aa``aaa†|u~xrqilsnifohaccTJKK]f~»ÃÊØ’\aaccdeeeffffeefe^65;HCzÛߣQVmPBEFD@b€HICQCWd]UQI=23@8@;84430Lecca```aa`a`aa‡{†z†z†z†z‡z‡z‡z†{…z†z‡{‡{†z†z‡z‡z‡y‡y‡yˆyˆyˆyˆyˆyˆy‡y‡z…|ƒ‚~|ƒyƒuƒtƒt„t†x†y‡w‡y†z†z†yˆ{‡{†zˆw‡u†x†y†z†{†z…z…y†z†{„~‚€‚ƒ€‚€†y†z…z…y†y†z†z†z†z…z†z†z†y…y…y†y†x†x†y†y‡y†y†y†y†y†y†y†y…{~{‚xƒuƒtƒtƒv„u…v†y†x…x…y…w†z‡{†z…y…w…t…v…v…x…z†y…x†w†y†{ƒ~‚€‚€€€…z…z…z…z…y†z†z†z†z†z…z†y…y…y…y†y†y†y†y†y…y…y†y†z…{…z…z…z„z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx„y†y†w‡x†y…zƒ}‚~‚€‚€€…z…z…z…z†z†z†z…z†z†z…z†z†z…y…y…y…z…y…z…z…z„{…z…{„{…{…{…z„{‚~€€~‚z…y„y„x„w…y…|„{ƒy„x†w‡z†{…{„{ƒyƒwƒv„v„x…yˆy‡y‡z‡z…{‚~‚~‚‚€€†x…|…|…{…z„z…{…{†z…z…z†z†z…y…y…y…y…y…y…z…{ƒ|ƒ}ƒ~ƒ}„}„|„|ƒ~€~‚|„y„x„w„y…z…{…z„y…z‡z‡{†{…{…z„z„vƒv„x…y†x‡y‡z†z…z„|‚~‚‚€€€„{‚‚‚ƒ~„|ƒ}ƒ~…|…z…y…z†y…z…z…z…z…z…z…z…{ƒ}‚}~‚‚~‚}‚ƒ€‚~ƒ|„z„y„w„y…z…{‡z†z†{†|†}†{…z…y…y„v„v…x†z‡{‡z†z†xƒ{ƒ~‚‚€‚€€€‚‚…‡}ƒ€€‚ƒ~„|…{…z…z…z…z„|…z†y…z„{„|…}‚€€€€€€€€€€€‚„}…~ƒ~„}ƒ{„z…z„w„w„w„y…z†z†{†}„|…{†z…z…x…w„w…w†x†x†y†z‡y„{ƒ~‚~‚‚€‚€ˆŠ~‰}ƒ€‚ƒ~„}…|…{†z…z…zƒ}„{„{„~‚€€ƒ}ƒ~‚~‚€‚~ƒ}…{…|…}…|„z„y…x…w„x„w„v„y…{†}…}„|…|…{…y„x…y…x…w†u†v†x…y…y„|ƒ}~€€…y|ƒ}ƒ€€€€‚€ƒ€„~…}†|†{„~‚€ƒ€}…z†z…{…{„{„|ƒ}ƒ}„}‚~„|…|†z†{…|…z…z…y…x„x„yƒx„y…z…z…|…|„}„}„{„z„w„y„y…v†u‡u†w…w„xƒ|‚‚€€€‚‚„u‚†~„~~€‚~ƒƒ~„ƒ|…y‡x‰wˆw‡x†x„{„{„y„{„{…y‡y‡x†y†{†y†z…z…y…x…y„y…z…{„{„|…}„~„}ƒ|ƒzƒzƒy…x†w†vˆv†v…uƒw|‚~‚€€€‚}‚Šz‡~Š}‰|‚€‚~‚~‚~‚}„{‡z†y†y‡y‡x†w‡w‡w…z„z„x„y„y†x‡x†x…y…y†z…{…{…y…v…w…x…w…z…|…|…}„~ƒ}ƒ|ƒzƒz„x†x…z†w‰v‡v…vƒw€|€‚~ƒ‘yy‘y‘y†~€ƒ‚„‚€‚ƒ{†z‡x‡y‡y…w†v†w†w…w…x…u†v‡v‡v‡uˆwˆz†{…|…z…z…y„u…u…v…w…z…|…{…}„~„}„{ƒyƒx…w†w†y†x†w…x„yƒ|~€€~‚~ƒŠ‰†…‡ƒ‡~€€ƒ€ˆ|ˆ{Šy‰x‰|‰~€ƒyˆvˆy‡x†w†w†w†v†u†u†s‡uˆv‡uˆuˆw‰{†|„|„z„y„x„z„{„z†y†y‡{†|†~„~„}„{„yƒx…w†wˆx‡w„w‚z‚|‚‚‚ˆ‚}ƒ|„„„~ˆˆƒƒ€‚„‡}‡}‡|†}†~ˆ}ƒ‚}†v‡v‡w‡v†v†v…u‡t‡t‡tˆu‡v‡t‡uˆwˆy†y…{„y„x„z„|…|†z‡{‡zˆ{‡}…~„~„~„}„z„x†x‡y†y‡zƒ{~€€‚‡‚€‚}„{…ƒ„‰€‡‚„‚ƒ„€ƒ€ƒƒ‚ƒƒ€|…uˆs‡u‡u‡v†v…w…x…x„w…x†x…u†t‡v‡x…w„z„y„y„{„z†y†y‡z‡{ˆ}†~„„ƒ‚~ƒz„v†wˆy‡x†{ƒ~€€ƒ}ƒ}ƒ€€‚|„x„|ˆ~ˆ†‚‚‚€€€€‚€‚€‚|†u‡u†{„„ˆŒ~Œ}Œ~ŽŽ~Ž~Œ‡x†w†yƒy„y„z„z„z…x‡x†x‡z†}…~„~„~ƒ„}…w…tˆu‡v…x‚{€~€}€|~‚ƒ~ƒ~ƒ€~‚xƒrƒ|…}†ƒ‚‚ƒƒ‚~‚{†t‡w†‡|Ž|Œ|‹|Š€Œ€Œ‹~‹}||€‚v†y„x…y…z„z„y…x†x†y‡{‡|…}ƒzƒy„x„v‚qpqqn}s|r}p~qs€v{ƒz‚wroo|„}ƒ€‚‚‚€‚ƒƒ€ƒ€ƒ‚‚{†t‡z†ˆ€…||~{|…}„}†{†y…|ˆ}Š|†z„yƒzƒ|ƒ}ƒ|ƒz…{ˆ{†z†x†s‚n~i}n}o|s|szs{q{n{j{h{h}g~f~f~gl€kj~o}t€v‚‚ƒ„€…„…€…„‚„‚ƒ‚ƒ‚ƒƒ‚„„„‡}…|}|ƒzƒz‚|…y†xƒ}…‰|†}‚‚€ƒ‚€‚ƒ„‚„„}„x…uvxyzyzy~x~x~xx€u€r€q€q~‡„‡“ˆ˜ˆ›‰œˆ~‡‡‡ˆ~‰|‰}ˆ}‰~‰}‰|‰|‰|ˆ}‡~ˆ…€‡}Š|‡€…‡y‡x†y‡w†x€‚ˆ|…|ƒ€ƒ€„€„€ƒ‚€‚€ƒ€„€„€…†€…€…‚ƒŠ€„€ƒ€ƒ€ƒ‚‚‚„‚ƒ‚„‚„„ƒ‡”ˆ†™…–ˆ“Š‰{‰}ˆ~ˆ~ˆˆ‰~Š}Š|‰|Š}‰}‰}‰|ˆ|ˆ|†~‡|Š{„‚‚„‡zŠy‰y‰w‡z€„€„‰|†|ƒ~„€…€…€…€ƒ€ƒ€‚‚‚‚ƒ„†~‡†…€…€‚‚„€‰€†‚‚‚ƒ‚‚ƒ…ˆ„‚‚z€z‚z…xˆy‰{‰{‰}ˆ~‡~‡~ˆ‰}‰}Š|Š}Š}Š}‰}ˆ|‡~…~†{ˆ{†~…€ˆ{‰zˆ|‰{†}~…€…‰|‰|ƒ~‚€ƒ€„€ƒƒƒ€ƒ€ƒ€€€€„†€‰ˆ~‡…ƒ‚‚ƒ€€‚‚‚‚…‰ˆ€‰{‰}‰~…{…z‰}‰{‰|Š|‰}ˆ~†€‡€ˆ‰~‰~Š}Š}ˆ~†…€††}…}…}†~‡}‡}†~…~…~‚‚ƒ‚ˆ}Š|Š}„€ƒ„€‚€‚ƒ€‚€‚€€‚‚€€€‚…€‡‡~‰‡€„‚‚€‚„ƒ†Š‰|Œy‰~†‡|‰zŠ~Š}‰}‰}‰}‰}‡€‡€‡‡ˆ‰~‰}ˆ~†€†€Œ~|Œ}‹}‹}‹|Š}Š}Š}‹}Œ~‹}Œ}Ž|’z‰~„€†…ƒ€‚‚€‚‚‚€€€‚„€‡ˆˆ†…~¥|­‚†‹‰z‹y‡}„Š|Šyˆ€‰~‰}‰|Š}Š}‰~‡‡€†€‡€ˆ‰~‰}‡~Š||Ž{|Œ}‹}‹|Š|Š}Š~‹}Š}‹}‹}‹~~‹~…~ˆ~ˆ~‡~…€€‚€€‚‚‚‚‚€€€‚„€†~†ƒ}ª{´›‡“ˆ‰|‡~‡‡‡€„‰ˆ}Š}‹}Š}‹~‰~†€†€…†€ˆ~‰}ˆ~Š|‹…‹ˆ€Š~‰~‰}‰}ˆˆˆ~ˆ}‰~‰}‡€Š€†~ˆ~‰}‰}‰~‡„€ƒ€‚‚ƒƒ‚‚‚‚‚€€‚ƒ€ƒ‡‚Š„‡‰œ‰œˆš‰š‰œ‰ž€ƒ†€‡~‰Š}Š}‹}‹}‰~‡…€…†ˆ~ˆ}‡~…‚~‚„†€‡‡‡~†††€…€…€†€ƒƒˆ€‡~ˆˆˆ~ˆ~ˆ~ˆ~†€ƒ€‚‚ƒ€‚€‚ƒ‚‚‚‚€€ƒ†~†•…³‡¹„¿ƒº‰²‰µ„»}„ƒƒ‡€‰~‰}Š}‹}‹}‰~‡…€…€†‡~…€…€‚‚‚ƒƒ‚‚‚‚‚ƒ„ƒƒ‚€€ƒ‚„ƒ…€‡†‡‡‡€ˆˆ}ˆ~ˆ‡~„ƒ€€€€€€€‚…ƒ…œ~ÄyÏvÏtÒvÑvÑuÓ|‡|„‚†€ˆ‰~Š}Š}‹}‹|‰}‡…†‡„€„€…„‚„‚ƒ‚‚‚‚„ƒ„…€ƒ€‡~‹}Œ}{zŽzxzzyxy‹|ˆ}ˆ~†ƒ€€€‚‚‚‚€„ˆ…›|¥z¯w»tÂuÅtÇ}“}‰~‚ƒ‡€‰‰~Š}‹}‹|‹}‰~†…€…ƒ€„€†€ˆ~‡~†ƒ‚€‚‚„|”y”y”y•x–y•z“z“x”x”x”y{ˆ~‰~ˆ~ˆ~†€ƒ€€€‚‚‚‚ƒ‚‚€‚‰~°€{‚}‚ƒ„†{ƒ~ƒ}ƒ}‚„ˆ€ˆŠ~Š~‹}‹}‹|‰~…€…€‚€ƒ€…€†~…}„€ƒ€€‚ƒ€„…€Š|ˆ|…~‚„‰Š‰€ƒ~‚~}‚}‰}‹|‰}‰~‰~ˆ~‡~ƒ‚€‚‚ƒ€ƒƒ€‡z»wÄy°|™‹| }™~†u„~„ƒ|ƒ‚†‚‰€‰~‰~‹}‹}‹}‹}ˆ„€€‚€‚‚‚ƒƒƒ‡ˆˆˆ€‡ˆ€ˆ|~|y~y~|~†{x‹y~|z}y~y~„}‹{Š}‰~‰}‰}‰}ˆ~…ƒ€‚€‚ƒ‚…x¹rÐqÒsÍtÅsÉuÆ{¯oz‚‚~‚}‚‚‚‡€‰~ˆ}Š}‹}‹|‹|‹~†€€ƒ‚‚ƒ‚ƒ‚ƒ„„„„Š}‡|ƒ~€€€‚‰zŒwŒw‚z~€€€†|‰{‹|‰}‰~‰}‰}ˆ~ˆ}†~ƒ‚‚€‚ƒw·qÍqÎsÍtÄv¸|¥’h{m}{‚}z‹~‚ƒ‚ˆ€‰~‰}Š}‹|‹|‹}ˆ~‚€€‚€ƒ€‚‚‚€‚ƒƒ†Š|†|‰|‹~Š~Š}‹zŒw‹w‹zŠ~ˆ‰‰|Š|‹|‰}‰~‰|‰|ˆ}ˆ}ˆ~‡~„ƒ€‚‚y³rÎrÐrÐw·~„ƒ~j}h{q|ˆ}‡~‚ƒ…ˆ€‰~‰}Š}‹|‹|Š}ƒ€€‚€ƒ€ƒ‚€‚€‚€„€„€‡}ˆ|…|‡{ˆ|‰|ˆ{‰|‹{Œz‹{†~„„~‰{ˆ|Š|ˆ}‰~‰~‰}‰~‰~ˆ~‰~ˆ~…~ƒ‚‚€|¥vÈw¹uÄzš€~ƒ‚†kj|k|x€€‚~ƒ}ƒƒˆ€Š~‰}Š}‰}Š|‹}„€€ƒ…€„ƒƒ€ƒ€†€‡~‰}‰|„|…|…}„}…|…~‡}ˆ}†}€€{ƒ€„~…}Š|ˆ}‡~ˆ~‰~‰~ˆ~ˆ~‰~‰~‰†~„‚‚€ˆ–‰}•~†€€nmm~t‚ƒ‚}‚}ƒ„‰Š}‰}‰}‰~ˆ~„€‚‚€€‚„€‰|ŽzŒ{Œ{Š~Š|Œ|‹|‹|‹{Œ{Œ|‹{ŒzŽ{y’xŠ}„€†‰‰~ˆ~ˆ~ˆ~ˆ~‰}ˆ~†ƒ€ƒ‚‚€€‚‚‚o„m€j|m€x‚‚~‚|‚€‚†‰~Š~Š~‰~ˆ†€„€ƒ€ƒ€ƒ‚€‚‚‚‚‰|“x•v•v”v•v•w•w–w•v•u–v•v”v–u–u•u‹|†€‡€†€ˆˆ~‰~ˆ~ˆ~‰}‰~Š~ˆ~„€ƒ‚€ƒ€‚‚kl~hzi|j}z€}}‚ƒ€‰~Š~Š~Š~‰~‰~‰~ˆ~ˆ…€…€…€‡…€ƒŠ|‘y’x’w’w’x‘w‘w‘x’w“w’w‘x‘w‘xŽyŽyŠ{ˆ‡€‡‡ˆ‰~‰~ˆ~ˆ‰}‹}‹{…€ƒ€†~‡~‡~‡‡~on~izhyezr~€ƒ~”|‰~…Š~Š~Š~Š~‰}Š}Š|Š}ˆ…€…€††„~Œz‰}†‹{yxyyyzyxxyz‰{†|‰{ˆ}ˆ}‰}‰~ˆ‰ˆ~ˆ~ˆ‡~ˆ~‰}†€‚‚ƒ€„€„€„€„l€j~hygxfyl}{„€‰~…}‚€‡Š~Š~Š}Š}‹}‹}Š|‰}ˆ†€†€†…}‰{|…€‚Š|Œz‹{‹{‹{‹{‹{ŽzŽyyzyxŽxwwwyzzz|‰ˆ†……€ƒ‚€‚€‚~ƒ~ƒƒf€g~gzhxhwizp}€‚~‚~‚‚‰Š~Š}Š}‹}‹}‹|‹|‰}ˆ†€†€…†~„}…~„…€ˆ~‡†…€…€‰}z’y“x“x•w”w“y”y“y’y’y’y“z”y’{Š~ˆˆˆ~†€……„ƒ‚€‚‚‚ih~gzfxgwhxhyuƒ€‚}‚‚‡€Š~Š}Š}‹}‹}Š|‹|Š|‰~†€…€„€……ƒ‚„€„ƒ‚‚‚‚‚„‚ˆ~{‘z{{Œ{‹|‹}‹}Š|Š|‰|‰|Š|‹{{Š|ˆˆˆ~‡‡€‡€‡€†€…€‚€‚jh~gydxgyjzhzr€ƒ‚~‚~‚„€Š~‹}Š}Š}Š}Š|Š|‹|Š}ˆ…€ƒ€„„…}ƒ‚€‚ƒ„‚…ƒ„‡~Š|‹|Š|Š|Š|Š|‡|‰}Š|‹{‹{Š{Šz‹zŠ{‰{‰~ˆˆ~‰~ˆ~ˆˆˆˆ~†ƒ€‚ih~g{fxi{k|i{n~}‚‚}‚€‡|Œ|‹}Š}Š|Š|‹|‹|Š}‡‚€‚„…~ƒ‚€‚‚„„‚„‚‚‡~‰|Š|‰~Š|‰z‰{ˆ{‰{‹{‹z‹z‹{Šz‹{‹z‰|ˆ}‡‰‰~‰~ˆ~‰~‰~ˆ~ˆ~†ƒ€jj~j{k{j}i~h~kt€‚€‚~‚‚Š~Œ}‹}Š}Š|Š|‹|‹|‹}‰‚€€‚€ƒƒ€€‚€€€€„€‰~Š{Š{†€†‰zŠyŠzŠ{‹z‹zŠ{‰|‰{‹{‹z‰|ˆ}ˆ~ˆ~ˆ~ˆ~ˆ~ˆ~‰~ˆˆ~ˆ~†mƒk‚i~j€n„k„h‚jq}‚‚‚„ƒ‚‡€Š~Š~Š}Š}Š}Š|‹|‹|‰„‚‚€‚€‚‚ƒ†‚†‡‰~Œ|‹|ƒ‚‚‚‰|‹{‹zŠ{Š{‰{‡|‡|ˆ{ˆz‰{‰|ˆ~‡}†…€‡€‰‰~‰~ˆ‰~‰~‰lˆmˆn‡oˆq‡p†m„o…s…|ƒ€ƒ~˜}Ž~‰‰~‰}‰}‹}‹}‹|‹|‰~„€€‚‚‚‚‚‚‚‚ƒ‡€‡~‰}‰~„ƒ€ˆ|‰{‰{‰{‰{ˆ|‡{†{‡{…zˆ{‰|‡}‡~„€ƒ†Š~‰~‰~‰~‰~‰~‰~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÎÍÍÍÍÌËËËËÌÌËËËËËËËËËÌÌÍÌËǽ³®¡œ€~rfkuiifkkqcf`V\`\[b[S[`]^VPOSZX_d_cRTUVUVSSXTPW_][WTMD>9;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÁÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÍÆ´š£”s~yq]^_p}m[]kjfZYYZ_YVTO^e_[RPOPXW\ffeOU\_YPPKPQX^aZUOLI@?76521076ÍÍÎÎÍÍÎÎÎÍÎÍÍÌÍÆÀÄÀÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ£‰‡plkojinrtzy^`^bcZYZZZ\RSV\aXYYVTQTSV[ebQQXZTLNMRQ\b__YQGA?<951220/1ÍÍÍÎÎÍÎÍÍÍÌÌÌÌÌÇÀÅÁÉÌËÊËÊÊÊÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’ykovxr~dd_[fXaccZ[WU_XRXdcQOSVWRNLWPXfPNSWYPLRNOX`]`USUOH?=74320--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÈ¿ÁÀËÎÎÎÎÍÌÌÌÌËÊËËÊÊÉÉÉÉÊÉÉÊÊÊÊÉÈÈÆÈÉÉÊËÊÊͼ’Ž„~ral{kbg_^`Vh`WWTSM\a^`olZPOT[SMITRRWRYZXTMOQTZ_XVZQOXNH>>@;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÉÏÎÎÎÍÍÍÍÍÍÍÎÍÍÍÍÍÍÌÌÌÊÊËËËËÉÊÆÉÊËËÌËÇÅâ‰xzng^jnlb_`]W\_TQ[RRQZeefgbfUQUXSPRTSRURZ^`TRTQYZ\XVRSOQPI>?=6651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎĺżÆÏÍÎÎÍÍÍÎÎÍÍÍÌÍÍÍÍÍÌËËÉÊÌÍÎÌËÇÄÉÊÊÌÎÌÇÄÀ²™zwndURb]Y\_`^a]VTQKLTY_aci^ZSOPPNKTRSQ^LUTXYVYY^YZVQPSNRJED>A<431.2ÏÎÍÎÎÍÎÍÎÎÎÍÍÍÎľÌÂÅÎÍÍÍÍÍÍÌÌÍÍÍÌÌÍÍÍÌÌËËÉÉÊÌÉÅÃÂÀÆÆÈËÌʾ»«Ž~wpWRPQNUWlpea`[XLC@LXP[`a]VSQKMKHLHPLYNQSTVUYZYZ\XROSMUOBF@>=3/.-,ÏÍÍÍÍÍÍÍÍÎÍÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÎÍÍËÊÈÇÅÉ¿½¸À½Á½ÃÊÇû®¢¥‹{ss^UUXXhi[nfe]UUQQVTcSOZ]SOVWQKJFMOQXWRPWYUSWWUNQYSQVPWW?46220.--,ÎÍÐÕÔÎËÌÌÉÈÉÉÊÌÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ½Á¹¸¨¿·¿¶¼Æ½¼´¥‡†|o‰wa[^Z\ekUn]S[SMST\YUMPRXRQSUWKKJSRRYf\NVWVVTTYQM[WX\[LB=7540..,,-ÎÚèïíãÒÊÈÁ½½ÀÅȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÌÌÍÌÌÌÌËÄÁº²¼¸®žº±¼µ²Á´¹³™„zykfb`b`T[`YTdZSZ]OSQV[SUTNMNKKLSXUOROQQcZNY[WQLNXWPTXQLJA7=<:72.-,-.ÚïÙ¶Áçè;¶±¯µ¸¿ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÃľ±ª§«¯¥žª¬³¯±¸ªªŸƒvvrjhQ^cZXcVO\g]Y_WKPPR[_`TPLLKMPLTXKNSMR]]Ya\SOKOYVQWPQWICC>;<961//--íÊ~hn«éس®¬­³²¾ÃÅËÈÃÊÍÌÌËËÊÆÊËËËÊÉÇÆÁ½½°Ÿ˜˜¤¤˜–¢®ª¬ª¥¢™ƒslhejm[UWT__VV\XY_URWSQTT]VQSNNSUQRTWQOWPRY_X]WY[V]^SSZVSQ??F;87775200/è”zvq‘Ð絫ª®°²ÀÀÅÊÇÁÊÍÍÍËËžÇÌËÊÊƾ¶¯°±¶ªŸ”Œ—™˜“¥µ¬­ –™‘xhceUf_RLHNV`XRR_g]`m\^b]TVNPONOQVRTQTYR[ON^]]gZb]he_RPMMJL@=?8854454.02²––—•œÀ齩¨¯®´»¶ÁÈÆ¿ÇËËËÊÇ¿µÄËËÆ·¦ž›™  ˜š”‡‘—’’ž©«Ÿ’„tcdgZ\TPSQOX^_\hm]OT`NWon[QNJMLJFJMLNNMPXTW]TRXX`g\ZVNIMGFECH@7543343015]iwx||¢èÁ¢§°±µµ±¼ÈÆ·¿ÈÇÊÉȾ²ÃÊȽ±¤˜œŸ”–’‰‹‹€“”ŒŠŽ™Šˆ‰ƒ|stobYSX[YOW\UU\h\RP]fg_]ZRSLJJGIGFEFNLR][VZUO\ifeU\SMUSIJ@?B9753313438<[’¼Àº§…ÝÞÍDZ®®ªª¶Ã¹©®³°¸µÆ»®»Â¶ªž—› ”“…‚ˆ‰€~ˆ‰Œ…‚€ƒ€~xuo`UUSS]YTYTSXfQPN]dcRRZXSLKLJJHEJJIQU[`QXPPlrcd_a\T`XUTG=:;86432265:@k¹Úâݺv½ñîçËɧ  ¦¦œžž ¡Ÿ¦´¬£ §™™˜ ˜™’•Œ…‚…€ƒw‡‡„||{{tqpibWPZgZQURU^YNX[\]XQQPRSMJPQLNRQFBJNT^QQM]``_Xei\RS\YFSF=<<9555499;=™´•u}h_•êåáæî´ž£°¡›œŸ¤¬¥¡¡¢Ÿ”“’›™Ÿš‘–ŠŒŠ‡‡ƒ}x~…ƒy{wtphheYUYQX^YT\Z\YUZYZ]ZTPKVTNMOJBCFFA?EHHQJRSY[aW_n\^OZ^[IEC@?<856769GFUcP}gD>_½»{ÜëäåçåçèèêéèêðÆš™”‰Œ“’‹‹Š…Ž‡‹‰‚€ƒ{~Šyvuqsqnh`V\caZQVOQ]ebbTMSTg\bWMQRPJHCGSJCJKLFPQ\\YKWdcdT_cVOV]QD?@<:8878<@KABPdnaMDG–¯bÍïííìíìëêêææçéÁ‹‹ƒ‡ŠŽŠ~‚ˆ‚—‡…{|ƒ‡€|‰y{wuttvsbUQZXZVYVNZZ]_eehlokR[\SMQQGEFOUPPNOOIJVZ]ZMM]Y_\\geV^TA:9<<;:::;><<LTRRTSO]dccZSXX]ZR\WSSG<98;:79:99====GJIKMPOTu•áå×wAGHKZ\IOMKI=q{~|x{€}~~€~x}}~ƒ~|z}vqtywsokf[SMKXW[RTW[ZVHV_Z]WY_VKMTOMILONPSUXW[lcZ[ZZVYWQVJMK?863_‚;7888;BDCEr[ZXV¡µ´Þ´Ï½cR@=F]ZWRG?B?R˜||w}‚~x~|y{~{|}{~~}xwpmvxzqgaaSQSC?LVVTWYOKISWZ\UZc^SMMILOMMJGJNWXY\_Y]WTQVNKMHA<9676P€?79:<=AIJH—TPLTÛ÷ðër©Å¡OXDRFA>A@7589;ˆ²Ó”w}ywyxv{z}}|~€€‚zwvlintymh`^PRTFHNTX[TPSQUUZUVWY`\RLEDBDFHEEFJSV\YUMURTRSNGEC=:6676[A88;<>>=;@KNW`YRXZQW[NLE<;997673‡äO27;;;AHJJÜËËÆ»¤nSHE¥ÄÈÃÁÄÅÇÊÊÊÉÈÈÈÆÆ͵ ƒ~‚vzxwxzxvzx~|w|zvuuvjkqihf^O]j\SSWZXPOWWZb^XU[YULGD@@??<68>DHJ\hWTZW[[TFB@;68877:5ƒáO08<>CGHDPðòòóöØrNKEÊÕÙÛÜÝßßàáàßÞÞÜÚݽ||~…xy{zxxwvvw{vswzyustphelefcb[gmbYMOYXUQSYW_YVYcYOIBA@ACA?>CIB>K[kk]LPeQF@:<:7;;::=8uÛW4=;>CIJCUÜÜàÄ¢‘jICMÏÚàèçéìììéëíëèéçÝÓ˜}{ƒ~x{{wvv~‚„Š“•—“‹qnkhfa\[X\XNNVTMNS]ZXX[\[SUMH@AFHB>BQQIT[^jlQVXLB;766;@CB??;xéd7?8LUNdjiuˆh[^RIA>;:>FMJC=>9ók7<5=GHY`jˆ}~‹voRJIG…ÑâçêäæλÈáÐÁÌéåçà߶yzqs€¥¡›•‹€vngefkof``]]^bhmr†|^SV]XX\TPSPSPZ]Zd]TTQOIGGCGJGEHNMSikjtsbajhXPLLPUUWTHIN9{õr879U[]kiiukkogVB@?:mÄìéëêèìååìæáèêèêéë°x}zw…˜dZTQPPRZcl’ª‹da[b]WVOBMqbUNVY`YXTMNWUZc^_WONURME@=IWbX\egmcZWX_bejmkng_ixwqlgiiV…ï‚TU^vuoqjeHGGHLOB116\°îìííëìíííîíêéëìíê¥y{xvƒh@OVanwwJ9987755Ejmljj[>Oe^TWYYSQNOMT[XSXYSMPXSPX_]v‚uakwkYTW\]^`ffl}„‚€„}…‡‡Š“¬’‰ƒ|}qrofttttw{v:-3SŸðîêçîëäåååæëîèçìé˜yzyy‚IHs‹— ¡w[H628EIHHB;>AHRA[]YZUVSW\[QS\YPMNT^[X\gz‚†‹€`cqjRPY[[[\eiku~|z{tt}‰Œ‰‡Š€{nnkhkcxxxwvyxZUZh‹¿¹œ’À¯‹Š”´É›œ¾Ì”zvv}tCQˆ²³µ·¶¯£¢ypzrKLK@4353ZVOnnolr{‰’†‰‘’Š‹’³šƒ€zw|{kbmmcY\`^]\`feirfdacct~y}ƒ„‚‚ˆˆƒƒ‚€ƒˆ‡‹Œqopooqruwyzyy||{~}}~|y}ƒ‘ƒŠ‰Š^WKa£Ÿ“…zqu²›y™JIJRUG44IsGqvxywvtstttuwyz€†“£²´«˜‹|rlkklnmiea]]]ZY^^YZ\]\`ehdcaab~ŽŽ£¢ ž›–“omlkklmoqrsutttvx{|~~~}{{yvts{‹‰‹Mo@3=;73:AMLJJKJHIIFf}_=@•¬pKfddefikmpssstsqpnmmnnnosz…–¬½º¥Œvkggggb_][XVTSTRRSV_`[—[OQONPSRJDAxuqmjjjjjjloppppooppqsuvwxxxyxvtxkar/44c‹g>KHABBEJHNGUtb<7DgŒGdedbbccdfimprtvutrpllmnppollwŽª¹º¯š…tjhhfc__ZWYSTSTXU]‚G_otz†Žm95wwusokjihhikmooppqqrqqqqstuvwwvu^yb058m”ˆUA9455;IGMJgy~B42<’WZjfdccbbabbdgknqsvwvtqnkjlnpomlp}«ÂëŒshggfgec^^YXUQzu\ ¨«®¯²¶ªZBuuvvtokhfeehillmnooooonmnoprsuvr~V‹P9CB~—©rD>322497;B€¤‡B522vPmiggecb``_^^`cflpqstvvtplhgjmnmkjjw˜ºÌµŽtigijiigdb]Y”ed{¨‡xji_VuuvuttqkgedfghiklllmmmllmmmnostmzW‘HGLE]zZJJ?:::754=pœp=960h”Hhidcghgcaa````acgknqqtuvurmggikmonljqŠ«À©ŠskhijigdižX[@]=6554CSPprstuutqnifdddfhijjjkllkmlkllkolt`”JRXV}…rGGEEEFGFDCm‘•`A;<3_š@a[>=Egnjgca``aa__aejlprsvvutpkggjmnmljir±Ç¤nijjh€™RT=M58999GPEknpqssrqpkgba`acdffgijjkklm\B=OlW‰Q{jI`HEIPX[\UOPIV_zvMA9:4EM5MD::1[lnnjfc`aa`^\]`dhkoqrstrsqkfehjklljfh{¢Çα‰qmo”‹PJ;B26=87R?=INLLQyŒâáºÏ¡F2Pcdfhiijjjjjkjifca`bghgedaaaaa`^]]^adhjlnoppolk¨ƒlXVZXWVVV\\WUU«ÀϤZ\aeghjlmoopqpnlhc``^_acdXX<.e¼ÇÇñå£][^sZt¼T\uoc]n©Õòî×Úw5.Y}pffghijjjkkkkkifa`cfhjhgebaaa`_^^]_bdhjmopqgX–tcWTUUVVUUUVUUUv³ÃÎX^cefijkmnpponnlfb`__`ac[@3-<”ØÒÞîÏŸi[]`o\³æŒYc`hd·ÏÁžxs7,'}Ç­sbdefghhgggjkkjgcaabgjkifca``____^^`behkmpcO{lZSOSVWWXXXXWWWNŒºÇÉvXabfhjjlnoponnmkgc`__`a`=.-/A`ZoŠ¢‡aqo`\Â÷¥\ptul…|Xd\Vboz„™£¤¤ ¡ Ÿž›–“Š{jjkkjhda``dgiigda_^^_^^]\^_beim]Oli[gwfZ_\Y\^]\X[Zw¬¿Í¶eZbfgjjlmnonnomlkea__`aZ7-++.03:=FJOPTZax¹‚j_RbjaPLIp¶ÀϬa\adeggiklmmnmlkieba=./.530.3CŠú»nmv—’zˆŽ”˜ŸœXi€ÞÝÜÜÚÛß¹TiajQ[ÊàÜØÑÓÜÔ[uPffdeffghhhjihfda__bgiiigc^\\Q>:EHLOSVYaceggjnyiju^OLVš½ÉÌZacfhhijllmmmkkjhc>73..5Y€ZZhnoqrsvzywt—PnlÝÞÜÝÞÞâ¢JUTZNU¿æäåäàÚÁId_Zheeffghgffghhgda__adhiiiea_T?9EHKORTWboy€„ˆ¤poleXOJd¬ÁÎÆu\beghhiklmmmlkkjf=73-./27E>8>?AFGJOpeMe£eXgC7443444:DG{‰SSG<76653=J=nQahcffeeeeeefgghhfc`^^bfhjjj^93CJKMPSYajmjmk¶êllnlgZOOPÂÇÕ©^^abdefhjjllkkkg:47.*),-.////22344<91nŸVc]B;689988742Tp>:657:<97?H8`Z[´bedddcdeefgghgdb_^^`chjkb71BKMOPSZ`fflpm¹ñnronneRLIV¤ÄËÓŒY_bcefghgjkkkh^739/3E3-++*)**)))(''4ˆ‘MfQ;75499663225944644Igg9695JhN“cbbcccbbdeeffgfda_^\]agkb40BLORPSXadZMIIRqmsqstwhTNIjºÇÑÄk]abdfffghhie[U53852GLD=866-**)*)()i›}JjFIF=HYTF?C934334557pŒB@<6O˜mIhFQOJKLLKJQO;23344@R`€kNOQ@6`K_`[befcbaaccddccddddb_^]\`]-,CCCQ¶Óy]PMLPVQPmebde`b^SMKc³ÃÎÎvY`gfddeeeeebV>41111)'''&&%&'+K^af‰eDULNGBCFGFGBHF:75>GLSXXRMFIKACC^Xn£‚f\ababacccbccdeca`^\^Y+)B@>O—¯k]_cG7==;ifggqmhbRLMK€¿ÄÓ³_^bcbcddddca\N8/.//.-,..--.-5_“£‡ud?:C@CQVXMFC@WKF<8@NQPOIB=98<97B\\WŠaWjbaa`abbbbbcdddcb`^^W+(==<@Q^[`iibPFCDllgfnmqiSLLKU£ÂÈÒ–`^abccdeeca]YLFFFGIJLLJJKJIENk~‘‚rkMB@CKSQIDDCKRGFFJMPTWWRNOPQSW[\amWbbµÜ©e`aabbbbbcdddddb``Y-&9:8:?IQ[gmuskhhhqjfnorqf[NLKq¶ÀÏËrZacccefedba[WUSRRSTUSRSTVWVPLPpsr`^[[YXXZZ[[ZYZ[\]\[Z[[[[[[\[[]^^cPBqÂƼx]ababbbcccddedca]S,&6.40/13789<>;98twmkqonlnpYLKOŽÀÄÕ°``ccceffddea_][Z[[ZYWVVVX[^^^XCoaq\ZYZXWXXXXYXXXYXYYXXXXXXXXXXXYZ]\>Kdffcc`aabbbbcccbcdd[QLF*&60UU2&%%'%$##"!pojglmgfijdLJJ]«ÀÉÖŒ\cdceggfffeca`a``^\ZYWXZ^aciiJAMsYWWXWWWWXXWWWWVWXWVVWWWWWVWWWXYY_GXeccba``aabbbbbbb`\[QKJG*&61>IA7448755788nlmdhkotqniQIKKy½ÀÐÆo^ddegggggfedeeccb`][YZ[]^`ckRKfxXTVVWVVVVWWWWWWVWWVVVVVVVVWWVUUVVV^eccba``a`abbbbbba`^]XMH+&50(#-76654448;?BFJLOPQx}pkjheiimiaOJMKKŽ¾ÀÔ®\\`bcddffgghhggggea^\[\]]Sm|ovÃìÝÖŸa``bccefghjmjih|{xˆ—¤ª²¶³²²±¯­­ªªªªª«ª«ª®²ib`a```_]ZXTSONNNNPRU[`bdedotruulmflmnkjeZMKI^³¾ÉÓW^acceefgggggggggc`]\[\\Pf]X]ÓÞÑàæelnrttvyz}‚yz€Ž ´²­¦¡˜”““Ž‹‰†††‡ˆˆ‰‰Š”–e]f`a```^]ZXWVVWWWWUUY]afhhmurtsmnhgjklnsiQJKKÃÄÔºd`cdfgefhhhgggggfdb^]\\\M`QNM²á¢Óï²etvvvwz{}€„†ƒ•|†˜‘‹„~uokgc]ZWVTQPPQQQSVY]camx_aa```_\\\\\\\[\ZXXZ_cgiktmmmkkjgiillmiSJJJfºÅÍÖŠ]cdfggggghhggggfed`^]\^LKLKIVmc®ï¢m¥­´½ÀÄÊÍÕ¾–pmlaYRMIHHHJJKXUMLLLKJIIGHFEHMfd`aaaa`^^^^^_]]^^\ZXZ^bgmjlsrmjlnmggjhiTJKKL’ÆÅÓºb]_adefffgggffgffeb_]\]MCJGEIMUh…y™Ï¶ ™™šš³Û«Œƒ[LHEDFFGHIKIHGRM@?>><<<<<<;;<<;:8876765335788766666667::M`aaaaa````____`aa_]ZZ[_kklmrtsprkjlkjoeOIKKLŒÆÈÔ¾idefgihgfghhggffffc`]^O@AFDKOT[eƾ?;>B96:9;;855555555;BGFGFGFEC7w•Y;A?;;5334344339C@973344333235A>C[`_```aa``a``aaaaa``^\hijga``ghqzxrsmjmdSJMRY®ÉÇÖ«dffhihhgefggggfgfda`I5@GBGMS\ix©É\kßñíçëîä˜I>B43588865::9654559:423;;;63322;@=Q``a`aaaa`````aaaaa`_]rmmnkuorirqtst{€l]SJJLKyÅÃÍÔˆbeegeffefgggffgfecbI1>ICGLR\gv Îa\ÛïëæêîÑ>>=126<8952784221137746FXFD@:5426A;G\bababaa`_````aa````_ƒ|‚‚xuzxihpxvxzse\QJJKKQ ÈÅ×¾f`bcdedeffggfffffdcI+;HEFJSX]kÁmRÓîêêëê¼n9@:221DnY1121000001238_llmmw›X:A6128aslG2000////112=C@LRZVWZI32;A>Ia[?=AG\baa```aa`a```}xwxsnqa`gpyqijeYKKJT[Y˜ÃÁÕÁg^accddddeeefeeeddI/9CFQ¿ãÅmQbƒ€8<==<8W‰I>@;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏÇ·»¹ÉÏÎÎÎÎÍÍÍÍÍÍÍÌÍÍÍÍÍÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅ¢ˆwzng^jnmb_`]W\_TQ[RRQZeeffbeUQVXSPQTSRVRZ^`TRTQYZ\XVRSOQPI>?=6651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎĺżÆÏÍÎÎÎÎÍÎÎÍÍÍÌÍÍÍÍÌÌËËÉÊÌÍÎÌÊÇÄÉÊÊÌÎÌÇÃÀ²™zwndURb]Y\_`]a]VTQKLTY_ach]ZSOOPNKTRSQ^LUTXYVYY^YZVQPSNRJED>A<420.2ÏÎÍÎÎÍÎÍÎÎÎÍÍÍÎĽÌÂÅÎÍÍÍÍÍÍÌÌÍÍÌÌÌÌÍÍÌÌËËÉÉÊÌÉÅÃÂÀÆÆÈËÌʾ»ªŽ~wpWRPQNUWlpea`[XLC?LXP[`a]VTQKMKHKHPLYNQSTVUYZYZ\XROSMUOCF@>=3/.-,ÏÍÍÍÍÍÍÍÍÎÍÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÎÍÌËÊÈÇÅÉ¿¾¸Á½Á½ÃÊÇû®¢¥Š|ss^UUWXhh[nfe^UUQQVTcSOZ]SNVWQJIFMOQXWRPWYUSWWUNQYSQVPWV?46220.--,ÎÍÐÔÔÎËÌÌÉÈÉÉÊÌÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ½Á¹¸¨¿·¿¶¼Æ¼¼´¤ˆ…{oŠwa[^Z[ejUn]S[SMST\YUMPRXRQRUWKKKSRRYf\NUWVVTTYQMZWX[ZK@<7540..,,-ÎÙçïîãÒÊÈÁ½½ÀÅȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÌÌÌÌÌÌÌËÄÁº²¼¸®žº±¼µ²Á³¸²™„zxkfb`b`S[aYTdZSZ]OSQV[SUTNMNKKLSYUOQOPQcZNY[WQLNXVPSXQLJ@6=<:72.-,-.ÚîܸÁåè̽µ±¯µ¸¿ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÉÉÉÈÇÇÃľ±ª§«¯¥žª¬³¯±¸ª©žƒvvrjhQ^cZWcWP\g]Y_WKPPR[_`TPLLKMQLUWKNSLQ]]Y`\SOKOYUQUPQWIBB=;;961//--ìÍ€hmªê׳®¬­³²¾ÃÅËÇÃÊÍÌÌËËÊÆÊËËËÊÈÇÅÁ½½°Ÿ˜˜¤¤˜–¢®ª¬«¥¢˜‚slhfjm[UWT^_VV[XX`WSWSQTT]VQSNNSUQRTWQOVORY_X]WY[V]^RSYVSQ>>E:87775200/ëœ}{t”Òæ´¬ª®°²À¿ÅÉÆÁÊÍÍÍËËŽÇÌËÊÊƽ´­®±¶ªŸ”Œ—™˜“¨´­¬ •˜’xhceUf_RLHNV`XRR`g]_n\^c^TVNPONOQVRTQTXRZNN]\\fYb]he_RPMLIL@=?8854454.02¥•“”“˜½ë»©¨°®´»µÁÇÆ¿ÇËËËÊÇ¿µÄËËƸ¥š˜  —š”‡‘—’’ ©«ž‘Ž„tbcgZ\TPSQOX^_\hm\OS_OWoo[QNJMLJFJMLNNLPWTW]TRXX`g[ZVOIMGEECH@7543343015V^w|~{äÀ¢§°±µ´±¼ÈÆ·ÀÉÇÉÉȾ²ÃÊȼ±¥˜œŸ”–’‰‹‹€“”Œ‰Ž‘™‰ˆ‰ƒ|ttoaYSX[YOW[UT[g\RP]fg_\ZRSLJIGIGFEFNLR][VZUO\ifeU\RMUSIJ@?B9753313438_©lDMPBcžË¹âæÀ¸ÆÉÁÁ¹¾¾Éľ­ Ÿ”Œœ•š•ŽŽ†ŠŠ‰…„y‚}{uvwqqljeW]c``XRRXW\\aXS]SW^[WPINLNIBCEA?FEDBRGTW[V^`_[RcaUVWQLGDG966767;>GF?XNqvH9S‰ÐqÂìäæçèëëéêéèéñÆ™™”‰‹“’‹‹Š…Ž‡‹‰‚€ƒ{}Šyvuqsqmh`V\baZQVOQ]dbbSLRTg[aVMQRPJHCGSJCJKLFPQ\\YKWdcdT`cVPV]QD@@<:8878;@KAHNdlfWIGkÃm­ðíîëìëèèêææèêΖ‹‹ƒ‡ŠŽŠ‚ˆ‚—‡…Ž{|ƒ‡€|‰y{vuttvraUQZXYVXVNYZ]_edflpiQ[[SMQQGFFOTPQNOOIIUZ]ZMM^Y_\\geV^SA:9<<;:::;=<=LURSTTO\dccZSXX]ZR\WSSF<98;:79:99=<=EOTV_Z[afk_\\X[SYSSVWU@9888899878:??>=HIJKLPWPvƒÇæÛ˜CGGJVdQPRLKEK”~|x{€~~~€~x}}~ƒ€~|z}uqtywsnkeZSMKXWZRSW[ZVHV_[]WY_UKMUONJLNNOSTXWZlcZ[ZZVYXRVJMK?863_‚;7888;BDCEˆ`^[T‡Î±é£ŒÉÅyYE>@SVUUD<=B;88:5b­åÁx{~~ywyxv{z}}|~~€‚zwwlintynh`^PRTFHNTX[TPSQTUZUVVY_[QKEDBDFHEEFJRV\YTLURTRSNGEC=:6676YA88;<>==;@LNV`XQYZPW[NLF<;997673†äO17;:;AHJJäÖÔÒ˺„UI@vÀÈÏËÎÎÐÒÒÓÒÑÐÑÎÌÒÅ”}‚tzxwxzxvzx~|yy~zvtuvjkqihf^O]j\SSWZXPOVWZb^XU[YTLGD@@??;68>DHJ\gVSYVZ[TFBA;68887:5ƒáM/8<=BGHDQðòòòôé‘RMCpÄÔÛßààáááâããâáßÝÝדy~„wy{zxxxxwy}zww}|wuxskgmfgbb[gnbYMOYXUQSYW_YVYcYOIBA@ACA>>CIA>L[jk\KOdQG@:;:7;;::=8uÚV4=;>CIICV××ÚÊ™xPCGrÂÙÞééêëéééççèèéèàÙ¼ƒ|zƒy}}xurvuuzxrv{|zvxvkcegeea\[W\XNNVTMOS]ZXX[\[SUMH@AGHB>CRQJU\^jŒkQVXLB;766;@CB??;wéd7?8MTNejivˆg\]PH@>;:>EMJC=>9ók7<5=GHY`jŽ€ƒrYJJDe¸ääéèäâÌÎáÞÍÍæåèâáÖ†yqt~€™ ª«¨¥Ÿ—‘ˆ„‚ƒ„„ˆ’› ›‚^SV]XX\TPSPSPZ]Zd]TTQOIGHCGJGEHNMTjjisrbbjhWPLLPUUWTHIN9{õr879U[]kiisgehcXC=>8S¡éëëìêìéæëêäæêèêëíÔ‚zyxwœ„{rha[XZ`qŒ‰ib^WTSWXV]~eUNVY_YXTMNWUZc^_WONURME@=JWbX\ehnbZWX_adimknf_jxwqlfiiV…ï‚TU^vuoqjeLLKJNTN8/3J‰åííîìëïïîïïíéëííîÌzyxw“aLKLPUZWTWd€}WOKalgc\Q>Om`TWXXSQNOMS[XSXYSMPXSPX`^wƒualxjYTW\]^`ffl}„‚€„}‚…‡‡Š“¬“‰ƒ|}qrpfxxxwx{~Q*0EyàíãÜéìÛØ×ÖÙáïäÚåîÁxzyy|x@O`l|„Œo:82+,38;S`^`adS;<=GJJNH_sR450ytLkgedbbbabbdgknqsvwvtqmkjlnpollp~©Áê‹rhggfgec^^YXTSRm|Iw„‰“š¢€>uuuvtokhfeehillmnnoooonmnoprsuuuvs[‚487T‡‘‚E:4444@FBLY†‘f440\Iilkhedb``_^^`cfkoqstvvtplhgjmnmkjjv–ºÌµŽthgijiigdb^YV‹jg¢±µ´²°®£`uuuuttqkgedefhiklllmmmlllmmnorssufqr7GAY‘œ’MI;333452:K–Y741B™U]hkmnifcaa````acgknqqtuvusmggikmonljqŠ«À§‰skhijigfacœ\ccyj`SFOXprstuutqnhfdddfhijjjkllklljkmprmu^„eELINq]IJG@??=:7;^ŒL=957•kPf_VXfmjgca``aa__`ejlprsuvutpkggjmnmljisŽ²Ç¤nijkjewžTXD7:3=egknnkgca``a_]]_ehlnprrsttqjdceiklkifdsŸÇϵŽsrœRF:=25DVC::ijlnpqstsrplgcbaabccdfghijmX298AOA656527?@::<988;75966AEBF@8::GA007D[ecdhmookhedffdb__aeilopqrstrpjedeikkjifeuœ½¼­ŸkO@9<9BnsrH6fikmoqrssrrplgdbbbbccdgiijlfD51.1XH;:99877755776567777567789<>IB5Tekmjgecdhlmmlifeeeda__beilnoprrssqlecgijjjjaW\]p€›WFFGF@At†ˆD=`dgjlmpqrrrpnlidba``abdghiijjdu{;WL:::9887767776656666667788:EDCEÅ{\cgijkmorspppnkfcb````bddegeu›mQeaE24432222333H=4444323325r¥tMNifhjkljkkkidb`_adecbb_\\\\\[ZZ[]`bfikllkjjgc]ZmyS\ƒld_PFNUYWVÉÁsZcffhjlnpqpoookgca`__`bcdegmyfd¢¢¹d111222133496553332223c§ ˜KGffghijjkjkjigc``aceecb`_]^`_^[YZ]_cfijlnnnnjea‹¸†unkmddbURfsmk½ÌµaZacfijlmrqooqolgb`_```bcdgn[9vœ¬™]0-00000364573001374d¬£¶«…>?afghiijjjjjkjifca`bghgedaaaaa`^]]^adhjlnoppolm~¬ƒm_bbYXXXVgh^[ªÀϤZ\aeghjlmoopqpnlhc``__acdbd[*Y£Ã¨ÃÆk[KEEHKC;‘t9M\ZSPn‹ËïÔÅÇo18prgghhiijjjkklkifa`cfhjhgebaaa`_^]]_bdgjmoppphh¦~jWSWVVVUTXYVUv³ÃÎX^cefijkmnpponnlfb`__`ab`QG-@‘ÓÀëðÓ s[]aU³•Lskg]\‘¸ðìâײF/7¬¬scfhhhijjkkkkkjgcaabgjkifca``___^]^`aehkmorcX‘l_USTUVVUUVVVVNŒ»ÇÉuXabfhjjlmoponnmkgc`__`abM3.1UÃÁÐ×뱑]^aYX|ìÛae`lko±°¼žsaN+,-]ghacddeggghhijjkjhda``dgiigda_^^^^^]]^`bfilp^Qzh[TNSVVWYYYYXXYx­¿ÍµeZbfgjjlmnonnomlkea__``aN/.-1EGOstxŸ^gso^…äØwfqpjg{FCPEJT_jr‰‹–˜˜˜—–”Œ‰xnijjjkigdb`adhihfc`^^^^][\\^_cflXQjfXv“wamnXZ\]\YWXx·ÃÍ¥]^dfgijlnnnoommmjda`__`C,,+.147>=GTUZew‰›¿Â¢”€ob^p~–£ª­¯®®­¨¦¦¦¦¦¦§¦¦§¬§ž|hjjjjihfb`_behiigb_]\\\\[[Z\_fPLV^GŠÀ»®ÄßGHEQuPJMƒ¹ÁËX]acfhijllmnmmmlhda_^`B+,1569<@GRct£ÄÐ×Þèëäãâߨ–®“œ“ŽŠ…€~zxwwvvvuuuuuz~‘ngiiijkjgca`_beiigd_\\\[\[[Z\_KGJREuÕÝßÙîäzFD>]RLQºÃÅvT]_adghiklmmmllkhc`__H,-.27:@HSazŒ¼ñêîíìëííîñ·£~gkebb`^\[[[[\\\\[[\\]\\izhggiijjigdb`^`cfghe`^]\\[[[Z]JABJKNªµÄÐÇèÚb@;WeXOJ\§¿É¼jZ_adfhhjlmnmmmljfb__M,-./4:AM]t“²°îçïïððñññôÈŒ[\ehnomnu€Š£·“Ž‹„||}~{umvqffghhiiigfca__adhigda^\\[[\]J=@GLOSZ|•£éóŠKFDjaPLIp¶ÀϬa\adeggiklmmnmlkiebaO.../25=GIS`ráÚÖÒÊÆ¿¼¿¶rdrƒƒ†…ƒƒƒ}\S_IQ‚Ž‘’Œ{wXsfeefggiiiigdb`_adgjihe`^[[\]K=>FJOQUWYpª›yqj_lneRLL†¼ÂÑ—Y_cdfghjkllmmlkjidcP00.0=F¶Q,/4KQNNMIHHGFn–Wn“µ¼ÂÉÏÑ×–OIABK’àßÝÖÖÚÜ­rYcjdeffgihhjihfc`^_bgiiigc^\[]M>uPeefffffffeeghhgda_^_bgijjgdaT>9EILORTXbpy€…ˆ—qkkmfSTg…»ÆÓ¼k]cdghhiillmmkkkiR0:---11:A:<@@48532442e¡^b[o˜—›¢©ª”PSU}dQ]¶Ì¿²œ‡uY8b^Xfbffeeeeeefgghheb`^]`fikjigX;7EIJNQTYamttvu¬llnlhZOOPÁÇÕª^^abdefhjjlllkkkR-;.-,/136<=>?DGIL`wTK…˜OhW=7567987@JUªuRTNH=9732CCImM‹bedddcdeefggggdb_^^`chjjk]83EJLNPTZbjjjlj¸nronnfSLJU£ÄËÓY_bcefghgjkkjkjQ,;1,**-,---,.//0024/9“†LnN?:79988864<…j@>63799:8EF;oNudbbcccbbdeefegfda_^\]agjl^52DLNOPTYaeeknk¨msqstwhTNIj»ÇÐÇo\abdfffghikkg_I+;4,E@0+++))**)**()'HŸsNjE87467665332@>24658GYO59;4a[Xaaedbbcbbcceeddeecb`\[]`dj^11DKORPWYbcVC<==mmkjjke\RML”ÅÈÕ¦Z_`cdeffffgf]VG,:627LF@;780******+7~œcTaCC;:ITH<=:33323452>€”w7;74LfPcbˆsabbaabbddccddddb_^]\^d\-0DGJN~‘n_TJE030mebde`b^SMKc³ÃÍÏwY`gfddeeeefcXH/944-7887..,*,**+14lšŠV]XHSLJPRNKNRD333334CPq‡dJPI8>fIc_^`deabaaacccbccdeca`^\\`Y+.DBAUÅÒr\QRJOWSifggqmhbRLMK€¾ÄÒ²^^bcbcdddeed\K54001,&$%%%$&'%.HQR}zOWTMMGDDEEFDFK;444?CNW\]RKIOF@MHbUy’yb\aa`abbbbbcdddcb`^]]U(+B?>NŠ•e^acI467llgfnmqiSLLKU¢ÁÇÓ•_^abccdeddb^WD200110/010/00.Ek|Š„€pS=GHCEKRSKICERIF::GQPONJE?8;>84FaPq’hn¡h`aabbbbbcdddddb`^_U)*=<;>MWY`imj[OLhqjfnorqf[NLKp¶¿ÎËrZacccdeedb_\SJGHHKKMNMLMLKJJd‡Ÿ˜xmY;8:?MXQH?>=OOBA?CHOTUTJEHHJLQTXfeXhI€Á|]aaabbbcccddedda``V*)9869>FMXbhopiftwmkqonlnpYLKN¿ÄÖ°`acccdefecb^YVUSSTTUTSSTTWXUPSnyogXWWWVUUUWWXYXXY[\[Z[[[\[\[\\]_^beOI]ebb`aabbbbcccbcdddb_ZM)(6-:0+-.0//1311pojglmgfijdLJJ]«ÀÉÖ‹\ccceefedec`_^\\\[ZXWVVWZ^`^ZMXsek[\[ZYYZZYYYYYYZYYYXXXYYYYYYYYZZ`T>Qecba``aabbbbbbbbbcaUMJD'(61\Z6)''+('&%$nlmdhkotqniQIKKy½ÀÐÆn_ddefffefecbabaa`^[ZXXY\_belX?M^lVXXXWWWXXXWWWXXXXWVVWWWWVWXXXXX]ZC\edba``a`abbbbbbb`[XPMJF'(517;;866886589icigeiqsosr_KKZe—¿ÃÔ®bbcdeggggfedeedccb_\ZZZ[]^`cb@KkmRWWWWVWWWWVWWWWWVVVUVVVVVVWWWVUXVR`dcbb`_^__abccbbbaa``ZMF))4.'%.544322124gkkinnjknspkTIMMW¤¿ÆÕ^bdeggggghffffefda^\[[[\]_dg`zspRVWVWVVVWWWWWXXWVVVVVVVVVVWVPXegSkbdbbb^‹¾Á¨faabbbbaaa`_VF/.1-,-5)&''&&%%$xsspsniikjgidLJJIm¸½ÍÊs\bcdfffgggfgfffeea][[[\\^adwƒlvrqhYVWVVXYXXXXYXXXXXXXXXXXWTb‰–‡Uccaaab_sÆÞݘ]ababa`_`_]YRB3+)*+/&&%&'()))x€}pkiheiimhaOJMKKŽ½ÀÔ¬[\`bcddffgggfefffd`]\\\\^Z[z„u{™¥¥m[YZZZ[[[[[[\\\]\[\\[ZXTa”ÅÒ¶e^nnoooolq~wm`^hiaa```__[WTJA?><<>DGKPTVVWotruulmflmnkjdYMKI^´¾ÉÒW^acceefgggffggffc_]\[\^V[||uˆÔÞÕ¯n[^^___a`aaabbbaj`_bjs|—ÆÎÔϱ®³´³²±²´±­ª¥¡zwe``````]ZXUTQPPPPQSUZ_cefmtrtslnhgjjlnshPJJL‘ÃÄÕ¹c`cdfgefhhhgfggefda^\[\]TZkeYŽäßÛå®eggjmoqrwx~vvs’ž«²´²¯«§¤¡¢¡ŸŸœœœž  ¡¦®š`]aaa`a`_]ZYXWVWWXWTTX]afhltmnmkkjgiillmhSJJJfºÅÌÖŠ]cdfggggggggffgfec`]\\]RY\RIxéÕ¶êå}ksrttuvwx|}|}‡žª¡œ˜”Š†‚}yxvsqqpopsttx€‡jhn_aaaa`_\\\\\\\[[YXXY]bgljlsrmjlnmggjhiTJKKL’ÆÅÓºa]_adeffffghffgeedb_]\]UOONIQ‘Šçå~r„ˆŽ“™Ÿ¢¨¯·»¬›jƒˆwog_]XTPMKKJJHHGHHHGIMNPUcvaaaaaa`_^^^^_^^_^\ZXY^dimprmlmprplgjkfSLKLJc¸ÆÌÕŠ^deffgggfghgggfffda_]]XGDMFHIP\¡©yœÂ¿½¾ÀÆÊÎÚØŬŽf]VNJHGGIJLNNNgbONMLJIHGEECCCDXbaaaaaa```__`__``_\[XZ`kklmrusprkjlkjoeOIKKLÆÈÔ¾jcefghhgfghhggffffc`]\YGBICFLQX\h‘Ù®NGDBADG²ÞektLEDCDEDDDCB?><>;78887667877899;Va``aaa``````__```_][Y[iqurprqlnhjheirbKKKLK^µÉÌÔ–`eefghgggghhgfffgda_][F?GCFKOV^mšá€2:=>>=DË÷’‡V<:::877766776545889:876666666;FDFOU\cm‘Ù=BADFHH›ÕŽB;:;<>?@ABBA:OX?8<::<854455554:BA446676669:8UW?59<:62245433333>?>Wb`a`aa`_``___``_```_ƒ|‚yuzxihoxuxzsd\RJJKJQŸÇÅ×½f`bcdedeffggfffffca]88CGCJOV`o€¿ªGïìçâêíÐ~>?=137:89549973234499436FA@943329@:Kaaaaa```a``````_`aaa†|uxrqilrmifohaccTJKJ]f~»ÃÊØ‘\aacceeeefffffffdb_53BIDGKS^i~²¶F†õòñññð¼k9@:126?@=42652001125658LVFFD?8424@;CYcbcbbbaaa```aa`a`aa|xwxsnqa`gpyqijdYKKJT[X˜ÃÁÕ¿f^accddddeeefeefec_42?IDTpv_Td…§Nc¯´´³³³ŸS:A6212T€]311000//0223:>AFLSONK;22>>>Mce\^`abca```aaaa`aa‡{†z†z†z†z‡z‡z‡z†{…z†z‡{‡{†z†z‡z‡z‡y‡y‡yˆyˆyˆyˆyˆyˆy‡y‡z…|ƒ‚~|ƒyƒuƒt„t„t†x†y‡y‡y†z†z†yˆ{‡{†zˆw‡u†x†y†z†{†z…z…y‡z†{„~ƒ€‚ƒ€‚€‚†y†z…z…y†y†z†z†z†z…z†z†z†y…y…y†y†x†x†y†y‡y†y†y†y†y†y†y†y…{~{‚xƒuƒtƒt‚v„u…v†y†x…x…y…y†z‡{†z…y…w…t…v…v…x†z†z…x†w‡y†{ƒ~‚€‚€€…z…z…z…z…y†z†z†z†z†z…z†y…y…y†y†y†y†y†y†y…y…y†y†z…{…z…z…z…z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx…y†y†w‡x†y…zƒ|‚~‚€‚€…z…z…z…z†z†z†z…z†z†z…z†z†z…y…y…z…z…z…z…z…z„{…z…{ƒ{„{…{…z„{‚~€€~‚z…y„y„x„w…y…|„{ƒy„x†w‡z‡{…{„{„yƒwƒv„v„x…yˆy‡y‡z‡z…z‚}‚~‚‚€€†x…|…|…{…z„z…{…{†z…z…z†z†z…y…y…y…x…y…y…z…{ƒ|ƒ|ƒ~‚}ƒ}„|„|ƒ~€~‚|„y„x„w„y…z…{…z„y…z‡z‡{‡{…{…z…z„vƒv„x…y†x‡y‡z†z…y„{‚‚€€€ƒ{‚‚ƒƒ~„|ƒ}ƒ~…|…z…y…z†y…z…z…z…z…y…z…z…{„}‚}‚~‚‚~‚}‚€ƒ€‚~ƒ|„z„y„w„y…{…{‡z†z†{†|†}…{…z…y…y„u„v…x†z‡{‡z†z†xƒzƒ}‚‚€€‚ƒ‚„‡~‚€€‚‚~„|…{…z…z…z…z„|…z†y…z„{„|…}‚€€€€€€€€€€€„|…}ƒ~„}ƒ{„z…z„w„w„w„y…z‡z‡|†}„|…{†z…z…x…w„w…w†x‡x†z†z‡y„{ƒ}‚~‚‚€‚€‰ˆ~ˆ}ƒ€€€‚‚„}…|†{†z…z…zƒ}„{„{„~‚€ƒ}ƒ~‚~‚€€‚~ƒ}…{…{„}…|„z„y…x…w„x„w„v„y†{‡}†}„|…|…{…y„x…y…x…w†u†u†x…y…y„|ƒ}~€€†w‚{‚}„€€€‚€ƒ„~…}†|†{„}‚€ƒ€}…z†z†{…{„{„|ƒ}ƒ}„}‚~„|…|†z†{…|…z…z…y…x„x„zƒx„x…z†z…|…|„}„}„{„z„w„y„y…v†u‡u†w…w„xƒ|‚‚€€€‚€‚†tƒ}…€‡}€~€‚~ƒ€ƒ„ƒ|…y‡x‰xˆw‡w†x…{„{„y„|„{…y‡y‡x†y†{†y…z…z…y…x…y…y…y†{„{„|…}„~„}ƒ|ƒz„zƒy…x†w†vˆu†v…uƒw{‚~‚€€€‚~‚Œzˆ|‰}‹{ƒƒ‚~‚‚ƒ~„{†z†y‡y‡y‡x†w‡v‡w…z„z„x…z…y†x‡x†x…y…z†z†{…{…y…v…w…x…w…z…|…|…}„~ƒ}ƒ|ƒzƒz„x†w…x†t‰v‡v…v‚w€|‚€‚ƒ‘z‘yz’y‹}€€ƒ…€„„…„€„z‡x‡y‡y…w†v†w†w…w…x…u†u‡vˆv‡uˆwˆz†{…|…z…z…y„u…u…v…w…z†|…{…}„~„}„{ƒyƒx…w†w†w†w†w…x„yƒ|~€€~‚~ƒˆ€‰€‡ƒ…†‡€‚€ˆ}ˆ|ŠzŠw‰zŠ|…€zˆwˆx‡x†w†w†w†v†u†u†s‡tˆvˆuˆuˆwˆ{†|„|„z„z„x„{„{„y†z†y‡{†|†~„~„}…{„xƒx…w‡wˆx‡w„x‚z‚|‚‚‚ˆ‚}ƒ|„„„‡}‰‚…‚‚€†}††}†~…‡~…~…x†u‡w‡u†u†v…u‡tˆt‡tˆuˆv‡t‡uˆwˆz†y…{„y„x„z„|…|†z‡{‡zˆ{‡}…~„~„~„}„z„x†x‡y†y‡zƒ{}€‚€‚ˆ‚€‚}„{…‚ƒ~ˆ‰‚„‚‚ƒ€‚€‚€‚€‚‚€‚~ƒv‡s‡u‡s‡u‡v†v‡sˆs‡t‡uˆu†t‡tˆv‡x…w„z„y„y„{„z†y†y‡z‡{ˆ}†~„„ƒ‚}ƒz„w†wˆx‡x†{ƒ~€€€€ƒ}ƒ}ƒ€€‚|…x„|ˆ~ˆ‡€„€‚~‚‚€€‚„w‡s†u‡w…z„|„~ƒ‚‚‚€‚‚~ƒ|…w†x†yƒy„y„z„z„z…x‡x†x‡z†}…„„~ƒ~„}…w…sˆt‡u…w‚|€~€}}~‚~ƒ~ƒ€}‚w„rƒ|„|…~ƒ‚€‚‚~‚‚ƒƒ~„uˆt‡z„ˆ€}}||Ž~~~‘|}…w…y„x…y…z„{„y…x†x†y‡{‡|…}„zƒz„x„v‚q‚p‚qpn|s|r~q~qqv€{ƒ{‚x€r€oo‚}ƒ}„~‚‚€€€‚€‚€ƒƒ€„€ƒ‚€‚~…uˆs‡ƒŽ}Š|†|…|ˆ‡‰€ˆ~ˆ}‡}‹|‹}}„y„zƒ}ƒ|ƒ|ƒz…{ˆ{†z†x†s‚n~h|o}o|s|szszq{m{h{g{h}g~e~e~e~h€fd|h~j€lƒ€‚ƒ„€…„„€……„‚„ƒƒƒ‚€ƒ„…†|~|}|{ƒ|ƒ|…|†y†y†}‰}ˆ|„€‚€‚‚€‚€‚ƒ…‚…„}„x…uvxyz€yzy~x~w~xx€urq€r€p€m~r~x€{|ƒˆ~‡‡‡ˆ~ˆ|‰}ˆ}‰}ˆ}‰|‰}‰|‰}ˆ}ˆ}‡†‡|…}ƒ~…|‡y„{„z‡w„z€€‡~ˆ{„ƒ€„€„€ƒ‚€‚€ƒ€„€„€…†€…€…‚ƒ€Š€„€ƒ€„€ƒ‚ƒ„‚ƒ‚„‚„‚„„‡ŠŠŸ‹¢Š£‰|‰~ˆ‡‡‰‰}Š|Š|Š|Š}‰}Š}Š}ˆ{ˆ{ˆ}†~‰{‰„…†~‰x‰xˆxˆv„|~ƒ†€‡z„~„„€…€…ƒ€‚€‚‚‚‚ƒ„†~‡†……€‚‚„€‰€†‚‚ƒ‚‚ƒƒ€……†…ƒŠ‚‡†„‰|‰|‰}ˆ~‡‡ˆ‰~‰}Š|Š}Š}Š}Š}‰|‰|‡~…}‰{ˆ}„…~‰yŠ{‰y‰x„}ˆ†€‰{…}ƒƒ€„€„ƒƒ€„€ƒ€€€€„†€‰ˆ~‡…ƒƒ‚ƒ€‚€‚€ƒ€‚‚ƒ€…‰…ƒy‚{…{„y‰}‰|‰|Š|‰}ˆ~†€‡ˆ‰~‰~Š}Š}Š}‰}‡~†„}…|†}…‡}ˆ{ˆ{ˆ|‡}‚|‡…€Š{‡|„~‚„€‚€‚ƒ€‚€‚€€‚‚€€€‚…€‡ˆ~‰‡€„‚‚‚€‚€…€†ƒ€†Š‰~Š{‰~Š†{Š~Š}‰}‰}Š}‰}‡€†€†‡ˆ‰~‰}‰}†…€†‡~†}…}‡}‡~‡~‡~††~†…‡Š|Œ|‹}„€„€„€ƒ€€‚‚‚€€€‚„€‡ˆˆ†ƒƒ€‰Šƒ‡ŠŠ{Šy‡„‚‰|ˆ€Š~Š}‰|Š}Š}‰~†††‡€ˆ‰~‰}ˆ†‹~Ž||Œ|Œ|‹|‹}‹|‹}‹}Œ}Œ~Œ}}‘{‘{…†~ˆ~ˆ„€‚€‚€€‚‚‚‚€€€‚ƒ€†‡}†‰}³|´‚‡‹‰zŠy‡}…Šz„‰‰}Š}‹}Š}‹~‰~†~†€…†€ˆ~‰}ˆ}‰}|}Œ}Œ|‹}Š|Š}‰}‰~‰}Š|Š}Š}‹}Š€€ˆ~‡~Š}Š~‰~‡„€ƒ€‚‚ƒ‚‚‚‚‚€‚ƒ„„~¥}ª‚˜‡•ˆ„‰€‡‚‡…‡„€ƒ†€‡~‰Š}Š}‹}‹|‰|‡…€…†ˆ~‰~ˆ}‹}„Œƒ‰ˆ‰~ˆ~ˆ}ˆ‡€ˆˆ}ˆ~‰~†|„‡‰~‡~‰~ˆ~ˆ~ˆ~ˆ~†€ƒ€‚‚ƒ€‚€‚ƒ‚‚‚‚€€€‚‚ƒƒ„‚…ˆ Š¤‰§ˆ£‹¡‹¤}„ƒƒ‡€‰~‰}Š}‹}‹|‰~‡…€…‡ˆ~‡~‡€‡€ˆ„†€††……‚†€…„…€‚ƒ…€ˆ~‡ˆˆˆˆ~‰~ˆ~‡„ƒ€€€‚€‚€€‚‚†€†œ‚»„¾€Ã„º„½|‡|„‚†€ˆ‰~Š}Š}‹}‹|‰}‡…†‡†…€ƒ‚ƒ‚ƒ‚‚‚‚ƒƒ„„ƒ‚€‚‚ƒƒƒ†‡€‡~ˆ€ˆˆ‰~ˆ}‰}‰}ˆ~†ƒ€€€‚‚‚€…„…}¾wÎtÏrÔsÕsÔ}“}‰~‚ƒ‡€‰‰~Š}‹}‹|‹}Š~†…€‡…€„€…€†…‚…ƒ‚ƒƒ‚„„‚…€…ˆ}Š}‹}Š}‹{ŒzyŽzŽyŽyz‹{‰}‰~ˆ~ˆ~†€ƒ€€€‚‚‚ƒƒ‚‚‚€ƒŠ„†~”} z­w³w¸{ƒ~ƒ}ƒ}‚„ˆ€ˆ‰~Š~‹}‹}‹|‰~†€…€„€ƒ€…€‡‡}‡~„‚€€€€‚‚€‡~z”x”x•w–w–x•w•w•w•w•v•xŒ|ˆ~‰~‰~ˆ}‡~ƒ‚€‚‚ƒƒ‚ƒ‚‚€‹}µ–€}€vƒ~„ƒ|ƒ‚†‚‰€‰~‰~‹}‹}‹}‹}ˆ†€ƒ€‚„€…€……ƒƒ€ƒ€„€…€…ƒˆ}Œ{‹|ˆ~ˆ‰‹‚Œ‚Š€†††~‡}‹}‰|‰}‰}‰}‰}ˆ}…ƒ€‚€‚‚ƒƒŠx½vÊw»z¥}—y¬|£oz‚‚~‚}‚‚‚‡€‰~ˆ}Š}‹}‹}‹}‹~‡‚€€€‚‚‚ƒ‚ƒ…‚ˆ‰ˆ‡ƒ„Š}„||}y~z~~~‰{{†|{}z}z}|~ˆ|‹{‰}‰~‰}‰}ˆ~ˆ}‡~„‚‚‚‚‰w½rÏqÑsÏsÉrÉvÄh{m}{‚}z‹~‚ƒ‚ˆ€‰~Š}Š}Š}‹|Œ}‰~„€ƒ‚ƒ‚ƒ‚‚‚‚‚„…‚„‚ƒ†€Š}…|~|€}‚}ŠxŒx‰y}}|€}€€†{Šz‰}‰~‰~‰|ˆ~ˆ~‰~‡~„ƒ€€‚€‚€…v»qÎqÎrÍtÃx²j}i{q|ˆ}‡~‚ƒ…ˆ€‰~Š}Š}‹}Œ|Š}…€‚€‚€‚€‚‚‚ƒ„„ˆ}‰}‡|Š}Š‰~Š|‹x‹u‹w‰{ˆ‰‰~‰{‹{ˆ}ˆ‰‰}‰~‰~ˆ~‰~‰~…ƒ‚€‚‚‚x·rÎrÐrÐw³‡…~kj|k|w€€‚~ƒ}ƒƒˆ€Š~Š}Š~Š}Š|‹|†‚€„€„ƒ‚€‚€ƒ€„€…€ˆ|‡}…|Š{Š|‰|‰{Š{ŒzŒz‹|…ƒˆ}‰{‰|Š}ˆ€‰€‰~‰~ˆ~ˆ~‰~‰~‰‡~„‚‚|§wÄx°v½{”€~‚€nmm~t‚ƒ€‚}‚}ƒ„‰Š}‰}Š}Š}‹}‡‚„…ƒƒ€ƒ€„…‡~Š|…}„|†|…}†|†}†~‰|ˆ|…}~‚{„ƒ…}†}Š|ˆ‡~ˆ‰~ˆ~ˆ~ˆ~ˆ~‰~‰~†ƒ€ƒ‚€‡†~ƒ€o„m€j|n€x‚‚~‚|‚€‚‡‰~‰}‰~Š~ˆ~†‚‚‚€‚€„†Œ{Š|ˆ{‡}†~‡}‡}†~‡}ˆ|‡|‡~†}ˆ}Š|Œ{y†~‚…ˆˆ~‰~ˆ~ˆ}‰~‰~ˆ‡„€ƒ‚€‚€‚k‚l~hzi|k}z€}}‚ƒ€‰~Š~Š~Š~‰~‡†€„€„„„ƒ€ƒ€ƒ‚…Žy”x“w“x“w”w”x”x”x”w•v•w”w•v–v—t•v‡~„€†‡ˆ‰~‰}ˆ~‰~‰~Š}‹|‰}„€ƒ€‚€ƒ€ƒnn~izhyezr~€ƒ~”|‰†Š~Š~Š~Š}‰~‰~‰~‰~ˆ…€†€†€ˆ„…€Žz”w”w”w“w“w’w’v“w“v“w“x“x‘x’w’x‘xˆ}†ˆ‰ˆ€ˆˆ~ˆ}ˆ~‰~‰}Œ|‹{„€€ƒ€†~‡~‡~‡l€j~hygxfyl}{„‰~…|‚€‡‹~Š~Š~‰}Š}‹}‹|‰}‡€†€†€‡„€†}zŒ|Œ{x‘xwxxyxx‘x‘xyŒz…~…‰|‡ˆˆ†…€ˆ€ˆ~ˆ~ˆ~ˆ~ˆ~‡~„€€‚‚ƒ€ƒ€ƒ€„€f€g~gzhxhwizq}€‚}‚}ƒƒŠŠ~Š~Š}‹}‹|‹|‹|‰~‡€†€‡€…ˆ{Š{€ƒƒˆ}ŽyzŒ{ŒzŒzŒ{ŒzzzŽy‹{„|…~‰z‰{‰{‰{‰|‡}‰~‰}‰}ˆ~ˆ‡…„€‚‚‚‚‚‚~ƒ~ƒih~gzfxgwhxhyuƒ€‚}‚‚‡€Š~Š}Š}‹}‹|Š|‹|‹}‰‡€‡€…‡}†~…{…ƒ‰}‰}‡~ˆ~‡~‡~‡}ŒzŽyyw‘w‘w’w“w“v’v“w“x’x“x{Š~‰‰~‡†€„‚„‚„ƒ‚‚€‚‚jh~gydxgyjzhzs€ƒ‚~‚~‚„€Š~‹}Š}Š}‹}Š|‹|‹|Š}ˆ†€„€„…€‚ƒ€‚ƒ……ƒƒƒ‚„ˆ}y”y”y“y’x‘z‘{‘|Ž{{{{{{‘{‹}ˆ‰~ˆ~ˆ€‡‡€‡€†€…€‚‚‚ih~g{fxi{k|i{n~}ƒ‚}‚€ˆ}Œ}‹}Š}Š|‹|‹|‹|Š~‡„€„………‚€ƒ€‚ƒƒƒƒ…„‚‰}Ž{Ž|‹|Š|‰|‰|‰}‰}‰|‰|‰|‰|‰{Šz‹{Š{ˆ~‰~‰‰ˆˆˆˆˆ†€ƒjj~j{k{j}i~h~kt€‚€‚~‚‚‹~Œ}‹}Š}Š}Š|‹|‹|Š}‰~…€‚€„…~…~‚‚€‚ƒƒƒ„‚…ƒ‚ˆ}‰|Š|Š|‰{Š{‰{‡|‰|Š|‹z‹zŠzŠz‹zŠ{‰|‰}‰‰‰ˆˆ‰ˆ‰~ˆ~‡mƒk‚i~j€o„k„h‚jq}‚‚‚„ƒ‚‡€Š~Š~Š}Š}Š}‹|Œ|‹}‹~†€‚€ƒ€„€„‚€€‚€‚ƒ„‰}Š{‰|‰‰|‰z‰{‰{Š{‹{‹z‹{Š|Š{Œ{‹{Š|ˆ}‰Š~‰~‰‰‰ˆˆ‰‰lˆmˆn‡oˆq‡p…m„p…t†|„€‚~˜}Ž~‚‰~Š~‰}‰|Š}‹}Œ|‹|‹}‡€‚€‚€‚€€‚€€‚„…‚„‡€ˆ}‹{‰|„…‰zŠzŠzŠ{ŠzŠz‰|ˆ|ˆ{Š{Šz‰|ˆ}ˆˆ‰‰‰~‰~‰~‰~‰~‰~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÎÍÍÍÍÌËËËËÌÌËËËËËËËËËÌÌÍÌËǽ³¯¢€qfkuiigkkqcfaV\`\[b[T[`]^VPOSYX_d_cRTUVUVSSXTPW_][WTMD>9;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÁÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÍÆ´›¤”txq]^_p|n\]lkgZYYZ_YVTO^f_[RPOPYW\fgfOU\_YPPKPQX^aZUNLI@?76521076ÍÍÎÎÍÍÎÎÎÍÎÍÍÌÍÆÀÄÀÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ£Š‡pkkpljorszy^`_bcZYZZZ\RSV\bXYYVTRTSV[ebQQXZTLNMRQ\b__YQGA?;951220/1ÍÍÍÎÎÍÎÍÍÍÌÌÌÌÌÇÀÅÁÉÌËÊËÊÊÊÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’ylpwwr~dd_[fXaccZ[WU_XSXedQOSVWRNLWOYfPNSWYPLROPX`]`USUOH?<84220--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎȾÀÀËÎÎÎÎÍÍÌÌÌËÊËËÊÊÉÉÊÉÊÉÉÊÉÉÊÉÈÈÆÈÉÊÊËËË̼“Ž„~r`k{kbg_^`Vi`VWTSM\a_`plZPOT[SMIURSWRYZXTMOQUZ_XVZQOXNI>>A;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏÇ·»¹ÉÏÎÎÎÎÍÍÍÍÍÍÎÍÍÍÍÍÍÌÌÌÊÊËËÌËÊÊÆÉÊÊËÌËÇÆâˆxzng^jnlb_`]W\_TQ[RRPZeefgbfUQVXSQRTSRVQY]`TRTQYZ\XWSSOPPI>?>6651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎĺżÆÏÍÎÎÎÎÍÎÎÍÍÍÍÍÍÍÍÌÌËËÉÉÌÍÎÌËÇÅÊÊÊÍÎÌÇÃÀ²˜zwndURb]Y\_`]a]VTQKLTY_aci^ZSOOPNKTRSQ^LTSXYVYY^Z[VQPSNRKEC>A<421.2ÏÎÍÎÎÍÎÍÎÎÎÍÍÍÎĽÌÂÅÎÍÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÉÉÊÌÉÅÃÃÁÆÆÇËÍʾ»«~wpWSQQNUWlpea`[XLC@LXP[aa]VTQKMKHKIPLYOQTTUUYZYZ\XROSMUOCGA>>3/.-,ÏÍÍÍÌÍÍÍÍÎÍÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÎÍÌËÊÈÇÅÉÀ¾¸Á½Á¾ÃÊÈÄ»®£¥‹|ts^UVWXhi[nfe^UUQQVUcTOZ]SNVWQJIFMOQXWRPWYUSWWUNRYSQVPWV?46220.---ÎÍÑÖÔÍËÌÌÉÈÉÉÊÌÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ¾Âº¹©¿·À¸¼Æ½¼´¤ˆ…|o‰wb[^Z\ekVn]S[SMST\ZUMPRXRQRUWKKKSRRYf\NUWVVUTYQNZXX\[KB<6530.-,,-ÎÚêðîâÒÊȽ½ÀÅȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌÌÄÁº³¼¸° º±¼µ²Á´¹³˜…{ykfa`b`S[aZTdZSZ]OSQV[TUTNMNKKLRYUNQOQQcZNY[WQLNXWSTWQLK@7=<:61.-,,.ÛïÓ¶Èèè̾¶°¯µ¸¿ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÃÄ¿±ª§¬°¥žª¬´¯°·ª«ŸƒwvrjiQ]cZXcWP\g]Y_WKPPR[_`TPLLKMQLUWKNSMR]]Y`\SOKOYUSVPQWICC=;;961//-,íÃwgr¬ê׳®¬­³²¾ÃÅËÇÃÊÍÌÌËËÊÆÊËËËËÉÇÅÁ½½± ™™¤¥˜—£¯ª¬«¤¢™ƒslifjm[UWT__VV[XY_WTXSRTT^WRSNNSUQRTWROWPRY_X]WZ[V]^SSYVSP??E;8776520/.☄‚|—Ó泬ª®±²ÀÀÅÊÇÁÊÍÍÍËËƾÈÌËÊÊƼµ®¯±¶©Ÿ”Œ˜™˜“¨´­¬ •˜xgceUf_RLHNV`XRS`g]_m[^d^TWNPONOQVRTQTYRZNN][]fYb]ie_RPMLIL@=?8854453.02•ŒŒŽŽ“¯ç·ª©¯®´¼¶ÁÈÆ¿ÇËËËÊÇ¿¶ÄËËÆÁ·¤›™¡ —š•‡’—’’œ¦ª‘…uddgZ\TQSQOX^_\hm\OS_OWon[QNJMLJFJMLNNLPWTW]TRXX`g\ZVNJMFEECH@7543343015XVt†…€̽¢¥°±µµ±½ÈÅ·ÀÉÈÊÊȾ³ÃÊɽ°¤˜œž”–’ˆ‹Œ““‹‰—‰‡‰ƒ}utobYSX[YOW[UT[g\RP]fg_][RRLJJGIGFEFNLS][V[UO\ifeU]SMTRJJ@?B9753313438=Nw½ÔØÉŸÎÉIJ®®ªª¶Ã¹©¯¶²º¹Ç¼¯½Ã·©œž—› ““…‚ˆ‰€}ˆˆ‹„‚€‚€~xun`UUST]YTYTRXfPPN]cbRR[XSLKLJJHEJJIQV[aRXQPlrcd^a\T`XUSH=:;86432265:@jŠÈÏÏË”sËóèÌɦ  ¦¦œŸž¡¡¡¨·®¤¡§˜™˜Ÿ—™’•Œ…ƒ„€~ƒv‡‡„|}{|tpph`VPZgZQURU]YNX[\]WQQPRSMJPQLNQPFBJOT]PQM^``_Yei[QU^ZESF=<<9555499;=ˆ©®dS`Of¤êâçì°¢°¡›œŸ£ª¥¡¢¢Ÿ”“’›™Ÿš‘–Š‹‡‡‚|€x„ƒ€y{wtphheXVZPX^YT[Z\YUZYZ\ZTPKVTNMOJBCEE@?EHHQJRSX[aX`m\^OZ]ZIEC@?<856769;?>A”ƒGTSBWy¼µÝæÁ¶ÄÆ»¼´¹»ÈŽª Ÿ•Œœ•›•ŽŽ‡Š‹‰…„y„}{uvwqqljeX]c`aYRRXW\]aXT\RX^ZVQINLNIBCF@?FEDBRGUW\V_a_[RcaTVWQLGDG966767;>GF8KO_€S=E_¹†‹âååæåèçæçæçéð½—˜”‰‹“’Œ‹Š…Ž‡‹‰‚€ƒ{}Š‚ywuqsqnh`W\caZQVOQ]dbcTMRTgZbVMQQPJHCISJCJKLFPQ\]XKXdcdT`cVPW]PD@@<:8878;@JALNdnl`RMMª‘‰æîíìëéææçããåçÓ¨‹Š„‡ŠŠ€‚ˆ‚˜ˆ†Ž{|„‡|‰z{wuttvraUQZXZVXVNY[]_eehlpiR[[SMRQGEEPUPQOOOIJVZ^[NM^Z_]\gcV_R@:9<<;:::;=<<LTRRTTO]dcbZSXX][R[VSRF;98;:79:98====KKKLMN^Tp‡¢áÚ´MFFFQcYRTLHI=z{|x{‚}~~€~x}}~ƒ‚~|z}uqtxxsnkf[SMJXW[RTW[ZVHW^[\XY_VKMTOMILONOSUXW[lcZ[ZZVZWQUIMJ>763^‚:7888;BDCEl_]XhÑÀÝÒx½Æ”WN=CHQOSE;8?:[™”—{|‚~x~|y|~{}}{~€}xwomwxyqgbaSQRC?LVWUWZOKITW\[UZc^SMLILOMMJGJNVWY\_Y\WUQVNJLHA=8676P€>79:<=AIIH´yLJDsóîõÎhÒÆsAFJWGCACB>=>;F™Úêzywzyw{z}||€‚zwwlintynha^PRTFHNTX[SPSQUUZUVWY`\QKEDBEGIEEFJRV\YTMURTRSNGEC=:6676[}@88;<;AHHHã¤wqis¯ ª`ÝÊ¡“—˜›žœ›œœ˜•š¸ÖÙ||{{wwwvwv{z~€~|xvvpslovphg^RVVTXY^[WFEQW^W[XWTV\UNIBD@>>>=;@KNV`XRXZPW[MLF<;997673‰àK26::;BIJJæàÛØÔÉ _LBQ¬ÄÔÐÒÒÓØ×Ø×ÖÕÕÔÑÓÕ¡€}‚~uzxwxzxvyx~}|w}{wtvvjlqihf_O]j\SSWZXPOVWZb^XU[YTLGD@@??<68>DHJ[gWTZWZ[RFBA;68887:5†ßJ18;=CGHCRñòóòòðµ]MGQ±ÒÙáââãååæåèæäâáàÞ·|~…xz{zxxxxwz}zzu|}xvxskgngfbb[gnbYMOYXUQSYW_YVZcYOHCA@ACA?>DIB?K[jj\LPeQF?:;:7;;::=8wÙS4=;=CIJDVÈÇÍË™‰‚_ECX¤×ÜçêêëáÝâäÚÛäëèãÚÑ—}{ƒy~}zuqzyx|xvsz~zwvumegiifa\[X\XNNVTMOS]ZXX[\[SUMH@AGIC>CRQJU\^jŒkQVWLA;766;@CB??;yç_8?8MTNejivˆg\]QIA?<;?FMJC=>9€ñg8<5>HIY`jšˆ…‹‹udLJGL“ÞäèëäèàÖàèÚÕæççæâä£xstv{‰”–¡¨©«««¨¬­¬ªª«ª¨¥”€]SV]XY\TPSPSPZ]Zd]TTQOIGHCGKGEHNMTjjisrbbjhXQMLQVUWTIJO8|ól87:X]^khineacb[I=>;?z×íëìëëëèêìêéééêììéyzyx{Ÿ¤¦¢›•‚zuqnljkjkmqw€‡‰ŽiUNVZ`XXTMNWUZc^_WONURME@>IVbX\ehnbZWX_bejlkof_jyxqmgjiV†í‚ZW`wvpqkeLLKJMSVD/2=JnqpleS=TaY[UVU]d`RU\YQMNU_[X\h{‚†ŠacqiQPY[[[\eiku~|zzrs}‹Ž‰‡Œˆ‚~osqkngwwwwvy}rUW]n›³Ÿy‰¿‘{yr}»²y£¼½wy{yƒJFgx†”“XD:/+2=AFONKNSWN?grrns|‰‘Ž†‹‘’‘Œ•´š€€yv{{kcmmcY\`^]\`geiredaddt~y|ƒƒ‹„{tdgokjepooonpstwwyzxz}~~€€€‚}y}…Ž†‹~q?TŽ¨«®±± {[\^ZMKI>1234UPUuwxwvtrstsuwxy~„’¢¯²«›}rmkklmmiea]]]ZY^^YZ\]]_dgdc``ckkfiiggmuwvzpnlkklmoqqsstttuwy{}~~}{{zwtsy‡Šš“ZRI·´°¬ —•Èœy™IJJFG>55HqEgkmpstuvutrqqrqpoos~Š˜¤­­¨¡“‚thgfeb`\YWYXWWXXWXWWXZYYXXWZm|“›¡¡ žuqljjjjklnpqrqonnoruyyz{{{{zywtrqwŠLl<@_ZRHILQsxowfIEGel\:57wQWeddfhjmpssstsqpnmnnnnnrz†•ª¼»§vkhgggb_][YWTSTSRSV`bTUWŽŒ‡…}vrnlxvrmjjjjikmoppqpppppqrtuwxxxyxvuttzPs333433CLKGIKHGIGDfz`?;y˜qJhdbbbcdfimprtvutrpllmnppnllu‹§¹»°œˆvkhhfc``[XYUUTTWURQ`ž_[ZUQRQNMvvvsnkjihgiknooppqqrqqqqrtuvwwvwv|hbi047RbM?KJHHHIJINH[|_<8c‡Gghfdcbbabbdgknqsvwvtqnkjlnpomlo|¦¿Ä­thhgfgfc_^ZXUSRQa‡EQ]`fmtwYuuvwtokhfeehjllmnnoooonmmnpqsuuutXzZ035r¢yCF>787?KINIVjt@5/:UZmkgedb``_^^`cfkoqstvvtplhgimnmljis“¸Ì·uigijiigeb_ZUQzuW“—œ¡¥«°Ÿuuvuttqkhedfghiklllmmmlllmmmnqsuq}RŠK7F47:98AijlnpqstsrplgcbabbccefhhijkjC89O‹XLaIqW35324:>;665546747867==>?::dojkkllljgcbbdfhheb`_^^^\\^^adgkmnoqqqokgdegjZP\fu{ˆGMbOJDCGbG@‡[adhjkmoqrpppolhda``_`bdfgghgt¶—AM:987776655655544544455446777?EVhhijkllkjgebbbcfgeb``^]\\\[[\^aehjlnnnmmifce]PY`ewnDG’zB<;:??AÆ|\cgijkmorspppokgcb````bddeggi§‰KC83565544444346845444453343A^jOH`hgijljkkkidb`_adecbb_\\\\]\ZZ[]`bfikllkjkgb_OJIBCYuVCA97:CJGEÉÂsZcffhjlnpqpopolgca___`bcdefg‹ƒZa|c@2432232333CJXiŠÉØßâéíêçéêÛŽ ¦Ÿ§žš–‹‡„€~~}}}€…†‰gggiijjigdb`^`cghhea^]\\\[[[[]HFHPFoÝáÜ×çí‘ID?eXOJ[§¾É¼jZ_adfhhjlmnmmmljgc`_W2,./48>FQ^q—’åêìíìëììíðÜ—¢xsrkjhec`^\ZZ\]\\\\\\]^_ysefghhiiigfca__adgihda^\\\[\\]H@BINMš¸Ê½äèn@?jaPLJpµÀϬa\adeghiklmmnmlkjfb_Z5,..17=DTg­ Üëíðððñòòõäª{W]_bfhikqx…£Ÿ‰ˆ‚}ywwywuklyieefggiiiigdba_adgjjhea^\[\]^H=@HMPOUn™çæŠUKlneRLM†»ÂјY_cdfghjkllmmlkjida]6-..14:QHGRcd·ÔËÆÀ¸²©§Ÿª£hcy€‚‚~|{croTjˆ…‰‡†ˆ‡‚yqcqdeffghihjihfc`^_bgiijhc^\[\]I=>GKORVWWe‰qsqiju^OLU™½ÉÌ‚Zacfhhijllmmlkkjhc]61..9BxØŽ703DPFHJIHIIJM‰…S{“¦¬³ºÁÄÄpH<:=V¯ÚØÓÏÒÓÎsOlfdffghhggghhfc`__adhiiiea^\]K==FINQUXZ^[\]`gpoleXOKb«ÁÎÇv]ceghhiklmmmlkkjf^770.2@—î©v{†£¡’¡¦¬°­¨ªœiZ~ÍÞÞÞÞÞÞØieb_WO§åßÛÔÔÛä”g^Ziefffggfeeghhgdb`__bgjjjgd`_N?;FHMPSVYdlquvyqkkneSUg…»ÆÓ½k^cdghhiillmmlkkib490..2MvhIGSYXYXX[^\XN|”WiiÖàÝÜÛÛÝÎ\YXhTK™ãÞÝÜÝàä‰LqNebfffeffeefhghhfb`^]`fikjigeS>9FILORTXbpz€„‡llnlgZOOPÂÇÕª^^abdefhjjlllkkjd290-,.14>=;=B:8:65886;†NmV©¹¹½ÃÅÄ”NTWtUP|ÙØÓƳ¡ŽZ:sOf}deddeddeefggggdb_^^`chkkkjX:6FIKNQTYamsqrsnrpnnfSLJU£ÄËÓY_bcefghgjklkkkd292-,-0138<<=AEGJPteKUž~MmJ>>?BEFC=JOv¾_TVdZKC;54E;__]‰dbbcdcbbdeefegfda_^\]bgjkl[63EKLNPTZbjjjnnnsqstwiTNIj»ÇÐÈp\abdffghijlkkk`185-,+,,,-,--.-./-/.,P£jTiE;878877885c¹[F@3269;:9K@InPcaddcccbbcceeddeecb`][]afjl[42ELOPPTZbedhiinmljjke\RML”ÅÉÖ¨Z_`cdefghikkg_U/77/9N7.,,+****)*))+)g Y^^?96578775328Z?25559BKB6?<9oP_aˆs`bbaabbddccddddb_^]\^cj[02EKORS\[cbS>11mecde`b^SMKc³ÃÍÐxY`gfddeffee`WR27651AIB=875+***)+-,D‹OdPA:68DE;88323024550K‚–`4753aYXb`cbbbbabacccbccdeca`^\Z\dX+1EGIPŽšp^RII:=jgggqmhcRLMK€¾ÄÒ³_^bcbcdeeeee\Q574502755/-,++++*)+0ƒ—|JjHMODLXWOGNH8333336AW„Š\IL@5O`Oc__`ddaa`abbbbbcdddcb`^\[^T(0EA@XËÎp[TWJLTmmgfnmqiSLLKU¢ÁÇÓ—_^abcceeeed`T=3//0/&##$%$$&%'2AFTšˆnFeIONHGFGFGHNF3225<@RXheQKNO?DRNdUw‚pcdaaabbbbbcdddddc`^]]Q&.B>?M€‰b^ccL54iqjgnorqf[OLKp¶¿ÎÌsZacccdeedc`ZP;21244334435644Wios€jDMLLFCFLKIIBGMG@9=MQOSQMJB;B@96MbKŽ”j_o_aaabbbcccddeddba^_Q&+=<;?KVYaknmcXtwmkqpnlnpYLKNŽ¿ÃÕ±`acccdefdca]XPKJJKLNOONNONNJV~š°‹qhF3::ASZVI@>?@?I^``a`a`a````_^_`a`_][Ypwtoihklmhikuqte_YLLMP„ÇÇÐÉvbffhhggfffgggffgfb_^^QBCGCHMRYaxµßS.46564Yèåb{bEBBA@?=<<;987744567765567667798O``a````````___`a`__][hhiga``hhqzwqqlkmdSJMRZ®ÉÇÖ«dffhighgefggggfffda_^Q@@GCJOU[cuªÜX>@BCCAOËÓyƒF;978788899:9765598:;865566655;=@Yaaa`````_____`````_]rmmnluorirqtss{€k]SJJLKyÅÃÍÔˆbeefefeefggggfffeb`_O;?HBHRZajy¦ÜrM_eoy„‘Á·ˆj<=<@BCEEFFFC9ntK:?<;;6444445449C;M`aa``a``_____``````_ƒ|‚‚yuzwihpxuxyrd\QJJKKQŸÇÅ×½f`bcdedefgggfffffda`N7>HBFLS[fvÔ}jÁêêìîññÝ“M=@7?A>>=<:<;:ŒQ8BA:83344334335A>BZaaa`aa```__``````a`†|uxrqilrmifohaccTJKJ]f~»ÃÊØ‘\aacceeeefgfffffebaO3=HCFLRZet’ÐyRºòíäæëîÐ}@?=23677756:98B?757::52257743323<@;Nbcabbaaba```aa``a``|xw€ysnq`_gqyqijdYKKJT[X˜ÃÁÕÁf^acccdddeffffffecbP.;HEFLRZbpŒÊˆF±òìééëë¿l:@9138<::34985221248844:PEC<74329A:E]igdcabca```aa``a``‡{†z†z†z†z‡z‡z‡z†{…z†z‡{‡{†z†z‡z‡z‡y‡y‡yˆyˆyˆyˆyˆyˆy‡y‡z…|ƒ‚~|ƒyƒuƒt„t„t†x†y‡x‡y†z†z†yˆ{‡{†zˆw‡u†x†y†z†{†z…z…y‡z†{„~ƒ€‚ƒ€‚€‚†y†z…z…y†y†z†z†z†z…z†z†z†y…y…y†y†x†x†y†y‡y†y†y†y†y†y†y†y…{~{‚xƒuƒtƒu‚v„u…v†y†x…x…y…x†z‡{†z…y…w…t…v…v…x†z†z…x†w‡y†{ƒ~‚€‚€€…z…z…z…z…y†z†z†z†z†z…z†y…y…y†y†y†y†y†y†y…y…y†y†z…{…z…z…z…z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx…y†y†x‡x†y…zƒ}‚~‚€‚€…z…z…z…z†z†z†z…z†z†z…z†z†z…y…y…z…z…z…z…z…z„{…z…{ƒ{…{…{…z„{‚~€€~‚z…y„y„x„w…y…|„{ƒy„x†w‡z‡{…{„{„yƒwƒv„v„x…yˆy‡y‡z‡z…z‚}‚~‚‚€€†x„}„|…{…z„z…{…{†z…z…z†z†z…y…y…y…y…y…y…z…{ƒ|ƒ}ƒ~‚}„}„|„|ƒ~€~‚|„y„x„w„y…z…{…z„y…z‡z‡{‡{…{…z„z„vƒv„x…y†x‡y‡z†z…z„{‚‚€€€ƒ{‚‚ƒƒ~„|ƒ}ƒ~…|…z…y…z†y…z…z…z…z…z…z…z…{„}‚}‚~‚‚~‚}‚€ƒ€‚~ƒ|„z„y„w„y…{…{‡z†z†{†|†}…{…z…y…y„u„v…x†z‡{‡z†z†xƒzƒ}‚‚€‚€‚€ƒ‚†‡~ƒ€€‚ƒ~„|…{…z…z…z…z„|…{†y…z„{„|…}‚€€€€€€€€€€€„}…}ƒ~„}ƒ{„z…z„w„w„w„y…z‡z‡|†}„|…{†z…z…x…w„w…w†x‡x†z†z‡y„{ƒ}‚~‚‚€‚€‰‰~ˆ}„€‚ƒ„}…|†{†z…z…zƒ}„{„{„~‚€ƒ}ƒ~‚~‚€‚~ƒ}…{…|„}…|„z„y…x…w„x„w„v„y†{‡}†}„|…|…{…y„x…y…x…w†u†u†x…y…y„|ƒ}~€€‡w‚z}„~€€€‚€ƒ€„~…}†|‡{„~‚€ƒ€}…z†z…z…{„{„|ƒ}ƒ}„}‚~„|…|†z†{…|…z…z…y…x„x„zƒx„x…z†z…|…|„}„}„{„z„w„y„y…v†u‡u†w…w„xƒ|‚‚€€€‚€‚‡t„{„€‡}€~€‚ƒ€ƒ„ƒ|…y‡x‰xˆw‡w†x…{„{„y„|„{…y‡y‡x†y†{†y…z…z…x…x…y…y…y†{„{„|…}„~„}ƒ|ƒz„zƒy…x†w†vˆu†v…uƒw{‚~‚€€€‚~‚z‰{‰}Œ{…~„€‚~‚‚ƒ~„|†z†y‡y‡y‡y†w‡v‡w…z„z„x…z…y†x‡x†x…y…z†z†{…{…y…v…x…x…w…z…|…|…}„~ƒ}ƒ|ƒzƒz„x†w…y†v‰v‡v…v‚w€|‚€‚ƒz‘yz‘y|‚€„€†€……~†€†€‚‚z‡x‡z‡y…w†v†w†w…w…x…u†uˆvˆv‡uˆwˆz†{…|†z…z…y„u…u…v…w…z†|…{…}„~„}„{ƒyƒx…w†w†x†w†w…x„yƒ|~€€~‚~ƒˆˆ€‡‚ƒ††„€€‡}ˆ|‰z‰x‰yŠ|‡|‡xˆy‡x†w†w†w†v†u†u†s‡tˆuˆuˆuˆwˆ{†|„|„z„z„x„{„{„y†z†y‡{†|†~„~„}…{„yƒx…w‡wˆx‡w„x‚z‚|‚‚‚ˆ‚€}ƒ|„„„†}‰†‚ƒ‚…~†…}…~„†~…~€„y†u‡v‡u†v†v…u‡tˆt‡tˆuˆu‡t‡uˆwˆz†y…{„y„x„z„|…|†z‡{‡zˆ{‡}…~„~„~„}„z„x†xˆy†y‡zƒ{}€‚€‚ˆ‚€€~‚}„{…ƒƒ‡‰…‚‚‚€‚€€‚€‚‚€‚€‚x‡s‡u‡t‡u‡v†v‡sˆsˆt‡u‰u‡t‡u‡v‡x…w„z„y„y„{„z†y†y‡z‡{ˆ}†~„„ƒ‚}ƒz„w†wˆx‡x†{ƒ~€€€ƒ}ƒ}ƒ€€~‚|…x„|‰}‰‡€…‚‚ƒƒ€„x‡t†u‡v†u†w†w‡y…y„y„z…y…z…x‡w‡x…yƒy„y„z„z„z…x‡x†x‡z†}…„„~ƒ~„}…w…sˆt‡v…w|€~€}}ƒ}ƒ~ƒ€€}w„rƒ|„|…~„‚€‚~‚‚€‚‚ƒw‡t‡v†~ƒ‡€‰‹~}~ŒŽ~Ž~~~†‚x…y„x…y…z„{„y…x†x†y‡{‡|…}„zƒz„x„v‚q‚pqqn}s|r~q~qrw{ƒ{‚w€r€oo‚}„}„}ƒ‚€‚€€‚€‚€ƒƒ€ƒ€ƒ€‚€‚„w‡s‡z„Ž~‘|Ž|Œ|‹}Š‹‹‹~‹}|}€ƒy„zƒ}ƒ}ƒ|ƒz…{ˆ{†z†x†sn~i}n}o|s|szszq{n{i{h{h}g~f~e~f~h€f~e|i~j€kƒ€ƒƒ„…„„€„……‚„ƒ‚ƒ‚„‚‚ƒ~„‚ƒ‰}‚|~|~{ƒ}…}…}†{†z†|‡~Š|…‚‚€ƒ‚€‚€‚„„‚„„}„x…uuxyz€yzy~x~x~xx€vrr€r€p€oq}ss~s€‰~‡‡ˆ‰~‰}‰}ˆ}‰}‰}‰|‰{‰|‰|ˆ}ˆ~‡…€‡}ƒ}}‚|„zƒzƒ|†x†yƒ~‡~‰{…~„€„€„€ƒ‚€‚€ƒ€„€„€…†€…€…‚ƒ€Š€„€ƒ€„€ƒ‚‚‚„‚ƒ‚„‚„‚„„€„ƒˆŒˆ’‰•Š™‰{‰}ˆ‡‡‰‰}Š}Š|Š|Š}‰}Š}Š|ˆ|ˆ|‰}…~ˆ|Š}…‚†‰xˆx†xˆw†y~‚ƒˆ{„|„€„€…€…ƒ€‚€‚‚‚‚ƒ„†~‡‡…€…€‚ƒ„€‰€†‚‚ƒ‚‚ƒ„…€†‹ˆ‡›…—†”‰|‰|‰}ˆ~‡‡ˆ‰}‰}Š|Š}Š}Š}Š}‰|‰|ˆ}†~ˆ{Š|‚„ƒˆyŠz‰y‰w†{~…‚ƒ‰{†|ƒƒ€„€„ƒƒ€„€ƒ€€€€„†€‰‰~‡…ƒƒ‚ƒ€‚€‚€ƒ€‚‚ƒ€„ƒ…ˆƒ{zzƒy‰}‰|‰|Š|‰}ˆ~†€‡€ˆ‰~‰~Š}Š}‰}‰}‰}‡~…}†{ˆ{„€…‰z‰{‰{‰{„|‡‚ƒŠ{ˆ|ƒ}ƒ€ƒ€ƒ€‚ƒ€‚€‚€‚‚€€€‚…€‡ˆ~‰‡€„‚‚ƒ€‚€†ˆ‚€„…‡‡ˆ{ˆ}Š‡}Š~Š}‰}‰}Š}‰}†€‡€‡‡ˆ‰~‰}‰}‡~†~†€…„}…}…~†~‡}‡}†…~„€ƒƒ‰|Š|‰}„€„€„€ƒ€€‚‚‚€€€€‚„€‡ˆ~ˆ†ƒƒ„„…‡ˆ„Šy‰{†‡ˆ€Š~Š}‰|‹}Š}‰~‡†€†€‡€ˆ‰~‰}‡…€ˆŒ}‹}Š}Š}Š|Š}Š}Š~Š}‹}‹~‹}Œ}Ž{‘{‡„€†ˆ„€‚€‚€€‚‚‚‚€€€‚‚„€†‡ˆœ|­—…ŠˆŠxŠ{„‡„‰‰}Š}‹}Š}‹~‰~††€…†€ˆ~‰}‰~‡~‹||Ž{Ž|Œ}‹|‹|Š}‹}‹}‹}‹}‹}Œ}|‘|‰~†~‰~‹}‰~‡„€ƒ€‚‚ƒ‚‚‚‚‚‚€€‚ƒ€†~€žz¹~§†–ˆ…‰{ˆ{‡‡}€ƒ†€‡‰Š}Š}‹}‹}‰}‡…€…†ˆ~‰~ˆ~Œ|‰…‡…Š~Š~‰~‰}ˆ~‡ˆˆ}‰}‰}‰}‚†ƒŠŠ†~ˆ~‰~ˆ~ˆ~ˆ~†€ƒ€‚‚ƒ€‚€‚ƒƒ‚‚‚€€€‚‚ƒ…ƒŒ†›‰™‰–ˆ”‰–ˆ—}„ƒƒ‡€‰~‰}Š}‹}‹}‰~ˆ†€…‡ˆ~ˆ~‰~‚‰„‡ˆ~‡~‡~††€‡†‡…€}†…‰‡~ˆˆˆ‰~‰~ˆ~‡„ƒ€€€‚€€‚‚„~‡†…¨‡²†ºƒ»‡²‹¯|‡|„‚†€ˆ‰~Š}Š}‹}‹|Š}‡…€†‡‡…€ƒƒ‚ƒƒ‚ƒƒ„‚„ƒ„ƒ€‚‚‚…€‡‡ˆˆ~‰‰~‰}‰}‰}ˆ~†ƒ€€€‚‚‚‚‚€€‚„†·{ÍyÍwÏxÐyÌ}“}‰~‚ƒˆ€‰‰~Š}‹}‹|‹}Š~‡…€†€†„€„€„‚„ƒƒ‚‚ƒ‚ƒ„„ƒ„€‚€„€„…ƒ†‡€†~ˆ‡~‰~‰~‰}‰}‰}‰~ˆ~ˆ~†€ƒ€€€‚‚‚‚ƒ‚‚‚ƒ‚†•ƒ•}¤y¶vÀsÉrÍ{ƒ~ƒ}ƒ}‚„ˆ€ˆ‰~Š}‹}‹}‹|‰~†€†€„€ƒ€…€‡€‡‡†€ƒ€ƒƒƒ‚ƒ€…Š|zzyx’w“v“w“v“v’w’xŒ{ˆ~‰~‰~ˆ}‡~ƒ‚€‚ƒƒ€ƒ‚ƒ‚ƒ‚£€œ{‚}‚†Š~‹v„~„ƒ|ƒ‚†‚‰€‰~‰~‹}‹}‹}‹}‰…€„€‚€„€†€†}†}„€€€…Ž|”y“z“z“y“{’}’|‘{‘{‘z‘z{‰~‰~‰}‰}‰}ˆ}…ƒ€‚€‚ƒƒƒƒ}§xÂz­|–‡~•oz‚€‚}‚}‚‚‚‡€‰~ˆ}Š}‹}‹}‹}‹~‡ƒ€€‚€ƒƒ‚„‚ƒ„ˆŠ€Š€Š€ˆˆ€‰|„|~€~€†‹‰~~~†}‹|‰}‰~‰}‰}ˆ~ˆ}‡~„‚‚‚‚‚~}¥uÌrÒsÍvÁuÃuÇh{m}|‚}zŒ~‚ƒ‚ˆ€‰~Š}Š}Š}‹|‹}‰~„€€€‚‚ƒƒƒ„‚…‚†‚…‚„ƒƒ‰~‡|}|x~w~{~†zŒx‹z~|y~y~z~ƒ}ŠzŠ|‰~‰~‰|ˆ}‰}‰~‡~„ƒ€€‚€‚‚‚~|¢sËqÏrÏsÊtÃwºj}i{q|ˆ}‡~‚ƒ…ˆ€‰~Š}Š}‹}Œ|‹}†‚€‚‚‚‚‚‚‚ƒƒƒ‚…€‹}‡|ƒ‚€‚€„Šz‹x‹x„zƒ…€‡|ŠzŠ}ˆ‰‰}‰~ˆ~ˆ~‰~‰~…ƒ‚€‚€‚‚~}œsËqÏrÐtÊy¨Žkj|k|x€€‚~ƒ}ƒƒˆ€Š~Š}Š~Š}‹|‹}‡€‚€ƒ€‚‚€‚€ƒ€„€„€†~‰|†|Š|‹~‹}‹|‹zŠx‹w‹zŠ~ˆ‰Š|Š|Š}ˆ€ˆ€‰~‰~ˆ~ˆ~‰~‰~‰‡~„‚€‚‚€”vÈuÈtÉv½~ˆ‚~nm€n~t‚ƒ€‚}‚}ƒ„‰Š}‰}Š}Š}Œ|‰~€„€…€„€ƒ€ƒ€ƒ€ƒ€…€ˆ|‡}„|‡{ˆ|ˆ|ˆ{‰|‹|ŒzŠ{„€|…ƒˆ{‡|‰|Š~‰€‰‰~ˆ~ˆ~ˆ~ˆ~‰~‰~‡ƒ€‚€‚†}¢}›|˜{š€€€o„m€j|n€x‚‚~‚|‚€‚‡Š~Š}Š}‰}‰~‡~‚‚‚‚‚‚ƒ€†‡~Š|ˆ|„}…|…~…}…}„†}†|„}€|ƒ€„~…~‰|‰}…†~ˆˆ~‰~ˆ~ˆ}‰~‰~ˆ‡„€ƒ‚‚€ƒ€€€‚k‚l~hzi|k}z€}}‚ƒ€ˆŠ~Š~‰~‰~‡„€ƒ‚‚‚‚‚€„€Š|Ž{Œ{Œ{‹}‹|Œ{Œ|Œ|Œ{Œ{{{Žyy‘y“wŒ{ƒ€„‡ˆ‰~‰~ˆ~‰~‰~‰~‰~ˆ~…€‚‚€‚nn~izgyezr~€ƒ~•|‰~‚…€‰~Š~Š~Š}‰~‰~ˆ‡‡€………€†€‚ƒ€‹{”w•v•v”v–v•w•v•w•v•u–v•w”v–v–u—tŒ{…€ˆ‰ˆ€ˆˆ~ˆ}ˆ~‰~‰}‹}Œ{ˆ}‚€€……††l€j~hygxfyl}{„‰~„|‚€‡Š~Š~Š~Š~Š}Š}‹|‰~‡€††€‡…€ƒ€‹|’y’x’w’x’x‘w‘w‘w’w’x“x’xyxŽy{‹|‡~ˆ~ˆ†€„€†ˆ~ˆ~ˆ~ˆ}‰~Š|ˆ~‚€„…††f€g~gzhxhwizq}€‚}‚}ƒƒŠŠ~Š~Š}Š}‹}‹|Š}‰~‡†€‡……}Œz‰~†Œ|yyyyyzyyyyŽz‡}€†~ˆ~ˆ~ˆ~‡††ˆˆ~ˆ~ˆ‡~†~…ƒ‚‚‚€‚‚€‚ih~gzfxgwhxhyuƒ€‚}‚‚ˆ€Š~Š}Š}Š}‹}‹|‹|Š}‰†€‡€…‡|Š{€‚}…‚‹{Œz‹{‹{‹{‹{Š{ŒzŒzŒzŒz‡|†}‰{‹y‹z‹z‹zŠyŠz‹{‹|‰~ˆ‰‡†€…‚‚‚‚‚ƒ‚‚ƒjh~gydxgyjzhzs€ƒ‚~‚~‚„€Š~‹}‹}Š}‹}‹|‹|‹|Š}ˆ‡€…€…~†€…|…~„†ˆ~†††€…€…Š{zy‘w’v“w“w“x“w“v”v“w“x“x”y}‰‰‰~ˆ€‡€†€†…€„‚‚‚ih~g{fxi{k|i{n~}ƒ‚}‚€ˆ}Œ}Š}Š}Š|‹|‹|‹|Š~‡€…€„…„ƒ‚‚„€„ƒ‚‚‚ƒ‚„‚†Ž{“y”z‘yyz{|Ž|Œ{|{{Ž{{Ž{‰~‰‰ˆˆˆˆ€‡‡†€ƒjj~j{k{j}i~h~kt€‚€‚~‚‚‹}Œ}‹}Š}Š}Š|‹|‹|‹}‰†€ƒ€………~„‚€‚ƒ„‚…ƒ„†Œ||‹|Š|‰|‰|‰}‰}Š}Š|‰}‰|‰|Š{Š{Š{‰}ˆ~‰‰‰ˆ‰‰ˆ~ˆ†mƒk‚i~j€o„k„h‚jq}‚‚‚„ƒ‚‡€Š~Š~‰}Š}Š}‹|Œ|‹}‹~‡€‚ƒ„…~ƒ€‚ƒ‚„„‚…‚ƒ†Š}‰|Š}Š|Š{Š{ˆ|ˆ|Š|‹{‹z‹{‹{‹z‹{Š{‰|‰~Š‰~‰‰‰ˆˆ‰‰lˆmˆn‡oˆq‡p…m„p…t†|„€‚~˜}Ž~‚‰~Š~‰~‰}Š}‹}Œ|‹|‹}ˆ‚€‚€ƒ€„ƒ€€‚€€€‚‚‡~‰|Š{ˆ~ˆ~‰{‰z‰{‰{Šz‹z‹zŠ|Š{‹{‹{Š{ˆ}ˆ~ˆ‰~‰}‰~‰~‰~‰~‰~‰~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍËËËËËÌÌËËËËËËËËËÌÌÍÌËǽ³¯¡€~qfkuiihkiqbfaU\`\Za[T[`]]UPORYX_d^cRTUVUVSSXTPW_][XTMD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÍÆ´›¤•txr\^_p|m\]lkfZXXZ^YUTO]f_[ROOPXV\fgfOU\_YPPKPQX^aZUOLI@?75421/75ÍÍÎÎÍÍÍÍÎÍÎÍÍÌÌÆÀÄÀÇÊÊËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ£Š‡olkokjnrtzy^`^abZYZZZ\RSV\aXYXVSQTRVZebQQXZTLNMRQ\b__YQFA?<851220.1ÍÍÍÎÎÍÍÌÍÍÌÌÌÌÍÇÀÅÁÉÌËÊÊÊÊÊÊÉÉÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’yjpwxr~€ed_[fWaccZZWU^XSXedQORVWRMLWOYfPNSWYPLROPX`]_USTOH?<74220,-ÍÍÍÍÌÌÌËÌÌËÌÍÍÎÈ¿ÁÀËÎÎÎÎÍÌÌÌÌËËÊÊÊÊÉÉÊÉÉÉÉÉÉÉÊÈÈÈÆÈÉÉÊËÊÊ̼’Žƒ~qak|kbg_^`Vh`VWTSM[a_`pm[QOT[SMIURSXSYZXTMOQUZ_WVYPOXNI>>@;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÉÎÎÎÎÍÍÍÍÍÍÍÎÍÍÍÍÍÌÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅâˆxzph^jomb_`]W\_UQZRRPZfeffceVQUXRQRTRRVRY]`TRTQYZ\WWSROPQI>?>6551.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎźĻÆÏÍÎÎÍÍÍÎÍÍÍÍÍÌÌÍÌÌÌËËÉÉÌÍÍÌËÇÅÉÊÊÌÎÌÇÃÀ²™yxndURb^Y\_`]a]WTQKLTX_ach^ZSOOPNKTRSQ^LTTXYVYY^Z[UQPSNRKFC>A;430/3ÎÍÍÎÎÍÎÍÎÎÎÍÍÍÍžÌÁÅÎÍÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÉÉÉËÈÄÂÃÁÆÆÈËÌÊ¿¼«Ž~voWSRQNVWlpea`ZXLC@LXPY``]VTQKLKHKIPLYNQUTVUYZYZ\XRNRMUOCHA?>3/.--ÎÍÍÍÌÍÍÍÍÎÍÍÍÍÌÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÈÇÅÉ¿½·Á½Á¾ÃÊÈÄ»®£¦Œ|sr^UVXWgi[nff_UUPPVTcTNY]SNVWQJIFMOQXWRPWYUSWWUNSYRPVPWV?57220.---ÎÍÑÖÔÎËÌÌÉÈÉÉÊÌÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÃÂÁ½Âº¹©¿·À·¼Æ¾½´¤‰†~p‰wb[^[\dkVn]T[SMST\ZUMPRXRQRUWKKKSRRYf\NUVVVTTYQO[XX[ZKB<6530.-,,-ÎÚèðîäÒÊȽ½ÀÅȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁº²¼¸° º±½¶±Á´º´™…{ykgb`b`T[aZUdZRY\OSRV[TUTNMNKKLRXUNQOQQcYNY[WQLNXWTUWPLK@7=<:61.-,,.ÚïضÄæè˾¶°¯µ¸¿ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÆÃÿ°ª§¬°¤žª¬´°°¸ª« „wwsjjQ^cZXcVQ[h]Y_XKPPRZ_`TPLLKMQLTWKNTNQ\]X`[SOKOXTTWOQWIBB=;;961//-,ìÍ}gn©ë×´®¬­³²¾ÃÅËÈÃÊÍÌÌËËÊÆÊËËËÊÉÈÅÁ½½°¡™™£¤——£®©¬«¥¢™„sligjm[UXUa_VV[ZX^UQVTSTT^VQSNNSUQRSWROWPQX_X\VZ[W]^RRYURP>?E:8777520/.夈ˆ‚™Õè´«ª­±²ÀÀÅÊÇÁÊÍÍÍËËÆ¿ÈËËÊÊÆ¿·¯±²¶ªŸ”Œ˜™˜“¦¶­¬¢–˜‘xhdeUf_QKHOW_XRQ\e^_m^_b\SVNPNNOQVRTQSXQZNN^\]fYb]he^ROMLIK@=?8854453./2‘ˆˆˆˆ¡Ø¾ª©®®³¼¶ÁÇƾÇËËËÊÇ¿¶ÄËËÆú¨žšš¡ —š•†’–’’ŸªªŸ’ŽŽ…tbcgZ\SPSRPX]_\hn_OT`NWon[QMJMLJFILLNMKPWSW]TRXW`g[ZUNILFEDBH@7543343/15WTh‰Œˆ•µ£¥¯±µµ±½ÈÆ·ÀÉÈÊÊȾ²ÃÊɾ³¥™œž•–’ˆ‹‹“’ŠˆŽ—‰ˆ‰ƒ|ttoaYSW[XNV[UU\g\RP]ef`^[RRLIIFIGFEFNLT][VZUN\ifeU]SMUSJJ@?B9753313438=O`¨ÑÝÕ»~ŸÌŲ®®ªª¶Ä»©¯¸´¼»È¼¯½Ã¹«žŸ—› “’„‚€ˆˆ€}ˆ‰„‚€ƒ€~xun`VUST]YTYTSXgRPO]dcRRZXSLKLJJHEJJIRUZaQYQPkrcd^a\U_XUSH=::86432264:?uy¶ÍÈȬo–óèÌƦŸ §¨ž Ÿ¡¡¡©»°¤¢ª›š˜Ÿ—™’•Œ…ƒ…ƒw‡‡„||{{tppiaVPZgZQURT]ZNX[\]XQQPRSLJPQLNRQFBJNT^PQM]``_Ydi[QT^ZESF<;<9555488:<€šµJVSX~Ùãç챞£° ™›ž¢¨¤¡£¢Ÿ””“›™Ÿ™’–ŠŒŠ††ƒ}x„ƒ€y{wtphhdXVYPX^XT[Z[YVZYZ\ZTOJVTNLOJBCFFA?EHGQJRSY[aX`m[^OZ]YIDC@?<756779;>>5jTTUMEjŸ¼ÕèÁ¶ÅÄ·¹°¶·ÅÁ¶¦ Ÿ”‘œ•›”Ž‡ŠŠ‰…„€yƒ}{uvwqqljeX\c``YRRXV\]bXT]SW^ZVPINLNIBCE@?FEDBRGTW[V_a_[RcbTVWQLGDF966767;=FE7?MR|hC;U†°qÇæäåâäæäåååèí¾›š”‰‹“’Œ‹‰…Ž‡‹‰ƒ{}‰yvtqsqnh`V[caZQVOQ\dbcTNRQe]bVLQQOJHCIRICJKLFPQ\\YLXdddS_cWPV]PD@@<:8779;?JAOO]mngZPJ|¯uÉðìëêèãâääãåèÚ¾—Š„‡‹Š€‚ˆ‚—‡‡z|„ˆ|‰y{vuttvr`UQYXZVXVNY[]_dcfkolQ[[SMQQGEEPUPPNOOHJVZ]ZNM]Y_]\ecV_R@:9<<;:::;=<<;hhjkkkknlnšéíìÑ«˜Š‚}|€~‡“„†‰†{€…‚‹—†‚ˆ{‚ˆ‰…}†|xuvxtul]X]_UVSSV^WOM_q€uc[]dPSNLRRMMIB?LUQQSSO\dccZSXX]ZQ[USRF;98;:79:98===763f~:7888;BDCE{`^[W©ÌÇ튤Dz]Z>DCLKPJ;79=<Š–§ˆ|‚~x~|y|~z||{~‚}wwomvxzqgaaSQRC?LVWUWZOKISW[[TZc^SMMJLOMMJGJNVWY]`Y]WUQVNJLHA<8676Xƒ=79:<=AIIH˜ŸRKHNÏöïðx®ÙžAFFVRIGIOKHFDBtÃø¹yxwzyw{z}}|‚zvwlhntxnh`^PQUFHNTX[SPSQSTZUVWY`\RLECBEGIEEFJSV[YTMURTRSNGEC<96676]}@88;<;AHHHÄÌ|umh­¡P²Ü¶™›Ÿ¥ª¬­°°°¬©¨µÅÕ {}|{vwwvwv{{~€~~xwupslnuphg^RVVTWY^[WFEQW^W[XWTV\UNICD@>?><:?KNU`YQXZPW[NLG;:997673ŽáK26::;BIJJãäÜÚÖзtOG@†ÀÐÔÒÓÔÙÚÚÛÚÙØØÕÓÙÀ‚{‚~tyxvxzwvxx}}}y{{vsvvjkqihf^O\i\SSWZXPOVWYb]WU[YTMGD@@??<68>DGI[gWS[WZ[TFBA;67887:5‹ßJ18;=CGHCRññòòòó×vOLB‰Í×ßäâäæçèæèéçäääàÔ’|…xz|ywxxxwz}z{w|~zwyskgngfbb[gobYMOYXUQSYW_YVZdYOHBA@ACA?>CIC>KZjj[KPeQF@:;96:;:9=7|ÙS4=;=CIJCVÏÎÍÑ­‡‚qJBJÍÛâëêìäØÙäÜØÝéèäÝ׶{ƒy}|zuqzyx}yxsz~wywofhiifa\[W\XNNVTMNS]ZXXZ\\SUMG@AGIB=BRQIT\^jŒkQUXLA;666;@CB??;~êc7?8MTNejiv‰g[]QHA>;;?FMJB=>8…ôl7<5>HJY`j•Žƒ‡‘{nQJJDnÅæåêçæçÛÞèàÖÞêæéãçÈ|tuvxvwxiy„‡ŠŠ‡“”‹‰†~vnkn^SV]WY\SPSPSPZ]Zc]TUQOHGGCGKGDGNMRikjutcajgVOLLQVUWTIKO8€õq879V\^khhppcdd^S@>>9Z³íìëìëìêéëêéêêéììîÂ{{yyyy…œ¤«¯­ª©¨¦£¥£¥£¥¨ª«©¢—mTMUZ_XWSMNWUZc^_WOOURME@=IU`WZdhmc[WY`bekmjne^jywqmgjiU‰ï„WU^vuoqjeKKJKLQWM505Oííïðìíñññññíéîðîí¶zyxxz–¨žœ•ˆ}wngfgjgaa]]_cipv{ˆcUWYYSPNOMT[XSXYSMPXSPU[Xn€vbkxl[TW[]^`ffm~ƒƒ|€…ˆ‡ˆ”¬”‘Šƒ{|rrpgwwwxxz~{=,1LêãÌÄéßÀ¿¼»¼ÒïÌÁÜêªvzzxxx`YVROPU_h­¢pd^]\YWRJB^iXZUURX__RS\YPMMT]ZX\gx€…Š‚bcrjROX[[Z]eiku~}||ts}ŠŽŽ‰‡Œˆ‚}nrqlngxwwwwy|{[RVcƒ¶¬‡s³®zxt€Ž§È‡¸Á“vz{xz€GIOVbkr]=<>A@977ZqqqleM=^ppkpz‡‘†Š‘’Š‹’²š‚|w}{lbmm`W[_^][`geisfebecu{~ƒ…„„‹…{rdhpmkfppoooqstvwx{zz~~~‚€}}|ˆ–ƒŽˆ}tƒd<^|‹–›ŸŒWK9/0:BFHIB@EJQGItxxwvsssttuwyz†”¤±³«›|rljllmliea]]]ZY^_ZZ\]]`fiedbafnlgjgd_fqkqsonlkllmoqrsrsttuwy|~~~~}{zyvuszˆŒœ•ˆILi©®±³µ±¥™…hkqUIHC52348bF_moqstuvutrqqqppoos~‹˜¥­¬¨žŽqggfda`\YVYXWWYXWXWWXZYYXXXVSRVWfry‹sokjjjjklnpprqnnnosvyzz{{{zzxvtrqx‡{F`FŸ®¨¡–‹|ŸÁ†~©hEIINL;44``Leeefhjlpssstsqpmmmnnnos{‡™®½¹¤Štjggffb_][YWTSTSRSV_aTUXYfˆŸ Ÿ™xuqmjjjijkmoppppopppqsuvwyxxyxvutq|c[\0DJD>;GITcegbOHBRseQ36K{FadbabcdeimprtvutrpllmnopnkmwŽ©¹º­š…sjhhfc``ZWYTTSTYWRST\šy}tmheawvusokjihhiknnoppqqrqqpqstuvwwvuus€SuJ14775:JKJIKJGHIGMzoT2U– RXjfdbbbaabdgknqsvwvtqnkjlnpolkp}©Áª‹rhggfgec_^YWTSRSPb™VRRPNPQSuuuvtokhfeehkllmnnoooommnoprsutttv~O‚<24DspBILFDDDIJIOFmtO4@\‰uLlkhedb``_^^`cfkoqstuvtplhgjmnmkjjv—ºÍµthgjjiigdb^YUSQgD_mrx}‚‰tuuutspkgedfhiilllmmnnllmmmnorsssxvZ‚454M‘•aXI6566EJHOMfyc55,SGejlmigcaa``_`abfknqqtuuusmggikmonljp‹«ÀÁ§‰skiijigfb^ZUƒme¢¤©­®±³prttuutqmhedcdfhijjjkllkmlkklnqrrwhlu4B•WYegklmjgca``aa__`ejloqsuvutpkgfimnmljhsŽ³Ç£nijkjgec`˜\hª •Œ€tlnpqssrqokfba`acdffgijjjkkkjijlomw_€fBLGQ‡xLKA7665335C‹šW:633ˆsPhffgknnjfc``a`^\]`dhkoprstrsqkedgjkllieh{¢ÈͱŠqnkhgdržU[@[>7655jlnopqqrqojeb``aacdeghiijkkjjkkmgyX[ITLdyŒWFGFDBDCA?Fy’‹N><93ˆGn\FDQfknnkgcbbba_]]_ehlnprrstsqjdcehkkjifeu¡ÈÏ´Šrjli‡“SR>L5799:ijlnpqstsqolgcbabbcdefhhijjkhULN|€O˜\bJv`THILQTUMRKQ\xnE<8;3c[;_F:95]fhmookifeffdb__aeilopqrstrojedehkkjifewžÅϸŽrp›‚RG>D35;B:fikmoqrssrqolhdbbbbbcehiijjlU6=9us@YHT`:?BABLTUQMHD;@=B\UKMC6668?9333CFmlhkkllkjgdbbbcfgeb``^]\]\[[\^`ehjlnnnmmhebbfYQ\gv‚DRw[JDBC\FÅ{\cgijkmorspppokgcb`__`bdefggf’ºXK@987776655654544554545555665;DGXigjjljkkkidb`_adecbb_\\\\\[ZZ[]`bfiklkkjjf``[OV[\piHC}l<87;>?ÉÁs[dffhjlnpqpopolgca___`acdefdƒª[K?6266544444334;754443443437UxeMJfghijjjkkjigc``aceecb`_]^`_^[YZ]_cfijlnnnnkfaRMOI=W{bLFA==GMI½Ì³_Zacfijkmrqooqolgb`_`_`bcdeev‘kTx]53322222334E=4542223427~ª¦VIbfhiiiijjjkjifca`bghgedaaaaa`^]]]adhjlmopqookea‘©qpyzsnl_NQ^fªÀΡZ]beghjlmoopqonlhc``__abddhnm\r¨¡Äu522222234533654221104gŸž’˜S?agghhhikkkkklkifa`cfhjhgebaaa`_^]]_bdgjmoqrqpmh±}sihe\[]XUjqw³ÃÍX^cdfiklmnpoonnlfb`__`abdekQ2{—§¤¡r403210/27B?743579AEj½´°¿@3†xdghhijijklkkkjgcaadgjkifca``___^]^`behknooppl{«~lXZ\XVVVVa`N»ÇÈrXabfhjklnooonnmkgc`___`b^`Q*Y«È¬ÙÚ†wVNQT^V>Ž,@Œ×ËðïÛ¡vZ\_‡\¸¬Srcd^_‘¸íåÙÁ³H0.Rgffedghhhiiijjjjkigdb_adhihfc`^]]^][[\]_cfiko[X†d[SRUVWWWWWWVWx¸ÃΣ\^dfgijlnnnoommmjda`___aI/-1N§£°ÅÜ©žbbgXS|ïêoaioqp°››ˆ]F@/0.Rfdœ½·eeeffhjjjjjjihfb`_aehiigb^]\\[\[[[\_cgjVUvd^^\WXXV[\\\PJM…¹ÁÊŒX]adfhijllmnmmmlhda_^^`F---046@_T^Zcoqc‚ÖÔ‚knldYgB6=1-.28<`or”½¾žvuqnkigfiiiikkjgd`_`ceiigd_\\\[\[ZZZ\`dNQ`aP¸–t‹š]QUV]RLR”»ÄÃvT]_adghiklmmmllkhc`__^=+,.037:?BKS\ap…˜§Ãʱ§”ƒta[]cqy‡‘™Ÿ¥¬ª­¬¬ª­¯®­«ª¤”zgggiijjigdb`_`cfghe`^]\\[[[[\\\ILPXD’ÀÈÎÕó¯ODBeXOI^©¾É¼jZ_adfhhjlmnmmmljfb__^>+-1679<@FO`s°Úßâæííêèêï¾s–¡¬­«¦£ž™•‘Ž‹‰ŠŠŠ‹ŒŽ’‘šwefghhiiigfca__adhigda^\\[[\\[[EEFNHhÜàÙÖâð§LCj`PLJs·ÀϬa\adeggiklmmnmlkjeb_^A,-.16:BLXi„˜µðçííìëììíò­Ž¥„|xvqnjgecabbbaa``_`acl‚ieefggiiiigdb`_adgjihe`^[[\]]^E?AJNL‹­Ä·áò{AlobQLMˆ¼ÂÑ—Y_cdfghjklmnmlkkiea`F--./4:?J\t’°°òêðñññòòò÷º t\^\^`aabelw‰yusronnnmlbpwfeffghihjihfc`^_bgiiigc^\[\\_G=AGMPPSev‘ãÜ‹[ilv]NKWœ¾ÉÌ‚ZacfhhijlmmmmlkjgbbI-../34GREJU`|ÎÇÃÀº´ª¥ ›ª•aav||}{zz‚„‚¢m|€|€€}{ympldffghgffghhfc`__adhiiiea^\[]G=@GKOQVWWa{tlrqoldWOJc­ÁÍÇw\ceghhiklmmmlkkjfdI10.0@MµËZ45=FINQTWZ_]]_apklndSUhˆ¼ÆÓ½k^cdghhijllmmlkkieJ35..8TÓÔ‡v„’­–šŸ¢¨¯³±¯«–Wj–ÔØÛÝßßâ¾ZbVQO]ËäàÛÓÙßáxrOfeeeeeeeeefhghheb`^]`fikjigdaL?;FILPSUXdoty|kknlgYOQT‘ÂÇÔª^^`bdefhjjlllkkjiK18-./8`qW@JRUQQQRVWVQR‡Pn‹ãÜÛÛÚÚß°SddkNT¿áÜÙÔÖÝákabXmddddeddeegggggdb_]^`chkkkigR<:FILORTXbnx~‚nrpnneRLKX¥ÃËÓŽX_bcefghgjklkkjjK09--,008?<=@?8;978=86J–wTfu×ÔÔÖØÙØŠNR]eLQ¬çãäÜÐÁ¯VGtNqebbcddbbdeefegfda_^\]bgjkjlV86FJLNQSXalropnsqsuwhTNJk»ÇÑÅl]abdffghijkkkkkJ/:.-,/025:;<>DFHK[xUGg¢c]bIXY\`fg`GSS‘•RTj•‚n^LA>D;mR^bddcccbbccdeddedcb`\[]`fjjlX53FKMNPTZaiikonnlkjlf[RML”ÅÉÖ¢Z_`cdefghhjkkkgG.;1,+*,--,,,-,,--+,,-qŸSe[?8566435:>>¦±OQC214796=M;[bVc‰s`bcaabbddccddddb_^]\^cilW33FLOPPTZbebcdmecde`b^SMKc³ÃÎÎwY`gfddegghjibYA-;4-HB2-,,++***)))*+1ˆLkSA:679877430\z976668>Lx~a_edO6twmkqpnlnpYLKP’ÀÅÖ¬_`bcccdedca]WD5345766676575496@LMQVWSMDAHB==R_Q¥“nW``abbbbcccccdddcb`_`P%,<<;>JTYakppgpojhlmhfijdMJJ`®ÀÉÕ‰[abbceeecb_[TNLLKMNPPNNOOOORh†›ž}o^:;A>ETXYJEABZIE;7>LQPOIA;;:>>=CSiLslNSa`aabbbbbcccccddcbaaP%+9758>@FIMSVVlunnmkkjgiillniSJJJh»ÅÍÖˆ]cdfggggggfgfffddb`][[[]ZXw‹u{š¸Â‹fZ[\[\]]]]\\\]]_]\]\]^]YÈÓê²UNZbbbccbb`YY\^fdaaa`_]\[YXVSPOOPPQSTY_cmklsrmjlnmggihiUJKKM”ÆÅÓ¹a]_adefeffghfffddca^]\[^VVu{j}ÒêÛÔ•]``aaceefhiliihghfdcdguÁâÒØÍ›™¢£££¦§¦¦£œ“‹{s{f`a`_^^]\[YWVUVXXWTTW\bimprmlmprplgjkfSLKLJd¸ÆÌÖŒ^deffffffghgggeedb`^\[]TVf]UlÜÛÒâß…elnqstuxz}‚yzyzŒ„œ¦®µ¿µ®¬©¬«ª¨¨©¨¨¨¨¨©¬¯³—eb``_```_^]\[[Z[\\[YWXZ^mllmsusprkjlkjodOJKKMÇÉÔ¾jcefffgffghhggffeda_]\\STaPJTÏà¤Üï¬cutuvwxy~‚‡ˆŠˆŒ«±¬¨¢™–•“ŒŠŠ‰‡…„„‚ƒƒ…Ž”k\j^`````a`__]\]^^_]\YYZjpurpsqknijhehrbKKKLK_¶ÉÌÕ—`eefgggggghggffeec`^\\ULRKDGj~lÃñ j˜ §¯µ»ÄÌÏÔ×Åšo—•Ž‡xsngc^ZWUUTRRQQPOPPTX^_iz_`a```a``_^^^____^\[Ypwtoiikmmhhkurte_YLLMP„ÇÇÐÊubefhhggfffgfffffea_]\XGFKCEJOUs•{”Ë»©¥£¥ª¤µÛ¬ˆ—Žeti\TPJKIGIJJJ[XONLLLLJIHGFDFH`d`a`_a``__^^_^^^^^^\Zhijga_`ghpywrtljndRKMRY®ÈÇÖªdefhihhgefgfggffec`^][HAHCEJOUZcƒÉÐJ455450|ó¸9mwPKGEGGHIJLJHHFTO@?==<<::;;;;;;@Xbaa`aa`_^^^^^^^^__^\pllljtnqhrrusszk]SJJLKyÄÃÎÓ†beefeffefggggfeeeb_^]HAEDDKOT[fƒÈ¿;?@BA@<‚òÄ^„PA@@?<;99876656336788767677766:9H_aa`aa`^^_^^^^^___`^ƒ|‚€xuzxjhoxuwzse\QJJKJQŸÇÅ×¼e`bbdddeffggfffffda_^C=DDDMT[bjƒ¾ËNEHKQTYqË›yw=9788899;<==:::75:9;;755455554:?=Ua`aaa````______``aa†{uxrqilrmifohaccTJKJ\e~¼ÃÊØ‘\aaccefeefffffffdb_^?:CFBIPXal·Ëgr¹ÈÏÔÚáçÔ”V<<8BGCHMT]jz«Ç_mÝóðëëëíÍ|E?>6;<::988;9;ƒ|J7AA962344333334?>?[ggedccca```aaaa`aa†z†z†z†z†z‡z‡z‡z†{…z†z‡{‡{†z†z‡z‡y‡y‡y‡yˆyˆyˆyˆyˆyˆy‡y‡z…|ƒ‚€~|ƒyƒuƒt„t„t†x†y‡w‡y†z†z†yˆ{†{†zˆw‡u†x†y†z†{†z…z…y‡z†{„~ƒ€‚ƒ€‚€‚†y†z…z…z†y†z†z†z†z…z†z†z†y…y…y†y†x†x†y†y‡y†y†y†y†y†y†y…y„{~{‚xƒuƒtƒu‚v„u…v†x†x…x…y…w†z‡{†z…y…w…t…v…v…x†z†z…x†w‡y†{ƒ~‚€‚€€…z…z…z…z…y†z†z†z†z†z…z†y…y…y†y†y†y†y†y†y…y…y†y†z…{…z…z…z…z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒx…y†y†x‡x†z…zƒ}‚~‚€‚€…z…y…y…z†z†z†z…z†z†z…z†z†z…y…y…z…z…z…z…z…z„{…z…{„{…{…{…z„{‚~€€~‚z…y„y„x„w…y…|„{ƒy„x†w‡z‡{…{„{ƒyƒwƒv„v„x…yˆy‡y‡z‡y…z‚~‚~‚‚€€†x„|„|…{…z„z…z…z†z…z…z†z†z…y…y…y…y…y…y…z…{ƒ|ƒ}ƒ~ƒ}„}„|„|ƒ~€~‚|„y„x„w„y…z…{…z„y…z‡z‡{‡{…{…z„z„vƒv„x…y†x‡y‡z†z…y„|‚~‚‚€€€ƒ{‚ƒ‚ƒ~„|ƒ}ƒ}…{…z…y…z†y…z…z…z…z…y…z…z…{ƒ}‚}‚~‚~‚}‚€ƒ€‚~‚|„z„yƒw„y…{…{‡z†z†{†|†}…{…z…y…y„u„v…x†z‡{‡z†z†xƒ{ƒ~‚‚€‚€€‚€ƒ†‚‡~ƒ€€‚ƒ~„|…{…z…z…z…z„|†z†y…z„{„|…}‚€€€€€€€€€€„}…~ƒ~„}ƒ{„z…z„w„w„w„y…y‡z‡{†|„|…{†z…z…x…w„w…w†x‡x†z†z‡y„{ƒ~‚~‚‚€‚€€‰~‰}ˆ|„€€‚ƒ~„}…{†{†z…z…zƒ}„{„{„}‚ƒ~ƒ~‚~€€‚~ƒ}…{…|„}…|„z„y…x…w„x„wƒv„x†{‡}†|„|…|…{…y„x…y…x…w†u†v†x…y…y„|ƒ}~€€‡vƒy}„}‚€€‚€ƒ€„~…}†|‡{„}‚€ƒ€}…{†z…{…{„{„|ƒ}ƒ}„}‚~„|…|†z†{…|…z…z…y…x„x„zƒx„x…z†z…|…|„}„}„{„z„w„y„y…v†u‡u†w…w„xƒ|‚‚€€€‚‚ˆu„yƒ€‡}‚~‚€‚ƒƒ~„ƒ|…y‡w‰xˆw‡w†w„{„{„y„|„{…y‡y‡x†y†{†y…z…z…x…x…y…y…z†{„{„|…}„~„}ƒ|ƒz„zƒy…x†w†vˆu†v…uƒw{‚~‚€€€‚~‚ŽzŠ{‰}Œ{‡}„~‚€‚‚‚„~„|†z†y‡y‡y‡y†w‡v‡w…z„z„x…z…y†x‡x†x…y…z†z†{…{…x…v…w…x…w…z…|…|…}„~ƒ}ƒ|ƒzƒz„x†w…y†w‰v‡v…v‚w€|‚€‚ƒ‘z‘yz‘zŽz„€ƒ€†€††~†€†„{†x‡z‡y…w†v†w†w…w…x…u†uˆvˆv‡uˆwˆz†{…|†z…z…y„u…u…v…w†z†|…{…}„~„}„{ƒyƒx…w†w†y†x…w…x„y‚|~€€€~‚~ƒˆˆ€ˆ„†…ƒ…€€‚†~ˆ|‰z‰x‰y‰|ˆ}~…xˆx‡x†w†w…w†v†u†u†s‡tˆuˆuˆuˆwˆ{†|„}„z„z„x„z„{„z†y†y‡{†|†~„~„}„{„yƒx…w‡wˆx‡w„w‚z|‚‚‚ˆ‚€€}ƒ|„„„€†}Š€ˆ‚ƒ„~†…~…~„€……~‚ƒ{†u‡v‡v†u†v…u‡sˆt‡tˆu‡u‡t‡uˆwˆz†y…{„y„x„z„|…|†z‡{‡z‡{‡}…~„~„~„}„z„x†xˆy†y‡zƒ{}€€‚€‚ˆ‚€€~‚}„{…‚ƒ…‰…ƒ‚€‚€‚€€‚€‚€‚y†s‡v‡u‡u‡u†u†sˆs‡tˆtŠt‡u†u‡w‡x…w„z„y„y„{„z†y†y‡y‡{‡}†~„„ƒ‚}ƒz„w†wˆx‡x†{ƒ~€€ƒ}ƒ}ƒ€€~‚|„x„|ˆ|ˆ~ˆ€†‚‚‚ƒ~ƒ‚€ƒz‡t‡t‡u‡u‡v†u‡v†v‡v†u‡v†y†w‡v‡x…yƒy„y„z„z„z…x‡x†x‡z†}…„„~ƒ~„}…w…sˆu‡v…w‚{€~€}}~ƒ}ƒ~ƒ€€}wƒrƒ|„|…}„€‚‚€~‚‚ƒ‚€‚y†t‡u‡v†|„‚‚‚…€…€„€…€†€†€„€ƒy…y„x…y…z„{„y…x†x†y‡{‡|…}„zƒz„x„v‚q‚p‚qqn|s|r~p~qrv{ƒ{‚x€r€no‚}ƒ}„}ƒ‚€€€‚€ƒƒƒ„€ƒ€‚€ƒy†s‡w†‡‘}’|‘||~Ž€Ž~}‘|’}„‚y„zƒ|ƒ|ƒ|ƒz…{ˆ{†z†x†soi}n}o|s|szs{q{n{j{h{h}g~e~f~g~i€fe|i~j€lƒ€‚ƒ„…„ƒ€„€…„‚„ƒ‚ƒƒ‚ƒƒ€„~ƒ}„Š€‰|ƒ||„}†‡€‡~‡|‡|ˆ}Š}ˆ~‚‚€‚‚€‚€‚ƒ„‚…„}„x…uuxy€z€yzy~x~w~wx€uqq€q€o€oopo€nˆ~‡‡ˆ‰~ˆ}‰}ˆ}‰}‰}ˆ|ˆ|‰|‰}ˆ~ˆ‡…‡~‚|~|~{{ƒ{ƒ|…z‡x†|‡~‰|‡}„€„€„€ƒ‚€‚€ƒ€„€„€…†€…€…‚ƒ€Š„€ƒ€„€ƒ‚‚‚„‚ƒ‚„‚„‚„…ƒƒ‚ƒ…‚ˆƒˆ‰|‰~ˆˆ‡ˆ‰}Š|Š|Š|Š}‰}Š}‰|ˆ{ˆ|‰|†~‡|ˆ}†…ˆz‡y…z‡y‡x€€‚‰}†|…€„€…€…ƒ€‚€‚‚‚‚ƒ„†~‡‡†…€‚ƒ„€‰€†‚‚ƒ‚‚ƒ„…€„ˆ–Š¤‰¡ˆ¢‰|‰|‰}ˆ~‡†ˆ‰}‰}Š|Š}Š}Š}Š}‰|‰|Š}‡~‡|Š|…ƒƒƒ‰yŠy‰x‰wˆy€‚€„ˆ}†{„„€„€„ƒƒ€ƒ€ƒ€€€€„†€ˆˆ~‡…€ƒƒ‚ƒ€‚€‚€‚€‚‚ƒƒ€…‡„‡ƒ‚€|‰}‰{‰|Š|‰}ˆ~†€‡ˆ~‰~‰~Š}Š}‰}‰}‰}ˆ~…~‡{‰{„€ƒ‚ˆzŠzŠz‰y‡{~…†‰|‰|„}…€ƒ€‚€‚ƒ€‚€‚€‚‚€€€‚…€‡ˆ~‰‡€„‚‚ƒ€‚€‡ˆ‚‚…Š‡…{…|‡}Š}Š}‰}‰}Š}‰}‡€‡€‡‡ˆ‰}‰}‰}‰}‡}†…~„{†|…~†‡|‡{‡}‡}„~~„€„ˆ}Š{†}„€ƒ„€ƒ€€‚‚‚€€€€‚„€‡ˆ~ˆ†ƒ‚‚…€„€‚‡‹Š}‹zŠ~ˆˆ€Š~Š}‰|‹}Š}‰~‡‡€†€‡ˆ~‰~‰}‡…€†‰ˆ}‡}‡}ˆ}ˆ}ˆ}ˆ‡~‡}ˆ€‡€Š}Œ|{‰~ƒ€…†„€‚€‚€€‚‚‚‚‚€€€‚‚„€†‡‡†…—~”ƒ…†Š‰z‹y‡‚ƒ„‰‰}Š}‹}Š}‹~‰†€†€…†€ˆ~‰}ˆ~‡ˆ~{Ž{|}Œ|‹|‹}‹}Š}Œ}Œ~Œ}}Ž{’zŒ}…~ˆ~‰~ˆ~†„€ƒ€‚‚ƒƒ‚‚‚‚‚€€‚ƒ€…~„Œ{¹{¸ƒ•‡‰zŠyˆ}…€ƒ†€‡‰Š}Š}‹}‹}‰~‡……†ˆ~‰~ˆ~‹{~Œ~‹}‹~Š}Š}‰~ˆ~ˆ~‰}‰}Š~Š}‰~ˆ„Œ€‡}‰~‰~ˆ~ˆ~ˆ~†€ƒ€‚‚ƒ€‚€‚ƒ‚‚‚‚€€€‚‚ƒƒœ~ƒ—‡˜‰Šˆ†ˆˆ‡‹}„ƒƒ‡€‰~‰}Š}‹}‹}‰~‡…€…€‡‰~ˆ~Š|‡……‚ˆ~‰~ˆ~ˆ}‡€†€‡~‡~ˆ~‰~€…|ˆ‚ˆ~‡ˆ~ˆ‰}‰~ˆ~‡„ƒ€€€‚€‚€‚€‚††“‡¥‰«ˆ¯‡ª‹¦|‡|„‚†€ˆ‰~Š}Š}‹|‹|‰}‡…€†‡~‡‡„‚€‡‚ƒ…€………€…‚…‚…€„€„„€€ƒ‚†ˆ‡‡‰~ˆ}‰}‰}‰}ˆ~†ƒ€€€‚‚‚‚€€‚†…¡€Ã€Ä}Ç|Ç€Á}“}‰~‚ƒˆ€‰‰~Š}‹}‹|‹}Š~†…€††…€…€ƒ‚„ƒƒ‚‚ƒ„„ƒƒ€‚‚„„„‡€†€†„‡ˆˆ~‰~‰}‰~ˆ~ˆ~†€ƒ€€€‚‚‚ƒƒ‚‚‚…‡…›~³wÈtÍrÔqÖ{ƒ~ƒ}ƒ}‚„ˆ€ˆ‰~Š}‹}‹}‹|‰~†€†€†ƒ€„€…………ƒƒ‚‚„ƒ„…„†~ˆ~ˆ€ˆˆ‰|Š|‰{Š{‹|‹{‹{Š}ˆ}‰~‰~ˆ~‡~ƒ‚€‚‚ƒƒ‚ƒ‚ƒ‚‚€ƒƒ¡‚€€ˆ”} z¤wƒ~„‚|ƒ‚†‚‰€‰~‰~‹}‹}‹}‹}ˆ…€„‚€„€†€ˆ}‡}†€ƒ€‚€ƒŒ}‘y“y“x”v•w–v•v•u–u–v–v“y‰}‰~‰}‰}‰}ˆ~…ƒ€‚€‚‚ƒƒƒŽ{»} ‡€~„pz‚‚}‚}‚‚‚‡€‰~ˆ}Š}‹}‹}‹}‹}‡„€€‚€„€…„~„…„€…‡€‡ƒƒ{z|Ž||}ŽŽ€‹|‰}‰}‰}‹|‹|‰~ˆ~‰}‰}ˆ~ˆ}‡~„‚‚‚€ƒ‚ŒxÀuÍuÅx²{¤x·h{m}|‚}z‹~‚ƒ‚ˆ€‰~‰}Š}Š}‹|‹}‰~…€‚‚ƒƒ‚ƒ‡‚ˆˆ‰‰†‚Š|‚|~}|~{‚~‹}Œ~ƒ}{}|}{}~Š|Š}‰~‰}‰}ˆ}‰}‰~‡~„ƒ€€‚€‚€ŠwÀrÏqÐrÏrÊsÇj}i{q|ˆ}‡~‚ƒ…ˆ€‰~Š}Š}‹}‹|Š}†~‚€ƒ‚‚‚‚‚‚ƒ‚ƒ‚…‚ƒ‚ƒ‰‰||z~y{~„|ŠyŒz„{y~zz€~ˆ{Š|ˆ‰~‰}‰~ˆ~ˆ~‰~‰~…~ƒ‚€‚€‚€†v¼qÎrÎrÍtÁyªkj|k|x€€‚~ƒ}ƒƒˆ€Š~Š}Š~Š}Š|‹}ˆ~‚€‚€‚€‚€‚€‚€ƒƒ„€„Š}ˆ|‡}ˆ‡€‡Š{ŠyŠy‰y…}‡‰€‰~ˆ{‹|ˆ€ˆ‰~‰~ˆ~ˆ}‰}‰~‰~‡~„‚‚‚‚x¸rÏsÏsÏy®‚nmn~t‚ƒ€‚}‚}ƒ„‰Š}‰}Š}Š}Œ|Š~‚€€ƒ€„€ƒ‚€‚€‚€ƒ€„€…~‰}…|ˆ{‹|Š}Š{‹{Šz‹yŒy‹}†…‰|‰{Š}Š~ˆ€‰‰~ˆ~ˆ}ˆ}ˆ~‰}‰~‡ƒ€‚€‚}¤y½y¦w·|€o„m€j|n€x‚‚~‚|‚€‚‡Š~Š~Š}Š}Š|Š~ƒƒ„„ƒ€ƒ€ƒ€„€†ˆ}‰|„|†|‡|‡|‡|ˆ}‰}Š|‰{…~|ƒ}ƒ†|†|‡}‰}‡ˆ~ˆ~ˆ~‰~ˆ}ˆ}‰}‰~ˆ‡„€ƒ‚€„€‰„Š~‚€€k‚l~hzi|k}z€}}‚ƒ€ˆ‰~Š~Š~‰~‡~ƒ€‚‚€€…€†ˆ}‹|†}†|†…†}……†}…}„~€†~‡~Š}Œ{…„~†ˆ‰‰}ˆ~ˆ~‰~‰}‰~‡„€ƒ‚‚€€nn~izgyezs~€ƒ~”|ˆ~‚…€‰~Š~Š~Š}ˆ~‡…€…€„€„„€„€„€‚‚ˆ}y‘y‘xzy‘yy‘y‘y‘x’x’x’w”w•v–u“w†€…€‡€ˆ€‰ˆ~ˆ}ˆ~ˆ~‰~‰}‹}‰}ƒ€‚€„€ƒ€„€l€j~hygxfyl}{„‰~…}‚€‡Š~Š~Š~‰~‰}Š}‰~‰~‡…€†€‡†€‚ˆ}’x–v•w”v”v•w”w”w”w•v•v•w”w”w”v•v‘x‡ˆˆ†€„€†ˆ~‰}ˆ~ˆ~‰}Œ}‹|„€€ƒ€‡~‡~‡~f€g~gzhxhwizq~€‚~‚}‚ƒ‚ŠŠ~Š~Š~Š}‹}‹|Š|‰~‡€†€‡‡ƒ€‰|zzy’w‘xx‘x‘x‘y‘x‘x‘x‘x‘xŽyˆ~ˆˆ~ˆˆ~‡…€†‡‰~ˆ~ˆˆ~ˆ~‡~…€€‚‚‚€‚€ƒih~gzfxgwhxhyuƒ€‚}‚‚ˆ€Š~Š}Š}Š}‹}‹|‹|‹|‰~‡€‡€†„~Œyˆ}‚…€ŽzxyŽyŽyŽzzyyŽzŽzˆ|€ˆ}‰}‰~‰~ˆ~ˆˆ€ˆˆ~ˆˆ‡€…€…‚‚‚‚€‚~ƒjh~gydxgyjzhzs€ƒ‚~‚~‚„€Š~‹}Š}Š}‹}‹|‹|‹|Š}ˆ‡€†€…~Š|ƒ{…}„†~Œ{Š|Š|‰}‰|‰|‰|Œ{Œ{z‰z…|‰zŒyŒyŒyŒxŒx‹y{Œ{‹}ˆ‰ˆˆ†€„„‚„ƒ‚ƒ€‚ih~g{fxi{k|i{n}ƒ‚}‚€ˆ}Œ}Š}Š}Š|‹|‹|‹}Š~‡€†€„†ƒƒ…}ƒƒ‚‡~†€…„€„„‡~Žzy’w’v’v“w“x”x”w”w“v“w”x”y’{‹~‰~‰~ˆ~ˆ‡€‡€‡€†€„ƒjj}j{j{i}i~h~lt€‚€‚~‚‚‹}Œ}‹}Š}Š}Š|‹|‹|‹}‰†€ƒ€……„€‚‚‚ƒ‚„ƒ„„€Š}’y”z’z{zŽ|Ž}}Œ|‹|Œ|Œ|Œ|{Ž{‹|ˆ~‰ˆ~ˆ~ˆˆˆ‡ˆ†€mƒki~j€o„k„h‚jq}‚‚‚„ƒ‚‡€Š~Š~‰}Š}Š}‹|Œ|‹}‹~ˆ€„€„€……}…~‚€‚ƒƒ…‡ƒ…ƒ‰}|Œ|Š|Š|Š|‰}‰}‰}Š|Š|Š{Š|Š{‹zŠ{Š|‰~‰‰‰‰ˆ‰ˆ‰‰lˆmˆn‡oˆq‡p…m„p…t†|„€‚~˜}Ž~‰~Š~‰~‰}Š}‹}Œ|‹|Š}‰„€‚ƒ„„€‚‚„ƒƒ‚‚„€‰}‰|Š|‰|‰{Š{‰{‡|‰|‹{‹z‹zŠ{Šz‹{Š{‰|‰}ˆ‰‰‰~‰~‰~‰~‰~‰~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍËËËËËÌÌËËËËËËËËËÌÌÍÌÌǽ´¯¢}qgjtkjgkiqbfaV\`\[a[T[`]]UPORYX_e_dRTUVUWTSYTPV^^[XTMD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÎÆ´œ¥•t€yr]^_o|n[]lkgZXXZ^YUTO]f_[RPOPXV\fhfOU\_XPPLQRX^aZUOLI@?75421/75ÍÍÎÎÎÎÎÍÎÎÎÍÎÍÌÆÀÿÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÁ£Šˆpllpkjnrsxy^`^abZYZZZ\RSV\aXYXVSQTSV[ebPQXZTLNMRQ\b__YPGA?<851220.2ÍÍÍÎÎÎÎÍÎÍÌÌÌÌÍÈÀÅÁÉÌËÊÊÊÊÊÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’xlqvws~€ed_[fWaccZZWU^YSXedQORVWRMLWOYeQNSXZPMROPX`]`USTOH?<84321--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÉ¿ÁÀËÎÎÎÎÍÍÌÌÌËËÊÊÊËÉÉÊÉÉÉÉÉÉÉÊÉÈÈÆÈÉÉÊËËËͼ’Ž„|q`k|lbg_^`Vh_VWTSM[a_`pm\QOT[SMJURSXSYYXUNOQUZ_WVYPOXNI>?A;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÉÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÌÌÌËÊÊËËËËÊÊÆÉÊÊËËËÇÆâˆxylh^jomb_`^W\_UQZRRQZfeffbeUQUXSQSTRRVRY\`URTQYZ\XWSSOPQI>?>6551.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎŻżÆÏÍÎÎÎÎÍÎÎÍÍÍÍÌÌÍÌÌÌËËÈÊÌÍÍÌËÈÅÊÊÊÌÎÌÇÃÁ²™zxoeUSb^X[`a^b]WTPKKTX^ach^ZSOOPNKSRSQ^LTTYZVYY^Z[URPSNQKFC>A<530/3ÎÍÍÎÎÍÎÍÎÎÎÍÍÍÍÅ¿ÌÂÅÎÍÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÉÉÉÌÈÄÁÃÁÆÆÈËÌÊ¿¼«Ž~voVSRQNWWlpfb`ZWLD@LYPY``]VSQKMKHKIPLYNQUUVVYZZ[]XRNRMUOCHA?>3/.-,ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÈÇÅÉ¿½¶Á½Á¾ÃÊÈÄ»®£¥‹|tr]UVXWhjZnfe_UTQRWUcTNZ\RNVWQJJFNOQYWRPXYUSWWUNSYRQWQWV?57220.---ÎÍÑ×ÔÏËÌÌÉÈÉÊÊÌÄ¿ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÃÂÁ½Â»¹©¿·À¸¼Æ½¼´¤ˆ„|nˆxb[^[\dkVm]T[SMST\ZUMPRWQPRUWKKKSRRXf\NUWUVTUYQP[XXZZKA<6540.-,,-ÎÛêðîäÒÊȽ½ÀÅȾÆÁ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁ¹²¼¹°¡º±½¶²Á´¹²˜…zxlgaab`T[a[TdZSZ]OSRV[TUSNMMKKLRXUNQOQQcYNY[WQLNXWUTWQLJ@7=<:61.-,,.ÛîÔµÄæè˾¶°°¶¸¿ÁÂÉÆÂÉËËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ°ª§«°¤Ÿª¬´°±¸«ªž‚wxsjkQ_dZXcWQ[h]Y^XKPQS[_aTPLLKMQLTWKNTMR\\Y`[SOKOXUUVOPWIBC=;;951//-,îÇxhn¦ê×´®¬­³²¾ÃÅËÈÃÊÍÌÌÌËÊÆÊËËËÊÉÈÅÁ¾½°¡™™¤¤˜˜£¯ª­¬¥¢™‚slifim[UWT`_VV[YY_WRVTSTT^WQSONSUQRRWROWPQX^X]WZ[W]^RSYVRP>>E:8777520/.Ù¦‘’Ó궬ª®±³ÁÀÅÉÇÁÊÍÍÍËÊÆ¿ÈËËÊÊƾ¶¯±²¶ªŸ”Œ˜™˜”¦µ­« ”—‘xhddUf_QKHOW_XRR`g]_n]^c\TVNPNOOQVRTQTYRZNN]\\eZb]he_RPMKJL@=?8854453./2{yx{|Œ¨°«©¯®´¼¶ÁÇƾÇËËËÊÇ¿¶ÄËËÆø§žšš¡ —š•‡’—’’œ¤¨œ…tccgZ\SQTRPX^_[hm]OS`NWon[QNJMLJFJMMONLPWTW]TRWW`g[ZVOJMFFDCH@7543343/15SS`’ ž”€§§¯°µµ±½Èƶ¿ÉÇÉÊȾ²ÃÊɾ²¥˜œž•–’ˆ‹‹“’Šˆ•Žˆ‡‰ƒ|ttoaYSX[YOW[UU\h\RQ]fg`^[RRLJJGIGGEFNLT][VZVN\iffV]SMUSIJ@?B9753313438=WU•ÓãäÑ”|Ëͳ­­ªª¶Ã¸¨®µ°¸¸Ç¼¯½Ä¹«ž—› ““„‚€ˆ‰€}ˆ‰‹„‚€‚€}xvn`VUST]XTYTSYgQON]dcRRZXSLKLJJHEKJIRV[aRYQPkqcd^a\U_XUSH=::86432264:?Œ€£À¬¯¨sxÙìÐ˦Ÿ ¦¦œŸž¡¡Ÿ¨¶¬¤¢©›š˜Ÿ—™‘•Œ„ƒ…€„w‡‡„||{{tppiaVPZfZQURU^ZNX[\]XQRQRSMKPQLNRQFBJNT^QQM]``^Yei\QT^ZESF=;<9555488:2H}[YeS>]|¹ÄâĸÇƼ¿µººÈ姞ž•œ•›•Ž‡ŠŠŠ†„€yƒ}{uvwqqljeW\cabXRRYV\]aWS\SX^ZVOINLNIBDFA?FEDBRHUW[W_a`\RcbTVWQLGDF966767;=FE8:DPlrI;I_Âo‹âåæåèèçäáæêîá—”‰‹“’Œ‹Š…ŽˆŒŠ‚ƒ{}‰ywuqsqnh`V[b`YQVPP[dbcTMRRf[aVLQROJHCISICJKLFPR\]XKXdcdT_cWPV]PD@@<:8779;?JAZY`qrneZV]¡‹¯íìçáÜØÙÖÖÖ×ØÕÏ­Š„‡‹Š€ƒˆ‚—‡‡z|ƒ‡|‰y{vuttvraUQYX[VXVNYZ[^fgjmokR[[SMQQGEEPUPPNOOIJVZ][NM]Y_]\caW_S@:9<<;:::;=<<;cbcdcdehlmzÝðëØ“xmhhdccaalw“}†‰†{€…‚‹—†‚ˆ{‚ˆ‰†}†|xuvxtum^X]_UVSSV_WOM_pq`Z]dPSMMRRMMJB?LTRRSUP]dcdZSXX][R[UTSF<98;:79:98===763b€97888;BDCEn•g_[T„äÌñ¸€Ê¼hMBCHCCCH;55;5^ŸÀ²~x|y|~z}}{‚}xwolvxzqgabSQSD?KVWUXZPLJUX[[UZd^SMLIKOMMJGJNVWY^`Y]WUQWOJLHA<8676S€=79:<>=<:@KNV`XQXZPW[NLG;:997773ŠáJ26::L[jl^KPePF@:;97;;:9>7xÙS4=;=BIJDW¸·¶½²|x{TBDc·ÜßêêëãŽÕÔ¸¿ßëäßØÑyƒy}|ytq{yx}zxyy}wyxofhiifa\\X]YNNVSMOT][XX\]\SUMG@@FIB=CRQJW^^lŽjQUWK@;666;@BB>@;zèa8>8MTMfjky‡f\]QIB>::>FMIBIJY`k•œŠ‹‘†tZKKDPžååéêåëæáèçÝàëçêççâquxywzzguywvxuoryvqnmgcc`^j^RU]WX[SPSPSOZ_Zd]TUQNHGHCGKFEHONUijjrqbbkiXQMLOUTVSIJP9€óm97:V^_khhbj]\[XTC;<8E‡âíìììëìëëëìëêéëìî݉xyyzzvxxu…’–›ŸŸœ¤¦¥¢¡Ÿ™’‡{yhTNVZ_XWSMNWWZb^_WOOUQLE@>IV`W\fjmaYWX_aejmlof^jxvplgjjY‹íƒ][buvprjePOPOQT\[B.2@tÚîîñîëïððñðïëìñîïÔ‚xxy{zŒ˜¤­®¬¥Ÿ˜“‹ˆ‡‡†Š”™ž¤¢—iUXXXRONOMS[XRWXTMRWSPW`]q‚vclwiWTW\]^agfm~„‚‚ƒ|€…‰ˆŠ”¨“’Š„{|rrpgzzzzz{~X*0>iÏäÅ¢Í챤¦¨©²éÔ¢ÆàÌzzzyuŠ©‘ˆ€vla[Z]ez…r`^WUTVY\[kwZ[UVTZa`SS_\SOOVa[X]i{‚†Š‚bbqhQPY[[Z]eikv}zxzrs}ŠŽˆ†Œ†‚}nqpkngwvvwwy{}jSXbs¡©l¼†xv|’¿›y¥¯¤vy{yu}SOMMNSYUY_“tVSShfe]XI>[sror{†Œ†Š“”’˜µ‡‚‚{vz{kblmc[^`_][_feiqdc`ccu{}‚„ƒƒ‹„~zqchpmkfpooopqruvwwyzx{}€~}€€€{z{†Ž…’‹uv„OCVany‚ƒI75/+155BbfgiieI>kwwwusrstttuwx}‚ ®°­ž€unkklmmiea]]]ZX^^YZ\]]`fidda`clkfigd_htmsupnlkklmpqrrrrsstvy|~~}|{ywusx„‡šŸx=Q—Ÿ¤©ª„mR>:?HKHE=568?:BJJJJKJIIJH\€dC4~¨’Fglifdb``_^^`bfkoqstuvtpkhfimnmljit“¸Ë¹”xjgjjiigec_YVSSPdŒJMSSWZ_tuuuttpkgeefghikllllmmllllmnorsstrƒYw\/34n“eJ\B>==CJIMINojA59E[Xjlljgdaa``_`abfknqqstuusmhgikmonljo†¦½Ã¬ulijjihfb_[VRttN}…Š•™prttuutqmhfdcdfhijjijklkllkklnpqrp‚PŠL36=s“‡T=5433:GEIKfy„M34/xzKggjlljgca``aa__`eiloqsuvutpkgfilnmmjhpˆ­ÅÄ©†pjjkkhedb[`n¥³³´²±lnpqssrqokfb``acdeffgijjklkjjjkmqmzSA?DG‡˜©fE>3213548@p£‘J620Y“Hcedfknnjfc``a`^]]`dhknprstrsqlfdgjkllifgwžÆ϶‘tnkigfdjWb`‹{m_Ujlnopqqqqpkebaaaacddfhiijkkjihikmkt_‰DKLEbvVIH>9:;8779c™€@;62ET_ic_bhknnkgbbbba_]]_dhlnprrstsqkdceikkkjgdsÅлŽsjkkf|˜SWœVXlG<B?@HIFCBB98;5BRLIL=686@=3027Ujeccbdhllhdaabaa^]^`dhkmopqsssqmgeegijlkieg{ŸÅ aO>;;8?ep^`cfhkmopqqqpomidb`__`adfggigA00.2HK9854579853455556787546789:MÈÄuZdffhjlnprpopolgda___`accegfrµ‚BG7876666555555435544444445538EIH]ihiijjkkjigc``aceecba_]^`_^\Z[]_cgjklnnnnlfbZINOL]aW@PL555=B¼ÌµaZacfijlmrqopqolgc`````abdfei£|RJG4165444444338A55443333341Ty[MThhiiiijjjkjifca`bghgedaaaaa`_]]^aehjmnopqonlfZVedD\„xb]VICMQª¿Î¦\]begijlnooqqonlhc``_`acddei„|Xv˜Œ\02222323339C4543323431X« ¥{JPgfhhhijkkkklkifa`cfhjhgdbaaaa`^]^`bdgjmoqrppokcš¶{wnpmhhcRRdw²ÂÏ”X^cefijlmnpooonlgba```abdelkS`›Ÿ°°V2112212345/5532100//Nš¥”€6Zveghhiiijklkkkjgcaadgjkifdb``___^]^`behknooqpomŠ­zobfbYXYWWlNŒ»ÆÊyXabfikklnoooonmkgc``__`bdbi0I•ž±Ÿ¦\28656305A`?78<>@AZ[´Ö´Å¶h.Ehfghgihhijjjjjkjhdaaadgiihea_]^^^^]\^`bfikmooqgy¨{iUVYWUUUV\Zv«¿Ì¸gZbfhjjlmoonnomlkeb____`bT]25‚ûÇîÊ…}RXajRbÈZMrre\\›²ïðØدL-;aghfffhiiiiijjjjjigdb`adhihgc`^]]^][\\^_cfilmo]g—jbUTUVTUUUUUUt¶Âͧ]^dfgiklnnnoommmjda`__^aR?0/VºÔàëó½™bZ\ee“Ô‰Zl\b`p¯Îçг°s106af¤Å¿„fhhgghijjjjjihfb`_behjifb^]\\\\[[[\_cfimWXcZQNTWWWXXXPJL€¸ÀÊX]acfijklmnnmmmlhda_^^`X3/.4iŒ…ñ­ƒbjeWT¼ü´Unoxq†¨yya=83/06d`|ž¡‰ddeffghhhiijiijgda_`ceiigd_\\\[[[[ZZ\_chSVqc[ozd[_\[]^]RLPŽ¹ÃÄvT]_aeghjkmmmmllkhc``_`Q1-,./02FH?kdRdmkq£Ù¦|mh`XUQ8:930025@ihnlkl‰€mmjhgefhhiiijihdba_`cfghd`^][[\\[[[[]`KQ[_J“À®‘¨¾fKNeXOJY¤¾É¼jZ_aeghhjlmnnmmljgb`_`N.,-1369=DLU`kx¡¯¿Ö̼´¢•wd]Y_kw—œ£¨¨¬¯®­µ°ªª§£šŠpfghhhiiihfda__adhihea]\\\\\\[[ZFKNVEÅÒÞÙôÉ]DkaPMIm´¿Ï¬`\adfghjklmnnmlkjfb__O--.478:>DJVkŽÜçéêíîíííðë‘z™­®«§¢žš˜”’‘‘‘“˜—˜mdggggiiiigdb`_adgjjhd`^\[\]^][CDDNJ\Ò×ÓÔ×ï¾SkoeSLL‚»ÂÑ™Z_cefhijklmnnllkie`_S/-..38=FTe{¨–ßäêììëëììî冨š…ˆytrnkihecedddcccccefw€ffffghhhjihfc`^_cgiijgc^\[\]^^D>BJONit›±®äö…ilu]OLS—¾É̓ZadfhhiklmnmmlkjhbaW2-..16:?Qe{£›Úñññòòòòñó䜘f^^]^^__`djv}tronlkiiiig_ureffghgffghhfc`__adhjiiea^\[\^E>AHLPPT[c‚ÑÂ…qokeXOKaªÁÍÇw]ceghhillmmmmkkjfbZ2...36ChO>ALO”­¤ œ–Ž†{z©€Zhwz|zyz‡‡—¨€x…}~~}~|zyitheeffffeefghgdb_^_bgjjjgd`]\]E=@GKOQVXY\edfpjlmeSUh„ºÆÔ½k^cdghhijllmmmkkie[43..9Fí F@B\VAGORSVZ\[v¡`k}‹–œ¡¢¦ŠO673=¸¿Á»º»¶Ÿ|[`mddeeeeeefhghhfc`^^`eikjigd`^G>=FJNQTWY`abckknlhYNOPŠÂÇÔª^^`bdegijjlmmkkkh]39..1>Ûžt{‰žŸ—œ¤ª®²²¨¤¨…N{¬ÓÕÙÜÞàæœX\POLxàâàÙÖÝáÓhrMkddddeddeegggggdb_^^`dikkkifcK>;FHLPSUXcpx~nqpooeSLKT¡ÄËÓŽY_bcefhhhjklkkkj`1;/..1@Z\B=FNHCDDDFFE;W•oYj¶âÜÜÚÙÚáŒWegcLj×ÞÛ×Ò×ÞÕUqTahbbcddbcdeefegfda_^\]bhjkjjiP;9GHLORTXbnw{nsqstxhTOIi»ÇÑÆl]abeffghijkkkkka/;0-,.13;==?C<<@<BNÌŠPQ?224775BK9iV]a]^_aaababccbccddca`^\Z\bflR23GLPQPTZcd_YkggfqmhcRLML‚¾ÄÒµa^bbbcdfghiidYO,9609P<3.-,+***))+)+)I rQlI>8689887434l986578;<8?G9UdSbmrtb`aaabbbcccdddcba^\[\`hQ,4FKOQ^maa]M9mlffnmqiSLMKU£ÂÇÕ›_^abcdffedb_WO/956/?GA=674*****+.14i _WbA6657;7652223744646Xus:476@oMbµââ°f`aabbbccddddddc`^][\bN'3EEFT±²t\MJLiqjgnprqf[OLKr¶ÀÎÌsZacccdeeeee\L3824010/.**))***)+/,MŽT_UEG<@SZNAA>43333457@€‡@?;56jNZy··²u]`aabbbcdedddddba_]\^K%1D?>]þjZ\_HswmkqpnlnpYLKNŽÀÄÕ²``bccdeeecc_U?2-./,%#$$&$%&&%%.43‡~LdMLRKJLMKJMQG513345GTg†jLNQB6ZOX_[hfda`abbbbccddddddcca_]^J#/@=>Jkp_agdSpnjgmmhfijdLJJ[ªÀÉÖŒ[abbcefedb_[R@:::<=>?>>>?>>FQWalqtolmehknspmiQIKLx½ÀÐÅl^bbcefffdb^WSPONOPQRPPQRRSS[uŽ‹wlN8AAAHUYVIG?IXIE98BOQOMHA<98=;9BWeIhOUa``abbbbbccccddddbb`L#-8546:?DLMPVgcihfiqsorr_LJZf—¿ÄÕ­bbccfggfeeb]\ZXWXXXVUVVVXZ[Ri‚™„tmU@>@DOTLGCDCQOHFGKORUXWROQTUWY\^_oZ`OU^`^`_aaccbbcccccdc_YSB#-61L7(''&%##hllimmklnspkTILLW¤ÀÇÕ‘_bdffefffeca``___][ZXYY[_cZOQrrxoe]\[YXWYZZZ[ZZ[[[\[Z[[[[[[Z[[[\^]dR@Zd]ŒÄÇ°labbbbbcccab]NJI?",64][=.,.30.xsspsojikjgjcKJJIn¹½ÍËu\bcddefffeccccbbb_][ZZ[\^_]\HXjidZZZYXXYYYYYYYYYXXYXXXXXWXYYYYYZ[_AEbc`pÃßÛ¡^abbbcccb^[XSMKA!,4/)*4977776x}pjjiehiniaOJMKL½ÀÔ­[\`bccdeefeeeeeddb_][Z[[\^_cP@IhdVXXWWWWXXXWVVWWWXWVWWWWWWWWXXXYW[IQecb`fnih``aaabbbbbba`YMB&,2.)*22110..orqtvlmflmnkjf[MKI`µ¾ÉÓ~W^`bcdeeffffffedda^[[[\\^^cZETrfRWWWWVVWWWVVVWWWWVVVVVVVWWWWWUUVUS^dccba`_]ljaaaaaaa```_\TD./.-,/3&%%$##mvssrlnhgkklnsiQJJL”ÃÄÕ¸c`cdegffgggfffeddc`]\[[\]^g`}wpkTYXUVVVWWWWWWWXWWWWVWWWWXXXWQZm{_\kaccbbbbkƒwcbbaaa`___][WQC3+**,.()(*,.msmnnkkjgjillmiSJJJh»ÅÍÖˆ]cdfgffgggggeffddb`][[\\_aeŽ{gvyvl[VWWXYYYYYYYYYYYXYYYXYYYV]Ž¦¡oXhbcbbbbbaZ[```aaa`__^]\ZWTJBA@@@CFINUZljmtrmjlnmfgihiUJKKM”ÆÅÓ¹a]^addeeffghfffddca^]\[\^Xaˆ‚r}¤®±s^Z[[[[\\\[[\\\]]]]]]]]\]ŽÉÒä—OO\```___]^]^abb`aa`___]\ZVUQOPOOOPRTX`jmoqmlnprpmhkkfSLKLJd¸ÆÌÖ^cdfffggfghgfffedb`^\[\^Pb€tq‘âàؼu\`^_`aaccdffedeefffb`\yÎæÚéÁ`amxyyxxwvro£À«qmaa````_^\ZXWVVVWWUTTW\lklnsusprkilljodOJKKMÇÉÕÂkcefghhgfghggfffeda_]\\]Mcc^SãÝ×æ½igjmorstwy~€xxxywvy|„´áÍÁÿ²³¶¶µµ¶¶¶¶µ±ºÅ¶‚vg_``a```_][ZZ[[Z[ZXWWXjrurpsqkoijieirbKKKLK_¶ÉÌÕš`eefghgggggggffefca^][\JdURE„íβêé‚jtttttuw{€„‘›¦°´´¬¦¥¤¡ŸŸœšš™™˜˜˜™š›£ fZa_```a`__^]]]]^]^][YYousnhgjllgjlvste_YLLMO…ÈÇÐÊvbefghgggfggggfffeb_^\\J]PJCSƒ†çå~r‡Ž•œ£ª±¸ÁÂÄŸ›‡«¦ ›–’ŽŒˆ„~ywvqooonmmmmosxogu^``aa`___^^_^_^^^^][gghf`a`hgpzxrrnlndRKMRZ°ÉÇÖ«defhihhgffggggffeca_]]MLHICHKQZ™ xŸÅ½¸·¸»¾»ÍÛ·«²‰mˆ~tke`ZTQNMKJIJIIJIIIIILMMQZrdaa`aa___^^^^^^^^^^]sopomwprirqtts|€l]SJJLK{ÅÃÍÓ‡befffffefggggfeeeb_^]SFCHBGMRX]h’Ú°D==:9;8—í‰4uƒaaWNJHGHIJLMNNhaNMMLKIHHGFDBBBPaaaaaa`___^^^^^^^___„{‚xtzwigoxtwxpe\RJJKJR ÆÅÖ½f`bbdddefgggfffffda_^UE@GCHLPV^m—߈2=>;778867777888898Qaaaaa```________```†}u~xrpilsmhfoibccTJKJ]f~»ÃÊØ“]aaccefeffffffffdb`_U??GBHPW\co‘×>CADEGG}×…nzD<;;:87776677555588:9766666666;;B\babbaab```````_`aa~|xwxsnpa`hqyrijeYKKJU[Y˜ÃÁÕÃh^accdddeefffeefeca`T8=HBDLT\esÏ«Ys ¨¯·ÂÒàÂ]:98::<=>@BC?;KJ<7<:::755545655:A;Peiedccca```aaa``aa†z‡z†z†z†z‡z‡z‡z†{…z†z‡{‡{†z†z‡z‡y‡y‡y‡yˆyˆyˆyˆyˆyˆy‡y‡z…|ƒ‚~|„yƒuƒt„t„t†x†y‡w‡y†z†z†yˆ{‡{†zˆw‡u†y†y†z†{†z…z…y‡z†{„~ƒ€‚ƒ€‚€‚†y†z†z…z†z†z†z†z†z…z†z†z†y…y†y†y†x†x†y†y‡y†y†y†y†y†y†y…y„{~|‚xƒuƒtƒt‚v„u…v†x†x…x…y…w†zˆ{‡z…y…w…t…w…v…x†z†z…x†w‡y†{ƒ~‚€‚€€‚…z…z…z…z…y†z†z†z†z†z…z†y…y…y†y†y†y†y†y†y…y…y†y†z…z…z…z…z…z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„vƒx…y†y†x‡x†y…zƒ}‚~‚€‚€…z…y…y…z†z†z…z…z†z†z…z†z†z…y…y…z…z…z…z…z…z„{…z…{„{…{…{…z„{ƒ~€€~‚z…y„y„x„w…y…|„{ƒy…x†w‡z‡{…{„{„yƒwƒv„v„x†yˆy‡y‡z‡z…z‚~‚~‚‚€€†x„|„|…{…z„z…z…z†z…z…z†z†z…y…y…y…y…y…y…z…{„|ƒ}ƒ~ƒ}„}„|„|ƒ~€€~‚|„y„x„w„y…z…{…z„y…z‡z‡{‡{…{…z„z„vƒv„x…y‡x‡y‡z†z…z„|‚~‚‚€€€„{‚ƒ‚ƒ~„|ƒ}ƒ}…{…z…y…z†y…z…z…z…z…z…z…z…{„}‚}‚~‚~‚}‚ƒ‚~‚|ƒz„yƒw„y…{…{‡z†z†{‡|†}…{…z…y…y„u„v…x†z‡{‡z†z†xƒ{ƒ~‚‚€‚€€‚€„†‚‡}ƒ‚€‚ƒ~„|…{…z…z…y…z„|†z†y…z„{„|…}‚€€€€€€€€€€‚„}…~ƒ~„}ƒ{„z…z„w„w„w„y…z‡z‡|‡}„|…{†z…z…x…w„w…w†x‡x†z†z‡y„{ƒ}‚~‚‚€‚€€‰~ˆ}†{…~‚€‚ƒ„}…{†{†z…z…zƒ}„{„{„}‚€ƒ~ƒ~‚~‚€‚~ƒ}…{…|„}…|„z„y…x…w„x„w„v…y†{‡}†}„|…|…{…y„x…y…x…w†u†u†x…y…y„|ƒ}~‚‚€€ˆuƒw€}„}ƒ€‚€ƒ€„~…}†|‡{„}‚€ƒ}…z†z…{…{„{„|ƒ}ƒ}„}‚~„{…{†z†{…|…z…z…y…x„x„zƒx„x†{†z…|…|„}„}„{„z„w„y„y…v†u‡u†w…w„xƒ|‚‚€€€‚‚ˆw…xƒ‡~„~~~~€‚‚€ƒ~„ƒ|…y‡w‰wˆw‡w†x„{„{„y„|„{…y‡y‡x†y†{†y…z…z…x…x…y…y…z†{„{„|…}„~„}ƒ|ƒz„zƒy…x†w†vˆu†v…uƒw{‚~‚€€€‚~‚zŒz‰|Œ{Š{ƒ~ƒ€‚‚‚€„„}…z‡y‡y‡yˆx†w‡v‡w…z„z„x…z…y†x‡x†x…y…z†z†{…{…y…u…w…x…w…z…{…|…}„~ƒ}ƒ|ƒzƒz„y†w…y†w‰v‡v…v‚w€|‚€‚ƒ{‘z‘y‘zz†‚€‡‡~‡}ˆ~‡~†}…x‡z‡z†w†v†w†w…x…y…u†u‡vˆv‡uˆwˆz†{…|†z…z…y„u…u…v…w…y†{…{…}„~„}„{ƒyƒx…w†w†y†x…w…x„y‚|~€€€~‚~ƒ‡‡‡ƒ‡„„†€€‚…ˆ|ˆ{‰yˆy‰{‰}„yˆx‡x†w†w†w†v†v†u†r‡sˆuˆuˆuˆw‰{†|„|„z„z„x„{„{„z†y†y‡{†|†~„~„}„{„y„x…w‡wˆx‡w„w‚z|‚‚‚ˆ‚€}„|…„€„€…~‰‰ƒ„‚„~†……~„€„…~ƒ|…u‡v‡u†u†v…u‡tˆt‡sˆt‡u‡t‡uˆwˆz†y…y„y„x„z„|…|†z‡{‡zˆ{‡}…~„~„~„}„z„x†xˆy†y‡zƒ{}€€‚€‚ˆ‚€€~‚}„{…ƒƒ„‰†‚ƒ‚€‚‚€‚€€‚€{…s‡v‡u‡u‡u†u†tˆs‡t‡t‰u‡u†u‡w‡x…v„x„y„y„{„z†y†y‡y‡{ˆ}‡„„ƒ‚}ƒz…vˆwˆx‡x†{ƒ~€€ƒ}ƒ}ƒ€€~‚|…x„{ˆ|‰~ˆ€†‚‚‚ƒ~ƒ‚€ƒ|†u†t‡u‡t†t†u‡u‡t‡u‡u‰uˆx‡x‡w‡x…y„y…y„z„z„z…x‡x†x‡z†}†„„~ƒ~„}…w…sˆu‡v…w{€~€}|~ƒ}ƒ~‚€}‚w„rƒ|ƒ|…}„€‚‚€~‚€‚€‚‚{†u‡u‡s‡u…w…z…}ƒ~ƒ}ƒ~ƒƒ~„€„|„x…y„x…y…z„{„y…x‡x†y‡{‡|…}„zƒz„xƒu‚qpqqn|q|r}q~qr~vzƒz‚wq€oo‚}ƒ}„}ƒ‚€€€ƒƒ„…„€ƒ€ƒz†t‡u‡~ƒŠŽ}‘}‘||Ž~~‘|‘|’}†y„zƒ}ƒ|ƒ|ƒz…{ˆ{†z†x†r‚n~i}n}n{s|tzs{q{n{i{g{g|g~f~f~g~h€fd|i~k€lƒ€ƒƒ„€……„€„†„‚„ƒ‚ƒƒ‚ƒƒ€ƒƒ}„†|Š|‡|‡}ˆˆ‚‰€ˆ~ˆ|‰|‹|‹~‚‚‚€‚€‚€‚€‚„„ƒ„„}„x…vvxyz€yyy~x~x~xx€uqr€r€p€opp€o€m€ˆ~‡‡ˆ‰~‰}ˆ}ˆ}‰}‰}‰|‰{‰|‰}ˆ~‡ˆ†‡€…|~|}{€{ƒ{„|…{‡y‡z‡}ˆ}‰|…€„€„€ƒ‚€‚€ƒ€„€…€…†€…€†ƒ‚€ˆ€…€ƒ€„€ƒ€‚‚‚„‚ƒ‚„‚„‚„…„ƒ€|‰|‰~ˆˆ‡ˆ‰}Š}Š}Š}Š}Š|Š}Š|ˆ|ˆ|‰}‡†}‡|ƒ~ƒ}…{†z„|…{‡xƒ|‚€ˆ}‡{…„€…€…ƒ€ƒ€‚‚‚‚ƒ€„†~‡‡†…€‚ƒ„€‰€…‚‚ƒƒƒ„„€„€††Šš‹Ÿ‹¡‰|‰|‰}ˆ~‡†ˆŠ~‰}Š}Š}Š}Š}Š}‰|‰|Š}‡~†}Š|‡€„„‰zŒxˆx‰wˆw‚~~ƒ‡‡{„~„€ƒ€„ƒƒ€ƒ€ƒ€€€€ƒ€†€‰‰~‡…€ƒ‚‚‚€‚€‚€‚€‚ƒƒ€ƒ‚†Œ…ƒŒ‚ˆ‰}‰|‰|Š|‰}ˆ~†€‡€ˆ‰~‰~Š~Š}‰}‰}‰}‰}‡~†|Š{†€…‡{‹y‹z‰y‰x‚}‡‡‰{„}„ƒ€‚€‚ƒ€‚€‚€‚‚€€€‚…€‡ˆ~‰ˆ€„ƒ€‚€†€ˆ‚ƒ…†ˆ„z‚z„{Š~Š}‰}‰}Š}‰}‡‡€‡‡ˆ‰~‰}‰}‰}‰}ˆ~…~„{‡{‡}…€‡|‰zˆ{ˆ|‡|€ƒ}‡‡Š{†}…„€„€‚€€‚‚‚€€€€‚„€‡‰ˆ†ƒ‚‚„€…€€€„‡ˆ†ŠzŠ|‰~ˆ€Š~Š}‰|‹}‹|‰~‡‡€†€†€ˆ~‰}‰}ˆ~……€†€†}…}…}†~‡}‡}‡†…~„€ƒ‚‡~Š|Œ|‰~„„€…„€‚€‚€€‚‚‚‚‚€€€‚„€†‡~‡‡€‚†Š„…‰ˆƒ‹yŠ{„‚„‰‰}Š}‹}Š}‹~‰~†€†€…†€ˆ~‰}ˆ~†€†€Œ}Ž|‹}‹}‹}‹|Š}‹}Š}‹}Œ~Œ}Œ||‘{|…†ˆ~ˆ~†„€ƒ€‚‚ƒƒ‚‚‚‚‚€€‚ƒ€…€‡}€¢{º †ˆ€ŠyŠz…€€„†€‡‰Š}Š}‹}‹}‰~‡……†ˆ~‰~ˆ~‰||Ž{|Œ}‹}‹}Š}Š}‰}Š}Š}Š}‹|Œ|}~‡~ˆ~‰~ˆ~ˆ~ˆ~†€ƒ€‚‚ƒ€‚€‚ƒƒ‚‚‚€€‚‚ƒ€€›|¯ †™ˆŠ‰ˆ‡‚}„ƒƒ‡€‰~‰}Š}‹}‹}‰~‡†€…€‡‰~‰~‰|‹€…‹†ƒ‰~‰~‰~‰}ˆ‡ˆˆ}‰~‰~†€~‡†‰~‡~ˆ~ˆ‰}‰~ˆ~‡„ƒ€‚‚€‚‚‚€‚€‚€‚ƒ……††œ‰ ‰£ˆ ‰ž|‡|„‚†€ˆ‰~Š}Š}‹|‹|Š}‡…†‡~ˆ~ˆ~†††€‡‡‡~††‚†€†…€†‚‚~……‚ˆ‡ˆ‰~ˆ}‰}‰}‰}ˆ~†ƒ€€€‚‚‚‚€€‚‚„†Š„±…º„¿Á„¸}“}‰~‚ƒˆ€‰‰~Š}‹}‹|‹}Š~†…€†‡…€„€‚‚‚ƒ‚‚‚ƒ„„„ƒ€€‚€‚‚ƒ†‡€‡…ˆˆˆ~‰~‰}‰~‰~ˆ~†ƒ€€€‚‚‚ƒƒ‚‚‚€ƒ†³yÍvÏtÒtÔ{ƒ~„}ƒ}‚„ˆ€ˆŠ~Š~‹}‹}‹}‰~†€†€‡„€„€„„ƒ„‚ƒ‚‚ƒƒƒ„…ƒ€‚€……‚…ƒ‡†€†ˆˆ€‡€ˆ~‰~ˆ~‰}‰~‰}ˆ}‡~ƒ‚€‚ƒƒƒ‚ƒ‚ƒ‚‚‚…š„Ž’|¥y±w¼wƒ~„‚|ƒ‚†‚‰€‰~‰~Š}‹}‹}‹}ˆ…€…€ƒ€„€†€‡‡~‡„‚€‚‚‚ƒƒˆ~‹|{{ŽzŽyx‘w‘ww‘w‘wyŠ}‰~‰}‰}‰}‡~…ƒ€‚€ƒƒƒƒƒ‚¨~¤‚{‚€€ƒpz‚‚}‚}‚‚‚‡€‰~ˆ}Š}‹}‹}‹}‹~‡…€‚€ƒ€…€†~†}…‚‚€€€€‚€‚‚‹}“y•x”y”x•x”z”z“y“x“y“y“z|‰~ˆ~‰}‰}ˆ~ˆ}‡~„‚‚‚€ƒƒ‚|ªwÇxºz¤~‘}•h{m}|‚}zŒ~‚ƒ‚ˆ‰~Š}Š}Š}‹|‹}Š~†€€ƒ‚‚‚‚ƒ‚‡€‹ŠŠ€Š‚‡Š}Š{‡}…ƒ„Š‹‚ˆ~~‚}Š}Š|‰~‰}‰}ˆ}‰}‰~‡~„ƒ€€‚€‚€‚|©tÍrÑrÑuÈsÇj}i{q~|ˆ}‡~‚ƒ†ˆ€‰~Š}Š}‹}‹|‹}ˆ~€€€‚‚ƒƒƒ…‡†‚…‚†…‚Š}ƒ|z}x~y~~~‰yzˆ{{}z}y}z~…}‹{ˆ~‰‰~‰~‰~ˆ~‰~‰~†~ƒ‚€‚€‚‚~{¤sÌqÎrÎsÊt¿kj|k|w€€‚~ƒ}ƒƒˆ€ŠŠ~Š~Š}Š}‹}‰~‚€‚ƒ‚‚‚‚ƒ‚ƒƒˆŠ|…|€~€~€„~‰y‹z‰y|~€€€‚€‡|Š{‰ˆ‰~‰~ˆ~ˆ}‰}‰~‰~‡~„‚‚€‚‚~}sÌqÎrÑtÉ{¢nnn~s‚ƒ€‚}‚}ƒ…‰Š}‰}Š}Š}Œ}Š}ƒ€€‚€ƒ€‚€‚€‚€‚€‚ƒ€„€ˆ}‰}‡|‹}Š~Š~‹|‹yŠy‹xŠ|‰‰Š~‰|Š{Š~ˆ€ˆ‰~ˆ~ˆ}ˆ}ˆ~‰}‰~‡ƒ€‚‚“vÆvÂuÂv¶~„o„m€j|n€x‚‚~‚|‚€‚‡Š~Š~Š~Š}‹|‹}„€€‚…€„€ƒ€ƒ€‚€ƒ€ƒ€…‰}†}…|‰{‰|‰|‰{Š{‹zŒzŠ|„~„†}‰{ˆ|‰}‡€†€ˆˆ~‰~ˆ}ˆ~‰}‰~ˆ‡„€‚‚ƒ~™~“}‘|’kl~hzi|k}z€}}‚‚€ˆ‰~Š~Š~‰~ˆ~„€‚‚‚…€‡ˆ}Š|…}„|†}…}…}…~†ˆ}ˆ|„}~‚{„ƒ…~†~‰|‡††ˆ‰~‰~ˆ~ˆ~ˆ~‰}‰~‡…€ƒ~ƒ€€€€on~izgyezs~€ƒ~•|ˆ~‚…€‰~Š~Š~Š~ˆ~†€„€ƒ‚€ƒ‚€‚‚ƒ€„€†~{‹|‰{ˆ}ˆ~ˆ|ˆ|ˆ~ˆ|‰|‰|‰}ˆ|‹{{Žz‘x‰}ƒ€…ˆ€ˆˆ~ˆ}ˆ~ˆ~‰~‰}‰~‰~…€‚‚‚l€j~hygxfyl}{„ˆ~„}‚€‡€Š~Š~Š~‰~‰~‰~ˆˆ‡€…€…€†€„€‚…y•w•w”w”v•w•w•w•w•v–v–v•w•w–v—t—uŠ}…€ˆ†€„€†ˆ~ˆ~ˆ~‰~‰}‹}|†~€…†~†f€g~g{hxhwizp}€‚}‚|‚ƒ‚ŠŠ~Š~Š~Š}Š|‹|‹}Š~‡€†€‡‡„€…Žz”w“w“w“w“w’w’w“x“w“w“w“w“x’x‘xyŠ}‡ˆ~ˆ…€†ˆ~ˆ~ˆ~ˆ~‰~‰~Š|‡~‚€‚„€……ih~gzfxgwhxhyuƒ€‚}‚‚ˆ€Š~Š}Š}Š}‹}Œ|‹|‹}‰~‡€‡€‡„ˆ|z‹}Š}yxxxxyyxxxxz…}‚‡~ˆ~ˆ~ˆ~‡‡ˆ€‰ˆ‰ˆ‡€……€ƒ‚‚‚‚‚jh~gydxgyj{hzs€ƒ‚~‚~‚„Š~‹}‹}Š}‹}‹}‹|‹|Š~ˆ€‡€‡€„Š{‰|ƒ„‡zzŒzŒzŒ{Œ|Œz‹{‹{Œz‰|€€~„ˆ|ˆ}ˆ}ˆ~ˆ‡‡ˆ~ˆˆˆ‡†€„‚‚ƒ‚‚ƒ‚ƒ‚ih~g{fxi{k|i{n}ƒ‚}‚€ˆ}Œ}‹}Š}Š|‹|‹|‹}Š~‡€‡€„‡}…}†{„‚ˆ}‰~ˆ}ˆ~‡‡‡~ˆ|Š|‹{Š{ˆ{ŠzŒyŽxŽxŽwwwŽyzŽ{Š~‰‰‰ˆ‡€††…„‚‚‚jj}j{j|i}i~h~lt€‚€‚}‚‚‹}Œ}‹}Š}Š}Š|‹|‹|‹}‰‡€„€……‚„€ƒƒ…€„ƒƒƒ‚ƒ…€Œ{‘y’w“w“v”w“x”z“y”w“x’y“x”x”y}‰‰ˆˆˆˆˆ‡ˆ‡€mƒljj€o„k„h‚jr}‚‚‚„ƒ‚‡€Š~Š~‰}Š}‹}‹}Œ|‹}‹~ˆ€…„€………€‚€ƒƒƒ€„ƒ†ƒƒ†{“z’{{Ž{|}Œ}‹|Š|‹}‹}‹|‹{Œ{Œ{Š}‰‰‰‰ˆ‰ˆ‰‰l‰m‰n‡oˆq†p…m„p…t†|„€‚~™}Ž~‰~Š~‰~‰}Š}Œ}Œ}‹}‹~‰…€‚€„…~„~‚‚„„ƒ‡ƒ…‚‚†~‹|‹|Š|‰|Š|Š|‰|‰}Š|Š|Š|‰|Š|‹{‹{Š{‰|ˆ‰‰‰~‰~‰~‰~‰‰ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍËËËËËÌÌËËËËËËËËËÌÌÍÌÌǽ³®¡{qfkujjhkjqbfaV\`\[a[S[`\]TPORYX_e_dRTUVTWTSYTPV^^[XTMD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÎƵ¦•s€y~r]^`p|m[]lkfZXXZ^YUTO]f_ZQOOPXV[ehfOU\_XPPLQRX^aZUOLI@?75421/75ÍÍÎÎÎÎÎÍÎÎÎÍÍÍÌÆÀÄÀÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÌÍÍÍÎÍÍÀ£‹‡omlokjnqszy^`_bcZYZZZ\RSV\aXYXVSQTSV[ecPPWZTLNMRQ\b__YPGA?<851220.2ÍÍÍÎÎÎÎÍÎÍÌÌÌÌÍÈÀÅÁÉÌËÊÊÊÉÉÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’yjpvxr}€ed_[fX`bc[[WU^YTXedQORVWRMLWOXfQNSXYPMROPX`]`USTOH?<84321--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎɾ¿¿ÊÍÎÎÎÍÍÌÌÌËËÊÊÊËÉÉÊÉÉÉÉÉÉÉÊÉÈÈÆÈÉÉÊËËËͼ’„{r`k|lbg_^`ViaXWTSM[a_`ol[QOT[SMJTRRWSYZXUNOQTZ_WVYPOXNI>?A;520,+ËËÌÌÌÌÌÌÍÍÌÍÍÎÏÇ·»¹ÈÍÎÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÌÌÌËÊÊËËËËÊÉÅÉÊÊËËËÇÆâˆxzoh^jomb_`^W\_TQ[RRPYddffbfUQUWSQSTRRVQY]`URTQYZ\XWSSOPPI>?>6550.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎŻƽÆÎÍÎÎÎÎÍÎÎÍÍÍÍÌÌÍÌÌÌËÊÈÊÌÍÍÌËÇÄÊÉÊÌÍËÆÃÀ±™zwoeVSb]Y\`a]a]WTQKMUX^ach^YRONONJRQSQ^LTTYZVYY]Z[URPSNRJEC>A<530/2ÍÍÍÎÎÍÎÎÎÎÎÍÍÍÍÅ¿ÌÂÄÍÌÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÈÉÉËÈÃÀÃÀÆÆÈËÌɾ¼«Ž~voUSQQNVWlpeab[XLC@LXPZa`]VSQKLKHKHPLXNQUUVVYZZ[]XRNRMUNCGA>>3/.-,ÌÌÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÈÇÅÈ¿¼¶Á½Á¾ÃÊÈÄ»®£¤Š|sq\UVXXgi[mfe_UUQQVTcTOZ\RNVWQJJFNOQYWRPWYUSWWUNSYRPVPWV?57210.---ÍÍÒÖÔÎËÌÌÉÈÉÊÊÌþÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÊÂÁÁ½Â»¹©¿·À¸¼Æ¾¼´¤ˆ…|o‰xbZ]Z\dkVl]T\SMST\ZUMPRWQPRUWKKKSRRYf\NUWVVTUYPPYWX[[LB<6540.-,,-ÎÛêðíäÑÊȽ½ÀÅÈÁ¾ÆÁ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁ¹²»¹°¡º±½¶²Á´¹²˜…zxkfbbaaS[a[Ue[SZ]OSRV[TUTNMMKKLSYUNQOQQcYNY[WQLNXWUTXQLJ@7=<:61.-,,.ÜîÔµÂåè˾¶°°¶¸¿ÁÂÉÆÂÉËËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ°ª§ª°¤Ÿª­³¯±¸«ªž‚wxsjiQ`eZXcWQ[g^Y^XKPQS[_aTPLLKMQLUWKNSMR]\Ya\SOKOXUVUOQWIAB=;<951//-,ïÈzhn¤éØ´®¬­³²¾ÃÅËÈÃÊÍÌÌÌËÉÆÊËËËÊÉÈÅÁ¾½° ™˜¤¤˜—£¯ª¬¬¦¢™‚slifjm[VWT`_UV[XY`VRVTRTT^WQSONSUQSTWRPWPRY^X]WY[V]^RSYWSP?>E:8776520/.Õ©’”Òⳬª®°³ÁÀÅÊÇÁÊÍÍÍËÊƾÈËËÊÊƾ¶¯±²¶ªŸ”Œ˜™˜”¦µ¬¬¢–—‘xhccUf_QKHNV_XQQ_g]_n]^b\TVNPNOOQVRTQSZRZNN^\]fZb]he_ROMMJK?=?8854453./2stqx{}…Ž¢¬¨¯®´¼¶ÁÈÆ¿ÇËËÌÊÇ¿¶ÄËËÆ÷¦žšš¡ —š•‡’—’’ž¨ªž’ŽŽ…tbbgZ\SQSQOX^_[gm]OT`NWon[QNJMLJFJMLONMPWTW]TRWW_fZZVNILGFDCG@7543343/15RR]Ž¥¢š‰€£§¯±µµ±½ÈÆ·ÀÉÈÊÊȾ²ÃÊɾ³¥˜ž•–’ˆ‹‹“’ŠˆŽ—‰ˆ‰ƒ|tsnaXSX[YNW[UU\h\RQ]fg`^[RRLJJGIGGEFNLS^[VZUN[hfeV]SMUSHI@?B9753313338=dQÌàçÚ±s®Ï³®®«ª¶Åº©¯¶²º¹Ç¼¯¼Ã¸ªžŸ—› ““„‚ˆˆ€}ˆ‰„‚€ƒ€}wvn`UUSS]XTYTSYfQPO]dcRRZXSLKLIJHEJJIQU[aRYQPkqcd^a\U^XUSH=::864322549?•ˆ™¼©¥©€j­ïÎʧ ¡¨ªžŸŸ¡¢ ©º®¤¡©šš˜Ÿ—™‘•Œ„ƒ…€ƒw‡ˆ„||{{sppibVPZfZRUQU]ZNX[\]XQRQRSMKPQLNRQFBJNT^QQM]``^Yei[QT^ZESF=;<9555488:<^b¡ K=OD\‡Þéñ²¢¯ š›ž£¦¢¡£¢Ÿ””“›™Ÿ™’•‰ŒŠ‡‡ƒ}x„„€€xywtphhdXVYQW]YS[Z\YVYYZ\ZTNJUTNMOJBDFFA?EGHQJRSX[aX`o\^OY]YIEC@><856779;?>46ihPnXDKlªÄÑÁµÄǺ¹±´µÅ¿µ¦Ÿ‘œ•›•Ž†ŠŠ‰†„€yƒ}{uvwqqljfX[c`aXQRXV\]aWS\SW^ZVOINLNIACFA?FEDBRGTW[W_`_\RbbTVWQLGDF966767;=FE::?M^xV>?P¡œZÉèçæåáÚÚÛââäÆ­ ‰‹“’Œ‹Š…Ž‡ŒŠ‚ƒ{}‰ywuqsrnh`W[b`ZQUOQ[dbcTMRRg[aVLQROJHCHSICJKLFPQ\]XLXdccT_cVPW]QD?@<:8778;?I@^^^ntpj^[TƒžžãîæÝ×ÐÌËÊÈÅÃÇȘ‚‡‹Š‚ˆ‚—‡‡z|ƒ‡|‰y{vuttvraUQYW[VYVNYZ\_fejmokS[[SMQQGEEPUPPNOOHJVZ]ZNM]Y_]]dbV_S@::<=;::::=<<;a_`babcejklµóìæ£qg^ZZXUTPUZj•€€…‰…{€…ƒ‹—†‚ˆ{‚ˆ‰†}†|xuvxtum^X]_TVSSV_WON_q€r`Z\dPSMMRRMMJB?LTRRTSO\dcdZSXX][R[USSG<98;:79:98===763b:7888;BDCEe’v`\VbÕÚâåx¸Å‹HI?NA?>C=6487>±Ìy~|y|~z}}{‚}xxomvxzqgabSPSDAKUVUXZOKITY[\UZd^SMLIKOMMJGJNVWY]`Y]WUQVOJLHA<8676R€=79:;?>=;@KNV`XQWZPW[NLG;:987773ŠàJ26;:CIB>K[jj\KPePF@:;97;;:9>8xÙS4=;=AIJDW»¼¼¼º‡t}dD?P’ØÝæëéèųÀܶ°ËìåàÝÖ³xƒy}|ytqzyx{zxy{€}vyyofhjhfa\\X]YNNVSMOS]ZXX\]\SUMG@@FIB>CRQJV]^kkQUWK@;666;@BB>@;}èc8?8MTMejjx‡g\]QIB>::>FMIBIIX`jŸŒŠxeLKHAvÕèçêèéêãåêáßééèêèëµquxyw{{hw}{z|vryxvpljhffbbk^SV]XW[TPTQSPZ^Zd]TUQOIGHCGKFDGNMThjjrqbbkiXQMLOUTVSIJP9„öp878V`akhh^k`\\YVI;<;9eÇîìììëìíììíìëéêìíëªwyyzzxywmwzwxzzxzw{{wohecZYe^UNVY`YXSNNWVZc^`XOOUQLE@=IV`W[einbZWX_bejmlof^jxvplgjjXï‚WT]uwprjeQPPOQSZ^M017\»ïíðîëìíííîîìëðïíçœvwy{zvw}†‘–ž£¦©©©©¬­«©«ª¥Ÿ–…dTWXXSPNOMS[XSXYSMRWSPW_]r‚vbkwkYTW[]^agfl~„‚‚ƒ|€…ˆˆ‰”¬“‘‰ƒz|qrpgzyzzzz}n/.6X¬éÑŸ¦íÇ—–•”—Ðéž«ÖàŽvzywwˆ £¬§£›’Šƒ}xsprssy}‡—˜Š_YUVSX^_SS\YPMNT`\X]i{†‹‚bbqiRPY[[Z]eiku}{z{ts}ŠŽŽˆ†‡‚}mqpjngvvvvwxz|tVW]l‘¬™tvµ¦xyƒ‡·»v‰¡¯}w|zvx¥wof`YTV\cx›—oc_WTRRSRPnxomqy‡Ž‡Š‘’ŠŒ•´œ†‚{wzzkbmmaW\`^][_fehrecadctz}ƒ„ƒ„Œ„~{qcgpmjeppoooprtuwwyzyz|€|€€€|}|„‘‘…‹‡}tt{ŠRKLMQYaXNNTgfPGE\qmkc[H@gxxwusssttuwyz„‘¢±´­sljklmljea]]]ZY]^XZ\]]`fgddaacmlgkhc^htlswpnlkkkmoprrrqrrtwy{}~~~}{zywuty‰Œžˆ€f=Wgv‚‹’t?<3,,4:15>KH=RKJIIIJIHNIsxU5H‘¦tIklljgcba``__acfknqrttuusmggjkmonkjrŠ¬ÀÁª‹tkijjihfb_[YUQfƒDNX]bgprttuutqmhedddfhjjjjkllkmljklnpqqryuWƒ422N—IHH<::;GJHOF\q\76/U‘Hbgjmmjgca``aa__`eiloqsuvutpkgfilnmljisŒ°Çê†pjjkkhedc`\mVŒ–œ knpqssrqokfb``acdfgghijjklkjijklonxelv297Z‡’z@74234?EALS|ˆx941?—YYedfjmnjfc``a`^]]_dhjnprstrsqkedgjklliegy¡ÇÏ´Žsnkigfeed—Zpž¶³±­jlnopqqrqpkeba`aacddfhiijkkjihijljw[€d:H@f“ ‘KG81013319F’ q9423†xOjfdehknnkgbbbba_]]_dhlnprrstsqjdceikkkigdtŸÆѸŽsjlkhfpœT_SwbULijlnprsssrplgcbaabccefhhiijjjjiikdzVŽXIMJMu}`JJE=;=<998J…š[<961p–Jlj^X[dhlookifdefdb__aeiloprrstrojedfikkjiffvœÃл“tlli„‘RT=J347fikmoqrsssrplhdbbbbbcdghiijjkke`cl{T›TQgM‚{ƒSEEFFFGHFHM—ŠN>;<1f’?h];:8Ydcgkmmlifeeed`__cfilnoprrssqlecfijjjjgeq“¸ÍÀŸr™~TIAG57:adgjlmpqrrrqolieaa``abeghiiikY=B@>=@<5:76FJEIE788=G61/6Ddljgcbbdfhheb`_^^^\]^^adhlnooqqpojfdegjkllkb^n™”¡ZO=<<:Bo‡[adhjlnoqrqqpolhda`__`bdfggjU50/-8XB;977778644556557787557789;=CM3=Tckmkjjgdbbbcfgeb__^]\]\\[\]`ehjlnnnmlhebbehibXZX_{™LHFHG@@rÆ}\cgijkmosspppokgcb`_``bdefghb[nV4_F<:99887667776557666677788:;?G<`ljjjjjkkidb`_adecaa^\\\]]\ZY[]`bfiklkkjjfa_bdST`ku~‰EIOIJDDKÉÃsZdffhjlnorpopolgda___`acdeghk¤°KSA:98776655665555555556656789:A@]ihijjjjjkigc__aceecba_]^`_^[YZ]_cgjklnnnnlfabTR[cn€p?Tž{G?=<¼Ì³`Zacfijlmrqopqolgc`````bcdfff–«OJ:676665555544534554445544644CNKIcgiiijjjjkjieba`bghgedaaaaa`_]]^aehjlnopqonmhZHLKFR^`DFE656?­ÀΡZ]beghjlnoopqonlhc``_`acdefc…šaNXE234433433334D=4443333342@y“„SN_hhhhikkkkkkkifa`cfhjhgebaaaa`^]^`bdhjmoqrqpnj`[vvLd„|je`QGN|´ÃÎX_cefijlmnpooonlgba```abddfr‚ea ™’A/322221334=9443322231<‹¯› aH\fghhijijkkjkkjgcaadgjkifca``___^]^`behknooqpondŸ¶{wjljddbTSQºÈÈrYacfhkklnoooonmkgc``__`bchkUN†¢œ»‡A001111256136420001/9zœŸ¨”[2Ygghhihhijijkjkjhdbaacgiigda_]^^^^]\^`bfikmopppm‹¬{m_c`YWWWWYx®Àͳc[bfhjjlmoonnomlkeb____ac_kG.x›» µ™BA<:99437_^7:ADFEPn‰ÝմΞG,Pifedegghhhijkjjkigdb`adgihfc`^]]^][\\^_cfikmnqb{¥yhVUXWUUUUWYz·ÂΠ[_dfgiklnnnoommmjda`___bWXB+V°Ê¸ëê©“eW_eƒE žAhvmb[w¬ÖòîÓÚ{7+Gi ¿¹ƒdefgffhijjjjihgb`_bfhiigb^]\\\\[[[\^bfikoYeg`UTUVUUUUPJM…¹ÁɉX]adfhijlmnnmmmlhda_^^`\C4+<ÝÏèê禀[Z\o}aÉÆ^j\abb“¹ßж•”B0-De~¬­ddffeefghiiiiijgca``bfiigd_\\\[[[[ZZ\_bflTW|bZPMTWWWYY]RLR”»ÄÂuT]_aeghjkmmmmllkhc``___A--/Byq¦·œ«fgndTtéí{\svxnŸ€feF320/.Ef_b``wdeeefghggiiijigdb`_`cfghd`^][[\\[[\Z[_ePUmbZv†i]ca[]eXOI]©¾É¼jZ_adghhjlmnnmmljgb`__[<,-,/.18G:InPYeom„¾ÅŽ{maYTQC9<73/,,-Gebjjkrokjhededffhhhiiigfca__adhihea]\\[\\][YZ\IPX]I—¿³œ²ÍoGkaPLJs·¿Ï­a\adfggjklmnnmlkjfb__[6+,0257:AIS\jz¡°ºÐÜÉÁ¹¬“n`TOV`hq{…Žš¡¢©«ª©©¨§¤ž›‘~gefgggiiiigdb`_adgjjhe`][\\^^][ZEILUFÊÖàÙóÖhkodSLMˆ¼ÂÒ˜Z_cefhijkllmmllkiea^[7+-04786=E]œ–‘Œ‹„tmcu¦jZlruwvwy€Š±«Š‰‹~}{|~{vnuedeeeeeefhghheb`^]afikjigda^^E=@GKOQUWY]cdklnlgYOPPŒÁÇÔª^^`bdfgijjlmmkkkheC20.0A[ÚØjHKVrKKMTZ]`dji’ao€‡‹Ž“—™›wE==5K«²´®¬­ªˆ|Rlgcddeddffgggggdb_^^`dikkkifb`H>=FILPTVY`abnrpnneRLKU£ÄËÓŽY_acefhhhjklkkkjgD64..6Tµ|p~Žž–—›¡¦ª«®£§£mXˆµÉÏÕÚÝßà{XRJJN˜çâß×Ùàâ¼ieUjabcddbcdeefegfda_^\]bhjkjifdK=;FHKOSTWcpxnsqstxhTOJk»ÇÐÆl\abeffggijkkkkjjB55-./5FVM8?EK<=?>=>>=7n”Zf|ÚÞÜÜÛÚÛÙnaeh[J‡áÝÚÕÐØßÀMxMdfcbccbaccdeddedcb_\\]`fjjkjiO:7FHKNQSXanwnmljjke\RML•ÅÈÕ¢Z_acefghhhjkkjjkA37-,,016;=>@@;@@=APB>BƒŒOm_ØàÞÞÞÞßÊ]SRlPKxáãåäâÜÕ¨;m[]Žp`bbaabbddccddddb_^]\^cikkkQ65GJLMPQYalolebde`b^SMJc³ÃÍÍuY`gedefggijkkkjA29.,+.003788;?ADGSmNCOš}PjB{‚‚†ŽkPUa™[R]¦µ¢ygUI35231/,,*))'((((*-0._”€JjJD?7BTTF==624234452K‘›}7;74>oK_ab^cc`abbbbccddddddcca_][]G#2E??^¿¼iZ]`pnjhllhfhidLJJ[ªÀÉÔˆZabbceeedca[L7.--.'%$%&&&(((%'--@”ˆrKiFOQHMSQMJON<333345FU}ˆeJNK<7eI^_X_dfbaabbbbbcccccdddb`_]_H#0@=>Iil_`gdnlmehknsomiRIKLx½ÀÐÃk^bbceffdca]XI?>=>@?AAAABBAA@KRRgŽviG`LNJDCEEEFDIH9556CDNXafSLGMH@IE]Xf¥‡gZa`abbbbbccccddddba__K#/<<;>FPWajqhchhfiqsorr_KJZf˜¿ÄÕ­bbbcegfddc`[URQOPQQRRQQSSTTTc{†Š~qh@AHFCIQWRJI?NRJB::FPPMLHD>88<74A[\SŽkQV^__abccbbccccccdccb_J#.7546:?CLQTgmlhmmjlnrpkTILLX¦ÀÇÕ‘_bdeeddddc`]\ZZZZYXVVVWWY[WZ—¥€lhE8::CSWNE@>?TKDAAEKPTUTKIKMOQUWZ`oSkMP‹½Â¬kabbbbbccccddc\VQ?#.51M6(&''&%xtrotpiikigjcKJJIp¹½ÎËt\bccbddeedc``a``_][ZZZZ\__RTcywpq[ZWVWVTUWXXYXYZZ[\[Z[[[\[[[\\\^^_fTCYbuËâÜŸ]abbbccbbb``\LJJ>",65][=.--30x€}pjjifhimiaOJMKL½ÀÔ­[\`aaccdeedcccbbba^\ZZZ[]_]WQNqgq]\[ZZYYYYXYYYYYYXXXXXXXXXYXYYYY[]\>Gcc`ipki_`aabbbbba^\YSMK@!,5/**597877ptrstlmfllnkjeZMKH_¶½ÉÓ~W^`bcddeefeeeeddc`][ZZ[\]_aaAPQrZXXXWWWXXXWWWWWVWXWWVVVWWXWWXXXYZ[CRecca`_]ljaaaaaababcbaWKA$-3.)+21011/nurttlnhhkkknsiQJJL“ÂÄÕ¸b`cdffefeffffedddb_\[[[\\^_dI@SvYVWWWWVVWWWVVVWVVVVVVVVVWWWWWWWUUTQ[dccbbbl„wcbba`a`````^\RC-/0-,03&%&%$mtmnmkkjgjjllmiSJJJh»ÅÍÖˆ]cdfgfffffffededcb^][[\\^_jZ‚fx\RWUVVVVWWWWVVWWWWWVVWWWWWWWWQVfoUbfccbbbbaZZ``_`aaa`__^][WPA2)((+-&'&')ljlsrmjlnmghihiUJKKM”ÆÅÓ¹a]_addeeeffgfeeddc`^\\[\]_dp—dpqolaVVVWXXXXYXXYXXYXYYYXXYYYU\ˆ˜•c_jacbbaa```]`_]aaa``__]\YVRH>:::;?CFKPjloqmlmorplgjkfSLKLJd¸ÆÌÖ‹^defffggfggfeeefdb`]\[\\]Yq’wpƒŸ£bYYZZZ[[\[[[\\\\\]]\]\\Z\‰ÁÎÑyPVacbbaaaab¢¿½•_aa```_^][XVTPMMMMMOQSXljknsuspslilljoeOJKKMÇÉÕ¾icefghhgfghgeeffeda_]\[\ZTn‡qx¡á×Ê•a]_^^_____``aabaaaaaa`]xÌâÞï¢DDW``_^^^^Zˆáîæ’]````__^][XWUSTTTTTSSVjqtspsqkoiiiehrbKKKLK_¶ÉËÕ–_defghgggggffffefc`^\[\XPji^aÆåÞàØŠafgiknpquu{tuutttrrmh»òÙÎÜ·qy„ŒŒ‹Œ‹‹‰¥Á°‹ra_``_``^][ZYYYZZYYVVVpwtnhhklmhikurte_YLLMO†ÈÇÐÉtbefghggfffggffffda_^\\WOeSRJ¿èÂËòÌhosuttttvy{||}|€€xˆ“¡ÂÏúº·µµ´³³³³³³´³²°¯¦Šog_`__``_^]]\\[\]\]\ZYgijg`_`hhqzwqrmkmcQKMR[°ÉÇÖ©cefhighgefffgfffeca^\\XLcMGDy¸ˆ²ñÎiw}‚†‹–š¡«°²°«––­±´°¬£žžš™˜–•““’‘‘•™œjXd_``aa_^]]]]]]]^^^]\plkmjvprirqtsr{€k]SJKLKyÄÃÎÓ…beefeeeefggggfeedb_]\YHPJDDIPTtÆ u¢¸¿ÁÄÈÐÑÔÝÚÍÇÊ“†£›—’Œ…€{upljhcbbbbaaabdhltjjz^``aa_^^__^^^^^^^_^„z€xuzwigoxuwypd\RJJKJQŸÇÅÖ»e`bbdddeffffffffec`_][IEHDCIOTZco à«_USOOQS¶×f@ˆzt„znd^YSPKIIIHLKJJIIJIIJHIIIKQle`aaa```__^^^^^^___†|u~xrpilsmifoibccTJKJ]f}»ÃÊØ\aaccefeefffffffca`^]JBDEDIMRXaz³ä^07:;;;GÒ÷†?†rXSLHGGGIKMNNNNi[IHIGGEDDCCA@@@I\babaaaa`______^_``}xwxsnpa`hqyrijdYKKJU[Y˜ÃÁÖ¾d_acccddeefffeefdba_^H?AFCKPU\cu¦ãj@FHHHJI«âv`|PEDCBBB@A@=;::875567766667777698Jdiedcccaa`_```__``†z‡z†z†z†z‡z‡z‡z†{…z†z‡{‡{†z†z‡z‡y‡y‡y‡yˆyˆyˆyˆyˆyˆy‡y‡z…|ƒ‚~|„yƒuƒt„t„t†x†y‡w‡y†z†z†yˆ{‡{†zˆw‡u†y†y†z†{†z…z…y‡z†{„~ƒ€‚ƒ€‚€‚†y†z†z…z†z†z†z†z†z…z†z†z†y…y†y†y†x†x†y†y‡y†y†y†y†y†y†y…y„{~{‚xƒuƒtƒt‚v„u…v†y†x…x…y…w†yˆ{‡z…y…w…t…w…v…x†z†z…x†w‡y†{ƒ~‚€‚€‚…z…z…z…z…y†z†z†z†z†y…y†y…y…y†y†y†y†y†y†y…y…y†y†z…z…z…z…y…z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„vƒx…y†y†x‡x†y…zƒ}‚~‚€‚€…z…y…y…z†z†z…z…z†z†z…z†z†z…y…y…z…z…z…z…z…z„{…z…{ƒ{…{…z…z„{ƒ~€€~‚z…y„y„x„w…y…|„{ƒy…x†w‡z‡{…{„z„yƒwƒv„v„x†yˆy‡y‡z‡z…z‚}‚~‚‚€€†x„|„|…{…z„z…z…z†z…z…z†z†z…y…y…y…y…y…y…z…{„|ƒ}ƒ~‚}„}„|„|ƒ~€€~‚|„y„x„w„y…z…{…z…y…z‡z‡{‡{…{…z…z„vƒv„x…y‡x‡y‡z†z…z„{‚~‚€€€ƒ{‚ƒ‚ƒ~„|ƒ}ƒ}…{…z…y…z†y…z…z…z…z…z…z…z…{„}‚}‚~‚~‚}‚ƒ‚~‚|ƒz„yƒw„y…{…{‡z†z†{‡|†}…{…z…z…y„u„v…x†z‡{‡z†z†xƒzƒ}‚‚€‚€€‚€„†‚‡~ƒ€‚€‚ƒ~„|…{…z…z…z…z„|†z†y…z„{„|…}‚€€€€€€€€€€„}…~ƒ~„}ƒ{„z…z„w„w„w„y…z‡z‡|‡}„|…{†z…z…x…w„w…w†x‡x†z†z‡y„{ƒ}‚~‚€ƒ€‚€€‰}ˆ}‡|…~‚‚ƒ„}…{†{…z…z…zƒ}„{„{„~‚€ƒ~ƒ~‚~‚€€‚~ƒ}…{…|„}…|„z„y…x…w„x„w„v…y†{‡}†}„|…|…{…y„x…y…x…w†u†u†x…y…y„|ƒ}~‚‚€€ˆu„v}„}„~€€‚€ƒ€…~…}†|‡{…}‚€ƒ€}…{†z†{…{„{„|ƒ}ƒ}„}‚~„{…{†z†{…|…z…y…z…x„x„zƒx„x†{†z…|…|„}„}„{„z„w„y„y…v†u‡u†w…w„xƒ|‚‚€‚€€‚‚‰w†xƒ€†~…}~‚€‚ƒƒ~„ƒ|…y‡w‰wˆw‡w†x„{„{„y„|„{…y‡y‡x†y†{†y…z…z…x…x…y…y…z†{„{„|…}„~„}ƒ|ƒz„zƒy…x†w†vˆu†v…uƒw{‚~‚€€€‚~‚zŽzŠ|‹{Œzƒ~ƒ‚€‚€‚€‚ƒ€ƒ~„{†y‡y‡yˆx†w‡v‡w…z„z„x…z…y†x‡x†x…y…z†z†{…{…y…u…w…x…w…z…{…|…}„~ƒ}ƒ|ƒzƒz„x†w…y†w‰u‡u…v‚w€|‚€‚ƒzz‘y‘z‘z‰~‚‡‡~‡|ˆ|ˆ}‡~„xˆz‡y†w†v†w†w…x…y…u†uˆvˆv‡uˆwˆz†{…|†z…z…y„u…u…v…w…y†{…{…}„~„}„{ƒyƒx…w†w†y†x…w…wƒy‚|~€€€~‚~ƒ‡‡ˆ„†ƒ…†€‚„€ˆ|ˆ|‰y‰yˆ|‰}ƒ‚zˆx‡x†w†w†w†v†v†u†r‡tˆuˆuˆuˆw‰{†|…}„z„z„x„{„{„y†y†y‡{†|†~„~„}„{„y„x…w‡wˆx‡w„w‚z|‚ˆ‚€‚}„|…„€„€…~‰~‰‚…‚ƒ…~…„„€„€…~ƒ€~„v‡v‡u†u†u…u‡tˆt‡sˆu‡u‡t‡uˆwˆz†y…{„y„x„{„|…|†z‡{‡zˆ{‡}…~„~„~„}ƒz„x‡xˆxˆx‡zƒ{}€€‚€‚ˆ‚€€~‚}„{…‚ƒƒ‰€‡‚ƒ‚‚€‚€€€}„s‡v‡t‡t‡t†t†sˆs‡sˆt‰t‡u†u‡w‡x…v„z„y„y„{„z†y†y‡y‡{ˆ}†„„ƒ‚}ƒz…vˆwˆx‡x†{ƒ~€€ƒ}ƒ}ƒ€€~‚|…x„|ˆ|‰~ˆ†ƒ€‚ƒ~„~‚€‚~…u†t‡u‡t†u†t‡s‡r‡s‡tˆtˆvˆw‡v‡x…y„y…y„z„{„z…x‡x†x‡z†}…„„~ƒ~„}…w…sˆu‡v…w{€~€}|~ƒ}ƒ~ƒ€|‚v„rƒ|ƒ|…}„ƒ‚€~‚€‚€‚‚€|…u‡u‡s‡s‡t‡s‡u‡v‡x…x…x†y‡z†x†w…y„x…y…z„{„y…x‡x†y‡{‡|…}„zƒz„xƒv‚q‚pqqn|q|r}q~qr~vzƒ{‚w€p€nn‚}ƒ}„}ƒ~‚€€‚‚€ƒ„……€ƒ€ƒ|…t‡t‡x…‚…€‰Œ~Œ}Œ~Œ~~}}‹~…‚z„zƒ|ƒ|ƒ|ƒz…{ˆ{†z†x†r‚n~i}o}n{s{szs{q{m{h{g{g|g~f~f~g~h€fe|i~j€lƒ€ƒƒ„€……„€„€……‚ƒƒ‚‚‚‚‚ƒƒ~„~„ƒ‚||||Œ}‹‚‹‹‹}Œ|Ž|~ƒ‚€‚€‚€‚€‚ƒ…‚…„}„x…vvx€yz€yzy~x~w~xx€uqr€q€o€nop€n€l€ˆ~‡†ˆ‰~‰}ˆ}ˆ}‰~‰}‰|‰|‰|‰}ˆ~‡‡†‚‡‰||~|{„}…~†}†{‡z†|ˆ}Š|†ƒ€„€ƒ‚€‚€ƒ€„€…€…†€…€†ƒ‚ˆ„€ƒ€„€ƒ€‚ƒ‚„‚ƒ‚„‚„‚„…„„€€|€x‰|ˆ~ˆ‡‡ˆ‰~Š}Š}Š|Š}‰|Š}Š}ˆ|ˆ|‰}‡†~†|}€|{„zƒ{ƒ|‡y†z„ˆ~ˆ|†~…€…€…ƒ€ƒ€‚‚‚‚ƒ€„†~‡‡†…€‚ƒ„€‰€…‚‚ƒ‚ƒƒ„„€„€…€ˆ‡ŠŒ“‰|‰|‰}ˆ~‡†ˆ‰~‰}Š}Š}Š}Š}Š}‰|‰|‰}ˆ}…~‰|ˆ~…‡|‰x‡y‡y‰x„{}‚…€ˆ{„}„€ƒ€‚ƒƒ€ƒ€ƒ€€€€ƒ€†€‰‰~‡…ƒƒ‚ƒ€‚‚€‚€‚‚ƒƒ€‚…„‡–‡Ÿ†›‰}‰|‰|Š|‰}ˆ~†€‡ˆ‰~‰~Š}Š}‰}‰}‰}‰}ˆ~†}Š{ˆ~††~ŠxŠy‰x‰w…~~…„‰{…}„ƒ€‚ƒ€‚€‚€‚ƒ€€‚…€‡ˆ~‰ˆ€„‚€‚‚€†ˆ‚‚…Š„‚‚zzŠ}Š}‰}‰}Š}‰}‡€‡€‡‡‰‰~‰}‰}‰}‰}‰}†~…|ˆz‡}ƒ‚†}‰zŠ{‰{‰zƒ€|‡„Š{‡|…~…€„€ƒ€‚‚‚‚€€€€‚„€ˆŠ~ˆ†ƒ‚‚…†€‚€‚‚†Šˆ~ˆ{ˆ}ˆ€Š~Š}‰|‹}‹}‰~‡‡€†€‡€ˆ‰~‰}‰}‡}†~…€„}„|…}†~†~‡|†}†~…}ƒ€…„€‰|‰|ˆ~ƒ€„„€„€‚€‚€€‚‚‚‚‚€€€‚‚„€†‡~‡~‡€‚‚€€‚‡‹Š{Œz‰~„‰‰}Š}‹}Š}‹~‰†€†€…†€ˆ~‰}‰~†€…‰€‹}‰}ˆ~‰~ˆ}ˆ~‰~ˆˆ~‰~ŠŠ}Œ}Ž|{†€„€‡ˆ~†„€ƒ€‚‚ƒƒ‚‚‚‚‚€‚ƒ€…ˆ}…‡§~¥ƒˆ‡‰Šy‹y‡~€„†€‡‰Š}Š}‹}‹}‰~‡……†ˆ~‰}ˆ~‡~|{Ž|}Œ|‹|‹}‹}‹}‹}Œ}‹}‹|}{’{ˆ~†~ˆ~ˆ~‰~ˆ~†€ƒ€‚‚ƒ€‚€‚ƒƒ‚‚‚€€€‚‚‚ƒ€‚Ž{¶{´ƒ˜‡‰|‰zˆ|}ƒƒƒ‡€‰~‰}Š}‹}‹}‰~‡†€…€‡ˆ~ˆ~‰||ŠƒŠ€Š}Š}Š}‰}‰~ˆ~‰~‰~‰}‰}Š}…„‡†‹‡~ˆ~ˆ‰}‰~ˆ~‡…ƒ€‚‚€‚‚‚‚€‚‚€ƒ€’‘„”ˆš‰“‰ˆ‘|†|„‚†€ˆ‰~Š}Š}‹|‹|Š}‡…†‡~ˆˆ~‰Š‡ˆˆ~ˆ}‡†‡ˆˆ~ˆ†€}‰‡‰‡‡‰~ˆ}‰}‰}‰}ˆ}†ƒ€€€‚‚‚‚€€‚€‚€†~†—‡¬‰²†¸‡´}“}‰~‚ƒˆ€ˆ‰~Š}‹}‹|‹}Š~†…€†‡‡†€‚„€„ƒ‚„€ƒ€„€„ƒ„„…ƒ€ƒƒ‚ƒ‚‡†…ˆˆˆ~‰~‰}‰}‰~ˆ~†ƒ€€€‚‚‚ƒƒ‚‚‚…ƒ„¤~È|ËzËyÍ{ƒ~„}ƒ}‚„ˆ€ˆŠ~Š~‹}‹}‹}‰~†€†€‡…€„€„ƒƒƒƒ‚‚‚‚ƒƒƒ†„‚ƒ€€‚ƒƒ„„…‚†€†€‡€‡‚‡€ˆˆ‰‰~‰~‰}ˆ}‡~ƒ‚€‚ƒƒƒ‚ƒ‚ƒ‚‚…Š†™~¤x½uÆsÍwƒ~„‚|ƒ‚†‚‰€‰~‰~Š}‹}‹}‹}ˆ…€†€„€ƒ€…€†€††€„€ƒ€„‚ƒ„‚„€…ˆ}ˆˆ€ˆ‡‰}Š}Š}Š}Š{Š|Š|‰~‰~‰}‰}‰}‡}…ƒ€‚€ƒƒƒƒƒ‚€‚§‰’pz‚‚}‚}‚‚‚‡‰~ˆ}Š}‹}‹}‹}‹}‡…€ƒ€ƒ€…€‡‡|†~„€€€€†{’x’x“w”w”v•v–v–u•u•u•v‘z‰~ˆ~‰}‰}ˆ~ˆ}‡~„‚‚‚€ƒ‚‚€z½|ª~€„h{m}|‚}zŒ~‚ƒ‚ˆ‰~Š}Š}Š}‹|‹}‰~†‚€ƒ€„„€„€ƒ„€†‡‡ˆˆˆ‘z‘y{||~Œ|Œ|Œ|}|Š}ˆ~‰}‰}ˆ}‰}‰~‡~„ƒ€€‚€‚€ŽwÁtÏtËv¼y®j}i{q|ˆ}‡~‚ƒ†ˆ€‰~Š}Š}‹}‹|Š}‰~‚€€€‚‚ƒƒ‚ƒ‚…‰‰ˆ‡‚†‰ˆ||~~}}†~ŒŠ~}|~}~|~ƒ}‹|‰~‰‰~‰~‰~ˆ~‰~‰~†~ƒ‚€‚€‚‚‚€‹uÁqÎqÐrÏsÊkj|k|w€€‚~ƒ}ƒƒˆ€Š~Š}Š~Š}Š|‹}Š}ƒ€ƒƒ‚‚‚‚‚‚‚‚ƒ‚„‚„‚ƒ„‚Š}†||}yy~|~‡{‹xŒz{y~zy€‚~‰{Š~ˆ‰~‰~ˆ~ˆ}‰}‰~‰~‡~„‚‚€‚‚€†v½qÍqÏrÎuÀnnn~s‚ƒ€‚}‚}ƒ…‰Š}‰}Š}Š}Œ}‹}„€€‚€‚€‚€‚€‚€ƒƒ€ƒ†Š|‡|†~…€„€†~ŠyŠyŠy‡zƒ†‡€‡}‰zŠ}ˆ€ˆ‰~ˆ~ˆ}ˆ}ˆ~‰}‰~‡ƒ€‚‚€‚„x¹sÏtÌsÎy©o„m€i|n€x‚‚~‚|‚€‚‡Š~Š~Š~Š}‹|Œ}†€€€„€„ƒ‚€‚€‚ƒ€ƒ€ˆ~‰}†|Š|‹}Š}‹{‹zŠz‹yŒzŠ~‡‚‡Š|‰|Š}‡€†€ˆˆ~‰~ˆ}ˆ~‰}‰~ˆ‡„‚‚‚} z·{žx°|Œk‚k~hzi|k|z€}}‚‚€ˆ‰~Š~Š~Š}Š}†€€ƒƒƒ‚€‚€ƒ€…€…‰|‡}„|‡|‡|‡|ˆ{ˆ}Š|‹{‰{„{…‡{‡|ˆ}‰~‡€‡ˆ‰‰}ˆ~ˆ~ˆ~‰}‰~‡„ƒ‚€‚€…ƒ€ˆnn~izgyezs~€ƒ~•|ˆ~‚…€‰~Š~Š~‰~ˆ~†€ƒ‚‚€€ƒ€†‡~‹{ˆ}„}…|„~„~…}„†~†}„}~ƒ€€…~†~‰|‹|……ˆ‰ˆ~ˆ}ˆ~ˆ~‰~‰}ˆ~ˆ…€ƒ‚€‚€l€j~hygxfxl~{„ˆ~„|‚€‡€Š~Š~Š}‰}ˆ‡††…€„€„€„€ƒ€‚„€‹{zŽzz|Ž{{Ž{{zzzy‘x“x”w•wy„€„€†€„€†ˆ~ˆ~ˆ~ˆ~‰~Š}Œ}‰}ƒ€‚„€ƒf€g~gzhxhxizq~€‚}‚|‚ƒ‚ŠŠ~Š}Š}Š}Š}‹|Š}‰~‡€†€†€‡€ƒƒŒ{•v–v•v•u•v•w”v•w–v–v•v•v•w•v•u—tx†€ˆˆ…€†ˆˆ~ˆ~ˆ~‰~Š}Œ|‹|ƒ€€€„€†~‡~ih~gzfxgwhxhyuƒ€‚}‚‚ˆ€Š~Š}Š}Š}‹|Œ{‹|Š}‰‡€†€‡†€ƒŒ{‘yx‘x’w‘x‘x‘w‘x’x‘x‘w‘x‘w‘wy‹|‹|ˆ~ˆ~ˆ~ˆ‡ˆ‰‰‰ˆˆ‡~†~…€€‚‚‚ƒ€jh~gydxgyjzhzs€ƒ‚~‚~‚„€Š~‹}‹}Š}‹}‹}‹|‹|Š~ˆ‡€‡€…†|z‡~„Š}yyŽyŽyŽyzŽzŽyzŽzŽz†}~‚ˆ~ˆ~ˆ~‰~ˆ‡€†€‡ˆ~‰ˆ†€†€…‚‚‚‚ƒ‚ih~g{fxi{k|i{n}ƒ‚}‚€ˆŒ}Œ}‹}Š}Š}‹{‹|‹|Š~ˆ€‡€„‡|Š|€‚|…€‚Š|Œ{‹{Š{Š{Š}Š|‰|‰|Š|Š|‚ˆ}‰|ˆ}ˆ}‰}ˆ~„€„€ˆ~ˆ‰ˆ‡€†€„‚ƒ‚ƒƒƒƒjj}j{j|i}i~h~kt€‚€‚}‚ƒ‹}Œ}‹}Š}Š}‹}‹|‹|‹}‰‡€…€…~†€€…}…„…€‡~††~…„„†~Š{Šz‹zŠz‹zŒyxwwŽwŽwŽxŽyy|‰~‰‰ˆ€ˆ€‡€‡‡€†€…mƒkj~j€n„k„h‚jr}‚‚‚„~ƒ‚‡€Š~Š~Š}Š}‹}Œ}Œ|‹}‹‰€…€„€†€…ƒ‚ƒ„ƒ‚ƒ‚‚‚ƒƒƒƒ‚‰~‘y“w”w”x”w“x”z”z“x“x’z‘x“x”z’{Œ}ˆ‰‰‰ˆ€ˆ€ˆ€ˆ€ˆ€lˆmˆn‡oˆq†p…m„p…t†|„€‚~™}Ž~‚‰~Š~‰~‰}‹}Œ}Œ}‹}‹~‰†€ƒ€……~…~ƒ‚€€‚€ƒƒ…ƒ…ƒ€‹}’z‘{{{Œ|‹}‹}‹}‰|Š}Š}Š|Š|‹{Œ{Š|ˆ‰‰‰~ˆˆ~‰ˆ‰ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍËËËËËÌÌËËËËËËËËËÌÌÍÌÌǾ³®¢~{qgkujjhlkqbfaV\`\[a[S[`\]TPORYX`e_dRTUUTWTSYTPV^][XTMD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÈÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÎÆ´§–u€ys^^`p|n\^lkgZXXZ^YUTO]f_ZQOOPXV[fhfOU\`XPPLQRX^aZUOLIA@75421/75ÍÍÎÎÎÎÎÍÎÎÎÍÍÍÌÆÀÄ¿ÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ¤‹ˆpnlpkjnqszz^a_ccZYZZZ\RSV\aXYXVSQTSV[ecPPW[TLNMRQ\b__YPGA?<851220.2ÍÍÍÎÎÎÎÍÎÍÌÌÌÌÍÈÀÅÁÉÌËÊÊÊÉÉÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜“ykpvxs}€ed`\fX`cc[[WU^YTXedQORVWRMLWOXfQNSXYPMROPX`]`USTOH?<84321--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÉ¿ÀÀÊÍÍÍÎÍÌÌÌÌËËÊÊÊËÉÉÊÉÉÉÉÉÉÉÊÉÈÈÆÈÉÉÊËËËͼ’Ž‚„|r`k|lbg_^`ViaXWTSM[a_`ol[QOT[SMJTRRWSYZXUNOQTZ_WVYPOXOI>?A;520,+ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÈÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌÌËÊÊËËËËÊÉÅÉÊÊËËËÇÆâˆx{oh^komb_`^W\_UQ[RRPYeeffbfUQUWSQSTRRWRY]`URTQYZ\XWSSOQPI>?>6550.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎŻƼÆÎÍÎÎÍÍÍÎÎÍÍÍÍÌÌÍÌÌÌËËÈÊÌÍÍÌËÇÄÊÉÊÌÍËÆÃÀ±™zxoeUSb]Y\`a]a^WTQKMUX^ach^YRONONJRRTQ^LTTYZVYY]Z[URPSNRJEC>A<530/3ÍÍÍÎÎÍÎÎÎÎÎÍÍÍÍÅ¿ÌÂÅÎÌÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÈÉÉËÈÄÁÃÀÆÆÈËÌɾ¼«ŽvoVSQQNVWlpebb[XLCALYPZa`]VSQJMKHKHPLXNQUUVVYZZ[]XRNRMUNCGA>>3/.-,ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÃÌÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÈÇÅÈÀ½¶Á¼Á¾ÃÊÈÄ»®£¤Š|sq]UVXXhi[mfe_VUQQVTcTNZ\RNVWQJJFNOQYWRPWYUSWWUNSYRPVPWV?56220.---ÍÍÑÖÔÎËÌÌÉÈÉÊÊ̾ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÊÂÁÁ½Â»¹©¿¸À¸¼Æ¾¼´£ˆ…|o‰xbZ]Z\dkVm]T[SMST]ZUMPRWQPRUWKKKSRRYf\NUWVVTUYPPYWX\[LC=7540.-,--ÎÚèðîäÑÊȽ½ÀÅÈÀ¾ÆÁ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁº²»¸°¡º²½¶³Á´¹²˜…zxkfbbaaS[a[Ue[SZ]OSRV[TUTNMMKKLSYUNQOQQcYNY[WQLNXWUTXQLKA7=<:61.-,-.ÛíÙ¸Áäè˾¶°°¶¸¿ÁÂÉÆÂÉËËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ°ª§«°¤Ÿª­³¯±¸ª©‚wxsjiQ`eZXcWQZg^Y^XKPQS[`aTPLLKMQLUWKNSMR]]Ya\SOKOXUVUOPWJBC=;<:51//-,ïÑkn¦ê×´®¬­³²¿ÃÅËÈÃÊÍÌÌÌËÉÆÊËËËÊÈÈÆÁ¾½° ™˜£¤™—£¯ª¬¬¦¢˜‚rlifjm[VWT`_UV\XY_VRWTSTU^WQSONSUQSSWROWPRY^X]WY[V]^RSYWSQ??E:8777520/.Í®”—” ÍÙ²¬©­°³ÁÀÅÊÇÁÊÍÍÍËËƾÈËËÊÊž¶¯±²·ªŸ”Œ˜™˜”¦µ¬¬¢–—‘xhccUf_QKHNV`XQQ]g^`n]^a[SVMONOOQVRTPTZRZNN^\]fZb]he`ROMMJK@=?8854453./2knipwy}ƒ’ª¨¯®´¼¶ÁÈÆ¿ÇËÌÌÊÇ¿¶ÄÊÊÆ÷¥žšš¡ ˜š•‡’—’’ž¨ªž’ŽŽ…tbbgZ\SQSQOX^^Zgn_OT`NWpmZPMJMLJFILLONMPWTW]TRWW_f\[VOJMGEECG@7543343/15UQY€«­§›}–©¯±µµ±½ÈƸÀÉÈÊÊȾ²ÃÊɾ³¥˜ž•–’ˆ‹‹“’‹ˆŽ—‰ˆ‰ƒ|tsnaXSX[YNW\UU\h\RQ]fg`^[RRLIIFHGFEFNLQ][VZUOZhffV]SMUTHI@?B9753313438=tShºÜèânjͳ®¯«ª·Äº©¯·³»»Ç¼¯½Ã¸ªžŸ—› ““„‚ˆ‰€}ˆ‰„‚€‚€}wvn`UUSS]XTYTSYfPPO]dcRRZWSLKKIJHEJJIQU[aRYQPkqcd_a\U_YUSH=::864322549?›Ž‘²ªœŸˆh†ãÊǨ ¡©«ž Ÿ¡¢¡¬¹®£¢¨šš˜Ÿ—™‘•Œ„ƒ…€ƒw‡‡„||{{spphbWPZfZRUQU^ZNX[\]XQQQRSLKPPKNRQFBJNT^QQM]``]Yei[QT^ZESF=;;9555488:<856779;?>@0SnNgbN>b‘Úʸ´ÃÆ··°´´Á¼¯¥Ÿœ‘Œœ•›•Ž†ŠŠ‰†„€yƒ}{uvwqqljfW\c`aXQRXV\]aWS\SX^ZVOINLNIADFA?FEDBRGTW[W_``\RbbTVWQLGDF966767;=FF@:763a‚:7788;BDCEcŽ`^YS«êÔõ™”ͧEH>LH=;>@96785lªÚ¸€~x}y|~z}}{‚}wwomvxzpg`bSQSDALUVUXZOLIUX[[UZd^SMLIKOMMJGJNVWY]`Z^WUQWOKLHA<8676R>79:;?>=;@KNV`XQWZPW[NLG;:997773ŠàJ26;:CIB>K[jj\KPePF@9;97;<:9>8xÙS4=;=AIJDW¼¼½»¾ tzuK@GoÊÞäëéì˨¬×¾£­áéâà×͆ƒy}|ytqzyx{zxy|€}vyyofhjhga\]Y\YONVTMOR]ZXX\]\SUMG@AGHB>CRQJV]^kkQUWK@;666;@BB>@;wèc8?8MTMejjx‡g\]QIB>:;>FMIBIIX_jŠ›•‰Œ“€pSKJBW·ëèêëèìæäêæáæëçêèëÖ{v~wyv{{hw|{z|vr}yvqmkjggbbk^SV^XW\TOSPSPZ^Zd]TUQOIGHCGKFDFMMShjjsrbbkiXQMLOUTVSIJP9{õq878U__kihZfe[\ZXQ>;<7K¢íìììëìîíìííìéêìíîÌ{wy{zvyxoy}zyzzsxqqqng^]^Z[f`UOWY`YXSMNVVZb^`XOOURLE@>IV`WZcgnbZWX_bejmloe^jxvplgjjX‡ð‚VT]tvprjeONOOPRW^Y:.3IéììëëèæèèéêêêìëéíÂwwz|zusyz}zx{}€†„‰‹Š…{vrkgcb\UXXXSQPOMS[YSXYSMRWRPW_\q‚vbkwkYTW[]^agfl~„‚‚ƒ|€„ˆ‡‰”­”‰‚{|rspgxyyzzz|E+1H~áÖ¨ƒÓß‘Š‡‰‰§í­„ÄÛµt{ywwuy†š¢¨¬««¬«§§§§¨ªª¬ª¦¢‰aZUURTY\SRZZPMNT^[W]j{†‹‚bbqiRPY[[Z]eiku}{z{ts}ŠŽŽˆ†‡‚~mrpkngwvuvwwy{|aRXd|¯¢‚qœ¿„{…‡ Ï¢³”s|yvw‚¦¤¥ ˜Œysnljhecaadhmv}€‰ƒnlqy††‰“Š‹“²š†‚{v{zkbmmaW\`^][_fehrecadcu{~„…ƒ„Œ„~{qchqmjfpoooopqsuvwxz{z}~~|~}„”‡Œˆ~tuu“šod^WSPR[cn•®’jf\[VTQPIGn}xwvtsstuuxyz‡“£±´­œŽsljklmljea]]]ZY]^XZ\]]`fgdebacnlgkhc^itlswpnlkkllnpqrrqrrtvy{}~~~}|{ywusz‰ŒžŠs‰cFMOT`hiI@?CGA;9@kusli`ECjopstuuutrqqqpooor|ˆ–¤«­©¡“rggfda`\YWYYWWXXWXWVW[XXXXXWTSTPXYboutpljjjjjlnopponoopruxyz{{|{zxwtrqz„}{}@Mn~‹”šš_J>1,1Y˜¨¬¯²²£“~a_^\KIF;0122@_Cababcdeimpsuvvtrqmlmnopollv¨º»­™ƒsiihfc``[VYTUSTYXRRUYSSTTUUX]`wwvsnkjhghikmnoppqrrrqqqrtuvwwvuutsp…PXF‰·³­¦Ÿ—È¢xžKHGCEA558pOXgecbbaabdgjnqsvwvtqnkjknpomlp|ª¿Â©‰rihhhhec_^ZXTSRSRRSSRdy…œŸ¢uuvvtpkhfeehjllnnnoooonmmnpqtuttuutu€Go8C\TMCFLOtypymKGC\o_D42_nKmjfdb``_^^_bfkoqrtuvtpkhgjnnmkjit—½Ë´sihjjiigeb^YVSSRRQWš‚€…~wtuuuttqkhedfgijlllmmmmmlmmmnprssttt|oVp024544BKJFGIGFIGA\~fM1b‰ŽGelljgcba``__abfknqrttuusmggjkmonljrŠ¬ÀÁ¨Šskijjihfb_[YUTPf™WWVSPprttuutqmhedddfiijjjklllmlklmnpqqsr‚\ma/38QYHCQJHGGHJIKKS}jG3VšYUhjmmjgca``aa__`eilpqsuvvtpkgfilnmljis±Æ¨…pjjkkhedc__Yn~BUahnknpqssrqokfb`aacdfgghjjjklkjijkloqp‚O„O037}£uAIJ878>JIJLPcsN54+qJecfjmnjfc``a`^]]`dhkoqrstrsqkedgjklliegx¡ÈÏ´snkigfeefaŠhašš ¥jlnopqqrqpkfcaaaacddfhijjkkjihijknl|PŽ@6:G}Ž™_:63326@@@InŽ“[34/X—Jefcdgknnkgbbbba_]]_ehlnprrstsqjdceikkkigdtŸÇѹŽsjlkhfdg›Xo‘³®§ijlnprsssrpmhcbaabbcefhhijjjjihhikju]Š=FHG€›gHD52232135]ž”M831C[^lhgffhlookifdegdb__aeiloprrstrojedfikkjiffvœÄл“tlkkhwœS]GfPDfikmoqrsssrqmhebbbbbcdgiiijjkjjhjilkmDMMK^ˆoLIIC>?@><:En—ƒD<:58–tSobQOZddgkmmlifeeed`__cfilnoprrssqlecfijjjjgeq“¸Í¿~nlŽSR?K46adgjlmpqrrrrplieca``abeghiiijkbYWgz]}Ik[hs_FFFJIJIKHNeŽ–iC9=96„`FjF:8;eebbdhllhdaabaa^]^`dhkmopqssrqlfdegijkkiek‚¨Èʱ‰œzTFAE37^`cfhkmopqqqoolhda`_``bdfghhjc=;6f…L_fN|SDK?@GT\_]VNNCLJ_nTIG=55>5=A6838hjgcbbdfhheb`_^^^\]^^adglnooqqpojfdehjkllkggx”¹Ÿ¢hU>::48†[bdhjlnoqrqqpolhda``_abdfggj\379HD5Qcjmjjkkidb`_adecba^\\\]]\ZZ[]`bfiklkkjjfa^bcf\W\\c}˜JHGJIAAÉÁr[dffhjlnprpopolgda`__`bcdfhhdo†FJW<;998776655666567656667788:FNZhy’§¹ÂÐãàÑÏƽg[PLQX_it~†š›¡¤¤¥®ÊÍɬ™–‹udeffghhhjihfc`^_cgijjgc^\[\]_^]YCIKTFÎÙàØïàjlu^OKW¾ÉÌZadfhhijlmmmmlkjhc`_K--.257;@FMXpŽäëìîîìíîîð𘆓“£ª®®­¬ª¦¡œ›˜—™šž £¢ždffghgffghhfc`^_aehjiiea^\[]^^]BBCQLWÅÈÎÑÎåqokdXOKd¬ÁÎÆv\ceghhiklmmmmkkkgb`Q/---27=FUg€²š×âçìììíííí¯‘—Ž‡‚~{wtqnnnmmlklmmmnpsŠodfffffeefghgdb_^_bgjjjgd`]\]_^B>AMOO]g¢¥äpjlmeSVh„»ÆÔ¼j^cdghhijlmmmmkkiebT0.--/59=L]r’ÓôîííêéçäâÙ‹¥€gfa`^^\\\]^dddcbaaab```^ezfeeeeeeefhghheb`^]afikjigda^^_B=AHMPQTX[u¿klnlgYOPPŒÂÇÔ©^^`bdfgijklmmkkkhdW1/..59L€Z439=k|vtma^^ZUM…ž^\joqtuux‚Œ—¿©‘‘Œƒ€}}yrrqcddeddeegggggdb_^^`dikkkifb_`D=?FKNQUWY\_nrpnneRLKU£ÄËÔY_acefhhhjklkkkjgY33-.7F˜ö©WSYxqR]closx}}¡}do‚††Š‹Ž‹‰iDJB8W”¡§¨£ Ÿš~zRpdbcddbcdeefegfda_^\]bhjkjifccG>=FHLPTUYacnsqstxhTOJk»ÇÐÆl]abeffghijkkkkjh\2:-.0:‚ÅŽkpŒ’•™›œž˜¤žZfŽ¶ÁÉÐÖÚÝÌdRHEHT´çâÞ×Ûàà¦p[\jbbccbbcceeddedcb_]\]afjjkjgdJ>;FGKORTXbpnmljjke\RML•ÅÈÖ¢Z_acefghhhjkkkkj\/<..-18IS>8?HA89865664:ƒ‹Po•ãÞÝÜÛÛÞÄ]icfWL¤ãÝÛÕÑÙáªSuLzp`bbaabbddccddddb__]\^cikkhgM<8FHKNQSXamlebde`b^SMJc³ÃÎÎuY`gedefgghjkjjk^->A=@DDCWXFCU”yRi‚æßßÞÝÞáµSWUdNK–æáãâáÞÝœ;vSee^_aaabacccbccddca`^\Z\bhjhiN76GJLMPRYbkjggfqmhbRLLL‚¿ÄÒ¯^]ccbcegghijjkk]-;2,+,..04667;<>ACZYB:b¡e\\V’“›  žnTShƒTRoÁÁ³¢ŒyfP9]cVknoa`aaabbbcccdddcba^\[\agikM34GKNOPSZbgnlfennqiSLMKV¤ÂÈÓ”_^abcdfggijjh`T,:5-0/*+++**)))))*'(**o VdZ;7456866>OL…«UVPF>:7534GCEpJŒÜÞ°g`aabbbcdddddddc`^][]aekL23GLQRQUZcdhqjgmorqf[OKJr¶ÀÏÊo[acddfggggg_VN,960643+****+,.5Oœ~KnO?75576663328I63565:9223134551W’ h3854HkMaa`_cb`abbbbbcccccdddb``^\]D$3E??\»¿k[[nlmehknsomiRIKLx½ÀÐÆn^bbceffedb_VC1--/+%%&()(*+***+-,V“‹aSaEQMGQVRLJPE6233337E[…Š]IME8;iHa`Y[bgb`abbbbbccccddddba`^^C"1@=>Igm_`fhchhfiqsorr_KJZfš¿ÄÕ­bbbcegfedc_[RFBA@CCBEFFGGFFGJOSS‡zYPZKOJEEFFEFFLA3436@ARXhlSLJPD?OG`WkšƒiX__abccbbccccccdcca_`F#/<<;>FPV`hgmlhmmjlnrpkSILKY§ÀÇÕ‘_bdeededdb]XUSQPRRSSRQRTUWX]gu€}|p]>IKHEGMRMKH?ONI@9=LQONMLG@8<=74B]Ua›qZ£Ä¬kabbbbbcdeeccddca_F!.85568>CKOxtrotpiikigjcKJJIqº½ÎËt\bccbccccb_^\[[[[YXWWWWY[`TiŽ¥¡xk^;59:FWVOC>;AVHC==BIPSSQHFFIKNQSVbjOrMSÂåÜŸ]abbbcccddccdaXTP=!.60K7('''&x€}pjjifhimiaOJMKL½ÀÔ­[\`aacbbceca`aa``_\[YYZZ\aWQ]vuzniUTRRTTQQSUUWWWYYZ[ZZ[[[[[[[\\]__aiVFVajrki``bbbbbcccb`_YKJI/-.4ptrstlmfllnkjeZMKH_¶¾ÉÓ~W^`bcdcceedcdcbbb`]ZZ[ZZ\^XQR^zgo\]\[ZYZZZZZYZZZZYYYYYYYYYYYYYYZ[_Y@Gdc`_^]ljaaaaabbaa][YTMK>,50+*59777nurttlnhhkkknsiQJJL“ÃÄÕ¸b`cdefdefeeeedccdb_][ZZ[\]`cVA\[oWXXXWWWXXXWWWWWXXXWWWWWXXWWXXXXY[XASecabbl…wcbba`a``abbb`VKA$-3.**12010mtmnmkkjgjillmiSJJJg»ÅÍÖˆ]cdfgfffeeffedddca^\[[[\]^_]>@^rSWWWWWWWWWVVVVVVWVVVVVVWWVWWWXXVVTM[dbbabbZZ``_`aa`_```_][QB,0/-,/3&%%%ljlsrmjlnmfhihiUJKKM“ÆÅÓ¹a]_addeeeefffddddb`^\\\\]^bfYrhuRTVVWVVVWWWVVVWWWWVVWWWVWWWXWRU`fQbccbbaa```^``^aaa____^\[VN>0*((*-&&&'jloqmlmorplgkkfSLKLJc¸ÆÌÖ‹^defffggfggfeeeeeb_]\\\\^bf]tggcYUVVWXXXXXWXXXXXXXXXXXXYYUY~]dibcbbba`b¡¿¾•_aa`____][XUPE<::;CWbbaaa_^][XUXca```___^]\ZXXYYYXYXVUgijg`_`hhqzwqrmjmcQKMR[°ÉÇÖ©cefhighgefffgfffec`^\[\M[\VOeßÝÁÝñ¤dosttutuxy~zzzzzxssss…ÓçÌÂÞª‡’¢£¦¦¥¢Ÿ–Œ„wryd_`_``^]]\\[[[[\\][Ypllmjvprirqtsr{l]SJJLKyÄÃÎÓ…beefeeeefffgfeeedb_]\\MZ[OFM°ÇŽÔî´dwx{}‚†‰’š  š‘‘”š£°»»¶±¯±³¯¬ªª©©ª¬¬¬®¯²³˜hd_`_aa`^^]]]]]\\^__\„{€xuzwigoxuwzre\RJJKKQŸÇÅÖ»e`bbdddefffffeeeec`_]]PPQKBGP[Y¡â›s›­·¿ÄÍÔÖÚÜÛÚØÏ¥¶±®©£›š˜•”’Š‡ˆ‡‡‡‡‰Š‹Ž‘—n[l^_aa``^^^]^^^]^_^^†|u~xrpilsmifoibccTJKJ]f~»ÃÊØ\aaccefeefffffedcb`^]SGFJBEKPU`rv¢Ú¢{snjomsÉÁdWŠœ•Š…ytnjfb`[WVVUTUUWXYZ_cch~babaaaa`_____^^^__}xwxsnpa`hqyrijdYKKJU\Y˜ÃÁÖÁf^acccddeeeefeedcba_]VFCHBEKOT[dƒÆÓ@/25665Uäê`>‘ouxmaZUOMJGGGEGLKJKKKJJJIHHHFGI`ihedcccaa`____^^__†z‡z†z†z†z‡z‡z‡z†{…z†z‡{‡{†z†z‡z‡y‡y‡y‡yˆyˆyˆyˆyˆyˆy‡y‡z…|ƒ‚~|„yƒuƒt„t„t†x†y‡w‡y†z†z†yˆ{‡{†zˆw‡u†y†y†z†{†z…z…y‡z†{„~ƒ€‚ƒ€‚€‚†y†z†z…z†z†z†z†z†z…z†z†z†y…y†y†y†x†x†y†y‡y†y†y†y†y†y†y…y„{~{‚xƒuƒtƒt‚v„u…v†y†x…x…y…w†yˆ{‡z…y…w…t…w…v…x†z†z…x†w‡y†{ƒ~‚€‚€‚…z…z…z…z…y†z†z†z†z†y…y†y…y…y†y†y†y†y†y†y…y…y†y†z…z…z…z…y…z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„vƒx…y†y†x‡x†y…zƒ}‚~‚€‚€…z…y…y…z†z†z…z…z†z†z…z†z†z…y…y…z…z…z…z…z…z„{…z…{ƒ{…{…z…z„{ƒ~€€~‚z…y„y„x„w…y…|„{ƒy…x†w‡z‡{…{„z„yƒwƒv„v„x†yˆy‡y‡z‡z…z‚}‚~‚‚€€†x„|„|…{…z„z…z…z†z…z…z†z†z…y…y…y…y…y…y…z…{„|ƒ|ƒ}‚}„}„|„|ƒ~€€~‚|„y„x„w„y…z…{…z…y…z‡z‡z‡{…{…z…z„vƒv„x…y‡x‡y‡z†z…z„|‚~‚‚€€‚€„{‚ƒ‚ƒ~„|ƒ}ƒ}…{…z…y…z†y…z…z…z…z…z…z…z…{„}‚}‚~‚~‚}‚ƒ‚~‚|ƒz„yƒw„y…{…{‡z†z†{‡|†|…{…z…z…y„u„v…x†z‡{‡z†z†xƒ{ƒ~‚‚€‚€€‚€„†‚ˆƒ€‚€ƒƒ~„|…{…z…z…z…z„|†z†y…z„{„|…}‚€€€€€€€€€€„}…~ƒ~„}ƒ{„z…z„w„w„w„y…y‡z‡{‡|„|…{†z…z…x…w„w…w†x‡x†z†z‡y„{ƒ~‚~‚€ƒ€‚€€‰}‰}‡|…~ƒƒ„}…|†{…z…z…zƒ}„{„{„~‚€‚~ƒ~‚~‚€€‚~ƒ}…{…|„}…|„z„y…x…w„x„w„v…x†{‡}†|„|…{…{…y„x…y…x…w†u†v†x…y…y„|ƒ}~‚‚€€ˆt…u|ƒ~„}€‚€ƒ€„~…}†|‡{„}‚€ƒ€}…{†z†{…{„{„|ƒ}ƒ}„}‚~„{…{†z†{…|…z…y…z…x„x„zƒx„x…{†z…|…|„}„}„|„z„w„y„y…v†u†u†w…w„xƒ|‚‚€‚€€‚‚‰w‡wƒ~…€†}€€~‚‚€‚„€ƒ~„ƒ|…y‡w‰wˆw‡w†x„{„{„y„|„{…y‡y‡x†y†{†y…z…z…x…x…y…y…z†{„{„|…}„~„}ƒ|ƒz„zƒy…x†w†vˆu†v…uƒw{‚~‚€€€‚~‚ŽzyŠ{‹|z„€„‚€‚€‚‚‚‚‚€ƒ{…y‡y‡yˆx†w‡v‡v…z„z„x…z…y†x‡x†x…y…z†z†{…{…y…u…w…x…w…z…{…|…}„~ƒ}ƒ|ƒzƒz„x†w…y†w‰u‡u…v‚w€|‚€‚ƒzz‘yz‘z‹}‡‡~ˆ|ˆ{ˆ|ˆ}‚xˆz‡y†w†v†w†w…x…x…u†uˆvˆv‡uˆwˆz†{…|†z…z…y„u…u…v…w…y†{…{…}„~„}„{ƒyƒx…w†w†y†x…w…wƒy‚|~€€€~‚~ƒ‡€‡‡……‚‡†‚‚ƒ€‡|ˆ|ˆzˆzˆ|‰}…€|‡y‡x†v†w†w†v†v†u†s‡tˆuˆuˆu‰w‰{†|…}„z„z„x„{„{„y†z†y‡{†|†~„~„}„{„y„x…w‡wˆx‡w„w‚z|‚ˆ‚€‚}„|…„€„€„ˆ~Š‚†‚ƒ…~…„„€ƒ€„ƒ„w†v‡u†u†u…u‡tˆt‡sˆu‡u‡t‡uˆwˆz†y…{„y„x„{„|…|†z‡{‡zˆ{‡}…~„~„~„}ƒz„x‡xˆxˆx‡zƒ{}€€‚€‚ˆ‚€€~‚}„{…ƒ‚‚‡€ˆ‚ƒ‚€€‚€€€€ƒu‡v‡t‡t‡t†t†sˆs‡sˆt‰t‡u†u‡w‡x…v„y„y„y„{„z†y†y‡y‡{ˆ}†„„ƒ‚}ƒz…vˆwˆx‡x†{ƒ~€€ƒ}ƒ}ƒ€€~‚|…x„|ˆ|‰}ˆ‡€„‚€‚ƒ~„~ƒ‚…v‡t‡u‡t†u†t‡s‡r‡s‡tˆuˆw‡w‡v‡w†x„y…y„zƒ{„y…x‡x†x‡z†}…„„~ƒ~„}…w…sˆu‡v…w{€~€}|~ƒ}ƒ~ƒ€|‚w„rƒ|ƒ|…}„~ƒ€~‚~€‚€‚€~„u‡u‡t‡s‡s‡s‡t‡tˆu‡u‡vˆw‡w‡w†w…x„x…y„zƒ{„y…x‡x†y‡{‡|…}„zƒz„y„v‚q‚pqqn|q|r}q~qr~w{ƒ{‚w€q€nn‚}ƒ}„}„~‚€€€€‚‚ƒ‚„†…ƒ€ƒ~„t‡u†u†x…{ƒƒƒ‚„„†€†€†€…€„€ƒ{„zƒ|ƒ|ƒ|ƒz†{‰{†z†x†r‚n~i}o}n{s{szs{q{m{h{g{g|g~f~f~g~i€fe|i~j€lƒ€ƒƒ„…€…„„€……‚„„‚ƒ‚‚‚ƒƒ~„~„ƒ‹~}’|‘||Ž}{‘|‘}…€‚€‚€‚€‚ƒ…‚…„}„x…uux€yz€yzy~x~w~xx€uqr€q€o€nop€n€m€ˆ~‡†ˆ‰~Š}ˆ}ˆ}‰~‰}‰}‰|‰|‰}ˆ~‡‡‡†Œ}ˆ|ƒ|‚|†~ˆ€‡‡~‡|†|ˆ|‹}ˆ~ƒ€„€ƒ€‚€‚€ƒ€„€…€…†€…€†ƒ‚‰„€ƒ€„€ƒ€‚ƒ‚„‚ƒ‚„‚„‚„…€„„|u‰|‰~ˆ‡ˆˆ‰~Š}Š}Š}Š}‰}Š}Š}ˆ|ˆ|‰}ˆ‡‡}€|}|{‚{ƒ{ƒ{†y‡x‡}ˆ}‰|‡}…€…€…ƒ€ƒ€‚‚‚‚ƒ€„†~‡‡†…€‚ƒ„€‰€…‚‚ƒ‚‚‚„€„€„€…€‡€‡ƒˆ…‰|‰|‰}ˆ~‡†ˆŠ~‰}Š}Š}Š}Š}Š}‰|‰|Š|‰}…~‡|‡}„~…}‡x†z…zˆx†x€€ƒ€‰|…|„€ƒ€ƒƒƒ€ƒ€ƒ€€€€ƒ€†€‰‰~‡…ƒƒ‚ƒ€‚‚‚€‚‚ƒƒ€‚€ƒ†ŠŠ Š¤‰}‰|‰|Š|‰}ˆ~†€‡€ˆ~‰~‰~Š~Š~Š}‰}‰}Š}‰}†}‰|‰}ƒ……€‰yŠx‰xŠw‡z‚ƒ‰|…|„ƒ€‚‚ƒ€‚€‚€‚ƒ€€‚…€‡ˆ~‰ˆ€„‚€‚‚€†ˆ‚€ƒƒ…‹ƒ‡‚„Š~Š}‰}‰}Š}‰}‡€‡€‡‡~‰‰~‰}‰}‰~‰~‰}‡~…}ˆ{‰|‚ƒ„€‰yŠ{ŠzŠy‡|~†„Š|‡{…}…„€ƒ€€‚‚‚€€€€‚„€ˆŠ~ˆ†ƒ‚‚…†€‚€‚€„††‡…z„|ˆ€Š~Š}‰|‹}‹}‰~‡†€†€‡€ˆ‰~‰}‰~ˆ~ˆ}†ƒ}…{†|…†~ˆ{‡{ˆ|ˆ|„}…€„‰|‰{†}…„„€„€‚€‚€€‚‚‚‚‚€€€‚‚„€†‡~‡~†€‚ƒ‚€€€…‡ˆ…‹z‹|„‰‰}Š}‹}Š}‹~‰‡€†€†‡€ˆ~‰}‰}†…†ˆ†~…~†~‡~‡}‡~‡…†~…†€Š}Œ|Ž|ˆƒ…‡~‡„€ƒ€‚‚ƒƒ‚‚‚‚‚€‚ƒ€…‡~†~„ˆ’€ˆ…‰ˆ‹yŠ{€„†€‡‰Š}Š}Œ}‹}‰~‡†…†ˆ~‰~ˆ†Š~{|Œ}Œ|‹|‹}‹}‹}Š}Œ}Œ~Œ}}|’z‹}„ˆ~ˆ~‰~ˆ~†€ƒ€‚‚ƒ€‚€‚ƒƒ‚‚‚€€€‚‚‚ƒ…€¨z½€¢…ˆ€ŠyŠz}ƒƒƒ‡€‰~‰}Š}‹}‹}‰~‡†€…‡‰~‰~ˆ}Œ|}}‹|Š|‹}Š}Š~‰}‰~Š}Š}Š}‹}Š~‹€Œ‡~ˆ~ˆ‰}‰~ˆ~‡…ƒ€‚‚€‚‚‚‚€‚‚‚—|¨€›†šˆŒ‰‚ˆ|†|„‚†€ˆ‰Š~‹}‹|‹|Š~ˆ…†‡ˆˆ~‹|…ŠƒŒˆˆ~‰~‰~ˆ~‡€‡ˆ~‰~ˆ~‰~€†~‰ˆ~‡‰~ˆ}‰}‰}‰}ˆ}†ƒ€€€‚‚‚‚€€‚€‚ƒ††‡žŠ¤‰©‰¦}“}‰~‚ƒˆ€‰Š~Š}‹}‹|‹}Š~‡†€†ˆ‡~‡‚‡‰ƒ‚†€†††…ƒ††…€…€„€€ƒ€ƒ‡€‡…ˆˆˆ~‰~‰}‰}‰~ˆ~†ƒ€€€‚‚‚ƒ‚ƒ‚‚‚€„†Œƒµƒ¿‚ÂÅ{ƒ~„}ƒ}‚„ˆ€ˆŠ~Š~‹}‹}‹}‰~†€†€‡€†…€„€‚‚‚„ƒ‚‚ƒƒ„†„ƒ‚€€„„„†€†€‡€‡‡€ˆˆ‰~‰~‰}‰}ˆ}‡~ƒ‚€‚ƒƒƒ‚ƒ‚ƒ‚‚€ƒ†‘¯xËuÏtÓwƒ~„‚|ƒ‚†‚‰€‰~‰~Š}‹}‹}‹~‰†€†€…ƒ€„€…‚„ƒ„‚ƒ‚„‚‚„„ƒ…€„…†€†ƒ††€†‡ˆ‡€†€†€ˆ~ˆ~ˆ~‰}‰}‰}‡}…ƒ€‚€ƒƒƒƒƒ‚ƒ‚…„~|¦pz‚‚}‚}‚‚‚‡€‰~ˆ}Š}‹}‹}‹}‹~ˆ†€„€ƒ€…€‡€ˆ~‡~…€ƒ€ƒ€‚‚‚€…Š|Œ|Œ|Œ{{zxxxzŽyxŽz‰}‰~‰}‰}ˆ~ˆ}‡~„‚‚‚€ƒ‚‚ƒ~ª~§€‚{‚h{m}|‚}zŒ~‚ƒ‚‰‰~Š}Š}Š}‹|‹}Š~‡€ƒ€‚„€…€…~…~„‚€ƒ€„„„ƒŽ|”x”x”w–w–x•x•y•x•w•w•w”y‹|ˆ~‰~‰}ˆ}‰}‰~‡~„ƒ€€‚€€‚€|ªwÇw¾yª}–j}i{q|ˆ}‡~‚ƒ†ˆ€‰~Š}Š}‹}‹|‹}‰~ƒ€€€‚€ƒ‚‚ƒ‚‚ƒ„‰Š€‰€Š€Š…ƒ{Œ{‰}‡~…~‡‹ƒ‹‚‡~ƒ~ƒ~„~…}‹|‰}‰~‰~‰~‰~ˆ~‰~‰~†~ƒ‚€‚€‚€‚|©rÌrÒrÑtÊkj|k|w€€‚~ƒ}ƒƒˆ€Š~Š}Š~Š}Š|‹}Š~…€€€‚‚ƒƒƒƒ…‚…‚…‚„‚„‡Š|€|z}y~y~}‹zŒ{„{y}z}y}|~ˆ|Š|‰‰~‰~ˆ~ˆ~‰~‰~‰~‡~„‚‚€‚‚~{£rËqÎrÎsÉnnn~s‚ƒ€‚}‚}ƒ…‰Š}Š}Š}Š}‹|‹}†‚€‚€‚‚‚‚‚ƒ‚ƒ‚ƒŠ}ˆ|‚}}€|€}…|Šx‹z‡z}}|~€‡{Š|ˆˆ‰~ˆ~ˆ}ˆ}ˆ~‰}‰~‡ƒ€‚‚ƒ}}žsÌrÏrÐtÇo„m€i|n€x‚‚~‚|‚€‚‡Š~Š~Š~Š}‹|Œ}‡€‚€ƒ‚€‚€‚€ƒƒ€ƒ€…‰}‡|‰}‹~‰‰~‹{‹xŠx‹y‰}‰€Š€Š~‰{‹|‡†€‡ˆ~‰~ˆ}ˆ~‰}‰~ˆ‡„‚ƒ”wÅwÀv¿w¶k‚k~hzi|k|z€‚}}‚ƒ€ˆ‰~Š~Š~Š}Œ}ˆ„€…€ƒ€ƒ€ƒ€ƒ€ƒ€„€‡~‰}…|ˆ{Š|‰|‰{Š{Šz‹z‹z‹}„‚‚‚ˆ|‰{‰|‰~‡€ˆ‰‰‰}ˆ~ˆ~ˆ~‰}‰~‡„ƒ‚„–~‘}|’nn~izgyezs~€ƒ~•|ˆ~‚…€‰~Š~Š~Š~ˆ~†‚‚‚…€†‰}‰}ƒ}†|†|†|†|†}ˆ}‰|ˆ|„~|ƒ{„„~…}†}‰|ˆ~‡ˆ~‰ˆ~ˆ}ˆ~ˆ~‰~‰}ˆ~ˆ…€ƒ‚‚‚‚€l€j~hygxfxl~{„ˆ~„}‚€‡€Š~Š~‰~‰~‡†€„€ƒ€ƒƒ‚‚ƒ€„€…‰|Œ|‡}‡|‡†‡}†~‡~‡}‡}†}†…~‰}‹|Œ|z‡~ƒ†„€†ˆ~ˆ~ˆ~‰~‰~‰}Š}‰~…€‚€‚‚€f€g~gzhxhxizq~€‚}‚|‚ƒ‚ŠŠ~Š~Š~Š~‰}‰~‰~ˆ‡€†€†‡€ƒ‚ˆ|’x“w“w’x“w”x“x”x”w”w•w•w•v•v–v—u–u‰~…€‡€…€†ˆˆ~ˆ~ˆ~‰~‰}‹}|†~€€‚€…†~ih~gzfxgwhxhyuƒ€‚}‚‚ˆ€Š~Š}Š}Š}Š}‹|‹}Š}‰‡€†‡†ƒ‰}’x–w”w”v”w”w“w“w”x”w“w“w”w“w“w“v’x‰}‡€‰~ˆ‡ˆ‰‰ˆ‰ˆ~‰~Š|‡~‚€„€…jh~gydxgyjzhzs€ƒ‚~‚~‚„€Š~‹}‹}Š}Š}‹}‹}‹}Š~ˆ€‡€‡€‡€ƒŠ{Ž{|Žz‘xyx‘xxyyxxyxŽy†}…€‰}ˆˆ~‰~ˆ‡†€‡‰‰ˆ‡†…€ƒ€‚‚‚€‚ih~g{fxi{k|i{n}ƒ‚}‚€ˆŒ}Œ}‹}Š}Š}‹|‹|‹}Š~‡€‡€†€„}Œz‡~ƒƒ‚Œ{ŽyzŒyz{ŒzŒz‹z‹zŒz‰|€€‚†ˆ}‰~‰~‰ˆ€ƒƒ‡‰‰ˆ†…€„‚‚‚‚‚‚‚‚ƒjj}j{j|i}i~h~kt€‚€‚}‚ƒ‹}Œ}‹}Š}Š}‹|‹|‹|‹~‰‡€…€„~‰|‚|†|„„€Š|Š}‰|‰}ˆ~ˆ}ˆ}ˆ|ˆ}‰|…~€€€…‰|‰|‰|ˆ|‰~‡‡~‰~ˆ‰ˆˆ‡€†…‚……„‚mƒkj~j€n„k„h‚kr}‚‚‚„~ƒ‚‡€Š~Š~Š}Š}‹}Œ|Œ|‹}Šˆ€†€„€†€„ƒ€…„ƒ‚†…„€„€„‚„„€Š}Œ{ŒzyŒyxx‘x‘wvwwwxzŒ}‰‰‰‰ˆ€ˆ€‡€ˆ€ˆlˆmˆn‡oˆq†p…m„p…t†|„€‚~™}Ž~‚‰~Š~‰~‰}‹}Œ}Œ}‹}‹~‰†€ƒ€………ƒ‚€‚„€ƒƒƒ…ƒ‚…€{’x”v”x“w“x”z“z’z’y‘z‘y’x’y“z|‰~‰‰‰~ˆˆ~‰€ˆ€ˆ€ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÎÍÍÌËËËËËËËËËËËËËËËËÌÌÍÌËƾ³®¡œ~{pgkujjgljqbfaU\`\[a[S[`\]TPORYX_e^dRTUUTWTSYTPV]][WTLD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËËËËËËËËËËËËÌÌÌÎÎƳ§–t€ys^^_o|n\]ljfZXXZ^YUTO]f_ZQOOPXVZehfOU\_XPPKQQX]aZUOLI@@75421/75ÍÍÍÍÎÎÎÍÎÎÎÍÍÍÍƿÿÇÊÊËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÌÍÍÍÎÍÍÀ£‹‡pmlokimpt|z^a_bcZYYZZ\RSV\aXYXVSQTSVZecPPWZTLNMQQ\b__YQGA?<851220.2ÍÌÌÍÍÎÎÍÎÍÌËËÌÌÈÀÄÀÉÌËÊÊÉÉÊÊÉÉÈÈÈÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’yjpuwr}fda\fW`bbZ[WU^YSXedQORVWRNKWOXfQNSWYPLROPX`]`USTNG?<84321--ÍÍÍÌÌÌÌÌÍÌËËÌÍÎÈ¿ÀÀÊÍÎÎÎÍÍÌÌÌËÊÊÊÊÊÉÉÊÉÉÉÉÉÉÈÉÈÈÈÆÈÉÉÊËËÊͼ’„}r_k|mbg_^_VhaXWTSLZ`^_ol[QOT[SMITRRWRYYWUNOQTZ^WVZPOXNI>?A;520,+ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÈÍÎÎÎÎÍÍÍÍÍÍÎÍÍÍÍÍÌÌÌËÊÊËËËËÊÉÅÉÊÊËËËÇÆâˆxzog^jomb_`^V[_UQZRRPXedefbfUQUXSQSTRRVQY]_URSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎźŻÆÎÍÍÍÎÎÍÎÎÍÍÍÍÌÌÍÌÌÌËËÈÉËÌÍÌËÈÄÊÉÊÌÍËÆÃÀ±™zwodUSb^Y\``]a^WTQKMTX^`bh^YROOONJRQSP^KSSYZVYX]Y[VRPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÂÅÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÈËÇÄÁÄÀÆÆÈËÌɾ¼«Ž~voVSPQNVWloeab[WLCALYPY`_]VSQJLKHKHPKWNQTUUVYZYZ]XRNRMUNBG@>>3/.--ÍÍÍÍÌÍÍÍÍÎÍÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÌÍÌÍÍÍÍÍÍÍÍÌËÉÇÆÅÈÀ½¶À¼Á¾ÃÊÈÄ»®£¤Š|sq]UVWWfh[mfe_UUPPVTcTNY\RNVWQJJFNOQXWQPWYUSWWUMSYRPVPWV?5622/----ÍÍÐÖÔÎËÌËÉÈÉÉÊ̽ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÉÁÁÀ½Á»¹©¾·À·¼Æ½¼´£ˆ…|o‰xbZ]Z\cjVl\T[SMSS\[UMORVPORUWJKKSRRXf\NUWVUTTYPPYWX[[LC<7540.-,--ÍØæðîãÑÊÈÁ¼½ÀÄÈÀ½ÆÁ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌËËÃÁº²»¸°¡º±½µ³Á³¹²—…zxkfbaaaRZa[Ud[SY\NSRV[TUSMMMJKLRXVNQOQPbYMY[WQKNXWUTXPLKA7=<:61.-,--ØíỾãçʾ¶°°¶¸ÀÁÁÉÆÁÉËËËËËÊÉÊÊÊÊÉÊÊÈÇÇÃþ°ª¦ª¯£ž©­²®±¸ª©œ‚wxsjiQ_eZWbWQZf]X^WKOQS[`aTPLLKMPLTWKOTNQ\\X`\SOKNXUVUOPXIBB=:;951//-,îØ‹op¥ë×´®«­³²¿ÃÄËÈÃÊÍÌÌËËÉÆÊËËËÊÈÇÅÁÁ½½¯ ™˜£¤™—¢¯©¬«¦¡˜rlifjm[VWT`_UV[XX_UQVSSTT^WPSONSUQSSWQOWPRY^X]WX[U\]RSYWSQ?>E:8777520/.Á«”—• Èв­©­°³ÀÀÄÊÇÁÊÍÌÌËËƾÇÊÊÊÊŽµ®±²·©Ÿ”Œ—™˜”¦µ¬¬£–—‘xhccUf_QKHNV`XPP]g^`m]^a[SVMONOOQVRTPSYQYNN]\]fZb]he`ROMMJK@=?8854453./2cjferwuy¢¨¯®´¼¶ÁÈÆ¿ÇËÌÌÊÇ¿¶ÄÊÊƶ¤žšš¡ —š”‡‘—’’ž¨ª’ŽŽ„tbbgZ\SQSQOX^^Yfm^OTaNWomZPMJMLJFILLNNMPWTW]SRWW^f\[VOJLGEECG@7543344/15aPUpª·µ¨‹‚§°°µ´±¼ÇÆ·ÀÉÉÊÊǾ²ÃÊɽ²¥˜ž•–’ˆ‹‹€“’Š‡Ž—‰ˆ‰ƒ|tsnaXSX[YNW[UT\h\QP\ef`^[RRLIIFHGFEFMLR][VZUNYgfeU]RMUSHI@?A9753313338=Š[XžÖãåÖ•q¶¶®®«©·Ä¹©¯¸´¼ºÇ¼¯½Ã·©ž—› ““„‚ˆˆ€|ˆ‰Œ„‚‚€}wvn`UUSS]XTYTSXfPPO]dcRRZWSLKKIJHEJJIPUZaRYPOjpcd_a\U_YUSH=::864322549?Ÿ“Ž§¯Œ‰`j®Íǧ ¡©ªž Ÿ¡¡¢ª¹¯¤¢¨™™˜Ÿ—™‘•Œ„ƒ„€ƒw‡‡„||{zsoohbWPZfZRUQU]ZNX[[]XQQQRSLKPPKNRPFBJNS^QQM]a`]Xei[QT]ZERE;;;8554488:>Q1@gU]qR>=OOROOOPUxf˜žÌŃKE=?JSSUC:8?8d™‡‡€}~}x}}„„~|€z~vptywsnie[SMKYWZSTW[[XHW_Z\XY^UJLSNLILONOTUXV[mcZZZZVYWQVJMI=763aƒ:7778:ACBDan˜h`[Sì×ïÍuͽ_??HO><>CA<;<9GšÏá|x}y|~z}|{‚}wwomvxzpg_bSQSDALUVUXYOLIUX[\UZd^SMLIJOMMIGJMVWX]`Z]WUPVNKLHA<7676Q‚>789;;@HJHM{ÂiJIDˆñâï´jäÅ}py‡Œ’“–šš˜“‹°Öߎ|xwzyw{z}||~‚‚xvwlintxmh`^OQTGHOTX[TOSQTUZUVVY_[RKDCBDGIEEFJSV[ZUMURTQSNGEC<96676ZB88;<;AGGHŽ®ä ‰‚„˜{zWW¸ÆÏÈÊÍÏÑÓÔÓÓÔÓÐÎÐÕ£‡}|{vwwvwvzz~€vuuotlmuphg^QVVTWY^\XFEQW_W[XWTU\UNICD@>>>=;@KNV`XQWZPV[MKG;:987673‰çS07;:<69?EGI[gWSXV[[SFAA;67877:5…åS.8<=BHHDRóóóóóðéášTKEN³ØÝæêêëíëêéçèêêéåÚЗ‚xz}ywwxxwz{y{z}}ywyslgnffcb[foaYMOYXTQRYW^YVYcYOHC@?@BA?>CHB=K[jj\KPePF@:;97;<99>7uÝ[3=;=AIICV´²¯±³©qj{XBAW¬ßâêêéÛ§ž¾Ïš™ÂìâáÝש~y}{ytqzyx{yxy||vyyofhjhga\]Z\YONVTMOR]ZXX\]\SUMG?@GHA=CQQIV^^jkQUWK@;666;@BA>@;wèe8?8MTMekjx‡g\]QIB>::>FMIBHIX_jŠ’ŸŒŒ‘‹w^KJFE‹äëêëêëéäèêäãêêêêëêœs|xxu{{hw|zy|vr}yuqmkjggbbk^SV^XW\TOSPSPZ^[d]TUQOIGGCHKFDGNMTikjsrbbkiXQMLOUTVSIJP9zôr778S]^khhY_iZZXURD9;9IU`V[fjncZWX_bejmloe]jxvplgjjW†ðSR[suprjePNNOPSW`bJ.1;iÐîçãçêßÞßáäåèëãäëàˆty}yss{{~|xwywouttxum`Y]ba`_\SWXXSQPOMS[YSXYSMRXSPW^[p€vbkwkYTW[]^agfl~„‚‚ƒ|€ƒˆ‡‰“®“‡{|qspgyxyyz{{~b+/9_ÃÞ·v£ð£|}}€ŒÝÑoÍÓ}yzwwutwxz~…Š‹•——››™“‹‰‰vli\ZUURTY\RQYYPMNT^[X]i{…‹‚bbqiRPY[[Z]eiku}{z{ts}ŠŽŽŽˆ…ˆ‚}mrqkngwwvvwxxz|nSU[nŸ±–{¿ z†’ŠÏ±ˆ ¶­u{zvxw|Ž—¥«¬­¬¦£ž›˜–—˜™™œ £§¨£‰mkqy†…ˆŽ’Š‹“²š…‚zv{zkbmmaW[_^][_fehrecadcu{~„†‚„Œ„}{qbgpljfponoopprtvvwz{z~~€}€~}{|}‚’“‡‹‰uuw{¢¢•†{qkd`^ftud^\XWZ^chj~xwvtssuuuxyz‡“£°³­œ~sljklmliea]]]ZY]^XZ\]]`fgdebacnlgkgc]htlrvomlllllnpqrrqqstwy{}~~}|{{ywtszˆŠ Šp|šeWSONOPV]avœp\ZZa_YURCDlpqstuuutrqqqoonor{ˆ—¥¬®©¡’€sggfda`\YVYXVVXXWXWVW[XXWXXWTSTPXYbpxsokjjjjjkmopponoooquxyz{{|{yxvtrqy‚zƒnANV]ht}a88410354Mnoonl^@Jeefhjlpssstsqommnnnnoryƒ“ª¼»¥‹tjfgggb_][WURRTSQRV^`TTX[VUVVTTUSXxuqmjijiijmnopppooopqstvwxxxxxvutrnowP@l‰“œ¡§’cU=22;FHGD<:96EGP]aa_PIBHnl[97:yVWmljgcba``__abfknqqstuusmggikmonkirŠ¬ÀÁ§ˆrkiijigfb_[YUTSP]£uvvoortttttqmhedcdehijjjklllmkkklnoqrssu‚K}?148769JLKIHGGHHFGox^<>Œ¥vGhjmmjgca```a__`eilorsuuuspkgfilmlljisŽ±ÅÁ§„ojjjkhedc__]Wm•QRQNjmpqrrrqokfb``acdffghiijkljiiijlnqqxwS512Hvt@Ii]ECCIJGNEc|\:8Pr‘H`dfjmnjfc``a`^]]`dhkoqrstrsqkedfiklliegx¡Çδrnkhgfeeffbv|Ebntikmopqqrqpkfba`aabddfhiijkkihhhjklmyghw033T—•]@B:556DJFNI\kq?507‘]Wfcdfjnnkgbbbba_]]_ehlnprrstsqicbeikkkigdtŸÆиsjlkhfdfbej¤¥§ijlnorsssrplgcba`abbdfghiijjijihikhxZ~d3@:hŒ™”G;43217=9CLˆ™ˆA422}|Llgecdhlookifdefdb__aeilopqsstroiedfijkjiffv›Ãл“tlkjigjWl‚¬¡fikmnprsssrplhdbbaaabdghiijjkkifhkfzUŒUCLDX‚‡|MK?65553247xŸv;730b™Ljmkhfdcgkmmkhfdeeca__beilnoprrsspkecfhjjjjgeq“¸ÍÀŸ€mlj}šSZ@X?`dgjlmpqrrrqolieb`_`aaeghiiijkkkklcyU–PJQL_{‹VFGGDBCC@?=b‡˜`?;:3R¨PbkPEFZebbdhlkhdaaba`^]^`cgkmopqssrplfcdgijkkiek¦Ç˲‘w’‰SO@J4^`cfikmopqqqpnlhca___`adfgghikbOLX~sTRaxKaZJGJORSLOMMVrƒN>7=2J{4Hkfcbbdfhhfb`_^^][\^^adglnnoqqpniedehjkllkgfu’³Æ©žwTC@B3ƒ[adhjkmoqrpppolhc``__`bdfgghiF76444347647756:;==8:@?=É¿q[dffhjlnorpopolgc`___`abceg\F<;07_D<:98866666666557666667788:CLchhhijkkkkkkifa`cfhjhfebaaaa`]]]`bdhjmoqrppolfTPZ_eziAK“xA;y³ÃÎX^cefijlmnpoonmkgba```abdeee˜ŸSI<43565555443347754433333352>[jQJYghhijijkkjkkjgcaadgjkifca``__^]]^_behknooqpoodLKIAC\rSC@:9PŽºÇÈsYabfhjklnoooonlkgb``__`bbcdŽbT|hK12333322333FE4433222331Oœ¡£cOVgfhihhijijkjkjhdbaacgiifca_^^^]]]\^_bfikmopppolc‘“^m~~rmiYYw­¿Í³c[bfhjjkmnnnnomlkeb____aaaimp]u«¥½^012121134464543320110E‹¦˜˜x?Pecefgghhhijkjjkigdb`adgigec`^]]^][\\^_bfilmnooqf³yvhjf^^_WXz¸ÂÍž[_dfgijlmmnoommmjda`___`aelC>Š—¤¦™[.-00//026657401147>E˜µ¢Â¡h,I›¿ºdefgffhijjjjihgb`_bfhihfb^]\\[\[[Z\^bfikmnqk‹¬|kZ_^XVVPJN‰¹ÀɉX]acfhijlmnnmmmlhda_^^_aYhB,m­Ç§ÒÅdeMGJMOH9{”;I_^XTY’¤îìÄÒ­Q*>}§¬ccffeefghiiiiijgca``beiigd_\\\\\[[ZZ\_bfjlp\{ ugVTWVTT]RKT—ºÄÂuT]_aeghjlmmmmllkhc``__aTM9,Q¨ÓÅïðË s[`aŒžP­Oinh_\s­×ðêÓÚƒ6,:cb`b‚xeeeeffgggiiijigdb`_`cfghd`^]\\[\[[\Z[_dhlTd‹c^TTUVUTfXOI]¨¾É¼jZ_adghhjlmnnmmkjgb`_^_[=1+6mξÏÙ쬑[Z_Y[gßë{Ydclh”´¸­ˆ^`?/-8fbegqjbaaffefffhhhiiigfca__adhihea]\[[\\][YZ\agQWzbZQMSWWWkaPMIs·¿Ï­a\acfghjllmnnmlkifb_^^[=-,.6JFSyyx©chsr_tØèdqtod{e?H?201/09g_decx§¬™ldeeeefgggiiiigdb`_adgjjhd`][\\^^]ZYZ_LUiaX}–s`jnkofSLMˆ»ÂÒ—Y_cefhijkklmmlkkid`_^W7,,,/037=:BTQVbq’´Æ¤•‚la\VPHB=61-,,9d\effo§ÈÅ_`acdeffghhhjihfc`^_cgijigc^\[\]_^\ZYGOV[F™¾¹­ÂÞjlu^OKW¾ÉÌ€Zadfhhijklmmmlkjhc`^V3,-2557;AHRaqš»ÇÏÖäëâÚÙØÄ|aRNLQU[dox†š—¡¢¢¡ž Ÿž™’Œldfffhgffghhfc`^_adhjiiea^\[]^^]YCIJSD‹ÑÛà×íqokdXOJe­ÁÍÅt\ceghhiklmmmlkkjgb_Z5,-/379?GNXlƒ·òéîïíëìííòÔ›’—¦«­¯®­«§¡ŸŸŸŸžœ›ž¡¤§£œtdfffffeefghgdb_^_bgjjjgd`]\]^^]CBCQLU¾ÂËÑÍojlmeSVg…»ÆÓºi^cdfhhiilmmmlkkiea]:,--05:AM]t•µ¨íâíííîïïïôÏ…º¤‘™ˆ„€|zvrpppppooppnoss|‹heeeeeeefhghheb`^]afikjigda^^^^B=AMOOYbˆ£¤klnlgYOPPŒÂÇÔ§]^`bdfgijklmmkkkhc_;,.-.26:BN]oˆ—íçäááÞÚÔÎΊ§ujida^^\\[[]`_^^^^^_]^^_Zlwdddeddeegggggdb_^^`cikkkifb`_^A=AHLPQUW\rnrpnneRLKU£ÄËÓŒY_acefhhhjklkkkjfb=...1;Bˆ“C+-3E`]YSPOMIGBE¡ˆV_gkprssy„Œ›¾ ”‘‹„}~~tptnbcddbbdeefegfda_^\]bhjkjifc``Cj“™Ÿ™–•{sVsbbccabcceeddedcb_]\]`fjjkigccG==FILPSVXanmljjke\RML•ÄÈÕ¢Y_acefghhhjkkjjif@73-.2IŸœm]kx€…‹‹‹‹Š…}vŸ‘Pu•²»ÆÌÒØܶXOECE^ÉäàÚÖÛÞÜ–rQhm`abaabbddccddddb_^]\^cikkgecJ>;FGKORTXblebde`b^SMJc³ÃÎÍtY`gedefggijjjjjh=64,--27GI7;@G46641111/GyQt´âÞÝÝÜÜà¬XjaeTR¼âÞÚÓÑÛá˜[jRh__aaabacccbccddca`^\Z\bhihffL;8FHKNQSXbjggfqmhbRLLL‚¿ÅÒ¯^]ccbcdfghjjjjki<47-,,1159>>@@AEHHOkSIEi˜d_`­åÞÞÞÝÝáœPXU]NO±äàáàààãŽ?xNflnaaaaabbbcccdddcba^\[\agihiN66GJLMORYbnlfennqiSLMKV¥ÂÈÓ”_^abcdgghiiijkg;38.,+-//1343467:QiP›Â¹x]`aabbbcdedddddba_][Z]djL13GMQRPSYcuwnkqonlnoZLKO¿ÄÖ­^`bccdeffffcXU73840MN?6311.*)*******Fž{MoL<989997887:uyHH=348:;9:KC?oN`b`a```bbbbccddddddcca_]\Z]dI+4GJMO`qe`pnjhllhfhidLJJ[ªÀÉÕˆZabbceffddd\S:4753.@?<823.*****+-26b£gRkK<7667666332AI34556;JRA7>;4gVYbb````abbbbbcccccdddb``^\\_F&4FDET·Àw]nlmehknsomiRIKLy½ÀÐÃk^bbceeffeeaU?52111+'''&&%&&&&&&'(9{˜YYaD:66>HA975132145541eŸW3653SdQcb``ba`abbbbbccccddddba`^\^C#2E??Z¸Âl\hbhhfiqsorr_KJZfš¿ÄÕ­bbbcegffdc`[P90//0+))*,,-///0.-.*rŽƒOaTHPFFSZSJIM>3333449CkŠŠTHKA6BiHb`ZZcga^abccbbccccccdcca`]^B"0@<>Hfm`_glkhmmjlnrpkTILKY§ÀÇÕ‘_bdeededc`]YNHGFFHGHIIJKKJJKNQQW—{vIaPMOIFEGFFFIN:1227FOV_xsrotpiikigjcKJJIqº½ÎËt\bccbcccb`ZXVTRSTTTTSRSUVXYbfoszxoKHMMIDCHKJJFANJF=9ANPNPPNJB;@>75E`Ov¡vY¿àœ]abbbcccddccdddda]D!.75459?BIx€}pjjifhimiaOILKL½ÀÔ­[\`aabbbcca_]\\\\[YXWVWXZ\\Y|˜±’qjP38;=JZYRD@;EXEA99?JPRPLC@@ADFIKSdcQtONiki_`bbbbbcccccdd`WPN<"-50I5(''&ptrstlmfllnkjfZMKH_µ¾ÉÓ~W^`bcdccdcb`aa```^[YWYZ[^aN^l„uvp[NKJMRQMLMOOUSSTTWXWYZ[ZZZZ[[\^`_cjUMU``_]ljabaaabbaaa`_XKIJ< -74][=.++nurttlnhhkkknsiQJJL“ÃÅÕ¸b`cdefdddddcbbaab`][YYZZ[][QM`punh]]\[YYZ[ZZZZZZ[ZZZYYYYZYYZYYYY[[`XAHecbbl…wcbba`aa```][YUMK>-50,)4976mtmnmkkjfiillmiSJJJg»ÅÍÖˆ]cdfgfffeeddccccb`][ZZ[\\__bEU`hfYYYXWWXXXXXXWXXWXXWWWWWWWWWXXXXY]T>TecbbaZZ``_`aa`__aba``UKA#-3.*)0211ljlsrmjkmmfhihiUJKKL“ÆÅÓ¸`]_addeeeddfdcccca_][[[\\]^aO=CkfTWWWWWWWWWWVVWVVWVVVVVVVVVVWWXXVXTK\cbaa```^``^aaa_```_^][QA*0/--.3&%%jmoqmllnqplgjkfSLKLJc¸ÆÌÖ‹^ddfffgfefgedddcba_\[[\\\^fZU^riPVVVWVVVVWWVVVWWVVVVVVVVWWWXWSSY]Oabcbbba`b¡¿¾•_aa``___^\ZVN=1)((),&%%lkknsuspslikljoeOJKKMÇÉÕ¾icdfghhgffgfeedddc`_\\[[\^gf‘sgp\`\TUVVXXWXWWWXXWXXWWXXWWXXXTVr…‚Vigabbbaa^‹ãðè˜_`__^^__][XTPD;8899=?CjqtrpsqlojiiehrbKKKLK_¶ÉÌÕ–_defghgggggfeeeeeb`]\[[[^]i•~ew‡„bVWXYYYZYYYYYYZZZZZ[[Z[[YZy³·¢`Wabbbba``^Œ¬«œc]_`^^__^\ZVSRPMLLKKMPpwsnhhkmmhikurte_YLLMO†ÈÇÐÉtbefghggfegfeffefda_]\[Z]UcŠq|±ÁŇeZ\\\]]\\[\\\^__^_^^_^^[qÅ×âåyHMacbba``a^\X\`_``_^_``][YWUSSRRQRRQgiig`_`hhqzwqrmjmcQKMR[°ÉÇÖ©cefhighgeffegfefeb`^][Z[Mezjj’èåÜÓ]babbbdefhkplkjiiiiiigh³çÛØåŽ?CYbaa`_^^^____``a`_``_^\[YXXXXXWXWUpllmjvprirqtsr{l]SJKLKyÄÃÎÓ…beefeeeefeegfeeeda_^[\ZIdXYN“áÚÍèÝ|gmrrtuuwz|‚yzyxwuttts‡ÜîÈÅàyDL_kkkkjifcb^][ei``_a`^^]\[[[ZZZZ\\Z„{xuzwigoxuwzre\RJJKKQŸÇÅÖ»e`bbdddefeeffeeeda_^\[ZGfRQDråʦåë’fuuvvwz{}‚‰‹Šˆ‡‚€}|{žËØÀ¯¹£¥ª°±±±²²²®¬«¢›|zg__```_^]\\]][[[]^^†|u~xrpilsmifoibccTJKJ]e}»ÃÊØ\aaccefeefffffeeba`]\[F^NICLqqsÙç‡r—£ª±¼ÀÅÍÐÔÔÓȧ¨­«®°´²°®«¨ª¨¥¢¡¡    ¡£¤¦¨­¡h^aaaaaa`^]^^^^^\]^^}xwxsnpa`hpyrijdYKKJU\Y˜ÃÁÖ¾d_acccddeeeefeedcaa_]\ILGHAGKQV|‹y¢Ë¹¨¡ž¡¢Ÿ«Õ¸Žˆž”¤²ª¢œ™—•’Œ‰‡…‚~~|||||}}}…Žs\qfdcccca`_^^^^]]^^†z‡z†z†z†z‡z‡z‡z†z…z†z‡{‡{†z†z‡y‡y‡y‡y‡y‡yˆyˆy‡yˆy‡y‡y‡z…|ƒ‚~|„xƒuƒt„t„s†w†y‡w‡y†z†z†yˆ{‡{†zˆw‡u†y†y†z†{†z…y…y‡z†{„~ƒ€‚ƒ€‚€‚†y†y†y…z†z†z†z†z†z…z†z†z†y…y†y†y†x†x†y†y‡y†y†y†y†y‡y†y…y„{~{‚xƒuƒtƒt‚v„u…v†x†x…x…y…w†yˆ{‡y…y…w…t…w…v…x†z†z…x†w‡x†{ƒ~‚€‚€‚…z…z…z…z…y†z†z†z†z†y…y†y…y…y†y†y†y†y†y†y…y…y…y…y…z…z…z…y…z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„vƒx…y†y†x‡x†y…zƒ}‚~‚€‚€…z…y…y…z†z†y…y…z†z†z…z†z†z…y…y…y…z…z…z…z…z„{„z„{„{…{…z…z„{ƒ~€€}‚z…y„y„w„w…y…|„{ƒy…x†w‡z‡{…{„z„yƒwƒv„v„x†y‡y‡y‡z‡z…z‚}‚~‚‚€€†x„|ƒ|„{…z„z…z…z†z…z…z†z†z…y…y…y…y…y…y…z…{„|ƒ|ƒ}‚}„}„|„|ƒ~€€~‚{„y„x„w„y…{…{…z…y…z‡z‡{‡{…{„z…z„vƒv„x…y‡x‡y‡z†z…z„|‚~‚‚€€‚€„{‚ƒ~„|ƒ}ƒ}…{…z…y…z†y…z…z…z…z…z…z…z…{„}‚}‚~‚~‚}‚€ƒ‚~‚|ƒy„yƒw„x…z…{‡y†y†{†|†|…{…z…z…y„u„v…x†z‡{‡z†z†xƒ{ƒ~‚‚€‚€€‚€…€†‚ˆ~ƒ‚€‚ƒ~„|…{…z…z…y…z„|…z†y…z„{„|„}‚€€€€€€€€€€~„}…~ƒ~„}ƒ{„z…y„w„v„w„y…y‡z‡|†|„|…{†z…y…x…w„w…w†x†x†z†z‡y„{ƒ~‚~‚€‚€‚€€‰|‰}†|…}„‚ƒ„|…{†{…z…z…zƒ}„{„{„~‚€‚}ƒ~‚~‚€€‚~ƒ}…{…|„}…|„z„y…x…w„x„wƒv„x†{‡}†|„|…{…{…x„x…y…x…w†u†v†x…y…y„|ƒ}~€€ˆs†u‚{‚…}€‚€‚…~…}†|‡{„}‚€ƒ€}…{†z†{…{„{„|ƒ}ƒ}„}‚~„{…{†{†{…|…z…y…z…x„x„zƒx„x…{†z…|…|„}„}„|„z„w„y„y…v†u†u†w…w„xƒ|‚‚€€€‚‚Šx‡w„}„€‡|€~‚‚€€ƒ„‚‚„ƒ|…y‡w‰wˆw‡w†x„{„{„y„|„{…x‡y‡w†y†{†y…z…z…x…x…y…y…z†{„{„|…}„~„}ƒ|ƒz„zƒy…x†w†v‡u†v…uƒw{‚~‚€€€‚~‚zy‹{‹|z‡~„‚‚‚‚‚‚}…y‡y‡yˆy†x‡v‡v…z„z„x…z…y†w‡x†w…y…z†z†{…{…y…u…w…x…w…z…{…|…}„~ƒ}ƒ|ƒzƒz„x†w…y†w‰u‡u…v‚w€|‚€‚ƒz{‘y‘z‘{Œ|‚€†~ˆ}ˆ|ˆyˆ{‰}„€y‡y‡y†w†v†w†w…x…x…u†uˆvˆv‡uˆwˆz†{…|†z…z…y„u…u…v…w…y†{…{…}„~„}„{ƒyƒx…w†w†y†x…w„wƒy‚|~€€€~‚~ƒ‡€‡‚‡€…„‚ˆ…‚ƒ‚‡|ˆ}ˆ|ˆ{‡|ˆ}†~~†z‡x†v†w…w†v†v†u†s‡tˆuˆuˆuˆw‰{†|…}„z„z„x„{„{„y†z†y‡{†|†~„~„}„{„y„x…w‡wˆx‡w„w‚y|‚ˆ‚€‚~|„|…„€„€„‡}Š‡‚ƒ‚„~…„~ƒ€‚„€ƒ€ƒx†v‡v†v†u…u‡tˆt‡sˆu‡t‡t‡uˆwˆz†y…{„y„x„{„|…{†z‡{‡yˆ{‡}…~„~„~„}ƒz„x‡xˆx†x‡zƒ{~€€‚€‚ˆ‚€‚|„{…ƒƒ‚‡ˆ„‚‚€‚€€€‚€€€‚x‡u‡u‡u‡t†t†s‡s‡rˆs‰t‡u†v‡w‡x…v„y„y„y„{„z†y†y‡y‡{ˆ|†„„ƒ‚~ƒz„v†wˆx‡x†{ƒ~€€ƒ}ƒ}ƒ€}‚|…x„{‰|‰|‰~‡€„‚€ƒ~ƒ„‚‚€„x‡t‡t‡t†u†t‡s‡s‡r‡s‰uˆw‡w‡v‡w†x„y…y„zƒ{„y…x‡x†x‡z†|…„„~ƒ~„}…w…sˆu‡v…w{€~€}|~ƒ}ƒ~ƒ€|‚w„rƒ|ƒ}„}„~ƒ‚‚€€‚€‚€ƒw‡t‡t‡t‡t‡sˆsˆtˆvˆuˆuˆv‡w†w†w…x„x…y„zƒ{„y…x†x†y‡{‡|…}ƒzƒz„xƒv‚q‚pqqn|q|r}q~qr~wzƒ{‚x€q€mn‚}ƒ}„}„}ƒ€€‚‚„„†~‡~„€„„v‡t†t†u†u…v†z…}„}„ƒ€„„}„|„{…zƒzƒ|ƒ|ƒ|ƒz†{‰{†z†x†sn~h}o}n{s{szs{q{m|h{g{g|g~f~f~g~i€fd|i~j€lƒƒƒƒ„…„„…€…„„ƒ‚‚ƒ‚‚ƒ„€ƒ}„‚‚Š}}|Ž}}|{|}†€€‚€‚€‚€‚ƒ„‚…„}„x…uux€yz€yzy~x~w~xx€uqq€q€o€mop€n€m€ˆ~‡‡‡‰~Š}ˆ}ˆ}‰}‰}ˆ|‰}‰|‰|ˆ}‡~‡ˆ…Ž}Ž|‹|ˆ|ˆ}Š€ˆƒ‰€ˆ~ˆ|Š||‹~ƒ€„€ƒ€‚€‚€ƒ„€…€…†€…€†ƒ‚€‰…€ƒ€„€ƒ€‚ƒ„‚ƒ‚„‚„‚„…€„„{v‰|‰~ˆ‡‡ˆ‰~Š}Š}Š}Š}‰}Š}Š}ˆ|ˆ|‰}ˆˆ‰~‚|}|}{|„|„}†{‡y‡{‡}ˆ}‰|…€…€…ƒ€ƒ€‚‚‚‚ƒ€„†~‡‡†…€‚ƒ„€‰€…‚‚ƒ‚‚„€„€„€…€‡€†€„€‰|‰|‰}ˆ~‡†ˆ‰}‰}Š}Š}Š}Š}Š}ˆ|‰|‰|‰~†~†}…}}‚|…z…zƒ|†zˆxƒ|ƒ€‰|‡|…ƒ€‚ƒƒ€ƒ€ƒ€€€€ƒ€†€‰‰~‡…ƒƒ‚ƒ€‚€‚‚€‚ƒƒ€‚€„€…€‰‹š‰}‰|‰|Š|‰}ˆ~†€‡ˆ‰~Š~Š~Š}‰}‰}‰}‰|‰}†~ˆ|Š|…‚…‰yŠxˆx‰xˆx~ƒˆ~†z„„€‚ƒ€‚€‚€‚‚€€€‚…€‡~ˆ~‰ˆ€„‚€‚‚€†ˆ‚€‚€…††•…—‰~Š}‰}‰}Š}‰}‡‡€‡‡~ˆ~‰~‰}‰}ˆ~‰~‰}ˆ}†~‡{Š{ƒƒ‚„ˆzŠyŠz‰xˆy‚~†‡~ˆ{„}…„€‚€‚€‚‚‚€€€€‚€„€ˆŠ~ˆ†ƒ‚‚…†€‚€‚€‚‚…Š„‚yˆ€Š~Š}‰|‹}‹}‰~‡‡€†€†€ˆ~‰~‰}‰~‰~‰}‡~„}…{ˆ{…„€‰{‰z‰{‰z‡|„}†ˆ}Š{…}…~…€„€ƒ€‚€‚€€‚‚‚‚‚€€€‚ƒ€†‡~‡~†‚‚€‚€‚€‚€†Š‰}Š{„‰‰}Š}‹}Š}‹~‰~†€…€…†€ˆ~‰}‰}‡~…~†€…„}…}…~†~‡}†}†~†„~‚ƒ‡~Š|Š|ˆƒ„€…€‡„€ƒ€‚‚ƒ‚‚‚‚‚‚‚ƒ€…†~†~†ƒ„€…ƒƒ‡ŠŠ{‹zƒ†€‡‰Š}Š}‹}‹}‰~‡……†ˆ~‰}ˆ…€‡€Œ}‹}Š}Š}‰}Š}Š~Š~‰~‹}‹~‹~Œ}|‘{Ž|„€…‡~‰~ˆ~†€ƒ€‚‚ƒ€‚€‚ƒƒ‚€€€‚‚‚ƒ…~„Œ~­}¨ƒŠ‡Š‰yŠy|ƒƒƒ‡€‰~‰}Š}‹}‹}‰~‡†€…€‡~ˆ}‰}‡~Š||{Œ|Œ|‹}‹}Š}Š}Š}‹}‹}Š}‹|Œ|||†~ˆ~ˆ‰}‰~ˆ~‡…ƒ€‚€‚‚€‚€‚‚€‚z´|°ƒ˜‡‘‰}‰{|†|„‚†€ˆ‰~Š}Š}‹|‹|Š}‡…€†‡‡~ˆ~Œ{‹ƒ‡‡‰‰~‰}‰}ˆ~ˆ~‡ˆ~Š}‰~Š}‡€€‹‰„‰~‡~‰~ˆ}‰}‰}‰}ˆ~†ƒ€€€‚‚‚‚€€€‚€€ƒ€‚‹„“ˆœ‰˜‰•}“}‰~‚ƒˆ€‰Š~Š}‹}‹|‹}Š~†…€†‡‡~‰~„†~„ƒ‡ˆ~‡~ˆ~††‡‡‡‡ƒ|ˆ…‚ˆ~†ˆ€ˆˆ~‰~‰}‰}‰~ˆ~†ƒ€€€‚‚‚‚‚‚‚€‡~†š†°‡¶…»{ƒ~„}ƒ}‚„ˆ€ˆŠ~Š~‹}‹}‹}‰~†€†€‡€‡…€„ƒƒ„‚ƒƒ„„……ƒƒ€‚€‚€‚‚‚…†‡‡ˆ€ˆˆ‰~‰~‰}‰}ˆ}‡~ƒ‚€‚ƒƒƒƒƒ‚‚€†„…¤}ÊzÍyÍwƒ~„‚|ƒ‚†‚‰€‰~‰~Š}‹}‹}‹}ˆ…€†€†„€„€„‚ƒƒƒƒ‚‚‚ƒ„ƒ„„€‚€‚€„„ƒ…„†…€‡€‡€‡€†€†€‰~ˆ~ˆ}‰}‰}‰}‡}…ƒ€‚€ƒ‚ƒƒƒ‚…‹†˜Ÿy¹vÂpy‚‚}‚}‚‚‚‡€‰~ˆ}Š}‹}‹}‹}‹}‡†€…€ƒ€„€†€‡€‡€†„€„€‚‚‚ƒ„„‡~‰}ˆ€ˆ‡‡~‰}Š}Š}‰~Š~Š}‰}‰~‰~‰}‰}ˆ~ˆ}‡~„‚‚‚€ƒ‚‚‚‚¨‚}‚„h{m}|‚}zŒ~‚ƒ‚ˆ€‰~Š}Š}Š}‹|‹}Š~‡„€‚€„€†€‡}†|…€‚€€€€€€‚Š~z‘x‘w’w“w“v•v–v–v–v”u”w{ˆ~‰~‰}ˆ}‰}‰~‡~„ƒ€€‚€‚€y¾{¯}”‡j}i{q|ˆ}‡~‚ƒ†ˆ‰~Š}‰}‹}‹|‹}‰~„€€‚€ƒ€„ƒ„‚‡€ˆŠŠŠ‡‹}’y“y’{{‘{‘}‘€~Ž{Ž{Ž|Ž{Ž|‰}‰~‰~‰~ˆ~ˆ~‰~‰~†~ƒ‚€‚€‚€‚€wÁsÐsÍvÀkj|k|w€€‚~ƒ}ƒ‚‡€Š~Š}Š~Š}Š|‹}Š}…€€€€‚‚ƒƒƒ†‚†‚†‚…‚†ƒ‹|‡|‚}~}ˆ~Œ€‡~~}}~}~}~…}‹|ˆ~‰~‰~ˆ~ˆ~‰~‰~‰~‡~„‚‚€‚€‚€‹uÀqÎrÐrÎnnn~s‚ƒ€‚}‚}ƒ…‰Š}‰}Š}Š}‹}‹|†~€ƒ‚‚‚‚‚‚‚‚‚‚ƒƒ„‚ƒ†‹|ƒ|z}x~x~~}‰yŒy‰z||x~y~yƒ}Šzˆ~ˆ‰~ˆ~ˆ}ˆ}ˆ~‰}‰~‡ƒ‚€€‚€†v½rÍrÏsÍo„m€i|n€x‚‚~‚|‚€‚‡Š~Š~Š~Š}‹|Œ}ˆ~‚€‚€ƒ€‚€‚€‚€‚€ƒƒƒ€ˆ~Š|†}„ƒ€‚€†~ŠxŠxŠx„{‚„‚†€‡|Š{‰~†€ˆˆ~‰~ˆ}ˆ~‰}‰~ˆ‡„€‚€‚„x¹sÏtÍtÌk‚k~hzi|k|z€‚}}‚ƒ€ˆ‰~Š~Š}Š}}Š~‚€€€ƒ€„€„ƒ€‚€ƒ€ƒƒ„‰}‡}‡|‹}Š}Š}‹{‹yŠx‹xŒ{Š~ˆ‰~Š|Š|Š}‡‡‰‰‰}ˆ~ˆ~ˆ~‰}‰~‡„ƒ€‚‚‚} {·{y±nn~izgyezs~€ƒ~•|ˆ~‚…€‰~‰~‰~Š~Š}ˆ~‚‚ƒƒ‚‚‚ƒ„€†~Š}…}…|‰{ˆ|ˆ|ˆ{‰|Š{‹{‰|ƒ€|„„ˆ{ˆ|‰}‰~ˆ€‰‰ˆ~ˆ}ˆ~ˆ~‰~‰}ˆ~ˆ…€ƒ‚‚€…ƒ€‡l€j~hygxfxl~{„ˆ~„}‚‡€Š~Š~Š~‰~‡…€ƒ„€‡‰}‹|†}„|…}„~…}…~„‡~‡}„}€|ƒ€„~…‰}Š}…†~„€†ˆ~ˆ~ˆ~‰~‰~‰}‰~‰~†€ƒ‚€‚f€g~gzhxhxizq}€‚~‚}‚ƒ‚ŠŠ~Š~Š~‰~‰‡‡†€…€…€…€…€ƒ€ƒ€†~z{‹z‹|Š}‹|Œ{‹|‹{ŒzŒz{Œzzy‘y“wŽzƒ€„††ˆˆ~ˆ~ˆ~‰~‰}Š}Œ|‰}ƒ€€‚€„€ih~gzfxgwhxhyuƒ€‚}‚‚ˆ€Š~Š}Š}Š}Š|Š}Š}Š}‰‡€†€‡€…€‚†y–w•v•v•v–w•w•v–w•v–v–v•w”w–v–v˜uy…€ˆˆ~‡ˆ‰‰ˆˆˆ~‰|Œ|‹|ƒ€€€€ƒ†~jh~gydxgyjzhzs€ƒ‚~‚~‚„€Š~‹|‹}Š}Š|Š}‹}‹|Š~ˆ†€‡€‡„€†Žz“x’x’w’w’x’w‘w’x“x’w’w’w’x‘xxzŒ|‡ˆ~‰~ˆ‡†€‡ˆ‰ˆˆ~ˆ~‡~„€€‚‚‚€ih~g{fxi{k|i{n}ƒ‚}‚€ˆŒ|Œ}‹}Š}Š|‹|‹|‹|Š~‡€‡€‡ƒ‰{zˆ~ˆ~{xŽxwxyyŽxxŽxxŽy†|€…€‰}‰~‰~‰~ˆƒƒ‡‰‰ˆ‡€†€„‚‚‚ƒjj}j{j|i}i~h~kt€‚€‚}‚ƒ‹}Œ}‹}Š}Š}‹|‹|‹|Š}ˆ†€‡€ƒŠ{‰|~„~„…€z{‹z‹zŒz‹{‹{Š{Š{‹{Š|‚€~‚‡~ˆ}‰~‰‰€‡€†€ˆˆ‰ˆˆ†€…€„ƒ‚ƒ‚ƒƒmƒkj~j€n„k„h‚kr}‚‚‚„~ƒ‚‡€Š~Š~Š}Š}‹}Œ|Œ|‹}Š~ˆ€†€„‡~…}†|…€ƒˆ~ˆ~ˆ‡‡††~†~‡}‡}‡}ƒ‚€„‰}Š{Š{‰|‰|‰|‰~‰}‰}‰‰‰€‰€‡‡€‡††lˆmˆn‡oˆq†p…m„p…t†|„€‚~™}Ž}‚‰~Š~‰~‰}‹}Œ}Œ}‹}‹~Š‡„€……€ƒ‚ƒ‚…€„ƒ‚‚ƒ‚ƒ‚ƒ‡‹{zxŽxŽxw‘x‘wvv‘v‘v‘wy{‰~‰‰‰‰ˆ€ˆ€ˆ€ˆ€ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÃÇÃÌÏÏÏÏÏÏÏÎÍÎÍÎÍÍÌËËËËËËËËËËËËËËËËÌÌÍÌÌƽ´®¡œ‘~{qgkujjgljrcfbV\`\[a\S[`]]TPORYX_e^dRTUUUWTSYTPV^][XTMD=9;9421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËËËËËËËËËËËËÌÌÌÍÎÆ´§—tz~s_^_o|n\]mkg[XYZ^YUTO]f_[ROOPXVZehfOU\_YPPKQQX]aZUOLJA@75432/77ÍÍÍÍÎÎÎÍÎÎÎÎÎÍÌƿÿÇÊÊÌÌÌÍÍÍÍÌÌÌÌÌÌËÌÌËÊËËËÌÌËËËÌÌÌÍÍÍÍÍÍÀ£Œ‡mnmnkknpt|z^a_ccZYZZZ\RSV\aXYXVSQTSV[fcPPWZTLNMQQ\b_`YQGA?<851220.2ÍÍÍÍÍÎÎÍÎÍÍÍÌÌÌÈÀÄÀÉÌËÊËÊÉÊÊÉÉÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÍÍÍÍÍÌÍÌÍ˳˜’xkquxs~fe`\fX`bb[ZWU^YSYedQPRVWRNKVOXfQNSWYPLROPX`]`USUOG?<84321--ÍÍÍÌÌÌÌÌÍÌÌËÌÍÎÉ¿ÀÀÊÎÎÎÎÌÌÌÌÌËÊÊÊÊÊÉÉÉÉÊÉÉÉÉÉÉÉÈÈÆÉÉÊÊËËËͽ’Ž…~r_k|mcg_^`ViaXWSSLZ`^`pm[QOT[SMITRRXRYZWUMOQTZ^WVZPOXOI>?A;520,+ËËÌÌÌÌÌÌÍÌÌÍÍÎÎǸ»ºÈÎÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌËÊÊËËËËËÉÆÉÊÊËËËÇÆã‰xzph]konb_`^V[_UQZRRPXedefcfVQVXSQRTRRVQY]_URSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎźļÆÎÍÍÍÍÍÍÎÎÍÍÍÍÌÍÍÍÌÌËËÈÊÌÍÎÌËÈÄÊÉÊÌÎÌÇÃÁ±šywodUSb^Y\``]b_WTQKMTX_abh^ZSOOPNJRQSP^KTSYZVYX]Z[VRPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÂÅÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÉÌÉÄÁÄÁÇÆÇËÌÊ¿¼¬~vpUSPQNVWlpebc[WLCALYPY`_]VSQKLKHKHOKXNQTUVVZ[ZZ]WRNRMUNBG@>>3/.--ÍÍÍÍÍÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÍÌÌÌÌÌÌÍÍÌÍÍÍÎÍÍÍÍÌËÉÇÆÅÈÀ½¶Á¼Â¾ÃÊÈÄ»®¤¥‹|sq]VVXXfh[mfe_UUPPVUcTNY\RNVWQKJFNOQXWRPWZUSWXUMSXRPVPWV?5622/----ÍÌÐ×ÕÎËÌËÉÉÉÊÊ̾ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÊÂÁÀ½Á»¹©¾¹À¸½Ç¾½´¤ˆ…|p‰xcZ]Z\cjVl]T\SMSS][UMORWQORUWKKKSRRXf\NUWVUTUZPPYWW[[LC=7540.-,--ÍØæðîâÐÊȽ½ÀÅÉÀ¾ÆÁ¿ÊËËÌËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁº²»¸° ¸²½¶´Á´¹²—…zxlfbbbaRZa[Ue[SY\NSRV[TUSNMMJKLRXVNQOQPbZNX[WQLOXVVSWPLKA7=<:61.-,--Ùíà¼Äææ˾¶±°¶¹ÀÁÁÉÆÁÉËËËËËÊÉÊËÊÊÊÊÊÈÈÇÃÄ¿°ª¦ª¯£©­²®±¸«ªœvwrjiQ`eZWbWQZh]X^XLOQS[_aTPLLKMPLTWKOTNQ\\X`\SOKNXUVVOPWIBB=:;951//-,íÚqu­îÙµ®«­³²¾ÃÅËÈÄÊÍÌÌËÌÊÆÊËËËËÉÈÆÁ½¾°¡š˜¢¤˜—¡°ª¬«¦¡˜slifjm\VWT`_UV[XY`VRVSSTT^WPSONSUQSSWQOWPRX_X]WX[U\]RSYWSP?>F:7776520/.¶§“—–œÁÆ®­ª®°±¿ÁÄÊÇÂÊÍÍÍËËƾÇÊÊÊÊŽµ®±²·«Ÿ•—š˜”¤µ­¬£——‘xhccUf_RMHNV`XQQ^g^`n^^a\TVMONOOQVRTPSYQYNN^]]fZa]gfaROMMJK?=@8854453.02dcebmusvz•©¯®³¼¶ÀÇÆ¿ÈËÌÌËÇ¿¶ÄÊÊƶ£šš¡¡š›•‡‘—’’¨ªž“ŽŽ„ucchZ\TQTROX^^Zgn^PTaNWpn[PMJMLJFILLNMMPWTW]TRWW^e^[VOJLGFFCG@8543344/05RRfŸ»½±ž{¢°±´µ±½ÆƸÀÉÈËÊǾ²ÃÊɾ²¤˜ž•–“‰Œ€’’ŠˆŽŽ—‰‡‰ƒ}tsobYSXZYOW[UT\h\RP\fga_[RRLIIFHGFEFNLR][VZUNYgffU]SMTSHJA?A9754313336< kT€ÍßèÞ²q–·®¯«©·Ä¹©°·³»¹Ç¼¯½Ã¸«ž—› ““„ƒˆˆ}‰‰Œ…‚‚€}xwoaVVST]XTYTRXgQPO]dcRRZWSLKKIJHEJJIQUZaRXPOjqcd^a\U_YTSH=::864322549?¢–ž±Ž‡‰id…Æƨ ¡©«ž Ÿ¡¡¡ª¸®¤¢¨š™˜Ÿ—™‘•Œ„ƒ„€ƒw‚ˆˆ„||{{spohbWPZgZRURV^ZNX\[]XQQQRSLKPPKNRQFBJNT^QQM]a`^Yei[QT]ZESE;;;8554488:<†JP™™G;JERuÓò· ªžšœŸ£¨¤¡¡¢Ÿ”“’›™Ÿ™’–Š‹‡‡ƒ}x…„€€xzwtoghdXVZQW]YS[Y[YUYYZ\ZUPKUTNLOJADGFA?EGHQKQRX[aW_n\^PZ^ZIEC?=<856669;>>[56[_R{\DBi·Ú—¦À²µ­°´Â¼®§¤žŒ‘œ–›•Ž†Š‹‰†„€yƒ}{uvvqqmjfW\c`aXQRXV\]aWS\SW^ZVPINLNIADFA?FFDBQGUW[W_``\RbaVWWRLGCE966767;=EFH<;>O\qZA>J˜³J²ëÞÔÕÓÔÕØÙ×ÕÓ̼“‰”’Œ‹Š…Žˆ‰‚ƒz}ŠywtqsrnhaW[baZQUOQ\ebcUMRQg]aWLQQNJHCIRIBILLFPQ\]XLXccdT_cVPW]QE?@<98767;?JAacccpuspgaZs›¯âîϳ¡“uy|~„ž…‹Ž‰‚‡‚—ˆˆ|}ƒ‡|‰‚yzvuttwsaVQYWZVYVNYY\_edhlpmR[[TMQPGEFPUPPNOOIJUZ]ZNM]Y_]\fdV_S@::<=;::8:=<<;\\Z[\[\^`ffl£ñëã‚HGFDPQEEDDE?t‚ˆ„z€„‚‹˜ˆ„ˆz‚‰‰‡~†‚|wuwyuum^X\^TVSSU_WOM_q€sb[\eQSMMRRMMJC?LTQRTSN\dcd[SXW][Q\VTTG<98;:78:98<==;JJIIJJKMLLO`•ÚÚÅYCHDJaaWWMFI@Tš}}ƒƒŠ}‚~€†‡}~~vsutrqre[][NOZYY\ST_bf^\T[aaSUMKKRKGA=COSV_ZZ`gk_]]W\TXSTVWT@9887797767:??>=QQXUSQRPpv¯‚ºÆ§QK>A?MOWO;7;763_‚:7778:ADCE_e•|_\V^Óçäïy¶ÎŠ:BCPECBDF@=>=;n¼ó¸zy}y|~{}|{‚€}wwnmwxzphabSQSDAMUVUXZOKIUY[[UZd^SMLIKOMMJGJMVWY]aZ^WUPWOKMHA<7676Q‚?789<;?HJHMbÁ•OKG]ÛèåÝ`¼Ö¤€ˆŽ–œ£¤¡¡¡Ÿš™œ¥Äܪ|ywzyw|z}|{~‚‚‚xwwlhntxmga^OQUGIPTW[TPSPTUZUVWY_\RKDCBDGHEEFJSU\[UNVRTRTNGEC<96686ZB88;=;AGGH‘Ÿà¿—”‹‚’ƒuiD“ÁÔÏÏÑÒÓÕÖØÕÕÕÑÐÐ×À…{{{vwwvxvzz€wuuoulmuphg]QVVTXY_\XFEQW_WZXWTU\VNICD@>>>=;@KNV`YRW[PV[NLG;:987773‰çS07;9<69?EGJZgWTYW[[TFBA;67877:5…åS.8<CHB>K[kj\LPdPFA:;:7;<:9>7uÝ[3=<>BIJCU­®««ª©€ewiE@N‚Ùàèëæéµ™¤Õ­•§æåäáØÊ…{~|ytq|yx{{yz}€{uzyofhjiga\]X[YONUTMOR]ZXX[]\SUMG?@FHB=CQQIV^]iŒlQUWKA;676;@BA>@;wèe8?9MTMeliw‡g\]RIC>:;?GMJBVxdO3?X…Hbklljgcb```a__aeilprsuuutplggjlmlliir‹¯ÅÁ¦„ojjkkhedd`_]YTa¢lmlknqqrrrqokgb``acdfgghjjjklkiiiklnprq^hd/38?B;@_nWGHHHIHIQ}lR2[£¨\Rffjmnjfc``a`^]]`diloprstssqkedgiklliegx¡Èδsnligffeffd]qNPOjlnopqqrqplfcaaaaceefhiijkkjhhijkmoo€QR/25t—j;RTH??AIHILGnqN78:sHecdgknnkgbbbba_]]`ehlnprrsttqicbeikkkjgeuŸÇѹŽtklkifdeea{wGkuiklnprstsrplgcba`abbdfhhjjjjiiihjjlj{OB25AI…‘©pB:2212<<6Cah631<–a[mjhfddilmmkhfdeeda__beilnoprrstqlfcgijjjjgeq’·ÍÁ¡llkipžTiu aehjlnpqrrrqomifba_`aadgiiijjjkiggfnik€@KKEg€xYJH<7997654J‘”N;643†Onmgcddccehlkhdaaba`^]]`cfjmppqssrqlfdehiklkiek€¤ÇʯŽuj‚•RY=Q]acfikmopqqqonlhca___`aegghiijllhgbp^wFTO_soFGEECEFEECL~”…I>>:2~Cm_?>Bbhcabdfhhfb`_^^]\\]^adhlmnpqqqojfdehjkllkhfu”µÅÅ¢˜TMAI€[adhjknoqrpppolhda`__`cefghhifMCAm|O€xM\XaHEHMTY\WMTHRYocE;:91YM8VD<>2Zkhdbbbcfgeb`_^\\\\\[\^`ehjlnnnmlifcbfiijkjfbfvž§£rVB@BÄy\cgijkmorspppokgca`_`abdefgjU4>9[dDCE>L;5>B?@JNJGCC<7<6=UQKPE566;A53238akkidba`adddb`^\\\\]\ZZ[]`bfiklkjkkga_bdfhiijhdk€¦aT<9:É¿q[dffhjlnorpopolgd`___abcdfiX20218GA77334698533444556885468::9;=GK/5CSckjjkigc__`beecb`^]^`^][YZ]_cgjklnnnnlga_adgf`^Zx‡ŸPM?A@½Í±_Z`cfijlmrqooqolgc``_`abcdefZKHD.RV=;:99776666666677666677888:coe\V}¤ÙñèÉÕ…9,Icab}wefeeffgggiiijigdb`_`cghhd`^]\\\\\\\[[_dhknV|ŸtgTTVVTfXOIa«¾ÊºiZ_adghhjlmnnnmkjgb`_^_]J?,7rÌÍßíﶘa\]fsoÅ”Os`b\^˜ºïáØÀ½M0,Egefrlaaaffefffhhhiiihfca__adhihea]\[[\\]\YZ\afjQf‹b]UTUVUkaOLJu·ÀÏ­a]acfghjllmnnmlkjfb_^^^M1-/=“©¬ºÛÆ«~\cbVO¤ùÔZejqqs¶œšˆ[EF2/.Gicgc{ª¯›mdeeeeggggiiijgdb`_adgjjhe`][\]^^^[YZ_cNZz`ZRMSWXkodSLMˆ»ÂÒ—Y_cefhijkkmmnmkkie`_]]L/-+0578RZQzVirnc™ã¿xkmia[gBCHUd„ÆÖÛÞåííåäåé¯l_TRNJKRZdn…“™˜˜™œ›š–’‰ƒxhdfffffeefghgeb_^_bgjjjgd`]\]^^^XBHJSDˆÓÛâÖpjlmeSVg…»ÆÓ»i^cdghhijlmmmlkkje`_G,-.058=FO[jÞêêîíëëììíñ —ž–™¥¨«®¯¯®©¥¥¥¤¤¢ ¡¢¤§©ª¤—lcdefeeefhghhfc`^]agjkjigda_^^_\AADQLU¾ÃËÐiknlgYOPPÁÇÔ§]^`bdfgijklmmkkkidaM----27=EUg€«¡Óìëïðññòòò÷™¶œ™œ”Žˆ…~zxwvutsrssttwzy†ˆdceeddeegggggdb_^^`dikkkifb`__]@=CMOOXb†¢lqpnneRLKV£ÄËÓŒY_aceghhhjkllkkjfdQ-.--14:FEJTej¯ÙÎÊÈÅÁ»´¯¦b–srngbaa]][Z[ZZZ[[[[\Z[^^\trbcddbbdeefegfda_^\]bhjkjjgd``^A=AHMQQTW]mspssxhTOJk»ÇÐÆl]acefghhijllkkkheT00..:BxÉ€4,0>KFGGEDDDDC?[­tV`cfiklnv}ˆ¥´˜“‹„~{}}||oovfaccabcceeddedcb_]\]`gjkkjhdb_A<@FJOQUWYnnkjimf\RML•ÄÈÕ¢Z_bdefhhhhjllkkihV15-.4D¨ô­uu› ˆ•›Ÿ¢§ª¨¥©›fb{‚„…€|eZcLJw‹ŒŠ‰ƒzn^q_abaabbddccddddb_^]\^dikkhecaD>>FHLPSUXmebde`b^SMJc³ÃÎÍuY`gfdefghikkjkjjW/;-..5]ŠtRO[adgggjqpmh^h£€T|”¨¯¸ÀÇÎÒžRB==CpÔÞÝ×ÔÙÙÒ‡tMka_aaabacccbccdeca`^\[]bhihgecH>;FGKORTWkgggrlhbRLMK‚¿ÅÓ±^]ccbcdghikjjjjkX-=--,017E>9=F=46741212/a—f[~ÎßÞÞÞÞÝâ˜Yh_^P^ÏáÝØÑÓÝá‚h^Xlk`aaaabbbcccddecba^]\\agihgfJ;7GHKNQSXnmgfnnqiSLMKV¥ÂÉÔ”_^abcdghiijjjjlZ,=/-,/025;??@ADGKLhqPKJ€’UjdÑàÝÝÜÛÛÞ‡S[\^MXÈàÝÛÚÜàãyKuJ”Þ§d`aabbbcddddeddc`_]\]`ehhiL66HJKNPQYiqjgmosqeZOKJs·ÀÏÊo[accdgghijjjjkW,=1,++-../00/12356<>4/<’‹MoI«Á¾ÂÇÇɺeSQc^QS©âÜÔƳ¡ŒR:tOq½¾y]`abbbbddedddddbb`]\[_dgkK24HKLOOS[twnkqpnlnpYLKOÀÄÖ­_`ccdefghhiif]M+;4,9<.+**)))))))*))*(E¡zNm?BBAEIIIHNTVmSU\n_OD:46F;^aTcab```bbbbccddddddcda_^\[]bjJ04GLPQPTYqojhllhfgidLJJ_®ÀÉÕˆZacdegghgee]VJ):52:VMA9543,)***+++-/_¥fUiE98787669=:CtgNL;047::7<;2//+***+.246<|œW^bG:7689775333LM45558:BC;9A<8pO]b```_`abbbbbccccdddcba`][Z_D'4FEFQ±¿webhhfiqtprr^KKZhœ¿ÄÕ¬bbcdghhfgfd\L74001-%%%%%%%%&&&&''%?ŒŽNeWA644Jio`xtrptpjjljgkcLJJIqº½ÎËu\bcccdddb`[TLJIGIIIKJKLLLMMNOQNg›~pGiIOQHIGJGHINK412268DV_}lPLRM;AZIbYdun‰Ó¡^abbbcccddccdccca_`D!.<;;>GQUx€}qjjigijlh`NILKL½ÀÔ­[\`abccbbb]XVSQQRTTSRRSTVWY\`aej~vkCUNNICBEGHHDAHC?:7ANNPSTQLE>EB;:I`L…¦}Wak``bbbbbcddcccccdc`\A -8758@MZ[WID;;>??AMdXWzRK\]ljabaaabcccbbcc]TOM:!-6/E4)((nusttlnhhkjknsiQJJL“ÃÅÕ¸b`ccffdedcba__^^^]\ZXXZZ\aWRqƒŽ{kmOCBCJQTLFDEGSPJMMNQSVXYWUVWXY[^_^fkXVN]bk…wcbbcbabaaaa_^SIJJ: -74_[<,)mtmnmkkjfiimlniSJJJg»ÅÍÖˆ]ccegfeeddcbba`a_][YYZZ[\]SNWsmt`]\\ZYXZ[Z[[Z[[[[[[ZZZ[ZZZZZZZ[\\b[EEcccbZZ```aaaa``aa]ZWSMJ<-51/+497ljlsrmjkmmfhihiUJKKL“ÆÅÓ¸`]^addefeddddcbba`^\[Z[[[]^]VCv`s_ZYYYXXYXXXXXXXWXXXWXXXXXXXXXXXYZ_R?A;520,+ËËÌÌÌÌÌÌÍÌÌÍÍÎÎǹ»ºÉÍÍÍÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌËÊÊËËËËËÉÆÉÊÊËËËÇÆâˆxzpg]konb_`^V\_UQZRRPXedefcfVQVXSQRTRRVQY]_TQSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎźûÆÎÍÍÍÎÎÍÎÎÍÍÍÍÌÍÍÍÌÌËËÈÊÌÍÍÌËÈÄÊÉÊÌÎÌÇÃÁ±™ywodUSb]Y\``]b_WTQKMTX_abh^ZSOOPNJQQSP^KTSYYVYX]Z[UQPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÁÅÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÉÌÉÄÂÄÁÇÆÇËÌÊ¿¼¬~vpTRPQNVWlpebc[WLCALYQY`_]VSQKLKHLHOKWMQTUVVZ[ZY\XRNRMUNBG@>>3/.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÍÍÌÍÍÍÎÍÍÍÍÌËÉÇÆÅÈÁ½¶À½Â¾ÄÊÉÄ»®¤¥‹|rp\VUXXfh[mee_UUPPVTcTNY\RNVWQKJFNOQXVRPWZUSWWTMRXRPVPVV?5622/----ÍÍÒ×ÖÎËÌËÉÉÉÉÊ̾ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÊÂÁÀ½Á»¹©¾¹À¸½Æ¾½´¤ˆ…|pˆxcZ]Z\cjVl\T\SMSS][UMORWQORUWKKKSRRXf\NUWVUTUYPPYWW[[LC=7540.-,--ÍÛéðîâÑÊȾ½ÀÅÉÀ¾ÆÁ¿ÊËËÌËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÀº²»¹°¡·²½¶´Á´¹²–…zwlf`abaRZa[Ud[SY\OSRV[TUSNMMJKLRXUNQOQPbZMX[WQLOXVVSWPLKA7=<:61.-,--ÚíÛ²½äè;¶±¯¶¹ÀÁÁÉÆÁÉËËËËËÊÉÊËÊÊÊÊÊÈÈÇÄÄ¿°ª§ª°£§­²®±¸«©œuwqjhQ_eZWbWQ[h]X^XLOQS[_aTPLLKMPLTWKOTNQ[\X`\SOKNXUVVOPWIBB=:;951//-,ìÜ’x|®ìܶ¯«­³²¾ÃÅËÈÄÊÍÌÌËÌÊÆÊËËËÊÉÇÆÁ½½±¡š˜¢¤˜– ¯©«¬¦¡˜rkhejm\VWT`_UUZYY_VRVSSTT^WPRONSUQSSWQOWPRX^X]WX[V\]RSYVSP?>F:7777520/.©¡‘“”˜°¶§«ª­±±¿ÁÄÊÇÂÊÍÍÍËËƾÇÊÊÊÉļµ®±±·«Ÿ•—š˜•¢´­«¢—˜wgbcUe`RMHOV`XQQ]g^`n^^a\TVMONOOQVRTPSYQYNN]]]fZb^hfaROMMJK?=@8854453.02kZa[arsuw‚¤°®³¼¶ÀÇÆ¿ÈËÌÌËÇ¿¶ÄÊÊÆ´¢šš¡¡™š–‡‘—’’œ§ª’Ž„ucdhY\SQTRPX^^Ygm^OT`NWpn[PMJMLJFILLNNMPWTV]TRWW^g][WOJLGFFCGA8543344/05 _O]¿Éõ‡´±´µ±½ÆƸÁÈÈËÉǾ²ÃÊɽ±£—ž•–“‰‹Œ€’’‹ˆŽŽ—‰‡‰ƒ}ttobXSWZYOW[UT[h\RP\fga`[RRLIIFHGFEFNLR][VZUNYgffT\SMTSHI@?A9754313336<ªƒ\f¶Ùäá̓v¬¯¯«©·Ä¹©°¶±º¸Ç»¯½Ã·©ž—› ““…‚ˆ‰}‰‰Œ…‚‚€}xwoaVVSS\WSYTRXgQPO]dcRRZWSLKKIJHEJJIQUZaRYPOjqcd]a\U_YTSH<::864322549?¤˜Ž˜¯“t{sZoªÉ¨ ¡ªª Ÿ¡  ¨¶­¤¢¨™™˜Ÿ–™‘–„‚„€ƒv‚ˆˆ„||{{soohbWPZgZRURV^ZNX\[]XQQQRSLKPPJNRQFBJNS^QQM]a`^YehZQT]YDSE;;;8554488:>YB3G^NtoK:X−ÁÁ±µ¯´¶Ç¸´°ªœœ–›•†Š‹‰‡„€yƒ~{uvvqqljfW[c`aXQRXV\]aWS\SW^ZVPINLNIADFA?FECAQGUW[W_``\RbaUWWRLGCE966767;=EFGB>=JYieK>EbÈ]|æÞÒÖ×ÕÒÓÔÕÑÓÑίŠ““Œ‹‰…Žˆ‰ƒƒ{}‰ywtqsrnhaW[baZQUOQ\ebcUMRQg]aWLQQNJHDIRIBILLFOQ\]XLXdccT_cVPW]QE?@<98767;?JAeegelutsneae„µÙðÔŠ{pgbbc`dipŒ‘‰Ž‰‚‡‚—ˆˆ|}„‡|‰‚yzvuttwsaVQYWZVYVNYY\_edhlpmR[[TMQPGEFPUPONOOIIUZ]ZNM]Z_]\fdV_S@::<=;::8:=<<;YYXXYXXZ\`chÞîèŸDEFFN]HHJGIBI•‡‡…z€„‚Š—ˆ„ˆz‚‰‰‡~†‚|wuwyuum^X\^TVSSU_WOM_q€sb\\eQSMMRRMMJC?LTQRTRNZdcd[SXW][Q\VTTG<98;:78:98<==;JJJHJJKLMKMVyÀÚÐwBEAAYd\\OCCE;‚{€€~€‚‰}‚~€†‡}~~vsutrqre[][NOZYY\ST_bf^\T[baSUMKKRLGA=BOSV_ZZ_fk_]]W\TXSTVWT@:887797767:??>=RRUZSSRQbw´––ɹ[M?C@CFJN<67;6`›­¨}}~~y~|~…„~{€y}uqtywsnjf[SLJYWZSTV[ZWHW^Z\XX_VKMTOLILOOPTVXVZmdZZZZVZXRVJMJ>763g:7778:ADCE\_–a\VO öâ÷­à­GFISRPPOSSMMMIS£éë‹x~}y|~{}|{‚€}wwnmwxzph`bSQSDAMUVUXZOKIUY[[UZd^SMLIKOMMJGJMVWX]aZ^WUPVOKMHA<8676V…>789<;?HJHLRž¼\PKI¢ìØéˆuÕÀ¤£¨©­²¶µ´¶¶³±²²ÀÁ¶xwzyw|z}|{~‚‚‚xwwkintxmga^OQUGIPTW[TPSPTUZUVWY_\RKDCBDGHEEFJSU\ZUNVRTRSNGEC<96676^~B88;=;AGGH–ÉÙ¡Ÿ˜ŠjjHa¹ÐÕÑÔÖ×ØÙÛÛÚÙØÕÓÔ×™xz{vwwvxvzz€wuuoulmtphg]QVVTXY_\XFEQW_WZXWTU\VNICD@>>>=;@KNV`YRW[PV[NLG;:987773æS17;9<69?EGJZgWTYWZ[TGCA;67887:5‡ãP/8<CHB>K[kj\LPdQFA:;:7;<99>7vÙS3=<>BIJCU™¡¦¤ Ž^hyMAEeÂáæêæéÌœžÆÈ¢ÐéãáÜÙ¡z{~|ytq|yx{{yz}{tzypfgiiga\\W[YONUTMOR]ZXX[]\SUMG?@FHB=CQQIV^]iŒlQUWKA;676;@BA>@;wæb8?9MTMeliw‡g\]RIC>:;?GMJB=?9~òl9;4>HIW_kˆŠ›—Š‘…rSJJCJŸëììëììêèêëéêëëëìîåŽywxv|ziw}{z|wr}}xpmkjffbak^SV]YY\TPSPSPZ^Zd]TUQOHGGBGKFEGNMTilisrbblhWPMMPUUWTJJP:yôr769V^_kihNOY[RRPNK>797DŒéííîìëïðïðñðëìðîîÞ…vzyuxvnx|yy{{txwvqqja^`[]gaUNWY`ZXSMNVVZc_`XPOUQKD?=HWcV[fjnd[WX_aejlloe^jxvplgjjV„ñVRZuuprjf[YUSUY]]fhD-2B{ßèÖÇàçÈƼÀÉæâÁÓåÕ~x|yrt|}€}tx{zruzyqvmb\_fc`a`UWXXSQOOMR[YSWYSMRWRPW^[pvbkwkYTW[]_agfm}„‚‚„~}„ˆ‡ˆ“°“‡{|rsqh{{{{{|~|}€S*/CmÔÒ¤l²í˜supmé»o®ÔÃtzwwvvzz|vu|vpuxultka\\b]]`^YZUUTX]_TS[[QNLTa\W\gz…‹‚bbqiQPY\[Z]eikt}{z|ts}ŠŒŽ‰…ˆ‚~mrpjnhvuuuuvwwyydMOcx©Ã»°´Ê«ƒ•Ž‡²ÞÒËÍÍ uzvwyyvssvqqzvx|ƒ†ƒ€}zxutnnnkq{ˆŽ‡Š”’ŠŠ•µ…€zv{zkbmmaW[`_][_fegrfcadcs~€z}ƒ…ƒ„„}{rbgpljfoonnoprtutuvx{|{}€|~~~|}‡˜•Šˆuvxxww€†‘š¢©¬¬©©©§©©©ªª¬­ª«¦ Žxwusrsttsvxy†‘¢°²­œ~sljklmliea]]]ZY]]WY\]]`egdeb`domhkgb]itmrvomkkklnpqrrqrrsuwy{}|~~|{{xuts{ˆˆš Œqpr—¨¡¤”‹ƒyqlkkkfcbcejqy€‹€pruuuttsqqrponpr{ˆ—¤¬­©¢”ƒthgfea`]ZWYXVUXXWXWVW[YXXXYVTSTPYZbpwsoljijjjkmpppoooopruvxz{{{{yxvtrpvƒz†£›£yga[UQOTaf~££yhd]ZVSRPHKpifikmossttsqommnnnnorx‚¨»¼¨wmgghgc_][WUSRTSRSV^`TTX[VVVUTSTSXxuqmjjiiikmoopppoooppqtvwxyxxwvusrooz…‹|FKNQYbk^@?@C?:97Lqtrni[@Kebbcdeimpruvutrpmlmnooollu‰¤¸½³Ÿˆtkiifc``\VXTUSTXWRRUYSSSXXVUSRwwvsnjihggjkmnopoqrrqqqqstvvwwvuuussojY?`w„Ž•œˆPI7..6>AGNJHKNUR?Yfbbbabbdgknrtvwvsqnkiknpomkoy¨ÀÄ­thhiihfc__[XTSRSRRSSSWUTUUTuuvvtnigfeehjklmmoooppommnprtttttuusqqDLw¥ª­°³­‹uZ]^THH@40011IZGhfdb```^^_bglprstvvtpkhfhmmmlihs“¹Ë¸’vjhjjiigeb^ZVSSRRRRUXTUTStuuutsoifedfghikllmmmnmlmmmnpqssttusqzpFWX±¶²«¤‘¤Ë‹w¦‚BG<:@:35=tEbmjfcaba`__acglnqrttuuslgghjmonljp†§¾Á¬Œtkiijigfb_\YUTRPVZRVamostttusokgedddehjjjjklllmkklmnpqrstusƒW`U4YaUJAHHYxrny_FDAahZ:51m_Qllljgcb```a__aeilprsuuutplhfikmlljhp‡¬Ä§„ojjkkhedd`_\YVTT‰‹“kopqrrrqokgb``acdfgghjjjklkiiiklmpqrs„IyD125436YkVCEEDGIBBiv_B4gŒƒDegjmnjfc``a`^]]`dilnprstssqkfcfikllieeuœÇδsnliggfefedb\n¡cfjlnopqqrqolfcaaaaceefhiijlkjhhijkmootyO614AWVIBIKs~‡M330j‹Ijigecdilmmkhfdeeca__beilnoprrstqlfcfijjjjgepµÌ£mlkjig™Ys¨`dgjlmpqrrrqomifba_`aaehiiijjjkiffiezR‹W?>;:8Ao›x?;73?¡dZofYX`fdbbdfhheb`_^^]\\]^adhlmnpqqqojfdehjklllhft’²ÅůŒPV=…[adhjknoqrpqpolhda`__`befghhikh_[`irWœNReM‚rwOEEGIJIJJJMm“bB:>6;•ZMlF98Ahhecbbdfgeb`_^\\\\\[\_`ehjlnnnmmifcbeiijkjfber–ÅŸ~TJAÅ}\cgijkmosspppokgca`_`abdefghjH:9G‡`JObt@PD?DOY`_^ROJFMPjmQGA:36F5@F9=69gkjeca`adedb`^\\[\]\ZZ[]`bfiklkjkkgb_bcfgiiihdasŒ¥nU@=ÉÄt[dffhjlnprpopolgd`___abcdfge96<:LG;567408>@9:=;88;;4884=HFFJ;79;G@1019Qjjkjgd`_`beecb`_]^`^^[YZ]_cgjklnnnnlgb_adghiihgo€¦\S<:½Í³_Z`cfijlmrqoppolgc````abcdfgL41./KB1GYflkjjljidb`_bfhgecaaa`a`_]\]aehjmnopqpomgbbcee^[YwˆNLAE¬ÀÍ Z]begiilnoopponlic````acdefgb\rQ7`C;:997766666666666666777789:9987666555565556555666667788==;756Vs;8BGGGHmnÈâ¾ÅÁv/3Ybb€yefeeffgggiiijigdb`_`cfhhd`^]\\\\\\\[[_dhkmod©ykX]]XfXOI]¨¾É¼jZ_adghhjlmnnnmljgb`_^^aSX7.cµÊ¶ì묖kZ^a‚E‚¸JYvqbY`¡»óíáÙºS./Xgfpja`affefffhhhiiihfca__adhihea]\[[\\]\YZ]afjmT~œsgTTVVkaOMIs·¿Î­a]acfghjllmnnmlkifb_^]_S>0,BŽßÐéç覃ZY[f}]ÀØ}^d\a^v²ÏÞÁ¤Ÿu1//Xhfcz©®šmdeeeeggggiiijgdb__adgjjhe`][\]^^^ZYZ_dhOeˆb\TTUVlodSLMˆ»ÂÒ—Y_cefhijkkmmnmkjid`_]^[:.,0H~wˆ§¸›±fgnfUjáøŸVprwq‰hh]744//2\gegpªÌÄŽbcdeefffghihjihfb`^_cgijjhc^\[\]__\ZZ\_LZy`\RNSWjlw^OKW¾ÉÌZadfhhijklmmmlkjhb`]^W8-,,1/07F9FoQXdnk~µÔš}lbWVSL>@>962/24`fagdbedfcddeeffffhhffghhfd`^_adhjjiea^\[]^^^[ZXIVg^V›wdqoleXOJe­ÁÍÅt\ceghhiklmmmlkkjgb^^T2--/156;CJR[fs‡šª´ÉÛ̼·©œxcVLEA<41--2_b\cbb``a``aabdefffffeefghgeb_^_bgjjjgd`]\]^^^[VENUYF™¾º·pjlmeSVg…»ÆÓ»i^cdghhijlmmmlkkjd`^V2,.2578=AEK\p³éçéëîîíííñæ‡wiaXLDCKPZf‡‰‰“‘‘’’‘Š€zqeeeefeeefhghhfc`^]afjkjigda^^^^^XAHISE„ÕÜáiknlgYOPPŽÁÇÔ§]^`bdfgijklmmkkkic_Z5,.-16;DNZnŒ¨§ïáììëëëìëîÚ„®—‘•ž¢¦¬¯¯¯¬ª¨©ªªªªªªª«­«£‹ecdeddeegggggdb_^^`cikkkifb`___\@ADQMR·¿ÊlqpnneQLKV£ÄËÓŒY_aceghhhjkllkkjfb]9,.-/4:>IZoˆª¤ôïññòòóòñòÖož°›¡¡œ”Ž‹‡ƒ€}|{{yyyyy{~~abddbbdeefegfda_^\]bhjkjjgd`__]>=CLOPV`‚mspssxhTOJk»ÇÐÆl\acefghhijllkkkhe`;-.-178T[@=DL\¨§¢Ÿœ—‘†}w]@™˜swqlgec``]\ZZZYZZ[[\\]^^`|l`ccabcceeddedcb_]\]`gjkkjhdb_\?=BHMQQTWnnkjimf\RML•ÄÈÕ¢Y_bdefhhhhjllkkifb>0/.3C]ÑÎ`:=EdFFJMMMPSZ\[zªiW__`bfhjmtœ£ŽŒ‡ƒ{xxzzyhovbabaabbddccddddb_^]\^dikkheb_]@=@FKNPTWmebde`b^SMJc³ÃÎÍtY`gfdfgghikkkkjhe=61-/9_ØÄ…w‚¤™š¢¥ª««®ª£³bd}‚ƒƒ€}{x{ksw[\€ƒ…‡…„‚‚{zhgl^aaabacccbccdeca`^\[]bhihge``C==FHKOSVkgggrlhbRLMK‚¿ÅÓ±^]ccbcdghikjjjjig993--/9ZfU:FHLORTnmgfnnqiSLMKV¥ÂÉÔ”_^abcdghijjjjjjh784,,.108?<=AD9:<<7=:9:8y“XeŒ×ÜÝÞÞÞÞß|]cYWNoÜàÞÙÒØÞßxsTg̨d`aabbbcddddeddc`_]\\`dhigfI;7GHKNQSiqjgmosqeZOKJs·ÁÏÊo[`ccdgghijjjjki966-,,/126;=<>ADHLS|aKEN‰OmyàÜÛÛÚÚÛØnZ^c\LfÕßÜØÔØßánYlR¦Ãz]`abbbbddedddddbb`]\[_dhhiK56HJKNORtwnkqpnlnoYLKOÀÄÖ­_`bcdefghijijjd758/,*+-,,,,+,,+,-./-,(HžzPj]ÏÓÒÔ××Ùº]RP[UQZÅæãßÖȶ¢T@xNddb```bbbbccddddddcda_^\[]bhkJ35HKLNOSqojhllhfgidLKJ\ªÀÉÕ‰Zacdeggiiiih^W44910K;1-++**))))*+**))\¦fVd?RUV[_`bTSVY}cTUr‰raQD;9C9iX[g````aabbbbcccccdddb``^\[]biJ04GMOPOTomlehjnspmiQJKLy½ÀÑÄk^ccdfggfdeaXT44751BQIA<681)))**+-059x W__?7566534rL_a`]]_^abccbcccddccdcca`\Z\_D&4FEFQª¾bklhmnklnrplUIKLY§ÀÇÔ^bdffeffeeaVA4/../%###$$#$$%%%%%%$K›~ImO=5448:6542134325536]~|<3454iUZb]‹ÁŬjabbbbbcdeeccddcb_^\^B#2F@@X¹ÐytrptpjjljgjdKJJIqº½ÎËu\abccdddb`[S?8656434566777776886D’pKlFFE:GWXK@E=33223457?…“ŒCB?73U_Na_qªÅÛ]abbbcccddccdccca`]^A"1A<>Jltx€}qjjigijniaNILKL½ÀÔ­[[_abccbba]XQNLJJKKLLLMMMNNOORRL‚‘€cMhFQOFKLMIILQD112366GUe„jNNSI6E^Ia][chmj_`bbbbbcddcccccdca_`D!.<;:>GQptrutlnflmnkjdYMKH`¶¾ÉÓ~V]`bccbcc`[XUSRTTTSSRRSTVWZ]^^_w~v^G\MNICCEFFEBEG;865DKMTVZSMGBIB?AJ`Nˆ¢]Zljabaaabcccbbccddb_Y? .8658;BnurttlnhhkkknriQJJL“ÃÅÕ¸a_cceecdcba_\\[\\[YXVUVWY\^^j“Œzm_;>DBBLRWSJH=LUID:8AMPMKHC?:6;989JcQb€YLf†wcbbcbabaaaabbb\RMK8!.5-@2)(mtmmmkkjfiillniSJJJg»ÅÍÖˆ]cbdgeeddbb``___^][XXYZZ^cPdƒ›˜xhcB::@SMEEDFJPTVWRNOPRTWZ[\giZ`JXaZZ```aaaa``aaa_^RIJJ8 -73^\:+ljlsrmjkmmfhihiUJKKL“ÆÅÓ¸`]]addeeddcbaa`a`^]ZYYZZ[^WOUmv€kpYZXXXWUWXYYZZZZ[[[[[[[[[\[Z[Z[]^\c`HEbca``^``_aaa`aa``\YWQKJ:-500.58kloqmllnqplgjlgSLKLJc¸ÆÌÖ‹^cdffffedddccbcba`]\Z[[[\^[VMX~br\[ZZYXYZYYYYYXXXYXXXXXXXXXXXYXY[Z`P:Rebb`c£¿¾•_aa`a`_abaa^RJ=!-3.(&-3lkkmsuspslijmkpdOJKKMÇÉÕ¾icdfghgedeedddccbb`^\\[[[]^bUAUVsWXXXXWWXXXXWWWWWWWWVVWVWWWVWWWWYY[SC[daab^ãðè˜_`____a`_^^YM=(/0--.4(jpuspsqloiihfirbKKKLK_¶ÉÌÕ–_defghffffeeedddcb_]\[[[[]__>AYvUVWWWVVWWWVVVVWVVVUVVUVVWWVWWWWVVVPS`caaa`^Œ««c\^__^_^^^\YTJ80+))*.$pwtohhkmmhijurte^XLLMO†ÈÇÐÉtbefghgffeffeddedca^\[[[ZZbhd_wVSVUVVVWWWWWVVWWWWVWVVVVWWVWXUOXggNiccba``a^\X\`^^`_^_^^][ZVRL>300136hijg`_ahhqzwrsmjmcQKMR[°ÈÇÖ©cefhighgffgeeeeeeb`^][ZZZ_f‰’Zolkh]TVVWXWXXXXXXXXXXXYYYXXXXXTfŒ”†Vffbbba`_``_```_````_^][ZXTROKHGHHIsnmlhvprisrtss{k\RJJLKyÄÃÎÓ…beefeefffffefeeeda_]\[[ZV^„’nj…—™‚^XYYYZZ[[ZZZZ[[[[\]]\\\\Yd™Å˲_OXcbbaa```_````````__^\\ZWUTQOOPOO†z~xu{wihoxvwzse\RJJKJQŸÆÆ׺e`bbdddeffefgfeedb`_\[[[PZz„qz¢Øѽ‡][^]]]^_^^]]]__``______]ŠÞÛæèwDK`cbbaa``_____`_```_^]]\ZXWVVVVVV†|t~xrqiktnjfnibbbTJKJ]e~»ÂÊØŽ\`accdeefefffeeeba`][ZZLYnj`oÐéÞãÉw`cdggikloqwxqrrrponnoly×éÑÕä€>G^cbbbaa``____`aaaaa_^^]\[ZYZZZZ[}xw}xsoqa^gpyrijdXKKKU\Y™ÁÀ×Áe_acccddefeefeeedaa_][[K[YUQVÐÛÆÔòÁforutvvuwz~~|}|yvuttvršÞé½ÁÐbAG[dbbbaba``___cegdcccca_^]\[[[[[]†z‡z†z†z†z‡z‡z‡z†z…z†z‡{‡{†z†z‡y‡y‡y‡y‡y‡yˆyˆyˆyˆy‡y‡y‡z…|ƒ‚~|„yƒuƒt„t„s†w†yˆw‡y†z†z†yˆ{‡{†zˆw‡u†y†y†z†{†z…y…y‡z†{„~ƒ€ƒƒ€‚€‚…y†y†y…z†z†z†z†z†z…z†z†z†y…y†y†y†x†x†y†y‡y†y†y†y†y‡y†y…y„{~{‚xƒuƒuƒt‚v„u…v†y†x…x…y…w†yˆ{‡y…y…w…t…w…v…x†z†z…x†w‡y†{ƒ~‚€€€‚…z…z…z…z…y†z†z†z†z†y…y†y…y…y†y†y†y†y†y†y…y…y…y…y…z…z…z…y„z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒw…y†y†x‡x†y…zƒ}‚~€€…z…y…y…z†z†y…y…z†z†z…z†z†z…y…y…y…z…z…z…z…z„{…z„{„{…{…z…z„{ƒ~€€}‚z…y„y„w„w…y…|„{ƒy…x†w‡z‡{…{„z„yƒxƒv„v„x†y‡y‡y‡z‡z…z‚}‚~‚‚€€†x„|ƒ|„{…z„z…z…z†z…z…z†z†z…y…y…y…y…y…y…z…{„|ƒ|ƒ}ƒ}„}„|„|ƒ~‚€~‚{„y„x„w„y…{…{…z„y…z‡z‡{‡{…{„z…z„vƒu„x…y‡x‡y‡z†z…y„{‚‚‚€€‚€ƒ{€‚ƒ~„|„}„}…|…z…y…z†y…z…z…z…z…z…z…z…{„}‚}‚~‚~‚}‚€ƒ‚~‚|ƒy„yƒw„x…z…{‡y†y†{‡|†|…{…z…y…y„u„v…x†z‡{‡z†z†xƒzƒ}‚‚€‚€€‚€…€‡ˆ„ƒ‚ƒ~„|…{…z…z…z…z„|…z†y…z„{„|…}‚€€€€€€€€€€„}…}ƒ~„~ƒ{„z…y„w„w„w„y…y‡z‡|†|„|…{†z…y…x…w„w…w†x†x†z†z‡y„{ƒ~‚~‚€‚€‚€€‰{‰|‡|„}…~ƒƒ„|…z†{†z…z…zƒ}„{„{„~‚€‚~ƒ~‚~‚€€€‚~ƒ}…{…|„}…|„z„y…x…w„x„w„v…y†{‡}†|„|…{…{…y„x…y…x…w†u†v†x…y…y„|ƒ}~€€‡s‡tƒx…}„~‚€‚„}…}†|†{„}‚€ƒ€}…z†z†{…{„{„{ƒ|ƒ}„}‚~ƒ{…{†{†{…|…z…z…z…x„x„zƒx„x…{†z…{…|„|„|„|„z„w„y„y…v†u†u†w…w„xƒ|‚‚€€€‚‚‰x‰x…z„‡}„~‚‚€€‚ƒ€‚‚€ƒƒ|…y‡w‰wˆw‡w†x„z„{„y„|„{…y‡y‡x†y†{†y…z…z…x…x…y…y…z†{„{„|…}„|„}ƒ|ƒz„yƒy…x†w†v‡u†v…uƒw{‚~‚€€€‚}‚zyŽz‹{Žy‹{‚~ƒ‚ƒƒ„ƒ€‚z†y‡xˆx†x‡v‡v…z„z„x…z…y†x‡x†x…y…z†z†{…{…y…u…w…x…w…z†{…|…}„~ƒ~„|ƒzƒz„x…w…y†w‰u‡u…v‚w€|‚€‚}ƒy{z‘z‘|{†‚…‰|‰|‰xŠyŠ|‰}~„zˆy†w†v†w‡w†x…y…v†uˆvˆv‡uˆwˆz†{…|†z…z…y„u…u…v…w…y†{…{…}„~„}…{„yƒx„w†w†y†x†w„wƒy‚|~€€€~‚~ƒ‡†‚†…‚‚ˆƒ……‚†}‡}‡~‡|‡}‡}ˆ}‚ƒ}†x†v†w†w†v†v†u†s‡tˆuˆuˆuˆw‰{†|…}„z„z„x„{„{„y†z†y‡{†|†~„}„}„{„y„x…w‡wˆw‡w„w‚y|‚‚ˆ‚€‚~}„|†„„€„…~Š‰‚„€„„ƒƒƒ€ƒ€ƒ‚€{…v‡v†v†u†u‡tˆt‡tˆu‡u‡t‡uˆwˆz†y…y„y„x„{„|…{†z‡{‡yˆ{‡}…~„}„}„}ƒz„x‡xˆx‡x‡z„{}€€‚‚ˆ‚€‚}„{†ƒƒ‚„ˆ…‚ƒ€‚€‚€€‚‚€€|…u‡u‡u‡t†t†sˆs‡sˆt‰t‡u†u‡v‡x…v„y…y„y„{„z†y†y‡y‡zˆ|†„ƒƒ‚~ƒz…vˆwˆx‡x†{ƒ~€€‚€ƒ}„}ƒ€~‚|…x…|‰{‰|‰~‡€…‚€€ƒ~ƒ~„‚~ƒ{†t‡t‡r†t‡s‡s‡rˆr†sˆuˆw‡v‡u‡w…y„y…y„zƒ{„y…x‡x†x‡z†|…~„~„~ƒ~„}…w…sˆuˆv…w{€~€}}~ƒ}ƒ~ƒ|‚w„rƒ}ƒ|ƒ|„}„€‚‚€€~€€‚€€€{†t‡s‡r‡s†sˆsˆtˆs‡tˆv‡w‡w†w†w…y„x…y„zƒ{„y…x‡x†y‡{‡}…|ƒz‚z„xƒv‚q‚pqqn|q|r|pqrwzƒ{‚w€q€mn‚}ƒ}ƒ}ƒ|ƒ~‚€€‚‚ƒ„}‡}ˆ}…„~„z†t†u†t†sˆuˆu‡u‡vˆvˆxˆyˆy…y…z…z„zƒ|ƒ|ƒ|ƒz†{‰{‡z†x†s‚n~h}o}n{s{szs{q{m|h{g{g|g~f~f~g~i€fe|i~j€l„€ƒ€„„€„€…„„€ƒ€ƒ‚ƒƒ‚‚„€„€„ƒ}ƒ~„€ƒ‚‚‚ƒ…€ˆ€Š€‰‡†„€€‚€‚€‚€‚ƒ…‚„„}„y…uux€yz€yzy~x~w~xx€urq€q€n€mop€m€l€‰~‡‡ˆ‰~Š}ˆ}ˆ}‰}‰}ˆ|‰|‰|‰|ˆ}‡~†ˆ€†€ˆ€}‘{’|‘||‘€}‘|’|}†€„€ƒ€‚€‚€ƒ€„€…€††€…€…ƒ‚‰…€ƒ€ƒ€ƒ€‚ƒ„‚ƒ‚„‚„‚„„€„ƒ{€v‰|‰~ˆ‡†ˆ‰~Š|Š}‰}Š}‰}Š}Š}ˆ|ˆ|ˆ}ˆˆ~‹}Œ|†|ƒ|‚|‡~‡€‡‡~‡|†}‡}‹|ˆ~„€…€ƒ‚€‚‚‚ƒƒ€„†~‡‡……€‚ƒ„€‰€…‚‚ƒ‚‚„€…€„€…€†€…€„€‰|‰|‰}ˆ~††ˆ‰}‰}Š}Š}Š}Š}Š}ˆ|‰|Š|‰}ˆ}‡~…|~|}{{ƒzƒ{ƒ{‡y‰y‡}ˆ}‰|‡~„€‚ƒƒ€ƒ€ƒ€€€€ƒ†€‰‰~‡…ƒƒ‚ƒ€‚€‚‚€‚ƒƒ€‚€„€„€„€†€‰}‰|‰|Š|‰}‡~†€‡ˆ‰~Š~Š~Š}‰}‰}‰}‰|‰|ˆ}…~ˆ|†~„†{‡y†z‡z‰x‡z€…‰|…|„€‚‚ƒ€‚€‚€‚‚€€€‚…€‡~ˆ~‰ˆ€„€‚‚€†€‰‚€‚ƒ€„€‰’Š~Š}‰}‰}Š}‰}‡‡€‡‡~ˆ~‰~‰}‰}‰}‰~‰}‰}‡~†}Š{ˆ‚…‡}‰x‰xŠwŠw†{~ƒ‚‚‰|…|„…€ƒ€‚€‚‚‚€€€€‚„€‡Šˆ†€ƒ‚‚…‡€‚€‚€‚€…‡…‘ˆ€Š~Š}‰|‹}‹}‰~‡‡€†€†€ˆ~‰~‰}‰~‰~‰~ˆ~††|‰{‡~€„…~‰yŠz‰y‰x†}~†‚ƒŠ|‡{„~‡†„€‚€‚€€‚‚‚‚€€€‚‚ƒ€†‡~ˆ~‡€ƒƒ€ƒ€‚€‚€‚…Š…~„‰‰}Š}‹}Š}‹~‰~†€…€…†€ˆ~‰}‰}‰~ˆ}‡~†ƒ{†{†}…‡}ˆ{ˆ|ˆ|‡|ƒ}†‚ƒŠ|‰|†~†„„€†…€ƒ€‚‚ƒƒ‚‚‚‚‚€‚ƒ€†‡~†~†€„‚‚„‚‚†‹‰}ƒ†€‡‰Š}Š}‹}Š}‰~‡……€‡ˆ~‰}ˆ~……€†€‡~†}†~†~‡~‡~‡‡††„‚†€‰}Œ||‡ƒ„ˆ}‰~†„€‚‚ƒ€ƒ€‚ƒ‚‚‚‚€€€‚‚‚ƒ‚…€‡ˆ~†‚„ƒƒƒ‡‹‰z|ƒƒƒ‡€‰~‰}Š}Š}‹}‰~‡†€…€‡‰~‰~‡†€‹}{Œ}‹|Œ}‹}‹}‹}‹}‹}Œ~Œ~Œ}}{’zŠ}„€ˆ~‰}‰~ˆ~ˆ…ƒ€‚‚‚‚‚‚€‚€‚€‚€‚…„Ž~±~©ƒŠ‡‰‰y|†|„‚†€ˆ‰~Š}Š}‹}‹|Š}‡…€†‡ˆ‡~‰||Ž}Œ}‹}Š|Š}Š}Š~‰}‰}‹}Š}Š}‹}‹~Œ~†~ˆ~ˆ}‰}‰}‰}ˆ}†ƒ€€€‚‚‚‚€‚€‚€‚€€€z³|°ƒ˜‡’ˆ~}“}‰~‚ƒˆ€‰Š~Š}‹}‹|‹}Š~††€†‡ˆ‰|Œ~„Œ…‡‰~‰}‰}‰}ˆ~‡€ˆ‰~‰~‰~‰~‡Šˆ‡€ˆˆ~‰~‰}‰}‰~ˆ~†ƒ€€€‚‚‚‚‚‚‚‚‚‚€ƒ€‹‚‰…“ˆœ‰›{ƒ~„}ƒ}‚„ˆ€ˆŠ~Š~‹}‹}‹}‰~†€†€‡‡‡‡€€Š€ˆ…‡†‡†€…ƒ†€†€†€†€…€€„€„†€‡€‡‚‡€ˆˆ‰~‰~‰}‰}ˆ}‡~ƒ‚‚‚ƒƒƒƒƒ‚‚€€‡†›†±ˆ¸wƒ~„‚|ƒ‚†‚‰€‰~‰~Š}‹}‹}‹}‰…€†‡……€ƒ‚‚‚ƒ‚‚‚‚ƒ„„…„‚‚€‚ƒƒƒ„„€‡€‡‡€‡€‰~‰~ˆ}‰}‰}‰}‡~…ƒ€‚€ƒƒƒƒƒ‚‚…„„¤|ÊyÍpz‚‚}‚}‚‚‚‡€‰~ˆ}Š}‹}‹}‹}‹~‡…€‡„€„€„„ƒƒƒƒ‚ƒ‚„‚‚„…ƒ…€ƒ€„†…ƒ…‚„€…‡ˆ€‡€†ˆ~ˆ~‰~‰~‰}‰}ˆ~ˆ}‡~„‚‚‚€‚‚ƒƒ‚…‹†™žy·h{m}|‚}zŒ~‚ƒ‚‰€‰~Š}Š}Š}‹|‹}Š~‡†€ƒ€„€…€†‡‡~…€ƒ€ƒ‚‚‚‚€…Š}Šˆ€‡€†€†~ˆ}‰~‰~‰~‰~‰~‰~‰‰~‰}ˆ}‰}‰~‡~„ƒ€€‚€‚‚‚‚‚‚‘€ª|j}i{q|ˆ}‡~‚ƒ†ˆ‰~Š}Š}‹}‹|Š}Š~†‚€ƒ€…€††}…~ƒ‚€€€€€‚„‚Š}Žzzw‘x’w”v”v”w”w“w“w“xŒ|‰~‰~‰~‰~‰~‰~‰~†~ƒ‚€‚€‚‚~€’y¿{±|–kj|k|w€€‚~ƒ}ƒ‚‡€Š~Š}Š}Š}Š}‹}‹}‡‚€ƒƒ‚‚‚ƒ‚‚…‰‚‰‰€Š€Šƒ…Œ|“x“x’w’x“y’|’~‘|{‘{‘|‘|{‰~‰~‰~ˆ~ˆ~‰~‰~‰~‡~„‚‚€‚€‚€‚€vÁsÏsÎnnn~t‚ƒ€‚}‚}ƒ…‰Š}‰}Š}Š}‹}‹|‰~ƒ€€‚‚‚ƒƒƒ„‚„ƒƒ‚…‚„‚……‹{‡|ƒ|~€~‚Š‹†~~~ˆ}‹|ˆ‰~ˆ~ˆ}ˆ}ˆ~‰}‰~‡„€‚€‚€‚€‹uÀqÎqÐn„l€i|ny‚‚~‚|‚€‚‡Š~Š~Š~Š}‹|‹}Š}„€‚€ƒ‚‚‚‚‚‚‚‚‚ƒ‚ˆ~Š||z}x}x}€}‹xyˆz{}y~y~z~„}Š{†€‡ˆ~ˆ~ˆ~ˆ~‰}‰~ˆ~‡„€ƒ€€†v¾rÍqÎj‚k~hzi|k}z€‚}}‚ƒ€ˆŠ~Š~Š}Š|Œ}‹}…€‚€‚€ƒ€‚€‚€‚€‚€‚ƒ„€‰}‰}„}€€€€†}‹vŒu‹x€|€ƒ€†|‰{‰}†‰‰~‰~ˆ~ˆ~ˆ~‰}‰~‡…ƒ€€‚„xºsÎsÍon~izgyezs~€ƒ~•|ˆ~‚…€‰Š~Š~Š}‹}Œ}…€€‚„€…€ƒ€‚€ƒ€‚‚€†‰}‡}‰|‹~Š~Š~‹{‹w‹rŒx‹{Š‰Š}Š{Š|Š|ˆˆ€‰ˆ~ˆ~ˆ~ˆ~‰~‰}ˆ~ˆ…ƒ€‚‚}¢z¹z m€j~hygxfyl~{„ˆ~„}‚€‡€Š~Š~Š~Š~‰~…€‚‚‚‚‚ƒ€‡~‰}…}‡|‰{ˆ|‰{‰{Š|‹z‹zŠ{ƒ…†}‰z‰|‰}‰~‡€…€†ˆ~ˆ~ˆ~‰~‰~‰}ˆ}‡~…€ƒ‚‚€€†„f€g~gzhxhxizq€}€‚~‚}‚‚‚‰Š~Š~Š~‰~†€„ƒ‚‚€…€†~‰|Š|ƒ}…|†|„|†|…}†ˆ}‡|„|~{„„}…}ˆ|‰}†…†ˆˆ~ˆ~ˆ~‰~‰}‰|ˆ~‰~†€ƒ‚€‚ih~gzfxgwhxhzu€ƒ€‚}‚‚ˆ€Š~Š}Š~Š~‰~ˆ~‡‡‡€……€…€„€„€…‡||‰}ˆ{ˆ~‡~ˆ}ˆ}ˆ~‰}ˆ|ˆ|‰}ˆ}Š|Œ|Ž{y‹|ƒ€„†ˆ‰‰ˆˆˆ~‰}Š|{Š|ƒ€‚jh~gydxgyjzhzs€ƒ‚~‚~‚„€Š~‹|‹}Š}Š}Š}Š~‹}‹ˆ€‡€†€‡€ƒ‚ˆ|‘x•w”v“w“w•w•w”w•w•v•v–v•v•v—v–u˜tŽz…‡ˆ~‡€†€‡ˆ~‰‰‰~‰|Œ|Š{ƒ€€€„ih~g{fxi{k|i{n}ƒ‚}‚€ˆŒ|Œ}‹}Š}‹}‹}‹|‹}‰‡€‡€‡†ƒ‰}‘x•w”w“v”w“x“w’w”w”w“w’w“w“w’x’w’wŒ{…ˆ‰~ˆƒƒˆ‰‰ˆˆˆ~†~„€€‚‚j€j}j{j|i}i~h~kt€‚€‚}‚ƒ‹}Œ}‹}Š}‹}‹|‹}‹}Š~‰‡€‡€…ƒŠ{Ž{Œ|{yyyxx‘yyxxyyŽy‡{„‡ˆ~ˆ‰~‰€‡€†€ˆ‰~‰‰ˆ‡€…€„‚‚‚lƒkj~j€n„k„h‚kr}‚‚‚„~ƒ‚‡€Š~Š~Š~Š}‹}Œ}Œ}‹}Š~ˆ€‡„€„~Œzˆ~ƒ‚‚Š}ŽzŽzŒyzŽzzŒzŒzŒzzŠ{ƒ~‚ƒˆ}‰~‰~ŠŠˆ€ˆ‰‰‰‰ˆ€†…ƒ‚ƒ‚ƒ‚l‰nˆn‡oˆq†p…m„p…t†|„‚~™}Ž}‚‰Š~‰~‰}Š}‹}Œ}‹}‹~Š‡…€„~‰}ƒ|…|„ƒ€Š|‰}‰}‰~ˆ}ˆ~‡}ˆ}ˆ}ˆ}…}€€€ƒ€‡~‰}‰~‰~‰ˆ‡~ˆ‰‰‰‰ˆ€†€‡††ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÃÇÃÌÏÏÏÏÏÏÏÎÍÎÍÎÍÍÌËËËËËËËËËËËËËËËËÌÌÍÌÌƽ´­¢œ’{qhkujjhljrdfbV\`\[a\S[`]]TPORYX_e^dRTUUUWTSYTPV]^[WTND=8;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËËËËËËËËËËËËÌÌÌÍÎÆ´ž¦—u‚{~s___p|n\]mjg[XYZ^YUTO]f_[ROOPXVZehfOU\_YPPKQQX]aZVOKIA@66632/76ÍÍÍÍÎÎÎÍÎÎÎÎÎÍÌƿÿÇÊËÌÌÌÍÍÍÍÌÌÌÌÌÌËÌÌËÊËËËÌÌËËËÌÌÌÍÍÍÍÍÍÀ£‹‡oomnkkopt|z^a_dcZY[ZZ\RSV\aXYXVSQTRU[fcPPWZTLNMQQ\b__YQGA?<851220.2ÍÍÍÍÍÎÎÍÎÍÍÍÌÌÌÈÀÄÀÉÌËÊËÊÉÊÊÉÉÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÍÍÍÍÍÌÍÌÍË´˜’xkqvxs~~fe`\fX`bb[ZWU^YSYedQPRVWRNKVOXfQOSWYPLROPX`]_VSUNH?<84321--ÍÍÍÌÌÌÌÌÍÌÌËÌÍÎÉ¿ÁÀÊÎÍÍÎÍÌÌÌÌËÊÊÊÊÊÉÉÉÉÊÉÉÉÉÉÉÉÈÈÇÉÊÊÊËËË̼’Ž„}r`j|mcg_^`ViaXWSSLZ`^`om[QOT[SMITRRXRYYWUMOQTZ^WVZQOXOI>?A;520,+ËËÌÌÌÌÌÌÍÌÌÍÍÎÎǹ»»ÈÍÍÍÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌËÊÊËËËËËÉÆÉÊÊËËËÇÆã‰x{qh]konc_`^V\_UQZRRPXedefcfVQVXSQSTRRVQY]_TQSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎźûÅÎÍÍÍÎÎÍÎÎÍÍÍÍÌÍÍÍÌÌËËÈÊÌÍÍÌËÈÄÊÉÊÌÎÌÇÃÁ±™yxpdUSa]Y\``]b_WUQKMTX_abh^ZSOOPNJQQTP^KTSYYVYX]Z[VRPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÂÃÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÉÌÉÅÂÄÁÇÆÇËÌÊ¿¼¬~wqTRPQOVWlpebc[WLCALYQY`_]VSQKLKHKHPKXMQTUVVZ[ZZ]XRNRMUNBG@>>3/.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÍÍÌÍÍÍÎÍÍÍÍÌËÉÇÆÅÈÁ½·Á½Â¿ÄÊÉÄ»¯¥¦‹|rq\VVYXgh[mfe_UUPPVTcTNY\RNVWQKJFNOQYWRPWZUSWWTMSYRPVPWV?5622/----ÍÍÒÖÔÍËÌËÉÉÉÉÊ̾ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÂÁÁ¾Â¼¹ª¾ºÀ¸¾Æ¿½´¥‰‡~p‰ycZ]Z\cjVl]T\SMSS][UMORWQORUWKKKSRRYf\NUWVUTUYPPYWW[[LC=7540.-,--ÍÛéïíáÑÊȾ½ÀÅÉÀ¾ÆÁ¿ÊËËÌËÌÌÌÌÌÌÌÍÍÍÌÍÍÌËÄÁ»²»¹°¡¸³½¶´Á´¹²˜†{zmfbabaRZa[Ue[SY\NSRV[TUSNMMJKLRXVNQOQPbZMX[WQLOXVVSWPLKA7=<:61.-,--ÚíÝ¿Åçç;¶±¯¶¹ÀÁÁÉÆÁÉËËËËËÊÉÊËÊÊÊÊÊÈÈÇÄÄÀ±«§«°¤¨­²®±¸«ªž‚vwrjiR_eZWbWQZh]X^XLOQS[_aTPLLKMPLTWKOTNR[\X`\SOKNXUVVOPWIBB=:;951//-,êÜ—|²íÙ·°«­³²¾ÃÅËÈÄÊÍÌÌËÌÊÆÊËËËËÉÈŽ¾±¡š˜£¥™— °ª««¦¢™‚rliejn^VWT`_UV[YY`VRVSSTT^WPSONSUQSSWQOWPRY^X]WX[V\]RSYWSQ?>F;7776520/.ŸšŽ“””¥©¡§«¬°²ÀÁÄÊÇÂÊÍÍÍËËƾÇÊÊÊÊÆ¿¶°²²¸¬ž–˜›˜•¢´­«¢——zhccTeaTMHOV`XQQ]g__n]^b\TWMONOOQVRTPSYQYNN]^]fZb^hfaROMMJK?=@8854453.02xZ^\[nwyyy•±®³½·ÁÇÆ¿ÈËÌÌËÇ¿¶ÄÊÊÆĸ¦Ÿ›š¢£›š–ˆ‘—’’œ§ª’Ž„uccgY\UOTRPX^^Zgn^PT`NWpn[PNJMLJFILLNNMPWTV]TRWW^g]\WOJLGFFCGA8543344/05µxSUw´Ì;Ÿ{­±µµ±½ÆƸÀÉÈËÊǾ²ÃÊɽ³¦˜œž”—”Š‹““Œ‰ŽŽ—‰ˆ‰ƒ}tsnbXSWZYOW[UT\h\RP]fga_[RRLIIFHGFEFNLS][VZUNYgffU]SMTSHI@?A9754313336<ª™hZ’ÓßäÚ¡n˜±¯¬ª·Åº©¯·³»¹Ç»¯½Ã·©žŸ˜› ““…‚ˆ‰~‰‰Œ…‚ƒ€}xwoaVVSS\XTYTRXgRPO]ecRRZWSLKKIJHEJJIQVZaRXPOjqcd^a\U_YTTH<::864322549?¡‘¦©vt{\h‰Ê­Ÿ ª¬ž Ÿ¡¢¡¨¸®¤£¨š™˜Ÿ—™’–„‚„€ƒ€w‚ˆˆ„||{{toohbWPZg[RURV^ZNX\[]XQQQRSLKPPKNRQFBJNS^QQM]a`^Yei[QT]ZESE;;;8554488:<–p;T ‰>?PAX…ì¾ £«žš›ž¢¨¤¡¡ ’“’›™Ÿ™’–‹Š‡‡ƒ}x…„€€xywtphidXWZQW]YS[Y[YUYYZ\ZUPKUTNLOKADFFA?EGHQKQRX[aW_n\^OZ^[IEC?=<856669;>>gN3;ZV]~T>GoΙ}¶Â³·´¹¼Êž»·³§•œ–›–Ž‡Š‹‰‡„€yƒ~{uvwqqljfW[c`aXQRXV\]aWS\SW^ZVPINLNIADFA?FFCAQGUW[X_``\RbaVWWRLGDE966767;=EFDG>=BUbmTAAIŸTÅãÔÖÓÏÌÈÉÊÈÈÌÏÄ–’“Œ‹Š…Žˆ‰ƒƒ{}‰ywtqsrnhaW[baZQUOQ\ebcUMRQg]aWLQQNJHDIRIBILLFOQ[]XLXdccT_cVPW]QF@@<98767;?JAfeffgsutqhe`r£ÉëæŸxg]YWTURRY_n—ŒŽ‰~‚‡‚—ˆ‰|}„‡|‰‚yzwuttwsbVQYWZVYVMYZ\_edhlpmR[[TMQPGEFPVPONOOIIUZ]ZNM]Z_]\fdV_S@;:<=;::8:=<<;ZYYYYXXY[^ddm·ðéÌWBFGKaUINJIJ=}–†…{€„‚Š—ˆ„ˆz‚‰‰‡~†‚|xuwzuun_X\^TVSSU^WOM_q€sb\]eRTMLQRMMJC?LTQRTRNZccdZSXW][Q\VTUG<99;:78:98<==;JJJIJJJKMKMPgžÖÓ¢JG@D=RRT]VTRST‚zš·|ÁÄzHH?D=AAH@5698>£Á’|}~~y~|~…„~{€y~uptywsnjf[SMJYWZSTW[ZXIW^Z\XX^UKMTOLILOOPTVXVZmdZZZZVYXRVJMJ?764]:7778:ADCE[^lŸo]XQlèåìáiÏÍmGQY]^c__bYUXTOÍüµv~}y|~{}|{‚€}wwomwxzphabSQSDAMUVUXZOKIUX[[UZc^SMLIKOMMJGJMVWX]aZ^WUQVOKMHA<8676R†>789;;?HJHJNuÍzNLHláÜãÁQ·Æ½±´¸º½ÁÂÁÀ¾¼¹¹¸Â½¹wvyyw{z}{|~‚‚‚xwwkintxmg`^OQUHJPTW[TPSPTUZUVWY_\RKDCBDGHEEFJSU\ZUNVRTRTNGEC<96676WzA88;=;@GGH“™¯ä°š—‡qiXEÌ×Õ×ØÙÚÛÝÝÜÛÛ×ÔÓÙÀ}z}vvxvwvzz€€wuuoulmtphg^QVWUXY_\XFEQW_WZXWTU\VNICD@>>>=;@KNV`YRW[PV[OMG;:987773ƒãR17;9;AHIJêêëèêëêëê½aKEB¤ÕÚãçææêëéæìíëææåÞÕšx|yvxyywxy}}|{|ztrvujjrigf^N^k\TSXZYQOWXYa]WUZYTLFD@@?><69?EGJZgWTYWZ[TGCB;67877:5åS/8;=BGGDQïòññóóðäߪ\KGE˜ÛÝèëêé×ËÐáļÒìéäÝÔ¿}}ywvyywz{z{{~xvytlgnffcb[fnbZMOZYUQRZW_YVYcYOIC@??C@?>CHB>K[kj\LPdQFA;;:7;<99>8qÜY2=@NTMelhvˆj[]RIC>:;?GMJB=?9yòl9;4>HIX_k†‹”‹Œz`JJG@mØîìììëëéêìëëëêëìíï·xwxv|ziw}{z|wr}|yqnkkgfbbl^SV]YX]TPSQSPZ^Zd]TUQOHGGBGKFEFNMTilissdakhWPMMPUUWTHFN;tôr768U]_lihSSWaVTRPOD798:bÌïíðïëíððòòñíêððîî¬szyuxwnx|yy{{tywwsrkb__[\gaUNVY`[XSMNWVZd_`XPOUQKD?>IWbVZdind[WY_bdjlloe^jyvpldfiU‚ñ‚VRZuuprkfZXVRTW\\bhT.17XºêÙ¹ÄìͲ³¯®³Ñë¹·Ùæ¡t|yrs|}€}tx{zrvz{rvoc[aeb_a_TWXXSQOOMS\YTXYSMRXSPV^\q‚wblwkYTW[]_agfm}„‚‚„|„‡‡ˆ’°“ˆ‚||rsqg{{{{{|~}}€j-.5W§Þ¾‚ŠæÉ}xvuzÊブÉÚŽvwwvvzz|vu|wrvz{lrmd`^d_\`_YYUUTX]^SRYXOMNS]ZW\gz‚†ŠƒcbqiRPY\[Z]eikt}{z|tt}ŠŽ‰„ˆ‚~mrqjnhvvuuvvwxxyoJISrÃÃÀ¼ÄË©¨¯®µÛÝÒÓÏÁ}yvwyzvtvysryrqsrsikjiighhiomlmkq{ˆ†‰Ž‘Žˆˆ’²˜~{w|{lclmaW[`_][_fegrfcadcsz}„…ƒ„…}{sbgpljfponnooqsuuuuvy{}}‚~‚ƒƒ„‰—•‰‘Š~uvxxwvtrqrw~„ŠŒŽ‘–™šš››š–ˆƒxvusrsuuvy{|‚‰•¥²´¬š‹}sljklmliea]]]ZY]]WY\]]`fheebadonhlhe]iumrvnlkkkkmpqrrrrrstwy|}}~}|zzxvtszˆˆœ Žqppt…”œ¨¬­¬ª¥Ÿ˜—–•”•–šŸ¤¨¦¡Šsruuuttrqqqponpt~‰˜¦­®© ‘rggfda`\ZWYXVVXXWXWVW[XXXXYVTSTPYZcpxrokjjijjkmpppoooopsvxyz{{{{yxvtrqxƒ{‚Ÿ’†ª˜’Œwmeb`bnyra^ZWVZ_fghteikmossttsqommnonnosyƒ•¬¼º¤Štkghggc_][WVSRTSRSV^aTTXZVUVUTSUSYxuqmjiiiikmoopppooopqsuwwxyxxxvutrnoxˆ£WTQONOQW`f€˜…c^W`c_[WPAJkbacdeimpruvutrpllmnponllwŽ©º¼¯•sjiifc`a\VYUUTTXWRRUYSSTYXUUTSwvvsnkihggjkmnopoqrrqqrrsuuvwwvuutssommƒODR\dpyK36200446ZmnnnjZ=Pfbbbbbbdgknrtvwvsqnjilnpolkp{­Á¨Šthhiiifd`_[XTSRSRRSSSYVTVVVuuvvsojgfeehjklmmoooopomnoprttttttusqpvtEFGA98:>GS@agdba``^^_bglprstvvsplhghmnmliix™¼Ì¶tjijjiiheb^ZVSSRRSSUXTUUTuuuuutpjgedfghjlllmmmnmlmmmnpqssttutrq‚ZIT±³³µ´°¦ „pr|PGE:12232\UPljfcabb`__`cglnqrttuvsmhgikmonkir‰¨¿ÁªŠskijjjgfb_[YUTRPVZSTTRpsttuutqmhedddfijjjjklllmlkkmnpqrstutrƒFf72213BG<91[§KflTKObhebbbcfgeb__^\[[\\[\_aehjlnnnmmifcbfiijljfbft—ÅÔ¿•OXÅ|\cgijkmosspppokgca`_`abdffghhfXRQgvU‡yIkZdw\RHHLQSSKRJQZ|Ž{J<9=1T€:Y\:=4Jmieb`_addca`^\\[\]\ZZ[^`bfiklkjkjga_bcfhiiigdarŸ³Ÿ}SKÊÂs[dffhjlnprpopolgd`___abddfgiT6;5jrGY[FiL9680Jlkjgd__`beecb`^]^`^^[ZZ]_cgjklnnnnlgb`aegiiihieez¥mU@½Í²_[`cfijlmrqopqolgc````abcdeiP/66:AB7340039=;5543347569758=<@@8:WwYx®¿Í³c[bfhjjkmnonnomlkeb`___`aacb´hK@636655555443446654444444453;WcQLZeehiihhijkjjjjheb`aehihfc`^^]^][[\]_cfjlmnopqoTRZ_bvdCEWY{¸ÂΠ[_dfgijlnnnoommmjdb`___`abakšqRcmR513333323336L:5433333342Oš¢^N‹»€eefggghijjjjihgb`_bfhiifb_]\\\[[[Z\_bfikmoppcMLHA?]vYFOJN‰¹ÁÊŠX]acfhijlmnnmmmlhda_^^_aabhvi^˜¥ºˆ8022221233565543222211H“ª”žr;~µdcffeffghiiiiijgca_`cfiigd_\\\\\[[ZZ\_bfjlnopnfš“]q||r\RKT—ºÄÃvT]_aeghjlmmmmllkhc``__``cmY9i¡š¨§u<..////1473572//0145C’¨¡¾šf+Dabzefeeffgggiiijigdb`_`cghhd`^]\\[\[\\Z[_dhkmoob£®uwggefXOI]¨¾É¼jZ_adghhjlmnnnmljgb`_^^_ae\)M˜¼³²Ð‘PXCEFEC=>•k7IXTRN^‹¢ìçºÒ«R*>ffqj`aaffefffhhhiiihfca__adhihea]\[[\]][YZ]afjlodŽ©xl[`_kaOLIs·¿Ï­a]acfghillmnnmlkifb`^^_ZQG+<ˆËÀØð奔^]_j¨zSµˆIrke]Y­ÞïìÖà†9,7dfcyª°šmdeeeeggggiiijgdb`_adgjjhe`][[]_^^ZYZ_chlStgUTWlodSLM‰¼ÂÒ—Y`cefhijklmmnmkkid`_]^ZF4,2P¼Ï×ÛïÌ¡lY[\b\ŠëÐ\f]ehf¡·Ï¸•sE/-9gegpªÌÄŽbcdeefffghihjihfc`^_cgijjhc^\[\]__\ZZ\afNgŠb]UTUjlv^OKWž¿ÊË~Zadfhhijklmmmlkkhc`]]\L/.-2NZYy† ^nriV–ðÙrcttqiiLV=201.095002?jacffeddbbcdefffffffeefghgeb_^_bgjjjgd`]\]^_^^\XIVi^W{”upjlmeSVg…»ÇÔ¸g^ceghhijlmmmlkkjda^]?,-02469?GNYfx˜¬¼ÃÐâåÕÐËǨp^PJEA;51/.Ai^_cccbb_`chgcefeefeeefgghhfc`^]afjkjigda^^_^^^WEOVZF•¾¹jknlgYOQPŽÂÈÔ¦]^`bdfgikklmmkkkid`^B,./268M^pÈöïïíììëêéè•jª ««§¡›™•‹‹‰ˆˆ††……‡†‡ŠŒ™vbccabcceeddedcb_]\]`gjkkjhdb^_\?=CMOO\innljjmf\RMM—ÅÈÖ Z_bdefhhhijllkkihfQ....9;P…Z4268b€|vpmmgb`V;Cš…~wqolihecbba`````aabdcj‚gabaabbddccddddb_^]\^dikkheb__\?=AHMQQSmebde`b^SMJe´ÃÎÌsZagfdefghjkkkkjiiS12..:G¡ö¦XPVquQZ_hjjmrssq¤k]^\Z[^`aeip‚|utqpooommml_nt_aaabacccbccdeca`^\[]bhihfea_\?=?FKOPSkgggrlhbRLMLƒ¿ÅÓ¯^]ccbcdghjkjjjjijT19-.0<ŠÈmu‹”’”›¡¨§¦¥žŠ²‹[cv|}}y{~€ˆ†¢™yzˆ|}~~}zwlmm_aaaabbbcccddedba^]\\agiggfc]B>=FHLPSnmgfonqiSLMKW¦ÂÉÔ“_^abceghikjjjjikT0<,--1;FGKORhqjgmosqeZOKKt¸ÁÐÊo[acdegghjjjjjjkU/<-,,0039=>?B>EOBB@D‹’Ro—ËÓÖÚÝÞàÛqZXNMK†æáâÙÖÝßÝvwK‚Àz]`abbbbdeedddddcb`]\[`dhiggI;7GHKNQuxnkqpolooYLKO‘ÀÅÖ¬_`bddfggiijjjjlV-=/-,-/0259::=?BDG^nIB;Q’Nq•äÜÛÛÚÚÜÓfcdf\KzßÞÜÖÏÕÝÝggbUgb```bbbbccddddddcda_^\[]bghiJ66HIKNProjhlmhfhidLJJ^­ÀÉÕ‰ZacdfhhiijjjjgP+<3-.**+,+****)))+*(**&\lWd„æßÞßàßáÀZSPVQMkÛãååâÜÑÀVJvMjb```aabbbbcccccdddb``^\[]bgiG24HKLNOomldhknspmhQJKL|¾ÀÑÄl^ccefhhhijiaYI*;5,CR:2.,--+))**++***,u£ZaVR€‚„ˆ‘‘oUVYz\TX›µŸŒtaQHB:rR`d``a`abbbbbccccdddcba`^[Z]ckF04GLNPPdabffiqtorr_KKZgš¿ÄÕ­bbcdghihfdd]VI,:55/HOGC<65,****+-06:D‡šPgT<5345425BKH]‚]TP?755653=L:_bQda]\^^abccbcccddccdcca`\[[]dE*4GKMPU_gkhmnklnrpkSJLLY§ÀÇÔ]bdfffgeefcXH/835.2321.))))))*.01/.M‡JnS>878:988743@rO<:548:::8?J=FqJa^Š¼À«jabbbbbcdeeccddca_^\[_C&3FDGN‘ztrptpjjljgjdLJJIqº½ÎÊt\accddcccc]O92--/*####%$$$$$%&%%%'\¤rLoL;55465563233;635548Kd_85886nN\_vËãà¥^abbbcccddccdcccb`^[]A$2E@@W½x~rjiigijniaNILKL½ÀÔ­[[_accbbba^XK;4477645677877877885L€˜cQjDB;6@QP?8=623323553?Š™;:953_[Sa_jvon``bbbbbcddcccccdcb`]]A"1B=?MypusttlnfllnkjcXMKH`¶¾ÉÓ~W^`bccbcb_[SMJHIJJJJKKLLMNNMMOLI‹Œ†YXaFRMEPSSLIPN;233445DQuŠpKNPB4LdKa_\_`^khabaaabcccbbcbcdcb``D!.=;;@KntrttlnhhkjknriQJJL”ÃÅÕ¸c`cceecdca_YURQRTTSRRRRSTVXZ[\Z]‘yyQW[LQIDDEFEECJF5334@CMW\jVMJLM@CMJ`R–~g…ycbbcbabaaaacbbbcc`Z@ -997:?ltmmmkkjgjillniSJJJh»ÅÍÖˆ]ccegeedca_\YYYZ[YXWVVWXZ[]agryuypTANLIDFINNKJ@INJD<;HQPMLJID=8>:44I`Lx‘kQX[```aaaa``abbbbb\UPL9!.6.7.,ljlsrmjkmmfhihiUJKKL”ÆÅÓ¸`]^adddedca`_^^^_^\ZXYYZ[`^Uy—´˜qhX7589DY\UJ?;;WM@=:"+5/'#,jpuspsqloiihfirbKKKLKb¹ÉÌÕ–_defghgffeeddccbba_]\[[[\]_cGSbclWXXYXWXXXXXXXWWWXXXWWWWXWWWXXWXZY\P@Ydaa`^Ž±¯ d]____aa`___YL<'.1.--3pwtohhlmmhhjurte^XLLMOŠÉÇÐÉtbefghgffefeeddccca_][[[[\\`R:@anSWWWWWWWWWWWVVWVWWVVVVVVWWWWWWXYXXQL_ca``a^]Y\`^^`__```^^\ZTG40,+*+1hijg`_ahhqzwrsmjncQKMR^³ÇÆÖ©cefhighgffeedddddca^\[[[[[e^U^frQUVVWVVWWWVVVVWWVVVVVVVVWWWWXVRSYZNcccaa`_``_```_`````_^][YVRI:/---/rmllgtoqhsrtss{k\SJJML}ÆÃÎÓ…beefeeffffeddededb_^\ZZZZej—~\s[]\UUWVWXWWXWWWXWWWWWXXXXXXXXSXqƒ{Qlebbaa```_```````a`_^][ZWSQMHDEEE†z€xu{wjhoxvxzse\RJJKJR¢ÆÆ׺e`bbdddefffefeeeeb`^][[ZZYg™…`o‚{hVWWWXYYZZYYZYYXYZ[[[[ZZ[X\²¯•ZV`cbbaa``_____`_`a``_^][YVUSQNNNN†|u~xrqiksojfniba`TJKJ]e~»ÃÊØ\aaccdeefffffdeeba_^\[ZZR`†„pwŸ¹Ã‘gYZ[[\]^^^^^]\]]^^____^_Z|ÉÒæÚkGOacbbaa``____aaaaaa`_]\[ZYWVUUUT}xw~xsoqb_gpyrijeYKKKU\Y™ÂÁÖÀe_acccddefeefdeeba`_][ZZKaznmØêØÖœ`_`acabbbcccdfhhgfeddcbk»çÚÝåBH]cbbaba``___cefdccbb`^]\[ZYYXXX†z‡z†z†z†z‡z‡z‡z†z…z†z‡{‡{†z†z‡y‡y‡y‡y‡y‡yˆyˆyˆyˆy‡y‡y‡z…|ƒ‚|„yƒuƒt„t„s†w†yˆw‡y†z†z†yˆ{‡{†zˆw‡u†y†y†z†{†z…y…y‡z†{„~ƒ€‚ƒ€‚€‚…y†y†y…z†z†z†z†z†z…z†z†z†y…y†y†y†x†x†y†y‡y†y†y†y†y‡y†y…y„{~{‚xƒuƒuƒt‚v„u…v†y†x…x…y…w†yˆ{‡y…y…w…t…w…v…x†z†z…x†w‡y†{ƒ~‚€€‚…z…z…z…z…y†z†z†z†z†y…y†y…y…y†y†y†y†y†y†y…y…y…y…y…z…z†z…y„z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…yƒx„v„v„uƒw…y†y†x‡x†y…zƒ}‚~‚€‚€…z…y…y…z†z†y…y…z†z†z…z†z†z…y…y…y…z…z…z…z…z„{…z„{„{…{…z…z„{ƒ~€€}‚z…y„y„w„w…y…|„{ƒy…x†w‡z‡{…{„z„yƒxƒv„v„x†y‡y‡y‡z‡z…z‚}‚~‚‚€€†x„|ƒ|„{…z„z…z…z†z…z…z†z†z…y…y…y…y…y…y…z…{„|ƒ|ƒ}ƒ}„}„|„|ƒ~‚€~‚{„y„x„w„y…{…{…z„y…z‡z‡{‡{…{„z…z„vƒu„x…y‡x‡y‡z†z…y„{‚~‚‚€€‚€ƒ{€‚ƒ~„|„}„}…|…z…y…z†y…z…z…z…z…z…z…z…{„}‚}‚~‚~‚}‚ƒ‚~‚|ƒy„yƒw„x…z…{‡y†y†{‡|†|…{…z…y…y„u„v…x†z‡{‡z†z†xƒzƒ~‚‚€‚€€‚€†€‡ˆ…„ƒ€ƒ~„|…{…z…z…z…z„|…z†y…z„{„|…}‚€€€€€€€€€€„}…}ƒ~ƒ~ƒ{„z…y„w„w„w„y…z‡z‡|†|„|…{†z…y…x…w„w…w†x†x†z†z‡y„{ƒ~‚~‚€‚€‚€€ˆz‰|‡|„}…~ƒƒ„|…{†{†z…z…zƒ}„{„{„~ƒ€‚~ƒ~‚~‚€€€‚~ƒ}…{…|„|…|„z„y…x…w„x„w„v…y†{‡}†|„|…{…{…y„x…y…x…w†u†v†x…y…y„|ƒ}~€€…sˆt„v„~…~‚€‚…~…}†|†{„}‚€ƒ€}…{†z†{…{„{„{ƒ|ƒ}„}‚~ƒ{…{†{†{…|…z…z…z…x„x„zƒx„x…{†z…{…|„}„}„|„z„w„y„y…v†u†u†w…w„xƒ|‚‚€€€‚‚‡z‰y†yƒ†…}€‚€€‚„‚‚€ƒƒ|…y‡w‰wˆw‡w†x„{„{„y„|„{…y‡y‡x†y†{†y…z…z…x…x…y…y…z†{„{„|…}„}„}ƒ|ƒz„yƒy…x†w†v‡u†v…uƒw{‚~‚€€€‚}‚zyŽy‹{zyƒ~ƒ€ƒƒ€„€…„€‚|†x‡yˆx†x‡v‡v…z„z„x…z…y†x‡x†x…y…z†z†{…{…y…u…w…x…w…z†{…|…}„~ƒ~„}ƒzƒz„y…w…y†w‰u‡u…v‚w|‚€‚~ƒy{z‘z‘{{‰~‚ƒ‰|‰|‰y‹xŠ{‰|‚z‡y†w†v†w‡w†x…y…v†uˆvˆv‡uˆwˆz†{…|†z…z…y„u…u…v…w…y†{…{…}„~„}…{„yƒx„w†w†y†x†w„wƒy‚|~€€€~‚~ƒ†~†††ƒ‡‚†…‚…ˆ}‡~‡}‡}‡}ˆ}„~†y†v†w†w†v†v†u†s‡tˆuˆuˆuˆw‰{†|…}„z„z„x„{„{„y†z†y‡{†|†~„}„}„{„y„x…w‡wˆw‡w„w‚y|‚‚ˆ‚€‚~}„|†„„€„€„~‰Š‚…€„„„ƒƒ€‚€„ƒ~„v‡v†u†u†u‡tˆt‡tˆu‡u‡t‡uˆwˆz†y…z„y„x„{„|…{†z‡{‡yˆ{‡}…~„}„}„}ƒz„x‡xˆx‡x‡zƒ{}€€‚€‚ˆ‚‚}„{†„ƒ‚ƒˆ€†‚ƒ‚€€€‚‚€‚€€€~…v‡t‡u‡t†t‡sˆs‡sˆt‰t‡u†u‡w‡x…v„y…y„y„{„z†y†y‡y‡zˆ|†„ƒƒ‚~ƒz…vˆwˆx‡x†{ƒ~€‚ƒ}„}ƒ€~‚|…x…}‰{‰|Š}ˆ†‚‚‚‚€‚ƒ~„ƒ‚}…u‡t‡r†t‡s‡s‡rˆr†sˆu‡w‡w‡v‡w…y„y…y„zƒ{„y…x‡x†x‡z†|…~„~„~ƒ~„|…w…sˆuˆv…w{€~€}}~‚ƒ}ƒ~ƒ|‚w„rƒ}ƒ|ƒ}…}„ƒ‚~€€‚€‚€€€|…u‡s‡r‡s†sˆsˆtˆt‡tˆv‡w‡x†w†w…y„x…y„zƒ{„y…x‡x†y‡{‡}…|ƒz‚z„xƒv‚q‚pqqn}q|r|pqsw{ƒ{‚w€q€nn‚}ƒ}ƒ}ƒ|ƒ~‚€€€‚€ƒƒ}†{ˆ}†~„…|…u†u†t‡sˆu‡u‡v‡wˆvˆwˆx†y…y…z…zƒzƒ|ƒ|ƒ|ƒz†{‰{†z†x†sni}o}n{r{szs{q{m|h{g{g|f~f~f~g~i€fe|i~j€l„€ƒ€„„„€„„„‚€ƒ€ƒ‚‚‚„€„€„ƒ€‚„~……€„„ƒ‚‚ƒ‚ƒ‚‚€€‚€‚€‚‚‚ƒ…‚…„}„x…v‚ux€yz€yzy~x~w~xx€urq€q€n€mop€m€l€‰~‡‡€ˆ‰~Š}ˆ}ˆ}‰}‰}‰|‰|‰|‰|ˆ}‡~‡ˆ†€ˆ‹~|‘|‘|}~‘~‘}‘{‘|}‡€ƒ€ƒ€‚€‚€ƒ€„€†€††€……ƒ‚€Š„€ƒ€ƒ€‚€‚ƒ‚„‚ƒ‚„‚„‚„„€„ƒ{€v€‰|ˆ~ˆ‡†ˆ‰~Š|Š}Š}Š}‰}Š}Š}ˆ|‰|‰}ˆˆ‰|{Š|‡|‰}Š‰ƒŠˆ~‰}‰}|Š~…„€ƒ€‚€‚‚‚ƒƒ€„†‡†……€‚ƒ„€‰€…‚‚ƒ‚‚„€…€„€…€…€…€†€‰|‰|‰}ˆ††ˆ‰}‰}Š}Š}Š}Š}‰}‰|‰|‰}‰}ˆ}ˆˆ}€|||~{‚|„|„}†zˆyˆ|‡}‰}‰}„€‚ƒƒ€ƒ€ƒ€€€€ƒ€†€‰ˆ~‡…ƒƒ‚ƒ€‚€‚‚€‚ƒƒ€‚€„€„€„€†€‰}‰|‰|Š}‰}‡~†€‡ˆ‰~Š~Š~Š}‰}‰}‰}‰|‰|‰}…~‡|„}}ƒ|…z…{„|ˆz‰xƒ~„€‰}‡|…‚ƒ€‚€‚€‚‚€€€‚…€‡~ˆ~‰ˆ€„‚€ƒ‚€†€‰‚€ƒ€ƒ€†‚Š~Š}‰}‰}Š}‰}‡‡€‡‡~ˆ~‰~‰}‰}ˆ}‰~‰}‰}‰}†~‰|‰~…ƒ†‰x‰x‰wŠwˆy€€ƒˆ~†{„„€ƒ€‚€‚‚‚€€€€‚€„€ˆŠˆ†ƒ‚…‡€‚€‚€‚€‚†ˆ€Š~Š}‰|‹}‹}‰~‡‡€†€†€ˆ~‰~‰}‰~‰~‰~‰~‡~…}‰{‰}…„‰yŠy‰y‰wˆy€ƒ…ˆ~ˆ{„}†‡„€‚€‚€€‚‚‚‚€€€‚‚ƒ€†‡~ˆ~‡€ƒƒ€ƒ€‚€‚€‚‚ƒ……‰„‰‰}Š}‹}Š}‹~‰~†€…€…†€ˆ~‰}‰}‰~‰}ˆ~†„|‡zˆ{„€…~ˆz‰{‰zˆz†}~…†‰}Š{…}†~…€…€†…€ƒ€‚‚ƒƒ‚‚‚‚‚‚€‚ƒ€†‡~†~†€„ƒ‚„ƒ‚„‡‡‡ƒ†€‡‰Š}Š}‹}‹}‰~‡……†ˆ~‰}‰}†~†~…€„~„}…}…~†~†}†}††„~‚ƒ‡~Š{Š|ˆƒ„€†}‰~†ƒ€‚‚ƒ€ƒ‚‚ƒ‚‚‚‚€€€‚‚‚ƒ‚…€‡~ˆ}‡|†}‚€…‰ˆ„|ƒƒƒ‡€‰~‰}Š}Š}‹}‰~‡†€…€‡‰~‰~†€…ˆ€}‹}‰}Š~Š}Š~‰~Š~Š~‹~‹‹~Œ}Ž|‘{}„€…‰~‰~ˆ~‡…ƒ€‚‚‚‚‚‚€‚€‚€‚€‚„€†„‚–‚ˆ…‰ˆ€|†|„‚†€‰‰~Š}Š}‹}‹|Š}‡…€†‡ˆ‡~‡~Œ|{Ž|Œ|Œ|Œ}‹}Š}‹}Š}‹}‹}‹}Œ}|||…~‡~ˆ~‰}‰}‰}ˆ~†ƒ€€€‚‚‚‚€€‚€‚€‚‚ƒ}¯z½ †‘ˆ€}“}‰~‚ƒˆ€‰Š~Š}‹}‹|‹}Š~††€†‡‡‰}|‰…ˆ„‰~‰}Š}‰}‰~ˆ~ˆ~Š}Š}‰~Š}‡€‹‰ƒ‰‡€ˆˆ~‰~‰}‰}‰~ˆ~†ƒ€€€‚‚‚‚‚‚‚‚‚€~˜}£—†šˆ{ƒ~„}ƒ}‚„ˆ€ˆŠ~Š~‹}‹}‹}‰~†€†€‡‡ˆ~Š~‹Ž†ˆ‰~ˆ~ˆ~†‚†€ˆˆˆ‡‚ƒ}‰†‚ˆ€‡‡€ˆˆ‰~‰~‰}‰}ˆ}‡~ƒ‚‚‚ƒƒƒƒƒ‚‚€€„€†‡‡Ÿ‰¥wƒ~„‚|ƒ‚†‚‰€‰~‰~Š}‹}‹}‹}‰…€†‡††ƒ‚ƒƒ„‚ƒ€ƒ€„‚„…„‚ƒ€‚€‚‚‚‚‚„„€†€ˆ‡€‡€‰~‰~ˆ}‰}‰}‰}‡~…ƒ€€ƒ‚ƒƒƒ‚€„€†‚·‚Àpz‚‚}‚}‚‚‚ˆ€‰~ˆ}Š}‹}‹}‹}‹~‡††€…„€„€„ƒ‚„ƒƒ‚‚‚ƒ„„ƒ„‚€ƒƒ„„„…„€‡€ˆ€‡€†€ˆ~ˆ~‰‰~‰}‰}ˆ}ˆ}‡~„‚‚‚€‚‚ƒƒ‚„‚†’€¯xÊh{m}|‚}zŒ~‚ƒ‚‰€‰~Š}Š}Š}‹|‹}Š~‡†€„€ƒ€…€†€†‡€…ƒ€„‚ƒƒƒ„…‡}ˆ~‡‡…€„€†~ˆ~ˆ~ˆˆ~‡~‡‰‰~‰}ˆ}‰}‰~‡~„ƒ€€‚€‚‚‚‚ƒƒ„žƒŒ€Œj}i{q|ˆ}‡~‚ƒ†ˆŠ~Š}Š}‹}‹|Š}Š~‡ƒ€‚€…€†‡}‡}…€‚€€‚‰~Š}Š~ŠŠ~‰}‹{Œ{Œ{ŒyŒyŒzŒ{Š}‰~‰~‰~ˆ~‰~‰~‰~†~ƒ‚€‚€‚€‚€‚‚}¬}¨€ƒkj|k|w€€‚~ƒ}ƒ‚ˆ€Š~Š~Š~Š}‹}‹}‹}‰ƒ€‚ƒ€„ƒ„€„ƒ†‡€ˆ‰ˆˆ‡Žz“x“v”u•v–v–v–v•v–u–u—v“yŠ}‰~‰~ˆ~ˆ~‰~‰~‰~‡~„‚‚€‚€‚€€‚{¬vÈw¿nnn~t‚ƒ€‚}‚}ƒ…‰Š}‰}Š}Š}‹}‹|Š}…€€€‚‚ƒƒƒ‚„‚‡‚†‚ˆ‚‰ˆ†‰}zzŽz||~Ž‚Ž€‹~‹}Š~Š‹}Œ|ˆ‰~ˆ~ˆ}ˆ}ˆ~‰}‰~‡„€‚€‚€€ƒ{©rÌrÑo„l€i|ny‚€‚~‚|‚€‚‡Š~Š~Š~Š}‹|‹}Š}†€€‚€ƒ‚‚‚‚‚‚‚‚‚‚‚‚„‚„„„‹|‡|€|}}|~{‡~Œ}Š}}|}}~{~€~Š|‡‡ˆ~ˆ~ˆ~ˆ~‰}‰~ˆ~‡„€ƒ€‚~{£rËqÏj‚k~hzi|k}z€‚}}‚ƒ€ˆŠ~Š~Š}‹}Œ}‹}†€‚€‚€‚€‚€‚€‚€ƒƒƒ†‹}…|{}x~x~|}ˆy‹xŒy€{x~zy~ˆz‰|‡€‰‰~‰~ˆ~ˆ~ˆ~‰}‰~‡…ƒ€€ƒ}}ŸsÊqÍon~izgyezs~€ƒ~•|ˆ~‚…€‰Š~Š~Š}‹}}‡€ƒ€„ƒ‚€‚€‚‚‚€ƒ‡~Š}‡}†…€…€†~‹y‹sŒtˆz„~†‚‡€ˆ}ˆ{Š|ˆ‰€‰ˆ~ˆ~ˆ~ˆ~‰~‰}ˆ~ˆ…ƒ‚ƒ–vÇuÆm€k~hygxfxl~{„‰~…}‚€‡€Š~Š~Š~Š~‹}‡€ƒ€„€ƒ‚€ƒ€‚€‚€‚€„€‰}ˆ}‡|‹|Š}Š}‹{‹z‹vŒwŒzŠ}‡‡€Š{‰{‰|‰}†€„€†ˆ~ˆ~ˆ~‰~‰~‰}ˆ}‡~…€ƒ€‚†~ž}šf€g~gzhxhxizq€~€‚~‚}‚‚‚‰Š~Š~Š~‰~†€ƒ‚‚€€€‚‚ƒ†~Š}†}…|ˆ{‡{ˆ|ˆ|ˆ}Š|‹{Šz…~|…€‚‡{‡{ˆ|Š|ˆ†€†ˆˆ~ˆ~ˆ~‰~‰}‰|ˆ~ˆ†ƒ‚‚‚ih~gzfxgwhxhzu€ƒ€‚}‚‚ˆ€Š~Š}Š~Š~ˆ†€…€…€„ƒƒƒƒ„€‡~ˆ}‹{†~„}†}„~„~…}„†~‡}…}}ƒ€‚„…‡~‹|†…~†ˆ‰‰ˆ‰ˆ‰~Š}Š}Š|…€‚€jh~gydxgyjzhzs€ƒ‚~‚~‚„€Š~‹|‹}Š}Š}Š~Š~Š~ˆ‡€‡€†€†€ƒ€ƒ€…~{Ž|Œz‹{Š}‹|Œ{Œ|Œ{ŒzzzŽzŽyy’y“w’w†ƒ€‡‡€†€‡ˆ‰‰‰~Š}Œ|{‡}‚€€ih~g{fxi{k|i{n}ƒ‚}‚€ˆŒ|Œ}‹}Š}‹}‹}‹}‹~‰‡€‡€‡…€‚…Žy–v–w•v•v–w–w•w•w–v–v•v•w”w•w•v—u”vˆ†€Šˆƒƒˆ‰‰~‰ˆ~‰~Š|‡~‚€€‚j€j}j{j|i}i~h~kt€‚€‚}‚ƒ‹}Œ}‹}Š}‹}‹}‹|‹}Š~ˆ‡€‡€‡~ƒ€…€Žz“x“x“w’x“x’x‘w’x“x’x‘w’x’x‘x‘xyŽzˆ~‡‰ˆ€‡€†€ˆ‰~‰‰ˆˆ†…€ƒ‚‚lƒkj~j€n„k„h‚kr}‚‚‚„~ƒ‚‡€Š~Š~Š~Š}‹}‹}Œ}‹}Š~ˆ€‡€†€‚€ˆ|z‰~ˆ~{yyxxyyxxxxyŠ{‚€‚‡~‡~‰ŠŠˆˆ‰‰‰‰ˆ€†…ƒ‚‚‚‚l‰nˆn‡oˆq†p…m„p…t†|„‚~™}Ž}‚‰Š~‰~‰}‹}‹}Œ}‹}Š}Šˆ…€‚‰{Š|ƒ}„„€Œ{zŒz‹zŒzŒz‹zŠ{Š{ŒzŒ{…~…ˆ}‰~‰~‰ˆ‡~‰‰‰‰‰ˆ€†€†„‚„‚ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÃÇÃÌÏÏÏÏÏÏÏÎÍÍÍÎÍÍÌËËËËËËËËËËËËËËËËÌÌÍÌËƾµ®¢œ’{qhkuijhlircfbV\`\[a\S[_\]TPNRYX_e^dRTUUUWTSXTPU]^[WTND=8;;521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÍÌÍÌÌÌËËËËËËËËËËËËËËËËÌÌÌÎÎƵž¦—u‚{~s_^_o{n\]ljg[XXZ^YUTO]f_[ROOPXVZehfOU\_YPPKQQX^aZVOKIA@66631/75ÍÍÍÍÎÎÎÍÎÎÎÎÎÌÌƿÿÇÊËÌÌÌÍÍÍÌÌÌÌÌÌÌËÌÌËÊËËËËËËËËÌÌÌÍÍÍÍÍÍÀ£‹‡pomnkknos|y^a_ccZY[ZZ\RSV\aXYXVSQTRU[fcPPWZTLNMQQ\b__YQGA?<852220.2ÍÍÍÍÍÎÎÍÎÍÍÍÌÌÌÈÀÄÀÉÌËÊÊÉÉÉÊÉÉÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÍÍÍÍÍÌÍÌÍË´˜’ykqvxs}~fd_\fX`bb[ZWU^YSYedQPRVWRMKVOXfQOSWYPLQOPX`]_VSUNH?<84221--ÍÍÍÌÌÌÌÌÍÌÌËÌÍÎÈ¿ÁÀÊÎÎÍÍÌÌÌÌÌËÊÊÊÊÊÉÉÉÉÊÉÉÉÉÉÉÉÈÈÇÉÊÊÊËËË̼’Ž„}s_j|lcg_^_ViaXWTSMZ`^`om[QOT[SMITRRXRYYWUMOQTZ^WVZQOXOI>?A;520,+ËËÌÌÌÌÌÌÍÌÌÍÍÎÎǹ»»ÈÎÎÎÎÍÍÍÍÍÍÍÎÍÍÍÍÍÍÌÌËÊÊËËËËËÉÅÉÊÊËËËÇÆâ‰x{qh]knmc_`^V[_UQZRRPXedeecfVQVXSQSTRRVQX\_TQSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎŹ»ÆÎÍÍÍÍÍÍÎÎÍÍÍÍÌÍÍÍÌÌËËÈÉÌÍÍÌËÈÄÊÉÊÌÍÌÇÃÁ±™ywpeUS`\Y\``]b_WUQKMTX_abh^ZSOOPNJRQTP]KSSYYVYX]Y[VRPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÁÅÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÉËÉÅÂÄÁÇÅÆÊÌÊ¿¼¬}wrTRPPNVWlpebc[WLCALXQZ`_]VSQJLKHKHOKWMQTUVVZ[ZZ^XRNRMUNBG@>>3/.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÌÍÌÍÍÍÎÍÍÍÍÌËÉÇÆÅÈÁ½·À½Â¾ÄÉÉÅ»¯¥¦Œ|rp]VUYXfh[mfe_UUPPUTbSNZ\RNVWQKJFNOQYWRPWZUSWWTMSYRPVPVV?5622/----ÍÍÒÖÔÎËÌËÊÉÊÊÊÌþÈÁ¿ÌÍÍÌÌÌÍÍÍÍÍÍÍÌÌÍÍÍÎËÂÁÁ¾Á¼ºª¾ºÀ¸¾Æ¿½´¦Š‡~p‰ycY]Z\cjVl]S\SMSS]\UMOQWQORUWKKKSRRYf\NUWVUTUYPPYWW[[LC=7540.-,--ÍÛéïíâÐÊÈ¿¿ÃÆÉÀ¾ÆÁ¿ÊËËÌËÌÌÌÌÌÌÌÍÍÍÌÌÍÌËÄÁ¼³»¹±¡¸³½µ´Á´¹³™†{ylfaabaRZa[Ud[RY\NSRV[TUSNMMJKLRXVNQOQPbZMX[WQLOXVVSWPLKA7=<:61.-,--ÚíÞÁÀäç̾·²±¶ºÀÀÁÉÅÁÉËËËËËÊÉÉÊÊÊÊÊÊÈÈÇÄÄÀ²¬§«°¥©­²­°¸¬ªŸ‚vwsjiQ_eYWbWQZg]X]XKOQS[_aTPLLKMPLTWKOTNR[\X`\SOKNXUVVOPWIBB=:;:51//-,èÜ›ƒ„¶îÕ·°­­³²¾ÃÅËÈÄÊÍÌÌËÌÊÆÊËËËÊÉÈƽ¾±¡›˜£¥š— ¯ª««¦¢™ƒsliejm\VWT`_UV\YX_VRVSRTT^WQSONSUQSSWQOWPRY^W]WX[V\]RSYWSQ?>G:7677520/.•“‹Žœš¨®±²ÀÁÄÊÇÂÊÍÍÍËËƾÇÊÊÊÊÆ¿¸°³²¸¬ž–˜š˜•¢´­«¡——zhccTf`RLHOV`XQQ\g__n]^b\TVMOOOOQVRTPSYQYNN]]]fZb]gf`ROMMJK@<@8854453./2„dX[Ui|}}y„¯¯³¼¶ÁÇÆ¿ÈËÌÌÊÇ¿¶ÄÊÊÆĸ¦Ÿ›š¢£›š–ˆ‘—’’œ§ª’ŽŽ„uccgY\SPSQPX^^Zgm^PT`NWon[QNJMLJFILLNNMPWTV]TRWW^g]\WOJLGEECHA8543344/05½–\Pn®ÎÕʶ€˜²´µ±¼ÆƸÁÉÈËÊǾ²ÃÊɽ³¦˜œž”—”Š‹Œ““ŒˆŽŽ—‰ˆ‰ƒ}tsnbXSWZYOW[UT[h[RP]ega^[RRLIIFIGFEFNLR][VZUNYgfgU\SMTSHIA?A9754313337<š¥~ayÄ×àÚºu~°¯¬ª·Å»©±¸µ»¹Ç¼¯½Ã¶©Ÿ˜› ““…‚ˆ‰~‰‰Œ…‚ƒ€}xwoaVVSS\XTYTRXgRPO]dcRRZWSLKKIJHEJJIQUZaRXPOjqcd^a\U_YSTG<::864322549?‘£ŠŸ¯|bm_]s­©¢¡ª­Ÿ Ÿ¡¡ §·®¤¢§™™˜Ÿ˜™ž’–„‚„€ƒ€w‚ˆˆ„||{{toohbWPZg[RURV^YNX\[]XQQQRSLKPPKNRQFBJNS^QQM]a_^Ydi[QS\ZFRE;;;8554488:<§…@9ƒœPALKFj²°ž£¬ ™š¢§¤£¡Ÿœ‘‘‘›™ ™’—ŒŠ‡‡ƒ}x…„€€xywtphidXWZQW]YS[Y[YUYYZ\ZUOKUTNLOKACFFA?EGHQKRRX[aW_n\^OZ][IEC?=<855669;>>oU:5LXQ€dD:\‡ªkŵ¹¹ÀÃÎËÉÆ¿µ¥–›–›•‡Š‹‰‡„€yƒ~{uvwqqljfW[c`aXQRXV\]aWS\SW^ZVPINLNIADE@?FFCAQFTWZW_``[RbaUWWRLGCE965667;=EFAJDB@R`l_JBFe¯Y›èÔÌÆÀ¼´°¯®°¹Áï““Œ‹Š…Žˆ‰‚ƒ{}‰ywuqsrnhaW[baZQUOQ\ebcUMRQg]aWLQQNJHDIQIBILLFOP[]XLXdccS_cUPW]QE?@<98767;?JAighihotsrmheh‡Èåî«^TNKKMHHFIOPy˜Š~ƒ‡‚—ˆˆ|}„‡|‰‚yzwuttwsbVQYWZVYVNYY\_edhlplR[[TMQQFDFOVPONOOIIUY\ZNM]Z_]\fdV_S@:9<=;::8:=<<;WUVVVUTUWY^`fˆâêÚsAHGI\cMQPJKCLœ‰„z€„‚Š—ˆƒ‰z‰ˆ‡}†‚|xuwytuo_X\^TVSSU_WOM_q€sb[\eRTMLQRMMJC?JTQRTRNZccdZRWW][Q\VTUG;89;:78:98<==;JIJHIIIKLLKL[‚ÅѽZJ@<@W[_[E;=@<‰†€€ƒŠ}‚†‡‚}~}usutqqre[][NPZXY\ST^bf_\T[baSUMKKRLGA=ANSV_ZZ_fl_]]W\TXSSVVT@:886697767:??>=TUWebXUTRx–†Ç†¤ÍŸCI>H>=;>A95684d¦ÔÁƒ}~‚~y~}~…ƒ|€z~vptxwsnjf[RMJWVZSTW[ZXHV^Z\XX^UKMTOLILNOPTVXVZmdZZYYVYXQVJMJ?763]:7778:ADCEXZ`˜ˆ\XRRÃõæ÷Šœã™T_flnwwuwywxrmw¸îáƒ|}z|~{}|{‚€}xxolvxzphabSPRD@MUVUXZOLIUX[[UZc^SMLIKOMMJGJMVWX]`Z^WVPVOKLHA<8676R†>789;;?HJHJO_À¥TOKQ½æ×âi‚ÄÉÀ¿ÂÄÆÈÌÍÌÊËÉÇÇËÆ¥–zvyyw{z}{|~‚‚‚xwwlintxmg`^OQUGJPUW[TPSPTUZUVWY_\RKDCBDGHEEFJSU\ZUNVRTRSNGEC<96676WzA88;=;@GGH— ¨ØÆŸŸ˜ŒfdBsÇÕØÙÙÛÛÝÞßßßÞÜÚØÙ×–w|vvxvwvzz€~wuuoulmtphg^QVWUWX_\WFEQW_WZXWTU\VNICD@>>>=;@KNV`YRW[PV\OLG;:987673ƒãR17;9;BHIJììíêéìììîÙ~NH>sÏØàèççëîîçêïîéèéãÛº||yvxyywxy}}|{|zusvujjrigf^N^k\TSXZYQOWXYa]WUZYTLFD@@?><69?EHJ[hWTYXY[UHCA;6777795åS/8;=BGHDQíóóòóóóèáÈrMIBkÑÜåëèìÓ¹¹ÙƬ·áëãß×Ò{}ywvyywz{z{{~ywytlgnffcb[fnbZMOZXUQRZW_YVYcYOHC@??C@?>CHB=K[ki\LPdRFA;;:7;;98=8qÜY2=@NTMelguˆi[]RIC>:;?FMIB=?9yòl9;4=HIX_k‚‹£‘ŒŽ‘mPKIAP³ïììëììììëìììëìëìî܇uxv|ziw}{z|wr}|yqnkkgfbcm^SV]YW\TPSQSPZ^Zd]TUQOHGGBGKFEFNMTilisscakhWPMMPUUVTIIP:tôs768T]^kihUTVdYTTRQK;9:6L¡îíïðìëïïïïðïëîðíïÓ}yyuxwpy|yy{{tywwsrkb__Z\g`UNVY`ZXSMNWVZd_`XPOUQKD?>IVaVZdind[WY_adjmloe]iyvplgjjU‚ñ‚VRYtuprjfYXWSTUZ\_ga9/3GŽæܶ£Ýܧ š˜š¯èÆ–ÆÜÈv|yrs|~}tx{zrvz{tvoc[aeb_a_TWXXSQOOMS[YTXYSMQXSPV^]r‚wblwkYTW[]_agfm}„‚‚„|€„‡†ˆ’°“ˆ{|qsqg{{{{{{~~}~}A+/J}ÝÍ¥‡Ê雀€}y©ð«‹ÁÖ²qwwvvzz|uu|wrvz{oqmd`_d_\`_YYUVTX]_SRYXOMNS]ZW\gy†ŠƒcbqiRPY\[Z]eikt}{z|ts}‹ŒŽ‰„ˆ‚~mrpjngvvvuvuvxwwwXGJh{·ÇÈÉÅÉÀ¸½½¿ÔÞØ×ÑÒ”uwwyzvtvytsztsvtupkmjkijkkronnlq{ˆŽ†‰Ž‘Žˆˆ’²˜~€zw|{lblmaW[`_][_fegrfcadcsz}„†ƒ„…}{sbgokjfponnnoprttuuuxz}}}‚}}€ƒ‡••‡}tvxxwvvtspoorqqqtuswvvtstuuvvuvvusrstuvy{|‚‰•¥²´¬™‹|rkkklmliea]]]ZY\^XY\]]`fheebadonhlie^iumrunlkkkkloqqrrrqqtwy{}~}~|zzxvtsyˆ‰œŸ‹ppptvx{‚Œ”›¡¤¦¨©¨­¯®«©¨¦¤ —’ˆsruuuutrqqqponpt~Š™§®­¨ ‘rggfda`]ZWYYVVXXWXWVW[XXXXYVTSUPZ[cqysoljiiijlmopponoooquxyz{{{{yxwurqxƒz…Ÿ”tŠ¥¥ª¨£š•Œƒ|yvrqqqpu{ƒŒ”•–ƒgikmpssstsqomlmonnosz…•¬¼º¤Štkghggc_][XUSRTSRSV^aTTXZVUVUTSUSYxvrmjiiiikmnopppooopqsuwwyyxxwvutrnoz‰’“¥‡uog_XUU^dt–¡‚ig_YVVWVPSwjacdeimpruvutqoklmnponllwŽ©º»¯›ƒsjiifc``[VYUUTTXWRRUYSSTZXUUTRwvvsokigggikmnonoqqrqqprstuvwwvuutssnmm|†LILNRY`YHKP`aSHDLmpnieU?Kibbbabbdgkortvwvspmjilnpolkp|ª¿Ã¬Œthgiiifd`_[XTSRSRRSSSYVTVVVuuvvtpkgfeehjklmmnoooonmnoprttttttusqqm}_=XkxƒŒ”|A?6/,298BXXX[_bS=Vgda```^^_bglprrtvusokhghmnmkiht–ºË¶uihjjiigeb^YVSSRRRSUXTUUUuuuuutqkhedfghiklllmmnmlmlmnpqrsttusqrq€FIv¤¨ª®¦ŒzZHIILIHC81014CXCikgcabb`__`cglnprstvvsnhhjkmonlip‡¨¿Âª‰skijjigfb_[YUTQPUZSTTSpsttuttqmhedcdehijjjkllklkkkmnoqrstutrztCUa¶¸¸¶²®§¦ÄŒ|’†EG=696356lK[omjfcb```a__aeilprsuvvtplggjlmllihq‹¯Å¦ƒojjkkhedd`_\YWTTTTSloqqrrrqokgb``acdffghiijklkiiijlnprrrq‚\YW8s~uj]^VgœŠv‘{FD:TcW<41ajJikmnjfc``a`^]]`dhkoqrstssqkedfiklliegw¡Éͳrnkiggfefedca]WR]jlnopqqrqplfba``abddfhiijkkjhhhjkmopqr…JuI013325ZVIBFKJGHA>byaI4FhˆE`egknnkfbbbba_]]_ehlnprrsttqicbehkkkjgev¡Çзsjlkifdeefee`_™ijlnorstsrpmgcba`abbdfhhijjjijihijloqs|Lƒ:25=EE:EJIR[QIIGIH\gK4^ ¤VUecehmonkifdefda_`afiloprsssroidcfijkjiffxÄϺ’tllkjhffdec|›fikmnprsssrpmiebbaaabdghijjjkkifhiklmvm^121N’LAJGT_QEJFKGPwkH823yzJigecchlmmkhfdeeca_`cfjlooprrsspkecfhjjjjger”¹ÍÀŸ~mlkjjhec{€`dgjlmpqrrrqomifba_`aaegiiijjjkjgfijix^vo165VŒwC<7201ENFJK^g|W74.Y•Hhkjgdccehlkhdaaba`^]^`dhkmpprsrrqlfcdgijkkhfk§ÈʯvlkkjdŒk]`cfikmoppqqonlhca___`adgggiijlkigfhdzT‰\7F=gš¢PB70014?9:Duž˜]=31BœZ^mlmjfcbbdfhgeb`^]^][\]^behlmopqqpniedehjkllkgfv•µÆÅ®vkm›V„[adhjknoqqpqpolhda`__`befghhiijjhgfbzS”OGLGNw}kOLD:9997654]š‹JK836vRnmjhhfdcbbdfgeb`^^\[[\\[\_aehjlnnnmlhebbfhijlifbft—ÅÓÄŸƒ›KÄy\cgijkmorspppokgca`_`acdefggggijgfavZ˜MLSKq|ŒTFGEEDFFEDAX†™xE>>83ˆ„En]?>Bcieca`adedb`^\\[\]\ZZ[]`bfijlkjjjfa_bcfhiiigdarœÇР‰MÊÁr[dffhjmnorpopolhd`___abcdfffgRC>R}dV“Q`|HkOFFLRY\^TNQIV`zZD:;62[I;XC<=0Zljgd__`ceecb`^]^`^][YZ]`cgiklnnnnlfa_aegiiiiidbx’¢zU½Í³_Z`cfijlmrqopqolgc````abcdefc98;AhN=DDKIECBB99;6FWPLO?466HJ.4BSdkkkkkkifa`cfhihgebaaaa`]]^`behkmoqrppolfbadgjjhgy„©[Sz³ÃÎX^cfghjlmnpponnkhca``abceef_OEI49cC<:998766776666667777777888:@F531//1Ljaeedddcbcddfeeffffeefghgeb_^_bgjjjgd`]\]^_^\Z[[JX{`YPMojlmeSVgŒ½ÇÔµe^cdghhijlmmmlkkida^]R2,--0359=?FQTYdt„•¯Ì³Ÿync[TNGB>84021Qj^efefecdhkhbeeeefeeefgghhfc`^]`gjkjigd`^^^^^_]VJUj_Yv‡jknlgXOQT–ÃÈÔ [_`bcfgijklmmkkkhd_^Q/-.3567@DQJZÍmmljjmf[RLN˜ÄÈÕžZ_bdefghhijllkkihe]5-.-.27;CN[m…†æèæãÝÜÛÒÌȵYZy£ ®°­¨¥£œ—•””‘‘Ž‘‘“–•˜mabaabbddccddddb_^]\_dikjheb^\\W==BKPOblebdd`b]SMJf¶ÃÎÊqZagedefghjkkkkjih`8/..3=G”˜C,-0?Z]^YTSPIFB=4K¤œ‰†~zvsomjkjihhhhfffghigv‚c`aabacccbccdeca`^\[]bhihfe`^\Y>=@HORPkgggqlhaQLML…¿ÅÓ¬]]bcbcdghjkjjjjihc95/.1@nðÚejuupt‡‰’’”’‹ Ÿkdc_[Y[\]^`dlfcdehjigghfeZrr_aaaabbbcccddedba^]\\agiggfc^Z?=?FLPPnmgfonqhRLMKW§ÂÉÓ‘_^abcdggikjjjjiie7:1-.4O¤šm\krz~~‚†Œ‘Œ‡s~³~Wcotvxx{|ƒ˜º¥Žˆ‡€€ul‹¤e`aabbbcddddeedc`_]\]afhijgc\A>=FHKOhqjhnospdYNKKv¸ÁÐÉn[accegghjjjjjjjf6;2,,.28JI8;@J66773000001¦ggw„‡ˆ‹ŽŒk@><5N’¦§©§§§¤’_b´{]`abbbbdeedddddcb`]\[`dhigfbF>;FGKOuwnkqpolooYLKP‘ÀÅÖ«^_bddfggijjjjjkh5:3,,.015:>?@@>CFFEbVGGCR›ŠNyœ¾ÅÌÓ×ÚÝÑfUMEGL›çáàÚÙßáÖruLje```bbbbccddddddcda_^\[]bghggH;8GHJNrojhlmhfhidLKJ^­ÀÉÕ‰Zacdfhhiijjjjkh596-,+-//1355698:>EZK<93`•pTr´ãÝÜÜÜÛÞÈ_ief[K‹ãÝÜÖÏÔÝØ_rW^h```aabbbbcccccdddb``^[Z]cghjK57HIKNomldhknspmhQJKL|¾ÀÑÅl^ccefhiijjjkh_287/-1*)*+*))))))))'(*))r›]a]­çßÞßßÞà¹UWRXPL}âàááááÞÐSWnQk``a`abbbbbccccdddcba_][Z\chkJ24HJLMdabffiqtorr_KKZhš¿ÄÕ¬bbcdghiiiijfZT15822XN=50./.*)*)****+,6‰šPlIw¤££¨¯´³}UUXnWRb½Î¿±ˆt`@@wNeb]\^^abbbbcccddccdcba_\[Z\biJ04GLMO_gkhmnklnrpkRIMMY§ÀÇÔ]adfffgedd`XS267613IHD@660*)*)+.14;KPPd‚ZVRLH>:621?NntrstlnhhjjlnriQJJL•ÃÄÕ¸c`cdedbbb_\VQLIIJJJJJKKLMNNOPQQPSŠ„OcVHPCDS\VKENC5232345?PƒtFKG:3V_N`a^_gˆybbbcbabaaaabccbbba_`D .>:;AltmmmkkjgjillnhRJJJh¼ÅÍÖ‡]cdffddb`^[XTQRTSSSRQQQSUVXZ]]ZpvyIfPMQHGFHHGGIQA0224;=PXdvXNMSK:GVLaWm~tbZaa`aaaa``abbccbbcb_[@ -:;89;LPOPPOOJB>E>89L`KŠ yY\_``_aaa`abbbcbbc]UPL9!-5.5.jmoqmlmoqpkfjkgTLKLJd¹ÅÌÖŠ^ddfffedcaa`__^__]ZXXYY[\_\b™­…niL5=>>GYZZMD@?A:520,+ÌÌÌÌÌÌÌÍÍÍÍÎÎÎÎȹ»ºÉÍÍÍÎÎÍÍÍÍÍÍÍÍÎÎÎÍÌËÌÌÊÊËËËËËÉÆÉÊËËËËÇÆ£Šyzph^lood_a_W\^URZRSPXfeefcgVQVXSQSTRRVQX]`USTQYZ\XWSSOQPI>?=5550.2ÌÌÍÍÎÍÎÎÎÎÎÍÍÎÎźļÆÎÍÍÍÎÎÍÎÎÎÍÍÍÌÍÍÍÌÌÌÌÉÊÌÍÍÍÌÉÅÊÊÊÍÎÌÇÄÁ³›yvpeVTb^Y]``]b_WUQKMUY_aci^ZSOOPNJRQTP^KSSZZVYX^Z[WRPSNQIEC>@;530/3ÍÍÎÎÎÍÍÍÎÎÍÍÍÎΞÌÁÅÍÌÌÍÍÍÍÌÌÍÍÍÍÌÍÍÍÍÌÌÌÉÉÉËÊÆÂÃÁÇÆÇÌÍÊ¿¼¯‘~wsURPQOWXloebc[XMCAMYRZ``^VSQJLKHKHOKXNQTUVVZ[Z[_XRNRMUNBG@>>40.--ÍÍÍÍÍÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÍÍÍÍÍÎÎÍÍÍÍÍËÊÈÆÅȾ·¿½Â¿ÄÊÉÄ»¯¥§~sp\VVYXgh^nff`VVRQUTdTNZ]SNVWQKJGNOQYVQOWYUSWXUOTXRPVQVV?46220.---ÍÍÑÕÔÍËÌËÊÊÊËÊ̾ÇÁÁÌÍÎÎÍÍÍÍÍÍÍÍÎÍÍÍÎÎÎËÃÁÁ¾Á¼º«¾¹À·¾Æ¿¾´¦Š‰q‰zdZ][\djUl]T[SNST]]VMOQXQOSUWLKKSRRYf[NVXVUUUYQPYWW\\MC=7540.-,--ÍÙçïíßÏÊÉÃÀÀÃÆÉÀ¾ÆÁÀÊËËËËÌÌÌÌÌÌÌÍÍÍÌÍÍÍÌÅÁ¼³»¹²¡¹´¾µ¶Áµ»´š‡|zlgabcaSZb[Td[RY\NRRV\TUSNNNKKLRXUOQOQQbZMY[WQLNXWVSWPLKA7=<:61.-,--Ùìß½ÆéæÌÀ¸³²·ºÀÁÂÉÆÂÊÌËËËËÊÉÊËÊÊÊÊÊÈÈÈÄÅÁ²¬§¬°¦Ÿª®µ­²¸­¬¡„wwsjhQ_eZWcXQ\h]X^XLOQS[`aTPLLLMPLTWKOTNR[\X`\TOLNYUVVOPWJBB=:;:51//-,ä㦊ÂîÓ¹³®­³²¾ÃÅËÈÄËÍÍÍÌËÊÆËÌËËÊÉÈÆÂþ¾²¡›˜£¥š—Ÿ­««¬§£™„sljgjn]WYU`_UV\[X_WSVSSTT_XPSONSUQSSWQOVPSY_X]WY[V\^SSYWSP@>G:7677520/.’Š‹‹—•’š¢¬±²ÁÂÄÊÇÁÊÍÍÍËËÆ¿ÈËÊËËÇÀ¸±³³¸«Ÿ•Ž™›˜“Ÿ±­«¡™™yiddVe`RMHOV`XRQ[g__n^^b]TWNOOOOQVQTPSZRYON]]\fZb^hfaROMMJK@=A8854453./2‡rV]V^y~~}x ²³½¸ÂÇÆ¿ÈÌÌÌÊÇ¿¶ÄÊÊÇĺ¨Ÿœ›¢£›œ–‰•˜’“©«œ’Ž„udcgY\TOSQPY_^Zhn_PTaNWon[QOKMMKGILLNMMPWTW]TRWW_e][VOJLGFECHA8543344/05¼¬pR^—ÈÔÒÅ”€²µ¶²¾ÆƸÁÉÈËÊǾ³ÃÊÊ¿µ§™Ÿ•˜•‹ƒ–“Š—Š‰Šƒ}usobXSW[YOX\UT[g[RQ]fga^[RRMJJGIHGEFNLR]ZVZVNZfffU^TMTRHI@?A9754313336qYF3A`WsxI9MdŸx½¸»ÃÊÎÓÒÒÑÐÍǽ­š–›•‡Ž‹ŒŠˆ…‚€zƒ~}uvwqrmjfX[c`bXRSXW]]aXS]SX^ZVQINLNIBEE@?EFDAQGUW[X```\RbaUWWRLGDF:65667;=EF?HGB@I]ihQCEJxg×Ú·¬§¡š™›™›£ª°›Ž’Œ‹Š…ŽŽ‰Šƒ‚‚{}ŠzvtqsroibWZba[RUOQ\ebdVNRRi]aWMQQOJHDIRICILLFPQ\]XLZdcdT_cUOW]QE?@<98767;@LBjigihkttroigdr²ÛïË`IGEENFEDCEFN“”Š~ƒ‡‚—‰ˆ~~„‡}Šz{wuuuwsbVQYWZVYVNY[\^ffilolQ[[TNRQGDFPVQPNOPIJUY]ZNN]Z`]]feV_S@::==;::8:==>;WVVVVVTTVX[`cpÀìå¡BFFFTjWRTMJK:VžŠ€ƒŠ}‚‚‡‡~‚~vtutrqrf[][OOYYZ\ST^bf^\T\baSVMKKRLGA=BOSV^ZZ`gm`]]W\TXTSWWUA:887797777:??>=RUW\iXVSR_™²©Ð¼UA@GD<<;@=7786<Åç y~‚~y~|€†„|€{~wqtxxsnjf\SMJWVZSTW[ZWHW_Z\XX_WKMTOLILOOPTUXV[ndZZYZVYXRWKMJ?763^:7888:AECEV[^z¢e\UMˆöäôÈjÙ¿vnx|{ˆ…†Šˆ†~{¢Õï¤z}z|~{}||€ƒ}xxpmvxzph`bSPSD@MVVUXZOKIVY[[UZd^SMLIKOMMJGJMVXY]`Z^WURVOKMHA<8676R†?789;;?HJHILQ•ËePKHŠíÛê©W±ÆÍÆÊËËÌÏÑÒÑÑÎÌËËÓ¬}xzyw{z~{}‚‚‚ywxlhmtxmga^OQUHJQUX[UPSPTUZUVWY`\RKDCCEHIFEGJRU\[UMVRTSSNGFC=96686UyA88;=;AGGH’™ŸÃÜ£œ—†opSQ·ÔØÛÜÝÞÞßààãáàÝÛÚÜ¿|{uwxvxuzz€~wvvoummuphg^QVWUXX_\XGEQW^WZXWTV\VOIBE@>??=;@KNVaZRW[RV[PLG<:987772†âQ16;9;BHIJëìíëéëëëëä£UJCMºØÜæééêïïëèíîìéêçÜÔ•zwvxzyvxz~}}{}zurvvjksjgf^N^k\UTYZYRPVXYb^WU[ZUMGD?@?><68?EIK[hWUZXZ\UGDA:68877:4„äQ/8;=BGHDQëñòñòóòïæß—TLFL·ßáëèê൭ÄÕ¦¥ËíäàÝ׸{|zwvyzxz|y{z€~ywxtmhnffcb[gpd\NQ[XURSZW_YU[eXOICA@?CA?>CIC>K[kj\LPeRGA;;:7;;99>7tÚW2=CRQJU^]jŒmQVXKA;666;?AA>@:;?GMIB=?9yòm9;4=HIX_k|ˆŒœœŒŒ’Šw[KKFC…æíììììíìëìííìììììí§txv}{jy~|y|ws~}yrokkhgccm`TV]XW\TPSQTQ[^Zd]UVROIGGBGJFEFNMTiljssdalgUPMMPUSTRHIP:tôs769U\^kiiUVXehZ[XWSA:<9>xßîíïíëëìíìííëìíìëê›vzuxwry}zy{{uzwxtqjb`_[[hbUOWY`ZXSMNXVZd_`XPNUQLE?>IWbW[dind[WY_aeklkof\ixunjfikU‚ñ‚UT\vvprjfVVTSQQTXX^^A.3=hÔÞ“¼ì®ŒŒ•ÑÜ…¤ÍÝyyrt}~}tx{zswz|xvnbZafcaa_TWXYSQPOMT\YTXYSNQXSQV^^sƒyclxm[TW\^_ahfm~„‚‚„|€„ˆˆˆ”²”‰ƒ|}rsqh{zzzzz{~|}‚X*/=cÃÚÀ”­ðÍ•‰†„•äו´ÑÕyuvvw{{}uu|uqwzzrtjd`_e`\`_YYUVSU\^SRYXOMNT_[W[gz‚‡Œ„dbrjSQY\\[]fiku}{|tt}‹ŒŽ‘‰…‰‚nqplohvvvuvwwyyxyb@BSržÉÇËÈÈÌÍÉÉËÒÙÕÒÓܽouwyzuuvytt{tsxvvsqlmmklkmronolqyˆŽ‡ŠŽ‘‰Š•´˜€~{x||lammbW[`_][_gehrfdbdctz~„†„„„~{ragpmjgponnopqrsttutvy}~}~€}~€€‚„ˆ“’…‘‘€tvxxwwvtsrrtrrqponjiiiiijnpqsuwxwtstuuvxz{‰•¤²´«™‹}qkjkkmlifa]\]ZY]]WY\]]`fhefcadoogljf^itnswomllkmnpqrrrqqrtxy{}~~}{zyxvutzˆ‰› Šppqtxurqpsv{€…ŠŽŠ‘‘Œ‰†‚{uorqruvuttrqqqponpuŠ˜§®­§žrggfda_\ZWZXVWXXWYWWW[XWWYYWTTUOYZcpysoljijjlmoppoonnopsvyz{|{{{yxwusqy‚z†Ÿ”urŠ•¢©¬®¬ª¨§£¡¡¡  £¦§©«¤¢‰ijlnqstttsqomlmonnos{†˜­½¹£Štjfhggc_^\XVSRTSRSW_aUUWZVVUTRRURYxvrmjiiijlnnnpppoopprsuwxyyxxxwutrop{Š“‘Š©Ÿœ—Œ‚xqkfcgnla_^[\ajquw‡xacdfjnpsuvutqoklmnponllxª¼¾¯š‚rjiifcaa[VYUUTTYWSSUZSTTYXUUTSwvvsokhhhhjkmooopqrrrrqrtuuvwxwwvussomm}¨Œa\WRPOPYdjˆ¬¦vfb``[XWRDKpeabbbcehmprtvwvspmjiknppmlq”°Äê‹shhijifd`_[XTSSSRRSTTYVTVVWuuvvtpkgfefhjllmnnoppponoopstuuuuuutqqpn…VDNS\emqJ8:::8764UrsrplX>Nhdbaa`^_`chmprrtvusokhfjnomkhiyš½Ì¶Žsjijkijheb^YVTSRRSRTXTVUUuuuuutqkheefgijlllmmnonmmmmoqrsttuvtrrqww=Rt„Ž—› pSG7008@BGIDDGKPP>_kgcbbb`__adhmoqrttvvslhhjkmonkjrŠª¿Àª‰rkjkjjgfb_[YVURPU[STSSqstuvvtqmhedddgijjkklmmllkklnoprstuutsq‚]E[«®°²²©Ÿ‰naabOHE;34642PUJmljfcb```a``bfjmprsuvutqlggilmmlihsŽ²ÆÂ¥„pkkkkheddaa]ZWTTSSSloqqssrqolgb`abcefhhijjkllkjjjlmoqrssss„Fa?Œ¸±¬¥ž–ˆ»»€¯dC=7AG?54BuCclmnjfc``a`_]^aeiloqsttssqkedgjklmjfgz¥Éγrnkiggfeeedca^WTUjmnopqqrqplfc``aacefgiijklkjiiijkmopqqyyGp3BYPI?MWIcuortRC6GlgY842xXTghknnkfbbbbb`]]`fimoqrrsttpiccfiklkjgew¢ÈÑ·sjkkifeeeffea][ijloqrstsrpmgcbaaacdfghhikkkkjiijkmoqp}d]k024464AMINULDDHA;Ist^>9oyGedehmonkifdefda_`bfjmoprstsroidcfikkjifgxÄϺ‘rllkjhgfeefeefikmoqssssrpmiecbbbbdfghijkkkkjghjkmonSx[/27Q^M6m’–Jbhecchlmmkhfdeeca_`dgkmopqrsttpkecgijjkkger—ºÎ½œ}mlljjiffc{`dgkmopqrrrqomjfba`aabegiijjjjkjhgikllM‹H026|¤|@GD=:9>GHAMEYog@6-5`Xmjgdccehlkhdaaba`_^^aejlnpprtssqkfdehjklkiflƒªÊÊ°vmklkhdx]`cgilnopqqqoolhca___`adghhiijlkjgfhikvS;69Cx‹•g;62334UwXJQ{„…E521x€Lmlliecbbdfhgeb`^^_]\]^`dgjlnopqqqnifdfijlklkhgx—¶ÇÄ­wonhŒ„[adhjlnoqrqqpolhda`__`begghhijjjiffemld„9EHF€‘£uHE72327C7;F£„P:20]šLhmmnlgdcbbdfgfb`_^\\\\\\\_bfijmnnnmlifcbfhijljfbfu˜ÅÓÄžuo›Äy\cgijlnpstqppokgca`_`aceffggggijihbqa{yCLKH[„oPJJF???=887G~œmIF62I§W_nf\]eheca`adddba_]\\]][ZZ[^abfiklkjkjfb_bdfhiiigcasŸÉÖÁ‘˜ÊÁr[degiknoprpopolgd`___abddfgghgb^_esUsH\Qg}gGFEGIIHKHJN}”X?;>4FžMTkE98@hjgd__`cffdc`_]_`^^\Z[]`cgjkmnoonlfa`bfhijiiidcy¡À¤‰½Í³_Z`cgiklmrqopqolgc``_`abcdffhW;:9~uGwmLyUJQ@@JS\bb^OPDJPYviMD>93:I3BF8=66fljieb``cgihfdaaaaaa_\\^behknopqqoomhcbdgjkkjihecw¡x­ÀΟZ]behijlnopqqonlid````bcdffiH2<8OQA777:35>A><@?<;9<95965DIGIK869;G>2118Ojkkkkifaacfhjigebaaaa`^]^`bfiknprrqqpmgbcehjiiiijx¬j|´ÃÎX^cfgijlnoqpoonlhca``bcdefgT3...4TL:9766778554555556777556789:<@M@0EXemkkkkkkjhdaadhkkifca````^]]^`cfjlnoprqpolgbbehiij~†¬\Q»ÈÈsYacfhjkmoppoonmlhc````acdde^T\V/VS<::997766666666667667777889:=G?Jjjjiijjjkjkkiebaadhiigca`^^^]^]]^`dgjlnpppqoplfbd_[\„‰MXx¯¿Í³c[bfhjklnoonnpnmkfb``_`aabcdg“¹[MK9988777666666666666666666789:?AHeeghhhhijkjkkjheb`beiihfd`^]]^]\\\]_dgjlnoppqqphTW]aa‡‹CX[}¸ÂΟZ_dfhjkmmnnoonnmkdb`___`aaabŒ¸`H@6777655555444534655454444553:GLK€ƒdfggghijjjjkiigb``cfhjifb_]\\\[[\[]_bfjlnoqqqlPWbqw†uAOJN‰¹ÁʈX]adfhjklmnnnnmlhda_^^_aba_~¦fQLH5144433332343D<54333333432`„XW–ccefefghiiiijkjgda_`cfijhe_\\\[\\\[[]_cgklnpqpSS[bewcE\RKT—ºÄÂtT]_aefhjlmnnnmlkhda`__`aa`kˆkU‡——W02322222333A;4433323323e´Ÿ§yHQb‚zdfeefghggijjjjhec``adghid`^\[\\]\\[[\_eikmoqaLLF@B]reXOI`«¾Ê¹f[_adghhjlmooonlkhc`__^``cj\If§žº§P1101112444026421100-/\•›¨•‹4Bfrk_`afffgffghiijihgca_`behiheb^\\\\^][ZZ]bgkmnojgšŠXp€jaPLJv¸ÀÏ©_]acfghjllnoonmkjfc`_^__blP)aš¬ª¢£W286433138WO669<=?D[bÂѯɸu/5`e|«±˜kdefeefghhijjjgdb`_aehjjie`]\[^__^[Z[`eikmlf©­tyhlobRLN‹¼ÂÒ”Y_ceghikklnnnmlkie`_]^_Z[H(JŸË´ÎíÄ€TVY`|`@°>bum_Yi§¾ôðÖ×µU-.Yhq®ÌÄŽbdeeeffggiiijihgd`^`dhijjhc_][]_`_][Z]bgiia•§vm]jlv^NKX ¾ÊË|Zbdfhijklmmnmlkkhc_]^_WE6,;vÓÐåëî·˜b\[`}dÁªSp`c``´ßçÕ½¼|1..Whebeefcdeeeffffhhghhhhfd`__behjiifb^\]]^_^\Z[^adLŠœtgUqoldWOKg°ÁÍÂp^cehiijlmmmmmlkjfb_^][H1-0=žž®Ó¿­ƒ`ghWKŽõèpZnqvp ¦Ž‰gA?6/.2[hffeddcccddfeefggfefghhgeb_^_bgjkjhea_]]^__]ZZ[]Joˆc_UpklmeSVhŒ½ÆÔµe^ceghijjmmmmmllieb_]\H.--1034MPKzuTiqocŠ×σlji_W`N9?=741.25_hefffecdgkhbeeffffefgggghfc`^]`gjlkjhda``____][YJZ|\XPjknlgXOQT–ÃÈÔ¤\_acdghiklmmmllkje`^\?-../149?CGNX^cs†™¦ÅͲ§–‡wi^UKE@;74126ch`fggfcn¾ÚЋbdeeeeeefhhhhheb`^^`djllkjfca_```_]WIVn[XmlrpnmdQLJ[¨ÄÌÓŠY`bcfhhiiklllllkhc`^>+/1457:>CITfƒÃÔÜßäìîéçèìËxeWVPF@94107eh]effeee‡°«—edddedccegggggfdb`_]^bilkkjhea``_^\TENZXG”msqstwgTNJn¼ÆÑÂh]acffghijkllllkifb`B+/1059@GP\l“ŽÚìéîíëëìììòÀˆ¦‰ygP?4-**7fh^hjjjjjfb`acbbcddccddeffffedb`]\]ahjkkkidb_^\ZQ@HMSB‘mnlkjlf\RLN™ÄÈÕ›Z`bdfghhijklllkjhebG,/1.38@HVh€®¢Ëíêïðïðñññø½Œ¢k^SSYdmzŠœ¢ž§ªªª©ª«ª¦£ Ÿˆfbcbbbceeddeeedc`^]\_ejkkheb_][ZR>BEPJ]mfcdd`b^SMJf¶ÃÎÊrZahfefghijllkkkjgeK,.1.047BGNXll«áÚÙÒÐÉý¹¼}EH^ˆ•¦­¯±°­©£¢ žœ›œž ¢  Žbaaabbcdccddeedba^\[]chihgea_\[S<>ALPOkhhgqlhbRLML†ÀÅÔ­^^cccefhhjkkkkkkihN./0/<\« ˜™‘Š…‚|ywvusrooqpqqssstŠ{^`aaacdcdddddeeca_]\\bhihggc^\V=<@IPRnmggpnqiSLMKX¨ÂÊÓ’_^bdefhhikjkkkkjiP13..9I¸ö­sqz•¡…‰”™šž¢žš­œrplfa``]]\Z[ZYZZ\\]]^^^]]\Šže`aaccceeeeeeeedb`^\^afiijhd^X>FJKuxnkqpolooYKKP’ÀÅÖ¬^`ddegghjkkkkkjlP1:,--128>GA48750,//014Žgdyƒ…ƒ€|~sWfWE`‡‰ŽŽŒ‹|~\dl_``bcccddeeddeeedb`^\[]bghhhdC<:FGJrpjhlmhfhidLKI_®ÁÉÖ‰ZbdffgijjjkkjjmP.;,,,/037<>?A@BGHIVnNIIF^¤R}¢¬´»ÃÇ͸_D<;>Q¯àÝÛÕØÛÙÀtkOma``abcccccdddcefeca`^[Z]dhhjiF98HHKpmldhkntpmiQJKK~¾ÀÑÅl_cdfghjjkkkjklM.;/,+,./012335778:FP;63.n—gX{ÇÞÞÞÞÞÝá»Zh`^VL¡åÞÜÖÐÙÝÓ[yNfe_`abcccccddddeeedcb`^[[]dijkG57IIKdbbgekqtpsr]KKZh›¿ÄÕ¬bcdehhijjkkjjbF,<2,61****(())())()(**)/‚”UgdÉàÛÛÛÜÛà¬T^ZgQJ“ãÝÜØØÝáÑMfbWk]\^_bcdccdddeeededcb`]\[^chlE33HJL_hkinojkosplSJMM[©ÀÇÔŽ]befgiiihii_WB+:5.CYF;5110,*******+--B•LoK°ÏÍÎÒÕ×Ó…RRWbSPzßâàÙ̸¤‡@IvMc¼À§hbcccccdefededdcb`^\[]diD13GLMytrpuqkimkgjeLJJIrº½ÎÉt\bdeeffddd^WC-:56+>FCA754.***+-/39=?Z¡|Ln@HMORUZ^`VUTpŠVUWwycTF;5;D:qS[yÍãàŸ_bbbbbcefeddddccba_\[^dA,2FMOx~qkjigijoi`NILKL’½ÀÔ­[\abccddefdXC18241/*+,)'('((()+,,++-i¨iRjD:757753(2DGJqusttlnflmnkjcWLKHa¶¾ÉÓ~W^accdcbcb\M90,-0)##"$%%%$$%%$&&&%2~ŸX[fF9758:876321Bh<54459;>>7"/D?AksmnmkkjgjillngQJJIi¼ÅÎÖ†]cdfedcba]YRMJIIIIIJKKLLMMMOOOOOV‡‹~KjOEE:?P[QCAE823223456P’–{>D=63`[Qab`b`^aa`abcbabbbbccccbba_`?!.>;>mjlsrmjlmmfhihhTJKKM•ÆÅÓ·_]_bcccca_\XTRQRSSRQRQRRSVWY[\]Z‚™}rImGNTHKKMKIJQQ9122359NWr„`NOTD5M]La]^ihd```_bcbbcccbcdccbbc_[> -;<9jmqrmlmpqpkgkkgTLKKJd¹ÅÌÕ‰^ddfefecc`^[ZZZZ[YWVUUVWY[[``^]svlEbKONDDDEEEDAIB864:LKPXZ[ROHHL@AEM`O£‚a—¿½”^bccccbcccbcb\UPL8 -623lklntutrtljlmkqfPJKKM“ÇÉÕ¾icdfghfddba`_____^\ZXYZZ[^bahx‰‚wqiBAHGDFKQTNLH?RNJB;=JQPMKGD@:7<869LbOg„_I†äðè˜`babaacccba_RIJJ8 -7/NjpvspsqmojljfiraJJKLKb¸ÉÌÕ•_defggfedcbaaaaa`_]ZYZZ\\^Qf‡Ÿª}giG478?M]WOB<:DXEB==AHOTUUNKLMNPTVXZheXeJT^²°¢e^_``abbb]XUQLJJ9+62Rqvuohilmmhhkurue^XLKMOŠÉÇÐÈsbefgigfeddccccbaa_\[ZZZZ\UPZm‚krYTRSUVSRTTUVXWXZYZ[[Z[[[\\Z[[[[\^]d`JE_b`^]X[`____`aaa_^__XMJ> *50(hijga`biiqywrtnjncRKMR^´ÇÅÖ¦befhigggfeeddcccca_]\ZZZZ\ZSP_Œfs`\[[ZZYZZYZZZZYYYYYYYYXYXYXXXYXY[Z`N#,4.+smllivpqisruts|~j\SKKLKÇÂÎÒ‚beefeeffffeeddddb`^][ZYY[^b[@cRs]XXXXXWXXWWXXXWXXXWWWWWWWXWWWXXXZZ[QBYda```_````aaaba`_^]]\YQ@-0/--†{~€xv{wjhoxwx{se\RKJKJS£ÇÇØ·c`bcddddffeeddddcb`^][YYZ\^a@;Iu]UWWWWVWXXWWVVVWWWVVVVVUVWWWWXXWXWWQP_caaa`_____``aaaa_^]\[YUOB4+))†|t~xrqiksmifoibaaTKKK]e¼ÃË؉\aaccdeeeeeeeeedca_]\ZZYZ`j^sXv`RUUVVVUWWVVWVVWWWVVWWVVVWXXXXVPU_`Ngbcbba``____aaaaaa`_^][ZWTPG>;;€}xw~xsprb^gpzrijeYLKKW^ZšÂÁ×¼c_acbcddddeefeeeca_^\[ZYZ^g‡ Xkg^a[UWVVWXWWXWWXXWWWWWXWWYZ[YXVbz†Thebbbba``___cefdccbb`_][YWSQNLL†z‡z†z†z†z‡z‡z‡z‡z…z†z‡{‡{‡z†z†z‡z‡z‡y‡y‡yˆyˆyˆyˆy‡y‡y†z…{ƒ‚|„yƒuƒt„t„s†w†y‡w†y†z†z†yˆ{‡{†z‡w‡u†y†y†z†{†z…y…y‡z†|„~ƒ€‚ƒ€‚€‚…y†z†z…z†z†z†z†z†z†z†z†z†y†y†y†y†y†y†y†y‡y†y†y†y†y‡y†y…y„{{‚xƒuƒtƒt‚v„u…v†y†x…x…y…w†yˆ{‡y†y…w…u…w…v…x…z†z…w†v†y…{ƒ~‚€‚€‚…z…z…z…z†z†z†z†z†z†y…y†y…y…y†y†y†y†y†y†y†y…y…y…y…z…z†z…y„z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x…w†z‡{†z…y„x„w„v„uƒw…y†y†w‡x†y…zƒ|‚~‚€‚€…z…y…y…z†z†y…y…z†z†z…z†z†z…y…y…y…z…z…z…z…z…{…z„{„{„|…z…z„{ƒ~€}‚z…y„x„w„w…y…|„{ƒy…x†w‡z‡{…{„z„yƒxƒv„v„x…y‡y‰yˆz‡z…z‚|‚~‚‚€€†x„|ƒ|…z…z…z…z…z†z…z…z…y…z…y…y…y…y…y…y…z…{„|ƒ|ƒ}ƒ}ƒ}„|…|ƒ}‚€€~‚{„y„x„w„y…{…z…y„z…z‡z‡{‡{…{…z…z„vƒu„x…y‡x‡yˆz‡z…y„{‚~‚‚€€‚€ƒ{‚ƒ~„|„}„}…|…z…z…z…y…z…z…z…z…z…z…z…{„}‚}‚~‚‚~‚}‚ƒ€‚~‚|ƒy„yƒw„y…z…y‡y†y†{‡|†|…{…z…y…y„u„v…x†z‡{‡z†z†xƒzƒ~‚‚€‚€€‚€†‡ˆ……€„ƒ~„|…{…z…z…z…z…|†{†y…z„{„|…}‚€€€€€€€€€€‚„}…}ƒ~ƒ~ƒ{„z…y„w„w„w„x…z‡z‡|†|„|…{†z…y…x„w…v…w†x†x†y†z‡y„{ƒ~‚~‚€‚€‚€€‡z‰{ˆ{„}„~„ƒ„|…{†{†z…z…zƒ}„{…{…~ƒ€‚‚}ƒ~‚~‚€€‚~ƒ}…{…{„}„|„z„y…x…w„x„w„v…y†{‡}†|„|…{…{…y„x…y…x†w†u†u…x†y†y„|ƒ}~€€„vˆs†t‚|ƒ†}ƒƒ…~…}†|‡{„}‚€ƒ}…{†z†{…{„{„|ƒ}ƒ}„}‚~ƒ{…{‡z‡{…|…z…z„z„x…x„zƒx„x…{†z…|…{…|„}ƒ|„z„w„y„y…v†u†u†w…w„xƒ|‚‚€€€‚ƒ†|Šyˆxƒ…‡|ƒ€‚ƒ€„€‚€‚€ƒ|…y‡w‰wˆwˆw†x…{„{„z„|„{…y‡y‡x†y†{†y…z„z„y…x…y…y…z†{„{„|…|…}„~ƒ|ƒz„yƒy…x†w†v‡u†v…uƒw{‚~‚€€€‚~‚y‘yyŒ{Œ{x‰}ƒ‚„€…€……~††€ƒy‡xˆx†xˆv‡v…z„z„x…z…y†x‡x†x…y…z†z†{…{…y…u…w†x…w…z†{…|…}„~ƒ~ƒ}ƒzƒz„y…w…y†w‰u‡u…v‚w|‚€‚‚yz{z{}|ƒˆ|Š|‰zŠxŠzŠ|†~|†y‡w†v†w‡x†x…x…u†vˆvˆv‡uˆwˆz†{…|†z…z…y…u…u…v…w…y‡{…{…}„~„}…{„yƒx…w†w†y†x†w„wƒy‚{~€€€~‚~ƒ†…€…‚…€„„ˆ„ƒƒ‚‡~‡†~†~†~‡~†~€„{†v†v…w†v†v†u†r‡tˆuˆuˆuˆw‰{†|…}„z„z„x…{„{„z†y†y‡{†|†~„~…}„{„y„x†v‡wˆw‡w„w‚y|‚‚‡‚€‚}„|†„„„€ƒ‡}Š‡‚‚ƒƒƒ€ƒ‚€ƒƒ€‚‚x†v‡v†u†u‡t‡t‡sˆu‡u‡t‡uˆwˆz†y…z„y„x„z„|…{†z‡{‡yˆ{‡}…~„~„~„}ƒ{„x‡xˆx‡x‡zƒ{~€€‚€‚ˆ‚€‚}„{†ƒƒ‚†ˆ„‚‚€€€€€‚~‚~ƒ€€‚y†t‡t‡t†t‡sˆr‡sˆt‰t‡u‡u‡v‡x…u„x…y„x„{„z†y†y‡yˆzˆ|†„ƒƒ‚~ƒ{„w†wˆx‡x†{ƒ~€ƒ}„}ƒ€}‚|…x…}ˆ|‰{‰}ˆ‡€„‚‚~‚ƒ~ƒƒ€‚y‡t‡r†t‡s‡s‡rˆr†sˆuˆwˆv‡u†w†y„y…y„zƒ{„y…x‡x†x‡z†|…„„~ƒ~„|…w…tˆu‡v…w{€~€}}~~‚}ƒ~ƒ|‚w„rƒ}ƒ}ƒ}„}„~ƒ‚€‚€‚€‚€‚€€‚x‡t‡r†s‡sˆsˆtˆt‡tˆv‡w‡x†w†w…y„x…y„zƒz„y…x‡x†y‡{‡|…}ƒz‚z„xƒv‚q‚p‚ppn|q|r|p~rsv€{ƒ{‚wq€nm‚}ƒ}ƒ}„|„}ƒ€€€‚ƒ€„…}ˆ|‡~„~…~…w†t†t‡sˆu‡t‡t‡uˆu‡w‡x…y…x…y„zƒzƒ|ƒ}ƒ|ƒz†{‰{†z†x†s‚nh}n}n{r{tzr{o{m{h{g|g|f~d~d~e~h€fe|g~ilƒ€ƒ€ƒƒƒ€ƒ€„~„ƒ€ƒ€ƒƒ‚‚‚‚ƒƒ€ƒƒ€‚‚}„|„|…}…}…~„~ƒƒ€ƒ‚€€‚€‚€‚‚‚ƒ…‚…„}…x…uux€yz€yyx~x~wxx€uqq€p€m€lno€m€l€ˆ~‡~†ˆ‰~‰}ˆ}ˆ}‰}‰}‰}‰|‰|‰}‰}ˆ‡‡†ˆ‡€ˆ€ˆ‰~‹~‹~Š~‹~‹}‹~Š~ˆ~‡€„€ƒ€‚€ƒƒ€„€†€…†€…„ƒ‚€Š„€ƒ€ƒ€ƒ‚ƒƒ‚ƒ‚„‚„‚ƒ„€ƒƒ€{v€‰|ˆ}ˆ‡‡ˆ‰~Š}Š}Š}Š}‰}Š}Š|‰|‰|Š}ˆˆˆ‹~{{‘{{|ŽŽŽ}Ž{{|ˆ€„€ƒ€ƒ€‚‚‚‚ƒ„†~‡††…€‚ƒ„€‰€†‚‚‚‚‚„€…€„€†€†€…€†€‰|‰{‰}ˆ~†‡ˆ‰~‰~Š}Š}Š}Š}‰}‰|Š|Š|‰}‰}ˆ~Œ~‰|„||ƒ}†~†‡‡}‡|‡}‡}‹|‰~„ƒƒ€ƒ€ƒ€€‚€ƒ€‡€‰ˆ~‡…ƒƒ‚ƒ€‚€‚€‚€ƒ€ƒ€‚€„€…€…€†€‰}‰|‰|Š|‰}ˆ~†€‡ˆ‰~Š~Š~Š~‰}‰}‰}Š|‰|‰}ˆ~‡~ƒ|}|}|€{ƒzƒ|„|‡x‰z‡~‰}‰|‡}ƒ‚ƒ€‚€‚€‚‚€€€ƒ…€‡~ˆ~‰ˆ€„‚€ƒ‚€†€ˆ‚€€€‚‚ƒŠ~Š}‰}‰}Š}‰}†€‡€‡‡~‰~‰~‰}‰}ˆ}‰~‰}‰}‰}‡~†}ˆ|†~…‡z‡x†z‡z‰x‡{†‰|…}„ƒ€‚€‚‚‚€€€‚€…€ˆŠ~ˆ†€ƒ‚‚…†€‚€‚€‚€ˆ€Š~Š}‰|‹}‹|‰~‡‡€…€‡‰~‰~‰}‰~‰~‰~‰~‰~‡~‡|Š|†‚…‡{ŠxŠx‹xŠx…|~ƒƒ‚ˆ|…|…‡„€€‚€€‚‚‚‚‚€€€‚„€‡‡}ˆ‡ƒ‚€‚€‚€‚€‚€ƒ€„‚„‰‰}Š}‹}Š}‹~‰~†€…€†‡€‰~Š}‰~‰~‰~‰~ˆ~…~†{Š{…€€„‡|ŠyŠz‰zŠy…~}‡ƒ‚Š|‡|…}‰~ˆ~†…€ƒ€‚ƒƒƒ‚‚‚‚ƒ‚‚ƒ€†‡~‡~†€„‚‚ƒ‚‚€†€Œƒ…ƒ†€‡‰Š}Š}‹}‹}‰~‡……‡ˆ~‰~‰~‰~ˆ}‡~„~„{†{†}…‡|ˆzˆ{ˆ|‡|ƒ€|‡‚‚Š|‰|†}†……‡~†„€‚‚ƒ€ƒ‚‚ƒƒ‚‚‚€€‚€€‚‚ƒ‚…€‡~ˆ}ˆ}†‚„†|„ƒƒ‡€‰~‰}Š}‹}‹~‰~‡…€…€‡‰~‰}‡……€‡†}…~†~‡~‡~†~‡†……„‚†€‰}‹||‡ƒ„ˆ~ˆ~ˆ†ƒ€‚‚‚‚‚‚€‚‚‚€…€†‡‡~‡}…~…ˆ|†|„‚†€‰‰~Š}Š}‹}‹|Š}ˆ…€†‡~ˆ~ˆ~†€‡}{Œ}Œ}‹}‹}Š~‹~‹}‹}Œ~Œ~Œ}}Ž|’z‰}„€‡~‰}‰|‰}ˆ}‡„€‚€‚‚‚‚€‚€‚€‚€‚€‚‚„„Žƒ•………‹}“}‰~‚ƒ‡€‰‰~‹}‹}‹|‹}Š~‡††‡ˆ~‡~Š|Ž}|Œ|‹|‹}Š}Š}Š}Š}‹}‹}Š}Š}‹}Œ}}Œ~†‡ˆ~‰~‰}‰}‰~ˆ~†„€‚‚‚ƒƒ‚ƒ|°y½€Ÿ†’|ƒ„}ƒ}‚„ˆ€ˆŠ~Š~‹}‹}‹}‰~††€‡€‡ˆ‹|Œ‚…‡‚‰}Š~‰~‰~‡‡ˆ‰~‰~‰~‰~ˆ€ŒŠˆ†€ˆˆ‰~‰~‰}‰}‰}‡ƒ€‚‚‚‚ƒƒ€ƒ€ƒƒ‚‚€€€‚}š|¥€–†›wƒ„ƒ|ƒ~‚†‰‰~‰~Š}‹}‹}‹}‰~…€†€‡‡ˆ…ƒŽ†‡€ˆ‡~‡~†…ƒ†€‡‡‡„€…€„‡€‡€‡‡€‡€‰~‰~ˆ}‰}‰}‰}‡~…ƒ€€ƒ‚‚‚ƒ‚€‚…€†‡‡Ÿpz‚‚}‚}‚‚‚ˆ‰}‰}Š}‹}‹}‹}‹~ˆ†€†€†€…€…€‚‚„ƒƒ‚‚„„„…„‚€ƒƒƒ…€…€‡‡€†ˆ~ˆ~‰‰~‰}‰}‰~ˆ}‡~„‚‚‚‚€‚‚ƒƒ‚‚…€†Žƒ¶h{m}|‚}{Œ~‚ƒ‚‰‰~Š}Š}Š}‹|‹}Š~‡†€…„€„€„‚„„ƒƒƒ‚‚„ƒƒ……‚„€‚€„…‚…ƒ…‚„€…€‡ˆ~ˆ~ˆ~‡‡‰~‰}‰}ˆ}‰}‰~‡~…ƒ€€‚€‚‚‚‚‚‚‚„‚†“³k}h{q|‰}ˆ~‚ƒ†ˆŠ~Š}Š}‹}‹|‹}‹~‡…€ƒ„€†€‡‡‡~„€ƒ€ƒƒƒ‚ƒ€†‰}ˆ‡†€„„€‡~ˆˆˆ†…€‡‰~‰}‰~‰}ˆ~‰~ˆ~†~ƒ‚€‚€‚‚‚ƒƒ…žƒŒk€j|k|v€€‚~ƒ}ƒƒˆ€Š~Š~Š~Š}Š|Š|‹}‰…€ƒ††~†}…~ƒ‚€€€€€€€€„‡~ˆ~ˆ‡€‡‰}Š|Š|Š|Š|Š|‹|‰~‰~‰~‰~ˆ}‰~‰~‰~‰~‡„‚‚€‚€‚€€€‚€ƒ‚~«~¡nnm~s‚ƒ€‚}‚~ƒ…‰Š}Š}Š}Š|‹|‹}‹}†€‚ƒ€ƒ‚ƒ‚„‚‚†ˆŠ€Š€ˆ‰„‡}z‘y‘w’v”v•v•v•v•t–t—u–uyˆ‰ˆ~‰}ˆ}ˆ~ˆ}ˆ}‡~„€‚€‚€‚€‚{¬vÅo„m€i|ny‚€‚~‚|ƒ€‚‡Š~Š~Š}Š|‹}‹}‹|ˆ~€€€‚‚ƒƒ‚ƒ‚…‚ˆƒ‡‚†‚‡‡ƒŠ}“y“x‘x’z’z‘}‘‘}}{{Ž|{Š~‡ˆ~‰~ˆ~ˆ~ˆ~ˆ}ˆ}‡~…€‚€€‚€{«sËk‚k~hzi|k}z€€‚}}‚ƒ€ˆŠ~Š}Š}‹}‹}‹|‰~‚€€ƒƒ‚‚‚‚‚‚ƒƒ‚„‚ƒ‚ƒ…‹{‡|ƒ|€}~€ˆ€‹ˆ~€~~}~‚~‹|ˆ~‰‰‰~ˆ~ˆ~ˆ~‰}‰~ˆ…€‚€€‚~{¥sÌonizgyezs~€ƒ~•|ˆ~‚…€‰~Š}Š}Š}‹}Œ}‰~ƒ€‚€ƒ€‚€‚€‚€‚€‚ƒƒƒ‡~Š|‚|z}x~x}}}‰yŒx‹y~|x~z~y€~‰zŠ}‰€‰ˆ‰~ˆ~ˆ~‰~‰}‰~ˆ†ƒ€ƒ}}ŸtÊm€k~hygxfyl}{„Š~„}‚€‡‹~Š~‹}‹}|‹}‚€€‚€„„‚€‚€‚€‚‚ƒ€„€ˆ}‰}…}‚€€€€€„}Šx‹tŒv„{‚ƒ€†}ˆzŠ|‡ƒ€†€ˆˆ~ˆ~‰~‰~‰}ˆ}‡~…€ƒ€ƒ~€–uÈf€g~gzhxhxizq€~€‚~‚|‚ƒ‚ŠŠ~‹}Š~Š}Š~ƒ€€‚„€„€€‚€ƒ€‚€ƒ€…‰}‡}ˆ|‹}Š~Š~‹|‹y‹s‹w‹zŠ}‰‰Š{‰|Š|ˆ…€†ˆˆ~ˆ~‰~‰~‰}ˆ|ˆ~ˆ†€ƒ‚€ˆ{¦ih~gzfxgwhxhzu€‚€‚}‚‚ˆ€Š~Š}Š~‰~ˆ„€‚‚€‚€‚€‚‚ƒ†~Š}†}‡|‰{ˆ|‰|‰{‰{Šz‹zŠz†…ƒˆz‰{‰|Š}‰ˆˆ‰‰~‰}‰~‰~‰~‰~‰~ˆ~†ƒ‚€jh~gydxgyizhzs~‚‚~‚~‚„€Š~‹|‹}Š~ˆ‡€…€…€„€„ƒƒƒ€„€…†‰|Š|ƒ}„|†|…|†|†}…‡}ˆ|…|€€{„‚ƒ}„}‡~Š|‡~‡‡€†€‡‰~‰}‰~‰~‰~‰~‹|Š}…€‚€ih~g{fxi{k|i{n~|‚‚}‚€ˆŒ|Œ}Š}Š}Š}Š~Š}‰ˆ‡€†€††„…‡|Œ|‡~‡|‡~††~‡}…†~‡}‡}‡}ˆ~ˆ|‹}Œ|Ž{z†ƒ†ƒ€ƒˆ‰~‰~‰~‰}Š}Œ|Ž{†}€j€j}j{j|i}i~h~kt€‚€‚}‚ƒ‹}Œ}‹}Š}Š}‹}‹}‹}Š~‰‡‡€‡ƒ‚‡}y”x“w’x’w”w”x“x”w”w•v•v–v•u–u–u—u”vˆ†€‰‡€†€ˆ~‰~‰~‰‰‰~Š}‹{‡}‚€€lƒki~i€n„k„h‚kr}‚‚‚„}ƒ‚‡€Š~‹~Š~‹}‹}‹}‹}‹}Š~ˆ~†‡‡‚‡~‘x–v•w”w•v•w•w”w“w”w”w“x“x”w“x“w”v’xˆ~‡€ŠŠˆˆ‰‰~‰‰ˆ€‡€†…€ƒ‚l‰nˆm‡oˆq†p…m„p…t†}„‚~™}Ž}‚‰Š~‰}Š}‰}Š}Œ}‹}Š~‰~‡~‡†‚ˆ|y{zy‘y‘x‘x‘w‘x‘xxxxyyy‡~†€‡}‡‰}‰~ˆ‡~‰‰‰‰‰‡…€…‚‚‚ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÄÇÄÍÏÏÏÏÏÏÏÏÏÏÎÎÍÎÎÍÍÍÍÌÍÌËËËËËËÍÍÍÌÍÍÍËǾ¶­¥Ÿ‘€|qikvkjgmlscfbU\`\[a\S[`\]UPNSYX_d_dRTUUTVTSXTPW]^\XSLE=8;;522?2ÎÎÏÏÏÎÎÏÏÏÎÎÎÎÍÈÃÇÂÉÍÎÎÎÎÎÎÎÎÎÎÎÍÍÍÌÌÌÌÌÌËËËËËËËÌÌÌÌÌÍÎÎǶ §–wƒ{~r_^`o|n]^nkg[XXZ_YVTO]f_[ROOPXV\fgfPU\_YQPKQQX_a[VOLI@@66631075ÍÍÍÎÎÎÎÏÏÏÎÎÎÍÌÇÀÄÀÇÊËÌÌÌÍÍÍÍÍÍÍÌÌÌÌÌÌËËËËËËËËËÌÍÌÌÍÍÍÍÍÍÀ£Šˆqqnmjknmt}y^b`ccZY[ZZ\RSV\bYYXVSQTRV\fcPQXZUMNMQQ\c_aYPGA?<851220.2ÍÍÍÎÎÎÎÎÎÎÍÍÌÌÌÈÁÅÁÉÌËËËÊÉÊÊÊËÊÉÉÉÊÊÊÊÊÊËÊËÌÌËÌÌÍÍÍÍÍÍÍÌÍ̵˜’ylruxs}~ge`\gY`bb[ZWU^YSYedRPRVWRMKVOYfQNSWYPLROPXa^`UTUOH><85221--ÍÍÍÍÌÌÌÌÍÍÌÌÍÍÎÉ¿ÁÀÊÍÍÍÎÍÍÌÌÌËËËËËËÊÉÉÉÊÉÉÉÉÉÉÉÉÉÇÉÊËÊËËËÌ»’ƒ}s`k}nbg`_`VhaXWTSLZ`^`pn[QOT[SMITRRXRYZWUNOQTZ_XVZQOYOI>?A;520,+ÌÌÌÌÌÌÌÍÍÍÍÎÎÎÎɹ»ºÉÍÍÍÎÎÍÍÍÍÍÍÍÍÎÎÎÍËËÌÌÊÊËËËËËÉÆÉÊËËËËÇÆ£Šyzpg^mood_a_W\^URZRSPXfeefcgVQVXSQSTRRVQX]`USTQYZ\XWSSOQPI>?=5550.2ÌÌÍÍÎÍÎÎÎÎÎÍÍÎÎƺļÆÎÍÍÍÎÎÍÎÎÎÍÍÌÌÍÍÍÌÌÌÌÉÊÌÍÍÍÌÉÅÊÊÊÍÎÌÇÄÁ³›yvpeWTb^Y]``]b_WUQKMUY_aci^ZSOOPNJRQTP^KSSZZVYX^Z[WRPSNQIEC>@;530/3ÍÍÎÎÎÍÍÍÎÎÍÍÍÎΞÌÁÅÍÌÌÍÍÍÍÌÌÍÌÍÍÌÌÍÍÍÌÌÌÉÉÉËÊÆÂÃÁÇÅÇÌÍÉ¿¼¯‘~wsURPQOWXloebc[XMCAMYT\aa^VSQJLKHKHOKXNQTUVVZ[Z[_XRNRMUNBG@>>40.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÍÍÍÌÍÎÎÍÍÍÍÍËÊÈÆÅȾ·À½Â¾ÄÊÉÄ»¯¥§~sp\UVXXgg^nff`VVRQUTdTOZ]SNVWQKJGNOQYVQOWYUSWXUOTXRPVQWV?46220.---ÍÍÏÕÔÍËÌËÊÊËËÊ̾ÇÁÁÌÍÎÎÍÍÍÍÍÍÍÍÎÍÍÍÎÎÎËÃÁÁ¾Á¼º«¾¹À·¾Æ¿½´¥Šˆ€q‰{dY\Z[cjUl]T[SNST]]VMOQXQOSUWLKKSRRYf[NVXVUUUYQPYWW\]MC=7540.-,--Í×äîíáÐÊÉÃÀÁÄÆÉÀ¾ÆÁÀÊËËËËÌÌÌÌÌÌÌÍÍÍÌÍÍÍÌÅÁ¼³»¸²¡¹´¾µ¶Áµ»³™†|zlgacbbSZb[Td[RY\NRRV\TUSNNNKKLRXUOQOQQbZMY[WQLNXWVSWPLK@7=<:61.-,--×ëåÉÇççÌÀ¸³²·ºÀÁÂÉÆÂÊÌËËËËÊÉÊËÊÊÊÊÊÈÈÈÄÅÁ²¬§¬°¦Ÿª­µ­²¸­¬ ƒwwsjhQ_eZWbYQ\h]X^XLOQS[`aTPLLLMPLTWKOTNR[\X`\TOLNYUVVOPWJBB=:;:51//-,à糊¾êÒ¹³°®³²¾ÃÅËÈÄËÍÍÍÌËÊÆËÌËËÊÉÈÅÂþ¾²¡›˜£¥š—Ÿ­««¬§£™ƒsljgjn]WZUa_UV^[X_WSVSSTT_XPSONSUQSSWQOVPSY_X]WY[V\^SSYWSP@>G:7676520/.ŽŽ‡‰‰ˆŒŽ“œ¬²²ÀÃÄÊÇÁÊÍÍÍËËÆÀÈËÊËËÇÁ¹²´´¸ªŸ•Ž™›˜“ ²­ª ˜™xiddVe`RMHOW`WQQZe`^n^^b\TWNOOOOQVQTPSZRYON]]\fZb^hfaROMMJK@=A8854453.02‰…_YZUq‚€zˆ¯³¾¹ÂÇÆ¿ÈÌÌÌÊÇ¿¶ÄÊÊÇź© œ›££›œ–‰•˜’“žª«œ’Ž„vdcfY\TORPPY`^Zgn_PTaNWon[QOKMMKGILLNMMPWTW]TRWW_e][VOJLGEECHA8543344/04¸½Ž[S}¾ÓØγzŸ·¶²¾ÆƸÁÉÉËÊǾ³ÃÊÊ¿µ§™Ÿ•˜•‹ŽŽƒ–“Š‘˜‘Š‰Šƒ~usnaXSW[YNX\VT]g[QP]fga^[RRMJJGIHGEFNLR]ZVZVNZfffU^TMTRHI@?A9754313336;`£ ydÍÖÛÔªp‡³­«¹Å»©±¸¶»¹Ç½°¿Ä¹«Ÿ ˜› “”Ž…€ƒ‰Š‚€Šˆ…ƒ€„€~yxoaUVST]WTYTSYfRQP\edSSZWTMKLIJHFKJIQU[aRXRPkrce^b]U_XVSF=;;864322549@}™œ…Š§¤f]ePbu¡¤¡«­ŸŸŸ¡¢¡§·®££§™™™ —™ž’•„ƒ…~ƒ€xƒˆˆ„|}||tppicWPZg[RVRV]ZNW\\^XQQQRSLKPQLORQGBJOS^QRM\ba_Zei\QS]YESE<;;8554488:>›v3Ež“CENEMi  ¬Ÿš¡¨®ª©¨©¦œ˜’š™ ™’—ŒŽ‹ˆˆƒ}y€†…€y{xvphhdYVYRX^YT[Y\YVZZZ\ZUOIUTNLOJADFFA?EGHQKRRX[`Xan]^OZ^ZHEC?=<856668;?>n`R68V]_„U?=_‚”k«¹»ÈÐÓ×ÖÕÕÔÕÓÏŦ•œ•Ž‡Ž‹ŒŠˆ…‚€zƒ~|uvwqrmjfX[c`bXRSXW]]aXS]SX^ZVQINLNIBEE@?EFDAQGUW[X```\RbaUVWQLGDF:65667;=EF@DICACXdnYGBFq¡T¨ãÀªž–Ž…}~|~ƒŽš£‘“Œ‹…Ž‰Šƒ‚‚z}ŠywtqsrnibWZba[RUOQ\ebdVNRRi]aVLQQOJHDIRICILLFPQ\]XLZdcdT_cUOX]PE@@<97667;@LBjihhihrtsqjhci‘ÎèâvCEECNPEFEDEAn¡‰~ƒ‡‚—‰ˆ~~„‡}Šy{wuuuwsbVQYWZVYWNY[\^ffilolQ[[SNRQGDFPVQPNOPIJUY]ZNN^Z`]]feV^R@::==;::8:==>;WVUVVVUTUXY`ai–çèÃRDECKfcVWOIJDLŸ†w~„‚Š—ˆƒ‰{‚‰‰…~‡‚|xvwzuun_X\_TVSTW`WOM^s‚tb[\eRTMLRRMMJC?KTQRTRN[ddeZSXY^[R\XUUG;99;;78:98<===@ST[N<8:<;†”™‹~ƒŠ}‚‚‡‡~‚~vtutrqre[^[OOYYZ\ST^bf_\T\baSVMKKRLGA=BOSV^ZZ`gm`]]W\TXTSWWT@:887797777:??>=RTUUbXUSSR|„…¿{»Ï~:BDJ@@=@B=<<;7c²íÐ}‚~y~|€†„|€{~wqtxxsnjf\SMJWVZSTW[ZWIW_Z\XX_WKMTOLILOOPTUXV[ndZZYZVYXRWKMJ>763^:7888:AECEVZ^h¤{_ZS^Ùëæñw­Ô›}‚†Š™˜—››™˜–’›ÀâÇ~|z|~{}||€ƒ}xxpmwxzphacSPSD@MVUUXZOKIVY[[UZd^SMLIKOMMJGKNVXY]`Z^WVRVOKMHA<8676R†?789;;?HJHIINlˉNKG]Ûéãà_Š¿ÓÌÌÏÏÐÑÔÖÕÔÓÒÐÍÓÇxzyw{z~{}‚‚‚ywxlintxmg`^OQUHJQUX[UPSPTUZUVWY`\RKDCCEHIFEGJRU\[UMVRTSSNGFC=96686UyA88;=;AGGH“œªâ³–’‰~„rkC‰ÓØÜÞßßáâââääãáßßÜÙ™ywwxvxuzz€~wvuoummuphg^QVWUXX_\XGEQW^WZXWTV\VOIBE@>??=;@KNVaYRW[RV[PLG<:987772†âQ16;9;BHIJëêìëééééèåÂjKF=‡ÖÛâêêêííìçéêìëêêàÙ¾wvxzyvxz~}}{}zvsvvjksjgf^N^k\UTYZYRPVXYb^WU[ZUMGD?@?><68?EIK[hWUZXZ\UGDA:68877:4„äQ/8;=BGHDPéðòòñóóòëêÀfMJ@~Üßéêç뼡§Ö±™©âèáßØÕŒ{ywvyzxz|y{zzwxtmhnffcb[gpc]NQ[XURSZW_YU[eXOICA@?CA?>CHC>K[kj\MPeRGA;;:7<;99>7uÚW2=CRPJU^]jŒmQVXKA;666;@BA>@;wæc8?9;CIOYaM[_^`[YcdPy_DDPgÓëèëéêíåäêçàåìéêêìÙƒywyzlzz|}|vu…sssqhegrzgWUURRQMTWNOZ\YTZa][NRTOIEKPI=?MTNeniwˆi[^RHB>:;?GMIB=?9}óm9;4=HIX_lxƒŠ“£‹‘}iMKIBWÅïìììììîíìíîíëìììïÎ|xv}{jy~|y|ws€~zrokkhgccm`TV]XW\SOSQTQ[]Zd]UVROIGGBGJFEFNMTilkssdalgUPMMOUUVTIIO:yõs769U\]kiiWYZcqb`_]ZL<=<8R¸ïììëëêééééèçëêèéîÄwyuxwry}zy{{uzwxtqjb`_[[hbUOWY`ZWRLNXVZd_`XPNUQLE?>IWbW[dind[WY_aeklkof\iyvplfjjV„ñƒUT\vvprjfSSRPMMNRSY`P015M£åÏ–‰ÞΊŠ†€ªìœ|¿Ø·v|st}~}tx{zswz|xwnbZafcaa_TWXYSQPONV\YTXYSNQXSQV^^sƒyclxn[TW\^_ahfm~„‚‚„~|€„ˆˆ‰”²”‰ƒ|}rsphzzzzyyy}|}€s1.2TŽáѲ¢Ü馔•““Îî´¯Îߟmxww{{}uu|uqwz{qukd`_e`\`_YYUVSU[\RRYXOMNT_[W[gz‚‡Œ„dbrjSQY\\[]fiku}{|tt}‹ŒŽ‘‰…‰‚nqplohwwvuvwwyyxysGADd€ÃÍÆÄÅÊÎÎÏÐÖÖÌÈÊÔÒ†pxyzuuvytt{tsxvvsqllmklkmronolqyˆ‘Ž‡ŠŽ‘‰Š•´˜€~{x||lammbW[`_][_geirfdbdctz~„†„„„~{ragpmjgpponopqrtttutux{~~~}|}‰“’„Œsvxyxwvtsrrusstsrqmklkllmqruyzyxwtstvuvxz{‰•¤²´«š‹}rkjkkmlifa]\]ZY]]WY\]]`fhefcadoogljf^itnswnmllkmnpqrrqqqrtwy{~~~}|zyxvut{ŠŠ›ž‰opqtwwuurqpnnnprqnpnmjhghhjkmotuvuttrqqqoonpuŠ˜§®®§ž€rggfda_\ZVZXWWXXWYWWW[XWWYYWTTUOYZcpysoljijjlmnpponnoopsvyz{||||zxwutqz„z…Ÿ“uoqquz‚‹’–›Ÿ£¥£ª«©¦¦¤¢œ“‹‚{jjlnqstttsqomlmonnosz†˜­½º¤Štjfhhgc_]\XVSRTSRSW_aUUWZVVUTRRURYxvrmjiiijlnnnpppoopprsuwxyyxxxwuurop|Š““{‚˜¡¬¯¬§ ›“ŽŠ„€‚„…Š‘œ¡ Ÿ`bdfjnpsuvutqoklmnponllx©¼¾¯š‚rjiifdaa[VYUUTTYWSSUZSTTYXUUTSwvvsokihhhjkmooopqrrrrqrtuvwwxwwwvtspmm~¨·˜‹ƒxmd^Z\^b|e`YRRW[Z\]}n`bbbceimprtvwvspmjiknppnlq”°ÅÁ¨‰rhhjjifd`_[XTSSSRRSTTYVTVVWuuvvtpkgfefhjllmnnoppponooqsuuvvvuusqqpn{“ZONNOPRWY[`w…tXTRdge`\Q?Kldbaa`^_`chmprrtvusokhfjnomkhiyœÀ̵skikjijheb^ZWTTRRSRTXTVUUuuuuutqkheefgijlllmmnonmmmmoqrsttuvtrrqo|h>Q[gt}ƒs9760,054=bhjjkiU43WnEfhlnnkfbbbba_]]`fjmoqrrsttoiccfiklkifez¦ÊдŒsjkkifeefffea\\ijloqrstsrpmgcbaaacdfghhjkkkkjiiikmoqqr‡LpK0:<:67GEP]^\\RF57ZvdP54DƒI]eeinonkifdefda_`bgjmoprstsroidcfikkjieg{¢ÆϹrllkjhgfeefdbfikmoqssssrpmiecbbbbdfghikkkkkjghjklnps~J<258999EKdr^FHGD7DUlT4T¦aQieceilnnkhfeeeca_`dgkmopqrsttpkecgijjkjffu˜»Î½œ}mllkjifffd`dgkmopqrrrqomjfba`aabehiijjjjkjhfijlmvoX€322FttDCIECCLKE@9Dp“NC=81mžFjjVPTcigd__`cffdc`_]_`^^[Y[]`cgjkmnoonlfa`bfhijiiidcy¡Éֽͳ_Z`cgiklmrqoppolgc`__`abcdfggg^USbqg_œOUlI…lgNGGIMONJOIQbŒ•sE;;<0b}9b[8;4Jmjieb``cgihfdaaaaaa_\\^behknopqqoomhcbdgjkjjihedwœš­ÁΟZ]behijlnopqponlid````bcdffga<96UƒSJoJ\l=GC>CNW_`\TKH?IGXlXKH?53:77A;7:0Hmkkkifaacfhjifebaaaa`^]^`bfiknprrqqpmgbcehijiiihdlŸ~´ÄÎX^cfgiklnoqpoonlhca``bcdeeg]1699ED;254209=?9776656847947?A@E?79;BL7008Galkkkkjhdaadhkkifca````^]]^`cfjlnoqrrpolgbbefhijjkx­Q‘»ÈÈsYacfhjkmoppoonmlhc````abcedF32..A^@<9887676666666567776667789:I;\jhihhhijkjkkjheb`beiihfd`^]]^]\\\]_dgjlnoppqqpkd`\[\…‰Y\~¸ÂÍŸZ_dfijkmmnnoonmlkdb`_^^`acbct¸˜?V;98776665556555555655665567888B@Rqffffghijjjjkiiga``cfhjieb_]\\\[[\[]_cfjlnoqqqrjVW\``†‹OIN‰¹ÁʈX]adfhiklmnnnnmlhda_^^_aba`o°CI66666544544444435554455544425JRPRygcffefghiiiijkjgda_`cgiihe_\\\[\\\[[]_dgklnppriPWbqv†x[QKT—ºÄÂtT]_aefhjlmnnnmlkhda`__`baac›ƒYNZB224342323243:K54333333341FˆTYZƒydeeefghggijjjjhec``aeghhd`^\[\\]\\[[\`fikmoqmQT]cgzeeXOI`«¾Ê¹f[_adghhjlmooonlkhc`__^`aacwwWm¥ž’=02212122337=4542322221A“¯—£eA[oi_`afffgffghiijihgca_`behiheb^\\\\]][ZZ^bgkmno]ILD@G[jaPLJv¸ÀÏ©_]acfghjlmnoonmkjfc`_^_`aicCJ–¥¡¿€<0/0011244305531000/.<œŸ¨•g*Rdw©±—kdefeefghhijjjgdb`_aehjjie`]\[]__^[Z[`eikmnhcŽ}OklpbRLN¼ÂÒ”Y_ceghikklnnnmlkie`^]^^`bi0<Ž¾š²>=:898636Ee@7;@CEEZl“ÝұΥR)Bgo©ÌÃŽbdeeeffgghiijihgd`^`dhijjhd_][]_`_][Z]bgilkf­­tzjlv^NKY ¾ÊË|Zbdfhijklmnmmlkkhb_]^]^QS/3v½É³ìç gY[^tˆJcÄXLrui]YŒªßðíÐÚ‡<+9eebeefcdeeeffffhhghhhhfd`__behjiifb^\]]^_^\Z[^cghb–©unqoldWOKg°ÁÍÂp^cehiiklmmmmmlkjfa^^]^L<34O¢ßÒíéá¢ZY[i‘Z˜Ï‰Vn]cad¢»ëÕŨªJ/,9efeeddcccddfeefggfefhhhgeb_^_bgjkjhea_]]^__]Z[\acNŒugpklmeSVhŒ½ÆÔµf^ceghijkmmmmmlkida_^]V7;>1U•‰˜µÌ¦¬hfnbTUÉû¼Ujovuw³†{xK891./:5321Cjfaffefeˆ±¬˜fdddedccegggggfdb`_]^bilkkjhea``_^]]WIWp\\msqstwgTNJn¼ÇÑÃi]acffghijkllllkigdaP..13568722/Ekh^gffffc``bdgfdddccddfffffedc`^\]ahjkkkidb_^][[TFN[YMmnlkjlf\RLN˜ÄÈÖŸZ_befghhijklllkjifbT/.3/27>BIUqŠ‹†’”••–—–•‘†zh`baabbcdccddeedba_\[]chihgea_\ZZR>BEQLkhhgqlhbRLLL†ÀÅÓ­^^cccefhhjkkkkkkif^4-2//35@FHN[lrÒØÖÑÌËĺ´­£QD?Id|“›¥­¯±¯¬­«­ª©ªª¬««­­­§Ÿ]`aaacdcdddddeecb`]\\bhihhgc^[[T<>BLPnmggpnqiSLMJW¨ÂÊÓ’_^bdefhhikjkkkkjha7///4AR²´L--1BKIJGFGFBBCACF`¦¤¦§Ÿ˜“Œˆ†„ƒ€|||}}}~}~~€”Še`aacddeeeeeeeedc`^\^bgijjhd^[U<=@IPhqjhoosqeZOKKw¹ÁÐÉn[bdefhhikkkkkkjjd76/.0?pïÖ‰pz…¬ˆ‰’šŸ¡£¤¤£¡¥¯¢z|wpmkgedb`_\[[[\\]^^_^__d¤|]`acdddeffeddeeec`_]\aeiiggd]V=?@@AFHJKojMKIEg©{[v‚“˜Ÿ¦ª®šW6445W¬ÈÊÇÃÄÅÁ¤|aXn`abcddccdeeeeffeedc`^[[^eijjhF:8HHdbbgekqtpsr]KKZhœ¿ÅÕ¬bcdfhhijjkkkkkd1:4-,*-../12135678=KA530.z—a\†¿ÒØÛÝßÞã²X`VOPN¯æßÝØÖÞàÒdxLj`\^_bcdcddeeeffdeddb`^\[^cikkH68II_hkinojkosplSJMM\ªÀÇÔŽ]bffgiijjkkjbW/87.0:-***)())))))))*+*(6ŠQlrØÝÛÚÚÛÚà£WiamRL¢ãÝÚÕÐÙÞÒSqX[–¼À¦hbcccccdeffdeddcb`_\[]dilF34HJytrpuqkimkgjeLJJIsº½ÎÉs\bdeefhhhicWR.7732TQ?9422/+*******+./Lš„LpZÖáÞÞßßßß‹PRT[ONæãçåâÚеEUoNÎãàŸ^bbcccdeffedddccba_\[]cjE23GKx~qkjigijoi`NILKL“½ÀÔ­[\abcdeddeaYR076601DA@<341+***+,/37=?c¥sOlAu€„‹‘—Œ^VTv…STd§«—ƒo^OG?>vO]kuonaabccccdeedccccdcba_\Z]eC/3FLqusutknflmnkjcWLKHb·¾ÈÒ~W^accddeff]N483420+)))'''((()*+++))/t¨aVf?7335433?JFI‰TSI9545553BK7g[Wa__\kibbbbbcddccbccdccba^[Z_?)2EHnurttlnhhkjknrhPJJL–ÃÅÕ¸c`cdeeddcb_UA3--./######$#"#$%&%&&&9ŠšSbaD978::878522\|A:6459;::7@J:NkMbbbl‡ycbccbbbbbbaccbbbcb_^\\=%1DAksmmmkkjgjimlngQJJIi¼ÅÎÖ†]cdfeddba^ZQ>535655678899888;<;<>:R™ˆKiYA655665631228B23544;NaS4588;rK_bcc^]aaaabcbabbbcccccbb``^]=$/D?mjlsrmjlmmfhihhTJKKM•ÆÅÓ·_]_bcccca^\VPKHHIIIJJKKLLLMMOPPPOY“xImN@;68FNC8:8322124541P’{7<753iUWabbceba`_bcbbccccdcccbbaa__@!.???BDFITh]UuMM\]X[`__```abaa]YVOJJJ9+72hijgaaciipywrtnjncRKMR^´ÇÅÖ¦befhjgfeedccccbaa`]\[ZZZZZN_r‰‚zhiJBBDKPQJHGFGQRMONQSTWYYZYYXZZZ]^_^fgSNS]a`_````aaaaa`_^]\]TLJ< *51smllivpqirruts|~j\SKKLKÇÂÎÒ‚beefeeeededddccca_^\[ZZZ[YPNby‹gs]]\\ZXYZ[[[[[[[[[[ZZZZYYZYXYYYYZ\[bQ?Kda``_````aabba`^`^__^TI?#*4/†{~€wv{xjhoxwx{se]RKJKJS¤ÇÇØ·d`bccdddeeeeddddca_]\[ZZZ\^_LRz\t[YYYYYXYYYYYYYWXXYXXYXWWXXWWXXXYZZ]M=Vdaa`_____``aaaa`^]]]\YN<)/0-†|t~xrqiksmifoibaaTKKK]e€½ÃËØŒ\aaccdedeeedddddba_]\YYZ[]`V=IQuWWWWWWWXXXXXWVVWWWVVVVVUVWWWWXXXZYYQF]caa``____aaaaaa`_]][[YTL;1*)€}xw~xsprb^gpzrijeXLKKW^Z›ÂÁ×Áe_acbcddeeeeeeddca_^\ZZZZZbcIIWxWUWWVVVVWXXWVUVWWWVVVVVVVWWWWXXWWWWOYacaba``___cefdccbb`^\\YURNA75†z‡z†z†z†z‡z‡z‡z‡z…z†z‡{‡{‡z†z†z†z†z‡y‡y‡yˆyˆyˆyˆy‡y‡y†z…{ƒ‚|„yƒuƒt„t„s†w†y‡w†y†z†z†yˆ{‡{†z‡w‡u†y†y†z†{†z…y…y‡z†|„~ƒ€‚ƒ€‚€‚…y†z†z…z†z†z†z†z†z†z†z†z†y†y†y†y†y†y†y†x‡y†y†y†y†y‡y†y…y„{{‚xƒuƒtƒt‚v„u…v†y†x…x…y…w†yˆ{‡y†y…x…v…w…v…x…z†z…w†v†y…{ƒ~‚€‚€‚…z…z…z…z†z†z†z†z†z†y…y†y…y…y†y†y†y†y†y†y†y…y…y…y…z…z†z…y„z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x†w†z‡{†z…y…x„w„v„uƒw…y†y†w‡x†y…zƒ|‚~‚€‚€…z…y…x…y†z†y…y…z†z†z…z†z†z…y…y…y…z…z…z…z…z…{…z„{„{„|…z…z„{ƒ~€}‚z…y„x„w„w…y…|„{ƒy…x†w‡z‡{…{„z„yƒxƒv„v„x…y‡y‰yˆz‡z…z‚|‚~‚‚€€†x„|ƒ|…z†z…z…z…z†z…z…z…y…z…y…y…y…y…y…y…z…{„|ƒ|ƒ}ƒ}ƒ}„|…|ƒ}‚€€~‚{„y„x„w„y…{…z…y„z…z‡z‡{‡{…{…z…z„vƒu„x…y‡x‡yˆz‡z…y„{‚~ƒ‚€€‚€ƒzƒ~„|„}„}…|…z…z…z…y…z…z…z…z…z…z…z…{„}‚}‚~‚‚~‚}‚ƒ€‚~‚|ƒy„yƒw„y…z…y‡y†y†{‡|†|…{…z…y…y„u„v…x†z‡{‡z†z†xƒzƒ}‚‚€‚€€‚€‡‡ˆ††€…ƒ~„|…{…z…z…z…z…|†{†y…z„{„|…}‚€€€€€€€€€€‚„}…}ƒ~ƒ~ƒ{„z…y„w„w„w„x…z‡z‡|†|„|…{†z…y…x„w…v…w†x†x†y†z‡y„{ƒ}‚~‚€‚€‚€€‡z‰zˆ{…}ƒ~…ƒƒ|…z†{†z…z…zƒ}„{…{…}ƒ€‚€‚}ƒ~‚~‚€€€‚~ƒ}…{…{„}„|„z„y…x…w„x„w„v…y†{‡}†|„|…{…{…y„x…y…x†w†u†u…x†y†y„|ƒ}~€€ƒy‡s†tƒ{€†}„„…}…}†|†{„}‚€ƒ€}…{†z†{…{„{„|ƒ}ƒ}„}‚~ƒ{…{‡z‡{…|…z…z„z„x…x„yƒx„x…{†z…|…{…|„}ƒ|„z„w„y„y…v†u†u†w…w„xƒ|‚‚€€‚ƒ…}‰y‰x„}„‚‡}„€ƒƒ€„€‚ƒ€ƒ}„y‡w‰wˆwˆw†x…{„{„z„|„{…y‡y‡x†y†{†y…z„z„y…x…y…y…z†{„{„|…|…}„~ƒ|ƒz„yƒy…x†w†v‡u†v…uƒw{‚~‚€€‚~‚y‘yy{Œ{x‹{€ƒ~‚ƒ€†€†~†~‡†~ƒy‡xˆy‡xˆv‡v…z„z„x…z…y†x‡x†x…y…z†z†{…{…y…u…w†x…w…z†{…|…}„~ƒ~ƒ}ƒzƒz„y…w…y†w‰u‡u…v‚w|‚€‚‚yz{zz||…€€ˆ}‰{‰zŠxŠzŠ{ˆ}~„z‡w†v†w‡x†x…x…u†vˆvˆv‡uˆwˆz†{…|†z…z…y…u…u…v…w…y‡{…{…}„~„}…{„yƒx…w†w†y†x†w„wƒy‚{~€€€~‚~ƒ†…€†‚…€…‚ˆ„„„†~‡†~…~†‡†}‚‚|†v†v†u†v†v†u†r‡tˆuˆuˆuˆw‰{†|…}„z„z„x…{„{„z†y†y‡{†|†~„~…}„{„y„x†v‡wˆw‡w„w‚y|‚‚‡‚€‚}„|†„„„€ƒ†}Š€ˆ‚ƒ‚€ƒ€ƒ‚‚€‚‚€‚‚€z†v‡v†u†u‡t‡t‡sˆu‡u‡t‡uˆwˆz†y…z„y„x„z„|…{†z‡{‡yˆ{‡}…~„~„~„}ƒ{„x‡xˆx‡x‡zƒ{~€€‚€‚ˆ‚€‚}„{†ƒƒ‚„ˆ…‚‚€€€€€€ƒ~ƒ}ƒ‚€‚{†t‡u‡t†t‡sˆr‡sˆt‰tˆt‡u‡w‡x…u„x…y„x„{„z†y†y‡yˆzˆ|†„ƒƒ‚~ƒ{„w†wˆx‡x†{ƒ~€ƒ}„}ƒ€}‚|…x…}‡}‰{‰|ˆ~‡€…‚‚€‚~‚ƒƒƒ‚€€z†t‡r†t‡s‡s‡rˆr†sˆuˆvˆw‡v†w†y„y…y„yƒ{„y…x‡x†x‡z†|…„„~ƒ~„|…w…tˆu‡v…w{€~€}}~~‚}ƒ~ƒ|‚w„rƒ}ƒ|ƒ|„}„~„€‚‚€€‚€‚€ƒƒ€€y†s‡r†s‡sˆsˆtˆs‡tˆv‡w‡x†w†w…y„x…y„yƒz„y…x‡x†y‡{‡|…}ƒz‚z„xƒv‚q‚p‚ppn|q|r|pqsw€{ƒ{‚wq€nm}ƒ}ƒ}„|„|ƒ‚€€€‚‚€„„‡}‡}…~„~…z†t†t‡sˆu‡t‡t‡uˆu‡w‡x…y…x…y„zƒzƒ|ƒ|ƒ|ƒz†{‰{†z†x†s‚nh}n}n{r{tzr{o{m{h{g|g|f~d~d~e~h€fe|g~ilƒƒ€ƒƒƒ€ƒ„„ƒ€ƒ€„ƒ‚€‚‚‚ƒƒ€ƒƒ€‚‚}„}„}…}…}…}„}„~ƒƒ€ƒ€‚€‚€‚‚‚ƒ…‚…„}…x…uux€yz€yyx~x~wxx€uqq€p€m€lno€m€m€ˆ~‡†ˆ‰~‰}‰}ˆ}‰}Š}‰}‰|‰|‰}‰~ˆ‡‡†‡ˆ~ˆ€‡€‡ˆ€‡€…†‡‡~ˆ~†…€„€ƒ€‚€ƒƒ€„€†€…†€…„ƒ‚€Š„€ƒ€ƒ€ƒ‚ƒƒ‚ƒ‚„‚„‚ƒ„€ƒƒ€{v€‰|ˆ}ˆˆ‡€ˆ‰~Š}Š}Š}Š}‰}Š}Š|‰|Š|Š}ˆˆ~ˆ‰|{‘z‘{‘{‘}~}{{{‰„€ƒ€ƒ€‚‚‚‚ƒ„†~‡†……€‚ƒ„€Š€†‚‚‚‚‚„€…€„€†€†€…€†€‰|‰{‰}ˆ†‡ˆ‰~‰~Š}Š}Š}Š}Š}‰|Š|Š|‰|‰}ˆ~Š~Ž|Š|‡|†|ˆ~‰ˆ„‰€ˆ~ˆ~‰}Œ|Œ~…€ƒƒ€ƒ€ƒ€€‚€ƒ€‡€ˆˆ~‡…ƒƒ‚ƒ€‚€‚€‚€ƒ€ƒ€‚€„€…€…€†€‰}‰|‰|Š|‰}ˆ~†€‡ˆ‰~Š~Š~Š~‰}‰}‰}Š|‰|‰|ˆ}ˆ…}~|||~{‚|„{„}†zˆyˆ|‡}‰}‰|„€‚ƒ€‚€‚€‚‚€€€ƒ…€‡~ˆ~‰ˆ€„‚€ƒ‚€‡€ˆ€€€‚‚ƒŠ~Š}‰}‰}Š}‰}†€‡€‡‡~‰~‰~‰}ˆ}ˆ}‰~‰}‰}‰|ˆ~†~‡|ƒ}‚}…{†y„z„{‡y‰y‚„Š|‡|…ƒ€€‚‚‚€€€‚€…€ˆŠ~ˆ†€ƒ‚‚…†€‚€‚€‚ˆ€Š~Š}‰|‹}‹|‰~‡‡€…€‡‰~‰~‰}‰~‰~‰~‰~‰}ˆ~†}‰|ˆ„„‡}‰x‰x‰xŠx‡z€‚ˆ}†{…~‡„€‚€‚€€‚‚‚‚‚‚€€€‚„€‡‡}ˆ‡‚‚€‚€‚€‚€‚ƒ€„€„‰‰}Š}‹}Š}‹~‰~†€…€†‡€‰~Š}‰~‰~‰~‰~ˆ~†~†|‰{‡~†…ŠyŠy‰zŠy‡{„€…‰}ˆ{„}ˆˆ~†…€ƒ€‚ƒƒƒ‚‚‚‚‚‚‚ƒ€†‡~‡~†€„‚‚ƒƒ€†€Ž€„ƒ†€‡‰Š}Š}‹}‹}‰~‡……‡~ˆ~‰~‰~‰~ˆ}‡~†…{ˆ{‡}ƒ†}‰y‰z‰{‰z†~}†€…‰|Š{…}‡~††‡†„€‚‚ƒ€ƒ‚‚ƒƒ‚‚‚€€‚€€‚‚ƒ‚…€‡~ˆ}‡}†‚‚ƒ|„ƒƒ‡€‰~‰}Š}‹}‹~‰~‡…€…‡‰~‰}‰}†~†…€ƒ}„}…~†~†~†}†}†…~„~€ƒƒˆ}Š{‰}‡ƒ„€†~‰}ˆ†ƒ€‚‚‚‚‚€‚‚‚…€†‡††~…„€|…|„‚†€‰‰~Š}Š}‹}‹|Š}ˆ…€†‡~ˆ}ˆ~……€Š~|Š}‰~Š~Š}‰~Š~Š~Š~‰~ŠŠ~Œ}|‘zŒ}ƒ€…ˆ}‰{‰}ˆ}‡„€‚€‚‚‚‚€‚€‚€‚€‚€‚‚‚„†‡†€…}“}‰~‚ƒ‡€‰‰~Š}‹}‹|‹}Š~‡††‡~ˆ~‡~ˆ}|zŽ{Œ|Œ|Œ|‹}Š}‹}‹}‹}Œ}‹}Œ}|‘zŽ{…‡ˆ~‰~‰}‰}‰~ˆ~†„€‚‚‚ƒ‚‚’~¯¦„‡|ƒ„}ƒ}‚„ˆ€ˆŠ~Š~‹}‹}‹}‰~††€‡€‡‡Š|~Š„‰€Š|‹}Š~‰~ˆ~ˆ~‰~Š}Š}‰~Š}ˆ€ƒ‰‹‚ˆ€†€ˆˆ‰~‰~‰}‰}‰}‡„€‚‚‚‚ƒƒ€ƒ€ƒƒ‚‚€€€–x¸|±ƒ–wƒ„ƒ|ƒ~‚†‰‰~‰~‹}‹}‹}‹}‰~…€†€‡‡‰~‰€€Š‡‰~ˆ~ˆ~‡†‡ˆ~‰~ˆ~ˆ~‚„|Œ†ƒˆ€‡‡€‡€‰~‰~ˆ}‰}‰}‰}‡~…ƒ€€ƒ‚‚‚ƒ‚€€…€‚Œ„“pz‚‚}‚}‚‚‚ˆ‰}‰}Š}‹}‹}‹}‹}ˆ†€†€†€†€…„„ƒ‚…€ƒ€„€…‚………„€ƒ€ƒ‚€‚‚…†€‡€‡€†ˆ~ˆ~‰‰~‰}‰}‰~ˆ}‡~„‚‚‚‚€‚‚ƒƒ‚ƒ‡†šh{m}|‚}{Œ~‚ƒ‚‰‰~Š}Š}Š}‹}‹}Š~‡†€………€„€ƒ„‚„‚‚€‚‚ƒƒƒ…„ƒƒ€‚ƒ„„„„„€†€ˆˆ~ˆ~‡‡‰}‰}‰}ˆ}‰}‰~‡~…ƒ€€‚€‚‚‚‚‚‚ƒ†„„§k}h{q|‰}ˆ~‚ƒ†ˆŠ~Š}Š}‹}‹|‹}‹~ˆ€…€ƒ€„€…†…‚†€„€ƒ…‚„„ƒ…€…†~‡‡‚†„€ƒ€‡ˆ~ˆ~ˆ†…‡‰~‰}‰~‰}ˆ~‰~ˆ~†~ƒ‚€‚€‚‚€‚‚…Œ…œk€j|k|v€€‚~ƒ}ƒƒˆ€Š~Š}Š~Š}Š|Š|‹}ˆ…‚ƒ†‡~‡}‡}„‚€€€€€„ˆ}‰~‡€†€…€„€‡~‡~ˆ~ˆ~ˆ~‡‡€ˆ‰~‰~ˆ}‰~‰~‰~‰~‡„‚‚€‚€‚€€€ƒƒ€‚“‚¤nnm~s‚ƒ€‚}‚~ƒ…‰Š}Š}Š}Š|Š|‹}Š}‡€‚„€…€„…ƒƒ‚ƒ„…„…„†ˆ}Š~Š~Š}‹|ŽzŽzzxŽwxŽzŒ{‰~‰ˆ~‰}ˆ}ˆ~ˆ}ˆ}‡~„‚€‚€‚€ƒ€“z»o„m€i|ny‚‚~‚|ƒ€‚‡Š~Š~Š}Š|‹}‹}‹|‰~‚€€€ƒ‚‚ƒƒƒ‚…‚Š‚‹‚‹‰Š€‡„Žz“x”u•u–v–v–v–v—u—u˜u˜v–wŒ|‡ˆ~‰~ˆ~ˆ~ˆ~ˆ}ˆ}‡~…‚€€ƒ€‘vÂk‚k~hzi|k}z€€‚}}‚ƒ€ˆŠ~Š}Š}‹}‹}‹|Š}ƒ€€€ƒ‚‚‚‚ƒ‚„ƒ…‚†‚………ˆ}{zzŒ|Œ|Œ~Œ‚‹€ˆ€‡€‡€‡~Œ{‰~‰‰~‰~ˆ~ˆ~‰~‰}ˆ~ˆ…€‚€€€‚€vÂonizgyezs~€ƒ~•|ˆ~‚…€‰~Š}Š}Š}‹}‹|Š}„€‚€ƒ€‚‚€‚€‚ƒ‚ƒƒƒ‚ƒ„€Š|ˆ|€|}}|~{~„~‹}‹}„}}~}~|~}}†|‹|‰€‰ˆ‰~ˆ~ˆ}ˆ}‰}‰~ˆ†ƒ‚€‚€ˆv¿m€k~hygxfyl}{„Š~…}‚€‡Š~Š~‹}‹}Œ}‹}„€€‚€ƒ€ƒ‚€‚€‚€‚€‚€ƒ€ƒ…~Š}†|}}xx~y}…{‹wŒx†zy}yy|€†|Š{‡ƒ€†€ˆˆ~‰~ˆ~ˆ~‰}ˆ}‡~…€ƒ€‚‚€‚„xºf€g~gzhxhxizq€~€‚~‚|‚ƒ‚ŠŠ~‹}Š~‹|Œ|„€„€…€‚€‚€ƒ€‚€‚€‚€„€‡~Š}‡}†~…€…€…~Šz‹u‹sŠy„}…€‡‡~ˆ{Š{ˆ}…€†ˆ‰~ˆ~‰~‰~‰}ˆ|ˆ~ˆ†ƒ‚‚{­ih~gzfxgwhxhzu€‚€‚}‚‚ˆ€Š~Š}‹~Š~‰…€‚€ƒ€‚‚„ˆ}ˆ}†|‹|Š}Š|Š|ŠzŠw‹vŒy‹{ˆ€†‚‰|‰{‰|Š}‰ˆ‡‰‰~‰}‰~‰~ˆ~‰~‰~ˆ~…ƒ‚Šjh~gydxgyizhzs~‚‚~‚~‚„€Š~‹|Š}Š~ˆ†€„ƒ‚‚‚€‚ƒ€‚†~‰}‡}„|ˆ{ˆ|ˆ|ˆ|ˆ|‰|Š{Šz‡|ƒ}…†}‡zˆ|‰}‰~ˆˆ†‡‰~‰}‰~‰~‰}‰~ˆ~‰}†€ƒ‚€€ih~g{fxh{k|i{n~|‚‚}‚€ˆŒ|Œ}‹}Š~‰~ˆˆ~‡†€……€…€†€†~‡ˆ}Š|‡}ƒ}…|…~„~…}„…‡}…}‚~~‚}ƒ‚€ƒ~†~‰}‰}……ƒ€ƒˆ‰~‰~‰~‰}‰}Š|zŠ}ƒj€j}j{j|i}i~h~kt€‚€‚}‚ƒ‹}Œ}‹}Š}Š}‹}‹}Š}‰ˆ‡€‡€‡€„€ƒ€…~‹{|Š{Š{ˆ~‰}Š|‰|ˆ}‹{Š{‹{{ŒzŽzy‘y’xŒ{ƒ€…‡€†€ˆ~‰~‰~‰‰~‰~‹}{‹{ƒ€€lƒki~i€n„k„h‚kr}‚‚‚„}ƒ‚‡€Š~‹~‰}‹}‹}‹}‹}‹~Šˆ~‡‡€†€‚‚…€z•w–v•w”v•w–w–w•w–w–v–v–v–u–v•u–v˜tŽ{†‰~‰ˆˆ‰‰~‰‰‰€ˆ‰~ˆ}„€l‰nˆm‡oˆq†p…m„p…t†}„‚~™}Ž}‚‰Š~‰}Š}Š}Š}‹|‹}Š~ˆ}‡~†€ˆ„€„€z”v•v”v”v”w”w“w’w’w’w‘x‘x’x’x’x’w‘xŒ{†ˆ~‰ˆ‡~‰‰ˆˆ‰‡€…€…€„‚ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÄÇÄÍÏÏÏÏÏÏÏÏÏÏÏÏÍÎÎÍÎÍÍÌÍÍÍÍÌËËËÍÍÍÌÍÍÍËǾ¶®£œ~rhkukjgmlscfbU\`\[a\S[`\]UPNSYX_d`fRTUVVVTSXTPV]^\XTME=8;;522?2ÎÎÎÎÎÎÎÏÏÏÎÎÎÎÍÈÃÇÂÉÍÎÎÎÎÎÎÎÎÎÎÎÍÍÍÌÍÌÌÌÌÌÌÌÌËËËÌÌÌÌÌÍÎÎǶ ¦—t‚z~s`^`o|n^_nkg[XXZ_YVTO]f_[ROOPXV[ghgPU\_YQPKQQX_a[VOLJ@@66631075ÍÍÎÎÎÎÎÏÏÏÎÍÍÍÌÇÁÄÀÇÊËÌÌÌÍÍÍÍÍÍÍÍÌÌÍÌÌËËËËËÌËÊËÌÍÌÌÍÍÍÍÍÌÀ£Šˆrommklnnt~z_b`ccZY[ZZ\RSV\bYYXVSQTRV\fcPQXZTMNMQQ\c_aYPGA?<851220.2ÍÍÍÎÎÎÎÎÎÍÍËËÌÌÈÁÅÁÉÌËËËÊÉÊÊËËÊÉÊÊÊÊËÊÊÊËÊËÌÌËÌÍÍÍÍÍÍÍÍÌÍ̵—’yltuyt}gfa]gY`bb[ZWU^YSYedRPRVWRMKVOXfQOSWYPLROPXa^`UTUOH><84221--ÍÍÍÍÌÌÌÌÍÌÌÌÌÍÎÊ¿ÁÀÊÎÎÎÎÍÍÌÌÌËÌÌÌÌËÊÊÉÉÊÉÉÊÊÉÉÉÉÉÇÉËËÊËËË̼’Ž„~ral}nbg`_`WhaXWTSLZ`^`pn[QOT[SMITRRXRYZWUMOQTZ_XWZQOYOI>?@:520,+ÍÌÌÌÌÌÍÍÍÍÍÍÍÎÎɹ»ºÉÎÎÎÎÎÍÍÍÍÍÍÍÍÎÎÎÎÍËÌÌÊËÌÌËËËÉÅÉËËËËËÈÆãŠxzoh_lpod_a_W\^URZRSPXfeefcgVQVXSQSTRRVQX]`USTQYZ]XWSSOQPI>?=5550.2ÌÌÍÍÎÍÎÎÎÎÎÎÎÎÎƻļÆÎÎÍÍÎÎÍÎÎÎÍÍÍÍÍÍÍÍÍÍÌÉËÌÍÍÍÌÉÅÊÊÊÍÎÌÇÄÁ´šywoeVSc^Y]``]b`WUQKMUY_aci^ZSOOPNJSQTP^KSSZZVYX^Z[WRPSNQIEC>@;530/3ÍÍÍÎÎÍÍÍÎÎÍÎÎÎÎÆ¿ÌÁÅÎÍÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÍÌÌÌÉÉÉËÊÆÄÄÀÇÅÈÌÍÊÿ¼®vqTRQQOVXloebc\XMCAMYT\aa^VSRJLKHLHOKXNQTUVVZ[Z[_XRNRMUNBG@>>40.--ÍÍÍÍÌÍÍÍÍÎÎÎÎÍÍÅ¿ËÂÃÍÍÌÌÌÌÌÍÍÍÍÍÎÎÍÍÍÍÍÌËÉÇÅÈÁ¿¹Á½Á¿ÅËÉÅ»®¥§Ž~tq]UVYXhh^nff`UVRQUTdTOZ]SNVXQKJGNOQYVQOWYUSWXUOTXRPVQWV?46220..--ÍÍÏÕÔÎËÌËÊÊËËËÌþÇÁÁÌÍÎÎÍÍÍÍÍÍÍÍÎÎÍÍÎÎÎËÃÂÁ½À»º¬¾º¿¸ÀÇ¿¾³¤Š‰p‰zeZ^Z[dkVm]T[SNST]]VMOQXQOSUWLKKSRRYf[NVXVUUUYQPYWW\]MC=7540.-,--ÍØæîíáÐÊÉÃÀÁÄÆÊÁ¾ÆÁÀÊËËËËÌÌÌÌÌÌÌÍÍÍÌÍÍÍÌÅÁ¼²º¶²¡ºµ¿µ·Áµ¼³™†|zlgabbaRZb[Ud[RY\NRRV\TUSNNNKKLRXUOQOQQbZMY[WQLNXWVSWPLK@7=<:62.-,--ÚíáÇËéèÍÁ¹³²·»ÁÂÂÉÆÂÊÌËËËËÊÉÊËÊÊÊÊÊÈÈÈÅŲ«§¬¯¦žª®¸®³¹­¬¡ƒwxsjhQ_eZWbXQ]h]X^XLOQS[`aTPLLLMPLTWKOTNR[\X`\TOLNYUVVOPWJBB=:;:51//-,Þ㯌•Çæ˹´±°³³¾ÃÅËÈÄËÍÍÍÌËÊÇËÌËËÊÉÈÆÂþ¿³¡›˜£¥™–Ÿ®¬«¬§£™ƒsljhjn]VXUa_UV][Y_WSVSRTT_XPSONSUQSSWQOVPSY_X]WY[V\^SSYWSQ@>G:7677520/.ˆ†€…†€ƒƒ„Š‘ °²ÀÃÄÊÇÁÊÍÍÍÌËÆÁÉËÊÊÊÈù²µ´¸ªŸ•Žš›—” ²®«¡˜™xiddVf`RMHOW`WQQ]h_`n^^b\TWNOOOOQVQTPSZRYOO]]\fZb^hgaRPNMJKA=A8854453.02““tU[Qf‰‹‰…z ¶¾¹ÂÇÆ¿ÈÌÍÍËÇ¿¸ÅÊÊÇÅ»ª¡œœ££šœ–‰•™’’žª«’Ž„vdcfY]TOSQPY`^Zhn^PUbNWon[QOKMMKGILLNMMPWUX]TRWW_f]]XOJMGFFCHA8543344/04­¼§mOh­ÑÞÙÈ„¶·²¾ÆƸÁÉÉËÊǾ³ÃÊÊÀµ§™œŸ•˜•ŠŽƒ–”‹‘—‘Š‰Šƒ~usnaXSW[YNX\VT]h[RP]ff`^[RRMJJGIHGEFNLR]ZUZVNZfffU^SMTSHJ@?A9754313336;O‰¨pv·ÍÑѾzs§¯­¹Å»©±¸µººÇ½°¾Ãº¬  ˜› “”Ž…€ƒŠŠ‚€Šˆ…ƒ€„€~yxnaUUST]XTYUSYfRQP\edSSZWTMKLIJHFKJIQU[aQXRPkrce_b\U`YUTG=;;864322549A‹¤„}­uOYYOnŒ¦£ª¬ŸŸŸ¡¡¡§·®£¢¥˜™™ —šž’•„ƒ…~ƒ€y„ˆˆ„|}||uqpicXPZg[RVRV]ZNW\\^XQQQQSMKPQKORQGBJOS^PQM^ba_Zei[QS]XESE<;;8554488:=³°€@2€§WHJP>du Ÿ°¡› ¦­±±±±²´«¤š˜š¡™“—ŒŽ‹ˆˆƒ}y€†„€yzxvqhieZVYRY^YT[Z\YVZZZ\ZUOKUTNLOJADFFA?EGGQKRRX\`Xan]^OZ^ZHEC?=<855669;?>X`Q=5I^UpD7Th¢q·¼Ì××ØÖÔÒÒÓÔÔѼ™›–Ž‡Ž‹ŒŠˆ…‚€z€„~}uvvqrmjfX[c`bYRSXW]]aXS]SX^ZVPINLNIBDE@?EFDAQGUW[X```\RbaUWWQLGDF:65667;=EFFEKHEBR`lfOBEN¤ipßÈ›uoihfbdmz’Œ‹…Ž‰Šƒ‚‚{~‹‚zvtqsrnibWZba[RUOQ\ebdVNRRi]aWLQQOJHDIRICILLFPQ\]XLZdcdT_cVOX]PE?@<98767;@LBlljijinutsoifev·Ûî˜ACEEK[HHJHHEF˜’…‡‚—‰ˆ~~„‡}‰‚z{wuuuwsbVQYWZVYWNZ[]_gfilplQ[[TMRPGEFOVQONOPIJUY]ZNN^Z`]]feV^S@::==;::8:==>;UUSTTTUTTVX\aewËêØrDEAAXj^]RGDH=RUWT\_UTSRc’u¹ž–ݦDEGPMLJGKLFEECI—Ýõž|€‚~y~|€†„|€{~wquxxsnjf\SMJWWZSTW[ZWHX_Z\XX_WKMTOLILOOPTUXV[neZZYZVYXQWKMJ?763`‚:7988:AECEUW\a•`]WPöá÷¹uмŸž¢¥§­¯¬®°®¬¬ª©¼ÇÍŒ{{|~{}||€ƒ}xxpnwxzphacSPSD@MVVUXZOKIVX[[UZd^SMLIKOMMJGJMVXY]`Z^WVRVNKMHA<8676R„>789;;?HJHPHMW±®UMHH£ðÚë—]´ÑÔÐÔÕÕÕØÚÚÙ×ÕÔÒÐؤxw{yw{z}{}‚‚‚ywxmintxmg`^OQTHJQUX[UPSPTUZUVWY`\RKDCCEHIFEGJRU\[UNVRTSSNGFC=96686YB88;=;AGGH‰™ŸÓÌ™•’ˆˆkmL\ÅØÜââããåæååèçäãâáÜÂ}uxxvwvzz€~€xvvoummuphg_QVWTXX_\XGEQW^WZXWTV\VOIBE@>??=;@KNVaYTY[RW[OLG<::87772‡çS16;9;BHIJêéëìêéêéêëß’QIAUÆÛßêëëêçåæåÞßèëéäÙÕ›swxzywy{}}{~zvsvvjksjhg`N^k\UTYZYRPVXYb^WU[ZUMGD?@?><69?EIK[hWUYWZ\TFCA:68877:4„äQ/8;=BGHDQèîòòñóóóîèÛ‡PLDSÈßçëæëÓ›šÀÊš”ÇëááßÛ®xzwvyzxz}y{{€~zwxumhngfcbZfpc]NQ[XURSZW_YU[eXOICA@?CA?>DIC>K[kj]MPeQF@:;:7<;99>7wÛW2=CRPJU^^kŒmQVXKA;666;@CA>@JWbW[dind[WY_aekllpf\jzxqmfikW†ñƒUT\vwqrjfVTRQOMMPRT]Z;.3?sÞÓ¦p¶è—}|{s‰àÄdœÆÔ‚zst}~}tx{zswz|xwnbZafcaa_TXXXSQPONU\YTXYSNQXSQU^_sƒxbmxn[TW\^_ahfn~ƒ‚‚„~}€…‰ˆ‰•²”‰ƒ|}ssqh|zzzzyy|}{~K*/CgÌáÒ¼ÐòΧ¥¤£ÅòÖ»ÏáËmwww{{}uu|uqwz{qvld`_e`]`_ZZTVTU[\RQYXOMNT_[W[fzƒ‡ŒƒacqjSQY\\[]fikv}{|ts}ŠŒŽ’‰…‰‚nqplohrsstuwxxyxxzY?COj¤È½µ»ÂÉÊÉËÑÌÁººÇÕ©lxyzuuvyts{tsxvvsrmlmklknsqqrns{ˆ‘‡‰Ž‘‰Š•´˜€}|w|}lbnmbW[`_][_geirfeadcs~z…‡†„…~|sagqnjgmmmnoqrssttuutwz}~~|~~{|~ˆ‘ƒ‹‰tvwyxwvtsrqqrstsrqollmlmmqruxyxxvtsuwvvxz{‰•¤³³«~skkkkmlifa]\]ZY]^XY\]]`fhegdbeoohmjf^ismvznmlklmoqrrrrrqqsxz}~~}|{zywvu|ŒŒœžˆopqtwwvwusqqqpprqmlkigffgijlortvvuttrqqqooopu€‹–¤®®§ž‘thgfea_]ZWYYVWXXWXWVW[XWXYYWTTUPWWanwsoljijjlnopqonnnopsvyz{||||zywusr{…{†Ÿ“unnqsrrrtwyz{€€€……„ƒ|xqkgfhjlnqstttsqommmnnnosz‡˜­½¼§xlfgggc_^\XVSRTSRSW_bUUWZVVUTTSURWxvrmjiiijlnoppppoopprtuwxyyyxxwvusop}‹“’}zu|†“ ©«­¯­­¬¬®­¬¬®¯®¬©¢œ†dcegjnpsuvutqoklmnppnlmx‹¦¹¿³Ÿ†sjiigdbb[VZUUTTYWSSUZSTT[XUVTTwvvsokihhhjlnoooprrrrrrruvvwwxxxxwtsqmm~Ÿ±­¤¦£œ“‹‚{urnmjgihhjox€…ˆ{abbbceimqttvwvsqnjjknppnlo{«ÃëŒtihjjifd`_[XTSSSRRSTSXUTVWWuuvvtpkhfegijllmnopqpqpooprtuvvwwvusqqppl—“slb[URPWbhvœ«€jc[VUUSPKNrgaaa`^_`dinqstuvvspkgfjnomkhhv˜¾Ì¸tkijkjiheb^ZWUSRRRRUZTVUUuuuuutqlheefgiklllmnooonmmnprstuuvwtrrrqn‰^FKLQY_dSHILTWJA?UrqojeU>Kjgcabb`^_adinprsttuvslhhjkmonljrŠ¨¾Á­‹tkjkjjhfc`]ZVUSQUZSTSSqstuvvtqnieddegijjkklmmmlkllnoqssuvutssqv{?Lcr€Œ‘—g?>60-4;;JYWXZ\`S<[ojfcb```a``cgknqrsvvutqlggjlmmlihr‹±Çè†qkkllhfeeba_\XUUSSTloqqssrqplhb`abdfghijkjkllkjjjlmoqrsssspb@_”¡§ª®¯›ˆoSGHJJIE<88843JVFkmmjfca`a`^\^aejmpqsttssqkedhkklmjegy¤Éεrokihgfeeeedb^WTWjmnopqqrqpmgcaaaacefhiijklkjihijlnppqsssˆHZKž»¸¸·³®¡»¯}}ŸmC<47=<74_cW942p]Ofeinonkifdefda_`bgjmoprstsroidcfikkjifgwœÄϹrllkjhgfeefdbfikmoqsttsrpmjfcbbbbdfghjkkkkkjghjkmopo€gXk024332;H\r`LLGH>3Enu`D4ChEgfceilnnkhfeeeca_`cgkmopqrsttpkecgijjkkges™¼Î½œ}mlljjifffd`dgkmoqrsssrpnkfca`aabfhijjjjjkjhfijlmlƒSu\/38>A=>IJKHNLDE:BHiaC3{«ŸM_kgdcdfimliebbba`_^^agjlnpprtssqkfdehjklkifmƒªÊɯwmkljhjh]`cgjlnopqrrqomica___`beghiiijlkjhghijk‚LˆI024l“p;IF<;;;_oEHFVsf@65A‰lRmlifdbbegihfc`___]\]^`dgjlnopqqqnifdfijlklkhgx—·ÈÅ®’ynnmk„[adhjlnoqrqrqpmida`_`acfgghhijjkjgfgglxQŽ;45=t•Œ\=84445HWGLLmuƒL64.kIkllkgecbbdfhfb`_^\\\\\\]_cfikmnnnmlifcbfhikljfcgv–ÄÔÇ¡xklÄy\cghjlnpstqrqolhca```adeffgggghihgfdomc…6ADG‡—¬D@3132244AH„¥”R720R Qdmlljgeca_beedba_]\\]][[[[^adgiklkjkjfb_bdfhjiigcar›Ç×Ç™qÊÁr[degiknopsqppomhca`_`abcdfgghhiihgbu_xv@MMDc€fJLB77775458r›€P?32?žiVmllkkigd__adffdc`_]_`^^\Y[]`dhjkmnoonlfa`bfhijiiidbvÅÕÀ½Í³_Z`cgiklmrroqrolgca`_``acdghhhjlkk`vVmGNKZs{IHHFDDFDB??ršlC?=66˜}Jn]CCIfkieb``cgihfdaaaaaa_\\^bfilnopqqoomhcbdgjkjjihecsšÃ¬ÁΟZ]behijlnppqqpnlida```bcdfghh_NJQxqI–nMwW\uQMHIMTVVLQNPYm‹‡T@8<74qP>aE;=2[mkkifaacfhjifebaaaa`^]^`bfiknprrqqpmgccehiiiiiifcuz³ÄÎX^cfgiklnopqponlida``bcddefhF7:9x`?WOFcC>[^RLK:3557=;6434`mklkjida`dilkifca``a`_^]^`dgjmooqrrpolhbbdfhijjjhpP»ÈÈsYacfhjkmnoopoomlid````acddhA/549@E855114:=<6543346558857<<?=;769mj8=FLJILwtÐçÈÀȇ8+Qgaefgddeeefffghihhhhhgda_`behjiifb^\]]^_^\Z[^dhlkg®¯tqoldWOKg¯ÁÍÂp^cehijklmmmmmlkkhc__^_SP?/N¢Ï¶ÙðÓ”[]^g“yB§¡Bdwrb\e¦¶óíç×ÆY1*Iheeedcccddfeefhhfffhhiheb_^_chjkjheb_]]^__]Z[\bhga—©upklmeSVhŠ½ÆÔµf^cghiijkmmmmmlkjfb`_^WB739lÖÑååò¼›eZY]vrjÐÆai`bcbx³Í⽟“y1/-Ihefffcdhliceefggfefggiihfc`^^bhjlkjhda``____]Z[`bOŽ vklnlhYOQS“ÃÈÔ£\_bdeghikllmmmlkieb_^\F2//7r|}™¼¬¯enn^L„ðï‚Xutxr¤nk]632/.0Miffgfdn¾ÜÔŽbdeffeeffhiihgeb`^^aejmlkjeb`_```_]Z[\JvŒfnrpnmfSLJY¨ÄÌÓ‰Y`ceghhijkllmmkkheb_ZA/-,0-/2EA=gjPclmj†ÆÌŽxjdZUUN=>>;73/22Rkffgffe‡«¨–ebdeedcdfhhhhgfdba_]^cjlkkjgda``_^]\[YJ]~\ntqstxiTOJo¼ÇÑÃi]bdgghijjlllmlkjhd_Z7./.0259@GLT]ep”¦²ÌØø¯¡tcXMF@=95230Ukdchgggda``befdddccdefgfffedca^\]bhjkkjhdb_^][Z\VIWq\mnlkjke\RLN˜ÄÈÖŸZ`cefhhijjkllmkjifb]:-12458:>AGRe€Íáäçêíîììíðß…qb^ZMC;511/Xke_hgggggfcb‹tabdbbbcefeeeeedc`^\\_ejkkieb_][ZYZSFO]Znfcde`b^SMJg¶ÃÎËsZbhhfggiiklllkkjgca?+//059@IR`r›’Òìæíìëëììëðу°nVE;4000\jd\ddddddccacca`baabcdeedddeedba_\[]chihgea_\ZYZR@IOUlhggqlhcRLLLˆÀÅÓ­]^ccdfgihjkkkkkkieeE+-/.28?GVf~¦£ÇòìðñññòòòøÎ~Ÿ€nVI=41/2:ivsnz{}~~}|zvspno``abbddeeddddeecb`]\\bhhghgc^[Z[S>DFQnmggpnqiSMMKY©ÁÊÓ“`_bdfghhikjkkkkjhgI+-0.14:HEFO^_šÖÐɾ»¸®¨Ÿ™u<>69X”}‹”¦¬¯¯­³°±±²³³²³³°­¹šcabbddeeefeeeeedc`^\^chijjhe_Z[TFpnldhlntpmiRJKK~¾ÀÑÅl_cdgghjjjklllmnM09,--11:G=8>F@46640-,0123<™]Zfmqtvx{€‹–©¾™ŒŽŠƒ€€‚‚}vrvebcdedddeffffffffeca^[[^ehjjieC<?@@DGJMZyWNNICm®{dn…†…ƒ…‡‡\@D:7a™¥©¨¤¥¤Ÿ‰Zen]__bdedeefffffefedc`^\\_cikjlH;9G`ikinokmospmTJMM[¨ÀÈÔ^beghiijjlllmiG/:5:‰ŠEA9127:;:7CL9ZfQccc]]`baabdbacbbcddcccba`^\[<&1DmklsrmjlmmfhihiTJKKM–ÆÅÔ¹`]_addcdb`]WF623466679999:99:<<<=>9[¡HnVA75698774221O`23546:=B@6:@9CsK`cbbb_a_^bdcbccdcdedcccba`_]<#/FknqqmlmpqpkgklgTLKKJe¹ÅÌÖŠ^ddeeeeca^YQKHGGHHIJKKLLLMLNQPPPNTu›oJnM;554:=7543132124542Gyi15455oO[bbbe¥À½”_bccdcbcddccddcba``?!.AmklntutrtljkmkqePJKKM“ÇÉÕ¾icdefgfdb_\WSQPQSQQRQQRRSUVXZ\]]Y†ˆŠeNkDJE:HY]PCGE72322447 ,TXqzXNOVF5I\L_[ang‚°°¡e``abacccbbbcb_YQM9 ,7qwuoijmmmhikurue^XLKMO‹ÉÇÐÈsbefhifddca_^^^__^\ZXYYZ[]^dg_]a~{yWM\LPICDDDFFCAH@764;9LUBA<<@HOTTULLLNORVY[\ghUcKT`__abbbbcbba`_][ZYQKJ<*5‡z~€xv{xjhoyxx{se\RKJKJS¤ÇÇ׺e`accddeeeeeddccc`_^]ZZYZZOU_~}kjVVTSTSRRTUVWXWYYYZ[ZZ[[[\[ZZ[[[\]]c]HD_b`___``babaaaa`__``^QH@"+3†|t~xsqiksmjgoibbaUJKK]e¾ÃÊØ\`accdeeefeddddcb`_][YYY[ZUQSxeq\\[[ZYYZZYZYZZZZYYYYYYYYYXWXXXXY[Z_L;Odaa`____bbaaaaaa__^^]XK:(/0€}xw~xsorb^fp{qijeXKKKW^[ÂÀÖÁe_acbcddeeeeeeddca_^\ZYYZ\_dIP_\qWXXXXXWXYXXXXXXYXYYXXXXXXWWWWXWXZYZPAXdaa``___defdcccca_^]\XTI71,†z‡z‡z†z†z‡z‡z‡z‡z…z†z‡{‡{‡z†z†z†z‡z‡y‡y‡yˆyˆyˆy‡y‡y‡y†y…{ƒ‚~|ƒyƒuƒt„t„s†w†y‡w†y†z†z†yˆ{‡{†z‡w‡u†y†y†z†{†z…y…y‡z†|„~ƒ€‚ƒ€‚€‚†y†z†z…z†z†z†z†z†z†z†z†z†y†y†y†y†y†y†y†x‡y†y†y†y†y†y†y…y„{{‚xƒuƒtƒt‚v„u…v†y†x…x…y…w†yˆ{‡y†y…w…t…w…v…x…z†z…x†w†y…{ƒ~‚€‚€‚…z…z…z…z†z†z†z†z†z†y…y†y…y…y†y†y†y†y†y†y†y…y…y…y…z…z†z…y„z‚~€€‚{ƒu„w„wƒx„w…w…y…z„x„x†w†z‡{†z…y„x„v„v„uƒw…y†y†x‡x†y…zƒ|‚~‚€‚€…y…x…y…z†z†z†y…z†z†z…z†z†z…y…y…y…z…z…z…z…z…{…z„{„{…|…z…z„{ƒ~€€}‚z…y„x„w„w…y…|„{ƒy…x†w‡z‡{…{„{„yƒxƒv„v„x…y‡y‰yˆz‡z…z‚|‚~‚‚€€†x„|ƒ|…{†z…z…z…z†z…z…z…y…z…y…y…y…y…y…y…z…{„|ƒ|ƒ}ƒ}ƒ}„|…|ƒ}‚€~‚{„y„x„w„y…{…z…y„z…z‡z‡{‡{…{…{…y„vƒu„x…y‡x‡yˆz‡z…y„{‚~ƒ‚€€‚€ƒ{‚ƒ~„|„}„}…|…z…z…z…y…z…z…z…z…z…z…z…{„}‚}‚~‚‚~‚}‚ƒ‚~‚|ƒy„yƒw„y…z…y‡y†y†{‡|†|…{…z…y…y„u„v…x†z‡{‡z†z†xƒzƒ}‚‚€‚€€‚€‡‡ˆ†‡€…€ƒ~„|…{…z…z…y…z…|†{†z…z„{„|…}‚€€€€€€€€€€‚„}…}ƒ~ƒ~ƒ{„z…y„w„w„w„w…y‡z‡|†|„|…{†z…y…x„w…v…w†x†x†z†z‡y„{ƒ}‚~‚€‚€‚€€†{ˆz‰{…|ƒ„„ƒ|…z†{†z…y…zƒ}„{…{…}ƒ€€‚}ƒ~‚~‚€€‚~ƒ}…{…{„}„|„z„y…x…w„x„v„u…y†{‡}†|„|…{…{…y„x…y…x†w†u†v†x†y…y„|ƒ}~€€‚{‡s‡tƒx€…}„~ƒ…}…~†|†{„}‚€ƒ}…{†z†{…{„{„|ƒ}ƒ}„}‚~ƒ{…{‡z‡{…|…z…z„z…x„x„zƒx„w…z†z…|…|…}„}ƒ|„z„w„y„y…v†u†u†w…w„xƒ|‚‚€€€‚ƒ…~‰z‰y…|ƒ‚‡}…~‚€€ƒƒ€‚‚€‚~„yˆw‰wˆwˆw†x…{„{„z„|„{…y‡y‡x†y†{†y…z„z„y…x…y…y…z†{„{„|…}…}„~ƒ|ƒz„yƒy…x†w†v‡u†v…uƒw{‚~‚€€€‚~‚y‘y‘yŽzŒ{yz‚‚~ƒƒ€‡†~‡}‡}‡}†|†xˆy‡xˆv‡v…z„z„x…z…y†x‡x†x…y…z†z†{…{…y…u…w†x…w…z†{…|…}„}ƒ~ƒ}ƒzƒz„y…w…y†w‰u‡u…v‚w|‚€‚‚yy|{‘z‘||‡€‡~Š|‰{‰xŠzŠ{Š|‚{‡x†v†w‡w†x…x…u†vˆvˆv‡uˆwˆz†{…|†z…z…y…u…u…v…w…y‡{…{…}„~„}…z„yƒx…w†w†y†x†w„wƒy‚{~€€€~‚~ƒ……†‚†…‚ˆ‚………~‡†…~…‡‡~ƒ~…w†v†w†v†v†u†r‡tˆuˆuˆuˆw‰{†|…}„z„z„x…{„{„y†z†y‡{†|†}„~…}„z„y„x†v‡wˆw‡w„w‚y|‚‚‡‚€‚}„|†…„„€ƒ€…~Š‰‚„‚€ƒ€‚‚€‚€ƒ‚€}…v‡v†u†u‡t‡t‡sˆt‡u‡t‡uˆwˆz†y…z„y„x„z„|…{†z‡{‡yˆ{‡}…~„~„~„~ƒ{„x‡yˆx‡x‡zƒ{~€€‚‚ˆ‚€‚}„{†ƒƒ‚ƒˆ…‚ƒ€€€€‚ƒ}ƒƒ€€}…t‡t‡t†t‡sˆr‡s‡t‰tˆt‡u‡v‡x…u„x…y„x„{„z†y†y‡yˆzˆ|†„ƒƒ‚~ƒ{„w†wˆx‡x†{ƒ~€ƒ}„}ƒ€}‚|…x…}‡}‰{ˆ|‰~‡€…‚‚‚€~‚€‚‚ƒ‚€€}…u‡r†t‡s‡s‡rˆr†sˆuˆvˆw‡v‡w†y„y…y„zƒ{„y…x‡x†x‡z†|…„„~ƒ~„|…w…tˆu‡v…w{€~€}}~‚}ƒ~ƒ|‚w„rƒ}ƒ}ƒ|„}„}„€‚‚€‚€‚€‚€ƒƒ‚€€|…s‡r†s‡sˆsˆtˆs‡tˆv‡w‡x‡w†w…x„x…y„zƒ{„y…x‡x†y‡{‡|…}ƒz‚z„xƒv‚q‚pppn|q|q|p~qsw{ƒ{‚wq€nm|ƒ}ƒ}„}ƒ|„~ƒ€€€‚‚€ƒ„‡|ˆ}†~„~†|…u‡t‡sˆuˆu‡v‡vˆu‡w‡x…y…x…y„zƒzƒ|ƒ|ƒ|ƒz†{‰{†z†x†s‚nh}n}m{r{tzr{o{m{h{f|g|f~e~f~f~h€fe|g~ilƒ€ƒƒƒƒ„„~ƒ€ƒ€„€ƒ€ƒ€‚‚‚‚‚‚ƒƒ€ƒ€‚ƒ}„~„}…}…}…}„~ƒ~ƒƒ€ƒ‚€‚€‚‚‚ƒ…‚…„}…x…uux€yz€yyx~x~w~xx€uqp€p€m€lno€n€m€ˆ~‡†ˆ‰~‰}‰}ˆ}‰}‰}‰}‰|‰|‰}‰~ˆ‡€‡†ˆˆˆ~ˆ‡€†€…ƒƒ€„€„€…„€ƒƒ€ƒ€‚€ƒƒ€„€†€…†€…€„ƒ‚€Š…€ƒ€ƒ€ƒ‚ƒƒ‚ƒ‚„‚„‚ƒ„€ƒƒ€€|w‰|ˆ}ˆ‡‡ˆ‰~Š}Š}Š}Š}‰}Š}Š|‰|Š|Š}‰~ˆ~ˆˆ‹}|Ž{{{{}}Ž|||Ž|‰„ƒ€ƒ€‚‚‚ƒƒ„†‡†……€‚ƒ„€Š€†‚‚‚‚‚„€…€„€†€†€…€†€‰|‰{‰}ˆ†‡ˆ‰~‰~Š}Š}Š}Š}Š}‰|Š|Š|‰|‰}ˆ}‰~||{Œ|Œ}Œ‹„‹‚‹Š~Œ}Ž{Ž}†€„ƒ€ƒ€ƒ€€€€€„€‡€ˆ‰~‡…ƒƒ‚ƒ€‚€‚€‚€ƒ€ƒ€‚€„€…€…€†€‰}‰|‰|Š|‰}ˆ~†€‡ˆ‰~Š~Š~Š~‰}‰}‰}Š|‰|‰|‰}ˆ~ˆ}‚||~{‚}…}†‡}‡zˆ|‡~ˆ}Š|†‚ƒ€‚€‚€‚‚€€€ƒ…€‡~ˆ~‰ˆ€„‚€ƒ‚€†€ˆ€€€‚‚ƒŠ~Š}‰}‰}Š}‰}‡€‡€‡‡~‰~‰~‰}‰}ˆ}‰~‰}‰}‰|‰}†~†}||{„zƒz‚|…z‰x†}…‰|ˆ|†ƒ€€‚‚‚€€€‚€„€ˆŠ}ˆ†€ƒ‚‚…†€‚€‚€‚ˆ€Š~Š}Š|‹}Š|‰~‡†€…€‡‰~‰~‰}‰~‰~‰~‰~ˆ}ˆ}†~ˆ|ˆ~††~‰yˆxˆy‰y‰y‚‚ˆ~‡{…~†„€€‚€€‚‚‚‚‚‚€€€‚„‡‡}ˆ‡ƒ‚€‚€‚€‚€‚ƒ€„€„‰‰}Š}‹}Š}‹~‰~†€†€†‡€‰~Š}‰~‰~‰~ˆ~ˆ~‡~…}‰{Š}†„‚‰yŠyŠy‰y‰z‚~…‡ˆ{…}‡~‰~†…€ƒ€‚ƒƒƒ‚‚‚‚‚‚€‚ƒ€†‡~‡~†€„‚‚ƒƒ€†€€ƒƒ†€‡‰Š}‰}‹}‹}‰~‡……€‡ˆ~‰~‰~‰~‰~ˆ~†…|ˆzˆ|‚‚„€ˆyŠy‰{‰zˆ{€„}‡‡~‹{†|†~ˆˆ~‡~†ƒ€‚‚ƒ€ƒ‚‚ƒƒ‚‚‚€‚€€‚‚ƒ‚…€‡~ˆ}‡}†‚€„|„ƒƒ‡€‰~‰}Š}‹}‹~‰~ˆ†€…€‡‰~‰~‰}ˆ}‡~…ƒ|„{†|†~†~‡z‡{‡}‡}…}€„~††~Š{ˆ|†~…€„€…~ˆ~ˆ†ƒ€‚‚‚‚‚€‚‚‚…€‡‡††~…€ƒ|†|„‚†€‰‰~Š}‹}‹}‹|Š}ˆ…€†‡~ˆ}ˆ~…€…€‡€‰~‡~‡ˆ~‡~‡~‡ˆ†‡~‡€‡‰~‹|{|„€ƒ†~ˆ|‰}ˆ}‡~„€‚€‚‚‚‚‚€‚€‚€‚€‚€‚‚‚…†€‡}ˆ|‡~}“}‰~‚ƒ‡€‰‰~Š}‹}‹|‹}Š~‡~††‡~ˆ}‡†‹}{Ž|Œ|Œ}Œ}‹|‹}‹}‹}‹}Œ~Œ}Œ}|z‘z†~†‰~ˆ}‰}‰}‰~ˆ~†„€‚‚‚ƒ‚‚‚€‚ƒƒƒ–…†|ƒ„}ƒ}‚„ˆ€ˆŠ~‹}‹|‹}‹}‰}††€‡ˆ~‡~‰}|~}‹|‹|‹}Š}Š}‰}‰~Š}‹}Š}Š}‹}Š€€Š†ˆ‰‰~‰~‰~‰}‰}‡„€‚‚‚‚ƒƒ€ƒ€ƒƒ‚‚€€€€…{²y½€Ÿwƒ„ƒ|ƒ~‚†‰‰~Š}‹}‹}‹}‹}‰~…€†€‡‡‰~Œ~…Œ„‹ˆ~‰}‰}‰~ˆ~‡‡€‰~Š~‰~‰}†€|ŽƒˆŠ€‡‡€‡€‰~‰~‰}‰}‰}‰}‡~…ƒ€€ƒ‚‚‚ƒ‚€€‚|ž{©€™pz‚‚}‚}‚‚‚ˆ‰}‰}Š}‹}‹}‹}‹}ˆ~†€†€†‡€‡€ˆ‰„‡††‡†ƒ††††€†‚‚„ƒ‚†€‡€‡€†ˆ~ˆ~‰~‰~‰}‰}‰}ˆ}‡~„‚‚‚‚€‚‚ƒƒ‚‚„‚††h{m}|}{Œ~‚ƒ‚‰‰~Š}Š}Š}‹|Œ}Š}‡†€…€……€ƒ€‚‚‚„ƒ‚ƒƒ„…„„‚€€‚‚ƒƒ„‚„€†€ˆˆ~‡~†ˆ‰~‰}‰}ˆ}‰}‰}‡~…ƒ€€‚€‚‚‚‚‚‚‚‚…€†k}h{q~|‰}‡~‚ƒ†ˆŠ~Š~Š}‹}‹|‹}‹~‡†€„„€„€„ƒ„„„‚ƒ‚„ƒ„„„†ƒ€ƒ…€…ƒ†ƒ…ƒ€†ˆ‰~ˆ†…‡ˆˆ}‰}‰}ˆ~‰~ˆ~†~‚‚€‚€‚‚ƒ„‚†”k€j|k|v€€‚~ƒ}ƒƒˆ€Š~‹~Š~Š}Š|Š|‹}ˆ~†€ƒ€ƒ€…€‡‡‡~†ƒƒ€‚‚‚ƒ„ˆ~‰}ˆ€‡€†„†ˆ~‰}ˆ~ˆ~ˆˆ€ˆˆ~ˆ~ˆ}‰}‰}‰~‰~‡„‚€‚€‚€€€‚ƒƒƒ…nnm~s‚ƒ€‚}‚~ƒ…‰Š}Š}Š}Š|Š|‹}Š}ˆ‚€‚„€†‡~†}„‚€€€€€‚††~‡‡€†€…€ˆ~ˆ}‰|‰}‰}ˆ}‰‰ˆˆ~ˆ~‰}ˆ}ˆ~ˆ}ˆ}‡~„‚€€‚€„€‚‚§o„m€i|ny‚‚~‚|ƒ€‚‡Š~Š~Š}Š|‹}‹|‹|Š~„€€ƒ€ƒ‚‚ƒ‚ƒ„ˆ‚‰‹€ŠŠ€ˆƒ‚‡}Š|Œ{yŽy‘x‘w‘w‘v‘t’u‘v‘x‹}ˆˆ~‰~ˆ~ˆ~ˆ~‰~ˆ}‡~…€‚€€‚€ƒ€‚|«kk~hzi|k}z€€‚}}‚ƒˆŠ~Š}Š}‹}‹}‹}Š}…€€‚‚ƒƒ‚ƒƒ‚†ƒ‡ƒ‡ƒ†…€†‚ƒ‹|”x•u•v—w—x•y”y•y–x—x–x•y‘{‹}‰~‰~‰~ˆ~ˆ~‰~‰}ˆ~ˆ…€‚€€‚€‚€‚€{«onizgyezs~€ƒ~•|ˆ~‚…€‰~Š}Š}Š}‹}‹}‹}…€‚ƒ‚‚‚‚‚ƒ‚ƒ„‚„‚ƒ‚ƒ…Œ|Œ|‰|ˆ}†~†‰‚Šƒˆ„€„€„€ƒ€‡~Œ|‰~‰ˆ‰~ˆ~ˆ}ˆ}‰}‰~ˆ†ƒ€‚{¥m€k~hygxfyk}{„Š~„}‚€‡Š~Š~‹}‹}‹}Œ}‡‚€‚€ƒ€‚€‚€‚€‚ƒ‚ƒƒ„ˆ}Š|€|z~z~x}~~Š{Œz‰{}}{}{}y}€}Š{ˆ~ƒ€†€ˆˆ~‰~ˆ~ˆ~‰}‰~‡~…€ƒ€ƒ~}žf€g~gzhxhxizq€~€‚~‚|‚ƒ‚ŠŠ~‹}‹}‹|{ˆ€ƒ€„€ƒ€€‚€‚€‚‚ƒ€„‰}‰}€}z€z{~‚}Šw‹wŒx|z|€}€ƒ~‰z‰|…€†ˆ‰~ˆ~‰~‰~‰}‰}ˆ~‰†ƒƒ~˜ih~gzfxgwhxhzu€‚€‚}‚‚ˆ€Š~Š}Š}Š}Š}†€€ƒ€„€‚€€‚€‚€‚‚ƒ€…~Š}ˆ}ˆ}‰‡ˆ~‰|‹w‹s‹w‰{‡~‰‰‰|ˆ{Š|Š~ˆ‡‰‰~‰~‰‰~ˆ~‰}‰}ˆ~…€ƒ€‚€Šjh~gydxgyi{hzs~€‚‚~‚~‚„€Š~‹|Š}Š~‰†€ƒ‚‚€€‚€€‚‚‚†}‰}…}‰|Š|‰}Š|Š{Š{‹x‹y‹zˆ~„ƒ†‰z‰{Š}‰~ˆˆ€…‡‰~‰~‰~ˆ}ˆ~ˆ}ˆ~ˆ…ƒ‚ih~g{fxh{k|i{n|‚‚}‚€ˆŒ|‹}Š}‰~ˆ†€…€…€„ƒ‚ƒƒ„€„€…‰|‰}ƒ}†|‡{†|‡|‡|ˆ}‰{Š{ˆ{‚€{…‚…|‡|ˆ}Š|‰~‡ƒ€ƒˆ‰~‰~‰~‰}‰~‰}Š|Š}…€‚j€j}j{j|i}i~h~kt€‚€‚}‚ƒ‹}Œ}‹}Š}Š}Š~Š}Š~‰‡‡€†€†€†ˆ~‡~‰|Š}„}…|…~ƒ~…~„}ƒ…~†}„}€‚€„†~ˆ}Œ{†~ƒ†€†€ˆ‰~‰}‰~‰~‰}Š}Œ|{‡~lƒki~i€n„k„h‚kr}‚‚‚„}ƒ‚‡€Š~‹~‰}Š}‹}‹}‹}‹~‰ˆ€‡‡€†€‚„€ˆ||{ŽzŒ|Œ|Ž|Ž{{Ž{ŽzŽzz‘y‘x“x”w•w“w‡„€ˆ~‰ˆ‰‰~‰‰‰‰‹}Œ{‡}‚€l‰nˆm‡nˆq†p…m„p…t†|„‚~™}Ž}‚‰Š~‰}‰}‹}Š}‹|‹}Š~ˆ~‡‡€‡€ƒ€ƒ‰|’w–v•w•v•v–w–v•w–v•u–u–v–v•v•v”v–u“vˆ‡‰~ˆ‡~ˆ‰‰‰~‰ˆ€‡†~…ƒÏÏÏÏÏÏÏÏÏÐÑÏÏÎÎÉÄÇÄÍÏÏÏÏÏÏÏÏÏÏÏÏÍÍÍÍÎÍÍÌÌÍÍÍÌËËËÍÍÍÌÍÍÍËǾµ®¤ “~qhkvjigmlscfbU\`\[a\S[`\]UPNSYX_d`eRTUVVVTSXTPV]^\XTME=8;;522?2ÎÎÏÏÏÎÎÏÏÏÐÎÎÍÌÇÃÇÂÉÍÎÎÎÎÎÎÎÎÎÎÎÍÍÍÌÍÌÌÌÌÌÍÌÌËËËÌÌÌÌÌÍÎÎǶ ¦˜vƒ{~t_^an|n^^nkg[XXZ_YVTO]f_[ROOPXV[ghgOU\_YQPKQQX_a[VOLJ@@66631075ÍÍÍÎÎÎÎÏÏÏÎÎÎÍÌÇÁÄÀÇÊËÌÌÌÍÍÍÍÍÍÍÍÍÍÍÌÌËËËËËÌËÊËÌÍÌÌÍÍÍÍÍÌÀ£Šˆqpnnklnnt~{_b`ccZY[ZZ\RSV\bYYXVSQTRV\fcPQXZTMNMQQ\c_aYPGA?<851220.2ÍÍÍÎÎÎÎÎÎÎÎÍÍÌÌÈÁÅÁÉÌËËËÊÉÊÊËËÊÉÊÉÊÊËÊÊÊËÊËÌÌËÌÍÍÍÍÍÍÍÍÌÍÌ´—’ylsuyt}~feb\gY`bb[ZWU^YSYedRPRVWRMKVOXfQOSWYPLROPXa^`UTUOH><84221--ÍÍÍÍÌÌÌÌÍÍÍÍÍÍÎÉ¿ÁÀÊÎÎÎÎÍÍÌÌÌËÌÌÌÌËÊÊÊÉÊÉÉÊÊÉÉÉÉÉÇÉËËÊËËË̼’Ž„~ral|mch`_`Wh`XWSSLZ`^`pn[QOT[SMITRRXRYZXUNOQTZ_XVZQOXOI>?@:520,+ÍÌÌÌÌÌÍÍÍÍÍÎÎÎÎɹ»ºÉÎÎÎÎÎÍÍÍÍÍÍÍÎÍÍÎÎÎÌÌÌÊËÌÌËËËÉÅÉËËËËËÈÆâ‰xzoh_lope`a_W\^URZRSPXfeefcgVQVXSQRTRRVQX]_USTPYZ\XWSSOQPI>?=5550.2ÌÌÍÍÎÍÎÎÎÎÎÍÍÎÎƺļÆÎÎÍÍÎÎÍÎÎÎÍÍÎÎÍÍÍÍÍÍÌÉËÌÍÍÍÌÉÅÊÊÊÍÎÌÇÄÁ³™ywoeVSb`Y]``]a`WUQKMUY_aci^ZSOOPNJSQSP^KSSYZVYX^Z[WRPSNQIEC>@;530/3ÍÍÎÎÎÍÍÍÎÎÍÍÍÎΞÌÁÅÎÍÍÍÍÍÍÌÌÍÍÍÎÍÌÍÍÍÌÌÌÉÉÉËÊÆÄÄÀÇÅÈÌÍÊÿ¼­vqTRQQOWYloebc\XMCAMYT\aa^VSRJLKHLHOKXNQTUVVZ[Z[^YRNRMUNBG@>>40.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÍÍÍÍÍÎÍÍÍÍÍÍËËÉÆÅÈÁ¿¹Á½Á¿ÅÊÉÅ»®¥¦Œ~tq]UVXXih]nff_UUQQUTcTOZ]SNVXQKJGNOQYVQOWYUSWWUNSYSPVQWV?46220..--ÍÍÏÕÔÎËÌËÊÊËËËÌþÇÁÂÌÍÎÎÍÍÍÍÍÍÍÍÎÎÍÍÍÎÎËÃÂÁ½Á»º¬¾º¿¸ÀÆ¿¾³¤ŠŠp‰zeZ^Z[djVl\T\SMST]]UMOQXQOSUWLKKSRRYf[NVXVUUUYQPYWW\]MC=7540.-,--ÍØæïìâÐÊÉÃÀÁÄÇÊÁ¾ÆÁÀÊËËËËÌÌÌÌÌÌÌÍÍÍÌÍÍÍÌÅÁ»±º¶²¡ºµ¿µ¸Á´¼³™†|zlgabbaRZbZUd[RY\OSRV\TUSNNNKKLRXUOQOQQbZMY[WQLNXWVSWPLK@7=<:62.-,--ÚíáÆÏëè͹³²¸»ÁÂÂÉÆÂÊÌËËËËÊÉÊËÊÊÊÊÊÈÈÈÅƱª¦¬¯¦ž©®¸­³¹­¬¡ƒxxsjhQ_eZWbXQ]h^X^XKOQS[``TPLLLMPLTWKOTNR[\X`\SOLNYUVVOPWJBB=:;:51/.-,Þ寜Íæ˺³±°³³¾ÃÅËÈÄËÍÍÍÌËÊÇËËËËÊÉÈÆÂþ¿³¡š˜£¥™–Ÿ®¬«¬§£™‚slkhjn]VXT`_TV]ZY_VSVSRTT_XPSONSUQSSWQOWPSY^X]WX[V\^SSYWSQ@>G:767752//.Šˆ€ƒ‡‚„ƒ„‡˜«³ÀÃÄÊÇÁÊÍÍÍÌËÆÁÉÊÊËËÇú²µ³¸ªŸ•Ž™›—“ ²®«¡˜™viddVf`RLHOV`WQQ]g``n^^b\TWNOOOOQVRTPSZRYON^]\fZb^ggaRPMMJKA=A8854453./2’…Y[TX‰‡|Šµ¾¹ÂÇÆ¿ÈÌÍÍËÇ¿¹ÅÊÊÈƼ¬¡œœ£¤š›–‰•™’’©«’Ž„udcfY]TOSQPY_^Zhn^PUbNWon[QOKLMKFILLNNMPWTW]TRWW_e^]XOJLGFFCHA8543344/03«¶¸„VWÉÚÝѬwª¸²¾ÆƸÁÉÉËÊǾ³ÃÊÊÁ·§™œž•˜•ŠŽ‚–”‹–‘Š‰Šƒ~usnaXSW[YOX\UT\h\RQ^ff`^[RRMJIGIGGEFNLR]ZVZVNZffgV^SMTSHIA?A9754313337TkUG4?_Wf‡Sm ‚…ˆ‚—‰ˆ~~„‡}‰yzwuuuwsbVQYWZVYWNY[^_gghkqlQ[[TMQPGEFOVQONOPIJUY]ZNN^Z`]]feV^S@::<=;::8:==>;UUTTUUUUTUXZackŸèâ¢HG?=Ifd`YHBD@MŸ€~‚ƒŠ—ˆ„‰{‚‰‰…~‡‚|xvwzuun_X\_TVSTW`XON_sƒtb\]eRSMLRRMMJB?LTQRTSN[dceZSXY^[R\XUVG;89;;78:98<===RSUSU`UTSSR~~¸zÒËjAKQRKSPQWSLKJFnÁøÏ}‚~y~}~…„|€{~wquxxsnjf\SMJWVZSTW[ZWHX^Z\XX_WKMTOLILOOPTUXV[neZZYYVYXRWKMJ?763b}97988:AECEUV\aq¦n`ZShãéêít°É´§«¬¬¯¶··¹¹¶³±®º¿ÂŸ|{|~{}|{ƒ}xxpnwxzphabSPRD@MVVUXZOKIVY[[UZd^SMLIKOMMJGKNVXY]`Z^WURVOKMHA<8676Vˆ>789<;?HJHXGIM|ÍrNJEnæâä×[ÉÖÒÔÖØØ×ÚÜÚÙØ×ÕÒÖÈtzyw{z}{}‚‚‚ywxmintxmga^OQTHJQUX[UPSPTUZUVWY`\RKDCCEHIFEGJRU\[UMVRTSSNGFC=96676Ww?98;=;AGGH„ˆ—°ä£“Ž…’ynbB—ØÚáãääæèçäéêçäääßØ›swxvwvzz€~€xvvoummuphg_QVWTXY_\XGEQW_WZXWTV\VOIBEA>??=;?JNVbYRWZRW[PMG<:987772‡ßN27;9;AHIJçèéëêèçèççãºcKE=”ÜÜåëëêæààæÜÔÜëêæß×Àyvxzywxz}}{~zvsvvjksjhg`N^k\USYZYRPVXYb^WU[ZUMHE@@?><69?EIK[hWTZWZ\XHDB:68877:4…äP/8;K[kj\LPeQHB;;:7;;99>7xÜV2=@;yée7?9;CIOYbWLYZ\[XYg^R}XDETsÞíêìêìëèèìéæéëëëìïÎ~wyzlzz|||vu…sstqhfirziWUUSQRNTXOOZ[YTZa][NRTOIEKPI=?MSNgnjxˆi[^RIC>:;?FMIB=?9~ón9;4=HHX_lxy‡‹—ŠŠzfLKJCdÕîìîíëíïîîïïîëîïíïÁwx}{jy}y|ws€~zroljigdbmaSV]YW\TPTRSR[]Zd]UVROIGGBGKFEFNMTilkuucaliWQNMPUTWUIHP:zõt769UZ\khhVZ^^hsddcb^K=>=9]ÊîæÝßëß×××Ø×ÛëÛÒàê´txxwry}zy{{uzwxtqkb``[[ibUOWY`ZXSNOXUZe_`XPNUQLE?>IWaW[dind[XY`adjmlpf]iyvqmfikW‡òƒUT\uvpsjfVQONLKJKNMSZF/17T»Ý½yˆç¼zvtst¶é€o¸Ò¤uvs}~}tx{zsvz|xxna[bfcaa_TWXYSQPONU\YTYYSNQXSQU\]rƒzclxmZTW\]_ahfn~ƒ‚‚„}€„‰ˆ‰•³”‰ƒ|}rsqh{zzyyyxy|z|‚k-/5V¢æÜÉÊëç¾±¯¥®æìÉÎßä‡pww{{}uu|uqwz{qvlc`_e`\`_YZTURU[\QOXVNLNS[YWYeyƒ‡‹†earkTPY\\[\fikv}{|ts}ŠŒŽ’‰…ˆ‚nqplohppprtvwxyxxzn?:>`‡¿¿®´¼ÅÇÃÆÎͼ°®³Å¿wtyzutvyts{tsxvvssnlmklkmrpoplpyˆ‘†ˆŒŽŒ††’°•}|}y}}namnbW[`_][_geirfeadcs~z…‡†„„~{sagpmjgljklnprsttttvssu~~}~~}|~{{}ˆ–’‰…{rtxxxwvtsrqqrstsrqpmkllmnqsvyzyzxtsuwvxz}~„˜¥´³ª—ˆzqjjklmlifa]\]ZY]^XY\]]`fhegdceoohnkf^itntxnllklnoqrrrrqqrtxz}~}|{{ywvv}Žž‡opqtwwvwvurqqpqsspllkjhhjllmpsuvuutsrqpqooopv€ª¯­¥ž€rggfda_\ZVZYVWWWVXWVW[XWXYYVTTUPZZbqysoljiijlmopqonnnnptvyz{|{{{zywusr{…zˆžtnorstvutrpnmliglmljeeeceedhklnqstttsqommmnnopt|Šš®½º¤Štkfhhgc_^]YVSRTSRSW_bUUWZVVUUSSUSYxuqmjiiijlnoppoooooprtuwxyyyxxwvusop~Š•”}{qonprx}‚†‰‹ŒŒ•˜——“‘Œˆ€slgbcdgknpsuvutqokkmoqomllyŽ©¼¾°›‚rjiigebb[VZUUTTYWSSUZSTT[XUUTSwvvsokihhhjlnoooprsrrrrruvvvwxxxxwtspmm¤¢„Ž§­¯­®®«ª¤££  £¦¦ª¬«§£`babceimqttvwvtplkjloponlq”°ÅÁ¨‰rhhjjifd`_[XTSSSRRSTTYUTVVWuuvvtpkgfegikllmnopqpqpooprtuvvwwvusqpppnrŸ§ œ”‰~uqlgefic^]\[\binsw‰p`aa_^^`dinqstuvusojggkoomkhiyœÀ̵skijkjigeb^ZWTTRRSSTXTVUUuuuuutqkheefhiklllmnnoonmmoprstuuvwtrrqqn£mc\UQOMPXcn‘²¦yja][XVSMBQtgcabb`^_adinprsutvvrlhhjkmonkis¬¿À¦ˆskjkjjgfb`]ZVURPU[STSSqstuvvtqmhdddegijjkklmmmlkllnoqstuvutssrnvBJMS]cjbB?>?BA;8;gvuqmfP43NlCdfinonkifdefd`^`cgjnoqsttsroiddfijkjieh{¢ÆϹrllkjhgfeefdbfikmoqstssrpmiecbbbbdfghjkkkkkjghikmopqr‹PeN7jpgZOR_{™‡u‚|I82OncT52:J[ecejlonkhfeeec`_adhknopqrstspjecgjjjkkgeuš¼Î½œ}mlljjheffd`dgkmoqqssrrpmjfba`aabfhijjjjjkjhfijlmosƒF|@123345DRYNNOECD6;Oxm\:OZ‚Œ{<625‹oSlklkheba_beedba_]\\]\[[\\^bdhiklkjkjfb_bdfhiiigcbtŸÉÖÄ–pÊÁr[degiknopsqopomhca`_`abcdfgghhijihfbOP:I@f™¢§UH=2222333>P˜¢zA410qKjkklkjgd__acefdca_]__]^\Y[]`dhjkmnoonlfa`bfhijiiidcy ÈÕ½½Í³_Z`cgiklmrqoqrolgca`_``acdghiiikjigc|S–JJMIKs~rQKJ>9::8656MŠ™eJ751X¤Mdlkihmkjeb``cgihfdaaaaaa_\[^cgilnopqqoomhcbdgjkjjiheduÆ­ÁΟZ]behijlnoprqpolid````acdfghhhkklkhn_–JLQIz}—^EHGFEFFDB@T™QA><2M¬R[mL>>Nkllifaacfhjigebaaaa`^]^`bgiknprrqqqmgccehiiiiiifdu~µÄÎX^cfgijlnoqqqpnlhda``bcddeffdPFCj‚Wb˜NdxFrYIFILTXZTLTIU]r‹mH>8<1El7MZ:?96gllkjida`diljifca``a`_^]^`dgjmooqrrpolhbbdfijjjjifQ’»ÈÈsY`cfhjknopqqpnmlic````accdfY6<8UoHBVBRT7?A@AJTVSNIF@9>9B[WOPI6466==6331>ikkjkkiebaadhiigca_^^__^]]_adgjlnppppopmhbaehjkjjjYy°¿Í³b[bfhjklnoppppnmlgba`_`aabeW0243;DC463127;=84333345568756;:;;9:J\=;997666666666666677667777899K~UZhpiqž×³€oibXUVD;>=951-26bhefgggda_`ceedddccdefgfgffdca^\]bikkkjieb_^][YZZXJ]mnlkjle\RLN›ÄÈÖŸZ`ceghhijjkllmkjifa_I-0..137EFhqjhoosqeZOKJw¹ÁÐËq\befghijkklllkjih^2-/./36@EGN]qqÏÛÖÏÉƾ¹¯¢[?>51f¦dKS[cx•———¡¢¤¤¦§¥¤ ·ÚÚÎy]bbcdeeeggfddeeeca_]]bfiighe][[V=?AuxnkqpolooYLKP“ÀÄÕ®_`defghikkkklkkjja4/..4AU²¯J-,/AJKKIHFEDA@?BELHi¨×¹¬²³±°ª©§§¥¢  ¢¢£¥¤¢£££‰bbbcdeeeeffddeefeca_\[_ehhhhc]\W==@rojhlmhfhidMKI_®ÁÉÖ‰Zbdffgijjjkllllla36..0?tñ׉oxƒª‰˜Ÿ£¥ª¬¨¤¤¥¨±—›˜‘‰…‚~|xxxwwwwwwxyz}”y`aceedddeeeeefgfecb_\\`fhhihd`Y>heahflqtpss_LKZh¿ÄÕ¬bcdfhhikkklmmmld0:0-,/15EG7:@I74432.+.1012:›œcXZ\^`bdfmry‹—†…}|zxyyztfsr\^_beedeefffffeffdc`_][`cikjkhD<?@AAEGJMfmMKHGBl¶^ez€ƒƒ}~~ˆ‚…Žmcyƒ~‚‚€€€x{cs®À©ibdddddefffeffedba_\[]dijkmI;9ztqpuqkknkgjeLJKIw¼½ÎÊu\beefghhijklj]-;4-+*-//013347789=IH952/1Œ¤cfy‡Œ“œ¡ª¬°M3447`·ÍÏËÄÇÉÆ«|bT¶äá ^bbcccdefffeeeeeba_\Z]chkmJ66x~qkjigijoi`NILKM”½ÀÔ­[^abddeghjkg\R,96//6,***)))))))))))**)'C“ŠMq–ÑÖØÛÞßàä˜V`TNOR¾äàÝ×ÕÝàÒd|Kkxomaabcccddeefdceeecba_\Z\chlI44qvsutkmfllnkjcVLKHc·¾ÉÓ~W^accdefff^UP+8632VP=6200/+********.11c™yMr’äÜÛÛÜÛÛ߈ZhckQP²âÜÚÕÏØÞÓRn\Ye]]njbbcbccdddccdddccba^[Z\cjH32nurttlnhijjknshOJKM—ÃÅÕ¸c`cdefeeddaXR/85613HEB=564,***+,.27G24545;M`P3588:sK]ab`Œãðè˜_bbcbacccbbcdcbbb`_B#-jpvtpsqlnjkigiraJJKLKc¸ÉÌÕ•_ddeggec`]YUQPPQQQQQPQQRSVVXZ[\\Yr€`PkF>859EH=7:6232124541S›s6<743fYUabba‘°¯¢e``aaacccbbbbbbbba_B!+qwuoijmmlgijtrue^XLKMO‹ÉÇÐÈrbefhifcba^[YXXYZYXWTUUUVY[[^aa_g ~‚XWaDRLBQ[YPHMN>3222339FY‡bJOL=3PbL`a[^`aZ[`_``a`bccbbbbbba\UO; *hijga`ciiqyxrtnjncRKMR^´ÇÆÖ¦befhjfedba`_^^]^^][XXYYZ\]_gjigzŸuyP^[JRLFFGIFFEKP80117>DUZeiTLMUL:CTK_Vmˆzk^`aaabbbbbbbaabbaRKJJ9!*smlmjuoqhsrtts|~j\SKJLKÇÃÏÒ‚beefeddcba````a`_^[YYZ[]]]hgaefr€uPMUONFCCEFHHEAHEB<8CRQOSRSSLD?G>86I^Nw¢{]Waabbbbcbbaaa`^][NJIJ: )†z~€yw{wihoyxx{se\RKJKJS¤ÇÇØ·c`bcccdddcbbbbbaa`][ZZZZZ\\d‚™®ˆylV6>A=CSZ]WIE>E]IC:6;GOPMND>:9;>@CFReaNyPK[`__`bab`aaaa`ZXVUOIJ<(†}t~ysqjlsmjgoibbaULLJ]e¾ÃËØŠ\`acbdedccddccbba^]\[ZYXZTSs„š‚okY@;<@JSRIEBABPPHJHKMPUWXXUTTVWY\^__djVPQ\`____bbaaaabbaaaaa]OIB")€}xw~xsorb^fp{qijeXLLKW^[žÂÁÖ¼c_acbcddccddddccb`^]\[YXZZPOV|…xnhZ[ZZXVXYZZZ[ZZ\[[[[ZZ[[[[ZYZZZZZ[\aWBGcb``___defdccccaaa``_WI>(-†z†z†z†z†z†z‡z‡z‡z…z†z‡{‡{‡z†z†z†z‡y‡y‡y‡y‡y‡yˆy‡y‡y‡y†y…{ƒ‚~|„yƒuƒt„t„s†w†yˆw‡y†z†z†yˆ{‡{‡z‡w‡u†y†y†z†{†z…y…y‡z†|„~ƒ€‚ƒ€‚€‚…y…z†z…z…z†y†z‡z†z†z†z†z†y†y†y†y†y†y†x‡x‡y†y‡y†y†y†y†y…y„{{‚xƒuƒtƒs‚v„u…v†y†x…x…y…w†yˆ{‡y…y…w…t…w…v…x…z†z…x†w†y…{ƒ~‚€‚€‚…y…z…z…z…z†z†z†z†z†y…y†y…y…y†y…y…y†y†y†y†y…y…y…y…z…z†z…y„z‚~€€‚{ƒu„v„wƒx„w…w…y…z„x„x†w†z‡{†z…yƒx„v„v„uƒw…y†y†x‡x†y…yƒ|‚~‚€‚€…z…y…y…z†z†y…y…z†z†z…z†z†z…y…y…y…y…y…y…z…z…{…z„{„{…|…z…z„{ƒ~€€}‚z…y„x„w„w…y…|„{ƒy…x†w‡z‡{…{„{„yƒxƒv„v„x…y‡y‰yˆz‡z…z‚|‚~‚‚€€†x„|ƒ|…{†z…z…z…z†z…z…z…y…z…y…y…y…y…y…y…z…{„|ƒ|ƒ}ƒ}„}„|…|ƒ}‚€~‚{„y„x„w„y…{…{…y„z…z‡z‡{‡{…{…{…y„vƒu„x…y‡x‡y‡z‡z…y„{‚~ƒ‚€€‚€ƒ{€‚ƒ~„|„}„}…{…z…z…z…y…z…z…z…z…z…z…z…{„}‚}‚~‚‚‚~‚}‚ƒ‚~‚|ƒy„yƒw„y…z…{‡y†y†{‡|†|…{…z…y…y„u„v…x†z‡{‡z†z†xƒzƒ}‚‚€‚€€‚€‡‡ˆ†††€ƒ~„|…{…z…z…y…z…|†{†z…z„{„|…}‚€€€€€€€€€€‚„|…}ƒ~ƒ~ƒ{„z…y„w„w„w„x…y‡z‡{†|„|…{†z…y…x…w„v…w†x†x†z†z‡y„{ƒ}‚~‚€‚€‚€€†{ˆz‰{†{ƒ~„~„ƒ|…z†{†z…y…zƒ}„{…z…}ƒ€‚}ƒ~‚~€€‚~ƒ}…{…{„}„|„z„y…x…w„x„v„u…y†{‡}†|„|„{…{…y„x…y…x…w†u†v†x…y…y„|ƒ}~€€‚}†tˆs„v€„~…~ƒ…}…~†|†{„}‚€ƒ€€}„{…z†{…{„{„|ƒ}ƒ}„}‚~ƒ{…{‡z‡{…|…z…z…z…x„x„yƒx„w…z†z…|…|…}„}ƒ|ƒz„w„y„y…v†u†u†w…w„xƒ|‚‚€€€ƒ…ˆzŠy†zƒ‚†~†}€‚€€ƒ€„€‚‚€‚ƒzˆw‰wˆw‡w†x…{„{„z„|„{…y‡y†x†y†{†y…z…z…x„x…y…y…z†{„{„|…}…}„~ƒ|ƒz„yƒy…x†w†v‡u†v…uƒw{‚~‚€€€‚~‚y‘y‘yzŒ{ŽzŽy…€~„‚‡‡~‡|‡|ˆ|‡~…xˆx‡x‡v‡v…z„z„x…z…y†x‡x†x…y…z†z†{…{…x…u…w†x…w…z†{…|…}„}ƒ~ƒ}ƒzƒz„y…w…y†w‰u‡t…v‚w|‚€‚‚yy{{z‘|{Š~€…Š|‰{‰y‰yŠ{‰|ƒ€|‡y†v†w‡w†x…x…u†vˆv‡v‡uˆwˆz†{…|†z…z…y…u…u…v…w…y‡{…{…}„~„}…z„yƒx…w†w†y†x†w„wƒy‚{~€€€~‚~ƒ………†…ƒ††…‚‚„‡†…~……‡~„~„x†v†w†v†v†u†r‡tˆuˆuˆuˆw‰{†|…}„z„z„x…{„{„y†z†y‡{†|†}„~…}„z„y„x†v‡wˆw‡w„w‚y|‚‚‡‚€}„|†„„„€„€ƒ~‰~Š‚…‚€ƒ€‚€‚€€‚‚€ƒ~ƒw‡v†u†u‡t‡t‡sˆt‡u‡t‡uˆwˆz†y…z„y„x„z„|…{†z‡{‡yˆ{‡}…~„~„~„~ƒ{„x‡xˆx‡x‡zƒ{~€€‚‚ˆ‚€€‚}„{†ƒƒ‚‚‚~ˆ€†‚ƒ€€€‚ƒ~ƒƒ€€„v‡t‡t†s‡sˆr‡s‡t‰tˆu‡u‡v‡x…u„x…y„x„{„z†y†y‡yˆzˆ|†„ƒƒ‚~ƒ{„v†wˆx‡x†{ƒ~€ƒ}„}‚€}‚|…x…}†}ˆ|ˆ{‰}‡†‚‚~€‚‚‚€‚€€€~„v‡r‡t‡s‡s‡rˆr†sˆtˆvˆw‡v‡w†y„y…y„zƒ{„y…x‡x†x‡z†|…„„~ƒ~„|…w…sˆu‡v…w{€~€}€}}~‚}ƒ~ƒ|‚w„rƒ}ƒ}ƒ|„}„}„ƒ‚€€‚€‚€ƒ„~ƒ€€}„u‡r‡s‡sˆsˆtˆs‡tˆvˆw‡x‡w†w…x„x…y„zƒ{„y…x‡x†y‡{‡|…}ƒy‚z„xƒv‚q‚ppon|q|r|p~qr~v€zƒ{‚wq€nm|ƒ|„}„}„|„~‚€€‚€ƒƒ†}‰|‡~„~…}…v†t‡sˆu‡u‡v‡vˆu‡w†x…y…x…y„zƒzƒ|ƒ|ƒ|ƒz†{‰z†y†x†snh}o}nzr{tzr{o{m{h{f|g|f~d~f~f~h€fe|g~il€‚‚ƒƒƒƒ„~„ƒ€‚€ƒ€ƒ‚‚ƒ‚ƒƒƒ€„€‚ƒ}…}…}…}…}…}„~ƒƒƒ€‚€€‚€‚€‚‚ƒ…‚…„}…x…utx€yz€yyx~x~w~xx€uqp€o€m€lno€m€m€ˆ††ˆ‰~‰}ˆ}ˆ}ˆ}‰}ˆ}‰|‰}ˆ}ˆ}‡~‡€‡†ˆ€ˆˆˆ‡…ƒƒ€‚‚‚‚ƒ„€ƒ€ƒ€ƒ€‚€ƒƒ€„€†€…†€…„ƒ‚€Š…€ƒ€ƒ€ƒ‚‚ƒƒ‚„‚„‚ƒ„€ƒƒ{v€‰|ˆ}ˆ‡†‰‰}Š}Š}Š}‰}Š}Š|Š|‰{Š{Š|ˆ~ˆ~ˆˆ‰~Š}‹}‹}‹}‹|Œ}Œ~Œ}Œ~Œ}Š~ˆ€„€ƒ‚‚‚‚ƒƒ€„‡~‡†……€‚ƒ„€Š€†€‚‚‚‚ƒ€„€„€†€…€††€‰|‰{‰}ˆ~†‡ˆ‰}‰}Š}Š}Š}Š}Š}ˆ|Š{Š|‰{‰}ˆ}‡~|{‘z‘{{}ƒ€~|‘z|‡€„ƒ€ƒ€ƒ€€€‚€ƒ€†€ˆˆ~‡…ƒƒ‚ƒ€‚€‚€‚€€‚€‚€‚€„€„€…€†€‰}‰{‰|Š|‰}‡~†€‡ˆ~‰~Š~Š}Š~Š}‰}‰}Š|‰|Š}‰|ˆ~Œ}‰|…|‚|„}‡‡ˆ‚‡~‡}‡~ˆ}‹|‡~‚ƒ‚€‚€‚‚€€€€ƒ…€‡~ˆ~‰~ˆ€„‚€ƒ‚€‡€ˆ€€€€€‚€ƒŠ~Š}‰}‰}Š|‰}†€†€†‡‰~Š~‰}‰}‰}‰~‰}‰|Š|‰|‡~‡~|}{~z{ƒ{ƒ|„{ˆx‰{†}‰|‰{‡}ƒ€€‚€‚€€€‚€…ˆ~Š~ˆ†ƒ‚‚…†‚€‚€‚ˆ€‰~‰}Š|Š|Š|‰~‡~†€…€†ˆ~‰~‰}‰~‰~‰~‰}ˆ}‰}†‡|‡}„~…~ˆzˆz…{‡{‰y†|‡~‰{…}†…€€‚€€‚‚€€€€‚€„‡‡~ˆ‡ƒ‚€‚€‚€‚€‚ƒ€„€€„‰‰}Š}‹}Š|Š}‰~†€†€…†€‰~Š}‰}‰~‰~‰~ˆ~ˆ~†~‡|Š|…‚„ƒˆyŠx‰y‰yŠy…}~ƒ„ˆ|…|‡~‰~†…€ƒ€‚ƒƒ€ƒ€‚‚‚‚‚€‚ƒ€†‡~‡~†€„‚‚ƒƒ€†€Ž€ƒƒ†€‡‰~‹~‰}Š}Š~‰~‡……€‡~ˆ~‰}‰~‰}‰~ˆ~‡~…}‡{Š{ƒ‚ƒˆzŠy‰z‰zŠz„}‡„‹|†{…}‰~‰~ˆ~†„€‚‚ƒ€ƒ‚‚ƒ‚‚€‚€€‚‚‚ƒ‚†€ˆ~ˆ~‡}†‚€„|„ƒƒ‡€‰~‰}Š}Š}‹}‰~ˆ†€…€‡‰~‰}‰}‰~ˆ~†„}†{ˆ{†~…ˆz‰y‰{‰{ˆ|‚|‡„€‹{ˆ|…}ˆ~††~ˆ~ˆ…ƒ€‚€‚‚‚€‚€‚‚…€†‡††~…€ƒ€|…|„‚†€‰‰~Š}Š}‹|Š{Š|ˆ…€†‡ˆ~ˆ~†~††€…~„}…†~‡~†}†}‡…„~„ƒ„€‰|Š|‹}…€ƒ„ˆ}‰}ˆ}‡~„€‚€‚‚‚‚€€‚‚€‚‚„€†€‡}ˆ}ˆ~}“}‰~‚ƒ‡€‰‰}Š}‹}Š|‹}Š}‡~††‡‡~‡€…‡€}}Š~‹}Š}Š}‰~Š~Š~Š}‹~‹~Œ}Œ}Ž|’z‰~„€‡~ˆ}‰}‰}‰~ˆ~†ƒ€€‚‚‚ƒ€‚‚€€€‚‚„‡‡}|ƒ„}ƒ}‚„ˆ€ˆ‰~‹}‹|Š}‹}‰}††€‡€‡‡~‡~‹{|{Œ|Œ|Œ}‹|Š}‹}Š}Š}‹}‹}‹}Œ}|‘|‹}†ˆ‰‰~‰~ˆ}‰}‰}‡~ƒ€‚‚‚ƒ€ƒƒ€ƒ€ƒ‚€€€€€€’¬€¤wƒ„~ƒ|ƒ~‚†‰‰~Š}‹}Š}‹}Š}‰~…€†€‡‡~ˆ~{‹ƒ‰…‰~‰}Š}‰~‰~ˆ}ˆ~‰~Š}‰~‰}‰}ƒ†„‰‹€‡€‡€‡€‰~‰~ˆ}‰}‰}‰}‡~„‚€€ƒ‚‚‚€ƒ€‚€€‚€~˜xº|µpz‚‚}‚}‚‚‚ˆ‰}‰}Š}‹}‹}‹}‹}ˆ~†€†€‡‡Šƒ‰‘…‚ˆ~ˆ~ˆ~ˆ~‡€†‡ˆˆ~ˆ~†€~ˆ€ˆˆ€ˆ€‡€†ˆ~ˆ~‰~‰~‰}‰}‰}ˆ}‡~„‚‚‚€‚‚€‚‚‚€€†•‘h{m}|}{Œ~‚ƒ‚‰‰~‰}Š}Š}‹|Œ}Š|‡†€…€„€…€ƒ‚„‚ƒ„ƒ€ƒ€„„„…„„ƒ€‚ƒ‚ƒ‚…€…€ˆˆ~‡~†ˆ‰~‰}‰}ˆ}‰}‰}‡~…ƒ€‚€€€‚‚‚ƒ‡j}h{q|‰}ˆ~‚ƒ†ˆ‰~Š~Š}‹}‹|‹|Š~‡†€„„€„€ƒ‚‚…ƒƒ‚‚‚‚„„„…„‚€‚‚‚„„…ƒ„€…€ˆˆ~ˆ††‡ˆ~ˆ}‰}‰}ˆ~ˆ~ˆ~…~ƒ‚€‚€‚‚€‚ƒƒ…ƒkj|k|v€€‚~ƒ}ƒƒˆ€Š}Š}Š~Š}Š|‹|‹}ˆ~†€…ƒ€„€†††…€„€„„‚‚„†‚…€†ˆ}‡€‡‚†€„€…‡~ˆ~ˆ‡~‡ˆ€‡ˆ~ˆ~ˆ}‰~ˆ~ˆ~‰~†„€‚€‚€‚€€€‚„ƒ…‰n€nm~s‚ƒ€‚}‚}ƒ…‰‰}Š}Š}Š|Š|‹}Š}ˆ~ƒ€‚„€‡‡~‡}†ƒ‚€€€‚€†ˆ}ˆ‡€†„€…‡~ˆ~‰~ˆˆ€ˆ‡‡ˆ~ˆ~‰}ˆ}ˆ}ˆ}ˆ}‡~„€€‚€‚€…„€‚oƒl€i|ny‚‚~‚|ƒ€‚‡Š~Š~Š}Š|Š|Š|‹}‰~„ƒ€„€„€„~„‚…ƒ€„……†„ƒ„~†‡‡€‡ˆ}Š|Š}Š|Š}‰~‰…„€ˆˆ~‰}ˆ}ˆ}ˆ}ˆ}ˆ~‡}…‚€€€„€„€€jk~hzi|k}z€€‚}}‚ƒ€ˆŠ~Š}Š}Š|‹}‹}Š}†€€€‚‚ƒ‚ƒƒ„‡‚ˆƒŠ‚‰ˆ€ˆ…ƒ€‰{Žyx’w”w”v”v•u•u”u•u”v‘y‹|‰~‰~‰~ˆ~ˆ~ˆ}ˆ}ˆ}ˆ~…€‚€€‚€‚€ƒ€€on~izgyezs~€ƒ~•|ˆ~‚…€‰~Š}Š}‹}‹}‹~‹}‡€€‚ƒ‚‚‚‚‚‚‚ƒƒƒƒ„‚„„€…ƒ‡}‘y–x”w•x”y’{’}“|’{’|‘{’{’z{‰ˆˆ‰~ˆ~ˆ}ˆ}ˆ}‰~ˆ…ƒ€€‚€Œm€k~hygxfyk}{„Š~…}‚€‡Š~Š~‹}‹}‹|‹|‡‚€‚€‚‚‚€‚‚ƒ„ƒƒƒ‚ƒ‚„€‹{‹|†}„}ƒ~~…€‰‚‰„€€‰}‰~ƒ€†€ˆˆ~ˆ~ˆ~ˆ}‰}‰~‡~…‚€‚‚€€‡f€g~gzhxhxizq€~€‚~‚|‚ƒ‚ŠŠ~‹}‹}‹}|‰~€‚€ƒ€ƒ€‚€‚€‚€ƒ€ƒ„…~‹|„|{}z~x}y}†{ŒxŒy„{y}z~y}{~†|Š{††ˆ‰~ˆ~ˆ~ˆ~‰}Š}‰}‰~†ƒ‚‚„ih~gzfxgwhxhzu€‚€‚}‚‚ˆ€Š~Š}Š}Š}{Š~€€ƒ€„„€€‚€‚€‚€‚ƒ€„€‡}Š}…}~}€|~‰y‹wŒv‡y|}}€‚‡{Š{Š}ˆ‡‰‰‰~‰~‰~ˆ~‰~ˆ}‡…€ƒ€‚‚ƒjh~gydxgyizhzs~€‚‚~‚~‚„€Š~‹|Š}Š}Š~‡‚€€‚ƒ€‚€‚„ˆ}‰}‡}‹~Š~‰~‰}Šy‹w‹tŒy‰|Š‰Š|‰{‰|Š}‰‡€…‡‰~‰~‰~ˆ}ˆ~ˆ}ˆ~ˆ†„‚‚ih~g{fxh{k|i{n|‚‚}‚€ˆŒ|‹}Š}Š~‡„ƒ‚‚‚€‚‚‚‚…~‰|‡}†|Š{‰|‰|‰|Š|Šz‹y‹z‰{„‚‚„‡|‰z‰|‰}Š~ˆƒ€„ˆ‰~‰~‰~‰}‰~‰}‰}ˆ~…€‚‚j€j}j{j{i}i~h~lt€‚€‚}‚ƒ‹}Œ}‹}Š~‰~ˆˆˆ†€…€…€…€…€…€…€†€ˆ}‹|…}„|†|†{†|‡|‡}ˆ}Š{ˆ{„}}ƒ}„ƒ…|†}‰|‰}ˆˆ†€ˆ‰~‰}‰}‰}‰}‰}Š}Œ|Š}ƒlƒki~i€n„k„h‚kr}‚‚‚„}ƒ‚‡€Š~‹~Š~Š}Š}‹}‹}Š~‰ˆ€‡€‡€‡†‡ˆ}‹|ˆ~…|‡}……†~„„†}…}ƒ~ƒ€‚€…‡~‰}Œ|Š|ƒ„ˆˆ‰‰~‰~‰~‰~Š~‹}Ž|‹{„€l‰nˆm‡nˆq†p…m„p…t†}ƒ‚~™}}‚‰Š~‰}Š}Š}‹}Š|Š}Š~ˆ€‡€‡€‡€‚€‚…~z‘zyy{zzzzyy‘x’x’w“w•w•v—uŽz„†ˆ‡~ˆ‰‰‰~‰~‰‰~Š}‰|„ÏÏÏÏÏÏÏÏÏÐÑÐÏÎÎÊÄÈÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌǾ¶®¤¡”~rikxkjjmmtcgbV^b\\d]S[`^_UQOSZY_d_dSUVWUVTTYUQW^_\XTME=7;<632@2ÏÏÏÏÏÏÏÏÏÏÐÏÎÎÍÈÃÇÃÊÍÎÎÎÏÏÏÏÎÎÎÎÎÎÎÍÌÌÌÌÌÌÍÌÍÌÌÌÌÌÍÍÍÍÎÎÆ· ¦šxƒz€t__ao|o]_mjgZYZ[_ZWUO_g_[RPPQYW\ghhPV]`ZQPLQRX_b[WOMK@@75542076ÎÎÎÎÎÎÎÏÏÏÎÎÎÍÌÈÁÅÀÈËËÌÌÍÍÍÍÍÍÎÍÍÍÍÍÌËËËÌÌÌÍÌÌÍÍÍÌÍÎÎÍÍÍÌÀ£Š‰qonolmoot~{`c`cd[[[[\]STV]dYYYWTRUSV]gdQQY[UMNNQQ]c`b[PGB?;952320.2ÎÎÎÎÎÎÎÎÎÏÎÍÍÌÍÉÂÅÁÊÌËËËËÊÊÊËËËÊÊËÊËËÊÊÊËËÌÌÌÌÍÎÍÍÍÍÍÍÍÍÍ̵—”zmtvyu~~gfb]hZ`ee[[WU_YSXffSPTWXRNLVPZhQOUXZPMSPPYb_aWTUOH?<96321.-ÍÍÍÍÍÍÍÌÍÍÌÎÍÍÎÊÁÂÁÌÎÎÎÎÎÍÍÍÍÌÍÍÌËÌËÊÊÉÊÊÊÊÊÊÊÉÊÉÈÊËÌËËËËͽ’†~sam}mdg``aYibYXTTM[`^`po[QOT\TMJTRSYSZ[XUNPQTZ_XWYQOYOI>@A<520-+ÍÌÌÌÌÍÍÍÍÍÍÎÎÎÎÈ»¼»ÊÎÎÎÎÎÎÎÎÎÎÍÎÎÎÍÎÎÎÌÌÌËËÌËÌÌÌÊÆÉËÌÌÌËÇÆÄ£‰z{oh_lppe`b_X]_VS[SSPZgeffdhVPVXSQSTRSXQY]`USUQYZ\YXTSOQPI>@>5550.2ÌÍÍÎÎÍÎÎÎÎÎÎÎÎÎżļÇÎÎÍÍÎÎÎÎÎÎÍÍÎÍÍÎÍÍÍÍÍÊËÍÍÎÍÌÉÆÊÊËÍÏÌÇÅ´šyxpeXTc`Z^a`]a_XTRKNUY_adi^[SOOPOKSQSP^LTTZ[WZY`Z[XSQSORJFC>@;431/3ÍÎÎÎÎÍÍÍÎÎÎÎÎÎÎÅÀÌÂÆÎÎÍÍÍÍÍÌÌÍÍÍÎÍÍÎÍÍÍÌÍÉÉÊÌËÇÄÄÁÇÅÈÌÍÊ¿½­‘€xrTTQROWYmpfac[YMCALYR[ba^VTRJLKHLHOKYORUTVVZ[[[_YSORMWOCGA??40/-,ÍÍÍÍÍÍÍÍÎÎÎÎÎÍÍÅÁÌÃÄÍÍÌÌÌÌÍÍÍÍÍÍÎÍÎÎÎÍÎÌËÈÆÆÊÁ¿ºÁ½Á½ÅÊÉÅ»¯§¨Ž~ur^UVYXhi^ofgaVVRRUTeUN[]SNVXRKJGOPQXWRPXZUSXXVOTYSQVQXX@57220..--ÍÍÐÖÕÏËÌÌËÊËËËÌÂÀÉÁÃÍÍÎÎÍÍÎÎÎÍÍÍÎÎÎÎÎÎÎÌľ»¹­¾ºÀ¶¿ÇÀ¾´¥‹‹p‰zfZ^[]dkVm]U^SNST_^WOOQXQPSVWLLLSSSZg]OWXVVVUZSQZXX]]MC=7540.----ÎÚèïíãÑÊÊÄÁÁÄÆÊÂÀÇÁÁÊÌËËËÌÍÍÍÍÍÍÎÎÎÍÍÍÍÍƼ²¼¸²¡º´¿´µÁ¶½´˜†|{lgbbcbTYd[Uc[RZ]PRRW]UVSMNNKLMSYVOQORRcZNYZXRMOYXXTWQMJ@7=<;72.----ÛíÞÂÍëèͺ´³¸»ÂÃÃÊÆÃËÌËËËËÊÉÊËËËËÌÌÉÉÈÆÆò¬¨­°§ž©®¹¯²º­¬¡ƒvxtkiQ^eZWcZQ]h^Y_YKOQT\_aTPMLLMQLUWKNSNS\]Ya\TPLOYVWVOPXJBC=;;951..--ßã­‘œÊâȹ´²±´³¾ÄÆÌÉÄËÍÍÍÌÌÊÇËÌËËËÉÉÆÃÿ¾²¡›™£¥š—Ÿ­­¬«¨¤˜„snlhjn^WYU`aVV\[Z_VSXTRTT_WQSONSVRSTWQOWPRZaX^WY\V]_TTZWSQ@?G;7677520/.Š‡€€€ƒ“£³ÀÃÅËÈÂËÍÎÎÍËÇÃÉËËËËÈĺ´¶µ¹¬ –Ž˜š—”¡³®«¡™›‘xieeVhbSLHOW`YRR^h``oa_c^TXNQPOPRVQUQSZRZOO_^]h[b^ihaSPNMJKA=A8755454/02“iWYUp‹ˆ‚|«ÀºÃÈÇÀÉÍÍÍËÉÁºÆÊÊÈƽ¬¢¤¥œœ—ˆ•™’’«­’‘ƒvedhZ^UPSQQZ`^[io_QUdOXqp]QNKNMKHJLLNMMQXTX^TRXX`g^]XOIMGFECHB8644344014ª¯½žhQsºÖà×Ã…Œ¸³¿ÇƹÂÊÊÌÊÇ¿´ÄÊËÁ¶§™œž•™—Šƒ—”ŽŒ‘™‘Š‰‰ƒ~vupcXSX]XOY]VT]h]RP_ggb`]SRMJJHIGGEFNMS][W[VO\ighV^TMUSHIA?A9854423337£½¡y77‘ŸMIKN?gx¤±¤œ ª¶»¾ÃÄÅü¹³¬ž š’—’Ž‹‰ˆƒ}‚z‚‰…y|zyqiie[VYRY^YT[Z]ZVZ[[]ZUPJVUNLOKADFFA?GHIQKRSY]aXbo]_PY_[IEB@><856669=@=Qb\M87S^T„kC7Xl°w‰³¼ÎÌËȽº¼¾ÁÅʽ—Ž‡Œ‹ˆ…‚‚z€‡}vywrsnkgY\cacYSSXW]^aXT\SX_[VPINLNIBDF@?FGDAPHVX[W`aa]RcbVWXSMHEG:75667<=FFFCFLECBT`lcLCFU´blØ©gYVRPQKMLMQWw ŒŠ…ŠŽŒ„‚‚ƒ{~Œz€yvrstpidX\db\RUOQ^fcdVNSSi\cXMRQOJHDJTJCJLMFPQ]^ZM[ddeU`cVOW^REAA=:8767;@KBllkhhijpwwuoifg|²Öä}>FHIWgONPNMHD—Œ…ˆ„Ž—‰‰~†ˆ‚~Šy{xvuuxucWRZX[WZXNZ\^`ghknqlQ\]UNQQGFEPXQQOOQIJVY^ZNN^[`^^gfV`UA::<=<:;9:==>;VVUUUVVWUWXZ_ai}ÔëÊ`KA=>Yfb\KB@E:x—€„ƒŒ˜ˆ„‰|ƒŠŠ†ˆ‚|xww{uup`X^`TVTUWaXPN`sƒuc[\fQTNMRSNNJC@MTRRTSN\edeZSYZ_\T\XUVH<99;;78:98===>CC75676Rµ¼‰‚‰}‚€‚‡ˆ‚€ƒ~vtuusqsg\_[NPZZ[]TT^bg_^U\caSVNKKRKGA?>=UQTTT]ZSTTR\}n©†ªÛšFPX^]_`_de_[XQX¡âò—|‚~y€…„€{€{wrvyytokg\TMKYW\SSX\[XIX_Z]XYaXKMTOLILOOOTVXV[of[[[ZWZYRWLNK@773b}97988;AECE‚PZ`f˜‰b_YS¡ðÜù§x±´¹¼ÂÁÂÃÃÅÿ¹»Çµ­‚z}~|}|€ƒ€}xxpnxy{riacTRSEAMWXVY\OKIVZ\]U[e_SNLJKOMNJHKNVXZ^a[^XVSWOKMIB<8776Vˆ?889;;>HJH‘EHL\»žPLIJ±ïÝì^ºÖÕÕØÚÚÚÝßÞÝÜÛÙ×ÕÙ¥syzx||~{~„„ywxmiouyoha^PQTGJQUX\UPSQTU[VVWZa]SLEDBEHIFFGJSV]\VMVSUSSNGFD=96686Ww@98;=?>=<@KPVbZSX[SW[PMG<;:87782†ßM16;:;BIJJÝçèêêéåãâàÞцPI@YÍÝßêêìãÓÏÝØÂÄÝëæâÙÕštyzzvz{}~|~|xtwvjltlhg`O^j\VTZ[YSPXZ[b_XU[ZVNHE@@?><79?DIJ[iXU[Y[]WHDB:58887:4ƒäP/8<=BHHDQâïñóòòóóôñðÞNKCUÏáçêäëÁ“–ÃÁž™ÅêãâÝݧtxwyyx{}z|{€|xxuniphgdb[hqc\NQ\ZVSU[W_ZV[eZPJCA@@CA?>CIC>L[li]MQgRHB;;:8;;99>8tÛW2>DSQJV_^lmRVXKB;666;@BA>A:;?FMIB=?:sñm9<4=IIX`lwt~‡‹œ‡‰”rUJJHJ¡îíîïììññðññðìíñîîã‹v}}jz~y|ws€~zspmkihecnaTW]YW\TPURTR\^Ze^VVROIGGBGJFEGONTillvvdbmiWQOMPUTVTHIP=rót769U[^ljiW^``evkecaaX@>@:C‘êåÑÈäáÀ¿¿ÀÀÀáß¹Íâ܃vzyry~{z}}vzxyuskb`a\\jcUOWZa[XSOOXU[e`aYPOUQLE@>JXaV[dipe[XY_cgknlpf]hxvpmeijY‚ðƒTT[vvqvlfPPLJIIIJJKMVP4/3A|ÞÉ’f½ã…omkj…å²UšÉÏ}tt€}uy}|tx{}wypdZbgdbcaUWYYTSQPNU\YUZZTNRXSRU\\rƒzclyn\TX]^`cigo„‚€ƒ…|€„‰‰Š“³•‰ƒ}}strh|{zzz|}{{|{~}A+1DhÕçÜÒÞïÔ»¶°¯ÐòÜÍÚìÀkww||vv~wrx{|qwne``g`]a^YZUURTY[QPXVMLOU[YWZexƒ‡Œ†ebslTRY\\\^gjlv€~|}vt}Š’’Š…Š‚€orpmphlmnnotvvuvxxyK46Ij »¬¦¶½½¾ÂÎÅ° Ÿž¦·‹kz{vtvztt}utyvwrrnlmkmklqonokpy†’‰ŒŽŒ„„‘¯•|z‚~z€mamobV\`_][_hgjsgebedtƒ|…ˆ…„Ž†{sdhpnjgiiijknqrpqqqsrnow‚}~~}~}{|‰–’‚‰†yqvzxxwvttrrqrttsrqonmlmnpqswyzyzxutuwwxz}ˆŽ˜¥´²©•…yqklllmmjfb]\][Z__WY]^^agjfgdbdppjokg`juotyonmlloqsttsssrstx|}€}}|{zwvv~‘¡ ‹qqqtxxwwwtqqqqrstsolkiiiiklmpsuvvuttsrrsrppqxƒž«¯¬¥qfggea_\YV[YWWXXWZXWX[YWXYYWUTVQZZcqxtolkijkmnopqonnnoquxy{||||||zwvts}†{† ”vnpsttvvusrpoppmlmmlkihffffhklmqtuuutronnnonoqv}‹œ°¾¸¢†sjgiihc`^]XUSRUSRTW_bUVX[WWVUSTVSXyvrnkiijkmnoopoooooprtvxyzzzyyxwvtpp}–”~|sqprssrsqpongfjllljigdca`bddgkortuvvtqnllnoponmn{“®¾¼¬“rjjkgdbb[V[UUUUXXTTV\TTT[YVVUTxxvtpkihiijlnoooprrrrrrtuvwxxyyyxwusqmm~¤¤€nprv|ƒŠ—ž¡Ÿ¡¥¦¦§¦¤ —“…{pccbcdgimqtuwxvtqmljmpqpnmsƒ™±ÄÁ¥†rhikkifea`\YUTSTSSSTTZWTWXXvvvwuplhffgiklmnopqqqqppoqsuvwxxwvvsrqppootš£¬¯¯¬«¦¡š–“’“““•˜ž£§¦Ÿv`ba___`djorstvwvtpkhhloonkhj|ŸÃ̲Šskijkjjhfc_[WTSRRTSUYTWWVuuvvvurmhffghjklmmnnooonmnoqssuvuvwusrrqpm’®™–Ž‚woia^]_jrh_\YUUWZ`fk„kdbba``_aejnqrtuuvvsmhhklnooljv”°ÁÀ¦‡skklkjhgd`]ZWURPU[STTTrtuvvvurniedefhjkkllmmnmlllmnpqstuvvutsrpo›~[VQONMOWbfr«‹g``d_]ZWK?Ztjgcaaa`a`adhknqstuvvtqlhgjmnnlijv“¶ÉÂ¥…qlklligeecb^[WTUTTTmqsstutrpmidaacdghijkllmmlkjjkmnpqrtttsrps†MFNT^gmsP:9553543IqssqofK=conkgdb`aa_]_bfknprsttttrledhklmmjfi¨Êβ‹rpljihggffeda]WTWkmopqrsrrpnhca`abdegijjklmkjiiiklnprrstspq;Su…˜œ¢vMH9206BDGHEDDCHQFGlmnolidbbcb`]^bgknpqsstutqjcdgjllkiffx¥ÌÑ´Œrlmkigfeggffa]\jkmoqrstsrqnidbabbceghijklklljiijlnpqstsr‰RF\ª­±´µ§›‹t`ehVGB64:?72:eC]ginpomjgefgda_adhknpqstttsoiddgjlkkjgh}¤ÇϹ‘tlmlkihgfffebhklnprtttssqnjecccbcefhjkkkklljhijlnpqrrx‡AcA–»¶³¬¥¤ ½Ä‚{®{A84DNG:44g]Lhdejmooljgfffdb_adhlnoqrstttpkfdhjllmlgfwœ¿Ï¾œ}mllkjiggffbfikmprsttsrpnkgdbbbcdgjjjjkkllkigiklnop~sJq2Jd]TFE^gl~wnx]>0?:0v›@ja><:Vmmlkid`aejlkjgdb``aa`^^^`cgkmoprssqpmgbbegjjkkjjeO»ÈÈtYadgjklmopqqppmlidaaaabcdefgWEALŒiD—iRˆYTkHEGKRXZ[PRPP[_y~WE:980WU4WI9?3Dnlkkkjfbbbeijihea`^^`_^]]^aehkmoqqqqpqmgbbeijkkkjYy¯¿Í³b\cgikllnopppqonlgca```abced=8<=3/_M<;9877767666666566667777899:<@J7Qeihhhijjjjkkjjhda_adgjjie`]\]]^]\\\^aehkmoqqqqqpmhdcf]RKVšºÄÄuT\`cegiknnoonnmlhdb`__abbdfg’ihggggec``cedcedddegggggggfca_]]bjmmlkifc`_][ZZZZZHvoomkklf\RMM™ÄÈÕŸZ`cfghijjklmmllkifb`\@/.,0.03KHBlwQeoqi{ºÙ›zkiaXXU==?:740.1BkiggggggfdbŒuaddcbdefggfefgfdb`]]agkkkifc`^[ZYYYZZK[ofdef`b^SMIf¶ÃÎÌtZbhighhijllllmljheb\7/0./15:?DJPX`hv‰ ªÀÕijª–‰tf[PHB=:521/Ckhfggggffecfd``cbbcceefeddefecb_]\^dhjihfb_\ZZZYZWJRlihhrmhbRLLL‡¿ÅÕ°]^ddfggiijlllllljgc^:-025579=AGRe{»Úßãæìîíêëìè›n`ZYRF=60/.Gkiefhgggffedhilbaabcddeeddeffecb`]\]chjiigc^[Z[ZZTHQonhhpoqjSLMJX§ÂÌÔ”a^cefghijkkllllkieb<+//159?GP]l“Äïæîììëëììî熩–ƒs]I=60/.Jkiechgggggfg°ÖÚ¨fabcddeeeffgggfec`_]^dhjkkhe_Z[[\TCLjrkiootrf[OKKw¹ÂÐÊq\cefghhjkkklllkigfC+./.39@HVg¦©¹ðæîîïðññòõꂧŠxcM@:50/,Njhd_edeededa‚ÉÌÀy^bcddfeeghhgggheda_]^bfjjhie][\]T>FuxnkqponpqYKKP“ÀÅÖ®_adffghikklllkkkihH+.0.049BEN]pxžèàØÓÎËŸ­¨—HH?6:|‹E:3/2Ztvws‚‚€y{wmdabcdeeeeefffefffeca_]\_fhhihd^]]U>BrokilmighkeMKJ^­ÁÉÖ‹[beghijjjklmlklkkK./0/=BHG_Îê—†—Ÿ©­±±¯²±±±²³³³²±±©•r`bddeeddeeffefgfecb_]\afhiiiea^W>>pnmehlntroiRJKK}¾ÀÑÇn_efhijjjklmlmmlmJ13/.:I³÷±rktŠ u}‡Š“˜›¡££¦Ÿ¦™¡µª·±®ª¦¡›™•“Œ‹ŒŒŒŒŽ‘‘’™m`cdeeedffggfgfggeda_\\`fijjihc[>=idcielruqss^KK[g¾ÄÕ®cdfhijjkkklmnnnoI18--1;y©_aqv~‚…ˆ‰‹‰‡wlbXRh§œ†Ž‡‚|yxusonlihggggggggghgw‚a__befefegggffgghedb_]\`dikklib@EC35431,-010136§tdfb`_]]]\[Z`a_``````_``a_Xn¦Âªiceefeefghggggeedb`]\^ejkmmiD=zusqvrlknmikeLJKIrº½ÍËu\dfffghjkllllnH0:,,,/137<>?A@ADGHLlVHIGGC^±‡V\ejnruv{‰•°Àž““Š†ƒ‚€tp˜ãâ _cdeedefffgffeeedc`\[_eiklmH=y€rlkkhjlpiaOILLM’¾ÁÔ­[_cdeeghjjkkkgC/;/,*-//135669;;=AFYG<851/‹«nfp„†…ƒƒ…ƒ€~[JPB;e–›™˜•“„€\]snbccdddeefefeeeeeeeb_][_ehkmI9rwsvtmphnopmkeXMKH`µ¾ÉÓ~X`bdefggjjjaY=.;3,3/+++*))))())()'(**)&>™‘RpŠ¨°¹ÁÈÏÓ×–PE@?DZÆãàÝÖÚàÝÊssLjb\mjccdcddeeeededdddca_\[^bhlI5ovsvunpjjlllnsiPJKL“ÂÄÖ¸cbefggggffbXU=-:5.EV@52/..,********+-0/d—|Ly£äßßßÞÞÞá\k`_TR»ãÞÝÖÐÙÝÔ^yT`hl‰ycdddddcddddddcddcb`_][\ckH4lunnmknlhjknmniRIKKh¼ÅÍ׊^dfggggedd[VB-:56,FJE@9671+***,,.29=ACyœjTl˜åÝÜÝÜÝÜÝ|V\cgNO°ãÞÜØØÞáÕR^kQkc]^accccddcdddddddddca`_][]eE2mkmtrnlmnngjkiiUJKMN–ÇÅÓ¼b^aceeefffbUE1835130.,+())))))*+,,+*)6„ŸYbW~ÔÎÎÐÑÓÔ¾dSQffRPãáÞ×ʶœ|ACyLhebb_a``cddcddddefeeddcba`][^B.jmqsnmmprqlhllgTLKLJe¹ÅÌÖ^deffffedb[H63002*"#"#$$$####$$$$%%#C–’NjODONPQSV[^RQS¯‹QTXuo\QE:3:F8lVZebe¤½½“_cddddcdeeeeddccbb`\\?(mklotvurtljmnkpePJKLM‘ÇÈÔÁkcefghgec`^VC31121112332333335767999]£€IoP=7578637@:5?´ŽCB90069;:7AN:UiNbc`‘åðç—`bbccbddeeedddccb`_^@%jqvtptrlnkligisdKKKKKa·ÉÌÖ™_deeggeca^YQJGFEEEFHIHHHIJJJLLKKLLMs£nJqN<758:8773210lq13446::==7E@423224557Y‘’o>E>64ZaPabaacebaaabbbbcbbbbbbbbb`YS="smlmlwprhtsuts|~j]TLKMK{ÆÃÏÔ…beeededcb`^^]]]^]\ZXXXYZ\^bijup„¡wxNaXHTNHOPQMJNTG322245;QXs}ZNPTE5EdI_^Zdfgb`bbbbcdcbbbaaabaUNKJ9"‡z‚zy{xjjpzww{te]SLKKJQ¢ÇÇ׺e`bcdddddb```````_][YYZ[]^bljjbvˆxsI]UMQHDDEGFFCEJ9232?LLR]^ZSMJNPAAKI^RwªŒq[``ababbbbba````]NJIJ:!ˆ~uzttjluojhoibbaVLLK]f¼ÃËØŽ\`bccdeddccbbbaa`_][ZZZZZ]fdhtqu€qOEOLIEFGMMLLFBMJIA8>944G]U]”oUVa`abbbbbccca`[WURLIJ< €~yxytprb`hq{rjkfZMLLY`Z—ÂÂÖÀe_acbcdedddcccbba_]\[[ZYY[Ug‹£½ˆpjS47::EZa\PA=8M[C@868BLQQREA@ADGLOQXcjMuNN]`__defeddccbaa```ZMI@#†z†z†z†z†z†z‡z‡z‡z…z†z‡{†z†z†z‡{‡z‡z‡yˆy‡y‡y‡yˆy‡y†y†y†y…{ƒ‚}„y„vƒt„t…s†w†yˆw‡y†z†z†yˆ{‡{‡zˆw†u†y†y†z†{†z…y…y‡z†|„~ƒ€‚‚€‚€‚…y…z…z…z…z…z†z‡z†z†z†z†z†y…y†y†y†y†y‡x†x‡y†y‡y†z†y†y†y…y„{€|‚xƒuƒtƒt‚u„u…v†y†x…x…y…w†yˆ{‡y†y…w†u…w…v…x…z†z…x†w†y…{ƒ~‚€‚€€…y…z…y…z…z†y…y†z†z†y…y†y…y†y†y†y…y†y†y†y†y…y…y†y…z…z…y…z„z‚~€€‚{ƒv„w„wƒw„w„w…y…z„x„x…w†y‡z†y…yƒx„w„v„uƒw…y†y†x‡x†y…yƒ|‚~‚€‚€€…z…y…y…z†z†y…y…z†z†z…z†z†y†y…y…y…y…y…z…z…z…{…z…{„{…{…z…z„zƒ}€€~ƒz…y„x„w„w…y…{„{ƒy…x†w‡z†z…{„{„yƒxƒv„v„x…y‡yˆyˆz‡z…z‚|‚~‚€‚€€€†y„|ƒ|…{†z…z…z…z†z…z…z…y…y†y†y…y…y…y…y…z…{„|„|ƒ}ƒ}„}„|…|ƒ~‚€~‚|„y„x„w„y…z…{…y„y…z‡z‡{†{…{…{…z„vƒu„x…y‡x‡y‡z‡z…y„{‚~ƒ‚€€‚€ƒ|‚ƒ~„|„}„}…{…z…z…z…y…z…z…z…z…z…z…z…{„}ƒ}‚~‚‚‚~‚}‚‚ƒ‚~‚|ƒz„yƒw„y…z…{‡y†z†|ˆ|†|…{…z…y…x„v„v…x…z‡{‡z†z†y„zƒ}‚‚€‚€€€€‡‡‚ˆ†‡†€„„|…{…z…z…y…z„|…{…z…z„{…|„}€€€€€€€€€€‚~„|…}ƒ~ƒ~ƒ{„z…y„w„w„w„x…y‡z‡|‡|…|…{†z…y„w…w„w…w†x†x†y†z†y„{ƒ}‚‚€‚€‚€€†{‡z‰{‡{ƒ~„~„~ƒ}…{†{…z…y…zƒ}„{…z…}ƒ€‚}ƒ~‚~€€‚~„}…{…|„|„|„z„y…x…w„xƒv„u…x†{‡|†|„|„{…{…y„x…y…x…w†u†u†x…y…y„|ƒ}~€€‚~…tˆs…uƒ~…}ƒ€…~…}†|†{…}ƒ€‚€€~„{†z†|…{„{„|ƒ}ƒ}ƒ}‚~ƒ|…{‡z‡{…|†z…z…z…x„x„zƒx„x…{†z…{…|…}„}ƒ|ƒz„w„y…y…v†u†u†w…w„xƒ|‚‚€€€ƒ…€ˆ{Šz‡y„†‡|‚€‚€€ƒ„€ƒ‚‚€ƒ|†w‰wˆw‡w†x…{ƒ{ƒy„|„{…y‡y‡x†y†{†y…z…z…x„x…y…y…y†{„{„|…}…}„}ƒ|ƒzƒyƒy…x†w†v‡v†v…vƒw{‚~‚€€‚~‚y‘y‘yyŒ|zxˆ~„‡~‡~ˆ{ˆz‰|‰|‚ƒxˆx‡x‡w‡w…{„{ƒx…z…x†w‡w‡w†y…z†z†{…{…y…v…w†x…w…z†{…|‡}„}ƒ}ƒ|ƒzƒzƒy…w…y†w‰u‡t…v‚w|‚‚‚‘zy{{z‘{|}‚„€‰|‰|‰z‰y‰{‰|†~}…z†v†w‡x†x…y…u†vˆv‡w‡uˆwˆz†{…|†z…z…y…u…u…v…w†z‡{…{…}„~„}…z„xƒx…w…w‡y‡x†w„wƒy‚{~€€€~‚~ƒ„‚…~…†…ƒ…ˆ…‚ƒ„€‡†€………†~…~€ƒy†w†w†w‡u†u†r‡tˆuˆvˆuˆwˆ{†}…}„z„z„x…{„{„y†z‡y‡z†|†}„}„}„z„x„x†v‡wˆw‡x„wy|‚‚‡‚€}„|†€†„„„€ƒ~ˆ~Š‚†‚ƒ€‚€‚‚€‚€‚‚w‡v‡u†u‡tˆt‡sˆtˆt‡t‡uˆwˆz†y…z„y„x„{„|…{†z‡{‡yˆ{‡}…~„}„}„~ƒ{„x‡xˆx‡x‡yƒ{~€€‚€‚ˆ‚€€‚}„{†„ƒ‚‚‚‡€‡‚ƒ€€‚„~ƒ~ƒ‚€€ƒx‡t‡t†s‡sˆs‡sˆs‰tˆt‡u‡v‡x…u„x…y„x„{„z†y†y‡yˆzˆ|‡„ƒƒ‚~ƒ{„w†wˆx‡x†{ƒ~€ƒ}„}ƒ~€~‚|…x…~…}ˆ|ˆ|ˆ|ˆ‡€„‚‚‚€‚€‚€ƒ€€€‚w‡r‡t‡s‡sˆrˆq‡sˆtˆvˆv‡u‡w†y„y…y„zƒ{„y…x‡x†x‡z†}…„„ƒ~„|…w…sˆtˆv…w{€~~€}}~‚}ƒ~ƒ{‚wƒrƒƒ~„|ƒ}ƒ~„ƒ‚‚‚ƒ…~„‚€‚„v‡r‡s‡s‡sˆtˆs‡tˆu‡w‡x‡w†w…x„x†y…zƒ{„y…w‡x†y‡{‡|…}ƒzƒz„xƒv‚q‚p‚ppn|q|r|p~qr~v€z‚|‚wo€m€l|ƒ}ƒ}ƒ}ƒ}„}ƒ€€€ƒ„ƒ~…}‡|‡~„~…~…w†tˆrˆu‡t‡t‡uˆu‡w‡x…y…x…y„zƒzƒ|ƒ|ƒ{ƒz†{‰z†y†x†so~i}n}nzr{szqzozlzh{f{g|e~d~e~ehfe|f~ik€€‚‚ƒ‚ƒ€„ƒ€„~„„ƒƒ€ƒ€‚‚ƒ‚ƒ‚ƒ„ƒ€ƒ€‚ƒ}ƒ~ƒ}…}…~…„ƒƒƒ€‚€€‚€‚€‚‚‚ƒ……„|…x…t€tx€xzyyy~x~wxx€tppp€m€l€no€m€l‰~‡†€‡‰~Š}‰}ˆ}ˆ}‰}ˆ}‰|‰}‰}ˆ}ˆ~‡€ˆ‡ˆ€ˆˆ~ˆ~‡†€„ƒ€ƒ‚ƒ‚‚‚‚‚„€ƒ€ƒ€‚€‚ƒ€„€…€†‡€„„ƒƒ€Š„€ƒ€ƒ€‚‚ƒƒ‚„‚ƒ‚„„€ƒƒ|w€‰|‰~ˆ‡†€‰‰}Š}Š}Š|‰}Š}Š|Š|‰|Š|‰}‰ˆˆˆˆ‰~‰ˆ}ˆ~‰~‡~‡~‡}‡}‡~‡…„€ƒ‚‚ƒ„€…‡‡†…„‚‚„€Š€„€‚‚‚ƒ„€„€„€†€†€‡€‡€‰|‰|‰}ˆ††ˆ‰}Š}Š}Š}Š}Š}Š}‰|Š|Š|‰}‰}ˆ}‡‰~|{‘{‘{‘{’~’€‘}‘|’{‘{|‡„ƒ€ƒ‚€‚€„‡€‰ˆ~ˆ…ƒƒ‚ƒ€‚€‚€‚€‚€‚€‚€„€„€…€†€‰}‰|‰|Š|‰}ˆ~†€‡ˆ‰Š~Š}Š}Š}‰}‰}Š|‰|‰|‰}ˆ~Œ}{|Š|‰}Š~Š„‰‡Š‰~‰~Š}|Š~ƒƒ‚€‚€‚€€ƒ…€‡~ˆ~‰~ˆ€„‚€ƒ‚‡€‰€‚€€‚€‚ƒŠ~Š}Š}‰}Š|Š}‡€†€†ˆ‰~‰~Š}Š}‰}‰~‰}‰}‰}‰|ˆ~‰~„|~|}{{ƒ|…|…|ˆz‰z‡}‡|‰|ˆ}ƒ€‚‚‚€‚€€‚…ˆ~Š}ˆ†€ƒ‚…†‚€‚€‚ˆ‰‰}Š|Š|Š}Š~‡†€†€‡‰~‰}Š}‰~‰~‰~‰~‰~‰}‡~†~…|€}‚}„{„yƒ{„{ˆy‰zƒ†~Š|†}……€‚€€‚€€€‚€„‡‡~ˆ‡ƒ‚€‚‚€‚€‚ƒ„„ˆ€‰}Š}‹}Š}‹}Š}‡…€…‡‰}Š}Š~Š~‰~‰~‰~‰}‡~‡}‹|ˆ€…‚ŠyŠw‰y‰yŠy‡|~‚‚‰}…}†~‰~‡„€ƒ€‚‚‚„€ƒ‚‚‚‚‚‚€€€‚‚ƒ€†‡~‡~‡€…‚‚ƒƒ€†€ƒ€ƒ†€‡Š‹~‰}Š}‹}Š~ˆ††€ˆ~‰~‰~‰~‰}‰~ˆ~ˆ~†~†|Š{†‡‡}ŠyŠyŠyŠy‡|„€„‰|‡|…}Š~‰~ˆ~†„€‚‚ƒ€„‚‚ƒƒ‚€‚€‚€‚‚‚ƒ‚†ˆ~ˆ}‡}†ƒ€„|„ƒƒ‡€‰~‰}Š}‹}‹}‰~ˆ†€†€ˆ‰~‰~‰}‰}‰}‡~…~‡{‰z†~‚†|ŠzŠzŠzŠz†}}ˆ€…Šz‰{…}ˆ}‰~‰}‰~ˆ…€ƒ€‚€‚‚‚‚€‚‚‚‚…€†‡‡~‡~…€ƒ€|†|„‚†€‰‰~Š}Š}‹|‹{Š}ˆ†€‡ˆ~ˆ~ˆ~ˆ}ˆ}†„~„|…~†~†~‡|‡{‡|‡}†}„~…ƒ‡|‰{†}‡~…„€†}‰}ˆ~†~„€‚€‚‚‚‚€€‚€‚‚€‚‚…€†‡}ˆ}ˆ~}’}‰~‚ƒˆ€‰‰}Š}‹}‹|‹}Š}‡†€‡€‡ˆ~†……ˆ~‰~†ˆˆ~ˆ~‡ˆ‡†~ˆ~‡€ˆŠ}Œ|{‹~„…‡~‰}‰}‰}ˆ}†ƒ‚‚ƒ€ƒ€‚‚€€‚‚‚„†ˆ{|ƒ„}ƒ}‚„ˆ€ˆŠ~‹}‹|‹}Š|Š}††€‡ˆˆ~†ˆ~Ž|‘|}Œ}Œ}‹}‹}‹}Œ}‹}‹}Œ}Œ||Ž|’zŽ{„ˆˆ~‰~‰}‰}‰}‰}‡~„€‚€‚‚ƒ‚ƒ€ƒ€ƒ€ƒ‚€€€€‚€‚‚‹ƒ’wƒ„ƒ|ƒ~‚†‰Š~Š}‹}Š}Š}Š}‰~††€‡‡~‡}‹{Ž~Ž}Œ|Š|Š}Š}Š}Š}Š}Š}‹}Š~Š|‹|Š}Š‚~ˆ‡‡‰~‰~‰}‰}‰}‰}ˆ~…ƒ€‚‚‚‚ƒ‚€‚€€…|°z»p€z‚‚}‚}‚‚‚ˆ‰~‰}‹}‹}Š}Š}Š}ˆ~†€†€‡‡‹|‰„ƒ†ƒˆ}‰}‰~‰~ˆ†‡‰~‰~‰~‰}‚…|ˆƒ‰‡†ˆ~ˆ~‰~‰~‰}‰}‰~ˆ}ˆ~„€‚‚‚€‚‚‚‚‚€ƒ|¤{­h{m}|}Ž{‚ƒ‚‰‰~Š}‹}Š}‹}‹}Š}‡†€†€…€‡€„ƒ‹…†€‡†††€‡ƒ†€…†€…€„€„€„…‡€ˆ~ˆ~‡†ˆ‰~‰}‰}ˆ}ˆ}‰}ˆ…ƒ€‚€€‚‚‚‚‚‚„ƒ…j}h{q|ˆ}ˆ~‚ƒ†ˆŠ~Š~Š}‹}‹}Š|‹}ˆ…€„„€…€‚ƒ‚ƒ‚€‚„ƒ††…‚‚€€€‚ƒƒ„„„€‡‰~ˆ†…‡ˆ~‰~ˆ}‰}‰~‰~ˆ~†ƒ€‚€‚‚€‚ƒƒ‚…€kj|k|v€€‚~ƒ}ƒƒˆ€Š}Š}Š~Š}‹}‹|Œ}‰}†€…„€„€„‚„ƒ„ƒƒ‚‚‚„‚„„†ƒ„ƒ€„†…ƒ†‚…€„€ˆ~‰}ˆˆ~ˆ€ˆ€‡‰~ˆ~‰}‰~‰~ˆ~ˆ~†„‚€‚€‚€‚€€ƒ„„„‚m€mm~s‚ƒ€‚}‚}ƒ…‰Š}Š}Š}‹}‹|‹}Š}ˆ~„€ƒ…€†€ˆ‡‡~…€ƒ€ƒ‚ƒ‚„€†ˆ|‰~‡…„€„€ˆ}‰}‰}‰~‰ˆ€‡‡ˆ~ˆ~‰}ˆ}ˆ}ˆ~ˆ}‡~ƒ€€‚€‚‚€…€†€„‚oƒl€i|ny‚‚~‚|ƒ€‚‡‹~Š~Š}Š|Š|Š|Š|Š~…„€†‡~†}†~„ƒ€€€€€€€„†~†~‡…€ƒ€„€‡}‰~ˆ}ˆ~ˆ~ˆ~…ƒ‡ˆ~‰}ˆ}ˆ}ˆ~ˆ}ˆ}‡}…‚€€‚€†€†€ƒƒi‚j~hzi|k}z€‚}|‚ƒ€‰Š~Š~Š}Š}‹}‹}‹}‡~€‚€„€ƒƒ‚„‚†‚ˆƒŠƒŠƒŠƒˆ‚†ƒ„…†‡~‰}Œ|‹{Œ{Œ{Œ{Œz‹{Š}Š~‰‰~‰~‰~‰~ˆ~ˆ}ˆ}ˆ~…€‚€€‚ƒ€„ƒ‚nn~iygyezs€ƒ~•|ˆ~‚…€‰Š~Š}Š}‹}‹~Œ}‰~€€€‚‚ƒƒƒ‚…ƒ†„†…†††„‡†‚‚ˆ}x’w”v–w–v–u—u–t–t—u—t—u’y‰~ˆ‰‰~ˆ~ˆ}ˆ}ˆ}ˆ}ˆ†ƒ€‚‚‚m€k~hygwfxk}{„‰~„}‚€‡Š~Š~Š}‹}‹}‹}‰~‚€€ƒ‚‚‚‚‚‚‚ƒ‚„‚„ƒƒ‚ƒ‚‚…~z”y“y“y’{|€~~Ž~~}Ž|‹}„€‡€‰‰~‰~ˆ~ˆ}ˆ}‰}ˆ~†€ƒ€‚‚f€g~gzgxgwhyq~€‚~‚|‚‚Š~Š~‹}‹|‹|Œ|‰~‚€‚€ƒ€‚€‚€‚€‚€ƒƒ‚ƒƒƒˆ|Œ{„}~€~~ˆŠ‰~€~~~~~‚~Š|‡‡‰‰~‰~ˆ~ˆ}‰~‰}‰}‰‡ƒ‚‚€hh~gzfxfwfwgyu€‚€‚}ƒ‚ˆŠ~‹}‹}‹}{Œ|‚€€‚€„„€‚€‚€‚€ƒ€ƒ€„€„‰|ˆ|}|w}x}w}€|‹xŠy‹y}|x~y~x~€}‰zŠ{‡~ˆ‰‰‰~‰~‰~ˆ~ˆ}ˆ}ˆ~†ƒ€ƒ€jh~gydwgyi{hzt~€‚‚~‚~‚„‹~‹}‹}Š~‹}Š~‚€‚‚„€„€‚€‚€‚‚‚€ƒ€…~Š}ˆ}ƒ}~€€€€†|‹xŠvŒwƒ{~‚‚„€†}ˆzŠ|‰~‡€…‡‰‰~‰~ˆ}ˆ~ˆ}ˆ~ˆ~†„€‚‚ih~g{fxh{j|h{n|‚‚}‚€ˆŒ}Œ}Š}‰~‡€„€‚‚€‚€€‚€‚‚†}Š}‡|Š|Œ}Š~Š}Š{‹y‹uŒx‹{Š}Š‰Š{‰{Š|Š~ˆƒƒˆ~‰~‰~‰~ˆ~‰~‰}‰}ˆ~†‚‚j€j}i{i{i}h~h~jt€‚€‚}‚ƒ‹~Œ}‹}Š~ˆ‡€…€…€„€ƒ‚‚‚ƒƒƒ€‚„ˆ}‰}…}ˆ{‰|ˆ|‰|‰|Š|‹zŒzŠz…†ƒ€ˆzˆ{‰|Š}‰ˆ‡€ˆ‰~‰}‰~‰}‰}‰}‰}‰~‰~…kƒki~h€n„k„h‚jr}‚‚‚„}ƒ‚‡€Š~‹Š~Š~Š~‰~Š~‰ˆ€‡€†€†€†€‡€ˆ€‡~Š|‰}ƒ|…|†|…|‡|†}‡~‰|‰|…|€|„€‚ƒ~…}‡}‹|ˆ~ˆ~ˆˆ€‰‰~‰~‰~‰~‰~‰}Œ|Ž|‡~l‰nˆm‡nˆp†p†m„p…t†|„‚~™}}‚‰Š~‰}Š}Š}Š}‹}Š}Š~ˆ†€‡€‡€†††~‰|‹}†}‡|†…†~†}„…~‡~…~…~……~ˆ}Š}Œ|Žz†~‚†ˆˆ‰‰‰~‰~‰~‰}‹|{‡}ÏÏÏÏÏÏÏÏÏÐÑÐÏÎÎÊÄÈÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌǾ¶®£¡”~rikxljjmmtcgbV^b\\d]S[`^_UQOSZY_d_dSUVWUVTTYUQW^_\XTME=7;<632@2ÏÏÏÏÏÏÏÏÏÏÐÏÎÎÍÈÃÈÃÉÍÎÎÎÏÏÏÏÎÎÎÎÎÎÎÎÍÌÌÌÌÌÍÌÌÌÌÌÌÌÍÍÍÍÎÎÆ· ¦™wƒz€t_^ap|o]_mjgZYZ[_ZWUO_g_[RPPQYW\ghhPV]`[QPLQRX_b[WOMK@@75542076ÍÍÎÎÎÎÎÏÏÏÎÎÎÍÌÈÁÅÁÈËËÌÌÍÍÍÍÍÍÎÎÍÍÍÍÌÌËËÌÌÌÍÍÌÍÍÍÌÍÎÎÍÍÍÌÀ¤Š‰qonolmoot~{`c`cd[[[[\]STV]dYYYWTRUSV]gdQQY[UMNNQQ]c`b[PGB?;952320.2ÍÍÎÎÎÎÎÎÎÏÎÍÍÌÍÉÂÅÁËÌËËËËÊÊÊËËËËËÊËËËËÊÊËËÌÌÌÌÍÎÍÍÍÍÍÍÍÍÍ̵—”zmtvyu~feb]hZ`ee[[WU_YSXffSPTWXRNLVPZhQOUXZPMSPPYb_aWTUOH?<96321.-ÍÍÍÍÍÍÍÌÍÍÌÎÍÍÎÊÁÂÁÌÎÎÎÎÎÍÍÍÍÌÍÍÌËÌËÊÊÉÊÊÊÊÊÊÊÊÊÉÈÊËÌËËËËͽ’†~sam}mdg``aYibYXTTM[`^`po[QOT\TMJTRSYSZ[XUNPQTZ_XWYQOYOI>@A<520-+ÍÌÌÌÌÍÍÍÍÍÍÎÎÎÎÈ»¼»ÊÎÎÎÎÎÎÎÎÎÎÍÎÎÎÍÎÎÎÌÌÌËËÌËÌÌËÊÆÉËÌÌÌËÇÆÄ£‰z{ph_lppe_b_X]_VS[SSPZgeffdhVPVXSQSTRSXQY]`USUQYZ\YXTSOQPI>@>5550.2ÌÍÍÎÎÍÎÎÎÎÎÎÎÎÎżļÇÎÎÍÍÎÎÎÎÎÎÍÍÎÍÍÎÍÍÍÍÍÊËÍÍÎÍÌÉÆÊÊËÍÏÌÇÅ´šzwpeXUc`[_a`]a_XTRKNUY_adi^[SOOPOKTQSP^LTTZ[WZY`Z[XSQSORJFC>@;431/3ÍÎÎÎÎÍÍÍÎÎÎÍÍÎÎÅÀÌÂÆÎÎÍÍÍÍÍÌÌÍÍÍÎÍÍÎÍÍÍÌÍÊÉÊÌÊÇÅÄÁÇÅÈÌÍÊ¿¼­‘xrUTQROVZmpfac[YMCALYR[ba^VTRJLKHLHOKYORUTVVZ[[[_YSORMWOCGA??40/-,ÍÍÍÍÍÍÍÍÎÎÍÍÍÍÍÅÁÌÃÄÍÍÌÌÌÌÍÍÍÍÍÍÎÍÎÎÎÍÎÌËÈÆÆÊÁ¿ºÁ½Á½ÅÊÉÅ»®¦¨Ž~ur^UVYXhi^ofgaVVRRUTeUN[]SNVXRKJGOPQXXRPXZUSXXVOTYSQVQXX@56220..--ÍÍÑ×ÖÏËÌÌËÊËËËÌÂÀÉÁÃÍÍÎÎÍÍÎÎÎÍÍÍÎÎÎÎÎÎÎÌÄÂÁ¿Ã»¹­¾ºÀ¶¿ÇÀ¾´¤Š‹p‰zfZ_[]dkVm\U^SNST_^WOOQXQPSVWLLLSSSZh_PWXVVVUZSQZXX]]MC=7530.----ÎÚèïîãÑÊÊÄÁÂÄÆÊÂÀÇÁÁÊÌÌËËÌÍÍÍÍÍÍÍÎÎÍÎÍÍÍƼ³½¸²¡º´¿´µÁ¶½´˜†|{lgbaccTYd[Ud[RZ]PRRW]UVSMNNKLMSYVOQORRc[NZZXRMOYXXTWQMJ@7=<;72.----ÜíÝ¿Êëèͺ´³¸»ÂÃÃÊÆÃËÌËÊËËÊÉÊËËËÌÌÌÊÊÈÆÆò­ª®°§ž©®¹¯²º­¬¡ƒvxtkiQ]eZWcZQ]h^Y_YKOQT\_aTPMLLMQLUWKNSNS\]Ya\TPLOYVWVOPXJBC=;;951..--Þá­’›ÆÝÅ·´±±µ´¾ÄÆÌÉÄÌÎÍÍÌÌÊÇËÌËËËÊÊÇÄÿ¿²¡›š£¤š—Ÿ­­¬«¨¤˜„snlgjn^WYT_aVV\[Z_VSXTRTT_WQSONSVRSTWQOWPRZaX^WZ\V]_TTZWSQ@?G;7677520/.†ƒ}{|~zzz|„Š–±ÀÃÅËÈÂËÍÎÎÍËÇÃÉËËËËÈĺ´¶µ¹¬ –˜š—”¡³®«¡™›‘xiefVhbSLHOW`YRR^h`aoa_c^TXNQPOPRVQUQSZRZOO_^]h[c_ihaSPNMJKB=A8755454/02’œž…XYUc—‘Š|”¾ºÃÈÇÀÊÍÍÍËÉÁºÆÊÊÈƽ¬¢¤¥œœ—ˆ•™’’«­’‘ƒvedhZ^UPSQQZ`^[io_QWdOXqp]QNKNMKHJLLOMMPXTX^TRXX`g^]XOIMGFECHB8644344014§¦µ²S`£ÓáßѤw¯´¿ÇƹÃËËËÊÇ¿´ÄËËÁ¶§™œž•™—Šƒ—”ŽŒ‘™‘Š‰‰ƒ~vupcYSX]XOY]VT]h]RP_gfc`]SRMJJHIGGEFNMR^[W[VO\ihhV^TMUSHIA>A9854423337Ÿ«¼…J.h¨lCJR=Ykš­¢Ÿ¬»ÂÅËÎÏÐÎÌƾ°¡™’—’Ž‹‰ˆƒ}‚z‚‰…y|zyqiie[VYRY^YT[Z^ZVZ[[]ZUPJVUNLOKADFFA?FHIQKRSY]aXbo]_OZ^[JEB@><856669=@=OWfQA5C[Rl‚M:G_¡n§¸Çž¸²­¥¦§«¯·¼«•Ž‡Œ‹ˆ…‚‚z€‡}vywrsnkgY\cacYSSXW]^aXT\SX_[VPINLNIBDF@?FGDAPHVX[W`aa]RcbVWXTNHEG:75667<=FFFDCJHECL_glVFED“’Q½ÉlRMJGOIGFFHKOŽ—ŒŠ…ŠŽŒ„‚‚ƒ{~Œz€yvrstpidX]db\RUOQ^fcdVNSSi\cXNRQOJHDJTJCJMMFPQ]^ZM[ddeU`cVOW_SEAA=:8767;@KBlllihijltvtqkiem¢ÑëªCEHHOh]OSPNM@fž„ˆƒŽ—‰‰~†‰‚}Šy{xvuuxucWRZY[WZXNZ\^`ghknqlQ\]VNQQGFEPXQQOOQIJVY^ZNN^[a^^gfV`UA::<=<:;9:==>;VVVTUUUUTTUXZ`cn©èÜ„KG=;F``_R@<@=GšŠŒƒŒ—‡„‰|ƒŠŠ†ˆ‚|yww{uup`X]`UVTUWaXPN`sƒucZ\fQTNMRSNNJC@MTRRTSN[ede[SZZ^\T\XUVH<98;<78:98===:;;=:66766€¯Ù±€‰}‚€‚‡ˆ‚€ƒ~vtvusqtg\^\OPZZ[]TT^bg_^U\caSVNKKRKGA?>=gPSTUZbUVUSXŽ}µ{ÚÀj^iorw}|zz{wsnlŒÊõÃ{‚~y€…„€{€{wsvyytpkg]TNKYW\SSX\[XIX_Z]XYaXKMTOLILOOOTVXV[of[[[ZWZYRWLNK@773_‚:7988;AECEºQV^d¢f`ZR|ðåíãl¥ÆÈÁÅÇÍÍÌÎÍÍÍÌÊÈÆλ¦Š{}~|}|€ƒ€}xypoxy{riacUQSEAMWXVY\OKIVZ\]U[f_SNLJKOMNJHKNVXZ^a[^XVRVOKMHB<8776Sƒ>889;;>HJH¾PGLRšÇdMJF€îâêÏVÓ××ÙÜÜÝÞááàßÝÜÛÙÙ̓xzx|}€{~„„ywxmiouyoha^PQTGJQUX\UPSQTU[VVWZa^SLEDBEHIFFGJSV]\VMVSUSSNHFD=96686Y}A88;=?>=<@KPVbZTX[RW[PMG;;:87782‡åT16;:;BIJJÔééëìêèèéèçã±^KD>¥ßÝçêëèÎÃÉâ¿´ÉêæáÞÖÇ|xzzvz{}~|~|xtwvjltlhg`O^j\VTZ[YSPXZ[b_XU[ZVNHE@@?><79?DIJ[iYU\Y[]WHDA958887:5‚çV/8<=BHHDQÏíðññññòòñîë­YMG@ åäêèåᮤ°Û½°ºæãæÞÛÒ~wwyyx{}z|{€|xxuniphgdb[hqc\NQ\ZVSU[W_ZV[eZPJCA@@CA?>CIC>L[lk^MQgRHA;;;8;;99>8sÝ]2>DSQJV_^lmRVXKB;666;@BA>A:;?FMIB=?9yõz8<4=IIWalrw{„Šš—Š‡‹udLKIDráíîñîëïñññññíëððíï¸u}~jz~y|ws€~ztqnkhhecnaTW]YW\SPURTQ[^Ze^VVROIGGBGJEDGONTillvvdbmjWPOMPUTVTHIP9f×çÓ¶Ììó´´´·ÓìľÙå¯ryzrx~{z}}vzxyusja`b\\jcUOWZa[XSOPXUZeaaYPOVQLE@>JX`V[dipe[XY_chknlpf]hxvpleijY…òWTZwvqvlfQPNLJJIJIKKSV@-37XÈÕ´t›îº|utqzÎä|z¾×¡nt€}uy}|tx{~wypdZbgdbcaUWYYTSQPNU\ZTZYTNRXTRU\\rƒyclyn\TX]^`cjgn„ƒ€ƒ…|€„‰‰Š”³•‰ƒ}}strh||{yz|}|{{z|‚`*06P­íæÝßêéÔÎÍËÐêèÙßìèow||vv~wrw{|qwne``g`]a^Y[UUTVZ\QR[ZOMOU^[X\gxƒ‡Œ…ebslTRY\\\^gjlu~|}vt}‹Ž’’Š„Œ‰‚€orpmphmmnnosuuuvxxzc57;^ˆ§¤”¦·®°¸ÇÁ«˜“’˜©Ÿmw|vtvztt}utyvwrrnlmkmklqomoioz‰’ˆŒŽ‡‰”³š}‚~z€lamobV\`_][_hgjuiebedtƒ}…ˆ…„Ž†{sdhpnjgihhikmopppqqssops}~}||{}‡“’„Ž‰~sszyxwvttrrqrttsrqonmlmnpqswyzzzxttvxxyz|~†˜«¼µ¨”†zqlmmlmmjfb]\][Y`_WY]^^agkfhdbdppjokg`juotyonmlmoqstttsssstvz}~}|{zwvv~ ¡‹qqqtxwwwvurqqqrstsoljiiiiklmpsuvvutttsrsrpprz…“Ÿ¬±¯§œŽ~rgggeb_\YV[YWWXXWZXXX[YWXYYWUTVQZZcqxupmkijkmnopqonnnnptxz{||||||zyvts{…{…Ÿ”vnorstvvtsrpoppokmnmlihffgfhklnqtuuutronnnpnoqv~ž³¾º£‡skgiihc`^]XUSRUSRTW_bUVX[WWVUSTVSXzwsokiijkmnoopoooooprtvxyzzzyyxwvtpp|‹“•spprstuvssroleillljjigeccdddgkortuvvtqnllnoqpnmn|’¬¾½®•€rjjkgdbb[V[UUUUXXTTV\TTT[YVVUTxxvtqlihiijlnoooprsrrrrtuvwxxyyyxwusqnm}£¤€mmoqqqrrruttlprrqrqqnhfcacdbcdgimqtuwxvtqmljmpqpnmsƒ™²ÄÀ¥†rhjkkifea`\ZUTSTSSSTTZWTWXXvvvwuqlhffgillmmopqqqqpppqsuvwxxwwvsrqponnt›¬z„”›¡¥ª¬©­¯¯¯®®®¬§Ÿ’Šraba___`djorstvwvtpkhhloonkhk} Ã̱ˆrkijkjjhfc_[WTSRRSSUYTVWVuuvvvurmhffghjllmmnnooonmnoqrsuvvvwusrrqqpq¡Á¸¯¯¬©¤Ÿ˜‘Œ†ƒ‚ƒ‚ƒ…‰‘™œš•obbba``_aejnqrtuvvvsmhhklnooljv”³Ã¿¥†skklkjhhfa]ZVURPU[STTTrtuvvvurniedegijkkllmmnmlllmnpqrtuwvutsrqo~¬”‹„yoga[Z[]j}h^ZURRSVYXi€kgcaaa`a`adhknqstuvvtqlhgkmonlikx–¶É¤ƒqlklljgeecb_[WTUSSTmqsstutrpmidbbceghijklmmmlkjjllmprrtutssrn‡“[SNMMNOTYabxŸ›mZT`fc`\UE=bqmkgdb`aa_]_bfknqrsttttrledhklmmjfiªÌβ‹rqmkihghgfeda]WTWkmopqrsrrpnhca`abdegijjklmkjiiikmnpsrstssq‡d?NVams{o:541.0356[pppnlbEAhmnolidbbcb`]^bgknpqsstutqiccgjllkiff|ªÌдslmkihfeggffa]\jkmoqrstsrqniebabbceghijklklljiijlnqqstssvˆEDl†‘›Ÿ¥œfYC523?EFFCAC?=DSAUhinpomjgefgda_adhknpqstttsoiddhjlkkjfi~¥ÈϹ‘ulmmkihgfffebgjlnprtttssqnjecccbcefhjkkkklljhijlnpqrsr‚u=Q~®¯³¶µ²ªŸ”ommpKE<34>=52IcCedejmooljgfffdb_adimnoqrstttpkfdhjllmlhfzÁпœ|mllkjiggffbfikmprsttsrqnkgdbbbcdgjjjjkkllkigjklnpqqŒZTPZ´µ°¨Ÿ—‹Í¥uŽ¯T>3;OQH734/neMnigebbfijihea_aa_]]_behlmoprsrpnifdgjlmlmlhhy›¸ËÅ«yponl€[beikmopqqqrrpnjda`_`aeghiijjkkkjhgfhjku}I€9224677EHIENebMD5>Ir{aD7x–‰Dimkjfcbbegigda`_^]\\\\^acgjmoooonmjgddgijkljgehxžÊÖÅœtjlÂw\chikmopstrsrpnieba`abegghiiihhiihefgh{k\{035>XZABIFCA@AHF6PEi~\<4b‰Q_mkljeba`bfefca_]]^]][[\\`cfijkkklllib_begjjijgcbx¦Íדo˾q\dghjlnoqsrqqomidba`abdeegghhijkjhfedXvk/32G’œa>C;5559GLBOG]lp>5//…pNmkllkhd``bdggeca`^_a_^\[\_bfijlnopqolfaacghijijiefªÌÕ¹¾Î²`[behjllnsrpqqomiea```bcdeghiijkkjigd‚MŒY2<8bˆ–N:22214<=0Xokkklkheb`cgijigea_^__]\[]^bfjkmnopprrrmfbcfhjkkY\ºÂΞZ`dgijkmnoopponnkfca```abcfO5=8YfDCN>OM4?BA?ENPLIED?7=7:SWNPN9686AB43/2>clkkklljigc``dgijigd`^]]\\\\\^aehkmnpqqrrrnhbbehjOIP»ÂˉX^beghjlmnooonnlieb`__`bceQ.1318EC4742358<83233335568754777999;?JH-6I[ijijjjjkkjjhda_aehjjie`]]]]^]\\\^`eikmpqqqrrpmhbbe\RKXºÄÄuU\`cehjknnoonnmlhdb`_`accbPA;8,I_><:8976776667666567777778899;=DD>ihihgiihhijjjjjheb``bfihifb_^]\]]]\[[^bgjmnoqrrqqqngbeYOIc¬¾Ë»hZ_begijlmoooonmkhea___`acffy£ZAZ;:987776666666656667767678899;>C?da`aeghgghiiiiiihgda_`cfhjifc_\\]]^][Z\_dhkmoopqpppi_jaOLJx¹ÀϪ_]achhikmnnooomkjhc`___abbb}¾…@Q9977655655555555556554555567757BCg«­“jeggfghhiiijjjgec``bfjkkjfb^\\_``_\[\`fjkmnppo^WYmpbRLO¼ÂÒ–Y_cfghkklmnoomlkjfb__^_`bbs°vHC55665554443344444554334344535IjUUg®ÒÊ”bdeefgghiijijjihea_`dhjkjhe`][^`a`^[[]bgklnpkOWcjmw^NKZ£¿ÉË}Zcegikklmnonmmlliea_^^_abf”nXVfH4134333222335K944333223328 ±}OWaihiddeeffgghijhihiihea^`beiijjgc^]]^^__]Z[_eiknlQU^qpmeWNKi±ÂÎÃs]cfijklmmmnoomlkhc`__^`dhlY[|«¨>/1112112345754332222226r²˜˜œK:bgeedcdddfffghhhhhhiihec`^_dhkllifc_____`]Z[]bfilXJTrlmmeSVj¾ÇÔ¹h_dhiijklmnoonmljfb`___bkW@`Ÿž ¼„A/.00012445036310000.0i ™³¢E.[hgfdehkhbegghhhhhhiiijhca__chklmkieccb`aa`^[[^bghYQlmplhYORT–ÄÈÔ¦^`cdfhijllmnnnmljfb_^^]]],G–œ½›¹—A?<:98636?‚Z8=EIIHLxtÕæ¿Ɔ:)Liggdn¾ÚÑbeeffgggghiihhfca_^afknmlkhebaaba`^ZZ[_ej^nsrnmfSLJ\«ÄÌÓYacehhijklmmmmmkheb_^[PL-7‚ÁŶî餓kXY`oYṖDnxqc[jªºôïãÕÄZ2+Gjgfge‰ºµ›ebdefeeffhihgggecb_]^cjmnnliebaa`^^\[[Z]c`qurtvxiTNJs½ÇÑÅk]behhhjkkllmmmljhd`^]O;.0W¯ÜÓîéã ˆZ\]eŒb†×²Vp[cc`€µÒâĪž|1//Ijhggged``cedcedddegggggggfca_]]bjnnmlifc`^][ZZZZZ\Uoomkkmf\RLOœÄÈÕ Z`cfghijjklmmmmkifb_^U4.-2d¨“¦¿Õ£²melcWN©øàmbqu{q›¡ura832/.2LkhgggggfdbŒuaddcbdefggfefgfdb`]]aglllifc_^[ZYYYZZ[Mofdef`b^SMIj¸ÃÎÌuZbhigghijllllmljhe`_N10,.024>\JS‹]\ltkl–ØĆrkh^X[M:=>862./1Rlhggggffecfd`acbbcceefeddefecb_]\^dijihfb_[ZYZYZZZKmhhhrmhbRLLMÀÆÔ°]^ddffgiijlllllljgdcH.1/.027EK[n”ÎØßãéíîêêéìÔj[WTKA:3/0/Xkheghgghgfg¶Ûݧfabbddeffffgggfec`_]_dijkkie_Z[[[[WGkrkiootrf[OKKzºÂÐÊq\cefghijkkklllkihfQ,-//37;AITbv˜”íæìíìëëìììñÄ„¬Œ}kUD:3/0/\kiceihggggd‡ÌÍÁz^bbcdeffhhggggheda_]^bfjjhie][\\]WCuxmlqponpqYKKR–ÀÅÖ®_adffghjkklllkkkihX.,0.16qokilmighkeMJIc²ÁÉÖ[bfghijjjklmlkljk]0-0..26;BLYj‚|ÚêåäßÚÕÑÎÆÀ‰EJ?7KŽm=:.+0ahgc`efffgffedaaacccddeeddeeffefgfecb_]\afhiiiea]]W=pnmehlntroiRJKKƒ¾ÀÑÈo_efhijjjklmlmmll`2//.4?F•›E-,,8Y^\ZTQMIHE?;7@EF†óÎ]PNTfŠ‘––•ž¡¡£¤¤¢ ¡œ”Œwdbddeeedffggfggggeda_\\`fijjihc_Y>jddjelruqss^KK[iž¿ÄÖ¯cdfhijjkkklnnnnna14./2CoîÝ‚ahpšnu{ƒŠ‘”— ›§ˆ¯ÎÍ­­±²²®­®«ª¨¥£¤¤¥§¦¨ª­©¢Œb__befefeggggggghedb_]\`dikklif]>aikioolmpurlSJNO^¬ÀÈÔ_dfhiijjjlmmmnob/:...7W´¤wct€‡Ž‘“”•’‰€vjaZS–«š¢Ÿ™”‘ŒŠ‰…ƒ€}{z{{zyyy{{||Ž©Á©iceeeeefghhhggeedb`]\^ejklmkeAzusrwrlknmikeLJKIx¼½ÍËt\dfffghijkllmob.?A>@CDCM`KFEEDCRª‘a[\[[]__bfhn€‰}~||ywtssstoao„uobcdeeeeefefffeeeeeb_][_ehklnIrwsvumphnopmkeXMKHc·¾ÉÓ~X`bdefggjkkliZ+<1,+,.0136889=?>BEXjG?;841ƒ°sXix~€€ƒŽ¤v…‰‚ƒ}|{|kli\kicdddddeeeeeeddddda_]\^bhkmKovtwvnqjjlllnsiPJJN˜ÄÄÖ¸dbefghhhikkf[O+;5.--++,++*)*)**)))')*))'9 ˜`lz†‰‘•žž‚I2434b®¿ÂÁ¾À¾º¢}fQpl‹zdddedddddddddcdddb`_][\chmMluonmlnlhjknmniRIKKl¾ÅÍÖˆ^dfggggggf\UM*:612SA3/-,+,*))******+,/0`™J|¡ÊÎÕÙÜßàãUWMJMUÄåáÞ×Øàà×k|Lgh^^bccdcdddeededdeeedca`][]ckLmkmtrnlmnngjkiiUJKMO™ÆÅÓºa^aceeedcc_VP,9560P]ZNCMI82332457?ZˆŒiFLG:5KkJ`b`^afc`abbbbbbba``abbaXSMJ>ˆ~uzttjluojhoibbaVLLK]d‚¿ÃËØ\`bcbdedba_``____][YYYY\]]gmp{m˜uqIiQKSLHJJKHHKTI312269?TYjrWNNVL7=aG^]\rplc_`bbbcccccaaabb`OIIJ>€~yxytprb`hq{rjkfZMLLZb^ÂÂÖÀe_acbcdddcbbb`aa`_][ZYYZZ[`gc``o}oE_QNPFDEFFGFBAF;654BQPQ[ZTSLGFMD?@F]Tl¸rY__defeddccbbb^WUPKIJ?†z†z†z†z†z†z‡z‡z‡z…z†z‡{†z†z†z‡{‡z‡z‡z‡y‡y‡y‡y‡y‡y†y†y†y…{ƒ‚}„y„uƒt„t…s†w†yˆw‡y†z†z†yˆ{‡{‡zˆw†u†y†y†z†{†z…y…y‡z†|„~ƒ€‚‚€‚€‚…y…z…z…z…z…z†z‡z†z†z†z†z†y…y†y†y†y†y†y‡x‡y†y†y‡z†y†y†y…y„{€|‚xƒuƒtƒt‚u„u…v†y†x…x…y…w†yˆ{‡y†y…w†u…w…v…x…z†z…x†w†y…{ƒ~‚€‚€€…y…z…y…z…z†y…y†z†z†y…y†y…y†y†y†y…y†y†y†y†y…y…y†y…z…z…y…z„z‚~€€‚{ƒv„w„wƒw„w„w…y…z„x„x…w†y‡z†y…xƒx„w„v„uƒw…y†y†x‡x†y…yƒ|‚~‚€‚€€…z…y…y…z†z…y…y…z†z†z…z†z†y†y…y…y…y…y…z…z…z…{…z…{„{…{…z…z„zƒ}€€~ƒz…y„x„w„w…y…{„{ƒy…x†w‡z†z…{„{„yƒxƒv„v„x…y‡yˆyˆz‡z…z‚|‚~‚€‚€€€†y„|ƒ|…{†z„z…z…z†z…z…z…y…y†y†y…y…y…y…y…z…{„|„|ƒ}ƒ}„}„|…|ƒ~‚€~‚|ƒy„x„w„y…z…{…y„y…z‡z‡{†{…{…{…z„vƒu„x…y‡x‡y‡z‡z…y„{‚~ƒ‚€€‚€ƒ|‚ƒ~„|„}„}…{…z…z…z…y…z…z…z…z…z…z…z…{ƒ}‚}‚~‚‚‚~‚}‚‚ƒ‚~‚|ƒz„yƒw„y…z…{‡y†z†|ˆ|†|…{…z…y…x„v„v…x…z‡{‡z†z†y„zƒ}‚‚€‚€€€€ˆ‡ˆ‡‡ˆ…~„|…{…z…z…y…z„|…{…z…z…{…|„}€€€€€€€€€‚~„|…}ƒ~ƒ~ƒ{„z…y„w„w„w„x…y‡z‡|‡|…|…{†z…y„w…w„w…w†x†x†y†z†y„{ƒ}‚‚€‚€‚€€†{‡y‰zˆ{ƒ}ƒ~…~ƒ}…z†{…z…y…zƒ}…{…z…}ƒ€‚}ƒ~‚~€€‚~„}…{…|„|„|„z„y…x…w„xƒv„u…x†{‡|†|„|„{…{…y„x…y…x…w†u†u†x…y…y„|ƒ}~€€ƒ„vˆs†t‚|‚†}ƒ…}…}…|†{†|ƒ€‚€~„{†z†|…{„{„|ƒ}ƒ}ƒ}‚~ƒ|…{‡z‡{…|†z…z…z…x„x„zƒx„x…z†z…{…|…}„}ƒ|ƒz„w„y…y…v†u†u†w…x„xƒ|‚‚€€€ƒ††|‹zˆy„…‡|ƒ€‚€€ƒ€„€ƒ‚‚‚~…w‰wˆw‡w†x…{ƒ{ƒy„|„{…y‡y‡x†y†{†y…z…z…x„x…y…y…y†{„{„|…}…}„}ƒ|ƒzƒyƒy…x†w†v‡v†v…wƒw{‚~‚€€‚~‚yy‘yy{{xŠ|€„€‚‡~ˆ~ˆ{ˆy‰{Š{…€z‡x‡x‡w‡w…{„{ƒx…z…x†w‡w‡w†y…z†z†{…{…y…v…w†x…w…z†{…|‡}„}ƒ}ƒ|ƒyƒzƒy…w…y†w‰u‡t…v‚w{‚‚‚‘{yz{z‘{|Ž|„€‚‰}‰}ˆ{‰y‰{‰|ˆ}ƒ{†v†w‡x†x…y…u†vˆv‡w‡uˆwˆz†{…|†z…z…y…u…u…v…w†z‡{…{…}„~„}…z„xƒy…w…w‡x‡x†w„wƒy‚{~€€~‚~ƒ„„…~…€…‚…ƒƒ€ˆ„ƒƒƒ€††€……~………~{…w†w†w‡u†u†r‡tˆuˆvˆuˆwˆz†|…}„z„z„x…{„{„y†z‡y‡z†|†}„}„}„z„x„x†v‡wˆw‡xƒwy|‚‚‡‚€}„|†€‡„„„€ƒ‡}Š‡‚‚‚€‚€€‚‚z†v‡u†u‡sˆt‡sˆtˆt‡t‡uˆwˆy†y…z„y„x„{„|…{†z‡{‡yˆ{‡}…~„}„}„~ƒ{„x‡xˆx‡x‡yƒ{}€€‚€‚ˆ‚€€‚}„{†„ƒ‚‚…€ˆ„‚€ƒ~„}„‚€€‚z†u‡t†s‡sˆs‡sˆs‰tˆt‡u‡v‡x…u„x…y„x„{„z†y†y‡yˆzˆ|‡„ƒƒ‚~ƒ{„v†wˆx‡x†{ƒ~€ƒ}„}ƒ~€~‚|…x……}ˆ{‰|‰}ˆ~‡€…‚‚€‚‚€‚€‚€€€y†r†t†s‡sˆrˆq†sˆt‰uˆv‡u‡w†y„y…y„zƒ{„y…x‡x†x‡z†}…„„ƒ~„|…w…sˆtˆv…w{€~~}}~‚}ƒ~ƒ{‚wƒqƒƒ}ƒ|„|„}„~„‚‚‚‚ƒ…~„~‚€‚€‚y‡r‡s†s‡sˆt‰t‡tˆu‡w‡y‡w†w…x„x†y…zƒz„y…w‡x†y‡{‡|…}ƒzƒzƒxƒv‚q‚p‚pp~n{q|r|p~qr~v€z‚{‚wo€m€l|ƒ}ƒ|ƒ|ƒ|„}ƒ€€‚„~ƒ}…}†}†}…~„…{†tˆrˆu‡t‡t‡uˆu‡v‡x…y…x…y„zƒzƒ|ƒ|ƒ{ƒ{†{ˆz†y†x†s‚n~i}n|nzr{szqzozlzh{f{g|e~d~e~ehfe|f~ik€€‚‚‚‚‚€„„€„~„~„€ƒ€ƒ€„€ƒ€‚‚‚„ƒƒ„ƒ‚ƒ€‚ƒ}ƒ~ƒ}…}…~…„ƒƒƒ€‚€€‚€‚€‚‚‚ƒ……„}…x…t€twxzyyy~x~v~xx€topp€m€l€no€m€l‰~‡€†€ˆ‰~Š}‰}ˆ}ˆ}‰}ˆ}‰|‰}‰}ˆ~ˆ~‡€ˆ‡ˆ€‰ˆ~ˆ~‡~†€„ƒ€ƒ‚‚‚‚‚‚€„€ƒ€ƒ€‚€‚€ƒ€„€…€††€„„‚ƒ€Š…€ƒ€ƒ€‚‚ƒƒ‚„‚ƒ‚„„€ƒƒ|w€‰|‰}ˆ‡†€‰‰}Š}Š}Š}‰}Š}Š|Š|‰|Š|Š}‰ˆˆ‡‡€ˆŠˆ~‡}‡…€„€„„……ƒ„€ƒ‚‚ƒ„…†‡†…„‚‚„€Š€„€‚‚‚‚ƒ„€„€„€†€†€‡€‡€‰|‰|‰|ˆ††ˆ‰}Š}Š}Š}Š}Š}Š}‰|Š|Š|‰}‰}ˆ}ˆ~‡‰~Œ||{||{zz{Ž|Œ}‡€„ƒ€ƒ‚€‚€„‡€‰ˆ~ˆ…ƒƒƒ€‚€‚€‚€€‚€‚€„€„€…€†€‰}‰|‰|Š|‰}ˆ~†€‡ˆ‰Š~Š}Š}Š}‰}‰}Š|‰|‰|‰}ˆ}Š}‘{‘z{|Ž|Žˆƒ~}Ž|‘{|ƒ‚‚€‚€‚€€€ƒ…€‡~ˆ~‰~ˆ€„‚€ƒ€‚‡€‰€‚€€€‚€‚ƒŠ~‰}Š}‰}Š|Š}‡†€†ˆ‰~‰~Š}Š}‰}‰~‰}‰}‰}‰|ˆ}Š~Š|„}€|€|…}‡†ˆ~ˆ|†}‡}ˆ}Š}„‚‚‚€‚€€€‚…ˆ~Š}ˆ†€ƒ‚€…†€‚€‚€‚ˆˆ~‰}Š|Š|Š}Š~‡†€†€‡‰~‰}Š}‰~‰~‰~‰~‰~‰}ˆ~‡„|~|~{€zƒ{ƒzƒ|†yŠx‡|‡}Š|ˆ{†~…€‚€€‚€€€€„‡‡~ˆ‡€ƒ‚€‚‚€‚€‚‚ƒ„ˆ‰}Š}‹}Š}Š}‰}‡…€…‡‰}Š}Š~Š~‰~‰~‰~‰}ˆ~†~‰|ˆ~†ˆ{‰w‡y†zˆz‰z‰}‡|†~ˆ~‡„€ƒ€‚‚‚„€ƒ‚‚‚‚‚‚€€‚ƒ€†‡~‡~‡…‚‚ƒ†ƒ€ƒ†€‡~‰‹~Š}Š}‹}Š~ˆ††€ˆ~‰~‰~‰~‰}‰~ˆ~ˆ~‡~†|Š|‰†‡~ŠxŠyŠyŠyˆ{}ƒ‡‡|…}‰~‰~ˆ~†„€‚‚ƒ€„‚‚ƒƒ‚€‚€‚€‚‚ƒ‚†ˆ~ˆ}‡}†‚€„|„ƒƒ‡€‰~‰}Š}‹}‹}‰~ˆ†€†€ˆ‰~‰~‰}‰}‰}ˆ~…†|Šz‡}…„‰zŠzŠzŠzˆ{€„~ˆ‡~Šz…|ˆ~Š~‰}‰~ˆ…€ƒ€‚€‚‚‚‚€‚‚‚‚„€†‡‡~‡~…€ƒ€|…|„‚†€‰‰~Š}Š}‹|Š{Š|ˆ†€‡ˆ~ˆ~ˆ~‰}‰}‡~…„|‡{‡|„€‡}ˆyˆzˆ{ˆ{‡}~…}‡‡}Š{…}†}‡†€†~‰}ˆ~†~„€‚€‚‚‚‚€€‚‚‚€‚„€†‡}ˆ}ˆ~}“}‰~‚ƒˆ€‰‰}Š}‹}‹|‹|Š}‡†€‡€‡‡~‡~†…€……}„†‡~†~†}†~†……~ƒƒ‚‡~Š|‹|‹}„„€…~‰}‰}‰}ˆ}†ƒ€€‚‚ƒ€ƒ€‚‚€‚‚‚‚„†€ˆ}|ƒ„}ƒ}‚„ˆ€‰Š~‹}‹|‹}Š|Š}††€‡€‡ˆ…€†€‹}|Œ~‹~‹}‹}Š}Š~‹~Š}‹}‹~Œ}Œ||‘z‘{…€…ˆ~‰~‰}‰}‰}‰}‡~ƒ€€‚ƒ‚€ƒƒ€ƒ€‚‚€€€€‚€‚‚„wƒ„ƒ|ƒ~‚†‰‰~Š}‹}Š}Š}Š}‰~††€‡ˆ~‡~‰|Ž|{Ž|Œ|Œ|‹|‹}Š|‹}‹}‹}‹}Š}‹|{|{‰~‡€‡€ˆ~‰~‰}‰}‰}‰}ˆ~…ƒ€ƒ‚‚ƒ‚€‚€‚€€€~©p€z‚‚}‚}‚‚‚ˆ‰}‰}‹}‹}Š}Š}Š}ˆ~†€†€‡‡Š{~Š…Š€‰}‰}Š}‰~‰~ˆ~ˆ~‰~Š}‰~Š}ˆ~Š‡†‹‡€†ˆ~ˆ~‰~ˆ}‰}‰}‰}ˆ}ˆ~„€€‚‚€‚‚‚‚‚€€€—xºh{m}|}{Œ‚ƒ‚‰‰~Š}‹}Š}‹}‹}Š}ˆ…€†€†€‰~‰‰‡‰~ˆ~ˆ~‡~‡‡ˆ~ˆˆ~ˆ~ƒ‚|Šƒ…ˆ€ˆˆ~‡†‡~ˆ~‰}‰~ˆ}ˆ}‰}ˆ~…‚€‚€€‚‚‚‚‚‚‚€†~šj}h{q|‰}ˆ~‚ƒ†ˆŠ~Š~Š}‹}‹}Š|‹}ˆ†€…€…€…€ƒƒƒ‚…ƒ€„€………‡ƒ„€ƒ€‚‚‚€‚‚„…€‡‰}ˆ†…‡ˆ~‰~ˆ~‰}‰~‰}ˆ†‚€‚€€‚ƒƒƒkj|k|v€€‚~ƒ}ƒƒˆ€Š}Š}Š~Š}‹}‹}‹}‰}†€…„€…€ƒ‚ƒ„‚„‚‚€‚‚ƒƒ„…„„ƒ€‚ƒƒ„„…ƒ€‡‰}ˆ~ˆ~ˆ€ˆ€‡‰~ˆ~‰}‰~‰~ˆ~ˆ~‡„‚€€‚‚€€ƒ„„€„‚m€mm~s‚ƒ€‚}‚}ƒ…‰Š}Š}Š}Š}‹}‹}Š}ˆ~…ƒ€„€…†…‚†„€ƒ…‚ƒ„„†„€†~ˆ~††…€ƒ€‡‰|‰}‰‰ˆ€‡ˆ€ˆ~ˆ~‰}ˆ}ˆ}ˆ~ˆ}‡~ƒ€€‚€‚‚€…€†€†nƒl€i|ny‚‚~‚|ƒ€‚‡‹~Š~Š}Š}Š|Š|Š|‰~†ƒ†€ˆ~‡}‡}†€ƒ€€€‚€„€‡~ˆ}ˆ~†„€ƒ€‡~‰}‰}‰ˆ~ˆ…„‡ˆ~‰~ˆ}ˆ~ˆ~ˆ}ˆ}‡}…‚€€‚€…€‡€†ij~hzi|k}z€‚}}‚ƒ‰Š~Š~‹}‹}‹}‹}‹}ˆ~€‚„€…€„…~ƒƒƒ‚ƒ„„„……~…„„„‡~‰~‰~‰~‰}‰ˆ~‡ˆ€‰~‰~‰~‰~‰~ˆ~ˆ}ˆ}ˆ~…€‚€€‚ƒ……nn~iygyezs€ƒ~•|ˆ~‚…€‰Š~Š}‹}‹}‹~‹~Š~‚€€ƒ‚‚ƒƒƒ‚…‚ˆƒ‹ƒŠ‰€‰€‡„„€…~†~‰|‹|ŽzzzyyŽyzz{‰ˆ‰~‰~ˆ~ˆ}ˆ}‰}ˆ~ˆ†ƒ€‚‚‚m€j~gygwfxk}{„Š~„}‚€‡Š~Š~Š}Š}‹}‹}Š~ƒ€€€ƒ‚‚ƒ‚‚„‚…‚„‚„‚…‚„„„†}‘x”w–u—v–v–v—v—u–u—v—u˜v–vŒ}ƒ€‡€‰‰~‰~ˆ~ˆ}ˆ}‰}ˆ~†€ƒ€‚‚f€g~gzgxgwhyq~€€‚~‚|‚‚Š~Š~‹}‹}‹}‹}Š~„€‚‚€ƒ‚‚‚‚‚‚‚„ƒƒƒ‚ƒ„€‹{‘z‘{{|Œ}Œ‚ŽŒ€‹€‹€‹‹~Œ|‡‡€‰‰~‰~ˆ~ˆ}ˆ}‰}‰}‰†ƒ€hh~gzfxfwfwgyu€‚€‚}‚‚ˆŠ~‹}‹}‹}Œ|Œ|„€€‚€‚€ƒ€‚€‚€‚€‚€‚ƒƒ€ƒ€…~Œ{†|}}~|~|~…~Š|Œ~„}}~}~}~|~…|‹|ˆˆ‰‰‰~‰~‰~‰}ˆ}ˆ}ˆ~†ƒ€€jh~gydwgyi{hzt~€‚‚~‚~‚„‹~‹}‹}Š}‹||„€„€…€‚€‚€‚€‚€‚€‚€„€„€‡~Š}‚|y}x}w}z}ˆzŠxŒy…zx}y~z~{…|Š{‰~‡€…‡‰~‰~‰~‰}ˆ}ˆ}ˆ}ˆ~‡ƒ€‚ih~g{fxh{j|h{n|‚‚}‚ˆŒ}Œ}Š}Š~‰„€€ƒ€‚€‚€‚‚‚‚„ˆ}‰}…}„~ƒ‚€„~Šy‹w‹v‰z}ƒ††~ˆ{‰{Š}ˆƒƒˆ~‰}‰}‰~‰~‰~‰}‰}ˆ~†„j€j}i{i{i}h~h~jt€‚€‚}‚ƒ‹~Œ}‹}Š}ˆ…€„‚‚‚€‚€‚€‚‚€‚„~Š}‡}‡|‹}‹}‹}‹|Š{‹x‹wŒz‹|Š€ˆ‚‰|Šz‰|‰}‰~‡€†€ˆ~‰}‰}‰~‰}‰}‰}‰}ˆ~ˆ~…€kƒki~h€n„k„h‚jr}‚‚‚„}ƒ‚‡€‹~Š‰}Š~‰~‡€‡†€†…„……€…€„„‡}Š}†}…|‰|ˆ|‰|‰|‰}Š{‹z‹zˆ|ƒ††}ˆ{ˆ|‰}‰~‰~‰~ˆ~‰~‰~‰~‰~‰~‰~‰~Š}Œ}‰~l‰nˆm‡nˆp†p†m„p…t†|„‚š}}‚‰Š~‰}Š}Š}‰}Š}‰}‰~ˆ€†€†€‡€†ˆˆ~ˆ|‰}„}„|†|…|…|†|…~‡|ˆ|†|ƒ~~‚~ƒ‚€„}†~‰}Š}†‡~ˆˆ‰‰‰~‰~‰~‰~‹}Ž{{ÏÏÏÏÏÏÏÏÏÐÑÐÏÎÎËÅÈÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌÇ¿¶¯¥¢•~rjkxlkinnscgbW`c]]e]T[a``VQOT[Y_d_dSUVWVVTTZUQW__\YTME=7;<632@2ÏÏÏÏÏÏÏÏÏÏÐÏÏÎÍÉÄÇÃÊÍÎÎÎÏÏÏÏÏÏÎÎÎÎÎÍÌÌÌÌÌÌÍÌÌÌÌÍÌÌÍÍÍÍÎÎÆ· ¦šyƒz€v`^ar|n^`okg[Y[\`ZWUP^ha[RPPPYX\ghhPV]a[QPLQRY`b[WPNJ@@75542076ÏÎÎÎÎÎÎÏÏÏÎÎÎÍÍÈÂÅÁÈËËÌÌÍÎÎÎÎÏÎÎÍÍÍÎÍÌËËÌÌËÌËËÌÍÍÌÍÎÎÍÍÍÌÁ¤‹Šqonqklomt€}abaed[[[[\]SSV]d[ZZWURVTV]hdQQY\UMONQQ]d`b[PGA?<952320.2ÎÎÎÎÎÎÎÎÎÏÎÍÍÌÍÊÂÅÂÌÌËËËËËËËÌÌËËËËËËËËÊÊËËËÌÌËÍÎÍÍÍÍÍÍÍÍÍ͵—”{mtw{vhfd^hZaed[[WU_YTYegSQTWXSOLVP[hQOUXZPMSPOYb_aWTUNH><96321.-ÍÍÍÍÍÍÍÌÍÍÌÎÍÍÎÊÁÂÁÍÎÎÎÎÎÍÍÍÍÍÍÍÌËËËÊÊÊÊÊÊÊÊÊÊÊÊÉÈÊËËËËËËͽ’‚…sbm~ncg`abXibYXTSM\a_apo[ROU]TMITRSYSZ\YUNPQTZ_XWYQOYPI>@A<520-+ÍÌÌÌÌÍÍÍÍÍÍÎÎÎÎÈ»¼¼ÊÎÎÎÎÎÎÎÎÎÎÍÎÎÎÍÎÎÎÌÌÌËËÌÌÌÌËÊÆÉËËËÌËÇÆÄ£Š{|qh_kpqf_b_X]_VS[SSPZgefgdhWPVYTQSTRSXQY^bUSUQY[]XXTSOQPI>@>5550.2ÌÍÍÎÎÍÎÎÎÎÎÎÎÎÎżļÇÎÎÍÍÎÎÎÍÍÎÍÍÎÎÎÍÍÍÍÍÍÊËÍÍÎÍÌÊÅÊËÌÍÏÌÇÅ´™z|reXTc`[_b`]a_XTRKOUY`adi^\TOOOOKSQSP^LUTYZWZY_[[WSQSORKFC>@;431/4ÍÎÎÎÎÍÍÍÎÎÎÎÎÎÎÅÁÌÂÆÎÍÍÍÎÎÍÍÍÍÍÍÎÎÎÍÍÍÍÍÎÊÉÊÌËÈÆÄÁÇÆÈÌÍÊ¿¼®‘xqVTQROVZmpfac[YMCAOXS\ba^WURJLKILHOLYORUUVVZ[[[_XSORMXOCGA??40/--ÍÍÍÍÍÍÍÍÎÎÍÎÍÍÍÅÁÌÃÄÍÍÌÌÍÍÍÍÍÍÍÍÎÎÎÍÍÍÎÍËÉÇÇÊÃÀ»Â½Â¿ÅËÉÅ»®¦¨Žtr_VWYWhi^oggaVVRRUTeTO[]SNWXRKJFNPQXWRQY[USXXUOUXTPVPXX@57220/.--ÍÍÑØÖÏËÌÌÌËËËËÌÂÁÉÁÃÍÎÍÍÍÍÎÎÎÍÍÎÎÎÎÎÎÎÎÌÄÂÂÀļº­¾º¿¶¿ÇÀ¾´¤Š‹€p‰{f[`[]elVm]U^SNST`^WNOQXQPSVWLLLSSSZh_PXXVVUUZSQZXX]]ND=7540.----ÎÚéðîäÑÊËÆÂÂÄÆÊÂÀÇÁÁÊÍÌÌÌÌÍÎÍÍÍÍÍÎÎÍÎÍÍÍƽ´½¹±¡ºµ¿´µÁ¶½´˜†|{mhbbccTZd]Vc[RZ]PRRW]UVSMNNKLMSYVOQORRc[NZZXRMPZXYTWQMK@7=<;71.----ÜíÞÀÈëêÎĽµ³¸»ÂÃÄÊÆÃËÍËËËËËÌËËËËÌÌÌÊÊÈÆÆĶ¯©®±§žª¯º°³º®¬¡ƒvxukjR_eZXcYQ[h^X_YLOQT]`aTPMLLMQLUWKNSNS\]Ya\TPLPYVWUOOXJBC>;;951/.-,âã®”žÆÛŵ³³¶·ÀÄÇÌÉÅÌÎÍÎÍÌÊÈËÌËËËÊÊÇÃÿ¿´¢œš£¥š— ®®«­¨¥˜ƒsnlgjn^WXU`aVV]][_WRWTRTU_WQSONSVRSTWQOWPRZ`X^WY\W_`STYWSRA?G;7677520/.…~|€|z|ƒŠ¨ÄÂÆËÉÃËÍÎÎÍËÈÃÉËËËËÈľ¶¶µ¹¬Ÿ–Ž™š˜”¡³¯«¡™›’xjeeVjbSLHPW`YRR^g`apa_b^TXNQPOPRVQUQSZRZOO__]g[c_jgaSQMMJKA=A8755454/02†•š‘`XYXw’Š¸¼ÅÈÇÁÊÍÎÍÌÊ»ÆÊÊÈƾ®¤ž¤¥œœ—‰•™’’ž­®’‘„veehZ_UPSQQZ`^[jn^QXdOXqp]QNKNMKHJLLOMMPXTX^TRXX`g^]XOJMGFECHA8644344014­©¯¹”bTƒÃÚâÙÀ~“·ÀÆÆ»ÅËËËÊÇ¿µÄËËÁ¶©šž•™—Šƒ—”ŽŒ“›‘Š‰Š„wupcYSZ]YOY]VT^i\RP_hgc`]SRMJJHIGGEFNMR^[W[VO[jhhW_SMUSHIA>A9854423337¥ÄŸg1@”‰FKNJDi€° žœ¨¿ÇËÓÕ×ØÖÔÐËÅ­™“™Ž‘Ž‹‰ˆƒ}‚z‚‰†y|{zqiheZWZRY^ZT][^ZVZZ\^[UPJXUNLOKADFFA?FHIQKRSY]bXbo]^OZ_[IEB@><856669=@=PUgXI79NUWe@9\w¸j‡©»¿´«”‘’“–›¢¯µˆŒ‹ˆ…‚‚z€‡€}vywssolgY\cbeYRTYW]^aXT\TX^\VPINLNIBDF@?FGDAPHVX[Xaaa\RdbVWXSMHEG:75667<=FFFDBFJEEEXbnaJBF]¶ZvЇKHGDIREHDEGD^Œ‹…ŠŽŒ„‚‚ƒ{~Œz€yvrttoidW^db\RVOQ^fdcUNSRg_dXNRQOJHDJTJCJMMFPQ]^ZN[dddTacVOX_SEAA=:8767;@KBklllikkjrwwtmjeh}¶ÞÕ]BHIJajTTSMLJ@‹†„—‰‰~†‰‚~Šy{xvuuytcWQ[ZZWZXNZ\_`ggilrnQ]]VNQQGFEPXQQOOQIJVY^ZNO_[a^^hfV_VB::<=<:;9:==>;YWWVVVUUVUVXZ`bjÖã²SSA<;RZ\WD;?>=jNPSRRZWSSRP_ug¥{³Ø“aovwy~~{|{yurqu«ß莀~y€…„€{€{wsvyytpkg]UNKYW\TSY][YIY`Z]XYaXKMTOLILOOOTVXV[of[[[ZWZYRWMOL@874^|97988;AECEØdU\ch•zf`[U«éÕ÷qºÐÇÆÊÎÏÌÏÎÎÎÎÌËÉÌÏ ’|}|}|€„€}xypoxx{riacUSTEAMWXVZ\NKIVY]]U[f_SNLJKOMNJHKNVXZ^a[^XVRVOKMHB<8776T‡?789;;>HJHësDIMb¼ŒJIFLÀóãðƒgÌ×ÙÚÜÝÝßááááßÝÜÛÙܨvzy|~€{~‚„„zwxmipvzoha_PQTGJQUX]UPSRUU[VWX[b^SLEDBEHIFFGJSV]\VMVSUSSNHFD=96686Xx@98;=?>=<@LPVbZTX[RW[PMG;;:87782‡áO16;:;BIJJ«ÜáßâââààßÞÛÌ‚OH=cÙÞäêéìÏ´¯×Ç««ÔëâàÙÖœv{zvz|}~|}ytwvimtlih`O_k]VTZ[YSPXYZb_XV^\VNHE@@?><79?DIK[iYU\Y[]WHDA958887:4ƒäO08<=BHHDQ®ïóóóòòóôôòòÞ~OKAYÙâèêãçÀŸ Íį©ÐèåâÝߣuxzyx{}z||€|xyumjpihcc[hqc\NQ\ZVSU[X`ZW\fZPJCA@@CA?>CID?L\lk^MQgRHA;;;8;;99>8tÚT3=DSRJV_^lmRVXKB;666;@BA>AOVOgniwŠj[_SIC>:;?FMIB=?9{òm9<5=IIWaleyr~ƒ‡–…ƒ‰“ztUJJJJ°ïíððìíðñòññðëíñïîâˆ{~jz~y|xs€~ztqnkhhecoaTW^XW\SPURTQ[^[e^VVSOIGGBGJEDFNMRimnwxdbmiWPOMPUTVTHIP;vós769W\_kjiMagkmq‡xrnlj]C@B;?ëزªãÕ¢Ÿš£âÕ˜»ÜØ‚xzrx~{|}}vzxyuskb`c\\kcVPWZb[XSOPXU[e`bYPOVRLE@>JX`VZaepg\YZ`cgknlpf]hxvpleikS‚ñ‚VSZwwrulfHIIHECAAACCHNB115?‚ßÅŽxÍß‹xvvršî²l£ÆÊsv€}uz}|uy|~xzpeZchdacaUWYYTSRPNU]ZU[[TNRYURU\\rƒyclyp]UY]_acjgn…ƒ€ƒ†|€„‰‰ˆ”´”‰ƒ}}ttrh|{{yyyxyy{{y}v9-3?eØëâØÞæÔÈÌÍÌÛâÛÛåî¯gz}|~vv~wrx{|qwne_`ia]b^Y[UUTTZ\QOXWNKNSXYY[dxƒ‡Œ…ebsnVRY\]\^gklu€~~vu}‹ŽŽ’’‹…‰‚€orpmphlmmmoqttvxxwwt>15Cg‰”®¦š­Àº„}‚Šom}vtvztt}utywwssommkmlosomolpzŠ”†ˆŽŽ„…¬’||ƒ~z€lamobU[`_][`igjtigcfeuƒ}€…ˆ…„Ž†{sdhpnjgccbdfijijklmnpjils‚‚}}€~|€‹™—†Œuv{zywvttrrqrttsrqponmmnprtwyzyzwutuxxy{}Š”ž«´²ª–…zqlmmlnmjgc]\][Z`^WY]^_agkfhdbeppjplg`juotyponmmprtututttuuw{}€€~||{zwvv~Ÿ Žrqrtxwwwvurqqqrstsqnkiiiiklmpsuvvuttusrsqqqsx‚Ÿ­²¯§œŽ~pgggeb_\YV[YWVXXWZXXY[YWYYYWUUVQZZcqxvqmkjjlnopqqonnnnqtxz{|}||}|{zvss{†|‰£–vnprstvvtsrpopppnmnmlihffffhklnqtuuutroooopnnrv~ž³¾· „rjgiihc`^]XUSRUSRTW_bUVX[WWVUSTUSX{xspliijkmooopoooopqsuxyy{{zzyxwvuqp}Š’—‚€tpprtuuvtrromijnmmkkjgfccdddgkortuvvtrolmnoppnmn}–°¿¼«“rjjkgdbb[V[VVUUXXSTV\TTT[YVVUTxxvuqmjhijkmooopprrrrrstvvwxyyyyxxvtqnm}¡¡mmostuvutvsojhkjjjkljjifeddccdgimqtuwxvtrnljmpqpmms‚™²ÄÀ¦†rhjkkifeba]ZUTSTSSSTTZWTWXXxvvvurmhfghjlmnnopqqqqppprtuvwxxwwwtrqppnmsž°”moopqrtxzwwywxwvvtrmgcaaba___`djorstvwwtpkhhlnomkhk| Ã̱‰rjikkjjhfc_[WTSRRSSUYTVWVuuvvvurnigfgijllmmnooponmnpqstuvvvwusrrqqpq‚‘Œ…˜Ÿ¦ª¬°¯®±°±°¯°°¯¬£™Œkcbba``_afknprtuvvvsmhhklnpoljv”±Ä¿£…rkklkjhhe`]ZVURPU[STTTstuvvvvsojfeegijkkllmnnmllmmoprstuwvutsrqpox™¥·°®¨¡›”Œ‡‚|xyzyz{~ƒŒ”•–mgcaaa`a`adhknqstuvvtqlhgjmonlikw•·É¿ qlllligeecb_[WTUSSTorstuvusqniebbceghjjklmmmmkjklmnqrrtutssrqpŸ¤Œ€yqg_YWY[c€|e_YTRQSTUTr|mkgdb`aa_]_bfknqrsttttrledhklmmjfi€¬Íͯ†qqmjihghgfeda]WTWlnopqsssrqnica`acdfgijklmmkjiijlmnpsrstssssšlOLKMNPUV[[c…“zXRShheb\SACnpnolidbbcb`]^bgknpqsstutqiccgjllkifg}¬Ïί†plmkihfeggffa]\jknpqrstsrqniebabbceghijklklkjijklorrstsssz€CHU^irz‚V4530,155Cgllmkj[>Mmjnpomjgefgda_aeikopqstttsoiddhjlkkjgi©ÊÍ°‰qlmmkihgfffebhkmoqrtttssqnjecccbcefhjkkkllljiikmopqrssq‡h;X€™ ¤ªŠdS;339DGGEB?A::EUAafejmooljgfffdb`aeimnoqrstttpkfdhjlmnmgg{¢Åι˜zmllkjiggffcgjmnprsttsrqnkgdbbbcdgjjjjklllkhhjlmoprstJMZ¤°²µ¶µ±ªŠmqzeFB738@;44aTOjecehkmmifdddba`_`dhlmpqrstttqkfdgjmnnkifrŒ±ÌÈ­umkmkiji]beikmoqpqrrqpmjeb``aacfiijjjkllkhhijlmoo{‚Ah;·°©ž•{«Æ‰y¬ŠB93BTPA42QvCikgebbfijihea_aa_]]_behlmoprsrpojfegjlmlmkhi}Ÿ¼Ì§‹wponl}[bfilnopqqqrrpnjea`_`aeghijjjkkkjhggijkl‚kRo0@QKD:NLwuP5>m‹Gjllmkhd``bdggeca`^_a_^\[\_bfijlnoqqomgabdgijjjjief€©ÌÔ¹¾Î±_\cehjllnsrpqqpmjeb```bddeghiijkkjigeo}L>135m¡ˆHB?7455@IJCMO`u`64+DšQ`lkmmljfcaaehiigdbabbbb_\\`dijmopqrrppnidcehkkkjiicey È¯ÂÐZ_cfhjlmoqqrqqomjfbaaacdeghiiijklmmgsl_Š69;D}‹šy=622226=:@Mg–œq6527nSmlmllklkgcbehjkigfcbaaa`^^_adgjmoqrrrsrnhecehijjkkjeev€¸ÆÏŠX`dgiklnpqrqqqomjebaacdeefghhiklnohx^u|;HJEˆª„JJ:22232057Vœœb:321uŽIklnnnmmmkjdbbejlkjgdb``aa`^^_aehknoprssrpnicbehjklkjjfQ•¼ÈÇqYaehjlnopqqqqpnlidaaaacddefghjkkne|TŠmEMLH\€u\KKF??>=<:8Gi••S@961_§Leke^^gmlkkjfcbbeikiheb`_^`_^]]_bfikmoqqqqqqmhbcfikkklkY{±¿Î­^\dgjllnopppqqonlgca``aaccdegjkimjtM›eIWLfŠ‰JFFEFFFFEEDo–ž€J@>>1Y¦F\lB99Bjlkklkheb`cgijigea_^__]\[]^bfjkmnopprrrmgccfhjklY\~¸ÂΘZ`ehjkmnoopqponnkfca```abcdeSA=OŽcD˜gS‹ZReFCHLT\]]RPRN[^r}ZF>891FS2JO9>85flkllljjgca`dgijigd`^]]\\\\]^aehkmnpqqrrrohbbehjQJNŒºÃˆY_cfijkmnoooonnlieb`__`bcd_9:<>qTI8662337;<53323345578656778:9:HDMXa‚‰¼òçîíìëìììíò™™…wdN@82//8hjiefhgggggdiheebcdeedffffffffffedb`]\_fhhihd^]\]\YqokilmigikeMJIb±ÁÉÕˆ\cffhijkklmmlklljf?+.//49AIVf~¥¯®îáíííîîïïðö•¢˜‚oVD=70/.ŽÉ“rt…Œ–˜›œ £¦¥Ÿ“Œsk^En¤§³³±¯ª¥¡ ž›˜––”“’’““”–˜š˜»áâ¢adeefgffgggfffffec`]\_ejlnmliy€€rmllijlpiaOILKM”¾ÁÕ¬\`cefghjjkklmmoE38---2;NXC6?CF79779743211125a¯“‡ƒ€}zwtsronmllmnmnooppyŽuocceefffeffffffeffec`]\_ehkmmlrwsvumphnoplkeXMKHb·¾ÊÒ}XacefhijkkklloE18,,,/15:<<>A@962p²{W[`dglmpv}…­¶›˜•’Œ‡„‚‚‚€~ouwr‹zeeeedeeedeedddeedca`^[]chkmlvonmlnlhjknnniSIKKl¿ÅÎÖˆ^efhhhhikji`Y;/;2-,+,,,++***)****('***)'6¥ k`u„†ƒ€‚€}€kfjQJn†ˆŽˆ…~e`t]^bccddeeeeededdeeeeca`][]cikmkmurnlmnngkljiUJKMO™ÇÆÓºa^bdfffhhhbWU:.;5,EI4/.,+*+**********+/0[¦‡Twˆ›£«µ»ÄÇËL:9:=^ÃÜÜØÒ×Ú×ÆztJpda_aa`ceeeeeeefgffeedba_][]dikmrtnmmprqlimlgTLKLJg»ÆÍÖŠ^eegggeddbZV=.9542OLE?8781****+++.49>CEz—nP~¶àßßßßßßâ‰\fYWSS¾äßß×ÒÚÝÜkyU_id£»½’_dddeddeefffeddccb`\[^dmkmouwuruljnnkqfPJKKN’ÈÉÔ¾icfghhhihg`UB2735/6520-*,*)**)+,-////,6ƒš[^i¹ãÜÛÜÜÜÛÜzZcflPO²ãÞÛÔÒÙßÞb^nPl`“çïæ•`bbcbbdefeecddccb`_][_kpwuptrlokljgisdKKKKK`¶ÉÌÖ–_efgghgfdaYC65113+#""##$$#$$#$$$$$##!?‘“PkM¬äÜÝÞßàßÉfSP^^PO™èåçäÝÓÅ«OA|Mfc`—¶´£d``abbcddddbbcccbba_\[rxvpjkmnmiijvsug]XLKMOˆÉÇÐÉscffghgec`]S>0../,+,-----.-..01012332X ƒJoC\ooqty}ƒsUTUžRTcžœ…q^NB?D8mZWca`^Z]``abb`bcbcccbbcccdb`_\jjlhcacjkrzxsunineQKMR]³ÇÆÖ¨cffhjfeca^YNDBBA@ADFFEFFFFFGHHHHHGFIp£qLpI;5465429C>:I´†IH=4346886>N;SnMabaaaaaacdcbcccbbcbbbcdccb`]rmlmlwpsiututs|~j]TLKLL}ÆÃÐÔ„beeededb_[UPNMLKLNNNOOOORSTVWXYXXW\€›aQnJ:76::8774212ƒy24446;::;9=H>=wL]bbbbbbcddcdeecbbbbabccccba_‡{‚zy{yjjpzwx{te]RLKKJR£ÈÇعd`bcdddca_[WUTTTUVUTTTTUWYYZ]^^]]\c†ŒX[fF654565552222<@34544=Qh[44783jXVbbccbbaabbcdccccbaabbcbcc`Y‰~u€ztsjluojhpjbbaVLLK^f½ÃËØ]`bccdeba_]]\\\\\[YXXXXY[]^cekqdhƒ|{Oa\B<65>II>8>8232134642T‘–~9=953TjLabddcc`acccdddccbbbbbbb\WOJ€~yx€ytqrc`hq{rjkgZMLLYaZ˜ÂÂ×Àe_acbcdcba`_`____^\ZYYY[]]`inxnŽ“urJiPJSEHU[WPJRP>223355:KY~ˆfLNPD6@pH_b_abddbeggfeddddccbbb`OJII†z†z†z†z†z†z†z‡z‡z…z†z‡{†z†z†z‡z‡z‡z‡z‡y‡y‡y‡y‡y‡y†y†y†y…{ƒ‚}„y„uƒt„t…s†w†yˆw‡y†z†z†yˆ{‡{‡zˆw†u†y†y†z†{†z…y…y‡z†|„~ƒ€‚‚€‚€‚…y…z…z…z…z…z†z‡z†z†z†z†z†y†y†y†y†y†y†y‡x‡y†y†y‡y†y†y†y…y„{€|‚yƒvƒuƒt‚v„u…v†y†x…x…y…w†yˆz‡y†y†w…u…w…v…x…z†z…x†w†y…{ƒ~‚€‚€€…y…z…y…z…z†y…y†z†z†y…y†y…y†y†y†y…y†y†y†y†y…y…y†y…z…z…z…y„z‚~€€‚{ƒv„x„wƒx„w„w…y…z„x„x…w†z‡z†z…yƒx„w„v„uƒw…y†y†x‡x†y…yƒ|‚~‚€‚€€…z…y…y…z†z…y…y…z†z†z…z†z†z†y…y…y…y…y…y…z…z…{…z…{„{…{…z…z„zƒ}€€~ƒz…y„x„w„w…y…{„{ƒy…x†w‡z†z…{„{„yƒxƒv„v„x…y‡yˆyˆz‡z…z‚|‚~‚€‚€€€†y„|ƒ|…{†z„z…z…z†z…z…z…y…y†y†y…y…y…y…y…y…{„|„{ƒ}ƒ}„}„|…|ƒ~‚€~‚{ƒy„x„w„y…z…{…z„y…z‡z‡{‡{…{…{…z„vƒu„x…y‡x‡y‡z†z…y„{‚~ƒ‚€€‚€„|‚ƒ~„|„}„}…{…z…z…z…y…z…z†z…z…z…z…z…{„}ƒ}‚~‚‚‚~‚}‚‚ƒ‚~‚|ƒy„y„w„y…z…{‡y†z†|ˆ|†|…{…z…y…x„v„v…x…z‡{‡z†z†y„zƒ}‚‚€‚€€€‚€ˆ‡ˆ‡‡‰†~„|…{…z…y…y…z…|…{…z…z…{…|„}€€€€€€€€€€‚~„|…}ƒ~ƒ~ƒ{„z…y„w„w„w„x…y‡z‡|‡|…|…{†z…y„w…w„v…w…x†x†z†z†y„{ƒ}‚‚‚€‚€€‡{†zˆz‰{„|ƒ~…~ƒ}…z†{…z…y…zƒ}…{…z…}ƒ‚€‚}ƒ~‚~€€‚~ƒ}…{…|„|„|„z„y…x…w„xƒv„u…x†{‡|†|„|„{…{…y„x…y…x…w†u†v†x…y…y„|ƒ}~€€ƒ}ƒy‡s‡tƒz‚€…}„…}…}†|†{…}ƒ€‚€~„|†{†{†{„{„|ƒ}ƒ}ƒ}‚~ƒ{…{‡z‡{…|†z…z„z„x…x„zƒw„x…{†z…{…|…}„}ƒ|ƒz„w„y…y…v†u†u†w…x„xƒ|‚‚€€€ƒ‡}…}‹z‰y…}„‚‡|„~‚€€ƒ€„ƒ€‚‚‚‚‚€„xˆw‰w‡w†x…{ƒ{ƒy„|„{…z‡z†x†y†{†y…z„z„y…x…y…y…y†{„{„|…}…}„}ƒ|ƒzƒyƒy…x†w†v‡u†v…wƒw{‚~‚€€‚~‚yy‘yy{‹|yŒzƒ‚ƒ…ˆ}‰{‰y‰zŠ{ˆ~|†x‡w‡w‡w…{„{ƒx…z…x†x‡x‡x†y…z†z†{…{…y…u…w†x…w…z†{…|‡}„}ƒ}ƒ|ƒyƒzƒy…w…y†w‰u‡t…v‚w{‚‚‚’|yy{z‘z‘|{ˆ‚‚ˆ}‰}ˆ|ˆzˆ{‰|‰}|†w†w‡x†x…y…u†vˆv‡w‡uˆwˆz†{…|†z…z…y…u…u…v…w†z‡{…{…}„~„}…z„xƒy…w…w‡x‡y†w„wƒx‚{~€€~‚~ƒ…………††€„‚ˆ„„…ƒ€…†€…„……†ƒ€}„w†w…w‡v†u†r‡tˆuˆvˆuˆwˆz†|…}„z„z„x…{„{„y†z‡y‡z†|†}„}„}„z„x„x†v‡wˆw‡xƒwy|‚‚‡‚€}„|†ˆ„„„€ƒ„}Š€‰‚‚‚‚€€€‚‚€‚€|†v‡v†u‡tˆt‡s‰tˆt‡t‡uˆw‡y†y…z„y„x„{„|…{†z‡{‡yˆ{‡}…~„}„}„~ƒ{„x‡xˆx‡x‡yƒ{}€€‚€‚ˆ‚€€‚}„{†…€ƒ€ƒ€‚„‰…‚€€ƒ~„~…~ƒ€€|†u‡t†s‡sˆs‡s‡s‰tˆt‡u‡v†x…u„x…y„x„{„z†y†y‡yˆzˆ|‡„ƒƒ‚~ƒ{„w†wˆx‡x†{ƒ~€ƒ}„}ƒ~€~‚|…x…€„~‡€‡‡€ˆ€‡€†‚‚€‚~€‚‚€‚€‚€€{…s‡t†s‡s‡rˆq‡sˆtˆvˆv‡u†w†y„y…y„zƒ{„y…x‡x†x‡z†}…„„ƒ~„|…w…rˆt‡v…w{€~~}~~‚}ƒ~ƒ{‚wƒqƒƒƒƒƒƒ€ƒƒ‚‚€ƒƒ††ƒ‚‚{†r‡s†s‡sˆtˆt‡tˆu‡w‡y‡w†w…x„x…y…zƒz„y…w‡x†y‡{‡|…}ƒzƒzƒxƒvƒq‚o‚pp~n{q|r|p~qr~v€zƒ{‚wo€m€l}ƒ}ƒ}ƒ}ƒ}ƒ~ƒ‚‚€€‚„€„~…ˆ~‡~…„…|…uˆrˆu‡t‡t‡vˆu‡w‡x†y…x…y„zƒzƒ|ƒ|ƒ{ƒ{†zˆz†y†x†tn~i}n|nzr{szq{ozlzh{f{g|e~d~e~fhfe|f~ik€€€‚‚‚‚€ƒ€„„„„~„€ƒƒ€„„‚ƒ‚„ƒ‚ƒƒƒƒƒ€‚~ƒ}ƒ~ƒ}…~…~…„~ƒ‚ƒ€‚€€‚€‚€‚‚‚ƒ……ƒ|…x…t€tw~xzyyx~w~v~xx€topp€m€l€no€m€lˆ~‡†€ˆ~‰~‰}‰}ˆ}ˆ}‰}ˆ}‰|ˆ}‰}ˆ~ˆ~‡€‡†ˆ€ˆˆ~ˆ~‡~†€„ƒ€ƒ‚‚‚‚‚‚€„€ƒ€ƒ€‚€ƒƒ€„€†€†‡€„„ƒƒ€Š„€ƒ€ƒ‚‚‚ƒƒ‚„‚ƒ‚„„€ƒƒ|w€‰|‰}ˆ‡‡ˆ~‰~‰}‰}Š}‰}Š}Š|‰{‰|Š|‰|ˆ~ˆˆ‡ˆ€ˆ‰ˆ~‡}‡~…€ƒ„€ƒƒƒ„„€ƒ‚‚ƒƒ„€…†‡††„‚‚„€Š€„€‚‚‚ƒ„€„€„€†€†€‡€‡€‰|‰{‰|ˆ~††ˆ‰}Š}Š}Š}Š}Š}‰|‰|Š|Š|‰}‰}ˆ}ˆ~‡€‡ˆŠ~‹}‹}Š}Š|Š{‰|‰}ˆ~‡…€„ƒ€ƒ€‚€€‚€„‡€‰ˆ~ˆ…ƒƒƒ€‚€‚€‚€€‚€‚€„€„€…€†€‰}‰{‰|Š|‰}ˆ~†€‡ˆ‰Š~Š~Š}Š}‰}‰}Š|‰}‰|‰}ˆ}‰}|{’z’{‘{‘|’€‘‘|’{‘{‘z|„€‚‚€‚€‚€€€ƒ…€‡~ˆ~‰~ˆ€„‚€ƒ€‚ˆ€‰€‚€€€‚€‚ƒ‰~Š}‰}Š}Š|Š}‡†€†ˆ‰~‰~Š}‰}ˆ}ˆ}‰}‰}‰}‰|‰|‰~Ž|Œ|Š}†}ˆ}Š€ˆ†Š„‰~‡~ˆ~Š}|†‚‚€€€€‚…ˆ~Š~ˆ†€ƒ‚€††€‚€‚€‚ˆ‰~‰}Š|Š|Š}Š~‡†€†€‡‰~‰}Š}‰~‰~‰~‰~‰~Š}‰|ˆ~‡}|||}z|„|„|†{‰xˆ{‡|ˆ|‰|‡~…€‚€€‚‚‚€€€€„†~‡}ˆ‡‚‚‚€‚€‚€‚‚„„ˆ‰}Š|‹}Š}Š}‰}‡…€…‡‰}Š}Š~Š~‰~‰~‰~‰}‰}††|„}‚}„{†y„zƒ|†z‰x†|€ˆ}‰{†}ˆ~‡„€ƒ€‚‚‚„€ƒ‚‚‚‚‚‚€€‚‚ƒ€†‡~‡}‡€…‚‚‚ƒ€†ƒ€ƒ†€‡‰‹~Š}Š}‹}Š~‡††€ˆ‰~‰~‰~‰}‰~ˆ~ˆˆ~†}‰|Š~…ƒ†ŠwŠx‰yŠy‰z„}‚…€ˆ}„}ˆ~‰~ˆ~†„€‚‚ƒ€„‚‚ƒƒ‚€‚€ƒ€‚‚ƒ‚†€‰~ˆ}‡}†‚‚€„|„ƒƒ‡€‰~‰}Š}‹}‹}Š~ˆ†€†ˆ~‰~‰~‰}‰}‰}ˆ~‡~…}ˆ{Š|€…‚ŠzŠzŠzŠy‰zƒ€}†…‰{†|‡~Š~‰}‰~ˆ~…€ƒ€‚€‚‚€‚‚‚‚…€†‡‡‡~…€ƒ€|†|„‚†€‰‰~Š}‹}‹|‹|Š|ˆ†€‡ˆˆ~ˆ~‰}Š}‰~†…|‰{ˆ{‚ƒ‰yŠyŠz‰{‰{‚‚|Š…€‹y‡|…~‰}ˆ~ˆ~‰}‰}‡„€‚€‚‚‚€‚€‚‚‚€‚…€‡‡|ˆ}ˆ~}“}‰~‚ƒˆ€‰~Š}‹}‹|‹|‹|Š}‡†€‡€‡‡~ˆ~ˆ}‡…ƒ}…}…}†~†~‡{‡{†}†}†~~†„‰{ˆ|‡}†…„ˆ}‰}‰}ˆ~†ƒ€€‚‚ƒ€ƒ€‚‚€€‚‚‚‚„†€ˆ}|ƒ„}ƒ}‚„ˆ€‰Š}Š|‹|‹}Š|Š}††€‡€‡‡……‡Š}‡ˆˆ~ˆ}‡~‡‡‡€ˆ~ˆ~ˆ€‰~‹}Ž{‘{‡„€†ˆ}‰~‰}‰}‰}‡~ƒ€‚ƒ‚ƒ€ƒ€ƒ€‚‚€€€€‚€‚‚„€wƒ„~ƒ|ƒ~‚†‰‰~Š}‹}Š}Š}Š}‰~††€‡ˆ‡†‹}‘{}}Œ}Œ|‹|‹}‹~‹}‹}‹}Œ}Œ||{“yŠ}†€ˆ€ˆ~‰~‰}‰}‰}‰}ˆ~…ƒ€‚‚€‚€ƒ‚€‚€‚€€ƒ‹p€z‚‚~‚}‚‚‚ˆ€‰~‰}‹}‹}Š}Š}‹}ˆ~†€†€‡ˆ~‰||Ž~}‹|Š}Š}Š}Š}‰}‰}‰}Š}Š}Š}‹|Š€‹‚Œ}‡€†€ˆ~ˆ~‰~ˆ}‰}‰}‰}ˆ}ˆ~„€€‚‚€‚‚ƒ‚‚€€€„}®h{m}|}{Œ‚„‚‰‰~Š}Š}‹}‹}‹}Š}‡†€†€‡‰}}…‹…‰ˆ~‰}‰}‰~ˆ~‡ˆˆ~‰~‰~‰}ˆ~~ŠŒ‰€ˆˆˆ†‡~ˆ~‰}‰~ˆ}ˆ}‰}ˆ~…‚€‚€€‚‚‚‚‚‚‚‚ƒ|¦j}h{q|ˆ}‡~‚ƒ†ˆŠ~Š~‹}‹}‹}Š|Š}‡†€†€†€ˆ€ˆ‰„‡‡‡‡‡‚ˆ‚‡€††€†„„ƒ‡€‡€‰~ˆ†…‡ˆ~ˆ~ˆ}‰}‰~‰~ˆ~†‚€‚€‚‚€‚ƒ‚…kj|k|v€€‚~ƒ}ƒƒˆ€Š}Š}Š~Š}‹}‹}‹}‰~†€…€„…€ƒ‚‚„ƒ‚ƒ‚…………ƒ€€‚‚‚ƒ„‚„€…€‰}ˆ~ˆ~ˆ€ˆ€‡‰~ˆ~‰}‰~‰~ˆ~‰~‡„‚€€‚€‚€€ƒ„€„€…m€mm~s‚ƒ€‚}‚}ƒ…‰Š}Š}Š}Š}‹|‹}‹}ˆ~†„„€„‚„ƒƒ„ƒ‚‚‚ƒ„„„……‚ƒ€‚„…‚…„†ƒ€…€‰}‰~‰‰ˆ€‡ˆ€ˆ~ˆ~‰~ˆ}ˆ}ˆ~‰}‡~ƒ€€€‚‚€…€‡€†€nƒl€i|ny‚‚~‚|ƒ€‚‡‹~Š}Š|Š}Š|‹|‹}‰}†ƒ€ƒ€…€‡‡‡‡„„€‚‚„‚…€‡~‰}ˆ‡…€ƒ€…ˆ}‰}‰~‰~ˆ…„ˆˆ~‰~ˆ}ˆ~ˆ~ˆ}ˆ}‡~„‚€€‚€†€ˆ€‡€ij~hzi|k}z€‚}|‚ƒ‰Š}Š~Š~‹}‹}‹}‹}‰~‚€‚…€‡‡}‡}†€‚€€€€€€…€†~‡†€„€ƒ€†ˆ}‰}‰~‰}Š~‰~‡‡€‰‰~‰~‰~ˆ~ˆ~ˆ}ˆ}‡~…€‚€€‚ƒ…†nn~iygyezs€ƒ~•|ˆ~‚…€‰~Š}Š}‹}‹~‹~‹~‹}ƒ€ƒ€ƒƒƒƒƒ‡‰ƒ‹ƒ‰„ˆ…ˆƒ„ƒ€„€‚„„€‡~‰}‰~‰Š~‹}Š}‰~ˆˆˆ‰‰~ˆ~ˆ}ˆ}‰}ˆ~ˆ†ƒ€‚‚ƒm€j~gygwfxk}{„‚Š~„}‚€‡Š~Š}‹}‹}‹}Œ~‹~„€€€‚‚ƒƒ‚ƒƒ‚†ƒ‡ƒ‡ƒˆ‚††…‚‚†~‰}‹{zyxwxx‘wxxxŒ{ƒ€†€‰ˆ~ˆ~ˆ~ˆ}ˆ}‰}ˆ~†ƒ€‚€‚f€g~gzgxgwhyq~€‚~‚|‚ƒ‚ŠŠ}‹|Š}‹}‹}‹}…€€€‚€ƒ‚‚‚‚‚‚ƒ‚„„„‚„‚‚‚‚„€Žz–w—u˜v—w–w—w–w–w–w–w–w–w’x‡‡€‰ˆ~ˆ~ˆˆ}ˆ}‰}ˆ}ˆ~‡ƒ€€‚hh~gzfxfwfwgzu€‚€‚}‚‚ˆŠ}‹|‹|‹}Œ}|†€€‚€‚€‚€‚€‚€‚€ƒ‚ƒƒƒƒƒˆ|zŽ{Œ|‹}‰~‡~Š‚Œƒ‹ˆ€‡€‡‡€ˆ}Œ|ˆ‡‰~‰~‰~‰~‰~‰}ˆ}‰}ˆ~†ƒ€€‚jh~gydwgyizhzt~€‚‚~‚~‚„Š}‹|‹}‹|Œ|Žz‡‚ƒ€„ƒ€‚€‚€‚€‚ƒ€„€„Š|‰|}|~z}y}€~Šz‹{Š|~}|}|}z}~}ŠzŠ~‡€…‡‰~‰~‰~‰}ˆ}ˆ}ˆ}ˆ~‡ƒ‚ih~g{fxh{j|h{n|‚‚}‚ˆ~Œ}Œ}‹}‹}‹}†€‚ƒ€„€ƒ€‚€‚€‚‚€ƒ€ƒ€…~Š}‡|||y}x~x}‚|‹xŠy‹y}|xz{~‰z‹|ˆƒƒˆ~‰}‰}‰~‰~‰~‰}‰}ˆ~†ƒ€j€j}i{i{i}h~h~jt€‚€‚}‚ƒ‹~‹}‹}Š~ˆ~†€‚€‚€€‚ƒ‡}Š}†|†~‡‡€…‰{‹xŠuŒw‡{„~ˆ‚ˆ€‰}ˆ{Š|Š~‡€†€ˆ~‰}‰}‰~‰}‰}‰}‰}ˆ~ˆ†kƒki~h€n„k„h‚jr}‚‚‚„}ƒ‚‡‹~ŠŠ~‰~ˆ€…„„‚‚‚‚‚ƒƒ‚‚ƒ€ˆ}Š~†}Š|‹}‹}‹|Š{‹{‹wŒyŒzŠ~‡‚‡€Š{‰{‰}Š~‰~ˆˆ~‰~‰~‰~‰~‰~‰~‰~‰~‰~ˆ~l‰nˆm‡nˆp†p†m„p…t†|ƒ‚~š}}‚‰Š~‰}‰}‰~ˆ~‰~ˆˆ‡€†€†€†€†€†€††~‰|ˆ}„|‡|ˆ{‡|ˆ{ˆ|‰|‹{‹z‰z„€}†‚‚†{ˆ{ˆ|Š}‰~ˆ~ˆ~ˆ‰‰‰~‰~‰~‰~‰}‹}{ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÌÆÈÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÎÍÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌÇ¿¶®¥¢”‚~sjkxlkinnscgbW`c]]e]T[a``VQOT[Y_d`eSTUWVVTSZUQW__\YTME=8<<632@2ÎÎÏÏÏÏÏÏÏÏÏÏÏÎÍÊÅÇÂÊÍÎÎÎÏÏÏÏÏÎÎÎÎÎÎÎÎÍÍÍÌÌÍÌÍÌÌÍÌÌÍÍÍÍÎÎǸ ¥šyƒ{€u`^`s|n^`okg[Y[\`ZWUP^ha[RPPPYX\ghhPV]bZQPKRRY_b[WPNJ@@66642076ÎÏÏÎÎÎÎÏÏÏÎÎÎÍÌÈÃÆÁÉËËÌÌÍÎÎÎÎÎÎÎÍÍÍÎÍÌÌÌÌÍÍÍÎÍÍÍÍÌÍÍÍÍÍÍÍÁ¤Š‰qnnqlmpou}abaed[[[[\]SSV]d[ZZWURVTV]idQQY\UMONQQ]d`b[PGA?;852220.2ÏÏÎÎÎÎÎÎÎÎÎÍÍÌÍÊÂÅÂÌÌËËËËËÌËÌÍÌËËËËËËËËËÌËÌÎÎÍÍÎÍÍÍÍÍÍÍÍÍͶ˜“|ntwzv~gfd]hZaed[[WU_YTYegSQTWXSOLVP\hQOTXYPMSPOYb^aWTUOH><85311.-ÎÎÍÍÍÍÍÌÍÍÍÎÍÍÎÊÁÂÁÍÎÎÎÎÎÍÍÍÍÍÌÌËËËËÊÊÊÊÊÊÊÌÌÊÊËÉÈÊËËËËËË;’Ž†€r`l|mdg`abXjcZXTSL\a_apo[ROU]TMITRSYSZ\YUNPQUZ_XWZQOYPI>@A;520-+ÍÌÌÌÌÍÍÍÍÍÍÎÎÎÎȼ¼¼ËÎÎÎÎÎÎÎÎÎÎÍÎÎÎÍÎÎÎÌÌÌËËÌÌÌÌÌÊÆÉËËËÌËÇÆÄ£Šz{ph_kope_b_X]`VR\SSPZgefgdhWPVYTQSTRSXQY^bUSUQY[\XWTTOQPI>@>5550.2ÌÍÍÎÎÍÎÎÎÎÎÎÎÎÎƽļÈÎÎÍÍÎÎÎÎÎÎÍÍÎÍÍÍÍÍÍÍÍËËÍÍÎÎÍÉÅÊËÌÍÏÌÇÅ´šz|teXTc`[_ba\a_XURKNVY_adi^\TOOOOKSQSP^LUTYZWZY_[[WSPSORKFC>@;431/4ÍÎÎÎÎÍÍÍÎÎÎÍÍÎÎÅÁÌÂÆÎÍÍÍÎÎÍÌÌÍÍÍÎÍÌÍÍÍÍÍÎÊÉÊÌËÈÆÄÁÇÆÈÌÍÊÿ½­‘xrVTQROVZmpeac[YNCANXS\ba^WURJLKILHOKYORUUVVZ[[[_XSNSMXOCGA??40/--ÍÍÍÍÍÍÍÍÎÎÍÍÍÍÍÅÂÌÃÄÍÍÌÌÍÍÍÍÍÍÍÍÎÍÍÍÍÍÎÍÌÉÇÇÊÃÀ»Á½Á¿ÅËÉÅ»®¦¨Žtr_VWYWhi^oggaVVRRUUeTO[]SNWYQKJFNPRYXSQY[USXXUOUYTPVPXX@56220/.--ÍÍÑØÖÏËÌÌÌËËËËÌÂÂÉÁÄÍÎÍÍÍÍÎÎÎÍÍÍÎÎÎÎÎÎÎÌÅÂÂÀļº­¾º¿¶ÀÇÀ¾´¤Š‹€p‰{f[`[]elVm]U^SNST`^WNOQXQPSVWLLLTSS[i^PXXVVUUZSQZXX]^MD=7540.----ÏÛéïîãÑÊËÅÂÁÃÆÊÂÁÇÁÁÊÍÌÌÌÌÍÎÍÍÍÍÍÍÍÍÎÍÍÍŽ´½¹±¡ºµ¿´¶Á¶½´˜†|{mhcbccTZd]Vc[RZ]PRRW]UVSNNNKLMSYVOQPRRcZNZZXRMPZXYTWQMKA7=<;71.----ÝîÝÀÆêêÎû´³¸»ÂÃÄÊÅÃËÍËËËËËÌÌËËËÌÌÌÊÊÈÆÆĶ¯©®±§ª¯º°³¹®¬¡ƒvxukjR_eZXcYQ[h^X^YLOQT]`aTPMLLMRLUWKNSNS]]Ya\TPLPYVWUOOXJBB>;;961/.-,âä®”ÃÖø´³³¶·¾ÄÇÌÉÅÌÎÎÎÍÌÊÈËËËËËÊÊÇÄÿ¿´¢œš£¥š— ®®¬­¨¥˜‚snlgko_WXU``VV]][`XSWTRTU_WQSPNSURSTWQOWPRZaX^WY\W_`STYWSR@?H;76775200/Œ‡€yzz|wvz}ˆ—½ÃÆËÉÃËÍÎÎÍÌÈÃÉËËËÊÈž¶¶µ¹¬Ÿ–š›—”¡´¯«¢™›’wiefVibSMHPX`YRR^g`apa_b^TXNPOOPRWRUQSZRZOO__]g[c_jgaSQMMJK@=A8755454/13„–œuVZWl”–‘‹{ž¾ÅÈÇÁÊÍÎÍÌÊ»ÆÊÊÈƾ¯¤ž¤¥œœ—‰•™’’­®ž’‘„veehY^UPSQQZ`^[jn^QXdOXqp]QNKNMKGJLMONMPXTY^TRXX`g^]XOJMGFECH@8644344014­¦§¸§tPk²ÕâßÑ›y²ÀÆƺÃÌËÌÊÇ¿µÄËÊÁµ©›œž•™—Šƒ—”ŽŒ“š‘‹‰Š„wtocYTZ\YOY]VT^i\RP_hgb`]SRMJJHIGGEFNMR][X[VO[jhhW_SMUSHIA?A9754323338=gDLŠ§uu³ÎÑÑÇn™¾Æ¾¬´½¹¿½È¿®ºÄº¬ž ™š¡••Ž…ƒŠŠ‚Š‹…„…‚yxoaWVSU]YVYVT[hQQP^geTR[XSMKLJKIFKIIQU[aRYRPlsdh`b\T`ZVUH<;;87432254:Bj{‘ªƒy—¬MSWJn~®°£¢¢¤¦§­¾¹°¯³¤žš™™Ÿ”–†ƒ…„y„‹‰„|~~vrpjdXPZi[RVRU_[OY[^aZRRQRTNLPQLOTRGCKOT^QRM]ab`Zej[QS]YFSE<;<9555488:=‚¤µ·~<0pœ]EKR;YXWWVWVVVUVWY]bep³æÐkUF>:@STVG:9>;E—˜—ˆ„ˆ}ƒŠ‹†ˆ‚|yww{uvp_X^`TVTUXaXPN`tƒudZ\gQTNMQRNNJC@MTRSVSN[edeZSYZ^\T\XUWH<99;;78:98===>=<:88~»ì¸‡€}‚€ƒ†ˆ‚€‚~vtvtsqtf\_\OOZZ[]SV_ch`]V\baSVNKLRKGA?>=€VORRRWYSSRQU€p“œƒÚº„€‡ˆŒ—•“–˜—ŒŒŸÈë¶~y€€……€z{wsvyyupkg]UNJYW\TSZ][YIY`Z]XYaXKNTOLIMOOOTUXV[of[[[ZWZYRWMOL@874_97988;AECEðPZaeˆ˜fc\T€íÜîÜfŸÎÒÌÎÑÔÒÒÕÕÔÔÓÑÐÍÖ·Ž~}|}}ƒ€€}xypoxx|riacURTEANWWVZ\NKIVY]]U[f_SNMJKOMNJHJNVXY^a[^XVRVOKMHB<8776S…?889;;>HJHõªFHKRž¶XIGEõãðÈR­ÙÙÝßßßàâãããâáàßÝÛІxy|~€{~‚ƒ„zwxmipvzoha_PQTHJQUX\UPSRUU[VWX[b^SLECCEHIFFGJSV\[VMVSUSSNHFD=96686X~B88;=?>=<@LPVbZSXZRW[PMG;;:87782†æS05;:;BIIJ‰ÍÜßáâããààÞÜ×¢ZIB@´áãêèìÞ±¦·Ù©ŸºëãàßÕÈ|zzv{|}~|~}ytwvimtlih_O_k]VTZ[YSPXYZb_XV^\VNHE@@?><79?DIJ[iYU\X[]WHDA958887:5ƒåT/9<=BHHDRæõòðñððñòòòî¦VMH>­æäèèâΌÆÝǾÅèäæÝÞÐ}wzxx{|z{{€}xyumjpihcc[hqc\NQ\[WSU[X`ZW\fZPJCA@@DA?>DIC>L\lk^MQgRHA;;:8;;99>8uÜ[3>DSRJU_^lmRVXKB;666;@BA>@OVOgniwŠj[_SIC>:;?FMIB=?9zôs9<4?@=79LQGhecehjmmkgdddcba`aeilmorsttttrlfdgjmnnkifq‰®Ëʯ‘wlkmkiji^aeikmoqpqrrrqnleb`abbcfijijklllkhhiklmopp†n@S€³²¶¸·´±§¦€xyƒQE<34=?749c‰šR;322139<7ILƒš—Q430NŸPblmmmmmlkjdbcfjlkjgdb``aa`^^_aehknoqsssrqnibbehjklljjfO”½ÈÇqYaehjlnopqqqqpnljebaaaccdefggijkmni{O—HCNBaš¡¥\KC422321078w¢ŽH721;˜iUllnmnmmkkjfcbbfijiheb`_^`_^]]_bfiknqqqrqpqmhbcfikkllkY{±¿Î­^\dgjllnopppqponlhdb``aabcdefiijkkjp_”FLMJLq~iOJJB>>==;94Bmkkkkkkkheb_adhjjifa]\]^^\\[\^bfilnpqqqrrpmgbbe]RKWœ»ÅÄsU^begiklnnopomlljeb`_`bccfJ6=7afACM?PM5>BA?FORNJED?7<87QXOPR>586>F62006Ukiijkkkkjhfc``afihigc_^^]\]\\[[^cgkmnpqrrqqrngbeZOIe­¾Ìºh[adghilmnoooonnlifa__``beK.243:F@3512369;73323335557754776999;>FO21BQahhhiiijjkkjihda``bfikigd_\\]]]\[Z\adgkmoopqqrrqlkaOLKy¹ÀϪ`^behiikmnnoopoljid`___ac`L>84,L\=<:9887666677666567777778889:<@I5€·›keffghhjjkjjjjhfda`bfjkkkgc_]]_``_][\agjkmopqqrrqmpcQKO½ÂÒ–Y`dfgikkmnoppmlljfb__]`bcff{šNCY<:987776666666665566767677899;1333323322335J;45433323443h ª–ST_hgeehkhbegghhhhhiiiijhca__chklnljfdcbbaab_[[`cgkjPlmpmh[PQS•ÃÈÔ§_`cefhilllmnnnmljfb_^_`chmhZ{¦žˆ901112212345964322222222Y«£’£h3Vjheo¾ÚÑbeefgggfghiijhfda_^afknmlkiecbbbbb_ZZ[_ejVntronfSKJZ©ÄÌÓŒYacegijkllmmmmmkheb^^_ckSGb £¦Ã}DJB?>=AB?=:631026GŸª ­§ ˜•’Š†……„„ƒ‚‚ƒ“]ljdeeeeeffffeeeeffda_^]^chklmovuxvnqjjllmnsiPJJN˜ÄÅ×·cbfhhiijkkkjkn^+>.-,.028>;<@D;:=>==E==>?ACA@­‡‚ƒ}vrqoligfebbaabaaabb```c‚y‰zeeeedeeededdddeedca`^[]chkmlvoomlnlhjknnniSIKJk¾ÅÎÖˆ^efhhhijjjjkiW+=/++-/136:=>>AEFKN`ƒYLFB=92Y°‹c__]]]]^_^_bmrmmllkkkjkjjj_ly_]bcccdeeeeededdeeeecba][]cikmkmurnlmnnhkmjiVJKMO™ÇÆÓºa^bdffhhjjjdZL*<3-+)+---,,+,,,,,,.,++***(,•ªjVgrxz{{~ƒŠ’™¶¹•Ž“‡†ƒƒ‚{umo`^aa`ceeeeeeefgffeedcb_][]dikmrtomnprqlimlgTLKLJh¼ÆÍÖŠ^eegghhiifZUK(;7/2H5.,+))*))))))*****+,,M³ci|‡‡†‡‰ŒŒ{K85?™|?>8127:<<8=N?AvL_bbbbbaacbcdccccbaabbcbcba`‰~u€zusjluojhpjbbaVLLK^f‚¿ÃË׌]`acccc`^[WTSSTTUUTRSRSTVWZ[]]]]]]b†WYhG8669:8763220dc13456::>?89A>4mSXabbaa`addcddddcbbbccbbbcba€~yxytprb`hq{rjkf[LLLY`\žÂÂ׿d_acbccba_]\[[[[\[YWWXXWXZ\_ccfeben„‚Pd_C6557876533233335554?f‚u54563XeOabccdcbehhfeddedcdccbbb`\S†z†z†z†z†z†z†z‡z‡z…z†z‡{†z†z†z‡{‡z†z†z‡z‡y‡y‡y‡y‡y†y†y†y…{ƒ‚}„y„uƒt„t…s†w†yˆw‡y†z†z†yˆ{‡{‡zˆw†u…y†y†z†{…z…y…y‡z†|„~ƒ€‚‚€‚€‚…y…z…z…z…z…y†z†z†z†z†z†z†y†y†y†z†y†y†y†y‡x†y†y†z†y†y†y…y„{€|‚xƒvƒuƒt‚v„u…v†y†x…x…y…w†yˆz‡y†y†w…u„w…v…x…z…z…x†w†y…{ƒ~‚€‚€‚…y…z…y…z…z†y…y†z…z†y…y†y…y†y†y†y…y†y†y†y†y†y†y†y…z…z…z…y„z‚~€€‚{ƒv„x„wƒx„w„w…y…z„x„x…w†z‡z†z…yƒx„w„v„uƒw…y†y‡x‡x†y…yƒ|‚~‚€‚€€…z…y…y…z†z…y…y…z…z†z…z†z†z†y…y…y…y…y…y…z…{…{…z„{„{…|…z…z„zƒ}€€~ƒz…y„x„w„w…y…|„{„y…x†w‡z†z…{„{„yƒxƒv„v„x…yˆyˆyˆz‡z…z‚|‚~‚€‚€€†y„|ƒ|…{†z„z…z…z†z…z…y…y…y†y†y…y…y…y…y…y…{„|„{ƒ}ƒ}„}„|…|ƒ~‚€~‚{ƒy„x„w„y…z…{…z…z…z‡z‡{‡{…{…{…z„vƒu„x…y‡x‡y‡z†z…y„{‚~‚€€‚€„|‚ƒ~„|„}„}…{…z…z…z…y…z…z†z…z…z…z…z…{„}ƒ}‚~‚‚‚~‚}‚‚ƒ‚~‚|ƒy„y„w„y…z…{‡y†y†{‡|†|…{…z…y…x„v„v…x…z‡{‡z†z†y„zƒ}‚‚‚€€€‚€ˆ‡ˆ‡‡~‰‡~„}…{…z…y…y…z…|…{…z…z…{…|„}€€€€€€€€€€€‚~„|…}ƒ~ƒ~ƒ{„z…y„w„w„w„x…y‡z‡|†|…|…{†z…y…w…w„w…w…x†x†z†z†y„{ƒ}‚‚‚€‚€€‡{†zˆy‰{…|ƒ~…~„~…z†z…z…y…zƒ}…{„z…}ƒ‚€‚}ƒ~‚~€€‚~ƒ}…{…|„|„|„z„y…x…w„xƒv„u…x†{‡}†|„|„{…{…y„x…y…x…w†u†v†x…y…y„|ƒ}~€€„|‚{‡s‡tƒx€…}…~…~…}†|†{„|‚‚€~„|…{†{†{„{„|ƒ}ƒ}„}‚~ƒ{…{‡z‡{…|†z…z„z„x…x„zƒw„x…{†z…{…|…}„}ƒ|ƒz„w„y„y…v†u†u†w…x„xƒ|‚‚€€€ƒ‰|„~Šz‰y…|„‚‡}…~‚€ƒ€„ƒ€ƒƒ‚ƒ‚‚zˆw‰w‡w†x…{ƒ{ƒy„|„{…z‡z†x†y†{†y…z„z„y…x…y…y…y…{„{„|…}…}„}ƒ|ƒzƒyƒy…x†w†v‡u†v…wƒw{‚~‚€€‚~‚xy‘y‘yz‹|Žyy…ƒ…‰}‰|‰yŠzŠ{‰}€„x‡w‡w‡x…{„{ƒx…z…x†x‡x‡x†y…z†z†{…{…y…u…w†x…w…z†{…|†}„}ƒ}ƒ|ƒzƒzƒy…w…y†w‰u‡t…v‚w{‚‚‚“}‘yy{z‘z‘|{Š~‚‡~‰}ˆ}ˆ{ˆ{ˆ}ˆ}ƒ}…x†w‡x†x…y…u†vˆv‡w‡uˆw‡z†{…|†z…z…y…u…u…v…w†z‡{…{…}„~„}…z„yƒy…w…w‡x‡y†w„wƒx‚{~€€~‚~ƒ„†…€…††€„€‚ˆ‚…†‚ƒ„†€…€„…†€…„~„x†w†w†v†u†r‡tˆuˆvˆuˆvˆz†|…}„z„z„x…{„{„y†z‡y‡z†|…}„}…}„z„y„x†v‡wˆw‡xƒxy|‚€‚‡‚€}„|†~ˆ„„„ƒ€„}‰‰‚„‚€‚€€€‚‚€€~„v‡v†u‡tˆt‡s‰t‡t‡t‡uˆw‡y†y…z„y„x„{„|…{†z‡{‡yˆ{‡}…~„}„}„~ƒ{„x‡xˆx‡x‡yƒ{~€€‚€‚ˆ‚€‚}„{†…€ƒ€‚€‚‚‚ˆ€…‚‚€ƒ„~„~ƒ€~„u‡t†s‡sˆs‡r‡sˆt‡t‡u‡v†x…u„x…y„x„{„z†y†y‡yˆzˆ|‡„ƒƒ‚~ƒ{„w†wˆx‡x†{ƒ~€ƒ}„}ƒ~€~‚|…x…€ƒ}†~ˆ~‡~‡~‡‡ƒ‚€€‚€‚€€~„t‡t†s‡s‡rˆq†sˆtˆvˆv‡u†w†y„y…y„zƒ{„y…x‡x†x‡z†}…„„ƒ~„|…w…rˆt‡v…w{€~~€}~~‚}ƒ~ƒ{wƒqƒƒ~ƒ}„|„|„}„€ƒ‚€~‚€ƒƒ†~†~„‚‚~…s‡s†s‡sˆtˆt‡sˆu‡w‡y‡v†w…x„x…y…zƒ{„y…w‡x†y‡{‡|…}ƒzƒzƒxƒv‚q‚o‚po~n{q|r|p~qr~v€zƒ{‚wo€l€l}ƒ}ƒ}‚}‚}‚}ƒ‚€€„€„~„‡~‡~†„…~…v‡rˆu‡t‡t‡uˆu‡w‡x†y…x…y„zƒzƒ|ƒ|ƒ{ƒ{†{ˆz†y†x†sn~i}n|nzq{szq{ozlzh{f{g|e~d~e~fh€fe|f~ik€€‚‚ƒ€…€…„‚„ƒ~„ƒƒ€„„‚ƒ‚„ƒƒƒƒƒ„ƒ€‚ƒ}ƒ~ƒ}„}…}…„~ƒ‚ƒ€‚€€‚€‚€‚‚‚ƒ……„|…x…t€twxzyyx~x~v~ww€topp€m€l€no€m€lˆ}‡†€ˆ~‰}‰}‰}ˆ}ˆ}‰}ˆ}‰|ˆ|ˆ}ˆ}ˆ~‡€††ˆ€ˆ~ˆ~ˆ~‡~†€„ƒ€ƒ‚‚‚‚‚‚€„€ƒ€ƒ€‚€ƒƒ€„€†€…‡€…„‚‚€Š…€ƒ€ƒ‚€‚‚ƒƒ‚„‚ƒ‚„„€ƒƒ|w€‰{‰}ˆ~‡‡ˆ~‰}‰}Š}‰}‰}Š}‰|‰{‰|Š|‰|ˆ~ˆˆ‡‡ˆ‰ˆ~‡}‡~†€ƒ‚‚ƒ„„„€ƒ‚‚ƒƒ„€…†‡††…‚‚„€Š€„€‚‚‚€‚ƒ„€„€„€†€†€‡€‡€‰|‰{‰|ˆ~…†ˆ‰~Š}Š}Š}Š}Š}‰|‰|‰|Š{‰}‰}ˆ}‡‡€‡ˆ€ˆˆ}Š~‰…€…~……„€…„€„ƒ€ƒ€‚€€€€€„€‡€‰ˆ~ˆ…ƒƒƒ€‚€‚€€€‚€‚€„€„€…€‡‰}‰{‰|‰{‰}ˆ~†€‡ˆ‰~Š~Š~Š}Š}‰}‰}Š|‰|‰}‰}‰}ˆ}Š~‹}|||{‘{‘yyz{{}…€‚‚€‚€‚‚€€€€ƒ…€‡~ˆ~‰~ˆ€„‚€ƒ€‚‡€‰€€€€‚€‚ƒ‰~‰}‰|‰|Š|Š|‡†€†ˆ‰~‰}‰}‰}ˆ~ˆ}‰}‰}‰}‰}‰}ˆ}Ž|‘||||}Œ…Œ‡~Œ}Œ}Ž|{‰~‚€‚€€€€‚„ˆ~Š~ˆ†€ƒ€††‚€‚€‚~ˆ‰~‰}Š|Š|Š}Š}‡†€†€‡ˆ~‰}Š}‰~‰~‰~‰~‰}Š}‰|‰~‹~…||{‚}†~†‡~‰{‡{†}‡}‰|ˆ}…‚€€‚‚€€€€„€†~‡}ˆ‡ƒ‚€‚€‚€‚‚‚ƒ€„ˆ‰}Š}Š|Š}Š}‰}‡…€…‡€‰~Š}Š}Š~‰~‰~‰‰~‰}‡†}|~{z‚zƒz‚{„{ˆx‰z†}ˆ|Š{‡}ˆ~‡„€ƒ€‚‚‚ƒ€ƒ‚‚‚‚‚‚€€‚‚ƒ€†‡~‡}‡„‚‚‚ƒ†€€ƒ€ƒ†€‡‰~Š}‰}Š}‹}Š~‡††€ˆ~‰~‰~‰~‰}‰}ˆ~ˆ~ˆ~†~ˆ|‰}††‰x‰x‡z‡z‰y‡}~‚ƒ€‰|…}‡~‰~ˆ~†„€‚€‚ƒ€ƒ‚‚ƒƒ€€‚€ƒ‚‚ƒ‚†€ˆ~ˆ}‡}†‚‚„|„ƒƒ‡‰~‰}Š}‹}‹}Š~ˆ†€†ˆ~‰~‰~‰}‰}‰}ˆ~‡~…}‡|‹|„„‚„‰yŠxŠyŠy‰z…~ƒ‚‚‰}†|†}‰~‰}‰~ˆ~…ƒ€‚€‚‚‚€‚‚‚‚„€†‡‡‡~…€ƒ€|†|„‚†€‰‰~Š}‹|‹|‹{Š|ˆ~†€‡ˆˆ}ˆ~‰~Š}‰~‡…}ˆ{Š{‚‚ƒˆ{ŠyŠzŠzŠz†~}ˆ„Š{ˆ{…}‰}‰}ˆ}‰}‰}†ƒ€‚€‚‚‚€‚‚€„€†‡|ˆ}ˆ~}’}‰~‚ƒˆ€‰~Š}‹}‹|Š|‹|Š~‡†‡‡~‡~‰~Š}‰~†„}‡{‡{…~…ˆzˆy‰{‰|‰{ƒ|ˆƒ‰z‰{…}‡~‡€†‡}Š}‰~ˆ}†ƒ€€€‚‚‚ƒ€ƒ‚€‚‚‚„†ˆ}|ƒ„}ƒ}‚„ˆ€‰Š}Š|‹|Š}‹}Š}††€‡‡‡~††…€†~…}…†~‡~†}†}†………ƒ‚„€ˆ}Š{Œ|‰„„‡~‰~ˆ}‰}‰}‡~ƒ€€€‚‚€‚€ƒ€ƒ€ƒ€‚‚€€€€‚€‚‚„€vƒ„~ƒ|ƒ~‚†‰‰~Š}‹}Š}Š}Š}‰~†€†€†ˆ‡€…ˆŽ|Ž~‹~‹}Š}Š}Š~Š~Š‹}‹}Œ~Œ}}Ž{’z}…†‰~‰~ˆ}‰}‰}‰}ˆ~…ƒ€€‚‚€‚€ƒ‚€‚€‚€‚€p€z‚‚}‚}‚‚‚ˆˆ}‰}Š}‹}Š}Š}‹}ˆ~†€†€ˆ‡~‡}‹{{||‹|‹}‹|‹|Š}‹}Š}Š}‹}‹|Œ|||Ž{‡†ˆ~ˆ~‰}ˆ}‰}‰}ˆ}ˆ}‡~„€‚‚‚‚‚‚‚€€‚€€€‹h{l|{}{‹‚ƒ‚‰‰~Š}Š}‹}‹}‹}Š}ˆ†€†€‡ˆ~{‹‚‹‚Š~‰}Š}‰}‰~ˆ~ˆ~ˆ~‰~‰~‰}Š}†‚ŒŠ‚Š~‰~ˆ†‡~ˆ~‰}‰}ˆ~ˆ~‰}ˆ~…‚€€€€‚‚‚‚‚‚‚‚€˜j}h{p~|‰}ˆ~‚ƒ†ˆŠ~Š}‹}‹}‹}Š|‹}‡…€†€‡~‹}„‰€†‚ˆ~ˆ~ˆ~ˆ~‡€‡‡ˆˆ~ˆ‡~†}Š†‚ˆˆ~ˆ†…‡ˆ~ˆ}ˆ}‰}‰~‰~ˆ~†‚€‚€‚‚€‚ƒƒ‰kj|j|v€€‚~ƒ}ƒƒˆ€Š}Š}Š}Š}Š}Š}‹}ˆ~†€…€„†€ƒ‚€…ƒ„…€„€…€…ƒ‡…†ƒ€ƒƒ‚ƒ‚‚……€‡~ˆ~ˆ~‡€ˆ€‡‰~ˆ~‰}ˆ~ˆ~ˆ~ˆ~‡„‚€€€‚€€ƒ€„€„…n€mm~s‚ƒ€‚}‚}ƒ…‰Š}Š}Š|Š|‹|‹}Š}ˆ~…€„…€„ƒƒ„ƒƒ‚‚‚ƒ„„†„‚€‚‚ƒ„„„„„€‡~‰}‰~ˆˆ€‡‡€ˆ~ˆ~‰}ˆ}ˆ}ˆ~‰}†~„€€€‚‚€…€‡€†nƒl€i|ny‚‚~‚|ƒ€‚‡‹~Š~Š|‹|Š|‹|‹}‰~†„€ƒ€„†‚…‚…‚…€ƒ„„‚‚„†ƒ…€…†~‡€††„€ƒ€ˆ~ˆ}‰~ˆ~ˆ…„ˆˆ~‰}ˆ}ˆ~ˆ~ˆ}ˆ}‡}…‚€€‚€…€ˆ‡ij~hzi|k}z€€‚}|‚ƒ‰Š}Š}Š}‹|‹}‹}‹}‰~ƒ€‚…€‡ˆ}ˆ~ˆ~„‚€‚€€€‚…ˆ}‰~‡…ƒ€„€ˆ}‰}‰~‰}‰~ˆ~‡‡€‰‰‰~‰~ˆ~ˆ~ˆ}ˆ}ˆ~…€‚€‚€‚€‚…‡€nn~iygyezs€ƒ~•|ˆ~‚…€‰~Š}Š}‹}‹~‹~Œ~‹}„„€………~…€‚„‚€ƒ€‚ƒ„ƒƒ……~…„€ƒ€…ˆ}‰}‰~‰~‰Š‰ˆˆˆ‰‰~ˆ~ˆ}ˆ}‰}ˆ~ˆ~…ƒ€€‚‚ƒm€j~gygwfxk}{„‚Š~…}‚€‡Š~Š}‹}‹}‹}Œ~Œ~†€‚ƒ‚‚‚ƒƒƒ‡‚ŠŒ‹‚‹‰†‚‚ƒ€ƒ„††Š|‰}Š~ŠŠ~Š~Š~‰~‡ƒ€‡€‰ˆ~ˆ~ˆ~ˆ}ˆ}‰}ˆ~†‚€‚€‚f€g~gzgxgwhyq~€‚~‚|‚ƒ‚Š‹}‹|Š|‹}‹}Œ|†€€€‚‚‚ƒƒƒ‚…‚†‚††‚…‚ƒ„„„€Š{zx’x“w’v“v“w“w“v“v’w‘w‰~‡€‰ˆ~ˆ~ˆ~ˆ}ˆ}‰}ˆ}ˆ~†ƒ€€€‚hh~gzfxfwgwgyu€‚€‚}‚‚ˆŠ}‹|‹|‹}‹}Œ|‡‚€‚‚‚‚‚‚‚‚„ƒ„‚ƒƒƒƒŠ{”x—v˜w—x•y•x•y•y•z•z•y”y”y‘{‰‡‰~‰~‰~‰~‰~‰}ˆ}‰}ˆ~†ƒ€€‚ih~gydwgyhzgzs~‚‚~‚~‚„Š}‹}‹|‹}‹}Ž{‰~€‚€ƒ€‚‚€‚€‚€‚ƒƒƒ€ƒ…~z|‰}‡|‡~„‡€Šƒ‹‚‡€„€„ƒ~ƒ~‰}‹}‡€…‡‰~‰~‰~‰}ˆ}ˆ}ˆ}‰~‡ƒ‚jh~g{fxh{j|h{n~|‚‚}‚ˆ~Œ}Œ}‹|‹|Ž{‰}€€ƒ€…ƒ€‚€‚€‚€‚€‚€„€„€‡}‹||{}z~y}z}‡|‹xŒ{„{z}{}z}z~„|Œz‰~ƒƒˆ~‰}‰}‰~‰~‰~‰}ˆ}ˆ~†ƒ€j€j}j{j{h}h~h~jt€‚€‚}‚ƒ‹~‹}‹}Š}‰~‡€‚ƒ‚€‚€‚‚‚ƒˆ}Š}‚}{}z~y~}~ŠyŠy‹x‡zz}z€|€}€…|Š{‹}‡€†€ˆ~‰}‰}‰~‰}‰}‰}‰}ˆ~ˆ†kƒki~h€n„k„h‚jr}‚‚‚„}ƒ‚‡‹~‹‰~‰‡„‚‚‚‚€‚€‚€‚‚‚€ƒ„Š}ˆ}‡}‰‰€‡ˆ}‹y‹v‹u‹y‡|‰€‰Š~‰{‰|Š}‰~ˆˆ~‰~‰~‰~‰~‰~‰~‰~‰~‰~ˆ~lˆnˆm‡nˆp†p†m„p…t†|ƒ‚~š}Ž}‚‰Š~‰~‰~ˆ†€†€†€…„„‚„ƒ„€„€„ƒ…~Š}‡}‡|‹|‰|Š|Š|Š{Šy‹y‹z‹{‡€„ƒ‡}‰zˆ|‰}‰~ˆ~ˆ~ˆ‰‰~ˆ~‰~‰~‰~‰}‰}Š}ÑÑÑÐÐÑÑÑÑÑÑÐÏÏÏÌÆÉÅÎÏÏÏÐÑÑÑÑÑÏÏÏÏÏÏÏÏÏÏÏÍÎÎÍÍÍÍÍÍÎÏÏÏÏÎÍÈ¿¶±§£–ƒtjnymlkmoueidX`c^^g_U\a`aWRPU\Zaf`eTVWXVWTT\VRX`a]YUME=9<<632@3ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÎÊÅÈÄÌÏÏÏÏÐÐÐÐÐÏÏÏÎÎÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÎÎÎÎÏÏȸ ¨œy„|‚va`bs}p^`plh\Z[\`[YWQ_ha]SQQRZY^hihQW^b[RPLSSZac]XPOK@A76642077ÐÐÐÏÏÐÏÏÐÐÏÏÏÎÍÉÃÆÂÊÍÎÎÎÎÏÏÏÏÏÏÏÍÍÍÍÍÌÌÌÍÍÍÎÎÍÍÍÍÍÎÎÎÎÏÏͤ‹Šrppqnoprw{bccfe\\[\]]TUW^e\[[XVSWUW^ieSSY\UNPORS_ebc\QGB@<952330.2ÏÏÏÏÏÏÏÏÏÎÎÍÎÍÍËÃÆÃÌÍÌÌÍÌÍÍÌÍÌÌÌËÊËËÌËËËÌÌÍÎÎÎÎÎÎÎÏÏÏÏÎÎÎζ—“|nux{x‚€ggc`i[bgf\\XW`[TZfgTRUXYTPNWP\jRQUY[QMSPQ[c`bWTUOH?<85331..ÏÏÎÎÎÎÎÎÎÎÎÎÎÎÏËÂÃÃÍÏÏÏÏÏÎÎÍÍÍÍÍËËÌËÊÊÊÊÊËËÌÍËËÌËÉËÌÍÍÍÌÌξ“‚‡san~ndh`bcYke[YUUO]bacqp\ROV^VNJURS[T\]ZWOQRV[`XXZRPZPJ>@A<520-+ÍÍÍÎÎÎÎÎÎÏÏÏÏÏÐɼ½½ÌÏÏÏÏÏÏÏÏÏÏÎÎÏÏÏÎÎÎÍÍÍÌÌÍÍÎÍÍËÆÉÌÍÍÌËÈÇŤ‹|}rg_mrpe_c`Z^aWR]TTR\hgiifjXRWZTRTUSSXS\_cWUVRZ\_ZYUTORPI>@>5561.3ÍÍÎÎÎÏÏÏÏÏÏÏÏÏÐǽƾÊÏÏÏÏÏÏÏÏÏÏÎÎÎÎÏÍÍÍÎÎÎËÍÎÎÎÎÍÊÅÊÌÍÎÏÍÉÅô›{~sfXUea]`ba_b`YUSLOW[acgk`]UQPPPKUSUQ`MVV[[X[[a]^YSRUPRLFC>@;431/3ÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÆÁÍÂÈÏÎÎÎÏÎÎÎÎÎÎÎÎÍÎÍÍÍÎÎÎËËËÌËÈÆÄÁÈÈÊÍÎÌÅ¿¾®‚|tWTQSOWZnrhbd\ZODAPYT^cc^XUSLNLILIRMZPSVVXX\]\]aZTPUOYPCGA>?40/--ÎÎÎÎÎÏÏÎÏÏÏÎÎÎÏÆÃÍÂÅÎÎÎÎÎÎÎÎÎÏÎÎÎÎÎÎÍÎÏÍÌÉÈÇÊÃÁ¼Â¾ÃÀÆËËǽ±¨ªvt_WWZYij`qhhaWWSRUUfVO\]UNWZTMJGOQS[YSQZ\VTZZWPVZURXQYYA66220/.--ÎÎÒ×ÖÏÌÍÍÍÌÌÌÌÌÃÂÊÂÅÎÏÎÎÎÎÎÏÎÎÎÎÎÎÎÏÏÏÏÍÄÃÂÀýº­¿ºÀ·ÀÈ¿µ¥‹Š€qŠ}g]a[]fnXo^V_UPUVa_XPPSZSPTVZOMMVTT]j^PXYWWVV[SRZYZ^^MD>8540..---ÐÛêïíãÒËËÇÃÃÅÇÊÃÁÈÂÂËÍÍÍÌÍÍÏÎÎÎÍÍÍÍÎÎÏÎÎÇü´¼º²¢ºµÀµ¶Â·¾µ™†|{niecedU[e^Vf\T[^QTTX]VVSOPPLMNU\WQUQSSe[O[[XSNPZXZUXRNJ@8==;71.----ÞîÙ½ÆêéÎļ¶´º½ÂÃÅÊÆÄÌÍÌÌÌËËÌÍÌÌÌÌÌÌËËÊÇÆô¯¨­²§Ÿª¯º°µº¯¬¡ƒvyvmjS`g\YeZR\i`Z`[LQSU_bcUQNMLOSMVXLOUPT^^[c^VPLPZWYWPQXJBC=;;951/.-,äᨓÄ×ĸ¶´´¸ºÀÃÈÍÊÆÍÎÎÎÎÍËÉÌÌÌÌËÊÊÈÅÄÀ¿²¢ž›¤¥›˜¢¯¯¬®©¦™‚tnmimo_XZVbaWX_^]aWRXTTUWaZRTQNSWSTUXRQXQT[aY_Y[\W_`TUZXUR@?H<76775200.–ˆ€{z|}xwz}ˆ¯ÄÇÌÉÄËÎÎÎÎÌÈÄÊÌÌÌÌÈÆÀ··¶»­ —œ™•£´¯« ™“xkfgVibSMGPX`YTR`jaara`b_UYOQQPQSXSVRU[S\PP`_^h\d`kibTQOMKK@>@8866554/12}žž‹[[X[„•Š„¸ÄÈÇÁÊÎÎÍÌËûÇËËÉÇ¿°¥Ÿž¥§ž˜Š•œ”’­®œ’’‘„vefjZ_VPSQR[a`]kp`SWeOXsq]ROKNNLHJMOPNMQZU[_USYYah_^YQJNIFECHA8655344024£¬¦²¸ŠYYÌÜâ×¹y›ÃÇÇ»ÄÌËÌËÈ¿µÆËʶªœžŸ–š˜‹‘„–”Œ“›Š‰Š…€xvqcZTZ]YPZ^WU^j^SQ`ihca^URMKJHIGGFHOMS_]Y\WP\khhW_UOUTKJA?A9854324438=qKHj¨˜wj“ÊÑÔÏ¢p~¾Æ¾®´»¸½»Ç½­¼Æ¼®¡¡›œ¢––†‚…‹ŒƒŠŒ…„…‚€zypbWWUU^ZVZVT[iSRQ`igTS\YTNMNKLJFKJJRV]dTZSQmteiac^U`ZWVH<;;97443364;B|eŽ†¨•{ˆªZQYJbq©¯£¢£¤§«¶ÅÀ·¶½²ª£¢™™Ÿ•–†„…‚†‚z„‹‰…‚}~~vrqkeXQ[j\RWSV`[O[]`bZSSSTSMLQSMPTRGCLPVbRRN`cca[fl\RS^ZFTG<;<:555489;>ƒ›©Ç–Z0K˜~AJPELj‡ž›¡ ÁÕÚÝÙ××ÖÖØÚÚÓ±“™’‰‰…€‚ƒ{‰†‚€|}{zrkjf[WZSZ_ZU]\`[V\[]_\VQKXVNMPLCEGFA?GIJSLTT[^bZcq^`P[`[JFCA>=955669]V]rXG6;PT`Z=GH@ADXbpXF@He«OzÇb>EFGR\HKJJIERžŒ…‘‹Ž„„ƒ…|‚|zwrvvpjdX^fb\RVPR_geeWOTQg_eZOSSPJIDITKCKMNFQR^`[O\ffeVbeWPX`TFBB=;8767<@LBijjkihhhjuxvslich~®Ú½LHDBC`fZ[QIHG=‰‘‚Ž™Š‰‘ˆ‹…€‹ƒ{}ywwxzucWR\Z[W[YO[\_ahgjornR^_VOSQGFFQXRRPQRJKWZ^ZNP_\a__ihW`VB;:==<:;9:>>>;_[Z[YZZZYYXY[]cfl†Þå–QUA?:EJNK;89<7fžœ —ˆ„‰}„Š‹‡€‰ƒ}zxx|wwq_X_aUXUWYbZPOat„uf\^fTVNLSSNNJC@NVSTWUP^fef[T[[_]U]YVWH<99<;78::9>==?>>bWOPPOOQRQQQP]gd¥x»Ì¢Œ”›ž ¥ª¨§¥££ ºÓÒ‹|z€€††€{€|€xtwyzvqmj^UNJZY\TTZ^]ZJZa[^Y[bYLNTPOJMPPQUWYX]of\\]ZX[YSXNPMA874Zt98988;BFDFÛ¬W\cfo¢qf`\Z¹ÛÐ÷’tÃ×ÐÐÔ×ÖÕÖØÙØ×ÕÔÑÑÕ™~€}€~}„€~yzrpyz}sjceUTUEBOWXW[\OKKWZ]^V\g`TNMKMPOOJHKNWY[`c\`ZWTXOKNJB=9886W@889<?>=DIB?L]mk^NRhSHA;;:7;;99>8uÛY4>DSSJV__nŽnSWZLB;677<@CB?A=ræf8@9;DJOYcbxKCYZWVWV\XDswEAS]Ëïìíìììîíìíîíëìììîä{p|{|~}xv‚‡€txxshgkt|iXWWTRSOUZQQ\^]Y\d`[OSTPIFLPJ=>NVPhojyŽj]_SJC>:;@GMJB=@;vño:>5IV\TYbgqf\Z\bfimpmpf\hxwqmejlWñ…STZwwsvmh;@FFDBCFGGFBDH;136>œãÁš—Ý⚆ƒ~²ñ­‚±ÓÃo~‚‚~w}~uz|~xzqe[dheacbVX\[USQPOV]ZV[[TNSZVSUXYq‚zdmyo]UY^_bejgo†ƒƒ‡€|€†ŠŠ‹–·•‘Šƒ}uvsiuvurrrpnoooqsxm5.4=pÛãÚÕÚÚÓÏÑÍÆÏÒÑÐÚãœh}€ƒxx€xsx{}qxofbaic^d`Z[WWSS[[OOXWNLMR[[Y[ey„‡‰fdtnURZ]]]_hklv‚€€yv}‹”’‘‡Ž‹ƒ€ptqnqjqpqqsuwxyz{|~|t7-1C`u~…••‡¤¬—whmppop_q|ww|vv~vuyvxstonoknmotqoplp{Š”…ˆŽ†„°–~}„€}€nbnpcV\``^\ajhlvjhehfv€„~‚‡‰††‡|tejqnkh[[[[\begffefgik\\^n‚}~ƒŠ—•‡’Žƒxx{}zxxvussrsutsrqpoonnnqsuxy{{{xwvxzzz|~ˆ’š¨¶´ª–ˆ{smonmnmkgc^]^\[a`YZ^__cilgifdfrrlrmhbkxpuyqonnnpsvuvvuuttwy{~€€~~|{ywwŽŸ Žrqruxxxxxutrqqrtttroljjjjklnrtvwxvvuusrtsqqrz„Ÿ­±°¦œ~qgggfba]ZV[YXWYZY[ZYY\ZXYZZWWVXR]^gv|vqmllklopqrrpoooopsx{|}}~}}}|{xvt|†{ˆ¤˜xnpsuvwwutrpoppppoomljhgfggjloptvvwvvspooppnoqvŽ ³½¸£‰ukhjjhd`_]XVTUVUTUYadVWY\XYXUTUYV[|xsoljjklnopppoooooqsuwyz{{{zzzxwvqq~Š’–ƒ‚uqqstuvvtsrpmlkmmmlkigfcdeefimpsuwwwusommnpqqqno}—°¾¿°•skjlgdccZV[VVUVZZUUW]UWWZYXXUUzxwtqmjiikmnopppqsrsssstvwxxyzzyzywurom}¤¢}nmnrstuuvwwvrlkmllmnmkjiffeddfikoruvxywusomlnqrqpos—±Å§ˆtijlkkgfca]ZVUUUSUUWV[YWZYZxwwwvrmighikmnooopqrrrqqqsuvvxyyxxxusqqponu£´˜pnooqrtuvvoknkjklmnnmigedb```bflpsuuwxwurliimpqoljl| ÃͲ‰qkjlmkkigc_\XVTSSVUVZVYYWvwwwvvsnigghjklmmmnoppponoprtuwxwwxvtsrqqqr‡“‹‚liloprrrrmkpokggghlnmkiedcbbbacglnqsuvwwwtniilnpqqnkx”³Æ¾ ƒpklmlkihea^[VTTRW]TVVUtvvwwwvspkgefhijkklmnooommmnoqtuuwxwvutrqrrmmo|¦±Šlpsw{€ƒ†Œ‹‹‰†‚{urnmhfdccbaa`aeilortuvwwuqmiilopomjly—ºÊ½Ÿ‚rmlmmigffcc`\XUVUSTpsuwwuutrnieccdfghijlmnnnmlklnoprttuvuttrqqqos£º²£©®²³³³²³±±°¯±±³³­¤žikgdcaab`^`chloqstuuuurmggjkmmmkgk‚®Íί‡rqmljiiihggeb^WUXmoqrttutsrnidbabcdehjkllnmlkijkmnoqstuttsttqƒ¦ª©«ª¢—‘Š{vnkkkkkmqw†‡ˆ”ynomjecddca^_dimoqrtuuvurjeehklmlifg~¯ÐÏ°ˆrnnmkigghhggc_^klnqsstuusrokfbbbbdfghjklmlllkjllmpsstuttttr¦ƒvof_XTTW]h§Žme]WRRRQQL\|lnppnkhffgea`bgjlpqrtuuutqkedhlmmlkgk‚©ÊϳŒunnnljihgggfcikmprtuuuutrokgddccdfgikkllmmmljjlnoqrstttsu—eKJKMPRWVWXYslQKLhmkidZF=\jeinqpmjhgghebacfjmnpqtuuutqlgejlnnomggzŸÄϼš|nmnljihhggdhkmorttuuusrpliebbcdehklkllmnmljiklmoqsttr{AJXeqzŒd5740-199>_fehghbF>cfdeilnnlgeeddca`bfjmnprtuuuurlgfhknonkigq‰®Ëʯ‘wmlnljjj_cgjloqrrssssqnlfbaabbdgjjkkllmlmjiiklnoqrqŒa;Z…•ž¥¨­–n^A55;FHGB>?@:6=‰¢ˆFjlmmmkgdbcfhkjhecbcccc`]^aejlnpqrssqqojedfjlllkjjefxžÈ°ÄП[`dgikmnqrrrrqpnjfbaacdefhhijjklmnnlhj†HˆH046Rl`=FGB@@>AHH>OGpyW:5_€œP`mmmmnmliecfilkjhgdcbbba_^`behknorsrsssojedfijkkllkfew·ÆÐZaehjkmpqrrrrqomkfbcccdfgghjjjkmopplqyP;235o£ŽM@>6555>GICQL_pn:4/1ŠnRnlmmnnmlkfccgjlmkheb`bbaa__`behlopqtttsqniccfijklllkgP“¼ÈÉsZbfiklnpqrrrqqnmiedcbbcdegghijklnokxicˆ5:=<:9BbœaB;82D¨eWlh^[alkllmlkidbaehjkjgda__^^]]]^_bfilnpqrrrrrpibcfhkRKOŒ»Ä̇Y_dhjklnopppponmkfca`abcddefjjjnkrM `JVLfŠ‰…MFFFFFGFFEC_”QD=A5?¥gHoR7;9[mkklllkifcabehjkjgb_^^___]]]^bfjmoqrqqrsqnhccf_SLWœ¼ÆÅuV^bfhjlmnooppomljfca`acddedRB>WŽ^GžcVŒYReFCHLQY]^TNVMZ^l‚fIB893:\:>S>;=2Onjjjklkkigdaabgjjihd`_^^_^]\[[_dhknopqrrrrrnhbgZPJa©¾Ì»i\aegiklmnppppoomifc``abcd]7;9@CACNTTOKFD=9>7A[VNQM9687@B3.-/9]kiiijjkkjjifb`adgjkkgd`^]^__^\[]behlnnopqstsrmlbQMJr·ÀЫ`^cfhjklnnopqpomkiea```bd]31637@E4421248;<53323356558756878:991-.1:?Cgui‰ ]pwzff²ìÁylrqf^kT8>?742-,.Olihhghhhe‡ÊËÂ{_cdeffggiiihhihgdba]^cgkjiif_\]]]^^vzpmrqporrZLLQ–ÂÆ×­_befhjkklllmmmllkieY510,/047;<;GQPYdq„“¥É¼¥š‚sgd^VMFA<7310-Rmihhghhggdihdecdeeffggggggffggfeb`]]_fhhiie_]]^^]trnkoojhjlfNKJd³ÁËÖ‰]dggikklmmmnmmmmki^3//2347:>CLXhx˜µÃÍÔàëêâàßÝÀxbTMJFA:400-Vmiiihhgghgffeedddeefffeffggfghgfcca]]afijjjfb_]\\poofimpuspkSKLL„¿ÁÓÆmafgijkmmmnnnnnnmkd7,-0569>AGPWo~³òêîîíëìíííô¾ƒ‚wgTE;4/0-Zmjjjhhhgghhhfedddeeffffgghhgghggfec`]]agjklkic`]]mfekglsurtu_LL]l¢¿Ä׬cegijkllmnnoopoomh;+-/14:AIVg}¢³¤îÛëììììììíõ³–«‹{eMA:3///anllihiihhgggffda`badfgggfhhhhihhigec`^^aejllljhc`gnkippmnqvrmTJOP^«ÀÊÕ`ehijkllmmnoooonk@+./.2783357;hˆ“ª²³´°ª¨¨¦¢ŸžŸœ›œœž¡££yŽ}egfeefffffeeeedddcaa^[^dilmmwqpnlnnjlloopjSKKKk¾ÆÏ׉^dfhiijjkkllln@38/--/05??:>BC78::788479;>@@>c²¥ ˜‘ˆ†‚€~{ywvvutttstvxxu€‰b_deddeffffffffeeeeedc`^[]djlnlnwsomoppikmkjVKMMN”ÇÆÔ»a^begghikkllkg;39,,,.136:?@AAEGIMPv|VOIDA<6D¤¢{vupjhfeda_]\ZZ[[\\\\\]]]\Zos`abbaefffggffghffeeedba]\^ejlnruoooqtsnjnnhTMLMJd¹ÇÎÖŠ^efhiiikjki^X61;.,++./..///01001164/-+++*(t°{Y[\\_`cfimr|•ŸŽ‹Š…ƒ€}{}|{ylpwl¢¼¾“`deefeefggffdeeedca^[^eomnpuwvtwnmpomrfQJLLN‘ÉÊÔ¾icfijjjjiibVV80<3+?8-,+*))*))*********+,+:­šh\u‚‚„‚€~„Œ…— xiv…‚ƒ„ƒ€{|vat–èðæ–`cddcceffeecdeeddb`]\`lrwvqusoqmmkiktdLLLKLb¸ÉÍÖ–_eghhjhbb_XV80:61=XLA;544/**+***++,16:B@e¬‚`t€ŠŒ“š£¨ª­‚J2555T±ËÏÎÉÊÌÉ¿ƒzInhš´±¡d`abccdeeddccddddcb`]\tywqlmnpojklwuvh_YLLNO‹ÉÈÒÊrcghhjiihg^T<1956+<@:9412.***)***,-13325|™jS„²ÑÕÚÝßàáå‡Z\QNNP¸çáàÙ×ÞàäŠr^Xk_^Y\``abcbddcdddccdddcbb`]kkmidaekls{ytvojpfRLNS_¶ÈÇצcfhijghfeaT>76232.'&%&&&&%&&%$$$#####!2†•VdrÊáÞÝÜÜÜÝÝyajfmTN­åàÞÖÏØÞá„RzKldaaaabcdccddcccdcccdddccb_qomnlvqtjvtvvv~~m]SLKNMÇÄÑÓƒbffgefeb`[M:0--/*%%%&&%&'''(())*++,+(K•MpVÆåàáááàáÓjSSV[ONšçãåäæåÞØv8}Rbgabbbdeccdeedcccbbcddddcb`ˆ~„zy}zlkq{yz|tg]RLKLKT£ÈÈظdacdcddb_]WJ>;<;;<==<=>?@@?@BBAABCCB@e¡|MtB‹¬©«¯²¶»–XVSsrRSpÆ̾­š„j\H7cgRdbbbbabcbddddddcbbccccccba‹v€zutknvpkipjccbVLLL_f½ÃÌØŒ^abcccc`]YSNLLJIJLKLLMMMOOPQRRRTTTSUt kPrE:89;==GvK`bbbbabdddedddddbccccbbcccƒ€zy€yuruebhr|skmg[MLLYa\™ÂÂ׿e_acbcca_[WTSSRRTSQRRQRRTVXZ[\\]]^\a—\TlH978:;9679426uu87534:===9;KB7rR[bbbdcbfhhgeeefeedcccbbccc†z†z†z†z†z†z†z‡z‡z…z†{‡{‡z†z†z‡{‡z‡z‡z‡z‡z‡y‡y‡z‡y†y†z†z…{ƒ‚}„y„vƒt„t…s†w†yˆx‡z‡z†z†yˆ{‡{ˆzˆw†u†y†y†z†{…z…y…y‡z‡|„~ƒ€‚‚€‚€‚…y†z…z…z…z…z†z†z†z†z†z†z†y†y†y†z†y†y†y‡y‡y†y†y†z†y†y†y†y…{€|‚xƒvƒtƒt‚u„u…v†y‡x†x…y…w†yˆz‡y†y†w…u„w…v…x…z…z…x†w†y†{„~‚€€€†y†z†y†z…z†z†z†z†z†z†z†y†y†y…y†y†y†y†y†y†z†z†y†y†z†z†z†y…z‚~€€‚{ƒv„w„wƒw„w„w…y…z„x„x…w†z‡z†y„xƒx„w„v„uƒx…y†y‡x‡x†y…yƒ|‚~‚€€€†z†y†y†z†z†z†z†z…z†z…z†y†z†y†y†y†y†y…y…z…{†{†z…{„{…|…z…z…zƒ}€€~ƒz…y„x„w„w…y…|„{„x…x†w‡z‡z…z„{„yƒxƒv„v„x…xˆxˆyˆz‡y…z‚|‚~‚€‚€€†y„|„|…z†z…z…z†z†z…z…y†y…y†y†y†y…y†y†y…y…{…|„{ƒ}ƒ}„}„|…|ƒ}‚€~‚{ƒy„w„v„x…z…{…z…y…z‡zˆ{‡{…{…{…z„vƒu„x…y‡x‡y‡z†z…x„{‚~‚€€‚€ƒ|‚ƒ~„|„}„}…|…z…z…z…y…z†z†z…z…y…z…z…{„}‚}~‚‚‚~‚}ƒ‚ƒ‚~‚|ƒy„x„v„x…z…{‡z†y†{‡}‡|…{…z…y…x„u„v…x…z‡{‡z†z†y„zƒ}‚‚‚€€€‚€ˆ€ˆ‰‡ˆ‰‰}…|„{…z…z…z…z…|†z…z…z…{…|…}‚€€€€€€€€‚„|…}ƒ~ƒ~ƒ{„z…y„v„w„w„x…z‡z‡|‡|…|…{†z…y…w„w„w…w…x†x†y†z†y„{ƒ~‚‚‚€‚€€†{…{ˆzŠ{‡{‚~†}…}„z†z…z…y…zƒ}…{…{„}ƒ‚€€‚~ƒ~‚~€€‚~ƒ}…{…|„|…|„z„y…x…w„yƒv„u…x†{‡}†|„|…{…{…y„x…y…x…w†u†v†x…y…y„|ƒ~~‚€€€„z~†tˆt„u„~…}…}†}†|†{„|‚ƒƒƒ|…{†|†|…|…|ƒ|ƒ}„~‚~ƒ|…{‡z‡{…|†z…z„z„x…x„zƒw„x…{†z…{…|…|„}„|„z„w„y…y…v†u†u†w…x„xƒ|‚‚€€€‚€ƒŠx„‰zŠz‡z„‚†~†}ƒ€‚€„„€ƒ€„†€ƒ€|†w‰w‡w‡w…{ƒ{ƒy„|„{…z‡y‡x†y†{†y…z„z„x…x…y…y…y†{„{„|…}…}„}ƒ|ƒzƒyƒx…w†w†v‡u†v…wƒw{‚~‚€€‚~‚xz’y‘yzŠ|ŽzŽy‡„ƒ€‰|‰|‰yŠxŠ{Š|„y‡w‡w‡x†{„{ƒx…z…y†x‡w‡x†y…z†z†{…{…y…u…w†x…w…z†{…|‡}„}ƒ}ƒ|ƒzƒzƒy…w…y†w‰u‡t…v‚v{‚‚‚‘|’y‘y‘zz‘y’{‘z}ƒ…‰}ˆ~ˆ|‡{ˆ}ˆ}†~~„y†w‡x†x†y…u†vˆv‡w‡vˆwˆz†{…|†z…z…y…u…u…v…w†y‡{…|…}„~„}…z„yƒy…w…w‡x‡x†w„wƒy‚{~€€~‚~ƒ„††€…~††…ƒ†ƒ††‚„„…€…„ƒ„……€‚x†w†w†v†u†r‡tˆuˆvˆuˆwˆz†|…}„z„z„x…{„{„y†z†y‡z†|†}„}„}„z„y„x†v‡wˆw‡xƒxy|‚‚†‚}„|†~ˆ…ƒ„„€ƒ~ˆ~Š‚†‚€‚€€€€‚€‚€‚€‚w‡v†u‡tˆt‡s‰sˆu‡t‡uˆwˆy†y…z„y„x„{„|…{†z‡{‡yˆ{‡}…~„}„}„~„{…x‡xˆxˆx‡yƒ{~€€‚€‚ˆ‚€€‚}„{†~…€„€‚‚‚‡†‚‚€‚~ƒ~„„‚€€‚w†t†s‡sˆs‡r‡s‰tˆt‡u‡v†x…u„x…y„x„{„z†y†y‡yˆzˆ|‡„„ƒ‚~ƒ{…v†wˆx‡x†zƒ~€ƒ}„}ƒ~€~‚|…x…€ƒ…†„…†‡€‡~‡€„‚‚€€‚€‚€‚€€€ƒv†t‡s‡s‡r‡q†sˆtˆv‰v‡u†w†y„y…y„zƒz„y†x‡x†x‡z†}†„„„~„|…w…r‰s‰v…w‚{€~~}}~‚~ƒ~ƒ{‚w„qƒ‚€ƒ€„€„€„„ƒ‚‚~‚ƒ‚…†~…~‚ƒ„v†r‡tˆsˆt‰s‡tˆu‡wˆy‡u†w…x…x…y…zƒz„y…w‡x†y‡{‡|…}ƒ{ƒzƒyƒv‚p‚o‚qo~n|q|r|q~qr~u€zƒ|‚wo€ml‚}ƒ~ƒ~ƒƒƒ~ƒ~ƒ€€„…~„‡‡~‡„……w‡rˆtˆt‡t‡uˆu‡w‡x†y…x…y„zƒyƒ|„|ƒ{ƒ{†z‰z†y†x†sn}i}n}nzr{rzqzozlzh{f{g|f~e~e~e€ifd|f~ik€€€‚‚€‚€‚‚ƒ€ƒ~ƒƒƒ‚ƒ‚„‚ƒƒ„ƒƒƒƒƒƒ„‚~ƒ}ƒ~ƒ|…}…}…„~ƒƒƒ€‚‚€‚€‚‚‚ƒ……„}…x…t€swx€zyyy~x~v~wv€tppo€m€kno€l€mˆ~‡†€ˆ~‰~‰}ˆ~ˆ~ˆ}ˆ}ˆ}‰|ˆ}ˆ}ˆ~‡~‡€‡†‡€‰~ˆ}ˆ}‡~†„ƒ€ƒ€‚‚‚‚‚€„€„€ƒ€‚€ƒƒ€„€†€†‡€…„ƒ‚€Š…€ƒ€ƒ‚‚ƒƒƒ‚„‚ƒ‚„ƒ€ƒ€ƒ{v€‰|‰~ˆ‡ˆ‰~‰~Š~Š}‰}‰}Š}Š|‰{Š|Š|‰|ˆ~ˆ€ˆ‡ˆˆ‰ˆ}‡}‡}†„ƒƒƒ„„€„€ƒƒ‚ƒƒ„€…€†‡‡…„‚‚„€Š€…€‚‚‚€‚ƒ„€„€…€†€†€†€†€‰|‰|Š|ˆ††‰‰~Š}Š}‰}Š}Š}Š|‰|Š|Š{‰|‰}ˆ}‡‡†‡€ˆˆ}‰}‰~†‡…ƒƒƒƒ€„ƒƒ‚€€€‚€ƒ‡€ˆˆ~‡~…‚ƒƒ€‚€ƒ€‚€‚‚€‚€ƒ€„€„€†€‡‰}‰|Š|Š|‰}ˆ~‡€‡ˆ~‰~Š}Š~Š}Š}‰}‰|Š|‰|‰|‰}‰}ˆ}ˆˆ‡Š~Š|Œ|Œ}Ž{Œ{‹|Š|ˆ~‡…€ƒ‚‚‚‚€€€‚…€ˆ~ˆ~‰‡€„‚€ƒ€‚ˆ€ˆ€€€€‚‚ƒ‰}‰}‰}‰|Š|Š}‡€†€‡ˆ‰~‰}Š}‰}ˆ~ˆ}‰}‰|‰|Š}‰|ˆ}‹}Ž{{’{‘{‘{‘~‘‚‘}’|‘{‘{’{‹~‚‚‚‚‚€€€€‚€…€ˆ~Š~ˆ†€ƒ‚€††€‚€‚~ˆ‰~‰}‰|Š|Š}Š}ˆ†€†€‡‰~Š}‹}Š~‰~‰~‰~‰~Š}Š|‰}Œ}|‰}†}†}ˆ~‰‚ˆ…‰ˆ~‡~ˆ~‹}‹}…‚€‚€‚‚‚‚‚‚€€‚„‡~‡~ˆ‡ƒ‚€‚€‚‚‚„€„ˆ‰}Š}Š}‰|Š}Š~‡†€†‡‰~Š}‹}Š~‰~‰~‰‰~Š|ˆ~‰ƒ|}{|zzƒ|„|„{‰xŠyˆ|ˆ|‰|ˆ|ˆ~‡…€ƒ‚‚‚‚ƒ„‚‚‚‚‚‚‚€‚‚‚ƒ€‡‡~‡}‡„‚‚ƒƒ€†€€ƒ€ƒ†€ˆŠ~Š}‰}Š}‹}Š~ˆ††€ˆ~Š~Š~‰~‰}‰~ˆ~ˆˆ~‡~†}†|ƒ}ƒ|…{†y„{„|ˆy‰zƒƒ€Š|‡{‡~‰~‰~‡„€ƒ€ƒ‚‚ƒ‚ƒ‚€€‚€ƒ€‚‚ƒ†€‰~ˆ}‡}†‚‚„}ƒƒ„ˆ‰~‰}Š}‹}‹}Š~ˆ†€†ˆ‰~‰}‰}‰}‰}ˆ~ˆ~†~†}‹|ˆ€…„‰{‹wŠx‰y‰y‰}€~‚ˆ~†|…}‰}Š}‰~ˆ~…€ƒ€‚‚‚‚‚‚€‚‚‚‚…€‡‡~‡‡~†€ƒ|†|„‚‡€‰‰~Š}‹|‹|‹|‹}ˆ~†‡ˆ‰~ˆ~‰~Š}Š~ˆ~†~†|Š{…€~‡…~ŠyŠzŠzŠyˆ{€ƒ~†ˆ~‰{…|‰~Š}‰}‰}‰}‡~„€‚‚€‚‚‚‚€‚‚‚€‚„€‡ˆ|‰}ˆ~}’}‰~‚ƒˆ€‰~Š}‹}‹|‹|‹}Š~‡†€‡‡~ˆ~‰~Š}Š~‡~…~‡{‰z†~‚†|‰yŠz‰{Š{‡|~‡~ˆˆ|‹z…}‡}Š~ˆ~ˆ}‰}‰~‰~‡ƒ‚‚ƒƒƒ‚€‚‚€‚‚‚„†ˆ}|ƒ„}ƒ}‚…ˆ€‰Š}‹|‹}Š}‹}Š}‡‡€‡ˆˆ~ˆ~ˆ~†„~„|…}†}†~†|‡{†|†}†}„~„…†}Š{‡}‡~†€…€„~‰}‰}‰}‰~ˆ„€€‚‚ƒ€ƒ€ƒ€ƒ€ƒ€‚‚€€‚€‚€‚€‚‚…€v„„ƒ|ƒ‚†‰‰~Š}‹}‹}Š}Š}Š~‡†€†‡†€…†‰~‰~‡ˆ~ˆ~ˆ~‡‡‡‡ˆ~ˆˆŠ}Œ|{|…€…€‡~‰~ˆ}‰}‰~‰~‡~…ƒ€‚ƒ‚€ƒ‚€‚€‚€‚€‚‚pz‚€‚}‚}‚‚‚ˆ‰~‰~Š}‹}Š}Š}‹}‰~†€†€ˆˆ~†€ˆ~|‘|Ž}|Œ}‹|‹}‹}‹~‹}Œ}}Œ||Ž|z‘z‡~†ˆ~ˆ~‰~‰}‰}‰}‰~ˆ}ˆ~…€‚‚‚‚ƒƒ‚‚€‚€€h{l|{}{Œ‚„‚‰‰~Š}‹}‹}‹}‹}‹}ˆ†€†€‡~‡~‹{Ž}|}‹|Š}Š}Š}Š}Š}‰}Š}‹}Š}‹|‹|Š€‹}ˆ~‡†‡ˆ~‰~‰}‰}ˆ}‰}ˆ…€ƒ€‚‚‚‚‚‚‚‚€‚j}h{p~|‰}ˆ~ƒƒ†‰Š~Š~‹}‹}‹}Œ|‹~ˆ†€‡‡|‰ƒ„ˆ‚‰~‰}‰~‰~‡†‡ˆ~‰~‰~Š~†€|ƒˆŠ~ˆ~ˆ……‡‰~ˆ}ˆ}‰~‰~‰~ˆ†ƒ€‚€‚€‚‚€‚‚ƒƒ‚‚kj|j|v€€‚~ƒ}ƒƒ‰€Š~Š~‹~‹}‹}‹}Œ}‰~‡†…€ˆ…„~‚…‡‡‡‡†€‡ƒ‡€††‡€†‚ƒ…ƒ‚‡€‡ˆ~ˆ‡€ˆ€ˆ‰~ˆ~‰~‰~‰~‰~‰‡„€‚‚€€‚€€‚„€……€n€mm~sƒƒ€‚}‚}ƒ…‰Š~Š}Š}Š}‹|‹}‹}ˆ~…€„„€…€‚ƒ‚ƒƒ‚ƒ„ƒ‡††ƒ‚€€‚€ƒ‚ƒ„‚„€†‰}‰ˆ€ˆ€‡ˆ€ˆ~ˆ~‰~‰~ˆ}ˆ~‰}†ƒ€‚€€€‚‚€†€‡€†€oƒl€i|ny‚€~‚}ƒ€‚‡‹~Š}Š}‹}Š|‹|‹}Š}‡…„€…€„ƒƒƒƒ„ƒ‚‚„‚„……ƒ„‚€ƒ€…€…ƒ…ƒ†ƒ€†~‰}‰~ˆ~ˆ…„ˆˆ~‰~‰~ˆ~ˆ~ˆ}ˆ~‡~…‚€€‚€…€ˆ‡ijhyh|k|z€‚}}‚ƒ‰Š~Š~‹}‹}‹}‹}‹}Š~…ƒ…€†‡€†€‡…€„€„€ƒƒ‚……ˆ~‰~‡€†€…€ƒ€‡~‰}‰}‰}‰~ˆ~‡‡€‰‰~‰~‰~‰~‰~ˆ}‰~ˆ~†€‚€‚€‚€ƒ…‡€nn~iygyeys„~•|ˆ~‚…€Š~Š}‹}‹~‹~‹~Œ~Œ}†‚„€†‡~†}‡}„‚€€€€€‚†€‡}‡…€ƒ€ƒˆ~‰}ˆ}‰~‰~Š~‰‰ˆˆ‰‰~‰~‰~‰}‰}ˆ~ˆ†ƒ€‚‚ƒl€j~gygwfxk}{„‚‹…}‚€‡Š~‹}‹}‹}‹~Œ~Œ~‡~€ƒ€„€„€„€…€‚…†ƒ‡‡€‰‰†ƒ„„€‚ƒƒˆ~‰}‰‰‰€ŠŠ‰€†€ƒ€‡€‰ˆ~ˆ~ˆ~ˆ}ˆ}‰}ˆ~†ƒ€‚€‚f€g~gzgxgxhyq~€‚}‚|‚‚‚Š‹}‹|‹}‹}‹}Œ}ˆ~€€€‚‚ƒ€ƒ‚‚…‚ˆƒ‰‰‰‡€†…‚‚„€…€†€‡~Š|‹|Š|‹}‹}‹}‹}‹}Š~‡‡€‰ˆˆ~ˆ~ˆ}ˆ}‰}ˆ}ˆ~‡ƒ‚€‚€‚hh~gzfxewgwfyu€‚ƒ€‚}‚‚ˆŠ}‹|‹}‹}‹}Œ|‰~€ƒ‚‚‚‚‚‚ƒ…†…„ƒ‚‚ƒ‚ˆ|y‘w“v”v”u•u•v•v•u•u•v•u’yŠ~ˆ‰‰~‰~‰~‰~‰}ˆ}ˆ}ˆ~‡ƒ€‚€‚ih~gydwgyhzgzs~€ƒ‚‚‚…Š}‹}Œ}‹}‹}Œ|Š}‚‚€‚€ƒ€‚‚€‚€‚€ƒƒƒƒ‚ƒ„ƒ‡}x–w—w—x•x“y“{“|“|“|“|’{’{’z}‡€…‡‰~‰~‰~‰}ˆ}ˆ}‰}‰~‡ƒ‚ih~f{exh{i|h{n~|‚‚‚}‚ˆ~Œ}Œ}‹}‹|ŽzŒ|‚€€‚€ƒ€ƒ€‚€‚€‚€‚€‚€‚€ƒ€„€„€Š{Œz‡}…}„}ƒ~ƒˆŠ‚Š€ƒ‚~~‚~‹{‰~ƒƒˆ~‰~‰}‰~‰~‰~‰}‰}‰~†ƒ€j€j}j{i{h}h~h~jt€‚‚}‚ƒ‹~Œ}‹}‹|‹|Š~‚€‚€„€„€‚€‚€‚€‚€‚€‚ƒ€„€…Š{‡|||y~y}w}€}‹xŠx‹z}}y}z}y~}}‰zŒ|ˆ†€ˆ~‰}‰}‰}‰}‰~‰~‰}ˆ~‰‡jƒji~h€n„k„h‚jq~‚‚‚„}ƒ‚‡‹~ŠŠ~‰‡€ƒ‚€‚‚‚‚ƒ‚‚†~‹}‡}}|~|{…|ŒxŠyŒx€|z}‚ˆ{‹|Š}ˆ~ˆ~‰~‰~‰~‰~‰~‰~‰~‰~‰~ˆ~kˆnˆm‡nˆp†p†m„p…t†|ƒ‚~š}Ž}‚‰Š~‰~ˆ~‡€„„ƒ‚‚‚‚‚‚‚‚‚‚‡}Š}†|‰}ŠŠ‰~Š{‹xŠtŒwŠ{‡~ˆ‚‰€Š|‰{‰|‰}‰}ˆ~ˆ‰‰~‰~‰~‰~‰~‰~‰}ˆ~ÑÑÑÐÐÑÑÒÑÑÑÐÏÏÏÌÆÉÅÎÏÏÐÑÑÑÑÑÑÏÏÏÏÏÏÏÏÏÏÏÍÎÎÍÍÍÍÍÍÎÏÏÏÏÎÍÈ¿¶±§£–ƒtjnymlkmoueidX`c^^g_U\a`aWRPU\Zaf`eTVWXVWTT\VRX`a]YUME=9<<632@3ÐÐÐÐÐÐÐÑÐÐÐÏÏÏÎÊÅÈÄÌÏÏÏÐÐÐÐÐÐÏÏÏÎÎÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÎÎÎÎÏÏȸ ¨›y„|‚va`bs}p^`plh\Z[\`[YWQ_ha]SQQRZY^hihQW^b[RPLSSZac]XPOK@A76642077ÐÐÐÏÏÐÐÐÐÏÏÏÏÎÍÉÃÆÂÊÍÎÎÎÎÏÏÏÏÏÏÏÍÍÍÍÍÌÌÌÍÍÍÎÎÍÍÍÍÍÎÎÎÎÏÏͤŒ‹rppqnoprw{bccfe\\[\]]TUW^e\[[XVSWUW^ieSSY\UNPORS_ebc\QGB@<952330.2ÏÏÏÏÏÏÏÏÏÎÎÍÎÍÍËÃÆÃÌÍÌÌÍÌÍÍÌÍÌÌÌËÊËËÌËËËÌÌÍÎÎÎÎÎÎÎÏÏÏÏÎÎÎη™”|nux|x‚€ggc`i[bgf\\XW`[TZfgTRUXYTPNWP\jRQUY[QMSPQ[c`bWUUOH?<85331..ÏÏÏÏÎÎÎÎÎÎÎÎÎÎÏËÂÃÃÎÏÏÏÏÏÎÎÍÍÍÍÍËËÌËÊÊÊÉÊËÌÌÌÌËÌËÉËÌÍÍÍÌÌ;”‚‡vcn~ndh`bcYke[YUUO]bacqp\ROV^VNJURS[T\]ZWOQRV[`XXZRPZQJ>@A<520-+ÍÍÍÎÎÎÎÎÎÏÏÏÏÏÐɼ½¾ÎÐÐÏÏÐÏÏÏÏÏÏÏÏÎÏÎÎÎÍÍÍÌÌÍÍÎÍÍËÆÉÌÍÍÌËÉÇŤ‹|}rh`mrpe_c`Z^aWR]TTR\hgiifjXRWZTRTUSSXS\_cWUVRZ\_ZYUTORPI>@>5561.3ÍÍÎÏÎÏÏÏÏÏÏÏÏÏÐǽƿËÐÐÏÏÐÐÏÏÏÏÏÏÏÏÏÍÍÍÎÎÎÌÍÎÎÎÎÍÊÆÊÌÍÎÏÍÉÅÄ´›{~sgXUea]`ba_b`YUSLOW[acgk`^UQPPPKUSUQ`MVV[[X[[a]^YSRUPRLFC>@;431/3ÎÎÐÐÏÏÏÏÏÏÏÏÏÏÏÆÁÍÂÉÏÏÎÎÏÎÎÎÎÏÏÏÏÏÏÍÍÍÎÎÎËËËÌËÈÆÅÂÈÇÊÍÎÌÅÀ¿¯‚|tWTQSOWZnrhbd\ZODAPYT^cc^XUSLNLILIRMZPSVVXX\]\]aZTPUOYPCGA>?40/--ÎÎÏÎÎÏÏÎÏÏÎÎÎÎÏÆÃÍÂÆÎÎÎÎÎÎÎÎÎÏÏÏÎÎÎÎÍÎÏÍÍÊÈÈÊÄÁ½Ã¾ÃÁÆËËǽ±¨«vt_WWZZjj`qhhbWWSRUUfVO\]UNWZTMJGOQS[ZSQZ\VTZZWPVZURXQYYA66220/.--ÎÎÒ×ÕÏÌÍÍÍÌÌÌÌÌÃÂÊÂÅÎÎÎÎÎÎÎÏÎÎÎÎÎÎÎÏÏÏÏÍÆÃÃÁľ¼°ÀºÀ·ÁÈ¿µ¥‹Š€qŠ}g]a\^fnXo_W_UPUVa_XPPSZSPTVZOMMVTT]j^PXYWWVV[SRZYZ^^MD>8540..---ÐÛêïìâÒËËÇÃÃÅÇÊÃÁÈÂÃÌÍÎÍÌÍÍÏÎÎÎÍÍÍÍÎÎÎÏÎÆý¶½º³¤¼¶Àµ¸Â·¾µ™†|{niecedV\e^Ve]U[^QTTX]VVSOPPLMNU\WQUQSSe[O[[XSNPZXZUXRNJ@8>=;71.----ÞîÜÃÑíéÎļ·´º½ÃÃÅÊÆÅÌÍÌÌÌËËÌÍÌÌÌÌÌÌËËÉÈÈÄ·°ª¯³© ­°»°µ»¯¬¡ƒvyvmjS`g\ZeZR\i`Z`[LQSU_bcUQNMLOSMVXLOUPT^^\c^VPLPZWYWPQXJBC><;951/.-,çߧ“¡ÊÛƺ¶³³¸ºÁÃÈÍÊÆÍÎÎÏÎÍËÉÌÍÌÍËÊÊÈÅÄÁÀ´£žœ¤§œš¢¯°¬¯ª¦™‚tnmimo_XZVaaWX_^]bXRXTTUWaZRTQNSWSTUXRQXQT[aY`Y\\W_`TUZXUR@?H<86776200.Ÿ„‚}~{~~€…¢ÄÇÌÉÄËÎÎÏÎÌÈÄÊÍÍÍÌÈÆÀ··¶º­ —œ™•£´¯«¢š“xkfgVibSMGPX`YTR`jabra`b_UYOQQPQSXSVRUZS]PQ_`_i\e`libTQOMKK@>@8866554/12u„”•’gW[Um‘„y©ÆÈÇÁÊÎÎÍÌË»ÈÌËÊÇ¿°¥Ÿž¥§ž˜Š•œ”’Ÿ±¯ž““‘„vefjZ`VPSQR[a`]kp`SXeOXsq]ROKNNLHJMOPNNRZU[`VTZZbi_^ZQJNIFECHA8655344024–²­±¿œgQu¸ÖâÛÉŽ‚ÂÈÇ»ÄËËËËÈ¿¶ÆÌË·ªžŸ–š˜‹‘„—•‹‘–Ÿ‘‹‹‹„€xvqcZVZ]YPZ^WU^j^SQ`ihca^URMKJHIGGFHOMS_]Y]WQ^kihV`VOUTKJA@A9854324438=q`HWž¤„lz¾ÑÖÒ¾zp°Ç¾®´º¶º¹Ç¾±Ãɾ±¤¡›œ¢––†‚…‹Œƒ‹ŒŽ†„‚†‚€zxpcXWUU^ZVZVT[iSRQ`igTS\YTNMNKLJFKJJRV]dT[SRntehac_U`ZWVH<;;97443364;B{`€„œ¤~¡«qSZVOo’µ¥£¢£¨«·ÇÆÂÈÍÄ»¯ªŸ› •–†„…‚‚‡z…‹‰…‚~€vrqkeYQ\j\RWSV`[O[]`bZSSSTSMLQSMPTRGCLPVbRRN`cdb\fl\SS^ZFSE<;<9555499;>~ªÁ§y46”NEKR=fuŸš Ÿ±ÔÚÙÕÓÒÒÑÒÖ×ØÈœ˜’‰ˆ„ƒƒ{Š‡‚€|~{zrkjf[XZSZ_ZU]\`[V\\]_\VQKXVNMPLCEGFA?GIJSLTT[^c[dq^`Q[`[JFCA>=956669=?=e\b}lO96GUT†rC8Ug¢sv¨³Žymd`a_`_bgs…’‰ŒŠ†ƒƒ‚{‡~xzxttomhZ^dceZRTZX^^cZU]UZ`]WSLOLOJCDFA@GHEBRIWY\Ybcc]SeeWXYTMIFG;75668<>GFPA>;@J?>@Q[ndJ@EK¦xS¹š@DGILaOJMLLH@›ƒ‘‹ŽŒ…„ƒ…}‚{zwsuupjdX^fb\RVPR_geeYPTTk^eZOSSPJIDITKCKMNFQR^`[O\ffeVbfXOX`TFBB=;8768ZŸ˜Š‰€‡‹…€‹ƒ{~zwwxzucWR\Z]X[YP[\_ahhjosmS^_VOSQGFFQXRRPQRJKW[_[NO_\a``jiW`VB::==<:;9:>>>;f`^^]^^]\[[[]]aektÃíÃXYEB:;GHL?78;:?”¡¹Ÿ‡„Š}„Š‹ˆ‰ƒ~zxx|wwq_X_aUZVVZcZPOat„vf\_gTVNLSSNNJC@NVSTWUP_fff\T[[_]U^YVWH<99;<78::9>==?>>_eONNMNOOOOOOX}eŽ’Ì¿¨¦©­°°±±±°¯¯ª¦¦´ÇÙ¦zz‡†€z}€xtwyzvqmj^UNLZY^UUZ^]ZJZa[^Y[bYLNTPOJMPPRUWYX]of\\][X[YSXOPNA874`}98988;BFDFÐÙmW`cf“Žfd^V‘îÑíÑb«ÕÖÔÕ×ØÚÚÛÛÚÙØÖÔÑÙ½‚|€}~~„€€~yzrpyz}tjceUTVFBPYXW[\OKKWZ]^V\g`TNMKMPOPKIKNXY[`c\`ZWTXOKOJB=9886XŠ@889<?>=DIB?M]mk^NRhSHA;;:7;;99>8zÞ^3>DSSJV__nŽnSWZLB;677<@BA>A=~ìm7@9;DJOYcUYHkzwsqqusFZ…UCHWïìììììíîîíîíìëììëð»tr}{|~}xv‚‡€txxshgkt|iXWWTRSOUZQQ\^]Y\e`[OSTPIFLPJ=>NVPhojyŽj]_SJC>:;@GMIB=@:‚õx:>5IV\TYbgqf\Z\bfimompf\hyxqmfklX‹ô‰WTZwwsvmh7=EJIHHPOLIFHI?3466dÛØÂ¥ÂñÀ˜––“§éÜ¥´Ñ߉x‚‚~w}~vz}xzqe[bieacbVX\[USQPNU]ZU[[TNRZWSUXYq‚zdmyo]UY^_bejho†ƒƒˆ|†ŠŠŒ™º–’Šƒ}uvsimpokiigddcdfhpsH*27K³àÚÖÚÚÕÖÛÝÕÒÐÏÐÕàËl{~€ƒxx€xsx|~rxofb`ic^d`Z[WWSS[\QPZXNLOS[[Z\fy„‡‰fdtnURZ]]]_hlmv‚€€yw}Š”“‘Ž‰‹ƒ€puqnqjvuvvwxzzz{}€~Q)06Xl{‚“˜Š‡›¨¡…ngnqqtic|xw|vv~vuzwxstonoknmotqoplp{Š”ˆŒ†„®—~…€}€nbnpcV\``^\ajilvjhehfw…‚‡‰†‡‡|uekrnkhUTVWY]abaabccci\NPX|‚€~}‚‰–“†ƒwxy{|yxvussrsuusrrpoonnnqsuxy{{{xwvxyyz{‚ˆ‘›¬¸µª–‡{smonmnmjgc^]^\\b`YZ^__djmhifdfstmspjclypuyonlllosuuuuttssvz|~€€~~}{yxwŽŸ sqsvxxxxxutrqrrtttroljjjjklnrtvwxvuuusrtsrqu|…‘ ®²°¦œ~shggfca]ZW[YXWYZY\ZZZ\ZXYZZXWWYR^^gv|upmmlkmoprssqqpooqty{|}}~}}}|{xvt|†|‰¤—wnpsuvwwutspopppppnmljhgfggjloptvvwvvsqopppnoqv€Ž ´À»¤‰ulijjhd`_]XVTUVUTVYadVWY\WYXUTUYV[{wrnkjjklnpqppppoopqsvxyz{{{zzzxwvrq••†„uqqstuvwusrpmlklmmlkigfcdeefimpsuwwwvtpnmnpqqqnp˜±¿¿°šƒskjlgdccZV[VVUVZZUUW]UWWZYXXUUzywtoljijkmopqppqsrsssstvwxxyzzyzywurom¦£|mnorstuvvwwvrljmlmmnmkjiffeddfikosvwyywvspmlnqrqpouƒ›µÆÁ¦ˆtijlkkgfca]ZVUUUSUUWV[YWZYZxxwwurmighilnoooopqrrrqqqsuvwxyyxxxvsrqooow¦´•onopqrtuuvrkmjiklmnnmigedb```bglpsuuwxwurliimpqpljm~¡ÄͲˆrkjllkkigc_\XVTSSVUVZVYYXwxwwvvsojggijklmmmnoppqpnoprtuwxwwxvtsrqqqs‰“Šljloqrrsttlqrmkjjjnpnljfddcbbachloqsuvwwwtniilnpqqnkx”²Å¿£†rllmlkiifb^[VTTRW]TVVUuvwxwwvtpkgffhjkkklmnooonmmnpqtuuwxwvutrqrrmmo~ª¶Žnnonnopkpqomkjhiikmnmidccba``bejmprtuvwwuqmiiloponjlzš¼ÌÀ¡‚rmlmmjgffcc`\XUVUTTqtuvwuutrnieccdfghijlmnnnmlkmnoprttuvuttrqqqqos™…mosw{~ƒ‚Š‹ŠŒŒ‹ˆƒzupmlnkfecaab`^`dhlpqstuuuurmggjknnmjhl†±Íί‡rrnljiiihggeb^WUXmoqrttuusrnidbabcdehjklmmmlkijkmooqstuttsttrpoy€‹š¤©¬±²´´±±²°°°¯¯²³°©£›yoomjecddca__ejmoprtuuvurjeehklmlifh±Ðϱ‹smnmkigghhggc_^klorsuuuusrokfbbbbcehijkkmlllkjllmpsstuttttsvŸ«©¬«¦šŠ‚|xrkjjjiikpx~…†‹loppnkhffheaabgjloqrsuvvtqkfeimnmmkgk‚©ÊжŽunnnljihgggfcikmpsuuuuutrokgecccdegikkllmmmljjlnpqrtttttqŠ­‡yqh`ZURV]ax¡¦‚kcYTRQROOLkthloqpmjhghhebacfjmnprtuuutrlgejlnnomgg{ŸÃмš|nmnmkjhhggdhkmprttuuusrpmiebccdfiklkllmnmljjklmoqtuttr‹‚OJJLOQWXRVVf{v]MHSnmliaT@Djgdfjlnnlgeeddca`beimoqstuuvuslhgilnonkihq‰®ËÊ®‘vnmnljjj_cgjloqrrssssqnlgbabbbdgjjjkllmlmjiiklnprsss‹UAV^kvƒ‹ƒC671-,5;:IdeffdhZ>Okgecdgjkjhebabb_^^`dgjmopqstssplgfikllmnmhi|Ÿ¾ÍéŽxqqom€\cgjmopqrrssrpokfb`aabdgijjkkllmlihhikmoqq|…?Iu‘š¡©­ª}lU>68AIHE@>@>66EX@fmkgdbcfikifb``_^]]]^_beilnppqqpokhedhjklljgfk|¢ÌÕÄ›vkmÂu]ejjmopquvttrrokfcbaabegijkjihijkjgfhjlnnˆmATz¶¶·ºº¶²«®Švy‰ZD<33;A:45fQSpmkgdbacgggeba_^^^]\\\^adgjkmmmnnmjc`dfhjjjjhedz§Î×Á”p̾p_fhjlmorstsssqnjfca`abeghihiikklkihfhjlmQ^OO¨®¥š†zv½³{´uC36NZQ<42XtCkmmmjga`cfhggdba``b`^]\^`cgjlnpqqqpnhbbehikllljgg~§ËÕ¼¿Ñ²_]dgikmnputrsrpnjfca``ceeghijkkllkkhfghq‰D{C2CE@94@DFWagfjxP.>fzbM44@‡K`mmmmkgdbcfhkjhecbccdc`^^aejlnpqrssqqojedfjlmmkkjefyŸÉ±ÄП\`dfikmnqrrrrqpnkfbaacdeghhijjklnoolhf{zM‚6247888DHIGGHGFJB@95447DHENHXayU34,IœPbmmmmnmllkhdccfjljifca_^``^^^_bgjmprsssrrrohccejllmmlY}µÀа_]egjllnpqrrqqqomiecbaabceeffijjlnmk†K’S4?9d‰‘›S;312238>8EL{—›a452;–jUmmmmmlkllljgdbdhjjjiea_```_^]]`ehkmnprrrttsniddfjkllZ_†»ÄÑš[behjkmnpqqqqponlhdbaaabcdefhhjlmml|O˜GBMBcœ¡¦^KD412321078m¢–U9222|ŒIklmnmmkllmlkiebbehjkjgda__^^^]]^_bfiloqrssrrrpibcfhkRJS”½Å̇Y`dhjklnopqpoonmkfcb`abcddeehijlilm`•FLMKJp|kPJJB=>=<98:Nt›ŠJ@:60e¨Kfkga`gkjklllkjfcabeijkjgb_^^___]]]^bfknoqrqqrsqnhccf^SL\¢½ÆÅuV_bfhjlnnooppomljfda`acddeehjilmkYuIQZI‰škEGFFFGGGEDF|—¡sG??>0]¬G\lC::?dkjjkllkigdaabgjjihd`_^^_^]\[[_dilnopqrrrrrnhbgZPJg®¾Ì»i\aegikmmoopqpoomjgc``abcde]HCE„uGvNzElVFEIMW\^]OTQS\bz~VF<791IZ3KO9?<2_jiikklkjjifb`adgjkkhc`^]^__^\[^behlnnopqstsrmlbQMKy¹ÀЫ`^cfijkmnnoqqpomljea```bceF6>8jhBHRCZU6?BB@HSXSOLHC:<<8O]SPSE5667A<4202@fhhhjklkklkigebachklmlhd`^^`ab`]\]agjlmoprstssnqcRLO½ÂÒ–Zadgiklmnopqqnmmkgc`__`bdB/664:4333345546864787;:9:=BO;.:NUdhgghjjkkkkkkjifb`bgilmlkgb_]_bba_[[^diklnopqrrknw^OK[¤¿ÊË}[cfhjklmnoqqonnljfb`^^acZC:41.O[=<98887766677666667777777888:;>J;Fcjhfggghhhijjjjijkifb_adhklmkhd`^__`a`^[\`fiknoqqqsrngYQKj±ÃÏÄp^egjklmnnoppponljea_^_acfev‹CGY;;998677666776775566666677899:8=RPQ\js…’¶É¨™…oaZZUPJC?:52102akiihhhgggfdeedddeefffffghgfghgfcca]]bgijkjgc_]\\poofjmpuspkSKLL„¿ÁÓÇmaggijkmmmnnnnonmjhC-002358=AIR`o±ÁÉÑáêàØ×ÐÉžk\NHEB=720.3ekjjhhhgghhgfedddeeffgggghhgghhgfec`]]bgjklkida^]mfekglsurtu_LL]l¢¿ÅجcegiklmmmnnoopoomjJ+-/467:>AIO[vˆâíìîîíëíîîï𛉅vl^MA82//5hllkhiihhgggffc`abadfghgghhhiihhhgec`^^aejlmmjic`gnkippmnqvrmTJOPb¯ÀËÕ`ehijlllmmnoooonlQ+-/027>DO]qˆ»’Úããìëëëëììí뉰š‡u_J?81/.9klmkhiihhgggffcŽ¾À¤fdffffhghiihhhhgfda]]`fjmnolhdzutrwsmmonjlfMJKK{¾¿ÏËt^effiikkkmnnoonnV,,0.05;?IXk§™Úóðòóóòòòññèz†pbTLS>93/-=mlklegjiihhgggezÎæàœaeefgggghhhgfgggedb^]bgknomljy€rmlmjlnqjcOJNMPœÀÄÖ­^adfghikklmmmnooX../.157Q[B@DMJš¾±§—‰„€wh800.8—Ú}I>/.@mmkldekjihhggggfryspdeefffffhggggggggeda^]agjmmnmrwtwunqjpqpnleYNLIk¼¿ËÔ}YbdfgijkkllmmnoY/2/.6FYÈÓe85:MQ?CEKLONQTV[\mut~Çö¦F6.-Dlkijdbgffedddddcbb``kjdffeeghggggfffffda`_]_dilnnowvxworkknmnqujQKLR¡ÅÆظdbfiijkkkkllmloY/8//1@mé×—}‡“¬­œ¢§®´»¼¼º·¯£Ÿ‹mg„žd0**.Mrvx}{|‰ŠŠŠŠˆ†…€}zsjm‘}egfeefffffeeeedddcba^[^dimnmwqpnlnnjlloopjSKKJqÁÆÏ׉^dfhijjkklllloZ.<..-5E~‚hINV\[XYXZ]][YUMC>::8?MHNcw‡—¥­¯²´±±µ´´´´³´´²±±¯ c_deddeffffffffeeeeedca][^ejlnlnwsomoppikmkjVKMMPÇÇÔ»a^beghiiklllloZ,>/.,/13@G;:@F;67752///257:<=>C†¡©µ±­ª¤ œ™˜•”‘‹ŒŒŽ’Ÿƒ``bbaeffffgffghffeeedc`]\_ejlnruoooqtsnjnnhTMLMJl¾ÇÎÖŠ^efijjjkkkkljT*>.,+-1258>@AABFGILX„eQNJGC>9=‡¶”‰ƒ}zwuroommllkjkkkkjkkm‡t ¼¾”bffffeefggffeeeedca^\^eomnpuwvtvnmppmrfQJLKP›ÊÊÔ¾icfjlljjkkkd[I)>1-++.//0133366567:F941.-,,(Q³ljieaaa`_\[Z[\Z\__^_`__^^_[ex˜èðç”bddeddeffeeceeeecb`^\`lrwvqutoqmmliktdLLLLLi½ÉÍÖ–_ehjjjjkjgZUI(<6//6++,+*)))))*)))(*****++2–¥kU_cgimnsx€‰•¯º š–‘‹…‚€€ywupšº¸¥eaabccdeeddccdeddcb`]\tywqlmoqpkkmxuvh_YLLNPÊÈÒÊrcgijkhdcaZVJ';733VM?93110+*+++*+++,14:A@^¸‹jc~ˆ‡‡~€‚€d_eNHg‡Š‘ŽŽŒ‡|zRub_[_b`abccddcdddcceddcba`]kkmidaells{yuwojpfRLNSa·ÈÈצcfhjkhgghcWL-:5704HB>:453,*+**++-.165673v¦uY~£«·¾ÄÇ͉N<::>W»àÞÝØ×ÜÚÛ‘zRcj`aabbcddcddcccdccdddccbb_qomnlvqukwtwvv~~m]SLKNM„ÉÃÑÓƒbfggehgecZH3:3431-)(('(''''&&%&%%%$$$".…–\]„Æßßààßààá‚^gZZSO¯æßáÜÓØÝã—`pMmcbbcdeccdeedcccbbcddddcb`ˆ~„{y}zllq{zz|th]RLKMLV©ÈÈظdbccceeca^S?4.///$$#$$$$%$%%%%&&'''))%D‘NllÑßÜÜÜÜÝÝÛu^caiPM¤åßÞ×ÓØàå”A€Lfgbbcbbcbddddddcbbcccccccb‹v€zvtknvpljpjcdbVLLL_fƒ¿ÃÌØŒ^abcccc`]YN>77776887889;;;;<=<<==>@?<`œJtNËäßßáááàÉdRPRTQO‹ææéæâÛɺo3q_Vdbbbabdddedddddbccccbbcddƒ€{yzurudahr|sknhZMLLYa]žÂÂ׿e_acbccb^[UOKIIGGHJJJJKKMMLNNNOOOONOOp¢nOr?o€€ƒ‡Œ•yUVSuwRS_¢ª“€kYF=D@A<520-+ÎÎÎÏÏÏÏÏÏÐÐÏÏÐÑ˽½¾ÎÐÐÐÐÐÐÏÏÏÏÏÏÏÎÏÏÏÎÎÎÍÌÌÍÍÎÍÍËÆÉÌÍÍÌËÉÇŤ‹|}rh`mrpe_c`Z^aXR]TTR\hgiifjXRWZTRTUSSXS\_cWUVRZ\_ZYUTORPI>@>5561.3ÎÎÏÐÏÏÏÏÏÐÐÐÐÐÑȽƿËÐÐÏÏÐÐÏÏÏÏÏÏÏÏÏÏÏÎÎÎÎÌÍÎÎÎÍÍÊÆÊÌÍÎÏÍÉÅÄ´›{~sgXUea]`ba_daYVSLOW[acgk`^UQPPPKUSUR`MVV[[X[[a]^YSRUPRLFC>@;431/3ÏÐÑÑÐÐÏÏÐÐÐÐÐÐÑÈÂÍÂÉÏÏÎÎÏÎÎÎÎÏÏÏÏÏÐÏÏÏÏÏÎÌËÌÍÌÈÆÅÂÉÈÊÍÎÌÅÀ¿¯|tWTQSOWZnrhde\ZODAPYT^cc^XUSLNLILIRN[PSVVXX\]\]aZTPUOYPCGA>?40/--ÏÏÐÏÎÏÏÎÏÏÏÏÏÏÏÇÃÍÂÆÎÎÎÎÎÎÎÎÎÏÏÏÏÏÐÏÏÐÐÎÍÊÉÈËżþÃÁÇËËǾ±¨«vt`WWZZjj`qhibWWSSUUgVP\]UNWZTMJGOQS[ZSQZ\VTZZWPVZURXQYYA66220/.--ÎÎÓ×ÕÐÌÍÍÍÌÌÌÌÌÃÂÊÂÅÎÎÎÎÎÎÎÏÏÏÏÏÏÏÏÐÐÐÏÍÅÄÃÁľ¼±ÀºÀ¸ÁÈ¿µ¦ŒŒ‚r‹~h^a\^fnXo_W_UPUVb_YPPTZSPTVZOMMVTT]j^PXYWWVV[SRZYZ^^MD>8540..---ÐÜêîíãÒËËÇÃÃÅÇËÃÁÈÂÃÌÍÎÍÌÍÍÏÎÏÎÎÏÏÏÏÏÏÏÎÆþ¶½»´¤»µ¿µ¸Ã¸¿¶š‡}|njfdfeV]e^Ve]U[^QTTY^VVSOPPLMNU\WQUQSSe[O[[XSNPZXZUXRNJ@8==;72.----àîÖ¹ÆééÏż¶µº½ÄÄÅÊÆÅÌÍÌÌÌËËÌÍÍÍÍÍÍÍÌËÊÈÈÄ·°ª¯´© «¯º±¶¼°®¤…wyvmjSbh][fZR\i`Z`[LQRV`cdUQNMLOSMVXLOUPT^^\c^VQLPZWYWPQXJBC>;;:61/.-,èÛŸ‘ÄÚʺ¶´³¸¹ÀÄÉÍÊÆÍÎÎÏÎÍËÉÌÍÍÍÍÌÌÉÅÄÁÀ´£žœ¥¨œš¡¯¯¬°«§š…tnmjmo_YZWccXX_^]bXRXTTVXbZRTQNSWSTUXRQXQT[aY`Y\]W_`TUZXUR@?H<76776200/°–ˆ…‚|}€{~‚‰“·ËÍÉÅËÎÎÏÎÌÈÄÊÍÍÍÌÈÆÀ¶·¶»­ —œ™•£´¯¬£œž”ylggWjcTNHPXbZTR`jabra`b_UZOQQPQSXSVRUZS\PQ_`_j^f`libTQOMKK@=A8866554/13v~–•{W[V`Š’Ž‰|ŒÇÊÇÃËÍÎÎÍËüÈÌÌÊÇÀ±¥Ÿž¥§ž˜Š•œ”’®¯Ÿ””“…wfgk\`WQTQQ[ba^kp`SXeOXsq^SOKNNLHJMOPNNRZU[`VTZ[ci_^ZQJNIFECHA8665344024®®¯¼²zTb ÐßáÔ±u®ËÇ»ÄÌÌÌÌÉÀ¶ÆÌÊ·«ŸŸ–š˜‹‘„—•Œ“œ‘ŒŒŒ…€xvqd[VZ^YPZ_XV^j^SQ`ihca_URMKJHIGGFGOMS_]Z^WQ_kjiV`VOVTKJA@A9854324438=956679=@>___n€VB6?QRk‰P<;HD=>FXerPDAGwµLr»SCJLL]`KQQOMGKž‰’ŒŒ……„‡~‚|zwsvvpjfX_fb\SWQS_gffYPSTk^eZOSSPJIDITKCKMNFQR^`[O\fgfVbfXPX`SFBB=;8768@\c_]JABD;‚“Š—Š‰‘€‚ˆŒ‡€‹ƒ{~zwwy{veYR\[]X\YP\\_ahhjosnS^_VNSRGFFQXRRPQRJKW[_[OO_\b``jiWaVB::==<:;9:>>>;kc```]^^^]]]_``eioéÜ|OMCA7?@DB77897_ »º‰…Š}„ŠŒˆ‰ƒ~zxx|xyq`Y_aUZVVZcZQOat„vg]_gSVNMSTNNJC@NWSUWUP_fff\T[[_]U^YVWH<99;<78:99>==?>>OSPNNMLMKNOOON[]^v´Ä½¯²¶¹»º»¾½¼¼º·³µÃƼƒ}‚‡‡€z}€xtwz{wrmj_UNLZY^UUZ^^ZJZa[^[[bYLOUPOJMPPRVXZX]of\\]ZY[ZSXOPNA874cy88988;BFDF¬ÅƒV^ceojgb]]ºÎÇô‡|ÍØÖÖÙÚÛÝÞÝÝÜÜØÖÓÔØ–x€~~‚„€€~yzrpyz~tkceUTVFBPXXX[\PLJWZ]^W]g`TOMKMPOPKIKOXY\`c\`ZWTXOKOJB=9886Yˆ>989<?>=CIHERT…äöóðñïîñññôöÜwQL>sçäæëáèâÓÔãÛÖÔèåêâàæxzy}~{}}ƒ}yzvnkqjiee^ird\OR]\WSV\Yc[X]i[QKDBABEA?>DIB?M]mk^NRhSHA;;:7;;99>8vÜZ3><@DJJCXOq°ÅÒëìììêêêǶžkMFFkáíëëêëìççëçäèìëëìîç’u~{z~}y|€ƒy~|siknmhc__Z_]POWWPPV_]\Z^__VUMH?AHIB>DSSJV__nŽnSWZMA;677A=yèc8@9;DJOZdIvmIW}}ywz[FvwFARf×îìîîëíððîïðîëìîìîâˆp}{~}xv‚‡€txxtigkt|iXXXTSSOUZQQ\^]Y\d`[ORTPIFLQJ=>NVPhojyŽj]_SJB>:;@GNJB=@;~ñm;>5JW^VZbhqf\Z\bfimonpf]jzyrnfklXŒò}XTZwwtvmi69DJKKKS\PNJIKH8677?¥çÒº´áé­žœš›ÕñÀ«Éà¾uƒ‚~w}~vz}€y{qe[cheaccVX\[USQPNU]ZU[ZUOSZWSV[[s„{emzp]UY^`bejho€‡ƒ„ˆ€}†ŠŠŒš»–’Š„uwtjfhhb]]^ZY]^ceip`0/4;sÉÌÁÆÍÈÉÒØÓž»»»ËЉn€€ƒyy€ysx|ryofbajc_daZ[WWSS[\QPZXNMPU\\Z\fz„ˆ‰geunURZ]]]_hlmw‚‚€wv~‹•“‘Ž‰Œƒsvrmqj{zz{z{}|}}~€€v2.1Ebh~Œ…€Š•—‚h`hnkgbZuzx}ww~vuzwyttpopknmotqpplp{Š”‡Œ“’‰Š“¯˜}…€|€ocoqfX]a`^\ajilvkhegfx€…‚ˆ‹‡‡‡€}vfkrnkhVUUWWZ]^_`a``ab`HHHcƒ‚‚…~‰––‡’„yz}~~{xwwttstuutrsqppopoqsuyz{{{ywvxyy{}~†š¨¸´ª—‡{smoonoolgc^]^\\baYZ^__dknijgegstnspkclyouyklkkknrtvuussrstwz|~€€€}|zxw~ŽŸ Žsrswxyyyxwtrrrsuutspnkjjjklnruwxxvvuvtttsrqt|„ ®²°§~shggfba]ZW\ZXWZ[Y\\[[]ZXYZZWWWZS^^hv|wspmmlmpqrttsrqpoqtx{|}~~~~|{{xvt|†|‰£™ynptuwywuvtqopppqqonljhhfghjmprtvwxxvtrppppoprvŽŸ²½º£ˆulhjjhd`_]XWUUWUUWYafWWY\WYXVTUYW\{zvolkjklnqqqqqqpooqsuwzz{|{{{zxwvrq~”—„‚uqrstuvwvtsqnllkmnlkjhfcdefgimqtvwxwvtpnooqqrqno|”¯½½®–skjlheccZV\VWVV[[UUW]VXW[ZYXUUzzyuqmkjjlopqqqrrtsssrstwwxyz{{yzywurom|¡¡~mmorstuvwxxwsojkmmnonljiggfedgjmptvwyzxusqnnpqrrqos“°Ã§ˆtjklkkgfca][WVUUSTUWV\YXZYZxxxxwtokhikmoooopqrrsrrrrsuvwyzyyyxvsrqpnmu ±“onopqrtuvvunkkjklnoomihfebaabdgmqtuuxyxvrmiinqqolikzÃδ‰rkkllkkjgc`]YVTSSVUV[VYZYwxxxxwtpjhgjklmmmnpoppqpnoprtuwyxxyvtrsrrqq‡“Šlikoqrrsttqnrnkkjknpnljgeddcbacimortvwxwwuojkmnpqqokw”´Æ¿¥‡rklmlkjjgc_\VTTRW\UWVVuwxxxxwtqlhfgijkklnmnoopommnpruvvxywvuttrrrnmnª°nnooortqottqomkkmnmpokfccca`abfjmpstuvxwuqmiilopomjm{™»ËÁ¢ƒrmmmmjhgfdc`\XUWUTUrtwxxwvuspkfddegijljlmnopnmlmnpqstuuvuttsrrqqou’œŠomlnnnonkpoonmkjiklnppmifdabc`_`dimpqsuuuwvrmggikmnnkim…®Ìα‹trnllkjjihheb_WVYmprtuuvvtrpkebbcegihjklmnnmkjjknoprsttuuttusqqpkijpz|y{„†‰Ž‹…~vpnoqqokfdeeda_`fjmoqstvvvurkedhknmmjgg|®ÐÑ´‹snonljhhihhgc`^lnprtvvvvtrokgddddefhjjklmmmlkjllmpsttuuuuutrpv‹™ªÂõ²³³³±±±²±°¯¯±²°©¤npqpolhgghfaacgknpstuuvwvrlgfimnmmlgk€¥Èзvooolkjiihhfdjkmqtvvvvvtrplheddddfhjkkmmmnnljjlnpqsuuuuuurˆ¬©¨ª¥œ”Šƒ{wtmgehiiilox††‘€hnoqqnkihihfcbdgknpqstvvvusmhfjmooomigxŸÄмš|nnnmljihhgdilnqsuuvvutrpmjfcccefjlllkmnnmljjlnopsuuuvut§™}oia[WSRZbh¢›ti_\WSRQQMQxnehjnonlhffedcaacfjnprtuuuvvsnhghlnoonlhq‰°ÌÊ­wonnmkkj`ehknpqrstttsqnmhcbbccehjjjlmmmlnkjklmnpstttw–aJKKNRU[VQRTdrhQJHbqolf_L=Noifdegjljigcabb`__aehjopqrstutqmggikmoonlhj~Ÿ¾ÌŬzrqom€\dgjmopqrrstrqolgbabccehikklklmnljihjkmprss€{?LZdp|ˆ‘k7961./79=@;79OOGmmkhdb`cgggeca_^^^^]\\^beikkmnnonnjdadfhjkkkjecv£ËØÓpÌ¿p_fhjlnpssutssqnkgcaabdfhiiiijkklljhghjlntGRT¤¶¶¹»¹µ²«­xy{‡OC925>?83>oBbnmmjgb`cfihgdba`bc`^]]^aehjlnpqrqpnhcbeijkmmmlhg|£ÉÕ¼ÀÒ²_]dgikmopturstqokgcaabdefhijkkklllliggik|Bl8ƒ²©‘ƒ{qÇ™s•²j>2@ZXK645rZPnmmmkhdbcfikjhedddcdcb__cgkmnprsstrqpjedgjlmnmljgevœÈ¯ÄО\aegilnnqsrssrqnkgdccddfhhijjjklnoomkih†gVo0:GA;55BDM[ced[O;2Oxo^>51Z}Elmmnomliecfilkjiheccdcba`adfilnqstrstspjfegiklkklkgeu~¸ÈÐ[bfijlmprssssqpnkfcdddeghhijjjlnppppmjRu^/35798;HHIGGHGFH<@My}aD4tœžK`omnooolkfccgkmnlifcccddb__`cfjloqsttusrojdcfijklllkgP”¼ÈÉt[cgikmoprsssrqonjeddcceefgiiijkmnoonpŠGŠJ046Og]3PzœhOnmnnonmlkhecdgjlkigdb`ab`^^_`dhknprstttrrpiccejlmmmlYz±Àб_^fhkmmnprrrrrpomiedbabbdeffgijklnonu|O‘>234l£M@?7554;HIGQH\lr@42+kŽHkmmmnnnllmkhdbdikkkifdaaa`__^^aeiknoqsrsuutniddfjkllZ[~ºÄÑš[bfiklmoqqqrrqpomhdcaabbdeefhhjlmok{kc‰6:<>=<98=V… sC=945ŒŒJkje`aijjklllkihebacgjjjhd`_^^___][[_dilopqrsssrrnhchZPJc¬¿Ì»i\aegilmnopqrrponjhdaaaccdegijkmhmM bKYQa‡ŽSFGFEFGGGECTš›\E=A:2„’>jg=:8Kjikkklkjkjgc`aehkkkhc`^]__`_][]bfilnoqrrtutsnmbQMKv¸ÁЫ`^cfiklmnopqrqonljfa``acdeeSDA]Ž\H¡e[‘`VqKGGJPXY]XMYMZ_l…sMD9:73XK5WN8@7;gijkkllllljhfbbdillmlhd`__abc`]\]bhkmnpqstutsnqcRMN½ÃÓ–Zaehjlmmoopsronnlhca```ce[7<64423346458865978<:9;>FN2/?NVghghhijkkkkjjkjgc`bdhklmkhe`__`aaa_[]bgjlopqrrsrngYQLh°ÃÏÄq_ehjklmnopqpponlkgb`_`bbL=62.7bF=;99888667676666677777778899:<@J6Pfigeefghhijjijjjlkjhea`agkmmmmiebaabbc^\]_dhkmoprtnnnhVWiŒ¾ÉÖ¶ibgjjklnnoppqppnlieba_`befh‰f2_E;:998887666766665566777778999;>H;Yjeehkhdgghjjijjjklkkjeb``ejmoomkgeeccccc`\]adhkmonornj[PST”ÅÉÔ¡^befhjlmmnooppomlieb^_`bcm­¯CVA9998767665666665555566666677898@DQefo¾ÚÐŒbfghiiihikjjkjheb``eimoonmjgddccdc`\\]aeikoutqpgSMKY¨ÆÍÒ‡[cdghjlmmnnopommjgda__`ai ŸHM:787755655544444356544554555536PSO^aifˆ°«™feefghgghjiijjigdc`_afloopnjgedcba_]\[[]`ervsvwyjVPKq¾ÈÓÁh_dghiklmmnoponnmjgb___``…y^PNA13445434442347F754444334441P‰¤‰OXaihfc`adffeggfegiiijijigfc`__elononkhdb`^]][[\[[^qqommnf^TMOšÅËÖœ[beghikklmnnnnnnkhda__^emsjW”Œ†I023223333347C64334333342J§®ž§d9WjhhgfecŽvcfgfefhiiihhiihfdb__cjmnmkheb_]\\ZY[[\\oighhac_UNKi·ÄÐËu\cjjijkkklmmnnnljgc__^hdV\{°¡Ê¥I10022233455355443222//C†¤¢–n-Jihggfedgfbbddeeeggggffghgfda^]`fjjiihda^\\\[[[[[mijkvqjdTMMMŠÁÇÖ°^`gghijkkklmnnmmlhfb__[h98‡š§¤¢•N..2200127;L>83379;?PK™Ð¿±Ì Z,;giggggfeilobbddcffggggfhhgeca__`ejjkjhf`]\]]\\[[ppijtrtlTNMK[¬ÃÍÖ•bbeghikkklmnmmmljhea_R^9/i­É®Æå´g{POPTZ[BQÏw>\pnaZZ›¥êðåÃÔE-7fjhghhgi¶ÚÞªgcddfghhhiihijigeca_agkllljfb\]^]]]\jtmjqrush[OLKyºÂÑËq_fghikkkmmnnnmmljgc`TI4,PšÔÀáíí±¢m`ab‚²[qÊ‘M{hib`m­ÃôäâÉÊU1-9gjhghhheŠÎÍÂ{`eefgggghiihijhhfca_`ehkkiif`^^^___v{qnsrposrZLLQ“ÁÆ×®adghikkklmnnmmllkifb\@1,7XÇÄÏÓêÒ¦„Z]bZ^Q®ôÕci_ism‡»­±—kTM1.-;hjihhhggdkiefcdfefgggggggghhhheb`^^agiiiif`^]^^^trnkpokjkmfNKJ_¯ÁËÖ‹_fgijkklmnnnmmmmlid\=2-/2IONv‰„”²cqxxiZ¦óØ|gvyxmzz@AI6310*-8410/610-BmkkkiihhgggffcŽ¾À¤fdfggghhijiiihhgfdb^]agkmoolhd{uurwsmmpnjlgNKLKv½¿ÏËt^efgjjkllmooppomg7+-/15:AHTey°ŸðÝëëëëëëëìòLJ´’‚oYG>61/-HomkkjjiihhgggezÎæàœaeffggghiihggghhfdb_]bhlopnlky‚rmlmjnorkcPJMMN—ÀÃÖ­^adfhhikllmnnoonj;+.//29>DRby“³£ôíðòòóóóóòöÃzreTMH9600,Opmlkghjihhggggfryspdefffgggiiggghhhgeda^]bhkmnomrxuwvnqjpqqoleZNLJgº¿ËÔ}Ybdggikkklmmnnnl=../.35;TIDHPYeþ¹³©Ÿ›’‰„}\230.H±»XG70-Snmllefjiiiigggfeec`ljeffffgiighhggfggeb`_]`ejlnnpxwxworkkmmpqukQKLQÆÇظdbfhikkkklmmmnnm>1///@F}Ùš>237MC?>?DBFHHGKPUfhk‰ãîxB3..Vnlkledjiiiiggghhhhn~fgfffgggggfffffgfdbb_\^ejmnoxqpnlnnkmmoppkTKKKmÀÆÏ׉^eghjjjklmmmmnm;620.:Hªõº‚{‰”µœ—™›¦©¯³´´¯¬¤¥†qw›¦U5.,,Sljiidaihhhhfefeeddf``eeefefggffgffgggfedcb^[_fkmomowsomoqrjkmkkVLMMO˜ÈÇÕ»b_dfhijkklmmllm;84.-19d—\O]bhdgjggjihf^SLC?;8LQ:0.3>Io…”•”–¤¤¤¤¤¤£¢¡ž—zjaadcdfgggfgggghhhgfeeca^\`fjmoruooorttnknniTNLMKg»ÈÎ׋_ggjkkkklllllm:67/-.02;JC7=AF556530-..1458:==;Ibw“ ­²³³´³²®¬¬ª©©¨¨§¨¨ª¬¯¥ t¢¼¿•cgffffffghggfffeeca^\`eqnnouwvuxpnqpmsfQKLLN•ÊËÕ¿jehkllllllllli867,,,/247<@@A@BEGJKc|VNKJHFB=;Vª¬©«¤ ›˜•‘Œˆ†„ƒ€€€€‚‚„…‚Œ‹œéðæ–cddeeefffefeffeeeca_]`msxvqutqrnnmjlueLLMLLf»ÉÌÖ—ahijkllllliaY359.,+-/0013446878;;FN;641/--,A£©„ƒ|wvspokhffdedccccacccccav{˜µ²£fabcdeefefeeeeeeecca]\tzxrlnpspklnyvwh_ZMMNPŒÉÇÑÊueijklkkkjbUU32;2,2.+,,+***))**)*)(*)**)*+)n±aba_^^^_^^aekqlmmmlmlklkkkfc{h\[^babccceededdddfeedcb`]klmidbells|zvxpjpfRMNT]²ÈÇ׫gijkkjfeb]WU31:6.FUB83/./,**++*++++-037=?I¯™cXiqtwx{„Š•›®À•–“‹†ƒ‚€}|lvbaaccdedeeedccdddeeddcbb`qomomvqukvuxwv~~m]SLKOM}ÇÄÏÖ‰diikihggf]T92856,EHA<411-)*+**+,-/578::5k´‚jj†‡…ƒ…‰Œ}R:A86Y•¢©­©§ª§¢ƒ‚Kmlabcefedefedddddcdeeedcbaˆ~…|z}zmls|zz}uh]SLKNMS¢ÈÇ×½hdehffghg`R:673411,*)(((''(('''''&&%&&$&~ŸjW†Ÿ³¹ÃÊÏÖÚáTNFCFQ±çããÝÙáàã§ofTqcbcbcdcdeeedddccddddddcb‹v{vtknvpmjpjcdbWMLL`g¼ÄÍÚ‘_bccdded`YF81/.1)###$##$##$$##$#$$%%'#8ˆ’UdÐáàààßÞÞà€ambdWN¢æààÛÒÖÝâ§P~Ijgbbabeedeeeddedceedccdddƒ€|z‚{urudbir|sknh[MLLYa[™ÂÃ×Ãg`accccc_\TB5566544334466677998789:<=9Z–‰KpgÑßÜÜÝÝÝÝÚs[a^dNLåàÞÙ×ÚÝà¢9{V\ibdcbgijgefggeeeeeddcddd†{‡z†z†z†z†z‡z‡z‡z…z†{‡z‡z†z†z†z‡z‡z‡z‡z‡z‡z‡z‡z‡y†y†z†z…{ƒ‚}„y„vƒt„t…s†w†yˆx‡z‡z†z†yˆ{‡{ˆzˆw†t†x†y†z†{…z…y…y‡z‡|„~ƒ€‚‚€‚€‚†y†y†y…y…y†z†z†z†z…y†z†z†y†y†y…y†y†y†y‡y‡y†y†y†y†z…y†y†y…{€|‚xƒvƒtƒt‚u„u…v†y‡x†x…y…w†yˆz‡y†y†w…u„w…v…x…z…z…x†w†y†{„~‚€€€†y†y†y†y…y†y†z†z…z†y†z†y†y†y…y†y…y†y†y†y†z†z†y†y…z…z†z†y…z‚~€€‚{ƒv„w„wƒw„w„w…y…z„x„x…w†z‡z†y„xƒx„w„v„uƒx…y†y‡x‡x†y…yƒ|‚~‚€€€†z†y†y†z†y†y†z†z…z…z†z†y†z†y†y†y†y†y†y…z…z†{†z…{„|…|…z…z…zƒ}€€~ƒz…y„x„w„w…y…|„{„x…x†w‡z‡z…z„{„yƒwƒv„v„x…xˆxˆyˆz‡y…z‚|‚~‚€‚€€†y„|ƒ|…z†z…z…z†z†z…z…y†y…y†y†y†y†y†y†y…y…{…|„{ƒ}ƒ}„}„|…|ƒ}‚€~‚{ƒy„w„v„x…z…{…y…y…z‡z‡{‡{…{…{…z„uƒu„x…y‡x‡y‡z†z…x„{‚~‚€€‚€ƒ|€‚ƒ~„|„}„}…{…z…z…z…y…z†z†z…y…y…z…z…{„}‚}‚~‚‚‚~ƒ}ƒ‚ƒ‚~‚|ƒy„x„v„x…z…{‡y†y†{‡}‡|…{…z…y…x„u„v…x…z‡{‡z†z†y„zƒ}‚‚‚€€€‚€†€ˆ€‰‡ˆ‰~ˆ~‡|…{…z…z…z…z…|†z…y…z…{…|…}‚€€€€€€€€€‚„|…}ƒ~ƒ~ƒ{„z…y„v„w„w„x…y‡z‡|‡|…|…{†z…y…w„w„w…w…x†w†y†z†y„{ƒ~‚‚‚€‚€€†|„z†y‰{‰zƒ|„}†}…{†z…z…y…zƒ}…{…{„~ƒ‚€€‚~ƒ~‚~€€‚~„}…{…|„|…|„z„y…x…w„yƒv„u…y†z‡}†|„|…{…{…y„x…y…x…w†u†u†x…y…y„|ƒ~~€€€†x~„wˆs†t‚|‚€…}…}…}†|†|„}‚ƒ~‚‚}„{†|†|…|…|ƒ|ƒ|„~‚~ƒ|…{‡z‡z…|†z…z„z„x…x„zƒw„x…{†z…{…|…|„}ƒ|„z„w„x…y…v†t†u†w…w„xƒ|‚‚€€€‚ƒŒu…~†|‹zˆy„…‡|„€„…€…………‚ƒyˆwˆw‡x…zƒzƒy„|„{…z‡z‡x†y†{†y…z„y„x…x…y…y…y†{„{„|…}…}„}ƒ|ƒzƒyƒx…x†w†u‡u†v…vƒv{‚~‚€€‚~‚wzz‘zy‹{Š|Žy‹|ƒ€‚‰}Š{Šy‰wŠyŠ{‰~~„wˆv‡x…{„{ƒx…z…y†x‡x‡x†y…z†z†{…z…y…u…w†w…w…z†{…|‡}„}ƒ}ƒ|ƒzƒzƒy…w…x†v‰u‡t…v‚v{‚€‚‚‘z“y’x‘y‘y‘x’x’y{†€ƒ‡}ˆ}‡|‡|‡}‡}ˆ~‚}…w†x†y†y…u†v‡v‡w‡vˆwˆz†{…{†z…z…y…u…u…v…w†y‡{…|…}„~„}…z„yƒy…v…w‡x‡x†w„wƒy‚{~€€~‚~ƒ…††‚†}‡ˆ†…ƒˆ†ƒ…‚€„„ƒ‚ƒ€„…ƒ€|…w†w†v†v†r‡tˆuˆvˆuˆwˆz†|…}„z„y„x…{„{„y†z†y‡z†|†}„}…}„z„y„x†v‡wˆw‡xƒxy|‚‚‡‚}„|†~ˆ€†‚ƒƒ„ƒ€…}‰€ˆƒ‚€€€€€‚€‚€€€|…v†u‡tˆt‡s‰sˆu‡t‡uˆwˆy†y…z„y„y„z„|…{†z‡z‡yˆ{‡}…~„}„}„~ƒ{…x‡xˆxˆx‡yƒ{~€€‚€‚ˆ‚€~‚}„{†~…€…€ƒ€‚€‚€„Š…‚€‚„~„~„ƒ€€|…t†s‡sˆs‡r‡s‰tˆt‡u‡v†x…u„x…y„x„{„z†y†y‡yˆzˆ|‡~„„ƒ‚~ƒ{…v†wˆx‡x†zƒ~€ƒ}„}ƒ~€}‚|…x…€‚…}†}‡~‡}‡†€†‚‚€‚€€‚€‚€‚€€€€|†t‡s‡s‡rˆq†sˆtˆv‰u‡u†w†y„y…y„zƒz„y†x‡x†x‡z†}…~„„ƒ~„|…w…rˆs‡v…w‚{€~~}}~‚}ƒ~ƒ{‚w„qƒ€ƒ~„}…}…~…~„ƒ‚‚~ƒƒ~…}ˆ}ˆ~„ƒƒ{†s‡t‡sˆsˆs‡sˆu‡wˆx‡u†w…x…x†y…zƒz„y…w‡x†y‡{‡|…}ƒ{ƒzƒyƒv‚p‚o‚qo~n|q|r|p~qq~v€zƒ{‚wp€ml‚~ƒƒ€ƒ€„ƒ‚~‚€‚‚€€‚~†~…|†}‡~ˆ„……{†r‰tˆt‡t‡u‡t‡v‡x†y…x…x„zƒyƒ|„|ƒ{ƒ{†z‰z†y†x†sn}i}n}nzr{rzq{ozlzh{f{g|f~d~e~f€hed|f~ik€‚€‚‚‚‚‚ƒ‚ƒƒ€ƒƒƒƒƒ‚‚ƒƒƒƒƒƒ„‚„‚ƒ~ƒ~ƒ~ƒ|…}„~„„~ƒ‚ƒ€‚‚€‚€‚‚‚ƒ……„}…x…t€twxzyyx~w~u~wv€sooo€l€j€lnl€mˆ~‡€…€‡ˆ~‡}ˆ~ˆ~ˆ}ˆ}ˆ~ˆ}ˆ}ˆ}ˆ~‡~‡€‡†‡€‰~ˆ}ˆ}‡~‡~„€ƒƒ€ƒ‚‚‚‚€„€„€ƒ€‚€ƒƒ€„€…€†€†€…„ƒ‚€‹…€ƒ€ƒ‚‚ƒƒƒ‚„‚ƒ‚„ƒ€‚‚€{v€‰{‰}‡ˆˆ‰~‰~Š~Š}Š}‰}‰|Š|‰|Š|Š|‰|ˆ~ˆˆ‡‡ˆ‰‰}ˆ}ˆ}†„€ƒ€ƒƒ„„€ƒ€ƒƒ‚€ƒƒ„€…†‡‡…„‚‚„€Š€…€‚‚‚‚€ƒ„€„€…€†€‡€‡€†€‰{‰|Š|‰~†‡‰Š~Š}Š}‰}Š}‰}Š|‰|Š|Š|‰|‰}ˆ~ˆ‡‡‡€ˆ‰}‰}‰}‡†…„„ƒƒ€ƒ€ƒƒ‚‚€€‚€„‡€‰ˆ~‡~…ƒƒƒ€‚€ƒ€‚€€‚€ƒ€„€„€†€‡‰|‰|Š{‰|‰}ˆ~‡€ˆ‰~Š~Š}Š}‰}‰}‰}Š|Š|Š|‰|‰}‰}ˆ|ˆ~‡‡€‡€ˆ~‰~‰ˆ‡‡†€ƒ‚‚€‚‚‚‚‚€€€‚…€ˆ~ˆ~ˆ~‡€„‚€ƒ€‚ˆ€‰€€€‚€‚€‚‚‰}‰}‰|ˆ{‰|Š}ˆ†€‡ˆ‰~‰}‰}‰}ˆ}‰}‰}‰|‰}Š|‰|‰|ˆ}ˆ~Š~‰~‰}‹}Œ}}Ž}Ž|Œ}‹}ˆ~†‚‚‚‚‚‚€€€€€‚€…‡}‰}ˆ~†€ƒ‚€††€‚~~ˆ‰~‰}‰{‰{Š|Š}ˆ~††‡‰~Š}Š}‹}‰~ˆ}‰}‰~Š|Š|‰|‰}Ž{y’z’z‘{{‘€‘‚‘~‘}‘{‘z‘z‡‚‚‚€‚‚ƒ‚‚‚‚‚€€€‚€ƒ‡~ˆ~ˆ‡€ƒ€‚€‚‚‚„€€„ˆ‰}Š}‰|‰|Š}Š}ˆ†€…‡‰}Š}‹}Š~‰~‰~‰~‰}Š|‰|Š}Ž|Š}ˆ}…|†}‰~‰ƒ‰ƒ‰}‡}‡}ˆ}‹|Š~†…€ƒ‚‚‚ƒ„„‚‚‚‚‚€€‚€‚„€‡ˆ}‡}‡„‚‚‚ƒ†„€„†€ˆŠŠ}‰|Š|Š|Š~ˆ††€ˆŠ~Š~‰~‰}‰~ˆ~ˆ~ˆ}‰}ˆ‡}||y|z{ƒ{„{…z‰x‰zˆ|‰|ˆ|ˆ|‰~‰~‡„€ƒ€ƒ‚‚ƒ‚‚‚€€‚ƒ€‚‚ƒ†‰~ˆ}‡}†‚‚€„}„ƒ„ˆ‰~‰}Š}Š|‹}Š~ˆ†€†ˆ~‰}‰}‰}‰}‰}‰~ˆ~‰~†~‡|„}‚|„|‡y…yƒ|…{Šx‡|€‡}Š{†|ˆ~Š}‰~ˆ~…ƒ€‚‚‚‚‚‚€‚‚‚‚‚…€‡ˆ}‡~‡}†€ƒ|…|„‚‡€‰~‰~Š}Š|‹}‹|‹|‡~†€‡ˆ‰~ˆ~‰~Š}‹~‰~ˆ~…}‰|‹}…ƒ†€‹wŠx‰x‰xŠx†~}‚ƒ‰}…|†~Š}Š}‰}ˆ}‡~„€‚‚€‚‚‚‚‚€‚‚‚€‚„€‡ˆ|‰|ˆ~}’}‰~‚ƒˆ€‰~Š}Š}‹|‹|‹|Š}‡†‡ˆ~ˆ~‰~Š~‹~Š~†~…}ˆ{Š|€…ƒ‰zŠzŠzŠyŠy…~}†‚ƒŠ|‡{…}Š~Š}‰}‰}‰}‰}‡ƒ€€‚ƒƒ‚‚€€‚€‚‚‚„†ˆ}|ƒ„}ƒ}‚„ˆ€Š~Š}‹|‹|Š}Š}Š}ˆ‡€‡ˆˆ‰~‹}Š~†…|‰zˆ{‚‚€ˆz‰yŠzŠ{Šz„€{Š‚ƒ‹z‰{„}ˆ}‰~ˆ~ˆ~‰}‰}‰~‡„€€€‚€ƒ€ƒ€ƒ€‚€‚€€‚€‚€‚€‚‚…€w„„~ƒ|ƒ‚†‰‰~Š}‹|Š}Š}Š}Š~‡†€‡€ˆˆˆ~‡…ƒ}…|…}†~†~‡{‡{‡|‡}†~‚€}†‚‚‰|Š|†}‡~†„†~‰}‰}‰~‰~‡~†ƒ€‚ƒ€€ƒ‚€‚€‚€‚€‚€‚pz‚‚}‚}ƒ‚‚ˆ‰~‰}‹}‹}Š}Š}‹}‰~†€†€‡‡……‡‰~‡~‡ˆ~ˆ~‡~‡‡‡€‡~ˆ~ˆ€ˆ~Š}|‘z‹~„…€‡~‰~‰}‰}‰~ˆ}‡}ˆ~„€‚‚‚ƒ€ƒ‚€‚€‚€h{l|{}{Œ‚ƒ‚ˆ‰~Š}‹}Š}Š}‹}‹}‰…€†€ˆ~‡€†€‹}{}}Œ}Œ|Œ|Œ~Œ~Œ}‹}Œ}}||Ž{’yŽ{…€†€‡‡~‰~‰}‰}‰}ˆ}‰}ˆ~…‚€€‚‚‚‚‚‚‚‚‚€‚j}h{p~|‰}‡~ƒƒ†‰~Š~Š~‹}‹}‹}‹|Š}ˆ~†€‡‡~‰|{Ž|}Œ}‹}‹}Š}‹}Š}‰}Š}‹}‹}‹}‹}‹}Œ€Ž|‰~‡†…‡€‰~ˆ}ˆ~‰~‰~‰~ˆ†ƒ€‚€‚€‚‚€‚€‚ƒƒ‚‚kj|j|v€€‚~ƒ}ƒ‚ƒˆŠ}Š~‹}‹}Š}‹|‹}Š~‡€†€†€‰}|‡‰‡‡‰}‰}‰}‰~‰}ˆ†~ˆ~ˆ}‰}Š}‰}ƒ…}ˆƒ‰}ˆ~‡~‡ˆ€‡ˆ}ˆ~‰~‰~‰~‰~‰~‡„€‚€€‚€‚€‚„€……n€ml~s‚ƒ€‚}‚}ƒ…‰Š~Š}Š}Š}‹|‹}‹}ˆ~†€…€†ˆ€€‹Š…ˆ~ˆ~ˆ~‡†ˆ‚‡†‡‡†€„…†‡€ˆ~‰ˆ€ˆ‡ˆˆ~ˆ~‰~‰~ˆ~ˆ~ˆ}†„€€€€‚€‚‚€…€‡€†€nƒl€i|my‚€~‚}ƒ€‚‡‹~Š}Š}Š}Š|‹|‹}Š}ˆ…ƒ€…€ƒ‚ƒƒ‚‚„‚„…†…„‚€€ƒƒƒ„„€ˆ~‰~ˆ~ˆ…‚„ˆˆ~ˆ~‰~ˆ~ˆ~ˆ}‡~†~…‚€‚€…€ˆ‡ij~gyg{j|z€‚}}‚ƒ‰~Š}Š~Š}‹}‹}‹}‹}Š~†„„€„‚„„‚„ƒƒ‚‚‚„ƒƒ……‚ƒ€ƒ€„‚„„…ƒ…€ƒˆ}‰}‰}‰~ˆ~‡ˆ€‰‰~‰~‰~ˆ~‰~ˆ}ˆ~ˆ~†‚€€‚€ƒ…‡€nn~iygxeysƒ~•|ˆ~‚…‰~Š}‹}‹~‹~‹~Œ}‹~ˆ~ƒ€„€…€‡€†€‡€†„…€ƒƒ…‚†€†ˆ}ˆ‡€†€„€ƒ€ˆ}‰}‰}‰~‰~Š~‰ˆˆ‰~‰~‰~‰~‰}‰}ˆ~ˆ~†ƒ€€‚ƒl€j~gygwfxk}{„‚‹…}‚€‡Š~‹}‹}‹}Š~Œ}Œ}‰}ƒƒ…€ˆ‡}‡}‡ƒ€€€€‚€…‡~ˆ~‡„€ƒ„‰}‰}‰~‰~‰~‰~‰†€„€‡€‰‰‰~ˆ~ˆ}ˆ}‰}ˆ}†ƒ€‚€‚f€g~gzgxgxhyq~€‚}‚|‚‚‚Š‹}‹|‹|Š}‹}‹}Š}ƒ€‚€„€„€„€„„‚‚†€……„…ƒ‡ˆ‚„„€„ƒƒƒ…€‰}‰}‰}‰~‰~‰}‰~ˆ~…€‡€‰ˆˆ~ˆ}ˆ}ˆ}ˆ}ˆ}ˆ~‡ƒ‚€‚€‚hh~gzfxewfwfyu€‚ƒ€‚}‚‚ˆŠ}‹|‹}‹}‹}‹}‹}„€€‚‚‚ƒ‚ƒ‚„‚‡ƒˆ…ˆ†ˆ„‰ƒˆ€†ƒƒ„€„ƒ„€‰~Š~‰~‰~‰~ˆ~‰‰~ˆ‡‡‰‰~ˆ~ˆ~‰~‰}ˆ}ˆ}ˆ~‡ƒ‚ih~gydwfxhzgzs~€ƒ‚~‚‚…‹}Œ}‹}‹}‹}‹|‹}„€€ƒ‚‚‚‚ƒ‚ƒ‚‚„‚„ƒ……†‚„ƒ‚‚ƒƒ‚†ˆ~‰|‹zŽzŽyyyyyyyzŒ}‡€…†ˆ~‰~‰~‰}ˆ}ˆ}‰}‰~‡ƒ‚hh~f{dxg{i|h{m~}‚‚‚}‚ˆŒ}Œ}Š}‹}‹|Œ|…€‚€ƒ€‚€‚‚€‚‚‚‚‚„‚‚ƒ„€ƒ…y“w–t–u–u–u—v—u–u–u—u–v–u•v‹~ƒƒˆ~‰~‰~‰}‰}‰~‰}‰}‰~‡ƒ€j€i}i{i{h}g~h~jt€‚‚}‚ƒ‹}Œ}Œ}‹}Œ|z†€‚€ƒ€ƒ€‚€‚€‚€‚‚€‚€ƒ€„€„€ƒ€‰{’x”y“y’zzŽ|ŽŽŽŽ~Œ~‹~‹~||ˆ€‡€ˆ~‰}‰~‰}‰}‰~‰~‰}ˆ~ˆ~‡jƒjh~h€n„k„h‚jq~‚‚‚„}ƒ‚‡‹~‹~‹}‹}}†€„€…€ƒ€‚€‚€‚€‚€‚€‚€„€„€…‹zŠ{‚}€~~}~€~ˆ}‹~‹~€~|~~~}}~‰{Œ}ˆˆ~‰~Š}‰}‰~‰~‰~‰~‰}‰~ˆkˆnˆm‡nˆp†p†m„p…t†|„‚~š}Ž}‚ŠŠ~Š~Š~ˆ…€‚€€‚‚ƒ‚…~‹|†|{|y}y}x|}‹x‰x‹y~|y}y~y~}}‡{‹{‰~ˆ~‰~‰‰~‰}‰~‰~‰~‰~‰~ˆ~ÒÒÒÐÐÑÑÒÒÒÒÒÒÑÐËÆÉÅÎÐÑÑÒÑÑÒÑÑÑÐÏÏÐÑÐÏÎÏÏÏÏÎÍÎÍÍÍÏÎÍÎÏÏÏÎÈÀ¶²§£–…tjq{llkmovfifY_c^^g_U\a`aWRPU\[bgaeUWXXVWTT]VRX`a]XUME=9<<632@2ÑÑÑÐÐÑÑÑÑÑÑÑÑÐÐËÅÈÅÍÏÐÑÑÐÐÑÐÐÐÏÏÏÏÐÏÎÎÎÎÎÎÍÍÍÍÍÍÎÍÍÎÎÏÐÐɸ¡©ž|„}ƒwb`cr}q^`qmi]Z[\`[YWQ`ia]TQQRZY_jjiQW_b[RPLSSZac]XPOLBA76642076ÐÐÑÐÐÑÐÐÑÑÑÐÐÏÎÉÃÇÃËÎÎÎÎÎÏÏÏÏÏÏÏÏÎÎÎÎÌÌÌÍÍÍÎÎÎÍÍÎÎÎÏÏÐÐÐΤ‹soqropnpw{bdcfh]]\\]]TUW^e\[\XWTWUX^ieSSY\UNPORS_ebc\QHC@<952330.2ÐÐÐÐÐÐÐÐÐÐÐÏÏÎÎËÃÇÃÌÎÍÍÎÍÍÍÍÎÍÍÍÌÌÍÌËËËËÍÍÍÏÏÎÎÎÎÏÏÐÐÐÏÏÎηœ”}mux~y‚‚jid`i\bhg]\YYa[TZfgTRUXZUQNWP\jSQU[[QMSPQ[c`bWUVPI?<85332.-ÏÏÐÏÏÏÏÏÏÐÏÏÏÎÏÌÃÄÃÍÐÐÏÏÏÏÏÎÎÎÍÍÍÍÍÌËËÊÊËÌÌÎÎÌËÌËÊËÍÎÏÎÍÌξ–‚‡yeooei`acZle\YUVP^bacqp]SPV^VNJURS[U\^\WOQRV[`XXZRPZPJ>@A<520-+ÏÏÏÏÏÏÏÏÏÐÐÏÐÐÑ˾¾½ÍÑÑÐÐÐÐÐÐÏÏÏÏÏÏÏÏÏÎÎÎÍÌÌÍÍÎÍÍÌÆÉÌÍÎÍËÊÇÅ¥‹|}si`mtqe`da[^aXR]TUS\hgiifkYRWYTRTUSSYS\`cVUVRZ\_ZYUTOQPI>@>5561.0ÏÏÐÐÏÐÐÏÏÐÐÐÐÐÑÈ¿Æ¿ÉÐÐÏÏÐÐÐÐÐÐÏÏÏÏÏÐÏÎÎÎÎÌÍÎÎÎÎÍËÆÊÌÍÏÏÍÊÅĵœ|~uhXUgb\aca_daYUSKPW[acgk`_VRPPPKUSUR`NVV[[X[[a]_YSQTPRLFC>@;431/5ÏÑÑÑÐÐÑÐÐÐÐÐÐÐÑÈÃÍÃÇÐÐÎÏÏÏÏÏÏÐÐÐÏÏÐÐÐÏÏÏÎÌÌËÍÌÈÆÆÃÉÉÊÎÏÌÆÀ¿°ƒwWTQSPX[nrhde\ZPDBQYT^cc^XUSLNLILIRN[QSVVXX\]\]b[TOTOYPCGA>?40/-.ÏÏÐÏÏÏÏÏÏÏÏÏÎÏÏÇÄÍÃÅÎÏÎÎÎÎÎÎÎÐÐÐÏÏÐÐÐÐÐÏÍËÉÈËżÿÄÂÇÌËǾ³¨«‚wu`WWZZki`rhjbWWSSVUgVO\]UNWZTMJGOQS[ZSQZ\VUZ[WPVZURXQYYA66220/.--ÎÎÓ×ÕÏÍÎÎÍÌÍÌÌÌÄÂÊÂÆÎÐÏÎÎÎÎÏÏÏÏÏÏÏÏÐÐÐÐÍÆÄÞ»±Á»À¸ÂÈ¿¶¦‚r‹h^a[^hnXp_W_TOUVb_YPPSZRPTVZOMMVTT]k^PXYWXWU[SRZYZ^]MD>8530..---ÐÜêïìâÑÌÌÈÅÅÆÈËÃÁÈÂÄÌÍÎÍÌÍÍÏÎÏÎÎÏÏÏÏÏÏÏÏÆþ·¾»³¤¾·Àµ¹Ã¸¿·›ˆ}|njfdfeW^f_Wf]T[_QTTY^VVSOQPLMNU\WQUQSTf[O[[XTNPZXZUXRNJ@8>=;72.----ÝîÜÅÔíèÎŽ¸¶»¿ÄÄÅËÇÇÍÍÌÌÌËËÌÍÍÍÍÍÎÍÌÌËÉÉĸ±«°´© ®±¼±¶¼°¯¦‡xzvmjSbh][fZS\j`Y`[LQRV`ccUQONLOSMVXLOUPT_^\c^VPMPZWYXPQXJBC><;:61/.-,ë់žÐâÊ»¸´´¹»ÁÅÈÍÊÇÍÎÏÏÎÍËÉÌÍÍÍÍÌÌÉÆÅÁÀ´£Ÿž¤§œš¤¯±¬°«¨›‡vomkmo_YZWdcXX__]cXRWUTVXbZRTQOSWSTUXRQXQT[aY`Y\\W_`TUZXUR@?H<86776200/×£Š†„…€€€„Š‘ªÇÌÉÅËÎÏÏÎÌÈÄÊÍÍÍÌÈÆÀ¶¸·»­¡˜œ˜—¥´¯¬£œŸ”zlggXjdUMHOWb[TQ^ibcq`ad_UZOQQPQSXSVRUZS\PQ`__j^f`libTQOMKKA=B8766554/13sƒ‹‡\[ZWuŽŒˆ€|¸ÊÇÃÊÍÎÎÍËüÈÌÌÊÇÀ±¦Ÿž¦¨ ž™Š•œ““£±°Ÿ””“…wfgk\`XQSQQZb`^kp`SXeOXsq]SOKNNLHJMPPNNRZU[`VTZ[cj`^ZQJNIFECHB8665344024o£¶·»¼Œ\W‚¿ÖàØÈ“ÊÈ»ÄÌÌÍÌÉÀ¶ÅÌËø«Ÿ –š™Œ‘“„–•ŽŒ“–‘ŒŒŒ„€xwqd[VZ^YP[_XV_j^SP`igda_URMKJHIGGFHOMT_]Y^WQ_kjiW_VOUTKJA@A9854324339=956769=?=Yfjt™nM69RYS…gC8\n«}‡¬¡eUNMLTNRPMOS^›‘‘ŽŠˆ„„ƒ{‡~x{yvupni[^eceZSUZX__dZU]UZ`]WSLOLOJCDFA@GHEBRHWY\Ybcc^TfeXXZUNIFG:75668<>GFOP>=;DI:;=QZt_D~š’ŒŒ†…„‡~‚|ywswvpjgY_fb\SWQS_gffYPSTk^eZOSSPJIDITKCKMOFQR^`[O\fggVbeXPX`SFAB=;8768;Ka__QA=C;[ –‹‘ˆŒ‡€‹ƒ|zvwy{vfZS\[]X\YO\\_ahhjotnS^_VNSRGFFQXRRPQSJKW[_[NO_\b`_jiXaVA::==<:;9:>>>;nkfedbcdcaaaacegkoqËè®IQAE:9=>B:6688C’°×§…Š}„ŠŒˆ‚‰ƒ~zxx|xyraZ_aUZVVZcZQOat…xi]_gSVNMSTNNJC@NWSUWUP_fff\T[[_]U^YVWH<99;<78::9>==?>>SWSMLKKLKKMLMMTaT|œÀ˽¿ÂÆÈÇÇÇÈÆÇÄÁ¾É¿Âš|‚ˆ‡z}€xuwz{vrmj^UNLZY^UUZ^^[JZa[^[[bYLOUQOJMPPRUXZX]og\\^ZY[ZSXOPOA874`‚:7988;BFDFºÉªW[`ceŠ|da]W’Ú¹éËeµÖØÙÙÛÜàáááááÜÚÚØÚÀ}~‚„€€~zzrryz~tkceUTVFBPYXX[\PLJW[]^W]g`TONKMPOPKIKNXZ\_c]`ZWUXOKNJC>9886Y‰@989<?>=DIB?M^nk^ORhSHA;<;7;;99>8€à^3><@EJJCXM`©ßãðòòñòóóé×ɇUJEN¾ïìëëëììêëëèèëëëëíð¾xzz~}y|€ƒ€x~}siknmhc__Y^]POWWPPV`]\Z^__VUMH@AHJB>DTSJV__oŽmSXZMA;667A<„ìk8@9;CJO[eEd~giœ«©¨¨¦¢ˆUcƒWCGZ®ðìííììîîîíîîìëííìï²p~|~}xv‚ˆ€txxtigkt|iXXWTSTOUZQR\^]Y\e`[ORTPIFLPJ=?OVOhojzj^aTJB>:;@HNIB=@:‰õs<>5JX`V]fjrf\Z\bfjmnnpf]kzyrnfklX’ô‡YUZxwtvmj8:EU\]]arf]\[XWC9:98uåãÛÍÛñÔº¶¯©ÀñâÊÕÞâˆ}‚~w}~vz}€y{qe[dhfbccVX[[VUTPPV^\Y^]VOS[WTW\]u…|en{p]UY^`bejho€‡ƒ„ˆ€}‚†ŠŠšº–’Š„~€vwtjUU[[XWVURRUXXX`a=-47U¶ÐÉÃÇÆÆÐÛÛÌÃÀ¿ºÆ×¼h|ƒyy€xsx|ryofbaid`dbZ[WWUY\]WW`_YUTX`]Z`i|…ˆ‰gevoWRZ]]]_hlmw‚‚€wv~‹•“‘‰Œƒ€qwrmqj|}||||}}}}}€ƒN(17Zi€‹‡†„‹“˜vhenomhZezx}ww~vuzwyttpopkooqtqppmp|‰‰‰““ŽŠ•³Ÿ„‚‡€{ocprfX]a`^\ajilvkhegfx€…€ƒˆ‹†‡‡|ufkrnkhXXWYZ[_bbabbcccfO@AK{ƒ‚ƒ€€Œ—‘†’„{|~}}{xwwttrsuutrsqppopoqtvyz{}{yxxy{{}~€ƒ†™¬¼¸«˜Œ}snoonoolgc^]^\\baYZ^__djnjjgegttmspjclyotyhhhghhmqrqqqppoorwx{€€}}{zyŸ¡‹tstxxyyzyvtrrrstutsqolijjklosuvxwvvuvuutttrv}ˆ—¥¯²¯¨Ÿ‘tjhhfca^[X\YXWZ[Y\\\\]ZXYZZWWWZR^^hw|wrpmnmmoqrttttrqprty|}}~~~~}|{xwu|…{Š£˜xnotvxywuvtqoppqqqpoljhgfghjlortvwxwvtspqprrstzƒ‘¡¶Â»¢Šuljkkida_^YWUUWVVWYafWWY\WXXVTUYV\|ytomkjjlnqqqqqrpooqsvxzz{}||{zyxvrr€–”‡‡vqrttuvwvtsqollmmmlkjhfcddegimqtvwxwvspnooqsrqop›µÂÀ¯šƒsjjlhedc[V[WVVV[[UUW]VXW[ZYXUU{zyuqmkkjknpqqrsstssssrtwxxz{{{yzyxvsqo££~nnosstuvwxwwtqljlmmonljiggfedgjmptvwyzxusqnnprrrprxˆŸ¸ÈÀ¥ˆuikllkhfca][WVUUSTUWV\YXYYZxxxxwsokhhkmopoopqrrsrrrrsuwxyzyxyywusrqqpu£³–nnopqrtuuvwsnkjklnoomihfeba`adgmqtuuxyxvrmjinqqpmlo‚¥Å͵Šrlkmmlkjgc`]YVTSSWUW[VYZYwxxxxwtpjhgjklmmmnpoppqqooprtuwyxyzywvtsrrrˆ˜Ž‚mlmoqrrstttqqmkkiknpnljfdeddbacimortvwxwwvojkmopqqomz—µÆ¿¥†tmlmlkjjgc_\VTUSV\UWVVtvxxxxwtqlhfgijkklnmmopponmnpruvvxyxwvutrrrnmo€­¶Žnnooorststtpomjkmnnpnjfcdca``bfjmpstuvxwuqmjknpqpnlm|›¾Ìæ„rmmmmjhgfdc`\XVXUTUsuwxxwwuspkfddegijlllmnoonmlmnpqstuuvuttsrrqqpt—£Œnkjmooqsqstsrrljiijoqpniedabca_`dimpqsuuuwvrmhgjmoonlinˆ±Íϲ‹trnmlkjjihhec_WVYnpstuvvvtrplfbbcegjjjklmnmmkjjlmoprtutvuuuusrpollosƒŠzlmmmklopnooljhgilprqnlfeeeda_`fjmoqstvvvvskefiknnmjgg¯ÐÑ´‹soonljhhihhgc`^lnprtvvvvtrplgdddeffhjjklmmmlkkllnptttuuuuutsqpomlu´Ï¬z|ƒ‡†‰‘‘ŽŒˆ„|sjhkqrqpmhgghfaacgknpstuuvwtqlgfimnmmkgkƒ©ÌѶŽvooomljiihhfdjkmqtvvvvvtrplheddedfhjkkmmmnnmkklnqqsuuuuuutrs†” ¬³´µ³µ²®®´µ²±¯®¯²²¯¨Ÿ~joprqnkjiihfcbdhlnpqstvuuusmhfjmonomjh§ÈѼš}poommkihhgdilnqtuuvvutrpmjfcccefjlllkmnnmljjlnopsuvuvutx£¬©¬« ”‰€|vpmkjklmnqv}…ˆ‡’qghjnonmigfeddaacgjnprtuuvwvsnhghmnopokjv±Í˲”ypnnmkkj`ehknprsstttspnmhcbbccehjjjlmmmlnkiklmnqsttus‰¬ƒxpg_[VSX\bpš®’tlb[XWTQOJ^}jfdfhklkjhdabb`^^aehjoqqrstutqmggjlnooolhk¡ÀÍÅ­‘{rqom€\dgjmoqqrrstrqolgcbbcdfhjkklklmnmjihjkmprstrŠ…NJKMPRWZRSS^y}fOINjomjdYD>^pkhecdfiljgca``_]\]^`cgjmpqqqqqoliffjklmmkhfl}£ÍÖÇŸwlmÂv]dikmoqquvttsrpkgdcccegijkkkiijkkjhgijmoprr‹Y@Wanz„Š‰J594/,2:;CaeehjjaEAknlhdcachggeca`_^^^]\\^bfikkmnoonnjcadfhjkkkjee}«Ï×Á“pÌ¿p_ghkmnpssutssqnkgcbbceghiiiijllllkigijlno{‰AFv“œ¥©¬®‡oZB68AIIGA=>@97=XDWnnmjfb`cgihgeca`aca^]]^aehjlnpqqqpnhccfijkmmmkhi¨ÍÖ»ÀÒ±`^dhikmopturstqokgcabbdefhiiklkllmmiggill…p@Tz¶¶¸¹º·³­ª”wzŽpD@438@=63QfClnonkieccfikjiedddddcb__bgkmnqqrssrrpjedgjlmnlljfg{£Ì³ÅÐ[aegilnnqsrssspnkgdccddfhiijkjkmnopmljjlS\QO©¯©ž‘‹t´½ƒ}²‡A74J\T@44@~Eapnnonmjfcfjlkjiheccdcba`bdgjlnpssrssspjfegiklkllkgg|‰ºÇЋZbfijlmprsstsqpnkgcdddfghhijjjlnpqppnkqŒDzF2FGA;5?EFWahhdTD3:`|eU553yaOomnooolkfccgkmnlifcccddc`_adgjmoqsstussoidcgjjkllmkgVœ½ÉÉvZcgikmoprstsrqonkeddcdeefgiiijkmnoonl|{L„8246798CHIGGIHFHF;D\ƒmZ8@ˆŸ†Djlnonnmlkhecdgjlkigdb`bca^^_adhknprstttrspicdfjllnmlY€µÀеa^fhkmnnprrssrqomiedbbbbdefghijklnook…eb|135<\fL@IGCBA@FIFELP|rQ87hŒžP_mlmnnnllmkhdbdikkkifdaaa`__^^afiknoqsssuutoieegjlll\aˆ»ÄÑ›[bfiklmoqqrsrqpomhdcaabbdeefghjkmopk‡S}l032C“¤p?C=7546BIHLKQ_wd84/5oQmklmnmlmnmkigcceijkjiea``__^^^^`dgknpqstutssqibcfikRJS•½Å̇Y`ehjklnpqrrrponkgdbaabdeeefgijlnok†L’W2<8[‡˜Z;412227?A5=¥oYš_;<Q»`9?4Gmjjkkkklllkifcachjmmmkfb_^abbb_\\`filopqrrstkox]NJ`ªÀÊË}\dgiklmnnprqooomkfa`__aceD7=7rnFM[Dbb:ACBCKV][VRKF?=B=ObYPQK8465;=;5222Tkijijkjjkjjkigc`beimmmkhe`__`aab_[]chkmopqrtsrnfYPLs¶ÃÐÄq_ehjlmmnopqppoomjfb`_`bd>0777AE9131128;?;66433466469658;9<>9:;?JJ/0:GXgfhiiijkjjijlkjheb`bhmnmmmiebaabcc]\]`ehkmoprtnnnhUXl”ÀÉÖ¶ibgjjklnnoppqppnlidba_acV=50./OY<<98877666666667667777777888:;=FH5Tciklhehihijjjijklkkjeb`agkmoomkgeeccccd`\]adhknpnornj[QSX ÅÊÕ¤`bffhjlmmnooppomkieb__adebo{Z[C1-,)3`jklmigrsssrqonnmjhef£¼¿—dgffffffghgggffeec`^]`fqnnouwvuxpnqpmsfQKMLP›ÊËÕ¿kfjllklllllllnV->//,14=OR:9AI?57:9511/032257:;;414>LZo— ¨«¦§²²²³³²°°¯¬«¤}šéðè—bddeeefffefeffeedba_\`msxvqutqrnnnjmueLLMMKi¾ÉÍÖ˜bjjkkmllllllmT+>.-,.027;>>@@@@ACBE_YJGHHGEB>;8b—¬³µ´°¯­«©¤£¡ žžœžž ¢¤Ÿ¦…œ¼½¦eabcdeefefeeeeeeedba^\tzxrlnpspklnywxh_ZMMNQ•ÊÉÓÉtejkkllllkkjcK*>0,+,/0247:<30-,,,**++++++***,.2677‹ªv[\\]^_acdejq~~|zyxxwwwvrgwsaccefedefedddddddeeddcbbˆ~…|z}zmls|z{}th]SLKNLX­ÇÈÙ¹gdegggfff_WJ+;560?RG@8331+*++*+,,,.38:=?<\¸a\s|€ƒ€‚„†‘£¹Ž‚„Š„‚‚‚€~|etgbcbcdcdeeedddddddddddcc‹v{vtknvpljpjcdbWMLL`f‡ÂÄÍØŽ^bceeghhdWG1;463/4/-,++*))*))**))*+*)((%r¯{hn‡‡‰–œ ƒO4843Qž¹¿Ã¾»¾¼»•W^rbbabeeefeeddeddeedddeddƒ|{‚{urudahr|sknh\MLLY`a¤ÂÃ×Áf_cdceeeb]M992321%$$%%$%$#$$$$#####$##"+…›bYˆ«ÄÉÑØÚÝàå“TQKJJN¤éãâÝØàáã¾dwKpfccbgjkgffggeeeeeeddedd†{†z†z†z†z†z‡z‡z‡z…z†{‡z†z†z†z†z†z†z‡{†z†z†z‡z‡z‡y†y†z†z…{ƒ‚}„y„vƒt„t…s†w†yˆx‡y‡z†z†yˆ{‡{‡zˆw†t†x†y†z†{…z…y…y‡z‡{„~ƒ€‚‚€‚€‚†y†y…y…y…y†z†z†z†z…y†z†z…y†y†y…y†y†y†y†x†y†y†y†y†z…y†y†y…{€|‚xƒvƒtƒt‚u„t„v…y†x†x…y…w†yˆz‡y†y†w…u„w…v…x…z…z…x†w†y†{„~‚€€€†y†y†y†y…y†y†z†z…z†y†y†y†y…y…y†y†y†y†y†y†y†y†y†y…z…z†z†z…z‚~€€‚{ƒv„v„wƒw„w„w…y…y„x„x†w†z‡z†y„xƒx„w„v„uƒx…y†y‡x‡x†y…yƒ|‚~‚€€€†y†y†y†y†y†y†z†z…z…z†z†y†y†y†y†y†y†y†y…y…y†{…z…{„{…{†z…z„zƒ}€~ƒz…y„x„w„w…y…|„{„x…x†w‡z‡z…z„{„yƒwƒv„v„x…xˆxˆyˆz‡y…z‚|‚~‚€‚€€†y„|„|…z†z…z…z†z†z…z…y…y…y†y†y†y†y†y†y…y…z„|„{ƒ}‚|„|„|…{ƒ}‚€~‚{ƒy„w„v„x…z…{…y…y…z‡z‡{‡{…{…{…z„uƒu„x…y‡x‡y‡z†z…x„{‚~‚€€‚€ƒ|€ƒƒ}„|ƒ}„|…{…z…z…y…y…z†z†z…y…y…z…z…{„}ƒ}‚~‚‚‚~‚}ƒ~~ƒ‚~‚|ƒy„x„v„x…z…{‡y†y†{‡}‡|…{…z…y…x„u„v…x…z‡{‡z†z†y„zƒ}‚‚‚€€€‚€…€‡‰‡‡~‰}ˆ}‡|…{…z…y…z…z…|†z…y…z…{…|…}‚€€€€€€€€€€‚„|…}ƒ~ƒ~ƒ{„z…y„v„w„w„x…y‡z‡|‡|…|…{†z…y…w„w„w…w…x†w†y†z†y„{ƒ}‚‚‚€€€†}…{…{‰{‰{…{ƒ|†|…{†z…z…y…zƒ}…z…z„}ƒ‚€€‚~ƒ~‚~€€‚~ƒ}…{…|„|…|„z„y…x…w„yƒv„u…y†z‡}†|„|…{…{…y„x…y…x…w†u†u†x…y…y„|ƒ}~€€€‡z‚}ƒy‡s‡tƒz€…}…}…}†|†|„}‚„~ƒ~‚€~„{†|…{„|„|ƒ|ƒ}ƒ~‚~ƒ|…{‡z‡z…|†z…z„z„x…x„zƒw„x…{†z…{…|…|„}„|„z„w„x„y…v†t†u†w…w„xƒ|‚‚€€€‚ƒŒu†}„}Šyˆy„}„‚ˆ}…~€ƒ€…€…†……€ƒ{‡wˆw‡x…zƒzƒy„|„{…z‡y‡x†y†{†y…z„y„x…x…y…y…y†{„{„|…|…}„}ƒ|ƒzƒyƒx…x†w†u‡u†v…vƒv{‚~‚€€‚~‚wzŽ{‘zyŒ{‰}zŒzƒ‚€ƒ‡~Š|‰y‰vŠxŠ{Š}ƒx‡w‡w…{„{ƒx…z…y†x‡x‡x†y…z†z†{…z…y…u…w†w…w…z†{…|‡}„}ƒ}ƒ|ƒzƒzƒy…w…x†v‰u‡t…v‚v{‚€‚‚{“y’x’x’y’x’x’y‘yˆƒ†~‡~‡}†|‡}†}ˆ}…€~„x†w†x…y…u†vˆv‡wˆvˆwˆz†{…{†z…z…y…u…u…u…w†y‡{…|…}„~„}…z„yƒy…w…w‡x‡x†w„wƒy‚{~€€~‚~ƒ…††ƒ‡}‡ˆ€ˆ†€ƒ‡…„†ƒ€ƒ„ƒ‚ƒ€ƒ€„„}„v†w†v†v†r‡tˆuˆvˆuˆwˆz†|…}„z„y„x…z„{„y†z†y‡z†|…}„}…}„z„y„x†v‡wˆw‡xƒxy‚|‚‚‡‚}„|†}†€†‚ƒ‚ƒ„ƒ€„}‰ˆƒ„€€€€‚€ƒƒƒ€€€~„u†u‡t‡t‡sˆsˆu‡t‡uˆwˆy†y…z„y„x„z„|…{†z‡z‡yˆz‡}…~„}„}„~ƒ{…x‡xˆx‡x‡yƒ{}€‚‚ˆ‚€€~‚|„{†~††ƒ€‚‚€€‚~Š€‡‚‚€„~„~„ƒ€~„u†s‡sˆs‡r‡sˆtˆt‡u‡v†x…u„x…x„x„{„z†y†y‡yˆyˆ|‡~„„ƒ‚~ƒ{…v†wˆx‡x†zƒ~€ƒ}„}‚€}ƒ|…x…€„~†}†…†~††ƒ‚€‚€€€€€€€€~…t†s‡s‡rˆq†sˆtˆv‰u‡u†w†y„y…y„zƒz„y†x‡x†x‡z†}…~„„ƒ~„|…w…rˆs‡v…w‚{€~~}}~‚|ƒ~ƒ{‚wƒqƒƒ}„}…~‡}†~…€„‚‚€‚~ƒƒ~ƒ~‡}ˆ~„‚ƒ}…s‡sˆsˆsˆs‡sˆu‡wˆx‡u†w…x…x…y…z„z„y…w†w†y‡{‡|…}ƒzƒzƒxƒv‚p‚o‚qo~n|q|r|p~qq~v€zƒ{‚wp€mk‚~ƒƒƒ~„~„ƒ€ƒ‚€‚~„~…}…{†{…~„~„~…}…rˆtˆt‡t‡u‡t‡v‡x†y…x…x„zƒyƒ{„{ƒyƒz…yŠy‡y†x†sn}i}n|nzq{rzq{ozlzh{f{g|f~d~e~f€hed|f~ik€‚‚‚ƒƒ‚‚‚„„‚€ƒ€ƒƒƒ‚‚ƒƒ‚ƒ„„ƒ„‚„‚ƒ~„}ƒ~ƒ|…}„~„„~ƒ‚‚‚€€€€€ƒƒ„„„}…x…t€tw~x€zyyx~w~u~wv€sooo€l€j€lnl€mˆ~‡€„€‡‰~ˆ}‡~ˆ~‡}‡}ˆ~ˆ}‡}ˆ}‰~ˆ~‡‡†‡‰~ˆ}ˆ|‡~‡~„€ƒƒ€ƒ‚‚‚€ƒ€ƒ€ƒ€ƒ€ƒƒ„€…€…€††„ƒ‚€Š†€ƒ€ƒ‚‚‚ƒ‚„‚ƒ‚„ƒ€‚‚€zu€‰{‰}‡‡ˆ‰~‰~Š~Š}‰}‰}‰|‰|‰|Š|‰|‰|ˆ~ˆ€‡†‡~ˆ~‰‰}ˆ}‡}†„€ƒ€‚€„„„€ƒ€ƒ€ƒ€ƒƒ„€…†‡‡…„‚„€Š€…€‚‚‚€‚€ƒ„€„€…€†€†€‡€†€‰{‰|Š|‰~††ˆŠ~Š}‰}Š}Š}‰}Š|‰|‰|‰{‰|ˆ~ˆ}‡‡‡‡€ˆ‰}Š}Š}ˆ~†~…ƒ„ƒƒ€ƒ€ƒ‚‚€€€ƒ€‡€‰~ˆ}‡~„€‚„ƒ€‚€‚€‚€€‚€ƒ€„€„€…€†‰|‰|‰{‰{‰}ˆ~‡€ˆ‰~Š~Š}Š}‰}‰}‰}‰|Š|‰|‰}‰}‰|ˆ|ˆ~‡‡€‡ˆ~ˆ~‰}ˆ~‡~‡€…„ƒ‚€‚‚‚€‚‚€€€‚…ˆ~‡}†~†„‚€ƒ‚ˆ‰€€€‚€€‚‰}‰}‰{ˆ{‰|Š}ˆ†€†ˆ~‰~‰}‰}‰}ˆ}ˆ}‰}‰|‰}Š|‰|ˆ|ˆ}ˆˆ€†…ˆ‰~‰}‰|Š~‰‡†€ƒ‚‚‚‚‚€€€€€‚€„†}ˆ}ˆ~†€ƒ‚€††€‚~~ˆ‰~‰|‰{‰{‰|Š}ˆ††‡‰~Š}Š}‹}‰~ˆ}‰}‰~Š|Š|‰|‰|‹}Œ{Ž{zzz|{z‘z‘yzŽ|‡‚‚€‚‚ƒ‚‚‚€€€‚ƒ‡~ˆ~ˆ~‡€ƒ€‚‚~‚~‚ƒ€€„ˆ~‰}Š|‰|‰|Š}Š}ˆ~…€…€‡‰}Š}‹}Š~‰~ˆ~‰~‰}Š|‰|‰}Ž|‘{|||Œ}ŒƒŒ‡‹€‹~‹‹~{Œ}†…€ƒ€‚‚‚ƒƒ‚‚‚€‚€„€‡ˆ}ˆ}‡„‚‚‚€‚…„€„†€ˆ~Š~Š}‰|Š|Š|Š~‡…€†€ˆ~‰~Š}‰~‰}‰}ˆ}ˆˆ~‰}‰~‹~…|€{~{|…}†}‡}ˆ{ˆ{‡{‡}ˆ}‰|ˆ~‰~‡„€ƒ€ƒ‚‚ƒ‚‚‚€‚‚€‚‚ƒ†‰~ˆ}‡}…‚‚€„}„ƒ„€ˆ‰~‰}Š}Š|Š}Š~ˆ…€†ˆ~‰}‰}‰}‰}‰}‰~ˆ~‰~‡~†~|}yy‚zƒz‚{ƒ{ˆxŠx†}ˆ}Š{‡{ˆ~Š}‰}ˆ~…‚€‚‚‚€‚€‚~‚‚‚…€‡~ˆ}‡~‡}†ƒ€|…|„‚‡€‰~‰~Š}Š|Š{‹|‹|‡~†€†ˆ~‰~‰~‰~Š}‹~Š~‰~†~‡|‰}‡†‰y‰x‡z‡zŠxˆ{‚Š}†|†~Š}Š}‰}ˆ}‡~„€‚‚€‚‚‚‚€‚€‚‚‚€‚…€‡ˆ|‰|‡~}“}‰~‚ƒˆ€‰~Š}Š}‹|‹|‹|Š}‡†‡‡~ˆ~Š~Š~‹~Š~ˆ~…}‡|‹|„ƒ‚…‰zŠxŠyŠyŠx‡|€ƒ„ˆ‡|…}‰~Š}‰}‰}‰}‰}‡~ƒ€€ƒ€ƒ€‚€‚€‚„†ˆ}|„~„}ƒ}‚…ˆ€Š~Š}Š|‹|Š}Š}Š}ˆ~†‡ˆˆ‰~Š}Š}‡~…}ˆ{Šzƒ‚„‡{ŠzŠzŠzŠy‡}~‡‡‰|Šz…}ˆ~Š~ˆ}‰}‰}‰}‰}‡~„€€€‚€ƒƒ€ƒ€‚€ƒ€€‚€‚€€‚‚„€vƒ„~ƒ|ƒ‚†‰‰~Š}‹|Š}Š}Š}Š~‡†‡‡ˆ~Š}Š}†„}‡zˆz…~„€ˆz‰y‰z‰{‰{†~}‡†‰{‹{…}…~ˆ€††~‰}‰}‰}‰~†~…ƒ€‚ƒ€€‚‚€‚€‚€‚€‚€‚pz‚‚}‚|‚‚‚ˆ‰~‰}‹}‹}Š}Š}‹}‰~††€‡~‡~†††€…~„}…~†~‡~†}†}†~……~…ƒ‚‚‡~Š|Š|Š}‡€…€„ˆ~‰}‰}‰}ˆ}‡}ˆ~„€‚€‚ƒ€‚‚€€‚€‚h{l||}{‹~‚„‚ˆ‰~Š}‹}Š}Š}Š}‹}ˆ…†‡†€…‡}~‹~Š~Š~Š}‰~‰~ŠŠ~‹}‹~Œ~Œ}{z‘{†€…€†‡‰}‰}ˆ}‰}ˆ}‰}ˆ~…‚€€€‚‚‚‚€ƒj}h{p~|‰}‡~‚ƒ†‰~Š~Š}‹}‹}‹}‹|Š}ˆ~†€ˆ‡~†~‹|z||Œ||Œ|‹}‹}‹}‹}‹}Œ}Œ|Œ||{‘zˆ}†€†„‡ˆ~ˆ}ˆ}‰~‰}‰~ˆ†‚€‚€‚€‚€€‚„ƒ‚‚‚kj|j|v€€‚~ƒ}ƒ‚ƒˆ€Š}Š}Š}‹}Š}‹|‹}Š~‡€†€†ˆ~Ž{Œ€Œ€‹}Š}Š}Š}Š}‰~ˆ}ˆ~‰}‰}Š|‹}‰~…‡‰„‹}ˆ~‡ˆˆ€‡ˆ~ˆ}‰}‰~‰~‰~‰~‡ƒ€€€€‚€‚€€‚„€…€…n€ml~s‚ƒ€‚}‚}ƒ…‰‰~Š}Š}Š}‹|‹}Š}ˆ~†€†€‡Œ}„Š‡‰}‰~‰~ˆ~‡‡‡‡ˆ~ˆ~‰~„‚{‚†‰ˆ~ˆ~‰ˆ‡ˆˆ~ˆ~‰~‰~ˆ~ˆ~ˆ}…ƒ€€€€‚€‚‚€…‡†€nƒl€i|my‚€‚~‚}ƒ€‚‡Š~Š}Š}Š}Š|‹|‹}‰|ˆ…€„€†ƒ„†‚‚…€†…€†€…‚‡…‡„€„„„€‚ƒ€‚„††‰~ˆ~ˆ~…„‡ˆ~ˆ~‰~ˆ~ˆ~ˆ}‡~†~…‚€€‚€…€‡‡ij~gxg{j}z€‚}}‚‚‰~Š~Š~Š}‹}‹}‹}‹}Š~†„…€„‚‚„‚ƒ€‚‚ƒ„„……ƒ‚€€‚ƒƒ„„‚ƒ€†~‰}‰}‰~ˆ~‡€ˆ€‰~ˆ~‰~‰~ˆ~‰~ˆ}ˆ}ˆ~†‚€‚€ƒ…†€nm~hyfxeyr~„~•{‡~‚…‰~Š}‹}‹~‹~‹~Œ~‹~ˆ~„€„€…€…ƒ„ƒ„ƒƒ‚ƒ„‚ƒ„…ƒ…ƒ€…†€†ƒ†‚…€ƒ€†}‰}‰}‰~‰~Š‰‰ˆ‰~‰~‰~‰~‰}‰}ˆ}ˆ~†ƒ€€€‚‚l€j~gyfvfxj}{„‚‹„}‚€‡Š~‹}‹}‹}‹~Œ}Œ}Š}„€„€…€†€ˆ~‡ˆ…„€ƒ€‚‚„€…ˆ~‰}ˆ†„€‚‡~‰}‰~‰~ˆ~‰~‰†€„€‡€‰‰‰~ˆ~ˆ}ˆ}‰}ˆ}†ƒ€‚€‚f€g~gzgxgxhyq~€‚}‚|‚‚‚Š~‹}‹|‹|‹}‹}‹}‹}…€‚„††~†}†ƒƒ€€€€€€€€‚‚…€…~†€„€ƒ€‚ˆ~‰|‰}‰~ˆ}‰}‰~ˆ~…€†€‰ˆˆ~ˆ}ˆ}ˆ}ˆ}ˆ}‰}‡ƒ€‚€‚hh~gzfxewfwfyu€ƒ€‚}‚‚ˆŠ}‹|‹}‹}‹}‹}‹}…€‚€ƒƒ‚ƒ‚„‚‡‰ŠŠŠ~€ˆƒ‚ƒ€‚€‚€ƒ€ƒˆ~‰}‰}‰~‰~‰~‰~Š~‰‡ˆ‰‰~ˆ}ˆ}ˆ}‰}ˆ}ˆ|ˆ}‡ƒ€‚ih~gydwfxhzgzs~€ƒ‚~‚‚…€‹}‹}‹}‹}‹}‹|‹}†€€€‚ƒƒƒƒ…†‡€†~……€„…‚‚„…„„€ˆ}Š}Š}‰}‰}‰~‰~‰~‰~ˆ‡€…†ˆ~ˆ}ˆ}‰}ˆ}ˆ}‰}‰~‡ƒ€‚hh~f{dxg{h{h{m~}‚‚‚}‚ˆŒ}‹}Š}‹}‹|Œ|†€‚ƒ‚‚‚‚‚‚‚ƒ‚‚ƒ€ƒ‚‚‚‚ƒ„€ˆ}‰}ŒzŽyyyxxxŽxxxy‹}ƒƒˆ~‰}Š}‰}‰}‰~‰~ˆ}ˆ}‡ƒ€j€i}i{i{i}g~g~jt€‚‚}‚ƒ‹}Œ}‹}‹}‹|{‡€‚€‚€‚€‚€‚€‚€‚€‚‚ƒ‚ƒ„€‚€ƒ€‰{’w–u—u—u—u—u—u–u–u—u–u–v–u’y‰€†€ˆ~‰}‰~‰}‰}‰~‰~ˆ}ˆ}‰~ˆjƒjh~h€n„k„g‚iq~‚‚„}ƒ‚‡‹~‹~‹}‹|{‰€ƒ€„€ƒ€‚€‚€‚‚€‚€‚€ƒ€…€„€†~Žy’z“z‘{{Œ{Œ}ŒŒ‰ˆ}‰}Œ|Œ}‰ˆ~‰~Š}‰}‰~‰~‰~‰~‰}‰}‰~kˆnˆm‡nˆp†p†m„p…t†|„‚~™}}‚‰Š~Š}Š}Š}‡€€ƒ€„€ƒ€ƒ€‚€‚€‚‚€‚‚ƒƒ‡|Œz„}€~~~}~|~…~Š|‹~†}|~|~}~|~‚}Œ{‰}ˆ~‰~‰ˆ~‰}‰}‰}‰~‰~‰~ˆ~ÓÓÓÒÒÒÒÓÓÓÓÓÓÓÒÍÇÊÆÏÑÒÒÒÓÓÓÒÒÒÒÒÒÑÑÑÐÑÐÏÏÏÏÏÏÏÏÏÏÏÏÏÐÑÏÏÉÀ·³¨¤–…ulq{nmkopvhlgZae__h`V]b`bYRQW]]cibgVXYZXYVV^WSZab_ZWOG?:=<744A3ÑÒÒÑÑÒÒÒÒÒÒÒÒÒÐËÆÉÅÌÏÐÑÑÒÒÑÑÑÑÑÑÑÑÐÐÐÐÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÐÐÑɹ¢ªž|…}„xcadt~r`bqnk^[]^b\ZXQbjb^URRS\[_jkkSY`d\SRNUU\ce^YPQLBB86643187ÑÑÒÑÑÒÒÒÒÒÒÑÐÐÏÊÄÇÃËÎÎÎÎÐÐÐÐÐÐÏÏÐÐÐÐÏÏÏÎÏÏÎÏÏÎÏÏÐÐÐÐÐÑÑÑΦŽŒtqrsppprx€|cedgi__^^_`UVX`g]\\XWUXVZ`kgTU\]WOQQTUagcd]RIDA=953341/3ÑÑÑÑÑÒÒÑÑÑÑÐÏÏÎËÃÇÃÌÎÍÍÎÏÎÎÏÏÎÍÍÎÎÎÎÎÍÍÍÍÎÎÐÏÎÎÏÏÐÐÐÑÑÐÐÎιœ”}ovyyƒƒkieaj]chh^^ZYc\V[hiVTVZ[VRNYR]kURV\]SOUSS]ebcXWWQI@=96442/.ÐÐÐÑÑÐÐÐÐÐÐÐÏÏÐËÃÄÃÍÑÐÐÐÐÐÐÐÐÏÏÏÏÎÎÎÍÍÍÌÌÌÍÍÍÍÌÌËËÍÍÏÏÏÎÍÏ¿—‘ƒˆ‚ygp€pfjabd[mf][WWP_dbcsp^TQW_XOKVTU]V\]]XPSTX]bZZ\RR\PJ?AB=531.,ÏÏÐÑÑÐÐÐÐÐÐÐÐÐÑʾ¿¾ÌÑÒÑÑÒÑÑÑÑÑÑÑÐÐÑÑÐÐÐÐÎÎÎÎÎÏÎÎÍÉÌÍÎÏÎÍÊÈÆ¥}~tiaourfaeb[^bXT^UVT]ihjjglZTY[USUVUUZT]`dXVXT]^`[[WVQSQJ?A?7661/1ÐÑÐÑÑÑÑÐÑÑÑÑÑÐÑÉ¿ÇÀËÑÒÑÐÑÑÑÐÐÐÐÐÐÑÑÑÑÑÐÏÏÍÎÐÐÐÏÎÌÈÌÍÎÐÐÎÊÆŶ~uhYVic]adcaeaZWTLPX\bdhla_WSRRPLVTVSbNWW\^[^]a__ZUTWQSLGD?A=431/6ÑÑÑÑÑÑÑÐÑÑÑÑÐÐÑÊÄÎÅÉÑÑÐÐÐÐÐÏÏÐÐÑÐÐÑÑÒÑÐÎÏÌÍÍÎÍÉÇÇÄËÊËÏÏÍÇÁÀ°…€wXUSURY\otiff][PECQ[T_dd`XVUMNLJNJSO]RUXWZZ^^]^c[UQVPZQDIA??41/..ÐÐÐÐÏÐÐÐÐÐÐÐÐÐÐÉÄÎÅÇÐÐÏÏÏÏÏÏÏÐÑÑÐÐÑÑÒÑÐÎÎËËÉÌƽÄÁÆÃÇÍÌÈ¿³©«ƒyxaYX[[ljasjkbXXTTWVgWQ^^WQZ[TNKHQRT]\TR\]XW[[YQW[VSZS[Y@66320/.--ÏÏÓ×ÕÏÎÏÏÎÍÍÍÍÎÅÃËÄÆÐÐÐÏÏÏÐÐÐÐÑÐÐÐÑÑÑÑÑÎÇÅÅÄÇ¿½²Â¼Â¹ÃÉÃÀ·§ŒƒuŒi`a\^ioZq_X`UQWWc`ZQRU[TSUXZNMNWUU_m`PYZXYXV\TS\[[a_NE=8541//...ÐÝêïíâÒÍÍÉÅÅÆÉÌÄÂÉÄÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÐÐÐÐÏÇÄ¿¹À¼´¦¿¹Á¶ºÄ¹À·œ‰}~qkgeffW^f`Xh]U]_RUUZ^WWUORQNNOV\XRURTTh]O\\ZUOP[Y[VZTPLB9>=;83/....ÞîÜ¿ÊëéÏÆ¿¸·»¾ÅÅÆÌÈÇÍÎÎÍÎÍÍÍÎÎÎÏÎÎÎÍÍËÊÉŹ°¬±µª¡°²½²·¼±±§ˆz{xokTch^[f[T^kaZa\NRTW`deWQPONPTNXYMQWQV``^d_WRNR[X[YSRZKED><;:730/--ìàˆ•Ëã˽º··»¼ÂÆÈÍËÇÍÏÏÏÏÎÌÊÌÎÏÏÍÍÍÊÈÅÂÀµ¥¡ §©œ¦°²­±¬©œˆwpnloq`Z\XddYYa`^cYRYVUWYc[TURPUXUVVZSRYSU\b[b[^^Y`aUV\YWTAAI<87876300/㯕•ˆ‚…ˆ…†‰‘•žÀÌÊÅÌÐÐÏÏÍÊÅËÎÎÎÌÉÇÀ¸¹º½®¢™“ŸŸ›˜§´¯­¥ž •zmhhYleVNJQYc\US`jbcqabgaVZPSRQRTXTWSW[T]QQaa`k_gamkdUROOLMB>B9877665/14·t}…ŠlY_Vbƒƒ~uËÈÃËÏÏÏÎÌĽÉÍÌËÉÁ±¦¢¡¨ª¡ šŒ–œ””¥³° •–•†wfgl]aXRTSS[ca_lqbTYfQYur]TQMOOMIKOPQPOS[W\aWU\\ck``[RKOJHGDIB9765555126‡‹¶¸»Ä¦lPj¢ÌÖØË¥|½È¼ÅÌÍÍËÊÁ¶ÇÌʹ¬ž ¡˜™’“…——‘Ž•—ž’Ž†yxrd\W\_[Q[`YV^k`URbjheb`VTOLKIKIIGHPNUa^[_YR_mjjX`WQXTKKBAB:965434449>n|vW[˜¬‡di³×àßÕ˜t¡Â¯µ½¹¾¶ÆÀ¸Åȶ¬¦ Ÿ¤——‘ˆ„‡ƒŒ…‚ŒŒˆ‡„†„‚|yrdYXWXb\W\WU[jTSRbjiUU^[UOMMLMKHKLJTW`eT\TSovgjbeaWa\WVI=;<98643474f€‰ª¸¯F7u g:BR?\j”£¦§³Ã¹­¦¡˜šš™¡­½µ“”“Œ‹†ƒ……}ƒ‹ˆƒ‚}||unlh]Y\U\a[W_]a]Y]]^a]WSLYWPNRMDGIHCAHJKSLUV\`d\dr`aR^b^KGDA>=95667:>@>edm~–“Z<5J`RmN?O…´I|§GHKJMecPVUONHKš”’ŒŽ‡…†ˆ‚}‚zwtwwrkfZahd]TXQS`hggYRVUl`f\PTSQKJFJUMELNOHSS_a\O]gihXdgYPYaSGBA=;8889=BNBOXXYZ[Y[[[estslb^Vlƒ®ŠTO?<A<ƒž™‘‚„‰†Œƒ}€|wwz|wg[U]]^Z]ZQ]]`cjikquoT__WOTTIGGQYSSQRSKMX\`[PQa^caakiYbVB;:>==:;:;>>>;nojhigfgihiiffhglonåÏcJEDA7;;?<66785`¦ÐÈŠ€†ŒŽ‰ƒŠ…{zy}yztb\abWZWW[d[RPau†xj_bhTWPMTUNOKDBOWSUVUQahfg]U\]a^V`YXWH=99<<88:99?==<`WURONNOPOPNNORTVVaèÅr`glmqx{{|xtqgdp²ê鎃†‹Œ„ƒ†ƒ€wvxxvvxi_a_RR]]^`VWbekcaX`geUXPMNTMJC=CRWXb^^ckocba[`W]VUXZWC;9988:8888;?@>?MKLNLKJKJILLMMOQRVs|´ÇÎÄÅÈÊÌÍÍÏÏÎÍËÉÈÊÉ°£€ƒ„‰‰ƒ}ƒ~yvy|}ysnj`VOM[Z_VV[__\K[caa^\cZMPWRPJMQQSXY[X^qf^^_\[^\TYOPNB985iz78999=CHEG¨Œ¥dV[^`fsaa^[\¤­¸çxŒØ×ÛÛÜÜàâããããáÝÜÜÛÜ |€„†ƒ‚||tsz{vldfVUWGCQYYY[^QMKX\a`Y_haVONLNPPPLILQZ\]bc]a[XV[QLOLC=9996^‡<99:==@JKHóîù£OX\`ˆ©fZVPléòðó{…ÞÞæèççìíîéìïîêèéåàÀ€ƒ………‡~zzplrx}sldbRTVILTX\_WQVTWX^Z[[]d_UMFFDFJKGHILVZ`_WQZVXUWOJIE=86896\}@:9<>=DHIJ×Ëä¦OQV]¥ÔmYWRiÒÏÅÁYßÞéêëêÖÊÌã̽ÇçëæáÚÔ“{€„…ƒ…„}zytypsyvmkbSXYW[\c_[IGU\cZ^][YZ_ZRKDGB?@?>>BNRYe]W\^V[]RMI=;:98893ßK37=:>EJIGSOX“âíëííìêíîíííÎsQK>…ëæçëãëéÝÞçàÚÛêåêäåæ›|{~€}~„ƒ~{|yqmsllff`kse]PS^]XTV][c\Z_i\RLDBBBFB@?EKD@N`ol_OTjTIB;<<8<<;:?8{ÚU5>=@FKKDYNSƒÖéíòññòóóòèß·hNICyèíëììììëëëëééëëëìîãŽ~|}~{~ƒ…‚z€~tjknnjd`a[`^PPYXQQXa_]\_a`WWNJABIJD>DUULW`apoUY\NC;777@QXQjpl{l`bTKD?;=BHNJC=A:ƒòl<>5>JIYcpDIqrJT\Z]\ZY`aYƒaFESgÚêßÑÙíØÊÆÃÈÍÕêÝÌÚèÕw|‚€|€|vƒ€|vtpmjkhfqcY[a\[_VSVSWS^b_h`XZUQKIIDHLFGIRRVmopx{hfpkYRNNRXWWVHHQ<€óm95:W]`nmnLKUyx~ŠŒ››‘––oPMKETÍÕ´i†êºxrnss ë—\§ÎÇq|€~€y~{zwvmcad]_neXRY\d][UPP[X_jbe\SRXTMGA?KYcX^gkrg_\^dgkoqpqf^m|zsofklWŒó|VR]yxtvnj?>E^hkjkxvhgfb`UA@=9EºìßÓÍëé¹®¬­²àðÎÉàí®s†€y€x|z|re\eigdedX[]\WURQOV_]Y]]WPU[WSX^^u†{eo|t_W[`bdfljr‚ˆ„€†ˆ~„‡‹‹›»–“‹…wxujBJNQMJGDBDEIJMS]H/15?y´µ±µ»¶»ËÕƳ¥¤««ºÁvo…ƒz{zv{~€szpgecjeaeb[^XXUS[\RQ[\SNQX]]Z^f}ˆ‹‘ŠgfwqYT\_`_aknoy„ƒ‚zz€Œ‘‘–•’Ž‰Ž†‚rwsnrlh}|||}|}}~€€„s.-2H_m‡…€~††ˆŽwidgne\UWs}}xxyx|yzuuqpqlpoqurprnr|Š“‘‰Œ”•’ˆ‡•°•†€}peqreV]ca`_ckjowkifii{ƒ†‚ƒ‰‹‡ˆˆ~whmsomjR\[]]_cffffghgikd<:;^……„ƒ‚‚žšˆ…}~}}{{zxwuuuvwwvutqqqpqpruw{|}~|zyxy|||}ƒ‰”­·´©—†zrnpporplif`_`^]cbZZaaaflpklhegtuntqjbmyqvydfedefjooonnllkknqsu|€€~}{yx‘’£¡Œtstw{z{zyxvtsttvuusrpljkknnqsvxxxwvuvuuvutrv}ˆ”¡®²®¥œ~uljigdb_[Y][YY[\[\\\]^\Y[[ZYYXZS^_ix}yuqnnmnrsuvvvusrqsux|}~€~~}zxwv†|Š¤–wqruvyzyxwurqqqqqrqoljjihhiknpstuwyxxvspprrqpry‚ŽŸ²¾¸¢Švljlkhda`_[WVWXVWYZbfXXZ^ZZZXUVZW]}ytollklmprsrsssqppqswy{|}}}}{zyywqrŽ˜•‚vrstuvwxwvtqollmmmmmkigeffghjnruwxyxvtpnopqssrpq›³ÂÀ¯—‚sklliged\X]XWWW\\VVX^WXX]ZZYWV||zvqmkkkmoqrrrstutttttvxyy{|||z|zxvsppƒ¥¥nnossuvwxyxxtqmklmpqolkjhhgffhkmqtwxyzywuroorttsqryˆž·ÈÀ£†sknmmlhgdb_\XWVVVVVXX^ZZZZZ{{yywtoljiknopppqssttsrsstvxyzzz{{ywutssrqv£µ—nnpqrtuvvwwuolklnoopnkigfdcbbdgosuwxyzzvsnkjoqrrnmo‚¥ÆÌ°‡rmlonmljhda^YXVTTWWZ\WYZYxyyyywupkhgjlmnnooqqrrqqopqtuvwyyz{zwvutsssˆ˜‚mjmqrssssuusqpljkkorqnkhfefdcadinqtvyzyxxvoklnqrssoo|—¸Ç¾¤†ummnnlkjgc`\WUVUZ^VWVVvwyyyxwurlhfgjkllmnnoppponnoqsuvwyzyxwvusssomo€«´Œooopprsssstrpnkjnooqokgeddbaachmpsuvvxyxwsolloqrqpmqœ¼ËÁ£…tonookjigeca^ZWYVTVtuwxxwwvtpkfdefgjkllmoooooonnpqrtvvvwwvutssrrpwš¡‹okjmooprsrsssrnljijoqrnjgebcdb`cfjmprtvwxxxtojiknppolhn‡±ÎϳŒusonlkjjihhhdaZYZoqstvvwwusplfcbdfgijklmmnoomllmnprsuvvwvuvutsqpmmosƒˆzmnopposssrrqnjiklqrrpmhfffeb``eknqsuvxxxwtlfgkmoonjgi±ÑÒ´‰ropomkiijjihea`moqtuwwwwvsplgeeefghikllmnnmmlllnorutuvvvvvutrqqqp{ºË©snmmkhnnooopnljihjnrrrqmjgiigbadhloqtuwwwxvrmhgjnonnlhmƒ©Ìг‹vqppnmkjiijgfkloruwwwwwvtrnjfeeffgijllmnnoonklmorrtvvvvvuutrpooopux‡Š…’’’’‰‰…|ukijppsrolkiiifdceimnprtwwwvvunigknoopoji€¤ÄÏ»›~qponmljihhdjmoruvvwwwvsqnjfeeefhlmmmmnopnmkkmoprtuvwwvvtrz‚š ª±µ·µ³±­²µ±°±°°³µµ±¨™qiiknpomjggfeebbdhkorsuwwwxwtnihimopqoljsŽ²Îɯ“yqoommllafilnqstuvvutrpmidccdegilllmnnnooljlmnprtuuuvs‰®©¬­§Ÿ”‰‚|vromkkhikosx‰‹Œlgefhklljhdbcca_`afilorrstvvurnhhjmooppnkk¡ÀÍÄ­’zssqo^eikoqrssuuusrpmhdccddfijklmmmnomkjiklnprstuu¥˜|umc]XSTZ`f}¢£„lf\VVVTRPLn{khfdehjljgdba``_^_`behknqrrrqqpmjffjlnmnligm~¢ËÖÄ™ulnÃw^fjlnpqsxxvutspmhdcccdhiklllkkkllkhgijmoqstv—cJLLNQT[XSUT`rmWIG\oomhbT?Enoliecbeihhfdba````_]]_cgilmmnooookdaeijllllkff{«Ñ×¼Œnοpahjlnorstvvttsolgdbbcfhijkkjkllmlkhgijlnqq€@L\gt€‡Žt9762//7<<@@78EW?fopoljfdcgjlkigfeeefdc``cglmnqrsttsspjggikmnnmmkgj|¥Î³ÅϘ[bfikmoqrsstttrolgdddeghjiklkklmnopmkjjmqIRU¡··¹ºº·³¨¨~{|“UE<329@:45fORonopnmjfdfjmmljifddeeda`bdgjloqttttutpkgfhjmmlmmlhh~…ºÈψ[cfjlnpqrttutsqolheddfhiiijkklmpqqppnlj{ƒAl8|²¬¨›Ž‰zˆÊ¤v´_C3:SZN842ZqClnnpoomkgddhmonljgddffec``adgjmpqttuutsojeehjlmnnmlhTš½ÊÇr\dhjlopqstutsrpolgeccefghiijjkmopppnnjˆjSr19ICA:8EDK]ehg`M>2HrsdD42A‡I`onnoommlifdeilmljhebaccb`__adhlnqstuutstpjedhlmmnnl[³Áѯ``gilmopqststsrqokgeccddefhhijklnppoomRsc/36799;HIIGGIGFJAHJFBB@AHIDJGj„eI4D|ž‹Fjllnnnmnonkjgddfillkifba``_^^]^`dhloqstuvvutrjdegilRKR½Æ̆[afijlnppqsssrqoligdbcceeefghjlmopnv|N”A132h¦–PAB;555:GJGNFYkyQ54-MŸQ`mlmnnmnmmmkjheccgjkllida`__``^]]_diloqstuuttroideh_TNYŸ¾ÇÅvYadgiknoprssrqpoliecbcdfffghijlnok{lcŽ77:>tŒ’„A832324<@9KOŒ–]573;–nSlilmmkmmmmllkifbbdhkkkieba__`__]\]`eknpqssttstsoici[QKd¯¿Í½l]cfhjlnoprsssqpokieabbdeeghiiklni~\z8FIDˆ¡«œOL?2112210;A„¦•N:522Khhjlmlklklllllkhcacfjlmljea_^_```^\^bgknoprstuutsmmbQNLz»ÂЬb_dgjlmooqrssrqolkgbaaadefhiijknbyRmFOMGY|jNMK=9:;;759Bv †F?850f©O€rhhhjlkkklmmmmkigcdfjmnnmieb``bdda^\_djmnpstuuutsprdSMQ‘¾ÄÓ–ZbgiklmnpprsrponlidaaabdgghjkmnekO¡fLVQYy™_FIHGFGGFDBF„— sG>@>1Y±R™M>>Ddkkklmmmmmkjgdbdhknnnlhda`bccc_\\afkmoprrrttnqz`QM\¥ÁÊË}\ehjkmnooqrqpppmlgca``begfWKJb‰]J¦h[dZ„WQHHKQSUUMUNU^n‰‰[F98=1Ns:K[@?>2Zljkkklllkkljhdabekmmmljfb```aab_[^dilnopqstutqj[QMl²ÃÐÄq_eiklmnoppqqqppmkgca`abeZ8;9O‰XChRTzO>ECBFQ[c_[TKI?DCCacVPPB5576;=75425_kjjjkkjjkkllkifb`chloonmjfcbbbcc]\^afjlmoprupppjWWjŽÀÉÖ¶hbgjklmoopqqrqqomjeca`aeV07:8AE?2330/2>9::62/.0ZmkkkjiiiigfcŒ¸À©jegghhiijkjjiiihgec_^bilnopmjg|vvtyunnrpklgMKLKy¾¿ÐÌwaghhkklnnnppqqqonZ0/,/127;?CJRWelw‹¢­·Î×Ä»³£”|m`RHC?;74200`mkkkjjjjihge{Ðæá¡bggghhhiijjhhiiigeb_^cilpqonlzƒtnonkoprldQKOMQšÀÄÖ¯`cfhjijlmmnopppon`1,,1678:<@GPcs¢Ùßäçêîîìëìîé™tg^YSK?83//2emkkkjkjjihhgeszsrfegfghghjiihhiiiifda_^ciloopotzuwwprjqrrpng[OLJg»ÁÌÕ[dfhijkkmnnnnoone4+,.15:?EP^k„œžñäëìíìëìììï⃱š…ubNA93//4hmllkjkkjjihhgfeballfggfghiihhhihhhgfca_^agkmporywyxpslknoqrwlRLMPŸÇÈÙ¹eeijklllmmnnnnooh9+-./4:@HUe}—À–êãëíîïïððñõæ„­~lTB;61/.8jmlkkjjjjjjihiiigpghggghhhggggfffghecb_]agknopyrqonoolnnqqrlULMKoÃÈÑ؉`hijklllmmmmnooj;,./.15:?HTas‚ÞèäáÝØÔÏËž£JPF?=l’R@;/-;lmmlliikjjjihhhhhgbafgghggggfgggghhihfedb_]aglnpnpxuqnprsklommXLMNRžÉÈÖºb`egijklllmmmnnk;////;?ZŸr9/12L¨ù½gX]h—n_elv}„‡ŠŽ’–•¦‹±ÙŽ=3-,@lmllmgekjjijiihhhhgj¢¶¹–eggggghhijihhggffdb`]`gpnnpvxwvyqoqpnsfRLMMRšÊËÖÀlhjlmmmmlmmmmnl9830.5BÒ¡{z‡“œ˜šŸ£¦¨¦Ÿ”Š}qiWEMhfA1.--Ajmlkkfahgggfgffffeed›éñé–bfffffhhiggggggfecb_]amtxvswvrsoonjnweNMNMLh½ÊÎ×™djkllmllmmmmml7850-/5?YaJ9BFO;99:87454412239=@A6/.**)?hnpsxwvƒƒƒ‚…†ƒ‚€|uskf›½º¤fcdfffggggfffggffecb^]u{xrnpqsqlmozwyh_\NMOR“ËÉÔËufkllllllmmmlj676-,-025<>@BDEFB??9/3@Vjz’£©°³µ²²··¶¶¶¶¶¶µ´³²¤“m_^`cceeeefeeffffffffeeca_llnkfcfmnt~{wzrmqhTNPVe¹ÉÊÙ©gklllllllllh]278.+,.1359=?@BDEGKMd‹`NHC=87411<{–¦µµ³°«¨¥¡Ÿ›™——–•”””““–—šš ™hbcdeeeeffeeeeefeeeffedcarpnpnxsvlxwyxx€€n_UMMQP…ÊÅÒÖ‡fkkljklkkfZU06<2,+*-.....-.-,------+++*++,+6ˆº›˜˜‰†}yvussrrrrrqqqqrtr…ƒbcdffffggfeeeeeedeffedcbˆ‚…|{~{mmt~|}wh_TMMNMW«ÉÊÛ»hffiiigee]VV05;5+DA1.-++++******+++*)*+.12/a³”rqpljifedb_\[Z\[\\[]\]\\]^][{ncecdddfffeefeeeedeefedc‹€w{xvmoxrokrmfecXNMMagƒÀÅÏÙadfggeefaZV53861BAKŸ¢mW[\^achjlpv‚š«”‘ŒŠ…‚‚‚‚}nwxfeaceffgffffeedfeeeffed…‚}{‚|wtvfdlt~vmoi]NMMZa]ÂÃ×Âhaeffghig]Q85867*6731.-.-****++*++,..,,+)^·†ca€ŠŒ‰†„„„„ˆ~†štkoƒ€‚„ƒ‚‚‚~‚clqdcbgklhgghhfffffeeefed†{‡z†z†z†z†z‡z‡z‡z…z†{‡z†z†z‡z‡z‡z‡zˆz‡z‡z‡z†y†y‡z‡z‡z‡z…{ƒ‚}„y„vƒt„t…t†w†xˆx‡y‡z†z‡yˆ{‡{‡zˆv†t†x†y†z†{†z…y…y‡z‡{„~ƒ€‚‚‚€‚†y†y†y†y…y†y†{†z†z…y†z†z…y†y†y†y†z‡y‡y‡y‡y‡y†y‡y‡y‡z‡y†y…{‚€|‚xƒvƒtƒs‚u„t„v…y‡x†x…y…w†yˆz‡y†y†w…u„w…v…x…z…y†w†w†y†{„~‚€€€‚†z†y†y†y…y†y†z†z…z†y†y†y†y…y†y†y†y†y†y†y†y†z†z†z†z†z†z†z…z‚~€€‚{ƒv…w„wƒv„v„w…y…y„x„x†w†z‡z†y…xƒw„w„v„uƒx…y†y‡x‡x†y…zƒ|‚~‚€€€†z†z†y…y†y†y†y†z…z†z†z†y†y†y†y†y†y†y†y†y…z†{†z…{„|…{†z†z…zƒ}€~ƒz…y…x„w„w…z…|„{„x…x†x‡z‡z…z„{„yƒwƒv„v„x†xˆxˆyˆz‡y…y‚|‚‚€‚€€†y„|ƒ|†z†z†z…z†z†z…z†z†y†y†y†y†y†y†y†y…y…{…|…{ƒ}ƒ|„|„|…{„}‚€~‚{ƒy„w„v„x…z…{…y…z…z‡z‡{‡{†{…{…z„uƒu„x…y‡x‡y‡z†z…y„z‚~‚€€‚€„|€‚ƒ~…|„}„}…|…{…z†z†z…z†z†z…z†z…z…z…{„}‚}‚~‚€‚‚~ƒ}ƒ~~ƒ€‚€~‚|ƒy„x„v„x…z…{‡y†y†{‡}‡|†{…z…y…x„u„v…w†z‡{‡z†z†y„zƒ}‚‚‚€€€‚„€ˆ‰‡ˆ~‰~‰}ˆ|…{…z…z‡z…z…|†z…y†z…{…|…}‚€€€€€€€€€‚„|…}ƒ}ƒ}ƒ{„y…y„v„w„w„x…z‡z‡|‡|†{…{†z…y…w„w„w…v…w†v†y‡{†y„{ƒ~‚‚€‚‚€€†~†{…{ˆ{Š{†{„}†|…{†{†z†y…zƒ}…z…z„}ƒƒ€‚€€‚ƒ~‚~€€€‚~ƒ}…{†{„{…|„z…y…x…w„xƒv„u…x†z‡}†}…|…|…{…y„x…y…x…v†u†s†v…x…y„|ƒ~~‚€‚€€€†zƒ|‚{‡sˆsƒw€€„}…|…}†|†|„}ƒ€ƒƒ‚€ƒ{†|…|„|„|ƒ|ƒ}ƒ~‚~ƒ|…{‡{‡y…|†z…z„z„x…x„zƒx„x†z†z†|…|…}…~„|„z„w„x…x…u†t†t†v…v„xƒ|‚‚€€€‚ƒ‹vˆ{ƒ~‰y‰x…{ƒ‚‡~†}‚€€„€†€†‡~†~††€}…wˆw‡x†{ƒ{ƒz…{„{…z‡y‡x‡y†{†y…z„y„w…x…y…y…y†{…{…|…|…}„}ƒ|ƒz„yƒw„w†v†u‡u†v…vƒv{‚~‚€‚~‚ŽxyŒ{zzŒ{ˆ}Œ{z„€„†Š{ŠzŠvŠw‹{Š|…€y‡w‡w†{„{„x…y…x†x‡x‡x†y…z†z†{…z…w…u…w†w…v…z…{…|‡}…}ƒ|ƒ|„zƒyƒw…w…x‡v‰u‡u…v‚v{~‚‚‚‘y“x“x’x“x“w“x“x’x‹}‚…‡~‡~†}†}‡}ˆ}ˆ~€ƒz…w†x…y…v†v‡v‡wˆvˆwˆz†{…|†z…y…w…u…u…u…w†y‡{…|…}„~„}…z„xƒy…w†v‡x‡x†w„wƒx‚{€~‚~ƒ‡ƒ‡…‰}‡~‰€‰ˆ~……†…‡ƒ€ƒ„„‚‚€ƒ€„…ƒx†w†u†u†r‡tˆuˆvˆuˆwˆz†|…}„z…y…x„z„{„y†z‡yˆz†|†}„|…}„z„y„x†v‡v‰wˆwƒwy‚{‚‚‡‚‚}„|†~†~†‚„‚‚‚ƒƒ‚~ˆ~‰ƒ…‚€€€€€€ƒƒ~ƒ€€ƒw†u‡tˆsˆsˆsˆu‡s‡tˆwˆy†y…z„y„x„z„|…{†zˆzˆyˆz‡}…~„}„}„~„{…x‡xˆxˆx‡xƒ{}€€‚ˆ‚€€‚}„{†~†~‡„€ƒ€ƒ€ƒ€‚ˆ‰‚ƒ€€~ƒ~„~„…~€ƒv†s‡sˆsˆr‡sˆt‡t‡t‡v‡x…u…y…x„x…z„{†y†y‡y‰yˆ|‡~…„ƒ‚~ƒ{…v†wˆx‡x‡zƒ~€€~‚}„}‚€~ƒ{…x…€€ƒ}††€ƒ‚„~‡„‚‚€€€€€€€€€ƒv‡s‡tˆrˆq‡sˆt‰v‰u‡s‡v†x…y…y„zƒz…y‡x‡x†x‡z†|…„„„~„{…w…r‰sˆv…w‚{€~~}~~‚}ƒ~ƒ{‚w„qƒ€ƒ„†‚„ƒ„~„€‚‚‚€~ƒ~„~ƒ}ˆ|ˆ}†ƒ„~„t‡sˆtˆt‰sˆsˆu‡wˆx‡u‡w…x…x†y…z„z„x…w†w†x‡z†}…}ƒzƒzƒx„v‚p‚o‚po~n|q|q|p~qr~v€zƒ{‚wp€mk‚ƒ€ƒ€‚€‚‚‚ƒƒ€‚€„†~†}†|†}„†~‡~…tˆtˆtˆtˆuˆt‡v‡y†y…x†x…zƒzƒ{„{ƒ{„z†zˆy‡y†x†sm~i}n|m{q{r{q{n{kzg{f{g|f~d~e~f€ifd{f~ik‚‚‚ƒƒƒ‚„…€‚ƒ€„‚„‚„‚‚ƒƒ„ƒ„ƒ†„ƒƒ~ƒ~ƒ}„}„~…„ƒ‚‚‚€€‚ƒƒƒ…„„}…w…t€tw~x€zzzx~w~uwv€sppo€l€jlnl€l‡}‡†‡ˆ~‡~ˆ~‡~‡}‡}ˆ~ˆ}ˆ}‰}ˆ|‡~‡€ˆ‡€‡ˆ~ˆ}ˆ}ˆ~‡~„ƒ‚ƒ‚‚ƒ€„ƒ€ƒ€ƒ€ƒƒ€„€…€…€††„‚ƒ‚€‹†€ƒ€ƒ‚‚‚ƒƒ„‚ƒ‚„ƒƒƒ€{u€‰{‰}ˆ‡ˆ‰~‰~Š~Š}‰}‰}‰}‰|‰|Š|‰|‰|ˆ~ˆ€ˆ‡‡ˆ~‰‰}‰|‡|†„€ƒ€ƒ€„€…„ƒ€ƒ€ƒ‚‚„€…†€‡‡…„‚‚„€‹€„‚‚‚ƒ„„€…€†€‡€‡€†‰{‰|Š|‰~‡†‰Š~Š}Š}‰}Š}‰}Š|Š|Š|‰|‰}‰~ˆ}‡‡€‡‡€ˆ‰}Š|‰}ˆ~‡~†ƒ€ƒƒƒ€ƒ€ƒ‚‚€€‚€„€‡€‰ˆ}‡~…€‚„ƒ€‚€‚€‚€‚ƒ€…€„€…†‰}‰|Š{Š|‰}ˆ~‡€ˆ‰~Š~Š~Š}‰}Š}‰}‰|Š|‰|‰}‰|‰}‰}ˆ~‡€‡€‡ˆ~‰~‰}ˆ}‡}‡†€ƒ€ƒ€ƒƒ‚ƒ‚‚‚€€€‚ƒ…‡~ˆ}‡~‡ƒ‚€‚‚ˆ€ˆ€€‚ƒ‰}‰}‰|‰|Š|Š}‡€†€‡ˆŠ~‰}Š}Š}‰}‰}‰}‰|Š}Š|‰|‰}ˆ~ˆˆ†€…€‡ˆ}ˆ}ˆ}‰}‰~†~„€ƒ‚‚‚‚‚‚‚€€€€€‚…ˆ~‰}ˆ~†€ƒ‚€…†‚~‚~‚‚ˆ‰~Š|Š|Š|Š|Š~ˆ††€‡‰~Š}Š}‹}‰~‰}‰~Š~Š|Š|‰|‰|‰~‰~‰~‰~Š}‹|Œ|Œ{zŽ{{Œ{‰}†€‚‚€‚‚ƒ‚‚‚‚‚€€€‚„‡~‡~ˆ~‡€ƒ€‚‚~‚~‚„„‰~Š}Š}Š|‰|Š}Š}ˆ…€…€‡‰~Š}‹}Š~‰~‰~‰~‰}Š|Š|‰|‹}z‘z’z’{z|‘~’||‘{’z|†…€ƒ‚‚‚ƒ„„‚‚‚‚‚‚‚€‚‚‚„€‡ˆ}ˆ}‡„‚‚‚€‚†„€„†€‰~Š~Š}‰|Š}Š}Š~ˆ…€†€ˆ‰~Š~Š~Š}‰}ˆ}ˆˆ~Š}‰}Œ}|‰}†|…}‡~ˆ‡ƒˆˆ~†}†}‰}Œ|Š~ˆ~‡„€‚‚‚ƒƒ‚‚‚‚ƒ‚‚‚‚€‚‚€‚‚ƒ‡‰~ˆ}‡}†‚‚€„}„ƒ…‰Š}Š}Š}Š}Š}Š~ˆ…€†€ˆ~‰~‰}‰}Š}‰}‰~ˆ~‰~ˆ~ˆƒ|}{{y~z‚{„{…{‡yŠxˆ{ˆ|‰|ˆ|ˆ}‹}‰~ˆ~…ƒ‚‚‚‚‚‚‚‚‚‚€‚€‚‚‚‚‚…€‡ˆ~‰~ˆ~†€ƒ€|†|„‚ˆ€‰‰~Š}Š}Š|‹|‹|ˆ~†€†‰~‰~‰}Š}Š~‹~Š~‰~ˆ~†}†|ƒ}ƒ|…z†y„{„|ˆyŠx„~‚€Š{ˆ{†}Š~Š}‰}ˆ}‡„€‚‚€‚‚‚‚‚‚‚‚‚€‚€‚‚‚€‚„€†ˆ}‰}ˆ}‘}ˆ~‚„ˆ€‰~Š}Š}‹}‹|‹|Š}‡‡€‡ˆ~‰~Š~Š~‹~‹~‰~†~†}Š|‰€…„‰{ŒvŠx‰yŠw‰z‚€}‚ˆˆ|„}ˆ~Š}Š}‰}‰}‰~‡~ƒ‚‚‚ƒ€ƒ€‚‚€€‚€‚€ƒ€†ˆ~|ƒ„}ƒ~ƒ…ˆ€Š~Š~‹}‹}Š}Š}‰~ˆ‡€‡ˆˆ‰~‹}‹}ˆ~…~†|Š{…€~ˆ†~‹yŠ{ŠyŠx‰z‚‚|††€Š|…|‡~Š}Š}‰}‰}‰}‰}ˆ…€€ƒ€„€ƒ‚€ƒ€ƒ€‚€‚€‚€€‚‚„€vƒ„~ƒ|ƒ‚‡€‰Š~Š}‹}Š}Š}Š~Š~‡†€‡ˆ‰~Š}‹~ˆ~„~‡zŠy†~€‚†}ŠyŠzŠ{Šz‰{„|Š‡~‹z‡{„}ˆ€ˆ‰}‰}‰}‰}‰~‡~†ƒ€‚ƒƒ‚€‚‚‚€‚€‚‚€‚€‚oz‚€ƒ}‚}‚‚‚ˆ‰~Š~‹}‹}Š}‹}‹}Š~‡€†€ˆˆ~‰~ˆ~†„~„|†|†}…‡}ˆz‡{‡|‡}†~ƒ}††~‹{ˆ|…}‡€†€…‡~‰}‰}‰~‰~ˆ~‡~„‚€‚‚‚ƒ€‚€‚‚€‚€‚fyk{{~ŽzŒ~‚„‚ˆ‰~Š}‹}‹}‹}Š}‹}‰…†€ˆ†€…†€ˆ~‡~…‡~‡~‡~†~‡†€†‡~‡€‡€ˆ~Š}{|ˆ……€‡‰~‰}ˆ}‰}‰}‰}‰~…ƒ‚€€‚‚‚‚‚‚€ƒj}g{p~|ˆ}ˆ~ƒƒ†‰~Š~Š~‹}‹}‹}Œ|‹}ˆ~†€‡‡…€‡~{||Œ|Œ}Œ|‹}‹}‹~‹}Œ}Œ}}||{“zŠ}…€……‡‰~‰}‰~‰~‰}‰~‰†€ƒ‚€‚€€‚€‚‚‚‚ƒƒ‚‚‚kj|i|v€€‚~ƒ~ƒ‚‚ˆ~Š}Š~Š}‹}‹}Œ|Œ}Š~‡€†€‡‡~‹{{{Ž|Œ|Œ|‹|‹}‹|Š|Š}‹}Š}‹}‹|Œ|Œ~}Œ{‡ˆˆ€ˆ€ˆ‰~ˆ~‰}‰~‰~‰~‰~‡ƒ‚€€‚‚‚„……mmkrƒƒ€‚}‚~ƒ…‰~‰~Š}Š}Š}‹}‹}‹}‰~‡€‡€‡Œ{Š†‰ŠŠ}‰|‰}‰}ˆ~‡‡~ˆ~ˆ~‰~Š}‰~ŠŠ‰~ˆ‰€ˆ€‡ˆˆ~‰~‰~‰~‰~ˆ~ˆ}†„€€‚‚ƒ€…€‡€‡€nƒkh|l€xƒ€‚~‚}ƒ€‚‡€ŠŠ}Š}‹}‹|‹}‹}‰}ˆ~‡€…€‰~…„}Žƒ…‡‡~ˆ~ˆ~‡‡‚‡€‡‡~‡‡…€~‡†‡€†€ˆ~ˆˆ…„‚‡ˆ~‰~‰~‰~ˆ~‰~ˆ~‡†ƒ‚‚‚‚…€ˆ‡ijfyg{j}z‚}|ƒ‰Š~Š~‹}‹}‹}‹}‹|‹}ˆ„€„€…‚‚ƒ‚„‚€ƒ…ƒ……‡„ƒ€‚€‚‚ƒƒ‚„…€‰~‰~‰~ˆ~‡€ˆ€‰~ˆ~‰~‰~‰~‰~‰}ˆ}‰~†‚‚ƒ…‡€nm~hyfxdyr€„~•{‡~‚…Š~‹}‹}‹~‹~‹}Œ}Œ}‰~…€„€„€„ƒƒ„‚„‚‚‚€ƒƒƒ„„„„€‚ƒ‚„ƒ„„…‚„€„~‰}‰~‰~‰~Š‰ˆˆ‰~‰~‰~‰~‰}‰}‰~ˆ~†ƒ‚‚‚ƒl€j~fyewfxj}{„‚Š~„}‚€ˆ‹~‹}‹~‹}‹}‹}‹}Š}…„„€…†…†€„€ƒ…‚ƒƒƒ†‚…€‡‰‡€†€†€ƒ€„ˆ}‰|‰~‰~‰~‰…€ƒ€‡€‰ˆ‰~‰~‰}‰}‰}‰~†ƒ‚‚f€gfzfxgxhyq~€‚}‚|ƒƒŠ‹}‹}‹}Š}Š|‹}‹}†ƒ…€†ˆ~‡}ˆ}†‚€€€€€€‚€ƒ€‡ˆ}ˆ~†„€‚…‰|Š|‰~‰~‰~‰~ˆ…€†€ˆˆ‰~‰}‰}‰}‰}‰~‰}†ƒ€‚€‚hh~gzfxewfwfyu€‚€‚}‚‚ˆ€Š}‹}‹}‹}Š|Œ}Œ}‡€ƒ…€………ƒƒ„€ƒ€„…………‚„…€ƒ€ƒ€‚†Š|Š}‰~‰~‰}‰~‰~‰‡€ˆ€‰‰~‰~‰}‰}‰~ˆ}‰}ˆ~†ƒ‚‚hh~gydwfxhzgys~€‚‚~ƒ‚…Š~‹}‹}‹}‹}‹|Œ|‡€ƒ‚ƒ‚ƒ‚ƒ€…Š‚ŠƒŠƒ‹‚‹€ˆ…€ƒ‚ƒ€„ƒ†Š}Š}‰~‰~Š~ˆ~ˆ~Š~‰‡€…€†‰~‰}‰}‰~‰~ˆ~‰~ˆ~‡„€‚hh~f{dyg{h{hzm~}ƒ‚‚}‚€ˆŒ}‹}‹}‹}Œ|Œ|ˆ€€ƒ‚ƒƒƒ„‚…„„„…„„ƒ‚……€„€‡~Š}Š~Š}‰}Š}Š~Š~Š~Šˆ€‚ƒˆ~‰~Š~‰~‰~‰~‰~‰}‰}‡ƒj€i}i{i{i}g~g~jt€‚‚}‚ƒ‹}‹}‹}‹}‹|Œ|‰‚€ƒ‚‚‚‚‚‚‚ƒ‚ƒƒƒ€„€‡~‰|Œzyyxxwwwwwwz‰~†€ˆ~‰~‰~‰~‰~‰~‰~‰}‰~‰~ˆjƒjh~h€n„k„g‚iq}‚‚‚„~ƒ‡‹~‹~‹}‹|Ž{Œ}‚‚€‚€ƒ€‚€‚€‚€‚€‚€‚ƒƒ€„ƒƒ€†}x–v—u˜u˜u˜t—w—v–v—v—v–v–v—v{‰‰~Š~Š}‰}‰~‰~‰}‰~‰~‰~‰~jˆnˆm‡nˆp‡p‡m…p…t†|„‚~š}Ž}‚‰Š~‹}‹|z‹}€‚€„ƒ€‚€‚€‚€‚€‚‚€‚€„€…€„€Šzy‘{{{|Š|‹€Œƒ‹€‰‡†}ˆ}ˆ}Œ|Š~ˆ~ˆ~‰€‰~‰~‰~‰}Š~‰~‰~ˆ~ÔÔÔÓÓÓÓÔÔÔÔÔÔÓÒÍÇÊÇÏÑÒÒÒÓÓÓÒÒÒÒÒÒÑÑÑÐÑÐÑÑÑÑÑÑÐÐÑÑÑÑÑÑÒÐÏÉÀ·³¨¤–…€ulq|onlppvhlgZae__h`W^cabYRQW]]cibgVXZZXYVV^WSZab_ZWOG?:=<744A3ÑÒÒÒÒÓÓÓÓÓÓÓÒÒÐËÇÉÅÌÏÐÑÑÒÓÒÒÒÑÑÑÑÑÐÐÐÐÏÐÐÐÐÐÐÏÏÐÐÐÐÐÐÑÒÒɸ¢«ž|…}„xcbdtsabqnk^[]^b\ZYQcjb^URRS\[_jkkSYad\SRNUU\ce^YPQLBB86643197ÑÑÒÑÒÒÒÓÒÒÓÒÐÐÏÊÄÇÃËÎÎÎÎÐÐÐÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÏÏÏÎÏÐÐÐÐÑÐÑÑÑÎçŒtrrsqqqsx€}dedgi__^^_`UVYai]]\XWUXVZ`kgSU]^WOQQTUagcd]RIDA=952342/3ÑÑÑÑÑÒÒÑÑÑÑÐÏÏÎËÃÇÃÌÎÍÍÎÏÎÎÏÏÏÎÎÎÎÎÎÎÎÎÎÎÎÎÐÏÎÏÐÏÐÐÐÑÑÑÑÎκ”}pwy~zƒ„kjfbj]chh^^ZYc]W[jjWTVZ[VRNYR]kURW\]SOUSS]ebcXWWQI@=96442/.ÐÐÐÑÑÑÑÐÐÑÑÐÏÏÐËÃÄÃÍÑÐÐÐÑÐÐÐÐÐÐÏÏÎÎÎÍÍÍÌÌÌÍÍÍÍÌÌËËÍÍÏÏÏÏÎÏÀ˜’ƒˆ‚ygqqgkbcd[mf][WWP`ecdtq^SQW_XOKVTU]V\]]XPRTY]bZZ\RR\PJ?AD=631.,ÐÐÐÑÑÑÐÐÐÑÑÐÐÐÑʾ¿¾ÌÑÒÒÒÒÑÑÑÑÑÑÑÐÐÑÑÐÐÐÐÎÎÎÎÎÏÎÎÍÉÌÍÎÏÏÎËÉƦ~~tjbpurfbec[^cXT_UVT]jikkhlZTY[USUVUUZT]`dXVWT]^`[[WVQSQK@A?8761/1ÑÑÐÑÑÑÑÑÑÑÑÑÑÐÑÉ¿ÇÀËÑÒÑÒÒÑÑÐÐÐÐÐÑÑÑÑÑÑÐÏÏÍÎÐÐÐÏÎÌÈÌÎÎÐÐÏÊÆŶž~uiYWjd^bedbfbZWUMQX\behmb`WSRRPLVTVSbNWW\^[^]a^_ZUTWQSLHE@B=531/6ÑÑÑÑÑÑÒÑÑÑÑÑÐÐÑÊÄÎÅÉÑÑÑÐÑÑÑÏÏÐÐÑÑÑÑÑÒÑÐÎÏÌÍÍÎÍÉÇÇÄËÊÌÏÏÍÇÁÀ°…€wYWTVTY\pujgf^[PECQ[T_fe`YWUMNLJNJSO]RUWWZZ^^]^c[UQVPZQDIB@?40/..ÑÑÐÐÐÑÑÐÐÐÐÐÐÏÐÉÄÎÆÇÐÐÐÐÐÐÐÐÐÑÑÒÑÑÑÑÒÑÐÎÎËËÉÌÆýÅÁÆÄÈÍÍÉÀ³©«Ž„zybZY[[lkbtjlbXXTTXWhXR__WRZ[TNKHQRT]\UR\^XW\\YQW[VSZS[Y@76320//--ÑÑÖÚ×ÓÏÏÏÎÍÎÍÍÏÆÂÌÅÆÐÐÐÐÐÐÑÑÐÑÒÑÑÑÒÒÑÑÑÎÇÅÅÄÇ¿¾´Ã½ÃºÃÉÄÁ·§ŠƒwŒiaa\_ipZraY`UQWWc`ZRSU[TSUXZNMNWUU_m`QY[XZXW]TS\[[a_NE=8541//...ÓÞëïìæÕÍÍÉÆÇÇÉÌÅÂÊÅÄÍÎÎÏÏÏÏÐÐÐÐÐÑÐÐÐÐÐÐÏÇÄ¿¹À¼¶©À¹Â·»Ä¹À·ž‰}slggggW]f`Yi_V]`RUUZ_XXVPRQNOOV\XRURTTh]O\]ZUOQ[Y[VZTPLB9>=;83/..-.ÞíáÎÚíëÐÆ¿¹¸»¾ÆÆÆÍÈÇÍÎÏÎÏÎÎÍÎÏÎÎÎÏÏÎÍËÊÉŹ°¬±¶¬¦²²½³¸¼±³©‰{|xpmTdh_[f[T^kb[a\NRTWadeWRPOOPTNXYMQWQV``^e`WROS\X[YSRZKED><;:730/--ìÞœ‡šÎèпº·¶»¼ÁÇÉÍËÇÍÏÏÏÐÏÌÊÌÏÎÎÎÍÍÊÈÆÂÀµ¥¡ §©ŸŸ©°²®±¬©Šxpolpr`[\XddYYba^bYTYVVWYc[TURPUXUVVZSRYSU\b[b\__Y`aUV\YWTAAI<878763100ë»›—‘‘’Œ‹Š‰‹”œ·ÎÊÅÌÐÐÏÐÎÊÆÌÎÏÎÌÉÇ¿¹ºº½¯¢š”¡ ›šª¶°­¥¡•{mhhYleVNJQZc\UTbkbcqabgaV[PSRQRTXTWSW[T]QQaa`l_gamkdUROOLMB>B9877665/14Ø‚u~†‡{Yb[Xt„„z„ÂÉÃËÏÏÏÏÌžÉÍÌËÉ°¦¢¡©«¢Ÿ›—••¦´±Ÿ•••‡wfgl^aXRTSS[cb_lrcTYfQZur]TQMOOMIKOPQPOS[W\aWU\\dk``[RKOJHGDIB9766555136ºx¬¼¾Âº€WX„½ÒÚÑ»„ Ë¾ÆÌÌÍÍÊÁ¶ÆÍËĺ­ž ¢™š‘”‡˜—’Ž•˜Ÿ’Ž†yxse\W\_[Q\`ZV^k`URbjieb`VTOLKIKIIGHPNUa^[_YR_mjkX`WQXTLLBAB:96533444:>“q‰ld„±šj\‘ÑßèáÃ~€½²¶¼·½ÃÈÁºÆËÈ¿²¬¦£¥˜—’ˆ„‡ƒ†ƒ‘ˆ‡„‡…ƒ|zseZXWXb\X\WU[kUSRbkhUU^[UOMMLMKHKLJTW`eT\TSpvgjbeaWa\XXJ=;<98543484KKFmz£¦ª­¼³¡•“’ˆ‚ˆŽš©´¢”“Œ‹†ƒ……}„Œˆƒ‚~€}|unlh]Y\U\a[W^]a]Y]]^a]WRLZWPNRMDGIHCAHJKSLUV\`d\dr`aS^c^KGDA>=95667:>@>ebp…±sL5>`^T`D;cr¦ˆ›¼‰IHFFKXJIIHJJO‘œŽŒˆ„†„}‚‰‚€‚z{{wvroj\`fdf\TV[Z`ae\W^V[a_YSMPNPLDFHCAGHECSJX[^Zcdc`VhfYY[VOJGH;75769v«‘‹Ž‡…†ˆ‚~ƒ{wtxxrkfZahd]TXRS`hggYQVUl`f[PTSQKJFJUMELNOHSS_b]O]gihXehZRZaSGBA=;8889=BNCMTSRSTTTVVXkqsnd[VY‘‡‹¨YZB>9DVZ[E::@;U©¡œ‘‚ƒ‰†‚„~€}xxz|wg[U]]^Z]ZQ^^`cjjlquoT__WOTTIGGQYSSQRSKNY\`\PQa^caaljZbUA;:>==:;:;>>>?RJLMMJJKKIJLKMNQVPmt™½ÕÐÍÎÐÑÓÓÔÔÔÒÐÎÏÍ×¹ˆ€ƒ„‰‰ƒ}ƒ~zwz}~ysnj`VOO\Z_VV[__\K[caa^\cZNPWRPJMQQSXY[Y`sg_^_\[^\UZOPNB985k†9899:=DHEGº‹£TYZ[^uc][[X‰Ã¦ã»eÅÙÝßßàâãäååååàßßßÞÌ…„‚„†ƒ‚||usz|€wldfWUWHDQYYY\^QMKX\a`Y_haVPNLNPPPLILQZ\^cd]a[YV[QLOLC=9997Z…?99:=>AJKHóìõÖ]U^an²…a\VSÃ÷ìôÄ]ÇßãêêéìîïìêîïìêëêâÛ¡}„€………‡~zzplrx~tldbSTWJMTX\_WRVTWX^Z[[]d_UMFFDFJKGHILVZ`_WQZVXUWOKIE=86896a„D:9<=>EHIJìàèØcLPTxØ›VTPSµìÔê [ÏàæêèíÞÈÂÖÚºº×ìæâÞÖ¿}€€……ƒ…„}zytypszvmkbTZ[Y[\c_ZJHV\cZ^][YZ_ZRKDGB?@?>>BNRYe]W\^V[]SMI>;:98894’äS27=;=EKLM~w“Œ”œ¥¸éȧ¦’llL\×âçêäê׳ªÊؼ·ÍêâæâÝÊ~~€ƒ€|yzympxolkcSbn_XV\^\VSZ\^fb\Y`^YPIGBBA?=79AGJM^kZW`\^`YHEC;79987;6‘æU0:>?EJIGSKRsÈëëëííêíîíëëà•VKBWÙêçéèçíåÞæçàÞæèéèæëÆ{}~„ƒ~{|yqmsllff`mse]PS^]XUW][c\Z_i\RLDBBBFB@?EKD@Napl_OSlTIB<<;8<<;:?8‚à^4?=@FLKDYMQnÂîðïððïððððëÛŒTMFSÌïìììíììêéììëëëììíïº~|}~{~ƒ…‚z€~tjknnjd`a[`^PPYXQRXa^]\_a_WXOIABIJD>DUULXaapoUY[NC;767=ACC@B<Šíl9A:@PXPjpm|Žl`bUKD?;=BHNJC=A:öu<=5?JJYcpBFe~OH`ddddbdmOmMDLX±íäÒÌåçÎÉÆÇÇÊãéÐÔâè¤z‚€|€|wƒ€|vtqmjkhfqcY[a\[_VSVTXT_b_h`XZVQLIIDHLFGIRRWmooy{hfpkYSPOT[XWVHIQ<øy:6;Y]aomnJKNpwnƒ‹–‹ˆŠ–…x\KLJEŸâÆ•|Êæ–z{zu‹áÔv“ÁÚ”y€~€z~{zwvmcad]_neXRY\d][UPQ[X`jbe\RRYUOGA?KYbX_hlrg_\_dgkopprg_o~}tofklX–ö‰\Y_yxuwokDCDXnru{‚“„{yysdJCC<9ƒëèãßçïÞÆÆÅÄÚòåÛäì߀‚‚z€x|{|rf\eigeedY[]\WVURPV_\Y^]WPU\ZVX^^u†{eo|t^W[abdfljrƒˆ„†ˆ~„ˆ‹‹Žœ¼–“Œ†~wxuk6AAHKHGHJMLKJJLWN6159W¦½³¯³±±¹ÇÈ·©¡¤¤«»›cƒƒ{{zv{~€szphebkfbgc[^YYX[^^XW_]XTTZda]bl~ˆ‹ŠgfwpZT\___aknoyƒ‚€yyŽ‘‘–”’‰Ž†‚rwsnsmI{z{yxyxxwxyz{~ƒF(29Yj‚†ƒ„‡Œ‡…tllpn_WQe}}xxyx|yzuvrpqmqorwsqsos~Œ”’Œ‘’’Œ˜µž†„ˆ~‚‚peqreW_ca`_ckjnvjhehj}ƒ†‚„‰‹‡ˆˆ~whmronkE``bcegjjiilmmoopH37Az…‚‚‚ƒŒœ—‰“†}~~~}{ywtuuvwwvutrqqppprvxz|}~}zyyz|}€ƒ‡‘›®¼¹­švpppoqqmif`__^]ca[Z`abgmoklhehuuntpkblyqvy``a`abejkllmliiikmnos€€~}}{y€ ¡vvxz{{zzzxvutuuvvusrpmkklnnpswyyxwvvwutvvtrv~‰—¤°´±ª ‘wmjigeb_[X][YY[\[]\\^^\Z[\ZYYXZS^_ix}yvronnnrtuvvvutsqsvx{~€€~}{xwv~†~Š¥›{qruvyzywwvsqqqqqrqoljjihhhjmprtuwyyxvspqrsssuz‚¢¶Â½¤Œvmjlkhda``[WVXYVWY[cgYY[^Z[ZXUVZW]}{upllklmorrssssrqqqswz|}}}}}|zyyxtt—™Š‡xrsuvvwxwvtqnllllmmmkigfffghjnruxyzxvsqnpqrttsps‚›³ÁÀ¯œ†ulkligfd]Y]YXXW\\WWY_WYY]ZZYWV}|zwrmkkkloqrrsruuuuutuwxyz{|}|y{{ywurp‚£¤pqqstvwwyyxxtpmkkmpqolkjhhgfgilmptwxyzxwuqportusqrxˆœµÈ©Œvlmmnmigeb`]YXWWVWWXX^ZZZZZ{{zxxupljiknoppprtttttrsstwxyzzz{{zxvsssrqx©º›onprrtvvvwwtplkknoopokigfecbbcgosuwxyzyvsnkloqrromo¢Åϵ‹vomnnmlkieb_ZXWUUXXZ\WYZYyyyzzwuplhgjlnnnppqrrrqqopqtuvwyyz{zxuuutssˆ˜ƒnlmpssttsuvsqqmjkkorpnlhfefdcaejnqtvyzyyyvplmoqrsspn|—¶ÈÁ¨Švnmnnmkkhd`]WUVUZ^VWVVvxyzzwwvrmhfgjklmnooopppooooqsuvwyzzywwvtttono€°¹noopprsststspnkjnooqpkheeebabdhmpsuvvxzywtplloqrqpnp½ÍÃ¥†upnnoljiheca^ZWYVTVtuwwxwvutplfdefgkkllmoooooomnpqrtvvwxxwvuuurrpx¢‰nkjmooprsrrssroljijorrnjgebcebacfkoqsuvxxyxtojiknpqpmioˆ³ÑÏ´vspnmkjjjhhhdaZYZpqsuvvwxvsqkfdbdghhiklmmnoomllmoqrtvwwxxvvvtsqpmmotˆ}mnppqoossrsrojhjmqqrpmhfgfeb`bhlnqsuvxyxwtlfgknoonlhk‡³ÐÒµuopomljjjjihea`mortvwxxxvtplheeffghjkllmnonnmllopsuuvwwwwvutrqqqpzºÎ¬wrooolnrrrsssqnkhilqsrpmjgiifbbeimprtuwwxywsmihknonnmjmƒ©ËÒº”yqqpomkjiijgfkmpsuwxxxxwurnjfffgfhjkmmnooopnkmnprsuvvvwwvutsrqqqvys‰ƒillijnooopqqnkhfimpqsromkijigedfimnprtwxxvwuoihkmnppoji~§ÈÒ½ ƒspponljihhekmoruvvxxxvsqnjgfffghkmnnnoopnmllmoqrtuvwwvwutrpooosw~“¥‘–—”••”Šƒ~tljjjkoqomiggffecbdhkortvwwxxwtojhjnpqqplkw’¶Ïͳ–yqpoommlagjlorstuvvutspmifddeefillmmnnnoolklnoqstuuuvvtuŠ˜¢­³¶¼Áº³¬ª°¯­¯®®±³³´®¦‘lggghlmljhdbcca_`afilorstuvvurnihjmoppqnjo„¤ÁÏÄ­”tsqo‚^eilprrstuuvtrqmieccddfijlmmnnoonljiknorstuvuw¢®ª¬©¡˜‡zsmkiihggknsy€††‘„jifdeikljhebaa`_^_`behknqrrssrqmjggknnnnmjho¥Í×ʦ{noÅy^fjmopruyxvvutqmhdcccdhjklmllkklmkhgjmoprtusˆ°ƒyrg`ZUSV]ak“µªi`[XWURQMS}skjfdcfiiigeba````_]]`dfilmoppppokebfhjlmmmkgf}«ÑÚÈšsÏÁq`hjlnprttvvuuspmhdbbcfhjkkkkllmmlkhgjlmpqsrŠ‰NKLNPSW\SUTWk|pVHGdpnjfcM=Stoolhcbehjjigecbbec`^^_bfiknprsrsroiddgjlmnoolhj„¬ÎؽÁѱa^eiknopqwwtuuspmhcabdfiijklnllnmmmjhhjmoqr‹]@W`mzƒ‰S4852/1:=>\gijkmhN<`qpomjgdcgjlkjheeeefdc``cglnpsttuutsqkggjlmoonmlhk}¤Í´ÅÏ\agiknpqrtttuurolhdddehijjklkkmnnopmljknoy‹DEt“¤¦ª°Šk[C55;GJHD<>B<7:QLHnnnpomjfdfjmnljigdeeeda`adhknprtutuutpkggikmmlmmlhi|ˆ»ÈÑŒ]cgjlnqqsuuvusqomieddfhiijjkklnprqppmlllƒu@Uv¶·¸ºº¹´®¥œuz‚sHE934>?64BpAcnnponmlhddimonlkheeefec``behknqrtuuvuspjfehjlmnnmlhVœ½ÊÉw\dhjmoqrtuvutrqolgeccefghiijklmopponmllŽYWUM­´®§œ“‹{±Êy¨œPB2CXUE446vVQonnoommmifefilmmjifbaccba`abeimoqstuutttqkedhlmmnnm\€µÀѵc_gjlmoqruuttsrqokgeccdefghhijklnpponmqŽDwJ2KNF@:?GE[koop`I95Xzi\75/`yCkmmnomnonkhecfjllmjgdbabaa`__bgjlnprutuvvvqjffhlmnn^a‡¼ÄÑŸ^dhklmoqsstttrqpojfdcddefggghjkmnopon|€I†;236898AKJGFGIFGI;@Wrb>5o˜I`mmnnnmoonkjhfdfjmlljgca_`__^^_`dhlorstuuvvurjcfgjlQLU•½ÄÎŒ\bgiklnpqrsssrqoligdccdfefghijlmnppl„j]235;X`I?KIECBBDIIBLO}{Y?3b—§gRnlmnnlnmmmkkifcdhklmliea`__``^]]_dilorttuuttroidfh]TN]£½ÆÇvYbehilnpqrssrqpolifdcdefggghjjlmool‡Vys122A’§s>E@7556@IIHLJ`vpC420uHkklmlkmmmmllligccehllljeca`_`__]\]`ekoqrssttsusojei[QLi±Àνk]cghjmnpqrsttrqnlifbbcdefghikklmnk‡N^2:7TƒŽ”`9522227@@>N\„“‹H551V£Obkkkkkklklllmmkhdbcfjlmmkfb___```^\^bhlopqsstuvtsnnbQNL€½ÂЬaaegjlnopqsttsrpmkhcbbadeghijkjlnkOœM=KA`ž¥³vIH72222313>S¢‚@931AŸi[rjkllkkkklmnnnligcdfjmonmjfcaabeda^\_djmoqstvvutsprdSMS—¾ÃÓ—\cgjklmopqrsrqpnljebaabeghhhijljep]˜GMNMIq‚{`KNE88998558K‹ nA<744ŒŠh•hkjhlkjlmmmmnmkjhebdhlnnnlidb`bddc_\\`gknoqsrrttnqz`QLa©ÀËÍ^fiklmnoqqrqqppmlhdbaaceghhjlmkc]q•KPWJmy¡‚KIJHFFGFDB?Y’˜™^E>A92€¢EjhF?>Kjkllllllllljidbbekmmnmjfb`a`aab_[_eilnppqrsutqj\QOrµÄÑÉzagjlmnnppqqrrqpnkhdb``bdfbTPT‚sMz™Nr…I‚w\OHHKPPROLTMWb{”„RD8=:1nk5ZW:A:5fkkkkkjjklmlkjfb`chlopnmjgdbbbcc]\]afjlmoprupppjXXm’ÁÊØÁobhjllnoopqrrrqpmjfca`acdF7;7‚uIZpLru>FEACKUafa\RKJ@IEQl_ROJ:4475;=7652Acijjjjjjjklmmlkfcabhmoppoligeecccc`^_behknppqspl]SVYÆËÖ¬ccfhjlmoopqqrsqnljfc``bc;4;9@GC62421/8?C?8:96557845965=C?AF;9:=EO600W¢Å‘dhijiiijkllllkhfb`bfinppnnkgedddeda^]^bgknrxvsrjUNLa¯ÇÎÕ]cfiklnnnopqrqpnlheb``bN5//.2NU<<97766776667666667776777779::=BO4?X…·²žgeghhihijkjkkjjhedbabhnopqokheeedc__^\]_dhtwvwy{kVPLyÁÉÓÆn`fhklmmmoppqqpomjgd__`a_Z]`3J\<<;:9888777777776677877787899:N54334433342:Œ´¬¥^BXkijjhk»ßá¨iefghhhiijjjkkjhgdb_bhlnnlkhc^_^^^^^mvokrtwuj^QMM~½ÃÑËr^fhjjllmmnoopnmlkifa`ckgg`”²¶ÁV112233223465454444333227nª¡–¡v2Hkijihf‰ÌÏÄzbeghhhiijjjjjkjigdb`bfikmlkhb^^^``_x}spvusqst\NMUÃÅׯbehijkllmnoopmmnlkhda_gR8e¨š¦´•X3./1111348977632122444o®¥®Åši/:fjijhifllhgddfghhhiiijiiiiiifdb``chlklkga_^^^^vtpmrrmjkmiPLKh¶ÁËÖŒahijlllmnonnpoonmkhdY]S,P›©ÊŸÅ¸XGHABCA<99c²P:DPURRSˆØìڶ΢Q.3cljjiiihhigfeefgghiiiiihhhhjhedb__dikmmkgd`\]]sqphmqrvtqmULMN‰ÁÄÕÈpcijklmnnonnpppqomjf[QC->‰ÄÊ·ð[]bh’–I€×iKxzug`m¬ºñíìÔàw9-4bljjiiiiihfedeffgiiiiiiihhikjhgea^^cjlmmmke`^^pghnkouwtvvbMM`o¤ÂÈØ®fhiilmnmopppppqpnlibP7:1,6dljjjighhhfdbdddfiijiiiijjjjjjifca__cilnnnlhdblpnmrroqtwuoVKPQd°ÂÌÖ’afjkkmmnpppppqqpnkeO4C>3g«–£¾Û¯º†emn`VaÕöÎdkuz€wš¬{vp?321,+7fmkkjjiiihfc“ÁÇ°lehhiiiijkkjjjjigec_^bilnopmjh}wvuyvoorpkmhOKLL~¾¿ÐËvaghhkklnnoppqqrolhI2402247>bSTwXlv{ly´æ½„rmkaZ_U:<>:840,.7glkkkjjjjige}Óçæ¨bghhhijijjjiiiiiheb^]bhmpqonm|ƒtoonkopsmeQKOMSŸÀÄÖ°acfhjijlmmnopppomjA/.-/038<>@FNY^cs‡œ¥·ÕÊ´«™‹{oeZPHB>:632.9ilkkkjkjjiigft~zweehhhjjijiiiiiiiigda^^biloopov{uwwprkrsspng[OMKj¼ÁÌÕ\dfhijklmnooooomlE+,/4579810-AnllkkjjjjjhhiihhoŽ€hhhhghhhhhggfffghfdb_]agknopzsrpoopmnnqrrlULMLoÃÈÑÙŒahiklllmmnnmooonR,--.27>DO\q‡¸£ÅêàìëììììììôÁ²Ž}jQB<50/-Epmllljjjjjihhhhhgb`ggghggggggggghhihfedb`^ahlnpoqyvrnqstkmommXLMNRžÉÈÖ¾d_egjjkmmmmmnoooV,,0-/4:=EUcu•—Á÷òòñññðîêçè¥]gTIGie==4/-Iommlliijjiiihhhhhecbfedhhgggghhijkjhggeeb^]bgknorvpppsvvokoojUNMNLmÀÈÐØŒbiillmmmlmmnonoX-/0.3;gvdAFRTWQVUWXWSLIFA748;;GE50.,-.Nlkjkkf`hgggfgffeeeeeba^addefeeeffggfffefgfeda^mlokecgmnu|xzsnqiTOQVfºÉËÚªhkllllllmmllmU+>..,/13/,+-0369?AACDFHKMQYQMHC?<632/4C]v‰›ª¯´¶¶¶³°³´³²²²±±°±³´«¤‚acdgfffghgeeefeeddfgfecaˆ‚…|{~|mmu|}€yi`UNNOMZ¯ÊËÜ»ifgkikllkj`XF*>4-,+-/001212534777@=30/-,+,--*H˜¤¯µ°¬¦¡ž›˜–’‘ŽŽŒ‹‹ˆŠ‹ŒŽžtbccddefgfffgfeeeddfgfec‹€w{xvmpxrpkrmfecYNMMagˆÃÅÏÙafghhhhhbWWG)>8/.:.,,+***)++**)*))*****+,..?œ³Ž’Š†|ywuqoomnmlllkiiiijljsˆibacefghgfggfedffefgffe…‚}{‚|wtwgdlt~vmoi]NMM]ba¤ÃÃ×Âicfgfdcc`ZXH*<631TRB93//.+**+*++++++.47=?@As®Šjmkhfecbaa_^^^_^^^]]]]^^]]]Yqwccbglmihhiigffggefffff†{‡z†z†z†z†z‡z‡z‡z…z†{‡z†z†z‡z‡z‡z‡zˆzˆzˆz‡zˆz‡z‡z‡z‡z‡z…{ƒ‚}„y„vƒt„t…t†w†xˆx‡y‡z†y‡xˆ{‡{‡zˆv†t†x†y†z†{†z…y…y‡z‡{„~ƒ€‚‚‚€‚†y†y†y…y…y†y†{†z†z…y†z†z…y†y†y†y†z‡y‡y‡y‡y‡y†z‡z‡y‡z‡y…y…{‚€|‚xƒvƒtƒs‚u„t„v…y‡x†x…y…w†yˆz‡y†y†w…u„w…v…x…z…y†w†w†y†{„~‚€€€€‚†z†y†y†y…y†y†z†z…z†y†y†y†y…y†y†y†y†y†y†y†y†z†z†z†z†z†z†z…z‚~€€‚{ƒv„w„wƒv„v„w…y…y„x„x†w†z‡z†y…xƒw„w„v„uƒx…y†y‡x‡x†y…zƒ|‚~‚€€€†z†z†y†y†y†y†y†z…z†z†z†y†y†y†y†y†y†y†y†y…z†{†z…{„|…{†z†z…zƒ}€~ƒz…y…x„w„w…y…|„{„x…w†w‡z‡z…z„{„yƒwƒv„v„x†xˆxˆyˆz‡y…y‚|‚‚€‚€€€†y„}ƒ}†z†y†z…z†z†z…z†z†y†y†y†y†y†y†y†y…y…{…|…{ƒ|ƒ|„|„|…{„}‚€~‚{ƒy„w„v„x…{…{…y…y…y‡z‡{‡{†{…{…z„uƒv„x…y‡x‡y‡z†z…y„z‚~‚€€‚€ƒ|€‚€ƒ~…|„}„}…{…{…z†z†z…z†z†z…z†z…z…z…{„}‚}‚~‚‚~‚}ƒ}ƒ~€~ƒ€‚~‚|ƒx„x„v„x…z…{‡y†y†{‡}‡|†{…z…y…x„u„v…v†y‡{‡z†z†y„zƒ}‚‚‚€€€‚ƒ‡‰‡ˆ~‰~‰}ˆ|†{…z…z‡z…z…|†z…y…z…{…|…}‚€€€€€€€€€€‚„|…}ƒ}ƒ}ƒ{„z…y„w„w„w„x…z‡z‡|‡|†{…{†z…y…w„w„w…v…w†v†y†{†y„{ƒ~‚‚€‚‚€€†~‡{†zˆ{‹{ˆz„|†|…|…{†z†y…zƒ}…z…z…}ƒƒ‚€€‚ƒ~‚~€€€‚~ƒ}…{†{„{…|„z…y…x…v„xƒv„u…x†z‡}†}…|…|…{…y„x…y…x…w†u†s†v…x…y„|ƒ~~‚€‚€€€†{„{‚|…sˆs…u€‚~…|†}†|†|„}ƒ€ƒƒ‚€‚}„|…|„|„|‚|ƒ}ƒ~‚~ƒ|…{‡{‡y…|†z…z„z„x…x„zƒx„x†z†z†|…|…}…~„|„z„w„x…x…u†t†t†v…v„xƒ|‚‚€€€‚ƒŠxŠxƒ€ˆy‰y†yƒ†‡|ƒ€ƒ€†€††~‡}†…ƒxˆw†x†{ƒ{ƒz„|„{…z‡y‡x‡y†{†y…z„y„w…x…y…y…y†{…{…|…|…}„}ƒ|ƒz„yƒw„w†v†u‡u†v…vƒv{‚~‚€‚~‚yx‹|zz{‡~Š|z†~€„„€Š{Šz‰wŠwŠzŠ|‡|†w‡w†{„{„x…z…y†x‡x‡x†y…z†z†{…z…w…u…v†v…v…z…{…|‡}…}ƒ|ƒ|„zƒyƒw…w…x‡v‰u‡t…v‚v{~‚‚‚z“y“w’w“x“w“x’x“w|ƒ„€‡~‡~†~†~†~‡}‡~‚{…w†x…y…v†v‡v‡wˆvˆwˆz†{…|†z…y…w…u…u…u…w†y‡{…|…}„~„}…z„xƒy…v†v‡x‡x†w„wƒx‚{~‚~ƒˆ‚†…‰ˆ}‰Š‰~†ƒ…‡‡„€‚ƒƒƒ‚€‚€ƒ€„‚y†v†v†u†r‡tˆuˆvˆuˆwˆz†|…}„z…y…x„z„{„z†z‡yˆz†|†}„|…}„z„y„w†u‡v‰wˆwƒwy‚{‚‚ˆ‚‚‚}„|†…~†‚„‚‚‚ƒ‚ƒ‚‚~‡~ˆ‚†‚€€€€€€„ƒ~„‚€€‚y†u‡tˆsˆsˆsˆu‡s‡tˆwˆy†y…z„y„x„z„|…{†zˆzˆyˆz‡}…~„}„}„~„{…x‡xˆxˆx‡xƒz}€€‚‰‚€~‚}„{†~‡~ˆ€…€ƒƒƒ€‚‡Š‚…€‚„~ƒ„~‚€‚y…s‡sˆsˆr‡sˆt‡t‡t‡v‡x…u…x…x„x…z„{†y†y‡y‰zˆ|‡~…„ƒ‚~ƒ{…v†wˆx‡x‡zƒ~€€~‚|„}‚€}ƒ{…x…€€ƒ~…~…€„…~…~†€…‚‚€€€€€‚€€€€‚y‡s‡tˆrˆq‡sˆt‰v‰u‡s‡v†x…y…y„zƒz…y‡x‡x†x‡z†|…„„„~„{…w…r‰sˆv…w‚{€~}|~~‚}ƒ~ƒ{‚v„qƒ‚€‚~„}‡}ˆ|ˆ|‡}…‚‚‚‚~‚„~‚~†}ˆ}‡‚ƒ„x‡sˆtˆs‰sˆsˆu‡wˆx‡u‡w…x…x†y…z„z„x…w†w†x‡z†|…}ƒzƒzƒxƒv‚p‚o‚po~n|q|q|o~pr~u€zƒ{‚wo€l€k‚‚‚‚€‚~‚}‚|ƒ|„}„€‚„~……}…}…|†~‡ˆ~…w‡tˆtˆtˆuˆt‡v‡x†y…x†x…zƒzƒ{„{ƒzƒz…y‰y‡y†x†sm~i}n|m{q{r{q{n{kzg{f{g|e~d~e~ehfc{f~hj€‚‚‚‚ƒƒ…†€†ƒ€€‚ƒƒ‚„ƒƒƒƒ„„‚†…‚€ƒ~ƒ~ƒ}„}„~…~„ƒ‚‚‚€‚€ƒ‚„„„}…w…t€tw~x€z€zzx~w~vwv€sppn€l€jlnk€k‡~‡†€‡ˆ~ˆˆ~‰‡~‡}‡~ˆ}ˆ}‰}ˆ~‡~‡‡€†€‡ˆ~ˆ}ˆ}ˆ~†~„€ƒ‚ƒ€‚‚ƒ€„ƒ‚€ƒ€ƒƒ€„€…€…€†€…€„ƒ‚€Š†€ƒ€ƒ‚‚ƒƒƒ„‚ƒƒƒƒƒ€{u€‰{‰|ˆ†ˆ~‰~‰~Š~Š}‰}‰}‰}‰|‰|Š|‰|‰|ˆ~ˆ‡†‡ˆ~‰~‰}‰|‡|……€ƒ€ƒ€ƒ€„„ƒ€ƒ€ƒ‚‚„€…†‡†…„‚‚„€Š€„‚‚‚ƒƒ„€…€†€‡€‡€†‰{‰|Š|‰~‡†‰Š~Š}Š}Š}Š}‰}Š|‰|Š|‰|‰}‰~ˆ}‡†€‡‡€ˆ‰}Š|‰}ˆ~‡~†„€ƒƒƒ€ƒ€ƒƒ‚€€‚ƒ‡‰~ˆ}‡~…€‚„ƒ€‚€‚€‚€‚ƒ€„€„€…†‰|‰|Š{Š|‰}ˆ~‡€ˆ‰~Š~Š~Š}‰}Š}‰}‰|Š|‰|‰}‰|‰}‰}ˆ~‡€‡€‡ˆ~‰~‰}ˆ}ˆ}‡†ƒƒ€ƒƒ‚ƒ‚‚‚€€‚ƒ…‡~ˆ}‡~†„€‚‚‡€ˆ€€‚ƒ‰}‰}‰|‰|Š|Š}‡€†€†ˆŠ~‰}Š}Š}‰}‰}‰}‰|Š}Š|‰|‰}ˆ~ˆˆ†€…€‡‰}‰}ˆ}Š~‰‡„€ƒ‚‚‚‚‚‚‚€€€€€‚…ˆ}‰}ˆ~†€ƒ‚€…†‚‚‚~‚‚ˆ‰~Š|‰|Š|Š|Š~ˆ…†€‡‰~Š}Š}‹}‰~‰}‰~Š~Š|Š|‰|‰|‰~ˆ~ˆ€†‡‰}‰}‰}‹}‹}Š}‰~†„€‚€‚‚‚‚ƒ‚‚€€€€‚„†~‡~ˆ~‡€ƒ€‚~‚~‚„„‰~Š}Š|Š}‰|Š}Š}ˆ…€…€‡‰~Š}‹}Š~‰~‰~‰~Š}Š|Š|‰{‰}Œ|{Ž{zz‘yŽ{{‘z’y‘y‘yŽ|†„€ƒ‚‚„„ƒ‚‚‚‚‚‚‚€‚‚„€‡~ˆ}ˆ}‡€„‚‚‚€‚…„€„†€‰~Š}Š}‰|Š}Š|Š~ˆ…€†€ˆŠ~Š}Š~Š}‰}ˆ}‰~‰}Š}‰|‹}{{|||‹}…………Š€Š~ŠŒ~{‹}ˆ~‡„€‚‚ƒƒ‚‚‚‚ƒ‚‚‚‚€€‚€‚€‚‚„‡‰~ˆ}‡}…‚€„}„ƒ…‰‰}Š}Š}Š}Š}Š~ˆ…€†€ˆ~‰}‰}‰}Š}‰}‰~‰~‰~‰}Š~‰}‚}|~{ƒ}†}†}‡|‰z‡{‡|†~‰|Š}Š}Š~ˆ~…ƒ‚‚‚‚‚‚‚‚‚‚‚€‚‚‚‚‚…€‡ˆ~‡~ˆ~†€ƒ€|…|„‚ˆ€‰‰~Š}Š}Š|‹|‹|ˆ~†€†‰~‰~‰~Š}Š~‹~Š~ˆ~‡~‡…|~{}zy‚zƒ{‚|…zŠx‰{†~‰|Š{‡|‰~Š}‰}ˆ}†ƒ€‚‚€‚‚‚‚‚‚‚‚‚€‚€‚‚‚€‚‚„€†ˆ}‰}ˆ~}“}ˆ~‚„‰‰~Š}Š}‹}‹|‹|Š}‡‡€‡‡~ˆ~Š~Š}‹~‹~‰~‡~†}‰|ˆ~†€‡}Šwˆx†{ˆxŠw…~~‚†Š|…|‡~Š}‰}‰}‰}‰~‡~ƒ€‚€‚ƒƒ‚‚‚€€‚€‚€ƒ€†~ˆ}|ƒ„}ƒ~ƒ…ˆ€Š~Š~‹}‹}Š}Š}‰~ˆ†€‡‡ˆ‰~‹}Œ}Š~†~…|‰{‰}‡†‹x‹yŠyŠvŠx…|ƒƒˆ}†|†~Š}Š}‰}‰}‰}‰}ˆ~…€ƒ€„€ƒ‚€ƒ€ƒ€‚€‚€‚€€‚‚„€vƒ„~ƒ|ƒ‚‡€ŠŠ~Š}‹}Š}Š}Š~Š~ˆ†€‡ˆ‰~Š}‹}‰~…†|Šzˆ}~…‚ŠzŠ{Š{ŠzŠz„€{‰‚ƒ‹{ˆ{…}‰‰~‰}‰}‰}‰}‰~ˆ~†ƒ€‚ƒ‚‚€‚‚‚€‚€‚‚€‚€‚oz‚ƒ}‚|‚‚‚ˆŠ~Š~‹}‹}Š}‹}‹}Š~‡…€ˆˆ~Š}Š~ˆ~…~„{ˆy‡|ƒ€…~‰y‰z‰{‰{‰{‚{Šƒ‚ŠzŠ{ƒ|‡‡‡‡~‰}‰}‰~‰~ˆ~‡~„‚€€‚‚‚ƒ€‚€‚‚€‚€‚fyk{{}z‹~‚ƒ‚ˆ‰~Š}‹}‹}‹}Š}‹}‰…†€ˆ~ˆ~‡†€…„~„~…~†~†~†|†}…~……~ƒ€€ƒ„ˆ}Š|‰|ˆ~„€„€…~‰~‰}ˆ}‰}‰}‰}ˆ~…ƒ‚€€‚‚‚‚‚‚€ƒj}g{o~|ˆ}‡~ƒƒ†‰~Š~Š~‹}‹}‹}‹|‹}ˆ~†€‡†€……€Š}}‰~‰~Š~‰}‰}‰~‰‰‰}Š}‹‹}Œ|{’z}„€…€…†‰~‰}‰}‰~‰}‰~ˆ†ƒ‚€‚€€‚€‚‚‚‚ƒƒ‚‚‚ji|i|v€€‚~ƒ~ƒ‚ƒˆ~Š}Š~Š}‹|‹}Œ|Œ}Š~‡€†€‡‡~‡}Ž{‘{Ž{|||‹}‹|Œ|‹}Œ}Œ}Œ}Œ||Ž|’zŽz†‡€ˆ€ˆ€‡‰~‡~‰}‰~‰~‰~‰~‡ƒ‚€€‚‚‚ƒ……lmkrƒƒ€‚}‚~ƒ…‰~‰~Š}Š}Š}‹|‹}‹}‰~‡€‡€‡Š{Ž|Œ}‹}‹|‹|Š}Š}‰}ˆ}‰~‰}Š}Š}‹}‰€‡†Œ‰}ˆˆ€ˆ€‡ˆˆ~ˆ~‰~‰~‰~ˆ~ˆ~†ƒ€€‚‚ƒ€…€‡€‡€nƒkh|l€xƒ€‚~‚}ƒ€‚‡€Š‰}Š}‹}‹|‹|‹}‰}‰‡€…€Š|Š€€…‡‰~‰}‰~‰}ˆ~‡€†‡~ˆ~ˆ~‰~‰}†{†„‰~ˆ~ˆˆ…‚„‚‡ˆ~‰}Š~‰~ˆ~‰~ˆ~‡…ƒ€‚‚‚‚…€ˆ‡iifyg{j}z‚}|ƒ‰Š~Š~‹}‹}‹}‹}Š|Š}‡…€†€†‡€……€†€†€††€†‚‡ƒ†€………€„€„€ƒ„…€ˆ~‰~‰~ˆ~‡€ˆ€‰~ˆ}‰~‰~‰~‰~‰}ˆ}‰~†‚‚ƒ…‡nm~hyfxdyr„~•{‡~‚…Š~‹}‹}‹~‹~‹}Œ|Œ|‰~…€„€…€ƒ‚‚ƒ‚‚ƒƒƒ…„…ƒ€€€€‚‚‚ƒƒƒ„ƒ€ˆ~‰~‰‰~‰‰ˆˆ‰~‰~‰~‰~‰}‰}‰~ˆ~†ƒ‚‚‚ƒl€j~fyewfxj}{„‚‹~„}‚€ˆ‹~‹}‹}‹}Š}‹|‹|‹}†€„€„€„‚„ƒ‚„ƒ‚ƒ‚ƒƒƒ„†‚ƒ€‚„…‚…ƒ…‚…€‚‡|‰}‰~‰~‰~‰†€ƒ€‡€‰‰‰~‰~‰}‰}‰}‰~†ƒ€€€‚‚f€gfzfxgxhyq~€‚}‚|ƒƒŠ‹}‹}Š}Š}‹}Œ}Œ}‡~ƒ„€…€‡‡ˆ†„„€‚€‚ƒ…€‡ˆ}‰~‡€…„€‚€ˆ}Š|Š}‰}‰~‰~ˆ…€†€ˆ‰‰~‰}‰}‰}‰}‰~ˆ~‡~ƒ€€‚€‚hg~fzexewewfyu€‚€‚}‚‚ˆ€Š}‹}Š}‹}‹}Œ}Œ}ˆ~‚€ƒ†€‡~‡}‡}†€‚€€€€…†~‡}†„€‚€ƒ€‰}Š|‰}‰~‰}‰~‰~‰~ˆ€ˆ‰ˆ~‰}‰}‰}‰~ˆ}‰}‰~…ƒ€‚‚hh~fycwfxgzgys~€‚‚~ƒ‚…Š~‹}‹}‹}‹}‹|Œ|‰~‚€‚€„€„ƒ„€‚ƒ‡}ˆ}ˆ~ˆ‹~‹‚†‚€ƒ€‚ƒ€ƒ€„Š}Š}Š}‰~‰~‰~ˆ~‰~‰‡€…€‡‰~‰}‰}‰~‰~ˆ~‰~ˆ~‡ƒ‚hh~f{dxg{h{hzm~}ƒ‚‚~‚€ˆŒ}‹}‹}Œ}Œ|Œ{‰~‚€€€‚ƒ„‚ƒ„~‡ˆ~ˆ{ˆ}‡~‡€†€„‚„€„€ƒ…€‰}Š}Š}‰~Š~‰~ˆ~Š~Š‡ƒ‚ƒˆ~‰~‰}‰~‰~‰~‰~‰}‰}ˆ~ƒ€j€i}h{i{h}g~g~jt€‚€‚}‚ƒ‹}Œ}‹}‹}‹|‹}Š~‚€ƒ‚‚‚ƒ‚‚ƒ€ƒ„ƒ~ƒƒ€‚‚‚ƒ‚„€„ƒ€†}Š}‹}Š}‰}Š}Š}‰}Š}‰~‰~‡€†€ˆ~Š}Š}‰~‰~‰~‰~‰}‰~‰}‡jƒj€h~h€n„k„g‚iq}‚‚‚„~ƒ‚‡‹~‹~‹}‹||Œ|ƒ‚€ƒ‚‚ƒ‚€‚ƒƒƒƒ‚„€„ƒƒ€†Š|‹zx‘y’w‘w‘w’w‘w‘w’v’w’wz‰~‰~‰~Š}‰}‰}‰~‰}‰~‰~‰~‰~jˆnˆm‡nˆp‡p‡m…o…t†|„‚~™}}‚‰~Š~‹}‹|{Ž{„€‚€ƒ€ƒ€‚€‚€‚‚€‚‚€ƒƒ€„€„€„€‹y”w—u—u—v—u—v—w–v–w—w–w•x–w”x‹}ˆ~‰~‰‰~‰~‰}‰}Š~‰~‰}‰}ÓÓÓÓÓÓÓÓÔÕÔÓÓÓÒÍÇÊÇÏÒÒÓÔÓÓÓÒÒÓÓÓÓÒÒÒÑÑÐÑÑÐÏÏÐÐÏÐÑÐÏÑÑÑÏÏÉÀ·³¨¤–…€wmp{onlppvimgZaf_`iaW_cacZTRW^^chbgVXZZXYWW^XTZab_ZWOG?:==743B3ÓÒÓÒÒÓÒÒÒÓÓÒÒÒÐËÇÉÅÍÑÑÓÓÒÒÒÑÑÒÒÒÒÒÑÑÑÐÏÐÐÐÏÏÏÏÏÏÐÏÏÐÐÐÑÒɸ¢«ž|…}„xdbdt€sabqol^[]_b][YScjb_WRRS][_jkkSYad\TSOVV\ce^YPQLBB86743197ÒÒÑÑÒÒÒÒÒÒÒÑÐÐÏËÄÇÃÌÏÏÐÐÑÑÑÑÑÑÒÒÐÏÐÑÐÏÏÏÏÏÏÏÏÎÏÐÐÐÐÑÑÑÑÑÎçŒtrrsqqrsx€}dedgi__^_`aVVYai^]]YXUXVZ`kgSU]^WOQQUWbgcd]RIDA=952452/4ÐÐÑÑÑÒÒÑÑÑÑÐÏÏÏËÃÇÃÍÏÎÏÐÐÐÐÐÏÎÏÏÎÍÎÎÎÎÎÎÎÎÎÐÏÎÏÐÏÐÐÑÒÑÑÑÎϺœ“}pwy~zƒƒkjfbj]chh^^[Zd^W\jjWTW[[WROZR]kURW\]SOUSS^ebcXWWQI@=96543/.ÐÐÐÑÑÑÑÑÑÑÑÐÐÑÑÌÃÄÃÎÒÒÒÒÒÑÐÑÐÐÐÐÏÏÏÎÍÍÍÌÌÌÍÍÍÍÌÌËËÍÎÏÏÏÏÎÏÀ˜’ƒˆ‚ygqpgkbcd[mf]ZXXRafdfuq_TRX_XPLVUV]V\]]XPRTX]bZ[\SR\QK?AD>631.,ÐÐÐÑÑÒÑÑÑÑÑÐÐÒÒ˾¿¿ÎÒÓÓÓÓÒÑÒÒÒÒÒÒÒÒÑÐÐÐÐÎÎÎÎÎÏÎÎÍÉÌÎÏÏÏÎËÉƦ~~tjcpurfbec\^bXT_VWU^kjklimZTY\UTVWVUZT]`dXVWT\^`[\XWQSRK@A?8761/1ÑÑÐÑÑÑÒÑÑÑÑÑÑÒÒÉ¿ÇÀÌÓÒÒÒÒÒÑÑÑÒÒÑÑÑÑÑÑÑÐÏÏÍÎÐÐÐÏÎÍÈÍÏÏÒÒÏÊÆŶž~uiZWjd^bedbfbZXUNQY\ceimb`WTSSQLVSWSbNWW\^[^]a__ZVUWQSMHE@B=531/6ÑÑÑÑÒÑÒÒÑÒÑÑÐÑÑÊÄÎÅÊÓÒÑÑÑÑÑÑÑÑÑÒÑÑÑÑÒÑÐÎÏÌÍÍÎÍÉÇÉÆËËÍÐÑÎÇÁÀ°„€wYWTVTY\pujgf^\QFDQ\U`fe`ZXVNNMJMJSN]RUWWZZ^^]^c[VQWQZQEIB@?40/..ÑÑÐÐÐÑÑÑÐÑÐÐÐÐÑÉÄÎÆÉÑÑÐÐÏÐÑÑÑÑÒÓÒÒÒÒÒÑÐÎÎËËÉÌŽÅÂÇÅÉÍÍÉÀ³©«Ž„zya[Y\[klbtjlbXYUTYXgXR__WSZ\UNKHQSU^\UR\^XW\\YQW[WSZU[YA76320//--ÑÑÖÝÚÓÏÐÏÎÎÎÎÎÏÈÄÌÆÈÐÑÐÐÐÑÒÒÑÒÓÒÒÒÑÑÑÑÑÎÇÅÅÄÇ¿¾´Ã½Ã»ÄÊÄÁ·§ŠƒxŽ€jbb[^ioZraY`VQWWb_YRSU[TSUXZNNNWUV_m`QY[XZXW]TS\[[a`NE=8541//.--ÓÞëðïçÕÍÍÊÆÇÈÊÍÅÃËÆÅÍÎÎÏÏÏÐÐÑÒÑÑÑÑÑÐÐÐÐÏÇÄ¿¹Á¼¶©À¹Â·»Ä¹À·ž‰}slhhhgW^f`Yi_V]`QVVZ_XXVPRQNOPV]YSURTUh]O\][UOQ[Y[VZTPLA9>=;83/..--ßîßÄÓìêÐÆÀº¹½ÁÇÇÈÍÊÈÍÎÏÎÏÏÏÏÏÐÏÏÏÏÐÎÍËÊÉŹ°­²¶¬¦²²½³¸¼±³©‰{|ypmTdja\g[T^kb[a\NRUW`deWRPOOQUPX[MQWQV``^e`WROS\X[YRSYKED><;:730/--îÔ”‘ÈêÕÀ¼¸·¼½ÃÈÊÎÌÈÍÏÏÏÐÏÍËÍÐÐÏÎÍÍÊÈÆÃÀ¶¦¢¡¨©ŸŸ©°²®±¬©Šxpolps`[\ZecYYba^bZUZVWXXc[TURPUYUVW[SSYSU\b[b\__Y`aUV\YWSAAI<868764100è«ž˜—™“‘’”˜ªÉÌÆÌÐÐÏÐÎÊÆÌÏÎÎÌÉÇÀ¹ºº¾²¥›•¢ ›š«µ±­¥¡•{mhhYlfWNJQZc\UTbkbdqabgaV[PSRQRUZTXUX\T^QQbaak`hbmkdUROOLMB?C:877766014ÑŠxx~‚€c\bWb}€|x§ËÄËÏÏÏÏÌžÉÍÍÌɱ¦¢¢¨«¤¢›—••§³°Ÿ•••‡wfhl^aXRTSS[cb_lrcTYfQZur]TQMOOMILOQRQOS[V\bWU]]dj``[RKOJHGDJB9866565137Áu’µ½À—eToœÆÑÑÅŸƒÁ¿ÆÌÍÎÌʶÆÍÌŹ­ž ¡™š“”‡˜—’Ž•˜Ÿ’Ž†yxre\W\_[Q\`ZV^k`URbjieb`VTOLKJLJJHIQOVa_\`ZS_mjkY`WQYULLB@C:96644455;?½l…€iu««{Xn¾ÜèçÜžs¢³µ¼¹À¾ÈÅ¿ÉÎÎƹ³­©©™—’‰…‰ƒ†ƒ‘ˆ‡„‡…ƒ}{seZXWYb\X\WU[kUSRbkhUU^[UOMNLMKILLKTX`fU\TSpvhjbeaWa\XXJ=;<:8654585>:7678:>@>nbm}®\77VlQmuN:JRYM;9<>:¯£šƒ‰†‚„~€}xxz}yg[U^]^Z]ZQ^]`cjjlquoU__WPTTIGHQYTSRRSKNY\`\PQa^caakiZbUA::>==;;;??A@==<:8X±âÛ‘€†ŒŽ‰ƒ‹†€{zz}z{uc\abWZXX[d[QPau†xi_ciTWPNTVOPLEBPWTVXURahgh]U\]a^V`YWWH=99<<89;:;@@>CSXYc_^dlpecb[`W\VWY[XC;999::89999997\ˆ?99;>=@JLHðêáé~T^cg¥gc^Xoçêìó|…àÞèêêêîïïëîïïëêìæßȆ‚€………‡~zzplrx~tldbSTWJMTX\_WRVTWX^Z[[]d_UMFFEGJKGHILVZ``WQZVXUVNJIF>97896_A:9<=>EHIJãéãò—FKIRžÀ`OLInãÞÞÚaâáéèêæ»°ºß¼«ºæêãáÚÖ—|€……ƒ…„}zytypszvmkbTZ[Y[\c_ZJHV\cZ^][YZ_ZRKDGC@@?>>BNRZe]V\^V[]RMH><;98884“ßL37=;=EKLMq}™‚z‚‰ÂØ•‘‹‚~zj_?˜æäééä翯´ÜĶ´áæåäÞà{€ƒ€|yzympxolkcSbn^XV\^\VSZ\^fb\Y`^YPIGBBA?=79AGJM_m[W`\_`YHEC:7:987;6’ãL1;>?EJIGSHP]›Ößßâãääãåäâà»lOH=”îèéêæëìáãêáÛâëæëçêç™z€}~„ƒ~{|yqmsllff`mse]QS^]XUW][c\Z_j]SLDBBBEC@?EKD@Napm_OTkSIA;<<9==;9?8‚ÛR6?>@FLKDYMP\œèóòðñðïððòñí¾fPKA†ìììëíììíìëììëëìììîߎz}~{~ƒ…‚z€~ullople`a[`^PPYXQRXa^]\_a`WYOIABIKD>EUUMYbbqqVZ\NC<768>BCB@B>€å^:A:@PXQkqn}ladVLE@<=BIOKD?B;‚ðh==5?JJYcpBES‚cBTfb`^ZYgWS…gECUtáæÓ³ÄíÅ©©¨¡Ÿ·ìÉ®ÐâÏ|€|wƒ~vtqnmlhgrcY[a\[_VSVTXT_b_h`XZVQKIIDHLGGIRRYmopy{hgrm[TQPSZXXWJJR>òm:7;Y]aomnIJJ`yir‚Ž„‚ŽxqOKJI_ÔÒ¯m‡êÂ~xxvu±íŒb¨ÊÂx}€z~|}wvmdce^angYRY\d][UPQ[X`jbe\RRYUOGA?KZcX_hltg_]_dhlorrsg`o}{tohlmZŽñ~]Z`yxuwokDGFQox{€—˜…‡„}oZFFC;KÁñçßÝëëÏÉËÉÎéêßßäò©s‚z€x}‚{|rf\fjgdeeY[]\WVURQV`_X^^WPU\ZVY^^u‡{eo|t_X\acdgmktƒˆ…‚†‰„‰ŒŒ›º——†~wxuk4<236?l›Ÿ—¡¥¡¨¶Â±œ‰‰Ž‰Ž]p…{{zv|€szphebkebhc\^YYXY]^VR[[TRTXb_]clˆ‹‘ŠgfwpZU]``_alnqzƒ‚€zzŽ‘“—•“‰‘Ž†‚rwsnsm5kwxxvvuttuvwxx}ƒh+/3Gmx€„‰ˆ…‚wqrtwcQQ[v~xxyx}y{vvrpqmqqsxtqtos~Œ”“Œ’””ŒŒ™µš…„ˆ‚~ƒ‚peqrfZ`cb`_clkpwkhfij|ƒ†‚…Š‡ˆˆ€~whmronk7]gfghilkjknorssud234X†…‚ƒ†ŸŽ”‘‡€€‚~|yuuuvwxwvtrqqppqsuwz{~~}zz{{|}|}€…‘›­¹·¯œŽvpppoqqnif`____db\\abdhmokliggstntpjbmyqwz[\^^`abgjkkljgfghihjjw€€~}{y€Ž §‘wwxz}}|{zxwvuvvvvusrpmlllnnptwyyzzyyyxvvuutv}‡’¢°´°ª ‘wlihgeb_][^\ZY[]\]\\]^\[[][YYYYS^_jy}ywtqonnptvwvvvtsrtwy{}€€€~~}{zxv|…}Œ¨{stvwzzzyxwtqqqqqrqomljihhiknpsvxzzyywusrssttvz¢¶Á½¤Šumklkifca_[WVXYWVW[cgYY[_[ZZXUV[Y^~|wqnmlklosrstsssqqrsuy{|}}}|||{yyut•˜ˆ†xstuvwxxxwtqommnnnnmkigefghikotwyyzzwuspqqtvtsprš³Â¾®˜…vmlmjgfd]Y]YWWW\\WWY_XYX^ZZZXX~|{ysnlkkloqrsttuvvvvutvxyz{|}|{|{ywurq‚£¥€ooqtuwwwyzyxtqommnpqolkjiihghjlnqtxy{{zyvtqprutsqqxˆœ¶Çé‹vlmmnmigeb`\YXWWWXXZX^ZZ[Z[|||zyuqmkjknoqrrttuuuusrsuvxy{{{{{zxvsssqpx¥´™qoprsuwxxxxuqmkknpppomigggeddehotvwyz{{xupllnqrronq£ÇÏ´‹vomnnmlkiea_[XXWWYXZ\XZ[Zz{{zzzvqljikmoopqrrrssrqopqtuwy{z{|zxuuutst‰˜ƒokmqssuuuvwuromjklpsromihfgfddgkoqtvy{{z{xqlmoqrsspo}˜¶ÈÁ¨Švnmmnmkkhea]XXVUZ^VWVVxyzzzzxwsnjhiklnooooppqqpoooqtvwxz{zywwvuutonp€¯·opppqstuvusspokknpqqplifffddcdhmptvvwyzywtplloqrqqnpœ¼Íæ‰vonooljihfeb_ZWYVTVuvwwxwwwuqmgffgilmmmnoppqqpnnpqruwwxyyxwvuussqv™¤Œokknopqstsqssrpmkjkpsrokhgdeebacfkoqsuwxxyxtniiknpqpmioˆ±ÏѵvsonmkjkkjihdaZYZqstuvvwxvtrlgddfiijklmnopqpnmnmoqrtwxxyyxwwutrronotƒ‰|nopqrqnssssrokikmqrrqmigggebabhlortvvxyxwtlfgknoonlhj‚¯ÐÒµtopomlkikjihea`opstwxxyywuqlheegghijklmnoppomllopsvvwxxxxwvurrrrqz¸Îªwroppnlqssttrrnkiknrsrpmjhjjhedfjmqrtuwwwyxtmhhknonnmjlƒ¨ÊѺ“xqrpomkkjijgfloqtwxyyyyxurnjggghgijjlnoppqpnkmnossvwwwxxwwututsrtwu„iknnlprsrrrssqnijlpqsromljkjheegilnprtwyyywuoihkmnppolj{ ÄѽŸƒspponmjihhglnqtvwxyyywtrnjhggggilnooopppnmllmoqsuvwxxxxvuvutsrrrq‹¯§xjhlonnnnnpqpnkkljloqonkhhgffcbdhkortvxyyxwtojhjnppqplks·Ï˱•zrppommlbhkmpsuvvwwwutpnifeeffgjlmnnonnoolklnoqtuvvwxwvvtsqppru“¾¿ž‹—–—––‘Œ‡‚{tnjigfjmmmjhfbbbb``afimprsuuvvurnihjmoppqoko„¥ÁÏů“~usqp„_gjmqsttuvwvusqnjfccefhkklmnnnoomlkjlnorstvwwvtz„Ž›¥¯³µ´³µ³­°³²±±±³¶¶¶´­¤…lkgefjlmkidaaa`__`acfhloqqrssrqnjhgknnnnnkip€¤ËÖÇ ynpÅz_gknprsuyxwvutrnieedegijkllllkkllljikmnprtuvt‡®«­­© ˜ˆ‚{uplkllklnqy‡‹–znlheegjjjgeba`aaaa^^`dgikmoppqqolfcghjlnnnlhfz§ÐÙÅ•sÏÁsahkmortuvwvuutqmifddeghjklkkllmmmljhjlmpqstu§ž~xpg`ZVV[`an‘‘sf^XWWVSSO`€qpmjecfijjigedbcfea__`cfiknprsstspkfdgjmnoonlij‚©ÍÖ¾ÂѲd`gjloqrsxwttvtqniedcehikkklnllnnnnjhhjmopsv›jJMNMORXXV[VZoymULSkojgeZF?dvppnjgefilmmkifffffecaadglnpstuvvvtqkggjmmoonnmhj{¡ÊµÅР^bgjloprttuuvurpmjfddfhijjkllknoprqnmkknpq~‚DK[dp{‰z;57310395FjnonmndDDmpoqpojhfhknomkjgefffebbcehloptuuuvvuqlhhiknnnnnmihx‡»ÈÑ]dhkmnqrtvvvusrpnjgedfhiijjkkmnpssrqommooŒj:U…–Ÿ¢¤­¨sdN:34=KMK@;>C;9@WAYpnpqponiffjnpomkhfefgfdbabfilorrtvvwvtqlgfiklnpomliVš¿ËËx]eikmprsuvvutsrpmifdcefghijjllnprrqpnmnpMNUž¶¶·¹»º³§£ts~eƒ\335?>53UcEmnoqpoonkgfgjlnnljgdccdcaabcfjnprttuvvvvslfghlnmnnm^³ÂÑ·d`hkmnpqsuutttsrpmieccdefgiijkmnpqpqoomy‡@k<~»¶±©”‰ˆÌ¶~ƒ¹yQ>4ITN<43C~Daooppoopolifegkmnnlhecbcbba_`chkmoqsvvvwwvrkhghklmm]]½ÅÑ _ehllnprsttttsrqokgdccdefhhhiklnoopopm†oMw3@ZQIB:DFKhqrstZC3@hxeN342{_Pnmnoooppnlkigehknomkhdbaaa``_`aeilprtuuvwwurkdegjlSLS‘¾ÅÎŒ\bhjkloqsstssrqpnjgeccdfgghijklmooopnWlk0236998GKJFFIHEHF:EgƒjX6;s‚Djlmnomnoonlljfdfimnnmjfbaaaa`__^aeimpstuvvuutqkffg`UO[Ÿ½ÆÇwYbehjloqrsssrrqpnjfdcdeghhhjjklnooooŒJˆX036BVS=FKHECCCGIGGJ^†pQ78¤¡N`mlnnmmonnmmljgedgjmmljfcbaaaa`_^_aflprstuuuuvuqkei\QLd­ÁϾm^dgikmpqrrsttssplifbbcegghijkllmnnt€K•F232^£™R@F=6668EJILGQiz_950=–nRmllkllmmmmnnnlifcehjmmmkgcaa`aba`^`cimoqrtuuwwvupnbQNKy¼ÄÒ­b`ehjlnprrsttttqmkhcaabefhijjkklnlzq\“:79:i‹†E732324;B=FLl•u:652|Hkkkkkkllmnnooomkheegjmppnjgdaaceec`^aeknprtuwvvvvprdSNR’ÀÆÓ–]chklmoppqrttrqomjeb`abeghhijjkli}`r„7DI@‚ ©ªUJ@2112221:Ao¨¡j:730]¤Prjjjkkkklmmmmnnmkifcdimooomiebabdeda_^bglopsttuuvnq{bQN_¦ÂÍÌ^gjlmnopqqttqqqnlhcaaaceghhijjlbwUŠqCONHZ„†~TNM=66985365[ššX@851F§gYljmlklkllllllmmmliebcfloonnkgb`aaccc`]`fimprsstuutrk^SOn²ÅÐÆwahkmmnopqrrssrpnkhcb``bdfhjkmmajQfJRQPm†›gHKJHFFFEC@?n‘›ŽRC?@5=¤€HkbJFCUlkkkkjjlmmmljgcbdimpqpnjgdbbcdd`^_bgknoqrtuqrqjXYm¿ÊØ¿nchklnnpqrrstrrpmjfca``ceg^VVhƒ`M©eU€eR˜hbMFHJLLNKOONVjˆ˜wMA9@5;ŠY;dQ8?8>ijjjjjjklmnmmlhebbinpqqoligefeeedb_`cgjnprpqtql^RTV•ÆÊÖ¬ccgiklnppqrrrsqnljfc`abf[:97V“\E‚`]ŽYAKDAGR[hie\PPJHOMcmYPKA846;7@@9:;5Ijhijiiijllllmljgcbcgjorqpnlhfefffea^^_dhlorxvtskVNL[©ÇÍÕ^egjlmnnpqqqrqpnlheb`afQ2<=BC=>?=:99;956:4:HJDHH:9;=IL2228Lyjeghhihijkjklkkifecbcioqrqpmihgfeca_^^^`eitwvwy|lWQLq¾ÉÓÇoagiklmmnppqqqpomjgd``bY8/./2;YA;976667975556566567777777779:;>HJ/@Ygifdihghhfgijjkkkkkihfcaagmppqpnjheba`^^^]\]asqpnnpjaVOP™ÇÍÙ¥]dgjjlmnopqqppomlifb``a_ZRY=3dH<;;:88878777877766778888889::;=CH:amkigeweghfghijjiijkjihfdbadknppnkhc`^^^]]]]]\qjgijdfaWPLi¸ÅÑÏy^dklkllmnnpppoomkifb`_aer°˜:[D;::98888777777777667766777789:;>G>Zljihefecbeffgghhghijjjihfca_bhmmlljeb_]^]]\]]\oklmwrleUNNNŠÂÈÖ±aahhikkmnmnopponmjhea``anªªCS>9998777666666665555555565567776:EN[fjjihhnrtdeffffgfhihijjjhedbaahlmmmjgb_^]]]\]]rrkkutvnVONL[ªÅÌÖ–ccfhkkmmmmnpooomkjgda``c”‹PM964666665665555555554555444563;T~_R`dkjkik¸àã®kefghhhiijjkklkjhecacimopnlid__^^^^^mvokrtwvj^QMMwºÃÑËr^fhkkllmmnoooonlkifca`c|†iRq_E1345554443455KD44444333442A”¨¶‰LGbkjjjh„ÆÈÂ}bffghhiikkkkkljjhecacgjnnmlib^^^``_x}spvusqrt\NMR–ÃÆׯbehjkkllnnoooonnmkieb`imveg­¤Âs512333333455755334433332:~µ›š¥V2Xljjjjgiiggddeghhhijkkjjjjjigeca`cilmmkha_^^^^vtpmrrmjkmiPLJc²ÂËÖŒahijlmmnoppppqpomkhcadfAMªœ»²g911223334674375542111/5u¢›º©“R-Jkjjjjjihigfeefgghiiiiiiijjjifec``dilmnlhd`\]]sqphmqrvtqmULMM…ÀÄÔÈpcijklnoooppqqqqomjfcUh:4…™º®¥³s6;8887526;im:9jkjjjihhhfdbdddghhjiiiijjjjkkjgeca`djmonnlhdblpnmrroqtwuoVKPR`ªÃÌÖ’agkllnnnpqqqrrqpnkgZBL8I‡ÛÌâîíÉ¢~^^`l¥‚^ÂÂfgndfce–µáéÕÁµ˜91-@kkkkkkjihfc’Áðofhhiiiijjjjkkkjhfd``djmoopmjh}wvuyvoorpkmhOKLLu½ÀÐËvbhiillmopppqqrqpmj_<725J¶º¸ÂÞÚª¡edhcXQ€îò—Yrkzzs¸£’sC;60-,Allkkkkjjige}Ñãâ¦bggghjjjjjkkjiiigeda`djmpqonm|ƒtoonkopsmeQKONO–ÂÄÖ°bdgikikmmmoqqqqpnl]93004>C@_rj´fkx~udƒ×é orwtlcyQ9??753.+,Allklkkkjiigfrytseegghjjjjkkkjiiiigfca_diloopov{uwwprkrsspng\OMLfºÂÌÖƒ]egijklmmnppppponZ10-.0048<<A@ABCFGIPTW]ems®÷ÕZB1-1_ommlljikjijiiihghgdš½º¦hefggghhhghgghhggfdc^]v{xrnprsqmnpzxzj`\NNPSËÊÕÌwhlmnnnnnnnonnm:520.8F ÷ÄŠ€†³©•› ¦©­³´¸º·®¬¢…u„­—D4--3anmmllifkkjjiijihhgheb_ceffgggggfhhggggggffda^mlokfcgmnv€|xztoriUNQVc¶ÊËÚ«ilmmnnnnnnnnnm:950-1:až†`Sdhgimmopswrlg\RHGE=>UL91-,-4_mllmljdkkjjiijiiihhhgeegggghghgfgggggggggfeb`sqoqnxswmyyzyyƒpaVNNRP‚ËÆÔ׈glkmlmmmmmmmk886.-.229743301025578;@?>81.---1\lkjjjhckkkkkjjkjhgeeefeeiihhhihgffgggfghgeecaˆ‚…|{~|mmu}}yi`UNNOMW«ËËܼjggkjlmllmmja577,,+/257=??ABBDFGHRs]OLKJGDA<854.*)-6Fn‰—›œ¨¨§¨¨¨¨¨©£˜Œzgdfffffhhggfggffffffffec‹€w{xvmpxrpkrmfecYNMMag†ÂÆÏÙafghjllllh\V17:/,+-0125799:==@DFLbM@:721/0....C\z“¥°µ¶µ¶´³¯­¬«©©©ª©©©ª­¯¬¨˜hddegggihhihgffhhfgghfe…‚}{‚|wtwgdlt~vmoi]NMM]ba¡ÄÃ×Âicfghjkkh]VV16<4,-../-,++**+****('****++,--..]­§«­§¡œ™•’ŽŒŠ†„ƒ„ƒƒ‚‚‚‚ƒ…†ƒ•ƒddeimnkiijihghihggghgf†{‡z†z†z†z†z†z‡z‡z†{‡{‡z†z†z‡z‡z‡z‡zˆzˆzˆzˆzˆz‡z‡z‡z‡z‡z…{ƒ‚}„y„vƒt„t…t†w†xˆx‡y‡z†y‡xˆ{‡{‡zˆv†t†x†y†z†{†z†y…y‡z‡{„~ƒ€‚‚‚€‚†y†y†y…y…y†y†{†z†z…y†z†z…y†y†y†y†z‡y‡y‡y‡y‡y†z†z‡y‡z†y…y…{‚€|‚xƒvƒtƒs‚u„t„v…y‡x†x…y…w†yˆz‡y†y†w…u„w…v…x…z…y†w†w†y†{„~‚€€€€‚†z†y†y†y…y†y†z†z…z†y†y†y†y…y†y†y†y†y†y†y†y†z†z†z†z†z†z†z…z‚~€€‚{ƒv„w„wƒv„v„w…y…y„x„w†w†z‡z†y…xƒv„v„v„uƒx…y†y‡x‡x†y…yƒ|‚~‚€€€†z†z†y†y†y†y†x†z…z†z†z†y†y†y†y†y†y†y†y†y…z†{†z…{„|…{†z†z…zƒ}€~ƒz…y…x„w„w…y…|„{„x…w†w‡z‡z…z„{„yƒwƒv„v„x†xˆxˆyˆz‡y…z‚|‚‚€‚€€€†y„}ƒ}†z†y†z…z†z†z…z†z†y†y†y†y†y†y†y†y…y…{…|…{ƒ|ƒ|„|„|…{„}‚€~‚{ƒy„w„v„x…{…{…y…y…y‡z‡{‡{†{…{…z„uƒv„x…y‡x‡y‡z†y…x„{‚~‚€€‚€ƒ|€‚‚ƒ~…|„}„}…|…{…z†z†z…z†z†z…z†z…z…z…{„}ƒ}‚~‚‚~‚}ƒ}ƒ~~ƒ€‚~‚|ƒx„y„v„x…z…{‡z†y†{‡}‡|†{…z…y…x„u„v…v†y‡{‡z†z†y„yƒ}‚‚‚€€€‚‚‚ˆ‰‡ˆ~‰~ˆ~‰}†|…z…z‡z…z…|†z…y…z…{…|…}‚~€€€€€€€€€€‚}„|…}ƒ~ƒ}ƒ{„z…y„w„w„w„x…z‡z‡|‡|†{…{†z…x…w„w„v…v…w†v†y†{†y„{ƒ~‚‚€‚‚€€…ˆ{†z‡{‹|‰|…|†|†|…{…z†y…zƒ}„z…z…}ƒ‚€‚€€‚~‚~€€€‚~ƒ|…{†{„|…|„z…y…x…v„xƒv„u…x†z‡}†}…|…|…{…y„x…y…x…w†u†s†v…x…y„|ƒ~~‚€‚€€€…}…z‚}„uˆs…t}…|†|‡{‡{„}ƒ€ƒƒƒ~ƒ{…{„|„|ƒ|ƒ}ƒ~‚~ƒ|…{‡{‡y…|†z…z„z„x…w„yƒw„x†z†z†|…|…}…~„|„z„w„x…x…u†t†t†v…v„xƒ|‚‚€€€‚ƒˆz‹vƒ€†z‰y†wƒ€…€ˆ|„~‚€ƒ†€‡~‡}‡|‡}†~„y‡w‡w†{ƒ{ƒz„|„{…z‡y‡x‡y†{†y…z„y„w…w…x…x…y†{…{…|…|…}„}ƒ|ƒz„yƒw„w†v†u‡u†v…vƒv{‚~‚€€‚~‚‹{w‹|{zŽzˆ~ˆ}zˆ}€„‚Š|Š{‰yŠvŠyŠ{Š}„x‡w†{„{„x…z…y†x‡x‡w†y…z†z†{…z…w…u…v†v…v…z…{…|‡}…}ƒ|ƒ|„zƒyƒw…w…x‡v‰u‡t…v‚v{~‚‚ƒz“x”x“x“x“w“x“w“vy…€ƒ€‡~‡†~…~†~‡}‡~ƒ}„w†x†y…v†v‡v‡wˆvˆwˆz†{…|†z…y…w…u…u…u…w†y‡{…|…}„~„}…{„xƒy…v†v‡x‡x†w„wƒx‚{‚~‚~„Š€ˆ„‰‰|ŠŠ‹~ˆ‡†ˆ†€‚€ƒƒƒ‚€‚€ƒ€ƒ‚€{…v†v†u†r‡tˆuˆvˆuˆwˆz†|…}„z…y…x„z„{„z†z‡yˆz†|†}„}…|„z„y…w†u‡v‰wˆwƒwy‚{‚‚ˆ‚‚‚}„|†€„}†‚„‚‚‚ƒ‚„‚‚€†}ˆ‡„‚€€€€ƒƒ„~‚€€{…u‡tˆsˆsˆsˆu‡s‡tˆwˆy†y…z„y„x„z„|…{†zˆzˆyˆz‡}…~„}„}„~„{…x‡xˆxˆx‡xƒ{}€€‚‰‚€~‚}„{††}ˆ€†ƒ€ƒ€ƒƒ…~Š‡‚€‚~„~ƒ„~ƒ€|…s‡sˆsˆr‡sˆt‡t‡t‡v‡x…u…x…x„x…z„{†y†y‡y‰zˆ|‡…„ƒ‚~ƒ{…v†wˆx‡x‡zƒ~‚€€~‚}„}‚€}ƒ{…x…€€‚„~…„……~††‚‚€€‚€€‚€‚€‚€€{†s†t‡rˆq‡sˆtˆvˆuˆt‡w†x…y…y„zƒz…y‡x‡x†x‡z†|…„„„~„{…v…r‰sˆu…w‚{€~}|~~‚|ƒ~ƒ{‚v„qƒ‚„|†|†|‡|ˆ}…€ƒ‚‚‚‚…~ƒ}…}ˆ}ˆ~ƒ„ƒz‡sˆtˆs‰sˆsˆu‡wˆwˆu‡w…x…x†y…z„z„x…w†w†x‡z†|…}ƒzƒzƒxƒv‚p‚o‚on~m|q|q|o~pr~v€zƒ{‚wo€l€k‚‚‚€ƒ‚~‚}ƒ{ƒ€‚€‚€ƒ~†}†}†}…|†~‡ˆ†z†uˆtˆtˆuˆt‡v‡x†y…x†y…zƒzƒ{„{ƒzƒz…y‰y‡y†x†sm~i}n|m{q{r{q{m{kzg{f{g|f~d~e~ehec{f~hj€‚‚ƒ‚ƒ„††€…ƒ€‚„€ƒ‚ƒƒƒ„ƒ„„‚„‚ƒƒ€‚~„~ƒ}„}„~…~„ƒƒ€‚€‚€€ƒ‚ƒƒ„„}…w…t€tw~x€z€zzx~w~vwv€sppn€l€jlnk€k†~‡†€†€ˆ~ˆˆ~‰~‡~†}‡~ˆ}ˆ}‰}ˆ~‡~‡‡€†€‡‡~ˆ}ˆ}ˆ~†~„€ƒ‚ƒ‚‚ƒ€„ƒ€‚€ƒ€ƒ‚€„€……€†€…€„ƒ‚€Š†€‚€ƒ‚€‚ƒƒƒ‚„‚ƒ„ƒƒƒ€{v€‰{‰|ˆ†‡~‰~‰~Š~Š}‰}‰}Š}‰|‰|Š|‰|‰|ˆ~ˆ€‡†‡€ˆ~‰~‰}‰}‡}…„€ƒ€ƒ€ƒ€„„ƒ€„€ƒ‚‚ƒ€…†‡†…„‚‚„€‹€„‚‚‚ƒƒ„…€†€‡€‡€†‰{‰|‰|ˆ~‡‡‰~Š~Š}Š}‰}Š}‰}Š|‰|‰|‰|‰}‰~ˆ}‡~‡€‡‡€ˆ‰}Š|ˆ}ˆ~†~†„€ƒƒƒ€ƒ€ƒƒ‚€€‚€ƒ€‡‰~ˆ}‡~…€‚„‚€‚€‚€‚€‚ƒ€„€„€…€†‰|‰|‰{Š{‰~‡~†€ˆ‰~Š}Š}Š}Š}Š}‰}Š|Š|‰|‰}‰|‰|‰}ˆ~‡€†€‡ˆ~‰}‰}ˆ}ˆ}‡†„ƒ€ƒƒ‚ƒ‚‚‚€€‚ƒ„‡~ˆ~‡~†„€‚‚~‡€ˆ€€‚ƒ‰}‰}‰|‰|Š|‰}†€†€‡‰‰~‰}Š}‰}‰}‰}‰}‰|Š}Š|‰|‰}ˆ~ˆ€ˆ‡€…‡‰~‰}ˆ}Š~‰‡…€ƒ‚‚‚‚‚‚‚€€€€…ˆ}‰}ˆ~†€ƒ€…†‚€‚‚~‚‚ˆ‰}Š}‰|Š|Š}‰~ˆ††€‡‰~Š}Š}Š}‰~‰}‰}Š~Š|Š|‰|‰|‰~Š~‰†€†€†‡~ˆ~‰~‰~‰~‡†„€‚€‚‚‚‚ƒ‚‚€€€€‚„†~‡~‰~‡€ƒ€€‚~‚~ƒ„„‰~Š}‹}Š}‰|Š}Š}‡…€…€ˆ‰~Š}‹}Š~‰~‰~‰~Š}Š|Š|‰|‰}Š}Š}‰~‰~Š}Œ|Œ{Œ|yyŒz‹{Š}†„€ƒ‚‚„„ƒ‚‚‚‚‚‚€‚‚‚„€‡~ˆ}ˆ~‡€„‚‚‚‚†Ž„€„†€‰~Š~Š}‰|Š}Š|Š}ˆ†€†€ˆ‰~Š}Š~Š}Š}‰~‰~‰}Š}‰|‰}Ž{z’z“z‘z‘z‘|’€’~’}{‘z’zŽ|‰}‡…€‚‚ƒƒ‚‚‚‚‚‚‚‚€€‚€‚€‚‚„‡‰~ˆ}‡}†ƒ‚€„}„ƒ„‰‰}Š}Š}Š}Š|Š~ˆ†€†€ˆ~‰}‰}‰}Š}Š~‰~‰~‰~‰|Š}Ž|‹}‰}†|†~‰~ˆ‰‰€‰~‡~‡Š}Œ|‹}‰~ˆ~…€ƒ‚‚‚‚‚‚‚‚‚‚‚€‚‚‚‚‚…€‡ˆ~‡ˆ†€ƒ€|†|„‚ˆ€‰Š~Š}Š}Š|‹|‹|ˆ~†€‡‰~‰~‰~Š}Š}‹|‹~‰~ˆ}ˆ‡}|{z|y€{„|…|…{ˆyŠy‰{ˆ|‰|ˆ|‰~Š}‰}ˆ}‡„€‚‚€‚‚‚‚‚‚‚‚‚‚€‚€‚‚‚€‚‚„€†ˆ}‰}ˆ~}’}‰~‚„‰Š~Š}Š}Š}‹|Š}Š}ˆ‡€‡‡~ˆ~Š~Š}‹}‹~Š~‰}†‡|ƒ|‚|‚|†y…yƒ|„{‰w‰z‚€…~‹z‡{‡~Š}‰}‰}‰}‰~‡~ƒ‚€‚‚ƒƒ‚‚‚€€‚€‚€‚ƒ€†~ˆ~|ƒ„}ƒ~ƒ…ˆŠ~Š}Š}Š}Š}Š}ˆ~‡†€‡‡ˆŠ~‹}‹}Š~ˆ~…}ˆ|Š}‡‚†‹xŒvŠy‰xŠv‡|~‚‰}†|…}‰~Š}Š}‰}‰~‰~ˆ~†€‚‚€ƒ„„ƒ€ƒ€ƒ€‚€‚€‚€€‚‚„€vƒ„~ƒ|ƒ‚‡ŠŠ}Š}Š}Š}Š}Š~Š~ˆ†€‡ˆ‰~Š}‹}Š~‡~…}ˆ{Š|€…€…‰z‹zŠzŠyŠwˆ|~„„ˆ~ˆ{…}‰~Š~Š}‰}‰}‰~‰~ˆ~†ƒ€‚ƒƒ‚€‚ƒ‚‚€‚€‚‚€‚€‚oy‚ƒ}‚}ƒ‚‚ˆ€Š~‰}Š}‹}Š}‹}‹}Š~……€ˆˆ~‰}‰}‰~†…|‰z‰z‚€‚‰zŠyŠzŠ{Šz†}|ˆ‡Š{‹z„|†~‰~ˆ~‰}‰}‰}‰~‰~ˆ~‡~„‚€‚‚‚ƒ‚‚€‚‚€‚€‚fzk|{}zŒ~‚ƒ‚ˆ‰}Š}Š}‹}‹}Š}‹}ˆ…†€ˆ~‰}‰}‡~…ƒ|†{†|†~†ˆ{ˆz‡{ˆ|ˆ|„}†€„ˆ|‹{…|†~‡……ˆ~‰}ˆ}‰~‰}‰}ˆ~†ƒ‚€€‚‚‚‚‚‚‚‚‚‚€‚€‚j}g{o~|ˆ}‡~ƒƒ†‰~Š~Š~‹}‹}‹}‹|‹}ˆ~†€‡‡…€††‡~……‡~‡~†}†~††€††~…†€ˆ}Š|Ž{Ž|…€…€…†~ˆ~‰}‰}‰}‰}‰~‰~†ƒ‚€‚€‚‚‚‚‚‚ƒ‚‚‚‚ji|i|v€€‚~ƒ~ƒ‚ƒˆŠ}Š}Š}‹}‹}Œ|Œ}‰~‡€†€†€…€…€Š}||Œ}Œ}‹}Œ}‹}‹~‹~‹}Œ}Œ}Œ}}{‘z’z††€ˆˆ‡‰~‡~‰}‰~‰~‰~‰~‡ƒ‚€€‚‚‚ƒ…†lmkrƒƒ€ƒ}‚~ƒ…‰~‰~Š}Š}‹}‹|‹}Š}‰~‡€‡€‡ˆ|{{Ž||Œ|Œ|‹|‹|‹|Š}Š}‹}‹}‹}Œ||Ž}{‰}‡ˆˆ€‡ˆˆ~ˆ~‰~‰~‰~ˆ}ˆ~†„‚‚‚ƒ…€‡€ˆ€nƒkh|l€xƒ€‚~‚}ƒ€‚‡€ŠŠ}Š}‹}‹|‹}‹}‰}‰‡€†€‰}Ž|ˆ…Šƒ‹}‹}‹|Š}Š}ˆ}‡~‡~‰~‰}Š}‹}ˆ€…ˆ‹}ˆ~ˆˆ†„‚‡ˆ~‰}‰~‰}ˆ}‰~ˆ~‡…ƒ€‚‚‚‚…€ˆ‡iifyg{j}z‚}|ƒ‰Š~Š~‹}‹}‹}‹}‹|‹}‡…€‡Š€€‡€ˆ~ˆˆ~ˆ‡€‡‡‡‡ˆˆ~ƒ‚|Š‚†ˆ€ˆ‰~‰ˆ~‡€ˆ€‰~ˆ}‰~‰~‰~‰~‰}ˆ}‰~†‚€‚‚ƒ…‡nm~hyfxdyr„~–{‡~‚†Š~‹}‹}‹~‹~‹}Œ|Œ|‰~†„€…€‚‚€ƒ‚‚…„€‚€……ƒ‡……‚ƒ€‚€‚‚€ƒ‚ƒ„†€‰~‰‰~‰‰ˆˆ‰~‰~‰~‰~‰}‰}‰~ˆ~‡ƒ‚‚‚ƒl€j~fyewfxj}{„‚‹~„|‚€ˆ‹~‹}‹}‹}‹}‹|‹|‹}‡„…€ƒ‚ƒƒ„‚‚€‚~‚‚ƒ„ƒ…„ƒ‚ƒƒƒ„„‚ƒ€†~‰~‰~‰~‰~‰†€ƒ€‡€‰‰‰~‰~‰}‰}‰}ˆ}‡€ƒ€€‚‚f€gfzfxgxhyq~€‚}|‚ƒŠ‹}‹}‹}‹}Œ}‹}Œ}ˆ~ƒ„€„†‚…‚…‚„‚„…‚‚„…ƒ…„€†ˆ†‚†…€‚€†~‰|‰}‰}‰~‰~ˆ…€†€ˆ‰‰~‰}‰}‰}‰}ˆ}ˆ~‡ƒ€€‚€‚hg~fzexewewfyu€‚€}‚‚‡€Š}‹}‹}‹}‹}Œ}Œ}‰}ƒ€„…€‡ˆ}ˆ~‡…ƒ€‚€€‚ƒ€…€‡~ˆ}ˆ†„€‚‡~Š|Š}Š}‰}‰}‰~‰~‡€ˆ‰ˆ~‰}‰}‰}‰~‰}‰|‰}†ƒ‚‚hh~fycwfxgzgys~€‚‚ƒ‚…Š~‹}‹}‹}‹}‹}Œ}‹}ƒ€‚€…††~…}†€‚ƒ€€€‚‚ƒƒ…€…~†€„€ƒ€‚‡~Š|Š}Š}‰~‰~ˆ~‰~‰‡€…€‡‰~‰}‰}‰~‰~ˆ|‰~ˆ~‡„‚hh~f{dxg{h{hzm~}ƒ‚‚~‚€ˆŒ}‹}‹}Œ}Œ}Œ|‹~ƒ€ƒ€ƒƒ‚ƒ‚‚ƒ€‡‰€Š‹ƒ‰ƒŠ‚ˆƒ‚‚‚„€ƒˆ~Š}Š}Š}Š~‰~ˆ~‰~Šˆƒ‚ƒˆ~‰~Š}‰~‰~‰~‰~‰}‰}ˆ~ƒ€j€i}h{i{h}g~g~jt€‚€‚‚}‚ƒ‹}‹}‹}Œ}‹}Œ}‹}„€€€‚‚ƒ„ƒ€ƒ„…‚‡‚†‚„‚„€„€…ƒƒ„€ƒƒ€ˆ~Š}Š}Š~Š~Š~‰‰‰‰ˆ€†€ˆŠ}Š}‰~‰~‰~‰~‰}‰}ˆ}‡jƒj€h~h€n„k„g‚iq}‚‚‚„~ƒ‚‡€‹~‹~‹}‹}Œ}Œ}„‚ƒ‚‚‚‚‚‚‚ƒ‚ƒ„‚‚‚ƒ‚ƒƒ…€„€…Š}‹}‹}Š}Š}Š|Š~Š~Š}Š}Š~ˆ‰Š~Š~‰~‰~‰‰}‰~‰~‰~‰~jˆnˆm‡nˆp‡p‡m…o…t†|„‚~š}Ž}‚‰~Š~‹}‹|Œ|{†€‚€‚€€‚€‚€‚€‚€‚‚‚‚ƒ€„ƒƒ€„‰}ŒzŽw‘w’w’v’v’v’v’w’w’w“w’wŒ|ˆ~‰~‰‰~‰~‰~‰}Š~‰~‰}‰} \ No newline at end of file diff --git a/examples/dpcpp-blur/CMakeLists.txt b/examples/dpcpp-blur/CMakeLists.txt index 030d8191..e7e19349 100644 --- a/examples/dpcpp-blur/CMakeLists.txt +++ b/examples/dpcpp-blur/CMakeLists.txt @@ -1,22 +1,53 @@ +# ############################################################################## +# Copyright (C) 2021 Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## cmake_minimum_required(VERSION 3.10.2) -# This sample must be compiled and executed within the oneAPI product enviroment -# with the dpcpp compiler to use dpcpp features + +# This sample must be compiled and executed within the oneAPI product +# environment with the dpcpp compiler to use dpcpp features set(DPCPP_COMPILER_NAME "dpcpp") find_program(DPCPP_COMPILER ${DPCPP_COMPILER_NAME}) if(DPCPP_COMPILER) - set(CMAKE_CXX_COMPILER ${DPCPP_COMPILER_NAME}) + set(CMAKE_CXX_COMPILER ${DPCPP_COMPILER}) message(STATUS "DPCPP compiler found, blur feature enabled") else() message(STATUS "DPCPP compiler not found, blur feature disabled") endif() project(dpcpp-blur LANGUAGES CXX) + +if(NOT TARGET vpl-example-util) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../util + ${CMAKE_CURRENT_BINARY_DIR}/util) +endif() + +# Default install places 64 bit runtimes in the environment, so we want to do a +# 64 bit build by default. +if(WIN32) + if(NOT DEFINED CMAKE_GENERATOR_PLATFORM) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") + endif() +endif() + set(CMAKE_CXX_STANDARD 17) set(TARGET dpcpp-blur) set(SOURCES src/dpcpp-blur.cpp) -set(RUNARGS ${CMAKE_CURRENT_SOURCE_DIR}/content/cars_128x96.i420 128 96) +set(CONTENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../content) +set(RUNARGS + -sw + -i + ${CONTENTPATH}/cars_128x96.i420 + -w + 128 + -h + 96) # Set default build type to RelWithDebInfo if not specified if(NOT CMAKE_BUILD_TYPE) @@ -49,15 +80,17 @@ if(DPCPP_COMPILER) target_link_libraries(${TARGET} OpenCL sycl) endif() -if(TARGET VPL) - target_link_libraries(${TARGET} VPL) -else() - find_package(VPL REQUIRED) - target_link_libraries(${TARGET} VPL::dispatcher) -endif() +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +find_path(VPL_UTIL_PATH util/util.h vpl-example-util + ${CMAKE_CURRENT_SOURCE_DIR}/../util) +target_include_directories(${TARGET} PRIVATE . ${VPL_UTIL_PATH}) get_directory_property(has_parent PARENT_DIRECTORY) if(NOT has_parent) # only make run target available for stand-alone build add_custom_target(run ${TARGET} ${RUNARGS}) +else() + install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) endif() diff --git a/examples/dpcpp-blur/README.md b/examples/dpcpp-blur/README.md index cfcda3ff..66a73de2 100644 --- a/examples/dpcpp-blur/README.md +++ b/examples/dpcpp-blur/README.md @@ -5,7 +5,7 @@ oneAPI Video Processing Library to perform a simple video content blur. | Optimized for | Description |---------------- | ---------------------------------------- -| OS | Ubuntu* 18.04; Windows* 10 +| OS | Ubuntu* 20.04; Windows* 10 | Hardware | Intel® Processor Graphics GEN9 or newer | Software | Intel® oneAPI Video Processing Library (oneVPL) | What You Will Learn | How to use oneVPL and DPC++ to convert I420 raw video file in to BGRA and blur each frame. @@ -17,9 +17,9 @@ oneAPI Video Processing Library to perform a simple video content blur. ## Purpose This sample is a command line application that takes a file containing a raw -I420 format video elementary stream as an argument, converts it to BGRA with -oneVPL and blurs each frame with DPC++ by using SYCL kernel, and writes the -decoded output to `out.bgra` in BGRA format. +frame input video as an argument, converts it to BGRA with oneVPL and blurs each +frame with DPC++ by using SYCL kernel, and writes the decoded output to `out.raw` +in BGRA format. If the oneAPI DPC++ Compiler is not found the blur operation will be disabled. @@ -32,7 +32,7 @@ If the oneAPI DPC++ Compiler is not found the blur operation will be disabled. | Target device | CPU | Input format | I420 | Output format | BGRA raw video elementary stream -| Output resolution | same as input +| Output resolution | 256x192 ## License @@ -110,34 +110,32 @@ Perform the following steps: ``` -#### Building the program using VS2017 or VS2019 IDE - -1. Install the Intel® oneAPI Base Toolkit for Windows* -2. Right click on the solution file and open using either VS2017 or VS2019 IDE. -3. Right click on the project in Solution explorer and select Rebuild. -4. From top menu select Debug -> Start without Debugging. - - ## Running the Sample ### Application Parameters The instructions given above run the sample executable with the argument -`/content/cars_128x96.i420 128 96`. +`-i /content/cars_128x96.i420 -w 128 -h 96`. ### Example of Output ``` -Processing dpcpp-blur/content/cars_128x96.i420 -> out.bgra +Processing ../content/cars_128x96.i420 -> out.raw Processed 60 frames ``` -You can find the output file ``out.bgra`` in the build directory. +You can find the output file ``out.raw`` in the build directory. You can display the output with a video player that supports raw streams such as FFplay. You can use the following command to display the output with FFplay: ``` -ffplay -video_size [128]x[96] -pixel_format bgra -f rawvideo out.bgra +ffplay -video_size [256]x[192] -pixel_format bgra -f rawvideo out.raw ``` + +## Using with USM mapping + +Build and install level-zero from https://github.com/oneapi-src/level-zero + +dpcpp ../src/dpcpp-blur.cpp -I../../ -lvpl -lva -lva-drm -lpthread -DBUILD_DPCPP -DUSE_VPL_USM_MAP -lze_loader -I/usr/local/include diff --git a/examples/dpcpp-blur/dpcpp-blur.sln b/examples/dpcpp-blur/dpcpp-blur.sln deleted file mode 100644 index d0615754..00000000 --- a/examples/dpcpp-blur/dpcpp-blur.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27703.2042 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dpcpp-blur", "dpcpp-blur.vcxproj", "{2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Debug|x64.ActiveCfg = Debug|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Debug|x64.Build.0 = Debug|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Release|x64.ActiveCfg = Release|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {E209F0AF-0CE9-4817-9ACE-A3972CF479DB} - EndGlobalSection -EndGlobal diff --git a/examples/dpcpp-blur/dpcpp-blur.vcxproj b/examples/dpcpp-blur/dpcpp-blur.vcxproj deleted file mode 100644 index 9932b76e..00000000 --- a/examples/dpcpp-blur/dpcpp-blur.vcxproj +++ /dev/null @@ -1,177 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - 15.0 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08} - Win32Proj - dpcppblur - $(WindowsSDKVersion.Replace("\","")) - - - - Application - true - Intel(R) oneAPI DPC++ Compiler - Unicode - - - Application - false - Intel(R) oneAPI DPC++ Compiler - true - Unicode - - - Application - true - Intel(R) oneAPI DPC++ Compiler - Unicode - - - Application - false - Intel(R) oneAPI DPC++ Compiler - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - NotUsing - Level3 - Disabled - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);%(AdditionalIncludeDirectories) - false - - - Console - true - $(VPLLIB);%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - Disabled - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);$(ONEAPI_ROOT)\vpl\latest\include;%(AdditionalIncludeDirectories) - false - - - Console - true - $(VPLLIB);$(ONEAPI_ROOT)\vpl\latest\lib;%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);%(AdditionalIncludeDirectories) - false - - - Console - true - true - true - $(VPLLIB);%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);$(ONEAPI_ROOT)\vpl\latest\include;%(AdditionalIncludeDirectories) - false - - - Console - true - true - true - $(VPLLIB);$(ONEAPI_ROOT)\vpl\latest\lib;%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - - - - - - - - - - - diff --git a/examples/dpcpp-blur/dpcpp-blur.vcxproj.user b/examples/dpcpp-blur/dpcpp-blur.vcxproj.user deleted file mode 100644 index 4a9d789d..00000000 --- a/examples/dpcpp-blur/dpcpp-blur.vcxproj.user +++ /dev/null @@ -1,15 +0,0 @@ - - - - "content\cars_128x96.i420" 128 96 - WindowsLocalDebugger - PATH=$(ONEAPI_ROOT)\vpl\latest\bin;$(ONEAPI_ROOT)\compiler\latest\windows\lib\oclfpga\windows64\bin;$(ONEAPI_ROOT)\compiler\latest\windows\bin;$(ONEAPI_ROOT)\compiler\latest\windows\redist\intel64_win\compiler;$(ONEAPI_ROOT)\compiler\latest\windows\lib\oclfpga\bin;$(ONEAPI_ROOT)\compiler\latest\windows\lib\oclfpga\windows64\bin;$(ONEAPI_ROOT)\compiler\latest\windows\lib\oclfpga\host\windows64\bin;$(ONEAPI_ROOT)\compiler\latest\windows\lib\oclfpga\board\intel_a10gx_pac\windows64\bin;$(ONEAPI_ROOT)\compiler\latest\windows..\lib\oclgpu;$(ONEAPI_ROOT)\compiler\latest\windows..\windows\bin\intel64;$(ONEAPI_ROOT)\compiler\latest\windows..\windows\redist\intel64_win\compiler;$(ONEAPI_ROOT)\compiler\latest\windows..\windows\bin;$(ONEAPI_ROOT)\compiler\latest\windows..\windows\lib;$(ONEAPI_ROOT)\compiler\latest\windows..\windows\ioc\bin;$(ONEAPI_ROOT)\compiler\latest\windows..\windows\lib\ocloc;$(ONEAPI_ROOT)\compiler\latest\windows......\tbb\latest\redist\intel64\vc_mt;%PATH% - - - - "content\cars_128x96.i420" 128 96 - WindowsLocalDebugger - PATH=$(ONEAPI_ROOT)\vpl\latest\bin;$(ONEAPI_ROOT)\compiler\latest\windows\lib\oclfpga\windows64\bin;$(ONEAPI_ROOT)\compiler\latest\windows\bin;$(ONEAPI_ROOT)\compiler\latest\windows\redist\intel64_win\compiler;$(ONEAPI_ROOT)\compiler\latest\windows\lib\oclfpga\bin;$(ONEAPI_ROOT)\compiler\latest\windows\lib\oclfpga\windows64\bin;$(ONEAPI_ROOT)\compiler\latest\windows\lib\oclfpga\host\windows64\bin;$(ONEAPI_ROOT)\compiler\latest\windows\lib\oclfpga\board\intel_a10gx_pac\windows64\bin;$(ONEAPI_ROOT)\compiler\latest\windows..\lib\oclgpu;$(ONEAPI_ROOT)\compiler\latest\windows..\windows\bin\intel64;$(ONEAPI_ROOT)\compiler\latest\windows..\windows\redist\intel64_win\compiler;$(ONEAPI_ROOT)\compiler\latest\windows..\windows\bin;$(ONEAPI_ROOT)\compiler\latest\windows..\windows\lib;$(ONEAPI_ROOT)\compiler\latest\windows..\windows\ioc\bin;$(ONEAPI_ROOT)\compiler\latest\windows..\windows\lib\ocloc;$(ONEAPI_ROOT)\compiler\latest\windows......\tbb\latest\redist\intel64\vc_mt;%PATH% - - - diff --git a/examples/dpcpp-blur/src/dpcpp-blur.cpp b/examples/dpcpp-blur/src/dpcpp-blur.cpp index d8f3c81e..b6ea8aa9 100644 --- a/examples/dpcpp-blur/src/dpcpp-blur.cpp +++ b/examples/dpcpp-blur/src/dpcpp-blur.cpp @@ -5,84 +5,60 @@ //============================================================================== /// -/// A minimal oneAPI Video Processing Library (oneVPL) DPC++ interop application +/// A minimal oneAPI Video Processing Library (oneVPL) VPP application, +/// using 2.x API with internal memory management /// /// @file -#include -#include -#include -#include -#include -#include +#include "util/util.h" #ifdef BUILD_DPCPP #include "CL/sycl.hpp" -#endif - -#include "vpl/mfxdispatcher.h" -#include "vpl/mfxvideo.h" - -#define MAX_PATH 260 -#define MAX_WIDTH 3840 -#define MAX_HEIGHT 2160 -#define OUTPUT_WIDTH 640 -#define OUTPUT_HEIGHT 480 -#define FRAMERATE 30 -#define OUTPUT_FILE "out.bgra" -#define WAIT_100_MILLSECONDS 100 - -#define VERIFY(x, y) \ - if (!(x)) { \ - printf("%s\n", y); \ - goto end; \ - } -#define ALIGN16(value) (((value + 15) >> 4) << 4) - -#ifdef __SYCL_COMPILER_VERSION #define BLUR_RADIUS 5 #define BLUR_SIZE (float)((BLUR_RADIUS << 1) + 1) void BlurFrame(sycl::queue q, mfxFrameSurface1 *in_surface, mfxFrameSurface1 *blurred_surface); #endif -mfxStatus LoadRawFrame(mfxFrameSurface1 *surface, FILE *f); -void WriteRawFrame(mfxFrameSurface1 *surface, FILE *f); -char *ValidateFileName(char *in); -mfxU16 ValidateSize(char *in, mfxU16 max); -mfxU32 GetSurfaceSize(mfxU32 fourcc, mfxU16 width, mfxU16 height); +#define OUTPUT_WIDTH 256 +#define OUTPUT_HEIGHT 192 +#define OUTPUT_FILE "out.raw" void Usage(void) { printf("\n"); -#ifdef __SYCL_COMPILER_VERSION +#ifdef BUILD_DPCPP printf(" ! Blur feature enabled by using DPCPP\n\n"); #else printf(" ! Blur feature disabled\n\n"); #endif - printf(" Usage : dpcpp-blur InputI420File width height\n\n"); - printf(" InputI420File ... input file name (i420 raw frames)\n"); - printf(" width ... input width\n"); - printf(" height ... input height\n\n"); - printf(" Example: dpcpp-blur in.i420 128 96\n"); - printf(" To view: ffplay -f rawvideo -pixel_format bgra -video_size %dx%d %s\n\n", + printf(" Usage : dpcpp-blur\n"); + printf(" -hw use hardware implementation\n"); + printf(" -sw use software implementation\n"); + printf(" -i input file name (sw=I420 raw frames, hw=NV12)\n"); + printf(" -w input width\n"); + printf(" -h input height\n\n"); + printf(" Example: dpcpp-blur -i in.i420 -w 128 -h 96 -sw\n"); + printf( + " To view: ffplay -f rawvideo -pixel_format yuv420p -video_size %dx%d -pixel_format bgra %s\n\n", + OUTPUT_WIDTH, + OUTPUT_HEIGHT, + OUTPUT_FILE); + printf(" Resize raw frames to %dx%d size in %s\n\n", OUTPUT_WIDTH, OUTPUT_HEIGHT, OUTPUT_FILE); - printf(" * Resize I420 raw frames to %dx%d size, and convert color space from I420 to BGRA\n", - OUTPUT_WIDTH, - OUTPUT_HEIGHT); -#ifdef __SYCL_COMPILER_VERSION + +#ifdef BUILD_DPCPP printf(" Blur VPP output by using DPCPP kernel (default kernel size is [%d]x[%d]) in %s\n", 2 * BLUR_RADIUS + 1, 2 * BLUR_RADIUS + 1, OUTPUT_FILE); #endif - printf("\n"); return; } -#ifdef __SYCL_COMPILER_VERSION +#ifdef BUILD_DPCPP // Few useful acronyms. constexpr auto sycl_read = sycl::access::mode::read; constexpr auto sycl_write = sycl::access::mode::write; @@ -117,50 +93,46 @@ class MyDeviceSelector : public cl::sycl::device_selector { << std::endl << std::endl; + if (device.is_gpu()) + return 500; // Higher merit for GPU if (device.is_cpu()) - return 500; // We give higher merit for CPU - //if (device.is_accelerator()) return 400; - //if (device.is_gpu()) return 300; - //if (device.is_host()) return 100; + return 100; // Select CPU if no GPU available + return -1; } }; #endif int main(int argc, char *argv[]) { - if (argc != 4) { + //Variables used for legacy and 2.x + bool isDraining = false; + bool isStillGoing = true; + FILE *sink = NULL; + FILE *source = NULL; + mfxFrameSurface1 *vppInSurface = NULL; + mfxFrameSurface1 *vppOutSurface = NULL; + mfxSession session = NULL; + mfxStatus sts = MFX_ERR_NONE; + mfxStatus sts_r = MFX_ERR_NONE; + mfxSyncPoint syncp = {}; + mfxU32 framenum = 0; + mfxVideoParam mfxVPPParams = {}; + void *accelHandle = NULL; + mfxU32 surface_size = 0; + Params cliParams = {}; + mfxVersion version = { 0, 1 }; + + //variables used only in 2.x version + mfxConfig cfg = NULL; + mfxLoader loader = NULL; + + //Parse command line args to cliParams + if (ParseArgsAndValidate(argc, argv, &cliParams, PARAMS_VPP) == false) { Usage(); - return 1; + return 1; // return 1 as error code } - char *in_filename = NULL; - FILE *source = NULL; - FILE *sink = NULL; - mfxStatus sts = MFX_ERR_NONE; - mfxLoader loader = NULL; - mfxConfig cfg = NULL; - mfxVariant impl_value = {}; - mfxSession session = NULL; - mfxU16 input_width = 0; - mfxU16 input_height = 0; - mfxU16 out_width = 0; - mfxU16 out_height = 0; - mfxVideoParam vpp_params = { 0 }; - mfxFrameAllocRequest vpp_request[2] = {}; - mfxU16 num_surfaces_in = 0; - mfxU16 num_surfaces_out = 0; - mfxU32 surface_size = 0; - mfxU8 *vpp_data_out = NULL; - mfxFrameSurface1 *vpp_surfaces_in = NULL; - mfxFrameSurface1 *vpp_surfaces_out = NULL; - int available_surface_index = 0; - mfxSyncPoint syncp = { 0 }; - mfxU32 framenum = 0; - bool is_draining = false; - bool is_stillgoing = true; - mfxU16 i; - -#ifdef __SYCL_COMPILER_VERSION +#ifdef BUILD_DPCPP printf("\n! DPCPP blur feature enabled\n\n"); // Initialize DPC++ @@ -179,177 +151,136 @@ int main(int argc, char *argv[]) { printf("\n! DPCPP blur feature not enabled\n\n"); #endif - // Setup input and output files - in_filename = ValidateFileName(argv[1]); - VERIFY(in_filename, "Input filename is not valid"); - - source = fopen(in_filename, "rb"); + source = fopen(cliParams.infileName, "rb"); VERIFY(source, "Could not open input file"); sink = fopen(OUTPUT_FILE, "wb"); VERIFY(sink, "Could not create output file"); - input_width = ValidateSize(argv[2], MAX_WIDTH); - VERIFY(input_width, "Input width is not valid"); - - input_height = ValidateSize(argv[3], MAX_HEIGHT); - VERIFY(input_height, "Input height is not valid"); - - // Initialize VPL session for video processing + // Initialize VPL session loader = MFXLoad(); - VERIFY(NULL != loader, "MFXLoad failed"); + VERIFY(NULL != loader, "MFXLoad failed -- is implementation in path?"); cfg = MFXCreateConfig(loader); VERIFY(NULL != cfg, "MFXCreateConfig failed") - impl_value.Type = MFX_VARIANT_TYPE_U32; - impl_value.Data.U32 = MFX_EXTBUFF_VPP_SCALING; - sts = MFXSetConfigFilterProperty( - cfg, - (mfxU8 *)"mfxImplDescription.mfxVPPDescription.filter.FilterFourCC", - impl_value); + sts = MFXSetConfigFilterProperty(cfg, (mfxU8 *)"mfxImplDescription.Impl", cliParams.implValue); VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed"); sts = MFXCreateSession(loader, 0, &session); - VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session supporting VPP"); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); + + // Print info about implementation loaded + version = ShowImplInfo(session); + VERIFY(version.Major > 1, "Sample requires 2.x API implementation, exiting"); + + // Convenience function to initialize available accelerator(s) + accelHandle = InitAcceleratorHandle(session); // Initialize VPP parameters - // Input data - vpp_params.vpp.In.FourCC = MFX_FOURCC_I420; - vpp_params.vpp.In.ChromaFormat = MFX_CHROMAFORMAT_YUV420; - vpp_params.vpp.In.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; - vpp_params.vpp.In.FrameRateExtN = FRAMERATE; - vpp_params.vpp.In.FrameRateExtD = 1; - vpp_params.vpp.In.CropW = input_width; - vpp_params.vpp.In.CropH = input_height; - vpp_params.vpp.In.Width = ALIGN16(input_width); - vpp_params.vpp.In.Height = ALIGN16(input_height); - // Output data - change output size to OUTPUT_WIDTH, OUTPUT_HEIGHT - // change color space to BGRA - vpp_params.vpp.Out.FourCC = MFX_FOURCC_BGRA; - vpp_params.vpp.Out.ChromaFormat = MFX_CHROMAFORMAT_YUV420; - vpp_params.vpp.Out.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; - vpp_params.vpp.Out.FrameRateExtN = FRAMERATE; - vpp_params.vpp.Out.FrameRateExtD = 1; - vpp_params.vpp.Out.CropW = OUTPUT_WIDTH; - vpp_params.vpp.Out.CropH = OUTPUT_HEIGHT; - vpp_params.vpp.Out.Width = ALIGN16(OUTPUT_WIDTH); - vpp_params.vpp.Out.Height = ALIGN16(OUTPUT_HEIGHT); - - vpp_params.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY; - - // Query number of required surfaces for VPP - sts = MFXVideoVPP_QueryIOSurf(session, &vpp_params, vpp_request); - VERIFY(MFX_ERR_NONE == sts, "QueryIOSurf error"); - - num_surfaces_in = vpp_request[0].NumFrameSuggested; - num_surfaces_out = vpp_request[1].NumFrameSuggested; - - // Allocate surfaces for VPP out - // Frame surface array keeps pointers to all surface planes and general - // frame info - out_width = vpp_params.vpp.Out.Width; - out_height = vpp_params.vpp.Out.Height; - - surface_size = GetSurfaceSize(MFX_FOURCC_BGRA, out_width, out_height); - VERIFY(surface_size, "VPP out surface size is wrong"); - - vpp_data_out = (mfxU8 *)calloc(num_surfaces_out, surface_size); - VERIFY(vpp_data_out, "Could not allocate buffer for VPP output frames"); - - vpp_surfaces_out = (mfxFrameSurface1 *)calloc(num_surfaces_out, sizeof(mfxFrameSurface1)); - VERIFY(vpp_surfaces_out, "Could not allocate VPP output surfaces"); - - for (i = 0; i < num_surfaces_out; i++) { - vpp_surfaces_out[i].Info = vpp_params.vpp.Out; - vpp_surfaces_out[i].Data.B = &vpp_data_out[surface_size * i]; - vpp_surfaces_out[i].Data.G = vpp_surfaces_out[i].Data.B + 1; - vpp_surfaces_out[i].Data.R = vpp_surfaces_out[i].Data.G + 1; - vpp_surfaces_out[i].Data.A = vpp_surfaces_out[i].Data.R + 1; - vpp_surfaces_out[i].Data.Pitch = out_width * 4; + if (MFX_IMPL_SOFTWARE == cliParams.impl) { + PrepareFrameInfo(&mfxVPPParams.vpp.In, + MFX_FOURCC_I420, + cliParams.srcWidth, + cliParams.srcHeight); + PrepareFrameInfo(&mfxVPPParams.vpp.Out, MFX_FOURCC_BGRA, OUTPUT_WIDTH, OUTPUT_HEIGHT); + } + else { + PrepareFrameInfo(&mfxVPPParams.vpp.In, + MFX_FOURCC_NV12, + cliParams.srcWidth, + cliParams.srcHeight); + PrepareFrameInfo(&mfxVPPParams.vpp.Out, MFX_FOURCC_BGRA, OUTPUT_WIDTH, OUTPUT_HEIGHT); } -#ifdef __SYCL_COMPILER_VERSION + mfxVPPParams.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + +#ifdef BUILD_DPCPP + surface_size = GetSurfaceSize(MFX_FOURCC_BGRA, OUTPUT_WIDTH, OUTPUT_HEIGHT); + // Initialize surface for blurred frame blur_data_out.resize(surface_size); - - memset(&blurred_surface, 1, sizeof(blurred_surface)); - blurred_surface.Info = vpp_params.vpp.Out; + blurred_surface = {}; + blurred_surface.Info = mfxVPPParams.vpp.Out; blurred_surface.Data.B = &blur_data_out[0]; blurred_surface.Data.G = blurred_surface.Data.B + 1; blurred_surface.Data.R = blurred_surface.Data.G + 1; blurred_surface.Data.A = blurred_surface.Data.R + 1; - blurred_surface.Data.Pitch = out_width * 4; + blurred_surface.Data.Pitch = OUTPUT_WIDTH * 4; #endif - // Initialize VPP and start processing - sts = MFXVideoVPP_Init(session, &vpp_params); + // Initialize VPP + sts = MFXVideoVPP_Init(session, &mfxVPPParams); VERIFY(MFX_ERR_NONE == sts, "Could not initialize VPP"); - printf("Processing %s -> %s\n", in_filename, OUTPUT_FILE); + printf("Processing %s -> %s\n", cliParams.infileName, OUTPUT_FILE); - while (is_stillgoing == true) { + while (isStillGoing == true) { // Load a new frame if not draining - if (is_draining == false) { - vpp_surfaces_in = NULL; - - sts = MFXMemory_GetSurfaceForVPP(session, &vpp_surfaces_in); - VERIFY(MFX_ERR_NONE == sts, "Unknown error in MFXMemory_GetSurfaceForVPP"); - - // Map makes surface writable by CPU for all implementations - sts = vpp_surfaces_in->FrameInterface->Map(vpp_surfaces_in, MFX_MAP_WRITE); - VERIFY(MFX_ERR_NONE == sts, "mfxFrameSurfaceInterface->Map failed"); - - sts = LoadRawFrame(vpp_surfaces_in, source); - if (sts != MFX_ERR_NONE) - is_draining = true; - - // Unmap/release returns local device access for all implementations - sts = vpp_surfaces_in->FrameInterface->Unmap(vpp_surfaces_in); - VERIFY(MFX_ERR_NONE == sts, "mfxFrameSurfaceInterface->Unmap failed"); - - sts = vpp_surfaces_in->FrameInterface->Release(vpp_surfaces_in); - VERIFY(MFX_ERR_NONE == sts, "mfxFrameSurfaceInterface->Release failed"); - } - - // Find free frame surface for VPP out - available_surface_index = -1; - for (int i = 0; i < num_surfaces_out; i++) { - if (!vpp_surfaces_out[i].Data.Locked) { - available_surface_index = i; - break; - } + if (isDraining == false) { + sts = MFXMemory_GetSurfaceForVPPIn(session, &vppInSurface); + VERIFY(MFX_ERR_NONE == sts, "Unknown error in MFXMemory_GetSurfaceForVPPIn"); + + sts = ReadRawFrame_InternalMem(vppInSurface, source); + if (sts == MFX_ERR_MORE_DATA) + isDraining = true; + else + VERIFY(MFX_ERR_NONE == sts, "Unknown error reading input"); + + sts = MFXMemory_GetSurfaceForVPPOut(session, &vppOutSurface); + VERIFY(MFX_ERR_NONE == sts, "Unknown error in MFXMemory_GetSurfaceForVPPIn"); } - VERIFY(available_surface_index >= 0, "Could not find available output surface"); sts = MFXVideoVPP_RunFrameVPPAsync(session, - (is_draining == true) ? NULL : vpp_surfaces_in, - &vpp_surfaces_out[available_surface_index], + (isDraining == true) ? NULL : vppInSurface, + vppOutSurface, NULL, &syncp); + if (!isDraining) { + sts_r = vppInSurface->FrameInterface->Release(vppInSurface); + VERIFY(MFX_ERR_NONE == sts_r, "mfxFrameSurfaceInterface->Release failed"); + } + switch (sts) { case MFX_ERR_NONE: - // MFX_ERR_NONE and syncp indicate output is available - if (syncp) { - // VPP output is not available on CPU until sync operation completes - sts = MFXVideoCORE_SyncOperation(session, syncp, WAIT_100_MILLSECONDS); - VERIFY(MFX_ERR_NONE == sts, "MFXVideoCORE_SyncOperation error"); - -#ifdef __SYCL_COMPILER_VERSION - // Blur and store processed frame - BlurFrame(q, &vpp_surfaces_out[available_surface_index], &blurred_surface); - WriteRawFrame(&blurred_surface, sink); + +#ifdef BUILD_DPCPP + sts = vppOutSurface->FrameInterface->Map(vppOutSurface, MFX_MAP_READ); + if (sts != MFX_ERR_NONE) { + printf("mfxFrameSurfaceInterface->Map failed (%d)\n", sts); + return sts; + } + + BlurFrame(q, vppOutSurface, &blurred_surface); + sts = WriteRawFrame(&blurred_surface, sink); + if (sts != MFX_ERR_NONE) { + printf("Error in WriteRawFrame\n"); + return sts; + } + + sts = vppOutSurface->FrameInterface->Unmap(vppOutSurface); + if (sts != MFX_ERR_NONE) { + printf("mfxFrameSurfaceInterface->Unmap failed (%d)\n", sts); + return sts; + } + + sts = vppOutSurface->FrameInterface->Release(vppOutSurface); + if (sts != MFX_ERR_NONE) { + printf("mfxFrameSurfaceInterface->Release failed (%d)\n", sts); + return sts; + } #else - WriteRawFrame(&vpp_surfaces_out[available_surface_index], sink); + sts = WriteRawFrame_InternalMem(vppOutSurface, sink); + VERIFY(MFX_ERR_NONE == sts, "Could not write vpp output"); #endif - framenum++; - } + + framenum++; break; case MFX_ERR_MORE_DATA: // Need more input frames before VPP can produce an output - if (is_draining == true) - is_stillgoing = false; + if (isDraining) + isStillGoing = false; break; case MFX_ERR_MORE_SURFACE: // The output frame is ready after synchronization. @@ -367,7 +298,7 @@ int main(int argc, char *argv[]) { break; default: printf("unknown status %d\n", sts); - is_stillgoing = false; + isStillGoing = false; break; } } @@ -378,26 +309,25 @@ int main(int argc, char *argv[]) { // Clean up resources - It is recommended to close components first, before // releasing allocated surfaces, since some surfaces may still be locked by // internal resources. - if (loader) - MFXUnload(loader); - - if (vpp_surfaces_out) { - free(vpp_surfaces_out); - } - - if (vpp_data_out) - free(vpp_data_out); - if (source) fclose(source); if (sink) fclose(sink); + MFXVideoVPP_Close(session); + MFXClose(session); + + if (accelHandle) + FreeAcceleratorHandle(accelHandle); + + if (loader) + MFXUnload(loader); + return 0; } -#ifdef __SYCL_COMPILER_VERSION +#ifdef BUILD_DPCPP // SYCL kernel scheduler // Blur frame by using SYCL kernel void BlurFrame(sycl::queue q, mfxFrameSurface1 *in_surface, mfxFrameSurface1 *blurred_surface) { @@ -492,108 +422,3 @@ void BlurFrame(sycl::queue q, mfxFrameSurface1 *in_surface, mfxFrameSurface1 *bl return; } #endif - -// Load raw I420 frames to mfxFrameSurface -mfxStatus LoadRawFrame(mfxFrameSurface1 *surface, FILE *f) { - mfxU16 w, h, i, pitch; - mfxU32 bytes_read; - mfxU8 *ptr; - mfxFrameInfo *info = &surface->Info; - mfxFrameData *data = &surface->Data; - - w = info->Width; - h = info->Height; - - switch (info->FourCC) { - case MFX_FOURCC_I420: - // read luminance plane (Y) - pitch = data->Pitch; - ptr = data->Y; - for (i = 0; i < h; i++) { - bytes_read = (mfxU32)fread(ptr + i * pitch, 1, w, f); - if (w != bytes_read) - return MFX_ERR_MORE_DATA; - } - - // read chrominance (U, V) - pitch /= 2; - h /= 2; - w /= 2; - ptr = data->U; - for (i = 0; i < h; i++) { - bytes_read = (mfxU32)fread(ptr + i * pitch, 1, w, f); - if (w != bytes_read) - return MFX_ERR_MORE_DATA; - } - - ptr = data->V; - for (i = 0; i < h; i++) { - bytes_read = (mfxU32)fread(ptr + i * pitch, 1, w, f); - if (w != bytes_read) - return MFX_ERR_MORE_DATA; - } - break; - default: - printf("Unsupported FourCC code, skip LoadRawFrame\n"); - break; - } - - return MFX_ERR_NONE; -} - -// Write raw BGRA frame to file -void WriteRawFrame(mfxFrameSurface1 *surface, FILE *f) { - mfxU16 w, h, i, pitch; - mfxFrameInfo *info = &surface->Info; - mfxFrameData *data = &surface->Data; - - w = info->Width; - h = info->Height; - - switch (info->FourCC) { - case MFX_FOURCC_BGRA: - pitch = data->Pitch; - for (i = 0; i < h; i++) { - fwrite(data->B + i * pitch, 1, w * 4, f); - } - break; - default: - printf("Unsupported FourCC code, skip WriteRawFrame\n"); - break; - } - - return; -} - -// Return the surface size in bytes given format and dimensions -mfxU32 GetSurfaceSize(mfxU32 fourcc, mfxU16 width, mfxU16 height) { - mfxU32 bytes = 0; - - switch (fourcc) { - case MFX_FOURCC_BGRA: - bytes = 4 * width * height; - break; - default: - break; - } - - return bytes; -} - -char *ValidateFileName(char *in) { - if (in) { - if (strlen(in) > MAX_PATH) - return NULL; - } - - return in; -} - -mfxU16 ValidateSize(char *in, mfxU16 max) { - mfxU16 isize = (mfxU16)strtol(in, NULL, 10); - if (isize <= 0 || isize > max) { - return 0; - } - - return isize; -} diff --git a/examples/hello-createsession/CMakeLists.txt b/examples/hello-createsession/CMakeLists.txt new file mode 100644 index 00000000..aa0b385f --- /dev/null +++ b/examples/hello-createsession/CMakeLists.txt @@ -0,0 +1,69 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) +project(hello-createsession) + +if(NOT TARGET vpl-example-util) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../util + ${CMAKE_CURRENT_BINARY_DIR}/util) +endif() + +# Default install places 64 bit runtimes in the environment, so we want to do a +# 64 bit build by default. +if(WIN32) + if(NOT DEFINED CMAKE_GENERATOR_PLATFORM) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") + endif() +endif() + +set(TARGET hello-createsession) +set(SOURCES src/hello-createsession.cpp) +set(CONTENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../content) +set(RUNARGS "-sw") + +# Set default build type to RelWithDebInfo if not specified +if(NOT CMAKE_BUILD_TYPE) + message( + STATUS "Default CMAKE_BUILD_TYPE not set using Release with Debug Info") + set(CMAKE_BUILD_TYPE + "RelWithDebInfo" + CACHE + STRING + "Choose build type from: None Debug Release RelWithDebInfo MinSizeRel" + FORCE) +endif() + +add_executable(${TARGET} ${SOURCES}) + +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + if(NOT DEFINED ENV{VSCMD_VER}) + set(CMAKE_MSVCIDE_RUN_PATH $ENV{PATH}) + endif() +endif() + +if(POLICY CMP0074) + # ignore warning of VPL_ROOT in find_package search path + cmake_policy(SET CMP0074 OLD) +endif() + +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +find_path(VPL_UTIL_PATH util/util.h vpl-example-util + ${CMAKE_CURRENT_SOURCE_DIR}/../util) +target_include_directories(${TARGET} PRIVATE . ${VPL_UTIL_PATH}) + +get_directory_property(has_parent PARENT_DIRECTORY) +if(NOT has_parent) + # only make run target available for stand-alone build + add_custom_target(run ${TARGET} ${RUNARGS}) +else() + install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) +endif() diff --git a/examples/hello-createsession/License.txt b/examples/hello-createsession/License.txt new file mode 100644 index 00000000..1756b565 --- /dev/null +++ b/examples/hello-createsession/License.txt @@ -0,0 +1,18 @@ +Copyright Intel Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/examples/hello-transcode/PreLoad.cmake b/examples/hello-createsession/PreLoad.cmake similarity index 100% rename from examples/hello-transcode/PreLoad.cmake rename to examples/hello-createsession/PreLoad.cmake diff --git a/examples/hello-createsession/README.md b/examples/hello-createsession/README.md new file mode 100644 index 00000000..54f2041c --- /dev/null +++ b/examples/hello-createsession/README.md @@ -0,0 +1,119 @@ +# `hello-createsession` Sample + +This sample shows how to use the oneAPI Video Processing Library (oneVPL) to +initialize a session using 2.x enhanced programming model APIs. + +| Optimized for | Description +|----------------- | ---------------------------------------- +| OS | Ubuntu* 20.04; Windows* 10 +| Hardware | Intel® Processor Graphics GEN9 or newer +| Software | Intel® oneAPI Video Processing Library(oneVPL) +| What You Will Learn | How to use oneVPL sessions +| Time to Complete | 5 minutes + + +## Purpose + +This sample is a command line application that initializes a session. This is a +hello world case to showcase oneVPL architecture. + + +## Key Implementation details + +| Configuration | Default setting +| ----------------- | ---------------------------------- +| Target device | CPU or GPU + + +## License + +This code sample is licensed under MIT license. + + +## Building the `hello-createsession` Program + +### On a Linux* System + +Perform the following steps: + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Linux* + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + source /setvars.sh + ``` + Here `` represents the root folder of your oneAPI + installation, which is `/opt/intel/oneapi/` when installed as root, and + `~/intel/oneapi/` when installed as a normal user. If you customized the + installation folder, it is in your custom location. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +### On a Windows* System Using Visual Studio* Version 2017 or Newer + +#### Building the program using CMake + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Windows* + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + \setvars.bat + ``` + Here `` represents the root folder of your oneAPI + installation, which is which is `C:\Program Files (x86)\Intel\oneAPI\` + when installed using default options. If you customized the installation + folder, the `setvars.bat` is in your custom location. Note that if a + compiler is not part of your oneAPI installation you should run in a Visual + Studio 64-bit command prompt. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +## Running the Sample + +### Application Parameters + +``` + -hw use hardware implementation + -sw use software implementation +``` + +### Example of Output + +``` +Implementation info + version = 2.2 + impl = Software +``` + diff --git a/examples/hello-createsession/sample.json b/examples/hello-createsession/sample.json new file mode 100644 index 00000000..a4c321dc --- /dev/null +++ b/examples/hello-createsession/sample.json @@ -0,0 +1,35 @@ +{ + "guid": "AEDAA6EC-B6E0-4D5F-A97C-0B8312C4D86D", + "name": "Hello decode", + "categories": ["Toolkit/Intel® oneAPI Base Toolkit/oneVPL"], + "description": "Shows oneAPI Video Processing Library 2.x API session init", + "dependencies": ["vpl"], + "os": ["linux", "windows"], + "languages": [{"cpp":{}}], + "builder": [ "ide", "cmake"], + "targetDevice": ["CPU", "GPU"], + "ciTests": { + "linux": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ], + "windows": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ] + } +} diff --git a/examples/hello-createsession/src/hello-createsession.cpp b/examples/hello-createsession/src/hello-createsession.cpp new file mode 100644 index 00000000..d1183638 --- /dev/null +++ b/examples/hello-createsession/src/hello-createsession.cpp @@ -0,0 +1,71 @@ +//============================================================================== +// Copyright Intel Corporation +// +// SPDX-License-Identifier: MIT +//============================================================================== + +/// +/// A minimal oneAPI Video Processing Library (oneVPL) session creation application, +/// using 2.x API +/// +/// @file + +#include "util/util.h" + +void Usage(void) { + printf("\n"); + printf(" Usage : legacy-createsession\n"); + printf(" -hw use hardware implementation\n"); + printf(" -sw use software implementation\n"); + printf(" Initializes oneVPL session\n\n"); + return; +} + +int main(int argc, char *argv[]) { + //Variables used for legacy and 2.x + mfxSession session = NULL; + mfxStatus sts = MFX_ERR_NONE; + void *accelHandle = NULL; + Params cliParams; + + //variables used only in 2.x version + mfxConfig cfg = NULL; + mfxLoader loader = NULL; + + //Parse command line args to cliParams + if (ParseArgsAndValidate(argc, argv, &cliParams, PARAMS_CREATESESSION) == false) { + Usage(); + return 1; // return 1 as error code + } + + // Initialize VPL session + loader = MFXLoad(); + VERIFY(NULL != loader, "MFXLoad failed -- is implementation in path?"); + + cfg = MFXCreateConfig(loader); + VERIFY(NULL != cfg, "MFXCreateConfig failed") + + sts = MFXSetConfigFilterProperty(cfg, (mfxU8 *)"mfxImplDescription.Impl", cliParams.implValue); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed"); + + sts = MFXCreateSession(loader, 0, &session); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); + + // Print info about implementation loaded + ShowImplInfo(session); + + // Convenience function to initialize available accelerator(s) + accelHandle = InitAcceleratorHandle(session); + +end: + + MFXClose(session); + + if (accelHandle) + FreeAcceleratorHandle(accelHandle); + + if (loader) + MFXUnload(loader); + + return 0; +} diff --git a/examples/hello-decode/CMakeLists.txt b/examples/hello-decode/CMakeLists.txt index 10176fc6..b3a07d60 100644 --- a/examples/hello-decode/CMakeLists.txt +++ b/examples/hello-decode/CMakeLists.txt @@ -1,10 +1,31 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## cmake_minimum_required(VERSION 3.10.2) project(hello-decode) +if(NOT TARGET vpl-example-util) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../util + ${CMAKE_CURRENT_BINARY_DIR}/util) +endif() + +# Default install places 64 bit runtimes in the environment, so we want to do a +# 64 bit build by default. +if(WIN32) + if(NOT DEFINED CMAKE_GENERATOR_PLATFORM) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") + endif() +endif() + set(TARGET hello-decode) set(SOURCES src/hello-decode.cpp) -set(VPL_NAME mfx) -set(RUNARGS ${CMAKE_CURRENT_SOURCE_DIR}/content/cars_128x96.h265) +set(CONTENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../content) +set(RUNARGS -sw -i ${CONTENTPATH}/cars_128x96.h265) # Set default build type to RelWithDebInfo if not specified if(NOT CMAKE_BUILD_TYPE) @@ -32,15 +53,17 @@ if(POLICY CMP0074) cmake_policy(SET CMP0074 OLD) endif() -if(TARGET VPL) - target_link_libraries(${TARGET} VPL) -else() - find_package(VPL REQUIRED) - target_link_libraries(${TARGET} VPL::dispatcher) -endif() +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +find_path(VPL_UTIL_PATH util/util.h vpl-example-util + ${CMAKE_CURRENT_SOURCE_DIR}/../util) +target_include_directories(${TARGET} PRIVATE . ${VPL_UTIL_PATH}) get_directory_property(has_parent PARENT_DIRECTORY) if(NOT has_parent) # only make run target available for stand-alone build add_custom_target(run ${TARGET} ${RUNARGS}) +else() + install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) endif() diff --git a/examples/hello-decode/README.md b/examples/hello-decode/README.md index 66163a8c..57ce2b49 100644 --- a/examples/hello-decode/README.md +++ b/examples/hello-decode/README.md @@ -1,11 +1,11 @@ # `hello-decode` Sample This sample shows how to use the oneAPI Video Processing Library (oneVPL) to -perform a simple video decode. +perform a simple video decode using 2.x enhanced programming model APIs. | Optimized for | Description |----------------- | ---------------------------------------- -| OS | Ubuntu* 18.04; Windows* 10 +| OS | Ubuntu* 20.04; Windows* 10 | Hardware | Intel® Processor Graphics GEN9 or newer | Software | Intel® oneAPI Video Processing Library(oneVPL) | What You Will Learn | How to use oneVPL to decode an H.265 encoded video file @@ -16,8 +16,9 @@ perform a simple video decode. This sample is a command line application that takes a file containing an H.265 video elementary stream as an argument, decodes it with oneVPL and writes the -decoded output to a the file `out.i420` in raw I420 format. +decoded output to a the file `out.raw` in raw format. +Native raw frame format: CPU=I420, GPU=NV12. ## Key Implementation details @@ -104,34 +105,31 @@ Perform the following steps: ``` -#### Building the program using VS2017 or VS2019 IDE - -1. Install the Intel® oneAPI Base Toolkit for Windows* -2. Right click on the solution file and open using either VS2017 or VS2019 IDE. -3. Right click on the project in Solution explorer and select Rebuild. -4. From top menu select Debug -> Start without Debugging. - - ## Running the Sample ### Application Parameters The instructions given above run the sample executable with the argument -`/content/cars_128x96.h265`. +`-i examples/content/cars_128x96.h265`. ### Example of Output ``` -Decoding hello-decode/content/cars_128x96.h265 -> out.i420 +Implementation info + version = 2.2 + impl = Software +Decoding hello-decode/../content/cars_128x96.h265 -> out.raw Decoded 60 frames ``` -You can find the output file `out.i420` in the build directory. +You can find the output file `out.raw` in the build directory. You can display the output with a video player that supports raw streams such as FFplay. You can use the following command to display the output with FFplay: ``` -ffplay -video_size 128x96 -pixel_format yuv420p -f rawvideo out.i420 +ffplay -video_size 128x96 -pixel_format yuv420p -f rawvideo out.raw ``` + +Use nv12 for pixel_format for GPU output. diff --git a/examples/hello-decode/hello-decode.sln b/examples/hello-decode/hello-decode.sln deleted file mode 100644 index a0dfbc94..00000000 --- a/examples/hello-decode/hello-decode.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27703.2042 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hello-decode", "hello-decode.vcxproj", "{2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Debug|x64.ActiveCfg = Debug|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Debug|x64.Build.0 = Debug|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Release|x64.ActiveCfg = Release|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {E209F0AF-0CE9-4817-9ACE-A3972CF479DB} - EndGlobalSection -EndGlobal diff --git a/examples/hello-decode/hello-decode.vcxproj b/examples/hello-decode/hello-decode.vcxproj deleted file mode 100644 index 1bd126db..00000000 --- a/examples/hello-decode/hello-decode.vcxproj +++ /dev/null @@ -1,177 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - 15.0 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08} - Win32Proj - hellodecode - $(WindowsSDKVersion.Replace("\","")) - - - - Application - true - v141 - Unicode - - - Application - false - v141 - true - Unicode - - - Application - true - v141 - Unicode - - - Application - false - v141 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - NotUsing - Level3 - Disabled - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);%(AdditionalIncludeDirectories) - false - - - Console - true - $(VPLLIB);%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - Disabled - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);$(ONEAPI_ROOT)\vpl\latest\include;%(AdditionalIncludeDirectories) - false - - - Console - true - $(VPLLIB);$(ONEAPI_ROOT)\vpl\latest\lib;%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);%(AdditionalIncludeDirectories) - false - - - Console - true - true - true - $(VPLLIB);%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);$(ONEAPI_ROOT)\vpl\latest\include;%(AdditionalIncludeDirectories) - false - - - Console - true - true - true - $(VPLLIB);$(ONEAPI_ROOT)\vpl\latest\lib;%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - - - - - - - - - - - diff --git a/examples/hello-decode/hello-decode.vcxproj.user b/examples/hello-decode/hello-decode.vcxproj.user deleted file mode 100644 index cf84caac..00000000 --- a/examples/hello-decode/hello-decode.vcxproj.user +++ /dev/null @@ -1,15 +0,0 @@ - - - - "content\cars_128x96.h265" - WindowsLocalDebugger - PATH=$(ONEAPI_ROOT)\vpl\latest\bin;%PATH% - - - - "content\cars_128x96.h265" - WindowsLocalDebugger - PATH=$(ONEAPI_ROOT)\vpl\latest\bin;%PATH% - - - diff --git a/examples/hello-decode/src/hello-decode.cpp b/examples/hello-decode/src/hello-decode.cpp index 8d516865..2cf892fa 100644 --- a/examples/hello-decode/src/hello-decode.cpp +++ b/examples/hello-decode/src/hello-decode.cpp @@ -6,141 +6,159 @@ /// /// A minimal oneAPI Video Processing Library (oneVPL) decode application, -/// using oneVPL internal memory management +/// using 2.x API with internal memory management /// /// @file -#include -#include -#include -#include "vpl/mfxdispatcher.h" -#include "vpl/mfxvideo.h" +#include "util/util.h" -#define MAX_PATH 260 -#define OUTPUT_FILE "out.i420" -#define WAIT_100_MILLSECONDS 100 +#define OUTPUT_FILE "out.raw" #define BITSTREAM_BUFFER_SIZE 2000000 -#define VERIFY(x, y) \ - if (!(x)) { \ - printf("%s\n", y); \ - goto end; \ - } - -#define ALIGN16(value) (((value + 15) >> 4) << 4) - -mfxStatus ReadEncodedStream(mfxBitstream &bs, FILE *f); -void WriteRawFrame(mfxFrameSurface1 *surface, FILE *f); -char *ValidateFileName(char *in); - void Usage(void) { printf("\n"); - printf(" Usage : hello-decode InputBitstream\n\n"); - printf(" InputBitstream ... input file name (HEVC/H265 elementary stream)\n\n"); - printf(" Example: hello-decode in.h265\n"); + printf(" Usage : hello-decode \n\n"); + printf(" -sw/-hw use software or hardware implementation\n"); + printf(" -i input file name (HEVC elementary stream)\n\n"); + printf(" Example: hello-decode -sw -i in.h265\n"); printf( " To view: ffplay -f rawvideo -pixel_format yuv420p -video_size [width]x[height] %s\n\n", OUTPUT_FILE); - printf(" * Decode HEVC/H265 elementary stream to I420 raw frames in %s\n\n", OUTPUT_FILE); + printf(" * Decode HEVC/H265 elementary stream to raw frames in %s\n\n", OUTPUT_FILE); + printf(" CPU native color format is I420/yuv420p. GPU native color format is NV12\n"); return; } int main(int argc, char *argv[]) { - if (argc != 2) { + //Variables used for legacy and 2.x + bool isDraining = false; + bool isStillGoing = true; + FILE *sink = NULL; + FILE *source = NULL; + mfxBitstream bitstream = {}; + mfxFrameSurface1 *decSurfaceOut = NULL; + mfxSession session = NULL; + mfxStatus sts = MFX_ERR_NONE; + mfxSyncPoint syncp = {}; + mfxU32 framenum = 0; + Params cliParams = {}; + void *accelHandle = NULL; + mfxVideoParam mfxDecParams = {}; + mfxVersion version = { 0, 1 }; + + //variables used only in 2.x version + mfxConfig cfg = NULL; + mfxLoader loader = NULL; + mfxVariant inCodec = {}; + + //Parse command line args to cliParams + if (ParseArgsAndValidate(argc, argv, &cliParams, PARAMS_DECODE) == false) { Usage(); - return 1; + return 1; // return 1 as error code } - char *in_filename = NULL; - FILE *source = NULL; - FILE *sink = NULL; - mfxStatus sts = MFX_ERR_NONE; - mfxLoader loader = NULL; - mfxConfig cfg = NULL; - mfxVariant impl_value = { 0 }; - mfxSession session = NULL; - mfxBitstream bitstream = { 0 }; - mfxFrameSurface1 *dec_surface_out = NULL; - mfxSyncPoint syncp = { 0 }; - mfxU32 framenum = 0; - bool is_draining = false; - bool is_stillgoing = true; - - // Setup input and output files - in_filename = ValidateFileName(argv[1]); - VERIFY(in_filename, "Input filename is not valid"); - - source = fopen(in_filename, "rb"); + source = fopen(cliParams.infileName, "rb"); VERIFY(source, "Could not open input file"); sink = fopen(OUTPUT_FILE, "wb"); VERIFY(sink, "Could not create output file"); - // Initialize VPL session for any implementation of HEVC/H265 decode + // Initialize VPL session loader = MFXLoad(); - VERIFY(NULL != loader, "MFXLoad failed"); + VERIFY(NULL != loader, "MFXLoad failed -- is implementation in path?"); cfg = MFXCreateConfig(loader); VERIFY(NULL != cfg, "MFXCreateConfig failed") - impl_value.Type = MFX_VARIANT_TYPE_U32; - impl_value.Data.U32 = MFX_CODEC_HEVC; - sts = MFXSetConfigFilterProperty( + // Implementation used must be the type requested from command line + sts = MFXSetConfigFilterProperty(cfg, (mfxU8 *)"mfxImplDescription.Impl", cliParams.implValue); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed for Impl"); + + // Implementation must provide an HEVC decoder + inCodec.Type = MFX_VARIANT_TYPE_U32; + inCodec.Data.U32 = MFX_CODEC_HEVC; + sts = MFXSetConfigFilterProperty( cfg, (mfxU8 *)"mfxImplDescription.mfxDecoderDescription.decoder.CodecID", - impl_value); - VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed"); + inCodec); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed for decoder CodecID"); sts = MFXCreateSession(loader, 0, &session); - VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session supporting HEVC/H265 decode"); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); + + // Print info about implementation loaded + version = ShowImplInfo(session); + VERIFY(version.Major > 1, "Sample requires 2.x API implementation, exiting"); + + // Convenience function to initialize available accelerator(s) + accelHandle = InitAcceleratorHandle(session); // Prepare input bitstream and start decoding bitstream.MaxLength = BITSTREAM_BUFFER_SIZE; - bitstream.Data = (mfxU8 *)malloc(bitstream.MaxLength * sizeof(mfxU8)); + bitstream.Data = (mfxU8 *)calloc(bitstream.MaxLength, sizeof(mfxU8)); VERIFY(bitstream.Data, "Not able to allocate input buffer"); - memset(bitstream.Data, 0, bitstream.MaxLength * sizeof(mfxU8)); bitstream.CodecId = MFX_CODEC_HEVC; - printf("Decoding %s -> %s\n", in_filename, OUTPUT_FILE); + //Pre-parse input stream + sts = ReadEncodedStream(bitstream, source); + VERIFY(MFX_ERR_NONE == sts, "Error reading bitstream\n"); + + mfxDecParams.mfx.CodecId = MFX_CODEC_HEVC; + mfxDecParams.IOPattern = MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + sts = MFXVideoDECODE_DecodeHeader(session, &bitstream, &mfxDecParams); + VERIFY(MFX_ERR_NONE == sts, "Error decoding header\n"); + + // input parameters finished, now initialize decode + sts = MFXVideoDECODE_Init(session, &mfxDecParams); + VERIFY(MFX_ERR_NONE == sts, "Error initializing decode\n"); - while (is_stillgoing == true) { + printf("Decoding %s -> %s\n", cliParams.infileName, OUTPUT_FILE); + + printf("Output colorspace: "); + switch (mfxDecParams.mfx.FrameInfo.FourCC) { + case MFX_FOURCC_I420: // CPU output + printf("I420 (aka yuv420p)\n"); + break; + case MFX_FOURCC_NV12: // GPU output + printf("NV12\n"); + break; + default: + printf("Unsupported color format\n"); + goto end; + break; + } + + while (isStillGoing == true) { // Load encoded stream if not draining - if (is_draining == false) { + if (isDraining == false) { sts = ReadEncodedStream(bitstream, source); if (sts != MFX_ERR_NONE) - is_draining = true; + isDraining = true; } sts = MFXVideoDECODE_DecodeFrameAsync(session, - (is_draining) ? NULL : &bitstream, + (isDraining) ? NULL : &bitstream, NULL, - &dec_surface_out, + &decSurfaceOut, &syncp); switch (sts) { case MFX_ERR_NONE: do { - sts = dec_surface_out->FrameInterface->Synchronize(dec_surface_out, - WAIT_100_MILLSECONDS); + sts = decSurfaceOut->FrameInterface->Synchronize(decSurfaceOut, + WAIT_100_MILLISECONDS); if (MFX_ERR_NONE == sts) { - sts = dec_surface_out->FrameInterface->Map(dec_surface_out, MFX_MAP_READ); - VERIFY(MFX_ERR_NONE == sts, "mfxFrameSurfaceInterface->Map failed"); + sts = WriteRawFrame_InternalMem(decSurfaceOut, sink); + VERIFY(MFX_ERR_NONE == sts, "Could not write decode output"); - WriteRawFrame(dec_surface_out, sink); framenum++; - - sts = dec_surface_out->FrameInterface->Unmap(dec_surface_out); - VERIFY(MFX_ERR_NONE == sts, "mfxFrameSurfaceInterface->Unmap failed"); - - sts = dec_surface_out->FrameInterface->Release(dec_surface_out); - VERIFY(MFX_ERR_NONE == sts, "mfxFrameSurfaceInterface->Release failed"); } } while (sts == MFX_WRN_IN_EXECUTION); break; case MFX_ERR_MORE_DATA: // The function requires more bitstream at input before decoding can proceed - if (is_draining) - is_stillgoing = false; + if (isDraining) + isStillGoing = false; break; case MFX_ERR_MORE_SURFACE: // The function requires more frame surface at output before decoding can proceed. @@ -173,7 +191,7 @@ int main(int argc, char *argv[]) { break; default: printf("unknown status %d\n", sts); - is_stillgoing = false; + isStillGoing = false; break; } } @@ -184,75 +202,22 @@ int main(int argc, char *argv[]) { // Clean up resources - It is recommended to close components first, before // releasing allocated surfaces, since some surfaces may still be locked by // internal resources. - if (loader) - MFXUnload(loader); - - if (bitstream.Data) - free(bitstream.Data); - if (source) fclose(source); if (sink) fclose(sink); - return 0; -} - -// Read encoded stream from file -mfxStatus ReadEncodedStream(mfxBitstream &bs, FILE *f) { - memmove(bs.Data, bs.Data + bs.DataOffset, bs.DataLength); - bs.DataOffset = 0; - bs.DataLength += (mfxU32)fread(bs.Data + bs.DataLength, 1, bs.MaxLength - bs.DataLength, f); - if (bs.DataLength == 0) - return MFX_ERR_MORE_DATA; + MFXVideoDECODE_Close(session); + MFXClose(session); - return MFX_ERR_NONE; -} + if (bitstream.Data) + free(bitstream.Data); -// Write raw I420 frame to file -void WriteRawFrame(mfxFrameSurface1 *surface, FILE *f) { - mfxU16 w, h, i, pitch; - mfxFrameInfo *info = &surface->Info; - mfxFrameData *data = &surface->Data; - - w = info->Width; - h = info->Height; - - // write the output to disk - switch (info->FourCC) { - case MFX_FOURCC_I420: - // Y - pitch = data->Pitch; - for (i = 0; i < h; i++) { - fwrite(data->Y + i * pitch, 1, w, f); - } - // U - pitch /= 2; - h /= 2; - w /= 2; - for (i = 0; i < h; i++) { - fwrite(data->U + i * pitch, 1, w, f); - } - // V - for (i = 0; i < h; i++) { - fwrite(data->V + i * pitch, 1, w, f); - } - break; + if (accelHandle) + FreeAcceleratorHandle(accelHandle); - default: - printf("Unsupported FourCC code, skip WriteRawFrame\n"); - break; - } - - return; + if (loader) + MFXUnload(loader); + return 0; } - -char *ValidateFileName(char *in) { - if (in) { - if (strlen(in) > MAX_PATH) - return NULL; - } - - return in; -} \ No newline at end of file diff --git a/examples/hello-decvpp/CMakeLists.txt b/examples/hello-decvpp/CMakeLists.txt new file mode 100644 index 00000000..3285fdfe --- /dev/null +++ b/examples/hello-decvpp/CMakeLists.txt @@ -0,0 +1,69 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) +project(hello-decvpp) + +if(NOT TARGET vpl-example-util) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../util + ${CMAKE_CURRENT_BINARY_DIR}/util) +endif() + +# Default install places 64 bit runtimes in the environment, so we want to do a +# 64 bit build by default. +if(WIN32) + if(NOT DEFINED CMAKE_GENERATOR_PLATFORM) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") + endif() +endif() + +set(TARGET hello-decvpp) +set(SOURCES src/hello-decvpp.cpp) +set(CONTENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../content) +set(RUNARGS -sw -i ${CONTENTPATH}/cars_128x96.h265) + +# Set default build type to RelWithDebInfo if not specified +if(NOT CMAKE_BUILD_TYPE) + message( + STATUS "Default CMAKE_BUILD_TYPE not set using Release with Debug Info") + set(CMAKE_BUILD_TYPE + "RelWithDebInfo" + CACHE + STRING + "Choose build type from: None Debug Release RelWithDebInfo MinSizeRel" + FORCE) +endif() + +add_executable(${TARGET} ${SOURCES}) + +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + if(NOT DEFINED ENV{VSCMD_VER}) + set(CMAKE_MSVCIDE_RUN_PATH $ENV{PATH}) + endif() +endif() + +if(POLICY CMP0074) + # ignore warning of VPL_ROOT in find_package search path + cmake_policy(SET CMP0074 OLD) +endif() + +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +find_path(VPL_UTIL_PATH util/util.h vpl-example-util + ${CMAKE_CURRENT_SOURCE_DIR}/../util) +target_include_directories(${TARGET} PRIVATE . ${VPL_UTIL_PATH}) + +get_directory_property(has_parent PARENT_DIRECTORY) +if(NOT has_parent) + # only make run target available for stand-alone build + add_custom_target(run ${TARGET} ${RUNARGS}) +else() + install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) +endif() diff --git a/examples/hello-decvpp/License.txt b/examples/hello-decvpp/License.txt new file mode 100644 index 00000000..1756b565 --- /dev/null +++ b/examples/hello-decvpp/License.txt @@ -0,0 +1,18 @@ +Copyright Intel Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/examples/hello-decvpp/PreLoad.cmake b/examples/hello-decvpp/PreLoad.cmake new file mode 100644 index 00000000..b763e9fa --- /dev/null +++ b/examples/hello-decvpp/PreLoad.cmake @@ -0,0 +1,6 @@ +if(WIN32) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") +endif() diff --git a/examples/hello-decvpp/README.md b/examples/hello-decvpp/README.md new file mode 100644 index 00000000..a1f32643 --- /dev/null +++ b/examples/hello-decvpp/README.md @@ -0,0 +1,136 @@ +# `hello-decvpp` Sample + +This sample shows how to use the oneAPI Video Processing Library (oneVPL) to +perform a simple video decode and vpp for separate output. + +| Optimized for | Description +|----------------- | ---------------------------------------- +| OS | Ubuntu* 20.04; Windows* 10 +| Hardware | Intel® Processor Graphics GEN9 or newer +| Software | Intel® oneAPI Video Processing Library(oneVPL) +| What You Will Learn | How to use oneVPL to decode an H.265 encoded video file and vpp for additional output +| Time to Complete | 5 minutes + + +## Purpose + +This sample is a command line application that takes a file containing an H.265 +video elementary stream as an argument, decodes it and vpp the output with oneVPL, and writes the decode output to a the file `dec_out.raw` in raw native format and the two vpp outputs to "vpp_320x240_out.raw" in raw native format and "vpp_128x96_out.raw" in raw BGRA format. + +Native raw frame format: CPU=I420, GPU=NV12. + +## Key Implementation details + +| Configuration | Default setting +| ----------------- | ---------------------------------- +| Target device | CPU +| Input format | H.265 video elementary stream +| Output format | I420, BGRA +| Output resolution | decode: same as input stream, vpp: 320x240, 128x96 + + +## License + +This code sample is licensed under MIT license. + + +## Building the `hello-decvpp` Program + +### On a Linux* System + +Perform the following steps: + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Linux* + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + source /setvars.sh + ``` + Here `` represents the root folder of your oneAPI + installation, which is `/opt/intel/oneapi/` when installed as root, and + `~/intel/oneapi/` when installed as a normal user. If you customized the + installation folder, it is in your custom location. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +### On a Windows* System Using Visual Studio* Version 2017 or Newer + +#### Building the program using CMake + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Windows* + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + \setvars.bat + ``` + Here `` represents the root folder of your oneAPI + installation, which is which is `C:\Program Files (x86)\Intel\oneAPI\` + when installed using default options. If you customized the installation + folder, the `setvars.bat` is in your custom location. Note that if a + compiler is not part of your oneAPI installation you should run in a Visual + Studio 64-bit command prompt. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +## Running the Sample + +### Application Parameters + +The instructions given above run the sample executable with the argument +`-i examples/content/cars_128x96.h265`. + + +### Example of Output + +``` +Implementation info + version = 2.2 + impl = Software +Decoding hello-decvpp/../content/cars_128x96.h265 -> dec_out.raw and vpp_320x240_out.raw, vpp_128x96_out.raw +Decoded 60 frames +``` + +You can find the output file `dec_out.raw`, `vpp_320x240_out.raw`, and `vpp_128x96_out.raw` in the build directory. + +You can display the output with a video player that supports raw streams such as +FFplay. You can use the following command to display the output with FFplay: + +``` +ffplay -video_size 128x96 -pixel_format yuv420p -f rawvideo dec_out.raw +ffplay -video_size 320x240 -pixel_format yuv420p -f rawvideo vpp_320x240_out.raw +ffplay -video_size 128x96 -pixel_format bgra -f rawvideo vpp_128x96_out.raw +``` + +Use nv12 for pixel_format for GPU output. diff --git a/examples/hello-decvpp/sample.json b/examples/hello-decvpp/sample.json new file mode 100644 index 00000000..61fd5c6a --- /dev/null +++ b/examples/hello-decvpp/sample.json @@ -0,0 +1,35 @@ +{ + "guid": "AEDAA6EC-B6E0-4D5F-A97C-0B8312C4D86D", + "name": "Hello decvpp", + "categories": ["Toolkit/Intel® oneAPI Base Toolkit/oneVPL"], + "description": "Sample that shows how to use the oneAPI Video Processing Library to perform a simple video decode and vpp for separate output", + "dependencies": ["vpl"], + "os": ["linux", "windows"], + "languages": [{"cpp":{}}], + "builder": [ "ide", "cmake"], + "targetDevice": ["CPU", "GPU"], + "ciTests": { + "linux": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ], + "windows": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ] + } +} diff --git a/examples/hello-decvpp/src/hello-decvpp.cpp b/examples/hello-decvpp/src/hello-decvpp.cpp new file mode 100644 index 00000000..e05efa51 --- /dev/null +++ b/examples/hello-decvpp/src/hello-decvpp.cpp @@ -0,0 +1,300 @@ +//============================================================================== +// Copyright Intel Corporation +// +// SPDX-License-Identifier: MIT +//============================================================================== + +/// +/// A minimal oneAPI Video Processing Library (oneVPL) decode and VPP application, +/// using 2.x API with internal memory management +/// +/// @file + +#include "util/util.h" + +#define DEC_OUTPUT_FILE "dec_out.raw" +#define VPP1_OUTPUT_FILE "vpp_320x240_out.raw" +#define VPP2_OUTPUT_FILE "vpp_128x96_out.raw" +#define BITSTREAM_BUFFER_SIZE 2000000 + +void Usage(void) { + printf("\n"); + printf(" Usage : hello-decvpp \n"); + printf(" -sw/-hw use software or hardware implementation\n"); + printf(" -i input file name (HEVC elementary stream)\n\n"); + printf(" Example: hello-decvpp -i in.h265\n"); + printf( + " To view: ffplay -f rawvideo -pixel_format yuv420p -video_size [width]x[height] %s\n\n", + DEC_OUTPUT_FILE); + printf(" ffplay -f rawvideo -pixel_format yuv420p -video_size 320x240 %s\n\n", + VPP1_OUTPUT_FILE); + printf(" ffplay -f rawvideo -pixel_format bgra -video_size 128x96 %s\n\n", + VPP2_OUTPUT_FILE); + printf( + " * Decode HEVC/H265 elementary stream to raw frames in %s and vpp in %s (native fourcc) and %s (bgra)\n\n", + DEC_OUTPUT_FILE, + VPP1_OUTPUT_FILE, + VPP2_OUTPUT_FILE); + printf(" CPU native color format is I420/yuv420p. GPU native color format is NV12\n"); + return; +} + +int main(int argc, char *argv[]) { + //Variables used for legacy and 2.x + bool isDraining = false; + bool isStillGoing = true; + FILE *sinkDec = NULL; // for decoded frames + FILE *sinkVPP1 = NULL; // for decoded output -> 320x240 i420 vpp frames + FILE *sinkVPP2 = NULL; // for decoded output -> 128x96 bgra vpp frames + FILE *source = NULL; + mfxBitstream bitstream = {}; + mfxSession session = NULL; + mfxStatus sts = MFX_ERR_NONE; + mfxSurfaceArray *outSurfaces = nullptr; + mfxU32 framenum = 0; + mfxU32 numVPPCh = 0; + mfxVideoChannelParam *mfxVPPChParams = nullptr; + Params cliParams = {}; + void *accelHandle = NULL; + mfxVideoParam mfxDecParams = {}; + mfxVersion version = { 0, 1 }; + + //variables used only in 2.x version + mfxConfig cfg = NULL; + mfxLoader loader = NULL; + mfxVariant inCodec = {}; + + //Parse command line args to cliParams + if (ParseArgsAndValidate(argc, argv, &cliParams, PARAMS_DECODE) == false) { + Usage(); + return 1; // return 1 as error code + } + + source = fopen(cliParams.infileName, "rb"); + VERIFY(source, "Could not open input file"); + + sinkDec = fopen(DEC_OUTPUT_FILE, "wb"); + VERIFY(sinkDec, "Could not create decode output file"); + + sinkVPP1 = fopen(VPP1_OUTPUT_FILE, "wb"); + VERIFY(sinkVPP1, "Could not create vpp1 output file"); + + sinkVPP2 = fopen(VPP2_OUTPUT_FILE, "wb"); + VERIFY(sinkVPP2, "Could not create vpp2 output file"); + + // Initialize VPL session for any implementation of HEVC/H265 decode + loader = MFXLoad(); + VERIFY(NULL != loader, "MFXLoad failed -- is implementation in path?"); + + cfg = MFXCreateConfig(loader); + VERIFY(NULL != cfg, "MFXCreateConfig failed") + + // Implementation used must be the type requested from command line + sts = MFXSetConfigFilterProperty(cfg, (mfxU8 *)"mfxImplDescription.Impl", cliParams.implValue); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed for Impl"); + + // Implementation must provide an HEVC decoder + inCodec.Type = MFX_VARIANT_TYPE_U32; + inCodec.Data.U32 = MFX_CODEC_HEVC; + sts = MFXSetConfigFilterProperty( + cfg, + (mfxU8 *)"mfxImplDescription.mfxDecoderDescription.decoder.CodecID", + inCodec); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed for decoder CodecID"); + + sts = MFXCreateSession(loader, 0, &session); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); + + // Print info about implementation loaded + version = ShowImplInfo(session); + VERIFY(version.Major > 1, "Sample requires 2.x API implementation, exiting"); + + // Convenience function to initialize available accelerator(s) + accelHandle = InitAcceleratorHandle(session); + + // Prepare input bitstream and start decoding + bitstream.MaxLength = BITSTREAM_BUFFER_SIZE; + bitstream.Data = (mfxU8 *)calloc(bitstream.MaxLength, sizeof(mfxU8)); + VERIFY(bitstream.Data, "Not able to allocate input buffer"); + bitstream.CodecId = MFX_CODEC_HEVC; + + //Pre-parse input stream + sts = ReadEncodedStream(bitstream, source); + VERIFY(MFX_ERR_NONE == sts, "Error reading bitstream\n"); + + mfxDecParams.mfx.CodecId = MFX_CODEC_HEVC; + mfxDecParams.IOPattern = MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + sts = MFXVideoDECODE_DecodeHeader(session, &bitstream, &mfxDecParams); + VERIFY(MFX_ERR_NONE == sts, "Error decoding header\n"); + + printf("Output colorspace: "); + switch (mfxDecParams.mfx.FrameInfo.FourCC) { + case MFX_FOURCC_I420: // CPU output + printf("I420 (aka yuv420p)\n"); + break; + case MFX_FOURCC_NV12: // GPU output + printf("NV12\n"); + break; + default: + printf("Unsupported color format\n"); + goto end; + break; + } + + numVPPCh = 2; + mfxVPPChParams = new mfxVideoChannelParam[numVPPCh]; + for (mfxU32 i = 0; i < numVPPCh; i++) { + mfxVPPChParams[i] = {}; + } + + // scaled output to 320x240 + mfxVPPChParams[0].VPP.FourCC = mfxDecParams.mfx.FrameInfo.FourCC; + mfxVPPChParams[0].VPP.ChromaFormat = MFX_CHROMAFORMAT_YUV420; + mfxVPPChParams[0].VPP.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; + mfxVPPChParams[0].VPP.FrameRateExtN = 30; + mfxVPPChParams[0].VPP.FrameRateExtD = 1; + mfxVPPChParams[0].VPP.CropW = 320; + mfxVPPChParams[0].VPP.CropH = 240; + mfxVPPChParams[0].VPP.Width = ALIGN16(mfxVPPChParams[0].VPP.CropW); + mfxVPPChParams[0].VPP.Height = ALIGN16(mfxVPPChParams[0].VPP.CropH); + mfxVPPChParams[0].VPP.ChannelId = 1; + mfxVPPChParams[0].Protected = 0; + mfxVPPChParams[0].IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + mfxVPPChParams[0].ExtParam = NULL; + mfxVPPChParams[0].NumExtParam = 0; + + // scaled output to 128x96 and color conversion to bgra + mfxVPPChParams[1].VPP.FourCC = MFX_FOURCC_BGRA; + mfxVPPChParams[1].VPP.ChromaFormat = MFX_CHROMAFORMAT_YUV420; + mfxVPPChParams[1].VPP.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; + mfxVPPChParams[1].VPP.FrameRateExtN = 30; + mfxVPPChParams[1].VPP.FrameRateExtD = 1; + mfxVPPChParams[1].VPP.CropW = 128; + mfxVPPChParams[1].VPP.CropH = 96; + mfxVPPChParams[1].VPP.Width = ALIGN16(mfxVPPChParams[1].VPP.CropW); + mfxVPPChParams[1].VPP.Height = ALIGN16(mfxVPPChParams[1].VPP.CropH); + mfxVPPChParams[1].VPP.ChannelId = 2; + mfxVPPChParams[1].Protected = 0; + mfxVPPChParams[1].IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + mfxVPPChParams[1].ExtParam = NULL; + mfxVPPChParams[1].NumExtParam = 0; + + // mfxVPPChParams[0] for vpp output (320x240), mfxVPPChParams[1] for vpp output (128x96) + sts = MFXVideoDECODE_VPP_Init(session, &mfxDecParams, &mfxVPPChParams, numVPPCh); + + printf("Decoding and VPP %s -> %s and %s, %s\n", + cliParams.infileName, + DEC_OUTPUT_FILE, + VPP1_OUTPUT_FILE, + VPP2_OUTPUT_FILE); + + // output frames will be delivered in outSurfaces->Surfaces[] + // outSurfaces->Surfaces[0] : decode output + // outSurfaces->Surfaces[1],[2]: vpp output + outSurfaces = new mfxSurfaceArray; + + while (isStillGoing == true) { + // Load encoded stream if not draining + if (isDraining == false) { + sts = ReadEncodedStream(bitstream, source); + if (sts != MFX_ERR_NONE) + isDraining = true; + } + + sts = MFXVideoDECODE_VPP_DecodeFrameAsync(session, + (isDraining) ? NULL : &bitstream, + NULL, + 0, + &outSurfaces); + + switch (sts) { + case MFX_ERR_NONE: + // decode output + sts = WriteRawFrame_InternalMem(outSurfaces->Surfaces[0], sinkDec); + VERIFY(MFX_ERR_NONE == sts, "Could not write decode output"); + + // vpp1 output + sts = WriteRawFrame_InternalMem(outSurfaces->Surfaces[1], sinkVPP1); + VERIFY(MFX_ERR_NONE == sts, "Could not write 1st vpp output"); + + // vpp2 output + sts = WriteRawFrame_InternalMem(outSurfaces->Surfaces[2], sinkVPP2); + VERIFY(MFX_ERR_NONE == sts, "Could not write 2nd vpp output"); + + framenum++; + break; + case MFX_ERR_MORE_DATA: + // The function requires more bitstream at input before decoding can proceed + if (isDraining) + isStillGoing = false; + break; + case MFX_ERR_MORE_SURFACE: + // The function requires more frame surface at output before decoding can proceed. + // This applies to external memory allocations and should not be expected for + // a simple internal allocation case like this + break; + case MFX_ERR_DEVICE_LOST: + // For non-CPU implementations, + // Cleanup if device is lost + break; + case MFX_WRN_DEVICE_BUSY: + // For non-CPU implementations, + // Wait a few milliseconds then try again + break; + case MFX_WRN_VIDEO_PARAM_CHANGED: + // The decoder detected a new sequence header in the bitstream. + // Video parameters may have changed. + // In external memory allocation case, might need to reallocate the output surface + break; + case MFX_ERR_INCOMPATIBLE_VIDEO_PARAM: + // The function detected that video parameters provided by the application + // are incompatible with initialization parameters. + // The application should close the component and then reinitialize it + break; + case MFX_ERR_REALLOC_SURFACE: + // Bigger surface_work required. May be returned only if + // mfxInfoMFX::EnableReallocRequest was set to ON during initialization. + // This applies to external memory allocations and should not be expected for + // a simple internal allocation case like this + break; + default: + printf("unknown status %d\n", sts); + isStillGoing = false; + break; + } + } + +end: + printf("Decode and VPP processed %d frames\n", framenum); + + // Clean up resources - It is recommended to close components first, before + // releasing allocated surfaces, since some surfaces may still be locked by + // internal resources. + if (mfxVPPChParams) + delete[] mfxVPPChParams; + + if (outSurfaces) + delete outSurfaces; + + if (source) + fclose(source); + + if (sinkDec) + fclose(sinkDec); + + if (sinkVPP1) + fclose(sinkVPP1); + + if (sinkVPP2) + fclose(sinkVPP2); + + if (bitstream.Data) + free(bitstream.Data); + + if (accelHandle) + FreeAcceleratorHandle(accelHandle); + + if (loader) + MFXUnload(loader); + return 0; +} diff --git a/examples/hello-encode/CMakeLists.txt b/examples/hello-encode/CMakeLists.txt index e7a67186..112e936d 100644 --- a/examples/hello-encode/CMakeLists.txt +++ b/examples/hello-encode/CMakeLists.txt @@ -1,9 +1,38 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## cmake_minimum_required(VERSION 3.10.2) project(hello-encode) +if(NOT TARGET vpl-example-util) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../util + ${CMAKE_CURRENT_BINARY_DIR}/util) +endif() + +# Default install places 64 bit runtimes in the environment, so we want to do a +# 64 bit build by default. +if(WIN32) + if(NOT DEFINED CMAKE_GENERATOR_PLATFORM) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") + endif() +endif() + set(TARGET hello-encode) set(SOURCES src/hello-encode.cpp) -set(RUNARGS ${CMAKE_CURRENT_SOURCE_DIR}/content/cars_128x96.i420 128 96) +set(CONTENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../content) +set(RUNARGS + -sw + -i + ${CONTENTPATH}/cars_128x96.i420 + -w + 128 + -h + 96) # Set default build type to RelWithDebInfo if not specified if(NOT CMAKE_BUILD_TYPE) @@ -31,15 +60,17 @@ if(POLICY CMP0074) cmake_policy(SET CMP0074 OLD) endif() -if(TARGET VPL) - target_link_libraries(${TARGET} VPL) -else() - find_package(VPL REQUIRED) - target_link_libraries(${TARGET} VPL::dispatcher) -endif() +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +find_path(VPL_UTIL_PATH util/util.h vpl-example-util + ${CMAKE_CURRENT_SOURCE_DIR}/../util) +target_include_directories(${TARGET} PRIVATE . ${VPL_UTIL_PATH}) get_directory_property(has_parent PARENT_DIRECTORY) if(NOT has_parent) # only make run target available for stand-alone build add_custom_target(run ${TARGET} ${RUNARGS}) +else() + install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) endif() diff --git a/examples/hello-encode/README.md b/examples/hello-encode/README.md index ba93cf6e..81c982d3 100644 --- a/examples/hello-encode/README.md +++ b/examples/hello-encode/README.md @@ -5,7 +5,7 @@ perform a simple video encode. | Optimized for | Description |----------------- | ---------------------------------------- -| OS | Ubuntu* 18.04; Windows* 10 +| OS | Ubuntu* 20.04; Windows* 10 | Hardware | Intel® Processor Graphics GEN9 or newer | Software | Intel® oneAPI Video Processing Library(oneVPL) | What You Will Learn | How to use oneVPL to encode an raw video file to H.265 @@ -15,9 +15,10 @@ perform a simple video encode. ## Purpose This sample is a command line application that takes a file containing a raw -I420 format video elementary stream as an argument, encodes it with oneVPL and +format video elementary stream as an argument, encodes it with oneVPL and writes the encoded output to `out.h265` in H.265 format. +Native raw frame format: CPU=I420, GPU=NV12. ## Key Implementation details @@ -104,20 +105,12 @@ Perform the following steps: ``` -#### Building the program using VS2017 or VS2019 IDE - -1. Install the Intel® oneAPI Base Toolkit for Windows* -2. Right click on the solution file and open using either VS2017 or VS2019 IDE. -3. Right click on the project in Solution explorer and select Rebuild. -4. From top menu select Debug -> Start without Debugging. - - ## Running the Sample ### Application Parameters The instructions given above run the sample executable with the arguments -`/content/cars_128x96.i420 128 96`. +`-i /content/cars_128x96.i420 -w 128 -h 96`. ### Example of Output diff --git a/examples/hello-encode/hello-encode.sln b/examples/hello-encode/hello-encode.sln deleted file mode 100644 index c97c5a10..00000000 --- a/examples/hello-encode/hello-encode.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27703.2042 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hello-encode", "hello-encode.vcxproj", "{2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Debug|x64.ActiveCfg = Debug|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Debug|x64.Build.0 = Debug|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Release|x64.ActiveCfg = Release|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {E209F0AF-0CE9-4817-9ACE-A3972CF479DB} - EndGlobalSection -EndGlobal diff --git a/examples/hello-encode/hello-encode.vcxproj b/examples/hello-encode/hello-encode.vcxproj deleted file mode 100644 index 492672f4..00000000 --- a/examples/hello-encode/hello-encode.vcxproj +++ /dev/null @@ -1,177 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - 15.0 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08} - Win32Proj - helloencode - $(WindowsSDKVersion.Replace("\","")) - - - - Application - true - v141 - Unicode - - - Application - false - v141 - true - Unicode - - - Application - true - v141 - Unicode - - - Application - false - v141 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - NotUsing - Level3 - Disabled - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);%(AdditionalIncludeDirectories) - false - - - Console - true - $(VPLLIB);%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - Disabled - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);$(ONEAPI_ROOT)\vpl\latest\include;%(AdditionalIncludeDirectories) - false - - - Console - true - $(VPLLIB);$(ONEAPI_ROOT)\vpl\latest\lib;%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);%(AdditionalIncludeDirectories) - false - - - Console - true - true - true - $(VPLLIB);%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);$(ONEAPI_ROOT)\vpl\latest\include;%(AdditionalIncludeDirectories) - false - - - Console - true - true - true - $(VPLLIB);$(ONEAPI_ROOT)\vpl\latest\lib;%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - - - - - - - - - - - diff --git a/examples/hello-encode/hello-encode.vcxproj.user b/examples/hello-encode/hello-encode.vcxproj.user deleted file mode 100644 index fb47ad41..00000000 --- a/examples/hello-encode/hello-encode.vcxproj.user +++ /dev/null @@ -1,15 +0,0 @@ - - - - "content\cars_128x96.i420" 128 96 - WindowsLocalDebugger - PATH=$(ONEAPI_ROOT)\vpl\latest\bin;%PATH% - - - - "content\cars_128x96.i420" 128 96 - WindowsLocalDebugger - PATH=$(ONEAPI_ROOT)\vpl\latest\bin;%PATH% - - - diff --git a/examples/hello-encode/src/hello-encode.cpp b/examples/hello-encode/src/hello-encode.cpp index ec9ced16..ad29de52 100644 --- a/examples/hello-encode/src/hello-encode.cpp +++ b/examples/hello-encode/src/hello-encode.cpp @@ -6,168 +6,152 @@ /// /// A minimal oneAPI Video Processing Library (oneVPL) encode application, -/// using oneVPL internal memory management +/// using 2.x API with internal memory management /// /// @file -#include -#include -#include -#include "vpl/mfxdispatcher.h" -#include "vpl/mfxvideo.h" +#include "util/util.h" -#define MAX_PATH 260 -#define MAX_WIDTH 3840 -#define MAX_HEIGHT 2160 #define TARGETKBPS 4000 #define FRAMERATE 30 #define OUTPUT_FILE "out.h265" -#define WAIT_100_MILLSECONDS 100 #define BITSTREAM_BUFFER_SIZE 2000000 -#define VERIFY(x, y) \ - if (!(x)) { \ - printf("%s\n", y); \ - goto end; \ - } - -#define ALIGN16(value) (((value + 15) >> 4) << 4) - -mfxStatus LoadRawFrame(mfxFrameSurface1 *surface, FILE *f); -void WriteEncodedStream(mfxBitstream &bs, FILE *f); -char *ValidateFileName(char *in); -mfxU16 ValidateSize(char *in, mfxU16 max); - void Usage(void) { printf("\n"); - printf(" Usage : hello-encode InputI420File width height\n\n"); - printf(" InputI420File ... input file name (I420 raw frames)\n"); - printf(" width ... input width\n"); - printf(" height ... input height\n\n"); - printf(" Example: hello-encode in.i420 128 96\n"); + printf(" Usage : hello-encode\n"); + printf(" -hw use hardware implementation\n"); + printf(" -sw use software implementation\n"); + printf(" -i input file name (raw frames)\n"); + printf(" -w input width\n"); + printf(" -h input height\n\n"); + printf(" Example: hello-encode -i in.i420 -w 128 -h 96\n"); printf(" To view: ffplay %s\n\n", OUTPUT_FILE); - printf(" * Encode I420 raw frames to HEVC/H265 elementary stream in %s\n\n", OUTPUT_FILE); + printf(" * Encode raw frames to HEVC/H265 elementary stream in %s\n\n", OUTPUT_FILE); + printf(" CPU native color format is I420/yuv420p. GPU native color format is NV12\n"); return; } int main(int argc, char *argv[]) { - if (argc != 4) { + FILE *source = NULL; + FILE *sink = NULL; + mfxSession session = NULL; + mfxVideoParam encodeParams = {}; + mfxFrameSurface1 *encSurfaceIn = NULL; + void *accelHandle = NULL; + mfxLoader loader = NULL; + mfxConfig cfg = NULL; + mfxBitstream bitstream = {}; + mfxSyncPoint syncp = {}; + mfxVersion version = { 0, 1 }; + mfxU32 framenum = 0; + bool isDraining = false; + bool isStillGoing = true; + mfxStatus sts = MFX_ERR_NONE; + mfxStatus sts_r = MFX_ERR_NONE; + Params cliParams = {}; + mfxVariant outCodec = {}; + + //Parse command line args to cliParams + if (ParseArgsAndValidate(argc, argv, &cliParams, PARAMS_DECODE) == false) { Usage(); - return 1; + return 1; // return 1 as error code } - char *in_filename = NULL; - FILE *source = NULL; - FILE *sink = NULL; - mfxStatus sts = MFX_ERR_NONE; - mfxLoader loader = NULL; - mfxConfig cfg = NULL; - mfxVariant impl_value = { 0 }; - mfxSession session = NULL; - mfxU16 input_width = 0; - mfxU16 input_height = 0; - mfxBitstream bitstream = { 0 }; - mfxVideoParam encode_params = { 0 }; - mfxFrameSurface1 *enc_surface_in = NULL; - mfxSyncPoint syncp = { 0 }; - mfxU32 framenum = 0; - bool is_draining = false; - bool is_stillgoing = true; - - // Setup input and output files - in_filename = ValidateFileName(argv[1]); - VERIFY(in_filename, "Input filename is not valid"); - - source = fopen(in_filename, "rb"); + source = fopen(cliParams.infileName, "rb"); VERIFY(source, "Could not open input file"); sink = fopen(OUTPUT_FILE, "wb"); VERIFY(sink, "Could not create output file"); - input_width = ValidateSize(argv[2], MAX_WIDTH); - VERIFY(input_width, "Input width is not valid"); - - input_height = ValidateSize(argv[3], MAX_HEIGHT); - VERIFY(input_height, "Input height is not valid"); - - // Initialize VPL session for any implementation of HEVC/H265 encode + // Initialize VPL session loader = MFXLoad(); - VERIFY(NULL != loader, "MFXLoad failed"); + VERIFY(NULL != loader, "MFXLoad failed -- is implementation in path?"); cfg = MFXCreateConfig(loader); VERIFY(NULL != cfg, "MFXCreateConfig failed") - impl_value.Type = MFX_VARIANT_TYPE_U32; - impl_value.Data.U32 = MFX_CODEC_HEVC; - sts = MFXSetConfigFilterProperty( + // Implementation used must be the type requested from command line + sts = MFXSetConfigFilterProperty(cfg, (mfxU8 *)"mfxImplDescription.Impl", cliParams.implValue); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed"); + + // Implementation must provide an HEVC encoder + outCodec.Type = MFX_VARIANT_TYPE_U32; + outCodec.Data.U32 = MFX_CODEC_HEVC; + sts = MFXSetConfigFilterProperty( cfg, (mfxU8 *)"mfxImplDescription.mfxEncoderDescription.encoder.CodecID", - impl_value); - VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed"); + outCodec); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed for encoder CodecID"); sts = MFXCreateSession(loader, 0, &session); - VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session supporting HEVC/H265 encode"); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); + + // Print info about implementation loaded + version = ShowImplInfo(session); + VERIFY(version.Major > 1, "Sample requires 2.x API implementation, exiting"); + + // Convenience function to initialize available accelerator(s) + accelHandle = InitAcceleratorHandle(session); // Initialize encode parameters - encode_params.mfx.CodecId = MFX_CODEC_HEVC; - encode_params.mfx.TargetUsage = MFX_TARGETUSAGE_BALANCED; - encode_params.mfx.TargetKbps = TARGETKBPS; - encode_params.mfx.RateControlMethod = MFX_RATECONTROL_VBR; - encode_params.mfx.FrameInfo.FrameRateExtN = FRAMERATE; - encode_params.mfx.FrameInfo.FrameRateExtD = 1; - encode_params.mfx.FrameInfo.FourCC = MFX_FOURCC_I420; - encode_params.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420; - encode_params.mfx.FrameInfo.CropW = input_width; - encode_params.mfx.FrameInfo.CropH = input_height; - encode_params.mfx.FrameInfo.Width = ALIGN16(input_width); - encode_params.mfx.FrameInfo.Height = ALIGN16(input_height); - - encode_params.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY; - - // Initialize the encoder - sts = MFXVideoENCODE_Init(session, &encode_params); + encodeParams.mfx.CodecId = MFX_CODEC_HEVC; + encodeParams.mfx.TargetUsage = MFX_TARGETUSAGE_BALANCED; + encodeParams.mfx.TargetKbps = TARGETKBPS; + encodeParams.mfx.RateControlMethod = MFX_RATECONTROL_VBR; + encodeParams.mfx.FrameInfo.FrameRateExtN = FRAMERATE; + encodeParams.mfx.FrameInfo.FrameRateExtD = 1; + if (MFX_IMPL_SOFTWARE == cliParams.impl) { + encodeParams.mfx.FrameInfo.FourCC = MFX_FOURCC_I420; + } + else { + encodeParams.mfx.FrameInfo.FourCC = MFX_FOURCC_NV12; + } + encodeParams.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420; + encodeParams.mfx.FrameInfo.CropW = cliParams.srcWidth; + encodeParams.mfx.FrameInfo.CropH = cliParams.srcHeight; + encodeParams.mfx.FrameInfo.Width = ALIGN16(cliParams.srcWidth); + encodeParams.mfx.FrameInfo.Height = ALIGN16(cliParams.srcHeight); + + encodeParams.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY; + + // Initialize encoder + sts = MFXVideoENCODE_Init(session, &encodeParams); VERIFY(MFX_ERR_NONE == sts, "Encode init failed"); - // Prepare output bitstream and start encoding + // Prepare output bitstream bitstream.MaxLength = BITSTREAM_BUFFER_SIZE; - bitstream.Data = (mfxU8 *)malloc(bitstream.MaxLength * sizeof(mfxU8)); + bitstream.Data = (mfxU8 *)calloc(bitstream.MaxLength, sizeof(mfxU8)); - printf("Encoding %s -> %s\n", in_filename, OUTPUT_FILE); + printf("Encoding %s -> %s\n", cliParams.infileName, OUTPUT_FILE); - while (is_stillgoing == true) { + while (isStillGoing == true) { // Load a new frame if not draining - if (is_draining == false) { - sts = MFXMemory_GetSurfaceForEncode(session, &enc_surface_in); + if (isDraining == false) { + sts = MFXMemory_GetSurfaceForEncode(session, &encSurfaceIn); VERIFY(MFX_ERR_NONE == sts, "Could not get encode surface"); - // Map makes surface writable by CPU for all implementations - sts = enc_surface_in->FrameInterface->Map(enc_surface_in, MFX_MAP_WRITE); - VERIFY(MFX_ERR_NONE == sts, "mfxFrameSurfaceInterface->Map failed"); - - sts = LoadRawFrame(enc_surface_in, source); + sts = ReadRawFrame_InternalMem(encSurfaceIn, source); if (sts != MFX_ERR_NONE) - is_draining = true; - - // Unmap/release returns local device access for all implementations - sts = enc_surface_in->FrameInterface->Unmap(enc_surface_in); - VERIFY(MFX_ERR_NONE == sts, "mfxFrameSurfaceInterface->Unmap failed"); - - enc_surface_in->FrameInterface->Release(enc_surface_in); - VERIFY(MFX_ERR_NONE == sts, "mfxFrameSurfaceInterface->Release failed"); + isDraining = true; } sts = MFXVideoENCODE_EncodeFrameAsync(session, NULL, - (is_draining == true) ? NULL : enc_surface_in, + (isDraining == true) ? NULL : encSurfaceIn, &bitstream, &syncp); + if (!isDraining) { + sts_r = encSurfaceIn->FrameInterface->Release(encSurfaceIn); + VERIFY(MFX_ERR_NONE == sts_r, "mfxFrameSurfaceInterface->Release failed"); + } switch (sts) { case MFX_ERR_NONE: // MFX_ERR_NONE and syncp indicate output is available if (syncp) { // Encode output is not available on CPU until sync operation completes - sts = MFXVideoCORE_SyncOperation(session, syncp, WAIT_100_MILLSECONDS); + sts = MFXVideoCORE_SyncOperation(session, syncp, WAIT_100_MILLISECONDS); VERIFY(MFX_ERR_NONE == sts, "MFXVideoCORE_SyncOperation error"); WriteEncodedStream(bitstream, sink); @@ -181,8 +165,8 @@ int main(int argc, char *argv[]) { break; case MFX_ERR_MORE_DATA: // The function requires more data to generate any output - if (is_draining == true) - is_stillgoing = false; + if (isDraining == true) + isStillGoing = false; break; case MFX_ERR_DEVICE_LOST: // For non-CPU implementations, @@ -192,13 +176,9 @@ int main(int argc, char *argv[]) { // For non-CPU implementations, // Wait a few milliseconds then try again break; - case MFX_ERR_INCOMPATIBLE_VIDEO_PARAM: - // The CPU reference implementation does not include mfxEncodeCtrl, but for - // other implementations issues with mfxEncodeCtrl parameters can be handled here - break; default: printf("unknown status %d\n", sts); - is_stillgoing = false; + isStillGoing = false; break; } } @@ -209,9 +189,6 @@ int main(int argc, char *argv[]) { // Clean up resources - It is recommended to close components first, before // releasing allocated surfaces, since some surfaces may still be locked by // internal resources. - if (loader) - MFXUnload(loader); - if (bitstream.Data) free(bitstream.Data); @@ -221,78 +198,11 @@ int main(int argc, char *argv[]) { if (sink) fclose(sink); - return 0; -} - -// Write encoded stream to file -void WriteEncodedStream(mfxBitstream &bs, FILE *f) { - fwrite(bs.Data + bs.DataOffset, 1, bs.DataLength, f); - bs.DataLength = 0; - return; -} - -// Load raw I420 frame to mfxFrameSurface -mfxStatus LoadRawFrame(mfxFrameSurface1 *surface, FILE *f) { - mfxU16 w, h, i, pitch; - mfxU32 bytes; - mfxU8 *ptr; - mfxFrameInfo *info = &surface->Info; - mfxFrameData *data = &surface->Data; - - w = info->Width; - h = info->Height; - - switch (info->FourCC) { - case MFX_FOURCC_I420: - // read luminance plane (Y) - pitch = data->Pitch; - ptr = data->Y; - for (i = 0; i < h; i++) { - bytes = (mfxU32)fread(ptr + i * pitch, 1, w, f); - if (w != bytes) - return MFX_ERR_MORE_DATA; - } - - // read chrominance (U, V) - pitch /= 2; - h /= 2; - w /= 2; - ptr = data->U; - for (i = 0; i < h; i++) { - bytes = (mfxU32)fread(ptr + i * pitch, 1, w, f); - if (w != bytes) - return MFX_ERR_MORE_DATA; - } - - ptr = data->V; - for (i = 0; i < h; i++) { - bytes = (mfxU32)fread(ptr + i * pitch, 1, w, f); - if (w != bytes) - return MFX_ERR_MORE_DATA; - } - break; - default: - printf("Unsupported FourCC code, skip LoadRawFrame\n"); - break; - } + if (accelHandle) + FreeAcceleratorHandle(accelHandle); - return MFX_ERR_NONE; -} - -char *ValidateFileName(char *in) { - if (in) { - if (strlen(in) > MAX_PATH) - return NULL; - } + if (loader) + MFXUnload(loader); - return in; + return 0; } - -mfxU16 ValidateSize(char *in, mfxU16 max) { - mfxU16 isize = (mfxU16)strtol(in, NULL, 10); - if (isize <= 0 || isize > max) { - return 0; - } - - return isize; -} \ No newline at end of file diff --git a/examples/hello-transcode/CMakeLists.txt b/examples/hello-transcode/CMakeLists.txt index 46ae9022..dc91f033 100644 --- a/examples/hello-transcode/CMakeLists.txt +++ b/examples/hello-transcode/CMakeLists.txt @@ -1,10 +1,31 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## cmake_minimum_required(VERSION 3.10.2) project(hello-transcode) +if(NOT TARGET vpl-example-util) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../util + ${CMAKE_CURRENT_BINARY_DIR}/util) +endif() + +# Default install places 64 bit runtimes in the environment, so we want to do a +# 64 bit build by default. +if(WIN32) + if(NOT DEFINED CMAKE_GENERATOR_PLATFORM) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") + endif() +endif() + set(TARGET hello-transcode) set(SOURCES src/hello-transcode.cpp) -set(VPL_NAME mfx) -set(RUNARGS ${CMAKE_CURRENT_SOURCE_DIR}/content/cars_128x96.mjpeg) +set(CONTENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../content) +set(RUNARGS -sw -i ${CONTENTPATH}/cars_128x96.mjpeg) # Set default build type to RelWithDebInfo if not specified if(NOT CMAKE_BUILD_TYPE) @@ -32,15 +53,17 @@ if(POLICY CMP0074) cmake_policy(SET CMP0074 OLD) endif() -if(TARGET VPL) - target_link_libraries(${TARGET} VPL) -else() - find_package(VPL REQUIRED) - target_link_libraries(${TARGET} VPL::dispatcher) -endif() +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +find_path(VPL_UTIL_PATH util/util.h vpl-example-util + ${CMAKE_CURRENT_SOURCE_DIR}/../util) +target_include_directories(${TARGET} PRIVATE . ${VPL_UTIL_PATH}) get_directory_property(has_parent PARENT_DIRECTORY) if(NOT has_parent) # only make run target available for stand-alone build add_custom_target(run ${TARGET} ${RUNARGS}) +else() + install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) endif() diff --git a/examples/hello-transcode/README.md b/examples/hello-transcode/README.md index 1fa17e20..9adadc5a 100644 --- a/examples/hello-transcode/README.md +++ b/examples/hello-transcode/README.md @@ -5,7 +5,7 @@ perform a simple video transcode. | Optimized for | Description |----------------- | ---------------------------------------- -| OS | Ubuntu* 18.04; Windows* 10 +| OS | Ubuntu* 20.04; Windows* 10 | Hardware | Intel® Processor Graphics GEN9 or newer | Software | Intel® oneAPI Video Processing Library(oneVPL) | What You Will Learn | How to use oneVPL to transcode a MJPEG encoded video file to H.265 encoded video file @@ -22,7 +22,7 @@ This sample is a command line application that takes a file containing a JPEG vi | Configuration | Default setting | ----------------- | ---------------------------------- | Target device | CPU -| Input format | JPEG video elementary stream +| Input format | MJPEG video elementary stream | Output format | H.265 video elementary stream | Output resolution | same as input @@ -102,20 +102,12 @@ Perform the following steps: ``` -#### Building the program using VS2017 or VS2019 IDE - -1. Install the Intel® oneAPI Base Toolkit for Windows* -2. Right click on the solution file and open using either VS2017 or VS2019 IDE. -3. Right click on the project in Solution explorer and select Rebuild. -4. From top menu select Debug -> Start without Debugging. - - ## Running the Sample ### Application Parameters The instructions given above run the sample executable with the argument -`/content/cars_128x96.mjpeg`. +`-i /content/cars_128x96.mjpeg`. ### Example of Output diff --git a/examples/hello-transcode/hello-transcode.sln b/examples/hello-transcode/hello-transcode.sln deleted file mode 100644 index 869728f1..00000000 --- a/examples/hello-transcode/hello-transcode.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27703.2042 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hello-transcode", "hello-transcode.vcxproj", "{2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Debug|x64.ActiveCfg = Debug|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Debug|x64.Build.0 = Debug|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Release|x64.ActiveCfg = Release|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {E209F0AF-0CE9-4817-9ACE-A3972CF479DB} - EndGlobalSection -EndGlobal diff --git a/examples/hello-transcode/hello-transcode.vcxproj b/examples/hello-transcode/hello-transcode.vcxproj deleted file mode 100644 index 08d65e77..00000000 --- a/examples/hello-transcode/hello-transcode.vcxproj +++ /dev/null @@ -1,177 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - 15.0 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08} - Win32Proj - hellodecode - 10.0 - - - - Application - true - v141 - Unicode - - - Application - false - v141 - true - Unicode - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - NotUsing - Level3 - Disabled - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);%(AdditionalIncludeDirectories) - false - - - Console - true - $(VPLLIB);%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - Disabled - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);$(ONEAPI_ROOT)\vpl\latest\include;%(AdditionalIncludeDirectories) - false - - - Console - true - $(VPLLIB);$(ONEAPI_ROOT)\vpl\latest\lib;%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);%(AdditionalIncludeDirectories) - false - - - Console - true - true - true - $(VPLLIB);%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);$(ONEAPI_ROOT)\vpl\latest\include;%(AdditionalIncludeDirectories) - false - - - Console - true - true - true - $(VPLLIB);$(ONEAPI_ROOT)\vpl\latest\lib;%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/examples/hello-transcode/hello-transcode.vcxproj.user b/examples/hello-transcode/hello-transcode.vcxproj.user deleted file mode 100644 index 98501dcc..00000000 --- a/examples/hello-transcode/hello-transcode.vcxproj.user +++ /dev/null @@ -1,15 +0,0 @@ - - - - "content\cars_128x96.mjpeg" - WindowsLocalDebugger - PATH=$(ONEAPI_ROOT)\vpl\latest\bin;%PATH% - - - - "content\cars_128x96.mjpeg" - WindowsLocalDebugger - PATH=$(ONEAPI_ROOT)\vpl\latest\bin;%PATH% - - - diff --git a/examples/hello-transcode/src/hello-transcode.cpp b/examples/hello-transcode/src/hello-transcode.cpp index 31574968..1b95be34 100644 --- a/examples/hello-transcode/src/hello-transcode.cpp +++ b/examples/hello-transcode/src/hello-transcode.cpp @@ -5,140 +5,165 @@ //============================================================================== /// -/// A minimal oneAPI Video Processing Library (oneVPL) transcode application +/// A minimal oneAPI Video Processing Library (oneVPL) transcode application, +/// using 2.x API with internal memory management /// /// @file -#include -#include -#include -#include "vpl/mfxdispatcher.h" -#include "vpl/mfxjpeg.h" -#include "vpl/mfxvideo.h" +#include "util/util.h" -#define MAX_PATH 260 #define TARGETKBPS 4000 #define FRAMERATE 30 #define OUTPUT_FILE "out.h265" -#define WAIT_100_MILLSECONDS 100 #define BITSTREAM_BUFFER_SIZE 2000000 -#define VERIFY(x, y) \ - if (!(x)) { \ - printf("%s\n", y); \ - goto end; \ - } - -#define ALIGN16(value) (((value + 15) >> 4) << 4) - -mfxStatus CheckPipelineCapability(mfxLoader loader); -mfxStatus PrepareDecodeVariables(mfxSession session, - FILE *f, - mfxBitstream *bs, - mfxVideoParam *param); -mfxStatus PrepareEncodeVariables(mfxU16 width, - mfxU16 height, - mfxBitstream *bs, - mfxVideoParam *param); -mfxStatus ReadEncodedStream(mfxBitstream &bs, FILE *f); -void WriteEncodedStream(mfxBitstream &bs, FILE *f); -char *ValidateFileName(char *in); - void Usage(void) { printf("\n"); - printf(" Usage : hello-transcode InputBitstream\n\n"); - printf(" InputBitstream ... input file name (JPEG elementary stream)\n\n"); - printf(" Example: hello-transcode in.mjpeg\n"); + printf(" Usage : hello-transcode \n\n"); + printf(" -sw/-hw use software or hardware implementation\n"); + printf(" -i input file name (MJPEG elementary stream)\n\n"); + printf(" Example: hello-transcode -sw -i in.mjpeg\n"); printf(" To view: ffplay %s\n\n", OUTPUT_FILE); - printf(" * Transcode JPEG elementary stream to HEVC/H265 elementary stream in %s\n\n", - OUTPUT_FILE); + printf(" * Transcode HEVC/H265 elementary stream in %s\n\n", OUTPUT_FILE); return; } int main(int argc, char *argv[]) { - if (argc != 2) { + bool isDrainingDec = false; + bool isDrainingEnc = false; + bool isStillgoing = true; + FILE *sink = NULL; + FILE *source = NULL; + mfxBitstream bs_dec_in = {}; + mfxBitstream bs_enc_out = {}; + mfxConfig cfg = NULL; + mfxFrameSurface1 *dec_surface_out = NULL; + mfxLoader loader = NULL; + mfxSession session = NULL; + mfxStatus sts = MFX_ERR_NONE; + mfxStatus sts_r = MFX_ERR_NONE; + mfxSyncPoint syncp = {}; + mfxVersion version = { 0, 1 }; + mfxU32 framenum = 0; + mfxVideoParam encodeParams = {}; + mfxVideoParam stream_info = {}; + Params cliParams = {}; + void *accelHandle = NULL; + mfxVariant inCodec = {}; + mfxVariant outCodec = {}; + + //Parse command line args to cliParams + if (ParseArgsAndValidate(argc, argv, &cliParams, PARAMS_DECODE) == false) { Usage(); - return 1; + return 1; // return 1 as error code } - char *in_filename = NULL; - FILE *source = NULL; - FILE *sink = NULL; - mfxStatus sts = MFX_ERR_NONE; - mfxStatus sts_r = MFX_ERR_NONE; - mfxLoader loader = NULL; - mfxSession session = NULL; - // Decode - mfxBitstream bs_dec_in = { 0 }; - mfxFrameSurface1 *dec_surface_out = NULL; - mfxVideoParam stream_info = { 0 }; - // Encode - mfxBitstream bs_enc_out = { 0 }; - mfxVideoParam enc_params = { 0 }; - - mfxSyncPoint syncp = { 0 }; - mfxU32 framenum = 0; - bool is_draining_dec = false; - bool is_draining_enc = false; - bool is_stillgoing = true; - - // Setup input and output files - in_filename = ValidateFileName(argv[1]); - VERIFY(in_filename, "Input filename is not valid"); - - source = fopen(in_filename, "rb"); + source = fopen(cliParams.infileName, "rb"); VERIFY(source, "Could not open input file"); sink = fopen(OUTPUT_FILE, "wb"); VERIFY(sink, "Could not create output file"); - // Creates the loader + // Initialize VPL session loader = MFXLoad(); - VERIFY(NULL != loader, "MFXLoad failed"); + VERIFY(NULL != loader, "MFXLoad failed -- is implementation in path?"); + + cfg = MFXCreateConfig(loader); + VERIFY(NULL != cfg, "MFXCreateConfig failed") + + // Implementation used must be the type requested from command line + sts = MFXSetConfigFilterProperty(cfg, (mfxU8 *)"mfxImplDescription.Impl", cliParams.implValue); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed for Impl"); - // Check JPEG decode, and H.265 encode capability for transcode processing - sts = CheckPipelineCapability(loader); - VERIFY(MFX_ERR_NONE == sts, "VPL plugin does not have transcode capability"); + // Implementation must provide a JPEG decoder + inCodec.Type = MFX_VARIANT_TYPE_U32; + inCodec.Data.U32 = MFX_CODEC_JPEG; + sts = MFXSetConfigFilterProperty( + cfg, + (mfxU8 *)"mfxImplDescription.mfxDecoderDescription.decoder.CodecID", + inCodec); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed for decoder CodecID"); + + // Implementation must provide an HEVC encoder + outCodec.Type = MFX_VARIANT_TYPE_U32; + outCodec.Data.U32 = MFX_CODEC_HEVC; + sts = MFXSetConfigFilterProperty( + cfg, + (mfxU8 *)"mfxImplDescription.mfxEncoderDescription.encoder.CodecID", + inCodec); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed for encoder CodecID"); - // Loads and initializes the implementation sts = MFXCreateSession(loader, 0, &session); - VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session supporting transcode"); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); + + // Print info about implementation loaded + version = ShowImplInfo(session); + VERIFY(version.Major > 1, "Sample requires 2.x API implementation, exiting"); + + // Convenience function to initialize available accelerator(s) + accelHandle = InitAcceleratorHandle(session); // Initiate bs_dec_in for decode input stream and parse basic stream information (input width and height) // in : session, source // out: bs_dec_in, stream_info - sts = PrepareDecodeVariables(session, source, &bs_dec_in, &stream_info); - VERIFY(MFX_ERR_NONE == sts, "Not able to prepare decode variables"); + + // Prepare input bitstream and start decoding + bs_dec_in.MaxLength = BITSTREAM_BUFFER_SIZE; + bs_dec_in.Data = (mfxU8 *)calloc(bs_dec_in.MaxLength, sizeof(mfxU8)); + VERIFY(bs_dec_in.Data, "Not able to allocate input buffer"); + bs_dec_in.CodecId = MFX_CODEC_JPEG; + + //Pre-parse input stream + sts = ReadEncodedStream(bs_dec_in, source); + VERIFY(MFX_ERR_NONE == sts, "Error reading bitstream\n"); + + stream_info.mfx.CodecId = MFX_CODEC_JPEG; + stream_info.IOPattern = MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + sts = MFXVideoDECODE_DecodeHeader(session, &bs_dec_in, &stream_info); + VERIFY(MFX_ERR_NONE == sts, "Error decoding header\n"); // Prepare bitstream for encode output and encode params // in : stream_info.mfx.FrameInfo.Width, stream_info.mfx.FrameInfo.Height - // out: bs_enc_out, enc_params - sts = PrepareEncodeVariables(stream_info.mfx.FrameInfo.Width, - stream_info.mfx.FrameInfo.Height, - &bs_enc_out, - &enc_params); - VERIFY(MFX_ERR_NONE == sts, "Not able to prepare encode variables"); + // out: bs_enc_out, encodeParams + bs_enc_out.MaxLength = BITSTREAM_BUFFER_SIZE; + bs_enc_out.Data = (mfxU8 *)calloc(bs_enc_out.MaxLength, sizeof(mfxU8)); + VERIFY(bs_dec_in.Data, "Not able to allocate input buffer"); + + encodeParams.mfx.CodecId = MFX_CODEC_HEVC; + encodeParams.mfx.TargetUsage = MFX_TARGETUSAGE_BALANCED; + encodeParams.mfx.TargetKbps = TARGETKBPS; + encodeParams.mfx.RateControlMethod = MFX_RATECONTROL_VBR; + encodeParams.mfx.FrameInfo.FrameRateExtN = FRAMERATE; + encodeParams.mfx.FrameInfo.FrameRateExtD = 1; + encodeParams.mfx.FrameInfo.FourCC = stream_info.mfx.FrameInfo.FourCC; + encodeParams.mfx.FrameInfo.ChromaFormat = stream_info.mfx.FrameInfo.ChromaFormat; + encodeParams.mfx.FrameInfo.CropW = stream_info.mfx.FrameInfo.Width; + encodeParams.mfx.FrameInfo.CropH = stream_info.mfx.FrameInfo.Height; + encodeParams.mfx.FrameInfo.Width = ALIGN16(encodeParams.mfx.FrameInfo.CropW); + encodeParams.mfx.FrameInfo.Height = ALIGN16(encodeParams.mfx.FrameInfo.CropH); + + encodeParams.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY; // Initialize the encoder - sts = MFXVideoENCODE_Init(session, &enc_params); + sts = MFXVideoENCODE_Init(session, &encodeParams); VERIFY(MFX_ERR_NONE == sts, "Could not initialize Encode"); - printf("Transcoding %s -> %s\n", in_filename, OUTPUT_FILE); + printf("Transcoding %s -> %s\n", cliParams.infileName, OUTPUT_FILE); - while (is_stillgoing == true) { + while (isStillgoing == true) { sts = MFX_ERR_NONE; // Read input stream for decode - if (is_draining_dec == false) { + if (isDrainingDec == false) { sts = ReadEncodedStream(bs_dec_in, source); if (sts != MFX_ERR_NONE) // No more data to read, start decode draining mode - is_draining_dec = true; + isDrainingDec = true; } // Decode MJPEG stream - if (is_draining_enc == false) { + if (isDrainingEnc == false) { sts = MFXVideoDECODE_DecodeFrameAsync(session, - (is_draining_dec == true) ? NULL : &bs_dec_in, + (isDrainingDec == true) ? NULL : &bs_dec_in, NULL, &dec_surface_out, &syncp); @@ -148,26 +173,26 @@ int main(int argc, char *argv[]) { case MFX_ERR_NONE: // Got 1 decoded frame break; case MFX_ERR_MORE_DATA: // The function requires more bitstream at input before decoding can proceed - if (is_draining_dec == true) - is_draining_enc = + if (isDrainingDec == true) + isDrainingEnc = true; // No more data to drain from decoder, start encode draining mode else continue; // read more data break; default: printf("unknown status %d\n", sts); - is_stillgoing = false; + isStillgoing = false; continue; } // Encode to H265 stream sts = MFXVideoENCODE_EncodeFrameAsync(session, NULL, - (is_draining_enc == true) ? NULL : dec_surface_out, + (isDrainingEnc == true) ? NULL : dec_surface_out, &bs_enc_out, &syncp); - if (is_draining_enc == false && dec_surface_out) { + if (isDrainingEnc == false && dec_surface_out) { sts_r = dec_surface_out->FrameInterface->Release(dec_surface_out); VERIFY(MFX_ERR_NONE == sts_r, "mfxFrameSurfaceInterface->Release failed"); } @@ -177,21 +202,21 @@ int main(int argc, char *argv[]) { // MFX_ERR_NONE and syncp indicate output is available if (syncp) { // Encode output is not available on CPU until sync operation completes - sts = MFXVideoCORE_SyncOperation(session, syncp, WAIT_100_MILLSECONDS); + sts = MFXVideoCORE_SyncOperation(session, syncp, WAIT_100_MILLISECONDS); VERIFY(MFX_ERR_NONE == sts, "MFXVideoCORE_SyncOperation error"); WriteEncodedStream(bs_enc_out, sink); framenum++; } break; case MFX_ERR_MORE_DATA: // The function requires more data to generate any output - if (is_draining_enc == true) - is_stillgoing = false; // No more data to drain from encoder, exit loop + if (isDrainingEnc == true) + isStillgoing = false; // No more data to drain from encoder, exit loop else continue; break; default: printf("unknown status %d\n", sts); - is_stillgoing = false; + isStillgoing = false; break; } } @@ -202,8 +227,6 @@ int main(int argc, char *argv[]) { // Clean up resources - It is recommended to close components first, before // releasing allocated surfaces, since some surfaces may still be locked by // internal resources. - if (loader) - MFXUnload(loader); if (bs_enc_out.Data) free(bs_enc_out.Data); @@ -217,133 +240,11 @@ int main(int argc, char *argv[]) { if (sink) fclose(sink); - return 0; -} + if (accelHandle) + FreeAcceleratorHandle(accelHandle); -// Read encoded stream from file -mfxStatus ReadEncodedStream(mfxBitstream &bs, FILE *f) { - memmove(bs.Data, bs.Data + bs.DataOffset, bs.DataLength); - bs.DataOffset = 0; - bs.DataLength += (mfxU32)fread(bs.Data + bs.DataLength, 1, bs.MaxLength - bs.DataLength, f); - if (bs.DataLength == 0) - return MFX_ERR_MORE_DATA; - - return MFX_ERR_NONE; -} - -// Write encoded stream to file -void WriteEncodedStream(mfxBitstream &bs, FILE *f) { - fwrite(bs.Data + bs.DataOffset, 1, bs.DataLength, f); - bs.DataLength = 0; - return; -} - -char *ValidateFileName(char *in) { - if (in) { - if (strlen(in) > MAX_PATH) - return NULL; - } - - return in; -} - -mfxStatus CheckPipelineCapability(mfxLoader loader) { - mfxStatus sts = MFX_ERR_NONE; - mfxConfig cfg = NULL; - mfxVariant impl_value = {}; - - cfg = MFXCreateConfig(loader); - if (cfg == NULL) { - printf("MFXCreateConfig failed"); - return MFX_ERR_ABORTED; - } - - // Check JPEG DECODE capability - impl_value.Type = MFX_VARIANT_TYPE_U32; - impl_value.Data.U32 = MFX_CODEC_JPEG; - sts = MFXSetConfigFilterProperty( - cfg, - (mfxU8 *)"mfxImplDescription.mfxDecoderDescription.decoder.CodecID", - impl_value); - if (sts != MFX_ERR_NONE) { - printf("[DECODE] MFXSetConfigFilterProperty failed"); - return sts; - } - - // Check H265 ENCODE capability - impl_value.Type = MFX_VARIANT_TYPE_U32; - impl_value.Data.U32 = MFX_CODEC_HEVC; - sts = MFXSetConfigFilterProperty( - cfg, - (mfxU8 *)"mfxImplDescription.mfxEncoderDescription.encoder.CodecID", - impl_value); - if (sts != MFX_ERR_NONE) { - printf("[ENCODE] MFXSetConfigFilterProperty failed"); - return sts; - } - - return sts; -} - -mfxStatus PrepareDecodeVariables(mfxSession session, - FILE *f, - mfxBitstream *bs, - mfxVideoParam *param) { - mfxStatus sts = MFX_ERR_NONE; - - // Prepare decode input bitstream - bs->MaxLength = BITSTREAM_BUFFER_SIZE; - bs->Data = (mfxU8 *)malloc(bs->MaxLength * sizeof(mfxU8)); - if (bs->Data == NULL) { - printf("Not able to allocate decode input stream buffer\n"); - return MFX_ERR_MEMORY_ALLOC; - } - - memset(bs->Data, 0, bs->MaxLength * sizeof(mfxU8)); - bs->CodecId = MFX_CODEC_JPEG; - - // Decode few frames to get the basic stream information - // Width and height of input stream will be used for encode parameter setting - ReadEncodedStream(*bs, f); - - param->mfx.CodecId = MFX_CODEC_JPEG; - sts = MFXVideoDECODE_DecodeHeader(session, bs, param); - if (sts != MFX_ERR_NONE) { - printf("MFXDecodeHeader failed\n"); - return sts; - } - - return sts; -} - -mfxStatus PrepareEncodeVariables(mfxU16 width, - mfxU16 height, - mfxBitstream *bs, - mfxVideoParam *param) { - // Prepare encode output bitstream - bs->MaxLength = BITSTREAM_BUFFER_SIZE; - bs->Data = (mfxU8 *)malloc(bs->MaxLength * sizeof(mfxU8)); - if (bs->Data == NULL) { - printf("Not able to allocate encode output stream buffer\n"); - return MFX_ERR_MEMORY_ALLOC; - } - - memset(bs->Data, 0, bs->MaxLength * sizeof(mfxU8)); - - param->mfx.CodecId = MFX_CODEC_HEVC; - param->mfx.TargetUsage = MFX_TARGETUSAGE_BALANCED; - param->mfx.TargetKbps = TARGETKBPS; - param->mfx.RateControlMethod = MFX_RATECONTROL_VBR; - param->mfx.FrameInfo.FrameRateExtN = FRAMERATE; - param->mfx.FrameInfo.FrameRateExtD = 1; - param->mfx.FrameInfo.FourCC = MFX_FOURCC_I420; - param->mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420; - param->mfx.FrameInfo.CropW = width; - param->mfx.FrameInfo.CropH = height; - param->mfx.FrameInfo.Width = ALIGN16(width); - param->mfx.FrameInfo.Height = ALIGN16(height); - - param->IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY; + if (loader) + MFXUnload(loader); - return MFX_ERR_NONE; + return 0; } diff --git a/examples/hello-vpp/CMakeLists.txt b/examples/hello-vpp/CMakeLists.txt index 9793ad24..f2591671 100644 --- a/examples/hello-vpp/CMakeLists.txt +++ b/examples/hello-vpp/CMakeLists.txt @@ -1,9 +1,38 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## cmake_minimum_required(VERSION 3.10.2) project(hello-vpp) +if(NOT TARGET vpl-example-util) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../util + ${CMAKE_CURRENT_BINARY_DIR}/util) +endif() + +# Default install places 64 bit runtimes in the environment, so we want to do a +# 64 bit build by default. +if(WIN32) + if(NOT DEFINED CMAKE_GENERATOR_PLATFORM) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") + endif() +endif() + set(TARGET hello-vpp) set(SOURCES src/hello-vpp.cpp) -set(RUNARGS ${CMAKE_CURRENT_SOURCE_DIR}/content/cars_128x96.i420 128 96) +set(CONTENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../content) +set(RUNARGS + -sw + -i + ${CONTENTPATH}/cars_128x96.i420 + -w + 128 + -h + 96) # Set default build type to RelWithDebInfo if not specified if(NOT CMAKE_BUILD_TYPE) @@ -31,15 +60,17 @@ if(POLICY CMP0074) cmake_policy(SET CMP0074 OLD) endif() -if(TARGET VPL) - target_link_libraries(${TARGET} VPL) -else() - find_package(VPL REQUIRED) - target_link_libraries(${TARGET} VPL::dispatcher) -endif() +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +find_path(VPL_UTIL_PATH util/util.h vpl-example-util + ${CMAKE_CURRENT_SOURCE_DIR}/../util) +target_include_directories(${TARGET} PRIVATE . ${VPL_UTIL_PATH}) get_directory_property(has_parent PARENT_DIRECTORY) if(NOT has_parent) # only make run target available for stand-alone build add_custom_target(run ${TARGET} ${RUNARGS}) +else() + install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) endif() diff --git a/examples/hello-vpp/README.md b/examples/hello-vpp/README.md index f6354a23..823ae21c 100644 --- a/examples/hello-vpp/README.md +++ b/examples/hello-vpp/README.md @@ -1,11 +1,11 @@ # `hello-vpp` Sample This sample shows how to use the oneAPI Video Processing Library (oneVPL) to -perform simple video processing. +perform simple video processing using 2.x enhanced programming model APIs. | Optimized for | Description |-------------------- | ---------------------------------------- -| OS | Ubuntu* 18.04; Windows* 10 +| OS | Ubuntu* 20.04; Windows* 10 | Hardware | Intel® Processor Graphics GEN9 or newer | Software | Intel® oneAPI Video Processing Library(oneVPL) | What You Will Learn | How to use oneVPL to resize an I420 raw video file @@ -15,14 +15,15 @@ perform simple video processing. This sample is a command line application that takes a file containing a raw I420 format video elementary stream as an argument, processes it with oneVPL -writes the resized output to `out.i420` in I420 raw video format. +writes the resized output to `out.raw` in raw video format. +Native raw frame format: CPU=I420, GPU=NV12. | Configuration | Default setting | ----------------- | ---------------------------------- | Target device | CPU | Input format | I420 -| Output format | I420 +| Output format | BGRA raw video elementary stream | Output resolution | 640 x 480 ## License @@ -100,35 +101,30 @@ Perform the following steps: ``` -#### Building the program using VS2017 or VS2019 IDE - -1. Install the Intel® oneAPI Base Toolkit for Windows* -2. Right click on the solution file and open using either VS2017 or VS2019 IDE. -3. Right click on the project in Solution explorer and select Rebuild. -4. From top menu select Debug -> Start without Debugging. - - ## Running the Sample ### Application Parameters The instructions given above run the sample executable with the argument -`/content/cars_128x96.i420 128 96`. +`-i examples/content/cars_128x96.i420 128 96`. ### Example of Output ``` -Processing hello-vpp/content/cars_128x96.i420 -> out.i420 +Implementation info + version = 2.2 + impl = Software +Processing hello-vpp/../content/cars_128x96.i420 -> out.raw Processed 60 frames ``` -You can find the output file `out.i420` in the build directory and its size is `640x480`. +You can find the output file `out.raw` in the build directory and its size is `640x480`. You can display the output with a video player that supports raw streams such as FFplay. You can use the following command to display the output with FFplay: ``` -ffplay -video_size 640x480 -pixel_format yuv420p -f rawvideo out.i420 +ffplay -video_size 640x480 -pixel_format yuv420p -f rawvideo out.raw ``` diff --git a/examples/hello-vpp/content/cars_128x96.i420 b/examples/hello-vpp/content/cars_128x96.i420 deleted file mode 100644 index 93b27975..00000000 --- a/examples/hello-vpp/content/cars_128x96.i420 +++ /dev/null @@ -1 +0,0 @@ -ÑÑÑÑÑÑÑÑÑÑÑÑÑÐÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈÀ´°©£”‚~wnrzmfhonsijg\_c__e`X\bacYSQV\]aebeUUYXUVWV[WRX_]^YVMC@:<;544?3ÐÐÐÐÐÐÐÐÐÐÐÐÐÏÎÊÃÇÅÊÎÏÎÎÏÏÏÏÏÏÏÏÎÎÎÎÍÍÍÍÍÍÍÌÌÍÎÎÍÍÎÎÎÏÏÏɹ¡¦š~ƒz„yecerzna`png]Y\_`[[XR^ha_UQPSZZ`jkhRS]aZTROSSZaf`YROLB@97854176ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÎÍÍÍÍÎÎÎÎÏÏÏͦŒŠuqpsmlknw€y`cceg]]]^]]WVV_f\\ZVSTXUY^leRSZ^XNNOTS^ccc[SIEB>965421/2ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÉÄÇÄÊÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎÌ·™}mqw|x~€mkf_i\cee\[ZX`ZUYghVSUYYURNWR\iTQWXZRPSRR[caaYVVNF?;96421..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÉÂÅÄÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌÌÌËÌÌÍÍÍÍÌο•„‚~xgn~qflb`bXjf^ZVUR_c]`so]SQW]WNKVSR[TY]XWQQSW[_\Y\TRXQJB?@<641.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏɼ¾ÀÊÐÐÏÏÏÏÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÍÌÌÌÉËÌÌÌÍÌËÈŦ}wmdnuqedd`Y^aWU]VTS[ghgjfiWRWZUQTVTUYSZ_aWTUT[]^[YVSQRPJAB@8662.0ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏȽÂÁÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÎÍËÉËÌÌÎÏÍÊÆóœ{zsj\Ydb\bdc^a^XXTOPTY`cgia^TQQQOOUUTT`OVY[ZY[Z^]^ZURTRSMFEBC=641.3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÇÀÊÅÈÏÏÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍÌÉÆÇÅÈÈÊÍÍËÅÀ¼­”ƒrXTTSPUYnphad]ZMDCO\T]dd^XUSONNKOORP[NTWXYW\]\\^ZTQSPWPEGB><51///ÏÏÎÏÏÏÏÏÏÏÏÐÏÏÏÇÁÊÄÇÎÏÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÌÉÉÉÊÄÁ½ÄÂÅÂÆËÊÆÀ²£©‘}t^VZZYfjcqjg_YWSRTUdVQ^_WRXXSOMJPRTZYQSY[WUXZWTS]XSXRYXC98321//..ÏÎÐÒÒÏÍÎÎÍÌËËÌÍÇÁÊÄÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÅÅÆÄÅ¿»²Â½Ä½ÀÉ¿»ª‹‹‚w‹e_a^]jo\r`X_WRUX_][QQUZSRUXWMLNSSS\f]QXZXWWWZUP^\Y]]QF=7641/.-..ÐÚçìëàÑÍÌÉÄÂÄÆÉÅÁÊÅÂËÍÍÍÍÍÎÎÎÎÎÏÏÎÏÏÏÏÏÌÆÄÀ¹¿¼´§¿¹Â¼ºÅ»¼·œ†snjghcY]f`Yh[U]aSSVY^XVTPPPOOPUYVRTRRTf]NZ]ZSOPZZSYZSPLB9<<962/---.ÞíÞÏ×ìæÎü·¶»½ÂÅÅËÇÃÊÌÌÍÌÌÌÌÌÌÌÍÍÌÌÊÊÉÇÆú°¬²´«¤¯²º¹·½°²¨†{{yslXcg_[e[S]i_W`]PSTW_acVQONNPROWWMPTPR`aZc_VPLO[YUYRRZLDB=<;97300..ìÓ‰rzºíظ²±²¶·ÀÆÇÌÉÅËÍÍÍÎÍËÊËËËÌÍËËÇÅÂÀ·§¡Ÿ¦¨ œ¤°¯²¯®¨‹ypojoo_[ZXadXW_`^`YRWUTVYc\SUPPRVTSUWTRXQR\d]aZX[Y^_VUZXUSDAG<987764110âuws”Øå¹°¯±´µÀÄÈËÉÅËÎÎÎÎÍÈÃÊÌËÌÌÉż¸¶¹½­¢š“ œ˜¦´­¯©žž–{jffYidVPJNYcYRS]gbbl`ac^UYQRQPQSXUUVWXT]RQ```g]a`ki`TPONLLC?@8855654002É€†x’Ìë¿®®²²´¼½ÄÊÉÄÊÏÎÎÍËüÈÌÊÉƾ®£ Ÿ§§ž˜‹–—•¢­¬£˜“‘ˆvcej\]YQQQPYb_[iocU[gRZsp]SQMNNMKLPPOOQS\UX`WT[\ch`]YRKMJHGDHA8555554016¾…Š„~ÇìǨª²³´··ÀÊǽÂÊËÌÍËÀ·ÇÊǶ© ¡Ÿ˜™˜ˆ”˜“Ž•›”Œ‹‡uwteZUX[[RY^[Vaj]UUageef\TTNLLKKJIHHMMS^][]WS]iijY\VRVSJJC@C;864435537<»‡Šˆ…‘ÄèÛþ´±±°®¹Å¼¯²¶¹ÀÀƽ²Áĵ°¤¢œ ¢—˜“‡‚…„Žˆƒ‰Š†……ƒzyrdYXWX`ZVZXS[hTRRajhWUZXTPNMKLKHKIKRV_aVZSSnsgjcc\V`ZTUI?<;97533465;?É·³Ž†“ÄæììäÉ捻«­£ ¡¢¦©¯Âº­°µ£££¤¡£¤™—…„†ƒ„ˆƒ}„‰Š‡„€xwrkcZS[h^UVWW`\PY[aa]USSTSNMOQNNQQJFMQVaUTO^dca^fk]VV]YJQG==<:556589<>ÂÂÁ”ˆ•Äæëçææ컡¦®¥Ÿž¡¨®®µ¸²®©¥¥¥¦§ª¬­­­§™‰ˆ…‚„ƒ}‡‡„„~}{zumjg]WYRY]XV\\^[X]\^`[WRLVVONPMHHJIDCHKLTORS^aa\apa_S[a]JGC??=95677:=@@¾¾¾™Œ—Åäì×ÊäêÆ·ÅƸ¸²°Ÿ‰rlpˆŒ{liiklou}ŽŽ‰‡ƒ„„}‰…ƒ|zxusnmf\]dab\UV[Y__b[U]YZ_ZURMOOQMEGGDBDFEERIQUZX^_a]Uf`Y[[TMGFF;86678;?GH¾¾¿š—ÃåìãÞêéáàãâääà£_RWZ\`a€„bNJJRghc]PM~Œ†ƒ……}Œ„|€{ytttpjeZ[ed^VXRU^fcgZPUVh_bZPPQPLJFHPIGPX`bijqy{wvzxqdgfXTZ]THCA<;9878==ÆÉÌÆÁÄÎàëëëëëëêèçææ¿WNƒ²³´µ­œ–lcn_YWE:7:SR~ƒ‚Š‹†€‰…~|z{|wxr`Z[]XYYYX`ZSOar‚ykb_eUWPNRTNKa–wzslihedbbbba`acdfie`VH>:9;;:::::>>==äæççæèèçêëëéåâÜÔÎËÅUZY–˜“Ž¶›†¢l][QD95Lga„ƒŠŠ~…„zwwywvtf^`\RS[Z\_VT_fkhbX^cdUXOMPTNHpyNVY\_bT@BA@??AOWYZ[]TSG<9987::989;>@@>íìììëììììììçÜÍƾ»±vfV2:=;B^\dijk^VVlb=6O~X~‚††€~ƒ€zvw{yvsmg_WON[Z[WUX`^[MZb[][[`WMNUQKwaz––› ¦”K;98>@DRVSSR^vRC895`{;8888;ADCCîëêêêééééêÝο©¥¦¤¢šf{H4:OSDQUTTTVXOU{iC7£fn‚ƒ€ƒ||try||ulcd[SQIFOXXW[\QNMVY]_W[b_SNOLRˆbŠ¬¬¤ ˜Œ]F8=KNSXJ@=;=`bD796UB799;I‚–‡LA878KRMJx•]55E_€ƒ€‚…}xwsuprwrjg_UVWVY\`]XJISY_[\[YYZ^WQIDBƒ}Y>I8888HOMJJSUSH<=><;@fQ;82‰âS48;<>CILLºÀ¾½¼¯™ŽŽŒŒ‡„„ˆˆƒt{pELKuŒwNF<;:>>;F‘šS66:Œmvƒ€‚~xvwwmnunjhbU^i\WU[\YQQVZ_b_\Z\[YQIFBKšjQ9C7;KCBK>65FSN?ADD=8>_X<:7‡áT39<=BGHEM©¦¢ ¥§¤¦©««ªª xjp|j…oPUczwPJIJLLLEGX‹K=96„xi{^Uk{zzvnmplkgf_hrbZOR\]WTVZ[a[Y\bZQOOOMm YL;@8TxxI>8659=;<@BC=89UWAAO_zF6<<@FKKCT’ŽŽ¯ÅÄÄÄÂÀ¿ÃµI7G|[]VQSKPEFOWXXQMGP[wiKD:6THPV74H€|y{zqikmoje`_[^[OQXXQQV\\\[[^^VSRV`f‚’IKDF@WIA>7477:ADDDB=7PV@FaZQ?:=<=ELOU`„…„“‘d]XZ]UTUT;75=IC9878:><;<;9;9:99BDDJJMTbmlnoš“”‘ˆvnrzk\VVTTQOUWPPZ]\Y[a^[SRQUdt‚~>ttIDDWMAGH@@ABIKJKKJH=CFBH_WVH=<9TDKU>=><8888888899995Kƒ“¤¥§«««©¨§¥¥¥¥¥¦©§œvobWV\XWYRQTQRT\_]daYWTQJKQR\iYXZ?9;BEFHJUkkmmYB@?=AF¤ŽGM<<<;999999889998=•‚‚~{xtqommoomlmmpq|‡kdXRY[]]XSNPUT\ddd\SSVTLFb„\pymgUMT\^]^^^]^^^]^YPSenwKö‚MPUmotsnj¤çÌ‘LSSQNNOPOLJT«–OD87;:787777898784ešbhnoqtsy„©¦Ž‡}ywwvmwyg`WZ[\YVQPPUZ\WZ\WPRXUQU|·‰wmofdaXctpnmkjiihijorf^__epjY½–Š‰„}|vtql¦ãÙº¤¦ª­­°²³²±²­„\r{\875554668B9657zl„“˜šœž”ja\Rƒ œ–‚oqia\]YYVW[]SQXYSNOU\YY[bt¨†iZ]]\ZX_e^ZYXYYXXYY[a]YYYZ[VNz’‡‚rqrqoj~©·¸»¾¾ÁÄÅÆÆÅÄÀ‡jj ²»f433334575573F^€¿ÕÙÜÜà½eYOK€ÜàÝÛÛÜ¢p^tnoqnpx‰“‘††‘“‡„®—}}‚s–wcVWYYYYXWXXWXXXXXYXXXYYZZYWTLfŽˆ~viktumjuttwxz{{}€‚‚‚…}Qh¦Àµ½wC?Mj˜idojZSLAAAo[jgggiijmoruwwvuttrqppri[ec[ºÎÏÝï’LIZZD_…oJLŠk=DƒíçäâÃXKX[YZYVUWYY^{xtrnllllnoqrrriE934GLZ|}•bfncŠíÕk|–XfLe;7989:>T|faJ88:;;FBb_aiihedeffhloruvxxvsqppjNU^MŸàÕÚæë€ECŸ›;‹Ô¸Hk¼V>jãêÕÇÆ“NLU[XXXZYXXXW{{zwrnlkkklooprf;22446:@J[bw—«ÞÍ ™„XaGE9?C>:969BB@88GcX9<;Ne[kljjgfgfeefhknquwwwvulIJSQ[qŽ©ÉûºNFaÐ}ƒØ²aÃHKŽöß—|`VQKQVVUVZYXXXXzzyywsnkihhklnpd80178>:?fTijgklhfddccbbdeiosuwxoGELPPPV`Ž³‰pk[ªä¥»§¾Õicnw™‘`YWUPKQTSTUWYVWWWxxxxxvrmihhhikmd80136=EXq—­ÙðïÙ¬©· dRSNMKKLMMLI=:88:J\{`JJF@NP_d}pfilheddcabbbglpruoFBINQTX]```dkt‚ÊéêèÞ urjgb`_[WSNLUWVUTW[UVVVvwxxxwvrnjgfghje:0125;JPZq‡Èð㇃œ•d@CBHUXQGDJXK>AA?@BOwcrvZYXZZZ[[\y^EEDBBCA@AABA;===<<<<<<<>==;>?:89::9778887;AZhffhknnlhge=5FJNŽ°s]POB@>?F\P^WPRJFJQSb¯Æ_DV¹°‘wmmmnnjh`dgjmopqstttsqoc6:43B91/---+++)@u‘ƒ„­¿£i\]]\Š`<@<;7777777=?Nfhgffhjjihf:4FEJ©Åm]^SEJJKKNJFFEFF?E_^_š±\@Kš»ÉÁ§xrpnl€_egjlnoqsttsrnb5:63BPGB<:2++,*Ds‡wãéà­eccp–I?989;;:<=;]_A>EJ<4455775;BC_lihgeeghig72B@AZlacidKDBEIHJLNPQPO]mkc]XICHaiz ÉÒÁxnn¿w`ehjlmoqssrqjZ39534=?@832247Tlkigeeddhf60=::?HR_inokihhhiiigffijg_UMC;449RP89=<77:JTP:B`UNC:66>@Gdlmnkha`cd6.86;../234766766554320.,-,,,-GIBdlllgg€©ÇÔ¹ÁÏ­b]cgiklnnppjeYLHFFFGGFFHHHHHESKLJPWƒµˆ©¶¨N?:44NysB587332169>EKNSTO@5:B@Zl]VU]gbcb6-6BbC0-680+('(('&''),49AUS+&=VJBdlllkjgg{¥Ë°ÅÑ™\_dgijlmnnlkheb`_]\\\\]^`cf[LIKIOWZZnÉ®?@966[Žˆj<:511234:EGPV_]\P76A?PkC55;ce]W2.8408B?AB@=;9999999:„°w;@>MLCVXNBB;00113@HOMYc^XN:4??BK;765[eVO2.50,4<<;::::99877777678899)".24:ZcegijjjjigV”¾ÌÃq\cehikmnnoonlkjhdca__`bcb_EDIIPECIBR[TNJ<5<;=;614AchcU<0/-,320.-,,++***))))(()+--*)233;_d`_bfikkkk[~²Áέc_dfhkmmnooonmljhfda``aab^@BHINE9ZB>=@;@J@;;:::::=BA<<;:999888:@IHGB;BZV^hjihaWH@>>@BDFKLLIGEDDDEFFFFGLQTWZ[\^amnkebcfhijj\`‚»Æ̘_aegjklmnoonnllkifca`__b]BECA@?=>@@@?@@DD@E_>>>=>Gj·—dgghhhhiijjjiiigfdbcfjjkjhea_^_`aa_^]^bhkloppqqqnrw]OOa«ÂÌÉ{_dfgikkmmnoomlmkgeaZ0378878Lk•pU?<=<<==<;9888886788888788:;;:<@F@[diggghhhhhihjiiiiiigcbcefikkkfc`^_____^\]afilnnpqqrrqgWQOsµÃÑÁqadfhkklnmmmnnmkie\N/34:621DfrVJGI>>?;;=<;;<>>BSHCCBBAADDI]…ž›°UC`fffgggfffghhhiijiihecbbchkljjfaa_____]]^_afklnoorpnodTWk¿ÉÕ³haegjjkklllmnmljf[H.2321?DFVVN’©ŸŠ±º wQKKIJLMT‚aVTWTSRNI”çíéÎÁÐæT7bgfjlidfffghhhhhiiijidbaacfjkmlifccaabaa`_^_dhjlknoooiYRVW™ÈÈÒ¡_bdefgiijjllmmkieQ2//..21BOED¾ãÈÂÛçñîqFQ\ab|§œš¤ŸwXXWEBŒæëÙßíöÌI8cfm·ÒΉdgffghhhhhijkigdbbabfkmlkkhfcbbbbb`]\\_eijprrqoeSNL_®ÇÏІ^bdefhijjkklljje\J5111/+=K68™òòìâåê¸n@6984]}‚„ŠwT.118Ls~®¶±¨˜b<8bgfº¸Ÿfcddggggfghjjjigedb`bdjmnnlifccbb`^\[[[^aerrstuvgTOKxÁËÒ¾l`ceghjjjkkkkjifb]SNNNNOGH38Sˆ¡£¤ Šr‡kD;<:L‹¥¦¥‹D@CDHn•r^VLC9557ahgefbcedccdeeeefghhhhhgeda_^bjkmmkifdba_[[[[[[\^qpomloi]RMQ¡ÈÊÕŸ]adfhhiijjkkkjheb]\[YYXKG26:88>923IWE98BI]r<@AACIJB=9416eIDF62†Õ£42>aihhgggggejlhgdddeeeffggggghiihecb```ejkjie_^^^^\sqmlppmmmneNLKf³ÄÌÖ‰_egggijkklmlkjjjhfcA9>91;µæ¨57GO?h_ABCEMRMKIIGiwVX>42‰š[14A`ihhggggggfeeffeeeeeeefgggffgghgeda_]`dhjlkd`_^]\ponhloqsrpiRKMMƒÁÃÓÂobfggijkkllllkllkjgIR>926g•345f_T{st£ƒ}|z{‚Vhb4330,.17@]geeddeegfghhhebcaacdefgggghgghhgfc`]]`dhkljgb^]\oihkkmsuuus`ML[n¦ÂÉÕªddffhklmmmmnmmlkjjE@=<64103764NMDOVYrw|bX[mQGEGGM85540.0;Pr…‹Ž”˜œŸ£¥¥¦¦¦¥ “‡wleffffgggfghhgfd`]^aeilmljga_lmmlqroosstmULPQf³ÆÌÔ“bffhjkllmmmmmlkjkA(=932444346BLJNRW^]koYWUPJHD@@2.-9Uw¡®³´µ´±±­¬«ª©¨¨¨¨©ª®±¯¢veeefghhhggghgfd`__afjllllfc{utrxumlnnlnhNJLK|¿ÃÐÊucefhhhijkllllkjf@&<3---,,+**,..--,*)+,(&''&&%$%&$] ±²«§ ›—“‹‰†~~|{{{{||~ˆ‡heeffggggffgfffeb_]afilnmli}vpnkjllmkfQKMMRžÁÄÖ«aacfffhhijjjhf`Y=$9/)+*)++*+,*********..354448<:PªŸ“‡{snkgecca_^^]\\\\\]^^_bnqdeefffggfffefgffa^^aeimnnkwxuvuonjmnomlcXNMJh¹ÁËÒ{Zadffggghhheb`ZC%8/,)'2=>AEFEDDDEEFEEFFHIIHFEDAqšphd`^\YXXYZZWr‡TUXWWXXXXWUUR^gedeffggffffffffdb_]`dhmnnqwtwvnpkjlmmptjSLKPšÄÇÖ²aaeggggghhgghi`F*8/1/*-3112121222232110000.--+0‘~TVVVY]acfg]D=GR?@Uhhgfffeb`VAbdcdedffeeeefeeeeca^]]bilmnupnmmnkiklnnojSLKMk½ÇÏÓ…_deghgggggggf_J14/12/'%#####"!!!"#"""""!""""A¥^Gfjrvwz{}[gnhtjTOM>78889>tOOdcdddefeefefffeeebb^\]cilpnoutpmopoiilkkUKKNP™ÈÇÔ¶babcfgggffffd_UC1-../*())))(((()*+,-...011130l‘Eo ¬®°´¹¼ÀÀ±²‰¦}NQF3223453]lA_`deddeeeffgfffffeda^\^dhlnpsqnmqttoilmgVLKMLi¾ÈÍÒ…beegghhggffd`ZTIAA@?@@BBBAAAAABBCEEEFGHHHGGFoFzoÄÃÂÃÃÂÂþšÎËž¯†OO<2323345CyAqbfddeeefggffeefedca^]_enmmnrtsqvpnmlmoeQKLNN—ÊÊÔ»iefghhhgffgeb^ZUQOOMLLMMMMMNOSUUVWXYXXXXVUS_•XTrQ½Æÿ¼¹µ¨ddhb_UQL512222366lWcÞ‘bbcdcdefeeedddeddca^]`lqusqrroslkkjkreNLMMJe»ÊÍÔ”bfhhhihggggda_\[YYXVVVVUUVVX]`abeggdba`_]Yx‘Mcb«¨fabcccdeddddccddedb`][qwxrkjkprlilttth]WNLMQÌËÑÅsdhhijihggggdbabaa_^\ZZYZZ[[_acgjjjggdcca]…}BnsS;3666626565;YD@BB411243323Az?Nadcbcbaddccccccddddcb_\kkmjddcnnv{xywrlqfPLNTd·ËÊÖ§fhhijiihhhhfeccbba_^\[ZZZ[\_`bfhheeecbbaa‚j>u¤j:;;<;9221103\5135620138@926xQC_ccbedbccccccbcddddccbaspmlkvosnxyxvw}n_SKLMN„ÇÇÐуdghhhihhiihfeeddc`_]\[ZZ[]__aabbaaaba`^dw\C€{>237AB:21000/4//5DFB>?BGLF4/bf:]aYY^hhddcbbbbccdddccbb…€|xy|znmszy{€{i`SKKLMXªÉÇ×·hdfgggghiihgfeeeeca`^\[Z[\]_``aaaaa`_]ezƒ[Ku6167ETVMA8/0/58;1Vc^^RCDDDDDDCA>=>B7?sFJ;?Yfeeffdceeedcccdd……†‡‡‡‡‡‡‡‡‡‡†††††‡‡‡‡‡‡‡‡‡‡†„‚|vutttvxwxxxy{{zvuwzz{{zyz|}€€€†††††††††††††…………††††††††††††„}zvtsttvxxxwwyzzywuvvxyyxwx{}€€€………†………††…†…………………†…†…††………††„‚‚|vuuuvwyxxxwy{zyxvvuwyywxxy|}€€€…………………††††………………………………………………ƒ‚{yywvxzzxwwyz{zywvvwxxwxyy|}€€€†…„„………†††…††………………†…„…„„„„„„‚|zxwwxzzxxxzz{zyvvxwxxxxyz~~€€€…ƒ‚ƒ„„„…………†……„……………„‚ƒƒ‚‚ƒ‚€}~|yxwxyzyyz||zzxyvvxyzyyxz|~~€ƒ„„ƒƒƒ„…………………„†††…„‚€€‚}~}}{yxwwwwxy{{{{zyxwwwwxxyyy|~‚„…ƒ‚ƒ…………………„…†…ƒ‚~~€€}||||zywvwvuvz||{z{ywxwvuuwyyy|~€€€ƒ‚‚ƒ„„†ˆ†……„‚€€€}||}}~~}|zz|{{yxwxwwxy||{{{zwwwvtuvwx{~€~€~~‡ŒŒ‹ŠŠ‰Š‹‹‚zz{{||zyxy{z{zyxxyyzz{}|||{{zyxvvvuvz~}~~€€~~€€€‡ˆ††ˆ‡ˆŠ‹‰{zzzzyxxwy{z{{ywwwxxz{|}‚ƒƒ††††ƒ‚€zvz~~}~~~€€€€…„ƒ„„„†‡‡‰ˆ}xxvvvvvvy{zzzyvuvwyz{|…††‰‹ŒŒŒŒŒ†z~~~}~~~~~~~€…†…†…††„‡‡vutuvuvvy{{zyxzzyyyz{ƒƒƒƒ…ˆŠŠŠŽ‰€€†€~}|}~~~}|}}}†‡…‡ˆˆˆ„€†ˆvssttuuvyyzyyz{{yzzz|†ˆˆ‡‡ˆ‰ˆ‰‹‰‚€†€}|}~~~~~~€‚††…†‡‡ˆ†€†‰‚xwussstvxxxyyzzzyyz|~‚‡‹Š†‰ŠŠ‰‰ŠŒŠ‚~~~|z}}ƒƒƒ„„ƒ‡ˆˆˆˆˆˆˆ‰…‡‹Š‡†ƒ~{xuwxxyyyzyxxy|}ƒˆ‰Š‰ŠŠŠ‰ŠŠŠŠƒ~}~{ws}~ƒ‡‡‡‡ˆˆŽŽŽŒ‹‘””‘’’’‘}wxxxyyzyyxz|~‚ˆˆˆˆˆˆ‡‡ˆˆ‰ˆ‡€|zysol~‚„†††††‰‹ˆŠŠŠŠ‰‰‹ŒŠˆˆˆ‰‰ˆ‡…Šˆ{yzz{{{zyyxw€……†…‡‰ˆ‡…†‡„…†~qigjkk„„…‡‡‡‡‡ˆ…„††‡††Š‹‚}{~†‡}|‰‡ƒ‚‚~~|y€…}yxwwutuvvy{zqjjlkj‡††‡ˆ‰ˆˆ‡„€‚‚‚ƒ„…‰‹†„ƒˆˆ‚‚†Š†„ƒƒ„„„„„„‚‚„‚€}zzxvvxxy}}|~{u‰ˆ‡ˆˆˆˆˆ…„„„„ƒƒ‚ƒˆ‰‡‰‰ˆˆŠˆ‡††ˆŠ†…„„„ƒƒ‚ƒ‚ƒ‚~~~}~~~€}{„††…‡‰‰‰ˆˆ‡ˆˆ„ƒ„†…„‚‚ˆˆ…††‡ˆŠ‰‡ƒ†ˆ‰†………ƒƒƒƒ‚‚‚wttvvx||{yvtt}„„…„†‰‰‰‰‰‡‡ˆ„‚‚ƒƒ‚€ƒŠŽ‹‹‹ŠŠŠ‹ŒŽŒ‹Š‰„ƒƒƒ‚‚wsstw~~{vrrs{‚‚‚ƒ‰‰‰‰‰ˆ‡†„‚‚‚‚‚‚„‹“•••”‘‘’’””“’’’’’‹‚‚ƒwssv|„ƒ€€€ztst{€ˆ‰‰‰‰‰ˆ†ƒ‚‚‚‚‚‚‚†Œ‹Ž‘‘ŽŽŒŒŒŒ‹‹…‚‚|zyy~€€€€~zy{}~„ˆ‰‰‰‰Šˆƒ‚ƒ‚‚‚‚†Š‚‚Š‹‹ŠŠ‹ŒŠ‰Š‹ŒŒŒŠ‡……„ƒ‚‚€€~~~~~~~~€‚‚€†‡ˆˆ‰ŠŠ„€‚„ƒƒƒƒ†‡„‰ˆŠ‰‰ŠŒ‹‰‰Š‰‹ŒŠˆ‡††…ƒ‚€€€€€€€€€€€‚††„‚€}€„†ˆ‰ŠŠ‡ƒ„„ƒƒƒƒ„…ƒ€„ˆˆŠ‰…‡Š‹Šˆˆ‡‡ˆŠˆˆ‡‡‡†ƒ„………„„„……„ƒ‚‡‡ˆ‡„||†ˆ‰ŠŠŠ‰‰‡„„……„„„ƒ„†ˆ‰‡†‡ˆ‰‰‡ˆ‡‡‡‰ˆˆ††ˆˆ„„…………………„„ƒ€‚…†‰‰†}}~ƒ‡‰‰Š‹‹‹‰‡……†„ƒƒƒ…ˆ‰ŠŠ‹‹‹ŒŒ‹ŽŒŒ‰††ˆ‰†ƒ‚‚€€€€‚„†‡|~}}„ˆ‰Š‹‹‹Šˆ‡††ƒƒ‚…Š’”””•””•–––––’‰‡‰‰‡†…„„‚€€€‚€€€‚ƒv}}†‰‰ŠŠ‹‹Š‰‡†ƒ‚‚€ƒ‹’“——–••”““”””•–•Ž‡‰‰ˆ‡‡‡‡†ƒ€€€‚‚€€€€p{€~‚ˆ‰‰‰‹ŠŠŠ‰†ƒ‚„‹ŽŽŒ‹Š‹ŠŠ‰‰Š‹Œ‹‡ˆ‰‰‡‡ˆˆˆ…ƒ€€€€‚‚‚ƒ‚€€in{}|~ƒ‡‰‰ŠŠŠŠ‰ˆƒƒ„†‰‡‡………„„………ƒ‚„……„…‡‡ˆˆˆˆˆˆˆˆ‡…ƒ‚‚‚‚‚€jiq{}~…ˆ‰‰‰‰ŠŠŠ…‚‚ƒ„‚‚‚‚‚‚‚‚€€‚ƒ‚‚ƒ‡ˆ…„ˆˆˆˆˆˆ‰ˆ…ƒ€‚„„‚likw€~~‚‡‰Š‰‰ŠŠŠˆ„ƒ‚‚€€€‚€€€€‚‚‚…ˆ‡‡‡ˆˆˆˆˆ‰‰ˆ†ƒ‚‚„†…llls€}~…‰Š‰‰‰ŠŠŠ‡…ƒ‚‚ƒƒ€€€€‚‚‚„ˆ‰ˆˆ†‡ˆ‡ˆˆˆ‡‡…ƒ€‚„‡†lkinz€~|€‡ŠŠŠŠŠŠ‹Š‰„€‚‚‚€€€€€€€€€€€‚„ˆˆˆˆ„ƒ†‡ˆˆˆ‡‡‡‡…€€‚…‡‡kjhhjy€}~ƒ‰ŠŠŠ‹‹Œ‹Š†‚‚‚€€€€€€€€ƒˆ‰ˆˆ‡†‡‡ˆ‰ˆˆˆˆˆ‡…‚ƒ††jkhfes€~}~…Š‹ŠŠ‹‹ŠŠˆ‚€€‚€€€€‚€ƒƒ…‰‰ˆ‰ˆˆˆˆ‰‰ˆˆˆˆˆˆ‰†ƒ‚€„„kiffek{€~}†‰ŠŠ‹‹Š‹‰‚€€€€ƒƒ†‰Š‹Œ‹‹‹‹ŠŠŠŠŠˆ‡ˆˆˆˆˆˆ†ƒ‚‚ggfgfhp~€~~ƒ‡ŠŠŠŠ‹‹ƒ€‚ƒ„„„„„„†‡‡‡‡‰‰‡…ƒƒ‚€†ˆˆˆˆˆˆˆ‡†‚€€hggggghu~‡ŠŠŠŠ‹Œ‹ƒ€‚„……………„………„††‚€€€‚ƒ……„„…‡‰‰ˆ‰‰ˆ‰‡‡†‚€hhffgghr€…Š‹ŠŠŠŠ‰…‚‚‚‚‚‚‚‚‚‚‚‚……‚€€‚‚…‰Š‰‰ˆˆˆˆˆ‰ˆˆ‰ˆˆˆˆ„ihfgggho}€~€†Œ‹ŠŠŠ‰‡…ƒƒƒƒƒƒƒƒƒ„………†…ƒ‚€ƒ……ˆ‰‰‰‰‰ˆ‡‡ˆ‰‰ˆˆ‰ˆˆ‰ˆƒjiihgghju~‚Š‹ŠŠŠŠ‰‰ˆ††††‡‡…‡ˆˆˆ‡‡„ƒ†…†ˆ‰ˆ‰ˆ‰‰‰‰ˆ†‡‡‡ˆˆ‰‰‰ˆ‰‰‡lljijjiho~‚€€†Š‹ŠŠ‹‹ŒŠˆˆ‡†‡‰ˆŠŠˆˆ‡ˆ„…‡†‡‰Š‰ˆˆˆ‡‡ˆ‰‡ˆv€‰‰‰‰‰‰‰‰lllmnnlns|€}}‚ˆŠ‰‰Š‹‹Š‰ˆ‡‡‡ˆˆŠ…uy‡ˆ}~ˆ‡‡ˆˆ‡…††…††††‡€y€‰‰‰‰ˆ‰‰‰{{zz{{{zzzz{{zzzzzzzzzzzzzzz|ƒ†…ƒ…††‡ˆ‡††‡‰ˆ†‡‡‡‡‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ„„ƒ„…†ˆ†……†ˆˆ‡†††††††††††…„‚zzyzyyzzzzzzyyyyyyyyyyyzzzzzz‚‚‚……ƒ„……††……‡‡ˆ‡††††……†‡‡††…„‚‚zzzyyyyzzzzyyyyyyyyzzz{|{||z|‚‚…„„„……………†ˆ‡††……„…„…‡‡‡‡†„ƒ‚‚€€y|{zzzzzzzzzyyyyyyyz{{|~||||~€‚„„„„……†……†ˆ‡††…„………†‡‡‡‡†ƒ‚‚€{€€~|}}{yyzzzzzzzzz{||~}}}ƒ‚ƒ…„„„……‡††ˆˆ‡…†…„………†‡‡†……‚‚‚€€‚‚€~|zyzzz{{z{{|}~€€€‚„„ƒƒ„†…„„„…††‡ˆ†††……„„…‡†‡‡‡…„‚‚€„€€~}|{zyz}}|~‚ƒ‚€‚ƒ„……†„……………„„…‡‡†………„……†††‡‡†…„‚€ƒ‚€€€€€~|{z}}~‚ƒ„„„„ƒƒ„ƒƒ…‡†††………………„„††‡†…„„„„…†††‡†…„„‚‚‚ƒ‚ƒ‚€€€~}}}}~~~~~„„„…„„†‡††††……„………………†…„ƒƒ„ƒ„……………„ƒƒ‚‚‚‚ƒƒ‚€€€}}}€}|}}~ƒ„„…„„††‡†††………………………†…ƒ…ˆŠ‹‹‹ŽŽ‹†‚ƒ‚‚‚‚ƒ€€€‚ƒ‚~}{{y{zz}~}ƒ……†‡‡†ˆˆ‡††……„…………‡………‡˜›œ™™™™™™™Žƒƒƒ‚‚ƒ‚„„„‚}|~|yyw{~}‚††‡ˆˆ‡ˆ‰ˆ†…„……„…†‡ˆ†††‡~|{zzzyz{‚ˆ‚‚€ƒ„€‚ƒ„…†…€|}ƒ~xxx|ƒ~††‡‡‡‡ˆ‰ˆ‡…„„„…†ˆˆ‰†„†‡}}~|{zzzzy}‚‚‚ƒ…‚ƒƒ„…†€{}€}xy{~…~…††ˆˆˆˆ‰‡†„ƒ„„…‡ˆˆˆ‘“††{}}|{{{zz{’†€‚……†„€€€‚ƒ€}}}}}}~~‚}}€‚„…†††††„„……‡‡‡ˆª¶”‡{|~}{|}}{zy«µ‰€ƒ„†…|{yz|}|{|||||}}}{yxz{{zyyy†…†…„……†‡ˆˆ•˜”–‘‘‘‘”••””–——™ƒ‚ƒ„€|€†|}}~~}|||||~€}}{|€„„………„…ˆˆ††„‚™µº¼³³¹»¼º´»Áº°ˆ€€€~~~~‚‹ƒ~€|||}}||{}~~~‚‚€„…„ƒ†…žÁÌÑÓÔÕÖÖÔÓÓÍÅ°€€~€~~„„‚‚„‚|||~~zy{}~}~€€‚‰›†‘žª®°±±®¨žƒ“˜€{}€~~€‚ƒ„ƒ~|||}}{z{~€}}}~€€€€Š´¢‹‡ˆƒƒƒ‹„„›· ~€€€{{|~€€~‚‚„ƒ}||||||||€„}|}~~€‚€€‰¿ÐȹÀ¼™‰Š¤ÃÀÃÑУ~€€€{{{{}€€€€‚…ˆ…|{{{{||||}}{zzz{{}‡¿ÐÏÊ»¦•Ž—¯ÁÏÑÍ €€€}||{|}€€€‚‚ƒ††{yxvvwzyyyyzzzzzzz~‚‚€„½ÑѾ€„ƒ‚†—ÇÓΞ€€~}}}}~€€€€|}|xwy|||{{}}{{{{{|€‚‚‚‚©¶±Ÿ€‡‡ˆŠ„€¦ª±’‚‚‚‚€~}}}}~€€€€}}z{|||{{|||{{zz{~‚‚‚…†‡…‚‚€‚„„‚‚‚‚†‹‚ƒ€}}}~€€€~‚„|{|~}{{{|||{z{|€‚€‚ƒ€€€€€€€€€ƒƒƒ„ƒ~}}~€€€€~‚~|}‚~{{{||{{zz|}€€‚€€€‚€€…„‚€~}}~~~~€€€€€~€|}|{||}{{{{|~€‚€€€€€€“‰‚€~}~}}}€€€€€€~}|}|zzzzzzzz{}|~€‚‚‚‚€€‚ƒƒ€~†„ƒ‚€}}}||~€€€€€€~|{{yxvuuuvvvvuwwx}~}€‚‚‚‚‚ƒ‚€€„„ƒƒ‚}}}|}}~€€€€‚€{xxwvvwvwxxxxxxxw{~}~~~€€‚‚‚‚ƒ‚‚‚ƒƒ‚‚‚}}}||}}€€‚€}{{||{||}~~~}}€~~€~~~~~€‚‚‚‚‚‚‚}Ž‹‚‚~}}|}}}~€€€€ƒ…‡„‚‚‚‚ƒˆˆƒ‚~~~~~€‚ƒ‚‚‚}|ˆˆ‚ƒ}~}}}|}€€€…††„‚‚‚„„ƒ‚ƒ†‡‡ƒ€€~~~~~~~€€‚‚‚}}€‚ƒƒ‚€}}}}~~€€€…††ƒ‚„††ˆˆˆ…‚‚ƒƒƒ€~~~~}~~~€€~~‚„ƒƒƒ~}}}}}}€‚„ƒ‚‚‚‚‚ƒ‚€€~~~€~~~}}}}~€€€€‚€}„ƒƒ‚‚€~}}}}}~€€€‚„†…………‡…ƒ‚‚‚€~~~€€~~~~}}~€€€€€‚€{{}ƒ‚‚~~}}}}|}~€€ƒ„‚„†‡‡‡‡†…„ƒƒƒ‚€~~~€~~~~~€€€€~zyz„“ˆ‚~}}}}}}}€€„‡‚ƒ‚‚‚‚‚…‚€~~~~~~~~~}~€€€~yxy}…‹‡‚€~}}}}}}~€€€€€ƒ‚€ƒŠ•™Ÿ¡¡¢¢Ÿ˜ƒ}~~}}~~€~zxxzƒƒ‚‚~~~}}}~€€€€~~~~~~}{Œ´ÁÆÉÊÌÄÅÇÆÅÅÅž|~~~~~~~~€~zyxyzƒ‚‚‚€~}}}}}~€€€€€~€€{”«£”Ž‡‡……„„„ƒ~~~~~~~}~€‚‚~zyy{z~ƒ‚‚‚€~}}}}}}€€~|wwwwwwyyyzzzz{~~~~}~~~~~‚~|y{|{}ƒ‚‚‚~}}}}}~€€€€€€~|{||}{zzzzz{{{|~|~~~}~~}~{|~~~~€‚‚‚‚~}}}}}~~~€€€€€~~~~€}|~}{{{||{}~…‹~~~}}}}~ƒ~‚‚ƒ‚‚‚ƒƒ‚€~}~~|}}}~~€~‹‚‚ƒ~}~}}}|||{}| ×¦~~~~~~}~ˆˆ‰ˆ‡…„……‚™}}}|||}}~~|•Ñdž„…~}}~}|{|}}}}}~~™¼ ~~}}}~}ÑÑÑÑÑÑÑÑÑÑÑÑÑÐÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈÀ´°¨¢”‚xmpynhiooshjfZ_c`_d`X\b`bXSQV\^afcfVUYYVWWU[WSY`^^ZVMC@:<;544?4ÐÐÐÐÐÐÐÐÐÐÐÐÐÏÏÊÃÇÅÊÎÏÎÎÏÏÏÏÏÏÏÏÎÎÎÎÍÍÍÍÍÍÍÌÌÍÎÎÍÍÎÎÎÏÏÏɹ¡¦š|ƒzƒwecdr|o``png]Z\_`[[XR_ia^UQPS[Z`jliRS]b[SRNST[bf`YROMCA97854177ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÎÍÍÍÍÎÎÎÎÏÏÏΦŒ‰uqpronnpv€y`cceg^]]^]]WVV_f\\ZWTTWUY^leRSZ^WNNPUS_ccc[TIEB>:74421/2ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÉÄÇÄÊÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎÌ·™}orx{wmjf_i\dff\[ZX`[UYhhVSVYYVQNWR\jTQVXZRPTRR\cabYVVOH?<97521..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÅÃËÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌÌÌËÌÌÍÍÍÍÌο•Ž„„ven~rfkb`bWje][VUQ_c^`so^TQW]WNKVSR[TZ]YWQQTW\_\Y\TRYRJB@@=651.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ¾¿ÊÑÐÏÏÏÏÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÎÍÌÌÉËÌÌÌÍÌËÉŦŽ~|ulcltqede_Y^aUU]VTS[ghhieiWRWZUQTWTUZS[^aXUVU[]^[YVTQRQKAC@8662.1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɽÂÁÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÎÍËÉËÌÌÎÏÍÊÆóœ{|th[Wdc]bdc_d^XXTNPTZ`cgia]TQQQOOUSTS`OVX[ZZ\[^]_ZURTRSMFEBC>641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈÀÊÅÈÏÏÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍÌÉÆÇÅÈÉÊÍÍËÅÀ¼­‘~rXTUTPUYorhcd^[MEBO[S]dc^XUTONMKONROZNTWXYW\]\\]ZUQSPWQEFB><51///ÏÏÎÏÏÏÏÏÏÏÏÐÐÏÏÈÀÊÅÇÎÏÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÌÉÉÉÊÃÁ¼ÄÁÅÂÆËÉÆ¿±¡§‘‚}u_VZZYfibpjg_YWTSUUbUR^_VRXXTOLIQRU[YRSY[WVXZXSS]XSYSXXB98321//..ÏÎÒÒÓÑÎÎÎÍÌËËÌÍÇÀÊÆÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÆÅÆÄÅ¿»±Â¼Ã½ÀÉ¿»©ŒŠtŠe`b]]io[q^X_WRUW_]ZQRUZTSUXXNLNTSS[f^QX[XWWW[VP^\Y\]PE=8751/.-..ÐÛèììãÒÍÌÈÃÂÃÆÉÅÁÊÆÃËÍÍÍÍÍÎÎÎÎÎÏÏÎÏÏÏÏÏÌÆÄÀ¹¾¼´§¾·Á¼ºÅº»·š†~plgfgcX\e_Xg[U]aSSVZ_XWUQPPOOPUZWRTRRTe]O[^ZSOPZ[TYYSQLB9==:72/---.ÞîáÑÕêæ춶º½ÂÅÅËÈÄÊÌÌÍÌÌÍÌÌÌÌÌÍÌÍÊÊÉÇƸ¯¬²³«£­°º¸·½°°¦…z{xqmVbg_[eZS]j_Y`\OSTW_bcVRONNQROVXMPUPR_a[b_VQMP[YUZRQ[KDC=<;97300..íÔ‹sy°éÙ¸²±²¶¸ÀÆÇÌÊÅËÍÍÍÎÍÌÊËËËÌÍÌËÇÅÂÀ¶¦¡Ÿ¦¨Ÿœ¤°¯²¯¬¨›ˆypmioo_ZYWadXW^^\aZTXVTVXc\TUQPSWTTUXURXRR[c\aYY[Y^`VUZYTSC@G<977764111äuvsÓç¹°¯±´µÀÄÈËÊÅËÎÎÎÎÍÇÃÊÌËËÌÉĺ·µ¹¼­¢š’œ ›˜¨µ«¯¨ž•ziefYicUOINYcZST_habn_ad_UYQRQPQSXUUUVYU\RQ``_g\caji`TQONKLC?A8855654003̇‚yŽÇêÀ­­²²´¼½ÄÊÉÄÊÏÎÎÍËûÈÌËÈż¬£ Ÿ¦§œž˜‹•—•£¬¬¢—’‘ˆvdfk]]XQSRQZb`[ioaSXeSZrq]SQMNNMKLPPOOPS[VX`WT[Zbi`]ZQKMJHGDIA8555554017½…‰„ŒÂéǦª±³´¸¸ÀÊȾÂÊËÌÍËÀ¶ÇËÇÁµ¨Ÿ¡ ˜™˜ˆ”˜’Ž•›“Œ‹‡€vxteZVX[[RY^ZU_j]US`hgde]TTNLLKKJIHHNNT_^Z]XS^hijX^WQWTKKC@B;864434547=¶„†††ÀçÚ¾µ°²±¯¸Ä½°²¶¹ÀÀƾ²ÁŶ­¤¢ ¢—˜“‡‚…„Ž‡‚‰‹ˆ………ƒ{yseZXWX`ZVZXSZhTQR`jgWUZXTPNNLLKHKIKSV^bUZSSnsgibb^V`ZTUJ?<;:8543365;?Ų¯†‘ÂåììäÇÁ­¦¤«­£ ¡¢¦©¬¾µ©­²š—  š› ”•Ž†…†ƒ„‡„~„‰Š†ƒ~€~wvrkcZT[i]UWWW`]QZ\`a]UTSTSOMPQNNRRJFMQV`STO_dcb\ej_TU][JTH===:556589<>ÂÂÀ“ˆ“Áåëçæå뺠¦®¤žž¡§¬¬³¹¶³²°¬«¯¯®­®¨¦ –‹ˆ…‚„„}‡†ƒƒ{|{ytmkg]WZRZ^YW\\^\Y]\^`[WSLVVONPMGGJIDCHKKTNRS]aa[`qa_S[`]KGC??=95667:=@@¾¿¾˜Œ•ÂäìÕÇâêŶÄƹ¹µ±®ž˜—„€ƒ†xuwxy}„•š—‰†ƒ…„}‰„~‚{zwtsomg\^dab\VV[Y``c\U]YZ_\URMOORMFGGDBFHGGTLTX\W__a_ViaY[[TMHFF;87678;?GH¾¾¿š–ÂãìâÚèéààãâäåäˆ[YZYX[zœyZTTU^b^[VPq…‚……~Œ„|€{ytuuqidY[fd^VXSU^fdgZPVVh_c[PQQPKJGJOFAFKMNYXbefbeklh\abVTZ]TGCA<;9878<@JE½½¿ž“ŸÂãíìíìëìíííîíò¿RMiv€‰ƒO?73467SjmokSI~ƒ‚‡ŠŒ…|}zzywyvcYT[\\Y[ZQZ^_bhgjqrpT\_VQTSJGGJiu‰‘—š›œŸžŸŸžœ”Šzd]TC<;<=<;::9=>>=ÅÇɾ½ÄÎßëëëëëëêçççåâG`ž¨­°¯“€aLRXQSNA>AKOaƒ‚Š‹‡‰…{y{|wxra[]^WXXYY`[SPasƒxha`fTWPNSUONJj‘‚Šƒ}ywtrrpppnnqsu}wm\G>:9;;::::;>?>=åççæææèèêëëéåáÛÓÏËÇ´lYR—¯©¢£œ¯·ƒ•[^WD968dSz„ˆŠ‚…ƒyuxywvuh_`\QR\[\_VU_fkdaX^cdVYOMPUNLH€oSVUVVXMGHHGFFJSUVVWVRQ=:987::989;?@@?îíììììììììêäÚËÅÁ¿¼°šZk:BNKC\^i}v|mWV\eN57`fh„„…ƒ€€xtw{yurmh_WPNZZ[WVY`^ZLZb\]Z[`XNNUQNM}Xw††Š•s>;98;E@KURQUTVSLivY4M”‹Y‚‚ƒ€||rqy{|ulccXRRIDNXWX[]QNMVY]_W[b_TNNMK_‚ežµ³°¬©•S@7>JMTXKC?=DoX?86X‹>89:<a_w‚ƒ‚„}zyplqy{rid`TSTKKRWZ]WTTRTX[ZYY\a]UNHG@qzcYwdUMJOTL=DLNTO<:;;;PfD97Sr?99;<=BIJI‘ÇÊÊɵ®®£•Œ‰ˆˆˆ‡„‡g‚S8:g”ZF?=61rwlƒƒ}ywsvprwskh`TXYWZ\a]XJITZ`[\[ZYZ^WPIDDFnX>H666:NWRLNSRRF:<<<;CiJ;3…ÙN59;<>CILL»»º¹¹ª”ŒŒˆ…„„„„€eŠIGFc‰—cG;66;DB>e¡ƒ>64\b„‚€ywwvmnunkibT`k]XT[\ZRQW[^b`[Z][XQJEA@Tž`M=B6:BBHIEM¡Ÿœ¤®°µ½¿ÀÀ¿½°zz|iKQPhˆlMIEDDDB?>eq=95J›a}xjn}|z{xnlplkfe_iqc[PR\]WTV[[`[Y\cZQMKJGHušSF;?8VqbB>645?FA=BDD<8<\T@=fŒJ;=<@FKKDUŒŽ¨·«¢˜“ŽŽ£‡NEqzZwPfMgVNKSY[VRNMYs†]C>8DwKkQ<98VSAG]RJA=<>ELQXb~…„‘NHIKWLGGG=67HSD=;=8=<>G[HIXH>:9N^clji€Ÿ›§ZVJ@GSQKA:>665Jng}~}~}„†¤‡…Š…„ƒ‚}ttra]\YXUUY\SQXYRNOV\YZ\cy‚Œ¬~h`c]\[Yhi`^\[[[[[\\bh`ZZZ]]UR…“†€qpsqojvž´¸ºº»½¿ÁÁÂÃÂŤ{f{¨±y53445557:<761gŠcŒ°·º¿ÀÉPCM|€caO:9;6:ELmYhhgedeggilpsvvxxvsrppq`P^\[ÊâÞãò®NCT³h<‹¸‹:f´Q;^ÐëÙØÜ—LMXXXX]YXXXW{{zwrnlkkkloopqqS532135AC[_[ky€¯Ú |šhcSTI6::9999QZRI9:@D@=EAjXgjjifggfdefilnruwwwwuu`GPVN|”³¿ÚøC@»Rªê¯Pº“HE˜ýÖ¨ŒnZPKSVVW\YXXXXzzyywsnkihhklnopM10479?EN[m•ÇÍÑáìß½›[gMF@DROC>;656686L`z®òöׇ“™‚LLJJKORPMHOJA;9UŽnh“£ŒwTDEEQYTKEFT^LGRgx……Ž—žœ¢ ®«—Š|xnjgfeccbaaacg`C?ILPUY_n{„Œ·ÆÇÌÐËËËÊ”~xo`XTPKPehhfdb^XYYnorsttutsrmiecceM54/5KÈÚ}lvŠrjur‚Žug`_]\[ZZ\]b‡™¦­²³­©¨£¢ œš››£©¬nnonnkfdcccb`a\A=AD<:97V]KrfZ[[[[[[[[†nc]TQNMLNNObZKLJJJIIIIHIXkklnonmkihhj_:;LOSUY`ibUPW~‘Š‡ƒ~XFHYhb[USNVnnonmmkjgfdgkmprstuutsqpkhK481//026;<>=9<:9;:;:::::::;Oeghiknnmigg^7:IMS‚†g^PD1//2@LFVE@C<:BMYi¡˜THaªwmnnnmjhadgjmopqstttsrojJ49144..,,-.--./\Š‚€‡bZ[[[Zƒ_<<==>?@A@953,+,+.bƒ‡¤ÖОe]_^kG==DEEFEEB?z@A@<:7777777>@Pgihgeegihi^/9C@L„~abgR<=;>ACCACDD?=The`lkJBKjyÆÒÁxnnÄ`ehjlmopssrrofE3942?HGA75.0279X}xnÆìäåšchg‰€=?68::99<=>UN>HMQ84356666FS]iqqidbdfhiijihilrrk_RG@@Ieedu¡ËÖÖrÊ¿v_ehjlnnpqqqmbI453343440036898InaM·çÂëÏnrsžc==47::::<>=99Tlg]79JF@7658B>Wlkjheb`cf^-47545:>GJNONNLJJJIHGFDC@=;841=?Hillhg¥ÄÒ»Àδf\cgikmnnqqmg\H=;;;;;:989::98HWOHeˆ€ÜÊt‹¡J@944AcR6:>966FKPZ_]\P86A@Sf;54;dcVL+35-'5@>====<;;:;;;;=>@AABE*#,05=_ghjjkjjjgT¾ÊÇv[cfhikmnnoonlkjhecb`_`bcceRCHHLRI=>BvŸXBD6536_dZM121-07643321100/.---,,-../-$&1119]``cgikkjkZx¯Áϱf^dfhkmmnoponmlkheca``aaadP?FGKP@@TIO[G=ITkMAAAA@?>98656>BD@NQJIH>8>;==:4;NghfZG82124555666533323555458=@ABFGGHRkicabehijjZ[z¹ÆÍŸaaegjklmnooonmmkifca``_`dMV;G@>;BE:::8889;@CA==<:9998889AIIGABFGDCBBBDFFFEDCDDALj=<;;;;<;::::;::;;=>>>>==Girhgghhhhhiijjjiihhhebcdgilkkgc`^______]^aeiknnpqqsqpiXROi°ÃÐÅw`dfhkllmmnnnnmljga]C,666303O|ŠcL=<<<<==<:9888876888898889;;;<>CID\]egfffgggggiiihiijihfdcbchklkjfaa_____^]^_afklnooqonoeTVi‹¾ÉÔ¸kaegijklmlmnnnmkg_Q;-55=5:8LlhQGMJ>>>:;=;;<>??GVHFFFEDCEFK`‹©•– ªGGdgnomegfffhhhhiijiijfcbacfjkmlifccaabaa`_^_dhjlknoooj[QTU’ÆÈÓ¨badefgijjklmmmkidT:,31.5B?NTUZ­¨Ÿ—½µfLLKILPO\…^WVXUSRMJ¡êìàÁÃ×ÓA?do¼ÙÔcfffgggghhiijjhecbabfkmllkhfcbbbbb`]\\_ehjqssqphUNMY¥ÇÎÓ]bdefhijjkkllkjg_F1.-,.+*KICSÝÕËÁÊÙòÕXIU^cc‰Ÿššž kXWS@EŒÛåÕÞëí¨fgeeabegecdefeefghiihhgfda_^bjkmmkifdba^\[[[[[\^qommlmh^RNN˜ÇÊÕ¥^adfhhiijjklkjiea\VUTSTQIC3:Qy‡ŒŠww‹f><<:U•¦¤¢zABACGyšu^TI@854;fghifed‹xcdeeddefgghhgggeda__dgklkigdb`^[[ZZ[[[[oihjked`UOLh¸ÆÏÍw[cghghhijklkkjgeb_]\[ZULB2898=EJVm¶z?M_cf£”…‡ƒaI¨{eTIA:40:eggfeedecbbdeccdefffggghgfdb`_aeijjhfc`^\[[[[[[[njijrpkdUNNO‰ÃÇÕ¯aafgggghikkkkkjheda_^^WQA156;?GO\o‰g§åçèéíííîïðñ‘eµ£{dSIA<83:chgfffeemnqecccceeeeggggggfdb`_abhkjjgc_]\\[[[[[ooijsrrkVOOL[©ÅÌÓ’dadffghjjkkkkkigeca^^WRB238>@HP[o‹¹¿g¯ñíìëëëìëäèí„lÈ£‚gWNC=;/1=ciihggggeghdedddeeeffghggghiihfec`_`ejkkje__^_^\rplkoommlneNML_«ÃË׎_egggijkklmlkjjjheb]7:>627NT?99FHdc6:;:?FC<8732:hBHD63šÛ/3Acihhhggeeededccceeeeeeggfffgghgfda_]`dhjlkd`_^]\ppnhknqurqjSKMM|¾ÃÒÅsbfggijkkllllkllkif_<>>7.TÌè|38MJCpT@@DGOOMKIIJxmXS;34„ƒJ06Caihhgggffggfccccdeeeeefgfghgghhgfc`]]`dhkmjgb^]]nhhkkmruuttaML[j›ÁÇÕ®edffhklmmmmnmmlkjibIO<81@m`249sQhrqvž~{|wz~NnW434.,/29Bahggeeedddddb`_`aacffffffgggfghhgfda^_aeilmljga_mnmmrroorstmVLNO\¨ÆËÕ•bffhjkllmmmmmlkjjf=?<=45/04757TGFQTUrqpXTZgJDBHHL65552/./6^mnosuy|€€‚‚}—´»¥habfeefghhhggghgfdb`_afjllllfc|vusxumlnnlniNJLKp»ÃÏÌxaefhhhijklllkkkkg3,>623343347GKJNQYa\qjYXTLGGBB>0./,0ASj‚š§­°²´µ¶¶´µµµ´¸¾Ä©•‚ieeffggggffgfffec_]afilnnli|€uonkjlmmlgSLMMM’ÁÄÖ°b`cfgghhijjkkkkh`2+<0-.-+++**-.--*)(())'&&&&%$$&&$>o•¬³´²®ª§¤ž›™——”’’““”’’”§§‚deefffggfffffgffa_^aeimnomwwuwvpnknoommg[NMKd·ÁËÔ‚Zaeffgggiiiifd]V2(9,)*()++,--+*+,,,,+-/146777;>?BEECCCDEFFEFDDEDEDCCC?v¦‚zqkgca_]]]^]fh[[YWXXWXYXY[aleddedffeeeefeeeeda_\]bilmntponmnkillnnnjTLKMhºÇÏÕ‹_deghgghiihhih[<,8/1.*/1000001111110..--,+***(1Œ€^\[YXXXWWYVNGgoCFW_`bcba`]YLPgddddefeefffffeefcb_]]cilpnpvtpmoppiilkkUKKOO“ÇÇÔºcabdfggggghgfdZB02.11,%$####""!!"##"!!"!"#"""E¨`JUZ\dinlmm`GJNQUTW^]TRRSSRWgA[adeddeeeffgffffgeeb_]^dhmnpsponqttpilmhXMKMLd¹ÈÍÔŠaffghhhgggged\R?/-.//*)+++*****+,-.1122454573t•Fbv‰Œ’—œ£¡n†‡tˆjONG4122345o\Kdfedeeeffgffeeeeecb_]_enmnorutquommlmpfQKMNMŽÉÊÔÁlefhhhhgfgffc^YRHCCBAAACCCCBBBCDDEGIIIJKJIIHK‘oH~‚½¾ÀÁÃÃÃþ£ÙÈŸ¸…NQ@2333454Qt?°šcccdcdefeeedddeeedb^]`mswtprrorlkkjlrdNLMMK_·ËÍÕ˜bfhhhihhfggea]YTQOONMMNNNNNOQUVWXYZ[ZYYXVVRe•TYmqÉÄÄÅÅÄÅƺƒ§¡ˆkOL62223346;75>ACAGUMMNJ411233334Jt:Vbdcccbddccccccddddccbaurnnmwqtmuxwvx€n_SLLMM}ÅÇÐÓ‡dghhhihhiihfdcbbb`_]\[ZZZ[]_acghgdddcaa`b‹fA|‹U;8:::9432219]8787211233633<|GIadeddcddcccccccdddcccb…€}yy|ymksyxz~xh_SKKLMU£ÉÈ×»jdfgggghiihgeeddcb`_]\[Z[[^_``bbbaabb``^gzYG…J88:;:6111004N214<<6247?F>22p\=`a``egedcccccccddccccc‡v€{vtmnvpmlslfedVLLK^e½ÅÍØ’`eeeeggghhhgeeeedba_][Y[[\^_``aaaaaa`^`qyPS~R123BML>6200/.,..:HJHGHIKMH5.Tl7^aUWZaedcdedcdeedcbcdd‚€zz€{srtdbkq{tmngYMLLZ`\šÅÅ×Âibddegggghggggfffeca_\ZZ[[\^````aa``]Z}ƒ“N^c4<;AOPPKD90/0CKLNNILNNNNNNK80?k5YlU`YS`feffdceeedcccdd……†‡‡‡‡‡‡‡‡‡‡†††††‡‡‡‡‡‡‡‡‡‡†„‚|wutttvxxxxxy{{zvuwzz{{zyz|~€€€†††††††††††††…………††††††††††††„‚~zvtsttvxxxwvyzzywuvvxyyxwx{}€€€………†………††…†…………………†…†…††………††„‚‚|vuvuvwyyxxwy{zyxvvuwyywxxy|~€€€…………………††††………………………………………………ƒ‚{yywvy{zxwwyz{zywvvwxxwxyy|}€€€†…„„………†††…††………………†…„…„„„„„„‚€|zxwxy{zxxxzz{zyvvxwxxxxyz~~€€€…ƒ‚ƒ„„„…………†……„……………„‚ƒƒ‚‚‚ƒ‚€€}~|yxwxyzyyz||zzxywvxyzyyxz|~~€ƒ„„ƒƒƒ„…………………„††††„‚€€‚}~}}{yxwwwwxy{{{{zyxwwwwxxyyy|~‚„…‚‚ƒ…………………„………„‚~~€€}||||zyxwwvuvy||{z{yxxwvuuwyyy}~€€€ƒ‚‚ƒ„…†‡†…„ƒ~}~}||}}~}||zz|{{yxwxwxxy||{{{zwxwvuuvwx{~€~€~~†ŒŒŠŠŠ‰‰‡‰‚zz{{|zyyxy{z{zyxxyyzz{}|||zzyxxvuvuvz~}~€€~~€€€…Š‡‡‰ˆˆŠ‹Œ|z{zzyxwwy{z{{ywwwxxz{|}‚ƒ„ƒ„€~zvz~~}~~€€€€€€„„‚ƒ„„…‡‡‰‰xxvvvvvvy{zzzyvuvwyz{|€ƒ‡‡ˆ‹ŒŒŒ‹‹‡|~€~~}~~~~~~~€„†………††…‚†‡‚wttuvuvvy{{zyxzzyyyz{~‚ƒƒƒ„‡ŠŠŠŒŒƒ†€~}}~~~~}||}}€…‡…†ˆˆˆ…„ˆ„xssttuuvyyzyyz{{yyz{|„‡‡‡†‡‰‰‰ŠŒ„€†€}|}~~~~…†…†‡ˆˆ‡„‰…zvusstuvxxxyyzzzyyz|~€…‰‹‡‡‰Šˆ‰‰‹Œ…€~~~|z~}„„……„‚…ˆ‡‡‡‡‡†ˆ……‰‰…ƒ€zyvuuwxxyyyzyxxy|}€†‰Š‰‰Š‹ŠŠ‹Š‹†€~~~{wr}~ƒ‡ˆˆ‡‡‡‹ŽŽŽ‹‹‹Ž’’‘‘Ž‹~wxxxyzzyyxz|~€‡ˆˆ‰ˆ‡‡‡‡ˆˆˆˆƒ~zysol……††††ˆŒŠ‹‹ŠŠ‰‰‹ŒŽŒŒŽŽŽ‹|yy{|z{zyyxtz„†ˆ†‡Š‰ˆ‡‡‰‡…ˆ„uifjkk„„……‡‡‡‡‡‡€„††‡††‰Œ…}{}„†„~}ˆˆƒ‚‚~~|x|„ƒ{yzywvvxxy||vkkmlk‡††‡ˆ‰ˆˆ‡…€‚ƒ‚ƒ„…ˆ‹†ƒ€‡‰„}~€…Š‡„ƒƒ„„„„„„ƒ‚„ƒ€}yxwutvwx{}}|€}w‰ˆ‡ˆˆˆˆˆ†„ƒƒƒƒƒ‚ƒ‡‹‡‰ˆ‡ˆ‰ˆ…††‡Š‡…„„„ƒƒ‚ƒ‚ƒƒ€€~}~‚€}|ƒ†……‡‰‰‰ˆˆ‡ˆˆ†ƒ„†……‚‚‚†‰…†‡ˆˆŠ‹ˆ‚„ˆ‰‡……„ƒƒƒƒ‚‚ƒ{uuvyy{~}|{xutw‚……„†‰‰‰‰‰‡‡ˆ†‚ƒƒƒ‚€€‚‡Œ‰ˆˆ‰‰ˆ‰ˆ‡‰ŠŠŠˆ††…ƒƒƒ‚‚ƒ{tstuz~~{wsqrv€‚‚ƒ‰‰‰‰‰ˆˆ†…‚‚‚‚ƒƒƒˆ’””””Ž’““‘‘‘‘Œƒ‚ƒ‚ztsty‚ƒ€€}urswˆŠŠ‰‰‰‰‡„‚‚‚‚‚ƒ‚„‹Ž““’‘ŽŽŽŽ‡‚‚‚~yxw|‚‚{xxz~…ˆ‰‰‰‰Š‰„‚ƒ‚‚‚‚…‹…„‹Œ‹‹‹Œ‹ŠŠŠŒŒŒ‹ˆ„„ƒƒ‚€~~~~~~€‚€†‡ˆˆ‰‹‹†‚„ƒƒƒƒ…‰~ƒŠŠ‰Š‰ŠŒ‹‰‰Š‹‹ŒŒ‰‡††…‚‚€€€€††„‚€}€„‡ˆ‰ŠŠˆƒƒƒƒƒƒƒ„†ƒ€‚ˆ‰‰Š‡†Š‹Šˆ‰ˆˆ‰Š‰ˆˆˆ‡†„‚ƒƒ„ƒƒƒƒƒƒƒ€€†‡ˆ‡„||†ˆ‰ŠŠŠ‰ˆ‡„„……„„„ƒƒ†ˆ‰‰†„ˆŠŠˆ‡‡‡‡‰‰ˆ‡†‡ˆ†ƒ††††††††……‚€…‡‰‰‡}}~ƒ‡‰‰Š‹‹‹Š‡……†„ƒ„ƒ„†ˆˆˆˆˆˆ‰Š‰Š‹ŠŠ‰‰ˆ‡†‡‰‡ƒ‚‚‚€€‚‚€€‚„††{~}}„‰‰ŠŠ‹‹‹‰‡††„ƒƒ‚ƒ‡ŒŒ‘‘‘’“””““‘Š†ˆ‰ˆ†…ƒƒ‚€€€‚‚€€€ƒƒu}}†‰‰Š‹‹‹Š‰‡†„‚‚‚ˆ’•˜———–•–––—˜˜—‘‡ˆ‰‰ˆ‡‡‡†„€€€‚‚‚€€€€oz€~‚‡‰‰ŠŠ‹ŠŠ‰†„ˆ‘“”“’ŽŽŽŽŽˆˆˆ‰ˆ‡ˆˆˆ†ƒ€€€€‚‚‚‚‚€€hm{}{~ƒ‡‰‰ŠŠŠŠŠˆ…‚„„‰‹Š‰‰‰ˆˆ‡‡‡………‰Œˆ‡ˆ‡ˆ‰‰ˆˆˆˆˆ‡„ƒ‚‚ƒ‚‚€jhp{}~…ˆ‰‰‰‰Š‹Š†‚„„†„ƒ…ƒƒƒ‚‚„„‚‚…ˆ†…†‡……ˆˆˆˆˆˆ‰ˆ…ƒ€ƒƒ„ƒljkw€~~‚‡‰Š‰‰ŠŠŠˆ„ƒ‚„‰Š„€‚„€…ˆ†ƒˆˆ‡‡ˆˆˆˆˆ‰‰‰†ƒ‚‚„†…mlls€}~…‰Š‰‰‰‰ŠŠ‡…ƒ‚ƒ††‚‚‚€€‚‚‚‚‡‰ˆˆ†‡ˆ‡ˆ‰‰‡‡†ƒ‚…†‡lkimy€~|€‡ŠŠŠŠŠŠ‹Š‰…ƒ‚€€€€€€€€€€‚‚‚‡ˆˆˆ…ƒ†‡ˆ‰ˆ‡‡ˆˆ…‚€‚…‡‡kjhhjy€}}ƒ‰ŠŠŠ‹‹Œ‹Šˆ‚‚‚‚€‚€€€€€€‚‚‡ˆˆˆ‡†‡ˆˆ‰ˆˆˆˆˆˆ…‚ƒ††kkhfes€~}~…Š‹ŠŠ‹‹ŠŠˆ„€‚‚‚€‚€€€€€€‚†‰ˆ‡‡‡‡ˆˆˆˆˆˆˆˆˆˆ†ƒ‚€„„kiffek{€~}†‰ŠŠ‹‹ŠŠ‰…€€€€€€€‚‚„……‰ŠŠŠŠŠŠˆ‡ˆˆˆˆˆˆˆˆˆ†ƒ‚‚ggggfhp}€~~ƒˆŠŠŠŠŠŒŒ†€‚‚‚‚‚‚‚‚ƒ„„……†Š‹Š‹‹Š‰‰ˆˆˆˆˆ‰ˆˆˆˆˆˆˆ‡†ƒ‚€€hhgggggu}ˆŠŠŠŠ‹Œ‡€‚ƒ………………††‡††ˆˆ†„‚‚€€€€€‚ˆˆˆ‰‰ˆ‰‡‡†ƒ€ihgfgghr~…Š‹ŠŠ‹‹Š†ƒƒƒƒƒƒƒƒ‚‚‚ƒ‡ƒ€€€‚ƒ†‡†††‡ˆˆˆ‰ˆˆ‰ˆˆ‰‰„ihgfghho}€~€†Œ‹ŠŠ‹Šˆ„‚‚‚‚‚‚‚‚‚‚ƒƒƒ„‡ƒ€‚ƒ‡Š‰‰‰ˆˆ‡‡‰‰ˆ‰‰ˆˆ‰ˆ„jjihghhju~‚Š‹ŠŠŠŠ‰‡‡……………………†‡‡‡††ƒƒƒ‚ƒ††ˆ‰‰‰‰‰‰‡‡‡‰‰ˆ‰‰‰ˆ‰‰‡lkijkkiio}‚€†Š‹ŠŠŠ‹‹‹ˆ‡‡†‡ˆ‡ˆŠ‰‰‰‡†ƒ†‡†ˆ‰‰‰‰‰‰‰‰‰‡‡‡…‡‰‰‰‰‰‰‰‰lllmonlns|€}}‚ˆŠ‰‰‰‹‹‹‰ˆ‡‡‡ˆˆ‰Šˆ…†ˆ„ƒ‡††ˆ‰‰‡‡ˆ‡†‡ˆ‡††ww‡‰‰‰‰‰‰‰{{zz{{{zzzz{{zzzzzzzzzzzzzzz|ƒ†…ƒ…††‡ˆ‡††‡‰ˆ†‡‡‡‡‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ…„ƒ„…†‡†……†ˆˆ‡†††††††††††…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{zzzzz‚‚‚……ƒ„……††……‡‡ˆ‡††††……†‡‡††…„‚‚zzzyyyyzzzzyyyyyyyyzzz{|{||z|‚‚…„„„……………†ˆ‡††……„…„…‡‡‡‡†„ƒ‚‚€€y||zzzzzzzzzyyyyyyyz{{}~|}||€‚„„„„……†……†ˆ‡††…„………†‡‡‡‡†ƒ‚‚€{€€~|}}{yyzzzzzzzzz{}}~~}~ƒ‚‚ƒ…„„„……‡††ˆˆ‡………„……††‡‡†……‚‚‚€€‚€€|{yzzz||{{{|}~€€€€‚„…ƒ„„†…„„„…††‡ˆ†††……„„…‡†‡‡‡…„‚‚€„€€~}|{zyz}}|~‚ƒ‚€‚ƒ………†„……………„„…‡‡†………„……†‡†‡‡†…„‚ƒ‚€€€€~|{{~~‚ƒ„…„„ƒƒ„ƒ„…‡†††………………„…††‡†…„„………††‡‡†…„„‚‚‚ƒ‚ƒ‚€€€€~}}}}}~~„„„…„…‡‡††††……„………………†…„ƒ„„„………‡†…„ƒƒ‚‚‚‚ƒƒ‚€€€€}}}€~}}}~‚„„…„„†‡‡†††…………………†…†…ƒƒ…‡ˆˆ‰Š‹Šˆ…‚ƒ‚‚‚‚ƒ€€‚‚‚}|{z{zy|~}…††‡‡†ˆˆ‡††……„…………‡…………œœœœœœ•ƒƒƒ‚‚ƒ‚„……‚~{}}yyxx~}€††‡ˆˆ‡ˆ‰‡†…………„…‡‡ˆ†††ˆ…~|||{{}Š‚‚‚ƒ…€‚ƒ„…††ƒ}|‚€yxwz‚€}€…†‡‡‡‡ˆ‰‡†…„„„…†ˆˆ‰‡…„‰|~}{zzzzzy‰†‚ƒ…€‚ƒƒ„„†‚{|€yy{|ƒ‚~~„†‡ˆˆ‡ˆˆ‡†„ƒ„„…‡ˆˆˆŒŽ†ˆ~{€{{{{zzy…Ž•‰‚……†…~€‚„}}~~}|~}‚~}€‚‚„‡‡ˆ‡†††„„„…‡‡‡‡œ¸Š|z~}y{||{zxž·˜€‚ƒƒ†…|xyz}~}{|}||}}}~}zy{||{z{{€†…†…„„…‡‡ˆˆ’¡˜•‹’™–‡€‚ƒƒ‚€€~}}ƒ|}}}~}}|{{{|}{{{~„„…„…„…ˆˆ††ƒ‹ª±¶±­²¶·µ±²¼¶³’€€€€~‹…~€€|||}}|~||}~€‚‚€„…„ƒ†ƒ¹ÌÐÑÐÓÔÕÓÑÒÒÍÁ‚€€}€€~~„„ƒ‚ƒƒ|||}~{z{|~~€€‚ƒ——¥°¶»½¼º·®¡“Šž…{}€~~€‚ƒ‚ƒ„|||}~{yz|~~||~€€‚§¤Š~€…‚……ƒ……}‰¢²…€€{{|€€~€‚ƒ„|||||{||~„|}~€€€€€¬Íȶ´º¢‰‰³¿¶ÈѾ…€€{{{{}€€€€€„ˆ†‚~{|||||}}~€}||||}~€€~¬ÏÐÎĶ¤’˜®ÁÌÒм…€€€~}|||}€€€€‚ƒƒ…„‚}zywwwyzzzzyyyyyyy}‚‚~§ÐÑˤ‡‚‚€†’¸ÓÒº…€}}}}~€€€}{zxwxz{{z{{|{{{{{{‚‚‚šÀ¸¶†€…ˆ‡Šˆ~˜¹·«ƒ‚ƒ‚‚€~}}}~€€€€€€}€|yz||||||}|{{{z{~€‚…Œ‰‹‚‚€‚‚„‰…„‚‚†‹‚ƒ€~}}}~€€€€}„‚|{|}}}{{{||{{zz|€€‚‚€ƒ€€€€ƒƒƒ„ƒ~}}~€€€€€€}€‚‚~||}€€|{{{||{{z{}€€‚€€€€‚€‚…„‚€~}}~~~€€€€€~€}|~€|||||{{zz}}~€€~~€€€‘‰‚€~}~}}~€€€€€€}|}}{z{{{{{{||~€‚‚‚‚€€€‚‚ƒ€~…„ƒ‚€}}}}}~€€€€€€€~||{{zxxwwxxwwxyy}~}~€€‚‚‚‚‚ƒ‚‚€„„ƒƒƒ}}~}}}~€€€€€}yxxwvutuvwwvvwwvy~~}~~€€‚‚‚‚‚‚ƒ‚‚‚ƒƒ‚‚‚€}}}}|}}€€‚~yxyyyzzz{{{{{z{z{~~~~€‚‚‚‚‚ƒ‚‚‚|~ŽŒ‚‚~}}}}}~~€€€€€~‚~~€„ˆ„~~~~~€‚ƒ‚‚‚}|‡ˆ‚ƒ}~}}}|}€€€~€ƒ…‡‡‚€‚ƒƒƒ‚‚†‡†„‚~~~~~~~€€‚‚‚}}‚ƒƒ‚€}}}}}~€€€€…‡ˆ„‚‚„„…†…„ƒ††„~~~~~€~‚„ƒƒƒ~}}}}}}€€€‚ƒƒƒ…†‡‡‡…‚€€‚~~€~~~}~}~€€€€‚€}„ƒƒ‚‚€~}}}}}~€€€€‚…ƒƒ‚‚~~€~~~~}}~€€€€€‚€{{}ƒ‚‚~}}}}|}~€€€‚ƒ††ˆ‰‰‰ˆ„ƒƒ‚ƒ€~~€€€~~~~~~~€€€€€~zyz„“‰‚~}}}}}}}€‚†ƒƒƒƒƒƒƒ‚‚…ƒ‚ƒƒ€~~~~~~~~~~}~€€€~yxy}…‰‡ƒ€~}}}}}}~€…ƒ‚‚‚‚ƒ‚„ƒ‚€€€‚‚‚‚ƒƒ€~~~~}}~~€~zxx{ƒƒ‚‚~~~}}}~€€€€€€€€…™Ÿ§ª­°²³²²®˜~~~~~~~~€~zyxyzƒ‚‚‚€~}}}}}}€~~~~€}´ÇÊÈÇÇÀ¹½¼ºº»´†}~~~~~}~€‚‚~zxy{z~ƒ‚‚‚€~}}}}}}€€€€€€€‚›—‡‚~}|}}}}}~}~~~~~‚~|y{|{}ƒ‚‚‚~}}}}}~€€€|xvwxxxyyyz{{{{}~~~}~~}~||~~~€‚‚‚‚~}}}}}}~€€€€€€€€€~~|||}}}{zzzz{|{{}~}|~}~~}~ƒ‚ƒƒƒ‚‚‚„ƒ€~~~~}}~}€€€~}~‚€~}~~||{|}{|•~~}}~~~ˆ‰‰ˆ‡……†…‚™~}}}||}}~~}Œ Š€„€€~}}}||||||{}ƒÇÏ‹}~}}}~}ÑÑÑÑÑÑÑÑÑÑÑÑÑÐÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈ¿³²¦ “€xjnxnjjoosgjeY^b_^d_W]b_aXSQV\]bgcfVUZYWWVT[WSYa^^YVMC@:<;544?4ÐÐÐÐÐÐÐÐÐÐÐÐÐÏÏÊÃÇÅËÎÏÎÎÏÏÏÏÏÏÏÏÎÎÎÎÍÍÍÍÍÍÍÌÌÍÎÎÍÍÎÎÎÏÏÏɹŸ¢™zztdbbr~q``pmg\Z]_`[ZWR`ha^UQPSZY`jliRS]bZSQNST[bf`YROLCA97754177ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÎÍÍÍÍÎÎÎÎÏÏÏÍĪŒŠuopqpoqtv|x`dcdg]]]]]]VUV_e[\ZWTTVUY]jeRSY]WNNPTS_ccc\TIEC>:74421/2ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÉÄÇÃÊÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͹™}osyyv€€iic_hZdfe\ZYW`[UYigVRUYYVPMWR[iTQUXZRPTRR\caaYVVOH?<97521..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÃÂÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌÌÌËÌÌÍÍÍÍÌÎÁ•Ž„†scm|pejc`aXjc[ZUUQ_d_asn_TQW]WNKVSRZTZ]YWPQTW\_\Y\TRYRJA@@=651.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ½¾ÊÑÐÏÏÏÏÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÎÍÌÌÉËÌÌÌÍÌËÈÅ©{yrkckrqece_X_`UT\UTS[gghjdhVRVYUQTWTUZSZ^aXUVU[]^[YVTPRQKAC@8662.1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɽÂÀÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÎÍËÉËÌÌÎÏÍÉÆó||tfZUb`[`dd_d_XXSMOTZ`bgi`\TQPPONTRTR_NUWZ[Z\[^]^ZURSRSMFECC>641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ÊÅÈÏÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍËÈÅÆÄÈÈÊÍÍËľ»­‘‚|rXTUSOVXoshcd^ZNECO[S\dc]WUSOMMKNLROYNTWXXW\]\[]ZUQSPWQEFB><51///ÏÏÎÎÏÏÏÏÏÏÏÐÐÏÏÈÀÊÄÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍËÉÉÉÊÃÀ»ÃÀÄÁÅËÉÆ¿¯ž¦’‚v`UZ[Zfj`pjg_WVSSWWbUQ]_VQXXTNKIQRU\YRSY[WVXZXSR]XTYTXWB87321//..ÏÎÓÖÖÒÍÎÎÍÌËËÌÍÇÁÊÄÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÆÅÆÃÅ¿»±Â»Ã¼¿È¾º§Šˆ~rˆe`b\\hlYo^W_WQUW^\YQRUZTSTXXNLNTSSZf^PWZXWWWZVP^\Y[\NC<8751/.-..ÐÚèîíåÓÍÌÇÂÁÃÆÉÅÁÊÅÃËÍÍÍÍÍÎÎÎÎÎÎÏÎÏÏÏÏÏÌÆľ¸¾¼´¦¼µÀ»ºÄ¹»¶—…~~qjbefcW\c\We[U]`RSUY^XWUQPPOOPTZWRTRQSe\N[^ZROOZ[TXYQQK@9=<:72/---.ÞíâÕØéèÐÁºµµº½ÂÅÅËÈÄÊÌÌÍÌÌÍÌÌÌÌÌÌÌÍÊÊÉÇÆÀ·®ª±²ª¢«¯··¶¼¯­£„yzwqoXaf^ZeZS]j`Y_YNRSV^bcWRONNQSNUWMPUPR^`Zb^VQMP\YUZRP[JCD=;;97300..íØŒuz°êÛ·²°±µ·ÀÆÇÌÉÅËÍÍÍÎÍËÊËËËÌÌÌËÇÅÂÀµ¥¡¥¦ž›£°­°¯«§™…xolgom^YWVacXW[\[bXTYVTVWc[SUQPSWTTUXTQXRR[c[aYZ\Z_aVUYXTSB>F<867764101ç—tvsÓ軯¯°³µÀÄÈËÉÅËÎÎÎÎÌÇÂÊÌËÊËɸµ´¸»¬¡™‘›Ÿ›—¨µ«¯¨“yhdfXgcSNJNYcZSTai``m^`e_UYQRQPQRWTUUUZTZQQa`_h\cbkh`TQNMKKA?A8755654003Ï€†‚yŽÉì«­²²´¼½ÄÊÉÄÊÏÎÎÍ˹ÈÍËÆĺª¢ ž¥¥›—‹–—•£¬¬¢—’‘ˆvegk]\WSUSQZa`[in_RUcSYrp]SQMNNMKLOOONNRZVX_WTZZbj^\YQJMIGFCI@8555554017½„‰„ŒÄëȦª±³´··ÀÊǽÂÊÊÌÍÊ¿¶ÇËȽ³§ž  ˜™˜ŒŽ‡”—’•›“Œ‹‡€wxteZVX[\SX]YT]k]SQ^ihcc]TTNLLKKJIGHNNT^^X\XR^jijZ]WPWSKKB>B;864434547=»ŠŠ‡†ÁçÞÊĶ°±¯®¸Ä»¯±µ¸¿¿Ç½²Áź«¢¢œŸ¢—˜“‡‚…„Œ†‰‹ˆ………ƒ{xsd[YWXa[VYXSYgRPQ`hfVUZXTPNNLLJGKIKSV\bTYSSmqfgbc_UaZTUK>=<:8543365;?ɺ·Ž†’ÂæíîçÍÉ®¤£ªª¢ ¡£¦¨ª½¶©«®œ”Ÿšš ••Ž……†ƒ„‡ƒ}„‰Š†ƒ~€~wvrlcYT[h]UVWX`]QZ\_a\USRTSOMPQMNQQIFLPU_QSO^db`\hj]TU^[ISH===:556589<>ÀÁ¿”‰“Âæëæãæî¿¡¨±¥ Ÿ ¦©©¬±³²±°¬ª®¯®¬¬¥£œ“‹ˆ…‚„ƒ}‡†ƒƒ{|{ytmkg\X[SY^ZW][^\Y][]`\WSLVUONPMFGJIDCGJISMRT\_b\an^`S[`\LGC??=95667:=@@½¾¾˜Œ•ÃäìÔÂàê̾ÊÉ¿¿¸¸µ®¨§ –‹‰†€ƒ…‰Ž–ž Ž†ƒ„ƒ}‰„~‚{zwtsomg\^ecc[VVZY``c[U\VY`]VRMOOQMEFFDBFHGEQMUZ^W^ab]UgaY[[UNHFF;86678;?GH½¾¿š–ÃãìãÝèéææèæèèçé¸wec^XXe›˜oYYY[_^\\\dˆ‡ƒ„…~€Œ„|€{ytuuqidY[ec]VYRT^fdeXPUYk]c\PQQPKJGJQGAEIGIQS__[U]ehfZ`aVSY]SFBA=;:878<@JE½½À¡—£Ââìììëëìììíîíîè‰GWeow~fMF;787Elook`Fa„‚†Š‚~Œ…|}zzywyvcYT[[[Y\ZRZ\\aijmrtnTZ^UPSSJHHLU^jv‡‘•–™™—˜š››š‘Ž‡znbTC;;<=<;::9=>>=ËÎÏÆÆËÐÝêëëëëëèåäâáäÄ_H~œ¤§«˜vcFDLLMQIFFLRLw„Š‹‡‰…{y{|wxra[]^WXXYYaZRQas‚ue_`gSVPMRUONLDmŠŽ™”‹…ƒ|~|{zyxxy|‡kJ>:9;;::9:;>?>=éêêéèèéèêëìéãßØÑÌÇÿ–RUz¶µ±¯ª¦À€™i[ZH964K^`‡‰Š‚…ƒyuxywvuh_`\QR\Z\^VU`eia`Y^ccVYOMOTNKFCiYYWUUUNMOMLKKNUUUVXVSM999999989;?A@?ñíìììììíììêäØÆÁ¾»¹®§y]UA`bW\kgŒ‡€‹bWU]W<5@tV„…ƒ€€xtw{yurmh_WPNYYZUVY_\XLZa[]Y[`YMMTQOKR€Tntvz€ƒX:;:9:;DTY\^]iaL:4fˆ<899:sxHOQQQSUTNOxmH6`Ž}b‚‚‚„}zyplqy{rid`TSTKLSWZ\UQTSUX[ZYY\a]UMFFEBmemˆykc^ZSF;FMOVM;::<;[^@6ZC89:<=BIJIŸÄËÉȲª¦œ’Š††‡‡†…ƒ}h{77Dˆ—kKE@@BQSPIh‚W63GŽ^€€ƒ|ywsvprwskiaTWYXZ\a]WJITZ`[][ZYZ^WOHDCBM—dT@F455CILL¶ºº¸·©™”—˜˜–•“Ž†€rwm>EM€”‰LA756DGDH‡a56;Œiu€~ywwvmnuojicU`m^XTY\[TRW[^c`[Z][XPIDAA>dšYF@?79;=PR@CHIEMŸœ™œ£¼ÊÌËÌÎÎÎÍÊ»Ž}~l‡dINRv‡]KHCBA@=9Cˆ—Q:75}i~vt}|z{xnlpljfe_hpc[PR\]VTU[[`[Y]cZQKFEDEH„Q@><9ReNB?636DKA>CED:8?bN=<@FLLDUƒŽ¢¡‰~tqpmmqz{]d„`„a]Xcm_KLRUVQRJQdŠ„N>;6lvZtIBU€z}~slmmnje^^Y^[PQXXQPV\\\[\^^UTOMRUTb—xKCDB?q‡v?<756879?@AA;7:\L@JZXP>;>ELQYbv…ƒ“‘ICGP_VMOLA77EhLE@EADG]\NI<6<:BD55?zvwwphhioxj[WWTTRPWXQP[^\Y\a^ZSSTRT_lu”`IWLGCVrVAGA5347AHJIJHA9TJAPf\P<8>KM[cgr€Ÿ}PIAUng]SE?;743OK<:::;<976557889899?IPUdrxxy~£žš’Š‡}pjbVV\XY[SQSQTR[a^eaXWUPKIOZemWJ‡^>??HADJIQ]^a_LDECB@;>BRHPNG::Q`emjiw¾Ã­^UMHAJKIC=:8A~UMN==<;:999998889996P˜¦¨©ª¨¥¥¤¢ŸŸ¡£¦¦¡}bXRY\^]YSNPXW]ccc\SSVTMHCGTNUsiZPD?EKMLMO\defbPGHDBGWat„i–qZZ^rsutoj~äì½u}„‚„‡Œ‹‰‡…ƒ·ŠID9;<:876777866777<”{vtqonlkljijjklntˆo_XZ[[WSOPOTZ\UX[WPRXUQZ__—šm|ywoiXUdmmlmjiihhjmmcX`ilv‡›˜Œ†|{tsrks¡¾ËÓÍÏÒÓÔÔÕÕÖÕÕíƒSND6886554567;7674c›bhopqqqy„¨ª‰‚|ywvupqyb]^YXW\bdZU\]WPQWc]Z\dz…}œ§viec]][Znleba_____`ahna[Z[`aUXŠŽ…onrpojr{—­²¹¿ÁÃÃÅÆÇÆÅŸwbŸŠ?35554467A9666|l„“–™œœ–o`]Nz¡¢¢Ÿ›™‡uivssqt|Š“”‹Š“˜–Ž˜´Ÿ†‚‚~z|Œ™o\V[\ZYY\[YXWWXXWWXWYZXXZZZXTL{…}thjtumjssqstvyz|}}€‚„{]t¥¶¹}=02233575682G‘]¼Ó×ÛÜßÊlXPLpÔâÝÚÚÝ´u\vzyz{zyyyxz{}}†Š“£´¶¯¡’vv‡g[RVWVXZYXYXYYYYYZZZYZZ[YXXUUM\onhahtrwxsqonnqrsuvwvvvvvvtHfªÈºÛ›bQHKNK<~l>Ii~^xÓäáàßã½bbhXgÒâÞÛÝäºdibpmqsuuvwxxxvutusqrx€›¬Špxdjna]c]]]][Z[[[\]]]Z\\[YrvoƒMMYYXSY_eqywsqommoopssssrrqh\>CŽÖÝöíµy^`r•b¾šTzme^¢¸¶¾ÄdžR\ucc¹áÙÓÇ»ŠGrYjgfhiilnqtwwwvttrqppqqtcjk\ˆÁ¨ ÑORTgbVW`hYVWm_KLpÛÔÈήNM[ZXVUWYX[{xtrnllllnoqrrrqgI;4NšŸ³Ö»žfhh^~ïÖap˜agMYH?EII@Jc’jann[TK?@>h]dihedeffgknqtvwxvrrpppqYWdV{×ßÜîèFBn£LCƒ l9d«N:]ÎïÜãèœKMYXX\ZXXXW{{zwrnlkkkloopqqd=62156DR[xYbpo‰áÔy}–WgLd=7978:=Pxe^J87;<;DDXe]jjjgggfddegjmptwwwvutsWIWUV°¹ËÒêãcBH¶ŽJÂê¢F²•GDªûÕ½¥‘dNLUVW\YXXXXzzyywsnkihhklnoq`61267:>EP]q›¯·ÃÛÙ½£…WcF@8?C>9978@?>87B^b<;=DjXjlmlifecccbbceiostvwxyXDLQQR\€“ÝèRHsÚ‚‘À–Ò]R_Ÿâ·raTTPJSUUWZVWWWxxxxxvsmjhhhijkn_50157>EQ`{“Ýòîðòóï±s\\ILITWPGD>555678W‘ŠB?;8fVeihlmkhfedcabbcglnqstxY@FLPQUVb†oppf½çËÑÆç¤mqolqh[ZVTNLTTSW[UVVVtvwxxwvsojgfgghk`60126=DZuœ¯Úòñßµ®»¡fTUNNKJKLMLH<879:J]jMMI>PO_`srlnmkhfdcbbbabdhknsX@DJNQVZaacdiowŠÁÛáÔµ„upmlhf_ZVQLO__][YWVVVprtuuuutrnifdccg`61137BaRK[f´ÝÓ‹‚š•eADDGRXQHFGVH@8;FRUYUQOSTS]nl¥Šhhmopkgfdbbba`abflX@BIMPVYan{…‹¤¬²¾Ä¹µ²­Œƒyo_XTPKQeggdc_YYYmorsttutsrmiecbd]7403>„å‘KIXjb^ar‘“|nSPOSWVPMOS[kXbsˆ˜¢£¤¦¦ª¯­¬­­°©¤¢˜€vonmjedccdc``dW>@JMPUX`owyv”åìéèçììíì‘rrrk_XTPKShhhgfeb^]kmpstuvvutrokfdd\8;107~É‘s~š•š™^\Œ{r`a`_^^^^_]u‘ª­­«¦¡™“‘Š‰‡ˆ‰Œ”›¡˜lqnnomkggghfddU9?KMPSX`mppl™ðïìëìðððð’llmj_WSPLUllkjijieciknpstuvvutrpkfe\8<2/17JM>@JJBB?AYTas[]]]]\\\\b{‚yphcb]YX]XVUSSSSX[^cdypknonmkihhhhU6?MOSSVbjgdc}ÆÕÎËËËÍÍÄvXZdi_VSRMWmnomlkjgfdgkmorrsuutsqplh[4;1/0027=@@ABDH_|[nvXYYZ[ZZZZf…[TNKJJKKKKN`PFFEEEDDDCBBNbgghknnlhfegS3?KNTnqc`Q=0/6?FGIRHFB40>>>=;;;:58789:98888988:NfhffhjjigeeQ/?HGfÑœeUQNJKLI_`ZaWWXPMOWUq×¼Q@cÆǯ•|ronlŽ_dgilmoqsttsrqo_3<45I@52./-++,)Av’‚‚›©•c\\\[f†G<>@@ABDDA?[M;<<;:8788879>C^kigeeghhhgP+?DAb¶ˆ``bG?BACCDA=@A@<8Pe`c…KBNw”ÁÓŦ}nnȆ`ehjlmoprsrrqk[2;51=OJF<91+,-,Ds‡zÚæØš`aa`„x=<=CCCCBB>I˜i=A@>86677768@@QkkhedcdggiP*;?>CT]`gmdROOTWY\]^__^aorl`ULDBLddq›Å×ÉŸvÉÄ{^dgikmnppqqpfU28425:<=52147:>Cfy`Šéàáâˆgnoœ[>;589:99<=?G@FU\T54466766;ACcnkieaacdhQ)8969?FQ^dffeba_^^^][ZYZXTNF@98;Jhlifxž¿Ò¿ͺi[cfiklmnpqpi]F822322210012226Y`KdÓ»Êò¤jyƒœEA858;;;:==<9=adbN5ASI@7658A>UmmkjgdcceR(73D9**+--,,,++*)((*('&%'.)()8XHGimkkhfp“¿¬ÄѨa^dgijlmnookg\TMLMNMNNOOPOPPHSLKJ^c–ØŽ®­†94.,,,,+++-3:CLYhT&)@JBFilkkkigfp|¶ÈЖ[`eghkklnnmligcb_^^_^]_`afh^JHJJMU`rˆÖª¦g<>44?v„l=66312235;CGMW[XT@4;AB_hIDAQj^WE'76.+=A?@@>=;::::;;=98?q„|N>;211236CFOP]_][H57B@R_865;b_UE*62.0:;::998876654443355443%%132=]adgikkjk\{®À͸j]dfhkmmnopomlljhdca__abbb_ECHHOP@=>Ar’E?AKcDEJHDBA611128HIPMbc[SH64@=A>4528bhaO61-,031/-,,,+****)**)))*.10.1655Egfabehiij[\y¸ÆΧcaegiklmnooonmlkheb`````b^@AHHNK:JUFPQ?=O\bB@@@A@?=;8658>CAAKLFGE?:?;HKCNA;9A=7987889;AD@>><:999889:BIIGB=Fddjjiiheda^^]^^_bfhgec_\\\\\[\[Z\]bgkmnnnqrqpngcbe]SPW–½ÆÇ~W^`cgijlmnoonnmkgd`_``b\8@IHKOVXq©¥XU9:<;:::;<=?BHIFEEDDFGIKKHGGHDTmIHhˆ|Y‡ÆŸT‡dCDPTW[^abfhkmooooooppqrqqotmn`]mgghhhhgghhhhgedbbcehiheba_]]]^^][\^bhkmopqrsttsnlbSNKq¶ÁÌ°d_cegijklnnooonlifc``a[5=HF‘ßÇpi³ŒOˆfavuutpomkhgecba`_^_]^^`ceidgxmdggggghhhhhhjjhgdcbaeikkjhc`^^__`_^\]`eilnoqsstsroqhSMO‡¼ÄÑ›]ceghikkmmnoonlkiea_`Z5:BGa´ÆƒO‰€_‰|i_d\WVSRPOOONKKKIIJKJKLLLNQPSU_ubfgghhggghhjjjihfdcbbdgjlkida_^_`aa_^^^agklnopqrqmqw_QOXÁÊΆ^dfgijklmnoonmlkhda`Z24;CIUfoU^{ojXPKLLIGECBAABAA?>>>?@??@@ABCBBCF]nigghhggghhjjjjiigfecbcfikkkhc`^______]]`dhknnpqqsqpjYRNh°ÃÏÉ|`efhjklmmnonnmljgcaZ038;>=?N[w‡mOABAAA@>><;:::;;:999:<::;;>>=>=<?AIPIZcgospefgffghhhhiijiifcaacfjlmlifccaaaaa`^]_chjlknoooj[QTU’ÆÇÓ¯c`cefhijkklmmmlieXG.3475Vo_MHTIAEB;<>===?@ANZGFCBABCFGWx¤·žŸ«¼JFo¾ÝÚ“dfffggggghijjjiecbabfjmmlkhfcbcbba_\\\^dhjqssqphUNMY¥ÇÎÓ’\adefhijjkllmljibL.11./9==SRQr»¨ªÉ¿›nLMLLNQOg€_ZXUTTRLN¾óìáÇÊÜØE=e…¬¨–gbcegffffghijiigedbabcimnnlifccbb`^\[[[]`dqrrttwiUPKo¾ÊÑÇs_cefhijjkkklljidX@/-,-,&.QD>{ïÍÍÌßéúÃLHW^bc—›š£ŸŸ^VURL;4`ÙôñèâéÚŒV35426q‚†…l>-..9]t€¤¨Ÿ‘zN8<_œ©¥ k?CBCJ„’o[SI?654831=fgggfeeprvfbcccdeefffggggfdb`_`cikjjgc_]\\[[[[[ooijsrrkVOOL[¦ÄËÔšeadffghjjkkkkjigec`^^]RS:276=AJRawšÆwr¿ìêììïîïïðòë‚lºšwaQG@<62=fhggggg³áã´ibcceeeffffgghhfec``_djklliea\\]]\\\lsnkrrtti^QNMq·ÅÐÌy^dffghjjkkkkkkifdb`^^RS;038?@KSaw”Æ®gÅñíëëêëìëáéèuyÇœ}dVLB<;=Dehhhggd~ÄÉÁ€_cceeefffghhhhiifdba`dgjmkie_]^]]]\uxqoqrqppr\NMQÃÇÕ¶dcffghjjjkkkkkjhgeb`_QH;>E;?CKSay—ƼZÀôððïîðñòñóïqÒ¤y]LA6121?eihhgggegheedcceeeffghggfgiihfec`_`ejkkjd__^_^\rpmkoommlmeNLL_«ÃÊב_egggijkklllkkjihebaO;<>7356:DPdƒ¶Î^™ÔÑÎËÏÉÁº²¨šP~†WB54=K@/1@eiiigffeddedccceeeeeeggfffgghgfda_]`dhjlkd`_^]\ppnhknqurqkSKMM|¾ÃÒÈubfggijkklllllkkjiecQ3=<41;OP;8;HMuZ8BCBDME?;831=h>IC66¨Ý.3Cehhhhgfeeeeccccdeeeeefgfghgghhgfc`]]`dhkmjgb^]]nhgkkmruuutaML[j›ÁÇÔ±fdffhklllmmmnmlkjgfS9>=5,tÕß]5;QDJrKAACFOPLIGHI{daS937“†M05Edihhhhffffedcbbdcdffffffgggfghhgfda^_aeilmljga_nnnmrroosrrmWLNO\ªÆÊÕ—aefhjkklmmmmmlkjihTOF<70PŠ°R23BuHv‹qprŠ“zzz{w|}KwT333.,018Ecihhhhgfgggf`Äűqcefeefghhhggghgfdb`_afjllllfc|vusxumlnnlniNJLKr½ÂÎÎ{_cehhhijklllkjjjjW:@<=33/3675;YCISV^|wv[XchKFFGHI55543335BageeddedfeeebtÇãà¢_cdeeffggggffgfffec_]afilnnli|€uonkjlmmlgSLMMO–ÁÃÖµb^bfgghhijjkkjjkkX'5<614444459JJLNQU^\teYXVMIFBB=0///,,.6Kp„‰“˜œžžžŸžœ ¨¥™shdeefffggfffffgffa_^aeimnomwwuwvpoknoommg[NMJd·ÁÊÕˆZaeffgggiiiijkjdR&4:/-.-,,+++00..-,**/,('('&&$%%&()7Wu ©±³¶µ²²±¯®¬¬¬¬¬«¨ª®±®qddeffggffffffffdb`]`dhmnnqwuvunpljmmmptkSLLN•ÄÇÕ¿gbehhgggiiihgfaXL&16**+(*++*,*)****++)*-/24445;=>8v¤³²­¨£Ÿ›—“Š†……€€€€…‡Ž–‡gddedffeeeefeeeeda_\]bilmntponmnkillnnnjTLKMgºÇÎÖ^deghgghiiifdc]Q*05+*'*;>?BEDDDCDDDEDDEEFFFECBB?s²œ“ˆ‚}wsnjgfdb_^_]]]^_^_``bfsqcdddefeefffffeefcb_]]cilpnpvtpmoppiilkkUKKOO“ÇÇÓ¾e`bdfggggghhhieR025//,*2212221122100100...,,+**0ˆojdb_][ZYYZ\YzwXZWTUVUVVVVVWbfdeddeeeffgffffgeeb_]^dhmnpsponqttpilmhXMKMLe»ÈÌÕ’bffghhhggggfebT921/21*&$####""!""#"""""!"#""" @¡iWWWUWZ\^_bWD=XW?@@@GsFr›dbcdcdefeeedddeeedb^]`mswtprrorlkkjlrdNLMMKa·ËÍÖ bfhhhihhfggea\VNB@>>>?ABBAAAAACCBDFEEGHHHGGFEŽwDx€˜  ¤©¯³º²€¥—‚™iNPE3223343eeI”ibbcccdeddddccddedc`^[qvwrkikpqlkmvuuh`ZNMNPŠËËÐÊydhhijihgggfc_[WRONMKKMMMMMMNPTVVVWXWXXXWUTQb—VWuÈÃÃÃÃÁÂö¨áƤ·}MO<2323344Gy=Qcbbcbbddccccccddddcb`]kklidccnmv}yxwsnqgPLNT`³ËÉÖ°hhhijiihgggeb`\ZXWWVUUUVUUVWX[`acefecba_^\W}ŠHk\}ËÅÆÆÅÄÃÂ¥h|qn[QK412222368sVE`dcdcbccccccbcddddccbaurnnmwqtmuxwvx€o`SLLMM~ÆÇÏÔŠdghhhihghhfdbaa``^]\YYYXYZ[]_bfijjigedcba]zBwIT‘ˆxoil`MIKMMOQK311222254Zm9Zddcccddcbbbbccdddcccb…€}yy|ymksyxz~xh_SKKLMU¤ÉÇÖ¾jceggfgghggeddcbba`^[[ZYYZ[^`aehhgeedbbaadŽeBzVD967653399:8EWGFHE311222224Cy96553202ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÊÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͸š{lqw{w~‚mif^i\aed\\[Y_ZUYefVTVYYUQMWS\kTQUXYRPSRQ[cabZVUMH?<97521..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÅÃÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌÌÌËÌÌÍÍÍÍÌÎÀ—Žƒ~vem~rejb`bWje_[VUQ^c]_tnZRQW]WNJUSR\TY\XWQPSVZ_\Z\TRYRJA?@<641.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ¾¿ÊÑÐÏÏÏÏÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÎÍÌÌÉËÌÌÌÍÌËÈƦ~}vkcmtqfde_Y^bWT]VTSZgghlfhXQW[VQSWTUYSZ_`XTUU[]^[YVTPRQKAB@9662.0ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏʽÂÀÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÎÍËÉËÌÌÎÏÍÉÆÄ´zzri]Xfe]bdb]d_XWVPQTZ`cgj`_TPQQONUSTR_OUX[[Y[Z^]^ZVRTQRNGECC=641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÀÊÅÈÏÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍËÈÅÆÄÈÈÊÍÍËÄ¿¾¯•‚~sXTTTPTWnrhcc^[OECN[T]de^YUSNMMJNLRNZOSWWYW\]\[]ZUQSPWQEFD?=51///ÏÏÎÎÎÏÏÏÏÏÐÐÐÏÏÉÀÊÄÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÌÊÉÉÊÃÀºÃÀÄÁÆËÊÇÀ²¤©“‚{t_UYXWdgcpkhaZWTRRTbVQ^_WQWXSNKHPQSYXRSY[XUXZWSS]XRWQXYC9:321//..ÏÎÒÖÕÏÎÎÎÍÍÌÌÍÎÇÁÊÄÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÅÅÆÅƾº¯Á¼Ã½ÁÉÿ¼¬ŒŒ„uŠ‚e]a^]goYo`W_WQUW^][RQU[TRUXXNKMTSS[e]QW[XWXWZVP]\Y^]QI=7641/.-..Î×æîìÞÏÍÍÉÄÃÄÈÊÅÁÊÅÂËÍÍÍÍÍÎÎÎÎÎÎÏÎÏÏÏÏÏÌÆÄÁ¹¿»³¥½¸À»»Å»»¹Ÿ‡~onlfedW[e`Wf\T]`SRVY]XUTQQPOOPTYVRTQQSe^MX]ZTQPY[SY[SPNC:<<962/---.ØëçÖÞîãÎŽ¶·»¿ÃÅÅËÈÄÊÌÌÍÌÌÍÌÌÌÌËÍÌÍÊÊÉÇÆú±«²³ª¡®°¸··¿±²«‰{{yrmVae^Yd[SZiaY_[NRTV^abWRONNPROUXMPUPR^`Xa`WPMMZZUYRO[KB@=<;87300..ëàšu€»ìÛ¹³°²¶·ÀÆÈÌÉÅËÍÍÍÎÍËÉËËËÌÌÌËÇÅÃÀ·§¢Ÿ¦¨žš¡¯¯±°¯§{qnjoq_[]Y`dXV^aZaXRWUSVWc]TUQPRVTSUXSQXRRZb[`YWZV[`WUZXTUCAH=987764110è›ssqŠÏè»°®°´µÀÄÈËÉÅËÎÎÎÎÍÇÁÊÌËÊÌËÆ¿ºº»¿¯¢›“¡œ˜¤´«¯©žž•}mhfXieYQJNYcYSR[fcal`__]TZQQQPQSXTUVWYTZQP_a`g\b`iiaUROPMLA=A8855654002Ѐ„€yˆÄéÀ­­±²´¼¾ÅÊÈÄÊÏÎÎÍʹÇÌËÇÇÀ²¥£¢©«ŸŸ˜Œ–—•¥²¬¥™“’‰wcch\]ZQPPQZb`[hpdTVeRYrp\SPMNNMJMPPQNPSZUW`XV]Zahb_[RKMIHHCGB8655554005¿…Š„~‡¾èħª±²´¸·ÀÊǾÃËËÌÍÊ¿µÆËÉÀ¸¬   ™›š’‘ˆ”š””š —Œ‹‡uvse[VX[[RY]ZU_j^TS^fefd]TSNLLKKJIGHNMS^]X\XRXehkX[VOSRJJB@E<864434536;½…†††‹ºåÓ¶¶³±²±¯¹Æ¾±³¸»ÁÁǽ²ÀÇÀ±¥£œŸ¢—˜”‡ƒ†„Ž‰ƒ‰Ž‘Œˆ†……ƒ{yrdXWWW`ZVYXSYiVPQ_jiXUZXTONMKLIGIHKSW]aTZURltgibb]Ub[SUH==;97433365;?ʲ°†ºâëéᎬ§¦¬®¥¢¢¤§ª¬¿·¨©±£›˜ š™ •–†„†ƒ„‡ƒ}„ŠŠ‡ƒ€wwslbZTZh^UVVV^_PWZ_a]UTSTSNMOQMMPQJELQVbTTO\edc^ci`UU\YJTG==<:55658895677:<>?½¾¿™Œ’½âìÕÄßìƱ¾Äµµ°³´¹·¯±²¯¬©¤£¢¤¥¦§¦©§¥ž†ƒ„ƒ}ˆ„~‚{zwusnmg[^d`a]WU[X__a[V^YY][URMOOQMDEFDCEHGDRKTY]Ycaa_VgaY[[SLGEE;86678;?EF½¾¿š”¾áíÞÐåéÝÛàßßàáãÜ°‹xomŽ|mfgifhnvŠ†ƒ„…~Œ„|€{ytuupjeZ\feaUWRT\fcfYQURcac[OPQPKIGHNHCHKHDNNW[[QZad_T`eWTZ\TGBB<;9878<@KG½½À’›¾àíìíìëìíìíîíîðÓuNSUX_bp‰lTIIJ\hf_YLYƒ†‰‚~Œ†|~zzxwyue[UZ]\Y\[PX^aaeabipsQ\_VQTSIFHOZSNOTXZdotrpow{||uusm]\UG<;==<;::9ÃÅÇ»ºÂÊÛëëëëëìêéèçææâžJRv…•VB6058:O_`bf\Dj…Š‹ˆ€‰…{yz|xxsaZZ]YYXYX^[TO_r‚{ng`dTVQMSUNMLHC^s‰šžžž›——š™™šœšš›š”\@:9<;::::;>>>=áääääåçæêëëéåãÝÖÑÌÉƺxGc¥±´´³£™}^ehVUN<7:AVRƒ‰Šƒ€…ƒyuxywvtg]`]SSZZ\`VT]dkidU\ceTVOMPTNKE>DŽy{zriebba```_]^abdfie]C976:9989;?@@>ñïíììììíìììæÛÍÇÃÁ½±¬ __KŠŸ”ˆ‰ ¸‡˜“XZTK>65^Xp‡†~ƒ€€yuxzxusmg`XON\[[WVX`_\NYb\]\Z^WMNTPLIJWˆPTXY]c_C@@@?>?CRVYZ[[PH6Vi98999;;CnR;Mm?99:<=BIJI•·ËËÊö­¬¢“Š†‡‡‡‡†„†iwX34a›qIOLLLQURJYyf>9H‚kp‚ƒƒ{ywruprwskhaUVXVY[a\YKGRY_Y[ZYX[_XQIEDDAKaXVZF@<;Mh=äU28=>AHIFN˜¨¥¦§·ÇÊËÌÎÎÎÎʾŸ€{dˆFIG_‡‹^I@:9;@=:_¡ˆA64M”^{}‚|yzvnlpljff]hscZOQ\]XUVZZb\Y[c[QKFBABB@‚€V;D98AG?LF64=RRD@BDD;9FfBuàZ6>=?GKKCSuŽŽ›žvnjkefjry‰€w{lŒLURp„fJIHHJIFCCh™wA:7@›ftt`dx{}~slmmnhd_a^a\QPXZRQU\[[ZZ^_VSMEDJLIZšmO@;?BCB:6=_CpÍ]SL<=DLQU_g……‹ŸVADN_aOPNH<mJeR::Zzzzskjlrvi[WUUUROVYQP[]\Y[a^ZRSUNPX^asšWJBGCGv‰b?@95666=BCBB?::[CzÅa[N;=HJVahd€‘›RNBJjlcXI@>96AKE::97:@?>?;;;=9:9>JHHD655:>5::\zvrmfdefodWW\WV[RRURST\][caYXTPLIITcr{H[rQECP[CEJD;<DEFC:775AC<[B===:99888788999968FS\l|ŠŒ‹˜§ª§£žš•‰~sbVRZ[]^XRNPWU\ecd]SSVTLE@JRV]mXSiF:9>CEHJMgtqreH?@=<<>EUliLPOTmptsnhbÁîË•~†‰‰ˆŠŒŠˆ‡”¦LR><<;9999888888888=œ¥¨¨¦¡žœ™–”“‘‘•—™œžœv]VY[\YWRPPWZ]Y[]XQQXUQWZSVt_`‚zh`UHNUYYX[]]]]\XWWPKUgqtx‡‰ƒ}|utrjc‰¬ÅÖÐÔ××ÖÖ×××Ö×е±\J76:97776667777784g¡ywurokiilpkhfdeghihpƒe[\YWSRTYQNTWQMOTVVYY^vƒ€w®švrqkfe[Zpspmmljiijlnrm^accmwdp‘ˆrqqonjiz“¹ÂÇÍÏÏÑÔ×Ø×ÕÕΪ—c]jQ854555456ÅÃßçzVX[sZ]¯MWm‹aj”éãáááß…ZaeSäàßÞáäl]hkgiklnpsvxwvuttrqpoprx~luoaƒ•qq~_Z[\[Z\]]\]^[[\XVY‘“Ž·’LQYXVUWZZ^{xsqmkllmopqrrrqm[H5IªÔâïå£laa{q—Øte}ZhdŸ›œ¥±£VVkz^vÊÐÈ»©–UWj[igedefgilpsuvwxvrrppppoZehSšÊÈÇë—LGJzkJPnxSG\‰OAJ”ïÝáÚžKOXX[YXXWU{{zvqnmlkkloppqqnS=50Ibh›¡„dph[µø™\„Z_QY79;<==Px‡bbbMDB;8BEoWhihffgfedgiknquwwwvusroRS`NãÞÛèë’E>o·MN§¼t7™š@@ŠíÞÑÒÑuKMVW][XXXXyzyywsnkihhkmnoonJ310246?@U\]n{‡°Û¦„šp`WSO59989::96899:78PqT7;8Sc]jmoljhfedcabbcglnqsuwuMBHNQOUb€Ä¬tcVqà™—«Ï®VcoŠ«…]YUSMLTTW]UVVVvwxxxwvsojgfgghilH0035:BQcz³ñïïòîõÒ“VhJNLNWTMHE:45578?nžf@@;DgThhhlomjhfdcbbbabeikpstN@HLPSWZ_baents±æàâäÙ†sngc^_^ZUPLP]\XWVVVVpruuuuutrnifdccejK01248=K_w™«óôë´˜¥©ˆMXLOLIKMMLLF;98;ASdxXLJFARObe~rllmkkhfdbbba`abglpO?FKNSW[ckrtuzƒ§ÀÈ´š…|xvtqj^YTOJRffca]XXXnorsttuttrmiecbcfJ1217>zˆA5>Sˆ„y–¢}O@DDNZXKFCQPE<:BNRQLGFFLKL]iqŸw^ejnpnmjedccdc``cgP=DJNRWZdt~ƒ„›ËÌËÏÒÑÐÏÉ€|vk^WSOJThhfeda^\knpstuvvusrokfdcdI5406RÕÕzjvvkoiw‘ŠucUTSVXURSUW^f]gw†š™ £©«©«®©ª¤Ÿ –€rmnomkggghfcacM:CJMPUYdqttq¦ïíééêîîðæ€llpj^WSOKVkkjiiiebiknpstuvvutrpkgedI9700<@E<:89USUmgZ\\\[[[[Xg‹‚”ˆ~umeb^]\^\ZXWWWWX[_de|jfhknnlhfeeeI4DMPSUZehZOMYƒ‰‡‡Šˆ†wI?GYfb]VRM_smmnnmjh`dhjlooqrtttsrplhF570./026;<<@BFSznb}dVXY[ZZZZWp‚^ZQNJJKKLLTeNKJIGGHFDCBDTghffhjjigebdF1CJM]‰vbVM;2124LINWFGF=>IKWp¯ŽOEp¹›…tqpnk~_egilmoqsttsrqokE48141-.,,-,,-./[Š‚rkf[ZZ[[Z]|VA@@??=<;;97879;:98898889<>>?@BDD?APA::<;:8798879?CakhecbcfgfgC,@AAd‘k`eeE;97?AA@@@CC>?ZieajaGCMd}«ÐÕºp˹n`egikmnpprqqkb?4841@HHB85./268]ƒx²ìãÂr_bcce=<@FEDCBBKlkjgi}¦Ë¯ÅИ]_egijlmmonlgWD<;9:;99:878897IaWFŠÊ¦çØrux‹Ž>A748:99:==;8Uk[hP4ALF=6448B?XlmllidcbfD(86XA+'*.)&%%$$$###$$'(,3?2&,HdGHjlkkifhz}·È͈Zbeghkklnnmkf_[ZWWWWWWWXY[\ZPMMKLXd¹²~§¯®vM@>TVOLD:45??KglmrphdbbA(85@BA<>D?9631110125>GNYcmZ$'37<44Cv€^766222235:CFNXZWP<2;ACahJFFUg[R:(62),>?====<;;;;;;;<>?ABADA$#,05A`ehjkkjkYz°ÂÏ­b_dfhkmmnopnlkkihea____`cdfPDHGLRW\e‡ˆ[›D?<77H„†~I=8212236AGPR_^][F47B@Ua754abbehijj\`€»Ç͘_aegiklmnonnmmlkgca___`aadO@GGKUS@=;:†„=@?LZAKPMDB?211139GKQPdbZRF75A>BB6627`haO92/.01111221/..-/0210./39<=?ABACSnjebbegiTLQ¾ÅË…\adfhjklmnnonmlkgda___`adL=GGISE:NMJ`TA>;=E?9;98899=AA===<9988778:CJIG@;L_`gjhggffcaaa`__acggec^]^\\\\\ZZ[\`ehlmmnpqrrplgcg[SNe«ÁÌ·i\adfhiklmnoonnljfca```cG9FIHLPTWs›†OD7:::999:;EM]neRouon]RNQMKHGEDCDCCA@@?@AAAAACCDEDDEIcnifgggffghihiiiiiigeaabdikljhd`______^^^^afjmnporpnpdTUiŒ¾ÊÔ´hadfikklmlmnnnmkifa_D,68;>>DW[t‚jNCDCCCA??<<<<<<;::::;;;;<;=>>>>>?Mmmfhedffffghhhhiikigdbaacgklmlhcb``aba`_^]`chjlloppoiZQVW•ÆÈÓ¢_aceggijjklmmmkjh`U=-6482..Dc–r[B======<:98888877888887889<<;:<@C@Vk²ÈÄ„cgggggggghijjihdbbabfjmmljhecbbbba_\\\_eikqssqoeSNM[¨ÆÍЇ\bdefhijjkllmljf`O9,5486A@CaxaK?A;999:<:99:<=>GIBCA@??@ACCSwŒœ™@J’ÃÀ¢gcdegffffghijiigedbaacimmmljfccbb`^\[[[]aeqrrtuwhUOKr¿ÊÒÁl`ceghiijkkklljhfZ<+10.2:9AW\Yl’“~‡—…cOHIGGIKHnwSNNNMNNMO¦Úçã¼ÀÔÏ?Affcdfcccdfeeefghihhhgfda_^bilnmkifdba][[[[[[\^qommmoi]RMO™ÇÊÕ ]adfhghijkklkkig_N6,---(%8RLCšèÁ¾ÅÞêê“GOZadgŽ“’•a_]X@P¬ðàÉÜéõ©;?hhfed†zcdddddefgggggggeda`_chklkigdb`][ZZYZ[[\pihjjed_TOLh¸ÆÐÌu\chhgghijjlkkjhb\M@@AABBAL<7€ìíéÏÉç߆H8A?;B‚†…†s;...6[q³´­œ†R7?fgfedigcbddccdeffffgghgfdb`_beijjhfca^\[[ZZ[[[njjjqnicVONO‰ÃÈÕ°aafgggghiijkjjieb]YXWVVVJK67O¢¤¦¦œy{lD478:kž¢fABAAM‚ŠjZRH@654>gggfedfgjcccccdeefffggggfdba_`cikjjgc_]\\[[[[[ooiisrriUNOL[¨ÅÌÓ“bbeffghjjjkjjjgec`^][[ZNM56;8;BIM]uš§]:FLI[†›~zjhmdOH ›u`QG>831=gggggg®ÓÖ¦fbcceeeffffgghhfeca`_djklliea\\]]\[[lrmkrrtsd[PNMu¹ÆÑÈr^dffghjjkkkkkjheda_^]\QP4488>BLTcz¤¼]lªËÏÓÙçàßäêìÛzk·˜t_OF>;51=fhhggdˆÓÖÈ}_cceeefffghhhhihfdba`cgjmkie_]^^]]\uyqnrrrqqr\NMR”ÄÇÖ®bcffghjjjkkkkkjhfda_^]QR4/39@ALTczœËvÖôïîíëííëãìäl‚Å—xaSKA=<=Eehhgggemnhfdcceeeffghggfghihgec`_`ejkkjd_^^_^\sqmlopmlkndNLLb®ÄÌÖ‹^egggijkklllkkiiheb`^MI7=C;@DMTb|œÎ `ÑòííííîïðïóèhˆÏ£}bQF;533Afiigffedddcdccdeeeeeggfffgghgfeb_]`dhjlkd`_^]\ponhlopsppiQKML}¿ÃÓÅoafggijkklllllkkjiea`G><@959=CL\v˜Ï¼WÁëæååéäØÎÆïUŽžhJ:7442/1@eihhgfeeeeccccdeeeeefgfgggghhhfca^]`dhkmjgb^]]oigkkmsvtts_ML[lŸÁÇÕ«cdffhklllmmmmmkkjgdcF6>822267:;CMcŠJKZZZ]gZIA<73:iAG?56·w-3Beihihffeeecc_]_`dffffffgggfghhgfdb^_aeilmljga_jmlkppoosrtlULOQ]ªÅËÕ”`dfhjkklmmmmmlkjifeG7>;4/vµ¤?8@P=Y`:;¶¬f/6Ccihhhgffeedaƒ­²¡hcefeffghhhggghgfeb`_afjllllfc|utrwtnlnnmnhNJLKs¼ÃÏÌw`cehhiijklmmlkkkihJS@;4/}º¿A47NcI†t]]^u~jdgklxˆPˆO2334..18Ecjihhhgffffb}Úðë¦beeffffggggffgffffc_]afilnnli{vnnkjlmmlgRLMMO–ÁÃÖ®_^bfgfhhjkklkkkkjjJH@<:346=653Ce@Zsns†„ebopTPICJH56533337Dcjihggggffedax‹…{eeeeeefffggfffffhgfb_^aeimnomxyxtupoknpomlf[NMJe¸ÁËÓZaeffghhijjjjjjjkI':<72544666=KFLJMScZoaY[YMLLJKB21122110:^geeffijkkkjjhcbabbbdedeffggffffffffdb`]`dhmnnqvuwyopljnnmptkSLLO˜ÄÇÖ¸ebfgghhhiiijjjkigH#871/000///3=;<=<<:;K<2/-,+*'(('()(',4?T|‘˜Ÿ£§©¬¬¬¬¬¬«¦¡¡–€pedeedffeeeefefeeda_\]bilmmurommnkiklnnnjTLKLh»ÇÏÕŠ_deghhhhiiiihg`ZD#63*++)(('&&$$$$$$$$#&(),-,,.3571.Hm‹Ÿ«³´´³±¬ª¨¦¥¥¥¤££¤¥¨«­®¤wbdddefeefffffeeecb_]]cilqooutpmoppiilkkUKKOO“ÇÇÔ¹c`bdfggghhihec_YG$52))',78:=?>>>===?@@BBCEFFEDEFDP‘¯³¬¦ ›˜“‹…‚{zzwuvvvuwy}Šˆideddeeeffgfffeeeeb_]_dhlnptqomqttpilmhWMKMLdºÈÍÓ†aefghhhggiihhhaK*62-+(.8678788875435455444321/.3‹«”‹€{volhecb`_]\\[[[[[[\]]_ckmbdddeeeffgffeeeeecb_^_enmnnrttquommlmpeQKMNN‘ÊÊÔ¼jefhhhhgfhhgfe`L15002/((%$$$%$$#####$#####$""!!:—}iea`]ZZYXXY[WwTUUUVWWWWVUUP]wfccdcdefeeedddeeedb_]`mqvsqsroslkkikrdOLMMK`·ËÍÔ”bfhhhihhggfec_UC0+-//)%%#"#$#$$&''''(()*+*,.0,`Ÿ\UTVVY[^`bdU@;OL<@ZgihfhhgdaWA…kabcccdeddddccddedca^[qwxslklpqlimvtuh`[NMNPˆËËÐÆuehhijihggffd_YRD9:999:;:::9:<=>>=??>>@AAABCC@‰„BVckqtvxyz~pVgijrfQQL<8999:?tNIcbbcbbddccccccddddcb`]lkmke`bnmuzwxwslqhQLNT_±ËÊרfhhijiihfffda]XTMLKIHIKKKJJJLNQRRRSSSTTSQPQOY™_Lˆ¢©©­²¶¹¿±ˆ³›ŠžjMPC2323453]n<[ccdcbddccccbcddddccbaspmljokrmvzxvw~p`TLLMM|ÆÇÐÑ‚cgghhhgfffec`]XWUTTSSSSSSSTUW[__`bca__][ZZVuŽHem¢ÇÃÃÃÂÁÁı©àÀ¤´|MN:2323355B|GOddcccedcbbbbccdddcccb…€{wy{znlryyzzh`TKKLMU¤ÉÈ׸gceffefffgfeca`_]\[[YWVWWXY[]`behjjhedca`_[{CxNÌÆÆÆÄ¿½›burjfWQI312222367oY@`ccccedccdccccddccccc‡wzuummuromsmebaVLKL\b€¾ÅÍØ‘`edeegggfffedcbba_^\[ZYYYZ]_`chjjigecba`_c•iD|=\ˆ‚zsja^bWLHKNMOQJ211122354Wo9Ycccdeeeeedcddddcbcddƒ€zzzrqthdjpzslniYLLLZa^™ÅÆ×Âjbddefggfffefeccb``^\[ZYYY]__`cdcbbbaaa`^kŒVJ{WB65655247776EWCBDA311222333B{@Mcdgggfeffdceeddcccdd……†‡‡‡‡‡‡‡‡‡‡†††††‡‡‡‡‡‡‡‡‡‡†„‚|vutttvxwxxxy{{zvuwzz{{zyz|~€€€€†††††††††††††…………††††††††††††„|zvtsttuxxxwvyzzywuvwxyyxwx{}€€€………†………††…†…………………†…†…††………††„‚|uuvvvwyzxxwy{zyxvvuwyywwxy|~€€€…………………††††………………………………………………„‚{yywvx{{xwwyz{zywvvwxxwxyy|~€€†…„…………†††…††………………†…„„„„„…„„‚€|zxwwy{{xxxzz{zyvvwwwxxxyz~~€€€…‚‚ƒ„„……………†……„……………„‚ƒƒ‚‚‚‚€€}~|yxwxy{yyz||zzxyvvxyzyyxz|~~€ƒƒ„ƒƒƒ„…†……………„…††…„‚€€‚}~}}{yxwwwxxy{{{{zyxwvwxxxyyz|~ƒ„…ƒ‚ƒ…………………„……„ƒƒ~~€~||||{yxvwvuwz||{z{yxxwvuuxyyz}~€€‚ƒ‚€‚ƒ„…†ˆ…„ƒ‚€||}|||}}~~||{{|{{yxwxwxxy||{{{zxxwvuuvwx{~€~€~~…‰ˆˆ†††„ƒ{z{{|{yyxy{y{zyxxyyzz{}||{zyxxxvuvuv{~}~€€~€€€ŠŒ‹‹Š‹Žy{zzyxxwy{y{{ywwwxxz{|}}}}}}{{zywz~~~}~~€€€€€‚‡ƒ‚„…†‡ˆˆ‹‡zxvvvvvvy{zzzyvuvwyz{|~…‡‡‰Š‹Œ‹Š‰‚~€~~}~~~~~~~‚†…„…„„…„…ˆ†zutuvuvvy{{zzxyyyyyz{~‚ƒ„„†‰ŠŠ‹ŒŒ‰…€€~}}~~~~}}}}}~ƒˆ‡…‡‡ˆ‡ƒ€ˆ†}ssttuuvyyzzzz{{yzzz|}„………†ˆŠ‰Š‹Šƒ‡€~}|‚}~~€€ƒ††…‡ˆˆˆƒˆˆtssstuvxwxyyzzzyyz|~~†‰Šˆ‡‰ˆˆ‰‰Œ‹„€~~~|z€}€…†…††„„††…††‡†„†‰ƒ|{xvutuwxxyyyzyxxy|~~‚‡ŠŠ‡‰‹‹ŠŠ‹Š‹†|}|ws~‚†‡‡‡ˆ‡‡ŒŒŒ‹‹‹Š‰Š‰ŠŒ‹Š‰†‚{wxxxyyzyyxz{}}‡‰ˆˆ‡‡ˆ‡ˆˆ‡ˆ†€zysom€„„„…………ŠŽŽ‹‹‹ŒŒŽ’’”“’““”•‘~xyzzzzzyxxuuƒ‡‰ˆˆ‰‰ˆˆ‰Š‰ˆŠƒpgjkl„„„„„…„„„‰†ƒˆˆˆ‡‡‰Œ‹ˆ†……‡ˆ†„ƒ‡ˆ‚‚~}|wt~…ƒ€€~}~€~~~qilkj‡††‡ˆˆˆˆ‡‡‚€„„„……‡‹‰{z€‡ˆ€|{€‰‰„ƒƒ…„„„ƒƒƒ‚…{vtstrrsttxz}~€|u‰ˆ‡ˆˆˆˆˆ‡†ƒ‚ƒ‚‚ƒƒ…‰‰…„‚„ˆˆ€‚ƒ‡ˆ…„„„ƒƒ‚ƒ‚‚ƒƒ„‚€~}{||}~€~~…†…†‰‰‰ˆˆ‡ˆˆ‡„„………„‚‚ƒ‰ˆ‡‰‰ˆˆŠ‰‡…‡‰ˆ……„„ƒƒƒ‚‚‚zx{||}}~~}zwy„……†‰‰‰‰‰‡‡‡‡ƒƒ……„‚€ƒ‰†…†‡ˆˆŠ‰…‚†‡‰†…„‚ƒƒƒ‚‚wrsuux{~}yvsrrx‚‚ƒ‰‰‰‰‰ˆˆ‡†ƒ‚‚‚„ŽŒ‹Œ‹‰‰‰‰ˆ‰Š‹Š‰‡†‚‚ƒ‚yrrtx€‚€~}ysrrxˆŠŠ‰‰‰‰‡…ƒ‚‚‚‚‚‚…Ž•–••”‘‘’”“““’‘‘Š‚‚‚zutu|ƒƒ€€€~xtuy~…‰‰‰‰‰Š‰…‚‚‚‚‚‚ƒ‡‘ŽŽŽŽŽŽŽ‡„„ƒ‚}|{}~~~€€}|}€†‡ˆˆ‰‹‹ˆ‚„ƒƒƒƒƒˆˆ„‹Œ‹‹‹‹‹ŠŠŠŠŒŒŒ‹ˆ‡†„‚‚‚€€~~†„€}€„‡ˆ‰ŠŠ‰ƒ„ƒƒƒƒƒ‡…‡Š‰‰‰‰ŠŒ‹‰‰‹‹‹Œ‹ˆˆˆ†…ƒƒ‚€‡ˆ‡„||†ˆ‰ŠŠŠ‡……„ƒ„„„……ƒ€…‡ˆŠŠ†‡‹‹Šˆˆˆˆ‰Š‰ˆ‡‡††„„†‡††…†‡†…„‚†‰‰‡}}~ƒ‡‰‰Š‹‹‹‰‡…………„„„ƒ„†ˆŠ‰……‰‰‰ˆ‡††‡‰‰ˆ‡†‡‰†‚ƒ„ƒƒ„„„„„ƒƒ‚€ƒ…†‡{~}}ƒˆ‰Š‹Œ‹‹‰‡††…ƒ„ƒƒ„†ˆ‰‰ˆ‰‰‰‰‰Š‹ŠŠ‰‰‰‡†ˆˆ†„ƒ‚‚€€€€€€ƒ„u}}†‰‰‰Š‹‹Š‰‡†…ƒƒƒ‚…‰ŒŒ‘“““’’Š‡‰‰ˆ‡†……ƒ€€‚‚€€€€€pz€~‚ˆ‰‰ŠŠ‹ŠŠ‰†…ƒ‚‚„‹‘‘–————–••––——˜—‘‡ˆ‰ˆˆˆˆ‡†ƒ€€‚‚‚€€hn{}z~ƒ‡‰‰ŠŠŠ‹Š‡†‚‚ƒ‹““””’‘‘ŽŽ‘‘ˆ‡‰ˆˆˆˆˆˆ†„ƒ‚‚ƒ‚‚€jir{}~…ˆ‰‰‰ŠŠ‹‰ˆ‚€„„…‹‹ŠŠ‰‰ˆˆ‡‡††††ˆˆ†‡ˆ……ˆˆˆˆˆˆ‰‡…ƒ€ƒƒ„ƒljlw€~~‚ˆ‰‰‰‰ŠŠŠ‰ƒƒƒ…†ƒ††ƒ„ƒ‚ƒ„ƒ‚‡†„„†‡‡‡ˆˆˆˆˆ‰‰‰†ƒ‚ƒƒ†…mlls€}~…‰Š‰ŠŠŠŠŠ…ƒ‚‚ƒ†Š‡‚‚‚€€€‚ƒƒƒ„‡ˆˆ†‡ˆ‡ˆ‰‰‡‡†ƒ‚„†‡lkiny€~|€‡ŠŠŠŠŠŠŠˆ†„ƒ‚‚„†„€‚‚‚‚€€‚‚‚‡ˆˆ„ƒ†‡ˆ‰ˆ‡‡ˆˆ…‚€‚…‡‡kjhhjy€}}ƒ‰ŠŠŠŠ‹‹‹‰‡ƒ‚ƒ‚€€‚‚‚‚‚€€‚‚‚‡ˆˆ‡†‡ˆˆ‰ˆˆˆˆˆˆ†ƒƒ††jkhfft€~}~…Š‹ŠŠ‹‹‹‹ˆ†‚‚‚€€€‚„‚€€€€‚‚‡ˆˆ‡‡‡‡‡ˆˆˆˆˆˆˆ‰†ƒ‚€„„kiffel|€~}†‰ŠŠ‹‹Š‹Šˆ‚‚‚€€€€€€€€‚‡‰ˆˆˆ‡…ƒ†ˆˆˆˆˆˆˆ‰†ƒ‚‚ggfgfhp}€~~ƒˆŠŠŠ‹‹‹‹‰ƒ€€€€€€€€€ƒ‚‚ƒƒ‡‰ˆˆ‰ˆ‡…‡‰‰ˆˆˆˆˆˆˆ†ƒ‚€€hghgghgu}‡ŠŠŠŠ‹‹ŒŠƒ€‚‚‚‚ƒ‚ƒ……„†‡ˆŠ‹‹ŒŒ‹‹‹‹‹Š‰ˆ‰‰ˆ‰ˆˆ†ƒ€€ihgfgghr~…Š‹ŠŠŠŒŒ„€‚„………………†‡‡‡‡ˆ‹‹Š‰‰‡††…„………‡ˆ‰‰ˆˆ‰ˆˆ‰‰…‚ihgfghho}€~€‡Œ‹ŠŠ‹‹‰„€‚„„„„„„„„ƒƒ‚…ˆ…ƒ‚€€€€€€€ƒ‡ˆ‰‰ˆ‰‰ˆˆ‰ˆ„jjihghhju~‚Š‹ŠŠ‹‰ˆ†ƒ‚‚‚‚‚‚‚‚‚‚‚ƒƒ„†ƒ€‚ƒ†ˆ‡‡‡ˆˆ‡‰‰ˆ‰‰‰ˆ‰‰‡lkjjjjiho}‚€†ŠŠŠŠŠ‰ˆ†……„„„……„„…†‡‡††ƒ€‚ƒ…‡ŠŠ‰‰‰‡‡‰‰‰‰‰‰‰‰‰‰llmmnnlns|€}}‚ˆŠ‰ŠŠŠŠŠ‰‡‡…†ˆ‡†ˆ‰ˆˆ‡‡…ƒ„ƒƒ…‡‡ˆ‰‰‰‰‰‰‡‡‡ˆˆ‰‰‰‰‰‰‰{{zz{{{zzzz{{zzzzzzzzzzzzzzz|ƒ†…ƒ…††‡‰‡††‡‰ˆ†‡‡‡‡‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ„„ƒ„…†‡††…†ˆˆ‡†††††††††††…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{zzzzz‚‚ƒ……ƒ„……††……‡‡‡†…†††……†‡‡†††„‚‚zzzyyyyyzzzyyyyyyyyzzz{|{||z|‚‚……„„……………†ˆ‡†„„„……„…‡‡‡‡†„ƒ‚‚€€x{|zyzzzzzzzyyyyyyyz{{|~||||~€‚„„„„……†……†ˆ‡†…„„………†‡‡‡‡†ƒ‚‚€z€€~||}{yyzzzzzzzz{{}}~}}ƒ‚ƒ…„„„……‡††‡ˆ‡………„………†‡‡†……‚‚‚€€‚€€|zyzzz||{{{||~€€€€€€‚„„ƒƒ„†…„„„…†††‡†††……„„…‡†‡‡‡…„‚‚€„€€€~}|{zyz}}|~€ƒ‚€‚ƒ…………„……………„„…†‡††……„……†‡†‡‡†…„‚ƒ‚€€€€~|{{~€ƒ„„…„„ƒƒƒƒ„…‡†††………………„…††‡†…„„………†††‡†……„‚‚‚ƒ‚ƒ‚€€€€€~||~}~€‚ƒ„„…„…‡‡††††……„………………†…„ƒ„„„†††ˆ††„ƒƒ‚‚‚‚ƒƒƒ€€€}}}~€€~~}|„„…„„‡†‡†††…………………†…†…ƒƒ„ƒƒ„……‡†…ƒ‚ƒ‚‚‚‚ƒ€€‚‚‚~}|{|}z{}~„…†‡‡†ˆˆ‡††……„…………‡…†…„„–š›››š›š™Ž‚‚ƒ‚‚ƒ‚„……ƒ|||zyzx{~}}„†‡ˆˆ‡ˆ‰‡†…„……„…†‡ˆ††††‡ŽŠˆ††…„„‡‡ˆ‚ƒ…€‚ƒ„…††…€{}{xww}}~ƒ†‡‡‡‡ˆ‰‡‡…„„……†ˆˆ‰ˆ‡……ˆ~{||zyzyyyz‹…‚ƒ…‚‚ƒ„……~{}ƒ{xyz„~‡‡‡‡‡ˆˆ‡†„ƒ„„…‡ˆˆˆˆ†„„ˆ}}€~|{zzzzyŠŠƒ‚………„‚}}}~‚…|}|{|}€„}„…†‰ˆˆ‡†††„„„…‡‡ˆ‡†š¨Ž†{|€}y{z|{yy‚­”ƒ„†…ƒ}yyz|€}|}}}}}~~€~{}ƒ‚ƒ……†…„ƒ…†‡ˆˆ‡ž°›Ž~‚€ƒƒƒƒƒ‰•§Ž‚ƒƒ‚€€€€~|}|||}}}}}}|yz{{{yyxz‚……„…„…ˆˆ††ƒ‚…¡¤¥  £§§¥¢¥ª¥ ‡}€€€‚€~~~}†‰~~}|||||}~~}€ƒ‚‚€„…„„†ƒ™ÁÇÉÃÂÆÊËÉÃÇÍÉÆ—~€€}€~~~€„‡‚€€‚‚€~|||}}{||~~€€ƒ†—¥¹ÅÎÐÑÒÑÎÍÉÀ±Ÿ™{}€~~~€„ƒ‚‚„‚~||}~}yy{}~}~€€€€€‡¦‡~„“–”‘…€}Ž¨‚€{{|€~€€€€‚„}|||}}zy{~€}}}€€€€†¸¿¬•™‰„††ž¤™³Æ¸‚€{{{{}€€~€€€~€ƒ„„|||||||||„~}}€€€„»ÑÑÌÈë‘¡ÂÊÎÔÒ·‚€€~||||}€€€€‚ƒ‡‰„€{{z{{{|}|~}}|{|}~‚‚€‚·ÐÏɱ˜ˆˆ‡‡–®ÆÑѵ‚€}}}}~€‚‚‚ƒƒ€{xwvvwyzyyyyzyyyyy}‚‚‚€€®ÎξŠ„†…ˆ…‚­Íͱ‚‚‚‚€~}}}~€€€€€€€€€||zxxy{{{{{{}|{|{{{‚€”¥Ÿš‚ƒƒ‚†…€š™‘†‹‚ƒ€~}}}}~€€~~‚€{yz||||{|}|{{{z{}€€‚‚ƒ‚€‚„ƒ„ƒ~}}}~€€€€~~ƒ„|{{|~|{{{||{{zz|~€€‚‚€€€€€€€‚€…„€~}}~€€€~‚€~}|}{{{|||{zz|}€€‚€~€€€€’‰‚€~}~~}~€€€€~€}}€{|||{zzzz}}~€‚€€€€€‚‚€~…„ƒ‚€}}}|}~€€€€€€}}~}{z{{|{{||}~€‚‚‚‚€€‚‚‚ƒ‚€„„ƒƒ‚}}}|}}~€€€€€€€}||{zxwwwwxxwwyyz}~€‚‚‚‚‚‚‚‚ƒ‚‚ƒƒ‚‚‚~}}}|}}€€€€€|xxxvutttvvvvuvwvy~~~~~€€‚‚‚‚‚ƒ‚‚‚|~Ž‹‚‚~}}|}}~~€€€‚‚|wxyxyzyz{{{{{y{{z~~~~€‚ƒ‚‚‚}|ˆˆ‚ƒ}~~}}|}~€€€€~~€€}}}€€€€ƒ†ƒ€€€€~~~~~~€€‚‚‚‚}}€‚ƒƒ‚€}}}}}~€€€€€„…††€€‚ƒ‚‚‚‚‡‡…ƒ~~}~~€~‚„ƒƒƒ~}}}}}}~€€€†‡†ƒ‚‚„„………ƒ„‡†„~~€~~~}}}~€€€€€‚€~‚„ƒƒ‚‚€~}}}}}~€€€€‚ƒƒƒ„†‡‡‡†…€~€~~~~}}~€€€€€‚€{{}ƒ‚‚~~}}}}}}€€‚ƒ„€€€€‚ƒ‚€€€~€€€~~~~~~~€€€€€zxz„“ˆ‚~}}}}}}}€€€‚‚„‡ˆˆˆ‰‰ˆƒƒ‚‚‚€€€~~~~~~€€€~yxy~…‹‡ƒ~}~~}}}}~€€ƒ†‚„„„„„„ƒƒ„ƒ‚ƒƒ€~€€~~~~~~~€~zxx{ƒƒ‚‚~~~}}}}~€€ƒ†‚‚‚‚ƒ„ƒ‚„ƒ‚€~}}~~~~~~~~~~~~~~€~zywyz€ƒ‚‚‚€~}}}}}}~€€€€€€€€€€‚€‚„†ˆ‰Š‹‹‹Š‡€~~~~~~~~€‚‚~zxy{z~ƒ‚‚‚€~}}}}}}~€€€~}€}€’¢©²¸½¿ÀÃÄÄÃÀ«€~~}~~~~~‚~|z{|{}ƒ‚‚‚~}}}}}}€€€€€€€€€}ŒÃÇÄ¿º¸®§©©§§¨¥‚~~~~}~~}~{|~~~€‚‚‚‚~}}}}}~€‚€~‚‹…€}zyyzxwyzyy~€€~~}}}}~ƒ~€‚ƒƒ‚‚‚ƒƒ‚€~~~~~}~€€€€€€€€|yxyyzyyyyy{{{|}€€~~~~~~~~ˆˆ‰ˆ‡……†…‚™~}}}}}~~€€€€€~}~~}||{yz{{{{|~~}}}~}ÑÑÑÑÑÑÑÑÑÑÑÐÏÏÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈ¿³²¦ “€xjnwojjonsfjdY^a_]c_W]b``XSQV\]afcfVUYYVWVU[WSZa_^YUMC@:;:533>4ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÊÃÇÅËÎÏÎÎÏÏÏÏÏÏÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÎÎÍÍÎÎÎÏÏÏɹ £šxz‚udbbr~q`_omg\Z\^`[YWR_ib^UQPRZZ`jkiRS]bZSRNST[be_XQNKB@97754167ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÎÎÏÏÏÍÅ«ŒŠuooqqpruv|yadcdg]\]]]]VTV_e\[ZVSTWUY]jeRRY^WNNPTS^dcc\TIDB=:64422/1ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÉÍÍÍÌÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÍÎÎÎÏÏÏÎÎÎÎ͹™|osywu€iid^iZcee[ZYW`[TYgfVSUYYUPMWR[jTQVXYROTQQ\b`aXVWOH?<97520..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÅÃÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÌËËËËÌÍÍÍÍÌÎÁ•Žƒ†sbl{pejc`aWib[ZUUP^d^asm^TQW]WNKVSR[T[]YWPQTW[_\Y[TRXRJA@@<651.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ¾¿ÊÑÐÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÎÍÍËÊËÌÌÌÍÌËÈÅ©{yrkckrqece_X_`UR\UTSZgghjdgWRVZUQTWTUZSZ^aXUVU[\][YUTPQQIAC?8662.1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɼÂÀÉÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÏÏÍÍÊÈÊÌÌÎÐÍÉųž||tfZUb`[`dc^d_XWTMPUZ`bfi`\TPPPNNTQTR`NUXZ[Z\Z^]^ZURSQSMEECC>641/2ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ÊÅÈÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÎÍÍÍÊËÌÍÊÆÂÅÃÇÇÊÍÍËþ»­‚}rXTUSOVXnrhcc^[OEBM[S\dc]WUSNMLJMLQMYOSWXYW[\[Z\ZUQSPVREDA<;51//.ÏÏÎÎÎÏÏÎÏÏÏÐÐÏÏÇ¿ÊÄÆÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍËÉÉÉÉ¿¸ÃÀÄÀÅËÉƾ¯ž¦‘‚~v`UZ[Zfj`pjg_WVTRVVaUQ]_UQWXTNJHPRU\YRSY[WVXYWRR]XTZTWWB77321//..ÏÎÔÚØÐÍÎÎÍËËËÌÍÇÀÊÄÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÅÅÆžº¯Â»Ã¼ÀȾ»§Šˆr‰€e_c\\hlYo^W_VQTV^\YQRUYSRTXXNLNTSSZf^PWZXWWWZVP^\Y[\OC<8751/.-..ÐÛêðïâÒÍÌÇÂÂÃÆÉÅÁÊÅÃËÍÍÍÍÍÍÎÎÎÎÏÏÎÏÎÎÎÎÌÇþ¶½»²¦½¶À»¹Ä¹»¶—…~pkfddcW\c\We[T]`RRUY_XWTPPPNNPTZWRTRQSe\O[^ZROOZ[TXYQQKB9=<:72/---.ÞîßÆÏëèÐÀ¹´µ¹½ÂÅÅËÈÄÊÌÌÍÌÌÌËËÌÌÌÌÌÌÉÉÉÆÅÀµ®©°±¨¡¬¯¸¶¶¼®­¤„yzwqmVad]ZeZS]j`Z_XMQSU]acWRONNQSNUWMPUPR^`[c^VQMP\YUZRP[JCD=;;97300..íÓˆnv±ëÛ¶±¯±µ¶ÀÆÇÌÉÅËÍÍÍÎÍËÈËËËËÌÌËÆÄÂÀµ¤Ÿœ¤¦š£°­°®«¦š‡xokgnn^YXV`cXW\\YbXSXUSVVbZSUQPSWTTUXTQXRR[c[aYZ\Z_aVUYXTSB>F<867764101äuur’Ô纯­°³µÀÃÇËÉÅËÎÎÎÎÌÇÀÉÌËÊËÉÁ¶´µ¸¼¬¡™šž˜–§µ«®§››“zhdeWgcUOINYcZSU`ia`n__d_UXPQQPQRWTUUUZTZQQa`_h\cbkh`TQNMKKA>A8855654/02Ê€‡y‘ÊìÁª¬±±´»½ÄÉÈÃÉÎÍÎÍʸÇÍËÆĹª¡ Ÿ¥¦›—Š•–”£­¬¢–’‡wfgj]\WRSSQZa`[ioaTVcSXqp]SPLMNMJLOOONNRZVX_WTZZbj^\YQJMIHFCHA7555554016¼„‰„Äëȧª±²´·¶¿ÊǼÀÈÊËÌËÀµÅËȾ²§Ÿ ˜™˜Œ‡”–•›“Ž‹Š‡€xxsdZVX[\SX]YT]j^US^iib`]USNLLJKJIGHMNT^^X\XR^jijZ]WPWSKKB?C;864434437=¼ŠŠ‡†ÁçÞÌŶ°°®­¶Ãº®±µ·½½Æ½²¿Å¼«œ¡›ž¡——’†‚…ƒŒŒ„‰‹‡„„…‚zxrcYXWWaZVYXSZgRPQ`hfVTZXTONNLLIGKIJRU\cTYSSmqfgbc_UaZTUK>=;97533365;?É»º‘†‘ÁæíîèÍÉ®££©«¢Ÿ £¤¦ª½´¨©­Ÿ™”žšš¡––†…†ƒ‚†ƒ|ƒ‰‰†ƒ~€}wuqkcYTZg]UVVX_]QZ\^a\UTQSSNMOQMMQQHDKPUaRSO^db`\hj]TU]ZISH==<:556589<>ÀÀÁ˜ˆ’Áåëäàæî¿ ¥°¥Ÿž ¥ª§¥©¦¢œž›œ˜¤¡œ ••‰‡‡…‚„ƒ{‡…‚ƒ{{{xtmkg\X\RX^YV]Z]]Y\[]`\WSLUUONPLDEIHCCFIJTMQS\_b\ap^aS[_]JGC??=95677:=@@½¾Àœ”ÁãìÔÂâêʸÆÌÀ¿¹º·º¹°°³±­¬§¥§ª«©ª¨ª¨¥Ÿ”‡ƒ„‚|‰‚}‚{yvtrnlg[^ecdZUUYY_`cZU\VY_]VRLOOQMDEFDBFHFDRKTY^W_bc]VfcY[[UNHEF;86678;?GG½¾À–ÁãìåâêêäáåçééèèãÇžˆxqs‰‰wljkjlovˆ‰‚ƒ…€Œƒ|€{ysuupicY[fc\VYQS^gceWOUWi^c\PQQQJIGIPHCILJEOPXZZPZadbV_fXSY]RD@@<;9878<@JD½½À¤˜¢Áâìììëëììììîíííé¥XRSUZ_b‰‡cOMMScc`\PMuƒ…‰ƒŒ…|}zyywyucYT[[[Y\YQZ[\`hikptoS[^UQTSJHIOYTONOSSYeljjjowvxtstn_`WA::<=<;::9<>>=ËÎÏÉÈÌÑÝêëëëëëéåãàßáÞÁjCdy‡•pD:2257B`dghbKPŠ‹ˆˆ…{yz|wxqa[]^WXWXYaYRP`t‚vf_^gSVPNSUONKFCMerŠ—œœŸ žœœ›››ššššš”uK88;;::::;>?>=èëêéèééèêëëéäßÙÑËÆÁ¿º—QOŠ­°²³©•„[XbWSQD9:=ONm‹Š‚€„‚yuxxvuuh_a\PQ[Z\^VU`dha`X^bbUWPMPTNJC?B\–x„€vnkiifdcbbbcdfhjni\<99::989;?A@?íîíììììíììëåÙÇ¿»¸¬¨¢}TTo§¤™˜–“¾˜‡¥iYXOA85CiW…†‚€xtxzxvrlh_WONZY[UVY_\XLZa[]ZZ_YNNTPNMNKo~OUVVZ^VCCA@A@@GTVXXZWN?bˆ;8999;AEEE£¨ãèçèçèçåÕŶ Ÿ¢Ÿž“’”kiK7DD=H]ZmrrqZSRgdA5>tZ{„‚{|rpxz{ulccWRRHCMWXX[\PMLVZ]^VZb`TNNKMPPKwcs’˜ž–P:98;>@KVUUVVraAR‡A89:<CILL¤¿½»º¯«²·¶¸º¸µ¯ª‘€€sro79M‰—wI@:9=PQOHic64:Œbz~€}zwwvmntnjhcT_m^WSY\[SRWZ]c`[Z][WQJEBAA@={\?I7577IWSLKRTQM=<==;;U\æW18<>CIICMŠ¢ŸŸ¶À»º³®®­°¸¿·‹|kaBHP~‘|KC988@?>B‰¡a654€sl}€€}zzwolpljfe_gpc[OR[\VTU[Z`ZY\dZQJEC@ADBF–lT8E77A@BPC66DTQB@BDB::LamÛa5?C[†WwU^TYZNJOWZZRRJUf…zM@<7_kPnD_E·”[ZK?LM[ci]‰£›œUYE?Z`ZO@8986:;88?A?DEDDC?<>>QSML>797><478ermifeddmaVW\XZ\SQSQTR[`]eaXWTPJHGLXhtƒƒ@faKEE[ZBFJ@666>FJLLLIA;R:”]SJUafnjiW³ôÏŠOY[WVVWXSOOPQE5UL=<=;8:8766688999876;BITcd]fq…Ž†‚}tmlbVQY[]\YSNPXW]ccc\RRVTMHABMVZimIbn@;:@CEGKLbjhk^E@A=<<=BTjRJP`vtutoi\£Û̼­¯²µ¹½½»¹···¸°^OG<<<:8988898888897Ex‹¤¨¬¬¬­©¨§§¥¤¥¦¦¦ž‚_WZ[[VSOPOSY\UW[WPRXUQ[daaahOj€o`WIENTVTTW]_``ZSRQLHTdq„ps‚‚|{srqj]{›ÃÙÚÚÜÝßáãäâáâãξxK>69:86666777666789† ‹Œ†ƒ~{xtqoqmlmnprv~nZ^YXW\cdZX__WPPXd]Y\d|…ˆ‰Šµ„xrukibV]qronnljjjkmpqh\cegq{iqˆ}nnronjiw‹¬¶º¾ÂÅÅÆÇÈÇÇÉ˳£vT`R;564554567?8674Zhejkiiknw” …€{urrqnjl{rsqt|Š’‰‹’••Ž™µ†‚‚}y|~‚¬‰k^`]\[X`mb]\[[ZZZ[[^fg[ZZZ]ZQV|rgittmjssrstux{|{|||}~‚†€ml¥¯—>14444468=8665ˆ„g|‡ˆŠ‹‹‹xu€_{™—“Žƒwk}zz{zyyyxyyz|…‰“¤´¶¯¡‘ƒ}r›xdVW[ZYYYXYWWWWXWWXXXYXXYZYXWSMff`hurwysronnpqrsvvvuvvvysS¤º¯‰D1344447><82D”a}®ÄÉÏÓÕÈmOFDjËÞÙÓÔÕ¿}\krqsuuvwxxxvututqsx€›¨¯ªl…nbRRUTVZZYYYYYZZZZ[[ZZ[[ZXYX\ZMRWSZ_fowwspnkkmnorssssrpqoj@h±ÈÁè¬uYPS]_A˜{AXo‚]}ÓãàßßáÄccgY`ËáÛØØßÏml\lfhiilnqtwwwvttrqppqqswwjykf†€es{\[]]Z[\\]\^^[Z\[X_’ƒ†±ƒLTXVUWYWX{xtpmklllnoqrrrqocT9?Ûßóò¸|_`onͧYs‡odf¼ÒÒÔ×ÚšP\g__»çäãÝÖ´MrXghedeffgknqtvwxvsrppoorh^jd[·ÃºÉè„JJSs\PVnlSN_zMGM§ñ×ÙÔ•KQW]ZXXWVzzzvqnmkjjknnoqqpaC90J†‚ž¿¯¡flk[‹óÝeo—bhNg]V]_`HG_ˆk]y”ƒwhXK=d_ajigggfddegjmptuwwvutsrdMZ^M­åàÞîâwBAŽ•;[ª®\:žŒ:BîãÕßÛtKNW\ZXXXXyyyywrnkihhklmooq\740024?EQiWcsx—ÝÍ…šXgMh<57549>Q}j`Q:4898@EPiZjmkhfecccbbcehnrtvwwxxfGLTMp¡«ÃÉôÎL>\ÉonßÝmqÈ_GTÛö©‡sVNLUXYVWWWwxxxxvsmihhhijklpW20378;@HTaz²ÅË×ãàÓ­‡WdE@8:<:998:HFC:7>CAjWhmomkhgedcabbbdjorstvxjEDKPOP_r â¹hVJØ€¤¥{ÒO_mªÐbYTSMMTW\UVVVrtvwxwvsojgfgghimY30258?GUf…œãòîïïðî´s][GFARXNB?9554586F‚E995aZbijlomkigdcbbbaadiknqumDBJNQTVYerilrpyÚèÝÞæ×}qmiee`\ZUQLPZZXWVVVnqsuuuttrnifdccei[30137JW Áƒ‹‘–aFKIJNSSLJGQG?:?@CJhpEbrWZZ[ZZZYYV€ƒ|si`\ZXSSVZRQOOOOOOQSWavhffhjjigebc`:6GLOe|kbWJ2.+38F>IMBC:35FM]s sNG{³—}ronl^dgilmoqsttsrqpmZ1:21/,.../0//14Fy}„vZZXZZZZZZ[fOMIHHIIIIHMSCDDBAAA@???>Leigeeghhhdda74FGK¥×y\RQLPOPNcWY\VXVQJRXUåŸG@nÂÓÇ¥|nnÈ„`ehjkmoorsrrrroZ0:36ND9400-+,+)@w—„~€sZ[[[[YntC>=<<<::;:74678:98777887:=Rihedcdggffc52CBFŠ¯k_c[<=<;AAB@@?@@:;Zf`g‚jECRp˜Å×ÇžvÉÃw]dgikmmoprqqphS0:41@Hgnlkhecbcc5-79J0))++*)(('''&&&&%&%%*0('+D_COkkkigfqyµÇÑ—[`dfhjkkmmmkf\UQQQRRRRSRSTVWNTTKQŽ‡³ñ›s‹Œ£g<>459<;9:=<8;ZZUd@8NSJ?8449B@Zllnojdcc`5-6NkjjjjjgRŽ½ÉË{Zbehiklmnonlifdc``^^^^^_bgj\IIKJKSrœ±Á¦¬O?;44;ch96=94312;@;DRPONH=45??NiljmjhaXP1,61'0A???>><;;;;;;;>BEHKLPD!$*/7Jegikkkk]{®ÁÍ·i^dfhklmnoonkjjigea_^^_`aeg]FGGJOU[f•å†g—?A744X…]764112336@DIQ[\ZS;2ddX?1.,,00.,,,,+***))*+**(*-011.4866Mhd``dfiRLO½ÄΔ\_degjklmmmnnlljfc`^^^^`b^ABGGNVE<>:Q˜\HNMSfbWPC56@>;9765;?B=DKGBCE><=:=E=>J^igfdc`^^^^^`bghfc`\\\\\[[[YZ[]bgjmmnorrsqmicf[RMa¨Àʾo[`cfhiklmnnnnmliea``__a[:AIGLPB=S;ND>8<>8887788:>CB??>;9998789;BHHEAAFLHEFDDFHGHGHHGFHBcc?jhggggggfghhhgfdbabdgkkjeb_^]_``_^\\^cgkmoqrstrsnrhSNO‡¼ÄÒœ^ceghikklmnoomkjhda__`X3>HG„¶]i¹¼`t{O@LQSW[^bdhiloooooppppqqqqowgzŒWbkfgghgghhhiiiihgcbbcfikkiea^]_`aa_^]^afklmnpqrqmpw^QOXÁÊΈ]dfgikkmmnoommmkgc`__W4=>????@AACCCBCGanptqefgffhggghhiijifba`bfjlmlifccaaba`^]\^bgilknopojZPSSÄÇÓ¯c`adfghjjkllmmkjhe_T.367765@Xd‡x^DBBAAA?>=;;;;;;:9:::;::;;<===>=<=Ln¸ßÙ”dfffgfffghijjihecbabeilmlkhfcbbbba^[\\^bfiqssrphUNMV¢ÆÍÔ\adefhijjkkllkjgcUF-43:6214NtŽcQ>=<<<==;:98888866888987789;;==AKQIU|ª¤“gbcdgfeefghijhhgedb`abimnnlifccba_][[[[\_cprrttwjVOKl¼ÊÑÃn_ceghiiikkklkifdZF+2322?E@LioWEFG<>?<:<<;;«õðêÜàíÉsA5973M|‚ƒ‚yg2.-/;ep”µ³©–~L5Dhgfeervygbccccdeeeefggfedb`^_cikjjgb_\\\[[Z[[ooijsrslWONMY¤ÄÊÕœbadffghijjjiihgd_\ZZXWXTID3:_™¯°¯¨•rgB8;:40Bghgggedebddcbeeeffgggfffghhfec`_`dikjid__^^]\qplkoomllmeNLL]ªÃÊØ•^dfggijkkkkkkkhhfda_]XQI005;?DOWi¥Ï€‡èïíìëëììèáíÔ\˜À“u_RI@<;=Ifigffeeeeccccdedeeeffeeefghgfeb^]`cgjlkd`_]\[ppmilorurqkSKMN{¾ÂÐÊu`fggijkkkkllljjihda_ZJD8D@=>569=DN_yŸ×œcÖèæãâåß×Ìž˜P–…YA656;6/1Dhiihffeeeccacfdbfffffffggfghhgfdb^_`dhlmljg`_nomlqqnnrrrmXLMMY¥ÄÉÖœ`cfhjjjklmlmmkkjifd^9:>6235;9::CMf}?PZZXY_QH@;51Db;J=4@«Çv,4Efhhhggfeed`Êμqbefeefghhhggghgfeb`_aejlmllgc|vurwsmlnmlmiNJLKlºÂÍÏ|_cehhhijklllllkkif_9:>81:œÅŽ78FN=cY:;=@DLIGEEDGyXTL81H¶”R/7FeiihghgfffctÇãÞ£`deeefffgggffgffffd_]`eilnnli{‚€unnlklmnlgTLMMMÀÃÕµb^bfgfhhijjjjkkkjiaFR<919‹ÂŸ459\\QŽqedf…{oopoq€}Q‡C2331,/1:Fdiihhhgfffecluplbbeeeeeefggfffffhgfb_^`dilnomvvuwwpoknpommi^OMK`¶ÁÉÕ‰Zaeffhhhiiiijjjjje@K<=7418:753QXA]ljv…we`qcNIEDLC55533337Dcihhggggggggeccdspeeedeefggffffffffdb`]_chlnnpwuuumpljnnmptkSLKO–ÄÆÕ¿hafgghhhiiijjjjkje4,=:43545666CJGIKOZc`r^Z^VLLLHK=11122220@ahffededddddcbbi„zedeededffeeeeedeeeda^[^bhlnntopnnnkillnnmjTLKMgºÆÎ×’^deghhhhiiiijkje]3)=3////..-.4;89:7647@2-,*(((&''')*+,+)+??@AABCDEGGEEEFA;fª´²¯¬¨¥¢˜•’ŽŽŽ‘”˜ ‚ddddeeeffgffeeeedcb_^^dmmoosvuptmlllmrfPKLMMÈÉÓÅodfhhhhgfhhghhgZ<*9./+(2746666665221110000000/-,1„³¨“ˆ€}xtpmlieeeccddccdfhkq|pcccccdefeeedddddedb_]_msxtpqqorkjkjlrcNMMMK_µÊÌÕŸbfhhhihhggggecZA/5.23-(&###$$$#""#""""""""#""" C¤Šyqjgc__]\\]]\nd[ZWWWVVWWXY[]ldabcccceddddccddedca^[qvvqjhjoollnxuthc\NLNP…ÊÊÏÌ{chhijihggffda[P;-,-.-'%%$#$$$$$%&''((()+,+-//-f•b]\ZYVUUVWYTLGaBGY^abaa`^]ZJKbaacbbcdccccccddddcb`]jjkidbbnkwywvtnrgQLNT]®ËÉ×±hghijiihffgea]VO@:;:::;===<<<<<<<>@@??@BBBBCBA’~KSX[`dhlmljRDHMRVUY^[QNNOPNXm@Vccdcbddccccbccdddccb`wsppovruntuvvx€n_SKLMMxÄÇÏÕ‹cgghhhgfffeb_[VQLKKIHJKLKKKKLMPQRSTSSTTTSRRP^œZFouƒˆˆ“—›¡‡i‡w{^MN@1122346qYEbdcccedcbbbbbbcddcccb†€}yx{xlkrxwy|ug_SKKLMRŸÉÇÖÀjbeffeffffeda_[XVTTSRSSTTTTUUW\__`cca_^^\Z[VzDnwª»½¿ÁÃÃÃÅ­®Ü¯¦³lLO;1334454Us;Xccccddccdcbbbcdccccc‡u~{uslnwplksjegfVLKK^f»ÅÌÙ–`dddefgfeeeba`_^]\[ZWVVWWXZ[]`aeijjhdcb`^^\‘tC{Y¶ÄÂÂÂÃÃÃÇ¡”¼¢““cOH32222346>yHHadcceeeeedccccccbcdd€~zy€{srscbkr|tmmfYMLLV[XšÅÅ×Æladddegfedecccbaa__^ZYYXWWZ\__`fijigdbb`^]f–aJ{?šÁ¼¸´®¦¡œuNSSROOQE111222365gb;_egjgeeffdcedcccccdd……†‡‡‡‡‡‡‡‡‡‡†††††‡‡‡‡‡‡‡‡‡‡†„‚|wttttvxwxxxy{{zvuwzz{{zyz|~€€€€†††††††††††††…………††††††††††††„|zutsttvxxxwvyzzywuvvxyyxwx{}€€€………†………††…†…………………†…†…††………††„‚|vuvvvwyzxxwy{zyxvvuwyywxxy|~€€€…………………††††………………………………………………ƒ‚{yywwy{{xwwyz{zywvvwxxwxyy}~€€€†…„„………†††…††………………†…„„ƒƒ„„„„‚€|zxwwz|zxxxzz{zyvvxwxxxxyz~~€€€…‚ƒƒ„„„…………†……„……………ƒ‚ƒƒ‚‚‚€}~|xxwxy{yyz||zzxywvxyzyyxz|~~€ƒƒ„ƒƒƒƒ…………………„…†††„‚€€‚}}|}{yxwwwwxy{{{{zyxwwwwxxyyz|~‚„…‚‚ƒ…………………„……ƒ‚‚~~€€}||||zywvwvuvz||{z{yxxwvuuwyyz}~€€€‚‚€€‚ƒ„…†ˆ…„ƒƒ{{|||||}~}}|zz|z{yxwxxxxy||{{{zwxwwuuvwx{~€~€~~„‰ˆ††…‡„‚|z{{|zyyxy{y{zyxxxyzz{}||{zyxxxvuvuvz~}~~€€€€ˆŒŒŠŠŒŽŽ†zzzzyxwwy{y{{ywwwxxz{|}}}|~}|zzzwz~~}~~€€€€†…‚ƒ……‡ˆ‡‹‰|xvvvvvvy{zzzyvuvwyz{}~ƒ††ˆŠŒ‹Š‰‰…€€~~}}~~~~~~~†…„…„„……„ˆ‡}ttuvuvvy{{zyxzzyyyz{~ƒ„„…ˆŠŠ‹ŒŒ‹„†€~}|€~~~}}}}}}‡‡…†‡ˆ‡„€†‡€tsttuuvyyyyyz{{yyz{|~~‚…„……‡‰Š‰‹Œ††€||ƒ}€~‚††„‡ˆˆˆ…†‰‚vstttuvxwxyyzzzyyz|~~„ˆ‹‰‡ˆ‰ˆˆ‰‹Œ‡€~}}{z}€†‡‡‡ˆ†ƒ†††††††„„‰…}{xtutuwxxyyyzyxxy|~~€…‰Šˆ‡Š‹Š‰‹ŠŠ‰||zvr~ƒ…‡‡‡‡……‹‹‹‹Š‹Šˆ‰ˆˆ‹‹‰‡ƒ|~~zwxxxyzzyxxz{|}†‰‰‡ˆ‡ˆˆˆ‰ˆ‡ˆ‚|wrnl€ƒƒƒ‚ƒ‚‚‡ŽŽŽŒ‹‹‹‹Œ‘“”’’’””yz{{{{{yyxtps†ˆˆˆ‰Š‰‡‰‰Šˆ‰ˆzgjkk…„„„„„„ƒƒˆˆƒˆˆˆˆ‡ˆ‹‹‹ŠŠ‰Š‰‡†‰‹„‚ƒƒ‚~}xuy„„‚€€ƒ‚€~xmnlk‡†††ˆˆˆˆ‡‡ƒƒ…„……†Š‹ƒ|y~†‡‚|{ˆŠ„ƒƒ„„„„„„ƒƒ„‚|ytssrrrssvy{~‚}w‰ˆ‡ˆˆˆˆˆ‡†„ƒ‚‚ƒƒ…ˆ‹…ˆˆƒ~…‰…„„„ƒƒ‚ƒ‚‚ƒ‚ƒƒ€}}}{{{|}~}ƒ†…‡‰‰‰ˆˆ‡ˆˆ‡…„„……„ƒ‚‚‡Š‡ˆˆˆˆ‰ˆ†††‡‰†…„„ƒƒƒ‚ƒ~yz{{|~€~zw€…„†‰‰‰‰‰‡‡ˆ‡„ƒ„……ƒ€‚ˆ‰…†‡ˆˆŠŠ‡‚…‡‰‡…„ƒƒƒƒ‚„{srtuvy~~zwurrt~‚‚ƒ‰‰‰‰‰ˆ‡†‡„‚‚‚ƒ€ƒŠ‹‰ˆ‰‰‰‰‰‡…‡‡ˆˆ‡‡„‚‚ƒ‚|srsv|€}{uqrt}ˆŠŠ‰‰‰‰‡…ƒ‚‚‚‚„Œ••”””ŽŽ‘‘‘‘‘ŽŠƒ‚‚}utty€„‚€€yttv}~„ˆ‰‰‰‰Š‰†ƒ‚‚‚‚‚‚†‘’“‘‘’‘‘‘‘‘‘‘‘‘‘‰„„ƒ‚€}{z|€€~|{}€€†‡ˆˆ‰‹‹‰ƒƒƒƒƒƒ‚‡Š„…ŒŽŒŒŒŒ‹Š‹Š‹ŒŒ‹‰††„‚‚‚€€~~~~~~€ƒ…‚€}ƒ†ˆ‰‰ŠŠ„ƒ„ƒƒƒƒ†ˆ~†‹ŠŠŠŠŠŒŒ‰‰ŠŒŒŒŒ‰ˆˆ†…ƒƒ€€…ˆ‡„||†ˆ‰‰Š‹‡„„„ƒƒ„„……‚„‡ˆ‰Š‰ˆ‹‹Šˆ‰‰‰Š‹Šˆˆ‡‡†…‚‚…††………††„…ƒ€„‰‰‡}}~‚‡ˆ‰Š‹ŠŠ‰‡…………„„…ƒƒ†ˆ‰Š‡„‰ŠŠ‰ˆ‡‡‡‰Šˆˆ†‡ˆ‡‚‚„…„……………„„ƒ€€ƒ…††{~}}ƒˆ‰Š‹ŒŒ‹‰‡††…„ƒ„ƒƒ…ˆˆˆ‡†ˆ‰‰ˆˆˆˆ‡ˆ‰ˆˆ††ˆˆ„ƒ‚‚€€€ƒƒu}}†‰‰‰‹‹‹Š‰‡††ƒƒƒ‚ƒ†‰ŠŠŒŒŒŒŽ‰†ˆ‰ˆ‡†…„„‚€€‚‚€€€oz€~‚‡‰‰‰‹ŠŠ‹‰†…ƒƒ‚ƒˆŽ‘””•–•”•––———–’ˆˆ‰ˆˆ‡ˆ‡‡„€€€€‚‚€€glz|z~ƒ‡ˆ‰ŠŠŠŠŠ‡†ƒˆ‘“•—–••“’’““““”••Œ‡ˆˆˆˆˆˆˆ‡„ƒ‚‚‚‚€ihq{}~…‡‰‰‰‰Š‹‰ˆƒ‚ƒ‚‰ŽŒ‹ŒŠˆˆŠŠ‰‰‰Š‹Š†„ˆˆˆˆˆˆ‰ˆ…ƒ€ƒƒ„ƒkjkw€~~‚‡ŠŠ‰‰ŠŠŠ‰„‚„„‰†……………„„„ƒ‚‚‚…„„ƒ…‡‡‡ˆˆˆˆˆ‰‰‰†ƒ‚‚ƒ†…mllr~€}~…‰Š‰‰ŠŠŠŠ…‚‚‚‚„‚€‚‚‚‚‚€€‚‚‚‚ƒ‡‡ˆ†‡ˆ‡ˆˆ‰ˆ‡†ƒ‚„††mkimx~|€†ŠŠŠŠŠŠŠˆ…„ƒ‚‚€‚€€‚‚‚‚…ˆˆ…ƒ†ˆˆ‰ˆ‡‡ˆˆ…‚€‚…‡‡jjhgjx€}}ƒ‰ŠŠŠ‹ŠŠŠ‰†„‚‚‚€‚€‚‚‚…ˆˆ‡†‡ˆˆ‰ˆˆˆˆˆ‡†ƒƒ††kkhfes€~}~…Š‹ŠŠ‹‹‹Š‰†‚ƒ‚‚€€€€€€€€€€€‚‚…ˆˆ‡‡‡‡‡ˆˆˆˆˆˆˆ‰†ƒ‚€„„kiffek{€~}†‰ŠŠ‹‹Š‹Šˆƒ€‚‚‚‚€€€€€€€€€€…‰‰‰ˆ‡…ƒ†‡ˆˆˆˆˆˆˆ†ƒ‚‚ggggfhn}€~~ƒˆŠŠŠŠ‹‹‹‰…€‚€€€€€€‚„ˆ‰ˆ‰ˆ‡…†‡ˆˆˆˆˆˆˆˆ†ƒ€€hhgggggt€}€‡ŠŠŠŠ‹‹‹‹…€€€€€€ƒ‚‚ƒƒ„…‰‰ˆ‰‰ˆ‡‡ˆ‰ˆˆ‰‰ˆ‰ˆˆ†ƒ€€ihgfgghr„‰‹ŠŠŠ‹Œ‡€‚ƒƒƒƒ„„ƒ…†‡†‡††ˆŠŠŒ‹‹‹‹‹Œ‹‹‹‰ˆ‰ˆˆ‰ˆˆ‰‰…‚ihgegiho}€~€†‹‹ŠŠ‹Œ‹‡€€‚ƒ……………„…„……„‡ŠŠˆ††…„ƒƒ‚‚‚ƒ†ˆˆ‰ˆˆ‰ˆˆ‰ˆ„jjihhihjt}‚Š‹ŠŠ‹Š‰‡‚‚‚‚‚‚‚‚‚‚‚‚‡…€€€‚ƒ‚‚‚ƒ‡‰‰‰ˆ‰‰‰ˆ‰‰‡lkijlliio}‚€†ŠŠŠŠ‰ˆˆ…ƒƒƒƒƒƒƒƒƒƒƒ„…„†ƒ€‚ƒ…‰‰ˆˆˆ‰ˆ‰‰ˆ‰‰‰‰‰‰‰llmnonlos|€}}‚ˆŠ‰ŠŠ‰‰ˆ‡†‡…„†††…††‡‡††„‚€€‚„„‡‰‰‰‰‰ˆ‡‡ˆ‰‰‰‰‰‰‰‰{{zz{{{zzzz{{zzzzzzzzzzzzzzz|ƒ……ƒ…††‡ˆ‡††‡‰ˆ†‡‡‡‡‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyzz‚‚ƒ„„ƒ„…†ˆ†……†ˆˆ‡†††††††††††…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{zzzzz‚‚‚……ƒ„……††……‡‡‡†…†††……†‡‡††…„‚‚zzyyyyyzzzzyyyyyyyyzzz{|{||z|‚……„„……………†ˆ‡…„ƒ„……„…‡‡‡‡†„ƒ‚‚€€y||zzzzzzzzzyyyyyyyz{{}~|}||€‚„„„„……†……‡ˆ‡†…„„………†‡‡‡‡†ƒ‚‚€{€€~||}{yyzzzzzzzz{{}}~}}ƒ‚ƒ…„„„……‡†…‡ˆ‡………„……††‡††……‚‚‚€€‚€€|zyzzz||{{{|}~€€€€€‚„…ƒƒ„†…„„„……††‡†††………„…‡†‡‡‡…„‚‚€„€~}|{zyz}}|~‚ƒ‚€‚ƒ………†„……………„„…†‡†………„……†††‡‡†…„‚€ƒ‚€€€€~|zz}€ƒ„„…„„ƒƒ„ƒ„…‡†††………………„…††‡†…„„„„…††‡‡†…„„‚‚‚ƒ‚ƒ‚€€€€~||~~€‚‚ƒ„„…„…‡‡††††……„………………†…„ƒ„„„†††ˆ††„ƒƒ‚‚‚‚ƒƒ‚€€€‚~}}~€€~~}|€„„…„„‡‡‡‡††…………………†…†…ƒƒ„ƒƒ„„„†……ƒ‚ƒ‚‚‚‚ƒ€€‚ƒ‚‚}|{|~{{}~~ƒ††‡‡†ˆˆ†††……„…………‡…†……„‰”˜š›šš›šš•‡‚ƒ‚‚ƒ‚„……ƒ}||zy{xy~~}ƒ†‡ˆˆ‡ˆ‰††…………„…‡‡ˆ†††††Œ‘Ž‹‰‡††…ˆŠŠ‚‚€ƒ…~~€‚ƒ„……†…|||xww{‚~}‚†‡‡‡‡ˆ‰‡†…„„„…†ˆˆ‰ˆ‡…„ˆ‚{{{{yyyxyx„‡‚€ƒ…€‚ƒƒƒ„…€{|ƒ}xxz}„€}€†‡‡‡‡ˆˆ‡†„ƒ„„…‡ˆˆˆˆ†„‚ˆ||{zzzzy€Œ„‚‚…………‚~z{{|…€|}}z{}~„}~ƒ…†ˆˆˆ‡†††„„ƒ…‡‡ˆ‡…¨•‡~{zzz{{zy|¤§ƒ‚ƒ†„ƒ{{|}€~|}}}}}~~€}}€„„„…†…†…„„…‡‡ˆˆ…‘°¥‘‚}€~€‚‚‚‚€‚’¤Ÿ‚ƒƒ‚€€€€}}||}}||||}|yyz{{yzyy€………„„…ˆˆ††ƒ€‚‰œ ¡ žŸ¢¤£¡¡¥¦¡“~€€€€~~~~}ƒŠ€~~~}|||{{}€}|}|‚‚€€ƒ„„„†„ŠµÄÇÅ¿ÂÇÉÈÄÀÊÉȯ‚€€}€€~~~€ƒˆƒ€‚|||}}|||}~~~€€‚ƒ¢¸ÁÌÒÔÕÔÒÐÑȼ«œ†{}€~~~€„„‚‚„ƒ||}~~zyz}~}~€€€€€ž“~”˜œ˜—•Ž… {{}~~€€„ƒ~|||}}zxz}~}}~€€€€€€§À­–Š˜‹‚†ƒŸ·Å•}€|{{{}€€€€€~‚ƒƒƒ}||||||{{€…~}}~€€€€€€~¦ÏÑÌÅÆ·”‹“·ÉÉÐÓÌ”~€~}|||}€€€ƒ†‰…|{{{|||}|‚~}}}~‚‚~¡ÎÏ;¨‘‹ˆŠ¨¿ÐÑÈ’€}}}}~€€‚‚‚„„{ywwwxy{{z{zzzyyyy|‚‚~™ËÎÍŸ‚€……†…˜ËÎÆ‚‚€~}}}~~€€€€€€€€€|{ywwxyzzzzz{{{{{z{‚‚€Š«¢¨ˆƒ…ƒ…‡‚ƒ¡šž†…‹ƒƒ€~}}}}~€€€€}€zxy{||{{|||{{{z{}€‚‚‚ƒƒƒ‚€‚‚ƒƒ„ƒ~}}}~€€~}‚„€|{||||{||||{{zz|}~€‚‚€€€€€€‚€€†„‚€~}}~€€€€~ƒ~|||€|{{{|||{z{}~€€€€‚€€€€€‚€“‰‚€~}~~~~€€€€~}|}|||||{{zz|}~€‚‚€€€€€€€‚‚€~„„ƒƒ€}}||}~€€€€€}|~~}{||||{{||}~€‚‚‚‚€€‚ƒ‚€„„ƒƒ‚}}}|}}~€€€€€€€}}||zyyyyyzyyz||~€‚‚‚‚‚‚‚ƒ‚‚‚‚€}}}||}}€€€€}{zyyvttuuvvvuuwvy}~~~~~€€‚‚‚‚‚‚‚‚{~ŽŒ‚‚~}}|}}~~€€‚‚~xvxwvwwxxyyxxxxxx|~~~~€‚‚‚‚‚}|‡‡‚ƒ}~}}}|}~€€€€~z{|||||}~}}}~}€~~~~~~~~~€€‚‚‚€}}€ƒƒƒ‚€}}}}}}€€€€„‡‡‚€…‰†ƒ‚€~~}~~€€€~‚„ƒƒƒ~}}}}}}~€€€„………ƒ‚‚‚ƒƒƒ‚€„‡ˆ†ƒ€~€~~~}}}~€€€€€‚€}€ƒƒƒ‚‚€~}}}}}~€€ƒ†‡„‚ƒ…†‡ˆ‡‡‚‚ƒƒƒ‚~€~~~~}}~~€€€€€‚€{z|ƒ‚‚~~}}}}}}€€€€‚‚„ƒ„ƒ‚‚‚‚€€€~€€~~~~~~~€€€€€€~zxz„”‰‚~}}}}}}}€€€‚†…„„„…†„‚‚‚€€€~~~~~~€€€~yxy}„‰†ƒ~}}~}}}}~€€ƒ‚ƒ…‡ˆˆˆ‡‡„„ƒƒƒ‚€}€€~~~~~~~~€~zxxzƒƒ‚‚~~~}}}}}€‡„‚ƒ‚‚ƒ‚„„‚‚‚}}€~~~~~~~~~€~zxwyyƒ‚‚‚€~}}}}}}}€‚€‚‚‚ƒ‚€€‚ƒƒ‚€~~~~~}~~~~~~~~~~€‚‚~zyx{z~ƒ‚‚‚€~}}}}}}}€€~~~~€~€…‰‘“––———”Œ~~}~~~~~‚~|y{|{}ƒ‚‚‚~}}}}}}€€€~€}”®¸ÀÅÉËÆÉÊÊÊÈÅš|~~~}~~}€~{|~~~€‚‚‚‚~}}}}}}€€€€³À·¯¨¦¢––•”““–Œ}~~}}}}}~ƒ‚ƒ„ƒ‚‚‚‚„„€~~~~~~~€€€€€~|yxwvvywvxzzy{~~~~~~~~~ˆ‰‰ˆ‡……†…‚—~}}}}}~~€€€€€€€€}zyyy{zyzxy{{{{|€€~}}}~}ÑÑÑÑÑÑÑÑÑÑÑÐÏÏÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÎÏÎÏÏÏÏÏÏÍÈÀ´°§¢•ƒ|uknxmijppsfieY^b^]d_X]b`aXSQW\]afbfVVYYVWVU[XSYa_^YUMC@:<:534?4ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÊÃÇÅËÎÏÎÎÏÏÏÏÏÏÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÎÎÍÍÎÎÎÏÏÏɸ §œy‚{vcabr}q``olg\[\_`[YWR_h`^UQPSZZ`jkjRT]bZTRNST[be_XQNLCA97754177ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÄÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÎÎÏÏÏÎçŠtooronpsv~zaccfg]\]]]]UTV_e]\ZVSTWVY]jeRRY^WNNPTS_dcc\TIDB>:64432/1ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÉÍÍÍÍÌÌÌÍÍÌÌËËËËËËÌËÌÌÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͹š‘|mqwyv€€jie^i[aed\[YWaZUYffVSUYYVQNWR[iTQUXYROTRQ\c`aYVWOH?<97521..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÃÅÃÊÏÎÎÎÎÎÎÎÎÍÍÌÌÌËËËËËËËËÌÌÌÌÌËËËËÌÍÍÍÍÍÎÁ•Žƒ…udm}oejc`bWie[YUUP^b]asn\RQW]WNKVSR[TZ]YWPQTW[_\Y[TRXRJA@A=651.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʽ¾¿ÊÐÏÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÎÎÍÍËÊËÌÌÌÍÌËÉƧŽ}zsjcmsqecd`Y^bVR[UTR[gghjehWRW[UQSWTUZT[^aXUVU[]][YVTPRQJAB?8662/1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɼÂÀÇÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÐÏÍÍÊÈÊÌÌÎÐÍÉÆÄ´Ÿ|{sgZVdb\_cc_d`WVTNQVZ`bfia]TPQQPNTSTR`OUX[[Z\[^]^ZURTQSMFEBC>641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ÊÆÆÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÍÊÌÌÎËÇÄÅÃÇÇËÍÎËÿ½¯•|rXTSSPVXorhcd^[MDBOYS]cb^WURNMLJNLRNZOSWXYX\]\[]ZUQTPWREEA=<51//.ÏÏÎÎÏÏÏÏÏÏÏÐÏÏÏÈÀÊÅÅÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÎÍËÉÉÈÉ¿¹ÃÀÃÀÆËÉƾ¯¡¨’{v`VZZYfiapjg`XWSQSTbUQ]^UQWXSNJHPQTZXSRY[XVYZWRR]YSYSXXB77221//..ÏÎÓÔÓÐÍÎÎÍËËËÌÍÇÁÊÅÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÍÆÅÅžº®Â»Â»ÀÈÁ¿¹¦‰‡sŠ€e^b\\hoYo_V_VQUU_\YQQUZSQTXXMKMTSS\g]PWZXWWW[VO^]Z]]OD=8651/.-..ÐÛéîìàÒÍÌÇÂÂÃÇÉÅÁÊÅÂËÍÍÍÍÍÍÎÎÎÎÏÏÎÏÏÎÏÎÌÇý¶½º³¥½¶À¹¸Ä¸»¶˜…}~plgeddV\d^We\T]`RSTY^VVTPPPNNPTXVRTQQTe\MY]YSPPZ[SYYRQLB9==:72/---.ÝîßÇÐìèÐÁºµµ¹½ÂÅÅËÈÄÊÌÌÍÌÌÌËËÌÌÍÌÌÌÊÉÉÇÆÁ·®ª°²ª¡­¯¸´´¼¯­¥„yzxplVbd]ZeZS[iaY_YMQSU^`cWRONNQSOUWLPUPR^]Yb_VQMO[YUZRP[JCC=;;96300..íÔˆnw³ìÛ·±¯±µ¶ÁÆÇÌÊÅËÍÍÍÎÍËÉËËÌËÌÌËÇÅÃÁ¶¥ œ¥§œš£¯®¯®«§šˆxnlhmn^YZWbcXW^^YaXSWUSVWb[SUQPSVTSUXTQXQSYaZ`YZ\X^aWUZYTSB?G<977764101å“uur‘Ô麯­°³µÀÄÇËÊÅËÎÎÎÎÍÇÂÉÌËËËÉļ·¸º¼­¡™›Ÿš–¨´¬­¦œž”zjffWidUNIOYcZST^gban_`c_UYQQQPQSXTVTW[TZQQ_`_h[cakiaUQONLKA>A9855654/02Ì€†yÆëÁ««±±´¼½ÃÉÉÄÊÏÎÎÍÊúÇÍËÇŽ®¤Ÿž¦§ž˜‹––“¥¯¬¢–’‘ˆvddi\]YQRRQZb`\iobTWdRXrp]SQMNNMJMOOPNPRZUX`XVZYah^\YRKMIHGDIB8555554016½…Š„‰ÀêǦ©²²µ··¿ÊȽÁÊËÌÍËÁµÅÌÉÀ¶ªŸŸ¡—™˜‡•—‘Ž“˜ž”ŽŒ‹†vvrd[UX\[QX]ZU^j^TS]hgbb]TSNLLKKJIGINLS_]X\WQ[gihV\VNVSIKB?D;864434437=º„††‡½æÜÅÀ´¯±¯­¶Ä¼¯³¸ºÀ¿Ç¾³Àƾ¯  œž¢–—’‡ƒ†ƒŒ…€ŠŽ‹‡„…„‚{xrbYWWWaZVYXSYhSQQ_ifTT[YTONMKKHGKIKSV]aTZSQntehbb^Ub[TUH>=;97533365;?ȳ²Ž†¾äìíåľ¬¥¤«¬¢¡¢¤¥§¬¾¶ªª­ ”›š¡“•‡„†‚‚†ƒ|„Š‰†‚~€~wvrjdYS[i]SVUV_]PY[^`[TTSTSNMOQMNQQIELQVbTTO^ddb\fj_TU]ZITH==<:556589ÉËÍÂÁÆÎÜëëëëëìêçæäãâÝÖ©TJ\grzrPOE;998UoqnfSFtŠŒˆ‰…{y{|wwpa[]_WWVWY`YSO_tƒxj`^fTVPMTUNMLHDNTU[iw~ˆ•““’•——˜•’Ž…iO;:<<::::;>>>=éìêçæçèçêëëêæáÛÓÎÉÃÀº®}Cb’ž¤¨£xcI;AHGLMHHMRLU†‹„€…ƒyuxxvuth^a]QPZY\_VU_dhdbV\ccTWOLNTNJD>AKaˆ†›—Œ‡„~~}|z|€‚„‹‹vQ66:9989;?@@?æåïììììíìììèÝËĽ¹¬¨¡”cR_®¸µ³²¨°¦y‡~XYR?556\Ov‡‚ƒ€xuxzyurlh_WPLYZ[VVY`^YKZa\][[_XMMTPNKLPK‚^_ZWVVQNOONMMLPUVUWXSLau:9999;AEEE¸uÑêçèçèçæÛΦ¡¦¢ ”“‹Wh=apg_gf˜zTVV]L64Tg`…‚ƒ||rqxz|tkcdWRTHCNWWX[\QMKVY]^V[c`TNNLLQPPL~^^mqv|ƒi<::999;IX\_`akNbŽ?89:<89;<=BIJJÉÍÊʲ©«£–Žˆ††…„„„ƒ…jtV36TrSDRQQQQRQI_{_G˜eT;G7888JTG@ALQND?@A>::6Y‚?96@–fx}yy~|sjkkmga^_Z_[PQXXQPU][[Z[__USOFCBFHEAf¢XJ:@6A]TAB844>HF=BEEB88Kd[L?IIBDKQXb`x‚„¨oDDGgyf`XHFDQh}ppObStpVILORPNMMRs”pA=:=`nsKF\yxsigjswhZVVTSSPWYPPZ^[X\b_ZPRUPJIUVSR†“MFAB<]€…L=855778;@AB?87B`FAN\[OHHWakP{¢˜¤\`I=IZWQB88:8;h\GMDO=EBCJSUUPKCEJ[nXLD:;L@AB669C7/8E`rjbaa\[fcXQY\^]YTNPYV\dcc\RRVUMF?@JXgq‡k>ˆqDA?JGCHJGNNOTPIHHGE@:CCOOTMYprtnhU¼Èö¹¼ÀÁÂÃÄÄÆÇ¿¬š\A[?==<989999999999976?M[dm|~‚‘ž¡ Ÿ˜“‰„{o`WY[\WUQQOTZ]X[]WPSYUQZ^]_ROMUkdXPB;=FIIIKVhhkl]DBA>—~`lnpnnr}²žŠ†{xwurlu€|{|zxxzxxz}ˆ‘ž¬·´ª˜‰up†¦ycW[[ZYX]a\YYXXXXXXX[^]YYYYYXQSmdiwrvxsqonnprsuwvvuvvvx~|lc™­Á‡>013445774761[œhv‹“––—‹_aWSŒ¤¢™–”…pjxsuwvwwvvvutsssqu{‡–¥­²°šr’k_SVYXXYXWXWVXXXXYXXXXYYZZYXTTMUT]agszwspnllmnorssssrpqry]Q—º·À™LH=@@;6Gh@<@z{`˜ËÐÕÙÚߢ[RKK‘ãáÛ×ÙÛ¡qXnijkloqsuvvwvttrqppqruz€k‚hc]YWXY\\[[YYZZZ[\\[Y[\[Z^\c|cNTUUVZX[{xspmkllmnoqrrrqplgO9vËÍï[^bŒom½TdvŒag–èáàààã„WafQ„áÝÙØÜå f`diedefgiloruvxxvsrppooqqeksco²~žŠTWX]^[^]b^^\YaVTQ| ­É‚LRZYXWWVzzzvqnmkjjknnoqqqlSA2>¼ÇßÛ§p`doi­ê‡asŠ[hm·»ÀÃȽYJ`oYqÒáÞÖʼuNqYkhfggfedehknquvwwwusqoq^Ze\cÄÓÔãë…GCT•\@YˆzIA}ƒb|]WA589;=;986;A<;68DUF8>:LhXhjmonjhfdcbbbaaejlortxaAEKOPRW_Œªoh[˜æŸ«¥°á|bnseYXTPKQZWVVVVorsuuuttrmifdcceggA./24;DShƒª·ðîíïðóÌ’UhJMGKYVJB@8444779gk;=9;AKSRYO?=@<:E^Y™}\`gknnnljggghfcaae]A=ILOTX]kx}€ƒ»ßÜÝÞßàáäÁ}zvrg[VRMKYjihiecikmorstvvutrokgdccB8306XÚÆyu‰¡Œ‰hjŸ†sVFGJRXRJIHSTIBBJSXZXY]^bgjtu‡rdnkirmnoomkihhhfcc[>>CQXnnd\\\[[[[[ZYs‰¦®«¦¡›•‰‡„‚€€~‚…ˆ˜†fpfgikjigecbcZ6;KORT[^gaN?@KaddbficbN45F[eeeUPJw’wqnmk„^egilmoqsttsrqpje=96/-.025778=>CRvYPubXZZ[ZZZYYYy…€wld^YXWTXYSQPPPPQRSUZexhfddfhhhdccY2:HJPžm\NM;:9WaZ€Ë†DAd¨ÎÖ¾‘qÌÀs_ehikmnoprqrqng:682=TG@864,+,+-b‰€‰‚fY[[[[YtjC>?=<;99;;74779::8777887:>Yliebbcdggg[-6A@Enyaci^@;99DFGGIJJHBLelf`^QBCTi‚©ÊÖ»ÁÏ´c]cfiklmmpqooi^86731?EG@74.268=^‡‰~¤ÕÍšc^___bŒR<=AACCCDC;BCBABBA9‰F>B@:6666776:B?Zmlljfdccf],3674158==?BCAAACCA@A=:76310.,6F>SlkjgfuyµÇÏŒ[aeghkllmnnkfWD<:<@?>==;;?BA?Mm_L¶æ¾é×opts™m=ENOLS\:33566657@@Lilkmkhecd\,34I[8*(..(%%$$%##$%%'*-1=46:;98;><:F_SY]97NOI=744854333355:ELV[biH &,2g\59@94324;>;FVPOLE:37A?Sjkmnki]RI*14.)4==<<=<;;;;;;;<;;=>>?@5")035JcegijjZ\{ºÆΞ`aegiklmnonmlkjjgb_^^^__bcdNEIGLRY`uÁØH†…;A546b‚xJ573112347ADJRYZYO73?AFeaBA@WeZL/01.07443421110/.-/0.,+-...)!,310Ib`bdgiSLOŒ¾ÄÍ\adegjklmnmmmllkfc`^^^_`acNBGGLSZ\_szGœb<@989b‡‚d><400114?ACCE\lgcabd^SOYš½ÇÅwW^`cgijklmmmlmmjfc_^___acM>FFKTWB=<:g™L=AA^MBKLGCB910124AHRJXgbXOC57@98555=@E@7:D[igfeca``_^^`behhhd_]]\[\]^\[[]afjklmorrssqmlbSNKr¸Ãάb_cegijklmnnnnmkieb`___bG;FHHNM;FZ6G@=8AC8997788:?CA===;9787779;CJJF@_W?hgghhgghhhhhhhgeb`behjlkhda^]^`aa_]]^afkmnopqrqlow^QOYŸÂËÊ]dfgikkmmnoomllkgc`_^`B4EGW§º‚P‚IJT}kFAGIJNRUY[_cghijjjijklmllkhoe{…Idigghgghhhhhiihgecbbdfillkfc`______^]]_chkmnoqqspphWQNh¯ÃÐÄt`dfhkkmmnnnnnmlifb_^`B5@FRºè³Yj«ŸF†ŽnUottutrrqoljhgeddbbbdeeghjnepƒyccfffgggghhhhhiihgecaadikljjfaa____`^\]^`eimnooqnnodTViŠ¾ÊÔ·kaefijkllmnnnmmkieb_`B0;CHg—”dT€‘R‡ƒsdkd^\YWUTSSRONMMLLLLLNOOOSUTX\nranldgggfhggghhiijifba`cfjlmlifccaaba`^]]_cgjllnppoiZQTU‘ÅÇÓªb`adfgijklmmmmljgdaaB,7=CFIShTY}jtcXOPPMJGGECDDCBA@@?@A@AABCCDEEFGMd›ÚÒŒdfffgfffghijjihecaaaeimmlkhfcabba`]\\\^cgjrssrpgTNMY¥ÇÍÓŒ[adefhijjkklmmkigb[?.657544HZbt[FEDCDC??><;<<<<;::;:;:;;;<=>??>>AQ…´ª™gccdeeeefghijhhgedb_acimnnliecbb`_\[[[[\_drsstuxjUPJn½ÊÒÃm_ceghiiikkkmmkig]N8-44;332>S‚ŠdM>>=====;:98888867888888889;<99;??BYbabfgeddddddeghhgfgffda_^bikmmkhfdb_\[[[[[[\]qommlni]RMN–ÇËÖ ]adfhhhhjjkllkifaR6+31/3AC?UqnUB><878:;<:99:<=>GEAAB@@@A@?DYu€y‡›ƒ@Tfed‹vcdcccddfggeffffedb__cgkmligdb^\[ZZYZ[[[ohfhicd`UOKg¸ÆÐÌw\chigghiijkkkjhf]B.--,.-,1W[`UƒŽ†s†‚fNIHHGGIJLdLJKLJIKLU³Øæݸ¾Ü¸7Igfddcbbccccddfeeeefggfeb`_adhkjhfc_][[[ZZ[[[kghhrnjdUNMN‡ÂÇÔµdaegffghiijjjjhfaV>/.11/-0PKM\áÄÁ·àéäÉ]JS[acqŽ‰”Ž‚`a_S@_ÊòÒÇÛêö’5Ghffeijndbccccdeeeefgggedb`__cikjjgb_[\\[[Z[[nmiirqsjVNNLY§ÅËÔ™badffghijjjjjigc]SNLLMMNFJ@:MÇñèÒ¿ÓòÈc=>DCC89>DJUlŠ´àzzëòðííîìçâÞܦR« mN<81//.1Fhhhggfeed`‹¾Â¯mcefeefghhhggghggeb`_aejlmmlgcztsqwsmlnmlnhMJMKmºÂÍÎx]cehhhijklllllkkifcV6<<311038>BPc’|Gs}voqxj\SLE6Ij@F:4;ƒœT,4HghhghgfffcuËèä¥adeeefffggggggggfeb_]`eiknnli{tnnkjlmnleQKMMMÀÃÖ¯\^bfgfhhijjjjkkkjifW3:>6/Bˆ˜Z88JEBj@679=CIDBAB@AlSAM:1QÙ¾]-7Ifihhhggffecmyuqcceeeeeefggfffffhfea_^`dimooluytvvpnjnpommf\OMJa¶ÁÊÔƒZaefghhhiiiijjjjiiXGG=7.M¸ã‹16AZJd‚TNPSc^XY[[_x†V…=227J501;Ifihgggggfefe```jkeeedeefggffffffffdb`^_dimnnpvtwvnqkknnmptkSKKN—ÄÇÖ¼fbfghhhhiiijjjjjijZGL;;347IA443fWK~€z†©…vu‚qa`MBW@44412339Geihgghggfefgedkeeeededffeeeeeeeeeca^\^cimnnuoommnkiklnnnjTKKMi»ÇÏÖŒ_efgihhhiiiiijjij],6<=45546867HEECDK^b\^TTaSGINKO>3220/122Acihhgffffeefeeeb_dedddddefeeeeeffeeecb_]^cilpopvtpmopphillkUKKNO”ÇÇÓ»d`bdgggghhiiijjicW)/=411121112?FCIJJJJV`F@<9441.1.**)*+-+-=`geecccccdddcba^^`ccaddddeeeeefffefgeeb_]_dhlnpsponqttoilmgVMLMLeºÈÌÔŒ`efghhihhhhiigcXN)-:-+,*((('&&%%##""""!#$&'(''')+-)##%%&,Aix|ƒˆŽ“™šž›–“œª­cdddeeeefgffeeeeecb_^_dnmnosvuptmkmlmpePKMMM‘ÉÉÔÁlefhhhihhhhifc`YQ+,8+()(-/1476246667889:<>@A@>?DFE+/Lk†–£®²²²³²±¯¯­®­­®®¯¯²¹¾²qbccccdeffeeddddeedb_]_mqwtpsrorkkkiksdNLMMK`¸ËÍÕšbfhhhihhhhhhhhcT2.7,*''4979:::;;:9888988778865340B| ³³¯«¦£ š–‘‹‹‰††…†‡†‡ˆ“„eabbccdeddddcddeedca^[qwwrllmppkjluttf`ZNMNPŠËËÐÈvehhijihggggfebS606-0.)('&&%&&%%%%%$$$$$$$$$#$"#9ž®¡–Œ†€zwuqmjffbbb___```aabfjvpbbcbbddccccccddddcb`]lkljeaclls|vvwqjqgQLNT`²ÊÉתgghijiihfggec`WG4/+0/+$""!!#""!"#$##$$$&'((())(`¤ukdb_]]]][\]]wd[ZVWWVWYWVXXZddbddcddccccbccdddccb`rnklkrmrktvuuv~~m_SLLMM~ÆÇÐÒ…cgghhhgfffgd`ZTF5352222444565555578879;===>?><~ˆ^]ZXXUUUWWXPGCuS>CZbdedeca`\KFbccccedcbccbbbcddcccb„}€|xy{yliqxxz~vf_SKKMMU¥ÉÇ×»gcdefefffffda]XTLHGEEGGHGGGGGHIJKLLLKMPPOONNLS–iKUZ]aglnnllOINPUZWWZUJIIHHHSpCVcccdedccdcbcbcdcccdc†|vyttmmtpmkqkabbULKK\b€¼ÅÍ×_cddefgfedeb`]XURQQPPOPNNNOQRTY[[]^^\[[[YYYUq“KQs{‡‹Ž’–šŸ©ˆs’xƒ‚[MN@2123454j`Fadcceeeddccdccccbcddƒ€zzzsqsfdipzrjmgYMLLY`[›ÅÅ×Áiadddeffdddcba^[XWWVUTSSUUUWZ\`behihdbbb`^^Y‰}Czt·¾¿ÁÃÃÃÃħ¹Ýªª°iLN=3334565MvA[efigeefeddedcccccdd…††‡‡‡‡‡‡‡‡‡‡†††††‡‡‡‡‡‡‡‡‡‡†„‚|vutttvxxxxxy{{zvuwzz{{zyz{~€€€€‡††††††††††††…………††††††††††††„‚|yutsuuvxxxwvyzzzwuvvxyyxwx{}€€€………†………††…††………………†…†…††………††„‚|vuvvvwyzxxwz{zyxvvuwyywwxy|~€€€…………………††††……………………………†………………„‚{yywvy{{xwwyz{zyxvvwxxxyyy}~€€€†………………†††…††………………†…„…„ƒ„„„„‚€|zxwxz|{xxxzz{zyvvxwxyyyyz~€€€…‚ƒƒ„„„…………†……„……………„‚ƒƒ‚‚‚}~|yxwxy{yyz||zzxyvvxyzyyxz|€ƒƒ„ƒƒƒƒ…………………„…†††„‚€€€}}}}{yxwwwwxy{{{{zyxwwwwxxyyz|~€‚„…‚‚ƒ…………………„……„ƒ‚~~€~}||||zyxwwvuwz||{z{yxxwwuuwyyz}~€€ƒ‚€‚ƒ„„‡‡…„„ƒ{z||||}~~}||{{|z{yxwxwxxy|||{{zwxwwuuvwx{~€€~€~~„‡‡…„ƒƒ}~}zz{z|{yyxy{yzzyxxxyzz{}|||{zyxxvvvvv{~}~~€~€€€€„Œ‹‹ŽŽŽˆ|zyyyxwwy{z{{ywwwxxz{|}}}|{z{{zxxwv{~}~~€€€€€€€…‡„„†…‡ŠˆŠŒxwvvvvvy{zzzyvtvwyz{}~|~„…†ˆ‰‰ˆ‡†„‚€~~}~~~~~~~~……ƒ„„„………ˆ‰utuvuvvy{{zzxzzyyyz{~‚…††ˆŠ‹‹‹Œ‹‰…€~}|€~~~~}~}}}€‡ˆ……‡‡‡…€„ˆƒvsttuuvyyzyzz{{yyzz|~~€„ƒƒ„†ˆŠ‰‹ŒŒ‰†}|ƒ}~€€‚‚‚€~†‡„†ˆˆˆ†€„‰…xssttuvxwxyyzzzyyz|~~‚†‰‰‡‡ˆˆˆ‰‹‰‚~~~|z}€…‡‡‡‡†€‚………†‡‡‡†ƒ‰‡}yyuutuwxxyyyzyxxy|~~ƒ‡ŠŠ…‰ŠŠ‰ŠŠ‹‹„~|{ws€~‚…†††‡†„ˆŠŠ‰‰‰‰‡ˆ‡†‰‹‡‚xxxwvxxxyyzywxz{||}ƒˆ‰ˆ‡ˆˆ‰ˆ‰‰ˆ‰…~{uomƒƒƒ‚ƒƒƒ†ŽŒŒ‹‹ŒŽŒŽŽŠ€yy{{{{zyxxtpp}„ˆ‰ˆˆˆˆ‡‡ˆ‰ˆˆ‰‚rjkk„„…„„„„„„‡‹†ˆ‰‰‰ˆ‰ŠŒ‘‘‘Ž‘‘ƒ‚‚‚}|xus€……ƒ„…ˆ†„„…‡„„…~ollk‡†‡†ˆˆˆˆ‡ˆ…~ƒ†††††ˆŒ‡€}~„‡…~‡Š„ƒƒ„ƒ„„„ƒƒƒ‚ƒ„~yututsstuuxy|€|u‰ˆˆˆˆˆˆˆˆ‡…‚ƒ‚ƒ„…‡Œ†{|†‰…}{~ƒŠ†„„„ƒƒ‚ƒƒƒƒƒƒ„{y{zyxyyz}}~†…‡‰‰‰ˆˆ‡ˆˆˆ…„„„„„‚‚‚†‹‡††‡ˆˆˆ„……‡‰‡…„ƒƒƒƒ‚ƒ|}}~€‚}y|„…†‰‰‰‰‰‡‡ˆˆ…ƒ„††„‚†Š†‡‰‰ˆŠ‹‰……‡‰ˆ„„ƒƒƒƒ‚‚€usuxwx||yxurrx‚ƒ‰‰‰‰‰ˆ‡†‡…ƒƒ‚ƒ€‚ˆŠ†††‡‡ˆŠ‡‚‚…ˆˆ††ƒ‚ƒƒ‚€vrssw}~~zwrqryˆŠŠ‰‰‰‰‡†„‚‚‚€€‚‰’‘Ž‹ŒŠŠŒŒŒŒ‹ˆ†‚‚‚€vssu}„‚€€€{tssy~„ˆ‰‰‰‰Š‰†ƒ‚‚‚‚‚‚„Š“–•”””‘’’“”““”“’‘Š„„ƒ‚|yxy€€€€{yy}€†ˆˆˆ‰‹Œ‰ƒ‚ƒ‚‚ƒ‚„‹ŠŠŽŽŽŒŒŒŒŽŒ‡†„‚‚‚~~~€~}„€}€„‡ˆ‰Š‹Š…ƒ„ƒƒƒƒ…Š}†ŒŒ‹‹‹‹‹ŒŠŠŠŒŒŒŒŠˆˆ‡…ƒƒ‚€€€€€€€€€€€‚ˆ†„||†ˆ‰‰ŠŠ‡ƒ„ƒƒƒƒƒ…†~‚ˆ‰‰ŠŠŠŠŒŠˆ‰‹‹‹ŒŠ‰ˆ‰ˆ‡…ƒƒ„„„ƒƒƒ„ƒ„ƒˆ‰‡}}~ƒ‡ˆ‰Š‹Š‰ˆ†…„……„…„ƒ‚…ˆˆŠŠ…ˆ‹‹‰ˆˆ‡ˆ‰Š‰ˆ‡‡ˆˆ„„†††††††……„‚€…†‡{~}~„ˆ‰Š‹ŒŒ‹‰‡†††„ƒ„„ƒ…‡‰‰‡„†‰Š‰ˆ‡‡†‡‰ˆˆ†„‡ˆ…‚‚‚‚‚‚‚‚€‚ƒ„u}}†‰ŠŠ‹‹‹Š‰‡††„ƒ„ƒƒ…‡‰‰ˆ‰ˆ‰Š‰‰‹‹‰‰‰ˆˆ††ˆˆ†…„„ƒ€€‚€€p{€~‚‡‰‰ŠŠ‹‹‹‰†…„ƒƒ‚‚†ŠŽ‘‘’““””’’ˆ‡‰‰ˆ‡ˆ‡†ƒ‚‚‚€€€gm{}{~ƒ‡‰‰Š‹‹‹Š‡…„‚‚…’’—————––––—˜˜˜—‡ˆ‰‰ˆˆˆˆ‡„ƒ‚‚‚‚iiq{}~…‡‰Š‰Š‹‹‰‡„‚„““”“‘‘Ž‘’‡„ˆˆˆˆˆˆ‰ˆ…ƒ‚ƒƒ„ƒkjkw€~}‚‡‰Š‰ŠŠ‹ŠŠ…‚…ƒ‡Œ‹Š‰‰‰ˆˆ‡††††‡ˆ‡‡ˆˆ‡‡ˆˆˆˆˆ‰‰ˆ†ƒ‚‚ƒ„†…mlls€}~…‰Š‰ŠŠŠŠŠ†‚‚ƒ‚†…ƒ…„ƒ„ƒƒƒƒ‚‚ƒ„„„ƒ†ˆˆ†‡ˆˆˆˆ‰ˆ‡†ƒƒ…†‡nliny€~|€‡ŠŠŠŠŠŠŠˆ„ƒ‚ƒ‚ƒ„„‚‚‚€€‚…‡ƒ„ˆˆ„ƒ‡‰ˆ‰ˆ‡‡ˆˆ…‚€€ƒ…‡‡kkhhky€}~ƒ‰ŠŠŠ‹ŠŠŠˆ…„ƒ‚ƒ„„‚‚‚‚€‚„ƒƒ‡ˆ‡†‡ˆˆ‰ˆˆˆˆˆˆ†ƒƒ††kkhfes€~}~…Š‹ŠŠ‹‹‹ŠŠ‡ƒƒƒ‚€€‚‚€€‚‚‚‡ˆ‡‡‡‡‡ˆˆˆ‰ˆˆˆ‰‡ƒ‚€„„kiffek{€~}‡‰ŠŠ‹‹Š‹Šˆ„€‚‚‚‚€€€€€€€€€‚‚‚‡‰ˆˆ‡…ƒ†‡ˆˆˆˆˆˆˆ†ƒ‚‚fffgfhp}€~~ƒ‰ŠŠŠŠ‹‹Š‰†‚€€€€‚‚‡‰ˆ‰ˆ‡…†‡ˆˆˆˆˆˆˆˆ†ƒ€€hhgggghv€}€ˆŠŠŠŠ‹‹‹‹ˆ€€‚€€€€€€€‚‚ƒ‡‰ˆ‰‰ˆˆ‡‡ˆˆˆ‰‰ˆ‰ˆˆ‡ƒ€€ihgfgghr~…Š‹ŠŠ‹‹ŒŒˆ€‚‚‚‚‚‚‚‚„„ƒ‚ƒ„‡‰‰ŠŠ‰‰ˆˆ‡ˆ‰‰ˆˆ‰ˆˆ‰‰…‚ihgegiho}€~€‡Œ‹ŠŠ‹ŒŠ€‚‚„………………†‡††‡…‡ŠŠŒŒŒ‹‹‹‹ŒŒŠˆˆ‰‰ˆ‰‰‰ˆŠˆ„jjjhhhhju~‚Š‹ŠŠŠ‹‹‰‚€ƒ„„……„„„„ƒƒƒ„‰Šˆ‡……ƒƒ‚€„ˆŠ‰ˆ‰‰‰‰‰‰‡lkijljhho}‚€†ŠŠŠ‹Š‰ˆ„‚‚‚‚‚‚‚‚‚‚‚‚‚‚…‡‚€‚‚ƒƒƒƒƒ…ˆ‰‰‰‰‰‰‰‰Š‰llmnonlns|€}}~‚ˆŠ‰‰Š‰ˆ‡…„„„ƒ„„„ƒ„„…††……€€‚‚„‡‰ˆˆˆˆˆ‡ˆ‰‰‰‰‰‰‰‰{{zz{{{zzzzz{zzzzzzzzzzzzzzz|ƒ†…ƒ…††‡ˆ‡††‡‰ˆ†‡‡††‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ„„ƒ„…†ˆ†……†ˆˆ‡†††…†††††††…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{zzzzz‚‚ƒ……ƒ„……††……‡‡‡†………………†‡‡††…„‚‚zzzyyyyzzzzyyyyyyyyzzz{|{||z|‚……„„……………†ˆ‡…„ƒ„„………‡‡‡‡†„ƒ‚‚€€y||zzzzzzzzzyyyyyyyz{{}~|}||€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡‡‡†ƒ‚‚€{€€~||}{yyzzzzzzzz{{}}~}}ƒ‚ƒ…„„„……‡††‡ˆ†………„„…††‡‡†……‚‚‚€€‚€€€|{yzzz||{{{|}€€€€€‚„…ƒ„„†…„„„…†††‡……†………„…††‡‡‡…„‚‚‚€„~€~}|{zyz}}|~‚ƒ‚€‚ƒ………†„……………„„…†‡…………„…††††‡‡†…„‚€ƒ‚€€€€~|{{~€‚„…†„„ƒƒ„ƒ„…‡†††………………„…††‡†„„„„……††‡‡†……„‚‚‚ƒ‚ƒ‚€€€~}|€ƒ„„ƒƒ„„…„…‡‡††††…………………„„†…„ƒ„„„†††ˆ††„ƒƒ‚‚‚‚ƒƒƒ€€€‚€|}~~~}|ƒ„…„„‡‡‡‡††…………………†…†…ƒƒ…„ƒ…„„‡†…ƒ€ƒ‚‚‚‚ƒ‚€€‚ƒƒƒ€}}|}}{}~~‚…†‡‡†ˆˆ‡††……„…………‡…†……„…‹“•–•–•“Ž‰ƒƒ‚‚ƒ‚„……„ƒ||zx{yx|~|‡‡ˆˆ‡ˆ‰††…………„…‡‡ˆ†††……‰—˜•’‘ŽŽ’ƒ‚€ƒ…€‚ƒƒ………†ƒ~{}yxwx€|€†ˆ‡‡‡ˆ‰‡†…„„……†ˆˆ‰‡‡…„†‡}{{zyyyxyy}ˆ‚ƒ…~‚‚‚‚ƒ†‚{{‚€xxxz‚}…‡ˆ‡‡ˆˆ‡†„ƒ„„…‡ˆˆˆ‡…„‚†‡}~}{zzzzz{‰ƒ‚……„„ƒ~zz||€„‚||~zz||ƒƒ|~‚††ˆˆ‡‡†……„„ƒ…‡‡ˆ‡†‡š–†„z}|z{{{zzy‡•¤‚ƒ„…ƒ|{|~ƒ€}}}}}~~€~}€‚„‡ˆ‡‡†…††„„…†‡ˆˆ†Š®³”†{||{}~~}|{ˆ¢´€‚‚ƒ‚~~|{|}}}}}}~}zy{}|||{{€„………„†ˆˆ††ƒ†”™––––—šš˜˜™œœ—ˆ€€€€€€€~~~}‡€}~~~~||{zz{}|{yy|‚‚€‚„…„„†ƒ~€¡»¿¿··¼ÀÀ¼¶¼Ã¿¼€€}€€~~~~Š„€€|||~}}~~}~~€€€€‚‚†¡ÀËÑÔÕÖ×ÖÔÔÕÎÄ°€{}€~~~ƒ„ƒ‚„ƒ€|||}~{zz|€~~€€€€€›‚Œœ§¨¬¬©ª¤›’ƒ‹œ€{{}~~}€ƒƒ„€|||~~|xx|~}}~€€€€€€‘º¢‡…‚€‹Š†œ·®€||{{}€€~€€~‚ƒ||||}{zz~‚}}~€€€€€ÆÑÊ»Á¼š‰‰ ÂÅÃÒÒ±€€~}||}~€€€€€„ˆ…ƒ~{|||||}|~„~}}~€‚‚ŒÅÐÏȺ¨—–¬¿ÍÑί€€}}}}~€€‚ƒƒ……|yyyyzz|}|}|||{zz{}‚‚ˆÁÑѽƒƒ…‘¿ÒЭ‚‚‚€~}}}}~€€€€€|xwwvvwyyyyyxyyyyyy~‚‚‚€ƒ­¹¶¡€†‡‰‰„~Ÿ­±œ‡Š‚ƒ€}}}}~€€€€€€€}|}yxxy{{{z{{|{{{{{|€€‚‡ˆˆ†‚‚‚‚ƒ„‚‚ƒƒ„ƒ‚~}}}~€€€€}ƒ{z{|||{|}||{{{z|}~€‚€€€€€€€€€€‚€‚†„‚€~}}~€€€€€€}ƒƒ~|{{}~|{{{|{{{zz|~~~€‚€€€€€€€‚’‰‚€}}~~~~€€€€€~~||~~{{{|||{zz}}€€€€~~~€€€~„ƒƒƒ€}}||}~€€€€|}€}||||{{{z{~}€‚‚‚€€€‚ƒ‚„„ƒƒƒ‚€~}}|}}€€€€€€€~|}~|{z|{{{z{|}~~€€‚‚‚‚‚ƒ‚‚ƒ‚‚‚‚€~}}||}}€€€€€€~}|||zxxxxxxxwwyyz~~~~€€‚‚‚‚‚‚‚‚{~ŽŒ‚‚~}}|}}~~€€‚€~{wwwvuttuvwwvvvvvz~~€‚‚‚‚‚}|‡ˆ‚ƒ~~}}}}}~€€€‚€zwwwyyzzz{{{{{zzz{€~~~~~~€€‚‚‚‚‚€}}‚ƒƒ‚€}}}}|}€€€}~~}~€€€„†‚€~~~}}~‚€~‚„ƒƒƒ}}}}}}~€€€€~ƒ…ˆ„€€ƒ‚‚‡‡…ƒ~€~~}}~€€€ƒ€}„ƒƒƒ‚€~}}}}}~€€‚‡‡†ƒ‚‚ƒƒ……ƒ‚…‡‡„~€~~~~~}~€€€€€‚€{{}ƒ‚‚~~~}}}}}€€ƒ„ƒƒ„†‡ˆˆ‡…€€‚€€€€~~~~~~€€€€€~zxz„”‰‚~}}}}}}~€€€€„ƒ‚‚‚€~~~~~€€€~ywy}„Š†ƒ€~}}~}}}}~€€€‚„†‡ˆˆˆ‰†ƒƒ‚‚‚~€€~~~~~~~€~zxxz‚ƒƒ‚‚~~~}}}}}€€„…‚„„„„„„ƒƒ„‚ƒƒ€}~€~~~~~~~~€~zxwxy€ƒ‚‚‚€~}}}}}}}~€€„†ƒ‚‚ƒ„‚‚„‚€‚€~~€€~~~~~~~~‚‚~zxxzzƒ‚‚‚€~}}}}{}}~€€€€€€€€€€€‚‚€~~~~~~~~}~~}~~~~~€‚~|z{|{}ƒ‚‚‚~}}}{}}~€€€~~~€…‰Ž‘•˜œœœœ™‰~~~~}~~}€€~||~~~~€‚‚‚‚~}}}}}}~€€€€€€€€€€€€~ˆ©¹ÁÅÈÊÈÉËÊÉÊɺ„~~~}}~~}~‚ƒ„ƒ‚‚‚‚„ƒ‚€~~~~~~~€|›Á¹°©¢Ÿ•’’ŽŽ‚~~}}~~~‡ˆ‰ˆ‡…………‚™~}}~}}~€€€€€€€€€~€}zxvvvxxwxzyzy~€€~}}~~~ÑÑÑÑÑÑÑÑÑÑÑÐÏÏÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÎÎÎÏÎÏÏÏÏÏÏÍÈ¿´°¦¢•ƒ|ukoxmijppsfieY^b^]d_X]b`aXSQW\\`ebfUVYXVWVU[XRX_^]YUMC@:<:534?3ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÊÃÇÅËÎÏÎÎÏÎÎÏÏÏÎÎÎÎÎÎÍÍÌÌÍÍÍÍÍÎÎÎÍÍÎÎÎÏÏÏÉ· §›y‚zvcabr}q``olg\[\_`[YWR_h`^UQPSZZ_ijjQT]bZTRNTTZae_XQNLB@97754187ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÃÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÌÍÍÍÍÍÍÎÍÎÎÎÎÏÏÏÎç‹sooronpsv~zaccfg]\]]]]UTV_e]\YVSTWVY]jeRRY^WNNOTS^cca[SIDB>95443202ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÉÌÍÍÍÌÌÌÍÍÌÌËËËËËËÌÌÌËÌÍÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͹š{mqwyv€€jie^i[aed\[YWaZUYffVTVYYVQNWR[iTPUXYROTQQ\c`aXUVNH?;86421..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÃÅÃÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÍÌÌËËÊËÌÍÍÍÍÍÎÀ”Žƒ…udm}oejc`bWie[YUUP^b]asn\RQW]WNKVSS\TZ\YWPQSV[_[Y[SRYQJA?@<641.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʽ¾¾ÊÑÐÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÎÎÍÌËÊËÌÌÌÍÌËÉŧŽ|ztkcmsqecd`Z^bVR[UTR[gghjehWRW[UQSWTTYT[^aXTUT[]][YVSPRQJAA@8662/1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɼÂÀÈÐÏÏÏÏÎÎÎÎÎÏÏÎÏÏÏÏÎÍÍÎËÍÎÐÏÎÍÊÈÊÌÌÎÐÍÉÆôŸ|{sgZVdb\_cc^d`WVTNQVZ`bfia]TPQQPNTTTR`OUX[ZY[Z^]]ZURTQSMFEAC=641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ÊÅÇÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÍÊÌÌÍËÇÅÅÃÇÇËÍÎËÿ¼®“‚}rXTSSPVWnqgcd^[MDBOYS]cb^WURNMLJNLRN[OSWXYX\]\[^ZTQTPWQEFB><51//.ÏÏÎÎÏÏÏÎÏÏÏÐÐÏÏÇ¿ÊÄÆÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÎÍËÉÉÈÉ¿¹Ã¿Ã¿ÆËÉÆ¿¯¡¨’€}v`VZZYfibpjh`XWSQSTbUQ]^UQWXSNJHPQSXXSQY[XVYZWRS]XSYRXXA77321//..ÏÎÓØ×ÐÍÎÎÍËËËÌÍÇÀÊÄÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÆÄÅÂľº®ÁºÁ¹¿ÇÁ¿¹¦‰‡rŠ€e^b\\hoYo`W_UQUU_\YQQUZSQTXXMKMTTS\g]PWZXWWW[UN]]Y]\OE=7541/....ÐÛéïîâÒÍÌÆÂÂÃÆÉÅÁÊÅÂËÍÍÍÍÍÍÎÎÎÎÏÏÎÏÎÎÎÏÌÆý·½»³¥¼µ¿··Ä¸»¶˜…}~plgeddV\d^We\T]_RSTY^VVTPPPNNPTXVRTQQTe\MY]YSPPZ[RYZSQLA9==:72/---.ÜîßÆÐìçÏÁºµµ¹½ÂÅÄËÇÄÊÌÌÍÌÌÌËËÌÌÌÌÌÌÉÉÉÇÆ·®ª°²ª¡¬®·²³»¯­¥„yzxplVbd]ZeZS[iaY_YMQSU^`cWRONNQSOUWLPUPR^]Yb_VQMO[YTZRP[JCB=;;96300..íÔˆmw´ìÚ·±¯°µ¶ÀÆÇÌÉÅÊÍÍÍÎÍËÈËËÌËËÌÊÇÅÂÀµ¤¡¦§š£®®®­«§šˆxnlhmn^YZWbcXW^^YaWRWUSVWb[SUQPSVTSUXTQXQSYaZ`YZ\X^`WUZXTSB?G<977764100äuur’Õ麯­°³µÀÄÇËÉÅËÎÎÎÎÍÇÁÉÌËËËȺ¶¶¹¼® ™‘œŸš–¨³«­¦œž”zjffWidUNIOYcZST^gban_`c_UYQQQPQSXTVTW[TZQQ_`_h[cakiaUQONLKA>A9855654/02Ê€‡yÈì««±±³¼½ÃÉÉÃÉÏÎÎÍËùÆÍËÇźª¢ž§¨ ž˜‹––“§°­¢–’‘ˆvddi\]YQRRQZb`\iobTWdQXrp]SQMNNMJMOOPNPRZUX`XVZYah^\YRKMIHGDIB8555554016¼…Š„~ŒÄëʦ©²²´·¶¿ÊǽÁÊËÌÍËÁµÅÌÉÀµ§Ÿ —š—‘’‡•—‘Ž•šŸ”ŽŒ‹†vvrd[UX\[QX]ZU^j^TS]hgbb]TSNLLKKJIGINLS_]X\WQ[gihV\VNVSIKB@D;864434437=¸ƒ…†ÂçÜÅÁµ¯±¯®¶Ä¼¯³¸º¿¾Ç¾³Àƾ±¢¡šž¢–—‘†ƒ†ƒŒ…ŠŽ‹‡„…„‚{xrbYWWWaZVYXSYhSQQ_ifTT[YTONMKKHGKIKSV]aTZSQntehbb^Ub[TUH=<;97533365;?Ư­‹†’ÂåìíçÊí¤¤«¬¢¡¢¤¥§«½¶ªª® ž™››¢“–‡ƒ†‚‚†ƒ|„ŠŠ†‚~€~wvrjdYS[i]SVUV_]PY[^`[TTSTSNMOQMNQQIELQVbTTO^ddb\fj_TU]ZITG==<:556589ÇÈËÂÁÆÎßëëëëëìêéèèæãÜÖÉ„KOV^ek^lqUGIGNhmicVEmŠˆ‰…{yz|wwpa[]_WWVWX_ZSO_tƒxj`^fTVPMTUNMLHDNVSPSU\kx~}{ƒƒ‚‚„xs\I<9<<::::;>>>=éìêçççèçêëëéæãÞÖÏÊÅÀ¹¯žXIu‹•›žxN?24;ANSax‰ŸŸžœ—•”’’‘‘‘‘‘’”“ŠjB5:9989;?@@?èÝëììììíìììçÜÍÇĽ¹¬¨ LT“¶µ¶¶®¡›ojt\URC556JT_ˆ‚ƒ€xuxzyurlh_WPLYZ[UVY`^YKZa\][[_XMMTPNKLONO‹qrje`]]][ZZZZZ\[\]aaZmo99999;AEEEÎu½íéêééçæÛΨ¢¨£¡•”Œk\Md‹‚´–†¡dWVQI95=nQƒƒ€||rqxz|tkcdWRTHCNWVX[\QMKVY]^V[c`TNNLLQPOLM‰WTZ]aehQ>>==<<>JW[]]_U_@89:<gS958<=BHIDN§ˆ¡žŸ©¤–†zyy|†–›€|m}a9?<;=_\<8<>AAFLQWafn„‚£}MGAZxmdXECIK~w~`”SUPh}wNIHIJIJEDO†“R=;5g”\mW^uxsigjswhZVVTSSPWYPPZ^[X\b_ZPRUPJFLUPGO‡MA?>:axnA;6558<;=aLmL]MRPHIRY][ROIS^zqND=8R_FjE<:eunhggemaVV]XY\SSUSUQ[`]eaXWSPJJHEKV\_i—oGDGE@d„xBB=6565:@BCCB?8D]DB[`WW`kjiI{ìê´qou{|‚‚€Y729II=:978??=?><<>;::8EIGK?99;A949Ailddd__idXQY\^]YTNPYV\dcc\RRVUMF@>DQ_pw[M{[FCG]KCIH=;:;EIKKLKI?>O@GZ\RassnhPo«ÂÉÉÆÇÊÌÐÏÏÐÐÑ¿›€P6ZJ===:898888888999875688=IMBQduztkfgfc_``WY[\WUQQOTZ\WZ\WPRYTQZ^\fYSX\q^InS9:;BDGJKXlmomZB@>=<=BG`ZDFUuvrqjKeˆ¿ÖÝáâáãçææçèçåèܸ[QC<<;989888888898998Ncx„˜Ÿ¦­®¬«ª¨¦§£ž•ŽrZ]VVUVX]TQZ[UOPV]ZYZe|‚†ŒzZi`R~|f`XHJSXXWYZ]]^^\XXTLK_ls‹‹hnorqnniYi©½ÃÎÐÒÓÒÒÑÒÒÒÐα·lK<58976776678777785g£ ¤Ÿœ™’‰†…‡…‡‡ˆŒŽ“˜”zployŠ“‰ˆ‘’‡…‘®–€~€~{}tl§¥svrpgf]Vgtpnnmkjjklnqre]cbgrs\hhitskiqpqswz~€‚‚€‚ƒƒ…ƒƒ oVobB444565568A8675Klnkihheflpjigggggfem‚y{|zxyzyz{~€ƒ‰šª·µª™Šuoq˜¢sb``\ZZXfh^[ZYZZYZ[[_ebZZZ[\YPTejvsuwsqonnpqrtvvuuuuuy}€xhx«·œA13445578:7763}•`pxzxwy~†œ¶ŒŠŒ„€}zrwystvvvwvvvutsssqt{…“¢ª±®ª„„‘k[UYYXXYXXXWWWWWXXXWXXXYYZYXWSKS^`gtzwtqmklmnorsssrrpqt{nOˆ¦¾­šK8866537B?94?—prŸ¥­°±®rHG>_¬»¸²±°¢‚bnjijknpruvvvvtsrqqqqqty€‘~scYQTWVXZZYYXXYYYZZZZY[[[ZXZY]XOSUVZX[{ytpmkllmnoqrrqqpomb;g¸ÈÐñ¼‰`TWejE |Cbu‹Y|ÅÞÝßßáÓl`[TY¿æàÙÚÞÛ€jYjedefghloruvxwurrppnopppestatrg}iY\]\Y]^]]]`^Y[[ZUr£‚´oOUZXWWVzzzuqnlkjjkmopqppo`M5=“Ùàïó¸}_`p‰sÔ±[nx^mÌåáááå¿PZb\U³äÞÞÝáÝkoXhhfffeddehknrtvwwwuspnnp\dhUƒÈÁ¶äÆ\KIauSQ\xcONmpDG[Êí×ÔÏxNVZXXXXxyyxwrmjighjlnoooo[>4.Dnt”® ›bnl[óßil“hhW€•š £¦u@V{jYŽÖÒɸ¦‘Icd_kkhfdcbbacdfjosuvwxxuroSP]ShØáÚãó»QAO¯k6x°DK³g:O¸ðÞÕáÈ]QTXWWWWwxxxxwsmjhghijklmnU520/24>ANaYeuÜÌŽ€ž[jPE98:977>Všv]a_OH@8:CLmYjnmkiecbbabbbfkorsvwwvvSFQROœº¿Ú÷‰?=†¿O—èÇP–¯MEsó鶤€hPNR]UVVVrtvwxwvsojgfgghijmM00379AJMQUX_n{‚†‹ª»¾ÄËÆÃÄȨ‚{seZURMK[ihiechjmoqstvvutrokfdceR5604A©ð‰\atyhen‹¡’‰_>ABGSYTIFDVKC;=IORQPA;;=::Q[k™kVbfjnnoomkighgecacT=@JLOTW_mtts‚×ðééèìîîô¿onoodZUQMK_kiigfcfjloqqsuttsrplfcdQ79007x¥uev†Ž‘xVo‘xlQMOSWVQOPSZPLJLRW]a`fkoswy~„|ˆknsljsihlnnkgfeeeccR8?KMOSW`lnnnåòìêëïññ÷ÁlmkldZTQOMallljhadgilnoqrsttsrojfeR6:0/14>A<>FA;9;A^‘up`__]\\]^^^]eƒy‡–¡¨­°°°±²±²±°¯¯¯±²¯xfdfikjhgecbabP4?LORTWajf`_h¥ÆÊÈÉÁ½º¸ˆOMVfe\URPKq{romk†]egilmoqsttsrqpjhQ4:///038<=>ACDIa[XbpZ\[[ZZZZZYZ~Ž­«§¢œ—Š…‚}|{{z|†Ž•zipfeeghhhdbacO1?KNSnrd_RB../8BMENFAB508IQa~˜bLFžÉ›sklÅ}_ehjkmoorsrrrrokP1;10.,--....013AqTqrVYYZZYZYYXa•s‚xog`[XUSQYTQPOOOOPPRTXfvheccdggfebcN.>HEaÒ¦gVPMLOMLTcU]XUXSOJWVZ›ç…D@‡ÐÖ¾‘qËÁt^egikmmoprqrqpnQ0;37OA62/.,+,,*=xŽˆwab\YZZ[ZZXjUNJHHGGHIIIXMCDCBABA@@?>?SjieaacdggdeN*>AAA@@AA>7@agaoŠaBCZ¦ÊÖ»ÀÏ´c]cfiklmmpqppngK0:40@MKE::.,.10Ox•‚š‡_[\\\\[€X?==;:999:955679;98777878;>[mjgcccdfgjP)9?>CV^`hpjVNMPY[]__`a_`msphYMDABXhf}¢Ê¯ÅÑŸ]^ehhjlmnoonlbK262259;:52169;>QuŒ{ÔÞÍ‹^``a_m‡D==@@@BDEB>_U<;<<:7778887=?JhlkieccdfiQ(7879?FOZ_eebaa``_][YXUVVSLE>:69=Wmjgfy·ÈÏ[aegikllmnnlgY@52233211001133?n|d•èàãØ|fjmlŽu===BCCA@A?@’u=BA?76766766;B@]mlmkgdcceR(73G:***+*()++**))&((&&$#*.'&,G[@VmkjjgU“¾ÊÈu[behjklmnomjcXQNMPQOOOONPRVVL`eKvæÄÎó¡hvvwžX><57:988<==IPKKWP344566647A?NjlkmkieccO'65MV>32=93.,+**)*+,07?HR`i;"2DH?TkjkkkZ|±Âαe^dfhkmmnonmjfca`a`^]]\^_aehXQNKNxq¤ê–y›¥›CA948<;98<=;?>>=<::::;;;>BEILMQ;%)18Oghijj\_‚¼ÆÏŸaaegiklmnnnmkjhhfc`^^^^`acgYFIIIKTh„»Á§†=99>s…‚V=;200124>HKPX`]\S<4=AB[U553Cfd\OB<;;>@BDHJGDB?@ACDEDAAGMQV\^^_\]jomjd`fZRMg¬Á̼k\`cehiklmnnmmmlhea`_^^`bZ@BGGPYU><<@€Œ@?@G^CEMKDBA600125DHTI[g`WM@49??P\iDA@@@??<87546?AF=LQLHFB9:;9>>59CZggfeccbcba```cfhiid`^\\\]_^\[[]chjlmoqrrrrnqdRMRŽ¾ÅÑ—]ceghikklmnnnmljhda__^`X8BIGJNG7TL:D>;9D@7987677;?B?<<=;8787789;EKIF>;\cdijgggghhgggfca``beilkhc`^]^_a`_]\]`fjlmnoqrqlox]PO[¢ÁËÌ]dfgikkllnnnmmljgc`_^`V3@IGP^^TRo˜’PJ58999::;;<=@DFBCCB@BCBBBBB@BC>`ODihgggfgggghhhhfdba`beikljfb__^_`__^\\_cgjmnoqqspphXQNk±ÃÐÄu`efhjklmmnnonmkjfb_^_U2>HE‰È¯cWœÇ™S‚YABHJLORVZ[]cghgghgghijlllkhqc~Ffgefgggggfgghiihfdbaadhkljiea`___``]\]^afjlnooqnnodTVjŒ¾ÉÓ¸l`dehjkllmnnnmmkieb__T3FOy˜|XZ”x^‹€oelb][YWVUTSRONNNMMNLLNOOPSUSX^qt¹×“dfffgfefghiiiiheba`aeimmljhfcaaba`][\\^cgjrsrqneSNM]ªÆÍÓŒ[adefhijjkklmmkifdbU-48AEFKVdPhzks`VOQOLIGFEDDDCBAA@@ABAAABCCEDDEFOm¦³›gccdgfeeffhhihhgeca_acimnnliedbb`_\[[\[\_drssuuwiUOKt¿ÊÒÃm_ceghiiikkkmmkihe[L-4456423PZh€nTEEDCCB??=<<<<<;;:::;;;;;;<<>??>>AUnfbegecdddddeggggggfeda_^bikmmkhfdb_\[[[[[[\]qommlnj]RMPœÇËÕ¡]adfhhhhjjkllkhfaSC+2194337E[’{aF?>>===<;:99999977888888899;=:9;?=AWeedŠvcdcccddfffeffffedb__cgkmligdb^\[ZZYZ[[[ohehicc`UOKjºÆÐÎx\chhfghiijkkkhfd]F)010.:@AA^xgP>>:889:;:9889:;=A@?>???>?>>DYx}u„“v>Tgdedbbccccddeeeeefggfeb`_adhkjhfc_][[[ZZ[[[kghhrnjdUNNN‰ÃÇÕ²baefegghiijjjjhgbS6-,,-,((:\_[\ƒŒyq…|[HEFFDEHHO‚]JHKJIGLK]µØëá´»Ú¯5Lgeehjndbccccdeeeefgggedb`__bikjjgb_[\\[[Z[[nmiirqsjUNNLZ¨ÅÌÔ–badffghiijjjjigc]K412310/:ROF†êº»ÇíëÞ¯OLQX^ao€Ž€‡‰ubb_PApêðÖÉØåõ”3Jgfg²ÛÜ­hbccddeffffggggfdc`__dikllid^[\]]\\\krljqptrh]PNLv¹ÆÑËu]dfffgiijjkkjhebYRPPOPPPEK?8uêçáÍÎßõÁX=EJIEwš’‘’…f0322;gÆÛÛÖ˯Z4GhfcƒÊÍÂ}_bbdeeffgghhghhhfcb``bgjmkid^]]^^]\txpnqqrppr\NLQ•ÄÈÖ²bbfffgiijjkkjihd_\[[XXYXJK65S¨ÜÞÜÙЫvq@3001V”™›…S;<=AW†rfh`UH;72Dhffehiedcbbdeeffggggffghhfec`_`dikkic___^]\tqlkopmllneNKLc°ÄË×^efggijjkkkkkjgda`_]\ZZLM55?IR^s¿§kµöóòñîîïïëéó¸W©³ˆnZMF><8:Ihhffeeecb__bacefffffggggghhhfda^_`dhlmljg`_hlmjpqnnrrtmTLPQ^ªÄÊÔ•`cfhijjklmllljjjhfc`^NP76=:?AJR\rŒ·Æ`«ðëëëëëëìçæò·P­¶‘v`RH=847Jhhggeeed`‹¾Â¯mcefeefghhhggghggda_^aejlmllgcztsqwsmlnmlngMJMKt½ÁÎÏx\beghhijklllkjjjheb`KC:BA7<@HO[u”ÂÖaŸ÷òòòñðòðïíï©V¼¬yWC<2---0GhhghffffcvÍèä¥adeeefffgggfggggfeb_]`eiknnli{tnnkjlmnlePKMMO—ÁÃÖ¯\^begfhhijjjjjjjifdbH8=:21102;BNa‚´l_šŸšž›~rg^CQqFE73;o€G-4Gghhhgfffecnyuqcceeeeeefggfffffhfea_^`dimooluytvwpnjnpomlcXNMJe¸ÁÊÔ€YaefggghiiijjjjhgfeI3=;4/LtzB89J?Pf4668:CC;:;:::fO>N:1aæÍ_-7Hfhgggggfffd```lleeedeefggffffffffdb`^_dimnnpvtvunqkknnmptjSKKP™ÄÇÖ¸dbfghhhhiiijjjjihggKK@<5+wÚðk38KPDshHIJN[YTTTTVs„Zx;31A`?30;GehgghggfefgedkŒ~eeeededffeeeeeeeeeca^\^cimnnuopmmnkillnnojTKKMk¼ÇÐÖ‹_efgihhhiiijjiiihiLRC;91;RrE337uL[Ž|„®…}{…tlnRIb<442/023;Gehgfghgfeffedea_cddddddefeeeeeffeeecb_]^cilpopvtpmopphilkkUKKNP—ÈÈÓ»d`bdgggghhiiiiiiikL,;;<2411686:LBEBILda^VQPcMCELJO=43422323Ddhfffgfffefedcbaaed`deddeeeeefffeefedb_\_dhlnprponqutoilmhXNLMLh½ÇÌÔ‹`efghhihhhhiiiihfJ#8:313333235FHHPQSVWgjOIEB<;8480,*,,---/BdhfffeeeededddddŸ»º’ceddeeeefgffeeeeecb^^_dnmoosvuqumkmlmqfPKMMN–ÉÉÕ¿jefhhhihhhhhhhgbZE#66,,-+*))((*)&&%$#$$$#$$%&&&$'(*('(+*'*=aeddeghijkkkjjhdäéä™bbcccdeffeeddddeeda^\_mqwtpsrorkkkikscNLMMKdºËÍÔ–bfhhhihhhhigdb\WG#44)))(*+-/1/.00001112479:;:8:ACC-!!%+4A\€’™Ÿ¢¨«««««««ª©£¿ÎͲhabbccdeddddcddeedb`][qwwrkjlopkjluttgaZNMNQÌËÐÇvehhijihgghhghg^L)43+(&(6::<==<=<;;;:9:;;;;::66642$.Pu•¥­±´²¯­¬ª¨§§¦¦¥¤¤¤¥§§¨©¡uacbbbddccccccddddbb_\lklidbbllt|vvwqjqgQLNTc¶ÉÉتgghijiihfghggf`K.43./,(*)()((((''&&%&%&&&&&%%$#$&l¢²±ª£Ÿ›—’Ž‹…‚}z{zxxxyy}„Š‡hbcccddccccbccdddcbb`rnknmtptlsvuuv~~m_SLLMNƒÇÆÐÒ…cgghhhgffffdb^S<1.-1/)#"! !"!! !"#""##$##%''&%%Z±ž“‡~ysmjifdb``\]]\\]]\\\\]`cnpcbbcedcbccbbbcdcccbb„}€}xx|ylgqxxz~vf^SKKMMW¨ÉÇ×»gcdefeeffffeb^WN:.////--...000011233446787789:;‚“qic`_\ZZZYZ[\^‹bXWUVWVUVUUVUR^ebcdedccdcbcbcdccccc†|vyttlmtpmkqkaccVLKK\b‚¾ÄÍØ_cddefgfeddb_ZUPECBABDEEEEEEEEFFHIGFGKLKJJJHGMpYYVUVVX[\]\I>>cB:C`ghgefecaaQB`ccceeeddccdcccbbcddƒ€zzzsqsfdipzrjmfYMLLX_^ŸÄÅØÁiadddeffddcba]XVQONNNNMNNMOONPSTVWWXYYYXWWVUPkŽTK\floqsrqprS]ebhl^QSJ<;;<<;GwGRefigeefeddedccbbcdd…††‡‡‡‡‡‡††‡‡‡††††‡‡‡‡‡‡‡‡‡‡†„‚|vutttvxxxxxy{{zvuwzz{{zyz{~€€€€‡†††††††††††††………††††††††††††„‚|yutsuuvxxxwvyzzzwuvvxyyxwx{}€€€………†………††…††………………†…†…††………††„‚|vuvvvwyzxxwz{zyxvvuwyywwxy|~€€€…………………††††……………………………†………………„‚{yywvy{{xwwyz{zyxvvwxxxyyy}~€€€†…„„………†††…††………………†…„„„ƒ„„„„‚€|zxwxz|{xxxzz{zyvvxwxxyyyz~€€€…‚ƒƒ„„„…………†……„……………„‚ƒƒ‚‚‚}~|yxwxy{yyz||zzxyvvxyzyyxz|€ƒƒ…ƒƒƒ„…………………„††††„‚€€€}}}}{yxwwwwxy{{{{zyxwwwwxxyyz|~€‚„…‚‚ƒ…………………„……ƒ‚‚~~€~}||||zyxwwvuwz||{z{yxxwwuuwyyz}~€€ƒ‚€‚ƒ„„‡‡…„„ƒ{z||||}~~}||{{|z{yxwxwxxy|||{{zwxwwuuvwx{~€€~€~~„††„ƒ€~{}{zz{z|{yyxy{yzzyxxxyzz{}|||{zyxxvvvvv{~}~~€~€€€€ƒŠŒŠ‹ŒŒŽ‰|zxyyxwwy{z{{ywwwxxz{|}}~|zyyyxxwvvz~~}}~€€€€€€ƒ‰†…††ˆ‰ŠŠ‚xvwvvvvy{zzzyvtvwyz{}~||ƒƒ…††……„ƒƒ€~~}}~~~~~~~~„…ƒƒ„„…†…‡‰„vtuvuvvy{{zzxzzyyyz{~~€„‡‡ˆ‹Œ‹‹Œ‹Š†€~}|‚~~~~}~}}}~…ˆ†…††††ƒˆ…xsttuuvyyzyzz{{yyzz|~~€ƒƒƒƒ…‡ŠŠŠ‹Œ‹ˆ€}|„}~€‚‚‚~€…ˆ……‡ˆˆ‡ˆ†{stttuvxwxyyzzzyyz|~~€…ˆˆ‡‡ˆˆˆ‰ŠŒŒ…€~~|z~…‡‡‡ˆ‡…†…†‡‡‡‡‰ˆ~wwuutuwxxyyyzyxxy|~†Š‹††ŠŠ‰‰‰Š‹‡}zws~‚…††††…„…‰ˆˆˆˆˆ‡‡†„ˆ‹‡xwwvvxxxyyzywxz{{}}‡‰‰‡ˆŠŠ‰‰Š‰‰ˆ€}xom‚ƒƒ‚‚ƒƒƒ…ŠŒŒ‹‹ŒŒŽŒˆ„††…~yy{{{{{yxwtpo|‡‰‰‡‡‡‡†‡ˆˆ‡‰…ymjl„„„„„„„…„†‹‰‰ŠŠ‰‰‰‹Œ’“”’’“””•„‚‚}|xur~…††…‡Š‰‡†‡‰ˆ†ˆ…vkkj‡†††ˆˆˆˆ‡ˆ‡‚‡‡‡††‡‹‹‡„ƒ†ˆˆ„‚‚ˆŠ„ƒƒ„ƒ„„ƒƒƒƒ‚ƒ„€{xvxwuuuwwwy|€€{u‰ˆˆˆˆˆˆˆˆ‡†€ƒ‚ƒ„…‡‹‡yy‚‰‡{{‰‡„„„ƒƒ‚ƒƒƒƒ„ƒ„‚~{wxwvuvwwz{~€……‡‰‰‰ˆˆ‡ˆˆˆ†„ƒ„„ƒ‚‚‚…Šˆ…‚„†‰‡‚‚‚„ˆˆ„„‚‚ƒƒ‚‚‚€€€€€}z‚…†‰‰‰‰‰‡‡ˆˆ†ƒ„††…‚„Šˆ‡ˆ‰Š‰‹Šˆ†‡‰‰„ƒ‚‚ƒƒ‚€‚ytuxyy{€€{zzvst~‚ƒ‰‰‰‰‰ˆ‡†‡†ƒƒƒ„‚…Š†…†‡‡ˆŠ‰ƒ…‡‰†…ƒ‚ƒƒ‚yrrsuy}~~zwsqqu~ˆŠŠ‰‰‰‰‡†…‚‚‚€†ŽŒ‹‹‹Šˆ‹Š‡…‡‰Šˆˆ†„‚‚‚ysrsy„€}vrsu~~„ˆ‰‰‰‰Šˆ†„‚‚‚‚‚‚ƒ‡’—–•••‘‘‘‘‘‘‰„ƒƒ‚}xwv~‚‚€€€€{xwz€†‡ˆˆ‰‹Œ‰„€‚‚‚‚‚‚ƒŠŽ‘’‘’’‘‘‘‘‘‰†„‚‚‚‚~~~~~€€~}}€‚‚€}€„‡ˆ‰Š‹Š†‚„ƒƒƒƒ„Š†‡ŽŽŒŒŒŒŒŠŠ‹‹ŒŒŒ‹‰ˆ‡…ƒƒ‚€€€€€…†„||†ˆ‰‰ŠŠˆ‚‚ƒƒƒƒƒ„ˆ‚}‰ŠŠŠŠŠŠŒ‹‰‰‹ŒŒŒŒ‰ˆ‰ˆ†…„‚‚ƒƒ‚‚‚‚ƒ‚ƒ€€†‰†}}~ƒ‡ˆ‰Š‹Š‡‡†…„„…„…„…ˆˆ‰Šˆˆ‹‹‰ˆ‰‰‰‹‹‰ˆˆˆˆˆ…ƒ†‡‡†††‡‡……ƒ€€„†‡|~}~ƒˆˆŠ‹Œ‹‹ˆ††††…„……ƒ„‡ˆ‰Š„„‰ŠŠˆ‡‡‡‡‰Šˆˆ‡†ˆ‡ƒ‚ƒ‚‚ƒƒƒƒ‚‚‚‚ƒ…v}}†‰‰‰‹‹‹Š‰‡††„ƒ„„ƒ„†ˆ‰ˆ††ˆ‰‰ˆˆˆ‡†ˆ‡ˆ‡„…ˆ‡…ƒƒƒ€€‚€o{€~‚‡‰‰ŠŠ‹‹Š‰†…„ƒƒƒƒ„‡ŠŠ‹ŒŒŒŒŽŽŒŒ‰‡ˆ‰ˆ‡‡†…ƒ‚€‚‚€€gm{}{~ƒ‡‰‰Š‹‹‹Š‡…„ƒƒ‚„‰Ž‘“”•••••––——––ˆˆ‰‰ˆˆˆˆ†„ƒ‚‚‚‚‚iir{}~…‡‰Š‰ŠŠ‹‰†„‚€‚‹’“—˜––•”“””““”•–•Š„ˆˆˆˆˆˆˆˆ…ƒ‚ƒƒ„ƒkjjw€~}‚‡ŠŠ‰ŠŠ‹ŠŠ†„„‚‹ŽŒŒ‹Š‹‹‹ŠŠ‹Š‹‡‡ˆˆˆˆˆ‰‰ˆ†ƒ‚‚ƒ„†…mlls€}~…‰Š‰ŠŠŠŠ‹‡„ƒ…‰‡†…††………„„ƒƒƒ†…„ƒ‡ˆˆ†‡ˆˆˆˆ‰ˆ‡†ƒƒ…†‡nliny€~|€‡ŠŠŠŠŠŠŠˆƒ‚‚ƒ„€‚ƒ‚‚‚ƒ‚‚‚„ˆˆ„ƒ‡‰ˆ‰ˆ‡‡ˆˆ…‚€€ƒ…‡‡kkhhky€}~ƒ‰ŠŠŠ‹ŠŠ‰†„ƒ‚‚‚€€‚€€€‚‚‚‚‡ˆ‡†‡ˆˆ‰ˆˆˆˆˆ‡†ƒƒ††kkhfes€~}~…Š‹ŠŠ‹ŠŠ‰ˆ†„‚‚ƒ‚€€€€‚‚‚…ˆ‡ˆ‡‡‡ˆˆˆ‰ˆˆˆ‰‡ƒ‚€„„kiffek{€~}‡‰ŠŠ‹‹Š‹‹‰„€‚ƒ‚€€€€€€€€€‚‚‚…‰‰‰ˆ…ƒ†‡ˆˆˆˆˆˆˆ†ƒ‚‚fffgfhq~€~~ƒ‰ŠŠŠŠ‹‹Œ‹‡‚‚‚‚€€€€€€€€€…‰ˆ‰ˆ‡††‡ˆˆˆˆˆˆˆˆ†ƒ€€hhgggghv~€ˆŠŠŠŠ‹‹‹‹‰ƒ‚€‚‚€€€€€‚…‰ˆ‰‰ˆ‡‡‡ˆ‰ˆ‰‰ˆ‰ˆˆ‡ƒ€€ihgfgghr~…Š‹ŠŠ‹‹‹‹Šƒ€€€€€€ƒ‚‚‚‚ƒ…‰Š‰ˆˆˆ‡‡…‡ˆ‰ˆˆ‰ˆˆ‰‰„‚ihgegiho}€~€‡Œ‹ŠŠ‹ŒŒ„€‚ƒƒƒƒƒƒƒƒ„ƒ„…„ƒƒ„†‰ŠŠŠ‰‰Š‰„„‡ˆ‰ˆ‰‰‰ˆŠˆ„jjihhhhju~‚Š‹ŠŠŠŒ‹„€‚„…†††…………………†ˆŠ‹‹‹‹‹ŠŠ‹‰‰ˆˆ‰‰ˆ‰‰‰‰‰‰‡lkijljhho}‚€†ŠŠŠŠ‹Š‰…‚ƒƒƒƒƒƒ‚ƒ‚‚‚‚‡Šˆ†…„‚‚€€€€†‰‰‰‰‰‰‰‰Š‰llmnonlns|€}}~‚ˆŠ‰‰Š‰ˆ‡ƒ‚‚‚‚‚‚‚‚‚ƒ„ƒƒ‡ƒ€€~€‚‚„„„„„„‡ˆˆ‰‰‰‰‰‰‰‰{{zz{{{zzzzz{{zzzzzzyzzzzzzz|ƒ†…ƒ…††‡ˆ‡††‡‰ˆ†‡‡††‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ„„ƒ„…†ˆ†……†ˆˆ‡††…„…††††††…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{{zzzz‚‚ƒ……ƒ„……††……‡‡‡†…„„„……†‡‡††…„‚‚zzyyyyyzzzzyyyyyyyyzzzz|||{z|‚……„„……………†ˆ‡…„ƒƒƒ„……‡‡‡‡†„ƒ‚‚€€y||zzzzzzzzzyyyyyyyz{{}~||||€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡††…ƒ‚‚{€€~||}{yyzzzzzzzz{{}}~}}ƒ‚ƒ…„„„……‡††‡ˆ†………„„…††‡‡†……ƒ‚‚€‚€€€|{yzzz||{{||}€€€€€‚„…ƒ„„†…„„„…†††‡……†………„…††‡‡‡…„‚‚‚„~€~}|{zyz}}|€ƒƒ‚€‚ƒ………†„……………„„…†‡…………„…††††‡‡†…„‚€ƒ‚€€€€~|z|~~€ƒ„…†„„ƒƒƒƒ„…‡†††………………„…††‡†„„„„……††‡‡†……„‚‚‚ƒ‚ƒ‚€€€~~}ƒ„……„„„„…„…‡‡††††…………………„„†…„ƒ„„„†††ˆ††„ƒƒ‚‚‚‚ƒƒƒ€€€‚~}~~€~~}}~ƒ„…„„‡‡‡‡††…………………†…†…ƒƒ…„„………‡†…ƒ‚ƒ‚‚‚‚ƒ€€‚‚ƒƒ€}}|}||~~€„†‡‡†ˆˆ‡††……„…………‡…†……„…†Š‹ˆ„‚‚‚ƒ‚„……„„€|}{xzzx{~}†‡ˆˆ‡ˆ‰††…„……„…‡‡ˆ†††…„…“›™–••••—“†€ƒ…~€‚‚ƒ„†…†…{~}yxxw~€|~…ˆ‡‡‡ˆ‰‡†…„„……†ˆˆ‰ˆ‡…„…ˆ‚}|{zyyyxz{‡„€ƒ…€‚ƒ…„}{ƒyxwx€‚}„‡ˆ‡‡ˆˆ‡†„ƒ„„…‡ˆˆˆ†…„ƒˆ|~~|zzzzzy…ˆ……ƒ…ƒ~zy{|€„ƒ|{€zy{|…}}†‡ˆˆ‡‡†……„„ƒ…‡‡ˆ‡†„‘†‡|{€{{z{{zz—’ƒƒ„„ƒ€~||~~ƒ~}}~|}~~€‚~}ƒƒ‡‰ˆ‡†…††„„…‡‡ˆˆ‡„ ¹›‹|{~}y{|}|{z}—µ¦‚‚ƒ‚€€€~~}{{}|||}}~~|{|~€€€ƒ„………„…ˆˆ††ƒ~†™••Ž“““’““•—‘…€€€€~~}~~„}~}~~~}|zyyz{zzxy{‚€„…„„†ƒ}Ž®µº³¯³¸¹¸³²½º¸Ÿ€€~€€~~~~€Š†~~€€}||}}|}}~}€€€‚‚•¾ÌÐÒÑÒÔÕÔÑÓÔÍÄ£ƒ€{}€}~€ƒ„ƒ‚ƒƒ€}||}}|z{|~~€€€€€ƒ›‹”¡²·º¼¹¸·¯¢’‡šˆ€{{}~~€~}€‚ƒ‚ƒ…}||~~}yx{}}~€€€€€€ƒ¯¡‡~€„€ƒ„‚ƒ„|„˜µ~||{{}€€~€€€€ƒ€||||}|yx{€}}~€€€€€€€‚µÎDz®¸ †ˆŒ®¾±ÂÐÉ~~}||}~€€€€€€€ƒ†…ƒ||||||||}ƒƒ~}}€‚‚€€²ÐÐÎƺ©”—¬ÁÊÒÐÅŽ€}}}}~€€ƒ„††ƒ~{{{{|||}}€}}||~‚‚­ÐÑË©€‚‚’²ÑÒÄŽ‚€~}}}}~~€€€‚‚~xwvvvwy{zzyyyyyyyy}‚‚ Æ¿»ˆ„ˆ‰Šˆ~½¹¶ŒŠ‚ƒ€}}}}~€€€€€€~zzxwwwzzzyzz{z{{zz{‡“ƒ‚‚ƒƒ‚ƒ‹†‡‚ƒƒ„ƒ‚~}}}}€€€€}‚~zzz|||{||}|{{{z{}~~€‚€‚‚€€€€€‚…„‚€~}}}€€€€€}€ƒƒ~|{||}{{|||{{{zz|~}~€‚€€€€‚€’‰‚€~}}~€€€€€~‚€~|{{~{{{||||{z{}~~~€€€€€€€~„„ƒ‚€}}}}}~€€€€€~€}|~€|{{||{{zz}~~€‚‚€€€€€‚‚€„„ƒƒƒ‚~}}}}}€€€€€€€}|~~}{{||{z{{|}~€€‚‚‚€‚‚‚‚ƒ‚‚ƒ‚‚‚‚€~}}||}}€€€€€€€~}}}|zz{{zzzz{|}}~~~€‚‚‚‚‚‚‚‚‚{~ŽŒ‚‚~}}|}}~~€€€€}yyyxvutuvvvvuuwwz~~~€‚‚‚‚‚‚}|ˆˆ‚ƒ~~}}}}}~€€€‚€}vvvvvwvwxxxxxwwww}~~~~~€€‚‚‚‚‚€}}‚ƒƒ‚€€}}}}|}€€}yyy{|||}~}}}}}~}~}~~~}}~‚€~‚„ƒƒƒ}}}}}}€€€€ƒ…„~‚€€…‰†ƒ€~~~}}}€€€ƒ€}„ƒƒƒ‚€~}}}}~~€€€~€„„†…‚‚ƒƒ‚‚…‡‡…‚€~~~~~}~€€€€€‚€{{}ƒ‚‚~~~}}}}}€€€…‡‡„ƒƒ……‡‡†…‚„…„‚€€€~~~~~~€€€€€~zxz„“‰‚~}}}}}}~€€‚ƒ„„…………„‚€€~~~~~€€€~ywy}„‹‡‚€~}}}}}}}€€€ƒ†‚‚‚‚ƒ„ƒ‚‚€€~€€~~~~~~~€~zxxz‚ƒƒ‚}}}}}}}}€€ƒƒ…†ˆ‰‰ˆˆ„ƒ‚ƒƒ‚€~~€~~~~~~~~€~zxwxy€ƒ‚‚‚~}}}}}}}~€€ƒ‡ƒƒ‚‚‚ƒ‚‚„„€‚ƒ~~€€~~~~~~~~‚‚~zxxzzƒ‚‚‚€~}}}}{|}~€€„‚‚‚‚„‚„„€~}~~~~€€~~~}~~~~~€‚~|z{|{}ƒ‚‚‚~}}}{}}~€€€€€€€€€€€€€€€~€~~~~~}~~}€€~||~~~~€‚‚‚‚~}}}}}}~€€~~€~‡Œ’—›ž¢¤£¥¤¢˜ƒ~~~}}~~}~‚‚ƒ„ƒ‚‚‚‚„ƒ‚€~~~~~}~€€€€€€¦½ÄÊËÌËÆÊÉÈÈÈÇŸ}~~~}}~~~‡ˆ‰ˆ‡…………‚š~}}~}}~€€€€€€~†¶´©¡š—“Š‹ˆ†‡‡‡„€€~}}~~~ÑÑÑÑÑÑÑÑÑÑÑÐÏÏÏÊÄÇÅÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÎÎÎÏÎÏÏÏÏÏÏÍÈ¿²°£Ÿ”}vjlvmjjonqeidY^b^]d_W]b``WSQW\\`e`gUVYXVWVU[XRX_^]XUMC?:<:534?4ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÊÃÇÄËÎÏÎÎÏÎÎÏÏÏÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÎÎÎÍÍÎÎÎÏÏÏÉ·¤—u€xsc`aq~q^_mmg[[\^_[YVR_ga^UQPSZY_hjhQT]bZSQMSTZae^WQNKBA98854187ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÄÇÃÉÍÎÍÎÎÎÎÏÎÏÎÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎÍÎÎÎÎÏÏÏÎÄ©‰rnlpppstu|x`cbef\\]]]]UTW_e\[YVSTWUX\ieRQX]WNNOTS^cba[SIDB>96443201ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÄÇÃÉÍÍÍÍÌÌÌÍÍÍÌËËËËËËÌÌÌÌÍÎÎÎÎÎÎÎÎÏÏÏÎÎÎÎ͹™ymqxxuhhc_hYbee[ZYVaZUZgfUSUXYUPMVRZiSQUXYROSQQ\c`aXUVNH?<86431..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÃÁÊÐÏÎÎÎÎÎÎÎÎÍÌÍÌÌÌËËËËËËÌÌÍÌÌËËÊËÌÍÍÍÍÌÎÁ”ƒ†tcm|ndhb``XjdZYTTO^b_arn]RQV]WMKVSRZT[\YVPQSV[_[Y[SQXQIA?@<641.-ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʼ½½ÉÑÐÏÏÏÏÎÎÎÎÏÏÏÏÏÏÏÍÍÍÍÌÌÍÎÎÍÍËÊËÌÌÌÍÌËÈƨŽ|yrkakrpcad`Y]bVR[UTS[gghjdhVRWZUQSWTTYSZ^aWTUT[\][XUTPQQJ@@?8662/1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɽÅÁÈÐÎÏÏÏÎÎÎÎÏÏÏÎÏÏÏÏÎÍÍÎËÍÎÐÏÎÍÊÈÊÌÌÎÐÌÈÅôŸ}|reWSb`Z^bc_d_XWSMPVZ_beh`\TPPQONTSTR`NUXZZY[Z^]]ZTQTPSMFEAD>641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ËÄÆÎÍÍÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÍÍÍÊÌÌÎËÇÄÅÃÇÇËÍÍÊþ»®’€|rWTSRPVYoqhdd_[NDBNZR\ca]WURNMLJNLRNYOSWXXX\][[^ZTPSOWQDEA><40///ÏÏÎÎÏÏÏÎÏÏÏÐÐÏÏÇ¿ÊÄÅÍÎÎÎÎÎÎÎÎÏÎÎÏÏÏÏÏÏÎÍËÉÉÈÉÂÀ¹Ã¿Ã¾ÅËÈž®¥‘€~waWZZZfiapjg`WVTRUVbUP\_UPWXTNJHPQTYXSQY[XVXYWRR\XSYSXWA66321//..ÏÎÓ×ÖÐÍÎÎÍËËËÌÍÇÀÊÄÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÆÄÄÁĽ»®ÁºÁ¹¿ÈÁ¾¸¥‡„~r‰~f_b[\hnYo_W_UQUU^\XPQTYSQSXWNLMTSS[g^OVYXWWW[VM\\Y]]OE=7541/....ÐÜêïïãÔÍÌÇÂÂÃÆÉÅÁÊÅÂÊÌÍÍÍÍÍÎÎÎÎÏÎÎÎÎÎÎÎÌÆüµ¼º´¤½µ¿··Ã¸»´–„}~pjeeddV[d]Wd\T]`RRTY^WVTPPONMPTYWRTQQSd[MZ]YROOZZRXYROKA9==:72/---.ÝîÒ¬·ãêÑÁ»¶µº½ÂÅÄÊÇÃÊÌÍÍÌÌÌËËÌÌÌËÌËÉÉÉÆÆÀµ­©¯²«¡­®·²³¹®­¤„wxvolUae\ZeZS\i`Y_XMQSU]abVROONQSOWWLPUPS^]Yb^VQMO[YTZQQZICB=;;9630/..îË}jo¡äÞ¸²¯°µ¶ÀÆÇÌÊÅËÎÍÍÎÍËÈËËÌËÌËÊÇÄÂÀ³£ ›¥§›£®­­¬ª¨šˆxnkelm]WXVacXW\]YaXSXVTVVbZSUQPSVTTUXTQYPSYaZaY[\X^aWUZXTRB?G<977763100âŒxyuË軯­°³µÀÄÇËÉÅËÎÎÎÎÍÈÂÉÌËËËÅû··¹¼¬ ™›ž™–§³«¬£›ž“yifeWhbTLHNXbZSSai`ao]_d_UYPQQPQTXTUTUZTYPQ`__g[caji`UQONLKA>A8855654/02É‚ŠƒzŒÄéÁ¬«±±³¼¼ÃÉÉÃÉÏÎÎÍËúÆÍÌÇĶ¨£Ÿž§§ž˜Š—–“¥®¬¡•’‡udei\]XQTRPYa`\in`RVcQXrp]RQLMNMJMNNONORZUX`WUYYah][XQJMIGGCIB8555554016»…‰„ŠÀéŦ©²²´¸¶¿ÊÇ»ÂËËÌÌËÁµÅÌÉÀµ¤›  —š—Œ†•–“—œ”Ž‹‹…vvrcZUY][QX]YT]i^SR^iha`]USNLLKKJHGHNMT_]X\WQ]ihhW]VNWTJJA@C;864434437=±„†‡Ž¾æØÄ¿´¯±°®¶Ä»¯´º»À½Ç¾³¿Ä»¯¤Ÿ™ž¢–—‘†ƒ†ƒ‹…€‰Š‡„…ƒ‚{yqbYWWW`[VXWSXgRPQ^heTSZXTONMKKHFKIKSV]bTZRQmsehac_U`[WTG==;:7533365;?¯®…¾æìíæÅ¿­¥¤ªª¡¡£¤¥§«¼µ©§ªžœ™œ¢”–ˆ„…ƒ‚†ƒ|ƒŠ‰†~€}wtpjdXTZg\SVVW_\PZ\^_ZTSSTTNLOPMNQQHELPVaSSO_cca[fj^RV^YIUG==<:55658988;<::::;>>>=äìëåææçæêëëéåâÝÕÎÉ¿¶«¦DXs€‹“„K=20477Qeegh]BgŠ„…ƒyuxxvuuh_a]QPZY[_UU`dhc`W]bbUXOLNTNID>BOUU`oˆ˜ŸŸŸžžžœœœžžœ–•ŒxX<99989;?@@?ݼÎîìììíììëåÚËÅý¸ª¨ŽdGq¨¬±µ¯™mX]]RQJ:6:AUMƒƒ€xuxzyurlh_WPLXY\UVY`^ZLZ`\]Z[`YMMTPNKMONQVƒ‰„~wrnlkhgedegijjotviS89999;AEEE³t†èçèèèåäÖÆ»¤ ¥¢ ”“Ž‡‡U^T¡¨¢š–­²„™‹VZRF:64\Zi…„||rpxz|tjcdVRTHBMWVX[\QMLVY]]V[d`TNNKLQPOMIYSTTVWXYIEDDCCCEPVVWWXN\?89:<B=JROPQPPQHaw`:DœXzƒzwvruorwrkh`SWYWZ[b]WHHTZ`Z\[YXY^WQIEDB@AB@?}i}¬´³¯®«‹M=7BLPVXKB>=>idC78;<=CJMKŒžÁ¿¹±ÄÉÈÆÃÃÅÆÈËÊ­€|{ƒ^F55f`GPNNMOQQJXzb>:S‡mh‚}xvvvlnunjhbS]l^WTZ]ZRRW[^c`[Y^\XQKFBA@@=:8B‘c^gtaVLIUUH=HMQVO;9:;;GkG88<=BIHEOÇv£¤ž£ƒh_YWURRUZfƒzy`…>:;;DQPKPz‚F60[‰_‚yxzwnlpkiee_fqe[OR\]WTU[Za[Y]f]QKFCAACCA?=_–ZKG=467?TTOJKOOOE;<<;;@gP=<=@FKKEY°h‹‰‘šHDESebSWMIHJŽ~xzj~@HFo‹–\G<87;A>>\žD64D”`|‚}||skkknhb]\Y^[PQXXQPV]\[[\__UTPGCAGKE?AF…ˆV@F<7<>;NK;8>LOG@BCC=9>_\B>=@FLQYbXb†ˆœ‡UM?KqoiW@CEE>78SaB=DQPJYbkH\¾Õ°eSPMAIIIHC?=@Ae¦`mjTbQiVLLRXZUQOQZw‰dD><;{Tbf?@AA=96J\D?W^VVljiG^ÇéÄ‚ˆ“˜›ž¢££…84>^M?==?7>A@CIJGED>>=FWOMH9:<=C;::Gmdde``jdXOW\^]YUNPYW]dcc\RRWUMG@>FRYfrx‘NRYMFDXnOCHC6336AGJJKJF:CV@Nj`T^uoiJ_…­ÆÓÑÒÔÖ×ØØØØÙÖ‹Z@0IT=;:;8:97666789:988::=:9=H93BRnm_\abbaa^UY[[WTPQPUZ\WZ]XPSYUR[^]omT_fr}IXˆR>==EBFJJUa`baQBCBA@<FLLKLOYabcaSIIEBBRan‰qLUhrpni\ax–³º¾ÆÉÊÈÄÄÄÃÄÆƾ¾›IH9::878777787788897Z•¡¥¨««­ª©ª©©ªª««ª¦š}pos{‹“ˆŠ”•“‹Š“®˜~~z||sgq¥ƒnz{unfVTdkkjnljjjjkmmhX[ijo‚…belsskirppqrtsu{{{z||}~|Ÿ‘VOI7574556557:;6775R£“‹†„€zwvsqqqstuxz…Ž}z{zwxyxxyzz}…Ž˜§´³«Œ~unlv«–qehb]\[Zqneb_^^^^^_bhoe\[[_c\OYjwsvwsqonnprsuwwvuuuuy|~za‰£™K14555556==7668Š‰ahihfhjmx–{xtmkkiheq~stvvwwvvvtuttsrsy‚Žžª°°©z–kYX\YXXY^\YWWWWWWWWXZZYXYYYXWPL]`frywspmklmnorsssrrpqsxw]g ®»J/13333674760R¢lnƒ†„„‡ˆv…zi†Ž‰Š‰„„|vsnhjlnpsuvvwvutrqpppqsv~‹žvzcVTWXXXYXWXWWYYXYYYXXZZZZXYVTUOTVZWY{xtpmkllmnoqrrqqpposJP›Ç·Ó¸gZGLNNAV†AFS€…b³ºÁÈÉѧVC=C|ÑÓÎÉÈÆ£v[peeefghloruvxxvsrppnoqqnnf{qbbaYYYZ\\\ZY[[[[\]]ZZ\\Z_mcv^OUXXWUzzyupnlkjjknopqpqqj]?7vÑÐñôÇŽ`_f“t„Æ^iv’feåàààßäšYdePsÝßÛÖÚâ»l`ajfffeddehknqtuwwvvspnnqo^njY¹–·tQUVb]Z\_g\\YaeNOP¤×µ¾ÈlPTWXXXxyyyvqmjihhilnnoopgI;1=‘œ®ÐÇ«sdid^Áõ^t\f†ÜÖÙÜÞÞzJZcQiÕååãàà¬PqWkjhfdccbbcdehnrtvwxxuqokQZaMÓÛÕôÔeDAl—KAo’m>M¡g9GŒìäáæÌ`SRVWWWwxxxxwrmjhfgijkmmogA50.16?SPsc\moq»çlŠ‹ZfM_^fnrmCGq™\]œ±¡‘}lW>pYfmmkiedbbabbbdjorsvwwwwpKJUNcËÈÒÖîÇS@Gµ‡@¬Ý®=ˆ´PBgéäɼ­‡ORPVVVVrtvwxwvsojfffghikma602469>>=>TkjgccceggfgA,>@@Ssj`eiP<:9=EGHIKLMHFZkle]WIBDZhwÇ«ÄÑ ]^ehhjlmnoonogY49533?DE=6204840021000/.13129]ƒ}y³éàÁu^aaa^|w><>AABDEFBAhU==>>;7788887=?KimmkgeccegC)948126;<=ABB@@@?>;;975220.--,;I>\mjjgRŒ½ÊÈu[behjllmnnmkdTD>>>B@@@@?>@BC@Tyh]ÆäÖê¾ilnoo˜\>;>BBB@?@>F“j;AC>95676766;C@^mlmkiebceC(77]J.()0*&$%$$$#$$%'(-1:IL+%7WX@ZlkkkZw®Âϱe^dfiklmnnnlib^[Y[\[ZZYZ[\_aZRbUGžÖ¬èÞusyzƒ™E@:58:978===JZGIZA444666647A?Pkllkkkga\>(749=A<;B@<964445677;BIR[_d8&*3<34E{g;552112449CEKU[ZXK54A@JhY?CB[g_O;1./024455531//.012330138>@BDFFDHbmhdag[RM`§Á̽l\`cehiklmnnmmmkhda__^^`abLAGGMV^ebrDw“@@<;:C}ƒ}K>;200124?HLPY`]]S;4>AC^R454Dfc^YSONPSWZ\aa][WTTUVWWWUTTV[ahjkmmnppqoklbSNKr·ÂϬb_cegijklmnmmmmjheb__^_`bJ?GEJS]R=<4:?=C>551=efdba``a`__`cfggea^^][\^^^[Z[\bgjklmprrrsnqfRMO‡¼ÄÒ˜\ceghikklmnnnmkjhda_^^_aG=GFGNS?=TLM[K<47?Wgfgfeeeedc``_bfikkhc`^]^^`_^\[]`ehlmnoqrqlox_POW›ÁËÍ]dfgikklmnnnmlljgda_^^`C;GGHKOA7]>@A?8;G>8877777;@B?;;;:777678:AAAAA@@?AA>`EFiggggfggggghhigfcbaadgkljiea`_^_``]\\^aeilmooronoeTVj†¼ÊÓ·jadehjkllmnonmmlieb_^_@6DF[ÁÓ–Se°Å~b~P@CGJMPRUXY\bffefedefhijijhfo`ƒxAgkcfffffggghhhihfebaacgjlmkheca``aa^\\\^bfjlloppoj[PRSÄÇÓ¨a`bdfgijklmmmmlkiea^_?5@GM¢Ý¹[YŽ¹ac“€X_rtvusrrqnljiiiihgfgffgijlqet‡of´‘cfffgfffghhiihgeca`afjmmljgebaaba_][[\_cgjrsrqogUNMX¤ÆÍÓ\adefhjjjlllmmljgca`?/:BGUv€hVc`mŠ~jgja^[YWVUTSQOOOONONNNNOOQUVUZ`sr›fbcdgfeefghihgggeca_acimnnliedbb`_\[\[[]`drsstuwkUPKo¾ÊÒÈp_ceghiijkkklmlkifb_>-7;ABBGV_Osoqo^TOQMKIGFEDEDCABAAABBBAABCCFEEFGQmdbehecdddddegggffgffda__bhkmmkhfdb_][[[[[[\]qommlnj]RNO™ÇËÖ¦]adghhhijjkllkkjh_S9.43530/7UZn~iPEEDCCA?>==<<<<;;;;;;;;;;;<=???>?CYpfdŒvcdcccddeffeffffedb_^bfklkigda^\[ZZZ[[[[ohegicc`UOKh¹ÆÐÎy\chhfghiijkkkjhdZL5,33<278>Je—r^B?>====<::9899888889898889:;<:::=Wgeoquecbbbceeeeefgggedb`_`bikjjgb_[[\[[Z[[nmhirqsjUNNMX§ÅËÔ—bacffghijjjjjige]D/+,,,&&&F]cV]x€hgqdKBCEEFGHGW€UIHIHGFKK\£ÌæÚ°¸×¢4Qhf²äã¯habbddeffffggggfdc`^_dikllid^[\]]\\\krljqptsg\PNLt¸ÅÑÌv\cfffghijjkjiheaW?2476564DPRE£Üµ³ÐéáÌ‹IMRY^`oxŠw|€mba_PCvîîͽÕäõŒ3Ohdz¼Á¼z^abceeffgghhghhhfcb``bgjmkid^]]^^]\txonqrqppr\MLQ’ÄÇÖ³bbffgghijjkjjigd^VRSRQRRQGH?8ðáÙ»¼Û÷¦L?KNMK†š˜”˜c6975:6;MiggffffcvÊãÞ¢adeeefffgggfggggfeb^]`eiknnli{‚tlmkjlmnleQKMMN’ÀÃÖ¬\^begfhhijjjjjjiifda]DC9E@8>CJRazšÊÀT²ùóóòðòóòòðô£ZÆ°^J?6/..0Jihggfffeckrmkcceeeefffggfffffhfea_^`dimooluxtwwonjnpommeZNMJb¶ÁÊÒ~Yaefggghiiijjjihgfc_<;=922115@HVl—º[u«¨§¥«¥š‹~uoIYwKE738Vb;-3Ihhggfffeeeaa`mkdeeeeefggffffffffdb`^`eimnnqwttsmpkknnmptjSKKO•ÄÇÖ¶cbfghhhhiiijjjihhgfb;6>931Pja:8=H;\[14448B?876787bK>N:1bäÔ[,7Ighgffgedefednzeeeeeedffeeeeeeeeeca^\_dilnnuoommokillnnnjTKKMg»ÇÐÖŠ_efgihhhiiijjihhggdAF=:40ŸãÜI6;70Ii{<42?wHk‘xx~Žª…}ƒxw}WSk9331-.23=Jghgfffeeefedcbbbefadeddeeeeefffeeeedb_\_ehlnorponrutoilmhWNLMLc¹ÈÌÕŒaffghhihhhhiiihhig=6=<;2200775;PAFHNPncfTRSfG@BHGN;44432336Gfhfeffeeeeddccf¦ÁÀ—ceddeeeefgffeeeeecb^]`emloosvuqunlmlmqfPKMMMÉÊÕÀkefhhhihhhhiiiiihb<%<9324444349KHKQSV]]tnWTRKEDA?>+"&''&)Aehhknqtttu|}}{xskf^[`babbbddccccccddddba_\lklidabkkt}wuwrkqfQLNS^°ÉÉتgghijiihfghhghdZB%8/)'%)569;;;:99::;;::9:;;;;:::82$"2BQd}— ¦«¯°³²´¶µµµ´´´³­¤•facccddccccbccdddcba`rnkontprksuuvwm_SKLMM|ÅÆÐÒ…cgghhhgfffggfe[A*70.+(')')))())''''&%%&&'&&&&'&&%6W ®²´²°«¨¥¡ Ÿ›™˜———™šž£©¨}abbcedcbccbbbcdcccbb„}€~xx{ylhpyxy}te^SKKMMT¡ÈÇ×»gcdefeeffefeca[J23-/1.'##! ! !!!!!!!!!""""##$#$#?²¯¥ž˜“ŽŠ†‚yvvsrnllkjjkknrx~„kacdedccdcbcbcdccccc†}vytslnuplkqjacbULKK^f¼ÄÌ×_cddeffeeddb`\UF3,...,*+++****+-,,-/00123336687‚©Œˆ}vojecca`^]^][[ZZ[\[[[[]^_fmccceeeddccdcccbbcddƒzz€{spsdciq{skmfYMLLW^Z›ÄÄ×Àiadddefeddcba]WSJAA??ABCDCBBBCCCDDCEFFHHFEFIHEM’}ec_^]ZZZZZZYXa˜YSRRTSRRRQSTRMUffhfeefeddedccbbcdd…††‡‡‡‡‡‡††‡‡‡††††‡‡‡‡‡‡‡‡‡‡†„‚|vttttvxxxxxy{{zvuwzz{{zyz{~€€€€‡†††††††††††††………††††††††††††„|xuttvuvxxxwvy{zzwuvvxyyxwx{}€€€………†………††…††………………†…†…††………††„‚|vuvvvwyzxxwz{zyxvvuwyywwxy|~€€€…………………††††……………………………†………………„‚{yywwy{{xwwyz{zywvvxxxxyyy}~€€€†…„„………†††…††………………†…„„„ƒ„„„„‚€|zxwxz|{xxyzz{zyvvxwxxyzyz~€€€…‚ƒƒ„„„…………†……„……………„‚ƒƒ‚‚‚}~|yxwxyzyyz||zzxywvxyzyyxz|€€ƒ„…ƒƒƒ„…†……………„††††„‚€€€}}}}{yxwwwwxy{{{{zyxwwwwxxyyz|~€‚„…‚‚ƒ…………………„……ƒ‚‚~~€€}}||||{yxwwvuwz||{z{yxxwwuuwyyz}~€€ƒ‚€‚ƒ„„†‡…„„‚zz||{|}~~}||z{|z{yxwxxxxy|||{{zwxwwuuvwx{~€€~€~„…†ƒ‚~}{{zzz{z{{yyxy{yzzyxxxyzz{}|||{zyxxvvvvv{~}~~€~€€€€€‡Š‹ŠŠŒ‹Œ‹‰~zxyyxwwy{z{{ywwwxxz{|}}~|zxwywwvvvz~}~~€€€€€€‚Šˆ‡‡†ˆ‰ŠŠŽ†yvwvvvvy{zzzyvtvwyz{}~||}€‚„„„ƒƒ‚€€~~~}~~~~~~~~‚…‚‚ƒ„…†††‰‡ytuvuvvy{{zzxzzyyyz{~~}‚‡ˆ‰ŠŒŒŒ‹ŠŠ†€~}|„~~~~~~~}|}„ˆ†„††††‚ˆ†{sttuuvyyzyzz{{yyzz|~~„ƒƒƒ†‰ŠŠ‹Š‹ˆ€}|…~~‚ƒƒƒƒ}…ˆ†„‡ˆˆ‡ƒ‡‡~ttttuvxwxyyzzzyyz|~~ƒ†‡‡‡ˆˆˆ‰Š‹ˆ~~|z‚~…‡ˆ‡ˆˆ‚†‡†…‡ˆˆ‡ƒ€ˆ‰vwvutuwxxyyyzyxxy|~€€„ˆ‹‰†‰Š‰ˆ‰ŠŒŠ‚}{wr‚~‚„†…„…†…ƒ‡‡‡‡‡‡‡††ƒ‡‹ˆ{xxvvxxxyyzyxxz{{|}…‰Šˆ‡Š‹Š‰ŠŠ‰Šƒ|{ql‚‚ƒ‚‚ƒ…ˆŽŒŒŒ‹Š‹‹ŠŒ‰ƒ€€|yz{{{{zyywtplz…ˆ‰‡‡‡‡††‡ˆ‡ˆ‡vlk„„…„ƒƒ„…„…ŠŒŠ‹Š‰‰‰‹‹’““’‘“”“…‚‚‚‚}|xuszƒ†ˆ‡‡‰‹‰ˆ‰ŠŠˆˆ‰nkj‡†††ˆˆˆˆ‡ˆˆ‚‡‡‡‡†‡‰ŒŒ‹‹Š‹Š‹ŠŒ‹„ƒƒ„ƒ„„„ƒƒ„ƒƒ„ƒ~{y{|ywwyzy{|~|v‰ˆˆˆˆˆˆˆˆˆ‡€ƒƒƒ„…†ŠŠ€zy~ˆˆ||€ˆ‡„„„ƒƒ‚ƒ‚‚„„ƒ„ƒ~{utusssuuvy{ƒ…‡‰‰‰ˆˆ‡ˆˆˆ‡„ƒƒƒ‚ƒ‚„‰Š„‚ˆˆ~~†‰…„‚‚ƒƒ‚‚‚€~~~€|„†‰‰‰‰ˆ†‡ˆˆ†„„†…†ƒƒ‚ƒˆ‰ˆ‰ˆ‰ˆ‰‰‡††ˆ‰…ƒ‚‚ƒƒ‚€€‚}vwy{{{~}{}{vuy‚ƒ‰‰‰‰‰ˆ‡†‡†ƒƒ„„ƒ€€ƒ‰‡†‡ˆˆˆ‹Œ†‚†ˆ‰†…ƒ‚ƒƒ‚~sqstvz}~zvurprz€ˆŠŠ‰‰‰‰†††ƒ‚‚~€„Œ‰‡‡‡ˆ‡‰‰„‚…†‰ˆ‡…„‚‚‚~trsv}ƒ€}xrrsz~„ˆ‰‰‰‰Š‰†…‚‚‚‚‚…””““’Ž‹ŒŒŒŒ‹‰‡„„ƒ‚wuuy€„€€€}xuw{€†‡ˆˆ‰‹Œˆ…‚‚‚‚‚‚‚‡“•”“““‘’’’””““““’‘Š…„‚‚‚‚}|}~~€~~|~€‚€}€„‡ˆ‰Š‹‹‡„„‚ƒƒ‚‰Š…‰ŽŽŽŒ‹‹‹ˆˆ…ƒ‚‚€€€~€‚†„||†ˆ‰ŠŠŠ‰‚„ƒƒƒƒƒˆ…}€‰‹Œ‹‹ŠŠ‹‹Š‰ŠŒŒŒŒŠˆ‰ˆ†„ƒ‚‚‚€€‚ˆ‡}}~ƒ‡ˆ‰ŠŠŠ†……„„„„„…„€…ˆ‰‰ŠŠ‰‹ŒŠˆŠ‹‹ŒŒŠˆˆˆ‰ˆ†‚€‚†‡‡††††‡†…„‚†‡|~}}ƒˆˆŠ‹‹ŠŠˆ†…………„…„‚„†ˆˆŠ‡„‰‹‰‰ˆˆˆˆ‰Š‰ˆˆˆ‡ˆƒƒƒ‚ƒƒ„„ƒƒƒƒ€‚ƒ…u}}†‰‰‰Š‹‹Šˆ‡††…ƒ„…ƒƒ…ˆ‰‰†ƒ‡‰Š‰‡‡††‡‰ˆˆ†„‡‡…ƒ‚‚‚€€€€€oz€~‚‡‰‰ŠŠ‹‹Š‰††…ƒƒ„ƒƒ…ˆˆ‰‰‰‰‰Š‰‰‹‹‰‰‰ˆ‰††ˆˆ‡††„ƒ‚€€‚‚€€€gm{}{~ƒ‡‰‰Š‹‹‹Šˆ…„ƒƒ‚‚ƒ‡‹ŒŒ““““’‘Žˆˆ‰‰ˆˆˆˆ†„‚‚‚‚‚‚ihq{}~…‡‰Š‰ŠŠ‹Š†„‚‚‚‚‡‘“—————––—–—˜˜˜–Ž…ˆˆˆˆˆˆˆˆ…ƒ‚ƒ„„ƒkjjw€~}‚‡ŠŠ‰ŠŠ‹Š‰‡‚‚‚‡‘““”“‘‘’‘ˆ‡ˆˆˆˆˆ‰‰ˆ†ƒ‚‚ƒ…†…mlls€}~…‰Š‰ŠŠŠŠ‹ˆ‚„…‚ˆŽŒ‹‰‰‰ˆ‡‡‡‡‡ˆ‰Š‡‰‰ˆ†‡ˆˆˆˆ‰ˆ‡†ƒƒ…‡‡nlinz€~|€‡ŠŠŠŠŠŠŠ‰ƒ‚‚‚‡†„„†„„ƒƒƒƒ‚‚…‰ˆƒƒ‡ˆ…ƒ‡‰ˆ‰‰ˆ‡ˆˆ…‚€€ƒ…‡‡kkhhky€}~ƒ‰Š‹Š‹ŠŠ‰…ƒƒ‚‚ƒ„†ƒ‚‚‚€€„‰‰„…ˆ‡†‡ˆˆ‰‰ˆˆˆˆ‡†ƒƒ††kkhfes€~}~…Š‹ŠŠ‹‹Š‰‡…„‚‚‚†ˆ…‚‚ƒ€‚‚‚ƒ‡ˆˆˆ‡‡ˆˆˆ‰ˆˆˆ‰‡ƒ‚€„„kiffek{€~}‡‰ŠŠ‹‹Š‹‹‰…‚‚„ƒ‚‚€€€€‚‚‚‚ˆ‰‰ˆ…‚†‡ˆˆˆˆˆˆˆ†ƒ‚‚ggfgfhp~€~~ƒ‰ŠŠŠŠ‹‹‹‹‡ƒ€‚‚‚€€€€€€€€€€€‚‚ˆ‰‰ˆ‡††‡ˆˆˆˆˆˆˆˆ†ƒ€€hhgfgghv~ˆŠŠŠŠ‹‹ŒŒ‰„‚‚‚‚€€€€€‚‡‰‰ˆˆ‡‡‡ˆ‰ˆ‰‰ˆ‰ˆˆ‡ƒ€€ihgefghr~…Š‹ŠŠ‹‹‹‹Š…€€‚€€‚‚ƒ‡ŠŠˆˆˆˆ‡…†ˆ‰ˆˆ‰ˆˆ‰‰„‚ihgegiho}€~€‡Œ‹ŠŠ‹‹ŒŒ†€‚‚‚‚„ƒƒ‚ƒƒ‡Š‰ˆ‰‰ˆ‡ƒƒ‡‰‰ˆ‰‰‰ˆŠˆ„jjihiihju~‚Š‹ŠŠŠ‹ˆ€‚ƒ„……†…ƒ„„„„‡†…ƒ…†‰Š‰Š‹‹‰‰‰ˆ‰‰‰ˆ‰‰‰‰‰‰‡lkijljhio}‚€†ŠŠŠŠ‹‹Šˆ€‚ƒ……†…„„„…„„„„‡Š‹‹ŒŒ‹‹Š‰ŠŠŠ‹‰‰‰‰‰‰‰‰‰Š‰llmnonlns|€}}~‚‰Š‰‰Š‰‰‡ƒ‚‚‚‚„‰ˆ†„ƒ‚€€~€ƒ‡ˆ‰‰‰‰‰‰‰‰{{zz{{{zzzzz{{zzzzzyyzzzzzzz|ƒ†…ƒ…††‡ˆ‡††‡ˆˆ‡‡‡††‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyzz‚‚ƒ„„ƒ„…†ˆ†……†ˆˆ‡††…„…††††††…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{{zzzz‚‚‚……ƒ„……††…†‡‡‡†…„„„……†‡‡††…„‚‚zzyyyyyzzzzyyyyyyyyzzzz|||{z|€‚……„„……………†ˆ‡…„ƒƒƒ„……‡‡‡‡†„ƒ‚‚€€y||zzzzzzzzzyyyyyyyz{{}~||||€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡†……ƒ‚‚{~||}{yyzzzzzzz{{{}}~}~ƒ‚ƒ…„„„……‡††‡‡†………„„…††‡‡†……ƒ‚‚€‚€€|{zzzz||{{||}€€€€€‚„…ƒ„„†…„„„…††††……†………„…††‡‡‡…„‚‚‚„€~}|{zyz}}|€ƒƒ‚€‚ƒ………†………………„„…†‡…………„……†††‡‡†„„‚‚€ƒ‚€€€€~|z{~€ƒ……†„„ƒƒ„ƒ„…‡†††………………„…††††„„„„„…††‡‡†……„‚‚‚ƒ‚ƒ‚€€€~~€€„………„„„„…„…‡‡††††…………………„„……„ƒ„„„†††ˆ††„ƒƒ‚‚‚‚ƒ‚ƒ€€€‚‚€~~~~~~~‚„…„„†‡‡‡††…………………†…†…ƒƒ……„†……‡‡†ƒ‚ƒ‚‚‚‚ƒ‚€€‚‚ƒƒ~}}}€~|}}„†‡‡†ˆˆ‡††……„…………‡…†……„……†ˆŠŠŒŒ‰ˆ†„‚‚‚ƒ‚„……„…}}{yz{xz}}}…‡ˆˆ‡ˆ‰††…„……„…‡‡ˆ†††…„„‹žž››››ššš‚€ƒ…}€‚‚ƒ„……††€{}~zxyw|€|}„ˆ‡‡‡ˆ‰‡†…„„……†ˆˆ‰‡‡…„„†‡~|{{{z{|ƒ†€ƒ…~€€€‚……~{„zxww~‚~~‚†‡‡‡ˆˆ‡†„ƒ„„…‡ˆˆˆ‡……‚ƒ†„|}~|zzzzzy}‰€€„…ƒ„„~zxz|~„„}{~zyz{…~}€†‡ˆˆ‡‡†……„„ƒ…‡‡ˆ‡†„‡‹†‡‚{~€|{z{{zz{Š‹…ƒ‚„ƒ€}~~‚ƒ}}~}|~~ƒ}~ƒ„†‰‡‡†…††„„…‡‡ˆˆ†„’´¦€z}zz{||{zx‰¦¸ƒ‚€€€€{||}||}}~~|}€‚„„„……„…„„…‰ˆ††ƒ~ŸŸ”Œ…‡ˆ†‹ŒŒŒŒ“—“ƒ€€€€€~~~}€€}}}}~}}}zxxz{yyxxz‚€‚„…„„†ƒ€ƒ¡¬²¯§«±³²¯ª²·¯¨„€}€€€~~~~ˆ‰~~€~||||{~}}|{€€‚‚ˆ³ÊÍÎËÌÏÑÑÏÌÒÐ̺‹€{}€}~~€‚…‚‚ƒ~||}~}{||~~€€€‘˜Ÿ±ÀÇÈÉÇÅÄÀ¹«™“”z{}~~€~}~€ƒƒ‚…‚~||~~}zxy€~}~€€€€~¦‚}‚‡†ˆ‰‰‡„~}ƒ¡£~||{{}€€~€€€€ƒ‚}||}~}zwy~€~||~€€€€€€~ŸÊ¬¬¢‡†…”°­­Äά~~}||}~€€€€€€……„||||||{{|€„~||~€‚‚~šÍÑÐÊĺŸŽ“¬ÁÉÐÒÏ©€}}}}~€€ƒƒ†‡…€||{|}}|}}„€~}~~€‚‚‚~–ÊÐϽˆƒ„„‚”ªËÒΩ‚‚€~}}}}~€€‚‚yxwwwxy||{|{{{zz{{~‚‚ŽÅÉË¢€€†ˆ‰ˆ‚„¸ÅÇ¢ˆƒƒ€}}}}~€€€€€€ywwwwwwzyyyxyyyzyyy~€„˜›‰‚‚‚ƒƒ„ƒ€‘‘‡‚ƒ„ƒ‚~}}}}€€€€}}yxy{||{{{|}||{{{}~~€‚‚€‚€€€€€€†„‚€~}}~€€€€~ƒƒ}{z{||{{|}||{{zz|}}~€‚‚€€€€€€€€€‚’‰‚€~}}~€€€€€~~‚„~|{|}~{{{{|{|{z{|~~~€€~€€€~„„ƒƒ€}}}}~~€€€€~€€~||€‚}{{{|||{z{}}~€‚‚€€€€€€€‚‚„„ƒƒƒ‚~}}||~€€€€€€~|~€€|{|||zzzz{~}€‚‚‚€€‚‚ƒƒ‚ƒ‚‚‚‚€~}}||}}€€€€€€€}|}}|{{|||{{|}}~€€‚‚‚‚‚‚‚‚{~ŽŒ‚‚~}}|}}~~€€€€€~||{zyxwxxxxxwwyz{€~~~‚‚‚‚‚‚}|‡‡‚ƒ~~~}}}}~€€‚€~yxwwutttvvvvvuvwv{€~~~~}~€€‚‚‚‚€}}‚ƒƒƒ€€~}}}|}€€~xvvwyzyz{{{{{{yzzz~~~}}~‚€€~‚„ƒƒƒ~}}}}}€€€€~}}~}}}~€~ƒ„€€~~}}~€€€ƒ€}„ƒƒƒ‚€~~}}}}~~€€€~‚ƒ‡ˆ‚€€ƒ‚ƒˆ‡„ƒ€~~~~~}~€€€€‚€{z}ƒ‚‚~~~}}}}~€€„‡†…ƒ‚‚ƒƒ…ƒƒ‚‚…ˆ‡„€€€~~~~~~~€€€€€~zxz„“‰‚~}}}}}}~€€ƒ„„ƒƒ…†‡‰ˆˆ…€‚€~~~~~~€€€~ywy}„Š†ƒ€~}}}}}}}€€€‚„‚‚‚€~€€~~~~~~~€~zwxz‚ƒƒ‚}}}}}}|}€€‚…†…†‡‡ˆ…ƒƒ‚‚‚~~€€~~~~~~~€~zywxy€ƒ‚‚‚~}}}}}}}~€€„ƒƒ„„„††…„ƒ„‚ƒƒ€~€€~~~~~~~~‚‚~zyxzzƒ‚‚‚€~}}}}{|}}€†…‚ƒ‚‚ƒ„‚…‚€‚‚€}~~~€€~~~}~~~~~€‚~|z{|{}ƒƒ‚‚~}}}{|}}€€€€‚‚ƒ‚€€}}~}}~€€~~~}~~}€€~||~~~€‚‚‚‚~}}}}}}}€€~~€~~€€€€€€‚~~~}}~~}~‚ƒ„ƒ‚‚‚‚…„‚€~~~~~}}€€€€€€~€€ˆ”› ¤¨¬­®®¬¥”~~~}}~~‡ˆ‰ˆ‡…………‚›~~}}~}}€€}˜ºÃÉÌÌÌÃÆÇÆÆÆÇ»‡€~}}~~~ÏÏÏÏÐÑÐÏÑÑÑÐÏÏÏÊÄÇÄÌÏÏÐÐÐÐÎÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÎÎÎÏÎÏÏÏÏÏÏÍÈ¿´®¦£–ƒ|uloxlgipqrehdY^b^]d_X]a_aXRPX\[^d`fUVXVUWVU[XQV\]]YVMC>:<:534?4ÏÏÏÏÏÐÏÏÐÐÐÏÏÏÏÊÃÇÄÊÎÏÎÎÏÎÍÎÎÏÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÎÎÎÍÍÎÎÎÏÏÏÉ·¡©™z‚zwc`cqzp``nkg[Z\^_ZYVQ_f`^TPPRZY^hhiQT]aZTRNTTY`d^WQNLB@98854177ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÃÆÂÈÌÍÍÎÎÎÍÎÎÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÎÎÎÎÏÏÏΤŠqpnrllnou€z`bdgg\\]]]\TTV^e]\XTRTWVX]jdRRY^WNNNSS]ca`ZRHDB>953332/1ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÃÇÃÉÍÌÍÍÌÌÌÍÍÌÌËËËËËËËÌÌÌÍÎÎÎÎÍÎÎÎÎÏÏÎÎÎÎÌ·™zkou{w€kif^i[`ed[[YW`YTYdeUTVXXUQNVR[iTPUXYROSRQ[c`bYUUMH?;86331..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÅÂÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËËÌÌÌÌËËÊÉÊÌÍÍÍÍÍÎÀ”ƒ„~wfm}odib_bVie[YUTP^a]`rnZQQV]WMJUSS\TZ[XVOPSTY_[Y[SQYQIA?@<540.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏʽ¾¾ÊÑÐÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍÌÌÍÍÍÌÍËÉËÌÌÌÍÌËÈƦŽ}zvjanspcacaZ\bVR[UTR[gghjehVRW[VPRVTTYT[^aVSTSZ]]ZYVSPRPJ@??9652/1ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏɼ¿ÈÐÏÏÏÏÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÎËÍÎÐÏÍÍÉÇÊÌÌÎÐÌÈÆôž|yqhZWec\_ba]d_WVTNQVZ`bfia]TPQRPNUTTR`OUX[ZXZX][\ZURTPQMGD@B<641/3ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÈ¿ËÄÇÏÎÍÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÍÊÌËÍËÇÃÄÂÆÇÊÍÎËÿ½®”‚sVSRSPUWlpgcc^[MDBOYS]cb^WTQMMLJNLRN[OSWWYX\]]]^YTPSOWODGB@>41///ÏÏÎÎÎÏÏÎÏÏÏÐÐÏÏÇ¿ÊÃÅÎÎÍÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÎÍËÉÈÇÉÂÀ¸Ã¿Â¾ÅËÈž¯¢¨’~{t_WYXXffdqkh`XWSQSTbUP\^VPVWSMJHOQSXWRQY[WUYZWRS\WQWQXWA78321//..ÏÎÒÕÕÐÍÎÍÌËËËÌÍÇ¿ÊÄÃÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÌÅÄÄÁľ»®Á»Á¹¿ÈÀ¾¸¦ˆ‡rŠe]`\]hoYo_X_TQUU_\YQPTYSQTXWNKMTTS\f]PVZWWWX[TM\\Y^]PF<6541/.-..ÎÚèîíâÒÍÌÆÂÂÃÆÉÅÀÊÄÁËÍÍÍÍÍÍÎÎÎÎÏÎÎÏÎÎÎÎÌÅľ¶½º´¤½µ¿··Ã·»µ˜…}~pkhfdeUZe`Xf[T]_QSTY^VTTPPPNMPTYVRTQQTe\MX[YSPPZZPYZSPLB9=<962/---.ÚîßÅÑìçÏ»µµ¹½ÂÄÃÊÆÂÊÌÌÍÌÌÌËËÌÌÌËÌËÉÉÉÇÆÁ·¯ª¯²«¡­®·²³¹®®¥…yzxojVbe]YeZSZh`X`ZMQSU^`bVRONMPSNUWLPUPR^]Yb_VPLMZYTYQPYJB@=;;972....ìׇlx´ëÛ¸²¯°µ¶ÀÆÇËÉÅËÍÍÍÎÍËÈËËÌËËËÉÇÄÂÀµ¤¡¦¨›¢­®­¬«©š‰xnmhkn]Z[WbcXW^_Z`WRUTSVWb\SUQPRUTSUWSQXPSYaZaYY[U\`WTZWTSB@H<877752000æ•uvsŽÒ繯­¯³µÀÅÇËÉÅÊÎÎÎÎÍÈÂÉÌËËÌǽ·¸¹¼® ™‘œŸš–¦²«¬¥ž –~mhfWgbUMHNYbYSQ]gban__a]UZQQQPQTXTVTUZTYOP_`_g[c`iiaURPPMLAÄÅÈ»¹¿ÊÝëëëëëìêéèèæäÜÔÑͧlc^ZUZdœx^_^\\ZZ[X^‚Œ‡ˆ„{xz|vwqa[]_WWVVW]ZSO\qzma_eSWPMUUNLLHDNVTRTPMY`bbYQX\_`Y]ZVWF856;<::::;>>>=ÓìêääåæåêëëéæãÝÖÐËŸ®¨›gFWbltyZKL@8::Ekrnk`GY‡…€„‚xuxxuuth^a]QPZX[`TT^cigbU\cbTWOLNTNJD>ANTVZW_ly†‰ŠŠŒ‘’”“’“’xk^QB99989;?@??¿Ð½ëíììíììëæÜÎÇÄ¿¹¬ªŽ…KSˆ™ ¦©‰fP:;BEHMIFJORFp…ƒ€wuwzyurlh_WPLYZ[UVY`_\MY`]\[Z`XMMTPLIKONRUW„—’Œˆ†…„‚‚‚ƒƒ…Š‡iA8999;ADDE“špÛêèééèçÚÍ飩¤£–•Ž†‡pOU™¸·µ´­§±‚yŠcYVG644C_V„„||qqxz|sjcdVQTGCNWVW[[QMKVY\]V[d`TNNLMQQOLJJd”df_YWWWSSRRRQQQTUUVXXWJ79:<48oTz†{yxnkqxzqhc_RRTGIPTZ]VSTQRWZYWX[b^UNGFDEIJHHGitOafkoroF<<<;;:?NX[^_d\I<9;<Bz_ƒ¦¥§©­³x>96;DFNVQKIFOyV?7;<=CJLLœ»Á½°ÀÌÌÊÀº¸ºÄÉȼŠ{|}xao46Ae`BPPQQRQRMKvoN4`–‡Y}xuuukntnihaQ[i^VT[\YPPW[_a`[Y\\XQKFBA??<::;IŠ]t˜¤˜Ž„zlR?8DMRXS?;;;;WeA7;=AGHEOê–¥ ¡Œlc_VXQPVZ\m’}z|mwa56J“’YMHCCDORPGb{Z84?Œ^|€ywzunlpjhee^esdZOS\]WTU[Za[Y\f]QKFC@@BA?>BCb‹^HNH;86=RTLDIMOSE8:;;;DjI=XˆšƒI?656EIHEw™m654}tm‚}z||rjkkmgb^_\`[PQXXQPU][[Z[__USOFCAEIC?BNNƒY=J9787AUPFCFPPJ@>@@<9AfTA;>AFLV`]X~Ž“šVTA@gmfZC9AAa“ƒ‚cMIKP{‡fKG??>>;8<€ž[874hb„swysigjswhZVVSSRPWYPPZ^[X\b_ZPRUPJGLRI>@L[mS7D78HO>F?536BIB>CEF>8<\]@;@IKT`jJO¬äº{JSSJLLKNJFEAEuÌ‘]O[QoxlLIKMOMNJMZˆR=<6^’S€aIKiohghgobVV]WX\SSUSUQ[`]eaXWSPJJHFHNMONNržZJ;BEQV[ae~’JLDHCGsƒ\AB;5456=BCEDC?7IXBLj_SalhGXz§ÂÓÒÓÓÕ×ØÚØ××؆:11BK;9788<=::867:9986>>@HKJIJJG<@FDZbVOftjIOq§ÒÛâæèèèêêëíìëâ×X8\F=<<:8999898889999998:;:AG6R_poc_`ba`a]Y\VVUVX]TQZYRNOTYYXX_xƒ†‹ˆ]JUUbjTSa@99>DEGKK^poqlQ>?<;;?HTqXAHQhpiXWq’¹¾ÉÕÙØÓÓÕÊÃËÕÐËË·SQ@<;:8898888878988978ALV]htœ—™˜“Œ†ykkkoyŠ“‰ˆŽŒƒ‹§xx~}~~ub^crRi„vfbUGOWZXX[[^_`_]\[UMPeoxŽ‡^drrkiqppsuw{ƒƒ€€~|‡„€”´_K:47965777677778786K‡˜¥¨ª«¨§¦¤£¢¢££££¦¨¥y|zxyzyy|€„‹’¡²º³¤”„yrmno„¹…wmsifdYYpsommkhhhijmqrb^b`fpkTdwrtusqnmmoqsuvvuuuuvy|}…—i[wfC344655558C8777;™‚‚{yxtqnnjjikkkjnqr‹utvvvwvvutsssqrwŒ™¦­°¬£“†€ª‡j\b]ZZX[jb\ZYXYYXYYZ_d^YZYZ[XNXbgu{vroljlmnprssssrpqrvzrc­º˜@1344456876662bdeklkjlnvŒ¦‰{vropokdytgilnpruvvvutsqppqqrv{…”¢­x™ydVWYXWWYXXWVVWWWWXWWXXXXXXXXVRLUZX\{wsolkklmnoqrrqqqpoxgL©¿¬œK9788439OE86:‚h~‡Š‹ŒŒ€i|al‘‘ŽŒ‹…}pngceffhloruvxwtrqponoppnnpd†l_SSUVVYYYYYXYYYYZZZZY[[[XXYZbWNUWVTzzytolkjjjknopqpqqolY8l½ÇÓñ¸ˆ`X\ltI«Fgx–^y¬ÃÈÏÒÓÒ|ODBPªÝØÑÎÑÊ‘j^meffeddehkosuvwwvtronnqsmgwibƒeo{][\]ZZ^]\\]`^Z\ZXT‚¤‚œµbOTXXXxxyxuqljihhilnnoopn[G3?›ÔÙëî±z]_nxܵ^l{ƒXwÍâßßßà×g`d_N£äÜØÖÛä“mXijhfdcbbacdfkpsuwwxwtpnoeZhcU®Ä»Ãì•LMNoeQTetXOPzdAEmàçÛÔÉhRRWWWwxxxxwrmjhfgijklmnmU;4.Dbb†žš˜bon[‘óÙjiŒrbb¼×ÑÖ×Û¼MRc`Q‘æäæàÜÙy[h^kmkhecbbabbbfkprtvwwvurcJU\K›âÞÛìë‡E=p¬JB‘°}5gµQ<\ÎìÙÕ߸TUQUVVrtvwxwvsojfffghijklK310/35>AN^Ygy‚ ÚÇ’žcjPV[W]aeR=RšXkŸ™‹{i[FHpXjlomjgeccbbbaaejlortvwyiEIQMd¡§ÄÄîàZ?Eµ”NÃë F¶“ID“ûÝ®™vaONPUVVopqsuvttrmgedbcdfhjE/0489=CLWe„ÄÔÙáçäâÀ—XjM@578656;I—„YUA57769G@hYdgimmljfecbca__acglpstwlDBJMOO^t“âÊrWJsÞˆ´z¡Ó_VeˆÂ´l^USPKSYXXlnpqsttttqkgdbaabchI//259AK\o’¢äïííìëïĆUgE@89<:9877NN>:7:?A=8533455Cƒ‡L686GhUhhdfjlnnnlifgggeb`adhniF?HKOTW[behilrz‰¸ÒØǪ…ztqonk`YVQMJ[iechjmoqssuuutrojfddcdK2205:^„K9DP—¬­¶»¼Å£bZVMPNQQNKLI:4566;U’¥`HLA>hPedcehfhlnonljhgggebaaddG==?@>M`P‡lReigfdfikihgdaa``b^@6GLNQUYennpl¦òïêëëðñðõ¤jkllaYSQNMcnlj€^egilmoqsttsrqojddK88//14?B8;PZz‘vp[YYYYWWXX[[YWWVVZ^bdmrst{…ˆx…st|xlgnfdefhhgda`ab`>6GNPSTZejeba{»ÇÅÄÅÄÅÄÁ|RS]ibYTSONzvklÂx`ehjkmoorsrrrqnifI69//014:=>@ACELdY}nq^^]\\\\\\\\[t}{›£¨­°°±±±°±°°¯³²°°ª–sedcbcggfcaaa_:4FLPYphc]M6--38AFEPC@?3.:IXb€ŠXLK´Áp˼p_egikmmoprrrqqnkI3:2/,--.//../02@_H^qY\[[ZYYYYYXd†®ª¦¡›”Œ‰ˆ†‚€~~~€ƒ‡‘™vjnda`cdgfcbb`72EGI‹Õƒ_ONKKJKH]aY`VUYQNMUQ_±ànBE–ÎÔ¶ÁÏ°a]cfiklmmprqpqpmH2:3:M=40..,+,,*8tm€sWYXZZYYYYYV|‡{‚ume`[UTRRYRSPPOOOPQTWZjvigcccegggfb50BAC‰Äw^a]A?CABDCCBBB@>7Edd`{ZBD^~¤Ì±ÅÑ™Z_ehhjlmnoonpmdD2941ENKD::.+-..Gw’„{llcYZZ[ZZZX}mQOIHHIHKLJL]KEEDDDDAAA@@AXlliebcdfhhd4->>?M__bjn\KHGMSTVXY[[XZkqneVLDBC\hg{¸ÉÍ…Ybegikllmnnnj_D26327:<;52158=@Yr‘€¢®—e[\\\[YhyF>==:;:;::95578:;98777888:@_mmkgdcbehe5,:98=DMXbiojfffeecc`^\\_`[SJB<79>]kigT”¿ËÄp\behjkllmnnleS:21211100//100/Do„uŽßåÚ¡babb`]„h<<>>?@@BD?B]J;<>>97778887>?Oklmkieabdc6+86A/+,-,-../..--+***((&'**'(.LU@]lkkX{²ÁÏ®c_cfhkllmnmlh`RJHJMNMNNMLLNONFjsY‰çÙÞçŒfnqpt–N?:@CCCCBC@758:988=<@UT@KQ8444556548A>TklkkkhaWQ1*73,2A?>@?==;99::;;;>BEJNOT0&(2:UfhiRLQ“¿ÆˆZadegikkmmmljihfeb_^]]_``cfXKKKJ^`Ü’€§±­¬q;?559<988==;H\MON469KHB8535>@Gdlhgfd^SL1)50+2;:::;;<;:8878;:8668755(#0445Pbbd]SO]¡¿ÉÂrW^`behiklmmlkjjgc`^]]___acWFHHJMT`q‚Ǽtu­V>=337Va:4@@5422577;L[OMF>638A@YkiiiigbV:/1.-22/-.,+,++)(('())((&'*+(&1201Tea`fZQLh¯Á̶g\`begijkmnnllljgc`^^^^_`bYDEGJPT\g’ä,c C@923Ky|O3762112459BEJSXWTF45A@Lh]HHJ^d^T?51258:=??A@><;<>@BA@>>>DJNRUUVVXiomhk`RNL~¼Ãѧ`_beghiklmnmllljfd`^^]]_bZACGHQYbgužnA‰<@:97RŒ‡zB<7100134?GKPZ_]]R:4?@E`R342Ffca]XTTVY[[^bgfc^ZZ[[[[Z[ZXX[`gjmmnopqrrnpbQMS•¾ÆÑ‘[bdfghjkklmmmmkhgc`^^]^`Z=DHFNW_K><=[cNO?QTOCB?2//127FHTJ^e^UL<4;?>F@661=ffebba`a_^]_`dghgda_][\\^_][Z[^eijlmoqrrknw^ON_§ÁÌÊ}\ceghjkklmmmmljjfc`_]]_X:CHEJQP9CNKUgI478:=6149Rgfgffeddcb`__adhkljfa_^]^__^]\[^dgklnnqqrqqgWPMn´ÃÐÂr`degikklnnonnkkifb_^]_V7BHFILN:@c8>;?8AL@:;98888HJHD<<=======>B@>V@Lkfhggefffeefhhhgdb``cejlmjgca^___`^]\[^bfikloppoiYQWZœÆÇÓ¦``bdfgijklmnmmlkhda^_T3>GEÖ¿kTzÀ¿ilhC@BBCEGIMNOSY\[Z[[[\]^_aaa_\dWm<‰ˆdffffeeeghhhhggebaabfjmlkieda``aa_\Z[\^cgjrsrqoeRMM`®ÆÍÒˆ\acefhijjlmmmlkigca_S2;DEqÏÛ‡Ojª²MwpK^loqrrsssqpoonnnmlllmmlmoqufyŠa|£fcccfeeefgghhhggeca^acimmlkiecbb`^\[[\[\_drssuuwhSOJwÀÊÓÀj_cefhiijkllllkkifc`U.5=ELj…v\Wz£O{Œ~hnnfda_\[YXWUSSTSRRRQQRSSUY[Y_hzh[fdccdddddefgffggffd`^_bgkmmkhfca^\[[[[[[\]qommloi\QMPžÈËÕœ\adfgghijjkkkkkiheaS-48?CBFM`XWƒ_{rbURTOMKIIGFFFDCCDCBCDCCDEEFIGHIJXoddŠvbdcccdddeeeffffeca_^_fklligda][[ZZYZ[[[ohehicc_TOKl½ÆÑÊs\cgheghiijkkkkiheWE,43442//AYUqygPHGEEEB@@>>====<;;;;<<;;;<=>?@??@E^pegfcbccbbcdeedeefggfda^]aegkjheb_\[[[YZZ[[kghhrnicUNNNŒÄÈÕ«_aeddfghijjjjjgd_RB+219446;AQq”pYA?>>>><<;:9999999999::999::;=<;;;;Hbgcfgkbcbbbcddddeffggeca`_`ahkjifb^Z[\[ZZ[[nlhirqriTMNL[¬ÅÌÒb`ceffgiiijjkjge]E)00/.8=>?:\¡¦¤¢|AECCCh|dUJC;551Gheddeca^^``cdefffefgggghggfd`]]`dhlmlje_]glmioommqrtkSLQSc°ÄËÓŽ`cfghjjkllkkkjgfda`_]\UND28:8;AHSd{¡¯QAWjmpŠ³œŽ—™nOy°hVJB;81/Hhfdded`Šµº¦iceeefefghhgfghggd`^^aejlmlkfcztrpwrljmmlngMJLKx¾ÂÎÉr]cefghijkkkljhiheca_]VPG1448ABKTe{ Ál{Çìëííïïïðñðõ¡\ª¬‚iVJC<;42Jhgffffc{Ôíç¤addeefffgggfggggfda]\`eiknnlh{tmmjiklmldPKMMPšÁÄÖ©[^bdffhhijjjiijjifc`_WQG005:?BMTdz—ΛkÒðììëëëììáæð›Vº¨†m[PG>;9=Nhggfffecq{uccddeefffggfffffffd`^^`dimonkvzuvuoninpomlcWNMIhºÀÊÒ{Zadffgghiiiijjihgeb`WHA9F@;AFNUd}Í \Ïóîîîíîðñññø›ZʸŒkVH<40/2Liggfffeed__`jjddeeeefggfffffffeca_^`eimnnqwsuvnpjknnmpthQLKOžÅÇ×´abfghgghiiijjihhgfdbX:=>;3459?IXoǽU®ÝØÙ×ÙÔÍú²¯ja—fM;55:@2.2KigffgedefddkŒeeeeeedffeedddeeeeba^\_djmnnupolmokhklnooiSKKLo¾ÇÐÕ…_efhihhhiiiiihgggfd[4:>512:8>FO|I>IHJKUJA;654.^N>L93WÄÅT,7Jghgffeeffedfb`cddddddefeeddeffeedca_\^dilpoovtomnopiilklUKKNQœÈÇÔ¶b`begggghhiiihgggff\:?>819©Ò¦98BS9Th>?@ADMKGGFGD[xORB5/c´€B/9Jggfffeeefedcba`cc`deddeeeddeffeddecb^[_ehknpspnnrstnhlmhVMKMLk¾ÇÍÓ…`efghhihhhhihhgggh]HT<926z¬ž645OgG…|bcdy‡rqnpotŒcft5222/+02843456655>LGKINTe\pfZY]OKMKGH50/0/0101Ffhffeeeddccbaab˜¾¾«habbccdedddcbcdeedb_\[rwwrkklppkjluttf_YMMNQÌËÐÇtehhijihgghiiiig^T-*=2.//.---.2:668887:G<1/-,+*)&(''()*,,*/Dfhgfeeddddcbaaa^a^`bbbbbbddcccbbbcddca`^\lklidaajks|vvwqjpfQLNTc¶ÉÉרfghijiihfghhfc]UR-':-(+)('''&&$#$$#"#$#$&''(*+,/477)%&()*-Aegfeddcbbba`^]^^_^`bcbbccddcccbbbbddcbaa`rnkmkrmqjtvuuv~~l^SKLMNƒÇÆÐÑ‚cgghhhgffghged]V4'8,&&%+3469:988989::::::;<>>=>@@>(!$%(()=djkotx~ƒ‚ƒƒ‚€zyvleabcabcedcbcbbbbcdcbcaa„}€}xx|ylhqxxz~ve^RKKMMW¨ÉÇ×·fccefeeffgfgggdV7)8-,'&).-00///.-----,,,+++++++)*(%9Oar…œ¦«¯²³µ´´´´´´´³µ´¯¨›…e`bdedcbccbcbbcbbccb†|vyttlmtpmkqka``TLKK[a‚¿ÄÍ׋_bcdeeffededbaV>/5-20,&$$""###$""""!!!""""###!!$(Ad‘¨±³²°¬¨¤¢žš˜˜——••–—•–—š §¥|bdceedccbcdccbabcccƒ€zzzspsfdipzrjmgYMLLYa` ÄÅؽfaccdefedddba`ZO:-*-,+'$$#"##$##$%%&'(((*+--.,,)Yª®¨Ÿš“Š…}zuqmmkiijjihiikpuzkegfefedddedcbabcdc…††‡‡‡‡‡‡††‡‡‡††††‡‡‡‡‡‡‡‡‡‡†„‚|vutttvxxxxxy{{zvuwzz{{zyz{~€€€€††††††††††††††………††††††††††††„|yutsuuuxxxwwyzzzwuvvxyyxwy{}€€€………†………††…††………………†…†…††………††„‚|vuuvvwyzxxwz{zyxvvuwyywwyy|}€€€…………………††††………………………………………………„‚zxxwvy{{xwwyz{zyxvvxxxxyyy|~€€€†…„„………†††…††………………†…„„ƒƒ„„„„‚€|zxwxz|{xxxzz{zyvvxwxxyzyz~€€€…‚‚ƒ„„„…………†……„……………„‚ƒƒ‚‚‚}~|yxwxy{yyz||zzxyvvxyzyyxz|€€€ƒ„…ƒƒƒ„…………………„††††„‚€€€}}}}{yxwwwwxy{{{{zyxwwwwxxyyz|~€€‚„†ƒ‚ƒ…………………„……ƒ‚‚~~€}}||||zywvwvuwz||{{{yxxwwuuwyyz}~€€ƒ‚‚ƒ„…†‡…„„ƒzz||||}~~}||{{|zzyxwxwxxy|||{{zwxwvuuvwx{~€€~€~~„…†ƒ‚€}{yzyyz{z|{yyxy{xzzyxxxyzz{}|||{zyxxvvvvv{~}~~€~~€€€€€…ˆ‰ˆŠ‰ˆ‰ˆ†zxyyxwwy{y{{ywwwxxz{|}}~|zxvxvwvvvy~~}~~€€€€€€€‰‹‹‰‡ˆ‹ŒŒ‰zuwvvvvy{zzzyvuvwyz{}~|||}}€€€~€€~~}~~~~~~~~€†ƒ‚„…†‡†‰‰|suvuvvy{{zyxyyyyyz{~}|€…‡ˆŠ‹Œ‹ŠŠ‡€~}|†~~~}€}|}‚‡†„…………„ˆ‡~sttuuvyyzyzz{{yyzz|~~~~ƒƒƒƒ†ˆŠŠŠŒŒŠƒ~}|†~‚ƒ„„~}ƒ‡‡„†ˆˆ‡„†‡ttttuvxwxyyzzzyyz|~~……†††ˆ‰‰Š‹‹„~}|zƒ„‡ˆ‡‡ˆƒ€…ˆ‡„‡ˆˆˆ…†Š„wuvutuwxxyyyzyxxy|~€€†Š‹‡ˆˆ‰ˆ‰‰‹‹†~}ys‚~‚„……„………‚…††††‡‡†…‚…Š‡€}{xxvvxxxyyzyxxz{{{}~‚‡Š‰†Š‹‹ŠŠŠŠŠ‡}vl‚‚ƒ‚‚‚…†ŒŒŒŒ‹‹‹‰‹‰‰‹‰‚|z{{yyy{{{{zyxxtpjw}‚ˆ‰ˆ‡‡‡‡…†ˆ‡‡‡‚|sl„ƒ„„„„ƒ„ƒ„‰Œ‹ŠŠ‹ŒŽŽ‹‹Œ‹Š„‚‚}{wtrw€„‡‰ˆˆŠŠ‰ˆ‰ŠŠˆŠ†ukj††††ˆˆˆˆ‡‡‰†‚‡‰ˆˆ‡‡ˆŒ’’’‘‘’“‘’„ƒ‚„ƒ„„ƒƒƒƒ‚‚‚„€~€‚€}}}~}€|zu‰ˆˆˆˆˆˆˆˆˆ‡ƒ„„„……†ˆŒ†€}†‡…~€ˆˆ„„„ƒƒ‚‚‚ƒƒ„„ƒ„zvrsrrrstswy}„†‰‰‰ˆˆ‡ˆˆˆ‡…„‚ƒ‚‚ƒ„ˆ‹„~z|‡‰„|z~„‰…ƒ‚‚ƒƒ‚‚ƒ‚ƒ€~{}||{|}~~~‚†‰‰‰‰ˆ†‡ˆˆ‡„„………ƒƒ‚‚‡Š‡‡…†ˆˆ‡ƒ„„…‰†ƒ‚‚ƒƒ‚€€‚‚zy{}}}~€}{xw€ƒ‰‰‰‰‰ˆ‡†‡‡ƒƒ„…„‚€‚‡‰‡‰‰Š‰‰‰…†ˆŠ‡…ƒ‚ƒƒ‚‚vrsuvx{}xvtqrt~ˆŠ‰‰‰‰‰†††ƒ‚‚‚~|ƒ‰‰††‡‡‡‰Š…ƒ…ˆˆ†…ƒ‚‚wrrtw~|ysqru~~„ˆ‰‰‰‰Šˆ†…‚‚‚‚€€ƒ‹ŽŒ‹Š‹Š‡‡ˆ‰‰ˆ‡…„„ƒƒytsv}ƒƒ€€€~wttw~†‡ˆˆ‰‹Œˆ…‚‚‚‚‚‚…Œ•—••••‘‘’‘‘‘‰…„‚‚‚‚~{zy€€€€~{{}€€}€„‡ˆ‰‰Œ‹ˆ‚ƒƒ‚ƒƒ‚†ŒŽ‘‘‘’‘’‘‘’’‘‘‰‡…ƒ‚‚‚€€€~~~~€~~~„„||†ˆ‰‰ŠŠ‰ƒƒ„ƒƒƒƒ‡Š€‚ŠŽŽŽŒŒŒŒŠŠŠŠŠ‹Œ‹‰‰ˆ†„‚ƒ€€€€€€€€€€€€†‡}}~ƒ‡ˆ‰ŠŠŠ†ƒ„„ƒƒƒƒ†…~~…‰ŠŠŠŠŠŠŒ‹‰Š‹ŒŒŒŒ‰ˆˆˆˆ†„ƒ…†…„………†„„‚€€…‡|~}}ƒ‡ˆŠŠ‹Š‰ˆ…„„„…„…ƒ€ƒ†‡ˆŠ‰ˆ‰Œ‹‰‰Š‰‰‹‹‰ˆˆˆˆˆ„„………………††…„ƒ€ƒ…v}}†‰‰ŠŠ‹ŒŠˆ†††…„„…„ƒ…‡ˆŠˆ‚†Š‹Š‰ˆ‡‡‡‰‰ˆ‡‡‡ˆ†ƒ‚‚€€€€‚o{€~‚‡‰‰‰Š‹‹Š‰†……ƒƒ„ƒƒ„‡ˆ‰‡…†‰‰‰ˆˆ‡‡‡ˆˆˆˆ„…ˆ†…„ƒ‚€€‚€gm{}{~ƒ‡‰‰Š‹‹ŠŠˆ…„„ƒƒƒƒ…ˆ‰ŠŠŒŒ‹‹ŒŠŒŽŒŠ‹ˆ‡ˆ‰ˆˆˆ‡……‚€‚‚‚iir{}~…‡‰Š‰ŠŠ‹Š†„ƒƒ‚‚…‹Ž‘““””””•–•–––”Ž†ˆˆˆˆˆˆ‡‡…ƒ€€‚ƒƒ„ƒkjjw€~}‚‡‰Š‰‰Š‹Šˆ†ƒ€„““˜˜—––””••”•––—”Š†ˆˆˆˆˆˆ‰ˆ†ƒ‚‚ƒ„†…mlls€}~…‰ŠŠ‰ŠŠŠ‹‰ƒ‚„‚ƒŽ‘‘ŽŒ‹ŒŒ‹ŒŒ‹ˆ†‡ˆˆˆˆ‰‰‡…ƒƒ„†‡nlinz€~|€‡ŠŠ‰ŠŠŠ‹Š„‚„‚†Šˆ‡†‡‡†††„…„„„†……„‡ˆ…ƒ‡‰ˆˆˆˆ‡ˆˆ…‚€€ƒ…‡‡kkhhkz€}~ƒ‰ŠŠŠŠŠŠ‰…ƒ‚‚„„‚ƒƒƒ‚‚ƒ‚‚„‚‚‚„ˆ‡†‡ˆˆ‰‰ˆˆˆˆ‡…‚ƒ††kkhfet€~}~†ŠŠŠŠ‹ŠŠˆ…„ƒ‚‚‚€€‚€€€€€€‚‚‚ƒ‡ˆˆˆ‡‡ˆˆˆˆˆˆˆˆ†ƒ‚€„„kiffek{€~}‡‰ŠŠ‹ŠŠŠ‰ˆ„ƒ‚‚ƒƒ€€€‚‚‚†‰‰ˆ…ƒ†‡ˆˆˆˆˆ‰ˆ†ƒ‚‚ggfgfhq~€~~ƒ‰ŠŠŠŠ‹‹‹Š‡ƒ€‚ƒ‚€€€€€€€€€‚‚‚…‰‰ˆ‡††‡ˆˆˆˆˆˆˆˆ…ƒ€€hhgffghv}€ˆŠŠŠŠ‹‹Œ‹‰…€‚‚‚‚€€€€€€€€€€€‚‚…‰‰ˆˆ‡‡‡ˆ‰ˆ‰‰ˆ‰ˆ‡†ƒ€ihgdfghr~…Š‹ŠŠ‹‹‹‹Š‡‚€€€€€€€‚…‰Šˆˆˆ‡‡…†ˆ‰ˆˆ‰ˆˆ‰ˆ„ihgehiho}€~€‡Œ‹ŠŠ‹‹‹‹ˆ€€€€€€€‚‚ƒ…ŠŠˆˆŠ‰‡‚ƒ‡ˆ‰ˆ‰‰ˆˆ‰‡„jjihihhju~‚Š‹ŠŠŠ‹Œ‰‚€‚‚ƒ‚‚‚ƒ‚‚‚‚‚„„„‚ƒƒ…ˆŠˆˆ‰ˆ†‡‡‡ˆˆˆ‰‰‰‰‰ˆ‡lkiiljhho}‚€†ŠŠŠŠ‹ŒŠ‚€‚‚„…†‡†„„„…„…††„…‡ˆŠŠ‹‹‰‰Š‹‹Š‰‰‰‰‰‰‰‰‰‰llmnonlns|€}}~‚‰Š‰‰ŠŠŠˆƒ€‚ƒ„„ƒ‚‚‚‚‚‚ƒ‚†‰ŠŠ‹Œ‹ŠŠ‰‰ŠŠŠ‰ˆˆ‰‰‰‰‰‰‰‰{zzz{{{zzzzz{{zzzzzxxzzzzzzz|ƒ†…ƒ…††‡ˆ‡††‡ˆ‡‡‡‡††‡‡‡‡‡‡†…ƒ‚ƒƒƒyzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ„„ƒ„…†ˆ†……†ˆˆ‡††„„…††††‡†…„‚‚zzyzyyzzzzzzyyyyyyyyyyy{{zzzz‚‚ƒ……ƒƒ……††……‡‡‡†…„„„……††‡††…„‚‚zzzyyyyzzzzyyyyyyyyzzzz||{{z|‚‚„…„„……………†ˆ‡…„ƒƒƒ„……‡‡‡‡†„ƒ‚‚€€y||zzzzzzzzzyyyyyyyz{{}~||||€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡†……ƒ‚‚{€€~||}{yyzzzzzzzz{{}}~}~ƒ‚ƒ…„„„……‡†††‡…………„„……†‡‡†…„‚‚‚€‚€€|zyzzz||{{{|}€€€€€€‚„…ƒƒ„†…„„„…††††„…†………„…††‡‡‡…„‚‚‚„~€~}|{zyz}}|~€ƒƒ‚€‚ƒ…………„……………„„…††„„……„……†††‡‡†…„‚‚€ƒ‚€€€€~|z{~~€ƒ„…†„„ƒƒƒƒ„…‡†††………………„„…††…„„„„……††‡‡†……„‚‚ƒ‚ƒ‚€€€~~~€‚…†††…„„„…„…‡‡††††……„…………„„……„ƒ„„„†††ˆ††„ƒƒ‚‚‚‚ƒƒƒ€€€‚‚~~~„…„„‡‡‡‡††…………………†…†…ƒƒ………†††ˆ‡†ƒ‚ƒ‚‚‚‚ƒ‚€€‚‚ƒƒ‚}}}€~|}}ƒ†‡‡†ˆˆ‡††……„…………‡………„„……„„……†††„ƒƒ‚‚‚‚ƒ€€‚„……„„ƒ}}{z{|zy|~}ƒ‡ˆˆ‡ˆˆ††…„……„…‡‡ˆ†††…„……”œžžŸŸŸžœ”„€ƒ…}€‚‚‚ƒƒ„††‚||}zxzwz}|‚ˆ‡‡‡ˆ‰‡……„„……†ˆˆ‰ˆ‡……„…ˆ‰‡„ƒ€~‚ƒˆƒ…€€€€€‚…†{}ƒ|xxw{‚~}†‡‡‡‡ˆ‡†„ƒ„„…‡ˆˆˆ‡†…ƒƒ„ˆ}|||zyzyyzyˆƒ€„…ƒ„„~{xz|}ƒ…{}‚}xy{}„€|…ˆˆˆ‡‡†……„„ƒ…‡‡ˆ‡†„…ƒƒ„‡|}€~{{z{zzy„Š‡ˆƒ‚ƒƒ}~~„|}~}{|}~„€{}‚…†ˆ‡††…††„„…†‡ˆˆ†„ˆ¥¨Œ†y|€}y{{|{zx~—³¡€ƒ‚€€€}{}}}}}}~~}~„ˆˆ‡†…„……„…‰ˆ††‚Ÿ¯˜ƒ„…„„„‚ˆ˜¢•€€€€€~}}}}}}}}}}}|zy{||||{|‚€„…„„†‚€‚„’¡¥¦¡¡£¨©§¤¥«©¤~€}€€~~~~~…Š€~}~~}{zzz{|{zyy}€€€‚‚‚ŸÂÆÊÃÁÆÉËÊÅÅÍÉȤ€{}€}~~€ƒ‡ƒ€€‚|||}}~}}~~€€€€€€€€‡›«½ÅÒÓÔÕÓÑÏÍÁµ¢š„€{{}~~€~}~€ƒ„‚‚„ƒ|||}}zyz}€~€€€€‹¦‚†“•˜›˜–ˆ‚}ƒ§‰}||{{}€€~~€€€ƒƒ|||~~{xx|€~}}~€€€€€€‹¾¹¢Œ‘–†‚„ƒ•Ÿ¦¾Ã}~}||}~€€€€€€~ƒ‚ƒƒ~||||}{yz~‚~}}~€‚ˆÀÒÐÇÆĬŽ‹›¿ÉÊÓÒÅ€~|||}~€€‚ƒ†ˆ†‚}|||}}|}|…~}~€‚‚‚€…½ÐÏɶŸŽŠ‰‹—¯ÃÐÐÃŒ€}}|}}~€‚‚‚ƒƒ€{yyzzzz|}}~}||||~€‚‚‚€‚¶ÐÐÁ€…………‚¦ÏÏÁŽ‚ƒ€}}}}~€€€€€€€zwvvvvwz{zywwxyyyxy~€°¨¡€„†‡ˆ†€Š¤›„ƒ„ƒ~}}}}~€€€{{zxwxxzzzyyyzz{{{z{~€‚‚ƒ„ƒ‚‚‚‚‚€…„‚€~}}}~€€€~}|yzz||{{{|}|{{{z{}}~€‚‚€€€€€€€€€€‚‚€’‰‚€~}}~€€€€€€}‚„}|{||||{|||{{{z{|~~~~‚€€€€€€~…„ƒ‚€}}}~~~€€€€€~€‚~|{}€}{{{||||{z|}~}€‚€€€€€€‚€„„ƒƒ‚€~}}|}~€€€€~€€}}~{|{|{{{zz}}~‚‚‚‚€€€‚ƒ‚ƒ‚‚‚‚€~}}|||}€€€€€€|}~}{||||{{{|}~~€€€‚€‚‚‚‚‚{~‹‚‚~}}|}}~€€€€€€~}}}|zy{zzzzz{|}}~}~~‚‚‚‚‚‚}|ˆˆ‚ƒ~~}}}}}~€€€€€~|{{zyvuuvwwwwuvxw{~~~~~€‚‚‚‚‚€}}€‚ƒƒ‚€€~}}}|}€€‚{wvvvvvvvwxxxxwwww}~~~~~}~~€€€~‚„ƒƒƒ~}}}}|}~€€€€‚€{xxyz{{{||||||||}{~€~~}}~€€€ƒ€}„ƒƒƒ‚~~}}}}}}€€€€€‚„‚~~~€€€€„‰…‚€€~~~~~}~€€€€‚€{{}ƒ‚‚€~~~}}}}~~€€€€„…‡…‚ƒ‚‚‚†††„‚€€€~~~~~~~€€€€€~zxz„‘ˆ‚~}}}}}}~€†ˆ‡ƒ‚ƒ„„…††„ƒ…†…‚~€~~~~~€€€~ywy}„Œ‡‚~}|}}}}~€€€‚‚ƒ„…†‡‡†…‚€€€~~~~~~~~~€~zwx{€ƒƒ‚}|}}}}}}€€€€€€ƒ…€€‚ƒ‚‚€~€~~~~~~}~€~zywxy€ƒ‚‚~}}}}}||~€€€‚‚„†‡ˆ‰‰‰ˆ„ƒ‚‚‚‚€~€€~~~~~~~~‚‚~zyxyzƒ‚‚‚€~}}}}{||}€€„†‚„ƒ‚ƒ„ƒ‚‚ƒ„‚ƒ~~~€€~~~}~~~~~€‚~|y{|{}ƒ‚‚‚~}}}{}|}~€€ƒ…‚‚‚ƒ…‚„ƒ€}}~}}€~~}}~~}€€€~{|~~~~€‚‚‚‚~}}}}}}}~€€€€€€€€€€€€€€~}}}~~~~~~}}~~}~‚~€‚„ƒ‚‚‚„ƒ‚€~}~~~~}~€€}€~€€€€‚‚‚‚‚€~~~~~}}~~‡ˆ‰ˆ‡…………‚š~}}}~}}~€€€€€€€€€€…”šŸ¤©«­­®­ª ˆ~€~}}}~~ÏÏÏÏÐÑÐÏÑÑÑÐÏÏÏÊÄÇÄÌÏÏÐÐÐÐÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÎÏÏÏÏÏÏÍÈ¿´¯¥ •ƒ}uikwjijppreidY^b^]e_W\b_aXRPW\[_e`gUVYWVWVU[WQW^^]YVMD?:<9534?3ÏÏÏÏÏÐÏÏÐÐÐÏÏÏÏÊÃÇÄÊÎÏÎÎÏÎÎÏÏÎÎÎÎÎÎÎÍÍÌÌÍÍÍÍÍÍÍÍÍÍÎÎÎÏÏÏÈ· ¨™w{t`]bs|p_`nlg[Z\^_ZYVR_ga^UPPRZY_hihQT^bZSQMSTZ`c]WQNKBA97654187ÏÏÏÏÏÐÏÐÐÏÏÏÏÎÍÉÂÆÂÈÌÍÍÎÎÎÎÎÏÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÎÎÎÎÏÏÏÍ挊snnqnmopu}y`ccef\\\]\\TTV_e\\YUSTVUX]hcRQY^VMNOSS]cba[RHDA=95333102ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÃÇÃÉÍÌÍÍÌÌÌÍÍÌÌËËËËËËÌÌÌÌÌÍÎÎÎÍÎÎÎÎÏÏÎÎÎÎÍ·™{mqwyv€~ggd^hZbdd[[XW`YUYeeUSVYXUOMVPZhSOTXYPNSQPZa_bWUUOG?<86431..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÂÄÂÊÐÏÎÎÎÎÎÎÍÍÍÌÌÌËËËËËËËÊÌÌÌÌÊÊÊÉÊÌÍÍÍÌÌÎÁ’Œ†€tdn{mdiaaaVjdZYUUO]`^`ql[QQW]VNKUSS[TZZYVOQRV[^ZY[SRYPH@?@<641.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÏÏɺ½½ÊÑÐÏÏÏÎÎÎÎÎÎÎÏÏÏÏÏÍÍÍÍËÌÍÍÍÌÌËÉËÌÌÌÍÌÊÈƧŒzzti_kqpd`c`Y]aVSZTTQZeeficgVRW[UPRUTTYS[]aWTTS[[\ZYVSPRQJ@@>8652/2ÍÍÍÍÎÎÎÎÏÎÏÏÏÏÏǻÿÈÐÏÏÏÏÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÎËÌÎÐÏÍÍÊÇÊÌÌÎÏÌÈÅõ¢|scVTb_Z^c`]d`XVSMOUZ`aei_\SPQRPNUSTR`MVW[\YZY^[\ZTRTPSMFD>B<530/4ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏǾËÄÆÎÎÎÎÎÎÎÎÎÎÎÎÎÎÏÏÏÎÍÍÍÊËÌÍËÆÃÄÂÆÇÊÍÎËÿ¼¬‚~sVTSQOWXoqfcc^ZMD@MZS\cb^WTRMMKINKQMYOSWWYX\]\]^YTPSOWPEG@?=30/..ÏÏÎÎÎÏÏÏÏÏÏÐÐÏÏǾÊÃÄÎÎÍÎÎÎÎÎÎÎÎÎÎÎÏÏÏÏÎÍËÉÈÈÉþ¸Ã¿Â¾ÆËÈž¯ ©’~v`WY[Ygi`ohf_WVSRTVdTQ\]TOWXSNJHQQSXXSQY[WVXZWRR\WSXRXV@67220//.-ÏÏÔ×ÖÐÍÎÎÌËËËÌÍÆ¿ÉÂÂÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÎÏÌÄÃÃÁĽº­Á¹À·ÀÈÀ¾¸¥‡†p†}f^a\]elXn^V_TQUU_\XOQTXRRSWWNMNTSS\g^OVZWWWW[TM\[Z]]NC<6541/.-..ÐÞëïîãÒÌËÅÂÁÃÆÉÄÀÉÂÀËÍÍÍÍÍÍÎÎÎÎÏÎÎÏÎÎÎÎËŽ¶½¹²¤½´¿´·Ã¶¼µ—…}phdecbT\b]We\T]_QSTX^UUTPONLMOTYWQSQQTe[MZ\XSOOYZPXYRNIA9=<962/---.ÞïÒ¬¸çèÌ¿¹µµ¹½ÂÄÂÉÆÂÊÌÌÍÌÌÌËËÌÌÌËÌËÉÉÉÅÅÁµ¯ª¯²© ­®¹±´¹¯­¤…yzwnlVbe\YcWR[j_X_ZLQSU^abURNMLPSNUVLQUPS^^Zb]UPLMYYSYQRYJCB=;;972....ïÇzjp¬ëÙ¶²¯°µ¶ÁÆÆËÉÅËÍÍÍÎÍËÈËËÌËËËÊÇÄÃÀÁ³£Ÿ¥¦œ™¢­¯¬®ª©šˆwnlgjl\VXWbaWW^\Y`WRVUTVWaXSUPOSUSTUXSQYPSYaZ`XZ\W]`VTZXUQA?G<877752011ä‰wwsÍ躯¬¯²³ÀÄÆÊÉÃÊÎÎÎÎÍÈÂÉÌËËËÇÁº¶·¹¼­ —‘›ž™”£±­¬¢šž”zieeUhbSMHPXaZRR`i_bp_`e_UXPQQPQSWSVTVZSYOP_^_h[c_jh`UQOOLLA>A8855664/03É€ˆxÂéÁ«ª°°³¼ºÂÉÈÁÊÎÎÎÍËúÇÍËÇÅ»§Ÿž¦§žŸ˜Š–›“’ «¬ ’‘‘ˆweei[]WRUSRZa_\jn`QVcOWrp\RPLMMLILNNONORZTW_VTZY`f]\WPJMJGGDI@8555554016¶…Š‚~ˆ¿éǤ§²²µ·µ¾ÈƺÁÌËÍÍÊÁµÅÌÉÀ·§˜žŸ–™—‘†–—Ž‘”“Š‹†€vvqcYUX\YPX]XU^i]RR^gfba\TSMLKIIHGEGNLT_]X\WP\hhdV]TNYUIJB?B:864434536=®ƒ…†Œ¾æÛÇŵ­±¯­¸Å»­³ººÁ¾Ç¾²Àƽ¯¥¡—ž¡•–‡ƒ†ƒŒ…Šˆ†ƒ…ƒ‚{xp`WVUV`ZUXVSYhRPP_ieTS[YTNMMKKIFJIKSV^aTZRQnsdg`b^VaZTVH<<;:8543365;?ñ±Œ„Ž¼äíîèÉí¤£¬­¡¢¤¥¥¦«¼´¨¨¯ ›Ÿ–›¡”–Ž‡„†‚‚…z„‹‰…}€~wuqjdXRZgZTUTU_[PZ[^_XRRSSSNLOQLORQHEMQVaTSO_bc`[di\RT^YHUF===:56659995677:=@?¼½¾—Œ‘»âìѾÜëƳ¿Ä¶µ¯²¶Â÷ª¢¡•Ž’›–˜ŒŽ†ŽŽŠŠ‡…‚{€‡€~xywsrmmg[^eccZSTYY_^bYU^VX^ZURJNMPJCEFCAEGEDSIUX\Ybaa^SfbVYYPKFFG;86678>>>žçãæãåçæêëëéåáÛÔÎÉÁ¿µª¤›ŠOMU]ekdUg]JEEE\olhaNG{ƒ…‚€wuxxuutg\`\OQZY[]TU_chb_V\cbSVNLOTMIC>COUV^[Z_gnoqst{z}}z|yl_UPF?:9999;@@@?΀ËïìììììëæÛÉŽ¹¬¨‹ŒkBjŠ•›¡“\J515>>KTSVZZIT~}‚wuwzyurlh]UOMYZ\TVY^\YJYa[^Z[`WLMTPMKMPOQUXZq‚ž¡  ž›™˜—•””•••”–—Z:899>IUUTSOatJ<:<=CIKK¦Á¹«²¶§ ™’’’˜£­}|xƒ_yG48KXCJRPPOOPQH_|a@S]Ž²²¬§¢œlH99EMPUOA>;:?iY?:=BHHEQú—}¦ž¡ƒIEDITJEFEHH~ˆwu]‚<67tœfINIHHMPPKPvlA8>wvd€ywzvnknihde^hpd[OR\\WSSZYaZW[f[PJEB@@BB@@EJAk}`MdWMG@GTSB@HKNO@79:;:MgE=?FKJCZ¹pp‰‡§dECEkje[IJG]•uv{g}8=Ay“”UA866BNLIQƒI52TZ€{x||rjjllga^\X_[OPXXPOS]\[YZ^_UTNGBAGJC?CQQIŒpY=J5688GUOIFILKG=<==:9CiL>D•œžpxoBKGlŒˆUI=879=99Y ‰@65A–ax|uxysigktygYVVSSROWYPOZ^[X\b^YPSURJGLRJ=?NS] aR:F69C>?NA55CDD;6:ZVDOWWadiFMÌͽ®²·»ÀÃÅÃÀÀ¿—aca][jdXPY\`\YSNOXV[d`bZPPWTMF@?GS[Y[Z_ŠŠGFCE?TŠV?;75666:?ABA>97RSJedXV`iHQi‘Â×ÙÙÚÛÞàßßßÞÞ®77:MJ>9;86=@==A??@@;;8:M[ie_aga^a^Z\VVTUZ^URXZQNOV[YYXbzƒ†Œ„dOWag{i>rs@;;@DCHKM^ebgeM>?>><;?E]QIGNdkZZm‚©¸ÈËÊƲª·² ©Äü˹iHO==;989999888898899865689FCdwuupnknlkpnmnkp{Š’‘Š‹’“Œ‡’­”}{{|~sc_RTPIox^ULABMOLMOQ[aac_QMMHCF[jwuS^iiisrrrsuyz{{xwzzy|}†¹‰HD79:867877787787787;Ngy„‰”œ©¨¨«¬­«ª©¥¡’z{yvvwyxyy{}ƒŒ–¦´²«š‰{smmonŒ¨n{vxmmaR[mommmjjiijlnpjX_hgm~|_optuspnmnpqsuvvuuuwwy{}}¤ƒSSM;464566666;>6777?Œ¥¨¢›˜˜”“ŒŽŽŽŽ‘”š™vsuvwvvwvtsssqqsx„‘Ÿ©®­§›‹}Ž®|mbf][[Wcrga^^]]\]^_agl_ZZ[^`ZQVdu{vrolklmnprsssrrqprtx~sc–¥ K04444557;;7773rŸpomjgdeefjgedcabbbefw}gilnoruvvvutqpppqqqswŒŸ°¬~¡wbVZZXWWZ\ZXWWWWWWVWXYXWWXYXXXQOWX[zwrolkklmnoqrrrqppptsUq¡²µJ.23232698861Brbqtuyuu~ˆ©ª‹‹…|{zvrmxjceefhloruvxvtsqppooppomovlŽg]SVWWWYYXWWWXYYXYXXXXXYYXXXUUUQVUTzyytpmkjjiknopqppqqoq@X¤Ê¶ÜµmaKNPWEY—EIWy“c|—¢¢¢•]FHDs¥¦¥  aqedeedeehknruwxxvtspnmoqrik|ecg`X[Z[\]\YZ[[[[\]\Z[]\Ybld’ZQVXXxxyxvqljihhilnnoopqdX9:ØÓòòÄ‹\]f’q‰ÍdkprašÔØÛÜÝã¬Y]SMgÕåÞ×ÛÞË{belgedccbbcdfkpstvwxxvrnln`fm`d¶¬«©\RTXeY[\bd[]WfZLMZÂμÇÀ_QSWWwxxxxwrmjhfgijklmmo`C7.@ŽžÂ½ªnfk`[Â÷”^o_gçáßÞàå–M_iS_ÍàÝÚÚáÔbqWmmjgedbbabbbfkoqsuwxwvsrZQ_XVÁ×ÜÞõ©MDBŽ|GRZkŠ¤¯½ÏÝÉ»¥‚[fD?>@CDA:Gu·a[lo_SG>@?Wg\hilnmkgecbca_^`cfkpstuxaBFLOS]x’µöÃPHC©¹_­ÀoÍWLUŸêÀzhTQNJTXWlnpqstttspkgdbaabchZ3-067=DM[n…¿ñíîîëïë´lb\F<7998899U”^RB5799;BHEmVfefjmonmjdcbcc``abfjnqubACIMPSUXw—€rn`sἪµ§æblpo{p[YVRMJZ]\jloqsstuutqmiecccce]5/0259767CPI::>;fVdjfeinonnliggggfc`acfkp`BBILPUX\^^`djsw¦ÞçæáÁ€rkgdcd^XUPLJagdhjmoqssuuutrojfdccd]60027;QPK\lˆÎÌÍÎÎÖÇ”ThJMHGXWJBB8445569t¨†B<;6W^\kjegijlnonlkhgggfbaach_C?IKOSW[gsz}„–¥ºº¨œ•ƒ‚~xo^WUPKJbifcgjlopqsuttsqolgccc\8501>`СD<@ZQLOTUt¤ƒLaJPNKIJKKLE76679Hc”‘QPO?IYXgeligffgiknmifedddba`a[B=HKNRV[hu|~¨ÞÞÝÞßÞßâÚyvtk_XSPKMfki`dgilnoqrtttsqokfcc\8:117gÓ¥w€ŽŸ™•rs‡Ž’wGGJFIOTQKFHQG@:AIPQ`]E@@A=?BEA@HQb„ˆrf^]\ZYZ\]^]\\_ZYZ_dhouz|‚‡ŒŽ„ƒw‚}qkofcbcggfcba^_W59JNRTY^gcPB@G^ddbbc\YT>3>Scbg`RNR©”q̽p^ehijmnoprqqqqni]3;3/,/0145569;Do}bbhbC:77ADDFFGGGBAYjjb]ZHBE]gs~¸ÈÏ‹ZbfgiklmmnooncS09424@EE;41/38;Ce…ŒzzvaYZYZZZY]]MJGFHHHJKIKYFCBBCBA?@@???Vkkjgecbehj^,1<<=EOYeowrhcehhhjkjhhjmtohZNE>>=::8521/.;B@alkYx¯ÁÍ®c^cghklllnmmiaQB>=?@@@AA>>?AAAZ€xt½ìáØ`dgfffU<;?@BBCEG?JdH;=>=97777878??Pllkkkgdbc\+/4DX5('+*$###$$###$$%'*.7C>''<]VA`kjZ[{¹ÅÍ›_aegikllmmmlg`\YX[\ZZZYZ[\]_XVraR¿åËéÕplrtr€B?:ACBA@AA;a™W;B?<756667569>@;8533212445:?HPZb^,!+/9>]iiSLO‹½ÅˇZ`ceghjklmlljgfedb_^]]^``bfaSYPE~µ•äàww…†šu=<<====;;;;<==<;<=<=<'"-149Wcc^SNXš½ÈÂsV^`behijllmlkjihd`^]]]^^ac`KGJGJQ\ ¥¬¾¹°ªX>=35:<:78?==PWFK=45=QJC8545?@HejhgedaXK,/2..7542333431//..11/---,,.%$1213Vb_fZRLc«Á̺k\`begijkmmnlkljgca_]]^^`a`KCGFMQX\l«ÛoGl¥EA923?BdlhlbRNKvºÃЮc^begiikklnmmlljfda^]]]_aaK@HGNSW`t·ÙE6ƒ‹<@514X~xL474101245:CDKUZWSD45B@LgZDHI]d_ZPHGHJKORVZ\ZVSQQRSSTTRQRTY`fgghklpqqnqfSMQŽ½ÃÒ˜\bdfgijkklmmmlkigd`]^]^`aI@HGMV_ej’KMœh479:=7138Qgeefeeegecb_]^cgklkhda_^^_``][\^afilmnoqnnodTUiŠ¾ÉÔ¸jadehjkkllnnnmlkieb_^^^>;FGGJRN6HZ5>;?8BK>;:87779HJID;@`VZcgfeeffffghgfc_^`bejllkgda`````_]\\_bfjllmppniYPTT’ÄÇÓ¦``bdfgijklmmmmlkiea_^^;7GGOv„hKQdƒQF65667899:;:>@DA>??==>>>=>>=>A?>=<;;;;;<=<<<;=>>@AA@AF`pdknqcbbbbcdddeeffggfdb`^`bhijifa^Z[\[ZZ[[omhhrpsjTMNMW¦ÅÊÓ•b`ceffgiiijkkjfcZL2-32919?>>?>=<;:999889999999:99::;>==;;ACR`[LDZÃƹs_abbddefffhhghhgeca__cfjljhc]\^^^]\vxomqrqoqq[NLPÃÇ×°`aefffghhjkjjigd]G1++,,&$$/ZbfPN`[IHIB<>>>?@BDF[fKIGEDDBGGOpž¾¸ ©Ë4Rdfe`cabbcddeffffgeeghgecb__`dikkhc_^_^]\sqkjnnlikmeMKK_«ÃËÖ‰^deefhijjjjjiheaYE;:<<>=<7TQUYű­¡ÎͳXKMLPTW\l{a[_[[YVNJ~ñêÒÁ¾Îî2Ngefecbcccddeeedefedeggfdc`^]_cgjlid`^][ZpmkejlptppkRJLL|¾ÂÒÅnafffhjkkjjjjihd_ZWVUTUUTILDBSÚÝϾ¼ÎïóxEIY^^`¢œŸžœ]MNK=Anºã×ÚêíÕc1Kgefecbbccdeeeeffffffghgffc`]]`dhkljfa]\[lfdehksuqst_MKZkÀÆÕ©adeghjkkkllkkjhda^]\ZZYYOK<7C¢ëëæØÙߥoG//.,;kx€€‚fE+--6Myiƒ’Š}nR;1Hhddeca^_bbcdefffffgggghggfc`]]`dilmljf_]hmmgnommqsrlUKNO\¨ÄÊÔ_dfhhjjkllkkkjgedba^\[[PM<4;Idrw|yupzL:>@DLWi‚«œF@OVVb¤‡}z}x\H¯€fTJA;91/IhffffcvÊåá¡addeefffgggfffggfeb^\`eiknnlhyrlmkikmnldPKMMM“ÁÂÕ¬\]adffhhhijjjjhhhfc`^]QS?164:@DMXkƒ®³a‚Èßâæèîëëíïðï”]«ªfSIB<;1/Hgffffecjtqoccddeefffggfffffffea_]`dimonktxswvooimpomkdZNLIb·ÀÊÒ~Yadffgghiiijjihhgea_^QU?/16<>DOWh¢ÓvÝñìììëìììÜçî‰]Á¤„jXNF><9>Lgffffeed```nmddeddefggfffffffeda_]`eimnnowttrmpjjmmmpsiRLKN—ÅÈ׸bbeghgghiiijjihhgfc`_PJ=61/3Lhffgedefddl‰{ededdeeffeedddeeeec`]\_djmnmvpolmnjgjknooiSKKMh¼ÇÐÖˆ^dfhihhhiiijihgggecaO:<>:369=DNa| Ö©XÆèßÛÞàÜÕÊ¿¸±aj¢oQ=6436/.3Kffffeeffede_^cddddddefeeddeffeddc`^\^dilnnpvtplmnohilkkUKKON’ÇÈÔ¹d`begggghhiiihgggfedQ1<<3127>8;:EKc„AJTOLPYME>865/`M>J82X´¶L,6Jefffeeefedcbabeeadeddeeeedeffedeecb^\_ehknpsponqurnilmhWMKNLb·ÈÍÕŠ`ffghhihhhhihhgggffR7>=6.H¬Ç78GN8`W9>>@DMIEFEEA[tGHD6/vÉ’G.7Lfeffeeeeedcbf¨À¿—cdddeeeeefffeeeedca]]_dmlmosvvqvmkmllqfPKMMLŒÈÊÕ¾jefhihihhhhihhhggghSOK;7/EË’248YWK‰m\\]swggefhp‘anm32255+01;Kffefeedddcbba’æîçœbbcccdeffeedddeeec`][^lqvspsqmqkjjhkucMMMMK]·ËÎÕ•afghhiihhhhiiihgghU;E;=32/96641T`?`upxŠƒfhoxYRNDEP854422339Jggeeeeedccbab`°ªœgabbccdedddccdeeedb`][rxvrkiknpkklvuufb[MLNRˆÊËÑÇudghikjhhgiiiihghgU&3>;34667765BIFHDKUfXf^VZ[MKNMJL6201//001Gghffeeeddcbbba]^[^bbbbbbddcccbbcdddca`_\jjlibabiks}xuwqkpfQLNS[°ËÈתeghijiihghhiiihe\M&1<1/000/.//5?:>?>>=BSA6320..-*,)(()*++*-Fghgfeeddddcbbbbbaabbccccdddccbbbcddcbba`tommjtoqirutuvm_TKLML{ÄÆÎÓ„agghhhggghhgebZUL%.9**,*('&&'&$##"""##"$%&&'()'*/02($&')),Dfgffeeedddcbbbbbaaaabbbdeddcccbbbcdcbcba…}‚~ww{xkhqxxz~se^SKKMMRŸÉÆÖ¹ebdeffefghggecc\P).8*''&,034897567878899:::;>=9=@A@)"$&(,.@cecbaaaaaa```_^^^]^_abbdeddcdcbcbbcbbccb†~vytrkmuqkipjbaaULLL_e|ºÄÌ׎^bcdeffffffeed`P..7,*&&,//11100.//00......-.--,*+)#"$(*,2Hq{€‡Œ’”–™Ÿžš—‘Œ„zleccceedccbcdccbabccc‚zzysosecir{skmfZMLLW]Z˜ÄÄØ¿gaccdefeeeeddb_Q405-2.*&$#####$#####"!"""#####"$%$"'Aaz›§¯²²±¯®¯¯®¬¬««­®°±°°¬qdhfefedddedcbabcdc…††‡‡‡‡‡‡††‡‡‡‡†††‡ˆ‡‡‡‡‡‡‡‡†„‚~|wutttvxwxxxy{{zvuwzz|{zyz{~€€€€†††††††††††††††……†††‡††††††††‚€|yttsvuvxxxwvy{zzwtvvxyyxwy{}€€€………†……†††††††……………†…†††…………††ƒ€{uuuvvwyzxxwz{zyxvvuwyywxyy}}€€€…………………††††††…………………………………………„zxywwy{{yxwyz{zyxvvxxxxyyy~~€€€†…„„………†††…††………………†…„„ƒƒ„„„„‚€|zxwxz|{yyzzz{zyvvxxxyyyy{~€€€„‚‚ƒ„„„…………†……„……………„‚ƒ‚‚‚‚€~~|yxwxzzyy{||zzxywvxzzyyx{}€€€ƒ„…ƒƒƒ„…………………„††……„‚€€€}}}}{yxwwwwxz{{{{zyxwwwwxxyyz}~€€ƒ„†ƒ‚ƒ…………………„……‚‚‚~~€€}}||||{ywvwvux{}|{{{yxxwwuuwyyz}~€‚ƒ‚‚ƒ„„†‡…„ƒ~zz{|||}~~}||z{|zzyxwxxxzz|||{{zwxxvuuvwx{~€€~€~~„……‚~{xxwxyz{z{{yyxy{xzzyxxyy{z{}|||{zyxxvvvuv{~}~€€€€€€ƒ†‡ˆ‰ˆ‡ˆ†„{xyyxwwy{y{{ywwxxyz{|}}~|zwuxvvvvvz~~}~€€€€€‡ŽŒ‹‰ˆ‹Œ|uwvvvvy{zzzyvuvwzz{}}||z|z{~|}}}~€€~~ƒ}~~~~~~}~…„„„…‡‡‰Š€suvuuvy{{zzxzzzzyz{~~}{}‚†ˆ‰Š‹‹‹Š‰ˆ‚~}|‰€~~~~€||€†…„……„……‚†‰‚tttuuvyyyyyz{{yyz{|~~}ƒ„„…‰‹‹‹‹‹‹†~}|‡€~ƒ„„„†€{‡‡…†‡ˆˆ…ƒˆƒvtttuvxwxyyzzzyyz}~ƒ…„…†‡‰‰‰‹Œ‡}|zƒ„‡ˆˆˆ‰„ƒˆ‡„†‰ˆˆ‡‚‰†zuvutuwxxyyzzyxxy|~~…ˆ‹‰ˆˆˆˆ‰Š‹Œ‰€}yr‚„„„ƒ„„„„††…†‡‡††‚Š‰|{xxvvxxyzzzywyzz{{}}€†‰Š†‡‹‹ŠŠ‹ŠŠŠ‚|xn‚‚ƒ‚‚‚„‹Œ‹Š‹ŠŠˆŠŠˆŠ‹„~{zyyzy{||{zzzxtpit{†‰ˆ‡ˆˆˆ††ˆˆ‡ˆ„}yn„„„„„„„„ƒƒ‡ŽŽŽŒ‹‹‹ŒŒŒŽ‰†…………‚‚ƒ‚‚€}|xusw}‚†‰‰ˆ‰‰‰ˆˆ‰Š‰‰Špj‡††‡ˆ‰ˆˆ‡‡ŠŠ„‡Š‰‰ˆˆˆ‹’””““•––•„ƒƒ„ƒƒ„ƒƒ„„„ƒ…ƒƒ‚‚……‚„ƒ€„€{u‰ˆˆˆˆˆˆˆ‰ˆˆ„‚„„†…†‡‹Š‡„…‰Šˆ‡†…‰ˆ„„„ƒƒƒ‚‚ƒ„††ƒ„zwsssrrrttsx|€„†‰‰‰ˆˆ‡ˆˆˆˆ†„ƒƒ„‡Œ…|yy„Š‡}{|‚‰…ƒ‚ƒ„‚‚‚ƒƒƒ„ƒ€{{zyyz{{}}…‰‰‰‰ˆ†‡ˆˆ‡…„„„…ƒ‚‚‚…‹‡„‚‡ˆˆ€€‚ƒˆˆƒ‚ƒƒƒ‚‚~{|€‚{x{ƒŠŠ‰‰‰ˆ‡†‡‡„ƒ„††„‚…Š‡Š‰‰Š‰ŒŠ‡†ˆ‰ˆ…ƒ‚ƒƒƒzrrvxwy~€zwvsrrz€ˆŠŠ‰‰Š‰‡†‡„‚‚‚‚‚„…‡Š††‡‡‡ˆ‹ˆ€†‡‰‡…„‚‚ƒzrqtuy~~~|yurqs{„ˆ‰‰‰ŠŠ‰†…ƒ‚‚‚ƒ‰‰ˆˆˆˆˆŠˆ…„‡ˆ‹ˆ…„„„ƒƒ‚‚‚{tssy…€ztsu{€†‡ˆ‰‰‹Œˆ†‚‚‚‚‚‚ƒ‰“–•”””ŽŠ‹Šˆ……‚‚‚‚‚zyw}€€}zy{~€}€„‡‰‰‰‹‹‰ƒ‚ƒ‚‚ƒ‚„‹’”“’’’‘’’“”“’““””’‹‡…ƒ‚‚‚~~€~~€‚„||†ˆ‰‰ŠŠŠ„€ƒ„ƒƒƒƒ…Œ…ƒ‹ŽŽ‹‹‹‹‹‹‰ˆ†ƒ‚‚€€€€€€€€€€€ƒ‡}}~ƒ‡‰ŠŠŠŠ‡‚ƒƒƒƒƒƒ…‰|„‹‹‹‹‹‹‹‹‹ŠŠ‹‹ŒŒŒŠˆˆˆˆ†„‚ƒ„„ƒƒ„„„„„ƒ€‚‡|~}}ƒ‡ˆŠŠ‹‰ˆˆ……„……„…‚‚‡‡ˆ‰ŠŠŠŒŒ‰ˆŠ‹‹‹ŒŠˆˆˆ‰ˆ†ƒ†‡‡††††‡†…„€‚…v~}†‰‰‰Š‹ŒŠˆ†††…„„…„‚„…ˆ‰Š†…Š‹Š‰‰ˆˆˆŠŠˆˆˆˆˆ‡ƒ‚‚€€‚‚‚‚‚€‚oz€~‚‡‰‰‰Š‹‹Š‰††…„ƒ„„ƒ„…ˆˆ‰…ƒˆ‰ŠŠˆ‡‡‡ˆ‰ˆˆ†„‡‡…ƒƒ‚€€€‚€€€gm{}{~ƒ‡‰‰Š‹‹‹Šˆ†„„ƒ„ƒƒ„…‡ˆˆˆ‰ˆ‰‰‰ˆŠŠ‰‰ˆˆˆ††‡ˆˆˆ‡…„‚€‚‚iir{}~…‡‰‰ŠŠ‹‹Š‡„„ƒƒ‚‚„‡‹Œ‘’’’’Ž‡‡ˆˆˆˆˆˆˆ…ƒ‚‚ƒƒ„ƒkjkw€~}‚‡Š‰‰ŠŠ‹Š‰…„‚‚€ƒ‰’”–———––————˜˜˜–Œ†ˆˆˆˆˆ‰‰ˆ†ƒ‚ƒ„†…mlls€€}~…‰ŠŠŠŠŠ‹‹ˆ„ƒ‚‚Š’”••”“’‘‘‘’“‘ˆ†‡ˆˆˆˆ‰‰ˆ†ƒƒ…†‡nlinz€~|€†ŠŠŠŠŠ‹‹‹…‚…„ƒ‹ŽŒ‹‹‹ŠŠ‰‡‡ˆ‰ˆ‰ŠŠˆ‹ˆ…ƒ‡‰ˆˆ‰ˆˆˆˆ„‚€€ƒ†‡‡kkhhky€}}ƒ‰ŠŠŠ‹ŠŠŠ†‚‚‚ƒˆ…„‡‡†„ƒ„ƒƒ‚‚‚…‡Œ…„‡ˆ†‡ˆ‰ˆ‰ˆˆˆˆ‡…‚€ƒ††lmhfes€~|†ŠŠŠ‹‹ŠŠ‡…ƒƒ‚‚„‚…‹†ƒ‚‚‚‚€‚„Œ‰ƒ…ˆ‰ˆ‡‡ˆ‰ˆˆˆˆˆˆ†ƒ‚€„„ljgfek|€~}€‡‰ŠŠ‹ŠŠŠŠ‡†„‚‚…ŠŠƒ‚ƒ„„„€€ƒƒƒƒˆ‰ˆ…ƒ†ˆˆˆˆˆˆ‰ˆ†ƒ‚‚ggfgfhp~€}~ƒ‰ŠŠŠŠ‹Š‹‹‰…‚„ƒ‚€‚€‚€€‚‚ƒˆ‰ˆ‡††‡ˆˆˆˆˆ‰ˆˆ†ƒ€€hhgffghv€~€ˆŠŠŠŠ‹‹Œ‹Š†‚„‚‚€€€‚‚€€‚‚‚ˆ‰ˆˆˆ‡‡ˆ‰ˆ‰‰ˆ‰ˆˆ†ƒ€ihgeghhr…Š‹ŠŠ‹‹‹‹‹ˆƒ‚‚‚‚€€€‚ƒˆŠˆˆ‰ˆ‡…†ˆ‰ˆˆ‰ˆˆ‰ˆ…‚ihgegiho}€~€‡Œ‹ŠŠ‹Š‹‹‰„€€‚€€€€ƒˆŠˆˆŠ‰‡ƒ„‡ˆ‰‰‰‰ˆ‰‰‡„jjihihhju~‚ŠŒŠŠŠ‹‹Œ‹„€€€€‚ƒ‚ƒ‚„ˆŠˆˆ‰ˆˆ‡ˆˆ‰‰‰‰‰‰‰‰‰‡lkjjljhiq~‚†ŠŠŠŠ‹‹Œ…€‚„„„„……ƒƒƒƒƒ††„‚ƒ„ˆŠ‰‰‰‰ˆˆˆ‰ŠŠ‰‰‰‰‰‰‰‰klmnonlns|€}}~‚‰Š‰‰Š‹‹‹…€‚ƒ…††…„„„„„„……………‡Š‹ŠŠŠŠ‹‹‹Š‰‰‰‰‰‰‰‰‰‰{zzz{{{zzzzz{{{zzzzzxzzzzzzz|ƒ…„ƒ……†‡ˆ‡††‡ˆ‡‡‡‡††‡‡‡†‡‡†…ƒ‚ƒƒ‚yzzzzzzzzzzzyyyyyyyyyyyyyyyz{‚‚ƒ„„ƒ„…†‡†……†ˆˆ‡††„„…††††‡†„ƒ‚‚zzzzyyzzzzzzzyyyyyyyyyz{{zzzz‚‚ƒ……ƒ„……†…„†‡‡‡†…„„„„…†‡‡††…ƒ‚‚zzzzyyyzzzzyyyyyyyyzzzz||{{z|‚……„„……………†ˆ‡…„ƒƒƒ„……‡‡‡‡†„ƒ‚‚€€y||{zzzzzzzzyyyyyyyz{{}~||||~€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡†……ƒ‚‚|~|}}{yyzzzzzzzz{{}}~}~ƒ‚ƒ…„„„……‡†††‡…………„„…†‡‡‡†……‚‚‚€‚€€~~|zzzzz||{{||}€€€€€€‚„…ƒ„„……„„„„††††„…†………„…††‡‡‡…„‚‚‚„€~€~}|{zyz}}|€€ƒƒ‚€‚ƒ………†……………„ƒ„…††…„……„…†††††††…„‚‚€ƒ‚€€€~|z|€ƒ……†„„ƒƒ„ƒ„…‡††††……………„„…††…„„„„„…††‡††……„‚‚‚ƒƒ‚€€€~~€ƒƒ‚‡ˆ‡‡…„„„…„…‡‡††††……„…………„„……„ƒ„„„†††ˆ††„ƒ‚‚‚‚‚ƒ€ƒƒ€€€‚‚‚€~€„…„„‡‡‡‡†…………………………†…ƒ„………†††ˆ‡…ƒ‚‚‚‚‚‚‚ƒ€‚€€‚ƒƒƒƒ€}}}€}}}~ƒ†‡‡†ˆˆ†††……„…………†…†…„„……„„„„„…„ƒ‚‚‚‚‚ƒ~€‚„…„„„„}|z{|{z{~}‚ˆˆˆ‡ˆˆ††…………„…‡‡ˆ†††…„„„‹—š›žœœš–‰€ƒ…|~€‚‚ƒƒ„†‡„}|}{xzxx~~|€‡ˆ‡‡ˆ‰†……„„……†ˆˆ‰ˆ‡……„ƒ‡‹ŒŠ‡‡…„„…†‰ƒƒ…‚€€„‡‚||ƒ~xxwy‚€|…ˆ‡‡‡ˆ†…„ƒ„„…†‡ˆˆˆ†…ƒƒƒˆ‚{{|{yyywyx€ˆ„…„„…{xx|}ƒ†€{|‚xyz|ƒƒ|„ˆˆˆ‡‡†…†„„„…††ˆ‡†„…ƒ‚‚ˆ|~~|{zzzzz}Œ…†ƒ‚ƒƒ€~~‚…€|}~}z|}}ƒ‚{}……ˆ‡††…†…„„…†‡ˆˆ†……•£ˆ|{€z{{{{{zz‹¡«ˆ€ƒ€€€€€~||}}}}~~}}~‚„‡ˆ………………„…ˆ‡††ƒ€|–¶£€{~{€€€€~£¨‡€€€€}}{}}||}}}}}{{z}~€‚‚„…„ƒ‡ƒ‚‹›œ›š› ¡ Ÿž¡¥ •€}€€~~~~~}‚Š~}}~}|yxwyyyxwx{€€€€‚‚‚Œ¶¿ÃÀº¾ÃÅÄÀ¼ÅÆŶ…€{}€~}}}ƒ‰„€€€‚€}||}}}€{{}}€€€€€’¬ÃÍÓÔÖ××ÕÓÔÐǸ¡{{}~~~|~€ƒ„‚‚ƒƒ€}||}}|z{|~~~~€€€€‚ŸŒƒŽ¡¢©§¤¡™†}”™}||{{}€€~€€‚€‚ƒ€||}~~|xx{€}|~€€€€€€€¬·Š„…‚€…“‹Ž§Á¤}~}||}~€€€€€~~‚‚€||}}}{xy|€€||}~€‚€¬ÐÐŽôˆŒ°ÈÄÊÓФ~€}||}€€€‚…ˆˆ…~|||||||{}„‚}}}~€‚‚‚~¨ÎÏδ ’Œœ³ÂÏÐÌ¢€~}|}}~€‚ƒƒƒƒ‚}{{{|||}|}€~||}~‚‚€~¢ÎÑΩˆ‚‚‚‚‡šÈÒ΢ƒ€}}}}~€€€€|xwwwwxy{|{zyxzzyzz}€”¾±¶‹€ƒ‡‰‰ˆ©©±‘„ƒ‚~}}}}~€€€|xwwwwwxyyyxxxyyyyyz~€‚„‹†Šƒ‚‚‚‚…ƒ‚†„‚€~}}}~€€€€€€€}€{xxyz|{{{z}||{{{{|~~€‚‚€€‚€€€€€‚€’‰‚€~}}~€€€}„…|{{||||||}|{{{zz|}~~~‚€€€€€€‚~…„ƒ‚€€~}}~~~€€€€‚ƒƒ|||~}{{||{z{{z{}~}}~€‚€€~~~€€„„ƒƒ‚‚€~}}}}~€€€€€~€€~}}€€|{{{|{|{z{}}~~€‚‚‚‚€€€ƒ‚ƒ‚‚‚‚€~}}||}~€€€€€€}|~€€|{{||{{zz{~}€€€‚€‚‚‚‚‚‚{~Œ‚‚~}}|}}~€€€€€€}|}~{z{|{{{{||}~~‚‚‚‚‚‚‚}|‡‡‚ƒ~~~}}}~€€€€€€}}||{zyyyyyxxxxzz{~~~~€€‚‚‚‚‚‚‚€}}ƒƒƒƒ€~~}}}|}€€‚}xxwvutttvvuvvuvvv{}~~~~~~€‚~‚„„ƒƒ~~}}}}|~€€€}wvvwxyxyzzzzyzyyy{€~~~~~€€€ƒ€}„ƒƒƒ‚~~}}}}}}€€€€}{{}}}}}~€~~~‚€€€€~~~~~~~€€€€‚€{{}ƒ‚€~~~}}}}}~€€€€~€ƒ‡‡‚ƒˆˆ„ƒ€€~~~~€€€€~zyz„”ˆ‚~~}}}}}~€€„…‡…ƒ‚‚ƒ„ƒ‚‚†‡ˆ„€~€~~~~€€€~ywy}„Š†‚~}}}}}~~€€€‚……„ƒƒ…‡‡ˆ‡‡ƒ‚‚€€€~~~~~~~€~zwx{‚‚‚‚€}}}}}}}}~€€€‚„ƒƒƒ‚‚‚€€~~€~~~~~~}€~zywxz€ƒ‚‚~}}}}}|}}€€€€‚†„„„ƒ„†„ƒ‚~~~€€~~~~~~~~‚‚~zxxyzƒ‚‚‚€~}}}}|||}~€€„‚ƒ……†‡†††„ƒ‚‚ƒƒ€}}~~€€~~~}~~~~~€‚~|x{{{}ƒ‚‚‚~}}|{||}~€€‚‡„‚ƒ‚‚ƒƒƒ…‚‚}}~}~€~~}}~~~€€€~{|~~~€‚‚‚~}}}}||}}€€‚€‚ƒ‚‚„‚€~}~~~~€~~}}~}}~‚~€„„ƒ‚‚‚„„‚€~}~~}}}~€€€€€€€€€€€~}}~}~~~~~~~~~~}}~~ˆ‰‰‰‡…………‚š~}}}~}}~€€}~€‚ƒ„†††‡ˆ‡†ƒ€€€~}}}~~ÏÏÏÏÐÑÐÏÑÐÏÏÏÏÏÊÄÇÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÍÏÏÍÈ¿´¯¦¢•„}ukkwjijppreidX^b^]e_W]b_aXRPW\[_e`fUVYWVWVU[XQW^^]YVMD?:<:534?3ÏÏÏÏÏÐÏÏÐÐÏÏÏÏÏÊÃÇÃÊÎÏÎÎÎÎÎÎÏÏÎÎÎÎÎÍÍÍÍÍÍÍÍÍÌÌÌÌÌÍÎÍÍÏÏÏȶ ¨™x‚{‚u`]bs|p_`nlg[Z\^_ZYVQ_fa^UPPRZY^hiiQT]bZSQMSTZ`c]WQNLBA97654187ÏÏÏÏÏÐÏÏÏÏÏÏÏÎÍÉÂÆÁÈÌÍÍÎÎÎÎÎÏÏÎÎÍÍÍÌÌÍÍÍÍÍÍÍÍÍÍÍÍÎÎÎÎÎÏÎͦŒŠsnnqllnouz`ccef\\\]]\TSV_d[[YVSTVUX]hdRQX^VMNOSS]cba[RHDA=95333102ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÊÃÇÂÉÍÌÍÍÌÌÌÌÌÌÌËÊÊËÊËÌÌÌÌÌÍÍÍÍÍÎÎÎÎÏÏÎÎÍÍÌ·™{mpvzw~hhd^hZbdd[ZXWaYTYeeTSUXXUPMVQYiSPTXYPNSQPZa_aXUUOG?<86431..ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÁÃÁÊÐÏÎÎÎÎÎÍÍÍÍÌÌËËËËËËËËËËËËËÊËÊÉÊËÌÌÌËËÍÁ’Œ†€ven|mdiaaaVjd[YUUO]`^`qlZPQV]VNKUSS[TZ[XVOQRVZ_ZY[SRYPI@?@<641.,ÍÍÍÍÍÍÍÍÎÎÏÏÏÎÏȹ½»ÉÑÐÏÏÏÎÎÎÎÎÎÎÏÏÎÏÏÍÍÍÍËÌÌÍÍÌÌËÈÊËËÌÌÌÉÇƧŒzzti_mqpd`c`Y]aWS[TTQZeeficgVRW[UPRUTTYS[]aWTTSZ[\ZYUSPRPJ@@>7642/2ÍÍÍÍÎÎÎÎÏÎÏÏÏÎÏźſÇÏÏÏÏÏÎÎÎÎÎÎÎÎÏÏÎÏÎÍÍÎËÌÎÏÏÍÌÈÇÊËÌÎÏÌÇÅõ¢~{seWVda[^c`]d`XVSMOUZ`aeh_\TPQRPNUSTQ`NUW[\YZY^[\ZTQTPSMFD>B;520.4ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏƾËÂÅÎÎÍÎÎÎÎÎÎÎÎÎÍÎÎÎÎÎÍÍÍÊËÌÍËÇÃÄÂÆÇÊÍÎÊÿ¼¬~sUSRROVWoqfcc^ZMD@MZS\ab^WUQMMKINKQMYOSWWYX\]\]^YTPSOWPEGA?=2//--ÏÏÎÎÎÏÏÎÏÏÏÐÏÏÏÆ¿ÊÂÃÎÎÍÎÍÎÎÎÎÎÎÎÎÎÏÎÎÏÎÍËÈÈÇÉÿ¸Â¾Â¾ÆËÈŽ¯¡ª“~v`WYZXgi`ohf_WWSRTVdUQ\]TOWXSNJGPRSXXSRY[WVXZWRR\WSXRXV@67320..--ÏÎÒÕÕÐÍÎÎÌËËËÌÍÅ¿ÉÂÂÍÎÎÎÎÎÏÏÏÏÎÎÏÏÏÏÏÎÏÌÄÃÃÀýº­À¹À·¿ÇÀ¾¸¦ˆ‡€p†}f]a]^emXn^V_TQUU_\XOPUXRRSWXNMNTSS\h^OVZWWWW[TM]ZZ]]NC<6541/....ÏÛèîîäÓÍÌÅÁÁÃÆÉÃÀÉÂÀËÍÍÍÍÍÍÎÎÎÍÎÎÎÏÎÎÎÎËŽ¶½º³¤¼´¾´¶Â·»¶˜†}phdecdT[c]We\T]_QSTX^TTTPPNLMOTYWQTQQTe[MZ\XSOOYZPXYRNJA9=<962/---.ÜïÜ´¼æéÎÁºµ´¹¼ÂÃÂÉÆÂÊÌÌÍÌÌÌËËÌÌÌËÌËÉÉÉÅÅÁ´¯ª¯³ª ¬®·±³¸¯­¥‡zzxnlUaf]YbXR[j_X_ZLQSU^abVRNMLPSNUWLPUPS^^Zb]UPLMYYSYPRYJBC=;;972....îЄjp©êÛ·²¯¯µ¶ÀÆÆËÉÅËÍÍÍÎÍËÈËËÌËËËÊÇÄÿÁ³¡žœ¤§œš¡­®¬®ª©š‰wnmhjl\VYWaaVW^\Y`WRVUTUWaYSUPOSUSTUXSQYQSYaZ`XZ\W]`VT[XURA?G<877752011èuxsÍ軯¬¯²³ÀÄÆÊÉÃÊÎÎÎÎÍÈÂÉÌËËËÇÁº¶¶¸»«Ÿ•šž™”¡±­¬£›Ÿ•{jfeVhbSMHPXaZRQ^h`bp__b]UXPQQPQSWSVTVZSYOP`^_h[c_jh`UQOOLLA=@8855664/03уˆ‚xÂ髪°°³¼ºÂÉÈÁÊÎÎÎÍËúÇÍËÇÅ»¨ žœ¥§Ÿ—Š•›“’ž«¬¢”‘‘ˆwedh[]WRTRRZa_\iobQVcOXrp\RPLMMLILNNONORZTX_VTZY`f]\XQKMJGGDH@8555554016À…Šƒ~‰ÀêȤ§²²µ·µ¾ÈƺÁÌËÍÍÊÁµÅÌÉÀ·¨™ž •™–…——Ž‘””‹‹†vuqcYUX\YPX]XU^i]RQ^ffba\TSMLKIIHGEGNLT_]X\WP\hhdV]TMVSIKA@C:864434536=·‚„…†Œ¿çÛÇƵ­±¯­¸Å»­³ººÁ¾Ç¾²Àƽ°¥¡˜¢•–†ƒ…‚ŒŒ…Šˆ†ƒ…ƒ‚{ypaWVUV_[UXVSYhRPP_ifTS[YTNMMKKHEJIKSV^aTZRQnsdg`b]Ub[TUH<<;:8543365;?Ʋ²Œ„ÀåíîéÉÄ®¤£¬®£¢£¥¥¦«¼´¨§¯Ÿš —™¡”•†„†‚…z„‹‰…}€~wuqidYRZg[SUTU_\OY[^^XRRSSSNLNQLORQHEMQVaTSO_bc`[cj]ST]YHUF===:56658995677:=@@¼½¾˜Œ’½ãìоÝëȳ¾Ä¶¶²¶·Ãø©¡¢•”Ÿ˜š”ŒˆŽŒ‹‡†‚‚z€‡€~xywsrmmg[]eccZSTYY_^aYU^VX^ZURJNMPJCEFCAEGEDSIUX\Ybaa^SfaWZYQKFFG;86678>>=ÝÚàäæçæêëëéåáÜÕÏÉÁ¿¶¬¥ž¦SRSSW^`rTSRWcb^XQGrˆ…‚€wuxxuutg\`\OQZY[^TU^cic`T[cbSVNLNTMIC>BNUV_\]achb_]\c\``[b`^OF?:8569:99;@@@?eÑ‚«ïìììììëåÛËÄþ¹«©œŠ‰PKj{…ŒŽ]<80046?`ihjgPGz‚~~vtwzyurlh]UOMYZ\TVY^]ZKYb\^Z[`WLMTPMKMPORUWXYgz‘—š›™ššš›œœ˜˜’‹ƒteG9999;CMRTapu{~ƒn=::9999CTZ\^^j_G:9=CIKKضŒ¼º¬ª§œ“Š|z}ƒŠ•„{yz}[p268::@RQOOOLRMKumS1^—}[yuvukntmih`Q]k^VTZ[YQPWZ\b`ZWZ\WPJFBB??=::=DG\}`¢¯°°±µ¬]>78CHIRSHDA>NvN@ILMNC8:;;;Z`B?FKJCZµ~f‡„¡€JE?]tk`HDII‘}tcR68R‘‘cJA<;?NPPF^†j945†irw||rjjllfa^]Y_[OPXXPOS]\[YZ^_UTNGBAGJC?CQQJP–i\>K6555FROGEHHGF:8::;:JhG>DHNWaLHi´«§`ZMB?TRPC86:7w¢½”]ŠHDC[‰H>656AB@C„¢o762p‚b€tvysigjtxgYWVSSROWYPOZ^[X\b^YPSURJGLRJ=?OTQh ]Q>G6998FPD<;AGE>>AA@99ChNAGJV_kLFzñé±kjosqqquxuoij…Êð–_ŒINMW}~VKH@?@><9?~\:94\›[~rgjoggfeoaVW]XX\TTUQSQ\^[e_WVRPIIHFGMIDFPOQ}˜SGaQLZV`dkGJm·ÄÆÇÂÃÅÈËÌÌÊËÉÇq|§_‰NePsi\JKPTSNPMSe‰‡R>=7RŒJsUA?Tea][jcWPY\`\YSNOXU[dabZPPUTLF@?GS^ZYZSh”‚IBAA;[~ƒS<7556656>AA@968WOQj[YYaGM`…¸ÓÚÝßßááâââââØT27`bCKAN=AC@DMQPOKG@CCZ]QL@8=@=G:<5F_bdbcd`UY[[WSQQOT\\VZ\WOQZUQY][p~{^X`fn‘nCKGF@RzwHDC93439BEFGGF>7SNHmk[RaGCV‹ÅÝâéììëèëëéëïî—L<0?S=;898::75556987878;<><;SXz‰‘^np^ïÞtj„z]hÆäààáã×]U`eKŠãÞßÛÞæ§Zj]nnljgdccbbbaacgkortuvvvtTLYR\ÏâÛÞñÑaD>”–7Y©¯g5?=sâæ×ÕÜ–JPOTopqsuuttrmgecbcdfgiiE1/0246@CP\\j}ˆ¤ÙÍœŠ˜jgT€šš¡¥ªŽDOv|VrÏ×ÐïžlAtVgjmnmkfdcbba_^`cglqsstuwVDKPM†Ÿ·ÃÍ÷°D>\ËnfØá|`ËlGF·ûÌ©nVMKPVlnpqrssstqkgcbaabcfg?-.589>DMYiÐÛÞäéæçÕ¡\kP;679:88=L™Y^eULD:6B?f]affjmonlidcbbc```cgknprvWAFKONSix±äªaWJŸÕx§sȲP[g•Ãžc[TQMIW[jloqrttuutqmieccccdfE/.24:BN`tš¥äíííìëðÐWkLD99;99998i‚RL96::<;GCSfYhefiknonligfggeb`abfjntW@DINQUWYhrinrryØä×Üàß„poiec_]ZVQMJ^ehjmnqssuuutrojfdccceF/0138J†’’™š™°¨k\XINFRZRGFA644556H™ªn=@;7gSdkfehgefhlnnifedddba_`dS?@ILOTV^kx€†‡œ´´ºÅƼº¼µ‹‚~xn_WTPKLdi_cfikmoprsttsqojfcbcG7407KÄç‚af€}liVTYŠš]TSMNKHIKKKLA7778?RjnLPLA;@G<5?BDFHEg“tq`_^\[Z\]^^]]]`[X[]ajpsu{~…Œ|€„{plod``bdffdca`aL/;1->K[eƒzRITÅ¿ÁÏ°b]cfhjlmnqrqprqmiB391/----/...00.3KgcqZ\\[[[ZZZZZ[]‚€‡• ¨¯°³³´²¯®®¯¯°°±°±¬”offdbceghgfdeL+N<62//,,,,*5gLkqVZY[ZYXXXYYWuŠ«­¨£—Œˆ†…‚||{{{~€‡‘–nkogfccdfhihiO);C?Vº²d^`Q?EECDECCA@A@<6Ifa`ŠQAF_y€¹ÈΊZbfgikllmnoooia=4852GNLC98-+./0@uƒ‰u[]YYZXXZYZX[‘vƒ}rib^XTSRTWQPOOONOPRTY[nvjkhecbehikQ'8>>D]e_elgPGDFNPQTUVVWUYjpmbTLDBE`hS”¿ËÆs[behjkllnnonh^?353269;932148;>Ws’}„v[ZZZ[Z[Ybƒ[PLIHIIHKMLQaGEDEECAABA@@C]llkieabcejR'6;9;BJTaiqpjijhggfedb``ba]VJC=89@akWy²Âΰd^cfhklllnnmkdP:32221002//000.Jq}†¼Î¹{\]^^[\Z{d?===;;::::86679::98877888:BcmkkkgdbbfQ%54<6-002012346431.--.,*''*(((/NMAal[_»ÆÎœ_aegijllmmmkh]RMKKPONOPNLNPQPNolŒåääÇrbfhhgk‹L;<=>?@BDD=HVB;=><97778888>>SkkkkjheccN%44N\;-+32+(&&&&%%'((*,3QJ@_jRKPŽ½ÅˈZ`ceghjklmlkgca___]\[[[]^`bdTfkOvèÒÐñªfqstr‡„?><:87778999;?BGJON' &)5<[g^SNYœ¾ÈÂrV^`behijllmljigeca^\\]__acfUUSIRž”¯õ¯lƒ‡ŠŸg=>579986:=K>7444556548B>VjihgeaWOB&33-*6;;:;;;;:9888:;;9768765%$2347VafZQLe­Á̹j\`begijkmmmljihec`^\\]^_acUFHGILSo§†–À¸³«¦L@;36;;87;@>EWL>C754;LG?7546@?Ieiggedd\I-1/-.40/..,,++++*)(**)('(()+%'11/3YclbRNK{¼ÃЭc^begiikklmnlljhfc`]\\^_`bVDFFJOTZa…Ô³H=xš?A733@`R47F>42135669PZMKD<63;AA[ihihgeaYG81023358::::877789;<<99=@GHLOQPOSinnpcRMS•¾ÄÓ˜\befgijkklmmlkihfc_]\]^_bXBDGJQU\gŠÞ5?”z;@315_€o@3530002449BDKTXWRB36C?Ng]MNP_c`]XTRSUTUZ]cec_ZXXYZZZZYXWW[bhjlmmoopknv]PN]¤ÀËÌ\ceghjkkkmmmlljifb_]]]^aW@DGHR\cl¬ˆD^¢X<>669oh<<5//0135AFKP\_]^O73@?FcP242Gfdb``___^\]]afigda__]\\]^^\Z[\afiklmoosqphXQMk±ÃÐÄt_degikklmmnnlkkifb_]]^`U>CŠ”D>@@NAFWYMBB=987998879=<<@HGFB;BWMS^ffeeeeefghfeca__adillljfdaa```_]Z[\^bgjqsrpneRNM]ªÆÍÒŠ[acefhjjjlllmmkifca^_Q0@JFk„WFM\x{GA5655667889:>AC?>?>;;<;<;<<<@DA=L:Phhhfededefghhggfeca^_chlmmkiecba_^][Z[[\_cptstuwhTOJr¿ÊÒÃl_cefhiijkklllkkifc__Q3=GD’åÑvQf£Å¥PpF=??>?ABCEEGLRPOOSTSUVVVVWVSRWNZAgdddedcddefggffgfed`^^aglmlkheca^\[[ZZZZ\]ppmllmh]RMO™ÇËÖŸ[adfgghijjkkkkkjheb`R2;DG`³ÌˆO`Š¼‰HŒ}RF\bfjmnqqqopqqpoooonopppqrtyg€‡Tc’ubdccccdeefeefeefd`^]_fkllifc`][[ZZYY[[[ogehicc_UOKgºÆÐÌt[bghfghiijkkkkjhgdaS-6=EIVgjhd^šOŒŠsdupmkhdcb_[[YXXWVVVUUVWXY[_a]ft|daebbbbcbcdddeeeefffca_^aehjihda_\[[[YYZ[[lhhhsoidUNNN‰ÃÇÕ°``dedfghijijkkkiie_N+56=@?@DIUNrvc‚rcVZUQQNMMKJIHFFFFEEFFFFGIIJMKLPQ`q_hjnbabbbcdddeeffffedb`^_ahiiiea^Z[\[ZZZZomhhrpsjTMOLYªÅÌÓ“b`cefggiiijkkkhhcTC+40340--2LUYzodOKIGIGDBBA@??>==<<<==>===>?@BBBABHbr³Ûܨeabbcdddfffggggfdb`]^chjlkhc][\\\\[[krkiqptsf[PNKx¹ÄÑÊs\befefhhijkjjhe`SB*31846:>EHY‚‚kN@@????>=<;::999999::;::::;:;>>==<=Nf…ÊÍÂy^aabddefffgggghfeca_^bfjljhc]\]]]]\vypnqrqoqq[NLR•ÃÇ×®_aefefghhjkjjjhf`H,0/.-3566>[†r]D;;<<<=<;988888876887788789::<;?AMQEEDCBBABBFW}¡ž™¸‡5Rffdbbbbbcddddddfedeghfec`]]_cgikhd`^][ZomlejlptppkRJLL¿ÂÒÅnadefhjkkkjijigd^RB??@???=?VVTg±¢›”¸´“mMLLHIKNLovRMNPQNMMJzÞêèÒ·Áç•2Ngfdbbbbbcddddeefffefhgfeca]]`cgjljfa]\[lfdeiksuqst_MKZkÀÆÕ©acefhjkkklkkjhfc]ZXWUUVUUHMFAsìÇŽÞéðåeGN\cdjšŽ–™“™a\[XCD|àíÕÒçñìr1Kfdeca]]`acddeeeffgggghggfd`]]`dhlmlif_]hllgnommqsrlUKOP\ªÄÊÔ_cfhhijkkkkkjhfb_^^[ZZYYKK:6ZÖôìÞÓÜì¶g?7:86J}‚…‚o@+,+3Iov³Â½³£{D2Hgded`‹¹¾©kbdddeefggggggggfd`^^aejlmmkfdztspvrljllkngLJLJs¼ÀÎËs]cefghhijjjjjhfedb`]\[[KL75As­´··­o…];469As¡¥¥¦pCA@AGj‘r_WNF=562GhfffcyÏéå¤`cdddefgfgfffgfgfeb^\_eiknnlhyrmmjijlnldPKMLO–ÁÃÕ¬\]adffhhhiiikjhhgeb_]\[LN64:9>EOXl†«ÌpŠëòðïíìííìàëîˆaá€eTKE=<8;KffgedefddkŠ|eddddeeeeeecddeeeeca]\_dilnmvpommnjgjknooiSKKMj½ÇÐÕˆ^dfhihhhiiijihgggeb`^LO88?;>@HPYl…§Ñp}æìêëìëìììäìòƒ^Ä­Œp\OD;627Mgffeeefdde`^cddcddddeeeddeeedddca^]^ciknnovtplmnohilkkUKKNO˜ÈÈÔ¹d`begggghhiiihgggfda`F?;A@6:>DLXn‹²á‡kçôòñðïñïìèåßto‘gL?8/--.2Kgfeeededdcba`cc`deddeeeedeffddeecb^[^dhknprponqtrmilmgVMKMKg»ÈÍÕŠ`ffghhihhhhihhgggfdbE5=9211028?DSe—ŠGz‡„…Œ~rf\VM5d[@C52E{„?-5Jggeeeddddcbe ¹¸–cdddeeeeefffeeeedca]]_cmlmosvvpunlmllodPKLMN“ÉÊÕ¿jefhihihhhhihhhgggfeG5=<4.Iƒ‘P89IE>j@4568=D><<;=;Fl?CJ8.„éÁR,7Kfgffedddcbb`•èîç›bccccdefeeedddeeec`][]lpvtpsrnqkjjhjteMMMMKbºËÎÕ–afghhiihhhhiihggffgIQ@<6,dÐó†16CSB[zNJIKV\TSSRTW†jkb521GV711:Jffefeddccbbbb–º¸¦habbccdddddccdeeedb`][rxwrkjlppkjlvstf_XMLNQŽËËÒÇudghikjhhgiiihgggghJLB:916DeG321gaFƒ‰}‚Š¦œz{€‡qoiGTX6442/122>867.+*++--,.Cfhgfeeddddcbbbbaaabcbbdeddcbbbbbccbbcba„~‚~xw{xliqxxzvg^SKKMMU¦ÉÆ×¹ebdeffefghghgfcZTB!56+,-+*)())**'%%$##$$##$#%%%%%'(*''')*(+Aehffeeedddccbbbaaa`babdeddcccbabbbbbccb†}vytskmuqljpjcbbVLKL]b€¾ÄÌ׎^bcdefffgggeba\XF#44(((()),.01.,----...00023344:@B@'"$%'+.?cgffeeedddccbbbbbabbccdeedccbbcccbabcccƒ€zzysosebhpzrkmfZMLLZa_ÄÄØ¿gaccdefeefffggf^J(44*&%%04568864555544454355444301/#"$)/21?chffffeeeeddccbbbabbcegfefedddedcbabcdc…††‡‡‡‡‡‡††‡‡‡‡†††‡‡‡‡‡‡‡‡‡‡…„‚~|wutttvxwxxxy{{zvuwzz|{zyz{~€€€€†††††††††††††††……††††††††‡……†‚€|yttsvuvxxxwvy{zzwtvvxyyxwy{}€€€………………†††††††……………†…†††………„…†ƒ€{uuuvvwyzxxwz{zyxvvuwyywxyy}}€€€…………………††††††……………………………„………†„zxywwy{{yxwyz{zyxvvxxxxyyy~~€€€†…„„………†††…††………………†…„„ƒƒ„„„„‚€|zxwxz|{yyzzz{zzvvxxxyyyy{~€€€…‚‚ƒ„„„…………†……„……………„‚ƒ‚‚‚‚€~~|yxwxz{yy{||zzxywvxzzyyx{}€€€ƒƒ…ƒƒƒ„…………………„††……„‚€€}}}}{yxwwwwxz{{{{zyxwwwwxxyyz}~€€ƒ„†ƒ‚ƒ…………………„……‚‚‚~~€€}}||||{ywvwvux{}|{{{yxxwwuuwyyz}~€ƒ‚‚ƒ„…†‡…„ƒ~zz{|||}~~}||z{|zzyxwxxxzz|||{{zwxxvuuvwx|~€€~€~~„……‚~zxxwxyz{z{{yyxy{xzzyxxyy{z{}|||{zyxxvvvuv{~}~€€€€€€ƒ„„†…„…ƒ~{xyyxwwy{y{{ywwxxyz{|}}~|{wvxwvvvvz~~€}~€€€€€ƒŽ‹Š‹Ž~uwvvvvy{zzzyvuvwzz{}}||z{yz|{{z|}~~~…~~~~~~}}~…†‚ƒ„…‡‡ˆ‹ƒtuvuuvy{{zzxzzzzyz{~~}{z~„†ˆˆ‰‰Š‰‡ˆ„~}|Š€}~~€€}z~†…ƒ‚…„„†ƒ†‰†wttuuvyyzyyz{{yyz{|~~~}‚………ˆ‹‹ŒŒŠŠ‰~}|„~„„……†‚{†ˆ†…†‡‡†ˆ†ysttuvxwxyyzzzyyz}~~€„ƒƒ„†ˆŠ‰‹‹ŒŠ‚}|zƒ€ƒ‡ˆˆˆ‰†~‚‡ˆ……‡ˆˆ‡ˆ‡}uuutuwxxyyzzyxxy|~~~‚‡‰‰ˆˆˆ‰ˆŠŠŒ‹ƒ~yr‚€„„ƒƒƒ„ƒ‚„††…†‡‡‡†€‰‰zzxxuvxxyzzzywyzz{{|}~ƒ‡‹‰…‰ŠŠŠ‹‰Š‹†|wr‚‚‚€€‚€ƒˆŠˆ‰‰‰‰‡ˆ‰‡‰Œ‹…€|{yyyy{{{{zzzxspiq{}„‰Šˆ‡‰‰‰ˆ‰‰ˆ‰‡|u„ƒ„ƒ„„ƒ„‚‚…ŽŒŒŒ‹‹Œ‹‹Ž‰ƒ€€€€‚‚€}|xuswy„ˆŠˆ‡‡ˆ††‡ˆˆˆ‰„vl‡‡††ˆ‰ˆˆˆ‡ˆŒ‡ˆŠŠ‰‰ˆˆ‰’’‘‘“““’…ƒƒ„ƒƒ„ƒƒ„„„ƒ€„……†…‡‰‡„„‡ˆ…„‡„zt‰ˆˆˆˆˆˆˆ‰ˆˆ†‚††††…†‰ŽŽŽŽ‰„„„ƒ‚‚‚‚‚„††…ƒ„}yvvvustuvtvz~ƒ†‰‰‰ˆˆ‡ˆˆˆˆ‡…‚‚€ƒ„‡ŠˆzzŠˆ~}‰†ƒ‚ƒ„‚ƒ„„„„€}ywxvvuwxx{}~€„‰‰‰‰ˆ†‡ˆˆˆ†„„„„‚‚‚…Šˆ€}|‚‰ˆ€{|€‡ˆƒ‚ƒƒƒ‚€‚€€‚‚|zŠŠ‰‰‰ˆ‡†‡‡…ƒ„††…‚‚ƒ‰ˆˆˆˆ‰‰Šˆ†††ˆ‰…ƒƒƒƒ‚utvyyz|€~zyytsuˆŠŠ‰‰Š‰‡†‡…‚ƒƒ„€€‚„Š‡‡ˆˆˆˆ‹Œ…‚‡ˆ‰‡……ƒ‚‚tpstuz}|yusprv„ˆ‰‰‰ŠŠ‰††„‚‚€ƒ‡‹†…††††‰ˆ‚€…†‰‰‡‡…„ƒƒ‚‚ursu{ƒ‚|ursw~€†‡ˆ‰‰‹Œˆ†ƒ‚‚‚‚†‘’‘ŒŽŽ‹‡††††„‚‚‚‚‚yvux€ƒ€€zvw{}€„‡‰‰‰‹‹‰„‚‚‚‚‚‚ƒˆ‘–••””“‘’’““’’‘Š‡„ƒ‚‚ƒ€~}~~€€~~~€ƒ||†ˆ‰‰Š‹‹…€‚…ƒƒƒƒƒ‹‹ˆŽ‘‘‘’‘‘‘‘‘‰ˆ†ƒ‚ƒ€€€†}}~ƒ‡‰ŠŠŠŠ‡‚‚ƒƒƒƒƒ„‹„}ƒŒŽŒŒŒŒŠŠŠŠŠ‹Œ‹‰ˆˆˆ…„‚‚‚‚‚‚‚‚‚ƒ‚‚€€†|~}}ƒ‡ˆŠŠ‹‰ˆ‡…„„„„„‡‚}€‡ˆ‰ŠŠŠŠŠŒŠ‰ŠŒŒŒŒŒ‰‡ˆ‰ˆ‡ƒ€…‡‡††††‡‡……ƒ€€…v}}†‰‰‰‹Š‹Šˆ†…†…„……ƒ„…‡‰Š‰ˆŠŒŠ‰‰Š‰‰‹‹‰ˆˆˆˆˆ„ƒƒ‚‚ƒƒƒƒƒƒ‚‚€‚oz€~‚‡‰‰‰Š‹‹Š‰†…†„ƒ……ƒƒ„‡ˆŠ‡‚‡Š‹‹‰‡‡‡‡‰‰ˆˆ‡†‡…ƒ‚ƒ€€€€€gm{}{~ƒ‡‰‰Š‹‹‹Šˆ†…„ƒ„„ƒƒ…‡ˆ‰‡…‡ˆ‰Šˆˆ‡†‡ˆˆˆ‡„…‡‡††…ƒ‚€€€‚‚‚€€iir{}~…‡‰‰ŠŠ‹‹Š†„„ƒƒ‚ƒƒ…ˆ‰‰Š‹‹‹‹‹ŠŒŒ‹ŠŠˆ†ˆ‰ˆˆˆˆ‡…‚€€‚ƒƒƒ‚kjkw€~}‚‡Š‰‰‰Š‹‹ˆ…„‚‚€‚†‹ŽŽ‘’’“““”••••••“‡ˆˆˆˆˆ‰‰ˆ†ƒ€ƒ„……mlls€€}~…‰ŠŠ‰ŠŠ‹Šˆ…‚€‡“”˜˜——–••–••–——˜”‰†‡ˆˆˆˆ‰‰ˆ†ƒ€ƒ…††nlinz€~|€†ŠŠŠŠŠ‹‹‹†„†‚…’’‘ŒŒŒŽŽŒŽŽŽ‘‹„ƒ‡ˆˆ‡‰ˆˆˆˆ„‚€€ƒ†‡‡kkhhky€}}ƒ‰ŠŠŠŠŠŠ‹‡‚ƒƒ‚ˆ‹‰ˆˆˆˆ‡‡†„…………‡†…†ˆˆ†‡ˆ‰ˆ‰ˆˆˆˆˆ…‚€€ƒ††lmhfes€~|†ŠŠŠŠ‹ŠŠ‡„ƒ‚‚‚†…‚ƒƒƒ‚‚‚‚‚‚„‚ƒ‚„ˆˆˆ‡ˆˆ‰ˆˆˆˆˆˆ†ƒ€€ƒ„lkgffk|€~}€‡‰ŠŠ‹ŠŠ‰ˆ†„„‚ƒ‚€€‚‚‚‚‚€€€‚‚ƒƒƒ‡‰ˆ…ƒ†ˆˆˆˆˆˆ‰ˆ†ƒggfgghp~€}~ƒ‰ŠŠŠŠ‹Š‹Šˆ…‚‚‚‚ƒ„ƒ„‚‚‚€€€‚ƒ‚…‰ˆ‡††‡ˆˆˆˆˆ‰ˆˆ†ƒ€€hhgffghv€~€ˆŠŠŠŠ‹‹Œ‹Š†‚ƒƒ‚€€€€€€€€‚‚‚…‰ˆˆˆ‡‡‰‰ˆ‰‰ˆ‰ˆˆ†ƒ€ihgeghhr~…Š‹ŠŠ‹‹‹‹‹ˆƒ€ƒƒ‚‚€€€€€€€€€€‚‚†‰ˆˆ‰ˆ‡†‡ˆ‰ˆˆ‰ˆˆ‰ˆ…‚jhgegiho~€~€‡Œ‹ŠŠ‹ŠŠ‹‰…‚‚‚€€€€€€‚†‰‰ˆŠ‰ˆ‚ƒ‡ˆ‰‰‰‰ˆ‰‰‡„jjihihhjv~‚ŠŒŠŠŠ‹‹‹Š†€€€€€€€€€€‚‚‚†‹‰ˆ‰ˆˆ‡ˆ‡‰‰‰‰‰‰‰‰‰‡lkijljhip}‚†ŠŠŠŠ‹‹Œ‡‚‚‚‚„„„‚‚ƒ†ŠŠ‰‰‰‰ˆ‰‰Š‰‰‰‰‰‰‰‰‰klmnonlns|€}}~‚‰Š‰‰Š‹ˆ‚„„„††††…ƒƒƒ…†…ƒ‚ƒ†Š‰‰‰ˆ‰‡ˆˆˆˆ‰‰‰‰‰‰‰‰{zzz{{{zzzzz{{{zzzzxxzyyyzzz|ƒ…„ƒ……†‡ˆ‡††‡ˆ‡‡‡‡††‡‡‡††‡†…ƒ‚ƒƒ‚yzzzzzzzzzzzyyyyyyyyyyyyyyyyz‚‚ƒ„„ƒ„…†‡†……†ˆˆ†††„„…††††‡†„ƒ‚‚zzzzyyzzzzzzzyyyyyyyyyz{{zzzz‚‚ƒ……ƒ„……†…„†‡‡‡†…„„„„…†‡‡††…ƒ‚‚zzzzyyyzzzzyyyyyyyyzzzz||{{z|‚……„„……………†ˆ‡…„ƒƒƒ„……‡‡‡‡†„ƒ‚‚€€y||{zzzzzzzzyyyyyyyz{{}~||||~€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡†……ƒ‚‚{~|}}{yyzzzzzzzz{{}}~}~ƒ‚ƒ……„„……‡†††‡…………„„…†‡‡‡†……‚‚‚€‚€€~~|zzzzz||{{||}€€€€€€‚„…ƒ„„……„„„„††††„…†………„…††‡‡‡…„‚‚‚„~€~}|{zyz}}|€€ƒƒ‚€‚ƒ………†……………„ƒ„…††…„……„…†††††††…„‚‚€ƒ‚€€€~|z|€„……†„„ƒƒ„ƒ„…‡††††……………„„…††…„„„„„…††‡††……„‚‚‚ƒ‚ƒ‚€€€~~€ƒ‚‚‡ˆ‡‡†…„„…„…‡‡††††……„…………„„……„ƒ„„„†††ˆ††„ƒ‚‚‚‚‚ƒƒƒ€€€‚‚‚‚‚€€ƒ…„„‡‡‡‡†…………………………†…ƒ„………†††ˆ‡…ƒ‚‚‚‚‚‚‚ƒ€‚€€‚ƒƒƒƒ~}}€€}}}}‚†‡‡†ˆˆ†††……„…………†………„„…………„ƒ„„ƒ‚€‚‚‚ƒ}€‚„…„„„„}}{|~}{{~}€‡ˆˆ‡ˆˆ††…………„…‡‡ˆ†††…„……†Ž’–—˜™———”Œ‚ƒ…}~€€‚‚ƒƒƒ…‡…||zxzzw|~|~†ˆ‡‡ˆ‰†……„„……†ˆˆ‰ˆ‡……„ƒ…Š—–”ŽŒŒ‡‚„…ƒ€€~~€ƒ‡„}{€yxww|~…ˆ‡‡‡ˆ†…„ƒ„„…†‡ˆˆˆ†…ƒƒƒ…‡|{{zyyxwwyzŠƒ……„„…|xx{}‚‡ƒ|{‚yxyz…}~ƒˆˆˆ‡‡†…†„„„…††ˆ‡†„…ƒƒ††|}~}{zzzyzyˆ‰„ƒ‚ƒƒ€€€‚…‚||~z{||‚…||€…†ˆ‡††…†…„„…†‡ˆˆ†…†Š˜“‡„z}}z{z{{zyƒ”¤•€‚‚€€€€‚€}}}}}}}~€}}~ƒ†ˆ………………„…ˆ‡††ƒ}‹¶°“…z|~{y}}|}|z‚³ž€€€€€€~~}{|}||}}}}}}}|~ƒƒƒƒƒ‚€„…„„‡ƒ’••–‘“——–———™—Š‚}€€~~~~}~‡}}}~~}}yxwxyyxxxz€€€€‚‚‚‚‚¡´ºº±³¸¼½¹´·À»º—~{}€~}}}~‹†€~€€~|{{{{~~}|{|~€€€€€‡¨ÇÎÒÒÓÕÕÖÓÔÖÑʺ™€{{}~~~|~€ƒ„ƒƒ„€~||}~}|}}}~~~€€€€€€€‘—‹›§´¶º¼¸µ²©›……||{{}€€~€ƒ‚‚‚…}||}~}yxz€~}}€€€€€€–³‘‚|ƒƒ„ƒ„„~‰£¸ˆ~}||}~€€€€€~€€‚|||}~}ywy~€~{|~€~•È̽ª´´”…†’·½´Çш€}||}€€€€„††„€||||||zz{‚}||}€€‚‚‘ÈÐÐËĶ¡ŸµÄÍÒÏ¿ˆ€~}|}}~€€ƒ„……„{||||||}|„}}}~€‚‚ÅÐО‡€‚€ˆ—»ÒѾŠƒ€}}}}~€€‚}yxyyyz{{|{{zz{|||~~€€€‡¼ÆƬ€†‰‰‰…}œ¿½°…„ƒ‚~}}}}~€€€€€~wuwvvvwyzyyxxxyyyxy}€ƒ““”Œ‚‚ƒƒƒ†Œ‰‰…„‚€~}}}~€€€€€}|}zxxxxzzzzyz{z{{{z{}~€‚‚€‚‚‚€€€€€’‰‚€~}}~€€€}…€{zz{|||||}}|{{{z{}}~~~€‚€€€€€€€‚‚€…„ƒ‚€€~}}~€€€€€~‚„„}}{|}||{||{z{{z{|}}}~€~~~~€€€„„ƒƒ‚‚€~}}}}~€€€€~‚€€~}{}€|{{{|z|{{z{}}}~€‚€€€€€‚‚ƒ‚‚‚‚€~}}||}~€€€€~€|}‚~{zz|{{{zz}}~‚‚‚‚€€€‚‚‚{~Ž‹‚‚~}}|}}~€€€€€€~|}|{|||{z{z{}~~‚‚‚‚‚}|ˆˆ‚ƒ~~~}}}~€€€€€€€~}}}{{{|{{{{{{}}~~~~~~€€‚‚‚‚€}}€‚ƒƒƒ€~~}}}|}€€€€~{zzyxwvvvwvvvuvxx{~~~~~~~€€€~‚„ƒƒƒ~~}}}||~€€€‚€~ywvvvuuuvwwvvvvvvw~€~~~~~~~€€ƒ€}„ƒƒƒ‚~~}}}}}}€€€ywxxz{z{||||{|{{{{~€~~~~~~€€€€€‚€{{}ƒ‚‚€~~~}}}}}~€€€€~‚‚€~}~€€€€ƒ‡„~~~~~€€€€€~zyz„“ˆ‚~~}}}}~~€~ƒ…ˆ…€€ƒ‚†††„‚~~€~~~~€€€~ywy}„Š†‚~}}}}}}€€ƒ‡‡†ƒ‚‚ƒƒ……„ƒ€„†‡†‚€€~~}~~~~€~zwx{‚‚‚€}}}}}}}}€€€€‚ƒƒƒ„‡‡ˆˆ††‚€~~~~~~}~€~zywxz€ƒ‚‚~}}}}}||}€€€€„ƒ€€€€‚‚€€€~~~€€~~~~~~~~‚‚~zxxyzƒ‚‚‚€~}}}}||||~€€€‚‚„‡†‡††ˆ‡ƒƒƒ‚‚‚€~~~€€~~~}~~~~~€‚~|x{{{}ƒ‚‚‚~}}|{||}}€„„‚„„„……ƒƒƒƒƒƒƒ‚~~~}~€€~~}}~~~€€€~{|~~~~€‚‚‚~}}}}|||}€€„†ƒ‚‚‚„‚„ƒ€‚}}~~~€~~}}~}}~‚~€‚„ƒ‚‚‚ƒ„€~}~~}|}}€€€‚ƒ‚€~~~~~~~~~~~}}~~ˆ‰‰ˆ‡…………‚‚š~}}}}}}}€€€€€~€€€}}~~€€€~}}}~~ÏÏÏÏÐÑÐÏÑÐÏÏÏÏÏÊÄÆÃÌÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÍÏÏÍÇ¿µ¯¦¢–ƒ|tjkyjjkposehdW]b^]e_V]b_aWRPV[[^d`gUVXVTVUT[XQU]^]ZVMD>9<:534?3ÏÏÏÏÏÐÏÏÐÐÏÏÏÏÏÊÃÆÂÊÎÏÎÎÎÎÎÎÏÏÎÎÍÍÍÍÍÍÍÍÍÍÍÍÌÌÌÌÌÍÎÍÍÏÏÏȶ §™x‚{‚t`^br{o_`nkg\Z\^_ZYVQ_fa^UPPRYY^hihQT]aZSQNSTZ`c]VQNLBA86653187ÏÏÏÏÏÐÏÏÐÐÏÏÏÎÍÉÁÅÀÈÌÍÍÎÎÎÎÎÏÏÎÎÍÍÌÍÍÍÍÍÌÌÍÍÍÍÍÍÍÎÎÎÎÎÏÎͦ‹Štnnqllmnuy`dbfe\\\]\]TSV_dZ[YVTTVUX\idRPX^VMNOSS]cba[RHDA<953331/3ÏÏÏÏÏÏÎÎÎÎÎÎÎÍÍÉÃÆÁÉÍÌÍÍÌÌÌÌÌÌÌËÊÊËËËÌÌÌÌÌÍÍÍÍÍÎÎÎÎÏÏÎÎÍÍÌ·™{mqv{w~ggd_gZbed[[XWaYUYfeSRUXYUOLVPYiSPUXYPNSQPZa`bYUUOH?<86331-.ÏÏÏÎÎÎÍÍÎÎÎÎÎÎÎÊÁÃÁÊÐÏÎÎÎÎÍÍÍÍÍÌÌËËËËËËËËËËËËÊÊËÊÉÊËÌÌÌËËÍÁ’†vdn|mdhaaaWje[YUUO]a_`qm[QQV^VNKUSSZT[ZXUOQRV[^ZY[RRYPI@?@<641-,ÍÍÍÍÍÍÍÍÎÎÏÏÏÎÏȹ½»ÉÑÐÏÏÏÏÎÍÍÎÎÎÏÏÎÏÎÍÍÍÌËÌÌÍÍÌÌËÈÊËËÌÌÌÉÇƧ‹{ysi^mqod`c`Y]aVS[TTR[eegidgVRW[UPSVTTYS[^aWTUSZ[\ZYUSPRPJ@@>7642/3ÍÍÍÍÎÎÎÎÏÎÏÏÏÎÏƻſÇÏÏÏÏÏÏÎÎÎÎÎÎÎÏÏÎÏÎÍÍÎËÌÎÏÏÍÌÈÆÊËÌÎÏÌÇÅõ |{qeWUc`Z^ca^e_XVTMMUZ`aeh_\TPQRPNURTR_LUV[\X[Z^\]ZTQTPSLGD?B;520.5ÏÏÏÏÏÏÏÏÏÏÏÎÎÎÏÆ¿ËÃÆÎÎÍÎÎÎÎÎÎÎÎÎÍÎÎÎÎÎÍÍÍÊËÌÍËÇÃÅÃÆÇÊÍÎËÿ¼«Ž}rVTRQOVXoqfcc]ZMD@M[S[bb^WURMMKINJQNYNRVUXX\]\\^ZTPTOXPEGA?=2//--ÏÏÎÎÏÏÏÏÏÏÏÏÏÎÏÆ¿ÊÂÄÎÎÍÎÍÍÎÎÎÎÎÎÎÎÏÎÎÏÎÍËÈÈÇÉÿ¸Ã¾Â¾ÆËÈŽ®¡©zuaWYZXgi_ogf`XVSRVVeUQ\]TOWXSNJGPQR[YSQY[WVXZWRQ\WSXRYW@67320..--ÏÎÑÕÕÐÍÎÍÌËÊËËÍÄÀÊÂÂÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÏÏÎÏÌÄÃÃÀĽº­À¹¿¶¿Ç¿¾·¦ˆ†rˆzf^a\]flXo\U^TPUU_\XOQUXRRSWXMMNTSS\i]OWZWWWW[TM]ZZ^]ND<6541/....ÏÙæîíãÓÍËÅÁÀÂÆÉÂÀÉÂÀËÍÍÍÍÍÍÎÎÎÎÏÎÎÏÎÎÎÎËŽ¶½»³¤»´¾³¶Âµ¼µ˜…}~nhddccT\b]We[T\_QSTX^UUTPPNLMOTZWPTQRSe[MZ]YRNNYZQXYRMJA9=<962/---.ÛïܼÅçèÍ¿¹´²¸¼ÂÃÃÊÆÂÊÌÌÍÌÌÌËËÌÌÌËÌËÉÉÉÅÅÀ´¯ª¯³© ª®¸±³·®­£ƒyzvmkTae\XcXR[i^X_YLQSU^acVRNMLPSNUWLPUPS^]Ya]TPMNZXSZPRYJBC=;;972....îÌ‚jr«êض±¯¯µµÁÅÆËÉÅËÍÍÍÎÍËÈËËÌËËËÊÇÄÿÁ³¡žœ¤¦œ™¡­®¬®©¨š†vnlfll\VYWbaWW^]Y`VRVUTUWaZSUPOSUSTUXSQYQSZaY_XZ]X]aUTZWUQA?G<877752011ãˆvvrÎ踮¬¯²³ÁÃÆÊÈÃÊÎÎÎÎÍÈÂÊÌËËËÇÁ¹µ¶¸»« •š™” ±­¬¢›Ÿ•zjgdVibTMHNXaZRQ]gabp__b]UXOQQPQSWSVTVZTZNQ`_`h[c`jg`TQOOLL@>@8855664/03Lj‚xŽÃé¿«ª±°´»¹ÂÉÈÁÊÎÎÎÍËúÈÍÌÇù§Ÿœœ¥§Ÿ—Š•›“‘­­¢”‘‘ˆvddh\]UQSRRYa`]jobRVcOXrp[RPKMMLILNNONORZTX`VU[X`g]\WQKMJGGEI@8555554016·…‰ƒ}‰Àé䧲²µ·µ¾ÈƺÁÌËÍÍÊÁ´ÅËÉÀµ§™žž•™–…—–‘–“ŒŠ‹†€vuqcYTX\YOY]YU^h\RR_ffb`\TSMLKIJHGEGNLT_]X\WP[ggfU\TMWSIJAAC:864434536=°ƒ„……Œ¿æÙÆõ®±¯­¸Å»­³ººÁ¾Ç¾²Àź­¢ ˜œ¡•–†‚…‚ŒŒ„‹ˆ†ƒ…ƒ‚{xq`VVUV_ZVYVSZhRPP_ifTT[YTNMMKKHEJIKSV^bT[SQnsdg_a]Ub[UVG<=;:8543365;?õ°‰…¿åìîèľ­¤£¬®£¢¤¥¥¦«»´§¦­™¡˜—¡”–Ž†„†‚…z„‹‰…‚}€~wuqidXRZg[TUTU`[NY[^^XRRSSSNLOQLORRHDLPVaTSO_cda[cj^RU^YIUE===:566589<>ÀÁ¿ˆ‘¾äëåáá캞¢®¡žŸ¥ª¦¤¦¦¢••”™ š‘™Ž‘Ž‹ˆˆ…€‚‚y‡„‚‚{||xrjjg[VYQY_[VZ[_[W[[\^ZTNJWWOMPLCFIHBBGIISLRR[_aZ`q^^P\a[IFD??>95677:>?@»½»”Œ’½ãìÏ¿ÞëŲ¾Ä¶¶°²´ÂĹª¡¡•Ž“ ˜›—‹Ž‰Œ‹‡†‚‚‚z€‡€~xywsrnmfZ^dccZSSYY_^aYU^VX^ZURKNNPKCDEC@EGEDSIUX\Ybba^SfaWZYQKFEG;86678<@HG©À»—Ž”¼âìáØèéßÞâããäáãâçêíÃœœ“‡Œ”‘“…Š‡Š‹‡ƒ‚‚}€‹{yxrssnicY]eb]SVPT_gceXPSRg^cYOQRQKIFHQIBJKLGQR^_ZO[eddVbdURY^SGBC<:9888>=sºÊ»ºÀÉÛëëëëëìêéçäâá×ÐËÈɯ£¢¥–Žƒ|{|z}†Œ’™™™Š€ˆ„~{xz|vwq`Z]_VXVVX_YRN_t‚wi^^gTUOMTTMLKGAMVSSTRP\cfe[S[[__V_YVXH>99<:9:::;?>>=iÁÔÐåæååêëëéäâÜÕÏÉÁ¿µ«¤›¡ td_WTV^q”n[[[[ZXYWRe†‚…‚vtxxuutf\`]PQZY[^TT]cie`T[cbSVNLNSMIC>BOUV_[\cfka]ZUYRWVPWVQ@9434778:99;@@@@M¯špâîìíììëäÚÌÅþ¹«©œ‘‰Ž{EQ_ks}kAHF<9:;WppniZAh€‚~~utwzyurlg^UOMZZ\UVY^][LYb\]Z[`WLMTOMJMPORTWYY]lfblx|„„„‡ˆ‡{wpjgZLD;99EEIKEEHOQJ|zyppwz|sjcdWRSGBNVVXZ[RLJWZ]]V\d_TNNKMQPOLIKOVXk„•¡ ˜”ŽŽŒŒŒŽŽ’”‘}V:;=BHJHdo¬ÚÓÑÐÎËʾ®©£ž›—‘Š‰‡ƒ~„QVu···µ±¦²–w‡ySUP?443\Tg~xwnjpwzqhb^PSTFIQTZ]VRTRSV[XXX\b^VNGECEIJGGGIR[”upng`\YXYYXWVVWVVWXY][Z@:=BHII[yšÉÉÀµÉÔÒÐÌÈÅÇÌÏÍ´†€}{€uXYArsgaie‹˜|’zQSQXO74KoT|wuqtnpvrkh_SVXUY[`\XGFSY`X[ZYVY^WPJEEB?A@?>AKN[‹OPW[`bfP=>>>;::CTYZ\\[NF8=CIKKÅÕ~µ½«§‘}rf^\YZ^hn„{zyƒcpM15437MRPRURPPG\td<9cŠUtxtvukmsmig`Q^j^UT[\YPOWZ]a`ZX[\WPJFBB??=9:BHHEQðÙk—¡—JCFSceTVRJHHŒ~vt‚\}>58VeHJQQQOOOOK[|c@:~Ÿig|wzvnkoihde]hqcZOR\\WSTZYaZW\f[PJEC@@CB@?CHE?D~kqœ±«¤•Š[G7=KMNQK><;;AjRAFKJCZxZ‚ˆ™‹OJ=P~zveI>F=uŽyz|`}679zœkKMEBBJOOMLrtE72^†]v{|rijllfa^]Z`ZOPXXQOT]\[YZ^^TTOGAAGJC?CQQJRX”b]L^IC>9ISPADGGHI<7:;<9UbDDINYaLFS­Ä¯hTNH;7†yZtPGM`a][jcWPY\`\YRNOXU[eabZQPVUMF@?HT^ZZ[]co—zN=@=9YsiE<7556::9ACDC96<_M\k]\_JJRu°ÓÛàââäçèæèêæç™:<]…OjTWXIUDFOY^^UOJLSdv]IB;9RDKU<>6Udebcd`UY[[WTRPNU\]W[]UORYUQX\\r€xfb\\[o˜bFCFD>f…„H@;65666;?BBA=88YKRqdZVD@Bw³ÝãèíîæÚÚæÙÖèö¥04:GI<9966HJJKMJB8PGKifYROMVv—·Ç×ÊÈ¢~†¬ƒu¡ÒÂ{JD1TR==;:8888878888888888:;=?LC>W`jljkhiplkkjoyˆŽ†ˆ‹…‚Žªyy€|}}qambP\ckzQI€\<<brkkkmlnnqsvy{{ywwyy{z|ƒ‡œª³°¨–†{qkmnkVPTKS|lUMC?EONLMOQZ]_^XOOMHBJ]jzŽkVgqspnmnpqruvwvuuvvxz|}„¹}H@79:87777777777667854:AHQYcŽ‰Œ‹ˆ‡„€{tsssvvwvvvutrrrppsz†•£¬±®£›‰{oq¦“myxunjZQaoonnmkkkklnpodVbhgo‚z]szvrolklmnorsssrrppqsuz¦{RYR=455555666<=65556X{“¢¥ª­­­©¨§§¨¨¨©©©«¦’mjlopsvvvvusponpqqqtyŒŸ­º³ˆ¡œrffc\\\Wiqea__^]]]^_bik]ZZ[^`ZPTYzwsolkklmnoqrqqqqpoqu{pf§¢I14434566:;7662M¥’Œ„~}{wtqopppqrsw{~‰cdefhlortvwutsqppopqpomn}›†””nZXZXWWW[[YWWWWWWVVWWXXVWXXXXWQPTzyyupmkjjjknooppqqqrvoQx¡´¯I/222326988633†`edcbehkr„zuqmlljihd}mcdddddhknruvxwvtrpnmpqqonbƒ€bWTWXWWXXWWVWXXXXXXWWXXYYXXXTUVRXxwyxvqljihhilmnoopqpol9^ªË¸âµrcKOS]HZ˜CL]n lk~€~„†ˆ|Žnˆ‡†ƒ‚€xpugedbcaabdfjpstvwxwupmklnqcvt`bbYXZZ\\\[Y[[ZZ[\\\Z\]\Zdja~€WQVwwxxxwrmjhfgijkmmmnnaU5=‰Ü×ñò¼Š\Zd’pŠËekhŠ…`‹­¹¾ÄÈ˳\E>=^¼ÑÎÇÅŸ†cepjhedbbabbbfknqsuwwwvrmjjZkjV‡¹•‡´‡RUV]`Y]\da[\ViUNM]ÃȶŲUQSrtvwxwvsojffffhijklm\@5.EŽŒÀ³ªlgm]YÃù—al‹ic™ãßßÝÝã²VhdZXÄäÞØØÝâƒmUnnmjgeccbbbaacgkosuvvvvtlOV_MƒÎ×ÕêäuFBPša=W‡ItÐÏgE»~CA–óÒǯ¥kJKRlnpqrssstqkgcbaaccejR1.268:>GS[m©´ÀÐÞÍÄ©‹YiPqsx~‚€RD\›lWŠÂ²¤ŽzmFPnYfeimonlidcbbc```cgknprstLCHNParš Óù’GCRÊ‘h¿ºcšÁOLT§í¸€fTPMJZjloqrstuutqmiecbcccgT1-067=EN\oˆÃòíîîííï¿y]dC646644:@Xµw[XF;854:GBnVegehknoomigfggeb`abfjnqsM@FKPPTYb–¢{oiZ’ç¡«¦ä‹\kqtq[YVQMJ^hjmnqssuuutrojfcccceW2.136=DWq”±¹ñîññðñé®fdZI?7::99969j^I>7:=<;>FDIMPUX`ltyz|‚Š”«Ä½¨—‡~zvl]WUPKKc_cfikmoprsttsrokfcbcX6523>iÓ–A:@ZRPOOMaœŒQfHQMMWSNJLA64555;n¨¥XDG;AjRigbfjgdcehjihgda```_^^`L:NdX™zZgkigec`cgfecb`^^_`I7@LNPRW_jkmoy×ôðíîïíïòÞvihii_WRPMQjλl^ehijmnoprqqqpnifX3;0/013:>@BEA@Ofƒ’‚q^RNOUWRMMNVWQQPSWZ[XSQQTTVX[iPcOWiijjgdaabegfdcb`_aH2?NPRRXah`RMOg€zzvon`?8BXfaaXQMY©ÁЫ_]cfhjlmnqrqprqnjY0;2.,/0256569;;9I{‡pf__][[\]^^^^]]_\Y[^ahpvvy{‚…Š…x†}xomqgcbcehhgfdbbF0@KMS€€g[MD00036ODMQACC==LITl°¤TFS¿±ÅО[^ehhjlmnoppqqpn[-;43@4.,+**++++*GR^lb[\\[ZZZZZZYX`y…“Ÿ©®±³°±³°¯¯®±²±°±°­’phgedcdfiihffC+@FBcÙªeWRLMTRQP_USRPQPMEM^Wf½W?Gr€¹ÈÏZbegikllmnpppoiW.:53IQGA:84,+++)[]`z_VYY[YXYYYYXX~‹­¬¨£ž—‘Š†ˆ…‚€~~€‚ˆ“—lmoihebbfhiikD)=?>U’_cgS8989???@ABBA<:Ujg`idHAE`T’¾ËÇs[begjkllnoookaP/9526BEE930/38;?e‹i`_YZZXZZZYX_”s‡~tjb]YWTQTVQQPPONOPSV[\pvjkjgbbcegjE(:==BPW^irsf^\]`acfgfffgmtpj]QG@?CbY{±Âίc^cfhkllmnnmkeU830010...--02219f†Š}‚‘kZZZ[[[[Xi€YSMIIIJIKNMYcHGFGHDBBBBAAD^lkkjhdbbdgD%8745;@FNSYYVVWTTRPNNMJFFE?<9528?>>@><=?@>Ab‡ƒ~¡ÙÕªk\_`_]^^‚[@?>=>=;;::977799998878889:CdlkkkifbceC$72M>*(')%$$$%%%$$$$$%$&',92%(=aSBcRKO‹½Ä̉Z_bdgijkllljf^ZWVYZYXXXXZ[]^YZ~rg¾èßæ¬egjlmmtŠD;;<<=??BC<:7777888?>Vlkkkjiea]@$65LQ?54=9430/.--/00138>HTeW%$28>?]^SNXš½ÈÃsU]`cehikllmligdcba^\[\]_`ce^ViYJµæ½åä{mstus’x=>=EFFDBCA;}‘M>D><65667776>AFekihge^RN9%54*'9?>=>>==;;;;<<===;<>>?=$!+/5:YfZQLb«Á̺j\`begiikmmlkjigdb_]\[\]_bd^ROJGcˆ{×Þz”™¡™£Y>=589877::?XbC=C:7555556559B?Wiggedc[Q<'41-0987775664332234530//0/0#&3337YlcRNJu¹ÃЫa^befhikllmmlkigec`]\[]_`b^JEHGJNX|‡‰Â»¢œ¢ CA937<:86=C?HO?<;544;GC<6546@?Jdfffedd]I20,+.0,,++**))))(())**)*,-00/1865;anpeSMN½ÄÒ–\befghjkklnmlkjhfc_\\]^_a`JCIGMQX^n­à[54…;A524C[H2;J=20135569SZLJA;54>77>}];;3//0136CEKQ]_]^N64A>HeP242Hfcbaaaa`_]^]`eijigba^]]^_^][Z[_dhjlmmronodTVi‰¼ÉÔ¸i_degjjjllmmmmlkheb_]^^`B>GFHNVd]HFB`Ã…>??AHEJNu`=?GXxFABBCBA?32223;ELKIbdXQJ<389;;4111Ggddeeeffeec`^]`dilllifca__`_^\[[\^bgjqtrpneSNMY¥ÆÌÒŠ[acefhijjkllmmkifca^^^<9HHGKTW=7bI>=@<=OQF=;;;::;<=<97798:99>?=;;;;::;;;BEA=G:Tgggeedeeefffeegfec_]]agkmmkifc`^]\ZZZZ[[]ppnllmh]SMN—ÇËÖŸ[adfgghijkkkkkkjheb_^<7AGS¿é´XXq­Â“Re>>?==>?@ACBDIOKJKNONPQPPPPOMMQK{T@‚rcdddddddeedefffec_]]_cjmljgd`^\[ZYYYZ[[ohehicc_UOKf¹ÆÐÌu[bghfggiijjkkkjhgd`_<5=GGw¸¯cVjŸÀuTŽpHHX[`dhjmmonoppoooppppppqrrtzg‚„Ndfbbcccccdeedeeeffec`_^_dikjhea^\ZZ[ZYZZ[mhigsnjdTNNM„ÂÇÔ°``dedfghiijkkkjihfb`;/8AFJTafl]mªiY‡kfvsqnkhheb^^][[ZZYZZYZZ[]^be_iyybfjmbabbbcdddedefefedb`^_bgijiea^Z[\[ZZZZonhhqosjTMOMV¦ÅÊÓ“b`cefgghhijkkkjihbZ7.68=<:;@FSQhk„sbX^XTSQOOMLJJIHGHHGHHHIJJKMOMORTeq­ÛÛ¥eabbcdddedfggggfdb`^^bgjkjhc][\\\\[[krlhpptsh]PNKr·ÄÑÊs\befefhhhijjjigfZM2.3070.,0;UQawncRMIIJHDCCBA@@?>>==>>??>>?@@ACDDCDJdˆÈÍÁw^aabccddefgggghfeca^^bfjkjhc]\\]]]\vypmqqpnpq\MLPÂÇ×®_aefffghhjjjjifc\N3-4282><<::9:::::::;:;::;;<>?>==?Phihddaaabccddeeeeeeghgfca^_aeijjhc_^^]]\tqlknnkikmeMKK_¬ÂËÖ‰]deefhijjjjijigfY8-//,/1133Ec‘o[A<<===<<;99888888788778889::<<99;DA;L`dccbbbbcddddddfedeghfdc`^]_cgjkid`^][ZpmlejlptppkSJLLy½ÁÒÆoaeefhjkkjjijihe_N5+,--(&&%Eeq`J=C<879:;;999;<BA8f‘œ‡XFKFD?}¦|eVLB;831Ffedddb_`_ljdddeeeffffffffffedb_]^cimnnnwtuumpjjmmmpsiRLKM’ÅÈ׸bbeghgghiiiiiiigddc`^\ZKM3595=?FO^s¾IgŠ“¡ªºÏ»½ÂÇÉÀ{X™¨}dSIA;:/,EffdeefddlŒzdddddeedeeecdddeeeca][^dilnmuoommnjgjknooiSKKLeºÇÐÖ‰^dfhihhhihiiiigfedb_^ZLP4123@=GQZpŠ¸±h òòòóðîððïéïícÁ dSJC<<67Hfeeeefdde_^ccddddddeeeddeeedddca^]^chkmlnvtplmnohilklVKKNN“ÇÈÔºd`begggghhiiihgfgfca^[LQ5599?>IQYo‰¯Ìc”íëêëëëëëêÞêìxa¤‡m\PF>96:Mgeeededdcba`ccadeddeeeedeffdddecb^[^dhjmosponqtrmilmgVMKMKc¹ÈÍÖŒ`ffgiiiihiiiihgggdca]BD:EB9=BIQ]u‘ºÚjƒòóòòññòòóññëqtÏ¡vXH>2/..1Kgeeeddddcbe º¸adddeeeeefffeededca]]_clklosvvpumlmllpePKLMMÈÊÕÀkefhiiiihiiiihhggfec_<:=722226>FSf…½}X¥­ª¨¬¯¤—Š~wh=njGA439R\8.4Iffeedddcbb`“èïã’accccdefeeeddddeec`][]iovtpsrnqkjjhjtdMLLMK_¹ËÎÖ—afghhiihiihiihgggfeb<5?83/C\]=89G?Oj44567DK80|æÐU,7Iefeeddccbaba–··¡eabbccdddddccddeedb`][qxwrkikopkklwstf`YMLNQ‹ËËÒÈucghikjhhgiiiihgggfdCL>94,„Ýéb58MJ>jaDEEHNQLKJIJK}j\W:40aS709Jdfeeeddcbbbb^^]_bbbbbbcddccbbcddccaa_\jklicbbiks}wuwqjqgQLNT_´ËÉتeghijiihhhiihggggffEW>96/Ej–M227qTT”€uy|žz|x|~Kgc3340,.12=Icfeeedddcbbbaaaabbccccdddcbbbbcccbbba`upmnktprjsuuuv€n_UKLMMÆÆÏÔ†bgghhhhhhhihhhhggg<3=;;13116746RFBJRSfwl^PP\_EBAFEM854532226Gceffeddddcbbbbaaabcbcdedccbbbbbccbbcba…~‚xw|yliqxxz~vf_SKKMNU¤ÉÇ׺ebdefffghhhhhhihc]9%<9514454457GJJOPT\bbxe]XSKJIDAB1.,.-.--0Eceffeedddccbbbaaaaabbdedccccbabbbbbccb†~v€ztsknvpljpjccbVLKL^d½ÄÌØ^bcdeffggghhggcXS8#:3--.-,+,,.3401.,++-3*('&'&&&%&&''((**)-Ddffeeedddccbca```bbccceedccbabccbabccc‚€zzysosdbhq{skmfZMLLX_\›ÄÄØÀgaccdeffffffc`]WT9#90(**)('(()(&&'(''&'''(+,-../6;><'"$&(*-Befffeedddcccca```badfgfefedccddcbabcdc…††‡‡‡‡‡‡††‡‡‡‡†††‡‡‡‡‡‡‡‡‡‡…„‚~}xutttwxwxxxy{{zvuwzz|{zyz{~€€€†††††††††††††††……††††††††‡……†‚€|yuttvuvxxxwvy{zzwtvwxyyxwy{~€€€……………†††††††††…………†††††………„…†ƒ€{uuuwwwyzxxwz{zyxvvuwyywxyy}~€€€……………††††††††……………………………„………†„zxywwy{{yxwyz{zyxvvxxxxyyy~~€€†…„„………†††…††………………†…„„ƒƒ„„„„‚€|zxwyz|{yzzzz{zzvvwxxxyyy{€€„‚‚ƒ„„„…………†……„……………„‚ƒ‚‚‚‚€~~|yxwyzzyy{||zzxyvvxzzyyx{}€€€ƒ„…ƒƒƒƒ…………………„††……„‚€€}}}}{yywwwwxz{{{{zyxwwwwxxyyz}~€€ƒ„†ƒ‚ƒ…………………„……‚‚‚~~€€~}||||{yxvwvux{}|{{{yxxwwuuwyyz}~€€ƒ‚‚ƒ„„†‡…„„‚}zz{|||}~~}||z{|zzyxwxxxzz{||{{zwxxvuuwwx|€€~€~~„„„‚zxxwxyz{z{{yyxy{xzzyxxyy{z{}|||{zyxxvuvuv{~}~€~€€€€€€€€‚‚‚€~|{xyyxxwy{y{{ywwxxyz{|}}~|{xvxvvvvvz~~}~€€€€€~‹ŽŽ‹‘Žuwvvvvy{zzzyvuvwzz{}}|{zzxz{zzy{|~~~ˆ~~~~~~}}~~ƒˆ„‚ƒ„†††‡‹†uuvuuvy{{{yxzzzzyz{~~}{yz‚…†‡†‡ˆ‡‡„~}|‹‚}~€€}z|„…‚ƒ„ƒ…„…‰‡{stuuvyyzyyz|{yyz{|~~}{…‡†ˆŒŒ‹ŠŠ…~}|ƒƒ~„…††‡„|~…ˆ‡…†‡††ƒ€ˆ‡}tttuvxwxyyzzzyyz}~~~|‚ƒ‚‚„ˆŠ‰Š‹‹‹†~|z‚‚‡‡‡‡‰‡€†ˆ†„†ˆ‰ˆ„~†ˆ€vuutuwxxyyzzyxxy|~~}}…ˆˆˆ‡ˆ‰ˆ‰ŠŒŒ‡xr‚€ƒ„ƒ‚ƒƒ„‚ƒ†‡†…‡‡ˆ‡ƒ‡Šƒzyxxvvxxy{zzyxyzz{{||z†Š‹‡‡‰Š‰ŠŠŠ‹‰~ur‚‚‚‚€‚€ƒ…ˆ†‡ˆˆ‡†‡ˆ…‡‹‹…€}{yyyy{{z{zzzxtpioxz‡‰‰†ˆŠŠŠŠŠ‰‰Š{y„ƒ„„ƒ„ƒƒƒ„…ŠŽŒŒ‹‹Œ‹‹Š‚~€‚‚€}{xutwx|‡‰ˆ‡‡‡‡…†‡ˆ‡ˆ‡}r‡‡††ˆ‰ˆˆˆ‡ˆ‹Š‹‹ŠŠ‰‰‰‹ŽŽ‹‹Œ‹ŠŠ†ƒƒ„ƒƒ„„ƒ„„…ƒ…†ˆ‡‡‰Š‰‡ˆ‰‰†ˆ‰~u‰‰ˆˆˆˆˆ‰Š‰ˆ‰†‡‡ˆ†…†‘’”“‘’”•”“„„„ƒ‚‚‚ƒ„‡‡†…†€}zz{{xwwzywz}‚…‰‰‰ˆˆ‡ˆ‰‰ˆˆ†‚‚„…†‰‹…‚‰‰…‚‚ƒ‰†ƒ‚ƒ„‚ƒ„…„…|xutssssuux{|€ƒ‰‰‰‰ˆ†‡‡ˆˆ†…ƒƒƒ‚‚ƒ…‰Š€zy~‰Šƒ{{~…‰ƒƒƒƒ‚€‚‚€€~~}€ƒ{}ŠŠ‰‰‰ˆ‡†‡‡†„„††…ƒ‚‚‚ˆ‰†…„†‰ˆ†‚ƒ…†‰†ƒƒƒƒ‚yvx|~||€}{}zvtzˆŠ‰‰‰Š‰‡†‡†ƒƒ„…ƒ‚ƒ‰ˆˆŠ‰Š‰Š‰…‡‰Šˆ†…ƒ‚‚xqquuvz~~zutqqs{„ˆ‰‰‰ŠŠ‰‡†…ƒ‚‚‚‚…Š‡…††††‰‰„}‚…‡‰‡‡†„‚‚‚‚‚‚xrrtw~‚~~|wrrsz€‡‡ˆ‰‰‹Œ‰†„‚‚‚‚…Œ‹‹Š‰‰‹‰ˆŠŒ‡…‡‡…„‚‚‚‚‚‚zttt|‚„€€€|vtu|}€„‡‰‰‰‹‹‰…‚‚‚‚‚‚‚†––••••“’‘‘‘’’‘Œ‰ŠŠ‰‡…ƒ‚‚ƒ‚}|{€€~}|~€||†ˆ‰‰‹‹‹‡‚…ƒƒƒƒ‚ˆŽ‘“‘‘‘‘‘’’“’’””““”‘‹‡†ƒƒ‚‚€€~€~~€ƒ}}~ƒ‡‰ŠŠŠŠˆ‚‚ƒƒƒƒƒƒ‰‰€„ŽŽŽ‹Œ‹‹ŒŽ‹ˆˆˆ†„ƒ‚‚€€ƒ|~}}ƒ‡ˆ‰Š‹Š††„ƒ„„„ƒ‡„|~‡Š‰Š‹‹ŠŠ‹‹‰Š‹Š‹ŒŒŠˆˆ‰‰‡…ƒ†‡††……†‡‡…ƒƒv~}†‰ŠŠŠŠ‹Šˆ†……†„„„‚€„††‰‰ŠŠŠ‹‹‰‰‹Œ‹ŒŒŠˆˆˆ‰‰†‚€ƒ„„„„„…„„„ƒƒ€€‚oz€~‚‡‰‰ŠŠ‹‹Š‰……†…„……ƒƒ„…ˆ‰Š††Š‹‹Š‰ˆ‡ˆŠŠˆˆˆˆˆ†ƒ‚‚‚€€€€€gm{}z~ƒ‡ˆ‰Š‹‹‹Šˆ†……ƒ„…ƒƒƒ†‡‰‰„ƒ‰Š‹Šˆ‡†‡ˆŠˆˆ†„‡††……„‚€€€€iiq{}~…ˆˆ‰ŠŠ‹‹Š†„…ƒƒƒƒƒ„†‡ˆˆˆˆˆ‰‰ˆˆ‰‰ˆ‰ˆ‡ˆ†…‡ˆˆˆ‰‡…ƒ€€ƒƒ‚kjjw€~}‚‡Š‰‰‰Š‹‹ˆ…„ƒƒ€€‚…ˆ‹‹ŒŽŽŽŽŽŽ‘‘ŽŽŒ‡ˆˆˆˆˆŠŠˆ†ƒ€€€ƒ„……mlls€}~…‰ŠŠ‰ŠŠ‹Š‡…‚€„Š’”•––—––————˜˜—•Œ†‡ˆˆˆˆˆˆˆ†ƒ€ƒ…††nlinz€~|€†ŠŠ‰ŠŠ‹ŠŠ‡‚ƒ„‚ƒŒ“”—–••”’’’’’’““”•„‚‡ˆˆˆˆˆˆˆˆ…‚ƒ†‡‡kkhiky€}}ƒ‰ŠŠŠŠŠŠŒ‰‚„…ƒƒŽŽŒ‹Š‹‰ˆŠ‹ŠŠŠ‹ŒŒ‰‡‡ˆ‰ˆ‰ˆˆˆˆ‡…‚€€ƒ††lmhges€~|†ŠŠŠŠ‹ŠŠ‰„‚‚‚‚‡‹‡‡‰††…„…„„ƒƒƒ…‰‡…‡‰‰ˆ‡ˆˆ‰ˆˆˆˆˆˆ†ƒ€€‚„lkgffk{€~}‡‰ŠŠ‹ŠŠ‰†„ƒƒ‚…†„…ˆ…ƒƒ‚‚€ƒ…Š‡…†ˆˆ…ƒ†ˆˆˆˆˆˆ‰ˆ†ƒggfgghp~€~~ƒ‰ŠŠŠŠŠŠŠ‰‡†ƒ‚„‰‡‡„‚‚‚ƒƒƒ‚‚€€ƒ††ƒƒˆ‰‡††‡ˆˆˆˆˆ‰ˆˆ†ƒ€€hhgffghv€}€ˆŠŠŠŠ‹‹‹‹Š‡ƒ‚ƒ‚ƒ€ƒƒƒ„ƒ€‚‚ƒ‡‰ˆˆ‡‡‰‰ˆ‰‰ˆ‰ˆ‡†ƒ€ihgeghhr€~…Š‹ŠŠ‹‹‹Œ‹‰„€ƒ„‚‚€€€‚€€‚‚ƒˆˆˆ‰ˆ‡†‡ˆ‰ˆˆ‰ˆˆ‰ˆ…‚jhgegiho~€~€‡Œ‹ŠŠ‹‹Š‹Š†‚‚‚‚‚€€€€‚‚€€‚‚‚ƒ‰‰‰Š‰‡‚ƒ‡ˆ‰‰‰‰ˆ‰‰‡„jjihihhjv~‚ŠŒŠŠŠ‹‹‹‹ˆ‚‚‚‚€€€€‚€€‚‰ˆ‰‰ˆˆ‡ˆ‡‰‰‰‰‰‰‰‰‰‡lkjjmjhiq}‚†ŠŠŠŠ‹‹ŒŒ‰ƒ€‚€‚€€‚ƒ‚‚„ˆŠ‰‰‰‰‰‰‰ŠŠ‰‰‰‰ˆ‰‰‰klmnonlns|€~}~‚‰Š‰‰Š‹ŒŠƒ€‚‚ƒ‚‚‚‚‚‚……ƒ‚„‰‰‰Š‰‰‡‰‰ˆˆ‰‰‰‰‰‰‰‰{zzzzz{zzzzz{{{zzzzxxzyyyzzz|‚„ƒƒ……†‡ˆ‡††‡ˆˆ‡‡‡††‡‡‡††‡†…ƒ‚ƒƒ‚yzzzzzzzzzzzyyyyyyyyxyyyyyyyz‚‚ƒ„„ƒ„…†‡†……†ˆˆ†††„„…††††‡†„ƒ‚‚zzzzyzzzzzzzzyyyyyyyyyz{{zzzz‚‚‚……ƒ„……†…„†‡‡‡†…„„„„…†‡‡††…ƒ‚‚zzzzyyyzzzzyzyyyyyyzzzz||{{z|‚…„„„……………†ˆ‡…„ƒƒƒ„„…‡‡‡‡†„ƒ‚‚€€y||{zzzzzzzzyyyyyyyz{{}~}|||€‚„„„„……†……‡ˆ‡†…„„„„…†‡‡†……ƒ‚‚{€~|}}{yyzzzzzzzz{{}}~}~ƒ‚ƒ……„„……‡†††‡…………„„…†‡‡‡†……‚‚‚€‚€€~~|zzzzz||z{||}€€€€€‚„…ƒ„„……„„„„††††„…†………„…††‡‡‡…„‚‚‚„€~€~}|{zyz}}|€€ƒƒ‚€‚ƒ………†……………„ƒ„…††…„……„…†††††††…„‚‚€ƒ‚€€€~|z}€„……†„„ƒƒ„ƒ„…‡††††……………„„…†‡…„„„„„…††‡††……„‚‚‚ƒ‚ƒ‚€€€~~„ƒƒ‡ˆ‡‡†…„„…„…‡‡††††…………………„„……„ƒ„„„†††ˆ††„ƒ‚‚‚‚‚ƒƒƒ€€€‚‚ƒ„ƒ‚ƒƒ€‚ƒ‚„…„„‡‡‡‡†…………………………†…ƒ„………†††ˆ‡…ƒ‚‚‚‚‚‚‚ƒ‚€€‚‚ƒƒƒƒƒ}}}}}}|†‡‡†ˆˆ†††……„…………†………„„…………„„……ƒ‚‚‚‚ƒ|€‚„……„„…‚}}|~~}|}}‡ˆˆ‡ˆˆ††…………„…‡‡ˆ†††…„………‡ŠŽ’“‘ŽŠƒƒ…}~€€‚ƒƒƒ…‡†||{yz{xz}}}„ˆ‡‡ˆˆ†……„„……†ˆˆ‰ˆ‡……„„„†”ž›™˜—”••–•‹‚ƒ…ƒ€€~}|~‚‡†{€zxxv|‚||ƒ‡‡‡‡ˆ†…„ƒ„„…†‡ˆˆˆ†…ƒƒƒ„ˆ‚}||yyyxwyy…‡„……ƒ…|yw{}‡„}{€„zwyy~…}}‚†ˆˆ‡‡†…†„„„…††ˆ‡†„…ƒƒ„„ˆ}~}|zzyyzy€Œ„‚‚‚ƒ€€€„ƒ}{~€zz||€‡~|…†‡‡††…†…„„…†‡ˆˆ†……‡Œ‹„ˆ|{€{{zz{zz|Ž“–€‚‚€€€‚‚~}}~}}~~‚|~ƒƒ†„„„………„…‰‡††ƒ~~¢¶˜Šz{~}x{{{|{yyŽ¬·€€€€€~{|}||||}}}}}|‚ƒƒƒƒƒƒ€„…„„†‚€‘£—”‰†‰‰‰ŒŽ–”}~€€~~~~~~}‚}}}}}~~}{zyz{{{{|~€€€€‚‚‚…‚©¯²­©­±´²®¬µ·±¥{}€~|}}}‹ˆ~€€~|zyyy{{|zzz{€€€€€€€€‚™ÂÌÏÍËÎÐÒÑÎÏÓÏ̱‡{{}~~}|}~€ƒ„ƒ‚ƒ~||}~}~€~~}€€€€€€€…š–«¶ÄÇÈÌÊÆþ¶§–”‘||{{}€€~~€„ƒ‚…ƒ~|||}}yzz}~}}€€€€€€€€†¬~~„‡‡Œ‹‰†ƒ~}‡« ~}||}~€€€€€~€‚‚~||~~~zwx}~|{}€€„¸Ç¶¡¨–‚…ƒ™±§®ÆΣ€}||}€€~…„ƒ‚}|||}|zxy~~|||€‚‚‚ƒ·ÐÒÍÈŵ”—µÇËÒÒÍ£€~}|}}~€€ƒ„†‡‡‚|||||||||€†€}||€‚‚‚‚´ÏÐË´œˆ†……‰ž´ÍÑΣƒ€}}}}~€€‚‚‚{{{|{|||{}~}|{{}€€€€«ÎËÆ“€‡‡‡†€ŒÁÇË„ƒ‚~}}}}~€€€€€yvvwvvxyz{zyxyz{{z{}€€–¬œ ƒ‚‚„………ƒ‚—‘š††„‚€~}}}}€€€€~zyxwwwwyyyywxyyyyyyz}~€‚ƒ‚‚‚€€’‰‚€~}}}€€}~‚zyzz{||z{|}||||{{|}~~€€€€€€€‚€…„ƒ‚€€~}}~€€€€€}€…„||{|||{||}|z{{{{|}}~~‚€~€€€€„„ƒƒ‚‚€~}}}~~€€€€€‚ƒ|||}|{||{yz{{z{}~}}€€‚€€€€€€€‚‚ƒ‚‚‚‚€~}}||}~€€€€~€€}}}€|zz{{{|{z{}}~~€‚‚‚‚€€‚‚{~ŽŒ‚‚~}}|}}~€€€€~€€}|{{{||{{zz{}}€€€€‚‚‚‚‚‚}|‡‡‚ƒ~~~}}}~~€€€€€€}}~}{{{|||{|||}~~€€‚‚‚‚€}}ƒƒƒƒ€~~}}}|}€€€€€€~|||{yyzzyyyyyy{{|~~~~€‚‚€€~‚„ƒƒƒ~~}}}||~€€‚€|yxxwvtuuvvuuuuvvw|~~~~~~~‚‚€€ƒ€}„ƒƒƒ‚~~}}}}|}€€€{wvvwwxwxyyxyyywxwz€~~~~~~€‚€€€‚€{{}ƒ‚‚€~~~}}}}|~€€€€€|zzz{|||}~}}}}}~~~~~~~€€€€€~zyz„“ˆ‚~~}}}}}~€€€€~‚„‡…‚€€€ƒˆˆ„‚€~€~~~~€€€~ywy}„Š…‚€~}}}}}}€„…†…‚‚ƒƒ‚‚ƒ†††„€€~~}~~~~€~zwx{‚‚‚ƒ‚}}}}}}~~€€„††ƒ‚ƒ……†ˆ††‚‚ƒƒ€~€~~~~~}€~zywxz€ƒ‚‚~}}}}}|{}€€~€‚‚„„…„…„„ƒ€€€~~€€~~~~~~~~‚‚~zxxyzƒ‚‚‚€~}}}}}}||}€€€€€‚†‚ƒƒ‚‚~~~€€~~}~~~~~€‚~|x{{{}ƒ‚‚‚~|}}||||}€€‚‚‚ƒ†‡ˆˆ‡ˆˆ„ƒƒ‚ƒƒ~~}~€€~~}}~~~€€€~||~~~~€‚‚‚~}}}}||}}~€€ƒ‡ƒƒƒ‚‚ƒƒ…ƒ‚}~~~~€~~}}~}}~‚‚ƒ„ƒ‚‚‚ƒ„‚€~}~~}|}|~€€‚…‚‚‚‚‚„‚ƒ„‚‚€~~~~~~~~~~~}}~~ˆ‰‰‰‡…………‚š~}}}}|}|}€€€€€€€€€€}}~~~€€€~}}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏËÄÆÃËÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÍÏÏÍÈ¿´¯¥ •ƒ}tijwkjkonreicW]b]]e^V]b_`VQOU[Z_d_gUVYXUWUTZWQV_^\YVLD?9;9533?3ÏÏÏÏÏÏÏÏÏÏÎÎÎÎÎÉÃÆÂÉÎÏÎÎÎÎÎÎÎÎÎÎÌÌÌÌÌÍÌÌÍÍÌÌÌÌÌÌÌÍÎÍÍÏÏÏȶŸ¦™vxta]ar|o]_nlg[Y\^_ZYVQ_f`]UPOQXX^hiiPT]bZQPMQSZ_b]VPMKAA86543077ÏÎÎÎÎÏÎÎÐÏÏÏÏÎÍÈÁÅÀÈÌÍÍÎÎÎÎÍÎÎÎÍÍÍÌÍÍÍÍÍÌÌÌÌÌÍÍÍÍÎÎÎÎÎÏÎͦ‹Štnmpnnopu}y_dadd[[\]\\TRV^dXZZVTSUTX\hdRPX]VMNNRR]cba[RHC@<953331/3ÍÍÍÎÎÎÎÎÎÎÎÎÎÍÍÊÃÆÁÈÍÌÍÍÌÌÌËËÌÌËÊÉÊËËÌÌÌËËÌÌÌÍÍÎÎÎÎÏÏÎÎÍÍÌ·™{nqwyv~ffb^fXcec[[XVaZTXgeRQTXXTOKVQYhRPTXYPNSPPZ`_aWUVOH?<86331-.ÎÎÍÍÍÍÍÍÎÎÎÎÎÎÎÊÁÃÁÊÐÏÎÎÍÍÍÍÍÍÍËËËËËËËËÊÊÊËÊÊÊÊÊÊÉÊËÌÌÌËËÍÀ’Œ‚†tcn{mdhaa`XjbZYTUN\a_aql\QPV]VNJTSSYS[\YUOQQW\_XXZRRYPI@?@<640-,ÍÍÍÍÍÍÍÍÎÎÎÎÎÎÏȹ½»ÉÑÐÏÏÎÎÎÎÎÎÎÎÏÏÎÎÎÍÍÍÌËËÌÌÌËËÊÇÊËËÌÌÌÉÇƧ‹yxri^lpoc`c`Y]`UT[SSR[fdgicgVRW[TPTWTTYRZ]bXTUSZ[\ZXTSPQPI@@>7642/3ÍÍÍÍÍÎÎÍÎÎÎÎÎÎÏƻſÇÏÏÏÏÎÎÎÍÍÎÎÎÍÎÎÍÎÎÍÌÍËÌÎÏÏÌËÈÅÊËÌÎÏÌÇŵ¡}}rdWSb^Z]ca_d_XVSLLUZ_`dh`\TPQQNLSQTQ`LTUZ[Y[Z^\]ZTQTPSLED?B;520.5ÏÎÎÏÏÏÎÎÎÎÎÎÎÏÏÆ¿ËÃÆÎÎÎÎÍÍÍÌÍÎÎÎÍÍÍÎÎÎÍÌÍÊËÌÍÊÆÄÄÂÅÇÊÍÎËÿ¼ª€|rWTRPNWXoqfcc]YMD@LZRZba]WURMMKINIQMXNRVVWX\\[\]ZSOTOWPDG@>=2//--ÏÎÎÎÏÏÎÎÎÎÎÎÎÏÏÆ¿ÊÁÅÎÎÍÍÌÌÍÍÍÎÎÎÍÎÎÎÏÎÍÌËÈÇÇɾ¸Â½Á¾ÅÊÈŽ®¡¨Ž|vbVYZXgj^oge^VURRXXdUP[]SOWXRMJGQQR\[TQY[VVWYWPQ\VSXRXV?5732/..--ÏÎÒ××ÑÍÎÍÌÊÉÊËÍÄÀÉÁÂÍÎÎÎÍÍÎÏÏÏÏÏÎÎÏÏÏÎÏÌÄÃÃÀĽº«À¸¾µ¿Ç¾¾·¦ˆ„~q†{f]`Z\elXo\U\SOTU_]XPPTXRRSVWMMNTRS[h^OVYVVVVZSL][Z\]NC<6541.....ÏÛêïïäÓÍËÄÀ¾ÁÅÈÂÀÈÁÀËÍÍÍÍÌÌÍÎÎÎÏÎÍÎÎÎÎÎËŽ¶½º³£º³½²´Áµ¼µ˜…}~ngcdbaT]b\We[S[^QSTY_UUTPONLLNSYWPSQQSdZNZ]XQMMXZPXXRNIA9=<962/---.ÝïЪ·ãéÍ¿¸³±·»ÂÃÃÊÆÂÊÌÌÍÌÌËËËÌÌÌËÌËÉÉÉÅÅÀ³¯ª®²§Ÿ¨­·±³¶­­£„yyvmlUaf\YcXS_j^W^XLQSU^`bUQNMMPSMUVKPUPS]^Za[SPLNYWRZPRXJBC=;;972....îÈygn¤çÚ¶±®®´µÀÅÆËÉÅËÍÍÍÎÍËÈËËÌËÌÊÊÇÄÿÁ²¡žœ¤¥›˜ ­®¬®©§™†vnlfkk\UWVa`VW]YY_VRVUTTV`YRTPPSURTUWSQYPRZaY_XZ]X]aTSZWTPA?G<877752011ãŠxxr‘Ì黯­¯²³ÀÃÆÊÈÃÊÎÎÎÎÍÇÂÊÌËËËÆÀ¸³¶¸»« •šœ˜“ ±®¬¡šœ’yieeUhaSMHPYcYSSai`bp__b]TWOPQPPRWSUTVZTZMP`^_hZc`jg`TQNNKL@>@8755664/03Ê‚‰wŒÂéŪª±±³»¸ÁÉÈÁÊÎÎÍÍʹÈÌËÇ·¥ž›œ¥§Ÿ—Š•š’¬­¡’‡veeh\]URUSQZa_\jm`QVcOXrpZQPJLMLHKMMNNNRZTX_VTYX_h][VPJMIGFEI?7555554/16¼‚†‚}‰Àé̦¨±²´¶´¾ÈƺÁÌËÍÌÉÀ´ÅËÈ¿³¦˜œž”™–…–•ŽŒ‘”œ’Š‰Š†€wuqcXTX[ZPX\WU]i]RQ^ffa_[SSMKKHJHGEGNLT_]W\WP\igfW]TMXSIJAAC9864434536=·ˆ‰……ŒÀæâÕ϶­¯­¬¶Ä»­³ºº¿½Ç½±¿Ä·ª Ÿ˜šž”–†ƒ…‚ŒŒƒ€Šˆ„‚„ƒ‚{xqaWVUV`[UXUSZfPPP_ieSS[YSMLMKKIFKIKSV]bTZRQmrde^c^UbZUUH<=;:7443365;?ź¸ŒƒÁåìïëÍ̯¡¢«¬¢¢¢¤¥¥ªº²¦¦ªšœ™ ˜•š“–Ž†„†‚†z„‹‰…}~}wtqjdXSYf\TUTV`[PZ\^^XRRRSSNLOQLOSQGDLPV`SSO_bb`Zej]RU^YHUF<<=:566589<>½¾¿“‡’¿äëåàã¢¯£Ÿ¤«¦¢¥¥¡•”“™ š”‘‹‰ˆ…€‚‚y‡„‚‚{|{wrjjfZX\SY_[V[[^ZW[Z\^ZTOKWVOLOLBDGFBBGIHSKQSZ^bZ`o[_Q\`[IFD?>=95677:>@@ª¾½–‹’¿ãìоÝêȹÄǺ¹²¶¹Æźª¡¡”Ž“Ÿ—š—ŽŒ‰ŽŒ‹‡†‚‚‚z€‡€~xyvsrnkfZ^dfdYQSYZ_^cYU^VX_[VRKNMOKCDFC@EGEDSHVX\Xbca^TdbVYYRLGEG;86678<@HFŠ½¼˜”¾ãìâÛééãäæååæäæçéëïÛš“‰Œ‘’Œˆ†…ŒŠ‹ˆƒ‚‚|€‹{ywpttoibX]ea[TWPS`gcdXPSSi]cYOQRQJHEHSKDJKLFPR^^YNZeddWbcVSX_RFAB<:8878=>85568989:9<@@@?K{«bÌðììììëåÚÈÀÀ»¶¨¦™ŒˆŠ]ISZaimQTaWCCBKknlg_FU}~}tswzyuqkf]UNMXY[SVY]\YKZa\]Y[aWLLTPMKMPOQTWYX]jaX\`bafmonnpmd^ZSkkB<;99>BLQVk‹PQQSTUWHDEEECBBHRTTVVQLB<:OpKHJJDZjeS~˜š“UUB=eqmbH9>?R–Œƒ`|O54T˜~FPLIGJNOOHeyW89FŒ^tv{|qijlmha][W_[OOWWOOT]\ZYZ^^UTOGAAGJC>CQQJT[b‘^aoj^VLUSL7:;<;`YFHMYbSII±ìÅwHTWMNMMPNHEBDŒØæ™X‰C:;a™mF;76;LLKHk‘r962vxdusvshfisyfYVWSSRNVXPOZ^[X]b^YPSUPJFLRJ=@OTOejwZIF>377:LNICABBBB::;;;:ReHJX_lPIL«èÍ°ž¡©«¬¯±°°®ª¦¢µÎɈ_†BJG\†nJA876<;9>…¢h763]Xspmmhgebl_UW^XX\TQTQTP\_\e_WUSPIHHEHLHEINPRglŽ‚W>H<8::8FH956=5347==:ADFD87AcJfo^]LJKj¨ÓÛáååçììéëðîëÙsT[ˆkdvOkLjXMJQX[ZPRLUeyPA>9Gl@dO=;Adfbab`VY[[VSQPNT\\UY\WNRZUQX\\swelnbZVyšXH?D@?rƒE<7456548>@A?:6;]H[j\YB>;i¢×ãéíï༻Ý̶ÊòÑ;7:VP@==@6;A?>DEECC>;;9JQLK@8::D<586Ebfa_a^Z[VVVW[]TRZ[ROOW`[Z[ezƒ‡ŒƒcepZWclwJMJJEB^y^BGC83339/AY><9:9997666687888789:;<>DN5:B>RURMsqqrstx{{z{|~€€€z“t@Y?=;;9899988888888:9::;<>?EEinimoopqrtuy{zxwwwwxxy{~ƒˆ”¥³µ®œŒsmmllaOPMQciQRA99?HGFILThjkk]ECB?O¢Z]€ƒqcRGD.1148=HVm˜åñðñðïìÊ…VhJE99=;9863;J>;69AH@9;@GQTvbHCGE@BZ^|œxbjjfca`cgfebaa_]_^^D7DKNOSX`kmnm„æñëéëíîîóÝukjlh^WSOLPÌÁr]ehhilmoprrppqoidc>93//11;?=AG=5Bo“¬~b@=@GVXQDBAVOD?=ERUSKDBBBEEI`^_…[Ukkjgd`abcffdca`_^`B3DMPQRXcjgffp¶ÐÎÌÊÈÅÄÅ©^SWbh^WRPLVÀγb\begiklnqrpprqnje<760-/138;;<@CEQZuo\ZZYXWWXY[\Y[Z[\[Z\[YZZ[Z]]`gRYQchhjjifdbadghgfdba`?2DMPRbecbS>/04;@HAKG;<8/.DL]hŠwQJW­ÄС[]dghilmnoooqqqnh;581/.-,,,,+,-./5Pƒmp]^]\[[\\\\\[[]^XWX^chpv|‡‰Œ…~‡‰„‚}potifcbdfhihfec;0CHGjÃŒdSKKFGFGOgV`^TYUNMQRRnÕÁT@Kz¶ÇÏZaeghkllmnoppqoh9582AP?8421-,,,*7[K^qW[[[ZZYYYZYXWjƒ{‹™¥«­°±¯±°®­®®¯®°°³³¬nijhdcbehihig9.B@>tχ___H@GFFFHDBBA@@<4Of`b‡LAFP¾ÊÉu[cehikllnopoog]76741EKKB76.+.02Bte€rUYXZZYYYYYYX]…’°ª¥¡›”‰„ƒ„~}}yxy‚‡‘”gnojieabcegjh9+==?Nhaagk^HB@ELKMRSSUUQWjpl`TLCBEZy®Âͱe^bfhjllmnonlf[;442257870-/36:;RuƒynlcYZZZZZYYVnt†zog`ZTTRPTVPPONMMOPSUY\rujkkgdbbdfe9*;;9>HP[gotmighgfhhggebced]VKD>8:BWXx¹ÄÍ _`efgillmllkjaM921220.///0110,Ou’~€Ÿ®šg[[\[[\ZWuyURJIHHIJLNM[_GGFGFBBBCBA@D`lkkjhdbbcc8&839./245455555444100/.+(())))1NJARKNˆ¼ÃÍ[^adfhijkkkje\SMKMQPPPPPPQRSQTr†w‹ÛäÙ§d_ac`aac‚O???>=<<<::776799:98877888:Dflkkkjgdb`7&77`L0*+1*''&$$$#%&&')*08D]H#)BVKA^SMV˜¼ÆÅxU]_beghkklljda_]]^][ZZZ\^`cdSntY„æÙÜè˜fmprsq‚{=:;<<>??AC=<97778888>>Wljjijg^UQ4'7448?<=?>=;98877888:;=AEIOI"!'*7=fYQK`¨Á˽m[`begiiklllkihfcb`][ZZ\^aceU_ZGeÓ»Áô·iwwxyx˜_><@FFFCBCA=ŠŒH@D=:65567766>AFeigfdb]QL4(61*-;<;;<;;:88999;;<:567765#&2468lcRNJr¸Âаc^befhijkllmkjieca^\[Z[^`bcTRIGI^a‹Ûœz£°³¼ª˜GA:698878<=Ba_>9<8755555654:B>XgeffffaT:,2-,240.--,++**+))))*)''(()*#'1105nqgSMN‰¼ÃÒ›]aefghikklmlkjigeb^[Z\]_`bSGGFIMT_n}½Èƒrk›Š;B648<:86@D@IC875544;FC:6547A?Jdfeeedc]P;2./2212467786766669:98:=AEEHJMMNQkmv_OLWÀÉÍ„\cefgikkklmlljihea]\\\^_bUDGGJPS[eˆØ¤14;œm;?336GWA2?L92023356Y¨P><12Qf]RTVbc`_]]]\]\\]_dhhhfb_^]]^^^\ZYZ]bgjklmrnmndTVi‰½ÉÓ»k_ddfiijllllmlljhda^\\]_U?DGGNW`l„¹£V„¨??:56E‡‹ŠQ:82/00146DELQ^^\^K54B>IdO243Hfdbcccbba_^]^dikmjfb_^^^___]ZZ]aehjlnoomhYPRS‘ÄÆÓ©_`acefgjkkllllljgc`]]]_Q9BHEKQZjdLE<Ån;@>BCHD„ïfB@QGdO@869546565689?BA==?<:::999;;B:\rggedccddddcdeffea^\\_dhlkheb`][[ZYXXZ[\ngdgicc`UOLf¸ÆÏÎyZaggegghijkkkkihfc`_N3>@A@BGKFEGIIIJLLLMMKHHKEuP@gcacccbcdddddeefeda_^^`chjhgda^\[ZZYYZZZlhhgsnjdTNNM…ÃÇÔ´`_dddffhijijkkihhfb`P/9@GO‡«‡Zf{±¼`e…W@GQTZ^ceiillmomnnnoppppoqqqszeƒJakqcabbbcddddeefeedbb_]^aghiifb^ZZ[[ZYYYomhhqosjTMOMW¨ÅÊÔ˜b`bdffghiijkkkiihdbQ*69CGIQ[dj]€­Rj\hvutrnkjheab`^]]\\]^^\\]_adf`l~w^ºä®fabbcdddefffffeecb_]^cgilkhc][[\[[[Zjrlhpptsh]PNKu¸ÃÐÌu[befefhhijjkkkjie\I)53798656>>??@???@AABDDDCDKhofbcbaabddeeffedddfhged`^^_chijhc_]]\\\tqlknnjhjleMJK`­ÂÊ׌]bdffhhijkjijiebYD*213/7>ADDQ_€|dIBCABB@??=<;;:;;:::::;;::;;;=>?>>>@Sniccbaaaddcccccddbdfgfdb_\\^cgjkid_\\ZYomlejlpsookRILLz½ÁÑÆo`dffhikkkkjjjhgcM0.--,-+++1Ko”kW@<=====;;:8889898888778889::=<9::=;;Qcdbbaaacdccccdfeeeeggfdb`\\_chkljfa\[Zkeeehlstpst`LJXh˜¿ÅÕ«bbefhikkkkkjjigcZF/./0.++*-Ojs[H:;9889;;:8889:::;=<===<<;;=>@Rhipƒf;Tfca^^bacddccdfffggfghffc`\]_dhlmkie_^fkkgopmmqrpkUJMMX§ÃÇÔ‘^begghjjjjjjige_VMKKKKLKKCPZbQd{‚gelfOCDFEDEGJLxkKIHHGEFLJh«ÑçÖ°²Ýœ5Ogd_ŒÀŲnacccdeffgffgffffc`^]`dilmmkfdyssqurljlkimgLJLIoº¿ÍÌv\bdfghhghiihgfc_\ZZXXYXXQKKOD²×µ¯ÎéáΘKMOUXZbo}w{rvab_[HI’úäÆ¿Ôâò‚2KfdcuÇáá§^bccddeeeeeeeeeffeb^[^chknnlhzslljijlnlePKMLM‘ÀÀÔ±]\adefggghhhgffda`_^\[ZZUID>;ŸñÜÕ¶¸Ùø½Q>IQSPk¡–—œ‡A;983GkŸÛÞàÜÔ°S2Ggdebipomabcdcddeeeeeeeefffea_]^chlnnkqwsuunoimonlkeZNLI_´¿ÊÔƒX`cefgfgihhgghgecb`^][[WID58hÍæäâÜׯui5--++Mj…ˆˆˆa:566Ca‚gkkbYL;81Dgdedb_`_mkcdddddedeeeefffeedb^\]bhlmmmvsutmpjjlllotiRKKL’ÅÈÖºcbeghghhiihhhhhgedb`_\[VJE26=Mafhhfjƒ˜r>?A@;{£¦”‘UAC@B@~ŸxcTJB;642Efddeecdl‡xdccccdecdddccccddec`\Z]chlmmtoommnjgjinnniSKJKe»ÇÏÖŠ]dfgihhhighhhhgeedb_]\VLG2796;?HQbv“¼l@Rkrv ¶––¡¤škP•§zdRI@;90.Effdddccc^\accccdcbcdddcedddddb`^\]bgjnlousplmnoghkkkUKJMM”ÈÇÓ»d_bdfggggghhhhgffec`_]VNI1335@?JR_t‘m£ìîððïððñòðóê|d¼ }dRIB<;42Feedcccbba`adc`decbddeedefeddeeca][]cgjmoroooqtrmjlmgVNKLKc¹ÈÍÖŽ`ffghhiihhhihhfffdb`_WOK1169??KQ]sŒºÀ^ ïëêëëëëìéÛëæqgÃhXOF?;9>Keddddccbad£À½—cdccddeeefffeeeedc`][]blklosvvqumkmlkpePKJLLŽÉÉÕÁldfhhhiihhhiihgfgfcb`WCC:GA<@CLS^w“½ÆY–óïïïîîðñòòôîkuÓ¬„gTF:40.2Ifdddcccba_Šäïçœcbcccddeeeedddeedb`][\kpvsprrnpjkjgitcMKLLK_¸ËÍÖ™afghhiihhhiiigggfedbY7<=:325:?FQe®ÙlvÑÕÕÐÒÒËÁ¶­­—Mw‡[G7557>1.3HeedccccbaaaŽ°±¡g`bbccccbdeccdeddca`]Zqwvqjgjookkkwstf`YLLNQ‰ËËÑÉubfgijjhhgihhhgffefe]58>5108@=96:EGnd5BDDBGL@;74424e@BJ81eÆÁM,6Hdedddccbaaa]\\^aaabbacdcccbbcdccbaa_[ijkhbaaijs}wuwqjpgQLNS]±ËÉתeghijiihhhhhhgfffee^>C=710•É¸C8<<80/3;6537dFIgol}€‘wcanjQMFCCM745532339Hceeedccccbbbbaaa`acbcdddcbca`aaaaacca…~uztrjnvpkjpjcccVLKK^e¼ÄÌØ’^bcdeefggghgghhfaY.*=:625557669JFHDEK\b\k\Y\XNMNKKH4100.//02Ecefeedddccbca```bbccceedccbabccbabccc‚zz€ysoscair{skmfZMLKV][šÄÄ×ÁgaccdeeeeeefgffaWP.(=2/.//../03=?<:<9532@3ÏÏÏÏÏÏÏÏÏÏÏÎÎÎÎÉÃÆÂÊÎÏÎÎÎÎÎÎÎÎÎÎÌÌÌÌÌÍÍÍÍÍÌÌÌÌÌÌÌÍÎÍÍÏÏÏȶŸ¨šx‚z‚u`]aq{o_aokh\Y[^`ZYVP_h`^UPOQYX^hiiQU]`ZSQMRSZ_c]VPNKBA86543087ÏÎÎÎÎÏÎÎÏÏÏÏÏÎÍÈÂÅÀÈÌÍÍÌÍÍÍÍÎÎÎÍÍÍÌÍÍÍÌÌÌÌÌÌÌÍÍÍÍÎÎÍÎÎÏÎÍÁ¤‹Štompklllt€y]bbedZ[\]\]TSV^cZ[ZWTSUTX\hdRQZ_VLMNRR]ca`[QGC@<853331/3ÍÍÍÎÎÎÎÎÍÎÎÎÎÍÍÊÃÆÁÉÍÌÌÌÊÊËËËÌÌËÊÉÊËÌËËËËÌÌÌÌÍÍÎÎÎÎÎÏÎÎÍÍ˵˜‘|knt{v~hfd^fY`dc[[XVaZTYedSRTXYUOLVQYhROUYYPNRPPZa_aYVTMG>;87331-.ÎÎÍÍÍÍÍÍÍÎÎÎÎÎÎÊÁÂÁËÏÎÍÍÍÍÍÍÍÌÌËËËËËËËÊÊÊÊËÊÊÊÊÊÊÉÊÊÌÌÌËËÍ¿’ƒ~vcl}mch`a`VjcZYUUN\a^`qnZQPV^VNJTRRYT[[YVOQRV[_YX[RQYOH??@=640.,ÍÍÍÌÌÍÍÍÍÎÎÎÎÎÏȹ¼»ÉÏÎÎÎÎÎÎÎÎÎÎÎÏÏÎÎÍÍÍÍÌËËËÌÌÌËÊÇÊËËÌÌÌÉÇÆ£‰zysh^mpod`a^W\aUS[TTQZfefhdgVRW[TPTVSRXSZ]bVSUSZ[]ZXUSPPPI?@>8641/3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻŽÅÎÍÎÎÎÎÎÍÍÎÎÎÎÎÎÍÍÎÍÌÌÊËÎÏÏÍËÈÅÊËÌÎÏÌÈÅõ¡}yqgXUc`Y^a^\b^WVSLMVZ`aei`\SPQQOLTRTQ`LUU[[X[Z^[]ZTQTPSKED?C<420/5ÏÎÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÁÄÍÌÍÍÍÍÍÌÌÍÍÍÍÍÎÍÎÎÍÌÌÊÊËÍÊÆÃÄÂÅÇÊÍÎËÃÀ½«‚}rVTQPNUXnoebc\YND?NWR\bb_XURMMLIMIRMZNSVVWX\\[[^ZSOTNWNDI@?>2//--ÏÎÎÎÏÏÎÎÎÎÎÎÎÎÏÅ¿ÊÁÃÍÌÌÍÌÌÍÍÍÍÎÎÎÎÎÎÎÎÍÌËÈÈÇɾºÃ½Á¾ÆÊÈż±¥©€zuaVXXVegaogg_XVRSUTdUP\]UPWXSMJGPQQYXSQY[UUWYVPQ\VSXPWV?7712/..,-ÏÎÒ××ÐÍÎÍÌÊÉÊËÍÄÀÉÁÁÌÎÎÎÍÍÍÏÏÏÏÏÎÎÎÎÎÎÏÌÄÂÂÁżº­À¸¿¶¿Ç¿¾¶¨‰‡€rˆ}fZ_\]blVn\V]ROTU`]XOPTYRRTVXLKLSSRZh]NVYVWVVZSL]ZZ^^MD<6531...-.ÍÙèïïäÓÌÊÿ¾ÁÆÉÂÁÈÁÀËÌÌÍÌÌÌÍÎÎÎÏÎÎÎÎÍÍÎËÄÁ½¶¾º±¢»³¾²µÁµ¼¶š‡}ojhbbbTYd^Ve[S[]QSSX^UUTOOOMLNTXVQTPQRdZNY\XRNNXZQXYRMJA9<<962/----ÔíÕ©¹åé̾¸³±·»ÁÃÃÊÆÂÊÌËÌËÌËÉËÌÌÌËËÌÊÈÈÅÆÁµ¯«¯²§ž©­¸°´¶®­¢ƒyzwllVbe[XaYS\i]V_YLQSU^`bUQNMLORMUWJPUOS^^Za\TOKLYXSZPQYJBB=;;972....ìÎ}go¢âÛ¶°®®´´¿ÅÆËÉÄËÍÍÍÍÍÉÇËÌÌËËËÊÈÄľÀ´¢Ÿœ¤¦›—¡­®¬®©¨š…vnlhkn^WZV`aVV_\Z_VOTTSUV`YRTOOSVRSUWQPYPSY`X^XY[UZ`USZWTQA?G<877752011äŒwwrÅ踭¬®²²ÀÃÆÊÈÃÉÍÍÍÎÌÆÁÉÌËËËÈü¸¹·»«Ÿ”šœš“ ±®« šœ’{lgfUhcTMIOXbYRQ^ibana_`[TWOPQPQSXSVTVYSZNP___i[c_jf`SQONKLA<>8855664/03ɉw‡¿æ¿ªª°±³»¸ÁÉÈÁÉÍÍÍÍʹÇÌËÈÄ»« žž¥§Ÿ–Š”š’ž¬­Ÿ‘‡webgZ]WQSSQZ`a\gnbQVdOWqoZQPLMNLHKMNONNRZTX`UTZX_f_[VQKMHFGDH@7555554/16¹ƒˆ‚|…»çÆ£§±²µµ³¾ÈƺÁÌËÍÌÊ¿´ÅÊÈ¿¶©šœœ”˜–„–•Ž‹‘“›‘Š‰‹†€utpcYUX\XPY]XU]i^RR_dda`\SSMLKHJHGEGNLR^\W[VPXfggU\SMUSHIAAE:854435527>­‚‚„„Œ¼äßÉƲ®°­¬¸Æ¼®³º¸À¼Ç½±¿Ä·ª¡¡š›Ÿ“•†ƒ†‚ŒŒ„€Š‹‡„ƒ„‚‚{xqaUVVV^[VZUSXgRPO^hfSR[YTNLMJKIEKJKRV^`RZRPltdh`a\Tb[UUF<;;97443475;?µ¶Ž‚½ãíïèÇÆ­££«­¢¢£¤¤¤ª¹±¥¤«›œ™ ™—œ“–Ž…ƒ†‚‚†‚z„‹‰…‚~~~~wtpjdZSZh[SVSU_[NW[^^XRRSSSNLPQLOSRGCLPVbTSN^bdaYbi^RT\XITE<<<:566599==·ÀÁ–†¼âëæãã﹜Ÿ°¤ž¤©¤¢¤¤ ”•”™ ›’–‘‹ˆˆ„‚‚zˆ…ƒ{|zwriig[VXQY_[V[Z^[V[[\_ZTOJVWOLPLCEHGAAFIJRKRSZ]`Y_r`]O[a\HFD?>=95677:>@@½¾˜Œ’¼âìϼÝëïºÆ´·±µµÂ¿µ¨¡¡•Ž’Ÿ˜›—Ž†ŽŽŒŠ‡‡‚‚‚z€‡€~xywsrmnhZ]dccYRTXX^]bYU^VX^ZURKONPKBDFB@EFFCRHUX[Xca`]Se`WYXPJFEF:86679<@HFy°¿˜”¼âíÞÑèéÞÛàÛÜããääæéíšš”‰”‘’Š†ƒŒŽ‹Œˆ…ƒƒ‚|€‹{ywrtsoieY\fb[SWPR^gbdXOSPg^dXNQRQKIEHSKCKKLEQP]_[O[eddUadVRX_SGBC<:8889><^~ü½ÁËÚêëëëëëéçåâààÖÎÊÊÆ”…‘™Ÿ¦«¬¬¨¦¢¦©©¨¨ª¥£¤ ‘€ˆ„}zxz{wvp_Z^`UXVUW`YQM^u‚tg^\gSUNMTTNMJDAMVSSTRP\bfe[SYY^_U]XTYJ>89<<8::::>>>COTV_[\bfkb`_Z\VZVSWVRC;8977:9999;@@@?OT®m‘îíììììäÚǾ¾º¶¨§šŽŒŽ„’^VRQRX]e„gSRT[c`\VLO|~}tswzyupkg]TMM[X\TVX]][JZaZ]Z[`WKMUPMKMPOQTWYX\mdZYYWTUWSSPQKA951Zn54479UImywnjpwzphc_PRTEGPTZ]VRTRSV[WWXZ`]UMEDBDHIFGGJUX\X~…Ÿš—’ŽŒŠ‰†„‚€‡ŒzS9@HIIi¡ÉÁµ»³¨¤œ˜––™š¨±¢}{{€zMTx¶´°ª¨ž¹¦}•ƒOSOB853PaWxuqtnpvrkh^RVXTY[_]XGERX_X[YXVX]VOJDDA?@?>=BMPX^p”cib]XUTTTTTSQQQRTTSSVST?AHKKÝóº{»¨¤‡IFGHRLFGHIEpŒxzz…gcN=]ZOJXVq€tlONTeZ84@vOrtvukmtlig]O]j]UT[\YQOWY[c_ZW\[VNHEAA??=89=DIJ[cuuJW]bimnH;=<;:::HX\]^_aNJFHDPÉÕjž¨fBBKtƒrngPLFO•xvy…Yv@2556:NOMLMKLOG[xe>:p™\fx{vnjoiicc\gpcZNR\\WSTYX`ZV\g[PJCB@ACA@?DIC?K[d„_}œœ¡§ª±?989??DSXOIIEkiKLJBXfXMcž—¦W]I=UpdcL8:?;†Ž›‚Z|668cxKJPONMNNNLV{dC8bŒzUx}zqhjlmfb^]X_[OPWVOOT]\ZY[^^TUOGABGIB>CRRJU[`f’[~¥­¥“ˆrQD7@HHIOE;:9;BjOJLXaaLDzïÖ—GWXROTPVYOJJEmÀô²pft38<}›sLG><J;798>KG=;<@BC?=>>=9:PeNkhkUDMc»ÓØØÙÛÞàÞÝÝÛÚ×ÚáÉ‚|aˆWIMLh‡iMKB>>><86N˜ŠC974{[tg]``\ZjeWPY\_]YRMPXTZe``[QOVTMF@>GR\WZbgle[fœkU8H88BH;@?434;CA=5v|QvMAB[fcbb`UX[[VTQPNV]\TZ[UNPZTQTXUlxejul^UWxXK:A9Ajve?94456878?BC@75@aHelY?>9RËãèìïæ± ÇÏ£¯áóƒ48gyG^IVT@IABKVXWQLHGLYnZLF;8D@CN;>6Qhb^a_Z[VUSUWYPLWVNNOTWWYX`s„‹…edpjVZ]b‚’IHBFBCt‡pA?844558=@ABB>8:^FRhcSQSe€ª¿ËÎÇÄŸ¡¸À« ½Ëg054>M<8657:=97767897877?@AC:;;FE05abOEDRfGDJF9455?IKKKKI@9SDIbcsqqsstw{{y|}~}}€ybXP4ZM<<;:88999878888898889;=>HE>\elnnprtuwz{yxvvwxzz{}…›©¶³¨—‰|qllmmmZR]bvnB^|I::<<<;?K`IHrpnmmoprtuvvutuwy{|“º`MH;;:9888877778888889889==>?bthijiigikkostuvvuvvtsrrropsz…‘ž©°®§ž}qcQTTFf}aUOEAIPLMNOU[\^^VPPNJEOamkZvrnljkmmorrssqpopqtwyŒ¹lI?579866776666665556542479BJnwosssqpplhefgjlnpsuvvvtsponoponqv|‹ž²À·›„­uxvyplfVRfnnmmlklkjknoodXchhp‚tWzwrolkkkmnnpqqqqqpppq{¢qUeY=465555455>@555548Rfz…’Ÿ¨¬ª¥©¬¬¬­¬¦¦ž•fbeehlortuwutspmmooppnln|–°µŒ­obf_ZZZYoka_^]\[[\\^ahi\ZZZ]_YPyxxtplkijijmnoppqqqrqsxkj¢ª¢E144344579976539‰ž¢¥—“Šˆ†††…„…ˆ‘“˜…bdbcccgjnqsuwwvurpnlnopommxv¤}fVXYWWWX[ZXWWWVVVWVWWXXWWXXXXXUwwxxvqliihgiklnnooqqqviIz ´ª’I0232215_ŠrD@‚†9>_ÐòÛäå¡GlnppqrsstqkgcabbbcdfiU30../2?FIkV[jqw³ß£ypŒceƒäßàààã»M]e_MåÝÛØÝæ–^g^kilonkhdbbbc__`bfjopqrrucFKSH…ÜÑÕÙìºQAB­‰8‘ѽOWÃjCGµòÌǯ¤fIjloprssuutpmiecbbcccgL.-258;@IS]o’¬¹ÄÒàÑÍ·‹Yi_¦©¨¬´¸€BUofVƒÛÜÖ˹©hDuUfffimpomjgfggfc``bgjmpptdBDKNTk~ªªçðqE?jÒl„ЯY³¬HLZ¿î¬eTOMhjlnpssuuusqnjfcbbbbeO/-057>FP_vÅóíîíëìñЀWiD999:==FWp“¯ºòíññòòñ»m^bI?7:::8::BxrUP:5::;;IAXaYkkiecegjmnifdcdda`__cglaCAGJNSWY\^^bjpt†×çéæã¬vqhdbac]YTOL^begjmnpqssssqojebaabS20115:86;OO?7;:EiRilmkgdcdgiihgeba`_^]^_a\C>HJMQVYclruux~†•®Å²Ÿ’‹ƒ~{ytj\WTOL…\ceilmopqrssrpnidbabT4403?wÝ“F?E[PNMNMP~šTgKIGCVYODC:544464X¤Ÿ]8;88hRekjklifdcceghgc``_^]^\[YBBLNCEfy‡Ž”|JDIGHNRRJHCRJD<6HMNPTYbklomˆëôðïððñò÷Ýtljih^UQOMÀγb\begiklnqqpqqpnieS3;/./13;>ABC@DV}˜Ÿ…sUAADNYTKDCMXIEAENUWTKGJKMNOUgXinN\llkjgdbbdghgedbaa^;4HNQRSYdi`WV[ˆ›˜••“Ž‹vI@J]f_\TQN®ÄС[]dghjkmnpoqqqpmiU0;1-*.0257569;>H^†ˆrh_]\ZYY[\\\Z\]\\\\\\\\][\\]]dbNQ]hhjkkjhfcbdgijhgec]74FLN\od[N;*+,/3C7JI88749LHYmª•RHz·ÇÏZaeghjllnooppqolV-<41=1-,+**++++,?]vmf[\\[[[[[[ZYZZZWVUVY\beimntz|jyƒ}zvrkprjiecbeijkig`32FEDŠß„bTOMQRPQVeUZZTXUNGP[UkμS@Q¾ÊÉu[cehikllnopponhQ,:52IQF?873++++(TROpbWZZZYYXXYYXYWktn~Œš¥¬®±±±±±±³³±±¯±±°¨ˆojkiebbbehjjc11B>@t«q`cdG9<<<@?>>?@A?88Xhd`ngGAYx¯Âͱe]bghjllmnonmj^L-:523BFF940-069:ar|‚cVZXYYXYXYXXW_„›±¯«¨ œ˜”‹ˆ†‡ˆ……ˆ–ž–dlmkkhdbabfhd1/>=>IXZajpiWOOUYZZ^__abbktqj\PGA@XYy¹ÄÍž]_efgikmmllljcQ551110/0/,+./237aƒ~yxtbXYYZYZZXVxŠ„zrkd`ZWUSQPPRQQSUX[_caxtjkjhebabdb1,:86;BHQ\bhda_`]\]\YXVSSSOIE?957:RJN‰¼ÃÌŒZ^acfhjjkkkjd[I988:;98:;:::;:@>XjihgfcXOK-+72*/>>==>>=<::88;<<;;<>??BA=:65666667??Idhgfdb]SK/+40+1:8877677532334444311220"'445mpeRMN‰½ÃÒ—Zaefghikklmljhgfda^[[Z[]_a^PKHFLV[¦À}š¶¹ºÀ¶‘B@98:9989=>Lqd>;?9654445555;A@Zgffffe_T;..+*1/+*((''&&%%&$%$$%&'()+*(+122jmw^OLXžÀÊÌ‚\ceggikkklmljiihea]\[\\_a_KDIGMQY`l–Ü“WRN’|:A538::86ABEE=8766447>=75547A=Mefeeddb\SD95588<@DGGDBBCCCBEEDCAEHLQSXYY[]rpngXPLd¬ÃÏÅu^efghkjklmllkjjhda^]\\]``LCJGNRV`q¥à]49E£_<>237BF;3BK82233455:WYLE<744>?D^ffgedc_\ZWUUUVX[^cffca^]\[[\]][XXX]dhijklqmmndSUg‡¼ÉÔºk`eegiijklllllljhda^]\\^aK@IFNX^erœÜoCDg©I>:129d~I05;3011345:BJJOQPH:3:B?Tea\]^cba``__]]]]\_diijheb^\]^^_]ZYY]aehijmnomhYPSTŽÃÇÔ©``acefhjkkllmlljgc`]]\]`J?IFJRZfs˜Ö…q»²‹>@834N‹†ƒG751000146CCJQ]]\\I45B>KeP456Ofcccccba`_]]`ejllkhdb`_^_`^\ZY[^cfiosrondRMMX¤ÆÌÓŒZ`bdfgijjkkklllifc`^\\^C=FEHNU`qsnOWѶf:@CWL673>eddeddcccb`]\_chkmlkgdb`__^\[YZZ\_eoutstvjUPJm½ÈÒÄl]bdfgijjkkkllkkieb_]\]?;FGGLT_bA9@@€R9AAX`>CFECBB:10013@HNLOfdWQI82;;<<643/?ecceddcdedca]\]`ekllkhdb_^\[ZYYYZ[\opmlkni]SMM–ÆÊס[`cffghiijjkkkkjgda^]]>7FIHXf`L7JXJGME9EVeV?@@@?=>=:7655;5>HK§èÈaQ[xš¬dP=47789::;<<=?CC?@BAAABBBBCC@@@>’ß­fabbcddddffffffdcb_]^cgilkgb][\\[[[Zjqlhpptsg]PNKt¸ÃÐÌu[befefhhiijkkjihgca=-7>EFGQ[conšªGuŽqN`mpqssrrpmllkijiihhhhfefhjlqdt…kd³Æ|^aabdddeffffffggdba^^aeiljhc]\\\]]]sxqmqrpmoq\MKP‘ÂÇÖ³`adfefghhjjjjkjihcY9-54964244RQTr`ym_TQTOKIHHEDDDDCBCCDCDCCCDDEFHHHIJSoldbbaabbbddddcdecdefedb`]\^cgjkid`]\ZZpmnejlptookRILL{½ÁÑÇp`effhikkkkjkjhebU8+2110=<<><<<<===<<<<==>?@@?ACZuebbaaabbddcdeffeeeggfdc`\\_chkljfa]\[mgedhjstpst`LJXh™¿ÅÕ«bbefhikkkkkkjigf^C/,,+-+*+,5S}‘oW@??>>>=<;:99899999:9999:99:;<==<;9:A[fca^^``cdddcdffgggfffffc`\]_dhlmkie`^agkgmommqsplVJMMX§ÃÈÔ‘^beghhjjjkjjjhe`V=..22/--+1Sx{^M:9::::;;:88888775689988888:<<>ACM_]HBXf`‘¿À§hacccdeffgfffffffd`^]_dilmnkfcxssourlkllikgMJLIoº¿ÍÌu[adeffhhhiiihfc]TNLMMNMMLBTejQFQVF>A?:<=<=>ABCG_XIIHEDCDFFLj˜»´›¦Ç˜9OgcvÊçâ ^bccddeeeeeeeeeffeb^[^chknnlhysmlkhjlnkdOJMLM‘ÀÀÓ¯\\acdffgghihgfeb_[ZYXXXXYMOPUN¤¬©–³¿®†^JMJJKORO|kYTWWUSPLJ˜îèØļÊì˜3Kgebiurqbbcdcddeeeeeeeefffea_]^bhlnnkqxtttnnimonlkdYNLI_´¿ÉÓX`cefgfghhhhggec`__][ZZZQMBCFÅÝŸ¼Ðäø¯HHU^bbyŸ–•§™–WVSO:G|ÓåÑÚïñâp1Gfedb^_^iicdddddedeeeefffeedb^\]bhlmmmtttumpjjlllptiRKKL“ÅÇÖ¶bbeghhggiihhhggebaa_]\[\QJ@;<•óïêÓÎáÚ†V3542/[t‚~wf3+++9Qsl•¢”ƒ[>0Bfdeecdkˆzccccccecdddccddddec`\Z]bhlmlupolmnkgjinnoiSKJKe»ÆÎÖ‰^cfgihhhighhhgfddca_][[QJ@6:N€”ž œ’rxM79<:J‡¨©¥¥aBDCDIt“r^RJC:552Cfddddcc_\bccccccccddddedddddb`^\]bgjomnusplmnoghkkkVKJML’ÇÇÔ»c_bdfggggghhhggfedc`_]\RK?0577=BGO]s“¬q8@DFAe‹•uqa_b\OBŠ§{eUKC<810Dfdddccba`^ba`decbcdeddeeeddeeca][]cgimoronnqtrmilmgVNKLKb¹ÈÍÖŒ`ffghhiihhhhggfffdb`^]RLA/656?AKSbw•Âia¾ÅÏÐÞçÜßäçéÜ_ª£|dRIB;;0,@edddccbad›··bedddddeefeeeededc`][]bmkmnruuqulknmkpdPKJLMŒÉÉÕ¿kefhihiihhhhihgfgfcb_]RPE0/28??LR_v©d­õïîïììííêßìæueÄ›~dTLE=<9;Edddcccba_‘æïå•bbbcccddddeddcdddb`][\kousprrmpjkjfirbLKLML^·ËÍÕ—afgghiihhhiiigggfedb`RLD5@=8----1Ddeddccbaaa]\[^aaabb`bcbccbbcdccbaa_[ijlib`aijr|wuwpiogQLNR\²ËÈשdghijiihhhhhhgfffedcU3;;2/0/14=?JYu¦cUƒŒ†ˆŠvia\VI6kS@B43Cx…B-4Ededdcccaaa```abbccbbcccaabbbcbaaaba_tnkmismqistuuu~€m^TKLLL}ÅÅÎÔ†cffhghgghhhgggfffeeV5;=5/2j}k:8=K;Ob25569CIEF633421016Ebfeddddccccbaa`bbeghfefedccddcbaacdc…††‡‡‡‡‡‡…†‡‡‡‡††††‡‡‡‡‡‡‡‡‡…„‚~}xutttwxxxyyx{|zvuwzz{{zyz{~€€€††……†‡†††††††††……††††††††‡……†‚|yvutuuvxxxxwz{zywtvwyzyxwy{~€€€………„…†††††……†…………††††…†………„…†‚€{uwwwwwyzwxwz{zyxvvuxyywxyz}~€€€……………†……††……†…………††………†…„…………ƒzyywwy{{yxxz{{zywvvxyyyyyz~~€€€†…„„…………†……††……………………„ƒƒƒ„„„„‚€|yxwyz|{zzz{z{zzvvxxxyzzy|~€€€…‚ƒƒ„„„…………†……………………„‚‚‚‚‚‚€€|yxwy{{zy{||{zyxwvxz{yzx{}€€€ƒ„…ƒ‚ƒƒ………………„„††……„‚€€}~~~{zxwwxxyz{{{{zywwwwwxyzyz~~€€€ƒ„…‚€‚ƒ………………„„…„‚‚‚~~€€~}||}|{ywwxvvy{}||{{yxyxwuuxyy{~~€€€‚‚€‚ƒ„„††„ƒƒ|{z||||}}~}||{{|zzyxxyxxzz||||{zwyyvuuwwx|€€€€€~~ƒƒ‚€~zxwwyzz{z{{yyxy{yzzyxxyy{z{}}||{zyxxvuvuv{~€€}‚~€~€€€}|}}}}}||zzzwyyxwxy{z{{yvwxxy{||}~}|{xwywvvuv{~~…~~~€€€€~ƒ‰‹ŒŽŽ†xvvvvwz{{zzyvuvwz{{}~}{yyxyzzxyz|~€~~‚~~~~~}|~}~‰Œ‰ˆ‡‡Š‰Š‹}tvuuwz||{yxz{yzyz|~}}{xyxz~€€…†…ƒ~}}‹‡~~€‚‚€{{€†‚~„„…†…ˆ‰‚utuuwyyzyxz|{yzz{}~~~{z~†‰ˆ‰ŒŒŒ‹Š‰‚}|„††‡ˆˆˆ~{‡†„„…„………ˆ„wstuvxwyyyzzzyyz}~~~{z„ƒ„‰‹Š‹Š‰‹„}z€ƒ††‡†ˆˆ}‚ˆˆ„…‡ˆ‡‡ˆ…zuutuxyyyzzzyxxz}~~~}x|†…„†ˆˆŠ‰Š‹‹‹†yr€ƒ„‚‚‚ƒ‚€„ˆˆ„†‰ˆˆ‡€‰‡|wxxvwyxy{zzyxy{||{|yws}‡‹‹ˆˆˆ‰ŠŠ‰‹Œˆxp‚‚€ƒƒ††…†‡‡‡††ƒƒ‰Š„~{zyyy||{{z{zxurjorvz‚ˆŠŠ…ˆ‹‹ŠŠ‹‰ŠŠ~v„„ƒ„ƒƒ„ƒ„„„†ŒŒ‹‹Œ‹‹‰‹‹‰‹ŽŽ…€€‚‚‚}|xttwxy{ƒˆ‰ˆ†‡ˆ‡††ˆ‡‡ˆƒ|‡ˆ††ˆ‰‰ˆˆˆ‡‰Œ‹ŠŠŠ‹‹‹Œ†ƒƒƒƒƒƒƒƒƒ„„„……„…„€}€„ˆŠ‰ˆ‰‰‰ˆˆ‰ŠˆŠ‹}‰‰ˆˆˆˆˆŠŠŠˆŠ‰‚‡‰‰ˆ‡‡‡ˆ’’‘‘Ž†„„ƒ‚ƒƒ„‡‡‡……†ƒ„‚ƒ‡„~€ƒƒ‚ƒ€‰‰‰ˆˆ‡ˆ‰‰‰ˆˆ„ƒ…„……†…‰ŽŽŽ‰„ƒƒƒ‚ƒ„††……~xtstsrqqsssw{‰‰‰‰ˆ††‡ˆˆ‡†„‚ƒ‚€‚ƒ…†‹†~{|‚‹‰|}‚‰…‚ƒƒƒ‚€ƒ„…‚€}{{yyyz{{~€~ŠŠ‰‰‰ˆ††‡‡‡„„…††ƒ‚‚ƒ…Š†~|}„‹Š{|‡ˆƒƒ‚‚€|}~€€€€ƒ€{xˆŠ‰‰ŠŠ‰††‡†ƒƒ…‡†„‚ƒŠ‡ˆ‰‰Š‹‹‡††‡ˆ‰‡…‚‚€vrtwxw{€~zwxtrtƒˆ‰ŠŠŠ‹‰††…ƒ‚ƒ‚‚€‚‚ƒ†Š†ˆ‰‰‰ŠŒŒ„‚ˆ‰Š‰ˆ‡„ƒ‚‚‚‚‚uprstw}~zxtqqt€†ˆˆ‰‰‹‹ˆ†„‚‚‚€‚ƒ„ˆŠ†……†……‰‡€„…ˆŠ‡ˆ‡…ƒ‚‚ƒ‚‚vrrtzƒ€€~ysrt}€„‡‰‰Š‹‹‰†‚‚‚‚‚‚‚ˆ‘ŽŽ’‘Ž††ˆˆ‡„ƒ‚‚{www~‚€€}yxz||†ˆ‰Š‹‹‹‰‚ƒƒ‚‚ƒ‚„Š“–•••–•““’‘‘‘‘ŒŠŠŠŠ‡†ƒ‚€€‚€~}€€€~}}}~ƒ‡ˆ‰ŠŠ‹Š„„…ƒƒƒƒ…‹‹‹‘‘‘‘’’‘’“““““’‘Šˆˆ†ƒ‚€€€€€€€€{~}}ƒ‡ˆ‰ŠŠ‰…‚ƒƒ‚ƒƒƒ…‹~†Œ‘ŽŒŒŒŽ‹ˆˆˆ†…ƒ‚ƒƒƒƒ‚ƒƒ„ƒƒ‚€€u~}…‰‰‰ŠŠ‰ˆ‡……„………‡€|ˆˆ‡Š‹‹‹Š‹Š‰Š‹‹ŒŒŒŠˆˆˆ‰ˆ„„‡ˆ‡‡‡††‡‡…„€oz€~‚‡‰‰ŠŠ‹‹Šˆ…„…†„…„……†‰ŠŠŠŠŒŠ‰Š‹‹‹‹ŒŠˆˆˆˆ‰„‚‚‚‚ƒ‚‚‚‚‚‚€€hm|}{~ƒˆ‰ŠŠ‹‹‹Š‡………„„……ƒ‚†‰Š‰†ˆ‹ŠŠŠ‰ˆˆ‰‹Šˆˆ‡†‡†ƒƒƒ‚€€iir{}~…ˆˆ‰ŠŠ‹‹Š‡……„ƒ…„ƒ‚„†ˆŠˆ„‰ŠŠ‰‡‡‡‡ˆ‰ˆˆ†…‡‡†††„‚€€€‚ƒkjkw€~}‚‡‰‰‰ŠŠ‹‹‰†…„‚ƒ‚ƒƒ…‡†ˆ‡††ˆˆˆˆˆ‡‡‡ˆˆ‡ˆ†…‡‰ˆˆˆ‡…ƒ€€€‚„…„nmls€}~„‰‰ŠŠŠŠ‹Šˆ…ƒƒ‚€ƒ†ˆŠŠ‹ŒŒŒŒŒŒŽŒŒ‹‡‡ˆˆˆˆ‰‰ˆ†ƒ‚€€‚ƒ………omjnz€~|€†ŠŠ‰ŠŠ‹‹‰‡„€†‹’“”••••–––———–”‰ƒ‡ˆˆ‡‰‰‰‰ˆ…‚ƒ†‡‡klhiky€}}ƒ‰ŠŠŠŠ‹‹‹Š…„„‚…Ž”•˜—––••”””””••––‡‡ˆ‰ˆ‰ˆˆˆˆ‡…‚€ƒ…†mmiges€~|†ŠŠŠŠ‹‹‹‹†‚……‚…Ž‘‘ŽŒŒ‹‹Œ‹ŒŽŽˆ‡‡ˆˆ‰‰ˆˆˆˆˆ†‚‚‚ƒmkgfgl{€~}‡‰ŠŠŠŠŠ‰‡ƒ‚ƒ‚ˆ‹Š‰‡‡†††„…„„…†‹‹…‰Šˆ…ƒ†ˆˆˆˆˆˆ‰ˆ‡ƒ‚€€ggfgghq~€~~‚‰ŠŠŠŠŠŠ‰‡…„ƒ‚†‡ƒ†‡„ƒ‚‚ƒ‚€„ˆŠ…†‡‰‡††‡ˆˆˆˆˆ‰ˆ‰†ƒ€€hhhfghhu€}€ˆŠŠŠŠ‹Š‹Šˆ‡†ƒ‚ƒ†Œ„‚‚‚‚„„‚€‚…‰Œ†„ˆˆ‰‡†‰‰ˆˆˆˆ‰‰ˆ†ƒ€jhgegihr~~„Š‹ŠŠ‹‹‹‹‹‰‡ƒ‚‚„†…‚…„„††„‚€€ƒ‚ƒ‡‰‰‰‡†‡ˆ‰‡ˆ‰ˆˆ‰‡„jhgegiho~€}€‡ŒŒŠŠ‹‹‹‹‹‰ƒ„„€€€€€‚€€‚‚‚‡‰Šˆ‡‚ƒ‡‰ˆ‰‰‰‰‰‰‡ƒjjihihhkv~‚ŠŒŠŠŠ‹Š‹ŒŠ…€ƒƒ‚‚€€€€€€‚‚‚ˆ‰‰ˆ‡‡‡‡‰‰‰‰‰‰‰ˆ‰‡lkjjmjhiq}‚~†Š‹ŠŠ‹‹‹‹Š‡‚‚‚‚€‚‚€€€‚‚‚‰‰‰ˆ‰‰‰‰ŠŠ‰‰‰‰ˆˆ‰‰klmnoolos|€~}}‚‰Š‰‰‹‹‹‹‹‡‚€‚€€‚ƒˆ‰‰‰‰ˆ‰‰ˆ‰‰‰‰ˆ‰‰‰‰{zzzzzzz{zzz{{{zzzyyyyyyyzzz|‚„ƒƒ„„†‡‰‡††‡ˆ‡‡‡‡††‡‡‡……‡†„ƒ‚ƒƒyzzyzzzzzzzzyyyyyyyyyyyyyyyyz‚‚ƒ„„‚„…††………†ˆˆ……†„„…††††‡†„‚‚zzzzyzzzzzzzzyyyyyyyyyz{zzzzz‚‚ƒ……ƒ„………„„…†‡‡†„„„„ƒ…†‡‡†…„ƒ‚‚zzzzzzyyzzzzzyyyyyzzzzz||{{z|€‚„„„„……„ƒ„†‡‡…„ƒƒƒ„„…‡‡‡‡†„ƒ‚‚€€y||{zzzyyzzzzyyyyyyz{{}~}|||~€‚„„„„………„…‡ˆ‡……„„„„…†‡‡†…„ƒ‚‚{€~|}}{zyzzzzzzzzz{}}~}~ƒ‚‚……„„……‡†††‡…………„„…†‡‡††„„‚‚‚€‚€€|{zzzz|{yz{|}€€€€€‚„…ƒ„„……„„„„††††„…†……„„…†††‡†„„‚‚„~€~}|{zzz}|{~€€ƒƒ‚€‚ƒ………†……………„ƒ„…††„„……„………†††……„ƒƒ‚€€€€~|z}€„…„†„„ƒƒ„ƒ„…†††††…………„„„…††…„„„„„…††‡†……„ƒ‚‚ƒ„ƒ€€€~~‚„ƒƒ‡ˆ‡ˆ†…„„…„…‡††††……………………„„……„ƒƒ„„†††ˆ††ƒ‚‚‚‚‚‚ƒƒ€€€‚„…†„„„„ƒ…„„„…„„†††††…„……………………†…ƒƒ„„…†††ˆ‡…ƒ‚‚‚‚‚ƒ}€€‚ƒƒƒƒ†ƒ€}~~}~~}…‡‡†ˆˆ†††……„…………†………„„„„…†……††„ƒ‚‚ƒ‚‚ƒy~‚„„„„„††€|||€€~~}}}„‰‡‡ˆˆ††„……„„…††ˆ†………„„…†………„………………„ƒ…}€‚‚„‡‡„~}|{{{zy{~}€‡‡‡ˆˆ†……„„……†‡‡‰‡†…„„ƒ…‡†”œœžž˜ˆƒ…†‚}|z{}€†‡‚||~{y|yx~{‡‡‡‡ˆ……„ƒ„„††‡ˆˆ‡…„ƒƒƒ„†ˆ‹Š…‚€€Š†…†„„‚}|z{~…†{|ƒ~wxxz‚|~…ˆˆ‡‡†……„„„…‡‡ˆ‡†„…ƒ„………ˆ|z||zzyxxzx„Š‚ƒ‚ƒ€€€„{|‚~xz{|„„z}ƒ‡‡‡††…†…„„…†‡ˆˆ†„„†‡„‚‡||€~{zzzzzzŒ‡‚‚€€‚„€|}~~|}}}ƒƒ|}€ƒ„†…„„„„„„†‰‡†‡‚~› ‹‡y|~yzzz{zyz¥€‚‚€€}|}}||~~~~~}}}ƒ„ƒƒ‚€‚„„„„†‚€€§³™Œ}}€~€€€‚‚~€“£~€€}}}}~}}}|}|}}}~}}|||€€€€€‚‚ƒˆ‹‹“œžœ››ž    ¡¢¤ •{}€~}|||}}ƒ‹~~~€~|yxxyzyyz{{€€€€ž¼Àü¹¿ÄÆÅÀ¾ÆÅÆ·{{}~~}}}}‚ˆƒ€‚~|{{{|~}||{z}€€€€€€€€€†»ËÐÔÔÕ××ÕÔÔÐÆ·Ÿ||{{}€~€€ƒƒ‚‚„„€}||}}|}}~}~}€€€€€€€‹Ÿƒ™¢¥©«©¦¢™†~•~}||}~€€€€€€‚ƒ}||~~|yx{~||‹¹¥€„‰€‚ƒ‡Ž¦¿€}}}}€€€}~‚€€€||}~|xwz€}{|~€‚‚‚‹ÂÐɹ»À©Šˆ´ÇÂÊÒÍ€~}}~~€€€‚…Š‰‰{|||||zz{‚}{|}~€‚ƒ€‰ÁÏÐ̵£“Ž–£ºÆÐÏʃ€~}}~~€€€‚ƒƒ„ƒ‚~|||}}|}}}ƒ„~||~~€€€€…»ÐÑÉ¢‰‚Š£ÌÒË„ƒ~}}}~~€€€€‚|yxzzyyzyyz{yyx{~~~~€€®Ä¼¶……‰‰Š‰€†³±·†„‚€~}}}}~€€€€€|wuwwvwwxxxyyyyz|{{{}~€‚‹ŒŽ‚‚‚‚‚‚‰„…‘‰‚€~}}}~€‚€€€€€€|||xwxxxzyyyxxzzyxyxz}~~€‚€‚€‚‚€€€€„„ƒ‚€€~}}~€€|‚ƒ~zzzy{{{zz{}||{{{{|}~~~€€€€€€€€€‚„„ƒƒ‚‚€~}}}~€€€€~ƒ…ƒ~}}{||||||}|{zzzz{}}}}~€~~€€ƒ‚‚‚‚€~}}}|}€€€€‚‚€€|||}|{||{yz{{z{}}}~€‚€€€€€€€€‚{~ŽŒ‚‚~~}||~€€€€€~~€€‚€}|}~|{{{{||{z{}~~~€€‚‚‚‚‚‚}{ˆ‡‚ƒ~~~}}}€€€~€€€}||zz{|{{zz{}}€€€‚‚‚}}€ƒƒƒƒ€~~~~}}}~€€€€€€€|}~}{{|||{{{||~~€€€‚€€€~‚„ƒƒƒ~~~}}}}~€€€€€~}}|{zz{zzz{{zz||}€~~~~~~‚‚€€€ƒ€}„ƒƒƒ‚~~}}}}}}€€‚€~{zyxwvuvvvvuvuuvvw~€~~~~~€‚‚€€€‚€{{}ƒ‚‚€~~~~}}}}~€€€€€zvvvuvvvwwvvxxwvvvz~~~~~~€€€€€~zyz„“‰‚~~~}}}}|€€€€€~yxxxz||||}||||||}{}~~~~~~€€~ywy}„Š…‚€~}}~}}}~€~~~~~€€€€€††‚‚€€€~~}~~~~€~zxxz‚‚‚‚~}~}}}~€€~ƒ…ˆ†€‚ƒ‚„†‡„ƒ€~~~~~~}€‚~zywxy€ƒ‚‚}}}}}}|}€€††‡ƒ‚‚ƒƒ„…„„‚……ƒ‚€~}€~~~~~~}~‚‚~zxxyzƒ‚‚‚€~}}}}}}|}~€€€‚ƒƒ…†‡‰††ƒ~~€€~}~€€~~}~~~~~~€‚~|x{{z~‚‚‚}}}}}||||~€€€‚…€€€€‚€€~}~€~}~~}}~~€€€~{|}~~€‚‚‚‚~}}}}{|||}€‚ƒ†…†„†ˆ‰…ƒƒ‚‚‚~~~€~~~~}~~}‚ƒ„ƒ‚‚‚„„‚€~~~~||||}‚„…‚„„„„„ƒƒ„ƒ„‚‚ƒƒ€~~~}~~~~~}}~~ˆˆ‰ˆ‡…………‚˜~}}}|||||€€„‡‚‚‚‚‚„‚ƒ…‚‚€~~~~€€€~~}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÄÆÃËÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÎÏÍÈ¿´¯¤ ”‚}tijxkikonsdhcV]a]]e^T\b_`WROT[Z`d`fUUXWUWUTZVPU^^]YULE>:<9532@3ÏÎÎÏÏÏÏÏÏÏÏÎÎÎÎÉÃÆÂÊÎÏÎÎÎÎÎÎÎÎÎÎÌÌÌÌÌÍÍÍÍÍÌÌÌÌÌÌÌÍÍÍÍÏÏÏǶž¥˜vyta]ar|o]`okh[Z[]_ZYVP_g`]UPOQXX^hihPU]aZQPLQRZ`c]VPMKA@76543187ÏÎÎÎÎÏÎÎÏÏÏÏÏÎÍÈÂÅÀÈÌÍÍÌÍÍÌÍÎÎÎÍÍÍÌÌÍÌÌÍÌÌÌÌÌÍÍÍÍÎÎÍÎÎÏÎÍÂ¥ŠŠunmomnnot}y^c`cd[[\\\]TSV]cY[YVTSTTX\hdRPX]VMNNRS^caa[RGC@<853221/2ÎÍÍÎÎÎÎÎÎÎÎÎÎÍÍÊÃÆÁÉÍÌÌÌÊÊÊËËÌÌËÊÉÊËËÊËÌÌÌÌÌÌÍÍÍÍÎÎÎÎÎÎÍÎ˵˜{mouyu~eec^eWadd[[WVaZTYfeSQTWYUNLVPYgRPTXYPNSOPZ`^`XUUNH?;86331-.ÎÎÍÍÍÍÍÍÍÎÎÎÎÎÎÊÁÂÁËÏÎÎÎÍÍÍÍÍÌÌËËËËÊÊÊÊËÊÊÊÊÊÊÊÊÊÈÊÊËÌÌËËÌÀ‘Œ„~tal|ldh`a`WjbXYUUN\a_`qm[QPV]UNJTRRYT[\YUOQQW\_XWZRPXOH??@<530-,ÍÍÍÌÌÍÍÍÍÎÎÎÎÎÏȹ¼ºÉÎÎÎÏÎÎÎÎÎÎÎÎÏÏÎÍÍÍÍÌËËÊÌÌÌÌËÊÇÊËËÌÌÌÉÇŦ‰zyqh]lonb_a_X]`UR[STQZeeghcgVQW[TPSUSRYRZ]aWSUSZ[]YXTSOPPI?@>7641/3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻŽÇÎÍÎÏÎÎÎÍÍÎÎÎÎÎÍÌÌÍÍÌËÉÊÍÏÏÍËÈÅÊËÌÎÏÌÇŵ ||peWSb^Y]b`]c^XUSLMVZ`adi`[SPQQOLTRTQ`LUUZ\X[Z^[\YTQTPSKED?B;520.5ÏÎÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÂÅÍÌÍÎÍÍÍÌÌÍÍÍÍÍÎÌÍÍÍÌÌÉÊÊÍÊÆÃÄÂÅÇÊÍÎÊ¿¼ª|pVTRPMVYopebc]YOD?NXR[bb^WTRLMLIMIRMZNSVVWX[\[\^YSPTOWODH@?=2/.--ÏÎÎÎÎÏÎÎÎÎÎÎÎÎÏÅ¿ÊÁÄÍÌÌÍÌÌÍÍÍÍÎÎÎÎÎÎÎÎÍÌÊÈÇÆÉ¿ºÃ½Á¾ÆÊÈļ®¢§Ž€|vbVYYXfh^ogf^VVRRUTdUP[]TOWXSMJGPQQYXSQY[UUWYVPQ\VSXSWV?6722/..,-ÏÎÒÕÕÐÍÎÍÌÊÉÊËÍÄÀÉÁÁÌÎÎÎÍÍÍÏÏÎÎÎÎÏÏÎÎÎÏÌÄ¿ļº­À¸¿¶¿Æ¿½¶¦‡„~q‡{f[`[]ckVn\U\SNTU`]WOPTXQQSVXMMNTRRZh]NVYVWVVZRL]ZZ]]LC<6541...-.ÏÛêïîäÔÌÊÿ¾ÁÆÉÂÁÈÁÀËÌÌÍÌÌÌÍÎÍÍÍÍÎÎÎÍÍÍËÅÁ½µ½º±¢»²½²µÀµ¼´—†}~nhdbbbUYc]UdZS[]PSSX^UUTOONLKMTYWPSPQRdZNZ\XQMNXZPXYQMJA8=<962/----ÛïÖµÀæé̾¸³²·»ÁÃÃÊÆÂÊÌËÌËÌËÉËÌÌËËËÌÊÈÈÄÅÀ³¯«¯²§ž©­¸°´µ®­ ‚wyvllTbeZXaXS^i^X_YKPRU^`cUQMLLORMUVKPUOS]^Za\SOKMYXSZPRXJCC=;;972....îÉ|hp¢äÙµ°®®´´¿ÅÆËÉÄËÍÍÍÍÍÉÇËËÌËËËÊÇÄþ¿³¡œ¤¦›—¡­¯¬®¨§™ƒvmkekl\UXUa`VW]ZY`VQUTSUV`YRTOOTVRTUWRPYPSZaY_XY\W\`USZWTPA?F;877752011âŠwwqÈç·­¬¯²²ÀÁÅÊÈÃÊÎÎÎÎÌÆÁÉÌËËËÈû¶¸¶»«Ÿ•šœš’¡±®©Ÿšœ‘wiedTh`RMIOXbYRR_iabo^_c]TVOPQPPRWSVTVZS[NP`^^hZc_kf_TQNMJL@>?8755664/03Ä€‰w‰Á翪ª°±³»¶ÁÉÇÁÉÎÎÍÍɹÇÌËÈú©Ÿœœ¤¦ž–Š”š’Ÿ­¬›†vedhZ\UQTSQZ``\hm`QUbNWrpZPPKMMLHKMNONNQYTX_USXX`g\ZUPJMHFFDI?7545554/16µƒ†|‡½èÆ£¨±²µµ²¾ÉŹÁËËÌÌÊ¿´ÅÊÈ¿´¦šœ”˜–Œ„–•Ž‹’™Š‰Š…vuqbXUY\XPX]VU\i]RR_gf`_\TTNKJHIHGEGNLS_\W[VOZigfW]TMWSIJ@@B9754335527>±ˆ‰ƒ„Ž¿åàÏ˳®¯¬«·Ä¹¬²¹µ¾»Ç½±¿Ä·ª  ™œŸ‘•†‚…‚ŒŒ„€Š‹Ž†ƒ‚„‚zwp_WVVV_\UYUSYgQPO^gdSS[YSNLMJKIFKJKSV]aRZQPlscg`a]Ta[UVH<<;97443475;?ú·ŒƒÀäíïéÌÍ«¡¢ª« ¡¡£££©¹±¥¤«››™¡˜˜‘–…ƒ…‚‚†y„Š‰…‚~~}~wrojeYRZg[TVSU_[OY\^_XRRRRSMKOQLOTRGDLPV`SSN_bb`Xdj\QU^XGUF<<<9566599=>œÀ¾“†‘¿äìäßäî·ž¡²£žŸ¥«¦¡¤¤ ”•“œš š“—Š‘Ž‹‡‡„‚‚zˆ„‚{|zxrijfZWZQY_[V[Z^[WZ[\^ZUOJWVOLOJBDGFAAFIIRKRSZ]aY`p]_P[a[IED?=<85677:>A@}¯¾–Œ“¾ãìͺßéõÂȹ½·»¼ÆÄ»ª ¡•Ž’Ÿ˜›—’…Œ‹ˆ†‚z€†€~€xywsrnlgY]eccYRTXY^^bXU^UX_[UQJONOJCDFB@EFFCSHUY\Xaba]SdaWXXPLGDE975679<@HFp•¿–”¿ãíáÙêéááãâäçèêèéëðÄšš”Š“‘ŒŠ‚‹‹ˆ…ƒ‚‚|‹€zyvrttoicW\eb[SWPR_hcdWOTSi\bWNQRPJHEIUKCKKMFQR]_ZMZecdVbdWRX_QFAA<:8889>=><>W¾–~äéæêëëéãÞÙÓÊŽ¼°§ ™–ˆ¦¢¤Ÿ—‡ƒ|yustvx€ˆ”–‚~uuxxtttf[`\NP\Y[\TT^ci_]U^c`SVNKLSLGB>COTV_Z[bflb_^Z\UZTRWVRD;9988:9989;@@@?]UŽ›çîíììêãÙǾ¹¶§¨™ŽŒŠ}•„e`XTRXaz˜‡^Z[[]ZXUSPwƒ}}tswzyupkg]SMMYX[SVY\[XJZ`Z]YZ`WKLUPMKMPOQTVYX\md[[[YWXVMRKKG;52.bv65678;BIJINUr¤ÏÏÌÊÔ×ÖÒÐÎÊÌÎÍȧƒ‚}~ƒm@h›¡¥¥}eJ;=AFGIE?BEOHZzvmjpwyphb^PSTFJRUZ]TPTSTV[WWX[`\TMEDBDHIFGGKUX[ZYq}š   Ÿœ™™—”’’’’‘”––ŽqHAHII–°Á‰Â¿¯°šˆ}ngedfkw…–Š{{{}‡USd±¶¹¶³­¨­~|ŠXRRG534=fJsuqtnpwqjh_RVYVX[`]WGFRX_X[ZXVY]UOJDDA?@?>=BMPX`Yr”s}slfb``^]\ZYZ[[[\^bfaWCHKKîôÙp¬¨žCCGS`ZMRMJDQ‘zz{~Qf===IVVVXYSLJFBQ³¸”[Œ¥xKEAiŠ~|kKCJ>…‚xx€raa04434CONMPQMOLKqmO2LzwRy{vmioihdc]gocZNR[[VSTYX`ZV\fYOICB@ACA@?DIC?K[heƒYr†Š•šœ_9778<=BTWWUUSv]LJCYjOIX··©U\OF>ULND8594ažÇ£bvQ27G^OCPPPONMNMLsoR4Y“•Pr{zphilmha][W^[OOWVOOT]\YY[^]SUNGAAGIB>CSQJX]_hƒŠ[“³´²­©¦}I;7>HHK[I=;::QmJLXaiMGbéè³khpopxwy~{vrnw¸óÈ‚Y„B65]ŸJMGDBFNNOF^|`957…ccuuqgfisygXVWSSSOVYPOZ]ZW\b^ZOSTPJGKQI<>NVNilir~_RpdULGDNOF=jŸkC7558HHIFt–x962m€Uslkgfc_m`TV^XW\TQSQTP[^[e_VURPHHHDGLGCHNNVjkir˜q[=L7578>JGB@ACAIp;:;;::X_Zik\EJZ¾ÕÜßààâåäãäãáÞÝßÚ™wujzALHY„†_KC::89879}¡i873T—PrjaaaZ\jdWOX\`[ZSMOXV[d``YPOVSMF@=HV_Y\diob[Yc bT:J79;9:D?447?CDAABD@79MeOgfLKIM‚ÀÛßçêéãßãçâåêèåÕÊ«xkzvLWOs}kHIIHIHHDCS„—Y><7L¢SqhJFTeb`a`WYZZURPPNT][SXZUNQZSPX]]sƒydlxk\UU[zRK9A7A_dJ<84458=;:AEEA67DcIdc;96D¾ãéííí¸š±Ý­¡Ðò¾SGbŒ]dfRlF\IEJT\^[OPKR^ypOD>9Aa=YM=:>ea^a]Z[UUUX]^SPYYROOU^ZY]hz‚†‹„ccpiTWYUd‹FGAD>L}‰j=84456459?@@=85>^DYc[US]}¡¾ÅËÆÆÀ¼»¾½µÁÌŒ09:OK>89:5;@>:==><>;996CJHI@89:E:268Nkikqooolr|‰‘‡Š‘’’Œ—³˜„€|z|{mbmlcTW_go‡x@PIICGhsLDG?4235?FGHIJF;:[COdrqqsrttxzyz|||}~~vPA;.JX=;9:88887777888888779:=>CN7?T^kopqsuvyzywuuvvxwwy{€ˆ•¦³µ­š‹smmllnbQZhr†e9|}I@>CJ@FKHKTTVXRFDDCA=9??URqomlmnprtuuuutuvxy|~ mEU<;::889887778888889999;<>EFmnfkjiijkjnrsuvvvvvusrrrpprwŠ›§±±©¡’shSMOLWi]MM=9;DHEFJLYfeigXDDB?>DR^vQuqnkjklmoqqssqpoppswzƒ·“DI8999778766666766677776677:Lugdiihgeeccdfikmortuvvusponpponpuz†™¬¾¼£†k{‚Vyƒxok\NR_acbdcccaadffbVRemn{~zwrnlkkkmmnpqpqpqpopqv¤‰SNF64765555557?76556428?ITq{ŽŒŒ‰ƒ|rkbcdehloqtuvvtspmmooppomlwŽ©¾¥–±yugla^^YZrpiggecddcegjqj\]\]cg]yxxtplkiiijlmnpppqqqqp|_‚œ–O144344567?86563>wŽ£©¬­«¬©¦¤¤¤¤¥¥¥¨ª©£Žfcdccdfilpsuwwvurpmlmoppmlr}‡§xdY]ZXXW[d^YXXWWVWWXXY]\XXYYYXWwwxxvpliiggiklmnooppquq\ež§¹”J//112248456311~ …ˆ€ysssqomlmlkjloqtw‡cca```_bdinrtuvwxupliikmopgq–l^UWWVVWWWVVVWWWVVVVWWWWXWXYXVVvwxwwvrmigfgiijlllmnnpvCOšÁ±Å¶^WFFHKF<€\:LPdŸiaglkjklp{—’yuqnlklid|nedcba`aabejnprsvvvwsnhgimhh„bZPSVVVZZZYXXYYZYYXZZYZ[\[XZXddrtuwwwvsnifffeghijkklea<7{ÐÉíñÄ‘``d…–X¼‰Qvl—‡fu‚†‡‡ˆˆ…p}|f€Ž‹ŽŒ‰„zjwkigecbaaba`bgjnqtvvwvtqlj^eqcdŒdqwYZ\\[Z^^]^]__Z_ZZVb£““º™npqstttsqlgea`bcefghj_G8/@Ÿ²½ÔÚª{ae`ZîÎafi™bt »ÁÄÌÎÓ•OC=@mÌÖÓÍÌɸ`irmmkfdaaba`^_bfkoqstutttrWT`Y[¾À¸Èå„HIGnjKM^y^JIny?BM°óÙáÖ¤lnppqrrrspkgcaabbbdeha=1..6;C_^~u[mqbŽåÎwh|‰WqÁãÞÝÝÝã†ZfeScÓáÛÕ×ÝÜtoVnilomkhcbbbc`__afjnpqrrswYIRTLµâÞÚëâyF=b´Q;†¯“?L¹m;C™îÝÒÐÓxjlnprsstuspmidcbbcbcg\5./147;CJS]i|Žž±Ôʱ£v^_µÝÙÚÜÞÛkKXaR^ÇçåãàßÒYl\cffimpolhfeggeb``afjmppquXCGOKq ¬ÆÀíÖS@>£©I®ç½M—µNHVÚñ´¢{eQhjlnpsstutsqnifcbbbbe[4-/58:@FQ^sœãççêëëëë°cgPVefjqvnEMb…\Z·§™†rb@VjXigefknonkjhfffeaa`cfjmnsW@CJONQbw˜ãÄnXLaÙ—{±ƒ€ßyM`o¡Á‚_XSPagjkmoprstssqokfcbabc]7./15;ESf«¥èéìíììîážWlO<556745HWkŒ“åïîîíìéÑ‹SjMG:9::9876FdPI<79=<;=F:73544567]xb<566S`Xklnlgedcceghgc``_^]^\[^S@>IKNRVZfs|ƒ…‹¡­°¹Ã¸³³µ¡…‚{th[VSNÇ|]dhjkmoprtrrponhcaa_;720:YÞÑ}ox”…v~ƒms’œiYZJPJPWRLJJ<44566@‡¯›LFE9CfQjfchlifca`bffeba`]^^^]]S>;8;?LXˆ†PLLGANOeb…yjhkhd``bcfecb`____`V;9ILNPTYdmnnl™íîèéçêííôÏmjikg]UQNÀϵb\bdgiklnqqpqqpmhd^7<1//02<>=@E<6Hn’¨„_;=AERYVHE@QSE>9BNRRPH@>=QdZšzXcmkjgdbbdghgedba`aW67KMPQT[fjhjh„ÑÜÚØ×ÕÔÓÕ«`[]fg\UQP­ÄС[]dghjlmnoopqqolha5;3/-/049<<=ADG\sŒvlTPPSUUPOORYTSRSVXZ[XSTUWY[^_mTjRSjlkllifcbdgijhgecbV38JMQUaaeaO925=DHHBOJ@=5..FQah}gPz·ÇÏZafghkllnoopppomc3960/----.,,-..6>`‘qr`_^][[\]]\[\]\\\\[[\\][[[[]]fTF]iiijkkkjiecbeijkifeV.7GHJ†´w_NMF@@BAQ^NbZPUNIKRNTwÙ²PP¾ÊÉuZbehjkllnoppppmb1970FM=621.,,++)5N^_qY\[[ZZZZZYYZZYXWVVWY\bekloty€oo„„{wqgnpkiebbbehjiiX*6D@EžÏp^_XDIMJILLFEFEGE?7Tc\g£JZy¯Âͱd\bfijllmnonnmdX07641FKJ@87-+-/0>lMprTYYZYXXYXXYYYXrmpŽ›¥«®±±±±±²³³±±²²³°¢‚pjkkhdbabfgkZ)4@=A]p`bggO=:;AGHHLMNPNIShmi^VMCWYz¹ÄÍž\_efgikmmllmkcW5743268:70./37;=Nt…‡w_`[XXXXYXXYYWgˆ¤°®¬¨ œ˜“ŽŒˆˆˆ‡‡ˆŒŽ–ž“`llkjhebabchZ)2=;;BMTbmvwlhhhgfhihhffhnmf^PHA;PJN‰¼ÃÌŒZ^acfhijkkkkg]H60112/-..-./..+Kr‘~}ŠŽ^YYZZZZZYW‰~Š‚yrjd`\XUSQPQPRRTUVY^dazrkkkjgcaadX'1643/58=@CGECB?=<<:776310.-..+/E^RMU˜¼ÇÅuT]_bdfhjkkkhbYLJHJNMLMMMMNOONYrŒ}‡Å×ÇŠ^\^]^^]\\‰n\WNLJIJKMNN_[KLLKIGFGEDDEPikjjkjhecbU&/4F\8)'))$###"#"!""#$&(+2=P8",G_fYQK`©Â̼kZ_bdghijkkjhc]]\\\[ZZZYZ\^acUo~i‰æãâÖ€bgijkmmvvJCBBB@@A?<;9>;::;:9887999:9Lfhhhiid[VK'067@@=8:<:974420135567;?EJSD"*-kbRNJr¹ÂЯb]bdfhhjkllkigecb`_\ZZ[[]`dgUdeKsèÐÆòºgqsttts’b;;:::;;;==>B?7:;<;8876787:=@\ighgd_TMD(05.&.=<;;<<<;:99;;;;;:768772!%13mpfSMNˆ¼ÃÓ™[`dfghijkklkihfdb`][ZZZ\_acSVLGOˆ ò¸k‡–›¢•‘G=@@=966666667??LefffedcWI+00.,65210.,---,,-******)))))"'12jmv^OLWÀÊÍ‚[cegghjjkllkjigfd`][[\\^`bRIHGILRg–…™Æ±¦¥§¯~;@8:;:98;?BX}_;=?9643445555=AA]fffeed`U@2,*+/,++,+*+++*+,,,..//13699;=@?rpngXPLe«ÃÏÅu^efghjjkklllkiigd`]\\\]_bTEHHKOT[b€Í½=84>œcPeeeecc`\XNGEEHIJOTXZZYUQPRSSUUUQRSV]bffghqmmndSUi‡¼ÉÓ¹j`eefiiijllllkkjhd`^]\\^aVBFHKQV]gƒË±:>9_¦I>;239AA75HF313344549WVKB:644??F_eeeccb`^]\ZZYZZ\^aehhfd^]]\\^^\ZXX[_dfhimnomhYOQSŽÂÆÔ¨``acefgiklllllkjgc`^\\]aW@FHHR[cl‚À½U^hŒ•>@711MeN568Pecddccaa`_]\]afkmkjgca`___\[YYY[_bottssxiUPJn½ÈÑÅm]bdfgiiijjkklkkiea_]\^P8BHEKQ[fwˆzC|à¤S;@;=8J||rEA<0/0003E\L573FIEBAB6.//04BHPKPebWPH83<=??9440:bcdddbccddc`^\\^cilkiec`\[ZYXXXYZZnfdghbc_TNKf¸ÅÏÎyZaghfgghijjkkkjhfc`^^N1?JEdˆ]A=OPJPTA:JWlO?AAA@>?;65555<>H>FTTJIE=378;?>49CVcbdddccddeeca_\\^cgjifda]\ZZYYXYZZlfhgsnicSMNM…ÂÇÕ´a_dedefhiiijkkjihfb__N0;HCŠâÓ~?2RJ8@=?6AF:87786669?A=;;;965644787>KIGC:>^labcbbcddddeeeeedb`_^^bghhifb^[[[[YYYYonghqpsjSLNMW¨ÅÊÔ—b_bdffghiiijkkiihe`_O3:CG`¼×–OPVn‹‘KH545556789::=?BA>?@>>>>??>>>=@@<9[;O̯fabbcddddeffeefccb_]^cfhkkhc^[[\[[[Zjslippusg]OMKu¸ÃÐÌu[befefhhiijkkjihgcaQ-7=FIZqqgu†­Ã¥HsS?@?@ACEGIKLRY]][Z\\^`aaa_]]Y\hYƒi<žÂy^aabddddefffefffdb`^^adhkjhc]\\\]]\uypnqqpmoq[MKO‘ÂÇÖ³aadeefghhjjjjkjjhebP)57?BAAHNUi‚¯A…ƒ\H^gkmpoprqoopnlnmlkkklkiklmqudxˆbS]cbaabcdeeeeeeddfgfdc`]\^bgijhc_]\\\\sqljnnjhjkfMJJ`®ÃÊÖ^bdffhiijkjijjjieZG)50330,-13DR‚ƒHˆˆvcojgec`_\ZXWWUSSSRSSSSSTUWW\\Y`k{eZdbaabccdddccddcddeedb`][^cgjkhd`]\ZZpmmejlptoojRILLz½ÁÐÇp_effhijkkkjjjhf`SB)309536:CJ[L\m]obTWVPMLJJHHGHGEDDDDDEDEEFGGHKIKLMYsibbaaacdddccdeeeeeefedc`\[_cgjkjfa]\[kfddhkstpss_LJXhš¿ÅÕ«abefhikkkkkkjife_H+00.,6;>>>>=<<<===<===>>>@AAABE_xda^^aabddccdefgffffefec_\]_chlmkje`^cilhoplmqsplVJMMX¦ÃÈÔ‘]begghjjjkjjjhfcS8,,,+)%&&&9]…†nR@A???>>=;:999999:::999::99:;;<===;=F`g`ŒÀÅ­jacccdefffffeeffec_]\^chllnkfcytsqurlkllilfLJLIoº¿ÍÌu[adeffhhhiiigec]M6357765429^‰y`I;<<;;;<;9999777656877777788;;;9:@JH?E[duÇâÞŸ^bcccddeeeeeeeeffea][]chknnlhz‚rlljgjknkcOJMLM‘ÀÀÓ¯\\acdfffghhhgee`[TPPPPQQQPD[nfM?DA97989;999;==>ANHDFDAB@A@ABPt’‰—´‡:Qgbiollabcccddeeeeeeeefffd`_]^chlnnkqwsutmnhmonlkdYNLI_´¿ÉÓ€X`cefgfghhhgffca^[ZYXXXXXITVVX‘˜–|yYKHHFFGKKM†dOJKNKIJMJ„Ñåèѳ¾ç—4Lgdb_`^lkccccddeeeeeefffeeca^\]bhlmmmvttumpjilllptiRKKL“ÅÇÖ¶bbeghhgghhhhgfecb`^][ZZZZJOADa㽿°Ûèèà‰GLU\cfy‚‚˜‡bc`Z@JîâÁÅåîís1Hfeecdl‡ydccbcdedddcccdddddb`\Z]ahlmmuoonmmkgiinnoiSKJKe»ÆÎÕˆ^cfghhghhghggfedca`]\[Z\KK<;LÈðâÒµ¾æêˆI9DCA>>Ipˆj\VNE;461Bfdccbba`add`cecbcdeedeeeddeeca][]cgjmoqnnnqtqmilmgVNKLKb¹ÈÍÖŒ_efghhiihhhhggeeeca`][[KL628:CJNQV_r”šd9@A=;|˜•~yKEFDB>Œ¡ydUKB<732Bfdcccbad¤ÃÃœcddddddeefeeeededc`][]blklnruvpulknmkpdPKJLMŒÈÉÕ¿kefhihiihhhhhgfefeca^\\LM7/:48>DKVg}£µMRpŠ‘™žÀDZ¶¿ÃÇ·sV¤¡zbQI@;:/,Afccccba_åîé¡bbbcccddddeddcdddb`][\kqvspqrmpjkjgjsbLKLML]¶ËÍÕ—afgghiihhhhhhgfffdc`^\LP;011:=AMSc{šÈtÃöòòòðïññíèóßjiÁ™{aQJC<<66CdccccbaaaŒª«f`abbbcbaddcccdddca`]Zqwvqjhjnojklwsuf`ZMMNQ†ÉËÑÉtbfgiiihhhhhhgfffedb_]KT<147;=CMR`{•Ê›]½ñéèêëëëìæÝîÜbpƒk[OF>959Heccccbaaa][Y]a`abb`bbabcbbbcccbaa_[iikhbaahjr|wtwpkpfRLNR\²ËÈשdghiiiiihhhhggfffeca`HA;?G:<@GOVgŸÎ¬Q¹øðïñðñòòóóõá]…ÑŸwZI@4/..1Geddcccaaa``aaabbcbbccaaabbbbbaaaba_wpmokupsirstuv~€l^TKLLL}ÅÅÎÔ†cffhghhghhgggfeeedaaH5<92/248?EPd}±ÁTŒÆ¾¹½¾®¡˜‰rBwlJ?337JS5-3Edddcccbbbbbaaabcbbcddba`aabbaaaabba…}‚€xw|xlipxwz}ue^SKKLLR ÉÇ×»faceefefhhhggffffdcdI3<:3.3BI>96>DCmP3;;98=A753343=e:GJ80vâÑU,5Fdedccccbbbbaaaaaa`acbbbbaaabbaaacca„}u€ztrjnvojhpjbbbVLLK^e~¼ÄÌØ^bcdeegggghggffeeceKM@;6,KÃÛ›48@S:MkCBBBFNRJHDDDG_WN<4/h’]9-6Gceddddccbbbaa`abccbeedcbbbbccbabcccyz€ysnscair{skmfYMLKV][›ÄÄ×ÀgaccddefeeefgfffedfKOF:7/?x©Š043NrBw†bb`e†snompt„…IrV2130--11;Gbeddddccccbaa`aaehifefedccddcbaabcc†††‡‡‡‡‡‡…†‡‡‡‡††††‡‡‡‡‡‡‡‡‡…„‚~}xutttwxxxyyx{|zvuwzz{{zyz{~€€€††……†‡†††††††††……††††††††‡……†‚|xuutvuvxxxxwz{zywtvvyzyxwy{~€€€………„…†††††…††…………†††……†………„……‚€|uwwwwwyzwxwz{zyxvvuxyywxyz}~€€€……………………††……†…………†………„†…„…………ƒzyywwz||yxxz{{zywvvxyyyyyz~~€€€†…„„…………†……††…………………„„ƒƒƒ„„„„€|yxwyz|{zzz{zzzzvvxxxyzzy|~€€€„‚ƒƒ„„„…………†……………………„‚‚‚‚‚€€|zxwy{|zy{||{yyxwvxz{yzx{}€€€ƒ„…ƒ‚ƒƒ………………„„††……„‚€€€€}~~~{zxwwxyyz{{{{zywwwwwxyzy{}~€€€‚„…‚‚ƒ„……………„„…„‚‚‚~~€€~}||}|{ywwxvvx{}|{{{yxyxwuuxyy{}~€€€‚‚€‚ƒ„„††…ƒƒ|zz||{|}~~}||zz|zzyxwyxxzz||}|{zwyyvuuwwx|€€€€~~~ƒƒ‚€~{xwxyy{{z{{yyxy{yzzyxxyy{{|}~||{zyxxvuvuv{~€€}ƒ~€€€}||||||{{zzzwyyxwxy{z{{yvwxxz|||}~}|{xwywvvvv{~~‡~~€€€~~€†‰Š‹ŒŒŒ‹…yvvwvwz{{{zyvuvxz{{}~}{yyxyzzwx{|}€~~Ž…~~~~}}~}}‡Ž‹Šˆ‡‹Š‹ŒŽtvvvwz|}{yxz{zzy{|~}}{xyxz{}|}€ƒ……‚~}}ˆ‡~‚‚ƒƒ‚{z~†„~~ƒ„…††‡Š…wttuwyyzyxz|{yzz{}~~~{y{ƒˆˆˆŠ‹ŒŒ‹Š‰„}|€ƒ€€†‡ˆˆ‰‰€{€‡†ƒƒ…„„†‚„ˆ†ystuvxwyyyzzyyyz}~~~|y}……ƒƒ‰‹Š‹‹‰Š‰~z€‚ƒ…††…‡ˆƒ~‡‰……†ˆ‡‡ˆ†|uusuxyyyzzzyxx{~~~~|xv€†„„…†ŠŠ‰Š‹Œ‰|r€‚ƒƒ‚‚ƒƒ‚ˆˆ„…ˆ‰ˆ‡‚ˆˆ~wxxvwyxy{zzyxz|||{{yvsvƒˆŠ‰ˆˆ‰‰ŠŠ‹ŒŠr‚‚‚€€€€‚‚…†……†‡‡††ƒ‚ˆŠ„~€}zyyy||{{z{zxtpioqux~†‰‹††Š‹‹Š‹‰Š‹„w„ƒƒ„ƒ„„„„„ƒ„‹‹ŠŠ‹‹‹‰ŠŠˆ‰ŒŽ‡‚€€‚‚‚‚ƒ~|xuuxxyz€†‰‰‡‡ˆ‰‡‡ˆˆ‡‰†~‡‡‡†ˆ‰‰‰‰‡†‡ŽŒ‹‹Š‹Œ‹ŒŒˆ‚ƒ„ƒƒƒƒƒƒ„„„……„…„}}‡‰‰ˆˆˆˆ‡‡‡‰‰ˆ‹…‰‰ˆˆˆˆˆ‰ŠŠ‰‰Œ„‡Š‰ˆˆ‡‡ˆŒŽŒ‹ŒŒ‹†„„ƒ‚ƒƒ„†‡‡†„……‡…„ˆˆ…ƒƒ†‡„ƒ†ƒ‰‰‰ˆˆ‡ˆ‰‰Š‰ˆ…~‚†……………‡‘“’’’‘’“““„ƒƒƒ‚‚„††…†zvtvusrrsusuy‰‰‰‰ˆ††‡ˆˆˆ†„‚ƒ„……‰Šƒƒ‰Šƒ€‚‰…‚ƒƒƒ€‚„†ƒ}yxxwwwyxz~~ŠŠ‰‰‰ˆ††‡‡‡…„………ƒ‚‚ƒ…Šˆ~{{€ŠŠ‚zz~†‰ƒƒ‚€€‚€~€€€€€€€„ƒ~{ˆ‰‰‰ŠŠ‰††‡‡ƒƒ…‡‡…‚‚‚‰ˆ††‡ˆŠ‹‡ƒ„…†Š‡…‚‚‚zttxzyz|yzyssƒˆˆ‰ŠŠ‹‰†††„‚ƒƒƒ‚‚ƒ„‰‡ˆŠŠŠ‰‹ˆ„‡‰Š‰ˆ†„ƒ‚‚‚‚ƒyqpstty||wurps€†ˆˆ‰‰‹Œ‰†„ƒ‚‚‚ƒ†Š†…††††‰‰|ƒ…‡Š‡ˆ‡…ƒ‚‚ƒ‚‚‚{rrsv}ƒ€~~ztrs}ƒ‡‰‰Š‹‹‰†‚ƒ‚‚‚‚‚‚†ŒŒŠ‹‹Š‹ŒŠ‰ŠŽŽ‡…‰‰‡„ƒ‚‚‚}vvu{ƒ€€yvw||†ˆ‰Š‹‹‹‰ƒ‚‚‚‚‚‚‚‡‘—–••–––•–““•”’‹‡ˆˆˆ‡†ƒ‚€€‚€~}|€€€~}}}}~ƒ‡ˆ‰ŠŠ‹Š„€ƒ…ƒƒƒƒ„ŠŽ’’’‘‘’‘‘‘ŽŠˆˆ†ƒ€‚€€€€€€{~}}ƒ‡ˆ‰ŠŠŠ…‚ƒ‚ƒƒƒ„‹†€‡ŽŽ‘’’‘’‘‘‘ˆˆˆ†„„‚‚‚‚‚‚‚‚€u~}…‰‰‰ŠŠˆ‡†…„„„…„ˆ|ˆŠ‰‰Ž‹‹‰Š‹Š‹‹ŒŒ‰ˆ‰‰ˆ†ƒ…‡‡‡†††‡‡†…‚oz€~‚‡‰‰ŠŠ‹‹‰ˆ…„…†„…„€††…ˆŠŠŠŠ‹Š‰Š‹ŒŒŒŒ‹ˆˆˆˆ‰‡‚€‚ƒ„„„„„ƒ„ƒƒƒ‚€hm|}{~ƒˆ‰ŠŠŠ‹‹Š‡……†„„……ƒƒƒ„ˆ‰ŠŠ‰‹Š‰ŠŠŠŠŠ‹‹‰ˆˆ†‡‡„‚‚‚€€€€€iir{}~…ˆˆ‰ŠŠ‹‹Š‡……„ƒ……ƒ‚ƒ„ˆ‰‹„ƒ‰ŠŠŠ‰ˆ‡‡ˆŠ‰ˆˆ‡‡ˆ†…„ƒ‚€€€€‚ƒ‚kjkw€~}‚‡‰‰‰ŠŠ‹‹ˆ†…„‚ƒ„ƒƒ„††ˆ‰†ƒˆ‰‰‰‡‡††‡‰‰‡‡„†ˆˆˆˆ‡„ƒ€€€€‚ƒ„…ƒnmls€}~„‰‰ŠŠŠŠ‹Šˆ…„‚‚€ƒ„†ˆˆ‰‰ˆ‰ˆˆ‰‰ŠŠŠ‰‰ˆˆ‡†‡ˆˆˆ‰ˆˆ†ƒ€€€‚„………ominz€~|€†ŠŠ‰ŠŠ‹‹‰‡„‚‚…ˆ‹Œ‘’“’‘Š„‡ˆˆ‡‰ˆ‰ˆ‡„€ƒ†‡‡klhiky€}}ƒ‰ŠŠŠŠ‹‹‹‰…‚‚‚ƒ‰’•—–————————˜˜˜˜’‡‡ˆ‰ˆ‰ˆˆˆˆ‡…‚€€ƒ…‡mmiges€~|†ŠŠŠŠ‹‹‹‹‡„†„‚‹’”––”““’‘‘‘‘‘‘’““‹‡‡ˆˆ‰ˆˆˆˆˆˆ†ƒ€€‚ƒlkgfgl{€~}‡‰ŠŠŠŠŠŠ‡‚ƒ‚‚„ŒŽŒŒ‹ŠŠŠ‰ˆ‰Š‰Š‰ŠŠ‹‹ˆ…ƒ†ˆˆˆˆˆˆ‰ˆ‡ƒ€€ggfghhq~€~~‚‰ŠŠŠŠŠ‰ˆ†„„ƒ…‹‡†‡††…„„„ƒƒ‚‚„‡ˆ……Šˆ‡††‡ˆˆˆˆˆ‰ˆ‰†ƒ€hghfghhu€}€ˆŠŠŠŠ‹ŠŠ‰ˆ‡…„ƒ†‚‚‡„ƒƒ‚‚‚€€ƒ…ˆˆ‡…‡ˆ‰‡†‰‰ˆˆˆˆ‰‰ˆ†‚€jhgegihr~~„Š‹ŠŠ‹‹‹‹Š‰‡…‚‚‚‡‰„‚‚ƒƒ„„„‚€‚„……ƒ…ˆ‰‰ˆ…‡ˆ‰‡ˆ‰ˆˆ‰‡„jhgegiho~€}€‡ŒŒ‹Š‹‹‹‹Šˆ„‚‚‚‚ƒ€‚„…ƒƒƒƒ‚€€‚‚‚…‰‰ˆ‡‚ƒ‡‰ˆ‰‰‰‰‰‰‡ƒjjihihhku~‚ŠŒ‹ŠŠ‹‹‹‹‰…ƒ…‚‚€€€€‚€‚‚‚†‰‰ˆ‡‡‡ˆ‰‰‰‰‰‰ˆˆ‰‡lkjjnkhiq}‚~†Š‹ŠŠ‹‹‹‹‹‡‚ƒ‚‚‚€€‚€€‚‚‚‚…Š‰‰‰‰‰‰ŠŠ‰ˆ‰‰ˆˆ‰‰klmopolos|€~}}‚‰Š‰‰‹‹‹‹Šˆƒ‚‚‚€€‚…Š‰‰‰ˆ‰ˆ‡‰‰‰‰ˆ‰‰‰‰{zzzzzzz{zzz{{{zzzyyyyyyyzzz|‚„ƒƒ„„†‡ˆ‡††‡‡‡‡‡‡††‡‡†……‡†„ƒ‚ƒƒyzzyzzzzzzzzyyyyyyyyyyyyyyyyz‚‚ƒ„„‚„…††………†‡‡……†„„…††††‡†„‚‚zzzzyzzzzzzzzyyyyyyyyyz{zzzzz‚‚ƒ…„ƒ„………„„…†‡†…„„„„ƒ…†‡‡†…„ƒ‚‚zzzzzzyyzzzzzyyyyyzzzzz||{{z|€‚„„„„……„ƒ„†‡‡…„ƒƒƒ„„…‡‡‡‡†„ƒ‚‚€€x||{zzzyyzzzzyyyyyyz{{}~}|||€‚„„„„………„…‡‡‡……„„„„…†‡‡†…„ƒ‚‚{€~|}}{zyzzzzzzzzz{}}~}~ƒ‚ƒ„…„„……‡††††…………„„…†‡‡††„„‚‚‚€‚€€|{zzzz|{y{{|}€€€€€‚„…ƒ„„……„„„„††††„…†……„„…†††††„ƒ‚‚„~€~}|{zzz}|{€€ƒƒ‚€‚ƒ………†……………„ƒ„…††„„……„………†††……„ƒƒ‚€€€€~|z}€„……†…„ƒƒ„ƒ„…†††††…………„„„…††…„„„„„…††‡†……„ƒ‚‚ƒƒƒ€€€~‚„ƒƒ‡ˆ‡‡†„„„…„…‡††††……………………„„……„ƒƒ„„†††ˆ†…ƒ‚‚‚‚ƒƒ€€€‚„…†„………„……„„…„„†††††…„……………………†…ƒƒ„„…†…†ˆ‡…ƒ€€‚‚‚ƒ}€‚ƒƒ‚ƒ†„~~~…‡‡†ˆˆ†††……„…………†………„„„„…†……††„ƒ‚‚‚‚ƒy}€‚‚ƒ„„„„††}||~~}}‚ˆ‡‡ˆˆ††„……„„…††ˆ†………„„…†…†…ƒƒƒƒƒƒƒ‚€ƒ…~€ƒ†‡…€}|{{|{yz}}†‡‡ˆˆ†……„„……†‡‡ˆ‡†…„„ƒ…‡†Š˜šššœœœœ™Žƒ…‡ƒ‚}{xy}…‡„}|}|y|zw}{}†ˆ‡‡‡…„„ƒ„„††‡ˆˆ‡…„ƒƒƒ„†‡‘Š†…„„††‡ˆ‰…‡„„‚~|{|~~„…‚|{‚€wxxx€‚}}„ˆˆ‡‡†„…„„„…‡‡ˆ‡†„…ƒ„……†‰y{|{zzxxyy|‹„‚‚ƒ€€€€€„€{{€xy{{†}}‡ˆ‡††…………„…†‡ˆˆ…„„…†‚~€ˆ€{|zzzyzz{Š‡€‚‚‚‚„|}~~|}}}‚…}|„„…„„„„„„„…‰‡††‚}|‹šŠˆ}z{zzzzzzy†•€‚~}}}}|}~~~~}}€ƒƒƒƒ‚€€„„„„†‚€»£~{}z|}}}~|{‡ž~€}}}}}~|||}||}}}}}|}|~‚€€€€€€€€€‚ƒˆŒ“‘˜–””••˜™™™šš˜{}}|||}}€‰}~~~~}{zz{|{{||}€€€€Œ¯·¾º³·½¿¿»¶¼Â¿¼{{}~~}||}‚Š„€€~|zz{{||{{|z{€€€€€€€€€’·ÌÐÓÓÔÕ×ÖÕÕÕÏÉ´|{|{}€~~€€‚ƒƒ‚ƒ„€~||}~~}~~}}€€€€€€€‚›Œ” ®³¶¹¹µ²­¥–Š„~}}|}~€€€‚€‚„‚~||}~}yyz~€~}}€‚€©§ˆ~„‚ƒ‚€…ƒ~¨€}||}~€€€~}€€||}}wvx~€~|{}‚‚€®ÍÇ´©¸¬Œ…„˜º¼·ÊЀ~~}}~~€€€€€„‡‡ˆƒ|||}}{zxz~{||~€ƒ‚¬ÎÐÏÉ´ž’¥ºÆÏÑ̓~}}~~€€€‚ƒƒ……„€|||||||||†€}}|~~€€€¦ÍÐιš…‚‚‚€ŒžÂÒ΄ƒ~}}}~~€€‚‚}zz{{{{{{z|~|{z{~~€~›ËÅÈ›€ˆ‰‰‰„§ÂÀ†„‚€~}}}}~€€€€€}xuwwwxwwvwxxwwy~}}~~€ŠŸ’™†€‚‚ƒƒƒƒ‰Ž‹‘ˆ‚€~}}}~€‚€€€€€}yyxwwxwy{zyyyyzzyyyz}~~€‚~‚‚‚‚‚€€„„ƒ‚€~}}}€‚€|‚}yyyxyyyyxy||{zzzz{}~~~‚€€€€€€€€€€‚„„ƒƒ‚‚€~}}}~€€€€€€}‚…„~||{{||{||}}||{{{{|}}}~€€~~€ƒ‚‚‚‚€~}}}|}€€€€‚ƒ€€€|||||{|||zyzzz{|}}}~€‚€€€€€€{~Œ‚‚~}}}|~€€€€€~~€€‚}||~~|{{{zz|{zz{}~~€€‚‚‚‚‚‚‚}{‡‡‚ƒ~~~}}}€€€}€~||€}{z{|{|{zz}}~€€€‚‚‚‚‚}}ƒƒƒƒ€~~~~}}}~€€€€€€}|~|{{{|{zzz{|}~€€€€‚‚€€€~ƒ„ƒ‚ƒ~~~}}}}~€€€€€€€€}|}||{{|{||||}}}~~~~~~€‚€€€ƒ€}„‚ƒƒ‚~~}}}}}}€€€‚~|{{{yyyyxxyyxwxyz}€~~~~~~€‚‚€€€‚€{{}ƒ‚‚€~~~~}}}|~€€€€€|yxwvutuuuuuvvuutux~~~~~~~€€€€~zyz„“ˆ‚~~~}}}}}€€€€€€|xvvwxyxyzyxyzzyyxw~~~~}}~€€~ywy}„Š…‚€~}}~}}}~€€€€€|{{{{}}}|~~~~}}~€~€€€~~~}}~~~€~zxxz‚‚‚‚~}~}}}~€€~‚‚††€~‚€€†ˆ…‚‚€~~~~~}}€‚~zywxy€ƒ‚‚}}}}}}}~€€€€ƒ„††ƒƒƒƒ‚…‡‡…‚~}€~}}~~~~}~‚‚~zxxyzƒ‚‚‚€~}}}}}||}~€€€„…†„‚‚„……‡‡…„‚ƒ‚~}~€~}~~~~~~€‚~|x{{z~‚‚‚}}}}}||||~€€€€ƒ„„…†…„„‚€€}~€~}~~}}~~€€€~{|}~~€‚‚‚‚~}}}}||||}€€€€€…‚~~€‚ƒƒ‚‚€~~€~~~~}~~}‚‚ƒ„ƒ‚‚‚„„‚€~~}}}|||}‚‚‚‚ƒ…††…†ˆˆ‡ƒƒ‚ƒƒ‚€~~}~~~~~}}~~ˆ‰‰‰‡…………‚˜Ž~}}}|||||~€€‚†ƒ€ƒƒ‚‚„‚‚„ƒ€ƒƒ‚~~~~~€€€~~}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÎÍȾ³¯¢ ”|sgiyjhjomscgbT\a\]e^T]b^`WQOU[Y`e`fUUXWUWUTZVPV__]WTLD>9;9532@3ÎÎÏÏÏÏÏÏÏÏÏÎÎÎÎÉÂÆÂÊÎÏÎÎÎÎÎÎÎÎÎÎÌÌÌÌÌÍÌÌÌÌÌÌÌÌÌÌÌÍÍÍÍÏÏÏǵœ¤—uys_\_q|o]`nkh[YZ\_YYVO`f_]TPOQXV^iihQV^aZQPKQRZ`c]VNMJA@76643087ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÁÅÀÈÌÍÍÌÍÍÌÍÎÎÎÍÍÍÌÌÌÌÍÍÌÌÌÌÌÍÍÍÍÎÎÎÎÎÏÎͦŠŠtmmmlmkms|z^a`bdZ[[\\]TSV]cY[ZVTTUSW[heRQY]VMNNRR]caa\QFB@;742221/2ÎÍÍÎÎÍÎÎÍÎÎÍÍÍÍÉÃÆÁÉÍÌÌÌÊÊÊËËÌÌËÊÉÊÊÊÊËÌÌÌÌÌÌÍÎÎÍÎÎÎÎÎÎÍÍ̵˜{kosyt}edb]eX`cd[ZWUaZTYedSPSWXTNLVOXhROTXYPNSPOYa^`XUTNH?;75331-.ÍÎÍÌÌÍÍÍÍÍÎÎÎÎÎÊÂÂÁÌÏÎÎÎÍÍÍÍÍÍÌËËËËÊÊÊÊËËÊÊÊÊÊÉÊÊÈÊÊÊÌÌËËÌ¿‘€„t_k|kdg^``WjcYYUTN\a_`qlZPOV^UNJTRQXT[\YUNPQW\_XWZQOXNH?>@<530-,ËÍÍÌÌÍÍÍÍÎÎÎÎÎÏȹ¼»ÊÎÎÎÏÎÎÎÎÎÎÎÎÏÏÎÍÍÍÍÌÌËÊÌÌÌÌËÊÇÊËËÌÌÌÉÆÄ¥‰yzog\lnnc^`]W]`UR[STQZdefhcgURW[TPSUSRXRZ]aURTRZ[\YYTSOOOH??>8641/3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻżÆÎÍÎÏÎÎÎÍÍÎÎÎÎÎÍÌÌÍÍÌÌÉÊÍÏÏÍËÈÅÊËÌÎÏÌÇÄÁµ¡|zpfVRa]Y]a_]a^WUSLMVZ`adi`[SPQQOLTPSP`KTUZ[XZZ^Z[XTQSOSJDD?B;420/5ÏÎÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÁÅÍÌÍÎÍÍÍÌÍÍÎÍÍÍÎÌÍÍÍÌÌÉÊÊÍÊÆÃÄÂÅÇÊÍÎʾ¼«€}pUTRPLUXoodbc]YND?NXR\ba^WTRLMLIMIQLZNSUVWW[\Z\^YSOTOWMCH@>=2/.--ÏÎÎÎÎÏÎÎÎÎÎÎÎÎÏÅÀÊÁÄÍÌÌÍÍÌÍÍÍÍÎÎÎÎÎÎÎÎÍÌÊÈÇÆÉ¿ºÃ½Á¾ÆÊÈü® ¨ytbVXXWfg]ofe^VVRRVUdUP\]TOWXRLIFPQRXWRQXZUTWXUOP[USWSXU>6612/..--ÏÎÒÖÕÐÍÎÍËÊÉÊËÍÄÀÉÁÁÌÎÎÎÍÍÍÏÏÎÎÎÎÎÏÏÏÎÏÌÄÂÁ¾Ä¼¹­À¸¿µ¿Æ¿½¶¦‡„}pˆ{f[`[]ckVn\T\SNTU`^XOPTXQQRUXLLLSRR[g]OVYVWUVZQJ]YY]]MC<6531.....ÍÛêîîäÓÌÊÿ¾ÁÆÉÂÁÈÁÀËÌÌÍÌÌÌÍÎÍÍÍÎÎÎÎÎÍÍËÅÁ¼´½º±¢»²½±µ¿µ¼´–†}}nhecbbUYc]Ud[SZ]PSSX]UUTONMKKMSYWORPQRd[MY\XQLMXYPXYPLJA7<<962/---.ÙïШµäé˾¸³²·»ÁÃÃÊÆÂÊÌËÌËÌËÉËÌÌËËËÌÊÉÈÄÅÀ³®ª®²¦ž©­¸°´µ®­¢uxullSbe[XaXRZi^X^YKPRU^`bUPMLKNSMUVKOTOS^^Y`\ROKLXXSYPPXJCC=;;972....îÈwfm£æص°®®µ´¿ÅÆËÉÄËÍÍÍÍÍÉÇËËÌËËÊÊÇÄþ¿³ œœ£¦›—¡­¯¬®¨§™„vljejm\UXVa`VV]\X_VRUTSUV`XRTONTVRTUWRPXPSZ`X^XZ\W[_TRYVRP@>E;877752000äŠwvqÊç·¬«®±²¿ÁÅÊÈÃÊÍÍÎÎÌÆÁÉÌËËËȹ³µ¶¼¬ž•™œš“ ±®©ž™œwideUg`PMHNWaWQQ\gabn^^b]TVNPPOPQVSVTVYR[OP`^^hZb_ke^RQNLIK@­ƒ…ƒ„‹ºåÞÈ󮯬«·Åº­²¸µ¿»Ç½±ÀÄ·ª ¡˜›Ÿ’”…‚„‹Œ„€Š‹Ž…ƒ‚„€yvp`VVUU]\UYUSWgRPO]gdSQ[YSMLMJKHELJKSU]`QYQPmscf^`\S`[VUG<:;86543464;?¬µ¶Œ‚»âíîçÆÅ©¢¢©ª ¡¡¤¢¢¨¹±¦¦«š›™¡™™ ‘•Ž…ƒ…‚†y„Š‰…}}}~vrpjeYRYgZRVRT]ZNW[]_XRRRRQMKOPKNRQGDMPU_RRM^ab_Xdj\PT]XGTF<<;9555589<=…·Á”†¹áìæâä쳞 ¯¡Ÿ¥©¤¡£¤Ÿ••“œ™ š’š‹Ž‹‡‡ƒ~‚‚zˆ„‚{|yxqhheZVYQX^XU[Y\[VYZZ][UOJWUNLOIACEE@AFIHQJRSZ]aY`p]_OZ`[HDD?=<85567:>@?‡’¿—Œ’ºáíнßè´Áĵº³·¸ÄÀ¸« ¡•’ž—›–†Œ‹Š‡†‚z„}€wywsqmlgY\dcbXRSWW]\bWU]SW_[UQJOMMIBCDA?EFFCRGUX\Xab`\RcbVWXPKGDE964579>=><?>==AMOX`[Tiˆ™‰ƒ~zxurqonoopsw{ƒoWGKKóìò~Œ¬˜¢JAFXlm[]VLK?|ˆxz|†gXKm¥¢˜Ž„²©~žMROKA54JlNtuuiksljg^P]m^USZ\ZSPWXYb_YV[ZUMHEAA??<78>DGI[gYSuWXUSRRPLKJJHHIIPRQQRTNPKDP¦‘’V|•œ’RM?K††…zN=F=`•}~|‡Wo@4@>;:LOZ`bdWOJZn_86C{Rn{vmhmihdc]gocZNR[[VRSXV_ZV[fXNHCB@@CA@>CHA=J[hh^†TYgot{~wE:988::=R[]_``kOLDW†OGD¥ØµjLQO;JFGH<679AÊÏ‚€Vw558=@>MONMKKLMI]yb?:…¦h^{ypfgkmga\[W_[OPWTMOT][YX[_]STNGABGHA>CRQHT\_g…}[ª«­±²²p=66NUNfkjt~Œwbuœ˜~ukXK?:CHDr;9:;;BhNZiyLCMw¬ÃÔÑÑÓÕÙØØÖÓÒÑÏÐÓ£€€hw^39Dƒ—{K?876CNLJNu‹P64A“UhllgfdamaTV^XW\TQTRTP[]Ze^VURPIIHDGKFBGNNRhnlup—j]?Q;656;EGB@ED@™‰29:;::^ZZjoHHOm³ÓÛàääåèêæèèçãâã߶{_‡PCGL‚“ŒND7547?;=Yž–M566‡i]jbab\\jdWOX\`\ZRMOYV[e``XPOVSMF?=GU^W[cgne\ZYg ^T=J6988>E?9::8U—ˆD;93w‡Rp]TZec``_UXZYTSPPNU\[TYZUNQZTPW[Zr„xdkxn]UVZYvœTK;C5:MJ;>9336=E]>CEGA78JeKe>865l©áçïìíÆ–Ÿ×ºœ°í鹈ŠŒ{XPhYgj]LKPTVQOOOY{mD==6irEjD>;Vc^a]Y[TSSUY]RLVXONOU]ZY\fx†‹„ccqiVRXXWg‘ŠJD>@9Qx}\;6335777:@BB>55AbG`kYPQoµº¾¿¶º²³½¼±¹ÃµR57bjAJ@LB@8;3Rjkqooolp|‰“‡‰‘ŠŠ”³˜‚|y}{mbmmaVWZ^^l“tBFFGAP|„UA?73456;ABCBC@7<_ETrqosssruvwwxwy{}}~~yG53/85589;855568778879:;=:<=HG08ENgpqtuvyzyxuutvxxxy{‰”¥±³­›Œ~rlmmmom[T_ot‹bAo_JDEXYAHKD999=DKKJJKG?;O>Nqomllnoqtuuuussuwy|{ki[8_E;;:988998877888899999;<=FEDghjjihiiimqruvuuvvtrqrrpprwŠ™¦­¯¨ €rgbNU\bw^@jg<99>AAFKL`nnsnZA?<;;;=CUfuqnkjjlmoqqssrqoppsw{|›¹RQ@:988788776667777778889::<>ftegkjihfeeegijlnruuvutsponppomot{ˆš­¿¸¡‰gSYPFv{_VQEDNQOOORVYYZYVTSMHFXhp‚’zwrnlkkkmmnpqpqpqpoprr±\K;358766666656765556653229JH]nekoomlkgca`_bcehloqtuwutspmmnnopomlxªº¼• ¤m{suliaSXlpnlmlljiiknpn`Yddcnzyxwtpljiiijlmnpppqqrro|šiXqcD345444555G9545_¢vqokgeefefhfecccddefg~xbcccaaaacejmprsuvwwsnhgikoet‰cWSVWWXXYXVVWXYXWWWXXXXYYYWXVRrtuwwvvsojfffeghijkklknW0hºÆÆí·‚gTX`yQe°IVjjœ}^mrwvuvz€®“‡†|zzxxun|oigecbaaba`bfjmpsuvwvtqlhg`jy`^_ZXYY[]^\ZZ[[[[[\\[Z\]\[jfhŠnpqsttssrmgea`bcefggjfWG0?˜ØÙêòµ…`bc…j¡Õqicz›dv‡’˜œ››sILBNŒ¤¤£žš“…y`vnmkfdaaba`^_bejnpstttttqkU`hZl´ ŸVRTWcZZ\]dZYX[gQOL~Ø»¿ÄlnppqrrrsqkgcaababddggN70.Dhg‹­Ÿ§gmp]\Êù›_oŠzZŒÈÕÖÚÜßÖg\SPL•çáÚ×Ûݸv\illnmkhcbbbda^^aeinpqrrrusSOZQcÅÏ×Ýò›ID?}ƒ?BnŽg”ÅZÏš[ÊŽEMdÎë }`SbgikmoprttssqokecbbbbdE-.048?GSazÊòìîîììðÓ„UiA@DFIMMDBTzwX^‚€p`RGD<``^jiecegjlmjfcccca`^_bgjkmM?DJOPRX^ˆ·qk_aÖÁŽ±‘¾Öfaosw…hZYT^cegjmnpqrrsrqnjebaaacH..016>GZs–­ÀóîóóòòóÁp\dG=79986:XMFS_†Á¼»º·´·®aaYHB7:<98755ELA=78?D=9>A>kRflmlhedccegihd``_^]^][Z]L@AILOSW[elrsty‡›¶Ã­œ†€}{wrhZWTÅy]dhjkmoprtrrpomhca`aM2205A†Þ„CAM`JMMMOPuœUeNGB?PYL@>8443464E‰a5665`W`llmligd``bffecaa^]_^]Z\J=?IKNSVZgu}ƒ„–ÃÌÍÑÖÔÓÔÕ°}{vpf[USÍÀq]eggilmoprrppplgcabL5601:‰ÑrŽž“– ª¦­¤ŠMeKQPLOOMJMI945568TŽ±FME7PZZj`biljhd``bcffdb`____`_K:=IKNRUYeprrožêìäçåëììòÂjhimf\URÀÏ´b\bdgiklnqqpqqplgcbL58//0;TO?@BAF]ƒŸ¡†rM9@BKXUMBADYJC==GRTRJBB@AECG\b_ŠaTjllljgcbdghjhgecbcO3;LNQQT\gg][Ykœ£š•““’nGBM`e^[Tw¶ÇÏ‹W_dgikllnoopppoliJ2:1,+/02443498QB8:327JJ\q©‹OŒ¾ÊÈsYaehjkllnoppopnlJ/;23;/,,*)*+**-0Bpoh]]\[[[\\\\[[\[[\[[[[\\[[\\[_dIIikijjjkkkjebbbehjigfM+;FBL³ÇqZOOKPPPM`aU]WTYQNHQVTt×´[w®Áͱd\bfijllmnonnomgF.:43LNE=771*+**(JMVlcY[YYYYYYYZYYYZXXXWWVW\`adeipqXjurrpolgnmkkhdbabfhikO(:B=J•¤f^e[=<=<>@>=>??@>7:\gb`sgWXx·ÃÍŸ]_efgikmmllmmf[B/9505CFE83/,05:=a\h|`TXXXWWXXXXXXYYn`er€Žš¤ª«­®°²²³³®­¯¯®©˜}rjkjhebabcejP'7?kaRMJq¸ÂѬ_\adfhhiklkjgc___^]\YYZ[\^`e`Y|n`¿çÚæÇogkmoprrwuNFEDDCBBCBA?FC<<<;;;:;;;;;:Pgghhhg`UPA$450+5>=<=<<;:9766;;::;;A6!(lodQLM‡¼ÃÒ–Z`dfgghikklkifdca_][ZZZ[^ae`WeSF§å±ÝîŠktuvwxwŽY<<::::99::?=:689;:87777779<@\hggecaWMA&33-)29987557775666666632211-!)5imv\OLWœÀÊË~Zbeggghjkklkihfdb`][[[[^_b[TPHFYymÅåƒ}™¤ª³¾¨C<==;76656778@>MffffdccXH,1.,,4-+)'%%%&'&&&%%%%%%&&&&&$)1qpmgWOLd¬ÃÐÃr^dfghijkllljjhgfd`]\\\]_a]LFHGLOWoƒ„Á»‘ˆ…†¤v;?9??>=;>AG_”i;?B:954445556=AA]feecba^UD6/0031258:;;989<=>@@?=9=ADIKOPQpklndRTgˆ½ÉÔ¸j`eefhijjklkkkjigd_]\\\]`_JDJGNQV]lŸäq.42?›Y<>459987Qeedcba`\YSNNNPRTY_ceeb_^\\[Z[\[WWVW[afghlmomhXOQTŽÂÆÔ¨``aceegijjkkkkkjgc`^\\\^`IAJGOV[bo™ßp<==k£C?924:=:65OA423445537RNG>7525@>Gaeddbbb`^\\[ZYZ[\]`ehhgfba^]]^][YWWX[`dfnrroneSMMX£ÅÌÓ[`bdegiihjkkklkifc`]\\]_F@JELV_gs”׉\€ŽžŒ;@622;fe52=812102358BOKKLI?52GEHOWboÑŒnÜõ¾g;?324[{V4100010146ABIQ[YZXB26C=NeT>?ASecbbbbbaa_^\]afklljgda_][ZXWXYYZ\nomlkkg]SMM•ÆÊ×£[`cefghghijkkkkigda^\\\>=GGGNV`m…¶~O½ê¤N;@9:8[Ž‹B?90/0013;HIPQ_]ZZG33A>F`P452;bcbbbbbccb`^\\_djlkhec_][YXXWXYYZnfcfgac^TNKe¸ÅÏÎyZaghffghiijkkkjhfc`]\\;:GHGIS[fdF>8nÇB;@AODAPSLCBA4.///3DHQKQd`WPG52>?@E>5726`dcccccddeca_\\^chihgea]\ZYYYYZZZlfgfsnibRKMM„ÁÆÕ´a_dedefgiiijkkjjheb_]\85EHN…œ{U@?GIKg]?:HRvQ@BABB@@943235@CNAM_^RQH9067;;@31>@>7KOC<:;;;:89=>;9:8768547;99?JEEB:<— Z_cbcddddeefeefdca_]^cfikkhc^[\[[[[[jrlipptre[OLJq¶ÃÐËs[beeeghhiijjkkjhgc`]:634434545679>AB@>?@;:;:::;<<=BB=9K7c»{^abbddddeefeefffdb`]^aeikjhc]\\\]]\twpnrpompqZLKOŽÁÇÖ²`adefghhhijjjkjjhea_808AFKYfgp„š¶½˜Ie>;=;<<=>?@ABGNPMLMNNNNPOQQOOLOWN|[;bdaaabcdddedeedefgfdb`]]^cgijhc_]]\\\rplimnjhjkeMJK`®ÃÊÖŒ]bdffhhiijjikkjigc^6,6:@?<=BCIY“º~H‰oFBOV\`cdhiknprqpppppoppomnooryf}ƒOW`baabcddddccddcdeeedb`][]cgjkhc_][ZZqmmeilptooiQILLz½ÁÐÆp`effhiiijjjkkjih_S2.4060-+04=H`›pN‹‡m^rpnnljheb___[YZZYY[[[XX[[\ad]gw{]Uaaaacdddccddfeeefffdb_\[^cgjkif_]\[jfcbfjrrorr]LJXhš¿ÅÕ«abefhijjjjjkkifcZN3.42;18:AINXMoi^†xjZ`[USQPOMLLLKIHHHHHIHIHIIIKNMNRTev_a^^aabddccdefgffffffec_\]_chkmkid`^bilhopllprpkTJMMX§ÂÈÔ]befgijiiiijjhfeX6-10+/79:;>TQ`xkkWQLKLHECCBAAAA@?>>????>?????@BCCBDIgy`ÁÅ­jacccdeffffffefffc_\\_chlmmkfcxssptrkjlkhleLJLIm¹¿ÎËu\bdfgghghghiihe\D0+,,+&%$$'HcwmUCCAAA@?><;:::;;::::::;;:::;;<=?>>>@OkevËâÞŸ^bcccddeeeeeeefgfd`][]chkmnkhy‚~qkkigijmkbOJMLL‘ÀÁÓ±]\adeffggfghhfd_V@568966631@f–ycG==;;<<<:9999877789877787889;<;:9:<::Kacjollabcccddeeeeeeffgffca]\^bhlnnlpurttlmglnnlkcYNLI`µ¿ÉÔƒX`ceffgggghgfeb[SOONOPPPPMEaydR>788889::888998898:=>><=<;:<60Agcccbae¥Á½“bdddddeeefeeeeeedc`]\]blklmqtuptljnljndPKJLLŠÈÊÖ¿kefhihiihhhggffeeeb_^[[[IK45CJVg€¥¤KDMWh€¦»`y»áãèéïïíïððõÞqh»š{bQIB<;30Aedccbaaa\ZY\a_`bb`bbabcbbbbbccba_\hhkga^`giq{wtvojndRMNQY¯ÊÇתefhiiiiihhhhhffffdca^[JS7//3=?HOVg€žÌZÈñìëìëìîïîìóã^Ш‡jUI>61/2Gedcccbbbbba``bcbbcddba`aabbbbaabaa„}‚€xu{xkhpwwy|sd]RKKKKQžÉÇ×¼eaceefefhhhgfgffeeca_@<;>93765gDBD62^©²M,4Dceddcccccbbaaabccbeedcbbbaccbbacdc€yy€ysnsc`hr{rjlfYLLKU][˜ÄÄ×Âh`ccddefeefgggffedcbB>=:4,I‡U89CK:\V6888=GICCBCCD[b;63221..ÍÎÍÌÌÍÍÍÍÍÎÎÎÎÎÊÁÂÀÌÎÎÍÍÍÍÍÍÍÍÌËËËËÊÊÊÊÊËÊÊÊÊÊÉÉÉÇÉÊÊÌÌËÊÌ¿’„€t_k|kdg^``WjcYXUUN\a_`pnZOOU]UMJSQPWTZ[YUNPQW\_XWZQOYOH>>?;52/-,ËÍÍÌÌÍÍÍÍÎÎÎÎÎÏȹ¼¹ÉÏÎÎÎÎÎÎÎÎÎÎÎÏÎÎÍÍÎÍÌÌËÊÌÌËËÊÊÆÊËËÌÌÌÈÆÄ¥‰yzog\lnnc]`^W\`US\STQZdefhdgUPWZSPRURQXRY]aURTRZ[\YYTSOPOH>?=7640.3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻŻÆÎÍÎÎÎÎÎÍÍÏÎÎÎÍÌÌÌÍÍÌÌÉÊÍÏÏÍËÈÅÊËÌÎÏÌÇĵ¡|zpfVRa]Y^a]\a]WUTMMVZ`adi`[SPQPOLTQSQ_JTUZ[WZZ^Z[XTQTORKDC?B:420.5ÏÎÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÁÅÍÌÍÍÍÍÍÌÌÍÎÍÍÍÍÌÍÍÍÌÌÉÊÊÍÊÆÃÄÂÅÇÊÍÎʽ¼«}pUTRPLTWoodac]YND?NXR\ba^VTRLMLILIQLZMSVVVV[\Z\^YSOTOWLCI@><2/.--ÏÎÎÎÏÏÎÎÎÎÎÎÎÎÎÅÀÊÁÄÍÌÌÍÌÌÍÍÍÎÎÎÍÎÎÎÎÎÍÌÊÈÇÆɾºÃ½Á¾ÆÊÈÄ»® ¨ytbVXXWef`ogg_WVRRUTeUP\]SOVXRLIFPPRWURQXZUTWXUOP[USWRWU>7612/.---ÏÎÒØ×ÐÍÍÍËÊÉÊËÌÃÀÉÁÁÌÎÎÎÍÍÍÏÏÎÎÎÍÎÎÏÏÎÏÌÄÂÀ¾Ä»¹­À¸¿µ¿Æ¿½¶¥‡„}pˆ{fZ`[]ckVn\T\SNTT`^XOOTYQQRUXMKMSRSZf\NVXVWUVZQJ]YY]]MD<6531.....ÎÛêïîäÓËÉÿ¾ÁÆÉÂÁÈÁÀËÌÌÍÌÌÌÍÎÍÍÌÍÎÎÎÎÍÍËÅÀ¼³¾º¯¢»²½±µ¾´½´–†}}nhebbbUYc]Ud[SZ]PSSW\USSOOMKKMSYVNRPPQd[MX[XRLMXYPXYPLJA7<<962.---.ÙïسÀçèʽ·³±·»ÁÃÃÊÆÂÊÌËÌËÌËÉËÌËËËËÌÊÈÈÄÄÀ³®ª®²¥©­¸¯´´­­¢uxullSbe[XaXRZi^X^YKPRT]_bUPLKKNRLTUJPTNS^^Ya]SOKLXXSYPPXJCC=;;972....íÊ}gp¦çÖ´¯®®´´¾ÅÆËÉÄËÍÍÍÍÍÉÇËËËËÊÊÊÇÄþ¾³¡›£¥š–¡­¯«®§§™…vljejm\UXVb`VV]\Y_TPUTSTV`XQSNNTURSUWQPWOSZ`X^WWYW[_TRYVRP@>E;877752000äŠvvpÌç·¬«®±±¿ÂÅÊÈÃËÎÍÍÎÌÆÁÉÌËÊÊȹ³µ¶¼­ž”™œš’ ±®©ž™œwideUg`PLHOWaWQQ\fabm__b]TVNPPOPQUSVTUYRZOP_^^hZd^ke_RQNLIK@±…‰ƒƒŒ¾åßÈij®¯¬«·Åº¬²¸¶¿»Ç¼±ÀÄ·ª ¡™šŸ’”…‚„‹‹ƒ€Š‹Ž…ƒ‚„€yvp`VVUU][UYUSWgRON]gdSQ[YSMLMJKHEJJKSU]`PYQPmscf_a\S`[VUG<:;86543464;? ¶¸Œƒ¿äíîçÆŨ¡¡ªª ¡¡¤¢¢¨¹°¥¦¬šš˜ ™™ ‘•Ž…ƒ„„y…Š‰…}}}~vrpjeYRZgYRVRT]ZNW[]_XRRRRQMKOPKNRQHDLOU_RRM^bb_Xdj]PT]XGTE<<;9555589<=‚¤À“†‘½ãìæâä쳞£¯ œŸ¥©¤¡££ž”•’›™ š’š‹Ž‹‡‡‚}y‰…ƒ€z{yxqhheYVXQY^XU[Y\[VYZZ][UOJWUNLOIACFF@@EIHPIRSZ]aY`p]_OZ`ZHEC?=<85567:>@?œ~¹–Œ“½ãíоßéøÄÅ·»±µ·ÃÀ¸¬ ¡”’ž–š—‘‡Œ‹Š‡†€‚€z„}vywsqmlgX\dcbXRSWW]\bWU]SW_[UQIOMNIBCCA?EEEBRGTY\Wab`\RcbVWWOJGDE964579>=<>Wy¥€§ÌØéëëëëëéèåâààÖÌÆÄ¿“„…ƒƒŠ‰€ˆ¡”“‚„‰‰‚|†‚{ywy{uvo_Z^_UVTTWaXQM^sue[\gQUNLSTMLIEAMWRSURN\bce[QYY^]Q[XUWH<99;:68:99>>=>lij…´ÞîíììëâÙÈÁÀ¼¸§¤˜‰z“¦™—„zspt{tgegggmt}‚„Ž€}sswyxsokg^SMLXX[SUX[[XHY`Z]YZ`WKLUPMILONQTUXW[me\[[\WYZRVNNK?985^v87998KOPwpsmowqih^RVXTXZ`]XFDQW^W[ZXVX]UOJBDA>?>==AMOX`[VUdz‰ ¢  ™–”’Ž‹Š‰Œ“––qTKKóëøšr©•¨Z@CSxmk`MMD\‘vw}ƒLUe´¸¶±®¦«·ƒ‚“XQRH:558hKlvtiksljg^P\k]URZ\ZSPWXYb_YV[ZUMHEAA??<78>DGI[gXSWrqje`\[[[[YXWWVWXYZ\_YVDP£‰Zj •¡UZD>m|xuN9=@@Œ‹”€wV^9bh`SZZjŒy{ƒUOO^aD44aa[{umhmihcc[fpcZNR[[VRSXV_ZV[fXNHCB@@CA@>CHA=J[hiZQTKRVZ[`V???>==<=MWXZZ[UKGWžUHAŽïÈ„DTSFIKINMGBA>xÇñŸ€dlQ03336FOMJLMJNKJrnQ1Q…Ozypfgklga]\W_[OOWTMOT][YX[_]STNFAAGHA>CRPHT\_gˆj\S‚‹–›Ÿ—O8668>EJPTSRQNxXO_•UJCŒäÊ°šœŸ£©­­¯±­¥ ž¬Ë×’‚Z}A36PjQDPONMMMMMKosR6M„šVjvpedhtyhWUURSRNTXPOZ\ZV[a^YOSUPIELRI;>NUNfjkt‚fzui¡¶´²ª£œdB87?FtMB=;;;RiNg~UCIeš¿ÕÖÕ×ÚÜÝÛÛÙØ×ÕÕظƒxZ676iŸ}MIA>FC›¢A78:<;=eUatLHM`¤ÑÚàåææéëéêìíéææßÎŒywhy7@?u¡eB6335CGEF~žz962`ŒNjaaa\[jdVNW[`[YRMOXUZe``XPOVSMF?I3689@EC?@ABŒž<8;<;9;\]VSHHC]šÒÞäêëá»±Ó̯¾éëèâܨxkvlDMH^ƒ{VKE;:::878z f974HšSid\^ec`a_UXYYTRPPNU\\TYZTMQZTPUVWq„xckxn]TVZZ\}–TIAD68<9;B;439>”¤:ADE?6:PdNC;51Z™Öåîìêãµ±ÖÕ·µéêäȾ©wa…kPYTw~dHIJJJJKFGY†–Z>=8CUa_DBMb]`\YZTSSUY]RLVXONNT[ZY\ev€…‹„bdqiVQXZ[[a“„OA?>5Hg_D:53357ro9CEE?55GcIpcTQf‰µÅÊÌÅÑ¿µÌʳÀÑ̘GAe‰Qi\TfG[GEKV]]XOOHPYslOF?9IH?GKGLSRVVOEDDCA=:?>tpmjijjlnpqssqqoppsw|€‚¡`JQ;:99889877666778788889::865556WsŠ˜¦²±­ª«ª«¬¬¬®­««§¡Šgaba___adinrtuvvwuokhiknoomlqŸ–o^[\YWXW`f\YXXVUVWWWXY^\WXYXXvwxwwurmigfgiijlllmnnosmRm¤¥µ‰C./11335714630.f¦•›“Š€€~}z{{{{z}€„ˆ…bcbb````bejmorruvwvrmggilnqeŽ…gYUWWVVXWWVVWWWWVWVWWWVWXWXXXrtuwwvvsojffeeghijkkllpr8W Ã«ÈªURCBBC>;€_9HNW›ydfddccegjvxpmiigfefec{thgeba``ba`bfjmpstvwvspkggjaxx]UPUWWXZZYXWXYYYXXYZZXY[[ZWXWnpqsttssrmgda`bcefggijd^6<ŠÔÉðﻌ^bcˆŽX¿‰Ovl“bn{~~{||šž|„Šƒ}~~xqwomkfcaaaa`^_bejmprtutttqkeYjm]l…m`mfY\]]Z\^^]^^_^Z\[ZVbš…lnppqrqrrpkfbaabbbddfhZC5/J¬³ÂÛÖ§tcea_ˆïÊ`gf™ln‹£ª¯´µ»œQ=;9^²ÂÁ½·¶­ˆl_qkomkgcabbc`^^`einoqrrsuulPZbO|Ä·«ÏÉ`GHNu[LP`tVKLnmAEM¯ðÖÝjlnprsrstrpmhdcbbcbcdh]81-.7;Hc]„q_rp`”éÏtiyVr´áÝßßÞå¢Wd[UWÄåßØÙÞã•pWhfilpolhfeggdb__afjmppqstoMMVMfÔáÜÞñÀWD;…;C¥9S¶`9D˜íàÒÖhjlnpsstuusqmifcbbbbbfR1..036;DIQZey‹œ®ÑȬ‹|Ye²æàßààäŒJ[aVS¸äÞÛÛßçŠ^d[gefknonkjhffed`__cejlopqnIELPM—­¾ÇÍõ§B=OÄyMÂæ°E¢§KF[ãíµ¨|afijmoprsttsqnjecbabbdR/,/47:@FP\ožâäæêëêéê´hbUo–—™ ¦œWHYo\W’ÙÔʼ©š]EqThidcegjlmiecbcba_]_bgjkmlHAFLPNVs·í³]QEˆØo‡²{„ÜeJ]q¨È‚bW^begjlnopqrrrqnieb``acU1./05;FSe§£êèìíìëîå¦ZjR:567998;H^`Z_^MF=75D@lUdljgdccfhigfda`__]\\_`adeG?EINQUVYokorpjÌß¾ÏÄé²gookdc_\Y€[ceijlnpqrssrpmhcaaaaX3.0027=J]r–šéðññïïíÙ”SlOF;8;:99:9Gp_UG67;;;:I?[_[knlhfecceghgd``_^\]\[\[^H?CIMPTX[___`eowÄÚßϹˆuojiiie[WÂv\dhjklnprtrrpolgca``Y51119D‡~;4:Fy€|{yrl†QgID9:B@:7637<;976>QN=6;9HgRjmmkgfca`bffeba`]]_^][Y[H=BHKOTW[it|‚ƒŠ˜ž¦µ¾¯©¦£’…zrfZVÍ¿n\dffhlmoprqpqpkfbaa[6610:bèÈognxouxy~ƒœqV_GKEL]VKCB8545564m¨™Q9:69hPgkikligd``bcfecb`_____]]G;AIKOSV[iuz|{Ÿàäàäåéèèíµroond[UÀϲa[acfiklnqqpqqokgba[6:0/1B‰ƒ\\lvzz“˜”¡šaUXMPKIIJJJME75667B`‘¦[NPE9ZOccelkjkjgdbbdghgedaa`aa`I7>IKNQV[hnnnl¬îêãæäêëìòºhihle\U¯ÄРY\aehjlmnoopqpolgc[4<0../4?>;?C94Ml}‡‡Œ]>FGGJOTNJFERGA:=FMQ^eJD?D?>EaX•l^kmljfbcdgijhfecaabI2=KMOQV]hikol¨ííêèèçççë±fddgf[U|¸ÇÏ‹W_cgikklnoopponkh]2<1.,/15:==>BENm¤xfDACITWOFDCPTGCAEPVVRHFHFJLMSfYgoN^llkjjiecbeijkifcbbG0>KNRSZ^gaPFBF]bb^[b\UQF52FXcdpP¿ÊÈsYaehikklnopoopmk^0;5.,+----.-./4EPu‘rr__^\YYZ\\]][]]]][[\\\]^]^`bbheSS_jjkjklkiebbbehjigecE,>GIOŠŽj^LL74584LLF`MGLA?EPIVxÍZz°Áͱc\bfhjkkmnonnpom].;60GE61.-,+++)+4Jzgs\]\[ZZ[[\[[YZ[ZZZZZZ[[[[\\[\dYA[mhijjklkkkhdbabfgihhE)?C>YϹhXVOKSQPMYTNOMLNJE>T^Xl¸X[}¹ÃÍŸ]_degijlmllmnlcU-9634KLJ>87+**,,<\F`rV[ZYYXYYYYYYYYYYYYXVVVUVWZ\]h[JipmkiihemkkjhebabcfhkE'777=?>@BDDED?Idke\[PIOŠ»ÂÌ‹X]acfhiikkklj_Q084318<>91..05;?Ork„sTXXWWWWXXXXXXX[fV[eq‰Ž—œ ¦©«¬ª¯¬ª©§¡œ‰xsjjkjgcaaachE%9=;?JRYfptncaabbdfgggfhkttmdSI\QMU—¼ÇÃqT\_bdfgijkljeX@4/0/-**+++++--)IqzqphWWWXXYXXXXWk˜¥®±±¯ª§¤£¡žœžœ˜˜›œŸ¥©¬Œ_ikikjgdbaadC#67537$54ITB538732/,,+*+--..15:BN\A%lodQLM†¼ÃÒ–Z`dfgggikjjjgdb`_^][Y[Z[]_dgVlpW}æÚÖë§eloqttttyuNIGGGFGHHHFDSG@@?>=======>?XhggfdcZOL9$54*#2==;<=<<;::8:<<;;:99;:91"imv\OLWœ¿ÊË~Zbeggghjjklkgedc`^\\ZZZ\^bdS^UF]Ë»´òÈiuvwy{|{ˆN?<<;;9999:=87578:988777779:D`fffddd\P>'40-.7554211121000010/.-++++*!)qpmgWOLd®ÃÐÃr^dfghijjllkjhgfcb`][[Z[^`aPRHFI[_Ù®r™­±¶¼Å©=;SeeedbbaZH3.**,/('&&$$$$$'&&'''('&'*+-,-/pklodRTgŒ¾ÉÔµg`eefhiikkkjiihhec_\\[[]^bQFHGJNT\mxªÑŒtokp¡e;=<468777CGCFL?6886544564433:B?Veccbaa_][ZUUTUWX]adfgfcb`^\[\]]ZXVVY^denrromeSLK\«ÅÌÒˆZ`bdegijiiijjkkifb_\[[\_UAFHJT[ah~ÀÀDA=?€˜Kccccbba``_^][[\\\\_dhiihfb__]^^[YXWXZ]bnusstxiTOJp¾ÈÒÃk^bdfghiihijkkkkhea^\\[]R>EHGPYal~¶Åbx¤¥ªv:?412>\S27C512112456BULIIC;32=AAZddggfcbbbbba`__^Z\`eilljfca_]\ZXWWXY[]nomkkkg\SMN™ÇÉÖŸZ`cefghihhikkkkigd`][[\N225Z~qC100010/256?BGPXWXS>17B>PdWIKLZdcbbbaaba`^\[_chkkheb^\[YXWVXXYZnfcfgac^SNKf¸ÄÏÍuZaghffgghhjjkkjhfc_]\]M8BIFJQ[ft£ÆZ~ìÜ”C==67;t‘u<:4//0/13:GGPS^\[\G23B=HcN232?bcbbbbbcdba_\\]agjhec`]\ZYXXWXYZlfgfsnibRKMM„ÁÆÖ±_^deddeghhiijkkjifb_]^M2@JFIQZ]moYA?«Ìx=>?AB;Ja`PBB<0.0.04DHQLRc^VOE42@?ALC6735_cccbccdeecb_^\\aghhie`]ZZZZYYYYolggqoriRKMLW¨ÄËÓ“`_bdeefghhiikkkigd`]^L.=IDq­¢gQ>DStGABBBB@A511/16BEQCRe`USH7/88<;8103Ebccccddeeeeeba_\]bfjljgb][[\[[ZZjrlipptre[OLJu¸ÂÑÉp[bdedfhhhhikkkjgfc__L0;GD}âà”D5CbHBCE;=SXP?=>>><:;;;867578;7:>@=;AF?@>:@qPKXbcccccdeedeffedb`]]`eikihc]\\\[\[twpnrpompqZLKOÁÇ×®_acddfhhhhjjjjiihfa_M28AHQ–º“VF?Q=TJ@94:645345567>BB?>@?9899889;;>FFAAEILQSUXZ^ehlljklkjklllkkjjowd{F\a`aaccddcccceecdeeecb`[Z^bfjjhe`\[[jfcbfjrrorr\LJXhš¿ÅÕª`befghjkjkkkkjiicVC)5044.+.49ELw¨X_Ž~XZmoqsrpomjggfccccba``a`_bddgj`muVV^^``bddccccefedefeedb^[]^bgklkhc_^bilhopllprpjRJMMX§ÂÈÓŽ]beffghjjkjjifd`UC)31736;>GKPTRXi‰}jbh`[ZXVTQPQPOLKLLKKKKLLMNNOSQRWZmsW’ÁĬiaccccdeffefeeffeb^\[]chllmjebxssptrkjlkhldKJLIoº¿ÎÊr[adeegghhhiiiggaH+00,*26799DRMjioo_UNROJHFFDCCCCB@@AAA@A@BBABBCEEEEFLjnyÎáÞŸ^bcccddeeeeeeeeffd_\Z\cgkmmkgy‚~qkkigijmkaMILLL“¿ÀÕªY\`bdfffgghhigeaU:,++*'$$$#,Q_pkUEFDCDC@?>=<<<<<;;;;;<;;;;;;;;=????ATmejollaccccdddeeeeeeffgfb`^\^bgknmkpurttlmglmmkkcYMLIb¶¾ÉÒ{X_bdffffgghgfda\N6346755542Hq˜v`D>><<=<<;:998788889988987889;;<<;:9:=Qbb_`_lkbcccddeeeeddffeedc`^\]bgkmmlvstuloihlllotiQJKL•ÅÆÖ²_beghhgfggggfdb]XPMLMMNNNNGIk‚dU=8::;:;;98888766547899988889;‘黾µÍÛïémFKZbde’›¡”¥šUVSN8K|ÑäÐÜìîÜh1Cfccbad¥Á½“bddddddeefddedddcb`]\\alklmqtuptljnljodPKJLLŽÉÉÕ½jdeghhhihhhffddcbba_][Z[YHF:8jäðéÓÀÐì¶j@26624s{~€oa****8\sk‘›ƒsU=0Agbaaa_æïæ˜abbcccdcccddcbcbbb`][\jpvsoprloijifjqaLKKLK_¸ËÌÔ•`egghhhhhhggffdddca_]ZZXHG48G¬¯¸±©Œl„Z75898cš¤¦§šVCCBBJ€p]QHB:553Bfcbaaa`¯°d_`bbbcaabccbbbbbca`\Zqwvpjhjnojjkvste`YLMNP‡ÊÊÑÈsbfghhhhhhgggfedddb`^[[XJG0387=BGKUf€£”L8?><9;Fdcccbbbbba``bcbbcddba`aabbabaabaa„|€yu{xkhpwwy|sd]RKKKKR¢ÉÇعdabddeefhhggfegfecba^XIO45::>>IOVi‚ ÑxgÑîéêëêëìíæáð×Y|ÅŸ†mZND<414Gedcccbbbbaa`aaa`acbbbbaaabbbaadcaƒ|t€ysqimvnihoibbaULLK]d¼ÄÌ׌]bcddegggggffggedda_Z8=BJQZpŠ¯ÛXÒ÷òòóññóñðíïÏV‘ÃŒdJ?:/,..1Dddddccbbbaa`abccbeedcbbaaccbabccc€xy€yrmsb`hr{rjlfYLLKU][›ÃÃ×¾e`ccdeefeeffggffddba[69;5/.37hv>,3Cbeddccccbaa`aaehifefedccbdcbaabcc‡††‡‡‡‡‡†…†‡‡‡‡††††‡‡‡‡‡‡‡‡‡…„‚}xutttxxxxyzx||zvuwzz{{zyz{~€€€…†……†‡†††…†††††………†††††††‡……†‚{xvvtvuvxxxyxz{zxwuvvyzyxwy|~€€€………„…†††††…†……………†††……†………„„…{vxxxwwyzwxw{{zyxvvuxyxwwz{~~€€€……………………†………†…………†………„†…„………„‚zyyxwz||yxy{{{{ywvvxyzyzy{~€€€†…„„…………†……††…………………„„„ƒƒ„„„ƒ|yxwyz|{zz{|{zzyvvxxyyzzy|~€€€„‚‚ƒ„„„…………†……………………„‚‚‚€|zywy{|zz{|}|yyxwvxz{z{x{~€€€ƒ„…ƒ‚ƒ„……………„„††……„‚€€€€€}~~{zywwxyzz{{{|zywwwwxy{{y{~~€€€‚„…‚€ƒ„……………ƒ„„„‚‚~~€€~}||~|zywwxwwy{||{{{yxyxwuvyyy|}~€€‚‚‚ƒ„„†‡„‚‚€|zz{|{|}~}}||zz|zzyxwzxyzz||}}{zwyyvuuwxx|€€€€ƒ€€~~~ƒƒ‚€€}zxwxyy{{z{{yyxy{yzzyxyyy{{|}~}|zzyxxvuvuv{~€€}…€€€~}{|z{{yyzyzzwyyxxxy{{{{yvwxxz||}~~}{{xxywvvuw{~~‰„~€€€}~}}}€‚„…………ƒzvvvvwz{|{zyuuvxz|{}}{yywxyyxxz|~~~Š€~~~~}|{ŒŽ‹ŒŽ‰xvuuw{|}{yxz|zzy{|~~}{xyxww{z{}€‚„€€~||‡‡~‚ƒ‚„……zzƒ‰ƒ€ƒ……†‡‡‰‹|tuuwzy{yxz|{y{z{}~~~{zy{€ƒ„„†ŠŠ‹ˆ†…{‚…‡‡ˆˆ‹…}}„†‚€ƒ„ƒ……„ˆˆttuvxwzyyzzyxyz}~~~|yy~…‰‡‡ŠŒ‹‹Š‰Š†z€‚‚……„„…‡……‰‰……†††…~†ˆ‚wtttxzzzyzzyxx{~~~~}yux‚„‚ƒ‡ŠŠ‰‹‹Œˆx€‚ƒ‚€€‚ƒ€…‰‡‚†‰ˆˆ†~„‰ƒywxuwzxy{zzywy|}}{{zwsrw…‡‡ˆˆ†‰‰ˆŠ‹ŒŠz‚‚‚€€€€‚‚ƒ†‡†…‡ˆ‡‡…„Š…~|}zyyz|||{z{zxtqjoquuu|†Š‹‡‡‰Š‰‡ŠŠ‹Š‚„„ƒ„ƒƒ„„„ƒ‚ƒ…ˆ‡†‡ˆ‰‡‡ˆ…†ŠŒˆ‚‚€‚ƒ‚ƒ‚~|xuuxxyxy‡‰Š†ˆ‹‹Šˆ‰ˆˆŠ…‡‡‡…‡ˆˆ‰‰ˆ†…ŠŽŒŒŒŒŒ‹Œ‹ŒŒŽ„‚„„ƒƒƒƒƒ„„„…†„…ƒ~|z‡‰‰‡‡‡††…†‡‡‡‡‰‰ˆ‡ˆˆˆ‰ŠŠ‰‡ŒŠ‹‹‰ˆ‰‰‹ˆ‹ŒŽ†ƒ„„††„„„ƒ‚ƒƒ„†‡‡†ƒ‚„‡Š‰ˆŠ‹Š‰‰Š‹‰‰‹‰‰‰ˆˆ‡ˆ‰‰‰‰ˆ‰‚‡ˆˆ‡††‡‰Ž‘’‘‘‘’““†„ƒƒ‚€€‚„†‡‡…†€|}€{yy|{|‰‰‰‰ˆ††‡ˆ‰ˆˆ†€„ƒƒ„…†…‹ŽŒŽ‰ƒƒƒ‚‚‚€€‚……†€zvstsrrqssswzŠŠ‰‰‰ˆ††‡‡ˆ†„„„„‚€‚ƒ„‡‹„|{}…‹ˆ~|~‰„ƒ‚‚€€€ƒ„‚~}|}~~~€€ˆŠ‰‰ŠŠ‰†††‡…ƒ„‡‡†ƒ‚‚‚…‹„~~~†‹‰~z}‡ˆ…‚‚€{z{~~~€€~~€yƒˆˆ‰ŠŠ‹‰††…„‚ƒ††„ƒ‚‚‚…‰‡‰‹‰‹‹Œˆ‡‡ˆˆŠ‰‡„ƒ‚‚ƒƒ‚xrruvux~€{vvsq€†‡ˆ‰‰‹‹ˆ‡…ƒ‚‚‚ƒ‚‚‚„ˆ‰†ˆ‰‰ˆŠ‹ƒƒˆ‰‰‹‰‡…ƒ‚‚ƒ‚‚‚‚xqqsux~~~}zwrr}ƒ‡‰‰Š‹‹‰†ƒ€‚‚‚„‰‰†………„†‰…€„…ˆ‹‡ˆˆ‡…ƒ‚‚€‚yrsry€…€€€€}vs||†ˆ‰Š‹‹‹ˆ„‚‚‚‚‚‚ƒ‹‘ŽŽŽŽ‘’Ž††Š‰ˆ†ƒ‚€€‚}yyw|€€€|y}}~ƒ‡ˆ‰ŠŠ‹Š†„„‚‚‚‚…Œ•–•””••–––••••‘Š‡ˆ‡ˆˆˆ†ƒ€€‚€~~€~€~~|~}}ƒ‡‡‰ŠŠŠ‡……ƒƒƒƒ‡ŒŽ‘‘‘‘‘‘ŽŽ‰ˆˆ‡ƒ‚ƒ€€€€€€€€€€v~}…‰‰ˆ‰ˆ‡„ƒ„ƒƒƒƒƒˆ‹€‰ŽŒ’’’’’’“’‘‘‘“Žˆˆ‰ˆ†„‚ƒ„„„„„„……„ƒƒo{€~‚‡‰ˆ‰ŠŠ‰ˆ‡…„ƒ…„†…~}ƒ‰ˆ†‰ŽŽŽŒŠŠ‰Š‹‹ŒŒ‰ˆˆ‰Š†€€ƒ†‡‡†††‡†‡†„‚im|}{ƒˆ‰ŠŠŠŠŠŠ‡…„†…„…„‚†……ˆŠ‹‹Š‹‰‰Š‹‹Œ‹‹‹‰ˆˆ‰‰†‚‚‚‚‚‚‚‚iir{}~†‰‰‰ŠŠ‹‹Š†………„„…„ƒƒ‚…ˆ‰ŠŠŠ‹‰‰ŠŠŠ‹ŠŒ‹ˆˆˆ‡††ƒ‚ƒ€€€‚‚kjlw€~~ˆ‰‰‰Š‹‹Šˆ†„„ƒƒ…„‚ƒƒ„ˆŠŠ…†ŠŠŠŠ‰‰‡ˆ‰Š‰‰ˆ‡†‡‡‡†ƒƒ€€‚‚„„ƒonls€}}„‰‰‰‰ŠŠ‹Š‡……‚ƒƒƒ„……‡‰‰„‚ˆŠ‰‰ˆ‡†‡‡‰ˆ‡‡…†ˆˆˆ‡‡…ƒ€‚ƒ………onjmy€~|€†ŠŠ‰‰‰‹‹‰‡…ƒ‚‚ƒ…†‡ˆˆ‡‡ˆˆ‡ˆˆ‰ˆˆ‡ˆ‡‡‡…†ˆˆˆˆ‰ˆ‡…€€ƒ†‡‡llihky€}}ƒ‰ŠŠŠŠ‹‹Š‰…ƒ‚€€‚†ˆ‹Š‹ŒŒŽŽ‰†ˆ‰‰‰‰‡ˆˆˆ…‚€€ƒ…†nnifet€~|†ŠŠŠŠ‹‹‹‹ˆƒ‚ƒƒ‚…Š“””••–•–———————‡‡‰ˆ‰‰ˆˆˆˆˆ†ƒ€€€‚ƒlkgfgm|€~}€‡‰ŠŠŠŠ‹ŒŠƒƒ†…ƒƒ’”——––•”“““““””•–”Š„ƒ†ˆˆˆˆˆˆ‰ˆ‡‚€€ghgghhq~€}}‚ˆŠŠŠŠŠ‰‰…‚‚ƒ‚‚„‘‘ŒŒŒ‹‹ŒŒ‹Š‹‹Ž‹‡††‡ˆˆˆˆˆ‰ˆ‰†ƒ€€iggfghhu€}€ˆŠŠŠŠŠ‰‰†ƒƒƒ‚†ŒŠˆˆ‡‡†††…„…„„…ˆ‰‡†‹‰‰‡†‰‰ˆˆˆˆ‰‰ˆ†‚€jhgegihr~„Š‹ŠŠŠŠŠ‰ˆ‡††ƒ…ˆ‚ƒ†ƒƒƒ‚‚‚€ƒ…‡†…‡ˆ‰ˆ‡…‡ˆ‰‡ˆ‰ˆˆ‰‡…‚jhgegiho}€}€‡ŒŒ‹ŠŠ‹‹Š‰ˆ‡„‚ƒ‚†ˆ‚‚‚€‚ƒ‚‚ƒ†‡‡„†‰‰‡‚ƒ‡‰ˆ‰‰‰‰ˆˆ‡ƒjjjhihhku~ƒŠŒ‹ŠŠ‹‹‹‰Š‡ƒ‚‚ƒ……‚‚„…„…„„ƒ€€‚‚‚…‰ˆ‡‡†ˆ‰‰‰‰‰‰‡ˆ‰‡lljjnkijq~‚~†Š‹ŠŠŠ‹‹‹‹ˆ„ƒ„‚‚€‚‚€€€‚‚‚€‚‚‚…‰‰Šˆ‰‰ŠŠ‰ˆ‰‰ˆˆ‰‰llmoqpmps|€~}}‰Š‰‰Š‹‹‹‹‰…ƒƒ‚‚€€€‚€€‚ƒ€‚‚‚‚…‰‰‰ˆ‰ˆ‡‰‰‰‰ˆ‰‰‰‰{zzzzzzz{zzz{{{zzzyyyyyyyyzz|‚„ƒƒƒ„†‡ˆ‡†††‡‡†‡‡††‡‡†……‡†„ƒ‚ƒƒyzzyyzzzzzzzyyyyyxxyyyyyyxxy{~‚ƒ„„ƒ„…†††……†ˆ†„…†„„…††††‡†ƒ‚‚zzzzyzzzzzzzyyyyyyxyyyz{zzzzz~‚ƒ„„ƒ„………„„…†‡……ƒ„„„ƒ„†‡‡†…ƒƒ‚zzzzzzyyzzzyzyyyyyzzzzz||{{z{€‚„„„„……„ƒ„†††„„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zzzyyzzzzyyyyyzz{{}~}|||~€‚„„„„………„…‡‡†……„„„„…†‡‡†…„‚‚‚{€~|}}{zyzzzzzzzzz{}}~}~ƒ‚ƒ„…„„……‡††††…………„„……‡†††ƒƒ‚‚‚€‚€€|{zzzz|{y{{|}€€€€€‚„…ƒ„„……„„„„††††„…†……„„…†††††„ƒ‚‚„~€~}|{zzz}|{~€€ƒƒ‚€‚ƒ………†……………ƒƒ„…†…„„……„………†††……ƒƒ‚‚‚€€€€~|z}~„……†…„ƒƒ„ƒ„…†††††…………„„……†…„„ƒ„„„…††‡†……ƒ‚‚€‚‚ƒƒ€€€~~‚„ƒ„‡ˆ‡‡†„„„…„…††††††…………………„……„„‚‚ƒ„†††ˆ†…ƒ€‚€‚‚‚~‚ƒ€€€‚‚„†‡…†††††…„„†„„††††††………………………†…ƒƒƒƒ…†…†ˆ‡…ƒ€€€‚ƒ{€‚€‚ƒƒƒƒ†…„ƒ‚‚€€€„‡‡†ˆˆ†††……„……………………„„ƒƒ……††††„ƒ‚€€€‚ƒy{‚‚„„ƒƒ……†„}}}€€~~}|‡ˆ‡ˆˆ††„„…„„„†…‡†…„„„„…†…ˆ‡„„‚€‚„…€~€€€€€„‡‡ƒ~}||~~|||}}„‡‡ˆˆ†……„„……†‡†‰‡……„„ƒ…‡‡†‡Š‹ŽŽ‹‡†ˆ…‚ƒ~{xx{~‚‡†|}|zz|xx~}{‚ˆˆ‡‡…„„ƒ„„‡†‡‡ˆ†…„ƒƒƒ„†ˆ†”Ÿœš——–––—–†‡ƒƒƒ~~}}„ƒ{}zxzwz‚~|€ˆˆ‡‡…„„„„„…‡‡‡‡†„…ƒ„……††‰ƒ~||zzzzyyy€Š‚‚‚€€€€€€ƒƒ}{~„{xyy|„|~†ˆ‡††…„„„„…†‡ˆˆ…„ƒ…†„€„‰|~~|z{{zz{|‹‚‚ƒ‚‚‚„ƒ}{}€|{||}†{~ƒ†…„„„ƒƒƒ„†‰‡††‚}}}€ˆ}z{z|}zzzzˆ€„ƒ‚~}}}}~~~‚€|}€ƒƒƒ‚‚€€€‚„„„„†‚€€‚¡²“Šzz~~y{||{zzx…~}}}~}€€~{|}}|||}}}|}|}‚€€€€€€€€€‚ƒ‰…™«š‘„€ƒ…ƒ†‡ˆˆ‰‡‡{}~~}|||}}{€|}}}}~}}}}}}€€€€€€€‚‚Ž¢§ª¦£§««¬ª§«²¬{|}~~}}}}}~Š‰~~~~€€~}|yyzyyyy{z{€€€€~—ÁÈÊÇÂÆËÍÍÊÆÌÌË|{||}~€~}~ƒƒ‚€ƒ}|{}}}€~|}}{}€€€€„˜§¾ÆÎÑÒÔÓÑÐÏ˽®~}||}~€€€‚ƒ‚‚„„|||~}||}~~~~‚€€…¦‡€†‘•™˜•’Ž‡~}|}}~€€€€‚ƒ€||}~{wx{€€~|}‚‚„µº¢Ž‰–Š€‚€…™™”­€~}}}~~€€€€}€ƒ‚‚ƒ||~~zvvz€}{|}~€‚ƒƒ¶ÑÑÈÂǺ–Š­ÇÊÌÒƒ}}}~~€€€ƒƒ†ˆˆ†{||||{zy|‚||||~~€€€³ÎÏÍÁ³‘‹”¨ºÌЄƒ€~}}}~~€ƒ‚‚‚‚‚}||||||}|}ƒƒ~}||~~~€€­ÏÐͧ‡~‚ƒ‚‚ƒŒ¼Ò†„‚€~}}}}~€€€€‚€{yx{zzz{zz{yyyx{~~~~€¿³¹‹‚ˆ‰‰‰„œ«‘ˆ‚€}}}}}€€€€zvuvvvvvvuvxxww{€~~~~~~€‚„‹ˆƒ‚‚‚ƒ„„„ƒ‚€~}}}‚€€€{{zvwwwwyyyzyyyz{zyyz}~~~‚€€€€€€„„ƒƒ‚‚€~}}}~€€€€}|ƒ‚}zyzyyzyyxy|{yyzyz|~~~~~‚€€€€€€ƒ‚‚‚‚€~}}}}}€€€€…„‚}}}{{||{{{}||{{{{{|}}}}€‚€~~~~~~~€{~Ž‹‚‚~~}}|~€€€€€‚€|||||||}|zyyyz{{}~~~€‚‚€€€€}{‡‡‚ƒ~~~}}}€€€~}~€€ƒ€}||}{{{{zz{{zz|}~~€‚‚‚‚‚‚‚‚‚|}ƒƒƒƒ€~~~~}}}~€€€€~~€~||€|zz{|{|{zz|}~~€€€€‚‚€€‚„‚‚ƒ‚~~~~}}}~€€€€€€€€€}|~€€|{z{|{{zzz|}~€€‚‚€ƒ€|€„‚‚ƒ‚~~}}}}}}€€€€€€€}}~}|{{|{||{||||~€~~~~~~~‚€€€z{}ƒ‚‚€~~~}}}||}€€€‚ƒ~}}||zz{{zz{{zz{{{~~~~~~~€~zyz„“ˆ‚~~~}}||}€€€€€~|yyxvuuvvuuuvvtuuvz~~}~~}}€€€€~yxy}„Š…‚~}}}}}|}€€€€€{wvvuvvvwxwvxxxwwww}~~~}}~}~€~zxxz‚‚‚‚€~}}}}}~€€zyyyz|||{}}}}||}}}|~}~~~~}}~€‚~zywxy€ƒ‚‚}}}}}}‚€~‚~~~~€€€€„ˆ…‚}~~}}~~~~}~‚‚~zxxyzƒ‚‚‚€~}}}}}}}~€€€ƒ„‡‡‚€€ƒ‚‚‚†‡‡„‚~~€~~}~~~~~~€€‚~|x{{z~‚‚‚||}}}{|}~€€€……†ƒƒ‚‚ƒ„……ƒƒ„††„‚~€~}~~}}}~€€~{{}~~€‚‚‚}}}}}||}||€€€€‚‚‚ƒ…††ˆ‡‡…€€€~€~~~~}~~}~‚‚ƒ„ƒ‚‚‚„„€~~}}}|}||~€€€€„‚€€€€€‚‚€€~}~~~~~}}}~ˆ‰‰‰‡…………‚™Ž~}}}|}}||}€‚……„„„†‡†ƒƒ‚‚‚€~}~€€€~~}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍǽ²¯ ’€|sfiyjiinmrcgaU]a[[d]S\b^`WQPUZY`d_fSTWVUWTTZUQY`^[XTMD>8<:522@1ÎÎÏÏÏÏÏÏÏÏÎÎÎÎÎÈÂÆÂÊÎÏÎÎÎÎÎÎÎÎÍÎÌÌÌÌÌÍÌÌÌÌÌÌÌÌÌÌÌÍÍÍÎÎÏÏÇ´™¡–s~xr^]^r|n\_nkh[YZ[^YXUN^g_\SOOQXW]hjfPU]aYQPLQR[`b\VNNKA@76642086ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÇÁÅÀÈÌÍÍÌÍÍÌÍÎÎÍÍÍÍÌÌÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÎÎÏÎÍ版tklmlmnrtzy^b_bdZ[[\\]TSV\dY[ZVUTTSWZidRPX\ULNMRR]c`aZPFC?;742110-1ÎÍÍÎÎÍÎÎÍÎÎÍÍÍÍÈÃÆÁÊÍÌÌÌÊÊÊËËÌÊÊÊÊÊÊÊÊËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÎÎÎͶ—zlquxs~|ada]fW`cd[[WUaZTYeeROSVXTMLVNYgROSXYPNSOPY`^_WTUNF?;74320--ÍÎÍÌÌÍÍÍÍÍÎÎÎÎÎÉÀÁÀÌÏÎÎÎÍÍÍÍÍÍÌËËËËËÊÊËÊËËÊÊÊÊÉÉÉÇÉÊÊÌÌËÊÌÀ’…q_k{kdg^``WiaXXUTM\`^`nl\POT\TMJSQQXTY[YUNPQW]_XXYQOYNG=>@;53/-,ÌÍÌÌÌÍÍÍÍÎÎÎÎÎÏȹ»ºÉÎÎÎÎÎÎÎÎÎÏÎÏÏÏÎÎÎÎÍÍÌËÊÌËËËÊÊÆÊËËÌÌÌÈÆĦŠxymf\jnoc^`]U\_UR[SSPYeeefbgUPUYSPSTRQYQX\aURTRZZ\XYTSOPOH>?=7640/3ÍÍÍÎÎÎÍÍÎÎÎÎÎÎÏŻżÇÎÍÎÎÎÎÎÍÎÏÎÍÎÎÍÌÍÍÍÍÌÉÊÍÎÎÍËÈÅÊËÌÏÏÌÇĵ¢~yoeUQa]Y]`^]b_WURKKUY`aci`ZSOOPNJSPSP_KUUZ[WZZ^Z[XSQSOSJEC?B;530.3ÏÏÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ÌÁÆÍÌÍÍÍÍÍÍÍÎÎÍÎÍÍÍÎÍÍÌÌÉÊÊÌÊÅÂÄÁÆÈËÍÍʽ¼«€{qURQPLUVnncbd]YND@LYPZba^VTQKLKIKIQLXNRUVVW[[ZZ]YSOSNVMCH@><3/.-,ÏÏÎÎÏÏÎÎÎÎÎÎÎÎÏÅÀÊÁÄÍÌÌÌÍÍÍÍÍÎÎÎÎÏÎÎÎÍÍÌÊÈÇÅÈÁ½¹Ã½À¾ÆËÈÄ»­ž§ŽzsaUXYWfh[mef^VURRYXcUO[\SOVXSKHGOQQXXRQY[UTWWUNO[VTXRWV>56120.---ÏÎÓÙØÑÍÍÍËÊÉËËÌÃÀÈÀÁÌÎÎÎÍÍÎÏÏÎÎÎÎÎÎÏÏÍÎÌÄÂÁ¾Ãº¸¬À¸¾µ¿Æ¾½¶¥†ƒ}p‡ye[`Z\diVm]S[TMTT^\UOPSWQQQSWMKLSRRYg]NVXVWUUYQJ\ZY\\LB<7531.....ÎÛêíîçÕËÊÿ¾ÁÅÉÂÁÇÀÀËÌÍÍÍÌÍÍÎÎÍÍÍÎÎÎÎÍÍÌÅÀ»³½¸¯¢»²½±µ¾´¼´–…}}nfcbbaTZaZTcZRY^ORSW]VVTNNMKKLRXVNRPQPbZLY]YQLMXZQVXPLIA8=<:73.---.ÚïÌš­áë;·²±·ºÀÃÄÉÅÂÊÌÌÌËËËÊËÌËËËËËÊÉÈÅž±¬¨¬°¤¨­¸¯µ³®¬¡twtllSbeZYbXQ]i\X_WKPRT\abUQMLLNSMSUJOTNS[^Ya]SNKMYXQYPOXJCD=;;973/...îÂwglžäÛ¶¯­®´³¾ÅÇËÈÄËÎÍÍÍÍÊÇËÌÌËËÊÊÇÃþ¿± ›™£¥˜–¡­­«®§¨š„ulicjl\TVVb_VW[XW_TSWTSUU_WPSONUVQTUWQPXPSY_X^WY[W]`TRXWSP?=E:866763000Þ„ywrŒÅ踬ª®±±¿ÁÅÊÈÁÊÎÍÍÎÌÆÁÉÌËÊÊÈÁ·°³´»«Ÿ”Ž™›™‘Ÿ³®«ž™œvgbeUg_PLHOWaXPQ^h^`n^^c^TVNPOOOQVRUSTXR[OO_^]gXc_kf^RPLLIK@>@7744564./2½€‹€w†½æÀ©©¯°³»·ÁÉÈ¿ÈÎÍÍÍÉÁ¸ÇÌËÇú§š™¡£˜œ•‰”™‘›­«œ‘…vddh[[UPRSQY``\hm^OT^NVpp[QOKMMJFJMNONLPYTX_TRWW`g[YUPILFEDCI?7534554/16¬ƒ…€|ƒ¸æÉ£¥°²µ¶²¾ÈƸ¿ÊÉÍÌÊ¿³ÄÊÈ¿´§™œŸ”–”‰ŒŒ‚–”‹‰‘—Ž‰ˆŠ„~vtpbWTY[XOX\VT[g]QP^gf`_]TTMJIGIHGEGOKS^[V[VO[iffV]TLVTHI?>@9754334427>¬‡…‚„Š¹äàÎÈ´®®¬«·Ä¹«°µ³½ºÈ¼±¿Ã¶ª ¡™š ““Ž…ƒŠŠ~Š‹…ƒƒ€€yvoaWWUU]\UXUSXgQOO]gdRR[YSMLLIKHFKKJSU\`QYQQkqcf_a]T^YVUG<;;86543365;?ƒœ·Œ‚»âíîèÈǪ¡¡©©ž  ¢¡¡§·®¥¢©šš—¡™˜Ÿ‘”…ƒƒ„y„Šˆ„||}~vqnjdXQYg[QTQT^ZMW\]^XQRQRSMJPPKNRRGDLNT^OQM_a`^Yfi\PT]YFTF<<<9566589<=—…»”†ºáëãÞâí¸Ÿ¢°¢ž ¤¬§¡¢£Ÿ“”“›™ š’™‹‹‡†‚}‚‚y€ˆ„z|yxqhieZVZQV^XT\Y\[VY[Z][UOKWTNMPJADEFA@EIGPIQSX[aYap[`PZ^[IDC@?<85677:>@?¶t£š‹‘»âíͺÝêÆ·Äƹ¼²µµÄÁ»ª  •Œ–š–‡‹Œ‹Š‡…€‚€z~ƒ~|~vxwsqmlgY\ecbWQSWW^\cWU\SW_[VQIOMNJBCDA?FFEBRGTX\W_ba\RbcVVVOKHDF965679>=>lnlt«ßííììëàØÉÂþº©£–‹‰Œz~œ¤¤¤ž˜‘‰„~|xxz~„‰–—•‚|srv{ytokg]SMJWV[RUW[ZUGY`Z]YY`WKLUPNJMONQTUYWZmd[[[ZWYZRVLNK>984d„96988>><†v|„oETœ¶¶¸¶²¦¦ƒrzlPRN;332PWVwtikskig^N]l\SRY[[SPWWYc_YV[YUNHEAA?><78>DHJ\hXTU\Š„‹„xrpmjihedeghhintwhXN•wgVWª¥§XdK?Me\aG66;5j—±™|ˆXaBj’Š}uri¢ {™}MQPUJ64BrJsumimihcc\fncYMR[ZURSYV_ZV\fYPIBB@ACA@>CHC>JZjl^J]–WRRSSQSMHIGEEDEGMRRRRTMMZÑlLDdîã¦W\a^]cbfhe`YTj¹ôÍy„Tt736439KMPRVVPOI\sb:8MXg{pfgklga\[V\[OOVUMNS][XX\_\SUNGABGIB>BRQIW]^iŒlNc|Ihsx~ƒ‰u?877;==BQY[]\]rN\¡bKD]·ÂÄ¿»¼¿ÄÆÆÇÇƽ»Âȵ”|x`q15:IK=MOOMMLLMI[|_@6}§uTwpedhsyhUUVSRSNTXPOZ\ZV[a^YNRTQIFKQJ<>LUNglkw„gW~lp©­°´´³«^;5:AmoKMIC>=A‚¡HA;9:<;CiRpRIKRŒÉÚàçèééèéçèêíêèáÙ³{€_ƒO6:Nˆ–ƒH;444@MJHR€‘S55;][c`a\[jdVNW[`ZYSMOXV[d``XPOUSME?79>{«B=?A@<7bF=7Moqqrslq{‡’Ž‡‹‘’“Ž—µ›€~|x}{mcmmcY\`_ZXYx eL=B@9a{}O:5346<;8=?@?;44Ebqppqrsuwwxxyy{{}~}n588_\>E>G:9BB?FKJIEC<=;672Srsttwzywutttvstuy~†’¡°´­œumllmomha[Z]_t—SGEIG?Y|~HB?73448@CCDCDA8?bpnljkmortuuuttsuxy|zF31->T<86789:75555567888779;;<>GH0:JWfhhhhkpruvvvvvtrqsrqpqu|‡–£¬°ª£”ƒvigcQXdtx‹GRuZGCD[N@IIA::;AGKJJJIF>=Puqmjijklnpqssqppppsvzvgs`;_@;::998887777778888888:;;CEBflijiihfeefijlnqtuuvtrpooooonorw‚“¦º¾§vTKVYisQEsS88:>ABGJNfopulR>>;:;;>Fzwsnlkjkllnpqpqqqpoprsu¤³JQ<:988888776666776677878:9;=^uggkjjjheddbccdgjnqtuwutsqmmnnopolks‰¤¸¼©…^]HVrZVODFNONNOSWXXYXUTRMII\irxxxtoljiiijlmnpppqqrrqo“§TI925876666565666555566323;NMOlcejjjhhgdbaabccccehkpsuwwvurpnlmoqpnkp|©‘²Šrwurjh]Q^nommmljiijlmmn^Yabdwwxxupkihggiklmnooppppm‘c^{eC355445566=>555652G^R_nv„´Õ¡ƒqˆo`‚ÜÞÝÝÜÝÙfbceOtÝÝÙÕÖÝÚnrTgefjmnnljhffeda``cfjmoopsiGISN^ÑÔÒ×äÞnA9yµDP¸Ïš9‚µNBQÍëÉÄafijmoprsttsqnkecbabbba;,-258,-049@ISbÎñìîíëìðØŽSlH[`diqu]ARjwW[˜² Ž{i]@UjXkifdccfhjhfda`__^\]_`bejdB@GKOPS\e ¹†mcU{枯‡ÄÉYansyˆgY„[ceijlnpqrssrpmhdbaa`aB-./28@I[u›«ÄñîñòññôÇ{WhG;666638>IjyXZL:7543;JCnRhmkhfecceghgd``_^\]\[\\`^D?FJNQVX[]^]dmtt¸êåéæã•qoeb`^a\Åy\dhjklnortrrppmgcba_aE.0025CZJGU`ÍÅ¿½´¶²j]_ID79:99875IXIE87;><89DNE=964435658cx^8465T_Xklmljgd``bdfecb`_____]\YC;DHKOUW]jx€…‡¿ÃÅËÏËÊÊË¡}vqf[¿Î¸eZadgjklnqqpqrplgc`aE5403>•Ë‰r€“¡•š¤©¯£“QgKOOITWPJKI934665DŽ¯’FFC8BePkgcglljgdbadghgedaaaaa`]B9CIKOSV\hrqss±îêäèæíìíó±igime\¨ÃЩ[\behjkmnpoqqqolgbbC75//0>SMMZŽ|PMNGBQNf\}whhlkjfbbdgijhgecaaa_A3AJLNQV\hkjonÁôîëììïñòø´ikhig\q³ÄГX^cgijklnopppookgeB76-,.14;>@BB>Dbƒ™™vJ8B@GSVSHE?TNC;9BMPQOGB=;@>;NcTš‚Z`lkjjiecbehkligcb`_@1ALORRU^hfbcaŠ»¼·²¯§£ŸœqJHQcg^K†»ÈÊwY`dhiklmoppoopnkgA58/++/014458<@Qoˆ’€pZKLLQURMKKMWPMLNQWZZXSSRRUW[]lRiXQikjklkifbbbehjjheb`EDABEA@>??@?78[e_dPKM„ºÁÍ‘X\adfhijkklmlbY;27607CEB43.+.268_NUtdVXXXXWXXXYYXYYYXYXXVTTTTUVVXjXRjjhffggfkkjjjgdaa`cfh9(===F^_]eicLBAELLMOPTVWXWeqohY^SMS”»ÅÇxT\_bdfgijlkkf[B33110...-,*-/234bt‡‚fWZVWWWXXXXXYXX\`TW^htˆ•œŸ¡§ª©ª§¥¢ š”‚wrjjjjgdc``ad9'9;9;:;;:9755435677789???@?A\ffgdba\QK5'62)&6;;9988:988789877752334/!rpmgXPM_§ÂÎÊ{]dfghijjkkkigfeca`][[Z[]ab[UVLD€Å–Öñ’lz|‚‡‰ƒK??><;;:87@D6556987877766789D`eeedcc_Q8+3.,16/-,+))**)*(('''''&&%%%&#pklneTVg¹ÈÓÀm_eefhijkkkjiihgec_\\[[\^`\NIIGMUY™Æ±¹º½Ä̯y;;:<=@ABCDWm]G9;:BF76566678@=Seddb`a_ZM:/++..++,-.----/0123343135:?ADknolhZNNNˆÂÆÔ©_`acefgijkjjjjjifb_]\[[\^_KEKGMQX]i‹Óª]UQNY]<>>FEDBBEFLt¡^:C??@54445556??F_dcaaa`]ZSHEEFIKOT[^]][YXYXXXXXWRPPSY`eossomfUMLU¡ÄËÓŒZ`cdegiiijjjjkkifb_\[ZZ]^JCKGNQV_mšáw1::9\œC?;577878GF@JSA6;;6443444433;A?Vdbbaaa`^[YYXWWXY[_cfggecca_]\\[YWTTV[_ntsstxkVOKh¹ÈÑÅl]bdeghhhhijkkkjhea^\\[[^I@JFOX^dn“Úˆ@EEK‹Š9@626;:96EJ<635557525GHB94326A=Kbcbaabba`_^]]]]\[[^chjjheca_][ZYXWWWWYonljjif^TMKÆÊÖ¡Z`bdfghhhhikkkkigd`][[[\E?HFKS\eqÑšf¤ÃÀ¯j9@322BWP49F711212455DXMIG?822>>AZccfffdba``a```_^\[^dhkjgec`]ZYXXWWWXXmdbfgac^SMK_²ÄÏÎwZafhffgghhjjkkjhfc_]\[[@=FFHNV`m†É•]ÊöëªL<>224W~o92311100146=AENVUTM;18A>QcZLMN\dbbabbbcba_\[]agiigea][ZYXXWXXYlfggsnibRKMM}¿ÆÖ´a_dddeefhhiijjjjifb_][[<;GHHMV_kèO¾÷Ù‡?>;35?{†‡l97200//039GFOS_\\]G24B=HcO121?bcccbbcdddb`]\\afiihea][[ZYYYYZolfgqoriRKMLS¢ÄÊÓ˜`_bdeefhhhiijkjigd`^\\96FIHQ^]^ra?^ÃÄk>>adcccdddddeecb_]]`ejkjhb^[\[[[[twpmrqolnqZLKNŒÁÆÖ±`addefhhhhjkkjiihfa_]:5?HI©éÎmA7HYIHKF9AT[U@@@@?=:;:975669:=8<;@L?DR_cccccddeddefeca_]\^chjjhb^]\[[[pplhlnifikeLJK]ªÂÊÖŠ]cdefhiiijjjkjjigdb_=4:EG\–¢rUACR7H>@76=857545566=BA>>?>8788768::>GHD@?7Ujbcbbcccdcccccddedca_\Z]cgijhc_][ZYpmmdilospojRIKKw¼ÁÐÅn_edfhijjkjjkkjjigda:-6>EHIT`iwš¨cMB4777889:;<<<@EC@@A@@ACDDCBAAABCBmIAda``accdddddddddefecb`\[^bfjjifa][[hecbgirsoss`MJXg“¿ÄÔ­bbefghjkjjkkkkjjhd]7-45:865869:\ººaavH>?ADFILOSVX]cggffggghjkkihgejucxAZdbdaaccdddddeedeffddb_\[^bgklkid_^fkkhnpklpsplUJMMU¢ÂÇÕ’^beffghjjjjjkihf[O3.3/90-,29BHU¥KktLXimprrppomklkgfgfedcccaaefgilbo‚rP„Íйoaccccdeefeffedeec_\\^chlmmjfcyttotrkjlkhkfLJKIi¸¿ÍÌw[adeefghhiiihfc]R7,4260;>CJJOO]ˆMs‰~hfkda`][XUTTTTQPPNNONMNNNPPQVUTZ_qqg¼ØÕŸ^bcccddeeeeeeeeffd_\[]cgkmmkgz‚~pkkigijnkbOJMLKŒÀÀÓ±\\`bddeggghhihgfZ;-0/+.02344GNPz]xsdWQWRMLIIFEEEFDCCCCCCCBCCCCCEHGHIHPnldhefabcccdddeeeeeeeggfb_^\^bgknmkptqttlmglnnlkf[NKI]³¿ÈÓX`bdfffggghhhfc]J2)+**$#"##4V_yjTJIEEGDBA@?>>>>=<<<<=<<;<<<;<=>??@@CTmf`a`oobcccddedddcdeefedb`^[]bgklmmvsssloihkllotjQJKKŽÅÆÖ¸bbeghhgfgghgfec_WC4779:96523Q|”s]D@?==>><<;:99899999999978889:;<<<;::>Ugcdkxdccbccdcccbcccdddca^[Y\agkmmunnnkljgjimmmhSJJK`·ÆÍÖ‰]beghgfggggffc_\UPMMMNONNODNv…cT=:;;;;;989887766646887878878;;<>>JZ]J?Qdca][acbbccbbcccdddddddca_][\bgjnkmvsnjmnmfgjjjTJJMKŠÆÇÓ¼b]_aeeeffgggfda^\XWVVUVVVXMNhmTC@K@:9:99;:::=>>@H]MHGFDCBCDDId—µ­š£Å–8Gdbba`afd`cecbcdeddeeeeeedb`\Y\cgimnqmmnqsplilmhUMKLK]´ÈÌÖŒ^eegghhhgghgeca`^\[[YXXYZOLT[L{—¡ŒŽœ“qXJJKHGHLIVŠ[OJQQONMMJžèêÚŸÅêš3Bccbad¦ÇÅždddddddeefddedddcb`][]blklmqttpskknljpfOJKLK…ÈÉÔ¿ldeghihhghhgfdcba`_^\ZZZ[OKEIB´Ü·¸¿áçèÑ\IM[adf‰†™Žœ”~]^[T>:>†‹…‡uf*+*+4Vmx©´¦–ŠiB1;dcaaa_ˆ©¦˜d_`bbbcbabcbbbbbbca`\Zpwvpjhjmoijlwttfc\MMNO€ÉÉÐÉubfghhhhhgggffeddcb`][Z[QIA5:V©ÈÉÍÉÅ¢mwH11237fŽšž W?@@ALwŠkZRJB:453JOWl…¦ÒlrÙíèêëëëëìäÞïÕ[xÀ™‚kYNF>736Ededcccbaaa`abdbadedcbbbbccbabccc€~xv€ysnr`^fr{tkjeYLLJTZW–ÃÃÖÄi`cccdefeefffeeddcb`_RDE8F?:?CKRZq‰¬ÑwaÖîéêëëëëëìëïÕWРvXF>73/-0Cdddccdcaaa`aaejkfefedccbdcbaabcc‡††‡‡‡‡‡†…†‡‡‡‡†††‡‡‡‡‡‡‡‡‡†…„‚}xutttxyxxyzx||zwuyzz{{zyz{~€€€…†……†‡†††…†††††……†††‡††††††…†‚{xuvuvuvxxxyxz{zxwuvvy{yxwy|~€€€………„…†††††…†……………†††……††………„…‚€{uxwxwwyzxxwz{zyxvvuxyywwy{~~€€€……………†……†……††…………†………„†…„………ƒ‚yyyxwz|{yxxz{{{ywvvxyzyzz{~€€†…„„…………†……†††………………„„„ƒ‚„„„ƒ€|yxwyz|zzz{|{zzzvvxyyyzzy|~€€„‚‚ƒ„„„…………†……………………‚‚‚‚‚€}zywy{{zz{}}|zyywvxz{z{x{~€‚„†ƒ‚ƒ„……………„…††……„€€€€€€}~~{z{wwxyzz{|{{zyxwwwwyzzy{~~€€€‚„…‚ƒ„…††……ƒ„„„‚‚~~€~}{|~|zyxwxwwy{||{{{yxyxwuvxxy|~~€€‚‚‚€‚ƒ„…†‡„‚‚€|zz{|{|}|~}||zz|zzyxxyxyzz||}}{zwyyvuvwwx|€€€€„€€~~‚ƒ}zxwxyy{{y|{zyxy{yzzyxyyy{{|}}|zzyxxvuvuv{~€}†‚€€€€~~~{{yzzyxyxzzwyyxxxy{{{{yvwxxz||}~~}{{xxywvvvw|~~Š‡€€€}~}}|}}€‚‚€zwvvvwz{|{zyuuvxz|{}}{yywxyyxxy|~~~’Œ~~}|{ŠŽŽ‹zuuvw{|}{yx{|zzy{|~~}{yxxwwzz{|€‚ˆ€~||…†ƒ}‚…„„††‚zy€Š†ƒƒ…†‡ˆ‡‰Œ€uuuwzy{zyz|{z{z{}~~~~{yxz}€ƒ‡ˆŽˆ†…|…ˆ‡‡ˆ‹‡}z†‚€„ƒ…†…ˆ‰„utuvywzyyzzyyy{}~~~{vw{„‰‰ˆŠ‹‹Š‹ŠŠ‰~‚€„…ƒƒ„††€}ƒˆ‰††††……€ƒ‰…yttuxyyyz{zxxx{~~~~~}xtt{„ƒ†‰Š‰ŠŠŠ‹€‚‚ƒ€€ƒ€€…ˆ‰‚…ˆ‰ˆ‡€‚‰…|wxuwyxy{{zxxy|}}{{xwspq‡††‡‡‰‰ˆŠ‹Œ‹ƒ‚‚‚€€€€€‚…ˆ‡„‡‰ˆˆ†Š‡{|zyyz|}||{{zxtpjpquttu‚ˆ‹Š‡ˆ‰‰‡Š‰‹‹‡„„ƒƒƒƒ„„„ƒƒƒƒ‡†…†‡ˆ‡†‡„ƒ‰‹ˆ‚‚€€‚ƒ…„‚~|xuvyyyxx}…ˆŠˆ„Š‹Šˆ‰‰ˆŠ‰‡‡‡…‡‰ˆ‰‰ˆ‡†‡Œ‹Š‹‹‹‹‹‹‹Œ†‚„„ƒƒƒ‚ƒ„„„…………ƒ}z~…ˆ‰‡‡‡ˆ†……‡‡‡‡‰‰ˆ‡ˆˆˆ‰ŠŠ‰‡‹ŽŒŒŒ‹‰‰‰‹Š‹‹Œ‡‚‚ƒ…†„„„ƒ‚ƒƒ„†‡‡†ƒƒ†‰‰‰‰Š‰‰‰ŠŠ‹‰‹‰‰‰ˆˆ‡ˆ‰‰ŠŠ‡Š†‡‰ˆˆ‡‡‡ˆŒŽŽŽŽ‡„ƒƒ‚€‚„†‡ˆ…†„‚‚€ƒ†‚~}„‚‰‰‰Š‰‡‡‡ˆ‰‰ˆ‡ƒ„…„……†…ˆŽ’’‘‘’’“’Œ„ƒƒ‚‚‚€€€ƒ……†ƒ|wsrsrqqrtttxŠŠ‰‰‰‰††‡‡ˆˆ…„‚ƒ‚€‚ƒ„†Šˆ‚ƒŠŠ‚‚‚ˆ†‚‚‚€€€ƒ…ƒ€}|zy{z{{|€ˆ‰‰‰ŠŠ‰‡‡‡‡‡ƒ„‡‡†„‚ƒ‚„Š†|zzŠ‹z{~…ˆ…‚€€}}‚€„ƒˆˆ‰ŠŠ‹‰†††…‚ƒ†ˆ†„‚ƒŠ‡‡ˆ‡ˆŠŒ‡„…††ŠŠ†…ƒ‚‚ƒƒ‚‚‚}trvywx|~yvws€†‡ˆ‰‰‹‹‰‡†„‚‚ƒ„ƒ‚‚„†‰†‰ŠŠŠŠŒˆ…ˆ‰Š‹Šˆ…„‚‚ƒ‚‚‚ƒ}spstuy|~~}zwsq}ƒ‡‰‰Š‹‹‰†„‚‚‚„ˆ‰……††…†Šˆ€|ƒ…†‹ˆˆˆ‡…ƒ‚‚€€ƒ~sqru|ƒ‚€€}xs||†ˆ‰ŠŠ‹‹ˆ…‚‚‚‚‚ƒ‰ŽŒ‹ŠŠ‰ŠŠŠ‰‰ŠŒŽ…†‰‰ˆ†ƒ€€‚€wwvx€ƒ€€€}x}}~ƒ‡ˆ‰ŠŠ‹Š‡‚ƒ„ƒ‚‚‚ƒ‰”–••••–••–••––”ˆ…ˆ‰ˆ‰ˆ†ƒ€€‚~}}€~€|~}}„‡ˆ‰ŠŠŠ‰‚††ƒƒƒƒ…‹’“’‘’’““’’’‘‘ŒŠŠŠŠ‰ˆˆ‡ƒ‚‚€€€€v~}…‰ˆ‰Š‰ˆ„‚„ƒƒƒƒƒ…†ƒ‹Ž‘’’”“‘‘’‰ˆ‰‡…„‚‚‚ƒƒƒƒƒƒƒ‚‚oz€~‚‡‰‰‰‰Šˆ‡†…„ƒ…„…‰€|Š‹‰ˆŽ‘’‘‘ŽŽ‹ˆˆ‰‰‡‚€‚…‡‡†‡†‡‡‡‡†„hl{}z~ƒˆ‰ŠŠŠŠŠŠ‡…„†…„…‚‡‡…†‹ŒŒŒ‹ˆ‰Š‰‹‹‹ŒŠˆˆ‰Š‡ƒ€ƒƒƒƒƒƒƒƒƒƒƒ‚iiq{}~†‰‰‰ŠŠ‹ŒŠ‡……†„„…„‚„„ƒ‡‰‰ŠŠ‹Šˆ‰ŠŠŒŒ‹ŒŠ‰ˆˆ‡†„‚‚‚€€€€€‚‚kkkv€~~ˆŠ‰ŠŠ‹‹‹‰†„…„ƒ……‚‚ƒ‚‡‰Š‰ˆŠŠŠŠŠŠ‰‰Š‹Šˆˆˆ†‡‡………ƒ€€€ƒ„……onmt€}}„‰ŠŠ‰ŠŠŒ‹ˆ……ƒ‚ƒ„ƒƒ…ƒ‡‰‹†‡ŠŠŠ‰ˆ‡‡‡‰‰ˆˆ‡†‡ˆˆ‡ˆ†ƒ€€‚„…††onjmx~|€†ŠŠŠ‰‰‹‹‰‡†ƒ‚€‚ƒ„…‡‡‰‡„†‰‰‰ˆˆ††‡‡‰‡‡……‡ˆˆ‡ˆˆ‡…€ƒ†‡†llihjy€}}ƒ‰ŠŠŠ‰‹‹Š‰‡„‚‚€€ƒ„†ˆˆ‰‰ˆ‰‰ˆ‰‰‹‹‹‹Š‰‰‰…†ˆ‰‰‰ˆˆˆˆ…‚€€ƒ…†nmihes€~|†ŠŠŠŠ‹‹‹‹‰„‚‚„ˆ‹Œ‘‘’““””“’’ˆ‡ˆŠ‰‰ˆˆˆ‰ˆ†ƒ€€‚ƒljgffl{€~}€‡‰ŠŠŠ‹‹Œ‹†…†„ƒˆ‘”———˜˜—————˜˜™˜—…ƒ‡ˆˆˆˆˆˆ‰ˆ†ƒ€€€gggfgiq~€}|‚ˆŠŠŠŠŠŠŠ†‚„„ƒˆ‘“•–”““’‘‘‘‘“ˆ‡†‡ˆˆˆˆˆ‰ˆ‰‡ƒ€iggfghhu€}€ˆŠŠŠŠŠ‰‰†ƒ‚‚‚ƒ‹ŽŒŒ‹ŠŠŠ‰ˆˆ‰ˆˆŠ‹‹‰‹‰‰‡†‰‰ˆˆˆˆ‰ˆˆ†‚jhgegihs€„Š‹ŠŠŠŠŠˆ†………ƒ„‹Šˆ‡‡††„„„ƒƒ‚‡Œ‹…‡‰‰ˆ‡…‡ˆ‰ˆˆ‰ˆˆ‰‡„‚jhgfhiho}€}€‡ŒŒŠŠŠ‹‹Š‰ˆ‡…‚†„ƒ‡…„„€‚‚€…†‹ˆ…ˆˆ‡‚ƒˆ‰ˆ‰‰‰‰ˆˆ‡ƒjjjhihgkt}‚ŠŒ‹ŠŠ‹‹‹Š‰‡…‚‚…ŽŽ†‚‚‚ƒ„……„ƒ‚ƒ„†…„‰ˆ‡‡†ˆŠ‰‰‰‰‰‡ˆ‰‡lljjnkijq}~†Š‹ŠŠ‹‹‹‹‹‰…‚‚‚ƒƒ‚€„…„ƒƒƒƒ‚€€‚‚ƒˆ‰‰‰‰‰ŠŠ‰‰‰‰ˆ‰‰‰llmoqpmps|€~}}‚‰Š‰‰Š‹‹‹‹Š…‚…ƒ‚€€‚€€€€€‚‚‚‚‰‰‰‰Šˆ‡‰‰‰‰ˆ‰‰‰‰{zzzzzzz{zzz{{{zzzyyyyyyyyzz|‚„ƒƒƒ„†‡ˆ‡†††‡‡†ˆ‡††‡‡†……‡†„ƒƒƒƒyzzyyzzzzzzzyyyyyyxyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†„„…††††‡†ƒ‚‚zzzzyzzzzzzzyyyyyyyyyyz{zzzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒƒ‚‚zzzzzzyyzzzzzyyyyzzzzzz||{{z{€‚…„„„……„ƒ„†††…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zz{zzzzzzyyyyyzz{{}~}|||~€‚„„„„………„…‡‡†……„„„„…†‡‡†…„‚‚‚{€~|}~|zyzzzzzzzzz{}}~}~‚ƒ‚ƒ„…„„……‡†††††………„„……‡†††ƒƒ‚‚‚€‚~€€|{zzzz|zy{{|}€€€€€‚„…ƒ„„……„„„„††††„…†………„…†††††„ƒ‚‚„~€~}|{zzz}{{~€€ƒƒ‚€‚ƒ…†…†……………ƒƒ„…†…„„…„„…„…†††……„ƒ‚ƒ€€€€}|{}€~„†††…„ƒƒ„ƒ„…†††††…………„„……†…„„ƒƒ„„…††‡†…„ƒ‚‚€‚ƒ~ƒƒ€€€~‚„ƒ…‡‰ˆ‡‡…„„„„…††††††…………………„……„„‚‚ƒ„†††ˆ†…ƒ‚€‚‚‚~ƒ€€€‚‚„†‡†‡†‡††…„„„„„††††††………………………†…ƒƒƒƒ„†…†ˆ‡…‚€€€‚ƒ{~‚‚‚ƒƒƒ„††…„„ƒ‚‚‚‚„‡‡‡ˆˆ†††……„…………………„„„ƒƒ…†††††„ƒ€€€‚ƒzz~€‚‚ƒƒƒ‚…††…€}~}~}|~†ˆ‡ˆˆ††„„„„„„†…‡†…„„„„„†‡ˆ‡…„ƒ‚‚€€‚„†~€€~~~€ƒ‡‡„|||~||}}‚‡‡ˆˆ†……„„„…†‡‡‰‡……„„„…‡‡‡††…‡ˆˆ‰ˆ‰‰‡……‰†ƒƒ{xx{}‡‡ƒ}||{z|zx|~|‡‡‡‡…„„ƒ„„††‡ˆˆ†„ƒ‚ƒ„†ˆ†‹Ÿœœ››œ—ˆ‡„ƒƒ~~€„„|}€|x{xx€€|~†ˆ‡‡…ƒ…„„„…‡‡‡‡…„„‚„……‡‡†‰„~}}|{{{|}‰‚‚€€€€€€ƒ„{}…~wywyƒƒ|}„ˆ‡†…………„„…††ˆ‡…„ƒ……ƒ€†…{}}|zz{zzzz…‚ƒƒ„‚ƒ…„~{}}z||}…„{}†…„„„ƒƒƒ„†‰†††‚~~}~z{z…„z}}z|}{zz{€€‚‚ƒƒƒ}}~}}~~‚||ƒƒ‚‚‚€€€‚„„„„…‚€€‚¨™Šy}|y{}{zzz{~~}}}~}€€|{}}||}~}}}||}€‚€€€€€€€€€€‚ƒ‰„”³¨”†}~~‚‚‚‚€„{}~~}||||~{}}|}}}|}}}|~~}€€€€€€€€‚‡‰˜ž¡Ÿœž¡¢¢£¢ ¦©{{}~€}}}}}}‡Œ~~~~}}{{{{yzz{||€€€~†®¿Äû¼ÂÆÇÄ¿¿ÈÇ|{||~~€~}~€ƒ†‚€€‚€~|z{||~}{{{y|€€€€€¨ÂËÒÔÔÕ××ÖÔÔÎÂ~}}}}~€~€€‚ƒ‚‚„„€}||}~}~~}}‚€€˜”ƒŽ›¢¥ª«¨¥ šŽƒ€}}}~~€€€€€€€€‚ƒ}|}~~|xx{~~}}‚‚·šˆ‡„~}…Ž…€}}}~~€€€€}~‚€€€€||~€}wuy~€|{}€‚‚‚ËÏÅ´¾ºž‡‡’¸ÆÀʃ}}}~~€€€€‚…‰ˆ†|||||{ywz‚}|||}~€€€‚~œËÏÐÊÁ´¡‘Žš«¾ÈЄƒ€~}}}~~€€€ƒƒƒƒ„ƒ‚~|||||||{|†}|{~~~€€~–ÊÏÐÀ›†~€„«Î‡„‚€~}}}}~€€€|{z||||||{}}{|zz~~~~€€‚ÂÃÅ©~†‰‰Š‡~‹º‘ˆ‚€}}}}}~€€€€|wvwwvwwwuvwvvtv€~~}~~€‚‚„•’•€‚‚ƒ‚‚Œ„ƒƒ‚€~}}}~‚€€€€€€€|yyvvwwwwwwxyyxx}}||}}}~~‚~‚‚‚€€„„ƒƒ‚‚€~}~}~€{€{xyyyyzyzzyyzyyxxx{}~~~€‚€€€€€€€€€ƒ‚‚‚‚€~}}}}~€€€€}„…‚|{{|zzzzzy|}{{{{z{|}}}~‚€~~~~~€{~Œ‚‚~~}}|~€€€€~ƒƒ~|||{||}}|{{zz{{}}~~€‚‚€€€€€€€€€}{††ƒƒ~~~}}}~€€€~~€‚‚~||}}{{||{yyzz{{|~~€€‚‚‚‚‚‚}}‚ƒƒƒ€~~~~}}}~€€€€~}€}{~€|{{{{z||{z{}~~€€€‚‚€‚ƒ‚‚ƒ‚~~~~}}}€€€€€€€~||‚~{zz{{{{zz{}}€€€€‚€ƒ€|€‚‚‚ƒ‚~}}}}}}~€€€€€€€€€~|~}{{{|{{{{{{}~€‚€€€z|}€‚‚‚€~~~~~}}}~€€‚‚~}}}|{{|{{||||}}~~~~~~~~~€€€€~zyz‚“‰‚~~~~}}}}€€€~~|{{zzxxyxxxxxwvwxz~~~~~~€€€€~yxy}„Š…‚€~}}}}}}}€€€€}yxxvuttuvutuvuuuuvz€€~~~~}~~~€~zxxz‚‚‚‚~}}}}}|€€€€€}xwwwxzyyzzyz{zzzyxy~~~~~~~~~}€‚~zxwxy€ƒ‚‚‚~}}}}}}‚‚€€}z||{}}}|}~~~~~}€}~~}}~~~}}~€‚‚~zwxzzƒ‚‚‚€~}}}}}}~€€€‚…‡‚‚€€€ƒ‡‡ƒƒ~€~~~~~~~€€‚~|x{{{~‚‚‚‚||}}}||}~€€ƒ„††„‚ƒƒ‚‚ƒ†ˆ‡„~€~~~~~}}~€€~{{}~~€‚‚‚~}}}}}|}}}€€€€ƒ††„ƒ‚„……†‡……‚‚‚‚€~€~~~~~~~~€‚‚ƒ„„ƒ‚‚‚„…‚€~~}}}||}|~€€€€€€€‚„…„„†ƒ„‚€€€~}~~~~}~~~ˆ‰‰ˆ‡……†…‚—~~}||{||}€€€€€€ƒ„€€€‚ƒ‚‚€€}~€€€~~}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÎÎÎÍÍÍÌÍÎÎÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍǾ³®¢ “€|rfixjhinmrcgaU]a[[c\R[b^`VQPTZY`e^eTTVVUVSTYVPX`_[XTMD>8<:522@1ÎÎÏÏÏÏÏÏÏÏÎÎÎÎÎÈÂÆÂÊÎÎÎÎÎÎÎÎÎÎÍÎÌÌÌÌÌÍÍÍÍÌÌÌÌÌÌÌÌÌÌÍÍÎÏÏÇ´š¤˜txs^\^q|o\_nkh[YZ[^YVUN^g_\SOOQXV]gihPT]`YPPKQRZ`b\VNNKA@76642086ÎÎÎÎÎÎÎÎÎÎÎÎÎÍÌÆÁÅÀÈÌÍÍÌÍÍÌÍÎÎÍÍÍÍÌËÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÍÎÏÎÍÁ¥ˆˆrklmkmlot{y^b_bdZ[[\\]SRV[cY[YVUTTSWZhcPQX\ULMNSR]c`aZPFC?;742110-1ÎÎÍÎÎÍÎÎÍÎÎÍÍÍÍÇÂÆÁÉÍÌÌÌÊÊÊËËÌÊÊÊÊÊÊÊÊËËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÍÍÌ·—zkptyt}~bdb]fW`cd[[WUaYTYceROSVXTMLVNXgQNSWYPNSOPY`^_WTUNF?;74320--ÍÍÌÍÌÍÍÍÍÍÎÎÎÎÎÉÀÁÀÌÎÎÎÎÍÍÍÍÍÍËËËËËÊÊÊÊÊËÊÊÊÊÊÉÉÉÇÉÊÊÌÌÊÊÌÀ’„€s_k{kcf^``WjbXXUTM\`^`nl\POT\TMJSQQXSY[YUNPQV\_XXYQOYNG=>@;53/-,ËÌÌÌÌÍÍÍÍÎÎÎÎÎÏǸ»¹ÉÏÎÎÎÎÎÎÎÎÏÎÏÎÎÎÍÎÎÍÌÌËÊËËËËÊÊÆÊÊËÌÌÌÈÆÄ¥Šxyof\knnd^`]V\`UR[SSPYeeegbhVPUYSPSTRQXRX]aURTRYZ\XYTSOPOH>?=7640/3ÌÍÎÎÎÎÍÍÎÎÎÎÎÎÏĻżÇÎÍÎÎÎÎÎÍÎÏÎÍÎÍÌÍÍÍÍÌÌÉÊÌÍÎÍËÇÅÊËÌÎÎÌÇĵ¢~yoeUQa]Y]`]\b_WTSLLUY`aci`ZSOOPNJSPSP_KUUZ[WZZ^Z[WSQSOSJEC?B;530.3ÏÏÎÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ËÁÆÍÌÍÍÍÍÍÌÍÎÍÍÎÍÎÍÍÍÍÌÌÉÊÉËÉÅÂÄÁÆÇÊÌÍɾ¼«€{qURQPLUVnncbd]YND@LYPZba^VTRKLKIKIQLYNRUVVW[ZZZ\YSPSNWMCH@><3/.-,ÏÏÎÎÏÏÎÎÎÎÎÎÎÎÎÄ¿ÊÁÄÍÌÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÎÌÊÈÇÅÇÁ¾¹Â¼À¾ÆÊÈû­ ©€xs`TYYVfg\meg^VURRXVcUO[\SOVXSKHGOQQXWRQXZUTWVUNO[USXRWV>56120.---ÏÎÓØ×ÐÍÍÍËÊÉËËÌÁ¿ÈÁÁÌÎÎÍÍÍÍÏÏÎÎÎÎÎÎÏÏÎÎÌÄÂÀ½Â»¹¬À¸¾µ¿Æ¾½¶¤……~r‰xdZ_Z[dkVn\T\SMTT_\UOPSWQQRUWLKLSRRZg]NVYVVUUZQJ\YY\]LC<7531.....ÍÚêïíäÓËÊÿ½ÁÄÈÀ¿ÇÁÀËÌÌÍÌÌÌÍÎÎÍÍÍÎÎÎÍÍÍÌÅÀ»²½¸¯¢º²½±µ½³º´–…}~nhgcbaTZb[Uc[RY]ORSW]UVTNNMKKLSYVNROQPbZLX\XPLMXZQVXPLIA8=<:73.---.ØîسÁéé̾¸³°¶¹ÀÂÄÊÆÂÊÌËÌËÌËÉËÌËËËËËÉÈÈÅÄÀ³­¨­°¥¨­¸®µ²®« uxuljRadYXcWQ[i]W^YKPRT\abUQMLKNRMSUJOTNR\^Xa^SNKMYXQYPPWJCD=:;973/...íÎ~gq¨èص¯®®´³¾ÄÆËÈÄËÎÍÍÌÍÊÆËËËËÊÊÊÇÃþ¾³¡›™£¥˜– ­­«¯§¨š‚sliekn[UXWb_VV\ZY^TRWTSUU_WPSONTUQSUWQOXPSX_X]WX[W]`TRXWSP?=E;866763000å‹vvqŒËè·¬ª®±±¿ÂÅÊÇÁÊÎÍÍÎÌÆÀÉÌËÊÊǹ³µ´»­ž”Ž™›™‘Ÿ³®¬ ™tebeUg`PLHPXaWPP]g_`n_^a]TVNPOOOQVRUSTXQ[OO_^]gYc_kf^RPLLIK@¬‹ˆƒ„‹½æàÎÈ´®®¬«·Â·«°µ³½ºÈ¼±¿Ã¸«  ™š ““Ž…ƒŠŠ~Š‹…ƒ€‚€yvoaWWUU][UYUSXgRPO]gdRR[YSMLLIKHFLKJRU\`QYQPlrcf_a\T^YVUG<::86543365;?}³Šƒ¿äíîèÈǪ¡¡¨§œ  ¢¡¡§·®¥¢©šš—¡™˜Ÿ‘“Œ…ƒ„€„x„Šˆ„|||~vqnjdXQYg[QTQT^ZMW\]^XQRRRRMKPPKNRSGDMOT_PQM_aa_Ydi\PS\XFTD;<<9566489<=ª‚¨’†¾äëãÞâ¢³£ž ¤¬§¡¢£Ÿ“”“›™ š’™‹ŽŒ‹‡‡‚}‚y€ˆ„z{yxphjeZWYQV^XT\Y\[VY[Z][UOJWUNLOJACFFA@EIGPJRSY\aX`p]^OZ_[HDC@><85667:=@?Æ{„“‹’¿ãì͹ÛêǸÄÅ·¼³·µÄÁ»ª  •Œ–š–‡‹‹‹Š‡„‚€y~ƒ~|~vxwrrmlgX\dcbWQSWW^\cWU\SW_[URIOMNJBCDA?FFEBQGTX[W`b`\RbbVVVOKGDF965679<>HFj[q‹Ž–¿ãíãÛéêäåæââåäåãåèðÙš•ˆ‹’‘Œ‹Š…ŒŽ‰ˆƒƒ‚‚z~Šy€wuqsrnhbV[daZQVOQ\gbcVMQSiZaXNQRPJIEGRJCKLLFPR\^YLYdceT`dVOW\PE@A<:8889=@IASEiƒ•šÁäíìíëëìììíîííêçäææ°ŒŒŒƒ‡‰‹‚ˆƒˆ“‡‰„ˆ€|Š‚y|wvvuwsaVQZYZVZVN[Z\_ghinqkS\\SMSRFDFPWQQOOPIJWY\ZON^Y_]]gfW_R?:9<<;;;:;>==>><[RLqrÍéêëëéäÞØÒÊĽ¼°§–•€~}y}„ˆ’“–›”—•ŽŒ„€€~uswvsssfZ`[NO[XZ]ST_bi]]T]daSUNKLRLG@=illnšåíìììèâÙÎÊËƾ¶¬™ŽŒ‰‹~{{“™£ª«¬§¥ ››››¡£¥¦¤ž†|usv{ytokg]SMJXV[SUW[[XHY`Z]YY`WKLUPNJLONQTUYWZnd\[[ZWYYRUJMJ>984`9698868:;Xlz†Ž†K;20135=Z`cdeX@artmowqig]QVXTXZ`]XGERW_W[ZYVX]UOIBEA>>><<78>DHI\hXTXYZ{ƒ™£ œ—”Œ‹‰ˆ…€‚ƒ…†Š“ŠnZ—‚eYI¦Á«c\RFCHC=J[jk]LOm›glgb]YXVWVTUUTSRSSSTVXS_ã‚OIIÐñ½qemomrvyyzvqll¨é䈃pYX7YWNCOO\wpsrSNMefG45WjU{pfgklfa\[V\[OOVUMNS][YX\_\SUNGABGIB>BRQHT\^i‹kPOk‚ENVY]`fS==;;::=AQX[\\]WL¯oMEL”¿ÂËÅÆÊÍÎÎÏÏÏÌÈÆÇΰ–{…^qI13467GONJJKIMKJtnQ2T‘LqpedhsyhUUVSRSNTXPOZ\ZV[a^ZNRTQIFKQJ<>LUNgkjv„gZWvgaŽ•¡§•I657QR>FQPOLLLyWkuGDTt¹ÒÛÞàáâââáâââàßßÜ©yz„X;46ZtRDONMKLMMMHmtR7Ag’\]mgfdal`RU]YX\UOSQSP[]Ze_VUQOIIHDFJFCHOMTillvsbac]}©µ±¬¢™VC77g‰GHI><:;:RjtXIJLu»ØÞæééæåèææçêëèäÛȈx{]|477pœ{LH>;9=LNMD\‚o;6/k}Nd`a\[jdVNW[`ZYSMOXVZd`aYPOUSME?EL@?GxOD?889;;=iXBCB>uµÞãëê꼟¯Õ´ ÁêáãÝÖ•xpno7CB{’£`B6335AC@E„ x:62Q“L`[_dbab`VXYXTROPNT[[TYZTMPZSPV[Vn‚vclym[TW\]^_bƒ‡XFFA489:BFB?;oµT>;:;;:8;ZPI4.4u­æçíìêâØÜæÛÓàêééææ—we}bELH`…vRKF<<;;869wb:85>˜Z\a[^`^`^ZZTSQUY]TNXXOMNT[ZXXcy…‹…bdqjUQX[[[]bf˜wWCED>6:Ovt[OUsÂÎÑÑÓÖÕÒÓÑÍÏÊÊÍÅÃ’|]`RZYzz^FIJKKJMHI`‹”Y?=:<”]VeA?Bgpooqlq{‡‘‡Š‘‰‰‘±•zz~}z|{nbmmaV\a_[Z]cu¢cQ8@97Qk[@:542CCD=35Fqpoqssux{|}~‚‚€~YC?i‡JoVYaCRCCLV]]XNNFMSokNF@88M:GI;<5gvvuxzywuuutwwxy}‚‰—©³³©—‰|qllkmolifb[[[]ƒšRK?FA>>=85@qnljjmoqtuuttssuwx{}K37:JF97654;@<9;:98:8786>DBEA8<[ciiigeeefijlnqtuuvtrponnoonptz‡š®¾»£‹vhNSbo{;d]B@?KBBIIFPRSWVKDDCB@=:zvrnljjjllnpqpqqqpoopvx„§YOK;:99787777677778677878::=>FSyxxtoljhiijlmnpppqqrqqp…¾tFA7888666666555665445667877=Apjciihiiigedccccccehkpsuwwvuqomkmopomlp{¬²„ˆ[i„|nh]MMV\^]]``___`bcb^QRflwwxwupkhhggiklmnooppppou©rQMA25654445556>7654443100ChvUVolrrrponlieaaaba_^^adhnqruvvwuplhikmoomjlv‡µ…uknfba\TgsmkjhedcdefgkrdZ[[vvwvvurlhgfgiijlllmmmnnoƒq_•—Š?244333567>965452?Rdv¤¾´¦¡¨¨««««ª¨§¤Ÿ™ˆiccb````bdimorruvvvrmigilnpnpz¨‚i[^\YXXXdd\YXWVVWWXXYZ]ZWWYqstvvuvrmiffeeghijkkklmtkOs¥§¶~2/U¹¾ÐåÔ¤pab`a‰îÍbicš~g{Š’”–dOXF\–Ÿžž›—”ƒw`shlpolhfegheb`_afjloprrsstaQ\`M¡Á¯£Ö NJMYkVTVdkVQPmfCGM¬ðhjlnprstutsqmifcbbbbbdfZ5/-0>ATnkpaqp_•êÔxjv–^o£ÍÐÓØÚß»TVLJP°åàØ×ÚÜ´uZhfekmnnkjhffeda``cfjmooprtbIPYH‘ØáÙçîšHABš~6L‹l5X°W8E˜îâafijmoprssssqnkecbaa`aeO0../25:AEPYbtˆœ­ÑÈ©—†…Xl°äÜÜÜÜâ¬Pdd]N¦ãÜÖÒØáº]lWhdccfjmmiecbcba^]_afjkmps`CFPM_½ºÊËÜí|>:iÆY[ÏåŸ@§¡HDcêè¸^begjlnopqqrqpnieb````dN.,057:@FN\mžÚâæêëêçê¹t\`“ÐÍÎÓÕÔƒBT_YQææãáÙÒœAuSghedccfhihfda__^]\]_`bein^ABINOTa†Ñõ£PIC¬Ã`š·u…ÚaIXvÆÖ…‚[ceijlnpqrsrrpmhdba`_bR/-/16L`yŸ¢ïñóóòòóâ XiUC978866:EmŠfWR<46565EEOhUjkjifca_adfeba`]\]]\\ZZ]WC>GJNQVY]]\]ahsw¤ØæçÝÄŠumeceedËÀq[dfgilmoprqoqplgca``V20018A|l:9@O‘—‘ŽŠƒ¢PjMD;8:99873BWIA;79oï½g]dƒichknnn•~OfEA6EJLORV]jomoq¾îçãçãëëìñ«ffhlew¶ÅГX^cgijklnopppookgdV3;...19D=;@F:5E\bdˆ˜_KSNLGFFJJHFJ?;9:=BPcŽ_LILBGJY`hwfikjjiecbehkligca`a];2EKMOQX_iilpqÉõñïïïïððõ©ghehfM‹¼ÈÊwY`dhiklmoppoopmjhW1<.-,015;>?@BDPw’§`:@[^_”mTgkklkifbbbehjjheba\83ELORRX`h`SPMeŠˆƒ€|wrT:8J]eYw¯ÀÌ·fZbfhjklnoonopnlkX.<2-),..//0/02?]sŠtkROOQTUONNOUUPPORVY[[WUWVWY\_cjSfMZjjllkkkhdbabdgjigd]31DILT}wd^ME,,-.,C>?U@=B69ANI]XZ|¸ÃΣ]^cegijmmmlmonmmW,<40E;0-,+*+**,5=_’qsa_^\[[\[\]]\]]]]\[[[\\[[\]]_bgQF`hgijkjjkjheba`bfgijb1/CBAnß›eTONMTRRMeYTYSQWMJCSXWOJO‰»ÁÍ‘X\adfhijkklmmjbP,:52:NKD:75+****6J^\qYYYZZYXXXYYYYZZYZZZZYYYXYZYZ_aAOhffgjjiijjjjgdaa`cfjc/.B>>b§~^`eR7898<<<>=>=?=6?_ga]RMU—»ÅÇwT\_bdfgijkkkg\M.8542;>>70-,049=HiJnrUXWXXWWXXXXXXYYXXYYXWVVUUUTTWgFUdccdefegkijjjgdc``adb/+==??@?>??@B@=Vl‘}w}~v[WWXXYYYYYYVr’¡ª¯²²°°­¬««««ª«¬¬®²³±‡dhhiiihfdba^/(73B0*+*)''()*((((''%%%&%$*2(jpfRLM†»ÃÒ—Y_cfgghhhijgd]WVUUVVVVUVXY[[]_mŒx{®Ä½}\[\\[\\[[Ye‰–¯¨¢œ–’ŽŠ…}{zxwwvvw{ƒŠ‰buighijifc[S.(66\S7,,31-+('&&%%''(*+/38J^==;9==6756687875688898Hbeedccc]P8-/,+12*)'&%$$%&$%$$##$$$$$%%&lmnlhYOQQŒÄÇÔ¦_`acefgijjijiihfda^\[[[]^aRNIHJQVl¿§y¤¶º¾ÄÉͬl9:::;<=>@@XbK@899FC76667779?>Vecb```_YL:0-/13247998878:;<<===:8:Iacb```_\XRMLLLORTY^cddc`^]][ZZYVRQQTY`mtrrswjUOJm¼ÈÑÆm]bdeghhhhijjjkigd`]\[Z[_TCHIJOQYc|¿Ì>7::8h‘<@:79887;GCBWdE6?<8543434544;A@Xdbaaaa_][ZYYXYYXY\adghecca^\YWWVVUUVYmomjjjg]SMM”ÆÉÖ¢Z`bdfgggghijjjjhfc_]\ZZ]T?FHITY`gz¶ÑQDEHK–w8@538;:88IF;736667524>@=64326B225AE@3?F522223554D]NIC;623>?B[bacddbb`_`````_^\[]afigeb_[YXWWXWWXXlfggsnibRKMM„ÁÆÖ²_^dddeefhhiijjiigeb^\[\O:BHFJQYev¤Écƒíôã›C><213X‚]/4611100246;CGLQPOF719A=Qb^XZY`dbaaaabcca_][\`fhhge`\ZYYYXXYYnlfgporiRKMLV¦ÄÊÓ•a_bdeefhhhiijjjigd`]\]N5AJFIPYds˜ÒlnéòÎ{AUL5743Zddccdcddedca_]\_dilifb][[\[Z[swplqpolnqZLKO‘ÂÇÖ¯_addefhhhhjjjiiihea^_N.;IDqµ°qSW99?A€‘P:@@OY>DIFCBB>//0/07IFTDTf`VPG51=;=;53207]dccdddcceeeca_]\]bhjjhb]\[[[[pplhlnifikeLJJ`®ÂÊÖŠ]cdefhiiikjijjjigd`_N1:FDpÝä¢RA:IPKQTF8ERfa@A@?A?>>765347=AE:GRQHFD<487:??4;GYcdccddccbdefdca_[Z]bfijhc_][YYpmmdilospojRIKKz½ÁÐÅn_edfhijjjjjkkjjhfb`P08@HL…²–]F3LN6=AB?>??<<=>>>>=>>@?;<_?Eh^``accddddddddefffdb_\\^bfklkid_^fkkhnpklpsplUJMMY¨ÂÈÕ’^beffghjjkjkkkjif_L(53:;9898;B?vôTgW=>=>?@BCFFHIPXZYVWWXZ\]]^]^^\_j\‚l9w¿Ä®kaccccdeeeeeeeffeb_]\^bhklmjecyttotrkjlkhkfLJKJo»¿ÎËu[adeefghhijjiggaRB)4/54-+,49C@c©ŸCx†_AQ_dhlmmooooppnmmllkkkjiiklmordu†b]¼âÞ¡_ccccdddeeedddeffd`\[]cgkmmkgz‚~pkkigijnkbOJMLL’ÀÀÔ¯\]`bcdffghhihed`XE*32745>>===>>==>>>>>?@?@ABEYpfcl†xddcbcccbcaaccbddcba^ZY[`gkmmunnnkljgjimmniRJKKeºÆÎÖ‰]beghgfggggfed`[M9545543331:^rZCB@?>>?==<;::9:999999999999:;;;<<=<>>Jlˆ„„“¬…;Gdbad¥Á¾”bdddcbddeedddddccb`][]blklmqttpskknljofPJKLLŒÈÉÔ½jdeghihhgghgfdba_]\\ZYXXXYHR[_Me}‡jhmePEEDFEEFGH]‰WLGKIGFIMIÄåëÓ±¹ã£5Ccba_æïç˜aabbbcdccccbbccbbb_\Z\jpvsopqloijifjrbLKKLK^·ËËÔ–`egghhgghhgfedcb`__][YYYZJNGLMÈ·ªÔëãÏ£NMOTX\allˆy|qccaXCJ¢øÞ·¼Ûæô„3>cbaa_¯®›c_`abbcbabcabbbbbca`[Zpwvpjhjmoijlvsuf_YMMNO‡ÊÊÑÉtbfghhhhhgggfedcbba_][YY[KK=@B¸ìÓÇ«²Õ÷ÇV@FPQMRšš”™Žl57521PjšÒØÔÍ›P2:dbaa`\[X[```ba`bbaabbbbabbaa`^[hikga^ahiq{wtvojndRLNQ[²ÊÇשdgghhhhhhggggfddcca^\ZY[MJ;8<~âéèáÛÛ¸ri6+,,)8ez„‰ŒtV4568Hl€ca_UMA662:dcaa```_``abcbbcca`abbbbbbabba_unmmjnpsirrtuu|k]SKKKK|ÆÄÏÔ‡beegggggggfgfedddb`^[ZZLJ938@Yimnkkg{”qC>BB9a¡¦–€BAB?>CšucULC<834?JQ]q‹½™c‹ØèêíïñññòññöÓdo¾—z_OJB<<53>ccbcbcaaa`abccceedcbbbbccbabccc€~xv€ysnr`_fq{sjjeYLLJTZZ˜ÂÃ×Àf`cccdefeeffffeedcb`][LL>1/18?>KPZp‰²Í`€åîéëëëëëìßÛðÐYwÀ•|cULE>:8;Ecdccccbaa`aaehhfefedccbdcbaabcc‡††‡‡‡‡‡†…†‡‡‡‡†††‡ˆˆ‡‡‡‡‡‡‡…„‚}xutttxyxxzzx{{zwuyzz{{zyz{~€€€…†……†‡†††…†††††……††††††††‡……†‚{xuvuvuvxxxyxz{zxwuvvy{zxwy|~€€€………„…†††††…†……………†††……†………„„…‚€{uxwxwwyzxxwz{zyxvvuxyywwy{~~€€€……………†……†………†………††………„†…„………„‚yyyxwz|{yxxz{{{ywvvxyzyzz{~€€†…„„…………†……††…………………„„„ƒƒ„„„ƒ|yxwyz|zzz{|{zzzvvxyyyzzy|~€€„‚ƒƒ„„„…………†……………………ƒ‚‚‚€~}zywy{{zz{}}|yyywvxz{z{x{~€ƒ„…ƒ‚ƒ„……………„„††„…„€€€€€€}~~{z{wwxyzz{|{{zyxwwwwyzzy{~~€€€‚„†‚ƒ„…††……ƒ„„„‚‚‚~~€~}{|~|zyxwxwwy{||{{{yxyxwuvxxy|}~€€‚‚‚€‚ƒ„„†‡„‚‚€}zz{|||}|~}||zz|zzyxxyxyzz||}}{zwyyvuvwwx|€€€…€~~ƒƒ}zxwxyx{{y|{zyxy{yzzyxyyy{{|}}|zzyxxvuvuv{~€€}†ƒ€€€~~{zyzyxxxwyzwyyxxxy{{{{yvwxxz||}~~}{{xxzwvvuw|~~‹ˆ€€€€€€}~}}{{z}~}}}}|}xvvvvwz{|{zyuuvxz|{}}{yywxyywxy|~~~‘Žƒ€€}|{}…‹ŽŽŽŠ|uuvw{|}{yxz|zzy{|~~}{yxxwwzzz|€‚ˆ€}|„…„~†……†‡„{y}Š‹‡†‡‡‰ŠŠŠ„utuwzy{zyz|{z{z{}~~~~{yyyz|~„†Ž‡„ƒ‚}„ˆ‡‡ˆŠ‰~z‡‚ƒƒ„†…‡Š‡wsuvywzyyzzyyy{}~~~{wwz~†‰ˆ‰‹‹‹‹ŠŠŠ‚€„„ƒƒ„…†|‡ˆ†…………†‚‰†{ttuxyyyz{zxxx{~~~~~}xttx‚…„‚„‰ŠŠŠŠ‰Š†€‚‚€€€‚‚ˆŠ„„‡ˆ‡‡€ˆ†~wyvwyxy{{zxxy|}}{{xwspqw……„ƒ†‡Šˆ‰‹ŒŒ‰‚‚‚„ˆ‰ƒ…ˆ‰ˆ‡‰ˆ€{|zyyz|}|{{{zxtpkpqttsq{‡‰‹‰‰ˆ‰‡ŠŠŠ‹Š„„ƒ„ƒƒƒƒƒƒ‚‚‚…†……†ˆ‡††ƒˆŠ‡€€€€‚ƒ‚ƒ‚~|xuuxxyzxx‡ŠŠ…‡ŠŠˆ‰‰‰‰Š‡‡‡…‡‰ˆˆ‰ˆ‡†…‹‹ŠŠŠ‹ŠŠŠ‹Š‹ˆ‚‚ƒƒƒƒƒƒƒ„„„…†……ƒz{‚ˆ‰‰‡ˆ‰‰ˆ†‡‡‡ˆ‰‰ˆ‡ˆˆˆ‰ŠŠ‰‡ˆŽ‹Š‰Š‹‹‹ŒŒ‘Š‚‚„„„„„ƒ‚ƒƒ„‡‡‡†…€€„ˆ‰‰ˆˆˆˆ‡ˆˆ‰‰‰‰‰‰ˆˆ‡ˆ‰‰‰Š‡ŠŠ„ˆŠ‰ˆˆ‡ˆˆŠ‹‹ŒŒˆˆ‡‡ˆ‰†„„ƒ‚€‚„†‡ˆ†…†…‡…†Šˆ…ƒ„‡ˆƒƒ‰‰‰Š‰‡‡‡ˆ‰‰ˆˆ„~ƒ††…†……†’“’““”••••„ƒƒ‚‚‚€€€ƒ…†……~zvtvvtssuwtu‰ŠŠ‰‰‰††‡‡ˆ‰…„ƒƒ‚„„…ˆ‹Šˆ‡ˆ‹‹‰†††‰‡ƒ‚‚€€€€‚……}{wvuvvvwxy}ˆŠ‰‰ŠŠ‰‡‡‡‡‡„„………„‚‚ƒ„‰‰~zz~‰‹„{z|ƒ‰†‚‚€€‚€€€€€€„‚ƒˆˆ‰ŠŠ‹‰††††‚ƒ†ˆ‡…‚€ˆ‰ƒƒ‰‹‡„‰Š‡…ƒ‚‚ƒƒ‚‚€wuv{|z|€}z{z€†‡ˆ‰‰‹‹ˆ‡……‚‚ƒ……‚‚€‚‰‡‰‹‹ŠŠŒŒ‰ˆ‰ˆ‰Š‰ˆ†ƒ‚‚ƒ‚‚‚ƒvqrtttz}~{vtr}ƒ‡‰‰Š‹‹‰†„‚‚€‚†Š††ˆˆˆˆ‹Œ‡~ƒ‡ˆŠ‹‰ˆ‡…ƒ‚‚€€‚vqrsw}‚~}ys||†ˆ‰ŠŠ‹‹‰…‚‚‚‚‚‚‡Œˆ‡†…†…‡‡„€ƒ†‡‹ˆ†ˆ‰ˆ†ƒ€€‚ysut|‚…€€~x}}~ƒ‡ˆ‰ŠŠ‹Šˆ‚‚ƒƒ‚‚‚‚†‘“’’’’’‘’’’“””Š„‡‰‰‰ˆ†ƒ€€‚||z~€€€€€~|~}}„‡ˆ‰ŠŠ‹Šƒ€…†„‚ƒƒƒˆ‘••”“”“”•••”•••‡‰ˆˆˆˆˆ‡ƒ‚‚€€€~€€v~}…‰ˆˆ‰‰‰…ƒ„ƒƒƒƒ„‹Œ‰Ž‘‘‘‘ŽŒŒŒŒ‰ˆ‰‡…„ƒ‚‚‚‚‚oz€~‚‡‰‰‰‰‰‡……„„ƒ„„„Š„}‚ŒŽŒŒ‘’‘‘“’”““’’”ˆˆ‰‰ˆ„€ƒ†††…††††††„hm{}z~ƒˆ‰ŠŠŠŠ‰‰‡…„……„‡}‡‰‡†Š‘ŽŒ‹‹ŠŠ‹ŒŒ‰ˆˆ‰‰…€ƒ……†…………………„iir{}~†‰‰‰ŠŠŠ‹‰‡……†………ƒ„†„„‰ŠŠ‹‹‹ˆˆŠŠ‹‹‹‹‹‰ˆˆˆ†…‚‚‚€€€‚‚kjkv€~~ˆŠ‰ŠŠŠ‹‹‰†……„ƒ……ƒ‚„‰‰‰ŠŠŠ‰ˆŠŠ‹‹‹Œ‹‰ˆˆˆ††„ƒƒ€€€€‚ƒƒ…onmt€}}„‰ŠŠ‰Š‹ŒŠ‡……„ƒ„…ƒ„ƒ„ˆŠŠ†‡Š‹ŠŠ‰‰ˆˆŠŠ‰‰ˆˆ‡‡†††„ƒ€€‚„……†onjmx~|€†ŠŠŠ‰‰‹‹‰‡†ƒ‚‚ƒ‚…„†ˆŠ‰‚ƒ‰‹ŠŠˆ‡‡‡‡‰‰‡‡…†ˆˆˆˆˆ‡„‚€€„†‡‡llihjy€}}ƒ‰ŠŠŠŠ‹‹Š‰†„‚€€ƒ„„‡‡ˆˆ††ˆˆˆˆˆˆ‡‡‡ˆˆ‡†…†ˆ‰‰ˆˆˆˆ…‚€€ƒ…†nmihes€~|†ŠŠŠŠ‹‹‹Šˆ…‚‚„†ˆŠ‰ŠŠ‹‹‹ŠŒŒŽŽŒ‹‹ˆ†ˆˆˆ‰‰ˆˆˆˆ†ƒ€€‚ƒljgffl{€~|€‡‰ŠŠŠ‹Š‹Š‡‚„ƒƒ†ŒŽ‘’“““”•––––––––…ƒ‡‰ˆˆˆˆˆ‰ˆ‡ƒ€€gggfgiq~€}|‚ˆŠŠŠŠŠ‹Œˆ„††ƒ…Ž’”˜˜—˜—–––•••––——”‰††ˆˆˆˆˆˆ‰ˆˆ†ƒ€iggfghhu€}€ˆŠŠŠŠŠ‰‰‡‚‚‚‚ƒ‚…’’’‘ŽŽŒŽŒŒŒˆ††‰‰ˆˆˆˆ‰ˆˆ†‚jhgegihs€„Š‹ŠŠŠ‰Šˆ…„ƒƒ‚‚‰ŽŒŠŠ‰‰ˆˆ‡†…†††‡‰‰ˆ‡‹ˆ‡‡…‡ˆ‰ˆˆ‰ˆˆ‰‡„‚jhgfhiho}€}€‡Œ‹ŠŠŠŠˆ‡‡……‚ˆ‰†…†„„ƒ‚ƒƒƒ‚€„†††„‡ˆ‰‡‚ƒˆ‰ˆ‰‰‰‰ˆˆ‡ƒjjjhihhku€}ƒŠŒ‹ŠŠ‹‹‹‰‰‡†ƒƒƒ‚…‡‚‚€‚‚‚€‚„‡ˆ‡„†ˆ‡‡†ˆŠ‰‰‰‰‰‡ˆ‰‡lljjnkijq}~†Š‹ŠŠ‹‹‹ŠŠ‰†ƒ‚‚„†‡‚‚„††††…ƒ‚‚ƒ‚†ŠŠ‰‰‰ŠŠ‰‰‰‰‰‰‰‰llmoqpmos|€~}~‚‰Š‰‰Š‹‹‹ŠŠ‡ƒ‚ƒ‚€‚ƒ‚‚€€€€‚‚‚„‰‰ˆŠˆ‡‰‰‰‰‰‰‰‰‰{zzzzzzz{zzz{{{zzzyyyyyyyyzz|‚„ƒƒƒ„†‡ˆ‡†††‡‡†ˆ‡††‡‡†……‡†„ƒƒƒƒyzzyyzzzzzzzyyyyyyxyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†„„…††††‡†ƒ‚‚zzzzyzzzzzzzyyyyyyyyyyz{zzzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒƒ‚‚zzzzzzyyzzzyzyyyyzzzzzz{|{{z{€‚…„„„……„ƒ„†††…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zz{zzzzzzyyyyyzz{{}~}|||~€‚„„„„………„…‡‡†……„„„„…†‡‡†…„‚‚‚{€€~|}~|zyzzzzzzzyz|}}~}~‚ƒ‚ƒ„…„„……‡†††††………„„……‡†††ƒƒ‚‚‚€‚€€|{zzzz|zy{{|}€€€€€‚„…ƒ„„……„„„„††††„…†………„…†††††„ƒ‚‚„~€~}|{zzz}{{~€€ƒƒ‚€‚ƒ…†…†……………ƒƒ„…†…„„…„„…„…†††……„ƒ‚ƒ€€€€~}|{}€~„††…„„ƒƒ„ƒ„…†††††…………„„……†…„„ƒƒ„„…††‡†…„ƒ‚‚€‚ƒ~ƒƒ€€€~‚„ƒ…‡‰ˆ‡†…„„„„…††††††…………………„……„„‚‚ƒ„†††ˆ†…ƒ‚€‚‚‚~ƒ€€€‚‚„†‡†‡‡†††…„„„„„††††††………………………†…ƒƒƒƒ„†…†ˆ‡…‚€€‚ƒ{}‚€‚ƒƒƒ„††††…„„ƒƒ„‚ƒ„†‡‡ˆˆ†††……„…………………„„„ƒƒ…††††…„ƒ€€€‚ƒ{z}‚‚‚‚‚‚……†…ƒ~}~~~}}~…ˆ‡ˆˆ††„„„„„„†…‡†…„„„„„†‡ˆ‡…„ƒ‚‚€€ƒ„†ƒ€~}|~‚‡‡…€|||€}}}}‡‡ˆˆ†……„„„…†‡‡‰‡……„„„…‡‡‡‡ƒ‚ƒƒƒƒƒƒƒ…‰‡ƒƒ{yx{}€††…~|{{{{{y{}}~†‡‡‡…„„ƒ„„††‡ˆˆ†„ƒ‚ƒ„†ˆ‡…’›œœœœžœ›‡„ƒƒ€~€ƒ…ƒ||~|x{yw~€|}…ˆ‡‡…ƒ…„„„…‡‡‡‡…„„‚„……‡‡…ˆ‡„ƒƒ‚€‚‚†ƒ‚€€€€€ƒ…||ƒ€wxxw€„}}ƒˆ‡†…………„„…††‡‡…„„……ƒ€‰}{{|zzzyyzz|€€‚ƒ…ƒ‚ƒ……{{zz{{ƒ†||€……„„ƒƒƒƒ„†‰†††‚~~}}{yw}‰|{~{z~|zz{{€€€€‚‚‚‚ƒƒƒ€|}~}|~~}‚„}|~ƒƒƒƒ‚€€€‚„„„„„€€‚ƒ–•…‡z{€zz||{zzz~~}}}~~~}}}}}~~}~~}||‚€€€€€€€€€‚ƒŠ„†®¹˜‹{{~}z|}~}}|||}~~}||||~||{||||||}|||}}~‚€€€€€€€Œ‘“˜”‘“”•—˜˜™™™{{}~€}}}}}|‚Š}}~~~}}|}}}}}~~€‚€€~~€˜²¹»µ±¸¼½¼¹´¼Â|{||~~€~~}ƒ‹‚€~|z{{zyyzxyyz€€€‚€ƒŸÅÎÑÒÐÑÕÕÕÓÓÕÑ~}}}}}€~€€‚ƒƒƒ„~||}~~€~}~}|~‚‚€€‰šŽŸª·¾ÀÁÀ¼¹µ©š}}}}~~€€‚€‚„‚~||}~~{z{}~~}‚‚€Š±’}€„‚…†‚€ƒ€~€}}}~~€€€€€€}}€€}|}}xvx}}{}€€‚‚‚€‰¾É»¥¢°ž……ƒ—µ²¯ƒ}}}~~€€€€ƒ†‡ˆ„}||~~|yvx}€|{||}€€€‚€ˆ¾ÐÑÍÉĸ›Ž”®ÃÊÏ„ƒ€~}}}}~€€‚ƒƒƒ†††||||||||{…€||{|}}€€€€…¼ÎÐÊ´†…„„…•¨Ç†„‚€~}}}}~~€‚~|||}}}|}|~ƒ~}{}~~~€€€‚³ÎÌÇ“~‡‡‡‡‚²‘‰‚€}}}}}~€€€€€€}ywxyxyyyxxxwwvv}~}}~~€‚˜ªŸ¥„€‚„………ƒ€„„ƒ‚€~}}}~€€€€€~xvvvwvwwvuwwvvv}€~~~~}~~‚‚„„‚‚‚„„ƒƒ‚‚€~}~~}€€€||~zwwwxxyyyzyyyz{{zz{}~~~€€€€€€€€€ƒ‚‚‚€~}}}}~€€€€€€€{€„€{yyzyyxyywxzzzxyyy{}}}~~‚€~{~Ž‹‚‚~~}}|}~€€€~‚…„}~~|{{{z{|}|||{{|{|}~~~€‚€€€€€€}{‡‡‚ƒ~~~}}}~€€€€€~‚€€‚||||{||||zyyz{{{~€‚‚‚‚‚‚}}‚ƒƒƒ€~~~}}}~~€€€~}‚€|||~|z{{{zz{zz{|}~€‚‚‚‚‚‚ƒ‚‚ƒ‚~~~~}}}€€€€~€€€~~{}{{z{z{|{zz|}~~€€€‚‚€ƒ€|€‚‚‚ƒ‚~}}}}}}~€€€€€€€€€}|~€|{z{|{{zzz|}~€€€‚€€€z|}€‚‚‚€~~~~~}}}~€€€€€}}~~}{{||||||||}~€~~~~~~€€€€~zyz‚“ˆ‚~~~~}||}€€€‚‚€||}{zz{zzz{{z{{|}~~}~~€€€€~yxy}„Š…‚€~}}}}}}}€€€€€~|zzyywvwwvvvvvuuvvz€~~~}~~€~zxxz‚‚‚‚~}}}}}|€€€€€€~zwwvuvuuwwvuwxwwvvw}~~~~~}~~}€‚~zxwxy€ƒ‚‚}}}}}}€‚€zxxxy{{{{{{z||{{|{z~~~~}~~~~}}~€‚‚~zwxzzƒ‚‚‚€~}}}}}}~€‚€~}~€}}~~~‚†ƒ€~~~~~~~€‚~|x{{{~‚‚‚||}}}}}~€€€€~‚„ˆ†€€ƒ‚†‡†„‚€~€~~~~~}}~€€~{|}~~€‚‚‚~}}}}}{}}€€…††ƒ‚‚‚ƒƒ„‚‚…‡ˆ…‚~€~~~~~~~~€‚‚ƒ„ƒ‚‚‚„„€~~}}}|}}|€€„…„‚ƒƒ†‡‡‰ˆ†…€€}~~~~~}~~~ˆ‰‰ˆ‡…………‚—~~}}||}|}€€ƒ‚‚‚‚‚‚‚€€~~€€~~}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÎÎÎÍÍÍÌÍÎÎÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍǾ³®¢Ÿ“}sfixkiinmrcgaU]a\\c\R\b^`WQPTZY_e^dSTWVUWTTYVPX`^[XTMD>8<:522@2ÎÎÏÏÏÏÏÏÏÏÎÎÎÎÎÈÂÆÂÊÎÎÎÎÎÎÎÎÎÎÍÎÌÌÌÌÌÍÍÍÍÌÌÌÌÌÌÌÌÌÌÍÍÎÏÏÇ´š¤˜tys^\^q|n\_nlh[ZZ[_YWUN^g_\SOOQXW]gihOT]aZQPLQRZ`b\VNNKA@76642086ÎÎÎÎÎÎÎÎÎÎÎÎÎÍÌÇÁÅÀÈÌÍÍÌÍÌÌÍÎÎÍÍÍÍÌËÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÍÎÏÎÍÁ¥ˆˆrklmkmlot{y^b_cdZ[[\\]SRV\dY[ZVUTTSWZhcPQX\ULMMSS]caa[PFC@;742110.1ÎÎÍÎÎÍÎÎÍÎÎÍÍÍÍÈÃÆÁÉÍÌÌÌÊÊÊËËËÊÉÊÊÊÊÊÊËËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÍÍ̶—zkptyt}~bca]fX`cc[[WVaYTYdeROSVXTMMVNXgQNSWYQNSOPY`^_WUUNG?;74320--ÍÍÍÍÌÍÍÍÍÍÎÎÎÎÎÉÀÁÀÌÏÎÎÎÍÍÍÍÍÍËËËËËËÊÊÊÊËÊÊÊÊÊÉÉÉÇÉÊÊÌÌÊÊÌÀ’…€r_j{kcg^`aWiaXYUTM\`^`nl\POT\TMJSQQXTYZYUNPQV\_YXYQOYNG=>@;53/-,ËÌÌÌÌÍÍÍÍÎÎÎÎÎÏǹ¼¹ÉÏÎÎÎÎÎÎÎÎÏÎÏÎÎÎÎÎÎÍÌÌËÊËËËËÊÊÆÊÊËÌÌÌÈÆħŠxxng]knod_`]V\_UQ[SRPYeeefbhVPUYSPSTRQXRX]aVRTRYY\YYTSOPOI>?=7650.3ÌÍÎÎÎÎÍÍÎÎÎÎÎÎÏĻżÇÎÍÎÎÎÎÎÍÎÏÎÍÎÍÌÍÍÍÍÌÌÉÊÌÍÎÍËÇÅÊËÌÎÎÌÇĵ¢~yneUQb^Y^`^]b_VTQKLUY`aci`ZSOOPNJSPSP_KUUZ[W[Z^[[WRQTOSJEC?C;530/4ÎÍÍÏÏÏÎÎÎÎÎÎÎÎÏÅ¿ÌÁÆÍÌÍÍÍÍÍÌÍÎÎÍÎÍÎÍÍÍÍÌÌÉÊÊÌÊÆÂÄÁÆÇÊÌÍɾ¼«Œ€{pURQPLUVnndbc]YMD@LYPZba^VTRKLJHKIQLYNRUVVW[ZZZ\YTPSNWNCH@>=3/--,ÎÎÎÎÏÏÎÎÎÎÎÎÎÎÎÅ¿ËÁÃÍÌÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÎÌÊÈÈÅÈÁ¾¹Â½À¾ÆÊÈû­ ¨€ytaUYYVfg]nef]UURRXVcUO[\SOVXSKHFOQQXXSQY[UTWWUNNZVSXRWV>66120.---ÏÎÓÙØÑÍÍÍËÊÉËËÌ¿ÈÁÁÌÎÎÍÍÍÍÏÏÎÎÎÎÎÎÏÏÎÎÌÄÂÁ½Â»¹¬À¸¾µÀƽ½¶¤……~rˆyd[_Z\dkUn\S[SNTT_\UNPSWQQRUWLKKSSRZg^NVYVWUUZQJ\ZY\\LB<7541.....ÎÜêííçÕÌÊÿ¾ÁÅÉÁ¿ÇÀ¿ËÌÌÍÌÌÌÍÎÎÍÍÍÎÎÎÎÍÍÌÅÀ¼²½¸¯¢º²½¯·½²»´–…}~ngfcbaT[cZTdZRY^PSSW]UVTNNMKKLSYWORPQPbZMY\YQLMXZPWXPLIA8=<:73/---.ÛðЛ¨ßê;¸³°¶¹ÀÂÄÊÅÁÊÌËÌËÌËÉËÌËËËËËÉÇÉÅÄÁ³®©­°¤¨¬·­¶±®¬ uxulkRadZXcWQ\i^X_XLQRT\`bUQMLKNRMSVJOTNR[^Ya^SOKMYXQYPOXJCD=:;973/...íÅzglšáÚµ¯®®³³¾ÄÆËÈÄËÎÍÍÌÌÊÆËËËËÊÊÊÇÃþ¾³¡œš£¤™–¡«­ª¯¥¨š‚tmidkn[TXWa`VV\ZY^TSWTSUU`WQSONTUQSUWQPXQSX_X^XX\W]`TRXWSP?=E;866763000à†xvrŒÇ縬ª®°±ÀÁÅÊÈÂÊÎÍÍÍÌÆÀÉÌËÊÊȹ³µ´»­Ÿ•Žš›™‘ ³¯¬Ÿ™tgceTg`PLHOWbXQR^g^`n_^b^TVNPPOOQVRUSTXQ[OP_^]gYc_kf^ROLLIK@©‘‹ƒ„Œ½åâÑȲ®¯¬«·Ä¹¬°µ³½¼È»±¾Ãµ© ¡™š ““Ž†€ƒˆ‰~‹Š…ƒ€‚€yvoaWWUU\[UYUTYgQPO\gdRQ[YSMLLIKHFLJISU\`QYQPmrcf_a\T^YVUG<:;86543365;?z{©Ž‚¿äíîçÈǨ¡¡©©Ÿ  ¢¡¡©·­¥£¨™š˜¡™˜Ÿ’“…ƒ„€„xƒ‰ˆ„|{{~vqojdXQYfZQTQT_ZNX\]^XQRRRRMKPPKORRFCMOT_PQM^aa`Ydi\PS\XFTE<<<9566489<=‘ˆ“‡¾ãìäÞãí´ž¡¯ œŸ¤¬§¡¢£Ÿ””’œ™Ÿ›’™ŒŽŒ‹‡‡ƒ}‚‚yˆ„z{xxqhheYWYQV^YT]Y\[VYZZ^[UOJWVNLOJBDFF@@EIGPJRTX[bX`p]^OZ_[HDC@><85667:=@?LJo‹Œ”ÁãíʹÞé²Á¶¼³¸·Æûª  •Œ–š–ˆŠŠ‹Š‡…‚‚€y~ƒ~|vxwrrmlgY\dcbWQRWW^]cWT\SW_[URJOMNJBCDA?FFEBQGTX\W`b`\RbbVVVOKHEG965679<>HGaLk}™ÂãíàÖêéßÞâàâååæåçêðšš•ˆ‹’‘Œ‹Š†‹Œˆˆ„ƒ‚ƒ{}‹€y€wuqsrnhbV[daZQVOQ]hbbVMRSiZbXNQRPJIEGSKCKLLFPR\^YLYdceT`dVOW\PE@@<:8889=@JBX@^t’‘¾ãíìíëëìíìíîííëçåæ粌ƒ‡Š‹ˆƒŠ“ˆˆŽ„‰€}‹‚y|xwvuwsbWRZYZWZVN[ZZ^gjkpqlS\\SMSRFDFPWQQPOPIJWY\ZON_Y_]]gfW`R?:9<<;;;:;>==>>984c8698895463Zx=55798>EGF~ïãü¦z·¯¬NAFQkw``VMNCk“v{~~{‡ZET]gqwV<>><777Tqsql`DRvsmowqih^QWXUYY`]XGERW_W[ZYVX]UOIBEA>>><<@LOW`[UWYSXXNGFCCFJMOSS˜ÓfWWURLKLLH~ÔÁÉulœ›—YZ=EzzxtL;ACH–~€€{?W‚‘œ¤§ˆfS=8<78>DHJ\hXTXX\[ci}Ž“˜›žœœ›™™™——™™˜™–‘…g¬‡ZQBá»sISH>D@AB;:997y¶Ú–|†dIY¤¶··µ±¦²ŠvƒoOSN:343K^Osnimihcc\fod[NQ[[VRSYV_ZV\fYOIBB@ACA@>CHC=J[jk^LQa[’~Žˆ€xqmkifdccccdcceinn`ñ¢ULA•ðË•x~…†‹‘‘‘’’Œ†€˜Íå›{ŠPd=q…ullgŸ™z˜yLPPYM65>tJqsfgkmgb\[V\[POVUMNS][YX\_\STNGABGIB>BRQIT\^i‹iPURr†NQQQQRRJHFEFEDDGOQRQRTK•~UFHjªÀÒÎÌÏÒÔÕÕÔÕÔÒÏÍÖ¸‰|~Sn43643;LMNPURMOG]tb:8Wƒ^`rfdhszhUUVSRTOTXPOZ\ZV[a^ZNRTQIFLQK<>MUNgkjv„fZZOvePmty€„‹b97699;MGEIC9::;;B[E>>8[£ÛâëêëÍ“Ì·ŽžâäáâÛ¸u‚Z‡E9:UŠ–|F;444?MIFV†•Y566‡fR^`dbaa`VXYYTRPPNS[[TYZTMPZSPV[Wp‚uckym[TW\]^`de„[DJ@2557AFGAaRBB;887::?TU@..X”ÝéíîêêãàéãÖÞíéìèì¹t~\ˆBIGT„|KF9668:78Sš’K861o‚Kc`gd_a^ZZTUSUY]UNXYPMNTZZYXbx…‹‚aeqjTRY[ZZ]chj˜rZwyhQUi³ÄÅÇÊÌÍÊÍÍÊËÉÃÇÉË©xwg…GPL`{PHIEDEDA=<`–‡F=:4_›Hj^MLbqooqlrz‡‘‡‰‰‰’²˜|~}z}{kammbV[a_\[^fdp¢`U6B76DVB;=63/SK@FK08IVeigeeefijlmptuvvtrpoooponpsxƒ–ª¼½¦‹wk^N[ivƒ{:ghPEDJ_HCJH==88=EKKKKJE=zwsnkjjjllnpppqqqppppupguU@^><:::88777776778889899:;;BG=cmijjjhfddccddgjnqtuwutspmmooopolku‹§¸»²›`N[`vj?ZzH99;@ACHJQknlrhL>>;;;;yxwtoljiiijlmnpppqqrqqqw±¥CR;:98876667656667556788899;?RuggkjjkjigecccccbehkpsuwwwuromllnppnlpyŒ¨¨|WOBg}aRLD@HNMLLORVXYZXQPOJGGZwwwxupkhhggiklmnooppppoo¢œNE5368654555456665444566558JOFgechgfehiihedbba_^_adinqsuwwwvqlhiknpomkiyŒ•«qyuyplfURbmnlklkiiijklmjYXbvvwwvurmhgfgiijlllmmmnolŠŒ_\pW9344333455;A5544420/2F‹¡an€…„‚~|{yurjdccb````bdimorruvvvsnigilnpomk‰®|ndg^ZZYXmlb`_\ZY[[\]_bkcZYqstvvuurmiffeeghijkkkmmprp`¨´9123334677665441AizŽ§¹¯°­¬ªªªª«¬¬¬¬«¬¤kfdba``a`_bfjmpstvwvtqlggjmnoz¤xdUXYWWWX[[XWWVVUVVVVWVXVWWnpqsttrrqkgda`bcefggijkpwNL•£´¦…:2444316=D8556;¢——‰†ƒ‚‚~{z{|||||€ƒ†‘‰hjgcaaaa_^_bdjmpsssttuqlgfiih’i\TUVWWXXWVVVWWXWWWWWWWWYYXknopqrqrrpkfbaaaabddfhjhnD4~¿Ðèœ~\RV`tKf°HXma|jdcabaaabfpngdddedaaa`ywnnkhcabbca^]`einoprrsttrjf`a~e]TSVXV[[\[ZYYZZZYZZ[ZX\]\[jknorssttrpmhdcbabbcdeh^O<.O¹Öâíé¨w\^eŽhžÐqjfgŸ|^ovvvvvy‚ˆ±«‰Œ‰‚~}urwjlpolifegheb`_afjloprsssrpZYhc\™¡xw‘aTX[^[[_^`]^_[\_TQMxhjlnprstutsqmifcbbbbbdfbC2-0Zxz›¸¤ emk\`Ðú]l›byˆ—›¡¢¦©F@?;m­³µ°®¦ž‚h_mdjmnnljhffeda``cfjlnoprrtZMY[N±ÃÍËï¶TCAWŽWCQuzPAN’^8Ad×afijmoprsrssqnkecbaa`ada?/--.03B?MeQ`ony²Û¥~nˆXˆÇØÚÜÞÞâ~YZUOeÕãßØØÞá’oRidcceimniecbcba_]_aeikmppsXFMVG’åÜ×áîµO@=Ÿ˜5c³½z4‚°I?QÆí^begjlnopqqrqqnieb````c]6,-258<[ÍojÑ܆ZÎyEIméëƒ[ceijlnoqrssrpmhdba`_a^8,.159?GR_v‹ÕîìîîëíñÞ–VmZ¬¹½ÂÅǯPMXfUX´åßÙѵcKrSjkigdbcdfhgd`__]\]][\\_chT@AIMOOYhwÃË…bYKÚ{–¦wÂÇS[ku’¦Åz\dgjklnortrrpomgcba_``<,./29BM_y ªÈîìððïðóψSmG=?BEHIAEwuXVkwdYKAmRdkjifca_adfeba`]\]]]\Z[\`RA@GKOSWX\cddntsxÕçÞááè”pogc_]ÌÂr[dfgikmoprqoqplgda``_?./024GJMQVXafgfhlt{’¸ÑϺž„ytqoomÀζbZadgjklnqqoqqplgc``_@11/9CÁ[54=SPNNQRJ`£f]]C=79;987529E><77;EB:7@83/.3VlVAMUYQPSZ`|¤OgMOPKNOMJLN?34455>g¦UKM@6^Ndf^cilkkjiecbehjkigdba`aX95GKMORX`kllntÒïèåèåíîîô¡hjgjMˆ»ÈÊwY`dhiklmoppoopmjgd=84-,/05=>?BB;?V`ds™~KSMNIFFJKJFIKA<9=CKPmuOHFI@FGaW…–u`jkkkifbbbehjjheb`aY75HLOPRYbigjln¸áÝÚÙ×ÓÒÑшZ[^fZu¬ÀÌ·fZbfhjklnoonopnlkg<76/,-01489:EUXSGC?TPB=:@NSPMD??HcWkZVkkkkkkhdbabdgjhgdcX35HLQR\`beTA97:FHJHIMA@<3,1HUWWw¶ÃΣ]^cegikmmmlmonlmi;4900.+++**+++/He|ŠqaRQPRUTPQRTXUTSUUWZ[ZWXYYZ\``geXXOdjjjjjkjhebaabfgiigZ/4EGHj®dTJJA>`RSbPPWGIKQJPJNƒ¹ÀÌ‘X\adfhijkklnmmke9381HH@54-*,/02JM\ifYYYYYYXXXYYYZZZZZZZYYYXYZYY\bZ>[hffgghijjjjjgdb```ch])2B>@[{e_egT<88:BACFGIIJGCQgjfYPJ[£À˽jZ_adfghiklkidX:34324443/,*.1468aV^wcUXWXWWWXXXXXXXXXXYYXXWVUUTSS\cB]cbbcdddhjiiiigeca``d\*.=<;@JT]krwofegghiiiihghkqpjlaPLJj´ÁЭa\acefghjjkif\K9101/,,-----00-,\vŒyfY\WVWWWWXXXXXXWYVTTUX_fjqy~ƒŒ•Ž“•’‹‡‚zmrqhiiihfdbaaY(,7535;ACGIQQMLIEEDCA?>>=<:41kpgRLLºÃÓšZ_cegghiiijfbZOJHHKKLLLLNNPONPf}eq…‚mXXYYYZZZYYYVvxzŠ™¤¬°°±²°®­¬­­­®®¯±³³¬ƒgggiijigfcaW),56T6('&&"!!"! ""!!!"#$%&(8Gimv]OMS—¿Ê̓[bdfggiijjigb\[ZYZYXXXXZ[]_aa`~n‹ÇʪnY\\[[]\\[Yiˆž°«¦ š•‘ŽŠ†‚~{{z{|}€…ˆ‹_rigfehhd[TK(-66QJ825:75210/.-/212456:>FMrpmgXPM`©ÁÎÆu^dfghijkkkigedb`_][ZZZ[]`dfaZyZa±ìâã²ebddfgiiklŽ~ˆ~tld^ZVSRQRONMKKKLNPRU[\tmefdaa\QLF'-6.$':<<;;:;;;:989::99987776qlmoeSVg…»ÈÔºi_defiijjkkihgedba^\[ZZ\_ac^XcMK®êÈÛî”gqruttuwvŠnXTLJHHKMNNNReMIGFDEEDCDDCCIdeecccbaTH--2.,263411//./.-,+-,---+*))*lmnmhYOOPÄÇÔ¦^`aceeghikjiiigeda]\[[[]_a\TSJFs·ŽÌók|„ˆŒŽ…vJAB????=<:<;8766788777899898Icdcbbaa]Q;/+)*0,&&%%$#$$%%%$%&&%%$$&*+nsqomdSLKU£ÅËÓŽZacdeghhiijjjiigea]\[[\]_]NJJGLQVˆ»…¶ºº¿ÆÌ̧a9:99::;;=>WVF>8::A=76667778?>Wdba```^YQB:77:=?@EHJKNNLKJJIHGGCAADLQmtrsswjTOJj¼ÈÒÇn]bdegghhhijjjjifd`]\[[[]\IDKGMPW[e†Ñ´VLJLLc—G=;CFFGGGHKS‚ŽOJbba``a_]YVTRRSTUVZ`dfgeb`_]\YVUUQOOQUnomkjlg]SML•ÇÉÖ¤Z`bdefggghijjjigfc_][ZZ[]IBKFNQU]kÛŒ2===:u…9A88:998>EC@fqE7@<7443444444<54327B=Mbbaaaa``^^^^^^^][Z\aeihdb^[ZXWWVVVWXlfggsnibQKML~ÀÆÔ´a_dddeefhhiijjiigda^\[[[C>GFJRZcpŠË¨a–Á˾¥J<<228AA>4@C632223554B\NIB;633??C\bacccbba````aa`_][\`ehgfd`\ZYXWWXXXnlfgporiRKMKS¡ÄÉÓ˜a_bdeefhhhiijjjhgd`]\[[?@:217dV/6921111246Qb_]]]acbaaabbcca`^\\`ehjjgb][ZYYZZZhrlioptsg[OLJm´ÂÑËr[bddefhhhhhkkiihfc_]\[;:GHGMU^j|µ¶NªöðÀo9A713LtxoB20010//249EBMS]Z\[B25B=HbQ454Fcccbcbcdddca^]\_diljfb^\[[[Z[twplqpolorZLKNŠÁÇÖ°`addefhhhhjkjiiihea^]\95FJHP]\]n•–Kn»à­X:A:97LwU>=2/0//14BGNPQ_\YUC23B>BXM5744[dccccccdeeca_]\^cijjgb^]\[[[qplhlnifikeLJK\ªÂÊÖ]cdefhiiikjjjjjigd`^]93BILÙXYR9<=G†J:A?LM>JMICBC:.////7IFTGUe_VNF52?=>=74315]dcddccbcdeeca^\[]bgijgb_][ZYpmmdilospojRIKKw¼ÁÐÇp_ddfhijjjkkkkjjhfb_];6>IH¦éÐrN==JNKY\D9EOl_?A?@A@?>653248?CI=LZVLJE;277:=;15BVdccddddccdefeba_\Z^bfjjhe`][[heccgirsoss`MJXh•¿ÄÔ¯cbefghjkkkkkkkkihfc_;29EG]¯xU?2XK9=>@6CK@;:987786;>=::;8655545787ALHGC:EHLYajqid`uuCC53345556789:?AB?>@?<<=<=<====?@;9X>DªÌ³laccccdeeeddeeffdb_\\^chklljecyttotrkjlkhkfLJKIj¹¿ÎÍw[adeefghhijjkjihbW5-44:978::?D@ˆÄ¨LhK;?=<=?@BCCDEKRROMPRTUVWXYXXWRUbVj5“ÝÙŸ_ccccdddeeeddeeffd`\[]cgkmmkgz‚~qkkigijnkbPJMLK¿ÀÔ°\\`bcdffghhijggeXM3-3/90-+06?B>>>???>>?????ABBBBCG]rfa^\bcbbccbbbcccdccdddca_][[agjnkmvsnkmnnggjjjUJJMLŽÇÆÓ¼b^_aeedffgfffda]V@1146655420@c„Œp[DDB@@@@>>=<;:;:999::::99::9:;<<<===>E]hbaabeeacecbcdcddeeedeecb`\Y\bgimnqmmnqtplilmhUMJLKa¸ÈÌÖ^degghhggggfeb_[SMJKMMMMMMKC_“€eM==;;;;;:99888777667777778779;;998:AA8DWcad§ÇÅ›bdcdcbcdeeeeeedccb`][]blklmqttptlknmjpfQJJLL‹ÈÉÔ¾kdeghiihfghgeca^ZVVVVUUUVWWE\xjTB989::9::877898899<<=>>>?==<>>B[rnxˆœ|?Ecb`ˆâïêž`abbbcccbdccbccbbb_][\jpusopqmpijigjrbLKKLK]¶ËËÔ˜afgghhhghhgfdca`^\\[YXWWXWFV__LTrrYUWPB@AACCDFGHaƒSJFJHEDGMJu®ÛíÓ®³Û´8Abba`ˆ§¦–b_`abbbbabbbbbbbbca`\Zpvuojhjnoijlwsuf_YMMNO‚ÉÉÐÉubfghhhhhgggfecbba`_\ZYXXXFQJL]É°¶¥ÓÝе…KONPTW]ahƒpotkdc`XFK§ûܵ´ÏÞö—4AOÓÜÌ»«µÙú¼OBMWYU]£¢™ž˜k:<972Nl©ÙÚÞÙѳ\47bca``a``abbcbbcca`abbbbbbabba_uonnjoqtirrtuu|k]SKKKKuÄÅÏÕˆbeeggggfggffedcccb_][YXZIK98@šîîëÝÕß¾ta1-,+(=gx~„iU0125Ef}dgldXH;517bcaacb`__bcbbcccbaaabbbababbaa„|€yu{wjgpwwy{se]RKKKKPÉÆؽfabdeeeefggggeeddca_]ZXZHJ41:Im}~ywi|Šb=>CB;n§¨¥¡†ECCA@G‹—ubSJC<7258bcbacba```aa`acbbbbaaabbbabcbbƒ|tysqimtnigoiaccUKKK]d|¸ÃËÙŽ]bccceggffgfeeedcb`_[YZIK5/778=BHQ`t‘´t8?ELNYuŸ‡vwxƒnWK¨¡zcRJA;;/.:cccbcaaa`abdbbdeddcbbbccbabccc~xv€ysnr`_hqztjjeYLLJTWV”ÂÃ×Àg`ccbdefffffeeeddcb`\YZIK60728>AKQ`u‘Ã~b‹ÈØÞâéïîíîðñõËfm¹—zbQIA;;1-:cdcccbaa`aadijfefedccbdcbaabcc‡††‡‡‡‡‡†…†‡‡‡‡†††‡ˆˆ‡‡‡‡‡‡‡…„‚}xutttxyxxzzy{{zwuyzz{{zyz{~€€€…†……†††††…†††††……††††††††‡……†‚{xuvuvuvxxxyx{{zywtvvy{zxwy|~€€€………„…†††††…†……………†††……†………„„…‚€{uxwxwwyzxxwz{zyxvvuxyywwy{~~€€€……………†……††……†………††………„†…„………„‚zyyxwz|{yxxz{{{ywvvxyzyzz{~€€†…„„…………†……††……………………„„ƒƒ„„„ƒ€|yxwyz|zzz{|{zzzvvxyyyzzy|~€€„‚ƒƒ„„„…………†……………………ƒ‚‚‚€~|zywy{{zz{}}|zyywvxz{z{x{~€ƒ„†ƒ‚ƒ„……………„„††„…„€€€€€€}~~{zywwxyzz{|{{zzxwwwwyzzy{~~€€€‚„†‚‚ƒ„…††……ƒ„„„‚‚‚~~€~}{|~|zyxwxwwy{||{{{yxyxwuvxxy|}~€€ƒ‚‚‚€€‚ƒ„„†‡„‚‚€}zz||||}}~}||zz|zzyxxyxyzz||}}{zwyyvuuwwx|€€€…‚€~~ƒƒ}zxwwxx{{y|{zyxy{yzzyxyyy{{|}}|zzyxxvuvuv{€€}†„€€€€~~{zyzzxwvwyzxzyxxxy{{{{yvwxxz||}~~}{{xxzwvvuw|~~ŒŠ‚€€€€~~}}{zy{||zz{{|xvvvvw{{|{zyuuvxz|{}}{yywxyywxy|~~~Ž†€€€~|{{€†‰‹‹‹ŒŽŒˆ}vuvw{|}{yx{|zzy{|~~}{yxxxwzyz|€‚ˆ€}|ƒ„…~‡††‡ˆ†}yz‡Ž‹Š‰ˆŠ‹ŒŒŽ‰wtuwzy{zyz|{z{z{}~~~~{yyyz{|}€‚……ƒ‚}€‚„‡‡‡‡ŠŠz|†…~‚„„††ˆŠ‰{suvywzyyzzyyy{}~~~{wxzz€‡‡ˆŠŠŠ‹‹Š‰†€ƒ„„ƒƒ„†ƒ|~†‡…„…„„†ƒ‚‰‡~uuuxyyyz{zxxx{~~~~~}xttv{…‡„…‰ŠŠŠ‹‰ŠŠ‚‚€€€€‚~€†Š‡…†ˆ‡†ƒ~‡‡€yyuwyxy{{yyxy|}}{{xwsprr~…ƒƒ†‰Š‰ŠŒŒŠ‚‚€€ƒ‡‰„ƒˆŠˆˆ„~†‰‚|{zyyz|}|{{{zxtpkpqtttqs‚ˆŠŠ‰‡ˆˆ‰‰ŠŒ‹ƒ„ƒ„ƒ„ƒƒƒƒƒ‚‚„†………ˆ‡‡†ƒ†Š†€€€‚‚ƒ‚ƒ‚|xuuxxyzyvz…‰‹ˆ…‰‰ˆˆ‰‰ŠŠ‡‡‡†ˆ‰ˆˆ‰ˆ‡……ˆŠˆ‡‰‰Šˆˆ‰ˆˆ‹ŽŠƒ‚ƒƒƒƒƒƒƒ„„„…†……ƒ|z†‰‰‡†ŠŠŠˆˆˆˆ‰‰‰ˆ‡ˆˆˆŠŠŠŠ‡†ŽŽ‹‹‹‹‹Œ‹ŒŒ‚‚ƒ„…„„„ƒ‚‚ƒƒ„†‡‡†…}€†‰‰ˆ‡‡‡†††‡ˆˆ‰‰‰ˆˆ‡ˆ‰‰‰Šˆˆˆ‰Š‰ˆˆˆˆˆ‰‹ŠŠ‹…„„„„…„„ƒƒ‚€„…‡ˆ‡„††‰ˆ‡ŠŠ‰‡‡‰Š‰†‰‰‰‰‰ˆ‡‡ˆ‰‰‰ˆ‡‚‡‡†‡†††‹‘‘’“’’“†ƒƒ‚‚‚€€ƒ…†…†‚}zxz{xvvx|ywŠŠ‰‰‰‰††‡‡ˆ‰‡…‚‚ƒ‚‚„……†ŠŽŽŽŽŽ‰ƒ‚‚€€€‚„†ƒ}ytrsssssuuwˆŠ‰‰ŠŠ‰‡†‡‡ˆ…„…„„ƒ‚‚ƒ„ˆŠƒ~{~†‹ˆ|}‰…‚‚€€‚‚‚~€‚ƒˆˆ‰ŠŠ‹‰††…†ƒƒ…ˆˆ†ƒ‚‡‹‚||}‡‹ˆ}z|ˆŠ‡…ƒ‚‚ƒƒ‚‚|xy|}}€‚€}~€€†‡ˆ‰‰‹‹‰‡†…ƒ‚„†…„‚‚‡‰‡‰ŠˆŠ‹‹‡‡ˆ‡ˆ‹Šˆ†ƒ‚‚ƒ‚‚‚‚‚zsqtvtv|€|wtt}ƒ‡‰‰Š‹‹‰‡…‚‚‚‚‚‚„…‰‡‡‰ŠŠ‰Š‹ƒ…ˆ‰Š‹Š‰‡…ƒ‚‚€€‚ƒ{rqrtx~~}yu||†ˆ‰Š‹‹‹ˆ†‚€‚‚‚ƒ†‹‡…†…†…‡Š†}~„…ˆ‹ˆˆ‰ˆ†ƒ€€‚}rssw…ƒƒ‚‚~z}}~ƒ‡ˆ‰ŠŠ‹Šˆ„‚ƒ‚‚‚‚‚…ŒŒ‹‹‹ŠŠŠŠ‹Ž„†‰‰‰ˆ†ƒ€€‚€yzx{€€€€€€~|~}}„‡ˆ‰ŠŠ‹Š…€ƒ…„‚ƒƒ‚†––••••••––”–——‘†ˆŠ‰ˆˆˆ‡ƒ‚‚€€~~v~}†‰ˆ‰ŠŠŠ†ƒ…„ƒƒƒƒˆŽ‘’‘‘‘’“’“’‘’‰ˆŠ‰‰ˆˆ‰‡…ƒƒ€€€€€€€oz€~‚‡‰‰‰‰‰‡ƒ„ƒƒƒƒ„ƒ‰‹…ŽŽŽ‘‘’‘‘‘‘‰ˆ‰ˆ‡…‚…„…„„…„„……„hm{}z~ƒˆ‰ŠŠŠŠˆˆ‡…„…†ƒ‡„|}†‹Šˆ‰’“’‘‘Ž‘‹ˆ‰‰Š‡‚€‚†‡‡‡†‡†††††iir{}~†‰Š‰‰ŠŠ‹‰†……†…†…„‡†…‡ŒŠ‡‰Š‰Š‹‹ŒŠˆˆˆˆ†ƒ‚ƒ‚‚‚‚‚‚‚‚kjkw€~~ˆŠ‰‰ŠŠ‹‹‰†………„……„ƒ„‚‚‡‰ŠŠŠ‹‰‡‰‹‹ŒŒ‹ŒŠ‰ˆˆ‡†…ƒƒ‚€€€‚‚‚ƒonmt€}~„‰ŠŠ‰Š‹ŒŠˆ………ƒ„…„‚‚‚‚‡‰Šˆ‰Š‰ŠŠŠŠŠ‰Š‹Šˆˆˆ‡‡†…†„ƒ€€€‚ƒ„…†onjmx€~|€†ŠŠŠ‰‰‹‹‰‡†„‚ƒƒƒ‚„„ƒ‡‰Œ…‚ˆŠŠŠŠˆ‡‡ˆ‰Šˆˆ‡†‡ˆ‡ˆˆ†…‚€€„†††llihjy€}}ƒ‰ŠŠŠŠ‹‹Šˆ†„‚€ƒ„……‡ˆ‰†‚‡‰‰‰ˆ‡‡‡†ˆ‰‡‡…„‡‰‰ˆˆˆ‡…‚€€ƒ…†nmihes€~|†ŠŠŠŠ‹‹‹Šˆ…ƒ‚ƒ…†ˆˆˆˆ‡ˆˆ‡ˆˆ‰‰‰ˆˆˆ‡‡††ˆ‰‰‰ˆˆˆˆ†‚€€€‚„ljgffl{€~|€‡‰ŠŠŠ‹‹‹Š‡‚‚€‚…‰‹ŒŽŽŽ‘‘’’’‘Ž†ƒ‡‰ˆ‰ˆˆˆˆˆ†ƒ€€gggfhiq}€}|‚ˆŠŠŠŠŠŠŒŠ‚ƒ††„„‰“–•–————————™˜˜–Œ††ˆˆˆˆˆˆˆˆˆ†ƒ€iggfghhu€}€ˆŠŠŠŠŠ‰Šˆƒƒ„„„‚Š’”——•••”’’’’’’’’“”ˆ‡†‰‰ˆˆˆˆ‰‰ˆ†‚jhgegihs€„Š‹‹ŠŠ‰‰ˆ„‚‚‚‚ƒ„ŒŽŒŒ‹Š‰Š‹ŠŠ‹‹‹‹Œ‰ˆ‡…‡ˆ‰ˆˆ‰ˆˆ‰‡„‚jhgfhiho}€}€ˆŒŒ‹ŠŠŠŠ†……„ƒ‚…Šˆ‰Š‡†………„„ƒ‚ƒ‡ˆŠ†‡Šˆ‡‚ƒ‡‰‰‰‰‰‰ˆˆ‡ƒjjjhihhku}‚ŠŒ‹ŠŠ‹‹Š‰ˆ‡†„„‡„„ŠŠ†‚‚‚‚€…†Š‡††ˆ‡‡†ˆŠ‰‰‰‰‰‡ˆ‰‡lljjnkijq}~†Š‹ŠŠ‹‹‹ŠŠ‰†…‚ƒ…‰†ƒƒƒ„„ƒƒƒ†‰‡…„‰Š‰‰‰ŠŠ‰‰‰‰ˆ‰‰‰llmoqpmos|€~}~‚‰Š‰‰‹‹‹‹ŠŠ‡…‚‚‚ƒ„‚€‚„‡†…†„„‚€€€‚‚ƒˆ‰ˆŠˆ‡ˆ‰‰‰ˆ‰‰‰‰{zzzzzzz{zzz{{{zzzyyyyyyyyzz|‚„ƒƒƒ„†‡ˆ‡†††‡‡†ˆ‡††‡‡†……‡†„ƒƒƒƒyzzyyzzzzzzzyyyyyyxyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†„„…††††‡†ƒ‚‚zzzyyzzzzzzzyyyyyyyyyyz{{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒƒ‚‚zzzzzzyyzzzyzyyyyzzzzzz{|{{z{€‚…„„„……„ƒ„†††…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zzzzzzzzzyyyyyzz{{}~}|||~€‚„„„„………„…‡‡†……„„„„…†‡‡†…„‚‚‚{€~|}~|zyzzzzzzzzz|}}~}~‚ƒ‚ƒ„…„„……‡†††††………„„…†‡†††ƒƒ‚‚‚€‚~€€|{zzzz|zy{||}€€€€€‚„…ƒ„„……„„„„††††„…†………„…†††††„ƒ‚‚„~€~}|{zzz}{{~€€ƒƒ‚‚€‚ƒ…†…†……………ƒƒ„…†…„„…„„…„…†††……„ƒ‚ƒ€€€€~}|{}€~…†……„„ƒƒ„ƒ„…†††††…………„„……†…„„ƒ„„„…††‡†…„ƒ‚‚€‚ƒ}‚ƒ€€€~ƒ„ƒ…‡‰ˆˆ†…„„„„…††††††…………………„……„„‚‚ƒ„†††ˆ†…ƒ‚€‚‚‚~€ƒ€€€‚‚„†‡†‡‡†‡†…„„…„„††††††………………………†…ƒƒƒƒ„†…†ˆ‡…‚€€‚ƒ{{€‚‚‚ƒƒ„†††††…………„ƒ„…†‡‡ˆˆ†††……„…………………„„„ƒƒ…††††…„ƒ€€€‚ƒ||}€‚ƒ‚…‡††„€~~~|}~„ˆ‡ˆ‰††„„„„„„†…‡†…„„„„…††ˆ‡„„ƒƒ‚‚‚‚ƒ„‡„€~}{|~†‡†‚}}|€‚€~}}}†‡ˆˆ†……„„„…†‡‡‰‡……„„„…‡‡‡‡„€€€€€‚ƒ‰‡ƒƒ€|zy{}~…††€}|{{|{zz}}}…ˆ‡‡…„„ƒ„„††‡ˆˆ†„ƒƒ‚ƒ„†ˆ‡†ˆ‘”—˜™›š›š˜“‡„ƒƒ€‚…„~|}}yz{v{€||ƒˆ‡‡…ƒ…„„„…‡‡‡‡…„„‚„……‡‡†…Ž–’Œ‹‹ŠŠ‰‹Šƒ‚€€€€‚…ƒ}|‚‚yxxw}ƒ|‡‡†…………„„…††‡‡…„„……ƒ€†„zzz{yzzxxyy€‚‚„…„ƒƒ……|{zzzz€‡|~…†„„ƒƒƒƒ„†‰‡††‚~|}|zyz‡ƒ{}|z||zz{{€€€‚‚‚ƒ„||~~{|}}†{}‚„ƒƒ‚€€€„„„„„€€‚‚‡‰‡€y~‚|y||{zzz}~}}}~}‚€}}}}}~~~€~}|‚€€€€€€€€‚ƒ‰„‚»¡Ž}z|zy{|{{{y{}~~}|||}~~|z|}||||}|||~||€€€€€€€€€‹ ˜–Žˆ‰ŒŒŽŽ‘{{}~€}}}}}|~…}~~~~}}}}€€€€‚€€ˆ¤­³°©­²´´²®­·|{||~~€~~}~…~~}{z|{xxyxxzz€€‚€€ŽºËÍÎÉÊÎÐÑÐÌÎÒ~}}|}}€~€‚ƒ‚€ƒ„‚€}|{{{}€~|{|z}‚‚€€‚•š¬ºÅÊÌÎÎÍËÇõ}}}}~~€~€‚‚‚…ƒ|||}~}}}~~~~}‚‚¢–|~…Š‹Ž‘Ž‰†„~€~}}~~€€€€€€~~€€€|}~~~{wy|€~|}€‚‚‚€¨Ã°Žœ–„‚ƒ‚š§™ƒ}}}~~€€€€~~„„……~||~zvw{€}{{|}€€€€‚‚¨ÎÒÎÆÇ茠ÁËË„ƒ€~}}}}~€‚ƒƒˆ‹‹‡~|||||{zy|‚||||}~€€€~¥ÍÏÎ󜎊Š—®À‡„‚€~}}}}~€€‚‚‚ƒ„„€|||}}}|}|}„ƒ~~}|~}~~€€‚~œÌÏв‰~€ƒ„„ƒ‚Ÿ‘‰‚€~}}}}~€€€€€€€zzy|{{z|{{|{zzx{~~}~~€‚‘¼°·–€†‡ˆˆ…‡„„ƒ‚€~}}}}€€€€€€yvvwvwwwvuvvuuty€~}}~~‚ƒ‰†Š…‚‚€‚„„ƒƒ‚‚€~}~}}€‚€€zyxvwwwwwwwxxxxz~}}}}~~~€‚€€ƒ‚‚‚‚€~}}~}~€€€||zxxxxyzyzywyyyyyxx{}}~~~€‚€€€€€€{~Œ‚‚~~}}|}€€€}€†„€||||zzzzyy||{zz{z{|}~}}‚€~~~}{‡‡‚ƒ~~}}}}~€€€€~€‚ƒ~{||{{|}}|{{z{{{}€‚‚}}ƒƒƒƒ€~~~~~}}€€€~}€€€‚ƒ~||||{{||{yyzzz{}€‚‚‚‚‚‚‚ƒƒ‚ƒ~~~}}}}€€€}€‚‚}}{{z{{{z{{{z{}~~~€€‚‚‚€ƒ€|€‚‚ƒƒ‚~}}}}}}~€€€€€~||€‚}{zz{{|{zz{}}€€€€€z|}€‚‚‚€~~~~~}}}~€€€€€€€€€€~|~€}{{{{{{{zz{}}€~~~~€€€€~zyzƒ”‰‚~~~~}||}€€‚ƒ€€~}}}|{{|{{{|||}}~€~~~~~€€€€~yxy}„Š…‚€~}}}}||}€€€‚€~~}||{zzz{yyyzyyyzz{€~~}~~€~zxxz‚‚‚~~}}}}|~€€€€}yxxvutuvvuttvuutuv{~~~~}~~}€‚~zxwxy€ƒ‚‚}}}}}|~€€€€€|wwwvwxwxyxwxzyyyxwy~~~}~~~~~}~€‚‚~zxyzzƒ‚‚‚€~}}}}}}~€‚‚‚‚€|z{z{|}||}}}}}}~~~~€~~~~~~~€€‚~|x{{{~‚‚‚||}}}}}€€€€€ƒ„€~~€€€‚‡†ƒ‚€€~~~~~}}~€€~{|}~~€‚‚‚~}}}}}}|}€€€‚ƒ‡‡ƒƒƒ‚‚‚„…ˆ†„~€~~~~~~~~~€‚‚ƒ„ƒ‚‚‚„…‚€~~}}}}}}}€€€„‡‡„‚‚ƒ„„„†…„‚„…„‚€~~~~~~}~~ˆ‰‰ˆ‡…………‚—~~~}}}|}|}€‚ƒ‚ƒ„†……†……‚€€€€~~€€~~}}~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÍÎÏÏÏÏÏÏÏÎÎÎÍÍÌÌÌÍÍÍÍÍÍÌÍÍÍÍÍÍÎÍÍÍÍǾ´­¡Ÿ“}sfixjiinmrcgaT]a\\c\S\b^`WQPSZY^e^dSTWVTVTTYUPW`^ZWTMD>8<:522?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÂÊÎÍÎÎÎÎÎÎÎÎÌÍÍÌÌÌÌÌÌÌÌÌÌÌËÌÌÌÌÌÌÍÍÎÏÏÇ´š¢˜tys^\^q{m\_nlg[YZ[_YVUN]g_\SOOQXW\gigOT\`YPPLQRZ_a[VNNKA@75542086ÎÎÎÎÍÍÎÎÎÎÎÎÎÍÍÇÁÄÀÈËÌÌÌÌÌÌÍÎÍÍÍÍÌÌËÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÍÎÏÎÍÀ£ˆˆrklmkmlot{y^a_cdY[[[\]SRV[cY[ZVUTTSWZhcPQX[ULMMSS\c`a[PFC@;741110.0ÎÎÍÎÎÍÎÎÍÎÍÍÍÍÍÈÂÆÁÉÌÌÌÌÊÉÊËËËÉÉÊÊÊÊÊÊËËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÍÍ̵—zkptyt}~bca]fX`cc[[WVaYTYdeROSVXSMLVNXgQNSWYQMROPX_^_VTUNG?;7432/,,ÍÍÌÍÌÍÍÍÍÎÍÍÍÍÎÉÀÂÀËÎÎÎÎÍÍÍÍÌÌËËËËËËÊÊÊÊÊÊÊÊÊÊÉÉÉÇÉÊÊÌÌÊÊÌÀ’…€r_j{kcg^`aWi`XYTTM\`^`ol\POT\TMJSQQXTYZXUNPPV[`XWYQOYNH=>@;52/,+ËÌËÌÌÍÍÍÍÎÍÍÍÎÏǹ¼¹ÉÏÎÎÎÎÎÎÎÎÎÎÏÎÎÎÎÍÎÍÌËËÊËËËËÊÊÆÊÊËÌÌÌÈÆħŠwxnf\jnnd_`\V[_UQ[SRPYeeegbhVPUYSPSTRQXRX\aVRTQYY\YYSSOPOI>?=6650.2ÌÌÎÍÎÎÍÍÎÎÎÍÍÎÏĻżÇÎÍÎÎÎÎÎÍÎÎÎÍÍÍÌÍÍÍÍÌËÉÊÌÍÎÍËÇÅÊËËÍÎÌÇÄ´¡}xpeUQb^Y^`^]b^VSQKLUY`aci`ZSOOPNJSPSP`KTUZ[W[Z^ZZWRQSOSJEC?B;530/4ÎÎÎÏÏÏÎÎÎÎÎÍÍÎÏþËÁÅÍÌÍÌÍÍÍÌÍÍÍÍÎÍÍÍÍÍÍÌÌÉÊÉÌÊÆÂÄÁÆÇÊËÍɽ»ªŠ|pURQPLTVnndbc\YLD@LYPZba^VTRKLJHKIQLYMRUVVW[ZYY\XSOSNWNCH@=<3.---ÏÏÎÎÏÏÎÎÎÎÎÍÎÎÎľÊÁÃÍÍÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÍÌÊÈÈÆɾºÂ½Á¾ÅÊÈû¬Ÿ¨ŽytaUYYVfg]ofg]UUQQXUcUO[\SOVXSKHEOQQYXRQY[UTWVUNMZVSWRWV?66110..--ÏÎÓØØÐÍÍÌÊÊÉÊËÌþÈÀÀÌÎÎÍÍÍÍÏÏÎÎÎÎÎÎÎÎÎÎÌÃÂÁ¿Ã¼º®Á·¿µ¿Æ¾½µ¢…„~qˆyd[_[[dkTn\S[SNTT_\UNPSWQQRUWLKKSRRZg]MUXVWUUZRJ\YY]]MC<7541.....ÎÛêðïäÔËÉ¿½ÀÄÈÁ¾ÆÁ¿ÊÌÌÌÌÌÌÍÎÍÍÍÍÍÍÍÌÍÍÌÅÀ¼³¼º°¡¹²½±µ¾³»²”„}}nfeba`TZcZScZRY]PSSW]UVTNNMKKLSYWORPPOaZLY\YQLMXZPWXPLIA8=<:73/---.ÚïÖ¯»æêξ¸²°¶¹¿ÂÃÉÅÁÉËËÌËËËÉËÌËËËËËÈÆÈÅÃÁ³¯¨¬¯¥œ¨¬·®µ³®¬Ÿ€twtlkR`dYXcWQ[i]X_XLPRT\`bUQMLKNRMSVKOTNR[^Y`\SNKMYXQYPOWKCD>:;973/...íÉ}gn¡äÛµ¯­­³²¾ÄÅËÈÃÊÍÍÍËËÊÆÊÌËËÊÊÉÇÁľ½² œš£¤˜•¡¬®«®¦§™ƒtlidjmZSWVa`VV\ZY^TRXTSUU_WPSONTUQSUWQOXQRX_X^XX[W\`TRXWSP@=E;866763000ã‰wvq‹Ç麬ª®±±¿ÁÄÉÈÂÊÍÍÍÍËżÆÌËÊÊȺ³µ³»®ž•Ž™š˜‘ ³®«ž—vhceTg`PLHOWaWQR^h_`n^^b^TVNPPOOQVRUSTXR[OO_^]hZc_jf^RPLLIK@;756679×m“¾ãìκÞêŵŸ»´¹¹Çźª  •Œ–š–ŽˆŠŠŠŠ‡…‚‚€x}ƒ~|~vwvrqmlgY\dcbWQRWW]\bWT]SW_[UQIOMMJACDA?EFEBQGTX[W`b`\RcaVXXPKGDG965569<=GFXK`q—ÀâíäÜêéááäãäååçæèëïÄšš•ˆ‹‘Ž‘‹‹Š‡‹Ž‡Œˆ„‚‚ƒ{}Š€ywuqsrnhcW[eaZQVOQ]gbcVMRSiZaXMPQOIHDGSKCJLLFPR\^ZLYdddT_dVOW^PD@@<:9879=@KBZGMl‡²äíìíëëìíìííííëèåç꼎Œƒ‡‰Ž‹ˆƒ‰”ˆˆŽ~~…Š|Š‚y{wwvuwtcWQZYZVZVN[ZZ^eghmqkS\\SMRQFDEPWQQOOPHJWY\ZON_Z_]^hfV_S?99<<;;;:;><>@S“fyÙêëëëëêèäáÝÛÞÒÌÅÁÄšƒ„…€„ˆ‡|‡ƒ‰‘ƒ‚ˆ~‰‹„~‡‚{xvx|uvp_X]`UVSSV`XPM^rsbZ]gQTNLTSMLIC?KURSUSO\cde[SYY^\R]XSTF;99;:69:9:>==:7787Wq@989<;@FGFdéð÷Îl­°¼h@DHh€pg`LJKF}w|}|ŒSNORX^^R\nlQHGMgihbXELttnowpig^QVVUYY`]XFERW_W[ZXVW\UOIBEA>>><<@JOW`[UWZRWXNJB:7543330ŒàO37886;DFFjÄÁ͘^œš¥\gB<^vkqP99C8z”™‰~ƒc?_sŽ•ŒO?4/059@VXV[^YCXuikskig_N\l^URZ[ZSPWWYc_XV[YUMHEAA?><78>CHI[hXTYYZ[YJKQXajpwz~‚¤½Œƒ†‡†€{unh¼ŸfUEnæË’CRKFCFBHEEDC>^´ðÅ}„JK‚¦«±³°ŒsY[]QPND223<\Ejohmihcc[fpd[NQ[ZVRSYV_YV[fYOHBB@ACA@>CID=IZjk^LPdSMwž¢ž˜•“Š…{€‚‚‚‚……‰ŽŒõÃaMDnèÕ°Ž”—œ¢£¥¦¦§£ž¤Ãܳ|ƒxLTf±°©—¡Âˆ†£YOQHB865bWZtfgklga\[V\[QOVUMNS][YX[_\STNGABGIA>BQPHR[^hŠmOUYJk“gngb\YXWWUUUSSSTTTSSUY—†^HD[™¼ÐÔÑÓÕ×ØØÙ×ÖÕÔÒÖÍŽ{|ˆfaQ6NME=ILYnkmlRNMfgM36OrLpgdhszhUUVTQTNTXPOZ\ZV[a^YNRTQIFLQK<>MUNdkju„hZ[SH|oFPWZ]_aJ><;<;;6579<>HRRQMJLzeLKIQÌÜãêêéÕÐÛÝÌÎæêäàØÀ}y€X}656b€UBOLLJKMMMGjtV:<[ŒlOb`ZZidVNW[_[YSMNWVZd`aYPOUSME?=FTYSYcene\YY_bdiilŒXŽ°µ²ª¢šˆMA68@DEJJ?<;;60^‹I^`dbaa`VXYYTQMPNR[[TYZUNOZSPT[Vk‚xcjxl\TW\]^_dhh„[PkeSGA;@HM@HFEDF?8889;Y^M/-E‡ÌìéìêêëçêëããëèîêìÔ~{jxe:DD|’¥`C7335?A>B‚Ÿ=64G˜P[afc_a^ZZTVTX]`UNYYOMNS[ZYZdw„‹‡dcqjTQXZ[[\bhlp—o\=J:489;EFAVŠPBC?9:;:99wxpTTa{©ÑÖ×ÖÙÔÑÓÖÖØÔÒÕÔÖ½€€`„YHMH_„uRLG<<<<868rk;969”gVifbirooqlqz†‘ˆˆ‘Ž‰‰°€}€}z||obmm`TZ`^\[]feis¡`X8I879;8AE85=>BC<=CDD<7oonqtutw{~€‚ƒ„„ƒxkiuZ”WVYY}{]FHJKLJNHK^‰”`?=;8ŒkKkE?Bgwuxzyxvtuuwvwyz€‡•¥³µ«™‹~rklkmokhfb^]^[[a~žTN7@79UhO=:5326;>;?DDD<4pnkklmnqtuttsstvwy{}{I;7i‚IqO^^BRCDLV]\XNOELQjnQF?97J0SkimpqtuvuvvtrqrqppqvŠ™¦®®¦ž‹}shgfeb\ZZUfŒHH?E??sƒ~B;5344557;>>><7spljijjlmprsqqopppsvzv=68=KE87654Ypijjjjjifdcdbbcbdgkosuwwwuqnmklnpomlp{‘¬½vNPN^fRMV;57=BBDGJRgllqgLA@<<865443//3E˜´®‡i€‰ŒŽŒ‡„‚}zrhccba`aa`_bfjlpstvvutpjggkmnnp¨wf\`[XXWZie\ZYWVVWWWWXZ`\Xnpqstsrqojfda`bcdefgiiiluiS~¦©·u8/01223582364116a}’§¶¯¬¬¬©¦¨§¦§¨©ª©ªª£‹iigc``aa^]_adjmprrstttpkffilizšn`TUWWWWWVXVWVVVVVVUUUVVWWkmooqqqqrokfba`a`bcdeghjtc2m¢ÄªÇ‹II??A@:8”°>oÏ׆8¡¤HCbãƒ[ceijlnoprssqpmhcaa`_acF,,167:@FN[mœÑ×ÛãêéåéÀ‚Wj æÞÞÞÝá»M\aaKáÝÚÖØàØ[sTejigcbcdfhgd`_^]\]\Z\\_bekM@CLNRey¢£âö€DARÏ“c¹ÃryÙdFOyÜÆ{\dhjklmnqtrrpolgca`_`bK--/26=FQayžªðèííëëìï¸t[au°±³¸½»L]eeQkÐßØа–DacZjjiea`_adfeba_\[]]\\Y[[[bN@BHMPRVZl®ªznhW’鞥°”Þ²ZiqqxÌÂr[dffhjloprqopplgca``aO/./04;BOd§¥ðïóóòòóì®ec[?;;=@BA8::87:7>txRO<49::7?J>GJMQVWbkorsw|ƒ‘¦¾½§”‹„~|yu«ÃШ\[aegikmnoopqpolgbabP2302@qé²VLTq^WY^`a_Š’OiK?97;<87645=A8767AJA78?8Z\Zkklllkifaadghjhfedaa`a``N<=HILPUWap{‚†‰®ÉÉÊÎÎËÌÑÓ›}|vw¶ÅГW^cehjklnoppponkgbbO47/05fÆ™mqƒ”–˜œ¢£¤®¤|OgFG@BTWJ??7444365A‹›v;875FfTlkilmlkjhdbbehjkigdba`_bQ8:IJLOSW_lrprzÌîçæèæíììò£hhiN‹¼ÈÊwY`cgiklmoppoopmjfdO49../5FM?9AG><<@IOŒžlScIRNKNMKJOJ944467Is©‹KNK<@KYWMCADZGA;;EQRQJ@@?>B@?NgO}sQ]kjjjkjheba`begiigeQ-7ILPUkgb_O<+-,15@=@F876.-4JOJO‰»ÁÍ‘X\adfhijkklnnkllR-<3/=1,+*))+**7Xj†ŒuoVRRSTUSQRRWWUVVWWY[\YXYZZ[]`_j]\PThjiiijkkjgdaa`cehiiS*7FEFÉ‚bPKLGJHKJjXXaTU\MNKS]RMU—»ÅÇwT\_bdfhijlmmljcL,:52DOG>762+***/9UŒqsa^]\[[[[[\][[\\\[Z[[[\ZZ[[[]^eYC[hfghhijjjjjgdc`_`bfkT&7D>C‘Ò{^]`G?FFCCEBB@???=59]fXPJ_¨Á˾kZ_adfggikkkjdYH-8532@CC71.+-05:ANT[rZZYYXXXXXXXXYYYZZZZYYYYXYZYY[dODbeffggggijiiigec`__`gT%4@=AIJLNPRSVRP]ml`PLJq·ÁЮa\acdfghjjjji^K34/00-+,,+)*-.0.>=:866421110.+imw]OLVœ¿ÊÎ…[acefghhiigd`XQOORTTSSRTUVVVWcire€‚y^WXXYYYYYYYXWvmr’¥«­°±±±¯¯®¨«°°±²²±¦€jggfdghgfa[J%04A`<(&&)$#"""""!"""$$%'),;rpmgXPLd¬ÁÎÈy]cefgijjkigea_]\\\ZYYXY[]`cc\jŠqz¬ÈÃ…^Z\\\\][[[Xl‰£±®©¤žš–’‹ˆ‡„ƒ€€‚„ˆŒ•Œ]ngeddee[RMA$143A>:68;:75444203655678:=@qlmoeSVg‡¼ÈÔ½j^ddfhiijjjifecb`^\ZZZZ[^adfVmsd€ÚéáÔƒ^cddfghhjo•yŠ‚ypjd_ZWUSRQOPOMMNQUWW`^vmcba``[SLB%03,#)::;9869987667877676432llnlhXOPPÄÇÔ§^_aceeghikkhggeca`][ZZ[]_acTdYRfßÜÇìÑmmpsutuuw{‘j\WOKHHJLMOPTeOLJIGFFDDEDDDLedaabbcaTF,//,-44//-+)))*)((((((()('%$nsqnmcSLJX§ÅËÓŽZ`cdeghhijiiihfed`][Z[\]^aRYKIO«³œìßttz}…ˆŠ‹€qKBB?@A@?==<:9;88888778899998Ibca`a``\O:.)(+/*''((&&%&)*(&'(((&&'+0lsrrswjTNJm½ÈÑÇn]bcefgghiijjjihfc`]ZZ[Z[`RLIHIPWe·³yžµº¾ÅÍÒÌžW::8899:::<>@DFIOSUUUSQQPPNJHIFEFINmnlkjlg\RMM•ÆÉÖ¥[_adefggghijjihffc_[ZZZZ^RDJHJNSY`n ÜŒ[WWYZs’C<H`a````^\ZWVUUUVVVY_dfgea_\[XURRSQPPRmdcef`c^SMJcµÄÎÏyY`fgeffghiijiiggea\[[ZZ]SCHIJOQWbv°ÛM5:998}w9@8<<;;9?DB>o|G7A<9643444554;139=<;4@@832333653=[MH?8533>?C\bacbbbb```aaaa`_]\\_cikjfa\ZYXXYXXhrkhnossf[NLJr·ÂÐÌs\bcdefhhhhijjihgeb^][\O9BHEIPXds˜ÏpqãóóÌŠ;A8218asL/8921110246:HNJMMH=419A>Paaabbccbaaaacccb`^\[^cikiga][ZZZYYtwplqpolorZLJOÂÇÖ±`acddfghhhjjjihhhe`^\]N4@JFIOYcqŽÎ}_ßòé²g9A413Kp}\61/0000/248CAJR[Y[V?16B=GaW99:Icbbbbbccdeb`^\\]chjjgb]\[[[ZqplhlmifikeLJK`®ÂÊÖ]cdcfghiikjiiiihfc`]]O/=JGHOY\f¸„Q«Ýâ¡N;A758Wˆz…L<90//0/04?GKPR^[[YD23A>CYT4543Wcbbcccbcddb`][Z]cgiiga_\[ZZpmmdilospojRIKKz½ÁÐÇp_dcfhijjjjjjjjjheb^_P.:HEe¥©sPa`B=>^›ˆD;A?FB@TVPDBB6-////6IFTHUd]UME42?>>A>343/Udbbddcbcdeeb_^\Z^cfjjge_\[[gecbgirsoss`MJXhš¿ÅÔ¯cbdfghjkjjkkkkjigea_P2:EEiÙå©SQ<>GKKf`A;ELrZ>A@@B@@=332138CEM?Sa[QOF8/66:<5/08Fadbbddcccdeeeca^[\_cgjkkhb_^djlhnpklpsplUJMLY¨ÂÇÕ•^beffghjjkjjkkiigdaR/7?HKˆ½¦`Q69eK@?A?7KSI?==;::98;<;8896667568:88AJEEB:;qº§hbccbbcccddddefeda^]\_chkllidbxtsotrkjlkhkfLIJIo»¿ÎÍw[adeegghhiijkjihfcS)48CGLXcfpjXTC[Y@>45535444568:@BA??A>9:;;::;<<>BB=8L9SÑå¦_ccbbccdeeeddeeffc_\[\bfjlljfy‚~qkkigijnkcPJMLL’ÀÀÓ±\\`bcdeffhhijjiif]K(44;=;:=?DKME½•H^;9<::<<=>???@FLHFFHHIKMMNNMLJIKTMzc9kqobbcaaccdededdddfgea_]\]aeilljpuqttlmglnnlkeYNLI`µ¿ÈÓX_bdeeefgghihef^RC)4024.++15@:7¼‰F†kE@GMQV\^beeiknpnlmnnnnmmnopnnqye{‡SN]\kkbbbbbcdcdcbcdefecb`^\\`fjlmlurstloihkllotiQJKL“ÅÆÖ¸bacfhfeeggghgdb^UG)217739==<<<;:::::;;::;;:;;<==>>?@Ibjac¡Á¾—bdcccbcdddcdcddcbb_\[]blklmqtuptljmljpgQJJLLŒÈÉÔ¿ldegghhgefhedc`\VJFFIJJJJJJFFj|eI==<<;<<;:9988777777877778789;;;:99::8D[b_‹äïéa`aaabccbbbabcbbbb_][\jpusopqmpijifjqbKKLLK^·ËËÔ™`fgghhgfggfedb^[WTTUUTTTUVTFdhXB89:::9::788786676589:9:;:99;;;ETT`t~cAEaa_¯®žd^`abbbaabbaabbbbba_\Zpwupjhjmoiilwsue^YLMNP‡ÊÊÐÉubfgghggggggeda_][[ZYXWVVXUF\h^HC[TDBD?;<==>?BCCFXpPKIHFDDGKI\Š¼ÞÒ§®È¾>>`a`\[Y\`_`aa`abaabbaaabbaa`][gikga]aiip{wsvoindRLNQ[²ÊÇÖ«effhihhhghhfecba_^^\ZXWWWVFRQLe°£ª˜ÀÁ­ŒfINLJKPUP`^XX\[YVRJKªúæκ¿Îí¯89_a``````abbbbbca`abaaabbaba`_tnmmjoqtiqrstu|k]SKKKK|ÆÄÏÕˆaeegggfefgfedcaaa`_\YYWWWFKAAjéÄÅ°Æ×èø´KES^bah£›£ž¡¥pNPLF5MwÈæ×ßììâ|75`aaba`__abbbccbaaaabbaaaabba`„|‚€yu{vjgowwy{re]RKKKKR¢ÉÇ×¼e`bdededfffffdbbba`][YXXYFI99OËõêáÉÈå×€V2220,Cqz~{~eT')*,=\uh‹šmV;33_baba```_`a`ababbbaaaaaaacdbaƒ|t~xsqimtnigniaccUKKK]d»ÃËÙ]bccbegffggfdddcba_]ZXYYEI13An­¶¸¸¯ rsvG57:;@u¥¥§ªŽODEDCL€‘q^RIC;6363_cbb````abdccdedcbbbbccbabcbb~xvysnr``iqztijeYLLJTZZ˜ÂÃ×Ág`cbadefeeffddddcb`_\YXXFI1/779<:522@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÂÊÎÎÎÎÎÎÎÎÎÎÌÍÍÌÌÌÌÌËËÌÌÌÌËÌÌÌÌÌÌÍÍÎÏÏÇ´š£—tys^]^q|n[_nlgZYZ[_YVTN_g_\SOOQXW\hhgOT]`YPPLQRZ_a[VOMKA@75542086ÎÎÎÎÍÍÎÎÎÎÎÎÎÍÍÇÁÄÀÈËÌÌÌÌÌÍÍÎÍÍÍÍÌÌËÌÌÌÌÌÌÌÌÌÌÌÍÍÎÎÎÍÎÎÎÍÁ¥ˆˆqklmlmmpt{y_b_cdY[[[[]SRV]cY[ZVUSTSWZhcPQX[VLNNSS\c`bZQFC@;741110.0ÎÎÍÎÎÍÎÎÍÎÍÍÍÍÍÆÂÆÁÊÌÌÌÌÊÊÊËËËÉÉÊÊÊÊÊÊËËÌÌÌÌÌÍÍÍÍÍÍÍÍÎÎÍÍ̶—‘zkquyt}~bda]fX`cc[[WUaYTYfeQOSVXSMLVNXfQNRWYQNSOPX`^_UUUNH?<7432/,,ÍÍÌÍÌÍÌÌÍÎÍÍÍÍÎÈÀÁÀËÎÎÎÎÍÍÍÍÍÌËËËËËËÊÊÊÊËÊÊÊÊÊÉÉÉÇÉÊÊÌÌÊÊÍ¿’Ž„€r`j{kch^`aWiaWYTSM\`^`ol\POT\TMJSQQXTYZYUNPQV\_XWYQPYOH=>@;52/,,ËÌËÌÌÍÍÌÍÎÍÍÍÎÏǹ¼¹ÉÎÎÎÎÎÎÎÎÎÏÏÏÎÎÎÎÍÎÍÍËËËËËÌËÊÊÆÊÊËÌÌÌÈÆĨ‹wwnf]knmc_`]W\_UQ[SRPZeeegbhVQUYSPSTRQXQX\aVRTRYY\XXSSOPPI>?=6650.3ÌÌÎÍÎÎÎÎÎÎÎÍÍÎÏĻƽÇÎÍÎÎÎÎÎÍÍÎÎÍÍÍÍÍÍÍÍÌËÉÊÌÍÎÍËÈÅÊËËÍÎÌÇÄÁ´ }ypdURb\Y]`_]b_VTQKLUZ`adi`ZSOOONJSPSP`KTUZ[W[Z^[ZWRQSOSKEC?C;530/4ÎÎÎÎÎÏÎÎÎÎÎÍÍÎÏÿÌÁÆÍÌÍÌÍÍÍÌÍÍÍÍÎÍÍÍÍÍÍÌÌÉÊÉËÉÆÂÄÁÆÇÊÌÍɽ»©‹|qUSRPLUVnodbd\YMD@LYP[aa^UTRJLJHKIQLYNRUUVW[ZYZ\XSPSNWOCHA><3..--ÏÏÎÍÎÏÎÎÎÎÎÍÎÎÎÄ¿ÊÁÂÍÍÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÍÌÊÈÈÅÈÁ¾ºÂ½Á¾ÆÊÇû­ž¦Œ~ztaUYZWgg]oef]UURRYWcUO[\SOVXRKHEOQQZYRQX[UTWWUONZVSWRWW?66120.---ÏÎÔÙØÑÍÍÌÊÊÉÊË̾ÈÁÀÌÎÎÍÍÍÍÏÏÎÎÎÎÎÎÎÎÎÎËÄÂÁ¾Â¼º®Á·¿µ¿Æ¾¼µ£…ƒp‡zc[_Z\fjUn\T[TNTT^[UOQSXQQRTXLKKSSRZg]OVXVWUUZRK]ZY]]MC=8641.....ÏÝëîíæÖËÉ¿½ÀÄÈÁ¿ÆÁ¿ÊÌÌÌÌÌÌÍÍÍÍÍÍÍÎÍÌÍÍÌÅÀ»³½¹±¡¹²½±µ¾³º²•„|}ofcbaaT\bYTd[SZ^PSSX\TVTONNKKLSYWORPQPaZNZ\YRLMXZPWXQLJA8=<:73/----ÞîË©Ýíо¸²°¶¹¿ÂÄÊÅÁÉËËÌËËËÉËËÊËËËËÈÇÈÅÃÀ±¬§¬¯¥œ¨¬·®µ³­ªžtwtllS`dZXcWQ]i]X`WLQRT[`aUQMLKNRMTVKPTNR\^Ya\SOKLYXQYQPWJCD>:;973/.--ïÁvgk—ÞÞ¶¯­­³²¾ÄÆËÈÄÊÍÍÍËËÊÆÊÌËËÊÊÉÈÂľ¾² ›˜£¤˜•¡¬®«®¦§˜‚tmidjl[SVVa_VV\ZZ_USXUSUU_WQSONTUQTUWQOXQRX_X^XX[V\`TRXXSO?>E;8667530//á†xvr‹Ãè·¬ª®±±ÀÁÅÉÈÂÊÍÍÍÌËŽÇÌËÊÊȺ²µ³»®Ÿ•˜š˜‘¢³®ª—œuhceTg`PLHPWaXRS_h^`n]^c^TVNPPOOQVRUSTXQ[OO_^]hZb_jf^RPLLIK@=@8755564//2À€Šwƒ½æ¾©¨°¯³»¶ÁÈÇ¿ÈÍÍÍÌÈ¿µÅÌËÇú©ž›š¡¤›—ˆ“˜¬«šŽ‘„uddh[\UQSTQX__\il^PT`NXpo[QOJMMJFJMNONLQXTX_TRXW_g\YUPILFEECI@8534454/16³‰ˆ}„¸æÆ£¦°²µµ²¼ÈƸ¿ÊÉÌÊȾ³ÄÊȾ³¦™œŸ”–”‹ŒŽ•“‹‰—ˆˆ‰‚~vtocXTY[XOV\UU\h]RP^hg^^]TTLIJHIHGEFMLT^[V[VO[hffV]TLVTII??B9854434437=‰ƒ…‹»äáÒÍ´®®«ª·Äº¬°´³»¶Å¼°½Ã·ªŸ¡™š¡““†€ƒ‡ˆ€~‹Š„ƒ€‚€yvoaWXUU\[TYUSYfPPO\ebQQ[XSLKLIKIGLJHQU\`QYQPmrcf_a]T_ZVUG<:;86543375;?—Œ~„‚Ž½ãíîêÎʦ ¡¨©Ÿ Ÿ ¡¡§¶¯¥¡¨šš— ™˜ ’“…ƒ…‚ƒ€xƒ‰ˆ„||{~vqojdXQZgZQTRU_XOX\]_XQRQRRMKPPKMRPECKNT_PQM^aa`Yei\QT]YGTF=<<956648:<=ÞÆ|ˆ»ãìãÞåë°žŸ¯¡œŸ¤«¥¡££Ÿ””“œ™Ÿ›’™ŒŽ‹‡‡ƒ~‚xˆ„z|ywqhieYWZPW^XT\Y\ZVZZ[^[VPKWUNMOJABEE@@FHHQJRTX\bX`p]_OZ`\IEC@><756679=??©“jrŒ’¾ãí͹ßèÁ´Áƹ¼´»¹ÇĹª  •Œ‘ž–š–‰‹Š‰Š‡†‚‚y~„~|vxvrrmlgY\ccbVQSWX]]cXT\SW_[VQJOMNJBCD@?FFEBRGUX[W`b`]RcbVWXQLGCF975669<>HGIOOl‡˜ÁãíãÚêéááääåææèåèëïÄ››•ˆ‹’Ž‘‹‹Š‡Œ…‹‰„‚‚ƒ{}‹€y€xuqtsnicW[eaYQVOR^fbcVNRTj[bXNQQOJHDHTKCJLLFQR\^ZLYdcdT`eWOX^QD?@<;9879=@KBdN@cˆžâîìíëëíííííííëèæè뻎Œƒ‡Š‹~ˆ‚‹•……Ž~…Š€}Š‚y|wvuuwtcWQZZZWZUO[YZ_fhinrjS\\SMSRFEFPWQQOOQIJWZ]ZNO_Y_]^hgW`S?:9<<;;;:;>==>>XZ`bk£ðíììçàÞÝÖÔÖÖÔÐÇ«Œ‰Šz{}|wx~~€ƒ‚…€‚ˆ†„ˆ…}~z{trvzytokg^SMKYW[QUX\[XHY_Z]YZaXKMUPNKMOOQTUYVZmc[\[[VYYRVKNJ=984^x87888;BECEMMLPl˜åéæ×®ž•†ƒƒ‡‹’œ¤€}{{}~…‘œ¢§¨ªª©¤¥¦¦§§§§¤ ›‹onwyzrh`bURSF@NVVVZZPLIUY\\V[d_TMKILONMJHINWXY]_Z^VUSWOKLHB=8786Tƒ<789:=AHJHSƒ«¬Ù†ºÑΠJFEDNPCEEGGKŒ€|}{||†¥Ÿž˜Žƒ|uqtxojjllnryƒ„‹|hpvynha^PRSGJQUY]VPTRUVZUWXZ`\SLDCADGIEFGJSW\[UMTRTRTMFED=:7886Xt@99:=tŽvz}~{“ƒ\YTRRSYg–x_Z[[][YTKKqtmowqih^RVWVYZ`]XGFRW_W[YXVW\UOIBEA>?>=<@KOX`[TXZRWYNLE;;98654/ƒÜJ15677>GII_¹«ŸUŒ£¬ckK?FhZeS96=8Tš£Ÿ€~‚MIYdpz];964564PkkllbIIqikskih_O]k]USZ[ZSQXWZc_XV\YUMHEAA??=78>DHI\hXTYX[[VHA=89<@EHKMŽÔgORRUUTSPOɳwPGLÎÞªNPOQMRPPQQPNJPèèŠ}‚q<`Œ™¡¨ªkU><@GHKK>:=BQGXminihcc\god[NQ[ZVRTZW_YV[eYOHBB@ACB@>CID=I[jk]KQeTG?Oc€“™žžœ›™˜ššš™••“ðÙzOJJ´Ñ¾ª¤«­°µ·µµµµ³²²Ã½¬‚{…ZNT¤¸¸¶³®¤³ŽwŠsNRN<555CdHkghkmga\[V\[POWUMNS][XX\^\SUNGACHJB>CRPIT\^h‹jQVXN>Y‘’Š€xsqnjgdeeggfeehkq|{nJCQ}ºÏÖÖÙÚÛÛÜÞÜÚÙØÙØÚŸw}{„Oi8e‚wiab^‘“x•vMPR]R768pN\gehszhVUVSRSOTXPOZ\ZV[a]YNSTQJFLQK=>MTNdnjv…f[\SJ?…zPSSRQQPJJHGFFFGIPQQPPWogGHQ€ÅØÝæçèëííçìîìéèåܽ‚{~zXj223219KLKMQOLOG\ue>5S}jNhgdbn_SU]YX]VOSQSP[^Ze_VUQOIHHDGJEBHPNThkkurbcjiXP‚VTjsvz~‚T77778:;DUZ\]\‚lNKJFzÀÜãêéìѹÀܽ´ÒëãàÛÓ“w‚hl^14?TP=MNONMMMMIZ}aE3g›ŒF]`[[jdVNW[_[YSMNWV[d`aYPOVSME@=GU[U\fhnd[YY_bejlhoˆU—¨­¯°°µB768=ACLOHE@>OH;999y¾áçëéèê½Û¼­Èèâåáßœu…[~J34O™NKICA@HNNIHkyO74DEEKE9::;`gd:.5k¬íêíìëìæèíèäìêîîìè–r[‡<::]‹˜€G:334@LHFS—^573|xJ`da_a^ZZUVV\baVPYZPMNV_[X[ey…Š„bdqiSRY[[[\dilvy—m\>Q>5557BG\vICDDH=7879wwv`V\o‘ÃÌÌÈÊËÈÊÍÍÌÊÅÅÃÄÂ{yc‚>JGVƒ‘{KH:667:68N˜•N862`’Jkmnqtooqns{†ˆ‰‘‘Œ—µš~€|x|{nbmmaV[a_][^gfjqlŸ_Z;K7798?>:onmptuvwwy{z{}~~€€€}||yw}ypn|GQLb}QIIEDEEB><\‘‹I=;5Q¡JhjUTdvuxzxwutttutuww}…‘£±³«™‹~sllkmnlifb^]^[Z]]xTP7B57BK9??2.5;EK??EFE:pnlklmoqtuuutttvxy|}€lJDZ†emzOsLo^UILTYZRQQOXr‰oG==7Gu;XO;::fjloptuuvvvtrrrrpppu|ˆ™¦­¯§žshgfeb_\ZXViKG84456898=AA@9upmjjjjlnpqsrqopppsvy{T7=AlR@D?H7>DBAGKIHED===?UPLL=788><675?efeeeggjkpsuvutrponopooosz…˜­¾º¤Œvjga[Z[Yj“xCGEH@Du†p@?933447<@BBBByvrnkjjjklnpppqqqpppqt]70/0GO98677::75556666878789;;<=DM55FScjheddbbddfimqstvvtsqmmnoppollx©¸º± †dR`qtf@bULDDQeFDIG;955:Š¾H€àá~KƒGEhÆ{\dhjklmnrtrrpolgca`__bZ3,.269?ENXp…×íëìíììïì£behÓâÞßßÞàwNYgTQ´äßÜÚÝå³MuQjjieba_aefecb`][]]]\Z[[\`dG@DKNNTh‚”ãÞwQINË©g©§fªËNN]xËÂr[dffhjloorqopplgca```\7-./3:CO^v¢©ÏëêííííðܘVmP‰˜›£¦¬ŸPS\[SŽÚÒǹ¤‘k;pUbkkjgd_`bdffdc`_____^\[Z\_H@CHMPTWWbunrpeí¿½Á¿ì—gppjÀζbZacfiklmrqoqqolgc```]:-//15:DP^vƒ¼ñêçåäâßÊŠTlI9679;;;<87535::7668JQ@69<:hPckkllkkjhdcbehjkigdba`_`_J;>IJLQUWcpy}€‡ÃàÝÝßàààáäšvuL†»ÉÊwYadhiklmoppoppmkgc_9;0//8r…`M[dfgghnox¢šYbTHF@MZSGB@6443574[ Ÿe:;74ZW[kjgklkkkifbbbehjjheb____L6EVYSGB>PPC>:?LRQPF@??BCBFXfP‚`Nfjiijkkjgda``cfhigcI.:ILNfƒnbVK<,-,.2J>GO>AD58A^SMR‘ºÅÇwT\_bdfhiklmmmmlc2770BK91.--,**-F\u‹ƒqcTTTTUURTUWYUWWXXXY[[YYZZ[\_bamXZM^ihhhijjjjgdc``acfiiK):FCJ¨Øz^RPKQSQQQgVVXQQTMKFgYPJ[¤Á˾kZ_adfggiklmki`X16661FJG?78/)*+09Gp†nk]]\[ZZ[Z[[[[[\[[[Z[Z[[ZY[[[^_eNDdgeefgghiiiigec``_adkL%:B=Gˆ¤j^dcD69:9<<==<=;=94BlaPLJk´ÁЮa\acdfghjklih_T3644179880-+.158:MJVfgXYYXXXXXYYXYYYYZZZYYYYYXYZYZ\fElqaddfffgghiiihfcba_aeL$6><>JUYaknfWQNRWZ\]^_^aabmloeRLL€ºÂÓœZ_bdffgiijjicWC5../,)()()*),-+(WVakdUXWXWWWXXWWXXXXXWWXXXXXWVUTTSfR—’\```bcefihiijigfc``cJ#4987=DKU_dliddc`___\\[YYYYimw^OMT–½É΄[acefghijihd_WGB?CEFDEDCCDGHHJbrŒjfY[WVWWWWXXXXWWXWVUTTTVY^dhksy„…ƒŠ‡†„~xvqiqnhffghhedaaI#4299++,,*)++,,,+))('&'&'&%rpmhYPM_§ÁÎÇw]cefhiiijigd_YWUVXWWVUUWX[\]`d{ˆfx‚mXXYYZZZZYYYYZxjr‚›£ª¯°²³±¯¯¯°°°°°²±±¦€jgddeghgd]VB#32IcC.*,0,)&''&&$%&'()*-15qlmoeSUf¹ÈÔ¼j_ddfhiiiiigeba__^\YYZYZ\_ceaZ€zzÂǬpZ]]\\]\\[[XqŒ¨°®ª¥ ›–’Œˆ……ƒ‚‚‚ƒ…ŠŽ‘—]nfdedcaVNK<"32.,2<;;;;97676557999999:;lmnmiZOPNˆÃÇÔ§__aceeghiikhfedb`_\[[Z[\^bd_Yvem«íââ³facdfghhhjq—u‘„{smf`\YUSQRQQPPQSTUWY`^wlbdbaa_YM?%31,(088874342221344444320/nsqnnfUMKU¡ÅËÓŽZ`bdeghhhjihhgedc`][ZZ[]^a\W^TL§êÍØí˜foqstttuy‘e_WPKJIJKMOOXdNLJHGGEEEEDDDLecbbbbbaVC,0-+-5.**)'%$$$%####$$$$##"msrssvkUOJiºÈÑÇm]bcefgggiiiiiigeb_]ZZ[\\_\SRKFsÀ—Æõ¨hz{„‰Œ€mJDB@BBBA?>=;:;88988878999897Jbb`a``_ZR?0*+-0,+*,.000011011111.003mnljjjf^SML’ÆÉÖ¤[_adefggghijjiigdb_\ZZ[Z]\LIKHMRWˆÇ†­¹»ÁÊÏÒɘN;98899989=K@@:79:;966667778=>Wc````_[XRKGFGHLLNSY^_^[WUSRPNLMLKKLldcdgac_SMJa³ÄÎÏyY`fgeffghhiiiihfea][[ZZ\\IELHMPV[eÆÊjXVUTQxˆ>==CDEFFFHKQx|G<@;:845556666@>I`a`aaa^[XVWUUVVVUW\aefda^ZWUUTTTRRRlghgrnicRKLL¿ÆÕ´`_cddeefhhhhiihgfc`]\[Z[\ICLGNQT\gˆÒ¨2;;;:>Œh:?8??=<;@C@=y}F9C<9544444544HEHQXcm„¸^ƒ°·½ª”>?914:;;95A?743334654BXbaabbbaa`aaaaaa`^\[]bgjjfa^\ZYYYYuxplqpoloqZLKM‰ÀÇ×°`acdefghhhjjjiihhea^\\[@26C>IaW===Kcbbbbbcdccba^]\]bgiigc_\[ZZonmdjlotqojRIKLv¼ÁÐÇp_ddfhijjjjjjjjjhfc_^^;4DJGJSZ_o–¿[vÍêÕ’E=EKrR?A@@BAA;123228EFO@Ud^TRH8077:<;4/4@^dbcddddddeeedb_\\^cgklljebzttptrkjmkikfLJJIj¸¿ÎÌv[adeefghhiijkiihge`=3:EGb¨¼†UL3CdIBAD<9OSPA>=;;<:8:;;988678959==9:AHBCA:;­†\cdbbbddddddddefeb_]\]bfjmlkgz‚~qkkjgijokbOJMLJ¿ÁÔ¯\]`bcdeffhhihhihgfb:,6>EIP^ejr]FJ9QF?:276344444579ABA??A=999::::;;>DD?:F8Ksjbbcbbbcddddddcceffc_][]afjmlkouquulngmoolkf[NKI_´¿ÉÓ€X_bdeeefgghhhiifbW5+55=><>=>BHGDDEDEGHHIJIIGFGNHv]6\^llbccbbccbcbcbbdeecb`]Z\afklmmvrssloihkllntjQJKLÅÇÖºcbdfhfeeggggggecWM4,4/41-+.27=6>§¼xO„\@?CHNQVY[^`cfiljjkklmmlmnnomlpyd{…LMk…xdddbbcbbbbcbcccddca_[Z\agjllunonkljgjimmniRJJLb¸ÆÎÖŠ]cdffgfggggfecb[R8*31>257=FJMNU~ ]W‚aSlqssrpnmkhhgeccba__^^^]_aabeh`kz{[U^\bcbbccbabcbccccdddcb`\Z[afjmlnvsmjmnnggjjiTJJMLÆÇÔ¼c]_aceefffgfeefeY:,00,.6686778GY‰^aŠqbjd_\XVUTRQQPNNNMLLLMMMNNNNNSQRWYex_a`aed`cdbbbbbcddcdeddcb`\Z\bgimnqmlmqtplilmhVMKLK_µÈÍ×_ddfggggffgfecb\F1*,+,&"""$$0LP…ilubYPRTOLHGFEEDCCBBBBBABAACBCCBDDDFFGKdqdc¢ÈÄœcccccbcdddcdccdccb`][]amklnrttpuljmmjpgPJJLL‡ÇÊÔ¿kdegghhgffhfdc`]V=--///.-,,+3Q_‚‚l[HHECFECA@?>>=<;;;;;;<;;;<;;;<===>?@BLdh_ƒßïê¡a`aaabccbbbabcbbcb_][[jqvroqplpijigjrbKKLLL[³ÊËÔ—afffhhffghgecb^[RIFFGHHGFHHBJp™xeI>>>=<==<;:999887888888788889;;<;;;99;F]a^ˆ¨§™d_`abbbbaabaabbbbba_\Zqwuoihiloijlwstea[LLNPÈÉÐÉtbffghgggfffec`^ZUSSSRQQRTVOIkŠg[A::<;::998877766654788889988:;:9<:522@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÎÎÎÎÎÎÎÎÎÎÌÍÍÌÌÌÌÌÌÌÌÌÌÌËÌÌÌÌÌÌÍÍÎÏÎÇ´š¢–r~x€r^]]q|m[^llgZYZ[_YVTN_g_\SOOQXW\gjfOU\`YOPLQRZ_a[UOMKA@65542086ÎÎÎÎÍÍÎÎÎÎÎÎÎÍÍÇÁÅ¿ÇËËÌÌÌÌÍÍÎÍÍÍÍÌÌËÌÌÌÌËÌÌÌÌÌÌÍÍÎÎÎÍÎÎÍÍÁ¥‰ˆqjklllmqtzx_b_bdZ[[[Z]SRV]cY[ZVUSTSWZhbPPX[ULNNSS\b`aYPFC@;741110.0ÎÎÍÎÎÍÎÎÍÍÌÍÍÍÍÈÂÆÀÉÌÌÌÌÊÊÊËËËÉÉÊÊÊÊÊÊËËËÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌÍ̵—‘ykquyt}}bc`]fXaccZZWU`YTYeeQOSVXSMLVNXfQOSWYPNSOPX`]_TUUNH?<8432/,,ÍÍÌÍÌÍÍÌÍÍÍÌÍÍÎÉÀÁÀËÎÎÎÎÍÍÍÍÍÌËËËËËÊÊÊÊÊÊÊÊÊÊÊÉÉÉÇÉÊÊËÌËËÍ¿’Žƒ€s`jzkch^_`Vi`VXTSM\`_`ok\POT\TMJSQQWTZZYUNPQV\_WVYQPYNH=>@;52/,,ËÌËÌÌÍÍÍÍÎÍÍÍÎÏǹ¼¹ÉÎÎÎÎÎÎÎÎÎÏÏÏÎÎÎÎÍÎÍÍËËËËËÌÌÊÊÆÊËËÌÌÌÈÆħ‹wwmg]jnlb_`\V\_UQZRRQ[eeegbgUQUYSPSTRQXRX\aVRTQYZ\WWSSOPPI>?=6650.3ÌÌÎÍÎÎÎÎÎÎÎÍÍÎÏĻƽÇÎÍÎÎÎÎÎÍÍÎÎÍÍÍÍÍÍÍÍÌËÉÊÌÍÎÍËÈÅÊËËÍÎÌÇÄÁ´Ÿ|zocURbZZ\`_]b_VTPKLUY_aci_ZSOOONJSPSP_KTUZ[W[Z]ZZVQQSOTKEC?C;530/4ÎÎÎÏÏÏÎÎÎÎÎÍÍÎÎÿÌÁÅÍÌÍÌÍÍÍÌÍÍÍÍÎÍÍÍÍÍÍÌÌÉÊÊËÈÅÂÄÁÆÇÊÌÍÉÁ½º©Š{pUSRPLUUmodbc]YMDALXP[``]UTRJLJHKIQLXNRUVVW[ZZZ\XRPRNWOCH@><3..--ÏÏÎÎÎÏÎÎÎÎÎÍÎÎÍÿÊÁÂÍÍÌÌÌÌÍÍÍÎÎÎÎÎÎÎÎÎÍÌÊÈÇÅÇÀ¾¹Â½Á¾ÅÊÈû¬ž¤Š}{t`UYZWig]oee\TURRYWbTOZ\RNVWRKHEOQQZYRQX[UTWWUNNZVSWRWV?56120.---ÏÎÕÙØÑÍÍÌÊÉÉÊËÌÁ¾ÈÁÀÌÎÎÍÍÍÍÏÎÎÎÍÎÎÎÎÎÎÎËÃÁÁ½Â»¸¬À·¾µ¿Æ½¼µ£…‚o…zb[_Z[giUn\S[TNTT\ZTNQSWRQRTWKKKSRRZg]OVXVWTUZRK]YY]]LB=8641..---ÏÝìðîæÕËɾ½ÀÄÈÀ¿ÆÁ¿ÊÌÌÌÌÌÌÍÌÍÌÌÍÍÎÍÌÍÍÌÅÀº²¼¹¯ º²½°¶¾³º²”„{|oeaaa`T]aXTe[SZ^ORSX\UVTNNMKKLTYVORPQPaZN[\YRLMXZPWXQLIA8=<:73.----ÝïέÁæëо·²°¶¸¿ÂÄÊÅÁÉËËÌËËÊÉÊËÊËËËËÈÇÈÄþ¯ª§«¯¤œ¨¬·®¶²­«žruslmS`cZXcVP^i]Y_VKQRT[`_SQLLKNRLTUKPTNR\^Ya\SOKLXXQXQQVJCD>:;973/.-.îÃxgq£äݵ¯­­³²¾ÄÆËÈÃÊÍÍÍËÌÊÆÊËËËÊÊÉÇÂľ¾± š™££˜” «­«­¥§˜‚tlhbjk[RUUa^VV[YY_UTYUSUT_VQSNNTUQSUWQOXQRX_Y]WX[V\_TRXXSN?=E;86676300/ã‡wvqÊ鸬ª®°±ÀÁÅÉÈÂÊÍÍÍÌËžÈÌËÊÊȹ²³³º®Ÿ•—™˜‘¢±®©›—šugceTf_PKHPWaXRS_h]`n\^f^SUMPPOOQVRUSTXQ[NP`]^hZa^if^RPLKIK@=@8754564//2Ä€ˆ€vŠÂéÀ¨¨°¯³»¶ÁÈƾÈÍÌÌËÇ¿µÆÌËÅú¨›™¡¤œ›•‡’˜ž®ª˜Ž‘„uddhZ[TQUTPX^_[hl]PT`NXoo[QOJMMJFJMNONLQYTX_TRXW_g[YUOILFEDCI@8534454/16³’~}ˆ¿éÉ¥§°±µµ²½ÈÅ·¿ÊÈËÊȾ³ÄÊȽ³¦™œŸ”–”Š‹Œ€”’Š‰’—Œˆˆ‰‚~vtoaWTY[XPV\UU\g\RP^ii^]]TTLIIGIHGEFMLT_[V[VOZhffV]TLVSII??B9854434437=…‡…„ÁçåØβ­­©ª¶Ã¹«¯²²¹´Å»°¼Â¶ªŸ ˜š¡“’†€ƒ‡‡€}‹Š„ƒ€‚€yvoaXXUU\[TYTRYfPPO]d`QR[XSLKLIKIGLJHQU\`QYPQlrcf_a]T_YUUG<:;86543365;?¬žƒ‚„‘ÂåìîéÎÉ¥Ÿ ¨§žŸŸ¡¡ ¦µ­¥ ¦šš— ™˜ ‘“…‚…‚€„€x„‰‡„||{}vqnjdXPXf[QTQU_XOX\]_WQRQQRLKPPKMRPECJNU_QQM^aa_Zfi[QT]YFTF=<<956649:<=âÒr†“ÁåëáÜåë° £± œ ¥¬¥¡¢£Ÿ”““œ™Ÿ›’™‹Ž‹‡‡ƒ~xˆ„z{ywphieYWZQW^XT\Y\ZVZZ[][VPKVTNMOJABEE@@EHHPJRSX[bX`o\_PZ`\IEC@><756679=??—ho…–ÂåìʼáæÁ¸ÆÈ»¾¹¾½ËÈ¿¬  •Œ‘ž–š–ˆ‹Š‰‰‡…‚‚y~„~|wwvrqmlgY\cdbWQSWX]]cWU\RW_\VQJOMNJBCD@?FFDBRGTX[W`ba\RccVWXQLGCF975669<>HGDSFi{šÆåíäáëèãäæçèèèêèéíñÄšš”ˆ‹’Ž‘Š‹Š†Œ…‹ˆ„‚‚ƒ{}‹€y€wuqtrnibV[eaYQVOR]gbcVNSTkZbXNQQOJHDHUKCJLLFPQ\]YLYdcdT`eWPW^PD?@<;9879=@JAqR<<STVZaŽçïìëåßÜØÔÑÒÒÔÒÒÁ”ˆŠ~zz}~yz~~~{}~y|}}ƒ|y{x{trvyytokg]SMKXW[QUWZZVHZ_Z[XZaXKMUPNKMOOQSUXVZmc[\ZZVYXRUJMJ>974g†:6888?>=<@KOXa[TXZRWYNLE<;:98873“ÞL499:DGI\hWTYX[[UID@97532342ßN279<@DFFJÝ̉RH@¹ò¾l^fjbbdhjifdcb‘Øö¦|}ƒPFmŒ•›UH5/29BHB=J[jk^KQeTH@9:@P^htx~ƒ¡¼ƒ‡ˆ‡ˆ‰†~~í߈QKD—ѹ¾ÀÂÃÅÇÆÅÅÃÀÀÌ¿©†}|BS®°³´²¤•{aekQQPE2238]Fahhkmga\[V\[NPVUMNS][XX[]ZSTMG@CHJB>CRQJW]^iŒmQUXMB9L|ƒ  š–’‹ƒ|€„ƒƒ„„†‡‹€yxOCMo²Î××ÛÜÞÞßáàßÞÞÜÚÝÁ}{|ƒfUJl©¥ž“ž¾„‹¦XOQLI:55[`MgehszgVUVSRROTXPOZ\ZV[a\YNRTQIEKQK<>MULfljv…h[]SIB=…gic^YWVVVTTTTTTUUVVTaipIGNm»ÕÜåèèëììèéììêéèÞÑšz{†WmA6CC<8EKUedhdQNKjjP37KzHcgdcn_SU]YX]UOSQSP[]Ze]UUQOIHHCGJECHPNVijktqcbjhWPMŒWITY\_c`C<:;;;<=DSWXZƒoRKJCi³ÛàêéìÔ´¹ÖÀ«ÁêåâÞÙ²x{Ux546:<9FNMLLLJMKIsoU4J•¡TS`[\jcVNW[_ZXRMNWV[d_aXOOURMF@=GU\V[fhnaZXY_bdikjmj€Oƒ•˜œ ¤i9767:=?ISSSOKH>995f°ßäëêèÝÈÎßØËÎçåçäã´v~u`q249q‰UCOKJIJLMLFgvY;9Q‚tHbdb`a`VXYYSONNLR[ZTWYTLRZRPY`Xq‚ubkxjXTX\]]_egl}ˆvaµ·²«£¡‚WI4;CDFNK?=A>B €=64?•X]llpsooqot{†ŒŠŽ’‹‹˜·ˆƒƒ{w|{lbmmbX\b_\[_fehpei\Z;G4489>Bj¦S?DGPN<9:9ponnrtuvw{}|}€‚ƒƒ„†…}~{~z[ŽMJLIf…mOKF===<869pk<966‹pTrminvuxyxwusuuuuvwy~… °´®œŽ€tmlkmmligb^]\ZY\\[{šTQ<[jlnptuvvvvurrrqppps{†–¤«°©Ÿshgfdb`]ZXXZcŒOE9?5;W_E=92349HK;?DEDupljjjjlmoqsrqoopprvyzn?:={tHnKcTDOBDLU\\WMNELOfmQH@86H>>I:>2Phdeeghjlpsuvusrponooonoqxƒ•«½»¥ŒwjgggbZXTtšvHC@B94444447<>>>zvrnkjjjklnoppqpooopqsd576@ID67645=@;89889:7685;A@DB9;;EA12:Ebieddccddeimprtvvtsqnmnoppolkw¨¹½²Ÿ‰u\Wagm”aCHHJBFk|UAD?4334:BGGGGxxvsnliihhjlmnoppqqqrqlUB?56_D;:::888877776777888789<<>IA8Wcijkjigecdbbcbcfjnsuwwwuromklnoomlp|¨ÀÅ|Pcuw‹SEƒkJCAFP?EIHBG=?EJLIHHvvvwtokhgeehkllmnoopponpo™BXA;:99887777666677677778::ABDHKVmnopcF=>;uuuvutrlgeefgijlmlllmmmlk—¹UJ97887665666565665455666877?@`pfhhgfhjlmjfdba````adhmorrtuvvsnigilnoolklb[dRM}}dZWIFNSRPQSVWWWWWWWVRqrsuvuurlhffeefiijjjklllk‡¦^LH926555444446=7554445553=`zZEbghjjjgffilljecba`aa`_aeilprtvvvtqlggjmnmlmt°›pxpriibSXnqommmkhhijkkmmloprssrqpkgda`acdefgiijllw‰gg›”s5333334457?76544331/6‰©¦„BPijlmmmifdcfikjgc``aa_\]adimorrttttqkfehkkmt£™oebc[YZW]ne_]\ZYYZZZ[]]djmnppqqqrokgca`a`acdegijntcUŒ¥®±j40022345814632211:Lƒ¶¨§«—˜Ÿ£¥¥¦¦¤ –’†ulnkgbabba_^^`dhmnpqrsttrkfdfld—ŽmZTXXWVWWXXWWVVVVVVVVVUVikmnprsttrpmgcbaabbcdehhkwT5©Â«ÄyFF==>;:?{Z8DKFJƒ–¨­§¤Ÿž˜—•”••”–™ž£žšvkpolifdfgeb`_`diloorsssrpjeg[~|_VSUVWXXVVVVWWWXVWXWVVVWgjlmoqstussqmiebabbbbdfhc`J-\¸ÍÐôà¡~X]c‚X¿‰Nyqb‡£„|vupnljgcccbbbcfgkltƒijmnnljgfeeda__beiloopqrssohVlt`\VUWWX\[[ZYXYYYYY[[[YY[afijlooqrrsrpmiebaa``acgbI:.8†ÒÐáñÆ–f__df‘íÇbi`r¤p[`acdfhkrƒ§€|xtqonnlbssbcehlmiecccba^]^`eikmppqrslP\hXt±—t’˜WTX[]Y\^]b]^^Z^^S_bdgilmoppqqqpnica````bdeJ0..9TSpŽ‹§rfrm[¢ôÕshp™”dk~‚€€|sqe…ŽŠŠ‰‰…€zkpjdcbegihfda__^]\]^_aehkmopjJP[QnÄÊÏÚò JB@j„IBU~|M?Z™S9…[ceijlnoprrqqpmhdaa`_acb?/-./24^QAISpÄÅÀ¾½·®µªbd[?566998:BO´»uYVLA=636G;ELDCFDEEm {QfGJCDWZNCC;554466:†¨•I=;68kMdjfflkjjkkiebabdgihfda^]^E3>IKMOTYcmlll‡äëääåäìëëðœgWWy¸ÃÍZ_cegijmmmnnonmljgG58-,.128<>>A@@ADGKžhU`JRNJKIHINM;23468Hb™—QOQF9\Lacaljjjjkkjhfba`begiigb^^C2=KMOPTZdihmkÚëéééèæææä`PKNˆ»ÁˉX\adgijkklmnmmmljG1:0,,/0145678B`Uƒ x\giijjkjgdaa`cfhifb`A0>KNRSZ\daP?HIM…™p`NL>4658?YGRXGIOAEgYPJ_©À˾lZ_adfggiklmnmicB/944OKB:552***7TbƒŒtpZTTTTURQSTWVVWXYYY[[[Z[[[\]aaeiVSSbgffghiiiigfc``_adhj?(?C?RÃÐp[WSIQRPNPYNNNKLNHClaPLJr·ÁЯa\acefghjkljiaX@/8516CDC730+,/2NOVpZYYYWWWXXXXXYYXYYYYYYYYXXYYYZ`aCkecdeeefffgiikigfd`_`d@$9<;>GQYcnsob]]__`ccceeggjilu\OMWœ¾ÉÎ…[acefghiiiif^R@41331121120132.>eRemXWWWVVWXXXXXXXXWXVWWXWWXWVUSSWgK\`^_aabdefhgffhhhfc`_b>#7765:@ENTW^ZXWXTSSSQOMKKJqolgXOLc¬ÁÎÆu]befgihhhhfc^TNLLOPQPPOPPQRRP^e‰nm\[YVWWWWWXXXXXXWWVVTSTUX[bcjrs{ƒƒƒ„zrngpldceggffd`_=#60E?*(('&$%%&&%$$$$###$%%pkmoeSVf„¼ÇÔºj^ddfhhhhhhfd_]\Z[ZYYYWYZ]^`aggov‚y_WXXYYYYYYYYX\xhsš¡§­°²²°±²³³³³³±²°¯¤~jddefgge_WO6#51KZA2/241-++++((')+,-/38kmnmhYOPOÄÇÔ¨__aceefhhhjgdcba_][ZZZZ\^aef^k‡z€«ÅĈaZ\\]]^\[[ZYxŽ«±®¬§¢˜”Ž‹Š‡‡‡‡‰Œ‘–›\kdddca_SMJ6$51)$1;;:;:98655678::::888osqomdSMKX§ÅËÔŽY`bdeghghkigffeba_\[ZZ[\_bcVmrnÙêàÕ…]cdfghhiilx•s–‰xqie_\ZXWVVTSSSUWX[^dazjacbbbaYM:'4/,,54564100/..-/11121/.-msrrswiTNJm½ÈÑÆl\bcefgggihhhhgedb_\ZZZZ\]`RdYTiÞÝÌëÑpkprsstuvz†ŠdcZTOJJIJLNOX_NMLIHHGFFFFFEQfaaabaa_U@./+*-3(''&$##"""!"""#"""""mnliijf]RMM–ÆÉÖ£[_acefgggghhiiigeb^[ZYZZ[_R\MIP¶¾£ëåzrz{~ƒ‡Š‘‹€gIECBCCCBA@>>>?:9::9989::;::9Ma`````]XR@2-/1521268888865577887678ldbcfbc^SMJd¶ÄÏÏxY`fgeefggghhhihfda]ZZZZ[^PMJIKU[iÅÅy—³¹ÀÅÍÔÝÇ‹F;:9999989:=<=678:;:77667778=>Yb````^[XSOLKKNPPSW^aa_[XVROOONNNNNlhggrojbRKLL„ÀÆÕ²_^cdcdefgggghhggfd`][ZZZ^PEKIKORYeq–סkea`bb‘y;<=ABCEFFGKJplAK```aa`^\YWXWVWWWVW\adeca_ZVVUUUUSSnmfgomriRKLKW¦ÃÊÒ”`_bcdefgggghihhfeb_]\ZZ]RCJIJOQX`s¬àX17787@“X<>:A@?=BAGCiB?:358877=A<;B?959984347544338B=Obaaaa`a`____``_^][[]behhea][ZXWWWuwpmqpnlopYLKOÁÇ×®`acddfgghhjiiihggea^]\]P=DHEMV_hvŸÖ_”¬³®¥„9A615;:;96@=744436963:SHE:5534@>D]baaaaba_``aabaa`^\[]aehhfa][[ZYYqpkgmmgfjkeLJK_¬ÃÊÖŒ]cddgghiikjiiiihfd`]\]O9BGDIPXcq“Ï|kØõóí¼g9A421Aab92;8111113658KTHKIC:32;@?Rabdeedbaaaaacbbca^[[\`ehhfb^\[YYnnldilotqojRIKLz½ÁÐÆp_ddfhhijjjijjjihfc_^^N5BJEIPYbq‰Ë„VÐððÒŸL;>224SxvB110000/0239A@GOWVXQ;17B=Ia[DDFPcbbbaacccec`^\[]aehihe_[[ZQ`abgjrsoss`MJXgš¿ÅÔ°cbdfghikjijkkkkihfb_^N1>JFHLV]h€¼–O¼ëóЂ?>=35=o…y=84////024?FINT][\[E24B=D^W3434Wcbbcccccddca^\Z\afjkkhb_^ZfkiopklpsplTJLLZ©ÁÇÕ‘^beffghiikjjkkjihea_O.;IE^“˜mRc†q@Ke•¦l=:Mg`WCB?1/0//18IEUJVa\UOD42?@@JJ566/Pdbbcdcccddec`^\[^agkllidbzutpsqkjlkikeLJJIq»¿ÎËu[adeeffghiiiiiihfdbQ1:EEhØà¦TYW;?DB\„Y<@BLjE?AAAB@B801112;HGPCXf^URH8/78;;2//1:[dcccccccddedcb`\[\bfjmlkgy‚~qkkjgijokbPJMLL•¿ÀÔ­[]`bccdffhghiiihgfcR07@HM˜Î³aTD6NZJIIF9?SY\B@?>>?;:;9887779<=8>DC=?BE>@?:?PDBP_ccbccccccdccdedb`]\\afjlmkntquulngmoolkf[NKId¸¿ÉÒ}X_bddeefggghhihggeS)49CGOemgoiEIR3D;@85=9565434568AA@>>@;888878:::?GFD;@8Ofoncccbbcdcbcbbbbdeda`]Z\afjlmmvrsrloihkllntjQJKN™ÅÇÖ·cbdfgfeeggghhiihf^K(44?@BDFJLNSUW[bbbadddfhhjjjjhgjva}€BM\\acbbbcbaabbbbcbccccb_\Z\afjlknvsljmnmfgjjiTJJMM•ÇÇÓ¼c]^aceefffgfeb_]UH*217:146@HMNO`•¥KiŽuMPeknpqpppqmkkkhihfffdccbefffikbo€uPWaaed`bdcbbbbbbcbddcccb`\Y[bgimnpmlmqtpkiklhVMKLKeºÈÍÖŒ^ddfggggffgeefe`K,10/,3999::;>Ng•Mp‹€lfoieb^[ZXWUTTSRRPPOPPQQPRRPQVTU[_owZcªÇÛcdcccbbcccbccbbbbb`\[\bmkmnrtsotljmljpfPJJLMÈÉÔ½jdegghhgffhfedc`Q6.+,,,$##$%%:LZXvwg\SYVPNKJHHGGFFDDDCCCDCCDDDDDEGEHJIPlnaŒãîê a`aaabccbbbaabcbbb`]Z\jrvroqplojjifjraKKLMK`·ÊËÔ—`effhhffgggedb_ZH.*-.-*****(:T^ŠwlXKJGGIGDAA@@@?>====<==<<<====>?>=?@ACPji_‹©©šd^`aabbbabaaabbbbca_\Zpvtoihiloijkvssda[LLNP†ÉÉÑÉtbffghgggffedb_\VGBCEEFEDEED>Tx’v`F@@?>>>==<;:::99888999989999::;<<<<;;?Nfa\[X\```aa`bbaaaaaaabbaa`][hhjga_aiiq{xsunkmcQLNQ[±ÉÈÖ©dffhihhhfffdca_[VRRRSRQQSTVIOyŒeW><<;;:;;988787777666777788779;:::9AKQ>@K````aaabbbbcca`aaaaabbaba`_toookqqtirpttu}k]SKKLK{ÅÄÏÔ‡beeffgfeffedca^\YYYXWVUUVYKOkqVG9<89988::7879::;=AE@AAAAA@A@BBMq••‰›©§G<]ba``_bcbbccbaaaaaaaaaabba`ƒ|‚wu{whiowvxyoc\RKKKKR¢ÉÆ×»e`bddddefffedba`_]\\ZXVVVXLNY_Nd{ujvs_IFDFFEGHIIqMHEIHGFJOJŠÐçîÙ®½ÕÌA7\ca````aa`abbbbbaaaaaaabcba„|t~wsqilumigngaedUKKK^f¼ÃËØŽ]bccbefeeeeecbaa_^^[YXWVWLKGLF®Ø¬´¾ïëÛÄnJMRW[`fp{„„x‰ldd`VAL¡÷àÀ½×ä÷¨:3\caa``abcbbdedcbaabcbaaabbb~xw€ytnr``irzsjjdYLLJSYW™ÂÃ×Àg`cbadeeeeeeccbb`_`][YWVXNHAA=›ðÏ˲¯ÃçïƒH>MPQIi£›™—“[67433Si—Ûãâ×Dzc70Zcaa``a`fkkgefedbbbdcaaabbb‡††††‡‡‡†…†‡‡‡††††‡ˆˆˆ‡‡ˆˆ‡‡…„‚}xutttxyxyzzy{{zwuxyz{{zyz{~€€€…†……†††††…††††………†††‡†‡††††…†‚|xuvuvuvyxxyx{{zywtvvy{zxwy|~€€€……………†††††…†………†††††……††……………‚€{uxwxwwyzxxwz{zyxvvuxyywwy{~~€€€……………†……††…††………††………„……„………ƒ‚€zyyxwy|{yxxz{{{ywvvxyzyzz{~€€†…„„…………†……††…………………„ƒƒƒƒ„„„ƒ€|yxwyz|zzz{{{zzzvvxyyyzzy|~€€„‚ƒƒ„ƒ„…………†……………………ƒ‚‚‚‚€€~|zywy{{zz{}}|zyywvxz{z{x{~€€‚ƒ„…ƒ‚ƒ„……………„„††„……‚€€€€€€}~~}{zzwwxxyz{|{{zzxwwwwxzzy{}~€€€ƒ…†‚‚ƒ„…††……‚„„„‚‚‚~}€€~}||~|zyxwxwwy{||{{{yxyxwuvxxy|}~€€„„ƒ‚€‚ƒ„…††„‚‚€}zz{|||}}}}||zz|zzyxxyyyzz||}}{zwyyvuuwwx|€€€€ƒ…€~~€‚ƒ}yxwwxx{{z|{zyxy{yzzyxyyy{{|}~}|zzyxxvvvuv{€€}†‡€€€€~~}{{yzzyxwwyzxzyxxxy{{{{yvwxwz||}~~|zzxxzwwvvw|~~‡€€€€~~|}{zxyyywwxyxvvvvvw{{|zzyuuvwz|{}}{xxwxyywxy}~€~~Š~‚‚‚‚~{zyzz}€€€|yvuvw{||zyx{|zzy{|~~}{xwwxxxyz|€ˆ}|‚€„†‡‡‡ˆŠƒzy|‡Ž‘Žtuwzy{yyz||z{z{}~~~}{yxyz{{}ˆ€||‚††‡‡‡‰…}x~Œ‹…ƒ†‡‡‡ˆ‰Œ†tuvywzyyzzyyy{}~~zwwzz|~€ƒƒƒ„ƒ„„ƒ€‚‚ƒƒ‚ƒƒƒƒ~x€†‚€‚ƒ„†…‡Š‡ztuxyyyz{zxxx|~~~~~}wstvw}ƒˆ‰ˆŠ‹‹Œ‹‹Š‚‚€€€€€~z‚ˆˆ††……„†ˆ†yvwyxy{{zxxy|}}{zyvrpqqnw„…ƒ‚…‰ŠŠŠŠ‰€‚‚‚€~~„ˆŠƒ…ˆ‰‡‡ˆ†{zyyz}}|{{{zxtojpptssqoiv†„ƒƒ†ˆŠŠŠ‹Œ‚„……ƒƒƒ‚ƒƒƒƒ‚„ˆ‰ƒ…‰‰Šˆ‰ˆƒ~~€ƒƒ‚‚ƒƒ}yuuyyyzyxwu‡Š‹Šˆ‡ˆˆˆ‰‹‡‡‡‡ˆ‰ˆˆ‰ˆˆˆ…„†…„…†‡‡††„‡Šˆƒƒƒ„„ƒƒ‚ƒ„„…†„…‚€~|~„ˆ‹Š„ˆ‰‰ˆˆ‰‰‰‰ˆ‡ˆˆ‰ŠŠŠŠ‰…†ŒŒŠŠ‹‹‹‰‰‹‹‹Šƒƒ……„…„‚‚‚‚ƒƒ„†‡‡†„ƒ€{}…ˆ‰‰†‰Š‰ˆ‡ˆ‡‰‰‰ˆ‡‡ˆ‰‰‰Š‰‡ŠŽŽŒ‹‹‹‹Š‹‹Œ‹‚ƒ„„ƒƒƒƒƒƒ€€„†ˆˆ‡†€€…ˆ‰ˆ‡†‡‡††‡ˆ‰‰‰Š‰ˆ†‡ˆ‰‰Šˆ‹‰„‰Š‰ˆˆˆˆˆˆ‰„‚Š……††„‚‚ƒƒƒ‚€€ƒ…‡ˆ†††ˆˆ‡‰‹‰‡‡ˆ‰ŠŠŠ‰‰‰‰††‡‡ˆ‰ˆˆƒ„††††……†‰Š‰ŽŠƒ‚€‚€€€„…†ƒ}{wxzyvuvyzˆ‰‰‰ŠŠ‰‡‡‡‡ˆˆ†„‚ƒƒ‚„„ƒ…Œ’”“”’‘••”“’ˆ‚€€€‚‚€€€ƒ†„~zvsssssstuƒˆˆ‰ŠŠ‹‰††††‡„„………ƒ‚‚ƒ„ˆŠ…‚€‚‰‹ˆ€€‚Š‡„ƒ‚‚ƒƒ‚‚€‚€~€€€†‡ˆŠ‰‹‹‰‡††…‚ƒ†ˆ‡…‚€‚ˆ‰~zy}ˆŒ‡zyyˆ‹ˆ†ƒ‚‚ƒ‚‚‚‚‚‚xxz}~€~}}ƒ‡‰‰Š‹‹‰‡…„‚ƒ„…„‚~ˆˆ†……†ŠŠŠ‚ƒ……ˆ‹Šˆ‡…ƒ‚‚€€‚ƒ~tqsvuuz€zu||†‡‰ŠŠ‹‹‰‡„‚‚‚‚€€ƒ‰‡ˆ‹‹ŠŠ‰Œ‹‡ˆ‰‰‹‹‰‰ˆ†„€€‚‚~tqrtv{€~~~z}}~ƒ‡ˆ‰ŠŠ‹Šˆ…ƒ‚‚‚ƒ„„‡Š††‡ˆ‡‡Š‹‡}††ˆ‹‰‰ˆ‰ˆ†ƒ€€‚ursu}ƒ„€€€|~}}„ˆˆ‰Š‹‹‹‡‚ƒ‚‚‚ƒ„‡Œˆ‡†††…†‡†ƒ„‡‰‹Œ…‡‰‰‰ˆ‡ƒ‚€‚yyxz‚€€€v~}†‰‰‰Š‹‹‰‚……„‚ƒƒ‚‡‘”““““”“’””“”––…‡‰‰‰ˆ‰‡…ƒ€€€~~€oz€}‚‡‰ˆ‰ŠŠ‰ƒ„…ƒƒƒƒ„‰‘•”“““““”””““”“‡ˆˆˆ‰‰‰ˆˆ‡ƒƒ‚€€€€€hm|}z~ƒˆ‰‰Š‰ˆ…„„ƒƒƒ„„„ŠŒŠŽ‘‹ŠŠŠ‹‹‰ˆ‰ˆˆ‡‚„„……ƒ„„„„„jir{}~…‰‰‰ŠŠŠ‰ˆ†…„……„Š„}‹ŒŒŒŽ‘’‘’’”•••”’“Žˆˆ‰Šˆƒ€…‡‡‡†‡††††kjkw€~~ˆŠ‰ŠŠŠŠ‹‰†……†„‡‚}}…‰‡††‘’‘ŽŒŽŽŽˆˆˆˆ†„‚ƒ‚‚‚ƒ‚‚‚‚onmt€}}…‰ŠŠŠŠŠ‹‹‡……†„…„ƒƒ„„ƒ…Š‹‹‹ŠŠ‡‡ŠŠ‹‹‹‹‹‰‰ˆ‡†„‚‚‚‚‚omjmy€~|€‡ŠŠŠŠŠ‹Œ‰‡†…„„……„€…‰‰‰‰ŠŠˆˆŠ‹ŒŒ‹‹‹‰ˆˆˆ‡‡†……ƒ€€‚„„…llhijz€}}ƒ‰ŠŠŠŠ‹ŒŠˆ†…„ƒ„…ƒ‚‚†‰Šˆ‡‰ŠŠŠŠ‹‰‰‰‹Š‰ˆˆˆˆˆ‡‡‡†„ƒ€„…†nmihet€~|†ŠŠŠŠ‹‹‹Šˆ†ƒ‚ƒƒ‚„‚ƒ‡‰Œ‡€…ŠŠŠŠˆˆ‡ˆˆŠ‰‡ˆ……ˆˆˆˆˆˆ…ƒ€ƒ„ljgfgl{€~}€‡‰ŠŠŠ‹‹‹Šˆ„‚€€ƒƒ…‡‡‰‡„†‰‰‰‰‡‡††…ˆˆ‡†ƒ…ˆ‰‰ˆˆˆˆ†ƒ€€gggghip}€~}‚‰ŠŠŠŠ‹Š‹‰…€ƒƒ†‡ˆˆˆˆ‰‰ˆ‰‰‰Š‹‹Š‰ˆ‰‡„‡ˆ‰‰ˆˆˆ‰‰‡ƒ€ihgfghhu}€ˆŠŠŠŠ‹ŠŒ‹‡‚‚ƒ‚ƒ„ˆ‹Ž‘‘’“”“””’’“Œ„‡‰‰ˆˆˆˆ‰‰‰†ƒjhgegihs€~„Š‹ŠŠŠŠŒˆ‚„††…ƒˆ‘“——————˜˜——˜˜™˜™”‰‡…‡‰‰ˆˆ‰ˆˆ‰‡„jhgeiiho}}€ˆŒŒ‹ŠŠŠ‰‡‚‚‚‚ƒ„‰‘••–•“’’’‘‘‘‘’“Œ†‚ƒˆŠ‰‰‰‰‰ˆˆ‡ƒjjjhihhlu}ƒŠŒ‹ŠŠŠ‰‡„ƒƒ‚‚‚ƒ‹ŽŒŒŒŠ‰‰ˆˆ‰‰‰ŠŠŠ‰‹‹ˆ‡†ˆŠ‰‰‰‰‰ˆˆ‰‡mljjnkijr~‚~†ŠŠŠŠ‹‹Š‡††„„ƒ„Œ‹ˆ††††……„„„ƒ‚ƒ…††„ƒˆˆŠ‰‰ŠŠŠ‰‰‰ˆ‰‰‰lmnoqpmps|€~}~‚‰Š‰‰‹‹‹‰ˆˆ†…„ƒ‡…‚ƒƒƒƒ€‚‚‚€€„ƒ„„‚…†‰‰ˆˆ‰‰‰‰ˆ‰‰‰‰{zzzzzzz{zzz{{zzzzyyyyyyyyzz|‚„ƒƒƒ„††‡‡†††‡‡†ˆ‡††‡‡‡†…††„ƒ‚ƒ‚yzzyyzzzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†„„…††††††ƒ‚‚€zzzzyzzzzzzzyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…†‡‡†…ƒƒ‚‚€zzzzzzyyzzzyzyyyzzzzzzz{|{{z{€‚„„„„……„ƒ„†††…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zzzzzzzzzyyyzyyz{{}~}|||~€‚„„„„„……„…‡‡†……„„„„…†‡‡†…„‚‚‚€€{€~|}~|zyzzzzzzzzz{}}~}~‚ƒ‚ƒ„…„„……‡†††††………„„…†‡††…ƒƒ‚‚‚€‚~€€~|{zzzz|zy{||}€€€€€‚„…ƒ„„……„„„„††††„…†………„…†††††„ƒ‚ƒ~€~}|{zzz}{{~€€ƒƒ‚€‚ƒ…†…†……………ƒƒ„…†…„„…„„…„…†††……„ƒ€€€€}|{~€…†……„„ƒƒ„ƒ„…†††††…………„„……†…„„ƒ„„„…††‡†…„ƒ‚‚€‚ƒ}‚€€~ƒ„ƒ…‡‰ˆ‡†„„„„„…†‡††††…………………„……„„‚‚ƒ„†††ˆ†…ƒ‚€‚‚‚}€€‚‚‚„†‡†‡‡†‡‡…„„…„…‡††…†………………………………ƒƒƒƒ„†…†‰‡…ƒ€€‚ƒzy}€‚‚‚ƒƒ„††††‡†††††„„…‡‡‡ˆˆ††………„…………†……„„„ƒƒ…††††…„ƒ€€‚ƒ~|~‚‚€…†††††ƒ„„ƒ‚ƒ†ˆ‡ˆ‰†…„„„ƒ„„†…‡†…„„„„…††ˆ‡„ƒ‚‚‚‚‚‚ƒ„†‡‚€}|zz{}ƒ‡‡†~}}}||}ƒ‡ˆˆ†……ƒ„„…†‡‡ˆ‡…„„„„…‡‡‡‡ƒ‚‚‚ƒ„ˆˆ…ƒ}}|}~~…‡…|||€~}}}|€‡‡‡…„„ƒ„„††‡ˆˆ†…„ƒ‚ƒ„†ˆ‡†ƒ€€ƒ„ƒƒ„†…‡…‚ƒ€€€€€€ƒ‡„~||zz{{x{~}~…‡‡…ƒ…„„„…‡‡‡†…„„ƒ„……‡‡†ƒ†•œžžŸžž ž„‚€€‚‚€‚…†{}}y{yw~€||ƒ‡†…………„„†‡†‡‡…ƒ„„…‚€€~~ŠŽŠ†„ƒƒ‚ƒ‚€‚‚‚„„ƒ‚ƒ†…€{}„€yxwx€…~}†„„ƒƒƒƒƒ†‰‡††‚}~|}zz{|{€‡{{{|z{{zyz€€€‚‚‚ƒ„~{|~y{{{ƒ‡}|~…„‚‚€€€„„„„…€€‚‚€~||ƒ‡{|}{|{zzz~}}}~}~~€‚|}~~|~~}„~{~‚ƒ€€€€€€€€€‚ƒ‰„ƒƒ‰—…„y{‚yz|{zz{}~~}||||~€€}|}}}}~~}~~}{{~‚€€€€€€€€€º­’„y{~|z{{||}{|}~}}}}}~||{|}|||}}|||}}~€€€€€€€€„™–•”Œ‹‘’’“””|{||}~€~~}}|„ˆ~}~~}}}„‹€€€€€€€€€€€‚Ÿ®´´®­³¶·µ³°}}}}}€~}~…‹‚€}|€|yyyz{|}€€€€€‡¯ËÍÏÍËÎÑÑÑÏ΀~}}}~~€€€~€€‚ƒ‚ƒ„|{yzz{~|zz{y}‚‚‚˜¢µ½ÆËÍÍÌËÈÅ€~}}~~€€€~€‚€ƒ…‚~|||}~~~~~}€€‚ƒ‚‚€˜¢~|ˆŠŒŽŠ††ƒ}}}}~€€€€}}€€~||}}}zyz|~{{~€€€€‚‚‚šÃ·£Ž–œˆ€„¤„ƒ€~}}}}~€€€€~€ƒ††‡…}{}~yxw{€€~{||~€€€™ÉÒÐÆÆdz‘‰“·Ê‡„‚€~}}{}}€€€‚‚„„‰ŒŒ…}||}}|zxx|€€|{|||}€€‚~•ÉÏÏɺ§‘Œ‰Œ¨’‰‚€}}{}}~€€‚‚ƒ‚‚~}|||||||{}„ƒ}||{~~~~~€‚ÆÏÑÔ}‚ƒƒƒ„„„ƒ‚€~}}}}€€€€€€€€~|}|}~}|}|}€~}{|~~}~~~€ˆ¶¹µ©ƒ‡‰‰ˆ‚„„ƒƒ‚‚€~}}}}~€€€€€}xwwywwxxwwxwvutz€~}}~~~~‚‚‰‰‰ˆ€‚‚‚ƒ‚‚‚‚~}}}}~‚€€~xvvvvvwwvvwwwvvy€~}~~}~‚€€‚ƒ€{~‚Ž‹‚‚~~}}~€€€€€€||}{xwxxxxyxyzyyz{}}}||}}}~~‚€€€€€€}{‡†ƒƒ~~}}}~€€€|„|zzzzzyxyxxyyyyyzyy|~~}~‚~~~€~}}‚ƒƒƒ€~~~}}}}~€€€}‚…„€}~~|z{zz{|}||||{{{}~~€‚‚‚ƒ‚‚ƒ~~~}}|}€€€€€‚€ƒ|||||{|}||zyzz{{~‚‚‚‚‚ƒƒ‚‚‚‚‚ƒ€|€ƒ‚ƒƒ‚~}~}}}}~€€€~}€ƒƒ|{}}|{{|{{zzzz{|}~€€‚‚€~y|}€‚‚€~~~~~}}}~€€€~€‚}z~}{z{zz{|{zz|}~~€€€€~zyzƒ”‰‚~~~~}}|}~€€€€€€€||ƒ|zz{{{{zzz|}~€€€‚‚€€~yxy}…‰…‚~}}}}|||€€€€€€|}~}{{{{|{|{{{|~~€€~~}~€‚€~zxxz‚‚‚~}}}|||}€€‚‚€~}}}||{|{{{||{}}}~€~~~~~~}‚~zywxy€ƒ‚‚‚~}}}}|||€€€€€~}||{{{yzyyxxxwwwxx|~~~~~~~~~€‚‚~zxyzzƒ‚‚‚€}|}}}|||€€€€€€~ywwvutttuvttuuuuttw}€~~~~~~~€~|x{{{~‚‚‚‚|}}}}|}€€€€}xwwvxyxxyyxyzzzzyyw{€~~~~~~~~€~{|}~~€‚‚‚~}}}}}}€‚‚€}z|{z|}|}}~}}~}}~€€€~~~~~~~~~ƒ‚€ƒ„ƒ‚‚‚‚„„€~~~}}}}ƒ…ƒ‚€€€…‡…ƒ‚€~~~~~ˆ‰‰ˆ‡……†…ƒ‚—~}~~}}|}~€€ƒ†‡„‚ƒ‚‚‚‚…†‡†ƒ€~€€€~~}~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÏÏÏÎÍÎÍÍÌÌÌÍÌÌÍÍÌÌÍÍÍÍÍÍÍÍÍÎÌÇ¿´«¢Ÿ‘€}qghviiimlqcgaU]a\\d\S]b^_VPOTZY_e^dTTVVTVTSYTPW_]ZWTMD>9<:521@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÎÎÎÎÎÎÎÎÎÎÍÍÍÌÌÌÌÌÌÌÌÌÌÌËÌÌÌÌÌÌÍÍÎÏÏǵœ¤–txr^]]q|n[^mlgZYZ[_ZVTN`g_\ROOQXW]gghOT\`YPPLRRY_a[UOMJA@65542086ÎÎÎÎÍÍÎÎÎÎÎÎÎÍÍÇÁÄ¿ÇËÊËÌÌÌÍÍÎÍÌÌÍÌÌËÌÌÌÌËÌÌÌÌÌÌÍÍÎÎÎÍÎÎÍÍÂ¥‰ˆoklnkklptzy`b`cdZY[[[]RSV]cY[YVTSTSWZgcPQX\UKNMSS\b_aYPFC@;741110.0ÎÎÍÎÎÍÎÎÍÍÌÍÍÍÍÈÂÆÁÊÌËËÌÊÊÊËËËÉÉÊÊÊÊÊÊËËËÌÌÌÌÍÍÍÍÍÍÍÍÍÍÍÍ̵—‘yjqtzt|cda]fXaccZZWUaXSYfdROSVWSMLVNYgQOSWYPNSOPX_]_UUUOG?<8432/,,ÍÍÌÍÌÌÌÌÍÍÍÌÍÍÎÉÀÂÀËÎÎÎÎÍÍÍÍÍÌËËËËËÊÊÊÊÊÊÊÊÊÊÊÉÉÉÇÉÊÊËÌÊÊ;‘€„€saj{kcg__`WiaVXTSM\`^`qk[POT\TMJSQQYTZZYUNPQV[_WVYQPYNH=>A;52/,,ËÌËÌÌÌÌÍÍÎÍÍÍÎÏǹ¼¹ÉÏÎÎÎÎÎÎÎÎÏÎÎÎÎÎÎÍÎÍÍËËËËËÌÌÊÊÆÊËËÌÌÌÈÆÄ¥‹ywng]jnmb_`\W\_UQZRRQ[feegbhUQUYSPQSRRWRY]aURTQYZ\WWSSOPPI>?=7651.2ÌÌÎÍÍÍÍÎÎÎÎÍÍÎÏĻŽÇÏÍÎÎÎÎÎÍÍÎÎÍÍÍÍÍÍÍÍÌËÉÊÌÍÎÍËÈÅÊËËÍÎÌÇÄÁ³|zocVRb\Y]`_^c_VTPKKUY_ach^YSOOONJSRSP_LUUY[W[Z]ZZVQQSNRJEC?B;530/4ÎÎÎÏÏÏÎÎÎÎÎÍÍÎÎþÌÂÅÎÌÍÌÍÍÍÌÍÍÍÍÎÍÍÍÍÍÍÌËÉÊÊËÈÅÁÄÁÆÇÊÌÍÉÁ¾»©‹€}pURQQMTVmodbc\YMD@MYP[``]UTRJLJHKHRLYNRTUVW[ZZZ\XRPRMWNBGA@=3/.-.ÏÏÎÎÎÏÎÎÎÎÎÍÍÎÍľÊÂÂÍÍÌÌÌÌÍÍÍÎÎÎÎÎÎÍÍÎÍÌÊÈÇÅÈÀ¾¹Â½Á¾ÅÊÇ»­Ÿ¤Š~zuaUYYWgg]nee]TURRWVdTOZ\RNVWRKHEOPPXXRQXZUTWWUNN[URVPWW?57220.-,-ÏÎÕÙØÑÍÍÌÊÉÉÊË̾ÈÁÀÌÎÎÍÍÍÍÏÎÎÎÍÎÎÎÎÎÎÎËÄÁÁ½Â»¸¬À·¿µ¿Æ½½µ£†‚qˆyc[_Z\fjUn\S[TNTT][UNQSWRQRTXLJJSSR[g\OVXVWTUZRK]YZ^]LC=8641..---ÏÝëïîæÔËɽ½ÁÄÈÁ¿ÆÁ¿ÊÌÌÌÌÌÌÍÌÍÌÌÍÍÎÍÌÍÍÌÅÀ»²¼¸¯ º²½±¶½³º±•„{|nfeba`T\aYTe[SZ^ORSW\UVTNNMKKLTXUPSOQPbYNZ\YRLMXZPWYRMJA8=<:73/-,--ÝïÑ©´ãé;·±¯¶¸¿ÂÄÊÅÁÉËËÌËËÊÉÊËÊËËËËÈÇÈÄÿ¯«§¬¯£œ¨¬·®µ³­ªšsuslkR`cZXcWP^i]Y_WKQRT[`_SQLLKNRLUVIPTOR\^Ya\SOKLYXQXQQVJCD=:;973/.--ïÅygm äܵ¯­®³²¾ÄÆËÈÃÊÍÍÍËËÊÆÊËËËÊÊÉÇÂľ½± š™££˜” «­«­¦§˜slgbjmZTWVa_VV\YY_UTYUSUT_VQSNNTUQSTVPPXQSX_X^XX[U\_TRYWTO?>E;86676300/ä‰wvrŒÆè·¬ª®±±ÀÁÅÊÈÂÊÎÍÍÌËÆ¿ÈÌËËÊÈ»´´²¹®Ÿ•Ž™™˜‘ ±®ª˜™tgceTf_PKHPWaXRR^g]bo]^b]SVMQPOOQVRUSUXR\OP_^^hZb^ge_RPLMJK@=@8754564/02ĉw†¿ç¿ª©¯®³»¶ÁÈÆ¿ÈÍÌÌËÈÀ¶ÆÌËÆú¨ž›š £›š–ˆ”—ž®«š„uddh[\TQTTPX^_\hm_PV`MYqoZQOJMMJFJMMONMQYTX_TSYX_g\ZUOILFEECI@8534454/16²——ƒ|…ºçÆ¢¥°±µµ²½ÇŸÁÊÉËÊȾ³ÄÊÈ¿³¦˜œ•–”ŠŠŒ‚•’Š‰’™Žˆˆ‰‚~vtobXTY\YPV\UT]g\RP^hg^^]TTLIIGIHGEGNLS^[W[VO[gffU\SLVSII??A9854434438=~ƒ…‰„Œ½åÞÉñ®®ªª·Å¼¬²µ´¼·Æ¼±¾Ä¹¬Ÿ ˜› ““†€ƒ‡‡}‰Š…‚€‚€yvo`VXUU\[TYTSYfPPO]ebQQ[XSLKLIKIFLJIQU]`QZQPlrcf_a\T`ZUUG<:;86543365;?¯¦{„¾ãíîçÈÂ¥¡¡©¬¡¡¡¡¡¡§¸°¦£ªœ›— ™˜Ÿ‘“…‚ƒ„€xƒŠ‡„||{}uqpjdXPXf[QTQS^XNW[]^XQRRRRMKPPKNSQEBJNU_QQM^aa_Zei\RS\XFTF=<<956649:<=åÜ¥n¾ãìåáå鬟¢­Ÿšœž¤©¤¡££Ÿ””“›™ ›’™‹ŽŽŠ††‚~‚xˆ„z|ywpiheZVYQW^XT\Z\ZVZZ[]ZUOKVTNMOJACFE@@EHHPJRSX\bX`p\_NZ`\IED@><756679=??‹Žgkz•¿âì̼à躰Àĵ·±·¶Å¿´¨  •—š–‰‹ŠŠ‡‡…‚y~…~|vwvrqmlgY\cdbWQSXX]\bWU\RV_[VQJOMNJBCD@?FFDBRGUX\W`b`\RcaWXXQLHDG975669<>HGDSE`p”ÂåíßÖéçÙÚàâãããæäæéí››•ˆŒ”’‹‹Š‡Œ†‰ˆƒ‚ƒ„|~‹z€xuqtsnibV[eaYQVOQ]fbcVNSSi[bXNQQPJHDHUKCJLLFPR\]YLYdddT`eVOX^RE@@<;9879=@KB~[AMfŒ…¿îìíëëíîííîííëèçé칎„‡ŠŽ‹~ˆ‚Š•„ƒŠ}„‰}Š‚y|wwvuwsbVRZZZWZVO\ZZ_fgfmqjR[[SMSQFEFQWQQPOQIJWZ]ZNN_Y_]^hgV^T@::<<;;;:;>==RSU[_rÇòììãÜØÔÐÌÉÉÊÌÐ̪‡Š~z{~€~z{€€{~|}|w{}}„„~{}{|trvyytoke]SMKXX[RVX[\XHY_Z\XZaXLMUPNJLOOPSUYWZmc[\ZZVYYRVKMJ?974]q97888;BECENNVOh~³ëæâ©~vldb]\\_hvŒŠ~}{z|~wy~}x~€€ƒ…‡‹ŠŠˆ…ƒ}vvmnwxzqgabTRSE?OWUVZZPLIVY[\V[d_TMKHKONMJHINWYZ\_Z]VURWOKLHB=9786Z‡=689:=AHIHWa¾´ÙÅ€ÈËÂg@FHPbWNNJJER“|}||}|ƒŒ—ž¡§©ª©§¢¤¦¦¥¥¦¥¥ ž‰louynha^ORSFHPUY]UPTQTVZVWXZa\SLDCACFHEFGJSW\[UMTTURSMFEB=:7787Tq>98:<?><<@KOW`[TX[SWYNLE<:998872‡ÑD59::;AGJKfr²ž¡p`´¬‰W`B;FNJN;5593h¤Ç¡~~z˜z\XRRRUYc|ž|^YY\_\YUNEmokskjh_N]i[TTZZYSQWWZb_XV[ZUNHEAA??=78>DGI\gWTYYYZVHD@:7888773„ÚG177:?DFBQÔË¡\J?róÐ…Q^efflnqpkigdt¼ôÅ}~}~GL[fr{T;:74464PjjlkeLDiinihccZgmbYMR[ZURTYWaZV[eYOIBB@ACB@>DIB=J[jh^LQeTH@;;855668::~×[CGIKNSSN[íé®XLEcÁÀƸ¾ÂÅÇÈÊÉÉÇÆÄÃÉÇ©Ž~}ƒg=i›¢§©sY@?BHHKK?9<@OJSihklfa\[W^[NPWUMOS][YX[]ZSTMG@BHIB>CRPJW]^iŠmQUYLB<9:H[w„Š‘”—ž¨˜–š™˜˜˜™š˜†q|[EE]œÉÖ×ÛÝÞÞàááààßÞÜÛÔy~z„PP_¯··¶³®¤·ŽxŒxMRN=454?hDaehsyfVUVSSQOTXPOZ\ZV[b]YNSUQIFKQJ<>MULfmiu†i[]SIB>7j‰Š˜‡‚}zummmonnnmmooi[uRGJX ÑÚâèèêëìëèëììêéâس}||~Md8qujb`_–x”zLOR]T865lUWhddo_SU]YW\UOSQSQ[]Ze^VVQOJIHDGJDCHPNTijlvtcbjhWQKL–iYXUTRQPNMKJJKLKMQPNˆx`KJGQšÔÞèêìÞ«ÂÉœŸÓéâàÚÊ‚z€n`_13521:KMKNSPLNGYwfA3O{uHa[ZicVNWZ`[YSMNWV[e`aXPPURLE@=GUYT\fhncZYY`cdikjne_…IQ_eiouoC5778:;LNNNMNMMHU}dG2d”G[ccbb`UXYYTPOQNS\ZUYZTMQZSPU[Vn€ubkxlYTX\]]_efl~‚~~uZ˜ž¤§©­¯|^H7:?CEOQLJ^cjU..C}ÐîëîìììéëêçèëîìíñÊzw‚W„A44UœŠIKIBBAFNNIGjxR75:ˆ`Pdc^`^ZZTVTVZ]SOWWNLNU\ZYZdw„‹„cdqiTQY\ZZ\dikt~}vŽgj•°ª “‡{ƒµ[6?EKMQF::xxxpXWax¨ÌÒÐÎÏÒÔÓÓÓÐËËËÌή‚{\…8::aŒ˜yC8444=KJFQ–e672t}Kkknqnnolry†ˆ‰Œ††‘³“}€|z}{lammbW[a_\[_gfhqgcd•]\EYE<874^»S=CFLSS=78ppnnruvwwz|}|‚ƒ‚ƒƒƒ~~}zz~€qly=JE[…’xJE7567:88M–™U862X•Lkptvwvwyxxusuutwyy}‚Š–¥³´ª—‰{plllmnlgeb^]\[Z_^YYp™WS=E4789>c´Q;AMXZM<<=qnlkklnqsuutsstvwx{}~~~~|zwuf}pGPLa€}OHIECDDB>6CejT;64435>@9?BCzwsokjjjklnoppqpppppqtwK8;MwIHJEQ7?DBDKQMKGD==>@XSLM>699=<7678`gecccddfimprtvvtsqnmnopookl|–®¹¶¨“qid[YWz™gHDDD=LŽl><6334459=??xxvtoljiihjlmnoppqqrrpqO1006KE77567;;75456666878789<;;=BM82AN_jjifeddbbcbdfjnsuwwwuqnmklnqomlr’®Ã¾ _Vbmq“UFMKIBFaoHDHC7524AH?EIHLWMMQOJEDuuuvutrlgeeegijlmlllmmmnn}ºDN::997776666666676577778:::?Cnlgjhgikmmjfcba````adhmorruvwvsmhgilnonlkylNPMSccJSK77:CGDDILWhjkmaGAAprsuvuurlheedefiijjjklllkv´†GA4577665555556565445566665CRE_lhkjhffhjlljecba`aa`_aeimpsuvwvtqkggjnnnkibcy[V‚ogbPKRYYYZ\^\[ZZ[^_^knprssrqpkgda`acdefgiijklmœzU]]G3544434445=A5544444437r’SAdgkjjhffdfilljgc``aa_]^aejmprsttttqkgeilllkv´•sslldd`U[ppmkjhgffghiikjlnppqqqrplhca`a`acdegijkn{pb™¤´i23333344588654433212m®ž¡r=_hllmmmjecbbclnkfbabba`^^aeimoqrrtttrjeegilu¦“o`__YXXW]ja[YXWWWXXXYZ[ikmnprrstrpmhdbaabbcdeghhrnGhŸ¤¬ža0/221116987512424oG=Z‰K:c¦OÃx]dgjklmnrsqqpolgcb`_`adQ0-.147;CIQZdt‡”¨¿Õ¿³¡””Zy–­²¹ÀÅ˦NA<=K¥ÖÓÍÈÊɱ{\bnieba_aefecb`][]^]\Z[[[_bh`DGPPUÊÕÐÕÞìˆB=Hº~7‡ÏÍk<¯—DË¿p\dfghjlnorqopplgda``_bS0-/479>ELUk„ÒäåéíìëíòÉxXzÉßÞÞÝÜä©Uh_[MŸäßÜÔÕÝÕipQkkjgc_`bcffdc`_____^\[Z\_f^AAIOMbl“©¸õÒRC=~ÖbÐÂfˆÔ[H¿Î³a[bcfijlmrqoqqomhb``_aW2-./4:DP^u¡¦ÕëêìììëíëªdefÌâÞßßÞã‘IXiZK’åàÞÛÝâÑRqVclnlifcbacghgfdbabaa``]\]c\A?EJOPTZ_Æœqh[UÈÍ|¤™‰ã£Ta¬ÃÏ Y\aehiklnooqqpolgb```Y4-//27q†D39:gƒ|wtqloŸ“TlK9777988;Fn×YVUG?952:GCnQgkjjkkjhdcbehjkifda`____^YC=EGKOTW[eghhkqx€›¸ÍÉ°‘‚yuN‹¼ÊÈrYadhikkmnppopomjeaa[6600;XÛà}_g…dghnqtx›‚UhJD:9;:9985<œrJD77;<;8>I>>ADGMQNp¡ŠNdPOPKKKJIKOG533469Psª~KPO?=_Kg_ciijiijjkjgdaa`cfhigc_]>2@LMPQS[eggjj‚ÊØØ××ÓÌËÍÇy]RMS–»ÆÄsT\_bdfhiklmmmmlla0:4/+,..///000:[jq˜{LNMNHFHKJIHCKC?9:DHPUoYJCDG>?IdS™”o\gghijjjhec``acfhhd`;0@LNRU^_d^L867:AFHGLI?>81fXOJ`ªÀ˺hZ_adfggijlnnmll\,:6.@;0-+**+*)6b‡££‚oQ7<=BTZSHB?HTDB:AKcNY_PRWIl`PLJr·ÁЬa\acefghjkllkjaR*862;PLF=78/)*.JavˆqcRPORTSOOQRVTSTVWWYZZYXYYZ[]b`ibZQQbeeefgghiiifcba``chh7*AB=XÊÅkZZUFOPMKMSKHFFFFClncRLM‡»ÂÓ—Y_bdffgijkjih]N.7540;??=31,-04=Hsv_agaD866:CBDFGIHICimu\OLWœ¾ÉË~[abefghiiiiibR:4/0/+*)**))*)**,JKVeiXYYYXXXXXYYYYYYYYYZYYYYYYYYY[dVB_dcdeefffggffhhhgda_`c8&9<:=EOWbntrgdcdcdffghgijqomgYOLc¬ÁÎÅu]befghghhigd\N>98:977899:9:<;9_NUhgUXWWWWWXXXWXXWWWWWWWWWXWXWVUT`dH]`aabbddfffeeegghfca`a8%85438>BJNPWURQQOMLIFDCBApklneSVf„»ÇÔºj^ddfhhhhhhfb[USQRSRRRRRTUVXYZek„ijTYVVWWWWXXXXWWWXWUVUTSTUWYXagisqprsssqlifbljeefggggf`Y5%71MB+''&$##$%$####""""$%llnmhYOPOŒÃÇÔ©__aceefhggifb`_^]\ZXXWXY\^acfgw‡nywugXXXXYYYYYYYYW]m\fr}‹–ž¥©°²¯²´³´³²±±­©¦”ypdddeffcXQK/&62JT?30353/--,,*)+./0125mrpomdTMLW¥ÅËÔY`bdeghggihfeddb`^[ZZYZ\_bee_z†{…¯·¤iZ[\\\]]\[[ZXu‘¥¯°°«§¤ ›š˜–•”“‘’‘‘“˜œ ¦[ecccb`^UMI1%50(#2<;::98766568:;:::87nsqrswiUOJm½ÈÑÈn\bcefggfggggggdca^\[YZ[]_a^YwsvžêáÜ«c_abceffgfir{ž–‘Š‚|upjhfb]]\[[ZZ\_beirc{ibbbcccXK3'4/,-63342/....-,.//000.-moliijf]RMM–ÆÉÖ¥Z_acefgggghhhhgeda^[ZZZ[\_[Wg]T¡çÙÚç–dmoqrstuw}‹Šiod]UOLJJKMNU]MNLJKJIGGGHIJZjaa`a``]R<-/*+-2'&&%$"""""!""""""""ledcfbd^SMJdµÄÏÐyY`fgeefggghhhhgfda][ZZZZ][VZMF}ܯÄôºfwwx{~ƒˆƒ}kLHEDEEEFFFECHK===<<;;;<<=<;;Qa````_\WP?3/1353248:;:99766788899:lggfrojbRKLL„ÁÆÕ²_^cdcdefgggghhggfd`\[ZZZ\ZPMKIQb`‘á§v¡±µ»ÃÉÐÙÀ„G=<;::987779995689>F86777778;>Za````^[XSPNMMOPQSX^aa`\XVROONNOPOnlfgnmriRKLKW§ÃÊÒ”`_bccdfgggghihhfeb_][ZZZYIEMHNOU^q{­ÔzspqtyŸt;;;=?@BCDFEEa_>;=:=>65566667@=M_``aa`^\YXYWWXXWVW[`dedb_ZVVVUUVUjrkgnotrg\NLJt·ÂÑÊp\bccdegggghiihgfeb`][ZZ[JDNHMOS[eƒÍ¿635565B”T<=@AZbaaa`__^]]]]]]\[YY\aeffe`[YYXWWWvxomqpoloqYLKOÁÇׯ`acddegghhijiihggeb^\[[\HBMELRW]g€ÄÁDB@AD@mš??:467767>?;IEIRZbmºÆ^b‚‘—ž|8A526;::88?<8555469537JEC94434@>E]baaaaba```abbba`^\[]aehhgb^\ZYYfkkcilotqojRIKLz½ÁÐÆp_ddfhhijjjiijjihfc_]\\BSbbdeedbbbaabccdca^[[]`eiihe`\[[GWcbgjrsoss`MJXg˜¿ÅÔ°cbdfghikjijkkkjigfb_]]?:GGFLT\hv¢ÇY€ëíìÊžI<>223N}n513100000338?BFMUTRI927CFFNS^[\\E24A>E‡a3336Xcbcdcccdddb`^\[^bgjlljebytsptqkklkhkeLJKJpº¿ÎÊt[adeefeghiikkjjhgda^<1BJGj‰}YZu§iO€‘¥¨g;@><:<[wrcAA=0///028GERLU`\WRD32>A>‚p3660Ldccddcccddeca_\[]bgklmkgy}pkkjgikokbPKMLL“¿ÁÔ­[]`bccdffhhiiiihgfc`>3>IEžäÉuOc_><>=c‰V;AAI]@AEECBAB4.///1;IFSEYf_VQH719><;6/012Tdcdddcccddddcb`\[]bgjmlkpvqtslmgmoolkf[NKIb¶¿ÉÒ}X_bddeefggghiiihgea>3:FFoÉדOW@>:666558>AC8665645777?KHHC<8Tˆvdcbbbcccbbcbbbbdcca_\Z\`fjlluoonkljgjjlmniRJJKg¼ÆÎÖ‰]cdffffggggghhhgbY7*58ACDEMUbiF.=p‚KD8244566678:;=@@B@>@?=<==>>>=>>>?<8ZL6^`bcbbbcbbbcbcccccccbb`]Z\`ejllmusmkmnmfgkijUJJMM”ÇÇÓ¼c]^aceefffffgfdcWO5,50331.//263,_¹^bY;?><>>?ACEGHHNTSRPSSSVZ[\][\ZXZhZx}=Pb`cb`bdbbbbbccccddccca`\Y[afhmoqmlmqtpkhklgTMKLKd¹ÈÍÖŒ^ddfggggffgfd`^XR8+4/=3015@GMKLl¥¦It‡_AHV\afhiknonnqqpoonmlljkklmlmoues‡mGZ À¾”adcccbbdccbccbbbbb`\[\amklnrttptlkmmknePJJLMÇÉÔ½jdegghhgffhfeefdX:,211.9<<>?>?AWy–By‹€egsqmkheca`]\][XYXXWVVVVVWXWW[^Z`hxoSˆäïç˜``aaabccbbbaabcbbb`]Z\jquroqqloijieiqaLKLMK_¶ÊËÔ–aeffhhffgggeedcZA1--,-+'&%&(';MkŽMrdZ_ZVSPONMLKKJIIIHHHGGGHHIHHILJLNNUsj`Ž°±Ÿb^_aabbbabbaabbbbca_\Zpvtoiijmoiiktrtc`ZLLNP…ÉÉÑÇrbefhhgggfffdc`]R7)*+,(&%%%&&CNdŠhq_TOJLMIFEDEDCBA@@@??@@?>>????@@A@BACFUnj\[X\`__aa`bbaaaaaaabbaa_][hikha`bhiq{wtunimcQLNQZ°ÉÈÖ¥cffhihhhfffdca]ZL>?><@\oŠwaIDCAACA@>>>=<<;:999::::::::::;<<<=>>>CNk`__`aaabbbcca`aaaaabbaa`__olkmlspsisqttu|k]SKKLLzÅÄÏÒƒbeeffffeeeedb_]XRPPQQPOPRSSEV‰iW?=<<<<<;:99987777777777787889:;;;99;=8>N^```_acbbccbaaa``aaaaabba`ƒ}€yu{wiiowvx{rc\RKKKKR¡ÊÇ׺e`bcddddeeeddb_]ZXXXXVUTUWYGVvsYN989:;9::8777776776799::;;;;:<<;FZ]f|ŠzI<=>@CDEJhuNKHGDCDILH\‹½áÜ©¶À×J5Zca``abdbbdedcbbaacbbabbbb€~xwysnq``irysjkfYLKJTZY™ÂÃ×¾f`ccadeeeeddcbba`^^\ZXVUUWGNKSLœ³¨Ÿ«Å¶›{SLNJGHLRMkv^UY]ZZYRIJ¡øå¾°¿ÏçÀB1Yda``aadhhfefedcbbdcbaabbb‡††††‡‡‡†…†‡‡‡††††‡ˆˆˆ‡‡ˆˆ‡‡…„‚}xutttxyxyzzy{{zwuxyz{{zyz{~€€€…†……†††††…††††………†††‡†‡††††…†‚|yuuuvuvyxxyx{{zywtvvy{zxwy|~€€€……………†††††…†………†††††……††……………‚€{uwwxwwyzxxwz{zyxvvuxyywwy{~~€€€……………†……††…††………†…………„……„………ƒ‚€zyyxwy|{yxxz{{{ywvvxyzyzz{~€€†…„„…………†……††…………………„ƒƒƒƒ„„„ƒ€|yxwyz|zzz{{{{zyvvxyyyzzy|~€€„‚‚ƒ„ƒ„…………†……………………ƒ‚‚‚‚‚‚€~|zywy{{zz{}}|zyywvxz{z{xz~€€‚ƒ„…ƒ‚ƒ„……………„…††„……‚€€€€€€}~~}{zzwwxxyz{|{{zzxwwwxxzzy{}~€€€ƒ…†‚‚ƒ„…††……ƒƒ„„‚‚‚~}~€~}||~|zyxwxwwy{||{{{yxyxwuvxyy|}~€€„…ƒ‚‚ƒ„…††„‚ƒ€}{z||||}}}}||zz|zzyxxyyyzz||}}{zwyyvuvwwx|€€€€ƒ…‚€~~‚ƒƒ}yxwwxy{{z|{zyxy{yzzyxyyy{{|}~}|zzyxxvvvuv{€€}†‡ƒ€€€~}{{yzyyxwwyzxzyxxxy{{{{yvwxxz||}~~|zzxxzwwvvw|~~‰€€€€€~~|}{zxzzxwwwxxvvvvvw{{|zzyuuvwz|{}~}{yxwxyywxy|~€~~‹‚~ƒƒ‚ƒƒ{{yvxyz||||zwvuuvw{||zyx{{zzy{|~~}{xxwxxxyz|€‡}|‚€ƒ‚†ˆ‡‡ˆŠ†{yy‡ŠŽŽ‹uuwzy{yyz||z{z{}~~~}{yxyz{{}€ˆ€€}{€††‡†‡‰‡yz‰‹ˆˆˆŠ‰Š‹‹wtvywzyyzzyyy{}~~zwwyz|~~€€~|€‚‚ƒ‚‚ƒ‚ƒ‚€w|‡„~„„†…‡Š‰}ttxyyyz{zyxx|~~~~~}wstvw|„‡‡ˆ‰ŠŠŠ‰ˆ‚‚€€€€€€€y~‡‡…„…„ƒ†„ˆ‡‚yvwyxy{{zxxy|}}{{yvrprqos~†‡…†Š‹ŠŠŠ‰‚‚‚|‡Š†…‡ˆ‡†„~†‡ƒ|zyyz|||{{{zxtpjpptssqoij…‚€ƒ†‰Š‰Š‹‚„……ƒƒƒ‚ƒƒƒƒ‚ƒˆ‰„ƒˆ‰Š‰„~…‰„€€‚‚ƒ‚ƒ‚|yuuxyyzyxxwy„ˆ‰‰‰†‡‰ˆ‰Šˆ‡‡‡‡‰ˆˆ‰ˆˆˆ†„„………†ˆ‡‡‡„…Š‡‚ƒƒ„„ƒƒ‚ƒ„„…†……‚€€€‚†ŠŒˆ††ˆ‰‡‰‰‰‰ˆ‡ˆˆ‰ŠŠŠŠ‰†…‰Šˆ‡‰‰‰ˆˆ‰ˆ‰‹Ž‹ƒƒ„…„…„‚‚‚‚ƒƒ…†‡‡†„‚}{‚‡‰Š††‹‹Šˆˆ‰‰‰‰ˆ‡‡ˆ‰‰‰Š‰ˆ‡ŽŽŽ‹‹‹‹‹ŒŒŽ„ƒ„„„ƒƒƒƒƒ„†ˆˆ‡…|‚‡‰‰‡‡‡†…„…‡‰‰‰Š‰ˆ†‡ˆ‰‰ŠˆŠˆŠŠ‰‰‰‰‰‰‰Šˆ…Š†„‡†„‚‚ƒƒƒ‚€€ƒ…‡ˆ‡„…ˆŠ‰‰‹‹Š‰‰Š‹ŠŠ‰‰‰‰†‡‡‡ˆ‰ˆˆ‡~„‡‡‡‡…††‡‰†€ˆŠ‰‹‹Šˆ…ƒ‚€‚€€€‚„†††‚€ƒ‚||€‚ˆ‰‰‰ŠŠ‰‡‡‡‡ˆˆ‡…‚ƒ‚‚„„„„ˆ’’””””•••”Š€€€‚‚€€‚…†ywqqrrqqqtƒˆˆ‰ŠŠ‹‰††…†ˆ„„„„„‚‚ƒ„…‹ŽŒ‹‹Œ‰‰‰Š‹‡„ƒ‚‚ƒƒ‚‚€€ƒ„‚€€|zzzz{||€†‡ˆŠŠ‹‹‰‡†…†ƒƒ†ˆˆ†ƒƒ†‹ƒ|z{ƒ‰ˆzz|‡‹ˆ†ƒ‚‚ƒ‚‚‚‚‚|}}€€€‚€€}ƒ‡‰‰Š‹‹‰‡†…‚‚„†…„‚…Š„~~~†ŠŠ€z|†‹Šˆ‡…ƒ‚‚€€‚‚xssxywy~‚€}x||†‡‰ŠŠ‹‹Š‡„‚‚ƒƒƒ‰‹‡‡ˆ‡ŠŠŠŠŠ‹‰ˆ‰‰ˆ‹‹‰‰ˆ†„€€‚‚‚yqqstuz}}~}y}}~ƒ‡ˆ‰ŠŠ‹Šˆ…ƒ‚‚ƒ†††‰‡†‰‰‰‰Š‹Œ„‡‰‰‹Š‰‰‰ˆ†ƒ€€‚‚xrrsw~„€~~€|~}}„ˆˆ‰Š‹‹‹ˆƒ‚‚‚‚‚„†‡‹‡……………†‡†|ƒ…†‹ˆˆˆ‰‰ˆ‡ƒ‚€‚{tuu{„€€v~}†‰‰‰Š‹‹‰ƒƒ„ƒ‚‚ƒƒ…ŽŒ‹‹‹‹‹‹‹‹‹‘†…ˆ‰‰ˆ‰‡…ƒ‚€‚~}|}€~€oz€~}‚‡‰ˆ‰‹ŠŠ„„‡„ƒƒƒƒ†•–••••••––••–•”‰†ˆ‰‰‰‰ˆˆ‡„‚‚€€€hm|}z~ƒˆ‰‰ŠŠ‰…‚„ƒƒƒƒƒƒ‡’’’‘‘‘‘‘’‘’’’Š‡‡‡‰‰ˆˆˆˆˆ†„‚ƒ‚ƒ‚‚‚‚‚‚jir{}~…‰‰ŠŠŠˆˆ‡…„„……ƒ‰‹„†ŽŽŽŽŽŽ‰ˆ‰‰‰…€ƒ††‡†††††‡kjkw€~~ˆŠ‰ŠŠŠŠŠ‰†……†„‡†}|…‹Š‰‰‹’““’’“””““’’’‹ˆˆ‰ˆ…€‚……………„„„„onmt€}}…‰ŠŠŠŠŠ‹‹‡……†…†…€~ƒ††„ƒˆŽŽŽŒ‹‰ŠŠŠŠ‹ŒŒŠˆˆˆ†…ƒ‚€€€‚omjmy€~|€‡ŠŠŠŠŠ‹Œ‰‡†…„„……ƒ‚‚‚‚‚ˆŠŠŠŠŠ‰‡‰‹‹‹‹‹ŒŠ‰ˆˆ‡†…„ƒƒ‚‚ƒllhijz}}ƒ‰ŠŠŠŠ‹Œ‹ˆ†…„„……„‚‚ƒˆŠ‰ˆ‰Š‰‰Š‹‹‹‹‹‹Šˆˆ‰ˆˆ‡‡‡†ƒ‚€€ƒ…†omihet€~|†ŠŠŠŠ‹‹‹Šˆ†„‚ƒ„„‚ƒƒ…ˆŠŠ……‰ŠŠŠŠ‰ˆ‡‰ŠŠˆˆˆ‡ˆˆˆˆˆ‡…ƒ€‚„ljgfgl{€~}€‡‰ŠŠŠ‹Š‹Š‰…‚ƒƒ„‚†ˆ‰Šƒ‚ˆ‹‹Š‰ˆ‡††‡Š‡ˆ†„†‰‰ˆˆ‰ˆ†‚€€€gggghip}€~}‚‰ŠŠŠŠ‹‹‹Š†‚‚€‚ƒƒ‡†ˆ‡‡†ˆˆˆ‰‡‡‡‡†‡‰‡‡„„‡‰‰ˆˆ‰‰‰‡ƒ€hhgfghhu€}€ˆŠŠŠŠ‹Š‹‹‡‚€€‚ƒ†ˆ‰ŠŠŠŠ‹‹‹‹‹ŒŽŽ‹‹‹††‰‰ˆˆˆˆ‰ˆˆ†‚jhgegigs€€„Š‹ŠŠŠ‰ŒŠƒ‚……ƒƒ‡‹‘‘’““””•–•––––•”Š†…‡‰‰ˆˆ‰ˆˆ‰‡„jhgeijho~€}€ˆŒŒ‹ŠŠ‹‹‰ƒƒ„……ƒ…’”˜™˜—˜—–—––•–————‘‡‚ƒˆŠ‰‰‰‰‰ˆˆ‡„jjjhihhlu}ƒŠŒ‹ŠŠŠ‰ˆ„‚‚‚‚ƒ…“””“‘ŽŽŽŽŽŽŽŽ‰‡†ˆŠ‰‰‰‰‰ˆˆˆ‡lljjnkijr~‚~‡ŠŠŠŠ‹Š‰†„„ƒƒƒ‚ˆ‹ŠŠŠŠ‰ˆ‡‡‡‡‡‡‰‰‰‡Š‰ˆ‰‰ŠŠŠ‰‰‰ˆ‰‰‰lmnoqpmos|€~}~‚‰Š‰‰‹‹‹ˆ‡‡…„…‚ˆŠˆ‡Š‡…„ƒƒƒƒƒ‚†‰‹†„†ˆ‰‰‡‰Š‰‰‰‰‰‰‰{zzzzzzz{zzz{{zzzzyyyyyyyyzz|‚„ƒƒƒ„††‡‡†††‡‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzzzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzzyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„††‡†…ƒ„„„ƒ…†‡‡†…ƒƒ‚‚€zzzzzzzzzzzyzyyyzyyzzzz{|{{z{€‚…„„„……„ƒ„†††…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zz{{zzzzzyyyzyyz{{}~}|||~€‚„„„„„……„…‡‡†……„„„„…†‡‡†…„‚‚‚€€{€~|}~|zyzzzzzzzzz{}}~}~‚ƒ‚‚„…„„……‡†††††………„„…†‡††…ƒƒ‚‚‚€‚~€€|{zzzz|zy{||}€€€€€‚„…ƒ„„……„„„„††††„…†………„…†††††„ƒ‚‚ƒ~€~}|{zzz}|{~€€ƒƒ‚€‚ƒ…†…†……………ƒƒ„…†…„„……„…„…†††……„ƒ€€€€~}|{}€€…†……„„ƒƒ„ƒ„…‡††††…………„„……†…„„ƒ„„„…††‡†…„ƒ‚‚€‚ƒ}~‚€€€~ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡††††…………………„……„„‚‚ƒ„†††ˆ†…ƒ‚€‚‚‚€}€€€‚‚„†‡†‡‡†‡‡…„„„„…‡††…†………………………………ƒƒƒƒ„†…†‰‡…‚€‚‚ƒ{y{€€‚‚ƒ‚„†‡‡‡‡…†††…………‡‡‡ˆˆ††………„…………………„„„ƒƒ…††††…„ƒ€€€‚ƒ}|}€€„††‡‡‡†………„ƒƒ…‡ˆ‡ˆ‰†…„„„ƒ„„††‡†…„„„„…††ˆ‡„ƒ‚‚‚‚‚‚ƒ„†ˆƒ€~|yy{}‡‡‡ƒ€~~~}~~ƒ‡ˆˆ†……ƒ„„…†‡‡ˆ‡…„„„„…‡‡‡‡ƒ‚‚‚ƒ„‡‰…ƒ‚}}|}~~€…‡‡|||€~~}|~…‡‡…„„ƒ„„††‡ˆˆ†…„ƒ‚ƒ„†ˆ‡†ƒ€€€€€‚ƒ‡†‚ƒ€€€€ƒ‡†}|{{||yz}}}ƒ‡‡…ƒ…„„„…‡‡ˆ‡†„„ƒ„……‡‡†ƒ‡’”—˜˜™š™…‚‚€€‚‚€„‡„}|~}y{{w{€}|‡†…………„„…††‡‡…ƒƒ„…‚€~|ƒ”œ˜•‘‚€‚‚‚„„ƒ‚‚…†||‚‚yxxw}„|……„ƒƒƒ„„†‰‡††ƒ}~|}zz{||{†‚|zz{{zyxz€€€€‚‚‚‚‚‚ƒ„€{{yzzz€‡€|~ƒ„ƒ‚€€‚„„„„„€‚€~}}‰|}~}|{zzz~}}}}}}}||~~||}~€…€{}ƒ€€€€€€€€‚ƒ‰ƒƒ„„…‡‰}z|{{{{z{}~~}||||~€}}}}}~~~~||~‚€€€€€€€€ƒ…§³’‹zy}zzz{{z{|}~}}|}}~~|{|}||||}}||||}€€€€€€€€€­™”ƒ„…ƒ†‡†‡‰}|||}~€~~}}|„}}}~}}}ˆƒ€€€€€€€‚„Ž ¥¦¥¢¥§©©¨¨}}}}}€€~}}ƒ„~~~}ˆ}}||}~€€€€€—¿ÄÆľÂÆÈÈÆÀ~}}}€€€~~€ƒ‚‚€‚ƒ€~{zyzxxxwxyx|‚‚‚„™²ÇÏÒÔÕÕÖÕÕÓ€~}}~~€€€~€€‚‚‚…‚||{{ƒ‚€€~||€€‚ƒ‚‚ˆ „‡’›¡¦¨¨¥¡œƒ~}}}}~€€€€€~€€‚‚|||}~}z|}~~~}{~€€€€‚‚‚ˆ´ª‘„Š~}‡„ƒ€~}}}}~€€€€€~}ƒ‚|}~~~{xy{€|{|~€€€€…¸Î̽³Áµ’…†˜½†„‚€~}}|}}€€€‚ƒ„‰Œ‹‰€|}~~{zyy~€~{|||}€€€„¸ÎÐÎÈÀ² ‘‘ž²’‰‚€}}|}}~€€‚ƒ‚‚ƒ„„}|||||{{{{„}{|{|}~~~€‚€‚µÎÐͶ˜ƒ‚‚‡„„ƒ‚€~}}}}~€€€€|}|}}}}}|}…€~}|~~~}~~~€€«ÌÅÇ—~‡ˆ‰ˆ…„„ƒƒ‚‚€~}}}}~€€€€€€zzy||z{|z{|{zyxy~}}~~~~¡‘œ†€‚ƒƒƒ‚ƒ‚‚‚‚~}}~}}€‚€€€€yvvwvvwwwwvwvutv~~}~~}~‚€‚‚‚‚‚‚‚{~‚Ž‹‚‚~~~}~€€~zyxwwwwwwvwxxxxx}~~~}}}~‚€‚‚€€€}{‡†ƒƒ~~}}~€€€€||€zxxyxxyxyzyxyyzzzzy{~~}~~€€~~~€€~}}‚ƒƒƒ€~~~}}}}€€€€€|~……€{|||{zyyyxyzz{z{{z{}~~~€‚€€€€€€€€‚ƒ‚‚ƒ~~}}}|}€€€~„ƒ‚}{{|{{|}}|||{{{{~€‚‚‚‚‚‚‚‚‚‚‚ƒ€|€ƒ‚ƒƒ‚~}}}}}}~€€€€‚ƒƒ}|||||{|||zyzz{{}€‚‚‚ƒ‚‚~y|}€‚‚€~~~~~}}}~€€}€‚‚€}||}{{{{z{{{{z{}~~~€€€€€~zyzƒ”ˆ‚~~~~}}}}~€€€€€‚€}{|€|{z{z{||{z{}}~€€‚‚€€~yxy}…‰…‚~}}}}||}€€€€€€€€‚}|~€|{zz{{{{zz{}}~~~~‚~zxxz‚‚‚~}}}}||}€€€‚€€€}}~}~{{||||||{||}~€~~~}~€‚~zywxy€ƒƒ‚~}}}}|||€€‚‚~}~}||{||{|{|{{||}~~~~~~~~~~‚‚~zxyzzƒ‚‚‚€}|}}}|||~€€€€€~}zzzywwvwvvuuvuuuvv}€~~~~~~~€€~|x{{{~‚‚‚‚|}}}}||~€€€€€€€zwwvuutuvvutvwvvvuux€~~~~~~~~€}||}~}€‚‚‚~}}}}|}~€‚‚zwywyzzz{{zz{{{{|{zz~€~~~~~~~~~~‚‚ƒ„‚‚‚‚‚„„€~~~~~}~€‚€||~}}}}}~~~‚„€~~~~~ˆ‰‰ˆ‡…„……ƒ‚—~}~~}}|~€€€~€‚ƒ‡†€ƒ€„†‡„ƒ€€~~}~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÍÍÎÎÍÎÍÍÌÌÌÌËÌÌËËËÌÌËËËËÌÌÍÎÍǾ²¬žœ‘}qfhuijilmqcgaU]a[\c[R\b]_VPOSZY_e_dSTVVTVTSYTPW_^ZWTMD=8;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÍÌÌÌÌÌËËÌÌËÊÊÌËËËËËÌÌÎÏÏdz™ •r~w€p]]]q}nZ_mkg[YZ[_YUTN^f_\ROOQXW\gghOT\`YPPLRRY_a[VNLI@?65442086ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÇËÊËÌËÌÍÍÍÍÍÌÍÌÌËÌÌÌÌËËÌÌÌÌÌÌÌÌÍÍÍÍÎÍͦ‰ˆpjkmmlmqsyy`a_cdZZ[[Z]RSV]bX[ZVTRTSWZfcPQX\UKNMSS\b`aYPFC@;741110.0ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÂÅÁÊÌËÊËÉÊÊÊÊÊÉÉÊÊÉÉÊÊËËÊËÌÌÌÍÍÍÌÌÍÍÍÌÍÌÍÌ´–’ynsvxs}cca]fX`ccYYVU`XTYfdQOSUWSMLVNWfPNSWYPNSOPX_]_TTTOG?<9632/,,ÍÍÌÍÌÍÌÌÍÌËÌÍÍÎÈ¿À¿ËÎÎÍÎÍÍÍÍÍÌËËËËÊÊÊÉÊÊÉÉÉÊÊÊÉÉÉÆÈÉÊÊËÊÊÍ¿‘‚ƒo_jzkdf_^`Vi`VXTSM\`^`ok\POT\TMJSQQXTYZYUNPQV[_WVYQPXMG=>A<52/,,ËÌËÌÌÍÌÌÍÍÌÍÍÎÏƹ»¹ÉÎÎÎÎÎÎÎÎÎÎÎÎÎÍÍÍÍÍÍÌËÊÊËÌÌËÊÊÆÊËÊËÌËÈÆæ‹wvkg^inmb_`\W\_UQZRRQ[eeegbgUQUYSPSSRQWRX\aURTQYZ\WWSSOPPI>?=6650.3ÌÌÎÍÎÎÎÍÎÎÎÍÍÍÎüƽÇÏÍÎÎÎÎÎÍÍÎÎÍÍÍÍÍÍÍÍÌËÉÉËÍÎÌËÇÅÊËËÍÎËÆÄÀ²œ{|o`TRa[Y[`_^b_VTPJKUY^aci_ZSOOONJSPSP_KTTY[W[Z]ZZVQQSNSJEC?C;520/4ÎÎÎÎÎÎÎÍÎÎÎÍÍÍÎþÌÁÅÎÌÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÉÉËÈÄÁÃÀÆÇÉËÌÉÁ½¹§‰{pUSRPLUUlnebc\YMEALYP[``]UTRJLJHKIQLXORTUVW[ZZZ\XRPRMWOBG@><3.---ÏÏÎÍÍÎÎÍÍÎÍÍÍÍÍþÊÁÂÍÌÌÌÌÌÍÍÍÍÍÎÍÍÍÍÍÎÍËÊÈÇÅÇ¿½¸Á½À½ÅÊǺ«›¢‰~{vaUYYWgh\nee]TURRYWcTOZ\RNVWRKHEOQQ[ZRQXZUTWWTNNZUSWRWV>4511/.-,,ÎÎÔÝÜÒÌÍÌÉÈÉÉÊ̾ÈÀÀÌÍÍÌÍÍÍÎÎÍÍÍÍÍÍÍÍÍÎËÃÁÁ½Âº¸ªÀ¸¾´¿Æ½½µ¤…‚p†zd[_Z[fjUn\S[TNTT\ZTNQSWRQRTXMKKSRRYg]NVXVWTTZRK]YY[[KA<7630-.,,,ÎÛëððæÕËÉÁ¼¼ÀÄÇÁ¿ÆÁ¿ÊËËËÌÌÌÍÌÌÌÌÍÍÌÌÌÌÌËÅÀ»²¼¸¯ º²½±´½²¹°”ƒ{|oecca`T[bYTe[SZ^ORSX\UVTNNMKKLSYVOROPPbYMZ\YRLMXYPWXQKI@8=<:72.,,,-ÝïÒ¨¸äêν¶±°µ·¿ÁÄÊÅÁÉËËËËÊÊÉÊËÊÊÊËÊÉÇÈÄ¿¯«§¬®¢›¨¬·®³³­¨–}rusllS`dYXcWP]i]Y_VKQRT[`_SQLLKNRMSUKPTNR\^Ya\SOKLXXQYPQVJCE=:;972/.--ïÇzgn¥çܵ®­­³±¾ÄÆËÈÃÊÍÌÌËËÊÅÉÌËËÊÉÉÇÂý½± š™££—”Ÿ«­«¬¦¦—}rlgajl[SWUa_VV[YZ`VUZUTUT_VQSNNTUQSUWQPXQRX_Y^XX[W\_SRYVRN?=D:8667530//åŠvvq‘Ì깬ª®°±ÀÀÄÉÇÂÊÍÍÍËËžÈÌËÊÊƾ·°°±¸­Ÿ•˜˜˜ ²®ªœ—˜‹sebeTd^OKHPWaZTUag[`o\^f^SUMPPOOQVQTRTXR[OP_]\hZb^ge]RPLKHK@>@8745564./2ŃŠv‡ÂêÀ¨¨°¯³ºµÁÇƾÈÌËËÊÇ¿µÆÌËÆÀµ¥š˜ ¡šš–‡“—­ª™Žƒudei[[SQUTPX^_[hj]PU_NXoo[QOJMMJFJLKNNLPZUY]SRWX_gYYTNILFEDCI?7533443/16ªš›‡|†¾êÉ¥§¯±µ´±½ÈÅ·¿ÉÇÊÊȾ³ÃÊȾ°¤™œž•–“‰‰Œ’’‰‰‘—‡‡ˆ‚~wunbWTX[XPV\UU\h\RQ_ih^]\TTLIIGIHFEFMLT_\UZUO\jfeV^TMVTIJ@?@9854334437={€„†ÀçåØ㮬¨©µÂ¸ª®³²¹´Å»°½Ã·ªžŸ˜š ’“Œ†‚†‡}‰‹„‚‚€xvpaXXTU\[SYTRYeOPP^daRR[XSLKLIKIGLJHQU[bRYQQkqce_b]U\YUUH<:;86543375;?ž¨{ÁåìîèÏϨžŸ¦§žŸŸ  Ÿ¦¶®¥¡¦šš— ™˜Ÿ“Œ…‚„ƒx‚‰‡„|{{}upnjdXPXf[QTRU_XOY\\^WQQOQRLJPPJMSQECJNS\OQM_a`_ZgiZPT^ZFSF=;<956648:<=ÛÚ¸uw“ÀäëâÞæﵟ¥±¡›œ ¥ª¤¡¢£ ”“’›™Ÿ›’™‹ŽŠ†‡ƒ}xˆƒ€y{xwphidYWZRW^XT\Y[ZVZYZ\ZUPLVRNLOI@BEE@@EHGPJRSX[aX`mZaQY^ZJEC@=<756669=??ipbat“ÃäìÏÃáéÆ»ÉȺ½·½»ÈÄ»ª  •Œž–š•‰‹Š‰ˆ†…‚‚€y~„~|~vwvrqmkgX\cdbWQSWX]]bWT[QW_\WPJOMMJBDEA?FFDBRGUX\W`a`\RadUVYRLGDF975668<>HGKRNNm‘½äîèæêéæçèææççéçéëïÄšš”ˆ‹’‘‰ŠŠ‡‹†‹‡ƒ‚‚„{}‹€y€wtqurnhaV[eaYQVOR]fbbUOSWkZaXNQROIHCIVMEJLMFPR\\XLYccdT`eXPW^PE@@<;9879=@KBzgD?[„ˆ éììëëìììííìíêæäç鵌‹ƒ‡‰Ž‹}ˆ‚Š•„„Œ}†Š}Š‚y|wvvuwsaVQZYZWZVO[WX_gjmrriTZ[SMRQFEFPTPRPOPIIWZ]\ON]Y_]]hfW^R?:9<<;::9;>==>>FPTV_YZafk`^^W[SYSSVVT?9889:98967:@@?=MONQTe«ïìíâÒÊÁÀ»¹º»¹ºÃ»‡}yz}€}yz€€||~}x{}~…„~|~{|trvzytnjg\SLKXW[RUWZZVHW_Z\WYaXLMTPNLMONORSYWZmc[\ZZUYYRUJLI>973g‚86987;BECEONdhp–˜ßãà±f\UPRRNPNQYm|zz|x{€}wz{z{x{€„‚€~zusmmwxzqg_`SQSD?OVUVZZPKIUY[[V[d_TMJHJNMMIHINVXZ\_Z]VURVOKKHA<7787Sx;789:?=<<@LOX`ZTY[SWYNKE<:998773áO49:;ECGE?<=;LžÚ؈~{†¡yng_YUWap”—za][XVWVUNdtjrjig^N\i\TSYZZSRXWZd^WU\ZTMGEAA??=78?EGI\hXTYX[ZSGC@:7888785‰ÞP3::K[kk^LQdSF?;;:9;97573{ÜU5<9;>DF@Tìå¿hMHO¤ÃÎÎÊÌÎÑÓÔÕÓÒÒÐÎÐÕ§†~~‚JHq„’™žZL902;ADNMGLQTMFfhklga\[W\[NPVUMNS][XX[]ZSTMG@CHJB=DRPJV]^iŒmQVVKA<9869CMVblo•Éˆz}~~~‚ƒ…’ivlGCSŽÈÖÛàááâäæääåääãáÜ´}||€uCU’¯²³µ²§š‡ilsTQPG3234ZLUfgsygVUVSRROTXPOZ\ZV[a\YNRTQIEKPJ<>MTMfljv…h\_TJC?<8Us‹ Ÿ ž™”‹‹‹ŠŠ‰ŠŠŠwbs\GIP‰ÌÚàééëèããåàßçëêäÚÏŽzyƒ^ZJl¦Ÿ•‰}š¼…Š¦XNPMM>55OlGfdbn`SU]YX]UOSQSP[]Ze]UUQOIHHCFJGEIQOVijhqocbkkZTNKN”yxungc`^]^\[ZYYYYYX†zfLJGFˆÍÞèëé꺡³Ù²£ÊëããÝÛšzy„Qr>6B?:7GJS_`d^PLKhlW48G€MX\ZhcVMV[_ZXRMNWW[c_aXOOVRMF@=HW`W^ijmaZXX_bdhkmqh^j‘OMQSTUXSGEB@@@@?ISVJJG;55<~ÈäåéççáØáçáÙáéççãã˜z|}Vw447=>9HNMMLLKMJGkuZ7A‘¦dQeb`a`VXYYSRPNLR[WSVXTMRYRPY`\tƒsalxiXTX\]\_egm„ƒ}}uLu…‰–‘T>:67:;=KVWfimg8-7k¸ðííîëëìììëëëíííñæŽt~ohk159wŒRDOJIHIMMLE^w`?7FpƒJea_a_ZZTVU]de^Z_^WQPXc]Y_l}‚†‹`eqfRRZ\ZZ\eiku}zwuŽfq©²µ´²°­Ÿ`;6:DJMTMAxwvv_X^p›ÎÔÕÓÓÒÓÓÒÓÔÒÍËÊοŠ‰Š]|Z27@~•|MC877;KNMEX{F63E”Pfmorpppnrz…Œ‹‹‰Ž’‘ŒŒ—·‰…‚zx{zldnmbX\b_\[_gegoeb_d–]bj‡vi\P`É|@:BIRWXB7qonnptvvwz}~€‚ƒƒ„…ƒ€~|{w{€†Y‹K>CJ‚“ YD8235>B>?v¡ˆB657iYprsuuwyxwuttuuuuvx|„‘¢°³¬‘…yollmmligb]]\ZZ^\YZYo˜XS=><868hv?:74|…Ijc[^glmostvvuvurrrqppps{‰–¡¬®«§˜‡vigfeb`\ZWYXWVX„ŽUHBB5897D|a:69Ta^F>@vqljjjjlmnprqpooooquyy{yibivsa’K_WcyqTGILMMKNHM\‡”fA;<4r€@iK<;Kfdefhikosuuusrpomnoooprw§»¼©zlgggfc`]\X_™}S>>=49RR>>;4435Dgddcccdehlprtvutsqnmnnoppmlv‹¤¶¼³¢‹xlihb^]|žgM>@?9Px~c<94443437;?wwusnliiihikmnnopqqqrqrZ287CIA77645<2;_B;::9888767776778888778;;=EF5Qafhikkjgdbaa_^^`cgmprtuvvurlhhjmonljiu“¸Á_VeuyŠFQhTICDPU?GIF??76>FMLtuuuutrlgedfhiikllllmnmnpm“Š>Z?;:998877776666775677789:;>AKojhhfhklmjfdba``_`adhloqrtuvvsnigikmonljp„[R\aruHJi<;:=@AEIJZmijn`F=qrrtuuuqmheeddehiijjkllmlm£±KL:888766566655566545566677675544345549]|eBWjhljhfeefilljgc``a`^]^adimoqrttttqkfehkllli|¨|l||sojZOVdhhhijhgghikjjlnopqqqrplhca`a`acdegijji|…bj˜Žl3333333347?7554433326~­£IFhfjjkihgdcejmnkgbabba_^^`dilnprrsttrjfdfhji}°Œphhd[[\V_skeb`]]]^]]_aiklnoqsttromhdba`bbcdeghhmraX’£®®a30012335723642211.3kœ¨¦˜[Loouuvvspoidcdkpolifdffdb`_aeiknoqrssrpjedfmp¨ˆkXXZXWWWZ`[XWVVVVVWWVVfiklnqrttsspmiebabbbbdfggjtL:Š©¾ª¿sED>>>:8FQ]tµóìîíëëíïçžYk•áÝÝÝÜÜÜl`bfS[ÈàÞØÑ×â³_hWlmliec`acghgedbabaa``][]`eY@@HMNU]„‘»öÑZI@kÝw½¬d«ÉPªÃШ[[aegijlmooqqpomhb``_`@,./17?GVk‹°²ñîððððñôÓ…Ul„ãÞÞÝÞàÎWo€uRV½åâàßßá¦DvPhkkkkiebbdfhjhgec`a`a_]]^`VA?FJORUWZ‚£‚rqj]¶æªÂ¸¸ì’cw¶ÅГX^cehijkmopppoolfa`_`B-.015=TKGRa~ÓÑÍÊÈÆ¿¿¶xYfX…ˆ”˜wDd‹œWSŠÅ¹ª•pV:jX`kjjkkjhdcbdhjkifca`______UA>FHMPVX\][\`fnu‰Ïçìëá¹~rN½ÈËxYacgikklnopoppmjda`aB1105B‚Û‰>:B\VTVXXXSg¥hb^@6567568>C‰ÈVWTG<:523DBSfVjjjjkkkhfbbadgiigda_^^___WB;7634464465=]^C5796gQ`hhkkjjjkjhfba`begiigc_^]Z=5DIKNQU[epppn’åíææèçìëëëPKN‡ºÁÊ‹X\adfhijklmnnmmlieB85-,/13;>>>B<;=?JJeŸ~NgGLFCS\PEEA6543563mª¦e9?HLPZgOF?DB<=Sa\§‡c^hghiiiigfca`_adhig_40DJNQcmbdWG/***/8@:GF875laPLJr·ÀÏ°b\acdfghjklmlmjc<2838RE;523/**+Ht’«wdA8<=IXWMBA>TLC=:@MSROD@A@BEFKWiMy`J`gfggghiiifcba_`dgjd2.CDDZÁ©mZJNIKIJLViU[]SV[lpgRLM‡»ÁÑ›Z_bdffgijkiji_W8176.7GGD963+*.=Ud€‹uq[VUUTTRQTUXXVVWXZYZ[[ZZZ[\[_b`l[SO\edeeffgiikigfd`__bgd1,C@=`Ĩc\aX@DEDAEEA??@@?jmu\OLVš½ÇÍ…ZabffghhiiijdV;34301211/-*,/244:Qˆnt`]\[[Z[[ZZ[[[[[[[[Z[Z[[ZYYYZ]^fLCdgddefffggffhhhgc`__aa2)>==<;:77444lmnmhYMNNˆÂÆÔ­`^abdeeggfgd`[YXWXXWVUVWYZ]]^fb…nu\YXVWWWWWXXWWWWWXVTWUTSSTVWYfhktpÁÖΊmmheblheefgghe`XP-(71YK.'&''$""$#"""""#$$&osqoneTMKU£ÅÊÔ’Y_bcefgfeffdbaa_^\ZYYYY[]aeekduyz|u_XXXXYYYXXYYYW`g[cp}ˆ”£«³²°²³²¸¼¼¶®­©¦“xoddecbc\PKG+(61?E=878:852211//245567msqrrwgUOJl¼ÇÑÈo\abefggfffffedca_][ZYZ[]_bd_f‡~~œ½Àˆ`Z\\\]]]\\[ZYz•¦®±°­©¤ ›˜—–•”‘‘‘’–˜¢¦‹Zeccba``ZNH/'50�nnkhhgd\RMM–ÅÉÖ¦[_acefffffffffddc`][ZZZ\]^aWgvt}ÍìàÖŒ]abceffggikw‹„¡˜‘‹…}vqljhd_^^\[Z\]^cgjsczibbbcbbYK2+3.,/5-,-,******()**+++*kcbbfac]RMJd´ÄÎÑ~Y`fgeeffffgggfeec`][ZZZ[\_TdbZdÙßÏçÚwioqrsstuz~Žƒloe^VRLIILMMUYLNMLKJIHGGHIKZiaa``__]T@/,)*,.%%$$###"##"####"##lhhgsojbQKLLƒÀÆÕ¸c^cccdefgggggfffec_][ZYZ[^R^RKO¸Ì¡äêˆmwxz}€‚ˆ‹}iKHEDFFGFGGFELO@?>==<<<<==;;<;;;9876799736799877677768:>[a````^\YTSQOOQSSUX^bcb_\ZUQQQPPQislhnosqg]OLJs·ÁÏÎv[acccfgghhhhhhffea^\ZYZ\RFIKKNRXfs…ǽƒvorux…£d9::;=>?AACCF\S:;<:<855555546?=N```aa`^]ZYZXXYYXVW[_cfdca[WWXVVVuwomqpoloqZLKOÁÅÖµa`cdcfgghhihhhgggdb_\ZZ]TDKKJNQV^nœâ|-45664N•I><@EDDDBDB=JŸ{@>D;9644554534>@BZaaaa``_^]^]]]]]\ZZ[`dfgea][[YWWrokglnigjjdLJK]«ÂÉ×\cddfhghhjihhhihfda]\\]UBJJFOTYbn—ÝDC?z;A8477667<=:?YM96;974334444339B=Paaaa``a`___`aa`_^[[\`dggeb^\ZXWcilcilptpnjRIKLz½ÀÏÈr_ddfgghiiihhijihfc_^]]T>DIDMV]gs•Õ”Tsœ¤œ£m9A426;9978>;8455479536FA?63434A>D]baaabb`````bbba`^[Y\`cghgd_[YYEUdcfjrrots`LJXf•¿ÄÔ³dbceghijihijjkkihfb_]]R9AGDHOWapŒÍ”c¿õñôç¯RSbadeeeabbbabcdcca^[[\_eijjhb^]_eliopklprolVJLKV¤ÁÆÕ–_bdffghhijjjkjjihea^^R5@JEIOX`oƒÃN¶ñíæË–A>;222Sa0132000/1338>CGKRPOE617BA@OX8661Gecddddccccdca^\Z[`fjlmkosquulmgmnnlkg[NKIb¶¿ÈÔƒX_bddeefggghhihggdaS19EE`ÍÞ§UXri=;=AmˆN;B?HRJML[ZF9DLel@A@@@A??9555459AEF=MWSHJE;1587>?63;L`cbcccaabbaacbba_[Y[`ejlmsnonkljhjimmmiRJJKg»ÆÎÖŠ\bdffffggggggggfedU*3:DHTv‚jelB4eL9<=A5AND<;;977868=?<;<<7665535767?KGHD;;RaZacbbbbabbbbbbbcbbaa_\Z[`eilknvrmkmnnfgkiiTJJML’ÇÆÓ½b]_aceefffffffffd^M'35>CDDKS[l\34>ehCA43534455679:@><<=<======?@<6QH6dgffabcbbbbaccbcccaaba`\Y[afjmmpmmnqtqkhklgULJLKb¸ÇÌ×_defghggffgfeee^RG)311421///341*víQcI:>=;<==?@ABCCHPLJJLLLQTUVUTUTRR_Tsz8R©ÌÈ cccccaaccbbbbaaaab`\[\aljmnrttpskjmlkoePJJLL‹ÇÉÓÁmdeegihfffgfec_\TJ*205;/0/6AILJG|«ŸC}}O>EOTX]`cfjlkloonnnnmnnmmnoooopxfs‰g@|àíë£`_`aaacbaaaa`aaabb`]Z\krvrmpqloijifjq`KKLLK^µÉËÕœaeefhgffggfeefe_L-1/1.2:8:>>??GbˆŒ>ŠyXitspoliheda`_^[\[ZZYXXYYZ[ZY_c\cm|jO„¤£•b^_`aabbaaaa`aaabca_\Zputohgjmnijlwtsd`YLLMPƒÈÉÐÌxbfghhfffeeeedc`O5.,,+.'&%&'''?R|…L„tdbc\XURQOONMMLJJJIIIJJJJJKJJLOMNQRWvg\ZW[`__```bbaaa`aaaaba`_][ghiga`bhiq{xsunkmcQKMPZ®ÉÇÖ¬effhigggeeeeca^XF-)+++&&%%&&(HLt‚auaXQLQNKGEDCDCBAA@@@@@@@??A@@AAABCDCCGXpj^_`aaaabbcca`a_`aaabaa`_^sppontqsjrptuu}j\SJKLLyÄÄÎÕŠbedfeefddedda][UB;=>@AA@???;E_l‰s`IFECABB?>====<;;99:::::::;::;;<<=>>>?ERm_`__bbbbccbaa`_``aaaaaaa`ƒz‚xt{vjhovuxync\QJKKLRŸÊÆÖ¿g`acddccddddb`^[TPOPPPPPQRSQC]’…iR>>=<<;<;:99988777777778688789:;;<:9899>R_`___aa`abbbaba``aaaaaaba„|t~xsqimulhgohbfeUKKK^f}»ÃËÙ‘]bcccdedddcbb`^ZWWWWVUSTUWWE\q\K::;<;;:;978777666557887899989;;>JJTgweI=Yb```acbacddcbbaabbbaaabb~xw€ytoq_`isyrjjdYKKJRXY™ÂÂÖÁh_ccacedddccca`_]\\[YWUTTUWEZkcJDJJ?@A@>><:::>A<52/,,ËËÌÌÌÍÌÌÍÍÌÍÍÎÏƹ»¹ÉÏÎÎÎÍÍÎÎÎÏÎÎÎÎÎÍÍÍÌÌËÊÊËËÌËÊÊÆÉÊÊËËËÈÆæ‹xwlh_jnlb``]X\`UR[RRQZefegchVQVZSPSURQWRY\aURUQYZ\WXSSOQPI>?=7651.3ÌÍÎÍÎÎÎÍÍÍÎÍÍÍÎüƽÇÏÍÎÎÍÌÍÎÎÏÎÍÍÍÍÍÎÍÌÌËÉÉËÍÎÌËÇÅÊËËÍÎÌÆÄÀ³›{|oaURa[Z\`_]b]VTQKLUY_ach^ZSPOPOKTQRO^LTUZ[WZY]ZZVQQSOSKEC?C;521/4ÏÎÎÎÎÎÎÍÍÍÎÍÍÍÎþÍÂÅÎÍÍÍÌËÌÌÍÍÍÍÍÍÍÍÎÍÍÌËÉÉÉËÈÄÁÃÁÆÇÉÌÌÉÁ½º¨‹{pUSRPMVVmndab\YMD@LXP[``]VTRJLKHKHPKXNQTUVVZZZ[\XRPSMWOCHA?=3/.--ÏÎÍÍÍÍÍÍÍÎÍÍÍÍÍþËÂÃÍÌÌÌÌÌÌÌÌÍÍÎÍÍÍÍÎÎÍËÊÇÇÅÈÀ½¹Á¼Á½ÅËȺ¬Ÿ¤Š~yu`UYZXgh\mee]UURRWUcTOZ\RNVWRKIFOPQYXRPWZUTWWUNOZURVQWW?5621/.-,,ÎÎÓØÕÏÌÌÌÉÈÉÉÊ̾ÈÀÂÌÍÍÌÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎËÄÁÁ¾Â»¸¬¿·¿µ¾Æ¿¼µ¤†ƒq‡yd\_Z\fjVn\T[TNTU][UNPSXRQRUXMKKSRRYg]OVXVVTTYQK\YY\\LC=7640-.,,-ÎÛêðíãÔËÉÁ¼½ÀÄÇÀ¾ÆÁÀÊËËËÌÌÍÌÌÌÌÌÌÌÍÌÌÌÌËÅÀº³½¸° ¹²½²´¾³º±–ƒ{|ngecbaT\aYTdZSZ]PSSW\UVTNMMKKMSYVPSOQQbZNY\XRLMYXPVXQLJA8=<:72.,,,.ÜîѲ»ãêͽ¶°°µ·¿ÁÃÉÅÂÊËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÄÃÀ±ª¨¬¯¤œ©¬·¯²´¬ªšsvskkR`dZXcXQ]h]Y_WLQRS[``TQLLKNRMTVJPTNR\^Ya\SOKLYWQXPQWJBC>;;972/.--îÅyin¢çÛµ¯­­³±¾ÄÆËÈÄËÍÌÌËËÊÆÉÌËËÊÉÉÆÀ¼½² ™š££˜”¡ª¬¬¬§¥˜slhcjmZTXVa_VV[YZ`VTXUSTT_WQTNNTURSUWQPXQRX`X^WXZW[_SRYWSP@>E:8777530//ãˆwvrŽÊé·­ª®±±ÀÁÄÊÇÂÊÍÍÍËËžÈÌËÊÊƾµ®®°·¬ž•˜™–¡±®«ž˜™tgdeTe_QLHPXaYST^g\ao]]d^SVNPPOOQVRTSTXR[OP_]\gZa]hf^RPLMJK@>@7744554.02‚‰w†¿æ¼ª¨¯¯³¼¶ÁÈÆ¿ÈÌËËÊÇÀµÅÌËÇÁ¸¦žš˜  ™™–‡‘—ž­«œƒuddh[\TQTTPX__[hl^PU_NWpo[QOJMMKFJMLNNLPZUY^TRXX^g[ZUNILFEECI?7533442/16¨šœŽ~…»æÁ£¦°±µµ²½ÇÆ·¿ÉÇÊÊȾ³ÃÊȽ°¤™œŸ”•’‰ŠŒ‘“ŠŠ’˜Ž‰ˆ‰‚}utobXTY\YPW\UT\h\RQ^hg_^\SSLIIGIHGEFNLS_\V[VO\iffV]SMVSHJ@?@9854333338=w{~‰½åÞÍŲ®®««¸Å¹ª®´´»µÅ¼°¼Ãµ¨žŸ˜š¡““†€ƒ‡ˆ€~‰‹Œ‚‚€‚€€xvoaWWTU]ZTYUSXfPPP^ebRR[XSLJKIKIFLJIQU[aRYQQkrce_b]U\YSSG<:;86543365;@¿Â¶ˆy¿äíîåÍʧ ¡©«žŸž ¡ ¦¶®¤¡§šš˜¡™™”†ƒ„€ƒxƒŠ‡ƒ||{}uqpidYQYfYQURU^XOY[\^XQRPQRMKOQKNSQFCKNT^PQN^a`_ZghZPT^YESF=<<955549:<=ÚÛÈ„o¿ãëåáçí±ž¢­ šœŸ£¨£¡¢£Ÿ”““œ™Ÿ›’˜Š‹‡‡ƒ}xˆ…z{xwphheZVYRX^XT\Z\ZWZYZ\ZUPLVSNLOJACEFA@EHHPJRSY\aY`mZ_PZ^ZIEC@><856669=@?_efWmˆÂäëÌ¿à鿲Á÷»¶»·ÄÀ»ª  •Œœ–š–‰ŒŠŠˆ†…‚‚€y~„~|vwvrqlkgY[cbaXQRXX]]bWU[RX_[WQJOMNJBCEA?FFDBRGUX\W`b`\RbcVVXQKGDF976668;>HGEPTCe~ÁàïâÛééàáäãäææèåæêðÀ™š”ˆŒ’‘Š‹‹†Œ†‹ˆƒ‚‚„{}‹€y€wuqtrnhaWZeaZQTMQ]ebbUOSUj\bXNQRPJHDIULEKLMFPR\]YLYdcdT`dWPW]PE@@<;9888==LURSUTO\dcd\SYX^[R[WSRF;98;;79:9:>>>MNOQTZˆàïíáȾ´¨¤¦Ÿ›Ÿ¬¸ž†}yz}€}y{€|€}~x{|~…„€|{|trvzytnkg\SMKXW[RVX[[WIX^Z]XZ`WKMUPNKMONORTYW[md\[ZZVYXQVJLJ>864d:7888;BECEOOR][‰Êèâ¶_RMHKQFGEFIPƒˆ{zz|y|‚~x}|yz|xuzz|~~zvvnlwxzqg_aTRSE@OVUVZZOKIUX[\VZd^SMLIKNNMJHJNWXZ\`Z^VURWOKLHA<8777Qz=789:<;@LOXaZTXZRWZNKE;:998673‡ÝL48:;<@HJJ‚xˆ—||J™Ô¯ZUIHADDFGC@?>>‚ÅéŸ|}{–¥•“‹€vmjlr{thdc^^bglpw‚lqkig_N\j\TSXZZRQXWZc^WU[ZUNHEAA??<79>EHJ\hXTYW\[RFB@:7888785„ÜL2:;>BFFCQãàÓŠPH@¤íÀ†Ž’’—š™š›š˜•”ªÍáœ}~{™kUSRQSWX_t|_WTZfc`[OA]plihcc[fncZMQ[YUQTZW_YVZcYOIBB@ACA??DIC>K[kl^LQdQG@:;97;;99<7zÙR5=;=BIHAUïäÒPKEz¼ËÓÎÑÒÖ××Ø×ÕÕÔÐÏ×¹ˆ~~yAPamx‚†S970.145McdfjfRAbhjlga\\X\ZNNVTMOS^[YX[][TULF?AGIB>CRPIT[^i‹mQVXLA;8769=<88;8xèe:CBDIQU[b˜flxMCLs¾ÕÛâäãæèéææéçåäâßÍŒ{|}…_@l˜ ¥©¬“w^GDHMMLJ=48:JQHdhrygVUVSRQOUXPOZ[ZV[b]YOSTPHEKPI<>NUNejiu†i[]RI@=<;=BKYku}†žÃ›““•˜—–––sfkjHHLl»ÚßèêëâÖÖáÙÔÚéêèÝתzzw„KW]¯·µ±¯©£¼“{”yLQN?756:jG[fbn`SV]ZY\UPSQSQ[][e^VVQOJIHCFKFCGNNTijispcbkiWOLLPRy— ™“ˆ„ƒ}}|zyxvuŠmPHHAj»Þæëè컞ѵ–¡àæãàÝ·yz|wPd7erh[XZ\ŒvqLNQa[=53dcJ\ZhcVNW[`ZXRMNVV[d_aXPPUQME@=HU\U[fhmcZXY_bdjlknf^fzœggc`[XWUUTSSSRRQQRLKJ@655_¦åäèèèåÛàçãÝßèçèãæ·y{‚eiZ12333=MLJLOMKNETwhJ2N}„Gcbaa`VXYYTROOMS[YTXYTMRYSQU\XqrakwjZTW\]]`fgl~„‚}†GOVX\ag[?=<::99;HTgimoG+1Tèïîïííëìììëìíîîðð®tw„X~H25DYP?NMNMNNMMGOzlN4X‘—P\a_a^[ZUVSW^]SQZYRNNU_\Z]fx…‹‚bdqhSRY[[Z\eiku~{xztj\ŠŽ’˜œ¤›V;869??APVxwwwgTYg‚¹ËÏÐÒÒÑÍÌÌÌÊÉÉÈÍÇœ‰†|V…;54V›„GKGAAAGNMIEcx[853|kTnnrppplryˆ’‰Š’Š‰•³™…‚‚|x|{mbmmbW\_]][_gehqfc`be‘]z¨´²®©Ÿ¯ŠE;7?OVVXKqponptvxyxy|}€€€‚~~||x{ˆ’uc6;:dŒ˜tD9444>KIGM–m861b‹Lmqstuwyxwuttttuvz|€†“¦²³¬™Œvmkllmlhd`]]][Z_^ZZ[[i•X[\mYOE;wšMF=HMY[X>pnkklmoqsuutsrruwy{}~}||zuwjyq>JE]†rJG8568:77D]852J›Raiijkmnpttuvvusrqqppppt}‹™¤¬«§Ÿ€shhfdb_[ZWZXVWXY€ŒVKAA2585c‰^MDLZ\[P;upljjjjlmnqsrpooopruyyzz||{vv`‰gHRLbzMHHEDEEB?=VŠ”T=:6@Ÿ]WiQKQbdeghjlpsuuusrpnmopoopsy…˜¬»º¤‹vkhgggc_\YXV[—{T@GA57:9BYK646S_Y>@yvqnkjjjklnoppqpopppqrtubNLk„TˆgXtJoZPILTXXRPOOXoŠwK><84Vgdcccdfimqstvutrpnmoopoolmy©¸¸®š†ukhhfc`\m¢kS:>;5@]\C;63439CB8Awvusoljiihjlnnoopqrrrrpm?::SuEFDDK6>BAAGJJJEB;<<=UTKL@689=<7675^kgeccbbccdhlortvwwuqnljkopomlp|Ž§ÀÄ©‹qc^\b…œWL>B@:Y‡`=84343338G?cojjiffgjlljfcba`aa`_afjmprtvvvtqkggkmnnmjhRRXXmlKM~X789>AAEJLZkmoq`Dmopqssrqpkgdaaacdefgiikklj~·tG>4687665454455565444456665?OFUkjlkhfeeehmmkgc``a`^]^adimoqrstttpkfehklllbVWYD\kUQIADMOMLOPRVWVVVUjlnoprqrrokhca`aabddfhijkjp uSaZ>3555433334>A4544334535fŽ–[@`hlllkjgedfkookgbbbba`^^`dimnprrtttrjeegiklhŠ³~utupmi[PZjlklkjjiiijliklnoqsttrpmhcbaabbcdfgiijn€qdŸ£¬W13333344698555433222c¬¡¢}>Veijkkljhecdhmpolifeffdb`_afiloorrstrpjedehkƒ®‚ncgaZYZVbqfa^\ZZZ[[[\fiklnqrtussqmhebabbcbdfghirhDrŸ¦®˜X//1211168674233496c¦£¹£€HXnsuuuutqnie`dlmnnliffeeda__ceilooprsstqlfcjt©hVWZWVVVY\XWVUUUVVVVVaehjlmpqrrsqnlhdbbaaabdfghlg/S¢Ç°ÕÇjgLKPTU@bœCJ_]VQuÁáƼ·¦¢¦§ª«ªªªª©¨¥¡zddfillhdbbcba_]^`dijmopqsssqkcb–l_UTVWWWWVVVVWVVVVVWVV^bdfikmnpqqpoomhca````adffYQ1;‡ÕÍðñÊ—i__l¡c‹À]ime\u¥¤©£ž˜“••‘ŒŠˆ‰ˆŠŒ‘•˜›~bbbegigec`___^\\^_adhkmnorrscX€h\RPTWWYZYYXXXXXXWXYYY…[bdhjlmoqrppqomgdaa`_`bdfQ910L¨«¸ÐÚ«Š_b`[^Çö“\ikt ‰uvqokhgdba``aa`_``abdi‚ndcbbefgfb`__]\]][[\^adhjlnp_Rhd[ŽlbobY[]]ZZ]^]\\__\Æ{\dgjkkmorspppolgcb`_``bdW4/-/9:B[Yu‡Xhrjj½éŸmij™^`fiijkns|°’‰„}xwwvtqgpxgdb`_adedba_\\]^\[Z[[\acfimZKX]I£¿»¯Ø¼VGHJqfNO[zfKISÊÁr\dffhklmoqpopokgda`__`bM0../37;AEPXarƒ“£½Ú½¬ ‘Ÿwfvƒ„„ƒ………sat^\„ŽŠ‰‡‚{ljohgc_`acfedb`_____^\[Z]_bekVGLUD‰ÚàÛâð·PD=l²N8{©£S3ˆ¾Î±`\acfijkmrqopqolgb____bL.-057:>CJUhƒÒäåéëììêïçXw¹ÀÆÈÌÒ¼XKA@Dƒ×Ø×ÐÐÒÊŠlTpkkiecaacghgedaabaa`_]\^adhSBDNKY±®ÇÊÑôšB?A±žB£çÛhZΫÂÏ Z\aegijlmoopqpolhc``_aR/-.05;DP]t›œÖíëíìëììðÉ~Wv¾àÝÝÝÜßÁUicbMzÞÞÞ×ÒÙâ‰kWclkkkiebbdgijhgec`a`a_]]^_cR?@HMOS\€ƒ»ô»YNBiÞ†q³c»Áw´ÅÏŒW^cfhijkmopppoolga```U0-./38@FJORVVYwŽurtnb´è°Ä¼ÉìŒOŒ¼ÊÉtXacgikklnopoqpmjfb`aW2//06;jo@9ACq‹~|{zuŸ\jUs‹Ž•š™`HU}yRX­É¼®›‰yOArQhjjjjkkifbbadgiigda_^___^^P?>FIMQVX]^[]`gnu‰ÈâéæÚ°}Xw¯ÀͶd[bfgjklmoooppmljeaaW4300>ZÚÑjRXsxS\acgmp‡˜SlM:777767:EO¨\…jE=:525H=eX`iijjjjkkheb`bdgigec`_^^^^S@ScVhhjjjjjkjhfcb`begiigb_^\^V?:FHKOTU\hu{€–ÒÛØÙÛÞÝÞáPKN‰¼ÁÉŠX\acfhijlmnonmmlifU4;...3?JD8=EA864321Q pUbA>87:<86544793255CYQ;598@jOfgijjiijkkjgdb``cfiigd`]]X;6FILNRU[fpool—çìæåèæììë^SMU—ºÄÂqT\_bdfgjkmnmmmlliW2<.-,125;>>?@ADFKcV‡^]YJMBFXWIAC:4433668‚©•M;:66gQahffjihjjjkjhec``acgiif`_X94FKMNPV\fijok¢õñííïððññgYPJ_©¾É¸gZ_adfghjkmnnmlklY/<1-*-//1234559?LXu¡ŒS`SNPJILKHINL923467Fd™žUNQF8XN\g]gijghhiiiihfca`_aehigeZ53FLPQOU]fcZZZe’¥¤¡¡šŒ‡†lbQLJs¶¿Ð©_]acefhijlmmmlllW.;2,<5-,+*)+*)5Wekz–|OLMMIFFKJIICLG@;9BFMQigLECIA@A\\r¥~acgggghijigdba_adgii_12EJNRiocbSD,))*.9B8HK98lpgRMM‡»ÂÑ•Y`bdffgijkklmi`N,950DQG@867/))7a‡¡¦ƒoT8==?RYUIC@CXGB::CORQK@>>=BABI\aV‚\Ldefffgiikihfd`__bgja.1ECCc΢jXJNINLNNYiUZ\TVjmv]OLVš½ÈÉ|ZacffghijjjjdXK.853->BA=32-,/6LawŠ‚pdRQPQTSPOPQWUSSTUWXZ[ZWXXYZ[`ablVWM\feeffgggfgihgd`__ae`-/C>>gÄš`]cV=BB@?BB@>==?rpkfYOKc«ÁÍÂs]befggghiihh^M5411..,+++**,./16Fp†mm]]\\[Z[[[\\\\[[[[[[[[[[ZZZZ\^acGJfdceeeefffeeghigda__`\--><=G__]ejfPB??FMNQRRUWqkloeSTf„»ÇÔ¸h^ddfghhhhhgaXH7245434422201343GKYejXYYYXXXXXXXXXYXYZZYXXYYYYYYYZ]dAUjjhbdeeeeeeefghhgfb`_Z+*:;9=DMUblsukiihfgiieedkmnlhYNPPŒÂÇÔ¦^_abdefggfgc_WOMLNOOONNNNORSSQdLPjjTXWWWWWWXXWWXWWWXWVVWXWXXWWWVWkKa¹ØÏŠaceeedcdeffggfeb_W)+715/135889>>=;98765410nrpondQLLU¢ÄËÓŒY_bcefgfefeb^\ZYYZYXVVWWZ]__ahf€qkRXVVWWWWWXWWXXWWXVVVWVUTTSPR]_^db‰¬ª•ecbbaaheddeeffb[TI'+65_I.'&(($$$$##"""#$$%nrqstvfSNJk¼ÈÒÄk\bcefggfffedcba__][YYYY\_behfu‰swsrgYXXXXYYXYYYYYW\[UYbjr|ƒŒš§¨¦«ª¦¤¢¥¥¢žš”urdccc`_XNKE'+51;=;878:5222220136667mmkijjd[RMN—ÆÊÖ X_bceffffffffdccba^[ZZZ[^`bc^x‡|¦±£hZ[[[[\\[\\[ZXx‹“£¯±±±®¬ª§££     Ÿ ¢¥¨¬®ˆ]bccb_^]YNG+*4/&&578875544444789888mebceab]SMJe´ÄÏÎtYafgeeffffgggfeec`][ZZZ\]_^Ztxz–äâÚ®g^`aabcdeffes…•«¤œ–‘‹†~{xtpnmmlljjnrw{cwf`abba`WI.-2.,13++,+)(()))'((()))jgggrmibRKLLƒÀÆÕ³`^cdcdefgggggfffec`\[ZZZ[][YjcWåÛÙê£dlnpqrtut}~“~xvld\UQOONMOOKLLLKKKJJKLNSgm_`a`_^[R<0+)*-,%%%%###$%%$%%$%%%mmfgomqiSKMKX§ÃÉÒ–`_accdfggggggggffb_\ZZZ[\ZW[QG~å¸ÀðÊisuuvyz|~z…oRNIGGHHILMMNX\HFDDDCDBAAA@>AYa````_ZXRE>;;;=@AEJJLKKKHFCBBCDCirjgnosqe[NLKs·ÁÐËr\accdfgghhhhhhffea^\ZZ[\YQNLITpgè·nŽ¦­µ¼ÂÊÔªuLBA>??>;:98875566887777777797A]aaa``^[XUTRQRRSTUY_bdc`]ZURRRQRtwmkqpolnpYLKOÁÆÖ°_acddfgghhihhhgggda^\[[[ZKENINNT_|z–ͱ–’««b9:89::;<<>?AD=59:;;866666667><8Gd<:C;8434444444;B=Qbaaaaaa``__`aa`^][Y\`dghge`^[YN\hfdiqsoss_LJXf•¿ÄÔ®cbceghijihijjkjihfb_^\\E>JDHQZbk}²Ò`Tjrw~~¢g9@4369897:=:766558:633:;:54435B=E^aabbaaaaaaabcbb`^[Z\`eiijgb_]WclimnklpsplTJLKV¤ÀÇÕ’^beefghhijjjkjjihea^]\B;GEEKS\hyªÍl~Ýìëñà©M<>125=<;45=9323336854C^JIA8532=??Ubacccbbbbbbbcccc`^\[]aejlkieayusptpjjljikdLJJIo¹¾ÍÍy[bdeeffhhiijiiihfd`]]@:GFEKR[fvÎfmáïëåÉ‘>?;222OuU025410101347:HKIMLH>528B7EIFINYdr“Ìr`ãóñíºr:@712>kvlD2100///133;CAKR[X[WA24B[cccdcbcccdca^\Z\afjllkpuquulngmnoljeZMKIb¶¿ÉÔX_bcdeefgghhhihgfd`^=1BJFUkmZ]u«U´ÃÃçX;A857D‚ŠŒi;<7////025CENNT^[ZYG32=@@T_9552Fdccdcbbcccdca_\[\aeilmmurutloihlllotiPJKM—ÅÆÖ·cadfggeeggghhihggfb_=3>IDÕÂtOb„p?AAFr‹J;A?B>;PZVI@A@0////1;JEVFWd]VMF62;A=AB7450?dcccbbbbabcbba_\Z[`eillunnmkljhjimmnhRJJKg»ÆÎÖ‰]cefgggggghhhhgggda?5:FEyÙß›OYgE?DIJkgE;CD`h>@@@@A@A512222,6?GNw›†`b^6@bLFEB@7HUYK>@>==<::::988878;:78;<88@E@BB:=VVGT\cbcbbbaccccccaaba`]Z[`fjmoqmlnqsqliklgTLJLKb¸ÇÍ×_defghggffggggffb[9(59CFGMW_lyG2P6AC<=38<656533357:BB?>?A;99999:;;;?GFCBE@?@BBACCEEDCDCBCGBfj1qáïè›__aaaaccbbbbababbb`][\jquroqqlnikifjr`JJLLK^µÉËÔ˜`eefhhgfgggffb^VQ9*3/82.,-6?GEB:‘¼F{`??@ADFIMQSVXZ_ddccfggijkkkkkiilwftŠS>‡°«˜b^_aaabbbabaaaabbca`\Zqwtojiklmiilvste`YLLMPƒÈÉÐÈubfghhggfefeedcaV;*2/60699?DEEFPzA‡…dG]jnpqpqppnkkjigheeedbaabbcceinbkzYRZX[`__a``bbaaa`aaaabaa`^[hhjhaabhipyxsunjmcQKMPZ¯ÉÇÖ«effhigggefeeedcY?0.-,--*))*+)+@Y‰zJ‰†zdjkfd`\[XWVUTSQPPPOOPOOOPOOQRWVTY[fza\_`aaaaaaccaa```aaab`a``^rmmnltorirqttt{}j\SJKLL{ÅÄÎÕ‰beefeeedeeddb_\M6))*,'"#!""#*IP…v]€qfYTXSPNMKIIHGFFEEDDDDCBACDCDDGHFGHHKbsh___bbbaacbaa```aaaaaaaaa{‚xu{wihowvxypc\QJKKKS¡ÉÆ×¾g`bcddddddddb`\XG5567;;:75558MXr…lfQNJFGHFCCA@A??>=====<=<<<<<<<=?????@BJ_q____`a_`bbaabaaaaaaaaaaaƒ|u~xsqiltmhgnhbbbTJKK^e}¼ÃËØ]bbccdedddcbb_[UNLLLLNMONOPIGd‰„mTAA??==>=<;:::9988888889999999:;<<==<;@A`a```acbacdcbbaaabbaaaaaa}xwxrnq``hqyrjjcXKKJTZZšÂÂÖÀg_bbbcedddccca]YTQQQQTSSUVXSEb“ubJ<<;<<;;:988887778888877888889:<=>=>DL?BCYa`aaeiifedddbbbccbaaaaa‡††††‡‡‡†…†‡‡†††††‡‡ˆˆˆ‡ˆˆ‡‡…„‚|xutttxyxyzzy{{zwuxxz{{zyz{~€€€††……†††††…†††………††††‡††††††…†‚|xuuuvuvyxxyx{{zywtvvy{zxwy|~€€€……………†††††…††……†††††……††……………‚€{uwwxwwyzxxwz{zyxvvuxyywwy{~~€€€……………††…††…††………†…………„……„………„‚€~zyyxwy|{yxxz{{{ywvvxyyyzz{~€€†…………„……†……††……………………ƒƒƒƒ„„„ƒ~|yxwyz|zzz{{{{zzvvxyxxzzz|~€€„‚ƒƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚‚€~|zywy{{zz{}}|zyywvxz{z{x{~€€€‚ƒ„†ƒ‚ƒ„……………„…††„„…‚€€€€€€€}~~~{zzwwxyzz{||{zzxwwwxxyzx{}~€€€„…†‚‚ƒ„…††……‚„„„‚~}~€~}{|~|zyxwxwwy{|}||{yxyxwuvxyy|}~€€„…„€‚ƒ„…††„‚ƒ€}zz{{{|}}~}||zz|zzzxxyyyzz||}}|zwyyvuuwwx|€€€€‚…‚€~€‚ƒ}yxwwxx{{z{{yyxy{yzzyxyyy{{|}~}|zzyxxwuvuv{~€€}†ˆ…€€€~~}{{yyyyxwxzzxyywwxy{{{{yvwxwz||}~~}zzxxzwwvvw|~€~ŽŽ‚€€€€€}}{zyzzxxwxxxuuvvvw{{|zzyuuvwz|{}~}{yxwxyywxy}~~~Œ‹†~„………†ƒ|zywxxvxxwvtrstuvw{||zyx{|zzy{|~~}{yxwxxxy{|ˆ€}|‚€ƒ„ˆˆˆˆŠˆ~zxx~€„…‡ˆ‡†…ƒ€vuwyy{yyz||z{z{}~~~}{yxyzz{}€ˆ€|{…†††……‡zv~ŽŒŽtvywzyy{zyyy{}~~zvwyz|~~~{x‚ƒ‚‚‚‚‚‚zvƒŠƒ…††‡†ˆ‹…vuxyyyz{zyxxz}~~|wstvx{~}€ƒƒƒ„†„€‚€€{x„†‚€‚ƒ‚„†„†‰†{uwyxy{{yxxy{|}zzyvqpqqoss{‡ŠŠŠŠ‹Š‹Š‚‚€}}…‰ˆ…‡†…††€‰…}zyyz|}|{{{zxtpiopsssqojhj~†„‚ƒˆŠ‰‰‰ƒƒ„…ƒƒƒƒƒ„ƒƒƒ€€…‰ˆ…‰‰ˆ‡€€‰†~€€ƒ‚‚‚‚‚}yuvxyzyzyxxxyƒ…„ƒ„„‡ˆ…‰ˆ‡‡‡ˆ‰ˆ‰Šˆˆˆˆ‡„…ˆ‡„‡‰ˆˆ‡€‰ˆ„‚ƒ„„ƒƒ‚ƒ„„…†……‚€€€€‚‚‚†Š‹Šˆ„ˆ†„ˆ‰‰ˆˆˆˆ‰ŠŠŠŠ‰‡……‡……†‡‡†…†„ƒˆ‹Š„ƒƒ„……„ƒ‚‚‚ƒƒ…†‡†……‚ƒ‡Š‹†…‰ŠŠ‡ˆ‰‰‰ˆ‡‡ˆ‰‰‰ŠŠˆ…‰Ž‹‹‹‹ŠŠ‹‹‹‹‘‰ƒƒƒ„ƒƒƒƒƒ„†ˆˆ‡…ƒ{{‚‡Š‰‡ˆŠˆˆ‡‡‰‰‰‰‰ˆ†‡ˆ‰‰Š‰‡ŽŒ‹ŠŠŠŠŠŠ‹‹‹ŽŠ„†…„ƒ‚ƒƒ‚‚‚€€€ƒ…‡ˆ‰~ƒˆ‰‰ˆ‡‡†††‡ŠŠ‰‰Š‰†‡‡‡ˆ‰‰ˆ‹…„‰‰‰‰ˆ‡‡ˆ‰ˆ€‰†‡ˆˆ†‚‚€‚€€€€‚„‡‡††‡‰‡‡ŒŠˆ‡‡‰ˆ‰‰‰ŠŠ‰‡‡‡‡ˆ‰ˆ‡€„†………„…„‡ˆƒ†ŠŠŒŒŠˆ…‚€€€‚‚‚‚€€‚„……}zy||ywwzƒˆˆŠŠŠ‹‰††…†ˆ‡…ƒ‚ƒ‚€ƒƒƒƒ‹’“””””•–––“ˆ„ƒ‚‚ƒƒ‚‚‚€……{wrqrrqrr€†‡‰ŠŠ‹‹‰‡††‡†ƒ…†……ƒ‚‚ƒ„†‹‹ŠŠ‹ŠŠˆ‰ˆ‰‹ˆ†ƒ‚‚ƒ‚‚ƒƒ‚€ƒ‚‚‚~}|}}ƒ‡‰‰Š‹‹‰‡†…„‚„‡ˆ†„‚€‡ˆ~zy}‡‰‡{zy‰Šˆ‡„ƒ‚‚€‚‚‚€yz|~}€€€||†ˆ‰Š‹‹‹Š‡…ƒ‚ƒ„„„ƒ„‰ˆ€~~Š‹ˆ||}‡‹‰‰ˆ†„€€‚‚‚wrrvvtx}€€|}}~ƒ‡ˆ‰ŠŠ‹‹‰†‚‚‚…‡…ƒŠ‡‰ŠŠŠ‹‹ŠˆˆŠ‰‰‹Š‰‰‰ˆ†ƒ€€‚‚wqqstw}}|}~{~}}„ˆˆ‰Š‹‹‹ˆ„‚ƒ‚‚‚„†††Š…‡‰ˆˆ‰ŠŒŠ‚‚ˆˆ‰‹‰‰ˆ‰ˆ‡ƒ‚€‚‚wqrsx…€~v~~|†‰‰‰Š‹‹Š…‚‚ƒ‚‚ƒ†ˆ‰Š………………‡ˆ„|}„…‡‹‡ˆ‰‰ˆ‰‡…ƒ‚€‚{vvv|ƒ€€oz€~|‚‡‰ˆ‰‹‹‹‡€†…ƒƒƒƒƒˆŽŒ‹‹Œ‹‹‹Œ‹‹Ž‘Ž„…ˆ‰‰‰ˆˆ‡„‚€~}~€~hm|}{~ƒˆ‰‰ŠŠŠ‡‚‚…„ƒƒƒƒƒ‰“–•••••••––•–––‘†‡ˆ‰‰‰ˆ‰ˆ‡„ƒƒ€€€€jiq{}~…ˆ‰ŠŠ‰‡„„„ƒƒ„„ƒ„‹‘’’’‘‘‘‘’’“’’’ˆ††ˆ‰‰ˆˆˆˆ‰‡ƒ‚ƒ‚‚‚‚‚‚ƒkkkx€~}ˆŠ‰ŠŠŠ‰ˆˆ†……†……Œ‡„ŠŽŽŽŽŽŽŽŽ‰‰‰ŠŠ„€€„‡‡‡††‡†‡nmlt}}„‰ŠŠŠŠŠŠŠˆ……††…‰|€‰‹Š‰ˆŒ‘““’“”••”•“““ˆˆˆˆ…€‚„„„„„„„„olimx€~|€†ŠŠŠŠŠŠŠ‰‡†††„†‚~…‡……„‰‘ŽŒŒŠ‹Š‹‹ŒŒ‹ˆˆˆ……‚€€kkhikz€}}ƒ‰ŠŠŠŠ‹‹‹‰‡†…„……„‚ƒ„ƒ‚ƒ‰ŠŠ‰‰‰‰‡‰‹‹Š‹‹‹Š‰ˆˆ‡†…„„ƒ€ƒ‚nmihet€~|†ŠŠŠŠŠ‹‹Šˆ†„ƒ„……ƒƒ‚‚‰‰‰‰‰‰‰ˆŠ‹‹‹‹‹‹Šˆˆˆˆ‰ˆˆˆ†…ƒ€€‚ƒljgfgl{€~}€‡ŠŠŠŠ‹‹‹Š‰†ƒ‚„„ƒ‚„„ˆŠŠ†‡‰ŠŠŠŠŠˆˆŠ‹Šˆˆˆˆˆ‰ˆˆ‰ˆ…ƒ€€fggghhp~€~}‚‰ŠŠŠ‹‹Š‹Š‡ƒ‚‚‚ƒ„‚‚‡ˆ‹Š‚‚‰ŠŠŠ‰ˆ‡‡‡ˆŠˆˆ†„†‰ˆˆ‰‰‰†ƒhhgfghhu€}ˆŠŠŠ‹‹ŠŒŠˆ„‚‚€€ƒƒƒ†‡ˆ‡††ˆˆˆ‰‡‡‡‡††ˆ‡‡†„‡‰‰ˆˆˆ‰ˆ†ƒ€jhgdgihr€…Š‹ŠŠŠŠ‹‹‰…€€‚„†‡‡ˆ‰ˆ‰‰‰ˆ‰‰Š‹Œ‹Š‰‰ˆ…ƒ†‰‰ˆˆˆˆˆ‰‡„‚jhgeijhn}€}€ˆŒŒŠ‹‹‹Œ†ƒ„ƒ‚„‡‹Ž‘‘‘“””””“’“‘ˆ‚ƒˆŠˆˆ‰‰ˆˆˆ‡„jjjhihhlu€}ƒŠŒ‹ŠŠŠ‹Œ‡‚„…††ƒ†‘“————˜——˜———˜˜™˜˜††ˆŠ‰‰‰‰‰ˆˆˆ‡mljinkhjr~‚~‡ŠŠŠŠ‰‰Š‡‚‚‚‚ƒ„†”–––”““’’‘‘‘‘‘“‘‰‰‰ŠŠ‰‰‰‰ˆˆ‰‰lmnoqpmps|€~}~‚‰Š‰‰‹‰Šˆ„ƒƒ‚‚‚‚ˆŒŒ‹‹‹ŠŠ‰‰‰‰Š‰ˆ‰Š‹‰ˆ‰ˆ‰ŠŠ‰‰‰‰‰ˆ{zzzzzzz{zz{{zzzzzzyyyyyyyyz|‚„ƒƒƒ„††‡‡‡††ˆ‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzyzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒƒ‚‚€zzzzyzzzzzzzyyyyzzzzzzz{{{{z{€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zz{{zzzzzyyyzyyz{|}~}|||~€‚„„„„……†„…‡‡†……„„ƒ„…†‡ˆ†…„‚‚‚€€{‚~|}~|zyzzzzzzzzz{}}~}~ƒ‚ƒ„…„„……††††††………„„…†‡†††„ƒ‚‚‚€‚~€€~|{yzzz|zy{||}€€€€€‚„…ƒ„„……„„„„…†††„…†………„…†††††„ƒ‚‚ƒ~€~}|{zzz}|{€ƒƒ‚‚€‚ƒ…†…†……………„„„…†…„……„„………†††……„ƒ~€€€€€~~|{}€…††…„„ƒƒ„ƒ„…‡‡†††…………ƒ„…††…„„„„„„„††‡†…„ƒ‚‚€‚‚~}€€€€€ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡††††…„……………„……„„ƒƒƒ„†††ˆ†…ƒ‚€‚‚}~€€€‚‚…†‡†‡‡†‡†…„„„„…‡‡†…††„„……………†………ƒƒƒƒ„†…†‰‡…ƒ€€‚ƒzyy€‚‚‚‚ƒ††‡‡‡…†††……„…‡‡‡ˆˆ†…………„…………………„„„ƒƒ…††††…„ƒ€€‚ƒ~}€€€€€‚†‡‡‡‡‡†††††††ˆˆˆˆ‰†…„„„„„„††‡††„„„„…††ˆ‡„ƒ‚‚‚‚‚‚ƒ„„ˆ…{zz{|~…ˆˆ‡„‚€€€€‚ƒ†ˆˆ†……ƒ„„…†‡ˆ‰‡…„„„ƒ„‡‡‡‡ƒ‚‚‚‚ƒ…†‰†„‚~}~~ƒ†‰„~|}}€€~||}„‡‡…„„ƒ„„††ˆˆˆ†…„ƒ‚ƒ„†ˆ‡†ƒƒ‚ƒ‚‚„„‡‡ƒ‚€€€€€†ˆƒ}|||~|{|}}€‡‡…ƒ…„„„…‡‡ˆ†…„„ƒ„……‡‡…ƒ€‚„†‡†ˆ‡…ƒ‚‚‚‚„‡‡|}|zz|yx|~|}††…„……„„…‡†‡‡…ƒƒ„„‚€~}~’ž ¡ ¢¢¡ ƒ‚€€‚‚ƒƒƒ‚‚„†„~{~|xzwx€|}„„„ƒƒƒƒ„…ˆ‡††ƒ}}||zz{||||…‰†„ƒ‚€€€‚‚‚ƒ„ƒ}{~…}xyxzƒ„}|€„ƒ‚€€„„„„†€€~~~€ˆ~{{||zyxx~~}}}}}}|~€|{}|z||}……||ƒ€€€€€€€€€ƒŠ„ƒ„„€€Š}{|zzzz{}~}|||||~~}}~}}~~~‚‚}|}‚€€€€~ƒ„‰””„ˆyz€{z{|{{{}~}}|}}€||}}||}}}}}}|{~‚€€€€€€€€‡³¶•Œyy}}y|}||}{||~~€~~~}}|}~}}|||}}||}€~€€€€€€€‚€~€–›”–‹ˆ‹Ž‘’“}}}}}€€~}}}‹ˆ~~}}~~}}}‡Œ~~~‚‚€€€“¨¯³­©®±³´³€~}}}€€€~}~€‡‡€€€}~€~|||{|}‚‚‚€¡ÇÊÍËÇÊÎÐÐ΀~}}~~€€€~€‚ƒ‚‚„„€|yyyxwxxwwwy}€€‚‚‚‰š¥»ÅÏÐÒÒÓÑσ}}~}~~€€€ƒ„~{{|~€ƒ|||||~€€€€€‚‚€¦‚~‡‘•˜—“„ƒ€~}}}}~€€€€~}~‚€€~||}~{z|}~~~||~€€€‚€Œ¼´›‹†’ˆ‚€‡„‚€~}}}|}€€€€€…ˆˆˆ…}|~€}yxy|€€~{{|}€€‚‚€Š¾ÑÏÅÀƼ™ˆ‰ “‰‚€~}}}}~€€‚ƒƒ…‡ˆˆ„}|}~|zwx{€~{||}~~~€€‡½ÎÎÍĹ¢—–„„ƒ‚€~}}}}~€€‚‚‚‚‚~}||||{{zz}‚‚|{|{}~~~~~€„¹ÏÐͬŒ~‚‚…„ƒƒ‚€~}}}}}€€€€€€€€€}|||}|||||~ƒƒ~}|{~~}}~~~~€­È½ÀŽ~€‡‰‰Š‚‚‚‚‚~}}~}}€€€€€|zz{}||||{{|{zyx{~~~}}~}~€Œ–‹”ƒ‚‚{}‚‹‚‚€~~~}}‚|xvvwvwwwvuvwvuux€}|}}~~€€‚‚ƒ‚‚}{ˆ‡‚ƒ~~}}€€€€€|yywvwwwwwvxxxxxz~~~~~~}~~}~€€€€€}}‚ƒƒƒ€~~~}~~€€€€~{~|xxyyyyyyzzyxyzzyyzz|~~}~~€€~~~‚ƒ‚‚ƒ~~~}}|}€€€~|‚…ƒ}{||{zyxxyxyzz{|zzyz}~~€‚€€€€€€€€ƒ€|€‚‚ƒƒ‚~}~~}||}€€€€ƒ„„€~€€}{{z{||}}}}||{{|~€‚‚‚‚‚‚‚‚‚‚~z|}€‚‚€~~~~~}}|~€€€€€€ƒ…ƒ}|||||{||{zzzz{{|~‚‚‚‚‚‚‚~yyzƒ“ˆ‚~~~~}}}}€€€~}€€ƒ„}||~|{{{zzzz{{{{}~~~~€€€‚‚‚€~yxy}„‰…‚~~}}}||}€€€€‚€}{{{zzyzz||{z{}}~~€‚‚‚€~zxx{‚‚ƒ~}}}|||}€€€€€€€‚€}|~€{zzz{{{{zz{}}€€~~~zxwxz€ƒ‚‚~}}}}|||~€€‚€€ƒ€}}~}~{{{{|{|{{{|}~€~~~~~~‚‚~zvyzzƒ‚‚€~}}}||||~€€‚€}}}||{||{{||||}}}~€€~}~~~~€‚~|x{{{~‚‚‚||}}{|||€€€€€€~}||{{zyyyxxxxwvvxyy~€~~~~~~~~€~||}~}€‚‚‚~}}}}|||€€€€€€€~{wwvutttuuutuuuuutuy€~~~~~~}~ƒ‚„„‚‚‚‚…„‚€~~~~~}~‚‚~ywwwwyxxzzzxz{zzzyyx~~~~~ˆ‰‰ˆ‡…„……ƒ‚™Ž~~~~}}}~‚‚€~z{{{|}}|}}~}}}}}~~€€~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÍÎÎÍÍÎÌËÌÌÌÌËÌÌËËËÌÍÌËËËÌÌÍÎÌǽ±¬Ÿž‘|qgjwjihmlrcgbV]a[\c\TZ`^_VPOTZX^e`cSTWVUVTTYTPV^^ZXTLC<8<:521@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÎÎÎÎÎÎÎÍÍÎÌÌÍÌËÌÌÌËËÌÌËÊÊÌÌÌËËËÌÌÎÏÏÇ´™¡•u€x€q]^^pzl[_ljh[YZ[_XWTO^g_[ROOQXV\fffOU\`ZQPLRRW^a[VPMI@?75532086ÍÍÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÇËËËÌËÌÍÍÍÍÌÌÌÌËËÌÌËËËËÌÌÌÌÌÌÌÌÍÍÍÍÎÍÍÁ¦‰‡pllmkjlot}y_a`ddZ[[ZZ\QRV\bYZYVSRTSVYdcPQX\ULNNRR\b_aYQFA?<852210/1ÍÍÍÎÎÍÎÍÍÍÌÌÌÌÍÇÂÅÁÊÌËÊËÉÊÊÊÊÉÈÈÉÉÉÉÉÊÊËÊËÌÌÌÌÌÌÍÌÍÍÍÌÍÍÍ̵˜’ymrwzs|edb]fY`ccZZWU_WRYdcRPSVWSNLVOWgQNTWYPLRPPX`^_TTTMH@<85320--ÍÍÍÍÌÍÌÌÍÌËÌÍÍÎÈÀÁÀËÎÎÍÎÍÍÍÍÍÌÊÉÊÊÊÊÉÈÈÊÉÉÉÊÉÊÉÈÉÆÈÉÉÊËÊÊ̾’‚‚€rbk{lcg`_`ViaWWTSM\_]_qlYOOT\TMISRQYTYZWUNOQU[_WVYPPYNJ>>@<52/,,ËËÌÌÌÍÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÎÎÎÎÏÎÍÍÎÎÍÌÌÌÌËÊÊËËÌËÊÊÆÈÊÊËÌËÇÅä‹xxmi_jnmb_`]X\`UR[RRQZefegcgUPVZRPRTRQWRY\`URTQY[\VXSSPPPI>?=7651.3ÌÍÍÍÎÎÎÍÎÎÎÍÍÍÎûƼÇÏÍÎÎÎÎÎÎÎÏÎÍÌÍÌÍÎÍÌÌËÉÉËÍÎÌËÇÄÉÊËÍÎÌÇÃÀ³›y|nbURb\Z\`_]b]VTQKMUY_ach_[SOOPNKTQRO^LTUZ[W[Y]ZZUQQSNRKEC?B;521/4ÏÎÍÎÎÎÎÍÎÎÎÍÍÍÎþÌÁÅÎÍÍÍÍÍÍÌÍÍÍÍÌÌÌÍÎÍÌÌËÉÉÉËÈÄÂÃÁÆÆÈËÌÉÁ½º¨Œ|oTSRQMUVmndab\YMC?LWP[``]VSQJLKHKHPKXNQTUVVZZZ[]WRPSMWNCHA@=3/.--ÏÎÍÍÍÍÍÍÍÎÍÍÍÍÍþÊÂÃÍÌÌÌÌÌÍÌÍÍÍÎÌÌÍÍÎÎÍËÊÇÇÅÈÀ½¹Á¼Á½ÄÊÈû¬¡¥Š~wu_UYYWgh]mee\UUQQUTbTOZ]ROVWRKIFOPQYXQPWZUTWWUOOZURVQWW?56210.--,ÎÎÓÙ×ÐÌÌÌÉÈÉÉÊ˾ÈÀÀÌÍÍÌÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎËÄÁÁ¾Â»¸¬¿·¿¶¾Æ¿¼´¤‡…r‰wc\_[\eiVn\TZSMST\ZVNPSWRQRUXLKKSRRYf]NVXVVTTYQK\YY\\LC=7630-.,,-ÎÛêðíäÓÊÉÁ¼½ÀÄÇÀ¾ÆÀ¿ÊËËËÌÌÍÌÌÌÌÌÌÌÍÌÌÌÌËÅÀº³½¸° ¹²¾´³¾³º²—ƒ{|mhfbbaT[aYTdYSZ\OSSW\TUTNMMKKLSXVPSOQPbZMY\XRLMYXPVXQLJA8=<:72.-,,.ÜîÙÄÍèè̽¶°¯µ¸¿ÁÂÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÄÃÀ±ª¨¬¯¤œ©¬·¯±µªªž€twskiQ`dZXcXP]h]Y^XKPRR[``TQLLKMRMTVJPTNR[^X`\SOKLYWQXPQWJBC>;;961//.-îÍ~lt¬éÙµ¯­­³±¾ÃÅËÈÃÊÍÌÌËËÊÆÉÌËËÊÉÉÆÀ¼½² ™š££˜”¡ª«¬¬§£˜‚slifjn\UXVa_VW\XZ`VSWTSST_WQTNNSURSUWQPXQRX`Y^WXZW[_SRYWTP@?E;87765200/è‘tuq‘Íé·¬ª®±²ÀÀÄÉÇÁÊÍÍÍËËžÈÌËÊÊƾµ®®°·¬ž•˜™–¡±¬¬Ÿ˜™ŽvieeUf_RLHOX`YRS^g\an^]a]SVNPPOOQVRTSTXR[OO_^]hZa]hf^RPLMJK@=@8755553.02φŠ‚w‡Áé¿©©¯¯´»¶ÀÇƾÇÌËËÊÇÀµÅÌËÇÁ¸¦žš˜  ™™–‡‘—‘ž¬«ž‘‘„ucbgY\TPSSQX^_\gl^OU_MVpoZQOIMMJFJMLNNMPZUX^TRXX^g[ZUNILFEECH@8544442/16§˜œ†½éÄ¢¦°±µµ²½ÇÅ·¿ÉÇÊÊȾ³ÃÊȽ°¤™œŸ”•’‰ŠŒ‘“‹Š“™ŽŠ‰‰‚|tsoaXTX\YOW\TU\g\QP]gg`^\RRKIJGIHGEFNLS^[V[VO\iffV]SMVSHJ@@B:754333338=~‚‚}ƒÀçÞÍű®®««¹Åº©®´´»µÅ¼°¼Ãµ¨žŸ˜š¡““†€ƒ‡ˆ€~ˆ‹ƒ‚€ƒ€xvo`VVTU\ZTYTSYePPO^ecRQ[XSLJLIJIFKJIQT[`RYQQkrce_a]U\YSSH<;;96443365;@ÊÍÃœtÁåíîæÇƧ  ©«ŸŸž ¡ ¦¶®¤¡§šš˜¡™™”†ƒ„ƒxƒ‰ˆ„€{|{|tqpidYPYeYQURU^XOX[]^XQRQRQMKOPKNRQFCKNT^PQM^```ZfhZPT^ZFSE=<<955549:<=Ô×Ï—l‡Áåëäáåî´ž¢­ šœŸ£§£¡¢£ ”““œ™Ÿ›’˜Š‹†‡ƒ}xˆ…y{wxphheZUWRX^XT\Z\ZWZYZ]ZUPKUSNLOJBCFFA@EHHQJRRY\aY`lY^PZ^YIDC@><856669==LURRTTO\dce\SXX]ZR[VSSF<98;;79:9:>>>LMNMPTqÆïíçȵ¦–“—”–’‘”¤¨~yz}€}y{€}}}y|{…„€|~{|tqvzysnkf\SMKXW[RVX[[WIX_[]XY_WKMUONKMONPSTYWZmc[[ZZVYXQVJLJ>863`~:7888;BECEQPU~m”™®êãÍnLJGHRJHFGIGi”|{z}y|‚~w~}{|~zz{|~€{xwomwxzqh``TRSE@NVUVZZOKIVX[\UZc_TMLIKONMJHJNWXZ\_Z^VURWNKMHA<8677Q~=789:<;@LOXaZTXZRWZNKE;:998673‡áQ38:;EHJ\hXTYW\[RFB@:7888785ƒßR2:;>BFFCQìíçª[JAuãΰ› ¤¤¨¬­°±°¯«©³Ä×°|~z‹Ÿtkf^XUW`k¡c`_YXUVTK_vlhgcc[enbZMPZXTQTZW`XV[cYOIBA@ACA??DIC>K[kk^LQdQG@:;97;;:9<7zÚY5><>DIIBVòæÞ XLF\©ÇÕÓÔÕØÛÛÜÜÚÙÙÕÓ×ÎŽ|{ˆkEMS\dlbDFQSG=;@gqpnhT@]iikf`\\Y\ZNNVTMOT][YX[][TULF?AGIB>CRPIT[^h‹mQVXLA;8769>BA>>8~æg4;9NUNejiu†i[]RI@=<;>CHE?;?@‰ðNUVY[_gsurrcuPGIY¡ÖÜæëëçÎÊÛÞÎÏåêçßØÆ‚{|pCX˜¯±³µ²¦š…hkpTPOH3234TPPfbm_SV^YX\UPSPSQ[\Zd^UVQOJIHCFKFCGNNTijispcbkiWOLLPVQYbv…Ž–£±¡œš™™š›™˜ˆ‡uZIHDS£Úâëéèá®­ÏÒ²®ÛèäâÝÓ†|{ƒX\Hzª£˜‰}žÀ†ˆ§ZMOLL?45HpEYZhcUNW[`ZXRMNVTYb^aYPOUQME@=HU\U[fhmcZXY_bdjlknf^gwu•’ˆ€yssqkjiiigffNLLF844J‘ÛãçêêëçãçéáâèèéçèÖƒ|{‚Or;:FB=8FJUeegaQLIem\67BSWd`a`UXYYTROOMSZZTWXTMQYSQU\XqrakwjZTW\]]`fgl~„‚~‚Œ“XZXVSRQNLKKKJIHHLgglqY-/D{ØïîïîîïîîìëììíìíñÍ|w|xZs347:<:JNLJKKJMJFgx_<=Œ§rMc_a^[ZUVSW]]UTYXTQPU_ZY]fx…‹‚bdqhSRY[[Z\eiku~{xytqsD[dilryi>9877879IxxwwpVX`wµÖÖÖØÛØÖ×Ø××ÙÚÚÛÚ¶ˆ‡‚hod15;t„MFNJIIJLMLE[wcC6EjJhnqppplryˆŒ‡‡‰ŽŒ‹’²—ƒ|x|{mbmmbW\_]][_gehqfc`bciŒ]sžŸ¥§«¯­d>779DGJSqoonosvwy{€ƒ……„†‡‡………„ƒ€~…“ŒX‚V37A‚—rIE:77:JNMEVv„N52?’Xaqrtuwyxwuuvwww{}{ˆ—ª³´ª™Œvmkllmlhd`]]][Z_^ZZ[\\f’Wv¬£šŽˆ€cN?8?MXZYomkkkmnpsuttssrtwy{}~}}}|{yvsYG>BN‡”ŸVC7235>B>>p¡“K523tQihjllnpttuuuutqqqqppqu~Œ™¤­¬¨Ÿshhfdb`\ZWZXVWXXVvWPLS>:76C`]LAHNW\Wsokijjjkmnqsrpooopruxyz{|~}zsxbEKLHl†lOLF===;867b›‚B961k‘Hhg_^cdeggilpsuuurqpnmnonnptz…™®½º¤Œwkggggc_\ZYWTV~YBJB4898Mn^E?DZ^[IxupmkjjjjlnoppqpopopqrtvwojptogI_Sfx{TFGIJKJMHLY…•qD;<4a‘@hV==Fddcbcdfimqsuvusrpmmoooonlnz©º»°‡ukhhfb`_Yb¡kV9J<47?=>L?332HZU;wvtsoljihhjlnnoooqqrqrps_<:6GfcJ:54445997utuvtpkhfeehjllmnnopponpO3;:NL>77735<@<9:99895685:AACE::;AH414:Qlkifdbaa`^^achmprtvvvtolhgjnomkjjx˜»Ë·†a]Zh‰”KKAFB;X„]=9423445:uuuuutqlhfdegiikmlmmmnmnbE75-?]?:9:9888667766778888778;;=DJ3I\bghklmjgcba``_`bdiloqsttvvsmhgjkmonljr¯—QZck‡AKGJGAKjmEEG@7624=FqrstuuurmhdeddehijjjklllnoiŠp=\>;::98887777766776778779:;>CCkliiffgjlljfcba`aa__bfjmprtvvvtpkggjmnnlilgPZgsƒu9l’^EB?EF?FHFNQHJMLmnpqssrqojfca`acdefgijjkkkn«¨DN9:8877666665666654456667868@Ilnjkhgedehmmkgca`a`^]^adiloqrstttqkfdgjlllfOPQOceSLeH479ADCDJLZkmop_jlnoprqrqnjgca`aabddfhijjkk›˜RH>337665455555;65544455554MhcGSkjlljigdefkookgbbbba_]^`dimnprrtttrjedfikld]hkJf†ua]TGIQSSSUVVWWWVWiklnorrttrpmhcbaabbcdfgiijhƒ‰_jŽ|T1433334347D8554433441h©¥•RCggmmllliecdhmoolifeffdb`_afiloorrstrpjdcfikh—µ}xmslgf\Q]oomljiiiiiifiklnqrtussqmhebabbcbdfhhilsj_•¤²§O11111334723653310//[˜¤›c=bckkklkkjhfcdhlnnlifeddda__ceilooprrsspjddfm†­~j_e^YXWVanb]ZXXXXXYYaehjlmpqrrrqnmiebbaaabdfghlsFF”¦¸§«Y:<98755;aP68=??@TnÇʲƚZFenuuuusrqnjeaacfimkhdabbba_]^`dijmopqsssqkegr£wdTVXWVVVWYWVVVUUVVVV^adfikmnpqqpopmhca````adfgdj@1{ÅÃÑñÈqVZ\~qN¸…DlqcZjŸÀçØ¿½¯¡¥¨¨«««ª©ª©¦£›‹pbbbefhgec`___]\\^_adgkmnoqrqnacŽg\STVWWXXVVVVWVVVVVVV‡[behjlmoqrppqpmgdaa`_`bdg\K:.N´Ùàéô·Œ^]\sz‚ß¼\k`ceœ ¦§Ÿ›–”–”’‹‹‹‹Œ‘•™š™ocbabdfgfb``_]\]][[\^adhjlnnp][{d]TTUXUX[ZZXXWXYXXYZZÇ~\dgijkmorspppolgbb`_``bd`?2.1^{v“¶¢®ogofVœößpgns¡wyuqnlihecaaaaaaaaacefrfcb`_adedba_\\]^\[Z[[\acfiknXSgaY“£zouUZ\\[Z^^]`\^\ÊÄu[dffhklmoqpopokgca`^__a^>.--/13@@FdTWfqw™ÙÇzkm¡yYcejjiiov€š©Œˆ€zvutsqmcwrhgc_`acfecb`_^___^\[Z]_beilSLWZJ¬¾ÉÃéÛqDFGvkJI]ƒqIB¾Í·c[acfijkmrqopqolgb__^^aY5-.147;@HR]kŽ±¾ÈÑáâÒÑÑÁ”hl~ƒ†‡†…„ƒln{ZjŽŒˆ†~{frlkifcaacgggecaabaa`_]\^adgkOGKTDãà×ßîÚjDDLWlƒ¼ôíïîììîïòÎw\‰©·¿ÇËÎÓ›JE<=O¬ÚÙÕÐÒк{a]nkkkiebbdgijhfec`a`a_]]]_beMBCMJ\¦¢ÂÂÎ÷´D?@«­Gžê×ge}¶ÅБX^cfgijkmopppoolga`___:,./28@JXo’²²ïêííííîïç af‹ÜÝÝÝÝÜã‘WheYN¨ãÞÛÓÕÝÖgrPklkkkjhdcbdhjkifca``___^]^aK?AHMPRZw}Ãð¸_QEdá›r°™lÅP‘¼ÉÊvXacghjklnopoqpmkeb``_=-./15:EKUf~›îêæåâàÞÝÌŒVmyáàßÞÞÞßyKWiWK—âßáààáÒRmZ`ljjkkkhebbadgiigda^^__^^]^J>AGKOSWV[w…notqg­ðËÕÑÚçYy¯À͵c[bfgjjlmooopomljea``>00/7?w¾m227Phecb`\X[“…UkV‹”–š £‘LP[†l‡¢ÕÍÀ¯‰o@SkUkijjjjkjheb`bdgigec`^^^^]\L??GINRVX^_\^`emv†¹×âÝÉ¡WY{¹ÃΟ[_ceghjlmnnoonmlidb`<61/4D«ð¡sx… ‰ˆ™›ž¢Ÿ£rYeD9678888=J_¨i|ƒeHA941:G@nPehijjjjkjhfcb`cegiiga_^]\]O?=FILQUV^jrx}‚†•¢­¾¶ª¥PJOŠ¼ÁɉX\acehijlmnonmmlid`;:2//4`‰kNWdliklnprp…¤_a\HE8;:98986D€ZD>47;<<7?H:eV^ghihhijkkjgdb``cfiigd_]\]Q=;FIKPSV]ivz~~—Úæâããææè^SMV˜ºÄÃwT\_adfgilmnmmlllhc;:2-,/17@<;>A8777962yšSdQ;878;975434974666L]K7795QbTgghhhhjjjkjhec``acgiie`^_S97GJLORV]gpmnkšèêäãåæììgYPJb­¿Ê»hZ_adfghjkmnnmllkf:83-,.126;=<>@CEIajg›†OhIJF>LZPCA>5433474Cš«„>;85?lNfhghjihhiiiihfca`_aehifdbT55GKNNQW]ghjpk¤ôñîðññðñlbQLKy¹ÀÏ©`]acefhijlmmmmllh975.,+,--------,6AEŒœtMfHQOILMJILOE333568Mq¦ˆMPOA9aKec\dhjgggghijigdba_adhjhiV15GLPQOU^faVRS`‰œ›˜†kofRLO¼ÂÑ–Z_bdffgijklmmlkb666/:K81-,,+++,D^hm‰‘gESMMGEGIIHFEK?=8;DFPTs_KDFIACFbV†™w`efffgiikihfd`__bgijX.5FJNSpqb`OF,))*-;E;IN;jmu\OLZŸ½ÉÌ‚[abffghijklmj^V24650DKGA995*),Mw”¬’zeB7?=EVXRFD=MRD@8;HQQOH@>=<@>>pÄ_]cV<>?>=@?>=>?qklneSUgˆ¼ÆÓ¾l^ddfghhihghcWB4/.-+''&'()***+2<=I_]]djfVGDDKQRUWXYlmnmhXNOR‘ÃÆÔ­`^abdefgffgd^UC=::<;;;<:9:;==;?HXXq\YXYXXWXXXXXXXYXYZYYYYYYXXXYYZbZA«ÜÒŒaceddccdeffgggda_`T&.:;9>ENUbkqtjjigeefedbnrpondQLKY§ÅËÔ’Y_aceffeefe`\USOPRRRRQRRSUWWX\`BXrZWXWWWWWWXXWXXWWXXXXXXXWXXWXXW^hE‚­«•cbdddcbbdeeeeedeb^P&.625/13575797765221//-nrqrtvfSNJq¾ÇÑÈo\abeffffffda^][Z[ZYVVWXY[^__hatsvZUWVWWWWWXXWXWWWWWVVWVWWWUTQTXW]YZ___^_a`_^`dccddddd_VPD%.57bF-''))&$$%$$#"#$&&mmlijjd[RMOšÅÉÖ¦Z_`cefffffeecba`_][XXYXZ\`cekb‹uxqpl]WXWWXXXXXYYXXXYWSTW[ahkuŒ˜—–žœ›››š ™ˆ‚rrpccba]\TLKC%,52@?;888:744443235888mebceab]RMJg¶ÃÎÐyY`fgeefffffeddcba_[ZYYZ[]`c_dˆ~}Žª°^Z[Z[[\\[[[ZZX{{€ ©®±±´²®«ª©ªª©ª«ª«¯¯±³„`abaa_^]XNE(,4.&'57776534554567777jgggrmibRKLN‹ÁÆÔ´`^cdcdeeffgfffeddb^\ZZYZ[]`Xfzx½éÜɆ[_```aacccc_s‡ ±¬§ œ—“Œ‰ˆ„€}|{||}}†ŽŒ^keaaa`__TF.-2-,12**)('&''(('&&'''mmfgomqiSKLKZªÂÉÒ—a_acddeefgggggffda^\ZYZZ\_UdhafÓàÙåÑugkmnprttu€z–xƒŠ„}vmf`\YUTQNNNNNNMNNPST[]so_a``_]XQ?1+)*-,&&&(())(((''''''irjgnosqeZNLJv¸ÁÐËs\acddefggghhhgffda][ZZZ[^S_VOOÂä°ßï—hsstuvwx{~y‹mYUQLIHGILNOP^`MKIIHGEDEDDCCIba```_]YWRHA>>>@CFJPTUTSQNIFEEEEtwmkqpolnoXKKP”ÀÅÖ°`acddfggghhhhhggfc`]\Z[[]RSKKKhrÍêŽtŽ–Ÿ¦®²¸ÀÄ›sMDCBCDBB@?=<;::87898777999998D_``a__][XVTSRRSSTTX^bdca^[USRRRrqkgmnhfijcLKJa¯ÁÉÕ‹]cddfhhhhiihhiigfc`^\[[]SHIKKNPWwŽ{ªÊ°¦¥§ª«ºÒ«]::99988889;=;7489::866777667;>;<854555555??E]aa`````_^^^^^]\[YYZ`dghgd`\\[hchfdiqsosr^LKZhš¿ÄÕ®cbcefhiiihijjkjigfb_]]^UCKJGMQV_iÚ”8A??@;\Ã;@:?A?>==@>9S›o=>E;:534444444238;9946=9423447953;TGE<5433>?@Xbaaaaacbbbaabcdc`][Z]aejkkjfy~qlkifijniaOJMLM”¾ÀÔ±\\`bccdffhhiiiihgea_^Q6AIDHNV_m¿­Q¤óîìëЇ<@9114M^C0375101124669LTHJHC;418A25BGO:5529bccbbbbcbbbbba_\Z[_ejlknurmkmnmfhkiiTJJMM–ÇÇÔºa^_adeefffgghggffebT39AGS¾éÈjPg{H>BBL|pCJGPCXf`VSI:16<9>4-*-2Fcccbabbcbbcaaba`\Z[afjmoqmlnqsqliklgTLJLJi¼ÇÍ×_defghggffggggfffcV-4=:877668=A@:DJH@BBA8:;8=UyVacbcbabccbbbaaabb`][\alklnrtsqrkkmljoeOIKLO”ÈÉÔÀkceegihgffggggffe`R)27BEHO[ai{r4>d6::><4BF;88754456:@A>==@9654433689=JJHD<8GÈóêœ`_aaaaccbbbbababbb`]Z\jquroqqlnijifjr`JJKLKd¹ÉÌÕšaeefhhgfggggfff`TG(237::99;@BB?>@>=<<<===>>>??=7TX/s³°c^_aaabbbabaaaabcca_\Zqwtojiklmiilvste_YLKMQŠÉÉÐËvbfghhggfefeec`[RI*2104.,*-5>?@CEFHJRTRRSUUVWYZY\^^][[i^n†DDXX[`__a``bbaa``aaaab``_][hhjhaabhiqyxsunjmdQKMQ]³ÉÈÖªdffhigggefeedccZL,1039/779CGIIKX¨vIŠsJ?OY^adfjlnonnoponnmllkjjjjkkjnugn„wJU^`aa`abbcca````aaaa```_^rmmnltorirqttt{}j[SJKLL}ÆÄÎÔˆbeefeeedeedeed`M10.-*..-++,..2JiœgOŒ†sZqrpmkhec`^\[[ZYWVVVUUUUUVUUV[_Z^ftuY\`_aabbbcbaa```aaaa``aa`{‚xu{wihowvxypd\QJKKKS£ÈÆ×½f`acdddddddecb^T?/)+++#"""###,J\“ea†yl^__XURROMLLKJJIHHGFFFGGHHGFGILKKNMQlob__^_a_`abaabaaaaaa``aaaƒ|u~xsqiltmhgnhbbbTJKK]c€½ÃËØŽ\aaccdedddcba^YQ8/01211100/.8LQ~tjmYTMJNLIFFDCCBA@@@????>?>>?????ABABABEPis^``acbacdcbbaaabbbaaaaa}xwxrnq``hqyrjjcXKKJU]\œÂÂÖ¿f^`bbcedddcbb_ZWNIGGHJJHIKJICNby„lWEFDA@BA@?===<;;::9999::::::9::;<<==>>DHha_aaeiifedddbbbccbaaaaa‡††††‡‡‡†…†‡‡†††‡‡‡‡ˆˆˆ‡ˆˆ‡‡…„‚|xutttxyxxzzy{{zwuxxz{{zyz{~€€€††……†††††…†††………††††‡††††††…†‚|xuuuvuvyxxyxz{zywtvvy{zxwy|~€€€……………†††††…†………†††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyywwy{~~€€€…………†††…††…††……………………„……„………„‚€}yyyxwy|{yxxz{{{ywvvxyxxzz{~~€€†…………„……†……††……………………ƒƒƒƒ„„„ƒ~|yxwyz|zzz{{{{zzvvxyxyzzz|~€„‚ƒƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚‚€~}zywyz{zz{}||zyywvxz{z{x{~€€€‚ƒ„…ƒ‚ƒ„……………„…††„„…‚€€€€€€€}~~~{zzwwwyzz{||{zzxwwwxxyzx{~~€€€ƒ††‚‚ƒ„…††……‚„„„‚~}~€~}z|~|zyxwxwwy{|}||{yxyxwuvxyy|~~€€€‚…„€‚ƒ„…††„‚ƒ€}zz{{{||}}}||yz}zzzxxyxyzz||}}|zwyyvuuwwx|€€€€‚…„€~€‚ƒ}yxwwxx{{z{{yyxy{yzzyxyyz{{|}~}|zzyxxwuvuv{~€€}†ˆ†€€€~~}{{yyyyxwwzzxyywwxy{{{{yvwxwz||}~~|zzxxzwwvvw|~€~Ž„€€€~}}{zyzzxxwxxxuuvvvw{{|zzyuuvwz|{}~}{yxwwyywxy}~~~Œ‹‰‡~€…†…„„„}zyvxxwxwvutrstuvw{||zyx{{zzy{|~~}{yxwxxxxz|ˆ}|‚ƒƒˆˆˆˆŠ‰zxvx|~‚‚‚‚‚€~}vuwyy{yyz||z{z{}~~~}{yxyz{{}~€ˆ€}{~€‚€„†††…„†ƒ{wzˆŽ‘ƒtvywzyy{zyyy{}~~zvwyz|~~€~{y‚ƒ‚‚‚{u}Œˆ‚‚†††‡‡‡‹‰wtxyyyz{zyxxz}~~|wstvx{~~~€€€€€{€~€}u€‡ƒƒ„†…†ˆˆ}uwyxy{{yxxy{|}zzyvqpqqorsv‡ˆ‰‰‰ŠŠŠ‚‚~~zƒˆ‡…††„…†‚€ˆ†yyyz|}|{{{zxtpiopsssqojhhq†ˆ††ˆŠ‰Š‰‚ƒ„…ƒƒƒƒƒƒƒ‚‚€„‰Šƒ„ˆˆ‡‡‚~‡‡‚~€€ƒ‚‚‚ƒ‚}yuvxyzyzyxxxw|…‚ƒ‡Šˆ‡ˆ‡‡‡ˆˆ‰‰Šˆˆˆˆ‡„…ˆˆƒ…‰‰‰ˆ‚}‡‰„ƒ„„ƒƒ‚ƒ„„…†……‚€€€€‚‚‚„ˆ‰‰ˆ„…ˆ……‰‰ˆˆˆˆ‰ŠŠŠŠ‰ˆ†„…………†‡††…„€†Šˆ„‚„„……„ƒ‚‚‚‚ƒ…†‡†……‚€€‚…ˆŒŠ††ˆŠ††‰‰‰ˆ‡‡ˆ‰‰‰ŠŠˆ…‡ŒŒŠ‰ŠŠŠ‰‰ŠŠŠŒ‹„„ƒ„ƒƒƒƒƒ€€„†ˆˆ†…„{€†ˆŠ‰…Š‹Š‰ˆ‰‰‰ŠŠˆ†‡ˆ‰‰Š‰‡‹ŽŽŒ‹‹‹‹‹‹‹ŒŒ………„‚‚ƒƒ‚‚‚€€€ƒ…‡ˆ‰{†ˆ‰‡‡‡‡………ŠŠ‰‰Š‰†‡‡‡ˆ‰‰ˆŒ‰†ŠŠ‰‰ˆˆˆ‰‰‰…€‰‡ˆˆˆ†ƒ‚€‚€€€€‚„‡ˆ„…‡‰‰ˆŠŠŠ‰ˆ‰ˆ‰‰‰ŠŠ‰‡‡‡‡ˆ‰ˆˆ‚~„‡†‡†…††…††‡ˆŠ‹‰†„€€‚‚‚‚€€‚„†‡„„‚€„†‚~~~ƒˆˆŠ‹Š‹‰††…†ˆˆ…„‚ƒƒƒƒ†‹ŠŽ‘‘‘‘‰„ƒ‚‚ƒƒ‚‚‚€€„†zwsqrsrqq€†‡‰ŠŠ‹‹‰‡†…‡‡„„…„„ƒ‚‚‚„„‹“”“’‘‘’’ˆ†ƒ‚‚ƒ‚‚ƒƒ‚€€ƒ…ƒ€zwxwwxy}ƒ‡‰‰Š‹‹‰‡†……ƒ„‡ˆ‡…‚€‚…Š…€~……†~~€‰‹ˆ‡„ƒ‚‚€‚‚‚~€€€€€||†ˆˆŠ‹‹‹Š‡…„‚ƒ…†…ƒ€~~…‰xx{†‹‰~xx|…‹‰‰ˆ†ƒ€€‚‚‚‚{tuw|xy|€€}}~ƒ‡ˆ‰ŠŠ‹‹‰†ƒ‚‚~~}|~ˆ‰†ƒƒ…ŠŒŠƒ„…‡Š‹‰ˆ‰ˆ†ƒ€€‚‚‚{rqrtsv{}}~{~}}„ˆˆ‰Š‹‹‹ˆ„‚‚€€€‚‰‡ˆ‹ŠŠŠ‹‹‹ˆ‡‰‰Š‹Š‰‰‰ˆ‡ƒ‚‚‚‚|srrty}}v~|†‰‰‰Š‹‹Š†‚‚‚‚‚‚ƒ…‡Š††‡‡‡‡Š‹‰|…†‡‹Š‰‰‰ˆ‰‡…ƒ‚€‚~tssw„ƒoz€~}‚‡‰ˆ‰‹‹‹ˆ„„ƒ‚ƒ„†ˆŒ‡††††……††ƒ€…‡ˆŒ‡†ˆ‰‰‰ˆˆ‡ƒ‚€‚€{{zz€€~hm{}z~ƒˆ‰‰ŠŠŠ‰‚…†„ƒƒƒ‚†““‘’’’’‘’“’“••”‡„ˆ‰‰‰ˆ‰ˆ‡„‚‚€€€€~jip{}~…ˆ‰ŠŠ‰‡ƒ‚‚ƒƒƒƒƒ‚ˆ•”“””””””•”””’’ˆ…†ˆ‰‰‰ˆˆˆ‰†„‚€€€€€kkkx€~}ˆŠ‰ŠŠˆˆ‡†…„„†…ƒŠŒŽ‘’’‘‘Šˆ‡‡‰‰ˆ‰‰ˆŠ‹†‚……†…„………nmlt}}„‰ŠŠŠŠŠ‰‰‡…„†‡„Š†~‹ŽŒŒ‘’’’’’‘Ž‰ˆ‰Š‡‚€‚††††††††olimx€~}€†Š‰ŠŠŠ‹Š‰‡†…†…‡ƒ||„Šˆˆ†ˆ’““’‘’‘‘‘‘‘‘‘‰ˆ‡†…ƒ€‚kkhikz€}}ƒ‰ŠŠŠŠ‹‹‹‰‡††„…„‚€ƒ……ƒƒ†ŒŽŒ‹Šˆˆ‰‰ŠŠ‹‹Œ‰‰ˆˆ…„‚ƒ‚~€nmihes€~|†ŠŠŠŠŠ‹‹Šˆ‡…ƒ………„‚ƒ‚€†‰ŠŠ‰ŠŠ‡ˆŠ‹‹Œ‹‹‹‰ˆˆˆˆ‡‡†…„‚‚ljgfgl{€~}€‡ŠŠŠŠ‹‹‹Šˆ…ƒƒ„…„‚ƒ‚€€†‰Šˆˆ‰‰‰‰Š‹‹ŠŠ‹‹‰ˆˆ‰ˆ‰ˆˆˆ‡…ƒ€€€fggghiq~€~}‚‰ŠŠŠ‹‹‹‹Š‡„‚„ƒ‚„‚€ƒˆŠŒ†‚ˆŠŠŠŠŠˆ‡ˆŠŠ‰ˆˆ‡†‰ˆˆˆ‰ˆ†ƒ€€hhgfghhu€}ˆŠŠŠ‹‹ŠŒŠ‰„‚ƒƒƒ…ˆ‰Š…†‰ŠŠ‰ˆ‡†‡†ˆ‰‡ˆ„„‡‰ˆˆˆ‰ˆ†‚jhgdgihr€~…Š‹ŠŠŠ‹‹‹‰†‚‚€‚ƒƒ…‡†‡‡†‡ˆˆ‰ˆ‡‡‡†…ˆˆ‡†ƒ„ˆ‰ˆˆˆˆˆ‰†„jhgeijhn}€}€ˆŒŒŠ‹‹Š‹‹‡‚‚ƒ…ˆˆˆŠŠŠ‹‹‹‹‹ŒŽŽ‹‹ˆ‚ˆŠˆˆ‰‰ˆˆˆ‡„jjjhihhlu€~ƒŠŒ‹ŠŠ‹Œˆ‚ƒ…†„ƒ…ŠŽ‘‘’“““”–––——–––††ˆŠ‰‰‰‰‰ˆˆˆ‡mljinkhjq~‚~‡ŠŠŠŠ‹ŠŠˆ‚‚ƒƒ…†„„‹’“—™˜——˜——–––––——˜–Œˆ‰ŠŠ‰‰‰‰ˆˆ‰‰lmnoqpmps|€~}~‚‰‰‰‰‹‰‰ˆƒ‚‚‚‚‚€““““’ŽŽŽŽŽŒˆˆˆ‰ŠŠ‰‰‰‰‰ˆ{zzzzzzz{zz{{zzzzzyyyyyyyyyz|‚„ƒƒƒ„††‡‡‡††ˆ‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzyzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒƒ‚‚€zzzzzzzzzzzzzyyyyyzzzzz{{{{z{~€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x||{zz{{zzzzzyyyzyyz{|}~}|||}€‚„„„„……†„…‡‡†……„„ƒ„…†‡ˆ†…„‚‚‚€€{‚~|}~|zyzzzzzzzzz{}}~}}ƒ‚ƒ„…„„………†††††………„„…†‡†††„ƒ‚‚‚€‚€€~|{zzzz|zy{||}€€€€€‚„…ƒ„„……„„„„…†††„…†………„…†††††„ƒ‚‚‚‚}€~}|{zzz}|{€ƒƒ‚‚€‚ƒ………†……………„„„…†…„……„„………†††……„ƒ}€€€€€~}|{}€…††…„„ƒƒ„ƒ„…†‡†††…………ƒ„……†…„„„ƒ„„„††‡†…„ƒ‚‚‚‚}}€€€€ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡††††…„……………„……„„ƒƒƒ„†††ˆ†…ƒ‚€‚‚€~}€€‚‚„†‡†‡‡†‡†…„„„„…‡‡†…††„„……………†………ƒƒƒƒ„†…†‰‡…ƒ€€‚ƒzzy~€‚‚‚‚‚ƒ††‡‡‡…†††……„…‡‡‡ˆˆ†…………„…………………„„„ƒƒ…††††…„ƒ€€‚ƒ}~€€€€†‡‡‡‡†††††‡††ˆˆˆˆ‰†…„„„„„„††‡††„„„„…††ˆ‡„ƒ‚‚‚‚‚‚ƒ„…‰‡‚€{zz{|}„‡ˆ‡†„ƒƒ‚‚‚ƒ„‡ˆˆ†……ƒ„„…†‡ˆ‰‡…„„„ƒ„‡‡‡‡ƒ‚‚‚‚ƒ……‰‡„ƒ~~€~‚…ˆ†€}|}€~||}ƒ‡‡…„„ƒ„„††ˆˆˆ†…„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ‚‚„„‡‡ƒƒ‚€€€€€€…ˆƒ~|||€}|}}~†‡…ƒ…„„„…‡‡ˆ†…„„ƒ„……‡‡…ƒ€‚‚‚†ƒ‚‚ƒƒ‚ƒ‡ˆ‚}||{z{{xz}}|„‡…„……„„…‡†‡‡…ƒƒ„„‚€~}~…Ž“—˜™›››ƒ‚‚‚‚„‚ƒ‡„€|}}x{yw}}|‚…„ƒƒƒƒ„…ˆ‡††ƒ}}||zz{|||}›™–’‘ŽŽ€€‚‚‚‚‚‚„ƒ~{}…xyxx…|„ƒ‚€€€€‚„„„…€€~~~€„†|{zzzzyx~~}}}}}|}}~€}{|‚~y{{{‚ˆ|}‚€€€€€€€€€€ƒŠ„ƒ„„‚‚‡„{}~}{zzy{}~~}}||}}}~€~|}~}|~~}…~{}€‚€€€€~€ƒ„‡‡ˆ‡€y|‚}{z{{{{|~}}|}}€€~}}}}}~~}~~}|{}‚€€€€€€€~€œ³š~x|€|y{{|}{||~~€~~}}~|{|}||||}}}||}~~~€€€€€€€€~~”¯Ÿ–‡~ƒ‚ƒ†††}}}}}€€~}~{…ˆ~}}}}~}}}‚ƒ~~~~€‚‚€€€…ˆ› £¡Ÿ¡£¥¦¦€}}}}~€€€~}~‡Œ~€~~ƒ†~~}}€€‚‚‚€Š´¿Âû½ÃÆÆÆ€~}}}~~€€€~~€€ƒ‚‚ƒ„~|{zyyxxxxyy}€€‚‚‚‚’°ÉÎÓÖÔÕ××׃}}~}~~€€€€‚‚‚ƒ…‚€|zzz{{}}{{{zz}€€€€€‚‚ƒŒˆ•¤¯³µ´±¯„ƒ€~}}}}~€€€€}~€€||}€~€~~~~}|~€€€‚§¬Š|~‚‡„‚€~}}}|}€€€€}~‚ƒƒ„„||}~{xy|~~|{|}€€‚€ªÌÇ·£²²™„…‡“‰‚€~}}}}~€€€‚‚ƒ…‰Š‹ˆ€|}~{wx{€|{|}~~~€€§ÍÐÐËÈÁ®–Ž™„„ƒ‚€~}}}}~€€‚‚‚ƒ‚‚ƒ‚}||}|{{yx|€}{||}~~~~~~¢ÌÎÎŬ”„„ƒ…„‚ƒ‚‚€~}}}}}€€€€€€€~||||||||{}…~|}{}~}}~~~~€~™ËÍϵ„~‚†‡‡‚‚‚‚‚~}}~}}€€€€€~|||~~}}}|}~|{~~~~}}~}~€‹±£¨˜€€ƒ„……{}‚‹‚‚€~~~}}~‚€}yxwyxxxyxxxxwwvw~||}}~~€‚‚ƒ…ƒ‚‚‚}{ˆ‡‚ƒ~~}}~€€~yvvvvwwwvvvwwvvw}~~~~~~~‚€‚‚}}‚ƒƒƒ€~~~}~€€€€|{|zwwxyxxwxyyyyy{||}~}}~~}}~€‚€€€‚ƒ‚‚ƒ~~~~}}~€€€{~ƒ{yzzzzyyyzyxxxxxxyyy|~~~€~ƒ€|€‚ƒƒ‚~}~~}}|~€€€}‚…„€}~}}}zyxyyz{{|{{{{z{~‚‚‚‚‚‚~z|}€‚‚€~~~}~}}|~€€€€‚ƒ‚‚‚||{{|||}||||{{{|€‚‚‚‚ƒƒ‚‚~yyzƒ•ˆ‚~~~~}}}}~€€€~€€€ƒ„…€}||||{||{{zzzz{|~~€€€‚€~yxy}„Š…‚~~}}}|||€€~ƒƒ~|{~{z{zzz{|{{z|}~~~~€€‚‚‚€~zxx{‚‚ƒ~~}}}|||}€€€€€€~|{‚|zzyy{||{zz|}~~~‚‚~zxwxz€ƒ‚‚~}}}}|||€€€€€€€„‚~|}€}{{z{{{{{z{|}}€~~~~~‚‚~zvyzzƒ‚‚€~}}}||||~€€‚‚€€€~}~}~|z||||||||}}~~€€~}~~~~€~|x{{{~‚‚‚||}}{||}€€€‚€~}~}||{||{{{||{|||}~€€~~~~~~~}€~||}~}€‚‚‚~}}}}|{{€€€€€€~}{zzyxwvwvvvuuttuvvy€~~~~~~~}}ƒ‚„„‚‚‚‚…„‚€~~~~~}}€€€€€|xwwvuuuvvwuuvvwwvvv{~~~ˆ‰‰ˆ‡…„……ƒ‚™Ž~~}~}}~~€‚‚‚{wyxxzzz{{{{{|{{||{y|€~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÍÎÎÍÍÎÍÍÌÌÌÌËÌÌËËËÌÌËËËËÌÌÍÎÌǽ±¬Ÿž‘}rgjujkillrcgbV]a[[c\T[a]_VPOTZX^e`cSTWVUVTUYTPV^^[XTLD=9<:521@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÈÎÎÎÎÎÎÎÍÍÎÍÍÍÌÌÌÌÌËËÌÌËÊÊÌËËËËËÌÌÎÏÏÆ´™¡•u€x€q^^]q}m[^mkh[ZZ[_YVTP^g_[RPOQXV\fggOU\`ZQPLRRX^a[VPMI@?76532086ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÇËËËÌËÌÍÍÍÍÌÌÌÌÌËÌÌËËËËÌÌÌÌËÌÌÌÍÍÍÍÎÍÍÁ¦‰‡plkmlkmqt{x_a`ccZ[[ZZ\RSW\bYZYVSRUSVYdcQQX[ULNMRR\b_aYQFA?<852210/1ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÂÅÁÊÌËÊËÉÊÊÊÊÊÉÉÊÊÉÉÊÊÊËÊËÌÌÌÌÌÌÌÌÍÍÍÌÍÍÍ̵˜’ymrwys}~cda]fW`ccZZWU`XRYecRPSVWSNLVOWgQNTWYPMSPPX_^`TTTMH@<85320--ÍÍÍÍÌÍÌÌÍÌËÌÍÍÎÈÀÁÀËÎÎÍÎÍÍÍÍÍÌÊÊËËÊÊÉÉÉÊÉÉÉÊÉÊÉÈÉÆÈÉÉÊËÊÊ;‘‚‚€qajzkdg`_`WibWWTSM]_^`qlYPOU[TMISRRYTYZWUOPQU[_WVYPPYNI>>@<52/,,ËËÌÌÌÍÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÎÎÏÎÏÎÍÍÎÎÍÍÍÌÌËÊÊËËÌËÊÊÆÉÊÊËÌËÇÅã‹xwmi_inmb``]X\`VRZRRQZefegcgUPVZRPSURQWRY\`URUQY[\VXSSPQPI>?=7651.3ÌÍÍÍÎÎÎÍÎÎÎÍÍÍÎûżÇÏÍÎÎÎÎÎÎÎÏÎÍÍÍÍÍÎÍÌÌËÉÉËÍÎÌËÇÅÊÊËÍÎÌÇÃÀ²šz|oaURa\Z\`_^b^VUPKMUY_ach_[SOOPNKSQRO^LTUZ[WZY]ZZUQQSNRKFC?B;521/4ÏÎÎÎÎÎÎÍÎÎÎÍÍÍÎþÌÂÅÎÍÍÍÍÍÍÌÍÍÍÍÍÌÍÍÎÍÌÌËÉÉÉËÈÄÂÃÁÆÆÈËÌÉÁ½»¨Š~ypUSRQMVWmndbb\YMD?LXP[``]VSQJLKHKHPKXNQTUVVZZZ[]WRPSNWNCHA@>3/.--ÏÎÍÍÍÍÍÍÍÎÍÍÍÍÍþËÂÃÍÌÌÌÌÌÍÌÍÍÍÎÍÍÍÍÎÎÍËÊÈÇÅÈÀ½¹Á¼Á½ÄÊÇû­¡¤‹~ys_VYZXgi\ned\UURRVUbSOZ]ROVWRKIFOPQYXQPWZUTWVUOOZURVQWW?56220.---ÎÎÓÙ×ÐËÌÌÉÈÉÉÊ˾ÈÀÀÌÍÍÌÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ¾Â»¸¬¿·¿¶¾Æ¿¼´¥‡„~p‡vc\`Z\eiVn\SZTNST][UNPSWRQRUXLKKSSRZf\NVXVVTTYRK\YY\\LC=7630-.,,-ÎÝëðíåÕÊÉÁ¼½ÀÄÇÀ¾ÆÀ¿ÊËËËÌÌÍÌÌÌÌÌÌÍÌÌÌÌÌÌÅÀº³¼¸° ¹²¾´³¾³º²—ƒ{{mfbbb`T\aYTdYSZ]PSSW\UVTNMMKKMSYVPSOQQb[NY[XRLMXYPVXQLJA8=<:72.-,-.Þîͧ°Ýêͽ¶°¯µ¸¿ÁÂÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÄÃÀ±ª¨«®¤œ©¬·¯±µªªž€tvrkkR_dZXcWQ]h]Y_WKPRRZ``TQLLKMRMUVJPTNR\^Xa\SOKMYWQXPQWJBC>;;961//.-îÇwhl¡æÙµ¯­­³±¾ÃÆËÈÃÊÍÌÌËËÊÆÉÌËËÊÉÉÇÁ½½² ™™¤¤˜”¡«¬¬¬§£˜‚slhdjm[TXVa_VW\YZ`VUXTSTU_WQTNNSURSUWQPXQRX`X^WX[W\_SRXWTP@?E;87765200/åŠuvqÍçµ­ª®±²ÀÁÅÉÇÂÊÍÍÍËËžÈÌËÊÊÆ¿·¯°±¸«Ÿ”˜™—¡±­¬Ÿ˜™ŽvheeUe_QLIOX`YSS`g\ao^]a]SVNPPOOQVRTRTXR[OO_^\gZa]hf^RPLMJK@=@8755554.02ÍŠŒ…yˆÂ躪©¯¯´»¶ÁÈƾÈÌËËÊÇÀ¶ÆÌËÇÁ·¦ž›š¡¡˜š–‡’—‘œ©©’‘„ucdgZ\TQTTPX__\hk^PU^NVpoZQOJMMJFJMMONMPZUX^TSXX_g[ZUNILFEECH@8544443/16’Š’“‡‡¾è¿£¦°±µµ²½ÈŶÀÇÇÉÉȾ³ÃÊȽ±¤˜Ÿ•–“ŠŠ‹’“‹ŠŽ‘—ŽŠˆ‰ƒ}ttoaXTY\YPW\UU\g[RQ\gg`^\RSKIJGIHGEFNLS^\W[VO\jfeV]SMVSIJ@@B:754334438>„‰„||ŽÀçÝÍű®®«ª¸Å¹©¯±°·´Æ¼°½Â´¨žŸ˜›¡““†€‚‡ˆ€~ˆ‹Œ„ƒ€ƒ€xvp`VWTU]ZTYTRYePQP^dbRQ[XSLJLIJIFKJIQT\`RZQPkqce_a]U\YTSH<;;96443365;@ÐÜÔ³w…ÃåíîæÈŧ  ¨©žŸŸ¡ ž¦¸¯¤¡§™š˜¡™™ž”…ƒ„ƒxƒ‰ˆ„€{|{|uppidXQZfYQURV^YPY\]^XQRQRRMJOPKNRQFCKNT_PQM]``_ZfhZPT^ZFRE=<<9555499<=ÄÁßn{Ãåëåáæí³ž¢¯ ›œŸ¤«¥¡¢£ ”““œ™Ÿ›’—Š‹‡‡ƒ}xˆ†y{wxqhheZUXRY^XT\Y\ZWZYZ\ZUPKVSNLOJADFFA@EHHQJRSY[aY`lY^PZ^ZJDD@><856669=@?pFUO\p¼æíÌ¿áéøÄø¼·¾½Êǽ¬  •Œ‘œ–š–‰Œ‰Šˆ…„‚‚€y~„~|~vxvrqmjgY[dbaYQSWX^^cWU\RX_[VOINLNJCCEA?FFDBRGTW[W`a`\QccVVXRLHDF976668;?HF\[\LIhªÒåâÛééäæçãäæçêèéìñÆšš”ˆŒ’‘Š‹‹†Œ‡‹ˆ‚‚„{}‹€ywuqsrnhaWZda[QUNQ]fbbUOTTi]bXMQROJHDHSKDJKLFPQ\]YMYdddTadVPW]OD@@<;9888==LURSUTO]dcd[SYX]ZR[VSRE<98;;79:99>>>NVVWZZOKJUX[\V[c_TMLIKONMJHINWXZ\`Z^WUSXNKMHA<8787Q}>789:s‘x|}}~z|~xv{yuwwyw{|~~xttlgnuynha^PRSGKQVZ\SOSRVUZUWXY`\SLECADGIEFGKSW][VMURTQTNFEC=:7786[}@98;=LHMF96=:Tš±±|}}}z|{x~ƒ…ˆŒ‘“™›œš˜“Œ‡}sllvphg^QVWVXZ_\WEGSX^W[YXVW\UOJCE@??>=<@LOXaZTXYRWYMLE<:998673ŠßK38:;EHJ[hXTYW[[SGB@:7888795‡ÞL19<>CFFCQìíîÍmMHKµÎ³²·¹½ÁÃÂÁ¾½º¸½Æ½±}{}Ÿ‹‡~skddfp‰}haa\XZ]cfisgfcc[emcZMPZXTQTZW_YVZdYPIBA@ACA??CIC>K[kk^LQdQG@:<:7;:::<7}ÛR4=<>CIHBVñàÍ­dLGK‰ÃÓÖØÚÚÜÞßßÞÜÜÛØØÚ¤z~~“]OPQQV[Y[e}oULMZkid]TAPpjkga]]Y\ZNOVTMOT]\YY\][TUMG@BHJB>CRPIT[^h‹mQVWLA;886:?BA>?9}é_7?8;CFMY_xSujFDS‹ÌÙßççèìîíèíîìèéäÛÄ…|~}€n>Vgu€‰‹U96/.256K__aceW@XjrxfWUUSRPOUWOPZ[ZV[b\YOSTPIEKPI<>NUNejit†i[]SJA><;=DJHC=>7ñe372;EFX_amisWHIM†ÍÝäêê迪ºÚµªÊêåàÚÖšz}}„RExœ£¨«­˜~dKKMPNLI;367CWDacm`TV^YX\UPSQSPZ][e^UVQOJHHCGKGEHNNTikiqpcbkiYQMLPSRSPGFNV‘åmotz~ƒŽ„ƒxaHFC@…Ìâéêçæ¾°ÇÞøËèåäàߟy}{}HWi´¶´±­¥ŸÂ•|™|KOL@9555eQN\hcUNWZ`ZXRMNVUZb^`XPPVRNE@=HW^W\fhmcZXX_bdjlloe^ivrkyy˜Ÿ   ž™”‘Ž‡……HFIL?338o½ëéêêëíçêéâãêééêêçšy|€kW[;ksf[WUX‡†v‰lKLPc`E43VmFaaa_TWYYTROOLR]ZSVWTNQZSQV\WrsakwjZTW\]]`fgm„‚ƒ€…šq~voiedb`_^]\YYYkkoup9.6a«ðððïïïïïîíîïîîïðãŽtv„ZrO22333@NMHKNKKMEOvkT2NK`_a^ZZUVUW]]USXWQNOU^[Y[ey…‹‚bdqhSRY[[Z\fiku~zxyrr{~LQRQRTVMEBBA@>>>ywvtu`Z^n‘ÅÉÉÌÎÍÊÈÊÊÈÆÈÊÍÎÀ™‰„ƒU?36G\P@NMMLMNMLHKwsS6M„›^Woqnoomry‰“Š‹’“ŽŽ”²›…€|x{{mcmmbW\_]]\`gehqfc_bcrr†^Uuz…‰}@7768:::pnomorvxyzyyz}~~|}~}{{†”’y\…654]ž€GLG>>>FMMKF^wd950q}Oqstuwyxwuuutttux{~„ ±´«œŽumkklmlhd`]]][Z_^ZZ[\\^iU‰¬¯²²²²«dC86AMPOomkkklnpsuttsrruwy{}~~~}}{yvuxknx4<;h™nC9334=IGIL•x951T“Kdhjjlnqttvvvutqqrqpppt|‰˜¤­­§¡”ƒtigfdb_[ZWZXVWYXVVr‹Xh‡“ƒvk]\eWA:FMY[tokjjjjkmnqrrqooopruyyz{||{zvzd€e>JE`†ŽkJG8667968@‰Ÿh952>–\Yjhfeeeghkmqtuuurqpomnoonoryƒ’¨º»§Œvkggfgc_\ZYWTRS‰}[EID2454Lj]KELSZ[xuqmkjjjjknoppqpopopqrtvy|xytx[\IRNd„sIHHDDDDA>:77’mMkRJM`dcccdfimqsuvutspmlnoooollu‹¦¹¸­™…tkhgfb__[V_ŸkZ<:7iKE]>>5Mhdccbbccehlortvwwuqoljlopomlq}¨ÁìŒrgghfebt¦\U6K84:PF;>7332ESPutuvupkhfeehkllmnnopponnf8;9Yp@HAGH5?BBBHLLKHD==>=WVLMC688>>8473Umhfdbaa`^^acglortuvvuokigjmomkjjx–¹É¶“whfdoˆ›ON8>:8YttS94334454uuuuutqlhfdfhijkmlmmmnmmf=10/7OB865679:64445665888799;;;<@KB0>KWgkmmjgcba``_``cglpqrtuuvsnhgikmonljpˆ§Â˜XZYkˆBJEIC=\ƒŒP?<623459qrstuuurnieecdfhijjjklmllgXVW3ZM<;::898767777678778888::;>E?Hijhgghjmmjfcba`aa__bfjmprsuvvtqlggjmnmmjiuaS]kpŠy825>lopqssrqpkgcaaacdefgijjkklkŠºYNF;:997776666666676667778::;;@A@FHIWa]``jlnoprqrqolgca`aabddfhijjki„·bH<5687665556555565545566675;LJNhkkljigeefkookfbabba_]^`dhlnprrsttrkedfijliQMKFRegMK?78?HHEFKLWa`bbiklnorrstrpmhdbaabbcdfgiijjv kQ_Q:3544444445=B4544434542[ŠšiBUjkmmlkieddhmonlieeffdb`_aeiloorrstrpjdcfikhd…€Pp‚znj`NNV]__``__`__fiklnqrsussqmiebabbcbdfhhiiplc  ¨P1333334559:454433331S¥¥¡‹GMihmmmlljgecfllmnlifeeeda__beilooprrssqkecgjiŸ¯uufmd``ZTdsmigdddcccaehjlmpqrrrqnmiebbaaabdfhhjsbE| §­’N//1101365464144442Q› ²¡…EGfdjiikkkjifccdfjmlhdbbbba_]^`dijmopqsssqlfem‹¨xf[`[XWVV`e\XWVVVWWW^adfikmnpqqpopmhca````adfggm^-`ªÈ­ÓºbbIHKNLAIVh‡ÎÚßåéìéçêìÂzctƒ……‚‚ƒ…y]kcSwŒŒŠƒƒ{yatkkkiebbdgijhfec`a`a_]]]_bdgIFJRDäÚÓÛèÖdB;fÃY:”ÉÀ[v²ÄÏŽX^cfgijkmopppoolga`__bJ,-.26;DN]q™šßëìíìëìíîë©\o”²¸¿ÇÍÐÐmKD?BeÉÛØÐÎÒÓ«vVgmkkkjhdcbehjkifca``___^]^`cFADLLW„‹¶±Ìû£CAA¨ºN˜ÞÅaN‰»ÉÉtYacghjklnopoppmkfb`_`N.-.04:>K`yž¢ÙóòóòòòòõÓ…Vp¬áÝÞÜÜÝÖcedgRZÉáÞØÓ×àÀ^mTmkjkkkiebbadgiigda_^_^^^]]_E?BHMPQWgm¶Ó’h]Nd߬v¬€Yu«ÀÍ´c[bfgjjlmoonppmljea`aO//.06:[[@ALPŽ¬£š•‘Ž„¢u[b¤åÞÝßßàÆPTVcjvÈãâãàáã¸EwRhljjjjkjheb`bdhigec`_^^^][\D>BGKOTWW\dfcksun¥îÝÞÝæVUu¶ÃÍž[_ceghjlnnnnonmlidabN33/1@bÛÅVCIa_HKMRUW\sždbZcƒˆ“œtETe~xŠ¢Í󦙅d:c^]iijjjjkjhfcb`cegiigb_^]\\\G=@GJNRVW_ccdeinxƒ¥ÅØδPKN„ºÂɉY]acehijlmmnnmmlidcO46//5[ϳ|p}–‘˜› ¥££¥›TjTB8568868BMwRSRO@;741>EJjSghiiijjkkjgdb``cfiigd_]\\\I>=GIMQTV_lw~„‡Œ¡«¬´Âº³^SMS“»ÅÂqT\_adfgiklnmmlllheP39-./5NXG9@KE>?@?>?@>?@AE[KRŸwQeC7769<775446=53557M]C58:5bU]fgggghhiiiihfca`_aehifda`N67HJLNRV]hmkmj¥ìéäãæçìjaPMJoµÀЩ_]adefhijlmmmmlljR.;/-,/0147669:<<@TOˆ¢eX_FKACUYI?B<4433462Jœ¦i9;74QaTffehhfggghijjgdba_adhjhheM25ILNOQW_gfkol¢ëîêéììêlofSLMƒºÁЕY_bdffgijklmmkklQ-;1-4-++**)+++*1>=ZY\XKRLJMLIINO>12455EHQXqWIEJFABNeVšq^effgggggihgd`__adhkQ+6GIMY‰yc\KH.-/01CSCTTrpkeXOKc«ÁÎÄs]befgghikkkkcXF-8620DFD=55.*,8bˆž§…rX8:>>MYWMEC>XLC<8>LQPPG?><=?=>NfO~wTVeeefffeeghigda___bhQ'6FABé“eTONMTSQOY^QSRqklneSUf†¼ÇÔ¸g^ddfghiiihhe[G1632032/.,,*.12KcxŠ„ofOMLORSPNMMQUPQPQSUXZZVTVVXX\`]l][]Z^ddeeeeeefghhgeb`^^bP%4C>@m¥x_`dU9997:?>>>@lmnmhYNNQŽÁÇÔ§__abdefggfhg_S?2-.,*'()*+,+*-4:Hnnp^^]\[Z[\[\[[[\\\\[[[[\\[Z[Z[^^gUG¶Ù’aceedddeefghhgdb_^`N$2>;=ESW]fmj\NMOVYZ[^^nrpoodRLKW¥ÄËÔY_aceffeegfa]QFAACEEFGHHGHIKIGKH``mXYYZYXXXXXXXXXXXYZYYYYYYYYYYZ[fNI‘¢”cadddcbcdefgggfda_`M$1998$05;fJ.*)-,(''&%%$%%')mebcfab]RMJe´ÃÏÏxY`fgeeefeeecbaaa_][YYYYZ]`chim‰qwnndXXXWXXXXXXYYXWWVVTTTVX[`mƒ‘„€ŠˆŠŒŠˆ…€}vqgplcbc`\ZSLK@$040349:99:767887779;<::98776786547899777778778:=Wbaaa``^]\[ZZZ[ZYWXZ^cfffb^ZXXhdheejqsosr^LJZf˜¾ÄÕ«bccefhijiiiiijjiheb_]\]]KDPHLNSZ^n©âq;:87:7…ÒŽD:9:<=?@ABC@E[K8<;;<855566556?=I_aaaaaa`_^^^^^^]\ZZ[_dghgec_\chkinoklorpkSJLLW¤¿ÈÕ]bdefghiijjjkkjigea^]^^JDNEJNRYbt®ÜU;?@AA:”Ôw;@Vbaaaaba``````a``^[Z\`ehjihe`xtsptpjiljhkcKJJJm¸¾ÎÉr\bcdeffhijjjkjiigd`^^]G>IDHQX_hx¦ÛkDJPVVWn§Z<@4676667<;8CXG78=:73346444338BB[baabbbbbbbaabccb`^\[\afjllkpuquvmnglnoljg\NKI`µ¿ÉÒ{X_bcceefgghhhihggd`^]B:FFDJQZet–ÑycÕóïíîÊ{:@8126CH<25:6111124657K[IKE=742:A=Paacdedcbbbbabbccb`_\[\afjlmmurtsloihkllotiPJKL“ÅÆÖ¶cbdefgeeggghhihggeb_^A6DIEIPZdrŽÍƒQÍñíêäµe9?5217cH/21100//1239?BFLRQOH816BEEMS]Z[\G23@>AVc@453Idbbbbbccbabba_\[[`eilknurmkmnmfhkiiTJJMLÇÇÔ¹a^_adeefffgggggfffca?1?JDy¶ªoOaˆC]okm†…C<@99:K€~V>@8////027GDSLT`\YTE42;@?K]>5649`cbbbbcccbaaba_][[_djmoqmmnqsqliklgTLJLKa¶ÇÍÖŒ_defghggffggggfffecA5/././1>KESEWe^VNG928@;@:10019acbbcccbbbabbba`][[`lkmnrttqrkkmljoeOIKLL‰ÇÉÔÀkdeegihgffggggfffedA08CGS”¿¡\Vl`=FLuV>@??@@@?744545A;9ORL?=<;:9999<=:99:6685447867>JFFE;9Tœ”’da`baabbbabaaabbbb`_\Zpwuojikmnijlvste`YLKMO„ÈÉÐÊucfghhggfeffffge[R8*54<>>=@DHRG-4@?]G?:266334333478?CA@?@B<:9::;:;===BC?8BF3U\[a__aa`bbaaa`aaaaba`_][hikhbbchiqzxsuokmcRKMQ[¯ÉÈÖ©dffhigggefffda^VQ:*4/21.,+.3:753A£ºJQ59:9:<;=<>?=>@HFCCEEDEGIIJLKKJIFNL`z:K`````abbccaa```aaaba```^qlmnkupqisqutt|k\RKKLKzÅÄÎÓ†beefeeedefedbb^T;*2.;4134?BGJMPTX\`bdfiiikkjkllklmnnolmxjm‰hBXa^aabbbcbaa```aaaaa`aa`|‚xuzvihowvxyob\QJKKKRŸÈÆ×¼f`acdddddeedddcY>-0--+..--./018Vz¦WT€\Miqrrrponliggfedcaa`_^\\\^_`adi`ds€iR[`__a_`abaabaaaaaaa`aaaƒ|uxsqiltmigoibccTJKK^f|¹ÃËØŽ\aaccdeddddcb_ZI5+*+-("!!"##".LfSb‹rblfa^[ZWUTSRQQPONMMLMMLLKKMOPTSQUW]wk[``acbacccbbaaabbbaaaba}xwysnq``hqyrjjdYKKJTZX•ÂÂÖ¿f^`bbceddddcb_[VB,+,,-+*))**(;IR‰]owf]RTVPMKKHGFEEDDCCCBBBBAABAACDFFEEFEIXpp_aaeiifedddbbbccbaaaaa‡††††‡‡‡†…†‡‡†††‡‡‡‡ˆˆˆ‡ˆˆ‡‡…„‚|xvtttxyxxzzy{{zwuxyz{{zyz{~€€€††……†††††…†††………††††‡††††††…†‚|xuuuvuvyxxyxz{zywtvvy{zxwy|~€€€……………†††††…†………†††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyywxy{~~€€€…………†††…††…††…………†………„……„………„‚€}yyyxwy|{yxxz{{zywvvxyxxzz{~~€€†……„…„……†……††…………†……„ƒƒƒƒ„„„ƒ~|yxwyz|zzz{{{{zzvvxyyxyzz|~€€„‚ƒƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚‚€~}zywyz{zz{}||zyywvxz{z{x{~€€€‚ƒ„†ƒ‚ƒ„……………„…††„„…‚€€€€€€€}~~~{zzwwwyzz{||{zzxwwwxxyzx{~~€€€†‡†‚‚ƒ„…††……‚„„„‚‚~}~€~}{|~|zyxwxwwy{|}||{yxyxwuvxyy|~~€€„„„‚€€‚ƒ„…††„‚ƒ€}zz{{{||}}}||zz}{zzxxyxyzz||}}|zwyyvuuwwx|€€€€‚„…€~€‚ƒ}yxwwxx{{z{{yyxy{yzzyxyyz{{|}~}|zzyxxwuvuw{~€€}†ˆˆ€€~~}{zyyyyxwxzzxyywwxy{{{{yvwxwz||}~~|zzxxzwwvvw|~~‘‡€€€~}{zyzzxwwxxxuvvvvwz{|zzyuuwwz|{}~}{yxwwyywxy}~~~ŒŠ‰‰€€…‡‡†……zxvxxwwwuutrtuuvw{||zyx{|zzy{|~~}{yxwxxxxz|€ˆ}|‚€ƒ€‚‡ˆˆˆ‰Š‚{xuwyz|~~}}|{zvuwyy{yyz||z{z{}~~~}{yxyzz{}€ˆ€}{~€‚€ƒ††……„…ƒ}wv‚‹ŽŽ†uvywzyy{zyyy{}~~zvwyz|~~~€~|y~€‚‚}vz‹Œ‡…ˆ‡ˆ‡‰‰Œztxyyyzzzyxxz}~~|wstvw{~~~~}~zv€‚~v|‡‚~~‚„ƒ†††‰‰€uwyxy{{yxxy||}zyyvqpqqnrtsx‚…†††‡‡‡€‚‚~x‡‡„……ƒ„†„€‡ˆ‚yyyz|}|{{|zxtoiopsssqojihi}‰‰ˆ‰ŠŠŠŠ‚ƒ„…„„„ƒ„„„ƒƒ~‚ˆŠ…„‡‡‡‡„}…ˆ‚~€ƒ‚‚‚„‚}yuvyzzyzyxxyxu‚„€‚‡Š‰ˆˆ‡‡‡ˆ‰‰ˆ‰ˆˆˆˆ‡…„‡Š„ƒˆŠˆˆ…}„‰…ƒ„„ƒƒƒ„„…†……ƒ€€€‚‚ƒ‚†††‡†„‡ˆ…‰‰ˆˆˆˆ‰ŠŠŠŠ‰ˆ‡……………†ˆ‡‡†ƒ}„Šˆ„ƒ„……„ƒ‚‚‚ƒƒ…†‡†……‚€‚ƒ‡Š‹‰‡†‰‡„‰‰‰ˆ‡‡ˆ‰‰‰ŠŠˆ…†‰‰ˆˆ‰‰ˆˆ‡ˆ‡ˆŠŽŒ„„ƒƒƒƒƒƒƒ€„†ˆˆ‡…„‚~„‡ŠŠ…†Š‹Š‡‰‰‰ŠŠˆ†‡ˆ‰‰Š‰‡‰Ž‹Œ‹‹‹‹‹†„…„ƒ‚ƒƒ‚‚‚€€€ƒ…‡‡‰…{|ƒˆ‰‰‡ˆ‰‡…†ŠŠ‰‰Š‰†‡‡‡ˆ‰‰ˆ‹Œ‰‹‹ŠŠ‰‰ˆ‰‰Š‰„ˆˆ‡ˆˆ†ƒ‚€‚€€€€‚„‡ˆƒ„ˆ‰‰ˆ‡ˆˆ‡‡ˆ‰‰‰ŠŠ‰‡‡‡‡ˆ‰ˆˆ†„ˆ‡ˆˆ††‡†‡„{ƒ‡†‰Š‰‡„€‚‚‚‚€„††††‡…†‹‰…„„ƒˆˆŠ‹Š‹‰††…†ˆˆ†„‚ƒ‚„„„‚‚†……‰Š‹ŒŒŒ‹‰‡„ƒ‚‚ƒƒ‚‚‚€ƒ…„|zvwxwutt€†‡‰ŠŠ‹‹‰‡†…†ˆ…„„ƒƒ‚‚ƒ„ƒ†Ž’“••••”•••‡†ƒ‚‚ƒ‚‚ƒƒ‚€……|xuststt}ƒ‡‰‰Š‹‹‰‡†…†ƒ„†ˆˆ†ƒ‚‚ƒˆŒŠŠ‹‹‹‰†††ŠŒˆ‡„ƒ‚‚€‚‚‚‚€~€||†ˆˆŠŠ‹‹Š‡……‚ƒ…‡†„€Š„|yzŠ‰‚yzy‚‹Š‰ˆ†ƒ€€‚‚‚‚€xxz}}{}€}}~ƒ‡ˆ‰ŠŠ‹‹‰†„‚ƒ‚ƒ€ƒ†ƒ„Š…|}…‹‹„||}ƒ‰‹‰ˆ‰ˆ†ƒ€€‚‚‚€uqquutx}{~}}„ˆˆ‰Š‹‹‹‰…‚€ƒ…„‡‰‡Š‰‰Š‹‹Šˆ‰‰‰Š‹Š‰ˆ‰ˆ‡ƒ‚‚‚‚€uqrsuy}{}v~|†‰‰‰Š‹‹‹‡‚ƒ‚‚‚‚‚ƒ…ˆ‡†‰‰‰‰ŠŒŒ‰€…‰‰ŠŠ‰‰‰ˆ‰‡…ƒ‚€wqrsz†€~oz€~}ƒ‡‰ˆ‰‹‹‹‰‚‚ƒƒ‚ƒƒ†‡Š‡„…†……†ˆ‡ƒ{€……‰Š‡‰‰‰‰ˆˆ‡„‚‚{www}‚€hm{}z~ƒˆ‰‰ŠŠ‹Šƒ€„‡„ƒƒƒ‚…ŒŒ‹ŠŠŠŠŠŠ‹‰ŠŽ‹„‡‰‰‰ˆˆˆ‡„ƒ‚‚€~€~~~jiq{}~…ˆ‰ŠŠŠˆ„ƒƒƒ‚ƒ‚…Ž•–••••–••––”–––Œ…†ˆ‰‰‰‰‰‰ˆ…ƒ‚€€€kklx€~}ˆŠ‰ŠŠˆ‡……„„„……ƒ†Ž’“’‘’’’’’’“’’‘Œ‡‡†‡‰‰ˆˆˆ‰Šˆƒƒƒ„„ƒƒƒƒnmmt}}„‰ŠŠŠ‰‰‰‰‡…„…‡„ˆŒ…†ŽŽ‘‹Œ‹‹‹ŒŒ‹‹‰ˆ‰‹Šƒ€…‡‡‡†‡†‡omimx~|€†ŠŠŠŠŠŠŠŠ‡……†…‡‡}|„Œ‹‹ŠŠ‘’’‘’”••””””“Œˆˆ‡ˆ„€‚ƒƒƒƒƒƒƒklhikz€}}ƒ‰ŠŠŠŠ‹‹‹‰†…†………}‡‡……„‹‘“’ŽŽŽŒˆˆ‡……‚‚nmihes€~|†ŠŠŠŠŠ‹‹Šˆ††„………ƒ‚ƒƒ„‰ŒŒŠŠŠ‰‡ŠŠŠŠŠ‹‹Šˆ‰ˆ‡†………ƒ‚€€ljgfgl{€~}€‡ŠŠŠŠŠ‹‹Šˆ†„„„†„ƒƒ‚ƒˆ‰Š‰ŠŠ‰‡Š‹‹‹‹‹‹Šˆˆ‰‰ˆˆˆ‡‡…‚€€€fggghip}€~}‚‰ŠŠŠŠ‹‹‹Š‡…‚ƒ…„‚‚ƒ…ˆ‹‰‡‰Š‰ŠŠ‹‹‰‰Š‹Šˆˆ‰ˆ‰ˆˆˆ‰ˆ†ƒ€€hhgfghhu€}ˆŠŠŠ‹‹ŠŒŠ‰…‚‚ƒƒƒƒ‚‡ˆŒ‰„ŠŠŠŠŠˆ‡‡ˆ‰Šˆˆˆ…‡‰ˆˆ‰‰ˆ‡ƒjhgegihr€~…Š‹ŠŠŠŠ‹‹Š†ƒ‚‚ƒƒ„‡‡‰ˆƒ…‰ŠŠŠˆˆ††††‰‡‡†ƒ…ˆˆˆˆˆˆ‰‡„‚jhgeijhn}€}€ˆŒŒ‹Š‹Š‹‹ˆƒ‚€ƒƒ„‡†‡‡ˆˆˆˆˆˆ‡ˆ‰ˆˆˆˆˆ‡„„‡‰‰‰‰‰ˆˆˆ‡ƒjjjhihhlu€~ƒŠŒ‹ŠŠ‹ŒŠƒƒƒ‚‚„ˆŠ‰Š‹ŒŒŒŽ‘‘‘‘ŽŽ‡†‰‰‰‰‰‰‰ˆˆˆ‡mljjnkhjq}‚~‡ŠŠŠŠ‹‹ŒŠƒƒ„††…„ˆŽ‘“””••––—˜——˜˜˜˜—Ž‡‰ŠŠˆ‰‰‰ˆˆ‰‰lmnoqpmps|€~}~‚‰‰‰‰‹Š‰‰ƒ‚‚‚‚ƒˆ”–˜˜–•–•••””““”••–’‰ˆˆ‰‰Š‰‰‰‰‰ˆ{zzzzzzz{zz{{zzzzzyyyyyyyyyz|‚„ƒƒƒ„††‡‡‡††ˆ‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzyzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒ„ƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒƒ‚‚€zzzzzzzzzzzzzyyyzzzzzzz{{{{z{~€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…‡‡‡‡…ƒƒ‚‚€€x}|{zz{{zzzzzyyyzyyz{{}~}|||}€‚„„„„……†„…‡‡†……„„ƒ„…†‡ˆ†…„‚‚‚€€{‚~|}~|zyzzzzzzzzz{}}~}}ƒ‚ƒ„…„„……††††††………„„…†‡†††„ƒ‚‚‚€ƒ}€€~|{zzyz|zy{||}€€€€€‚„…ƒ„„……„„„„…†††„…†………„…†††††„ƒ‚‚‚}€~}|{zzz}|{€ƒƒ‚‚€‚ƒ………†……………„„„…†…„……„„………†††……„ƒ}~€€€€~}|{}€…††…„„ƒƒ„ƒ„…†‡††……………ƒ„……†…„„„ƒ„„„††‡†…„ƒ‚‚‚‚}~}€€€~ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡††††…………………„……„„ƒƒƒ„†††ˆ†…ƒ‚€‚‚~~|~€€‚‚„†‡†‡‡†‡†…„„„„…‡††…†……………………†………ƒƒƒƒ„†…†‰‡…ƒ€€‚ƒyzx}€‚‚ƒ‚‚‚††‡‡‡…†††……„…‡‡‡ˆˆ†…………„…………………„„„ƒƒ…††††…„ƒ€€‚ƒ~~~€…‡‡‡‡‡†††…†††ˆˆˆˆ‰†…„„„„„„††‡††„„„„…††ˆ‡„ƒ‚‚‚‚‚ƒ„„ˆˆƒ€|{z{||ƒ‡ˆ‡‡†…„ƒƒƒ‚ƒ…†‡ˆˆ†……ƒ„„…†‡ˆ‰‡…„„„ƒ„‡‡‡‡ƒ‚‚‚‚ƒ…„‰‡„ƒ€~€€…ˆ‡‚~}}~~}}}‚‡‡…„„ƒ„„††ˆˆˆ†…„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ‚„„ˆ‡ƒ‚‚€€€€€…ˆ…|||€~}}|}„‡…ƒ…„„„…‡‡ˆ†…„„ƒ„……‡‡…ƒ€‚‚‚ƒ‚…„‚ƒƒ‚ƒ†‰„~||{{||yy|}{‚†…„……„„…‡†‡‡…ƒƒ„„‚~}~€„†ŠŒ‘ƒ‚‚ƒ„‚‚††‚|}~}x{{wz€~{€…„„ƒƒƒƒ„ˆ‡††ƒ}}||zz{{||}}ƒš¡¡Ÿœœšš€€€€‚‚ƒƒ€||ƒxxxw|ƒ{~„ƒ‚€€ƒ„„„…€~~~€€‡…~~{{zz~~}|}}}||}~{{‚€zzzz‡{}€€€€€€€€€€ƒ‰…ƒ„ƒ‚ƒ‚‚‰}|}}zzzx{}~}}||}}}}€||~~{|}}†€{|‚€€€€€€ƒ„‡‡€‚ˆz{€{zzz{{|~}}|}}~€}}}~}~}~€||}‚€€€€€€€~‚‰ ™ˆ‡xz€zz{|}{||~~€~~}}~}|{}|||||}|||}|}€€€€€€€€€~~Š´³–Œ{z~~{~€}}}}}€€~}~{€ƒ}}}}~~}}}~‡…~~~€‚‚€€€€”š•”•–˜™š›€~}}}}€€€~}}„‚~~€~~~‰…~}}~€€œ²¸»´°·»¼¼~}}}~~€€€~~„‚‚€€‚ƒ~}~}|||{{z{|~€€‚‚‚‚…§ËÎÐÒÏÐÓÓÔƒ}}~}~~€€€‚ƒƒ€ƒ…ƒ~zyxvwxxxxxxy}€€€€‚‚€Ž™™®·ÃÆÉÉÈÆ„ƒ€~}}}~~€€€€~€€€‚‚}|{|}}€~~~}||~€€€‚‚€’ª„{ƒ…ˆ‹Š‡‡„‚€~}}}|}€€€€}|‚€‚|||}}z{|}}}~{|}€€‚“½§•’¡ƒƒ’‰‚€~}}}}~€€€‚ƒ‰Š‰‰ƒ||~€|xx{}€€~{|}~~~€€~‘ÄÑÑÊÇÉ¿ŸŒ„ƒƒ‚€~}}}}~€€€‚ƒƒƒƒƒ„ƒ}|~~|xvx}|{|}}~~~~ÂÎÎÌ¿±˜ŒŒ„„‚ƒ‚‚€~}}}}}€€€€€}}||}|{{zz~ƒ{|||~~}~~~~€€‡¾ÏÑË¡…~‚‚‚‚‚‚‚€~}}}}}€€€€~~|}|}}}}|||„‚~~||~~~}}~}~ƒ°Ãµ¸†‚‡‡‰{}‚‹‚‚€~}}}}~€€€€€€{zy||{{|{{{|{{yx|~||}}~~€‚Šˆ‚‚}{‡‡‚ƒ€~}}~ywvwvwwwwvvwvvuu{}~~~~~€‚€‚€‚ƒ‚‚}}‚ƒƒƒ€~~~}~€€€€€{yxvvxxwwwwxxxwxz€€~~~~~~‚€€€€€€‚ƒ‚‚ƒ~~~~~}~€€€€€|{€zxxyxyxyyzzzyz{{{||{|~~}~~€~~~~~ƒ€|€‚ƒƒ‚~~~}}}}~€€€|}„…€{||{|{zyyyxyyyyyyyyz}~€€€€~z|}€‚‚‚€~~~}}}||~€€€€„„ƒ~€€|zzzzz{|||||{{{|~€‚‚‚‚ƒƒ‚‚~zyzƒ•ˆ‚~~~~}}|}~€€€€€‚„…ƒ}||||||}||{{{{{{}‚‚‚€~yxy}„‰…‚~}}}}|}€€€}~€€‚„…ƒ}||}|{{|{{z{{zz{}~~~~€€‚‚€~zxx{‚‚ƒ~}}}}||}€€~€€‚ƒ€}{|€}zz{{zz||{z{}~~~~€‚‚~zxwxz€ƒ‚‚~}}}}|||~€€€€€€€‚‚€}{}‚€{zz{z{|{zz{}}~€~~~~~‚‚~ywyzzƒ‚‚€~|}}}|||}€€€‚€‚„ƒ€}}{{{{{{{{zz{}}~€~}~~~~€€‚~{x{{{~‚‚‚||}}|||}€€‚ƒ‚€€}~}||{|||||}|}}~~€~~~~~~€~||}~}€‚‚‚~}}}}|||€€€€€~}}}||zz|zyzzzyyyy{{€~~~~~~~~}~ƒ‚„„ƒ‚‚‚‚…„‚€~~~~}}|~€€€€€~{yyxwvvvvuuuuutttuvz~~~~ˆ‰‰ˆ‡†………ƒƒ™Ž~~}~}}~~€€€€}xwwvvwvvwxwvxxyxwwww}€~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÉÂÆÃÌÏÍÎÏÏÏÏÍÍÍÎÍÍÍÍÌËËËËÌÌËËËËÌÌËËËÌÌÍÍÌǽ²«¢ ‘€{pglwjihmlrcgbV]a[\c\T[a]_VPOSYW^e`dSTWVTVTTYTPV^][XTLC<9<:421@2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÅÁÉÍÍÎÎÎÎÎÍÍÍÍÍÌÌÌËËËËËÌÌËËËËÌËËËËÌÌÎÏÎƳœ¥—vx€q]_^p{l[_mkh[YZ\_XVTO^g_[ROOPXV\ffgOT\`YQPLQQX^a[UPMI@?66521/86ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÇËÊËÌËÌÍÍÍÍÌÌÌÌÌËËÌËÊËËÌÌÌËËËÌÌÍÍÍÍÎÍÌÀ£‰ˆomkmkjkmu}x]_`edYZ[Z[\QSV\bYZYVSQTRVYdcQQX[TLNMRQ\b_aXPFA?;751110/1ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÂÅÁÊÌÊÊËÉÉÊÊÊÊÉÉÊÊÉÉÉÊÊÊÊËËÌÌËËËÌÌÍÍÍÌÌÌÍË´—‘xkpwzs{fcb\eY_cbZZWW`WRXdcQPSVWSNKVOWgQNTXYPLRPPW`^`STTNF?;74220--ÍÍÌÌÌÌÌÌÍÌËÌÌÍÎÈÀÁÀËÎÍÍÍÌÌÌÌÌËÊÊËÊÊÉÉÉÉÊÉÉÉÉÉÊÉÈÉÆÈÉÉÊËÊÊͽ‘‚€rak|mbg`_`VibYWTSN]_]_qlYOOT\TMHSRQYTYZWUNOQUZ_WVYPPYNG=>@<52/,,ËËÌËÌÌÌÌÍÍÌÍÍÍÎƸ»¹ÉÏÎÎÎÍÍÎÏÎÍÎÍÎÍÍÌÌÌÌÌËÊÊËËËËÊÊÆÉÊÊËÌËÇÅâŠyyog_jomb``\X\`URZRRPZefegcgUPVZRPRTRQWRY\`URTQX[]XXSSOQOI=?=6651.2ÌÌÌÌÎÍÍÍÍÍÎÍÍÍÎúżÇÏÍÎÎÍÍÎÎÎÎÎÍÎÍÍÍÎÍÌÌËÉÉÌÍÎÌÊÇÅÉÊËÍÎÌÆÃÀ²™y{ocVRb]Z\_]\a]VTQLMUY_ach^[SOOPNKTQRO^LTUZ[W[Y^YZVQQSNQKFC?B:521.3ÏÎÍÍÎÎÍÍÍÍÎÍÍÍÎþÌÁÅÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌËÉÉÉËÈÄÂÃÁÆÆÈËÌÉÁ½»¨ŒzoTRRQMTWlmc`a[YMC@MWP[`a]VSQJLKHKHPKXNQTUVVZZZ[^XRPSMVMCHB@>3/.--ÏÎÍÌÍÍÍÍÍÎÍÍÍÍÍþËÂÃÌÌÌÌÌÌÌÌÌÍÍÎÍÍÍÍÍÍÍËÊÈÇÅÈÀ½¹Á½Á½ÄÊÈû®¢¥Š}xt]UYXWfg^mee\VUQQUScTOZ]ROVWQKIFNOQYWQPWYUTWWTNPZUQUOWW?5622/.-,-ÎÎÑÔÑÎÌÌÌÉÈÉÉÊ˾ÈÀÀÌÍÍÌÍÍÎÌÌÍÍÍÍÌÌÍÍÍÎËÄÂÁ¾Âº¹¬¿·¿¶½Æ¿¼´¦‡…~p‡vb\_[]ejUn\SZTNST]\VOPSWRQRUXKKJSSQZg\NVWVVUUZPK]XX\\ME=653/--,,-ÍÚéïëãÓÊÉÁ¼½ÀÄÇÀ¾ÆÀ¿ÊËËÌÌÌÍÌÌÌÌÌÌÌÌÌÌÌÌËÄÀº´½¸°¡º±¾´³¾³º³™„{|lebabaT[b[UeZRZ]PSSV[TUTNMMKKMSXUPSOQPb[MX[XRMOXWOXYPLKA8<<:61--,,.ÚîؾÈæè̾¶°¯µ¸¿ÀÂÉÅÁÉËËËËÊÊÉÊËÊÊÊËÊÈÇÇÃÃÀ²«¨¬¯¥œ©«·¯±µªª ‚tvskkQ_e[WcWQ[g\X^XKPRS[``TQLLKMRLUVIOTNQ\]Xa]TOKLYXQWPQVJBB=;;961/.--îÐiq§èØ´¯­­³±¾ÃÆËÈÃÊÍÌÌËËÊÅÉÌËËÊÉÉÇÂý¼²¡šš££˜• ª«¬¬§£˜„slifjm[UYWb_VW^[Z_VSWTSUU`WQTNNSURRTVPPWPRW`Y]WWZUZ^SQZVSP@?F;8776520//èrsp‘Î絬ª®°²ÀÀÅÊÇÁÊÍÍÍËËžÈÌËÊÊƾ¸°±²¸«ž•˜™—‘¡±­¬Ÿ˜˜ŽxieeUf_RLHOX_WRR\e]an^]a\SWNPPOOQVRTRUXR[NN^^]hZa]ge^RPMMJK?<856669ŒIOUOm®çîÎÀàêÅ·Ä÷»¶¾½Êǽ«  –‹œ–š•‰Œ‰Šˆ……‚‚€x~„~|~vxvrqmkfY[caaYRRWW]]aWT]SX]YUQINMNIBCE@?EEDBRGTW[V```\QdaWWWQKHDF975668;>GFsS_V@c”ãáâÝééäæçãäæçêèéìðÅš™”ˆŒ’‘Š‹‹†Œ‡‹ˆ‚‚ƒ{~‹€ywuqsqnhbWZda[QTNP]ebbVOSQe^aWKPQOJHCFQHBJJLFPQ\\YMZdddT`dVOV]PD?@<:8788<@KBQmqG:MwÃsËñìëííìííììéæãä麌‹Šƒ‡ŠŽŠ}‚ˆ‚‹•††z{…ˆ€}Š‚z|wuttwtcVQZZZVYUNZX[_fdbjplP\]SMQQFDENVQQOOOHJWZ\YNO^Z_\]heV^R@:9<<;:::;>==>>889:=<@KOW`ZSWZRWYNLE<;997673ßN38:;><78>DHI[hXTYW[[TGCA:7788785ŒáP09<>CFFCQîïðá‡QIA‘ÓÆÁ¸¾ÁÄÆÇÈÇÇÈÆÃÃÍÀµŒ}|~‚ ¢¤¤ –‡{ywsqqssw‡Ž‘“xffcc[fnbYMPZYUQTZW`YVZdYOIBA@ABA?>CHC>J[jj]LQeQG@:<:7:::9<6ÛW3=<>CIHBVòëÛÈzOIEqºÑØÙÛÜÞßàáàÞÞÞÛÙÜÀ{€zŽ›sjd\URV_j’¤‡db]YWUTSLWxkjf`\]Z]ZNOVTMNT^[YX[][TTLF?AGIB>CRPISZ]hŠlPUXKB;8869?AA>?:~äg6?9;CFKW^¡akwLBMr¿×ÜççèëíìéêîìèéçÞÔz{‡cFMS[ep`DCILD<;>fsqmiY@TlrxfWTURRPOTXPOY[ZVZb\YOSTPHEKQI<>NUNekgr‡j[\RIB>;:=DKHC>>9ƒðp6<5=GHW`bo|modIHKn½ÜãêéëÒ³²ÖŬ¿èæáÝغz|~|}BPs„‘™ŸŒSI8019@DLKFIMRR@\em_SV]YW[TPSPSQZ\Zd^UVQOJIHCGKFDGNNTikkvtcajhWQLKPSRTQGEJ8…÷z488KUXeig‚†~lPHF>lºáåêèèØÃÐàÖÅÉçåæáàÀ{|}iEZœ®±³´±£˜€eipTPNG3233PZH]ibTNWZ`[XRMNWTYb^aYPOUQME@=GS[U[fhmc[XY_bdjlkod]hurmhaephšÝ „†Š“––”•–LJKK@445[£çéêëëììëëéåèêèêéí¾z}|ƒS`Eƒ«¤›•€ À„ˆ§[LNLLC55?sF[ba^RWYYTROOMS[ZUXZTMQYSQS[VotakwkZTW[\]`efl~ƒ~€„€}~„Ÿ¡š•”’Œˆ…‚||iilpqE+1Pæðïîîîïîíìììììíïî±tx{~Oq7;FB=9FJVefhaPLH`p`;5;t\O_a]YZUURUZ\TRYYRNOV_[YZcu€„‹„dcqjTRY[Z[\eiku|y{tt|…š‘elgc_[YYXXWVTTTyxwvwcQTc‚Å×ÚÛÛÛÚÛÛÚØØÙÛÛÜÖªˆ€€q\o257::9JNLKKKJLJE`{bB6€¥}IlpllmjoxˆŒ†…ˆ‹…†“²—}€}y}}nammcX\_^\[`gfisgd`cct}|’mFPTVY[^P@<;<<;:qoonnquwxy|‚†‡…†ˆ‰‰†„…„„„‚†–’‰\s_04@P‡– UB7224M=1477McVIEMW[wvusnkiiggilnnnooqqrqrpptunmssir†G[Pjw~TGGHHIIJFGS‚—wE<<4T›Ca_??B_ebbaaccehlortvwwsqnkklopomlq~‘®Å¿¤†qhggeed`o£[W:W;5998FVC65KuuuuutqkhfdfgiiklllmmnmmnD6;\„KA?92335lopqssrqpkgca`acdefgijjkkmid„WBZ=;:998986677666776777789:<>E=bnhifddgjmmkgca`a`^]^bdiloqrstttpkfegjkllifRR^osŒk@@EIK[liliklnorrssrpmhdbaabbcdeghijkn¨‹KE8247655444455965444345554?WaIPijmmmkhecehmonlifefedb`_aeiloorrstrpjdceikeRNLEHkmPIA;;CKIGHLMSXXYfiklnqrssrrpmhebabbbbdfhhijiŽ„Ze€jA3444334346E9544433451L™¢™U>cilmmmmjfdbdhlmnlifededa__ceilnoprrssqkecgjjj›Zw}yomcQOZceeeeefff`dhjlmopqrrqnmidaa```adfhhhltl`”¤¹˜@122223457445543210/DŠ©œn=[ekllklljhgcccfillgdbbba`^\^adikmopqsrrqkeein£¥qrel`]^YUhsjec`____]adfiklnpqqpopmgca`__`adfghno@Rœ¦¯£‘E24543239JC646889EO¥½©Áœ_:Scijjjjjkkkigcbbeghgfc`__^\[\^_bdgkmnoprqmgfl“ŸtcY^ZXWVV_aZWVUUUVV„[behjkmoqqpppolgca``_`bdfgdj97ŠÇ»Ïê®|dOT[p`E¬ƒ@cl`WY¯ïíÉÓJ>Zjqssrrqpnkjgedbbbcfgeb`_^\\]][[\^adhjlnnonl[ƒi^TUWWWWVVVVVVVVUVVÆ{\dgijkmorspppokfca`_`abdfWK71[ÇÖçíï°…\\\ƒsÑ®Xocb\l©ÊéßÎÄ®œ¡¥§ª«ª©ªª©¦¢Ÿ“}edb`_adedb`^[\]][ZZZZ\acfiklmnVk]XPRVWWYYXXWWWWXVWWÊÂr\dffhklnpqpoookgca___`ad\:2.6}™—®Í®­mdkaT™÷ãmflup“¬ª¬¢Ÿ™˜˜–‘ŽŽŽŒŽ’—š›€fgc``adfeca__^^__]\ZZ]_beijlmR_t_`igY\]Y\]][YZ[\ZZ[¾Î±^[acfijkmrqooqolgb____`b\9/--035GHNvX[jom•ß͈phbx§‚zxspmjheca`ba`aaaabehk‚rjifcaacggfecaaaaa`_\\^adgijjOScY^´µ•”ÈŠLOQWdXXY[i^®ÂΠZ\aegijlmoopqpolhb``^_aU2-.038;AGRYf{¡´ÀÙÚý°…\behiigjpz©‚}xtrpoomelzkkkiebadgijhfeb`a`a_]]]^bcgfILUTPºÉÝÖîç†DBA‰†?;g’„}¶ÅÏŽW^cfgijkmoppponlga`_^aW2-.368=AGQdxºîìîîììíðñî¨lgz‚„„€ƒum‰kgˆŒ‰‡‡…ƒzqipikkjhdbbehjkhfca`____]\^_cbDFJQD•ßÏÑØææuA:^Çg;žÖÌP‘¼ÉÉtXacghjjlnopoqomkeb`_`Z4-./39@KYo­°ïçìììëëìïÚˆX£³¶½ÃÇʬQB;:CŠÓÔÒËËÌÅpRokjjkkhebbadgihgda_^^]]]]]^^BADLMVq~­©Ôû²FB?žÎ[Ò»Yz°ÀÍ´c[bfgjjkmmoopomljea_`\7-./169@Pcx—ªõòòñðïïíë³k_ÕÞÞÝÝÝâ®Ti^]N‚àßÝÕÔÚãši[_ljjjjkjhdb`adhigeca^^^^][\[B>CHMPRW_l»ÉlaS_ÚÄ´ WZ~¹ÃÍZ_deghjlmnnoommlicaa]70//7;cQ15;Y‰‡„{l‡–ZhmÚàÞÞÞÞâ™HZX\YˆÝàßÛÚÞåRpSkjjjjjkihfcb`cegihfb_^]\[]\C>CGKOSWX]bb_hquqžìéèêPJP¼ÁɉX]bcehijlmnnmmlkhca]76//8Jºò’_`j‰lkpsuwz’RjW™¤¦«°³®aJTeaWiÃÙÑƹ¦’\>sRfihhiijkkjgda``cfiigd_]\\]]F=BGJNRUX`defhlpz„ ¼ÑÅ]SMW›»ÄÂqT]_adfgilmnmmmlkgc^79//0:†¯|cn}‰ˆ‹“——–˜¤RlG99:<>=;9::98898HILORV^iuvxwŸæíèèéëlbQLKy¸ÀЩ_]adefhijlmmnmllib4:2-,/137=?>?ABDHXeHr Y`Y=8779867544:?3455;LP<6<:CN”‘QfMGC;EVP@==64443562R–“J7755cR^geehffffghijihfc`^_bghiigM18ILNOQW_gfjok çìéçèæjmu\OLZŸ½ÊË}Zacffghiklmmlkka285-8;.+**))****177{ž}LiIPQJMPNJKPI723455@^–XMPC5TSWh\^dfgffggffghhfc`^_acgikM.9IMQQSY`f[I@ABVcd`\_qokeXOKg¯ÁÎÂr]befghhikllmkbW06628PJA9573**+?Yac„•lFXLOIEEHGGGDKA977?AKSeuSIIMCGHUb]˜€g^eeeffeefhigda_^_afjK*9GIM`’yc\JJ11234FUFXqklneSTf¾ÇÔ¸g^cdfghiijjjf[Q1655,8@A@52/+-/Nv¥‘€hD8A@CRWUJFACXID;9DPPONF@=9=<7:TcQ“oOXceeeedefghhgea_^^`hL'8E@CŽé‹bTQNLUSQNV[OOkmnmhXOQU–ÂÇÕ¤]_abdefggghhaS8512/.+**)+**--=duŽŠwmRGFGMSQLIGEPSKJIJMSWYXPORQSTX[]ommoo^bdedccdeffgggca_^^aJ$7C>Ar¤r^aeW97659??>?nrponcRLK\«ÄÌÒ‰Y_acefeeeffb[K6/..,,+++,.--.4@Ge{se_^\[ZYZ\\\[[\\]]\[[[\\\[[[[]_`gaJ‰“cabddccbcdeeegfda_^`G#4=;=FSW]fnnaUSUZ\^`bnrqrtvfSNIu¿ÇÒÃk]abdefeeedb_WLGEEHJJKKKJKLMNMMEbdp_ZYYYXXXXXYXXXYXYYZYYYYYXXXXY[\cCG_`bccdcccbccdeededca_`F"2987,++--+,,,*(((('&mebceac]RMJj¸ÃÏÍvY_efdeeeedec`_^]\ZYXWWXX[^_agdbqy\TWVWWWWWWWWXXWWWWVVWWXXWWWVUTV[ZYcb_b``abbbcabbbbccbVNK;#33@gH/**.,)'('%%%&(+jgggrmhaRKLNŒÁÆÕ±^^cdccdffffec`ab`_\[YXWXZ^adnb‚vyjcbYVWWWWXWWXXYXWWWUVVVUTTSR[o{dkoloonjihfb__jfbbb_\YQLK="13/02:;:::759::999:===<;98876566786667787788?[aaa```^]\[[[[[[ZXXZ^cffec_\YdikhmoklosqkRJMM\«ÀÈÔ]bddfghhijiijjihgd`]\\^TEJLIMPV[c}ÁÑjQNMNR[ÀËŒE:98899::;;;<=95::;;855666667>AAYaaaaaba````__`a`^[Z[`eijjiey~pkkighimiaOJMLN–¾ÀÔ©Z\_bccdffhhhiiihhea^]]U?DHDLTYbj…ŽECBGHHN™±X<;:9:;6Vˆ^9=B:83234344339C=Obaaabbabbb`aabbba^[Y[aeikljpuqttlmglmolkeXMKHf¸¾ÉÒ{X_bcceefggghhihggd`]]T;AGCIQYcn…ÀÁ^u¥±´¸Â®’B?=2478787::9787658:52278743224@=E^aaabbbbbbaabccdb`^[Z]aejlmmurvulnihkllntiPJKMšÄÆÖ¶cbdefgeeggghhihggeb_^S8@IDFMU^k}¶»ZòòñðñËt:A9139<9937:7322337844@YIG?7432;@=Tbaaaaaaaaaaaaabba`^\Z\`fjmlunnlkljhjimmnhRJJKl¾ÆÏÕ†]cdfggfgghhhggggfd`^T4=IFGMU^jx«ÃS€ëíéåä¹a8@5126Zg<124211001347;KOHKJF>527B@>=:CdifJAC;/.../2HGˆÓЃM\zc9@DBbY=>BEdK=BB@A@A>1/0/02>HGOBXhaVSI:15=7@22102Aaa`bbbabaaaabcb`^[Zpwtnjjknnijlvste`ZLKMQÉÉÑÉtcffghggfefgffffecV*28CGMh}pdo€I;PQLMNG;=OXiG?@@@??>=9776668=A>9CKH@BBB9:<7?BG:ES`a``abaaa`aaaaba`_][hjkhb`chhq{xrtnjndRJMQ_¶ÈÈÖ¨dffhighgefgffgfcZK(34<=?7555543688=JJHD=9?@>=<<<==>>>>>><7J]1Nc_abbaaba`````a``a`````{‚€xv{whhowvxzre]RJKKJU¦ÇÅ×»e`acdddcdffc`_]VL+102;.//3>GLHFAc³»nSa:>?====?ABCDEHQRPPSTSUVVVW\^]^ZXfad†J@[a^_`__aa`aba`a`aa```aaƒ{uxsriktmigniaa`TJKK]c‚¾ÃËØŽ\aaccdeddddddd_O.0/01-323799::Cj’ªN_Šb@BPVY^bghkllmnpooonmmmljjkkkmlnuii‚~NQ]`acbaccbaaaaabba``aaa€~xwxsnqa_gpxrikeYKKJU]^žÂÃÖ¿f^`bbcedddddca^Q70,-+-%#$$%%%$0Qy¢FhŒd^sppnmifdc_^\\[[YWVVVWVUVVVXY\`Z]ftx\Yaaeggedcccaabcba``aaa‡††††‡‡‡†…†‡‡†††‡‡‡‡ˆˆˆ‡ˆˆ‡‡…„‚~|xutttxyxxzzy{{zwuxyz{{zyz{~€€€…†……†††††…†††………††††‡††††††…†‚{yuuuvuvyxxywz{zywtvvyzzxwy|~€€€……………†††††…†………†††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyywxy{}~€€€…………††……††…††……………………„……„………„‚€zyyxwy|{yxxz{{zyxvvxyyyzz{~~€€†…………„……†……††…………†……„ƒƒƒƒ„„„ƒ|yxwyz|zzz{{{{zyvvxxxyzzz|~€€€„‚ƒƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚‚€~|zywyz{zz{}|{zyywvxz{zzx{~€€€‚ƒ„†‚‚ƒ„……………„…††„„…‚€€€€€€€}~~~{zzwwwyzz{||{zzxwwwxxyzx{~~€€€‡‡†‚‚ƒ„…††……‚„„„‚‚~}~€~}{|~|zyxwxwvy{|}||{yxyxwuuxyy|}~€€„„…‚€€‚ƒ„…††„‚ƒ€}zz{{{||}}}||z{|zzyxxzxxzz||}}|zwyyvuuwwx|€€€‚ƒ…€~~€‚ƒ|yxwwxx{{z{{yyxy{yzzyxyyz{z|}~}|zzyxwvuvuw|~€€}†‡‰ƒ€€~}{zyyyxwwwzzxyyxxxy{z{{yvwxwz{|}~}|zzxxzwvvvv|~~~‘‰€}{zxzywwwwxxuvvvuwz{|zzyuuvwz|{}~}{yxwwyywxy|~~~ŒŠˆ‰…‡††††€zxvxxvwvuutstvuuw{||zyx{{zyy{|~~}{yxwwwwwz|€ˆ}|‚€~ƒ‡‡ˆˆˆŠ„|yuwxxyzzxxwwxuuwzy{yyz||z{z{}~~~}{yxyzz{}€‰€}{€‚€ƒ…………„…„~xv{„‰‹ŒŒŒŽŒŒ„vvywzyy{zyyy{}~~zwwyz|~~~€|y€‚‚vv†Ž‹‹‰ˆ‰‹Œ~txxyyz{zyxxz}~~~}wtuvw{~}}~~}}~xq‚ww‡†€~„„…††ˆŠ„vwyxy{{yxxy||}zzyvqpqqostssy‚‚‚€‚‚‚€~~x{††ƒ‚„„ƒ…†‚†‰…{yyz|}|{{{zxtpiopsssqojhhhn‚‰Š‰Š‹‹‹‚‚„…„ƒ‚ƒƒ‚ƒ‚‚}€‡Šˆ…‡‡††…‚‰„€‚‚‚‚ƒ‚|xtuxyzyzyxwxxtz†…ƒ‚‡‰Š‰ˆ‡‡‡ˆˆ‰ˆŠˆˆˆˆˆ…„†Š…‚‡Š‰ˆ‡‰†‚ƒ„„ƒ‚‚ƒ„„…†„…‚€€€€‚‚„ƒ„…„‚ƒ„†‰‡‰‰ˆ‡ˆˆ‰ŠŠŠŠ‰‰ˆ……†‡†…ˆˆ‡‡…~‰ˆ„ƒƒ……ƒƒ‚‚‚ƒƒ…†‡†……‚€‚ƒ…ˆ‹Š‰…†ˆ…‰‰‰ˆ‡‡ˆ‰‰‰ŠŠ‰……‡‡††‡‡‡‡†…„„‰‹Œ…„ƒƒƒƒƒƒƒ€€„†ˆˆ†…ƒ‚€‚†‰‹‰„ˆ‰Š‡‰‰‰Š‰ˆ†‡ˆ‰‰Š‰‡†ŽŒŒŒ‹‹‹‹ŒŒŒŽ’ˆ„„„‚‚ƒƒ‚‚‚€€€ƒ…‡ˆˆ‡z€†‰‰ˆ†ŠŠˆˆŠŠ‰‰‰‰‡‡‡‡ˆ‰‰ˆŠŽŒŒŒŠŠŠ‰‰Š‰ŠŠ‰ŒŠ†ˆ‡†ƒ‚€€€€€‚„‡ˆ‚}†ˆ‰ˆ‡††……ˆ‰‰‰ŠŠ‰‡‡†‡ˆ‰ˆˆ‰„‰ˆˆˆ‡‡‡‡ˆ†~€‰†ˆˆˆ†„€€‚‚‚€€€„‡…†‡Š‰ˆ‹ŒŠˆˆƒˆˆŠ‹Š‹‰††…†ˆˆ‡…„…ƒ„„„„ƒ„……ˆ‡ˆˆ‰‰ˆ†„ƒ‚‚ƒƒ‚‚€‚…†~{€€}zz€†‡‰ŠŠ‹‹‰‡……†ˆ†…ƒƒƒ€‚ƒƒƒƒˆŠŒŽŽ‘‘‘‘Žˆ…ƒ‚‚ƒ‚‚ƒ‚‚€€„†zvrqrrqq}ƒ‡‰‰Š‹‹‰‡……†„„†††…ƒƒƒ„†Ž“““’‘‘“’‘“’‹ˆ‡„ƒ‚€€‚‚‚€ƒ‚ƒ€}{{zz{||†ˆˆŠ‹‹‹Š‡……ƒƒ…‡‡…ƒ€‚‡‰„€‡ˆ†~~‚Š‰ˆˆ†ƒ€€‚‚‚|{}€~€~}}~ƒ‡ˆ‰ŠŠ‹‹‰†…‚‚ƒƒ„„€€‰‡}yy~‰‹†{yx~‡‹‰ˆ‰ˆ†ƒ€€‚‚‚‚zssvzvx|{~}}„ˆˆ‰Š‹‹‹ˆ…‚‚ƒ‚€€ƒŠ‡…ƒ‚†‹Œ‰‚‚ƒ…ˆ‹Š‰ˆ‰ˆ‡ƒ‚€‚‚‚‚zrqrttx||}v~~|†‰‰‰Š‹‹‹‡‚ƒ‚‚‚‚‚‚ƒ‡Š†Š‹ŠŠ‹ŒŒŒˆˆŠŠ‹Š‰‰‰ˆ‰ˆ…ƒ‚€‚‚zrqru{ƒ‚}}oz€~}ƒ‡‰ˆ‰‹‹‹‰ƒ‚‚ƒ‚‚ƒ„†‰‰…‡‡‡‡ˆ‹‹ˆ†‡ˆ‹‰‰‰‰‰ˆˆ†ƒ‚}ttsx„ƒ€€hm|}{~ƒˆ‰‰Š‹‹Š„€ƒ†„‚ƒƒ…†ŠŠ…††………†‡…€€„†ˆŒ†‡‰‰‰ˆˆˆ‡„ƒ‚€||{|€€jir{}~†ˆ‰ŠŠ‰Š…‚„„‚ƒƒƒŠ‘’‘‘‘‘‘‘’””‘„…‡ˆ‰‰‰ˆ‰ˆ…ƒ‚€€€€€~kkkx€~}ˆŠ‰‰‰‰†ƒ‚‚ƒ‚ƒƒ‚„‹”•””•””•”••””••‘‡‡‡‡‰‰ˆˆˆ‰‰‡„‚‚nmmt}}„‰Š‰‰‰‰ˆ‡……„…†„…ŒŽŽ‘‘‘‘’‘’‘ŽŒ‰ˆˆˆˆ‰ˆˆˆ‰‹‹…€‚†…†††††omjny€~}€†‰ŠŠŠŠŠŠ‰†……†††‹ƒ€‡ŽŽŽŽŽŽŽŽŽ‹ˆˆ‰‹†€‚…††…………klhikz€}}ƒ‰ŠŠŠŠŠŠŠˆ†…††…‡{€ˆŠ‰ˆ‡ŠŽ‘““““”•””““““‘Šˆ‡†…ƒ€€€€nmhhes€~|†ŠŠŠŠ‹‹ŠŠˆ††…„…ƒ€€…†„ƒƒ‡Ž‘Œ‹‹Š‹ŠŠ‹Œ‰ˆˆ‡†…„ƒƒ~€ljgffl{€~}€‡ŠŠŠŠŠ‹ŠŠˆ†„„………‚ƒƒ}‡Š‹ŠŠ‰Š‡ˆŠ‹ŠŠŠ‹Š‰‰‰‰ˆ‡‡‡……‚€€€€fggghiq~€~}‚‰ŠŠŠ‹‹Š‹‰‡…ƒ„……ƒ‚‚€€‡‰Š‰‰Š‰ˆˆŠ‹‹‹‹‹Š‰ˆˆ‰‰ˆˆˆˆ‰†ƒ€€hhgfghhu€}ˆŠŠŠ‹‹Š‹Š‰†‚‚ƒ„ƒ‚ƒ€‚ˆ‰‹‡†‰ŠŠŠŠŠ‰ˆ‰‹Š‰ˆˆˆ‡ˆˆˆˆ‰ˆ†‚jhgegihr€~~„Š‹ŠŠŠŠŠ‹‹‡‚‚‚‚ƒ‚…ˆŠ‹„€‡ŠŠŠŠ‰‡‡‡‡‰‰‡ˆ……‡ˆˆˆˆˆˆ†„ihgeijhn}€}€ˆŒŒ‹ŠŠŠ‹‹ˆƒ‚‚€‚ƒƒ†‡ˆˆ†„‡‰‰‰‰‡‡††…ˆˆ‡‡„„‡‰‰‰‰ˆˆˆ†ƒjjihihhku€}ƒŠŒ‹ŠŠ‹Œ‹Š„€‚ƒ…‡††ˆˆ‡ˆˆˆˆˆˆ‰ŠŠ‰‰ˆˆˆ…‡‰‰‰‰‰‰ˆˆˆ‡mljjnkijq}‚~‡ŠŠŠŠ‹ŒŽŒ…‚ƒ„„ƒƒ†Š‹‹Ž‘“’“”’‘…ˆŠŠˆ‰‰‰ˆˆ‰‰lmnoqpmos|€~}~‚‰‰‰‰‹‹ŠŠ…‚„„……ƒ…‹‘“•–––––——˜——˜˜˜˜•Šˆˆ‰‰Š‰‰‰‰‰ˆ{zzzzzzz{zz{{zzzzyyyyyyyyyyz|‚„ƒƒƒ„††‡‡‡††ˆ‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzyzzzzzyyyyyxyyyyyxyyyy{~‚ƒƒƒƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyzzzzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒ‚‚‚€zzzzzzzzzzzzzyyyzzzzzzz{{{{z{~€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…‡‡‡‡…‚ƒ‚‚€€x||{zz{{zzzzzyyyzyyz{{}~}|||}€‚„„„„………„…‡‡†……„„ƒ„…†‡‡†…„‚‚‚€€{‚~|}~|zyzzzzzzzzz{}}~}}ƒ‚ƒ„…„„……‡†††††………„„…†‡†††ƒƒ‚‚‚€ƒ€€~|{zzzz|zy{||}€€€€€‚„…ƒ„„……„„„„…†††„…†………„…††††‡„ƒ‚‚‚€~€~}|{zzz}|{€€ƒƒ‚‚€‚ƒ…………„…………„„„…†…„………„………†††……„ƒ}}~€€€€~~|{}€…†……„„ƒƒ„ƒ„…†††………………ƒ„…………„„„„„„„††‡†…„ƒ‚‚‚‚{~}€€€~ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡††††…………………„„…„„ƒƒƒ„†††ˆ†…ƒ‚€‚‚}|~€€‚‚„†‡†‡‡†‡†…„„„„…‡††…†………………………………ƒƒƒƒ„†…†‰‡…‚€€‚ƒyzx|€‚‚‚‚ƒ‚…†‡‡‡…†††……„…‡‡‡ˆˆ†…………„…………………„„„ƒƒ…††††…„ƒ€€‚ƒ~ƒ~~~„‡‡‡‡††††…†††ˆˆˆˆ‰†…„„„„„„††‡††„„„„„††ˆ‡„‚‚‚‚ƒ‚ƒ„„‡‰ƒ€|{z{||‡ˆ‡‡‡†……„„……†‡‡ˆˆ†……ƒ„„…†‡ˆ‰‡…„„„ƒ„‡‡‡‡ƒ‚‚‚‚ƒ……ˆˆ…ƒ~€€€„‡ˆ„~~~~~~‚†‡…„„ƒ„„††‡ˆˆ†…„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ‚„„ˆ‡„‚‚€€€€€€ƒˆ‡||}~}}|}ƒ‡…ƒ„„„„…‡‡ˆ†…„„ƒ„……ˆˆ…ƒ‚ƒƒ‚ƒ…ƒ…„‚ƒƒ‚‚…ˆ†€||{|}}{z|~|€†…„……„„…‡†‡‡…„ƒ„„‚‚~}~€€‚ƒƒ„…„‚‚€‚‚ƒƒ„ƒ…‡…~|}|zz|xx~{~„„„ƒƒƒ„…ˆ‡††ƒ}~||zz{{{|}~~‹™  Ÿ  €€€‚‚‚‚‚‚„„‚}|‚yxyvy‚||ƒ‚€€€€ƒ„„„…€~}~€€‹Š‡…ƒƒ~~}}}}}|}}~~€|{„zyzy|…„||€€€€€€€€€€€ƒŠ„ƒ„ƒ‚‚‚‡ƒz{{{zzy{}~}|||}}}}||~{{||~†„||~‚€€€€€€~€ƒ„ˆ‡‚€€ˆz~|{{z{{|~}}|}}~}}}~}~~~‚}||€‚€€€€€€€~ƒ‚‰ƒ‰}y}‚}{z{}{||}~€~~}~}{|}|||}}|}|||z~€€€€€€€€€~~€¦»›Ž}y|{y||}}}}}€€~}}|}~}|}||}~}}}}€~~€‚‚€€€~•¦——Š„†Šˆ‹Ž€~}|}|~€€€~}}„~~~}~~~‰Š~}}~€‚‚€€€‰¡©®«¦¨­¯¯}}}}~~€€€~}‡ƒ€€‚‚€~~}|}}~€€€‚‚‚‚€€’½ÆÈÉÃÄÉÍ̓€~}}}}~~€~€‚ƒƒ€‚„„}{zyyyxxxxyz~€€€€‚‚ƒ—ªÁÉÐÕÔÕÕÕ„ƒ€~}}}}~€€€€€€€ƒ„|zyzz{}{{zzy}~€€€€‚‚„¡‰Š•›¡¤¤ ‡„‚€~}}}|}€€€€}|€€€~||}€~}}~~||}€€‚‚¯³•†}†„}€‚“‰‚€~}}}}~€€€€€‚†‡‡‰†}||~~}yxz}~~~|{}~~~€€€°ÎÎÀ°½»¡‡‡„„ƒ‚€~}}}}~€€‚ƒ„…††‡ƒ}|~€€~yvx|€~{||}}~~~€€®ÍÏÏË姖„„ƒƒ‚‚€~}}}}}€€‚‚ƒ}|}~~|{yx{€€}{||}~}~~~~€©ÍÏ΢Œ~‚‚‚‚‚‚€~}}}}}~€€€€€€€€€|||||||{{{}ƒƒ}||{}~~}~~}~ ÌÉÍ«€~„ˆˆ{}‚‹‚‚€~}}}}}€€€€€€}|||~}||}}}}|{~~~~~}}~~€Œª™£€€‚ƒ„}{ˆ‡‚ƒ€~~}}}€‚€€{yxyzyzzzyyyxxwvy€€~~~~}~~~€‚‚ƒ‚‚‚‚‚}}€‚ƒƒƒ€~}}}}€€€€{wvvvvvvvvuvwwvux€~~~~~~‚€‚‚‚ƒ‚‚ƒ}}~~~~€€€€{{zxvwwxxwwxxxxyy}~€~~~~~~~€‚€ƒ€|€‚ƒƒ‚~~~~}}}~€€€€}{€‚~zyyyyzyyyzzyzyyyyzz{}~~~~‚€~~z|}€‚‚€~~~}~}||~€~~„…ƒ}||}}|yyxxyxyzzzzzzz{~€€‚‚‚‚‚‚‚~zzzƒ•ˆ~~~~}}|}~€€‚ƒƒ€€‚‚{{|{||}}}}||||{|€€‚‚‚‚ƒ‚€~ywy}„Š…‚~~}}}}|}€€€~€‚………||||{||||{z{zz{{~~~€€€€‚‚€~zxxz‚‚ƒ~}}}}||}€€~~€ƒ†„~||}}{{{{{zz{{z{|}~~~~€‚‚~zxwxz€ƒ‚‚~}}}}|||~€€€€€~|z{yz{zz{|{zz|}~~~~~~~~‚‚~yxyzzƒ‚‚€~|}}}|||}€€€€€€€‚„~||€ƒ}{zzz{{{zz{|}~€~}~~~~€~{x{{{~‚‚‚||}}||||€€‚‚€‚ƒƒ€}|~|z{{{|{{z{||~€€~~~~~~~€~|{}~~€‚‚‚‚~}}}||||€€‚€}}}||{{|{|{|||}}}~€~~~~~~~~~‚‚„„ƒ‚‚‚„„‚€~~}}|||}€€€€€€~~||||zz{{yyyyyxxwyz|~~~~~~~ˆ‰‰ˆ‡…………ƒƒ™~~}~}}|}€€€€€€€€~|yyxvvuuvuuuuuuutttv|€~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÎÍÏÏÏÎÍÎÍÍÍÍÍÌËËËËÌÌËËËÌÌÌËËËÌÌÍÍÌǽ²¬¡Ÿ‘€{phlwjjilkrcgbV]a[\c\T[a]_VPOSZW^e`dSTVVUVTTYUOV^^[XTLD=9<:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÎÎÎÍÎÎÎÍÍÎÌÌÌÌÌËËËËËÌÌËËËËÌËËËËÌÌÎÏÎƳ›¥•vyr]^_q|m[^kjg[YZ\_YVTO^g_[ROOPXV\fggOU\`YQPLQRX^b[UPMI@?76521/86ÌÍÎÎÍÍÎÎÎÍÎÍÍÌÌÆÁÅÀÇËËËÌÌÌÍÍÍÍÌÌÌÌÌËËÌËÊËËËÌÌËËËÌÌÍÍÍÍÎÍÍ¿¡‰‡omlmkjlpu}y^`_bcYZ[Z[\QSW\bYZYVSQTRVYdcQQY[TLNNRQ\b`aYQGA?;851110/1ÌÍÍÎÎÍÎÍÍÍÌÌÌÌÍÇÁÅÂÊÌËÊËÊÊÊÊÊÊÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÌÌÍ˳—‘xkovzs|ecb\fXabbZZWV`WRYdcQOSVWSNLWPWgQNTXYOLROOX`^`TTUNG?<84320--ÍÍÌÌÌÌÌÌÍÌËÌÍÍÎÈÀÂÀËÎÎÍÎÍÍÌÍÌËÊÊÊÊÊÊÉÉÉÊÉÉÉÉÉÊÉÈÉÆÈÉÉÊËÊÊͽ’‚€rak{lag`_`ViaWWTSN]`^_qlYOOTZTMITRRYTYZXUNOQU[_XVYQPXNH>>A<520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÎÎÎÎÍÎÍÍÌÍÍÍÍÌÌËÊÊËËÌËÊÊÆÉÊÊËÌËÇÅâŠxxph_jlla``]W\`URZRRPZefegcgUQVYSPRTSQWRY\aURTQY[]XXSSPQOI>?>7651.3ÌÌÌÍÍÎÎÍÎÎÎÍÍÍÎúļÇÏÎÎÎÎÎÎÎÎÎÎÍÍÍÍÌÌÌÌÌËÉÉÌÍÎÌÊÇÅÉÊËÍÎÌÆÄÀ±™{{pcVS`\Y[_`^a^WTPJMTY`adh^[SOPPOKTRSP^LTUYZWZY^Y[VRQSNQKFC?B;531.3ÏÎÍÍÍÎÎÍÎÎÎÍÍÍÎþÌÁÅÎÍÎÍÍÍÍÍÍÍÍÍÌÌÍÌÌÌÌÌËÉÉÉÌÈÄÂÃÁÆÆÈÌÌÉÁ¾¼©~xqVSRQMUWmodaa[XMD@MXQ[`a]VSQKLKHLHPKXNQTUVVZZZ[]XSOSMVNCHA@>3/.--ÏÎÍÌÍÍÍÍÍÎÍÍÍÍÍÄ¿ËÂÃÍÌÌÌÌÍÌÌÌÍÍÎÍÍÍÍÍÍÍÌÊÈÈÅÈÀ½¹Á½Á½ÄÊÈû®¢¤Š}xs^UWYXgh\ned[TUQQUTcSOZ]ROVWQKIFNPQYXQPWYUTWWTNPZTRVOWW?57220.---ÎÎÑÕÒÍËÌÌÉÈÉÉÊËÿÈÁÀÌÍÍÌÍÍÎÍÍÍÍÍÍÍÍÍÍÍÎËľº¹¬¿·À¶½Æ¿¼´¥†„|n‡vb\_Z\ejUn[R[TNST][VNPSWRQRUWKKKSSRZg\NVWVVUUYQK]XX[[MD<6540.-,,-ÍÚéïìâÓËÉÁ¼½ÀÄÇÁ¾ÆÁ¿ÊËËËÌÌÍÌÌÌÌÌÌÍÍÌÌÌÌÌÄÁº´½·° º±½´²¿´º³˜‚yzkfbabaT[aZUeZRZ]PSRV[TUTNMMKKMSYUOROQQcZMY[XRMOXWOWXPLJA8=<:72.-,-.ÛîЭºáêξ¶°¯µ¸¿ÁÂÉÅÁÉÌËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÃÀ³«©¬¯¥œª¬¶¯±µ«ª ‚svskkR^dZWcVP\h]X^XLPQS[``TQLLKMRLVWJOTNR]]Xa\TOKMYWQWPPVJBB>;;962//.-íËygm›ãÛµ¯­­³±¾ÃÅËÈÄÊÎÌÌÌÌÊÆÊÌËËËÉÈÇÂý¼²¡šš¤¤˜•¡««¬¬§£˜„slhekm[UXVa_VV^[Z_VSWTSUU_WQSNNSURRUWQPWPRX`Y]WX[U[^SRZVSP@?F;87775300/æŒqso‹Éè·¬ª®°²ÀÀÅÊÇÁÊÍÍÍÌËžÈÌËËËÇ¿·°±±¶«ž”˜™—‘£±¬¬ ˜™xieeUf^QLHOX`XQQ[e]`n[\`\SWNPOOOQVRTRUXR[ON^^]gZa]ge_RPMMJK@<856779<@?£O>PFbŒçïÎÀâèÁ³À÷·³»ºÊǾ¬  –‹œ–š•‡‰Šˆ…„‚€y~„~|vxvqqmkfX\d`aXRRXW]]aXT\SX^ZVQINLNIBCEA?EEDBRGTW[W`a`\RcaVWWQKGDF975678D[͆íìëííìííííëçääè´Œ‹Šƒ‡ŠŽŠ~‚ˆ‚Œ–‡†z|„ˆ€}Š‚y|wtttvsbVQZYZVYVNYY\_defkolQ[\SMQQGDENVQQOOOIJWZ]YNN^Z_\\geV^SA::<<;::9:>==>><`_`bdkkpÇòìèÚÑƾ¸±¬¯´¹·¼¯ƒ|~{}„€€€‚†}|€†‡~~}usuurrsf\^[NPZXZ\SU^ae^]UZaaSUMLKRLHA=CPSU_ZZafl`\^W\TYSSUVTA:897799868:???=JJLMLOTp¿ïìØ…[TPNSKKKPPSwxz}€}y{€}}€~x|}~„„€|z|tptyxsokg\SMKXV[RTW[ZVHW_Z]VY_VKMUOMJLOOPSUYW[md[[ZZVYXRVKLJ?874]{:7988;BECETSSTw¥¢žäÙ¹TDFJTeTOQNKFG}y{€~x}‚}w~{|~{|||€}xwomwxzqg`aSRRD@MVVUXZOKITXZ\UZd_SMLIKNMMJHJNWWZ\`Z^WURWOKMHA<8776TŠ?889;=TaYXJ?=:@JNWaZSWZRWYNLE<;997673…ãP28;;DGI[hXTYW[[SGC@:7787795ƒáP09<>BGGCOîïðí´\ME[¼ÂÌÃÅÉËÐÑÑÐÏÏÏÎÌÏÊŸŠ|{~ˆ‘™¥ª¬¨¤¡œš”‘”“•—™ž¢¥¤Ÿ€ffcc[flbYMPZYUQTZW_YVZdYOICB@ACA?>CIC>JZij]LQeRG@;<:7;;::=7vÚW4=<>CJICSíìÒÈ”XJET©Ï×ÜÞÞàâãäããâáàÞÜ×™z‚€|{¢š‰„|sgc`aj€h`b\WZ]begqif`\\X\YNOVTMOS^[YX[][TULF?BGJB=BQQJT[^gŠnQVXKA;886:?BA??;zæ_8?9KUNdkgt‡j[]RIA>;:=EKIC>?:ñd8<6=HGV_fnxzjpMHIX¥ÙßêééÚš•»ÇšÑëááÛш}|u{k>Uco|†ŠU87/,046H``bceZ@Qen`SV]YX\TPSPSQ[^[d]UVQOIHHCGJGDHNNTikhsqdbjhWQLKPTSURHFL:~òj777QXYdee}}|nTEEAL–ÚãçêäæÑÍßáÒÎâçèãáÙˆz}y‚QEu˜¡§©¬”xaIEGNMLI>466@[B[ibUNVZ`YXSMNWUZc^aXPOURME@=HU_X\fhmc[WX^bdjlkof]ivsnjcdeK‚ð|OMYuuvxzzFEGIG925B{ÓíëëêëìéëêååêéêëíØ…{|{zHViµ¶µ³¯©£½–w„JNMA9655aTOaa^SWYYTROOMS[XSXZTMPYSQU[Yq€ubjwkZTW[]]`ffl~„‚ƒ€}‚‰€•§À¨ žœ˜”•nnprw^-1>kÉòïïïïððïîïïííïïðÎ{xz~hYW;kpdYWY[Ž‹uˆuKKM_`I33NrE^a^ZZUUQTYZPPYVOMNT\ZX[ew€…‹‚bcqjSQY[[[\diku~{yyss|ˆ‹•œ|“Š}yuqonlgeeyyxwxoVW\p¥ÌÌÊÍÎËÈËÌËÏÑÓÓÔÕÀŠ‚{„TsJ22333=LLIKNLJLEIsmX3FnMbrnmnkpx‡‘‡‰Š‹°—€€{w}|lbmmcW[`^]\`gfiqfc`bct|w›{W[XUQPQNMLLKJJppoopptwyyxz|}€€‚€€‡–’ƒ‚O~;36DTH?MMMMMMLJLJqwU6J‡žgXtuvwyxwtttuvwyz{‚‰–¥²´¬š‹|rlklmmlhda]]][Z_^ZZ[\\_cea‹YK]agnswa;77787omkkllnpsuutsssvx{}}~~}}}{yvtuxs[353^€FJE?>>DLKPFZuf:6.`†Ihijloqttuuutsqqqqpopt~Š™¦¬¬¨ ~sggfdb_[ZWZXWWXWVXWUb‰P‰œž¤©¬°£T<65;83ƒIk^OP^dccbaccehkoqsvwwuqnljmopomlp}Ž«ÂÁ§ˆrhggffeb]e ][>W948:9L]PCAM\uuuvtpkhffehkllmnoopponlooXOTv{R˜W]mOx_UGJNQUQNOMVqŽ„Q=9;4qb?bD:6Difdb`a_^^acflortvvvtokghjnomkjkyš¼Ë¶uhfijhd{ŸST;R649=9>G:338Suuuuutqkhfdfgiikmllmmnmmo^7<9iq?YFTV8AAAENSVSMHA?CA]\LLD77:8<<571Blmifcbaa```achlprsttvurmhgikmonljr‹«ÀÁ©Œwlhn”NK6?57Nh^C734439qrstuutqnifeddehijjjkllmm]4234>K:64347;;654446758878:;=<:<>IF04@L_ijmljgcba`aa__bfjmprtvvvtpkggjmnmlihr²­|`Z{”CF?B>IEJDAVwqCDD<653jlnoprqqqplfb``aabddegijkkmk‘¬JTD;99878866777666756677789:;>APolijhgeefknnlgcabba_]^_dhlnprrsttrjedfikkkiVT_qv_=~qPEB@SG?GHDNK@iklmorrssrpmhdbabbccdfgiijji”ºYJ<78886655565654554444556775AHOgljlkkiecehmonlifeffdb`_aeiloprrstrpjedeijl[OWY_r\?cm@78;?AAEIL_pofiklnqrssrrpmhebbbbbbdghhjjhƒ¥`LL?05655444544455333332@’«¤ŒKGjkmlklljigdccfillhdbaba`^]^adikmopqsrrqledhko«—hzqtlkeTQ`mmlkiijj^adfiklnpqqpopmgca``_`adgghjpdRƒ££¹z:0/0112454/5532101.:€ªž‘QCdhlkkkkllljfcbbeghhfc`__^]\\^_bdgkmnoprqnjdgq¢œpldg\YZYWimc_\YYYY„[bdhjkmoqrpqpomhcaa`_`bdfghqW0y¦¿£»BF>?<<87Kv@]cjjjjijkkkjgecbacfgeb``^]\]][[\^adijlnnnnkih—•q_U[YWWVVZ[XVUUTVWÆ|[dgijkmosspppokgcb```abdeb^N,Q«ÐÁðè§\X[m—[tÃW_tm`Y|«ÜóåÍÈc:;P¨ÑÍÌÆÇÇ»eZqjjjjkkhdb`adhihfca^^^^][\]Y?@EJNR]p–•Ø÷šLG?ŽÛj~·VWy·ÃÍ[_degijlmnnoommlida`aK...037DHNXot·àÙÔÐÌ¿¼À•Vm¤àÝÞÝÞÞâ€\f^XO¥äßÛÕÕÜßwqQikjjjjkihgca`cegiigb_^]\\\\Y??DHMQTWXa˜šyrk`^ÐÙ¼OJO‡»ÁɈX]acehijlmnnmmmkhdabK///2?X»;>C=6882754v›QjTA;::998898Dt]HC636:<97KhPfedeeffghihjiheca__bghiifdH35bLaf[_egfffeeeeghhhda___afilE-;INQS[^_dWB44269<>;qklnfSUg†»ÆÔºi^cdghhiijjjkcYC-951;LHC;78.**0J\^k–‡XOVMMGCDGFGEFJ;766@BQWggOILK?MG^_l“ydaeddeeefghhheb`^^`djD);GHKo¬cVGM:;;>=RbPklnlgZOOQÂÇÕ¦^_abdefhhhhhbXE075209885.-,-/:cƒ–‡wZ:>D@HRURIH?LTHB9;HQPONF@<9?<5?Yrr–qQ^dcccceefggggdb_^^`fC&;D@C”ç†_UVMHRPMJOOInrpnneSMKUŸÄËÓŠY_acefffegfd]J40//-)%%%''''(/Orƒ’‚ocGABEOUPIDCCTNGFFINSWWULMNNPRVY_s^jLRbccccbbdeeeegfda_^]a@$9A=Afˆi^ceX<544:BBCmrqstwgTNIh¹ÇÐÄl]abdefeeedb_WC53555667776899?GTyop_^\[YWXZ[[[Z[[]]]\[[[\\\[\\\^`afQFV_gecccbbcceeddedcb_]_>"6<;=DNV]hpsk^]_bcdemmljjke\RML’ÄÈÖ¢Z_`bdeeeddcb\SOLLMNOPPPPQRSSRNLJucoZZYYXYYYYYYYYYYYYZYYYYYYYYYYZ[_^>Laa‰tacdbbccdcccddddb_^="57659?CKUV\_[XTQOPQmebcd`b]SMJb²ÃÍÎwY`eedeeeddda\\ZWVVWVVVVWXZ[\\cMD[pVXWXWXWXXXXXXWWXXWVXWXXXXXXXXY[fEXebb__`bbbbccbcbcdde`ZR:#62=F-(())&&%%$###$$ifggqmhbRKLK‚¿ÄÒ³_^cdbcdeeffda`_^^][ZYXWWY]`bdlZ]prRVVWWWWWWXWWWWWWWVVWWWXXXWWVUUW]U^eccjnobaaababbbbbb^PKI7"42CaI3.-21.-.//-+*+llgfnmpiSLLKV¤ÁÈÒ•`_bbcceffffcabbba_][YXXZ]`chndzsu^`\VWWWWXXWXXXXXWWWVVWWWWVSP[msTg`bac°××¢a\^`ebbba`\XRMJ8"32-(,8::9976;@BCA@?hqjgmnrqf[NLKq¶ÀÏËr[accceffffededddb`][YYZ[]_bciƒx{†Œ‡bXYYZZZZZZZZYXYXYTSVZ_gr‚œ©¬š Ÿž ž°ÑÓ΢Ž„svrbaaba``XL<%30,).3111/.-/234655svmjqpnlnoYLKN¿ÅÖ¯_acccefffgffffefeb_][ZZZ\^^Zp|‚¹ÐË’cZ\]^]^^]]\[\[`„y‡›§«°³³±­ªª©©¨§§¥¢¢£ª®±³‰baaaa`__]SA.1,++3+%%$#"""!!""""qpkhlmhfijdLJK[©ÀÉÕˆ\cdcegggghggggffeb_\[Z[[\]UmskˆãçàÙŽ`ddggikllmuqk‡‹­¯¨£ž™•‘ŽŒŠ…ƒ‚~~~~}~~…Œbhh```_^\XRC5--/1/123689:999410olmdhkotqmhQILKv¼ÀÑÂk`ddeghgghhhhhhhgea^][[[\[ScZOvåÚÆëÙtlqrssuvvy€|™kŽŠ„|tmf`]XTQPNNNNLKKKKNSSZ]qr_a`__^ZWTNJHIHILPTY_``__]VQQcchfejqsosr_LJYd—¿ÄÔªbbddehihhiiiiiihgda_\\\\ZRYNIVµ°›êãzq{}€‚…‰“˜‚Šb`YQLIHHIKONO]_ONMLKJIGEEDCCIabaa`_`^[YWVUUUUVUUX]aeggda^[flmhnojlospkSILLW¤ÀÈÕ]bddfghhijiijiiigda^\\\\MGMJLQWd¼»v“±º¿ÄËÐÕÝÝÓhJEDBCCBCCCB@>@@:9998778899888B]aa````_^]\[\[\[[XXZ^dhiihe`zusptpjjkjhkdLJJIm¸½ÍÉs\bceeffhiiiiiiihfc`]]\]LDOIJLRXakÕ±kefegeÙ³‰I<:9987777777543789:866677667<;Oaa``aaa`____^]^_][Z[_dikkifx}plkighjmiaOJMKK¾ÀÔ«[\`bcceffhhhiiiihea^]\^MBMEHLPW_p¥åm.56671póÉr<;:<=?ABCDDmw=00000000123:?@FLRPRN<24B=B”XUVV]bbbccbbbababa_]Z\`lklmrusprkjlkjoePJKKL‹ÆÉÕ¿jcefgihgfghhggffgfcaD-@JDVsx_Vi’ D}¸¶´µ­„A>>127_€}{B441////124AEFMS\Y[]I32>?9™íh/44?acbbcbbbabaaaa_\Z[krurprpkoijieirbKKJKK]µÉËÕ—`eefhhgggghgggfffecD1CFBD}l=?>:::Rˆ†ƒL?A7//..029IDTJU_[XRF529A9^©_1653Xcbbbabaaaaaaa`^\[pvtoiijmnijkvste_ZLLMPƒÇÇÐÉubffghggfefgfffggfdE09EE^ÃáµZSiˆSj„X=@@CJ>?LOJCAB5344442384@:6/3>Sbbbbaa```a`aaa```^rmmnktnpisqutt{k]SKJLKxÄÃÍÓ‡beegfffdeggffff`Y<(58BEGJS]dw?4`TCBAA7=RPG>?>=;:98:;;98895565446866=O=?6255344323467@CA@?@F:899::89:;=BDA9)3/54.,+2B\_`bcabbaaaa`aaaa`aaaa}xvysnqa`gqyqijdZKKJT[Y™ÃÁÕ¿f^`bbddddcddddcX?)1.62/338=?@AB@r£°QftF?BCCCDIORSSX[adddcbehiiikkmlmjiumf‡mAUa^bhifdcccaaabba`aaaa‡††††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…„‚~|xutttxyxyzzy{{zwuxyz{{zyz{€€€††……†††††…†††……†††††‡††††††…†‚|yuuuvuvyxxywz{zywtvvyzzxwy|~€€€……………†††††…†………†††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyywxy{}~€€…………†††…††…††……………………„……„………„‚€~zyyxwy|{yxxz{{zyxvvxyyyzz{~~†……„…„……†……††……………………ƒƒƒƒ„„„ƒ~|yxwxz|zzzz{{{zzvvxyxyzzz{€€„‚‚ƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚‚€~|zywxz{zz{}|{zyywvxz{zzxz}€€€ƒ„†ƒ‚ƒ„……………„…††„„…‚€€€€€€}~~~{zzwwwyzz{}|{zyxwwwxxyzy{}~€€€‡Šˆ‚‚ƒ„…††……‚„„„‚‚~}~€~}{|~|zyxwxwvy{}}||{yxyxwuuxyy{}~€€„ƒ…‚€€‚ƒ„…††„‚ƒ€}zz{{{||}}}||z{|zzzxxyxxzz||}}|zwyyvuuwwx}€€€ƒƒ†‚€~~€ƒƒ|yxxwxx{{z{{yyxy{yzzyxyyy{{|}~}|zzyxwvvvuw|~€€}‡‡Šƒ€€€~~}{zyyyywwwzzxyyxxxyzz{{yvwxwz||}~}|zzxxzwvvvw|~’Œ€~{zxzywvwwwxvuvvuwz{|zzyuuvwz|{}~}{yxwwyywxy|~~~‹Š‰‰ƒ…‡ˆˆ‡ˆƒzxvyxvwvvuussuuuw{|}zyx{|zyy{|~~}{yxwwwwxz|€‡}|‚}‚‚‡ˆˆ‰ˆ‰†~xvwwwxxwvuvvvuuwzy{yyz||z{z{}~~~}{yxyyz{}€€ˆ€}{€‚……„…ƒ„…€xuv~ƒ†ˆ‰ˆ‡ˆˆ‡ƒwvywyyy{zyyy{}~~zwwyz|~€€~~€|y~€‚€€€€wu€ŽŒŽŽ‘ƒtxxyyzzzyxxz}~~|xttvw{~}}~}}~wq}~wtƒ‰ƒ€……‡‡…‡Šˆwwyxy{{yxxy||}zyxvqpqqostrrv{~~ytv}~‚‚‚€~xw„†‚‚ƒ‚„†„†‰‡~yyz|}|{{{zxsoioosssqojhhgfu…ˆˆˆˆ‰‹‚‚ƒ…„„ƒƒƒƒƒ‚ƒ~€…‰ˆ…‡††††€ˆ…‚‚‚‚‚ƒ‚}xuvxyzyzyxxyxusˆ‡…†ŠŠ‰ˆ‡‡ˆˆ‰‰‰‰ˆˆˆˆˆ‡…†Š‡†‰Šˆ‡ˆ‡ƒ‚ƒ„„ƒ‚‚ƒ„„…………‚€€€€‚‚„ƒƒ…ƒ€ƒ†‰‰‰‰ˆˆˆˆˆŠŠ‰Š‰‰ˆ‡……ˆ‡„‡‰ˆˆ‡~ˆ‰„‚„……„‚‚‚‚ƒƒ…†‡††…‚€‚ƒƒ†ˆ‰‰‡„ˆ‡‰‰‰ˆ‡‡ˆ‰‰ŠŠŠŠ†…††……††‡†…„‚ˆŠŠ…ƒ„„ƒ‚ƒ„ƒ€„†ˆˆ†…ƒ‚€€„ˆ‹‹‡†ˆŠ‡‰‰‰Š‰ˆ†‡ˆ‰‰Š‰‡…Š‹‹‹‹‹ŠŠŠ‹‹ŒŽ‘‹ƒ„„ƒ‚ƒ‚‚‚€€€ƒ…‡ˆ‰ˆƒ|~„ˆŠŠ…‡‹ŠŠŠŠ‰‰‰‰‡‡‡‡ˆ‰‰ˆˆŽŒ‹‹‹Š‹Š‹ŒŒŒ…†‡†ƒ€‚€€€€‚„‡‰…|}„ˆˆˆ‡‡‡†…ˆŠŠ‰ŠŠ‰‡‡†‡ˆ‰ˆ‰Œ…†Š‰‰‰ˆ‡ˆˆˆ‰‚‰‡‡ˆˆ‡„€€‚‚‚‚€€€‚„†„ƒ…‰‰‰‰ŠŠ‰‰„‰‰Š‹Š‹‰††…†ˆˆ‡‡€€…‡‡††……………€‡†‡‡ˆˆˆ†„ƒ‚‚‚ƒ‚‚‚€‚…‡……„ƒˆ…€€€†‡‰ŠŠ‹‹‰‡……†ˆ‡…ƒ‚ƒ‚‚ƒ„ƒƒ††ˆŠŠ‹‹‹Œ‹Šˆ†ƒ‚‚ƒ‚‚ƒ‚‚€€ƒ†„|xusttsr}ƒ‡‰‰Š‹‹‰‡……‡…„„……„‚‚‚ƒ…„‰‘“”””••••••ˆ‡„ƒ‚‚€€‚‚€„„€}{xvvuw||†ˆ‰Š‹‹‹Š‡…†„ƒ…‡‡†„‚‚„‹ŽŒŠ‹Œ‹‹‰‰‰‰Œ‰‰ˆ†ƒ€€‚‚‚€~€‚‚€€€}}~ƒ‡ˆ‰Š‹‹‹‰†…ƒ‚„……„‚€‚€…‰€{z|…Š‰~{zz†‹‰ˆˆˆ†ƒ€€‚‚‚‚~vvw|{z}€{~}}„ˆˆ‰Š‹‹‹ˆ…‚‚‚‚ƒ‚„ƒ‚ˆ‰||~ˆŒ‹€z{}…ŠŠ‰‰‰ˆ‡ƒ‚€‚‚ƒƒurrtrtx|~v~~|†‰ˆ‰‹‹‹‹ˆƒ€ƒ‚‚‚‚ƒƒ‚„ŠˆˆŠ‰ˆ‹Œ‹‰‡ˆ‰‰‹‹‰‰‰‰‰ˆ…ƒ‚€‚ƒtqqsv{}{oz~}ƒ‡‰ˆŠ‹‹‹‰„‚‚‚‚‚ƒ„ƒ†Š†ˆ‰‰‰‰ŒŒŒ‡‚‡‰‰ŠŠ‰‰‰‰ˆˆ†ƒ‚€vrrt{…hm{}z~ƒˆ‰‰Š‹‹‹†€‚„„‚‚‚„†ˆŠ„…††††ˆ‰‡€{‚…†Š‰ˆ‰‰‰ˆˆˆ‡„ƒ‚{xxx~€€jiq{}~…ˆ‰ŠŠŠŠ‡€……ƒƒƒƒ„ˆŠŠ‰‰‰ˆ‰‰‰ˆ‡‰‹‡„‡‰‰‰‰ˆ‰ˆ…‚‚€~€~~kjkx€~}ˆŠ‰‰‰‰†‚‚‚‚‚‚‚‚‡’–•”••”•”•–••–—–ˆ…‡ˆ‰‰ˆˆ‰‰‰†„‚€€€€nnmt€}}„‰Š‰‰‰ˆ†…„„ƒ„…„ƒ‰‘”““’’’“““““’“‘Š‡‡‡ˆ‰ˆˆˆˆŠ‹‡ƒƒ„ƒ„„„„omjnx~|€†‰ŠŠŠŠŠ‰‰‡……‡†„‹‹‡‹‘‘‹ŠŠˆˆ‡‡‰‰‰ˆˆŠŒ‰ƒ€…‡‡‡‡‡‡klhikz}}ƒ‰ŠŠŠŠŠ‹‹‰†…††…Šƒ|€‰Œ‹‹ŒŽ‘’’’’’‘‘‹ˆ‡‡†„€‚‚‚‚‚ƒonhges€~|†ŠŠŠŠ‹‹‹Šˆ†‡‡„‡‚}}…ˆ‡‡…†Œ‘“”“’’’’‘‘‘’Žˆˆ††…ƒ‚~~ljhgfl{€~}€‡ŠŠŠŠ‹‹Š‰ˆ†…„……ƒƒ…ƒ‚‚…‹ŽŽŒ‹Š‰ˆ‰Š‰‰‰Š‹‹‰ˆˆ‡‡†……ƒ‚€€€fgghhiq~€~~ƒ‰ŠŠŠ‹‹‹‹Šˆ…ƒ„……„‚‚€„‰ŠŠ‰‰Šˆ‡Š‹‹‹ŠŠŠŠ‰ˆ‰ˆˆˆˆˆˆ†ƒ€€ihgfghhu€}ˆŠŠŠ‹‹‹ŒŠ‰†ƒ‚„…ƒ‚‚‚‚„ˆŠ‰‰‰‰‰‰Š‹‹ŠŠ‹‹Šˆˆˆ‰ˆˆˆˆˆˆ†ƒ‚jhgegjhr€~~„Š‹ŠŠŠŠ‹‹Šˆƒ‚ƒƒ‚‡‰‹‰„†ŠŠŠŠŠ‰ˆˆ‰ŠŠˆˆˆ‡‡ˆˆˆˆˆ‰‡„ihgfikhn}}€ˆŒŒŠŠŠŠ‹‹‰„‚€‚ƒ‚ƒ‡ˆ‹ˆ„‰ŠŠŠ‰ˆ‡‡‡‡‰ˆˆ‡„…ˆ‰‰‰‰ˆˆ†„jjjijihkt€~‚ŠŒ‹ŠŠ‹Œ‹Š…‚~€‚ƒƒ„‡‡ˆ‡††ˆˆˆ‰‡‡‡†…†ˆ‡‡†„†ˆ‰‰‰‰ˆˆ‰‡mkjjnkijq}‚‡ŠŠŠŠ‹‹†‚‚ƒ…‡ˆ‡ˆ‰‰‰Š‰‰Š‰‹ŒŒŒ‹ŠŠ‹†…‰Š‰‰‰‰ˆˆ‰‰lmnoqpmos|€~}~‚‰‰‰Š‹‹Œ‡ƒ…†„ƒ„‰ŒŒ‘’”””•”“‘’Š†ˆ‰ŠŠ‰‰‰‰‰ˆ{zzzzzzz{zz{{zzzzyyyyyyyyyyz|‚„ƒƒƒ„††‡‡‡††ˆ‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzzzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒ‚‚‚€zzzzzzzzzzzzzyyyzyyzz{z{{{{z{~€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…ˆ‡‡‡…ƒƒ‚‚€€x||zzz{{zzzzzyyyzyyz{|}~}|||}€‚„„„„………„…‡‡†……„„ƒ„…†‡‡†…„‚‚‚€€{‚~|}~|zyzyzzzzzzz{}}~}}ƒ‚ƒ„„„„……‡††‡††………„„…†‡‡‡…ƒƒ‚‚‚€‚}€~}{zzzz|zyz{|}€€€€€‚„…ƒ„„……„„„„††††„…†………„…†††††„ƒ‚‚‚|€~}|{zzz}|{~€€ƒƒ‚‚€‚ƒ…………„…………„„„…†…„………„………†††……„ƒ{}~~€€€€~~|{}€…†…†„„ƒƒ„ƒ„…†††………………ƒ„…†……„„„„„„„††‡†…„ƒ‚‚‚ƒz€}€€€~ƒ„„…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒƒ„†††ˆ†…ƒ‚€‚‚||~‚€‚‚‚‚„†‡†‡‡†‡‡…„„„„…‡††…†………………………………ƒƒƒƒ„†…†‰‡…‚€€‚ƒyyx{‚‚‚ƒ‚…†‡‡‡…†††………†‡‡‡ˆˆ†…………„…………………„„„ƒƒ…††††…ƒ‚€€‚ƒ~€„~~|z}‚‡‡‡‡†††††††‡ˆ‡ˆˆ‰†„„„„„„„††‡††„„„„„††ˆ‡„ƒ€‚ƒ‚ƒ„„†‰…}|zz{|~‡‡‡‡‡††…†…†††‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡‡‡‡„€‚‚‚‚„…ƒ‡Š…ƒ€€€„‡ˆ‡„€€€€€€€‚†‡…„„„„„††‡‡‡†…„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ‚„„ˆ‡…‚‚€€€€€€‚ˆˆƒ~}|}€~}}}‚‡…ƒ…„„„…‡‡ˆ†…„„ƒ„……ˆ‡…‚ƒƒ‚ƒ„ƒ†…ƒ‚ƒƒ‚„ˆ‡‚||||~~}z|~|~†…„……„„…‡†‡‡…ƒƒ„„‚€}|~€€€ƒ‚€€‚‚ƒ‚ƒ‚„‡†€|}|zz|zw{~|}‚„„ƒƒƒƒ…‰†††‚~}}||zz{|||}~}’•—˜š›€€‚‚‚‚ƒ„ƒ~|{xzxw‚}{ƒ‚€€€……„„…~~~€€€‡š›—”~~}|}~}|}}~~}{†}xyxy…~{€€€€€€€€€€€ƒŠ„ƒƒƒ‚ƒ‚‚ƒ‰}{zzyzy{}}}||}}||}|{}|z{{|„†}|~€€€€€~~€ƒ„‰†‚‚„‰{|~}z{{||}~}}|}}}~€~}}~}}~~~‚ƒ~|}€‚€€€€€€~ƒƒƒ„†y{€€z{z}|||}~€€~~}~€}}}}|}}}}}~}|{}€€€€€~Ž¬¢‹…xzyz{}}}}}€€~}}}|{||||||}}}}}}}~€‚‚‚‚€€}Œ²«–Œ~|€ƒ…€~}}}}~€€€~}}~Š…}~}}€~~~~„Œ~~}}€‚‚‚€€‰ˆ–žŸžœ ££}~}}~€€€~}~€Š‡€‚€€€ƒƒ€~~~~~~€€‚‚‚‚‚¥¹¾Áº·¾ÃÀ~}}}}~€~€ƒƒ‚‚„ƒ€€~}||||}}|{|~€€€€‚‚‰©ÈÏÒÕÒÔÕÖ„ƒ€~}}}}~€€€€‚€ƒ„}zxwwwwxxwww{~€€€€‚‚€’—ŒŸ©µ·º¼¹‡„‚€~}}}|}€€€€€~}€€|{|}~~‚€~~}||}}€€‚‚€˜±Š}}‚ƒ“‰‚€~}}}}~€€€€~€ƒ„ƒ„†€||}|{{}}}~}|}~~~€€~™Æŵ Ÿ­›†„ƒ„ƒ‚€~}}}}~€€€‚ƒƒ†ˆˆ‰‡|}~zwx{€€|{|}~~~~€~•ÆÐÑÌÊȽ¡„„ƒƒ‚‚€~}}}}}€€‚‚ƒ‚‚ƒ„}|}~{wwy~€|{|~~}}~~€~ÅÎÎʺ¨ˆ‰‚‚‚‚‚€~}~}}}~€€€€€€~}||||{{zy{ƒ~{||}~~|}~}~‚ŠÂÏÐÉš€~„ƒ{}‚‹‚‚~}}||}€€€€€}|}|{||||||…€~}{}~~}~~~~€…°º­±„‚††}{ˆ‡‚ƒ€~~}}}€‚€€€€€}{|{~}}}}||}~||{z~~~~~~~~~‚†‰†Š‚‚‚€||€‚ƒƒƒ€~}}}~€}xwvwvwwwwvvwvvuu~€€~~~~~‚€€‚‚ƒ‚~‚ƒ‚‚ƒ}}~~€€€€}ywwvwwwwxwwxwwwx|€€~~~~~~~€€€€„€|€‚‚‚‚‚~~~}}}~€€€€{|{xxxxyyxyyyzzzz}}}}}}}~}~}€~~~~‚~z|}€‚€~~~}}}}|~€€€~{€…‚|z{zzzzzxyyxxxxxwxyy{~€‚€€~zyzƒ”‰~~~~}}|}€€~ƒ…„€}~€{zyyyyz{{{{zz{{|€€‚‚‚‚ƒƒƒ‚€~yxy}„‰…‚~}}}||}€€€€‚€ƒƒƒ‚}{|{{||}}||||{{{}~‚‚‚‚€~zxx{‚‚ƒ~}}}}||~€€~}€„„…‚}|||{{{||{z{{{z{}~~~~€€€‚ƒ~zxwxyƒ‚‚‚€~}}}}|||~€€€~€€„…€}z||z{{zzz{{{z{}~~~~~~‚‚~yxyzz‚‚‚‚€~}}}}|||}€€€€€€€}z|‚~zzzzz{||{z{}}~~~€€~{x{|{~‚‚||}}||||~€€€€€‚†„}|‚€{zz{{{{{zz{}~€€~~~~~€~{|}~~€‚‚‚~}}}||||~€€€‚‚‚}}~~~z{|{|{||{|}~€€~~~~~~ƒ‚„„ƒ‚‚„ƒ‚€~~}}}}|}€€€‚€€~~}}||{|||||}|}}}~~€€~~~ˆˆ‡ˆ‡…„……ƒƒ˜Ž~}~}}||€€€€€€~|{{{zyyzyxxxxwvvvxx}€~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍÌËËËËÌÌËËËËËËËËËÌÌÍÍËǼ³­ €|pgkuijilkrcgaV]a[[c\T[a]_VPOSZX^e`dSTVVTVTSYUOU]][XTLD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÎƳš¤”v€y€q]^^q|l[]kjg[YY[_XVTO^g_[ROOPXV\ffgOU\`YPPKQRW^a[UOLI@?75521/75ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÁÅÀÇËËËÌÌÌÍÍÍÍÌÌÌÌÌËËÌËÊËËËÌÌËËËÌÌÍÍÍÍÍÍÍÀ¡‰†omlmjilrt|y^`_bcYZ[ZZ[QRV\bYYYVSQTRVYdcPQXZTLNMRQ\b``YPGA?;851110.1ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÀÅÁÊÌËÊËÊÊÊÊÊÊÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÌÌÍ˲˜’xjnvzs}dc`\eXaccZYWU_WRXdcQORVWSNKWOWgQNSXXOLROOX`^`TTUNG?<84320--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÈ¿ÁÀËÎÎÍÎÍÍÌÌÌËÊÊÊÉÊÊÉÉÉÉÉÉÉÉÉÊÈÈÈÆÈÉÉÊËÊÊ̼’Ž‚qak{kbg_^_Vh`WWTSM[`^_qlYOOT[TMITRRYTYYXUMOQUZ_XVYPOXNH>>@<520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÍÍÍÍÍÎÍÍÍÍÍÍÍÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅâ‰xxph_jlla_`]W\_UQZRRPZdeegcfUQVYSPRTSQVRY]`TQSQY[]XXSROPOI>?=7651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎúĻÇÏÎÎÎÎÎÍÎÍÎÎÍÍÍÍÌÌÌÌËËÉÉÌÍÎÌÊÇÅÉÊÊÌÎÌÆÃÀ±˜{{pcVS`\Y[_`^a^WTPJLTY_ach^ZSOPPOKTRSP^LTUYYVYY^Z[VRPSNRKEC=A;531.3ÏÎÍÍÍÍÍÍÎÎÎÍÍÍÎþÌÁÅÎÍÍÍÍÍÍÌÌÍÍÍÌÌÍÌÌÌÌËËÉÉÉÌÈÄÂÃÁÆÆÈËÌÉÁ¾¼©~xqVSRQMUWmodaa[XLC@LWP[`a]USQKLJHLHOKYOQTUUUZZZZ\XROSMUNCHA?>3/.--ÏÎÍÌÍÍÍÍÍÎÍÍÍÍÍÄ¿ËÂÃÍÌÌÌÌÍÌÌÍÍÍÎÍÍÍÍÍÍÍËÊÈÇÅÈ¿½¸À½Á½ÃÊǹ®¢£‰}ws^UWYXgh[ned\UTQQVTbSNZ]ROVWPKHEMOPYWQPWYTSWWTNPZSQWPWW?56220.---ÎÎÑÕÓÎËÌÌÉÈÉÉÊËÄ¿ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ¾Â¹¸«¾·À¶¼Ç¾¼´¥…‚zm‡vb\_Z\ejUn[R[TMST\YUMORXRPRUWKKKSRRZf\NUVUVTTYQL\WWZ[LC=6440.-,,-ÍÚéïìäÔÊÈÁ¼½ÀÄȾÇÁ¿ÊËËËËÌÍÌÌÌÌÌÌÍÍÌÌÌÌÌÄÁº³½¸¯ ¹°½´²À³¹²–xxkfb`baT[aYTdYQZ]OSRV[TUSNNMJKMSYUOQOQQcYMX[WQLNWWPUWPKJA7=<:62.-,-.ÛîÕ·ÄãëϽ¶°¯µ·¾ÁÂÉÅÁÉËËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ²ª¨¬¯¤œ©«µ¯±¶ª©ž€rurjkR]dZXcVO]h\W^WKPQRZ_`TPLLKMQLVWJNTNR]]X`\SOKMYVQWPOVJBB=;;962//.-ìÆ|hožãÜ´®¬­³±½ÃÅËÈÃÊÎÌÌÌÌÉÅÊËËËËÉÈÆÂý¼±¡™™¤¤˜•¢«ª««¦¢˜‚rlgdkl[TVU`_VV\ZZ^USWSSUT^WQSNNSURRTWPOWPRX_X\WYZV\^RRYWRO??F;87775300/ãˆtspËè·¬ª®°²À¿ÅÊÈÂÊÍÍÍËËžÈÌËÊËÇ¿·°±±¶«ž“Œ˜™—¤±«¬ —™xicdTe^PLHOW`XQQ`g\`n[\`]SWNPONOQVRTRUXQ[ON^^\fYa\ge_RPMMIL@<856679<==<\[[]^gij¥ïíêÕÀ²¤™’‹ŒŽ™Ÿ¥®‘|~{}„€‚‡}{€€…‡~~}usuurrsf\^[NPZXZ\SU_`e]\U[a`STMKKRLHA=DPSU_ZZafk`\]W[SXSSUVT@:888889868:???=JIJLKLPeŸêëà–OLHFONFFFHGM~y}€}y{€|~|€~x|}~ƒƒ|z|tptyxsokg\SMKXV[RUW[XTIX^[\WY_UKMTOMJLONPSUXVZlcZ[ZZVYWQVKLJ?873a…:7888;BECEWUTT„˜Ã‰ÑÙÇlDEDOd_QTOII>svzx}‚}w~}z{~z{|{~€~€}xwomwxzqg`aSRRD@MVVTWYNKITVZ[UYc]RMLIKNMMJHJNWWY[`Z^WUQVNKMHA<8776P>899;BÑçz}~}||wxywvvzyx{~xvupokpwphg^QVWUXY^[WFFQX^W[XWUU[TNICD@??>=:@JNW`ZRVZQVZMKD;;997673†æR16;;;AHJJ¶´¯¢–q]QMÐÚ¬…ˆ”›Ÿ¡¢¢ Ÿœš²ÒÙŒz‚~uxyuvxxx|}~€„„ƒ€}zwsihojhf_O^k\SSWZXPOWWZb]WU[YUMHD@@??<79>DGI[hXTZW[[RFB@:7787795ƒâP08;CIC>JZjk]KPeQF?:;97:;::=7uÚW4=;=CIIBVéëÕ¾£eKEJÍ×Üááâåææåæçåãâàݽ€€|{Š¤ ¤ ™Ž…~xsspnjjklsy‰Œ‘}gf`\[VZWMNVTMOS][XXZ\\SUMF?BHJB=BQQJT[^jnQVXKA;875:?BA??;zèd7?9LTNckivˆj[]RIA>;:>ELIC=>9ók8<5=HIY`gvv…qrUHIKÒÞèêåç©”®Õ«·êãâßÛ©y|vq…XDNT\gr_AADF@:8U‹™žQB7334;>;B^œ™W430g‹IhgedbabcdeimprtvutrqnmnnopolluŒ©¸¹¯š†tihhfc`_[WYTTRŠr^m˜“ƒwi\_`V=8FwvurnkjiihilnnoooqqrqrppqsuwxxspkALKHn‚pNLE<::9755Q“G:62NMcjfcddbcbabbdgknqsvwwuqnkjlnpomknzŽªÁ¨‰shggffec`\^œa^>[>2444EXUHDOuuuvtokhfeehkllmnnoppomlmoqnmsud}xGYNlxƒUEGFFHHHEEQƒ—~G<<6H L[fE?D_gdb``_^^`cfkoqsuvvtpkggjmnmkjjv—¼Ì·‘vhfijihcu¡UW=V76988GSF;:IuuuuutqkhfdfgiikmllmmnmlmmQ=;]SnnR|LTQCFLU[^\PQGQYm]D<:6>Y6IJ9;1Upjgcbaa```abfknqrtuvtrmggikmonljr‹«À¬Œtljik‰˜ON9G3337@A=?AB?=>:6:6;KGGK>79:D;2149^llljfcba`aa__`ejlpqsvvutpkggjmnmlihr‹¯ÆÁ¡uh|–‡KG6<7:_plJ62344lnpqrrrqpkgc``acdffghijklkN4/-.JR;:8867975565667777756779:G=Znkjhgddfknolgcbbba^]]_dhlnprrsttrjecfikkkjcNTall”`@NGKECNm[@FGA96iklmorrssrpmgdbabbccdfgiijjj|À†BM:998877656656656545556678::>Adnjkkkiecehmonlifeffdb`_aeiloprrstrpjedeikkiRT^nv†Q>‘„NA>=GA?EGFRYfiklnqrssrrpmhebbbbbbdghhjjis´HB54776655555455455443455655DWLMfkklmmjgdcdhlmmlifeeeda__ceilnoprrssqlebfhkZJPKQ`bHLQ957=CCBFKM^j`ehjlmopqrrqnmidaa``abdghiiik™|U\eG35443334445I:5443334538y˜š[@]kllklljigdcceillhdbaba`^]^adikmopqsrrqlfdff_aw\O}mc_QGMSVWWXXYY]acfiklnpqqpoomgca``_`adgghhjwr_’¤µy422122244585553222115p¬œŸvAUjkkkkkllljgcbcdghhfc`__^]\\^_bdgkmnoprqnjedgw¶˜ouiofedVSeqnmjhgg„[bdhjkmoqrpqpomhcaa`_abdfghokAb ž¬¡l4-011003687631224:7v¬¡»Ÿn>Oeikkkkkllkjgecaadfgeb``^]\]][[\^adijlnnnmlhit¤”oeadZXXWWfh^[XVWWÆ}[dgijkmosspppokgcb```abddffj2D™Â²ÁÓ}dWHLNUL>šx:S^YTO€’ÝìÈЮO3Gafjjjjijjjkjhdb`_adecba^\\]\\[ZZ[\abfiklljjk_m\TXXWVVVWXVVUUUUÉÃt[dffhklnprpooolgca`__`bceUP34sÏÈæóà¥zX[^ŽŽ_¿™Oshc\cŸÅñéÒÕ„<;Qiossssrqqnkieghc``aceedb`_^^__^[Z[]_cfijkmnlT…}`XSUWWWWWVVVVVVVV½Ìµa[acfijlmrqooqolgb`_`_abdU91/?¡¶¹Êçµc_aZV‡ñÜcedmjwµ¾Çµª³Ÿ¦¦¦©«««¬¬¬ª¦£™ˆnhifc``cghgedaabaa__]\^adgjlmnjOnu]YPSVWVYZYZYWXXXY¬ÁÏ¢Z\aegijlmoopqpolhc``^_abY5/,/8>=Y_e–`eqpaˆàÓ|glkcŽ±ž¤¡ ›˜•“‘ŽŽŽŽ”™š”kjkifbacfijhfecaaaa_]^]_bcgilfN^iXggo€\UY[\ZZ_`]yµÄÎW^cegijkmoppponlga`__`bQ0--.168=BKRWbp€“£ÈÊ«ŸŒxp£ˆ{zspnkgdca``__```aabfgz{jlkjhda`dhjkifca`____^]^_beiaIO[OcÀ»¼Áî¤KECJ`IH\OºÈÈtXacfhjjlnopopomkfb`__bR/,/579<>DO_r­ÖÜàæìëèééä·ˆ\^_afgdgms™ƒ}xwrqpnlgdzqjjkkieaaadgiigda_^^^^^]]^_c[CHNLPÂÞà×æîJE;‚®C:†Zx­¿Í´b\bfgjjkmnoooomljeb`_aV0,.059@IUg‚™°ñèîîìëììíð´obv€‚ƒ{z}{m‰yh€†…‡…„‚{yhukjjjkjhdb`adhihfc`^^^^]\\\^W?BGLFª°Ê¿Ûîz?=KÃB«VXz¸ÃÍ[_ceghjlmnnoommmjdb``X3-./27?DJNOTe‚‹Ûë”UKA}âzqOJO‡»ÁɈX\`cehijllmnmmmlhdaa[4../36I]E?HUj¹¶³¨£¢Ÿ––¢tW}ÈÞÝÞÞÞàÌZg_\Q`ÎâßØÕÙàÉelUmihiijkkjgda`_beiigd`]\\[\\V?>DHLPUVW_‚ptqiaÄç²\RLT–ºÄÂtT[^adfhiklmmmlkkgcaZ43//;J¬Þs=?IcLJNNNRTRg‘befÎáÝÝÝÝá¼M[X\QXÄâÝÚÙÜâÇJuPfihhhijjjjheca_`cghifa^][\\X@CIjPefefefggiijjgdba_adhiihe`^\C:AFJMQSW`lw|ƒœÏ×ÔØkodRLM‡¼ÂÒœZ_cdfghjkkmmmlkki]1;0-,014;=>@@GN>JuTjG=9899879::XxOJ?347;;7AIBEZgGe£b^a>88678675437G83557=IE7;=5`YYfddeffghgffghggd`^_acfijhdC2=JLNPSX`hhjnj¹ôïëêqoleXOJd¬ÁÍÇv\ceghhhklmllkjl^.93,/-*+++*++****(%4€™UdSB?9=LNA;9533234638h˜v6853MeRgedfgffeeeeeghhgda_^_afijhA/;KNPPRW`fcbda´¹¶²qklnfSUg†»ÆÓ¼j^cdghhiijklljcU-96-EO=40//-*)))+0/g‡MhIMRIMUQMIOI933344:Io—qIOH8?eKij[aegeddeeefghhheb`]]`ehi?,9?MQOOKF?:;>:3Dfo|•kPadccbbdeeeegfda_^]_c=%=C?FŸÜ{^WZJCKKHFIGmsqstwgTNIh¹ÇÑÅl\abdfeeeeeeaV>0--.)%$$%%#$%)FVGDCDGNSUVMIIJKMPSXh^ZiJXecccbbcceeddedcb_]^_:#9@=Bbwa^eeX@646?GGmmljjke\RML’ÄÈÖ£Z_`cddeeddca\Q>999<>=>>>=>??@JOlˆqd\ZYXWUWXZZZYZ[\]\[[[[\]\[\[]__efPJX…qacdbbccdcccddddb_^_:"6<;Qaa__`bbbbbcbcbccdedb`]9"66536>>?>:8cchfejqsosr_LJYd—¿ÄÔ¬bcddehiihhhhhiiigd`^\[[\]Sab\P»áÒØìŸdmortttxy}€x–{ š”Š…~{xrmhebaaaa`_``chjrdup_aa__^YWTPMKKIKNRU[`aaa`^XTflmhnojkospkSILLW¤ÀÈÔ^bddfghhiiiijjiigc`]\\\]R]ROGߥÄð¿euuvxy|~€ƒˆ‡‹Œh}siaYTNLLJKJPOKLIHHHFGGHHILZnaaa```^\YXWVVUVVVUX]aehgea^ytsptoiikjgjcLJJIm¸½ÍÉs]bceeffhhhhiiiihfc_]]\^TLJMKPc^•ç¨o”£­²¹ÂÈËÐÔÊŠwTNJFFFFIJLMMK[YGFCBAA@????>>>Naaaaaa`_^]]\\[\\[XXZ^dgiihfx€}pkjhehjniaOJMKK¾ÀÔ¬[\`bccdffghhihiiheb^]\^WEHMIJMU_wvžÔ«‹‰ˆ‰‡­Û¤†QBA@>=<;::987644567866667767789499:;855666556>CDEFEEFF:a“a;@@;;644444545@FBISZbj}³Ô[L[_fr{–¶‰C@<7=<;:87:;6`‡X8=B:83234344337BAW_aaaaaaabbbbbbaaba_\Z\afimprmkmpsplhjkfTLKLJa·ÆÍÖ‹^deffhggfghgggfffd`_W7=HCFKS[gv¡ÏcgÝïíäëà¦S:A513;;9728:7211237954BVGG?85429A9n—_aaaaabbbbbbbabbba_\Z\alklmqtsprkjlkjoePJKKMŒÆÉÕ¿jcefgihgfghhggfffeb`X3:HEEJPZfu˜ÎoYÜóîêðË–F;?2219`^4133200002356;IJGJIGA725B:WÕš`efdcbbbcbaaabbbba_\Y\jrurpqpknijieirbKKJKK]µÉËÕ—`eefhhgggghgggfffdbZ/6GHFO]]Yb³xNÀÛÚÜÞ¹‚>=<120SrqQ40.00///122;A?IQXUWYE23?>>‰ Q@BBNcbba`aaaaabbb`^[Zqvtojijlnijkvste_ZLLMPƒÇÇÐÉubffghggfefgffffgfdZ17CHKœÄ§aQc~:KUXUUŒg;@;34;h–‘F;;3////125CEMMR\ZZZI31;@>FYD3535Zcba```aaaaba`_][hijgaaahhqzxstnkmeSJMRY®ÉÇÖ©dffhihhgefgffgfgfeZ37>HG¢çÕ„L^}…?AA@<]ƒU;A>@;9EjmbDAB9....02AD}tI;BAJaA?BBAA@A<0///02?HGOCYf`VSK=23?6@831017Zbaaa```aaab````_‚|‚‚xuzvhhoxvxyqe\RJJKJQ ÈÅ×¼f`bceeddefggfffe]R+16?DFN[bgu‡9@NMLUOC9CQakB@@@?A??=9787659>DA;GPNBBAA87:4=?E9?L\ba`aaaa`aaaa``aaa…|u~xrqilsmifnhabbVJKK]f~»ÃÊØ‘\aaccdeeeeefdd`TM+046>>==?AFPJ/5jD9;:?5>KB9::976655;=>;9:@6333432345:JJIG?98\b`dcabaaaaa`aaaa`aaaa}xvysnq`_gqyqijeZLKJT[Y™ÃÁÕ¿f^`bbcdddeeb]]YSN,/2/20.,,/5<5543DknBA502443345679:@AA@?@D>;===>=>==>@A?8?Y4Fa_chifdcccaaabba`aaaa‡††††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|xutttxyxyzzy{{zwuxyz{{zyz{~€€€††……†††††…†††……†††††‡†††††††…{yutuvuvyxxywz{zywtvvyzzxwy|~€€€……………†††††…†………†††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyywxy{}~€€…………†††…††…††……………………„……„………„‚€~zyyxwy|{yxxz{{zywvvxyyyzz{~~†…………„……†……††……………………ƒƒƒƒ„„„ƒ~|yxwxz|zyzz{{{zzvvxyxxyyy{€„‚ƒƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚‚€€~|zywxz{zz{||{zxyvvxz{yzxz}€€€ƒ„†ƒ‚‚„……………„…††„„…‚€€€€€€}~~}{zzwwwyzz{}|{yxxwwwxxyzy{}~€€€ˆŠˆ‚‚‚„…††……‚„„„‚‚~}~€~}{|}|zyxwxwvy{}}||{xxyxwuvwyy|}~€€…‚„‚€€‚ƒ„…††„‚ƒ€}zz{{{|}}}}||z{}zzyxwyxxzz||}}|zwyyvuuwwx|€€€ƒƒ†ƒ€~~€‚ƒ|yxxwwx{{y{{yyxy{yzzyxxxy{{|}~}|zzyxwvvvuw{~€€}ˆ†Š…€€€~~~}{zyyyywwwzzxyyxxxyzz{{yvwxvz||}~}|zzxxzwvvvw|~’Ž‚‚‚€€€{zxzywvwwxxvuvvuwz{|zzyuuvwz|{}~}{yxwwyxwxy|~~~‹Š‡‰…„ˆˆˆˆˆ†{xvyxwwvvuustuuuw{|}zyx{{zyy{|~~}{yxwwxwwz|ˆ}|‚}ƒ€†ˆˆˆ‡ˆ‡yvvwxwvvuuuuvtuwyy{yxz||z{z{}~~~}zyxyyz{}€€ˆ€}{€~……ƒ„ƒƒ„yvuz~€‚ƒ„ƒ‚‚~wvxvyyy{zyyy{}~~zwwyy|~€€}}€|y}~€‚€€€€€xuzŠ‘‘Ž‘‘‘‡vxxyyzzzxxxz}~}wsuvw{~}}~~~€}wr}}€‚~~€ysŒ‡ƒ‚††ˆ‡‡‡Š‹zwyxyz{yxxy{|}zyxvqpqqossrrsw{{zsqq|}‚‚yu‚‡€ƒ‚ƒ†…†‰ˆ€yyz|}|z{{zxsninosssqojhhgfhvƒ…†‚‚ƒ„„„ƒƒƒƒƒƒƒ‚~€„ˆˆ…††…„†ƒˆ‡‚ƒ‚‚‚ƒ‚}xuvxyzyzyxxyxurw‡Š‰‰‰ŠŠˆ‡†‡ˆ‰‰‰‰ˆˆ‰‰ˆ‡†…‰‰‚†ˆ‰ˆˆƒ~†‡ƒ‚ƒ„„ƒ‚‚ƒ„„…†……ƒ€€€€‚‚„ƒƒ„…ƒ€…‰Š‰ˆˆˆˆˆˆŠŠŠŠŠŠ‰ˆ‡…ˆˆ‚…‰‰‰ˆƒ}†‰…‚ƒ„……ƒ‚‚‚‚‚ƒ„†‡††…‚€‚ƒ‚„†††‡„…ˆ‰‰‰ˆ‡‡ˆ‰‰ŠŠŠŠˆ‡†…………†‡‡†…‚~…Šˆ…‚„ƒƒ‚ƒ„ƒ€€„†‰ˆ‡…ƒ‚€€‚†‰ŒŠˆ‡‡ˆ‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠ‡…‡‹Š‰‰Š‰‰‰‰‰‰Š„„ƒƒ‚‚ƒ‚‚‚€€€‚…‡ˆ‰‡„}‚†ˆ‹‡‚‰Š‹ŠŠ‰‰‰‰‡‡‡‡ˆ‰‰‰‡‹ŽŽ‹‹‹‹‹Œ‹…†‡†ƒ€‚€€€‚„‡ˆ‡}z†ˆ‰‡†‰‰‡ˆŠŠŠŠŠ‰‡‡†‡ˆ‰ˆˆŠ‰‹Š‰‰‰ˆ‰‰ˆ‰‡ƒ‰‡‡ˆˆ‡„€€‚‚‚‚€€€„†ƒ€‚‡‰‰ˆˆ‡ˆ‡„‰ŠŠ‹Š‹‰††…†ˆˆ‡‰‚†ˆˆˆ‡†‡‡†‡‚|†ˆ‡ˆ‰‰‰‡„ƒ‚‚‚ƒƒ‚‚€……††‰‡†‹‹ˆ‡€††‰ŠŠ‹‹‰‡……†ˆˆ†ƒƒƒƒƒ„„„‚‚…ƒƒ‡ˆ‡‰‰‰‰ˆˆ†ƒ‚‚ƒ‚‚ƒ‚‚€€‚„†}zx{{xv}ƒ‡‰‰Š‹‹‰‡……‡†„„„„ƒ‚‚„ƒ„‹ŒŽ’‘‘ˆ‡„ƒ‚‚€€‚‚‚€€ƒ†{xtrssq||†ˆ‰Š‹‹‹Š‡…†…ƒ…‡‡‡„ƒƒ‚ƒ‰‘”“““’’’’’’‘‰‰ˆ†ƒ€€‚‚‚€~~}}}}~ƒ‡‰‰Š‹‹‹Š†…„‚„††…ƒ€€€€‰‡ƒ€†‰‰„€…‹‰‰ˆˆ†ƒ€€‚‚‚ƒ‚zy{}~~€{~}}„ˆˆ‰Š‹‹‹‰†ƒƒƒ‚ƒ‚€€€ƒŠ‚yyz‚‹Œƒyyx‰Š‰‰‰ˆ‡ƒ‚€‚‚ƒƒ‚ysrtvsv{v~~|†‰ˆ‰‹‹‹‹ˆ„€‚‚‚‚‚‚ˆŠ…ƒ‚ƒˆŒŒ‡€ƒ†‰‹‰‰‰‰‰ˆ…ƒ‚€‚ƒ‚yrqssu{}{oz~}‚‡‰ˆŠ‹‹‹Š…€‚ƒ‚‚‚‚‚ƒ„‰‡‡‹‹ŠŠŒŒŒ‹ˆ‰Š‰‹Š‰‰‰‰ˆˆ†„‚‚yrqrv|ƒƒ~hm{}z~ƒˆ‰‰Š‹‹‹‡ƒƒ‚‚‚ƒ…†‰„…ˆˆ‰ˆŠ‹‹‡}ˆˆ‰Šˆ‰‰‰ˆˆˆ‡„ƒ‚}uuty€ƒ‚€jiq{}~…ˆ‰‰ŠŠ‹ˆ…†ƒƒƒ„†‡‹†…†…………‡†ƒ~€……‰Š†‡ˆ‰‰‰ˆ‰ˆ…ƒ‚‚€~}|}€€€kjkx€~}ˆŠ‰‰‰‰‡‚‚‚‚‚‚†ŽŽŽŽŽŽ‘“”„†‡‰‰ˆˆ‰‰‰†ƒƒ€€nnmt€}}„‰Š‰‰‰‡„„‚ƒƒ‚ƒ‚‚†–•””•••••••“••–†‡‡‰ˆˆˆˆˆ‰‰ˆ„‚‚‚‚omjmx~|€†‰ŠŠŠ‰‰ˆ‡†……†‡ƒ‡Ž’‘‘‘‘‘‘‘‘‘‹‹ˆ‡†…‡‰ˆˆˆ‰‹Œ…€ƒ††‡†††klhijz}}ƒ‰ŠŠŠŠŠŠŠ‰……†‡„‰Š‚„ŽŽŽŽŽŒŠŠŠ‹‰ˆ‹‹Š‰‰ˆˆ‰†‚€‚„……„……onhges€~|…ŠŠŠŠŠ‹‹Šˆ†‡†…‡„||„‹ŠŠ‰‰Š’“’’“““”””“Šˆ‡†…ƒ€ljhgfl{€~}‡ŠŠŠŠ‹‹Š‰ˆ‡†„…„€~ƒ‡†…„„ˆ““’‘ŽŽŽŠˆˆ‡†…„ƒ‚fgghhiq~€~~ƒ‰ŠŠŠ‹‹‹‹‰‡†ƒ………ƒ‚ƒ‚ƒ‡Œ‹Š‰‰ˆ‰ŠŠŠ‰Š‹‹‰ˆˆ‰ˆˆ‡‡†…ƒ€€€ihgfghhu€}ˆŠŠŠ‹‹‹‹Š‰†„ƒ„…„‚‚‚ƒ‚ƒ‡‰‰‰‰‰‰‡ˆ‹‹‹‹Š‹Š‰ˆˆˆ‰ˆˆˆˆˆ†ƒ‚jhgegjhr€~~„Š‹ŠŠŠŠ‹‹‹ˆ„ƒ„ƒ‚‚‚‚‚ˆŠŠˆˆ‰‰‰ŠŠ‹ŠŠŠ‹‹‰ˆˆˆˆˆˆˆˆˆ‰†„ihgfikhn}}€ˆŒŒ‹ŠŠŠ‹‹Š…‚‚‚‚‚„ˆ‹‹„ƒˆŠŠŠŠ‰ˆ‡ˆ‰Š‰ˆ†‡†ˆ‰‰‰‰ˆˆ†ƒjjjijihkt€~‚ŠŒ‹ŠŠŠ‹‹Š†‚‚‚‚‚‡ˆŠŠ„‡ŠŠŠŠˆ‡†‡†‰‰‡†„ƒ†‰‰‰‰ˆˆˆ‡mkjjnkijq}‚‡ŠŠŠŠŠ‹Œ‹‡‚‚ƒƒƒ†‡‡ˆ‡†ˆˆˆ‰ˆ‡‡ˆ‡†‡‡ˆ‡……ˆŠ‰‰‰ˆ‰‰‰lmnoqpmos|€~}~‚‰‰‰‰‹‹Žˆ‚‚‚‚‚‚„†ˆ‡‡Š‰‰Š‹ŠŠŠ‹ŽŒ‹‹Š…‡‰ŠŠ‰‰‰‰‰ˆ{zzzzzzz{zz{{zzzzyyyyyyyyyyz|„ƒƒƒ„††‡‡‡††ˆ‡†ˆ‡††‡‡†……††„ƒ‚ƒ‚yzzyyzzzzzzzyyyyyxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†……†………††††††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„†‡‡†…ƒ‚‚‚€zzzzzzzzzzzzzyyyzyyzz{z{{{{z{~€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…ˆ‡‡‡…‚‚‚‚€€x||{zz{{zzzzzyyyyyyz{|}~}|||~€‚„„„„………„…‡‡†……„„ƒ„…†‡‡†…„‚‚‚€€{‚~|}~|zyzyzzzzzzz{}}~}}‚ƒ‚ƒ„„„„……‡††‡††………„„…†‡‡†…ƒƒ‚‚‚€‚}€€~}{zzzz|zyz{|}€€€€€‚„…ƒ„ƒ„…„„„„…†‡†„…†………„…‡††††„ƒ‚‚‚‚€|€}|{zzz}|{~€€ƒƒ‚‚€‚ƒ…………„„……„„„„…†…„………„………‡††……„ƒz|~€€€~}|{}€…†……„„ƒƒ„‚„…††††…„…„„ƒ„…†……„„„„„„„…†‡†…„ƒ‚‚‚‚x€}€€€€~ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡†††………„…„…†„„…„„ƒƒƒƒ…††ˆ†…ƒ‚€‚‚{|}‚€‚‚‚‚„†‡†‡‡†‡‡…„„„„…‡††…†………………………………ƒƒƒƒ„†…†‰‡…‚€€‚ƒyyxz€‚‚ƒ…†‡‡‡…†††………†‡‡‡ˆˆ†…………„…………†……„„„ƒƒ…††††…ƒ‚€€‚ƒ€„€~}{y{~€‡‡‡‡†††††‡†‡ˆ‡ˆˆ‰†„„„„„„„††‡††„„„„„…†ˆ‡„‚€‚ƒ‚ƒ„„†‰†‚~|{{|}}…‡‡‡‡††…‡‡†‡‡‡‡ˆˆ†…„„„„…†‡‡‡‡…„„„ƒ„‡‡‡‡ƒ€€‚‚‚‚„…ƒ†Š†ƒ€€€€ƒ†‰‡†ƒ‚‚‚„†‡…„„„„„††‡‡‡†„„ƒ‚ƒ„†ˆ‡†ƒ€€‚ƒƒƒ€‚…„ˆˆ…‚‚€€€€‚‡‡…}||}~}}|‡…ƒ…„„„…‡†‡‡…„„ƒ„……ˆ‡…‚ƒƒƒ‚„ƒ……ƒ€‚ƒ„ƒ‡‡„}|||€~}|}}}……„……„„…††‡‡…ƒƒ„„‚€}|~€‚€€€€„ƒ‚€‚‚ƒ‚ƒ‚ƒ‡‡‚}||{z|{wy}}{‚„„ƒƒƒƒ…ˆ†††‚~}}{|zz{|||}~~~‡‰‰ŠŒ€€€‚‚‚‚„„€|~|xzyw|{ƒ€€€„…„„…~~~€€€€’£¢¡Ÿžž~~}|}~}|}}}}~{~…xyww~…€{~€€€€€€€€€€€ƒŠ„ƒƒ„‚ƒ‚‚‡‡~|z{{|}}}||}}|||~}{|‚~y{{z‡{}€€€€€€€~~€€‚„‰†‚‚‚‰{|}zz{|}~~}}|}}}}~€~|}~~|}~}…€{}‚€€€€€€€€~ƒƒ€€‰~z}€{z{~|||}~€€~~}}€~}}}}}~~~~~|{|€€€€€€~€‚•‡Š{y~‚}z{}}}}}€€~}}~}{{|||||}}|}}|{|~€‚‚‚€€~‚®º›‘}y|{{€~}}}}~€€€~}~|ƒ‚}~}}}~}~~ˆƒ~~}~€‚‚‚€–’›“’“–—}~}}~€€€~}}~ŠŒ€~~€‚‰ƒ~~~~~~€€‚‚‚‚~ª²¸³¬¯µ·ƒ€~}}}}~€~~€‚ƒ‚‚‚ƒ€€~~}~€€€‚‚™ÃÌÌÏËÌÐÒ„ƒ€~}}}}~€€€€‚ƒ‚ƒ…€}{zyyxz{ywx|~~€€€‚‚…™œ³½ÈÎÏÐχ„‚€~}}}|}€€€€€€€‚‚€}zzyyz|||{zzz}}~€‚‚†©Š{‰‹‘““‰‚€~}}}}~€€€€€}~‚€€||}€€~~~~}|}~~~€€€…¶»£‘„”€ƒ„ƒ‚€~~}}|~€€€€‚‚…‰ˆ‰Šƒ||}~~|xy{}~~~{|}~~~~€€ƒµÐÑÊ¿Æ댄„ƒƒ‚‚€~~}}}}€€€ƒƒƒ„ƒ„„~|}€|wwy~€€}{|}~}}~~€€²ÍÎÎǽ®›”‚‚‚‚‚€~}}}||~€€}}|}~}{ywx}€|{||}~}}~}~‚€¬ÎÏϼ•ƒ}{}‚‹‚‚~~}}||}€€€€€€€~|}|{||||{{~„{{||~~}}~~~~€£ËÁÈ¡~~†‰}{ˆ‡‚ƒ€~}}}|€€€€€~~|~}~~}}~}}~‚~||~~~~~~~~~ŠŸŽšŠ€||€‚ƒƒƒ€~}}}}~€~yzx{zzz{zyyyxxwvz€~~~~~~€‚~‚‚‚‚~‚ƒ‚‚ƒ}}}~€~yvvvvwwwvvvwwvvuz€€€~~~~~~~~€‚„€|€‚‚‚‚‚~~~}~~€€€€~zzywxxxxyyyyyxzz{~€€~~~~}~}~~~‚~z|}€‚€~~~~}}}}~€€€€{{zxyyyzzzyyzz{{{{{}}||~~~}€€€~zyzƒ”‰~~~~}}|}€{……€|}|}}|zyxyxwwwxxxyxy|~€‚‚‚‚ƒƒ‚€~yxy}„‰…‚~~}}}}|}~€€€‚„ƒ‚€€€‚~zyzzzz{|{|{{{{{}~‚‚‚‚‚ƒ‚€~zxwz‚‚ƒ~}}}}||~€€€€€ƒƒƒ„||||||}}||||{z{|~~~€€€€‚ƒ~zxwxyƒ‚‚‚€~}}}}|||~€€~€‚„…„|{||{{|{{zz{zz{|}~~~€‚‚~yxyzz‚‚‚‚€~}}}}||{~€€€€€‚~{z~~zz{yzz{|{{z|}~~~~~€~{x{|{~‚‚||}}||||~€€€€€€€‚‚€~{{{zz{zz{|{z{|~~~~~~€~{|}~~€‚‚‚~}}}||||}€€€‚€‚„„}|}€|{z{{|{{zz{{~€€€~~~~~ƒ‚„„ƒ‚‚„ƒ‚€~~}}}||}€€‚ƒ€€~}~|~|{||||||{|}~~€~~ˆˆ‡ˆ‡…„……ƒƒ˜Ž~}~}|{|€€€€€€€€~~}|{{||{{{||{|||}~€€€~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÃÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍÌËËËËÌÌËËËËËËËËËÌÌÍÍËǼ³®¢ž€}pgkujigkkrcgbW\a\[b\T[`]_VPOSZX^d`dRTVVTVTSXUPU]][XTMD>9;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌÌËËËËËËËËËÌÌÌÎÎdzš¤•u€ys]]^q}m[^ljfZYZ[_YVTO^e_[ROOPXV\efgOU\_YPPKQRW^aZUPLJ@?76521/76ÎÎÎÎÍÍÎÎÎÍÎÍÍÌÌÆÁÅÀÇËËËÌÌÌÍÍÍÍÌÌÌÌÌËËÌËÊËËËÌÌËËËÌÌÍÍÍÍÍÍÍÀ¢Š†omlnihkpu|y^`_bcZZ[ZZ\QSV]bYZXVSQTRU[ecPQXZTLNMRQ[b``YQGA?<951210/1ÎÎÍÎÎÍÎÍÍÍÌÌÌÌÍÇÀÅÁÊÌËÊËÊÊÊÊÊÊÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÌÌÍ˳˜’xknuzs|ec`\eXaccZZWU`XRXfbQOSVWSNKWPWfPNSWYPLROOW`^`UTUOH?=84320--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÈ¿ÁÀËÎÎÍÎÌÌÌÌÌËÊÊÊÊÊÊÉÉÉÉÉÉÉÉÉÊÈÈÈÆÈÉÉÊËÊÊ̽’‚sbj{kag_^_Vh`WWTSM\`_`qkYOOT[TMITRRYTYZXUNOQUZ`XVYPOXNI>>A;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏƸ»ºÉÏÎÎÎÍÍÍÍÍÍÍÍÍÌÍÍÍÍÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅâ‰xzsh`jmlb_`]W\_UQZRRPZefegbgUQVYSPRTSQWRY]`TRTQYZ]XXSROPPI>?=7651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎúļÆÏÎÎÎÍÍÍÎÎÎÍÍÍÍÍÍÌÌÌËËÉÉÌÍÎÌÊÇÅÉÊÊÌÎÌÆÄÀ²™{{rcVSa\Y[_`^a^WTPJLTY_adh]ZSOPQOKTRSP^LTUYYVYZ^Z[VRPSNRKEC>A;531.3ÏÎÍÍÍÍÍÍÎÎÎÍÍÍÎþÌÂÅÎÍÍÍÍÍÍÌÌÍÍÍÌÌÍÍÍÌÌËËÉÉÉÌÈÄÂÃÁÆÆÈËÌÉÁ¾¼ªŽ€yrWSRQMVWmodaa[XLC@LWP[`a]VSQKMJHLHPLYOQTUVVZZZZ]XROSMUNCHA?>3/.,,ÏÎÍÌÌÍÍÍÍÎÍÍÍÍÍÄ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÎÍÍÍÍÎÍÍËÊÉÇÅÉ¿½¸À½Á½ÃÊȺ®¢¦Œ}ur_UWYXhi[ned\UUQQVTbSOZ]ROVWPKIFNOQYWQPWYUTWWUNPZSQVPWW?57220.--,ÎÍÐÖÓÎËÌÌÉÈÉÉÊËÄ¿ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ¾Â¹¸©¿·À¶¼Ç¾¼µ¥‡†~nˆvb\_Z\ejUn[S[TMST\YUMPRXRPRUWKKKSSRZf\NUWVVTTYQL\WX[[LC=6440.-,,-ÍÙèðíäÓÊÈÁ¼½ÀÄÈ¿ÇÁ¿ÊËËËËÌÍÌÌÌÌÌÌÍÍÌÌÌÌÌÄÁº³½¸¯Ÿ¹±½µ²À´¹³˜„yylgc`baT\aYTdYRZ]OSRV[TUTNNMJKMSXUOROQQcYMY[WQLNXWPUXQLJA7=<:62.-,-.ÙïÙ·ÀãêϽ¶°¯µ·¾ÁÂÉÅÁÉÌËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ²ª¨¬¯¥©¬µ¯±¸«ªŸ‚uuskjQ]dZXcVO]h]X_WKPQSZ^`TPLLKMQLVWJNTNR]]X`\SOKNYUQWPPWJBB=;;962//.-ìÇ}im¡æÚ´­¬­³±¾ÃÅËÈÄÊÍÌÌÌÌÊÆÊËËËËÉÈÆÂý½±¡š™¤¤˜•¢¬ª««§¢™ƒslhdjm[TVUa_VV\YX^USWSSUT]VQSNNTTQRTWQOWPRX_X]WYZV]^RRZWRP??F;87775300/ãˆutpŽÍç·¬ª®°²ÀÀÄÉÈÂÊÍÍÍÌËžÈÌËËËÇ¿·°±±¶«ž”˜™˜‘¤±«¬ –™‘xhdeUe^QLHOW`YQQ]f]`n\]a]SWNPONOQVRTRUXR[ON^^\gZa\he_RPMMIL@<856779<@?°};BMGjÂîÖÃáéÁ´Âĸº³»»ÈÀ¶©¡ •Œœ–š•‡‰‰ˆ…„xƒ~|vwvpqmjeX\caaXRRXW\\`WT\SW^ZVQINLNIBCEA?EEDBRGTW[W^a`\QbaUWWRKGDG965777H{ÔZ­ñìíííííììçååæ긎Œƒ‡ŠŽŠ~ˆ‚Œ—‡…y|ƒ‡€}‰y{wuttvsbUQZYZVYVNYZ]_ddglokR[\SMQQGEEOVQPOOOIJVZ]ZNM]Y_\\geV^TA::<<;::9;><=DNSV_Z[afl`\^W[SXSSVWUA:887799868:???=IIILLLM^…Ùîå®LEFFLTFHGHG@ny~€}y{€|}}€~x|}~ƒ‚|z|uqtyxsokg\SMKXV[STW[YUIW_[]VY_VKMTONILOOPSUXWZmdZ[ZZVYWQVKMK?873c~98888;BECEXWUSr¢ŽË•±ÜÌ‹IFAG]cUUPGFDK•{yx}‚}w}|z{~z||{~€~€}xwomvxzqg`aSQRD?MVVTWYOKITW[\UYc^SMLIKNLMJHJNWWY\`Z^WUQVNKMHA<8776U‚=89:;=AIJHdWSJªúêø–„¾·odIEALONL<89>:†•§‹~z|ywzxv{z}}{|zwvlhntyoha^PRSFHOTX[TPSRTTZUVWX_\RLEDADFIEEGJSV\YUMTSTQSMFEC=:7776Z€A88;==;@KNWaZRWZQVZMKD;;997673†äO26;;;AHJKºµ´®Ÿ€\W@–ཥŸ¥§«¯°°¯­ªª©§±ÄÒ {‚~vyxwwvvtwuzvz{zwsqsqhjpjhf^N]j\SSWZXPOVWZb^XU[YUMHD@@??<78>DHJ[hXTYW[[SFB@:7787795ƒâP08;=BGGDQððñõêQLCl¸ËÖÓÕÖÙÛÛÛÚØ×ØÕÓØÄ{|~…xuyz|€‡‰Œ’˜–œž›—‘Œ†{srffcb[flbYMOYXUQSYW_YVZdYOIBA@ABA?>CHC?K[jk]KPeQG@:;97;;::=8uÚX4=;=CIIBVéëÜ´®yOFFrÂÖÛäääçéêçéìèåäãßÖ›€€|{ƒ‡œ¦««¨¥¢›–“”–˜˜œ ¢¥¤¡„hf`\[W\XNNVTMOS]\YX[\\SUMG@AGHB=CRPJU\^jnQVXLB;875:?BB??;{éd7?8MTNejivˆj[^RIB>;:>FLIC=>:ók7<5=GIYagvsƒ{qbIIEqÁàäêæèÇš«Ò»£«àæåáÝÈ|xo~’WONNPSXW\e„…gVSXgec[TCMnn_SV]YY\SOSPSP[^Zd]TUQOIGHCFKGEHNMTijisrcajiXQLLPTTVSIIM8}õs889S[^jgh{vyrbHAC;_«èæééæëáßéãÚàêåéåèÊ|||wg?Uao|ƒƒI850-135Jegffg\@PkaTNVY_XWSMNWUZc^`WOOURME@=IV`X\fhmbZWX_bdjmkof_iwuokfihQ„ð…UT\uuppjfGEDGLF614T•èíëëìëëëëêêêêêëìîÀ{}|y‚LHy–Ÿ¤§©ŠqYB@CLLKI?579@VC\b]SWYYSQOOMT[WSXYSMPXSPV\[uuakwkYTW[]]`edk}ƒ‚ƒ€|ƒ‡‡‡‘¯’Š„|zsrlfpnnrwzM*2M…æðïðïïïïïïðïîïïïî²t|y}vGRz·¶¶¶²¬¤ºŒwŒ€KNNA7554]VKa]YZUURV]^SS[WOLMT]ZX\fx€†‹€acqiRQY[[[\eiku~}zztt|‡ŒŽŒ’™œŸ›˜˜™˜šzyyww{dSXc~¸Ç¸ÃÉ»¸¸³µÁÓÉ»Çׯ}u‚a[OG~rfa\`—Žx‘zKKL\_L43JsFlmkmkqz‰’‡‰Ž‘‰ˆ‘²š‚{w|{kbmmbW\_^][`geisheaccu}z~‚”˜ŠŸ›–’‰ƒ€~{xqppoprrvxzyxz{z~}~~{z|€{y|„’‘„‡PtC13421=LLINROJLEHqo\6?_ŠQfvvxxwvtssttuxz|‚ˆ”¤³´«šŒ~smklmnlid`]]]ZY^^ZZ[\\`dgdfjxchc`[YVUUTQQomkkllmoruutsssuxz}~~~}|{yvutx„~O|747CMC?MMLLMLJJKHlyX8F’§jOjiloqstvvutrqqqppopt~Šš¦«¬© qggfdb_[YVYXWWXXVWWWWY]UIQSVW\bQ>;:9tpljijjkmnprrpooopsvyzz{{{{zxwtvnaw143eœvAKF@??CKJOEXre:62^ŠGddddegikmpssstsqpnmnonnory…™®½¹¢ˆsjhggfa_][YWSSSSRSSg„Kx†Š”˜ ˆB866xuqmkjjjjkmpppppopppqsuvwxxxxxu{bvg29:k‘dA7344;HFKLrˆ„@42C–S^fccbbbcdeimprtvutrqnmnnopnkmy¬º¹¬—ƒrihhfb`_[WYTTSP€w]š²´µ±¬¨¥fI76wvusokjiihilnnoopqrrrrpqrtvwxyu}[ŠS=HBr¡tGC5235748=¢|<535ŠnUjgggdbbaabbdgknqsvwwtqnkjlnpollp~“®ÃÁ§‰phgfffec`^YV–eaX†xeWMCO\V?<97Fx›i>:72wˆHkgYW_ecb``_^^`cfkorsuvvtpkhgjmnmkjkz›½Ë°‹rgfijiigbjŸX\>Y61577HWQHFuuuuutqkhfdfgiikmllmmnmlmmnd_htu\™O\cT€n_GHIKMLKLIPr’Y>9<3o}=fN98?gigdbaa```acgknqrtuvtrmggikmonljrŒ®ÁÀ¤…pjhijhšQR?Q45978FN>55qrstuutqnifdddehijjjklllmn[99>‚nFoJi`muyK6334jlnopqqqqplfb``aabddegijjleG54-7_D<::988876776667777667789;=DH5Pbghedegknolgcbbba^]]_dhlnprrsttrjecfiklkifdc^\[w›aBGGHA?h„ƒD>:62iklmorrssrpmgdbabbccdfgiijkke‰y9[B<:9888876777655666666788:;?CGnmijkiecehmonlifeffdb`_aeiloprrstrpjedfikkkdQVbrr‘TD]OKECHdM@HHA=fiklnqrssrrpmhebbbbbbdghijjjk§µJO<988876655655555555555667879BMhljklmjgdcdhlmmlifeeeda__ceilnoprrssqlecfhkhRT^it}L?‘„G=;;@?AEGH\`ehjlmopqrrqnmidaa``abdghijjg–¤TI<3376554444347854433345545JicGOkkmllljigdcceillhdbaba`^]^adhkmopqsrrqlfdfiZKMFHTnXFD:69BIFDGKLY]acfiklnpqqpoomgca``_`adfhhig€cYnM3432233333=E4532223443l§§NEhjmkkkllljgcbcdghhfc`__^^\]^_bdgkmnoqqqnkeefdnk[~tmiZKOX___```ƒ[bdhjkmoqrpqpomhcaa`_abegghjpm\©¬·U221122344515542111/0[›¤–˜WAdhlkkkkllkjgebabcfgeb``^]\]][[\^aeijlnnnmlheg{´”qogk```XUirlifdcÄx\cgijkmossqppokgcb```abdffirL;Žš°¡œZ04443105>O:64699@Oc¸·²¿H<^dljjjklkkkkidb`_adecba_\\]]\[ZZ[]abfiklljkijs¦o^]`ZXXVVbc[XWVVÊ¿q\dffhklnprpooolgda`_`acdeafH-l¸ÅµåÈwzRRW_oHj¼LQnk_Wh ÈóéÈÓz87Ucihhiiijkkkkigc``aceecb``^^__^[Z[]_cfijlnnlk\žƒiZTVWWVVVVWVUUUV¾Í±_\acfijlmrqooqolgb`_``ace\I<-G¢ÛÖññÇ—bZ[h–fžÐuaga_\ƒ³âàоµK47^gmnnnmmmljihjjifca`cghgedaabaa`_]\^adgjlmnokR‚v]VRUVWXXWWVVVVVW­ÁÏY\aegijlmpopqpolhc``^_bcaC1.1\¤–©Êí„`fcX[Îû¦Wlnvn›­¢Ÿ’–˜œ¢¢§©¨¨©©§¥ ž{ijkifbacghjhfecaaaa_^^^_bdhjlofOpo^\XWWWUZ[[[YXYYZ{µÄ͈W^cegijkmoppponlga`__`aaB.--/33BMHonUhokq³á£ujh^c¥¢¢©§¦£žœ™•”•““”””••˜›œž‚hlkkhdaadgjkifca``___^]^`behl`M^eTq³›s‚™^QUW[]Y^^OºÈÅpYacfhjjlnopoonmkfb``_a^9,-/159AGLIv“§Ä¸Üñ|?>G¼GPJN…ºÁɈX]acfhikllmnmmmlhc`_`C--.049=K`vššÚóòóôóññîíÇvb}š ¨®´¶”M975BŠÄÇÄ»»»¶ŒsSriiiijjjjgda`_beiigd`]\\[\\\R=?EINNSauˆÜá]QEvæŒ]RMS”ºÄÂtT\_adfhiklmmmllkgc`aD.//28Ap_87?Bƒ¡š–Ž~vm…˜\f”ÕÛÝÝßÞå TdYWL†ãàÞ×ÖÜä¢jZakghhijjjjheca_`cghifa^][\\]S>>EHLPVWW_yvlqtpg¾ïfXPJ^©¾Éºi[_adghhjlnnmmmljfbaC2103CvíºXMQniPV]bdfgk…ŠRlˆãÜÜÛÛÛáQ_]]LzÞÞÜØÖÛäœPoPkfffghhiiihfda__aehigda^\\]U?9::8596O k]eFHIILOPKBRV~lTWt|gYNA:B?@>ACDF_UDn¡Xf\B:688767:;CtmMK:237:97HCLiQfddeffghgffghhgd`__adgiiif^>4AIKMPSYalpmol©êêãqolfXOKd¬ÁÎÆu\ceghhiklmmmkjkjA27.,+./02456:;<>BYOA…’OnQ<:668877543FL55567;mNcdcfffffffeeghhgda___bgijjc=0?JLNPSY`hhkok¸õñíqklnfTUg‡¼ÆÔ¼j^cdghhijkllljkh@28/.4+++*))++((()&$I™~NlF>97342111/.-)(')+8^p}‡~]AIKGEHLOKKFDQID;9FOPQQNIB=@A:6P_Jœ’mUaccbbcceeddedcb_]]^_4'?B?J¢Ít]Z_J?FFCBEmmljjkd\RMM•ÅÈÖ¤Z_`cddeedeeb\K6-,--(&&&(&&((1X€˜§„qa?7:=A[m`_ff[E;89CJmebcd`b^SMJd³ÃÍÎxY`fecdeddda^XH>=>@AABDDBCDDDFSbŠrmYWTTUSQRTUVXVWWX[ZZ[[[[\[[[\^a^jcSOZ_`_bbbbbcbcbccddca^^]5$8<;@@>KÑç¤Z::9;<<>?@AB;EVC6::;<854455545=>@Zbaa`aaaa`a````aa`^[Z\_filjktrmjmnmegihiUJKLL‘ÆÆÓ¹a^`bdefffghhgggfffb_\]I>DEEMU\dmŽÔž@EGJNRU¥Â‡E?Ep`aaabaabbbaaababb`^\Z\amklmqtsprkjlkjoePJKKLŒÆÉÕ½icefgihgfghhggffffb_^E7CGCGNU_mƒÅ¦S˜ôñïëîëªQ;C615;::749:8412448:526CAA73332<@;šš_`abaaabaaaababbb`_]Z[jqurprqknijheirbKKJKK]µÉÌÕ–`eefhhgggghggfffgda`E3AICHNV_m~¹µI‹ðíèäìØ–D<@323;A>52674001126857JWGGC=7527B9a e`ccbaaaaaaaaabbba`^\Zqwuojijlnijkvste_ZLLMPƒÇÇÐÉtbffhhggfefgfgffffcaD,?JDFJR[ex§ºK€òñññóƃ=><120Aqh5100000//1249=BEKPMNI:24A>@Q`^Z[\_bbaaaaaaabbba`^\hijga`aghqzxstmkmeSJMRY®ÉÇÖ¨dffhihhgefggggfffdcF-DCMR\XZ\K42=@>JcO567@_baa```aaaaaaa_]qllnltorirqutt{k]SJJLKxÄÃÎÓ…aeegfffdegggffeeedG1:FChÕà°YUj“]8=@B:H‡V;A988@@?DwzH;B@C@9BWWNAAB9..../1>JDTEWc]VNG:25A:AA>454/Od`_```aaaaa``aa…|u~xrqilsnifohaccUJKK]f~»ÃÊØ\aacceeeeffffffa\D(6;DFNlyifuˆ{7=BFNwdC:CD[p@@@??A@@=311113=EIKAVe`SSK?12;3@:3//4C^caaaa`aaaaaa`aa}xwxsnq``gqyqijeZLKJT[Y™ÃÁÕ¿e_`bbceddeeedeeZRA(66?BCEJQZi{c5CSKKKD@9GV]S?AA?>?>=<:9976577;86:??999;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÁÆÁÈÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌËËÊÊËËËËËËÌÌÌÎÍƳ™£•rx€q]\^q}m[^ljfZYYZ_YVTO]f_[ROOPXV\efgOU\_YPPKQRW^aZUOLJ@?75421/76ÍÍÎÎÍÍÎÎÎÍÎÍÍÌÌÆÀÄ¿ÆÊÊËÌÌÌÍÌÌÌÌÌËÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ£‰†plkmkjmrtzy^`_bbZY[ZZ\RRV\bXYXVSQTRUZdcPQXZTLNMRQ[b__YQGA?<951210.1ÍÍÍÎÎÍÎÍÍÍÌÌÌÌÍÇÀÅÁÉÌËÊÊÊÊÊÊÉÉÈÈÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÌÌÍ˳˜’yknvxs}~cc_\fXaccZYVU_XSXedQOSVWRNKWPWfPNSWYPLROPW`^`USUNH?=84220--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÈ¿ÁÀËÎÎÍÍÍÍÌÌÌËÊÊÊÊÊÉÉÉÉÉÉÉÉÉÉÊÈÈÈÆÈÉÉÊËÊÊ̽‘Žƒq`jzkbg__`Vh`WWSSM\a_`qlYOOT[SMITRRXSYYXTMOQUZ_XVYPOXNH>>A;52/,+ËËÌÌÌÌÌÌÍÍÌÍÍÎÏƸ»¹ÉÏÎÎÎÎÍÍÍÍÍÍÍÍÌÍÍÍÍÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅáˆx{si_jlmb_`]V\_UQZRRPZeeegbfUQVYSPRTSQVRY]`TRTQYY]XXSROPOI>?=6651-1ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎúĻÆÏÍÎÎÎÎÍÎÍÍÎÍÍÍÍÍÍÌÌËËÉÉÌÍÎÌÊÇÅÉÊÊÌÎÌÆÃÀ²š{{rcVRa\Y[_`^a^WTPJLTX_ach]ZSOPPNKTQSP^LTTXYVYY^Z[VRPSNQJEC>@;531.2ÏÎÍÍÍÍÎÍÎÎÎÍÍÍÎþÌÂÅÎÍÍÍÍÍÍÌÌÍÍÌÌÌÍÍÍÌÌËËÉÉÉÌÈÄÂÃÁÆÆÈËÌÉÁ¾»«ŽyrWSRQNVVmodaa[XLC@LXPZ`a\VSQKMKHKHPLYNQTUVUYZYZ]XROSMUNCGA>>3/.,,ÏÍÍÌÌÍÍÍÍÎÍÍÍÍÍľËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÎÍÌËÊÈÇÅÈ¿¼·Á¼Á½ÃÊȺ®¢¦Œ}ur_TWYWhi[ned\TTQQVSbSOZ]ROVWPJIFNOPXWQPWYUSWVUNPZSQVPWW?46220.-,,ÎÍÐÖÔÎËÌÌÉÈÉÉÊËÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÄÁÁ¾Á¹¸¨¿·¿¶¼Ç¾»´¥‡†~oˆvb\_Z\ejUn[S[TMST\YUMPRXRPRUWKKKSRRYf\NUWVUTTYQL\WW[[LC=643/--,,.ÎÙèðíäÒÊÈÁ¼½ÀÄȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÌÌÍÌÌÌÌËÄÁº³¼·¯ž¹±½µ²À´º³˜ƒyylgc`b`T\`XTdZSZ]OSRV[TUTNNMJKLSYUOROQPcYMY[WQKMXWPUXQLJA7=<:62.-,-.ÛïÖ²½ãéͽ¶±¯µ·¾ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÆÆÃþ±ª§¬¯¥©«´¯±¹«« ‚uuskjQ]cZXcUO]g\X^WKPQRZ_`TPLLKMQLUWKNSNQ]]X`\SOKNYUQWPPWJBB=;;961//--íÆ{hk£éÙ´­¬­³±½ÃÅÊÈÃÊÍÌÌËËÉÆÉËËËÊÉÈÆÁ½¼± ™™¤¤˜•¢­ª««§¢™ƒslhejm[TUU`_VV[XX_URVSSUT]VQSNNSUQRTWQOVPRX_X]WXZV]^RRYVSQ??E;87765200/åŒvupŽÌè·¬ª®°±ÀÀÄÊÇÁÉÍÍÍËÊžÇÌËÊÊƾ·°±°¶ªŸ”Œ—™˜‘¦´­­ —™’xgceUe^QLHOW`XRS`g\_n\]b]SWNPNNOQVRTQSXR[ON]]\gZa\he^RPMMJL@<856769GFr\ZU=Jsá› ìéââååçèèêèéëñÄ™˜”ˆ‹’Ž‘Š‹Š…ŽŽ‡Šˆ‚€ƒ{}Šyvuqsqnh`V[caZQUOQ]dbbTNSRg\bWLPQOIGCFRIBJKLFPQ\\XKWdcdT_cVPV]QD?@;:8878<@JADXemYEDT‚{èìíîíìíìêëæâä绌‹‹ƒ‡ŠŽŠ~ˆ‚Œ–‡†Žy|ƒ†€|‰y{vuttvsbUQZXZVYVNZY\`eeglokR[\SMQQFEEOVQPNNOHJVZ]ZNM]Z_\\geV^SA:9<<::::;><<;hqsrqkff{¹ÝëéèæáÛ×ÑÌÍÎÑ×Ø·‚‚„€…ˆ‡{…ƒŠ•†ˆ{‚†‡„~†|xuvxtun_X\_UUSSV^VOM_rraY\fPTNMRRMMIC>KTQRSSO]dccZSXX]ZR\VSSG<98;:78:98=<<;TUSTUYbcrÄðìÝ£ulfc[]]fmtŠ‹|€{}„€€‚‡}{€€„†}€}}tsutrrsf\^[NPZXZ\SU^ae^]U[baSTMKKQKG@=COSV^YZafk`\^W[SXSSVWU@9888889867:?>>?><;?KNWaYRWZQVZMKD;:996673‡äO16;;;AHJJÏÄÅ¿¯“aSC_ÌÀö¸¼»ÁÃÃÂÁÀÀ¿¼¾Å½¨~~‚wyxwwxxtzv}yz|}yuttvklqihf^O]i\SSWZXPOWWZb^XU[YTLGD@?>?<79>EGJ\hWTZW[[TFA@:7787795‚áP08;>CFHDPñóòôô¶[NGR©ËÖØÙÚÜÞÞÞÞÜÜÛÛØ×Ùžy|}…yvzxutuuwy€{}€‚€|ywrjejdfcb[flbYMOYXUQSYW_YVYcYOHA@@@BA?>CHC>K[jk]KPeQF@:;97;;::=8uÚX4=;>CIIBVÜÞÛ²¥ˆYGD]¬ÓÚãççéëíìèííèæçãÛ½„|{„‚xŠ–›¡¥§©ª©®­««¬ª¥¡—‚ie`\[W\XNNUTMOS][YXZ\\SUMH@AFIB>CRPJU\^iŒnQUXLB;765:?BB??;{êd7?8MTNdkiuˆj[^RIA>::>EMIC=>9ól7<5=GIYag‚|†ˆrgKJGT¥ÝâééäಱÌÚ¹²ÔèåäÞÛ”yzpr˜’pic\VQT\e¡—me`XTRSQLQws^SV]XW\TPSPSPZ]Zc]TUQOIGGCFKFDHNMShkitrcajhXPLLPTUVSIJO9|õs889S[^jghtllkaN@A=F‰Úééëçêêàæêàßêèèééâ‘z|xuŠXFKOV_h^GFJSL>;HJ]pknpSKFUodF32ceTutwxwvtsststvyy~…“£³´«™Œ~smkkmnmiea]]]YY]^YZ[\]`dgdca`‹Œ~Œ…~ysmjigeomlkklmoqtuutsstvz}~~~}|{yvss{Š‹ee`035658IMJHJJGIIDT{iM2g–‹Iehkoqtuuvutsqqrqpoot~Š™¥«¬©¡’sggfeb`\YVYXWWXXVWWWWZX]›fWXUQPQOLKHGtokjjjjjlnorrqonnpsvyzz{{{zzxvtp}V{O14=hmDFMIHHIIIJKKwnJ3Sy–UZfcdefikmpssstsqpnmmnnnory„–«¼º¦Žwkggggb_][YWTSSSRSV]g†JQ^cgnu|]976xuqmjjjijjlnppppopppqsuuvxxxyxvs}R‰@35CŒ˜cEE:789FKJOLb}Z44.ysMhdcabccdeimprtvutrpllnnopnllw©¹»°œ‡ujhhfc`_ZWYTTSRVt}S”Ÿ¤§«±ŸP<6wvusokjihhhkmnnooqqrqqpprtuvwwvtw\…7=;VŠ—™M>5324;@:E^—›f530^‘Iihedcbbaabbdgknqsvwvtqnkjlnpomko{¨ÁíŽthggffdc`^YVS‹lb‰±¯¦ž”‰„eP:uuuvtokhfeehjllmnnoooommmnpqtvuunoz?KHL}ˆ€QKA6566424L”–R942D›Talihhecb``_^^`cflpqstuvtplggjmnmkjju•·Ë¸‘uhfijiigd_`œ]`EmRA=94DYUDuuuuttqkgedfgiiklllmmmlklmmpqtrsc€qGRLau‰YHHFCCDC@=Gx”ŠL=;7<œ_ShPFK`igcaa````acgknqqsuuurlggikmonljo†¨¿Â«ŠskiijiduTWE83jmoqssrqpkgba`abdffgijjjklf;;9VzFJIH[8;AAAIQPKKFA9>A=@u}†M833gjlnorrssrplgcbabbccdfgiijlbNFG/ST=;:;989877877677777678889;=H=Hjmkjhecdglonkhfeffdb__aeilopqrssrpjecdhjkjjbPSY`o˜ZBHGJCA_}q@CB@AFJL^`cfiklnpqqpoomgca`__`acgggigp§rPIC336544335345@74444345542Qy\CXkkkkkllljfbbbdfhheb`_^^^\]^^adgkmnopqqnkfdg[OOL@OxhOJF??HNLHKMM‡[adhjkmoqrpppolhc``__`bdffhhl…vY…•ŽK2322233335A8543333331S¨£¦}GOjjkjkkllkjgdbbbcfgeb``^]\]\[[\^adhilnnnmmifdb~¬~hzxunlaPQ^iiiiiÅ{\cgijkmorspppnkfcb````bdefhniPm¥»•F00111134502641/000-KŽžª—ƒCJegjikkkjkkkidb`_adecbb_\\\\\[ZZ[\abeiklljkjgd}°‹ojff\Z\XUkpfc`^ÉÁsZcffhjlnpqpoookgca_^_`bcdeke-]±©¬£J==::8349bV7noronmlkkkihghkkifa`cfhjhfecaa`a_]]]_bcgilnqeP~o[TPTVVWWWWVVUVWv²ÃÎX^cefijkmnpponmkfa`__`acV2/.6irvšµ ªgiqgT‰òâpeqwrt¥z…sx‹‘œ´³±ª©ª©£¢¡ž™‰shkkjgcaadgjkifca`____^]^_adgjoaPmj^ag^XZXY[]]ZXZ[MŠºÆÉvXabfhjjlnoponnmkfb`__`bN0---.14A?EIOPS\h€Ò͈fYKiãeXPJ\§¿É¼jZ_adfhhjlnnmmmljfbaV1///9>n‘L-04Jsqnljeb\Wˆ‡Py±×ÙÚÜÞßáuZZTQR´æáÞ×ÙßâˆqPiiffghhiiigfca__adhigda^\\\\P>=FHMPUWX]hhfmttl®jaPLIp¶ÀϬa\adeggikmmmnmljiecV34//:PÉíŒ_et•jfjrz}‚ƒˆ‘pYlºàÛÜÚÚÛØg]^cXL¦ãÞÚÔÔÚâ{d_Zjeeefggiiiigdb`_adhiihea^[\S?;EHLOSVY`abddhmw…lodRLL†¼ÂÒ—Y_cdfghjkkmmmljjifW39//1<Š£t\kt‚„ˆŠŽ’“‹—›_fZ¨ÓÐÑÕØÚ¿RQRZRNæäåáÚÎÀbJpPgddeffghhhjihfc`^_bghiigc^]U@:DHKORUXcox~‚‡‹›¥iit^OLVš½ÉÌZacfghijkmmmlkjjhX1;..-04@E8:@B57751121xšRnRMRRX_cdRGU^„[TbŠxjZLCD>nP`edeffghgffghhfc`^^acfiiiebY=7DHKNQTXamvy}|¤áçpoleXOJd­ÀÍÆu\ceghhhklmllkijjY.;/-,/237=>>?BEGGYnQP–†MoL<7676547=>T]PH6136968K=^]Yecfffffffeeghhgda_^_afiiih];3CILNPSZbkmkmj®éèqkkmfSTgˆ¼ÆÓ¼j^cdghhiijklkijkZ,;1-*+../01134568BJ8N qPkE<8689887438[G66568<@<9E=JiOhkbffeeeeeefgghheb`]]`fhjjb90AKMOPSY`gglpm·óñllnlgZNOR‘ÂÇÔ§]_abdefhihklkkgU,;4,87+++*)*+)())(''h _U`@8769660***+)*)N™‘TaTHODGWZNDID6333355:X‡“RCB84bPi¤Žaggdccbbdeeeegfda_^]^agc2.AILObwha\N?'*((*msqstwgSNJj¹ÇÑÆm\abdfeeeeffcYM.745,8?@>31-*+--:DG—JcPMPJHIHGHJNF32238LŸ¾n\]bH9@A??mebde`b]SMJb³ÃÍÎxY`fecddddcb_VC1--.,*)*++)*++Dp¨›ykQ5;;?P[WLB@;UNB=8?IifggqlhbRKLKƒ¿ÄÒ´`^bcbcddddb_[SFBCCFGHJJIIHGFFUd}‚p`PLKNRPLLNNQURQRTVVWYZYXXXXZ[_a`m]YPcnoaaa`abbbbbcdddca__\2%8;:=@CB@=:hqjfmorqg\NLKq¶ÀÏÌrZacccefecdc^]\ZYZZYWWVUUX[^``NM`egXYYXWWXXXXXXXXYXYXWXWXXXYYXXXZZcDG`}¼Â»x]ababbaacccdd^UNH.%81PS0&$%&###"! "svmkqonlnoYLKN¿ÅÖ°``cccefeeeeba_``_^\[YWVWZ`bfld=GigUXWWWWWWWXWWXXWWWWVWWWXWWWWWWXV`PQebdfcc`aabbbaacb`^\TJIG-$61?MA64375435787pojglmgfijdLJK[©ÀÉÖ\cdceggggfeccdccba^[YYY[]_bjeLiwgQWVVWVVVVWWXXWWWWWVVWWXWWWVTRU\W[^dcbbba``aabbbbba`_^]XMI0$50(",87666548<>>plmehkotqniRILKv½ÀÐÇo^dcegggggfeefeeec`][ZZZ[]_ddcttpde\VWVVVXXXXXXXXXXXWWXXXXWVSd}ˆbYg_a___^]^__abbabaaba`_UI4)3.,,4.**+**)*)**hchfeiqsosr`LJYd—¿ÄÔ¯cbcdeghihgffffggeca][[[[[^^`uw~‘•Š_XYYYZZZ[ZZZZZ[ZYXXVWVVTe¸¬}g{yzz{zzxsnid_jlb```_]]ZQA1.**+1&$##""##"""flkhnnjknspkTILLW¤ÀÇÕ‘^bddfghhggghhhhgfc`]\\\[^Y^}}|‹ÎÓÊ`\]^^^^^]]]]_^^hfZfr€‰•©º½¾µ³³µ³³´³²µ´±¯ªž€sd``a`_^[WRF965668<>AFIJJIIHytsptoiikjgidLJJIm¸½ÍËv\bcdeffghgghiihgfc_]\[\^U^qmc¢éâá؈`eehjjmpqq{tqm„•¥°³²­«¨¢œš˜—––•••—˜˜šž§›`\b`aa_`^[XUSPNNMOQSV\abddd`x€}pkjheiimhaOJMKKŽ¾¿Ô°]\`accdffgghiihhheb^\[[]S]\TI—éÎÆðÌioqsuuvxxy}xyˆŽˆ¦—’‰‚€{vqmjhfedcdefegmr{hop^aa``__\ZYXWWWXXVUY]afhheotqtvlmfllmkje[MKI]³¾ÈÔ‚W^acceefggghhghggd`]\[]TSOMId¶—£ðÓkw~ƒ†’–› œ•yqwnd\WQOLKJIMKIIHHIHGGHIIJP^rbaa`aa`_^^]]]\[\ZYYZ_dgiimvrtslnhgjjkntiQJKLÃÄÔ»c`cdfgeeggghhggfgeb^]\^XFFOJKNTkÁ¨uŸ¹½ÁÆÎÑÒØÞÛÃŒoUPKGFFGIJLNNMa_IHFEDDDDCB@?@@Qaaaaaa`^^^^^_^]^^][Y[^chjksmmmkkjgiillmiSJJJeºÅÍ׊]cdfgffgghhggfgfec`^]]YFENGHLSZanÝžc]YVXVnÕ·u}NBCBA@?=>=<:976545776566777778;Ubaa`aa`_______```][YZ^diljltrmjlnmggjhiUJKKL‘ÆÆÓºb^_adeeffgggfggfedb_^]ZEBKCGLQW_u°áX1699:6fîà•d;:88877889::896599:;866666666==E^ba``aa`a```````a`^[Y[`eimprmklosplhjkfTLKLJa·ÆÌÖŒ^deffgggfghgggfffeb_]ZC?HBHOV\ds¤Þd?@@DDBUËËJ<;=ABCDEFFF:_S:>=;;743444444;B=U`aaaaaaaabaaa`aba`][Y[`lklmqtsorkilkkoeOIKKL‹ÆÈÔÁkcefgihgfghhggffffc`^Y@?GBFOX`iw¡Ú|Uy‹’•¬Ï®r=A:=<;;<5q“Y8@C:93234334337C>C„c^````aaa````aabaa`^[Zpwtoihjlniikurue_ZLLMPƒÇÇÐÊvbffghggfefgffffffb`\9:GFEJQYcrŽÏ€M»ñìãåìÞ”DYM3134100002346:LNEHGD=614AHOWTUVD32>??Mb\JJKRab````aaaa````^ƒ|‚xuzwihoyvxzre\QJJKJQ ÈÅ×¾f`bceeddefggfffffe^46?IC“ÕÄ}M^{’@:>AA>JŒW;A613?|ŒŒ€<771//./122@EINQ]YZ]O519A=DaS3433Scaa````aa``aaa†|u~xrqilsnifohaccTJKK]f~»ÃÊØ’\aaccdeeeffffeefe^65;HCzÛߣQVmPBEFD@b€HICQCWd]UQI=23@8@;84430Lecca```aa`a`aa‡††††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxywyzzy{{zwuxyz{zzyz{~€€€††……†††††…†††……†††††‡†††††††…{xuttvuvyxxywz{zywtvvxzyxwy{~€€€……………†††††…†………†††††……††…………„‚€€{uwwxwwyzxxwz{zyxvvuxyywxyz}~€€…………†††…††…††……………………„……„………„‚€~zyyxwy|{yxwz{{{ywvvxyyyzz{~~†…………„……†……††……………………ƒƒƒƒ„„„ƒ~|yxwyz{zyzz{{{zzvvxyxyzzz|~€„‚‚ƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚€~|zywyz{zz{|}{zyyvvxz{zzx{~€€€‚…‡ƒ‚ƒ„……………„…†…„„…‚€€€€€€}~~}{zzwwwyzz{}|{zzxwwwxxyzy{~~€€ˆŠ‰ƒ‚ƒ„……†……ƒ„„„‚}~~€~}{|}|zyxwxwvy{}}||{yxyxwuvxyy|}~€€…ƒƒ€€‚ƒ„…††„‚ƒ€}zz{{{|}}}~||z{|zzyxxyxyzz||}}{zwyyvuuwwx|€€€„‚†„~€‚ƒ~|yxwwxx{{y{{yyxy{yzzyxyyz{{|}~}|zzyxwvvvuw|~€€}Š‡Š‰€~~~}{zyyyxwwwzzxyyxxxyyz{{yvwxwz||}~}|zzxxzwvvvw|~‘‘‘†€ƒ„‚{zxyywvwwwxuvvvuwz{|zzyuuvwz|{}~}{yxwwyxwxy|~~~Š‰†‡‡€ƒˆˆŠ‰‰‰€yvyxwwwvuusuvuuw{||zyxz{zyy{|~~}{yxwwxwwz|ˆ}|~ƒ€„‡‡‡††ˆƒ}vvwvvvutttuvtuwyy{yxz||z{z{}~~~}zxxyyz{~€€‡€}{€‚ƒ„ƒƒƒ‚ƒƒ|usuuvvwxxwxxutvxwzyy{zyyz{}~~zvwyx{~€€}}€|x|~‚€€€€|uu{„ˆŒŒŒŽŽŽŒ‡xwyyyzzzxxxz}~~~}wtuvx{~}|~~~€~xr|}‚~{tw‡ŽŒ‹ŠŒŒ‹‹€vyxyzzyxxy{|}zyxvqpqqnsrpqsv{zwroo|}€‚‚€€{tzˆ…~…„††…ˆŠ†zyz|}|z{{zxsninosssqnjhhgffglkjotv‚‚ƒ„…„……„„ƒƒƒƒ‡…ƒƒ‚…†ƒ…‰†ƒ‚‚ƒ‚}xuvxyzyzyxxxxurqq~„‡ˆˆ‰ˆ‡‡‡ˆ‰‰ˆ‰‰‰‰‰ˆ‡ˆ…‡Š‡…‡‡†‡†€ˆ…ƒƒ„„ƒ‚‚ƒ„„…†……‚€€€€‚‚„ƒ„„„‡ˆ†…ˆŠ‰‰ˆˆˆˆ‰ŠŠ‰Š‰‰‰ˆˆ†‡Š„‚‡Š‰‰‡€€‰†ƒ„………ƒƒ‚‚‚‚ƒ„†‡†……‚€€‚ƒ‚ƒ…„‚€‚…ˆ‰‰‰ˆ‡‡ˆ‰‰ŠŠŠŠ‰ˆ‡…†ˆ†…ˆ‰ˆ‰†~€‰‰ƒ‚ƒ„ƒƒƒƒƒ€€„†‰ˆ‡…ƒ‚€€‚…ˆ‰‰‰……‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠˆ†…††……†‡‡†……‚ƒˆŠŠ„ƒ„‚‚ƒ‚‚‚‚€€€‚…‡‡‰‡„‚€ƒ†‰Œ‰†‡‰ŠŠ‰‰‰‰‡‡‡‡ˆ‰‰ˆ††ŒŒ‹‹‹ŠŠŠ‹Œ‹ŒŽ’‰„†…ƒ‚€‚€€€‚„‡ˆˆ†~|‚†‰‹‡„ŠŠˆ‰‰‰ŠŠ‰‡‡†‡ˆ‰‰‡ŠŽŒ‹‹ŠŠŠ‹Š‹‹‹‹…ˆˆ‡…€€€‚‚‚‚€€€„††}{‡ˆ‰‡‡‡‡„‰ˆŠ‹Š‹‰††…†ˆ‰ˆŠ‹…ˆŠ‰‰‰ˆˆˆˆ‰‰€Š†ˆ‰‰‰‡„ƒ‚‚ƒƒ‚‚€€ƒƒ‚„‡‰‰ˆ‰‰‰€†‡‰ŠŠ‹‹‰‡……†ˆˆ‡…~‚†‡‡‡†††……†ˆ‡ˆˆˆˆˆˆ†ƒ‚‚ƒ‚‚ƒ‚‚€€ƒ††…‡„ƒ‰‰„}ƒ‡‰‰Š‹‹‰‡……†‡……‚‚ƒ‚‚‚ƒƒ‚ƒ„ƒ…‡†‡‡‡ˆˆˆˆ‡„ƒ€€€€……~yvtvvu||†ˆ‰ŠŠ‹‹‰‡…†‡„„…„„ƒ‚‚‚ƒ…ƒ‡‹ŒŽ‹ˆˆ†ƒ€€‚„…|zwtut}}~ƒ‡‰‰Š‹‹‹‰†……ƒ„†ˆ‡†ƒ‚‚„”””•–•““”””ˆ‰ˆˆ†ƒ€€‚‚‚‚ƒ‚‚~€‚{~}}„ˆˆŠŠ‹‹‹‰……‚ƒ…†…„€€€…Šˆ…‚„‰Š‰ƒ‚‚‰‹‰‰‰ˆ‡ƒ‚€‚‚ƒƒƒzwy||}~u~|†‰‰‰‹‹‹‹ˆ„‚‚‚‚ƒ€ˆˆ~yy|†‹~zyy„‹Š‰‰‰‰ˆ…ƒ‚€‚ƒ‚xrqstsu{oz~}‚‡‰ˆŠ‹‹‹‹†ƒ‚‚„Š‡ƒ€‚‰ŒŒ‚~€†‰‹‰‰‰‰ˆˆ†ƒ‚‚wqqstv|hm{}z~ƒˆ‰‰Š‹‹‹ˆ‚‚ƒ‚‚‚‚ƒƒ†Š†‰‹ŠŠ‹Œ‹‹Šˆ‰‰Š‹‰‰‰‰ˆˆˆ‡„ƒ‚yrrrw~„ƒjhq|}~…ˆ‰‰Š‹‹Šƒ‚ƒƒ‚‚‚„„‡ˆ…‡ˆ‰ˆ‰‹Œ‹†~„‰ˆŠˆ‰‰‰‰‰ˆ‰ˆ…ƒ‚‚|vwuz€ƒ‚kjkx€~}ˆŠ‰Š‰Š‹„€ƒ…„ƒƒƒ†‡‰‰„……„……‡ˆ†€{„…Šˆ‡ˆ‰‰ˆˆ‰‰‰†„‚‚€}~€nmmt}}„‰Š‰‰‰ˆ„‚‚€€‚„‰ŽŒŒŠŠŒ‹‹‹ŒŒ‹ŒŽ’Š„†‰‰ˆˆˆˆ‰ˆ†ƒƒ€€omjmx~|€†‰ŠŠ‰ˆ†„ƒƒƒ‚‚‚‚‚‰“••”•••–••–•”––•‹†‡†ˆˆ‰ˆˆ‰‰Šˆ„ƒ‚ƒ‚‚klhijz}}ƒ‰ŠŠŠ‰‰‰ˆˆ………‡…ƒŠ‘’’’’‘‘‘’“’‘‘‘ŽŽŠˆ‡‡‡ˆ‰‰ˆˆ‰‹‹…€ƒ†‡‡‡‡oniher€~|~…ŠŠŠŠ‰ŠŠŠˆ……††„Œ‰†‹‰†‰ˆˆ‰‰ˆ‰ˆˆˆ‡ˆ‰†€‚ƒ„„„„ljhgfl{€~}€‡ŠŠŠŠ‹‹Š‰ˆ†††…‰|€ŠŒ‹‹‹‹‹ŽŽŽ‰ˆ†……ƒ€€~~fgghhip}€~~‚‰ŠŠŠ‹‹‹‹‰ˆ††…†}~…ˆ‡†……‰’““•”“”“’’’“”’Šˆˆˆ†……„ƒ€ihgfghhu€}‡ŠŠŠ‹‹Š‹Š‰†…„……ƒ„„ƒ‚‚„ˆ‘Œ‹‹‹ŠŠ‰‰Š‹Šˆˆˆ‡‡‡‡†…‚€jhgdgjhr€~~„Š‹ŠŠŠŠŠ‹Šˆ…ƒ„„…ƒ‚‚‚ƒ‡Š‹ŠŠŠŠ‡‰Š‹‹ŠŠ‹Š‰‰ˆˆ‰ˆˆˆˆˆ†ƒihgfikin}}€‡Œ‹ŠŠŠ‹‹Š‡‚‚„…ƒ‚‚‚„‚‚‡‰Š‰Š‰‰ˆ‰‹‹‹‹Š‹‹‰ˆ‡‰‰‰ˆ‰‰ˆˆ†ƒjjjkjihkt€~‚ŠŒ‹ŠŠŠ‹‹‹‰‚‚ƒƒ‚€„‰ŠŠ††‰ŠŠŠ‹‹Š‰‰‹‹‰ˆˆˆˆˆˆˆ‰ˆˆˆ†mkijnkhjq}‚‡ŠŠŠŠŠŠ‹‹‰„‚‚€‚‚‚‚‡‰Œ‹ƒ‚‰‹‹ŠŠ‰‡‡ˆˆ‰‰ˆ‡†…‡‰‰‰ˆ‰‰‰lmnoqpmos|€~}~‰‰‰‰‹‹‹‹‰„‚‚‚‚ƒ‡‡‰‰„ƒˆ‰‰‰‰ˆ‡†‡…ˆ‰‡‡„ƒ†Š‰‰‰‰‰‰{zzzzzzz{zz{{zzzzyyyyyyyyyyz|ƒƒƒƒ„††‡‡†††ˆ‡†ˆ‡†††††……††„‚‚ƒ‚yzzyyzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒƒ„…††………†‡†…………………†…†††ƒ‚‚€zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ„††‡†…ƒ‚‚‚€zzzzzzzzzzzzzyyyzyzzz{z{{{{z{~€‚…„„„……„ƒ„†‡†…„ƒƒƒ„„…ˆ‡‡‡…‚‚‚‚€€x||{zz{{zzzzzyyyyyyz{|}~}}||~€‚„„„„………„…‡‡†……„„ƒ„…†‡‡†…„‚‚‚€€{‚~|}~|zyzyzzzzzzz{}}~~}ƒ‚ƒ„„„„……‡†††††………„„…†‡‡††ƒƒ‚‚‚€‚}€€~|{zzzz|zyz{|}€€€€€‚„…ƒ„ƒ„…„„„„…†††„…†………„…††††‡„ƒ‚‚‚‚~}€~}|{zzz}{{~€€ƒƒ‚‚‚ƒ…………„„……„„„„…†…„………„………†††……„ƒy|}€€€€~}|{~€…†……„„ƒƒ„‚„…††……………„„ƒ„…………„„„„„„„…†‡†…„ƒ‚‚‚‚u~~~ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡††††…………„……„„…„„ƒƒƒƒ…††ˆ†…ƒ‚‚€‚‚z~}|‚‚‚‚‚„‡††‡‡†‡‡…„„„„†‡†……†……………………………„ƒƒƒƒ„†…†‰‡…ƒ€€‚ƒyyyy~‚€‚ƒ†‡‡‡…†††………†‡‡‡ˆˆ†…………„…………………„„„ƒƒ…††††…„ƒ€€‚ƒ…ƒ~€€|{yx|~ƒˆˆ‡†††††††‡ˆ‡ˆˆ‰†„„„„„„„††‡††„„„„ƒ…†ˆ‡„‚‚‚‚‚‚ƒ„„„ˆˆƒ‚}}|}~}‚†‡‡‡††…‡‡‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„„„†‡†‡ƒ‚‚‚„…ƒ„‰‡„‚€€€…ˆ‡‡‡†………„…†…†‡‡…„„„„„††‡‡ˆ†„„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ€‚„„ˆˆ†‚‚€€‚‚‚†‡†„~}~~~††ƒ„„„„…‡†‡†…„„ƒ„……ˆ‡…‚€€€‚ƒƒƒ‚ƒƒ…†ƒ‚ƒƒ‚‚†‡†||||€€~}||‚†„……„„…††‡‡…ƒƒ„„‚}|}~€ƒ‚„ƒ‚€‚ƒƒƒƒ‚‚†‡†€||{|}}{y|}|„ƒƒƒƒƒ…ˆ†††‚~}}||z{{{{{}~~~€~}€€€‚‚‚‚‚„„„}|}|zz|yx}|}‚‚€€„„„„…~~~€€€€‡“˜›œ~~|}}~}|||}~€}|€yxywx‚||€€€€€€€€€€€ƒŠ„ƒƒƒ‚‚‚‚ƒ”™–“{}~~~}||}}}|||~|{‚„zyywz„„||~€€€€€€~€€‚„‰†‚‚‚ˆ‚zzzxy{{}~~~}}|}}}}|~~{{~€{z|{}……||~€€€€€€€€~‚ƒ‚‚‚‰€{}~{z}{||}~€€~~}}~€}}}~}}~~~‚‚}|}€€€€€€€€~€‚‚„Š|y~|z~}}}}}€€~}~€€~|}}}|}}}}~}}|z~€€‚‚‚€…¥­‹zy}|y€~}|}}~€€€~}~||{|}}||}~}}}}~~~~~~~€‚‚‚€~ƒª´›“|~€}}}}~~€€€~}~|‹€~~}}~}~}‡€~~}}~€€‚‚‚‚€‡Šœœššœžƒ€~}}}}~€~}~‚„€~€€€€ƒƒ€~~~~~€€€€‚‚~•³¹¿º²µ»„ƒ€~}}}}~€€~€€‚ƒ‚‚„ƒ€€‚€€}~~€€€‚ƒœÄÏÏÒÑÑÓ‡„‚€~}}}|}€€‚‚‚„„€€~}}{zzxzzyxy|}~€‚‚‚€ˆ›¥¯»ÂÅÇ“‰‚€~}}|}~€€€€~~€‚|yyyxyzzxxxy{~~~~€€‚€‰°{}‚ƒ„†ƒƒƒ‚€~~}}|~€€€€€~}€ƒ‚ƒ„€||~€~~}}}|}~~~~€€‡»Ä°™‹ ™†„„ƒƒ‚‚€~~}}}}€€€ƒƒ‡ˆˆˆ‡€||~~~{xy|}~~}{}~}}}~€…¹ÐÒÍÅÉƯ‚‚‚‚‚€~}}}||~€€‚ƒ‚ƒƒ„„„}|~€€zwwz€€|{|}~}}~}~‚€ƒ·ÍÎÍĸ¥’{}‚‹‚‚€~}}||}~€€€€€|||~~}zwwz~|||}~||}}~~€‚³ÎÐз~}{ˆ‡‚ƒ€~}}||}€€€€€€€€€}||{||{|{z{„~{||}~~}~~~~~~€¥È¹Äš~†||€‚ƒƒƒ€~}}}|}€€€€€~}|||}}|~}}}€ƒ€~}|}~~~~~~~~~ˆ–‰•†€~‚ƒ‚‚ƒ}}}~~€€|z{{~||||{{|{z{yx}€~~~~~}~€‚‚‚‚‚„€|€‚‚‚‚‚~~~~€€€€€|xvvvvwwwvuvvvuuu|€€€~~~~}~~~€€€~z|}€‚€~~~~~~~~€€€€|yxwwxwwxwwwxwxyy{€~~~}}{€~~~~~zyz~ƒ”‰~~~~}}|}€€~z}{yxyyyzyxxyz{|{}}}~~~~~}‚€€€€€~yxy}„‰…‚~~}}}}|}€€}{…‚|z{{{{{zyyzyxxwwwyzzz|€‚‚‚ƒƒƒ€~zxwz‚‚‚~}}}}||}€€~„…„€~€€}zyxxwwyyyyyyzy{~~€‚‚‚‚~zxwxyƒ‚‚‚€~}}}}|||~€€€‚€‚‚‚‚~{z{{{|}}|||||{{|~€€€€€‚~yxyzzƒ‚‚‚€~}}}}|||}€€}€ƒ„…„~|||||||}|{{{zz{{~~~~~€‚~{x{|{~‚‚‚||}}||||}€~€„„‚~||~|z{{{{zz{z{z|}~~~~~~~€~{{}~~€‚‚‚~}}}||||}€€€€€€€€€~{{€zyz{zz{|{{z|}~~~~~~~~~ƒ‚~€„„‚‚‚„ƒ‚€~~}}}|||€ƒ††~||‚‚|{z{{{||{z{|~}€€~~~~ˆˆ‡ˆ‡†„……ƒƒ˜Ž~}}}}||~€€‚‚‚‚€~}~€|{{{{|{{{z{|}~€~~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÎÍÍÍÍÌËËËËÌÌËËËËËËËËËÌÌÍÌËǽ³®¡œ€~rfkuiifkkqcf`V\`\[b[S[`]^VPOSZX_d_cRTUVUVSSXTPW_][WTMD>9;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÁÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÍÆ´š£”s~yq]^_p}m[]kjfZYYZ_YVTO^e_[RPOPXW\ffeOU\_YPPKPQX^aZUOLI@?76521076ÍÍÎÎÍÍÎÎÎÍÎÍÍÌÍÆÀÄÀÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ£‰‡plkojinrtzy^`^bcZYZZZ\RSV\aXYYVTQTSV[ebQQXZTLNMRQ\b__YQGA?<951220/1ÍÍÍÎÎÍÎÍÍÍÌÌÌÌÌÇÀÅÁÉÌËÊËÊÊÊÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’ykovxr~dd_[fXaccZ[WU_XRXdcQOSVWRNLWPXfPNSWYPLRNOX`]`USUOH?=74320--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÈ¿ÁÀËÎÎÎÎÍÌÌÌÌËÊËËÊÊÉÉÉÉÊÉÉÊÊÊÊÉÈÈÆÈÉÉÊËÊÊͼ’Ž„~ral{kbg_^`Vh`WWTSM\a^`olZPOT[SMITRRWRYZXTMOQTZ_XVZQOXNH>>@;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÉÏÎÎÎÍÍÍÍÍÍÍÎÍÍÍÍÍÍÌÌÌÊÊËËËËÉÊÆÉÊËËÌËÇÅâ‰xzng^jnlb_`]W\_TQ[RRQZeefgbfUQUXSPRTSRURZ^`TRTQYZ\XVRSOQPI>?=6651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎĺżÆÏÍÎÎÍÍÍÎÎÍÍÍÌÍÍÍÍÍÌËËÉÊÌÍÎÌËÇÄÉÊÊÌÎÌÇÄÀ²™zwndURb]Y\_`^a]VTQKLTY_aci^ZSOPPNKTRSQ^LUTXYVYY^YZVQPSNRJED>A<431.2ÏÎÍÎÎÍÎÍÎÎÎÍÍÍÎľÌÂÅÎÍÍÍÍÍÍÌÌÍÍÍÌÌÍÍÍÌÌËËÉÉÊÌÉÅÃÂÀÆÆÈËÌʾ»«Ž~wpWRPQNUWlpea`[XLC@LXP[`a]VSQKMKHLHPLYNQSTVUYZYZ\XROSMUOBF@>=3/.-,ÏÍÍÍÍÍÍÍÍÎÍÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÎÍÍËÊÈÇÅÉ¿½¸À½Á½ÃÊÇû®¢¥‹{ss^UUXXhi[nfe]UUQQVTcSOZ]SOVWQKJFMOQXWRPWYUSWWUNQYSQVPWW?46220.--,ÎÍÐÕÔÎËÌÌÉÈÉÉÊÌÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ½Á¹¸¨¿·¿¶¼Æ½¼´¥‡†|o‰wa[^Z\ekUn]S[SMST\YUMPRXRQSUWKKJSRRYf\NVWVVTTYQM[WX\[LB=7540..,,-ÎÚèïíãÒÊÈÁ½½ÀÅȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÌÌÍÌÌÌÌËÄÁº²¼¸®žº±¼µ²Á´¹³™„zykfb`b`T[`YTdZSZ]OSQV[SUTNMNKKLSXUOROQQcZNY[WQLNXWPTXQLJA7=<:72.-,-.ÚïÙ¶Áçè;¶±¯µ¸¿ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÃľ±ª§«¯¥žª¬³¯±¸ªªŸƒvvrjhQ^cZXcVO\g]Y_WKPPR[_`TPLLKMPLTXKNSMR]]Ya\SOKOYVQWPQWICC>;<961//--íÊ~hn«éس®¬­³²¾ÃÅËÈÃÊÍÌÌËËÊÆÊËËËÊÉÇÆÁ½½°Ÿ˜˜¤¤˜–¢®ª¬ª¥¢™ƒslhejm[UWT__VV\XY_URWSQTT]VQSNNSUQRTWQOWPRY_X]WY[V]^SSZVSQ??F;87775200/è”zvq‘Ð絫ª®°²ÀÀÅÊÇÁÊÍÍÍËËžÇÌËÊÊƾ¶¯°±¶ªŸ”Œ—™˜“¥µ¬­ –™‘xhceUf_RLHNV`XRR_g]`m\^b]TVNPONOQVRTQTYR[ON^]]gZb]he_RPMMJL@=?8854454.02²––—•œÀ齩¨¯®´»¶ÁÈÆ¿ÇËËËÊÇ¿µÄËËÆ·¦ž›™  ˜š”‡‘—’’ž©«Ÿ’„tcdgZ\TPSQOX^_\hm]OT`NWon[QNJMLJFJMLNNMPXTW]TRXX`g\ZVNIMGFECH@7543343015]iwx||¢èÁ¢§°±µµ±¼ÈÆ·¿ÈÇÊÉȾ²ÃÊȽ±¤˜œŸ”–’‰‹‹€“”ŒŠŽ™Šˆ‰ƒ|stobYSX[YOW\UU\h\RP]fg_]ZRSLJJGIGFEFNLR][VZUO\ifeU\SMUSIJ@?B9753313438<[’¼Àº§…ÝÞÍDZ®®ªª¶Ã¹©®³°¸µÆ»®»Â¶ªž—› ”“…‚ˆ‰€~ˆ‰Œ…‚€ƒ€~xuo`UUSS]YTYTSXfQPN]dcRRZXSLKLJJHEJJIQU[`QXPPlrcd_a\T`XUTG=:;86432265:@k¹Úâݺv½ñîçËɧ  ¦¦œžž ¡Ÿ¦´¬£ §™™˜ ˜™’•Œ…‚…€ƒw‡‡„||{{tqpibWPZgZQURU^YNX[\]XQQPRSMJPQLNRQFBJNT^QQM]``_Xei\RS\YFSF=<<9555499;=™´•u}h_•êåáæî´ž£°¡›œŸ¤¬¥¡¡¢Ÿ”“’›™Ÿš‘–ŠŒŠ‡‡ƒ}x~…ƒy{wtphheYUYQX^YT\Z\YUZYZ]ZTPKVTNMOJBCFFA?EHHQJRSY[aW_n\^OZ^[IEC@?<856769GFUcP}gD>_½»{ÜëäåçåçèèêéèêðÆš™”‰Œ“’‹‹Š…Ž‡‹‰‚€ƒ{~Šyvuqsqnh`V\caZQVOQ]ebbTMSTg\bWMQRPJHCGSJCJKLFPQ\\YKWdcdT_cVOV]QD?@<:8878<@KABPdnaMDG–¯bÍïííìíìëêêææçéÁ‹‹ƒ‡ŠŽŠ~‚ˆ‚—‡…{|ƒ‡€|‰y{wuttvsbUQZXZVYVNZZ]_eehlokR[\SMQQGEFOUPPNOOIJVZ]ZMM]Y_\\geV^TA:9<<;:::;><<LTRRTSO]dccZSXX]ZR\WSSG<98;:79:99====GJIKMPOTu•áå×wAGHKZ\IOMKI=q{~|x{€}~~€~x}}~ƒ~|z}vqtywsokf[SMKXW[RTW[ZVHV_Z]WY_VKMTOMILONPSUXW[lcZ[ZZVYWQVJMK?863_‚;7888;BDCEr[ZXV¡µ´Þ´Ï½cR@=F]ZWRG?B?R˜||w}‚~x~|y{~{|}{~~}xwpmvxzqgaaSQSC?LVVTWYOKISWZ\UZc^SMMILOMMJGJNWXY\_Y]WTQVNKMHA<9676P€?79:<=AIJH—TPLTÛ÷ðër©Å¡OXDRFA>A@7589;ˆ²Ó”w}ywyxv{z}}|~€€‚zwvlintymh`^PRTFHNTX[TPSQUUZUVWY`\RLEDBDFHEEFJSV\YUMURTRSNGEC=:6676[A88;<>>=;@KNW`YRXZQW[NLE<;997673‡äO27;;;AHJJÜËËÆ»¤nSHE¥ÄÈÃÁÄÅÇÊÊÊÉÈÈÈÆÆ͵ ƒ~‚vzxwxzxvzx~|w|zvuuvjkqihf^O]j\SSWZXPOWWZb^XU[YULGD@@??<68>DHJ\hWTZW[[TFB@;68877:5ƒáO08<>CGHDPðòòóöØrNKEÊÕÙÛÜÝßßàáàßÞÞÜÚݽ||~…xy{zxxwvvw{vswzyustphelefcb[gmbYMOYXUQSYW_YVYcYOIBA@ACA?>CIB>K[kk]LPeQF@:<:7;;::=8uÛW4=;>CIJCUÜÜàÄ¢‘jICMÏÚàèçéìììéëíëèéçÝÓ˜}{ƒ~x{{wvv~‚„Š“•—“‹qnkhfa\[X\XNNVTMNS]ZXX[\[SUMH@AFHB>BQQIT[^jlQVXLB;766;@CB??;xéd7?8LUNdjiuˆh[^RIA>;:>FMJC=>9ók7<5=GHY`jˆ}~‹voRJIG…ÑâçêäæλÈáÐÁÌéåçà߶yzqs€¥¡›•‹€vngefkof``]]^bhmr†|^SV]XX\TPSPSPZ]Zd]TTQOIGGCGJGEHNMSikjtsbajhXPLLPUUWTHIN9{õr879U[]kiiukkogVB@?:mÄìéëêèìååìæáèêèêéë°x}zw…˜dZTQPPRZcl’ª‹da[b]WVOBMqbUNVY`YXTMNWUZc^_WONURME@=IWbX\egmcZWX_bejmkng_ixwqlgiiV…ï‚TU^vuoqjeHGGHLOB116\°îìííëìíííîíêéëìíê¥y{xvƒh@OVanwwJ9987755Ejmljj[>Oe^TWYYSQNOMT[XSXYSMPXSPX_]v‚uakwkYTW\]^`ffl}„‚€„}…‡‡Š“¬’‰ƒ|}qrofttttw{v:-3SŸðîêçîëäåååæëîèçìé˜yzyy‚IHs‹— ¡w[H628EIHHB;>AHRA[]YZUVSW\[QS\YPMNT^[X\gz‚†‹€`cqjRPY[[[\eiku~|z{tt}‰Œ‰‡Š€{nnkhkcxxxwvyxZUZh‹¿¹œ’À¯‹Š”´É›œ¾Ì”zvv}tCQˆ²³µ·¶¯£¢ypzrKLK@4353ZVOnnolr{‰’†‰‘’Š‹’³šƒ€zw|{kbmmcY\`^]\`feirfdacct~y}ƒ„‚‚ˆˆƒƒ‚€ƒˆ‡‹Œqopooqruwyzyy||{~}}~|y}ƒ‘ƒŠ‰Š^WKa£Ÿ“…zqu²›y™JIJRUG44IsGqvxywvtstttuwyz€†“£²´«˜‹|rlkklnmiea]]]ZY^^YZ\]\`ehdcaab~ŽŽ£¢ ž›–“omlkklmoqrsutttvx{|~~~}{{yvts{‹‰‹Mo@3=;73:AMLJJKJHIIFf}_=@•¬pKfddefikmpssstsqpnmmnnnosz…–¬½º¥Œvkggggb_][XVTSTRRSV_`[—[OQONPSRJDAxuqmjjjjjjloppppooppqsuvwxxxyxvtxkar/44c‹g>KHABBEJHNGUtb<7DgŒGdedbbccdfimprtvutrpllmnppollwŽª¹º¯š…tjhhfc__ZWYSTSTXU]‚G_otz†Žm95wwusokjihhikmooppqqrqqqqstuvwwvu^yb058m”ˆUA9455;IGMJgy~B42<’WZjfdccbbabbdgknqsvwvtqnkjlnpomlp}«ÂëŒshggfgec^^YXUQzu\ ¨«®¯²¶ªZBuuvvtokhfeehillmnooooonmnoprsuvr~V‹P9CB~—©rD>322497;B€¤‡B522vPmiggecb``_^^`cflpqstvvtplhgjmnmkjjw˜ºÌµŽtigijiigdb]Y”ed{¨‡xji_VuuvuttqkgedfghiklllmmmllmmmnostmzW‘HGLE]zZJJ?:::754=pœp=960h”Hhidcghgcaa````acgknqqtuvurmggikmonljqŠ«À©ŠskhijigdižX[@]=6554CSPprstuutqnifdddfhijjjkllkmlkllkolt`”JRXV}…rGGEEEFGFDCm‘•`A;<3_š@a[>=Egnjgca``aa__aejlprsvvutpkggjmnmljir±Ç¤nijjh€™RT=M58999GPEknpqssrqpkgba`acdffgijjkklm\B=OlW‰Q{jI`HEIPX[\UOPIV_zvMA9:4EM5MD::1[lnnjfc`aa`^\]`dhkoqrstrsqkfehjklljfh{¢Çα‰qmo”‹PJ;B26=87R?=INLLQyŒâáºÏ¡F2Pcdfhiijjjjjkjifca`bghgedaaaaa`^]]^adhjlnoppolk¨ƒlXVZXWVVV\\WUU«ÀϤZ\aeghjlmoopqpnlhc``^_acdXX<.e¼ÇÇñå£][^sZt¼T\uoc]n©Õòî×Úw5.Y}pffghijjjkkkkkifa`cfhjhgebaaa`_^^]_bdhjmopqgX–tcWTUUVVUUUVUUUv³ÃÎX^cefijkmnpponnlfb`__`ac[@3-<”ØÒÞîÏŸi[]`o\³æŒYc`hd·ÏÁžxs7,'}Ç­sbdefghhgggjkkjgcaabgjkifca``____^^`behkmpcO{lZSOSVWWXXXXWWWNŒºÇÉvXabfhjjlnoponnmkgc`__`a`=.-/A`ZoŠ¢‡aqo`\Â÷¥\ptul…|Xd\Vboz„™£¤¤ ¡ Ÿž›–“Š{jjkkjhda``dgiigda_^^_^^]\^_beim]Oli[gwfZ_\Y\^]\X[Zw¬¿Í¶eZbfgjjlmnonnomlkea__`aZ7-++.03:=FJOPTZax¹‚j_RbjaPLIp¶ÀϬa\adeggiklmmnmlkieba=./.530.3CŠú»nmv—’zˆŽ”˜ŸœXi€ÞÝÜÜÚÛß¹TiajQ[ÊàÜØÑÓÜÔ[uPffdeffghhhjihfda__bgiiigc^\\Q>:EHLOSVYaceggjnyiju^OLVš½ÉÌZacfhhijllmmmkkjhc>73..5Y€ZZhnoqrsvzywt—PnlÝÞÜÝÞÞâ¢JUTZNU¿æäåäàÚÁId_Zheeffghgffghhgda__adhiiiea_T?9EHKORTWboy€„ˆ¤poleXOJd¬ÁÎÆu\beghhiklmmmlkkjf=73-./27E>8>?AFGJOpeMe£eXgC7443444:DG{‰SSG<76653=J=nQahcffeeeeeefgghhfc`^^bfhjjj^93CJKMPSYajmjmk¶êllnlgZOOPÂÇÕ©^^abdefhjjllkkkg:47.*),-.////22344<91nŸVc]B;689988742Tp>:657:<97?H8`Z[´bedddcdeefgghgdb_^^`chjkb71BKMOPSZ`fflpm¹ñnronneRLIV¤ÄËÓŒY_bcefghgjkkkh^739/3E3-++*)**)))(''4ˆ‘MfQ;75499663225944644Igg9695JhN“cbbcccbbdeeffgfda_^\]agkb40BLORPSXadZMIIRqmsqstwhTNIjºÇÑÄk]abdfffghhie[U53852GLD=866-**)*)()i›}JjFIF=HYTF?C934334557pŒB@<6O˜mIhFQOJKLLKJQO;23344@R`€kNOQ@6`K_`[befcbaaccddccddddb_^]\`]-,CCCQ¶Óy]PMLPVQPmebde`b^SMKc³ÃÎÎvY`gfddeeeeebV>41111)'''&&%&'+K^af‰eDULNGBCFGFGBHF:75>GLSXXRMFIKACC^Xn£‚f\ababacccbccdeca`^\^Y+)B@>O—¯k]_cG7==;ifggqmhbRLMK€¿ÄÓ³_^bcbcddddca\N8/.//.-,..--.-5_“£‡ud?:C@CQVXMFC@WKF<8@NQPOIB=98<97B\\WŠaWjbaa`abbbbbcdddcb`^^W+(==<@Q^[`iibPFCDllgfnmqiSLLKU£ÂÈÒ–`^abccdeeca]YLFFFGIJLLJJKJIENk~‘‚rkMB@CKSQIDDCKRGFFJMPTWWRNOPQSW[\amWbbµÜ©e`aabbbbbcdddddb``Y-&9:8:?IQ[gmuskhhhqjfnorqf[NLKq¶ÀÏËrZacccefedba[WUSRRSTUSRSTVWVPLPpsr`^[[YXXZZ[[ZYZ[\]\[Z[[[[[[\[[]^^cPBqÂƼx]ababbbcccddedca]S,&6.40/13789<>;98twmkqonlnpYLKOŽÀÄÕ°``ccceffddea_][Z[[ZYWVVVX[^^^XCoaq\ZYZXWXXXXYXXXYXYYXXXXXXXXXXXYZ]\>Kdffcc`aabbbbcccbcdd[QLF*&60UU2&%%'%$##"!pojglmgfijdLJJ]«ÀÉÖŒ\cdceggfffeca`a``^\ZYWXZ^aciiJAMsYWWXWWWWXXWWWWVWXWVVWWWWWVWWWXYY_GXeccba``aabbbbbbb`\[QKJG*&61>IA7448755788nlmdhkotqniQIKKy½ÀÐÆo^ddegggggfedeeccb`][YZ[]^`ckRKfxXTVVWVVVVWWWWWWVWWVVVVVVVVWWVUUVVV^eccba``a`abbbbbba`^]XMH+&50(#-76654448;?BFJLOPQx}pkjheiimiaOJMKKŽ¾ÀÔ®\\`bcddffgghhggggea^\[\]]Sm|ovÃìÝÖŸa``bccefghjmjih|{xˆ—¤ª²¶³²²±¯­­ªªªªª«ª«ª®²ib`a```_]ZXTSONNNNPRU[`bdedotruulmflmnkjeZMKI^³¾ÉÓW^acceefgggggggggc`]\[\\Pf]X]ÓÞÑàæelnrttvyz}‚yz€Ž ´²­¦¡˜”““Ž‹‰†††‡ˆˆ‰‰Š”–e]f`a```^]ZXWVVWWWWUUY]afhhmurtsmnhgjklnsiQJKKÃÄÔºd`cdfgefhhhgggggfdb^]\\\M`QNM²á¢Óï²etvvvwz{}€„†ƒ•|†˜‘‹„~uokgc]ZWVTQPPQQQSVY]camx_aa```_\\\\\\\[\ZXXZ_cgiktmmmkkjgiillmiSJJJfºÅÍÖŠ]cdfggggghhggggfed`^]\^LKLKIVmc®ï¢m¥­´½ÀÄÊÍÕ¾–pmlaYRMIHHHJJKXUMLLLKJIIGHFEHMfd`aaaa`^^^^^_]]^^\ZXZ^bgmjlsrmjlnmggjhiTJKKL’ÆÅÓºb]_adefffgggffgffeb_]\]MCJGEIMUh…y™Ï¶ ™™šš³Û«Œƒ[LHEDFFGHIKIHGRM@?>><<<<<<;;<<;:8876765335788766666667::M`aaaaa````____`aa_]ZZ[_kklmrtsprkjlkjoeOIKKLŒÆÈÔ¾idefgihgfghhggffffc`]^O@AFDKOT[eƾ?;>B96:9;;855555555;BGFGFGFEC7w•Y;A?;;5334344339C@973344333235A>C[`_```aa``a``aaaaa``^\hijga``ghqzxrsmjmdSJMRY®ÉÇÖ«dffhihhgefggggfgfda`I5@GBGMS\ix©É\kßñíçëîä˜I>B43588865::9654559:423;;;63322;@=Q``a`aaaa`````aaaaa`_]rmmnkuorirqtst{€l]SJJLKyÅÃÍÔˆbeegeffefgggffgfecbI1>ICGLR\gv Îa\ÛïëæêîÑ>>=126<8952784221137746FXFD@:5426A;G\bababaa`_````aa````_ƒ|‚‚xuzxihpxvxzse\QJJKKQ ÈÅ×¾f`bcdedeffggfffffdcI+;HEFJSX]kÁmRÓîêêëê¼n9@:221DnY1121000001238_llmmw›X:A6128aslG2000////112=C@LRZVWZI32;A>Ia[?=AG\baa```aa`a```}xwxsnqa`gpyqijeYKKJT[Y˜ÃÁÕÁg^accddddeeefeeeddI/9CFQ¿ãÅmQbƒ€8<==<8W‰I>@;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏÇ·»¹ÉÏÎÎÎÎÍÍÍÍÍÍÍÌÍÍÍÍÍÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅ¢ˆwzng^jnmb_`]W\_TQ[RRQZeeffbeUQVXSPQTSRVRZ^`TRTQYZ\XVRSOQPI>?=6651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎĺżÆÏÍÎÎÎÎÍÎÎÍÍÍÌÍÍÍÍÌÌËËÉÊÌÍÎÌÊÇÄÉÊÊÌÎÌÇÃÀ²™zwndURb]Y\_`]a]VTQKLTY_ach]ZSOOPNKTRSQ^LUTXYVYY^YZVQPSNRJED>A<420.2ÏÎÍÎÎÍÎÍÎÎÎÍÍÍÎĽÌÂÅÎÍÍÍÍÍÍÌÌÍÍÌÌÌÌÍÍÌÌËËÉÉÊÌÉÅÃÂÀÆÆÈËÌʾ»ªŽ~wpWRPQNUWlpea`[XLC?LXP[`a]VTQKMKHKHPLYNQSTVUYZYZ\XROSMUOCF@>=3/.-,ÏÍÍÍÍÍÍÍÍÎÍÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÎÍÌËÊÈÇÅÉ¿¾¸Á½Á½ÃÊÇû®¢¥Š|ss^UUWXhh[nfe^UUQQVTcSOZ]SNVWQJIFMOQXWRPWYUSWWUNQYSQVPWV?46220.--,ÎÍÐÔÔÎËÌÌÉÈÉÉÊÌÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ½Á¹¸¨¿·¿¶¼Æ¼¼´¤ˆ…{oŠwa[^Z[ejUn]S[SMST\YUMPRXRQRUWKKKSRRYf\NUWVVTTYQMZWX[ZK@<7540..,,-ÎÙçïîãÒÊÈÁ½½ÀÅȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÌÌÌÌÌÌÌËÄÁº²¼¸®žº±¼µ²Á³¸²™„zxkfb`b`S[aYTdZSZ]OSQV[SUTNMNKKLSYUOQOPQcZNY[WQLNXVPSXQLJ@6=<:72.-,-.ÚîܸÁåè̽µ±¯µ¸¿ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÉÉÉÈÇÇÃľ±ª§«¯¥žª¬³¯±¸ª©žƒvvrjhQ^cZWcWP\g]Y_WKPPR[_`TPLLKMQLUWKNSLQ]]Y`\SOKOYUQUPQWIBB=;;961//--ìÍ€hmªê׳®¬­³²¾ÃÅËÇÃÊÍÌÌËËÊÆÊËËËÊÈÇÅÁ½½°Ÿ˜˜¤¤˜–¢®ª¬«¥¢˜‚slhfjm[UWT^_VV[XX`WSWSQTT]VQSNNSUQRTWQOVORY_X]WY[V]^RSYVSQ>>E:87775200/ëœ}{t”Òæ´¬ª®°²À¿ÅÉÆÁÊÍÍÍËËŽÇÌËÊÊƽ´­®±¶ªŸ”Œ—™˜“¨´­¬ •˜’xhceUf_RLHNV`XRR`g]_n\^c^TVNPONOQVRTQTXRZNN]\\fYb]he_RPMLIL@=?8854454.02¥•“”“˜½ë»©¨°®´»µÁÇÆ¿ÇËËËÊÇ¿µÄËËƸ¥š˜  —š”‡‘—’’ ©«ž‘Ž„tbcgZ\TPSQOX^_\hm\OS_OWoo[QNJMLJFJMLNNLPWTW]TRXX`g[ZVOIMGEECH@7543343015V^w|~{äÀ¢§°±µ´±¼ÈÆ·ÀÉÇÉÉȾ²ÃÊȼ±¥˜œŸ”–’‰‹‹€“”Œ‰Ž‘™‰ˆ‰ƒ|ttoaYSX[YOW[UT[g\RP]fg_\ZRSLJIGIGFEFNLR][VZUO\ifeU\RMUSIJ@?B9753313438_©lDMPBcžË¹âæÀ¸ÆÉÁÁ¹¾¾Éľ­ Ÿ”Œœ•š•ŽŽ†ŠŠ‰…„y‚}{uvwqqljeW]c``XRRXW\\aXS]SW^[WPINLNIBCEA?FEDBRGTW[V^`_[RcaUVWQLGDG966767;>GF?XNqvH9S‰ÐqÂìäæçèëëéêéèéñÆ™™”‰‹“’‹‹Š…Ž‡‹‰‚€ƒ{}Šyvuqsqmh`V\baZQVOQ]dbbSLRTg[aVMQRPJHCGSJCJKLFPQ\\YKWdcdT`cVPV]QD@@<:8878;@KAHNdlfWIGkÃm­ðíîëìëèèêææèêΖ‹‹ƒ‡ŠŽŠ‚ˆ‚—‡…Ž{|ƒ‡€|‰y{vuttvraUQZXYVXVNYZ]_edflpiQ[[SMQQGFFOTPQNOOIIUZ]ZMM^Y_\\geV^SA:9<<;:::;=<=LURSTTO\dccZSXX]ZR\WSSF<98;:79:99=<=EOTV_Z[afk_\\X[SYSSVWU@9888899878:??>=HIJKLPWPvƒÇæÛ˜CGGJVdQPRLKEK”~|x{€~~~€~x}}~ƒ€~|z}uqtywsnkeZSMKXWZRSW[ZVHV_[]WY_UKMUONJLNNOSTXWZlcZ[ZZVYXRVJMK?863_‚;7888;BDCEˆ`^[T‡Î±é£ŒÉÅyYE>@SVUUD<=B;88:5b­åÁx{~~ywyxv{z}}|~~€‚zwwlintynh`^PRTFHNTX[TPSQTUZUVVY_[QKEDBDFHEEFJRV\YTLURTRSNGEC=:6676YA88;<>==;@LNV`XQYZPW[NLF<;997673†äO17;:;AHJJäÖÔÒ˺„UI@vÀÈÏËÎÎÐÒÒÓÒÑÐÑÎÌÒÅ”}‚tzxwxzxvzx~|yy~zvtuvjkqihf^O]j\SSWZXPOVWZb^XU[YTLGD@@??;68>DHJ\gVSYVZ[TFBA;68887:5ƒáM/8<=BGHDQðòòòôé‘RMCpÄÔÛßààáááâããâáßÝÝדy~„wy{zxxxxwy}zww}|wuxskgmfgbb[gnbYMOYXUQSYW_YVYcYOIBA@ACA>>CIA>L[jk\KOdQG@:;:7;;::=8uÚV4=;>CIICV××ÚÊ™xPCGrÂÙÞééêëéééççèèéèàÙ¼ƒ|zƒy}}xurvuuzxrv{|zvxvkcegeea\[W\XNNVTMOS]ZXX[\[SUMH@AGHB>CRQJU\^jŒkQVXLB;766;@CB??;wéd7?8MTNejivˆg\]PH@>;:>EMJC=>9ók7<5=GHY`jŽ€ƒrYJJDe¸ääéèäâÌÎáÞÍÍæåèâáÖ†yqt~€™ ª«¨¥Ÿ—‘ˆ„‚ƒ„„ˆ’› ›‚^SV]XX\TPSPSPZ]Zd]TTQOIGHCGJGEHNMTjjisrbbjhWPLLPUUWTHIN9{õr879U[]kiisgehcXC=>8S¡éëëìêìéæëêäæêèêëíÔ‚zyxwœ„{rha[XZ`qŒ‰ib^WTSWXV]~eUNVY_YXTMNWUZc^_WONURME@=JWbX\ehnbZWX_adimknf_jxwqlfiiV…ï‚TU^vuoqjeLLKJNTN8/3J‰åííîìëïïîïïíéëííîÌzyxw“aLKLPUZWTWd€}WOKalgc\Q>Om`TWXXSQNOMS[XSXYSMPXSPX`^wƒualxjYTW\]^`ffl}„‚€„}‚…‡‡Š“¬“‰ƒ|}qrpfxxxwx{~Q*0EyàíãÜéìÛØ×ÖÙáïäÚåîÁxzyy|x@O`l|„Œo:82+,38;S`^`adS;<=GJJNH_sR450ytLkgedbbbabbdgknqsvwvtqmkjlnpollp~©Áê‹rhggfgec^^YXTSRm|Iw„‰“š¢€>uuuvtokhfeehillmnnoooonmnoprsuuuvs[‚487T‡‘‚E:4444@FBLY†‘f440\Iilkhedb``_^^`cfkoqstvvtplhgjmnmkjjv–ºÌµŽthgijiigdb^YV‹jg¢±µ´²°®£`uuuuttqkgedefhiklllmmmlllmmnorssufqr7GAY‘œ’MI;333452:K–Y741B™U]hkmnifcaa````acgknqqtuvusmggikmonljqŠ«À§‰skhijigfacœ\ccyj`SFOXprstuutqnhfdddfhijjjkllklljkmprmu^„eELINq]IJG@??=:7;^ŒL=957•kPf_VXfmjgca``aa__`ejlprsuvutpkggjmnmljisŽ²Ç¤nijkjewžTXD7:3=egknnkgca``a_]]_ehlnprrsttqjdceiklkifdsŸÇϵŽsrœRF:=25DVC::ijlnpqstsrplgcbaabccdfghijmX298AOA656527?@::<988;75966AEBF@8::GA007D[ecdhmookhedffdb__aeilopqrstrpjedeikkjifeuœ½¼­ŸkO@9<9BnsrH6fikmoqrssrrplgdbbbbccdgiijlfD51.1XH;:99877755776567777567789<>IB5Tekmjgecdhlmmlifeeeda__beilnoprrssqlecgijjjjaW\]p€›WFFGF@At†ˆD=`dgjlmpqrrrpnlidba``abdghiijjdu{;WL:::9887767776656666667788:EDCEÅ{\cgijkmorspppnkfcb````bddegeu›mQeaE24432222333H=4444323325r¥tMNifhjkljkkkidb`_adecbb_\\\\\[ZZ[]`bfikllkjjgc]ZmyS\ƒld_PFNUYWVÉÁsZcffhjlnpqpoookgca`__`bcdegmyfd¢¢¹d111222133496553332223c§ ˜KGffghijjkjkjigc``aceecb`_]^`_^[YZ]_cfijlnnnnjea‹¸†unkmddbURfsmk½ÌµaZacfijlmrqooqolgb`_```bcdgn[9vœ¬™]0-00000364573001374d¬£¶«…>?afghiijjjjjkjifca`bghgedaaaaa`^]]^adhjlnoppolm~¬ƒm_bbYXXXVgh^[ªÀϤZ\aeghjlmoopqpnlhc``__acdbd[*Y£Ã¨ÃÆk[KEEHKC;‘t9M\ZSPn‹ËïÔÅÇo18prgghhiijjjkklkifa`cfhjhgebaaa`_^]]_bdgjmoppphh¦~jWSWVVVUTXYVUv³ÃÎX^cefijkmnpponnlfb`__`ab`QG-@‘ÓÀëðÓ s[]aU³•Lskg]\‘¸ðìâײF/7¬¬scfhhhijjkkkkkjgcaabgjkifca``___^]^`aehkmorcX‘l_USTUVVUUVVVVNŒ»ÇÉuXabfhjjlmoponnmkgc`__`abM3.1UÃÁÐ×뱑]^aYX|ìÛae`lko±°¼žsaN+,-]ghacddeggghhijjkjhda``dgiigda_^^^^^]]^`bfilp^Qzh[TNSVVWYYYYXXYx­¿ÍµeZbfgjjlmnonnomlkea__``aN/.-1EGOstxŸ^gso^…äØwfqpjg{FCPEJT_jr‰‹–˜˜˜—–”Œ‰xnijjjkigdb`adhihfc`^^^^][\\^_cflXQjfXv“wamnXZ\]\YWXx·ÃÍ¥]^dfgijlnnnoommmjda`__`C,,+.147>=GTUZew‰›¿Â¢”€ob^p~–£ª­¯®®­¨¦¦¦¦¦¦§¦¦§¬§ž|hjjjjihfb`_behiigb_]\\\\[[Z\_fPLV^GŠÀ»®ÄßGHEQuPJMƒ¹ÁËX]acfhijllmnmmmlhda_^`B+,1569<@GRct£ÄÐ×Þèëäãâߨ–®“œ“ŽŠ…€~zxwwvvvuuuuuz~‘ngiiijkjgca`_beiigd_\\\[\[[Z\_KGJREuÕÝßÙîäzFD>]RLQºÃÅvT]_adghiklmmmllkhc`__H,-.27:@HSazŒ¼ñêîíìëííîñ·£~gkebb`^\[[[[\\\\[[\\]\\izhggiijjigdb`^`cfghe`^]\\[[[Z]JABJKNªµÄÐÇèÚb@;WeXOJ\§¿É¼jZ_adfhhjlmnmmmljfb__M,-./4:AM]t“²°îçïïððñññôÈŒ[\ehnomnu€Š£·“Ž‹„||}~{umvqffghhiiigfca__adhigda^\\[[\]J=@GLOSZ|•£éóŠKFDjaPLIp¶ÀϬa\adeggiklmmnmlkiebaO.../25=GIS`ráÚÖÒÊÆ¿¼¿¶rdrƒƒ†…ƒƒƒ}\S_IQ‚Ž‘’Œ{wXsfeefggiiiigdb`_adgjihe`^[[\]K=>FJOQUWYpª›yqj_lneRLL†¼ÂÑ—Y_cdfghjkllmmlkjidcP00.0=F¶Q,/4KQNNMIHHGFn–Wn“µ¼ÂÉÏÑ×–OIABK’àßÝÖÖÚÜ­rYcjdeffgihhjihfc`^_bgiiigc^\[]M>uPeefffffffeeghhgda_^_bgijjgdaT>9EILORTXbpy€…ˆ—qkkmfSTg…»ÆÓ¼k]cdghhiillmmkkkiR0:---11:A:<@@48532442e¡^b[o˜—›¢©ª”PSU}dQ]¶Ì¿²œ‡uY8b^Xfbffeeeeeefgghheb`^]`fikjigX;7EIJNQTYamttvu¬llnlhZOOPÁÇÕª^^abdefhjjlllkkkR-;.-,/136<=>?DGIL`wTK…˜OhW=7567987@JUªuRTNH=9732CCImM‹bedddcdeefggggdb_^^`chjjk]83EJLNPTZbjjjlj¸nronnfSLJU£ÄËÓY_bcefghgjkkjkjQ,;1,**-,---,.//0024/9“†LnN?:79988864<…j@>63799:8EF;oNudbbcccbbdeefegfda_^\]agjl^52DLNOPTYaeeknk¨msqstwhTNIj»ÇÐÇo\abdfffghikkg_I+;4,E@0+++))**)**()'HŸsNjE87467665332@>24658GYO59;4a[Xaaedbbcbbcceeddeecb`\[]`dj^11DKORPWYbcVC<==mmkjjke\RML”ÅÈÕ¦Z_`cdeffffgf]VG,:627LF@;780******+7~œcTaCC;:ITH<=:33323452>€”w7;74LfPcbˆsabbaabbddccddddb_^]\^d\-0DGJN~‘n_TJE030mebde`b^SMKc³ÃÍÏwY`gfddeeeefcXH/944-7887..,*,**+14lšŠV]XHSLJPRNKNRD333334CPq‡dJPI8>fIc_^`deabaaacccbccdeca`^\\`Y+.DBAUÅÒr\QRJOWSifggqmhbRLMK€¾ÄÒ²^^bcbcdddeed\K54001,&$%%%$&'%.HQR}zOWTMMGDDEEFDFK;444?CNW\]RKIOF@MHbUy’yb\aa`abbbbbcdddcb`^]]U(+B?>NŠ•e^acI467llgfnmqiSLLKU¢ÁÇÓ•_^abccdeddb^WD200110/010/00.Ek|Š„€pS=GHCEKRSKICERIF::GQPONJE?8;>84FaPq’hn¡h`aabbbbbcdddddb`^_U)*=<;>MWY`imj[OLhqjfnorqf[NLKp¶¿ÎËrZacccdeedb_\SJGHHKKMNMLMLKJJd‡Ÿ˜xmY;8:?MXQH?>=OOBA?CHOTUTJEHHJLQTXfeXhI€Á|]aaabbbcccddedda``V*)9869>FMXbhopiftwmkqonlnpYLKN¿ÄÖ°`acccdefecb^YVUSSTTUTSSTTWXUPSnyogXWWWVUUUWWXYXXY[\[Z[[[\[\[\\]_^beOI]ebb`aabbbbcccbcdddb_ZM)(6-:0+-.0//1311pojglmgfijdLJJ]«ÀÉÖ‹\ccceefedec`_^\\\[ZXWVVWZ^`^ZMXsek[\[ZYYZZYYYYYYZYYYXXXYYYYYYYYZZ`T>Qecba``aabbbbbbbbbcaUMJD'(61\Z6)''+('&%$nlmdhkotqniQIKKy½ÀÐÆn_ddefffefecbabaa`^[ZXXY\_belX?M^lVXXXWWWXXXWWWXXXXWVVWWWWVWXXXXX]ZC\edba``a`abbbbbbb`[XPMJF'(517;;866886589icigeiqsosr_KKZe—¿ÃÔ®bbcdeggggfedeedccb_\ZZZ[]^`cb@KkmRWWWWVWWWWVWWWWWVVVUVVVVVVWWWVUXVR`dcbb`_^__abccbbbaa``ZMF))4.'%.544322124gkkinnjknspkTIMMW¤¿ÆÕ^bdeggggghffffefda^\[[[\]_dg`zspRVWVWVVVWWWWWXXWVVVVVVVVVVWVPXegSkbdbbb^‹¾Á¨faabbbbaaa`_VF/.1-,-5)&''&&%%$xsspsniikjgidLJJIm¸½ÍÊs\bcdfffgggfgfffeea][[[\\^adwƒlvrqhYVWVVXYXXXXYXXXXXXXXXXXWTb‰–‡Uccaaab_sÆÞݘ]ababa`_`_]YRB3+)*+/&&%&'()))x€}pkiheiimhaOJMKKŽ½ÀÔ¬[\`bcddffgggfefffd`]\\\\^Z[z„u{™¥¥m[YZZZ[[[[[[\\\]\[\\[ZXTa”ÅÒ¶e^nnoooolq~wm`^hiaa```__[WTJA?><<>DGKPTVVWotruulmflmnkjdYMKI^´¾ÉÒW^acceefgggffggffc_]\[\^V[||uˆÔÞÕ¯n[^^___a`aaabbbaj`_bjs|—ÆÎÔϱ®³´³²±²´±­ª¥¡zwe``````]ZXUTQPPPPQSUZ_cefmtrtslnhgjjlnshPJJL‘ÃÄÕ¹c`cdfgefhhhgfggefda^\[\]TZkeYŽäßÛå®eggjmoqrwx~vvs’ž«²´²¯«§¤¡¢¡ŸŸœœœž  ¡¦®š`]aaa`a`_]ZYXWVWWXWTTX]afhltmnmkkjgiillmhSJJJfºÅÌÖŠ]cdfggggggggffgfec`]\\]RY\RIxéÕ¶êå}ksrttuvwx|}|}‡žª¡œ˜”Š†‚}yxvsqqpopsttx€‡jhn_aaaa`_\\\\\\\[[YXXY]bgljlsrmjlnmggjhiTJKKL’ÆÅÓºa]_adeffffghffgeedb_]\]UOONIQ‘Šçå~r„ˆŽ“™Ÿ¢¨¯·»¬›jƒˆwog_]XTPMKKJJHHGHHHGIMNPUcvaaaaaa`_^^^^_^^_^\ZXY^dimprmlmprplgjkfSLKLJc¸ÆÌÕŠ^deffgggfghgggfffda_]]XGDMFHIP\¡©yœÂ¿½¾ÀÆÊÎÚØŬŽf]VNJHGGIJLNNNgbONMLJIHGEECCCDXbaaaaaa```__`__``_\[XZ`kklmrusprkjlkjoeOIKKLÆÈÔ¾jcefghhgfghhggffffc`]\YGBICFLQX\h‘Ù®NGDBADG²ÞektLEDCDEDDDCB?><>;78887667877899;Va``aaa``````__```_][Y[iqurprqlnhjheirbKKKLK^µÉÌÔ–`eefghgggghhgfffgda_][F?GCFKOV^mšá€2:=>>=DË÷’‡V<:::877766776545889:876666666;FDFOU\cm‘Ù=BADFHH›ÕŽB;:;<>?@ABBA:OX?8<::<854455554:BA446676669:8UW?59<:62245433333>?>Wb`a`aa`_``___``_```_ƒ|‚yuzxihoxuxzsd\RJJKJQŸÇÅ×½f`bcdedeffggfffffca]88CGCJOV`o€¿ªGïìçâêíÐ~>?=137:89549973234499436FA@943329@:Kaaaaa```a``````_`aaa†|uxrqilrmifohaccTJKJ]f~»ÃÊØ‘\aacceeeefffffffdb_53BIDGKS^i~²¶F†õòñññð¼k9@:126?@=42652001125658LVFFD?8424@;CYcbcbbbaaa```aa`a`aa|xwxsnqa`gpyqijdYKKJT[X˜ÃÁÕ¿f^accddddeeefeefec_42?IDTpv_Td…§Nc¯´´³³³ŸS:A6212T€]311000//0223:>AFLSONK;22>>>Mce\^`abca```aaaa`aa‡††††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxyyyzzy{{zwuxyz{zzyz{~€€€††……†††††…†††……†††††‡†††††††…{xuttvuvyxxyyz{zywtvvxzzxwy{~€€€……………†††††…†……††††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyywxyz|~€€…………†††…††…††……………………„……ƒ„……„‚€~zyyxwy|{yxwz{{{ywvvxyyyzzz}~†…………„……†……††……………………ƒƒƒ‚ƒ„„ƒ~|yxwyz{zyzz{{{zzvvxyxyzzy{€ƒ‚ƒƒ„ƒƒ…………†……………………„‚‚‚‚‚‚€€~|zywy{{zz{|}{zyyuvxz{zzxz}€‚ƒ„‡‚‚‚„……………„…†…„„…‚€€€€€€|}~}{zzwwwyzz|}|{zzxwwwxxzzy{}~€€‰ˆˆƒ€‚‚„…††……ƒ„„„‚}~~€~}{{}|zyxwxwvy{}}||{yxyxwuuxyy|}~€€†‚‚„€‚ƒ„…††„‚ƒ€}zz{{{|}}}~||z{|zzyxxzxxzz||}}{zwyyvuuwwx|€€€€†ƒ…‡~€‚ƒ€|yxxwwx{{y|{yyxy{yzzyxyyy{{|}~}|zzyxwvuvuw{~€€~Œˆ‰‹ƒ~~{zyyyxwvwzzxzyxxxyzz{{yvwxwz||}~}|zzxwxtvvvw|‘‘’‹€ƒ…„„…„€zxyywvwwwxuuvvuwz{|zzyuuvwz|{}~}{yxwwwwwxy|~~~ˆ‰‡…‡‚ˆˆŠŠ‰Š…zwxxwwwvuustvuuw{||zzx{{yzy{|~~}{xxwwxwxz|ˆ}|}‚‚††††…‡…~xuwuuvutttuvtuwzy{yxz||z{z{}~~~}zxxyyz{}€€ˆ€}{~‚‚ƒ‚‚‚‚‚‚~vsusuvvsstuuttvxwzyy{zyyz{}~}zwwxx{~€€}}€|x|~€€~€€wsuwz|~€~|wxyyyzzzxxxz}~~}wstuw|~}}~~~€}wr||~‚‚~~utzˆŽ‘…wyxyz{yxxy{|}zzxvqpqpnsrqqqv{{xroo}}~‚€€€€€€~usŽŠ†…ˆ‡‰ˆˆ‡‹‹}yz}||z{{zxsnhoosssqmhghgeeehfdhjlƒ‚ƒ„…„„……„„ƒƒƒ€…†~}ƒƒ…†††‰ˆ„€‚‚‚‚ƒ‚}xuvxyzyzyxwxxurqrpmrx{|ˆ‡‡‡ˆˆ‰ˆ‰ˆ‰‰‰‰ˆˆ‡†‡…ƒ…‡„„‡„€‡ˆ„ƒ„„ƒ‚‚ƒ„„…†……‚€€€€€‚ƒ„ƒ„„„„‡ŠŠ‹Š‰‰ˆ‡‡‰‰ŠŠŠŠ‰ŠŠˆˆˆ†‰‰„†‰‰ˆˆ„~†‡„„„……ƒ‚‚‚‚‚ƒ„†‡†……‚€€‚ƒ‚ƒƒ…†…ƒ‚†‰‰‰ˆ‡‡ˆ‰‰ŠŠŠŠŠ‰‰‡…‰ˆ…‰Š‰‰„}†‰…ƒƒ„„ƒƒ„ƒ€€„†‰ˆ‡…ƒ‚€€€€‚ƒ……ƒ‚…„‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠŠ‰‡†„…†…‡ˆˆˆ‡‚|…Š‡„‚„‚‚ƒ‚‚‚‚€€€‚…‡ˆ‰‡„‚€€€ƒ†‰Š‰Š†ŠŠ‰‰Š‰‡††‡ˆ‰‰‰†…†‡†…‡‡‡‡†††…‡ŠŒ‹„„„ƒ€‚€€€‚„‡ˆˆ†ƒ€ƒ‡ŠŠ‡„‰ˆŠŠ‰ŠŠ‰†††‡ˆ‰‰ˆ†‹ŽŒŒ‹‹‹‹‹ŒŒŒ‘‘…†ˆˆ„‚€€€‚‚‚€€€ƒ†‡†}|‚‡‰Š‡…Š„‰‰Š‹Š‹‰††…†ˆ‰ˆ‰ŒŒ‹ŠŠ‰‰‰ŠŠŠ‹Šˆ‡ŠŠ‰‡„ƒ‚‚ƒ‚‚€ƒ„~}‚‡ˆ‰‡‡‡€†‡‰ŠŠ‹‹‰‡……†ˆ‰ˆ‹„ƒˆ‰ˆˆˆ‡ˆˆˆ‰†|„‰‡‰ˆˆˆˆ†ƒ‚‚ƒ‚‚ƒ‚‚€€€‚ƒ„…ˆŠ‰ˆ‹‹}ƒ‡‰‰Š‹‹‰‡……‡ˆ‡‡€„†††……†…„…‚…ˆ‡ˆˆˆˆ‰ˆ‡„ƒ€€‚€€€‚††‚„€„„||†ˆ‰ŠŠ‹‹‰‡…†‡†…ƒ‚‚‚‚ƒ„ƒ‚‚‚ƒ†‡‡ˆˆˆ‰ˆ‰‰ˆ†ƒ€€‚€……}wtrss}}~ƒ‡‰‰Š‹‹‹Š†…‡…„…†……ƒ‚ƒ‚„……ˆŠ‹Š‹ŒŽŽŽ‹‰‰ˆˆ†ƒ€€‚‚‚ƒƒ‚ƒ„~}zww{~}}„ˆˆ‰Š‹‹‹‰†…„ƒ…‡‡‡„‚€‚‚‡””•––••••••Œˆ‰‰ˆ‡ƒ‚€‚‚ƒƒƒ‚}€€v~|†‰‰‰‹‹‹‹ˆ†ƒ‚„………ƒ€€€€ˆŒ‹ˆˆ‰‹ŒŠ†††‡‹‰‰‰‰‰ˆ…ƒ‚€‚‚ƒƒxvwz}y|oz~}‚‡‰ˆŠ‹‹‹‹‡‚€‚‚‚‚ƒŠ„|yz~‰†{zz|ˆ‹‰‰‰‰ˆˆ‡„‚‚wrqssrvhm{}z~ƒˆ‰ŠŠŠ‹Œ‰„ƒ‚‚‚‚‚‚‚†Š…~|}‚ŠŒ‰}|}€†Š‰‰‰‰ˆˆ‰‡„ƒ€€vqqrtxjiq|}~…ˆ‰ŠŠ‹ŒŠ…‚‚‚‚‚‚ƒ„„ˆ‰‡ŠŠ‰Š‹‹‹‰ˆ‰‰‰‹ˆˆ‰‰‰‰ˆ‰‰…ƒ‚€‚xrrrw…kjkw€~}ˆŠŠŠŠŠ‹†‚„„ƒ‚‚ƒ„…ˆ‡…ŠŠ‰‰ŠŒŒ‹…ˆ‰‰Šˆ‰‰‰ˆˆ‰‰‰‡„‚‚|wxv{€‚nmmt€}}„‰Š‰ŠŠ‹‡‚„…ƒƒƒ„…‡Š…„†…†††‰ˆ…~{ƒ…†Šˆ‡ˆ‰ˆˆˆˆ‰‰†ƒƒ‚€~€omjnx~|€‡‰‰‰Šˆ†‚‚‚€‚„†ŒŠˆ‡†‡‡†‡ˆ‡‡†ˆŠŒ†‚…ˆˆ‰ˆˆ‰‰ˆ‡„ƒ€klhikz}}ƒ‰ŠŠŠ‰‡†„„„„ƒƒƒ‚…Ž”“““”””””••”•–—•‡„†‡ˆ‰‰ˆ‰‰Š‹‰„ƒ‚ƒƒnniher€~|†ŠŠŠŠ‰‰‰‰ˆ…††ˆ„…Ž”””““’’“““““‘’’‘ˆ†ˆ‰ˆˆˆˆˆ‰‰Œ‹„€€ƒ†‡‡‡ljhgfl{~|€‡‹ŠŠ‰Š‹‹‰‡††‡„†ŒŒ‘‘‘Œ……‰‡ˆˆ†…ˆˆˆˆˆˆ‡„€‚ƒƒƒ„fgghhiq}€}}ƒŠŠŠŠ‹‹‹‹‰‡†‡…ˆŠ€ˆŽŒŒŒŒŒŽ‹„…‰‰‰‰‰‡‰‰‰ˆˆ‡…„‚~~ihgfghhu€}‡ŠŠŠ‹‹Š‹‹‰‡‡…‡†~{‰‰‡ˆ‡‡‡ŒŽ‘‘’““’““’“Š‰‰‡†„„„ƒ€jhgdgjhs€~~„Š‹ŠŠ‹Š‹‹Šˆ†„„…‚€……ƒƒƒ„ˆ””“’‘‘‘Ž‘‹ˆ‰ˆˆ‡‡‡†…‚ihgfikin}}€ˆŒ‹ŠŠ‹‹‹Š‡„„………‚ƒ‚ƒ„‰ŽŽ‹Š‰‰‰‰‰‰‰‰‰Š‹Šˆ‰‰‰ˆˆˆˆˆ†ƒjjjkjihkt€~‚‹Œ‹ŠŠŠ‹‹Š‰…‚„……‚‚‚ƒƒ‚ƒˆ‰ŠŠ‰Š‰‡‰Š‹‹ŠŠ‹Š‰‰‰‰‰ˆˆ‰ˆ‰ˆ‡mkijokhjq}‚‡ŠŠŠŠŠ‹Œ‹‹†‚ƒ„„‚‚‚„‰Š‰‰‰‰‰‰Š‹‹‹ŠŠŒ‹Šˆ‰Š‰‰‰‰ˆˆ‰‰lmnoqpmpt|€~}~‚‰Š‰‰Š‹Œ‹‹‡‚‚‚‚‚‚‡ˆ‹‰„…‰ŠŠŠŠŠ‰ˆˆŠŠ‰ˆˆˆ‰‰‰‰‰‰‰‰{zzzzzzz{zz{{zzzzyyyyyyyyyyz|ƒƒƒ„„††‡‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yzzyyzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†‡†………………††…†‡†ƒ‚‚zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zzzzzzzzzzzzzyyzzzzzz{z{{{{z{~€‚…„„„……„ƒ„†‡‡…„„ƒƒ„„…ˆ‡‡‡…‚‚‚‚€€x||{zz{{zzzzzyyyxyyz{||~}}||~€‚„„„„………„…‡‡‡………„ƒ„…†‡‡†…„‚‚€€{‚~|}~|zyzyzzzzyzz{}}~~}ƒ‚ƒ„„„„……‡††††…………„„…†‡‡††ƒƒ‚‚€‚~€€~|{zzzz|zyz{|}€€€€€„…ƒ„ƒ„…„„„„…‡‡†„…†………„…†‡††‡„ƒ‚‚‚‚~}€€}|{zzz}{{~€ƒƒ‚‚€‚ƒ……„…„„……„„„„†‡†„………„………†††……„ƒw{}€€€~}|{}€…††…„„ƒƒ„‚„…††……………„„ƒ„…†……„„„„„„„…†‡†…„ƒ‚‚‚‚t}€}€~ƒ„ƒ…‡‰ˆ‡†…„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††ˆ†…ƒ‚‚€‚‚z|}{ƒ‚‚‚ƒ„††‡‡‡†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒzyzy}€€„‡‡‡…†††………†‡ˆ‡ˆˆ†…………„…………†……„„„ƒƒ…††††…„ƒ€€‚ƒ€€ƒ†€€}|zwz|€ˆˆ‡†††††††‡ˆˆˆˆˆ†„„„„„„„††‡††„„…„ƒ…‡ˆ‡„‚‚‚‚‚‚ƒ„„„‡‰…‚€}}~~…†‡‡††…‡ˆ‡ˆˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„„„†‡†‡ƒ‚‚‚‚„…‚ƒˆ‰„‚€€€€€ƒ‡‡‡‡‡†‡ˆ‡‡ˆ†‡ˆ‡…„„„„„††‡‡ˆ†„„ƒ‚ƒ„†ˆ‡†ƒ€€ƒƒƒ€‚…„ˆˆ‡„‚‚‚‚„‡†‡…„„ƒ‚‚‚‚‚ƒ…††ƒ„„„„…‡†‡†…„„ƒ„……ˆ‡…‚€€‚ƒƒ‚„ƒ„…ƒ€‚‚‚ƒƒ„ˆ‡„€}}||~~~|}…„……„„…††‡‡…„ƒ„„‚‚‚||~~€ƒ‚€€‚ƒ„‚€€‚‚ƒƒ„ƒ‚‚…ˆ‡ƒ}|||€~}}|}„„ƒƒƒƒ…ˆ†††‚~|}||zz{{{{}~~~~€|~€€€€‚‚ƒ„|||{|||yy}}|‚€€€……„„…€~~~€€€€~~€ƒ~~|}}}}|}|}}}|}~|y{zwz€~{€€€€€€€€€€ƒŠ„ƒ„ƒ‚‚‚‚Ÿ¢£|~}|||}}}}{{}~{…~xxxv|ƒ€z~€€€€~€‚„‰†‚‚€…Š‡„||}~~}|}}}}||~}{}„~y{yxˆ€{}€€€€€€€~ƒƒ‚‚ƒ‚€‰y{{y}|||}~€~~}}}}~}|}}{{|}‡€{|~€€€€€€€~€‚‚‚…†€Š~{~{~}}}}}€€~}}€~}}}~~~~||}€€€€‚‚€ƒ‰ŠŠ{y‚|€~}|}}~€~}~|||||}|}}}~}}{{~~€‚‚‚€}‰³´‹zy}z}}}}~~~€€~}}}|}}|}|}}~}|}}}€€~~}~~€€‚‚‚‚„¥ª˜•„€‚…„ƒ€~}}}||€~~}}Œ‰~~}€}~~‡~~~~~~~€€€€‚‚‚ƒ‚ ¤§£¡¤„ƒ€~}}}|~€~~€‡ˆ€‚€€ƒ€~~~~€‚‚€œ»¾Ãº½‡„‚€~}}}|}€ƒƒ‚‚ƒ„€ƒƒ€~€~}}}~€‚‚„¾ÎÏÔÕÔ“‰‚€~}}|}~€€€€‚ƒ„‚€}}}}{zyzyyz{}~~~€€‚‚€Š†” ­³¸ƒƒƒ‚€~~}}|~€€€€€}~€€€€~zxxwwxwwwwvx|~~~}~‚‚€‹µ–}ƒ„ƒƒ‚‚€~~}}}}€€€€ƒƒ„……ƒ}{|~‚‚€~}}|}}}}}€Š½Ê»¥—¬£‚‚‚‚‚€~}}}}}~€€‚ƒƒ…ˆ‰ˆ‡„}|}~~~{{|}}}~|{}~}}~}~‚‚‰½ÏÑÏÉÉÄ{}‚‹‚‚€~}}}|}~€ƒƒ‚‚„…„ƒ€}|€}xxy}€€{z}~~|~~~~€‚‚€…»ÎÎÍò}{ˆ‡‚ƒ€~}}}|}€€€€}}|}~|xuw{~{{}}~~~~~‚‚·ÎÐг‡~||€‚ƒƒƒ€~}~}||€€€€€€€|}|{||{{zz|ƒ}{|}€€~~~~~~~§Ä°½”~€~‚ƒ‚‚ƒ}}}}}€€~|}||}|}~||}‚„}}|~~~~~~~~€‡†ƒ„€|€‚‚‚‚‚~}~~~€{|{}~}}~}||~}}|{y~~~~}~~€‚€‚‚‚~z|}€‚€~~~~~€€€€yxwxwwxxxwvwwvvtv~€~}~~~}|}€€€€~zyz~ƒ”‰~~~}~~~~€€€€zwwwwwwvwvwxxxwxx}€~}~~}|{€~~~€~yxy}„‰…‚~~~}}}|}€€€€}z|{xxwxxyxxxxyz~|€€~~~~~~€‚€€€€€~zxwz‚‚ƒ~~}}|||~€€€{{ƒƒ}yz{zz{zzzy{|~z{{{|}~}}~€‚‚‚‚‚ƒƒ~zxwxyƒ‚‚‚€~}}}|||}€€}……ƒ}}~~~~}zyywwwwwvvwxxx{~~€‚‚‚‚‚‚~yxyzzƒ‚‚‚€~}}}}|||}€€€ƒ‚ƒ‚}yyyyxz{|{{{{{{{}~~€€€€€‚‚~{x{|{~ƒ‚‚}}}}||||~€€€ƒƒƒ…‚}{|||||}}||||{z{{~~€~{{}~~€‚‚‚~}}}}|||}~€€~~€ƒ„…‚}|||{{{|||zzzzz{|}~~ƒ‚~€„„‚‚‚„ƒ‚€~~}}}||}~€€€€€€€ƒ}{||z{{{{z{|{{{|}~~ˆˆ‡ˆ‡…„…†„‚˜Ž~~}|}}||}€€€€€€€„…„€}{|zzz{zz||{{z|}~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÎÍÍÍÍÌËËËËÌÌËËËËËËËËËÌÌÍÌËǽ³¯¢€qfkuiigkkqcfaV\`\[b[T[`]^VPOSYX_d_cRTUVUVSSXTPW_][WTMD>9;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÁÆÁÉÍÎÎÎÎÎÎÍÍÎÍÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÍÆ´›¤”txq]^_p|n\]lkgZYYZ_YVTO^f_[RPOPYW\fgfOU\_YPPKPQX^aZUNLI@?76521076ÍÍÎÎÍÍÎÎÎÍÎÍÍÌÍÆÀÄÀÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ£Š‡pkkpljorszy^`_bcZYZZZ\RSV\bXYYVTRTSV[ebQQXZTLNMRQ\b__YQGA?;951220/1ÍÍÍÎÎÍÎÍÍÍÌÌÌÌÌÇÀÅÁÉÌËÊËÊÊÊÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’ylpwwr~dd_[fXaccZ[WU_XSXedQOSVWRNLWOYfPNSWYPLROPX`]`USUOH?<84220--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎȾÀÀËÎÎÎÎÍÍÌÌÌËÊËËÊÊÉÉÊÉÊÉÉÊÉÉÊÉÈÈÆÈÉÊÊËËË̼“Ž„~r`k{kbg_^`Vi`VWTSM\a_`plZPOT[SMIURSWRYZXTMOQUZ_XVZQOXNI>>A;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏÇ·»¹ÉÏÎÎÎÎÍÍÍÍÍÍÎÍÍÍÍÍÍÌÌÌÊÊËËÌËÊÊÆÉÊÊËÌËÇÆâˆxzng^jnlb_`]W\_TQ[RRPZeefgbfUQVXSQRTSRVQY]`TRTQYZ\XWSSOPPI>?>6651.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎĺżÆÏÍÎÎÎÎÍÎÎÍÍÍÍÍÍÍÍÌÌËËÉÉÌÍÎÌËÇÅÊÊÊÍÎÌÇÃÀ²˜zwndURb]Y\_`]a]VTQKLTY_aci^ZSOOPNKTRSQ^LTSXYVYY^Z[VQPSNRKEC>A<421.2ÏÎÍÎÎÍÎÍÎÎÎÍÍÍÎĽÌÂÅÎÍÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÉÉÊÌÉÅÃÃÁÆÆÇËÍʾ»«~wpWSQQNUWlpea`[XLC@LXP[aa]VTQKMKHKIPLYOQTTUUYZYZ\XROSMUOCGA>>3/.-,ÏÍÍÍÌÍÍÍÍÎÍÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÎÍÌËÊÈÇÅÉÀ¾¸Á½Á¾ÃÊÈÄ»®£¥‹|ts^UVWXhi[nfe^UUQQVUcTOZ]SNVWQJIFMOQXWRPWYUSWWUNRYSQVPWV?46220.---ÎÍÑÖÔÍËÌÌÉÈÉÉÊÌÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÄÂÁ¾Âº¹©¿·À¸¼Æ½¼´¤ˆ…|o‰wb[^Z\ekVn]S[SMST\ZUMPRXRQRUWKKKSRRYf\NUWVVUTYQNZXX\[KB<6530.-,,-ÎÚêðîâÒÊȽ½ÀÅȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌÌÄÁº³¼¸° º±¼µ²Á´¹³˜…{ykfa`b`S[aZTdZSZ]OSQV[TUTNMNKKLRYUNQOQQcZNY[WQLNXWSTWQLK@7=<:61.-,,.ÛïÓ¶Èèè̾¶°¯µ¸¿ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÇÃÄ¿±ª§¬°¥žª¬´¯°·ª«ŸƒwvrjiQ]cZXcWP\g]Y_WKPPR[_`TPLLKMQLUWKNSMR]]Y`\SOKOYUSVPQWICC=;;961//-,íÃwgr¬ê׳®¬­³²¾ÃÅËÇÃÊÍÌÌËËÊÆÊËËËËÉÇÅÁ½½± ™™¤¥˜—£¯ª¬«¤¢™ƒslifjm[UWT__VV[XY_WTXSRTT^WRSNNSUQRTWROWPRY_X]WZ[V]^SSYVSP??E;8776520/.☄‚|—Ó泬ª®±²ÀÀÅÊÇÁÊÍÍÍËËƾÈÌËÊÊƼµ®¯±¶©Ÿ”Œ˜™˜“¨´­¬ •˜xgceUf_RLHNV`XRS`g]_m[^d^TWNPONOQVRTQTYRZNN][]fYb]ie_RPMLIL@=?8854453.02•ŒŒŽŽ“¯ç·ª©¯®´¼¶ÁÈÆ¿ÇËËËÊÇ¿¶ÄËËÆÁ·¤›™¡ —š•‡’—’’œ¦ª‘…uddgZ\TQSQOX^_\hm\OS_OWon[QNJMLJFJMLNNLPWTW]TRXX`g\ZVNJMFEECH@7543343015XVt†…€̽¢¥°±µµ±½ÈÅ·ÀÉÈÊÊȾ³ÃÊɽ°¤˜œž”–’ˆ‹Œ““‹‰—‰‡‰ƒ}utobYSX[YOW[UT[g\RP]fg_][RRLJJGIGFEFNLS][V[UO\ifeU]SMTRJJ@?B9753313438=Nw½ÔØÉŸÎÉIJ®®ªª¶Ã¹©¯¶²º¹Ç¼¯½Ã·©œž—› ““…‚ˆ‰€}ˆˆ‹„‚€‚€~xun`UUST]YTYTRXfPPN]cbRR[XSLKLJJHEJJIQV[aRXQPlrcd^a\T`XUSH=:;86432265:@jŠÈÏÏË”sËóèÌɦ  ¦¦œŸž¡¡¡¨·®¤¡§˜™˜Ÿ—™’•Œ…ƒ„€~ƒv‡‡„|}{|tpph`VPZgZQURU]YNX[\]WQQPRSMJPQLNQPFBJOT]PQM^``_Yei[QU^ZESF=<<9555499;=ˆ©®dS`Of¤êâçì°¢°¡›œŸ£ª¥¡¢¢Ÿ”“’›™Ÿš‘–Š‹‡‡‚|€x„ƒ€y{wtphheXVZPX^YT[Z\YUZYZ\ZTPKVTNMOJBCEE@?EHHQJRSX[aX`m\^OZ]ZIEC@?<856769;?>A”ƒGTSBWy¼µÝæÁ¶ÄÆ»¼´¹»ÈŽª Ÿ•Œœ•›•ŽŽ‡Š‹‰…„y„}{uvwqqljeX]c`aYRRXW\]aXT\RX^ZVQINLNIBCF@?FEDBRGUW\V_a_[RcaTVWQLGDG966767;>GF8KO_€S=E_¹†‹âååæåèçæçæçéð½—˜”‰‹“’Œ‹Š…Ž‡‹‰‚€ƒ{}Š‚ywuqsqnh`W\caZQVOQ]dbcTMRTgZbVMQQPJHCISJCJKLFPQ\]XKXdcdT`cVPW]PD@@<:8878;@JALNdnl`RMMª‘‰æîíìëéææçããåçÓ¨‹Š„‡ŠŠ€‚ˆ‚˜ˆ†Ž{|„‡|‰z{wuttvraUQZXZVXVNY[]_eehlpiR[[SMRQGEEPUPQOOOIJVZ^[NM^Z_]\gcV_R@:9<<;:::;=<<LTRRTTO]dcbZSXX][R[VSRF;98;:79:98====KKKLMN^Tp‡¢áÚ´MFFFQcYRTLHI=z{|x{‚}~~€~x}}~ƒ‚~|z}uqtxxsnkf[SMJXW[RTW[ZVHW^[\XY_VKMTOMILONOSUXW[lcZ[ZZVZWQUIMJ>763^‚:7888;BDCEl_]XhÑÀÝÒx½Æ”WN=CHQOSE;8?:[™”—{|‚~x~|y|~{}}{~€}xwomwxyqgbaSQRC?LVWUWZOKITW\[UZc^SMLILOMMJGJNVWY\_Y\WUQVNJLHA=8676P€>79:<=AIIH´yLJDsóîõÎhÒÆsAFJWGCACB>=>;F™Úêzywzyw{z}||€‚zwwlintynha^PRTFHNTX[SPSQUUZUVWY`\QKEDBEGIEEFJRV\YTMURTRSNGEC=:6676[}@88;<;AHHHã¤wqis¯ ª`ÝÊ¡“—˜›žœ›œœ˜•š¸ÖÙ||{{wwwvwv{z~€~|xvvpslovphg^RVVTXY^[WFEQW^W[XWTV\UNIBD@>>>=;@KNV`XRXZPW[MLF<;997673‰àK26::;BIJJæàÛØÔÉ _LBQ¬ÄÔÐÒÒÓØ×Ø×ÖÕÕÔÑÓÕ¡€}‚~uzxwxzxvyx~}|w}{wtvvjlqihf_O]j\SSWZXPOVWZb^XU[YTLGD@@??<68>DHJ[gWTZWZ[RFBA;68887:5†ßJ18;=CGHCRñòóòòðµ]MGQ±ÒÙáââãååæåèæäâáàÞ·|~…xz{zxxxxwz}zzu|}xvxskgngfbb[gnbYMOYXUQSYW_YVZcYOHCA@ACA?>DIB?K[jj\LPeQF?:;:7;;::=8wÙS4=;=CIJDVÈÇÍË™‰‚_ECX¤×ÜçêêëáÝâäÚÛäëèãÚÑ—}{ƒy~}zuqzyx|xvsz~zwvumegiifa\[X\XNNVTMOS]ZXX[\[SUMH@AGIC>CRQJU\^jŒkQVWLA;766;@CB??;yç_8?8MTNejivˆg\]QIA?<;?FMJC=>9€ñg8<5>HIY`jšˆ…‹‹udLJGL“ÞäèëäèàÖàèÚÕæççæâä£xstv{‰”–¡¨©«««¨¬­¬ªª«ª¨¥”€]SV]XY\TPSPSPZ]Zd]TTQOIGHCGKGEHNMTjjisrbbjhXQMLQVUWTIJO8|ól87:X]^khineacb[I=>;?z×íëìëëëèêìêéééêììéyzyx{Ÿ¤¦¢›•‚zuqnljkjkmqw€‡‰ŽiUNVZ`XXTMNWUZc^_WONURME@>IVbX\ehnbZWX_bejlkof_jyxqmgjiV†í‚ZW`wvpqkeLLKJMSVD/2=JnqpleS=TaY[UVU]d`RU\YQMNU_[X\h{‚†ŠacqiQPY[[[\eiku~|zzrs}‹Ž‰‡Œˆ‚~osqkngwwwwvy}rUW]n›³Ÿy‰¿‘{yr}»²y£¼½wy{yƒJFgx†”“XD:/+2=AFONKNSWN?grrns|‰‘Ž†‹‘’‘Œ•´š€€yv{{kcmmcY\`^]\`geiredaddt~y|ƒƒ‹„{tdgokjepooonpstwwyzxz}~~€€€‚}y}…Ž†‹~q?TŽ¨«®±± {[\^ZMKI>1234UPUuwxwvtrstsuwxy~„’¢¯²«›}rmkklmmiea]]]ZY^^YZ\]]_dgdc``ckkfiiggmuwvzpnlkklmoqqsstttuwy{}~~}{{zwtsy‡Šš“ZRI·´°¬ —•Èœy™IJJFG>55HqEgkmpstuvutrqqrqpoos~Š˜¤­­¨¡“‚thgfeb`\YWYXWWXXWXWWXZYYXXWZm|“›¡¡ žuqljjjjklnpqrqonnoruyyz{{{{zywtrqwŠLl<@_ZRHILQsxowfIEGel\:57wQWeddfhjmpssstsqpnmnnnnnrz†•ª¼»§vkhgggb_][YWTSTSRSV`bTUWŽŒ‡…}vrnlxvrmjjjjikmoppqpppppqrtuwxxxyxvuttzPs333433CLKGIKHGIGDfz`?;y˜qJhdbbbcdfimprtvutrpllmnppnllu‹§¹»°œˆvkhhfc``[XYUUTTWURQ`ž_[ZUQRQNMvvvsnkjihgiknooppqqrqqqqrtuvwwvwv|hbi047RbM?KJHHHIJINH[|_<8c‡Gghfdcbbabbdgknqsvwvtqnkjlnpomlo|¦¿Ä­thhgfgfc_^ZXUSRQa‡EQ]`fmtwYuuvwtokhfeehjllmnnoooonmmnpqsuuutXzZ035r¢yCF>787?KINIVjt@5/:UZmkgedb``_^^`cfkoqstvvtplhgimnmljis“¸Ì·uigijiigeb_ZUQzuW“—œ¡¥«°Ÿuuvuttqkhedfghiklllmmmlllmmmnqsuq}RŠK7F47:98AijlnpqstsrplgcbabbccefhhijkjC89O‹XLaIqW35324:>;665546747867==>?::dojkkllljgcbbdfhheb`_^^^\\^^adgkmnoqqqokgdegjZP\fu{ˆGMbOJDCGbG@‡[adhjkmoqrpppolhda``_`bdfgghgt¶—AM:987776655655544544455446777?EVhhijkllkjgebbbcfgeb``^]\\\[[\^aehjlnnnmmifce]PY`ewnDG’zB<;:??AÆ|\cgijkmorspppokgcb````bddeggi§‰KC83565544444346845444453343A^jOH`hgijljkkkidb`_adecbb_\\\\]\ZZ[]`bfikllkjkgb_OJIBCYuVCA97:CJGEÉÂsZcffhjlnpqpopolgca___`bcdefg‹ƒZa|c@2432232333CJXiŠÉØßâéíêçéêÛŽ ¦Ÿ§žš–‹‡„€~~}}}€…†‰gggiijjigdb`^`cghhea^]\\\[[[[]HFHPFoÝáÜ×çí‘ID?eXOJ[§¾É¼jZ_adfhhjlmnmmmljgc`_W2,./48>FQ^q—’åêìíìëììíðÜ—¢xsrkjhec`^\ZZ\]\\\\\\]^_ysefghhiiigfca__adgihda^\\\[\\]H@BINMš¸Ê½äèn@?jaPLJpµÀϬa\adeghiklmmnmlkjfb_Z5,..17=DTg­ Üëíðððñòòõäª{W]_bfhikqx…£Ÿ‰ˆ‚}ywwywuklyieefggiiiigdba_adgjjhea^\[\]^H=@HMPOUn™çæŠUKlneRLM†»ÂјY_cdfghjkllmmlkjida]6-..14:QHGRcd·ÔËÆÀ¸²©§Ÿª£hcy€‚‚~|{croTjˆ…‰‡†ˆ‡‚yqcqdeffghihjihfc`^_bgiijhc^\[\]I=>GKORVWWe‰qsqiju^OLU™½ÉÌ‚Zacfhhijllmmlkkjhc]61..9BxØŽ703DPFHJIHIIJM‰…S{“¦¬³ºÁÄÄpH<:=V¯ÚØÓÏÒÓÎsOlfdffghhggghhfc`__adhiiiea^\]K==FINQUXZ^[\]`gpoleXOKb«ÁÎÇv]ceghhiklmmmlkkjf^770.2@—î©v{†£¡’¡¦¬°­¨ªœiZ~ÍÞÞÞÞÞÞØieb_WO§åßÛÔÔÛä”g^Ziefffggfeeghhgdb`__bgjjjgd`_N?;FHMPSVYdlquvyqkkneSUg…»ÆÓ½k^cdghhiillmmlkkib490..2MvhIGSYXYXX[^\XN|”WiiÖàÝÜÛÛÝÎ\YXhTK™ãÞÝÜÝàä‰LqNebfffeffeefhghhfb`^]`fikjigeS>9FILORTXbpz€„‡llnlgZOOPÂÇÕª^^abdefhjjlllkkjd290-,.14>=;=B:8:65886;†NmV©¹¹½ÃÅÄ”NTWtUP|ÙØÓƳ¡ŽZ:sOf}deddeddeefggggdb_^^`chkkkjX:6FIKNQTYamsqrsnrpnnfSLJU£ÄËÓY_bcefghgjklkkkd292-,-0138<<=AEGJPteKUž~MmJ>>?BEFC=JOv¾_TVdZKC;54E;__]‰dbbcdcbbdeefegfda_^\]bgjkl[63EKLNPTZbjjjnnnsqstwiTNIj»ÇÐÈp\abdffghijlkkk`185-,+,,,-,--.-./-/.,P£jTiE;878877885c¹[F@3269;:9K@InPcaddcccbbcceeddeecb`][]afjl[42ELOPPTZbedhiinmljjke\RML”ÅÉÖ¨Z_`cdefghikkg_U/77/9N7.,,+****)*))+)g Y^^?96578775328Z?25559BKB6?<9oP_aˆs`bbaabbddccddddb_^]\^cj[02EKORS\[cbS>11mecde`b^SMKc³ÃÍÐxY`gfddeffee`WR27651AIB=875+***)+-,D‹OdPA:68DE;88323024550K‚–`4753aYXb`cbbbbabacccbccdeca`^\Z\dX+1EGIPŽšp^RII:=jgggqmhcRLMK€¾ÄÒ³_^bcbcdeeeee\Q574502755/-,++++*)+0ƒ—|JjHMODLXWOGNH8333336AW„Š\IL@5O`Oc__`ddaa`abbbbbcdddcb`^\[^T(0EA@XËÎp[TWJLTmmgfnmqiSLLKU¢ÁÇÓ—_^abcceeeed`T=3//0/&##$%$$&%'2AFTšˆnFeIONHGFGFGHNF3225<@RXheQKNO?DRNdUw‚pcdaaabbbbbcdddddc`^]]Q&.B>?M€‰b^ccL54iqjgnorqf[OLKp¶¿ÎÌsZacccdeedc`ZP;21244334435644Wios€jDMLLFCFLKIIBGMG@9=MQOSQMJB;B@96MbKŽ”j_o_aaabbbcccddeddba^_Q&+=<;?KVYaknmcXtwmkqpnlnpYLKNŽ¿ÃÕ±`acccdefdca]XPKJJKLNOONNONNJV~š°‹qhF3::ASZVI@>?@?I^``a`a`a````_^_`a`_][Ypwtoihklmhikuqte_YLLMP„ÇÇÐÉvbffhhggfffgggffgfb_^^QBCGCHMRYaxµßS.46564Yèåb{bEBBA@?=<<;987744567765567667798O``a````````___`a`__][hhiga``hhqzwqqlkmdSJMRZ®ÉÇÖ«dffhighgefggggfffda_^Q@@GCJOU[cuªÜX>@BCCAOËÓyƒF;978788899:9765598:;865566655;=@Yaaa`````_____`````_]rmmnluorirqtss{€k]SJJLKyÅÃÍÔˆbeefefeefggggfffeb`_O;?HBHRZajy¦ÜrM_eoy„‘Á·ˆj<=<@BCEEFFFC9ntK:?<;;6444445449C;M`aa``a``_____``````_ƒ|‚‚yuzwihpxuxyrd\QJJKKQŸÇÅ×½f`bcdedefgggfffffda`N7>HBFLS[fvÔ}jÁêêìîññÝ“M=@7?A>>=<:<;:ŒQ8BA:83344334335A>BZaaa`aa```__``````a`†|uxrqilrmifohaccTJKJ]f~»ÃÊØ‘\aacceeeefgfffffebaO3=HCFLRZet’ÐyRºòíäæëîÐ}@?=23677756:98B?757::52257743323<@;Nbcabbaaba```aa``a``|xw€ysnq`_gqyqijdYKKJT[X˜ÃÁÕÁf^acccdddeffffffecbP.;HEFLRZbpŒÊˆF±òìééëë¿l:@9138<::34985221248844:PEC<74329A:E]igdcabca```aa``a``‡††††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxyxyzzy{{zwuxyz{zzyz{~€€€††……†††††…†††……†††††‡†††††††…{xutuvuvyxxyxz{zywtvvxzzxwy{~€€€……………†††††…†……††††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyyxxyz}~€€…………†††…††…††……………………„……ƒ………„‚€~zyyxwy|{yxwz{{{ywvvxyyyzzz}~†„„……„……†……††……………………ƒƒƒ‚„„„ƒ~|yxwyz{zyzz{{{zzvvxyxyzzz{€ƒ‚ƒƒ„ƒƒ…………†……………………„‚‚‚‚‚‚€€~|zywy{{zz{|}{zyyuvxz{zzxz}€‚ƒ†‡ƒ‚ƒ„……………„…†…„„…‚€€€€€€}}~}{zzwwwyzz|}|{zzxwwwxxzzy{}~€€‰‰ˆ„€‚ƒ„…††……ƒ„„„‚}~~€~}{|}|zyxwxwvy{}}||{yxyxwuuxyy|}~€€‡‚„€‚ƒ„…†‡„‚ƒ€}zzz{{|}}}~||z{|zzyxxzxxzz||}}{zwyyvuuwwx|€€€€‡„„‡~€‚ƒ|yxxwwx{{y|{yyxy{yzzxxyyy{{|}~}|zzyxwvuvuw{~€€~‰‰Œ…€~~|zyyyywvwzzxzyxxxyzz{{yvxxwz||}~}|zzxwyvvvvw|‘‘‚„†……††‚zxzywvwwwxuuvvuwz{|zzyuuvwz|{}~}{yxwwxwwxy|~~~ˆˆ‡ƒ†„€‡ˆ‰‰‰Š‡|xyxwwwvuustuuuw{||zzx{{yzy{|~~}{yxwwxwxz|ˆ}|}‚‚…†……„†…€yuvuvvutttuutuwzy{yxz||z{z{}~~~}zxxyyz{}€€ˆ€~}{‚‚‚‚‚‚‚€xsutuvvsstuutuvxwzyy{zyyz{}~}zwwxx{~€}}€~|x|}€‚€xtuvuwwyyyzyzxwxyyyzzzxxxz}~~}wstvw|~}}}~€}wr||~‚~€wtv~‡‰‹ŒŽŽ†xyxyz{yxxy{|}zzxvqpqqnsrqqrw{{wroo}}}‚€€€€€€€wszŽ‘ŽŒ‹Š‹‹‹‹€yz}}|z{{zxsninosssqnihhgfefhfeijkƒƒƒ„…„„„……„ƒƒ„‚~‚‰‚~~ƒ……†††‡Š…‚ƒ‚‚‚„‚}xuuxyzyzyxxxxvrrrpoqsss‰‡‡ˆ‰‰‰ˆ‰‰‰‰‰‰ˆˆ‡…‡ƒ‚„ƒƒ††ƒ‡‰…„„„ƒ‚‚ƒ„„…†……‚€€€€€‚‚„ƒ„„„„„ˆˆ‰Š‰‰ˆ‡‡‰‰ŠŠŠŠ‰ŠŠˆˆ‰…ˆŠ…†‰ˆ†ˆ†~ƒˆ„„„……ƒ‚‚‚‚‚ƒ„†‡‡……‚€€‚ƒ‚ƒ„…†ˆ‡…†‰‰‰ˆ‡‡ˆ‰‰ŠŠŠŠŠ‰‰ˆ†ˆŠ‚ƒˆŠ‰‰†~‚‰†ƒƒ„„ƒƒ„ƒ€€„†‰‰‡…ƒ‚€€€€‚ƒ„…ƒƒ‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠ‰‰‰‡…†ˆ„…‰‰‰‰„|‚Šˆƒƒƒƒ‚ƒ‚‚‚‚€€€‚…‡ˆ‰‡„‚€€‚„‡ˆˆŠ‡ŠŠ‰‰Š‰†‡‡‡ˆ‰‰‰‡††…„……†‡‡†…„ƒ‰Š‰„„„ƒ€‚€€€€‚„‡ˆˆ†ƒ…ˆŠ‰†‡ˆŠŠ‰‹Š‰‡††‡ˆ‰‰‡…ˆŒ‹ŠŠŠŠŠŠŠ‹‹‹ŒŽ‘‡„†ˆ„‚€€€‚‚‚€€€‚„†‡ˆ|…ˆŠŠ„‡„‰‰Š‹Š‹‰††…†ˆ‰‰‡‹ŽŽŒ‹‹Š‹‹‹‹‹Œ‘‰†‰‹‰‡„ƒ‚‚ƒ‚‚‚€€ƒ†€z~†ˆ‰ˆ‡‡€†‡‰ŠŠ‹‹‰‡……†ˆ‰ˆŒ‰‡ŠŠ‰‰ˆ‡ˆˆ‰‰‰‚ƒŠ†ˆ‰ˆˆˆ†ƒ‚‚ƒ‚‚ƒƒ‚€€€‚ƒƒ†‰‰ˆ‰ˆ}ƒ‡‰‰Š‹‹‰ˆ†…‡ˆˆ‰‚„‡ˆ‡‡††‡†‡…}‰‡ˆˆˆ‰‰ˆ‡„ƒ€€‚€€„‡…‡†ƒ‡‹||†ˆ‰ŠŠ‹‹Š‡…†‡‡…ƒ‚ƒƒƒ„„„ƒ‚‚…‡‡ˆˆ‰‰‰‰‰ˆ†ƒ€€‚‚€€„†{ywxy}}~ƒˆ‰‰Š‹‹‹Š‡…††„„„„ƒ‚ƒƒ„„‚„„…†‡†ˆ‡‰‰‰‰‰‰ˆˆ†ƒ€€‚‚‚‚ƒ‚ƒ†ƒ}yvsr{~}}„ˆˆ‰Š‹‹‹‰††„ƒ…‡‡‡†ƒƒƒƒ…Š’““““’’Œˆ‰‰ˆ‡ƒ‚€‚ƒƒƒƒƒ‚€‚‚~v~|†‰‰‰‹‹‹‹‰…„‚„†††„€€…Ž”““““’’‘‘‘‘‰‰‰‰‰ˆ…ƒ‚€‚ƒƒƒƒ}xz|~oz€}}‚‡‰ˆŠ‹‹‹‹‡ƒ‚ƒƒ„ƒ€€€ˆ‰„€€†‹‰†‹‰‰‰‰ˆˆ‡„‚‚‚}ursvuuhm|}z~ƒˆ‰ŠŠŠ‹‹‰„€‚‚‚‚‚‚ƒ‰‡}xw{†Œ‹~yyzƒŠŠ‰‰‰ˆ‰‰‡„ƒ€€‚‚|sqrstwjiq|}~…ˆ‰ŠŠ‹Œ‹†‚‚‚‚‚‚‚ƒƒ…‹‡ƒ‚‚„Š‹‹„ƒ…‡ŠŠˆ‰‰‰ˆˆ‰‰…ƒ‚€€‚}sqrtykjkx€~}ˆŠŠŠŠ‹‹‡‚ƒ‚‚‚ƒ„„†‰†Š‹‹‹‹Š‹‹Šˆ‰ŠŠŠˆˆ‰‰ˆˆ‰‰‰‡„‚€‚€vutv~‚nmnt€}}„‰Š‰ŠŠŒ‰€„…„ƒƒƒƒ…ˆ‡„‡ˆˆˆ‰‹ŒŠ„|ƒˆ‡‰Š‰‰‰ˆˆˆˆ‰‰‡ƒ‚‚}}|{€omjnx~|€‡ŠŠŠ‰‰‡‚‚‚‚‚‚ƒ†‡Šˆ„…………„††„€|€„…‰‰…†ˆˆ‰ˆˆ‰‰ˆ‡„ƒ€€€€klhikz}}ƒˆŠŠ‰‰‡„ƒ‚‚‚‚‚„ŠŽŒŒ‹‹ŒŒŒŒŒŽ‘“Œƒ„‡ˆ‰‰ˆ‰‰‰‰ˆ…‚‚nniger€~|~…‰ŠŠŠ‰‰ˆ‡‡………†‚ƒ‹”••”–•••••–•”––—Œ…ˆ‰ˆˆˆˆˆ‰‰‹Œˆ‚€……††ljhgfl{~|€‡ŠŠŠŠŠŠ‹‰‡††‡…ƒ‹’’’’’‘‘‘’’“’Ž‹‡ˆˆ†„†ˆˆˆˆ‰Šˆ‚€„…††fgghhiq}€}}ƒŠŠŠŠŠ‹‹Š‰‡†‡……Œ‰†ŒŽ‡€†ˆˆˆ‡††ˆˆˆˆ‡†…ƒ€€ihgfghhu€}ˆŠŠŠŠ‹‹‹Š‰†‡…‡Š€}‚‹Œ‹‹‹‹ŠŒŒŒŒ‡†‰‹‹‹‹ŠŠ‹‹‰ˆ‰‡†…‚‚‚jhgdgjhs€~~„Š‹‹Š‹‹‹‹Šˆ‡……†€|~†ˆ†††……Š‘’“““““”“““”‰‰‰ˆ‡††…„‚ihgfikin}}€ˆŒŠŠŠ‹‹‹Š‡…„…„ƒ„„ƒ‚ƒ„†Ž“”‘ŽŒŽŽ‰‰‰ˆˆˆˆ‡‡†ƒjjjkjihkt€~‚‹Œ‹ŠŠŠ‹‹‹‰†ƒ………„‚‚ƒ†Œ‹Š‰‰‰‰ŠŠ‰‰‰ŠŠŠ‰ˆ‰‰‰ˆ‰‰ˆˆ†mkijokhjq}‚‡ŠŠ‰ŠŠ‹Œ‹‹‡‚ƒ„…ƒ‚ƒ„‚‚†Š‰ŠŠŠŠˆˆŠ‹‹‹‹‹‹Š‰‰Š‰‰‰‰ˆˆ‰‰lmnoqpmpt|€~}~‚‰Š‰‰Š‹Œ‹‹ˆ‚‚ƒ„ƒ‚€‚‡‰Šˆˆ‰‰‰‰Š‹‹ŠŠ‹‹Šˆˆˆ‰‰‰‰‰‰‰‰{zzzzzzz{zz{{zzzzyyyyyyyyyyz|ƒƒƒ„„††‡‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yzzyyzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†‡†………………††…†‡†ƒ‚‚zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zzzzzzzzzzzzzyyzzzzzz{z{{{{z{~€‚…„„„……„ƒ„†‡‡…„„ƒƒ„„…ˆ‡‡‡…‚‚‚‚€€x}|{zz{{zzzzzyyyyyyz{|}~}}||~€‚„„„„………„…‡‡‡……„„ƒ„…†‡‡†…„‚‚€€{‚~|}~|zyzyzzzzzzz{}}~~}ƒ‚ƒ„„„„……‡††††…………„„…†‡‡††ƒƒ‚‚‚€€‚~€€~|{zzzz|{yz{|}€€€€€„…ƒ„ƒ„…„„„„…‡‡†„…†………„…†‡††‡„ƒ‚‚‚‚~}}|{zzz}{{~€ƒƒ‚‚‚ƒ……„…„„……„„„„†‡†„………„………†††……„ƒwz}~€€€€~}|{~€…†……„„ƒƒ„‚„…††……………„„ƒ„…†……„„„„„„„…†‡†…„ƒ‚‚‚‚t{€}€€ƒ„ƒ…‡‰ˆ‡†…„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††ˆ†…ƒ‚‚€‚‚z{}{~„‚‚‚ƒ„††‡‡‡†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒzyzy|€€€~€€‚‡‡‡…†††………†ˆˆ‡ˆˆ†…†……„…………†……„„„ƒƒ…††††…„ƒ€€‚ƒ€‚†€}|zxy|‡ˆ‡†††††††‡ˆˆˆˆˆ†„„„„„„„††‡††„„…„ƒ…‡ˆ‡„‚‚‚‚‚‚€ƒ„„„†‰†ƒ~}~~~„†‡‡††…‡ˆ‡ˆˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„„„†ˆ†‡ƒ‚‚‚€‚„…ƒƒ‡‰…‚€€€€€‚‡‡‡‡‡†‡ˆˆ‡‰‡‡‡‡…„„„„„††‡‡ˆ†„„ƒ‚ƒ„†ˆ‡†ƒ€€ƒƒƒ€‚…„‰‰‡…‚ƒƒ„‡†‡†††‡…„„………‡‡…ƒ„„„„…‡†‡†…„„ƒ„……ˆ‡…€€ƒƒƒ€„ƒ„…„‚€‚‚‚‚ƒ‡‡†ƒ€~}~~~~~‚…„……„„…††‡‡…„ƒ„„‚‚}|~~ƒ‚€€‚„„ƒ‚€€‚‚ƒƒƒƒ‚‚„‡‡„~|||}~}|}ƒ„ƒƒƒƒ…ˆ†††~}}||zz{{{{}~~~~€~|~€€€‚‚‚‚ƒ„ƒ}||{}}}{z|~|‚€€€„„„„…€~~~€€€€}~€~~}}}}}|{||}~€}}}|zz|xy~~{~€€€€€€€€€€ƒŠ„ƒ„ƒ‚‚‚‚‚€ƒŒ’•™{}}}||}}}|||}~|}‚xxxwy‚{|€€€€€~€€ƒ„‰†‚‚€‹›—”||}~}}|}}}}||}~{|„yzyw{…ƒ{|€€€€€€€~ƒƒ‚‚ƒ‚€ƒˆ{zzy}|||}~€€~~}}}}}~}{{€z{{{‡ƒ{|}€€€€€€€~€‚ƒ‚†ˆ€…‡{}}~}}}}}€€~}}~~€}}~~}}~€ƒ||}€€€€‚‚€~ƒ„„‡„y{€~}|}}~€€€~}€}}}}|}}~}}~}}{{€€‚‚‚€œ­—Šx{}}}}~~€€~}~~||{|}||}}}}}}}||~~~}~€€‚‚‚‚€~ž¹§–…{{}ƒ€}}}}}€~~~|……~~~}~}}}}†Š~~~~~~€€€€‚‚‚…Œ›™–”–—„ƒ€~}}}}~€~~~‰~~~€€†…~~~~€‚‚~†¨²º»²¯‡„‚€~}}}|}€€ƒƒ‚‚ƒ€‚€~~}}}~€‚‚‚‚·ÍÍÏÐÌ“‰‚€~}}|}~€€€€‚ƒ‚‚„ƒ€€€ƒ€~~~~}}}~~~€€‚‚‚••¤¶ÀÉ̓ƒƒ‚€~}}}|~€€€€€€€€ƒ‚€|zzyxwvwvvwx{~~~}~€‚‚£œ{}†Š‹„„ƒƒ‚‚€~~}}}}€€€€€}}€|yzzy{}|{{zz{~~}}}}€§Â­–‡•‚‚‚‚‚€~}}}}}~€€€‚‚„ˆŠŠŠˆ€||~~~~~}|}~}}~}~‚‚~¥ÌÒÍÁÃÇ{}‚Œ‚‚€~}}}|}~€€ƒƒƒ„…†…„ƒ~||~~~zxz|~~~}z|~~|}}~~€‚‚~¢ËÏÏÊú}{ˆ‡‚ƒ€~}}}|}€‚ƒ‚€}|€€zxxz€|z}}~~~~~‚‚~œËÏÐʨŽ||€‚ƒƒƒ€~}~}|}€€€€€€€€~|||~}|zxwz~||}€€~~~~~~~‚”ÈÈɽˆ~€~‚ƒ‚‚ƒ}}}}|~€€€€€€€€|}|{||{||z{€…{||~€~~~~~~~€€†¢›˜š€€„€|€‚‚‚‚‚~}}}~~€~||}|~}}}|}ƒ~~|}~~~~}~~€‚‚ƒ‚‚~z|}€‚€~~~~€€€|{{{}|{||{{{{yyyw{€~~~~~~~~€‚€~zyz~ƒ•‰‚€~~~}~~€€€€{wvvvvwvwvuvwvvut{€€~}~~}}{}€€~yxy}„‰„‚~~~~}}|~€€€€|yxwxxwwwwxxxyxy{|~~€€~~~}~|~€~zxwz‚‚ƒ~~}}}|}~€}z~|yyyyyzyyyyz}~~~~~~~~‚‚‚‚‚‚~zxwxyƒ‚‚‚€~}}}}||}€€|{‚…{z{{{{{zzzz|}{yzzzyz{|~€‚‚ƒ‚‚ƒ~yxyzzƒ‚‚‚€~}}}}|||}€€~……„~€€{zywvwwxwvvwxxy}~€€€€‚‚~{x{|{~ƒ‚‚}}}}||||~€€‚‚€‚‚‚‚{yzyyz{||{|{{{{{~€€~{{}~~€‚‚‚}}}}}|||}€€~€‚ƒ„…„||||||}}}|}||{{{}~~ƒ‚~€„„‚‚‚„ƒ‚€~~}}}||}~€~€‚„…ƒ}|}|{{|||{z{{z{{|~~ˆˆ‡ˆ‡…„…†„‚˜Ž~~~}}}||}€€€€€€€‚~|{~~{z{{zzz|{{{{}~~}~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍËËËËËÌÌËËËËËËËËËÌÌÍÌËǽ³¯¡€~qfkuiihkiqbfaU\`\Za[T[`]]UPORYX_d^cRTUVUVSSXTPW_][XTMD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÍÆ´›¤•txr\^_p|m\]lkfZXXZ^YUTO]f_[ROOPXV\fgfOU\_YPPKPQX^aZUOLI@?75421/75ÍÍÎÎÍÍÍÍÎÍÎÍÍÌÌÆÀÄÀÇÊÊËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ£Š‡olkokjnrtzy^`^abZYZZZ\RSV\aXYXVSQTRVZebQQXZTLNMRQ\b__YQFA?<851220.1ÍÍÍÎÎÍÍÌÍÍÌÌÌÌÍÇÀÅÁÉÌËÊÊÊÊÊÊÉÉÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’yjpwxr~€ed_[fWaccZZWU^XSXedQORVWRMLWOYfPNSWYPLROPX`]_USTOH?<74220,-ÍÍÍÍÌÌÌËÌÌËÌÍÍÎÈ¿ÁÀËÎÎÎÎÍÌÌÌÌËËÊÊÊÊÉÉÊÉÉÉÉÉÉÉÊÈÈÈÆÈÉÉÊËÊÊ̼’Žƒ~qak|kbg_^`Vh`VWTSM[a_`pm[QOT[SMIURSXSYZXTMOQUZ_WVYPOXNI>>@;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÉÎÎÎÎÍÍÍÍÍÍÍÎÍÍÍÍÍÌÌÌËÊÊËËËËÉÊÆÉÊÊËÌËÇÅâˆxzph^jomb_`]W\_UQZRRPZfeffceVQUXRQRTRRVRY]`TRTQYZ\WWSROPQI>?>6551.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎźĻÆÏÍÎÎÍÍÍÎÍÍÍÍÍÌÌÍÌÌÌËËÉÉÌÍÍÌËÇÅÉÊÊÌÎÌÇÃÀ²™yxndURb^Y\_`]a]WTQKLTX_ach^ZSOOPNKTRSQ^LTTXYVYY^Z[UQPSNRKFC>A;430/3ÎÍÍÎÎÍÎÍÎÎÎÍÍÍÍžÌÁÅÎÍÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÉÉÉËÈÄÂÃÁÆÆÈËÌÊ¿¼«Ž~voWSRQNVWlpea`ZXLC@LXPY``]VTQKLKHKIPLYNQUTVUYZYZ\XRNRMUOCHA?>3/.--ÎÍÍÍÌÍÍÍÍÎÍÍÍÍÌÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÈÇÅÉ¿½·Á½Á¾ÃÊÈÄ»®£¦Œ|sr^UVXWgi[nff_UUPPVTcTNY]SNVWQJIFMOQXWRPWYUSWWUNSYRPVPWV?57220.---ÎÍÑÖÔÎËÌÌÉÈÉÉÊÌÄ¿ÈÀÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÃÂÁ½Âº¹©¿·À·¼Æ¾½´¤‰†~p‰wb[^[\dkVn]T[SMST\ZUMPRXRQRUWKKKSRRYf\NUVVVTTYQO[XX[ZKB<6530.-,,-ÎÚèðîäÒÊȽ½ÀÅȾÆÀ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁº²¼¸° º±½¶±Á´º´™…{ykgb`b`T[aZUdZRY\OSRV[TUTNMNKKLRXUNQOQQcYNY[WQLNXWTUWPLK@7=<:61.-,,.ÚïضÄæè˾¶°¯µ¸¿ÁÁÉÅÁÉËËËËÊÊÉÊËÊÊÊÊÊÈÇÆÃÿ°ª§¬°¤žª¬´°°¸ª« „wwsjjQ^cZXcVQ[h]Y_XKPPRZ_`TPLLKMQLTWKNTNQ\]X`[SOKOXTTWOQWIBB=;;961//-,ìÍ}gn©ë×´®¬­³²¾ÃÅËÈÃÊÍÌÌËËÊÆÊËËËÊÉÈÅÁ½½°¡™™£¤——£®©¬«¥¢™„sligjm[UXUa_VV[ZX^UQVTSTT^VQSNNSUQRSWROWPQX_X\VZ[W]^RRYURP>?E:8777520/.夈ˆ‚™Õè´«ª­±²ÀÀÅÊÇÁÊÍÍÍËËÆ¿ÈËËÊÊÆ¿·¯±²¶ªŸ”Œ˜™˜“¦¶­¬¢–˜‘xhdeUf_QKHOW_XRQ\e^_m^_b\SVNPNNOQVRTQSXQZNN^\]fYb]he^ROMLIK@=?8854453./2‘ˆˆˆˆ¡Ø¾ª©®®³¼¶ÁÇƾÇËËËÊÇ¿¶ÄËËÆú¨žšš¡ —š•†’–’’ŸªªŸ’ŽŽ…tbcgZ\SPSRPX]_\hn_OT`NWon[QMJMLJFILLNMKPWSW]TRXW`g[ZUNILFEDBH@7543343/15WTh‰Œˆ•µ£¥¯±µµ±½ÈÆ·ÀÉÈÊÊȾ²ÃÊɾ³¥™œž•–’ˆ‹‹“’ŠˆŽ—‰ˆ‰ƒ|ttoaYSW[XNV[UU\g\RP]ef`^[RRLIIFIGFEFNLT][VZUN\ifeU]SMUSJJ@?B9753313438=O`¨ÑÝÕ»~ŸÌŲ®®ªª¶Ä»©¯¸´¼»È¼¯½Ã¹«žŸ—› “’„‚€ˆˆ€}ˆ‰„‚€ƒ€~xun`VUST]YTYTSXgRPO]dcRRZXSLKLJJHEJJIRUZaQYQPkrcd^a\U_XUSH=::86432264:?uy¶ÍÈȬo–óèÌƦŸ §¨ž Ÿ¡¡¡©»°¤¢ª›š˜Ÿ—™’•Œ…ƒ…ƒw‡‡„||{{tppiaVPZgZQURT]ZNX[\]XQQPRSLJPQLNRQFBJNT^PQM]``_Ydi[QT^ZESF<;<9555488:<€šµJVSX~Ùãç챞£° ™›ž¢¨¤¡£¢Ÿ””“›™Ÿ™’–ŠŒŠ††ƒ}x„ƒ€y{wtphhdXVYPX^XT[Z[YVZYZ\ZTOJVTNLOJBCFFA?EHGQJRSY[aX`m[^OZ]YIDC@?<756779;>>5jTTUMEjŸ¼ÕèÁ¶ÅÄ·¹°¶·ÅÁ¶¦ Ÿ”‘œ•›”Ž‡ŠŠ‰…„€yƒ}{uvwqqljeX\c``YRRXV\]bXT]SW^ZVPINLNIBCE@?FEDBRGTW[V_a_[RcbTVWQLGDF966767;=FE7?MR|hC;U†°qÇæäåâäæäåååèí¾›š”‰‹“’Œ‹‰…Ž‡‹‰ƒ{}‰yvtqsqnh`V[caZQVOQ\dbcTNRQe]bVLQQOJHCIRICJKLFPQ\\YLXdddS_cWPV]PD@@<:8779;?JAOO]mngZPJ|¯uÉðìëêèãâääãåèÚ¾—Š„‡‹Š€‚ˆ‚—‡‡z|„ˆ|‰y{vuttvr`UQYXZVXVNY[]_dcfkolQ[[SMQQGEEPUPPNOOHJVZ]ZNM]Y_]\ecV_R@:9<<;:::;=<<;hhjkkkknlnšéíìÑ«˜Š‚}|€~‡“„†‰†{€…‚‹—†‚ˆ{‚ˆ‰…}†|xuvxtul]X]_UVSSV^WOM_q€uc[]dPSNLRRMMIB?LUQQSSO\dccZSXX]ZQ[USRF;98;:79:98===763f~:7888;BDCE{`^[W©ÌÇ튤Dz]Z>DCLKPJ;79=<Š–§ˆ|‚~x~|y|~z||{~‚}wwomvxzqgaaSQRC?LVWUWZOKISW[[TZc^SMMJLOMMJGJNVWY]`Y]WUQVNJLHA<8676Xƒ=79:<=AIIH˜ŸRKHNÏöïðx®ÙžAFFVRIGIOKHFDBtÃø¹yxwzyw{z}}|‚zvwlhntxnh`^PQUFHNTX[SPSQSTZUVWY`\RLECBEGIEEFJSV[YTMURTRSNGEC<96676]}@88;<;AHHHÄÌ|umh­¡P²Ü¶™›Ÿ¥ª¬­°°°¬©¨µÅÕ {}|{vwwvwv{{~€~~xwupslnuphg^RVVTWY^[WFEQW^W[XWTV\UNICD@>?><:?KNU`YQXZPW[NLG;:997673ŽáK26::;BIJJãäÜÚÖзtOG@†ÀÐÔÒÓÔÙÚÚÛÚÙØØÕÓÙÀ‚{‚~tyxvxzwvxx}}}y{{vsvvjkqihf^O\i\SSWZXPOVWYb]WU[YTMGD@@??<68>DGI[gWS[WZ[TFBA;67887:5‹ßJ18;=CGHCRññòòòó×vOLB‰Í×ßäâäæçèæèéçäääàÔ’|…xz|ywxxxwz}z{w|~zwyskgngfbb[gobYMOYXUQSYW_YVZdYOHBA@ACA?>CIC>KZjj[KPeQF@:;96:;:9=7|ÙS4=;=CIJCVÏÎÍÑ­‡‚qJBJÍÛâëêìäØÙäÜØÝéèäÝ׶{ƒy}|zuqzyx}yxsz~wywofhiifa\[W\XNNVTMNS]ZXXZ\\SUMG@AGIB=BRQIT\^jŒkQUXLA;666;@CB??;~êc7?8MTNejiv‰g[]QHA>;;?FMJB=>8…ôl7<5>HJY`j•Žƒ‡‘{nQJJDnÅæåêçæçÛÞèàÖÞêæéãçÈ|tuvxvwxiy„‡ŠŠ‡“”‹‰†~vnkn^SV]WY\SPSPSPZ]Zc]TUQOHGGCGKGDGNMRikjutcajgVOLLQVUWTIKO8€õq879V\^khhppcdd^S@>>9Z³íìëìëìêéëêéêêéììîÂ{{yyyy…œ¤«¯­ª©¨¦£¥£¥£¥¨ª«©¢—mTMUZ_XWSMNWUZc^_WOOURME@=IU`WZdhmc[WY`bekmjne^jywqmgjiU‰ï„WU^vuoqjeKKJKLQWM505Oííïðìíñññññíéîðîí¶zyxxz–¨žœ•ˆ}wngfgjgaa]]_cipv{ˆcUWYYSPNOMT[XSXYSMPXSPU[Xn€vbkxl[TW[]^`ffm~ƒƒ|€…ˆ‡ˆ”¬”‘Šƒ{|rrpgwwwxxz~{=,1LêãÌÄéßÀ¿¼»¼ÒïÌÁÜêªvzzxxx`YVROPU_h­¢pd^]\YWRJB^iXZUURX__RS\YPMMT]ZX\gx€…Š‚bcrjROX[[Z]eiku~}||ts}ŠŽŽ‰‡Œˆ‚}nrqlngxwwwwy|{[RVcƒ¶¬‡s³®zxt€Ž§È‡¸Á“vz{xz€GIOVbkr]=<>A@977ZqqqleM=^ppkpz‡‘†Š‘’Š‹’²š‚|w}{lbmm`W[_^][`geisfebecu{~ƒ…„„‹…{rdhpmkfppoooqstvwx{zz~~~‚€}}|ˆ–ƒŽˆ}tƒd<^|‹–›ŸŒWK9/0:BFHIB@EJQGItxxwvsssttuwyz†”¤±³«›|rljllmliea]]]ZY^_ZZ\]]`fiedbafnlgjgd_fqkqsonlkllmoqrsrsttuwy|~~~~}{zyvuszˆŒœ•ˆILi©®±³µ±¥™…hkqUIHC52348bF_moqstuvutrqqqppoos~‹˜¥­¬¨žŽqggfda`\YVYXWWYXWXWWXZYYXXXVSRVWfry‹sokjjjjklnpprqnnnosvyzz{{{zzxvtrqx‡{F`FŸ®¨¡–‹|ŸÁ†~©hEIINL;44``Leeefhjlpssstsqpmmmnnnos{‡™®½¹¤Štjggffb_][YWTSTSRSV_aTUXYfˆŸ Ÿ™xuqmjjjijkmoppppopppqsuvwyxxyxvutq|c[\0DJD>;GITcegbOHBRseQ36K{FadbabcdeimprtvutrpllmnopnkmwŽ©¹º­š…sjhhfc``ZWYTTSTYWRST\šy}tmheawvusokjihhiknnoppqqrqqpqstuvwwvuus€SuJ14775:JKJIKJGHIGMzoT2U– RXjfdbbbaabdgknqsvwvtqnkjlnpolkp}©Áª‹rhggfgec_^YWTSRSPb™VRRPNPQSuuuvtokhfeehkllmnnoooommnoprsutttv~O‚<24DspBILFDDDIJIOFmtO4@\‰uLlkhedb``_^^`cfkoqstuvtplhgjmnmkjjv—ºÍµthgjjiigdb^YUSQgD_mrx}‚‰tuuutspkgedfhiilllmmnnllmmmnorsssxvZ‚454M‘•aXI6566EJHOMfyc55,SGejlmigcaa``_`abfknqqtuuusmggikmonljp‹«ÀÁ§‰skiijigfb^ZUƒme¢¤©­®±³prttuutqmhedcdfhijjjkllkmlkklnqrrwhlu4B•WYegklmjgca``aa__`ejloqsuvutpkgfimnmljhsŽ³Ç£nijkjgec`˜\hª •Œ€tlnpqssrqokfba`acdffgijjjkkkjijlomw_€fBLGQ‡xLKA7665335C‹šW:633ˆsPhffgknnjfc``a`^\]`dhkoprstrsqkedgjkllieh{¢ÈͱŠqnkhgdržU[@[>7655jlnopqqrqojeb``aacdeghiijkkjjkkmgyX[ITLdyŒWFGFDBDCA?Fy’‹N><93ˆGn\FDQfknnkgcbbba_]]_ehlnprrstsqjdcehkkjifeu¡ÈÏ´Šrjli‡“SR>L5799:ijlnpqstsqolgcbabbcdefhhijjkhULN|€O˜\bJv`THILQTUMRKQ\xnE<8;3c[;_F:95]fhmookifeffdb__aeilopqrstrojedehkkjifewžÅϸŽrp›‚RG>D35;B:fikmoqrssrqolhdbbbbbcehiijjlU6=9us@YHT`:?BABLTUQMHD;@=B\UKMC6668?9333CFmlhkkllkjgdbbbcfgeb``^]\]\[[\^`ehjlnnnmmhebbfYQ\gv‚DRw[JDBC\FÅ{\cgijkmorspppokgcb`__`bdefggf’ºXK@987776655654544554545555665;DGXigjjljkkkidb`_adecbb_\\\\\[ZZ[]`bfiklkkjjf``[OV[\piHC}l<87;>?ÉÁs[dffhjlnpqpopolgca___`acdefdƒª[K?6266544444334;754443443437UxeMJfghijjjkkjigc``aceecb`_]^`_^[YZ]_cfijlnnnnkfaRMOI=W{bLFA==GMI½Ì³_Zacfijkmrqooqolgb`_`_`bcdeev‘kTx]53322222334E=4542223427~ª¦VIbfhiiiijjjkjifca`bghgedaaaaa`^]]]adhjlmopqookea‘©qpyzsnl_NQ^fªÀΡZ]beghjlmoopqonlhc``__abddhnm\r¨¡Äu522222234533654221104gŸž’˜S?agghhhikkkkklkifa`cfhjhgebaaa`_^]]_bdgjmoqrqpmh±}sihe\[]XUjqw³ÃÍX^cdfiklmnpoonnlfb`__`abdekQ2{—§¤¡r403210/27B?743579AEj½´°¿@3†xdghhijijklkkkjgcaadgjkifca``___^]^`behknooppl{«~lXZ\XVVVVa`N»ÇÈrXabfhjklnooonnmkgc`___`b^`Q*Y«È¬ÙÚ†wVNQT^V>Ž,@Œ×ËðïÛ¡vZ\_‡\¸¬Srcd^_‘¸íåÙÁ³H0.Rgffedghhhiiijjjjkigdb_adhihfc`^]]^][[\]_cfiko[X†d[SRUVWWWWWWVWx¸ÃΣ\^dfgijlnnnoommmjda`___aI/-1N§£°ÅÜ©žbbgXS|ïêoaioqp°››ˆ]F@/0.Rfdœ½·eeeffhjjjjjjihfb`_aehiigb^]\\[\[[[\_cgjVUvd^^\WXXV[\\\PJM…¹ÁÊŒX]adfhijllmnmmmlhda_^^`F---046@_T^Zcoqc‚ÖÔ‚knldYgB6=1-.28<`or”½¾žvuqnkigfiiiikkjgd`_`ceiigd_\\\[\[ZZZ\`dNQ`aP¸–t‹š]QUV]RLR”»ÄÃvT]_adghiklmmmllkhc`__^=+,.037:?BKS\ap…˜§Ãʱ§”ƒta[]cqy‡‘™Ÿ¥¬ª­¬¬ª­¯®­«ª¤”zgggiijjigdb`_`cfghe`^]\\[[[[\\\ILPXD’ÀÈÎÕó¯ODBeXOI^©¾É¼jZ_adfhhjlmnmmmljfb__^>+-1679<@FO`s°Úßâæííêèêï¾s–¡¬­«¦£ž™•‘Ž‹‰ŠŠŠ‹ŒŽ’‘šwefghhiiigfca__adhigda^\\[[\\[[EEFNHhÜàÙÖâð§LCj`PLJs·ÀϬa\adeggiklmmnmlkjeb_^A,-.16:BLXi„˜µðçííìëììíò­Ž¥„|xvqnjgecabbbaa``_`acl‚ieefggiiiigdb`_adgjihe`^[[\]]^E?AJNL‹­Ä·áò{AlobQLMˆ¼ÂÑ—Y_cdfghjklmnmlkkiea`F--./4:?J\t’°°òêðñññòòò÷º t\^\^`aabelw‰yusronnnmlbpwfeffghihjihfc`^_bgiiigc^\[\\_G=AGMPPSev‘ãÜ‹[ilv]NKWœ¾ÉÌ‚ZacfhhijlmmmmlkjgbbI-../34GREJU`|ÎÇÃÀº´ª¥ ›ª•aav||}{zz‚„‚¢m|€|€€}{ympldffghgffghhfc`__adhiiiea^\[]G=@GKOQVWWa{tlrqoldWOJc­ÁÍÇw\ceghhiklmmmlkkjfdI10.0@MµËZ45=FINQTWZ_]]_apklndSUhˆ¼ÆÓ½k^cdghhijllmmlkkieJ35..8TÓÔ‡v„’­–šŸ¢¨¯³±¯«–Wj–ÔØÛÝßßâ¾ZbVQO]ËäàÛÓÙßáxrOfeeeeeeeeefhghheb`^]`fikjigdaL?;FILPSUXdoty|kknlgYOQT‘ÂÇÔª^^`bdefhjjlllkkjiK18-./8`qW@JRUQQQRVWVQR‡Pn‹ãÜÛÛÚÚß°SddkNT¿áÜÙÔÖÝákabXmddddeddeegggggdb_]^`chkkkigR<:FILORTXbnx~‚nrpnneRLKX¥ÃËÓŽX_bcefghgjklkkjjK09--,008?<=@?8;978=86J–wTfu×ÔÔÖØÙØŠNR]eLQ¬çãäÜÐÁ¯VGtNqebbcddbbdeefegfda_^\]bgjkjlV86FJLNQSXalropnsqsuwhTNJk»ÇÑÅl]abdffghijkkkkkJ/:.-,/025:;<>DFHK[xUGg¢c]bIXY\`fg`GSS‘•RTj•‚n^LA>D;mR^bddcccbbccdeddedcb`\[]`fjjlX53FKMNPTZaiikonnlkjlf[RML”ÅÉÖ¢Z_`cdefghhjkkkgG.;1,+*,--,,,-,,--+,,-qŸSe[?8566435:>>¦±OQC214796=M;[bVc‰s`bcaabbddccddddb_^]\^cilW33FLOPPTZbebcdmecde`b^SMKc³ÃÎÎwY`gfddegghjibYA-;4-HB2-,,++***)))*+1ˆLkSA:679877430\z976668>Lx~a_edO6twmkqpnlnpYLKP’ÀÅÖ¬_`bcccdedca]WD5345766676575496@LMQVWSMDAHB==R_Q¥“nW``abbbbcccccdddcb`_`P%,<<;>JTYakppgpojhlmhfijdMJJ`®ÀÉÕ‰[abbceeecb_[TNLLKMNPPNNOOOORh†›ž}o^:;A>ETXYJEABZIE;7>LQPOIA;;:>>=CSiLslNSa`aabbbbbcccccddcbaaP%+9758>@FIMSVVlunnmkkjgiillniSJJJh»ÅÍÖˆ]cdfggggggfgfffddb`][[[]ZXw‹u{š¸Â‹fZ[\[\]]]]\\\]]_]\]\]^]YÈÓê²UNZbbbccbb`YY\^fdaaa`_]\[YXVSPOOPPQSTY_cmklsrmjlnmggihiUJKKM”ÆÅÓ¹a]_adefeffghfffddca^]\[^VVu{j}ÒêÛÔ•]``aaceefhiliihghfdcdguÁâÒØÍ›™¢£££¦§¦¦£œ“‹{s{f`a`_^^]\[YWVUVXXWTTW\bimprmlmprplgjkfSLKLJd¸ÆÌÖŒ^deffffffghgggeedb`^\[]TVf]UlÜÛÒâß…elnqstuxz}‚yzyzŒ„œ¦®µ¿µ®¬©¬«ª¨¨©¨¨¨¨¨©¬¯³—eb``_```_^]\[[Z[\\[YWXZ^mllmsusprkjlkjodOJKKMÇÉÔ¾jcefffgffghhggffeda_]\\STaPJTÏà¤Üï¬cutuvwxy~‚‡ˆŠˆŒ«±¬¨¢™–•“ŒŠŠ‰‡…„„‚ƒƒ…Ž”k\j^`````a`__]\]^^_]\YYZjpurpsqknijhehrbKKKLK_¶ÉÌÕ—`eefgggggghggffeec`^\\ULRKDGj~lÃñ j˜ §¯µ»ÄÌÏÔ×Åšo—•Ž‡xsngc^ZWUUTRRQQPOPPTX^_iz_`a```a``_^^^____^\[Ypwtoiikmmhhkurte_YLLMP„ÇÇÐÊubefhhggfffgfffffea_]\XGFKCEJOUs•{”Ë»©¥£¥ª¤µÛ¬ˆ—Žeti\TPJKIGIJJJ[XONLLLLJIHGFDFH`d`a`_a``__^^_^^^^^^\Zhijga_`ghpywrtljndRKMRY®ÈÇÖªdefhihhgefgfggffec`^][HAHCEJOUZcƒÉÐJ455450|ó¸9mwPKGEGGHIJLJHHFTO@?==<<::;;;;;;@Xbaa`aa`_^^^^^^^^__^\pllljtnqhrrusszk]SJJLKyÄÃÎÓ†beefeffefggggfeeeb_^]HAEDDKOT[fƒÈ¿;?@BA@<‚òÄ^„PA@@?<;99876656336788767677766:9H_aa`aa`^^_^^^^^___`^ƒ|‚€xuzxjhoxuwzse\QJJKJQŸÇÅ×¼e`bbdddeffggfffffda_^C=DDDMT[bjƒ¾ËNEHKQTYqË›yw=9788899;<==:::75:9;;755455554:?=Ua`aaa````______``aa†{uxrqilrmifohaccTJKJ\e~¼ÃÊØ‘\aaccefeefffffffdb_^?:CFBIPXal·Ëgr¹ÈÏÔÚáçÔ”V<<8BGCHMT]jz«Ç_mÝóðëëëíÍ|E?>6;<::988;9;ƒ|J7AA962344333334?>?[ggedccca```aaaa`aa†††††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxywyzzy{{zwuxyz{zzyz{~€€€††……†††††…†††……†††††‡††††††…„{xutuvuvxxxywz{zywtvvxzzxwy{~€€€……………†††††…†……††††††……††……………‚€€{uwwxwwyzxxwz{zyxvvuxyyxxzz}~€€…………†††…††…††……………………„……„………„‚€~zyyxwy|{yxwz{{{ywvvxyyyzyz~~†„„……„……†……††……………………ƒƒƒƒ„„„ƒ~|yxwyz{zyzz{{{zzvvxyxyzzy|~€ƒ‚‚ƒ„ƒƒ…………†……………………ƒ‚‚‚‚‚€€~|zywy{{zz{|}{zyyuvxz{zzx{~€€‚ƒ†‡ƒ‚ƒ„……………„††…„„…‚€€€€€€}~~}{zzwwwyyz{||{zzxwwwxxzzy{~~€€€‰‰ˆ„€‚ƒ„…††……ƒ„„„‚~~~€~}{|}|zyxwxwvx{}|||{yxyxwuvxyy|}~€€‡ƒ„‚€‚ƒ„…†‡„‚ƒ€}{z{{{|}}}~||z{|zzyxxzxxzz||}}{zwyyvuuwwx|€€€ˆ„ƒ‡‚~€‚ƒ~|ywxwww{{y|{yyxy{yzzxxyyz{{|}~}|zzyxwvuvuw{~€€~ŽŠ‰Œ‡~€~|zyyyywvwzzxzyxxxyzz{{xvwxwz||}~}|zzxwywvvvw|‘‘‘Ž„ƒ†††††„{xzywvwwwxuuvvuwz{|zzyuuvwz|{}~}{yxwwyxwxy|~€~~ˆˆˆ„……€†ˆ‰‰‰‰ˆ~xxxwwwvuustuuuw{|}zzxz{zyy{|~~}{yxwwxwwz|ˆ€}|€}€‚„†……„……‚{uvvuvusttuutuwzy{yxz||z{z{}~~~}zxxyyz{}€€ˆ€~}{‚‚‚‚‚‚ysvuuuusstttuuwxwzyy{zyyy{}~}zwwxx{~€€}}€~|x||~€‚~€zttuuvuvvvuvywvxyyyzzzxxxz}~~}wsuvw{~}}~}~€}wr||}€‚€~ytuv|‚……„…††„yyxyz{yxxy{|}zzxvqpqqnsrpqrv{{xrno}}}€€€€€ysw‡‘’‘ŽŽ‘’„yz|||z{{zxsoinosssqnjhhgefgifeijlƒ‚ƒ„…„ƒ„…„„ƒƒƒƒ€~}Š‰ƒ„†‡‡‡‡ˆŠˆ‚‚‚‚‚ƒ‚}xuuxyzyzyxwwxuqqqoooponˆ‡‡ˆ‰ˆ‰ˆ‰‰ˆˆ‰‰ˆˆ‡…‡‚~~ƒƒ…‡†‡‰‡„„„ƒ‚‚ƒ„„…†……‚€€€€‚‚„ƒ„„„…ƒƒƒ‚ƒ‰‰ˆˆ‡ˆ‰ŠŠŠŠ‰Š‰ˆˆ‰†‡ˆ†…ˆ‡…‡‡€‚‰†…„……ƒ‚‚‚‚‚ƒ„†‡‡†…‚€€‚ƒ‚ƒ„…„ˆŠ‰ˆ‰‰‰ˆ‡†ˆ‰‰ŠŠŠŠŠ‰‰Š‡‡Š…ƒ‰Š‰‰ˆ€€ˆ†„„„„ƒƒƒƒ€€„†ˆˆ‡…ƒ‚€€€€‚ƒƒ…„ƒ€‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠ‰‰‰ˆ…‡‰„ƒˆŠŠ‰‡~‰‰„…ƒ‚‚ƒ‚‚‚‚€€€‚…‡ˆ‰‡„‚€€‚‚…‡……‡ŠŠ‰‰Š‰‡‡‡‡ˆ‰‰‰‰‡†…„†…†‡‡‡‡„~€ˆŠ†„ƒ„ƒ€‚€€€€‚„‡ˆˆ†ƒ‚€€‚‡Š‹ŠˆˆŠŠ‰‹Š‰‡‡†‡ˆ‰‰‡…†‰ˆ‡‡ˆˆˆˆ‡‡ˆ‡ŠŒ‰ƒ…†„‚€€€‚‚‚‚€€€‚„†‡‡†~ƒ†‰‹‡‚„‰‰Š‹Š‹‰††…†ˆ‰ˆ‡ˆŽŒ‹‹‹ŠŒŒŒŽ’Œ…ˆ‰ˆ†„ƒ‚‚ƒƒ‚‚€€ƒ…„{{ƒ‡‰Šˆ…€†‡‰ŠŠ‹‹‰‡……†ˆ‰ˆ‹Œ‹‹ŠŠ‰ˆˆ‰‰ŠŠ‰ˆŒ‡‰‰ˆˆˆ†ƒ‚‚ƒ‚‚ƒ‚‚€€€‚ƒ~ƒ‡‰ˆˆ‡}ƒ‡‰‰Š‹‹‰‡……‡‰ˆŠ‡…ˆ‰ˆˆ‡†‡‡ˆ‰€|ˆˆ‡ˆˆ‰‰ˆ‡„ƒ€€‚€€€‚††‡‰ˆ‡‹||†ˆ‰ŠŠ‹‹‰‡…†‡‡‡„€‚…………………„„„€†ˆ‡‡‰ˆ‰‰‰ˆ†ƒ€€‚‚€€†…€€}|€}}~ƒˆ‰‰Š‹‹‹Š†…††……ƒ‚ƒ‚ƒ„ƒ‚‚„‡††„‡ˆˆ‰‰‰ˆˆ†ƒ€€‚‚‚ƒƒ‚……~wtrq{~}}„ˆˆ‰Š‹‹‹‰†††ƒ„…………ƒƒ‚ƒ…„†ˆˆˆˆ‰Š‰Š‹‹‹Šˆ‰‰ˆ‡ƒ‚€‚‚ƒƒƒƒ‚ƒƒ‚€}zw~|†‰‰‰‹‹‹‹ˆ…„‚„†ˆ‡†ƒ‚ƒŒ‘““”•–••–––“‰‰‰‰‰ˆ…ƒ‚€‚‚ƒƒƒ{}pz}}‚‡‰ˆŠ‹‹‹‹‡„‚„…„„€€ƒŽŽŽ‹‰‰‰‹‹‰ˆ‰‰ˆˆ‡„‚ƒ‚xuux{xhm|}z~ƒˆ‰‰ŠŠ‹‹‰…‚‚‚†Š‚~|{‚‹Œƒ{|{ŠŠ‰‰‰ˆ‰‰‡„ƒ€€‚€wrqrrsjiq|}~…ˆ‰ŠŠ‹‹Š†‚ƒ‚‚‚‚‚‚‰‰zy{„ŠŒ„yzz€ˆŠˆ‰‰‰ˆˆ‰‰…ƒ‚€€vqrrtykjkx€~}ˆŠŠŠŠŠ‹ˆ‚‚‚‚‚‚ƒƒ„„Šˆ‡ˆ‡‡ŠŠŠ‰…‡‰‰ˆ‹ˆˆ‰‰ˆˆ‰‰‰‡„‚‚xrssynmnt€}}„‰Š‰ŠŠŒŠ‚ƒ„ƒ‚‚‚ƒ„…‰…ˆ‹ŠŠ‹Š‹Œ‹†…‰‰ŠŠˆ‰‰ˆˆˆˆ‰‰‡ƒ‚‚}yyw|€omjnx~|€‡ŠŠŠŠŠŠƒƒ„„ƒƒƒ„†ˆ‰„†‡‡‡ˆ‰Š‰…|}††‡‰‡ˆˆˆ‰ˆˆ‰‰ˆ‡„ƒ‚€€~€klhikz}}ƒˆ‰ŠŠ‰‡ƒ‚‚€€…†ˆ‹†††…†……†…„†‡ŠŒ…„†ˆ‰‰ˆˆ‰‰‰‡„ƒ€€nniges€~|~…‰ŠŠŠˆ‡……„„„„„‚‚ˆ‘‘‘‘‘‘’’’”•–“†…‡ˆ‰ˆˆˆˆ‰‰‹‰ƒ‚„ƒ„ljhgfl{~}€‡ŠŠŠ‰‰Š‰‰‡…†‡†‚ˆ’–•””•”””•••”””•‘‡ˆˆ†„†ˆ‰ˆˆ‰Œ‹„€€ƒ‡‡‡fgghhiq~€~}ƒŠŠŠŠŠ‹‹Š‰‡†‡‡ƒ‰’‘‘‘‘‘‘‘‘‘Žˆˆˆˆˆ‡…†‡‰ˆˆˆˆ‡…€‚‚‚ƒihgfghhu€}ˆŠŠŠŠ‹‹‹‹‰‡‡†„Œˆ…ŽŽŽŽŽŽˆ€ˆ‰‰‰ˆˆˆˆˆˆˆ‡……‚€~jhgdgjhs€~~„Š‹ŠŠ‹‹‹‹Šˆ‡†…Šƒ{}†ŒŠŠ‰‰‰‰ŒŒ‰…‰ŒŒŒŒŒ‹Œ‹ˆ‰ˆˆ†„„„ƒ€ihgfikin}}€ˆŒŠŠŠ‹‹‹Š‡†„†ƒ}ƒ‡†…„„„‡Ž’’’““”””““””’‹‰‰ˆˆ‡‡‡†„ƒjjjjiihlt€~‚‹Œ‹ŠŠŠ‹‹‹‰†ƒ……„‚‚‚ƒ„Š’”’ŽŽŒ‹ŒŒŒŽ‹ˆ‰ˆˆˆˆˆ‡ˆ†mkijokhjq}‚‡ŠŠ‰ŠŠ‹Œ‹‹ˆ„„………‚ƒƒƒ‰ŒŠŠŠ‰‰‰ŠŠŠŠŠ‹ŠŠ‰‰‰‰‰ˆ‰ˆ‰‰lmnoqpmpt|€~}~‰Š‰‰Š‹Œ‹Š‰„‚ƒ„„‚‚ƒ‚„‰‰Š‰‰Š‰‡‰‹‹‹ŠŠ‹Š‰‰ˆ‰‰‰‰‰‰‰‰zzzzzzzz{zz{{zzzyyyyyyyyyyyz|€ƒƒƒ„„††‡‡†††ˆ††ˆ‡†††††……‡†„ƒ‚ƒ‚‚yzzzyzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†‡†………………††…†‡†ƒ‚‚zzzzyzzzzzzyyyyyyyyyyyyz{zzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzzzzzzzzzyyzzzzzz{z{{{{z{~€‚…„„„……„ƒ„†‡‡…„ƒƒƒ„„…ˆ‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{|}~}}||~€‚„„„„………„…‡‡‡……„„ƒ„…†‡‡†…„‚‚‚€€{ƒ~|}}{zyzyzzzzyzz{}}~~}ƒ‚‚„„ƒ„……‡††††…………„„…†‡‡††ƒƒ‚‚‚€€‚~€€~|{zzzz|zyz{|}€€€€„…ƒ„ƒ„…„„„„…‡‡†„…†………„…†‡††‡„ƒ‚‚‚‚~}|€~}{{zzz}{{}ƒƒ‚€‚ƒ……„…„„……„„ƒ„†‡†„………„………†††……„ƒvy}}€€€~}|{}€…†……„„ƒƒ„‚„…††……………„„ƒ„…†……„„„„„„„…†‡†…„ƒ‚‚‚‚uy€}‚ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††ˆ†…ƒ‚‚€‚‚z{}{}„‚‚‚‚„„††‡‡‡†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒzyzzz€€€~€†‡‡…†††………†ˆˆ‡ˆˆ†…†……„………††……„„„ƒƒ…†††……„‚€€‚ƒ€†ƒ€‚~|zxy|}…ˆ‡††…††††‡ˆˆˆˆˆ†„„„„„„„††‡††„„„„ƒ…‡ˆ‡„‚‚‚‚‚€ƒ„„„†Šˆƒ~~~€~ƒ†‡‡††…‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡‡‡…„„„„„†ˆ†‡ƒ€‚‚‚€‚„…‚ƒ…‰…ƒ€€€€€€†‡‡‡‡††ˆ‡ˆŠ‡†‡‡…„„„„„††‡‡‡†„„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ€‚„„ˆˆˆ†‚‚ƒƒ‚ƒ‡‡‡‡‡†‡†‡†‡††‡‡…ƒ„„„„…‡†‡†…„„ƒ„……ˆ‡…‚€€ƒƒƒ€ƒƒ„…„‚‚‚ƒ‚€‚†‡‡†„‚‚€€€€€€€ƒ…„……„„…††‡‡…„ƒ„„‚‚‚||~~ƒ‚€€‚ƒ„ƒ‚€€‚ƒƒƒ„ƒ‚ƒ†‡†}|||~€~}|}‚„ƒƒƒƒ…ˆ†††}}||z{{{{{}~~~~€|~€€€€‚‚‚ƒ„ƒ„€|||}€~||}}~‚€€€„…„„…€€~~~€€€€€~~}}}}}|||}~~||{{{|zx|~|}€€€€€€€€€€ƒŠ„ƒ„ƒ‚‚‚‚‚‚…ˆˆ|~}|||}}}|{||~|}zyzyx€}|€€€€€~€ƒ„‰†‚‚€–¤¡¢||}~}}|}}}}||}~||ƒƒyyxwy‚„}{€€€€€€€~€ƒƒ‚‚‚‚€‡‡‚|}{||}~€~~~}}}}}~~{{€‚zzzy{…†||}€€€€€€€~€‚ƒ‚‡ˆŠ{|}}}}}}}€€}}}}}~{|~|{}}~„„}{}€€€‚‚€~‚…„‹}z~€~}|}}~€€~~}€}}}}}}~}€€}|{~€€‚‚‚€…—”…Šzyƒ}}}}~€€€~}~~{{|}||}}}}~}}{z}~~~~€€‚‚‚‚€~Œ¹¸•zy}ƒ€}}}}~~~~{~~}~}}~~~}}~}~„€}~~~~~€€€€‚‚‚ƒœ—˜Š†ˆ‹„ƒ€~}}}}~€€~~|…‚~~~}€€~~~~…‚~~}~~€‚‚“¥«¯ª¦‡„‚€~}}||}€~‚‡ƒ€€‚‚€€€ƒ‚~}}}}~€‚‚‚¡ÃÄÇÇÁ“‰‚€~}}|}~€€€„ƒ‚„ƒ€„„€€~~}~~~€€‚‚‡›³ÈÍÔÖƒƒƒ‚€~}}}|~€€€€‚„„~~€||{{|{{}}~~~~‚‚‚€¡€ˆ” ¤ƒ„‚ƒ‚‚€~~}}}}€€€€}}€€€}yyxvwvvuuvvy}~}}}~€Ž» ‡€~„‚‚‚‚‚€~}}}}}}€€€€~…„…‡‡ƒ{z|||}€|}}}||~~}}~}~‚‚€ŒÀÍŲ¤·{}‚‹‚‚€~}}}|}~€‚ƒƒƒ‡ˆˆ‰‰‚||}~~}~}}}}~|}~}}}}~~€‚ŠÀÏÐÏÊÇ}{ˆ‡‚ƒ€~}}}|}~€‚‚‚‚ƒƒ…ƒƒ||~~|yz{~~{|~}~~~~~~‚‚€†¼ÎÎÍÁª||€‚ƒƒƒ€~}~}|}~€€€€€€€}|}€{yyy}€~{|€~~~}}~~~‚‚¸ÏÏÏ®‚~‚ƒ‚‚ƒ}}}}|~€€€€€€€€€~}|{|}{{zyy}|{}~€~~}}~}~€€¤½¦·„€|€‚‚‚‚‚~~}}|~€€€€}||||||}}|{~ƒƒ||}}~~~~}}}~€„‰„Š‚€‚~z|}€‚€~~~~~€€}|}|}}}~€~~}{~}~~~}~€‚‚~zyz~ƒ”ˆ‚€~~~}~€€€€€€}yyxzyyyyyxxxwwvuw€€€€~}~~~}}}€€€€€€~yxy}„‰…‚~~~~}}~~€€€}xvwvvwwwwvvwwwvvx€€~}~~}}|€~~~€~zxwz‚‚‚‚~~~}}||~€€€|zzywxxxxyxxxxxy~~~€~~~~~€‚€€~zxwxyƒ‚‚‚€~}}}}|||~€€~y}‚€zxyyyzzyyzz|}}~~~€~€€‚‚‚‚ƒ~yxyzzƒ‚‚‚€~}}}}|||}€€~|…„~{||}|||{{zz|zyyyxxy{{}€‚‚ƒ‚~{x{|{ƒ‚‚}}}}|||}~€€ƒ…ƒ‚~€€~zywvvwxxwwvwxy{~~~~€€€€}{{}~~€‚‚‚}}}}}|||}€€€ƒ‚„„€}yzz{z|}}|||||{{|~~~€ƒ~€„„‚‚‚„ƒ‚€~~}}}||}~€€€}~€‚ƒ…‡…}|||||}}}||{|{z{|~ˆˆ‡ˆ‡…„…†„‚˜Ž~~~}}}||}€€„ƒ‚€}|||{{{||{zz{z{{|}~~~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍËËËËËÌÌËËËËËËËËËÌÌÍÌÌǽ´¯¢}qgjtkjgkiqbfaV\`\[a[T[`]]UPORYX_e_dRTUVUWTSYTPV^^[XTMD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÎÆ´œ¥•t€yr]^_o|n[]lkgZXXZ^YUTO]f_[RPOPXV\fhfOU\_XPPLQRX^aZUOLI@?75421/75ÍÍÎÎÎÎÎÍÎÎÎÍÎÍÌÆÀÿÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÁ£Šˆpllpkjnrsxy^`^abZYZZZ\RSV\aXYXVSQTSV[ebPQXZTLNMRQ\b__YPGA?<851220.2ÍÍÍÎÎÎÎÍÎÍÌÌÌÌÍÈÀÅÁÉÌËÊÊÊÊÊÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’xlqvws~€ed_[fWaccZZWU^YSXedQORVWRMLWOYeQNSXZPMROPX`]`USTOH?<84321--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÉ¿ÁÀËÎÎÎÎÍÍÌÌÌËËÊÊÊËÉÉÊÉÉÉÉÉÉÉÊÉÈÈÆÈÉÉÊËËËͼ’Ž„|q`k|lbg_^`Vh_VWTSM[a_`pm\QOT[SMJURSXSYYXUNOQUZ_WVYPOXNI>?A;520,,ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÉÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÌÌÌËÊÊËËËËÊÊÆÉÊÊËËËÇÆâˆxylh^jomb_`^W\_UQZRRQZfeffbeUQUXSQSTRRVRY\`URTQYZ\XWSSOPQI>?>6551.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎŻżÆÏÍÎÎÎÎÍÎÎÍÍÍÍÌÌÍÌÌÌËËÈÊÌÍÍÌËÈÅÊÊÊÌÎÌÇÃÁ²™zxoeUSb^X[`a^b]WTPKKTX^ach^ZSOOPNKSRSQ^LTTYZVYY^Z[URPSNQKFC>A<530/3ÎÍÍÎÎÍÎÍÎÎÎÍÍÍÍÅ¿ÌÂÅÎÍÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÉÉÉÌÈÄÁÃÁÆÆÈËÌÊ¿¼«Ž~voVSRQNWWlpfb`ZWLD@LYPY``]VSQKMKHKIPLYNQUUVVYZZ[]XRNRMUOCHA?>3/.-,ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÈÇÅÉ¿½¶Á½Á¾ÃÊÈÄ»®£¥‹|tr]UVXWhjZnfe_UTQRWUcTNZ\RNVWQJJFNOQYWRPXYUSWWUNSYRQWQWV?57220.---ÎÍÑ×ÔÏËÌÌÉÈÉÊÊÌÄ¿ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÃÂÁ½Â»¹©¿·À¸¼Æ½¼´¤ˆ„|nˆxb[^[\dkVm]T[SMST\ZUMPRWQPRUWKKKSRRXf\NUWUVTUYQP[XXZZKA<6540.-,,-ÎÛêðîäÒÊȽ½ÀÅȾÆÁ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁ¹²¼¹°¡º±½¶²Á´¹²˜…zxlgaab`T[a[TdZSZ]OSRV[TUSNMMKKLRXUNQOQQcYNY[WQLNXWUTWQLJ@7=<:61.-,,.ÛîÔµÄæè˾¶°°¶¸¿ÁÂÉÆÂÉËËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ°ª§«°¤Ÿª¬´°±¸«ªž‚wxsjkQ_dZXcWQ[h]Y^XKPQS[_aTPLLKMQLTWKNTMR\\Y`[SOKOXUUVOPWIBC=;;951//-,îÇxhn¦ê×´®¬­³²¾ÃÅËÈÃÊÍÌÌÌËÊÆÊËËËÊÉÈÅÁ¾½°¡™™¤¤˜˜£¯ª­¬¥¢™‚slifim[UWT`_VV[YY_WRVTSTT^WQSONSUQRRWROWPQX^X]WZ[W]^RSYVRP>>E:8777520/.Ù¦‘’Ó궬ª®±³ÁÀÅÉÇÁÊÍÍÍËÊÆ¿ÈËËÊÊƾ¶¯±²¶ªŸ”Œ˜™˜”¦µ­« ”—‘xhddUf_QKHOW_XRR`g]_n]^c\TVNPNOOQVRTQTYRZNN]\\eZb]he_RPMKJL@=?8854453./2{yx{|Œ¨°«©¯®´¼¶ÁÇƾÇËËËÊÇ¿¶ÄËËÆø§žšš¡ —š•‡’—’’œ¤¨œ…tccgZ\SQTRPX^_[hm]OS`NWon[QNJMLJFJMMONLPWTW]TRWW`g[ZVOJMFFDCH@7543343/15SS`’ ž”€§§¯°µµ±½Èƶ¿ÉÇÉÊȾ²ÃÊɾ²¥˜œž•–’ˆ‹‹“’Šˆ•Žˆ‡‰ƒ|ttoaYSX[YOW[UU\h\RQ]fg`^[RRLJJGIGGEFNLT][VZVN\iffV]SMUSIJ@?B9753313438=WU•ÓãäÑ”|Ëͳ­­ªª¶Ã¸¨®µ°¸¸Ç¼¯½Ä¹«ž—› ““„‚€ˆ‰€}ˆ‰‹„‚€‚€}xvn`VUST]XTYTSYgQON]dcRRZXSLKLJJHEKJIRV[aRYQPkqcd^a\U_XUSH=::86432264:?Œ€£À¬¯¨sxÙìÐ˦Ÿ ¦¦œŸž¡¡Ÿ¨¶¬¤¢©›š˜Ÿ—™‘•Œ„ƒ…€„w‡‡„||{{tppiaVPZfZQURU^ZNX[\]XQRQRSMKPQLNRQFBJNT^QQM]``^Yei\QT^ZESF=;<9555488:2H}[YeS>]|¹ÄâĸÇƼ¿µººÈ姞ž•œ•›•Ž‡ŠŠŠ†„€yƒ}{uvwqqljeW\cabXRRYV\]aWS\SX^ZVOINLNIBDFA?FEDBRHUW[W_a`\RcbTVWQLGDF966767;=FE8:DPlrI;I_Âo‹âåæåèèçäáæêîá—”‰‹“’Œ‹Š…ŽˆŒŠ‚ƒ{}‰ywuqsqnh`V[b`YQVPP[dbcTMRRf[aVLQROJHCISICJKLFPR\]XKXdcdT_cWPV]PD@@<:8779;?JAZY`qrneZV]¡‹¯íìçáÜØÙÖÖÖ×ØÕÏ­Š„‡‹Š€ƒˆ‚—‡‡z|ƒ‡|‰y{vuttvraUQYX[VXVNYZ[^fgjmokR[[SMQQGEEPUPPNOOIJVZ][NM]Y_]\caW_S@:9<<;:::;=<<;cbcdcdehlmzÝðëØ“xmhhdccaalw“}†‰†{€…‚‹—†‚ˆ{‚ˆ‰†}†|xuvxtum^X]_UVSSV_WOM_pq`Z]dPSMMRRMMJB?LTRRSUP]dcdZSXX][R[UTSF<98;:79:98===763b€97888;BDCEn•g_[T„äÌñ¸€Ê¼hMBCHCCCH;55;5^ŸÀ²~x|y|~z}}{‚}xwolvxzqgabSQSD?KVWUXZPLJUX[[UZd^SMLIKOMMJGJNVWY^`Y]WUQWOJLHA<8676S€=79:<>=<:@KNV`XQXZPW[NLG;:997773ŠáJ26::L[jl^KPePF@:;97;;:9>7xÙS4=;=BIJDW¸·¶½²|x{TBDc·ÜßêêëãŽÕÔ¸¿ßëäßØÑyƒy}|ytq{yx}zxyy}wyxofhiifa\\X]YNNVSMOT][XX\]\SUMG@@FIB=CRQJW^^lŽjQUWK@;666;@BB>@;zèa8>8MTMfjky‡f\]QIB>::>FMIBIJY`k•œŠ‹‘†tZKKDPžååéêåëæáèçÝàëçêççâquxywzzguywvxuoryvqnmgcc`^j^RU]WX[SPSPSOZ_Zd]TUQNHGHCGKFEHONUijjrqbbkiXQMLOUTVSIJP9€óm97:V^_khhbj]\[XTC;<8E‡âíìììëìëëëìëêéëìî݉xyyzzvxxu…’–›ŸŸœ¤¦¥¢¡Ÿ™’‡{yhTNVZ_XWSMNWWZb^_WOOUQLE@>IV`W\fjmaYWX_aejmlof^jxvplgjjY‹íƒ][buvprjePOPOQT\[B.2@tÚîîñîëïððñðïëìñîïÔ‚xxy{zŒ˜¤­®¬¥Ÿ˜“‹ˆ‡‡†Š”™ž¤¢—iUXXXRONOMS[XRWXTMRWSPW`]q‚vclwiWTW\]^agfm~„‚‚ƒ|€…‰ˆŠ”¨“’Š„{|rrpgzzzzz{~X*0>iÏäÅ¢Í챤¦¨©²éÔ¢ÆàÌzzzyuŠ©‘ˆ€vla[Z]ez…r`^WUTVY\[kwZ[UVTZa`SS_\SOOVa[X]i{‚†Š‚bbqhQPY[[Z]eikv}zxzrs}ŠŽˆ†Œ†‚}nqpkngwvvwwy{}jSXbs¡©l¼†xv|’¿›y¥¯¤vy{yu}SOMMNSYUY_“tVSShfe]XI>[sror{†Œ†Š“”’˜µ‡‚‚{vz{kblmc[^`_][_feiqdc`ccu{}‚„ƒƒ‹„~zqchpmkfpooopqruvwwyzx{}€~}€€€{z{†Ž…’‹uv„OCVany‚ƒI75/+155BbfgiieI>kwwwusrstttuwx}‚ ®°­ž€unkklmmiea]]]ZX^^YZ\]]`fidda`clkfigd_htmsupnlkklmpqrrrrsstvy|~~}|{ywusx„‡šŸx=Q—Ÿ¤©ª„mR>:?HKHE=568?:BJJJJKJIIJH\€dC4~¨’Fglifdb``_^^`bfkoqstuvtpkhfimnmljit“¸Ë¹”xjgjjiigec_YVSSPdŒJMSSWZ_tuuuttpkgeefghikllllmmllllmnorsstrƒYw\/34n“eJ\B>==CJIMINojA59E[Xjlljgdaa``_`abfknqqstuusmhgikmonljo†¦½Ã¬ulijjihfb_[VRttN}…Š•™prttuutqmhfdcdfhijjijklkllkklnpqrp‚PŠL36=s“‡T=5433:GEIKfy„M34/xzKggjlljgca``aa__`eiloqsuvutpkgfilnmmjhpˆ­ÅÄ©†pjjkkhedb[`n¥³³´²±lnpqssrqokfb``acdeffgijjklkjjjkmqmzSA?DG‡˜©fE>3213548@p£‘J620Y“Hcedfknnjfc``a`^]]`dhknprstrsqlfdgjkllifgwžÆ϶‘tnkigfdjWb`‹{m_Ujlnopqqqqpkebaaaacddfhiijkkjihikmkt_‰DKLEbvVIH>9:;8779c™€@;62ET_ic_bhknnkgbbbba_]]_dhlnprrstsqkdceikkkjgdsÅлŽsjkkf|˜SWœVXlG<B?@HIFCBB98;5BRLIL=686@=3027Ujeccbdhllhdaabaa^]^`dhkmopqsssqmgeegijlkieg{ŸÅ aO>;;8?ep^`cfhkmopqqqpomidb`__`adfggigA00.2HK9854579853455556787546789:MÈÄuZdffhjlnprpopolgda___`accegfrµ‚BG7876666555555435544444445538EIH]ihiijjkkjigc``aceecba_]^`_^\Z[]_cgjklnnnnlfbZINOL]aW@PL555=B¼ÌµaZacfijlmrqopqolgc`````abdfei£|RJG4165444444338A55443333341Ty[MThhiiiijjjkjifca`bghgedaaaaa`_]]^aehjmnopqonlfZVedD\„xb]VICMQª¿Î¦\]begijlnooqqonlhc``_`acddei„|Xv˜Œ\02222323339C4543323431X« ¥{JPgfhhhijkkkklkifa`cfhjhgdbaaaa`^]^`bdgjmoqrppokcš¶{wnpmhhcRRdw²ÂÏ”X^cefijlmnpooonlgba```abdelkS`›Ÿ°°V2112212345/5532100//Nš¥”€6Zveghhiiijklkkkjgcaadgjkifdb``___^]^`behknooqpomŠ­zobfbYXYWWlNŒ»ÆÊyXabfikklnoooonmkgc``__`bdbi0I•ž±Ÿ¦\28656305A`?78<>@AZ[´Ö´Å¶h.Ehfghgihhijjjjjkjhdaaadgiihea_]^^^^]\^`bfikmooqgy¨{iUVYWUUUV\Zv«¿Ì¸gZbfhjjlmoonnomlkeb____`bT]25‚ûÇîÊ…}RXajRbÈZMrre\\›²ïðØدL-;aghfffhiiiiijjjjjigdb`adhihgc`^]]^][\\^_cfilmo]g—jbUTUVTUUUUUUt¶Âͧ]^dfgiklnnnoommmjda`__^aR?0/VºÔàëó½™bZ\ee“Ô‰Zl\b`p¯Îçг°s106af¤Å¿„fhhgghijjjjjihfb`_behjifb^]\\\\[[[\_cfimWXcZQNTWWWXXXPJL€¸ÀÊX]acfijklmnnmmmlhda_^^`X3/.4iŒ…ñ­ƒbjeWT¼ü´Unoxq†¨yya=83/06d`|ž¡‰ddeffghhhiijiijgda_`ceiigd_\\\[[[[ZZ\_chSVqc[ozd[_\[]^]RLPŽ¹ÃÄvT]_aeghjkmmmmllkhc``_`Q1-,./02FH?kdRdmkq£Ù¦|mh`XUQ8:930025@ihnlkl‰€mmjhgefhhiiijihdba_`cfghd`^][[\\[[[[]`KQ[_J“À®‘¨¾fKNeXOJY¤¾É¼jZ_aeghhjlmnnmmljgb`_`N.,-1369=DLU`kx¡¯¿Ö̼´¢•wd]Y_kw—œ£¨¨¬¯®­µ°ªª§£šŠpfghhhiiihfda__adhihea]\\\\\\[[ZFKNVEÅÒÞÙôÉ]DkaPMIm´¿Ï¬`\adfghjklmnnmlkjfb__O--.478:>DJVkŽÜçéêíîíííðë‘z™­®«§¢žš˜”’‘‘‘“˜—˜mdggggiiiigdb`_adgjjhd`^\[\]^][CDDNJ\Ò×ÓÔ×ï¾SkoeSLL‚»ÂÑ™Z_cefhijklmnnllkie`_S/-..38=FTe{¨–ßäêììëëììî冨š…ˆytrnkihecedddcccccefw€ffffghhhjihfc`^_cgiijgc^\[\]^^D>BJONit›±®äö…ilu]OLS—¾É̓ZadfhhiklmnmmlkjhbaW2-..16:?Qe{£›Úñññòòòòñó䜘f^^]^^__`djv}tronlkiiiig_ureffghgffghhfc`__adhjiiea^\[\^E>AHLPPT[c‚ÑÂ…qokeXOKaªÁÍÇw]ceghhillmmmmkkjfbZ2...36ChO>ALO”­¤ œ–Ž†{z©€Zhwz|zyz‡‡—¨€x…}~~}~|zyitheeffffeefghgdb_^_bgjjjgd`]\]E=@GKOQVXY\edfpjlmeSUh„ºÆÔ½k^cdghhijllmmmkkie[43..9Fí F@B\VAGORSVZ\[v¡`k}‹–œ¡¢¦ŠO673=¸¿Á»º»¶Ÿ|[`mddeeeeeefhghhfc`^^`eikjigd`^G>=FJNQTWY`abckknlhYNOPŠÂÇÔª^^`bdegijjlmmkkkh]39..1>Ûžt{‰žŸ—œ¤ª®²²¨¤¨…N{¬ÓÕÙÜÞàæœX\POLxàâàÙÖÝáÓhrMkddddeddeegggggdb_^^`dikkkifcK>;FHLPSUXcpx~nqpooeSLKT¡ÄËÓŽY_bcefhhhjklkkkj`1;/..1@Z\B=FNHCDDDFFE;W•oYj¶âÜÜÚÙÚáŒWegcLj×ÞÛ×Ò×ÞÕUqTahbbcddbcdeefegfda_^\]bhjkjjiP;9GHLORTXbnw{nsqstxhTOIi»ÇÑÆl]abeffghijkkkkka/;0-,.13;==?C<<@<BNÌŠPQ?224775BK9iV]a]^_aaababccbccddca`^\Z\bflR23GLPQPTZcd_YkggfqmhcRLML‚¾ÄÒµa^bbbcdfghiidYO,9609P<3.-,+***))+)+)I rQlI>8689887434l986578;<8?G9UdSbmrtb`aaabbbcccdddcba^\[\`hQ,4FKOQ^maa]M9mlffnmqiSLMKU£ÂÇÕ›_^abcdffedb_WO/956/?GA=674*****+.14i _WbA6657;7652223744646Xus:476@oMbµââ°f`aabbbccddddddc`^][\bN'3EEFT±²t\MJLiqjgnprqf[OLKr¶ÀÎÌsZacccdeeeee\L3824010/.**))***)+/,MŽT_UEG<@SZNAA>43333457@€‡@?;56jNZy··²u]`aabbbcdedddddba_]\^K%1D?>]þjZ\_HswmkqpnlnpYLKNŽÀÄÕ²``bccdeeecc_U?2-./,%#$$&$%&&%%.43‡~LdMLRKJLMKJMQG513345GTg†jLNQB6ZOX_[hfda`abbbbccddddddcca_]^J#/@=>Jkp_agdSpnjgmmhfijdLJJ[ªÀÉÖŒ[abbcefedb_[R@:::<=>?>>>?>>FQWalqtolmehknspmiQIKLx½ÀÐÅl^bbcefffdb^WSPONOPQRPPQRRSS[uŽ‹wlN8AAAHUYVIG?IXIE98BOQOMHA<98=;9BWeIhOUa``abbbbbccccddddbb`L#-8546:?DLMPVgcihfiqsorr_LJZf—¿ÄÕ­bbccfggfeeb]\ZXWXXXVUVVVXZ[Ri‚™„tmU@>@DOTLGCDCQOHFGKORUXWROQTUWY\^_oZ`OU^`^`_aaccbbcccccdc_YSB#-61L7(''&%##hllimmklnspkTILLW¤ÀÇÕ‘_bdffefffeca``___][ZXYY[_cZOQrrxoe]\[YXWYZZZ[ZZ[[[\[Z[[[[[[Z[[[\^]dR@Zd]ŒÄÇ°labbbbbcccab]NJI?",64][=.,.30.xsspsojikjgjcKJJIn¹½ÍËu\bcddefffeccccbbb_][ZZ[\^_]\HXjidZZZYXXYYYYYYYYYXXYXXXXXWXYYYYYZ[_AEbc`pÃßÛ¡^abbbcccb^[XSMKA!,4/)*4977776x}pjjiehiniaOJMKL½ÀÔ­[\`bccdeefeeeeeddb_][Z[[\^_cP@IhdVXXWWWWXXXWVVWWWXWVWWWWWWWWXXXYW[IQecb`fnih``aaabbbbbba`YMB&,2.)*22110..orqtvlmflmnkjf[MKI`µ¾ÉÓ~W^`bcdeeffffffedda^[[[\\^^cZETrfRWWWWVVWWWVVVWWWWVVVVVVVWWWWWUUVUS^dccba`_]ljaaaaaaa```_\TD./.-,/3&%%$##mvssrlnhgkklnsiQJJL”ÃÄÕ¸c`cdegffgggfffeddc`]\[[\]^g`}wpkTYXUVVVWWWWWWWXWWWWVWWWWXXXWQZm{_\kaccbbbbkƒwcbbaaa`___][WQC3+**,.()(*,.msmnnkkjgjillmiSJJJh»ÅÍÖˆ]cdfgffgggggeffddb`][[\\_aeŽ{gvyvl[VWWXYYYYYYYYYYYXYYYXYYYV]Ž¦¡oXhbcbbbbbaZ[```aaa`__^]\ZWTJBA@@@CFINUZljmtrmjlnmfgihiUJKKM”ÆÅÓ¹a]^addeeffghfffddca^]\[\^Xaˆ‚r}¤®±s^Z[[[[\\\[[\\\]]]]]]]]\]ŽÉÒä—OO\```___]^]^abb`aa`___]\ZVUQOPOOOPRTX`jmoqmlnprpmhkkfSLKLJd¸ÆÌÖ^cdfffggfghgfffedb`^\[\^Pb€tq‘âàؼu\`^_`aaccdffedeefffb`\yÎæÚéÁ`amxyyxxwvro£À«qmaa````_^\ZXWVVVWWUTTW\lklnsusprkilljodOJKKMÇÉÕÂkcefghhgfghggfffeda_]\\]Mcc^SãÝ×æ½igjmorstwy~€xxxywvy|„´áÍÁÿ²³¶¶µµ¶¶¶¶µ±ºÅ¶‚vg_``a```_][ZZ[[Z[ZXWWXjrurpsqkoijieirbKKKLK_¶ÉÌÕš`eefghgggggggffefca^][\JdURE„íβêé‚jtttttuw{€„‘›¦°´´¬¦¥¤¡ŸŸœšš™™˜˜˜™š›£ fZa_```a`__^]]]]^]^][YYousnhgjllgjlvste_YLLMO…ÈÇÐÊvbefghgggfggggfffeb_^\\J]PJCSƒ†çå~r‡Ž•œ£ª±¸ÁÂÄŸ›‡«¦ ›–’ŽŒˆ„~ywvqooonmmmmosxogu^``aa`___^^_^_^^^^][gghf`a`hgpzxrrnlndRKMRZ°ÉÇÖ«defhihhgffggggffeca_]]MLHICHKQZ™ xŸÅ½¸·¸»¾»ÍÛ·«²‰mˆ~tke`ZTQNMKJIJIIJIIIIILMMQZrdaa`aa___^^^^^^^^^^]sopomwprirqtts|€l]SJJLK{ÅÃÍÓ‡befffffefggggfeeeb_^]SFCHBGMRX]h’Ú°D==:9;8—í‰4uƒaaWNJHGHIJLMNNhaNMMLKIHHGFDBBBPaaaaaa`___^^^^^^^___„{‚xtzwigoxtwxpe\RJJKJR ÆÅÖ½f`bbdddefgggfffffda_^UE@GCHLPV^m—߈2=>;778867777888898Qaaaaa```________```†}u~xrpilsmhfoibccTJKJ]f~»ÃÊØ“]aaccefeffffffffdb`_U??GBHPW\co‘×>CADEGG}×…nzD<;;:87776677555588:9766666666;;B\babbaab```````_`aa~|xwxsnpa`hqyrijeYKKJU[Y˜ÃÁÕÃh^accdddeefffeefeca`T8=HBDLT\esÏ«Ys ¨¯·ÂÒàÂ]:98::<=>@BC?;KJ<7<:::755545655:A;Peiedccca```aaa``aa†‡†††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxywyzzy{{zwuyyz{zzyz{~€€€†††…†††††…†††…††††††‡††††††…„|xuttvuvxxxywz{zywtwvxzzxwy{~€€€……………†††††…†……††††††……††……………‚€€{uwwxwwyzxxwz{zyxvvvxyyxxyz}~€€…………††……††…††……………………„……„………„ƒ€~zyyxwy|{yxwz{{{ywvvxyyyzzz~~†„„……„……†……††……………………„ƒƒƒ„„„ƒ€~|yxwyz{zyzz{{{zzvvxyxyzzz|~€„‚‚ƒ„ƒƒ…………†……………………„‚‚‚‚‚~|zywy{{zz{|}{zyyuvxz{zzx{~€€‚„†‡ƒ‚‚ƒ„……………„††…„„…‚€€€€€€}~~}{zzwwwyzz|}|{zzxwwwxxzzy{}~€€€‰ˆ†…‚‚ƒ„…††……ƒ„„„‚~~~€~}{|}|zyxwxwvy{}}||{yxyxwuuxyy|}~€€ˆƒ€„ƒ€‚ƒ„…†‡„‚ƒ}zz{{{|}}}~{{z{|zzyxxzxx{z||}}{zwyyvuuwwx|€€€ˆ…ƒ‡„~~~€‚‚~|ywwwwx{{y|{yyxy{yzzxxyyz{{|}~}|zzyxwvuvuw{~€€~Œ‰ŒŠ~€€}zyyyxwvwzzxzyxxxyzz{{yuwxwz{|}~}|zzywywvvvw|‘‘‘†‚‡‡‡ˆ‡†}xzzwvwwxyuuvvuwz{|zzyuuvwy{{}~}{yxwwyxwxy|~€~~‡‡‡ƒ„†€…ˆˆ‰ˆ‰‰yxxwwwvvursuuuw{||zzx{{zyy{|~~}{yxwwxwwz|ˆ€}|€€~ƒ„†……„„…ƒ|uvuuvuttstutuwzyyyxz||z{z{}~~~}zxxyyz{}€€ˆ€€~}{‚‚‚‚‚‚{svuuuutsttuuuwxvxyy{zyyy{}}zvwxx{~€€}}€~|x{|~€‚~€|ututtuutuuuxxwxyyyzzzxxxz}~~}wsuvw{~}|~}~€}wr||}€‚€~€€{uusuwz}~}~~€|xyxyz{yxxy{|}zzxuqpqqnqrqqrvzzwqoo}}}€€€€ztu~ŠŽ‘‘Ž‘‘’†yz}||z{{zxrninnstsqnigggffghfdiklƒƒƒ„……„„†„„ƒƒƒƒ€}†Š‡‡ˆˆ‰ˆˆ‰‹‹‚‚‚‚‚‚„ƒ}xvvxyzyyyxxxxuqrrpoppomˆ‡‡ˆ‰‰ˆˆ‰‰‰‰‰‰ˆ‡ˆ†‡…~}€ƒ„…‡‡‡ˆ‰…„„ƒ‚‚ƒ„……†…†ƒ€€€€€‚‚„ƒ„„„…„ƒ|‰‰ˆˆ‡ˆ‰ŠŠŠŠŠŠŠˆˆ‰‡†‡ƒƒ…†„…‡ƒ‚ˆ‡…„……ƒƒ‚‚‚‚ƒ„†‡‡†…‚€€‚ƒƒƒ„„„†Š‹‹‰‰‰ˆ‡†ˆŠ‰ŠŠŠŠŠ‰‰Š‡†Š‡„‰Œˆ‰ˆ‚~‡‡„„ƒ„ƒƒƒƒ€€ƒ†‰‰‡…ƒ‚€€€€‚ƒƒƒ†…ƒ‚‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠ‰‰‰‰‡†Š†‡‹‹‰‰‚}‡‰„„ƒ‚‚ƒ‚‚‚‚€€€‚…‡ˆ‰ˆ„€€€‚ƒ†„‚„ŠŠ‰‰Š‰‡‡‡‡ˆ‰‰‰‰‰ˆ…„‡‡…‡‰ˆˆ‡€}‡Š†…„„‚€‚€€€€‚„‡‰ˆ†ƒ‚€€€„ˆŠŠ‰ˆŠŠ‰‹‹‰‡‡††ˆ‰‰ˆ……††……†‡‡‡†…„ƒ‡ŠŒ‰„„…„‚€€€‚‚‚‚€€€„†‡‡‡‚…ˆ‹Š„„‰‰Š‹Š‹‰††…†ˆ‰ˆ††ŒŽ‹‹‹‹Š‹Š‹ŒŒŒ‘…†ˆˆ†„ƒ‚‚ƒƒ‚‚€€ƒ…‡€{†ˆŠŠ…€†‡‰ŠŠ‹‹‰‡……†ˆ‰ˆ‰ŽŒ‹‹ŠŠ‰ŠŠŠ‹Œ‡ˆ‰ˆˆˆ†ƒ‚‚ƒ‚‚ƒƒ‚€€‚ƒ€|†ˆ‰ˆ‡}ƒ‡‰‰Š‹‹‰‡†…‡‰‰‰‹…†‰‰‰‰ˆ‡ˆˆ‰‰†~‡‰‡ˆˆ‰‰ˆ‡„ƒ‚‚€‚‚€€€ƒ…†‰‰ˆ‰||†ˆ‰ŠŠ‹‹Š‡…†‡ˆˆ††‡‡‡††††…†‚~…ˆ‡ˆ‰ˆ‰‰‰ˆ†ƒ€€‚‚€€„†„…„„}}~ƒˆ‰‰Š‹‹‹Š†…†‡…„‚‚‚‚ƒ„ƒ‚†‡‡…ˆˆˆ‰‰‰‰ˆ†ƒ€€‚‚‚ƒƒ‚€ƒ†yvtt{~}}„ˆˆŠŠ‹‹‹‰††‡„„„„„ƒ‚ƒƒ…ƒ‚………‡††ˆˆ‡ˆ‰ˆ‰‰‰ˆ‡ƒ‚€‚ƒƒƒƒƒ‚…„|yww~|†‰‰‰Š‹‹‹ˆ……ƒ„†‡‡‡„‚‚ƒƒˆ‹ŽŽ‘‘‘‘Š‰‰‰‰‡…ƒ‚€ƒƒƒƒƒ‚~‚‚€pz}}‚‡‰ˆŠ‹‹‹‹‡…‚ƒ…††…‚€€€‹“•””•””“““““‰ˆ‰‰ˆˆ‡„‚ƒƒ‚|wxz~}hm|}z~ƒˆ‰ŠŠŠ‹‹Š†ƒ‚‚ƒ€€‚ŠŠ‡…ƒ„Š‹ˆ‚ŠŠ‰‰‰ˆ‰‰‡„ƒ€€‚‚|trrusjiq|}~†ˆ‰ŠŠ‹‹‹ˆ€‚‚‚…Šƒzxy~‰ˆ{zyz…‹ˆ‰‰‰‰ˆ‰‰†ƒ‚€€‚{sqrstkjkw€~}ˆŠŠŠŠŠ‹‰‚‚ƒ‚‚‚‚ƒƒƒˆŠ…€~~„‰‹‰~€‚‡Š‰ˆ‰‰ˆˆ‰‰‰‡„‚€‚}sqrt{nnns€}}…‰Š‰ŠŠŒŠƒ‚ƒ‚‚‚‚‚ƒ„ˆ‰‡‹ŠŠ‹‹Š‹Š‰‰Š‰ŠŠˆˆ‰ˆˆˆˆ‰‰‡ƒ‚‚vvuv~omjnx~|€‡ŠŠŠŠ‹‹„€‚…„ƒƒ‚ƒƒ…‰†…‰‰‰‰Š‹ŒŠ„~†‰ˆ‰‡†ˆˆ‰ˆˆ‰‰ˆ‡„‚‚~~}|klhikz}}‚ˆ‰ŠŠ‰ˆ„‚‚‚…‡ˆŠ…„†………†ˆˆ„~{ƒ…†‰‡††ˆ‰‰ˆˆˆ‰‰‡…ƒ€€oniges€~|~…‰ŠŠŠˆ†„ƒ‚ƒ‚‚‚ƒ„†‹‰ˆˆˆˆˆˆ‰‰‰ˆ‹Ž‘‰ƒ…ˆˆˆˆˆˆ‰‰‰‰…‚‚‚ljhgfl{~}€‡ŠŠŠ‰‰‰ˆˆ‡……†„‚…••””•••••––••–——Š…ˆ†„†ˆˆˆ‰‰‹†€…††fgghhip}€}|ƒŠŠŠŠŠŠ‹‹Š‡†‡‡„…Ž”““““’’““““““’‘Š‡ˆˆ…†ˆˆˆˆ‰‰Š‡‚€„……ihgfghhu€}ˆŠŠŠŠ‹Œ‹‹‰‡‡‡„ˆ‹Š…‚‡ˆˆˆ‡‡ˆ‰ˆ‰ˆ‡……ƒjhgdgjhs€~~„Š‹‹Š‹‹‹‹Šˆ‡‡„Š‰‡ŒŒŒŒŒ‹‹Œ‰€~„ˆˆˆˆˆ‡‡ˆˆˆˆ‡†„‚ƒ‚‚ihgfikin}}€ˆŒ‹ŠŠ‹‹‹Š‡‡„‡…}{ˆ‰ˆˆ‡‡‡ˆŠ‹ŠˆŠŒŽŽŽŽŽŠ‰‰‰ˆ‡††…„‚jjjjiihlt€}‚‹Œ‹ŠŠŠ‹‹‹‰‡„……‚€…„ƒƒƒƒ…Œ‘’““”“”“”“’“””‰‰ˆˆˆˆˆ‡ˆ‡mljjokhjr}‚‡ŠŠ‰Š‹‹Œ‹‹ˆ…„………‚ƒ€ƒƒ†“’ŽŒ‹Š‹‹‹‹ŒŒŠ‰‰‰‰ˆ‰ˆ‰‰lmnoqpmpt|€~}~‰Š‰‰ŠŒŒ‹‹‰…‚„…„‚„ƒƒ‚†‹‹Š‰ŠŠ‰‰ŠŠŠ‰Š‹‹Š‰ˆ‰‰‰‰‰‰‰‰zzzzzzzz{zz{{zzzyyyyyyyyyyyz|„ƒƒ„„††‡‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yzzzzzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†ˆ‡………………††…†‡†ƒ‚‚‚zzzzyzzzzzzyyyyyyyyyyyyzzzzzz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzzzzzzzzzyyzzzzzz{z{{{{z{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„†ˆ‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{|}~}}||~€‚„„„„………„…‡‡‡……„„ƒ„…‡‡‡†…„‚‚‚€€{ƒ~|}}{zyzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€‚}€~|{zzyz|zyz{|}€€€€‚„…ƒ„ƒ„…„„„„…‡‡‡„…†………„…†‡††‡„ƒ‚‚‚‚~}{~€}{{zzz}{{}€ƒƒ‚‚‚ƒ……„…„„……„„„…†‡†„………„………†††……„ƒ‚‚uw}}€€~}|{}€…†……„„ƒƒ„‚„…††……………„„ƒ„††……„„„„„„„…†‡†…„ƒ‚‚‚‚wx~~€ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††ˆ†…ƒ‚‚€‚‚zz|{{ƒƒ‚‚‚„„…‡‡‡ˆ†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒ{zyzz€~}~~…‡‡††††………†‡ˆ‡ˆˆ†…†……„…………†……„„„ƒƒ…†††……„‚€€‚ƒ‡„€‚|{yy{}„ˆ‡†††††††‡ˆˆˆˆ‰†„„„„„„„††‡††„„„„„…‡ˆ‡„‚‚‚‚‚„…„„…‰‰„‚~~€~…‡‡††…‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„„„†ˆ†‡ƒ€‚‚‚‚„…ƒƒ„‰†ƒ€€€€€…‡‡‡‡††ˆ‡‡‰‡†‡‡…„„„„„††‡‡ˆ‡„„ƒ‚ƒ…ˆˆ‡†ƒƒƒƒ€‚…„ˆ‰ˆ†‚‚ƒƒ‚ƒ††‡‡††‡‡‡‡‰ˆ‡‡‡…„…„„„…‡†‡††„„ƒ„……ˆ‡…€€ƒƒ‚‚„ƒƒ…„‚‚‚‚‚†‡‡‡………ƒƒƒƒƒ„„„…„……„„…‡†‡‡…„ƒ„ƒ‚||}~~ƒ‚€‚ƒ„ƒ‚€ƒƒ„…„ƒƒ†‡‡ƒ}}||~~||}„ƒƒƒƒ…ˆ†††‚~}}{|z{{{{{|~~~~€|~€€€€‚‚‚ƒƒƒ„|||}‚€~|||~‚€€€€„„„„…€~~~€€€€€€€~~}}}}}|{|}~€||{{{|{yz}}|€€€€€€€€€€‚ˆ…ƒ„ƒ€‚‚‚‚‚€|~}}}}}|}|||}}|~}{z|{x|€}{€€€€€~€ƒ„‰…‚€€†šŸ¡||}~~}}}}}}||}~}|€„zxxww~ƒ{~€€€€€€€€~€‚‚‚‚‚€‚ŒŒˆ}|||}~€€~~~}}}}}~|{€…{yzyx‡{}€€€€€€~€ƒ‚†ˆ…ˆzz{~}}}}}€~}}}}~~{{}€|z{||ƒ‡{}€€€‚‚€‚„…€‡†z|~€~}|}|~€€€~}}~€€}}}~}}~€‚~||~€€‚‚‚€~€†Š„‰ƒy{‚}}}}~~€€€~}~€€}|}}}|}}}}~}||{|~~€€‚‚‚‚€€}¢º €yz€„€}}}}~~~~||{|}}}}}}}}}||}~~~~~~~€€€€‚‚‚€›¯ ™Š‚„ƒ€~}}}}~€€~~|€‹ƒ~~~}}~~€†~~~}~~€‚‚‚‚…†œ £ ž‡„‚€~}}||}~~~†€~‚€€‚…‚~}}}}~€‚‚‚‚Š±º¿Á¸“‰‚€~}}|}~€€€‚ƒ‚„„€€‚€‚ƒ€~~}~~~€‚‚³ÍÏÒÔƒ„ƒ‚€~~}}}~€€€€ƒ‚‚ƒ„€€‚ƒ€€€~~~}~}}~‚‚‚‚šŽ’¥±¼ƒ„‚ƒ‚‚€~~}}}}€€€€€~€‚‚~|{{zyxwwwwwy}~}}}~€¨¤{€ƒ‚‚‚‚‚€~}}}}}~€€€€~}‚€€‚‚‚}yxyxxzzyxyyz|~~}}~}~‚‚€ªÇº¤‘•{}‚Œ‚‚~}}}|}~€€‚‚‚‡‹ŠŠŠ‡}{}‚~~}}|~}}}}~~€‚€©ÍÑÑÈÇ}{~ˆ‡‚ƒ€~}}}|}~€€‚ƒƒƒ…‡†…†‚}|}~~~yz{}}}~}{~~~~~~~~‚‚~¤ÌÎÎÊ¿||€‚ƒƒƒ€~~}}}~€‚||€€~yzy|€€€|{~~~}}~~~‚‚~ÌÎÑÉ¢~‚ƒ‚‚ƒ}}}}}}€€€€€€€€€€}}|}~~|yyx|~|{~€~~}}~}~€“ƶ„„€|€‚‚‚‚‚~~~}|}€€€€€€€€}}|{||{{zz|„}{|}€€~~}~}~€ƒ™“‘’~z|}€‚€~~~~~€€}|}|}}}~}|}‚„~~|~~~~~}~€~ƒ€€~zyz~ƒ•ˆ‚€~~~~~€€€€€€~{|{}~||~|||}|{{zx}€€~}~~~}~~€€~yxy}„ˆ„‚€~~~~~~€€€€€ywwwvwwwwvvvwwvtu}€€€~~~~}}|~~€~{xwz‚‚‚‚~~~}||}~€€€zwwwwwwwxwwwwxxxy}~€~~~~~~|~‚€~zxwxyƒ‚‚‚€~}}}}||}~€€|z}}yxxxxyyxxxxz}~~~~€€€‚‚‚‚‚~yxy{zƒ‚‚‚~}}}}}||~€€€{|ƒ„zzzz{|z{{z|€|}}~~€‚‚ƒƒ‚~{x{|{ƒ‚‚}}}}|||}~€€}†„‚}~}~~||{{{zyxxwwwyz{~€‚‚}{|}~~€‚‚‚}}}}}|||}€€„ƒƒ€‚€{ywwvwxzywxyxxy}€ƒ€„„‚‚‚„ƒ‚€~~}}}}|}~€€€€ƒƒ„†ƒ{z{{{|}}||}}|{{{}‰‰‡ˆ†…„…†„‚™Ž~~~}}}}}~€€~~‚„‡…‚~|||||||}|||||{{{|~~~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÏÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍËËËËËÌÌËËËËËËËËËÌÌÍÌÌǽ³®¡{qfkujjhkjqbfaV\`\[a[S[`\]TPORYX_e_dRTUVTWTSYTPV^^[XTMD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÎƵ¦•s€y~r]^`p|m[]lkfZXXZ^YUTO]f_ZQOOPXV[ehfOU\_XPPLQRX^aZUOLI@?75421/75ÍÍÎÎÎÎÎÍÎÎÎÍÍÍÌÆÀÄÀÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÌÍÍÍÎÍÍÀ£‹‡omlokjnqszy^`_bcZYZZZ\RSV\aXYXVSQTSV[ecPPWZTLNMRQ\b__YPGA?<851220.2ÍÍÍÎÎÎÎÍÎÍÌÌÌÌÍÈÀÅÁÉÌËÊÊÊÉÉÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’yjpvxr}€ed_[fX`bc[[WU^YTXedQORVWRMLWOXfQNSXYPMROPX`]`USTOH?<84321--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎɾ¿¿ÊÍÎÎÎÍÍÌÌÌËËÊÊÊËÉÉÊÉÉÉÉÉÉÉÊÉÈÈÆÈÉÉÊËËËͼ’„{r`k|lbg_^`ViaXWTSM[a_`ol[QOT[SMJTRRWSYZXUNOQTZ_WVYPOXNI>?A;520,+ËËÌÌÌÌÌÌÍÍÌÍÍÎÏÇ·»¹ÈÍÎÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÌÌÌËÊÊËËËËÊÉÅÉÊÊËËËÇÆâˆxzoh^jomb_`^W\_TQ[RRPYddffbfUQUWSQSTRRVQY]`URTQYZ\XWSSOPPI>?>6550.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎŻƽÆÎÍÎÎÎÎÍÎÎÍÍÍÍÌÌÍÌÌÌËÊÈÊÌÍÍÌËÇÄÊÉÊÌÍËÆÃÀ±™zwoeVSb]Y\`a]a]WTQKMUX^ach^YRONONJRQSQ^LTTYZVYY]Z[URPSNRJEC>A<530/2ÍÍÍÎÎÍÎÎÎÎÎÍÍÍÍÅ¿ÌÂÄÍÌÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÈÉÉËÈÃÀÃÀÆÆÈËÌɾ¼«Ž~voUSQQNVWlpeab[XLC@LXPZa`]VSQKLKHKHPLXNQUUVVYZZ[]XRNRMUNCGA>>3/.-,ÌÌÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÈÇÅÈ¿¼¶Á½Á¾ÃÊÈÄ»®£¤Š|sq\UVXXgi[mfe_UUQQVTcTOZ\RNVWQJJFNOQYWRPWYUSWWUNSYRPVPWV?57210.---ÍÍÒÖÔÎËÌÌÉÈÉÊÊÌþÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÊÂÁÁ½Â»¹©¿·À¸¼Æ¾¼´¤ˆ…|o‰xbZ]Z\dkVl]T\SMST\ZUMPRWQPRUWKKKSRRYf\NUWVVTUYPPYWX[[LB<6540.-,,-ÎÛêðíäÑÊȽ½ÀÅÈÁ¾ÆÁ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁ¹²»¹°¡º±½¶²Á´¹²˜…zxkfbbaaS[a[Ue[SZ]OSRV[TUTNMMKKLSYUNQOQQcYNY[WQLNXWUTXQLJ@7=<:61.-,,.ÜîÔµÂåè˾¶°°¶¸¿ÁÂÉÆÂÉËËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ°ª§ª°¤Ÿª­³¯±¸«ªž‚wxsjiQ`eZXcWQ[g^Y^XKPQS[_aTPLLKMQLUWKNSMR]\Ya\SOKOXUVUOQWIAB=;<951//-,ïÈzhn¤éØ´®¬­³²¾ÃÅËÈÃÊÍÌÌÌËÉÆÊËËËÊÉÈÅÁ¾½° ™˜¤¤˜—£¯ª¬¬¦¢™‚slifjm[VWT`_UV[XY`VRVTRTT^WQSONSUQSTWRPWPRY^X]WY[V]^RSYWSP?>E:8776520/.Õ©’”Òⳬª®°³ÁÀÅÊÇÁÊÍÍÍËÊƾÈËËÊÊƾ¶¯±²¶ªŸ”Œ˜™˜”¦µ¬¬¢–—‘xhccUf_QKHNV_XQQ_g]_n]^b\TVNPNOOQVRTQSZRZNN^\]fZb]he_ROMMJK?=?8854453./2stqx{}…Ž¢¬¨¯®´¼¶ÁÈÆ¿ÇËËÌÊÇ¿¶ÄËËÆ÷¦žšš¡ —š•‡’—’’ž¨ªž’ŽŽ…tbbgZ\SQSQOX^_[gm]OT`NWon[QNJMLJFJMLONMPWTW]TRWW_fZZVNILGFDCG@7543343/15RR]Ž¥¢š‰€£§¯±µµ±½ÈÆ·ÀÉÈÊÊȾ²ÃÊɾ³¥˜ž•–’ˆ‹‹“’ŠˆŽ—‰ˆ‰ƒ|tsnaXSX[YNW[UU\h\RQ]fg`^[RRLJJGIGGEFNLS^[VZUN[hfeV]SMUSHI@?B9753313338=dQÌàçÚ±s®Ï³®®«ª¶Åº©¯¶²º¹Ç¼¯¼Ã¸ªžŸ—› ““„‚ˆˆ€}ˆ‰„‚€ƒ€}wvn`UUSS]XTYTSYfQPO]dcRRZXSLKLIJHEJJIQU[aRYQPkqcd^a\U^XUSH=::864322549?•ˆ™¼©¥©€j­ïÎʧ ¡¨ªžŸŸ¡¢ ©º®¤¡©šš˜Ÿ—™‘•Œ„ƒ…€ƒw‡ˆ„||{{sppibVPZfZRUQU]ZNX[\]XQRQRSMKPQLNRQFBJNT^QQM]``^Yei[QT^ZESF=;<9555488:<^b¡ K=OD\‡Þéñ²¢¯ š›ž£¦¢¡£¢Ÿ””“›™Ÿ™’•‰ŒŠ‡‡ƒ}x„„€€xywtphhdXVYQW]YS[Z\YVYYZ\ZTNJUTNMOJBDFFA?EGHQJRSX[aX`o\^OY]YIEC@><856779;?>46ihPnXDKlªÄÑÁµÄǺ¹±´µÅ¿µ¦Ÿ‘œ•›•Ž†ŠŠ‰†„€yƒ}{uvwqqljfX[c`aXQRXV\]aWS\SW^ZVOINLNIACFA?FEDBRGTW[W_`_\RbbTVWQLGDF966767;=FE::?M^xV>?P¡œZÉèçæåáÚÚÛââäÆ­ ‰‹“’Œ‹Š…Ž‡ŒŠ‚ƒ{}‰ywuqsrnh`W[b`ZQUOQ[dbcTMRRg[aVLQROJHCHSICJKLFPQ\]XLXdccT_cVPW]QD?@<:8778;?I@^^^ntpj^[TƒžžãîæÝ×ÐÌËÊÈÅÃÇȘ‚‡‹Š‚ˆ‚—‡‡z|ƒ‡|‰y{vuttvraUQYW[VYVNYZ\_fejmokS[[SMQQGEEPUPPNOOHJVZ]ZNM]Y_]]dbV_S@::<=;::::=<<;a_`babcejklµóìæ£qg^ZZXUTPUZj•€€…‰…{€…ƒ‹—†‚ˆ{‚ˆ‰†}†|xuvxtum^X]_TVSSV_WON_q€r`Z\dPSMMRRMMJB?LTRRTSO\dcdZSXX][R[USSG<98;:79:98===763b:7888;BDCEe’v`\VbÕÚâåx¸Å‹HI?NA?>C=6487>±Ìy~|y|~z}}{‚}xxomvxzqgabSPSDAKUVUXZOKITY[\UZd^SMLIKOMMJGJNVWY]`Y]WUQVOJLHA<8676R€=79:;?>=;@KNV`XQWZPW[NLG;:987773ŠàJ26;:CIB>K[jj\KPePF@:;97;;:9>8xÙS4=;=AIJDW»¼¼¼º‡t}dD?P’ØÝæëéèųÀܶ°ËìåàÝÖ³xƒy}|ytqzyx{zxy{€}vyyofhjhfa\\X]YNNVSMOS]ZXX\]\SUMG@@FIB>CRQJV]^kkQUWK@;666;@BB>@;}èc8?8MTMejjx‡g\]QIB>::>FMIBIIX`jŸŒŠxeLKHAvÕèçêèéêãåêáßééèêèëµquxyw{{hw}{z|vryxvpljhffbbk^SV]XW[TPTQSPZ^Zd]TUQOIGHCGKFDGNMThjjrqbbkiXQMLOUTVSIJP9„öp878V`akhh^k`\\YVI;<;9eÇîìììëìíììíìëéêìíëªwyyzzxywmwzwxzzxzw{{wohecZYe^UNVY`YXSNNWVZc^`XOOUQLE@=IV`W[einbZWX_bejmlof^jxvplgjjXï‚WT]uwprjeQPPOQSZ^M017\»ïíðîëìíííîîìëðïíçœvwy{zvw}†‘–ž£¦©©©©¬­«©«ª¥Ÿ–…dTWXXSPNOMS[XSXYSMRWSPW_]r‚vbkwkYTW[]^agfl~„‚‚ƒ|€…ˆˆ‰”¬“‘‰ƒz|qrpgzyzzzz}n/.6X¬éÑŸ¦íÇ—–•”—Ðéž«ÖàŽvzywwˆ £¬§£›’Šƒ}xsprssy}‡—˜Š_YUVSX^_SS\YPMNT`\X]i{†‹‚bbqiRPY[[Z]eiku}{z{ts}ŠŽŽˆ†‡‚}mqpjngvvvvwxz|tVW]l‘¬™tvµ¦xyƒ‡·»v‰¡¯}w|zvx¥wof`YTV\cx›—oc_WTRRSRPnxomqy‡Ž‡Š‘’ŠŒ•´œ†‚{wzzkbmmaW\`^][_fehrecadctz}ƒ„ƒ„Œ„~{qcgpmjeppoooprtuwwyzyz|€|€€€|}|„‘‘…‹‡}tt{ŠRKLMQYaXNNTgfPGE\qmkc[H@gxxwusssttuwyz„‘¢±´­sljklmljea]]]ZY]^XZ\]]`fgddaacmlgkhc^htlswpnlkkkmoprrrqrrtwy{}~~~}{zywuty‰Œžˆ€f=Wgv‚‹’t?<3,,4:15>KH=RKJIIIJIHNIsxU5H‘¦tIklljgcba``__acfknqrttuusmggjkmonkjrŠ¬ÀÁª‹tkijjihfb_[YUQfƒDNX]bgprttuutqmhedddfhjjjjkllkmljklnpqqryuWƒ422N—IHH<::;GJHOF\q\76/U‘Hbgjmmjgca``aa__`eiloqsuvutpkgfilnmljisŒ°Çê†pjjkkhedc`\mVŒ–œ knpqssrqokfb``acdfgghijjklkjijklonxelv297Z‡’z@74234?EALS|ˆx941?—YYedfjmnjfc``a`^]]_dhjnprstrsqkedgjklliegy¡ÇÏ´Žsnkigfeed—Zpž¶³±­jlnopqqrqpkeba`aacddfhiijkkjihijljw[€d:H@f“ ‘KG81013319F’ q9423†xOjfdehknnkgbbbba_]]_dhlnprrstsqjdceikkkigdtŸÆѸŽsjlkhfpœT_SwbULijlnprsssrplgcbaabccefhhiijjjjiikdzVŽXIMJMu}`JJE=;=<998J…š[<961p–Jlj^X[dhlookifdefdb__aeiloprrstrojedfikkjiffvœÃл“tlli„‘RT=J347fikmoqrsssrplhdbbbbbcdghiijjkke`cl{T›TQgM‚{ƒSEEFFFGHFHM—ŠN>;<1f’?h];:8Ydcgkmmlifeeed`__cfilnoprrssqlecfijjjjgeq“¸ÍÀŸr™~TIAG57:adgjlmpqrrrqolieaa``abeghiiikY=B@>=@<5:76FJEIE788=G61/6Ddljgcbbdfhheb`_^^^\]^^adhlnooqqpojfdegjkllkb^n™”¡ZO=<<:Bo‡[adhjlnoqrqqpolhda`__`bdfggjU50/-8XB;977778644556557787557789;=CM3=Tckmkjjgdbbbcfgeb__^]\]\\[\]`ehjlnnnmlhebbehibXZX_{™LHFHG@@rÆ}\cgijkmosspppokgcb`_``bdefghb[nV4_F<:99887667776557666677788:;?G<`ljjjjjkkidb`_adecaa^\\\]]\ZY[]`bfiklkkjjfa_bdST`ku~‰EIOIJDDKÉÃsZdffhjlnorpopolgda___`acdeghk¤°KSA:98776655665555555556656789:A@]ihijjjjjkigc__aceecba_]^`_^[YZ]_cgjklnnnnlfabTR[cn€p?Tž{G?=<¼Ì³`Zacfijlmrqopqolgc`````bcdfff–«OJ:676665555544534554445544644CNKIcgiiijjjjkjieba`bghgedaaaaa`_]]^aehjlnopqonmhZHLKFR^`DFE656?­ÀΡZ]beghjlnoopqonlhc``_`acdefc…šaNXE234433433334D=4443333342@y“„SN_hhhhikkkkkkkifa`cfhjhgebaaaa`^]^`bdhjmoqrqpnj`[vvLd„|je`QGN|´ÃÎX_cefijlmnpooonlgba```abddfr‚ea ™’A/322221334=9443322231<‹¯› aH\fghhijijkkjkkjgcaadgjkifca``___^]^`behknooqpondŸ¶{wjljddbTSQºÈÈrYacfhkklnoooonmkgc``__`bchkUN†¢œ»‡A001111256136420001/9zœŸ¨”[2Ygghhihhijijkjkjhdbaacgiigda_]^^^^]\^`bfikmopppm‹¬{m_c`YWWWWYx®Àͳc[bfhjjlmoonnomlkeb____ac_kG.x›» µ™BA<:99437_^7:ADFEPn‰ÝմΞG,Pifedegghhhijkjjkigdb`adgihfc`^]]^][\\^_cfikmnqb{¥yhVUXWUUUUWYz·ÂΠ[_dfgiklnnnoommmjda`___bWXB+V°Ê¸ëê©“eW_eƒE žAhvmb[w¬ÖòîÓÚ{7+Gi ¿¹ƒdefgffhijjjjihgb`_bfhiigb^]\\\\[[[\^bfikoYeg`UTUVUUUUPJM…¹ÁɉX]adfhijlmnnmmmlhda_^^`\C4+<ÝÏèê禀[Z\o}aÉÆ^j\abb“¹ßж•”B0-De~¬­ddffeefghiiiiijgca``bfiigd_\\\[[[[ZZ\_bflTW|bZPMTWWWYY]RLR”»ÄÂuT]_aeghjkmmmmllkhc``___A--/Byq¦·œ«fgndTtéí{\svxnŸ€feF320/.Ef_b``wdeeefghggiiijigdb`_`cfghd`^][[\\[[\Z[_ePUmbZv†i]ca[]eXOI]©¾É¼jZ_adghhjlmnnmmljgb`__[<,-,/.18G:InPYeom„¾ÅŽ{maYTQC9<73/,,-Gebjjkrokjhededffhhhiiigfca__adhihea]\\[\\][YZ\IPX]I—¿³œ²ÍoGkaPLJs·¿Ï­a\adfggjklmnnmlkjfb__[6+,0257:AIS\jz¡°ºÐÜÉÁ¹¬“n`TOV`hq{…Žš¡¢©«ª©©¨§¤ž›‘~gefgggiiiigdb`_adgjjhe`][\\^^][ZEILUFÊÖàÙóÖhkodSLMˆ¼ÂÒ˜Z_cefhijkllmmllkiea^[7+-04786=E]œ–‘Œ‹„tmcu¦jZlruwvwy€Š±«Š‰‹~}{|~{vnuedeeeeeefhghheb`^]afikjigda^^E=@GKOQUWY]cdklnlgYOPPŒÁÇÔª^^`bdfgijjlmmkkkheC20.0A[ÚØjHKVrKKMTZ]`dji’ao€‡‹Ž“—™›wE==5K«²´®¬­ªˆ|Rlgcddeddffgggggdb_^^`dikkkifb`H>=FILPTVY`abnrpnneRLKU£ÄËÓŽY_acefhhhjklkkkjgD64..6Tµ|p~Žž–—›¡¦ª«®£§£mXˆµÉÏÕÚÝßà{XRJJN˜çâß×Ùàâ¼ieUjabcddbcdeefegfda_^\]bhjkjifdK=;FHKOSTWcpxnsqstxhTOJk»ÇÐÆl\abeffggijkkkkjjB55-./5FVM8?EK<=?>=>>=7n”Zf|ÚÞÜÜÛÚÛÙnaeh[J‡áÝÚÕÐØßÀMxMdfcbccbaccdeddedcb_\\]`fjjkjiO:7FHKNQSXanwnmljjke\RML•ÅÈÕ¢Z_acefghhhjkkjjkA37-,,016;=>@@;@@=APB>BƒŒOm_ØàÞÞÞÞßÊ]SRlPKxáãåäâÜÕ¨;m[]Žp`bbaabbddccddddb_^]\^cikkkQ65GJLMPQYalolebde`b^SMJc³ÃÍÍuY`gedefggijkkkjA29.,+.003788;?ADGSmNCOš}PjB{‚‚†ŽkPUa™[R]¦µ¢ygUI35231/,,*))'((((*-0._”€JjJD?7BTTF==624234452K‘›}7;74>oK_ab^cc`abbbbccddddddcca_][]G#2E??^¿¼iZ]`pnjhllhfhidLJJ[ªÀÉÔˆZabbceeedca[L7.--.'%$%&&&(((%'--@”ˆrKiFOQHMSQMJON<333345FU}ˆeJNK<7eI^_X_dfbaabbbbbcccccdddb`_]_H#0@=>Iil_`gdnlmehknsomiRIKLx½ÀÐÃk^bbceffdca]XI?>=>@?AAAABBAA@KRRgŽviG`LNJDCEEEFDIH9556CDNXafSLGMH@IE]Xf¥‡gZa`abbbbbccccddddba__K#/<<;>FPWajqhchhfiqsorr_KJZf˜¿ÄÕ­bbbcegfddc`[URQOPQQRRQQSSTTTc{†Š~qh@AHFCIQWRJI?NRJB::FPPMLHD>88<74A[\SŽkQV^__abccbbccccccdccb_J#.7546:?CLQTgmlhmmjlnrpkTILLX¦ÀÇÕ‘_bdeeddddc`]\ZZZZYXVVVWWY[WZ—¥€lhE8::CSWNE@>?TKDAAEKPTUTKIKMOQUWZ`oSkMP‹½Â¬kabbbbbccccddc\VQ?#.51M6(&''&%xtrotpiikigjcKJJIp¹½ÎËt\bccbddeedc``a``_][ZZZZ\__RTcywpq[ZWVWVTUWXXYXYZZ[\[Z[[[\[[[\\\^^_fTCYbuËâÜŸ]abbbccbbb``\LJJ>",65][=.--30x€}pjjifhimiaOJMKL½ÀÔ­[\`aaccdeedcccbbba^\ZZZ[]_]WQNqgq]\[ZZYYYYXYYYYYYXXXXXXXXXYXYYYY[]\>Gcc`ipki_`aabbbbba^\YSMK@!,5/**597877ptrstlmfllnkjeZMKH_¶½ÉÓ~W^`bcddeefeeeeddc`][ZZ[\]_aaAPQrZXXXWWWXXXWWWWWVWXWWVVVWWXWWXXXYZ[CRecca`_]ljaaaaaababcbaWKA$-3.)+21011/nurttlnhhkkknsiQJJL“ÂÄÕ¸b`cdffefeffffedddb_\[[[\\^_dI@SvYVWWWWVVWWWVVVWVVVVVVVVVWWWWWWWUUTQ[dccbbbl„wcbba`a`````^\RC-/0-,03&%&%$mtmnmkkjgjjllmiSJJJh»ÅÍÖˆ]cdfgfffffffededcb^][[\\^_jZ‚fx\RWUVVVVWWWWVVWWWWWVVWWWWWWWWQVfoUbfccbbbbaZZ``_`aaa`__^][WPA2)((+-&'&')ljlsrmjlnmghihiUJKKM”ÆÅÓ¹a]_addeeeffgfeeddc`^\\[\]_dp—dpqolaVVVWXXXXYXXYXXYXYYYXXYYYU\ˆ˜•c_jacbbaa```]`_]aaa``__]\YVRH>:::;?CFKPjloqmlmorplgjkfSLKLJd¸ÆÌÖ‹^defffggfggfeeefdb`]\[\\]Yq’wpƒŸ£bYYZZZ[[\[[[\\\\\]]\]\\Z\‰ÁÎÑyPVacbbaaaab¢¿½•_aa```_^][XVTPMMMMMOQSXljknsuspslilljoeOJKKMÇÉÕ¾icefghhgfghgeeffeda_]\[\ZTn‡qx¡á×Ê•a]_^^_____``aabaaaaaa`]xÌâÞï¢DDW``_^^^^Zˆáîæ’]````__^][XWUSTTTTTSSVjqtspsqkoiiiehrbKKKLK_¶ÉËÕ–_defghgggggffffefc`^\[\XPji^aÆåÞàØŠafgiknpquu{tuutttrrmh»òÙÎÜ·qy„ŒŒ‹Œ‹‹‰¥Á°‹ra_``_``^][ZYYYZZYYVVVpwtnhhklmhikurte_YLLMO†ÈÇÐÉtbefghggfffggffffda_^\\WOeSRJ¿èÂËòÌhosuttttvy{||}|€€xˆ“¡ÂÏúº·µµ´³³³³³³´³²°¯¦Šog_`__``_^]]\\[\]\]\ZYgijg`_`hhqzwqrmkmcQKMR[°ÉÇÖ©cefhighgefffgfffeca^\\XLcMGDy¸ˆ²ñÎiw}‚†‹–š¡«°²°«––­±´°¬£žžš™˜–•““’‘‘•™œjXd_``aa_^]]]]]]]^^^]\plkmjvprirqtsr{€k]SJKLKyÄÃÎÓ…beefeeeefggggfeedb_]\YHPJDDIPTtÆ u¢¸¿ÁÄÈÐÑÔÝÚÍÇÊ“†£›—’Œ…€{upljhcbbbbaaabdhltjjz^``aa_^^__^^^^^^^_^„z€xuzwigoxuwypd\RJJKJQŸÇÅÖ»e`bbdddeffffffffec`_][IEHDCIOTZco à«_USOOQS¶×f@ˆzt„znd^YSPKIIIHLKJJIIJIIJHIIIKQle`aaa```__^^^^^^___†|u~xrpilsmifoibccTJKJ]f}»ÃÊØ\aaccefeefffffffca`^]JBDEDIMRXaz³ä^07:;;;GÒ÷†?†rXSLHGGGIKMNNNNi[IHIGGEDDCCA@@@I\babaaaa`______^_``}xwxsnpa`hqyrijdYKKJU[Y˜ÃÁÖ¾d_acccddeefffeefdba_^H?AFCKPU\cu¦ãj@FHHHJI«âv`|PEDCBBB@A@=;::875567766667777698Jdiedcccaa`_```__``†‡†††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxywyzzy{{zwuyyz{zzyz{~€€€†††…†††††…†††…††††††‡††††††…„{xuttvuvyxxywy{zywtwvxzzxwy{~€€……………†††††…†……††††††……††……………‚€€{uwwxwwyzxxwz{zyxvvvxyyxxyz}~€€…………††……††…††……………………„……ƒ………„ƒ€~zyyxwy|{yxwz{{zywvvxyyyzzz}~†„„……„……†……††……………………„ƒƒ‚„„„ƒ€~|yxwyz{zyzz{{{zzvvxyxyzzz{~€ƒ‚‚ƒ„ƒƒ…………†……………………„‚‚‚‚‚~|zywy{{zz{|}{zzyuvxz{zzxz}€€‚„†‡ƒ‚‚ƒ„……………„††…„„…‚€€€€€}~~}{zzwwwyzz|}|{zzxwwwxxzzy{}~€€€€‰ˆ‡…‚‚ƒ„…†………ƒ„„„‚~~~€~}{|}|zyxwxwvy{}}||{yxyxwuuxyy|}~€€ˆ„„„€‚ƒ……†‡…‚ƒ€}{z{{{|}}}~{{z{|zyzxxzxx{z||}}{zwyyvuuwwx|€€€‰†ƒ†…~€‚ƒ~|ywwwwx{{y|{yyxy{yzzxxyyz{{|}~}|zzyxwvuvuw{~€€~ŽŠ‹Œƒ~€€€€~{yyyxwvwzzxzyxxxyzz{{yuwxwz{|}~}|zzxwywuuvw|‘‘‘‰‚‡‡‡ˆˆ‡xzywvwwxyuuvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy|~€~~‡‡ˆ„ƒ†€„ˆˆ‰‰ˆ‰ƒzxxwwwvvurtuuuw{|}zzx{{yyy{|~~}{yxwwxwwz|ˆ€}|€€~~‚ƒ……„„„…ƒ~vvuuuuttsuutuwzy{yx{||z{z{}~~~}zxxxxz{}€€ˆ€€~}{€‚‚‚‚}svttttsssttuuwxvzyy{zyyy{}}zvwxx{~€€}}€~|x||~€~~€~utututsrsttvwvxyyyz{zxxxz}~~}wsuvw{~}|~}~€|vr||}‚~€€|uusstsuvxxxyzxwyxyz{yxxy{|}zzxvqpqqnqrqqrvz{wpnn}}}~€€€€|ttx…‰ŒŒŒŒ‹…zz|||z{{zxrnionsssqmhgggffghfeijlƒƒƒ„……„„……ƒƒ‚‚‚~~ƒŒ‹‹‹‹ŒŽƒ‚‚‚‚ƒ‚}xvvxyzyzyxwxxuqrqonopnlˆ‡†ˆ‰‰ˆˆ‰‰‰‰‰‰ˆ‡‡†‡‰~„…††‡†ˆŠ†ƒ„ƒ‚‚ƒ„……†…†ƒ€€€‚ƒ„ƒ„„„…„„|x‰ˆˆ‡‡ˆ‰ŠŠŠŠ‰ŠŠˆˆ‰‡††€„ƒƒ‡†„ˆˆ†………ƒƒ‚‚‚‚ƒ„†‡‡†…‚€€‚ƒƒƒ„„„…ˆŠŒ‰‰‰ˆ‡†ˆ‰‰ŠŠŠŠŠ‰‰‰ˆ…‰ˆ…‡‰‡‡‰„}…ˆ„„ƒ‚ƒƒƒƒ€€ƒ†‰‰‡…ƒ‚€€€‚ƒƒ‚…‡‡†‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠ‰‰‰‰ˆ†Šˆ†ŠŠ‰‰…~„‰…„ƒ‚ƒ‚‚‚ƒ€€‚…‡ˆ‰ˆ„€€‚…„‚ŠŠ‰‰Š‰‡‡‡‡‰‰‰‰‰‰‰†…ˆ‡ƒ†‰Š‰‰ƒ|„Š‡……„ƒ€‚‚€€€€‚„ˆŠˆ†ƒ‚€€‚†ˆˆˆˆŠŠ‰‹‹‰‡‡†‡ˆ‰‰‰‡†…„„…††‡††…ƒ„‰‰ˆƒ„„„‚€€€‚‚‚‚€€€‚„†‡‡‡‚€€‚‡ŠŒ‰„‰‰Š‹Š‹‰††…†ˆ‰‰†…‰‹‰ˆ‰ˆˆ‰ˆˆ‰ŠŠŒŽ†„‡ˆ†„ƒ‚‚ƒƒ‚‚€ƒ…ˆ…~ƒ‡Š‹‡€†‡‰ŠŠ‹‹‰‡……†ˆ‰ˆ‡ŽŒ‹‹‹‹‹Œ‹‹’ˆ†ˆˆ‰ˆ†ƒ‚‚ƒ‚‚ƒƒ‚€€€‚ƒ‚{{ƒ‡‰‰ˆ}ƒ‡‰‰Š‹‹‰‡†…‡ˆˆ‰ŠŠŠŠŠ‰‰ˆ‰‰‰‰Š…‡‹‡ˆˆ‰‰ˆ‡…ƒ‚‚€‚‚€€€„ˆ‰‰ˆ||†ˆ‰ŠŠ‹‹Š‡…†‡ˆˆ‰‡ˆˆˆ‡†‡ˆˆˆ†}‰‡‡‰ˆ‰‰‰ˆ†ƒ€€‚‚€€€‚††‡‰†‡}}~ƒˆˆ‰Š‹‹‹Š†…†‡‡†‚€ƒ„ƒ„„„…ƒƒƒƒ‡†…ˆˆˆ‰‰‰‰ˆ†ƒ€€‚‚‚ƒƒ‚…„~|zy{~}}„ˆˆŠŠ‹‹‹‰††‡…„„ƒƒ‚ƒƒ„ƒ€‚ƒ„…††‡‡‡ˆˆ‰‰‰‰ˆ‡ƒ‚€‚ƒƒƒƒƒ‚…†~xusw~|†‰‰‰Š‹‹‹ˆ…†„ƒ…†††„ƒ„„„…ˆˆˆˆ‡‰ŠŠŠŠŠŠ‰‰‰‰‰‡…ƒ‚€ƒƒƒƒƒ‚‚pz}}‚‡‰ˆŠ‹‹‹‹‡…ƒƒ…‡‡†„€†’’“””•––•••‘‰ˆ‰‰ˆˆ‡„‚ƒ‚‚€z|~€hm|}z~ƒˆ‰ŠŠŠ‹‹‰†‚ƒ„„„ƒ€ˆ‘‘ŒŒŒŠˆ‰‰ˆ‰‰‡„ƒ€€‚€wttvyjiq|}~†ˆ‰ŠŠ‹‹Š‰‚€‚‚‚‚‚‰ˆ~}}†ŒŠ|}|ƒ‹‰‰‰‰‰ˆ‰‰†ƒ‚€€‚€uqqrskjkw€~}ˆŠŠŠŠŠ‹Šƒƒƒ‚‚‚‚‚‚‚„Š†|yy|‡‹Œyzy‚‰Šˆ‰‰ˆˆ‰‰‰‡„‚€‚vqqrunnns€}}…‰Š‰ŠŠŒ‹„‚‚‚‚‚ƒƒƒ†Š‡†…„†ŠŠŠ‡ƒ†‡‡‰Šˆˆ‰ˆˆˆˆ‰‰‡ƒ‚‚‚xstsyominx~|€‡ŠŠŠŠ‹Œ†€„„ƒ‚‚‚ƒƒˆ‰†Š‹Š‹‹Š‹ŒŠ‡‡Š‰Š‡†ˆˆ‰ˆˆ‰‰ˆ‡„‚‚‚}z{x|kkhikz}}‚ˆ‰ŠŠŠŠ†€ƒƒƒ‚‚ƒ……‰‡„‡‡‡ˆˆŠ‹‰„{‡‡ˆ‰‡‡ˆ‰‰ˆˆˆ‰‰‡„ƒ‚€€€nniges€~|~…‰ŠŠ‰ˆ†ƒ‚‚€€ƒ†‡‹ˆ„…„„…„††„~€…†‰‹……ˆ‰ˆˆˆˆ‰‰ˆˆ…ƒ€ljhgfl{~|€‡ŠŠŠ‰ˆ‡††…„„„ƒ‚„‹ŽŽŽ‘“”•„„†„†ˆˆˆˆ‰ŠŒ‰ƒ‚„ƒfgghhiq~€}|ƒŠŠŠŠŠŠ‹Š‰‡††‡ƒƒŒ•–••••”•––•••••—†ˆˆ…†ˆˆˆˆ‰ŠŒ‹ƒ€€„†‡ihgfghhu€}ˆŠŠŠŠ‹Œ‹Š‰‡†‡†ƒŒ‘‘’‘‘‘‘’‘‘‘‘‘‹‹ˆˆˆˆ‡ˆ‰‰‰ˆˆ‡†…€‚‚ƒjhgdgjhs€~~„Š‹‹Š‹‹‹‹Šˆ‡‡…†‡„ŠŽŽŽŽŽŽŽ†~‚ˆˆˆ‰ˆ‡†‡ˆ‰ˆ††…‚ihgfikin}}€ˆŒŒ‹ŠŠ‹‹‹Šˆ‡„‡Š€|€ŠŒ‹ŠŠŠŠ‰‰ŠŠ‚ˆ‰ˆˆ‰ˆ„„ˆˆ‰ˆ‡†„ƒƒƒjjjjiihkt€}ƒ‹Œ‹ŠŠ‹‹‹‹‰‡……†€}…‡††…„„†ŠŠ‹Š‹ŒŽŽŽŽ‰‰‰ˆˆ‡‡‡†…mkjjnkhjr}‚~‡ŠŠŠŠ‹ŒŒ‹‹‰…„†…ƒ„ƒ‚‚‚ƒƒ‰‘“”””“””““’‘“”’Œˆ‰‰‰ˆˆˆˆˆlmnoqpmpt|€~}~‚‰Š‰‰‹ŒŒ‹‹‰†ƒ………ƒ‚€€ƒƒ‹’‘Œ‹‹‹‰ŠŠŠŠ‹ŒŠˆ‰‰‰ˆˆ‰ˆ‰zzzzzzzz{zz{{zzzyyyyyyyyyyyz|„ƒƒ„„††‡‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yzzzzzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†ˆ‡………………††…†‡†ƒ‚‚‚zzzzyzzzzyyyyyyyyyyyyyyzzzzyz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzzzzzzzzzyyzzzzzz{z{{{zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„†ˆ‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{|}~}}||~€‚„„„„……………‡‡‡………„ƒ„…‡‡‡†…„‚‚€€{ƒ~|}}{zyzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€‚~€€~|{zzzz|zyz{|}€€€€€„…ƒ„ƒ„…„„„„…‡‡‡„…†………„…†‡††‡„ƒ‚‚ƒ‚}}|~}{{zzz}{{~€ƒƒ‚‚€‚ƒ……„…„„……„„„…†‡†„………„………†††……„ƒ‚‚uv}}~€€€~}|{}€…††…„„ƒƒ„‚„…††……………„„ƒ„††……„„„„„„„…†‡†…„ƒ‚‚‚‚‚wx€~}‚ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††ˆ†…ƒ‚‚€‚‚zz|{zƒ‚‚‚‚ƒƒ„†‡‡ˆ†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒzzyzz~~||}~„ˆ‡††††………†ˆˆ‡ˆˆ†…†……„…………†……„„„ƒƒ…†††……ƒ‚€€‚ƒ†…‚€||yy|}‚ˆ‡†††††††‡ˆˆˆˆ‰†…„„„„„„††‡††„„„„„…‡ˆ‡„‚‚‚‚„…„„…‰‰…‚~€€~€„‡‡††…‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆˆ‡ƒ€‚‚‚‚„…‚ƒƒ‰‡ƒ€€€€„‡‡‡‡††ˆ‡ˆ‰‡†‡‡…„„„„„††‡‡ˆ†„„ƒ‚ƒ…ˆˆ‡†ƒƒƒƒ€‚…„ˆ‰ˆ†ƒ‚ƒ„‚‚…†‡‡††‡‡‡‡ˆˆˆ‡‡…„…„„„…‡†‡†…„„ƒ„……ˆ‡…€€ƒƒƒ‚„ƒƒ…„ƒ€‚‚‚‚€…‡‡‡‡‡‡‡‡……†‡††…„……„„…‡†‡‡…„ƒ„ƒ‚‚||}~~ƒ‚€€‚ƒ„ƒ‚€‚‚ƒ„……ƒƒ…‡‡…‚€~}~~~}}~‚„ƒƒƒƒ…ˆ†††‚~}}{{z{{{{{|~~~~€|~€€€€€‚‚‚ƒƒ„„‚||||}‚}||~‚€€€€……„„…€€~~~€€€€€€€~~}}}~}|||}~‚|||{}~}{z|}|€€€€€€€€€‚ˆ„ƒ„ƒ€‚‚‚‚‚€€€|~~}}|}|}}||}~|}|{z{|yz~|~€€€€€~€ƒ„‰…‚‚€€€‡“||}~~}}}}}}||}}~|~|xyyx{‚€{}€€€€€€€€~ƒƒ‚‚‚‚€„–Ÿ›}|||}~€~~}}}}}}~}{~†~xyxw~…{}€€€€€~€‚‚‚†ˆ‚Š‚zz}}}}}}€€~}}}}}~|z}‚}z{{z€‡{|~€€‚‚€~‚…†‚‚Š~{}€~}|}}~€€€~}}}~€}|}~~|}~}€…€||~€€€‚‚‚€~~€‚‹{z~}}}}~€€€~}~€€}}~~}~~~~}}|{€€~€€‚‚‚‚€}‡§¥ˆ‰yy~„€}}}}~~}~~|{|}||}}}}}}|}{{~~~~~~€€€€‚‚‚‚€Ž¶´˜|z|ƒƒ€~}}}}~€€~~||ƒ€}}}}~~~~}}}„†~~}~~€‚‚‚‚ƒ’‘”š“‘†„‚€~}}||}~~Š~}~€‰‡~}}}}}€‚‚‚€~—¬²¸´“‰‚€~}}|}~€€„„‚€€€ƒ„€‚‚~~}}~~€‚‚ƒ¤ÈËË̓„ƒ‚€~~}}}~€€€€ƒƒ‚‚‚ƒ†‚€ƒ„‚€€€‚€~~}}~‚‚‚Š™¤½Æ̓„‚ƒ‚‚€~~}}}}€€€€€€€€€‚ƒ‚€}€}}}}{||~~}}}}€€§‰’‚‚‚‚‚~}}}}}}€€€€|~€€€{xxwwvvvuuuvz~~}}~}~‚‚€½ª„{}‚Œ‚‚~}}}|}~€€€€„†‡‡ˆˆzy{||~|||}|}~}}}}~~€‚ŽÁÏ˼®}{ˆ‡‚ƒ€~}}}|}~€€ƒƒƒ…‰‰ˆ‡†||~~~}~~~}|~~~~~~~~‚‚‚‹ÁÎÐÏÊ||€‚ƒƒƒ€~}~}|}}€‚‚‚‚ƒ„„ƒ‚}|}~~{xz{~€~{~~~~}}~~~‚‚€†½ÍÏÎÀ~‚ƒ‚‚ƒ}}}}}}€€€€€€€€||~€€~yyyz€}z}€~~}}~}~€€„¹ÏÌΩ„€|€‚‚‚‚‚~~~}|}€€€€€€€~}||}}{zzyz~‚||}€€~~}~}~ ·ž°Œ‚~z||€‚€~~~}}€€€€€|}||||{}|{{…{|}~€}~~~}~‚…ƒˆ~zyz~ƒ•ˆ‚€~~~~~€€~{}}|~~}~}}ƒ€~~||~}~~~}~€‚€‚€~yxx~„ˆ„‚€~~}}€€€€€€{zzz|{{{{zzzyxxwwy€€€€~~~~~}}}€€€~zxxz‚‚‚‚~}}}}|}~€€€€{vvvuvwvwvvvvwvutx€€~~~~}||€€~~~zxwxyƒ‚‚‚€~}}}|{|}€€€{yxxwxxwxxxwxwwy||~~~~~€‚€~yxyzzƒ‚‚‚€~}}}}}||~€€|z~}yyyyyzzyzzz}~~~~€€~€€‚‚‚ƒ‚~{x{|{ƒ‚‚}}}}}{||~€€||‚…‚|{{{{}|||||}|}}}~€€~€€‚‚ƒƒ}{|}~~€‚‚‚}}}}}}||}€€~€……„€~~~{zzzzyxwwwwxyy|~€€€€€ƒ~€„„‚‚‚„ƒ‚€~~}}}}|}€€€€‚ƒƒ‚ƒƒ‚~ywwxwxzzxxzxxz{}€€€€€ˆˆ‡ˆ†…„…†„‚™Ž~~~}}}}}~€€~~€‚ƒƒ……€}z{{{|}}}|}}||{{|~~ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÊÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÍÍÍÍËËËËËÌÌËËËËËËËËËÌÌÍÌÌǾ³®¢~{qgkujjhlkqbfaV\`\[a[S[`\]TPORYX`e_dRTUUTWTSYTPV^][XTMD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÈÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËÌËËËËËËËËËËÌÌÌÎÎÆ´§–u€ys^^`p|n\^lkgZXXZ^YUTO]f_ZQOOPXV[fhfOU\`XPPLQRX^aZUOLIA@75421/75ÍÍÎÎÎÎÎÍÎÎÎÍÍÍÌÆÀÄ¿ÇÊËËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÍÍÍÍÎÍÍÀ¤‹ˆpnlpkjnqszz^a_ccZYZZZ\RSV\aXYXVSQTSV[ecPPW[TLNMRQ\b__YPGA?<851220.2ÍÍÍÎÎÎÎÍÎÍÌÌÌÌÍÈÀÅÁÉÌËÊÊÊÉÉÊÉÉÉÉÉÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜“ykpvxs}€ed`\fX`cc[[WU^YTXedQORVWRMLWOXfQNSXYPMROPX`]`USTOH?<84321--ÍÍÍÍÌÌÌÌÍÌËÌÍÍÎÉ¿ÀÀÊÍÍÍÎÍÌÌÌÌËËÊÊÊËÉÉÊÉÉÉÉÉÉÉÊÉÈÈÆÈÉÉÊËËËͼ’Ž‚„|r`k|lbg_^`ViaXWTSM[a_`ol[QOT[SMJTRRWSYZXUNOQTZ_WVYPOXOI>?A;520,+ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÈÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌÌËÊÊËËËËÊÉÅÉÊÊËËËÇÆâˆx{oh^komb_`^W\_UQ[RRPYeeffbfUQUWSQSTRRWRY]`URTQYZ\XWSSOQPI>?>6550.2ÌÌÍÍÍÍÍÍÎÎÎÍÍÍÎŻƼÆÎÍÎÎÍÍÍÎÎÍÍÍÍÌÌÍÌÌÌËËÈÊÌÍÍÌËÇÄÊÉÊÌÍËÆÃÀ±™zxoeUSb]Y\`a]a^WTQKMUX^ach^YRONONJRRTQ^LTTYZVYY]Z[URPSNRJEC>A<530/3ÍÍÍÎÎÍÎÎÎÎÎÍÍÍÍÅ¿ÌÂÅÎÌÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÌÌËËÈÉÉËÈÄÁÃÀÆÆÈËÌɾ¼«ŽvoVSQQNVWlpebb[XLCALYPZa`]VSQJMKHKHPLXNQUUVVYZZ[]XRNRMUNCGA>>3/.-,ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÃÌÌÌÌÌÌÌÌÍÍÍÍÍÍÍÍÍÍÌËÉÈÇÅÈÀ½¶Á¼Á¾ÃÊÈÄ»®£¤Š|sq]UVXXhi[mfe_VUQQVTcTNZ\RNVWQJJFNOQYWRPWYUSWWUNSYRPVPWV?56220.---ÍÍÑÖÔÎËÌÌÉÈÉÊÊ̾ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÊÂÁÁ½Â»¹©¿¸À¸¼Æ¾¼´£ˆ…|o‰xbZ]Z\dkVm]T[SMST]ZUMPRWQPRUWKKKSRRYf\NUWVVTUYPPYWX\[LC=7540.-,--ÎÚèðîäÑÊȽ½ÀÅÈÀ¾ÆÁ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁº²»¸°¡º²½¶³Á´¹²˜…zxkfbbaaS[a[Ue[SZ]OSRV[TUTNMMKKLSYUNQOQQcYNY[WQLNXWUTXQLKA7=<:61.-,-.ÛíÙ¸Áäè˾¶°°¶¸¿ÁÂÉÆÂÉËËËËËÊÉÊËÊÊÊÊÊÈÇÇÃÿ°ª§«°¤Ÿª­³¯±¸ª©‚wxsjiQ`eZXcWQZg^Y^XKPQS[`aTPLLKMQLUWKNSMR]]Ya\SOKOXUVUOPWJBC=;<:51//-,ïÑkn¦ê×´®¬­³²¿ÃÅËÈÃÊÍÌÌÌËÉÆÊËËËÊÈÈÆÁ¾½° ™˜£¤™—£¯ª¬¬¦¢˜‚rlifjm[VWT`_UV\XY_VRWTSTU^WQSONSUQSSWROWPRY^X]WY[V]^RSYWSQ??E:8777520/.Í®”—” ÍÙ²¬©­°³ÁÀÅÊÇÁÊÍÍÍËËƾÈËËÊÊž¶¯±²·ªŸ”Œ˜™˜”¦µ¬¬¢–—‘xhccUf_QKHNV`XQQ]g^`n]^a[SVMONOOQVRTPTZRZNN^\]fZb]he`ROMMJK@=?8854453./2knipwy}ƒ’ª¨¯®´¼¶ÁÈÆ¿ÇËÌÌÊÇ¿¶ÄÊÊÆ÷¥žšš¡ ˜š•‡’—’’ž¨ªž’ŽŽ…tbbgZ\SQSQOX^^Zgn_OT`NWpmZPMJMLJFILLONMPWTW]TRWW_f\[VOJMGEECG@7543343/15UQY€«­§›}–©¯±µµ±½ÈƸÀÉÈÊÊȾ²ÃÊɾ³¥˜ž•–’ˆ‹‹“’‹ˆŽ—‰ˆ‰ƒ|tsnaXSX[YNW\UU\h\RQ]fg`^[RRLIIFHGFEFNLQ][VZUOZhffV]SMUTHI@?B9753313438=tShºÜèânjͳ®¯«ª·Äº©¯·³»»Ç¼¯½Ã¸ªžŸ—› ““„‚ˆ‰€}ˆ‰„‚€‚€}wvn`UUSS]XTYTSYfPPO]dcRRZWSLKKIJHEJJIQU[aRYQPkqcd_a\U_YUSH=::864322549?›Ž‘²ªœŸˆh†ãÊǨ ¡©«ž Ÿ¡¢¡¬¹®£¢¨šš˜Ÿ—™‘•Œ„ƒ…€ƒw‡‡„||{{spphbWPZfZRUQU^ZNX[\]XQQQRSLKPPKNRQFBJNT^QQM]``]Yei[QT^ZESF=;;9555488:<856779;?>@0SnNgbN>b‘Úʸ´ÃÆ··°´´Á¼¯¥Ÿœ‘Œœ•›•Ž†ŠŠ‰†„€yƒ}{uvwqqljfW\c`aXQRXV\]aWS\SX^ZVOINLNIADFA?FEDBRGTW[W_``\RbbTVWQLGDF966767;=FF@:763a‚:7788;BDCEcŽ`^YS«êÔõ™”ͧEH>LH=;>@96785lªÚ¸€~x}y|~z}}{‚}wwomvxzpg`bSQSDALUVUXZOLIUX[[UZd^SMLIKOMMJGJNVWY]`Z^WUQWOKLHA<8676R>79:;?>=;@KNV`XQWZPW[NLG;:997773ŠàJ26;:CIB>K[jj\KPePF@9;97;<:9>8xÙS4=;=AIJDW¼¼½»¾ tzuK@GoÊÞäëéì˨¬×¾£­áéâà×͆ƒy}|ytqzyx{zxy|€}vyyofhjhga\]Y\YONVTMOR]ZXX\]\SUMG@AGHB>CRQJV]^kkQUWK@;666;@BB>@;wèc8?8MTMejjx‡g\]QIB>:;>FMIBIIX_jŠ›•‰Œ“€pSKJBW·ëèêëèìæäêæáæëçêèëÖ{v~wyv{{hw|{z|vr}yvqmkjggbbk^SV^XW\TOSPSPZ^Zd]TUQOIGHCGKFDFMMShjjsrbbkiXQMLOUTVSIJP9{õq878U__kihZfe[\ZXQ>;<7K¢íìììëìîíìííìéêìíîÌ{wy{zvyxoy}zyzzsxqqqng^]^Z[f`UOWY`YXSMNVVZb^`XOOURLE@>IV`WZcgnbZWX_bejmloe^jxvplgjjX‡ð‚VT]tvprjeONOOPRW^Y:.3IéììëëèæèèéêêêìëéíÂwwz|zusyz}zx{}€†„‰‹Š…{vrkgcb\UXXXSQPOMS[YSXYSMRWRPW_\q‚vbkwkYTW[]^agfl~„‚‚ƒ|€„ˆ‡‰”­”‰‚{|rspgxyyzzz|E+1H~áÖ¨ƒÓß‘Š‡‰‰§í­„ÄÛµt{ywwuy†š¢¨¬««¬«§§§§¨ªª¬ª¦¢‰aZUURTY\SRZZPMNT^[W]j{†‹‚bbqiRPY[[Z]eiku}{z{ts}ŠŽŽˆ†‡‚~mrpkngwvuvwwy{|aRXd|¯¢‚qœ¿„{…‡ Ï¢³”s|yvw‚¦¤¥ ˜Œysnljhecaadhmv}€‰ƒnlqy††‰“Š‹“²š†‚{v{zkbmmaW\`^][_fehrecadcu{~„…ƒ„Œ„~{qchqmjfpoooopqsuvwxz{z}~~|~}„”‡Œˆ~tuu“šod^WSPR[cn•®’jf\[VTQPIGn}xwvtsstuuxyz‡“£±´­œŽsljklmljea]]]ZY]^XZ\]]`fgdebacnlgkhc^itlswpnlkkllnpqrrqrrtvy{}~~~}|{ywusz‰ŒžŠs‰cFMOT`hiI@?CGA;9@kusli`ECjopstuuutrqqqpooor|ˆ–¤«­©¡“rggfda`\YWYYWWXXWXWVW[XXXXXWTSTPXYboutpljjjjjlnopponoopruxyz{{|{zxwtrqz„}{}@Mn~‹”šš_J>1,1Y˜¨¬¯²²£“~a_^\KIF;0122@_Cababcdeimpsuvvtrqmlmnopollv¨º»­™ƒsiihfc``[VYTUSTYXRRUYSSTTUUX]`wwvsnkjhghikmnoppqrrrqqqrtuvwwvuutsp…PXF‰·³­¦Ÿ—È¢xžKHGCEA558pOXgecbbaabdgjnqsvwvtqnkjknpomlp|ª¿Â©‰rihhhhec_^ZXTSRSRRSSRdy…œŸ¢uuvvtpkhfeehjllnnnoooonmmnpqtuttuutu€Go8C\TMCFLOtypymKGC\o_D42_nKmjfdb``_^^_bfkoqrtuvtpkhgjnnmkjit—½Ë´sihjjiigeb^YVSSRRQWš‚€…~wtuuuttqkhedfgijlllmmmmmlmmmnprssttt|oVp024544BKJFGIGFIGA\~fM1b‰ŽGelljgcba``__abfknqrttuusmggjkmonljrŠ¬ÀÁ¨Šskijjihfb_[YUTPf™WWVSPprttuutqmhedddfiijjjklllmlklmnpqqsr‚\ma/38QYHCQJHGGHJIKKS}jG3VšYUhjmmjgca``aa__`eilpqsuvvtpkgfilnmljis±Æ¨…pjjkkhedc__Yn~BUahnknpqssrqokfb`aacdfgghjjjklkjijkloqp‚O„O037}£uAIJ878>JIJLPcsN54+qJecfjmnjfc``a`^]]`dhkoqrstrsqkedgjklliegx¡ÈÏ´snkigfeefaŠhašš ¥jlnopqqrqpkfcaaaacddfhijjkkjihijknl|PŽ@6:G}Ž™_:63326@@@InŽ“[34/X—Jefcdgknnkgbbbba_]]_ehlnprrstsqjdceikkkigdtŸÇѹŽsjlkhfdg›Xo‘³®§ijlnprsssrpmhcbaabbcefhhijjjjihhikju]Š=FHG€›gHD52232135]ž”M831C[^lhgffhlookifdegdb__aeiloprrstrojedfikkjiffvœÄл“tlkkhwœS]GfPDfikmoqrsssrqmhebbbbbcdgiiijjkjjhjilkmDMMK^ˆoLIIC>?@><:En—ƒD<:58–tSobQOZddgkmmlifeeed`__cfilnoprrssqlecfijjjjgeq“¸Í¿~nlŽSR?K46adgjlmpqrrrrplieca``abeghiiijkbYWgz]}Ik[hs_FFFJIJIKHNeŽ–iC9=96„`FjF:8;eebbdhllhdaabaa^]^`dhkmopqssrqlfdegijkkiek‚¨Èʱ‰œzTFAE37^`cfhkmopqqqoolhda`_``bdfghhjc=;6f…L_fN|SDK?@GT\_]VNNCLJ_nTIG=55>5=A6838hjgcbbdfhheb`_^^^\]^^adglnooqqpojfdehjkllkggx”¹Ÿ¢hU>::48†[bdhjlnoqrqqpolhda``_abdfggj\379HD5Qcjmjjkkidb`_adecba^\\\]]\ZZ[]`bfiklkkjjfa^bcf\W\\c}˜JHGJIAAÉÁr[dffhjlnprpopolgda`__`bcdfhhdo†FJW<;998776655666567656667788:FNZhy’§¹ÂÐãàÑÏƽg[PLQX_it~†š›¡¤¤¥®ÊÍɬ™–‹udeffghhhjihfc`^_cgijjgc^\[\]_^]YCIKTFÎÙàØïàjlu^OKW¾ÉÌZadfhhijlmmmmlkjhc`_K--.257;@FMXpŽäëìîîìíîîð𘆓“£ª®®­¬ª¦¡œ›˜—™šž £¢ždffghgffghhfc`^_aehjiiea^\[]^^]BBCQLWÅÈÎÑÎåqokdXOKd¬ÁÎÆv\ceghhiklmmmmkkkgb`Q/---27=FUg€²š×âçìììíííí¯‘—Ž‡‚~{wtqnnnmmlklmmmnpsŠodfffffeefghgdb_^_bgjjjgd`]\]_^B>AMOO]g¢¥äpjlmeSVh„»ÆÔ¼j^cdghhijlmmmmkkiebT0.--/59=L]r’ÓôîííêéçäâÙ‹¥€gfa`^^\\\]^dddcbaaab```^ezfeeeeeeefhghheb`^]afikjigda^^_B=AHMPQTX[u¿klnlgYOPPŒÂÇÔ©^^`bdfgijklmmkkkhdW1/..59L€Z439=k|vtma^^ZUM…ž^\joqtuux‚Œ—¿©‘‘Œƒ€}}yrrqcddeddeegggggdb_^^`dikkkifb_`D=?FKNQUWY\_nrpnneRLKU£ÄËÔY_acefhhhjklkkkjgY33-.7F˜ö©WSYxqR]closx}}¡}do‚††Š‹Ž‹‰iDJB8W”¡§¨£ Ÿš~zRpdbcddbcdeefegfda_^\]bhjkjifccG>=FHLPTUYacnsqstxhTOJk»ÇÐÆl]abeffghijkkkkjh\2:-.0:‚ÅŽkpŒ’•™›œž˜¤žZfŽ¶ÁÉÐÖÚÝÌdRHEHT´çâÞ×Ûàà¦p[\jbbccbbcceeddedcb_]\]afjjkjgdJ>;FGKORTXbpnmljjke\RML•ÅÈÖ¢Z_acefghhhjkkkkj\/<..-18IS>8?HA89865664:ƒ‹Po•ãÞÝÜÛÛÞÄ]icfWL¤ãÝÛÕÑÙáªSuLzp`bbaabbddccddddb__]\^cikkhgM<8FHKNQSXamlebde`b^SMJc³ÃÎÎuY`gedefgghjkjjk^->A=@DDCWXFCU”yRi‚æßßÞÝÞáµSWUdNK–æáãâáÞÝœ;vSee^_aaabacccbccddca`^\Z\bhjhiN76GJLMPRYbkjggfqmhbRLLL‚¿ÄÒ¯^]ccbcegghijjkk]-;2,+,..04667;<>ACZYB:b¡e\\V’“›  žnTShƒTRoÁÁ³¢ŒyfP9]cVknoa`aaabbbcccdddcba^\[\agikM34GKNOPSZbgnlfennqiSLMKV¤ÂÈÓ”_^abcdfggijjh`T,:5-0/*+++**)))))*'(**o VdZ;7456866>OL…«UVPF>:7534GCEpJŒÜÞ°g`aabbbcdddddddc`^][]aekL23GLQRQUZcdhqjgmorqf[OKJr¶ÀÏÊo[acddfggggg_VN,960643+****+,.5Oœ~KnO?75576663328I63565:9223134551W’ h3854HkMaa`_cb`abbbbbcccccdddb``^\]D$3E??\»¿k[[nlmehknsomiRIKLx½ÀÐÆn^bbceffedb_VC1--/+%%&()(*+***+-,V“‹aSaEQMGQVRLJPE6233337E[…Š]IME8;iHa`Y[bgb`abbbbbccccddddba`^^C"1@=>Igm_`fhchhfiqsorr_KJZfš¿ÄÕ­bbbcegfedc_[RFBA@CCBEFFGGFFGJOSS‡zYPZKOJEEFFEFFLA3436@ARXhlSLJPD?OG`WkšƒiX__abccbbccccccdcca_`F#/<<;>FPV`hgmlhmmjlnrpkSILKY§ÀÇÕ‘_bdeededdb]XUSQPRRSSRQRTUWX]gu€}|p]>IKHEGMRMKH?ONI@9=LQONMLG@8<=74B]Ua›qZ£Ä¬kabbbbbcdeeccddca_F!.85568>CKOxtrotpiikigjcKJJIqº½ÎËt\bccbccccb_^\[[[[YXWWWWY[`TiŽ¥¡xk^;59:FWVOC>;AVHC==BIPSSQHFFIKNQSVbjOrMSÂåÜŸ]abbbcccddccdaXTP=!.60K7('''&x€}pjjifhimiaOJMKL½ÀÔ­[\`aacbbceca`aa``_\[YYZZ\aWQ]vuzniUTRRTTQQSUUWWWYYZ[ZZ[[[[[[[\\]__aiVFVajrki``bbbbbcccb`_YKJI/-.4ptrstlmfllnkjeZMKH_¶¾ÉÓ~W^`bcdcceedcdcbbb`]ZZ[ZZ\^XQR^zgo\]\[ZYZZZZZYZZZZYYYYYYYYYYYYYYZ[_Y@Gdc`_^]ljaaaaabbaa][YTMK>,50+*59777nurttlnhhkkknsiQJJL“ÃÄÕ¸b`cdefdefeeeedccdb_][ZZ[\]`cVA\[oWXXXWWWXXXWWWWWXXXWWWWWXXWWXXXXY[XASecabbl…wcbba`a``abbb`VKA$-3.**12010mtmnmkkjgjillmiSJJJg»ÅÍÖˆ]cdfgfffeeffedddca^\[[[\]^_]>@^rSWWWWWWWWWVVVVVVWVVVVVVWWVWWWXXVVTM[dbbabbZZ``_`aa`_```_][QB,0/-,/3&%%%ljlsrmjlnmfhihiUJKKM“ÆÅÓ¹a]_addeeeefffddddb`^\\\\]^bfYrhuRTVVWVVVWWWVVVWWWWVVWWWVWWWXWRU`fQbccbbaa```^``^aaa____^\[VN>0*((*-&&&'jloqmlmorplgkkfSLKLJc¸ÆÌÖ‹^defffggfggfeeeeeb_]\\\\^bf]tggcYUVVWXXXXXWXXXXXXXXXXXXYYUY~]dibcbbba`b¡¿¾•_aa`____][XUPE<::;CWbbaaa_^][XUXca```___^]\ZXXYYYXYXVUgijg`_`hhqzwqrmjmcQKMR[°ÉÇÖ©cefhighgefffgfffec`^\[\M[\VOeßÝÁÝñ¤dosttutuxy~zzzzzxssss…ÓçÌÂÞª‡’¢£¦¦¥¢Ÿ–Œ„wryd_`_``^]]\\[[[[\\][Ypllmjvprirqtsr{l]SJJLKyÄÃÎÓ…beefeeeefffgfeeedb_]\\MZ[OFM°ÇŽÔî´dwx{}‚†‰’š  š‘‘”š£°»»¶±¯±³¯¬ªª©©ª¬¬¬®¯²³˜hd_`_aa`^^]]]]]\\^__\„{€xuzwigoxuwzre\RJJKKQŸÇÅÖ»e`bbdddefffffeeeec`_]]PPQKBGP[Y¡â›s›­·¿ÄÍÔÖÚÜÛÚØÏ¥¶±®©£›š˜•”’Š‡ˆ‡‡‡‡‰Š‹Ž‘—n[l^_aa``^^^]^^^]^_^^†|u~xrpilsmifoibccTJKJ]f~»ÃÊØ\aaccefeefffffedcb`^]SGFJBEKPU`rv¢Ú¢{snjomsÉÁdWŠœ•Š…ytnjfb`[WVVUTUUWXYZ_cch~babaaaa`_____^^^__}xwxsnpa`hqyrijdYKKJU\Y˜ÃÁÖÁf^acccddeeeefeedcba_]VFCHBEKOT[dƒÆÓ@/25665Uäê`>‘ouxmaZUOMJGGGEGLKJKKKJJJIHHHFGI`ihedcccaa`____^^__†‡†††‡‡‡†…†‡‡††‡‡‡‡‡ˆˆˆˆˆˆ‡‡…ƒ‚~|yutttxywyzzy{{zwuyyz{zzyz{~€€€†††…†††††…†††…††††††‡††††††…„{xuttvuvyxxywy{zywtwvxzzxwy{~€€……………†††††…†……††††††……††……………‚€€{uwwxwwyzxxwz{zyxvvvxyyxxyz}~€€…………††……††…††……………………„……ƒ………„ƒ€~zyyxwy|{yxwz{{zywvvxyyyzzz}~†„„……„……†……††……………………„ƒƒ‚„„„ƒ€~|yxwyz{zyzzz{{zzvvxyxyzzz|~€‚„‚‚ƒ„ƒƒ…………†……………………„‚‚‚‚‚~|zywy{{zz{||{zzyuvxz{zzx{~€€‚„†ˆƒ‚ƒƒ„……………„††…„„…‚€€€€€}~~}{zzwwwyyz{||{zzxwwwxxzzy{~~€€€€‰‰‡…ƒƒ„…†………ƒ„„„‚~~~€~}{|}|zyxwxwvx{}||{{yxyxwuvxyy|}~€€ˆ…ƒ„‚ƒ„…†‡„‚ƒ€}{z{{{|}}}~{{z{|zyzxxzxx{z||}}|zwyyvuuwwx|€€€‰‡ƒ…†€~€‚„~|ywwwwx{{y|{yyxy{yzzxxyyz{{|}~}|zzyxwvuvuw{~€€~ŽŠ‹„€€‚€{yyyxwvvzzxzyxxxyzz{{yuwxwz{|}~}|zzxwywuuvw|‘‘‹‡‡ˆˆˆˆxzywvwwxxuuvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy|~€~~‡‡‡…‚†‚ƒ‡ˆˆˆˆ‰…|yxvwwvvustuuuw{|}zzx{{yzy{|~~}{yxwwxwwz|ˆ€}|€€~‚ƒ……„„ƒ„ƒwvuuuuttsuutuwzy{yx{||z{z{}~~~}zxxxxz{}€€ˆ€€~}{€‚‚‚€uvttttsssttuuwxvyyy{zyyy{}}zvwxx{~€€}}€~|x||}€‚€~~vtututsrstuwwvwxyyz{yxxxz}~~}wsuvw{~}|~}~€|wr||}~~~€€~uutsssttuuvwwwwxxyz{yxxy{|}zzyvqpqqnqrqqrw{{wqnn}}}~€€‚€~tuux{ƒ„„†††…„€{z|||z{{zxrnionsssqmhgggffgifeijlƒƒƒ„……„„……„„ƒ‚‚~~‹’‘Ž‘‘…‚‚‚‚ƒ‚}xuuxyzyzyxwxxuqrqonopnmˆ‡†ˆ‰Šˆˆ‰‰‰‰‰‰ˆ‡‡‡†Œˆƒ‚†ˆ‡‡‡†ˆ‹ˆƒ„ƒ‚‚ƒ„……†…†ƒ€€€‚ƒ„ƒ„„„…„„|u‰‰ˆ‡ˆˆ‰ŠŠŠŠ‰ŠŠˆˆ‰ˆ‡‡€}‚ƒƒ†‡‡ˆ‰‡………ƒƒ‚‚‚‚ƒ„†‡‡†…‚€€‚ƒ‚‚„„„…‡‡ˆ‰‰‰ˆ‡†ˆŠ‰ŠŠŠŠŠ‰‰Š‰…‡‡„…‡†…ˆ†€ƒ‰…„ƒƒƒƒƒƒ€€ƒ†‰‰‡…ƒ‚€€‚ƒƒ‚ƒ†ŠŠ‰‰‰Š‰ˆ†‡ˆ‰‰ŠŠŠ‰‰Š‰†‰‰ƒ…‰Š‰Š‡‰…„ƒ‚‚ƒ‚‚‚ƒ€€‚…‡ˆ‰ˆ„€€‚€ƒ…ƒ‚ŠŠ‰‰Š‰‡‡‡‡‰‰‰‰‰‰‰‡…ˆ‰‚„‰ŠŠŠ‡~Š‡……„ƒ€‚€€€€‚„ˆŠˆ†ƒ‚€€€„†…„ˆŠŠ‰‹‹‰‡††‡ˆ‰‰‰ˆˆ†ƒ…†…†ˆ‡ˆˆ„}€‰‰†…„„„‚€€€‚‚‚‚€€€‚„†‡‡†‚€€…ˆ‹‹„‰‰Š‹Š‹‰‡††‡ˆ‰‰†…†ˆ†…†‡‡‡‡…†…†ŠŒŽˆƒ…‡‡„ƒ‚‚ƒƒ‚‚€ƒ…‡†„€…ˆ‹Š€†‡‰ŠŠŒ‹‰‡†…†ˆ‰ˆ†ŠŒŒ‹‹‹‹ŠŒŒŒ’‹„ˆˆ‰ˆ†ƒ‚‚ƒ‚‚ƒƒ‚€€€‚ƒ…z€…ˆŠŠ}ƒ‡‰‰Š‹‹‰‡†…‡‰‰ˆŒ‹Š‹ŠŠ‰‰ŠŠŠ‹Š‹Œ‡ˆˆ‰‰ˆ‡…ƒ‚‚€‚‚€‚|€†ˆ‰ˆ||†ˆ‰Š‹‹‹Šˆ…†‡ˆˆ‹…ƒˆˆ‰‰ˆ‡‡ˆ‰ˆ‰€~‰ˆ‡‰ˆ‰‰‰ˆ†ƒ€€‚‚€€€ƒ†‡Š‰‰}}~ƒˆ‰ŠŠ‹‹‹Š‡††ˆ‡‡‚ƒ††††…††……„€€‡‡…ˆˆˆ‰‰‰‰ˆ†ƒ€€‚‚‚ƒƒ‚€„†ƒƒ‚{~}}„ˆˆŠŠ‹‹‹‰††‡†…„‚‚ƒ‚ƒ„„‚„††‡‡‡ˆˆ‰‰‰‰ˆ‡ƒ‚€‚ƒƒƒƒƒ‚€ƒ†xutw~|†‰‰‰Š‹‹‹‰††…ƒ„…„„ƒ‚„‚„…„…†††††‡ˆ‡††ˆˆˆ‰‰‰‡…ƒ‚€ƒƒƒƒƒ‚ƒ…„~|pz}}‚‡‰ˆŠ‹‹‹‹ˆ†„ƒ…‡ˆ‡…ƒƒ‚‚…ŠŒŒŒŽŽ‰‰‰‰ˆˆ‡„‚ƒ‚‚ƒ~~€‚hm|}z~ƒ‰‰ŠŠŠ‹‹Š‡ƒ‚„………„€€„Ž”””––••••••”‹ˆ‰‰ˆ‰‰‡„ƒ€€‚|wwy}jiq|}~†ˆ‰ŠŠ‹‹‹‰ƒ€‚ƒ‚‚ƒ€€€…Œ‰‡…‡‹‹‡ƒƒ„…‹‰‰‰‰‰ˆ‰‰†ƒ‚€€‚|rrrtkjkw€~}ˆŠŠŠŠŠ‹Š…€‚‚‚‚‚‚‡Š€zyy‹Œ„yzy|ˆŠ‰‰‰ˆˆ‰‰‰‡„‚€‚{rqrsnnns€}}…‰ŠŠŠŠ‹‹†‚‚‚‚‚‚‚ƒƒƒŠˆ‚}|}…Š‹‡}|~‡Šˆˆ‰ˆˆˆˆ‰‰‡ƒ‚ƒ}srrtominx~|€‡ŠŠŠŠ‹Œ‡‚ƒ‚‚‚ƒƒƒ…‰‡‰‹‰‰‹‹Š‹‰‰ŠŠ‰‹‡†‡ˆ‰ˆˆ‰‰ˆ‡„‚ƒwwvwkkhikz}}ƒˆ‰ŠŠŠŒˆ„…ƒƒƒƒƒ„‡‰…ˆŠ‰‰ŠŠ‹‹‹„‚ˆ‰‰‰‡ˆ‰‰‰ˆˆˆ‰‰‡„ƒ‚~}|nniges€~|~…‰ŠŠŠˆ†‚‚‚…†‰‰ƒ†††††ˆ‰ˆ„|{„…†‰ˆ‡ˆ‰ˆˆˆˆ‰‰ˆˆ…ƒljhgfl{~}€‡ŠŠ‰‰‡†„ƒƒƒ‚‚ƒ„…‰Œ‡‡‡†‡†‡‡‡††…‰‹Œ‡ƒ†„†ˆˆˆ‰‰‰Š‰…‚‚fgghhiq~€}|ƒŠŠŠŠŠ‰‰‰ˆ‡††‡ƒ‚ˆ’““’“”“”””••••–—–‰…‡…†ˆˆˆˆ‰‰‹†€‚…†ihgfghhu€}ˆŠŠŠŠŠ‹‹Š‰‡†‡†ƒ‰’–””””““””““”“““’‰‡‰ˆ‡ˆ‰‰ˆ‰ˆ‰Š‡‚€„…jhgdgjhs€~~„Š‹‹ŠŠ‹‹‹Šˆ‡‡‡ƒŠŽŽ‘‘Ž†…‰ˆˆ‰ˆ‡†‡‰‰ˆ‡†…ƒ€€ihgfikin}}€ˆŒŒ‹ŠŠ‹‹‹Š‡‡†„Œ‡ƒŒŽŒŒŒ‹‹Œ‰€†ˆ‰‰‰ˆƒƒ‡‰‰ˆ†…„‚‚‚‚jjjjiihkt€}ƒ‹Œ‹ŠŠ‹‹‹‹‰‡…„‰‚||„ŠŠ‰‰ˆˆˆˆˆ‰…€…‰‰‰ˆ‰‡‡‰ˆ‰ˆˆ‡†………„mkjjnkhkr}‚~‡ŠŠŠŠ‹ŒŒ‹Šˆ†„†„€ƒ†…„„„„„ŠŒŒŒ‘‘Œ‰‰‰‰ˆˆ‡ˆˆlmnoqpmpt|€~}~‚‰Š‰‰‹ŒŒ‹‹‰†ƒ………ƒ‚‚€ƒƒ…’””““”“’’‘‘’’“‰‰‰‰ˆˆ‰ˆˆzzzzzzzz{zz{{zzzyyyyyyyyyyyz|„ƒƒ„„††‡‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yzzzzzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†ˆ‡………………††…†‡†ƒ‚‚‚zzzzyzzzzyyyyyyyyyyyyyyzzzzyz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzzzzzzzzzyyzzzzzz{z{{{zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„†ˆ‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{||}}}||~€‚„„„„……………‡‡‡………„ƒ„…‡‡‡†…„‚‚‚€€{ƒ~|}}{zyzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€‚€€~|{zzzz|zyz{|}€€€€€„…ƒ„ƒ„…„„„„…‡‡‡„…†………„…†‡††‡„ƒ‚‚ƒ‚}}|~}|{zzz}{{~€‚ƒ‚‚€‚ƒ……„…„„……„„„…†‡†„………„………†††……„ƒ‚‚tu|~}€€€~}|{}€…††…„„ƒƒ„‚„…††……………„„ƒ„…†……„„„„„„„…†††…„ƒ‚‚‚‚‚ww~€}€‚‚€ƒ„ƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††ˆ†…ƒ‚‚€‚‚zy{|z€„‚‚‚‚‚‚ƒ…‡‡ˆ†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒzzyzz}~|{|}‚ˆ‡††††………†ˆˆ‡ˆˆ†…†……„…………†……„„„ƒƒ…†††……ƒ‚€€‚ƒ€…‡‚€||zz|}€‡‡†††††††‡ˆˆˆ‰‰†…„„„„„„††‡††„„„„„…‡ˆ‡„‚‚‚‚„…„„„ˆŠ†‚~€€„†‡††…‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆˆ‡ƒ€‚‚‚‚„…ƒ‚‚‡ˆƒ€€€€€ƒ‡‡‡‡††ˆ‡ˆ‰‡†‡‡…„„„„„††‡‡ˆ†„„ƒ‚ƒ…ˆˆ‡†ƒƒƒƒ€‚…„ˆ‰ˆ‡„‚ƒ„ƒ‚…‡‡‡††‡‡‡‡ˆˆ‡‡‡†„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€ƒƒƒ‚„ƒƒ…„ƒ€‚‚‚€„‡‡‡‡‡‡‡ˆ‡‡ˆ‡‡†…„…„ƒ„…‡†‡‡…„ƒ„„‚‚||}~~ƒ‚€€‚ƒ„„‚€€‚‚ƒ„†…ƒƒ„‡††…ƒƒ‚€€€€ƒ„ƒƒƒƒ†‰†††‚~}}{{z{{{{{|~~~~€|~€€€€‚‚‚ƒƒ„„ƒ~}|||}{|}€€€€……„„…€€~~~€€€€€€€~~}}}~}}||}~}|||~€~|||}~€€€€€€€€€€‚‰„ƒ„ƒ€‚‚‚‚‚€|~~}}}}}}}||}}||{{{{yx}}|}€€€€€~€ƒ„‰…‚‚€€€€€ƒ…||}~~}}}}}}|||}~|}~}xzzxx€€||€€€€€€€€~ƒƒ‚‚‚‚€€Š ¤}|||}~€€~~~~~}}}}}}|}…€yxxwz‚ƒ||€€€€€~€‚‚‚†ˆƒ‹‡„~}}}}}€€~~}}~~}~}{|ƒ€y{zy|†„|{}€€‚‚€~‚…†‚‚†‡z|€~}|}}~€€€~}~~}}{|~{{||…„|{}€€‚‚‚€~~€ƒ‚€‡…z|}}}}~€€€~}}~~~~}~~€}||~€€‚‚‚‚€~~ˆ’ˆ‰y{„€}}}}~~~~{|}||}}}}}~}}|z}~~~~€€€€‚‚‚‚€¨½¢€yzƒƒ€~}}}}~€~~}|}}||}}~}~}}}}~€~~}~~€‚‚‚‚—¨›šŒ‚†„‚€~}||~~|ŠŒ~~~~€~~~~†~~}}}}}€‚‚‚‚†ž¤©¦“‰‚€~}}|}~€~‡‰‚€ƒ€€€ƒƒ€~~}}~~€‚‚‚Œµ¿ÂŃ„ƒ‚€~~}}}~€€€€€‚„‚ƒ†ƒ€€„„€€€€~~}}}~‚‚‚‘¯ËÏÓƒ„‚ƒ‚‚€~~}}}~€€€€‚ƒ‚‚„ƒ€€ƒ€€€€~~~}}}}€‚¦‚‚‚‚‚€~}}}}}~€€€€€~~€€€‚€|||{{zxxxzyxz}~}}~}~‚‚€ª§‚{{}‚Œ‚‚~}}}|}~€€€€~~‚ƒ„„ƒ|xxwwxxyxwwwy|~~}}}~~€‚€€ªÇ¾ª–}{ˆ‡‚ƒ€~}}}|}~€€€‚ƒ‚„‰Š‰ŠŠƒ{{}~~ƒ‚~~~~}|}~~~~~~~~‚‚€©ÌÒÑÊ||€‚ƒƒƒ€~}~}|}~€€ƒƒƒƒ………„„||}~~}z{{}}}~||~~~~~~~~‚‚~£ËÎÎÉ~‚ƒ‚‚ƒ}}}}|}€€‚‚}|}€€|xzz}€{|~~}}~}~€‚}žÌÏÐÇ„€|€‚‚‚‚‚~~~}|}€€€€€€€}|}~~{xxy}€€~{|€~~}~}~”ÅÀ¿¶‚~z||€‚‚€~~~}}€€€€€€€€~}|{||{{zzz}‚‚|{|~€}~~~}~„–‘’~zyz~ƒ•ˆ‚€~~~~~€}}}||||}}||~ƒ„~}}|~~~}~~~}~€‚‚‚‚€€~yxx~„ˆ„‚€~~~~€€€€€||}|}~~}}}~}||z~€~~~~~}}~€‚€€€~zxxz‚‚‚‚~~~~}~~€€€|xwwxwxxxwwwwvvvuu~€€€~~~~}}|~€€~~zxwxyƒ‚‚‚€~}}}}|}}€}xwwvwwwwxwwwwwwvx}€~~~|~€~yxyzzƒ‚‚‚€~}}}}}}}~€€€€{{|zxyxxxyyxxyxy}€}~~€€‚‚‚‚~{x{|{ƒ‚‚}}}}}||}~€€€}z~ƒ‚{yzyz{zzzzz|€‚}~~€€‚‚‚‚ƒ}{|}~~€‚‚‚}}}}}|||~€€~|†„€|}|}~}}|}|~€€||||~~~€‚‚ƒ~€„„‚‚‚„ƒ‚€~~}}}||}€€€€ƒ…„‚€€‚€}{zyyxxxwvwwwxz}€€€€ˆˆ‡ˆ†…„…†„‚™Ž~~~}}}}}~€€€„ƒƒ…‚€{xvxwxzzzyzyxyz|~~~€€€ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÂÆÃÌÏÏÏÏÏÏÏÎÍÎÍÎÍÍÌËËËËËËËËËËËËËËËËÌÌÍÌËƾ³®¡œ~{pgkujjgljqbfaU\`\[a[S[`\]TPORYX_e^dRTUUTWTSYTPV]][WTLD=9;:421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËËËËËËËËËËËËÌÌÌÎÎƳ§–t€ys^^_o|n\]ljfZXXZ^YUTO]f_ZQOOPXVZehfOU\_XPPKQQX]aZUOLI@@75421/75ÍÍÍÍÎÎÎÍÎÎÎÍÍÍÍƿÿÇÊÊËÌÌÌÍÌÌÌÌÌÌÌÌËËÌËÊËËËËÌËËËÌÌÌÍÍÍÎÍÍÀ£‹‡pmlokimpt|z^a_bcZYYZZ\RSV\aXYXVSQTSVZecPPWZTLNMQQ\b__YQGA?<851220.2ÍÌÌÍÍÎÎÍÎÍÌËËÌÌÈÀÄÀÉÌËÊÊÉÉÊÊÉÉÈÈÈÉÊÉÉÊÊÊÊÊËÌÌËËËÌÌÍÍÍÌÍÌÍ˳˜’yjpuwr}fda\fW`bbZ[WU^YSXedQORVWRNKWOXfQNSWYPLROPX`]`USTNG?<84321--ÍÍÍÌÌÌÌÌÍÌËËÌÍÎÈ¿ÀÀÊÍÎÎÎÍÍÌÌÌËÊÊÊÊÊÉÉÊÉÉÉÉÉÉÈÉÈÈÈÆÈÉÉÊËËÊͼ’„}r_k|mbg_^_VhaXWTSLZ`^_ol[QOT[SMITRRWRYYWUNOQTZ^WVZPOXNI>?A;520,+ËËÌÌÌÌÌÌÍÍÌÍÍÎÏǸ»ºÈÍÎÎÎÎÍÍÍÍÍÍÎÍÍÍÍÍÌÌÌËÊÊËËËËÊÉÅÉÊÊËËËÇÆâˆxzog^jomb_`^V[_UQZRRPXedefbfUQUXSQSTRRVQY]_URSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎźŻÆÎÍÍÍÎÎÍÎÎÍÍÍÍÌÌÍÌÌÌËËÈÉËÌÍÌËÈÄÊÉÊÌÍËÆÃÀ±™zwodUSb^Y\``]a^WTQKMTX^`bh^YROOONJRQSP^KSSYZVYX]Y[VRPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÂÅÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÈËÇÄÁÄÀÆÆÈËÌɾ¼«Ž~voVSPQNVWloeab[WLCALYPY`_]VSQJLKHKHPKWNQTUUVYZYZ]XRNRMUNBG@>>3/.--ÍÍÍÍÌÍÍÍÍÎÍÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÌÍÌÍÍÍÍÍÍÍÍÌËÉÇÆÅÈÀ½¶À¼Á¾ÃÊÈÄ»®£¤Š|sq]UVWWfh[mfe_UUPPVTcTNY\RNVWQJJFNOQXWQPWYUSWWUMSYRPVPWV?5622/----ÍÍÐÖÔÎËÌËÉÈÉÉÊ̽ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÉÁÁÀ½Á»¹©¾·À·¼Æ½¼´£ˆ…|o‰xbZ]Z\cjVl\T[SMSS\[UMORVPORUWJKKSRRXf\NUWVUTTYPPYWX[[LC<7540.-,--ÍØæðîãÑÊÈÁ¼½ÀÄÈÀ½ÆÁ¿ÊËËËËÌÌÌÌÌÌÌÍÍÍÌÌÌËËÃÁº²»¸°¡º±½µ³Á³¹²—…zxkfbaaaRZa[Ud[SY\NSRV[TUSMMMJKLRXVNQOQPbYMY[WQKNXWUTXPLKA7=<:61.-,--ØíỾãçʾ¶°°¶¸ÀÁÁÉÆÁÉËËËËËÊÉÊÊÊÊÉÊÊÈÇÇÃþ°ª¦ª¯£ž©­²®±¸ª©œ‚wxsjiQ_eZWbWQZf]X^WKOQS[`aTPLLKMPLTWKOTNQ\\X`\SOKNXUVUOPXIBB=:;951//-,îØ‹op¥ë×´®«­³²¿ÃÄËÈÃÊÍÌÌËËÉÆÊËËËÊÈÇÅÁÁ½½¯ ™˜£¤™—¢¯©¬«¦¡˜rlifjm[VWT`_UV[XX_UQVSSTT^WPSONSUQSSWQOWPRY^X]WX[U\]RSYWSQ?>E:8777520/.Á«”—• Èв­©­°³ÀÀÄÊÇÁÊÍÌÌËËƾÇÊÊÊÊŽµ®±²·©Ÿ”Œ—™˜”¦µ¬¬£–—‘xhccUf_QKHNV`XPP]g^`m]^a[SVMONOOQVRTPSYQYNN]\]fZb]he`ROMMJK@=?8854453./2cjferwuy¢¨¯®´¼¶ÁÈÆ¿ÇËÌÌÊÇ¿¶ÄÊÊƶ¤žšš¡ —š”‡‘—’’ž¨ª’ŽŽ„tbbgZ\SQSQOX^^Yfm^OTaNWomZPMJMLJFILLNNMPWTW]SRWW^f\[VOJLGEECG@7543344/15aPUpª·µ¨‹‚§°°µ´±¼ÇÆ·ÀÉÉÊÊǾ²ÃÊɽ²¥˜ž•–’ˆ‹‹€“’Š‡Ž—‰ˆ‰ƒ|tsnaXSX[YNW[UT\h\QP\ef`^[RRLIIFHGFEFMLR][VZUNYgfeU]RMUSHI@?A9753313338=Š[XžÖãåÖ•q¶¶®®«©·Ä¹©¯¸´¼ºÇ¼¯½Ã·©ž—› ““„‚ˆˆ€|ˆ‰Œ„‚‚€}wvn`UUSS]XTYTSXfPPO]dcRRZWSLKKIJHEJJIPUZaRYPOjpcd_a\U_YUSH=::864322549?Ÿ“Ž§¯Œ‰`j®Íǧ ¡©ªž Ÿ¡¡¢ª¹¯¤¢¨™™˜Ÿ—™‘•Œ„ƒ„€ƒw‡‡„||{zsoohbWPZfZRUQU]ZNX[[]XQQQRSLKPPKNRPFBJNS^QQM]a`]Xei[QT]ZERE;;;8554488:>Q1@gU]qR>=OOROOOPUxf˜žÌŃKE=?JSSUC:8?8d™‡‡€}~}x}}„„~|€z~vptywsnie[SMKYWZSTW[[XHW_Z\XY^UJLSNLILONOTUXV[mcZZZZVYWQVJMI=763aƒ:7778:ACBDan˜h`[Sì×ïÍuͽ_??HO><>CA<;<9GšÏá|x}y|~z}|{‚}wwomvxzpg_bSQSDALUVUXYOLIUX[\UZd^SMLIJOMMIGJMVWX]`Z]WUPVNKLHA<7676Q‚>789;;@HJHM{ÂiJIDˆñâï´jäÅ}py‡Œ’“–šš˜“‹°Öߎ|xwzyw{z}||~‚‚xvwlintxmh`^OQTGHOTX[TOSQTUZUVVY_[RKDCBDGIEEFJSV[ZUMURTQSNGEC<96676ZB88;<;AGGHŽ®ä ‰‚„˜{zWW¸ÆÏÈÊÍÏÑÓÔÓÓÔÓÐÎÐÕ£‡}|{vwwvwvzz~€vuuotlmuphg^QVVTWY^\XFEQW_W[XWTU\UNICD@>>>=;@KNV`XQWZPV[MKG;:987673‰çS07;:<69?EGI[gWSXV[[SFAA;67877:5…åS.8<=BHHDRóóóóóðéášTKEN³ØÝæêêëíëêéçèêêéåÚЗ‚xz}ywwxxwz{y{z}}ywyslgnffcb[foaYMOYXTQRYW^YVYcYOHC@?@BA?>CHB=K[jj\KPePF@:;97;<99>7uÝ[3=;=AIICV´²¯±³©qj{XBAW¬ßâêêéÛ§ž¾Ïš™ÂìâáÝש~y}{ytqzyx{yxy||vyyofhjhga\]Z\YONVTMOR]ZXX\]\SUMG?@GHA=CQQIV^^jkQUWK@;666;@BA>@;wèe8?8MTMekjx‡g\]QIB>::>FMIBHIX_jŠ’ŸŒŒ‘‹w^KJFE‹äëêëêëéäèêäãêêêêëêœs|xxu{{hw|zy|vr}yuqmkjggbbk^SV^XW\TOSPSPZ^[d]TUQOIGGCHKFDGNMTikjsrbbkiXQMLOUTVSIJP9zôr778S]^khhY_iZZXURD9;9IU`V[fjncZWX_bejmloe]jxvplgjjW†ðSR[suprjePNNOPSW`bJ.1;iÐîçãçêßÞßáäåèëãäëàˆty}yss{{~|xwywouttxum`Y]ba`_\SWXXSQPOMS[YSXYSMRXSPW^[p€vbkwkYTW[]^agfl~„‚‚ƒ|€ƒˆ‡‰“®“‡{|qspgyxyyz{{~b+/9_ÃÞ·v£ð£|}}€ŒÝÑoÍÓ}yzwwutwxz~…Š‹•——››™“‹‰‰vli\ZUURTY\RQYYPMNT^[X]i{…‹‚bbqiRPY[[Z]eiku}{z{ts}ŠŽŽŽˆ…ˆ‚}mrqkngwwvvwxxz|nSU[nŸ±–{¿ z†’ŠÏ±ˆ ¶­u{zvxw|Ž—¥«¬­¬¦£ž›˜–—˜™™œ £§¨£‰mkqy†…ˆŽ’Š‹“²š…‚zv{zkbmmaW[_^][_fehrecadcu{~„†‚„Œ„}{qbgpljfponoopprtvvwz{z~~€}€~}{|}‚’“‡‹‰uuw{¢¢•†{qkd`^ftud^\XWZ^chj~xwvtssuuuxyz‡“£°³­œ~sljklmliea]]]ZY]^XZ\]]`fgdebacnlgkgc]htlrvomlllllnpqrrqqstwy{}~~}|{{ywtszˆŠ Šp|šeWSONOPV]avœp\ZZa_YURCDlpqstuuutrqqqoonor{ˆ—¥¬®©¡’€sggfda`\YVYXVVXXWXWVW[XXWXXWTSTPXYbpxsokjjjjjkmopponoooquxyz{{|{yxvtrqy‚zƒnANV]ht}a88410354Mnoonl^@Jeefhjlpssstsqommnnnnoryƒ“ª¼»¥‹tjfgggb_][WURRTSQRV^`TTX[VUVVTTUSXxuqmjijiijmnopppooopqstvwxxxxxvutrnowP@l‰“œ¡§’cU=22;FHGD<:96EGP]aa_PIBHnl[97:yVWmljgcba``__abfknqqstuusmggikmonkirŠ¬ÀÁ§ˆrkiijigfb_[YUTSP]£uvvoortttttqmhedcdehijjjklllmkkklnoqrssu‚K}?148769JLKIHGGHHFGox^<>Œ¥vGhjmmjgca```a__`eilorsuuuspkgfilmlljisŽ±ÅÁ§„ojjjkhedc__]Wm•QRQNjmpqrrrqokfb``acdffghiijkljiiijlnqqxwS512Hvt@Ii]ECCIJGNEc|\:8Pr‘H`dfjmnjfc``a`^]]`dhkoqrstrsqkedfiklliegx¡Çδrnkhgfeeffbv|Ebntikmopqqrqpkfba`aabddfhiijkkihhhjklmyghw033T—•]@B:556DJFNI\kq?507‘]Wfcdfjnnkgbbbba_]]_ehlnprrstsqicbeikkkigdtŸÆиsjlkhfdfbej¤¥§ijlnorsssrplgcba`abbdfghiijjijihikhxZ~d3@:hŒ™”G;43217=9CLˆ™ˆA422}|Llgecdhlookifdefdb__aeilopqsstroiedfijkjiffv›Ãл“tlkjigjWl‚¬¡fikmnprsssrplhdbbaaabdghiijjkkifhkfzUŒUCLDX‚‡|MK?65553247xŸv;730b™Ljmkhfdcgkmmkhfdeeca__beilnoprrsspkecfhjjjjgeq“¸ÍÀŸ€mlj}šSZ@X?`dgjlmpqrrrqolieb`_`aaeghiiijkkkklcyU–PJQL_{‹VFGGDBCC@?=b‡˜`?;:3R¨PbkPEFZebbdhlkhdaaba`^]^`cgkmopqssrplfcdgijkkiek¦Ç˲‘w’‰SO@J4^`cfikmopqqqpnlhca___`adfgghikbOLX~sTRaxKaZJGJORSLOMMVrƒN>7=2J{4Hkfcbbdfhhfb`_^^][\^^adglnnoqqpniedehjkllkgfu’³Æ©žwTC@B3ƒ[adhjkmoqrpppolhc``__`bdfgghiF76444347647756:;==8:@?=É¿q[dffhjlnorpopolgc`___`abceg\F<;07_D<:98866666666557666667788:CLchhhijkkkkkkifa`cfhjhfebaaaa`]]]`bdhjmoqrppolfTPZ_eziAK“xA;y³ÃÎX^cefijlmnpoonmkgba```abdeee˜ŸSI<43565555443347754433333352>[jQJYghhijijkkjkkjgcaadgjkifca``__^]]^_behknooqpoodLKIAC\rSC@:9PŽºÇÈsYabfhjklnoooonlkgb``__`bbcdŽbT|hK12333322333FE4433222331Oœ¡£cOVgfhihhijijkjkjhdbaacgiifca_^^^]]]\^_bfikmopppolc‘“^m~~rmiYYw­¿Í³c[bfhjjkmnnnnomlkeb____aaaimp]u«¥½^012121134464543320110E‹¦˜˜x?Pecefgghhhijkjjkigdb`adgigec`^]]^][\\^_bfilmnooqf³yvhjf^^_WXz¸ÂÍž[_dfgijlmmnoommmjda`___`aelC>Š—¤¦™[.-00//026657401147>E˜µ¢Â¡h,I›¿ºdefgffhijjjjihgb`_bfhihfb^]\\[\[[Z\^bfikmnqk‹¬|kZ_^XVVPJN‰¹ÀɉX]acfhijlmnnmmmlhda_^^_aYhB,m­Ç§ÒÅdeMGJMOH9{”;I_^XTY’¤îìÄÒ­Q*>}§¬ccffeefghiiiiijgca``beiigd_\\\\\[[ZZ\_bfjlp\{ ugVTWVTT]RKT—ºÄÂuT]_aeghjlmmmmllkhc``__aTM9,Q¨ÓÅïðË s[`aŒžP­Oinh_\s­×ðêÓÚƒ6,:cb`b‚xeeeeffgggiiijigdb`_`cfghd`^]\\[\[[\Z[_dhlTd‹c^TTUVUTfXOI]¨¾É¼jZ_adghhjlmnnmmkjgb`_^_[=1+6mξÏÙ쬑[Z_Y[gßë{Ydclh”´¸­ˆ^`?/-8fbegqjbaaffefffhhhiiigfca__adhihea]\[[\\][YZ\agQWzbZQMSWWWkaPMIs·¿Ï­a\acfghjllmnnmlkifb_^^[=-,.6JFSyyx©chsr_tØèdqtod{e?H?201/09g_decx§¬™ldeeeefgggiiiigdb`_adgjjhd`][\\^^]ZYZ_LUiaX}–s`jnkofSLMˆ»ÂÒ—Y_cefhijkklmmlkkid`_^W7,,,/037=:BTQVbq’´Æ¤•‚la\VPHB=61-,,9d\effo§ÈÅ_`acdeffghhhjihfc`^_cgijigc^\[\]_^\ZYGOV[F™¾¹­ÂÞjlu^OKW¾ÉÌ€Zadfhhijklmmmlkjhc`^V3,-2557;AHRaqš»ÇÏÖäëâÚÙØÄ|aRNLQU[dox†š—¡¢¢¡ž Ÿž™’Œldfffhgffghhfc`^_adhjiiea^\[]^^]YCIJSD‹ÑÛà×íqokdXOJe­ÁÍÅt\ceghhiklmmmlkkjgb_Z5,-/379?GNXlƒ·òéîïíëìííòÔ›’—¦«­¯®­«§¡ŸŸŸŸžœ›ž¡¤§£œtdfffffeefghgdb_^_bgjjjgd`]\]^^]CBCQLU¾ÂËÑÍojlmeSVg…»ÆÓºi^cdfhhiilmmmlkkiea]:,--05:AM]t•µ¨íâíííîïïïôÏ…º¤‘™ˆ„€|zvrpppppooppnoss|‹heeeeeeefhghheb`^]afikjigda^^^^B=AMOOYbˆ£¤klnlgYOPPŒÂÇÔ§]^`bdfgijklmmkkkhc_;,.-.26:BN]oˆ—íçäááÞÚÔÎΊ§ujida^^\\[[]`_^^^^^_]^^_Zlwdddeddeegggggdb_^^`cikkkifb`_^A=AHLPQUW\rnrpnneRLKU£ÄËÓŒY_acefhhhjklkkkjfb=...1;Bˆ“C+-3E`]YSPOMIGBE¡ˆV_gkprssy„Œ›¾ ”‘‹„}~~tptnbcddbbdeefegfda_^\]bhjkjifc``Cj“™Ÿ™–•{sVsbbccabcceeddedcb_]\]`fjjkigccG==FILPSVXanmljjke\RML•ÄÈÕ¢Y_acefghhhjkkjjif@73-.2IŸœm]kx€…‹‹‹‹Š…}vŸ‘Pu•²»ÆÌÒØܶXOECE^ÉäàÚÖÛÞÜ–rQhm`abaabbddccddddb_^]\^cikkgecJ>;FGKORTXblebde`b^SMJc³ÃÎÍtY`gedefggijjjjjh=64,--27GI7;@G46641111/GyQt´âÞÝÝÜÜà¬XjaeTR¼âÞÚÓÑÛá˜[jRh__aaabacccbccddca`^\Z\bhihffL;8FHKNQSXbjggfqmhbRLLL‚¿ÅÒ¯^]ccbcdfghjjjjki<47-,,1159>>@@AEHHOkSIEi˜d_`­åÞÞÞÝÝáœPXU]NO±äàáàààãŽ?xNflnaaaaabbbcccdddcba^\[\agihiN66GJLMORYbnlfennqiSLMKV¥ÂÈÓ”_^abcdgghiiijkg;38.,+-//1343467:QiP›Â¹x]`aabbbcdedddddba_][Z]djL13GMQRPSYcuwnkqonlnoZLKO¿ÄÖ­^`bccdeffffcXU73840MN?6311.*)*******Fž{MoL<989997887:uyHH=348:;9:KC?oN`b`a```bbbbccddddddcca_]\Z]dI+4GJMO`qe`pnjhllhfhidLJJ[ªÀÉÕˆZabbceffddd\S:4753.@?<823.*****+-26b£gRkK<7667666332AI34556;JRA7>;4gVYbb````abbbbbcccccdddb``^\\_F&4FDET·Àw]nlmehknsomiRIKLy½ÀÐÃk^bbceeffeeaU?52111+'''&&%&&&&&&'(9{˜YYaD:66>HA975132145541eŸW3653SdQcb``ba`abbbbbccccddddba`^\^C#2E??Z¸Âl\hbhhfiqsorr_KJZfš¿ÄÕ­bbbcegffdc`[P90//0+))*,,-///0.-.*rŽƒOaTHPFFSZSJIM>3333449CkŠŠTHKA6BiHb`ZZcga^abccbbccccccdcca`]^B"0@<>Hfm`_glkhmmjlnrpkTILKY§ÀÇÕ‘_bdeededc`]YNHGFFHGHIIJKKJJKNQQW—{vIaPMOIFEGFFFIN:1227FOV_xsrotpiikigjcKJJIqº½ÎËt\bccbcccb`ZXVTRSTTTTSRSUVXYbfoszxoKHMMIDCHKJJFANJF=9ANPNPPNJB;@>75E`Ov¡vY¿àœ]abbbcccddccdddda]D!.75459?BIx€}pjjifhimiaOILKL½ÀÔ­[\`aabbbcca_]\\\\[YXWVWXZ\\Y|˜±’qjP38;=JZYRD@;EXEA99?JPRPLC@@ADFIKSdcQtONiki_`bbbbbcccccdd`WPN<"-50I5(''&ptrstlmfllnkjfZMKH_µ¾ÉÓ~W^`bcdccdcb`aa```^[YWYZ[^aN^l„uvp[NKJMRQMLMOOUSSTTWXWYZ[ZZZZ[[\^`_cjUMU``_]ljabaaabbaaa`_XKIJ< -74][=.++nurttlnhhkkknsiQJJL“ÃÅÕ¸b`cdefdddddcbbaab`][YYZZ[][QM`punh]]\[YYZ[ZZZZZZ[ZZZYYYYZYYZYYYY[[`XAHecbbl…wcbba`aa```][YUMK>-50,)4976mtmnmkkjfiillmiSJJJg»ÅÍÖˆ]cdfgfffeeddccccb`][ZZ[\\__bEU`hfYYYXWWXXXXXXWXXWXXWWWWWWWWWXXXXY]T>TecbbaZZ``_`aa`__aba``UKA#-3.*)0211ljlsrmjkmmfhihiUJKKL“ÆÅÓ¸`]_addeeeddfdcccca_][[[\\]^aO=CkfTWWWWWWWWWWVVWVVWVVVVVVVVVVWWXXVXTK\cbaa```^``^aaa_```_^][QA*0/--.3&%%jmoqmllnqplgjkfSLKLJc¸ÆÌÖ‹^ddfffgfefgedddcba_\[[\\\^fZU^riPVVVWVVVVWWVVVWWVVVVVVVVWWWXWSSY]Oabcbbba`b¡¿¾•_aa``___^\ZVN=1)((),&%%lkknsuspslikljoeOJKKMÇÉÕ¾icdfghhgffgfeedddc`_\\[[\^gf‘sgp\`\TUVVXXWXWWWXXWXXWWXXWWXXXTVr…‚Vigabbbaa^‹ãðè˜_`__^^__][XTPD;8899=?CjqtrpsqlojiiehrbKKKLK_¶ÉÌÕ–_defghgggggfeeeeeb`]\[[[^]i•~ew‡„bVWXYYYZYYYYYYZZZZZ[[Z[[YZy³·¢`Wabbbba``^Œ¬«œc]_`^^__^\ZVSRPMLLKKMPpwsnhhkmmhikurte_YLLMO†ÈÇÐÉtbefghggfegfeffefda_]\[Z]UcŠq|±ÁŇeZ\\\]]\\[\\\^__^_^^_^^[qÅ×âåyHMacbba``a^\X\`_``_^_``][YWUSSRRQRRQgiig`_`hhqzwqrmjmcQKMR[°ÉÇÖ©cefhighgeffegfefeb`^][Z[Mezjj’èåÜÓ]babbbdefhkplkjiiiiiigh³çÛØåŽ?CYbaa`_^^^____``a`_``_^\[YXXXXXWXWUpllmjvprirqtsr{l]SJKLKyÄÃÎÓ…beefeeeefeegfeeeda_^[\ZIdXYN“áÚÍèÝ|gmrrtuuwz|‚yzyxwuttts‡ÜîÈÅàyDL_kkkkjifcb^][ei``_a`^^]\[[[ZZZZ\\Z„{xuzwigoxuwzre\RJJKKQŸÇÅÖ»e`bbdddefeeffeeeda_^\[ZGfRQDråʦåë’fuuvvwz{}‚‰‹Šˆ‡‚€}|{žËØÀ¯¹£¥ª°±±±²²²®¬«¢›|zg__```_^]\\]][[[]^^†|u~xrpilsmifoibccTJKJ]e}»ÃÊØ\aaccefeefffffeeba`]\[F^NICLqqsÙç‡r—£ª±¼ÀÅÍÐÔÔÓȧ¨­«®°´²°®«¨ª¨¥¢¡¡    ¡£¤¦¨­¡h^aaaaaa`^]^^^^^\]^^}xwxsnpa`hpyrijdYKKJU\Y˜ÃÁÖ¾d_acccddeeeefeedcaa_]\ILGHAGKQV|‹y¢Ë¹¨¡ž¡¢Ÿ«Õ¸Žˆž”¤²ª¢œ™—•’Œ‰‡…‚~~|||||}}}…Žs\qfdcccca`_^^^^]]^^†‡†††‡‡‡†…†‡‡††‡‡‡‡‡‡ˆˆ‡ˆ‡‡‡…ƒ‚~|xuttswywyzzy{{zwuyyz{zyyz{~€€€†††…†††††…†††…††††††‡††††‡†…„{xuttvuvxxxywy{yywtwvxzzxwx{~€€……………†††††…†……††††††………………………‚€€{uwwxwwyzxxwz{zyxvvvxyyxxyz}~€€…………††……††…††……………………„„„„………„ƒ€}zyywwy|{yxwz{{zywvvxyyyzzz}~†„ƒ„…„……†……††……………………„ƒƒ‚„„„ƒ€~{yxwy{{zyzz{{{zzvvxyxyzzz|~€‚„ƒ„ƒƒ…………†……………………„‚‚‚‚‚€~|yywxz{yy{||{zzyuvxz{zzx{~€€‚…†ˆƒ‚‚ƒ„……………„…†…„„„‚€€€€€~}~~}{zywvwyyz|||{zyxwwwxxzzy{~~€€€€‰‰†…„‚ƒ„…†………ƒ„„„‚}~~€~}{|}|zyxwxwvx{}||{{xxyxwuvxyy|}~€€ˆ†‚‚…‚‚……†‡„‚ƒ€}{z{{{|}}}~{{{{|zyzxxzxx{z||}}|zwyyvuuwwx|€€€Š‡„„‡~€ƒ„‚|ywwwwx{{y|{xywy{yzzxxyyz{{|}~}|zzyxwvuvuw{~€€~‹‹‡‚‚‚}yyyyxvvzzxzywxwyzz{{yuwxwz{|}~}|zzxwywuuvw|‘‘‘Œ‚€†ˆˆˆˆ‰„yyywvwwxxuuvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy|~€~~‡‡‡…‚…ƒ‚‡ˆˆˆ‡ˆ†~zxvwwvvustuuuw{|}zzx{{yzy{|~~}{yxwwxwwy|ˆ€~||€€}‚‚„…„ƒ‚„ƒ€xvvvuuttsuttuwzy{yx{|{z{y{}~~~}zxxxxz{~€€ˆ€|{‚‚€€€xuuuttssrstuvwxvyyy{zyyy{|~zvwxx{~€€}}}|x{||~€‚€~€xtttutssrsuwwvwxyyz{yxxxz|~~}wsuvw{~}|~}~€|wr|}}~‚‚€€wttttsstvuuvwwwxxyz{yxxy{|}zzxvqpqqnqrqqrwz{xqmn}}}}~~€vttuuvz}}€}|{zz|||z{{zxsnhonsssqmhgggffgifdijlƒƒƒƒ„…„„……„„ƒ‚ƒ‚€}‚ŠŽ†‚‚‚‚ƒ‚}xuuxyzyzyxwxxuqqqomopnmˆ‡‡‡‰Šˆˆ‰‰ˆ‰‰‰ˆ‡‡ˆ…ŽŽ‹ˆˆŠˆ‰ˆˆŠ‹ƒ„ƒ‚‚ƒ„……†…†ƒ€€€€‚ƒ„ƒ„„„…„„{v‰‰ˆ‡‡ˆ‰ŠŠŠŠ‰ŠŠˆˆ‰ˆˆ‰‚}}„„†‡‡‡ˆ‰………ƒƒ‚‚‚‚ƒ„†‡‡†…‚€€‚ƒ‚‚„„„…‡†„‰‰‰ˆ‡†ˆ‰‰ŠŠŠŠŠˆ‰‰‰††…‚……ƒ†ˆƒƒ‰‡…ƒ‚ƒƒƒƒ€€ƒ†‰‰‡…ƒ‚€€€‚ƒƒ‚„…‰‹‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠ‰‰‰‰‰†ˆŠ……‰Šˆ‰ˆ~ˆ†„„‚ƒ‚‚‚‚€€€‚…‡ˆ‰ˆ„€€‚€‚…†…‰Š‰‰Š‰‡‡‡‡ˆ‰‰‰ˆ‰‰ˆ†‡Šƒ‚ˆŠŠ‰ˆ~‡ˆ„…„‚€‚€€€€‚„ˆŠˆ†ƒ‚€€€‚…„‚ˆŠŠ‰‹‹‰‡‡††ˆ‰‰‰‰‰‡„…ˆ…„‰‰‰‰‡}ˆŠ………„ƒ‚€€€‚‚‚‚€€€‚ƒ†‡‡†‚€€€‚†‰Š„‰‰Š‹Š‹‰†……†ˆ‰‰‡…†…„……†‡†††„‚‡ŠŠˆƒ„…‡„ƒ‚‚ƒ‚‚‚ƒ…†††ƒ€ƒ‡Š‹†‡‰ŠŠ‹‹‰‡……†ˆ‰ˆ…‡Œ‹ŠŠ‰ŠŠŠ‰‹‹‹Œ‘Ž„…‡‰ˆ†ƒ‚‚ƒ‚‚ƒƒ‚€€€‚ƒ…„~}ƒ‡‰Š|ƒ‡‰‰Š‹‹‰‡†…‡ˆ‰‡ŠŒŒ‹‹ŠŠŠ‹‹Š‹Œ†ˆˆ‰‰ˆ‡…ƒ‚€‚€€€‚z|ƒ‡‰‰||†ˆ‰ŠŠ‹‹Š‡…†‡‡ˆŒ‹‡‰‰‰‰ˆˆ‡ˆŠ‰Š‡€‰‰‡‰ˆ‰‰‰ˆ†ƒ€€‚‚€€€€€€‚„ˆ‰‰}}~ƒˆ‰ŠŠ‹‹‹Š†…†‡‡‰„~„‡ˆ‡ˆ††‡‡‡‡|…ˆ†ˆˆˆ‰‰‰‰ˆ†ƒ€€‚‚‚‚‚‡††‡…{~}}„ˆˆŠŠ‹‹‹‰††‡‡…„„ƒƒ„„…ƒ‚‚€‚…†‡‡ˆˆˆ‰‰‰‰ˆ‡ƒ‚€‚ƒƒƒƒƒ‚€†…}zyw~|†‰‰‰Š‹‹‹ˆ…††„„„ƒƒ‚‚ƒƒ„‚‚„„…†…‡‡‡††‰ˆˆ‰‰‰‡…ƒ‚€ƒ‚ƒƒƒ‚…†yvpy}}‚‡‰ˆŠ‹‹‹‹‡†…ƒ„†‡‡†„„‚‚„„‡‰ˆˆ‡‡‰ŠŠ‰ŠŠ‰‰‰‰‰ˆˆ‡„‚ƒ‚‚‚‚‚‚hm|}z~ƒˆ‰ŠŠŠ‹‹Š‡„‚„†‡†…‚€€€€‚Š‘‘’““•–––””ˆ‰‰ˆ‰‰‡„ƒ€€‚€y{}jiq|}~†ˆ‰Š‰‹‹‹‰„‚ƒ„ƒ„€‹’“’‘‘‘ŽŽŽŽŽ‰‰‰‰ˆˆ‰‰†ƒ‚€€€‚€wssvkjkw€~}‡ŠŠŠŠŠ‹Š…€‚‚‚‚‚ƒ‹‡‚}ˆŒ‡~}}}…‹ˆ‰‰ˆˆ‰‰‰‡„‚€€€uqrrnnns€}}…‰Š‰ŠŠ‹‹†ƒ‚‚‚‚‚‚ƒ‚†‹ƒzxx~‰Œ‰|xyyƒŠˆˆ‰ˆˆˆˆ‰‰‡ƒ‚€vrrsominx~|€‡ŠŠŠŠ‹Œˆ‚‚ƒ‚‚‚‚ƒƒƒˆŠ†„ƒ‚†ŠŠŠ„‚„†‡Š‰†ˆˆ‰ˆˆ‰‰ˆ‡„‚‚xsttkkhikz}}ƒˆ‰ŠŠŠŠ‚€ƒ„„ƒ‚ƒƒƒ„‰‡‡‹ŠŠ‹‹Š‹ŒŠˆ‰ŠŠŠ‡‡‰‰‰ˆˆˆ‰‰‡„ƒ‚‚}{{ynniges€~|~…‰‰‰ŠŠˆ‚‚ƒƒ‚‚‚ƒ„†Š……‰ˆˆˆ‰Š‹‰ƒ|„ˆˆ‰‰ˆ‰‰ˆˆˆˆ‰‰ˆˆ…ƒ‚€€ljhgfl{~}‡ŠŠŠ‰‡…ƒ„‡‰‹†„…„……„‡‡„€|„…‰Š…†„†ˆˆˆ‰‰‰‰‰†ƒfgghhiq}€~}ƒŠŠŠŠ‰‰‡‡†…………ƒƒ†‹‹Š‹Œ‹‹ŒŒŒ‘“Žƒ„††ˆˆˆˆ‰‰ŠŒ‰ƒ‚„ihgfghhu€}ˆŠŠŠŠŠŠŠŠ‰‡†‡…‚†–•••–••–•––•”––˜…ˆˆ‡ˆ‰‰ˆˆˆ‰Œ‹ƒ€€ƒ†jhgdgjhs€~~„Š‹‹ŠŠŠ‹‹Šˆ†‡‡„†Ž“’’’’’‘’“’’’’‘Œ‡ˆ‰ˆ‡†‡ˆ‰ˆˆˆ‡„€‚‚ihgfikin}}€ˆŒŒ‹ŠŠ‹‹‹Š‡‡‡ƒ‰ˆˆŽŽŽŽ†€…‰‰‰‰ˆƒƒ‡‰‰ˆ‡†„jjjjiihkt€}ƒ‹Œ‹ŠŠ‹‹‹Šˆ†‡ƒŠ‰~~…‹‹Œ‹‹ŠŠ‹Š‚~‚‡ˆ‰‰‰‡†ˆˆ‰ˆˆ†…„ƒƒƒmkjjnkhkr}‚~‡ŠŠŠŠ‹ŒŒ‹Šˆ†„‡…}|€ˆˆˆ‡‡†††‡‡‡ƒ‚„‰ŠŠ‰‰‰‰‰‰‰‰‰‰‡‡‡††lmnoqpmpt|€~}}‚‰Š‰‰‹ŒŒ‹‹Š‡„……ƒ…„ƒ‚ƒƒƒ‡‹ŽŽ‘‘‘‘‘‰‰‰‰‰ˆˆˆˆzzzzzzzzzzz{{zzyyyyyyyyyyyyz|„ƒƒ„„††‡‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yyyzzzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†ˆ‡………………††…†‡†ƒ‚‚‚zzzzyzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzyyzzzzzzyyyzzzzz{z{{{zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„†‡‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{||}}}||~€‚„„„„……………‡‡‡…„…„ƒ„…‡‡‡†…„‚‚‚€€{‚~|}}{zyzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††††…………„„…†‡‡††ƒƒ‚‚‚€€€‚~€~|{zzyz|zyz{|}€€€€€„…ƒ„ƒ„…„„„„…‡‡†„…†………„…††††‡„ƒ‚‚‚‚|}|}|{{zzz}{{~€‚ƒ‚‚€‚ƒ……„…„„……„„ƒ„†‡†„………„………†††……„ƒsu{}€€~}|{}€…††…„„ƒƒ„‚„…††……………„„ƒ„…†……„„„„„„„…†††…„ƒ‚‚‚‚xw}€|€‚‚€‚„ƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚zy{|z~„‚‚‚…‡‡ˆ†‡‡…„„……†‡†……††…………………………„ƒƒƒƒ„†…†‰‡…‚€‚€‚ƒz{yz{|~}|y{}€‡‡††††………†ˆˆ‡ˆˆ†…†……„…………†……„„„ƒƒ…†††…„ƒ‚€€‚ƒ€‚€„ˆ‚|}|{|}~†‡††…††††‡ˆˆˆˆ‰†…„„„„„„††‡††„„„„„…‡ˆ‡„‚‚‚‚„…„„„‡Š‡ƒ~~€€ƒ†‡††…‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ†‡ƒ€‚‚‚‚„…ƒƒ‚‡ˆ„‚€€‚€€‚‡‡‡‡††‡‡ˆ‰‡†‡‡…„„„„„††‡‡ˆ†„„ƒ‚ƒ„†ˆ‡†ƒƒƒƒ€‚…„‰‰‰‡„ƒƒ„‚‚„‡‡‡††‡‡‡‡‰ˆ‡‡‡†„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€ƒƒƒ‚„ƒƒ„„ƒ€‚‚€ƒ‡‡‡‡‡ˆˆˆˆˆˆ‡††…„…„ƒ„…††‡‡…ƒƒ„ƒ‚‚||}~~ƒ‚€€‚ƒ„„ƒ€€‚‚„„†‡„„„‡†††…†…„„ƒ„„„„…ƒƒƒƒƒ†‰†††~}}{{z{{|{{|~~~~€|~€€‚‚ƒ„ƒ„‚}}|}}|{|}€€€€€„…„„…€€~~~€€€€€€€~~}}}}}|}||}~}|||}€ƒ€~|||~€€€€€€€€€‚‰…ƒ„ƒ€‚‚‚‚€|~~}}}}}}}||}~||{||}{y{}}|€€€€€~€ƒ„‰…‚€€€€€€€||}~}}}}}}}|||~~}}}|zz|zx|€||€€€€€€€~ƒƒ‚‚‚€€€€š}|||}~€~~~}}}}|}~||‚yxxxxƒ~z€€€€€~~€‚‚‚†ˆ€†•—~}}}}}€~~~}}~~}}~{{ƒ„zyzxy‚†~{}€€‚‚‚€€~‚…†‚‚‚Šy€~}|}}~€€€~~}~~}~}{{€{z{z|„†}{}~€€€‚‚€~~‚‚‚€Š}{}}}}~~€€€~}}~~€}}~~}}~~ƒ~||€€€€‚‚‚‚€~~„…ƒŠ{zƒ€}}}}~~}€€}}}}}}~~~}~~}|{|€~~~€€€€‚‚~Œ­¨ŠŠyyƒƒ€~}}}}~€€~}}~||{||}}}}}}}}||||~~}~~€‚‚‚‚´°˜‘}{†„‚€~}}||}€~~{ƒ‡~}}~~~}~}€‹„~~~}}}}~€‚‚‚ƒ‹“œ˜•“‰‚€~}}|}~€~~†ƒ~~~ƒˆ‚~€~~}}~~€‚‚€~š°¶»ƒ„ƒ‚€~~}}}~€€€€ƒƒ‚…ƒ€€‚‚€~~}}}~‚„¤ÊÍ̓„‚ƒ‚‚€~~}}}}€€€€‚ƒƒ‚„„€€€ƒ„€€€€€€~~}}}}}€‹˜Ÿ¹Â‚‚‚‚‚€~}}}}}}€€€€€€€€€‚ƒ~}€~}}}~~}}~~}}~}~‚‚€¨}„{}‚Œ‚‚€~}}}|}~€€€€}|€€€~zxwwwvvvvvuw{~~}}}~~€‚¾¯”‡}{ˆ‡‚ƒ~}}}|}~€€€€‚‡ˆŠŠŠ‡}yy{{{}€~{{|{|}~~~~~~~~‚‚ÁÐÍÀ||€‚ƒƒ‚€~}~}|}}€€€‚ƒƒƒ†††…†||}~~€~}~~~}|~~~~~~~~~‚‚‚‹ÀÎÐÎ~‚ƒ‚‚ƒ}}}}}|~€‚‚‚‚ƒ„ƒ||}~~}yyz|~~}z~~~}}~}~€‚€†½ÍÏÍ„€|€‚‚‚‚‚~~~}|}~€€€€€€€€~|}€€~xxx{‚€|{~€~~}~}~€€„¹ÏÍÌ‚~z||€‚‚€~~}}}~€€€€€€€}}|}}}{yxx{~~||}}~~~}~€‚ ·±~zyz~ƒ•ˆ‚€~~~~}~€~}}|{||{|{{|€„{|}~€~}~~~}~€‚…ƒ‡€~yxx~„ˆ„‚€~~~~€€}|}|}~}~~}}ƒ€~}}~€~~~~~}~~€‚€‚€~zxxz‚‚‚‚~~~~€€€€€€€~z{z|}|{|{zz{zzyywz€~~~~}}|}€€€€~zxwxyƒ‚‚‚€~}}}|}}}€€€€ywvvvwwvwvvvwwvvuy€~~|||€€~~yxyzzƒ‚‚‚€~|}}|}}|~€€€zxxwwxwwxxwwwxxxz|~~€~~~€‚€~{x{|{ƒ‚‚|}}}||||~€€{z~~{xxwxyyxxxxy|€}~~~€€‚‚‚ƒ}{|}~~€‚‚‚}}}}}|||}€€{|„„€z{zzz{{{{{|€~}~€€€€€‚‚ƒƒ~€„„‚‚‚„ƒ‚€~~}}}||}~€€~†…ƒ~~~~}}}€}{{|||~}}€€€ˆˆ‡ˆ†…„…†„‚™Ž~~~}}}}}~€€‚ƒ‚€‚‚‚{zxxxwxwvvvvwy{~€€€€ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÃÇÃÌÏÏÏÏÏÏÏÎÍÎÍÎÍÍÌËËËËËËËËËËËËËËËËÌÌÍÌÌƽ´®¡œ‘~{qgkujjgljrcfbV\`\[a\S[`]]TPORYX_e^dRTUUUWTSYTPV^][XTMD=9;9421?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËËËËËËËËËËËËÌÌÌÍÎÆ´§—tz~s_^_o|n\]mkg[XYZ^YUTO]f_[ROOPXVZehfOU\_YPPKQQX]aZUOLJA@75432/77ÍÍÍÍÎÎÎÍÎÎÎÎÎÍÌƿÿÇÊÊÌÌÌÍÍÍÍÌÌÌÌÌÌËÌÌËÊËËËÌÌËËËÌÌÌÍÍÍÍÍÍÀ£Œ‡mnmnkknpt|z^a_ccZYZZZ\RSV\aXYXVSQTSV[fcPPWZTLNMQQ\b_`YQGA?<851220.2ÍÍÍÍÍÎÎÍÎÍÍÍÌÌÌÈÀÄÀÉÌËÊËÊÉÊÊÉÉÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÍÍÍÍÍÌÍÌÍ˳˜’xkquxs~fe`\fX`bb[ZWU^YSYedQPRVWRNKVOXfQNSWYPLROPX`]`USUOG?<84321--ÍÍÍÌÌÌÌÌÍÌÌËÌÍÎÉ¿ÀÀÊÎÎÎÎÌÌÌÌÌËÊÊÊÊÊÉÉÉÉÊÉÉÉÉÉÉÉÈÈÆÉÉÊÊËËËͽ’Ž…~r_k|mcg_^`ViaXWSSLZ`^`pm[QOT[SMITRRXRYZWUMOQTZ^WVZPOXOI>?A;520,+ËËÌÌÌÌÌÌÍÌÌÍÍÎÎǸ»ºÈÎÎÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌËÊÊËËËËËÉÆÉÊÊËËËÇÆã‰xzph]konb_`^V[_UQZRRPXedefcfVQVXSQRTRRVQY]_URSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎźļÆÎÍÍÍÍÍÍÎÎÍÍÍÍÌÍÍÍÌÌËËÈÊÌÍÎÌËÈÄÊÉÊÌÎÌÇÃÁ±šywodUSb^Y\``]b_WTQKMTX_abh^ZSOOPNJRQSP^KTSYZVYX]Z[VRPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÂÅÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÉÌÉÄÁÄÁÇÆÇËÌÊ¿¼¬~vpUSPQNVWlpebc[WLCALYPY`_]VSQKLKHKHOKXNQTUVVZ[ZZ]WRNRMUNBG@>>3/.--ÍÍÍÍÍÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÍÌÌÌÌÌÌÍÍÌÍÍÍÎÍÍÍÍÌËÉÇÆÅÈÀ½¶Á¼Â¾ÃÊÈÄ»®¤¥‹|sq]VVXXfh[mfe_UUPPVUcTNY\RNVWQKJFNOQXWRPWZUSWXUMSXRPVPWV?5622/----ÍÌÐ×ÕÎËÌËÉÉÉÊÊ̾ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÊÂÁÀ½Á»¹©¾¹À¸½Ç¾½´¤ˆ…|p‰xcZ]Z\cjVl]T\SMSS][UMORWQORUWKKKSRRXf\NUWVUTUZPPYWW[[LC=7540.-,--ÍØæðîâÐÊȽ½ÀÅÉÀ¾ÆÁ¿ÊËËÌËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÁº²»¸° ¸²½¶´Á´¹²—…zxlfbbbaRZa[Ue[SY\NSRV[TUSNMMJKLRXVNQOQPbZNX[WQLOXVVSWPLKA7=<:61.-,--Ùíà¼Äææ˾¶±°¶¹ÀÁÁÉÆÁÉËËËËËÊÉÊËÊÊÊÊÊÈÈÇÃÄ¿°ª¦ª¯£©­²®±¸«ªœvwrjiQ`eZWbWQZh]X^XLOQS[_aTPLLKMPLTWKOTNQ\\X`\SOKNXUVVOPWIBB=:;951//-,íÚqu­îÙµ®«­³²¾ÃÅËÈÄÊÍÌÌËÌÊÆÊËËËËÉÈÆÁ½¾°¡š˜¢¤˜—¡°ª¬«¦¡˜slifjm\VWT`_UV[XY`VRVSSTT^WPSONSUQSSWQOWPRX_X]WX[U\]RSYWSP?>F:7776520/.¶§“—–œÁÆ®­ª®°±¿ÁÄÊÇÂÊÍÍÍËËƾÇÊÊÊÊŽµ®±²·«Ÿ•—š˜”¤µ­¬£——‘xhccUf_RMHNV`XQQ^g^`n^^a\TVMONOOQVRTPSYQYNN^]]fZa]gfaROMMJK?=@8854453.02dcebmusvz•©¯®³¼¶ÀÇÆ¿ÈËÌÌËÇ¿¶ÄÊÊƶ£šš¡¡š›•‡‘—’’¨ªž“ŽŽ„ucchZ\TQTROX^^Zgn^PTaNWpn[PMJMLJFILLNMMPWTW]TRWW^e^[VOJLGFFCG@8543344/05RRfŸ»½±ž{¢°±´µ±½ÆƸÀÉÈËÊǾ²ÃÊɾ²¤˜ž•–“‰Œ€’’ŠˆŽŽ—‰‡‰ƒ}tsobYSXZYOW[UT\h\RP\fga_[RRLIIFHGFEFNLR][VZUNYgffU]SMTSHJA?A9754313336< kT€ÍßèÞ²q–·®¯«©·Ä¹©°·³»¹Ç¼¯½Ã¸«ž—› ““„ƒˆˆ}‰‰Œ…‚‚€}xwoaVVST]XTYTRXgQPO]dcRRZWSLKKIJHEJJIQUZaRXPOjqcd^a\U_YTSH=::864322549?¢–ž±Ž‡‰id…Æƨ ¡©«ž Ÿ¡¡¡ª¸®¤¢¨š™˜Ÿ—™‘•Œ„ƒ„€ƒw‚ˆˆ„||{{spohbWPZgZRURV^ZNX\[]XQQQRSLKPPKNRQFBJNT^QQM]a`^Yei[QT]ZESE;;;8554488:<†JP™™G;JERuÓò· ªžšœŸ£¨¤¡¡¢Ÿ”“’›™Ÿ™’–Š‹‡‡ƒ}x…„€€xzwtoghdXVZQW]YS[Y[YUYYZ\ZUPKUTNLOJADGFA?EGHQKQRX[aW_n\^PZ^ZIEC?=<856669;>>[56[_R{\DBi·Ú—¦À²µ­°´Â¼®§¤žŒ‘œ–›•Ž†Š‹‰†„€yƒ}{uvvqqmjfW\c`aXQRXV\]aWS\SW^ZVPINLNIADFA?FFDBQGUW[W_``\RbaVWWRLGCE966767;=EFH<;>O\qZA>J˜³J²ëÞÔÕÓÔÕØÙ×ÕÓ̼“‰”’Œ‹Š…Žˆ‰‚ƒz}ŠywtqsrnhaW[baZQUOQ\ebcUMRQg]aWLQQNJHCIRIBILLFPQ\]XLXccdT_cVPW]QE?@<98767;?JAacccpuspgaZs›¯âîϳ¡“uy|~„ž…‹Ž‰‚‡‚—ˆˆ|}ƒ‡|‰‚yzvuttwsaVQYWZVYVNYY\_edhlpmR[[TMQPGEFPUPPNOOIJUZ]ZNM]Y_]\fdV_S@::<=;::8:=<<;\\Z[\[\^`ffl£ñëã‚HGFDPQEEDDE?t‚ˆ„z€„‚‹˜ˆ„ˆz‚‰‰‡~†‚|wuwyuum^X\^TVSSU_WOM_q€sb[\eQSMMRRMMJC?LTQRTSN\dcd[SXW][Q\VTTG<98;:78:98<==;JJIIJJKMLLO`•ÚÚÅYCHDJaaWWMFI@Tš}}ƒƒŠ}‚~€†‡}~~vsutrqre[][NOZYY\ST_bf^\T[aaSUMKKRKGA=COSV_ZZ`gk_]]W\TXSTVWT@9887797767:??>=QQXUSQRPpv¯‚ºÆ§QK>A?MOWO;7;763_‚:7778:ADCE_e•|_\V^Óçäïy¶ÎŠ:BCPECBDF@=>=;n¼ó¸zy}y|~{}|{‚€}wwnmwxzphabSQSDAMUVUXZOKIUY[[UZd^SMLIKOMMJGJMVWY]aZ^WUPWOKMHA<7676Q‚?789<;?HJHMbÁ•OKG]ÛèåÝ`¼Ö¤€ˆŽ–œ£¤¡¡¡Ÿš™œ¥Äܪ|ywzyw|z}|{~‚‚‚xwwlhntxmga^OQUGIPTW[TPSPTUZUVWY_\RKDCBDGHEEFJSU\[UNVRTRTNGEC<96686ZB88;=;AGGH‘Ÿà¿—”‹‚’ƒuiD“ÁÔÏÏÑÒÓÕÖØÕÕÕÑÐÐ×À…{{{vwwvxvzz€wuuoulmuphg]QVVTXY_\XFEQW_WZXWTU\VNICD@>>>=;@KNV`YRW[PV[NLG;:987773‰çS07;9<69?EGJZgWTYW[[TFBA;67877:5…åS.8<CHB>K[kj\LPdPFA:;:7;<:9>7uÝ[3=<>BIJCU­®««ª©€ewiE@N‚Ùàèëæéµ™¤Õ­•§æåäáØÊ…{~|ytq|yx{{yz}€{uzyofhjiga\]X[YONUTMOR]ZXX[]\SUMG?@FHB=CQQIV^]iŒlQUWKA;676;@BA>@;wèe8?9MTMeliw‡g\]RIC>:;?GMJBVxdO3?X…Hbklljgcb```a__aeilprsuuutplggjlmlliir‹¯ÅÁ¦„ojjkkhedd`_]YTa¢lmlknqqrrrqokgb``acdfgghjjjklkiiiklnprq^hd/38?B;@_nWGHHHIHIQ}lR2[£¨\Rffjmnjfc``a`^]]`diloprstssqkedgiklliegx¡Èδsnligffeffd]qNPOjlnopqqrqplfcaaaaceefhiijkkjhhijkmoo€QR/25t—j;RTH??AIHILGnqN78:sHecdgknnkgbbbba_]]`ehlnprrsttqicbeikkkjgeuŸÇѹŽtklkifdeea{wGkuiklnprstsrplgcba`abbdfhhjjjjiiihjjlj{OB25AI…‘©pB:2212<<6Cah631<–a[mjhfddilmmkhfdeeda__beilnoprrstqlfcgijjjjgeq’·ÍÁ¡llkipžTiu aehjlnpqrrrqomifba_`aadgiiijjjkiggfnik€@KKEg€xYJH<7997654J‘”N;643†Onmgcddccehlkhdaaba`^]]`cfjmppqssrqlfdehiklkiek€¤ÇʯŽuj‚•RY=Q]acfikmopqqqonlhca___`aegghiijllhgbp^wFTO_soFGEECEFEECL~”…I>>:2~Cm_?>Bbhcabdfhhfb`_^^]\\]^adhlmnpqqqojfdehjkllkhfu”µÅÅ¢˜TMAI€[adhjknoqrpppolhda`__`cefghhifMCAm|O€xM\XaHEHMTY\WMTHRYocE;:91YM8VD<>2Zkhdbbbcfgeb`_^\\\\\[\^`ehjlnnnmlifcbfiijkjfbfvž§£rVB@BÄy\cgijkmorspppokgca`_`abdefgjU4>9[dDCE>L;5>B?@JNJGCC<7<6=UQKPE566;A53238akkidba`adddb`^\\\\]\ZZ[]`bfiklkjkkga_bdfhiijhdk€¦aT<9:É¿q[dffhjlnorpopolgd`___abcdfiX20218GA77334698533444556885468::9;=GK/5CSckjjkigc__`beecb`^]^`^][YZ]_cgjklnnnnlga_adgf`^Zx‡ŸPM?A@½Í±_Z`cfijlmrqooqolgc``_`abcdefZKHD.RV=;:99776666666677666677888:coe\V}¤ÙñèÉÕ…9,Icab}wefeeffgggiiijigdb`_`cghhd`^]\\\\\\\[[_dhknV|ŸtgTTVVTfXOIa«¾ÊºiZ_adghhjlmnnnmkjgb`_^_]J?,7rÌÍßíﶘa\]fsoÅ”Os`b\^˜ºïáØÀ½M0,Egefrlaaaffefffhhhiiihfca__adhihea]\[[\\]\YZ\afjQf‹b]UTUVUkaOLJu·ÀÏ­a]acfghjllmnnmlkjfb_^^^M1-/=“©¬ºÛÆ«~\cbVO¤ùÔZejqqs¶œšˆ[EF2/.Gicgc{ª¯›mdeeeeggggiiijgdb`_adgjjhe`][\]^^^[YZ_cNZz`ZRMSWXkodSLMˆ»ÂÒ—Y_cefhijkkmmnmkkie`_]]L/-+0578RZQzVirnc™ã¿xkmia[gBCHUd„ÆÖÛÞåííåäåé¯l_TRNJKRZdn…“™˜˜™œ›š–’‰ƒxhdfffffeefghgeb_^_bgjjjgd`]\]^^^XBHJSDˆÓÛâÖpjlmeSVg…»ÆÓ»i^cdghhijlmmmlkkje`_G,-.058=FO[jÞêêîíëëììíñ —ž–™¥¨«®¯¯®©¥¥¥¤¤¢ ¡¢¤§©ª¤—lcdefeeefhghhfc`^]agjkjigda_^^_\AADQLU¾ÃËÐiknlgYOPPÁÇÔ§]^`bdfgijklmmkkkidaM----27=EUg€«¡Óìëïðññòòò÷™¶œ™œ”Žˆ…~zxwvutsrssttwzy†ˆdceeddeegggggdb_^^`dikkkifb`__]@=CMOOXb†¢lqpnneRLKV£ÄËÓŒY_aceghhhjkllkkjfdQ-.--14:FEJTej¯ÙÎÊÈÅÁ»´¯¦b–srngbaa]][Z[ZZZ[[[[\Z[^^\trbcddbbdeefegfda_^\]bhjkjjgd``^A=AHMQQTW]mspssxhTOJk»ÇÐÆl]acefghhijllkkkheT00..:BxÉ€4,0>KFGGEDDDDC?[­tV`cfiklnv}ˆ¥´˜“‹„~{}}||oovfaccabcceeddedcb_]\]`gjkkjhdb_A<@FJOQUWYnnkjimf\RML•ÄÈÕ¢Z_bdefhhhhjllkkihV15-.4D¨ô­uu› ˆ•›Ÿ¢§ª¨¥©›fb{‚„…€|eZcLJw‹ŒŠ‰ƒzn^q_abaabbddccddddb_^]\^dikkhecaD>>FHLPSUXmebde`b^SMJc³ÃÎÍuY`gfdefghikkjkjjW/;-..5]ŠtRO[adgggjqpmh^h£€T|”¨¯¸ÀÇÎÒžRB==CpÔÞÝ×ÔÙÙÒ‡tMka_aaabacccbccdeca`^\[]bhihgecH>;FGKORTWkgggrlhbRLMK‚¿ÅÓ±^]ccbcdghikjjjjkX-=--,017E>9=F=46741212/a—f[~ÎßÞÞÞÞÝâ˜Yh_^P^ÏáÝØÑÓÝá‚h^Xlk`aaaabbbcccddecba^]\\agihgfJ;7GHKNQSXnmgfnnqiSLMKV¥ÂÉÔ”_^abcdghiijjjjlZ,=/-,/025;??@ADGKLhqPKJ€’UjdÑàÝÝÜÛÛÞ‡S[\^MXÈàÝÛÚÜàãyKuJ”Þ§d`aabbbcddddeddc`_]\]`ehhiL66HJKNPQYiqjgmosqeZOKJs·ÀÏÊo[accdgghijjjjkW,=1,++-../00/12356<>4/<’‹MoI«Á¾ÂÇÇɺeSQc^QS©âÜÔƳ¡ŒR:tOq½¾y]`abbbbddedddddbb`]\[_dgkK24HKLOOS[twnkqpnlnpYLKOÀÄÖ­_`ccdefghhiif]M+;4,9<.+**)))))))*))*(E¡zNm?BBAEIIIHNTVmSU\n_OD:46F;^aTcab```bbbbccddddddcda_^\[]bjJ04GLPQPTYqojhllhfgidLJJ_®ÀÉÕˆZacdegghgee]VJ):52:VMA9543,)***+++-/_¥fUiE98787669=:CtgNL;047::7<;2//+***+.246<|œW^bG:7689775333LM45558:BC;9A<8pO]b```_`abbbbbccccdddcba`][Z_D'4FEFQ±¿webhhfiqtprr^KKZhœ¿ÄÕ¬bbcdghhfgfd\L74001-%%%%%%%%&&&&''%?ŒŽNeWA644Jio`xtrptpjjljgkcLJJIqº½ÎËu\bcccdddb`[TLJIGIIIKJKLLLMMNOQNg›~pGiIOQHIGJGHINK412268DV_}lPLRM;AZIbYdun‰Ó¡^abbbcccddccdccca_`D!.<;;>GQUx€}qjjigijlh`NILKL½ÀÔ­[\`abccbbb]XVSQQRTTSRRSTVWY\`aej~vkCUNNICBEGHHDAHC?:7ANNPSTQLE>EB;:I`L…¦}Wak``bbbbbcddcccccdc`\A -8758@MZ[WID;;>??AMdXWzRK\]ljabaaabcccbbcc]TOM:!-6/E4)((nusttlnhhkjknsiQJJL“ÃÅÕ¸b`ccffdedcba__^^^]\ZXXZZ\aWRqƒŽ{kmOCBCJQTLFDEGSPJMMNQSVXYWUVWXY[^_^fkXVN]bk…wcbbcbabaaaa_^SIJJ: -74_[<,)mtmnmkkjfiimlniSJJJg»ÅÍÖˆ]ccegfeeddcbba`a_][YYZZ[\]SNWsmt`]\\ZYXZ[Z[[Z[[[[[[ZZZ[ZZZZZZZ[\\b[EEcccbZZ```aaaa``aa]ZWSMJ<-51/+497ljlsrmjkmmfhihiUJKKL“ÆÅÓ¸`]^addefeddddcbba`^\[Z[[[]^]VCv`s_ZYYYXXYXXXXXXXWXXXWXXXXXXXXXXXYZ_R?A;520,+ËËÌÌÌÌÌÌÍÌÌÍÍÎÎǹ»ºÉÍÍÍÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌËÊÊËËËËËÉÆÉÊÊËËËÇÆâˆxzpg]konb_`^V\_UQZRRPXedefcfVQVXSQRTRRVQY]_TQSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎźûÆÎÍÍÍÎÎÍÎÎÍÍÍÍÌÍÍÍÌÌËËÈÊÌÍÍÌËÈÄÊÉÊÌÎÌÇÃÁ±™ywodUSb]Y\``]b_WTQKMTX_abh^ZSOOPNJQQSP^KTSYYVYX]Z[UQPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÁÅÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÉÌÉÄÂÄÁÇÆÇËÌÊ¿¼¬~vpTRPQNVWlpebc[WLCALYQY`_]VSQKLKHLHOKWMQTUVVZ[ZY\XRNRMUNBG@>>3/.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÍÍÌÍÍÍÎÍÍÍÍÌËÉÇÆÅÈÁ½¶À½Â¾ÄÊÉÄ»®¤¥‹|rp\VUXXfh[mee_UUPPVTcTNY\RNVWQKJFNOQXVRPWZUSWWTMRXRPVPVV?5622/----ÍÍÒ×ÖÎËÌËÉÉÉÉÊ̾ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÊÂÁÀ½Á»¹©¾¹À¸½Æ¾½´¤ˆ…|pˆxcZ]Z\cjVl\T\SMSS][UMORWQORUWKKKSRRXf\NUWVUTUYPPYWW[[LC=7540.-,--ÍÛéðîâÑÊȾ½ÀÅÉÀ¾ÆÁ¿ÊËËÌËÌÌÌÌÌÌÌÍÍÍÌÌÌÌËÄÀº²»¹°¡·²½¶´Á´¹²–…zwlf`abaRZa[Ud[SY\OSRV[TUSNMMJKLRXUNQOQPbZMX[WQLOXVVSWPLKA7=<:61.-,--ÚíÛ²½äè;¶±¯¶¹ÀÁÁÉÆÁÉËËËËËÊÉÊËÊÊÊÊÊÈÈÇÄÄ¿°ª§ª°£§­²®±¸«©œuwqjhQ_eZWbWQ[h]X^XLOQS[_aTPLLKMPLTWKOTNQ[\X`\SOKNXUVVOPWIBB=:;951//-,ìÜ’x|®ìܶ¯«­³²¾ÃÅËÈÄÊÍÌÌËÌÊÆÊËËËÊÉÇÆÁ½½±¡š˜¢¤˜– ¯©«¬¦¡˜rkhejm\VWT`_UUZYY_VRVSSTT^WPRONSUQSSWQOWPRX^X]WX[V\]RSYVSP?>F:7777520/.©¡‘“”˜°¶§«ª­±±¿ÁÄÊÇÂÊÍÍÍËËƾÇÊÊÊÉļµ®±±·«Ÿ•—š˜•¢´­«¢—˜wgbcUe`RMHOV`XQQ]g^`n^^a\TVMONOOQVRTPSYQYNN]]]fZb^hfaROMMJK?=@8854453.02kZa[arsuw‚¤°®³¼¶ÀÇÆ¿ÈËÌÌËÇ¿¶ÄÊÊÆ´¢šš¡¡™š–‡‘—’’œ§ª’Ž„ucdhY\SQTRPX^^Ygm^OT`NWpn[PMJMLJFILLNNMPWTV]TRWW^g][WOJLGFFCGA8543344/05 _O]¿Éõ‡´±´µ±½ÆƸÁÈÈËÉǾ²ÃÊɽ±£—ž•–“‰‹Œ€’’‹ˆŽŽ—‰‡‰ƒ}ttobXSWZYOW[UT[h\RP\fga`[RRLIIFHGFEFNLR][VZUNYgffT\SMTSHI@?A9754313336<ªƒ\f¶Ùäá̓v¬¯¯«©·Ä¹©°¶±º¸Ç»¯½Ã·©ž—› ““…‚ˆ‰}‰‰Œ…‚‚€}xwoaVVSS\WSYTRXgQPO]dcRRZWSLKKIJHEJJIQUZaRYPOjqcd]a\U_YTSH<::864322549?¤˜Ž˜¯“t{sZoªÉ¨ ¡ªª Ÿ¡  ¨¶­¤¢¨™™˜Ÿ–™‘–„‚„€ƒv‚ˆˆ„||{{soohbWPZgZRURV^ZNX\[]XQQQRSLKPPJNRQFBJNS^QQM]a`^YehZQT]YDSE;;;8554488:>YB3G^NtoK:X−ÁÁ±µ¯´¶Ç¸´°ªœœ–›•†Š‹‰‡„€yƒ~{uvvqqljfW[c`aXQRXV\]aWS\SW^ZVPINLNIADFA?FECAQGUW[W_``\RbaUWWRLGCE966767;=EFGB>=JYieK>EbÈ]|æÞÒÖ×ÕÒÓÔÕÑÓÑίŠ““Œ‹‰…Žˆ‰ƒƒ{}‰ywtqsrnhaW[baZQUOQ\ebcUMRQg]aWLQQNJHDIRIBILLFOQ\]XLXdccT_cVPW]QE?@<98767;?JAeegelutsneae„µÙðÔŠ{pgbbc`dipŒ‘‰Ž‰‚‡‚—ˆˆ|}„‡|‰‚yzvuttwsaVQYWZVYVNYY\_edhlpmR[[TMQPGEFPUPONOOIIUZ]ZNM]Z_]\fdV_S@::<=;::8:=<<;YYXXYXXZ\`chÞîèŸDEFFN]HHJGIBI•‡‡…z€„‚Š—ˆ„ˆz‚‰‰‡~†‚|wuwyuum^X\^TVSSU_WOM_q€sb\\eQSMMRRMMJC?LTQRTRNZdcd[SXW][Q\VTTG<98;:78:98<==;JJJHJJKLMKMVyÀÚÐwBEAAYd\\OCCE;‚{€€~€‚‰}‚~€†‡}~~vsutrqre[][NOZYY\ST_bf^\T[baSUMKKRLGA=BOSV_ZZ_fk_]]W\TXSTVWT@:887797767:??>=RRUZSSRQbw´––ɹ[M?C@CFJN<67;6`›­¨}}~~y~|~…„~{€y}uqtywsnjf[SLJYWZSTV[ZWHW^Z\XX_VKMTOLILOOPTVXVZmdZZZZVZXRVJMJ>763g:7778:ADCE\_–a\VO öâ÷­à­GFISRPPOSSMMMIS£éë‹x~}y|~{}|{‚€}wwnmwxzph`bSQSDAMUVUXZOKIUY[[UZd^SMLIKOMMJGJMVWX]aZ^WUPVOKMHA<8676V…>789<;?HJHLRž¼\PKI¢ìØéˆuÕÀ¤£¨©­²¶µ´¶¶³±²²ÀÁ¶xwzyw|z}|{~‚‚‚xwwkintxmga^OQUGIPTW[TPSPTUZUVWY_\RKDCBDGHEEFJSU\ZUNVRTRSNGEC<96676^~B88;=;AGGH–ÉÙ¡Ÿ˜ŠjjHa¹ÐÕÑÔÖ×ØÙÛÛÚÙØÕÓÔ×™xz{vwwvxvzz€wuuoulmtphg]QVVTXY_\XFEQW_WZXWTU\VNICD@>>>=;@KNV`YRW[PV[NLG;:987773æS17;9<69?EGJZgWTYWZ[TGCA;67887:5‡ãP/8<CHB>K[kj\LPdQFA:;:7;<99>7vÙS3=<>BIJCU™¡¦¤ Ž^hyMAEeÂáæêæéÌœžÆÈ¢ÐéãáÜÙ¡z{~|ytq|yx{{yz}{tzypfgiiga\\W[YONUTMOR]ZXX[]\SUMG?@FHB=CQQIV^]iŒlQUWKA;676;@BA>@;wæb8?9MTMeliw‡g\]RIC>:;?GMJB=?9~òl9;4>HIW_kˆŠ›—Š‘…rSJJCJŸëììëììêèêëéêëëëìîåŽywxv|ziw}{z|wr}}xpmkjffbak^SV]YY\TPSPSPZ^Zd]TUQOHGGBGKFEGNMTilisrbblhWPMMPUUWTJJP:yôr769V^_kihNOY[RRPNK>797DŒéííîìëïðïðñðëìðîîÞ…vzyuxvnx|yy{{txwvqqja^`[]gaUNWY`ZXSMNVVZc_`XPOUQKD?=HWcV[fjnd[WX_aejlloe^jxvplgjjV„ñVRZuuprjf[YUSUY]]fhD-2B{ßèÖÇàçÈƼÀÉæâÁÓåÕ~x|yrt|}€}tx{zruzyqvmb\_fc`a`UWXXSQOOMR[YSWYSMRWRPW^[pvbkwkYTW[]_agfm}„‚‚„~}„ˆ‡ˆ“°“‡{|rsqh{{{{{|~|}€S*/CmÔÒ¤l²í˜supmé»o®ÔÃtzwwvvzz|vu|vpuxultka\\b]]`^YZUUTX]_TS[[QNLTa\W\gz…‹‚bbqiQPY\[Z]eikt}{z|ts}ŠŒŽ‰…ˆ‚~mrpjnhvuuuuvwwyydMOcx©Ã»°´Ê«ƒ•Ž‡²ÞÒËÍÍ uzvwyyvssvqqzvx|ƒ†ƒ€}zxutnnnkq{ˆŽ‡Š”’ŠŠ•µ…€zv{zkbmmaW[`_][_fegrfcadcs~€z}ƒ…ƒ„„}{rbgpljfoonnoprtutuvx{|{}€|~~~|}‡˜•Šˆuvxxww€†‘š¢©¬¬©©©§©©©ªª¬­ª«¦ Žxwusrsttsvxy†‘¢°²­œ~sljklmliea]]]ZY]]WY\]]`egdeb`domhkgb]itmrvomkkklnpqrrqrrsuwy{}|~~|{{xuts{ˆˆš Œqpr—¨¡¤”‹ƒyqlkkkfcbcejqy€‹€pruuuttsqqrponpr{ˆ—¤¬­©¢”ƒthgfea`]ZWYXVUXXWXWVW[YXXXYVTSTPYZbpwsoljijjjkmpppoooopruvxz{{{{yxvtrpvƒz†£›£yga[UQOTaf~££yhd]ZVSRPHKpifikmossttsqommnnnnorx‚¨»¼¨wmgghgc_][WUSRTSRSV^`TTX[VVVUTSTSXxuqmjjiiikmoopppoooppqtvwxyxxwvusrooz…‹|FKNQYbk^@?@C?:97Lqtrni[@Kebbcdeimpruvutrpmlmnooollu‰¤¸½³Ÿˆtkiifc``\VXTUSTXWRRUYSSSXXVUSRwwvsnjihggjkmnopoqrrqqqqstvvwwvuuussojY?`w„Ž•œˆPI7..6>AGNJHKNUR?Yfbbbabbdgknrtvwvsqnkiknpomkoy¨ÀÄ­thhiihfc__[XTSRSRRSSSWUTUUTuuvvtnigfeehjklmmoooppommnprtttttuusqqDLw¥ª­°³­‹uZ]^THH@40011IZGhfdb```^^_bglprstvvtpkhfhmmmlihs“¹Ë¸’vjhjjiigeb^ZVSSRRRRUXTUTStuuutsoifedfghikllmmmnmlmmmnpqssttusqzpFWX±¶²«¤‘¤Ë‹w¦‚BG<:@:35=tEbmjfcaba`__acglnqrttuuslgghjmonljp†§¾Á¬Œtkiijigfb_\YUTRPVZRVamostttusokgedddehjjjjklllmkklmnpqrstusƒW`U4YaUJAHHYxrny_FDAahZ:51m_Qllljgcb```a__aeilprsuuutplhfikmlljhp‡¬Ä§„ojjkkhedd`_\YVTT‰‹“kopqrrrqokgb``acdfgghjjjklkiiiklmpqrs„IyD125436YkVCEEDGIBBiv_B4gŒƒDegjmnjfc``a`^]]`dilnprstssqkfcfikllieeuœÇδsnliggfefedb\n¡cfjlnopqqrqolfcaaaaceefhiijlkjhhijkmootyO614AWVIBIKs~‡M330j‹Ijigecdilmmkhfdeeca__beilnoprrstqlfcfijjjjgepµÌ£mlkjig™Ys¨`dgjlmpqrrrqomifba_`aaehiiijjjkiffiezR‹W?>;:8Ao›x?;73?¡dZofYX`fdbbdfhheb`_^^]\\]^adhlmnpqqqojfdehjklllhft’²ÅůŒPV=…[adhjknoqrpqpolhda`__`befghhikh_[`irWœNReM‚rwOEEGIJIJJJMm“bB:>6;•ZMlF98Ahhecbbdfgeb`_^\\\\\[\_`ehjlnnnmmifcbeiijkjfber–ÅŸ~TJAÅ}\cgijkmosspppokgca`_`abdefghjH:9G‡`JObt@PD?DOY`_^ROJFMPjmQGA:36F5@F9=69gkjeca`adedb`^\\[\]\ZZ[]`bfiklkjkkgb_bcfgiiihdasŒ¥nU@=ÉÄt[dffhjlnprpopolgd`___abcdfge96<:LG;567408>@9:=;88;;4884=HFFJ;79;G@1019Qjjkjgd`_`beecb`_]^`^^[YZ]_cgjklnnnnlgb_adghiihgo€¦\S<:½Í³_Z`cfijlmrqoppolgc````abcdfgL41./KB1GYflkjjljidb`_bfhgecaaa`a`_]\]aehjmnopqpomgbbcee^[YwˆNLAE¬ÀÍ Z]begiilnoopponlic````acdefgb\rQ7`C;:997766666666666666777789:9987666555565556555666667788==;756Vs;8BGGGHmnÈâ¾ÅÁv/3Ybb€yefeeffgggiiijigdb`_`cfhhd`^]\\\\\\\[[_dhkmod©ykX]]XfXOI]¨¾É¼jZ_adghhjlmnnnmljgb`_^^aSX7.cµÊ¶ì묖kZ^a‚E‚¸JYvqbY`¡»óíáÙºS./Xgfpja`affefffhhhiiihfca__adhihea]\[[\\]\YZ]afjmT~œsgTTVVkaOMIs·¿Î­a]acfghjllmnnmlkifb_^]_S>0,BŽßÐéç覃ZY[f}]ÀØ}^d\a^v²ÏÞÁ¤Ÿu1//Xhfcz©®šmdeeeeggggiiijgdb__adgjjhe`][\]^^^ZYZ_dhOeˆb\TTUVlodSLMˆ»ÂÒ—Y_cefhijkkmmnmkjid`_]^[:.,0H~wˆ§¸›±fgnfUjáøŸVprwq‰hh]744//2\gegpªÌÄŽbcdeefffghihjihfb`^_cgijjhc^\[\]__\ZZ\_LZy`\RNSWjlw^OKW¾ÉÌZadfhhijklmmmlkjhb`]^W8-,,1/07F9FoQXdnk~µÔš}lbWVSL>@>962/24`fagdbedfcddeeffffhhffghhfd`^_adhjjiea^\[]^^^[ZXIVg^V›wdqoleXOJe­ÁÍÅt\ceghhiklmmmlkkjgb^^T2--/156;CJR[fs‡šª´ÉÛ̼·©œxcVLEA<41--2_b\cbb``a``aabdefffffeefghgeb_^_bgjjjgd`]\]^^^[VENUYF™¾º·pjlmeSVg…»ÆÓ»i^cdghhijlmmmlkkjd`^V2,.2578=AEK\p³éçéëîîíííñæ‡wiaXLDCKPZf‡‰‰“‘‘’’‘Š€zqeeeefeeefhghhfc`^]afjkjigda^^^^^XAHISE„ÕÜáiknlgYOPPŽÁÇÔ§]^`bdfgijklmmkkkic_Z5,.-16;DNZnŒ¨§ïáììëëëìëîÚ„®—‘•ž¢¦¬¯¯¯¬ª¨©ªªªªªªª«­«£‹ecdeddeegggggdb_^^`cikkkifb`___\@ADQMR·¿ÊlqpnneQLKV£ÄËÓŒY_aceghhhjkllkkjfb]9,.-/4:>IZoˆª¤ôïññòòóòñòÖož°›¡¡œ”Ž‹‡ƒ€}|{{yyyyy{~~abddbbdeefegfda_^\]bhjkjjgd`__]>=CLOPV`‚mspssxhTOJk»ÇÐÆl\acefghhijllkkkhe`;-.-178T[@=DL\¨§¢Ÿœ—‘†}w]@™˜swqlgec``]\ZZZYZZ[[\\]^^`|l`ccabcceeddedcb_]\]`gjkkjhdb_\?=BHMQQTWnnkjimf\RML•ÄÈÕ¢Y_bdefhhhhjllkkifb>0/.3C]ÑÎ`:=EdFFJMMMPSZ\[zªiW__`bfhjmtœ£ŽŒ‡ƒ{xxzzyhovbabaabbddccddddb_^]\^dikkheb_]@=@FKNPTWmebde`b^SMJc³ÃÎÍtY`gfdfgghikkkkjhe=61-/9_ØÄ…w‚¤™š¢¥ª««®ª£³bd}‚ƒƒ€}{x{ksw[\€ƒ…‡…„‚‚{zhgl^aaabacccbccdeca`^\[]bhihge``C==FHKOSVkgggrlhbRLMK‚¿ÅÓ±^]ccbcdghikjjjjig993--/9ZfU:FHLORTnmgfnnqiSLMKV¥ÂÉÔ”_^abcdghijjjjjjh784,,.108?<=AD9:<<7=:9:8y“XeŒ×ÜÝÞÞÞÞß|]cYWNoÜàÞÙÒØÞßxsTg̨d`aabbbcddddeddc`_]\\`dhigfI;7GHKNQSiqjgmosqeZOKJs·ÁÏÊo[`ccdgghijjjjki966-,,/126;=<>ADHLS|aKEN‰OmyàÜÛÛÚÚÛØnZ^c\LfÕßÜØÔØßánYlR¦Ãz]`abbbbddedddddbb`]\[_dhhiK56HJKNORtwnkqpnlnoYLKOÀÄÖ­_`bcdefghijijjd758/,*+-,,,,+,,+,-./-,(HžzPj]ÏÓÒÔ××Ùº]RP[UQZÅæãßÖȶ¢T@xNddb```bbbbccddddddcda_^\[]bhkJ35HKLNOSqojhllhfgidLKJ\ªÀÉÕ‰Zacdeggiiiih^W44910K;1-++**))))*+**))\¦fVd?RUV[_`bTSVY}cTUr‰raQD;9C9iX[g````aabbbbcccccdddb``^\[]biJ04GMOPOTomlehjnspmiQJKLy½ÀÑÄk^ccdfggfdeaXT44751BQIA<681)))**+-059x W__?7566534rL_a`]]_^abccbcccddccdcca`\Z\_D&4FEFQª¾bklhmnklnrplUIKLY§ÀÇÔ^bdffeffeeaVA4/../%###$$#$$%%%%%%$K›~ImO=5448:6542134325536]~|<3454iUZb]‹ÁŬjabbbbbcdeeccddcb_^\^B#2F@@X¹ÐytrptpjjljgjdKJJIqº½ÎËu\abccdddb`[S?8656434566777776886D’pKlFFE:GWXK@E=33223457?…“ŒCB?73U_Na_qªÅÛ]abbbcccddccdccca`]^A"1A<>Jltx€}qjjigijniaNILKL½ÀÔ­[[_abccbba]XQNLJJKKLLLMMMNNOORRL‚‘€cMhFQOFKLMIILQD112366GUe„jNNSI6E^Ia][chmj_`bbbbbcddcccccdca_`D!.<;:>GQptrutlnflmnkjdYMKH`¶¾ÉÓ~V]`bccbcc`[XUSRTTTSSRRSTVWZ]^^_w~v^G\MNICCEFFEBEG;865DKMTVZSMGBIB?AJ`Nˆ¢]Zljabaaabcccbbccddb_Y? .8658;BnurttlnhhkkknriQJJL“ÃÅÕ¸a_cceecdcba_\\[\\[YXVUVWY\^^j“Œzm_;>DBBLRWSJH=LUID:8AMPMKHC?:6;989JcQb€YLf†wcbbcbabaaaabbb\RMK8!.5-@2)(mtmmmkkjfiillniSJJJg»ÅÍÖˆ]cbdgeeddbb``___^][XXYZZ^cPdƒ›˜xhcB::@SMEEDFJPTVWRNOPRTWZ[\giZ`JXaZZ```aaaa``aaa_^RIJJ8 -73^\:+ljlsrmjkmmfhihiUJKKL“ÆÅÓ¸`]]addeeddcbaa`a`^]ZYYZZ[^WOUmv€kpYZXXXWUWXYYZZZZ[[[[[[[[[\[Z[Z[]^\c`HEbca``^``_aaa`aa``\YWQKJ:-500.58kloqmllnqplgjlgSLKLJc¸ÆÌÖ‹^cdffffedddccbcba`]\Z[[[\^[VMX~br\[ZZYXYZYYYYYXXXYXXXXXXXXXXXYXY[Z`P:Rebb`c£¿¾•_aa`a`_abaa^RJ=!-3.(&-3lkkmsuspslijmkpdOJKKMÇÉÕ¾icdfghgedeedddccbb`^\\[[[]^bUAUVsWXXXXWWXXXXWWWWWWWWVVWVWWWVWWWWYY[SC[daab^ãðè˜_`____a`_^^YM=(/0--.4(jpuspsqloiihfirbKKKLK_¶ÉÌÕ–_defghffffeeedddcb_]\[[[[]__>AYvUVWWWVVWWWVVVVWVVVUVVUVVWWVWWWWVVVPS`caaa`^Œ««c\^__^_^^^\YTJ80+))*.$pwtohhkmmhijurte^XLLMO†ÈÇÐÉtbefghgffeffeddedca^\[[[ZZbhd_wVSVUVVVWWWWWVVWWWWVWVVVVWWVWXUOXggNiccba``a^\X\`^^`_^_^^][ZVRL>300136hijg`_ahhqzwrsmjmcQKMR[°ÈÇÖ©cefhighgffgeeeeeeb`^][ZZZ_f‰’Zolkh]TVVWXWXXXXXXXXXXXYYYXXXXXTfŒ”†Vffbbba`_``_```_````_^][ZXTROKHGHHIsnmlhvprisrtss{k\RJJLKyÄÃÎÓ…beefeefffffefeeeda_]\[[ZV^„’nj…—™‚^XYYYZZ[[ZZZZ[[[[\]]\\\\Yd™Å˲_OXcbbaa```_````````__^\\ZWUTQOOPOO†z~xu{wihoxvwzse\RJJKJQŸÆÆ׺e`bbdddeffefgfeedb`_\[[[PZz„qz¢Øѽ‡][^]]]^_^^]]]__``______]ŠÞÛæèwDK`cbbaa``_____`_```_^]]\ZXWVVVVVV†|t~xrqiktnjfnibbbTJKJ]e~»ÂÊØŽ\`accdeefefffeeeba`][ZZLYnj`oÐéÞãÉw`cdggikloqwxqrrrponnoly×éÑÕä€>G^cbbbaa``____`aaaaa_^^]\[ZYZZZZ[}xw}xsoqa^gpyrijdXKKKU\Y™ÁÀ×Áe_acccddefeefeeedaa_][[K[YUQVÐÛÆÔòÁforutvvuwz~~|}|yvuttvršÞé½ÁÐbAG[dbbbaba``___cegdcccca_^]\[[[[[]†‡†††‡‡‡†…†‡‡††‡‡‡‡‡‡ˆˆˆˆ‡‡‡…ƒ‚~|yuttswywyzzy{{zwuyyz{zyyz{~€€€…††…†††††…†††…††††††‡††††‡†…„{xuutvuvyxxywy{yywtwvxzzxwy{~€€……………†††††…†……††††††……………………„‚€€{uwwxwwyzxxwz{zyxvvuwyyxxyz}~€€…………††……††…††……………………„…„„………„ƒ€}zyywwy|{yxwz{{zyxvvxyyyzzz}~†„ƒ„…„……†……††……………………„ƒƒƒ„„„ƒ‚~{yxwy{{zyzz{{{zzvuxyxyzzy{€‚ƒ€ƒ„„„…………†……………………„‚‚‚‚‚€~|yywxz{yy{||{zyyuvxz{zzxz}€€‚…‡ˆ„ƒ‚ƒ„……………„…†…„„…‚€€€€€}}~~{zywwwyyz|||{zyxwwwxxzzy{~~€€€€‰‰‡„…ƒƒ„…††……ƒ„„„‚~~~€~}{|}|zyxwxwvy{}||{{yxyxwuvxyy|}~€€‡‡ƒ…„‚‚„…††„‚ƒ€}zz{{{{|}}~{{{{|zzzxxzxx{z{||||zwyyvuuwwx|€€€‰‰…„‡„‚ƒ‚€|ywwwwxz{y|{yyxy{yzzxxyyz{{|}|}|zyyxwvuvuw{~€€}Ž‹Ž‹~‚ƒƒ„ƒzyxxxvvzzxzyxxxyzz{{yuwxwz{|}~~|zzxwywuuvw|}‘‘†…‰‰‰ŠŠ‰~zywvwwxyvuvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy|~€~~‡††…‚ƒ…†‡‡‡‡‡ˆ‚}xvwwvvustuuuw{|}zzx{{yzy{|~}}{yxwwwwwy|ˆ€~}|€~‚„„ƒƒƒƒƒ‚{vvvuutttuutuwzyyyx{|{z{y{}~}}}zxxxxz{}€ˆ€}{‚‚‚€€|uuuttsssttuuvxvyyy{zyyyz|~zvwxx{~€€}}~|x|{|~€‚€€~~~{ttrtssrrsuwvuwyyyz{yxxxz|~~~~}wsuvw{~}}~}~|wr}||}€‚€~€€€€{tsrssststvwwwwyxyz{yxxy{}|zzxvqpqqnqrpqrwz{wqmn}}}|~€}}}~ztutsuuuvvxyyyzzz|||z{{zxsnhonsssqmhgggffgifeijl„ƒ„„„…„„ƒƒ‚ƒƒ‚€€}~€‚ƒ…ˆŠ‰‡†„‚‚‚‚ƒ‚}yuuxyzyzyxwxxurqqnmopml‰‡‡ˆ‰Šˆˆ‰‰ˆ‰‰‰ˆ‡†ˆ†ˆ‘’‘‘‘’†„ƒ‚‚ƒ„…††……ƒ€€€‚ƒ„ƒ„„„„„ƒ{v‰‰ˆ‡†ˆ‰ŠŠ‰Š‰ŠŠˆˆˆˆˆ‹Œ†ƒ‚‡‡‡‡‡†‡‹ˆ„…ƒ‚‚‚‚ƒƒ„†‡‡……‚€€‚ƒ‚‚„…„…†…„‰‰‰ˆ††ˆ‰‰ŠŠŠŠŠˆ‰Š‰ˆ‡…~}ƒƒƒ‡‰‡ˆ‰‡„‚ƒƒƒƒ€€ƒ†‰‰‡…ƒ‚€€€‚ƒƒ‚„„„†‰‰‰Š‰‡†‡ˆ‰ŠŠŠ‰‰‰‰‰ˆ…ˆ†„†‡†‡‰‡€…‰…„‚‚ƒ‚‚‚‚€€€‚…‡ˆ‰ˆ„€€€‚€‚ƒ„‰ŠŠ‰‰Š‰‡‡‡‡ˆ‰‰‰‰‰‰‰‡†Šˆ‚‡‰‰ŠŠ†~‚‰…„…ƒ€‚€€€€‚„‡Šˆ†ƒ‚€€€……ˆŠŠ‰‹‹‰‡‡††ˆ‰‰‰‰‰ˆ††‰‡€…‰Š‰‰†~‚Š‡„‡†„‚€€€‚‚‚‚€€€‚ƒ†‡ˆ‡ƒ€€€€……„‰‰Š‹Š‹‰†……†ˆ‰‰‰ˆ‡†ƒ††…‡ˆˆˆ‡ƒ}‚Š‰††„„†…ƒ‚‚ƒƒ‚‚€ƒ†‡††„‚‚†‰†‡‰ŠŠ‹Š‰‡……‡ˆ‰ˆ……†‡†††‡‡‡‡††„†‰Œ‡ƒ„ˆ‰†„‚‚ƒƒ‚ƒ‚‚€€€‚ƒ…‡ˆ†„ƒ‡‰|ƒ‡‰‰ŠŠ‹‰‡†…‡‰‰‡†‹Œ‹Œ‹‹‹‹‹ŒŒŒ’Š„ˆ‰‰ˆˆ…ƒ‚‚‚‚‚€€€€…„~~ƒ‡‰||†ˆ‰ŠŠ‹‹Š‡…†‡ˆ‡‰ŽŒ‹ŠŠŠŠ‰‰‹ŠŠ‹‹Œ†ˆˆ‰‰‰ˆ†ƒ€€‚‚€€€€€z|ƒ‡ˆ}}~ƒˆ‰ŠŠ‹‹‹Š†††‡ˆ‰Œ„…‰‰‰‰ˆ‡ˆ‰‰‰‰Šˆ‡ˆˆ‰‰‰‰ˆ†ƒ€€‚‚‚‚‚€€‚…ˆ‰{~}}„ˆˆŠŠ‹‹‹‰††‡‡‡‡€€…‡†‡†…††††…€€†‡‡‡ˆˆ‰‰‰‰ˆ‡ƒ‚‚ƒƒƒƒƒ‚€‡††ˆw~|†‰‰‰Š‹‹‹‰…†‡……ƒ‚‚‚ƒ„„‚‚ƒ„„‡‡‡‡‰‰ˆ‰‰‰‡…ƒ‚€ƒƒƒƒƒ‚‚…„|ypz}}‚‡‰ˆŠ‹‹‹‹‡…‡„„„„ƒƒƒ‚„‚……ƒ„†……„…‡ˆ‡†ˆˆ‰‰‰‰ˆˆ‡„‚‚‚ƒƒ‚…†yhm|}z~ƒ‰‰ŠŠŠ‹‹Š‡†ƒ„…†‡‡…ƒƒ‚‚…ŠŠˆ‡††ˆ‰‰‰‰‰‰‰‰‰ˆ‰‰‡„ƒ€€‚‚‚‚‚‚€jiq|}~†ˆ‰ŠŠ‹‹ŠŠ†‚ƒ…††…ƒ€€€€„ŠŽ‘’””””“““Œ‰‰‰‰‰‰‰†ƒ‚€€‚€y{|kjkw€~}‡ŠŠŠŠŠ‹‹‡‚ƒƒ‚ƒ‚‚€€ƒŒ““’’“’’‘‘‘‘‰‰‰ˆˆ‰‰‰‡„‚€€€‚€vssnnnt€}}…‰Š‰ŠŠ‹‹‰ƒ‚‚‚ƒ‚‚‚…‹‡ƒ€‚Š‹†ˆ‹ˆ‰ˆˆˆˆ‰‰‡„‚€€‚€uqqnliny~|€‡ŠŠŠŠ‹‹Š„‚ƒ‚‚‚‚‚‚‚ƒˆŠzxx€‹ˆ{yyz„Š†‡ˆˆˆˆ‰‰ˆ‡„ƒ€vrqjkhikz}}ƒˆŠŠŠŠŒ‹…‚‚ƒ‚‚‚‚‚ƒ„‰‰„€†‹Œ‹€ƒ†‰‰†‰‰‰ˆˆˆ‰‰‡…ƒ‚xssoniges€~|~…‰ŠŠŠ‹Œ…€‚„…ƒ‚ƒ‚‚†‰‡‰‹ŠŠ‹‹‹Œ‹Š‰ŠŠŠŠˆˆ‰ˆˆˆˆ‰‰ˆˆ…ƒ‚‚}zzmjhgfl{~}€‡ŠŠŠŠ‰…‚‚‚‚‚ƒ‡‰…‡‰ˆ‰‰Š‹‹Šƒ†‰‰‰‰‡…†ˆˆˆ‰‰‰ˆ‡…ƒ‚€€fgghhiq}€~}‚‰ŠŠŠ‰†„ƒ‚‚€…†‰Šƒ…†„†…†ˆ‡„~{„…ˆ‰†…†ˆˆˆˆ‰‰‰ˆ‰†ƒihgfghhu€}ˆŠŠŠŠ‰ˆ‡‡‡………„„…‡‰ˆˆ‡ˆˆˆ‰ˆˆ‰ˆŠŒŽ‹ƒ„†ˆ‰‰ˆˆˆ‰ŠŠƒ‚jhgdgjhs€~~„Š‹‹ŠŠŠŠ‹‹ˆ‡†‡ƒ‚ˆ‘•”““••”•••–••—–˜Ž…‡ˆ‡†‡ˆ‰‰‰‰ŒŠƒ€€„ihgfikin}}€ˆŒŒ‹Š‹‹‹‹‰‡‡‡†ƒ‰‘•”“”““’””“’““’’’Œ…ˆ‰ˆƒƒˆ‰‰ˆˆˆ†„€‚jjjjiihkt€}ƒ‹Œ‹Š‹‹‹‹Š‰‡‡…ƒŠŽŒ‘Ž‡„‡ˆˆ‰‰‡†ˆ‰‰‰ˆ‡…„lkjjnkhkr}‚~‡ŠŠŠŠ‹ŒŒ‹Šˆ‡„„Œˆ‚ŠŽŽŒŽŒŒŒŠƒ~ƒˆ‰‰ŠŠˆˆ‰‰‰‰ˆ†…ƒƒƒlnnoqpmpt|~}}‚‰Š‰‰Š‹Œ‹‹Š‡…„‰ƒ||ƒŠ‰‰‰ˆˆ‡ˆˆˆ…€€ƒ‡‰‰‰‰ˆ‡ˆ‰‰‰‰ˆ†‡††zzzzzzzzzzz{{zzyyyyyyyyyyyyz|„ƒƒ„„††ˆ‡†††ˆ‡†ˆ‡†††††……‡†„ƒƒƒ‚‚yyyzzzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†ˆ‡………………††…†‡†ƒ‚€‚zzzzyzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚zyyzzyyzzzzzzyyyzzzzz{z{{{zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„†‡‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{||}}}||~€‚„„„„………„…‡‡‡…„…„ƒ„…‡‡‡†…„‚‚‚€€{‚~|}}|zyzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€€~|{zzzz|zyz{|}€€€€€„…ƒ„ƒ„…„„„„…‡‡†„…†………„…††††‡„ƒ‚‚‚‚{||}~|z{zzz}{{~€‚ƒ‚‚€€‚ƒ……„…„„……„„„…†‡†„………„………†††……„ƒstx}~€}}|{}€…††…„„ƒƒ„‚ƒ…††……………„„ƒ„…†……„„„„„„„…†††…„ƒ‚‚‚‚xxz}~‚‚€€€‚ƒƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚zyz{y{‚ƒ€‚†‡ˆ†‡‡…„„……†‡†……††…………………†……„ƒ„ƒƒ„……†‰‡…‚€‚€‚ƒy{zz|{‚||xy|}„ˆ†††‡†……†ˆˆ‡ˆˆ†…†……„…………†……„„…„ƒ„††††„ƒ‚€€‚ƒ‚‚ˆ…‚}}~|}}}ƒ††††††††‡ˆˆˆˆ‰†…„„„„„„††‡††„„„„„…‡ˆ‡„‚‚‚‚‚„†„„„…Š‰„€€€€…‡†††‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡„€‚‚‚‚„†ƒƒ‚„ˆ…ƒ€€€‚‚€…‡‡‡††ˆ‡ˆ‰‡†‡‡…„…„„„††‡‡ˆ†„ƒƒ‚ƒ…ˆˆ‡†ƒ€‚ƒ„ƒ€‚……‰‰‰‡…ƒƒ„‚ƒ†‡‡†‡‡‡ˆ†ˆˆ‡‡‡…„…„ƒ„…‡†‡†…„„ƒ„……ˆˆ…€€ƒƒƒ‚„ƒƒƒ„„‚€‚€†‡‡‡†ˆˆˆ‡ˆ‡‡††…„…„ƒ„…‡†‡‡…ƒ‚„ƒ‚‚|||ƒ‚€€‚ƒƒƒƒ‚€‚‚ƒ„‡ˆ…„„††††ˆˆ‡‡ˆˆˆˆ………„ƒƒƒƒ†‰‡††‚~}}{{z{{|{{|~~~~€|~€€€€€€€‚„„„ƒƒ„ƒ‚‚€€€€€€€€…„„„…€€~~~€€€€€€€~~}}}}}||||}~€€€}{|||€}||}€€€€€€€€€€‚‰…ƒƒƒ€‚‚‚‚€€|~~|}}}}}}||}~}||||~€~|}}|~€€€€~€ƒ„‰…‚€€€€€€€||}~}}}}}}}|||}}~||{{z{{yy}}|~€€€€€€~ƒƒ‚‚‚€€€€€€}|||}~€~~~}}}}||}~|~{yzzxz||€€€€€~~€‚‚†‰€€’~}}}}}€~~~}}}~}}~}{…}xxww{ƒ‚||€€‚‚‚€€‚…‡‚‚‚€‡‘€~}|}}~€€€~~}~~~~|{~„~yzyx}†ƒ|{~€‚‚€~~€ƒƒ‚‚‚Š~}}}}~~€€€~}}~}~{{}}{|||†ƒ||~€€€‚‚‚‚€~~€‚„‚‹}ƒ€}}}}~€~}~€€~}~~~~‚€}||}~€€€‚‚‚‚‚€~‚ƒƒ‹zƒƒ€~}}}}~€€~~€}{}|}}}}}}~~}}{z}€~}~~€‚‚‚‚‚Ž±©Š‰y†„‚€~}}}|}€~||}}}|}}~}}}}}}~~~~}}}}}€‚‚‚‚‚€³°˜’~“‰‚€~}}|}~€|~Œ‡~}}}~€~~~~‡€~~}}~~€‚‚‚‚‚ƒ‹‰“œ›ƒ„ƒ‚€~~}}}~€€€Šˆ€ƒ€€€€€„„€€‚€~~}}}~‚‚€›±¸ƒ„‚ƒ‚‚€~~}}}}€€‚ƒ‚‚‚„…‚€ƒƒ€€€€~~}}}}~€„¤ÊÍ‚‚‚‚‚€~}}}}}~€€€ƒƒ‚‚„ƒ€€ƒ‚€€€~~~~}}~}~‚‚€‹™ž·{}‚Œ‚‚€~}}}|}~€€€€~€€‚‚€}€€€~}~~~~~~~}}}~~€‚‘ª|}{ˆ‡‚ƒ~}}}|}~€€€}~‚€‚‚}zzwxwvvwwwwx|~~~~~~~~‚‚~’¿±–||€‚ƒƒ‚€~}}}}}}€‚‚‚…‰‰‰ŠŠ…|xxwxy|~|{{||{~~~~~~~~~‚‚‚ÁÏÎ~‚ƒ‚‚ƒ}}}}}|~€€‚ƒƒƒ„„ƒ…„…{||~~~~~}|~~}}~}~€‚‹ÀÎЄ€|‚‚‚‚‚~~~}|}}€€‚‚‚~||}}}}xyz}~~~}{€~~~~}~~€€†¾Í΂~z|}€‚‚€~~}|}}€€€€€€€€€}}}€€€}vux|€€|{}~~~~~}~€€„ºÎÍ~zyz~ƒ•ˆ‚€~~}}}€€€€€€€}}|~~~{wrx{}{||€~~~~~}~€¢¹ €~yxy~„ˆ„‚€~~~~~€€~}}|{|{{|zz{…}z|}~€€~~~~~}}~€‚†„€~zxxz€‚‚‚‚~~~~€€~||}||||}}||„}}|}~~~~}|~~€‚€‚~zxwxz€ƒ‚‚‚€~}~~~~€€€€€||}{~~}}~}||}}||{y|€~}|{|€~yxyzzƒ‚‚‚€~|}}}}~}€€€€|xwvwwwwwwvvvvvvutz~€€~~||{€~{x{|{ƒ‚‚|}}}}}|}€€}xwwvwxwwwwwwwwxww{~~~€‚€}{|}~~€‚‚‚}}}}}|}}~€€{{|{yyyxxyyxxyyy{~~€€€~€€‚‚‚ƒ~€„„‚‚‚„ƒ‚€~~~}}}}}~€€~z~ƒ‚}zzyzzzzzzz{‚}~~€€‚‚‚‰ˆ‡ˆ†…„…†„‚™Ž~~}}}}}~€~}…„€|}}~}~}}}}}€€~}~~~€€ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÃÇÃÌÏÏÏÏÏÏÏÎÍÎÍÎÍÍÌËËËËËËËËËËËËËËËËÌÌÍÌÌƽ´­¢œ’{qhkujjhljrdfbV\`\[a\S[`]]TPORYX_e^dRTUUUWTSYTPV]^[WTND=8;:521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÎÌÍÌÌÌËËËËËËËËËËËËËËËËÌÌÌÍÎÆ´ž¦—u‚{~s___p|n\]mjg[XYZ^YUTO]f_[ROOPXVZehfOU\_YPPKQQX]aZVOKIA@66632/76ÍÍÍÍÎÎÎÍÎÎÎÎÎÍÌƿÿÇÊËÌÌÌÍÍÍÍÌÌÌÌÌÌËÌÌËÊËËËÌÌËËËÌÌÌÍÍÍÍÍÍÀ£‹‡oomnkkopt|z^a_dcZY[ZZ\RSV\aXYXVSQTRU[fcPPWZTLNMQQ\b__YQGA?<851220.2ÍÍÍÍÍÎÎÍÎÍÍÍÌÌÌÈÀÄÀÉÌËÊËÊÉÊÊÉÉÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÍÍÍÍÍÌÍÌÍË´˜’xkqvxs~~fe`\fX`bb[ZWU^YSYedQPRVWRNKVOXfQOSWYPLROPX`]_VSUNH?<84321--ÍÍÍÌÌÌÌÌÍÌÌËÌÍÎÉ¿ÁÀÊÎÍÍÎÍÌÌÌÌËÊÊÊÊÊÉÉÉÉÊÉÉÉÉÉÉÉÈÈÇÉÊÊÊËËË̼’Ž„}r`j|mcg_^`ViaXWSSLZ`^`om[QOT[SMITRRXRYYWUMOQTZ^WVZQOXOI>?A;520,+ËËÌÌÌÌÌÌÍÌÌÍÍÎÎǹ»»ÈÍÍÍÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÌÌËÊÊËËËËËÉÆÉÊÊËËËÇÆã‰x{qh]konc_`^V\_UQZRRPXedefcfVQVXSQSTRRVQY]_TQSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎźûÅÎÍÍÍÎÎÍÎÎÍÍÍÍÌÍÍÍÌÌËËÈÊÌÍÍÌËÈÄÊÉÊÌÎÌÇÃÁ±™yxpdUSa]Y\``]b_WUQKMTX_abh^ZSOOPNJQQTP^KTSYYVYX]Z[VRPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÂÃÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÉÌÉÅÂÄÁÇÆÇËÌÊ¿¼¬~wqTRPQOVWlpebc[WLCALYQY`_]VSQKLKHKHPKXMQTUVVZ[ZZ]XRNRMUNBG@>>3/.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÍÍÌÍÍÍÎÍÍÍÍÌËÉÇÆÅÈÁ½·Á½Â¿ÄÊÉÄ»¯¥¦‹|rq\VVYXgh[mfe_UUPPVTcTNY\RNVWQKJFNOQYWRPWZUSWWTMSYRPVPWV?5622/----ÍÍÒÖÔÍËÌËÉÉÉÉÊ̾ÈÁÀÌÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎËÂÁÁ¾Â¼¹ª¾ºÀ¸¾Æ¿½´¥‰‡~p‰ycZ]Z\cjVl]T\SMSS][UMORWQORUWKKKSRRYf\NUWVUTUYPPYWW[[LC=7540.-,--ÍÛéïíáÑÊȾ½ÀÅÉÀ¾ÆÁ¿ÊËËÌËÌÌÌÌÌÌÌÍÍÍÌÍÍÌËÄÁ»²»¹°¡¸³½¶´Á´¹²˜†{zmfbabaRZa[Ue[SY\NSRV[TUSNMMJKLRXVNQOQPbZMX[WQLOXVVSWPLKA7=<:61.-,--ÚíÝ¿Åçç;¶±¯¶¹ÀÁÁÉÆÁÉËËËËËÊÉÊËÊÊÊÊÊÈÈÇÄÄÀ±«§«°¤¨­²®±¸«ªž‚vwrjiR_eZWbWQZh]X^XLOQS[_aTPLLKMPLTWKOTNR[\X`\SOKNXUVVOPWIBB=:;951//-,êÜ—|²íÙ·°«­³²¾ÃÅËÈÄÊÍÌÌËÌÊÆÊËËËËÉÈŽ¾±¡š˜£¥™— °ª««¦¢™‚rliejn^VWT`_UV[YY`VRVSSTT^WPSONSUQSSWQOWPRY^X]WX[V\]RSYWSQ?>F;7776520/.ŸšŽ“””¥©¡§«¬°²ÀÁÄÊÇÂÊÍÍÍËËƾÇÊÊÊÊÆ¿¶°²²¸¬ž–˜›˜•¢´­«¢——zhccTeaTMHOV`XQQ]g__n]^b\TWMONOOQVRTPSYQYNN]^]fZb^hfaROMMJK?=@8854453.02xZ^\[nwyyy•±®³½·ÁÇÆ¿ÈËÌÌËÇ¿¶ÄÊÊÆĸ¦Ÿ›š¢£›š–ˆ‘—’’œ§ª’Ž„uccgY\UOTRPX^^Zgn^PT`NWpn[PNJMLJFILLNNMPWTV]TRWW^g]\WOJLGFFCGA8543344/05µxSUw´Ì;Ÿ{­±µµ±½ÆƸÀÉÈËÊǾ²ÃÊɽ³¦˜œž”—”Š‹““Œ‰ŽŽ—‰ˆ‰ƒ}tsnbXSWZYOW[UT\h\RP]fga_[RRLIIFHGFEFNLS][VZUNYgffU]SMTSHI@?A9754313336<ª™hZ’ÓßäÚ¡n˜±¯¬ª·Åº©¯·³»¹Ç»¯½Ã·©žŸ˜› ““…‚ˆ‰~‰‰Œ…‚ƒ€}xwoaVVSS\XTYTRXgRPO]ecRRZWSLKKIJHEJJIQVZaRXPOjqcd^a\U_YTTH<::864322549?¡‘¦©vt{\h‰Ê­Ÿ ª¬ž Ÿ¡¢¡¨¸®¤£¨š™˜Ÿ—™’–„‚„€ƒ€w‚ˆˆ„||{{toohbWPZg[RURV^ZNX\[]XQQQRSLKPPKNRQFBJNS^QQM]a`^Yei[QT]ZESE;;;8554488:<–p;T ‰>?PAX…ì¾ £«žš›ž¢¨¤¡¡ ’“’›™Ÿ™’–‹Š‡‡ƒ}x…„€€xywtphidXWZQW]YS[Y[YUYYZ\ZUPKUTNLOKADFFA?EGHQKQRX[aW_n\^OZ^[IEC?=<856669;>>gN3;ZV]~T>GoΙ}¶Â³·´¹¼Êž»·³§•œ–›–Ž‡Š‹‰‡„€yƒ~{uvwqqljfW[c`aXQRXV\]aWS\SW^ZVPINLNIADFA?FFCAQGUW[X_``\RbaVWWRLGDE966767;=EFDG>=BUbmTAAIŸTÅãÔÖÓÏÌÈÉÊÈÈÌÏÄ–’“Œ‹Š…Žˆ‰ƒƒ{}‰ywtqsrnhaW[baZQUOQ\ebcUMRQg]aWLQQNJHDIRIBILLFOQ[]XLXdccT_cVPW]QF@@<98767;?JAfeffgsutqhe`r£ÉëæŸxg]YWTURRY_n—ŒŽ‰~‚‡‚—ˆ‰|}„‡|‰‚yzwuttwsbVQYWZVYVMYZ\_edhlpmR[[TMQPGEFPVPONOOIIUZ]ZNM]Z_]\fdV_S@;:<=;::8:=<<;ZYYYYXXY[^ddm·ðéÌWBFGKaUINJIJ=}–†…{€„‚Š—ˆ„ˆz‚‰‰‡~†‚|xuwzuun_X\^TVSSU^WOM_q€sb\]eRTMLQRMMJC?LTQRTRNZccdZSXW][Q\VTUG<99;:78:98<==;JJJIJJJKMKMPgžÖÓ¢JG@D=RRT]VTRST‚zš·|ÁÄzHH?D=AAH@5698>£Á’|}~~y~|~…„~{€y~uptywsnjf[SMJYWZSTW[ZXIW^Z\XX^UKMTOLILOOPTVXVZmdZZZZVYXRVJMJ?764]:7778:ADCE[^lŸo]XQlèåìáiÏÍmGQY]^c__bYUXTOÍüµv~}y|~{}|{‚€}wwomwxzphabSQSDAMUVUXZOKIUX[[UZc^SMLIKOMMJGJMVWX]aZ^WUQVOKMHA<8676R†>789;;?HJHJNuÍzNLHláÜãÁQ·Æ½±´¸º½ÁÂÁÀ¾¼¹¹¸Â½¹wvyyw{z}{|~‚‚‚xwwkintxmg`^OQUHJPTW[TPSPTUZUVWY_\RKDCBDGHEEFJSU\ZUNVRTRTNGEC<96676WzA88;=;@GGH“™¯ä°š—‡qiXEÌ×Õ×ØÙÚÛÝÝÜÛÛ×ÔÓÙÀ}z}vvxvwvzz€€wuuoulmtphg^QVWUXY_\XFEQW_WZXWTU\VNICD@>>>=;@KNV`YRW[PV[OMG;:987773ƒãR17;9;AHIJêêëèêëêëê½aKEB¤ÕÚãçææêëéæìíëææåÞÕšx|yvxyywxy}}|{|ztrvujjrigf^N^k\TSXZYQOWXYa]WUZYTLFD@@?><69?EGJZgWTYWZ[TGCB;67877:5åS/8;=BGGDQïòññóóðäߪ\KGE˜ÛÝèëêé×ËÐáļÒìéäÝÔ¿}}ywvyywz{z{{~xvytlgnffcb[fnbZMOZYUQRZW_YVYcYOIC@??C@?>CHB>K[kj\LPdQFA;;:7;<99>8qÜY2=@NTMelhvˆj[]RIC>:;?GMJB=?9yòl9;4>HIX_k†‹”‹Œz`JJG@mØîìììëëéêìëëëêëìíï·xwxv|ziw}{z|wr}|yqnkkgfbbl^SV]YX]TPSQSPZ^Zd]TUQOHGGBGKFEFNMTilissdakhWPMMPUUWTHFN;tôr768U]_lihSSWaVTRPOD798:bÌïíðïëíððòòñíêððîî¬szyuxwnx|yy{{tywwsrkb__[\gaUNVY`[XSMNWVZd_`XPOUQKD?>IWbVZdind[WY_bdjlloe^jyvpldfiU‚ñ‚VRZuuprkfZXVRTW\\bhT.17XºêÙ¹ÄìͲ³¯®³Ñë¹·Ùæ¡t|yrs|}€}tx{zrvz{rvoc[aeb_a_TWXXSQOOMS\YTXYSMRXSPV^\q‚wblwkYTW[]_agfm}„‚‚„|„‡‡ˆ’°“ˆ‚||rsqg{{{{{|~}}€j-.5W§Þ¾‚ŠæÉ}xvuzÊブÉÚŽvwwvvzz|vu|wrvz{lrmd`^d_\`_YYUUTX]^SRYXOMNS]ZW\gz‚†ŠƒcbqiRPY\[Z]eikt}{z|tt}ŠŽ‰„ˆ‚~mrqjnhvvuuvvwxxyoJISrÃÃÀ¼ÄË©¨¯®µÛÝÒÓÏÁ}yvwyzvtvysryrqsrsikjiighhiomlmkq{ˆ†‰Ž‘Žˆˆ’²˜~{w|{lclmaW[`_][_fegrfcadcsz}„…ƒ„…}{sbgpljfponnooqsuuuuvy{}}‚~‚ƒƒ„‰—•‰‘Š~uvxxwvtrqrw~„ŠŒŽ‘–™šš››š–ˆƒxvusrsuuvy{|‚‰•¥²´¬š‹}sljklmliea]]]ZY]]WY\]]`fheebadonhlhe]iumrvnlkkkkmpqrrrrrstwy|}}~}|zzxvtszˆˆœ Žqppt…”œ¨¬­¬ª¥Ÿ˜—–•”•–šŸ¤¨¦¡Šsruuuttrqqqponpt~‰˜¦­®© ‘rggfda`\ZWYXVVXXWXWVW[XXXXYVTSTPYZcpxrokjjijjkmpppoooopsvxyz{{{{yxvtrqxƒ{‚Ÿ’†ª˜’Œwmeb`bnyra^ZWVZ_fghteikmossttsqommnonnosyƒ•¬¼º¤Štkghggc_][WVSRTSRSV^aTTXZVUVUTSUSYxuqmjiiiikmoopppooopqsuwwxyxxxvutrnoxˆ£WTQONOQW`f€˜…c^W`c_[WPAJkbacdeimpruvutrpllmnponllwŽ©º¼¯•sjiifc`a\VYUUTTXWRRUYSSTYXUUTSwvvsnkihggjkmnopoqrrqqrrsuuvwwvuutssommƒODR\dpyK36200446ZmnnnjZ=Pfbbbbbbdgknrtvwvsqnjilnpolkp{­Á¨Šthhiiifd`_[XTSRSRRSSSYVTVVVuuvvsojgfeehjklmmoooopomnoprttttttusqpvtEFGA98:>GS@agdba``^^_bglprstvvsplhghmnmliix™¼Ì¶tjijjiiheb^ZVSSRRSSUXTUUTuuuuutpjgedfghjlllmmmnmlmmmnpqssttutrq‚ZIT±³³µ´°¦ „pr|PGE:12232\UPljfcabb`__`cglnqrttuvsmhgikmonkir‰¨¿ÁªŠskijjjgfb_[YUTRPVZSTTRpsttuutqmhedddfijjjjklllmlkkmnpqrstutrƒFf72213BG<91[§KflTKObhebbbcfgeb__^\[[\\[\_aehjlnnnmmifcbfiijljfbft—ÅÔ¿•OXÅ|\cgijkmosspppokgca`_`abdffghhfXRQgvU‡yIkZdw\RHHLQSSKRJQZ|Ž{J<9=1T€:Y\:=4Jmieb`_addca`^\\[\]\ZZ[^`bfiklkjkjga_bcfhiiigdarŸ³Ÿ}SKÊÂs[dffhjlnprpopolgd`___abddfgiT6;5jrGY[FiL9680Jlkjgd__`beecb`^]^`^^[ZZ]_cgjklnnnnlgb`aegiiihieez¥mU@½Í²_[`cfijlmrqopqolgc````abcdeiP/66:AB7340039=;5543347569758=<@@8:WwYx®¿Í³c[bfhjjkmnonnomlkeb`___`aacb´hK@636655555443446654444444453;WcQLZeehiihhijkjjjjheb`aehihfc`^^]^][[\]_cfjlmnopqoTRZ_bvdCEWY{¸ÂΠ[_dfgijlnnnoommmjdb`___`abakšqRcmR513333323336L:5433333342Oš¢^N‹»€eefggghijjjjihgb`_bfhiifb_]\\\[[[Z\_bfikmoppcMLHA?]vYFOJN‰¹ÁÊŠX]acfhijlmnnmmmlhda_^^_aabhvi^˜¥ºˆ8022221233565543222211H“ª”žr;~µdcffeffghiiiiijgca_`cfiigd_\\\\\[[ZZ\_bfjlnopnfš“]q||r\RKT—ºÄÃvT]_aeghjlmmmmllkhc``__``cmY9i¡š¨§u<..////1473572//0145C’¨¡¾šf+Dabzefeeffgggiiijigdb`_`cghhd`^]\\[\[\\Z[_dhkmoob£®uwggefXOI]¨¾É¼jZ_adghhjlmnnnmljgb`_^^_ae\)M˜¼³²Ð‘PXCEFEC=>•k7IXTRN^‹¢ìçºÒ«R*>ffqj`aaffefffhhhiiihfca__adhihea]\[[\]][YZ]afjlodŽ©xl[`_kaOLIs·¿Ï­a]acfghillmnnmlkifb`^^_ZQG+<ˆËÀØð奔^]_j¨zSµˆIrke]Y­ÞïìÖà†9,7dfcyª°šmdeeeeggggiiijgdb`_adgjjhe`][[]_^^ZYZ_chlStgUTWlodSLM‰¼ÂÒ—Y`cefhijklmmnmkkid`_]^ZF4,2P¼Ï×ÛïÌ¡lY[\b\ŠëÐ\f]ehf¡·Ï¸•sE/-9gegpªÌÄŽbcdeefffghihjihfc`^_cgijjhc^\[\]__\ZZ\afNgŠb]UTUjlv^OKWž¿ÊË~Zadfhhijklmmmlkkhc`]]\L/.-2NZYy† ^nriV–ðÙrcttqiiLV=201.095002?jacffeddbbcdefffffffeefghgeb_^_bgjjjgd`]\]^_^^\XIVi^W{”upjlmeSVg…»ÇÔ¸g^ceghhijlmmmlkkjda^]?,-02469?GNYfx˜¬¼ÃÐâåÕÐËǨp^PJEA;51/.Ai^_cccbb_`chgcefeefeeefgghhfc`^]afjkjigda^^_^^^WEOVZF•¾¹jknlgYOQPŽÂÈÔ¦]^`bdfgikklmmkkkid`^B,./268M^pÈöïïíììëêéè•jª ««§¡›™•‹‹‰ˆˆ††……‡†‡ŠŒ™vbccabcceeddedcb_]\]`gjkkjhdb^_\?=CMOO\innljjmf\RMM—ÅÈÖ Z_bdefhhhijllkkihfQ....9;P…Z4268b€|vpmmgb`V;Cš…~wqolihecbba`````aabdcj‚gabaabbddccddddb_^]\^dikkheb__\?=AHMQQSmebde`b^SMJe´ÃÎÌsZagfdefghjkkkkjiiS12..:G¡ö¦XPVquQZ_hjjmrssq¤k]^\Z[^`aeip‚|utqpooommml_nt_aaabacccbccdeca`^\[]bhihfea_\?=?FKOPSkgggrlhbRLMLƒ¿ÅÓ¯^]ccbcdghjkjjjjijT19-.0<ŠÈmu‹”’”›¡¨§¦¥žŠ²‹[cv|}}y{~€ˆ†¢™yzˆ|}~~}zwlmm_aaaabbbcccddedba^]\\agiggfc]B>=FHLPSnmgfonqiSLMKW¦ÂÉÔ“_^abceghikjjjjikT0<,--1;FGKORhqjgmosqeZOKKt¸ÁÐÊo[acdegghjjjjjjkU/<-,,0039=>?B>EOBB@D‹’Ro—ËÓÖÚÝÞàÛqZXNMK†æáâÙÖÝßÝvwK‚Àz]`abbbbdeedddddcb`]\[`dhiggI;7GHKNQuxnkqpolooYLKO‘ÀÅÖ¬_`bddfggiijjjjlV-=/-,-/0259::=?BDG^nIB;Q’Nq•äÜÛÛÚÚÜÓfcdf\KzßÞÜÖÏÕÝÝggbUgb```bbbbccddddddcda_^\[]bghiJ66HIKNProjhlmhfhidLJJ^­ÀÉÕ‰ZacdfhhiijjjjgP+<3-.**+,+****)))+*(**&\lWd„æßÞßàßáÀZSPVQMkÛãååâÜÑÀVJvMjb```aabbbbcccccdddb``^\[]bgiG24HKLNOomldhknspmhQJKL|¾ÀÑÄl^ccefhhhijiaYI*;5,CR:2.,--+))**++***,u£ZaVR€‚„ˆ‘‘oUVYz\TX›µŸŒtaQHB:rR`d``a`abbbbbccccdddcba`^[Z]ckF04GLNPPdabffiqtorr_KKZgš¿ÄÕ­bbcdghihfdd]VI,:55/HOGC<65,****+-06:D‡šPgT<5345425BKH]‚]TP?755653=L:_bQda]\^^abccbcccddccdcca`\[[]dE*4GKMPU_gkhmnklnrpkSJLLY§ÀÇÔ]bdfffgeefcXH/835.2321.))))))*.01/.M‡JnS>878:988743@rO<:548:::8?J=FqJa^Š¼À«jabbbbbcdeeccddca_^\[_C&3FDGN‘ztrptpjjljgjdLJJIqº½ÎÊt\accddcccc]O92--/*####%$$$$$%&%%%'\¤rLoL;55465563233;635548Kd_85886nN\_vËãà¥^abbbcccddccdcccb`^[]A$2E@@W½x~rjiigijniaNILKL½ÀÔ­[[_accbbba^XK;4477645677877877885L€˜cQjDB;6@QP?8=623323553?Š™;:953_[Sa_jvon``bbbbbcddcccccdcb`]]A"1B=?MypusttlnfllnkjcXMKH`¶¾ÉÓ~W^`bccbcb_[SMJHIJJJJKKLLMNNMMOLI‹Œ†YXaFRMEPSSLIPN;233445DQuŠpKNPB4LdKa_\_`^khabaaabcccbbcbcdcb``D!.=;;@KntrttlnhhkjknriQJJL”ÃÅÕ¸c`cceecdca_YURQRTTSRRRRSTVXZ[\Z]‘yyQW[LQIDDEFEECJF5334@CMW\jVMJLM@CMJ`R–~g…ycbbcbabaaaacbbbcc`Z@ -997:?ltmmmkkjgjillniSJJJh»ÅÍÖˆ]ccegeedca_\YYYZ[YXWVVWXZ[]agryuypTANLIDFINNKJ@INJD<;HQPMLJID=8>:44I`Lx‘kQX[```aaaa``abbbbb\UPL9!.6.7.,ljlsrmjkmmfhihiUJKKL”ÆÅÓ¸`]^adddedca`_^^^_^\ZXYYZ[`^Uy—´˜qhX7589DY\UJ?;;WM@=:"+5/'#,jpuspsqloiihfirbKKKLKb¹ÉÌÕ–_defghgffeeddccbba_]\[[[\]_cGSbclWXXYXWXXXXXXXWWWXXXWWWWXWWWXXWXZY\P@Ydaa`^Ž±¯ d]____aa`___YL<'.1.--3pwtohhlmmhhjurte^XLLMOŠÉÇÐÉtbefghgffefeeddccca_][[[[\\`R:@anSWWWWWWWWWWWVVWVWWVVVVVVWWWWWWXYXXQL_ca``a^]Y\`^^`__```^^\ZTG40,+*+1hijg`_ahhqzwrsmjncQKMR^³ÇÆÖ©cefhighgffeedddddca^\[[[[[e^U^frQUVVWVVWWWVVVVWWVVVVVVVVWWWWXVRSYZNcccaa`_``_```_`````_^][YVRI:/---/rmllgtoqhsrtss{k\SJJML}ÆÃÎÓ…beefeeffffeddededb_^\ZZZZej—~\s[]\UUWVWXWWXWWWXWWWWWXXXXXXXXSXqƒ{Qlebbaa```_```````a`_^][ZWSQMHDEEE†z€xu{wjhoxvxzse\RJJKJR¢ÆÆ׺e`bbdddefffefeeeeb`^][[ZZYg™…`o‚{hVWWWXYYZZYYZYYXYZ[[[[ZZ[X\²¯•ZV`cbbaa``_____`_`a``_^][YVUSQNNNN†|u~xrqiksojfniba`TJKJ]e~»ÃÊØ\aaccdeefffffdeeba_^\[ZZR`†„pwŸ¹Ã‘gYZ[[\]^^^^^]\]]^^____^_Z|ÉÒæÚkGOacbbaa``____aaaaaa`_]\[ZYWVUUUT}xw~xsoqb_gpyrijeYKKKU\Y™ÂÁÖÀe_acccddefeefdeeba`_][ZZKaznmØêØÖœ`_`acabbbcccdfhhgfeddcbk»çÚÝåBH]cbbaba``___cefdccbb`^]\[ZYYXXX†‡†††‡‡‡†…†‡‡††‡‡‡‡‡‡ˆˆˆˆ‡‡‡…ƒ‚|yuttswywyzzy{{zwuyyz{zyyz{~€€€…††…†††††…†††…††††††‡††††‡†…„{xuutvuvyxxywy{yywtwvxzzxwy{~€€……………†††††…†……††††††………………†…„‚€€{uwwxwwyzxxwz{zyxvvuwyyxxyz}~€€…………††……††…††……………………„…„„………„ƒ€}zyywwy|{yxwz{{zyxvvxyyyzzz}~†„ƒ„…„……†……††……………………„ƒƒƒ„„„ƒ‚~{yxwy{{zyzz{{{zzvuxyxyzzy{~€‚ƒ€ƒ„„„…………†……………………„‚‚‚‚‚~|yywxz{yy{||{zyyuvxz{zzxz~€€‚†‡ˆ…„ƒƒ„……………„…†…„„…‚€€€€€}}~~{zywwwyzz|||{zyxwwwxxzzy{~~€€€€ˆ‰‡„…ƒƒ„…††……ƒ„„„ƒ~~~€~}{|||zyxwxwvy{}||{{yxyxwuvxyy|}~€€…ˆ„„…‚‚……††„‚ƒ€}{z{{{{|}}~{{{{|zzzxxzxx{z{|}}|zwyyvuuwwx|€€€‡‰†ƒ†…€‚„‚€|ywwwwx{{y|{yyxy{yzzxxyyz{{|}}}|zyyxwvuvuw{~€€}Ž‹ƒ~€ƒƒ„…„‚|xyxxvvzzxzyxxxyzz{{yuwxwz{|}~~}zzywywuuvw|~‘‘‰ƒ‰‰‰‹Š‰zywvwwxyvuvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy|~€~~††††ƒ‚……ˆ‡‡‡‡ˆ„~yvwwvvustuuuw{|}zzx{{yzy{|~}}{yxwwwwwy|ˆ€~}|€€~‚„„„ƒƒ‚„ƒ~vvuuutttuutuwzyzyx{|{z{y{}~}}}zxxxxz{}€€ˆ}{€‚‚€€€€~vtuttsssttuuwxvyyy{zyyyz|~zvwxx{~€}}~|x}{|}‚€~}utrtssrrsuwwvwyyyz{yxxxz|~~~~|wsuvw{~}}~}~|wr}|}}‚~€€€€€|usrssstttvwxwwyxyz{yxxy{}|zzxvqpqqnqrpqsw{{wqnn}}}|~€€€}{}~|uutsuuvwvwxyyzzz|||z{{zxsnionrssqmhggfffgifeijl„ƒ„„„„„„‚ƒƒ‚‚€€€~€‚ƒƒ‚‚‚‚‚‚ƒ‚}xvuxyzyzyxwxxurqqnmopml‰‡‡ˆ‰Šˆˆ‰‰‰‰‰‰ˆ‡‡ˆ†ˆ‹‘‘‘‘‘‘‡ƒƒ‚‚ƒ„†††……ƒ€€€€‚ƒ„ƒ„„„„„ƒ{v‰ˆˆ‡†ˆ‰ŠŠŠŠ‰ŠŠˆ‰‰ˆˆ‰Š‡‰Š‰Šˆ‰‰Š…„ƒ‚‚‚‚ƒƒ„†‡†……‚€€‚ƒ‚‚„…„………†‰‰‰ˆ††ˆ‰‰ŠŠŠŠ‰‰‰‰‰ˆˆˆ€|~‚„„†ˆˆ‡‰‰„‚ƒƒƒƒ€€ƒ†‰ˆ‡…ƒ‚€€€‚ƒƒ‚„„„†‰‰‰Š‰‡†‡ˆ‰ŠŠŠ‰‰‰‰‰‰…‡„ƒ……„ˆ‰ƒ„‰‡…‚ƒ‚‚‚‚€€€‚…‡ˆ‰ˆ„€€€‚€ƒƒ†ŠŠ‰‰Š‰‡‡‡‡ˆ‰‰‰ˆ‰‰‰‰†‰‰…†‰‰‰Šˆ€ˆ†„„ƒ€‚€€€€‚„ˆŠˆ†ƒ€€€€‚†ˆŠŠ‰‹‹‰‡‡††ˆ‰‰‰‰‰‰‡…‰‰„‰Š‰‰ˆ€ˆˆ„†‡„‚€€€‚‚‚‚€€€‚ƒ†‡ˆ‡ƒ€€€€ƒ…„‰‰Š‹Š‹‰†……†ˆ‰‰‰‰ˆ†„‡ˆ„…ˆ‰‰ˆ†~‰Š…†……†…ƒ‚‚ƒƒ‚‚‚€ƒ†‡††„‚„‡†‡‰ŠŠ‹‹‰‡……†ˆ‰‰††…„„……†††††„‡ŠŠˆƒ„†‰†ƒ‚‚ƒƒ‚‚ƒ‚‚€€€‚ƒ…‡ˆ‡†‚…ˆ|ƒ‡‰‰ŠŠ‹‰‡†…‡‰‰†…ˆ‹‰ŠŠŠ‰ŠŠ‹‹‹ŒŽ‘„…‰‰ˆ‡…ƒ‚‚‚‚‚€€€€„†„‚‚…ˆ||†‰‰ŠŠ‹‹Š‡…†‡ˆ‡‡ŒŽŒŒŒ‹Š‹Š‹‹‹Œ…‡ˆ‰‰‰ˆ†ƒ€€‚‚€€€€‚}z†ˆ}}~ƒˆ‰ŠŠ‹‹‹Š†††‡‡‰‰ˆ‰‰Š‰‰ˆˆŠŠ‰Š‡‰‰‡ˆˆ‰‰‰‰ˆ†ƒ€€‚‚‚‚‚€~}†ˆ{~}}„ˆˆŠŠ‹‹‹‰††‡‡ˆŠ†ˆ‰ˆˆ††ˆˆˆ‡‚}†ˆ‡‡ˆˆ‰‰‰‰ˆ‡ƒ‚‚ƒƒƒƒƒ‚€€„†‡‰w~|†‰‰‰Š‹‹‹‰…†‡††ƒ„ƒƒ„„„ƒ‚‚‚‚„„†ˆ‡‡‰‰ˆ‰‰‰‡…ƒ€ƒ‚ƒƒƒ‚€„†‚‚pz}}‚ˆ‰ˆŠ‹‹‹‹‡††…„„„‚ƒ‚ƒ„„‚ƒƒ„…„‡ˆ‡†ˆˆ‰‰‰‰ˆˆ‡„‚‚‚ƒƒ‚„†€xhm|}z~ƒ‰‰ŠŠŠ‹‹Š‡†„ƒ…††‡…ƒ„‚ƒ„…‡ˆ‡‡…„†ˆˆˆˆ‡‡‰‰‰ˆ‰‰‡„ƒ€€‚‚‚‚ƒ„ƒ€jiq|}~†ˆŠŠŠ‹‹ŠŠ‡ƒ‚…†‡‡…‚‚‰ŠŠŠŠ‰‹ŒŒŒŒŒŒŠ‰‰‰ˆ‰‰‰†ƒ‚€€€‚‚}}€kjkw€~}ˆŠŠŠŠ‹‹‹‰ƒ‚ƒ„ƒ„„€‡Ž““”•–––•––—“Š‰‰ˆˆ‰‰‰‡„‚€€€‚{vwnnnt€}}…‰Š‰ŠŠ‹‹Š…€‚‚‚‚‚‚‚‰ŽŽŽ‹‹ŠŠ‹Œˆ‰ˆˆˆˆ‰‰‡„‚€€ƒ{rroliny€~|€‡ŠŠŠŠ‹‹Š†€‚ƒ‚‚‚‚‚‚‚„‹‡€}|{‡ŒŠ|}{€Š‡‡ˆˆˆˆ‰‰ˆ‡„ƒ€‚{rqjkhikz}}ƒˆŠŠŠ‹Œ‹†‚‚‚‚‚‚ƒƒƒ†‹…{xx|ˆ‹Œ€xzyˆ‰‡‰‰‰ˆˆˆ‰‰‡…ƒ€ƒ}sqoniges€~|~…‰ŠŠŠ‹‡ƒ„ƒ‚‚‚‚‚ƒ‡Š‡†……†‹‹Œˆ„†‡ˆˆŠˆ‰‰ˆˆˆˆ‰‰ˆˆ…ƒ‚ƒvumkhgfl{~}€‡ŠŠŠŠ‹‡€ƒ„ƒ‚ƒ‚‚‚„‰ˆ‡‹ŠŠ‹‹‹ŒŒŠ‡‡Š‰‰‰†„†ˆˆˆ‰‰‰ˆ‡…ƒ‚~}fgghhiq~€~}‚‰ŠŠŠ‰†ƒ‚‚€€€‚ƒ†Š†…ˆ‡ˆˆˆŠ‹Š…|€‡‡ˆŠˆ††ˆˆˆˆ‰‰‰ˆˆ†ƒihgfghhu€}ˆŠŠŠŠˆ†……„ƒƒƒƒ„‡ˆ‹†„†„„…„†‡…}€„…‡‹†…†ˆ‰‰ˆ‰ˆ‰ŠŠŠ…jhgdgjhs€~~„Š‹‹ŠŠŠŠŠˆ‡‡††ƒƒ…ŽŒ‹Š‹ŒŒŒŒŽŽ’“’†ƒ‡‡†‡ˆ‰‰‰ŠŒ‡‚ihgfikin}}€ˆŒŒ‹Š‹‹‹‹‰‡‡‡…‚…Ž––••––••––••”••—”ˆ†Šˆƒƒˆ‰‰‰ˆ‰Š‡‚€‚jjjjiihkt€}ƒ‹Œ‹Š‹‹‹‹Šˆ‡‡‡ƒ…Ž“““’“’‘’“’‘’’‘‘Žˆ‡‰ˆ‡†ˆ‰‰‰ˆˆ†…ƒlkjjnkhkr}‚~‡ŠŠŠŠ‹‹Œ‹Šˆ‡†‚ˆ‰ˆŠ‚‚‡‡‰ŠŠˆˆ‰‰‰‰ˆ†…ƒ‚lnnoqpmpt|~}}‚‰Š‰‰‹‹Œ‹ŠŠˆ…‚‰Š}„ŒŒ‹ŒŒ‹ŠŠŒŒ……ˆ‰‰‰ˆ‡‰‰‰‰‰ˆ††„„zzzzzzzzzzz{{zzyyyyyyyyyyyyz|„ƒƒ„„††ˆ‡†††ˆ‡†ˆ‡†††††……‡†„ƒ‚ƒ‚‚yyyzzzzzzzzzyyyyxxyyyyyyyyyy{~‚ƒƒƒ‚„…††………†ˆ‡………………††…†‡†ƒ‚‚zzzzyzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzyyzzzzzzyyyzzzzz{z{{{zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„†‡‡‡‡…‚‚‚‚€€x||{zzzzzzzzzyyyyyyz{||}}}||~€‚„„„„………„…‡‡‡…„…„ƒ„…‡‡‡†…„‚‚‚€€{‚~|}}|zyzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€€€~|{zzzz|zyz{|}€€€€€„…ƒƒƒ„…„„„„…‡‡†„…†………„…††††‡„ƒ‚‚‚‚z||}~|{{zzz}{{~€‚ƒ‚‚€€‚ƒ……„…„„……„„„…†‡†„………„………†††……„ƒstv~~€~}|{}€…††…„„ƒƒ„‚ƒ…††……………„„ƒ„…†……„„„„„„„…†††…„ƒ‚‚‚‚zyy}‚€€‚ƒƒ…‡‰ˆ‡†„„„„„…‡‡†††…………………†„„…„„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚zyy{zyƒ€€€†‡ˆ†‡‡…„„……†‡†……††…………………†……„ƒ„ƒƒ„……†‰‡…‚‚€‚ƒy{zz{{~‚||yx{|‚‡†††‡†……†ˆˆ‡ˆˆ†…†……„…………†……„„…„ƒ„††††„ƒ‚€€‚ƒ~‡†‚}~}}}}††††††††‡ˆˆˆˆ‰†…„„„„„„††‡††„„„„„…‡ˆ‡„‚‚‚‚‚„†„„„„‰Š…€€€„‡†††‡ˆ‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†„ƒ‚ƒˆ†ƒ€€‚‚‚€…‡‡‡†‡ˆ‡ˆ‰‡†‡‡…„…„„„††‡‡ˆ†„ƒƒ‚ƒ…ˆˆ‡†ƒ‚ƒ„ƒ€‚……‰‰Šˆ†‚‚‚‚ƒ„ƒ‚…‡‡†‡‡‡ˆ†ˆ‡‡‡‡…„…„ƒ„…‡†‡†…„„ƒ„……ˆˆ…€€‚ƒƒƒ‚„ƒƒƒ…„ƒ‚‚€…‡‡‡†ˆˆˆ‡ˆ‡‡††…„…„ƒ„…‡†‡‡…ƒ‚„ƒ‚‚}||ƒ‚€€‚ƒƒƒƒ‚€‚ƒƒ†ˆ†„……††‡ˆ‡‡‡ˆˆˆ†………ƒƒƒƒƒ†‰†††}}{{z{{|{{|~~~~€|~€€€€€€‚„„„ƒ‚„……„„ƒ‚‚€€€€‚……„„…‚€€~~~€€€€€€€~€~}}}}}||||}~€~|||}~~}{|}€€€€€€€€€‚Š„ƒƒ‚€‚‚‚‚‚€€€|~~|}}}}}}||}|{||}ƒ~}}|~€€€€€ƒ„‰…‚€€€€€€€||}}}}}}}}||}}}}||{||}zy|}}}€€€€€€€~ƒƒ‚‚‚€€€€€€}||}}~€~~~}}}}||}~|}}|z{|zx~€}|€€€€~~€‚ƒ‚†‰€€‚~}}}}}€~~~}}}~}}}~|~ƒxxwwy€ƒ~{€€‚‚‚€€‚…‡‚‚‚€~}|}}~€€€~~}~~~~~}{}…yyywyƒ…~{}€‚‚€~~€ƒƒ‚‚‚‚…‰}}}}~~€€€~}}~}~|z{€~z{zz}…†}{}~€€€€‚‚‚‚€~~€ƒ„ƒ‚‡‡ƒ€}}}}~~}}~~€~}}~~}}~‚ƒ~{|€}~€€‚‚‚‚‚€~}|}€‰„ƒƒ€~}}}}~€€~~€€}}}~}~~~~~~}|{}€~~~€‚‚‚‚‚€–ˆ‰€†„‚€~}}}|}€~~|{|||}}}}}}}}}|||~~~}}}~€‚‚‚‚‚ƒ¯½ ‘€“‰‚€~}}|}~€}|…„~}}}~~~}}~}€‹ƒ€~~}}~~€‚‚‚‚˜£—šƒ„ƒ‚€~~}}}~€€~~‹Ž~~~‚€ƒ‰‚€€~~}}}~‚‚€‡Ÿ¥ƒ„‚ƒ‚‚€~~}}}}€‚ƒƒ‚€€‚…‚€€‚‚€€€€~~}}}}~€€·À‚‚‚‚‚€~}}}}}~€€€ƒ„ƒ‚‚„ƒ€„„€€€€€~~~}}}}~‚‚€‚’¯Ê{}‚Œ‚‚€~}}}|}~€€€€€€€ƒƒ}~€€~~~~~~}}}~~€‚ƒžŒŒ}{ˆ‡‚ƒ~}}}|}~€€€}}€€€~}~~}{{{yyz{}~~~~~~~~‚‚€‚¬¨ƒ||€‚ƒƒ‚€~~~}}}}€€€ƒ†‡ˆ‰ˆˆzxvuvvvvvuuvy}~~~~~~~~‚‚‚€¬È¿~‚ƒ‚‚ƒ}}}}}|}€€ƒƒƒ„‡†ˆ‰ˆ†}zzz||~‚€~}~}|~~}}~}~€‚€©ÌÑ„€|‚‚‚‚‚~~~}|}}€€‚‚‚‚‚‚„„„|||}~~}}}}~~~|~~~~}~~€~£ËÏ‚~z|}€‚‚€~~}}}}€€€€€€€}|}~~}yxy{~~z|€~~~~~}~€}ŸÊÍ~zyz~ƒ•ˆ‚€~~}}}€€€€€~}}€€~ystz~‚€}{|€~~~~~}~–ÇÆ€~yxx~„‰…‚€~~~~}€€€€€€€€}}||}}{zvwz}€{{|}€€~~~~~}}~€€†žš€~zxxz€‚‚‚‚~~~~€‚~}}|{{||}|{z~…‚{{||€~~~~}|~‚‚‚~zxwxz€ƒ‚‚‚€~}~~€€€€~}{~}}~~}~}}ƒ‚~|~~}}|€‚€~yxyzzƒ‚‚‚€~|}}}~~~€€€€€€~{|z{}|{|{zzzzyyyww€€€~}|{}€€~{x{|{ƒ‚‚|}}}}}}~€€€yvwvvwwwwvvvwwwvuv€~~~|~€€}{|}~~€‚‚‚}}}}}}|}~€€~€€zxxwxxxwxxxwxxxxyz~€€€~€‚‚ƒ~€„„‚‚‚„ƒ‚€~~~}}}}}~€€€€|z~~{yyxxyyxxxxy{€~~€‚‚‚‰ˆ‡ˆ†…„…†„‚™Ž~~}}}}}}€{|ƒ„€{zzzzzz{{z{~}~~~€€‚‚ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÃÇÃÌÏÏÏÏÏÏÏÎÍÍÍÎÍÍÌËËËËËËËËËËËËËËËËÌÌÍÌËƾµ®¢œ’{qhkuijhlircfbV\`\[a\S[_\]TPNRYX_e^dRTUUUWTSXTPU]^[WTND=8;;521?2ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÍÈÂÆÁÉÍÎÎÎÎÎÎÍÍÍÌÍÌÌÌËËËËËËËËËËËËËËËËÌÌÌÎÎƵž¦—u‚{~s_^_o{n\]ljg[XXZ^YUTO]f_[ROOPXVZehfOU\_YPPKQQX^aZVOKIA@66631/75ÍÍÍÍÎÎÎÍÎÎÎÎÎÌÌƿÿÇÊËÌÌÌÍÍÍÌÌÌÌÌÌÌËÌÌËÊËËËËËËËËÌÌÌÍÍÍÍÍÍÀ£‹‡pomnkknos|y^a_ccZY[ZZ\RSV\aXYXVSQTRU[fcPPWZTLNMQQ\b__YQGA?<852220.2ÍÍÍÍÍÎÎÍÎÍÍÍÌÌÌÈÀÄÀÉÌËÊÊÉÉÉÊÉÉÉÉÈÉÊÉÉÊÊÊÊÊËÌÌËËËÍÍÍÍÍÌÍÌÍË´˜’ykqvxs}~fd_\fX`bb[ZWU^YSYedQPRVWRMKVOXfQOSWYPLQOPX`]_VSUNH?<84221--ÍÍÍÌÌÌÌÌÍÌÌËÌÍÎÈ¿ÁÀÊÎÎÍÍÌÌÌÌÌËÊÊÊÊÊÉÉÉÉÊÉÉÉÉÉÉÉÈÈÇÉÊÊÊËËË̼’Ž„}s_j|lcg_^_ViaXWTSMZ`^`om[QOT[SMITRRXRYYWUMOQTZ^WVZQOXOI>?A;520,+ËËÌÌÌÌÌÌÍÌÌÍÍÎÎǹ»»ÈÎÎÎÎÍÍÍÍÍÍÍÎÍÍÍÍÍÍÌÌËÊÊËËËËËÉÅÉÊÊËËËÇÆâ‰x{qh]knmc_`^V[_UQZRRPXedeecfVQVXSQSTRRVQX\_TQSQXZ\WWSSOQPI>?>6550.2ËÌÍÍÍÍÍÍÎÎÎÍÍÍÎŹ»ÆÎÍÍÍÍÍÍÎÎÍÍÍÍÌÍÍÍÌÌËËÈÉÌÍÍÌËÈÄÊÉÊÌÍÌÇÃÁ±™ywpeUS`\Y\``]b_WUQKMTX_abh^ZSOOPNJRQTP]KSSYYVYX]Y[VRPSNQIEC=@<530/3ÍÍÍÎÎÍÍÍÎÎÎÍÍÍÍžÌÁÅÎÌÌÍÍÍÍÌÌÌÍÍÍÍÍÍÍÌÌËËÈÉÉËÉÅÂÄÁÇÅÆÊÌÊ¿¼¬}wrTRPPNVWlpebc[WLCALXQZ`_]VSQJLKHKHOKWMQTUVVZ[ZZ^XRNRMUNBG@>>3/.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÌÍÌÍÍÍÎÍÍÍÍÌËÉÇÆÅÈÁ½·À½Â¾ÄÉÉÅ»¯¥¦Œ|rp]VUYXfh[mfe_UUPPUTbSNZ\RNVWQKJFNOQYWRPWZUSWWTMSYRPVPVV?5622/----ÍÍÒÖÔÎËÌËÊÉÊÊÊÌþÈÁ¿ÌÍÍÌÌÌÍÍÍÍÍÍÍÌÌÍÍÍÎËÂÁÁ¾Á¼ºª¾ºÀ¸¾Æ¿½´¦Š‡~p‰ycY]Z\cjVl]S\SMSS]\UMOQWQORUWKKKSRRYf\NUWVUTUYPPYWW[[LC=7540.-,--ÍÛéïíâÐÊÈ¿¿ÃÆÉÀ¾ÆÁ¿ÊËËÌËÌÌÌÌÌÌÌÍÍÍÌÌÍÌËÄÁ¼³»¹±¡¸³½µ´Á´¹³™†{ylfaabaRZa[Ud[RY\NSRV[TUSNMMJKLRXVNQOQPbZMX[WQLOXVVSWPLKA7=<:61.-,--ÚíÞÁÀäç̾·²±¶ºÀÀÁÉÅÁÉËËËËËÊÉÉÊÊÊÊÊÊÈÈÇÄÄÀ²¬§«°¥©­²­°¸¬ªŸ‚vwsjiQ_eYWbWQZg]X]XKOQS[_aTPLLKMPLTWKOTNR[\X`\SOKNXUVVOPWIBB=:;:51//-,èÜ›ƒ„¶îÕ·°­­³²¾ÃÅËÈÄÊÍÌÌËÌÊÆÊËËËÊÉÈƽ¾±¡›˜£¥š— ¯ª««¦¢™ƒsliejm\VWT`_UV\YX_VRVSRTT^WQSONSUQSSWQOWPRY^W]WX[V\]RSYWSQ?>G:7677520/.•“‹Žœš¨®±²ÀÁÄÊÇÂÊÍÍÍËËƾÇÊÊÊÊÆ¿¸°³²¸¬ž–˜š˜•¢´­«¡——zhccTf`RLHOV`XQQ\g__n]^b\TVMOOOOQVRTPSYQYNN]]]fZb]gf`ROMMJK@<@8854453./2„dX[Ui|}}y„¯¯³¼¶ÁÇÆ¿ÈËÌÌÊÇ¿¶ÄÊÊÆĸ¦Ÿ›š¢£›š–ˆ‘—’’œ§ª’ŽŽ„uccgY\SPSQPX^^Zgm^PT`NWon[QNJMLJFILLNNMPWTV]TRWW^g]\WOJLGEECHA8543344/05½–\Pn®ÎÕʶ€˜²´µ±¼ÆƸÁÉÈËÊǾ²ÃÊɽ³¦˜œž”—”Š‹Œ““ŒˆŽŽ—‰ˆ‰ƒ}tsnbXSWZYOW[UT[h[RP]ega^[RRLIIFIGFEFNLR][VZUNYgfgU\SMTSHIA?A9754313337<š¥~ayÄ×àÚºu~°¯¬ª·Å»©±¸µ»¹Ç¼¯½Ã¶©Ÿ˜› ““…‚ˆ‰~‰‰Œ…‚ƒ€}xwoaVVSS\XTYTRXgRPO]dcRRZWSLKKIJHEJJIQUZaRXPOjqcd^a\U_YSTG<::864322549?‘£ŠŸ¯|bm_]s­©¢¡ª­Ÿ Ÿ¡¡ §·®¤¢§™™˜Ÿ˜™ž’–„‚„€ƒ€w‚ˆˆ„||{{toohbWPZg[RURV^YNX\[]XQQQRSLKPPKNRQFBJNS^QQM]a_^Ydi[QS\ZFRE;;;8554488:<§…@9ƒœPALKFj²°ž£¬ ™š¢§¤£¡Ÿœ‘‘‘›™ ™’—ŒŠ‡‡ƒ}x…„€€xywtphidXWZQW]YS[Y[YUYYZ\ZUOKUTNLOKACFFA?EGHQKRRX[aW_n\^OZ][IEC?=<855669;>>oU:5LXQ€dD:\‡ªkŵ¹¹ÀÃÎËÉÆ¿µ¥–›–›•‡Š‹‰‡„€yƒ~{uvwqqljfW[c`aXQRXV\]aWS\SW^ZVPINLNIADE@?FFCAQFTWZW_``[RbaUWWRLGCE965667;=EFAJDB@R`l_JBFe¯Y›èÔÌÆÀ¼´°¯®°¹Áï““Œ‹Š…Žˆ‰‚ƒ{}‰ywuqsrnhaW[baZQUOQ\ebcUMRQg]aWLQQNJHDIQIBILLFOP[]XLXdccS_cUPW]QE?@<98767;?JAighihotsrmheh‡Èåî«^TNKKMHHFIOPy˜Š~ƒ‡‚—ˆˆ|}„‡|‰‚yzwuttwsbVQYWZVYVNYY\_edhlplR[[TMQQFDFOVPONOOIIUY\ZNM]Z_]\fdV_S@:9<=;::8:=<<;WUVVVUTUWY^`fˆâêÚsAHGI\cMQPJKCLœ‰„z€„‚Š—ˆƒ‰z‰ˆ‡}†‚|xuwytuo_X\^TVSSU_WOM_q€sb[\eRTMLQRMMJC?JTQRTRNZccdZRWW][Q\VTUG;89;:78:98<==;JIJHIIIKLLKL[‚ÅѽZJ@<@W[_[E;=@<‰†€€ƒŠ}‚†‡‚}~}usutqqre[][NPZXY\ST^bf_\T[baSUMKKRLGA=ANSV_ZZ_fl_]]W\TXSSVVT@:886697767:??>=TUWebXUTRx–†Ç†¤ÍŸCI>H>=;>A95684d¦ÔÁƒ}~‚~y~}~…ƒ|€z~vptxwsnjf[RMJWVZSTW[ZXHV^Z\XX^UKMTOLILNOPTVXVZmdZZYYVYXQVJMJ?763]:7778:ADCEXZ`˜ˆ\XRRÃõæ÷Šœã™T_flnwwuwywxrmw¸îáƒ|}z|~{}|{‚€}xxolvxzphabSPRD@MUVUXZOLIUX[[UZc^SMLIKOMMJGJMVWX]`Z^WVPVOKLHA<8676R†>789;;?HJHJO_À¥TOKQ½æ×âi‚ÄÉÀ¿ÂÄÆÈÌÍÌÊËÉÇÇËÆ¥–zvyyw{z}{|~‚‚‚xwwlintxmg`^OQUGJPUW[TPSPTUZUVWY_\RKDCBDGHEEFJSU\ZUNVRTRSNGEC<96676WzA88;=;@GGH— ¨ØÆŸŸ˜ŒfdBsÇÕØÙÙÛÛÝÞßßßÞÜÚØÙ×–w|vvxvwvzz€~wuuoulmtphg^QVWUWX_\WFEQW_WZXWTU\VNICD@>>>=;@KNV`YRW[PV\OLG;:987673ƒãR17;9;BHIJììíêéìììîÙ~NH>sÏØàèççëîîçêïîéèéãÛº||yvxyywxy}}|{|zusvujjrigf^N^k\TSXZYQOWXYa]WUZYTLFD@@?><69?EHJ[hWTYXY[UHCA;6777795åS/8;=BGHDQíóóòóóóèáÈrMIBkÑÜåëèìÓ¹¹ÙƬ·áëãß×Ò{}ywvyywz{z{{~ywytlgnffcb[fnbZMOZXUQRZW_YVYcYOHC@??C@?>CHB=K[ki\LPdRFA;;:7;;98=8qÜY2=@NTMelguˆi[]RIC>:;?FMIB=?9yòl9;4=HIX_k‚‹£‘ŒŽ‘mPKIAP³ïììëììììëìììëìëìî܇uxv|ziw}{z|wr}|yqnkkgfbcm^SV]YW\TPSQSPZ^Zd]TUQOHGGBGKFEFNMTilisscakhWPMMPUUVTIIP:tôs768T]^kihUTVdYTTRQK;9:6L¡îíïðìëïïïïðïëîðíïÓ}yyuxwpy|yy{{tywwsrkb__Z\g`UNVY`ZXSMNWVZd_`XPOUQKD?>IVaVZdind[WY_adjmloe]iyvplgjjU‚ñ‚VRYtuprjfYXWSTUZ\_ga9/3GŽæܶ£Ýܧ š˜š¯èÆ–ÆÜÈv|yrs|~}tx{zrvz{tvoc[aeb_a_TWXXSQOOMS[YTXYSMQXSPV^]r‚wblwkYTW[]_agfm}„‚‚„|€„‡†ˆ’°“ˆ{|qsqg{{{{{{~~}~}A+/J}ÝÍ¥‡Ê雀€}y©ð«‹ÁÖ²qwwvvzz|uu|wrvz{oqmd`_d_\`_YYUVTX]_SRYXOMNS]ZW\gy†ŠƒcbqiRPY\[Z]eikt}{z|ts}‹ŒŽ‰„ˆ‚~mrpjngvvvuvuvxwwwXGJh{·ÇÈÉÅÉÀ¸½½¿ÔÞØ×ÑÒ”uwwyzvtvytsztsvtupkmjkijkkronnlq{ˆŽ†‰Ž‘Žˆˆ’²˜~€zw|{lblmaW[`_][_fegrfcadcsz}„†ƒ„…}{sbgokjfponnnoprttuuuxz}}}‚}}€ƒ‡••‡}tvxxwvvtspoorqqqtuswvvtstuuvvuvvusrstuvy{|‚‰•¥²´¬™‹|rkkklmliea]]]ZY\^XY\]]`fheebadonhlie^iumrunlkkkkloqqrrrqqtwy{}~}~|zzxvtsyˆ‰œŸ‹ppptvx{‚Œ”›¡¤¦¨©¨­¯®«©¨¦¤ —’ˆsruuuutrqqqponpt~Š™§®­¨ ‘rggfda`]ZWYYVVXXWXWVW[XXXXYVTSUPZ[cqysoljiiijlmopponoooquxyz{{{{yxwurqxƒz…Ÿ”tŠ¥¥ª¨£š•Œƒ|yvrqqqpu{ƒŒ”•–ƒgikmpssstsqomlmonnosz…•¬¼º¤Štkghggc_][XUSRTSRSV^aTTXZVUVUTSUSYxvrmjiiiikmnopppooopqsuwwyyxxwvutrnoz‰’“¥‡uog_XUU^dt–¡‚ig_YVVWVPSwjacdeimpruvutqoklmnponllwŽ©º»¯›ƒsjiifc``[VYUUTTXWRRUYSSTZXUUTRwvvsokigggikmnonoqqrqqprstuvwwvuutssnmm|†LILNRY`YHKP`aSHDLmpnieU?Kibbbabbdgkortvwvspmjilnpolkp|ª¿Ã¬Œthgiiifd`_[XTSRSRRSSSYVTVVVuuvvtpkgfeehjklmmnoooonmnoprttttttusqqm}_=XkxƒŒ”|A?6/,298BXXX[_bS=Vgda```^^_bglprrtvusokhghmnmkiht–ºË¶uihjjiigeb^YVSSRRRSUXTUUUuuuuutqkhedfghiklllmmnmlmlmnpqrsttusqrq€FIv¤¨ª®¦ŒzZHIILIHC81014CXCikgcabb`__`cglnprstvvsnhhjkmonlip‡¨¿Âª‰skijjigfb_[YUTQPUZSTTSpsttuttqmhedcdehijjjkllklkkkmnoqrstutrztCUa¶¸¸¶²®§¦ÄŒ|’†EG=696356lK[omjfcb```a__aeilprsuvvtplggjlmllihq‹¯Å¦ƒojjkkhedd`_\YWTTTTSloqqrrrqokgb``acdffghiijklkiiijlnprrrq‚\YW8s~uj]^VgœŠv‘{FD:TcW<41ajJikmnjfc``a`^]]`dhkoqrstssqkedfiklliegw¡Éͳrnkiggfefedca]WR]jlnopqqrqplfba``abddfhiijkkjhhhjkmopqr…JuI013325ZVIBFKJGHA>byaI4FhˆE`egknnkfbbbba_]]_ehlnprrsttqicbehkkkjgev¡Çзsjlkifdeefee`_™ijlnorstsrpmgcba`abbdfhhijjjijihijloqs|Lƒ:25=EE:EJIR[QIIGIH\gK4^ ¤VUecehmonkifdefda_`afiloprsssroidcfijkjiffxÄϺ’tllkjhffdec|›fikmnprsssrpmiebbaaabdghijjjkkifhiklmvm^121N’LAJGT_QEJFKGPwkH823yzJigecchlmmkhfdeeca_`cfjlooprrsspkecfhjjjjger”¹ÍÀŸ~mlkjjhec{€`dgjlmpqrrrqomifba_`aaegiiijjjkjgfijix^vo165VŒwC<7201ENFJK^g|W74.Y•Hhkjgdccehlkhdaaba`^]^`dhkmpprsrrqlfcdgijkkhfk§ÈʯvlkkjdŒk]`cfikmoppqqonlhca___`adgggiijlkigfhdzT‰\7F=gš¢PB70014?9:Duž˜]=31BœZ^mlmjfcbbdfhgeb`^]^][\]^behlmopqqpniedehjkllkgfv•µÆÅ®vkm›V„[adhjknoqqpqpolhda`__`befghhiijjhgfbzS”OGLGNw}kOLD:9997654]š‹JK836vRnmjhhfdcbbdfgeb`^^\[[\\[\_aehjlnnnmlhebbfhijlifbft—ÅÓÄŸƒ›KÄy\cgijkmorspppokgca`_`acdefggggijgfavZ˜MLSKq|ŒTFGEEDFFEDAX†™xE>>83ˆ„En]?>Bcieca`adedb`^\\[\]\ZZ[]`bfijlkjjjfa_bcfhiiigdarœÇР‰MÊÁr[dffhjmnorpopolhd`___abcdfffgRC>R}dV“Q`|HkOFFLRY\^TNQIV`zZD:;62[I;XC<=0Zljgd__`ceecb`^]^`^][YZ]`cgiklnnnnlfa_aegiiiiidbx’¢zU½Í³_Z`cfijlmrqopqolgc````abcdefc98;AhN=DDKIECBB99;6FWPLO?466HJ.4BSdkkkkkkifa`cfhihgebaaaa`]]^`behkmoqrppolfbadgjjhgy„©[Sz³ÃÎX^cfghjlmnpponnkhca``abceef_OEI49cC<:998766776666667777777888:@F531//1Ljaeedddcbcddfeeffffeefghgeb_^_bgjjjgd`]\]^_^\Z[[JX{`YPMojlmeSVgŒ½ÇÔµe^cdghhijlmmmlkkida^]R2,--0359=?FQTYdt„•¯Ì³Ÿync[TNGB>84021Qj^efefecdhkhbeeeefeeefgghhfc`^]`gjkjigd`^^^^^_]VJUj_Yv‡jknlgXOQT–ÃÈÔ [_`bcfgijklmmkkkhd_^Q/-.3567@DQJZÍmmljjmf[RLN˜ÄÈÕžZ_bdefghhijllkkihe]5-.-.27;CN[m…†æèæãÝÜÛÒÌȵYZy£ ®°­¨¥£œ—•””‘‘Ž‘‘“–•˜mabaabbddccddddb_^]\_dikjheb^\\W==BKPOblebdd`b]SMJf¶ÃÎÊqZagedefghjkkkkjih`8/..3=G”˜C,-0?Z]^YTSPIFB=4K¤œ‰†~zvsomjkjihhhhfffghigv‚c`aabacccbccdeca`^\[]bhihfe`^\Y>=@HORPkgggqlhaQLML…¿ÅÓ¬]]bcbcdghjkjjjjihc95/.1@nðÚejuupt‡‰’’”’‹ Ÿkdc_[Y[\]^`dlfcdehjigghfeZrr_aaaabbbcccddedba^]\\agiggfc^Z?=?FLPPnmgfonqhRLMKW§ÂÉÓ‘_^abcdggikjjjjiie7:1-.4O¤šm\krz~~‚†Œ‘Œ‡s~³~Wcotvxx{|ƒ˜º¥Žˆ‡€€ul‹¤e`aabbbcddddeedc`_]\]afhijgc\A>=FHKOhqjhnospdYNKKv¸ÁÐÉn[accegghjjjjjjjf6;2,,.28JI8;@J66773000001¦ggw„‡ˆ‹ŽŒk@><5N’¦§©§§§¤’_b´{]`abbbbdeedddddcb`]\[`dhigfbF>;FGKOuwnkqpolooYLKP‘ÀÅÖ«^_bddfggijjjjjkh5:3,,.015:>?@@>CFFEbVGGCR›ŠNyœ¾ÅÌÓ×ÚÝÑfUMEGL›çáàÚÙßáÖruLje```bbbbccddddddcda_^\[]bghggH;8GHJNrojhlmhfhidLKJ^­ÀÉÕ‰Zacdfhhiijjjjkh596-,+-//1355698:>EZK<93`•pTr´ãÝÜÜÜÛÞÈ_ief[K‹ãÝÜÖÏÔÝØ_rW^h```aabbbbcccccdddb``^[Z]cghjK57HIKNomldhknspmhQJKL|¾ÀÑÅl^ccefhiijjjkh_287/-1*)*+*))))))))'(*))r›]a]­çßÞßßÞà¹UWRXPL}âàááááÞÐSWnQk``a`abbbbbccccdddcba_][Z\chkJ24HJLMdabffiqtorr_KKZhš¿ÄÕ¬bbcdghiiiijfZT15822XN=50./.*)*)****+,6‰šPlIw¤££¨¯´³}UUXnWRb½Î¿±ˆt`@@wNeb]\^^abbbbcccddccdcba_\[Z\biJ04GLMO_gkhmnklnrpkRIMMY§ÀÇÔ]adfffgedd`XS267613IHD@660*)*)+.14;KPPd‚ZVRLH>:621?NntrstlnhhjjlnriQJJL•ÃÄÕ¸c`cdedbbb_\VQLIIJJJJJKKLMNNOPQQPSŠ„OcVHPCDS\VKENC5232345?PƒtFKG:3V_N`a^_gˆybbbcbabaaaabccbbba_`D .>:;AltmmmkkjgjillnhRJJJh¼ÅÍÖ‡]cdffddb`^[XTQRTSSSRQQQSUVXZ]]ZpvyIfPMQHGFHHGGIQA0224;=PXdvXNMSK:GVLaWm~tbZaa`aaaa``abbccbbcb_[@ -:;89;LPOPPOOJB>E>89L`KŠ yY\_``_aaa`abbbcbbc]UPL9!-5.5.jmoqmlmoqpkfjkgTLKLJd¹ÅÌÖŠ^ddfffedcaa`__^__]ZXXYY[\_\b™­…niL5=>>GYZZMD@?A:520,+ÌÌÌÌÌÌÌÍÍÍÍÎÎÎÎȹ»ºÉÍÍÍÎÎÍÍÍÍÍÍÍÍÎÎÎÍÌËÌÌÊÊËËËËËÉÆÉÊËËËËÇÆ£Šyzph^lood_a_W\^URZRSPXfeefcgVQVXSQSTRRVQX]`USTQYZ\XWSSOQPI>?=5550.2ÌÌÍÍÎÍÎÎÎÎÎÍÍÎÎźļÆÎÍÍÍÎÎÍÎÎÎÍÍÍÌÍÍÍÌÌÌÌÉÊÌÍÍÍÌÉÅÊÊÊÍÎÌÇÄÁ³›yvpeVTb^Y]``]b_WUQKMUY_aci^ZSOOPNJRQTP^KSSZZVYX^Z[WRPSNQIEC>@;530/3ÍÍÎÎÎÍÍÍÎÎÍÍÍÎΞÌÁÅÍÌÌÍÍÍÍÌÌÍÍÍÍÌÍÍÍÍÌÌÌÉÉÉËÊÆÂÃÁÇÆÇÌÍÊ¿¼¯‘~wsURPQOWXloebc[XMCAMYRZ``^VSQJLKHKHOKXNQTUVVZ[Z[_XRNRMUNBG@>>40.--ÍÍÍÍÍÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÍÍÍÍÍÎÎÍÍÍÍÍËÊÈÆÅȾ·¿½Â¿ÄÊÉÄ»¯¥§~sp\VVYXgh^nff`VVRQUTdTNZ]SNVWQKJGNOQYVQOWYUSWXUOTXRPVQVV?46220.---ÍÍÑÕÔÍËÌËÊÊÊËÊ̾ÇÁÁÌÍÎÎÍÍÍÍÍÍÍÍÎÍÍÍÎÎÎËÃÁÁ¾Á¼º«¾¹À·¾Æ¿¾´¦Š‰q‰zdZ][\djUl]T[SNST]]VMOQXQOSUWLKKSRRYf[NVXVUUUYQPYWW\\MC=7540.-,--ÍÙçïíßÏÊÉÃÀÀÃÆÉÀ¾ÆÁÀÊËËËËÌÌÌÌÌÌÌÍÍÍÌÍÍÍÌÅÁ¼³»¹²¡¹´¾µ¶Áµ»´š‡|zlgabcaSZb[Td[RY\NRRV\TUSNNNKKLRXUOQOQQbZMY[WQLNXWVSWPLKA7=<:61.-,--Ùìß½ÆéæÌÀ¸³²·ºÀÁÂÉÆÂÊÌËËËËÊÉÊËÊÊÊÊÊÈÈÈÄÅÁ²¬§¬°¦Ÿª®µ­²¸­¬¡„wwsjhQ_eZWcXQ\h]X^XLOQS[`aTPLLLMPLTWKOTNR[\X`\TOLNYUVVOPWJBB=:;:51//-,ä㦊ÂîÓ¹³®­³²¾ÃÅËÈÄËÍÍÍÌËÊÆËÌËËÊÉÈÆÂþ¾²¡›˜£¥š—Ÿ­««¬§£™„sljgjn]WYU`_UV\[X_WSVSSTT_XPSONSUQSSWQOVPSY_X]WY[V\^SSYWSP@>G:7677520/.’Š‹‹—•’š¢¬±²ÁÂÄÊÇÁÊÍÍÍËËÆ¿ÈËÊËËÇÀ¸±³³¸«Ÿ•Ž™›˜“Ÿ±­«¡™™yiddVe`RMHOV`XRQ[g__n^^b]TWNOOOOQVQTPSZRYON]]\fZb^hfaROMMJK@=A8854453./2‡rV]V^y~~}x ²³½¸ÂÇÆ¿ÈÌÌÌÊÇ¿¶ÄÊÊÇĺ¨Ÿœ›¢£›œ–‰•˜’“©«œ’Ž„udcgY\TOSQPY_^Zhn_PTaNWon[QOKMMKGILLNMMPWTW]TRWW_e][VOJLGFECHA8543344/05¼¬pR^—ÈÔÒÅ”€²µ¶²¾ÆƸÁÉÈËÊǾ³ÃÊÊ¿µ§™Ÿ•˜•‹ƒ–“Š—Š‰Šƒ}usobXSW[YOX\UT[g[RQ]fga^[RRMJJGIHGEFNLR]ZVZVNZfffU^TMTRHI@?A9754313336qYF3A`WsxI9MdŸx½¸»ÃÊÎÓÒÒÑÐÍǽ­š–›•‡Ž‹ŒŠˆ…‚€zƒ~}uvwqrmjfX[c`bXRSXW]]aXS]SX^ZVQINLNIBEE@?EFDAQGUW[X```\RbaUWWRLGDF:65667;=EF?HGB@I]ihQCEJxg×Ú·¬§¡š™›™›£ª°›Ž’Œ‹Š…ŽŽ‰Šƒ‚‚{}ŠzvtqsroibWZba[RUOQ\ebdVNRRi]aWMQQOJHDIRICILLFPQ\]XLZdcdT_cUOW]QE?@<98767;@LBjigihkttroigdr²ÛïË`IGEENFEDCEFN“”Š~ƒ‡‚—‰ˆ~~„‡}Šz{wuuuwsbVQYWZVYVNY[\^ffilolQ[[TNRQGDFPVQPNOPIJUY]ZNN]Z`]]feV_S@::==;::8:==>;WVVVVVTTVX[`cpÀìå¡BFFFTjWRTMJK:VžŠ€ƒŠ}‚‚‡‡~‚~vtutrqrf[][OOYYZ\ST^bf^\T\baSVMKKRLGA=BOSV^ZZ`gm`]]W\TXTSWWUA:887797777:??>=RUW\iXVSR_™²©Ð¼UA@GD<<;@=7786<Åç y~‚~y~|€†„|€{~wqtxxsnjf\SMJWVZSTW[ZWHW_Z\XX_WKMTOLILOOPTUXV[ndZZYZVYXRWKMJ?763^:7888:AECEV[^z¢e\UMˆöäôÈjÙ¿vnx|{ˆ…†Šˆ†~{¢Õï¤z}z|~{}||€ƒ}xxpmvxzph`bSPSD@MVVUXZOKIVY[[UZd^SMLIKOMMJGJMVXY]`Z^WURVOKMHA<8676R†?789;;?HJHILQ•ËePKHŠíÛê©W±ÆÍÆÊËËÌÏÑÒÑÑÎÌËËÓ¬}xzyw{z~{}‚‚‚ywxlhmtxmga^OQUHJQUX[UPSPTUZUVWY`\RKDCCEHIFEGJRU\[UMVRTSSNGFC=96686UyA88;=;AGGH’™ŸÃÜ£œ—†opSQ·ÔØÛÜÝÞÞßààãáàÝÛÚÜ¿|{uwxvxuzz€~wvvoummuphg^QVWUXX_\XGEQW^WZXWTV\VOIBE@>??=;@KNVaZRW[RV[PLG<:987772†âQ16;9;BHIJëìíëéëëëëä£UJCMºØÜæééêïïëèíîìéêçÜÔ•zwvxzyvxz~}}{}zurvvjksjgf^N^k\UTYZYRPVXYb^WU[ZUMGD?@?><68?EIK[hWUZXZ\UGDA:68877:4„äQ/8;=BGHDQëñòñòóòïæß—TLFL·ßáëèê൭ÄÕ¦¥ËíäàÝ׸{|zwvyzxz|y{z€~ywxtmhnffcb[gpd\NQ[XURSZW_YU[eXOICA@?CA?>CIC>K[kj\LPeRGA;;:7;;99>7tÚW2=CRQJU^]jŒmQVXKA;666;?AA>@:;?GMIB=?9yòm9;4=HIX_k|ˆŒœœŒŒ’Šw[KKFC…æíììììíìëìííìììììí§txv}{jy~|y|ws~}yrokkhgccm`TV]XW\TPSQTQ[^Zd]UVROIGGBGJFEFNMTiljssdalgUPMMPUSTRHIP:tôs769U\^kiiUVXehZ[XWSA:<9>xßîíïíëëìíìííëìíìëê›vzuxwry}zy{{uzwxtqjb`_[[hbUOWY`ZXSMNXVZd_`XPNUQLE?>IWbW[dind[WY_aeklkof\ixunjfikU‚ñ‚UT\vvprjfVVTSQQTXX^^A.3=hÔÞ“¼ì®ŒŒ•ÑÜ…¤ÍÝyyrt}~}tx{zswz|xvnbZafcaa_TWXYSQPOMT\YTXYSNQXSQV^^sƒyclxm[TW\^_ahfm~„‚‚„|€„ˆˆˆ”²”‰ƒ|}rsqh{zzzzz{~|}‚X*/=cÃÚÀ”­ðÍ•‰†„•äו´ÑÕyuvvw{{}uu|uqwzzrtjd`_e`\`_YYUVSU\^SRYXOMNT_[W[gz‚‡Œ„dbrjSQY\\[]fiku}{|tt}‹ŒŽ‘‰…‰‚nqplohvvvuvwwyyxyb@BSržÉÇËÈÈÌÍÉÉËÒÙÕÒÓܽouwyzuuvytt{tsxvvsqlmmklkmronolqyˆŽ‡ŠŽ‘‰Š•´˜€~{x||lammbW[`_][_gehrfdbdctz~„†„„„~{ragpmjgponnopqrsttutvy}~}~€}~€€‚„ˆ“’…‘‘€tvxxwwvtsrrtrrqponjiiiiijnpqsuwxwtstuuvxz{‰•¤²´«™‹}qkjkkmlifa]\]ZY]]WY\]]`fhefcadoogljf^itnswomllkmnpqrrrqqrtxy{}~~}{zyxvutzˆ‰› Šppqtxurqpsv{€…ŠŽŠ‘‘Œ‰†‚{uorqruvuttrqqqponpuŠ˜§®­§žrggfda_\ZWZXVWXXWYWWW[XWWYYWTTUOYZcpysoljijjlmoppoonnopsvyz{|{{{yxwusqy‚z†Ÿ”urŠ•¢©¬®¬ª¨§£¡¡¡  £¦§©«¤¢‰ijlnqstttsqomlmonnos{†˜­½¹£Štjfhggc_^\XVSRTSRSW_aUUWZVVUTRRURYxvrmjiiijlnnnpppoopprsuwxyyxxxwutrop{Š“‘Š©Ÿœ—Œ‚xqkfcgnla_^[\ajquw‡xacdfjnpsuvutqoklmnponllxª¼¾¯š‚rjiifcaa[VYUUTTYWSSUZSTTYXUUTSwvvsokhhhhjkmooopqrrrrqrtuuvwxwwvussomm}¨Œa\WRPOPYdjˆ¬¦vfb``[XWRDKpeabbbcehmprtvwvspmjiknppmlq”°Äê‹shhijifd`_[XTSSSRRSTTYVTVVWuuvvtpkgfefhjllmnnoppponoopstuuuuuutqqpn…VDNS\emqJ8:::8764UrsrplX>Nhdbaa`^_`chmprrtvusokhfjnomkhiyš½Ì¶Žsjijkijheb^YVTSRRSRTXTVUUuuuuutqkheefgijlllmmnonmmmmoqrsttuvtrrqww=Rt„Ž—› pSG7008@BGIDDGKPP>_kgcbbb`__adhmoqrttvvslhhjkmonkjrŠª¿Àª‰rkjkjjgfb_[YVURPU[STSSqstuvvtqmhedddgijjkklmmllkklnoprstuutsq‚]E[«®°²²©Ÿ‰naabOHE;34642PUJmljfcb```a``bfjmprsuvutqlggilmmlihsŽ²ÆÂ¥„pkkkkheddaa]ZWTTSSSloqqssrqolgb`abcefhhijjkllkjjjlmoqrssss„Fa?Œ¸±¬¥ž–ˆ»»€¯dC=7AG?54BuCclmnjfc``a`_]^aeiloqsttssqkedgjklmjfgz¥Éγrnkiggfeeedca^WTUjmnopqqrqplfc``aacefgiijklkjiiijkmopqqyyGp3BYPI?MWIcuortRC6GlgY842xXTghknnkfbbbbb`]]`fimoqrrsttpiccfiklkjgew¢ÈÑ·sjkkifeeeffea][ijloqrstsrpmgcbaaacdfghhikkkkjiijkmoqp}d]k024464AMINULDDHA;Ist^>9oyGedehmonkifdefda_`bfjmoprstsroidcfikkjifgxÄϺ‘rllkjhgfeefeefikmoqssssrpmiecbbbbdfghijkkkkjghjkmonSx[/27Q^M6m’–Jbhecchlmmkhfdeeca_`dgkmopqrsttpkecgijjkkger—ºÎ½œ}mlljjiffc{`dgkmopqrrrqomjfba`aabegiijjjjkjhgikllM‹H026|¤|@GD=:9>GHAMEYog@6-5`Xmjgdccehlkhdaaba`_^^aejlnpprtssqkfdehjklkiflƒªÊÊ°vmklkhdx]`cgilnopqqqoolhca___`adghhiijlkjgfhikvS;69Cx‹•g;62334UwXJQ{„…E521x€Lmlliecbbdfhgeb`^^_]\]^`dgjlnopqqqnifdfijlklkhgx—¶ÇÄ­wonhŒ„[adhjlnoqrqqpolhda`__`begghhijjjiffemld„9EHF€‘£uHE72327C7;F£„P:20]šLhmmnlgdcbbdfgfb`_^\\\\\\\_bfijmnnnmlifcbfhijljfbfu˜ÅÓÄžuo›Äy\cgijlnpstqppokgca`_`aceffggggijihbqa{yCLKH[„oPJJF???=887G~œmIF62I§W_nf\]eheca`adddba_]\\]][ZZ[^abfiklkjkjfb_bdfhiiigcasŸÉÖÁ‘˜ÊÁr[degiknoprpopolgd`___abddfgghgb^_esUsH\Qg}gGFEGIIHKHJN}”X?;>4FžMTkE98@hjgd__`cffdc`_]_`^^\Z[]`cgjkmnoonlfa`bfhijiiidcy¡À¤‰½Í³_Z`cgiklmrqopqolgc``_`abcdffhW;:9~uGwmLyUJQ@@JS\bb^OPDJPYviMD>93:I3BF8=66fljieb``cgihfdaaaaaa_\\^behknopqqoomhcbdgjkkjihecw¡x­ÀΟZ]behijlnopqqonlid````bcdffiH2<8OQA777:35>A><@?<;9<95965DIGIK869;G>2118Ojkkkkifaacfhjigebaaaa`^]^`bfiknprrqqpmgbcehjiiiijx¬j|´ÃÎX^cfgijlnoqpoonlhca``bcdefgT3...4TL:9766778554555556777556789:<@M@0EXemkkkkkkjhdaadhkkifca````^]]^`cfjlnoprqpolgbbehiij~†¬\Q»ÈÈsYacfhjkmoppoonmlhc````acdde^T\V/VS<::997766666666667667777889:=G?Jjjjiijjjkjkkiebaadhiigca`^^^]^]]^`dgjlnpppqoplfbd_[\„‰MXx¯¿Í³c[bfhjklnoonnpnmkfb``_`aabcdg“¹[MK9988777666666666666666666789:?AHeeghhhhijkjkkjheb`beiihfd`^]]^]\\\]_dgjlnoppqqphTW]aa‡‹CX[}¸ÂΟZ_dfhjkmmnnoonnmkdb`___`aaabŒ¸`H@6777655555444534655454444553:GLK€ƒdfggghijjjjkiigb``cfhjifb_]\\\[[\[]_bfjlnoqqqlPWbqw†uAOJN‰¹ÁʈX]adfhjklmnnnnmlhda_^^_aba_~¦fQLH5144433332343D<54333333432`„XW–ccefefghiiiijkjgda_`cfijhe_\\\[\\\[[]_cgklnpqpSS[bewcE\RKT—ºÄÂtT]_aefhjlmnnnmlkhda`__`aa`kˆkU‡——W02322222333A;4433323323e´Ÿ§yHQb‚zdfeefghggijjjjhec``adghid`^\[\\]\\[[\_eikmoqaLLF@B]reXOI`«¾Ê¹f[_adghhjlmooonlkhc`__^``cj\If§žº§P1101112444026421100-/\•›¨•‹4Bfrk_`afffgffghiijihgca_`behiheb^\\\\^][ZZ]bgkmnojgšŠXp€jaPLJv¸ÀÏ©_]acfghjllnoonmkjfc`_^__blP)aš¬ª¢£W286433138WO669<=?D[bÂѯɸu/5`e|«±˜kdefeefghhijjjgdb`_aehjjie`]\[^__^[Z[`eikmlf©­tyhlobRLN‹¼ÂÒ”Y_ceghikklnnnmlkie`_]^_Z[H(JŸË´ÎíÄ€TVY`|`@°>bum_Yi§¾ôðÖ×µU-.Yhq®ÌÄŽbdeeeffggiiijihgd`^`dhijjhc_][]_`_][Z]bgiia•§vm]jlv^NKX ¾ÊË|Zbdfhijklmmnmlkkhc_]^_WE6,;vÓÐåëî·˜b\[`}dÁªSp`c``´ßçÕ½¼|1..Whebeefcdeeeffffhhghhhhfd`__behjiifb^\]]^_^\Z[^adLŠœtgUqoldWOKg°ÁÍÂp^cehiijlmmmmmlkjfb_^][H1-0=žž®Ó¿­ƒ`ghWKŽõèpZnqvp ¦Ž‰gA?6/.2[hffeddcccddfeefggfefghhgeb_^_bgjkjhea_]]^__]ZZ[]Joˆc_UpklmeSVhŒ½ÆÔµe^ceghijjmmmmmllieb_]\H.--1034MPKzuTiqocŠ×σlji_W`N9?=741.25_hefffecdgkhbeeffffefgggghfc`^]`gjlkjhda``____][YJZ|\XPjknlgXOQT–ÃÈÔ¤\_acdghiklmmmllkje`^\?-../149?CGNX^cs†™¦ÅͲ§–‡wi^UKE@;74126ch`fggfcn¾ÚЋbdeeeeeefhhhhheb`^^`djllkjfca_```_]WIVn[XmlrpnmdQLJ[¨ÄÌÓŠY`bcfhhiiklllllkhc`^>+/1457:>CITfƒÃÔÜßäìîéçèìËxeWVPF@94107eh]effeee‡°«—edddedccegggggfdb`_]^bilkkjhea``_^\TENZXG”msqstwgTNJn¼ÆÑÂh]acffghijkllllkifb`B+/1059@GP\l“ŽÚìéîíëëìììòÀˆ¦‰ygP?4-**7fh^hjjjjjfb`acbbcddccddeffffedb`]\]ahjkkkidb_^\ZQ@HMSB‘mnlkjlf\RLN™ÄÈÕ›Z`bdfghhijklllkjhebG,/1.38@HVh€®¢Ëíêïðïðñññø½Œ¢k^SSYdmzŠœ¢ž§ªªª©ª«ª¦£ Ÿˆfbcbbbceeddeeedc`^]\_ejkkheb_][ZR>BEPJ]mfcdd`b^SMJf¶ÃÎÊrZahfefghijllkkkjgeK,.1.047BGNXll«áÚÙÒÐÉý¹¼}EH^ˆ•¦­¯±°­©£¢ žœ›œž ¢  Žbaaabbcdccddeedba^\[]chihgea_\[S<>ALPOkhhgqlhbRLML†ÀÅÔ­^^cccefhhjkkkkkkihN./0/<\« ˜™‘Š…‚|ywvusrooqpqqssstŠ{^`aaacdcdddddeeca_]\\bhihggc^\V=<@IPRnmggpnqiSLMKX¨ÂÊÓ’_^bdefhhikjkkkkjiP13..9I¸ö­sqz•¡…‰”™šž¢žš­œrplfa``]]\Z[ZYZZ\\]]^^^]]\Šže`aaccceeeeeeeedb`^\^afiijhd^X>FJKuxnkqpolooYKKP’ÀÅÖ¬^`ddegghjkkkkkjlP1:,--128>GA48750,//014Žgdyƒ…ƒ€|~sWfWE`‡‰ŽŽŒ‹|~\dl_``bcccddeeddeeedb`^\[]bghhhdC<:FGJrpjhlmhfhidLKI_®ÁÉÖ‰ZbdffgijjjkkjjmP.;,,,/037<>?A@BGHIVnNIIF^¤R}¢¬´»ÃÇ͸_D<;>Q¯àÝÛÕØÛÙÀtkOma``abcccccdddcefeca`^[Z]dhhjiF98HHKpmldhkntpmiQJKK~¾ÀÑÅl_cdfghjjkkkjklM.;/,+,./012335778:FP;63.n—gX{ÇÞÞÞÞÞÝá»Zh`^VL¡åÞÜÖÐÙÝÓ[yNfe_`abcccccddddeeedcb`^[[]dijkG57IIKdbbgekqtpsr]KKZh›¿ÄÕ¬bcdehhijjkkjjbF,<2,61****(())())()(**)/‚”UgdÉàÛÛÛÜÛà¬T^ZgQJ“ãÝÜØØÝáÑMfbWk]\^_bcdccdddeeededcb`]\[^chlE33HJL_hkinojkosplSJMM[©ÀÇÔŽ]befgiiihii_WB+:5.CYF;5110,*******+--B•LoK°ÏÍÎÒÕ×Ó…RRWbSPzßâàÙ̸¤‡@IvMc¼À§hbcccccdefededdcb`^\[]diD13GLMytrpuqkimkgjeLJJIrº½ÎÉt\bdeeffddd^WC-:56+>FCA754.***+-/39=?Z¡|Ln@HMORUZ^`VUTpŠVUWwycTF;5;D:qS[yÍãàŸ_bbbbbcefeddddccba_\[^dA,2FMOx~qkjigijoi`NILKL’½ÀÔ­[\abccddefdXC18241/*+,)'('((()+,,++-i¨iRjD:757753(2DGJqusttlnflmnkjcWLKHa¶¾ÉÓ~W^accdcbcb\M90,-0)##"$%%%$$%%$&&&%2~ŸX[fF9758:876321Bh<54459;>>7"/D?AksmnmkkjgjillngQJJIi¼ÅÎÖ†]cdfedcba]YRMJIIIIIJKKLLMMMOOOOOV‡‹~KjOEE:?P[QCAE823223456P’–{>D=63`[Qab`b`^aa`abcbabbbbccccbba_`?!.>;>mjlsrmjlmmfhihhTJKKM•ÆÅÓ·_]_bcccca_\XTRQRSSRQRQRRSVWY[\]Z‚™}rImGNTHKKMKIJQQ9122359NWr„`NOTD5M]La]^ihd```_bcbbcccbcdccbbc_[> -;<9jmqrmlmpqpkgkkgTLKKJd¹ÅÌÕ‰^ddfefecc`^[ZZZZ[YWVUUVWY[[``^]svlEbKONDDDEEEDAIB864:LKPXZ[ROHHL@AEM`O£‚a—¿½”^bccccbcccbcb\UPL8 -623lklntutrtljlmkqfPJKKM“ÇÉÕ¾icdfghfddba`_____^\ZXYZZ[^bahx‰‚wqiBAHGDFKQTNLH?RNJB;=JQPMKGD@:7<869LbOg„_I†äðè˜`babaacccba_RIJJ8 -7/NjpvspsqmojljfiraJJKLKb¸ÉÌÕ•_defggfedcbaaaaa`_]ZYZZ\\^Qf‡Ÿª}giG478?M]WOB<:DXEB==AHOTUUNKLMNPTVXZheXeJT^²°¢e^_``abbb]XUQLJJ9+62Rqvuohilmmhhkurue^XLKMOŠÉÇÐÈsbefgigfeddccccbaa_\[ZZZZ\UPZm‚krYTRSUVSRTTUVXWXZYZ[[Z[[[\\Z[[[[\^]d`JE_b`^]X[`____`aaa_^__XMJ> *50(hijga`biiqywrtnjncRKMR^´ÇÅÖ¦befhigggfeeddcccca_]\ZZZZ\ZSP_Œfs`\[[ZZYZZYZZZZYYYYYYYYXYXYXXXYXY[Z`N#,4.+smllivpqisruts|~j\SKKLKÇÂÎÒ‚beefeeffffeeddddb`^][ZYY[^b[@cRs]XXXXXWXXWWXXXWXXXWWWWWWWXWWWXXXZZ[QBYda```_````aaaba`_^]]\YQ@-0/--†{~€xv{wjhoxwx{se\RKJKJS£ÇÇØ·c`bcddddffeeddddcb`^][YYZ\^a@;Iu]UWWWWVWXXWWVVVWWWVVVVVUVWWWWXXWXWWQP_caaa`_____``aaaa_^]\[YUOB4+))†|t~xrqiksmifoibaaTKKK]e¼ÃË؉\aaccdeeeeeeeeedca_]\ZZYZ`j^sXv`RUUVVVUWWVVWVVWWWVVWWVVVWXXXXVPU_`Ngbcbba``____aaaaaa`_^][ZWTPG>;;€}xw~xsprb^gpzrijeYLKKW^ZšÂÁ×¼c_acbcddddeefeeeca_^\[ZYZ^g‡ Xkg^a[UWVVWXWWXWWXXWWWWWXWWYZ[YXVbz†Thebbbba``___cefdccbb`_][YWSQNLL†‡†††‡‡‡‡…†‡‡‡††‡‡‡‡‡ˆˆˆˆ‡‡†…ƒ‚|yuttswywyzzy{{zwuyyz{zyyz|~€€€…††…††††††††††††††††‡††††‡†…„{xuttvuvyxxywy{yywuwvxzzwvy{~€€…………††††††…†……†††††††……………†…„‚€€{uwwxwwyzxxwz{zyxwvuwyywxyz|~€€…………††……††…††…………………………„„„……„ƒ}zyxwwy|{yxwz{{zyxvvxyyyzzz|~†„ƒ……………†………………………………„ƒƒƒƒ„…ƒ‚€~{yxwy{zyzzz{{{zzvuxyxyzzy{~€‚ƒƒ„„„…………………………………„‚‚‚‚‚‚€~|yywyzyyy{||{zyyuvxz{zzxz~€€‚†‡ˆ……„ƒ„………………††…„„…‚€€€€€}}~~{zywwwxzz|||{zyxwvwxxyzy{~~€€€€‡‰ˆ„„„ƒ„…††……ƒ„……ƒ‚}~~€~}{{}|zyxwxwvy{}||{{yxyxwuuxyy|}~€€„ˆ†‚ƒ†ƒƒ……†‡„‚ƒ}{z{{{|}}}~{{z{|zzzxxzxx{z|{|}|zwyyvuuwwx|€€€†Šˆƒ…‡ƒƒ„‚€€|ywwwwx{{z|{yyxy{yzzyxyyz{{||}~|zyyxwvuvuw{~€€~‘ŒŒ‰„………††yxxxvvzzxzyxxxyzz{{yuwxwz{|}~~}zzywywuuvw|ƒˆŠ‰ŠŠŠ†|ywvwxxxuvvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy{~€~~†………„„ƒ‚‡‡†††‡†€{vvwvvurtuuuw{|}zzx{{zyy{|~~}{yxvwwwwy|‡€}|€}‚ƒƒƒƒ‚ƒƒ‚xvvuuttsuutuwzyzyxz|{z{y{}~~~}{xxxxz{~€€ˆ€}{‚€€€~~€€yttttsrsttuuvxuxyx{zyyyz|~{wwxx{~€}}}|x}|{}€‚~~€ytrtssrrsuwvuwyyyz{yxxxz|~~|wtuvw{~}}~~}~|wr}}}}~‚€€€€€€xtrssstttvwxwwyxyzzyxxy{|}zzxvqpppnqrprsv{{wqnm}}}|}€€}|~~~wttsuttuuwxyxyzz|}|z{{zxsnhnnrtromhggfddehfegilƒƒƒƒƒƒ„„ƒƒƒƒ‚‚‚€€}||}}~~€€‚‚‚‚ƒ‚}xuuxyzyyxxwxxuqqpmlnomlˆ‡†ˆ‰‰ˆˆ‰‰‰‰‰‰‰ˆ‡‡†ˆ‡ˆˆ‰‹‹Š‹‹‹Šˆ‡„ƒ‚ƒƒ„†…†…„ƒ€€€€‚ƒƒƒ„„ƒ„ƒƒ{v‰ˆˆ‡‡ˆ‰ŠŠŠŠ‰ŠŠ‰‰Šˆˆˆ‹‘ŽŽŽŽˆ„ƒƒ‚‚‚‚ƒ„†‡††…‚€€‚‚‚‚„…„††…†‰‰‰ˆ†‡ˆ‰‰ŠŠŠŠ‰‰ŠŠ‰‰ˆŒ‰„ƒ††‡‡‡‡‡‹‰„ƒƒƒƒ€‚ƒ‡‰ˆ‡…ƒ‚€€€€ƒƒ‚„……†‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠ‰‰‰Š‰‰ˆ‡ƒ}}€ƒƒ„‡‰‡‰‰‡ƒ‚ƒ‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€‚€€‚‚ƒŠŠ‰‰Š‰†‡‡‡‰‰‰‰ˆ‰‰‰‰‡†ˆ†…‡‡†‡‰‡†‰…„ƒ€‚€€€‚…ˆŠˆ†ƒ‚€€€€ˆŠŠ‰‹‹‰‡‡…‡‰‰‰‰‰‰‰‰‡‡Š†‚‡ŠŠ‹Š…~ƒˆ……‡„€€€‚‚‚‚€€€‚„‡‡ˆ‡ƒ€€€€€€‚„‰‰Š‹Š‹‰†…†‡‰Š‰‰‰‰ˆ…†Š…€‡ŠŠ‰Š…}ƒŠ‡…‰ˆ†…ƒ‚ƒƒƒ‚‚ƒƒ†‡‡†„‚‚€€ƒ†‡‰ŠŠ‹‹‰‡……‡ˆ‰‰‰ˆ‡„„††…‡ˆˆˆ‡ƒ|‚Š‰††……‡†„‚‚ƒƒ‚‚ƒƒ‚€€€€ƒ…‡ˆˆ†‚„|ƒ‡‰‰Š‹‹‰‡……‡‰‰‡……‡†…†‡‡†‡†……„†‰‹‡ƒ„ˆˆˆ†ƒ‚‚‚‚‚€€…†‡‡‡……||†‰‰ŠŠ‹‹Šˆ…†‡ˆˆ†‡ŒŒ‹‹Š‹‹‹ŒŒŒŽ’‰„‡‰‰‰ˆ‡„€‚‚€€€€€‚„„ƒ……}}~ƒ‡‰‰‹‹‹‹Š‡††‡ˆ‡ŠŽŒ‹‹ŠŠŠŠ‹‹ŠŠ‹ŒŒ†‡ˆ‰‰‰‰ˆ†„€‚‚ƒƒ‚|y€†|}}„ˆˆŠŠ‹‹‹‰††‡‡ˆ‹Œ…‡‰Š‰‰‡‡ˆ‰‰‰‰€Šˆ†ˆˆ‰‰‰‰‰‡ƒ‚‚ƒƒƒƒƒ‚€€€}|€†w|~†‰‰‰Š‹‹‹‰…†‡‡ˆ…‡ˆ‡‡†…†‡‡‡„€‡‡‡‡‡‰‰ˆ‰‰‰‡…ƒ€ƒ‚‚‚ƒ‚€…†‡pz}}‚ˆ‰‰Š‹‹‹‹ˆ†††……‚ƒ‚‚„„„‚ƒ……‡‡†ˆˆ‰‰‰‰‰ˆ‡„‚‚‚‚ƒƒ‚…†ƒhm|}{~ƒ‰‰ŠŠŠ‹‹Š‡†…„„„„ƒƒ‚‚„ƒ…„‚„………„…‡ˆˆˆ‡‡‰‰‰ˆ‰‰‡…ƒ€€‚‚‚‚„†khq|}~†ˆŠŠŠ‹‹‹‹‡…ƒ„†‡‡‡„ƒƒƒƒ†‰ˆ‡†„„‡ˆˆˆ†…‡‰‰‰‰ˆ‰ˆ†ƒ‚€€‚ƒ…ƒkjkv€~}ˆŠŠŠŠŠŠ‹‰…ƒ†††…ƒ€€€€„‡ˆˆ‡‡‰ŠŠŠŠŠ‹‰‰‰‰ˆ‰‰‰‰‡„‚€€€€‚ƒ~~nnms€}~…‰ŠŠŠŠ‹‹‹†‚ƒƒƒ„‚€€‡‘‘’”••••–—–ˆ‰ˆ‰ˆˆˆˆ‡„‚€€‚‚{vominy€~|€‡ŠŠŠŠ‹‹‹ˆ€‚‚‚‚ƒ‚‚Š““‘’’‘‘‘ŽŠ‡ˆ‰ˆˆˆˆˆ‡…‚€‚{skkhikz€}}ƒˆŠŠŠ‹‹‹‰‚ƒƒ‚‚‚‚ƒ‚‚‚…‹‡ƒ€€ˆ‹ˆ€‚‹ˆ‰‰‰ˆˆˆ‰‰ˆ…‚€‚{soniges€~|~…‰ŠŠŠ‹Œ‰ƒ‚ƒ‚‚‚‚‚ƒƒƒ‡Š‚zxx}‰Œ‹~xzy€‰Š‰‰ˆ‰ˆˆ‰‰‰ˆ†ƒ€ƒ}tmkhgfl{~}€‡‹Š‹‹‹‚€‚„„‚‚‚‚‚ƒ„ˆ‰…‚€€„Š‹Œ„ƒ†ˆŠ‡ƒ†ˆˆˆ‰‰‰ˆ‡…ƒƒ€ufgghhiq~€~|ƒŠŠ‹ŠŠŠƒ€‚„„‚ƒ‚ƒ…‰‡ˆ‹ŠŠ‹‹‹‹‹Š‰‰Š‰Šˆ…†ˆˆˆ‰‰‰ˆˆˆ†ƒ‚€{ihgfghhu€}ˆŠŠŠ‰ˆ„‚‚€€€‚ƒ†Š†‡‰ˆ‰‰‰Š‹Š†ƒˆ‰‰Š‰ˆˆ‰‰‰‰‰‰‰‰ˆ†ƒ€jhgdgihs~~„Š‹‹Šˆ‡……„„ƒƒƒ„…†‰Šƒ„†…††…‡ˆ…€{ƒ„‡Š‡‡‡†‡‰‰‰‰‰‰‹Š…ihgfikin|}€ˆŒŒŠŠŠŠŠ‰ˆ‡†††„…‡Œ‡‡‡††‡…†‡‡‡ˆˆ‹ŒŽ†ƒ†ƒƒˆ‰‰‰‰ŠŒŽ†jjjjiihkt€}ƒ‹Œ‹ŠŠ‹‹‹Š‰‡‡‡ƒ‚‡”“’’””“””••–•––—”ˆ†‰‡†ˆ‰‰‰‰‰Š‹‡‚€lkiinkhkr}‚}‡Š‹Š‹‹‹‹‹Šˆ†‡‡‚‡‘–•”•••”“””““”““”’ˆ‡ŠŠˆˆ‰‰‰‰ˆ‡†…ƒlnmoqpmpt}~}}‚‰Š‰Š‰ŠŒ‹Š‰‡‡†‚ˆ‘‘‘‘‘‘‡†‡‡‰‰ˆ‡‰‰‰‰‰‡……‚zzzzzzzzzzz{{zzzzzyyyyyyyyyz{„ƒƒ„„††‡††††ˆ‡†‡‡†††††……‡†„ƒ‚ƒ‚‚yzzzzzzzzzzzyyyyyyyyyyyyyyyy{‚ƒƒƒ‚„…††………†ˆ‡†………………†…††…ƒ‚‚‚zzzzzzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„…†‡†…„„„„ƒ…††‡†…ƒ‚‚‚zyyzzyyzzzzzzyyyzzzzz{z{{|zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„…‡‰ˆ‡…‚‚‚‚€€x||zzzzzzzzyzyyyyyyz{||}}}||}€‚„„„„………„…‡‡‡………„ƒ„…‡‡ˆ‡…„‚‚‚€€{‚~|}}|zzzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€€~|{zzzz|{yz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡†„…†……„……††††‡„ƒ‚‚‚‚z{{}~|{{zzz}{{~€‚ƒ‚‚€‚ƒ……„„„„……„„„…†‡†„………„……†††…††„ƒvst|}~}|{}€…††…„„ƒƒ„‚ƒ…‡‡………„„…„ƒ„…†………„ƒ„„„„…†††…„ƒ‚‚‚ƒ|yx|€‚€€‚ƒ…‡‰ˆˆ†…„„„„…‡‡†††…„„…………†„„……„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚yyy{{x}ƒ‚€€~€ƒ‡ˆ†ˆ‡…„„……†‡†……††…………†……†……„ƒƒƒƒ„……†‰‡…‚‚€‚‚yz{z{}|||zxz|~†‡††‡†……†ˆˆ‡ˆˆ†…†…………………‡……„„…„ƒ…††††„ƒ‚€€‚ƒ€‚€„ˆƒ~~~~~~„††…††††‡ˆˆˆˆ‰†…„„„…„„††‡††„…„„„†‡ˆ‡„‚‚‚‚‚„†„„„ƒ‡Š‡‚€€€‚†‡††‡‡‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†ƒƒ‚†ˆ„‚€€‚‚ƒ‚†‡‡†‡ˆ‡ˆ‰‡‡‡‡…„…„„„††‡ˆˆ†„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚……ˆ‰‰ˆ‡„‚‚ƒƒƒ‚‡‡†‡‡‡ˆ†ˆˆˆ‡††„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€‚ƒƒ‚„ƒƒƒ„„ƒ‚‚‚‚‚‡‡†‡ˆˆˆ‡ˆ‡‡††…„…„ƒ„…‡†‡‡…ƒ‚„ƒ‚‚‚|||~€ƒ‚€‚ƒƒ„„ƒ€€‚ƒ„…ˆ‡„……††‡ˆ‡‡‡ˆ‡‡………„ƒƒƒƒƒ†‰†††‚}}{{z{{{{||~~~~€|~€€€€~€€‚ƒƒƒƒ‚‚„„………„ƒƒƒ‚€€€‚……„……€€~~€€€€€€€~~~}}}}}}||}}€€~~~~~}~~~€€€€€€€€‚Š„ƒƒƒ‚‚‚‚€€€|}~}}}}}}|||}~{{{{|}{{|€€€€~€ƒ„‰†‚€€€€€€€|{}~~~}}}}}|||}}~~|||}~}|}}|~€€€€€€~ƒƒ‚‚‚€€€€€€€}|||}~€~~~~}}}||}~~|||{z||xz~}|}€€€€~~€‚ƒ‚†ˆ€~}}}}}€€~~~}}}~}}}~}|~zxzzx{|}€‚‚‚€€~€‚…†‚‚‚€~}|}|~€€~~}~~~~~~||…{xxxx|ƒ‚||€‚‚€}‚‚‚‚‚ƒ„}}}}~~€€€~}~~~~~~{{€„|yzzy~‡‚||}~~€€‚‚‚‚€~~€‚ƒ‚†Œ…ƒ€}}}}~~~~~}~~{{}|z{||€‡‚||}~€€‚‚‚‚‚‚€~}}†„ƒ€~}}}~~€€~}€}~~~~~‚€}||~~€‚‚‚‚€~}~ˆ†„‚€~}}}|}€~~~€}{}}}}~~}}~~}}|z}€~}|}}€‚‚‚‚‚‚‚‚Ž•…‹“‰‚€~}}|}~~~|}|||}}}}}}}}}}}}~~~}}~~‚ƒ°½Ÿ’ƒ„ƒ‚€~~}}}~€€|‚‚}~~~~~~~ˆŒ€~~}}}€‚‚€€‚‚š¥–›ƒ„ƒƒ‚~~}}}}~€€ƒŽ†€~~ƒ€€…„€€€€~~}}}}~€‚€‡Ÿ‚‚‚‚‚}}}}}}~€€€€€‚„ƒ„…€ƒƒ€€€~~~}}~}~‚‚€‚€Ž¶{}‚Œ‚‚~}}}|}~€€€‚„ƒƒ…‚€€‚ƒ‚€€~~~~}}}}~~€‚‚‚‚‚“³}{‰ˆ‚ƒ~}}}|}~€€€~€€ƒ‚€}€€~€~}~}~~~~‚‚‚ƒžŒ€||€‚ƒƒƒ€~~~}||}€~}~‚€€€€~~€}||||||~~~~}~~~~‚‚‚€€‚«¡~‚ƒ‚‚ƒ}}}||}}€€‚‚‚†ˆŠŠˆ‰„}zywvvvvvttuuy~}}~}}~€‚€¬Å„€|‚‚‚ƒ‚~~}|}}|~€€‚ƒƒƒ…ˆ‡†‡‡ƒ}yxxzz}}}{{|{~~~~~~}}~€€€«Ë‚~z|}€‚‚€~}}}}|~€€‚‚ƒ„ƒƒ{||}~€~~~}~~|~~~~~}~€€~¥Ìzyz~ƒ•ˆ‚€~}}}}}~€€€€€€€~||}~}}yxy|~~~z}€~~~~}~}ŸÊ€~yxy}„Š„‚~~}}|}€€€€€€€}}}€€€}xtv{‚€}z|€€~~~~}}~€€~–È€~zxxz€‚‚‚‚~}~}~€€€€€€€€}}|}~~|yswz}{||€~~~~}|~€ˆ¦~zxwxz€‚‚‚‚€~}~~€‚‚‚~}}|{||{{zzz…z{|}~}~~~~~~‚~yxyzz~‚‚‚‚€~|}~€€€€€€||}||||}}||€„‚}}~|~€€~}~~~~|}€‚€~{x{|{~‚‚‚|}}}}~}€€||~|~~}~}}}~|}|{z€~~~}}|{}€€}{|}~~€‚‚‚}}}}}}}}~€}yxwxwwxxwwvvvuuuuv€€€~~~~}{}€ƒ~€„„‚‚‚„ƒ‚€~~~}}}}}~~~xvwwvwwwwwwxxwxwvx~€~€€€‚‰ˆ‡ˆ†…„…†„‚™Ž~}}}}}}~~~|y{zyyxxwxxxxxyyy~€}}~~€‚‚ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÄÇÄÍÏÏÏÏÏÏÏÏÏÏÎÎÍÎÎÍÍÍÍÌÍÌËËËËËËÍÍÍÌÍÍÍËǾ¶­¥Ÿ‘€|qikvkjgmlscfbU\`\[a\S[`\]UPNSYX_d_dRTUUTVTSXTPW]^\XSLE=8;;522?2ÎÎÏÏÏÎÎÏÏÏÎÎÎÎÍÈÃÇÂÉÍÎÎÎÎÎÎÎÎÎÎÎÍÍÍÌÌÌÌÌÌËËËËËËËÌÌÌÌÌÍÎÎǶ §–wƒ{~r_^`o|n]^nkg[XXZ_YVTO]f_[ROOPXV\fgfPU\_YQPKQQX_a[VOLI@@66631075ÍÍÍÎÎÎÎÏÏÏÎÎÎÍÌÇÀÄÀÇÊËÌÌÌÍÍÍÍÍÍÍÌÌÌÌÌÌËËËËËËËËËÌÍÌÌÍÍÍÍÍÍÀ£Šˆqqnmjknmt}y^b`ccZY[ZZ\RSV\bYYXVSQTRV\fcPQXZUMNMQQ\c_aYPGA?<851220.2ÍÍÍÎÎÎÎÎÎÎÍÍÌÌÌÈÁÅÁÉÌËËËÊÉÊÊÊËÊÉÉÉÊÊÊÊÊÊËÊËÌÌËÌÌÍÍÍÍÍÍÍÌÍ̵˜’ylruxs}~ge`\gY`bb[ZWU^YSYedRPRVWRMKVOYfQNSWYPLROPXa^`UTUOH><85221--ÍÍÍÍÌÌÌÌÍÍÌÌÍÍÎÉ¿ÁÀÊÍÍÍÎÍÍÌÌÌËËËËËËÊÉÉÉÊÉÉÉÉÉÉÉÉÉÇÉÊËÊËËËÌ»’ƒ}s`k}nbg`_`VhaXWTSLZ`^`pn[QOT[SMITRRXRYZWUNOQTZ_XVZQOYOI>?A;520,+ÌÌÌÌÌÌÌÍÍÍÍÎÎÎÎɹ»ºÉÍÍÍÎÎÍÍÍÍÍÍÍÍÎÎÎÍËËÌÌÊÊËËËËËÉÆÉÊËËËËÇÆ£Šyzpg^mood_a_W\^URZRSPXfeefcgVQVXSQSTRRVQX]`USTQYZ\XWSSOQPI>?=5550.2ÌÌÍÍÎÍÎÎÎÎÎÍÍÎÎƺļÆÎÍÍÍÎÎÍÎÎÎÍÍÌÌÍÍÍÌÌÌÌÉÊÌÍÍÍÌÉÅÊÊÊÍÎÌÇÄÁ³›yvpeWTb^Y]``]b_WUQKMUY_aci^ZSOOPNJRQTP^KSSZZVYX^Z[WRPSNQIEC>@;530/3ÍÍÎÎÎÍÍÍÎÎÍÍÍÎΞÌÁÅÍÌÌÍÍÍÍÌÌÍÌÍÍÌÌÍÍÍÌÌÌÉÉÉËÊÆÂÃÁÇÅÇÌÍÉ¿¼¯‘~wsURPQOWXloebc[XMCAMYT\aa^VSQJLKHKHOKXNQTUVVZ[Z[_XRNRMUNBG@>>40.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÂÌÌÌÌÌÌÌÍÍÍÌÍÎÎÍÍÍÍÍËÊÈÆÅȾ·À½Â¾ÄÊÉÄ»¯¥§~sp\UVXXgg^nff`VVRQUTdTOZ]SNVWQKJGNOQYVQOWYUSWXUOTXRPVQWV?46220.---ÍÍÏÕÔÍËÌËÊÊËËÊ̾ÇÁÁÌÍÎÎÍÍÍÍÍÍÍÍÎÍÍÍÎÎÎËÃÁÁ¾Á¼º«¾¹À·¾Æ¿½´¥Šˆ€q‰{dY\Z[cjUl]T[SNST]]VMOQXQOSUWLKKSRRYf[NVXVUUUYQPYWW\]MC=7540.-,--Í×äîíáÐÊÉÃÀÁÄÆÉÀ¾ÆÁÀÊËËËËÌÌÌÌÌÌÌÍÍÍÌÍÍÍÌÅÁ¼³»¸²¡¹´¾µ¶Áµ»³™†|zlgacbbSZb[Td[RY\NRRV\TUSNNNKKLRXUOQOQQbZMY[WQLNXWVSWPLK@7=<:61.-,--×ëåÉÇççÌÀ¸³²·ºÀÁÂÉÆÂÊÌËËËËÊÉÊËÊÊÊÊÊÈÈÈÄÅÁ²¬§¬°¦Ÿª­µ­²¸­¬ ƒwwsjhQ_eZWbYQ\h]X^XLOQS[`aTPLLLMPLTWKOTNR[\X`\TOLNYUVVOPWJBB=:;:51//-,à糊¾êÒ¹³°®³²¾ÃÅËÈÄËÍÍÍÌËÊÆËÌËËÊÉÈÅÂþ¾²¡›˜£¥š—Ÿ­««¬§£™ƒsljgjn]WZUa_UV^[X_WSVSSTT_XPSONSUQSSWQOVPSY_X]WY[V\^SSYWSP@>G:7676520/.ŽŽ‡‰‰ˆŒŽ“œ¬²²ÀÃÄÊÇÁÊÍÍÍËËÆÀÈËÊËËÇÁ¹²´´¸ªŸ•Ž™›˜“ ²­ª ˜™xiddVe`RMHOW`WQQZe`^n^^b\TWNOOOOQVQTPSZRYON]]\fZb^hfaROMMJK@=A8854453.02‰…_YZUq‚€zˆ¯³¾¹ÂÇÆ¿ÈÌÌÌÊÇ¿¶ÄÊÊÇź© œ›££›œ–‰•˜’“žª«œ’Ž„vdcfY\TORPPY`^Zgn_PTaNWon[QOKMMKGILLNMMPWTW]TRWW_e][VOJLGEECHA8543344/04¸½Ž[S}¾ÓØγzŸ·¶²¾ÆƸÁÉÉËÊǾ³ÃÊÊ¿µ§™Ÿ•˜•‹ŽŽƒ–“Š‘˜‘Š‰Šƒ~usnaXSW[YNX\VT]g[QP]fga^[RRMJJGIHGEFNLR]ZVZVNZfffU^TMTRHI@?A9754313336;`£ ydÍÖÛÔªp‡³­«¹Å»©±¸¶»¹Ç½°¿Ä¹«Ÿ ˜› “”Ž…€ƒ‰Š‚€Šˆ…ƒ€„€~yxoaUVST]WTYTSYfRQP\edSSZWTMKLIJHFKJIQU[aRXRPkrce^b]U_XVSF=;;864322549@}™œ…Š§¤f]ePbu¡¤¡«­ŸŸŸ¡¢¡§·®££§™™™ —™ž’•„ƒ…~ƒ€xƒˆˆ„|}||tppicWPZg[RVRV]ZNW\\^XQQQRSLKPQLORQGBJOS^QRM\ba_Zei\QS]YESE<;;8554488:>›v3Ež“CENEMi  ¬Ÿš¡¨®ª©¨©¦œ˜’š™ ™’—ŒŽ‹ˆˆƒ}y€†…€y{xvphhdYVYRX^YT[Y\YVZZZ\ZUOIUTNLOJADFFA?EGHQKRRX[`Xan]^OZ^ZHEC?=<856668;?>n`R68V]_„U?=_‚”k«¹»ÈÐÓ×ÖÕÕÔÕÓÏŦ•œ•Ž‡Ž‹ŒŠˆ…‚€zƒ~|uvwqrmjfX[c`bXRSXW]]aXS]SX^ZVQINLNIBEE@?EFDAQGUW[X```\RbaUVWQLGDF:65667;=EF@DICACXdnYGBFq¡T¨ãÀªž–Ž…}~|~ƒŽš£‘“Œ‹…Ž‰Šƒ‚‚z}ŠywtqsrnibWZba[RUOQ\ebdVNRRi]aVLQQOJHDIRICILLFPQ\]XLZdcdT_cUOX]PE@@<97667;@LBjihhihrtsqjhci‘ÎèâvCEECNPEFEDEAn¡‰~ƒ‡‚—‰ˆ~~„‡}Šy{wuuuwsbVQYWZVYWNY[\^ffilolQ[[SNRQGDFPVQPNOPIJUY]ZNN^Z`]]feV^R@::==;::8:==>;WVUVVVUTUXY`ai–çèÃRDECKfcVWOIJDLŸ†w~„‚Š—ˆƒ‰{‚‰‰…~‡‚|xvwzuun_X\_TVSTW`WOM^s‚tb[\eRTMLRRMMJC?KTQRTRN[ddeZSXY^[R\XUUG;99;;78:98<===@ST[N<8:<;†”™‹~ƒŠ}‚‚‡‡~‚~vtutrqre[^[OOYYZ\ST^bf_\T\baSVMKKRLGA=BOSV^ZZ`gm`]]W\TXTSWWT@:887797777:??>=RTUUbXUSSR|„…¿{»Ï~:BDJ@@=@B=<<;7c²íÐ}‚~y~|€†„|€{~wqtxxsnjf\SMJWVZSTW[ZWIW_Z\XX_WKMTOLILOOPTUXV[ndZZYZVYXRWKMJ>763^:7888:AECEVZ^h¤{_ZS^Ùëæñw­Ô›}‚†Š™˜—››™˜–’›ÀâÇ~|z|~{}||€ƒ}xxpmwxzphacSPSD@MVUUXZOKIVY[[UZd^SMLIKOMMJGKNVXY]`Z^WVRVOKMHA<8676R†?789;;?HJHIINlˉNKG]Ûéãà_Š¿ÓÌÌÏÏÐÑÔÖÕÔÓÒÐÍÓÇxzyw{z~{}‚‚‚ywxlintxmg`^OQUHJQUX[UPSPTUZUVWY`\RKDCCEHIFEGJRU\[UMVRTSSNGFC=96686UyA88;=;AGGH“œªâ³–’‰~„rkC‰ÓØÜÞßßáâââääãáßßÜÙ™ywwxvxuzz€~wvuoummuphg^QVWUXX_\XGEQW^WZXWTV\VOIBE@>??=;@KNVaYRW[RV[PLG<:987772†âQ16;9;BHIJëêìëééééèåÂjKF=‡ÖÛâêêêííìçéêìëêêàÙ¾wvxzyvxz~}}{}zvsvvjksjgf^N^k\UTYZYRPVXYb^WU[ZUMGD?@?><68?EIK[hWUZXZ\UGDA:68877:4„äQ/8;=BGHDPéðòòñóóòëêÀfMJ@~Üßéêç뼡§Ö±™©âèáßØÕŒ{ywvyzxz|y{zzwxtmhnffcb[gpc]NQ[XURSZW_YU[eXOICA@?CA?>CHC>K[kj\MPeRGA;;:7<;99>7uÚW2=CRPJU^]jŒmQVXKA;666;@BA>@;wæc8?9;CIOYaM[_^`[YcdPy_DDPgÓëèëéêíåäêçàåìéêêìÙƒywyzlzz|}|vu…sssqhegrzgWUURRQMTWNOZ\YTZa][NRTOIEKPI=?MTNeniwˆi[^RHB>:;?GMIB=?9}óm9;4=HIX_lxƒŠ“£‹‘}iMKIBWÅïìììììîíìíîíëìììïÎ|xv}{jy~|y|ws€~zrokkhgccm`TV]XW\SOSQTQ[]Zd]UVROIGGBGJFEFNMTilkssdalgUPMMOUUVTIIO:yõs769U\]kiiWYZcqb`_]ZL<=<8R¸ïììëëêééééèçëêèéîÄwyuxwry}zy{{uzwxtqjb`_[[hbUOWY`ZWRLNXVZd_`XPNUQLE?>IWbW[dind[WY_aeklkof\iyvplfjjV„ñƒUT\vvprjfSSRPMMNRSY`P015M£åÏ–‰ÞΊŠ†€ªìœ|¿Ø·v|st}~}tx{zswz|xwnbZafcaa_TWXYSQPONV\YTXYSNQXSQV^^sƒyclxn[TW\^_ahfm~„‚‚„~|€„ˆˆ‰”²”‰ƒ|}rsphzzzzyyy}|}€s1.2TŽáѲ¢Ü馔•““Îî´¯Îߟmxww{{}uu|uqwz{qukd`_e`\`_YYUVSU[\RRYXOMNT_[W[gz‚‡Œ„dbrjSQY\\[]fiku}{|tt}‹ŒŽ‘‰…‰‚nqplohwwvuvwwyyxysGADd€ÃÍÆÄÅÊÎÎÏÐÖÖÌÈÊÔÒ†pxyzuuvytt{tsxvvsqllmklkmronolqyˆ‘Ž‡ŠŽ‘‰Š•´˜€~{x||lammbW[`_][_geirfdbdctz~„†„„„~{ragpmjgpponopqrtttutux{~~~}|}‰“’„Œsvxyxwvtsrrusstsrqmklkllmqruyzyxwtstvuvxz{‰•¤²´«š‹}rkjkkmlifa]\]ZY]]WY\]]`fhefcadoogljf^itnswnmllkmnpqrrqqqrtwy{~~~}|zyxvut{ŠŠ›ž‰opqtwwuurqpnnnprqnpnmjhghhjkmotuvuttrqqqoonpuŠ˜§®®§ž€rggfda_\ZVZXWWXXWYWWW[XWWYYWTTUOYZcpysoljijjlmnpponnoopsvyz{||||zxwutqz„z…Ÿ“uoqquz‚‹’–›Ÿ£¥£ª«©¦¦¤¢œ“‹‚{jjlnqstttsqomlmonnosz†˜­½º¤Štjfhhgc_]\XVSRTSRSW_aUUWZVVUTRRURYxvrmjiiijlnnnpppoopprsuwxyyxxxwuurop|Š““{‚˜¡¬¯¬§ ›“ŽŠ„€‚„…Š‘œ¡ Ÿ`bdfjnpsuvutqoklmnponllx©¼¾¯š‚rjiifdaa[VYUUTTYWSSUZSTTYXUUTSwvvsokihhhjkmooopqrrrrqrtuvwwxwwwvtspmm~¨·˜‹ƒxmd^Z\^b|e`YRRW[Z\]}n`bbbceimprtvwvspmjiknppnlq”°ÅÁ¨‰rhhjjifd`_[XTSSSRRSTTYVTVVWuuvvtpkgfefhjllmnnoppponooqsuuvvvuusqqpn{“ZONNOPRWY[`w…tXTRdge`\Q?Kldbaa`^_`chmprrtvusokhfjnomkhiyœÀ̵skikjijheb^ZWTTRRSRTXTVUUuuuuutqkheefgijlllmmnonmmmmoqrsttuvtrrqo|h>Q[gt}ƒs9760,054=bhjjkiU43WnEfhlnnkfbbbba_]]`fjmoqrrsttoiccfiklkifez¦ÊдŒsjkkifeefffea\\ijloqrstsrpmgcbaaacdfghhjkkkkjiiikmoqqr‡LpK0:<:67GEP]^\\RF57ZvdP54DƒI]eeinonkifdefda_`bgjmoprstsroidcfikkjieg{¢ÆϹrllkjhgfeefdbfikmoqssssrpmiecbbbbdfghikkkkkjghjklnps~J<258999EKdr^FHGD7DUlT4T¦aQieceilnnkhfeeeca_`dgkmopqrsttpkecgijjkjffu˜»Î½œ}mllkjifffd`dgkmopqrrrqomjfba`aabehiijjjjkjhfijlmvoX€322FttDCIECCLKE@9Dp“NC=81mžFjjVPTcigd__`cffdc`_]_`^^[Y[]`cgjkmnoonlfa`bfhijiiidcy¡Éֽͳ_Z`cgiklmrqoppolgc`__`abcdfggg^USbqg_œOUlI…lgNGGIMONJOIQbŒ•sE;;<0b}9b[8;4Jmjieb``cgihfdaaaaaa_\\^behknopqqoomhcbdgjkjjihedwœš­ÁΟZ]behijlnopqponlid````bcdffga<96UƒSJoJ\l=GC>CNW_`\TKH?IGXlXKH?53:77A;7:0Hmkkkifaacfhjifebaaaa`^]^`bfiknprrqqpmgbcehijiiihdlŸ~´ÄÎX^cfgiklnoqpoonlhca``bcdeeg]1699ED;254209=?9776656847947?A@E?79;BL7008Galkkkkjhdaadhkkifca````^]]^`cfjlnoqrrpolgbbefhijjkx­Q‘»ÈÈsYacfhjkmoppoonmlhc````abcedF32..A^@<9887676666666567776667789:I;\jhihhhijkjkkjheb`beiihfd`^]]^]\\\]_dgjlnoppqqpkd`\[\…‰Y\~¸ÂÍŸZ_dfijkmmnnoonmlkdb`_^^`acbct¸˜?V;98776665556555555655665567888B@Rqffffghijjjjkiiga``cfhjieb_]\\\[[\[]_cfjlnoqqqrjVW\``†‹OIN‰¹ÁʈX]adfhiklmnnnnmlhda_^^_aba`o°CI66666544544444435554455544425JRPRygcffefghiiiijkjgda_`cgiihe_\\\[\\\[[]_dgklnppriPWbqv†x[QKT—ºÄÂtT]_aefhjlmnnnmlkhda`__`baac›ƒYNZB224342323243:K54333333341FˆTYZƒydeeefghggijjjjhec``aeghhd`^\[\\]\\[[\`fikmoqmQT]cgzeeXOI`«¾Ê¹f[_adghhjlmooonlkhc`__^`aacwwWm¥ž’=02212122337=4542322221A“¯—£eA[oi_`afffgffghiijihgca_`behiheb^\\\\]][ZZ^bgkmno]ILD@G[jaPLJv¸ÀÏ©_]acfghjlmnoonmkjfc`_^_`aicCJ–¥¡¿€<0/0011244305531000/.<œŸ¨•g*Rdw©±—kdefeefghhijjjgdb`_aehjjie`]\[]__^[Z[`eikmnhcŽ}OklpbRLN¼ÂÒ”Y_ceghikklnnnmlkie`^]^^`bi0<Ž¾š²>=:898636Ee@7;@CEEZl“ÝұΥR)Bgo©ÌÃŽbdeeeffgghiijihgd`^`dhijjhd_][]_`_][Z]bgilkf­­tzjlv^NKY ¾ÊË|Zbdfhijklmnmmlkkhb_]^]^QS/3v½É³ìç gY[^tˆJcÄXLrui]YŒªßðíÐÚ‡<+9eebeefcdeeeffffhhghhhhfd`__behjiifb^\]]^_^\Z[^cghb–©unqoldWOKg°ÁÍÂp^cehiiklmmmmmlkjfa^^]^L<34O¢ßÒíéá¢ZY[i‘Z˜Ï‰Vn]cad¢»ëÕŨªJ/,9efeeddcccddfeefggfefhhhgeb_^_bgjkjhea_]]^__]Z[\acNŒugpklmeSVhŒ½ÆÔµf^ceghijkmmmmmlkida_^]V7;>1U•‰˜µÌ¦¬hfnbTUÉû¼Ujovuw³†{xK891./:5321Cjfaffefeˆ±¬˜fdddedccegggggfdb`_]^bilkkjhea``_^]]WIWp\\msqstwgTNJn¼ÇÑÃi]acffghijkllllkigdaP..13568722/Ekh^gffffc``bdgfdddccddfffffedc`^\]ahjkkkidb_^][[TFN[YMmnlkjlf\RLN˜ÄÈÖŸZ_befghhijklllkjifbT/.3/27>BIUqŠ‹†’”••–—–•‘†zh`baabbcdccddeedba_\[]chihgea_\ZZR>BEQLkhhgqlhbRLLL†ÀÅÓ­^^cccefhhjkkkkkkif^4-2//35@FHN[lrÒØÖÑÌËĺ´­£QD?Id|“›¥­¯±¯¬­«­ª©ªª¬««­­­§Ÿ]`aaacdcdddddeecb`]\\bhihhgc^[[T<>BLPnmggpnqiSLMJW¨ÂÊÓ’_^bdefhhikjkkkkjha7///4AR²´L--1BKIJGFGFBBCACF`¦¤¦§Ÿ˜“Œˆ†„ƒ€|||}}}~}~~€”Še`aacddeeeeeeeedc`^\^bgijjhd^[U<=@IPhqjhoosqeZOKKw¹ÁÐÉn[bdefhhikkkkkkjjd76/.0?pïÖ‰pz…¬ˆ‰’šŸ¡£¤¤£¡¥¯¢z|wpmkgedb`_\[[[\\]^^_^__d¤|]`acdddeffeddeeec`_]\aeiiggd]V=?@@AFHJKojMKIEg©{[v‚“˜Ÿ¦ª®šW6445W¬ÈÊÇÃÄÅÁ¤|aXn`abcddccdeeeeffeedc`^[[^eijjhF:8HHdbbgekqtpsr]KKZhœ¿ÅÕ¬bcdfhhijjkkkkkd1:4-,*-../12135678=KA530.z—a\†¿ÒØÛÝßÞã²X`VOPN¯æßÝØÖÞàÒdxLj`\^_bcdcddeeeffdeddb`^\[^cikkH68II_hkinojkosplSJMM\ªÀÇÔŽ]bffgiijjkkjbW/87.0:-***)())))))))*+*(6ŠQlrØÝÛÚÚÛÚà£WiamRL¢ãÝÚÕÐÙÞÒSqX[–¼À¦hbcccccdeffdeddcb`_\[]dilF34HJytrpuqkimkgjeLJJIsº½ÎÉs\bdeefhhhicWR.7732TQ?9422/+*******+./Lš„LpZÖáÞÞßßßß‹PRT[ONæãçåâÚеEUoNÎãàŸ^bbcccdeffedddccba_\[]cjE23GKx~qkjigijoi`NILKL“½ÀÔ­[\abcdeddeaYR076601DA@<341+***+,/37=?c¥sOlAu€„‹‘—Œ^VTv…STd§«—ƒo^OG?>vO]kuonaabccccdeedccccdcba_\Z]eC/3FLqusutknflmnkjcWLKHb·¾ÈÒ~W^accddeff]N483420+)))'''((()*+++))/t¨aVf?7335433?JFI‰TSI9545553BK7g[Wa__\kibbbbbcddccbccdccba^[Z_?)2EHnurttlnhhkjknrhPJJL–ÃÅÕ¸c`cdeeddcb_UA3--./######$#"#$%&%&&&9ŠšSbaD978::878522\|A:6459;::7@J:NkMbbbl‡ycbccbbbbbbaccbbbcb_^\\=%1DAksmmmkkjgjimlngQJJIi¼ÅÎÖ†]cdfeddba^ZQ>535655678899888;<;<>:R™ˆKiYA655665631228B23544;NaS4588;rK_bcc^]aaaabcbabbbcccccbb``^]=$/D?mjlsrmjlmmfhihhTJKKM•ÆÅÓ·_]_bcccca^\VPKHHIIIJJKKLLLMMOPPPOY“xImN@;68FNC8:8322124541P’{7<753iUWabbceba`_bcbbccccdcccbbaa__@!.???BDFITh]UuMM\]X[`__```abaa]YVOJJJ9+72hijgaaciipywrtnjncRKMR^´ÇÅÖ¦befhjgfeedccccbaa`]\[ZZZZZN_r‰‚zhiJBBDKPQJHGFGQRMONQSTWYYZYYXZZZ]^_^fgSNS]a`_````aaaaa`_^]\]TLJ< *51smllivpqirruts|~j\SKKLKÇÂÎÒ‚beefeeeededddccca_^\[ZZZ[YPNby‹gs]]\\ZXYZ[[[[[[[[[[ZZZZYYZYXYYYYZ\[bQ?Kda``_````aabba`^`^__^TI?#*4/†{~€wv{xjhoxwx{se]RKJKJS¤ÇÇØ·d`bccdddeeeeddddca_]\[ZZZ\^_LRz\t[YYYYYXYYYYYYYWXXYXXYXWWXXWWXXXYZZ]M=Vdaa`_____``aaaa`^]]]\YN<)/0-†|t~xrqiksmifoibaaTKKK]e€½ÃËØŒ\aaccdedeeedddddba_]\YYZ[]`V=IQuWWWWWWWXXXXXWVVWWWVVVVVUVWWWWXXXZYYQF]caa``____aaaaaa`_]][[YTL;1*)€}xw~xsprb^gpzrijeXLKKW^Z›ÂÁ×Áe_acbcddeeeeeeddca_^\ZZZZZbcIIWxWUWWVVVVWXXWVUVWWWVVVVVVVWWWWXXWWWWOYacaba``___cefdccbb`^\\YURNA75†‡†††‡‡‡‡…†‡‡‡††††‡‡‡ˆˆˆˆ‡‡†…ƒ‚|yuttswywyzzy{{zwuyyz{zyyz|~€€€…††…††††††††††††††††‡††††‡†…„{xuttvuvyxxywy{yyxvwvxzzwvy{~€€…………††††††…†……†††††††……………†…„‚€€{uwwxwwyzxxwz{zyxwvuwyywxyz|~€€…………††……††…††…………………………„„„……„ƒ}zyxwwy|{yxwz{{zyxvvxyyyzzz|~†„ƒ…†………†………………………………„ƒƒƒƒ„…ƒ‚€~{yxwy{zyzzz{{{zzvuxyxyzzy{~€‚ƒƒ„„„…………………………………„‚‚‚‚‚‚€~|yywyzyyy{||{zyyuvxz{zzxz}€€‚‡‡ˆ††…ƒ„………………††…„„…‚€€€€€}}~~{zywwwxzz|||{zyxwvwxxyzy{}~€€€€‡‰ˆ…ƒ…ƒƒ…††……ƒ„……ƒ‚}~~€~}{{}|zyxwxwvy{}||{{yxyxwuuxyy|}~€€ƒ‡†ƒ†„„……††„‚ƒ€}{z{{{|}}}~{{z{|zzzxxyxx{z|{|}|zwyyvuuwwx|€€…‰‰„„‡„€ƒ„€}ywwwwx{{z|{yyxy{yzzyxyyz{{||}~|zyyxwvuvuw{~€~‘Œ‹€~ƒ†††‡†ƒyxyxvvzzxzyxxxyzz{{yuwxwz{|}~~}zzywywuuvw|…€ˆ‰‰ŠŠŠˆ~zwvwxxxuvvvuwz{|zzyuuvwy{{}~}{yxwwyxwwy{~€~~†…†……„„†‡†…†‡†‚|vvuvvurtuuuw{|}zzx{{zyy{|~~}{yxvwwwwy|‡€}|€}€‚‚ƒƒ‚‚‚‚‚‚zvvuuttsuutuwzyzyxz|{z{y{}~~~}{xxxxz{~€€ˆ€}{‚€€€~}{tuttsrstttuwxuxyx{zyyyz|~{wwxx{~€}}}|x}}{|~€‚€~€€ztrtssrrsuvwvwyyyy{yxxxz|~~|wtuvw{~}}~~}~|wr}||}~€‚€€€€€€ysrssststvwxwwyxyyzyxxy{|}zzxvqpppnqrpqsw{{wqnm}}}||€€}}~~zttsuttuuwxyxyzz|||z{{zxsnhnnrtromhggfddehfegilƒƒƒƒƒƒ„„ƒƒ„ƒ‚‚€€}}}}}}}~€€‚‚‚‚ƒ‚}xuuxyzyyxxwxxuqqpmlnommˆ‡†ˆ‰‰‰ˆ‰Š‰‰‰‰‰ˆ‡‡†‡ˆˆ‡‡ˆ‡…†‡‡ˆ†…„ƒ‚ƒƒ„†…†…„ƒ€€€€‚ƒƒƒ„„ƒ„ƒƒ{v‰ˆˆˆ‡ˆ‰ŠŠŠŠ‰ŠŠ‰ŠŠˆˆˆ‰‘‘‘‘‰„ƒƒ‚‚‚‚ƒ„†‡†……‚€€‚‚‚‚„…„††…†‰‰‰ˆ†‡ˆ‰‰ŠŠŠŠŠ‰ŠŠ‰‰ˆŠŽŠ‡†ˆ‰ˆ‰ˆˆ‰ŒŒ…ƒƒƒƒ€‚ƒ‡ˆˆ‡…ƒ‚€€€€ƒƒ‚„……†‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠ‰‰‰Š‰‰ˆˆ…~|~‚„„†ˆˆ‡‰‰„‚ƒ‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€€€‚‚ƒŠŠ‰‰Š‰†‡‡‡‰‰‰ˆˆ‰‰‰‰ˆ†‡ƒ‚…†„„‡‰‚„Š‡…ƒ€‚€€€‚…ˆŠˆ†ƒ‚€€€ˆŠŠ‰‹‹‰‡‡…‡‰‰‰‰‰‰‰‰ˆ†‰ˆ„‡‰‰‰Š‡€ˆ†…‡„‚€€€‚‚‚‚€€€‚„‡‡ˆ‡‚€€€€€€„‰‰Š‹Š‹‰†…†‡‰Š‰‰‰‰ˆ††‰‡…ŠŠ‰Š‡€‰ˆ„ˆˆ†…ƒ‚ƒƒƒ‚‚‚ƒ†‡‡†„‚€€€†‡‰ŠŠ‹‹‰‡……‡ˆ‰‰‰ˆ‡†…ˆ‡ƒ†‰‰‰‰†}€‰Š…‡††‡†„‚‚ƒƒ‚‚ƒƒ‚€€€€ƒ…‡ˆ‡†‚‚|ƒ‡‰‰Š‹‹‰‡……‡‰‰‰††…ƒ„…†††††…„€ˆŠ‰‡ƒ„†‰ˆ†ƒ‚‚‚‚€…†‡††…„||†‰‰ŠŠ‹‹Šˆ…†‡ˆˆ……ŠŠ‰ŠŠ‰ŠŠŠ‰ŠŠŒ‘Œƒ…ˆ‰‰ˆ‡„€‚‚€€€€€‚„†‡†…}}~ƒ‡‰‰Š‹‹‹Š‡††‡ˆ‡ˆŽŒŒŒ‹Š‹‹‹Œ‹Œ‘Ž…‡ˆ‰‰‰‰ˆ†„€‚‚ƒ‚‚~„|}}„ˆˆŠŠ‹‹‹‰††‡‡‡ŠŠ‰Š‹Š‰ˆˆ‰ŠŠ‰Šˆƒ‹ˆ†ˆˆ‰‰‰‰‰‡„‚‚ƒƒƒƒƒ‚€€€x|ƒw|~†‰‰‰‹‹‹‹‰…†‡‡‰‰€‡‰ˆˆ‡†‡ˆ‰ˆˆ‚|†ˆ‡‡‡‰‰ˆ‰‰‰‡…ƒ€ƒ‚‚‚ƒ‚€€€‚„pz}}‚ˆ‰‰Š‹‹‹‹ˆ††††…ƒ…ƒ„………„ƒƒ‚…†‡‡†ˆˆ‰‰‰‰‰ˆ‡„‚‚‚‚ƒƒ‚ƒ‡†hm|}{~ƒ‰‰ŠŠŠ‹‹Š‡†………„ƒ‚‚€ƒƒ„ƒ‚ƒ„„„†ˆˆˆ‡‡‰‰‰ˆ‰‰‡…ƒ€€‚‚‚‚ƒ†„khq|}~†ˆŠŠŠ‹‹‹‹ˆ…ƒ„…†…†„ƒ…‚„……†‡‡†„ƒ‡ˆˆˆ†…‡‰‰‰‰ˆ‰ˆ†ƒ‚€€€‚‚……kjkv€~}ˆŠŠŠŠŠŠ‹ˆ…‚ƒ†‡‡‡„‚€„ˆ‰‡†…„‡‡ˆˆˆ‡‡ˆ‰‰ˆ‰‰‰‰‡„‚€€€€ƒƒ‚‚nnms€}~…‰ŠŠŠŠŠ‹Š‡‚„…„…ƒ‚†ˆŠŠŠ‹ŽŽŽŽŒ‰‰ˆ‰ˆˆˆˆ‡„‚€€‚ƒ€zominy~|€‡ŠŠŠŠ‹‹‹‰‚€ƒ‚ƒ‚‚‚‚€„Ž“”•––––——˜˜–Œ‡ˆ‰ˆˆˆˆˆ‡…‚€ƒ€vkkhikz€}}ƒˆŠŠŠ‹‹‹Šƒ€ƒ‚‚ƒ‚‚ˆŒŒŒŒ‹ˆ‡‡‡Œ‰‰‰‰ˆˆ‰‰ˆˆ…‚€€‚€voniges€~|~…‰ŠŠŠ‹‹Š„‚ƒ‚‚‚‚ƒƒƒƒ„Šˆ€}|{„‹‹„}}|}†‹‰‰ˆ‰ˆˆˆ‰‰ˆ†ƒ€‚vmkhgfl{~}€‡ŠŠ‹‹Œ‹„‚ƒƒ‚‚‚‚‚ƒƒ…Š†}xxy…‹Œ†yyy|†Š‡ƒ†ˆˆ‰ˆˆ‰ˆ‡…ƒ‚‚xfgghhiq~€~|ƒŠŠ‹Š‹Œ„„…‚‚ƒ‚‚‚„‡Š‡†………Š‹‹Š„…‡‡ˆŠˆ…†ˆ‰ˆ‰‰‰ˆˆˆ†ƒ‚‚{ihgfghhu€}ˆŠŠ‹Š‰…‚ƒ‚‚„ˆˆ†‹ŠŠŠŠŠ‹Œ‹ˆ†‰‰‰Š‰ˆ‡‰‰‰‰‰ˆ‰‰ˆ…ƒ‚jhgdgihs~~„Š‹ŠŠˆ†„ƒ‚‚€‚ƒ‚†‰‡„ˆˆˆˆˆ‰ŠŠ‡}†‡ˆ‰‰ˆˆ†‡‰‰‰‰‰‰ˆ‰†ƒ€ihgfhkin|}€ˆŒŒ‹Š‰ˆˆ‡†………††‡ˆŠ‡ƒ……„…„…‡…‚~}‚ƒ†‰‰……ƒƒˆ‰‰‰‰‰ŠŠƒjjjjiihkt€}ƒ‹Œ‹ŠŠ‹‹Š‰ˆ‡‡‡„ƒ…‹ŠŠˆ‰Š‰ˆ‹Š‹ŒŽ‘’Œƒ…‡†ˆ‰‰‰‰‰‹‹ƒ€lkiinkhkr}‚}‡Š‹‰‹‹‹‹‹Šˆ‡‡†‚…•–•”•––•––––––•–˜Ž†‰‰ˆˆ‰‰‰‰‰ˆ‰ˆ„lnmoqpmpt}~}}‚‰Š‰ŠŠŠ‹‹Šˆ‡†ˆ„„”•””””“’’’‘‘’’’’‘Œ†ˆ‰ˆ‡‰‰ˆˆ‰‡……„zzzzzzzzzzz{{zzzzzyyyyyyyyyz{„ƒƒ„„††‡††††ˆ‡†‡‡†††††……‡†„ƒ‚ƒ‚‚yzzzzzzzzzzzyyyyyyyxyyyyyyyy{‚ƒƒƒ‚„…††………†ˆ‡†………………†…††…ƒ‚‚‚zzzzzzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„††‡†……„„„ƒ…††‡†…ƒ‚‚‚zyxyzyyzzzzzzyyyzzzzz{z{{|zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„…‡‰ˆ‡…‚‚‚‚€€x||zzzzzzzzyzyyyyyyz{||}}}||}€‚„„„„………„…‡‡‡………„ƒ„…‡‡ˆ‡…„‚ƒ‚€€z~|}}|zzzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€€~|{zzzz|{yz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡†„…†……„……††††‡„ƒ‚‚‚‚zz{}~|z{zzz}{{}€€‚ƒ‚‚€€‚ƒ……„„„„……„„„…†‡†„………„……†††…††„ƒyst{€}}}|{}€…††…„„ƒƒ„‚ƒ…‡‡………„„…„ƒ„…†………„ƒ„„„„…†††…„ƒ‚‚‚ƒ}yx}‚}ƒ€€‚ƒƒ„‡‰ˆˆ†…„„„„…‡‡†††…„„…………†„„……„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚yyy{{x{ƒ‚€€~~~‡ˆ‡ˆ‡…„„……†‡†……††…………†……†……„ƒƒƒƒ„……†‰‡…‚‚€‚‚yz{zz||€}{zxz{}„‡††‡†……†ˆˆ‡ˆˆ†…†…………………‡……„„…„ƒ…††††„ƒ‚€€‚ƒ€‚€‚ˆ„~~~}‚†††††††‡ˆˆˆˆ‰†…„„„…„„††‡††„…„„„†‡ˆ‡„‚‚‚‚‚„†„„„ƒ†Šˆƒ€€€€€†‡††‡‡‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†ƒƒ‚„ˆ…‚€€€ƒƒƒ‚€‚†‡‡†‡ˆ‡ˆ‰ˆ‡‡‡…„…„„„††‡ˆˆ†„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚……‡‰‰ˆ‡…‚‚‚ƒƒƒ‚†‡†‡‡‡ˆ†ˆˆˆ‡††„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€‚ƒƒ‚„ƒƒƒ„„„‚‚‚ƒƒ†‡†‡ˆˆˆ‡ˆ‡‡††…„…„ƒ„…‡†‡‡…ƒ‚„ƒ‚‚‚|||€ƒ‚€ƒƒ„„ƒ‚€€‚‚„„‡‡…„…††‡ˆ‡‡‡ˆ‡‡………„ƒƒƒƒƒ†‰†††‚}}{{z{{{{||~~~~€|~€€€€€‚‚ƒƒƒƒ‚‚„„………„„ƒƒƒ€€‚……„……€€~~€€€€€€€~~}}}}}}||}~~€€€€~~€€€€€€€€‚Š„ƒƒƒ‚‚‚‚€€€|}€~}}}}}}|||}~|{z{{}~}{{{€€€~€ƒ„Š†‚€€€€€€€|{}~~}}}}}||||}~~||||~„€~~}|~€€€€€€€~ƒƒ‚‚‚€€€€€€€}|||}~€~~~~}}}|||}}||{|{}zy|}}|€€€€€~~€‚ƒ‚‡ˆ€~}}}}}€€~~~}}}~}}|~~|}}{yz{yy||€‚‚€€~€‚…†‚‚‚€~}|}|~€€~~}~~~~}~}|„}xxxxz‚}{~€‚‚‚€}‚‚‚‚‚ƒ„}}}}~~€€€~}~~~~~~|{~†yyzy{„…}{}~€€‚‚‚‚€~~€‚ƒƒ†Ž„ƒ€}}}}~~~~~~}~{{}}yz{z~†…|{}~€€‚‚‚‚‚‚€~}}ƒ„ƒ€~}}}~~€~}}~€}}~~~}}~~ƒƒ}{}€~}€‚‚‚‚€~€…„‚€~}}}|}€~}~€~|}~~}~~~~~~}|z}€}{}}€‚‚‚‚‚‚‚‚‚€“‰‚€~}}|}~~~~}|z{|||}}}}}}}}|z{~~}}~~‚’¯¦‡ƒ„ƒ‚€~~}}}~€€|~„€|}~~~~~}}~}€‰‚€€~~}}}€‚‚€€‚–¸±–ƒ„ƒƒ‚~~}}}}~€€~€Š~~~~~~~„Œƒ€€€~~}}}}~€…Œ“‚‚‚‚‚}}}}}}}€€€€„„‚€€€‚…€€€‚‚€€€~~~}}~}~‚‚€š{}‚Œ‚‚~}}}}}~€€€„„‚‚‚ƒ…ƒ€„„€€~~}}}}}~~€‚‚‚„§}{‰ˆ‚ƒ~}}}|}~€€€€‚€€„ƒ€~‚€€~~~}~}~~~~‚‚‚Œœ€||€‚ƒƒƒ€~}~}||}~}}€€€€}~€€€€~~~~~€~~}~~~~‚‚‚€€“¤~‚ƒ‚‚ƒ}}}||}}€€€ƒƒ„…„…„}~~}|zzzxwxz{~~}}~}}~‚€“»„€|‚‚‚ƒ‚~~}|}}|~€€‚ƒƒ…Š‹‹‰Š‡zxuuvvvvuuuvw|~~~~~}}~€‘‚~z|}€‚‚€~}}}}|}€€‚‚‚ƒ„…†………}{zz||~‚€€€€~{~~~~~~}~€€Âzyz~ƒ•ˆ‚€~}}}}|}€€€€€‚ƒ‚€|||}~~~}}}~~~}||€~~}}}~‚€ˆ¿€~yxy}„Š…‚~~}}}}€€€€€€€€€€~}|}~}{wxz}€|{€€~~~~}}~€€‚€„º€~zxxz€‚‚‚‚~}~||€€€€€€€€€€~}}~€€~zusy}€~{{}€~~~~}|~­~zxwxz€‚‚‚‚€~}~~€€€}}||}||zwvy{€‚|{|}~}~~~~~~Š~yxyzz~‚‚‚‚€~|}~€‚€~}}|{|||||{z|ƒ…}z|}~~}~~}~~}€‚€~{x{|{~‚‚‚|}}~~~€€€€~}|}}|~~}}}~‚ƒ€~~}}€~~~}}|z}€}{|}~~€‚‚‚}}}}}}}}€€€€€~{|{{~}||}{{{{zzyyx{€€€~~~~~}{{€ƒ~€„„‚‚‚„ƒ‚€~~}}}}}~~€€‚€zwvwvwwwwwvvvuvuvt{~~€~}€‰ˆ‡ˆ†…„…†„‚™Ž~}}}}|}~}~€€€zvvvvwwwwwwxxxxxwx{~~€€€‚ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÉÄÇÄÍÏÏÏÏÏÏÏÏÏÏÏÏÍÎÎÍÎÍÍÌÍÍÍÍÌËËËÍÍÍÌÍÍÍËǾ¶®£œ~rhkukjgmlscfbU\`\[a\S[`\]UPNSYX_d`fRTUVVVTSXTPV]^\XTME=8;;522?2ÎÎÎÎÎÎÎÏÏÏÎÎÎÎÍÈÃÇÂÉÍÎÎÎÎÎÎÎÎÎÎÎÍÍÍÌÍÌÌÌÌÌÌÌÌËËËÌÌÌÌÌÍÎÎǶ ¦—t‚z~s`^`o|n^_nkg[XXZ_YVTO]f_[ROOPXV[ghgPU\_YQPKQQX_a[VOLJ@@66631075ÍÍÎÎÎÎÎÏÏÏÎÍÍÍÌÇÁÄÀÇÊËÌÌÌÍÍÍÍÍÍÍÍÌÌÍÌÌËËËËËÌËÊËÌÍÌÌÍÍÍÍÍÌÀ£Šˆrommklnnt~z_b`ccZY[ZZ\RSV\bYYXVSQTRV\fcPQXZTMNMQQ\c_aYPGA?<851220.2ÍÍÍÎÎÎÎÎÎÍÍËËÌÌÈÁÅÁÉÌËËËÊÉÊÊËËÊÉÊÊÊÊËÊÊÊËÊËÌÌËÌÍÍÍÍÍÍÍÍÌÍ̵—’yltuyt}gfa]gY`bb[ZWU^YSYedRPRVWRMKVOXfQOSWYPLROPXa^`UTUOH><84221--ÍÍÍÍÌÌÌÌÍÌÌÌÌÍÎÊ¿ÁÀÊÎÎÎÎÍÍÌÌÌËÌÌÌÌËÊÊÉÉÊÉÉÊÊÉÉÉÉÉÇÉËËÊËËË̼’Ž„~ral}nbg`_`WhaXWTSLZ`^`pn[QOT[SMITRRXRYZWUMOQTZ_XWZQOYOI>?@:520,+ÍÌÌÌÌÌÍÍÍÍÍÍÍÎÎɹ»ºÉÎÎÎÎÎÍÍÍÍÍÍÍÍÎÎÎÎÍËÌÌÊËÌÌËËËÉÅÉËËËËËÈÆãŠxzoh_lpod_a_W\^URZRSPXfeefcgVQVXSQSTRRVQX]`USTQYZ]XWSSOQPI>?=5550.2ÌÌÍÍÎÍÎÎÎÎÎÎÎÎÎƻļÆÎÎÍÍÎÎÍÎÎÎÍÍÍÍÍÍÍÍÍÍÌÉËÌÍÍÍÌÉÅÊÊÊÍÎÌÇÄÁ´šywoeVSc^Y]``]b`WUQKMUY_aci^ZSOOPNJSQTP^KSSZZVYX^Z[WRPSNQIEC>@;530/3ÍÍÍÎÎÍÍÍÎÎÍÎÎÎÎÆ¿ÌÁÅÎÍÍÍÍÍÍÌÌÍÍÍÍÍÍÍÍÍÌÌÌÉÉÉËÊÆÄÄÀÇÅÈÌÍÊÿ¼®vqTRQQOVXloebc\XMCAMYT\aa^VSRJLKHLHOKXNQTUVVZ[Z[_XRNRMUNBG@>>40.--ÍÍÍÍÌÍÍÍÍÎÎÎÎÍÍÅ¿ËÂÃÍÍÌÌÌÌÌÍÍÍÍÍÎÎÍÍÍÍÍÌËÉÇÅÈÁ¿¹Á½Á¿ÅËÉÅ»®¥§Ž~tq]UVYXhh^nff`UVRQUTdTOZ]SNVXQKJGNOQYVQOWYUSWXUOTXRPVQWV?46220..--ÍÍÏÕÔÎËÌËÊÊËËËÌþÇÁÁÌÍÎÎÍÍÍÍÍÍÍÍÎÎÍÍÎÎÎËÃÂÁ½À»º¬¾º¿¸ÀÇ¿¾³¤Š‰p‰zeZ^Z[dkVm]T[SNST]]VMOQXQOSUWLKKSRRYf[NVXVUUUYQPYWW\]MC=7540.-,--ÍØæîíáÐÊÉÃÀÁÄÆÊÁ¾ÆÁÀÊËËËËÌÌÌÌÌÌÌÍÍÍÌÍÍÍÌÅÁ¼²º¶²¡ºµ¿µ·Áµ¼³™†|zlgabbaRZb[Ud[RY\NRRV\TUSNNNKKLRXUOQOQQbZMY[WQLNXWVSWPLK@7=<:62.-,--ÚíáÇËéèÍÁ¹³²·»ÁÂÂÉÆÂÊÌËËËËÊÉÊËÊÊÊÊÊÈÈÈÅŲ«§¬¯¦žª®¸®³¹­¬¡ƒwxsjhQ_eZWbXQ]h]X^XLOQS[`aTPLLLMPLTWKOTNR[\X`\TOLNYUVVOPWJBB=:;:51//-,Þ㯌•Çæ˹´±°³³¾ÃÅËÈÄËÍÍÍÌËÊÇËÌËËÊÉÈÆÂþ¿³¡›˜£¥™–Ÿ®¬«¬§£™ƒsljhjn]VXUa_UV][Y_WSVSRTT_XPSONSUQSSWQOVPSY_X]WY[V\^SSYWSQ@>G:7677520/.ˆ†€…†€ƒƒ„Š‘ °²ÀÃÄÊÇÁÊÍÍÍÌËÆÁÉËÊÊÊÈù²µ´¸ªŸ•Žš›—” ²®«¡˜™xiddVf`RMHOW`WQQ]h_`n^^b\TWNOOOOQVQTPSZRYOO]]\fZb^hgaRPNMJKA=A8854453.02““tU[Qf‰‹‰…z ¶¾¹ÂÇÆ¿ÈÌÍÍËÇ¿¸ÅÊÊÇÅ»ª¡œœ££šœ–‰•™’’žª«’Ž„vdcfY]TOSQPY`^Zhn^PUbNWon[QOKMMKGILLNMMPWUX]TRWW_f]]XOJMGFFCHA8543344/04­¼§mOh­ÑÞÙÈ„¶·²¾ÆƸÁÉÉËÊǾ³ÃÊÊÀµ§™œŸ•˜•ŠŽƒ–”‹‘—‘Š‰Šƒ~usnaXSW[YNX\VT]h[RP]ff`^[RRMJJGIHGEFNLR]ZUZVNZfffU^SMTSHJ@?A9754313336;O‰¨pv·ÍÑѾzs§¯­¹Å»©±¸µººÇ½°¾Ãº¬  ˜› “”Ž…€ƒŠŠ‚€Šˆ…ƒ€„€~yxnaUUST]XTYUSYfRQP\edSSZWTMKLIJHFKJIQU[aQXRPkrce_b\U`YUTG=;;864322549A‹¤„}­uOYYOnŒ¦£ª¬ŸŸŸ¡¡¡§·®£¢¥˜™™ —šž’•„ƒ…~ƒ€y„ˆˆ„|}||uqpicXPZg[RVRV]ZNW\\^XQQQQSMKPQKORQGBJOS^PQM^ba_Zei[QS]XESE<;;8554488:=³°€@2€§WHJP>du Ÿ°¡› ¦­±±±±²´«¤š˜š¡™“—ŒŽ‹ˆˆƒ}y€†„€yzxvqhieZVYRY^YT[Z\YVZZZ\ZUOKUTNLOJADFFA?EGGQKRRX\`Xan]^OZ^ZHEC?=<855669;?>X`Q=5I^UpD7Th¢q·¼Ì××ØÖÔÒÒÓÔÔѼ™›–Ž‡Ž‹ŒŠˆ…‚€z€„~}uvvqrmjfX[c`bYRSXW]]aXS]SX^ZVPINLNIBDE@?EFDAQGUW[X```\RbaUWWQLGDF:65667;=EFFEKHEBR`lfOBEN¤ipßÈ›uoihfbdmz’Œ‹…Ž‰Šƒ‚‚{~‹‚zvtqsrnibWZba[RUOQ\ebdVNRRi]aWLQQOJHDIRICILLFPQ\]XLZdcdT_cVOX]PE?@<98767;@LBlljijinutsoifev·Ûî˜ACEEK[HHJHHEF˜’…‡‚—‰ˆ~~„‡}‰‚z{wuuuwsbVQYWZVYWNZ[]_gfilplQ[[TMRPGEFOVQONOPIJUY]ZNN^Z`]]feV^S@::==;::8:==>;UUSTTTUTTVX\aewËêØrDEAAXj^]RGDH=RUWT\_UTSRc’u¹ž–ݦDEGPMLJGKLFEECI—Ýõž|€‚~y~|€†„|€{~wquxxsnjf\SMJWWZSTW[ZWHX_Z\XX_WKMTOLILOOPTUXV[neZZYZVYXQWKMJ?763`‚:7988:AECEUW\a•`]WPöá÷¹uмŸž¢¥§­¯¬®°®¬¬ª©¼ÇÍŒ{{|~{}||€ƒ}xxpnwxzphacSPSD@MVVUXZOKIVX[[UZd^SMLIKOMMJGJMVXY]`Z^WVRVNKMHA<8676R„>789;;?HJHPHMW±®UMHH£ðÚë—]´ÑÔÐÔÕÕÕØÚÚÙ×ÕÔÒÐؤxw{yw{z}{}‚‚‚ywxmintxmg`^OQTHJQUX[UPSPTUZUVWY`\RKDCCEHIFEGJRU\[UNVRTSSNGFC=96686YB88;=;AGGH‰™ŸÓÌ™•’ˆˆkmL\ÅØÜââããåæååèçäãâáÜÂ}uxxvwvzz€~€xvvoummuphg_QVWTXX_\XGEQW^WZXWTV\VOIBE@>??=;@KNVaYTY[RW[OLG<::87772‡çS16;9;BHIJêéëìêéêéêëß’QIAUÆÛßêëëêçåæåÞßèëéäÙÕ›swxzywy{}}{~zvsvvjksjhg`N^k\UTYZYRPVXYb^WU[ZUMGD?@?><69?EIK[hWUYWZ\TFCA:68877:4„äQ/8;=BGHDQèîòòñóóóîèÛ‡PLDSÈßçëæëÓ›šÀÊš”ÇëááßÛ®xzwvyzxz}y{{€~zwxumhngfcbZfpc]NQ[XURSZW_YU[eXOICA@?CA?>DIC>K[kj]MPeQF@:;:7<;99>7wÛW2=CRPJU^^kŒmQVXKA;666;@CA>@JWbW[dind[WY_aekllpf\jzxqmfikW†ñƒUT\vwqrjfVTRQOMMPRT]Z;.3?sÞÓ¦p¶è—}|{s‰àÄdœÆÔ‚zst}~}tx{zswz|xwnbZafcaa_TXXXSQPONU\YTXYSNQXSQU^_sƒxbmxn[TW\^_ahfn~ƒ‚‚„~}€…‰ˆ‰•²”‰ƒ|}ssqh|zzzzyy|}{~K*/CgÌáÒ¼ÐòΧ¥¤£ÅòÖ»ÏáËmwww{{}uu|uqwz{qvld`_e`]`_ZZTVTU[\RQYXOMNT_[W[fzƒ‡ŒƒacqjSQY\\[]fikv}{|ts}ŠŒŽ’‰…‰‚nqplohrsstuwxxyxxzY?COj¤È½µ»ÂÉÊÉËÑÌÁººÇÕ©lxyzuuvyts{tsxvvsrmlmklknsqqrns{ˆ‘‡‰Ž‘‰Š•´˜€}|w|}lbnmbW[`_][_geirfeadcs~z…‡†„…~|sagqnjgmmmnoqrssttuutwz}~~|~~{|~ˆ‘ƒ‹‰tvwyxwvtsrqqrstsrqollmlmmqruxyxxvtsuwvvxz{‰•¤³³«~skkkkmlifa]\]ZY]^XY\]]`fhegdbeoohmjf^ismvznmlklmoqrrrrrqqsxz}~~}|{zywvu|ŒŒœžˆopqtwwvwusqqqpprqmlkigffgijlortvvuttrqqqooopu€‹–¤®®§ž‘thgfea_]ZWYYVWXXWXWVW[XWXYYWTTUPWWanwsoljijjlnopqonnnopsvyz{||||zywusr{…{†Ÿ“unnqsrrrtwyz{€€€……„ƒ|xqkgfhjlnqstttsqommmnnnosz‡˜­½¼§xlfgggc_^\XVSRTSRSW_bUUWZVVUTTSURWxvrmjiiijlnoppppoopprtuwxyyyxxwvusop}‹“’}zu|†“ ©«­¯­­¬¬®­¬¬®¯®¬©¢œ†dcegjnpsuvutqoklmnppnlmx‹¦¹¿³Ÿ†sjiigdbb[VZUUTTYWSSUZSTT[XUVTTwvvsokihhhjlnoooprrrrrrruvvwwxxxxwtsqmm~Ÿ±­¤¦£œ“‹‚{urnmjgihhjox€…ˆ{abbbceimqttvwvsqnjjknppnlo{«ÃëŒtihjjifd`_[XTSSSRRSTSXUTVWWuuvvtpkhfegijllmnopqpqpooprtuvvwwvusqqppl—“slb[URPWbhvœ«€jc[VUUSPKNrgaaa`^_`dinqstuvvspkgfjnomkhhv˜¾Ì¸tkijkjiheb^ZWUSRRRRUZTVUUuuuuutqlheefgiklllmnooonmmnprstuuvwtrrrqn‰^FKLQY_dSHILTWJA?UrqojeU>Kjgcabb`^_adinprsttuvslhhjkmonljrŠ¨¾Á­‹tkjkjjhfc`]ZVUSQUZSTSSqstuvvtqnieddegijjkklmmmlkllnoqssuvutssqv{?Lcr€Œ‘—g?>60-4;;JYWXZ\`S<[ojfcb```a``cgknqrsvvutqlggjlmmlihr‹±Çè†qkkllhfeeba_\XUUSSTloqqssrqplhb`abdfghijkjkllkjjjlmoqrsssspb@_”¡§ª®¯›ˆoSGHJJIE<88843JVFkmmjfca`a`^\^aejmpqsttssqkedhkklmjegy¤Éεrokihgfeeeedb^WTWjmnopqqrqpmgcaaaacefhiijklkjihijlnppqsssˆHZKž»¸¸·³®¡»¯}}ŸmC<47=<74_cW942p]Ofeinonkifdefda_`bgjmoprstsroidcfikkjifgwœÄϹrllkjhgfeefdbfikmoqsttsrpmjfcbbbbdfghjkkkkkjghjkmopo€gXk024332;H\r`LLGH>3Enu`D4ChEgfceilnnkhfeeeca_`cgkmopqrsttpkecgijjkkges™¼Î½œ}mlljjifffd`dgkmoqrsssrpnkfca`aabfhijjjjjkjhfijlmlƒSu\/38>A=>IJKHNLDE:BHiaC3{«ŸM_kgdcdfimliebbba`_^^agjlnpprtssqkfdehjklkifmƒªÊɯwmkljhjh]`cgjlnopqrrqomica___`beghiiijlkjhghijk‚LˆI024l“p;IF<;;;_oEHFVsf@65A‰lRmlifdbbegihfc`___]\]^`dgjlnopqqqnifdfijlklkhgx—·ÈÅ®’ynnmk„[adhjlnoqrqrqpmida`_`acfgghhijjkjgfgglxQŽ;45=t•Œ\=84445HWGLLmuƒL64.kIkllkgecbbdfhfb`_^\\\\\\]_cfikmnnnmlifcbfhikljfcgv–ÄÔÇ¡xklÄy\cghjlnpstqrqolhca```adeffgggghihgfdomc…6ADG‡—¬D@3132244AH„¥”R720R Qdmlljgeca_beedba_]\\]][[[[^adgiklkjkjfb_bdfhjiigcar›Ç×Ç™qÊÁr[degiknopsqppomhca`_`abcdfgghhiihgbu_xv@MMDc€fJLB77775458r›€P?32?žiVmllkkigd__adffdc`_]_`^^\Y[]`dhjkmnoonlfa`bfhijiiidbvÅÕÀ½Í³_Z`cgiklmrroqrolgca`_``acdghhhjlkk`vVmGNKZs{IHHFDDFDB??ršlC?=66˜}Jn]CCIfkieb``cgihfdaaaaaa_\\^bfilnopqqoomhcbdgjkjjihecsšÃ¬ÁΟZ]behijlnppqqpnlida```bcdfghh_NJQxqI–nMwW\uQMHIMTVVLQNPYm‹‡T@8<74qP>aE;=2[mkkifaacfhjifebaaaa`^]^`bfiknprrqqpmgccehiiiiiifcuz³ÄÎX^cfgiklnopqponlida``bcddefhF7:9x`?WOFcC>[^RLK:3557=;6434`mklkjida`dilkifca``a`_^]^`dgjmooqrrpolhbbdfhijjjhpP»ÈÈsYacfhjkmnoopoomlid````acddhA/549@E855114:=<6543346558857<<?=;769mj8=FLJILwtÐçÈÀȇ8+Qgaefgddeeefffghihhhhhgda_`behjiifb^\]]^_^\Z[^dhlkg®¯tqoldWOKg¯ÁÍÂp^cehijklmmmmmlkkhc__^_SP?/N¢Ï¶ÙðÓ”[]^g“yB§¡Bdwrb\e¦¶óíç×ÆY1*Iheeedcccddfeefhhfffhhiheb_^_chjkjheb_]]^__]Z[\bhga—©upklmeSVhŠ½ÆÔµf^cghiijkmmmmmlkjfb`_^WB739lÖÑååò¼›eZY]vrjÐÆai`bcbx³Í⽟“y1/-Ihefffcdhliceefggfefggiihfc`^^bhjlkjhda``____]Z[`bOŽ vklnlhYOQS“ÃÈÔ£\_bdeghikllmmmlkieb_^\F2//7r|}™¼¬¯enn^L„ðï‚Xutxr¤nk]632/.0Miffgfdn¾ÜÔŽbdeffeeffhiihgeb`^^aejmlkjeb`_```_]Z[\JvŒfnrpnmfSLJY¨ÄÌÓ‰Y`ceghhijkllmmkkheb_ZA/-,0-/2EA=gjPclmj†ÆÌŽxjdZUUN=>>;73/22Rkffgffe‡«¨–ebdeedcdfhhhhgfdba_]^cjlkkjgda``_^]\[YJ]~\ntqstxiTOJo¼ÇÑÃi]bdgghijjlllmlkjhd_Z7./.0259@GLT]ep”¦²ÌØø¯¡tcXMF@=95230Ukdchgggda``befdddccdefgfffedca^\]bhjkkjhdb_^][Z\VIWq\mnlkjke\RLN˜ÄÈÖŸZ`cefhhijjkllmkjifb]:-12458:>AGRe€Íáäçêíîììíðß…qb^ZMC;511/Xke_hgggggfcb‹tabdbbbcefeeeeedc`^\\_ejkkieb_][ZYZSFO]Znfcde`b^SMJg¶ÃÎËsZbhhfggiiklllkkjgca?+//059@IR`r›’Òìæíìëëììëðу°nVE;4000\jd\ddddddccacca`baabcdeedddeedba_\[]chihgea_\ZYZR@IOUlhggqlhcRLLLˆÀÅÓ­]^ccdfgihjkkkkkkieeE+-/.28?GVf~¦£ÇòìðñññòòòøÎ~Ÿ€nVI=41/2:ivsnz{}~~}|zvspno``abbddeeddddeecb`]\\bhhghgc^[Z[S>DFQnmggpnqiSMMKY©ÁÊÓ“`_bdfghhikjkkkkjhgI+-0.14:HEFO^_šÖÐɾ»¸®¨Ÿ™u<>69X”}‹”¦¬¯¯­³°±±²³³²³³°­¹šcabbddeeefeeeeedc`^\^chijjhe_Z[TFpnldhlntpmiRJKK~¾ÀÑÅl_cdgghjjjklllmnM09,--11:G=8>F@46640-,0123<™]Zfmqtvx{€‹–©¾™ŒŽŠƒ€€‚‚}vrvebcdedddeffffffffeca^[[^ehjjieC<?@@DGJMZyWNNICm®{dn…†…ƒ…‡‡\@D:7a™¥©¨¤¥¤Ÿ‰Zen]__bdedeefffffefedc`^\\_cikjlH;9G`ikinokmospmTJMM[¨ÀÈÔ^beghiijjlllmiG/:5:‰ŠEA9127:;:7CL9ZfQccc]]`baabdbacbbcddcccba`^\[<&1DmklsrmjlmmfhihiTJKKM–ÆÅÔ¹`]_addcdb`]WF623466679999:99:<<<=>9[¡HnVA75698774221O`23546:=B@6:@9CsK`cbbb_a_^bdcbccdcdedcccba`_]<#/FknqqmlmpqpkgklgTLKKJe¹ÅÌÖŠ^ddeeeeca^YQKHGGHHIJKKLLLMLNQPPPNTu›oJnM;554:=7543132124542Gyi15455oO[bbbe¥À½”_bccdcbcddccddcba``?!.AmklntutrtljkmkqePJKKM“ÇÉÕ¾icdefgfdb_\WSQPQSQQRQQRRSUVXZ\]]Y†ˆŠeNkDJE:HY]PCGE72322447 ,TXqzXNOVF5I\L_[ang‚°°¡e``abacccbbbcb_YQM9 ,7qwuoijmmmhikurue^XLKMO‹ÉÇÐÈsbefhifddca_^^^__^\ZXYYZ[]^dg_]a~{yWM\LPICDDDFFCAH@764;9LUBA<<@HOTTULLLNORVY[\ghUcKT`__abbbbcbba`_][ZYQKJ<*5‡z~€xv{xjhoyxx{se\RKJKJS¤ÇÇ׺e`accddeeeeeddccc`_^]ZZYZZOU_~}kjVVTSTSRRTUVWXWYYYZ[ZZ[[[\[ZZ[[[\]]c]HD_b`___``babaaaa`__``^QH@"+3†|t~xsqiksmjgoibbaUJKK]e¾ÃÊØ\`accdeeefeddddcb`_][YYY[ZUQSxeq\\[[ZYYZZYZYZZZZYYYYYYYYYXWXXXXY[Z_L;Odaa`____bbaaaaaa__^^]XK:(/0€}xw~xsorb^fp{qijeXKKKW^[ÂÀÖÁe_acbcddeeeeeeddca_^\ZYYZ\_dIP_\qWXXXXXWXYXXXXXXYXYYXXXXXXWWWWXWXZYZPAXdaa``___defdcccca_^]\XTI71,†‡‡††‡‡‡‡…†‡‡‡†††‡‡‡‡ˆˆˆ‡‡‡†…ƒ‚~|yuttswywyzzy{{zwuyyz{zyyz|~€€€†††…††††††††††††††††‡††††††…„{xuttvuvyxxywy{yywtwvxzzxwy{~€€…………††††††…†……†††††††……………†…„‚€€{uwwxwwyzxxwz{zyxvvuwyyxxyz|~€€…………†††…††…††…………………………„„………„ƒ€}zyxwwy|{yxwz{{{yxvvxyyyzzz|~†„ƒ…†………†………………………………„ƒƒƒƒ„…ƒ‚~{yxwy{zyzzz{{{{yvuxyxyzzy{~€‚ƒƒ„„„…………………………………„‚‚‚‚‚‚~|yywyzyyy{||{zyyuvxz{zzxz}€€‚‡‡ˆ†‡…ƒ„………………††…„„…‚€€€€€}}~~{zywwwwyz|||{zyxwvwxxzzy{}~€€€€†ˆ‰…ƒ„„ƒ…††……ƒ„……ƒ}~~€~}{{}|zyxwxvuy{}||{{yxyxwuvxyy|}~€€‚‡‡ƒ…„ƒ……††„‚ƒ}{z{{{|}}}~{{z{|zzzxxzxwzz||}}|zwyyvuuwwx|€€€…‰‰…ƒ‡…€ƒƒ‚€~ywwwwx{{z|{yyxy{yzzyxyyz{{|}}~|zyyxwvuvuw{~€€~‘‘ŽŒ‚~ƒ‡†‡‡‡†|xyxvvzzxzyxxxyzz{{yuwxwz{|}}~}zzywywuuvw|‘‘‡€‡Š‰‰ŠŠŠ{xvwwxxuvvvuwz{|zzyuuvwy{{}~}zyxwwyxwwy{~€~~……††…‚‚……‡†……‡‡ƒ~wvwvvurtuuuw{|}zzx{{yzy{|}~}zyxvwwwwy|‡€}|€€~‚‚ƒ‚‚‚ƒ‚}vvuuttstutuwzyzyxz|{z{y{}~~~~{xyxxz{~€ˆ€}{‚€€€}€}ttttsrstttuvxuxyx{zyyyz|~{wwxx{~€}}}|x}}{|~€‚€~€€€}urtssrrsuvwvwyyyz{yxxxz|~~|wtuvw{~}}~}~|wr}}|}}€‚€€€€€€|srssststvwxwwxxyz{yxxy{|}zzxvqpppnqqpqsw{{wqnm|}}}|~€€|}~~|utsuuvvuwxyxyzz|||z{{zxsnhnmrtromhfgfeffhfegilƒƒƒƒƒ„„ƒƒ„ƒƒ‚‚‚€€}~}}}}~~€‚‚‚‚ƒ‚}xuuxyzyyxxwxxuqppmlnonmˆ‡†ˆ‰‰‰ˆ‰‰‰‰‰‰‰ˆ‡‡†ˆˆˆˆ‡†…ƒƒ„„…„ƒƒƒ‚ƒƒ„†…†…„ƒ€€€€‚ƒƒƒ„„ƒ„ƒƒ€|w‰ˆˆ‡‡ˆ‰ŠŠŠŠ‰ŠŠ‰ŠŠ‰ˆˆˆ‹ŽŽŽ‰„ƒƒ‚‚‚ƒƒ„†‡†……‚€€‚‚‚‚„…„††…†‰‰‰ˆ†‡ˆ‰‰ŠŠŠŠŠ‰ŠŠ‰‰ˆ‰ŒŒŒ‹‹‹ŠŒŽŽ†„ƒƒƒ€€€„‡ˆ‰‡…ƒ‚€€€€ƒƒ‚„……†‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠ‰‰‰Š‰‰‰ˆˆ‚~‚…†‡‡ˆ‡ˆŠ†‚ƒ‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€€€‚‚ƒŠŠ‰‰Š‰‡‡‡‡‰‰‰‰ˆ‰‰‰‰‰††„ƒ‚…‰†…‰ˆ†ƒ€‚€€€‚„ˆŠˆ†ƒ‚€€€ˆŠŠŠ‹Š‰‡†…‡‰‰‰‰‰‰‰ˆˆ†ˆˆ††‰ˆˆ‰‰‚ˆ‡…†„€€€‚‚‚‚€€€‚„‡‡ˆ‡ƒ€€€€€€„‰‰Š‹Š‹‰†††‡‰Š‰‰‰ˆˆ‡…‰Š„‰ŠŠ‰‰‚~‡ˆ…‡‰†…ƒ‚ƒƒƒ‚‚‚€ƒ†‡‡†„‚€€€†‡‰Š‰‹‹‰‡……‡ˆ‰‰‰‰ˆ†…ˆˆ‚„ˆŠ‰‰ˆ€}‡‹††ˆˆ‡†ƒ‚‚ƒƒ‚‚ƒƒ‚€€€ƒ…‡ˆ‡†‚€|ƒ‡‰‰Š‹‹‰ˆ†…‡‰‰‰ˆ‡…ƒ„†††‡‡‡‡…€~†Šˆ†…„…ˆˆ†ƒ‚‚‚‚€…‡‡††…ƒ||†‰‰Š‹‹‹Šˆ…†‡ˆˆ……‡‰‡‡ˆ‡‡‡ˆ†‡‡‡‰‹„ƒ†ˆ‰ˆ‡„€‚‚‚€€€€€‚…†‡ˆ‡}}~ƒ‡‰‰Š‹‹‹Š‡††‡ˆ‡†‹ŽŒŒŒ‹‹‹‹‹ŒŒŒ‘††‰ˆ‰‰‰ˆ†„€‚‚ƒ‚‚€‚ƒƒ…|}}„ˆˆŠ‹‹‹‹‰††‡ˆ‡‰‹‹‹ŠŠ‰‰Š‹ŠŠ‹ŠŠ†ˆ‰‰‰‰‰‰‡„‚‚ƒƒƒƒƒ‚€€€€{y€w|~†‰‰Š‹‹‹‹‰…†‡‡‰Œ…„ˆ‰‰‰ˆ‡‡‰Š‰‰†|ƒŠ‡‡‡‰‰‰‰‰‰‡…ƒ€ƒ‚‚‚ƒ‚€€|{€pz}}‚ˆ‰‰Š‹‹‹‹ˆ†††‡‡„‡††‡††††††‚ƒ†‡‡†ˆˆ‰‰‰‰‰ˆ‡„‚‚‚‚ƒƒ‚„†hm|}{~ƒ‰‰ŠŠŠ‹ŒŠ‡†………ƒ‚‚ƒƒ„„‚€ƒ„„†ˆˆ‡†ˆ‰‰‰ˆ‰‰‡…ƒ€€‚‚‚‚‚…†khq|}~†ˆŠŠŠ‹‹‹‹‡†„„„„„„ƒ‚„ƒ„†ƒƒ……†…ƒ†ˆ‰ˆ†…‡ˆˆ‰‰ˆ‰ˆ†‚‚€€‚ƒ„†kjkv€~}ˆŠ‹ŠŠŠŠ‹ˆ†ƒƒ…‡‡‡†ƒƒ‚ƒ„ˆ‰ˆ‡†„†ˆ‰ˆˆˆˆˆˆˆˆ‰‰‰‰‡„€€€€‚ƒƒ…nnms€}~…‰ŠŠŠŠŠ‹Šˆ‚‚„†‡†„‚€€€€††‡‡†…ˆˆ‰‰‰ˆ‰‰ˆˆˆ‰ˆˆˆˆ‡„‚€€‚„‚ominy~|€‡ŠŠŠŠ‹‹‹Š„€ƒƒ‚ƒƒ‚€€ƒ‡ŠŒŽ‘‘‘‘‘’‘‘‹ˆˆ‰ˆˆˆ‰ˆ‡…‚€‚ƒ‚|kkhikz€}}ƒˆŠŠŠ‹‹‹Š…‚‚‚‚ƒƒƒ€‚‹”••——•”•–—–•‘‹‰‰‰ˆˆ‰‰ˆˆ…‚€€‚‚{oniges€~|~…‰ŠŠŠ‹‹‹…‚ƒ‚‚‚‚ƒƒ‚‚‚…ŒŒ‰ˆ††‰Šˆ„„„ƒ‡Œ‰‰ˆ‰ˆˆˆ‰‰ˆ†ƒ€‚{mkhgfk{~}€‡ŠŠ‹‹‹Œ‡‚‚ƒ‚‚‚‚ƒƒƒ„ˆŠ€zzx~ŠŒ‰}{{y€Šˆƒ†ˆˆ‰ˆˆ‰‰‡…ƒƒ}fgghhiq~€~|ƒŠŠ‹‹‹ˆƒ„ƒ‚‚‚‚ƒ„‰‰€zz{‚Š‹Œz|}ƒ‰‰…†ˆ‰ˆ‰‰‰‰ˆ‰†ƒƒihgfghhu€}ˆŠŠŠŠŠ†€€ƒ„‚‚‚‚‚ƒ…Šˆˆ‰‡ˆ‰‹‹‹‰‡‰‰‰ˆŠŠˆ‡‰‰‰‰‰ˆ‰‰ˆ…ƒ‚€jhgdgihs€~~„Š‹ŠŠ‰†ƒ‚‚€€€€‚‚†‰…‰Š‰ŠŠŠ‹‹‹ˆ„†‰‰Š‰ˆˆ…‡‰‰‰ˆˆˆˆˆ…ƒihgfhkin|}€ˆŒ‹Š‰ˆ†……„ƒ‚ƒƒ„„…‰‰ƒ†‡†‡‡ˆ‰Šˆ‚{…‡ˆŠ‰‡ƒƒˆ‰‰‰‰‰‰ŠŠ…jjjjiihkt€}ƒ‹Œ‹ŠŠŠŠŠ‰‡‡†††ˆ‡‰Š„……ƒ…„ƒ…†„€„†ˆŒ†ƒ††ˆ‰‰‰‰‰ŠŒ‡lkiinkhkr}‚}‡Š‹‰Š‹‹‹‹‰ˆ‡‡†‚„ˆŽŒŒŽŽŽŽŽ‘‘“”•“‡„ˆ‰ˆ‰‰‰‰‰‰‹Œ‡‚lnmnqpmpt|~}}‚‰Š‰‰‹Š‹‹Šˆ‡‡‡ƒƒ‰’–•••––•–•–––••”–“ˆ‡‰ˆ‡ˆ‰‰‰‰ˆ‡†…ƒzzzzzzzzzzz{{zzzzzyyyyyyyyyy{ƒƒƒ„„††‡††††ˆ‡†‡‡†††††……‡†„ƒ‚ƒ‚‚yzzzzzzzzzzzyyyyyyyxyyyyyyyy{‚ƒƒƒ‚„…††………†ˆ‡†………………†…††…ƒ‚‚‚zzzzzzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„††‡†…„„„„ƒ…††‡†…ƒ‚‚‚yxyzzzyzzzzzzyyyzzzzz{z{{|zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„…‡‰ˆ‡…‚‚‚‚€€x||{zzzzzzzyzyyyyyyz{||}}}||}€‚„„„„………„…‡‡‡………„ƒ„…‡‡ˆ‡…„‚ƒ‚€€{‚~|}}|zzzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€€€~|{zzyz|{zz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡†„…†……„……††††‡„ƒ‚‚‚‚{z{||z{zyz}{{}€€‚ƒ‚‚€‚ƒ……„„„„……„„„…†‡†„………„……†††††…„ƒ{stx€}~}~|{}€…††…„„ƒƒ„‚ƒ…‡‡………„…„„ƒ„…†………„ƒ„„„„…†††…„ƒ‚‚‚ƒ~zy|‚}~‚€€‚‚„ˆ‰ˆˆ†…„„„„…‡‡†††…„„…………†„„……„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚yyyz{yz‚ƒ€~}}}†ˆ‡ˆ‡…„„……†‡†……††…………†……†……„ƒƒƒƒ„……†‰‡…‚‚€‚‚yy|{z||~|{xz{|‚‡††‡†……†ˆˆ‡ˆˆ†…†…………………‡……„„…„ƒ…††††„ƒ‚€€‚ƒ‚ˆ…~~~…††††††‡ˆˆˆˆ‰†…„„„…„„††‡††„…„„„†‡ˆ‡„‚‚‚‚‚„†…„„ƒ…Š‰„€€€€€…‡††‡‡‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†ƒƒ‚ƒˆ…ƒ€‚ƒƒƒ€…‡‡†‡ˆ‡‡‰ˆ‡‡‡…„…„„„††‡ˆˆ†„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚……‡‰ˆ‰‡…‚‚‚‚‚ƒ‚…‡†‡‡‡ˆ†ˆˆˆ‡‡†„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€‚ƒƒ‚„ƒƒƒ„„„‚‚‚‚ƒƒ‚…‡†‡ˆˆˆ‡ˆ‡‡‡†…„…„ƒ„…‡†‡‡…ƒ‚„ƒ‚‚|||~ƒ‚€ƒƒ„ƒ„ƒ€€‚‚ƒ„‡ˆ†„†…‡‡ˆˆ‡‡ˆ‡‡………„ƒƒƒƒƒ†‰†††‚}}{{z{{{{||~~~~€|~€~€€€€€‚‚‚ƒƒƒ‚ƒ„„………„ƒƒƒƒ€€‚……„……€€~~~€€€€€€€~~}}}}}}||}~€~€€€€€€€€€€€€€€‚Š…ƒƒƒ‚‚‚‚€€|}~}}}}}}|||}~~}|{{{{}}||||€€€ƒ„Š†‚€€€€€€€|{}~~}}}}}||||}}~||{|}„‚~}{}€€€€€€€~ƒƒ‚‚‚€€€€€€€}|||}~€~~~~}}}|||}~}||{}}}z|~}|€€€€~~€‚ƒ‚†ˆ€~}}}}}€€~~~}}}~}}|}~}||{zz|zx}||€‚‚€€}€‚…†‚‚‚€~}|}|~€€~~}~~~~}}~|~~yxyyy‚~{~€‚‚‚}‚‚‚‚‚ƒ„}}}}~~€€€~}~~~~~~}{}†‚yyyyz…{}~~€€‚‚‚‚€~~€‚ƒƒ†ƒƒ€}}}}~€~~~~~~|z|‚€yy{z{„‡~{|~~~€€‚‚‚‚‚‚€~}}„„ƒ€~}}}~~€€~~}}~|{|~~z{}}}„†~{|~€€~~€‚‚‚‚€~€†„‚€~}}}|}€~}~€€€~~~~~~€~|{|€~|}}~€‚‚‚‚‚‚‚‚‚€}|~“‰‚€~}}|}~~~}}{||}}|}}}}~}}|zz~~}}}~~‚‚ƒ–†ƒ„ƒ‚€~}|}}}€~~}|~}||}}}}~}}}}}€€~~~}}€‚‚€€‚…²½Ÿƒ„ƒƒ‚~}}}}}~€€~~Œ‹~}}~~€~~~}€Žˆ€€€~~}}}}~€‚ž©™‚‚‚‚‚}}}}}}}~€€€€ˆ‰ƒ€‚„‚€€€~~~~}}}}~‚‚€‚‚†{}Œ‚‚~}}}|}}€€€€‚„‚ƒ…„€‚‚ƒ‚€€~~~}}}}}~€‚‚‚‚€}{~‰‡‚ƒ~~}}|}~€€€ƒ„‚„„€€ƒƒ€~}}}~~~~‚‚‚”€||€‚ƒƒƒ€~~~}||}~€€€€~€‚‚~}€€~}~~€~~}}}~~‚‚‚€ƒ~‚ƒ‚‚ƒ}}}||}}€€~}€‚~€€€~}|}}}~~}}~}}~€€‚§„€|‚‚‚ƒ‚~~}|}||~€€‚‚„ˆ‰‹ŠŠˆ‚}|{yyxwwvtuvx}~~~~~~}~€€€€«~z|}€‚‚~}}}}}}€€ƒƒƒƒ†‡‡†…†ƒ|xuvwxyyyxxxy{}~~~~~~}~€€‚€€«zyz~ƒ•ˆ‚€~}}}}}}€‚‚„„ƒƒ|||}~‚ƒ€€€€~|~~~}}}~¥€~yxy}„Š„‚~~}}}}€€€€€€‚}||~~}~{z{}}}}}{~€€~~~~}~~€€~ž€~zxxz€‚‚‚‚~}}|{€€€€€€€€}}}€~}wwx|€€~z|€~~~~}}~~˜~zxwxz€‚‚‚‚€~}}}}€€€€€€€~}}}~|wsw{~|{|~~~~~}}~€€Š~yxy{z~‚‚‚‚€~|}~€‚‚}}}||}|{{xyz~ƒz{}~€~~~}~}~‚~{x{|{‚‚‚|}}~€€€€€|}}|{|||}{{{€…‚||}|~€~~~}~}|}€‚€}{|}~~€‚‚‚}}}}}~}~€€€~~|}}|~~~}~}}‚€~}{~€€~}~~}}|{~ƒ~€„„‚‚‚„ƒ‚€~~}}}}}~€€€€||{z|||{{{zzzyxxwww€~~}{}€‰ˆ‡ˆ†…„…†„‚™Ž~}}}}|}~~€€€|wvwvvwvwvuuvvvvvuv~~~€~ÏÏÏÏÏÏÏÏÏÐÑÏÏÎÎÉÄÇÄÍÏÏÏÏÏÏÏÏÏÏÏÏÍÍÍÍÎÍÍÌÌÍÍÍÌËËËÍÍÍÌÍÍÍËǾµ®¤ “~qhkvjigmlscfbU\`\[a\S[`\]UPNSYX_d`eRTUVVVTSXTPV]^\XTME=8;;522?2ÎÎÏÏÏÎÎÏÏÏÐÎÎÍÌÇÃÇÂÉÍÎÎÎÎÎÎÎÎÎÎÎÍÍÍÌÍÌÌÌÌÌÍÌÌËËËÌÌÌÌÌÍÎÎǶ ¦˜vƒ{~t_^an|n^^nkg[XXZ_YVTO]f_[ROOPXV[ghgOU\_YQPKQQX_a[VOLJ@@66631075ÍÍÍÎÎÎÎÏÏÏÎÎÎÍÌÇÁÄÀÇÊËÌÌÌÍÍÍÍÍÍÍÍÍÍÍÌÌËËËËËÌËÊËÌÍÌÌÍÍÍÍÍÌÀ£Šˆqpnnklnnt~{_b`ccZY[ZZ\RSV\bYYXVSQTRV\fcPQXZTMNMQQ\c_aYPGA?<851220.2ÍÍÍÎÎÎÎÎÎÎÎÍÍÌÌÈÁÅÁÉÌËËËÊÉÊÊËËÊÉÊÉÊÊËÊÊÊËÊËÌÌËÌÍÍÍÍÍÍÍÍÌÍÌ´—’ylsuyt}~feb\gY`bb[ZWU^YSYedRPRVWRMKVOXfQOSWYPLROPXa^`UTUOH><84221--ÍÍÍÍÌÌÌÌÍÍÍÍÍÍÎÉ¿ÁÀÊÎÎÎÎÍÍÌÌÌËÌÌÌÌËÊÊÊÉÊÉÉÊÊÉÉÉÉÉÇÉËËÊËËË̼’Ž„~ral|mch`_`Wh`XWSSLZ`^`pn[QOT[SMITRRXRYZXUNOQTZ_XVZQOXOI>?@:520,+ÍÌÌÌÌÌÍÍÍÍÍÎÎÎÎɹ»ºÉÎÎÎÎÎÍÍÍÍÍÍÍÎÍÍÎÎÎÌÌÌÊËÌÌËËËÉÅÉËËËËËÈÆâ‰xzoh_lope`a_W\^URZRSPXfeefcgVQVXSQRTRRVQX]_USTPYZ\XWSSOQPI>?=5550.2ÌÌÍÍÎÍÎÎÎÎÎÍÍÎÎƺļÆÎÎÍÍÎÎÍÎÎÎÍÍÎÎÍÍÍÍÍÍÌÉËÌÍÍÍÌÉÅÊÊÊÍÎÌÇÄÁ³™ywoeVSb`Y]``]a`WUQKMUY_aci^ZSOOPNJSQSP^KSSYZVYX^Z[WRPSNQIEC>@;530/3ÍÍÎÎÎÍÍÍÎÎÍÍÍÎΞÌÁÅÎÍÍÍÍÍÍÌÌÍÍÍÎÍÌÍÍÍÌÌÌÉÉÉËÊÆÄÄÀÇÅÈÌÍÊÿ¼­vqTRQQOWYloebc\XMCAMYT\aa^VSRJLKHLHOKXNQTUVVZ[Z[^YRNRMUNBG@>>40.--ÍÍÍÍÌÍÍÍÍÎÎÍÍÍÍÅ¿ËÂÃÍÌÌÌÌÌÌÍÍÍÍÍÎÍÍÍÍÍÍËËÉÆÅÈÁ¿¹Á½Á¿ÅÊÉÅ»®¥¦Œ~tq]UVXXih]nff_UUQQUTcTOZ]SNVXQKJGNOQYVQOWYUSWWUNSYSPVQWV?46220..--ÍÍÏÕÔÎËÌËÊÊËËËÌþÇÁÂÌÍÎÎÍÍÍÍÍÍÍÍÎÎÍÍÍÎÎËÃÂÁ½Á»º¬¾º¿¸ÀÆ¿¾³¤ŠŠp‰zeZ^Z[djVl\T\SMST]]UMOQXQOSUWLKKSRRYf[NVXVUUUYQPYWW\]MC=7540.-,--ÍØæïìâÐÊÉÃÀÁÄÇÊÁ¾ÆÁÀÊËËËËÌÌÌÌÌÌÌÍÍÍÌÍÍÍÌÅÁ»±º¶²¡ºµ¿µ¸Á´¼³™†|zlgabbaRZbZUd[RY\OSRV\TUSNNNKKLRXUOQOQQbZMY[WQLNXWVSWPLK@7=<:62.-,--ÚíáÆÏëè͹³²¸»ÁÂÂÉÆÂÊÌËËËËÊÉÊËÊÊÊÊÊÈÈÈÅƱª¦¬¯¦ž©®¸­³¹­¬¡ƒxxsjhQ_eZWbXQ]h^X^XKOQS[``TPLLLMPLTWKOTNR[\X`\SOLNYUVVOPWJBB=:;:51/.-,Þ寜Íæ˺³±°³³¾ÃÅËÈÄËÍÍÍÌËÊÇËËËËÊÉÈÆÂþ¿³¡š˜£¥™–Ÿ®¬«¬§£™‚slkhjn]VXT`_TV]ZY_VSVSRTT_XPSONSUQSSWQOWPSY^X]WX[V\^SSYWSQ@>G:767752//.Šˆ€ƒ‡‚„ƒ„‡˜«³ÀÃÄÊÇÁÊÍÍÍÌËÆÁÉÊÊËËÇú²µ³¸ªŸ•Ž™›—“ ²®«¡˜™viddVf`RLHOV`WQQ]g``n^^b\TWNOOOOQVRTPSZRYON^]\fZb^ggaRPMMJKA=A8854453./2’…Y[TX‰‡|Šµ¾¹ÂÇÆ¿ÈÌÍÍËÇ¿¹ÅÊÊÈƼ¬¡œœ£¤š›–‰•™’’©«’Ž„udcfY]TOSQPY_^Zhn^PUbNWon[QOKLMKFILLNNMPWTW]TRWW_e^]XOJLGFFCHA8543344/03«¶¸„VWÉÚÝѬwª¸²¾ÆƸÁÉÉËÊǾ³ÃÊÊÁ·§™œž•˜•ŠŽ‚–”‹–‘Š‰Šƒ~usnaXSW[YOX\UT\h\RQ^ff`^[RRMJIGIGGEFNLR]ZVZVNZffgV^SMTSHIA?A9754313337TkUG4?_Wf‡Sm ‚…ˆ‚—‰ˆ~~„‡}‰yzwuuuwsbVQYWZVYWNY[^_gghkqlQ[[TMQPGEFOVQONOPIJUY]ZNN^Z`]]feV^S@::<=;::8:==>;UUTTUUUUTUXZackŸèâ¢HG?=Ifd`YHBD@MŸ€~‚ƒŠ—ˆ„‰{‚‰‰…~‡‚|xvwzuun_X\_TVSTW`XON_sƒtb\]eRSMLRRMMJB?LTQRTSN[dceZSXY^[R\XUVG;89;;78:98<===RSUSU`UTSSR~~¸zÒËjAKQRKSPQWSLKJFnÁøÏ}‚~y~}~…„|€{~wquxxsnjf\SMJWVZSTW[ZWHX^Z\XX_WKMTOLILOOPTUXV[neZZYYVYXRWKMJ?763b}97988:AECEUV\aq¦n`ZShãéêít°É´§«¬¬¯¶··¹¹¶³±®º¿ÂŸ|{|~{}|{ƒ}xxpnwxzphabSPRD@MVVUXZOKIVY[[UZd^SMLIKOMMJGKNVXY]`Z^WURVOKMHA<8676Vˆ>789<;?HJHXGIM|ÍrNJEnæâä×[ÉÖÒÔÖØØ×ÚÜÚÙØ×ÕÒÖÈtzyw{z}{}‚‚‚ywxmintxmga^OQTHJQUX[UPSPTUZUVWY`\RKDCCEHIFEGJRU\[UMVRTSSNGFC=96676Ww?98;=;AGGH„ˆ—°ä£“Ž…’ynbB—ØÚáãääæèçäéêçäääßØ›swxvwvzz€~€xvvoummuphg_QVWTXY_\XGEQW_WZXWTV\VOIBEA>??=;?JNVbYRWZRW[PMG<:987772‡ßN27;9;AHIJçèéëêèçèççãºcKE=”ÜÜåëëêæààæÜÔÜëêæß×Àyvxzywxz}}{~zvsvvjksjhg`N^k\USYZYRPVXYb^WU[ZUMHE@@?><69?EIK[hWTZWZ\XHDB:68877:4…äP/8;K[kj\LPeQHB;;:7;;99>7xÜV2=@;yée7?9;CIOYbWLYZ\[XYg^R}XDETsÞíêìêìëèèìéæéëëëìïÎ~wyzlzz|||vu…sstqhfirziWUUSQRNTXOOZ[YTZa][NRTOIEKPI=?MSNgnjxˆi[^RIC>:;?FMIB=?9~ón9;4=HHX_lxy‡‹—ŠŠzfLKJCdÕîìîíëíïîîïïîëîïíïÁwx}{jy}y|ws€~zroljigdbmaSV]YW\TPTRSR[]Zd]UVROIGGBGKFEFNMTilkuucaliWQNMPUTWUIHP:zõt769UZ\khhVZ^^hsddcb^K=>=9]ÊîæÝßëß×××Ø×ÛëÛÒàê´txxwry}zy{{uzwxtqkb``[[ibUOWY`ZXSNOXUZe_`XPNUQLE?>IWaW[dind[XY`adjmlpf]iyvqmfikW‡òƒUT\uvpsjfVQONLKJKNMSZF/17T»Ý½yˆç¼zvtst¶é€o¸Ò¤uvs}~}tx{zsvz|xxna[bfcaa_TWXYSQPONU\YTYYSNQXSQU\]rƒzclxmZTW\]_ahfn~ƒ‚‚„}€„‰ˆ‰•³”‰ƒ|}rsqh{zzyyyxy|z|‚k-/5V¢æÜÉÊëç¾±¯¥®æìÉÎßä‡pww{{}uu|uqwz{qvlc`_e`\`_YZTURU[\QOXVNLNS[YWYeyƒ‡‹†earkTPY\\[\fikv}{|ts}ŠŒŽ’‰…ˆ‚nqplohppprtvwxyxxzn?:>`‡¿¿®´¼ÅÇÃÆÎͼ°®³Å¿wtyzutvyts{tsxvvssnlmklkmrpoplpyˆ‘†ˆŒŽŒ††’°•}|}y}}namnbW[`_][_geirfeadcs~z…‡†„„~{sagpmjgljklnprsttttvssu~~}~~}|~{{}ˆ–’‰…{rtxxxwvtsrqqrstsrqpmkllmnqsvyzyzxtsuwvxz}~„˜¥´³ª—ˆzqjjklmlifa]\]ZY]^XY\]]`fhegdceoohnkf^itntxnllklnoqrrrrqqrtxz}~}|{{ywvv}Žž‡opqtwwvwvurqqpqsspllkjhhjllmpsuvuutsrqpqooopv€ª¯­¥ž€rggfda_\ZVZYVWWWVXWVW[XWXYYVTTUPZZbqysoljiijlmopqonnnnptvyz{|{{{zywusr{…zˆžtnorstvutrpnmliglmljeeeceedhklnqstttsqommmnnopt|Šš®½º¤Štkfhhgc_^]YVSRTSRSW_bUUWZVVUUSSUSYxuqmjiiijlnoppoooooprtuwxyyyxxwvusop~Š•”}{qonprx}‚†‰‹ŒŒ•˜——“‘Œˆ€slgbcdgknpsuvutqokkmoqomllyŽ©¼¾°›‚rjiigebb[VZUUTTYWSSUZSTT[XUUTSwvvsokihhhjlnoooprsrrrrruvvvwxxxxwtspmm¤¢„Ž§­¯­®®«ª¤££  £¦¦ª¬«§£`babceimqttvwvtplkjloponlq”°ÅÁ¨‰rhhjjifd`_[XTSSSRRSTTYUTVVWuuvvtpkgfegikllmnopqpqpooprtuvvwwvusqpppnrŸ§ œ”‰~uqlgefic^]\[\binsw‰p`aa_^^`dinqstuvusojggkoomkhiyœÀ̵skijkjigeb^ZWTTRRSSTXTVUUuuuuutqkheefhiklllmnnoonmmoprstuuvwtrrqqn£mc\UQOMPXcn‘²¦yja][XVSMBQtgcabb`^_adinprsutvvrlhhjkmonkis¬¿À¦ˆskjkjjgfb`]ZVURPU[STSSqstuvvtqmhdddegijjkklmmmlkllnoqstuvutssrnvBJMS]cjbB?>?BA;8;gvuqmfP43NlCdfinonkifdefd`^`cgjnoqsttsroiddfijkjieh{¢ÆϹrllkjhgfeefdbfikmoqstssrpmiecbbbbdfghjkkkkkjghikmopqr‹PeN7jpgZOR_{™‡u‚|I82OncT52:J[ecejlonkhfeeec`_adhknopqrstspjecgjjjkkgeuš¼Î½œ}mlljjheffd`dgkmoqqssrrpmjfba`aabfhijjjjjkjhfijlmosƒF|@123345DRYNNOECD6;Oxm\:OZ‚Œ{<625‹oSlklkheba_beedba_]\\]\[[\\^bdhiklkjkjfb_bdfhiiigcbtŸÉÖÄ–pÊÁr[degiknopsqopomhca`_`abcdfgghhijihfbOP:I@f™¢§UH=2222333>P˜¢zA410qKjkklkjgd__acefdca_]__]^\Y[]`dhjkmnoonlfa`bfhijiiidcy ÈÕ½½Í³_Z`cgiklmrqoqrolgca`_``acdghiiikjigc|S–JJMIKs~rQKJ>9::8656MŠ™eJ751X¤Mdlkihmkjeb``cgihfdaaaaaa_\[^cgilnopqqoomhcbdgjkjjiheduÆ­ÁΟZ]behijlnoprqpolid````acdfghhhkklkhn_–JLQIz}—^EHGFEFFDB@T™QA><2M¬R[mL>>Nkllifaacfhjigebaaaa`^]^`bgiknprrqqqmgccehiiiiiifdu~µÄÎX^cfgijlnoqqqpnlhda``bcddeffdPFCj‚Wb˜NdxFrYIFILTXZTLTIU]r‹mH>8<1El7MZ:?96gllkjida`diljifca``a`_^]^`dgjmooqrrpolhbbdfijjjjifQ’»ÈÈsY`cfhjknopqqpnmlic````accdfY6<8UoHBVBRT7?A@AJTVSNIF@9>9B[WOPI6466==6331>ikkjkkiebaadhiigca_^^__^]]_adgjlnppppopmhbaehjkjjjYy°¿Í³b[bfhjklnoppppnmlgba`_`aabeW0243;DC463127;=84333345568756;:;;9:J\=;997666666666666677667777899K~UZhpiqž×³€oibXUVD;>=951-26bhefgggda_`ceedddccdefgfgffdca^\]bikkkjieb_^][YZZXJ]mnlkjle\RLN›ÄÈÖŸZ`ceghhijjkllmkjifa_I-0..137EFhqjhoosqeZOKJw¹ÁÐËq\befghijkklllkjih^2-/./36@EGN]qqÏÛÖÏÉƾ¹¯¢[?>51f¦dKS[cx•———¡¢¤¤¦§¥¤ ·ÚÚÎy]bbcdeeeggfddeeeca_]]bfiighe][[V=?AuxnkqpolooYLKP“ÀÄÕ®_`defghikkkklkkjja4/..4AU²¯J-,/AJKKIHFEDA@?BELHi¨×¹¬²³±°ª©§§¥¢  ¢¢£¥¤¢£££‰bbbcdeeeeffddeefeca_\[_ehhhhc]\W==@rojhlmhfhidMKI_®ÁÉÖ‰Zbdffgijjjkllllla36..0?tñ׉oxƒª‰˜Ÿ£¥ª¬¨¤¤¥¨±—›˜‘‰…‚~|xxxwwwwwwxyz}”y`aceedddeeeeefgfecb_\\`fhhihd`Y>heahflqtpss_LKZh¿ÄÕ¬bcdfhhikkklmmmld0:0-,/15EG7:@I74432.+.1012:›œcXZ\^`bdfmry‹—†…}|zxyyztfsr\^_beedeefffffeffdc`_][`cikjkhD<?@AAEGJMfmMKHGBl¶^ez€ƒƒ}~~ˆ‚…Žmcyƒ~‚‚€€€x{cs®À©ibdddddefffeffedba_\[]dijkmI;9ztqpuqkknkgjeLJKIw¼½ÎÊu\beefghhijklj]-;4-+*-//013347789=IH952/1Œ¤cfy‡Œ“œ¡ª¬°M3447`·ÍÏËÄÇÉÆ«|bT¶äá ^bbcccdefffeeeeeba_\Z]chkmJ66x~qkjigijoi`NILKM”½ÀÔ­[^abddeghjkg\R,96//6,***)))))))))))**)'C“ŠMq–ÑÖØÛÞßàä˜V`TNOR¾äàÝ×ÕÝàÒd|Kkxomaabcccddeefdceeecba_\Z\chlI44qvsutkmfllnkjcVLKHc·¾ÉÓ~W^accdefff^UP+8632VP=6200/+********.11c™yMr’äÜÛÛÜÛÛ߈ZhckQP²âÜÚÕÏØÞÓRn\Ye]]njbbcbccdddccdddccba^[Z\cjH32nurttlnhijjknshOJKM—ÃÅÕ¸c`cdefeeddaXR/85613HEB=564,***+,.27G24545;M`P3588:sK]ab`Œãðè˜_bbcbacccbbcdcbbb`_B#-jpvtpsqlnjkigiraJJKLKc¸ÉÌÕ•_ddeggec`]YUQPPQQQQQPQQRSVVXZ[\\Yr€`PkF>859EH=7:6232124541S›s6<743fYUabba‘°¯¢e``aaacccbbbbbbbba_B!+qwuoijmmlgijtrue^XLKMO‹ÉÇÐÈrbefhifcba^[YXXYZYXWTUUUVY[[^aa_g ~‚XWaDRLBQ[YPHMN>3222339FY‡bJOL=3PbL`a[^`aZ[`_``a`bccbbbbbba\UO; *hijga`ciiqyxrtnjncRKMR^´ÇÆÖ¦befhjfedba`_^^]^^][XXYYZ\]_gjigzŸuyP^[JRLFFGIFFEKP80117>DUZeiTLMUL:CTK_Vmˆzk^`aaabbbbbbbaabbaRKJJ9!*smlmjuoqhsrtts|~j\SKJLKÇÃÏÒ‚beefeddcba````a`_^[YYZ[]]]hgaefr€uPMUONFCCEFHHEAHEB<8CRQOSRSSLD?G>86I^Nw¢{]Waabbbbcbbaaa`^][NJIJ: )†z~€yw{wihoyxx{se\RKJKJS¤ÇÇØ·c`bcccdddcbbbbbaa`][ZZZZZ\\d‚™®ˆylV6>A=CSZ]WIE>E]IC:6;GOPMND>:9;>@CFReaNyPK[`__`bab`aaaa`ZXVUOIJ<(†}t~ysqjlsmjgoibbaULLJ]e¾ÃËØŠ\`acbdedccddccbba^]\[ZYXZTSs„š‚okY@;<@JSRIEBABPPHJHKMPUWXXUTTVWY\^__djVPQ\`____bbaaaabbaaaaa]OIB")€}xw~xsorb^fp{qijeXLLKW^[žÂÁÖ¼c_acbcddccddddccb`^]\[YXZZPOV|…xnhZ[ZZXVXYZZZ[ZZ\[[[[ZZ[[[[ZYZZZZZ[\aWBGcb``___defdccccaaa``_WI>(-††††††‡‡‡…†‡‡‡†††‡‡‡‡‡‡ˆ‡‡‡†…ƒ‚~|yuttswywyzzy{{zwuyyz{zyyz|~€€€……†……††‡†††††††††††‡‡†‡††††…„{xutsvuvyxxywy{yywtwvxzzxwy{~€€……………†††††…†……†……††††……………†…„‚€€{uvwxwwyzxxwz{zyxvvuwyyxxyy|~€€…………††……††…††…………………………„„………„ƒ€}zyxwwy|{yxwz{{{yxvvxyyyzzz|~†„ƒ…†………†………………………………„ƒƒƒ„„…ƒ‚~{yxwy{{yzzz{{{{yvuxyxyzzy{~€‚ƒ€ƒ„„„…………………………………„‚‚‚‚‚‚‚~|yywyz{yy{||{zyyuvxz{zzxz}€€‚‡‡ˆ†††ƒ„………………††…„„…‚€€€€€|}~~{zywwwxyz{||{zyxwvwxxzzy{}~€€€€†ˆ‰†ƒ„„ƒ…††……ƒ„……ƒ}~~€~}{{}|zyxwxvuy{}||{{yxyxwuvxyy|}~€€‚†ˆ„„…ƒ……††„‚ƒ€}{z{{{|}}}~{{z{|zzzxxyxwzz||}}|zwyyvuuwwx|€€€…ˆŠ†ƒ††€€ƒ„‚€zwwwwx{{z|{yyxy{yzzxxyyz{{|}}~|zyyxwvuvuw{~€€~‘‘ŒŽŽ…~‚‡‡‡‡ˆ‡xxxvvzzxzyxxxyzz{{xuwxwz{|}}~}zzywywutvw|‘Š€…Š‰‰‰Š‰ƒ|yvwwxxuvvvuwz{|zzyuuvwy{{}~}zyxwwyxwwy{~€~~………†…ƒ…‚„‡†………‡„xvwvvurtuuuw{|}zzx{{yzy{|}~}zyxvwwwwy|‡€}|€€~~‚‚ƒ‚‚‚‚ƒ~wvuuttstutuwzyzyxz|{z{y{}~~~~{xxxxz{~€ˆ€}{~€‚€€~€€vttssrsttuuvxuxyx{zyyyz|~{vwxx{~€}}}|x}}|{}‚~€€€€~vrtssrrstvwvwyyyz{yxxxz|~~|wsuvw{~}}}~}~|wr}}|}}‚€€€€~€€}urssststvwxwwxxyz{yxxy{|}yzxvqpponqrpqrvz{wqnm||}}|~€€}|~~}vtsuuvvuwxyxyzz|||z{zyxsnhonrtromhfgfdffhfegil€‚‚ƒƒƒƒ„„ƒ‚ƒƒ‚‚€€}}}}}}~€€‚‚‚ƒ‚}xutxyzyyxxwxxuqpomlnommˆ††ˆ‰‰ˆˆˆ‰ˆ‰‰ˆˆ‡‡‡†ˆˆˆˆ‡…ƒƒ‚‚ƒ„ƒƒƒ‚ƒƒ„†…†…„ƒ€€€€‚‚ƒƒ„„ƒ„ƒƒ{v‰ˆˆ‡†‰‰ŠŠŠ‰ŠŠŠ‰ŠŠˆˆˆˆ‰Š‹‹‹‹ŒŒŒŒŒŠˆ„ƒ‚‚‚‚ƒƒ„‡‡†……‚€€€‚‚‚ƒ„„†…††‰‰‰ˆ†‡ˆ‰‰ŠŠŠŠŠˆŠŠ‰‰ˆ‡‘‘‘‡„ƒƒƒ€€‚ƒ†ˆˆ‡…ƒ‚€€€€‚‚‚„„…†‰‰‰Š‰‡†‡ˆ‰ŠŠŠŠ‰‰Š‰Š‰ˆŒ‰…‚„‡‡ˆ‡‡‡ˆ‹‡‚ƒ‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€€€€€‚ƒŠŠ‰‰Š‰†††‡‰Š‰‰‰‰‰‰Š‰‡‡}~ƒƒ„ˆ‰†‰‰‡ƒ€‚€€€€‚…ˆŠˆ†ƒ‚€€ˆ‰‰ŠŠŠ‰‡†…†ˆ‰‰‰‰‰‰ˆ‰†‡‡„…ˆˆ…‡‰†‡‰…†…€€€‚‚€€€€‚„‡‡ˆ‡ƒ€€€€€€„‰‰Š‹ŠŠ‰††…†‰Š‰‰‰‰ˆˆ†‡Š…„ˆŠ‰‰Š…~„ˆ…‡‰†…ƒ‚ƒƒƒ‚‚‚€ƒ†‡‡†„‚€€€†‡‰‹‰ŠŠ‰‡……‡ˆ‰‰‰‰ˆ‡…‡ŠƒˆŠ‰‰Š„}„‹†…‰‰ˆ†„‚‚ƒƒ‚‚ƒ‚‚€€€‚ƒ†ˆˆ‡†‚€|ƒ‡‰‰ŠŠ‹‰ˆ†…‡‰‰‰‰ˆ†„†ˆ†…ˆ‰‰‰ˆ‚|„‹ˆ…ˆ††ˆˆ…ƒ‚€‚‚€€…†‡††…ƒ||†‰‰ŠŠ‹ŠŠˆ…†‡ˆˆ†††…„…†‡††‡…„„„‰Š‹…ƒ„ˆ‰ˆ‡„€‚‚€€€‚„†‡ˆˆ}}~ƒ‡‰‰Š‹Š‹Š‡††‡‡‡…‡Š‹ŠŠ‰ŠŠŠ‹‹ŒŒŽ’‰„‡ˆ‰‰‰ˆ†ƒ€€‚‚ƒ‚‚€€‚„‡‡|}}„ˆˆ‰‹‹Š‹‰††‡‡‡‡‹ŒŒŒ‹Š‹ŠŠ‹‹‹Œ‘‹†ˆ‰‰‰ˆ‰‰‡ƒ€‚ƒƒƒƒƒ‚€€€€€€w~|~†‰‰Š‹Š‹Š‰…†‡‡ˆ‹‰‰‰Š‰‰ˆˆ‰Š‰‰‰ƒ„‹‡‡‡‰‰ˆ‰‰‰‡„‚€ƒ‚‚‚ƒ‚€€~x|pz}}‚ˆ‰‰Š‹‹‹‹ˆ††‡‡Šƒ…ˆˆˆˆ‡†‡ˆˆˆ†~€ˆˆ‡†ˆˆ‰‰‰‰‰ˆ‡„‚‚‚‚‚‚€€hm|}{~ƒ‰‰‰ŠŠ‹ŒŠ‡†…„…ƒ‚„ƒƒ„„…„ƒ‚ƒƒ……ˆˆ‡†ˆ‰‰‰ˆ‰‰‡…ƒ€€€‚‚‚ƒ‡jhq|}~†ˆ‰ŠŠ‹‹‹Š‡†„„„ƒ‚ƒ‚„„„‚‚‚„…„…ˆˆˆ††‡ˆˆ‰‰ˆˆˆ…ƒ‚€€€‚ƒƒ…kjkv€~}ˆŠŠŠŠŠ‹‹ˆ†…ƒ„†††…„„„‚†…†ˆ‡‡†„…‡ˆˆ‡‡ˆ‡ˆˆˆ‰ˆˆ‰†„€€€€€‚„ƒ…nnms€}}…‰‰ŠŠŠŠ‹Šˆƒ‚„‡‡‡†ƒ‚‚†ˆˆ‡†„…‡ˆ‰ˆˆˆ‡‡ˆˆ‰ˆˆˆˆ‡„€€€‚…„‚oliny~|€‡ŠŠŠŠŠŠ‹‰„ƒ„„„„‚€„„†‡‡‡ˆŠŠŠŠ‰‰…„ˆˆ‰ˆˆˆˆˆ‡…‚€„„€jkhikz€}}ƒˆŠŠŠŠ‹‹Š†€‚‚ƒ‚ƒ‚€ƒ‰Ž’”””••”•”‘‹‰‰‰ˆˆˆˆˆˆ…‚€€‚ƒ€oniges€~|~…‰ŠŠ‹‹‹‹‡€‚ƒ‚‚‚ƒƒ‚€‡‘–”•”’’“’’‘’’‰ˆˆ‰ˆˆˆˆ‰ˆ…ƒ€‚€mkhgfk{~}€‡ŠŠ‹‹‹‹‡‚‚‚‚‚‚‚ƒƒƒƒ„‹‹†„ƒ…‰‰„€‰‰ƒ†ˆˆˆˆˆ‰‰‡…‚‚€fgghhiq~€~|ƒŠŠ‹‹‹‰‚ƒƒ‚‚‚ƒƒ„…‹„{zxy†ŒŒ„yzy{†Š††ˆ‰ˆˆˆ‰Š‰‰†ƒ‚‚ihgfghhu€}ˆŠŠŠŠŠ€€ƒ„„‚‚‚‚ƒ„‡Š…~}|‰‹Œ‡|}‚‡ŠŠˆ‡‰‰‰‰‰ˆ‰ˆ‡…ƒ‚‚jhgdgihs€~~„Š‹ŠŠŠ‡‚€‚ƒ‚‚„ˆ‰‡‹Š‰‰Š‹‹Œ‰Š‰Š‰‰Š‰‡…‡‰‰‰ˆˆˆˆˆ†„‚ihgfhkin|}€ˆŒ‹ŠŠ‡„ƒ‚‚€‚‚…‰‡†Š‰‰‰ŠŠ‹‹‰„‚‡‰‰‰Šˆƒ„ˆ‰‰‰‰‰‰‰ˆ…‚jjjjiihlt€}ƒ‹Œ‹Š‰ˆˆˆ†………………†ˆ‹…„†††‡‡ˆŠˆ„}}ƒ…†‰‰ˆˆ†ˆ‰‰‰‰‰‰ŠŒŠƒlkiinkhkr}‚}‡Š‹ŠŠŠ‹‹Š‰ˆ‡‡‡†‡ˆ‹ˆ…‡……†„„†…ƒƒ‚…‡‰ŒŠƒ„ˆˆ‰‰‰‰‰Š‹Ž‹„lnmnqpmpt}~}}‚‰Š‰ŠŠ‹ŠŠŠˆ‡‡‡‚‚…‘‘’’“••—Ž„†ˆ‡ˆ‰‰‰‰‰‰Š‰„zzzzzzzzzzz{{zzzzyyyyyyyyyyy{„ƒƒ„„††ˆ‡†††ˆ‡‡‡‡†††††……‡†„ƒ‚ƒ‚‚yzzzzyzzzzzzyyyyyyxxyyyyyyyy{‚ƒƒƒ‚„…††………†ˆ‡…………………†…††…ƒ‚‚‚yzzzzzzzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„………„„††‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚zyyzzyyzzzzzzyyyyyyzz{z{{|zz{~€‚…„„„……„ƒ…†‡‡…„„ƒƒ„„…‡‰ˆ‡…‚‚‚‚€€x||{zzzzzzzyzyyyyyyz{||}}}||}€‚„„„„………„…‡‡‡………„ƒ„…‡‡‡‡…„‚ƒ‚€€{‚~|}}{zzzyzzzzzzz{}}~~}ƒ‚‚ƒ„ƒ„……‡††‡†…………„„…†‡‡††ƒƒ‚‚‚€€€~|{zzyz|{zz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡†„…†………„…††††‡„ƒ‚‚‚‚{z{{~~|z{zyz}{z}€‚ƒ‚€‚ƒ……„„„„……„„„…†‡†„„……„………†††……„ƒ}tsv€~~}~|{}€€„…†…„„ƒƒ„‚ƒ…‡‡……………„„ƒ„…†………„ƒƒ„„„…†††…„ƒ‚‚ƒzyz‚~}‚€€€‚‚ƒˆ‰ˆ‡†…„„„„…‡††††………„………†„„……„ƒƒ„ƒ…††‡†…ƒ‚‚€‚‚yyyz{zy€„~|||~…ˆ‡‡‡…„„……†‡†……††…………†……†……„ƒƒƒƒ„……†‰‡…‚‚€‚‚yy{{z|{~|{yy{|€‡††‡†……†ˆ‡‡ˆˆ†…†…………………‡……„„…„ƒ…††††„ƒ‚€€‚ƒ††‚~~~„††††††‡ˆˆˆˆ‰†…„„„…„„††‡††„…„„„†‡ˆ‡„‚‚‚‚„†„„„„ƒ‰Š…€€€€€€ƒ‡††‡‡‡ˆ‡‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚€‚„†ƒƒ‚‚‚ˆ†ƒ€‚ƒƒƒ„‡‡†‡ˆ‡‡‰ˆ‡‡‡…„…„„„††‡ˆˆ†„ƒƒ‚ƒ„†ˆ‡†ƒƒ„‚€‚……†ˆˆ‰‡†‚‚‚‚‚€„‡‡‡‡‡ˆ†ˆˆˆ‡‡†„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€€‚ƒƒ‚„ƒƒƒ„„„ƒ‚‚ƒ„ƒ„‡‡‡ˆˆˆ‡ˆˆ‡‡†…„…„ƒ„…‡†‡‡…ƒ‚„ƒ‚‚|||~~€ƒ‚€ƒ„„„„‚€‚ƒƒ†‰‡„……†‡ˆ‡‡‡ˆ‡†………„ƒƒƒƒƒ†‰†††}}z{z{{{{||~~~~€|~~€€€‚ƒƒƒƒ„‚ƒ……………„ƒƒƒ‚€€€‚……„……€€~~~€€€€€€€~}}}}}}|}}}~€€€‚‚€€€€€€€€€‚Š…ƒƒƒ‚‚‚€€|}}}}}}}||{{|~~~}}}}|}~}~}~€€€~€ƒ„Š†‚€€€€€€|{}~}}}}}}}|{|{}}~|{z{{}ƒ€~|z|€€€€€€€~ƒƒ‚‚‚€€€€€€€€}{||}~€~~~}~}}}||}|~}|||}‚~}~}|~€€€€~~~€‚ƒ‚‡ˆ€€~}}}|}€€~~}}}~}|||~~|{z{{|{x{}|{}€‚€~~‚…†‚‚‚€~}|||~~€€~~}~~~}}}|}~~zz{{y|~{}€‚€~‚‚‚‚‚ƒ„€}}}|}~€€€~}}~~~~~~||‚ƒyxyyy}ƒ||~~€€€€‚‚‚€~~€‚ƒƒ†Žƒƒ€~~}}~~€~~}~}~~~}{{‚ƒzyzzz‡|{}~~~€€‚‚‚‚€~~}„„ƒ€~}}}}~€€~}}~~}{{~zy{{|‡€{|}~~~€‚‚‚‚€~€€…„‚€~}}|{|€~~~€~}~~}}~ƒ€||}€}}}~€‚‚‚‚‚‚€€}}~“‰‚€}}}|}}~~€€}}~}}}~~~}~~}}|z~€~}}}~~‚€€‚}ƒ„ƒ‚€~}|}}}€€~~{|{||}|}}}}}}}}||}~~}}}~‚‚€€€€’¬¤ƒ„ƒƒ‚~}}}}}~€€~~{ƒ…~}}~~}~~}~}}†‰€€€€~~}}}}~€€€€‚˜ºµ‚‚‚‚‚}}}}}}}~€€‰‘‚~~~~€~~€ˆˆ€€€~~~~}}}}~‚‚€€†•‘{}Œ‚‚~}}}|}|€€€€‚„ƒ€€„„€‚‚€€~~~}}}}}~€‚}{‰ˆ‚ƒ~~}}||~€€€‚…ƒ‚‚‚„…€‚„ƒ€€~~}}}~~~~‚‚‚ƒ||€‚ƒƒƒ€}}~}||}~€€€€€‚„‚€}€‚€€~~~€~~}~~~~‚‚‚€‰€~‚ƒ‚‚ƒ}}}||}}~€€~}€€€€}€€~~~€~~}}}}}~‚€€ƒ€|‚‚‚ƒ‚~~}|||}~€€€~…ƒ„……†ƒ~€}|}|}~€~}}}}}~}€€€€~z|}€‚‚€~}}|}}}€€‚ƒƒ„‡ˆŠ‰ˆˆ…€{yxwwvvuuuuvy|~~~~~}}}~€€‚€€~zyz~ƒ•ˆ‚€~}}}}~}€‚‚‚‚ƒƒ„„„…ƒ}yxwxy{}|{|{{z{~~}}}~€Œ€~yxy}„Š…‚~~}}||€€€„ƒ‚‚€{|}}~~€‚€}~€€~~~}}~~€‚€‡€~zxxz€‚‚‚‚~}}}|~€€€€€€€€~||}~}}{xy{}~}~|{~~~~}}}~„~zxwxz€‚‚‚‚€~}}}{~€€€€€€€€}}}€~ywvy}€{{}~~~~~}€€ƒ~yxyzz~‚‚‚‚€~|}}~€€€}}}~~~}ywty||{|}€~~~}~}~‚~{x{|{‚‚‚|}}~‚‚‚~|}|{||||zyz{‚„|z|}~€~~~}~}}~€‚€}{{}~~€‚‚‚}}}~~€€€€€€€€}|}||{||}}{{}ƒ„|}|}€~}}}}}}|}ƒ~€„„‚‚‚„ƒ‚€~~~}}}}~€€€}|~|}~}}~€€~}||~~~~~}|{€‰ˆ‡ˆ†…„…†ƒ‚™~}}}}|}~€€€€€~zzyy{zzzzyyxxwwwvuz~~~~}|ÏÏÏÏÏÏÏÏÏÐÑÐÏÎÎÊÄÈÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌǾ¶®¤¡”~rikxkjjmmtcgbV^b\\d]S[`^_UQOSZY_d_dSUVWUVTTYUQW^_\XTME=7;<632@2ÏÏÏÏÏÏÏÏÏÏÐÏÎÎÍÈÃÇÃÊÍÎÎÎÏÏÏÏÎÎÎÎÎÎÎÍÌÌÌÌÌÌÍÌÍÌÌÌÌÌÍÍÍÍÎÎÆ· ¦šxƒz€t__ao|o]_mjgZYZ[_ZWUO_g_[RPPQYW\ghhPV]`ZQPLQRX_b[WOMK@@75542076ÎÎÎÎÎÎÎÏÏÏÎÎÎÍÌÈÁÅÀÈËËÌÌÍÍÍÍÍÍÎÍÍÍÍÍÌËËËÌÌÌÍÌÌÍÍÍÌÍÎÎÍÍÍÌÀ£Š‰qonolmoot~{`c`cd[[[[\]STV]dYYYWTRUSV]gdQQY[UMNNQQ]c`b[PGB?;952320.2ÎÎÎÎÎÎÎÎÎÏÎÍÍÌÍÉÂÅÁÊÌËËËËÊÊÊËËËÊÊËÊËËÊÊÊËËÌÌÌÌÍÎÍÍÍÍÍÍÍÍÍ̵—”zmtvyu~~gfb]hZ`ee[[WU_YSXffSPTWXRNLVPZhQOUXZPMSPPYb_aWTUOH?<96321.-ÍÍÍÍÍÍÍÌÍÍÌÎÍÍÎÊÁÂÁÌÎÎÎÎÎÍÍÍÍÌÍÍÌËÌËÊÊÉÊÊÊÊÊÊÊÉÊÉÈÊËÌËËËËͽ’†~sam}mdg``aYibYXTTM[`^`po[QOT\TMJTRSYSZ[XUNPQTZ_XWYQOYOI>@A<520-+ÍÌÌÌÌÍÍÍÍÍÍÎÎÎÎÈ»¼»ÊÎÎÎÎÎÎÎÎÎÎÍÎÎÎÍÎÎÎÌÌÌËËÌËÌÌÌÊÆÉËÌÌÌËÇÆÄ£‰z{oh_lppe`b_X]_VS[SSPZgeffdhVPVXSQSTRSXQY]`USUQYZ\YXTSOQPI>@>5550.2ÌÍÍÎÎÍÎÎÎÎÎÎÎÎÎżļÇÎÎÍÍÎÎÎÎÎÎÍÍÎÍÍÎÍÍÍÍÍÊËÍÍÎÍÌÉÆÊÊËÍÏÌÇÅ´šyxpeXTc`Z^a`]a_XTRKNUY_adi^[SOOPOKSQSP^LTTZ[WZY`Z[XSQSORJFC>@;431/3ÍÎÎÎÎÍÍÍÎÎÎÎÎÎÎÅÀÌÂÆÎÎÍÍÍÍÍÌÌÍÍÍÎÍÍÎÍÍÍÌÍÉÉÊÌËÇÄÄÁÇÅÈÌÍÊ¿½­‘€xrTTQROWYmpfac[YMCALYR[ba^VTRJLKHLHOKYORUTVVZ[[[_YSORMWOCGA??40/-,ÍÍÍÍÍÍÍÍÎÎÎÎÎÍÍÅÁÌÃÄÍÍÌÌÌÌÍÍÍÍÍÍÎÍÎÎÎÍÎÌËÈÆÆÊÁ¿ºÁ½Á½ÅÊÉÅ»¯§¨Ž~ur^UVYXhi^ofgaVVRRUTeUN[]SNVXRKJGOPQXWRPXZUSXXVOTYSQVQXX@57220..--ÍÍÐÖÕÏËÌÌËÊËËËÌÂÀÉÁÃÍÍÎÎÍÍÎÎÎÍÍÍÎÎÎÎÎÎÎÌľ»¹­¾ºÀ¶¿ÇÀ¾´¥‹‹p‰zfZ^[]dkVm]U^SNST_^WOOQXQPSVWLLLSSSZg]OWXVVVUZSQZXX]]MC=7540.----ÎÚèïíãÑÊÊÄÁÁÄÆÊÂÀÇÁÁÊÌËËËÌÍÍÍÍÍÍÎÎÎÍÍÍÍÍƼ²¼¸²¡º´¿´µÁ¶½´˜†|{lgbbcbTYd[Uc[RZ]PRRW]UVSMNNKLMSYVOQORRcZNYZXRMOYXXTWQMJ@7=<;72.----ÛíÞÂÍëèͺ´³¸»ÂÃÃÊÆÃËÌËËËËÊÉÊËËËËÌÌÉÉÈÆÆò¬¨­°§ž©®¹¯²º­¬¡ƒvxtkiQ^eZWcZQ]h^Y_YKOQT\_aTPMLLMQLUWKNSNS\]Ya\TPLOYVWVOPXJBC=;;951..--ßã­‘œÊâȹ´²±´³¾ÄÆÌÉÄËÍÍÍÌÌÊÇËÌËËËÉÉÆÃÿ¾²¡›™£¥š—Ÿ­­¬«¨¤˜„snlhjn^WYU`aVV\[Z_VSXTRTT_WQSONSVRSTWQOWPRZaX^WY\V]_TTZWSQ@?G;7677520/.Š‡€€€ƒ“£³ÀÃÅËÈÂËÍÎÎÍËÇÃÉËËËËÈĺ´¶µ¹¬ –Ž˜š—”¡³®«¡™›‘xieeVhbSLHOW`YRR^h``oa_c^TXNQPOPRVQUQSZRZOO_^]h[b^ihaSPNMJKA=A8755454/02“iWYUp‹ˆ‚|«ÀºÃÈÇÀÉÍÍÍËÉÁºÆÊÊÈƽ¬¢¤¥œœ—ˆ•™’’«­’‘ƒvedhZ^UPSQQZ`^[io_QUdOXqp]QNKNMKHJLLNMMQXTX^TRXX`g^]XOIMGFECHB8644344014ª¯½žhQsºÖà×Ã…Œ¸³¿ÇƹÂÊÊÌÊÇ¿´ÄÊËÁ¶§™œž•™—Šƒ—”ŽŒ‘™‘Š‰‰ƒ~vupcXSX]XOY]VT]h]RP_ggb`]SRMJJHIGGEFNMS][W[VO\ighV^TMUSHIA?A9854423337£½¡y77‘ŸMIKN?gx¤±¤œ ª¶»¾ÃÄÅü¹³¬ž š’—’Ž‹‰ˆƒ}‚z‚‰…y|zyqiie[VYRY^YT[Z]ZVZ[[]ZUPJVUNLOKADFFA?GHIQKRSY]aXbo]_PY_[IEB@><856669=@=Qb\M87S^T„kC7Xl°w‰³¼ÎÌËȽº¼¾ÁÅʽ—Ž‡Œ‹ˆ…‚‚z€‡}vywrsnkgY\cacYSSXW]^aXT\SX_[VPINLNIBDF@?FGDAPHVX[W`aa]RcbVWXSMHEG:75667<=FFFCFLECBT`lcLCFU´blØ©gYVRPQKMLMQWw ŒŠ…ŠŽŒ„‚‚ƒ{~Œz€yvrstpidX\db\RUOQ^fcdVNSSi\cXMRQOJHDJTJCJLMFPQ]^ZM[ddeU`cVOW^REAA=:8767;@KBllkhhijpwwuoifg|²Öä}>FHIWgONPNMHD—Œ…ˆ„Ž—‰‰~†ˆ‚~Šy{xvuuxucWRZX[WZXNZ\^`ghknqlQ\]UNQQGFEPXQQOOQIJVY^ZNN^[`^^gfV`UA::<=<:;9:==>;VVUUUVVWUWXZ_ai}ÔëÊ`KA=>Yfb\KB@E:x—€„ƒŒ˜ˆ„‰|ƒŠŠ†ˆ‚|xww{uup`X^`TVTUWaXPN`sƒuc[\fQTNMRSNNJC@MTRRTSN\edeZSYZ_\T\XUVH<99;;78:98===>CC75676Rµ¼‰‚‰}‚€‚‡ˆ‚€ƒ~vtuusqsg\_[NPZZ[]TT^bg_^U\caSVNKKRKGA?>=UQTTT]ZSTTR\}n©†ªÛšFPX^]_`_de_[XQX¡âò—|‚~y€…„€{€{wrvyytokg\TMKYW\SSX\[XIX_Z]XYaXKMTOLILOOOTVXV[of[[[ZWZYRWLNK@773b}97988;AECE‚PZ`f˜‰b_YS¡ðÜù§x±´¹¼ÂÁÂÃÃÅÿ¹»Çµ­‚z}~|}|€ƒ€}xxpnxy{riacTRSEAMWXVY\OKIVZ\]U[e_SNLJKOMNJHKNVXZ^a[^XVSWOKMIB<8776Vˆ?889;;>HJH‘EHL\»žPLIJ±ïÝì^ºÖÕÕØÚÚÚÝßÞÝÜÛÙ×ÕÙ¥syzx||~{~„„ywxmiouyoha^PQTGJQUX\UPSQTU[VVWZa]SLEDBEHIFFGJSV]\VMVSUSSNGFD=96686Ww@98;=?>=<@KPVbZSX[SW[PMG<;:87782†ßM16;:;BIJJÝçèêêéåãâàÞцPI@YÍÝßêêìãÓÏÝØÂÄÝëæâÙÕštyzzvz{}~|~|xtwvjltlhg`O^j\VTZ[YSPXZ[b_XU[ZVNHE@@?><79?DIJ[iXU[Y[]WHDB:58887:4ƒäP/8<=BHHDQâïñóòòóóôñðÞNKCUÏáçêäëÁ“–ÃÁž™ÅêãâÝݧtxwyyx{}z|{€|xxuniphgdb[hqc\NQ\ZVSU[W_ZV[eZPJCA@@CA?>CIC>L[li]MQgRHB;;:8;;99>8tÛW2>DSQJV_^lmRVXKB;666;@BA>A:;?FMIB=?:sñm9<4=IIX`lwt~‡‹œ‡‰”rUJJHJ¡îíîïììññðññðìíñîîã‹v}}jz~y|ws€~zspmkihecnaTW]YW\TPURTR\^Ze^VVROIGGBGJFEGONTillvvdbmiWQOMPUTVTHIP=rót769U[^ljiW^``evkecaaX@>@:C‘êåÑÈäáÀ¿¿ÀÀÀáß¹Íâ܃vzyry~{z}}vzxyuskb`a\\jcUOWZa[XSOOXU[e`aYPOUQLE@>JXaV[dipe[XY_cgknlpf]hxvpmeijY‚ðƒTT[vvqvlfPPLJIIIJJKMVP4/3A|ÞÉ’f½ã…omkj…å²UšÉÏ}tt€}uy}|tx{}wypdZbgdbcaUWYYTSQPNU\YUZZTNRXSRU\\rƒzclyn\TX]^`cigo„‚€ƒ…|€„‰‰Š“³•‰ƒ}}strh|{zzz|}{{|{~}A+1DhÕçÜÒÞïÔ»¶°¯ÐòÜÍÚìÀkww||vv~wrx{|qwne``g`]a^YZUURTY[QPXVMLOU[YWZexƒ‡Œ†ebslTRY\\\^gjlv€~|}vt}Š’’Š…Š‚€orpmphlmnnotvvuvxxyK46Ij »¬¦¶½½¾ÂÎÅ° Ÿž¦·‹kz{vtvztt}utyvwrrnlmkmklqonokpy†’‰ŒŽŒ„„‘¯•|z‚~z€mamobV\`_][_hgjsgebedtƒ|…ˆ…„Ž†{sdhpnjgiiijknqrpqqqsrnow‚}~~}~}{|‰–’‚‰†yqvzxxwvttrrqrttsrqonmlmnpqswyzyzxutuwwxz}ˆŽ˜¥´²©•…yqklllmmjfb]\][Z__WY]^^agjfgdbdppjokg`juotyonmlloqsttsssrstx|}€}}|{zwvv~‘¡ ‹qqqtxxwwwtqqqqrstsolkiiiiklmpsuvvuttsrrsrppqxƒž«¯¬¥qfggea_\YV[YWWXXWZXWX[YWXYYWUTVQZZcqxtolkijkmnopqonnnoquxy{||||||zwvts}†{† ”vnpsttvvusrpoppmlmmlkihffffhklmqtuuutronnnonoqv}‹œ°¾¸¢†sjgiihc`^]XUSRUSRTW_bUVX[WWVUSTVSXyvrnkiijkmnoopoooooprtvxyzzzyyxwvtpp}–”~|sqprssrsqpongfjllljigdca`bddgkortuvvtqnllnoponmn{“®¾¼¬“rjjkgdbb[V[UUUUXXTTV\TTT[YVVUTxxvtpkihiijlnoooprrrrrrtuvwxxyyyxwusqmm~¤¤€nprv|ƒŠ—ž¡Ÿ¡¥¦¦§¦¤ —“…{pccbcdgimqtuwxvtqmljmpqpnmsƒ™±ÄÁ¥†rhikkifea`\YUTSTSSSTTZWTWXXvvvwuplhffgiklmnopqqqqppoqsuvwxxwvvsrqppootš£¬¯¯¬«¦¡š–“’“““•˜ž£§¦Ÿv`ba___`djorstvwvtpkhhloonkhj|ŸÃ̲Šskijkjjhfc_[WTSRRTSUYTWWVuuvvvurmhffghjklmmnnooonmnoqssuvuvwusrrqpm’®™–Ž‚woia^]_jrh_\YUUWZ`fk„kdbba``_aejnqrtuuvvsmhhklnooljv”°ÁÀ¦‡skklkjhgd`]ZWURPU[STTTrtuvvvurniedefhjkkllmmnmlllmnpqstuvvutsrpo›~[VQONMOWbfr«‹g``d_]ZWK?Ztjgcaaa`a`adhknqstuvvtqlhgjmnnlijv“¶ÉÂ¥…qlklligeecb^[WTUTTTmqsstutrpmidaacdghijkllmmlkjjkmnpqrtttsrps†MFNT^gmsP:9553543IqssqofK=conkgdb`aa_]_bfknprsttttrledhklmmjfi¨Êβ‹rpljihggffeda]WTWkmopqrsrrpnhca`abdegijjklmkjiiiklnprrstspq;Su…˜œ¢vMH9206BDGHEDDCHQFGlmnolidbbcb`]^bgknpqsstutqjcdgjllkiffx¥ÌÑ´Œrlmkigfeggffa]\jkmoqrstsrqnidbabbceghijklklljiijlnpqstsr‰RF\ª­±´µ§›‹t`ehVGB64:?72:eC]ginpomjgefgda_adhknpqstttsoiddgjlkkjgh}¤ÇϹ‘tlmlkihgfffebhklnprtttssqnjecccbcefhjkkkklljhijlnpqrrx‡AcA–»¶³¬¥¤ ½Ä‚{®{A84DNG:44g]Lhdejmooljgfffdb_adhlnoqrstttpkfdhjllmlgfwœ¿Ï¾œ}mllkjiggffbfikmprsttsrpnkgdbbbcdgjjjjkkllkigiklnop~sJq2Jd]TFE^gl~wnx]>0?:0v›@ja><:Vmmlkid`aejlkjgdb``aa`^^^`cgkmoprssqpmgbbegjjkkjjeO»ÈÈtYadgjklmopqqppmlidaaaabcdefgWEALŒiD—iRˆYTkHEGKRXZ[PRPP[_y~WE:980WU4WI9?3Dnlkkkjfbbbeijihea`^^`_^]]^aehkmoqqqqpqmgbbeijkkkjYy¯¿Í³b\cgikllnopppqonlgca```abced=8<=3/_M<;9877767666666566667777899:<@J7Qeihhhijjjjkkjjhda_adgjjie`]\]]^]\\\^aehkmoqqqqqpmhdcf]RKVšºÄÄuT\`cegiknnoonnmlhdb`__abbdfg’ihggggec``cedcedddegggggggfca_]]bjmmlkifc`_][ZZZZZHvoomkklf\RMM™ÄÈÕŸZ`cfghijjklmmllkifb`\@/.,0.03KHBlwQeoqi{ºÙ›zkiaXXU==?:740.1BkiggggggfdbŒuaddcbdefggfefgfdb`]]agkkkifc`^[ZYYYZZK[ofdef`b^SMIf¶ÃÎÌtZbhighhijllllmljheb\7/0./15:?DJPX`hv‰ ªÀÕijª–‰tf[PHB=:521/Ckhfggggffecfd``cbbcceefeddefecb_]\^dhjihfb_\ZZZYZWJRlihhrmhbRLLL‡¿ÅÕ°]^ddfggiijlllllljgc^:-025579=AGRe{»Úßãæìîíêëìè›n`ZYRF=60/.Gkiefhgggffedhilbaabcddeeddeffecb`]\]chjiigc^[Z[ZZTHQonhhpoqjSLMJX§ÂÌÔ”a^cefghijkkllllkieb<+//159?GP]l“Äïæîììëëììî熩–ƒs]I=60/.Jkiechgggggfg°ÖÚ¨fabcddeeeffgggfec`_]^dhjkkhe_Z[[\TCLjrkiootrf[OKKw¹ÂÐÊq\cefghhjkkklllkigfC+./.39@HVg¦©¹ðæîîïðññòõꂧŠxcM@:50/,Njhd_edeededa‚ÉÌÀy^bcddfeeghhgggheda_]^bfjjhie][\]T>FuxnkqponpqYKKP“ÀÅÖ®_adffghikklllkkkihH+.0.049BEN]pxžèàØÓÎËŸ­¨—HH?6:|‹E:3/2Ztvws‚‚€y{wmdabcdeeeeefffefffeca_]\_fhhihd^]]U>BrokilmighkeMKJ^­ÁÉÖ‹[beghijjjklmlklkkK./0/=BHG_Îê—†—Ÿ©­±±¯²±±±²³³³²±±©•r`bddeeddeeffefgfecb_]\afhiiiea^W>>pnmehlntroiRJKK}¾ÀÑÇn_efhijjjklmlmmlmJ13/.:I³÷±rktŠ u}‡Š“˜›¡££¦Ÿ¦™¡µª·±®ª¦¡›™•“Œ‹ŒŒŒŒŽ‘‘’™m`cdeeedffggfgfggeda_\\`fijjihc[>=idcielruqss^KK[g¾ÄÕ®cdfhijjkkklmnnnoI18--1;y©_aqv~‚…ˆ‰‹‰‡wlbXRh§œ†Ž‡‚|yxusonlihggggggggghgw‚a__befefegggffgghedb_]\`dikklib@EC35431,-010136§tdfb`_]]]\[Z`a_``````_``a_Xn¦Âªiceefeefghggggeedb`]\^ejkmmiD=zusqvrlknmikeLJKIrº½ÍËu\dfffghjkllllnH0:,,,/137<>?A@ADGHLlVHIGGC^±‡V\ejnruv{‰•°Àž““Š†ƒ‚€tp˜ãâ _cdeedefffgffeeedc`\[_eiklmH=y€rlkkhjlpiaOILLM’¾ÁÔ­[_cdeeghjjkkkgC/;/,*-//135669;;=AFYG<851/‹«nfp„†…ƒƒ…ƒ€~[JPB;e–›™˜•“„€\]snbccdddeefefeeeeeeeb_][_ehkmI9rwsvtmphnopmkeXMKH`µ¾ÉÓ~X`bdefggjjjaY=.;3,3/+++*))))())()'(**)&>™‘RpŠ¨°¹ÁÈÏÓ×–PE@?DZÆãàÝÖÚàÝÊssLjb\mjccdcddeeeededdddca_\[^bhlI5ovsvunpjjlllnsiPJKL“ÂÄÖ¸cbefggggffbXU=-:5.EV@52/..,********+-0/d—|Ly£äßßßÞÞÞá\k`_TR»ãÞÝÖÐÙÝÔ^yT`hl‰ycdddddcddddddcddcb`_][\ckH4lunnmknlhjknmniRIKKh¼ÅÍ׊^dfggggedd[VB-:56,FJE@9671+***,,.29=ACyœjTl˜åÝÜÝÜÝÜÝ|V\cgNO°ãÞÜØØÞáÕR^kQkc]^accccddcdddddddddca`_][]eE2mkmtrnlmnngjkiiUJKMN–ÇÅÓ¼b^aceeefffbUE1835130.,+())))))*+,,+*)6„ŸYbW~ÔÎÎÐÑÓÔ¾dSQffRPãáÞ×ʶœ|ACyLhebb_a``cddcddddefeeddcba`][^B.jmqsnmmprqlhllgTLKLJe¹ÅÌÖ^deffffedb[H63002*"#"#$$$####$$$$%%#C–’NjODONPQSV[^RQS¯‹QTXuo\QE:3:F8lVZebe¤½½“_cddddcdeeeeddccbb`\\?(mklotvurtljmnkpePJKLM‘ÇÈÔÁkcefghgec`^VC31121112332333335767999]£€IoP=7578637@:5?´ŽCB90069;:7AN:UiNbc`‘åðç—`bbccbddeeedddccb`_^@%jqvtptrlnkligisdKKKKKa·ÉÌÖ™_deeggeca^YQJGFEEEFHIHHHIJJJLLKKLLMs£nJqN<758:8773210lq13446::==7E@423224557Y‘’o>E>64ZaPabaacebaaabbbbcbbbbbbbbb`YS="smlmlwprhtsuts|~j]TLKMK{ÆÃÏÔ…beeededcb`^^]]]^]\ZXXXYZ\^bijup„¡wxNaXHTNHOPQMJNTG322245;QXs}ZNPTE5EdI_^Zdfgb`bbbbcdcbbbaaabaUNKJ9"‡z‚zy{xjjpzww{te]SLKKJQ¢ÇÇ׺e`bcdddddb```````_][YYZ[]^bljjbvˆxsI]UMQHDDEGFFCEJ9232?LLR]^ZSMJNPAAKI^RwªŒq[``ababbbbba````]NJIJ:!ˆ~uzttjluojhoibbaVLLK]f¼ÃËØŽ\`bccdeddccbbbaa`_][ZZZZZ]fdhtqu€qOEOLIEFGMMLLFBMJIA8>944G]U]”oUVa`abbbbbccca`[WURLIJ< €~yxytprb`hq{rjkfZMLLY`Z—ÂÂÖÀe_acbcdedddcccbba_]\[[ZYY[Ug‹£½ˆpjS47::EZa\PA=8M[C@868BLQQREA@ADGLOQXcjMuNN]`__defeddccbaa```ZMI@#††††††‡‡‡…†‡†††‡‡‡‡ˆ‡‡‡ˆ‡†††…ƒ‚}yvttswywyzzy{{zwuyyz{zyyz|~€€€………………†‡†††††…††††‡†‡†‡††††…„€|xuttuuvyxxywy{yywuwvxzzxwy{~€€€……………†…†††…†…†††…††††……†…………„‚€€{vwwwwwyzxxwyzyyxwvuwyyxxyy|~€€…………††……††…†††…………………………„………„ƒ€~zyxwwy{{yxwzz{{yxvvxyyyzzz|~€€†„ƒ…†………†…………††………………„„ƒƒ„„…ƒ‚~|yxwyz{yyzz{{{{zvuxyxyzzy{~€‚ƒƒ„„„…………………………………„ƒ‚‚‚‚‚‚~|zywyz{yz|||{zyxvvxz{zzyz}€€€‡‡ˆ†‡†„„……………„………„…„€€€€€€~|}~~{zywwwxyz|||{zywwwwxxyzy{}€€€€†‡‰‡ƒ„„ƒ…†………ƒ„……ƒ}~~€~}{|||zyxwxvux{|||{{yxyxwuuxyy|}~€€‚…ˆ…ƒ…ƒ……††…ƒ‚€~{z|{{|}}}~|{z{|zzzxxzxx{z{|}}|zwyyvuuwwx|€€€…ˆŠ‡„†‡‚€€ƒ„ƒ€|wwwwx{{y|{yyxy{yzzxxyyy{{|}}}|zyyxwvvvvw{~€€~‘‘Œˆ‡‡ˆˆ‰‰‚xxxww{{xzxwwwyzz{{yvwxwz{|}}}|zzywywutvw|‘‘‚„‰‰‰‰‰‰†}zvwxxyuvvwuwz{|zzyuuvwz{{}~}zxxwwyxwwy{~€~~„……†…ƒ…ƒ„‡†………†…€ywwwuurtuvuw{}}zzx{{yzyz|}}}zxxvwwxwy|‡€}|€€~~‚‚ƒ‚‚‚‚‚wvuuttstttuwzyzyx{|{z{y{}~}}~{xxxxy{~€€ˆ€€}{€‚€~~€xttsssssttuvxuxyx{zyyyz|~{wwxx{~€}}~~|x~}|||€‚‚€€€€€wrtssrqstvvuwyyyz{yxxxz}~|wstvw{~~}}~}~{wr~|}~~€vrssststuwxwwxxyz{ywxy{|}zzxvqpppnqrpqrvz|woml|}}}}}€~}|~~~wtruttuuwxyxyzz||{z{zyxsoinnrsqolhfgedeehfefik€‚ƒ‚ƒ„ƒ„„„ƒƒƒ‚‚‚‚„€€}~}}~€€‚‚‚‚ƒ|xttxxzyyyxwxxtpppmlnoml‰‡†‡‰Š‰ˆˆ‰ˆ‰‰‰ˆˆ‡ˆ‡ˆˆˆˆ‡†„ƒƒ‚‚‚‚„ƒƒ‚‚ƒ„…†‡„„ƒ€€€‚‚ƒƒ„ƒ„„ƒƒ|w‰‰ˆ‡†‰‰ŠŠŠ‰ŠŠŠ‰Š‰‰ˆˆˆˆ‰‰ˆˆ‰‡‡‡‡‡‡…„ƒ‚‚ƒ„…‡‡†…„‚€€€‚‚ƒ„„„††‡‡‰‰‰ˆ††ˆ‰ŠŠŠŠŠŠ‰ŠŠ‰‰ˆ‡‰‘‘‘’’‘‘’‘‡„ƒƒ‚€‚„‡‰ˆˆ…ƒ‚€€€€‚‚‚„„…†‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠŠ‰‰Š‰‰‰ˆŒŠ‰ŠŠ‰Š‰‰ŠŠƒƒ‚‚‚€€ƒ…‡ˆ‰ˆ„€€€€€‚‚ƒŠŠŠ‰ŠŠ‡††ˆ‰‰ŠŠ‰‰‰‰‰‰ˆ‰„~}ƒ……ˆ‰‡‡‰ˆƒ‚‚€€€‚…ˆŠˆ†ƒ€€ˆ‰‰ŠŠŠŠ‡††‡‰‰Š‰‰‰‰‰‰‡†…€‚„„ƒ„ˆ‰ƒ†Š†……‚€€‚€€€‚„‡‡ˆ‡ƒ€€€„ˆ‰Š‹Š‹Š‡……‡‰ŠŠŠ‰‰‰‰‡‡‹ˆ…ŠŠ‰‰Š‡~‰…†‰‡„ƒ‚‚‚„ƒ‚‚‚€€€ƒ†‡‡‡…‚€€€†‡Š‹‰Š‹Šˆ††ˆ‰‰‰‰‰ˆˆ††Š†‡ŠŠŠŠ‡€‰‡…Š‰ˆ†„‚‚ƒ„‚‚ƒƒ‚€€€‚ƒ†ˆˆ‡†ƒ€|ƒ‡‰‰Š‹‹‰ˆ††ˆ‰‰‰‰‰‡…‡‰††ŠŠŠŠ†}€Š‰…ˆ‰‰‰ˆ…ƒ‚€‚‚€…†‡‡‡…ƒ||†‰‰ŠŠ‹‹Šˆ†‡ˆˆˆˆˆ†„„…††‡‡‡‡†„~‡‰†‡…„†‰ˆ†„€‚‚€€€€‚…†‡ˆˆ}}~ƒˆ‰‰Š‹‹‹Š‡†‡‡ˆ†……ˆ‰†ˆˆˆ‡ˆ‡†ˆ‡ˆŠŒ‹„…‡‰‰‰ˆ†ƒ‚ƒƒ‚‚€€‚„†ˆ|}}„ˆˆŠ‹‹‹ŠŠ††‡ˆˆ†ˆŽ‘ŒŒ‹‹‹Œ‹‹ŒŒŽ’Ž„ˆˆ‰‰‰‰‰‡„‚€ƒ‚ƒƒƒƒ‚€€€€€‚ƒw|~†‰ŠŠ‹ŠŠŠ‰††‡‡‡‹ŽŽŒŠŠŠŠŠŠŠ‹ŠŠ‹ŠŠˆ‡‡‰‰‰‰‰‰ˆ…ƒ‚‚‚‚ƒ‚€€€|zpz}}‚ˆ‰‰‹‹ŠŠŠˆ††‡‡‹‰ƒ†ˆ‰‰‰ˆ†‡‰‰‰‰‚|ˆ‰‡†ˆˆ‰‰‰‰‰ˆˆ„‚‚‚‚‚‚€|{hm|}{ƒ‰‰Š‹Š‹‹Š‡††…‡„†‡†††‡†…†…„€…‡ˆˆ‡†ˆ‰‰‰ˆˆ‰ˆ…ƒ€€‚‚‚‚‚ƒjhq|}~†ˆŠŠŠ‹‹Š‹ˆ…„„…‚‚‚€‚„†…‚€€‚ƒ„„‡‰ˆ†…‡ˆ‰ˆ‰‰‰ˆ†ƒ€€€‚ƒƒ…kjkv€~}ˆŠŠŠŠ‹‹Œ‰†…„„„„„ƒ‚‚„„†„ƒ„†…†…„ˆ‰ˆˆˆˆ‡‰ˆ‰‰‰ˆˆ†„‚€€€€ƒ„„„mmms€}}…‰ŠŠŠ‹‹‹Šˆ„ƒ…†ˆ‡‡…ƒƒƒ„†ˆ‰‡…„„ˆ‰‰‰‰ˆ‡‡ˆˆ‰ˆˆˆˆ‡ƒ€€€‚…†„oliny~|€‡‹ŠŠŠŠŠŠŠ…„†‡††„€€€„††‡…ƒ„‡‰ˆˆˆˆ…ƒ‡ˆ‰ˆˆˆˆˆ‡…‚€††ƒijhikz}|ƒ‰ŠŠŠŠ‹‹‹‡‚„ƒƒ„‚‚ƒƒƒƒ‚ƒ„…†‡‰Œ‹ŒŒŒŒ‹ŠŠ‰‰‰‰‰ˆˆˆˆ…‚€ƒ„ƒnniges€~|~…‰ŠŠŠ‹‹Œ‰€‚‚ƒ„…†„‚ˆ’”–––—––———’‰ˆ‰‰ˆˆˆˆˆˆ†ƒ€‚mkhgfk{~}€‡ŠŠŠ‹‹‹‰‚ƒ‚‚‚‚‚‚‚ƒ‚‚…”““’ŽŽ‹„‡‰‰‰ˆˆˆ‰ˆ†ƒ‚fgggghq~€~|‚ŠŠ‹‹‹Œ‰‚‚ƒ‚‚‚‚ƒƒƒƒƒˆŒ„€~ˆŠ‰€~~‚Š‡‡‰‰‰ˆˆ‰‰‰‰‡ƒ‚hhgfffgu€}ˆŠ‹‹‹Œ‚€‚„„‚‚‚ƒƒ„„‰ˆ}wxw€‹Š‹}xyx€‰Š‡ˆ‰‰‰‰‰ˆˆˆˆ†ƒƒjhgdgiht€~~„‹‹‹Š‹Š‚‚„„‚‚‚‚‚ƒ…Šˆƒ€€†‹ŠŒƒ~‚„†ˆŠ‰‡…‡‰‰‰ˆˆˆˆˆ†„‚ihgfhjhn|}€ˆŒŒŠ‰‡„‚‚€€€€‚†Š‡ŠŒŠŠŠ‹‹Œ‹ŠŠ‰Š‰ŠŠˆƒƒˆ‰‰‰ˆ‰‰‰ˆ†‚jjiiihhjt€}ƒ‹Œ‹Šˆ‡……„ƒ‚‚ƒƒƒ‚„ˆ‰…ˆ‰ˆ‰‰Š‹ŒŠ…ƒˆˆ‰Š‰ˆ‡ˆ‰‰‰‰‰‰‰‰‰…kkihnkhjr}‚}‡Š‹ŠŠŠ‰Š‰ˆ‡†††‡ˆ‡Š‰ƒ…†…‡†‡‰‰…|€ƒ…‡‹ˆˆˆˆ‰‰‰‰‰‰‰ŒŽ‡lnmnppmpt|~}}‚‰Š‰ŠŠŠ‹ŠŠˆ†‡‡†††‰‹†‡†…††„…‡…………ˆŠŒŽ†‚†ˆˆ‰‰‰‰‰‰‹‡zzzzzzzzzzz{zzz{zzyyyyyyyyyy{„„ƒ„…††ˆ‡†††ˆ‡‡ˆ††††††……‡†„ƒ‚‚‚‚yzzzzzzzzzzzyyyyyyxxyyyzyyyy{‚ƒƒƒ‚„…††………†ˆ‡†…†…………†…††…ƒ‚‚yzyzzyyzzyyyyyyyyyyyyyyyzzyzz~‚ƒ„„ƒ„„……„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚€zyyzzyyzzzzzyyyyyyzzz{z{{{zzz}€ƒ…„„„……„ƒ…†‡†…„„ƒƒ„„…‡ˆˆ‡…‚‚‚‚€€y||{zzzzzzzyyyyyyyyz{||}}}||~€‚„„„„………„…‡‡†………„ƒ„…‡‡‡‡…„‚ƒ‚€€|‚~|}}{zzzyzzzzzzz{}}~~}‚ƒ‚‚ƒ„ƒ„……‡††ˆ†…………„„……‡‡††„ƒ‚‚‚€€‚€|{zzyz|{zz{|}€€€€‚„…ƒƒƒ„…„„„„…‡‡‡……†…„…„…†††††„ƒ‚‚‚‚{z{{~~~}{{zyz}{z}€‚ƒ‚€‚„……„„„„……„ƒ„…†‡†„„……„………†††……„ƒ~tsu~}€~}|{}€€„††…„„ƒƒƒ‚ƒ…‡‡…†………„„ƒ„…†………„ƒƒ„„……†††…„ƒ‚‚ƒ€{zy|‚€€‚‚ƒ†‰ˆ‡†…ƒƒ„„…‡‡†††………„………†„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚yyyy|zx~„~~{z||ƒˆ‡‡‡…„ƒ……†‡‡†…††…………†……†…‡„ƒƒƒƒƒ……†‰‡…‚‚‚‚zy{{z{|}€||zy{|~…††‡†……†ˆ‡‡ˆˆ†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ‚~…ˆ‚€€~~ƒ†††‡††‡ˆˆˆˆˆ†…„„„…„„†‡‡††„„„„„†‡ˆ‡„‚‚‚„††„„„ƒˆŠ†€€€€‚‡‡†‡ˆ‡ˆˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†„ƒ‚‚‚‡‡ƒ€‚„ƒƒ‚€ƒ‡‡†‡ˆ‡ˆ‰ˆ‡‡‡…„…„„„††‡ˆˆ‡„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚………ˆˆˆˆ‡„‚‚‚ƒ€‚‡‡‡‡ˆˆ‡ˆˆˆ‡‡†„…„ƒ„…‡†‡†…„„ƒ„……ˆˆ…€€‚ƒƒ‚ƒƒƒ„ƒƒ„ƒ‚‚‚ƒ…„‚‚„‡‡‡‡ˆˆ‡ˆ‡‡‡†…„†…ƒ„…‡†‡‡…ƒƒ„ƒ‚‚‚|||~~€‚‚€€ƒƒƒƒ„ƒ€€ƒ„ƒ…‡‡„……†ˆˆ‡‡‡ˆ‡‡………„ƒƒƒƒƒ†‰†††~}}z{zzzz{{|~~~|~€‚€€~€€ƒƒƒƒƒ‚ƒƒƒ………„ƒƒƒ‚€€€‚……„……€€~~€€€€€€~€~}}}}}}|}}}~€€~~€€ƒ‚‚€€€€€€€€ƒŠ„ƒƒ€‚‚‚€€|~€}}}|}}||||}~}~~~~}}~€€‚„Š„‚€€€€€€€||}}}}}}}}|||}}}~|{{{{~€}|{{|€€€~ƒƒ‚‚‚€€€€€€€}|||}~€~}}}}}|||}~}{||}~„‡~~}|~€€€~~~€‚ƒ‚‡‰‚€~}}}|}€€~~}}}~}}}|~~||{{|||zz}||}€‚‚~}€‚…†‚‚‚}||}~€€~}}~~~~~}~~|}}{y{{yz~|}€€~‚‚‚‚‚ƒ„€}}}}}}€}}~~~~~}~}|€‚ywyyy|‚‚}}~~€€€‚‚‚‚‚€~~€‚ƒƒ†ƒƒ€~}}}~€~~~~}~~~~|{‡}yyyy|„„||}~~~€€‚‚‚‚‚~}}„„ƒ€~}}}}~€€~~}}}~~{z~‚|zzzz}ˆ…z{}}~}~€€‚‚‚‚‚‚€~~€€†„‚€~}}|{}€~~~}}~|~~~|{|}}…ƒ|{}~€}}~~€‚‚‚‚‚‚‚€}}~’‰‚€}}}|}}€€~~~~~~~€}|{~~}}}}‚€€‚‚{ƒ„ƒ‚€~}|}|}€~~||}}}}}}}}}}|||z{~~}}}}~€‚‚€€€‚‚‹’ƒ„ƒƒ‚~}}}}}~€~}{~}||}}}}}}}~||}‚~~~}}}}~€‚…°»€‚‚‚‚‚~}}}}}}~€€|„ƒ}}~~~~~}…ƒ~~~~}}~}~€‚‚€ƒ¤­{}Ž‚‚~}}}}}}€€€€ƒ‹…€€ƒ€€€€„„€~~~}}}}}€‚‚„…}{ˆˆ‚ƒ~~}}}|}€€€ƒƒƒ†‚€ƒ„€~~~}}~~~‚‚‚‚€||€‚ƒƒƒ€}}~}}|}}€€€‚ƒƒ‚‚„ƒ€ƒ‚€€~}~€€~~}~~~~‚‚‚€‚€~‚ƒ‚‚ƒ}}}}|}}~€€€~€€‚‚€|~€€}}}~€~~}}}~}~‚‚€€€‚ƒ€|‚‚‚ƒ‚~~}||||~€~}~ƒ€€€€~~€€€}~}~~~~}}}~}}}€‚€€€ƒ‚~z|}€‚‚€~~}}}}}~€€€‚†ˆŠŠŠˆ†~}|{{{{z{}~~~~~~}}~€€‚€‚~yyzƒ•ˆ‚€~}}}~}~€€‚ƒƒƒ…††††‡†‚}xwvwvuuttutuy~~~}}}}‚‚€~ywx}„‰„‚~~}}}}~€€‚‚ƒ„„ƒƒ‚~zyyy{|€~~~~}|}€€~~~}}}~€€‚€~zxwy‚‚‚~~}|||~€€€€€€€‚|{}~~~~~~~|~~~}~}}‚€~zxwwy€‚‚ƒ‚~}}}{|€€€€€€€€€|||}}}|xyy|~~~}z{~~~~~}}~€€~ywy{z~‚‚‚‚~}}~}~€‚€€€€€€~}}}~€€|xvw{‚€}z|~€~~}~}~~€‚~{x{|{‚‚‚}}}~€€‚‚‚}}||}~}{yux{}{{|~~~~~~~}}~‚€}{{}~~€‚‚‚~}}~€€€€‚€}}}{|||||zzz†€z{|}€~}~}}}}~~ƒ~€„„‚‚‚„ƒ‚€~~~~~~€€€€€€€~|}|||||}~|||€„‚~}}|~~€~~~~~}||~‰ˆ‡ˆ††„…†„‚™~}}}}}}~€€€~|}}|~}~~~~~}}|z~~~~}|{}ÏÏÏÏÏÏÏÏÏÐÑÐÏÎÎÊÄÈÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌǾ¶®£¡”~rikxljjmmtcgbV^b\\d]S[`^_UQOSZY_d_dSUVWUVTTYUQW^_\XTME=7;<632@2ÏÏÏÏÏÏÏÏÏÏÐÏÎÎÍÈÃÈÃÉÍÎÎÎÏÏÏÏÎÎÎÎÎÎÎÎÍÌÌÌÌÌÍÌÌÌÌÌÌÌÍÍÍÍÎÎÆ· ¦™wƒz€t_^ap|o]_mjgZYZ[_ZWUO_g_[RPPQYW\ghhPV]`[QPLQRX_b[WOMK@@75542076ÍÍÎÎÎÎÎÏÏÏÎÎÎÍÌÈÁÅÁÈËËÌÌÍÍÍÍÍÍÎÎÍÍÍÍÌÌËËÌÌÌÍÍÌÍÍÍÌÍÎÎÍÍÍÌÀ¤Š‰qonolmoot~{`c`cd[[[[\]STV]dYYYWTRUSV]gdQQY[UMNNQQ]c`b[PGB?;952320.2ÍÍÎÎÎÎÎÎÎÏÎÍÍÌÍÉÂÅÁËÌËËËËÊÊÊËËËËËÊËËËËÊÊËËÌÌÌÌÍÎÍÍÍÍÍÍÍÍÍ̵—”zmtvyu~feb]hZ`ee[[WU_YSXffSPTWXRNLVPZhQOUXZPMSPPYb_aWTUOH?<96321.-ÍÍÍÍÍÍÍÌÍÍÌÎÍÍÎÊÁÂÁÌÎÎÎÎÎÍÍÍÍÌÍÍÌËÌËÊÊÉÊÊÊÊÊÊÊÊÊÉÈÊËÌËËËËͽ’†~sam}mdg``aYibYXTTM[`^`po[QOT\TMJTRSYSZ[XUNPQTZ_XWYQOYOI>@A<520-+ÍÌÌÌÌÍÍÍÍÍÍÎÎÎÎÈ»¼»ÊÎÎÎÎÎÎÎÎÎÎÍÎÎÎÍÎÎÎÌÌÌËËÌËÌÌËÊÆÉËÌÌÌËÇÆÄ£‰z{ph_lppe_b_X]_VS[SSPZgeffdhVPVXSQSTRSXQY]`USUQYZ\YXTSOQPI>@>5550.2ÌÍÍÎÎÍÎÎÎÎÎÎÎÎÎżļÇÎÎÍÍÎÎÎÎÎÎÍÍÎÍÍÎÍÍÍÍÍÊËÍÍÎÍÌÉÆÊÊËÍÏÌÇÅ´šzwpeXUc`[_a`]a_XTRKNUY_adi^[SOOPOKTQSP^LTTZ[WZY`Z[XSQSORJFC>@;431/3ÍÎÎÎÎÍÍÍÎÎÎÍÍÎÎÅÀÌÂÆÎÎÍÍÍÍÍÌÌÍÍÍÎÍÍÎÍÍÍÌÍÊÉÊÌÊÇÅÄÁÇÅÈÌÍÊ¿¼­‘xrUTQROVZmpfac[YMCALYR[ba^VTRJLKHLHOKYORUTVVZ[[[_YSORMWOCGA??40/-,ÍÍÍÍÍÍÍÍÎÎÍÍÍÍÍÅÁÌÃÄÍÍÌÌÌÌÍÍÍÍÍÍÎÍÎÎÎÍÎÌËÈÆÆÊÁ¿ºÁ½Á½ÅÊÉÅ»®¦¨Ž~ur^UVYXhi^ofgaVVRRUTeUN[]SNVXRKJGOPQXXRPXZUSXXVOTYSQVQXX@56220..--ÍÍÑ×ÖÏËÌÌËÊËËËÌÂÀÉÁÃÍÍÎÎÍÍÎÎÎÍÍÍÎÎÎÎÎÎÎÌÄÂÁ¿Ã»¹­¾ºÀ¶¿ÇÀ¾´¤Š‹p‰zfZ_[]dkVm\U^SNST_^WOOQXQPSVWLLLSSSZh_PWXVVVUZSQZXX]]MC=7530.----ÎÚèïîãÑÊÊÄÁÂÄÆÊÂÀÇÁÁÊÌÌËËÌÍÍÍÍÍÍÍÎÎÍÎÍÍÍƼ³½¸²¡º´¿´µÁ¶½´˜†|{lgbaccTYd[Ud[RZ]PRRW]UVSMNNKLMSYVOQORRc[NZZXRMOYXXTWQMJ@7=<;72.----ÜíÝ¿Êëèͺ´³¸»ÂÃÃÊÆÃËÌËÊËËÊÉÊËËËÌÌÌÊÊÈÆÆò­ª®°§ž©®¹¯²º­¬¡ƒvxtkiQ]eZWcZQ]h^Y_YKOQT\_aTPMLLMQLUWKNSNS\]Ya\TPLOYVWVOPXJBC=;;951..--Þá­’›ÆÝÅ·´±±µ´¾ÄÆÌÉÄÌÎÍÍÌÌÊÇËÌËËËÊÊÇÄÿ¿²¡›š£¤š—Ÿ­­¬«¨¤˜„snlgjn^WYT_aVV\[Z_VSXTRTT_WQSONSVRSTWQOWPRZaX^WZ\V]_TTZWSQ@?G;7677520/.†ƒ}{|~zzz|„Š–±ÀÃÅËÈÂËÍÎÎÍËÇÃÉËËËËÈĺ´¶µ¹¬ –˜š—”¡³®«¡™›‘xiefVhbSLHOW`YRR^h`aoa_c^TXNQPOPRVQUQSZRZOO_^]h[c_ihaSPNMJKB=A8755454/02’œž…XYUc—‘Š|”¾ºÃÈÇÀÊÍÍÍËÉÁºÆÊÊÈƽ¬¢¤¥œœ—ˆ•™’’«­’‘ƒvedhZ^UPSQQZ`^[io_QWdOXqp]QNKNMKHJLLOMMPXTX^TRXX`g^]XOIMGFECHB8644344014§¦µ²S`£ÓáßѤw¯´¿ÇƹÃËËËÊÇ¿´ÄËËÁ¶§™œž•™—Šƒ—”ŽŒ‘™‘Š‰‰ƒ~vupcYSX]XOY]VT]h]RP_gfc`]SRMJJHIGGEFNMR^[W[VO\ihhV^TMUSHIA>A9854423337Ÿ«¼…J.h¨lCJR=Ykš­¢Ÿ¬»ÂÅËÎÏÐÎÌƾ°¡™’—’Ž‹‰ˆƒ}‚z‚‰…y|zyqiie[VYRY^YT[Z^ZVZ[[]ZUPJVUNLOKADFFA?FHIQKRSY]aXbo]_OZ^[JEB@><856669=@=OWfQA5C[Rl‚M:G_¡n§¸Çž¸²­¥¦§«¯·¼«•Ž‡Œ‹ˆ…‚‚z€‡}vywrsnkgY\cacYSSXW]^aXT\SX_[VPINLNIBDF@?FGDAPHVX[W`aa]RcbVWXTNHEG:75667<=FFFDCJHECL_glVFED“’Q½ÉlRMJGOIGFFHKOŽ—ŒŠ…ŠŽŒ„‚‚ƒ{~Œz€yvrstpidX]db\RUOQ^fcdVNSSi\cXNRQOJHDJTJCJMMFPQ]^ZM[ddeU`cVOW_SEAA=:8767;@KBlllihijltvtqkiem¢ÑëªCEHHOh]OSPNM@fž„ˆƒŽ—‰‰~†‰‚}Šy{xvuuxucWRZY[WZXNZ\^`ghknqlQ\]VNQQGFEPXQQOOQIJVY^ZNN^[a^^gfV`UA::<=<:;9:==>;VVVTUUUUTTUXZ`cn©èÜ„KG=;F``_R@<@=GšŠŒƒŒ—‡„‰|ƒŠŠ†ˆ‚|yww{uup`X]`UVTUWaXPN`sƒucZ\fQTNMRSNNJC@MTRRTSN[ede[SZZ^\T\XUVH<98;<78:98===:;;=:66766€¯Ù±€‰}‚€‚‡ˆ‚€ƒ~vtvusqtg\^\OPZZ[]TT^bg_^U\caSVNKKRKGA?>=gPSTUZbUVUSXŽ}µ{ÚÀj^iorw}|zz{wsnlŒÊõÃ{‚~y€…„€{€{wsvyytpkg]TNKYW\SSX\[XIX_Z]XYaXKMTOLILOOOTVXV[of[[[ZWZYRWLNK@773_‚:7988;AECEºQV^d¢f`ZR|ðåíãl¥ÆÈÁÅÇÍÍÌÎÍÍÍÌÊÈÆλ¦Š{}~|}|€ƒ€}xypoxy{riacUQSEAMWXVY\OKIVZ\]U[f_SNLJKOMNJHKNVXZ^a[^XVRVOKMHB<8776Sƒ>889;;>HJH¾PGLRšÇdMJF€îâêÏVÓ××ÙÜÜÝÞááàßÝÜÛÙÙ̓xzx|}€{~„„ywxmiouyoha^PQTGJQUX\UPSQTU[VVWZa^SLEDBEHIFFGJSV]\VMVSUSSNHFD=96686Y}A88;=?>=<@KPVbZTX[RW[PMG;;:87782‡åT16;:;BIJJÔééëìêèèéèçã±^KD>¥ßÝçêëèÎÃÉâ¿´ÉêæáÞÖÇ|xzzvz{}~|~|xtwvjltlhg`O^j\VTZ[YSPXZ[b_XU[ZVNHE@@?><79?DIJ[iYU\Y[]WHDA958887:5‚çV/8<=BHHDQÏíðññññòòñîë­YMG@ åäêèåᮤ°Û½°ºæãæÞÛÒ~wwyyx{}z|{€|xxuniphgdb[hqc\NQ\ZVSU[W_ZV[eZPJCA@@CA?>CIC>L[lk^MQgRHA;;;8;;99>8sÝ]2>DSQJV_^lmRVXKB;666;@BA>A:;?FMIB=?9yõz8<4=IIWalrw{„Šš—Š‡‹udLKIDráíîñîëïñññññíëððíï¸u}~jz~y|ws€~ztqnkhhecnaTW]YW\SPURTQ[^Ze^VVROIGGBGJEDGONTillvvdbmjWPOMPUTVTHIP9f×çÓ¶Ììó´´´·ÓìľÙå¯ryzrx~{z}}vzxyusja`b\\jcUOWZa[XSOPXUZeaaYPOVQLE@>JX`V[dipe[XY_chknlpf]hxvpleijY…òWTZwvqvlfQPNLJJIJIKKSV@-37XÈÕ´t›îº|utqzÎä|z¾×¡nt€}uy}|tx{~wypdZbgdbcaUWYYTSQPNU\ZTZYTNRXTRU\\rƒyclyn\TX]^`cjgn„ƒ€ƒ…|€„‰‰Š”³•‰ƒ}}strh||{yz|}|{{z|‚`*06P­íæÝßêéÔÎÍËÐêèÙßìèow||vv~wrw{|qwne``g`]a^Y[UUTVZ\QR[ZOMOU^[X\gxƒ‡Œ…ebslTRY\\\^gjlu~|}vt}‹Ž’’Š„Œ‰‚€orpmphmmnnosuuuvxxzc57;^ˆ§¤”¦·®°¸ÇÁ«˜“’˜©Ÿmw|vtvztt}utyvwrrnlmkmklqomoioz‰’ˆŒŽ‡‰”³š}‚~z€lamobV\`_][_hgjuiebedtƒ}…ˆ…„Ž†{sdhpnjgihhikmopppqqssops}~}||{}‡“’„Ž‰~sszyxwvttrrqrttsrqonmlmnpqswyzzzxttvxxyz|~†˜«¼µ¨”†zqlmmlmmjfb]\][Y`_WY]^^agkfhdbdppjokg`juotyonmlmoqstttsssstvz}~}|{zwvv~ ¡‹qqqtxwwwvurqqqrstsoljiiiiklmpsuvvutttsrsrpprz…“Ÿ¬±¯§œŽ~rgggeb_\YV[YWWXXWZXXX[YWXYYWUTVQZZcqxupmkijkmnopqonnnnptxz{||||||zyvts{…{…Ÿ”vnorstvvtsrpoppokmnmlihffgfhklnqtuuutronnnpnoqv~ž³¾º£‡skgiihc`^]XUSRUSRTW_bUVX[WWVUSTVSXzwsokiijkmnoopoooooprtvxyzzzyyxwvtpp|‹“•spprstuvssroleillljjigeccdddgkortuvvtqnllnoqpnmn|’¬¾½®•€rjjkgdbb[V[UUUUXXTTV\TTT[YVVUTxxvtqlihiijlnoooprsrrrrtuvwxxyyyxwusqnm}£¤€mmoqqqrrruttlprrqrqqnhfcacdbcdgimqtuwxvtqmljmpqpnmsƒ™²ÄÀ¥†rhjkkifea`\ZUTSTSSSTTZWTWXXvvvwuqlhffgillmmopqqqqpppqsuvwxxwwvsrqponnt›¬z„”›¡¥ª¬©­¯¯¯®®®¬§Ÿ’Šraba___`djorstvwvtpkhhloonkhk} Ã̱ˆrkijkjjhfc_[WTSRRSSUYTVWVuuvvvurmhffghjllmmnnooonmnoqrsuvvvwusrrqqpq¡Á¸¯¯¬©¤Ÿ˜‘Œ†ƒ‚ƒ‚ƒ…‰‘™œš•obbba``_aejnqrtuvvvsmhhklnooljv”³Ã¿¥†skklkjhhfa]ZVURPU[STTTrtuvvvurniedegijkkllmmnmlllmnpqrtuwvutsrqo~¬”‹„yoga[Z[]j}h^ZURRSVYXi€kgcaaa`a`adhknqstuvvtqlhgkmonlikx–¶É¤ƒqlklljgeecb_[WTUSSTmqsstutrpmidbbceghijklmmmlkjjllmprrtutssrn‡“[SNMMNOTYabxŸ›mZT`fc`\UE=bqmkgdb`aa_]_bfknqrsttttrledhklmmjfiªÌβ‹rqmkihghgfeda]WTWkmopqrsrrpnhca`abdegijjklmkjiiikmnpsrstssq‡d?NVams{o:541.0356[pppnlbEAhmnolidbbcb`]^bgknpqsstutqiccgjllkiff|ªÌдslmkihfeggffa]\jkmoqrstsrqniebabbceghijklklljiijlnqqstssvˆEDl†‘›Ÿ¥œfYC523?EFFCAC?=DSAUhinpomjgefgda_adhknpqstttsoiddhjlkkjfi~¥ÈϹ‘ulmmkihgfffebgjlnprtttssqnjecccbcefhjkkkklljhijlnpqrsr‚u=Q~®¯³¶µ²ªŸ”ommpKE<34>=52IcCedejmooljgfffdb_adimnoqrstttpkfdhjllmlhfzÁпœ|mllkjiggffbfikmprsttsrqnkgdbbbcdgjjjjkkllkigjklnpqqŒZTPZ´µ°¨Ÿ—‹Í¥uŽ¯T>3;OQH734/neMnigebbfijihea_aa_]]_behlmoprsrpnifdgjlmlmlhhy›¸ËÅ«yponl€[beikmopqqqrrpnjda`_`aeghiijjkkkjhgfhjku}I€9224677EHIENebMD5>Ir{aD7x–‰Dimkjfcbbegigda`_^]\\\\^acgjmoooonmjgddgijkljgehxžÊÖÅœtjlÂw\chikmopstrsrpnieba`abegghiiihhiihefgh{k\{035>XZABIFCA@AHF6PEi~\<4b‰Q_mkljeba`bfefca_]]^]][[\\`cfijkkklllib_begjjijgcbx¦Íדo˾q\dghjlnoqsrqqomidba`abdeegghhijkjhfedXvk/32G’œa>C;5559GLBOG]lp>5//…pNmkllkhd``bdggeca`^_a_^\[\_bfijlnopqolfaacghijijiefªÌÕ¹¾Î²`[behjllnsrpqqomiea```bcdeghiijkkjigd‚MŒY2<8bˆ–N:22214<=0Xokkklkheb`cgijigea_^__]\[]^bfjkmnopprrrmfbcfhjkkY\ºÂΞZ`dgijkmnoopponnkfca```abcfO5=8YfDCN>OM4?BA?ENPLIED?7=7:SWNPN9686AB43/2>clkkklljigc``dgijigd`^]]\\\\\^aehkmnpqqrrrnhbbehjOIP»ÂˉX^beghjlmnooonnlieb`__`bceQ.1318EC4742358<83233335568754777999;?JH-6I[ijijjjjkkjjhda_aehjjie`]]]]^]\\\^`eikmpqqqrrpmhbbe\RKXºÄÄuU\`cehjknnoonnmlhdb`_`accbPA;8,I_><:8976776667666567777778899;=DD>ihihgiihhijjjjjheb``bfihifb_^]\]]]\[[^bgjmnoqrrqqqngbeYOIc¬¾Ë»hZ_begijlmoooonmkhea___`acffy£ZAZ;:987776666666656667767678899;>C?da`aeghgghiiiiiihgda_`cfhjifc_\\]]^][Z\_dhkmoopqpppi_jaOLJx¹ÀϪ_]achhikmnnooomkjhc`___abbb}¾…@Q9977655655555555556554555567757BCg«­“jeggfghhiiijjjgec``bfjkkjfb^\\_``_\[\`fjkmnppo^WYmpbRLO¼ÂÒ–Y_cfghkklmnoomlkjfb__^_`bbs°vHC55665554443344444554334344535IjUUg®ÒÊ”bdeefgghiijijjihea_`dhjkjhe`][^`a`^[[]bgklnpkOWcjmw^NKZ£¿ÉË}Zcegikklmnonmmlliea_^^_abf”nXVfH4134333222335K944333223328 ±}OWaihiddeeffgghijhihiihea^`beiijjgc^]]^^__]Z[_eiknlQU^qpmeWNKi±ÂÎÃs]cfijklmmmnoomlkhc`__^`dhlY[|«¨>/1112112345754332222226r²˜˜œK:bgeedcdddfffghhhhhhiihec`^_dhkllifc_____`]Z[]bfilXJTrlmmeSVj¾ÇÔ¹h_dhiijklmnoonmljfb`___bkW@`Ÿž ¼„A/.00012445036310000.0i ™³¢E.[hgfdehkhbegghhhhhhiiijhca__chklmkieccb`aa`^[[^bghYQlmplhYORT–ÄÈÔ¦^`cdfhijllmnnnmljfb_^^]]],G–œ½›¹—A?<:98636?‚Z8=EIIHLxtÕæ¿Ɔ:)Liggdn¾ÚÑbeeffgggghiihhfca_^afknmlkhebaaba`^ZZ[_ej^nsrnmfSLJ\«ÄÌÓYacehhijklmmmmmkheb_^[PL-7‚ÁŶî餓kXY`oYṖDnxqc[jªºôïãÕÄZ2+Gjgfge‰ºµ›ebdefeeffhihgggecb_]^cjmnnliebaa`^^\[[Z]c`qurtvxiTNJs½ÇÑÅk]behhhjkkllmmmljhd`^]O;.0W¯ÜÓîéã ˆZ\]eŒb†×²Vp[cc`€µÒâĪž|1//Ijhggged``cedcedddegggggggfca_]]bjnnmlifc`^][ZZZZZ\Uoomkkmf\RLOœÄÈÕ Z`cfghijjklmmmmkifb_^U4.-2d¨“¦¿Õ£²melcWN©øàmbqu{q›¡ura832/.2LkhgggggfdbŒuaddcbdefggfefgfdb`]]aglllifc_^[ZYYYZZ[Mofdef`b^SMIj¸ÃÎÌuZbhigghijllllmljhe`_N10,.024>\JS‹]\ltkl–ØĆrkh^X[M:=>862./1Rlhggggffecfd`acbbcceefeddefecb_]\^dijihfb_[ZYZYZZZKmhhhrmhbRLLMÀÆÔ°]^ddffgiijlllllljgdcH.1/.027EK[n”ÎØßãéíîêêéìÔj[WTKA:3/0/Xkheghgghgfg¶Ûݧfabbddeffffgggfec`_]_dijkkie_Z[[[[WGkrkiootrf[OKKzºÂÐÊq\cefghijkkklllkihfQ,-//37;AITbv˜”íæìíìëëìììñÄ„¬Œ}kUD:3/0/\kiceihggggd‡ÌÍÁz^bbcdeffhhggggheda_]^bfjjhie][\\]WCuxmlqponpqYKKR–ÀÅÖ®_adffghjkklllkkkihX.,0.16qokilmighkeMJIc²ÁÉÖ[bfghijjjklmlkljk]0-0..26;BLYj‚|ÚêåäßÚÕÑÎÆÀ‰EJ?7KŽm=:.+0ahgc`efffgffedaaacccddeeddeeffefgfecb_]\afhiiiea]]W=pnmehlntroiRJKKƒ¾ÀÑÈo_efhijjjklmlmmll`2//.4?F•›E-,,8Y^\ZTQMIHE?;7@EF†óÎ]PNTfŠ‘––•ž¡¡£¤¤¢ ¡œ”Œwdbddeeedffggfggggeda_\\`fijjihc_Y>jddjelruqss^KK[iž¿ÄÖ¯cdfhijjkkklnnnnna14./2CoîÝ‚ahpšnu{ƒŠ‘”— ›§ˆ¯ÎÍ­­±²²®­®«ª¨¥£¤¤¥§¦¨ª­©¢Œb__befefeggggggghedb_]\`dikklif]>aikioolmpurlSJNO^¬ÀÈÔ_dfhiijjjlmmmnob/:...7W´¤wct€‡Ž‘“”•’‰€vjaZS–«š¢Ÿ™”‘ŒŠ‰…ƒ€}{z{{zyyy{{||Ž©Á©iceeeeefghhhggeedb`]\^ejklmkeAzusrwrlknmikeLJKIx¼½ÍËt\dfffghijkllmob.?A>@CDCM`KFEEDCRª‘a[\[[]__bfhn€‰}~||ywtssstoao„uobcdeeeeefefffeeeeeb_][_ehklnIrwsvumphnopmkeXMKHc·¾ÉÓ~X`bdefggjkkliZ+<1,+,.0136889=?>BEXjG?;841ƒ°sXix~€€ƒŽ¤v…‰‚ƒ}|{|kli\kicdddddeeeeeeddddda_]\^bhkmKovtwvnqjjlllnsiPJJN˜ÄÄÖ¸dbefghhhikkf[O+;5.--++,++*)*)**)))')*))'9 ˜`lz†‰‘•žž‚I2434b®¿ÂÁ¾À¾º¢}fQpl‹zdddedddddddddcdddb`_][\chmMluonmlnlhjknmniRIKKl¾ÅÍÖˆ^dfggggggf\UM*:612SA3/-,+,*))******+,/0`™J|¡ÊÎÕÙÜßàãUWMJMUÄåáÞ×Øàà×k|Lgh^^bccdcdddeededdeeedca`][]ckLmkmtrnlmnngjkiiUJKMO™ÆÅÓºa^aceeedcc_VP,9560P]ZNCMI82332457?ZˆŒiFLG:5KkJ`b`^afc`abbbbbbba``abbaXSMJ>ˆ~uzttjluojhoibbaVLLK]d‚¿ÃËØ\`bcbdedba_``____][YYYY\]]gmp{m˜uqIiQKSLHJJKHHKTI312269?TYjrWNNVL7=aG^]\rplc_`bbbcccccaaabb`OIIJ>€~yxytprb`hq{rjkfZMLLZb^ÂÂÖÀe_acbcdddcbbb`aa`_][ZYYZZ[`gc``o}oE_QNPFDEFFGFBAF;654BQPQ[ZTSLGFMD?@F]Tl¸rY__defeddccbbb^WUPKIJ?††††††‡‡‡…†‡†††‡‡‡‡‡‡‡‡‡‡†††…ƒ‚}yuttswywyzzy{{zwuyyz{zyyz|~€€€………………†‡†††††…†††††‡‡††‡†††…„€|xuttuuvyxxywy{yywuwvxzzxwy{~€€€……………†…†††…†…†††…††††……†…………„‚€€{vwwwwwyzxxwyzyxxwvuwyyxxyy|~€€…………†………††…†††…………………………„………„ƒ€~zyxwwy{{yxwzz{{yxvvxyyyzzz|~€€†„ƒ…†„……†…………††………………„„ƒƒ„„…ƒ‚~|yxwyz{yyzz{{{{zvuxyxyzzy{~€‚ƒƒ„„„…………………………………ƒ‚‚‚‚‚‚‚~|zywyz{yz|||{zyxvvxz{zzyz}€€€ˆ‡ˆ‡‡ˆ…„……………„……………„€€€€€~|}~~{zywwwxyz|||{zywwwwxxyzy{}€€€€†‡‰ˆƒƒ…ƒ…†………ƒ………ƒ}~~€~}{|||zyxwxvux{|||{{yxyxwuuxyy|}~€€ƒ„ˆ†‚‚†ƒ………††ƒ‚~{z|{{|}}}~|{z{|zzzxxzxxzz{|}}|zwyyvuuwxx|€€€††‹ˆ„…‡ƒ€ƒ„ƒ‚~wwwwx{{y|{yyxy{yzzxxyyy{{|}}}|zyyxwvvvww{~€€~‘Š€€‡ˆˆˆ‰Š…zxxww{{xzxwwwyzz{{yvwxwz{|}}}|yzywywutvw{‘‘Ž„‚‰‰ˆ‰‰‰ˆ{vwxxyuvvwuwz{|zzyuuvwz{{}~}zxywwxxwwy{~~~„…………ƒ€„ƒƒ††……………{wwwuurtuvuwz|}zzx{{yzyz|}}}zxxvwwxwy|‡€}|€€}‚‚‚‚€‚zvuuststttuwyyzyx{|{z{y{}~}}~{xxxxy{}€€ˆ€€}{€‚€~}€zutsssssttuvxuxyx{zyyyz|~{vwxx{~€}}~~|x}{|}~€‚‚€€€€€€yrtssrqstuvuwyyyz{yxxxz}~|wstvw{~~}}~}~{wq}||}~‚~~€€yrssstttuwywwxxyzzywxy{|}zzxvqpppnqrpqrvz{woml|}|||}~}}}}~{truttuuvxyxyzz||{{{zyxsninnrsqolhfgedeehfefik€‚‚‚‚„„„„„ƒƒ„ƒ‚‚ƒ„‚€}~}}~€€‚‚‚‚ƒ}xttwxzyyyxvxxtoppmlnoml‰‡†ˆ‰Š‰ˆˆ‰ˆ‰‰‰ˆˆ‡ˆ‡ˆ‰ˆˆ‡†„ƒƒ‚‚‚‚„ƒƒ‚‚ƒ„…††„„‚€€€‚‚ƒƒ„ƒ„„ƒƒ|w‰‰ˆ‡†‰‰ŠŠŠ‰ŠŠŠ‰ŠŠ‰ˆˆ‡‡ˆŠˆ‡‡…„„„……ƒ„ƒ‚‚ƒ„…†‡†…„‚€€€‚‚‚ƒ„„„††‡‡‰‰‰ˆ††ˆ‰ŠŠŠŠŠŠ‰ŠŠ‰‰ˆˆ‡‰ŒŽŒ‡„ƒƒ‚€‚„‡‰ˆˆ…ƒ€€€€‚‚„„…†‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠŠ‰‰Š‰‰‰ˆŠ‘‘ŽŽŽ‘ƒ‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€€€€€‚‚ƒŠ‰Š‰ŠŠ‡††ˆ‰‰ŠŠ‰‰‰‰‰‰ˆŠŠ„€€…‡†ˆˆ†‡ˆŠ„‚‚€€€€‚…ˆŠˆ†ƒ€€€€ˆˆ‰ŠŠŠŠ‡††‡‰‰Š‰‰‰‰‰‰ˆ‡„~~€ƒƒƒ†Š‡‡Šˆ†…‚€€‚€€€„‡‡ˆ‡ƒ€€€„ˆ‰Š‹ŠŠ‰‡……‡‰ŠŠŠ‰‰‰‰ˆ†‰ˆ†ˆ‰‡†ˆ‰‰‡†ˆ‡„ƒ‚‚‚„ƒ‚‚‚€€ƒ†‡‡‡…‚€†‡‰‹ŠŠ‹Šˆ††ˆ‰‰‰‰‰ˆˆ‡†Š‰‡ŠŠŠŠˆ}‡‡…‰‰ˆ†„‚‚ƒ„‚‚ƒƒ‚€€€ƒ†ˆˆ‡†‚€|ƒ‡‰‰Š‹‹‰ˆ††ˆ‰‰‰‰‰ˆ…†Š‡„‰ŠŠŠˆ€~‡Š…ˆŠ‰‰ˆ…ƒ‚€‚‚€„†‡‡‡…ƒ||†‰‰ŠŠ‹ŠŠˆ†‡ˆˆˆ‰‰‡…„‡‡„‡ˆˆˆˆ‡~}‡Š…†‡††‰ˆ†„€‚‚€€€„†‡ˆˆ}}~ƒˆ‰‰Š‹‹‹Š‡†‡‡‡‡†………„†‡††††……ƒƒ‡Š‹‹„„…‰‰‰ˆ†ƒ€‚ƒƒ‚‚€‚„†ˆ|}}„ˆ‰Š‹‹‹ŠŠ††‡‡ˆ…†‹Œ‹‹‹ŠŠ‹Š‹‹ŒŒ‘‘……ˆ‰‰‰‰‰‡ƒ€ƒ‚ƒƒƒ‚‚€€€€€‚„w|~†‰‰Š‹ŠŠŠ‰††‡ˆ‡‰ŽŽŒŒ‹‹Š‹‹‹‹Š‹‰‡‡ˆ‰‰‰‰‰ˆ…ƒƒ‚‚ƒ‚€€€€~pz}}‚ˆ‰‰‹‹ŠŠŠˆ††‡‡ŠŠŠ‰‰Š‰‰ˆˆ‰Š‰Šˆ‡‹‡†ˆˆ‰ˆ‰‰‰ˆˆ„€‚‚‚‚‚‚€€xhm|}{ƒ‰‰Š‹Š‹‹Šˆ…††‰‰‡‰ˆˆ‡‡‡ˆˆˆˆƒ|ƒˆˆˆ‡†‡ˆ‰‰ˆˆ‰ˆ…‚€€‚‚‚‚‚‚€~jhq|}~†ˆŠŠŠ‹‹Š‹ˆ†………ƒ…ƒ„……‡„ƒ‚‚„…‡‰ˆ†…‡ˆ‰ˆ‰‰‰ˆ†‚€€€‚ƒƒƒkjkv€~}ˆŠŠŠŠ‹‹‹‰†…„…ƒƒ‚‚€ƒ„„ƒ‚ƒ„…ƒ‡‰ˆˆˆˆ‡‰ˆ‰‰‰ˆˆ‡„‚€€€ƒ„„„mmms€}}…‰ŠŠŠŠ‹‹Šˆ…ƒ„…†…†„ƒ…‚„†„†ˆ††…ƒ‡‰‰‰‰ˆ‡ˆˆˆ‰ˆˆˆˆ‡ƒ€€€‚…††nliny~|€‡‹ŠŠŠŠŠŠ‰†ƒ†ˆ‡‡†ƒ‚„‡ˆˆ†„ƒ‡‰‰‰ˆˆ…„‡ˆ‰ˆˆˆˆˆ‡…‚€…‡†ijhikz}}ƒ‰ŠŠ‹‹‹‹‹ˆ‚„…„…ƒ………„„„‡‰‰‰‰‰ˆ‡ˆ‰‰‰‰‰ˆˆˆˆ…‚€ƒ……nniges€~|~…‰ŠŠ‹‹‹‹Š‚ƒ‚ƒ‚‚ƒƒ€€„…†‰‹ŽŽ‰ˆ‰‰ˆˆˆ‰ˆˆ†ƒ€‚‚mjggfk{~}€‡ŠŠŠŠ‹‹Šƒ€ƒ‚‚‚‚‚‚†‘”–—––——–——˜–Œƒ‡‰‰‰ˆˆˆ‰ˆ†ƒ‚fgggghq~€~|‚ŠŠ‹‹‹‹Š„‚‚ƒ‚‚‚‚‚‚ƒƒƒ„‹‘‘ŒŒŽŒ‹‹‹‹Œ‡‡‰‰‰ˆˆˆ‰‰‰†ƒ€hhgfffgu€}ˆŠ‹‹‹ŒŒ„‚‚ƒ‚‚‚‚‚ƒƒƒ…Œ†}||…ŠŒ„}}}|…‹ˆˆ‰‰‰‰‰‰ˆˆˆ†ƒjhgdgiht€~~„‹‹‹Š‹„„…‚‚‚‚‚‚„„‡Š‚yxwzˆŠŒ…xyz{…Š‰‡…‡‰‰‰‰ˆˆˆˆ‡ƒ‚ihgfhjhn|}ˆŒŒŠŠ‰„€ƒ‚‚‚‚‚„ˆ‰…„ƒ‚„Š‹‹‰ƒ††ˆ‰Šˆƒƒˆ‰‰‰‰‰‰‰ˆ†„jjiiihhjt€}ƒ‹Œ‹Šˆ…„‚‚€€€‚€„Š‡‡‹‹‹‹Š‹‹Œ‹Šˆ‰Š‰‰‰‡†ˆ‰‰‰‰‰‰‰ˆˆ…kkihnkhjr}‚}‡‹Š‰Š‰‡‡††…„………„„‡Š†…‰ˆ‰‰‰Š‹‹ˆ†ˆˆ‰‰‰‰ˆ‰‰‰‰‰‰‰ŠŒ‰lnmnppmpt|}}‚‰Š‰ŠŠ‰Š‰‰ˆ††‡†ˆˆˆ‰„„†……†…‡ˆ†ƒ~~‚„†‰Š†‡ˆˆ‰‰‰‰‰‰‹Žzzzzzzzzzzz{zzz{zzzyyyyyyyyy{„„ƒ„…††ˆ‡†††ˆ‡‡ˆ††††††……‡†„ƒ‚‚‚‚yzzzzzzzzzzzyyyyyyyxyyyzyyyy{‚ƒƒƒ‚„…††………†ˆ‡†…†…………†…††…ƒ‚‚yzyzzyyzzyyyyyyyyyyyyyyyzzyzz~‚ƒ„„ƒ„„……„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚€zyyzzyyzzzzzyyyyyyzzz{z{{{zzz}€ƒ…„„„……„ƒ…†‡†…„„ƒƒ„„…‡ˆˆ‡…‚‚‚‚€€y||{zzzzzzzyyyyyyyyz{||}}}||~€‚ƒ„„„………„…‡‡†………„ƒ„…‡‡‡‡…„‚ƒ‚€€|‚~|}}{zzzyzzzzzzz{}}~~}‚ƒ‚‚ƒ„ƒ„……‡††ˆ†…………„„……‡‡††„ƒ‚‚‚€€~|{zzyz|{zz{|}€€€€‚„…ƒƒƒ„…„„„„…‡‡‡……†…„…„…†††††„ƒ‚‚‚‚{yz{}~~}z{zyz}{z}€‚ƒ‚€‚„……„„„„……„ƒ„…†‡†„„……„………†††……„ƒvst|}}}|{|€€„††…„„ƒƒƒ‚ƒ…‡‡…†………„„ƒ„…†………„ƒƒ„„……†††…„ƒ‚‚ƒ|zy|€‚€€€‚‚…‰ˆ‡†…ƒƒ„„…‡‡†††………„………†„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚yyyy{{x|„‚~~{y{{€‡‡‡‡…„ƒ……†‡‡†…††…………†……†…‡„ƒƒƒƒƒ……†‰‡…‚‚‚‚{yz{z{||€}}{y{|}ƒ††‡†……†ˆ‡‡ˆˆ†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ„~€‚ƒˆƒ€€~~…††‡††‡ˆˆˆˆˆ†…„„„…„„†‡‡††„„„„„†‡ˆ‡ƒ‚‚‚„†‡„„„ƒ‡Š‡€€‚†‡†‡ˆ‡ˆˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†„ƒ‚‚…ˆ„ƒ„„‚€‚†‡†‡ˆ‡ˆ‰ˆ‡‡‡…„…„„„††‡ˆˆ‡„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚………ˆ‰‰ˆ‡…‚‚‚‚†††‡ˆˆ†ˆ‰ˆ‡‡†„…„ƒ„…‡†‡†…„„ƒ„……ˆˆ…€‚ƒƒ‚ƒƒƒƒ„„„„‚‚‚ƒ…„‚‚‚‡‡†‡ˆ‰‡ˆ‡‡‡†…„†…ƒ„…‡†‡‡…ƒƒƒƒ‚‚‚~{||~~€‚‚€€ƒƒƒƒ„ƒ€€‚„ƒ…††…„…†ˆˆ‡‡‡ˆ‡‡………„ƒƒƒƒƒ†ˆ†††‚~}|z{zzzz{{|~~~|~€‚€€~~€€€€€‚„ƒƒƒ‚ƒƒƒ………„ƒƒƒ‚€€€‚……„……€~~~€€€€€€~€€~}}}}}}|}}~~€€~~~€€‚‚€€€€€€€€€€ƒŠ…ƒƒ€‚‚‚€€|}€}}}}}}||||}€~}€€€‚„Š„‚€€€€€€€|||}}}}}}}|||}}}~~||{||{zz{|}€€€€~ƒƒ‚‚‚€€€€€€€}|||}~€~}}}}}|||}}}{z{||ˆƒ~}|{|€€€~~~€‚ƒ‚‡‰‚€~}}}|}€~~}}}~}}}|}~|}||}~|}}}}‚‚~}€‚…†‚‚‚~}||}~€€~}}~~~~~}~||{z{z|yx|}|{~€€~€‚‚‚‚‚‚ƒ}}}}}}€}}~~~~~}~~|~{wyzzz}|~~€€€‚‚‚‚€~~‚ƒ†ƒƒ€~~}}}~€~~~~}~~~~||†~xyyy{ƒ|}~~~€€‚‚‚‚‚~}}„„ƒ€~}}}}~€€~~}}}~|z}…zzzz{„ˆ~z|~~}~€€‚‚‚‚‚‚€~~€€…„‚€~}}|{|€~~~}}~|{|€}yz{{}…‡}{}}€~}~~€‚‚‚‚‚‚‚€}}~“‰‚€}}}||}€€~~€}~~}~~‚~||}€~}}}}€‚€€‚‚‚€}ƒ„ƒ‚€~}|}|}€€€€}|~~}}}~~}}~}||z{€~~}}}}~€‚€€€‚‚ƒ„ƒƒ‚~}}}}}~€~~||{||||}|}}}}}|{|{~€€~~}}}}~€‚‚€©€‚‚‚‚‚}}}}}}}~€€{~…€}}}~~~~~}~}~Š†€~~~}}}}}~€‚€€—º{}Œ‚‚~}}}}}}€€€~‰~~~~~~~‚Š…€~~~}~}}}~€‚‚†š}{‰ˆ‚ƒ~~}}}|}€€€€ƒƒ‚€€…ƒ€€‚€‚‚€}~~~}~}‚||€‚ƒƒƒ€}}~}}}}}€€€‚„„‚‚‚ƒ…„€ƒ„€}~~€€~~}~~~~‚‚€€‚€~‚ƒ‚‚ƒ}}}}}}}~€€‚€ƒ„€~~€€|}€€~~}}}~}~‚‚€€€ƒ€|‚‚‚ƒ‚~~}}|||~€~}}€€€€€€~}~€€~}}~~~}~~}}}€‚€€€~z|}€‚‚~~}}}}}~€€€~ƒƒ‚ƒ„„„~~~~~}~€~~~~~~}}~€€‚~yyzƒ•ˆ‚€~}}}~~~€€‚ƒƒ…ˆ‹Š‰‰‡„€~~||zzzyyyzz{~~~}}}~‚€~ywx}„Š„‚~~}}}}~€€‚ƒ‚‚„…„„…„„„}xwuvvvvuuvuvv}€€~~~}}}~€€‚€~zxwy€‚‚‚~~}}}}~€€‚„ƒ‚€{z{{|}‚€€€~|€~~~}}}}~zxwwy€‚‚‚‚~}}}||€€€€€€€€€€€~{|}~~~~|~}~~~~||~~~}}}~€€~ywy{z~‚‚‚‚~}}}||€€€€€€€€€€€~}|}}}}zxyz}~~|{~€~~~}}}}~€~{x{|{‚‚‚}}}~€€€€‚}}}~€~ywvz}~{{}~}}~~~}}~€}{{}~~€‚‚‚~}}}€‚‚‚‚‚~}}|}}}|{xwz|€‚|z|}~€€~}}~}}}}~~€ƒ~€„„‚‚‚„ƒ‚€~}~~€€€€}}}|||||}{zz|ƒ†}{|}~~~~~~~~~~~}}~‰ˆ‡ˆ††„…†„‚š~}}}}}}~€€€€~|}}|||||~|||~‚ƒ€}~}}~~~~~}{{ÏÏÏÏÏÏÏÏÏÐÑÐÏÎÎËÅÈÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌÇ¿¶¯¥¢•~rjkxlkinnscgbW`c]]e]T[a``VQOT[Y_d_dSUVWVVTTZUQW__\YTME=7;<632@2ÏÏÏÏÏÏÏÏÏÏÐÏÏÎÍÉÄÇÃÊÍÎÎÎÏÏÏÏÏÏÎÎÎÎÎÍÌÌÌÌÌÌÍÌÌÌÌÍÌÌÍÍÍÍÎÎÆ· ¦šyƒz€v`^ar|n^`okg[Y[\`ZWUP^ha[RPPPYX\ghhPV]a[QPLQRY`b[WPNJ@@75542076ÏÎÎÎÎÎÎÏÏÏÎÎÎÍÍÈÂÅÁÈËËÌÌÍÎÎÎÎÏÎÎÍÍÍÎÍÌËËÌÌËÌËËÌÍÍÌÍÎÎÍÍÍÌÁ¤‹Šqonqklomt€}abaed[[[[\]SSV]d[ZZWURVTV]hdQQY\UMONQQ]d`b[PGA?<952320.2ÎÎÎÎÎÎÎÎÎÏÎÍÍÌÍÊÂÅÂÌÌËËËËËËËÌÌËËËËËËËËÊÊËËËÌÌËÍÎÍÍÍÍÍÍÍÍÍ͵—”{mtw{vhfd^hZaed[[WU_YTYegSQTWXSOLVP[hQOUXZPMSPOYb_aWTUNH><96321.-ÍÍÍÍÍÍÍÌÍÍÌÎÍÍÎÊÁÂÁÍÎÎÎÎÎÍÍÍÍÍÍÍÌËËËÊÊÊÊÊÊÊÊÊÊÊÊÉÈÊËËËËËËͽ’‚…sbm~ncg`abXibYXTSM\a_apo[ROU]TMITRSYSZ\YUNPQTZ_XWYQOYPI>@A<520-+ÍÌÌÌÌÍÍÍÍÍÍÎÎÎÎÈ»¼¼ÊÎÎÎÎÎÎÎÎÎÎÍÎÎÎÍÎÎÎÌÌÌËËÌÌÌÌËÊÆÉËËËÌËÇÆÄ£Š{|qh_kpqf_b_X]_VS[SSPZgefgdhWPVYTQSTRSXQY^bUSUQY[]XXTSOQPI>@>5550.2ÌÍÍÎÎÍÎÎÎÎÎÎÎÎÎżļÇÎÎÍÍÎÎÎÍÍÎÍÍÎÎÎÍÍÍÍÍÍÊËÍÍÎÍÌÊÅÊËÌÍÏÌÇÅ´™z|reXTc`[_b`]a_XTRKOUY`adi^\TOOOOKSQSP^LUTYZWZY_[[WSQSORKFC>@;431/4ÍÎÎÎÎÍÍÍÎÎÎÎÎÎÎÅÁÌÂÆÎÍÍÍÎÎÍÍÍÍÍÍÎÎÎÍÍÍÍÍÎÊÉÊÌËÈÆÄÁÇÆÈÌÍÊ¿¼®‘xqVTQROVZmpfac[YMCAOXS\ba^WURJLKILHOLYORUUVVZ[[[_XSORMXOCGA??40/--ÍÍÍÍÍÍÍÍÎÎÍÎÍÍÍÅÁÌÃÄÍÍÌÌÍÍÍÍÍÍÍÍÎÎÎÍÍÍÎÍËÉÇÇÊÃÀ»Â½Â¿ÅËÉÅ»®¦¨Žtr_VWYWhi^oggaVVRRUTeTO[]SNWXRKJFNPQXWRQY[USXXUOUXTPVPXX@57220/.--ÍÍÑØÖÏËÌÌÌËËËËÌÂÁÉÁÃÍÎÍÍÍÍÎÎÎÍÍÎÎÎÎÎÎÎÎÌÄÂÂÀļº­¾º¿¶¿ÇÀ¾´¤Š‹€p‰{f[`[]elVm]U^SNST`^WNOQXQPSVWLLLSSSZh_PXXVVUUZSQZXX]]ND=7540.----ÎÚéðîäÑÊËÆÂÂÄÆÊÂÀÇÁÁÊÍÌÌÌÌÍÎÍÍÍÍÍÎÎÍÎÍÍÍƽ´½¹±¡ºµ¿´µÁ¶½´˜†|{mhbbccTZd]Vc[RZ]PRRW]UVSMNNKLMSYVOQORRc[NZZXRMPZXYTWQMK@7=<;71.----ÜíÞÀÈëêÎĽµ³¸»ÂÃÄÊÆÃËÍËËËËËÌËËËËÌÌÌÊÊÈÆÆĶ¯©®±§žª¯º°³º®¬¡ƒvxukjR_eZXcYQ[h^X_YLOQT]`aTPMLLMQLUWKNSNS\]Ya\TPLPYVWUOOXJBC>;;951/.-,âã®”žÆÛŵ³³¶·ÀÄÇÌÉÅÌÎÍÎÍÌÊÈËÌËËËÊÊÇÃÿ¿´¢œš£¥š— ®®«­¨¥˜ƒsnlgjn^WXU`aVV]][_WRWTRTU_WQSONSVRSTWQOWPRZ`X^WY\W_`STYWSRA?G;7677520/.…~|€|z|ƒŠ¨ÄÂÆËÉÃËÍÎÎÍËÈÃÉËËËËÈľ¶¶µ¹¬Ÿ–Ž™š˜”¡³¯«¡™›’xjeeVjbSLHPW`YRR^g`apa_b^TXNQPOPRVQUQSZRZOO__]g[c_jgaSQMMJKA=A8755454/02†•š‘`XYXw’Š¸¼ÅÈÇÁÊÍÎÍÌÊ»ÆÊÊÈƾ®¤ž¤¥œœ—‰•™’’ž­®’‘„veehZ_UPSQQZ`^[jn^QXdOXqp]QNKNMKHJLLOMMPXTX^TRXX`g^]XOJMGFECHA8644344014­©¯¹”bTƒÃÚâÙÀ~“·ÀÆÆ»ÅËËËÊÇ¿µÄËËÁ¶©šž•™—Šƒ—”ŽŒ“›‘Š‰Š„wupcYSZ]YOY]VT^i\RP_hgc`]SRMJJHIGGEFNMR^[W[VO[jhhW_SMUSHIA>A9854423337¥ÄŸg1@”‰FKNJDi€° žœ¨¿ÇËÓÕ×ØÖÔÐËÅ­™“™Ž‘Ž‹‰ˆƒ}‚z‚‰†y|{zqiheZWZRY^ZT][^ZVZZ\^[UPJXUNLOKADFFA?FHIQKRSY]bXbo]^OZ_[IEB@><856669=@=PUgXI79NUWe@9\w¸j‡©»¿´«”‘’“–›¢¯µˆŒ‹ˆ…‚‚z€‡€}vywssolgY\cbeYRTYW]^aXT\TX^\VPINLNIBDF@?FGDAPHVX[Xaaa\RdbVWXSMHEG:75667<=FFFDBFJEEEXbnaJBF]¶ZvЇKHGDIREHDEGD^Œ‹…ŠŽŒ„‚‚ƒ{~Œz€yvrttoidW^db\RVOQ^fdcUNSRg_dXNRQOJHDJTJCJMMFPQ]^ZN[dddTacVOX_SEAA=:8767;@KBklllikkjrwwtmjeh}¶ÞÕ]BHIJajTTSMLJ@‹†„—‰‰~†‰‚~Šy{xvuuytcWQ[ZZWZXNZ\_`ggilrnQ]]VNQQGFEPXQQOOQIJVY^ZNO_[a^^hfV_VB::<=<:;9:==>;YWWVVVUUVUVXZ`bjÖã²SSA<;RZ\WD;?>=jNPSRRZWSSRP_ug¥{³Ø“aovwy~~{|{yurqu«ß莀~y€…„€{€{wsvyytpkg]UNKYW\TSY][YIY`Z]XYaXKMTOLILOOOTVXV[of[[[ZWZYRWMOL@874^|97988;AECEØdU\ch•zf`[U«éÕ÷qºÐÇÆÊÎÏÌÏÎÎÎÎÌËÉÌÏ ’|}|}|€„€}xypoxx{riacUSTEAMWXVZ\NKIVY]]U[f_SNLJKOMNJHKNVXZ^a[^XVRVOKMHB<8776T‡?789;;>HJHësDIMb¼ŒJIFLÀóãðƒgÌ×ÙÚÜÝÝßááááßÝÜÛÙܨvzy|~€{~‚„„zwxmipvzoha_PQTGJQUX]UPSRUU[VWX[b^SLEDBEHIFFGJSV]\VMVSUSSNHFD=96686Xx@98;=?>=<@LPVbZTX[RW[PMG;;:87782‡áO16;:;BIJJ«ÜáßâââààßÞÛÌ‚OH=cÙÞäêéìÏ´¯×Ç««ÔëâàÙÖœv{zvz|}~|}ytwvimtlih`O_k]VTZ[YSPXYZb_XV^\VNHE@@?><79?DIK[iYU\Y[]WHDA958887:4ƒäO08<=BHHDQ®ïóóóòòóôôòòÞ~OKAYÙâèêãçÀŸ Íį©ÐèåâÝߣuxzyx{}z||€|xyumjpihcc[hqc\NQ\ZVSU[X`ZW\fZPJCA@@CA?>CID?L\lk^MQgRHA;;;8;;99>8tÚT3=DSRJV_^lmRVXKB;666;@BA>AOVOgniwŠj[_SIC>:;?FMIB=?9{òm9<5=IIWaleyr~ƒ‡–…ƒ‰“ztUJJJJ°ïíððìíðñòññðëíñïîâˆ{~jz~y|xs€~ztqnkhhecoaTW^XW\SPURTQ[^[e^VVSOIGGBGJEDFNMRimnwxdbmiWPOMPUTVTHIP;vós769W\_kjiMagkmq‡xrnlj]C@B;?ëزªãÕ¢Ÿš£âÕ˜»ÜØ‚xzrx~{|}}vzxyuskb`c\\kcVPWZb[XSOPXU[e`bYPOVRLE@>JX`VZaepg\YZ`cgknlpf]hxvpleikS‚ñ‚VSZwwrulfHIIHECAAACCHNB115?‚ßÅŽxÍß‹xvvršî²l£ÆÊsv€}uz}|uy|~xzpeZchdacaUWYYTSRPNU]ZU[[TNRYURU\\rƒyclyp]UY]_acjgn…ƒ€ƒ†|€„‰‰ˆ”´”‰ƒ}}ttrh|{{yyyxyy{{y}v9-3?eØëâØÞæÔÈÌÍÌÛâÛÛåî¯gz}|~vv~wrx{|qwne_`ia]b^Y[UUTTZ\QOXWNKNSXYY[dxƒ‡Œ…ebsnVRY\]\^gklu€~~vu}‹ŽŽ’’‹…‰‚€orpmphlmmmoqttvxxwwt>15Cg‰”®¦š­Àº„}‚Šom}vtvztt}utywwssommkmlosomolpzŠ”†ˆŽŽ„…¬’||ƒ~z€lamobU[`_][`igjtigcfeuƒ}€…ˆ…„Ž†{sdhpnjgccbdfijijklmnpjils‚‚}}€~|€‹™—†Œuv{zywvttrrqrttsrqponmmnprtwyzyzwutuxxy{}Š”ž«´²ª–…zqlmmlnmjgc]\][Z`^WY]^_agkfhdbeppjplg`juotyponmmprtututttuuw{}€€~||{zwvv~Ÿ Žrqrtxwwwvurqqqrstsqnkiiiiklmpsuvvuttusrsqqqsx‚Ÿ­²¯§œŽ~pgggeb_\YV[YWVXXWZXXY[YWYYYWUUVQZZcqxvqmkjjlnopqqonnnnqtxz{|}||}|{zvss{†|‰£–vnprstvvtsrpopppnmnmlihffffhklnqtuuutroooopnnrv~ž³¾· „rjgiihc`^]XUSRUSRTW_bUVX[WWVUSTUSX{xspliijkmooopoooopqsuxyy{{zzyxwvuqp}Š’—‚€tpprtuuvtrromijnmmkkjgfccdddgkortuvvtrolmnoppnmn}–°¿¼«“rjjkgdbb[V[VVUUXXSTV\TTT[YVVUTxxvuqmjhijkmooopprrrrrstvvwxyyyyxxvtqnm}¡¡mmostuvutvsojhkjjjkljjifeddccdgimqtuwxvtrnljmpqpmms‚™²ÄÀ¦†rhjkkifeba]ZUTSTSSSTTZWTWXXxvvvurmhfghjlmnnopqqqqppprtuvwxxwwwtrqppnmsž°”moopqrtxzwwywxwvvtrmgcaaba___`djorstvwwtpkhhlnomkhk| Ã̱‰rjikkjjhfc_[WTSRRSSUYTVWVuuvvvurnigfgijllmmnooponmnpqstuvvvwusrrqqpq‚‘Œ…˜Ÿ¦ª¬°¯®±°±°¯°°¯¬£™Œkcbba``_afknprtuvvvsmhhklnpoljv”±Ä¿£…rkklkjhhe`]ZVURPU[STTTstuvvvvsojfeegijkkllmnnmllmmoprstuwvutsrqpox™¥·°®¨¡›”Œ‡‚|xyzyz{~ƒŒ”•–mgcaaa`a`adhknqstuvvtqlhgjmonlikw•·É¿ qlllligeecb_[WTUSSTorstuvusqniebbceghjjklmmmmkjklmnqrrtutssrqpŸ¤Œ€yqg_YWY[c€|e_YTRQSTUTr|mkgdb`aa_]_bfknqrsttttrledhklmmjfi€¬Íͯ†qqmjihghgfeda]WTWlnopqsssrqnica`acdfgijklmmkjiijlmnpsrstssssšlOLKMNPUV[[c…“zXRShheb\SACnpnolidbbcb`]^bgknpqsstutqiccgjllkifg}¬Ïί†plmkihfeggffa]\jknpqrstsrqniebabbceghijklklkjijklorrstsssz€CHU^irz‚V4530,155Cgllmkj[>Mmjnpomjgefgda_aeikopqstttsoiddhjlkkjgi©ÊÍ°‰qlmmkihgfffebhkmoqrtttssqnjecccbcefhjkkkllljiikmopqrssq‡h;X€™ ¤ªŠdS;339DGGEB?A::EUAafejmooljgfffdb`aeimnoqrstttpkfdhjlmnmgg{¢Åι˜zmllkjiggffcgjmnprsttsrqnkgdbbbcdgjjjjklllkhhjlmoprstJMZ¤°²µ¶µ±ªŠmqzeFB738@;44aTOjecehkmmifdddba`_`dhlmpqrstttqkfdgjmnnkifrŒ±ÌÈ­umkmkiji]beikmoqpqrrqpmjeb``aacfiijjjkllkhhijlmoo{‚Ah;·°©ž•{«Æ‰y¬ŠB93BTPA42QvCikgebbfijihea_aa_]]_behlmoprsrpojfegjlmlmkhi}Ÿ¼Ì§‹wponl}[bfilnopqqqrrpnjea`_`aeghijjjkkkjhggijkl‚kRo0@QKD:NLwuP5>m‹Gjllmkhd``bdggeca`^_a_^\[\_bfijlnoqqomgabdgijjjjief€©ÌÔ¹¾Î±_\cehjllnsrpqqpmjeb```bddeghiijkkjigeo}L>135m¡ˆHB?7455@IJCMO`u`64+DšQ`lkmmljfcaaehiigdbabbbb_\\`dijmopqrrppnidcehkkkjiicey È¯ÂÐZ_cfhjlmoqqrqqomjfbaaacdeghiiijklmmgsl_Š69;D}‹šy=622226=:@Mg–œq6527nSmlmllklkgcbehjkigfcbaaa`^^_adgjmoqrrrsrnhecehijjkkjeev€¸ÆÏŠX`dgiklnpqrqqqomjebaacdeefghhiklnohx^u|;HJEˆª„JJ:22232057Vœœb:321uŽIklnnnmmmkjdbbejlkjgdb``aa`^^_aehknoprssrpnicbehjklkjjfQ•¼ÈÇqYaehjlnopqqqqpnlidaaaacddefghjkkne|TŠmEMLH\€u\KKF??>=<:8Gi••S@961_§Leke^^gmlkkjfcbbeikiheb`_^`_^]]_bfikmoqqqqqqmhbcfikkklkY{±¿Î­^\dgjllnopppqqonlgca``aaccdegjkimjtM›eIWLfŠ‰JFFEFFFFEEDo–ž€J@>>1Y¦F\lB99Bjlkklkheb`cgijigea_^__]\[]^bfjkmnopprrrmgccfhjklY\~¸ÂΘZ`ehjkmnoopqponnkfca```abcdeSA=OŽcD˜gS‹ZReFCHLT\]]RPRN[^r}ZF>891FS2JO9>85flkllljjgca`dgijigd`^]]\\\\]^aehkmnpqqrrrohbbehjQJNŒºÃˆY_cfijkmnoooonnlieb`__`bcd_9:<>qTI8662337;<53323345578656778:9:HDMXa‚‰¼òçîíìëìììíò™™…wdN@82//8hjiefhgggggdiheebcdeedffffffffffedb`]\_fhhihd^]\]\YqokilmigikeMJIb±ÁÉÕˆ\cffhijkklmmlklljf?+.//49AIVf~¥¯®îáíííîîïïðö•¢˜‚oVD=70/.ŽÉ“rt…Œ–˜›œ £¦¥Ÿ“Œsk^En¤§³³±¯ª¥¡ ž›˜––”“’’““”–˜š˜»áâ¢adeefgffgggfffffec`]\_ejlnmliy€€rmllijlpiaOILKM”¾ÁÕ¬\`cefghjjkklmmoE38---2;NXC6?CF79779743211125a¯“‡ƒ€}zwtsronmllmnmnooppyŽuocceefffeffffffeffec`]\_ehkmmlrwsvumphnoplkeXMKHb·¾ÊÒ}XacefhijkkklloE18,,,/15:<<>A@962p²{W[`dglmpv}…­¶›˜•’Œ‡„‚‚‚€~ouwr‹zeeeedeeedeedddeedca`^[]chkmlvonmlnlhjknnniSIKKl¿ÅÎÖˆ^efhhhhikji`Y;/;2-,+,,,++***)****('***)'6¥ k`u„†ƒ€‚€}€kfjQJn†ˆŽˆ…~e`t]^bccddeeeeededdeeeeca`][]cikmkmurnlmnngkljiUJKMO™ÇÆÓºa^bdfffhhhbWU:.;5,EI4/.,+*+**********+/0[¦‡Twˆ›£«µ»ÄÇËL:9:=^ÃÜÜØÒ×Ú×ÆztJpda_aa`ceeeeeeefgffeedba_][]dikmrtnmmprqlimlgTLKLJg»ÆÍÖŠ^eegggeddbZV=.9542OLE?8781****+++.49>CEz—nP~¶àßßßßßßâ‰\fYWSS¾äßß×ÒÚÝÜkyU_id£»½’_dddeddeefffeddccb`\[^dmkmouwuruljnnkqfPJKKN’ÈÉÔ¾icfghhhihg`UB2735/6520-*,*)**)+,-////,6ƒš[^i¹ãÜÛÜÜÜÛÜzZcflPO²ãÞÛÔÒÙßÞb^nPl`“çïæ•`bbcbbdefeecddccb`_][_kpwuptrlokljgisdKKKKK`¶ÉÌÖ–_efgghgfdaYC65113+#""##$$#$$#$$$$$##!?‘“PkM¬äÜÝÞßàßÉfSP^^PO™èåçäÝÓÅ«OA|Mfc`—¶´£d``abbcddddbbcccbba_\[rxvpjkmnmiijvsug]XLKMOˆÉÇÐÉscffghgec`]S>0../,+,-----.-..01012332X ƒJoC\ooqty}ƒsUTUžRTcžœ…q^NB?D8mZWca`^Z]``abb`bcbcccbbcccdb`_\jjlhcacjkrzxsunineQKMR]³ÇÆÖ¨cffhjfeca^YNDBBA@ADFFEFFFFFGHHHHHGFIp£qLpI;5465429C>:I´†IH=4346886>N;SnMabaaaaaacdcbcccbbcbbbcdccb`]rmlmlwpsiututs|~j]TLKLL}ÆÃÐÔ„beeededb_[UPNMLKLNNNOOOORSTVWXYXXW\€›aQnJ:76::8774212ƒy24446;::;9=H>=wL]bbbbbbcddcdeecbbbbabccccba_‡{‚zy{yjjpzwx{te]RLKKJR£ÈÇعd`bcdddca_[WUTTTUVUTTTTUWYYZ]^^]]\c†ŒX[fF654565552222<@34544=Qh[44783jXVbbccbbaabbcdccccbaabbcbcc`Y‰~u€ztsjluojhpjbbaVLLK^f½ÃËØ]`bccdeba_]]\\\\\[YXXXXY[]^cekqdhƒ|{Oa\B<65>II>8>8232134642T‘–~9=953TjLabddcc`acccdddccbbbbbbb\WOJ€~yx€ytqrc`hq{rjkgZMLLYaZ˜ÂÂ×Àe_acbcdcba`_`____^\ZYYY[]]`inxnŽ“urJiPJSEHU[WPJRP>223355:KY~ˆfLNPD6@pH_b_abddbeggfeddddccbbb`OJII†††††††‡‡…†‡†††‡‡‡‡‡‡‡‡‡‡†††…ƒ‚}yuttswywyzzy{{zwuyyz{zyyz|~€€€………………†‡†††††††††††‡‡††‡†††…„€|yvutvuvyxxywyzyywuwvxzzxwy{~€€€……………†…†††…†…†††…††††……†…………„‚€€{vxwxwwyzxxwzzzyxwvuwyyxxyy|~€€…………†………††…†††…………………………„………„ƒ€~zyxwwy{{yxwzz{{yxvvxyyyzzz|~€€†„ƒ…†„……†…………††………………„„ƒƒ„„…ƒ‚~{yxwyz{zyzz{{{{zvuxyxyzzy{~€‚„ƒ„„„…………………†……………„ƒ‚‚‚‚‚‚~|yywyz{yz|||{zyxvvxz{zzyz}€€€‚ˆ‡ˆ‡‡‰†„……………………………„€€€€€~|}~~{zywwwxyz|||{zywwvwxxzzy{}€€€‡†ˆ‰„ƒ…ƒ…†………ƒ………ƒ‚}~~€~}{|||zyxwxvux{|||{{yxyxwuvxyy|}~€€ƒƒ‡‡ƒ‚…„……††…ƒ‚~|{{{{|}}}~{{z{|zzzxxzwx{z{|}}|zwyyvuuwxx|€€€‡…‹‰…„‡„€ƒ„ƒ‚‚‚€xwwwx{{y|{zzxy{yzzyxyyy{{|}}}|zyyxwvuvww{~€€~‘‹Œƒ…ˆ‰‰‰Šˆ|xwww{{xzxxxxyzz{{yuwxwz{|}}}|yzywywutvw{’‘‘ˆ‚ˆ‰ˆˆˆ‰‰|wwxxyuvvwuwz{|zzyuuvwz{{}~}zxywwxywwx{~~~………††„‚„…ƒ…†…„……†ƒ}wwwvurtuvuwz|}zzx{{yzyz|}}}zxxvwwxwy|‡€}|€}€‚‚‚€‚‚|vvuttstttuwyyzyx{|{z{y{}~}}~{xxxxy{}€€ˆ€€}{€€€‚€~~~€|utsssssttuvxuxyx{zyyyz|~{wwxx{~€}}~~|x€~€€€€‚€~€€€€{stssrqstvvuwyyyz{yxxxz}~|wrtvw{~~}~~}~{wq€‚€{rssstttuwywwxxyzzywxy{|}zzxvqoppnqrpqrvz{woml}}}}}~‚€€~~~|uruttvuwxyxyzz||{{zzyxtninnrsqolhfgedefhfefik€€‚‚ƒ„„„„„ƒƒ„„ƒ„‚ƒƒ€~}~}~~~€€‚‚‚‚ƒ|xttwxzyyxwvxxtoppmlnomlˆ‡†ˆ‰‰‰ˆˆ‰ˆ‰ˆ‰ˆˆ‡‡†ˆˆˆˆ‡†„ƒƒ‚‚‚‚„ƒƒ‚ƒƒ„††‡„„ƒ€€€‚‚ƒƒ„ƒ„„ƒƒ|w‰‰ˆ‡‡ˆ‰‰‰Š‰ŠŠ‰‰Š‰ˆˆˆ‡ˆˆ‰ˆ‡‡…ƒ„ƒƒƒ„„ƒ‚‚ƒƒ„…†‡††„‚€€€‚‚ƒ„„„††‡‡‰‰‰ˆ††ˆ‰ŠŠŠŠŠ‰‰ŠŠ‰‰ˆˆ‡‡ˆŠ‹‹ŠŠŠ‰‰ˆ‡…„ƒƒ‚€‚„‡‰ˆˆ…ƒ€€€€‚‚„„…†‰‰‰Š‰ˆ†‡ˆ‰ŠŠŠŠ‰‰Š‰‰‰ˆ‰’’‘‘’‘‘’‘‘„‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€€€€€‚‚ƒ‰Š‰ŠŠŠ‡††ˆ‰‰Š‰ˆˆ‰‰‰‰‰‰ŽŒŠ†ˆŠˆŠ‰‡ˆŠ†‚€€€€‚…ˆŠˆ†ƒ€€€€ˆ‰‰ŠŠŠŠ‡††‡‰‰Š‰‰‰‰‰Š‰ˆ‡|}„„†‰ˆ‡ˆ‰‡…‚€€‚‚€€€„†‡ˆ‡‚€€€„ˆ‰Š‹ŠŠ‰‡……‡‰ŠŠŠ‰‰‰‰‰††„‚„†„ƒ†‰†ˆ‰†ˆ‡„ƒ‚‚‚„ƒ‚‚‚€€ƒ†‡‡‡…‚€€†‡‰‹ŠŠ‹Š‡††ˆ‰‰‰‰‰ˆˆˆ†‰Š…†ŠŠ‰Š‰„}…ˆ„ˆ‰ˆ†„‚‚ƒ„‚‚ƒƒ‚€€€ƒ†‰ˆ‡†‚€|ƒ‡‰‰Š‹‹Šˆ††ˆ‰‰‰‰‰ˆ‡…ˆŠ€ŠŠŠŠ‰ƒ}…‰†‡Š‰‰ˆ…ƒ‚€‚‚€…†‡‡‡…ƒ||†‰‰Š‹‹‹Šˆ†‡ˆˆˆ‰Š‰†…‰ˆ‚ƒ‰ŠŠ‰‰‚|…‹‡…‰ˆˆ‰‰‡„€‚‚€€€…‡‡ˆˆ}}~ƒˆ‰Š‹‹‹‹Š‡†‡‡‡ˆˆ‡…ƒ……††‡‡†††~„‰ˆ‡†…„ˆ‰‰ˆ†ƒ€‚ƒƒ‚‚€‚„†ˆ|}}„ˆ‰ŠŠ‹‹ŠŠ††‡‡‡……‡Š‡ˆˆˆ‡‡‡‡ˆˆˆ‰‹Ž‘‡„†ˆ‰‰‰‰‡ƒ€ƒ‚ƒƒƒ‚‚€€€€€‚„w~|~†‰‰Š‹ŠŠŠ‰††‡ˆ‡†‹‘ŒŒ‹‹‹‹‹‹ŒŒ“Š†ˆˆ‰‰‰‰‰ˆ…ƒ‚‚‚ƒ‚€€€€pz~}‚ˆ‰‰‹‹ŠŠ‹ˆ††‡ˆ‰Ž‹ŠŠŠŠ‰‰‰ŠŠŠ‹Š‹Œ‡†ˆˆ‰ˆ‰‰‰ˆˆ„€‚‚‚ƒ‚‚€€€}hm|}{„‰‰ŠŠ‹‹‹Š‡††‡‰……ˆ‰‰‰ˆ‡ˆˆ‰‰‰ˆ~‰ˆˆˆ†‡ˆ‰‰ˆˆ‰ˆ…‚€€‚‚‚‚‚|jhq|}~†ˆŠŠ‹‹‹ŠŠ‡†††ˆ„‡‡‡‡‡ˆ‡†††„‡‡‰ˆ†…‡ˆˆˆ‰‰‰ˆ†‚€€€‚ƒ‚kjkv€~}ˆŠŠŠŠ‹‹‹‰†…„…ƒ‚ƒƒ……ƒ€‚„„…‰ˆˆˆˆ‡‰ˆ‰‰‰ˆ‰‡„‚€€€€ƒ„„…mmms€}}…‰ŠŠŠŠ‹‹‹ˆ†„„„„ƒƒ‚‚ƒ„„…ƒ‚„……†ƒ…‰‰‰‰ˆ‡ˆˆˆ‰ˆˆˆ‰‡ƒ€€€‚…‡†nliny~|€‡‹ŠŠŠŠ‹‹‰†ƒƒ…‡‡‡‡„„‚„…‡‰ˆ‡…ƒ…ˆ‰‰‰ˆ…„ˆˆ‰ˆˆˆˆˆ‡„‚€†ˆ‡ijhikz}|ƒ‰ŠŠŠ‹‹‹‹‰‚‚…‡‡‡†‚€€…†‡†„ƒ†ˆ‰‰‰Š‰‡‡‰‰‰‰ˆˆˆˆ‡…‚€ƒ…†nniges€~|~…‰ŠŠ‹‹‹‹‹ƒƒƒƒƒƒƒƒ„…ƒƒ„‚„„‡‰‰‰Š‹Š‰ˆˆˆ‰‰ˆˆˆ‰ˆˆ†ƒ€‚ƒmjggfk{‚~}€‡ŠŠ‹‹‹Œ‹„€‚‚‚‚ƒƒƒ‚‚†‰‹‘Œƒ†‰ˆˆˆˆˆ‰ˆ†ƒ€fgggghq~€~|ƒŠŠ‹Š‹‹‹…€‚ƒ‚‚‚‚‚‚‚‚„Ž–—˜—–—––––––’‡‡‰ˆˆˆˆˆ‰ˆˆ‡ƒ€€hhgfffgu€}ˆŠ‹‹‹Œ†‚‚‚‚‚‚ƒƒƒƒƒˆŽŒ‹‰‡ŠŒ‹ˆ‡‡‡ˆŒˆ‡‰‰‰‰‰‰ˆ‰ˆ†ƒ€jhgdgiht€~~„Š‹‹‹ŒŽ‡ƒ„ƒ‚‚‚‚ƒ„„Š‰|zy€Š‹Š~||z~ŠŠ‡…‡‰‰‰‰ˆˆˆˆ‡ƒihgfhjhn|}ˆŒŒ‹‹‹†€ƒ„ƒ‚‚‚‚ƒƒ…Š‡|yxx‚‹Š‹}xz{‰‹ˆƒƒˆ‰‰‰‰‰‰‰ˆ†ƒjjiiihhjt€}ƒ‹‹‹Šˆ†‚€€€‡Š††‡‡…‰‹ŠŒ‡„ˆˆ‰ˆŠŠ‡†ˆ‰‰‰‰‰‰‰ˆˆ†kkihnkhjr}‚}‡‹ŠŠ‰ˆ…„„‚‚‚‚ƒƒ‚‚ƒˆŠ†Š‹‹‹Š‹‹ŒŒŠ‡‡Š‰‰Š‰ˆˆ‰‰‰‰‰‰‰‰‰ˆlnmnppmpt|~}}‚‰Š‰‰‰ˆ‰ˆˆ‡†††††††‰ˆ„‡ˆ‡ˆˆ‰‹‹‰„}‚†ˆˆŠ‰ˆˆˆ‰‰‰‰‰‰‰‹zzzzzzzzzzz{zzzzzzzyyyyyyyyy{„„ƒ„…††ˆ‡†††ˆ‡‡ˆ††††††……‡†„ƒ‚‚‚‚yzzzzzzzzzzzyyyyyyyxyyyyyyyy{‚ƒƒƒ‚„…††………†ˆ‡††……………†…††…ƒ‚‚yzyzzyyzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„„……„„…†‡†…ƒ„„„ƒ…††‡†…ƒ‚‚‚€zyyzzyyzzzzzzyyyyyyzz{z{{{zzz}€ƒ…„„„……„ƒ…†‡†…„„ƒƒ„„…‡ˆˆ‡…‚‚‚‚€€y||{zzzzzzzyyyyyyyyy{|{}}}||~€‚ƒ„„„………„…‡‡‡………„ƒ„…‡‡‡†…„‚ƒ‚€€|‚~|}}{zzzyzzzzzzz{}}~~}‚ƒ‚‚ƒ„„„……‡††ˆ†…………„„……‡‡††„ƒ‚‚‚€€~|{zyyz|{zz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡‡……†…„…„……††††„ƒ‚‚‚‚{zz{|~~}z{zyz}{z}€‚ƒ‚€‚ƒ……„„„„……„ƒ„…†‡†„„……„………†††……„ƒ}ystz€}}}|{}€€„†††„„ƒƒƒ‚ƒ…‡‡…†…„„…„ƒ„…†………„ƒƒ„„……†††…„ƒ‚‚ƒ}}zy}‚|~‚€€€‚‚„ˆ‰‡†…ƒƒ„„…‡††††…„„…………†„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚yyyy{|yz‚ƒ}{yz{~†‡‡‡…„ƒ……†‡‡†…††…………†……†…‡„ƒƒƒƒƒ……†‰‡…‚‚‚‚|yy{zz|{‚}}|z{|}††‡†……†ˆ‡‡ˆˆ†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ…€ˆ„€€€„†…‡††‡ˆˆˆˆˆ†…„„„…„„†‡‡††„„„„„†‡ˆ‡ƒ‚‚‚„†ˆ„„„ƒ„Š‰‚€€‚€€†‡†‡ˆ‡‰ˆ‡‡ˆ‡†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†…ƒƒ‚„‰…€ƒ„…ƒ€†‡†‡ˆ‡‡‰ˆ‡‡†…„…„„„††‡ˆˆ‡„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚……„‡‡‡ˆ‡†‚‚‚‚‚‚€…‡†‡‡ˆ‡ˆˆˆ‡††„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€‚ƒƒ‚ƒƒƒƒƒƒƒƒƒ‚ƒƒ††ƒ‚‚†‡†‡ˆˆ‡ˆ‡‡‡†…„……ƒ„…‡†‡‡…ƒƒƒƒƒ‚‚~{||~~€ƒ‚€€ƒƒƒƒƒƒ‚€‚„„…ˆ‡…„……ˆˆ‡‡‡ˆ‡‡†……„ƒƒƒƒƒ†ˆ†††~}|z{z{zz{{|~~~|~€‚‚€€~€€‚‚ƒƒƒƒ‚ƒƒƒ………„ƒ‚ƒ‚€€€‚……ƒ……€~~~~€€€€€€~€~~}}}}}}|}}~~€€~~~€€‚‚€€€€€€€€€ƒŠ„ƒƒ‚‚‚‚€€|}~~}}}}}|{|||~€~}~€€€€‚„Š„‚€€€€€€€|{|~}}}}}}||||}}}~€~}}}|{|}~€€€€€€~ƒƒ‚‚‚€€€€€€€}{||}~€~~}}}}|}|}}}|{z{{|€|{{z|€€€€~~~€‚ƒ‚ˆ‰‚€~}}}|}€~~}}}}}}}||~||}}}€†„~~~}|‚~~€‚††‚‚‚~}||}~€€~}}~~~~~}|~}||z|||{x{|||~€‚€~}‚‚‚‚‚‚„}|}}}}€}}~~~~~}}|}}{yz|zx|€}{}~€€€‚‚‚‚‚€~}€‚‚ƒ†ƒƒ€~}}}~€~~~}~~~}|~ƒwxyyz‚€}}~~~€€‚ƒ‚‚‚€~}}‚„„ƒ€~}}}}~€~~~}}}~~}{|…‚zzzyz€†{|~~}~~€€‚‚‚‚€~€€†„‚€~}}|||€~~}}~|{{yyz{{‚Š€y|~}~~}}€‚‚‚‚‚‚‚€|}~“‰‚€~}}|||}€€~~}}}}~~{{}}~†{|}}}}~€‚€€€‚‚‚€}ƒ„ƒ‚€}||}|}€€}~}~€~~€~}{{€}~}}}~‚€€€‚‚€ƒ„ƒƒ‚~}}}}}~€}{}}}||}~}}}}||{y}€€~~}}}}~€€€‚‚ƒ‹€‚‚‚‚‚€~}}}}}}~€€~||~}|}}}}}}}}}}|€‚}€€~~~}}}}}~€‚€„®{}Œ‚‚~}}}}}}€€}}‹‰~}}~~~~~}~ŠŒ€~~}~}}}~€‚‚‚‚ƒ¦}{ˆ‡‚ƒ~~}}}|}€€€€ˆ‰‚‚€€„ƒ€€~~~}}~~~‚‚‚…||€‚ƒƒƒ€}}~}}}}~€€€‚„‚‚……€‚‚ƒ‚€€}~~€€~~}~~~~‚‚€€€€~‚ƒ‚‚ƒ}}}}|}}~€‚ƒ„‚„…‚€‚„€€}~€€~~~}}~}~‚€€€€ƒ€|‚‚‚ƒ‚~}|}||}}€€€€‚‚€~}€€}}~~~~}~~}}~€‚€€€€~z|}€‚‚}~~}}}}~€€}}€€€€€€~€€€}}~}~~€~~~~~}}~€€‚~yyzƒ•ˆ‚€~}}}~~~}€€ƒ‡‰‹‰ˆˆ„€€€~}~~}}~~~}}}~‚€~ywx}„Š„‚~}}}}~~€€ƒƒƒƒ†‡‡ˆ††…‚~}{zyxwxxwxxx{€€~~~}}}~€‚‚€~zxwy‚‚‚‚}|}}}}€€€‚‚ƒ„„„„‚‚€zwuvwwwwwwwwwx€~~}}}}~‚~zxwwz€‚‚‚‚}||}}|€€€€€€€€‚ƒ|z{|}~~‚ƒ€€€}|~~~~~}}}~€‚~ywyzz~‚‚‚‚}|}||z‚€€€€€€€||}~}}~z{|}}}}}z~€~~~}}}}~‚~{x{|{‚‚‚~}}}}}‚€€€€€€€€~}||}~}|xyy|~z|~}}~~~}}~€€}{{}~~€‚‚‚~}}~~€‚‚ƒ}}|~€{xuw{~‚€}{|~€€~}}~}}}}~ƒ~€„„‚‚‚„ƒ‚~~~€‚€}~}|}}|{{wyz~‚€{{}~~~~~~~~~~~~~‰ˆ‡ˆ††„…†ƒ‚š~}}~~~€€€€€€~|}||{|{||{zz€†‚{{|}~~~~~~~}}{ÏÏÏÏÏÏÏÏÏÏÏÏÏÎÎÌÆÈÄÌÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÎÍÎÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌÇ¿¶®¥¢”‚~sjkxlkinnscgbW`c]]e]T[a``VQOT[Y_d`eSTUWVVTSZUQW__\YTME=8<<632@2ÎÎÏÏÏÏÏÏÏÏÏÏÏÎÍÊÅÇÂÊÍÎÎÎÏÏÏÏÏÎÎÎÎÎÎÎÎÍÍÍÌÌÍÌÍÌÌÍÌÌÍÍÍÍÎÎǸ ¥šyƒ{€u`^`s|n^`okg[Y[\`ZWUP^ha[RPPPYX\ghhPV]bZQPKRRY_b[WPNJ@@66642076ÎÏÏÎÎÎÎÏÏÏÎÎÎÍÌÈÃÆÁÉËËÌÌÍÎÎÎÎÎÎÎÍÍÍÎÍÌÌÌÌÍÍÍÎÍÍÍÍÌÍÍÍÍÍÍÍÁ¤Š‰qnnqlmpou}abaed[[[[\]SSV]d[ZZWURVTV]idQQY\UMONQQ]d`b[PGA?;852220.2ÏÏÎÎÎÎÎÎÎÎÎÍÍÌÍÊÂÅÂÌÌËËËËËÌËÌÍÌËËËËËËËËËÌËÌÎÎÍÍÎÍÍÍÍÍÍÍÍÍͶ˜“|ntwzv~gfd]hZaed[[WU_YTYegSQTWXSOLVP\hQOTXYPMSPOYb^aWTUOH><85311.-ÎÎÍÍÍÍÍÌÍÍÍÎÍÍÎÊÁÂÁÍÎÎÎÎÎÍÍÍÍÍÌÌËËËËÊÊÊÊÊÊÊÌÌÊÊËÉÈÊËËËËËË;’Ž†€r`l|mdg`abXjcZXTSL\a_apo[ROU]TMITRSYSZ\YUNPQUZ_XWZQOYPI>@A;520-+ÍÌÌÌÌÍÍÍÍÍÍÎÎÎÎȼ¼¼ËÎÎÎÎÎÎÎÎÎÎÍÎÎÎÍÎÎÎÌÌÌËËÌÌÌÌÌÊÆÉËËËÌËÇÆÄ£Šz{ph_kope_b_X]`VR\SSPZgefgdhWPVYTQSTRSXQY^bUSUQY[\XWTTOQPI>@>5550.2ÌÍÍÎÎÍÎÎÎÎÎÎÎÎÎƽļÈÎÎÍÍÎÎÎÎÎÎÍÍÎÍÍÍÍÍÍÍÍËËÍÍÎÎÍÉÅÊËÌÍÏÌÇÅ´šz|teXTc`[_ba\a_XURKNVY_adi^\TOOOOKSQSP^LUTYZWZY_[[WSPSORKFC>@;431/4ÍÎÎÎÎÍÍÍÎÎÎÍÍÎÎÅÁÌÂÆÎÍÍÍÎÎÍÌÌÍÍÍÎÍÌÍÍÍÍÍÎÊÉÊÌËÈÆÄÁÇÆÈÌÍÊÿ½­‘xrVTQROVZmpeac[YNCANXS\ba^WURJLKILHOKYORUUVVZ[[[_XSNSMXOCGA??40/--ÍÍÍÍÍÍÍÍÎÎÍÍÍÍÍÅÂÌÃÄÍÍÌÌÍÍÍÍÍÍÍÍÎÍÍÍÍÍÎÍÌÉÇÇÊÃÀ»Á½Á¿ÅËÉÅ»®¦¨Žtr_VWYWhi^oggaVVRRUUeTO[]SNWYQKJFNPRYXSQY[USXXUOUYTPVPXX@56220/.--ÍÍÑØÖÏËÌÌÌËËËËÌÂÂÉÁÄÍÎÍÍÍÍÎÎÎÍÍÍÎÎÎÎÎÎÎÌÅÂÂÀļº­¾º¿¶ÀÇÀ¾´¤Š‹€p‰{f[`[]elVm]U^SNST`^WNOQXQPSVWLLLTSS[i^PXXVVUUZSQZXX]^MD=7540.----ÏÛéïîãÑÊËÅÂÁÃÆÊÂÁÇÁÁÊÍÌÌÌÌÍÎÍÍÍÍÍÍÍÍÎÍÍÍŽ´½¹±¡ºµ¿´¶Á¶½´˜†|{mhcbccTZd]Vc[RZ]PRRW]UVSNNNKLMSYVOQPRRcZNZZXRMPZXYTWQMKA7=<;71.----ÝîÝÀÆêêÎû´³¸»ÂÃÄÊÅÃËÍËËËËËÌÌËËËÌÌÌÊÊÈÆÆĶ¯©®±§ª¯º°³¹®¬¡ƒvxukjR_eZXcYQ[h^X^YLOQT]`aTPMLLMRLUWKNSNS]]Ya\TPLPYVWUOOXJBB>;;961/.-,âä®”ÃÖø´³³¶·¾ÄÇÌÉÅÌÎÎÎÍÌÊÈËËËËËÊÊÇÄÿ¿´¢œš£¥š— ®®¬­¨¥˜‚snlgko_WXU``VV]][`XSWTRTU_WQSPNSURSTWQOWPRZaX^WY\W_`STYWSR@?H;76775200/Œ‡€yzz|wvz}ˆ—½ÃÆËÉÃËÍÎÎÍÌÈÃÉËËËÊÈž¶¶µ¹¬Ÿ–š›—”¡´¯«¢™›’wiefVibSMHPX`YRR^g`apa_b^TXNPOOPRWRUQSZRZOO__]g[c_jgaSQMMJK@=A8755454/13„–œuVZWl”–‘‹{ž¾ÅÈÇÁÊÍÎÍÌÊ»ÆÊÊÈƾ¯¤ž¤¥œœ—‰•™’’­®ž’‘„veehY^UPSQQZ`^[jn^QXdOXqp]QNKNMKGJLMONMPXTY^TRXX`g^]XOJMGFECH@8644344014­¦§¸§tPk²ÕâßÑ›y²ÀÆƺÃÌËÌÊÇ¿µÄËÊÁµ©›œž•™—Šƒ—”ŽŒ“š‘‹‰Š„wtocYTZ\YOY]VT^i\RP_hgb`]SRMJJHIGGEFNMR][X[VO[jhhW_SMUSHIA?A9754323338=gDLŠ§uu³ÎÑÑÇn™¾Æ¾¬´½¹¿½È¿®ºÄº¬ž ™š¡••Ž…ƒŠŠ‚Š‹…„…‚yxoaWVSU]YVYVT[hQQP^geTR[XSMKLJKIFKIIQU[aRYRPlsdh`b\T`ZVUH<;;87432254:Bj{‘ªƒy—¬MSWJn~®°£¢¢¤¦§­¾¹°¯³¤žš™™Ÿ”–†ƒ…„y„‹‰„|~~vrpjdXPZi[RVRU_[OY[^aZRRQRTNLPQLOTRGCKOT^QRM]ab`Zej[QS]YFSE<;<9555488:=‚¤µ·~<0pœ]EKR;YXWWVWVVVUVWY]bep³æÐkUF>:@STVG:9>;E—˜—ˆ„ˆ}ƒŠ‹†ˆ‚|yww{uvp_X^`TVTUXaXPN`tƒudZ\gQTNMQRNNJC@MTRSVSN[edeZSYZ^\T\XUWH<99;;78:98===>=<:88~»ì¸‡€}‚€ƒ†ˆ‚€‚~vtvtsqtf\_\OOZZ[]SV_ch`]V\baSVNKLRKGA?>=€VORRRWYSSRQU€p“œƒÚº„€‡ˆŒ—•“–˜—ŒŒŸÈë¶~y€€……€z{wsvyyupkg]UNJYW\TSZ][YIY`Z]XYaXKNTOLIMOOOTUXV[of[[[ZWZYRWMOL@874_97988;AECEðPZaeˆ˜fc\T€íÜîÜfŸÎÒÌÎÑÔÒÒÕÕÔÔÓÑÐÍÖ·Ž~}|}}ƒ€€}xypoxx|riacURTEANWWVZ\NKIVY]]U[f_SNMJKOMNJHJNVXY^a[^XVRVOKMHB<8776S…?889;;>HJHõªFHKRž¶XIGEõãðÈR­ÙÙÝßßßàâãããâáàßÝÛІxy|~€{~‚ƒ„zwxmipvzoha_PQTHJQUX\UPSRUU[VWX[b^SLECCEHIFFGJSV\[VMVSUSSNHFD=96686X~B88;=?>=<@LPVbZSXZRW[PMG;;:87782†æS05;:;BIIJ‰ÍÜßáâããààÞÜ×¢ZIB@´áãêèìÞ±¦·Ù©ŸºëãàßÕÈ|zzv{|}~|~}ytwvimtlih_O_k]VTZ[YSPXYZb_XV^\VNHE@@?><79?DIJ[iYU\X[]WHDA958887:5ƒåT/9<=BHHDRæõòðñððñòòòî¦VMH>­æäèèâΌÆÝǾÅèäæÝÞÐ}wzxx{|z{{€}xyumjpihcc[hqc\NQ\[WSU[X`ZW\fZPJCA@@DA?>DIC>L\lk^MQgRHA;;:8;;99>8uÜ[3>DSRJU_^lmRVXKB;666;@BA>@OVOgniwŠj[_SIC>:;?FMIB=?9zôs9<4?@=79LQGhecehjmmkgdddcba`aeilmorsttttrlfdgjmnnkifq‰®Ëʯ‘wlkmkiji^aeikmoqpqrrrqnleb`abbcfijijklllkhhiklmopp†n@S€³²¶¸·´±§¦€xyƒQE<34=?749c‰šR;322139<7ILƒš—Q430NŸPblmmmmmlkjdbcfjlkjgdb``aa`^^_aehknoqsssrqnibbehjklljjfO”½ÈÇqYaehjlnopqqqqpnljebaaaccdefggijkmni{O—HCNBaš¡¥\KC422321078w¢ŽH721;˜iUllnmnmmkkjfcbbfijiheb`_^`_^]]_bfiknqqqrqpqmhbcfikkllkY{±¿Î­^\dgjllnopppqponlhdb``aabcdefiijkkjp_”FLMJLq~iOJJB>>==;94Bmkkkkkkkheb_adhjjifa]\]^^\\[\^bfilnpqqqrrpmgbbe]RKWœ»ÅÄsU^begiklnnopomlljeb`_`bccfJ6=7afACM?PM5>BA?FORNJED?7<87QXOPR>586>F62006Ukiijkkkkjhfc``afihigc_^^]\]\\[[^cgkmnpqrrqqrngbeZOIe­¾Ìºh[adghilmnoooonnlifa__``beK.243:F@3512369;73323335557754776999;>FO21BQahhhiiijjkkjihda``bfikigd_\\]]]\[Z\adgkmoopqqrrqlkaOLKy¹ÀϪ`^behiikmnnoopoljid`___ac`L>84,L\=<:9887666677666567777778889:<@I5€·›keffghhjjkjjjjhfda`bfjkkkgc_]]_``_][\agjkmopqqrrqmpcQKO½ÂÒ–Y`dfgikkmnoppmlljfb__]`bcff{šNCY<:987776666666665566767677899;1333323322335J;45433323443h ª–ST_hgeehkhbegghhhhhiiiijhca__chklnljfdcbbaab_[[`cgkjPlmpmh[PQS•ÃÈÔ§_`cefhilllmnnnmljfb_^_`chmhZ{¦žˆ901112212345964322222222Y«£’£h3Vjheo¾ÚÑbeefgggfghiijhfda_^afknmlkiecbbbbb_ZZ[_ejVntronfSKJZ©ÄÌÓŒYacegijkllmmmmmkheb^^_ckSGb £¦Ã}DJB?>=AB?=:631026GŸª ­§ ˜•’Š†……„„ƒ‚‚ƒ“]ljdeeeeeffffeeeeffda_^]^chklmovuxvnqjjllmnsiPJJN˜ÄÅ×·cbfhhiijkkkjkn^+>.-,.028>;<@D;:=>==E==>?ACA@­‡‚ƒ}vrqoligfebbaabaaabb```c‚y‰zeeeedeeededdddeedca`^[]chkmlvoomlnlhjknnniSIKJk¾ÅÎÖˆ^efhhhijjjjkiW+=/++-/136:=>>AEFKN`ƒYLFB=92Y°‹c__]]]]^_^_bmrmmllkkkjkjjj_ly_]bcccdeeeeededdeeeecba][]cikmkmurnlmnnhkmjiVJKMO™ÇÆÓºa^bdffhhjjjdZL*<3-+)+---,,+,,,,,,.,++***(,•ªjVgrxz{{~ƒŠ’™¶¹•Ž“‡†ƒƒ‚{umo`^aa`ceeeeeeefgffeedcb_][]dikmrtomnprqlimlgTLKLJh¼ÆÍÖŠ^eegghhiifZUK(;7/2H5.,+))*))))))*****+,,M³ci|‡‡†‡‰ŒŒ{K85?™|?>8127:<<8=N?AvL_bbbbbaacbcdccccbaabbcbcba`‰~u€zusjluojhpjbbaVLLK^f‚¿ÃË׌]`acccc`^[WTSSTTUUTRSRSTVWZ[]]]]]]b†WYhG8669:8763220dc13456::>?89A>4mSXabbaa`addcddddcbbbccbbbcba€~yxytprb`hq{rjkf[LLLY`\žÂÂ׿d_acbccba_]\[[[[\[YWWXXWXZ\_ccfeben„‚Pd_C6557876533233335554?f‚u54563XeOabccdcbehhfeddedcdccbbb`\S†††††††‡‡…†‡†††‡‡††‡‡‡‡‡‡†††…ƒ‚}yuttswywyzzy{{zwuyyz{zyyz|~€€€………………††††††††††††††‡††††††…„€|xvutvuvyxxywyzyywuwvxzzxwy{~€€……………†…†…†…†…†††…†††††††…………„‚€€{vxwxwwyzxxwzzzyxwvuwyyxxyy|~€€…………†…………†…†††………………………„„………„ƒ€~zyxwwy|{yxwzz{{yxvvxyyyzzz|~€†„ƒ…†„……†…………††………………„„ƒƒ„„…ƒ‚~{yxwyz{zzzz{{{{zvuxyxyzzy{~€‚„ƒ„„„…………………†……………„ƒ‚‚‚‚‚‚~|yywyz{yy{||{zyxvvxz{zzyz}€€‚ˆ‡ˆ‡‡‰‡„……………………………„€€€€€€~|}~~{zywwwxyz|||{zywwwwxxzzy{}€€€‡†ˆ‰…ƒ…„…†………ƒ…„…ƒ‚}~~€~}{|||zyxwxvux{}||{{yxyxwuvxyy|}~€€„‚‡‡ƒ…………††„‚‚~|{{{{|}}}~{{z{|zzzxxzwx{z{|}}|zwyyvuuwxx|€€€‰„Š‰…„‡…‚€ƒ„ƒƒƒƒ‚zwwwx{{y|{zzxy{yzzyxyyy{{|}}}|zyyxwvuvww{~€€~‘‘‹Ž……‰‰‰ŠŠ‰€xwwx{{xzxxxxyzz{{yuwxwz{|}}}|zzywywutvw{“‘‘‘Š‚‡‰ˆˆˆˆˆƒ}xwxxyuvvwuwz{|zzyuuvwz{{}~}zyywwxywwx{~~~„……††„‚‚†ƒ„†…„…†…„~xwwvurtuvuvz|}zzx{{yzyz|}}}zyxvwwxxy|€‡€}|~€}‚‚‚€‚~vvuttstttuwyyzyx{|{z{y{}~}}~{xxxxy{~€€ˆ€}{€€€€‚~~€~utsssrsttuvxuxyx{zyyyz|~{wwxx{~€}}~~|x€}~~~~‚€€€€~ttssrqstvvuwyyyz{yxxxz}~|wrtvw{~~}~~}~{wq~}||}€‚€~€~~~ssssttsuwyvwxxyz{ywxy{|}zzxvqoponqrpqrvz{woll}}}}}}€€€~~~~vruttuuwxyxyzz||{{{zyxsninnqsqolhfgedefhfefik€ƒ……„„ƒ„ƒƒ„„ƒ„ƒƒ„€}~}}}~€€‚‚‚‚ƒ|xttwxzyyxxvwwtoppmlnomlˆ‡†ˆ‰‰‰ˆˆ‰ˆ‰ˆˆˆˆ‡††ˆˆˆˆ‡†„ƒƒ‚‚‚‚„ƒƒ‚ƒƒ„†…‡…„‚€€€‚‚ƒƒ„ƒ„„ƒƒ|w‰‰ˆ‡‡ˆ‰‰Š‰‰Š‰‰‰Š‰ˆˆˆ‡‡ˆ‰ˆ‡‡†ƒ‚‚ƒ„„„ƒ‚‚ƒƒ„…†‡††…‚€€€‚‚‚ƒ„„„††‡‡‰‰‰ˆ…†ˆ‰ŠŠŠŠŠ‰‰‰Š‰‰ˆ‡‡‡ˆˆˆŠ‰…………„…„„ƒƒ‚€€„‡‰ˆˆ…ƒ€€€€‚‚„„…‡‰‰‰‰‰ˆ†‡ˆ‰ŠŠŠŠ‰‰Š‰‰‰‰ˆŠ‹‘‘…‚‚‚‚‚€€€ƒ…‡ˆ‰ˆ„€€€€€€€‚‚ƒ‰‰‰‰ŠŠ‡††ˆ‰‰‰‰ˆˆ‰‰‰‰‰ˆŽ‘ŒŒŒŒŽ‰€‚€€€€‚„ˆŠˆ†ƒ€€€~ˆ‰‰ŠŠŠŠ‡††‡ˆ‰Š‰‰‰‰‰Š‰‰‹…‚††‡‰‡†‡‰ˆ…‚€€‚‚€€€„†‡ˆ‡ƒ€€€€„ˆ‰ŠŠŠŠ‰‡……‡‰ŠŠŠ‰‰‰‰‰‡†~‚ƒ‚„ˆ‰†ˆŠ‡ˆ‡„ƒ‚‚‚ƒƒ‚‚‚€€ƒ†‡‡‡„‚€€€†‡‰Š‰Š‹Š‡††ˆ‰‰‰‰‰ˆˆˆ†ˆ‰††‰‰‡‡‰‡~ƒ‰…‡‰ˆ†„‚‚ƒƒ‚‚ƒƒ€€€ƒ†ˆˆ‡†‚|ƒ‡‰‰Š‹‹Šˆ††ˆ‰‰‰‰‰ˆ‡…‡‹„‚‰ŠŠŠ‰…‚‰††‰‰‰ˆ…ƒ‚€‚‚€„†‡‡‡…ƒ||†‰‰Š‹‹‹Šˆ†‡ˆˆˆ‰Š‰‡…ˆŠ‚ˆŠŠŠŠ†}Šˆ…‰‰ˆ‰‰†ƒ€‚€€„†‡ˆˆ}}~ƒˆ‰Š‹‹Š‹Š‡†‡‡‡‰Š‰†„‡‡……ˆˆ‰‰‰ƒ|‰‰…‡‡†‡Š‰ˆ†ƒ€€‚‚ƒƒ‚€‚„†ˆ|}}„ˆ‰ŠŠ‹Š‹Š††‡‡‡††…†……†‡†††………ƒ„ˆŠŒ‰„„‡‰ˆ‰‰‡ƒ€‚‚ƒƒƒ‚‚€€€€€‚„v~|~†‰‰Š‹ŠŠŠ‰†††ˆ‡…ˆŽŽ‹‹ŠŠŠŠŠ‹‹ŒŒŽ’…†‰‰ˆ‰‰‰ˆ…ƒ€‚‚‚ƒ‚€€€€pz}}‚ˆˆ‰Š‹ŠŠ‹ˆ††ˆ‡‡‹‹‹‹‹Š‹ŠŠ‹‹ŒŽ‡†ˆˆ‰ˆ‰‰ˆˆ‡„€‚‚‚‚‚‚€€€€hl{}{ƒ‰‰ŠŠ‹‹‹Šˆ††‡ˆ‹‹Š‰Š‰‰ˆˆˆ‰‰‰Š†ŠŠ‰ˆ†‡ˆ‰‰ˆˆ‰ˆ…‚€€‚‚‚‚‚jhp|}~†ˆŠŠ‹‹‹Š‹‡…†‡‹„€†ˆˆˆˆ‡‡‡ˆˆˆ‡}†ˆˆˆ†…‡ˆˆˆ‰‰‰ˆ†‚€€€‚ƒƒkjjv€~}ˆŠŠŠŠŠŠ‹ˆ†…„†ƒ€„…„……‡†ƒƒƒ‚‚……‡ˆˆ‡ˆ‡‰ˆ‰ˆˆˆˆ‡„‚€€€€ƒ„„…nmms€}}…‰ŠŠŠŠ‹‹Šˆ…„…„ƒƒƒ„„€‚ƒ„„„‡‰‰ˆˆ‡‡ˆˆ‰ˆˆˆ‰†„€€€‚…‡†nliny~|€‡‹ŠŠ‹Š‹‹‰†„ƒ„†………ƒ„„‚†……†‡††„ƒˆˆ‰ˆˆ…„ˆˆ‰ˆˆˆˆˆ‡…‚€…ˆ‡ijhikz€}|ƒ‰ŠŠŠ‹‹‹‹‰ƒ‚…‡ˆˆˆ„‚‚€‚…ˆ‰‡…ƒ„ˆ‰‰‰‰ˆ‡‡‰‰‰‰ˆˆˆˆˆ…‚€€‚…‡nniges€~|~…‰ŠŠ‹‹‹Œ‹„„…………‚€€ƒ………„ƒ…ˆ‰‰‰‰Š‰ˆˆˆ‰‰ˆˆˆ‰ˆˆ…ƒ€‚ƒmjggfk{‚~}€‡ŠŠ‹‹‹ŒŒ†€‚ƒ‚‚ƒ‚‚‚ƒƒ„††Š‰ŠŠŠŠŠ‰‡ƒ‡‰ˆˆˆˆˆ‰ˆ†‚€fgggghq~€~|ƒŠ‹‹Š‹‹Œ†€‚‚‚‚‚‚‚„Š’“’“““““’‘‰‡‰ˆˆˆˆˆ‰ˆˆ†ƒ€€hhgffggu€}ˆŠ‹‹‹‹Œ‡‚‚‚‚‚‚‚‚ƒ‚ƒƒƒŠ”—˜—•••••••””‘‰‡‰‰‰‰‰‰ˆ‰ˆ†ƒ€ihgdghgs~~„Š‹‹‹‹Ž‰‚ƒ‚‚‚‚‚ƒƒƒƒ…‰‡‡„‡Š‹‡„„ƒƒ‰‹‡…‡‰‰‰‰ˆˆˆ‰‡ƒjhgfhjhn|}ˆŒŒ‹‹Ž‰€€ƒ…ƒ‚‚‚‚‚„„‡‹{zyz‡‹Œ„z{zz„Œ‰ƒƒˆ‰‰‰‰‰‰ˆˆ†ƒjjjjhhhjt€}ƒ‹‹‹Š‰‡€‚ƒ‚‚‚‚ƒˆŠ‚{zy}ŠŠ‹‡zz|}…Š‹‡†ˆ‰‰‰‰‰‰‰ˆˆ†kkihnkhjr}‚}‡‹‹‰‰‡„‚‚€€€€„Šˆ‡‰‰‡ˆ‹‹‹‹‡‰‰Š‰‰Š‰ˆˆ‰‰‰‰‰‰‰‰‰ˆlnmnppmpt|~}}‚‰Š‰‰ˆ†††…„„„ƒ„„„ƒ…Š‡‡‹‰ŠŠŠŠ‹‹‹‡„‡‰ˆ‰‰ˆˆˆ‰‰ˆ‰‰‰‰‰Šzzzzzzzzzzz{zzz{zzzzyyyyyyyy{„„ƒ„…††ˆ‡†††ˆ‡‡ˆ†…†††………‡†„ƒ‚‚‚‚yzzzzyzzzzzzyyyzyyyyxyyzyyyy{‚ƒƒƒ‚„…††………†ˆ‡††…„……………††…ƒ‚‚‚yzyzzyyzzyyyyyyyyyyyyyyyzzzyz~‚ƒ„„ƒ„„……„„…†‡†…ƒ„„„ƒ…†‡‡†…ƒ‚‚‚€zyyzzyyzzzzzzyyyyyyz{{z{{|zzz}€ƒ…„„„……„„…†‡†…„„ƒƒ„„…ˆˆˆ‡…‚‚‚‚€€y||{zzzzzzyyyyyyyyyy{|{}}}||~€‚ƒ„„„……………‡‡‡………„ƒ„…‡‡‡†…„‚‚€€|‚~|}}{zzzyzzzzzzz{}}~~}‚ƒ‚‚ƒ„„„……‡††‡†…………„„……‡‡††„ƒ‚‚‚€€~~}{zyyz|{zz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡†……†………„……††††„ƒ‚‚‚‚{zy{|~~~zzzyz}{z}€‚ƒ‚€‚ƒ……„„„„……„ƒ„…†‡†„„……„………†††……„ƒ|{stx€}~~}|{|€„…††„„ƒƒ„‚ƒ…‡‡…†…„„…„ƒ„…†………„ƒƒ„„„…†††…„ƒ‚‚ƒ|~zy|‚}~€€‚‚ˆ‰‡†…ƒƒ„„…‡††††…„„……………„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚xyyyz|yyƒ}|yz{}„‡‡‡…„ƒ……†‡‡†…††…………†……†…†„ƒƒƒƒƒ……†‰‡…‚‚‚‚}yy{zz|{~~}}{{}}…†‡†……†ˆ‡‡ˆ‡†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ†€€€ˆ…‚€€€„†††††‡ˆˆˆˆˆ†…„„„…„„†‡‡†…„…„„„†‡ˆ‡ƒ‚‚‚„†ˆ„„„ƒ„‰‰„€€€‚€€„‡†‡ˆ‡‰‡‡‡ˆ‡†…„„„„…†‡‡ˆ‡…„„„ƒ„‡ˆ‡‡ƒ€‚‚‚‚„†…ƒ‚‚‚‚ˆ…‚€ƒ„„ƒ„‡†‡ˆ‡‡ˆ‡‡‡†…„…„„„††‡ˆˆ‡„ƒƒ‚ƒ„†ˆ‡†ƒƒ„ƒ€‚……ƒ†ˆ‡‡‡‡ƒ‚‚€„‡†‡‡ˆ†ˆˆˆ‡††„…„ƒ„…‡†‡†…„„ƒ„……ˆ‡…€€‚ƒƒƒƒƒƒ„„„„ƒ‚ƒƒ††„‚‚…‡†‡ˆˆ‡ˆ‡‡‡†…„……ƒ„…‡†‡‡…ƒƒƒƒ‚‚‚~{||~~€ƒ‚€€ƒƒ‚‚‚ƒ‚„„„‡‡†„……‡ˆ‡‡‡ˆ‡‡†……„ƒƒƒƒƒ†ˆ†††~}|z{z{zz{{|~~~€|~€‚‚€€‚~€‚‚ƒƒƒƒ‚ƒƒƒ„……„ƒ‚ƒ‚€€€‚……„……€~~~€€€€€€}€~}}}}}}}||}}~€€~~~~€€‚‚€€€€€€€€€‚Š…ƒƒ‚€‚‚‚€€{}~~}}}}}}|{|||~~}~€€€‚„Š„‚€€€€€€€€|{|~~}}}}}|||{}}}€€}~€~€€€€€€€€€~ƒƒ‚‚€€€€€€}{|{}~€~~~}}}}||}}}}~}|||{{yyz{{}€€€€€~~~€‚ƒ‚‡‰€~}||||€~}}}~}}}}}}}|||||}…‡~}}|{~‚~~€††‚‚‚~}||}}€€~}}~~~~}}|~~||{}~~{{}}|}€€~}‚‚‚‚‚‚ƒ}}|}}}€€~}}~~~~}}|{zzz{{xz}|{}~€€€‚‚‚‚‚€~}‚‚ƒ†ƒƒ€~}}}}~€~~~~}}~~~~|}xxzzy}‚€|}~~~€€€‚ƒ‚‚‚€~}}‚„„ƒ~}}}}~€~~~}}}~~}||„„yxyyz~ƒ‚}|}~}~~€‚‚‚‚‚€~€€†„‚€~}||{|~€}~~}~}{{‚ƒ{yzzz~ˆ„{{}}}}}}€‚‚‚‚‚€|}~’‰‚€~}}|||~~~~}~}{{~zy{|{ˆƒz{}~€}}~}€‚€‚‚}ƒ„ƒ‚€}||}}}€~€~}~~}}‚€}{|~~}}}~€€‚€€€€€‚‚€ƒ„ƒƒ‚~}}}}}~€€€|~~}}}~~}}~}}{z}~~}}}}~€€€‚‚‚€‚‚‚‚‚}}}}}}}~€€~}{{|||}||}}}}}||||{~~}}}}}}~‚‚€‹{|‹‚‚~}}}}}}€€~{‚‚~}}}~~~~~~}}‚Œ‚~~~~}}~~}~€€‚‚‚€˜}{~‰ˆ‚ƒ~}}}}|}€€~}‰‚~~~~€~~†Š‚~~}}}~~~‚‚‚‰||€‚ƒƒƒ€}}}}}}}~€€€‚…ƒ€€€ƒ…€ƒ‚€~~~€€~~}~~~~‚€€€€~‚ƒ‚‚ƒ}}|||}}~€€ƒ„ƒ‚‚‚„†‚‚„„€~}~€€~~}}}~}~‚€€€ƒ€|‚‚‚ƒ‚~~||||}~€€‚‚‚€‚„ƒ€~€€€~}~~~}}~~}}}€‚€€~z|}€‚‚}}}|}}}~€€}~~€€€}~€€}}~}~~€~~~~}}~€€‚‚€~yyzƒ•ˆ‚€~}}}~~~}€~€„‚ƒ‚ƒ„ƒ~€€}}~~~~}}}~~€‚€~ywx}„Š…‚~}}}}~~‚ƒƒ‡ŠŒ‹‹‰†‚€|}~~~~~€€~~~}}}~€‚‚€~zxwy‚‚‚‚}||}}|€€‚ƒƒƒ…†††…ƒ„„€{zxxwvvwwvvww~€~~~}}}}~€‚~zxwwy€‚‚‚‚}||}}|€‚„„ƒ{xvwxyxyyzzyyy{~~~~~}}}~€‚~ywyzz~‚‚‚‚}}|}}{~€€€€€€€~z|}|~€ƒ‚€€~~}}€~~~}}}}~‚~{x{|{~‚‚‚~}}||{}€€€€€€€€€}||}~}}|x{{}}}~|z~~}}~~~}}~€€}{{}~~€‚‚‚~}}}~€€‚}}}}~~~yyxz}€€€|{}€€~}}~}}}}~ƒ~€„„‚‚‚„ƒ‚~~‚‚‚‚‚‚‚ƒ}}}€}yvuy|€~{|}~~~~~~~~~~~~ˆˆ‡ˆ††„…†ƒ‚šŽ~~~€€€‚€€~}}|||||{yyz{€ƒ}z|}~~~~~~~~}}}ÑÑÑÐÐÑÑÑÑÑÑÐÏÏÏÌÆÉÅÎÏÏÏÐÑÑÑÑÑÏÏÏÏÏÏÏÏÏÏÏÍÎÎÍÍÍÍÍÍÎÏÏÏÏÎÍÈ¿¶±§£–ƒtjnymlkmoueidX`c^^g_U\a`aWRPU\Zaf`eTVWXVWTT\VRX`a]YUME=9<<632@3ÐÐÐÐÐÐÐÐÐÐÐÏÏÏÎÊÅÈÄÌÏÏÏÏÐÐÐÐÐÏÏÏÎÎÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÎÎÎÎÏÏȸ ¨œy„|‚va`bs}p^`plh\Z[\`[YWQ_ha]SQQRZY^hihQW^b[RPLSSZac]XPOK@A76642077ÐÐÐÏÏÐÏÏÐÐÏÏÏÎÍÉÃÆÂÊÍÎÎÎÎÏÏÏÏÏÏÏÍÍÍÍÍÌÌÌÍÍÍÎÎÍÍÍÍÍÎÎÎÎÏÏͤ‹Šrppqnoprw{bccfe\\[\]]TUW^e\[[XVSWUW^ieSSY\UNPORS_ebc\QGB@<952330.2ÏÏÏÏÏÏÏÏÏÎÎÍÎÍÍËÃÆÃÌÍÌÌÍÌÍÍÌÍÌÌÌËÊËËÌËËËÌÌÍÎÎÎÎÎÎÎÏÏÏÏÎÎÎζ—“|nux{x‚€ggc`i[bgf\\XW`[TZfgTRUXYTPNWP\jRQUY[QMSPQ[c`bWTUOH?<85331..ÏÏÎÎÎÎÎÎÎÎÎÎÎÎÏËÂÃÃÍÏÏÏÏÏÎÎÍÍÍÍÍËËÌËÊÊÊÊÊËËÌÍËËÌËÉËÌÍÍÍÌÌξ“‚‡san~ndh`bcYke[YUUO]bacqp\ROV^VNJURS[T\]ZWOQRV[`XXZRPZPJ>@A<520-+ÍÍÍÎÎÎÎÎÎÏÏÏÏÏÐɼ½½ÌÏÏÏÏÏÏÏÏÏÏÎÎÏÏÏÎÎÎÍÍÍÌÌÍÍÎÍÍËÆÉÌÍÍÌËÈÇŤ‹|}rg_mrpe_c`Z^aWR]TTR\hgiifjXRWZTRTUSSXS\_cWUVRZ\_ZYUTORPI>@>5561.3ÍÍÎÎÎÏÏÏÏÏÏÏÏÏÐǽƾÊÏÏÏÏÏÏÏÏÏÏÎÎÎÎÏÍÍÍÎÎÎËÍÎÎÎÎÍÊÅÊÌÍÎÏÍÉÅô›{~sfXUea]`ba_b`YUSLOW[acgk`]UQPPPKUSUQ`MVV[[X[[a]^YSRUPRLFC>@;431/3ÎÎÏÏÏÏÏÏÏÏÏÏÏÏÏÆÁÍÂÈÏÎÎÎÏÎÎÎÎÎÎÎÎÍÎÍÍÍÎÎÎËËËÌËÈÆÄÁÈÈÊÍÎÌÅ¿¾®‚|tWTQSOWZnrhbd\ZODAPYT^cc^XUSLNLILIRMZPSVVXX\]\]aZTPUOYPCGA>?40/--ÎÎÎÎÎÏÏÎÏÏÏÎÎÎÏÆÃÍÂÅÎÎÎÎÎÎÎÎÎÏÎÎÎÎÎÎÍÎÏÍÌÉÈÇÊÃÁ¼Â¾ÃÀÆËËǽ±¨ªvt_WWZYij`qhhaWWSRUUfVO\]UNWZTMJGOQS[YSQZ\VTZZWPVZURXQYYA66220/.--ÎÎÒ×ÖÏÌÍÍÍÌÌÌÌÌÃÂÊÂÅÎÏÎÎÎÎÎÏÎÎÎÎÎÎÎÏÏÏÏÍÄÃÂÀýº­¿ºÀ·ÀÈ¿µ¥‹Š€qŠ}g]a[]fnXo^V_UPUVa_XPPSZSPTVZOMMVTT]j^PXYWWVV[SRZYZ^^MD>8540..---ÐÛêïíãÒËËÇÃÃÅÇÊÃÁÈÂÂËÍÍÍÌÍÍÏÎÎÎÍÍÍÍÎÎÏÎÎÇü´¼º²¢ºµÀµ¶Â·¾µ™†|{niecedU[e^Vf\T[^QTTX]VVSOPPLMNU\WQUQSSe[O[[XSNPZXZUXRNJ@8==;71.----ÞîÙ½ÆêéÎļ¶´º½ÂÃÅÊÆÄÌÍÌÌÌËËÌÍÌÌÌÌÌÌËËÊÇÆô¯¨­²§Ÿª¯º°µº¯¬¡ƒvyvmjS`g\YeZR\i`Z`[LQSU_bcUQNMLOSMVXLOUPT^^[c^VPLPZWYWPQXJBC=;;951/.-,äᨓÄ×ĸ¶´´¸ºÀÃÈÍÊÆÍÎÎÎÎÍËÉÌÌÌÌËÊÊÈÅÄÀ¿²¢ž›¤¥›˜¢¯¯¬®©¦™‚tnmimo_XZVbaWX_^]aWRXTTUWaZRTQNSWSTUXRQXQT[aY_Y[\W_`TUZXUR@?H<76775200.–ˆ€{z|}xwz}ˆ¯ÄÇÌÉÄËÎÎÎÎÌÈÄÊÌÌÌÌÈÆÀ··¶»­ —œ™•£´¯« ™“xkfgVibSMGPX`YTR`jaara`b_UYOQQPQSXSVRU[S\PP`_^h\d`kibTQOMKK@>@8866554/12}žž‹[[X[„•Š„¸ÄÈÇÁÊÎÎÍÌËûÇËËÉÇ¿°¥Ÿž¥§ž˜Š•œ”’­®œ’’‘„vefjZ_VPSQR[a`]kp`SWeOXsq]ROKNNLHJMOPNMQZU[_USYYah_^YQJNIFECHA8655344024£¬¦²¸ŠYYÌÜâ×¹y›ÃÇÇ»ÄÌËÌËÈ¿µÆËʶªœžŸ–š˜‹‘„–”Œ“›Š‰Š…€xvqcZTZ]YPZ^WU^j^SQ`ihca^URMKJHIGGFHOMS_]Y\WP\khhW_UOUTKJA?A9854324438=qKHj¨˜wj“ÊÑÔÏ¢p~¾Æ¾®´»¸½»Ç½­¼Æ¼®¡¡›œ¢––†‚…‹ŒƒŠŒ…„…‚€zypbWWUU^ZVZVT[iSRQ`igTS\YTNMNKLJFKJJRV]dTZSQmteiac^U`ZWVH<;;97443364;B|eŽ†¨•{ˆªZQYJbq©¯£¢£¤§«¶ÅÀ·¶½²ª£¢™™Ÿ•–†„…‚†‚z„‹‰…‚}~~vrqkeXQ[j\RWSV`[O[]`bZSSSTSMLQSMPTRGCLPVbRRN`cca[fl\RS^ZFTG<;<:555489;>ƒ›©Ç–Z0K˜~AJPELj‡ž›¡ ÁÕÚÝÙ××ÖÖØÚÚÓ±“™’‰‰…€‚ƒ{‰†‚€|}{zrkjf[WZSZ_ZU]\`[V\[]_\VQKXVNMPLCEGFA?GIJSLTT[^bZcq^`P[`[JFCA>=955669]V]rXG6;PT`Z=GH@ADXbpXF@He«OzÇb>EFGR\HKJJIERžŒ…‘‹Ž„„ƒ…|‚|zwrvvpjdX^fb\RVPR_geeWOTQg_eZOSSPJIDITKCKMNFQR^`[O\ffeVbeWPX`TFBB=;8767<@LBijjkihhhjuxvslich~®Ú½LHDBC`fZ[QIHG=‰‘‚Ž™Š‰‘ˆ‹…€‹ƒ{}ywwxzucWR\Z[W[YO[\_ahgjornR^_VOSQGFFQXRRPQRJKWZ^ZNP_\a__ihW`VB;:==<:;9:>>>;_[Z[YZZZYYXY[]cfl†Þå–QUA?:EJNK;89<7fžœ —ˆ„‰}„Š‹‡€‰ƒ}zxx|wwq_X_aUXUWYbZPOat„uf\^fTVNLSSNNJC@NVSTWUP^fef[T[[_]U]YVWH<99<;78::9>==?>>bWOPPOOQRQQQP]gd¥x»Ì¢Œ”›ž ¥ª¨§¥££ ºÓÒ‹|z€€††€{€|€xtwyzvqmj^UNJZY\TTZ^]ZJZa[^Y[bYLNTPOJMPPQUWYX]of\\]ZX[YSXNPMA874Zt98988;BFDFÛ¬W\cfo¢qf`\Z¹ÛÐ÷’tÃ×ÐÐÔ×ÖÕÖØÙØ×ÕÔÑÑÕ™~€}€~}„€~yzrpyz}sjceUTUEBOWXW[\OKKWZ]^V\g`TNMKMPOOJHKNWY[`c\`ZWTXOKNJB=9886W@889<?>=DIB?L]mk^NRhSHA;;:7;;99>8uÛY4>DSSJV__nŽnSWZLB;677<@CB?A=ræf8@9;DJOYcbxKCYZWVWV\XDswEAS]Ëïìíìììîíìíîíëìììîä{p|{|~}xv‚‡€txxshgkt|iXWWTRSOUZQQ\^]Y\d`[OSTPIFLPJ=>NVPhojyŽj]_SJC>:;@GMJB=@;vño:>5IV\TYbgqf\Z\bfimpmpf\hxwqmejlWñ…STZwwsvmh;@FFDBCFGGFBDH;136>œãÁš—Ý⚆ƒ~²ñ­‚±ÓÃo~‚‚~w}~uz|~xzqe[dheacbVX\[USQPOV]ZV[[TNSZVSUXYq‚zdmyo]UY^_bejgo†ƒƒ‡€|€†ŠŠ‹–·•‘Šƒ}uvsiuvurrrpnoooqsxm5.4=pÛãÚÕÚÚÓÏÑÍÆÏÒÑÐÚãœh}€ƒxx€xsx{}qxofbaic^d`Z[WWSS[[OOXWNLMR[[Y[ey„‡‰fdtnURZ]]]_hklv‚€€yv}‹”’‘‡Ž‹ƒ€ptqnqjqpqqsuwxyz{|~|t7-1C`u~…••‡¤¬—whmppop_q|ww|vv~vuyvxstonoknmotqoplp{Š”…ˆŽ†„°–~}„€}€nbnpcV\``^\ajhlvjhehfv€„~‚‡‰††‡|tejqnkh[[[[\begffefgik\\^n‚}~ƒŠ—•‡’Žƒxx{}zxxvussrsutsrqpoonnnqsuxy{{{xwvxzzz|~ˆ’š¨¶´ª–ˆ{smonmnmkgc^]^\[a`YZ^__cilgifdfrrlrmhbkxpuyqonnnpsvuvvuuttwy{~€€~~|{ywwŽŸ Žrqruxxxxxutrqqrtttroljjjjklnrtvwxvvuusrtsqqrz„Ÿ­±°¦œ~qgggfba]ZV[YXWYZY[ZYY\ZXYZZWWVXR]^gv|vqmllklopqrrpoooopsx{|}}~}}}|{xvt|†{ˆ¤˜xnpsuvwwutrpoppppoomljhgfggjloptvvwvvspooppnoqvŽ ³½¸£‰ukhjjhd`_]XVTUVUTUYadVWY\XYXUTUYV[|xsoljjklnopppoooooqsuwyz{{{zzzxwvqq~Š’–ƒ‚uqqstuvvtsrpmlkmmmlkigfcdeefimpsuwwwusommnpqqqno}—°¾¿°•skjlgdccZV[VVUVZZUUW]UWWZYXXUUzxwtqmjiikmnopppqsrsssstvwxxyzzyzywurom}¤¢}nmnrstuuvwwvrlkmllmnmkjiffeddfikoruvxywusomlnqrqpos—±Å§ˆtijlkkgfca]ZVUUUSUUWV[YWZYZxwwwvrmighikmnooopqrrrqqqsuvvxyyxxxusqqponu£´˜pnooqrtuvvoknkjklmnnmigedb```bflpsuuwxwurliimpqoljl| ÃͲ‰qkjlmkkigc_\XVTSSVUVZVYYWvwwwvvsnigghjklmmmnoppponoprtuwxwwxvtsrqqqr‡“‹‚liloprrrrmkpokggghlnmkiedcbbbacglnqsuvwwwtniilnpqqnkx”³Æ¾ ƒpklmlkihea^[VTTRW]TVVUtvvwwwvspkgefhijkklmnooommmnoqtuuwxwvutrqrrmmo|¦±Šlpsw{€ƒ†Œ‹‹‰†‚{urnmhfdccbaa`aeilortuvwwuqmiilopomjly—ºÊ½Ÿ‚rmlmmigffcc`\XUVUSTpsuwwuutrnieccdfghijlmnnnmlklnoprttuvuttrqqqos£º²£©®²³³³²³±±°¯±±³³­¤žikgdcaab`^`chloqstuuuurmggjkmmmkgk‚®Íί‡rqmljiiihggeb^WUXmoqrttutsrnidbabcdehjkllnmlkijkmnoqstuttsttqƒ¦ª©«ª¢—‘Š{vnkkkkkmqw†‡ˆ”ynomjecddca^_dimoqrtuuvurjeehklmlifg~¯ÐÏ°ˆrnnmkigghhggc_^klnqsstuusrokfbbbbdfghjklmlllkjllmpsstuttttr¦ƒvof_XTTW]h§Žme]WRRRQQL\|lnppnkhffgea`bgjlpqrtuuutqkedhlmmlkgk‚©ÊϳŒunnnljihgggfcikmprtuuuutrokgddccdfgikkllmmmljjlnoqrstttsu—eKJKMPRWVWXYslQKLhmkidZF=\jeinqpmjhgghebacfjmnpqtuuutqlgejlnnomggzŸÄϼš|nmnljihhggdhkmorttuuusrpliebbcdehklkllmnmljiklmoqsttr{AJXeqzŒd5740-199>_fehghbF>cfdeilnnlgeeddca`bfjmnprtuuuurlgfhknonkigq‰®Ëʯ‘wmlnljjj_cgjloqrrssssqnlfbaabbdgjjkkllmlmjiiklnoqrqŒa;Z…•ž¥¨­–n^A55;FHGB>?@:6=‰¢ˆFjlmmmkgdbcfhkjhecbcccc`]^aejlnpqrssqqojedfjlllkjjefxžÈ°ÄП[`dgikmnqrrrrqpnjfbaacdefhhijjklmnnlhj†HˆH046Rl`=FGB@@>AHH>OGpyW:5_€œP`mmmmnmliecfilkjhgdcbbba_^`behknorsrsssojedfijkkllkfew·ÆÐZaehjkmpqrrrrqomkfbcccdfgghjjjkmopplqyP;235o£ŽM@>6555>GICQL_pn:4/1ŠnRnlmmnnmlkfccgjlmkheb`bbaa__`behlopqtttsqniccfijklllkgP“¼ÈÉsZbfiklnpqrrrqqnmiedcbbcdegghijklnokxicˆ5:=<:9BbœaB;82D¨eWlh^[alkllmlkidbaehjkjgda__^^]]]^_bfilnpqrrrrrpibcfhkRKOŒ»Ä̇Y_dhjklnopppponmkfca`abcddefjjjnkrM `JVLfŠ‰…MFFFFFGFFEC_”QD=A5?¥gHoR7;9[mkklllkifcabehjkjgb_^^___]]]^bfjmoqrqqrsqnhccf_SLWœ¼ÆÅuV^bfhjlmnooppomljfca`acddedRB>WŽ^GžcVŒYReFCHLQY]^TNVMZ^l‚fIB893:\:>S>;=2Onjjjklkkigdaabgjjihd`_^^_^]\[[_dhknopqrrrrrnhbgZPJa©¾Ì»i\aegiklmnppppoomifc``abcd]7;9@CACNTTOKFD=9>7A[VNQM9687@B3.-/9]kiiijjkkjjifb`adgjkkgd`^]^__^\[]behlnnopqstsrmlbQMJr·ÀЫ`^cfhjklnnopqpomkiea```bd]31637@E4421248;<53323356558756878:991-.1:?Cgui‰ ]pwzff²ìÁylrqf^kT8>?742-,.Olihhghhhe‡ÊËÂ{_cdeffggiiihhihgdba]^cgkjiif_\]]]^^vzpmrqporrZLLQ–ÂÆ×­_befhjkklllmmmllkieY510,/047;<;GQPYdq„“¥É¼¥š‚sgd^VMFA<7310-Rmihhghhggdihdecdeeffggggggffggfeb`]]_fhhiie_]]^^]trnkoojhjlfNKJd³ÁËÖ‰]dggikklmmmnmmmmki^3//2347:>CLXhx˜µÃÍÔàëêâàßÝÀxbTMJFA:400-Vmiiihhgghgffeedddeefffeffggfghgfcca]]afijjjfb_]\\poofimpuspkSKLL„¿ÁÓÆmafgijkmmmnnnnnnmkd7,-0569>AGPWo~³òêîîíëìíííô¾ƒ‚wgTE;4/0-Zmjjjhhhgghhhfedddeeffffgghhgghggfec`]]agjklkic`]]mfekglsurtu_LL]l¢¿Ä׬cegijkllmnnoopoomh;+-/14:AIVg}¢³¤îÛëììììììíõ³–«‹{eMA:3///anllihiihhgggffda`badfgggfhhhhihhigec`^^aejllljhc`gnkippmnqvrmTJOP^«ÀÊÕ`ehijkllmmnoooonk@+./.2783357;hˆ“ª²³´°ª¨¨¦¢ŸžŸœ›œœž¡££yŽ}egfeefffffeeeedddcaa^[^dilmmwqpnlnnjlloopjSKKKk¾ÆÏ׉^dfhiijjkkllln@38/--/05??:>BC78::788479;>@@>c²¥ ˜‘ˆ†‚€~{ywvvutttstvxxu€‰b_deddeffffffffeeeeedc`^[]djlnlnwsomoppikmkjVKMMN”ÇÆÔ»a^begghikkllkg;39,,,.136:?@AAEGIMPv|VOIDA<6D¤¢{vupjhfeda_]\ZZ[[\\\\\]]]\Zos`abbaefffggffghffeeedba]\^ejlnruoooqtsnjnnhTMLMJd¹ÇÎÖŠ^efhiiikjki^X61;.,++./..///01001164/-+++*(t°{Y[\\_`cfimr|•ŸŽ‹Š…ƒ€}{}|{ylpwl¢¼¾“`deefeefggffdeeedca^[^eomnpuwvtwnmpomrfQJLLN‘ÉÊÔ¾icfijjjjiibVV80<3+?8-,+*))*))*********+,+:­šh\u‚‚„‚€~„Œ…— xiv…‚ƒ„ƒ€{|vat–èðæ–`cddcceffeecdeeddb`]\`lrwvqusoqmmkiktdLLLKLb¸ÉÍÖ–_eghhjhbb_XV80:61=XLA;544/**+***++,16:B@e¬‚`t€ŠŒ“š£¨ª­‚J2555T±ËÏÎÉÊÌÉ¿ƒzInhš´±¡d`abccdeeddccddddcb`]\tywqlmnpojklwuvh_YLLNO‹ÉÈÒÊrcghhjiihg^T<1956+<@:9412.***)***,-13325|™jS„²ÑÕÚÝßàáå‡Z\QNNP¸çáàÙ×ÞàäŠr^Xk_^Y\``abcbddcdddccdddcbb`]kkmidaekls{ytvojpfRLNS_¶ÈÇצcfhijghfeaT>76232.'&%&&&&%&&%$$$#####!2†•VdrÊáÞÝÜÜÜÝÝyajfmTN­åàÞÖÏØÞá„RzKldaaaabcdccddcccdcccdddccb_qomnlvqtjvtvvv~~m]SLKNMÇÄÑÓƒbffgefeb`[M:0--/*%%%&&%&'''(())*++,+(K•MpVÆåàáááàáÓjSSV[ONšçãåäæåÞØv8}Rbgabbbdeccdeedcccbbcddddcb`ˆ~„zy}zlkq{yz|tg]RLKLKT£ÈÈظdacdcddb_]WJ>;<;;<==<=>?@@?@BBAABCCB@e¡|MtB‹¬©«¯²¶»–XVSsrRSpÆ̾­š„j\H7cgRdbbbbabcbddddddcbbccccccba‹v€zutknvpkipjccbVLLL_f½ÃÌØŒ^abcccc`]YSNLLJIJLKLLMMMOOPQRRRTTTSUt kPrE:89;==GvK`bbbbabdddedddddbccccbbcccƒ€zy€yuruebhr|skmg[MLLYa\™ÂÂ׿e_acbcca_[WTSSRRTSQRRQRRTVXZ[\\]]^\a—\TlH978:;9679426uu87534:===9;KB7rR[bbbdcbfhhgeeefeedcccbbccc†††††††‡‡…†‡‡††‡‡‡‡‡‡‡‡‡‡†††…ƒ‚}yvttswyxzzzy{{zwuyyz{zyyz|~€€€…†…………†††††††††††††‡‡†††††††…€|xvttuuvyxxywyzyywuwvxzzxwy{~€€€††††…†††††††††…†††††††††††††…‚€€{vwwwwwyzxxwzzyxxwvuxyyxxyy|~€€††††††††…†…†††††††………††…„…………ƒ€~zyxwwy|{xxwzzz{yxvvxxxyzyz|~€†„„…†……††……†…†††…††………„ƒƒ„„…ƒ‚~{ywvxz{zyzz{{{{zvuxyxyzzx{~€‚ƒƒ„„„………………††……………„‚‚‚‚‚ƒ~|yxvxz{zy{}|{zyxuvxz{zzyz}€€‚ˆˆ‰‡ˆ‰‰…„……………†……………‚€€€€|}~~{zyvwwxzz|||{zywwwwxxyzy{~€€€†…ˆŠ‡‚†…„†………ƒ……„ƒ‚€~~~€~}{|||zyxwyvux{}||{{yxyxwuvxyy|~~€€€„†ˆ„„……†††„‚ƒƒ|{|||||}~~|{z{|zzzxxzwx{z{||}|zwyyvuuwxx|€€€€Š„‰Š‡„††ƒ€‚„„ƒ„†ƒ|wwww{{y|{zyxy{yzzxxyyy{{|}}}|zyxwwvuvww{~€€~’‘ŠŽŽ‡ƒ‰‰‰ŠŠŠ„ywwx{{xzyxwxyzz{{yuwxwz{|}}}|zzywywutvv{‘’‘‘‘’‘ƒ…‰ˆˆ‡ˆˆ†~ywxxyuvvwvwz{|zzyuuvwy{|}~}zyywwxxwwy{~~~„†…††…ƒƒ†„„……„ƒ„……€xwwvurtuvuwz|}zzx{{yzyz|}}}zyxvwwxxy|†}|~€~~‚‚‚€€‚€wvuttssutuwyyzyx{|{z{y{}~}}~{xxxxy{~€€ˆ€€}{~€€‚~~€wtsssrsttuvxuxyx{zyyyz|~{vwxxz~€}}~~|x€„†€~€‚€€€€€€vtssrqstvvuwyyyzzyxxxz}~|wrsvw{~~}}~~~{wq€€€€‚~~~vrtststuwyuwxxyzzywxy{|}{zyvpoqonqrqqruz|woml}~~~~€~~wrtttuuwxyxyzy||{{zzyxsninnrrqolhfgfeeeifdfik€€‚‚‚‚ƒƒƒƒƒƒ„ƒ„ƒƒƒ~}~|}}~€‚‚‚‚ƒ}xtswxzyyyxvwvtppomknolmˆ‡†ˆ‰‰ˆˆˆˆˆ‰ˆˆˆ‡‡‡†‡‰ˆˆ‡†„ƒƒ‚‚‚‚„„ƒ‚ƒƒ„††‡…„ƒ€€€‚ƒƒƒ„ƒ„ƒƒƒ{v‰‰ˆ‡ˆ‰‰ŠŠ‰‰ŠŠ‰ŠŠ‰ˆˆˆ‡ˆˆ‰ˆ‡‡†„ƒƒƒ„„„ƒƒ‚ƒƒ„…†‡‡…„‚€€€‚‚‚ƒ„„…††††‰‰Šˆ††‰‰ŠŠ‰ŠŠŠ‰ŠŠ‰‰ˆ‡‡†‡ˆˆ‰‰†‡…ƒƒƒƒ„ƒƒ‚€€‚ƒ‡ˆˆ‡…‚€€€€‚‚‚ƒ„„†‡‰‰ŠŠ‰ˆ‡‡ˆ‰ŠŠŠŠ‰‰Š‰‰‰‰ˆˆˆ‡ŠŠŒŒŽŒ‹Šˆ‡…ƒ‚‚‚‚€€€‚…ˆˆ‰‡„€€€€€€€‚‚ƒ‰‰‰‰ŠŠ‡†‡ˆ‰‰Š‰ˆˆ‰‰‰Š‰ˆ‹Ž’‘‘‘‘‘’‘‘’‹‚€€€€‚…ˆŠˆ†ƒ€€€~ˆ‰‰‰ŠŠŠˆ††‡‰Š‹Š‰‰‰‰ŠŠ‰Œ‰††ˆ‰ˆ‰ˆ‡ˆ‹‹…‚€€‚‚‚€€„‡‡ˆ‡ƒ€€€„ˆ‰ŠŠ‰ŠŠ‡††‡‰Š‹Š‰‰‰‰Šˆ‰ƒ}|ƒ„„‰Šˆˆ‰ˆˆ‡…ƒ‚‚‚ƒ„‚‚‚€ƒ‡‡‡‡„‚€€€€†ˆŠŠ‰Š‹Šˆ††ˆŠŠ‰‰‰ˆˆˆ‡††ƒƒ…†„„ˆ‰ƒƒŠ‡‡‰‰‡„ƒƒ‚‚ƒƒ€€€€ƒ†‰ˆ‡†‚}„ˆ‰‰Š‹‹Šˆ††ˆ‰‰‰‰‰ˆˆ††‹ˆ…‰‹Š‰‰‰€~ˆ†…‰Š‰ˆ…ƒ‚‚‚€…‡‡‡‡†ƒ||‡‰‰Š‹‹‹‹ˆ†‡ˆ‰ˆ‰ŠŠˆ††Š…~…ŠŠŠŠˆ€~ˆ‰…‰Š‰‰‰‡„€‚€€‚„‡ˆ‰ˆ}}~ƒˆ‰Š‹‹‹‹Š‡†‡‡ˆ‰ŠŠ‡…‡‰†‚†‰Š‰Š‡~~ˆ‹…‡Šˆˆ‰‰‰‡ƒ‚ƒƒƒ‚€€„†ˆ|}}…ˆ‰Š‹‹Š‹Š‡‡‡ˆˆˆˆ†„„…†††‡†††„†Š‡‡†…„‰‰‰‰ˆ„€ƒƒƒƒƒ‚‚€€€€€‚…v|†‰‰Š‹‹ŠŠŠ‡††‡†…†‰‰‡ˆˆˆ‡‡‡‡ˆˆˆŠŒ……‡‰ˆ‰‰‰‡…ƒ‚ƒ‚ƒ‚€€€€pz€}}‚ˆ‰‰Š‹ŠŠ‹‰††ˆˆ†ˆ‘ŽŒ‹‹‹‹‹ŒŒŽ‘‡†ˆˆ‰‰‰‰‰ˆˆ…‚‚‚ƒƒ‚€€€hl{}{„‰‰Š‹‹‹‹‹ˆ††‡‡‹Ž‹ŠŠŠŠŠ‰Š‹Š‹‹Š‹ˆ‡†‡ˆ‰‰‰ˆ‰ˆ…ƒ€‚‚‚‚‚€jhp|}~†‰ŠŠ‹‹‹Œ‹ˆ†‡‡‰„ˆ‰‰‰‰‡†‡ˆ‰‰Š†|ƒŠˆˆ……‡‰ˆˆ‰‰‰ˆ†ƒ€€€‚ƒƒ‚kjjv€~}‰ŠŠ‹‹‹‹Œ‰‡†…ˆ…~‚‡‡‡‡†‡‡††‡†‚ƒ‡‡ˆˆ‡ˆˆ‰ˆ‰‰‰‰‰‡„‚€€€‚„……nmms€}}…‰ŠŠŠŠ‹‹‹ˆ…„„…‚‚ƒ‚ƒ„‡†‚‚„„†‰‰ˆˆ‡ˆˆˆ‰‰ˆˆ‰†ƒ‚€€€‚†‡†oliny€~}€‡‹ŠŠ‹Š‹‹Š‡…„…„ƒƒƒ‚„„…„‚ƒ………†ƒ†‰‰ˆˆ…„ˆˆ‰‰ˆˆˆˆ‡…‚€…ˆ‡ijhhkz}}ƒ‰ŠŠ‹‹‹‹‹Š…ƒ…†‡†‡…„„ƒ……ˆ‰‡†…ƒ‡‰‰‰‰ˆ‡‡‰‰‰‰‰‰ˆ‰ˆ†‚€€ƒ…‡nniges~|~…ŠŠ‹‹‹‹ŒŒ†‚„†‡†‡„€€€‚†‡‡…ƒƒˆ‰ˆ‰‰Š‰‰ˆˆ‰‰‰‰‰‰ˆˆ†ƒ€‚ƒljggfk{‚}€‡Š‹‹‹‹ŒŒ‡ƒ„„„…‚ƒ€ƒ„„‚ƒƒˆ‰‰‰‰ŠŠ‰†ƒ‡‰ˆˆˆˆˆ‰ˆ†ƒ€fgggghq~€}|‚Š‹‹‹‹‹Œˆ€‚€‚‚ƒ€‚„…†‡Š‹Š‹‹‹‹‹Š‡‡‰ˆˆˆˆˆ‰ˆˆ‡ƒ€€hhgfegfu‚€}ˆŠ‹‹‹‹Œ‰ƒ‚‚‚‚ˆ‘“””•••••••’Šˆ‰‰‰‰‰‰ˆˆˆ‡ƒ€ihgdghgs€…Š‹Œ‹‹ŒŠ‚‚‚ƒ‚‚‚‚ƒƒƒƒ„ƒ‡–——•““““““’’’‡…‡‰‰‰‰ˆˆ‰‰‡ƒihfehihn|}ˆŒŒ‹‹ŽŒ‚‚ƒƒ‚‚‚‚‚‚ƒ„„ŠŒ‡…„ƒƒˆŠŠƒ‚‚‹‰ƒƒˆ‰‰‰‰‰‰‰‰†ƒjjjihhhjt}ƒ‹Œ‹‹‹Š‚‚„„‚‚‚‚‚‚ƒ„…Š‡|yyw€‹Š‹}yzy}‰Œˆ†ˆ‰‰‰‰‰‰‰ˆ‰‡jjihnkhjq~‚}‡‹ŠŠ‰‡ƒ‚€‚‚†‹‡||{…ŒŠŒ€z}‚ˆ‹Šˆˆ‰‰‰‰‰‰‰‰‰ˆknmnppmpt|~}}‚‰Š‰ˆ‡„„ƒ‚‚‚‚‡Š†‰ŠŠ‰Š‹ŠŒŠ‡ˆ‰Š‰‰‰‰ˆˆ‰‰‰‰‰‰‰‰ˆzzzzzzzzzz{{zzz{zzzzzyyzyyzz{„„ƒ„…††ˆ‡‡††ˆ‡ˆˆ†††††………‡‡„ƒ‚‚‚‚yzzzzzzzzzzzyyyzyyyyyyyzyyyy{‚ƒƒƒ‚„…†‡†……†ˆ‡††…„……………†††„‚yzyzzzzzzzzyyyyyyyyyzzyyzzzyz~‚ƒ„„ƒ„„……„„…†‡†„ƒ„„„ƒ…†‡‡†…ƒ‚‚€zyyzzzzzzzzyzyyyyyyz{{z{{|zzz}€ƒ…„„„……„„…†‡‡…„„ƒƒ„„…ˆˆˆ‡…‚‚‚‚€€y||zzzzzzzyyyyyyyyyy{|{}}}||}€‚ƒ„„„……………‡ˆ‡………„ƒ„…‡‡‡†…„‚‚€€|‚~|}}|zzzyzzzzyzz{}}~~}‚ƒ‚‚ƒ„„„……‡††‡‡…………„„……‡‡††„ƒ‚‚‚€€€}|{zzzz|zzz{|}€€€€‚„…ƒƒƒ„…„„„„…‡‡‡……†……„„……††††„ƒ‚‚‚‚{{z{{~}}zzzyz}{{}€‚ƒ‚€‚ƒ……„…„„……„ƒ„…†‡†„………„………†††……„ƒ‚z~ttu~}}}|{|ƒ…††……ƒƒ„‚ƒ…‡‡…†…„„…„ƒ„…†………„„„„„……†††…„ƒ‚‚‚ƒxzzz‚~}€€€€€†‰‡‡…ƒƒ„„…‡‡†††…„„…………†„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚xzyyz|zy„€||yx{|‡‡‡†„ƒ……†‡‡†…††…………†……†…‡„ƒƒƒƒƒ……†‰‡…‚‚‚‚|yyzzy{z}}~|{}}~„†‡††…†ˆ‡‡ˆˆ†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ†€~††‚€‚†††††‡ˆˆˆˆˆ†…„„„…„„††‡††„„„„„†‡ˆ‡ƒ‚‚‚„†ˆ…ƒ„„ƒˆŠ†€€€€‚‚€‚‡†‡ˆ‡‰ˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„„…‡ˆˆ‡ƒ€‚‚‚‚„†…„‚‚‚‡†‚€‚ƒ„„‚€‚††‡ˆ‡‡‰ˆ‡‡†…„…„„„††‡ˆˆ‡„„ƒ‚ƒ…†ˆ‡†ƒƒ„ƒ€‚……ƒ…†…‡‡‡„‚‚‚‚€ƒ†‡‡‡‡†ˆˆ‰‡††„…„ƒ„†‡†‡††„„„„……‰‰…‚€‚ƒƒ‚„ƒ‚ƒ„„„„ƒ‚‚ƒ‚…†…‚ƒ„†‡ˆˆ‰‡ˆ‡ˆ‡†…………ƒ„…‡†‡‡…ƒƒƒƒ‚‚‚~|||~~€ƒ‚€‚ƒƒƒƒƒƒƒ€„…„‡‡‡„……‡ˆˆ‡‡ˆ‡‡†……„ƒƒ„ƒƒ†‰†††}}}z{zzzz{{|~~~€|~€‚€€€~‚‚‚ƒƒƒƒ„‚ƒƒƒ………„ƒƒƒ‚€€‚……„……€€~~~€€€€€~€~~}~~}}}|}}~~€€~}}~€€‚€€€€€€€€€‚Š…ƒƒ‚‚‚‚€€€|~~~~}}}}|{|||~€}}}€€€€‚„Š…‚€€€€€€€€|||~}}}}}|||{|}}€}}~€€€€~~ƒƒ‚ƒ‚€€€€€€}|||}~€~~}~}}}||||}}}~||}{{||~€€~~€‚ƒ‚ˆˆ}}}||}€€~}}}~}}||}|}}{{{{{~‚}|{{{~‚‚‚‚€€~~€‚††‚‚~}||}}€€~}}~~~~~}|}}|}}}~‚…~~~}}‚‚‚‚‚~~‚‚‚‚‚„}}}|}~€~}}~~~~|~|{zz||{xy||||~€‚‚‚‚‚‚‚‚€~}‚ƒƒ†ƒƒ€~}}}}~€~~~~}~~~~}|}|{y{|yz€|{~~~€€‚‚‚ƒ‚‚€~}}‚„ƒƒ~}}}}~€~}}}}~~~}|€„{wxyy}‚~|}}}~~€€‚‚‚‚‚‚‚€~~€†„‚€~}|||}~~~~}~~~|{€‡~yzzy{ƒ†~{|~}}}}~€‚‚‚‚‚‚‚‚€|}~’‰‚€~}}||}~€~~~}~~~{z~|yz{{|‡ˆ|z}}~~}}~~‚‚‚‚‚‚}ƒ„ƒ‚€}|}}}}€~~~~|}}~|{|}}~„…}{}~€€~}}}~€‚‚€€€€€‚‚‚‚€„„ƒƒ‚~}}}}}~€€~~~~~~}|{|€€~~}}~~~€€‚‚‚‚‚‚‚‚‚‚~~}}}}}~€€~€~||}|}|}}~}}}|||zz~~~~}}}~}~€‚‚‚{|Œ‚‚~}}}}}}€€~~{}|}|}}}}}}}}}||€}~~~}}}}€‚‚‚‚}{~‰ˆƒƒ~~}}}|~€|ƒ‚~}~~~~~~€ˆ~~~}}~~~€‚‚‚‚‚‚||€‚ƒƒƒ€~~~}}}}~€„…€ƒ€€ƒ…‚€~€€~~~~~~€‚‚€€€€~ƒƒ‚‚ƒ~}}}|}}~€€€ƒƒƒ†ƒ€€‚€ƒƒ‚€}€€€~~~~}~}€‚€€€€ƒ€|‚‚ƒ‚~}}}||}}€€ƒƒ„‚‚…ƒ€€€ƒƒ€~}~~~~~~~}~~€‚€€y||€‚‚~~}}}}}~€€€€€€ƒ‚~~€€€€~}}}~~€~~~~~}~~€€‚‚€~yyy„•ˆ‚€~}}~~~~}€~}}‚€€€}€€~}}~~~~~~}}~‚€~ywx}„‹…‚~}}}~~~~€€€€€€…†‡‡‰‰†€~}€€€€€~~~}}}~€‚‚€~zxxy‚‚‚‚}|}}}}~€€‚ƒƒ‚…ˆ‰‰‰‡†…‚€€€~|||}}}}}~€~~}}}}~‚‚‚~zxwwy€ƒ‚‚‚}|}}}|~€‚‚‚‚ƒ…†…„ƒ‚ƒ|ywvvuuvvuuvuy~~~~~}}}~€‚‚~ywyzz~ƒ‚‚‚}}}}}|}€€€€€€ƒ‚}xwwxxy{||||{{z}€~~~}}}}~‚~{x{|{~‚‚‚‚~}}}|z|€€€€€€€€€€€€€€{z}}}~‚€~~~{~~~}~~~}}~€€}{{}~~€‚‚‚~}}||~€€€€€€€€€€€{||~}}}xxz}}}~}z|€~}}}}~~}~ƒ~€„„‚‚‚„ƒ‚~~€‚‚‚ƒ‚~}}}~|xyx|{|}~~~~~~~~~~~~ˆˆ‡ˆ††„…†ƒ‚šŽ~~~€‚‚‚‚‚‚}}|}~{xtw{~‚€|{|}}~~~~~~~}~ÑÑÑÐÐÑÑÒÑÑÑÐÏÏÏÌÆÉÅÎÏÏÐÑÑÑÑÑÑÏÏÏÏÏÏÏÏÏÏÏÍÎÎÍÍÍÍÍÍÎÏÏÏÏÎÍÈ¿¶±§£–ƒtjnymlkmoueidX`c^^g_U\a`aWRPU\Zaf`eTVWXVWTT\VRX`a]YUME=9<<632@3ÐÐÐÐÐÐÐÑÐÐÐÏÏÏÎÊÅÈÄÌÏÏÏÐÐÐÐÐÐÏÏÏÎÎÎÎÎÎÎÎÍÍÍÍÍÍÍÍÍÍÎÎÎÎÏÏȸ ¨›y„|‚va`bs}p^`plh\Z[\`[YWQ_ha]SQQRZY^hihQW^b[RPLSSZac]XPOK@A76642077ÐÐÐÏÏÐÐÐÐÏÏÏÏÎÍÉÃÆÂÊÍÎÎÎÎÏÏÏÏÏÏÏÍÍÍÍÍÌÌÌÍÍÍÎÎÍÍÍÍÍÎÎÎÎÏÏͤŒ‹rppqnoprw{bccfe\\[\]]TUW^e\[[XVSWUW^ieSSY\UNPORS_ebc\QGB@<952330.2ÏÏÏÏÏÏÏÏÏÎÎÍÎÍÍËÃÆÃÌÍÌÌÍÌÍÍÌÍÌÌÌËÊËËÌËËËÌÌÍÎÎÎÎÎÎÎÏÏÏÏÎÎÎη™”|nux|x‚€ggc`i[bgf\\XW`[TZfgTRUXYTPNWP\jRQUY[QMSPQ[c`bWUUOH?<85331..ÏÏÏÏÎÎÎÎÎÎÎÎÎÎÏËÂÃÃÎÏÏÏÏÏÎÎÍÍÍÍÍËËÌËÊÊÊÉÊËÌÌÌÌËÌËÉËÌÍÍÍÌÌ;”‚‡vcn~ndh`bcYke[YUUO]bacqp\ROV^VNJURS[T\]ZWOQRV[`XXZRPZQJ>@A<520-+ÍÍÍÎÎÎÎÎÎÏÏÏÏÏÐɼ½¾ÎÐÐÏÏÐÏÏÏÏÏÏÏÏÎÏÎÎÎÍÍÍÌÌÍÍÎÍÍËÆÉÌÍÍÌËÉÇŤ‹|}rh`mrpe_c`Z^aWR]TTR\hgiifjXRWZTRTUSSXS\_cWUVRZ\_ZYUTORPI>@>5561.3ÍÍÎÏÎÏÏÏÏÏÏÏÏÏÐǽƿËÐÐÏÏÐÐÏÏÏÏÏÏÏÏÏÍÍÍÎÎÎÌÍÎÎÎÎÍÊÆÊÌÍÎÏÍÉÅÄ´›{~sgXUea]`ba_b`YUSLOW[acgk`^UQPPPKUSUQ`MVV[[X[[a]^YSRUPRLFC>@;431/3ÎÎÐÐÏÏÏÏÏÏÏÏÏÏÏÆÁÍÂÉÏÏÎÎÏÎÎÎÎÏÏÏÏÏÏÍÍÍÎÎÎËËËÌËÈÆÅÂÈÇÊÍÎÌÅÀ¿¯‚|tWTQSOWZnrhbd\ZODAPYT^cc^XUSLNLILIRMZPSVVXX\]\]aZTPUOYPCGA>?40/--ÎÎÏÎÎÏÏÎÏÏÎÎÎÎÏÆÃÍÂÆÎÎÎÎÎÎÎÎÎÏÏÏÎÎÎÎÍÎÏÍÍÊÈÈÊÄÁ½Ã¾ÃÁÆËËǽ±¨«vt_WWZZjj`qhhbWWSRUUfVO\]UNWZTMJGOQS[ZSQZ\VTZZWPVZURXQYYA66220/.--ÎÎÒ×ÕÏÌÍÍÍÌÌÌÌÌÃÂÊÂÅÎÎÎÎÎÎÎÏÎÎÎÎÎÎÎÏÏÏÏÍÆÃÃÁľ¼°ÀºÀ·ÁÈ¿µ¥‹Š€qŠ}g]a\^fnXo_W_UPUVa_XPPSZSPTVZOMMVTT]j^PXYWWVV[SRZYZ^^MD>8540..---ÐÛêïìâÒËËÇÃÃÅÇÊÃÁÈÂÃÌÍÎÍÌÍÍÏÎÎÎÍÍÍÍÎÎÎÏÎÆý¶½º³¤¼¶Àµ¸Â·¾µ™†|{niecedV\e^Ve]U[^QTTX]VVSOPPLMNU\WQUQSSe[O[[XSNPZXZUXRNJ@8>=;71.----ÞîÜÃÑíéÎļ·´º½ÃÃÅÊÆÅÌÍÌÌÌËËÌÍÌÌÌÌÌÌËËÉÈÈÄ·°ª¯³© ­°»°µ»¯¬¡ƒvyvmjS`g\ZeZR\i`Z`[LQSU_bcUQNMLOSMVXLOUPT^^\c^VPLPZWYWPQXJBC><;951/.-,çߧ“¡ÊÛƺ¶³³¸ºÁÃÈÍÊÆÍÎÎÏÎÍËÉÌÍÌÍËÊÊÈÅÄÁÀ´£žœ¤§œš¢¯°¬¯ª¦™‚tnmimo_XZVaaWX_^]bXRXTTUWaZRTQNSWSTUXRQXQT[aY`Y\\W_`TUZXUR@?H<86776200.Ÿ„‚}~{~~€…¢ÄÇÌÉÄËÎÎÏÎÌÈÄÊÍÍÍÌÈÆÀ··¶º­ —œ™•£´¯«¢š“xkfgVibSMGPX`YTR`jabra`b_UYOQQPQSXSVRUZS]PQ_`_i\e`libTQOMKK@>@8866554/12u„”•’gW[Um‘„y©ÆÈÇÁÊÎÎÍÌË»ÈÌËÊÇ¿°¥Ÿž¥§ž˜Š•œ”’Ÿ±¯ž““‘„vefjZ`VPSQR[a`]kp`SXeOXsq]ROKNNLHJMOPNNRZU[`VTZZbi_^ZQJNIFECHA8655344024–²­±¿œgQu¸ÖâÛÉŽ‚ÂÈÇ»ÄËËËËÈ¿¶ÆÌË·ªžŸ–š˜‹‘„—•‹‘–Ÿ‘‹‹‹„€xvqcZVZ]YPZ^WU^j^SQ`ihca^URMKJHIGGFHOMS_]Y]WQ^kihV`VOUTKJA@A9854324438=q`HWž¤„lz¾ÑÖÒ¾zp°Ç¾®´º¶º¹Ç¾±Ãɾ±¤¡›œ¢––†‚…‹Œƒ‹ŒŽ†„‚†‚€zxpcXWUU^ZVZVT[iSRQ`igTS\YTNMNKLJFKJJRV]dT[SRntehac_U`ZWVH<;;97443364;B{`€„œ¤~¡«qSZVOo’µ¥£¢£¨«·ÇÆÂÈÍÄ»¯ªŸ› •–†„…‚‚‡z…‹‰…‚~€vrqkeYQ\j\RWSV`[O[]`bZSSSTSMLQSMPTRGCLPVbRRN`cdb\fl\SS^ZFSE<;<9555499;>~ªÁ§y46”NEKR=fuŸš Ÿ±ÔÚÙÕÓÒÒÑÒÖ×ØÈœ˜’‰ˆ„ƒƒ{Š‡‚€|~{zrkjf[XZSZ_ZU]\`[V\\]_\VQKXVNMPLCEGFA?GIJSLTT[^c[dq^`Q[`[JFCA>=956669=?=e\b}lO96GUT†rC8Ug¢sv¨³Žymd`a_`_bgs…’‰ŒŠ†ƒƒ‚{‡~xzxttomhZ^dceZRTZX^^cZU]UZ`]WSLOLOJCDFA@GHEBRIWY\Ybcc]SeeWXYTMIFG;75668<>GFPA>;@J?>@Q[ndJ@EK¦xS¹š@DGILaOJMLLH@›ƒ‘‹ŽŒ…„ƒ…}‚{zwsuupjdX^fb\RVPR_geeYPTTk^eZOSSPJIDITKCKMNFQR^`[O\ffeVbfXOX`TFBB=;8768ZŸ˜Š‰€‡‹…€‹ƒ{~zwwxzucWR\Z]X[YP[\_ahhjosmS^_VOSQGFFQXRRPQRJKW[_[NO_\a``jiW`VB::==<:;9:>>>;f`^^]^^]\[[[]]aektÃíÃXYEB:;GHL?78;:?”¡¹Ÿ‡„Š}„Š‹ˆ‰ƒ~zxx|wwq_X_aUZVVZcZPOat„vf\_gTVNLSSNNJC@NVSTWUP_fff\T[[_]U^YVWH<99;<78::9>==?>>_eONNMNOOOOOOX}eŽ’Ì¿¨¦©­°°±±±°¯¯ª¦¦´ÇÙ¦zz‡†€z}€xtwyzvqmj^UNLZY^UUZ^]ZJZa[^Y[bYLNTPOJMPPRUWYX]of\\][X[YSXOPNA874`}98988;BFDFÐÙmW`cf“Žfd^V‘îÑíÑb«ÕÖÔÕ×ØÚÚÛÛÚÙØÖÔÑÙ½‚|€}~~„€€~yzrpyz}tjceUTVFBPYXW[\OKKWZ]^V\g`TNMKMPOPKIKNXY[`c\`ZWTXOKOJB=9886XŠ@889<?>=DIB?M]mk^NRhSHA;;:7;;99>8zÞ^3>DSSJV__nŽnSWZLB;677<@BA>A=~ìm7@9;DJOYcUYHkzwsqqusFZ…UCHWïìììììíîîíîíìëììëð»tr}{|~}xv‚‡€txxshgkt|iXWWTRSOUZQQ\^]Y\e`[OSTPIFLPJ=>NVPhojyŽj]_SJC>:;@GMIB=@:‚õx:>5IV\TYbgqf\Z\bfimompf\hyxqmfklX‹ô‰WTZwwsvmh7=EJIHHPOLIFHI?3466dÛØÂ¥ÂñÀ˜––“§éÜ¥´Ñ߉x‚‚~w}~vz}xzqe[bieacbVX\[USQPNU]ZU[[TNRZWSUXYq‚zdmyo]UY^_bejho†ƒƒˆ|†ŠŠŒ™º–’Šƒ}uvsimpokiigddcdfhpsH*27K³àÚÖÚÚÕÖÛÝÕÒÐÏÐÕàËl{~€ƒxx€xsx|~rxofb`ic^d`Z[WWSS[\QPZXNLOS[[Z\fy„‡‰fdtnURZ]]]_hlmv‚€€yw}Š”“‘Ž‰‹ƒ€puqnqjvuvvwxzzz{}€~Q)06Xl{‚“˜Š‡›¨¡…ngnqqtic|xw|vv~vuzwxstonoknmotqoplp{Š”ˆŒ†„®—~…€}€nbnpcV\``^\ajilvjhehfw…‚‡‰†‡‡|uekrnkhUTVWY]abaabccci\NPX|‚€~}‚‰–“†ƒwxy{|yxvussrsuusrrpoonnnqsuxy{{{xwvxyyz{‚ˆ‘›¬¸µª–‡{smonmnmjgc^]^\\b`YZ^__djmhifdfstmspjclypuyonlllosuuuuttssvz|~€€~~}{yxwŽŸ sqsvxxxxxutrqrrtttroljjjjklnrtvwxvuuusrtsrqu|…‘ ®²°¦œ~shggfca]ZW[YXWYZY\ZZZ\ZXYZZXWWYR^^gv|upmmlkmoprssqqpooqty{|}}~}}}|{xvt|†|‰¤—wnpsuvwwutspopppppnmljhgfggjloptvvwvvsqopppnoqv€Ž ´À»¤‰ulijjhd`_]XVTUVUTVYadVWY\WYXUTUYV[{wrnkjjklnpqppppoopqsvxyz{{{zzzxwvrq••†„uqqstuvwusrpmlklmmlkigfcdeefimpsuwwwvtpnmnpqqqnp˜±¿¿°šƒskjlgdccZV[VVUVZZUUW]UWWZYXXUUzywtoljijkmopqppqsrsssstvwxxyzzyzywurom¦£|mnorstuvvwwvrljmlmmnmkjiffeddfikosvwyywvspmlnqrqpouƒ›µÆÁ¦ˆtijlkkgfca]ZVUUUSUUWV[YWZYZxxwwurmighilnoooopqrrrqqqsuvwxyyxxxvsrqooow¦´•onopqrtuuvrkmjiklmnnmigedb```bglpsuuwxwurliimpqpljm~¡ÄͲˆrkjllkkigc_\XVTSSVUVZVYYXwxwwvvsojggijklmmmnoppqpnoprtuwxwwxvtsrqqqs‰“Šljloqrrsttlqrmkjjjnpnljfddcbbachloqsuvwwwtniilnpqqnkx”²Å¿£†rllmlkiifb^[VTTRW]TVVUuvwxwwvtpkgffhjkkklmnooonmmnpqtuuwxwvutrqrrmmo~ª¶Žnnonnopkpqomkjhiikmnmidccba``bejmprtuvwwuqmiiloponjlzš¼ÌÀ¡‚rmlmmjgffcc`\XUVUTTqtuvwuutrnieccdfghijlmnnnmlkmnoprttuvuttrqqqqos™…mosw{~ƒ‚Š‹ŠŒŒ‹ˆƒzupmlnkfecaab`^`dhlpqstuuuurmggjknnmjhl†±Íί‡rrnljiiihggeb^WUXmoqrttuusrnidbabcdehjklmmmlkijkmooqstuttsttrpoy€‹š¤©¬±²´´±±²°°°¯¯²³°©£›yoomjecddca__ejmoprtuuvurjeehklmlifh±Ðϱ‹smnmkigghhggc_^klorsuuuusrokfbbbbcehijkkmlllkjllmpsstuttttsvŸ«©¬«¦šŠ‚|xrkjjjiikpx~…†‹loppnkhffheaabgjloqrsuvvtqkfeimnmmkgk‚©ÊжŽunnnljihgggfcikmpsuuuuutrokgecccdegikkllmmmljjlnpqrtttttqŠ­‡yqh`ZURV]ax¡¦‚kcYTRQROOLkthloqpmjhghhebacfjmnprtuuutrlgejlnnomgg{ŸÃмš|nmnmkjhhggdhkmprttuuusrpmiebccdfiklkllmnmljjklmoqtuttr‹‚OJJLOQWXRVVf{v]MHSnmliaT@Djgdfjlnnlgeeddca`beimoqstuuvuslhgilnonkihq‰®ËÊ®‘vnmnljjj_cgjloqrrssssqnlgbabbbdgjjjkllmlmjiiklnprsss‹UAV^kvƒ‹ƒC671-,5;:IdeffdhZ>Okgecdgjkjhebabb_^^`dgjmopqstssplgfikllmnmhi|Ÿ¾ÍéŽxqqom€\cgjmopqrrssrpokfb`aabdgijjkkllmlihhikmoqq|…?Iu‘š¡©­ª}lU>68AIHE@>@>66EX@fmkgdbcfikifb``_^]]]^_beilnppqqpokhedhjklljgfk|¢ÌÕÄ›vkmÂu]ejjmopquvttrrokfcbaabegijkjihijkjgfhjlnnˆmATz¶¶·ºº¶²«®Švy‰ZD<33;A:45fQSpmkgdbacgggeba_^^^]\\\^adgjkmmmnnmjc`dfhjjjjhedz§Î×Á”p̾p_fhjlmorstsssqnjfca`abeghihiikklkihfhjlmQ^OO¨®¥š†zv½³{´uC36NZQ<42XtCkmmmjga`cfhggdba``b`^]\^`cgjlnpqqqpnhbbehikllljgg~§ËÕ¼¿Ñ²_]dgikmnputrsrpnjfca``ceeghijkkllkkhfghq‰D{C2CE@94@DFWagfjxP.>fzbM44@‡K`mmmmkgdbcfhkjhecbccdc`^^aejlnpqrssqqojedfjlmmkkjefyŸÉ±ÄП\`dfikmnqrrrrqpnkfbaacdeghhijjklnoolhf{zM‚6247888DHIGGHGFJB@95447DHENHXayU34,IœPbmmmmnmllkhdccfjljifca_^``^^^_bgjmprsssrrrohccejllmmlY}µÀа_]egjllnpqrrqqqomiecbaabceeffijjlnmk†K’S4?9d‰‘›S;312238>8EL{—›a452;–jUmmmmmlkllljgdbdhjjjiea_```_^]]`ehkmnprrrttsniddfjkllZ_†»ÄÑš[behjkmnpqqqqponlhdbaaabcdefhhjlmml|O˜GBMBcœ¡¦^KD412321078m¢–U9222|ŒIklmnmmkllmlkiebbehjkjgda__^^^]]^_bfiloqrssrrrpibcfhkRJS”½Å̇Y`dhjklnopqpoonmkfcb`abcddeehijlilm`•FLMKJp|kPJJB=>=<98:Nt›ŠJ@:60e¨Kfkga`gkjklllkjfcabeijkjgb_^^___]]]^bfknoqrqqrsqnhccf^SL\¢½ÆÅuV_bfhjlnnooppomljfda`acddeehjilmkYuIQZI‰škEGFFFGGGEDF|—¡sG??>0]¬G\lC::?dkjjkllkigdaabgjjihd`_^^_^]\[[_dilnopqrrrrrnhbgZPJg®¾Ì»i\aegikmmoopqpoomjgc``abcde]HCE„uGvNzElVFEIMW\^]OTQS\bz~VF<791IZ3KO9?<2_jiikklkjjifb`adgjkkhc`^]^__^\[^behlnnopqstsrmlbQMKy¹ÀЫ`^cfijkmnnoqqpomljea```bceF6>8jhBHRCZU6?BB@HSXSOLHC:<<8O]SPSE5667A<4202@fhhhjklkklkigebachklmlhd`^^`ab`]\]agjlmoprstssnqcRLO½ÂÒ–Zadgiklmnopqqnmmkgc`__`bdB/664:4333345546864787;:9:=BO;.:NUdhgghjjkkkkkkjifb`bgilmlkgb_]_bba_[[^diklnopqrrknw^OK[¤¿ÊË}[cfhjklmnoqqonnljfb`^^acZC:41.O[=<98887766677666667777777888:;>J;Fcjhfggghhhijjjjijkifb_adhklmkhd`^__`a`^[\`fiknoqqqsrngYQKj±ÃÏÄp^egjklmnnoppponljea_^_acfev‹CGY;;998677666776775566666677899:8=RPQ\js…’¶É¨™…oaZZUPJC?:52102akiihhhgggfdeedddeefffffghgfghgfcca]]bgijkjgc_]\\poofjmpuspkSKLL„¿ÁÓÇmaggijkmmmnnnnonmjhC-002358=AIR`o±ÁÉÑáêàØ×ÐÉžk\NHEB=720.3ekjjhhhgghhgfedddeeffgggghhgghhgfec`]]bgjklkida^]mfekglsurtu_LL]l¢¿ÅجcegiklmmmnnoopoomjJ+-/467:>AIO[vˆâíìîîíëíîîï𛉅vl^MA82//5hllkhiihhgggffc`abadfghgghhhiihhhgec`^^aejlmmjic`gnkippmnqvrmTJOPb¯ÀËÕ`ehijlllmmnoooonlQ+-/027>DO]qˆ»’Úããìëëëëììí뉰š‡u_J?81/.9klmkhiihhgggffcŽ¾À¤fdffffhghiihhhhgfda]]`fjmnolhdzutrwsmmonjlfMJKK{¾¿ÏËt^effiikkkmnnoonnV,,0.05;?IXk§™Úóðòóóòòòññèz†pbTLS>93/-=mlklegjiihhgggezÎæàœaeefgggghhhgfgggedb^]bgknomljy€rmlmjlnqjcOJNMPœÀÄÖ­^adfghikklmmmnooX../.157Q[B@DMJš¾±§—‰„€wh800.8—Ú}I>/.@mmkldekjihhggggfryspdeefffffhggggggggeda^]agjmmnmrwtwunqjpqpnleYNLIk¼¿ËÔ}YbdfgijkkllmmnoY/2/.6FYÈÓe85:MQ?CEKLONQTV[\mut~Çö¦F6.-Dlkijdbgffedddddcbb``kjdffeeghggggfffffda`_]_dilnnowvxworkknmnqujQKLR¡ÅÆظdbfiijkkkkllmloY/8//1@mé×—}‡“¬­œ¢§®´»¼¼º·¯£Ÿ‹mg„žd0**.Mrvx}{|‰ŠŠŠŠˆ†…€}zsjm‘}egfeefffffeeeedddcba^[^dimnmwqpnlnnjlloopjSKKJqÁÆÏ׉^dfhijjkklllloZ.<..-5E~‚hINV\[XYXZ]][YUMC>::8?MHNcw‡—¥­¯²´±±µ´´´´³´´²±±¯ c_deddeffffffffeeeeedca][^ejlnlnwsomoppikmkjVKMMPÇÇÔ»a^beghiiklllloZ,>/.,/13@G;:@F;67752///257:<=>C†¡©µ±­ª¤ œ™˜•”‘‹ŒŒŽ’Ÿƒ``bbaeffffgffghffeeedc`]\_ejlnruoooqtsnjnnhTMLMJl¾ÇÎÖŠ^efijjjkkkkljT*>.,+-1258>@AABFGILX„eQNJGC>9=‡¶”‰ƒ}zwuroommllkjkkkkjkkm‡t ¼¾”bffffeefggffeeeedca^\^eomnpuwvtvnmppmrfQJLKP›ÊÊÔ¾icfjlljjkkkd[I)>1-++.//0133366567:F941.-,,(Q³ljieaaa`_\[Z[\Z\__^_`__^^_[ex˜èðç”bddeddeffeeceeeecb`^\`lrwvqutoqmmliktdLLLLLi½ÉÍÖ–_ehjjjjkjgZUI(<6//6++,+*)))))*)))(*****++2–¥kU_cgimnsx€‰•¯º š–‘‹…‚€€ywupšº¸¥eaabccdeeddccdeddcb`]\tywqlmoqpkkmxuvh_YLLNPÊÈÒÊrcgijkhdcaZVJ';733VM?93110+*+++*+++,14:A@^¸‹jc~ˆ‡‡~€‚€d_eNHg‡Š‘ŽŽŒ‡|zRub_[_b`abccddcdddcceddcba`]kkmidaells{yuwojpfRLNSa·ÈÈצcfhjkhgghcWL-:5704HB>:453,*+**++-.165673v¦uY~£«·¾ÄÇ͉N<::>W»àÞÝØ×ÜÚÛ‘zRcj`aabbcddcddcccdccdddccbb_qomnlvqukwtwvv~~m]SLKNM„ÉÃÑÓƒbfggehgecZH3:3431-)(('(''''&&%&%%%$$$".…–\]„Æßßààßààá‚^gZZSO¯æßáÜÓØÝã—`pMmcbbcdeccdeedcccbbcddddcb`ˆ~„{y}zllq{zz|th]RLKMLV©ÈÈظdbccceeca^S?4.///$$#$$$$%$%%%%&&'''))%D‘NllÑßÜÜÜÜÝÝÛu^caiPM¤åßÞ×ÓØàå”A€Lfgbbcbbcbddddddcbbcccccccb‹v€zvtknvpljpjcdbVLLL_fƒ¿ÃÌØŒ^abcccc`]YN>77776887889;;;;<=<<==>@?<`œJtNËäßßáááàÉdRPRTQO‹ææéæâÛɺo3q_Vdbbbabdddedddddbccccbbcddƒ€{yzurudahr|sknhZMLLYa]žÂÂ׿e_acbccb^[UOKIIGGHJJJJKKMMLNNNOOOONOOp¢nOr?o€€ƒ‡Œ•yUVSuwRS_¢ª“€kYF=D@A<520-+ÎÎÎÏÏÏÏÏÏÐÐÏÏÐÑ˽½¾ÎÐÐÐÐÐÐÏÏÏÏÏÏÏÎÏÏÏÎÎÎÍÌÌÍÍÎÍÍËÆÉÌÍÍÌËÉÇŤ‹|}rh`mrpe_c`Z^aXR]TTR\hgiifjXRWZTRTUSSXS\_cWUVRZ\_ZYUTORPI>@>5561.3ÎÎÏÐÏÏÏÏÏÐÐÐÐÐÑȽƿËÐÐÏÏÐÐÏÏÏÏÏÏÏÏÏÏÏÎÎÎÎÌÍÎÎÎÍÍÊÆÊÌÍÎÏÍÉÅÄ´›{~sgXUea]`ba_daYVSLOW[acgk`^UQPPPKUSUR`MVV[[X[[a]^YSRUPRLFC>@;431/3ÏÐÑÑÐÐÏÏÐÐÐÐÐÐÑÈÂÍÂÉÏÏÎÎÏÎÎÎÎÏÏÏÏÏÐÏÏÏÏÏÎÌËÌÍÌÈÆÅÂÉÈÊÍÎÌÅÀ¿¯|tWTQSOWZnrhde\ZODAPYT^cc^XUSLNLILIRN[PSVVXX\]\]aZTPUOYPCGA>?40/--ÏÏÐÏÎÏÏÎÏÏÏÏÏÏÏÇÃÍÂÆÎÎÎÎÎÎÎÎÎÏÏÏÏÏÐÏÏÐÐÎÍÊÉÈËżþÃÁÇËËǾ±¨«vt`WWZZjj`qhibWWSSUUgVP\]UNWZTMJGOQS[ZSQZ\VTZZWPVZURXQYYA66220/.--ÎÎÓ×ÕÐÌÍÍÍÌÌÌÌÌÃÂÊÂÅÎÎÎÎÎÎÎÏÏÏÏÏÏÏÏÐÐÐÏÍÅÄÃÁľ¼±ÀºÀ¸ÁÈ¿µ¦ŒŒ‚r‹~h^a\^fnXo_W_UPUVb_YPPTZSPTVZOMMVTT]j^PXYWWVV[SRZYZ^^MD>8540..---ÐÜêîíãÒËËÇÃÃÅÇËÃÁÈÂÃÌÍÎÍÌÍÍÏÎÏÎÎÏÏÏÏÏÏÏÎÆþ¶½»´¤»µ¿µ¸Ã¸¿¶š‡}|njfdfeV]e^Ve]U[^QTTY^VVSOPPLMNU\WQUQSSe[O[[XSNPZXZUXRNJ@8==;72.----àîÖ¹ÆééÏż¶µº½ÄÄÅÊÆÅÌÍÌÌÌËËÌÍÍÍÍÍÍÍÌËÊÈÈÄ·°ª¯´© «¯º±¶¼°®¤…wyvmjSbh][fZR\i`Z`[LQRV`cdUQNMLOSMVXLOUPT^^\c^VQLPZWYWPQXJBC>;;:61/.-,èÛŸ‘ÄÚʺ¶´³¸¹ÀÄÉÍÊÆÍÎÎÏÎÍËÉÌÍÍÍÍÌÌÉÅÄÁÀ´£žœ¥¨œš¡¯¯¬°«§š…tnmjmo_YZWccXX_^]bXRXTTVXbZRTQNSWSTUXRQXQT[aY`Y\]W_`TUZXUR@?H<76776200/°–ˆ…‚|}€{~‚‰“·ËÍÉÅËÎÎÏÎÌÈÄÊÍÍÍÌÈÆÀ¶·¶»­ —œ™•£´¯¬£œž”ylggWjcTNHPXbZTR`jabra`b_UZOQQPQSXSVRUZS\PQ_`_j^f`libTQOMKK@=A8866554/13v~–•{W[V`Š’Ž‰|ŒÇÊÇÃËÍÎÎÍËüÈÌÌÊÇÀ±¥Ÿž¥§ž˜Š•œ”’®¯Ÿ””“…wfgk\`WQTQQ[ba^kp`SXeOXsq^SOKNNLHJMOPNNRZU[`VTZ[ci_^ZQJNIFECHA8665344024®®¯¼²zTb ÐßáÔ±u®ËÇ»ÄÌÌÌÌÉÀ¶ÆÌÊ·«ŸŸ–š˜‹‘„—•Œ“œ‘ŒŒŒ…€xvqd[VZ^YPZ_XV^j^SQ`ihca_URMKJHIGGFGOMS_]Z^WQ_kjiV`VOVTKJA@A9854324438=956679=@>___n€VB6?QRk‰P<;HD=>FXerPDAGwµLr»SCJLL]`KQQOMGKž‰’ŒŒ……„‡~‚|zwsvvpjfX_fb\SWQS_gffYPSTk^eZOSSPJIDITKCKMNFQR^`[O\fgfVbfXPX`SFBB=;8768@\c_]JABD;‚“Š—Š‰‘€‚ˆŒ‡€‹ƒ{~zwwy{veYR\[]X\YP\\_ahhjosnS^_VNSRGFFQXRRPQRJKW[_[OO_\b``jiWaVB::==<:;9:>>>;kc```]^^^]]]_``eioéÜ|OMCA7?@DB77897_ »º‰…Š}„ŠŒˆ‰ƒ~zxx|xyq`Y_aUZVVZcZQOat„vg]_gSVNMSTNNJC@NWSUWUP_fff\T[[_]U^YVWH<99;<78:99>==?>>OSPNNMLMKNOOON[]^v´Ä½¯²¶¹»º»¾½¼¼º·³µÃƼƒ}‚‡‡€z}€xtwz{wrmj_UNLZY^UUZ^^ZJZa[^[[bYLOUPOJMPPRVXZX]of\\]ZY[ZSXOPNA874cy88988;BFDF¬ÅƒV^ceojgb]]ºÎÇô‡|ÍØÖÖÙÚÛÝÞÝÝÜÜØÖÓÔØ–x€~~‚„€€~yzrpyz~tkceUTVFBPXXX[\PLJWZ]^W]g`TOMKMPOPKIKOXY\`c\`ZWTXOKOJB=9886Yˆ>989<?>=CIHERT…äöóðñïîñññôöÜwQL>sçäæëáèâÓÔãÛÖÔèåêâàæxzy}~{}}ƒ}yzvnkqjiee^ird\OR]\WSV\Yc[X]i[QKDBABEA?>DIB?M]mk^NRhSHA;;:7;;99>8vÜZ3><@DJJCXOq°ÅÒëìììêêêǶžkMFFkáíëëêëìççëçäèìëëìîç’u~{z~}y|€ƒy~|siknmhc__Z_]POWWPPV_]\Z^__VUMH?AHIB>DSSJV__nŽnSWZMA;677A=yèc8@9;DJOZdIvmIW}}ywz[FvwFARf×îìîîëíððîïðîëìîìîâˆp}{~}xv‚‡€txxtigkt|iXXXTSSOUZQQ\^]Y\d`[ORTPIFLQJ=>NVPhojyŽj]_SJB>:;@GNJB=@;~ñm;>5JW^VZbhqf\Z\bfimonpf]jzyrnfklXŒò}XTZwwtvmi69DJKKKS\PNJIKH8677?¥çÒº´áé­žœš›ÕñÀ«Éà¾uƒ‚~w}~vz}€y{qe[cheaccVX\[USQPNU]ZU[ZUOSZWSV[[s„{emzp]UY^`bejho€‡ƒ„ˆ€}†ŠŠŒš»–’Š„uwtjfhhb]]^ZY]^ceip`0/4;sÉÌÁÆÍÈÉÒØÓž»»»ËЉn€€ƒyy€ysx|ryofbajc_daZ[WWSS[\QPZXNMPU\\Z\fz„ˆ‰geunURZ]]]_hlmw‚‚€wv~‹•“‘Ž‰Œƒsvrmqj{zz{z{}|}}~€€v2.1Ebh~Œ…€Š•—‚h`hnkgbZuzx}ww~vuzwyttpopknmotqpplp{Š”‡Œ“’‰Š“¯˜}…€|€ocoqfX]a`^\ajilvkhegfx€…‚ˆ‹‡‡‡€}vfkrnkhVUUWWZ]^_`a``ab`HHHcƒ‚‚…~‰––‡’„yz}~~{xwwttstuutrsqppopoqsuyz{{{ywvxyy{}~†š¨¸´ª—‡{smoonoolgc^]^\\baYZ^__dknijgegstnspkclyouyklkkknrtvuussrstwz|~€€€}|zxw~ŽŸ Žsrswxyyyxwtrrrsuutspnkjjjklnruwxxvvuvtttsrqt|„ ®²°§~shggfba]ZW\ZXWZ[Y\\[[]ZXYZZWWWZS^^hv|wspmmlmpqrttsrqpoqtx{|}~~~~|{{xvt|†|‰£™ynptuwywuvtqopppqqonljhhfghjmprtvwxxvtrppppoprvŽŸ²½º£ˆulhjjhd`_]XWUUWUUWYafWWY\WYXVTUYW\{zvolkjklnqqqqqqpooqsuwzz{|{{{zxwvrq~”—„‚uqrstuvwvtsqnllkmnlkjhfcdefgimqtvwxwvtpnooqqrqno|”¯½½®–skjlheccZV\VWVV[[UUW]VXW[ZYXUUzzyuqmkjjlopqqqrrtsssrstwwxyz{{yzywurom|¡¡~mmorstuvwxxwsojkmmnonljiggfedgjmptvwyzxusqnnpqrrqos“°Ã§ˆtjklkkgfca][WVUUSTUWV\YXZYZxxxxwtokhikmoooopqrrsrrrrsuvwyzyyyxvsrqpnmu ±“onopqrtuvvunkkjklnoomihfebaabdgmqtuuxyxvrmiinqqolikzÃδ‰rkkllkkjgc`]YVTSSVUV[VYZYwxxxxwtpjhgjklmmmnpoppqpnoprtuwyxxyvtrsrrqq‡“Šlikoqrrsttqnrnkkjknpnljgeddcbacimortvwxwwuojkmnpqqokw”´Æ¿¥‡rklmlkjjgc_\VTTRW\UWVVuwxxxxwtqlhfgijkklnmnoopommnpruvvxywvuttrrrnmnª°nnooortqottqomkkmnmpokfccca`abfjmpstuvxwuqmiilopomjm{™»ËÁ¢ƒrmmmmjhgfdc`\XUWUTUrtwxxwvuspkfddegijljlmnopnmlmnpqstuuvuttsrrqqou’œŠomlnnnonkpoonmkjiklnppmifdabc`_`dimpqsuuuwvrmggikmnnkim…®Ìα‹trnllkjjihheb_WVYmprtuuvvtrpkebbcegihjklmnnmkjjknoprsttuuttusqqpkijpz|y{„†‰Ž‹…~vpnoqqokfdeeda_`fjmoqstvvvurkedhknmmjgg|®ÐÑ´‹snonljhhihhgc`^lnprtvvvvtrokgddddefhjjklmmmlkjllmpsttuuuuutrpv‹™ªÂõ²³³³±±±²±°¯¯±²°©¤npqpolhgghfaacgknpstuuvwvrlgfimnmmlgk€¥Èзvooolkjiihhfdjkmqtvvvvvtrplheddddfhjkkmmmnnljjlnpqsuuuuuurˆ¬©¨ª¥œ”Šƒ{wtmgehiiilox††‘€hnoqqnkihihfcbdgknpqstvvvusmhfjmooomigxŸÄмš|nnnmljihhgdilnqsuuvvutrpmjfcccefjlllkmnnmljjlnopsuuuvut§™}oia[WSRZbh¢›ti_\WSRQQMQxnehjnonlhffedcaacfjnprtuuuvvsnhghlnoonlhq‰°ÌÊ­wonnmkkj`ehknpqrstttsqnmhcbbccehjjjlmmmlnkjklmnpstttw–aJKKNRU[VQRTdrhQJHbqolf_L=Noifdegjljigcabb`__aehjopqrstutqmggikmoonlhj~Ÿ¾ÌŬzrqom€\dgjmopqrrstrqolgbabccehikklklmnljihjkmprss€{?LZdp|ˆ‘k7961./79=@;79OOGmmkhdb`cgggeca_^^^^]\\^beikkmnnonnjdadfhjkkkjecv£ËØÓpÌ¿p_fhjlnpssutssqnkgcaabdfhiiiijkklljhghjlntGRT¤¶¶¹»¹µ²«­xy{‡OC925>?83>oBbnmmjgb`cfihgdba`bc`^]]^aehjlnpqrqpnhcbeijkmmmlhg|£ÉÕ¼ÀÒ²_]dgikmopturstqokgcaabdefhijkkklllliggik|Bl8ƒ²©‘ƒ{qÇ™s•²j>2@ZXK645rZPnmmmkhdbcfikjhedddcdcb__cgkmnprsstrqpjedgjlmnmljgevœÈ¯ÄО\aegilnnqsrssrqnkgdccddfhhijjjklnoomkih†gVo0:GA;55BDM[ced[O;2Oxo^>51Z}Elmmnomliecfilkjiheccdcba`adfilnqstrstspjfegiklkklkgeu~¸ÈÐ[bfijlmprssssqpnkfcdddeghhijjjlnppppmjRu^/35798;HHIGGHGFH<@My}aD4tœžK`omnooolkfccgkmnlifcccddb__`cfjloqsttusrojdcfijklllkgP”¼ÈÉt[cgikmoprsssrqonjeddcceefgiiijkmnoonpŠGŠJ046Og]3PzœhOnmnnonmlkhecdgjlkigdb`ab`^^_`dhknprstttrrpiccejlmmmlYz±Àб_^fhkmmnprrrrrpomiedbabbdeffgijklnonu|O‘>234l£M@?7554;HIGQH\lr@42+kŽHkmmmnnnllmkhdbdikkkifdaaa`__^^aeiknoqsrsuutniddfjkllZ[~ºÄÑš[bfiklmoqqqrrqpomhdcaabbdeefhhjlmok{kc‰6:<>=<98=V… sC=945ŒŒJkje`aijjklllkihebacgjjjhd`_^^___][[_dilopqrsssrrnhchZPJc¬¿Ì»i\aegilmnopqrrponjhdaaaccdegijkmhmM bKYQa‡ŽSFGFEFGGGECTš›\E=A:2„’>jg=:8Kjikkklkjkjgc`aehkkkhc`^]__`_][]bfilnoqrrtutsnmbQMKv¸ÁЫ`^cfiklmnopqrqonljfa``acdeeSDA]Ž\H¡e[‘`VqKGGJPXY]XMYMZ_l…sMD9:73XK5WN8@7;gijkkllllljhfbbdillmlhd`__abc`]\]bhkmnpqstutsnqcRMN½ÃÓ–Zaehjlmmoopsronnlhca```ce[7<64423346458865978<:9;>FN2/?NVghghhijkkkkjjkjgc`bdhklmkhe`__`aaa_[]bgjlopqrrsrngYQLh°ÃÏÄq_ehjklmnopqpponlkgb`_`bbL=62.7bF=;99888667676666677777778899:<@J6Pfigeefghhijjijjjlkjhea`agkmmmmiebaabbc^\]_dhkmoprtnnnhVWiŒ¾ÉÖ¶ibgjjklnnoppqppnlieba_`befh‰f2_E;:998887666766665566777778999;>H;Yjeehkhdgghjjijjjklkkjeb``ejmoomkgeeccccc`\]adhkmonornj[PST”ÅÉÔ¡^befhjlmmnooppomlieb^_`bcm­¯CVA9998767665666665555566666677898@DQefo¾ÚÐŒbfghiiihikjjkjheb``eimoonmjgddccdc`\\]aeikoutqpgSMKY¨ÆÍÒ‡[cdghjlmmnnopommjgda__`ai ŸHM:787755655544444356544554555536PSO^aifˆ°«™feefghgghjiijjigdc`_afloopnjgedcba_]\[[]`ervsvwyjVPKq¾ÈÓÁh_dghiklmmnoponnmjgb___``…y^PNA13445434442347F754444334441P‰¤‰OXaihfc`adffeggfegiiijijigfc`__elononkhdb`^]][[\[[^qqommnf^TMOšÅËÖœ[beghikklmnnnnnnkhda__^emsjW”Œ†I023223333347C64334333342J§®ž§d9WjhhgfecŽvcfgfefhiiihhiihfdb__cjmnmkheb_]\\ZY[[\\oighhac_UNKi·ÄÐËu\cjjijkkklmmnnnljgc__^hdV\{°¡Ê¥I10022233455355443222//C†¤¢–n-Jihggfedgfbbddeeeggggffghgfda^]`fjjiihda^\\\[[[[[mijkvqjdTMMMŠÁÇÖ°^`gghijkkklmnnmmlhfb__[h98‡š§¤¢•N..2200127;L>83379;?PK™Ð¿±Ì Z,;giggggfeilobbddcffggggfhhgeca__`ejjkjhf`]\]]\\[[ppijtrtlTNMK[¬ÃÍÖ•bbeghikkklmnmmmljhea_R^9/i­É®Æå´g{POPTZ[BQÏw>\pnaZZ›¥êðåÃÔE-7fjhghhgi¶ÚÞªgcddfghhhiihijigeca_agkllljfb\]^]]]\jtmjqrush[OLKyºÂÑËq_fghikkkmmnnnmmljgc`TI4,PšÔÀáíí±¢m`ab‚²[qÊ‘M{hib`m­ÃôäâÉÊU1-9gjhghhheŠÎÍÂ{`eefgggghiihijhhfca_`ehkkiif`^^^___v{qnsrposrZLLQ“ÁÆ×®adghikkklmnnmmllkifb\@1,7XÇÄÏÓêÒ¦„Z]bZ^Q®ôÕci_ism‡»­±—kTM1.-;hjihhhggdkiefcdfefgggggggghhhheb`^^agiiiif`^]^^^trnkpokjkmfNKJ_¯ÁËÖ‹_fgijkklmnnnmmmmlid\=2-/2IONv‰„”²cqxxiZ¦óØ|gvyxmzz@AI6310*-8410/610-BmkkkiihhgggffcŽ¾À¤fdfggghhijiiihhgfdb^]agkmoolhd{uurwsmmpnjlgNKLKv½¿ÏËt^efgjjkllmooppomg7+-/15:AHTey°ŸðÝëëëëëëëìòLJ´’‚oYG>61/-HomkkjjiihhgggezÎæàœaeffggghiihggghhfdb_]bhlopnlky‚rmlmjnorkcPJMMN—ÀÃÖ­^adfhhikllmnnoonj;+.//29>DRby“³£ôíðòòóóóóòöÃzreTMH9600,Opmlkghjihhggggfryspdefffgggiiggghhhgeda^]bhkmnomrxuwvnqjpqqoleZNLJgº¿ËÔ}Ybdggikkklmmnnnl=../.35;TIDHPYeþ¹³©Ÿ›’‰„}\230.H±»XG70-Snmllefjiiiigggfeec`ljeffffgiighhggfggeb`_]`ejlnnpxwxworkkmmpqukQKLQÆÇظdbfhikkkklmmmnnm>1///@F}Ùš>237MC?>?DBFHHGKPUfhk‰ãîxB3..Vnlkledjiiiiggghhhhn~fgfffgggggfffffgfdbb_\^ejmnoxqpnlnnkmmoppkTKKKmÀÆÏ׉^eghjjjklmmmmnm;620.:Hªõº‚{‰”µœ—™›¦©¯³´´¯¬¤¥†qw›¦U5.,,Sljiidaihhhhfefeeddf``eeefefggffgffgggfedcb^[_fkmomowsomoqrjkmkkVLMMO˜ÈÇÕ»b_dfhijkklmmllm;84.-19d—\O]bhdgjggjihf^SLC?;8LQ:0.3>Io…”•”–¤¤¤¤¤¤£¢¡ž—zjaadcdfgggfgggghhhgfeeca^\`fjmoruooorttnknniTNLMKg»ÈÎ׋_ggjkkkklllllm:67/-.02;JC7=AF556530-..1458:==;Ibw“ ­²³³´³²®¬¬ª©©¨¨§¨¨ª¬¯¥ t¢¼¿•cgffffffghggfffeeca^\`eqnnouwvuxpnqpmsfQKLLN•ÊËÕ¿jehkllllllllli867,,,/247<@@A@BEGJKc|VNKJHFB=;Vª¬©«¤ ›˜•‘Œˆ†„ƒ€€€€‚‚„…‚Œ‹œéðæ–cddeeefffefeffeeeca_]`msxvqutqrnnmjlueLLMLLf»ÉÌÖ—ahijkllllliaY359.,+-/0013446878;;FN;641/--,A£©„ƒ|wvspokhffdedccccacccccav{˜µ²£fabcdeefefeeeeeeecca]\tzxrlnpspklnyvwh_ZMMNPŒÉÇÑÊueijklkkkjbUU32;2,2.+,,+***))**)*)(*)**)*+)n±aba_^^^_^^aekqlmmmlmlklkkkfc{h\[^babccceededdddfeedcb`]klmidbells|zvxpjpfRMNT]²ÈÇ׫gijkkjfeb]WU31:6.FUB83/./,**++*++++-037=?I¯™cXiqtwx{„Š•›®À•–“‹†ƒ‚€}|lvbaaccdedeeedccdddeeddcbb`qomomvqukvuxwv~~m]SLKOM}ÇÄÏÖ‰diikihggf]T92856,EHA<411-)*+**+,-/578::5k´‚jj†‡…ƒ…‰Œ}R:A86Y•¢©­©§ª§¢ƒ‚Kmlabcefedefedddddcdeeedcbaˆ~…|z}zmls|zz}uh]SLKNMS¢ÈÇ×½hdehffghg`R:673411,*)(((''(('''''&&%&&$&~ŸjW†Ÿ³¹ÃÊÏÖÚáTNFCFQ±çããÝÙáàã§ofTqcbcbcdcdeeedddccddddddcb‹v{vtknvpmjpjcdbWMLL`g¼ÄÍÚ‘_bccdded`YF81/.1)###$##$##$$##$#$$%%'#8ˆ’UdÐáàààßÞÞà€ambdWN¢æààÛÒÖÝâ§P~Ijgbbabeedeeeddedceedccdddƒ€|z‚{urudbir|sknh[MLLYa[™ÂÃ×Ãg`accccc_\TB5566544334466677998789:<=9Z–‰KpgÑßÜÜÝÝÝÝÚs[a^dNLåàÞÙ×ÚÝà¢9{V\ibdcbgijgefggeeeeeddcddd†‡††††‡‡‡…†‡‡†††‡‡‡‡‡‡‡‡‡†††…ƒ‚}yvttswyxzzzy{{zwtxyz{zyyz|~€€€†††……††††…†††††…†††‡‡††††…††…€|xvttuuvyxxywyzyywuwvxzzxwy{~€€€††††…†††…†††††…†…†††††††……††…‚€€{vwwwwwyzxxwzzyxxwvuxyyxxyy|~€€††††††††……†††††††††……††…„…………ƒ€~zyxwwy|{xxwzzz{ywvvxxxyzyz|~€†„ƒ…†……††……†…††††††………„ƒƒ„„…ƒ‚~{ywvxz{yyzz{{{{zuuxyxyzzx{~€‚ƒ€ƒ„„„………………††……………„‚‚‚‚‚ƒƒ~|yxvxz{yy{}|{zyxuvxz{zzyz}€€‚†ˆ‰‡ˆ‰ˆ‡………………†……………‚€€€€€|}~~{zyvwwxyz|||{zywwwwxwyzy{~€€€†„†‰‰ƒ„†…†………ƒ……„ƒ‚€~~~€~}{|||zyxwyvuyz}||{{yxyxwuuxyy|~~€€€†„ˆ†‚‚………††„‚ƒ‚}{||||||~~|{zz|zzzxxzwx{z{||}|zwxyvtuwwx|€€€Œ…†‹ˆ„…‡„„……………‚ywwxzzy|{zzxy{yzyxxyyy{{|}}}|zyxxwuuvvv{~€€~‘‹ŠŽ‹€‰ŠŠ‰ŠŠ‰~wvx{{xzyxxxyzz{zyuwwwz{|}}}|zzywxvutvv{€‘“’‘‘‘’’†ƒ‡ˆ‡‡‡‡ˆ‚}wxyyuvvwvwz{{zzyuuvwy{|}~}zyyvwxxwwy{~~~…††‡ˆ†…ƒ†…‚„„ƒ‚ƒ„…ƒ|wwvvrtuvuwz|}zyx{{yzyz|}}}zyxvwwxxy|‡}|~€‚€}€ƒ€€€€€|vuttssutuwyyzyyz|{zzy{}~}}~{xxxxy{~€€ˆ€~}{~€€€€€‚€~~€|tsssrsttuvxuxyx{zyyyz|~~{vwxxz~€}}~}|x€}}~}€‚€€€€€€€|tssrqstvuuwyyyzzyxxxz}~~|wrsvw{~~}}~}~{wq€~}}~~‚~~}}~{stssssuwxuwxxyzzywxy{|}{zyvpoqonqrpqqvz{wpml~€€~€‚€~~|}~{rtttutvxyxxzy||{{zzyxsninnrrqolhfgfdefhedfik€‚ƒ‚ƒƒƒƒƒ‚ƒƒƒ‚‚~~~|}~~€‚‚‚‚ƒ}xttwxzyyxwuwvsoooljlnlmˆ‡…‡ˆ‡ˆˆˆˆˆˆˆˆˆ‡‡‡†‡‰ˆˆ‡‡„ƒƒƒ‚‚‚„„ƒ‚ƒƒ„…††…„ƒ€€€‚ƒƒƒ„ƒ„ƒ‚‚{v‰‰‡ˆˆ‰‰ŠŠŠ‰‰Š‰ŠŠ‰ˆˆˆ‡‡ˆ‰‰ˆˆ†„ƒƒƒ„„ƒƒƒ‚ƒƒ„…†‡‡…„‚€€€‚‚‚ƒ„„…†‡‡†‰‰Š‰†‡‰ŠŠŠ‰Š‰Š‰ŠŠ‰‰ˆˆ‡‡‡ˆ‰‰‰‡†…„„ƒƒƒƒƒ‚€‚„‡‰ˆ‡…ƒ€€€€‚ƒ„„†‡‰‰Š‰‰ˆ‡ˆ‰ŠŠŠ‰‰‰ŠŠŠ‰‰‰ˆˆ‡‡‡ˆ‰‰ˆ‡‡†ƒ‚‚‚‚‚‚‚€€€‚…ˆˆˆ‡„€€€€€€€‚‚‚‰‰‰ˆ‰Šˆ†‡ˆ‰‰‰‰ˆ‰‰‰‰Š‰‰ˆˆŠ‰‰‹ŒŽŽŒ‹ˆ†‚‚€€€€€‚…‡‰ˆ†ƒ€€~~ˆ‰‰‰‰ŠŠˆ††‡‰ŠŠ‹‰ˆ‰‰ŠŠ‰‰Ž’’‘‘‘‘‘‘‘‘‡‚€ƒ‚‚‚€€€ƒ‡ˆˆ‡ƒ€€€„ˆ‰Š‰‰ŠŠˆ†…‡‰Š‹Š‰‰‰‰Š‰ŠŽŠˆ…†‰‰‰‰‡‡ˆ‹Š†…ƒ‚‚ƒ„„‚‚€€€„‡ˆ‡‡„‚€†ˆŠŠ‰ŠŠŠˆ††ˆŠŠ‰‰‰ˆˆˆ‰ˆ‡||ƒ„…‰‰ˆ‰ˆˆ‰‰‡„ƒƒ‚‚ƒ‚€€€ƒ†‰ˆ‡†‚€}„ˆ‰‰ŠŠ‹Šˆ††ˆ‰‰‰‰‰‰ˆ‰†‡„‚„‡…ƒ…Š‡‡Š†ˆŠ‰ˆ…ƒ‚‚‚€…‡ˆ‡‡†ƒ||‡‰‰ŠŠ‹‹‹‡†‡ˆ‰ˆ‰Š‹‰ˆ…‰‹…†‹Š‰‰Š†}ƒ‰…†ŠŠ‰ˆ‡„€‚€€‚„‡ˆ‰ˆ}}~ƒˆ‰ŠŠ‹‹‹Š‡†‡ˆˆ‰Š‹Š†…ˆŠ€‰ŠŠŠŠ…}‚Š‡…ŠŠ‰‰‰‰‡ƒ€‚ƒƒ‚‚€€„†ˆ|}}„ˆŠŠ‹‹ŠŠŠˆ‡‡ˆˆ‰‹Š†…‰ˆ‚‚ˆ‰ŠŠŠ„{‚‹‰„ˆ‰ˆˆ‰‰‰‡„€€‚ƒƒƒ‚‚€€€€€‚…w~|†‰‰Š‹ŠŠŠŠ‡†‡ˆˆˆ‡…ƒ……††‡‡‡‡†‚}‚‰Š†‡†„†‰‰‰‰‡†ƒ‚ƒƒ‚€€€€€pz}}‚ˆ‰‰‹‹ŠŠ‹‰††‡‡……‡‰‡‡ˆˆ‡‡‡‡‡ˆˆˆŠ‘‹„…‡‰‰‰‰ˆ‡ˆ„€‚‚ƒƒ€€€hl{}{ƒˆ‰Š‹ŠŠ‹‹‰…†ˆ‡†‹ŒŒŒŒŒŒ‹ŒŽ’Ž…†‡‡‰‰‰‰ˆ‰ˆ…‚€€‚‚‚‚‚€jhp|}~†‰ŠŠ‹‹‹‹Šˆ†‡‡‰ŽŒ‹‹Š‹Š‰Š‹‹‹‹‹ŒŽ‰‡†…‡‰ˆˆ‰‰‰ˆ†ƒ€€€€‚ƒƒ‚kjjv€~}‚ˆŠŠ‹‹Š‹‹Š‡††‰‡‡‰‰‰‰‰ˆ†ˆˆ‰Š‰ƒ}ˆ‰ˆ‡‡ˆ‡ˆˆ‰‰‰‰‰‡„€€€‚„……nmls€}}…‰ŠŠŠŠ‹‹‹ˆ†…†ˆ€…ˆˆˆ‡†ˆ‡†‡‡††‡ˆ‰ˆˆ‡ˆˆˆ‰‰ˆˆˆ†„€€€‚…‡†nlimy€~}€‡‹ŠŠŠŠ‹‹Šˆ…ƒ…ƒƒ‚„„†„€ƒ„„ˆ‰ˆˆ…„ˆˆˆ‰ˆˆˆ‡†…‚€…ˆ‡ijggjz}}ƒ‰ŠŠŠ‹‹‹‹Š†„„„„‚ƒ‚„ƒ…ƒƒ„„……ƒˆ‰‰‰ˆ‡ˆ‰‰‰‰ˆ‰ˆˆˆ†‚€€ƒ…‡nniges~|~…‰Š‹‹‹‹Œ‹ˆƒ„…‡†‡†„…ƒ…††ˆˆ‡†„ƒˆ‰‰‰‰Š‰ˆˆ‰‰‰‰‰‰ˆˆ†ƒ€€ƒljggfk{‚}€‡Š‹‹‹ŠŒŒ‰ƒƒ…ˆ‡‡‡ƒ€€‚…‡ˆ‡„ƒ„‰‰‰‰‰‰‰†„‡‰‰‰ˆˆˆ‰ˆ†ƒ€fgggghq~€}|‚Š‹‹‹Š‹‹Šƒ‚„„„„„‚€„ƒ‚„„ƒƒƒ…‰‰‰‰‰‰‰ˆ…‡‰ˆˆˆˆˆˆˆˆ‡ƒ€€hhgfeffu‚€}ˆŠ‹‹‹‹‹‹„€‚‚‚‚‚ƒ…†„ƒ€ƒ„„ƒ„‰Š‰‰‰ˆ‰‰ˆ‡‡‰‰ˆˆ‰‰ˆˆˆ‡ƒihgdfhgs€~…‹Œ‹‹‹‹‹„€ƒ‚‚‚‚‚ƒ…‚‚ƒ†ˆ‰‹ŽŽŒ‡…†ˆ‰‰‰ˆˆ‰‰‡ƒhhfdgihm}}ˆŒŒŠ‹‹Œ…‚ƒ‚‚‚‚‚‚‚‚ƒ„ƒ…“––––——––—––•‹ƒƒˆ‰‰‰‰‰‰‰‰‡ƒjiiihghjt}ƒ‹ŒŒ‹Œ†€‚ƒƒ‚‚‚‚‚‚ƒ„„ƒ‰’”“’ŽŽŽŽŽŒ‹‹ˆ‡ˆ‰‰‰‰‰‰‰ˆˆ‡jjhhnkhjq~‚}‡‹‹‹‹†€„…ƒ‚‚‚‚‚‚„„…‹Š‚€}€ˆ‹‹€|~}‰Œˆˆ‰Š‰‰‰‰‰‰‰ˆknmnppmpt|~}}‚ŠŠŠŠˆ…‚‚‚‚…‹†{yyx‹‰‹~yyy}‡‹‰ˆ‰‰‰‰‰‰‰‰‰ˆ{zzzzzzzzz{zzzzzzzzzzzzzyyzz{„„ƒ„…††ˆ‡‡††ˆ‡ˆˆ†††††………‡‡„ƒ‚‚‚‚yyyyyzzzzyzzyyyyyyyyyyyyzyyy{‚ƒƒƒ‚„…†‡†……†ˆ‡††…„……………†††„‚yyyyyyzzzyzyyyyyyyyyzzyyzzzyz~‚ƒ„„ƒ„„……„„…†‡†„ƒ„„„ƒ…†‡‡†…ƒ‚‚€zyyzyyzzzzzyzyyyyyyzz{z{||zzz}€ƒ…„„„……„„…†‡‡…„„ƒƒ„„…ˆˆˆ‡…‚‚‚‚€€y||zzzzzzzyyyyyyyyyy{|{}}}||}€‚ƒ„„„……………‡‡‡………„ƒ„…‡‡‡†…„‚‚€€|‚~|}}{zzzyzzzyyzz{}}~~}‚ƒ‚‚ƒ„„„……‡††‡‡…………„„……‡‡††„ƒ‚‚‚€€€€~~|{zzzz|zyz{|}€€€€‚„…ƒƒƒ„…„„„„…‡‡‡……†……„„……††††„ƒ‚‚‚‚|zy{z|}}{zzyz}{{~€‚ƒ‚€‚„……„…„„……„ƒ„…†‡†„………„………†††……„ƒx~wst|€}}}||}~‚„††……ƒƒ„‚ƒ…‡‡…†…„„…„ƒ„…†………„ƒ„„„……†††…„ƒ‚‚‚ƒu~|zy|€€ƒˆˆ‡…ƒƒ„„…‡‡†††…„„…………†„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚wzzzy{|y|ƒ‚}{ywy{~„ˆ‡…„ƒ……†‡‡†…††…………†……†…‡„ƒƒƒƒƒ……†‰‡…‚‚‚‚zyxyyxxy{€}}||}}~…†††…†‡‡‡ˆˆ†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ†‚}ˆƒ€€€…††††‡ˆˆˆˆˆ†…„„„…„„††‡††„…„„„†‡ˆ‡ƒ‚‚‚„†ˆ†ƒƒ„ƒ…‰ˆ‚€€‚‚€€…†‡ˆ‡‰ˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ…‡ˆˆ‡ƒ€‚‚‚‚„†……ƒ‚‚„Š…‚„„„ƒ€…†‡ˆ‡‡‰ˆ‡‡†…„…„„„††‡ˆˆ‡„„ƒ‚ƒ…†ˆ‡†ƒƒ„ƒ€‚……‚…†‡‡‡††‚‚‚‚‚€€†‡‡‡ˆ†ˆˆ‰‡††„…„ƒ„†‡†‡†…„„ƒ„……ˆ‡…‚€‚ƒƒ‚„ƒƒ„………„ƒ‚ƒƒ…ˆˆ„ƒƒ†‡‡ˆˆ‡ˆ‡ˆ‡†……†…ƒ„…‡†‡‡…ƒƒƒƒ‚‚‚~|||~~€ƒ‚€‚ƒƒƒ„ƒ‚‚‚€‚†…†‡ˆ„……†‰ˆ‡‡‡‡‡†……„ƒƒ„ƒƒ†‰†††}}}z{z{zz{{|~~~€|~€‚‚‚‚‚€ƒƒ‚ƒƒƒ„„ƒƒƒƒ…„„„ƒ‚ƒ‚€€‚……„……€~~~€€€€€~€€~}~~}}~}}}~~€€~}}~~€€‚€€€€€€€€€€‚‹…ƒƒ‚‚‚‚€€€{}~~~}}}||||||~}}}€€€€€€‚„Š…‚€€€€€€€€{||~~}}}}}|||||}~€}}}€€‚€€€~~ƒƒ‚ƒ‚€€€€€€||{|}~€~~}}}}}||||}}|~€€~~€€€~~~€‚ƒ‚ˆ‰‚€}}|{|}€~}}}}}}|}|||}~~~}}}}}|}}~‚‚‚‚€}}~€‚††‚~}{{|}~~}}}~}}~|||}{yzz{{€‚~}{zz‚‚‚‚‚‚‚€~~€‚‚‚‚„€}}||}}€}}}~~~~}||}|}}|}~ƒƒ}}}}|~€‚‚‚‚‚‚€}}‚‚ƒ†„„€}|||~€~~~}~~~}}}|yz{{{zxz||||~~€€‚‚‚ƒ‚‚~}}‚„„ƒ~}}|}~€~}}}}}~~~~|}||yy|{x|€}{|~}~~€‚‚‚‚‚‚‚‚€}~}€…„‚€~~}|}||~€~~~}~~~}|}ƒ€wxxxx~‚}|~}}}}~€‚‚‚‚‚‚‚‚‚€||~’‰‚€~}}|||}~~~~~~~}{|…ƒzzzyy~†ƒ|{}~}}}}}€€‚‚‚‚}ƒ„ƒ‚€~}||}}}€~}~|z{€zyz{z€Šƒz{}}~~~}}~€€€€€€‚‚‚‚€„„ƒƒ‚~}|}}}~€€~}|}~~{{|}~€†‚||}~~}}~~~€€€‚‚‚‚‚‚‚‚ƒ‚~}}}}}}~€€~~~~~€~~€~}|z~€~~}}~}}~‚€‚‚‚{|Œ‚‚~}}}}}}€€~€€}{}}}||~~}}}}||{y{€€~~}}}}}~‚‚‚‚‚}{~‰‡ƒƒ~~~}}}|}~€~|{|}}}}}}}}}}}}}}€|~€~}~~~~€‚‚‚‚‚‚||€‚ƒƒƒ}~}}}|}~€€€}|‰‡}}}~}~~}}}}…ƒ}~~€}~~~~~~€‚‚‚€€€~‚ƒ‚‚ƒ~}}}|}}~€€€‹Š~~~‚€„…€~€~~~~~~}€€‚‚€€€€ƒ€|‚‚ƒ‚~}}}||}}€€‚ƒ‚‚……‚€ƒƒ€~~~‚~~~~~}~~‚€€~y{|€‚‚~}~}}}}}~€‚„„ƒ‚‚ƒ…‚€€‚„ƒ€}}}~~€~~~~~}~~€‚€~yxyƒ•ˆ‚~}}~~~}~~€€€€€€€ƒ‚€}€€€€}}}~~~~~~~}}~~‚€~ywx}„‹…‚~}}}~}}}€}}€€€~~€}}~~~~€€€~~}}}}€‚‚€~zxxy‚‚‚‚}||}}}}€€€€€‚†………‡ˆ„€€}}}~~}~~€€~}}}}}~‚‚‚~zxwwy€ƒ‚‚‚}|}}}}}€‚ƒƒ„‡ˆˆˆ‰ˆ†ƒ€€~~~~~~~~~~~}}}~‚~ywxzz~ƒ‚‚‚}}}}}|}€‚‚ƒƒ‚„„…†„ƒ‚ƒ‚~|zzyyyyyyyz}€~~~}}}}~‚~{x{|{~‚‚‚‚}}}}||€€€€€‚„‚€ywtuuuvuuuuvuv~~~~}}~}}~€€}{{}~~€‚‚‚}}}}|z€€€€€€€€€€€€{xyyzz|~~~~||€€~}~}}~~}~~ƒ~€„„‚‚‚„ƒ‚~~}}}€€€€€€€€€€€z{}~~~~}~~~~~}~{}~~}}~~~~}~ˆˆ‡ˆ††„…†„‚šŽ~~~€€€ƒ~|||}}|}xxy|}~~}{{~~~~}~~~~~~ÒÒÒÐÐÑÑÒÒÒÒÒÒÑÐËÆÉÅÎÐÑÑÒÑÑÒÑÑÑÐÏÏÐÑÐÏÎÏÏÏÏÎÍÎÍÍÍÏÎÍÎÏÏÏÎÈÀ¶²§£–…tjq{llkmovfifY_c^^g_U\a`aWRPU\[bgaeUWXXVWTT]VRX`a]XUME=9<<632@2ÑÑÑÐÐÑÑÑÑÑÑÑÑÐÐËÅÈÅÍÏÐÑÑÐÐÑÐÐÐÏÏÏÏÐÏÎÎÎÎÎÎÍÍÍÍÍÍÎÍÍÎÎÏÐÐɸ¡©ž|„}ƒwb`cr}q^`qmi]Z[\`[YWQ`ia]TQQRZY_jjiQW_b[RPLSSZac]XPOLBA76642076ÐÐÑÐÐÑÐÐÑÑÑÐÐÏÎÉÃÇÃËÎÎÎÎÎÏÏÏÏÏÏÏÏÎÎÎÎÌÌÌÍÍÍÎÎÎÍÍÎÎÎÏÏÐÐÐΤ‹soqropnpw{bdcfh]]\\]]TUW^e\[\XWTWUX^ieSSY\UNPORS_ebc\QHC@<952330.2ÐÐÐÐÐÐÐÐÐÐÐÏÏÎÎËÃÇÃÌÎÍÍÎÍÍÍÍÎÍÍÍÌÌÍÌËËËËÍÍÍÏÏÎÎÎÎÏÏÐÐÐÏÏÎηœ”}mux~y‚‚jid`i\bhg]\YYa[TZfgTRUXZUQNWP\jSQU[[QMSPQ[c`bWUVPI?<85332.-ÏÏÐÏÏÏÏÏÏÐÏÏÏÎÏÌÃÄÃÍÐÐÏÏÏÏÏÎÎÎÍÍÍÍÍÌËËÊÊËÌÌÎÎÌËÌËÊËÍÎÏÎÍÌξ–‚‡yeooei`acZle\YUVP^bacqp]SPV^VNJURS[U\^\WOQRV[`XXZRPZPJ>@A<520-+ÏÏÏÏÏÏÏÏÏÐÐÏÐÐÑ˾¾½ÍÑÑÐÐÐÐÐÐÏÏÏÏÏÏÏÏÏÎÎÎÍÌÌÍÍÎÍÍÌÆÉÌÍÎÍËÊÇÅ¥‹|}si`mtqe`da[^aXR]TUS\hgiifkYRWYTRTUSSYS\`cVUVRZ\_ZYUTOQPI>@>5561.0ÏÏÐÐÏÐÐÏÏÐÐÐÐÐÑÈ¿Æ¿ÉÐÐÏÏÐÐÐÐÐÐÏÏÏÏÏÐÏÎÎÎÎÌÍÎÎÎÎÍËÆÊÌÍÏÏÍÊÅĵœ|~uhXUgb\aca_daYUSKPW[acgk`_VRPPPKUSUR`NVV[[X[[a]_YSQTPRLFC>@;431/5ÏÑÑÑÐÐÑÐÐÐÐÐÐÐÑÈÃÍÃÇÐÐÎÏÏÏÏÏÏÐÐÐÏÏÐÐÐÏÏÏÎÌÌËÍÌÈÆÆÃÉÉÊÎÏÌÆÀ¿°ƒwWTQSPX[nrhde\ZPDBQYT^cc^XUSLNLILIRN[QSVVXX\]\]b[TOTOYPCGA>?40/-.ÏÏÐÏÏÏÏÏÏÏÏÏÎÏÏÇÄÍÃÅÎÏÎÎÎÎÎÎÎÐÐÐÏÏÐÐÐÐÐÏÍËÉÈËżÿÄÂÇÌËǾ³¨«‚wu`WWZZki`rhjbWWSSVUgVO\]UNWZTMJGOQS[ZSQZ\VUZ[WPVZURXQYYA66220/.--ÎÎÓ×ÕÏÍÎÎÍÌÍÌÌÌÄÂÊÂÆÎÐÏÎÎÎÎÏÏÏÏÏÏÏÏÐÐÐÐÍÆÄÞ»±Á»À¸ÂÈ¿¶¦‚r‹h^a[^hnXp_W_TOUVb_YPPSZRPTVZOMMVTT]k^PXYWXWU[SRZYZ^]MD>8530..---ÐÜêïìâÑÌÌÈÅÅÆÈËÃÁÈÂÄÌÍÎÍÌÍÍÏÎÏÎÎÏÏÏÏÏÏÏÏÆþ·¾»³¤¾·Àµ¹Ã¸¿·›ˆ}|njfdfeW^f_Wf]T[_QTTY^VVSOQPLMNU\WQUQSTf[O[[XTNPZXZUXRNJ@8>=;72.----ÝîÜÅÔíèÎŽ¸¶»¿ÄÄÅËÇÇÍÍÌÌÌËËÌÍÍÍÍÍÎÍÌÌËÉÉĸ±«°´© ®±¼±¶¼°¯¦‡xzvmjSbh][fZS\j`Y`[LQRV`ccUQONLOSMVXLOUPT_^\c^VPMPZWYXPQXJBC><;:61/.-,ë់žÐâÊ»¸´´¹»ÁÅÈÍÊÇÍÎÏÏÎÍËÉÌÍÍÍÍÌÌÉÆÅÁÀ´£Ÿž¤§œš¤¯±¬°«¨›‡vomkmo_YZWdcXX__]cXRWUTVXbZRTQOSWSTUXRQXQT[aY`Y\\W_`TUZXUR@?H<86776200/×£Š†„…€€€„Š‘ªÇÌÉÅËÎÏÏÎÌÈÄÊÍÍÍÌÈÆÀ¶¸·»­¡˜œ˜—¥´¯¬£œŸ”zlggXjdUMHOWb[TQ^ibcq`ad_UZOQQPQSXSVRUZS\PQ`__j^f`libTQOMKKA=B8766554/13sƒ‹‡\[ZWuŽŒˆ€|¸ÊÇÃÊÍÎÎÍËüÈÌÌÊÇÀ±¦Ÿž¦¨ ž™Š•œ““£±°Ÿ””“…wfgk\`XQSQQZb`^kp`SXeOXsq]SOKNNLHJMPPNNRZU[`VTZ[cj`^ZQJNIFECHB8665344024o£¶·»¼Œ\W‚¿ÖàØÈ“ÊÈ»ÄÌÌÍÌÉÀ¶ÅÌËø«Ÿ –š™Œ‘“„–•ŽŒ“–‘ŒŒŒ„€xwqd[VZ^YP[_XV_j^SP`igda_URMKJHIGGFHOMT_]Y^WQ_kjiW_VOUTKJA@A9854324339=956769=?=Yfjt™nM69RYS…gC8\n«}‡¬¡eUNMLTNRPMOS^›‘‘ŽŠˆ„„ƒ{‡~x{yvupni[^eceZSUZX__dZU]UZ`]WSLOLOJCDFA@GHEBRHWY\Ybcc^TfeXXZUNIFG:75668<>GFOP>=;DI:;=QZt_D~š’ŒŒ†…„‡~‚|ywswvpjgY_fb\SWQS_gffYPSTk^eZOSSPJIDITKCKMOFQR^`[O\fggVbeXPX`SFAB=;8768;Ka__QA=C;[ –‹‘ˆŒ‡€‹ƒ|zvwy{vfZS\[]X\YO\\_ahhjotnS^_VNSRGFFQXRRPQSJKW[_[NO_\b`_jiXaVA::==<:;9:>>>;nkfedbcdcaaaacegkoqËè®IQAE:9=>B:6688C’°×§…Š}„ŠŒˆ‚‰ƒ~zxx|xyraZ_aUZVVZcZQOat…xi]_gSVNMSTNNJC@NWSUWUP_fff\T[[_]U^YVWH<99;<78::9>==?>>SWSMLKKLKKMLMMTaT|œÀ˽¿ÂÆÈÇÇÇÈÆÇÄÁ¾É¿Âš|‚ˆ‡z}€xuwz{vrmj^UNLZY^UUZ^^[JZa[^[[bYLOUQOJMPPRUXZX]og\\^ZY[ZSXOPOA874`‚:7988;BFDFºÉªW[`ceŠ|da]W’Ú¹éËeµÖØÙÙÛÜàáááááÜÚÚØÚÀ}~‚„€€~zzrryz~tkceUTVFBPYXX[\PLJW[]^W]g`TONKMPOPKIKNXZ\_c]`ZWUXOKNJC>9886Y‰@989<?>=DIB?M^nk^ORhSHA;<;7;;99>8€à^3><@EJJCXM`©ßãðòòñòóóé×ɇUJEN¾ïìëëëììêëëèèëëëëíð¾xzz~}y|€ƒ€x~}siknmhc__Y^]POWWPPV`]\Z^__VUMH@AHJB>DTSJV__oŽmSXZMA;667A<„ìk8@9;CJO[eEd~giœ«©¨¨¦¢ˆUcƒWCGZ®ðìííììîîîíîîìëííìï²p~|~}xv‚ˆ€txxtigkt|iXXWTSTOUZQR\^]Y\e`[ORTPIFLPJ=?OVOhojzj^aTJB>:;@HNIB=@:‰õs<>5JX`V]fjrf\Z\bfjmnnpf]kzyrnfklX’ô‡YUZxwtvmj8:EU\]]arf]\[XWC9:98uåãÛÍÛñÔº¶¯©ÀñâÊÕÞâˆ}‚~w}~vz}€y{qe[dhfbccVX[[VUTPPV^\Y^]VOS[WTW\]u…|en{p]UY^`bejho€‡ƒ„ˆ€}‚†ŠŠšº–’Š„~€vwtjUU[[XWVURRUXXX`a=-47U¶ÐÉÃÇÆÆÐÛÛÌÃÀ¿ºÆ×¼h|ƒyy€xsx|ryofbaid`dbZ[WWUY\]WW`_YUTX`]Z`i|…ˆ‰gevoWRZ]]]_hlmw‚‚€wv~‹•“‘‰Œƒ€qwrmqj|}||||}}}}}€ƒN(17Zi€‹‡†„‹“˜vhenomhZezx}ww~vuzwyttpopkooqtqppmp|‰‰‰““ŽŠ•³Ÿ„‚‡€{ocprfX]a`^\ajilvkhegfx€…€ƒˆ‹†‡‡|ufkrnkhXXWYZ[_bbabbcccfO@AK{ƒ‚ƒ€€Œ—‘†’„{|~}}{xwwttrsuutrsqppopoqtvyz{}{yxxy{{}~€ƒ†™¬¼¸«˜Œ}snoonoolgc^]^\\baYZ^__djnjjgegttmspjclyotyhhhghhmqrqqqppoorwx{€€}}{zyŸ¡‹tstxxyyzyvtrrrstutsqolijjklosuvxwvvuvuutttrv}ˆ—¥¯²¯¨Ÿ‘tjhhfca^[X\YXWZ[Y\\\\]ZXYZZWWWZR^^hw|wrpmnmmoqrttttrqprty|}}~~~~}|{xwu|…{Š£˜xnotvxywuvtqoppqqqpoljhgfghjlortvwxwvtspqprrstzƒ‘¡¶Â»¢Šuljkkida_^YWUUWVVWYafWWY\WXXVTUYV\|ytomkjjlnqqqqqrpooqsvxzz{}||{zyxvrr€–”‡‡vqrttuvwvtsqollmmmlkjhfcddegimqtvwxwvspnooqsrqop›µÂÀ¯šƒsjjlhedc[V[WVVV[[UUW]VXW[ZYXUU{zyuqmkkjknpqqrsstssssrtwxxz{{{yzyxvsqo££~nnosstuvwxwwtqljlmmonljiggfedgjmptvwyzxusqnnprrrprxˆŸ¸ÈÀ¥ˆuikllkhfca][WVUUSTUWV\YXYYZxxxxwsokhhkmopoopqrrsrrrrsuwxyzyxyywusrqqpu£³–nnopqrtuuvwsnkjklnoomihfeba`adgmqtuuxyxvrmjinqqpmlo‚¥Å͵Šrlkmmlkjgc`]YVTSSWUW[VYZYwxxxxwtpjhgjklmmmnpoppqqooprtuwyxyzywvtsrrrˆ˜Ž‚mlmoqrrstttqqmkkiknpnljfdeddbacimortvwxwwvojkmopqqomz—µÆ¿¥†tmlmlkjjgc_\VTUSV\UWVVtvxxxxwtqlhfgijkklnmmopponmnpruvvxyxwvutrrrnmo€­¶Žnnooorststtpomjkmnnpnjfcdca``bfjmpstuvxwuqmjknpqpnlm|›¾Ìæ„rmmmmjhgfdc`\XVXUTUsuwxxwwuspkfddegijlllmnoonmlmnpqstuuvuttsrrqqpt—£Œnkjmooqsqstsrrljiijoqpniedabca_`dimpqsuuuwvrmhgjmoonlinˆ±Íϲ‹trnmlkjjihhec_WVYnpstuvvvtrplfbbcegjjjklmnmmkjjlmoprtutvuuuusrpollosƒŠzlmmmklopnooljhgilprqnlfeeeda_`fjmoqstvvvvskefiknnmjgg¯ÐÑ´‹soonljhhihhgc`^lnprtvvvvtrplgdddeffhjjklmmmlkkllnptttuuuuutsqpomlu´Ï¬z|ƒ‡†‰‘‘ŽŒˆ„|sjhkqrqpmhgghfaacgknpstuuvwtqlgfimnmmkgkƒ©ÌѶŽvooomljiihhfdjkmqtvvvvvtrplheddedfhjkkmmmnnmkklnqqsuuuuuutrs†” ¬³´µ³µ²®®´µ²±¯®¯²²¯¨Ÿ~joprqnkjiihfcbdhlnpqstvuuusmhfjmonomjh§ÈѼš}poommkihhgdilnqtuuvvutrpmjfcccefjlllkmnnmljjlnopsuvuvutx£¬©¬« ”‰€|vpmkjklmnqv}…ˆ‡’qghjnonmigfeddaacgjnprtuuvwvsnhghmnopokjv±Í˲”ypnnmkkj`ehknprsstttspnmhcbbccehjjjlmmmlnkiklmnqsttus‰¬ƒxpg_[VSX\bpš®’tlb[XWTQOJ^}jfdfhklkjhdabb`^^aehjoqqrstutqmggjlnooolhk¡ÀÍÅ­‘{rqom€\dgjmoqqrrstrqolgcbbcdfhjkklklmnmjihjkmprstrŠ…NJKMPRWZRSS^y}fOINjomjdYD>^pkhecdfiljgca``_]\]^`cgjmpqqqqqoliffjklmmkhfl}£ÍÖÇŸwlmÂv]dikmoqquvttsrpkgdcccegijkkkiijkkjhgijmoprr‹Y@Wanz„Š‰J594/,2:;CaeehjjaEAknlhdcachggeca`_^^^]\\^bfikkmnoonnjcadfhjkkkjee}«Ï×Á“pÌ¿p_ghkmnpssutssqnkgcbbceghiiiijllllkigijlno{‰AFv“œ¥©¬®‡oZB68AIIGA=>@97=XDWnnmjfb`cgihgeca`aca^]]^aehjlnpqqqpnhccfijkmmmkhi¨ÍÖ»ÀÒ±`^dhikmopturstqokgcabbdefhiiklkllmmiggill…p@Tz¶¶¸¹º·³­ª”wzŽpD@438@=63QfClnonkieccfikjiedddddcb__bgkmnqqrssrrpjedgjlmnlljfg{£Ì³ÅÐ[aegilnnqsrssspnkgdccddfhiijkjkmnopmljjlS\QO©¯©ž‘‹t´½ƒ}²‡A74J\T@44@~Eapnnonmjfcfjlkjiheccdcba`bdgjlnpssrssspjfegiklkllkgg|‰ºÇЋZbfijlmprsstsqpnkgcdddfghhijjjlnpqppnkqŒDzF2FGA;5?EFWahhdTD3:`|eU553yaOomnooolkfccgkmnlifcccddc`_adgjmoqsstussoidcgjjkllmkgVœ½ÉÉvZcgikmoprstsrqonkeddcdeefgiiijkmnoonl|{L„8246798CHIGGIHFHF;D\ƒmZ8@ˆŸ†Djlnonnmlkhecdgjlkigdb`bca^^_adhknprstttrspicdfjllnmlY€µÀеa^fhkmnnprrssrqomiedbbbbdefghijklnook…eb|135<\fL@IGCBA@FIFELP|rQ87hŒžP_mlmnnnllmkhdbdikkkifdaaa`__^^afiknoqsssuutoieegjlll\aˆ»ÄÑ›[bfiklmoqqrsrqpomhdcaabbdeefghjkmopk‡S}l032C“¤p?C=7546BIHLKQ_wd84/5oQmklmnmlmnmkigcceijkjiea``__^^^^`dgknpqstutssqibcfikRJS•½Å̇Y`ehjklnpqrrrponkgdbaabdeeefgijlnok†L’W2<8[‡˜Z;412227?A5=¥oYš_;<Q»`9?4Gmjjkkkklllkifcachjmmmkfb_^abbb_\\`filopqrrstkox]NJ`ªÀÊË}\dgiklmnnprqooomkfa`__aceD7=7rnFM[Dbb:ACBCKV][VRKF?=B=ObYPQK8465;=;5222Tkijijkjjkjjkigc`beimmmkhe`__`aab_[]chkmopqrtsrnfYPLs¶ÃÐÄq_ehjlmmnopqppoomjfb`_`bd>0777AE9131128;?;66433466469658;9<>9:;?JJ/0:GXgfhiiijkjjijlkjheb`bhmnmmmiebaabcc]\]`ehkmoprtnnnhUXl”ÀÉÖ¶ibgjjklnnoppqppnlidba_acV=50./OY<<98877666666667667777777888:;=FH5Tciklhehihijjjijklkkjeb`agkmoomkgeeccccd`\]adhknpnornj[QSX ÅÊÕ¤`bffhjlmmnooppomkieb__adebo{Z[C1-,)3`jklmigrsssrqonnmjhef£¼¿—dgffffffghgggffeec`^]`fqnnouwvuxpnqpmsfQKMLP›ÊËÕ¿kfjllklllllllnV->//,14=OR:9AI?57:9511/032257:;;414>LZo— ¨«¦§²²²³³²°°¯¬«¤}šéðè—bddeeefffefeffeedba_\`msxvqutqrnnnjmueLLMMKi¾ÉÍÖ˜bjjkkmllllllmT+>.-,.027;>>@@@@ACBE_YJGHHGEB>;8b—¬³µ´°¯­«©¤£¡ žžœžž ¢¤Ÿ¦…œ¼½¦eabcdeefefeeeeeeedba^\tzxrlnpspklnywxh_ZMMNQ•ÊÉÓÉtejkkllllkkjcK*>0,+,/0247:<30-,,,**++++++***,.2677‹ªv[\\]^_acdejq~~|zyxxwwwvrgwsaccefedefedddddddeeddcbbˆ~…|z}zmls|z{}th]SLKNLX­ÇÈÙ¹gdegggfff_WJ+;560?RG@8331+*++*+,,,.38:=?<\¸a\s|€ƒ€‚„†‘£¹Ž‚„Š„‚‚‚€~|etgbcbcdcdeeedddddddddddcc‹v{vtknvpljpjcdbWMLL`f‡ÂÄÍØŽ^bceeghhdWG1;463/4/-,++*))*))**))*+*)((%r¯{hn‡‡‰–œ ƒO4843Qž¹¿Ã¾»¾¼»•W^rbbabeeefeeddeddeedddeddƒ|{‚{urudahr|sknh\MLLY`a¤ÂÃ×Áf_cdceeeb]M992321%$$%%$%$#$$$$#####$##"+…›bYˆ«ÄÉÑØÚÝàå“TQKJJN¤éãâÝØàáã¾dwKpfccbgjkgffggeeeeeeddedd††††††‡‡‡…†‡††††††‡†††‡‡‡†††…ƒ‚}yvttswyxyzzy{{zwtxyz{zyyz{~€€€††………††††…††…††…†††††††††…††…€|xvttutvyxxywyzyywuwvxzzxwy{~€€€††††…†††…††††……†††††††††……††…‚€€{vvwwwwyyxxwzzyxxwvuxyyxxyy|~€€††††††††……†††††††††……†……„…†…„ƒ€~zyxwwy|{xxwzzz{ywvvxxxyzyz|~€†„„…†……††…………††††††……„„ƒ‚„„…ƒ‚~{ywvxz{yyzz{{{{zuuxyxyzzx{~€‚ƒ€ƒ„ƒ„………………††……………„ƒ‚‚‚‚‚ƒ~~|yxvxz{yy{}|{zyxuvxz{zzyz}€€‚…‡‰‡‡‰ˆ‡………………†……………‚€€€€€|}~~{zyvwwxyz|||{zywwwwxwyzy{}€€€†……‰‰…ƒ†…†………ƒ……„ƒ‚€~~~€~}{|||zyxwyvuyz}||{{yxyxwuuxyy|}~€€€‡‚ƒ‡‡ƒ………††„‚„ƒ‚~{|{|||}~~|{zz|zzzxxzwx{z{||}|zwxyvtuwwx|€€€Œ†„Šˆ„„ˆ…ƒ……†……ƒ{wwxzzy|{zyxy{yzyxxyyy{{||}}|zyxxwuuvvv{~€€~Ž‘Œ‰Œƒ€‡Š‰‰ŠŠŠxww{{xzyxxxyzz{zyuwwwz{|}}}|zzywxvutvv{€“’’’’’’‘ˆƒ†‡‡†‡†ˆ…~xwxyuvvwvwz{{zzyuuuwy{|}~}zyywwxxwwy{~~~…†‡‡ˆˆ†ƒ…†ƒƒ„ƒ‚ƒƒ„„}vwvvrtuvuwz|}zyxz{yzyz|}}}zyxvwwxxy|‡}|}€‚‚€}ƒ€€€€~uuttssutuwyyzyxz|{zzyz}~}}~{xxxxy{}€ˆ€€~|{~€€€~€‚€~~€~usssrsttuvxuxxx{zyyyy|~~{vwxxz~€}}}|x€~}~‚€€€€€€€~tssrqstvuuwyyyzzyxxxz}~~|wrsvw{~~}}~|~{wq}}~}~€‚€~~~}~}ssssssuwxuwxxyzzywwy{|}zzxvpoqonqrpqqvz{wpmk~~~€~~}{{~~~}rtttutvxyxxzy{{yzyyyxsninnqrqolhfgfdefhedfikƒ‚‚„„‚ƒƒƒ‚‚„ƒ‚‚~}~|}~~€€€ƒƒ}xttwxzyyxwuwvsoooljlnlmˆ‡„‡‰ˆ‡ˆ‡‡ˆˆ‡ˆ‰ˆ‡‡†‡‰ˆˆ‡‡„ƒƒƒ‚‚‚ƒƒƒƒƒƒ„……††„ƒ€€€‚‚ƒ‚„ƒ„ƒ‚‚zu‰‰‡‡ˆ‰‰ŠŠ‰‰‰‰‰Š‰‰ˆˆ‡†‡ˆ‰‰ˆ‡†„ƒ‚„„„ƒƒƒƒƒ„…†‡‡…„€€€‚‚‚ƒ„„…††‡†‰‰Š‰††ˆŠŠ‰ŠŠ‰Š‰‰‰‰ˆˆ‡‡‡‡ˆ‰ŠŠˆ†…ƒ„ƒƒƒƒ‚‚€ƒ‡‰ˆ‡„‚€€€€‚ƒ„„…†‰‰‰‰‰ˆ‡ˆ‰ŠŠŠ‰‰‰‰Š‰‰‰‰ˆˆ‡‡‡ˆˆ‰ˆ‡‡…„ƒ‚‚‚‚‚‚€€€‚…ˆ‡††„€€€€€‚‰‰‰ˆ‰Šˆ††ˆ‰‰‰‰ˆˆ‰‰‰Š‰ˆˆˆˆ†…ˆ‰‰‰Š‰‡†ƒ‚‚€€€€€‚„†ˆˆ†ƒ€€~~ˆ‰‰‰‰‰Šˆ††‡‰ŠŠ‹‰ˆ‰‰ŠŠ‰‰‹ŒŽ‘‘Ž‡‚€ƒ‚‚€€€ƒ‡ˆˆ‡ƒ€~~€„ˆ‰Š‰‰ŠŠˆ……‡‰Š‹Š‰ˆ‰‰Š‰‰Ž‘ŒŒŒ‹‹‹‹Œ†…ƒ‚‚ƒƒ‚€€„‡ˆˆ‡„‚€€†ˆŠŠ‰ŠŠŠ‡…†ˆ‰Š‰‰‰ˆˆˆ‰‰‹…€~…†‡ˆˆ‡‡ˆ‰ˆ‰‡„ƒƒ‚‚ƒ‚€€ƒ†‰ˆ‡…‚€}„ˆ‰‰ŠŠŠŠˆ…†ˆ‰‰‰‰‰‰ˆ‰‡†}‚ƒ‚ƒˆŠ†ˆŠ‡ˆŠ‰ˆ…‚‚€€~…‡ˆ‡‡†ƒ||‡‰‰ŠŠŠ‹‹‡††ˆ‰‰‰Š‹Š‰†‡‰‡†‰‰‡‡ŠˆŠ††ŠŠ‰ˆ‡„€‚€€€‚…‡ˆ‰‡}}~ƒˆ‰ŠŠ‹‹‹Š‡†‡‡ˆŠŠ‹Šˆ…‡‹„‚‰ŠŠŠŠ‡€ˆ‡…‰Š‰‰‰‰‡ƒ€ƒƒ‚€„†ˆ|~}}…ˆŠŠŠ‹ŠŠŠˆ†‡ˆˆ‰ŠŠ‡…ˆŠƒ‡ŠŠŠŠ‡~‰Š…ˆŠˆ‰‰‰‰‡„€€‚ƒƒƒ‚ƒ€€€€€‚„v~|†‰‰Š‹ŠŠŠŠ‡†‡‡ˆŠŠ†„‡ˆ…„ˆ‰‰‰‰†}‰‹……ˆ††‰‰‰‰†…ƒ‚ƒ‚‚€€€€€pz}|‚ˆ‰‰‹‹ŠŠ‹‰††‡‡†††…„…†‡†††………‚‡ŠŠŠ‡…„ˆ‰‰‰ˆ‡ˆ„€€‚ƒ‚€€€hl|}{~„ˆ‰Š‹ŠŠŠ‹ˆ…†‡†…‡‹ŠŠŠ‰‰ŠŠ‹‹ŒŒ‘†…†‡‰‰ˆ‰ˆ‰ˆ…‚€€€‚‚€jhp|}~†‰ŠŠ‹‹‹‹Šˆ†ˆ‡†‹ŒŒ‹‹‹‹‹ŒŒŒ‘ˆ††„‡ˆˆˆ‰‰‰ˆ†‚€€€€‚„ƒ‚kjjv€~}‚ˆŠŠŠ‹Š‹‹Š‡††ˆŽŒŒ‹ŠŠŠŠ‰ˆˆ‰‰Š‹‰…‰‹ˆ‡ˆˆ‡ˆˆ‰‰‰‰‰‡ƒ€€€€€‚„……nmls€}}…‰‰ŠŠŠ‹‹Šˆ††‡Œ„‡‰‰‰ˆ‡‡‡‡ˆˆ‰„{‚‰ˆˆ‰ˆ‡ˆˆˆ‰‰ˆˆˆ…ƒ€€€‚…‡†nlimy€~}€‡ŠŠŠŠŠ‹‹‰ˆ…„†ƒ‚…†…†…‡‡„„„„‚€„††‰ˆˆ…„‡ˆˆ‰ˆˆˆ‡†…‚€…‡‡ijggjz}}‚‰ŠŠŠ‹‹‹‹Š†„…„‚‚€‚ƒ„…‚€‚ƒ„ƒ†‰‰‰ˆ‡ˆ‰ˆ‰‰ˆ‰ˆˆˆ†‚€ƒ…†nmhfer~{~…‰Š‹‹‹‹Œ‹ˆ„„……„„ƒ‚ƒ„ƒ……ƒ…†††…ƒ†‰‰‰‰Š‰‰ˆ‰‰‰‰‰‰ˆˆ†ƒ€€‚ljgffj{‚}€‡Š‹‹‹‹ŒŒŠ„„…†ˆ‡ˆ…„ƒ‚„…ˆ‰ˆ†„‚‡‰‰‰ˆ‰‰†„‡‰‰‰ˆˆˆ‰ˆ†ƒ€fgggghq~€}|‚Š‹‹‹‹‹‹‹…‚„††††ƒ€€€€‚……†„ƒ‚ˆ‰‰‰ˆ‰‰ˆ…†‰ˆˆˆˆˆˆˆ‰‡ƒ€€hhgfeffu€}ˆŠ‹‹‹‹‹‹…‚ƒƒƒ„~€ƒƒ‚‚ƒƒˆ‰‰‰‰‰‰Š‰‡ˆ‰‰ˆˆˆ‰ˆˆˆ‡ƒihgdfhgs€~…‹‹‹‹‹‹‹†‚€~€‚„…„„ˆŠŠ‰‰‰‰‰‰ˆ‡…†ˆˆˆ‰ˆˆ‰‰‡ƒhhfdghhm}}ˆŒ‹Š‹‹Œ†‚ƒ‚‚‚‚‚€‚‚ƒ„ˆ‰ŒŽŽ‹ƒƒˆ‰Š‰‰‰‰ˆˆ‡ƒjiiiiggjt}ƒ‹Œ‹‹‹‡‚‚‚‚‚‚‚‚ƒƒ„‚ƒ‰’–—————––—–––’‰†ˆ‰‰‰‰‰‰ˆˆ‰ˆjjhhnkgiq~}‡‹‹‹‹‰€ƒ„ƒ‚‚‚‚‚‚ƒ…„†Ž’“‘ŒŒŒŒ‰ˆ‰ŒŒ‰ˆ‰Š‰‰‰‰‰‰‰‰knmnppmpt|~}}‚‰ŠŠŠŠ‡€€ƒ„ƒƒ‚‚‚‚‚‚ƒƒ‡Œ„€~}|…Š‹†||}|‚Œ‰ˆ‰‰ˆ‰‰‰‰‰‰ˆ{zzzzzzzzz{zzzzzzz{zzzzzyyzz{„„ƒ„…††ˆ‡‡††ˆ‡‡ˆ†††††………‡‡„ƒ‚‚‚‚yyyyyzzzzyzzyyyyyyyxyyyyzyyy{‚ƒƒƒ‚„„…††……†ˆ‡††…„……………†††„‚yyyyyyzzzyyyyyyyyyyyyyyyzzzzz~‚ƒ„„ƒ„„……„„††‡†„ƒ„„„ƒ…†‡‡†…ƒ‚‚€yyyyyyzzzzzyyyyyyyyyy{z{{{zzz}ƒ…„„„……„„…†‡‡…„„ƒƒ„„…ˆˆˆ‡…‚‚‚‚€€y||zzzzzzzyyyyyyyyyyz|{}|||{}€‚ƒ„„„……………‡‡‡………„ƒ„…‡‡‡†…„‚‚€€|ƒ}|}|{zzyyzzzyyzz{}}~~}~ƒ‚‚ƒ„„„……‡††‡‡…………„„……‡‡††„ƒ‚‚‚€€€~}}|{zyzz|zyz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡‡……†……„„……††††„ƒ‚‚‚}{{{{{||{zzyz}zz}€‚ƒ‚€‚ƒ……„…„„……„ƒ„…†‡†„………„………†††……„ƒz}ystz€}}}||}~~€„†…„„ƒƒƒ‚ƒ…‡‡…†…„„…„ƒ„…†………„„„„„„…†††…„ƒ‚‚‚ƒu}}yy}‚}~€€€€‡ˆ‡…ƒƒ„„…‡‡†††…„„…………†„„……„ƒƒƒƒ…††‡†…ƒ‚‚‚‚wz{zy{}zz‚ƒ~|yvx{}ƒ‡‡…„ƒ……†‡‡†…††…………†……†…‡„ƒƒƒƒƒ……†‰‡…‚‚‚‚{yxxyxxyy~~}|}}}€„††……†ˆ‡ˆˆˆ†…†………………†‡……„„…„ƒ……‡‡†„ƒ‚€€‚ƒ†ƒ}€€‡„€€€„††††‡ˆˆˆˆˆ†…„„„…„„††‡†…„…„„„†‡ˆ‡ƒ‚‚‚‚„†††ƒƒ„ƒ„‰ˆ„€€‚ƒƒƒ€€„†‡‡‡ˆˆ‡‡ˆˆ†…„„„„…†‡‡ˆ‡…„„„ƒ…‡ˆ‡‡ƒ‚‚‚‚„†††ƒ‚‚‚Š‡‚„„„ƒ„†‡ˆ‡‡ˆˆ‡‡†…„…„„„††‡ˆˆ‡„„ƒ‚ƒ…†ˆ‡†ƒƒ„‚€ƒ……„††…†††ƒ‚€€…†‡‡ˆ†ˆˆ‰‡††„…„ƒ„†‡†‡†…„„ƒ„……ˆ‡…‚€‚ƒƒ‚ƒƒƒ„…‡†…„‚‚ƒƒƒ‡ˆ„‚ƒ…‡ˆˆˆ‡ˆ‡ˆ‡†…………„„…††‡‡…ƒƒƒƒ‚‚‚~|||~~€ƒ‚€‚ƒƒƒ„„ƒƒ‚€‚„……†…„„……ˆˆ‡‡‡‡‡†……„ƒƒ„ƒƒ…Š‡††}}|z{z{zz{{|~~~€|~€‚‚‚ƒ‚€€ƒ‚ƒƒƒ„„„ƒ„ƒƒ…„„„ƒ‚‚‚€€„„„……€~€~~~€€€€€~€€~}~~}}~}}}~~~}|~~€€€€€€€€€€‚Š†ƒƒ‚‚‚€€€{}~~~}}}||||||~€~~}}}€€€€€€€€‚„Š…‚€€€€€€€€€{||~~}}}}}|||{|~}€}}}~~€€€€€€~}~€„ƒ‚‚‚€€€€€€||{{}~€~~}}}}}|||}}||~€~~}~~€€€~}~‚ƒ‚ˆ‰‚€}}{{|}€~~}}}}}}|}|||}€~}|~€‚‚‚€}}~€‚††‚~|{{|}~}}}~}}~||||}{{zzz|{zzyz|‚‚‚‚‚~~~€‚‚‚‚ƒ€~}|||}}~€€}}}~~~~}||}|{|||}ƒ‡€~~{}€€‚‚‚‚€}}‚‚‚…„„€~~}|||~€€~~}~}}}~}~~|{{|}}}{{{}}|~~€€‚‚‚‚‚‚~}}‚„„ƒ€~}}|}~€~}}}}}~~~~~|yyzz{{xx}}{{~}}~€‚‚‚‚‚‚‚€~}~}€…„‚€~~}|{||~€~~~~}~~~~|}yxzzx{‚}|~}}}}~€‚‚‚‚‚‚‚‚‚€||~“‰‚€~}}|||}~~~~~~~}||ƒ…zxyyx|ƒ„|}~}}}}}~€€€€‚‚}„„ƒ‚€~}||}}}~~}}~}{z‚„{zzzy}‡‡|z}~~}}}}}~€€€€€‚‚‚€ƒ„ƒƒ‚~}|}}}~~}}}zz~€zyz{{~‡†{{}~€~}}}~~€€€‚‚‚‚‚‚‚‚‚‚~}}}}}}~€~~€~}~~~}}~~ƒ‚~||}€€~}}}}}~‚€‚‚‚{|‹‚‚~}}}}}}€}~~~~}~~~}~~}{z{€€}}}}}}~‚‚ƒ}{~‰‡‚ƒ~~}}}}|}~€~~|z|||||}}}}}}|||{z}€~}}~}~€‚‚‚‚‚||€‚ƒƒƒ€}}}}}|}~€€~{€€}}}}}~}~}}|}~‡„}~€~}}~~~~€‚‚€€€€~‚ƒ‚‚ƒ~}}}|}}~€€}Š}~~~~~~‚†~~~~~~~~}€€‚‚€€ƒ€|‚‚‚ƒ‚~}}}||}|€€„†‚€€€‚…€€ƒ‚~~~~~~~~}~~€‚€€~x{}€‚‚~~~}}}}}~€‚„ƒ‚„…ƒ€ƒ„‚€~}}~~€€~~~~~~}}~€‚€~yxy~„•‡‚~}}~~~~~~€€€ƒƒƒ‚„ƒ€€ƒ‚€€}}}~~~~~~}}}~€‚€~yvx}„‹„‚~}}}~}}}€€€€~€€‚€~}€~}~~~~€€€~~}}}}€‚‚€~zxxy‚‚‚‚~}||}}}}€~}ƒ€€€€‚€~€€€~|}~}}~~€€~}}}}}}‚‚~zxwwy€ƒ‚‚‚}|}}}}}€€‚‚‚‡‰ŠŠŠˆ‚€€€€~}}~~~~~~}}}}}|}€‚~ywxzz~ƒ‚‚‚€}}}}}|}€€€ƒƒƒƒ…†‡†……„…‚€}}}}}~~~~€~}}}}}}~€‚~{x{{{~‚‚‚‚}}}}||€‚‚‚ƒ‚ƒƒ‚‚€}}zyyyxxxxxxy}~}}}}~~}}€€}{{}~~€‚‚‚}}}}|{€€€€€€€€‚‚€€€{wuuuuuuuuuuvuy€€~}~}}~~}}~ƒ~€„„‚‚‚„ƒ‚~~}|{€€€€€€€€€€€~yzz{{{}}}|}~~}}~~~~}}~ˆˆ‡ˆ††„…†„‚™~}}}€€€€€€€|z}~~~~~|~}~~~~}{}~~~}}}~~~~ÓÓÓÒÒÒÒÓÓÓÓÓÓÓÒÍÇÊÆÏÑÒÒÒÓÓÓÒÒÒÒÒÒÑÑÑÐÑÐÏÏÏÏÏÏÏÏÏÏÏÏÏÐÑÏÏÉÀ·³¨¤–…ulq{nmkopvhlgZae__h`V]b`bYRQW]]cibgVXYZXYVV^WSZab_ZWOG?:=<744A3ÑÒÒÑÑÒÒÒÒÒÒÒÒÒÐËÆÉÅÌÏÐÑÑÒÒÑÑÑÑÑÑÑÑÐÐÐÐÏÏÏÏÏÏÏÏÏÏÏÏÏÏÏÐÐÑɹ¢ªž|…}„xcadt~r`bqnk^[]^b\ZXQbjb^URRS\[_jkkSY`d\SRNUU\ce^YPQLBB86643187ÑÑÒÑÑÒÒÒÒÒÒÑÐÐÏÊÄÇÃËÎÎÎÎÐÐÐÐÐÐÏÏÐÐÐÐÏÏÏÎÏÏÎÏÏÎÏÏÐÐÐÐÐÑÑÑΦŽŒtqrsppprx€|cedgi__^^_`UVX`g]\\XWUXVZ`kgTU\]WOQQTUagcd]RIDA=953341/3ÑÑÑÑÑÒÒÑÑÑÑÐÏÏÎËÃÇÃÌÎÍÍÎÏÎÎÏÏÎÍÍÎÎÎÎÎÍÍÍÍÎÎÐÏÎÎÏÏÐÐÐÑÑÐÐÎιœ”}ovyyƒƒkieaj]chh^^ZYc\V[hiVTVZ[VRNYR]kURV\]SOUSS]ebcXWWQI@=96442/.ÐÐÐÑÑÐÐÐÐÐÐÐÏÏÐËÃÄÃÍÑÐÐÐÐÐÐÐÐÏÏÏÏÎÎÎÍÍÍÌÌÌÍÍÍÍÌÌËËÍÍÏÏÏÎÍÏ¿—‘ƒˆ‚ygp€pfjabd[mf][WWP_dbcsp^TQW_XOKVTU]V\]]XPSTX]bZZ\RR\PJ?AB=531.,ÏÏÐÑÑÐÐÐÐÐÐÐÐÐÑʾ¿¾ÌÑÒÑÑÒÑÑÑÑÑÑÑÐÐÑÑÐÐÐÐÎÎÎÎÎÏÎÎÍÉÌÍÎÏÎÍÊÈÆ¥}~tiaourfaeb[^bXT^UVT]ihjjglZTY[USUVUUZT]`dXVXT]^`[[WVQSQJ?A?7661/1ÐÑÐÑÑÑÑÐÑÑÑÑÑÐÑÉ¿ÇÀËÑÒÑÐÑÑÑÐÐÐÐÐÐÑÑÑÑÑÐÏÏÍÎÐÐÐÏÎÌÈÌÍÎÐÐÎÊÆŶ~uhYVic]adcaeaZWTLPX\bdhla_WSRRPLVTVSbNWW\^[^]a__ZUTWQSLGD?A=431/6ÑÑÑÑÑÑÑÐÑÑÑÑÐÐÑÊÄÎÅÉÑÑÐÐÐÐÐÏÏÐÐÑÐÐÑÑÒÑÐÎÏÌÍÍÎÍÉÇÇÄËÊËÏÏÍÇÁÀ°…€wXUSURY\otiff][PECQ[T_dd`XVUMNLJNJSO]RUXWZZ^^]^c[UQVPZQDIA??41/..ÐÐÐÐÏÐÐÐÐÐÐÐÐÐÐÉÄÎÅÇÐÐÏÏÏÏÏÏÏÐÑÑÐÐÑÑÒÑÐÎÎËËÉÌƽÄÁÆÃÇÍÌÈ¿³©«ƒyxaYX[[ljasjkbXXTTWVgWQ^^WQZ[TNKHQRT]\TR\]XW[[YQW[VSZS[Y@66320/.--ÏÏÓ×ÕÏÎÏÏÎÍÍÍÍÎÅÃËÄÆÐÐÐÏÏÏÐÐÐÐÑÐÐÐÑÑÑÑÑÎÇÅÅÄÇ¿½²Â¼Â¹ÃÉÃÀ·§ŒƒuŒi`a\^ioZq_X`UQWWc`ZQRU[TSUXZNMNWUU_m`PYZXYXV\TS\[[a_NE=8541//...ÐÝêïíâÒÍÍÉÅÅÆÉÌÄÂÉÄÄÍÎÎÎÎÎÏÏÏÏÏÏÏÏÏÐÐÐÐÏÇÄ¿¹À¼´¦¿¹Á¶ºÄ¹À·œ‰}~qkgeffW^f`Xh]U]_RUUZ^WWUORQNNOV\XRURTTh]O\\ZUOP[Y[VZTPLB9>=;83/....ÞîÜ¿ÊëéÏÆ¿¸·»¾ÅÅÆÌÈÇÍÎÎÍÎÍÍÍÎÎÎÏÎÎÎÍÍËÊÉŹ°¬±µª¡°²½²·¼±±§ˆz{xokTch^[f[T^kaZa\NRTW`deWQPONPTNXYMQWQV``^d_WRNR[X[YSRZKED><;:730/--ìàˆ•Ëã˽º··»¼ÂÆÈÍËÇÍÏÏÏÏÎÌÊÌÎÏÏÍÍÍÊÈÅÂÀµ¥¡ §©œ¦°²­±¬©œˆwpnloq`Z\XddYYa`^cYRYVUWYc[TURPUXUVVZSRYSU\b[b[^^Y`aUV\YWTAAI<87876300/㯕•ˆ‚…ˆ…†‰‘•žÀÌÊÅÌÐÐÏÏÍÊÅËÎÎÎÌÉÇÀ¸¹º½®¢™“ŸŸ›˜§´¯­¥ž •zmhhYleVNJQYc\US`jbcqabgaVZPSRQRTXTWSW[T]QQaa`k_gamkdUROOLMB>B9877665/14·t}…ŠlY_Vbƒƒ~uËÈÃËÏÏÏÎÌĽÉÍÌËÉÁ±¦¢¡¨ª¡ šŒ–œ””¥³° •–•†wfgl]aXRTSS[ca_lqbTYfQYur]TQMOOMIKOPQPOS[W\aWU\\ck``[RKOJHGDIB9765555126‡‹¶¸»Ä¦lPj¢ÌÖØË¥|½È¼ÅÌÍÍËÊÁ¶ÇÌʹ¬ž ¡˜™’“…——‘Ž•—ž’Ž†yxrd\W\_[Q[`YV^k`URbjheb`VTOLKIKIIGHPNUa^[_YR_mjjX`WQXTKKBAB:965434449>n|vW[˜¬‡di³×àßÕ˜t¡Â¯µ½¹¾¶ÆÀ¸Åȶ¬¦ Ÿ¤——‘ˆ„‡ƒŒ…‚ŒŒˆ‡„†„‚|yrdYXWXb\W\WU[jTSRbjiUU^[UOMMLMKHKLJTW`eT\TSovgjbeaWa\WVI=;<98643474f€‰ª¸¯F7u g:BR?\j”£¦§³Ã¹­¦¡˜šš™¡­½µ“”“Œ‹†ƒ……}ƒ‹ˆƒ‚}||unlh]Y\U\a[W_]a]Y]]^a]WSLYWPNRMDGIHCAHJKSLUV\`d\dr`aR^b^KGDA>=95667:>@>edm~–“Z<5J`RmN?O…´I|§GHKJMecPVUONHKš”’ŒŽ‡…†ˆ‚}‚zwtwwrkfZahd]TXQS`hggYRVUl`f\PTSQKJFJUMELNOHSS_a\O]gihXdgYPYaSGBA=;8889=BNBOXXYZ[Y[[[estslb^Vlƒ®ŠTO?<A<ƒž™‘‚„‰†Œƒ}€|wwz|wg[U]]^Z]ZQ]]`cjikquoT__WOTTIGGQYSSQRSKMX\`[PQa^caakiYbVB;:>==:;:;>>>;nojhigfgihiiffhglonåÏcJEDA7;;?<66785`¦ÐÈŠ€†ŒŽ‰ƒŠ…{zy}yztb\abWZWW[d[RPau†xj_bhTWPMTUNOKDBOWSUVUQahfg]U\]a^V`YXWH=99<<88:99?==<`WURONNOPOPNNORTVVaèÅr`glmqx{{|xtqgdp²ê鎃†‹Œ„ƒ†ƒ€wvxxvvxi_a_RR]]^`VWbekcaX`geUXPMNTMJC=CRWXb^^ckocba[`W]VUXZWC;9988:8888;?@>?MKLNLKJKJILLMMOQRVs|´ÇÎÄÅÈÊÌÍÍÏÏÎÍËÉÈÊÉ°£€ƒ„‰‰ƒ}ƒ~yvy|}ysnj`VOM[Z_VV[__\K[caa^\cZMPWRPJMQQSXY[X^qf^^_\[^\TYOPNB985iz78999=CHEG¨Œ¥dV[^`fsaa^[\¤­¸çxŒØ×ÛÛÜÜàâããããáÝÜÜÛÜ |€„†ƒ‚||tsz{vldfVUWGCQYYY[^QMKX\a`Y_haVONLNPPPLILQZ\]bc]a[XV[QLOLC=9996^‡<99:==@JKHóîù£OX\`ˆ©fZVPléòðó{…ÞÞæèççìíîéìïîêèéåàÀ€ƒ………‡~zzplrx}sldbRTVILTX\_WQVTWX^Z[[]d_UMFFDFJKGHILVZ`_WQZVXUWOJIE=86896\}@:9<>=DHIJ×Ëä¦OQV]¥ÔmYWRiÒÏÅÁYßÞéêëêÖÊÌã̽ÇçëæáÚÔ“{€„…ƒ…„}zytypsyvmkbSXYW[\c_[IGU\cZ^][YZ_ZRKDGB?@?>>BNRYe]W\^V[]RMI=;:98893ßK37=:>EJIGSOX“âíëííìêíîíííÎsQK>…ëæçëãëéÝÞçàÚÛêåêäåæ›|{~€}~„ƒ~{|yqmsllff`kse]PS^]XTV][c\Z_i\RLDBBBFB@?EKD@N`ol_OTjTIB;<<8<<;:?8{ÚU5>=@FKKDYNSƒÖéíòññòóóòèß·hNICyèíëììììëëëëééëëëìîãŽ~|}~{~ƒ…‚z€~tjknnjd`a[`^PPYXQQXa_]\_a`WWNJABIJD>DUULW`apoUY\NC;777@QXQjpl{l`bTKD?;=BHNJC=A:ƒòl<>5>JIYcpDIqrJT\Z]\ZY`aYƒaFESgÚêßÑÙíØÊÆÃÈÍÕêÝÌÚèÕw|‚€|€|vƒ€|vtpmjkhfqcY[a\[_VSVSWS^b_h`XZUQKIIDHLFGIRRVmopx{hfpkYRNNRXWWVHHQ<€óm95:W]`nmnLKUyx~ŠŒ››‘––oPMKETÍÕ´i†êºxrnss ë—\§ÎÇq|€~€y~{zwvmcad]_neXRY\d][UPP[X_jbe\SRXTMGA?KYcX^gkrg_\^dgkoqpqf^m|zsofklWŒó|VR]yxtvnj?>E^hkjkxvhgfb`UA@=9EºìßÓÍëé¹®¬­²àðÎÉàí®s†€y€x|z|re\eigdedX[]\WURQOV_]Y]]WPU[WSX^^u†{eo|t_W[`bdfljr‚ˆ„€†ˆ~„‡‹‹›»–“‹…wxujBJNQMJGDBDEIJMS]H/15?y´µ±µ»¶»ËÕƳ¥¤««ºÁvo…ƒz{zv{~€szpgecjeaeb[^XXUS[\RQ[\SNQX]]Z^f}ˆ‹‘ŠgfwqYT\_`_aknoy„ƒ‚zz€Œ‘‘–•’Ž‰Ž†‚rwsnrlh}|||}|}}~€€„s.-2H_m‡…€~††ˆŽwidgne\UWs}}xxyx|yzuuqpqlpoqurprnr|Š“‘‰Œ”•’ˆ‡•°•†€}peqreV]ca`_ckjowkifii{ƒ†‚ƒ‰‹‡ˆˆ~whmsomjR\[]]_cffffghgikd<:;^……„ƒ‚‚žšˆ…}~}}{{zxwuuuvwwvutqqqpqpruw{|}~|zyxy|||}ƒ‰”­·´©—†zrnpporplif`_`^]cbZZaaaflpklhegtuntqjbmyqvydfedefjooonnllkknqsu|€€~}{yx‘’£¡Œtstw{z{zyxvtsttvuusrpljkknnqsvxxxwvuvuuvutrv}ˆ”¡®²®¥œ~uljigdb_[Y][YY[\[\\\]^\Y[[ZYYXZS^_ix}yuqnnmnrsuvvvusrqsux|}~€~~}zxwv†|Š¤–wqruvyzyxwurqqqqqrqoljjihhiknpstuwyxxvspprrqpry‚ŽŸ²¾¸¢Švljlkhda`_[WVWXVWYZbfXXZ^ZZZXUVZW]}ytollklmprsrsssqppqswy{|}}}}{zyywqrŽ˜•‚vrstuvwxwvtqollmmmmmkigeffghjnruwxyxvtpnopqssrpq›³ÂÀ¯—‚sklliged\X]XWWW\\VVX^WXX]ZZYWV||zvqmkkkmoqrrrstutttttvxyy{|||z|zxvsppƒ¥¥nnossuvwxyxxtqmklmpqolkjhhgffhkmqtwxyzywuroorttsqryˆž·ÈÀ£†sknmmlhgdb_\XWVVVVVXX^ZZZZZ{{yywtoljiknopppqssttsrsstvxyzzz{{ywutssrqv£µ—nnpqrtuvvwwuolklnoopnkigfdcbbdgosuwxyzzvsnkjoqrrnmo‚¥ÆÌ°‡rmlonmljhda^YXVTTWWZ\WYZYxyyyywupkhgjlmnnooqqrrqqopqtuvwyyz{zwvutsssˆ˜‚mjmqrssssuusqpljkkorqnkhfefdcadinqtvyzyxxvoklnqrssoo|—¸Ç¾¤†ummnnlkjgc`\WUVUZ^VWVVvwyyyxwurlhfgjkllmnnoppponnoqsuvwyzyxwvusssomo€«´Œooopprsssstrpnkjnooqokgeddbaachmpsuvvxyxwsolloqrqpmqœ¼ËÁ£…tonookjigeca^ZWYVTVtuwxxwwvtpkfdefgjkllmoooooonnpqrtvvvwwvutssrrpwš¡‹okjmooprsrsssrnljijoqrnjgebcdb`cfjmprtvwxxxtojiknppolhn‡±ÎϳŒusonlkjjihhhdaZYZoqstvvwwusplfcbdfgijklmmnoomllmnprsuvvwvuvutsqpmmosƒˆzmnopposssrrqnjiklqrrpmhfffeb``eknqsuvxxxwtlfgkmoonjgi±ÑÒ´‰ropomkiijjihea`moqtuwwwwvsplgeeefghikllmnnmmlllnorutuvvvvvutrqqqp{ºË©snmmkhnnooopnljihjnrrrqmjgiigbadhloqtuwwwxvrmhgjnonnlhmƒ©Ìг‹vqppnmkjiijgfkloruwwwwwvtrnjfeeffgijllmnnoonklmorrtvvvvvuutrpooopux‡Š…’’’’‰‰…|ukijppsrolkiiifdceimnprtwwwvvunigknoopoji€¤ÄÏ»›~qponmljihhdjmoruvvwwwvsqnjfeeefhlmmmmnopnmkkmoprtuvwwvvtrz‚š ª±µ·µ³±­²µ±°±°°³µµ±¨™qiiknpomjggfeebbdhkorsuwwwxwtnihimopqoljsŽ²Îɯ“yqoommllafilnqstuvvutrpmidccdegilllmnnnooljlmnprtuuuvs‰®©¬­§Ÿ”‰‚|vromkkhikosx‰‹Œlgefhklljhdbcca_`afilorrstvvurnhhjmooppnkk¡ÀÍÄ­’zssqo^eikoqrssuuusrpmhdccddfijklmmmnomkjiklnprstuu¥˜|umc]XSTZ`f}¢£„lf\VVVTRPLn{khfdehjljgdba``_^_`behknqrrrqqpmjffjlnmnligm~¢ËÖÄ™ulnÃw^fjlnpqsxxvutspmhdcccdhiklllkkkllkhgijmoqstv—cJLLNQT[XSUT`rmWIG\oomhbT?Enoliecbeihhfdba````_]]_cgilmmnooookdaeijllllkff{«Ñ×¼Œnοpahjlnorstvvttsolgdbbcfhijkkjkllmlkhgijlnqq€@L\gt€‡Žt9762//7<<@@78EW?fopoljfdcgjlkigfeeefdc``cglmnqrsttsspjggikmnnmmkgj|¥Î³ÅϘ[bfikmoqrsstttrolgdddeghjiklkklmnopmkjjmqIRU¡··¹ºº·³¨¨~{|“UE<329@:45fORonopnmjfdfjmmljifddeeda`bdgjloqttttutpkgfhjmmlmmlhh~…ºÈψ[cfjlnpqrttutsqolheddfhiiijkklmpqqppnlj{ƒAl8|²¬¨›Ž‰zˆÊ¤v´_C3:SZN842ZqClnnpoomkgddhmonljgddffec``adgjmpqttuutsojeehjlmnnmlhTš½ÊÇr\dhjlopqstutsrpolgeccefghiijjkmopppnnjˆjSr19ICA:8EDK]ehg`M>2HrsdD42A‡I`onnoommlifdeilmljhebaccb`__adhlnqstuutstpjedhlmmnnl[³Áѯ``gilmopqststsrqokgeccddefhhijklnppoomRsc/36799;HIIGGIGFJAHJFBB@AHIDJGj„eI4D|ž‹Fjllnnnmnonkjgddfillkifba``_^^]^`dhloqstuvvutrjdegilRKR½Æ̆[afijlnppqsssrqoligdbcceeefghjlmopnv|N”A132h¦–PAB;555:GJGNFYkyQ54-MŸQ`mlmnnmnmmmkjheccgjkllida`__``^]]_diloqstuuttroideh_TNYŸ¾ÇÅvYadgiknoprssrqpoliecbcdfffghijlnok{lcŽ77:>tŒ’„A832324<@9KOŒ–]573;–nSlilmmkmmmmllkifbbdhkkkieba__`__]\]`eknpqssttstsoici[QKd¯¿Í½l]cfhjlnoprsssqpokieabbdeeghiiklni~\z8FIDˆ¡«œOL?2112210;A„¦•N:522Khhjlmlklklllllkhcacfjlmljea_^_```^\^bgknoprstuutsmmbQNLz»ÂЬb_dgjlmooqrssrqolkgbaaadefhiijknbyRmFOMGY|jNMK=9:;;759Bv †F?850f©O€rhhhjlkkklmmmmkigcdfjmnnmieb``bdda^\_djmnpstuuutsprdSMQ‘¾ÄÓ–ZbgiklmnpprsrponlidaaabdgghjkmnekO¡fLVQYy™_FIHGFGGFDBF„— sG>@>1Y±R™M>>Ddkkklmmmmmkjgdbdhknnnlhda`bccc_\\afkmoprrrttnqz`QM\¥ÁÊË}\ehjkmnooqrqpppmlgca``begfWKJb‰]J¦h[dZ„WQHHKQSUUMUNU^n‰‰[F98=1Ns:K[@?>2Zljkkklllkkljhdabekmmmljfb```aab_[^dilnopqstutqj[QMl²ÃÐÄq_eiklmnoppqqqppmkgca`abeZ8;9O‰XChRTzO>ECBFQ[c_[TKI?DCCacVPPB5576;=75425_kjjjkkjjkkllkifb`chloonmjfcbbbcc]\^afjlmoprupppjWWjŽÀÉÖ¶hbgjklmoopqqrqqomjeca`aeV07:8AE?2330/2>9::62/.0ZmkkkjiiiigfcŒ¸À©jegghhiijkjjiiihgec_^bilnopmjg|vvtyunnrpklgMKLKy¾¿ÐÌwaghhkklnnnppqqqonZ0/,/127;?CJRWelw‹¢­·Î×Ä»³£”|m`RHC?;74200`mkkkjjjjihge{Ðæá¡bggghhhiijjhhiiigeb_^cilpqonlzƒtnonkoprldQKOMQšÀÄÖ¯`cfhjijlmmnopppon`1,,1678:<@GPcs¢Ùßäçêîîìëìîé™tg^YSK?83//2emkkkjkjjihhgeszsrfegfghghjiihhiiiifda_^ciloopotzuwwprjqrrpng[OLJg»ÁÌÕ[dfhijkkmnnnnoone4+,.15:?EP^k„œžñäëìíìëìììï⃱š…ubNA93//4hmllkjkkjjihhgfeballfggfghiihhhihhhgfca_^agkmporywyxpslknoqrwlRLMPŸÇÈÙ¹eeijklllmmnnnnooh9+-./4:@HUe}—À–êãëíîïïððñõæ„­~lTB;61/.8jmlkkjjjjjjihiiigpghggghhhggggfffghecb_]agknopyrqonoolnnqqrlULMKoÃÈÑ؉`hijklllmmmmnooj;,./.15:?HTas‚ÞèäáÝØÔÏËž£JPF?=l’R@;/-;lmmlliikjjjihhhhhgbafgghggggfgggghhihfedb_]aglnpnpxuqnprsklommXLMNRžÉÈÖºb`egijklllmmmnnk;////;?ZŸr9/12L¨ù½gX]h—n_elv}„‡ŠŽ’–•¦‹±ÙŽ=3-,@lmllmgekjjijiihhhhgj¢¶¹–eggggghhijihhggffdb`]`gpnnpvxwvyqoqpnsfRLMMRšÊËÖÀlhjlmmmmlmmmmnl9830.5BÒ¡{z‡“œ˜šŸ£¦¨¦Ÿ”Š}qiWEMhfA1.--Ajmlkkfahgggfgffffeed›éñé–bfffffhhiggggggfecb_]amtxvswvrsoonjnweNMNMLh½ÊÎ×™djkllmllmmmmml7850-/5?YaJ9BFO;99:87454412239=@A6/.**)?hnpsxwvƒƒƒ‚…†ƒ‚€|uskf›½º¤fcdfffggggfffggffecb^]u{xrnpqsqlmozwyh_\NMOR“ËÉÔËufkllllllmmmlj676-,-025<>@BDEFB??9/3@Vjz’£©°³µ²²··¶¶¶¶¶¶µ´³²¤“m_^`cceeeefeeffffffffeeca_llnkfcfmnt~{wzrmqhTNPVe¹ÉÊÙ©gklllllllllh]278.+,.1359=?@BDEGKMd‹`NHC=87411<{–¦µµ³°«¨¥¡Ÿ›™——–•”””““–—šš ™hbcdeeeeffeeeeefeeeffedcarpnpnxsvlxwyxx€€n_UMMQP…ÊÅÒÖ‡fkkljklkkfZU06<2,+*-.....-.-,------+++*++,+6ˆº›˜˜‰†}yvussrrrrrqqqqrtr…ƒbcdffffggfeeeeeedeffedcbˆ‚…|{~{mmt~|}wh_TMMNMW«ÉÊÛ»hffiiigee]VV05;5+DA1.-++++******+++*)*+.12/a³”rqpljifedb_\[Z\[\\[]\]\\]^][{ncecdddfffeefeeeedeefedc‹€w{xvmoxrokrmfecXNMMagƒÀÅÏÙadfggeefaZV53861BAKŸ¢mW[\^achjlpv‚š«”‘ŒŠ…‚‚‚‚}nwxfeaceffgffffeedfeeeffed…‚}{‚|wtvfdlt~vmoi]NMMZa]ÂÃ×Âhaeffghig]Q85867*6731.-.-****++*++,..,,+)^·†ca€ŠŒ‰†„„„„ˆ~†štkoƒ€‚„ƒ‚‚‚~‚clqdcbgklhgghhfffffeeefed†‡††††‡‡‡…†‡††‡‡‡‡ˆ‡‡‡††‡‡‡‡…ƒ‚}yvtttwxxyzzy{{zvtxyz{zyyz{~€€††††…††††…††…††††‡‡‡‡‡†‡‡‡‡†…‚€|xvtsutvyxxywyzyywuwvxzywwy{~€€€††††…†††…††††…††††††††††††††…‚€€{vwwvvwyyxxwzzyxwwvuxyyxxyz|~€€†††…††††…†††††††††††…††…„…††…ƒ€~zyxwwz|{xxxzzz{ywvvxxxyzyy|€†„ƒ†††…††…†††††††††…………ƒƒ„„…„‚~{ywvxz{yzzz{{{{zuuxyxyzzyz~€‚„€ƒ…„„………††…††…†………„‚‚‚‚‚ƒƒ~€€~|yxvxz{yy{}|{zyxuvwz{zzyz}€€‚„ˆ‰‡ˆ‰‰ˆ………‡……†…†………‚€€€€|}}}{yyvwwxzz||{{zywwwvwvy{y{~€€€††…ˆŠ†„†…†††…ƒ……„ƒƒ‚€~~€~}{{{|zyxwxvuxz}}||{yxyxvusvxy|~~€€€€†ƒ‚‡ˆƒ€„……††„ƒƒƒ‚{|||||}~~|{{y|zzzxxzxxzz||}~|zwxxuttvvx|€€€‹ˆƒ‰‰…ƒ‡†‚„††‡†††}wwx{{z{{zyxy{yzywxyyy{{||}}|zywwvuuvvv{~€~ŽŒŒˆŒ„†ŠŠŠŠ‹Š…yww{{xyxxxxyzz{zwuwwvz{|}}||zywwxvuuvv{~‘““’““““’‹‚…‡‡††‡ˆˆ€zwxyvvvwvwz{|zywuuuwy{|}~}zxywvxxwwx{€~~‡‡‰‡‰‰ˆ…†‡ƒƒ„„‚‚ƒ„…xwuurtuvuwz|}zyxz{yzyz|}|}zyxvvwwwy{‡}|~~‚‚‚~~ƒ‚€€€~€wutsssustwyyzyxz|{zzyz}~}}~{xxxxx{}€€ˆ€€}{~~€€€€‚€~~~~€vsssrstttvxuyxxz{yyyy|~~{vwxxz~€~}}~{x€€}€~‚€€€€€€€vstrqstvusvxyyzzyxxxz|~{wrsvw{~~}~~}~{wq‚~€‚€~~~}|}~tsttssuwxuwxxyzzxwwxz}}zzxvpoponqqpqrvz{wpmk€€€‚€~}|}~~ttttutvyyxxzz{{{zzyyxsminmqrqnkgfgfdefifdfikƒƒƒ„…‚ƒ„„„‚ƒƒƒƒ~~}}~€‚ƒƒ}wttwxzzzxwuwvsppoljlnll‡‡†‡ˆ‡ˆ‡‡‡ˆˆˆ‰ˆ‡‡ˆ‡‡ˆˆˆˆ‡„ƒ‚ƒ‚‚ƒ„ƒƒƒƒƒ„……††„ƒ€€€‚‚ƒƒ„ƒ„ƒƒƒ{u‰‰ˆ‡ˆ‰‰ŠŠ‰‰‰‰‰Š‰‰ˆˆˆ‡‡ˆ‰‰‰‡†„ƒƒ„…„ƒƒƒ‚‚„…†‡‡…„‚€€‚‚‚ƒ„„…†‡‡†‰‰Š‰‡†‰ŠŠŠ‰Š‰ŠŠŠ‰‰‰ˆ‡‡‡‡ˆ‰Š‰ˆ‡†ƒƒƒƒƒƒ‚‚€€‚„‡‰ˆ‡…‚€€€€‚ƒ…„…†‰‰ŠŠ‰ˆ‡ˆ‰ŠŠŠ‰Š‰‰Š‰‰‰‰‰ˆ‡‡‡ˆ‰‰ˆ‡‡†ƒƒƒƒ‚ƒ‚‚‚€€€‚ƒ…‡ˆ‡‡ƒ€€€€ƒ‰‰‰‰ŠŠ‡†‡ˆŠ‰ŠŠ‰‰‰‰ŠŠ‰‰ˆˆˆ†…‡ˆˆˆ‰‰†„ƒ‚‚‚€€€€€‚…ˆ‰ˆ†ƒ€~~ˆ‰ŠŠŠŠŠˆ††‡‰ŠŠ‹‰‰‰ŠŠŠ‰‰‰‰‰‰Š‹ŒŒŽŒ‰†‚€ƒ‚‚‚€€€„‡‡ˆ‡ƒ€~~„‰ŠŠŠ‰ŠŠˆ……‡‰Š‹Š‰‰‰‰ŠŠ‰‹‘’’‘’‘’†…ƒ‚‚ƒ„„‚‚‚€„‡ˆˆ‡„‚€€†‰ŠŠ‰ŠŠŠˆ…†ˆ‰ŠŠŠ‰ˆˆˆŠ‰Œ‰†…‡ˆ‡ˆˆ††‰ŒŠˆ‡„‚‚ƒƒ‚‚ƒ‚€€ƒ‡‰ˆ‡†‚€}…‰ŠŠŠŠŠŠˆ…†ˆ‰‰‰Š‰‰ˆ‰ˆˆƒ}{~‚„…‡Šˆˆ‰ˆˆ‹‰ˆ…ƒ‚‚‚‚‚€€…‡ˆ‰ˆ†ƒ||ˆ‰‰ŠŠŠ‹‹ˆ††‰‰‰ŠŠ‹Š‰ˆ††ƒƒ…†„„ˆŠ„‚Šˆ†ŠŠ‰ˆ‡„‚€‚‚€€€‚„†ˆ‰ˆ}}~„ˆ‰ŠŠ‹‹‹Š‡‡‡ˆ‰ŠŠ‹‹‰††Š‰…‰ŒŠ‰Š‰‚}ˆˆ„ˆŠŠ‰‰‰‡ƒ‚ƒƒ‚‚€€€€ƒ†ˆ|}~…ˆŠŠ‹‹ŠŠ‰ˆ‡‡ˆˆ‰‹‹ˆ…†Š…~†‹ŠŠŠ‰‚|†Š…‡ŠŠ‰‰‰‰ˆ…€ƒ„ƒ‚ƒƒ€€€€€‚„v~|‡‰ŠŠ‹ŠŠŠŠ‡†‡ˆ‰Š‹ˆ„‡Š†€†ŠŠŠŠ‰|‡‹‡„ˆˆ‰‰‰‰‰‡†ƒ‚ƒƒ‚‚‚‚€€€€oz€}}‚ˆ‰Š‹‹Š‹‹Š‡†ˆˆ‰ˆ†„„††…‡ˆ‡‡‡†}†‹ˆ…‡†…‡‰‰‰‰ˆ‡„€‚‚‚ƒ‚€€€fk{~z~„ˆ‰Š‹‹‹Š‹‰…†ˆ†…†ˆ‡…‡‡‡†‡††‡‡‡ˆŠˆ……‡‰‰ˆ‰‰‰‰…ƒ€€‚‚‚€jgp|}~†‰ŠŠ‹‹‹Œ‹ˆ†‡‡…‡ŒŒŒ‹‹‹‹ŒŒ“Š………‡‰‰‰‰‰‰‰†ƒ€€€€‚ƒƒ‚kjiv€~~‚ˆŠŠŠ‹‹ŒŒŠ‡†‡‡‹ŽŒŒ‹‹‹ŠŠ‹Š‹‹ŒŒŒ‡ˆˆˆˆ‰ˆ‰‰‰‰‰‡ƒ€€‚„……mmkr€}~…‰‰ŠŠŠ‹‹‹‰‡‡‡ŒŠ†ŠŠ‰‰‰ˆ‡‡ˆˆ‰Š‰Š‰ˆ‰ˆ‡ˆˆ‰‰‰‰ˆˆ†„ƒ…‡‡nkhlx€~}€‡ŠŠŠ‹‹‹‹‰ˆ‡…‰…}ƒ‡‡ˆˆ‡‡‡‡‡‡‡…~‡†ˆˆˆ…„‡ˆ‰‰‰ˆ‰ˆ‡†ƒ‚‚…ˆ‡ijfgjz}|ƒ‰ŠŠ‹‹‹‹‹‹ˆ„„…ƒ„‚ƒ……‡ƒ‚‚ƒ„…‰‰‰ˆ‡ˆ‰ˆ‰‰‰‰‰ˆ‰†‚ƒ…‡nmhfdr€~{~…Š‹‹‹‹‹ŒŒ‰…„„„ƒ‚‚€ƒƒ„„€ƒ„„…„„‰‰‰‰Š‰ˆˆ‰‰‰‰‰‰‰ˆ†ƒ‚‚ƒljfefj{‚~}€ˆ‹‹‹‹‹‹‹Š…„„…†…†„ƒ…‚ƒ†…‡‰‡††ƒ„ˆ‰‰‰‰‰…ƒ‡‰ˆ‰‰‰‰‰‰†ƒfgffghq~€}|ƒŠ‹‹‹ŠŠ‹‹†ƒ…†ˆ‡ˆ†‚€€‚ƒ‡ˆˆ†„‚…‰Š‰‰‰‰ˆ…†ˆˆ‰‰‰‰‰‰‰†ƒ€€hhgfeffu€}ˆŠ‹‹‹ŠŒŒ‡ƒ…………ƒ€€…„…ƒƒ‚†ŠŠ‰‰‰‰‰‰‡ˆ‰‰‰‰‰‰ˆ‰ˆ†ƒhhgdfhgs€~…Š‹‹‹‹‹Œ‡ƒ‚‚‚€‚ƒƒ‚€€‚ƒ„ƒ†ŠŠ‰‰ŠˆˆŠ‰‡…†‰‰‰‰‰ˆ‰ˆ‡„hhfdghhm}}€ˆŒ‹‹‹ŒŒˆ€ƒ‚‚……„‡ŠŠŠ‰ŠŠŠŠŠˆ‚ƒˆ‰Š‰‰‰‰‰‰‡ƒjiiiiggjt}ƒ‹‹‹‹‹Œ‰‚ƒ‚‚‚‚‚‚‚‚ƒƒƒ„‡‰Œ‰†ˆ‰‰‰‰‰‰‰‰‰ˆjjhhnkgiq}‚~‡‹‹‹‹ŽŒ‚‚ƒ‚‚‚‚‚‚ƒƒ„ƒƒ†–—˜˜˜——–——––—‰‰ŠŠ‰‰‰‰‰‰‰‰jnmnppmpt|~}}‚‰Š‹‹‹€‚„ƒ‚‚‚‚‚‚‚„…„Š‘Š‹Œ‹‰‡†ˆˆŒŠˆˆ‰‰‰‰‰Š‰‰ˆ{zzzzzzzzz{zzzzzzzzzzzyyzzzz{„„ƒ„…††ˆ‡‡†‡ˆ‡‡ˆ††††††……‡‡„ƒ‚‚‚‚yyyyyy{zzyzzyyyyzyyyyyyyyzyy{‚ƒƒƒ‚„„…‡†……†ˆ‡††…„…………††††„‚‚zyyyyyzzzyyyyyyyyyyyyzzzzzzzz~‚ƒ…„ƒ„„……„„††‡†…ƒ„„„ƒ…†‡‡†…ƒ‚‚€zzyyyyyzzzzyyyyyyyyyz{z{|{zzz}ƒ……„„……„„…†‡‡…„„ƒƒ„„†ˆˆˆ‡…‚‚‚‚€€y||zzzzzzzzyyyyyyyyy{|{}|||{}€‚ƒ„„„……………‡‡‡†……„ƒ„…‡‡‡†…„‚‚€€|‚~|}}|{zzzzzzzzzz{}}~€~}~ƒ‚‚ƒ„„„……‡††‡‡†………„„…†‡‡††„ƒ‚‚‚€€~~}|{zzzz|zyz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡‡†…†……„„……††‡†„ƒ‚‚‚‚~{{{{{}|{{zyz}zz}€€‚ƒ‚€€‚ƒ…†„…„………„ƒ„…†‡†…………„………†††……„ƒ‚‚z|{ssw€}|}||}€€ƒ†…„„ƒƒƒ‚ƒ…‡‡…†…„„…„ƒ„†††………„„„„……†††…„ƒ‚‚‚ƒv{~yx{‚~}€€€€~~€…ˆ‡†ƒƒ…„…‡‡‡††…„„…………†…………„ƒƒ„ƒ„††‡†…ƒ‚‚‚‚xy{zz{}{z€„{zvw{|€‡‡†„„……†‡‡†…††…………†…………‡…ƒƒ„ƒƒ……‡‰‡…‚‚‚‚yxxxxwxxx}~~}}}}~ƒ…†……†‡‡ˆˆˆ†…†………………†‡……„„…„ƒ…†‡‡†„ƒ‚‚ƒƒ…}~€~……€€€ƒ††††‡ˆˆˆˆˆ†…„……„„„†‡ˆ††„…„„„†‡‰ˆƒ‚‚‚‚‚„†††„‚ƒƒ‚ˆ‰…€€€ƒƒƒ€ƒ†‡ˆˆˆˆ‡‡ˆˆ†…„„„„…†ˆˆˆ‡…„„„„…‡ˆˆ‡ƒ‚‚‚„††‡„ƒƒƒ‚ˆ‰ƒ€ƒ„„…ƒ†‡ˆˆ‡ˆ‡‡‡‡………„…„††‡‰ˆ‡…„ƒ‚ƒ…†ˆ‡‡ƒ€‚„‚€ƒ……ƒ††ƒ‚„‡„‚€€ƒ‡‡ˆˆ‡ˆ‰‰‡‡†……„ƒ…‡‡†‡†…„„„„……‰ˆ…‚€‚ƒƒ‚„ƒ€ƒ„†„ƒ„„‚‚ƒ„ƒˆˆ†ƒ„„‡ˆˆ‰ˆˆ‡ˆ‡‡……†…„„…††‡†…ƒƒƒ„‚‚‚~|||~~€ƒ‚€‚ƒƒ‚‚‚ƒƒ‚€„††††„†‡…ˆˆˆˆˆ‡‡†…†…ƒƒ„ƒ„†ˆ‡††~}|{{{{{z{{|~~~€{~‚‚‚‚€€‚‚‚ƒ„„†„ƒƒƒ„„…„ƒ‚‚‚€ƒ…„„……€~€~~€€€€}~~~~}}~}}}|~€€~}}~~€€€€€€€€‚‚‹†ƒƒ‚‚‚€€{}~~~}}}}|||||~€~}||€€€€€€€€‚„‹„€€€€€{||~~}}}}}||||}~}€€}|}~~€€€€€€}~€„ƒ‚‚‚€€€}|{|}~€~~~}}}}|||}|}}~€€~~}}}€€€~}~‚‚‚ˆˆ‚}}|||}€€~}}}}}}|}||}~€€}}}}~~€‚‚‚‚~}~€‚…†‚‚‚‚~||||~€~}}}~}~~||||~~~~}||{z{{{}€‚‚‚‚‚‚~~~€‚‚‚‚„~}}||}}€€~}}~~~~}|||}zzz{z|~||{z|€‚‚‚‚‚‚‚‚€}}‚‚‚†„„€~~}|}}~€€~~~}}}~}}}|}|}~ƒ~}}}|~~€‚‚‚‚‚‚‚‚‚‚~}}‚„„ƒ}}}}}~€€~~}}}}~~~~|{yz{{{yx{|||}}~~‚‚‚‚‚‚‚‚‚‚‚€~~~€€†„‚€~}}|||~€~~}}~~~~~}|}|zy{|yx~€{{}~}}}€‚‚‚‚‚‚‚‚‚‚‚‚€}}‘ˆ‚€~}}}||}€~~~~~~~~}|€„{vxywz€‚|}~}}}}~~‚‚€€‚‚€~ƒ„ƒƒ€~~}}}}~€~}}~~|{€ˆ~y{yxz‚†€||~}}}}}}€€€€€‚‚‚‚€ƒ„ƒƒ‚€~}}}}~~€~}~~~zy~‚}yz{z{„Š~z{}€}}}}~~€€‚‚‚‚‚‚ƒ‚‚‚~~}}}}}~€€~~~~||}}z{|}~ƒ†~{|}€€~}}~~~~‚€‚‚‚‚y{ŽŒ‚‚~}}}}}}€€€~~~~~~€~€€~}{|€~}}}}}~‚‚‚‚ƒ}{~ˆˆƒƒ~~~}}}|}~€€~{|||}|}}~}}}}||{z}€~}~~}~€‚‚‚‚‚‚‚‚||€‚ƒƒ‚~}~}}}|}~€€~{{{||||}||}}}}||~}{€€~~}~~~~‚‚‚ƒƒ‚‚ƒ~~}}}}}}~€€{‰}|}}~~~~~}~Š~€€~~~~~~}€€‚‚€€€€ƒ|€ƒ‚‚ƒ‚€}}}|}}}~€€~„Ž…~~~‚€~€‡†€€~‚~~~~~~~‚‚€y{}‚~~}}}}|}€€‚‚‚€ƒ…„€€‚ƒ‚€~~~~€€~~~~~~}}~‚€~yxy„•‡‚~}}~~}}}~€€€ƒ„„‚‚ƒ„„‚‚ƒ„‚€~}~~~~~~~}}~~‚€~ywx}„Š„‚~}~}}}}}€€€ƒƒ‚€€€€€}|~~~€€€~~}}}~‚‚€zxxy‚‚ƒ}}}}|}}€~}}€€€€€€}~€||~~~~€€~}}}}~}‚‚~zxwwy€‚‚‚‚€}}}}|}}€€ƒ„ƒ„………‚€€€|}~~}~~€€~~}}~}}~‚‚~ywxzy~‚‚ƒ‚~}}}}||€ƒƒƒ…ŠŠŠ‹‹ˆ…ƒ€}}~~~~~~€€~}}~~~~~€‚~{y{{z~ƒ‚‚‚}}}}||€‚ƒƒƒ„…„„„…„„ƒ€€~}~}}}~~~€~~~~~~~}}€}{{}~~€‚‚‚}}}}||€ƒ€€~|zyyxxwwwwwwz~€~~~~~~~}~~ƒ~€„„‚‚‚„ƒ~~}|{}‚€€€€€€€€€€}xvuuutwvvvvvvv{~~}}~~}~~~~ˆˆ‡ˆ‡‡……†„‚šŽ~}|z}€€€€€€€€€€€zy{{{||€ƒ€}}}|~~~€~~~}~~~~ÔÔÔÓÓÓÓÔÔÔÔÔÔÓÒÍÇÊÇÏÑÒÒÒÓÓÓÒÒÒÒÒÒÑÑÑÐÑÐÑÑÑÑÑÑÐÐÑÑÑÑÑÑÒÐÏÉÀ·³¨¤–…€ulq|onlppvhlgZae__h`W^cabYRQW]]cibgVXZZXYVV^WSZab_ZWOG?:=<744A3ÑÒÒÒÒÓÓÓÓÓÓÓÒÒÐËÇÉÅÌÏÐÑÑÒÓÒÒÒÑÑÑÑÑÐÐÐÐÏÐÐÐÐÐÐÏÏÐÐÐÐÐÐÑÒÒɸ¢«ž|…}„xcbdtsabqnk^[]^b\ZYQcjb^URRS\[_jkkSYad\SRNUU\ce^YPQLBB86643197ÑÑÒÑÒÒÒÓÒÒÓÒÐÐÏÊÄÇÃËÎÎÎÎÐÐÐÐÐÐÐÐÐÐÐÐÐÐÏÏÏÏÏÏÏÎÏÐÐÐÐÑÐÑÑÑÎçŒtrrsqqqsx€}dedgi__^^_`UVYai]]\XWUXVZ`kgSU]^WOQQTUagcd]RIDA=952342/3ÑÑÑÑÑÒÒÑÑÑÑÐÏÏÎËÃÇÃÌÎÍÍÎÏÎÎÏÏÏÎÎÎÎÎÎÎÎÎÎÎÎÎÐÏÎÏÐÏÐÐÐÑÑÑÑÎκ”}pwy~zƒ„kjfbj]chh^^ZYc]W[jjWTVZ[VRNYR]kURW\]SOUSS]ebcXWWQI@=96442/.ÐÐÐÑÑÑÑÐÐÑÑÐÏÏÐËÃÄÃÍÑÐÐÐÑÐÐÐÐÐÐÏÏÎÎÎÍÍÍÌÌÌÍÍÍÍÌÌËËÍÍÏÏÏÏÎÏÀ˜’ƒˆ‚ygqqgkbcd[mf][WWP`ecdtq^SQW_XOKVTU]V\]]XPRTY]bZZ\RR\PJ?AD=631.,ÐÐÐÑÑÑÐÐÐÑÑÐÐÐÑʾ¿¾ÌÑÒÒÒÒÑÑÑÑÑÑÑÐÐÑÑÐÐÐÐÎÎÎÎÎÏÎÎÍÉÌÍÎÏÏÎËÉƦ~~tjbpurfbec[^cXT_UVT]jikkhlZTY[USUVUUZT]`dXVWT]^`[[WVQSQK@A?8761/1ÑÑÐÑÑÑÑÑÑÑÑÑÑÐÑÉ¿ÇÀËÑÒÑÒÒÑÑÐÐÐÐÐÑÑÑÑÑÑÐÏÏÍÎÐÐÐÏÎÌÈÌÎÎÐÐÏÊÆŶž~uiYWjd^bedbfbZWUMQX\behmb`WSRRPLVTVSbNWW\^[^]a^_ZUTWQSLHE@B=531/6ÑÑÑÑÑÑÒÑÑÑÑÑÐÐÑÊÄÎÅÉÑÑÑÐÑÑÑÏÏÐÐÑÑÑÑÑÒÑÐÎÏÌÍÍÎÍÉÇÇÄËÊÌÏÏÍÇÁÀ°…€wYWTVTY\pujgf^[PECQ[T_fe`YWUMNLJNJSO]RUWWZZ^^]^c[UQVPZQDIB@?40/..ÑÑÐÐÐÑÑÐÐÐÐÐÐÏÐÉÄÎÆÇÐÐÐÐÐÐÐÐÐÑÑÒÑÑÑÑÒÑÐÎÎËËÉÌÆýÅÁÆÄÈÍÍÉÀ³©«Ž„zybZY[[lkbtjlbXXTTXWhXR__WRZ[TNKHQRT]\UR\^XW\\YQW[VSZS[Y@76320//--ÑÑÖÚ×ÓÏÏÏÎÍÎÍÍÏÆÂÌÅÆÐÐÐÐÐÐÑÑÐÑÒÑÑÑÒÒÑÑÑÎÇÅÅÄÇ¿¾´Ã½ÃºÃÉÄÁ·§ŠƒwŒiaa\_ipZraY`UQWWc`ZRSU[TSUXZNMNWUU_m`QY[XZXW]TS\[[a_NE=8541//...ÓÞëïìæÕÍÍÉÆÇÇÉÌÅÂÊÅÄÍÎÎÏÏÏÏÐÐÐÐÐÑÐÐÐÐÐÐÏÇÄ¿¹À¼¶©À¹Â·»Ä¹À·ž‰}slggggW]f`Yi_V]`RUUZ_XXVPRQNOOV\XRURTTh]O\]ZUOQ[Y[VZTPLB9>=;83/..-.ÞíáÎÚíëÐÆ¿¹¸»¾ÆÆÆÍÈÇÍÎÏÎÏÎÎÍÎÏÎÎÎÏÏÎÍËÊÉŹ°¬±¶¬¦²²½³¸¼±³©‰{|xpmTdh_[f[T^kb[a\NRTWadeWRPOOPTNXYMQWQV``^e`WROS\X[YSRZKED><;:730/--ìÞœ‡šÎèпº·¶»¼ÁÇÉÍËÇÍÏÏÏÐÏÌÊÌÏÎÎÎÍÍÊÈÆÂÀµ¥¡ §©ŸŸ©°²®±¬©Šxpolpr`[\XddYYba^bYTYVVWYc[TURPUXUVVZSRYSU\b[b\__Y`aUV\YWTAAI<878763100ë»›—‘‘’Œ‹Š‰‹”œ·ÎÊÅÌÐÐÏÐÎÊÆÌÎÏÎÌÉÇ¿¹ºº½¯¢š”¡ ›šª¶°­¥¡•{mhhYleVNJQZc\UTbkbcqabgaV[PSRQRTXTWSW[T]QQaa`l_gamkdUROOLMB>B9877665/14Ø‚u~†‡{Yb[Xt„„z„ÂÉÃËÏÏÏÏÌžÉÍÌËÉ°¦¢¡©«¢Ÿ›—••¦´±Ÿ•••‡wfgl^aXRTSS[cb_lrcTYfQZur]TQMOOMIKOPQPOS[W\aWU\\dk``[RKOJHGDIB9766555136ºx¬¼¾Âº€WX„½ÒÚÑ»„ Ë¾ÆÌÌÍÍÊÁ¶ÆÍËĺ­ž ¢™š‘”‡˜—’Ž•˜Ÿ’Ž†yxse\W\_[Q\`ZV^k`URbjieb`VTOLKIKIIGHPNUa^[_YR_mjkX`WQXTLLBAB:96533444:>“q‰ld„±šj\‘ÑßèáÃ~€½²¶¼·½ÃÈÁºÆËÈ¿²¬¦£¥˜—’ˆ„‡ƒ†ƒ‘ˆ‡„‡…ƒ|zseZXWXb\X\WU[kUSRbkhUU^[UOMMLMKHKLJTW`eT\TSpvgjbeaWa\XXJ=;<98543484KKFmz£¦ª­¼³¡•“’ˆ‚ˆŽš©´¢”“Œ‹†ƒ……}„Œˆƒ‚~€}|unlh]Y\U\a[W^]a]Y]]^a]WRLZWPNRMDGIHCAHJKSLUV\`d\dr`aS^c^KGDA>=95667:>@>ebp…±sL5>`^T`D;cr¦ˆ›¼‰IHFFKXJIIHJJO‘œŽŒˆ„†„}‚‰‚€‚z{{wvroj\`fdf\TV[Z`ae\W^V[a_YSMPNPLDFHCAGHECSJX[^Zcdc`VhfYY[VOJGH;75769v«‘‹Ž‡…†ˆ‚~ƒ{wtxxrkfZahd]TXRS`hggYQVUl`f[PTSQKJFJUMELNOHSS_b]O]gihXehZRZaSGBA=;8889=BNCMTSRSTTTVVXkqsnd[VY‘‡‹¨YZB>9DVZ[E::@;U©¡œ‘‚ƒ‰†‚„~€}xxz|wg[U]]^Z]ZQ^^`cjjlquoT__WOTTIGGQYSSQRSKNY\`\PQa^caaljZbUA;:>==:;:;>>>?RJLMMJJKKIJLKMNQVPmt™½ÕÐÍÎÐÑÓÓÔÔÔÒÐÎÏÍ×¹ˆ€ƒ„‰‰ƒ}ƒ~zwz}~ysnj`VOO\Z_VV[__\K[caa^\cZNPWRPJMQQSXY[Y`sg_^_\[^\UZOPNB985k†9899:=DHEGº‹£TYZ[^uc][[X‰Ã¦ã»eÅÙÝßßàâãäååååàßßßÞÌ…„‚„†ƒ‚||usz|€wldfWUWHDQYYY\^QMKX\a`Y_haVPNLNPPPLILQZ\^cd]a[YV[QLOLC=9997Z…?99:=>AJKHóìõÖ]U^an²…a\VSÃ÷ìôÄ]ÇßãêêéìîïìêîïìêëêâÛ¡}„€………‡~zzplrx~tldbSTWJMTX\_WRVTWX^Z[[]d_UMFFDFJKGHILVZ`_WQZVXUWOKIE=86896a„D:9<=>EHIJìàèØcLPTxØ›VTPSµìÔê [ÏàæêèíÞÈÂÖÚºº×ìæâÞÖ¿}€€……ƒ…„}zytypszvmkbTZ[Y[\c_ZJHV\cZ^][YZ_ZRKDGB?@?>>BNRYe]W\^V[]SMI>;:98894’äS27=;=EKLM~w“Œ”œ¥¸éȧ¦’llL\×âçêäê׳ªÊؼ·ÍêâæâÝÊ~~€ƒ€|yzympxolkcSbn_XV\^\VSZ\^fb\Y`^YPIGBBA?=79AGJM^kZW`\^`YHEC;79987;6‘æU0:>?EJIGSKRsÈëëëííêíîíëëà•VKBWÙêçéèçíåÞæçàÞæèéèæëÆ{}~„ƒ~{|yqmsllff`mse]PS^]XUW][c\Z_i\RLDBBBFB@?EKD@Napl_OSlTIB<<;8<<;:?8‚à^4?=@FLKDYMQnÂîðïððïððððëÛŒTMFSÌïìììíììêéììëëëììíïº~|}~{~ƒ…‚z€~tjknnjd`a[`^PPYXQRXa^]\_a_WXOIABIJD>DUULXaapoUY[NC;767=ACC@B<Šíl9A:@PXPjpm|Žl`bUKD?;=BHNJC=A:öu<=5?JJYcpBFe~OH`ddddbdmOmMDLX±íäÒÌåçÎÉÆÇÇÊãéÐÔâè¤z‚€|€|wƒ€|vtqmjkhfqcY[a\[_VSVTXT_b_h`XZVQLIIDHLFGIRRWmooy{hfpkYSPOT[XWVHIQ<øy:6;Y]aomnJKNpwnƒ‹–‹ˆŠ–…x\KLJEŸâÆ•|Êæ–z{zu‹áÔv“ÁÚ”y€~€z~{zwvmcad]_neXRY\d][UPQ[X`jbe\RRYUOGA?KYbX_hlrg_\_dgkopprg_o~}tofklX–ö‰\Y_yxuwokDCDXnru{‚“„{yysdJCC<9ƒëèãßçïÞÆÆÅÄÚòåÛäì߀‚‚z€x|{|rf\eigeedY[]\WVURPV_\Y^]WPU\ZVX^^u†{eo|t^W[abdfljrƒˆ„†ˆ~„ˆ‹‹Žœ¼–“Œ†~wxuk6AAHKHGHJMLKJJLWN6159W¦½³¯³±±¹ÇÈ·©¡¤¤«»›cƒƒ{{zv{~€szphebkfbgc[^YYX[^^XW_]XTTZda]bl~ˆ‹ŠgfwpZT\___aknoyƒ‚€yyŽ‘‘–”’‰Ž†‚rwsnsmI{z{yxyxxwxyz{~ƒF(29Yj‚†ƒ„‡Œ‡…tllpn_WQe}}xxyx|yzuvrpqmqorwsqsos~Œ”’Œ‘’’Œ˜µž†„ˆ~‚‚peqreW_ca`_ckjnvjhehj}ƒ†‚„‰‹‡ˆˆ~whmronkE``bcegjjiilmmoopH37Az…‚‚‚ƒŒœ—‰“†}~~~}{ywtuuvwwvutrqqppprvxz|}~}zyyz|}€ƒ‡‘›®¼¹­švpppoqqmif`__^]ca[Z`abgmoklhehuuntpkblyqvy``a`abejkllmliiikmnos€€~}}{y€ ¡vvxz{{zzzxvutuuvvusrpmkklnnpswyyxwvvwutvvtrv~‰—¤°´±ª ‘wmjigeb_[X][YY[\[]\\^^\Z[\ZYYXZS^_ix}yvronnnrtuvvvutsqsvx{~€€~}{xwv~†~Š¥›{qruvyzywwvsqqqqqrqoljjihhhjmprtuwyyxvspqrsssuz‚¢¶Â½¤Œvmjlkhda``[WVXYVWY[cgYY[^Z[ZXUVZW]}{upllklmorrssssrqqqswz|}}}}}|zyyxtt—™Š‡xrsuvvwxwvtqnllllmmmkigfffghjnruxyzxvsqnpqrttsps‚›³ÁÀ¯œ†ulkligfd]Y]YXXW\\WWY_WYY]ZZYWV}|zwrmkkkloqrrsruuuuutuwxyz{|}|y{{ywurp‚£¤pqqstvwwyyxxtpmkkmpqolkjhhgfgilmptwxyzxwuqportusqrxˆœµÈ©Œvlmmnmigeb`]YXWWVWWXX^ZZZZZ{{zxxupljiknoppprtttttrsstwxyzzz{{zxvsssrqx©º›onprrtvvvwwtplkknoopokigfecbbcgosuwxyzyvsnkloqrromo¢Åϵ‹vomnnmlkieb_ZXWUUXXZ\WYZYyyyzzwuplhgjlnnnppqrrrqqopqtuvwyyz{zxuuutssˆ˜ƒnlmpssttsuvsqqmjkkorpnlhfefdcaejnqtvyzyyyvplmoqrsspn|—¶ÈÁ¨Švnmnnmkkhd`]WUVUZ^VWVVvxyzzwwvrmhfgjklmnooopppooooqsuvwyzzywwvtttono€°¹noopprsststspnkjnooqpkheeebabdhmpsuvvxzywtplloqrqpnp½ÍÃ¥†upnnoljiheca^ZWYVTVtuwwxwvutplfdefgkkllmoooooomnpqrtvvwxxwvuuurrpx¢‰nkjmooprsrrssroljijorrnjgebcebacfkoqsuvxxyxtojiknpqpmioˆ³ÑÏ´vspnmkjjjhhhdaZYZpqsuvvwxvsqkfdbdghhiklmmnoomllmoqrtvwwxxvvvtsqpmmotˆ}mnppqoossrsrojhjmqqrpmhfgfeb`bhlnqsuvxyxwtlfgknoonlhk‡³ÐÒµuopomljjjjihea`mortvwxxxvtplheeffghjkllmnonnmllopsuuvwwwwvutrqqqpzºÎ¬wrooolnrrrsssqnkhilqsrpmjgiifbbeimprtuwwxywsmihknonnmjmƒ©ËÒº”yqqpomkjiijgfkmpsuwxxxxwurnjfffgfhjkmmnooopnkmnprsuvvvwwvutsrqqqvys‰ƒillijnooopqqnkhfimpqsromkijigedfimnprtwxxvwuoihkmnppoji~§ÈÒ½ ƒspponljihhekmoruvvxxxvsqnjgfffghkmnnnoopnmllmoqrtuvwwvwutrpooosw~“¥‘–—”••”Šƒ~tljjjkoqomiggffecbdhkortvwwxxwtojhjnpqqplkw’¶Ïͳ–yqpoommlagjlorstuvvutspmifddeefillmmnnnoolklnoqstuuuvvtuŠ˜¢­³¶¼Áº³¬ª°¯­¯®®±³³´®¦‘lggghlmljhdbcca_`afilorstuvvurnihjmoppqnjo„¤ÁÏÄ­”tsqo‚^eilprrstuuvtrqmieccddfijlmmnnoonljiknorstuvuw¢®ª¬©¡˜‡zsmkiihggknsy€††‘„jifdeikljhebaa`_^_`behknqrrssrqmjggknnnnmjho¥Í×ʦ{noÅy^fjmopruyxvvutqmhdcccdhjklmllkklmkhgjmoprtusˆ°ƒyrg`ZUSV]ak“µªi`[XWURQMS}skjfdcfiiigeba````_]]`dfilmoppppokebfhjlmmmkgf}«ÑÚÈšsÏÁq`hjlnprttvvuuspmhdbbcfhjkkkkllmmlkhgjlmpqsrŠ‰NKLNPSW\SUTWk|pVHGdpnjfcM=Stoolhcbehjjigecbbec`^^_bfiknprsrsroiddgjlmnoolhj„¬ÎؽÁѱa^eiknopqwwtuuspmhcabdfiijklnllnmmmjhhjmoqr‹]@W`mzƒ‰S4852/1:=>\gijkmhN<`qpomjgdcgjlkjheeeefdc``cglnpsttuutsqkggjlmoonmlhk}¤Í´ÅÏ\agiknpqrtttuurolhdddehijjklkkmnnopmljknoy‹DEt“¤¦ª°Šk[C55;GJHD<>B<7:QLHnnnpomjfdfjmnljigdeeeda`adhknprtutuutpkggikmmlmmlhi|ˆ»ÈÑŒ]cgjlnqqsuuvusqomieddfhiijjkklnprqppmlllƒu@Uv¶·¸ºº¹´®¥œuz‚sHE934>?64BpAcnnponmlhddimonlkheeefec``behknqrtuuvuspjfehjlmnnmlhVœ½ÊÉw\dhjmoqrtuvutrqolgeccefghiijklmopponmllŽYWUM­´®§œ“‹{±Êy¨œPB2CXUE446vVQonnoommmifefilmmjifbaccba`abeimoqstuutttqkedhlmmnnm\€µÀѵc_gjlmoqruuttsrqokgeccdefghhijklnpponmqŽDwJ2KNF@:?GE[koop`I95Xzi\75/`yCkmmnomnonkhecfjllmjgdbabaa`__bgjlnprutuvvvqjffhlmnn^a‡¼ÄÑŸ^dhklmoqsstttrqpojfdcddefggghjkmnopon|€I†;236898AKJGFGIFGI;@Wrb>5o˜I`mmnnnmoonkjhfdfjmlljgca_`__^^_`dhlorstuuvvurjcfgjlQLU•½ÄÎŒ\bgiklnpqrsssrqoligdccdfefghijlmnppl„j]235;X`I?KIECBBDIIBLO}{Y?3b—§gRnlmnnlnmmmkkifcdhklmliea`__``^]]_dilorttuuttroidfh]TN]£½ÆÇvYbehilnpqrssrqpolifdcdefggghjjlmool‡Vys122A’§s>E@7556@IIHLJ`vpC420uHkklmlkmmmmllligccehllljeca`_`__]\]`ekoqrssttsusojei[QLi±Àνk]cghjmnpqrsttrqnlifbbcdefghikklmnk‡N^2:7TƒŽ”`9522227@@>N\„“‹H551V£Obkkkkkklklllmmkhdbcfjlmmkfb___```^\^bhlopqsstuvtsnnbQNL€½ÂЬaaegjlnopqsttsrpmkhcbbadeghijkjlnkOœM=KA`ž¥³vIH72222313>S¢‚@931AŸi[rjkllkkkklmnnnligcdfjmonmjfcaabeda^\_djmoqstvvutsprdSMS—¾ÃÓ—\cgjklmopqrsrqpnljebaabeghhhijljep]˜GMNMIq‚{`KNE88998558K‹ nA<744ŒŠh•hkjhlkjlmmmmnmkjhebdhlnnnlidb`bddc_\\`gknoqsrrttnqz`QLa©ÀËÍ^fiklmnoqqrqqppmlhdbaaceghhjlmkc]q•KPWJmy¡‚KIJHFFGFDB?Y’˜™^E>A92€¢EjhF?>Kjkllllllllljidbbekmmnmjfb`a`aab_[_eilnppqrsutqj\QOrµÄÑÉzagjlmnnppqqrrqpnkhdb``bdfbTPT‚sMz™Nr…I‚w\OHHKPPROLTMWb{”„RD8=:1nk5ZW:A:5fkkkkkjjklmlkjfb`chlopnmjgdbbbcc]\]afjlmoprupppjXXm’ÁÊØÁobhjllnoopqrrrqpmjfca`acdF7;7‚uIZpLru>FEACKUafa\RKJ@IEQl_ROJ:4475;=7652Acijjjjjjjklmmlkfcabhmoppoligeecccc`^_behknppqspl]SVYÆËÖ¬ccfhjlmoopqqrsqnljfc``bc;4;9@GC62421/8?C?8:96557845965=C?AF;9:=EO600W¢Å‘dhijiiijkllllkhfb`bfinppnnkgedddeda^]^bgknrxvsrjUNLa¯ÇÎÕ]cfiklnnnopqrqpnlheb``bN5//.2NU<<97766776667666667776777779::=BO4?X…·²žgeghhihijkjkkjjhedbabhnopqokheeedc__^\]_dhtwvwy{kVPLyÁÉÓÆn`fhklmmmoppqqpomjgd__`a_Z]`3J\<<;:9888777777776677877787899:N54334433342:Œ´¬¥^BXkijjhk»ßá¨iefghhhiijjjkkjhgdb_bhlnnlkhc^_^^^^^mvokrtwuj^QMM~½ÃÑËr^fhjjllmmnoopnmlkifa`ckgg`”²¶ÁV112233223465454444333227nª¡–¡v2Hkijihf‰ÌÏÄzbeghhhiijjjjjkjigdb`bfikmlkhb^^^``_x}spvusqst\NMUÃÅׯbehijkllmnoopmmnlkhda_gR8e¨š¦´•X3./1111348977632122444o®¥®Åši/:fjijhifllhgddfghhhiiijiiiiiifdb``chlklkga_^^^^vtpmrrmjkmiPLKh¶ÁËÖŒahijlllmnonnpoonmkhdY]S,P›©ÊŸÅ¸XGHABCA<99c²P:DPURRSˆØìڶ΢Q.3cljjiiihhigfeefgghiiiiihhhhjhedb__dikmmkgd`\]]sqphmqrvtqmULMN‰ÁÄÕÈpcijklmnnonnpppqomjf[QC->‰ÄÊ·ð[]bh’–I€×iKxzug`m¬ºñíìÔàw9-4bljjiiiiihfedeffgiiiiiiihhikjhgea^^cjlmmmke`^^pghnkouwtvvbMM`o¤ÂÈØ®fhiilmnmopppppqpnlibP7:1,6dljjjighhhfdbdddfiijiiiijjjjjjifca__cilnnnlhdblpnmrroqtwuoVKPQd°ÂÌÖ’afjkkmmnpppppqqpnkeO4C>3g«–£¾Û¯º†emn`VaÕöÎdkuz€wš¬{vp?321,+7fmkkjjiiihfc“ÁÇ°lehhiiiijkkjjjjigec_^bilnopmjh}wvuyvoorpkmhOKLL~¾¿ÐËvaghhkklnnoppqqrolhI2402247>bSTwXlv{ly´æ½„rmkaZ_U:<>:840,.7glkkkjjjjige}Óçæ¨bghhhijijjjiiiiiheb^]bhmpqonm|ƒtoonkopsmeQKOMSŸÀÄÖ°acfhjijlmmnopppomjA/.-/038<>@FNY^cs‡œ¥·ÕÊ´«™‹{oeZPHB>:632.9ilkkkjkjjiigft~zweehhhjjijiiiiiiiigda^^biloopov{uwwprkrsspng[OMKj¼ÁÌÕ\dfhijklmnooooomlE+,/4579810-AnllkkjjjjjhhiihhoŽ€hhhhghhhhhggfffghfdb_]agknopzsrpoopmnnqrrlULMLoÃÈÑÙŒahiklllmmnnmooonR,--.27>DO\q‡¸£ÅêàìëììììììôÁ²Ž}jQB<50/-Epmllljjjjjihhhhhgb`ggghggggggggghhihfedb`^ahlnpoqyvrnqstkmommXLMNRžÉÈÖ¾d_egjjkmmmmmnoooV,,0-/4:=EUcu•—Á÷òòñññðîêçè¥]gTIGie==4/-Iommlliijjiiihhhhhecbfedhhgggghhijkjhggeeb^]bgknorvpppsvvokoojUNMNLmÀÈÐØŒbiillmmmlmmnonoX-/0.3;gvdAFRTWQVUWXWSLIFA748;;GE50.,-.Nlkjkkf`hgggfgffeeeeeba^addefeeeffggfffefgfeda^mlokecgmnu|xzsnqiTOQVfºÉËÚªhkllllllmmllmU+>..,/13/,+-0369?AACDFHKMQYQMHC?<632/4C]v‰›ª¯´¶¶¶³°³´³²²²±±°±³´«¤‚acdgfffghgeeefeeddfgfecaˆ‚…|{~|mmu|}€yi`UNNOMZ¯ÊËÜ»ifgkikllkj`XF*>4-,+-/001212534777@=30/-,+,--*H˜¤¯µ°¬¦¡ž›˜–’‘ŽŽŒ‹‹ˆŠ‹ŒŽžtbccddefgfffgfeeeddfgfec‹€w{xvmpxrpkrmfecYNMMagˆÃÅÏÙafghhhhhbWWG)>8/.:.,,+***)++**)*))*****+,..?œ³Ž’Š†|ywuqoomnmlllkiiiijljsˆibacefghgfggfedffefgffe…‚}{‚|wtwgdlt~vmoi]NMM]ba¤ÃÃ×Âicfgfdcc`ZXH*<631TRB93//.+**+*++++++.47=?@As®Šjmkhfecbaa_^^^_^^^]]]]^^]]]Yqwccbglmihhiigffggefffff†‡††††‡‡‡…†‡††‡‡‡‡ˆˆˆ‡ˆ‡‡‡‡‡…ƒ‚}yvtttwxxyzyx{{zvtxyz{zyyz{~€€†††……††††…††…††††‡‡‡‡‡†‡‡‡‡……‚€|xvtsutvyxxywyzyywuwvxzywwy{~€€€††††…†††…††††…††††††††††††††…‚€€{vwwvvwyyxxwzzyxwwvuxyyxxyz|~€€††††††††…†††††††††††…††…„…††…ƒ€~zyxwwy|{xwwzzz{ywvvxxxyzyy|€€†„ƒ†††…††…†††††††††…………ƒƒ„„…„‚~{ywvx{{yyyz{{{{zuvxyxyzzyz~€‚ƒ€€ƒ…„„………††…††…†………„‚‚‚‚‚ƒƒ€~€~|xxvxz{yy{}|{zyxuvvy{zzyz}€€‚ƒ‡‰‡ˆ‰‰ˆ†……‡……†……………‚€€€€€|}}}{zywwwxzz||{{zywwwvwvy{y{~€€€†‡†ˆ‹ˆ„†……††…ƒ………ƒƒ‚€~~€~}{{{|zyxvxvuxz}}||{yxyxwusvxy|~~€€€€†„‚…ˆ…€‚…†††„ƒƒƒ‚}|||||}~~|{{y|zzzxxzxxzz||}~|zwxxuttvvx|€€€ŠŠƒˆ‰†ƒ†‡ƒƒ†††‡†…xwx{{z|{zyxy{yzywxyyy{{||}}|zywwvuuvvv{~€~‹‡Š†€„ŠŠ‰ŠŠŠ‡|ww{{xzyxxxyzz{zwuvvvz{|}}||zywwxvutvv{~““’“““’“ƒ„‡‡†††‡‡{wxyvvvwvwz{|zywuuuwy{|}~}zxyvvxxwwx{~~ˆ†‰ˆ‰Š‰†…‡„‚ƒƒƒ‚‚ƒ„yvvurtuvuwz|}zyxz{zzyz|}|}zywuvwwwy{ˆ}|~‚‚‚‚‚~~‚‚€€€~€yutsssustwyyzyxz|{zzyz}~}}~{xxxxxz}€€‰€~}{~~€€€‚~~€ysssrstttvxuxxxz{yyyz|~~{vwxxz~€~|}}{x€€~~€~~€‚€€€€€€ystrqstvusvxyyzzyxxxz|~{wrsvw{~}|~~}~{vq‚~}}||}‚~~~}}xstsssuwxuwxxyzzxwwxz|}zzxvpoponqqopruz{wolk‚€~}||}‚~}}|~~wtttutvxyxxzz{{zzyyyxsminmqrqnkgfgedeehfcfhj‚ƒƒ…††ƒ‚ƒƒ„ƒƒ‚‚€~~}}~~‚ƒ‚}wttwxzzzxwvwvsppnljlnkk‡‡†‡ˆˆˆ‰‡‡‡ˆˆ‰ˆ‡‡‡†‡ˆˆˆˆ†„ƒ‚ƒ‚‚ƒ„ƒ‚ƒƒƒ„……†…„ƒ€€€‚ƒƒƒ„ƒƒƒƒƒ{u‰‰ˆ†ˆ‰‰ŠŠ‰‰‰‰‰Š‰‰ˆˆ‡†‡ˆ‰‰‰‡……ƒƒƒ„„ƒƒƒ‚‚„…†‡†…„‚€€‚‚‚ƒƒ„…†‡‡†‰‰Š‰‡†‰ŠŠŠŠŠ‰Š‰Š‰‰‰ˆ‡†‡‡ˆ‰Š‰ˆ‡†„ƒƒƒƒƒƒ‚€€‚ƒ‡‰ˆ‡…‚€€€€‚ƒ„„…†‰‰ŠŠ‰ˆ‡ˆ‰ŠŠŠ‰Š‰‰Š‰‰‰‰‰ˆ‡‡‡ˆ‰‰ˆˆ‡†ƒƒƒƒ‚ƒ‚‚‚€€‚ƒ…‡ˆ‡†„€€€€ƒ‰‰‰‰ŠŠ‡††ˆŠ‰ŠŠ‰‰‰‰ŠŠ‰‰ˆˆˆ†…‡‰‰ˆŠ‰‡„ƒ‚‚€€€€€‚…ˆ‰ˆ†ƒ€~ˆ‰Š‰ŠŠŠˆ…†‡‰ŠŠ‹‰‰‰ŠŠŠ‰‰‰ˆˆ†‡‰‰‰‹‹Š‰†„‚€‚ƒ‚€€€€„†‡ˆ‡ƒ€~~„‰ŠŠŠ‰ŠŠˆ……‡‰Š‹Š‰‰‰ŠŠŠ‰‰ŒŽ‘Ž‘’‘‘Ž†„ƒ‚„„ƒ‚‚‚€„‡ˆˆ‡„‚€€†‰ŠŠ‰ŠŠŠˆ…†ˆŠŠŠŠ‰ˆ‰‰Š‰‹‹……ŠŠŠŒ‹ˆ‡„‚ƒƒ‚‚ƒ‚€€€€„‡‰ˆ‡…‚€}…‰‰ŠŠŠŠŠˆ…†ˆ‰‰‰Š‰‰‰‰‰Š‰‚~ƒ††‡‰‡‡†‰ŠŠŠˆ…ƒ‚‚‚‚‚€…‡ˆ‡ˆ†ƒ||ˆ‰‰ŠŠŠ‹‹ˆ††‰‰‰ŠŠ‹Šˆ‡‡…~}‚ƒ‚…Š‰†‰Š‡‰Š‰ˆ†ƒ‚€‚‚‚€€€‚„†ˆ‰ˆ}}~„‰‰ŠŠ‹‹‹Š‡‡‡‡ˆŠŠ‹‹‰‡†‰ˆ†‡Šˆ†ˆŠ…~†Š…‡Š‰‰‰‰‡ƒ€ƒƒ‚‚‚€€€€ƒ†ˆ|}~…ˆŠŠ‹‹ŠŠ‰ˆ†‡‡ˆ‰‹ŒŠ†…‰‰†‹‹ŠŠŠ…|ƒˆ††ŠŠ‰‰‰‰ˆ…ƒ„ƒ‚ƒƒ€€€€€‚„v~|‡ŠŠŠ‹ŠŠŠŠˆ†‡ˆ‰Š‹‰…†Šˆ~‚ŠŠŠŠŠ„{‚‹ˆ…‰‰‰‰‰‰‰ˆ†ƒ‚ƒ‚‚‚‚‚€€€€oz}|‚ˆŠŠ‹‹Š‹‹Š‡…ˆˆŠŠˆ…„ˆ‡ƒ…‰‰‰‰‰‚{ƒŠŠƒ‡‡‡‡‰‰‰‰ˆ‡„€€‚‚‚ƒ‚€€€fk{}z~ƒˆ‰Š‹‹‹Š‹‰…†ˆˆ‡†…„„…††††………ƒ€„ˆŠ‰ˆ„„…‰‰ˆ‰‰‰ˆ…ƒ€€‚‚‚€jgo|}~†‰ŠŠ‹‹‹‹‹ˆ†‡†……Š‰‰Š‰‰‰‰‰‰Š‹‹Œ’„……†‰‰‰‰‰‰ˆ†ƒ€€€€‚ƒƒ‚jiiv€~~‚ˆŠŠŠ‹‹ŒŒŠ‡†‡‡‡Ž‘Ž‹‹Œ‹ŒŒŒŒŽ’Ž†‡ˆˆ‡‰‡‰‰‰‰‰‡ƒ€€‚ƒ……lmkr€}~…‰‰ŠŠŠ‹‹‹‰‡‡‡ŠŽŒ‹‹‹ŠŠ‰ˆ‰‰ŠŠ‹‰‡Œ‰ˆˆˆ‡ˆˆˆ‰‰‰ˆˆ†ƒƒ…‡‡nkhlx€~}€‡Š‰Š‹‹‹‹‰‰‡…ŠŠ€…‰‰‰‰ˆ‡†‡ˆˆ‰‰{†‰ˆˆˆ…„‡ˆ‰Š‰ˆ‰ˆ‡…ƒ‚‚…ˆ‡iifgjz}|ƒ‰ŠŠ‹‹‹‹ŠŠ‡…††€…†††††‡†………„€„…ˆ‰‰ˆ‡ˆ‰ˆ‰‰‰‰‰ˆ‰†‚ƒ…‡nmhfdr~{~…Š‹‹‹‹‹ŒŒ‰…„…ƒ‚‚ƒƒ„ƒ€€€‚ƒ„ƒˆ‰‰‰‰‰ˆˆ‰‰‰‰‰‰‰ˆ†ƒ‚‚ƒljfefj{‚~}€ˆ‹‹‹‹Š‹‹‹†„„„„‚ƒƒƒƒ†ƒ‚„…………‚‡‰‰‰‰‰†ƒ‡‰‰‰‰‰‰‰‰†ƒ€€fgffghq~€}|ƒŠ‹‹ŠŠ‹ŒŒ‡ƒ„…‡‡ˆ†„„‚€ƒ…‡ˆ‰‡…„‚ˆŠŠ‰‰‰ˆ…†ˆ‰‰‰‰‰‰‰ˆ‡ƒ€€hgfeeefu€}ˆŠ‹Š‹‹ŒŒˆ‚ƒ†‡‡‡†‚€€€…†‡†„‚ƒ‰Š‰‰‰‰‰‰ˆˆ‰ˆ‰‰‰‰ˆ‰‰…ƒhhfcfggs€~…Š‹‹‹‹‹Œ‰‚‚„„ƒ„‚}}~~‚‚ƒ‚ƒƒ„ŠŠŠ‰‰‰ˆ‰‰‡…‡‰‰‰‰‰ˆ‰ˆ‡ƒhhfdghhm}~€ˆŒ‹‹ŒŒŒ‰‚€‚‚~~{}~€€„„ƒ…‰ŠŠ‰Š‰ˆŠŠ‡ƒƒˆ‰‰‰‰‰‰‰‰ˆƒjihihggjt€}ƒ‹Œ‹‹‹‹Š‚ƒ‚‚‚€~€‚‚„„ƒ†Š‹Š‰ŠŠ‰Š‰‰‡†ˆŠŠ‰‰‰‰‰‰‰‡jjhhnkgiq}‚~‡‹‹‹‹Œƒ‚ƒ‚‚ƒ‚‚ƒƒƒ„„ƒƒ†Š‹‘’‘‘’‘‘’’’‰‰‰Š‰‰‰‰‰‰‰‰jnmnppmot|~}}‚‰Š‹‹Ž„€‚ƒƒ‚‚‚‚‚‚ƒƒ„„„‹”——————––—–•–”‹ˆ‰‰‰‰‰‰Š‰‰‰{zzzzzzzzz{zzzzzzzzzzzzzzzzz{„„ƒ„…††ˆ‡‡†‡ˆ‡‡ˆ††††††……‡‡„ƒ‚‚‚‚yyyyyy{zzyzzyyyyzyyyyyzzyzyy{‚ƒƒƒ‚„„…‡†……†ˆ‡††…„…………††††„‚€‚zyyyyyzzzyyyyyyyyyyyyzzzzzzzz~‚ƒ„„ƒ„„……„„††‡†…ƒ„„„ƒ…†‡‡†…ƒ‚‚€zzyyyyyzzzzyyyyyyyyyz{z{|{zzz}ƒ……„„……„„…†‡‡…„„ƒƒ„„†ˆˆˆ‡…‚‚‚‚€€y}}zyzzzzzzyyyyyyyyy{|{||||{}€‚ƒ„„„……………‡‡‡†……„ƒ„…‡‡‡†…„‚‚€€|‚~|}}{{zzzzzzzzzz{}}~~}}~ƒ‚‚ƒ„„„……‡††‡‡†………„„…†‡‡††„ƒ‚‚‚€~~}|{zzzz|zyz{|}€€€€€‚„…ƒƒƒ„…„„„„…‡‡‡†…†……„„……††††„ƒ‚‚‚‚~{z{{z|||{zyz}zz}€‚ƒ‚€€‚ƒ…†„…„………„ƒ„…†‡†…………„………†††……„ƒ‚‚{{|ssu~|}||}€€‚„…„„‚ƒƒ‚ƒ…‡‡…†…„„…„ƒ„†††………„„„„……†††…„ƒ‚‚‚ƒxx€yyy|€€€~}ƒˆ††ƒƒ„„…‡‡‡††…„„…………†…………„ƒƒ„ƒ„††‡†…ƒ‚‚‚‚yx|zz{~|z~„€{zwwz|†‡†„„……†‡‡†…††…………†…………‡…ƒƒ„ƒƒ……‡‰‡…‚‚‚‚zywwxwxxw|€~~~~~}~‚…†……†‡‡ˆˆˆ†…†………………†‡……„„…„ƒ…†‡‡†„ƒ‚‚ƒ‚…}~ƒ‡€€€€‚††††‡ˆˆˆˆˆ†…„……„„„†‡ˆ††„…„„„†‡‰ˆƒ‚‚‚‚‚‚„†…†„‚ƒƒ‚‡ˆ†€€€„ƒ„‚€‚†‡ˆˆˆˆ‡‡ˆˆ†…„„„„…†ˆˆˆ‡…„„„„…‡ˆˆ‡ƒ‚‚‚„†‡ˆ…ƒƒƒ‚‡Š…€‚„ƒ„‚‚…‡ˆˆ‡ˆ‡‡‡‡………„…„††‡‰ˆ‡…„ƒ‚ƒ…†ˆ‡‡ƒ€‚„‚€ƒ……ƒ……„……†…‚€‚€€‚‡‡ˆˆ‡ˆ‰‰‡‡†……„ƒ…‡‡†‡†…„„„„……‰ˆ…‚€‚ƒƒ‚„ƒ€‚„‡ˆˆ‡…‚‚‚‚„‚†ˆ‡‚ƒ„‡ˆˆ‰ˆˆ‡ˆ‡‡……†…„„…††‡†…ƒƒƒƒ‚‚‚~|||~~€ƒ‚€€‚‚‚‚‚‚ƒ„„€„…………†‡ˆ…‡ˆˆˆˆ‡‡†…†…ƒƒ„ƒƒ…‰‡††~}|{{{{{z{{|~~~{~€‚‚‚€€€‚ƒƒ„„†…ƒƒƒ„„…„ƒ‚‚‚€€„„„……€~€€~~€€€€~€~~~}~}}}~~€€~}}~~€€€€€€€€€€€‚Š†ƒƒ‚‚€€{|~~~~}}}}|||||~~~}||€€€€€€€‚„Š„€€€€€{||~~}}}}}||||}~}€€}|}~~€€€~}~€„ƒ‚‚‚€€€||{|}~€~~~}}}}|||}|}}~€€~~}}}€~}~‚‚‡ˆ‚}}|||}€€~}}}}}}|}||}~€€}}}~€‚‚‚‚‚}}~€‚…†‚‚‚‚‚~||||~€~}}}~}~~||||~~€}}}}}}~€‚‚‚‚‚~~~€‚‚‚„~}|}|}}€€~}}~~~~}||{}|{{zzy{{zyyy|€‚‚‚‚‚‚‚€~}}€‚‚‚…„„€~}}|}|~€€~}~}}}~}}|}{{|||}……€~~{}~€‚‚‚‚‚‚‚‚‚‚~}}„„ƒ}}}}}~€€~}}}}}~~~}~}}|{}}}|z{|~|}}~~‚‚‚‚‚‚‚‚‚‚‚€~~~€€…„‚€~}}|||~€~~~}~~~~~|{zyz{|zx{~|{|~}}}€‚‚‚‚‚‚‚‚‚‚‚‚€}}~“ˆ‚~}}}||}€~~~}~~~~}|~€}wx{xw~‚||~}}}}~~€‚‚‚‚€~}ƒ„ƒƒ€~~}}}}~€~}}~~|{}‡xyyvxƒ}|~}}}}}}~€€€€€‚‚‚‚€ƒ„ƒƒ‚€~}}}}~~€~}}~|z}…z{{zz€‰ƒ{{}~}}}}~~€€‚‚‚‚‚‚ƒ‚‚‚~~}}}}}~€~}~~~{y|€~yz{{{Š‚z{|~}}~~~~‚€‚‚‚‚y{‹‚‚~}}}}}}€~~€~~~~~|}~~€ƒ}||~€€~~}}}}}~‚‚‚‚ƒ}{~ˆ‡ƒƒ~~~}}}|}~€€€}}~~~}}~}}}|{z}€€~}}~}~‚‚‚‚‚‚‚‚||€‚ƒƒƒ~}~}|}|}~€€~}{{{|||}||}}}}|||zz€€€~~}~~~~‚‚‚ƒƒ‚‚ƒ~~}}}|}}~€€{|}}||}}}}~}}}}€†}€€~~~~~~~€€‚‚€€€€ƒ|€ƒ‚‚ƒ‚€}}}||}}€€|€‡~}~}~€~~~~}†„~~‚‚~}~~~~~€‚‚€y{}‚~~}}}}|}€€‡…€€€€‚ƒ€€€„ƒ€~~~~€€~}~~~~}}~‚~yxy„•‡‚~}}~~}||~€€€‚ƒ‚ƒ……€‚‚ƒƒ€~~~~~~~}}~~‚€~ywx}„‹„‚~}}}}||}€€€‚ƒ„‚‚ƒ„‚€‚ƒ‚€|}~~~€€€~~}}}~€‚‚€zxxy‚‚ƒ}}}}}}}~€€€‚€}~€€€}|}}~~€€~}}}}~~~€‚‚~zxwwy€‚‚‚‚€}}}}}}}~€€~}}€€~}€€€}|}~}~~~€~}}}~}}~€‚‚~ywxzy~‚‚ƒ‚~}}}}||~€€€€ƒ‡ˆˆˆ‹‹†€€€€}}}~~~~~€€~}}~~~~~‚~{x{{z~ƒ‚‚‚}}}}|{~€€ƒ„ƒ„‡ˆˆˆ‡‡†„‚€€€}}}~~~~~‚~~}~~~~}}~€€}{{}~~€‚‚‚}}}}|}~€‚ƒ‚ƒƒ„ƒƒƒ‚‚ƒ€€}}}}}}}}}~~€€~}}~~~~}~}ƒ€~€„„‚‚‚„ƒ‚~~}|||€€ƒ‚€€|zxywwwwwwvwwz~~~}}}~}~~~~ˆˆ‡ˆ‡‡……†„‚™~~}|{{€€€€€€€€€€€ywuuvuvwvwwwxwx}~~~~}}~~}}ÓÓÓÓÓÓÓÓÔÕÔÓÓÓÒÍÇÊÇÏÒÒÓÔÓÓÓÒÒÓÓÓÓÒÒÒÑÑÐÑÑÐÏÏÐÐÏÐÑÐÏÑÑÑÏÏÉÀ·³¨¤–…€wmp{onlppvimgZaf_`iaW_cacZTRW^^chbgVXZZXYWW^XTZab_ZWOG?:==743B3ÓÒÓÒÒÓÒÒÒÓÓÒÒÒÐËÇÉÅÍÑÑÓÓÒÒÒÑÑÒÒÒÒÒÑÑÑÐÏÐÐÐÏÏÏÏÏÏÐÏÏÐÐÐÑÒɸ¢«ž|…}„xdbdt€sabqol^[]_b][YScjb_WRRS][_jkkSYad\TSOVV\ce^YPQLBB86743197ÒÒÑÑÒÒÒÒÒÒÒÑÐÐÏËÄÇÃÌÏÏÐÐÑÑÑÑÑÑÒÒÐÏÐÑÐÏÏÏÏÏÏÏÏÎÏÐÐÐÐÑÑÑÑÑÎçŒtrrsqqrsx€}dedgi__^_`aVVYai^]]YXUXVZ`kgSU]^WOQQUWbgcd]RIDA=952452/4ÐÐÑÑÑÒÒÑÑÑÑÐÏÏÏËÃÇÃÍÏÎÏÐÐÐÐÐÏÎÏÏÎÍÎÎÎÎÎÎÎÎÎÐÏÎÏÐÏÐÐÑÒÑÑÑÎϺœ“}pwy~zƒƒkjfbj]chh^^[Zd^W\jjWTW[[WROZR]kURW\]SOUSS^ebcXWWQI@=96543/.ÐÐÐÑÑÑÑÑÑÑÑÐÐÑÑÌÃÄÃÎÒÒÒÒÒÑÐÑÐÐÐÐÏÏÏÎÍÍÍÌÌÌÍÍÍÍÌÌËËÍÎÏÏÏÏÎÏÀ˜’ƒˆ‚ygqpgkbcd[mf]ZXXRafdfuq_TRX_XPLVUV]V\]]XPRTX]bZ[\SR\QK?AD>631.,ÐÐÐÑÑÒÑÑÑÑÑÐÐÒÒ˾¿¿ÎÒÓÓÓÓÒÑÒÒÒÒÒÒÒÒÑÐÐÐÐÎÎÎÎÎÏÎÎÍÉÌÎÏÏÏÎËÉƦ~~tjcpurfbec\^bXT_VWU^kjklimZTY\UTVWVUZT]`dXVWT\^`[\XWQSRK@A?8761/1ÑÑÐÑÑÑÒÑÑÑÑÑÑÒÒÉ¿ÇÀÌÓÒÒÒÒÒÑÑÑÒÒÑÑÑÑÑÑÑÐÏÏÍÎÐÐÐÏÎÍÈÍÏÏÒÒÏÊÆŶž~uiZWjd^bedbfbZXUNQY\ceimb`WTSSQLVSWSbNWW\^[^]a__ZVUWQSMHE@B=531/6ÑÑÑÑÒÑÒÒÑÒÑÑÐÑÑÊÄÎÅÊÓÒÑÑÑÑÑÑÑÑÑÒÑÑÑÑÒÑÐÎÏÌÍÍÎÍÉÇÉÆËËÍÐÑÎÇÁÀ°„€wYWTVTY\pujgf^\QFDQ\U`fe`ZXVNNMJMJSN]RUWWZZ^^]^c[VQWQZQEIB@?40/..ÑÑÐÐÐÑÑÑÐÑÐÐÐÐÑÉÄÎÆÉÑÑÐÐÏÐÑÑÑÑÒÓÒÒÒÒÒÑÐÎÎËËÉÌŽÅÂÇÅÉÍÍÉÀ³©«Ž„zya[Y\[klbtjlbXYUTYXgXR__WSZ\UNKHQSU^\UR\^XW\\YQW[WSZU[YA76320//--ÑÑÖÝÚÓÏÐÏÎÎÎÎÎÏÈÄÌÆÈÐÑÐÐÐÑÒÒÑÒÓÒÒÒÑÑÑÑÑÎÇÅÅÄÇ¿¾´Ã½Ã»ÄÊÄÁ·§ŠƒxŽ€jbb[^ioZraY`VQWWb_YRSU[TSUXZNNNWUV_m`QY[XZXW]TS\[[a`NE=8541//.--ÓÞëðïçÕÍÍÊÆÇÈÊÍÅÃËÆÅÍÎÎÏÏÏÐÐÑÒÑÑÑÑÑÐÐÐÐÏÇÄ¿¹Á¼¶©À¹Â·»Ä¹À·ž‰}slhhhgW^f`Yi_V]`QVVZ_XXVPRQNOPV]YSURTUh]O\][UOQ[Y[VZTPLA9>=;83/..--ßîßÄÓìêÐÆÀº¹½ÁÇÇÈÍÊÈÍÎÏÎÏÏÏÏÏÐÏÏÏÏÐÎÍËÊÉŹ°­²¶¬¦²²½³¸¼±³©‰{|ypmTdja\g[T^kb[a\NRUW`deWRPOOQUPX[MQWQV``^e`WROS\X[YRSYKED><;:730/--îÔ”‘ÈêÕÀ¼¸·¼½ÃÈÊÎÌÈÍÏÏÏÐÏÍËÍÐÐÏÎÍÍÊÈÆÃÀ¶¦¢¡¨©ŸŸ©°²®±¬©Šxpolps`[\ZecYYba^bZUZVWXXc[TURPUYUVW[SSYSU\b[b\__Y`aUV\YWSAAI<868764100è«ž˜—™“‘’”˜ªÉÌÆÌÐÐÏÐÎÊÆÌÏÎÎÌÉÇÀ¹ºº¾²¥›•¢ ›š«µ±­¥¡•{mhhYlfWNJQZc\UTbkbdqabgaV[PSRQRUZTXUX\T^QQbaak`hbmkdUROOLMB?C:877766014ÑŠxx~‚€c\bWb}€|x§ËÄËÏÏÏÏÌžÉÍÍÌɱ¦¢¢¨«¤¢›—••§³°Ÿ•••‡wfhl^aXRTSS[cb_lrcTYfQZur]TQMOOMILOQRQOS[V\bWU]]dj``[RKOJHGDJB9866565137Áu’µ½À—eToœÆÑÑÅŸƒÁ¿ÆÌÍÎÌʶÆÍÌŹ­ž ¡™š“”‡˜—’Ž•˜Ÿ’Ž†yxre\W\_[Q\`ZV^k`URbjieb`VTOLKJLJJHIQOVa_\`ZS_mjkY`WQYULLB@C:96644455;?½l…€iu««{Xn¾ÜèçÜžs¢³µ¼¹À¾ÈÅ¿ÉÎÎƹ³­©©™—’‰…‰ƒ†ƒ‘ˆ‡„‡…ƒ}{seZXWYb\X\WU[kUSRbkhUU^[UOMNLMKILLKTX`fU\TSpvhjbeaWa\XXJ=;<:8654585>:7678:>@>nbm}®\77VlQmuN:JRYM;9<>:¯£šƒ‰†‚„~€}xxz}yg[U^]^Z]ZQ^]`cjjlquoU__WPTTIGHQYTSRRSKNY\`\PQa^caakiZbUA::>==;;;??A@==<:8X±âÛ‘€†ŒŽ‰ƒ‹†€{zz}z{uc\abWZXX[d[QPau†xi_ciTWPNTVOPLEBPWTVXURahgh]U\]a^V`YWWH=99<<89;:;@@>CSXYc_^dlpecb[`W\VWY[XC;999::89999997\ˆ?99;>=@JLHðêáé~T^cg¥gc^Xoçêìó|…àÞèêêêîïïëîïïëêìæßȆ‚€………‡~zzplrx~tldbSTWJMTX\_WRVTWX^Z[[]d_UMFFEGJKGHILVZ``WQZVXUVNJIF>97896_A:9<=>EHIJãéãò—FKIRžÀ`OLInãÞÞÚaâáéèêæ»°ºß¼«ºæêãáÚÖ—|€……ƒ…„}zytypszvmkbTZ[Y[\c_ZJHV\cZ^][YZ_ZRKDGC@@?>>BNRZe]V\^V[]RMH><;98884“ßL37=;=EKLMq}™‚z‚‰ÂØ•‘‹‚~zj_?˜æäééä翯´ÜĶ´áæåäÞà{€ƒ€|yzympxolkcSbn^XV\^\VSZ\^fb\Y`^YPIGBBA?=79AGJM_m[W`\_`YHEC:7:987;6’ãL1;>?EJIGSHP]›Ößßâãääãåäâà»lOH=”îèéêæëìáãêáÛâëæëçêç™z€}~„ƒ~{|yqmsllff`mse]QS^]XUW][c\Z_j]SLDBBBEC@?EKD@Napm_OTkSIA;<<9==;9?8‚ÛR6?>@FLKDYMP\œèóòðñðïððòñí¾fPKA†ìììëíììíìëììëëìììîߎz}~{~ƒ…‚z€~ullople`a[`^PPYXQRXa^]\_a`WYOIABIKD>EUUMYbbqqVZ\NC<768>BCB@B>€å^:A:@PXQkqn}ladVLE@<=BIOKD?B;‚ðh==5?JJYcpBES‚cBTfb`^ZYgWS…gECUtáæÓ³ÄíÅ©©¨¡Ÿ·ìÉ®ÐâÏ|€|wƒ~vtqnmlhgrcY[a\[_VSVTXT_b_h`XZVQKIIDHLGGIRRYmopy{hgrm[TQPSZXXWJJR>òm:7;Y]aomnIJJ`yir‚Ž„‚ŽxqOKJI_ÔÒ¯m‡êÂ~xxvu±íŒb¨ÊÂx}€z~|}wvmdce^angYRY\d][UPQ[X`jbe\RRYUOGA?KZcX_hltg_]_dhlorrsg`o}{tohlmZŽñ~]Z`yxuwokDGFQox{€—˜…‡„}oZFFC;KÁñçßÝëëÏÉËÉÎéêßßäò©s‚z€x}‚{|rf\fjgdeeY[]\WVURQV`_X^^WPU\ZVY^^u‡{eo|t_X\acdgmktƒˆ…‚†‰„‰ŒŒ›º——†~wxuk4<236?l›Ÿ—¡¥¡¨¶Â±œ‰‰Ž‰Ž]p…{{zv|€szphebkebhc\^YYXY]^VR[[TRTXb_]clˆ‹‘ŠgfwpZU]``_alnqzƒ‚€zzŽ‘“—•“‰‘Ž†‚rwsnsm5kwxxvvuttuvwxx}ƒh+/3Gmx€„‰ˆ…‚wqrtwcQQ[v~xxyx}y{vvrpqmqqsxtqtos~Œ”“Œ’””ŒŒ™µš…„ˆ‚~ƒ‚peqrfZ`cb`_clkpwkhfij|ƒ†‚…Š‡ˆˆ€~whmronk7]gfghilkjknorssud234X†…‚ƒ†ŸŽ”‘‡€€‚~|yuuuvwxwvtrqqppqsuwz{~~}zz{{|}|}€…‘›­¹·¯œŽvpppoqqnif`____db\\abdhmokliggstntpjbmyqwz[\^^`abgjkkljgfghihjjw€€~}{y€Ž §‘wwxz}}|{zxwvuvvvvusrpmlllnnptwyyzzyyyxvvuutv}‡’¢°´°ª ‘wlihgeb_][^\ZY[]\]\\]^\[[][YYYYS^_jy}ywtqonnptvwvvvtsrtwy{}€€€~~}{zxv|…}Œ¨{stvwzzzyxwtqqqqqrqomljihhiknpsvxzzyywusrssttvz¢¶Á½¤Šumklkifca_[WVXYWVW[cgYY[_[ZZXUV[Y^~|wqnmlklosrstsssqqrsuy{|}}}|||{yyut•˜ˆ†xstuvwxxxwtqommnnnnmkigefghikotwyyzzwuspqqtvtsprš³Â¾®˜…vmlmjgfd]Y]YWWW\\WWY_XYX^ZZZXX~|{ysnlkkloqrsttuvvvvutvxyz{|}|{|{ywurq‚£¥€ooqtuwwwyzyxtqommnpqolkjiihghjlnqtxy{{zyvtqprutsqqxˆœ¶Çé‹vlmmnmigeb`\YXWWWXXZX^ZZ[Z[|||zyuqmkjknoqrrttuuuusrsuvxy{{{{{zxvsssqpx¥´™qoprsuwxxxxuqmkknpppomigggeddehotvwyz{{xupllnqrronq£ÇÏ´‹vomnnmlkiea_[XXWWYXZ\XZ[Zz{{zzzvqljikmoopqrrrssrqopqtuwy{z{|zxuuutst‰˜ƒokmqssuuuvwuromjklpsromihfgfddgkoqtvy{{z{xqlmoqrsspo}˜¶ÈÁ¨Švnmmnmkkhea]XXVUZ^VWVVxyzzzzxwsnjhiklnooooppqqpoooqtvwxz{zywwvuutonp€¯·opppqstuvusspokknpqqplifffddcdhmptvvwyzywtplloqrqqnpœ¼Íæ‰vonooljihfeb_ZWYVTVuvwwxwwwuqmgffgilmmmnoppqqpnnpqruwwxyyxwvuussqv™¤Œokknopqstsqssrpmkjkpsrokhgdeebacfkoqsuwxxyxtniiknpqpmioˆ±ÏѵvsonmkjkkjihdaZYZqstuvvwxvtrlgddfiijklmnopqpnmnmoqrtwxxyyxwwutrronotƒ‰|nopqrqnssssrokikmqrrqmigggebabhlortvvxyxwtlfgknoonlhj‚¯ÐÒµtopomlkikjihea`opstwxxyywuqlheegghijklmnoppomllopsvvwxxxxwvurrrrqz¸Îªwroppnlqssttrrnkiknrsrpmjhjjhedfjmqrtuwwwyxtmhhknonnmjlƒ¨ÊѺ“xqrpomkkjijgfloqtwxyyyyxurnjggghgijjlnoppqpnkmnossvwwwxxwwututsrtwu„iknnlprsrrrssqnijlpqsromljkjheegilnprtwyyywuoihkmnppolj{ ÄѽŸƒspponmjihhglnqtvwxyyywtrnjhggggilnooopppnmllmoqsuvwxxxxvuvutsrrrq‹¯§xjhlonnnnnpqpnkkljloqonkhhgffcbdhkortvxyyxwtojhjnppqplks·Ï˱•zrppommlbhkmpsuvvwwwutpnifeeffgjlmnnonnoolklnoqtuvvwxwvvtsqppru“¾¿ž‹—–—––‘Œ‡‚{tnjigfjmmmjhfbbbb``afimprsuuvvurnihjmoppqoko„¥ÁÏů“~usqp„_gjmqsttuvwvusqnjfccefhkklmnnnoomlkjlnorstvwwvtz„Ž›¥¯³µ´³µ³­°³²±±±³¶¶¶´­¤…lkgefjlmkidaaa`__`acfhloqqrssrqnjhgknnnnnkip€¤ËÖÇ ynpÅz_gknprsuyxwvutrnieedegijkllllkkllljikmnprtuvt‡®«­­© ˜ˆ‚{uplkllklnqy‡‹–znlheegjjjgeba`aaaa^^`dgikmoppqqolfcghjlnnnlhfz§ÐÙÅ•sÏÁsahkmortuvwvuutqmifddeghjklkkllmmmljhjlmpqstu§ž~xpg`ZVV[`an‘‘sf^XWWVSSO`€qpmjecfijjigedbcfea__`cfiknprsstspkfdgjmnoonlij‚©ÍÖ¾ÂѲd`gjloqrsxwttvtqniedcehikkklnllnnnnjhhjmopsv›jJMNMORXXV[VZoymULSkojgeZF?dvppnjgefilmmkifffffecaadglnpstuvvvtqkggjmmoonnmhj{¡ÊµÅР^bgjloprttuuvurpmjfddfhijjkllknoprqnmkknpq~‚DK[dp{‰z;57310395FjnonmndDDmpoqpojhfhknomkjgefffebbcehloptuuuvvuqlhhiknnnnnmihx‡»ÈÑ]dhkmnqrtvvvusrpnjgedfhiijjkkmnpssrqommooŒj:U…–Ÿ¢¤­¨sdN:34=KMK@;>C;9@WAYpnpqponiffjnpomkhfefgfdbabfilorrtvvwvtqlgfiklnpomliVš¿ËËx]eikmprsuvvutsrpmifdcefghijjllnprrqpnmnpMNUž¶¶·¹»º³§£ts~eƒ\335?>53UcEmnoqpoonkgfgjlnnljgdccdcaabcfjnprttuvvvvslfghlnmnnm^³ÂÑ·d`hkmnpqsuutttsrpmieccdefgiijkmnpqpqoomy‡@k<~»¶±©”‰ˆÌ¶~ƒ¹yQ>4ITN<43C~Daooppoopolifegkmnnlhecbcbba_`chkmoqsvvvwwvrkhghklmm]]½ÅÑ _ehllnprsttttsrqokgdccdefhhhiklnoopopm†oMw3@ZQIB:DFKhqrstZC3@hxeN342{_Pnmnoooppnlkigehknomkhdbaaa``_`aeilprtuuvwwurkdegjlSLS‘¾ÅÎŒ\bhjkloqsstssrqpnjgeccdfgghijklmooopnWlk0236998GKJFFIHEHF:EgƒjX6;s‚Djlmnomnoonlljfdfimnnmjfbaaaa`__^aeimpstuvvuutqkffg`UO[Ÿ½ÆÇwYbehjloqrsssrrqpnjfdcdeghhhjjklnooooŒJˆX036BVS=FKHECCCGIGGJ^†pQ78¤¡N`mlnnmmonnmmljgedgjmmljfcbaaaa`_^_aflprstuuuuvuqkei\QLd­ÁϾm^dgikmpqrrsttssplifbbcegghijkllmnnt€K•F232^£™R@F=6668EJILGQiz_950=–nRmllkllmmmmnnnlifcehjmmmkgcaa`aba`^`cimoqrtuuwwvupnbQNKy¼ÄÒ­b`ehjlnprrsttttqmkhcaabefhijjkklnlzq\“:79:i‹†E732324;B=FLl•u:652|Hkkkkkkllmnnooomkheegjmppnjgdaaceec`^aeknprtuwvvvvprdSNR’ÀÆÓ–]chklmoppqrttrqomjeb`abeghhijjkli}`r„7DI@‚ ©ªUJ@2112221:Ao¨¡j:730]¤Prjjjkkkklmmmmnnmkifcdimooomiebabdeda_^bglopsttuuvnq{bQN_¦ÂÍÌ^gjlmnopqqttqqqnlhcaaaceghhijjlbwUŠqCONHZ„†~TNM=66985365[ššX@851F§gYljmlklkllllllmmmliebcfloonnkgb`aaccc`]`fimprsstuutrk^SOn²ÅÐÆwahkmmnopqrrssrpnkhcb``bdfhjkmmajQfJRQPm†›gHKJHFFFEC@?n‘›ŽRC?@5=¤€HkbJFCUlkkkkjjlmmmljgcbdimpqpnjgdbbcdd`^_bgknoqrtuqrqjXYm¿ÊØ¿nchklnnpqrrstrrpmjfca``ceg^VVhƒ`M©eU€eR˜hbMFHJLLNKOONVjˆ˜wMA9@5;ŠY;dQ8?8>ijjjjjjklmnmmlhebbinpqqoligefeeedb_`cgjnprpqtql^RTV•ÆÊÖ¬ccgiklnppqrrrsqnljfc`abf[:97V“\E‚`]ŽYAKDAGR[hie\PPJHOMcmYPKA846;7@@9:;5Ijhijiiijllllmljgcbcgjorqpnlhfefffea^^_dhlorxvtskVNL[©ÇÍÕ^egjlmnnpqqqrqpnlheb`afQ2<=BC=>?=:99;956:4:HJDHH:9;=IL2228Lyjeghhihijkjklkkifecbcioqrqpmihgfeca_^^^`eitwvwy|lWQLq¾ÉÓÇoagiklmmnppqqqpomjgd``bY8/./2;YA;976667975556566567777777779:;>HJ/@Ygifdihghhfgijjkkkkkihfcaagmppqpnjheba`^^^]\]asqpnnpjaVOP™ÇÍÙ¥]dgjjlmnopqqppomlifb``a_ZRY=3dH<;;:88878777877766778888889::;=CH:amkigeweghfghijjiijkjihfdbadknppnkhc`^^^]]]]]\qjgijdfaWPLi¸ÅÑÏy^dklkllmnnpppoomkifb`_aer°˜:[D;::98888777777777667766777789:;>G>Zljihefecbeffgghhghijjjihfca_bhmmlljeb_]^]]\]]\oklmwrleUNNNŠÂÈÖ±aahhikkmnmnopponmjhea``anªªCS>9998777666666665555555565567776:EN[fjjihhnrtdeffffgfhihijjjhedbaahlmmmjgb_^]]]\]]rrkkutvnVONL[ªÅÌÖ–ccfhkkmmmmnpooomkjgda``c”‹PM964666665665555555554555444563;T~_R`dkjkik¸àã®kefghhhiijjkklkjhecacimopnlid__^^^^^mvokrtwvj^QMMwºÃÑËr^fhkkllmmnoooonlkifca`c|†iRq_E1345554443455KD44444333442A”¨¶‰LGbkjjjh„ÆÈÂ}bffghhiikkkkkljjhecacgjnnmlib^^^``_x}spvusqrt\NMR–ÃÆׯbehjkkllnnoooonnmkieb`imveg­¤Âs512333333455755334433332:~µ›š¥V2Xljjjjgiiggddeghhhijkkjjjjjigeca`cilmmkha_^^^^vtpmrrmjkmiPLJc²ÂËÖŒahijlmmnoppppqpomkhcadfAMªœ»²g911223334674375542111/5u¢›º©“R-Jkjjjjjihigfeefgghiiiiiiijjjifec``dilmnlhd`\]]sqphmqrvtqmULMM…ÀÄÔÈpcijklnoooppqqqqomjfcUh:4…™º®¥³s6;8887526;im:9jkjjjihhhfdbdddghhjiiiijjjjkkjgeca`djmonnlhdblpnmrroqtwuoVKPR`ªÃÌÖ’agkllnnnpqqqrrqpnkgZBL8I‡ÛÌâîíÉ¢~^^`l¥‚^ÂÂfgndfce–µáéÕÁµ˜91-@kkkkkkjihfc’Áðofhhiiiijjjjkkkjhfd``djmoopmjh}wvuyvoorpkmhOKLLu½ÀÐËvbhiillmopppqqrqpmj_<725J¶º¸ÂÞÚª¡edhcXQ€îò—Yrkzzs¸£’sC;60-,Allkkkkjjige}Ñãâ¦bggghjjjjjkkjiiigeda`djmpqonm|ƒtoonkopsmeQKONO–ÂÄÖ°bdgikikmmmoqqqqpnl]93004>C@_rj´fkx~udƒ×é orwtlcyQ9??753.+,Allklkkkjiigfrytseegghjjjjkkkjiiiigfca_diloopov{uwwprkrsspng\OMLfºÂÌÖƒ]egijklmmnppppponZ10-.0048<<A@ABCFGIPTW]ems®÷ÕZB1-1_ommlljikjijiiihghgdš½º¦hefggghhhghgghhggfdc^]v{xrnprsqmnpzxzj`\NNPSËÊÕÌwhlmnnnnnnnonnm:520.8F ÷ÄŠ€†³©•› ¦©­³´¸º·®¬¢…u„­—D4--3anmmllifkkjjiijihhgheb_ceffgggggfhhggggggffda^mlokfcgmnv€|xztoriUNQVc¶ÊËÚ«ilmmnnnnnnnnnm:950-1:až†`Sdhgimmopswrlg\RHGE=>UL91-,-4_mllmljdkkjjiijiiihhhgeegggghghgfgggggggggfeb`sqoqnxswmyyzyyƒpaVNNRP‚ËÆÔ׈glkmlmmmmmmmk886.-.229743301025578;@?>81.---1\lkjjjhckkkkkjjkjhgeeefeeiihhhihgffgggfghgeecaˆ‚…|{~|mmu}}yi`UNNOMW«ËËܼjggkjlmllmmja577,,+/257=??ABBDFGHRs]OLKJGDA<854.*)-6Fn‰—›œ¨¨§¨¨¨¨¨©£˜Œzgdfffffhhggfggffffffffec‹€w{xvmpxrpkrmfecYNMMag†ÂÆÏÙafghjllllh\V17:/,+-0125799:==@DFLbM@:721/0....C\z“¥°µ¶µ¶´³¯­¬«©©©ª©©©ª­¯¬¨˜hddegggihhihgffhhfgghfe…‚}{‚|wtwgdlt~vmoi]NMM]ba¡ÄÃ×Âicfghjkkh]VV16<4,-../-,++**+****('****++,--..]­§«­§¡œ™•’ŽŒŠ†„ƒ„ƒƒ‚‚‚‚ƒ…†ƒ•ƒddeimnkiijihghihggghgf†‡†††††‡‡†‡‡††‡‡‡‡ˆˆˆˆˆ‡‡‡‡‡…ƒ‚}yvtttwxxyzyx{{zvtxyz{zyyz{~€€†††……††††…††…††††‡‡‡‡‡††‡‡†……‚€|xvtsutvyxxywyzyywuwvxzywwy{~€€€††††…†††…††††…††††††††††††††…‚€€{vwwvvwyyxwwzzyxvvvuxyyxxyy|~€€††††††††…†††††††††††…††…„…††…ƒ€~zyxwwy|{xwwzzz{ywvvxxxyzyz|€€†„ƒ†††…††…†††††††††…………ƒƒ„„…„‚~{ywvx{{yyyz{{{{zuvxyxyzyx{~€‚ƒ€ƒ…„„………††…††…†………„ƒ‚‚‚‚ƒƒ~€~|xyvxz{zy{}|{zyxuvvy{zzyy}€€‚‚ˆ‰‡ˆ‰ˆ‰†……‡……†……………‚€€€€€}|}~}{zywwwxzz||{{zxwwvvwvy{y{~€€€…ˆ†‡‹‰…††……†…ƒ„……ƒ‚‚€~~€~|{{||zyxvxvuxz}}||{yxyxwusvxy|~~€€€€……‚„ˆ……†‡‡„ƒƒƒƒ~{{|||}~~|{{y|zzzxwywxzz||}~|zwxxuttvvx|€€€ˆ‹ƒ†‰†ƒ…ˆ„‚ƒ†‡‡‡‡†„yww{{z|{zyxy{yzywwxxy{{||}}|zywwvuuvvv{~€~‹‹Žˆˆˆ€‚ŠŠ‰ŠŠŠŠxw{{xzyxxwyzz{zwuvvvz{|}}||zywwxvutvv{~“”““““““…ƒ‡‡†…†‡‡ƒ}wxyvvvwvwz{|zywuuuwy{|}~}{xyvvxxwwx{~~Šˆ‰‰ŠŠ‹ˆ‡ˆ†‚ƒƒƒ‚‚ƒƒ‚{vvurtuvuwz|}zyxz{zzyz|}}|zywuvwwwy{ˆ}|€}‚‚‚‚‚€}„€€~€{utsssustwyyzyxz|{zzyz}~}}~{xxxxx{}€€‰€~}{}€€€~‚~~~€|sssrstttvxuxxxz{yyyz|~{vwxxz~€~}}}{x€€~~‚€€€€€€€€{strqstvutwxyyzzyxxxz|~{vrsuw{~}|~~|~{vq||||}€‚~}}}~zstsssuwwuwxxyzzxwwxz|}zzxvpoonmqqoprvz{wolk€~}{€‚€~}}}|~zuttutvxyxyzz{{zzyyyxsminmqrqmkgfgfdeehecfhj‚ƒƒ„††…ƒ‚„ƒƒƒƒ‚‚ƒ~~}}~~€€ƒƒ}wttwxzzzxwvwvsppnljlnkk†‡††ˆˆˆ‰‡†‡ˆˆ‰ˆ‡‡‡†‡‡ˆˆˆ†„ƒ‚ƒ‚‚ƒ„ƒ‚ƒƒ‚„……†…„ƒ€€€‚ƒƒƒ„ƒ„ƒƒƒ{v‰‰ˆ†‡‰‰ŠŠ‰‰Š‰‰Š‰‰ˆˆ‡†‡ˆ‰‰‰‡…„ƒƒƒ„„ƒ„ƒ‚‚ƒ…†‡†…„‚€€‚‚‚ƒƒ„…†‡‡†‰‰‰ˆ‡‡‰ŠŠŠ‰Š‰Š‰‰‰‰‰ˆ‡‡‡‡ˆ‰Šˆˆ††„ƒƒƒƒƒƒ‚€€‚ƒ‡‰ˆ‡…‚€€€€‚ƒ„„…†‰‰‰Š‰‡†ˆ‰ŠŠŠŠŠ‰ŠŠ‰‰‰‰‰ˆ‡†‡ˆ‰‰ˆˆ‡†„ƒƒƒ‚ƒ‚‚‚€€‚ƒ„‡ˆ‡†„€~€€€ƒ‰‰‰‰Š‰††‡‰‰‰Š‰‰‰‰‰ŠŠ‰‰ˆˆˆ‡…‡‰‰ˆŠ‰‡…ƒ‚‚€€€€…ˆ‰ˆ†ƒ€€~ˆ‰Š‰ŠŠ‰ˆ††‡‰ŠŠŠ‰‰‰ŠŠŠ‰‰‰Š‰†††‡ˆ‰‰‰‡†„‚€‚ƒ‚€€€€„†‡‰‡ƒ€~~„‰Š‹Š‰ŠŠ‡……ˆ‰Š‹Š‰‰‰ŠŠŠ‰‰ŠŠ‰‰ŠŒŒŒŒ‹Š†„ƒ‚„„ƒ‚‚‚€„‡ˆˆ‡„‚€†‰ŠŠ‰ŠŠŠˆ††ˆ‰ŠŠŠŠ‰‰‰Š‰‰Ž’“‘‘‘’’’‘’Ž‰‡…‚ƒƒ‚‚‚‚€€€€„‡‰ˆ‡†ƒ€}„‰‰ŠŠŠŠŠˆ††ˆ‰‰‰ŠŠ‰‰‰‰ŠŽ‹‰††‰ˆ‰‰‰‡‡ŠŒ‹‰ˆ…ƒ‚‚‚‚‚€…‡ˆ‡ˆ†ƒ||ˆ‰ŠŠŠŠ‹‹ˆ†‡‰‰‰ŠŠ‹‹‰ˆˆ‡{|€„……ˆŠ‰ˆ‰ˆ‰Š‰ˆ‡„‚€‚‚‚‚€€€‚„†ˆ‰ˆ}}~„‰ŠŠŠŠ‹ŠŠˆ‡‡‡ˆŠŠ‹‹Š‰†‡ƒ‚‚†…ƒ„‰‰‚…‹‡‡Š‰‰‰‰‡ƒ€‚ƒƒ‚‚‚€€€€ƒ†ˆ|}~…ˆŠŠŠŠŠŠˆ‡†‡‡ˆŠ‹‹Šˆ…ˆŠ‡†‹ŒŠ‰Š‡~‰†…‰ŠŠ‰‰‰ˆ†‚€ƒ„„ƒƒƒ€€€€€‚„v~|‡ŠŠŠŠŠŠŠŠˆ†‡ˆ‰Š‹Š‡…ˆŠ€€‰‹ŠŠŠˆ~ˆˆ…‰ŠŠ‰‰‰‰ˆ†ƒ‚ƒƒ‚‚ƒ‚€€€€oy}}‚ˆŠ‰Š‹Š‹‹Š……ˆˆ‰‰‰†…‰‰‚€‰ŠŠŠŠ†|Š‹„†‰ˆ‰‰‰‰‰ˆ‡„€‚‚‚ƒ‚€€€fk{}z~ƒˆ‰ŠŠ‹‹Š‹ˆ…†ˆ‰‰‡…ƒ††††ˆˆ‡ˆˆ„}€ˆ‹…†‡……ˆ‰ˆ‰‰‰ˆ†ƒ€€‚‚‚‚‚€€jgo|}~†‰ŠŠ‹‹‹‹‹ˆ†‡‡…††‡……‡‡††††††…†ˆŠŽŽ………†ˆ‰‰‰‰‰‰†ƒ€€‚‚ƒ‚‚jiiv€~~‚ˆŠŠŠ‹‹ŒŒ‰‡††……ŠŒŒ‹Œ‹‹‹‹ŒŒŒ‘’††ˆˆ‡‰‡‰‰‰‰‰‡ƒ€€‚ƒ…†lmkr€}~…‰‰ŠŠ‹‹‹Š‰‡‡‡ˆŽŒŒ‹‹‹ŠŠ‹‹‹ŒŽ‰‡ˆˆ‡ˆˆˆ‰‰‰ˆˆ†„‚ƒ…‡ˆnkhlx€~}€‡ŠŠŠ‹‹‹‹‰‰‡†‰ŽˆŠ‹‹‹ŠŠˆ‡‡‰‰Š‹ˆ€…‹ˆˆˆ†„‡ˆ‰‰‰ˆ‰ˆ‡…ƒ‚‚…ˆ‡iifgjz}|ƒ‰ŠŠ‹‹‹‹‹‹‡…‡Š€€‡ˆˆˆˆ‡‡‡‡‡ˆˆƒ|‚ˆˆ‰‰ˆ‡ˆ‰ˆ‰‰‰‰‰ˆ‰†‚‚ƒ…‡nmhfdr~{~†Š‹‹‹‹‹ŒŒ‰†„…‚€‚…„‚……‡…ƒ‚‚‚ƒ„†‰‰‰‰‰ˆˆ‰‰‰‰‰‰‰ˆ‡ƒ‚‚ƒljfefj{‚~|€ˆ‹‹‹‹‹‹‹‹‡„…ƒƒ‚€~‚ƒƒ„ƒƒ„ƒ†‰‰‰‰‰†ƒ‡‰‰‰‰‰‰‰ˆ‡ƒ€€fgffghq~€}|ƒŠ‹‹‹‹Œ‹Œˆƒ„„†……„‚„…‚……„†ˆ††…‚†‰‰‰‰‰ˆ…†ˆ‰‰‰‰‰‰ˆˆ‡ƒ€€hgfeeefu€}‡Š‹‹‹‹ŒŒ‰ƒ„…‡ˆˆ‡…ƒ‚€‚ƒ…‡ˆˆ†„‚‡ŠŠŠ‰‰‰‰‡ˆ‰ˆ‰‰‰‰‰‰‰†ƒhhfcfggs€…Š‹‹‹‹‹Œ‹ƒ‚…††…†‚€€‚ƒ……†„ƒ‚‡ŠŠŠ‰‰ˆ‰‰‡…‡‰‰‰‰‰ˆ‰ˆ‡„hhfdghhm}~€ˆŒ‹‹ŒŒŒ‹ƒƒƒƒƒ‚€€ƒƒ‚‚‚‚„ƒˆŠŠŠŠ‰ˆ‰Šˆƒƒˆ‰Š‰‰‰‰‰‰ˆƒjihihggjt€}ƒ‹‹‹Œ‹Œ‹„€‚‚€‚‚‚‚€€ƒ„ƒƒˆŠŠŠŠŠ‰‰‰‰ˆ†ˆŠŠ‰‰‰‰‰‰ˆ‡jjhhnkgiq}‚~‡‹‹‹‹ŒŒ„‚ƒ‚‚‚‚‚‚ƒƒƒ…„…Š‹‹ŠŠŠŠŠŠŠŠˆ‰ŠŠ‰‰‰‰‰‰‰‰jnmnppmot|~}}‚‰Š‹‹Œ†‚‚‚‚‚‚‚‚‚ƒ„ƒƒ„‰ŒŽ‘’’’’’’’’“’Œˆ‰‰‰‰‰‰Š‰‰‰{zzzzzzzz{{zzzzzzzzzzzzzzzzz{„„ƒ„…††ˆ‡‡†‡ˆ‡‡ˆ†††††††…‡‡„ƒ‚‚‚‚yyyyyy{zzyzzyyyyzyyyyyzzyzyy{‚ƒƒƒ‚„„…‡†……†ˆ‡††…„…………††††„‚€‚zyyyyyzzzyyyyyyyyyyyyzzzzzzzz~‚ƒ„„ƒ„„……„„††‡†…ƒ„„„ƒ…†‡‡†…ƒ‚‚€zzyyyyxzzzzyyyyyyyyyz{z{|{zzz}ƒ……„„……„„…†‡‡…„„ƒƒ„„†ˆˆˆ‡…‚‚‚‚€€y}}zyzzzzzzyyyyyyyyy{|{||||{}€‚ƒ„„„……………‡‡‡†……„ƒ„…‡‡‡†…„‚‚€€|‚‚~|}}|{zzzzzzzzzz{}}~~}}~ƒ‚‚ƒ„„„……‡††‡‡†………„„…†‡‡††„ƒ‚‚‚€‚~~~}|zzzz|zyz{|}~€€€€€‚„…ƒƒƒ„…„„„„…‡‡‡†…†……„„……††††„ƒ‚‚‚‚{z{|||||{zyz}zz}€€‚‚€€‚ƒ…†„…„………„ƒ„…†‡†…………„………†††……„ƒ‚‚}z}ust}||{{}€ƒ…„„ƒƒƒ‚ƒ…‡‡…†…„„…„ƒ„†††………„„„„……†††…„ƒ‚‚‚ƒzv€zyw€€|~€€~}|}~‡‡†ƒƒ„„…‡‡‡††…„„…………†…………„ƒƒ„ƒ„††‡†…ƒ‚‚€‚‚{w|{zz~}z}„|{yvy{}„‡†„„……†‡‡†…††…………†…………‡…ƒƒ„ƒƒ……‡‰‡…‚‚‚ƒzxxxxwxwvy€€~~~~}~„††…†‡‡ˆˆˆ†…†………………†‡……„„…„ƒ…†‡‡†„ƒ‚‚‚„€„|~†€€€€€€…†††‡ˆˆˆˆˆ†…„……„„„†‡ˆ††„…„„…†‡‰ˆƒ‚‚‚‚‚‚„†„†„‚ƒ„‚†ˆ‡‚€€ƒƒ„‚€…‡ˆˆˆˆ‡‡ˆˆ†…„„„„…†ˆˆˆ‡…„„„„…‡ˆˆ‡ƒ‚‚‚„††ˆ†ƒƒƒƒ…Š‡€‚„ƒ„ƒ…‡ˆˆ‡ˆ‡‡‡‡………„…„††‡‰ˆ‡…„ƒ‚ƒ…†ˆ‡‡ƒ‚€‚„‚€ƒ……‚„…„……††‚‚‚‚‚††‡ˆ‡ˆˆˆˆ‡†……„ƒ…‡‡†‡†…„„„„……‰ˆ…‚€‚ƒƒ‚„ƒ‚„††‡ˆ…ƒ‚‚‚…ƒ…ˆˆƒ„ƒ‡ˆˆ‰ˆˆ‡ˆˆ‡……†…„„…††‡†…ƒƒƒƒ‚‚‚~|||~~€ƒ‚€€‚‚‚ƒ‚‚ƒƒ‚€ƒ†††…†‡ˆ††ˆˆˆˆ‡‡†…†…ƒƒ„ƒƒ…‰‡††~}|{{{{{z{{|~~~{~€‚‚€€€‚ƒ„„„„ƒ€‚„ƒ„„…„ƒƒ‚‚€€‚ƒ„„……€~€€~~€€€€~€€~~~~}~}}}~~€€~}}~~€€€€€€€€€€‚Š†‚ƒ‚€‚‚€€{|~~~~}}}}|||||~€€~~}}}€€€€€€€‚„‹„€€€€{||~~~}}}}}||||}~}~€€}|}~~€€€€€~}~€„‚‚‚‚€€€€||{{~~€~}}}}}}|||}||}~€€~}}}}€~~~‚‚‡ˆ‚}}|||}€€~}}}}}}|}||}~€€~}}~€‚‚‚‚‚}}~€…†‚‚‚‚‚}}||}~€~}}}~}}~||||~~€€~~~~~€‚‚‚‚‚~~~€€‚‚ƒ„~}}}|}}€€~}}~~~~}|||}}}~~}|{|yyz{}€‚‚‚‚‚‚‚€~}~€‚‚‚†Ž„„€~~}|}|}€€~}~}}~~}}|}{zzzzz|€~}{zz|}€‚‚‚‚‚‚‚‚‚~}}‚„„ƒ}}}}|~€€~}}}}~~~~|}|}}|~~€~~}|}~~€‚‚‚‚‚‚‚‚‚‚‚€~€€†„‚€~}}|||~€~~~}}|~~}}|zy{||{yy{|||~}}}€‚‚‚‚‚‚‚‚‚‚‚‚€}}~’‰‚~}}}|}}€~~~}}~~}||||yy|{wz€~z{~}}}}~~‚‚‚‚‚€~~ƒ„ƒƒ~}}}}}~€~}}~~}|}‚xvyxv|‚}|}~}}}~~~€‚€€‚‚‚‚€ƒ„ƒƒ‚}}}}}~~€~}}~~}{|……zzzyw|„„~{}~~}}}~~~€€‚‚‚‚‚‚‚ƒ‚ƒ‚€~}}}}}}~€~}}~|zz‚zyz{z}ˆ‡{z|~~~}}}~~~~‚‚‚‚‚‚z|Œ‚‚}}}}}}}€~}}~|{|~{z{||†„|{|~~}}~}}~‚‚‚‚‚‚‚‚}{~ˆ‡ƒƒ~~~}}}|}~€€~~~}~€~€}|{|€€~~}}}}~~‚‚‚‚‚‚‚‚||€‚ƒƒƒ}}}}}|}~€€€€€}||}}}}}~~}}}}}{zz€~~}~~~~‚‚‚ƒƒƒ‚ƒ~~}}}|}}~€€|{{|||||||}}}}}||}{}€~~~~~}~‚‚€€€ƒ|€ƒ‚‚ƒ‚€}}}|}}}€€}|…ƒ}}|}}}~~~}}}ˆ}~‚~}~}}~~€‚‚€y{}‚~~}}}}|}€€~~€~‚Š†€~~€€~}~~~~}}~€‚~yxy„–‡‚~}}~~}||~€€‚ƒ‚€€ƒ…‚€€€ƒ‚€~~~~~~}}~~‚€~ywx}„‹„‚~}}}}||}€‚ƒ„‚‚‚„…ƒ‚ƒ„‚€~~~~~€€€~~}}}}€‚‚€zxxy‚‚}}}}}}}~€‚‚‚‚„ƒ€‚€€~|}}~~€€~}}}}}~€‚‚~zxwwy€‚‚‚€}}}}}}}}€€}~€€€€~}€~|}}}}~~€~}}}~}|}‚‚~ywxzy~‚‚ƒ‚~}}}}}}}€€~}€ƒ€‚ƒ€~€€€~|}}~~~~€€~}}~~|~~‚~{x{{z~ƒ‚‚‚}}}}}|~€€‚‚ƒ‡‰Š‹‰Šˆƒ€~}}}~~~~‚~~}~~~~}}~€€}{{}~~€‚‚‚‚}}}}}}}€€ƒ„ƒƒ„…‡†„„„…ƒ€€~}}~~~€€}}~~~~}}}ƒ€~€„„‚‚‚„ƒ‚€~~}}}}‚‚‚ƒ‚ƒ„‚‚€€}}}}}|~~}}~~~~~}~~~~ˆˆ‡ˆ‡‡……†„‚šŽ~~}||{€€€€€€€€‚€€}zwwwvvvvwwwww|~~~~~}~~}} \ No newline at end of file diff --git a/examples/hello-vpp/hello-vpp.sln b/examples/hello-vpp/hello-vpp.sln deleted file mode 100644 index 4aa30424..00000000 --- a/examples/hello-vpp/hello-vpp.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27703.2042 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hello-vpp", "hello-vpp.vcxproj", "{2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Debug|x64.ActiveCfg = Debug|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Debug|x64.Build.0 = Debug|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Release|x64.ActiveCfg = Release|x64 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {E209F0AF-0CE9-4817-9ACE-A3972CF479DB} - EndGlobalSection -EndGlobal diff --git a/examples/hello-vpp/hello-vpp.vcxproj b/examples/hello-vpp/hello-vpp.vcxproj deleted file mode 100644 index 8833fb49..00000000 --- a/examples/hello-vpp/hello-vpp.vcxproj +++ /dev/null @@ -1,177 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - 15.0 - {2DB76D84-8637-48B1-ABE1-BFB1DFA09A08} - Win32Proj - hellovpp - $(WindowsSDKVersion.Replace("\","")) - - - - Application - true - v141 - Unicode - - - Application - false - v141 - true - Unicode - - - Application - true - v141 - Unicode - - - Application - false - v141 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - NotUsing - Level3 - Disabled - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);%(AdditionalIncludeDirectories) - false - - - Console - true - $(VPLLIB);%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - Disabled - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);$(ONEAPI_ROOT)\vpl\latest\include;%(AdditionalIncludeDirectories) - false - - - Console - true - $(VPLLIB);$(ONEAPI_ROOT)\vpl\latest\lib;%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);%(AdditionalIncludeDirectories) - false - - - Console - true - true - true - $(VPLLIB);%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - _CRT_SECURE_NO_WARNINGS - true - pch.h - $(VPLINCLUDE);$(ONEAPI_ROOT)\vpl\latest\include;%(AdditionalIncludeDirectories) - false - - - Console - true - true - true - $(VPLLIB);$(ONEAPI_ROOT)\vpl\latest\lib;%(AdditionalLibraryDirectories) - libmfx.lib;%(AdditionalDependencies) - false - - - - - - - - - - - - - - - diff --git a/examples/hello-vpp/hello-vpp.vcxproj.user b/examples/hello-vpp/hello-vpp.vcxproj.user deleted file mode 100644 index fb47ad41..00000000 --- a/examples/hello-vpp/hello-vpp.vcxproj.user +++ /dev/null @@ -1,15 +0,0 @@ - - - - "content\cars_128x96.i420" 128 96 - WindowsLocalDebugger - PATH=$(ONEAPI_ROOT)\vpl\latest\bin;%PATH% - - - - "content\cars_128x96.i420" 128 96 - WindowsLocalDebugger - PATH=$(ONEAPI_ROOT)\vpl\latest\bin;%PATH% - - - diff --git a/examples/hello-vpp/sample.json b/examples/hello-vpp/sample.json index edf05eaa..b9464b56 100644 --- a/examples/hello-vpp/sample.json +++ b/examples/hello-vpp/sample.json @@ -1,5 +1,5 @@ { - "guid": "36C96B55-4DE0-4764-8A41-0F67D2300389", + "guid": "AEDAA6EC-B6E0-4D5F-A97C-0B8312C4D86D", "name": "Hello vpp", "categories": ["Toolkit/Intel® oneAPI Base Toolkit/oneVPL"], "description": "Sample that shows how to use the oneAPI Video Processing Library to perform simple video processing", diff --git a/examples/hello-vpp/src/hello-vpp.cpp b/examples/hello-vpp/src/hello-vpp.cpp index ea9e6d5b..b4bf801c 100644 --- a/examples/hello-vpp/src/hello-vpp.cpp +++ b/examples/hello-vpp/src/hello-vpp.cpp @@ -6,114 +6,85 @@ /// /// A minimal oneAPI Video Processing Library (oneVPL) VPP application, -/// using oneVPL internal memory management for VPP in and -/// external memory for VPP out +/// using 2.x API with internal memory management /// /// @file -#include -#include -#include -#include "vpl/mfxdispatcher.h" -#include "vpl/mfxvideo.h" - -#define MAX_PATH 260 -#define MAX_WIDTH 3840 -#define MAX_HEIGHT 2160 -#define OUTPUT_WIDTH 640 -#define OUTPUT_HEIGHT 480 -#define FRAMERATE 30 -#define OUTPUT_FILE "out.i420" -#define WAIT_100_MILLSECONDS 100 - -#define VERIFY(x, y) \ - if (!(x)) { \ - printf("%s\n", y); \ - goto end; \ - } - -#define ALIGN16(value) (((value + 15) >> 4) << 4) +#include "util/util.h" -mfxStatus LoadRawFrame(mfxFrameSurface1 *surface, FILE *f); -void WriteRawFrame(mfxFrameSurface1 *surface, FILE *f); -char *ValidateFileName(char *in); -mfxU16 ValidateSize(char *in, mfxU16 max); -mfxU32 GetSurfaceSize(mfxU32 fourcc, mfxU16 width, mfxU16 height); +#define OUTPUT_WIDTH 640 +#define OUTPUT_HEIGHT 480 +#define OUTPUT_FILE "out.raw" void Usage(void) { printf("\n"); - printf(" Usage : hello-vpp InputI420File width height\n\n"); - printf(" InputI420File ... input file name (i420 raw frames)\n"); - printf(" width ... input width\n"); - printf(" height ... input height\n\n"); - printf(" Example: hello-vpp in.i420 128 96\n"); + printf(" Usage : hello-vpp\n"); + printf(" -hw use hardware implementation\n"); + printf(" -sw use software implementation\n"); + printf(" -i input file name (sw=I420 raw frames, hw=NV12)\n"); + printf(" -w input width\n"); + printf(" -h input height\n\n"); + printf(" Example: hello-vpp -i in.i420 -w 128 -h 96 -sw\n"); printf( - " To view: ffplay -f rawvideo -pixel_format yuv420p -video_size %dx%d -pixel_format yuv420p %s\n\n", + " To view: ffplay -f rawvideo -pixel_format yuv420p -video_size %dx%d -pixel_format bgra %s\n\n", OUTPUT_WIDTH, OUTPUT_HEIGHT, OUTPUT_FILE); - printf(" * Resize I420 raw frames to %dx%d size in %s\n\n", + printf(" * Resize raw frames to %dx%d size in %s\n\n", OUTPUT_WIDTH, OUTPUT_HEIGHT, OUTPUT_FILE); + printf(" CPU native color format is I420/yuv420p. GPU native color format is NV12\n"); return; } int main(int argc, char *argv[]) { - if (argc != 4) { + //Variables used for legacy and 2.x + bool isDraining = false; + bool isStillGoing = true; + FILE *sink = NULL; + FILE *source = NULL; + mfxFrameSurface1 *vppInSurface = NULL; + mfxFrameSurface1 *vppOutSurface = NULL; + mfxSession session = NULL; + mfxStatus sts = MFX_ERR_NONE; + mfxStatus sts_r = MFX_ERR_NONE; + mfxSyncPoint syncp = {}; + mfxU32 framenum = 0; + mfxVideoParam mfxVPPParams = {}; + void *accelHandle = NULL; + Params cliParams = {}; + mfxVersion version = { 0, 1 }; + mfxVariant impl_value = {}; + + //variables used only in 2.x version + mfxConfig cfg = NULL; + mfxLoader loader = NULL; + + //Parse command line args to cliParams + if (ParseArgsAndValidate(argc, argv, &cliParams, PARAMS_VPP) == false) { Usage(); - return 1; + return 1; // return 1 as error code } - char *in_filename = NULL; - FILE *source = NULL; - FILE *sink = NULL; - mfxStatus sts = MFX_ERR_NONE; - mfxLoader loader = NULL; - mfxConfig cfg = NULL; - mfxVariant impl_value = { 0 }; - mfxSession session = NULL; - mfxU16 input_width = 0; - mfxU16 input_height = 0; - mfxU16 out_width = 0; - mfxU16 out_height = 0; - mfxVideoParam vpp_params = {}; - mfxFrameAllocRequest vpp_request[2] = { 0 }; - mfxU16 num_surfaces_out = 0; - mfxU32 surface_size = 0; - mfxU8 *vpp_data_out = NULL; - mfxFrameSurface1 *vpp_surfaces_in = NULL; - mfxFrameSurface1 *vpp_surfaces_out = NULL; - int available_surface_index = 0; - mfxSyncPoint syncp = { 0 }; - mfxU32 framenum = 0; - bool is_draining = false; - bool is_stillgoing = true; - mfxU16 i; - - // Setup input and output files - in_filename = ValidateFileName(argv[1]); - VERIFY(in_filename, "Input filename is not valid"); - - source = fopen(in_filename, "rb"); + source = fopen(cliParams.infileName, "rb"); VERIFY(source, "Could not open input file"); - sink = fopen(OUTPUT_FILE, "wbx"); + sink = fopen(OUTPUT_FILE, "wb"); VERIFY(sink, "Could not create output file"); - input_width = ValidateSize(argv[2], MAX_WIDTH); - VERIFY(input_width, "Input width is not valid"); - - input_height = ValidateSize(argv[3], MAX_HEIGHT); - VERIFY(input_height, "Input height is not valid"); - - // Initialize VPL session for video processing + // Initialize VPL session loader = MFXLoad(); - VERIFY(NULL != loader, "MFXLoad failed"); + VERIFY(NULL != loader, "MFXLoad failed -- is implementation in path?"); cfg = MFXCreateConfig(loader); VERIFY(NULL != cfg, "MFXCreateConfig failed") + // Implementation used must be the type requested from command line + sts = MFXSetConfigFilterProperty(cfg, (mfxU8 *)"mfxImplDescription.Impl", cliParams.implValue); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed"); + + // Implementation must provide VPP scaling impl_value.Type = MFX_VARIANT_TYPE_U32; impl_value.Data.U32 = MFX_EXTBUFF_VPP_SCALING; sts = MFXSetConfigFilterProperty( @@ -123,124 +94,77 @@ int main(int argc, char *argv[]) { VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed"); sts = MFXCreateSession(loader, 0, &session); - VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session supporting VPP"); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); + + // Print info about implementation loaded + version = ShowImplInfo(session); + VERIFY(version.Major > 1, "Sample requires 2.x API implementation, exiting"); + + // Convenience function to initialize available accelerator(s) + accelHandle = InitAcceleratorHandle(session); // Initialize VPP parameters - // Input data - vpp_params.vpp.In.FourCC = MFX_FOURCC_I420; - vpp_params.vpp.In.ChromaFormat = MFX_CHROMAFORMAT_YUV420; - vpp_params.vpp.In.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; - vpp_params.vpp.In.FrameRateExtN = FRAMERATE; - vpp_params.vpp.In.FrameRateExtD = 1; - vpp_params.vpp.In.CropW = input_width; - vpp_params.vpp.In.CropH = input_height; - vpp_params.vpp.In.Width = ALIGN16(input_width); - vpp_params.vpp.In.Height = ALIGN16(input_height); - // Output data - change output size to OUTPUT_WIDTH, OUTPUT_HEIGHT - vpp_params.vpp.Out.FourCC = MFX_FOURCC_I420; - vpp_params.vpp.Out.ChromaFormat = MFX_CHROMAFORMAT_YUV420; - vpp_params.vpp.Out.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; - vpp_params.vpp.Out.FrameRateExtN = FRAMERATE; - vpp_params.vpp.Out.FrameRateExtD = 1; - vpp_params.vpp.Out.CropW = OUTPUT_WIDTH; - vpp_params.vpp.Out.CropH = OUTPUT_HEIGHT; - vpp_params.vpp.Out.Width = ALIGN16(OUTPUT_WIDTH); - vpp_params.vpp.Out.Height = ALIGN16(OUTPUT_HEIGHT); - - vpp_params.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY; - - // Query number of required surfaces for VPP - sts = MFXVideoVPP_QueryIOSurf(session, &vpp_params, vpp_request); - VERIFY(MFX_ERR_NONE == sts, "QueryIOSurf error"); - - num_surfaces_out = vpp_request[1].NumFrameSuggested; - - // Allocate surfaces for VPP out - // Frame surface array keeps pointers to all surface planes and general - // frame info - out_width = vpp_params.vpp.Out.Width; - out_height = vpp_params.vpp.Out.Height; - - surface_size = GetSurfaceSize(MFX_FOURCC_I420, out_width, out_height); - VERIFY(surface_size, "VPP out surface size is wrong"); - - vpp_data_out = (mfxU8 *)calloc(num_surfaces_out, surface_size); - VERIFY(vpp_data_out, "Could not allocate buffer for VPP output frames"); - - vpp_surfaces_out = (mfxFrameSurface1 *)calloc(num_surfaces_out, sizeof(mfxFrameSurface1)); - VERIFY(vpp_surfaces_out, "Could not allocate VPP output surfaces"); - - for (i = 0; i < num_surfaces_out; i++) { - vpp_surfaces_out[i].Info = vpp_params.vpp.Out; - vpp_surfaces_out[i].Data.Y = &vpp_data_out[surface_size * i]; - vpp_surfaces_out[i].Data.U = vpp_surfaces_out[i].Data.Y + out_width * out_height; - vpp_surfaces_out[i].Data.V = - vpp_surfaces_out[i].Data.U + ((out_width / 2) * (out_height / 2)); - vpp_surfaces_out[i].Data.Pitch = out_width; + if (MFX_IMPL_SOFTWARE == cliParams.impl) { + PrepareFrameInfo(&mfxVPPParams.vpp.In, + MFX_FOURCC_I420, + cliParams.srcWidth, + cliParams.srcHeight); + PrepareFrameInfo(&mfxVPPParams.vpp.Out, MFX_FOURCC_BGRA, OUTPUT_WIDTH, OUTPUT_HEIGHT); + } + else { + PrepareFrameInfo(&mfxVPPParams.vpp.In, + MFX_FOURCC_NV12, + cliParams.srcWidth, + cliParams.srcHeight); + PrepareFrameInfo(&mfxVPPParams.vpp.Out, MFX_FOURCC_BGRA, OUTPUT_WIDTH, OUTPUT_HEIGHT); } - // Initialize VPP and start processing - sts = MFXVideoVPP_Init(session, &vpp_params); + mfxVPPParams.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + + // Initialize VPP + sts = MFXVideoVPP_Init(session, &mfxVPPParams); VERIFY(MFX_ERR_NONE == sts, "Could not initialize VPP"); - printf("Processing %s -> %s\n", in_filename, OUTPUT_FILE); + printf("Processing %s -> %s\n", cliParams.infileName, OUTPUT_FILE); - while (is_stillgoing == true) { + while (isStillGoing == true) { // Load a new frame if not draining - if (is_draining == false) { - vpp_surfaces_in = NULL; - - sts = MFXMemory_GetSurfaceForVPP(session, &vpp_surfaces_in); - VERIFY(MFX_ERR_NONE == sts, "Unknown error in MFXMemory_GetSurfaceForVPP"); - - // Map makes surface writable by CPU for all implementations - sts = vpp_surfaces_in->FrameInterface->Map(vpp_surfaces_in, MFX_MAP_WRITE); - VERIFY(MFX_ERR_NONE == sts, "mfxFrameSurfaceInterface->Map failed"); - - sts = LoadRawFrame(vpp_surfaces_in, source); - if (sts != MFX_ERR_NONE) - is_draining = true; - - // Unmap/release returns local device access for all implementations - sts = vpp_surfaces_in->FrameInterface->Unmap(vpp_surfaces_in); - VERIFY(MFX_ERR_NONE == sts, "mfxFrameSurfaceInterface->Unmap failed"); - - sts = vpp_surfaces_in->FrameInterface->Release(vpp_surfaces_in); - VERIFY(MFX_ERR_NONE == sts, "mfxFrameSurfaceInterface->Release failed"); - } - - // Find free frame surface for VPP out - available_surface_index = -1; - for (int i = 0; i < num_surfaces_out; i++) { - if (!vpp_surfaces_out[i].Data.Locked) { - available_surface_index = i; - break; - } + if (isDraining == false) { + sts = MFXMemory_GetSurfaceForVPPIn(session, &vppInSurface); + VERIFY(MFX_ERR_NONE == sts, "Unknown error in MFXMemory_GetSurfaceForVPPIn"); + + sts = ReadRawFrame_InternalMem(vppInSurface, source); + if (sts == MFX_ERR_MORE_DATA) + isDraining = true; + else + VERIFY(MFX_ERR_NONE == sts, "Unknown error reading input"); + + sts = MFXMemory_GetSurfaceForVPPOut(session, &vppOutSurface); + VERIFY(MFX_ERR_NONE == sts, "Unknown error in MFXMemory_GetSurfaceForVPPIn"); } - VERIFY(available_surface_index >= 0, "Could not find available output surface"); sts = MFXVideoVPP_RunFrameVPPAsync(session, - (is_draining == true) ? NULL : vpp_surfaces_in, - &vpp_surfaces_out[available_surface_index], + (isDraining == true) ? NULL : vppInSurface, + vppOutSurface, NULL, &syncp); + if (!isDraining) { + sts_r = vppInSurface->FrameInterface->Release(vppInSurface); + VERIFY(MFX_ERR_NONE == sts_r, "mfxFrameSurfaceInterface->Release failed"); + } + switch (sts) { case MFX_ERR_NONE: - // MFX_ERR_NONE and syncp indicate output is available - if (syncp) { - // VPP output is not available on CPU until sync operation completes - sts = MFXVideoCORE_SyncOperation(session, syncp, WAIT_100_MILLSECONDS); - VERIFY(MFX_ERR_NONE == sts, "MFXVideoCORE_SyncOperation error"); - - WriteRawFrame(&vpp_surfaces_out[available_surface_index], sink); - framenum++; - } + sts = WriteRawFrame_InternalMem(vppOutSurface, sink); + VERIFY(MFX_ERR_NONE == sts, "Could not write vpp output"); + + framenum++; break; case MFX_ERR_MORE_DATA: // Need more input frames before VPP can produce an output - if (is_draining == true) - is_stillgoing = false; + if (isDraining) + isStillGoing = false; break; case MFX_ERR_MORE_SURFACE: // The output frame is ready after synchronization. @@ -258,7 +182,7 @@ int main(int argc, char *argv[]) { break; default: printf("unknown status %d\n", sts); - is_stillgoing = false; + isStillGoing = false; break; } } @@ -269,139 +193,20 @@ int main(int argc, char *argv[]) { // Clean up resources - It is recommended to close components first, before // releasing allocated surfaces, since some surfaces may still be locked by // internal resources. - if (loader) - MFXUnload(loader); - - if (vpp_surfaces_out) { - free(vpp_surfaces_out); - } - - if (vpp_data_out) - free(vpp_data_out); - if (source) fclose(source); if (sink) fclose(sink); - return 0; -} - -// Load raw I420 frames to mfxFrameSurface -mfxStatus LoadRawFrame(mfxFrameSurface1 *surface, FILE *f) { - mfxU16 w, h, i, pitch; - mfxU32 bytes_read; - mfxU8 *ptr; - mfxFrameInfo *info = &surface->Info; - mfxFrameData *data = &surface->Data; - - w = info->Width; - h = info->Height; - - switch (info->FourCC) { - case MFX_FOURCC_I420: - // read luminance plane (Y) - pitch = data->Pitch; - ptr = data->Y; - for (i = 0; i < h; i++) { - bytes_read = (mfxU32)fread(ptr + i * pitch, 1, w, f); - if (w != bytes_read) - return MFX_ERR_MORE_DATA; - } - - // read chrominance (U, V) - pitch /= 2; - h /= 2; - w /= 2; - ptr = data->U; - for (i = 0; i < h; i++) { - bytes_read = (mfxU32)fread(ptr + i * pitch, 1, w, f); - if (w != bytes_read) - return MFX_ERR_MORE_DATA; - } - - ptr = data->V; - for (i = 0; i < h; i++) { - bytes_read = (mfxU32)fread(ptr + i * pitch, 1, w, f); - if (w != bytes_read) - return MFX_ERR_MORE_DATA; - } - break; - default: - printf("Unsupported FourCC code, skip LoadRawFrame\n"); - break; - } - - return MFX_ERR_NONE; -} - -// Write raw I420 frame to file -void WriteRawFrame(mfxFrameSurface1 *surface, FILE *f) { - mfxU16 w, h, i, pitch; - mfxFrameInfo *info = &surface->Info; - mfxFrameData *data = &surface->Data; - - w = info->Width; - h = info->Height; - - switch (info->FourCC) { - case MFX_FOURCC_I420: - // write luminance plane (Y) - pitch = data->Pitch; - for (i = 0; i < h; i++) { - fwrite(data->Y + i * pitch, 1, w, f); - } - - // write chrominance (U, V) - pitch /= 2; - h /= 2; - w /= 2; - for (i = 0; i < h; i++) { - fwrite(data->U + i * pitch, 1, w, f); - } - - for (i = 0; i < h; i++) { - fwrite(data->V + i * pitch, 1, w, f); - } - break; - default: - printf("Unsupported FourCC code, skip WriteRawFrame\n"); - break; - } - - return; -} + MFXVideoVPP_Close(session); + MFXClose(session); -// Return the surface size in bytes given format and dimensions -mfxU32 GetSurfaceSize(mfxU32 fourcc, mfxU16 width, mfxU16 height) { - mfxU32 bytes = 0; + if (accelHandle) + FreeAcceleratorHandle(accelHandle); - switch (fourcc) { - case MFX_FOURCC_I420: - bytes = width * height + (width >> 1) * (height >> 1) + (width >> 1) * (height >> 1); - break; - default: - break; - } - - return bytes; -} - -char *ValidateFileName(char *in) { - if (in) { - if (strlen(in) > MAX_PATH) - return NULL; - } - - return in; -} - -mfxU16 ValidateSize(char *in, mfxU16 max) { - mfxU16 isize = (mfxU16)strtol(in, NULL, 10); - if (isize <= 0 || isize > max) { - return 0; - } + if (loader) + MFXUnload(loader); - return isize; + return 0; } diff --git a/examples/preview/hello-decode-infer/CMakeLists.txt b/examples/preview/hello-decode-infer/CMakeLists.txt new file mode 100644 index 00000000..a46fd158 --- /dev/null +++ b/examples/preview/hello-decode-infer/CMakeLists.txt @@ -0,0 +1,74 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) +project(hello-decode-infer-preview) + +if(NOT TARGET vpl-example-util) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../util + ${CMAKE_CURRENT_BINARY_DIR}/util) +endif() + +# Default install places 64 bit runtimes in the environment, so we want to do a +# 64 bit build by default. +if(WIN32) + if(NOT DEFINED CMAKE_GENERATOR_PLATFORM) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") + endif() +endif() + +set(TARGET hello-decode-infer-prefix) +set(SOURCES src/hello-decode-infer.cpp) +set(CONTENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../../content) +set(RUNARGS -sw -i ${CONTENTPATH}/cars_128x96.h265 -m + ${CONTENTPATH}/public/alexnet/FP32/alexnet.xml) + +# Set default build type to RelWithDebInfo if not specified +if(NOT CMAKE_BUILD_TYPE) + message( + STATUS "Default CMAKE_BUILD_TYPE not set using Release with Debug Info") + set(CMAKE_BUILD_TYPE + "RelWithDebInfo" + CACHE + STRING + "Choose build type from: None Debug Release RelWithDebInfo MinSizeRel" + FORCE) +endif() + +add_executable(${TARGET} ${SOURCES}) + +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + if(NOT DEFINED ENV{VSCMD_VER}) + set(CMAKE_MSVCIDE_RUN_PATH $ENV{PATH}) + endif() +endif() + +if(POLICY CMP0074) + # ignore warning of VPL_ROOT in find_package search path + cmake_policy(SET CMP0074 OLD) +endif() + +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +find_path(VPL_UTIL_PATH util/util.h vpl-example-util + ${CMAKE_CURRENT_SOURCE_DIR}/../util) +target_include_directories(${TARGET} PRIVATE . ${VPL_UTIL_PATH}) + +find_package(InferenceEngine REQUIRED) +target_link_libraries(${TARGET} ${InferenceEngine_LIBRARIES}) +include_directories(${TARGET} PRIVATE ${InferenceEngine_INCLUDE_DIRS}) + +get_directory_property(has_parent PARENT_DIRECTORY) +if(NOT has_parent) + # only make run target available for stand-alone build + add_custom_target(run ${TARGET} ${RUNARGS}) +else() + install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) +endif() diff --git a/examples/preview/hello-decode-infer/CPPLINT.cfg b/examples/preview/hello-decode-infer/CPPLINT.cfg new file mode 100644 index 00000000..03c80b6f --- /dev/null +++ b/examples/preview/hello-decode-infer/CPPLINT.cfg @@ -0,0 +1 @@ +filter=-build/namespaces diff --git a/examples/preview/hello-decode-infer/License.txt b/examples/preview/hello-decode-infer/License.txt new file mode 100644 index 00000000..1756b565 --- /dev/null +++ b/examples/preview/hello-decode-infer/License.txt @@ -0,0 +1,18 @@ +Copyright Intel Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/examples/preview/hello-decode-infer/PreLoad.cmake b/examples/preview/hello-decode-infer/PreLoad.cmake new file mode 100644 index 00000000..b763e9fa --- /dev/null +++ b/examples/preview/hello-decode-infer/PreLoad.cmake @@ -0,0 +1,6 @@ +if(WIN32) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") +endif() diff --git a/examples/preview/hello-decode-infer/README.md b/examples/preview/hello-decode-infer/README.md new file mode 100644 index 00000000..7f52fd39 --- /dev/null +++ b/examples/preview/hello-decode-infer/README.md @@ -0,0 +1,156 @@ +# `hello-decode-infer` Sample + +This sample shows how to use the oneAPI Video Processing Library (oneVPL) to +perform a simple video decode and inference using OpenVINO + +| Optimized for | Description +|----------------- | ---------------------------------------- +| OS | Ubuntu* 20.04; Windows* 10 +| Hardware | Intel® Processor Graphics GEN9 or newer +| Software | Intel® oneAPI Video Processing Library(oneVPL) and Intel® OpenVINO +| What You Will Learn | How to use oneVPL to decode an H.265 encoded video file and perform per-frame objection classification inference +| Time to Complete | 5 minutes + + +## Purpose + +This sample is a command line application that takes a file containing an H.265 +video elementary stream as an argument, decodes it with oneVPL and perform +object classification on each frame using OpenVINO. + + +## Key Implementation details + +| Configuration | Default setting +| ----------------- | ---------------------------------- +| Target device | CPU +| Input format | H.265 video elementary stream + + +## License + +This code sample is licensed under MIT license. + + +## Building the `hello-decode-infer` Program + +### On a Linux* System + +Perform the following steps: + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Linux* + - Intel® OpenVINO 2021.2 for Linux* + - [Python](http://python.org) + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + source /setvars.sh + source /bin/setupvars.sh + ``` + Here `` represents the root folder of your oneAPI + installation, which is `/opt/intel/oneapi/` when installed as root, and + `~/intel/oneapi/` when installed as a normal user. `` + represents the root folder of your OpenVINO installation, which is + `/opt/intel/openvino/` when installed as root. If you customized the + installation folders, it is in your custom location. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Download the Alexnet classification model from OpenVINO model zoo + ``` + pip3 install -r /deployment_tools/model_optimizer/requirements.txt + pip3 install -r /deployment_tools/open_model_zoo/tools/downloader/requirements.in + /deployment_tools/open_model_zoo/tools/downloader/downloader.py --output_dir ../../content --precisions FP32 --name alexnet + /deployment_tools/open_model_zoo/tools/downloader/converter.py --download_dir ../../content --name alexnet + ``` + +5. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +### On a Windows* System Using Visual Studio* Version 2017 or Newer + +#### Building the program using CMake + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Windows* + - Intel® OpenVINO 2021.2 for Windows* + - [Python 3.8 or earlier](http://python.org) + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + \setvars.bat + \bin\setupvars.bat + ``` + Here `` represents the root folder of your oneAPI + installation, which is which is `C:\Program Files (x86)\Intel\oneAPI\` + when installed using default options. `` represents + the root folder of your OpenVINO installation, which is + `C:\Program Files (x86)\Intel\openvino_2021\` when installed using default options. + If you customized the installation folders, the `setvars.bat` and `setupvars.bat` + are in your custom locations. Note that if a compiler is not part of your + oneAPI installation you should run in a Visual Studio 64-bit command prompt. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Download the Alexnet classification model from OpenVINO model zoo + ``` + \deployment_tools\model_optimizer\install_prerequisites\install_prerequisites.bat + pip install -r \deployment_tools\open_model_zoo\tools\downloader\requirements.in + \deployment_tools\open_model_zoo\tools\downloader\downloader.py --output_dir ..\..\content --precisions FP32 --name alexnet + \deployment_tools\open_model_zoo\tools\downloader\converter.py --download_dir ..\..\content --name alexnet + ``` + +5. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +## Running the Sample + +### Application Parameters + +The instructions given above run the sample executable with the argument +`examples/content/cars_128x96.h265` and `examples/content/public/alexnet/FP32/alexnet.xml`. + + +### Example of Output + +``` +Implementation info + version = 2.2 + impl = Software +Decoding and inferring hello-decode-infer/../content/cars_128x96.h265 with hello-decode-infer/../content/public/alexnet/FP32/alexnet.xml +[edited] +Top 5 results for video frame: +classid probability +------- ----------- +817 0.429395 +511 0.159974 +751 0.044094 +627 0.042601 +468 0.039582 +Decoded 60 frames +``` diff --git a/examples/preview/hello-decode-infer/sample.json b/examples/preview/hello-decode-infer/sample.json new file mode 100644 index 00000000..09b6ead8 --- /dev/null +++ b/examples/preview/hello-decode-infer/sample.json @@ -0,0 +1,35 @@ +{ + "guid": "AEDAA6EC-B6E0-4D5F-A97C-0B8312C4D86D", + "name": "Hello decode infer", + "categories": ["Toolkit/Intel® oneAPI Base Toolkit/oneVPL"], + "description": "Sample that shows how to use the oneAPI Video Processing Library to perform a simple video decode and infer", + "dependencies": ["vpl", "openvino"], + "os": ["linux", "windows"], + "languages": [{"cpp":{}}], + "builder": [ "ide", "cmake"], + "targetDevice": ["CPU", "GPU"], + "ciTests": { + "linux": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ], + "windows": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ] + } +} diff --git a/examples/preview/hello-decode-infer/src/hello-decode-infer.cpp b/examples/preview/hello-decode-infer/src/hello-decode-infer.cpp new file mode 100644 index 00000000..3d7c7168 --- /dev/null +++ b/examples/preview/hello-decode-infer/src/hello-decode-infer.cpp @@ -0,0 +1,289 @@ +//============================================================================== +// Copyright Intel Corporation +// +// SPDX-License-Identifier: MIT +//============================================================================== + +/// +/// A minimal oneAPI Video Processing Library (oneVPL) decode and infer application, +/// using 2.x API with internal memory management +/// +/// @file + +#include +#include "util/util.h" +using namespace InferenceEngine; + +#define BITSTREAM_BUFFER_SIZE 2000000 +#define MAX_RESULTS 5 + +void Usage(void) { + printf("\n"); + printf(" Usage : hello-decode-infer \n\n"); + printf(" -sw/-hw use software or hardware implementation\n"); + printf(" -i input file name (HEVC elementary stream)\n\n"); + printf(" -m input model name (OpenVINO)\n\n"); + printf(" Example: hello-decode-infer -sw -i in.h265 -m alexnet.xml\n"); + return; +} + +// Sort and extract top n results from output blob +void PrintTopResults(const Blob::Ptr &output) { + SizeVector dims = output->getTensorDesc().getDims(); + if (0 == dims.size() || 1 != dims[0]) { + printf("Output blob has incorrect dimensions, skipping\n"); + return; + } + + unsigned n = static_cast(std::min((size_t)MAX_RESULTS, output->size())); + float *batchData = output->cbuffer().as(); + std::vector indexes(output->size()); + + std::iota(std::begin(indexes), std::end(indexes), 0); + std::partial_sort(std::begin(indexes), + std::begin(indexes) + n, + std::end(indexes), + [&batchData](unsigned l, unsigned r) { + return batchData[l] > batchData[r]; + }); + + printf("\nTop %d results for video frame:", n); + printf("\nclassid probability\n"); + printf("------- -----------\n"); + for (unsigned j = 0; j < n; j++) { + printf("%d %f\n", indexes.at(j), batchData[indexes.at(j)]); + } +} + +// Perform classify inference on video frame +void InferFrame(mfxFrameSurface1 *surface, + InferRequest *infer_request, + std::string input_name, + std::string output_name) { + mfxFrameInfo *info = &surface->Info; + mfxFrameData *data = &surface->Data; + Blob::Ptr in_blob, out_blob; + size_t w = info->Width; + size_t h = info->Height; + size_t p = data->Pitch; + + switch (info->FourCC) { + case MFX_FOURCC_I420: { + TensorDesc y_desc(Precision::U8, { 1, 1, h, p }, Layout::NHWC); + TensorDesc uv_desc(Precision::U8, { 1, 1, h / 2, p / 2 }, Layout::NHWC); + + Blob::Ptr y_blob = make_shared_blob(y_desc, data->Y); + Blob::Ptr u_blob = make_shared_blob(uv_desc, data->U); + Blob::Ptr v_blob = make_shared_blob(uv_desc, data->V); + + in_blob = make_shared_blob(y_blob, u_blob, v_blob); + } break; + + case MFX_FOURCC_NV12: { + TensorDesc y_desc(Precision::U8, { 1, 1, h, p }, Layout::NHWC); + TensorDesc uv_desc(Precision::U8, { 1, 2, h / 2, p / 2 }, Layout::NHWC); + + Blob::Ptr y_blob = make_shared_blob(y_desc, data->Y); + Blob::Ptr uv_blob = make_shared_blob(uv_desc, data->UV); + + in_blob = make_shared_blob(y_blob, uv_blob); + } break; + + default: + printf("Unsupported FourCC code, skip InferFrame\n"); + return; + } + + infer_request->SetBlob(input_name, in_blob); + infer_request->Infer(); + out_blob = infer_request->GetBlob(output_name); + + PrintTopResults(out_blob); +} + +int main(int argc, char *argv[]) { + FILE *source = NULL; + FILE *sink = NULL; + mfxSession session = NULL; + mfxFrameSurface1 *decSurfaceOut = NULL; + void *accelHandle = NULL; + mfxLoader loader = NULL; + mfxConfig cfg = NULL; + mfxBitstream bitstream = {}; + mfxSyncPoint syncp = {}; + mfxVersion version = { 0, 1 }; + mfxVideoParam mfxDecParams = {}; + mfxU32 frameNum = 0; + bool isDraining = false; + bool isStillGoing = true; + mfxStatus sts = MFX_ERR_NONE; + Params cliParams = {}; + + // OpenVINO + Core ie; + CNNNetwork network; + std::string input_name, output_name; + InputInfo::Ptr input_info; + DataPtr output_info; + ExecutableNetwork executable_network; + InferRequest infer_request; + + //Parse command line args to cliParams + if (ParseArgsAndValidate(argc, argv, &cliParams, PARAMS_DECODE) == false) { + Usage(); + return 1; // return 1 as error code + } + + source = fopen(cliParams.infileName, "rb"); + VERIFY(source, "Could not open input file"); + + // Initialize VPL session for any implementation of HEVC/H265 decode + loader = MFXLoad(); + VERIFY(NULL != loader, "MFXLoad failed -- is implementation in path?"); + + cfg = MFXCreateConfig(loader); + VERIFY(NULL != cfg, "MFXCreateConfig failed") + + sts = MFXSetConfigFilterProperty(cfg, (mfxU8 *)"mfxImplDescription.Impl", cliParams.implValue); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed"); + + sts = MFXCreateSession(loader, 0, &session); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); + + // Print info about implementation loaded + version = ShowImplInfo(session); + VERIFY(version.Major > 1, "Sample requires 2.x API implementation, exiting"); + + // Convenience function to initialize available accelerator(s) + accelHandle = InitAcceleratorHandle(session); + + // Prepare input bitstream and start decoding + bitstream.MaxLength = BITSTREAM_BUFFER_SIZE; + bitstream.Data = (mfxU8*)calloc(bitstream.MaxLength, sizeof(mfxU8); + VERIFY(bitstream.Data, "Not able to allocate input buffer"); + bitstream.CodecId = MFX_CODEC_HEVC; + + sts = ReadEncodedStream(bitstream, source); + VERIFY(MFX_ERR_NONE == sts, "Error reading bitstream\n"); + + mfxDecParams.mfx.CodecId = MFX_CODEC_HEVC; + mfxDecParams.IOPattern = MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + sts = MFXVideoDECODE_DecodeHeader(session, &bitstream, &mfxDecParams); + VERIFY(MFX_ERR_NONE == sts, "Error decoding header\n"); + + // input parameters finished, now initialize decode + sts = MFXVideoDECODE_Init(session, &mfxDecParams); + VERIFY(MFX_ERR_NONE == sts, "Error initializing decode\n"); + + // Setup OpenVINO Inference Engine + network = ie.ReadNetwork(cliParams.inmodelName); + VERIFY(network.getInputsInfo().size() == 1, "Sample supports topologies with 1 input only"); + VERIFY(network.getOutputsInfo().size() == 1, "Sample supports topologies with 1 output only"); + + input_info = network.getInputsInfo().begin()->second; + input_info->getPreProcess().setResizeAlgorithm(RESIZE_BILINEAR); + input_info->getPreProcess().setColorFormat( + mfxDecParams.mfx.FrameInfo.FourCC == MFX_FOURCC_I420 ? I420 : NV12); + input_info->setLayout(Layout::NHWC); + input_info->setPrecision(Precision::U8); + input_name = network.getInputsInfo().begin()->first; + + output_info = network.getOutputsInfo().begin()->second; + output_info->setPrecision(Precision::FP32); + output_name = network.getOutputsInfo().begin()->first; + + executable_network = + ie.LoadNetwork(network, cliParams.impl == MFX_IMPL_SOFTWARE ? "CPU" : "GPU"); + infer_request = executable_network.CreateInferRequest(); + + printf("Decoding and infering %s with %s\n", cliParams.infileName, cliParams.inmodelName); + + while (isStillGoing == true) { + // Load encoded stream if not draining + if (isDraining == false) { + sts = ReadEncodedStream(bitstream, source); + if (sts != MFX_ERR_NONE) + isDraining = true; + } + + sts = MFXVideoDECODE_DecodeFrameAsync(session, + (isDraining) ? NULL : &bitstream, + NULL, + &decSurfaceOut, + &syncp); + + switch (sts) { + case MFX_ERR_NONE: + do { + sts = decSurfaceOut->FrameInterface->Synchronize(decSurfaceOut, + WAIT_100_MILLISECONDS); + if (MFX_ERR_NONE == sts) { + InferFrame(decSurfaceOut, &infer_request, input_name, output_name); + frameNum++; + } + } while (sts == MFX_WRN_IN_EXECUTION); + break; + case MFX_ERR_MORE_DATA: + // The function requires more bitstream at input before decoding can proceed + if (isDraining) + isStillGoing = false; + break; + case MFX_ERR_MORE_SURFACE: + // The function requires more frame surface at output before decoding can proceed. + // This applies to external memory allocations and should not be expected for + // a simple internal allocation case like this + break; + case MFX_ERR_DEVICE_LOST: + // For non-CPU implementations, + // Cleanup if device is lost + break; + case MFX_WRN_DEVICE_BUSY: + // For non-CPU implementations, + // Wait a few milliseconds then try again + break; + case MFX_WRN_VIDEO_PARAM_CHANGED: + // The decoder detected a new sequence header in the bitstream. + // Video parameters may have changed. + // In external memory allocation case, might need to reallocate the output surface + break; + case MFX_ERR_INCOMPATIBLE_VIDEO_PARAM: + // The function detected that video parameters provided by the application + // are incompatible with initialization parameters. + // The application should close the component and then reinitialize it + break; + case MFX_ERR_REALLOC_SURFACE: + // Bigger surface_work required. May be returned only if + // mfxInfoMFX::EnableReallocRequest was set to ON during initialization. + // This applies to external memory allocations and should not be expected for + // a simple internal allocation case like this + break; + default: + printf("unknown status %d\n", sts); + isStillGoing = false; + break; + } + } + +end: + printf("Decoded %d frames\n", frameNum); + + // Clean up resources - It is recommended to close components first, before + // releasing allocated surfaces, since some surfaces may still be locked by + // internal resources. + if (loader) + MFXUnload(loader); + + if (sink) + fclose(sink); + + MFXVideoDECODE_Close(session); + MFXClose(session); + + if (bitstream.Data) + free(bitstream.Data); + + if (accelHandle) + FreeAcceleratorHandle(accelHandle); + + return 0; +} diff --git a/examples/preview/legacy-createsession/CMakeLists.txt b/examples/preview/legacy-createsession/CMakeLists.txt new file mode 100644 index 00000000..850d0498 --- /dev/null +++ b/examples/preview/legacy-createsession/CMakeLists.txt @@ -0,0 +1,69 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) +project(legacy-createsession-preview) + +if(NOT TARGET vpl-example-util) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../util + ${CMAKE_CURRENT_BINARY_DIR}/util) +endif() + +# Default install places 64 bit runtimes in the environment, so we want to do a +# 64 bit build by default. +if(WIN32) + if(NOT DEFINED CMAKE_GENERATOR_PLATFORM) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") + endif() +endif() + +set(TARGET legacy-createsession) +set(SOURCES src/legacy-createsession.cpp) +set(CONTENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../../content) +set(RUNARGS "-sw") + +# Set default build type to RelWithDebInfo if not specified +if(NOT CMAKE_BUILD_TYPE) + message( + STATUS "Default CMAKE_BUILD_TYPE not set using Release with Debug Info") + set(CMAKE_BUILD_TYPE + "RelWithDebInfo" + CACHE + STRING + "Choose build type from: None Debug Release RelWithDebInfo MinSizeRel" + FORCE) +endif() + +add_executable(${TARGET} ${SOURCES}) + +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + if(NOT DEFINED ENV{VSCMD_VER}) + set(CMAKE_MSVCIDE_RUN_PATH $ENV{PATH}) + endif() +endif() + +if(POLICY CMP0074) + # ignore warning of VPL_ROOT in find_package search path + cmake_policy(SET CMP0074 OLD) +endif() + +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +find_path(VPL_UTIL_PATH util/util.h vpl-example-util + ${CMAKE_CURRENT_SOURCE_DIR}/../../util) +target_include_directories(${TARGET} PRIVATE . ${VPL_UTIL_PATH}) + +get_directory_property(has_parent PARENT_DIRECTORY) +if(NOT has_parent) + # only make run target available for stand-alone build + add_custom_target(run ${TARGET} ${RUNARGS}) +else() + install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) +endif() diff --git a/examples/preview/legacy-createsession/License.txt b/examples/preview/legacy-createsession/License.txt new file mode 100644 index 00000000..1756b565 --- /dev/null +++ b/examples/preview/legacy-createsession/License.txt @@ -0,0 +1,18 @@ +Copyright Intel Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/examples/preview/legacy-createsession/README.md b/examples/preview/legacy-createsession/README.md new file mode 100644 index 00000000..30c9a335 --- /dev/null +++ b/examples/preview/legacy-createsession/README.md @@ -0,0 +1,119 @@ +# `legacy-createsession` Sample + +This sample shows how to use the oneAPI Video Processing Library (oneVPL) to +perform a simple video decode using 1.x common APIs. + +| Optimized for | Description +|----------------- | ---------------------------------------- +| OS | Ubuntu* 20.04; Windows* 10 +| Hardware | Intel® Processor Graphics GEN9 or newer +| Software | Intel® oneAPI Video Processing Library(oneVPL) +| What You Will Learn | How to use oneVPL sessions +| Time to Complete | 5 minutes + + +## Purpose + +This sample is a command line application that initializes a session. This is a +hello world case to showcase oneVPL architecture. + + +## Key Implementation details + +| Configuration | Default setting +| ----------------- | ---------------------------------- +| Target device | CPU or GPU + + +## License + +This code sample is licensed under MIT license. + + +## Building the `legacy-createsession` Program + +### On a Linux* System + +Perform the following steps: + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Linux* + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + source /setvars.sh + ``` + Here `` represents the root folder of your oneAPI + installation, which is `/opt/intel/oneapi/` when installed as root, and + `~/intel/oneapi/` when installed as a normal user. If you customized the + installation folder, it is in your custom location. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +### On a Windows* System Using Visual Studio* Version 2017 or Newer + +#### Building the program using CMake + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Windows* + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + \setvars.bat + ``` + Here `` represents the root folder of your oneAPI + installation, which is which is `C:\Program Files (x86)\Intel\oneAPI\` + when installed using default options. If you customized the installation + folder, the `setvars.bat` is in your custom location. Note that if a + compiler is not part of your oneAPI installation you should run in a Visual + Studio 64-bit command prompt. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +## Running the Sample + +### Application Parameters + +``` + -hw use hardware implementation + -sw use software implementation +``` + +### Example of Output + +``` +Implementation info + version = 2.2 + impl = Software +``` + diff --git a/examples/preview/legacy-createsession/sample.json b/examples/preview/legacy-createsession/sample.json new file mode 100644 index 00000000..b63b74ea --- /dev/null +++ b/examples/preview/legacy-createsession/sample.json @@ -0,0 +1,35 @@ +{ + "guid": "AEDAA6EC-B6E0-4D5F-A97C-0B8312C4D86D", + "name": "Legacy decode", + "categories": ["Toolkit/Intel® oneAPI Base Toolkit/oneVPL"], + "description": "Shows oneAPI Video Processing Library common API session init", + "dependencies": ["vpl"], + "os": ["linux", "windows"], + "languages": [{"cpp":{}}], + "builder": [ "ide", "cmake"], + "targetDevice": ["CPU", "GPU"], + "ciTests": { + "linux": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ], + "windows": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ] + } +} diff --git a/examples/preview/legacy-createsession/src/legacy-createsession.cpp b/examples/preview/legacy-createsession/src/legacy-createsession.cpp new file mode 100644 index 00000000..70fd9b34 --- /dev/null +++ b/examples/preview/legacy-createsession/src/legacy-createsession.cpp @@ -0,0 +1,83 @@ +//============================================================================== +// Copyright Intel Corporation +// +// SPDX-License-Identifier: MIT +//============================================================================== + +/// +/// A minimal oneAPI Video Processing Library (oneVPL) session creation application, +/// using 1.34 API subset without removed features +/// +/// @file + +#include "util/util.h" + +void Usage(void) { + printf("\n"); + printf(" Usage : legacy-createsession\n"); + printf(" -hw use hardware implementation\n"); + printf(" -sw use software implementation\n"); + printf(" Initializes oneVPL session\n\n"); + return; +} + +int main(int argc, char *argv[]) { + //Variables used for legacy and 2.x + mfxSession session = NULL; + mfxStatus sts = MFX_ERR_NONE; + void *accelHandle = NULL; + Params cliParams; + + //Variables used only in legacy version + mfxVersion version = { 0, 1 }; + + //Parse command line args to cliParams + if (ParseArgsAndValidate(argc, argv, &cliParams, PARAMS_CREATESESSION) == false) { + Usage(); + return 1; // return 1 as error code + } + + // Initialize VPL session +#ifdef USE_MEDIASDK1 + sts = MFXInit(cliParams.impl, &version, &session); + VERIFY(MFX_ERR_NONE == sts, "Not able to create session with MFXInit"); +#else + mfxConfig cfg = NULL; + mfxLoader loader = NULL; + + loader = MFXLoad(); + VERIFY(NULL != loader, "MFXLoad failed -- is implementation in path?"); + + cfg = MFXCreateConfig(loader); + VERIFY(NULL != cfg, "MFXCreateConfig failed") + + sts = MFXSetConfigFilterProperty( + cfg, + reinterpret_cast(const_cast("mfxImplDescription.Impl")), + cliParams.implValue); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed"); + + sts = MFXCreateSession(loader, 0, &session); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); +#endif + + // Print info about implementation loaded + ShowImplInfo(session); + + // Convenience function to initialize available accelerator(s) + accelHandle = InitAcceleratorHandle(session); + +end: + + MFXClose(session); + + if (accelHandle) + FreeAcceleratorHandle(accelHandle); + +#ifndef USE_MEDIASDK1 + if (loader) + MFXUnload(loader); +#endif + + return 0; +} diff --git a/examples/preview/legacy-decode-infer/CMakeLists.txt b/examples/preview/legacy-decode-infer/CMakeLists.txt new file mode 100644 index 00000000..de446ff1 --- /dev/null +++ b/examples/preview/legacy-decode-infer/CMakeLists.txt @@ -0,0 +1,75 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) +project(legacy-decode-infer-preview) + +if(NOT TARGET vpl-example-util) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../util + ${CMAKE_CURRENT_BINARY_DIR}/util) +endif() + +# Default install places 64 bit runtimes in the environment, so we want to do a +# 64 bit build by default. +if(WIN32) + if(NOT DEFINED CMAKE_GENERATOR_PLATFORM) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") + endif() +endif() + +set(TARGET legacy-decode-infer) +set(SOURCES src/legacy-decode-infer.cpp) +set(CONTENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../../content) +set(RUNARGS -sw -i ${CONTENTPATH}/cars_128x96.h265 -m + ${CONTENTPATH}/public/alexnet/FP32/alexnet.xml) + +# Set default build type to RelWithDebInfo if not specified +if(NOT CMAKE_BUILD_TYPE) + message( + STATUS "Default CMAKE_BUILD_TYPE not set using Release with Debug Info") + set(CMAKE_BUILD_TYPE + "RelWithDebInfo" + CACHE + STRING + "Choose build type from: None Debug Release RelWithDebInfo MinSizeRel" + FORCE) +endif() + +add_executable(${TARGET} ${SOURCES}) + +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + if(NOT DEFINED ENV{VSCMD_VER}) + set(CMAKE_MSVCIDE_RUN_PATH $ENV{PATH}) + endif() +endif() + +if(POLICY CMP0074) + # ignore warning of VPL_ROOT in find_package search path + cmake_policy(SET CMP0074 OLD) +endif() + +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +find_path(VPL_UTIL_PATH util/util.h vpl-example-util + ${CMAKE_CURRENT_SOURCE_DIR}/../../util) +target_include_directories(${TARGET} PRIVATE . ${VPL_UTIL_PATH}) + +find_package(InferenceEngine REQUIRED) +target_link_libraries(${TARGET} ${InferenceEngine_LIBRARIES}) + +include_directories(${TARGET} PRIVATE ${InferenceEngine_INCLUDE_DIRS}) + +get_directory_property(has_parent PARENT_DIRECTORY) +if(NOT has_parent) + # only make run target available for stand-alone build + add_custom_target(run ${TARGET} ${RUNARGS}) +else() + install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) +endif() diff --git a/examples/preview/legacy-decode-infer/CPPLINT.cfg b/examples/preview/legacy-decode-infer/CPPLINT.cfg new file mode 100644 index 00000000..03c80b6f --- /dev/null +++ b/examples/preview/legacy-decode-infer/CPPLINT.cfg @@ -0,0 +1 @@ +filter=-build/namespaces diff --git a/examples/preview/legacy-decode-infer/License.txt b/examples/preview/legacy-decode-infer/License.txt new file mode 100644 index 00000000..1756b565 --- /dev/null +++ b/examples/preview/legacy-decode-infer/License.txt @@ -0,0 +1,18 @@ +Copyright Intel Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/examples/preview/legacy-decode-infer/README.md b/examples/preview/legacy-decode-infer/README.md new file mode 100644 index 00000000..bc62b2bd --- /dev/null +++ b/examples/preview/legacy-decode-infer/README.md @@ -0,0 +1,155 @@ +# `legacy-decode-infer` Sample + +This sample shows how to use the oneAPI Video Processing Library (oneVPL) to +perform a simple video decode using 1.x common APIs, and inference using OpenVINO + +| Optimized for | Description +|----------------- | ---------------------------------------- +| OS | Ubuntu* 20.04; Windows* 10 +| Hardware | Intel® Processor Graphics GEN9 or newer +| Software | Intel® oneAPI Video Processing Library(oneVPL) and Intel® OpenVINO +| What You Will Learn | How to use oneVPL to decode an H.265 encoded video file and perform objection classification inference +| Time to Complete | 5 minutes + + +## Purpose + +This sample is a command line application that takes a file containing an H.265 +video elementary stream as an argument, decodes it with oneVPL and perform +object classification on each frame using OpenVINO. + + +## Key Implementation details + +| Configuration | Default setting +| ----------------- | ---------------------------------- +| Target device | CPU +| Input format | H.265 video elementary stream + + +## License + +This code sample is licensed under MIT license. + + +## Building the `legacy-decode-infer` Program + +### On a Linux* System + +Perform the following steps: + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Linux* + - Intel® OpenVINO 2021.2 for Linux* + - [Python](http://python.org) + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + source /setvars.sh + source /bin/setupvars.sh + ``` + Here `` represents the root folder of your oneAPI + installation, which is `/opt/intel/oneapi/` when installed as root, and + `~/intel/oneapi/` when installed as a normal user. `` + represents the root folder of your OpenVINO installation, which is + `/opt/intel/openvino/` when installed as root. If you customized the + installation folders, it is in your custom location. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Download the Alexnet classification model from OpenVINO model zoo + ``` + pip3 install -r /deployment_tools/model_optimizer/requirements.txt + pip3 install -r /deployment_tools/open_model_zoo/tools/downloader/requirements.in + /deployment_tools/open_model_zoo/tools/downloader/downloader.py --output_dir ../../content --precisions FP32 --name alexnet + /deployment_tools/open_model_zoo/tools/downloader/converter.py --download_dir ../../content --name alexnet + ``` + +5. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +### On a Windows* System Using Visual Studio* Version 2017 or Newer + +#### Building the program using CMake + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Windows* + - Intel® OpenVINO 2021.2 for Windows* + - [Python 3.8 or earlier](http://python.org) + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + \setvars.bat + \bin\setupvars.bat + ``` + Here `` represents the root folder of your oneAPI + installation, which is which is `C:\Program Files (x86)\Intel\oneAPI\` + when installed using default options. `` represents + the root folder of your OpenVINO installation, which is + `C:\Program Files (x86)\Intel\openvino_2021\` when installed using default options. + If you customized the installation folders, the `setvars.bat` and `setupvars.bat` + are in your custom locations. Note that if a compiler is not part of your + oneAPI installation you should run in a Visual Studio 64-bit command prompt. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Download the Alexnet classification model from OpenVINO model zoo + ``` + \deployment_tools\model_optimizer\install_prerequisites\install_prerequisites.bat + pip install -r \deployment_tools\open_model_zoo\tools\downloader\requirements.in + \deployment_tools\open_model_zoo\tools\downloader\downloader.py --output_dir ..\..\content --precisions FP32 --name alexnet + \deployment_tools\open_model_zoo\tools\downloader\converter.py --download_dir ..\..\content --name alexnet + ``` + +5. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +## Running the Sample + +### Application Parameters + +The instructions given above run the sample executable with the argument +`examples/content/cars_128x96.h265` and `examples/content/public/alexnet/FP32/alexnet.xml`. + + +### Example of Output + +``` +Implementation info + version = 2.2 + impl = Software +Decoding and inferring legacy-decode-infer/../content/cars_128x96.h265 with legacy-decode-infer/../content/public/alexnet/FP32/alexnet.xml +Top 5 results for video frame: +classid probability +------- ----------- +817 0.429395 +511 0.159974 +751 0.044094 +627 0.042601 +468 0.039582 +Decoded 60 frames +``` diff --git a/examples/preview/legacy-decode-infer/sample.json b/examples/preview/legacy-decode-infer/sample.json new file mode 100644 index 00000000..6fd4191a --- /dev/null +++ b/examples/preview/legacy-decode-infer/sample.json @@ -0,0 +1,35 @@ +{ + "guid": "AEDAA6EC-B6E0-4D5F-A97C-0B8312C4D86D", + "name": "Legacy decode infer", + "categories": ["Toolkit/Intel® oneAPI Base Toolkit/oneVPL"], + "description": "Sample that shows how to use the oneAPI Video Processing Library common API to perform a simple video decode and infer", + "dependencies": ["vpl", "openvino"], + "os": ["linux", "windows"], + "languages": [{"cpp":{}}], + "builder": [ "ide", "cmake"], + "targetDevice": ["CPU", "GPU"], + "ciTests": { + "linux": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ], + "windows": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ] + } +} diff --git a/examples/preview/legacy-decode-infer/src/legacy-decode-infer.cpp b/examples/preview/legacy-decode-infer/src/legacy-decode-infer.cpp new file mode 100644 index 00000000..ae3746d9 --- /dev/null +++ b/examples/preview/legacy-decode-infer/src/legacy-decode-infer.cpp @@ -0,0 +1,295 @@ +//============================================================================== +// Copyright Intel Corporation +// +// SPDX-License-Identifier: MIT +//============================================================================== + +/// +/// A minimal oneAPI Video Processing Library (oneVPL) decode and infer application, +/// using common media 1.34 API subset +/// +/// @file + +#include +#include "util/util.h" +using namespace InferenceEngine; + +#define BITSTREAM_BUFFER_SIZE 2000000 +#define MAX_RESULTS 5 + +void Usage(void) { + printf("\n"); + printf(" Usage : legacy-decode-infer \n\n"); + printf(" -sw/-hw use software or hardware implementation\n"); + printf(" -i input file name (HEVC elementary stream)\n\n"); + printf(" -m input model name (OpenVINO)\n\n"); + printf(" Example: legacy-decode-infer -sw -i in.h265 -m alexnet.xml\n"); + return; +} + +// Sort and extract top n results from output blob +void PrintTopResults(const Blob::Ptr &output) { + SizeVector dims = output->getTensorDesc().getDims(); + if (0 == dims.size() || 1 != dims[0]) { + printf("Output blob has incorrect dimensions, skipping\n"); + return; + } + + unsigned n = static_cast(std::min((size_t)MAX_RESULTS, output->size())); + float *batchData = output->cbuffer().as(); + std::vector indexes(output->size()); + + std::iota(std::begin(indexes), std::end(indexes), 0); + std::partial_sort(std::begin(indexes), + std::begin(indexes) + n, + std::end(indexes), + [&batchData](unsigned l, unsigned r) { + return batchData[l] > batchData[r]; + }); + + printf("\nTop %d results for video frame:", n); + printf("\nclassid probability\n"); + printf("------- -----------\n"); + for (unsigned j = 0; j < n; j++) { + printf("%d %f\n", indexes.at(j), batchData[indexes.at(j)]); + } +} + +// Perform classify inference on video frame +void InferFrame(mfxFrameSurface1 *surface, + InferRequest *infer_request, + std::string input_name, + std::string output_name) { + mfxFrameInfo *info = &surface->Info; + mfxFrameData *data = &surface->Data; + Blob::Ptr in_blob, out_blob; + size_t w = info->Width; + size_t h = info->Height; + size_t p = data->Pitch; + + switch (info->FourCC) { + case MFX_FOURCC_I420: { + TensorDesc y_desc(Precision::U8, { 1, 1, h, p }, Layout::NHWC); + TensorDesc uv_desc(Precision::U8, { 1, 1, h / 2, p / 2 }, Layout::NHWC); + + Blob::Ptr y_blob = make_shared_blob(y_desc, data->Y); + Blob::Ptr u_blob = make_shared_blob(uv_desc, data->U); + Blob::Ptr v_blob = make_shared_blob(uv_desc, data->V); + + in_blob = make_shared_blob(y_blob, u_blob, v_blob); + } break; + + case MFX_FOURCC_NV12: { + TensorDesc y_desc(Precision::U8, { 1, 1, h, p }, Layout::NHWC); + TensorDesc uv_desc(Precision::U8, { 1, 2, h / 2, p / 2 }, Layout::NHWC); + + Blob::Ptr y_blob = make_shared_blob(y_desc, data->Y); + Blob::Ptr uv_blob = make_shared_blob(uv_desc, data->UV); + + in_blob = make_shared_blob(y_blob, uv_blob); + } break; + + default: + printf("Unsupported FourCC code, skip InferFrame\n"); + return; + } + + infer_request->SetBlob(input_name, in_blob); + infer_request->Infer(); + out_blob = infer_request->GetBlob(output_name); + + PrintTopResults(out_blob); +} + +int main(int argc, char *argv[]) { + FILE *source = NULL; + mfxSession session = NULL; + mfxFrameSurface1 *decSurfaceOut = NULL; + mfxFrameSurface1 *decSurfPool = NULL; + mfxU8 *decOutBuf = NULL; + void *accelHandle = NULL; + mfxBitstream bitstream = {}; + mfxSyncPoint syncp = {}; + mfxVersion version = { 0, 1 }; + mfxFrameAllocRequest decRequest = {}; + mfxVideoParam mfxDecParams = {}; + mfxU32 frameNum = 0; + bool isDraining = false; + bool isStillGoing = true; + int nIndex = -1; + mfxStatus sts = MFX_ERR_NONE; + Params cliParams = {}; + + // OpenVINO + Core ie; + CNNNetwork network; + std::string input_name, output_name; + InputInfo::Ptr input_info; + DataPtr output_info; + ExecutableNetwork executable_network; + InferRequest infer_request; + + //Parse command line args to cliParams + if (ParseArgsAndValidate(argc, argv, &cliParams, PARAMS_DECODE) == false) { + Usage(); + return 1; // return 1 as error code + } + + source = fopen(cliParams.infileName, "rb"); + VERIFY(source, "Could not open input file"); + + // Initialize VPL session + sts = MFXInit(cliParams.impl, &version, &session); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); + + // Print info about implementation loaded + ShowImplInfo(session); + + // Convenience function to initialize available accelerator(s) + accelHandle = InitAcceleratorHandle(session); + + // Prepare input bitstream and start decoding + bitstream.MaxLength = BITSTREAM_BUFFER_SIZE; + bitstream.Data = (mfxU8*)calloc(bitstream.MaxLength, sizeof(mfxU8); + VERIFY(bitstream.Data, "Not able to allocate input buffer"); + + // External allocation requires pre-parsing input before decode + // so that resolution, fourCC, etc. can be read from the stream + // to enable app to create surfaces + sts = ReadEncodedStream(bitstream, source); + VERIFY(MFX_ERR_NONE == sts, "Error reading bitstream\n"); + + mfxDecParams.mfx.CodecId = MFX_CODEC_HEVC; + mfxDecParams.IOPattern = MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + sts = MFXVideoDECODE_DecodeHeader(session, &bitstream, &mfxDecParams); + VERIFY(MFX_ERR_NONE == sts, "Error decoding header\n"); + + // input parameters finished, now initialize decode + sts = MFXVideoDECODE_Init(session, &mfxDecParams); + VERIFY(MFX_ERR_NONE == sts, "Error initializing decode\n"); + + // Query number required surfaces for decoder + MFXVideoDECODE_QueryIOSurf(session, &mfxDecParams, &decRequest); + + // External (application) allocation of decode surfaces + decSurfPool = + (mfxFrameSurface1 *)calloc(sizeof(mfxFrameSurface1), decRequest.NumFrameSuggested); + sts = AllocateExternalSystemMemorySurfacePool(&decOutBuf, + decSurfPool, + mfxDecParams.mfx.FrameInfo, + decRequest.NumFrameSuggested); + VERIFY(MFX_ERR_NONE == sts, "Error in external surface allocation\n"); + + // Setup OpenVINO Inference Engine + network = ie.ReadNetwork(cliParams.inmodelName); + VERIFY(network.getInputsInfo().size() == 1, "Sample supports topologies with 1 input only"); + VERIFY(network.getOutputsInfo().size() == 1, "Sample supports topologies with 1 output only"); + + input_info = network.getInputsInfo().begin()->second; + input_info->getPreProcess().setResizeAlgorithm(RESIZE_BILINEAR); + input_info->getPreProcess().setColorFormat( + mfxDecParams.mfx.FrameInfo.FourCC == MFX_FOURCC_I420 ? I420 : NV12); + input_info->setLayout(Layout::NHWC); + input_info->setPrecision(Precision::U8); + input_name = network.getInputsInfo().begin()->first; + + output_info = network.getOutputsInfo().begin()->second; + output_info->setPrecision(Precision::FP32); + output_name = network.getOutputsInfo().begin()->first; + + executable_network = + ie.LoadNetwork(network, cliParams.impl == MFX_IMPL_SOFTWARE ? "CPU" : "GPU"); + infer_request = executable_network.CreateInferRequest(); + + printf("Decoding and infering %s with %s\n", cliParams.infileName, cliParams.inmodelName); + + nIndex = GetFreeSurfaceIndex(decSurfPool, decRequest.NumFrameSuggested); + while (isStillGoing == true) { + // Load encoded stream if not draining + if (isDraining == false) { + sts = ReadEncodedStream(bitstream, source); + if (sts != MFX_ERR_NONE) + isDraining = true; + } + + sts = MFXVideoDECODE_DecodeFrameAsync(session, + (isDraining) ? NULL : &bitstream, + &decSurfPool[nIndex], + &decSurfaceOut, + &syncp); + + switch (sts) { + case MFX_ERR_NONE: + do { + sts = MFXVideoCORE_SyncOperation(session, syncp, WAIT_100_MILLISECONDS); + if (MFX_ERR_NONE == sts) { + InferFrame(decSurfaceOut, &infer_request, input_name, output_name); + frameNum++; + } + } while (sts == MFX_WRN_IN_EXECUTION); + break; + case MFX_ERR_MORE_DATA: + // The function requires more bitstream at input before decoding can proceed + if (isDraining) + isStillGoing = false; + break; + case MFX_ERR_MORE_SURFACE: + // The function requires more frame surface at output before decoding can proceed. + // This applies to external memory allocations and should not be expected for + // a simple internal allocation case like this + nIndex = GetFreeSurfaceIndex(decSurfPool, decRequest.NumFrameSuggested); + break; + case MFX_ERR_DEVICE_LOST: + // For non-CPU implementations, + // Cleanup if device is lost + break; + case MFX_WRN_DEVICE_BUSY: + // For non-CPU implementations, + // Wait a few milliseconds then try again + break; + case MFX_WRN_VIDEO_PARAM_CHANGED: + // The decoder detected a new sequence header in the bitstream. + // Video parameters may have changed. + // In external memory allocation case, might need to reallocate the output surface + break; + case MFX_ERR_INCOMPATIBLE_VIDEO_PARAM: + // The function detected that video parameters provided by the application + // are incompatible with initialization parameters. + // The application should close the component and then reinitialize it + break; + case MFX_ERR_REALLOC_SURFACE: + // Bigger surface_work required. May be returned only if + // mfxInfoMFX::EnableReallocRequest was set to ON during initialization. + // This applies to external memory allocations and should not be expected for + // a simple internal allocation case like this + break; + default: + printf("unknown status %d\n", sts); + isStillGoing = false; + break; + } + } + +end: + printf("Decoded %d frames\n", frameNum); + + // Clean up resources - It is recommended to close components first, before + // releasing allocated surfaces, since some surfaces may still be locked by + // internal resources. + + if (source) + fclose(source); + + MFXVideoDECODE_Close(session); + MFXClose(session); + + if (bitstream.Data) + free(bitstream.Data); + + FreeExternalSystemMemorySurfacePool(decOutBuf, decSurfPool); + + if (accelHandle) + FreeAcceleratorHandle(accelHandle); + + return 0; +} diff --git a/examples/preview/legacy-decode/CMakeLists.txt b/examples/preview/legacy-decode/CMakeLists.txt new file mode 100644 index 00000000..d44a89d8 --- /dev/null +++ b/examples/preview/legacy-decode/CMakeLists.txt @@ -0,0 +1,69 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) +project(legacy-decode-preview) + +if(NOT TARGET vpl-example-util) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../util + ${CMAKE_CURRENT_BINARY_DIR}/util) +endif() + +# Default install places 64 bit runtimes in the environment, so we want to do a +# 64 bit build by default. +if(WIN32) + if(NOT DEFINED CMAKE_GENERATOR_PLATFORM) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") + endif() +endif() + +set(TARGET legacy-decode) +set(SOURCES src/legacy-decode.cpp) +set(CONTENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../../content) +set(RUNARGS -sw -i ${CONTENTPATH}/cars_128x96.h265) + +# Set default build type to RelWithDebInfo if not specified +if(NOT CMAKE_BUILD_TYPE) + message( + STATUS "Default CMAKE_BUILD_TYPE not set using Release with Debug Info") + set(CMAKE_BUILD_TYPE + "RelWithDebInfo" + CACHE + STRING + "Choose build type from: None Debug Release RelWithDebInfo MinSizeRel" + FORCE) +endif() + +add_executable(${TARGET} ${SOURCES}) + +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + if(NOT DEFINED ENV{VSCMD_VER}) + set(CMAKE_MSVCIDE_RUN_PATH $ENV{PATH}) + endif() +endif() + +if(POLICY CMP0074) + # ignore warning of VPL_ROOT in find_package search path + cmake_policy(SET CMP0074 OLD) +endif() + +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +find_path(VPL_UTIL_PATH util/util.h vpl-example-util + ${CMAKE_CURRENT_SOURCE_DIR}/../../util) +target_include_directories(${TARGET} PRIVATE . ${VPL_UTIL_PATH}) + +get_directory_property(has_parent PARENT_DIRECTORY) +if(NOT has_parent) + # only make run target available for stand-alone build + add_custom_target(run ${TARGET} ${RUNARGS}) +else() + install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) +endif() diff --git a/examples/preview/legacy-decode/License.txt b/examples/preview/legacy-decode/License.txt new file mode 100644 index 00000000..1756b565 --- /dev/null +++ b/examples/preview/legacy-decode/License.txt @@ -0,0 +1,18 @@ +Copyright Intel Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/examples/preview/legacy-decode/README.md b/examples/preview/legacy-decode/README.md new file mode 100644 index 00000000..498cec9b --- /dev/null +++ b/examples/preview/legacy-decode/README.md @@ -0,0 +1,133 @@ +# `legacy-decode` Sample + +This sample shows how to use the oneAPI Video Processing Library (oneVPL) to +perform a simple video decode using 1.x common APIs. + +| Optimized for | Description +|----------------- | ---------------------------------------- +| OS | Ubuntu* 20.04; Windows* 10 +| Hardware | Intel® Processor Graphics GEN9 or newer +| Software | Intel® oneAPI Video Processing Library(oneVPL) +| What You Will Learn | How to use oneVPL to decode an H.265 encoded video file +| Time to Complete | 5 minutes + + +## Purpose + +This sample is a command line application that takes a file containing an H.265 +video elementary stream as an argument, decodes it with oneVPL and writes the +decoded output to a the file `out.raw` in raw native format. + +Native raw frame format: CPU=I420, GPU=NV12. + +## Key Implementation details + +| Configuration | Default setting +| ----------------- | ---------------------------------- +| Target device | CPU +| Input format | H.265 video elementary stream +| Output format | I420 +| Output resolution | same as input + + +## License + +This code sample is licensed under MIT license. + + +## Building the `legacy-decode` Program + +### On a Linux* System + +Perform the following steps: + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Linux* + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + source /setvars.sh + ``` + Here `` represents the root folder of your oneAPI + installation, which is `/opt/intel/oneapi/` when installed as root, and + `~/intel/oneapi/` when installed as a normal user. If you customized the + installation folder, it is in your custom location. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +### On a Windows* System Using Visual Studio* Version 2017 or Newer + +#### Building the program using CMake + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Windows* + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + \setvars.bat + ``` + Here `` represents the root folder of your oneAPI + installation, which is which is `C:\Program Files (x86)\Intel\oneAPI\` + when installed using default options. If you customized the installation + folder, the `setvars.bat` is in your custom location. Note that if a + compiler is not part of your oneAPI installation you should run in a Visual + Studio 64-bit command prompt. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +## Running the Sample + +### Application Parameters + +The instructions given above run the sample executable with the argument +`-i examples/content/cars_128x96.h265`. + + +### Example of Output + +``` +Implementation info + version = 2.2 + impl = Software +Decoding legacy-decode/../content/cars_128x96.h265 -> out.raw +Decoded 60 frames +``` + +You can find the output file `out.raw` in the build directory. + +You can display the output with a video player that supports raw streams such as +FFplay. You can use the following command to display the output with FFplay: + +``` +ffplay -video_size 128x96 -pixel_format yuv420p -f rawvideo out.raw +``` diff --git a/examples/preview/legacy-decode/sample.json b/examples/preview/legacy-decode/sample.json new file mode 100644 index 00000000..42499159 --- /dev/null +++ b/examples/preview/legacy-decode/sample.json @@ -0,0 +1,35 @@ +{ + "guid": "AEDAA6EC-B6E0-4D5F-A97C-0B8312C4D86D", + "name": "Legacy decode", + "categories": ["Toolkit/Intel® oneAPI Base Toolkit/oneVPL"], + "description": "Sample that shows how to use the oneAPI Video Processing Library common API to perform a simple video decode", + "dependencies": ["vpl"], + "os": ["linux", "windows"], + "languages": [{"cpp":{}}], + "builder": [ "ide", "cmake"], + "targetDevice": ["CPU", "GPU"], + "ciTests": { + "linux": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ], + "windows": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ] + } +} diff --git a/examples/preview/legacy-decode/src/legacy-decode.cpp b/examples/preview/legacy-decode/src/legacy-decode.cpp new file mode 100644 index 00000000..64c35dce --- /dev/null +++ b/examples/preview/legacy-decode/src/legacy-decode.cpp @@ -0,0 +1,200 @@ +//============================================================================== +// Copyright Intel Corporation +// +// SPDX-License-Identifier: MIT +//============================================================================== + +/// +/// A minimal oneAPI Video Processing Library (oneVPL) decode application, +/// using 1.34 API subset without removed features +/// +/// @file + +#include "util/util.h" + +#define OUTPUT_FILE "out.raw" +#define BITSTREAM_BUFFER_SIZE 2000000 + +void Usage(void) { + printf("\n"); + printf(" Usage : legacy-decode \n\n"); + printf(" -sw/-hw use software or hardware implementation\n"); + printf(" -i input file name (HEVC elementary stream)\n\n"); + printf(" Example: legacy-decode -sw -i in.h265\n"); + printf( + " To view: ffplay -f rawvideo -pixel_format yuv420p -video_size [width]x[height] %s\n\n", + OUTPUT_FILE); + printf(" * Decode HEVC/H265 elementary stream to raw frames in %s\n\n", OUTPUT_FILE); + return; +} + +int main(int argc, char *argv[]) { + //Variables used for legacy and 2.x + bool isDraining = false; + bool isStillGoing = true; + FILE *sink = NULL; + FILE *source = NULL; + mfxBitstream bitstream = {}; + mfxFrameSurface1 *decSurfaceOut = NULL; + mfxSession session = NULL; + mfxStatus sts = MFX_ERR_NONE; + mfxSyncPoint syncp = {}; + mfxU32 framenum = 0; + Params cliParams = {}; + void *accelHandle = NULL; + mfxVideoParam mfxDecParams = {}; + mfxVersion version = { 0, 1 }; + + //variables used only in legacy version + int nIndex = -1; + mfxFrameAllocRequest decRequest = {}; + mfxFrameSurface1 *decSurfPool = NULL; + mfxU8 *decOutBuf = NULL; + + //Parse command line args to cliParams + if (ParseArgsAndValidate(argc, argv, &cliParams, PARAMS_DECODE) == false) { + Usage(); + return 1; // return 1 as error code + } + + source = fopen(cliParams.infileName, "rb"); + VERIFY(source, "Could not open input file"); + + sink = fopen(OUTPUT_FILE, "wb"); + VERIFY(sink, "Could not create output file"); + + // Initialize VPL session + sts = MFXInit(cliParams.impl, &version, &session); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); + + // Print info about implementation loaded + ShowImplInfo(session); + + // Convenience function to initialize available accelerator(s) + accelHandle = InitAcceleratorHandle(session); + + // Prepare input bitstream and start decoding + bitstream.MaxLength = BITSTREAM_BUFFER_SIZE; + bitstream.Data = (mfxU8 *)calloc(bitstream.MaxLength, sizeof(mfxU8)); + VERIFY(bitstream.Data, "Not able to allocate input buffer"); + + //Pre-parse input stream + sts = ReadEncodedStream(bitstream, source); + VERIFY(MFX_ERR_NONE == sts, "Error reading bitstream\n"); + + mfxDecParams.mfx.CodecId = MFX_CODEC_HEVC; + mfxDecParams.IOPattern = MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + sts = MFXVideoDECODE_DecodeHeader(session, &bitstream, &mfxDecParams); + VERIFY(MFX_ERR_NONE == sts, "Error decoding header\n"); + + // input parameters finished, now initialize decode + sts = MFXVideoDECODE_Init(session, &mfxDecParams); + VERIFY(MFX_ERR_NONE == sts, "Error initializing decode\n"); + + // Query number required surfaces for decoder + MFXVideoDECODE_QueryIOSurf(session, &mfxDecParams, &decRequest); + + // External (application) allocation of decode surfaces + decSurfPool = + (mfxFrameSurface1 *)calloc(sizeof(mfxFrameSurface1), decRequest.NumFrameSuggested); + sts = AllocateExternalSystemMemorySurfacePool(&decOutBuf, + decSurfPool, + mfxDecParams.mfx.FrameInfo, + decRequest.NumFrameSuggested); + VERIFY(MFX_ERR_NONE == sts, "Error in external surface allocation\n"); + + printf("Decoding %s -> %s\n", cliParams.infileName, OUTPUT_FILE); + + nIndex = GetFreeSurfaceIndex(decSurfPool, decRequest.NumFrameSuggested); + while (isStillGoing == true) { + // Load encoded stream if not draining + if (isDraining == false) { + sts = ReadEncodedStream(bitstream, source); + if (sts != MFX_ERR_NONE) + isDraining = true; + } + + sts = MFXVideoDECODE_DecodeFrameAsync(session, + (isDraining) ? NULL : &bitstream, + &decSurfPool[nIndex], + &decSurfaceOut, + &syncp); + + switch (sts) { + case MFX_ERR_NONE: + do { + sts = MFXVideoCORE_SyncOperation(session, syncp, WAIT_100_MILLISECONDS); + if (MFX_ERR_NONE == sts) { + WriteRawFrame(decSurfaceOut, sink); + framenum++; + } + } while (sts == MFX_WRN_IN_EXECUTION); + break; + case MFX_ERR_MORE_DATA: + // The function requires more bitstream at input before decoding can proceed + if (isDraining) + isStillGoing = false; + break; + case MFX_ERR_MORE_SURFACE: + // The function requires more frame surface at output before decoding can proceed. + // This applies to external memory allocations and should not be expected for + // a simple internal allocation case like this + nIndex = GetFreeSurfaceIndex(decSurfPool, decRequest.NumFrameSuggested); + break; + case MFX_ERR_DEVICE_LOST: + // For non-CPU implementations, + // Cleanup if device is lost + break; + case MFX_WRN_DEVICE_BUSY: + // For non-CPU implementations, + // Wait a few milliseconds then try again + break; + case MFX_WRN_VIDEO_PARAM_CHANGED: + // The decoder detected a new sequence header in the bitstream. + // Video parameters may have changed. + // In external memory allocation case, might need to reallocate the output surface + break; + case MFX_ERR_INCOMPATIBLE_VIDEO_PARAM: + // The function detected that video parameters provided by the application + // are incompatible with initialization parameters. + // The application should close the component and then reinitialize it + break; + case MFX_ERR_REALLOC_SURFACE: + // Bigger surface_work required. May be returned only if + // mfxInfoMFX::EnableReallocRequest was set to ON during initialization. + // This applies to external memory allocations and should not be expected for + // a simple internal allocation case like this + break; + default: + printf("unknown status %d\n", sts); + isStillGoing = false; + break; + } + } + +end: + printf("Decoded %d frames\n", framenum); + + // Clean up resources - It is recommended to close components first, before + // releasing allocated surfaces, since some surfaces may still be locked by + // internal resources. + + if (source) + fclose(source); + + if (sink) + fclose(sink); + + MFXVideoDECODE_Close(session); + MFXClose(session); + + if (bitstream.Data) + free(bitstream.Data); + + FreeExternalSystemMemorySurfacePool(decOutBuf, decSurfPool); + + if (accelHandle) + FreeAcceleratorHandle(accelHandle); + + return 0; +} diff --git a/examples/preview/legacy-encode/CMakeLists.txt b/examples/preview/legacy-encode/CMakeLists.txt new file mode 100644 index 00000000..6186ea2f --- /dev/null +++ b/examples/preview/legacy-encode/CMakeLists.txt @@ -0,0 +1,76 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) +project(legacy-encode-preview) + +if(NOT TARGET vpl-example-util) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../util + ${CMAKE_CURRENT_BINARY_DIR}/util) +endif() + +# Default install places 64 bit runtimes in the environment, so we want to do a +# 64 bit build by default. +if(WIN32) + if(NOT DEFINED CMAKE_GENERATOR_PLATFORM) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") + endif() +endif() + +set(TARGET legacy-encode-preview) +set(SOURCES src/legacy-encode.cpp) +set(CONTENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../../content) +set(RUNARGS + -sw + -i + ${CONTENTPATH}/cars_128x96.i420 + -w + 128 + -h + 96) + +# Set default build type to RelWithDebInfo if not specified +if(NOT CMAKE_BUILD_TYPE) + message( + STATUS "Default CMAKE_BUILD_TYPE not set using Release with Debug Info") + set(CMAKE_BUILD_TYPE + "RelWithDebInfo" + CACHE + STRING + "Choose build type from: None Debug Release RelWithDebInfo MinSizeRel" + FORCE) +endif() + +add_executable(${TARGET} ${SOURCES}) + +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + if(NOT DEFINED ENV{VSCMD_VER}) + set(CMAKE_MSVCIDE_RUN_PATH $ENV{PATH}) + endif() +endif() + +if(POLICY CMP0074) + # ignore warning of VPL_ROOT in find_package search path + cmake_policy(SET CMP0074 OLD) +endif() + +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +find_path(VPL_UTIL_PATH util/util.h vpl-example-util + ${CMAKE_CURRENT_SOURCE_DIR}/../../util) +target_include_directories(${TARGET} PRIVATE . ${VPL_UTIL_PATH}) + +get_directory_property(has_parent PARENT_DIRECTORY) +if(NOT has_parent) + # only make run target available for stand-alone build + add_custom_target(run ${TARGET} ${RUNARGS}) +else() + install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) +endif() diff --git a/examples/preview/legacy-encode/License.txt b/examples/preview/legacy-encode/License.txt new file mode 100644 index 00000000..1756b565 --- /dev/null +++ b/examples/preview/legacy-encode/License.txt @@ -0,0 +1,18 @@ +Copyright Intel Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/examples/preview/legacy-encode/PreLoad.cmake b/examples/preview/legacy-encode/PreLoad.cmake new file mode 100644 index 00000000..b763e9fa --- /dev/null +++ b/examples/preview/legacy-encode/PreLoad.cmake @@ -0,0 +1,6 @@ +if(WIN32) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") +endif() diff --git a/examples/preview/legacy-encode/README.md b/examples/preview/legacy-encode/README.md new file mode 100644 index 00000000..8156bba8 --- /dev/null +++ b/examples/preview/legacy-encode/README.md @@ -0,0 +1,130 @@ +# `legacy-encode` Sample + +This sample shows how to use the oneAPI Video Processing Library (oneVPL) to +perform a simple video encode. + +| Optimized for | Description +|----------------- | ---------------------------------------- +| OS | Ubuntu* 20.04; Windows* 10 +| Hardware | Intel® Processor Graphics GEN9 or newer +| Software | Intel® oneAPI Video Processing Library(oneVPL) +| What You Will Learn | How to use oneVPL to encode an raw video file to H.265 +| Time to Complete | 5 minutes + + +## Purpose + +This sample is a command line application that takes a file containing a raw +native format video elementary stream as an argument, encodes it with oneVPL and +writes the encoded output to `out.h265` in H.265 format. + +Native raw frame format: CPU=I420, GPU=NV12. + +## Key Implementation details + +| Configuration | Default setting +| ----------------- | ---------------------------------- +| Target device | CPU +| Input format | I420 +| Output format | H.265 video elementary stream +| Output resolution | same as input + + +## License + +This code sample is licensed under MIT license. + + +## Building the `hello-encode` Program + +### On a Linux* System + +Perform the following steps: + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Linux* + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + source /setvars.sh + ``` + Here `` represents the root folder of your oneAPI + installation, which is `/opt/intel/oneapi/` when installed as root, and + `~/intel/oneapi/` when installed as a normal user. If you customized the + installation folder, it is in your custom location. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +### On a Windows* System Using Visual Studio* Version 2017 or Newer + +#### Building the program using CMake + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Windows* + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + \setvars.bat + ``` + Here `` represents the root folder of your oneAPI + installation, which is which is `C:\Program Files (x86)\Intel\oneAPI\` + when installed using default options. If you customized the installation + folder, the `setvars.bat` is in your custom location. Note that if a + compiler is not part of your oneAPI installation you should run in a Visual + Studio 64-bit command prompt. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +## Running the Sample + +### Application Parameters + +The instructions given above run the sample executable with the arguments +`-i /content/cars_128x96.i420 -w 128 -h 96`. + + +### Example of Output + +``` +Encoding hello-encode/content/cars_128x96.i420 -> out.h265 +Encoded 60 frames +``` + +You can find the output file `out.h265` in the build directory. + +You can display the output with a video player that supports raw streams such as +FFplay. You can use the following command to display the output with FFplay: + +``` +ffplay out.h265 +``` diff --git a/examples/preview/legacy-encode/sample.json b/examples/preview/legacy-encode/sample.json new file mode 100644 index 00000000..fc4241d1 --- /dev/null +++ b/examples/preview/legacy-encode/sample.json @@ -0,0 +1,35 @@ +{ + "guid": "6AFD0BE4-A4D2-42C2-A169-174862D91A35", + "name": "Legacy encode", + "categories": ["Toolkit/Intel® oneAPI Base Toolkit/oneVPL"], + "description": "Sample that shows how to use the oneAPI Video Processing Library to perform a simple video encode", + "dependencies": ["vpl"], + "os": ["linux", "windows"], + "languages": [{"cpp":{}}], + "builder": [ "ide", "cmake"], + "targetDevice": ["CPU", "GPU"], + "ciTests": { + "linux": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ], + "windows": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ] + } +} diff --git a/examples/preview/legacy-encode/src/legacy-encode.cpp b/examples/preview/legacy-encode/src/legacy-encode.cpp new file mode 100644 index 00000000..b0eabd90 --- /dev/null +++ b/examples/preview/legacy-encode/src/legacy-encode.cpp @@ -0,0 +1,204 @@ +//============================================================================== +// Copyright Intel Corporation +// +// SPDX-License-Identifier: MIT +//============================================================================== + +/// +/// A minimal oneAPI Video Processing Library (oneVPL) encode application, +/// using 2.x API with internal memory management +/// +/// @file + +#include "util/util.h" + +#define TARGETKBPS 4000 +#define FRAMERATE 30 +#define OUTPUT_FILE "out.h265" +#define BITSTREAM_BUFFER_SIZE 2000000 + +void Usage(void) { + printf("\n"); + printf(" Usage : legacy-encode\n"); + printf(" -hw use hardware implementation\n"); + printf(" -sw use software implementation\n"); + printf(" -i input file name ( -sw=I420 raw frames,-hw=NV12)\n"); + printf(" -w input width\n"); + printf(" -h input height\n\n"); + printf(" Example: hello-encode -sw -i in.i420 -w 128 -h 96\n"); + printf(" To view: ffplay %s\n\n", OUTPUT_FILE); + printf(" * Encode raw frames to HEVC/H265 elementary stream in %s\n\n", OUTPUT_FILE); + return; +} + +int main(int argc, char *argv[]) { + FILE *source = NULL; + FILE *sink = NULL; + mfxSession session = NULL; + mfxVideoParam encodeParams = {}; + mfxFrameSurface1 *encSurfaceIn = NULL; + mfxFrameSurface1 *encSurfPool = NULL; + mfxU8 *encOutBuf = NULL; + void *accelHandle = NULL; + mfxBitstream bitstream = { 0 }; + mfxSyncPoint syncp = { 0 }; + mfxVersion version = { 0, 1 }; + mfxFrameAllocRequest encRequest = {}; + mfxU32 framenum = 0; + bool isDraining = false; + bool isStillGoing = true; + int nIndex = -1; + mfxStatus sts = MFX_ERR_NONE; + Params cliParams = { 0 }; + + //Parse command line args to cliParams + if (ParseArgsAndValidate(argc, argv, &cliParams, PARAMS_DECODE) == false) { + Usage(); + return 1; // return 1 as error code + } + + source = fopen(cliParams.infileName, "rb"); + VERIFY(source, "Could not open input file"); + + sink = fopen(OUTPUT_FILE, "wb"); + VERIFY(sink, "Could not create output file"); + + // Initialize VPL session + sts = MFXInit(cliParams.impl, &version, &session); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); + + // Print info about implementation loaded + ShowImplInfo(session); + + // Convenience function to initialize available accelerator(s) + accelHandle = InitAcceleratorHandle(session); + + // Initialize encode parameters + encodeParams.mfx.CodecId = MFX_CODEC_HEVC; + encodeParams.mfx.TargetUsage = MFX_TARGETUSAGE_BALANCED; + encodeParams.mfx.TargetKbps = TARGETKBPS; + encodeParams.mfx.RateControlMethod = MFX_RATECONTROL_VBR; + encodeParams.mfx.FrameInfo.FrameRateExtN = FRAMERATE; + encodeParams.mfx.FrameInfo.FrameRateExtD = 1; + if (MFX_IMPL_SOFTWARE == cliParams.impl) { + encodeParams.mfx.FrameInfo.FourCC = MFX_FOURCC_I420; + } + else { + encodeParams.mfx.FrameInfo.FourCC = MFX_FOURCC_NV12; + } + encodeParams.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420; + encodeParams.mfx.FrameInfo.CropX = 0; + encodeParams.mfx.FrameInfo.CropY = 0; + encodeParams.mfx.FrameInfo.CropW = cliParams.srcWidth; + encodeParams.mfx.FrameInfo.CropH = cliParams.srcHeight; + encodeParams.mfx.FrameInfo.Width = ALIGN16(cliParams.srcWidth); + encodeParams.mfx.FrameInfo.Height = ALIGN16(cliParams.srcHeight); + + encodeParams.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY; + + //fill in missing params + sts = MFXVideoENCODE_Query(session, &encodeParams, &encodeParams); + VERIFY(MFX_ERR_NONE == sts, "Encode query failed"); + + // Initialize encoder + sts = MFXVideoENCODE_Init(session, &encodeParams); + VERIFY(MFX_ERR_NONE == sts, "Encode init failed"); + + // Query number required surfaces for decoder + sts = MFXVideoENCODE_QueryIOSurf(session, &encodeParams, &encRequest); + VERIFY(MFX_ERR_NONE == sts, "QueryIOSurf failed"); + + // Prepare output bitstream + bitstream.MaxLength = BITSTREAM_BUFFER_SIZE; + bitstream.Data = (mfxU8 *)malloc(bitstream.MaxLength * sizeof(mfxU8)); + + // External (application) allocation of decode surfaces + encSurfPool = + (mfxFrameSurface1 *)calloc(sizeof(mfxFrameSurface1), encRequest.NumFrameSuggested); + sts = AllocateExternalSystemMemorySurfacePool(&encOutBuf, + encSurfPool, + encodeParams.mfx.FrameInfo, + encRequest.NumFrameSuggested); + VERIFY(MFX_ERR_NONE == sts, "Error in external surface allocation\n"); + + printf("Encoding %s -> %s\n", cliParams.infileName, OUTPUT_FILE); + + while (isStillGoing == true) { + // Load a new frame if not draining + if (isDraining == false) { + nIndex = GetFreeSurfaceIndex(encSurfPool, encRequest.NumFrameSuggested); + encSurfaceIn = &encSurfPool[nIndex]; + + sts = ReadRawFrame(encSurfaceIn, source); + if (sts != MFX_ERR_NONE) + isDraining = true; + } + + sts = MFXVideoENCODE_EncodeFrameAsync(session, + NULL, + (isDraining == true) ? NULL : encSurfaceIn, + &bitstream, + &syncp); + + switch (sts) { + case MFX_ERR_NONE: + // MFX_ERR_NONE and syncp indicate output is available + if (syncp) { + // Encode output is not available on CPU until sync operation completes + sts = MFXVideoCORE_SyncOperation(session, syncp, WAIT_100_MILLISECONDS); + VERIFY(MFX_ERR_NONE == sts, "MFXVideoCORE_SyncOperation error"); + + WriteEncodedStream(bitstream, sink); + framenum++; + } + break; + case MFX_ERR_NOT_ENOUGH_BUFFER: + // This example deliberatly uses a large output buffer with immediate write to disk + // for simplicity. + // Handle when frame size exceeds available buffer here + break; + case MFX_ERR_MORE_DATA: + // The function requires more data to generate any output + if (isDraining == true) + isStillGoing = false; + break; + case MFX_ERR_DEVICE_LOST: + // For non-CPU implementations, + // Cleanup if device is lost + break; + case MFX_WRN_DEVICE_BUSY: + // For non-CPU implementations, + // Wait a few milliseconds then try again + break; + default: + printf("unknown status %d\n", sts); + isStillGoing = false; + break; + } + } + +end: + printf("Encoded %d frames\n", framenum); + + // Clean up resources - It is recommended to close components first, before + // releasing allocated surfaces, since some surfaces may still be locked by + // internal resources. + if (bitstream.Data) + free(bitstream.Data); + + MFXVideoENCODE_Close(session); + MFXClose(session); + + FreeExternalSystemMemorySurfacePool(encOutBuf, encSurfPool); + + if (source) + fclose(source); + + if (sink) + fclose(sink); + + if (accelHandle) + FreeAcceleratorHandle(accelHandle); + + return 0; +} diff --git a/examples/preview/legacy-vpp/CMakeLists.txt b/examples/preview/legacy-vpp/CMakeLists.txt new file mode 100644 index 00000000..ec9adc5d --- /dev/null +++ b/examples/preview/legacy-vpp/CMakeLists.txt @@ -0,0 +1,76 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) +project(legacy-vpp-preview) + +if(NOT TARGET vpl-example-util) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../util + ${CMAKE_CURRENT_BINARY_DIR}/util) +endif() + +# Default install places 64 bit runtimes in the environment, so we want to do a +# 64 bit build by default. +if(WIN32) + if(NOT DEFINED CMAKE_GENERATOR_PLATFORM) + set(CMAKE_GENERATOR_PLATFORM + x64 + CACHE STRING "") + message(STATUS "Generator Platform set to ${CMAKE_GENERATOR_PLATFORM}") + endif() +endif() + +set(TARGET legacy-vpp) +set(SOURCES src/legacy-vpp.cpp) +set(CONTENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../../content) +set(RUNARGS + -sw + -i + ${CONTENTPATH}/cars_128x96.i420 + -w + 128 + -h + 96) + +# Set default build type to RelWithDebInfo if not specified +if(NOT CMAKE_BUILD_TYPE) + message( + STATUS "Default CMAKE_BUILD_TYPE not set using Release with Debug Info") + set(CMAKE_BUILD_TYPE + "RelWithDebInfo" + CACHE + STRING + "Choose build type from: None Debug Release RelWithDebInfo MinSizeRel" + FORCE) +endif() + +add_executable(${TARGET} ${SOURCES}) + +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + if(NOT DEFINED ENV{VSCMD_VER}) + set(CMAKE_MSVCIDE_RUN_PATH $ENV{PATH}) + endif() +endif() + +if(POLICY CMP0074) + # ignore warning of VPL_ROOT in find_package search path + cmake_policy(SET CMP0074 OLD) +endif() + +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +find_path(VPL_UTIL_PATH util/util.h vpl-example-util + ${CMAKE_CURRENT_SOURCE_DIR}/../../util) +target_include_directories(${TARGET} PRIVATE . ${VPL_UTIL_PATH}) + +get_directory_property(has_parent PARENT_DIRECTORY) +if(NOT has_parent) + # only make run target available for stand-alone build + add_custom_target(run ${TARGET} ${RUNARGS}) +else() + install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT dev) +endif() diff --git a/examples/preview/legacy-vpp/License.txt b/examples/preview/legacy-vpp/License.txt new file mode 100644 index 00000000..1756b565 --- /dev/null +++ b/examples/preview/legacy-vpp/License.txt @@ -0,0 +1,18 @@ +Copyright Intel Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/examples/preview/legacy-vpp/README.md b/examples/preview/legacy-vpp/README.md new file mode 100644 index 00000000..879b6d31 --- /dev/null +++ b/examples/preview/legacy-vpp/README.md @@ -0,0 +1,134 @@ +# `legacy-vpp` Sample + +This sample shows how to use the oneAPI Video Processing Library (oneVPL) to +perform a simple video processing using 1.x common APIs. + +| Optimized for | Description +|----------------- | ---------------------------------------- +| OS | Ubuntu* 20.04; Windows* 10 +| Hardware | Intel® Processor Graphics GEN9 or newer +| Software | Intel® oneAPI Video Processing Library(oneVPL) +| What You Will Learn | How to use oneVPL to resize an I420 raw video file +| Time to Complete | 5 minutes + + +## Purpose + +This sample is a command line application that takes a file containing a raw +native format video elementary stream as an argument, processes it with oneVPL +writes the resized output to `out.raw` in I420 raw video format. + +Native raw frame format: CPU=I420, GPU=NV12. + +## Key Implementation details + +| Configuration | Default setting +| ----------------- | ---------------------------------- +| Target device | CPU +| Input format | I420 +| Output format | I420 +| Output resolution | 640 x 480 + + +## License + +This code sample is licensed under MIT license. + + +## Building the `legacy-vpp` Program + +### On a Linux* System + +Perform the following steps: + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Linux* + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + source /setvars.sh + ``` + Here `` represents the root folder of your oneAPI + installation, which is `/opt/intel/oneapi/` when installed as root, and + `~/intel/oneapi/` when installed as a normal user. If you customized the + installation folder, it is in your custom location. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +### On a Windows* System Using Visual Studio* Version 2017 or Newer + +#### Building the program using CMake + +1. Install the prerequisite software. To build and run the sample you need to + install prerequisite software and set up your environment: + + - Intel® oneAPI Base Toolkit for Windows* + - [CMake](https://cmake.org) + +2. Set up your environment using the following command. + ``` + \setvars.bat + ``` + Here `` represents the root folder of your oneAPI + installation, which is which is `C:\Program Files (x86)\Intel\oneAPI\` + when installed using default options. If you customized the installation + folder, the `setvars.bat` is in your custom location. Note that if a + compiler is not part of your oneAPI installation you should run in a Visual + Studio 64-bit command prompt. + +3. Build the program using the following commands: + ``` + mkdir build + cd build + cmake .. + cmake --build . + ``` + +4. Run the program using the following command: + ``` + cmake --build . --target run + ``` + + +## Running the Sample + +### Application Parameters + +The instructions given above run the sample executable with the argument +`-i examples/content/cars_128x96.i420 -w 128 -h 96`. + + +### Example of Output + +``` +Implementation info + version = 2.2 + impl = Software +Decoding legacy-vpp/../content/cars_128x96.i420 -> out.raw +Processed 60 frames + +``` + +You can find the output file `out.raw` in the build directory and its size is `640x480`. + +You can display the output with a video player that supports raw streams such as +FFplay. You can use the following command to display the output with FFplay: + +``` +ffplay -video_size 640x480 -pixel_format yuv420p -f rawvideo out.raw +``` diff --git a/examples/preview/legacy-vpp/sample.json b/examples/preview/legacy-vpp/sample.json new file mode 100644 index 00000000..0adb8ee9 --- /dev/null +++ b/examples/preview/legacy-vpp/sample.json @@ -0,0 +1,35 @@ +{ + "guid": "AEDAA6EC-B6E0-4D5F-A97C-0B8312C4D86D", + "name": "Legacy vpp", + "categories": ["Toolkit/Intel® oneAPI Base Toolkit/oneVPL"], + "description": "Sample that shows how to use the oneAPI Video Processing Library to perform simple video processing", + "dependencies": ["vpl"], + "os": ["linux", "windows"], + "languages": [{"cpp":{}}], + "builder": [ "ide", "cmake"], + "targetDevice": ["CPU", "GPU"], + "ciTests": { + "linux": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ], + "windows": [ + { "id": "builds and runs successfully with CMake", + "env": [ ], + "steps": [ + "mkdir build", + "cd build", + "cmake ..", + "cmake --build .", + "cmake --build . --target run" + ] } + ] + } +} diff --git a/examples/preview/legacy-vpp/src/legacy-vpp.cpp b/examples/preview/legacy-vpp/src/legacy-vpp.cpp new file mode 100644 index 00000000..44b03204 --- /dev/null +++ b/examples/preview/legacy-vpp/src/legacy-vpp.cpp @@ -0,0 +1,220 @@ +//============================================================================== +// Copyright Intel Corporation +// +// SPDX-License-Identifier: MIT +//============================================================================== + +/// +/// A minimal oneAPI Video Processing Library (oneVPL) VPP application, +/// using 1.34 API subset without removed features +/// +/// @file + +#include "util/util.h" + +#define OUTPUT_WIDTH 640 +#define OUTPUT_HEIGHT 480 +#define OUTPUT_FILE "out.raw" + +void Usage(void) { + printf("\n"); + printf(" Usage : legacy-vpp\n"); + printf(" -hw use hardware implementation\n"); + printf(" -sw use software implementation\n"); + printf(" -i input file name (sw=I420 raw frames, hw=NV12)\n"); + printf(" -w input width\n"); + printf(" -h input height\n\n"); + printf(" Example: legacy-vpp -i in.i420 -w 128 -h 96\n"); + printf( + " To view: ffplay -f rawvideo -pixel_format yuv420p -video_size %dx%d -pixel_format yuv420p %s\n\n", + OUTPUT_WIDTH, + OUTPUT_HEIGHT, + OUTPUT_FILE); + printf(" * Resize raw frames to %dx%d size in %s\n\n", + OUTPUT_WIDTH, + OUTPUT_HEIGHT, + OUTPUT_FILE); + return; +} + +int main(int argc, char *argv[]) { + //Variables used for legacy and 2.x + bool isDraining = false; + bool isStillGoing = true; + FILE *sink = NULL; + FILE *source = NULL; + mfxFrameSurface1 *vppInSurface = NULL; + mfxFrameSurface1 *vppOutSurface = NULL; + mfxSession session = NULL; + mfxStatus sts = MFX_ERR_NONE; + mfxSyncPoint syncp = {}; + mfxU32 framenum = 0; + mfxVideoParam mfxVPPParams = {}; + void *accelHandle = NULL; + Params cliParams = {}; + mfxVersion version = { 0, 1 }; + + //variables used only in legacy version + int nIndexVPPInSurf = 0; + int nIndexVPPOutSurf = 0; + mfxFrameAllocRequest VPPRequest[2] = {}; + mfxFrameSurface1 *vppInSurfacePool = NULL; + mfxFrameSurface1 *vppOutSurfacePool = NULL; + mfxU16 nSurfNumVPPIn = 0; + mfxU16 nSurfNumVPPOut = 0; + mfxU8 *vppInBuf = NULL; + mfxU8 *vppOutBuf = NULL; + + //Parse command line args to cliParams + if (ParseArgsAndValidate(argc, argv, &cliParams, PARAMS_VPP) == false) { + Usage(); + return 1; // return 1 as error code + } + + source = fopen(cliParams.infileName, "rb"); + VERIFY(source, "Could not open input file"); + + sink = fopen(OUTPUT_FILE, "wb"); + VERIFY(sink, "Could not create output file"); + + // Initialize VPL session + sts = MFXInit(cliParams.impl, &version, &session); + VERIFY(MFX_ERR_NONE == sts, "Not able to create VPL session"); + + // Print info about implementation loaded + ShowImplInfo(session); + + // Convenience function to initialize available accelerator(s) + accelHandle = InitAcceleratorHandle(session); + + // Initialize VPP parameters + if (MFX_IMPL_SOFTWARE == cliParams.impl) { + PrepareFrameInfo(&mfxVPPParams.vpp.In, + MFX_FOURCC_I420, + cliParams.srcWidth, + cliParams.srcHeight); + PrepareFrameInfo(&mfxVPPParams.vpp.Out, MFX_FOURCC_I420, OUTPUT_WIDTH, OUTPUT_HEIGHT); + } + else { + PrepareFrameInfo(&mfxVPPParams.vpp.In, + MFX_FOURCC_NV12, + cliParams.srcWidth, + cliParams.srcHeight); + PrepareFrameInfo(&mfxVPPParams.vpp.Out, MFX_FOURCC_NV12, OUTPUT_WIDTH, OUTPUT_HEIGHT); + } + + mfxVPPParams.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + + // Query number required surfaces for VPPs + MFXVideoVPP_QueryIOSurf(session, &mfxVPPParams, VPPRequest); + + // Determine the required number of surfaces for VPP input and output + nSurfNumVPPIn = VPPRequest[0].NumFrameSuggested; // vpp in + nSurfNumVPPOut = VPPRequest[1].NumFrameSuggested; // vpp out + + // Allocate surfaces for VPP in and VPP out + // - Width and height of buffer must be aligned, a multiple of 32 + // - Frame surface array keeps pointers all surface planes and general frame info + vppInSurfacePool = (mfxFrameSurface1 *)calloc(sizeof(mfxFrameSurface1), nSurfNumVPPIn); + + sts = AllocateExternalSystemMemorySurfacePool(&vppInBuf, + vppInSurfacePool, + mfxVPPParams.vpp.In, + nSurfNumVPPIn); + VERIFY(MFX_ERR_NONE == sts, "Error in external surface allocation for VPP in\n"); + + vppOutSurfacePool = (mfxFrameSurface1 *)calloc(sizeof(mfxFrameSurface1), nSurfNumVPPOut); + + sts = AllocateExternalSystemMemorySurfacePool(&vppOutBuf, + vppOutSurfacePool, + mfxVPPParams.vpp.Out, + nSurfNumVPPOut); + VERIFY(MFX_ERR_NONE == sts, "Error in external surface allocation for VPP out\n"); + + // Initialize VPP + sts = MFXVideoVPP_Init(session, &mfxVPPParams); + VERIFY(MFX_ERR_NONE == sts, "Could not initialize VPP"); + + printf("Processing %s -> %s\n", cliParams.infileName, OUTPUT_FILE); + + nIndexVPPInSurf = GetFreeSurfaceIndex(vppInSurfacePool, nSurfNumVPPIn); + VERIFY(nIndexVPPInSurf != MFX_ERR_NOT_FOUND, "Could not find available surface for VPP in"); + + nIndexVPPOutSurf = GetFreeSurfaceIndex(vppOutSurfacePool, nSurfNumVPPOut); + VERIFY(nIndexVPPOutSurf != MFX_ERR_NOT_FOUND, "Could not find available surface for VPP out"); + + while (isStillGoing == true) { + // Load a new frame if not draining + if (isDraining == false) { + vppInSurface = &vppInSurfacePool[nIndexVPPInSurf]; + vppOutSurface = &vppOutSurfacePool[nIndexVPPOutSurf]; + + sts = ReadRawFrame(vppInSurface, source); + if (sts == MFX_ERR_MORE_DATA) + isDraining = true; + else + VERIFY(MFX_ERR_NONE == sts, "Unknown error reading input"); + } + + sts = MFXVideoVPP_RunFrameVPPAsync(session, + (isDraining == true) ? NULL : vppInSurface, + vppOutSurface, + NULL, + &syncp); + + switch (sts) { + case MFX_ERR_NONE: + sts = WriteRawFrame(vppOutSurface, sink); + VERIFY(MFX_ERR_NONE == sts, "Could not write vpp output"); + + framenum++; + break; + case MFX_ERR_MORE_DATA: + // Need more input frames before VPP can produce an output + if (isDraining) + isStillGoing = false; + break; + case MFX_ERR_MORE_SURFACE: + // The output frame is ready after synchronization. + // Need more surfaces at output for additional output frames available. + // This applies to external memory allocations and should not be expected for + // a simple internal allocation case like this + break; + case MFX_ERR_DEVICE_LOST: + // For non-CPU implementations, + // Cleanup if device is lost + break; + case MFX_WRN_DEVICE_BUSY: + // For non-CPU implementations, + // Wait a few milliseconds then try again + break; + default: + printf("unknown status %d\n", sts); + isStillGoing = false; + break; + } + } + +end: + printf("Processed %d frames\n", framenum); + + // Clean up resources - It is recommended to close components first, before + // releasing allocated surfaces, since some surfaces may still be locked by + // internal resources. + if (source) + fclose(source); + + if (sink) + fclose(sink); + + MFXVideoVPP_Close(session); + MFXClose(session); + + FreeExternalSystemMemorySurfacePool(vppInBuf, vppInSurfacePool); + FreeExternalSystemMemorySurfacePool(vppOutBuf, vppOutSurfacePool); + + if (accelHandle) + FreeAcceleratorHandle(accelHandle); + + return 0; +} diff --git a/examples/util/CMakeLists.txt b/examples/util/CMakeLists.txt new file mode 100644 index 00000000..78d22bd4 --- /dev/null +++ b/examples/util/CMakeLists.txt @@ -0,0 +1,27 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) + +set(TARGET vpl-example-util) + +add_library(${TARGET} INTERFACE) +target_include_directories(${TARGET} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) + +if(UNIX) + find_package(PkgConfig REQUIRED) + pkg_check_modules(PKG_LIBVA libva libva-drm) + if(PKG_LIBVA_FOUND) + target_compile_definitions(${TARGET} INTERFACE -DLIBVA_SUPPORT) + set(CMAKE_THREAD_PREFER_PTHREAD TRUE) + set(THREADS_PREFER_PTHREAD_FLAG TRUE) + find_package(Threads REQUIRED) + target_link_libraries(${TARGET} INTERFACE ${PKG_LIBVA_LIBRARIES} + Threads::Threads) + target_include_directories(${TARGET} INTERFACE ${PKG_LIBVA_INCLUDE_DIRS}) + else() + message(WARNING "libva not found: building without libVA support") + endif() +endif() diff --git a/examples/util/util/util.h b/examples/util/util/util.h new file mode 100644 index 00000000..c094eae2 --- /dev/null +++ b/examples/util/util/util.h @@ -0,0 +1,567 @@ +//============================================================================== +// Copyright Intel Corporation +// +// SPDX-License-Identifier: MIT +//============================================================================== + +/// +/// Utility library header file for sample code +/// +/// @file + +#ifndef EXAMPLES_UTIL_UTIL_UTIL_H_ +#define EXAMPLES_UTIL_UTIL_UTIL_H_ + +#include +#include +#include + +#ifdef USE_MEDIASDK1 + #include "mfxvideo.h" +enum { + MFX_FOURCC_I420 = MFX_FOURCC_IYUV /*!< Alias for the IYUV color format. */ +}; +#else + #include "vpl/mfxjpeg.h" + #include "vpl/mfxvideo.h" +#endif + +#if (MFX_VERSION >= 2000) + #include "vpl/mfxdispatcher.h" +#endif + +#ifdef __linux__ + #include + #include +#endif + +#ifdef LIBVA_SUPPORT + #include "va/va.h" + #include "va/va_drm.h" +#endif + +#define WAIT_100_MILLISECONDS 100 +#define MAX_PATH 260 +#define MAX_WIDTH 3840 +#define MAX_HEIGHT 2160 +#define IS_ARG_EQ(a, b) (!strcmp((a), (b))) + +#define VERIFY(x, y) \ + if (!(x)) { \ + printf("%s\n", y); \ + goto end; \ + } + +#define ALIGN16(value) (((value + 15) >> 4) << 4) +#define ALIGN32(X) (((mfxU32)((X) + 31)) & (~(mfxU32)31)) + +enum ExampleParams { PARAM_IMPL = 0, PARAM_INFILE, PARAM_INRES, PARAM_COUNT }; +enum ParamGroup { + PARAMS_CREATESESSION = 0, + PARAMS_DECODE, + PARAMS_ENCODE, + PARAMS_VPP, + PARAMS_TRANSCODE +}; + +typedef struct _Params { + mfxIMPL impl; +#if (MFX_VERSION >= 2000) + mfxVariant implValue; +#endif + + char *infileName; + char *inmodelName; + + mfxU16 srcWidth; + mfxU16 srcHeight; +} Params; + +char *ValidateFileName(char *in) { + if (in) { + if (strnlen(in, MAX_PATH) > MAX_PATH) + return NULL; + } + + return in; +} + +bool ValidateSize(char *in, mfxU16 *vsize, mfxU32 vmax) { + if (in) { + *vsize = static_cast(strtol(in, NULL, 10)); + if (*vsize <= vmax) + return true; + } + + *vsize = 0; + return false; +} + +bool ParseArgsAndValidate(int argc, char *argv[], Params *params, ParamGroup group) { + int idx; + char *s; + + // init all params to 0 + *params = {}; + params->impl = MFX_IMPL_SOFTWARE; +#if (MFX_VERSION >= 2000) + params->implValue.Type = MFX_VARIANT_TYPE_U32; + params->implValue.Data.U32 = MFX_IMPL_TYPE_SOFTWARE; +#endif + + for (idx = 1; idx < argc;) { + // all switches must start with '-' + if (argv[idx][0] != '-') { + printf("ERROR - invalid argument: %s\n", argv[idx]); + return false; + } + + // switch string, starting after the '-' + s = &argv[idx][1]; + idx++; + + // search for match + if (IS_ARG_EQ(s, "i")) { + params->infileName = ValidateFileName(argv[idx++]); + if (!params->infileName) { + return false; + } + } + else if (IS_ARG_EQ(s, "m")) { + params->inmodelName = ValidateFileName(argv[idx++]); + if (!params->inmodelName) { + return false; + } + } + else if (IS_ARG_EQ(s, "w")) { + if (!ValidateSize(argv[idx++], ¶ms->srcWidth, MAX_WIDTH)) + return false; + } + else if (IS_ARG_EQ(s, "h")) { + if (!ValidateSize(argv[idx++], ¶ms->srcHeight, MAX_HEIGHT)) + return false; + } + else if (IS_ARG_EQ(s, "hw")) { + params->impl = MFX_IMPL_HARDWARE; +#if (MFX_VERSION >= 2000) + params->implValue.Data.U32 = MFX_IMPL_TYPE_HARDWARE; +#endif + } + else if (IS_ARG_EQ(s, "sw")) { + params->impl = MFX_IMPL_SOFTWARE; +#if (MFX_VERSION >= 2000) + params->implValue.Data.U32 = MFX_IMPL_TYPE_SOFTWARE; +#endif + } + } + + // input file required by all except createsession + if ((group != PARAMS_CREATESESSION) && (!params->infileName)) { + printf("ERROR - input file name (-i) is required\n"); + return false; + } + + // VPP and encode samples require an input resolution + if ((PARAMS_VPP == group) || (PARAMS_ENCODE == group)) { + if ((!params->srcWidth) || (!params->srcHeight)) { + printf("ERROR - source width/height required\n"); + return false; + } + } + + return true; +} + +void *InitAcceleratorHandle(mfxSession session) { + mfxIMPL impl; + mfxStatus sts = MFXQueryIMPL(session, &impl); + if (sts != MFX_ERR_NONE) + return NULL; + +#ifdef LIBVA_SUPPORT + if ((impl & MFX_IMPL_VIA_VAAPI) == MFX_IMPL_VIA_VAAPI) { + VADisplay va_dpy = NULL; + int fd; + // initialize VAAPI context and set session handle (req in Linux) + fd = open("/dev/dri/renderD128", O_RDWR); + if (fd >= 0) { + va_dpy = vaGetDisplayDRM(fd); + if (va_dpy) { + int major_version = 0, minor_version = 0; + if (VA_STATUS_SUCCESS == vaInitialize(va_dpy, &major_version, &minor_version)) { + MFXVideoCORE_SetHandle(session, + static_cast(MFX_HANDLE_VA_DISPLAY), + va_dpy); + } + } + } + return va_dpy; + } +#endif + + return NULL; +} + +void FreeAcceleratorHandle(void *accelHandle) { +#ifdef LIBVA_SUPPORT + vaTerminate((VADisplay)accelHandle); +#endif +} + +mfxVersion ShowImplInfo(mfxSession session) { + mfxIMPL impl; + mfxVersion version = { 0, 1 }; + + mfxStatus sts = MFXQueryIMPL(session, &impl); + if (sts != MFX_ERR_NONE) + return version; + + sts = MFXQueryVersion(session, &version); + if (sts != MFX_ERR_NONE) + return version; + + printf("Implementation info\n\tversion = %d.%d\n\timpl = ", version.Major, version.Minor); + + switch (impl) { + case MFX_IMPL_SOFTWARE: + puts("Software"); + break; + case MFX_IMPL_HARDWARE | MFX_IMPL_VIA_VAAPI: + puts("Hardware:VAAPI"); + break; + case MFX_IMPL_HARDWARE | MFX_IMPL_VIA_D3D11: + puts("Hardware:D3D11"); + break; + case MFX_IMPL_HARDWARE | MFX_IMPL_VIA_D3D9: + puts("Hardware:D3D9"); + break; + default: + puts("Unknown"); + break; + } + + return version; +} + +void PrepareFrameInfo(mfxFrameInfo *fi, mfxU32 format, mfxU16 w, mfxU16 h) { + // Video processing input data format + fi->FourCC = format; + fi->ChromaFormat = MFX_CHROMAFORMAT_YUV420; + fi->CropX = 0; + fi->CropY = 0; + fi->CropW = w; + fi->CropH = h; + fi->PicStruct = MFX_PICSTRUCT_PROGRESSIVE; + fi->FrameRateExtN = 30; + fi->FrameRateExtD = 1; + // width must be a multiple of 16 + // height must be a multiple of 16 in case of frame picture and a multiple of 32 in case of field picture + fi->Width = ALIGN16(fi->CropW); + fi->Height = + (MFX_PICSTRUCT_PROGRESSIVE == fi->PicStruct) ? ALIGN16(fi->CropH) : ALIGN32(fi->CropH); +} + +mfxU32 GetSurfaceSize(mfxU32 FourCC, mfxU32 width, mfxU32 height) { + mfxU32 nbytes = 0; + + switch (FourCC) { + case MFX_FOURCC_I420: + case MFX_FOURCC_NV12: + nbytes = width * height + (width >> 1) * (height >> 1) + (width >> 1) * (height >> 1); + break; + case MFX_FOURCC_I010: + case MFX_FOURCC_P010: + nbytes = width * height + (width >> 1) * (height >> 1) + (width >> 1) * (height >> 1); + nbytes *= 2; + break; + case MFX_FOURCC_RGB4: + nbytes = width * height * 4; + break; + default: + break; + } + + return nbytes; +} + +int GetFreeSurfaceIndex(mfxFrameSurface1 *SurfacesPool, mfxU16 nPoolSize) { + for (mfxU16 i = 0; i < nPoolSize; i++) { + if (0 == SurfacesPool[i].Data.Locked) + return i; + } + return MFX_ERR_NOT_FOUND; +} + +mfxStatus AllocateExternalSystemMemorySurfacePool(mfxU8 **buf, + mfxFrameSurface1 *surfpool, + mfxFrameInfo frame_info, + mfxU16 surfnum) { + // initialize surface pool (I420, RGB4 format) + mfxU32 surfaceSize = GetSurfaceSize(frame_info.FourCC, frame_info.Width, frame_info.Height); + if (!surfaceSize) + return MFX_ERR_MEMORY_ALLOC; + + size_t framePoolBufSize = static_cast(surfaceSize) * surfnum; + *buf = reinterpret_cast(calloc(framePoolBufSize, 1)); + + mfxU16 surfW; + mfxU16 surfH = frame_info.Height; + + if (frame_info.FourCC == MFX_FOURCC_RGB4) { + surfW = frame_info.Width * 4; + + for (mfxU32 i = 0; i < surfnum; i++) { + surfpool[i] = { 0 }; + surfpool[i].Info = frame_info; + size_t buf_offset = static_cast(i) * surfaceSize; + surfpool[i].Data.B = *buf + buf_offset; + surfpool[i].Data.G = surfpool[i].Data.B + 1; + surfpool[i].Data.R = surfpool[i].Data.B + 2; + surfpool[i].Data.A = surfpool[i].Data.B + 3; + surfpool[i].Data.Pitch = surfW; + } + } + else { + surfW = (frame_info.FourCC == MFX_FOURCC_P010) ? frame_info.Width * 2 : frame_info.Width; + + for (mfxU32 i = 0; i < surfnum; i++) { + surfpool[i] = { 0 }; + surfpool[i].Info = frame_info; + size_t buf_offset = static_cast(i) * surfaceSize; + surfpool[i].Data.Y = *buf + buf_offset; + surfpool[i].Data.U = *buf + buf_offset + (surfW * surfH); + surfpool[i].Data.V = surfpool[i].Data.U + ((surfW / 2) * (surfH / 2)); + surfpool[i].Data.Pitch = surfW; + } + } + + return MFX_ERR_NONE; +} + +void FreeExternalSystemMemorySurfacePool(mfxU8 *dec_buf, mfxFrameSurface1 *surfpool) { + if (dec_buf) + free(dec_buf); + + if (surfpool) + free(surfpool); +} + +// Read encoded stream from file +mfxStatus ReadEncodedStream(mfxBitstream &bs, FILE *f) { + mfxU8 *p0 = bs.Data; + mfxU8 *p1 = bs.Data + bs.DataOffset; + if (bs.DataOffset > bs.MaxLength - 1) { + return MFX_ERR_NOT_ENOUGH_BUFFER; + } + if (bs.DataLength + bs.DataOffset > bs.MaxLength) { + return MFX_ERR_NOT_ENOUGH_BUFFER; + } + for (mfxU32 i = 0; i < bs.DataLength; i++) { + *(p0++) = *(p1++); + } + bs.DataOffset = 0; + bs.DataLength += (mfxU32)fread(bs.Data + bs.DataLength, 1, bs.MaxLength - bs.DataLength, f); + if (bs.DataLength == 0) + return MFX_ERR_MORE_DATA; + + return MFX_ERR_NONE; +} + +// Write encoded stream to file +void WriteEncodedStream(mfxBitstream &bs, FILE *f) { + fwrite(bs.Data + bs.DataOffset, 1, bs.DataLength, f); + bs.DataLength = 0; + return; +} + +// Load raw I420 frames to mfxFrameSurface +mfxStatus ReadRawFrame(mfxFrameSurface1 *surface, FILE *f) { + mfxU16 w, h, i, pitch; + size_t bytes_read; + mfxU8 *ptr; + mfxFrameInfo *info = &surface->Info; + mfxFrameData *data = &surface->Data; + + w = info->Width; + h = info->Height; + + switch (info->FourCC) { + case MFX_FOURCC_I420: + // read luminance plane (Y) + pitch = data->Pitch; + ptr = data->Y; + for (i = 0; i < h; i++) { + bytes_read = (mfxU32)fread(ptr + i * pitch, 1, w, f); + if (w != bytes_read) + return MFX_ERR_MORE_DATA; + } + + // read chrominance (U, V) + pitch /= 2; + h /= 2; + w /= 2; + ptr = data->U; + for (i = 0; i < h; i++) { + bytes_read = (mfxU32)fread(ptr + i * pitch, 1, w, f); + if (w != bytes_read) + return MFX_ERR_MORE_DATA; + } + + ptr = data->V; + for (i = 0; i < h; i++) { + bytes_read = (mfxU32)fread(ptr + i * pitch, 1, w, f); + if (w != bytes_read) + return MFX_ERR_MORE_DATA; + } + break; + case MFX_FOURCC_NV12: + // Y + pitch = data->Pitch; + for (i = 0; i < h; i++) { + bytes_read = fread(data->Y + i * pitch, 1, w, f); + if (w != bytes_read) + return MFX_ERR_MORE_DATA; + } + // UV + h /= 2; + for (i = 0; i < h; i++) { + bytes_read = fread(data->UV + i * pitch, 1, w, f); + if (w != bytes_read) + return MFX_ERR_MORE_DATA; + } + break; + case MFX_FOURCC_RGB4: + // Y + pitch = data->Pitch; + for (i = 0; i < h; i++) { + bytes_read = fread(data->B + i * pitch, 1, pitch, f); + if (pitch != bytes_read) + return MFX_ERR_MORE_DATA; + } + break; + default: + printf("Unsupported FourCC code, skip LoadRawFrame\n"); + break; + } + + return MFX_ERR_NONE; +} + +#if (MFX_VERSION >= 2000) +mfxStatus ReadRawFrame_InternalMem(mfxFrameSurface1 *surface, FILE *f) { + bool is_more_data = false; + + // Map makes surface writable by CPU for all implementations + mfxStatus sts = surface->FrameInterface->Map(surface, MFX_MAP_WRITE); + if (sts != MFX_ERR_NONE) { + printf("mfxFrameSurfaceInterface->Map failed (%d)\n", sts); + return sts; + } + + sts = ReadRawFrame(surface, f); + if (sts != MFX_ERR_NONE) { + if (sts == MFX_ERR_MORE_DATA) + is_more_data = true; + else + return sts; + } + + // Unmap/release returns local device access for all implementations + sts = surface->FrameInterface->Unmap(surface); + if (sts != MFX_ERR_NONE) { + printf("mfxFrameSurfaceInterface->Unmap failed (%d)\n", sts); + return sts; + } + + return (is_more_data == true) ? MFX_ERR_MORE_DATA : MFX_ERR_NONE; +} +#endif + +// Write raw I420 frame to file +mfxStatus WriteRawFrame(mfxFrameSurface1 *surface, FILE *f) { + mfxU16 w, h, i, pitch; + mfxFrameInfo *info = &surface->Info; + mfxFrameData *data = &surface->Data; + + w = info->Width; + h = info->Height; + + // write the output to disk + switch (info->FourCC) { + case MFX_FOURCC_I420: + // Y + pitch = data->Pitch; + for (i = 0; i < h; i++) { + fwrite(data->Y + i * pitch, 1, w, f); + } + // U + pitch /= 2; + h /= 2; + w /= 2; + for (i = 0; i < h; i++) { + fwrite(data->U + i * pitch, 1, w, f); + } + // V + for (i = 0; i < h; i++) { + fwrite(data->V + i * pitch, 1, w, f); + } + break; + case MFX_FOURCC_NV12: + // Y + pitch = data->Pitch; + for (i = 0; i < h; i++) { + fwrite(data->Y + i * pitch, 1, w, f); + } + // UV + h /= 2; + for (i = 0; i < h; i++) { + fwrite(data->UV + i * pitch, 1, w, f); + } + break; + case MFX_FOURCC_RGB4: + // Y + pitch = data->Pitch; + for (i = 0; i < h; i++) { + fwrite(data->B + i * pitch, 1, pitch, f); + } + break; + default: + return MFX_ERR_UNSUPPORTED; + break; + } + + return MFX_ERR_NONE; +} + +#if (MFX_VERSION >= 2000) +// Write raw frame to file +mfxStatus WriteRawFrame_InternalMem(mfxFrameSurface1 *surface, FILE *f) { + mfxStatus sts = surface->FrameInterface->Map(surface, MFX_MAP_READ); + if (sts != MFX_ERR_NONE) { + printf("mfxFrameSurfaceInterface->Map failed (%d)\n", sts); + return sts; + } + + sts = WriteRawFrame(surface, f); + if (sts != MFX_ERR_NONE) { + printf("Error in WriteRawFrame\n"); + return sts; + } + + sts = surface->FrameInterface->Unmap(surface); + if (sts != MFX_ERR_NONE) { + printf("mfxFrameSurfaceInterface->Unmap failed (%d)\n", sts); + return sts; + } + + sts = surface->FrameInterface->Release(surface); + if (sts != MFX_ERR_NONE) { + printf("mfxFrameSurfaceInterface->Release failed (%d)\n", sts); + return sts; + } + + return sts; +} +#endif + +#endif //EXAMPLES_UTIL_UTIL_UTIL_H_ diff --git a/onevpl.snyk b/onevpl.snyk new file mode 100644 index 00000000..ac790aee --- /dev/null +++ b/onevpl.snyk @@ -0,0 +1,6 @@ +# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities. +# https://support.snyk.io/hc/en-us/articles/360007487097-The-snyk-file +version: v1.14.0 +language-settings: python: "3.7" +ignore: +patch: \ No newline at end of file diff --git a/script/README.md b/script/README.md index d42865c9..e9845c10 100644 --- a/script/README.md +++ b/script/README.md @@ -12,6 +12,10 @@ The scripts are designed around the model described by - `lint` - Analyze project source for potential issues, including compliance with coding style. Requires Python modules in `requirements-dev.txt`. +- `clean` - Remove project build files. Will not remove installed files or +bootstrap files placed in `VPL_BUILD_DEPENDENCIES`. + + - `bootstrap` - Build the project dependencies and place in the location specified by the `VPL_BUILD_DEPENDENCIES` environment variable. If environment variable is undefined, define it as and place output in `_deps`. @@ -21,3 +25,7 @@ The scripts are designed around the model described by there at install time. - `install` - Install the project built in the build stage. + +- `test` or `test32` - Run basic smoke testing on built project. + +- `stress` - Run stress testing on built project. diff --git a/script/_buildopts.bat b/script/_buildopts.bat new file mode 100644 index 00000000..a421ca8b --- /dev/null +++ b/script/_buildopts.bat @@ -0,0 +1,142 @@ +@REM ------------------------------------------------------------------------------ +@REM Copyright (C) Intel Corporation +@REM +@REM SPDX-License-Identifier: MIT +@REM ------------------------------------------------------------------------------ +@REM User friendly consistant parameter parsing + +@REM Set project folder +FOR /D %%i IN ("%~dp0\..") DO ( + SET PROJ_DIR=%%~fi +) + +@REM Set script folder +FOR /D %%i IN ("%~dp0") DO ( + SET SCRIPT_DIR=%%~fi +) + +@REM Clear options +SET "HELP_OPT=" +SET "GPL_OPT=" +SET COFIG_OPT=Release +SET ARCH_OPT=x86_64 +SET "BOOTSTRAP_OPT=" + +@REM Read information about origin script before parsing command line +:PREFIX_Loop + IF "%~1"=="" ( + GOTO PREFIX_Continue + ) ELSE IF "%~1"=="--" ( + @REM if we see a double dash on its own it marks the end of the prefix + SHIFT + GOTO PREFIX_Continue + ) ELSE IF "%~1"=="--name" ( + SET ORIG_SCRIPT_NAME=%~2 + SHIFT + ) ELSE IF "%~1"=="--desc" ( + SET ORIG_SCRIPT_DESC=%~2 + SHIFT + ) ELSE ( + ECHO Unrecognized option "%~1" + SET HELP_OPT=yes + GOTO Continue + ) + SHIFT + GOTO PREFIX_Loop +:PREFIX_Continue + +@REM Read command line options +:Loop + IF "%~1"=="" ( + GOTO Continue + ) ELSE IF "%~1"=="--gpl" ( + SET GPL_OPT=yes + ) ELSE IF "%~1"=="gpl" ( + SET GPL_OPT=yes + ) ELSE IF "%~1"=="--config" ( + SET COFIG_OPT=%~2 + SHIFT + ) ELSE IF "%~1"=="debug" ( + SET COFIG_OPT=Debug + ) ELSE IF "%~1"=="-A" ( + SET ARCH_OPT=%~2 + SHIFT + ) ELSE IF "%~1"=="--bootstrap" ( + SET BOOTSTRAP_OPT=yes + ) ELSE IF "%~1"=="--help" ( + SET HELP_OPT=yes + ) ELSE IF "%~1"=="-h" ( + SET HELP_OPT=yes + ) ELSE ( + ECHO Unrecognized option "%~1" + SET HELP_OPT=yes + GOTO Continue + ) + SHIFT + GOTO Loop +:Continue + +@REM Print usage message +IF DEFINED HELP_OPT ( + ECHO Usage: %ORIG_SCRIPT_NAME% [options] + ECHO --gpl Include componentes using GPL licensing + ECHO --config CONFIG Build coniguration + ECHO -A ARCH Target architecture + ECHO --bootstrap Include bootstrap steps + ECHO --help, -h Show this help message + ECHO. + ECHO Depricated options + ECHO debug same as "--config Debug" + ECHO gpl same as "--gpl" + ECHO. + ECHO CONFIG may be: Release, Debug + ECHO ARCH may be: x86_64, x86_32 + ECHO. + ECHO %ORIG_SCRIPT_DESC% + EXIT /b 0 +) + +@REM Equivalent parameters to what this was called with for further calls +SET "FORWARD_OPTS=" +IF DEFINED GPL_OPT ( + SET FORWARD_OPTS=%FORWARD_OPTS% --gpl +) +IF DEFINED COFIG_OPT ( + SET FORWARD_OPTS=%FORWARD_OPTS% --config %COFIG_OPT% +) +IF DEFINED ARCH_OPT ( + SET FORWARD_OPTS=%FORWARD_OPTS% -A %ARCH_OPT% +) +IF DEFINED BOOTSTRAP_OPT ( + SET FORWARD_OPTS=%FORWARD_OPTS% --bootstrap +) + +@REM ECHO Environment Summary: +@REM CALL :print_var SCRIPT_DIR +@REM CALL :print_var ROOT_DIR +@REM CALL :print_var VPL_BUILD_DEPENDENCIES +@REM CALL :print_var VPL_INSTALL_DIR + +@REM ECHO Option Summary: +@REM CALL :print_var HELP_OPT +@REM CALL :print_var GPL_OPT +@REM CALL :print_var COFIG_OPT +@REM CALL :print_var ARCH_OPT +@REM CALL :print_var BOOTSTRAP_OPT +@REM CALL :print_var FORWARD_OPTS + +exit /b 0 + +@REM SUBROUTINE "print_var" +@REM Takes one parameter, the name of a variable +@REM Echos Name followed by value or "(not defined)" +@REM depending on state of the named variable +:print_var +SETLOCAL EnableDelayedExpansion +IF DEFINED %1% ( + ECHO %1%: "!%1%!" +) ELSE ( + ECHO %1%: ^(not defined^) +) +ENDLOCAL +exit /b 0 \ No newline at end of file diff --git a/script/_buildopts.sh b/script/_buildopts.sh new file mode 100755 index 00000000..ab860643 --- /dev/null +++ b/script/_buildopts.sh @@ -0,0 +1,155 @@ +#!/bin/bash +############################################################################### +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +############################################################################### +# User friendly consistant parameter parsing + +# Takes one parameter, the name of a variable +# Echos Name followed by value or "(not defined)" +# depending on state of the named variable +print_var () { + varname=$1 + # We pendantilcly check for null here + # this is not needed in code that calls this library + if [ -z ${!varname+x} ] + then + echo " ${varname}: null" + else + echo " ${varname}: \"${!varname}\"" + fi +} + +# Set script folder +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 || exit 1 ; pwd -P )" + +# Set root folder +PROJ_DIR="$( dirname "${SCRIPT_DIR}" )" + +# Clear options +# Note: options will always contain text when set, so +# simple "non-zero length" tests are sufficant to test if +# option is set. (ex: [ -n "${HELP_OPT}" ]) +unset HELP_OPT +unset GPL_OPT +COFIG_OPT=Release +unset ARCH_OPT +unset BOOTSTRAP_OPT + +# Read information about origin script before parsing command line +while [ $# -gt 0 ]; do + case $1 in + "--" ) + shift + break + ;; + "--name" ) + ORIG_SCRIPT_NAME="$2" + shift + ;; + "--desc" ) + ORIG_SCRIPT_DESC="$2" + shift + ;; + * ) + echo "Unrecognized option $1" + HELP_OPT=yes + break + ;; + esac + if [ $# -gt 0 ] + then + shift + fi +done + +# Read command line options +while [ $# -gt 0 ]; do + case $1 in + "--gpl" ) + GPL_OPT=yes + ;; + "gpl" ) + GPL_OPT=yes + ;; + "--config" ) + COFIG_OPT="$2" + shift + ;; + "debug" ) + COFIG_OPT="Debug" + shift + ;; + "-A" ) + ARCH_OPT="$2" + shift + ;; + "--bootstrap" ) + BOOTSTRAP_OPT=yes + ;; + "--help" ) + HELP_OPT=yes + ;; + "-h" ) + HELP_OPT=yes + ;; + * ) + echo "Unrecognized option $1" + HELP_OPT=yes + break + ;; + esac + if [ $# -gt 0 ] + then + shift + fi +done + +# Print usage message +if [ -n "${HELP_OPT}" ] +then + echo "Usage: ${ORIG_SCRIPT_NAME} [options]" + echo " --gpl Include componentes using GPL licensing" + echo " --config CONFIG Build coniguration" + echo " -A ARCH Target architecture" + echo " --bootstrap Include bootstrap steps" + echo " --help, -h Show this help message" + echo "" + echo "Depricated options" + echo " debug same as \"--config Debug\"" + echo " gpl same as \"--gpl\"" + echo "" + echo "CONFIG may be: Release, Debug" + echo "ARCH may be: x86_64, x86_32" + echo "" + echo "${ORIG_SCRIPT_DESC}" + exit 0 +fi + +# Equivalent parameters to what this was called with for further calls +FORWARD_OPTS= +if [ -n "${GPL_OPT}" ] +then + FORWARD_OPTS="${FORWARD_OPTS} --gpl" +fi +if [ -n "${COFIG_OPT}" ] +then + FORWARD_OPTS="${FORWARD_OPTS} --config ${COFIG_OPT}" +fi +if [ -n "${ARCH_OPT}" ] +then + FORWARD_OPTS="${FORWARD_OPTS} -A ${ARCH_OPT}" +fi +if [ -n "${BOOTSTRAP_OPT}" ] +then + FORWARD_OPTS="${FORWARD_OPTS} --bootstrap" +fi + +# echo "Option Summary:" +# print_var HELP_OPT +# print_var GPL_OPT +# print_var COFIG_OPT +# print_var ARCH_OPT +# print_var BOOTSTRAP_OPT +# print_var FORWARD_OPTS diff --git a/script/bootstrap b/script/bootstrap index 11d9b315..fa7b5de3 100755 --- a/script/bootstrap +++ b/script/bootstrap @@ -1,12 +1,22 @@ #!/bin/bash ############################################################################### -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################### -## start of boilerplate to switch to project root ------------------------------ -script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -proj_dir="$( dirname "${script_dir}" )" -cd ${proj_dir} -## start of commands ----------------------------------------------------------- +# Build base dependencies. +set -o errexit + + +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 ; pwd -P )" + +# Read command line options +. "${SCRIPT_DIR}/_buildopts.sh" \ + --name bootstrap \ + --desc "Build base dependencies." \ + -- "$@" + +pushd "${PROJ_DIR}" + echo "No dependencies for base." +popd \ No newline at end of file diff --git a/script/bootstrap.bat b/script/bootstrap.bat index 6c1906fa..af8aa02c 100644 --- a/script/bootstrap.bat +++ b/script/bootstrap.bat @@ -1,14 +1,22 @@ -::------------------------------------------------------------------------------ -:: Copyright (C) 2020 Intel Corporation -:: -:: SPDX-License-Identifier: MIT -::------------------------------------------------------------------------------ -:: start of boilerplate to switch to project root ------------------------------ -@echo off -SETLOCAL EnableDelayedExpansion -FOR /D %%i IN ("%~dp0\..") DO ( - set PROJ_DIR=%%~fi -) -cd %PROJ_DIR% -:: start of commands ----------------------------------------------------------- +@REM ------------------------------------------------------------------------------ +@REM Copyright (C) Intel Corporation +@REM +@REM SPDX-License-Identifier: MIT +@REM ------------------------------------------------------------------------------ +@REM Build base dependencies. +@ECHO off +SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION + +@REM Read command line options +CALL %~dp0%\_buildopts.bat ^ + --name "%~n0%" ^ + --desc "Build base dependencies." ^ + -- %* +IF DEFINED HELP_OPT ( EXIT /b 0 ) + +PUSHD %PROJ_DIR% + ECHO No dependencies for base. +POPD + +ENDLOCAL \ No newline at end of file diff --git a/script/build b/script/build index 44b19ce8..cb07f052 100755 --- a/script/build +++ b/script/build @@ -4,42 +4,44 @@ # # SPDX-License-Identifier: MIT ############################################################################### -## start of boilerplate to switch to project root ------------------------------ -script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -proj_dir="$( dirname "${script_dir}" )" -cd "${proj_dir}" +# Build base. + set -o errexit -## Read options ----------------------------------------------------------- -BUILD_MODE="Release" - -while [ "$1" != "" ]; do - case $1 in - debug ) - BUILD_MODE="Debug" - ;; - * ) - echo "usage: build [debug]" - exit 1 - esac - shift -done - -## start of commands ----------------------------------------------------------- -CMAKE_BINARY_DIR=_build -if [ -n "$VPL_INSTALL_DIR" ]; then - INSTALL_OPTS=-DCMAKE_INSTALL_PREFIX="${VPL_INSTALL_DIR}" -fi -mkdir -p ${CMAKE_BINARY_DIR} -cd ${CMAKE_BINARY_DIR} +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 ; pwd -P )" -cmake ${INSTALL_OPTS} -DCMAKE_BUILD_TYPE=${BUILD_MODE} .. +# Read command line options +. "${SCRIPT_DIR}/_buildopts.sh" \ + --name build \ + --desc "Build base." \ + -- "$@" -make -j $(nproc) +if [ -n "${BOOTSTRAP_OPT}" ] +then + echo "Building dependencies..." + "${SCRIPT_DIR}/bootstrap" ${FORWARD_OPTS} +fi -cmake --build . --config ${BUILD_MODE} --target package +if [ -n "${VPL_INSTALL_DIR}" ] +then + mkdir -p "${VPL_INSTALL_DIR}" + INSTALL_PREFIX_CM_OPT="-DCMAKE_INSTALL_PREFIX=${VPL_INSTALL_DIR}" +fi -if [ -n "$TEAMCITY_VERSION" ]; then - echo "##teamcity[publishArtifacts 'oneVPL/${CMAKE_BINARY_DIR}/*-all.zip=>']" +COFIG_CM_OPT="-DCMAKE_BUILD_TYPE=${COFIG_OPT}" + +pushd "${PROJ_DIR}" + BUILD_DIR=_build + mkdir -p "${BUILD_DIR}" + pushd "${BUILD_DIR}" + cmake "${INSTALL_PREFIX_CM_OPT}" "${COFIG_CM_OPT}" .. + make -j "$(nproc)" VERBOSE=1 + cmake --build . --config "${COFIG_OPT}" --target package + popd +popd + +# Signal to CI system +if [ -n "${TEAMCITY_VERSION}" ]; then + echo "##teamcity[publishArtifacts 'oneVPL/${BUILD_DIR}/*-all.zip=>']" fi diff --git a/script/build.bat b/script/build.bat index c79b1ada..18ad4c05 100644 --- a/script/build.bat +++ b/script/build.bat @@ -1,43 +1,55 @@ -::------------------------------------------------------------------------------ -:: Copyright (C) 2020 Intel Corporation -:: -:: SPDX-License-Identifier: MIT -::------------------------------------------------------------------------------ -:: start of boilerplate to switch to project root ------------------------------ -@echo off -SETLOCAL -FOR /D %%i IN ("%~dp0\..") DO ( - set PROJ_DIR=%%~fi -) -cd %PROJ_DIR% - -:: Read options ----------------------------------------------------------- -SET BUILD_MODE=Release - -:Loop -IF "%~1"=="" GOTO Continue - IF "%~1"=="debug" ( - SET BUILD_MODE=Debug +@REM ------------------------------------------------------------------------------ +@REM Copyright (C) Intel Corporation +@REM +@REM SPDX-License-Identifier: MIT +@REM ------------------------------------------------------------------------------ +@REM Build base. + +@ECHO off +SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION + +@REM Read command line options +CALL %~dp0%\_buildopts.bat ^ + --name "%~n0%" ^ + --desc "Build base." ^ + -- %* +IF DEFINED HELP_OPT ( EXIT /b 0 ) + +IF DEFINED BOOTSTRAP_OPT ( + ECHO Building dependencies... + %SCRIPT_DIR%/bootstrap.bat %FORWARD_OPTS% ) -SHIFT -GOTO Loop -:Continue - -:: start of commands ----------------------------------------------------------- -set CMAKE_BINARY_DIR=_build -if defined VPL_INSTALL_DIR ( - set INSTALL_OPTS=-DCMAKE_INSTALL_PREFIX=%VPL_INSTALL_DIR% ) -mkdir %CMAKE_BINARY_DIR% -cd %CMAKE_BINARY_DIR% - -cmake -A x64 %INSTALL_OPTS% .. || exit /b 1 - -cmake --build . --config %BUILD_MODE% -j %NUMBER_OF_PROCESSORS% || exit /b 1 - -cmake --build . --config %BUILD_MODE% --target package || exit /b 1 +IF "%ARCH_OPT%"=="x86_64" ( + SET ARCH_CM_OPT=-A x64 +) ELSE IF "%ARCH_OPT%"=="x86_32" ( + SET ARCH_CM_OPT=-A Win32 +) -if defined TEAMCITY_VERSION ( - echo ##teamcity[publishArtifacts 'oneVPL/%CMAKE_BINARY_DIR%/*-all.zip=^>'] +IF DEFINED VPL_INSTALL_DIR ( + MD %VPL_INSTALL_DIR% + SET INSTALL_PREFIX_CM_OPT=-DCMAKE_INSTALL_PREFIX=%VPL_INSTALL_DIR% ) + +SET COFIG_CM_OPT=-DCMAKE_BUILD_TYPE=%COFIG_OPT% + +PUSHD %PROJ_DIR% + SET BUILD_DIR=_build + MKDIR %BUILD_DIR% + PUSHD %BUILD_DIR% + cmake %ARCH_CM_OPT% %INSTALL_PREFIX_CM_OPT% %COFIG_CM_OPT% .. || EXIT /b 1 + + IF DEFINED NUMBER_OF_PROCESSORS ( + SET PARALLEL_OPT=-j %NUMBER_OF_PROCESSORS% + ) + cmake --build . --config %COFIG_OPT% %PARALLEL_OPT% || EXIT /b 1 + cmake --build . --config %COFIG_OPT% --target package || EXIT /b 1 + + @REM Signal to CI system + IF DEFINED TEAMCITY_VERSION ( + ECHO ##teamcity[publishArtifacts 'oneVPL/%BUILD_DIR%/*-all.zip=^>'] + ) + POPD +POPD +ENDLOCAL \ No newline at end of file diff --git a/script/buildall b/script/buildall new file mode 100755 index 00000000..e1e62a6d --- /dev/null +++ b/script/buildall @@ -0,0 +1,22 @@ +#!/bin/bash +############################################################################### +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +############################################################################### +# Unified Build (Depricated, use e2e build). + +set -o errexit + + +# Set script folder +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 ; pwd -P )" + + +if [ -z "${VPL_INSTALL_DIR}" ] +then + VPL_INSTALL_DIR=$(pwd)/_vplbuild + export VPL_INSTALL_DIR +fi + +"${SCRIPT_DIR}/e2e/build" "$@" --bootstrap \ No newline at end of file diff --git a/script/clean b/script/clean new file mode 100755 index 00000000..134f2822 --- /dev/null +++ b/script/clean @@ -0,0 +1,45 @@ +#!/bin/bash +############################################################################### +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +############################################################################### +# Clean base. + +set -o errexit + + +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 ; pwd -P )" + +# Read command line options +. "${SCRIPT_DIR}/_buildopts.sh" \ + --name clean \ + --desc "Clean base." \ + -- "$@" + +if [ -n "${BOOTSTRAP_OPT}" ] +then + if [ -e "${VPL_BUILD_DEPENDENCIES}" ] + then + echo "Cleaning dependencies cache folder..." + rm -rf "${VPL_BUILD_DEPENDENCIES}" + fi +fi + +pushd "${PROJ_DIR}" + if [ -e _deps ] + then + echo "Cleaning base dependencies folder..." + rm -rf _build + fi + if [ -e _extbuild ] + then + echo "Cleaning base dependencies build folder..." + rm -rf _extbuild + fi + if [ -e _build ] + then + echo "Cleaning base build folder..." + rm -rf _build + fi +popd \ No newline at end of file diff --git a/script/clean.bat b/script/clean.bat new file mode 100644 index 00000000..7e8ef500 --- /dev/null +++ b/script/clean.bat @@ -0,0 +1,42 @@ +@REM ------------------------------------------------------------------------------ +@REM Copyright (C) Intel Corporation +@REM +@REM SPDX-License-Identifier: MIT +@REM ------------------------------------------------------------------------------ +@REM Clean base. + +@ECHO off +SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION + +@REM Read command line options +CALL %~dp0%\_buildopts.bat ^ + --name "%~n0%" ^ + --desc "Clean base." ^ + -- %* +IF DEFINED HELP_OPT ( EXIT /b 0 ) + +IF DEFINED BOOTSTRAP_OPT ( + IF EXIST %VPL_BUILD_DEPENDENCIES% ( + ECHO Cleaning dependencies cache folder... + RD /s /q _extbuild + ) +) + +PUSHD %PROJ_DIR% + IF EXIST _extbuild ( + ECHO Cleaning dependencies folder... + RD /s /q _deps + ) + + IF EXIST _extbuild ( + ECHO Cleaning dependencies build folder... + RD /s /q _extbuild + ) + + IF EXIST _build ( + ECHO Cleaning build folder... + RD /s /q _build + ) +POPD + +ENDLOCAL \ No newline at end of file diff --git a/script/cleanall b/script/cleanall new file mode 100755 index 00000000..11d24673 --- /dev/null +++ b/script/cleanall @@ -0,0 +1,22 @@ +#!/bin/bash +############################################################################### +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +############################################################################### +# Unified Clean (Depricated, use e2e clean). + + +set -o errexit + + +# Set script folder +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 ; pwd -P )" + +## clean up install directory +if [ -n "${VPL_INSTALL_DIR}" ]; then + VPL_INSTALL_DIR=$(pwd)/_vplbuild + export VPL_INSTALL_DIR +fi + +"${SCRIPT_DIR}/e2e/clean" "$@" diff --git a/script/e2e/README.md b/script/e2e/README.md new file mode 100644 index 00000000..8a4588b4 --- /dev/null +++ b/script/e2e/README.md @@ -0,0 +1,25 @@ +# Introduction + +This folder contains scripts that represent common tasks a developer (or CI) +needs to perform when working on the project. In particular this folder runs +tasks across multiple repos. + +These scripts assume that all repos are clones under a single root folder, and +are in folders with the repo name. + +The scripts are designed around the model described by +[Github](https://github.blog/2015-06-30-scripts-to-rule-them-all/) + + +# Scripts + +- `clean` - Remove project build files. Will not remove installed files or +bootstrap files placed in `VPL_BUILD_DEPENDENCIES`. + +- `bootstrap` - Build the project dependencies and place in the location + specified by the `VPL_BUILD_DEPENDENCIES` environment variable. If environment + variable is undefined, define it as and place output in `_deps`. + +- `build` - Build the project and place output in `_build`. If the + `VPL_INSTALL_DIR` environment variable is set, the package will be installed + there at install time. \ No newline at end of file diff --git a/script/e2e/_buildopts.bat b/script/e2e/_buildopts.bat new file mode 100644 index 00000000..a421ca8b --- /dev/null +++ b/script/e2e/_buildopts.bat @@ -0,0 +1,142 @@ +@REM ------------------------------------------------------------------------------ +@REM Copyright (C) Intel Corporation +@REM +@REM SPDX-License-Identifier: MIT +@REM ------------------------------------------------------------------------------ +@REM User friendly consistant parameter parsing + +@REM Set project folder +FOR /D %%i IN ("%~dp0\..") DO ( + SET PROJ_DIR=%%~fi +) + +@REM Set script folder +FOR /D %%i IN ("%~dp0") DO ( + SET SCRIPT_DIR=%%~fi +) + +@REM Clear options +SET "HELP_OPT=" +SET "GPL_OPT=" +SET COFIG_OPT=Release +SET ARCH_OPT=x86_64 +SET "BOOTSTRAP_OPT=" + +@REM Read information about origin script before parsing command line +:PREFIX_Loop + IF "%~1"=="" ( + GOTO PREFIX_Continue + ) ELSE IF "%~1"=="--" ( + @REM if we see a double dash on its own it marks the end of the prefix + SHIFT + GOTO PREFIX_Continue + ) ELSE IF "%~1"=="--name" ( + SET ORIG_SCRIPT_NAME=%~2 + SHIFT + ) ELSE IF "%~1"=="--desc" ( + SET ORIG_SCRIPT_DESC=%~2 + SHIFT + ) ELSE ( + ECHO Unrecognized option "%~1" + SET HELP_OPT=yes + GOTO Continue + ) + SHIFT + GOTO PREFIX_Loop +:PREFIX_Continue + +@REM Read command line options +:Loop + IF "%~1"=="" ( + GOTO Continue + ) ELSE IF "%~1"=="--gpl" ( + SET GPL_OPT=yes + ) ELSE IF "%~1"=="gpl" ( + SET GPL_OPT=yes + ) ELSE IF "%~1"=="--config" ( + SET COFIG_OPT=%~2 + SHIFT + ) ELSE IF "%~1"=="debug" ( + SET COFIG_OPT=Debug + ) ELSE IF "%~1"=="-A" ( + SET ARCH_OPT=%~2 + SHIFT + ) ELSE IF "%~1"=="--bootstrap" ( + SET BOOTSTRAP_OPT=yes + ) ELSE IF "%~1"=="--help" ( + SET HELP_OPT=yes + ) ELSE IF "%~1"=="-h" ( + SET HELP_OPT=yes + ) ELSE ( + ECHO Unrecognized option "%~1" + SET HELP_OPT=yes + GOTO Continue + ) + SHIFT + GOTO Loop +:Continue + +@REM Print usage message +IF DEFINED HELP_OPT ( + ECHO Usage: %ORIG_SCRIPT_NAME% [options] + ECHO --gpl Include componentes using GPL licensing + ECHO --config CONFIG Build coniguration + ECHO -A ARCH Target architecture + ECHO --bootstrap Include bootstrap steps + ECHO --help, -h Show this help message + ECHO. + ECHO Depricated options + ECHO debug same as "--config Debug" + ECHO gpl same as "--gpl" + ECHO. + ECHO CONFIG may be: Release, Debug + ECHO ARCH may be: x86_64, x86_32 + ECHO. + ECHO %ORIG_SCRIPT_DESC% + EXIT /b 0 +) + +@REM Equivalent parameters to what this was called with for further calls +SET "FORWARD_OPTS=" +IF DEFINED GPL_OPT ( + SET FORWARD_OPTS=%FORWARD_OPTS% --gpl +) +IF DEFINED COFIG_OPT ( + SET FORWARD_OPTS=%FORWARD_OPTS% --config %COFIG_OPT% +) +IF DEFINED ARCH_OPT ( + SET FORWARD_OPTS=%FORWARD_OPTS% -A %ARCH_OPT% +) +IF DEFINED BOOTSTRAP_OPT ( + SET FORWARD_OPTS=%FORWARD_OPTS% --bootstrap +) + +@REM ECHO Environment Summary: +@REM CALL :print_var SCRIPT_DIR +@REM CALL :print_var ROOT_DIR +@REM CALL :print_var VPL_BUILD_DEPENDENCIES +@REM CALL :print_var VPL_INSTALL_DIR + +@REM ECHO Option Summary: +@REM CALL :print_var HELP_OPT +@REM CALL :print_var GPL_OPT +@REM CALL :print_var COFIG_OPT +@REM CALL :print_var ARCH_OPT +@REM CALL :print_var BOOTSTRAP_OPT +@REM CALL :print_var FORWARD_OPTS + +exit /b 0 + +@REM SUBROUTINE "print_var" +@REM Takes one parameter, the name of a variable +@REM Echos Name followed by value or "(not defined)" +@REM depending on state of the named variable +:print_var +SETLOCAL EnableDelayedExpansion +IF DEFINED %1% ( + ECHO %1%: "!%1%!" +) ELSE ( + ECHO %1%: ^(not defined^) +) +ENDLOCAL +exit /b 0 \ No newline at end of file diff --git a/script/e2e/_buildopts.sh b/script/e2e/_buildopts.sh new file mode 100755 index 00000000..aae181b2 --- /dev/null +++ b/script/e2e/_buildopts.sh @@ -0,0 +1,155 @@ +#!/bin/bash +############################################################################### +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +############################################################################### +# User friendly consistant parameter parsing + +# Takes one parameter, the name of a variable +# Echos Name followed by value or "(not defined)" +# depending on state of the named variable +print_var () { + varname=$1 + # We pendantilcly check for null here + # this is not needed in code that calls this library + if [ -z ${!varname+x} ] + then + echo " $varname: null" + else + echo " $varname: \"${!varname}\"" + fi +} + +# Set script folder +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 || exit 1 ; pwd -P )" + +# Set root folder +ROOT_DIR="$( dirname "$( dirname "$( dirname "${SCRIPT_DIR}" )")")" + +# Clear options +# Note: options will always contain text when set, so +# simple "non-zero length" tests are sufficant to test if +# option is set. (ex: [ -n "$HELP_OPT" ]) +unset HELP_OPT +unset GPL_OPT +COFIG_OPT=Release +unset ARCH_OPT +unset BOOTSTRAP_OPT + +# Read information about origin script before parsing command line +while [ $# -gt 0 ]; do + case $1 in + "--" ) + shift + break + ;; + "--name" ) + ORIG_SCRIPT_NAME="$2" + shift + ;; + "--desc" ) + ORIG_SCRIPT_DESC="$2" + shift + ;; + * ) + echo "Unrecognized option $1" + HELP_OPT=yes + break + ;; + esac + if [ $# -gt 0 ] + then + shift + fi +done + +# Read command line options +while [ $# -gt 0 ]; do + case $1 in + "--gpl" ) + GPL_OPT=yes + ;; + "gpl" ) + GPL_OPT=yes + ;; + "--config" ) + COFIG_OPT="$2" + shift + ;; + "debug" ) + COFIG_OPT="Debug" + shift + ;; + "-A" ) + ARCH_OPT="$2" + shift + ;; + "--bootstrap" ) + BOOTSTRAP_OPT=yes + ;; + "--help" ) + HELP_OPT=yes + ;; + "-h" ) + HELP_OPT=yes + ;; + * ) + echo "Unrecognized option $1" + HELP_OPT=yes + break + ;; + esac + if [ $# -gt 0 ] + then + shift + fi +done + +# Print usage message +if [ -n "$HELP_OPT" ] +then + echo "Usage: ${ORIG_SCRIPT_NAME} [options]" + echo " --gpl Include componentes using GPL licensing" + echo " --config CONFIG Build coniguration" + echo " -A ARCH Target architecture" + echo " --bootstrap Include bootstrap steps" + echo " --help, -h Show this help message" + echo "" + echo "Depricated options" + echo " debug same as \"--config Debug\"" + echo " gpl same as \"--gpl\"" + echo "" + echo "CONFIG may be: Release, Debug" + echo "ARCH may be: x86_64, x86_32" + echo "" + echo "${ORIG_SCRIPT_DESC}" + exit 0 +fi + +# Equivalent parameters to what this was called with for further calls +FORWARD_OPTS= +if [ -n "${GPL_OPT}" ] +then + FORWARD_OPTS="${FORWARD_OPTS} --gpl" +fi +if [ -n "${COFIG_OPT}" ] +then + FORWARD_OPTS="${FORWARD_OPTS} --config ${COFIG_OPT}" +fi +if [ -n "${ARCH_OPT}" ] +then + FORWARD_OPTS="${FORWARD_OPTS} -A ${ARCH_OPT}" +fi +if [ -n "${BOOTSTRAP_OPT}" ] +then + FORWARD_OPTS="${FORWARD_OPTS} --bootstrap" +fi + +# echo "Option Summary:" +# print_var HELP_OPT +# print_var GPL_OPT +# print_var COFIG_OPT +# print_var ARCH_OPT +# print_var BOOTSTRAP_OPT +# print_var FORWARD_OPTS diff --git a/script/e2e/bootstrap b/script/e2e/bootstrap new file mode 100755 index 00000000..36413d5a --- /dev/null +++ b/script/e2e/bootstrap @@ -0,0 +1,27 @@ +#!/bin/bash +############################################################################### +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +############################################################################### +# Build project dependencies. + +set -o errexit + + +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 ; pwd -P )" + +# Read command line options +. "${SCRIPT_DIR}/_buildopts.sh" \ + --name bootstrap \ + --desc "Build project dependencies." \ + -- "$@" + +echo "Building project dependencies..." + +pushd "${ROOT_DIR}" + echo "Building base dependencies build folder..." + . oneVPL/script/bootstrap ${FORWARD_OPTS} + echo "Building cpu dependencies build folder..." + . oneVPL-cpu/script/bootstrap ${FORWARD_OPTS} +popd diff --git a/script/e2e/bootstrap.bat b/script/e2e/bootstrap.bat new file mode 100644 index 00000000..6a072e20 --- /dev/null +++ b/script/e2e/bootstrap.bat @@ -0,0 +1,32 @@ +@REM ------------------------------------------------------------------------------ +@REM Copyright (C) Intel Corporation +@REM +@REM SPDX-License-Identifier: MIT +@REM ------------------------------------------------------------------------------ +@REM Build project dependencies. + +@ECHO off +SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION + +@REM Read command line options +CALL %~dp0%\_buildopts.bat ^ + --name "%~n0%" ^ + --desc "Build project dependencies." ^ + -- %* +IF DEFINED HELP_OPT ( EXIT /b 0 ) + +ECHO Building project dependencies... + +PUSHD %ROOT_DIR% + ECHO Building base dependencies build folder... + CALL oneVPL\script\bootstrap.bat %FORWARD_OPTS% || EXIT /b 1 + ECHO Building cpu dependencies build folder... + CALL oneVPL-cpu\script\bootstrap.bat %FORWARD_OPTS% || EXIT /b 1 +POPD + +IF DEFINED VPL_BUILD_DEPENDENCIES ( + @REM Export build dependency environment + ENDLOCAL && SET VPL_BUILD_DEPENDENCIES=%VPL_BUILD_DEPENDENCIES% +) ELSE ( + ENDLOCAL +) diff --git a/script/e2e/build b/script/e2e/build new file mode 100755 index 00000000..8fb66f49 --- /dev/null +++ b/script/e2e/build @@ -0,0 +1,31 @@ +#!/bin/bash +############################################################################### +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +############################################################################### +# Build project. + +set -o errexit + + +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 ; pwd -P )" + +# Read command line options +. "${SCRIPT_DIR}/_buildopts.sh" \ + --name build \ + --desc "Build project." \ + -- "$@" + +echo "Building project code..." + +pushd "${ROOT_DIR}" + echo "Building base component..." + oneVPL/script/build ${FORWARD_OPTS} + echo "Installing base component..." + oneVPL/script/install ${FORWARD_OPTS} + echo "Building cpu component..." + oneVPL-cpu/script/build ${FORWARD_OPTS} + echo "Installing cpu component..." + oneVPL-cpu/script/install ${FORWARD_OPTS} +popd diff --git a/script/e2e/build.bat b/script/e2e/build.bat new file mode 100644 index 00000000..2fe4d781 --- /dev/null +++ b/script/e2e/build.bat @@ -0,0 +1,31 @@ +@REM ------------------------------------------------------------------------------ +@REM Copyright (C) Intel Corporation +@REM +@REM SPDX-License-Identifier: MIT +@REM ------------------------------------------------------------------------------ +@REM Build project. + +@ECHO off +SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION + +@REM Read command line options +CALL %~dp0%\_buildopts.bat ^ + --name "%~n0%" ^ + --desc "Build project." ^ + -- %* +IF DEFINED HELP_OPT ( EXIT /b 0 ) + +ECHO Building project code... + +PUSHD %ROOT_DIR% + ECHO Building base component... + CALL oneVPL\script\build.bat %FORWARD_OPTS% || EXIT /b 1 + ECHO Installing base component... + CALL oneVPL\script\install.bat || EXIT /b 1 + ECHO Building cpu component... + CALL oneVPL-cpu\script\build.bat %FORWARD_OPTS% || EXIT /b 1 + ECHO Installing cpu component... + CALL oneVPL-cpu\script\install.bat || EXIT /b 1 +POPD + +ENDLOCAL \ No newline at end of file diff --git a/script/e2e/clean b/script/e2e/clean new file mode 100755 index 00000000..11881227 --- /dev/null +++ b/script/e2e/clean @@ -0,0 +1,32 @@ +#!/bin/bash +############################################################################### +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +############################################################################### +# Clean project. + +set -o errexit + + +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 ; pwd -P )" + +# Read command line options +. "${SCRIPT_DIR}/_buildopts.sh" \ + --name clean \ + --desc "Clean project." \ + -- "$@" + +echo "Cleaning project..." + +if [ -e "${VPL_INSTALL_DIR}" ] +then + echo "Cleaning install folder..." + rm -rf "${VPL_INSTALL_DIR}" +fi +pushd "${ROOT_DIR}" + echo "Cleaning base..." + oneVPL/script/clean ${FORWARD_OPTS} + echo "Cleaning cpu..." + oneVPL-cpu/script/clean ${FORWARD_OPTS} +popd diff --git a/script/e2e/clean.bat b/script/e2e/clean.bat new file mode 100644 index 00000000..45fb82cd --- /dev/null +++ b/script/e2e/clean.bat @@ -0,0 +1,32 @@ +@REM ------------------------------------------------------------------------------ +@REM Copyright (C) Intel Corporation +@REM +@REM SPDX-License-Identifier: MIT +@REM ------------------------------------------------------------------------------ +@REM Clean project. + +@ECHO off +SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION + +@REM Read command line options +CALL %~dp0%\_buildopts.bat ^ + --name "%~n0%" ^ + --desc "Clean project." ^ + -- %* +IF DEFINED HELP_OPT ( EXIT /b 0 ) + +ECHO Cleaning project... + +IF EXIST %VPL_INSTALL_DIR% ( + ECHO Cleaning install folder... + RD /s /q %VPL_INSTALL_DIR% +) + +PUSHD %ROOT_DIR% + ECHO Cleaning base... + CALL oneVPL\script\clean.bat %FORWARD_OPTS% + ECHO Cleaning cpu... + CALL oneVPL-cpu\script\clean.bat %FORWARD_OPTS% +POPD + +ENDLOCAL \ No newline at end of file diff --git a/script/e2e/test b/script/e2e/test new file mode 100755 index 00000000..988c01d0 --- /dev/null +++ b/script/e2e/test @@ -0,0 +1,25 @@ +#!/bin/bash +############################################################################### +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +############################################################################### +# Run basic tests on project. + +set -o errexit + + +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 ; pwd -P )" + +# Read command line options +. "${SCRIPT_DIR}/_buildopts.sh" \ + --name test \ + --desc "Run basic tests on project." \ + -- "$@" + +pushd "${ROOT_DIR}" + echo "Testing base..." + oneVPL/script/test ${FORWARD_OPTS} + echo "Testing cpu..." + oneVPL-cpu/script/test ${FORWARD_OPTS} +popd diff --git a/script/e2e/test.bat b/script/e2e/test.bat new file mode 100644 index 00000000..e5955743 --- /dev/null +++ b/script/e2e/test.bat @@ -0,0 +1,22 @@ +@REM ------------------------------------------------------------------------------ +@REM Copyright (C) Intel Corporation +@REM +@REM SPDX-License-Identifier: MIT +@REM ------------------------------------------------------------------------------ +@REM Run basic tests on project. + +@ECHO off + +@REM Read command line options +CALL %~dp0%\_buildopts.bat ^ + --name "%~n0%" ^ + --desc "Run basic tests on project." ^ + -- %* +IF DEFINED HELP_OPT ( EXIT /b 0 ) + +PUSHD %ROOT_DIR% + ECHO Testing base... + CALL oneVPL\script\test.bat %FORWARD_OPTS% + ECHO Testing cpu... + CALL oneVPL-cpu\script\test.bat %FORWARD_OPTS% +POPD \ No newline at end of file diff --git a/script/gitlint/custom_gitlint_rules.py b/script/gitlint/custom_gitlint_rules.py index 917de171..76f0dd8c 100755 --- a/script/gitlint/custom_gitlint_rules.py +++ b/script/gitlint/custom_gitlint_rules.py @@ -1,6 +1,6 @@ # pylint: disable=too-few-public-methods ############################################################################### -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################### diff --git a/script/install b/script/install index 37d00c35..706f9067 100755 --- a/script/install +++ b/script/install @@ -4,28 +4,20 @@ # # SPDX-License-Identifier: MIT ############################################################################### -## start of boilerplate to switch to project root ------------------------------ -script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -proj_dir="$( dirname "${script_dir}" )" -cd ${proj_dir} +# Install base. + set -o errexit -## Read options ----------------------------------------------------------- -export BUILD_MODE= "Release" -while [ "$1" != "" ]; do - case $1 in - debug ) - export BUILD_MODE="Debug" - ;; - * ) - echo "usage: build [debug]" - exit 1 - esac - shift -done +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 ; pwd -P )" -## start of commands ----------------------------------------------------------- -CMAKE_BINARY_DIR=_build +# Read command line options +. "${SCRIPT_DIR}/_buildopts.sh" \ + --name install \ + --desc "Install base." \ + -- "$@" -cmake --build ${CMAKE_BINARY_DIR} --config ${BUILD_MODE} --target install +pushd "${PROJ_DIR}" + BUILD_DIR=_build + cmake --build "${BUILD_DIR}" --config "${COFIG_OPT}" --target install +popd diff --git a/script/install.bat b/script/install.bat index d604593d..5fe79556 100644 --- a/script/install.bat +++ b/script/install.bat @@ -1,29 +1,25 @@ -::------------------------------------------------------------------------------ -:: Copyright (C) Intel Corporation -:: -:: SPDX-License-Identifier: MIT -::------------------------------------------------------------------------------ -:: start of boilerplate to switch to project root ------------------------------ -@echo off -SETLOCAL -FOR /D %%i IN ("%~dp0\..") DO ( - set PROJ_DIR=%%~fi -) -cd %PROJ_DIR% +@REM ------------------------------------------------------------------------------ +@REM Copyright (C) Intel Corporation +@REM +@REM SPDX-License-Identifier: MIT +@REM ------------------------------------------------------------------------------ +@REM Install base. -:: Read options ----------------------------------------------------------- -SET BUILD_MODE=Release +@ECHO off +SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION -:Loop -IF "%~1"=="" GOTO Continue - IF "%~1"=="debug" ( - SET BUILD_MODE=Debug - ) -SHIFT -GOTO Loop -:Continue +@REM Read command line options +CALL %~dp0%\_buildopts.bat ^ + --name "%~n0%" ^ + --desc "Install base." ^ + -- %* +IF DEFINED HELP_OPT ( EXIT /b 0 ) -:: start of commands ----------------------------------------------------------- -set CMAKE_BINARY_DIR=_build - -cmake --build %CMAKE_BINARY_DIR% --config %BUILD_MODE% --target install +PUSHD %PROJ_DIR% + SET BUILD_DIR=_build + PUSHD %BUILD_DIR% + cmake --build . --config %COFIG_OPT% --target install + POPD +POPD + +ENDLOCAL \ No newline at end of file diff --git a/script/lint b/script/lint index ff6baca7..6d1a9bf2 100755 --- a/script/lint +++ b/script/lint @@ -1,14 +1,21 @@ #!/bin/bash ############################################################################### -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################### -## start of boilerplate to switch to project root ------------------------------ -script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -proj_dir="$( dirname "${script_dir}" )" -cd ${proj_dir} +# Check base code for issues. + set -o errexit -## start of commands ----------------------------------------------------------- -gitlint -pre-commit run --all-files + + +# Set script folder +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 ; pwd -P )" + +# Set root folder +PROJ_DIR="$( dirname "${SCRIPT_DIR}" )" + +pushd "${PROJ_DIR}" + gitlint + pre-commit run --all-files +popd diff --git a/script/lint.bat b/script/lint.bat index 7b3e5593..338843ca 100644 --- a/script/lint.bat +++ b/script/lint.bat @@ -1,16 +1,26 @@ -::------------------------------------------------------------------------------ -:: Copyright (C) 2020 Intel Corporation -:: -:: SPDX-License-Identifier: MIT -::------------------------------------------------------------------------------ -:: start of boilerplate to switch to project root ------------------------------ -@echo off -SETLOCAL -:: switch cd to repo root +@REM ------------------------------------------------------------------------------ +@REM Copyright (C) Intel Corporation +@REM +@REM SPDX-License-Identifier: MIT +@REM ------------------------------------------------------------------------------ +@REM Check base code for issues. + +@ECHO off +SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION + +@REM Set project folder FOR /D %%i IN ("%~dp0\..") DO ( - set PROJ_DIR=%%~fi + SET PROJ_DIR=%%~fi ) -cd %PROJ_DIR% -:: start of commands ----------------------------------------------------------- -gitlint || exit /b 1 -pre-commit run --all-files + +@REM Set script folder +FOR /D %%i IN ("%~dp0") DO ( + SET SCRIPT_DIR=%%~fi +) + +PUSHD %PROJ_DIR% + gitlint || EXIT /b 1 + pre-commit run --all-files || EXIT /b 1 +POPD + +ENDLOCAL \ No newline at end of file diff --git a/script/stress b/script/stress index 610c2d90..96aee9dd 100755 --- a/script/stress +++ b/script/stress @@ -1,6 +1,6 @@ #!/bin/bash ############################################################################### -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################### @@ -35,7 +35,7 @@ echo ## start of commands ----------------------------------------------------------- source ${proj_dir}/test/tools/env/vars.sh -if [ -n "$VPL_BUILD_DEPENDENCIES" ]; then +if [ -n "${VPL_BUILD_DEPENDENCIES}" ]; then export ffmpeg_dir=${VPL_BUILD_DEPENDENCIES}/bin else echo "VPL_BUILD_DEPENDENCIES not defined. Did you run bootstrap?" diff --git a/script/stress.bat b/script/stress.bat index fd534088..4bef1c2c 100644 --- a/script/stress.bat +++ b/script/stress.bat @@ -1,5 +1,5 @@ ::------------------------------------------------------------------------------ -:: Copyright (C) 2020 Intel Corporation +:: Copyright (C) Intel Corporation :: :: SPDX-License-Identifier: MIT ::------------------------------------------------------------------------------ diff --git a/script/test b/script/test index 052a825b..d0bfcc2e 100755 --- a/script/test +++ b/script/test @@ -1,15 +1,24 @@ #!/bin/bash ############################################################################### -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################### -## start of boilerplate to switch to project root ------------------------------ -script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -proj_dir="$( dirname "${script_dir}" )" -cd ${proj_dir} +# Run basic tests on base. + set -o errexit -## start of commands ----------------------------------------------------------- + + +# Set script folder +SCRIPT_DIR="$( cd "$(dirname "${BASH_SOURCE[0]:-$0}")" >/dev/null 2>&1 ; pwd -P )" + +# Set root folder +PROJ_DIR="$( dirname "${SCRIPT_DIR}" )" + result_all=0 +pushd "${PROJ_DIR}" + # No tests defined +popd + exit $result_all diff --git a/script/test.bat b/script/test.bat index d6766bc8..376f6e97 100644 --- a/script/test.bat +++ b/script/test.bat @@ -1,18 +1,24 @@ -::------------------------------------------------------------------------------ -:: Copyright (C) 2020 Intel Corporation -:: -:: SPDX-License-Identifier: MIT -::------------------------------------------------------------------------------ -:: start of boilerplate to switch to project root ------------------------------ -@echo off -SETLOCAL -FOR /D %%i IN ("%~dp0\..") DO ( - set PROJ_DIR=%%~fi -) -cd %PROJ_DIR% -:: start of commands ----------------------------------------------------------- +@REM ------------------------------------------------------------------------------ +@REM Copyright (C) Intel Corporation +@REM +@REM SPDX-License-Identifier: MIT +@REM ------------------------------------------------------------------------------ +@REM Run basic tests on base. + +@ECHO off +SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION + +@REM Read command line options +CALL %~dp0%\_buildopts.bat ^ + --name "%~n0%" ^ + --desc "Run basic tests on base." ^ + -- %* +IF DEFINED HELP_OPT ( EXIT /b 0 ) + set /A result_all = 0 -:test_end -exit /B %result_all% +PUSHD %PROJ_DIR% + @REM No tests defined +POPD +ENDLOCAL && EXIT /B %result_all% diff --git a/script/test32.bat b/script/test32.bat new file mode 100644 index 00000000..fa0fef23 --- /dev/null +++ b/script/test32.bat @@ -0,0 +1,14 @@ +@REM ------------------------------------------------------------------------------ +@REM Copyright (C) Intel Corporation +@REM +@REM SPDX-License-Identifier: MIT +@REM ------------------------------------------------------------------------------ +@REM Run basic tests on 32bit build of base. + +@ECHO off +SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION + +CALL %~dp0%\test.bat -A x86_32 +SET result_all=%errorlevel% + +ENDLOCAL && EXIT /B %result_all% diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt new file mode 100644 index 00000000..075e02f9 --- /dev/null +++ b/tools/CMakeLists.txt @@ -0,0 +1,10 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## + +cmake_minimum_required(VERSION 3.10.2) + +add_subdirectory(cli) +add_subdirectory(legacy) diff --git a/tools/CPPLINT.cfg b/tools/CPPLINT.cfg new file mode 100644 index 00000000..99b5c02c --- /dev/null +++ b/tools/CPPLINT.cfg @@ -0,0 +1,2 @@ +exclude_files=legacy +exclude_files=tracer diff --git a/tools/cli/CMakeLists.txt b/tools/cli/CMakeLists.txt index 31cd05b5..8e5f85d1 100644 --- a/tools/cli/CMakeLists.txt +++ b/tools/cli/CMakeLists.txt @@ -1,5 +1,5 @@ # ############################################################################## -# Copyright (C) 2020 Intel Corporation +# Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT # ############################################################################## @@ -13,37 +13,28 @@ add_executable(vpl-encode vpl-encode.cpp vpl-new-dispatcher.cpp) add_executable(vpl-decode vpl-decode.cpp vpl-new-dispatcher.cpp) add_executable(vpl-vpp vpl-vpp.cpp vpl-new-dispatcher.cpp) -if(UNIX) - find_path(VA_INCLUDE_DIR va/va.h HINTS /usr/include) - if(VA_INCLUDE_DIR) - add_definitions(-DENABLE_VAAPI) - target_link_libraries(vpl-encode VPL va va-drm pthread) - target_link_libraries(vpl-decode VPL va va-drm pthread) - target_link_libraries(vpl-vpp VPL va va-drm pthread) - message(STATUS "VAAPI detected, enabling -hw for cli tools") - else() - target_link_libraries(vpl-encode VPL) - target_link_libraries(vpl-decode VPL) - target_link_libraries(vpl-vpp VPL) - message(STATUS "No VAAPI, compiling without -hw for cli tools") - endif() -else() - target_link_libraries(vpl-encode VPL) - target_link_libraries(vpl-decode VPL) - target_link_libraries(vpl-vpp VPL) -endif() +target_link_libraries(vpl-encode VPL) +target_include_directories(vpl-encode PRIVATE ${ONEVPL_API_HEADER_DIRECTORY}) +target_link_libraries(vpl-decode VPL) +target_include_directories(vpl-decode PRIVATE ${ONEVPL_API_HEADER_DIRECTORY}) +target_link_libraries(vpl-vpp VPL) +target_include_directories(vpl-vpp PRIVATE ${ONEVPL_API_HEADER_DIRECTORY}) add_executable(vpl-vppenc vpl-vppenc.cpp vpl-new-dispatcher.cpp) target_link_libraries(vpl-vppenc VPL) +target_include_directories(vpl-vppenc PRIVATE ${ONEVPL_API_HEADER_DIRECTORY}) add_executable(vpl-decenc vpl-decenc.cpp vpl-new-dispatcher.cpp) target_link_libraries(vpl-decenc VPL) +target_include_directories(vpl-decenc PRIVATE ${ONEVPL_API_HEADER_DIRECTORY}) add_executable(vpl-decvpp vpl-decvpp.cpp vpl-new-dispatcher.cpp) target_link_libraries(vpl-decvpp VPL) +target_include_directories(vpl-decvpp PRIVATE ${ONEVPL_API_HEADER_DIRECTORY}) add_executable(vpl-inspect vpl-inspect.cpp) target_link_libraries(vpl-inspect VPL) +target_include_directories(vpl-inspect PRIVATE ${ONEVPL_API_HEADER_DIRECTORY}) install( TARGETS vpl-encode diff --git a/tools/cli/vpl-common.h b/tools/cli/vpl-common.h index 2ef03259..2d8c638c 100644 --- a/tools/cli/vpl-common.h +++ b/tools/cli/vpl-common.h @@ -1,5 +1,5 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ @@ -20,6 +20,9 @@ #define IS_ARG_EQ(a, b) (!strcmp((a), (b))) +#define DEFAULT_VERSION_MAJOR 2 +#define DEFAULT_VERSION_MINOR 1 + enum MemoryMode { MEM_MODE_UNKNOWN = -1, MEM_MODE_EXTERNAL = 0, @@ -54,6 +57,8 @@ enum InputFrameReadMode { INPUT_FRAME_READ_MODE_COUNT }; +enum VppProcessFunctionName { FN_RUNFRAMEVPPASYNC = 0, FN_PROCESSFRAMEASYNC, FN_COUNT }; + extern const char* MemoryModeString[MEM_MODE_COUNT]; extern const char* DispatcherModeString[DISPATCHER_MODE_COUNT]; extern const char* InputFrameReadModeString[INPUT_FRAME_READ_MODE_COUNT]; @@ -122,9 +127,19 @@ typedef struct _Params { mfxU32 outWidth; mfxU32 outHeight; + + // av1 film-grain denoise + // -1: default by decoder + // 0: disable + // 1: enable (will be ignored if not enabled in the content) + int filmGrain; + + // process function name + VppProcessFunctionName vppProcFnName; } Params; // vpl-new-dispatcher.cpp mfxStatus InitNewDispatcher(WSType wsType, Params* params, mfxSession* session); +mfxStatus CloseNewDispatcher(void); #endif // TOOLS_CLI_VPL_COMMON_H_ diff --git a/tools/cli/vpl-decenc.cpp b/tools/cli/vpl-decenc.cpp index ef4c418b..2c5d0461 100644 --- a/tools/cli/vpl-decenc.cpp +++ b/tools/cli/vpl-decenc.cpp @@ -1,5 +1,5 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ @@ -436,6 +436,9 @@ int main(int argc, char* argv[]) { MFXVideoENCODE_Close(session); MFXClose(session); + if (params.dispatcherMode == DISPATCHER_MODE_VPL_20) + CloseNewDispatcher(); + return 0; } @@ -785,7 +788,9 @@ void Usage(void) { printf("\nDispatcher (default = -dsp1)\n"); printf(" -dsp1 = legacy dispatcher (MSDK 1.x)\n"); - printf(" -dsp2 = smart dispatcher (API 2.0)\n"); + printf(" -dsp2 = smart dispatcher (API %d.%d)\n", + DEFAULT_VERSION_MAJOR, + DEFAULT_VERSION_MINOR); printf("\nIn case of AV1, output will be contained with IVF headers.\n"); printf("To view:\n"); @@ -803,8 +808,8 @@ mfxStatus InitializeSession(Params* params, mfxSession* session) { diagnoseText = "MFXInitEx with MFX_IMPL_SOFTWARE while in DISPATCHER_MODE_LEGACY"; // initialize session mfxInitParam initPar = { 0 }; - initPar.Version.Major = 2; - initPar.Version.Minor = 0; + initPar.Version.Major = DEFAULT_VERSION_MAJOR; + initPar.Version.Minor = DEFAULT_VERSION_MINOR; initPar.Implementation = MFX_IMPL_SOFTWARE; sts = MFXInitEx(initPar, *(&session)); diff --git a/tools/cli/vpl-decode.cpp b/tools/cli/vpl-decode.cpp index 63c51ba2..1de55390 100644 --- a/tools/cli/vpl-decode.cpp +++ b/tools/cli/vpl-decode.cpp @@ -1,5 +1,5 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ @@ -7,19 +7,13 @@ #include #include "./vpl-common.h" -#ifdef ENABLE_VAAPI - #include - #include - #include "va/va.h" - #include "va/va_drm.h" -#endif #include "vpl/mfxvideo.h" #define MAX_LENGTH 260 #define MAX_WIDTH 3840 #define MAX_HEIGHT 2160 #define MAX_BS_BUFFER_SIZE 64 * 1024 * 1024 -#define DEFAULT_BS_BUFFER_SIZE 2 * 1024 * 21024 +#define DEFAULT_BS_BUFFER_SIZE 2 * 1024 * 1024 #define IS_ARG_EQ(a, b) (!strcmp((a), (b))) mfxU32 repeatCount = 0; @@ -43,6 +37,16 @@ mfxStatus InitializeSession(Params* params, mfxSession* session); void PrintDecParams(mfxVideoParam* mfxDecParams); void PrintFrameParams(mfxFrameSurface1* frame); +// A callback function which is triggered by mfxFrameSurfaceInterface::OnComplete() +// when decoded frame is ready +static void cb_OnComplete(mfxStatus sts) { + // printf("%d\n", sts); + return; +} + +typedef void (*VplCallback)(mfxStatus sts); +VplCallback on_complete; + int main(int argc, char* argv[]) { if (argc < 2) { Usage(); @@ -77,6 +81,8 @@ int main(int argc, char* argv[]) { return 1; } + on_complete = cb_OnComplete; + mfxStatus sts = MFX_ERR_NOT_INITIALIZED; mfxSession session = nullptr; @@ -132,6 +138,11 @@ int main(int argc, char* argv[]) { mfxDecParams.IOPattern = MFX_IOPATTERN_OUT_SYSTEM_MEMORY; sts = MFXVideoDECODE_DecodeHeader(session, &mfxBS, &mfxDecParams); + // disable film-grain denoise + if (params.filmGrain == 0) { + mfxDecParams.mfx.FilmGrain = 0; + } + //only MFX_CHROMAFORMAT_YUV420 in I420 and I010 colorspaces allowed switch (mfxDecParams.mfx.FrameInfo.FourCC) { case MFX_FOURCC_I420: @@ -245,18 +256,23 @@ int main(int argc, char* argv[]) { nIndex = GetFreeSurfaceIndex(decSurfaces, nSurfNumDec); } + pmfxWorkSurface = nullptr; while (stillgoing) { // submit async decode request - pmfxWorkSurface = nullptr; - auto t0 = std::chrono::high_resolution_clock::now(); + auto t0 = std::chrono::high_resolution_clock::now(); if (params.memoryMode == MEM_MODE_EXTERNAL) { pmfxWorkSurface = &decSurfaces[nIndex]; } else if (params.memoryMode == MEM_MODE_INTERNAL) { - sts = MFXMemory_GetSurfaceForDecode(session, &pmfxWorkSurface); - if (sts) { - printf("Error in GetSurfaceForDecode: sts=%d\n", sts); - exit(1); + // if previous call to DecodeFrameAsync() returned a non-fatal error + // (e.g. MFX_ERR_MORE_DATA = needs more bitstream data) then send the same work surface again + if (!pmfxWorkSurface) { + sts = MFXMemory_GetSurfaceForDecode(session, &pmfxWorkSurface); + if (sts) { + printf("Error in GetSurfaceForDecode: sts=%d\n", sts); + exit(1); + } + pmfxWorkSurface->FrameInterface->OnComplete = on_complete; } } else if (params.memoryMode == MEM_MODE_AUTO) { @@ -276,17 +292,14 @@ int main(int argc, char* argv[]) { switch (sts) { case MFX_ERR_MORE_DATA: // more data is needed to decode ReadEncodedStream(mfxBS, params.srcFourCC, fSource, params.repeat); - if (mfxBS.DataLength == 0) + if (mfxBS.DataLength == 0) { if (isdraining == true) { stillgoing = false; // stop if end of file and all drained } else { isdraining = true; } - - if (params.memoryMode == MEM_MODE_INTERNAL) - pmfxWorkSurface->FrameInterface->Release(pmfxWorkSurface); - + } break; case MFX_ERR_MORE_SURFACE: // feed a fresh surface to decode if (params.memoryMode == MEM_MODE_EXTERNAL) { @@ -406,7 +419,7 @@ int main(int argc, char* argv[]) { } framenum++; - if (params.maxFrames && framenum >= params.maxFrames) + if (params.maxFrames && framenum >= static_cast(params.maxFrames)) break; } @@ -432,6 +445,10 @@ int main(int argc, char* argv[]) { MFXVideoDECODE_Close(session); MFXClose(session); + + if (params.dispatcherMode == DISPATCHER_MODE_VPL_20) + CloseNewDispatcher(); + return 0; } @@ -776,6 +793,7 @@ bool ParseArgsAndValidate(int argc, char* argv[], Params* params) { params->memoryMode = MEM_MODE_EXTERNAL; params->dispatcherMode = DISPATCHER_MODE_LEGACY; params->impl = MFX_IMPL_SOFTWARE; + params->filmGrain = -1; // auto if (argc < 2) return false; @@ -898,9 +916,6 @@ bool ParseArgsAndValidate(int argc, char* argv[], Params* params) { else if (IS_ARG_EQ(s, "dsp2")) { params->dispatcherMode = DISPATCHER_MODE_VPL_20; } - else if (IS_ARG_EQ(s, "hw")) { - params->impl = MFX_IMPL_HARDWARE; - } else if (IS_ARG_EQ(s, "scrx")) { if (!ValidateSize(argv[idx++], ¶ms->srcCropX, MAX_WIDTH)) return false; @@ -938,6 +953,11 @@ bool ParseArgsAndValidate(int argc, char* argv[], Params* params) { str_upper(params->outResolution, static_cast(strlen(params->outResolution))); // to upper case } + else if (IS_ARG_EQ(s, "fg")) { + params->filmGrain = atoi(argv[idx++]); + if (params->filmGrain < 0 || params->filmGrain > 1) + return false; + } else { printf("ERROR - invalid argument: %s\n", argv[idx]); return false; @@ -957,7 +977,7 @@ void Usage(void) { printf(" -rp repeat ... number of times to repeat decoding\n"); printf(" -sbs bsbufSize ... source bitstream buffer size (bytes)\n"); printf(" -v verbose ... verbose output for debug\n"); - + printf(" -fg filmgrain ... film-grain denoise (0: disable, 1: enable)\n"); printf("\nMemory model (default = -ext)\n"); printf(" -ext = external memory (1.0 style)\n"); printf(" -int = internal memory with MFXMemory_GetSurfaceForDecode\n"); @@ -965,12 +985,11 @@ void Usage(void) { printf("\nDispatcher (default = -dsp1)\n"); printf(" -dsp1 = legacy dispatcher (MSDK 1.x)\n"); - printf(" -dsp2 = smart dispatcher (API 2.0)\n"); + printf(" -dsp2 = smart dispatcher (API %d.%d)\n", + DEFAULT_VERSION_MAJOR, + DEFAULT_VERSION_MINOR); printf("\nImplementation (default = software\n"); -#ifdef ENABLE_VAAPI - printf(" -hw = hardware 1.x API implementation via VAAPI\n"); -#endif printf("\nMore for resolution change test\n"); printf( @@ -995,44 +1014,15 @@ mfxStatus InitializeSession(Params* params, mfxSession* session) { diagnoseText = "MFXInitEx with MFX_IMPL_SOFTWARE in DISPATCHER_MODE_LEGACY"; // initialize session mfxInitParam initPar = { 0 }; - initPar.Version.Major = 2; - initPar.Version.Minor = 0; + initPar.Version.Major = DEFAULT_VERSION_MAJOR; + initPar.Version.Minor = DEFAULT_VERSION_MINOR; initPar.Implementation = MFX_IMPL_SOFTWARE; sts = MFXInitEx(initPar, session); } else { - diagnoseText = "MFXInitEx with MFX_IMPL_HARDWARE in DISPATCHER_MODE_LEGACY"; - // initialize session - mfxInitParam initPar = { 0 }; - initPar.Version.Major = 1; - initPar.Version.Minor = 0; - initPar.Implementation = MFX_IMPL_HARDWARE; - - sts = MFXInitEx(initPar, session); -#ifdef ENABLE_VAAPI - // initialize VAAPI context and set session handle (req in Linux) - sts = MFX_ERR_NOT_INITIALIZED; - int fd = open("/dev/dri/renderD128", O_RDWR); - if (fd >= 0) { - VADisplay va_dpy = vaGetDisplayDRM(fd); - if (va_dpy) { - int major_version = 0, minor_version = 0; - if (VA_STATUS_SUCCESS == - vaInitialize(va_dpy, &major_version, &minor_version)) { - sts = MFX_ERR_NONE; - MFXVideoCORE_SetHandle( - *session, - static_cast(MFX_HANDLE_VA_DISPLAY), - va_dpy); - } - } - } - else { - puts("Could not could not find a valid VAAPI interface"); - } - -#endif + diagnoseText = "Tool does not support MFX_IMPL_HARDWARE mode"; + sts = MFX_ERR_UNSUPPORTED; } } break; default: diff --git a/tools/cli/vpl-decvpp.cpp b/tools/cli/vpl-decvpp.cpp index fe44ed80..e211f8ab 100644 --- a/tools/cli/vpl-decvpp.cpp +++ b/tools/cli/vpl-decvpp.cpp @@ -14,8 +14,8 @@ #include #include #include -#include #include "vpl/mfxdispatcher.h" +#include "vpl/mfxjpeg.h" #include "vpl/mfxvideo.h" #define MAX_PATH 260 @@ -92,18 +92,18 @@ int main(int argc, char *argv[]) { mfxSyncPoint syncp = { 0 }; mfxVideoParam vpp_params = { 0 }; mfxFrameAllocRequest vpp_request[2] = { 0 }; - mfxU16 num_surfaces_in = 0; - mfxU16 num_surfaces_out = 0; - mfxU8 *vpp_data_out = NULL; - mfxU16 out_width = 0; - mfxU16 out_height = 0; - mfxU16 input_width = 0; - mfxU16 input_height = 0; - mfxU32 surface_size = 0; - bool is_draining_dec = false; - bool is_draining_vpp = false; - bool is_stillgoing = true; - mfxU32 framenum = 0; + //mfxU16 num_surfaces_in = 0; + mfxU16 num_surfaces_out = 0; + mfxU8 *vpp_data_out = NULL; + mfxU16 out_width = 0; + mfxU16 out_height = 0; + mfxU16 input_width = 0; + mfxU16 input_height = 0; + mfxU32 surface_size = 0; + bool is_draining_dec = false; + bool is_draining_vpp = false; + bool is_stillgoing = true; + mfxU32 framenum = 0; mfxU16 i; int available_surface_index = 0; @@ -134,6 +134,15 @@ int main(int argc, char *argv[]) { loader = MFXLoad(); VERIFY(NULL != loader, "MFXLoad failed"); + cfg = MFXCreateConfig(loader); + VERIFY(NULL != cfg, "MFXCreateConfig failed") + impl_value.Type = MFX_VARIANT_TYPE_U32; + impl_value.Data.U32 = MFX_IMPL_TYPE_SOFTWARE; + sts = MFXSetConfigFilterProperty(cfg, + reinterpret_cast("mfxImplDescription.Impl"), + impl_value); + VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed"); + cfg = MFXCreateConfig(loader); VERIFY(NULL != cfg, "MFXCreateConfig failed") impl_value.Type = MFX_VARIANT_TYPE_U32; @@ -144,6 +153,8 @@ int main(int argc, char *argv[]) { impl_value); VERIFY(MFX_ERR_NONE == sts, "MFXSetConfigFilterProperty failed"); + cfg = MFXCreateConfig(loader); + VERIFY(NULL != cfg, "MFXCreateConfig failed") impl_value.Type = MFX_VARIANT_TYPE_U32; impl_value.Data.U32 = MFX_EXTBUFF_VPP_SCALING; sts = MFXSetConfigFilterProperty( @@ -213,7 +224,6 @@ int main(int argc, char *argv[]) { sts = MFXVideoVPP_QueryIOSurf(session, &vpp_params, vpp_request); VERIFY(MFX_ERR_NONE == sts, "QueryIOSurf error"); - num_surfaces_in = vpp_request[0].NumFrameSuggested; num_surfaces_out = vpp_request[1].NumFrameSuggested; VERIFY(num_surfaces_out, "Sugested output surface count is zero"); @@ -524,7 +534,7 @@ char *ValidateFourCC(char *in) { char *ValidateDigits(char *in) { if (in) { - for (int i = 0; i < strlen(in); i++) { + for (size_t i = 0; i < strlen(in); i++) { if (!isdigit(in[i])) return NULL; } diff --git a/tools/cli/vpl-encode.cpp b/tools/cli/vpl-encode.cpp index 0ad2961e..a9745f1e 100644 --- a/tools/cli/vpl-encode.cpp +++ b/tools/cli/vpl-encode.cpp @@ -1,5 +1,5 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ @@ -7,12 +7,6 @@ #include #include "./vpl-common.h" -#ifdef ENABLE_VAAPI - #include - #include - #include "va/va.h" - #include "va/va_drm.h" -#endif #include "vpl/mfxvideo.h" #define ALIGN_UP(addr, size) (((addr) + ((size)-1)) & (~((decltype(addr))(size)-1))) @@ -405,6 +399,9 @@ int main(int argc, char* argv[]) { MFXVideoENCODE_Close(session); MFXClose(session); + if (params.dispatcherMode == DISPATCHER_MODE_VPL_20) + CloseNewDispatcher(); + fclose(fSource); fclose(fSink); @@ -499,7 +496,7 @@ mfxStatus LoadRawFrame2(mfxFrameSurface1* pSurface, int bytes_to_read, mfxU8* buf_read, mfxU32 repeat) { - mfxU32 nBytesRead = (mfxU32)fread(buf_read, 1, bytes_to_read, f); + int nBytesRead = static_cast(fread(buf_read, 1, bytes_to_read, f)); if (bytes_to_read != nBytesRead) { if (repeatCount == repeat) @@ -510,7 +507,7 @@ mfxStatus LoadRawFrame2(mfxFrameSurface1* pSurface, } } - mfxU16 w, h, pitch; + mfxU16 w, h; mfxFrameInfo* pInfo = &pSurface->Info; mfxFrameData* pData = &pSurface->Data; @@ -519,24 +516,20 @@ mfxStatus LoadRawFrame2(mfxFrameSurface1* pSurface, switch (pInfo->FourCC) { case MFX_FOURCC_NV12: - pitch = pData->Pitch; pData->Y = buf_read; pData->UV = pData->Y + w * h; break; case MFX_FOURCC_I420: - pitch = pData->Pitch; pData->Y = buf_read; pData->U = pData->Y + w * h; pData->V = pData->U + ((w / 2) * (h / 2)); break; case MFX_FOURCC_P010: - pitch = pData->Pitch; pData->Y = buf_read; pData->UV = pData->Y + w * 2 * h; break; case MFX_FOURCC_I010: - pitch = pData->Pitch; pData->Y = buf_read; pData->U = pData->Y + w * 2 * h; pData->V = pData->U + (w * (h / 2)); @@ -544,7 +537,7 @@ mfxStatus LoadRawFrame2(mfxFrameSurface1* pSurface, case MFX_FOURCC_RGB4: // read luminance plane (Y) - pitch = pData->Pitch; + //pitch = pData->Pitch; pData->B = buf_read; break; default: @@ -914,10 +907,11 @@ bool ParseArgsAndValidate(int argc, char* argv[], Params* params) { // init all params to 0 memset(params, 0, sizeof(Params)); + params->impl = MFX_IMPL_SOFTWARE; + // set any non-zero defaults if (!params->memoryMode) params->memoryMode = MEM_MODE_EXTERNAL; - //if (params->impl == MFX_IMPL_HARDWARE) { if (!params->frameRate) params->frameRate = 30; if (!params->targetUsage) @@ -926,9 +920,6 @@ bool ParseArgsAndValidate(int argc, char* argv[], Params* params) { params->qp = 22; if (!params->brcMode) params->brcMode = MFX_RATECONTROL_CQP; - //} - if (!params->impl) - params->impl = MFX_IMPL_SOFTWARE; if (argc < 2) return false; @@ -1051,9 +1042,6 @@ bool ParseArgsAndValidate(int argc, char* argv[], Params* params) { else if (IS_ARG_EQ(s, "dsp2")) { params->dispatcherMode = DISPATCHER_MODE_VPL_20; } - else if (IS_ARG_EQ(s, "hw")) { - params->impl = MFX_IMPL_HARDWARE; - } else if (IS_ARG_EQ(s, "scrx")) { if (!ValidateSize(argv[idx++], ¶ms->srcCropX, MAX_WIDTH)) return false; @@ -1101,10 +1089,6 @@ bool ParseArgsAndValidate(int argc, char* argv[], Params* params) { // handle alignment requirements params->srcCropW = params->srcWidth; params->srcCropH = params->srcHeight; - if (params->impl == MFX_IMPL_HARDWARE) { - params->srcWidth = ALIGN_UP(params->srcCropW, 16); - params->srcHeight = ALIGN_UP(params->srcCropH, 16); - } // run basic parameter validation return ValidateParams(params); @@ -1134,12 +1118,11 @@ void Usage(void) { printf("\nDispatcher (default = -dsp1)\n"); printf(" -dsp1 = legacy dispatcher (MSDK 1.x)\n"); - printf(" -dsp2 = smart dispatcher (API 2.0)\n"); + printf(" -dsp2 = smart dispatcher (API %d.%d)\n", + DEFAULT_VERSION_MAJOR, + DEFAULT_VERSION_MINOR); printf("\nImplementation (default = software 2.0 API implementation\n"); -#ifdef ENABLE_VAAPI - printf(" -hw = hardware 1.x API implementation via VAAPI\n"); -#endif printf("\nFrame mode (optional, default = -fpitch)\n"); printf(" -fpitch = load frame-by-frame (read data per pitch - legacy)\n"); @@ -1165,21 +1148,15 @@ mfxStatus InitializeSession(Params* params, mfxSession* session) { diagnoseText = "MFXInitEx with MFX_IMPL_SOFTWARE in DISPATCHER_MODE_LEGACY"; // initialize session mfxInitParam initPar = { 0 }; - initPar.Version.Major = 2; - initPar.Version.Minor = 0; + initPar.Version.Major = DEFAULT_VERSION_MAJOR; + initPar.Version.Minor = DEFAULT_VERSION_MINOR; initPar.Implementation = MFX_IMPL_SOFTWARE; sts = MFXInitEx(initPar, session); } else { - diagnoseText = "MFXInitEx with MFX_IMPL_HARDWARE in DISPATCHER_MODE_LEGACY"; - // initialize session - mfxInitParam initPar = { 0 }; - initPar.Version.Major = 1; - initPar.Version.Minor = 0; - initPar.Implementation = MFX_IMPL_HARDWARE; - - sts = MFXInitEx(initPar, session); + diagnoseText = "Tool does not support MFX_IMPL_HARDWARE mode"; + sts = MFX_ERR_UNSUPPORTED; } } break; default: @@ -1198,30 +1175,6 @@ mfxStatus InitializeSession(Params* params, mfxSession* session) { } } - if (MFX_IMPL_HARDWARE == params->impl) { -#ifdef ENABLE_VAAPI - // initialize VAAPI context and set session handle (req in Linux) - sts = MFX_ERR_NOT_INITIALIZED; - int fd = open("/dev/dri/renderD128", O_RDWR); - if (fd >= 0) { - VADisplay va_dpy = vaGetDisplayDRM(fd); - if (va_dpy) { - int major_version = 0, minor_version = 0; - if (VA_STATUS_SUCCESS == vaInitialize(va_dpy, &major_version, &minor_version)) { - sts = MFX_ERR_NONE; - MFXVideoCORE_SetHandle(*session, - static_cast(MFX_HANDLE_VA_DISPLAY), - va_dpy); - } - } - } - else { - puts("Could not could not find a valid VAAPI interface"); - } - -#endif - } - return sts; } diff --git a/tools/cli/vpl-inspect.cpp b/tools/cli/vpl-inspect.cpp index a4ad0e99..5b086025 100644 --- a/tools/cli/vpl-inspect.cpp +++ b/tools/cli/vpl-inspect.cpp @@ -1,14 +1,19 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ #include #include -#include -#include -#include +#include + +#include + +#include "vpl/mfxdispatcher.h" +#include "vpl/mfxjpeg.h" +#include "vpl/mfxstructures.h" +#include "vpl/mfxvp8.h" #define DECODE_FOURCC(ch) ch & 0xff, ch >> 8 & 0xff, ch >> 16 & 0xff, ch >> 24 & 0xff #define MAKEFOURCC(ch0, ch1, ch2, ch3) \ @@ -27,6 +32,22 @@ const char *_print_Impl(mfxIMPL impl) { return ""; } +const char *_print_AccelMode(mfxAccelerationMode mode) { + switch (mode) { + STRING_OPTION(MFX_ACCEL_MODE_NA); + STRING_OPTION(MFX_ACCEL_MODE_VIA_D3D9); + STRING_OPTION(MFX_ACCEL_MODE_VIA_D3D11); + STRING_OPTION(MFX_ACCEL_MODE_VIA_VAAPI); + STRING_OPTION(MFX_ACCEL_MODE_VIA_VAAPI_DRM_MODESET); + STRING_OPTION(MFX_ACCEL_MODE_VIA_VAAPI_GLX); + STRING_OPTION(MFX_ACCEL_MODE_VIA_VAAPI_X11); + STRING_OPTION(MFX_ACCEL_MODE_VIA_VAAPI_WAYLAND); + STRING_OPTION(MFX_ACCEL_MODE_VIA_HDDLUNITE); + } + + return ""; +} + const char *_print_ResourceType(mfxResourceType type) { switch (type) { STRING_OPTION(MFX_RESOURCE_SYSTEM_SURFACE); @@ -36,6 +57,7 @@ const char *_print_ResourceType(mfxResourceType type) { STRING_OPTION(MFX_RESOURCE_DX11_TEXTURE); STRING_OPTION(MFX_RESOURCE_DX12_RESOURCE); STRING_OPTION(MFX_RESOURCE_DMA_RESOURCE); + STRING_OPTION(MFX_RESOURCE_HDDLUNITE_REMOTE_MEMORY); } return ""; @@ -63,6 +85,9 @@ const char *_print_ProfileType(mfxU32 fourcc, mfxU32 type) { STRING_OPTION(MFX_PROFILE_AVC_HIGH); STRING_OPTION(MFX_PROFILE_AVC_HIGH10); STRING_OPTION(MFX_PROFILE_AVC_HIGH_422); + STRING_OPTION(MFX_PROFILE_AVC_CONSTRAINED_BASELINE); + STRING_OPTION(MFX_PROFILE_AVC_CONSTRAINED_HIGH); + STRING_OPTION(MFX_PROFILE_AVC_PROGRESSIVE_HIGH); default: return ""; @@ -96,6 +121,19 @@ const char *_print_ProfileType(mfxU32 fourcc, mfxU32 type) { } } + case MFX_CODEC_VP8: { + switch (type) { + STRING_OPTION(MFX_PROFILE_UNKNOWN); + STRING_OPTION(MFX_PROFILE_VP8_0); + STRING_OPTION(MFX_PROFILE_VP8_1); + STRING_OPTION(MFX_PROFILE_VP8_2); + STRING_OPTION(MFX_PROFILE_VP8_3); + + default: + return ""; + } + } + case MFX_CODEC_VC1: { switch (type) { STRING_OPTION(MFX_PROFILE_UNKNOWN); @@ -124,6 +162,9 @@ const char *_print_ProfileType(mfxU32 fourcc, mfxU32 type) { case MFX_CODEC_AV1: { switch (type) { STRING_OPTION(MFX_PROFILE_UNKNOWN); + STRING_OPTION(MFX_PROFILE_AV1_MAIN); + STRING_OPTION(MFX_PROFILE_AV1_HIGH); + STRING_OPTION(MFX_PROFILE_AV1_PRO); default: return ""; @@ -136,25 +177,41 @@ const char *_print_ProfileType(mfxU32 fourcc, mfxU32 type) { int main(int argc, char *argv[]) { mfxLoader loader = MFXLoad(); - assert(NULL != loader); + if (loader == NULL) { + printf("Error - MFXLoad() returned null - no libraries found\n"); + return -1; + } + + bool bPrintImplementedFunctions = false; + if (argc == 2 && !strncmp(argv[1], "-f", 2)) { + bPrintImplementedFunctions = true; + } int i = 0; mfxImplDescription *idesc; while (MFX_ERR_NONE == MFXEnumImplementations(loader, - i++, + i, MFX_IMPLCAPS_IMPLDESCSTRUCTURE, reinterpret_cast(&idesc))) { printf("\nImplementation: %s\n", idesc->ImplName); printf(" Version: %hu.%hu\n", idesc->Version.Major, idesc->Version.Minor); printf(" Impl: %s\n", _print_Impl(idesc->Impl)); - printf(" AccelerationMode: %hu\n", (mfxI16)idesc->AccelerationMode); + printf(" AccelerationMode: %s\n", _print_AccelMode(idesc->AccelerationMode)); printf(" ApiVersion: %hu.%hu\n", idesc->ApiVersion.Major, idesc->ApiVersion.Minor); printf(" License: %s\n", idesc->License); printf(" Keywords: %s\n", idesc->Keywords); printf(" VendorID: 0x%04X\n", idesc->VendorID); printf(" VendorImplID: 0x%04X\n", idesc->VendorImplID); + /* mfxAccelerationModeDescription */ + mfxAccelerationModeDescription *accel = &idesc->AccelerationModeDescription; + printf("\n mfxAccelerationModeDescription:\n"); + printf(" Version: %hu.%hu\n", accel->Version.Major, accel->Version.Minor); + for (int mode = 0; mode < accel->NumAccelerationModes; mode++) { + printf(" Mode: %s\n", _print_AccelMode(accel->Mode[mode])); + } + /* mfxDeviceDescription */ mfxDeviceDescription *dev = &idesc->Dev; printf("\n mfxDeviceDescription:\n"); @@ -292,8 +349,40 @@ int main(int argc, char *argv[]) { printf("\n NumExtParam: %d\n", idesc->NumExtParam); MFXDispReleaseImplDescription(loader, idesc); + + if (bPrintImplementedFunctions) { + mfxImplementedFunctions *fdesc; + + mfxStatus sts = MFXEnumImplementations(loader, + i, + MFX_IMPLCAPS_IMPLEMENTEDFUNCTIONS, + reinterpret_cast(&fdesc)); + + if (sts == MFX_ERR_NONE) { + // print out list of functions' name + printf("\nImplemented functions:\n"); + std::for_each(fdesc->FunctionsName, + fdesc->FunctionsName + fdesc->NumFunctions, + [](mfxChar *functionName) { + printf(" %s\n", functionName); + }); + printf("\n"); + + MFXDispReleaseImplDescription(loader, fdesc); + } + else { + printf("Warning - MFX_IMPLCAPS_IMPLEMENTEDFUNCTIONS not supported\n"); + } + } + + i++; } + if (i == 0) + printf("\nWarning - no implementations found by MFXEnumImplementations()\n"); + else + printf("\nTotal number of implementations found = %d\n", i); + MFXUnload(loader); return 0; } diff --git a/tools/cli/vpl-new-dispatcher.cpp b/tools/cli/vpl-new-dispatcher.cpp index abd3bbdc..6839e2d4 100644 --- a/tools/cli/vpl-new-dispatcher.cpp +++ b/tools/cli/vpl-new-dispatcher.cpp @@ -1,5 +1,5 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ @@ -68,7 +68,7 @@ bool CheckVPPImplCaps(mfxImplDescription *implDesc, mfxU32 inFormat, mfxU32 outF &(currMemDesc->Formats[k]); if (currFormat->InFormat == inFormat) { for (n = 0; n < currFormat->NumOutFormat; n++) { - if (currFormat->OutFormats[n] == outFormat) + if ((inFormat == outFormat) || (currFormat->OutFormats[n] == outFormat)) return true; } } @@ -79,12 +79,15 @@ bool CheckVPPImplCaps(mfxImplDescription *implDesc, mfxU32 inFormat, mfxU32 outF return false; } +// save for testing MFXUnload() at end of app +static mfxLoader loader; + mfxStatus InitNewDispatcher(WSType wsType, Params *params, mfxSession *session) { mfxStatus sts = MFX_ERR_NONE; *session = nullptr; // load 2.0 dispatcher - mfxLoader loader = MFXLoad(); + loader = MFXLoad(); if (!loader) { printf("Error - MFXLoad() returned NULL\n"); return MFX_ERR_UNSUPPORTED; @@ -93,11 +96,14 @@ mfxStatus InitNewDispatcher(WSType wsType, Params *params, mfxSession *session) mfxVariant ImplValue; mfxConfig cfg; + if (params->impl != MFX_IMPL_SOFTWARE && params->impl != MFX_IMPL_HARDWARE) + params->impl = MFX_IMPL_SOFTWARE; + // basic filtering - test for SW implementation sts = MFX_ERR_NONE; cfg = MFXCreateConfig(loader); ImplValue.Type = MFX_VARIANT_TYPE_U32; - ImplValue.Data.U32 = MFX_IMPL_TYPE_SOFTWARE; + ImplValue.Data.U32 = params->impl; sts = MFXSetConfigFilterProperty(cfg, (const mfxU8 *)"mfxImplDescription.Impl", ImplValue); sts = MFX_ERR_NONE; @@ -194,24 +200,28 @@ mfxStatus InitNewDispatcher(WSType wsType, Params *params, mfxSession *session) bool isSupported = true; // optional additional check to illustrate how to parse implDesc - if (wsType == WSTYPE_DECODE) { - isSupported = CheckDecoderImplCaps(implDesc, params->srcFourCC); - } - else if (wsType == WSTYPE_ENCODE) { - isSupported = CheckEncoderImplCaps(implDesc, params->srcFourCC, params->dstFourCC); - } - else if (wsType == WSTYPE_VPP) { - isSupported = CheckVPPImplCaps(implDesc, params->srcFourCC, params->dstFourCC); + // skip for MSDK compatibility mode (1.x - Dec/Enc/VPP caps not provided) + if (params->impl == MFX_IMPL_SOFTWARE) { + if (wsType == WSTYPE_DECODE) { + isSupported = CheckDecoderImplCaps(implDesc, params->srcFourCC); + } + else if (wsType == WSTYPE_ENCODE) { + isSupported = CheckEncoderImplCaps(implDesc, params->srcFourCC, params->dstFourCC); + } + else if (wsType == WSTYPE_VPP) { + isSupported = CheckVPPImplCaps(implDesc, params->srcFourCC, params->dstFourCC); + } } if (isSupported) { // this implementation is capable of processing the stream sts = MFXCreateSession(loader, implIdx, session); + MFXDispReleaseImplDescription(loader, implDesc); + if (sts != MFX_ERR_NONE) { printf("Error in MFXCreateSession, sts = %d", sts); return sts; } - MFXDispReleaseImplDescription(loader, implDesc); break; } else { @@ -221,19 +231,23 @@ mfxStatus InitNewDispatcher(WSType wsType, Params *params, mfxSession *session) implIdx++; } - MFXUnload(loader); - return sts; } -// debugging functions +mfxStatus CloseNewDispatcher(void) { + MFXUnload(loader); + loader = nullptr; + return MFX_ERR_NONE; +} -#define TEST_CFG(type, dType, val) \ - cfg = MFXCreateConfig(loader); \ - ImplValue.Type = (type); \ - ImplValue.Data.dType = (val); \ - sts = MFXSetConfigFilterProperty(cfg, name, ImplValue); \ - printf("Test config: sts = %d, name = %s\n", sts, name); +// debugging functions +#ifdef DBG_TEST_CFG_PROPS + #define TEST_CFG(type, dType, val) \ + cfg = MFXCreateConfig(loader); \ + ImplValue.Type = (type); \ + ImplValue.Data.dType = (val); \ + sts = MFXSetConfigFilterProperty(cfg, name, ImplValue); \ + printf("Test config: sts = %d, name = %s\n", sts, name); static void TestCfgPropsMain(mfxLoader loader) { mfxStatus sts; @@ -328,3 +342,4 @@ static void TestCfgPropsVPP(mfxLoader loader) { name = (const mfxU8 *)"mfxImplDescription.mfxVPPDescription.filter.memdesc.format.OutFormats"; TEST_CFG(MFX_VARIANT_TYPE_U32, U32, MFX_FOURCC_I420); } +#endif \ No newline at end of file diff --git a/tools/cli/vpl-vpp.cpp b/tools/cli/vpl-vpp.cpp index babf95ea..bc5eab80 100644 --- a/tools/cli/vpl-vpp.cpp +++ b/tools/cli/vpl-vpp.cpp @@ -1,18 +1,11 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ #include #include "./vpl-common.h" - -#ifdef ENABLE_VAAPI - #include - #include - #include "va/va.h" - #include "va/va_drm.h" -#endif #include "vpl/mfxvideo.h" #if !defined(WIN32) && !defined(memcpy_s) @@ -97,9 +90,14 @@ int main(int argc, char* argv[]) { } puts("Session initialized"); - printf("Dispatcher mode = %s\n", DispatcherModeString[params.dispatcherMode]); - printf("Memory mode = %s\n", MemoryModeString[params.memoryMode]); - printf("Frame mode = %s\n", InputFrameReadModeString[params.inFrameReadMode]); + printf("Dispatcher mode = %s\n", DispatcherModeString[params.dispatcherMode]); + printf("Memory mode = %s\n", MemoryModeString[params.memoryMode]); + printf("Frame mode = %s\n", InputFrameReadModeString[params.inFrameReadMode]); + + if (params.vppProcFnName == FN_RUNFRAMEVPPASYNC) + printf("Process function = RunFrameVPPAsync()\n"); + else // FN_PROCESSFRAMEASYNC + printf("Process function = ProcessFrameAsync()\n"); bool b_read_frame = false; @@ -216,6 +214,10 @@ int main(int argc, char* argv[]) { mfxU64 num_frames = file_size / frame_size; printf("Frames estimated = %llu\n", num_frames); + std::vector pVPPSurfacesOut; + std::vector surfDataOut; + mfxU8* surfaceBuffersOut; + if (params.memoryMode == MEM_MODE_EXTERNAL) { surfDataIn.resize(surfaceSize * nVPPSurfNumIn); surfaceBuffersIn = surfDataIn.data(); @@ -239,53 +241,53 @@ int main(int argc, char* argv[]) { pVPPSurfacesIn[i].Data.Pitch = surf_w; } } - } - // Allocate surfaces for VPP: Out - // - Frame surface array keeps pointers all surface planes and general frame info - mfxU32 surfaceSizeOut = GetSurfaceSize(mfxVPPParams.vpp.Out.FourCC, - mfxVPPParams.vpp.Out.Width, - mfxVPPParams.vpp.Out.Height); - if (surfaceSizeOut == 0) { - if (fSource) { - fclose(fSource); - fSource = NULL; - } - if (fSink) { - fclose(fSink); - fSink = NULL; - } - if (buf_read) { - free(buf_read); - buf_read = NULL; + // Allocate surfaces for VPP: Out + // - Frame surface array keeps pointers all surface planes and general frame info + mfxU32 surfaceSizeOut = GetSurfaceSize(mfxVPPParams.vpp.Out.FourCC, + mfxVPPParams.vpp.Out.Width, + mfxVPPParams.vpp.Out.Height); + if (surfaceSizeOut == 0) { + if (fSource) { + fclose(fSource); + fSource = NULL; + } + if (fSink) { + fclose(fSink); + fSink = NULL; + } + if (buf_read) { + free(buf_read); + buf_read = NULL; + } + puts("VPP-out surface size is wrong"); + return 1; } - puts("VPP-out surface size is wrong"); - return 1; - } - surf_w = GetSurfaceWidth(mfxVPPParams.vpp.Out.FourCC, mfxVPPParams.vpp.Out.Width); - surf_h = mfxVPPParams.vpp.Out.Height; + surf_w = GetSurfaceWidth(mfxVPPParams.vpp.Out.FourCC, mfxVPPParams.vpp.Out.Width); + surf_h = mfxVPPParams.vpp.Out.Height; - std::vector surfDataOut((mfxU32)surfaceSizeOut * nVPPSurfNumOut); - mfxU8* surfaceBuffersOut = surfDataOut.data(); + surfDataOut.resize((mfxU32)surfaceSizeOut * nVPPSurfNumOut); + surfaceBuffersOut = surfDataOut.data(); - std::vector pVPPSurfacesOut(nVPPSurfNumOut); - for (mfxI32 i = 0; i < nVPPSurfNumOut; i++) { - memset(&pVPPSurfacesOut[i], 0, sizeof(mfxFrameSurface1)); - pVPPSurfacesOut[i].Info = mfxVPPParams.vpp.Out; - if (mfxVPPParams.vpp.Out.FourCC == MFX_FOURCC_RGB4) { - pVPPSurfacesOut[i].Data.B = &surfaceBuffersOut[surfaceSizeOut * i]; - pVPPSurfacesOut[i].Data.G = pVPPSurfacesOut[i].Data.B + 1; - pVPPSurfacesOut[i].Data.R = pVPPSurfacesOut[i].Data.B + 2; - pVPPSurfacesOut[i].Data.A = pVPPSurfacesOut[i].Data.B + 3; - pVPPSurfacesOut[i].Data.Pitch = surf_w; - } - else { - pVPPSurfacesOut[i].Data.Y = &surfaceBuffersOut[surfaceSizeOut * i]; - pVPPSurfacesOut[i].Data.U = pVPPSurfacesOut[i].Data.Y + (mfxU16)surf_w * surf_h; - pVPPSurfacesOut[i].Data.V = - pVPPSurfacesOut[i].Data.U + (((mfxU16)surf_w / 2) * (surf_h / 2)); - pVPPSurfacesOut[i].Data.Pitch = surf_w; + pVPPSurfacesOut.resize(nVPPSurfNumOut); + for (mfxI32 i = 0; i < nVPPSurfNumOut; i++) { + memset(&pVPPSurfacesOut[i], 0, sizeof(mfxFrameSurface1)); + pVPPSurfacesOut[i].Info = mfxVPPParams.vpp.Out; + if (mfxVPPParams.vpp.Out.FourCC == MFX_FOURCC_RGB4) { + pVPPSurfacesOut[i].Data.B = &surfaceBuffersOut[surfaceSizeOut * i]; + pVPPSurfacesOut[i].Data.G = pVPPSurfacesOut[i].Data.B + 1; + pVPPSurfacesOut[i].Data.R = pVPPSurfacesOut[i].Data.B + 2; + pVPPSurfacesOut[i].Data.A = pVPPSurfacesOut[i].Data.B + 3; + pVPPSurfacesOut[i].Data.Pitch = surf_w; + } + else { + pVPPSurfacesOut[i].Data.Y = &surfaceBuffersOut[surfaceSizeOut * i]; + pVPPSurfacesOut[i].Data.U = pVPPSurfacesOut[i].Data.Y + (mfxU16)surf_w * surf_h; + pVPPSurfacesOut[i].Data.V = + pVPPSurfacesOut[i].Data.U + (((mfxU16)surf_w / 2) * (surf_h / 2)); + pVPPSurfacesOut[i].Data.Pitch = surf_w; + } } } @@ -321,14 +323,15 @@ int main(int argc, char* argv[]) { // Stage 1: Main processing loop while (MFX_ERR_NONE <= sts || MFX_ERR_MORE_DATA == sts) { - mfxFrameSurface1* vppSurfaceIn = nullptr; + mfxFrameSurface1* vppSurfaceIn = nullptr; + mfxFrameSurface1* vppSurfaceOut = nullptr; if (params.memoryMode == MEM_MODE_EXTERNAL) { - // Find free frame surface + // Find free frame surface for vpp in and out nSurfIdxIn = -1; - for (int i = 0; i < pVPPSurfacesIn.size(); i++) { + for (size_t i = 0; i < pVPPSurfacesIn.size(); i++) { if (!pVPPSurfacesIn[i].Data.Locked) { - nSurfIdxIn = i; + nSurfIdxIn = static_cast(i); break; } } @@ -351,9 +354,32 @@ int main(int argc, char* argv[]) { } vppSurfaceIn = &pVPPSurfacesIn[nSurfIdxIn]; + + nSurfIdxOut = -1; + for (size_t i = 0; i < pVPPSurfacesOut.size(); i++) { + if (!pVPPSurfacesOut[i].Data.Locked) { + nSurfIdxOut = static_cast(i); + break; + } + } + + if (nSurfIdxOut < 0) { + if (fSource) { + fclose(fSource); + fSource = NULL; + } + if (fSink) { + fclose(fSink); + fSink = NULL; + } + puts("no available surface"); + return 1; + } + + vppSurfaceOut = &pVPPSurfacesOut[nSurfIdxOut]; } else if (params.memoryMode == MEM_MODE_INTERNAL) { - sts = MFXMemory_GetSurfaceForVPP(session, &vppSurfaceIn); + sts = MFXMemory_GetSurfaceForVPPIn(session, &vppSurfaceIn); if (sts) { if (fSource) { fclose(fSource); @@ -367,11 +393,33 @@ int main(int argc, char* argv[]) { free(buf_read); buf_read = NULL; } - printf("Unknown error in MFXMemory_GetSurfaceForVPP, sts = %d()\n", sts); + printf("Unknown error in MFXMemory_GetSurfaceForVPPIn, sts = %d()\n", sts); return 1; } vppSurfaceIn->FrameInterface->Map(vppSurfaceIn, MFX_MAP_WRITE); + + if (params.vppProcFnName == FN_RUNFRAMEVPPASYNC) { + sts = MFXMemory_GetSurfaceForVPPOut(session, &vppSurfaceOut); + if (sts) { + if (fSource) { + fclose(fSource); + fSource = NULL; + } + if (fSink) { + fclose(fSink); + fSink = NULL; + } + if (buf_read) { + free(buf_read); + buf_read = NULL; + } + printf("Unknown error in MFXMemory_GetSurfaceForVPPOut, sts = %d()\n", sts); + return 1; + } + + vppSurfaceOut->FrameInterface->Map(vppSurfaceOut, MFX_MAP_WRITE); + } } if (vppSurfaceIn) { @@ -389,35 +437,19 @@ int main(int argc, char* argv[]) { if (sts != MFX_ERR_NONE) break; - nSurfIdxOut = -1; - for (int i = 0; i < pVPPSurfacesOut.size(); i++) { - if (!pVPPSurfacesOut[i].Data.Locked) { - nSurfIdxOut = i; - break; - } - } - - if (nSurfIdxOut < 0) { - if (fSource) { - fclose(fSource); - fSource = NULL; - } - if (fSink) { - fclose(fSink); - fSink = NULL; - } - puts("no available surface"); - return 1; - } for (;;) { // Process a frame asychronously (returns immediately) - sts = MFXVideoVPP_RunFrameVPPAsync(session, - vppSurfaceIn, - &pVPPSurfacesOut[nSurfIdxOut], - NULL, - &syncp); - - if (MFX_ERR_NONE < sts && syncp) { + if (params.vppProcFnName == FN_RUNFRAMEVPPASYNC) + sts = MFXVideoVPP_RunFrameVPPAsync(session, + vppSurfaceIn, + vppSurfaceOut, + NULL, + &syncp); + else // FN_PROCESSFRAMEASYNC + sts = MFXVideoVPP_ProcessFrameAsync(session, vppSurfaceIn, &vppSurfaceOut); + + if (MFX_ERR_NONE < sts && + (params.vppProcFnName == FN_RUNFRAMEVPPASYNC ? syncp : (mfxSyncPoint)(1))) { sts = MFX_ERR_NONE; // Ignore warnings if output is available break; } @@ -430,18 +462,22 @@ int main(int argc, char* argv[]) { } } if (MFX_ERR_NONE == sts) { - sts = MFXVideoCORE_SyncOperation(session, - syncp, - 60000); // Synchronize. Wait until a frame is ready - + if (params.vppProcFnName == FN_RUNFRAMEVPPASYNC) { + // Synchronize. Wait until a frame is ready + sts = MFXVideoCORE_SyncOperation(session, syncp, 60000); + } if (!IS_ARG_EQ(params.outfileName, "null")) { - WriteRawFrame(&pVPPSurfacesOut[nSurfIdxOut], fSink); + WriteRawFrame(vppSurfaceOut, fSink); } if (params.memoryMode == MEM_MODE_INTERNAL) { vppSurfaceIn->FrameInterface->Unmap( vppSurfaceIn); // Exception thrown: read access violation. vppSurfaceIn->FrameInterface was nullptr. vppSurfaceIn->FrameInterface->Release(vppSurfaceIn); + + vppSurfaceOut->FrameInterface->Unmap( + vppSurfaceOut); // Exception thrown: read access violation. vppSurfaceOut->FrameInterface was nullptr. + vppSurfaceOut->FrameInterface->Release(vppSurfaceOut); } ++framenum; @@ -473,40 +509,66 @@ int main(int argc, char* argv[]) { // Stage 2: Retrieve the buffered encoded frames while (MFX_ERR_NONE <= sts) { - nSurfIdxOut = -1; - for (int i = 0; i < pVPPSurfacesOut.size(); i++) { - if (!pVPPSurfacesOut[i].Data.Locked) { - nSurfIdxOut = i; - break; - } - } + mfxFrameSurface1* vppSurfaceOut = nullptr; - if (nSurfIdxOut < 0) { - if (fSource) { - fclose(fSource); - fSource = NULL; + if (params.memoryMode == MEM_MODE_EXTERNAL) { + // Find free frame surface for vpp out + nSurfIdxOut = -1; + for (size_t i = 0; i < pVPPSurfacesOut.size(); i++) { + if (!pVPPSurfacesOut[i].Data.Locked) { + nSurfIdxOut = static_cast(i); + break; + } } - if (fSink) { - fclose(fSink); - fSink = NULL; + + if (nSurfIdxOut < 0) { + if (fSource) { + fclose(fSource); + fSource = NULL; + } + if (fSink) { + fclose(fSink); + fSink = NULL; + } + puts("no available surface"); + return 1; } - if (buf_read) { - free(buf_read); - buf_read = NULL; + + vppSurfaceOut = &pVPPSurfacesOut[nSurfIdxOut]; + } + else if (params.memoryMode == MEM_MODE_INTERNAL) { + if (params.vppProcFnName == FN_RUNFRAMEVPPASYNC) { + sts = MFXMemory_GetSurfaceForVPPOut(session, &vppSurfaceOut); + if (sts) { + if (fSource) { + fclose(fSource); + fSource = NULL; + } + if (fSink) { + fclose(fSink); + fSink = NULL; + } + if (buf_read) { + free(buf_read); + buf_read = NULL; + } + printf("Unknown error in MFXMemory_GetSurfaceForVPPOut, sts = %d()\n", sts); + return 1; + } + + vppSurfaceOut->FrameInterface->Map(vppSurfaceOut, MFX_MAP_WRITE); } - puts("no available surface"); - return 1; } for (;;) { // Process a frame asychronously (returns immediately) - sts = MFXVideoVPP_RunFrameVPPAsync(session, - NULL, - &pVPPSurfacesOut[nSurfIdxOut], - NULL, - &syncp); + if (params.vppProcFnName == FN_RUNFRAMEVPPASYNC) + sts = MFXVideoVPP_RunFrameVPPAsync(session, NULL, vppSurfaceOut, NULL, &syncp); + else // FN_PROCESSFRAMEASYNC + sts = MFXVideoVPP_ProcessFrameAsync(session, NULL, &vppSurfaceOut); - if (MFX_ERR_NONE < sts && syncp) { + if (MFX_ERR_NONE < sts && + (params.vppProcFnName == FN_RUNFRAMEVPPASYNC ? syncp : (mfxSyncPoint)1)) { sts = MFX_ERR_NONE; // Ignore warnings if output is available break; } @@ -516,14 +578,21 @@ int main(int argc, char* argv[]) { } if (MFX_ERR_NONE == sts) { - sts = MFXVideoCORE_SyncOperation(session, - syncp, - 60000); // Synchronize. Wait until a frame is ready + if (params.vppProcFnName == FN_RUNFRAMEVPPASYNC) { + // Synchronize. Wait until a frame is ready + sts = MFXVideoCORE_SyncOperation(session, syncp, 60000); + } if (!IS_ARG_EQ(params.outfileName, "null")) { WriteRawFrame(&pVPPSurfacesOut[nSurfIdxOut], fSink); } + if (params.memoryMode == MEM_MODE_INTERNAL) { + vppSurfaceOut->FrameInterface->Unmap( + vppSurfaceOut); // Exception thrown: read access violation. vppSurfaceOut->FrameInterface was nullptr. + vppSurfaceOut->FrameInterface->Release(vppSurfaceOut); + } + ++framenum; if (params.maxFrames) { if (framenum >= params.maxFrames) { @@ -547,6 +616,9 @@ int main(int argc, char* argv[]) { MFXVideoVPP_Close(session); MFXClose(session); + if (params.dispatcherMode == DISPATCHER_MODE_VPL_20) + CloseNewDispatcher(); + if (fSource) { fclose(fSource); fSource = NULL; @@ -567,7 +639,7 @@ mfxStatus LoadRawFrame2(mfxFrameSurface1* pSurface, int bytes_to_read, mfxU8* buf_read, mfxU32 repeat) { - mfxU32 nBytesRead = (mfxU32)fread(buf_read, 1, bytes_to_read, f); + int nBytesRead = static_cast(fread(buf_read, 1, bytes_to_read, f)); if (bytes_to_read != nBytesRead) { if (repeatCount == repeat) @@ -578,7 +650,7 @@ mfxStatus LoadRawFrame2(mfxFrameSurface1* pSurface, } } - mfxU16 w, h, pitch; + mfxU16 w, h; mfxFrameInfo* pInfo = &pSurface->Info; mfxFrameData* pData = &pSurface->Data; @@ -588,7 +660,6 @@ mfxStatus LoadRawFrame2(mfxFrameSurface1* pSurface, switch (pInfo->FourCC) { case MFX_FOURCC_NV12: case MFX_FOURCC_I420: - pitch = pData->Pitch; pData->Y = buf_read; pData->U = pData->Y + w * h; pData->V = pData->U + ((w / 2) * (h / 2)); @@ -596,7 +667,6 @@ mfxStatus LoadRawFrame2(mfxFrameSurface1* pSurface, case MFX_FOURCC_P010: case MFX_FOURCC_I010: - pitch = pData->Pitch; pData->Y = buf_read; pData->U = pData->Y + w * 2 * h; pData->V = pData->U + (w * (h / 2)); @@ -604,7 +674,6 @@ mfxStatus LoadRawFrame2(mfxFrameSurface1* pSurface, case MFX_FOURCC_RGB4: // read luminance plane (Y) - pitch = pData->Pitch; pData->B = buf_read; break; default: @@ -994,11 +1063,11 @@ bool ParseArgsAndValidate(int argc, char* argv[], Params* params) { // init all params to 0 memset(params, 0, sizeof(Params)); + params->impl = MFX_IMPL_SOFTWARE; + // set any non-zero defaults if (!params->memoryMode) params->memoryMode = MEM_MODE_EXTERNAL; - if (!params->impl) - params->impl = MFX_IMPL_SOFTWARE; if (argc < 2) return false; @@ -1118,8 +1187,11 @@ bool ParseArgsAndValidate(int argc, char* argv[], Params* params) { else if (IS_ARG_EQ(s, "dsp2")) { params->dispatcherMode = DISPATCHER_MODE_VPL_20; } - else if (IS_ARG_EQ(s, "hw")) { - params->impl = MFX_IMPL_HARDWARE; + else if (IS_ARG_EQ(s, "fn1")) { + params->vppProcFnName = FN_RUNFRAMEVPPASYNC; + } + else if (IS_ARG_EQ(s, "fn2")) { + params->vppProcFnName = FN_PROCESSFRAMEASYNC; } else if (IS_ARG_EQ(s, "scrx")) { if (!ValidateSize(argv[idx++], ¶ms->srcCropX, MAX_WIDTH)) @@ -1192,16 +1264,19 @@ void Usage(void) { printf("\nMemory model (default = -ext)\n"); printf(" -ext = external memory (1.0 style)\n"); - printf(" -int = internal memory with MFXMemory_GetSurfaceForVPP\n"); + printf(" -int = internal memory with MFXMemory_GetSurfaceForVPPIn/Out\n"); + + printf("\nProcess function (default = -fn1)\n"); + printf(" -fn1 = use RunFrameAPPAsync()\n"); + printf(" -fn2 = use ProcessFrameAsync()\n"); printf("\nDispatcher (default = -dsp1)\n"); printf(" -dsp1 = legacy dispatcher (MSDK 1.x)\n"); - printf(" -dsp2 = smart dispatcher (API 2.0)\n"); + printf(" -dsp2 = smart dispatcher (API %d.%d)\n", + DEFAULT_VERSION_MAJOR, + DEFAULT_VERSION_MINOR); printf("\nImplementation (default = software 2.0 API implementation\n"); -#ifdef ENABLE_VAAPI - printf(" -hw = hardware 1.x API implementation via VAAPI\n"); -#endif printf("\nFrame mode (optional, default = -fpitch)\n"); printf(" -fpitch = load frame-by-frame (read data per pitch - legacy)\n"); @@ -1219,7 +1294,7 @@ mfxStatus InitializeSession(Params* params, mfxSession* session) { switch (params->dispatcherMode) { case DISPATCHER_MODE_VPL_20: - diagnoseText = "InitNewDispatcher with WSTYPE_DECODE in DISPATCHER_MODE_VPL_20"; + diagnoseText = "InitNewDispatcher with WSTYPE_VPP in DISPATCHER_MODE_VPL_20"; sts = InitNewDispatcher(WSTYPE_VPP, params, session); break; case DISPATCHER_MODE_LEGACY: { @@ -1227,21 +1302,15 @@ mfxStatus InitializeSession(Params* params, mfxSession* session) { diagnoseText = "MFXInitEx with MFX_IMPL_SOFTWARE in DISPATCHER_MODE_LEGACY"; // initialize session mfxInitParam initPar = { 0 }; - initPar.Version.Major = 2; - initPar.Version.Minor = 0; + initPar.Version.Major = DEFAULT_VERSION_MAJOR; + initPar.Version.Minor = DEFAULT_VERSION_MINOR; initPar.Implementation = MFX_IMPL_SOFTWARE; sts = MFXInitEx(initPar, session); } else { - diagnoseText = "MFXInitEx with MFX_IMPL_HARDWARE in DISPATCHER_MODE_LEGACY"; - // initialize session - mfxInitParam initPar = { 0 }; - initPar.Version.Major = 1; - initPar.Version.Minor = 0; - initPar.Implementation = MFX_IMPL_HARDWARE; - - sts = MFXInitEx(initPar, session); + diagnoseText = "Tool does not support MFX_IMPL_HARDWARE mode"; + sts = MFX_ERR_UNSUPPORTED; } } break; default: @@ -1261,30 +1330,6 @@ mfxStatus InitializeSession(Params* params, mfxSession* session) { } } - if (MFX_IMPL_HARDWARE == params->impl) { -#ifdef ENABLE_VAAPI - // initialize VAAPI context and set session handle (req in Linux) - sts = MFX_ERR_NOT_INITIALIZED; - int fd = open("/dev/dri/renderD128", O_RDWR); - if (fd >= 0) { - VADisplay va_dpy = vaGetDisplayDRM(fd); - if (va_dpy) { - int major_version = 0, minor_version = 0; - if (VA_STATUS_SUCCESS == vaInitialize(va_dpy, &major_version, &minor_version)) { - sts = MFX_ERR_NONE; - MFXVideoCORE_SetHandle(*session, - static_cast(MFX_HANDLE_VA_DISPLAY), - va_dpy); - } - } - } - else { - puts("Could not could not find a valid VAAPI interface"); - } - -#endif - } - return sts; } diff --git a/tools/cli/vpl-vppenc.cpp b/tools/cli/vpl-vppenc.cpp index f6b5dc62..71ddd4ef 100644 --- a/tools/cli/vpl-vppenc.cpp +++ b/tools/cli/vpl-vppenc.cpp @@ -1,5 +1,5 @@ /*############################################################################ - # Copyright (C) 2020 Intel Corporation + # Copyright (C) Intel Corporation # # SPDX-License-Identifier: MIT ############################################################################*/ @@ -109,11 +109,6 @@ int main(int argc, char* argv[]) { } // Initialize Media SDK session - mfxInitParam initPar = { 0 }; - initPar.Version.Major = 2; - initPar.Version.Minor = 0; - initPar.Implementation = MFX_IMPL_SOFTWARE; - mfxStatus sts = MFX_ERR_NOT_INITIALIZED; mfxSession session = nullptr; @@ -398,9 +393,9 @@ int main(int argc, char* argv[]) { if (params.memoryMode == MEM_MODE_EXTERNAL) { // Find free frame surface nSurfIdxIn = -1; - for (int i = 0; i < pVPPSurfacesIn.size(); i++) { + for (size_t i = 0; i < pVPPSurfacesIn.size(); i++) { if (!pVPPSurfacesIn[i].Data.Locked) { - nSurfIdxIn = i; + nSurfIdxIn = static_cast(i); break; } } @@ -453,9 +448,9 @@ int main(int argc, char* argv[]) { } nSurfIdxOut = -1; - for (int i = 0; i < pVPPSurfacesOut.size(); i++) { + for (size_t i = 0; i < pVPPSurfacesOut.size(); i++) { if (!pVPPSurfacesOut[i].Data.Locked) { - nSurfIdxOut = i; + nSurfIdxOut = static_cast(i); break; } } @@ -558,6 +553,9 @@ int main(int argc, char* argv[]) { MFXVideoVPP_Close(session); MFXClose(session); + if (params.dispatcherMode == DISPATCHER_MODE_VPL_20) + CloseNewDispatcher(); + if (bitstream.Data) free(bitstream.Data); @@ -581,7 +579,7 @@ mfxStatus LoadRawFrame2(mfxFrameSurface1* pSurface, int bytes_to_read, mfxU8* buf_read, mfxU32 repeat) { - mfxU32 nBytesRead = (mfxU32)fread(buf_read, 1, bytes_to_read, f); + int nBytesRead = static_cast(fread(buf_read, 1, bytes_to_read, f)); if (bytes_to_read != nBytesRead) { if (repeatCount == repeat) @@ -592,7 +590,7 @@ mfxStatus LoadRawFrame2(mfxFrameSurface1* pSurface, } } - mfxU16 w, h, pitch; + mfxU16 w, h; mfxFrameInfo* pInfo = &pSurface->Info; mfxFrameData* pData = &pSurface->Data; @@ -601,14 +599,12 @@ mfxStatus LoadRawFrame2(mfxFrameSurface1* pSurface, switch (pInfo->FourCC) { case MFX_FOURCC_I420: - pitch = pData->Pitch; pData->Y = buf_read; pData->U = pData->Y + w * h; pData->V = pData->U + ((w / 2) * (h / 2)); break; case MFX_FOURCC_I010: - pitch = pData->Pitch; pData->Y = buf_read; pData->U = pData->Y + w * 2 * h; pData->V = pData->U + (w * (h / 2)); @@ -616,7 +612,6 @@ mfxStatus LoadRawFrame2(mfxFrameSurface1* pSurface, case MFX_FOURCC_RGB4: // read luminance plane (Y) - pitch = pData->Pitch; pData->B = buf_read; break; default: @@ -1177,7 +1172,9 @@ void Usage(void) { printf("\nDispatcher (default = -dsp1)\n"); printf(" -dsp1 = legacy dispatcher (MSDK 1.x)\n"); - printf(" -dsp2 = smart dispatcher (API 2.0)\n"); + printf(" -dsp2 = smart dispatcher (API %d.%d)\n", + DEFAULT_VERSION_MAJOR, + DEFAULT_VERSION_MINOR); printf("\nFrame mode (optional, default = -fpitch)\n"); printf(" -fpitch = load frame-by-frame (read data per pitch - legacy)\n"); @@ -1192,15 +1189,15 @@ mfxStatus InitializeSession(Params* params, mfxSession* session) { std::string diagnoseText = ""; mfxStatus sts = MFX_ERR_UNDEFINED_BEHAVIOR; if (params->dispatcherMode == DISPATCHER_MODE_VPL_20) { - diagnoseText = "InitNewDispatcher with WSTYPE_VPP while in DISPATCHER_MODE_VPL_20"; + diagnoseText = "InitNewDispatcher with WSTYPE_VPPENC while in DISPATCHER_MODE_VPL_20"; sts = InitNewDispatcher(WSTYPE_VPPENC, params, *(&session)); } else if (params->dispatcherMode == DISPATCHER_MODE_LEGACY) { diagnoseText = "MFXInitEx with MFX_IMPL_SOFTWARE while in DISPATCHER_MODE_LEGACY"; // initialize session mfxInitParam initPar = { 0 }; - initPar.Version.Major = 2; - initPar.Version.Minor = 0; + initPar.Version.Major = DEFAULT_VERSION_MAJOR; + initPar.Version.Minor = DEFAULT_VERSION_MINOR; initPar.Implementation = MFX_IMPL_SOFTWARE; sts = MFXInitEx(initPar, *(&session)); diff --git a/tools/legacy/CMakeLists.txt b/tools/legacy/CMakeLists.txt new file mode 100644 index 00000000..165a5b28 --- /dev/null +++ b/tools/legacy/CMakeLists.txt @@ -0,0 +1,13 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +# oneAPI Video Processing Library (oneVPL) main build script + +cmake_minimum_required(VERSION 3.10.2) + +add_subdirectory(sample_common) +add_subdirectory(sample_decode) +add_subdirectory(sample_vpp) +add_subdirectory(sample_encode) diff --git a/tools/legacy/metrics_monitor/CMakeLists.txt b/tools/legacy/metrics_monitor/CMakeLists.txt new file mode 100644 index 00000000..a302d658 --- /dev/null +++ b/tools/legacy/metrics_monitor/CMakeLists.txt @@ -0,0 +1,23 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) + +set(sources "") +list(APPEND sources src/cttmetrics_i915_pmu.cpp src/cttmetrics.cpp + src/cttmetrics_i915_custom.cpp src/cttmetrics_utils.cpp) + +add_library(cttmetrics_static STATIC ${sources}) +add_library(cttmetrics SHARED ${sources}) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR} /usr/include/drm) + +install(TARGETS cttmetrics_static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT dev) + +install(TARGETS cttmetrics LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT runtime) + +add_subdirectory(sample) diff --git a/tools/legacy/metrics_monitor/include/cttmetrics.h b/tools/legacy/metrics_monitor/include/cttmetrics.h new file mode 100644 index 00000000..49287ba5 --- /dev/null +++ b/tools/legacy/metrics_monitor/include/cttmetrics.h @@ -0,0 +1,122 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __CTT_METRICS__ +#define __CTT_METRICS__ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + Metrics IDs +*/ +typedef enum { + CTT_WRONG_METRIC_ID = -1, + CTT_USAGE_RENDER = 0, // EUs + CTT_USAGE_VIDEO = 1, // VDBOX + CTT_USAGE_BLITTER = 2, // Blitter + CTT_USAGE_VIDEO_ENHANCEMENT = 3, // VEBOX + CTT_USAGE_VIDEO2 = 4, // VDBOX2 + CTT_AVG_GT_FREQ = 5, // Average GT frequency + CTT_MAX_METRIC_COUNT = CTT_AVG_GT_FREQ + 1 +} cttMetric; + +/* + Error codes +*/ +typedef enum { + /* warnings */ + CTT_WRN_METRIC_UNAVAILABLE = 1, /* unavailable metrics in subscription list */ + + /* no error */ + CTT_ERR_NONE = 0, /* no error */ + + /* reserved for unexpected errors */ + CTT_ERR_UNKNOWN = -1, /* unknown error. */ + + /* error codes <0 */ + CTT_ERR_NULL_PTR = -2, /* null pointer */ + CTT_ERR_UNSUPPORTED = -3, /* feature not supported */ + CTT_ERR_NOT_INITIALIZED = -4, /* the library not initialized */ + CTT_ERR_NOT_FOUND = -5, /* the specified object is not found */ + CTT_ERR_ALREADY_INITIALIZED = -6, /* the library already initialized */ + CTT_ERR_NO_DATA = -7, /* no or wrong metrics data from driver */ + CTT_ERR_OUT_OF_RANGE = -8, /* parameter out of range */ + CTT_ERR_DRIVER_NOT_FOUND = -9, /* i915 driver not installed */ + CTT_ERR_DRIVER_NO_INSTRUMENTATION = -10, /* i915 driver has no instrumentation */ + CTT_ERR_NO_ROOT_PRIVILEDGES = -11 /* not enough priviledges to get metrics data */ + +} cttStatus; + +/* + Initializes media metrics library. +*/ +cttStatus CTTMetrics_Init(const char* device); + +/* + Returns the number of available metrics. + Must be called after CTTMetrics_Init(). + + out_count - Pointer to the number of metrics available on the system. +*/ +cttStatus CTTMetrics_GetMetricCount(unsigned int* out_count); + +/* + Returns ids of available metrics. + Must be called after CTTMetrics_Init(). + + count - Number of elements in *out_metric_ids* array. + out_metric_ids - Output array of metric ids available on the system. See cttMetric enum. + Must be allocated and de-allocated by app. +*/ +cttStatus CTTMetrics_GetMetricInfo(unsigned int count, cttMetric* out_metric_ids); + +/* + Specifies metric IDs to collect in *metric* array. Must be called after CTTMetrics_Init(). + + count - Number of metric ids in the *in_metric_ids* array. + in_metric_ids - Input array of metric ids. Array size is *count* elements. Must be allocated and de-allocated by app. + Ids must be in increasing order. +*/ +cttStatus CTTMetrics_Subscribe(unsigned int count, cttMetric* in_metric_ids); + +/* + Sets the number of metric samples to collect during sampling period. Default = 100. Valid range 1..1000. + Must be called after CTTMetrics_Init(). + + in_num - Number of metric samples to collect during sampling period. +*/ +cttStatus CTTMetrics_SetSampleCount(unsigned int in_num); + +/* + Sets the sampling period to collect metric samples. Default = 500. Valid range 10..1000. + Must be called after CTTMetrics_Init(). + + in_period - Sampling period in milliseconds. +*/ +cttStatus CTTMetrics_SetSamplePeriod(unsigned int in_period); + +/* + Closes media metrics library and stops metrics collection. +*/ +void CTTMetrics_Close(); + +/* + Returns metric values. + Number of values equals to *count* - numbers of metric ids in CTTMetrics_Init(). + + count - Number of metrics to collect. + out_metric_values - Output array of metric values (floats). Must be allocated and de-allocated by app. + out_metric_values[i] corresponds to in_metric_ids[i] in CTTMetrics_Subscribe(). +*/ +cttStatus CTTMetrics_GetValue(unsigned int count, float* out_metric_values); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __CTT_METRICS__ */ diff --git a/tools/legacy/metrics_monitor/include/cttmetrics_utils.h b/tools/legacy/metrics_monitor/include/cttmetrics_utils.h new file mode 100644 index 00000000..522d0677 --- /dev/null +++ b/tools/legacy/metrics_monitor/include/cttmetrics_utils.h @@ -0,0 +1,31 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __CTTMETRICS_UTILS_H__ +#define __CTTMETRICS_UTILS_H__ + +#include + +#include "cttmetrics.h" + +static const char DRM_DIR[] = "/sys/class/drm"; +static const int PCI_DISPLAY_CONTROLLER_CLASS = 0x03; +static const int INTEL_VENDOR_ID = 0x8086; + +extern char CARD_N[16]; +extern char CARD[32]; + +extern int path_gen(char* pdst, + size_t sz, + const char delim, + const char* a, + const char* b, + const char* c); +extern cttStatus discover_path_to_gpu(); + +extern int read_freq(int fd); + +#endif // #ifndef __CTTMETRICS_UTILS_H__ diff --git a/tools/legacy/metrics_monitor/sample/CMakeLists.txt b/tools/legacy/metrics_monitor/sample/CMakeLists.txt new file mode 100644 index 00000000..eb6af0cd --- /dev/null +++ b/tools/legacy/metrics_monitor/sample/CMakeLists.txt @@ -0,0 +1,17 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) + +set(sources "") +list(APPEND sources cttmetrics_sample.cpp) + +add_executable(metrics_monitor ${sources}) +target_link_libraries(metrics_monitor cttmetrics_static drm) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/.. /usr/include/drm) + +install(TARGETS metrics_monitor RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT runtime) diff --git a/tools/legacy/metrics_monitor/sample/cttmetrics_sample.cpp b/tools/legacy/metrics_monitor/sample/cttmetrics_sample.cpp new file mode 100644 index 00000000..800bdd5e --- /dev/null +++ b/tools/legacy/metrics_monitor/sample/cttmetrics_sample.cpp @@ -0,0 +1,187 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include +#include +#include +#include +#include +#include +#include "include/cttmetrics.h" + +#define MIN_PERIOD_MS 10 +#define MAX_PERIOD_MS 1000 +#define DEFAULT_PERIOD_MS 500 + +#define MIN_NUMSAMPLES 1 +#define MAX_NUMSAMPLES 1000 +#define DEFAULT_NUMSAMPLES 100 + +volatile sig_atomic_t run = 1; + +void signal_handler(int signo) { + if (SIGINT == signo) { + run = 0; + } +} + +static void usage(const char *appname) { + printf( + "metrics_monitor - Monitors GPU usage per engine\n" + "\n" + "Usage: %s [OPTION]\n" + "\n" + "\tThe following parameters are optional:\n\n" + "\t[-h] Show this help text.\n" + "\t[-s ] Number of metric samples to collect during sampling period(valid range %u..%u, default %u).\n" + "\t[-p ] Sampling period in milliseconds(valid range %u..%u, default %u).\n" + "\t[-d ] Path to gfx device (like /dev/dri/card* or /dev/dri/renderD*).\n" + "\t If device is not set, the tool uses i915 render node device with smallest number." + "\n", + appname, + MIN_NUMSAMPLES, + MAX_NUMSAMPLES, + DEFAULT_NUMSAMPLES, + MIN_PERIOD_MS, + MAX_PERIOD_MS, + DEFAULT_PERIOD_MS); +} + +int main(int argc, char *argv[]) { + cttStatus status = CTT_ERR_NONE; + cttMetric metrics_ids[] = { CTT_USAGE_RENDER, + CTT_USAGE_VIDEO, + CTT_USAGE_VIDEO_ENHANCEMENT, + CTT_AVG_GT_FREQ, + CTT_USAGE_VIDEO2 }; + unsigned int metric_cnt = sizeof(metrics_ids) / sizeof(metrics_ids[0]); + + unsigned int num_samples = DEFAULT_NUMSAMPLES; + unsigned int period_ms = DEFAULT_PERIOD_MS; + char *device_path = NULL; + int ch; + + /* Parse options */ + while ((ch = getopt(argc, argv, "d:s:p:h")) != -1) { + switch (ch) { + case 'd': + device_path = optarg; + break; + case 's': + num_samples = atoi(optarg); + if (num_samples < MIN_NUMSAMPLES || num_samples > MAX_NUMSAMPLES) { + fprintf(stderr, "%u is an invalid number of metric samples\n\n", num_samples); + usage(argv[0]); + exit(1); + } + break; + case 'p': + period_ms = atoi(optarg); + if (period_ms < MIN_PERIOD_MS || period_ms > MAX_PERIOD_MS) { + fprintf(stderr, "%u is an invalid number sampling period\n\n", period_ms); + usage(argv[0]); + exit(1); + } + break; + case 'h': + usage(argv[0]); + exit(0); + default: + usage(argv[0]); + exit(1); + } + } + + signal(SIGINT, signal_handler); + + status = CTTMetrics_Init(device_path); + if (CTT_ERR_NONE != status) { + fprintf(stderr, + "ERROR: Failed to initialize metrics monitor, error code %d\n", + (int)status); + return 1; + } + + unsigned int metric_all_cnt = 0; + status = CTTMetrics_GetMetricCount(&metric_all_cnt); + if (CTT_ERR_NONE != status) { + fprintf(stderr, + "ERROR: Failed to get number of metrics available, error code %d\n", + (int)status); + return 1; + } + + cttMetric metric_all_ids[CTT_MAX_METRIC_COUNT] = { CTT_WRONG_METRIC_ID }; + status = CTTMetrics_GetMetricInfo(metric_all_cnt, metric_all_ids); + if (CTT_ERR_NONE != status) { + fprintf(stderr, "ERROR: Failed to get metrics info, error code %d\n", (int)status); + return 1; + } + + unsigned int i; + bool isVideo2 = false; + for (i = 0; i < metric_all_cnt; ++i) { + if (CTT_USAGE_VIDEO2 == metric_all_ids[i]) + isVideo2 = true; + } + + if (false == isVideo2) + metric_cnt = metric_cnt - 1; // exclude video2 usage metric + + bool isFreq = false; + for (i = 0; i < metric_all_cnt; ++i) { + if (CTT_AVG_GT_FREQ == metric_all_ids[i]) + isFreq = true; + } + + if (false == isFreq) + metric_cnt = metric_cnt - 1; // exclude average frequency metric + + status = CTTMetrics_Subscribe(metric_cnt, metrics_ids); + if (CTT_ERR_NONE != status) { + fprintf(stderr, "ERROR: Failed to subscribe for metrics, error code %d\n", (int)status); + return 1; + } + + status = CTTMetrics_SetSampleCount(num_samples); + if (CTT_ERR_NONE != status) { + fprintf(stderr, "ERROR: Failed to set number of samples, error code %d\n", (int)status); + return 1; + } + + status = CTTMetrics_SetSamplePeriod(period_ms); + if (CTT_ERR_NONE != status) { + fprintf(stderr, "ERROR: Failed to set measure interval, error code %d\n", (int)status); + return 1; + } + + float metric_values[metric_cnt]; + memset(metric_values, 0, (size_t)metric_cnt * sizeof(float)); + + while (run) { + status = CTTMetrics_GetValue(metric_cnt, metric_values); + if (CTT_ERR_NONE != status) { + fprintf(stderr, "ERROR: Failed to get metrics, error code %d\n", status); + return 1; + } + printf("RENDER usage: %3.2f,\tVIDEO usage: %3.2f,\tVIDEO_E usage: %3.2f", + metric_values[0], + metric_values[1], + metric_values[2]); + + if (true == isVideo2) + printf("\tVIDEO2 usage: %3.2f", metric_values[4]); + + if (true == isFreq) + printf("\tGT Freq: %4.2f", metric_values[3]); + + printf("\n"); + } + + CTTMetrics_Close(); + + return 0; +} diff --git a/tools/legacy/metrics_monitor/src/cttmetrics.cpp b/tools/legacy/metrics_monitor/src/cttmetrics.cpp new file mode 100644 index 00000000..828ace5c --- /dev/null +++ b/tools/legacy/metrics_monitor/src/cttmetrics.cpp @@ -0,0 +1,129 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "include/cttmetrics.h" + +#include + +struct CttMetricsCollector { + cttStatus (*Init)(const char* device); + void (*Close)(); + cttStatus (*SetSamplePeriod)(unsigned int in_period); + cttStatus (*SetSampleCount)(unsigned int in_num); + cttStatus (*GetMetricCount)(unsigned int* out_count); + cttStatus (*GetMetricInfo)(unsigned int count, cttMetric* out_metric_ids); + cttStatus (*Subscribe)(unsigned int count, cttMetric* in_metric_ids); + cttStatus (*GetValue)(unsigned int count, float* out_metric_values); +}; + +extern "C" { +cttStatus CTTMetrics_Custom_Init(const char* device); +void CTTMetrics_Custom_Close(); +cttStatus CTTMetrics_Custom_SetSamplePeriod(unsigned int in_period); +cttStatus CTTMetrics_Custom_SetSampleCount(unsigned int in_num); +cttStatus CTTMetrics_Custom_GetMetricCount(unsigned int* out_count); +cttStatus CTTMetrics_Custom_GetMetricInfo(unsigned int count, cttMetric* out_metric_ids); +cttStatus CTTMetrics_Custom_Subscribe(unsigned int count, cttMetric* in_metric_id); +cttStatus CTTMetrics_Custom_GetValue(unsigned int count, float* out_metric_values); +} + +extern "C" { +cttStatus CTTMetrics_PMU_Init(const char* device); +void CTTMetrics_PMU_Close(); +cttStatus CTTMetrics_PMU_SetSamplePeriod(unsigned int in_period); +cttStatus CTTMetrics_PMU_SetSampleCount(unsigned int in_num); +cttStatus CTTMetrics_PMU_GetMetricCount(unsigned int* out_count); +cttStatus CTTMetrics_PMU_GetMetricInfo(unsigned int count, cttMetric* out_metric_ids); +cttStatus CTTMetrics_PMU_Subscribe(unsigned int count, cttMetric* in_metric_id); +cttStatus CTTMetrics_PMU_GetValue(unsigned int count, float* out_metric_values); +} + +// List of collectors in the priority order. Library will try to inialize +// them one by one. First collector successfully initialized will be used. +static CttMetricsCollector g_Collectors[] = { + // This collector works thru i915 PMU API. It will work for: + // * User with root priviligies + // * Application with CAP_SYS_ADMIN capability (setcap cap_sys_admin+ep ./application) + // * Any user if /proc/sys/kernel/perf_event_paranoid is less than 1 + { CTTMetrics_PMU_Init, + CTTMetrics_PMU_Close, + CTTMetrics_PMU_SetSamplePeriod, + CTTMetrics_PMU_SetSampleCount, + CTTMetrics_PMU_GetMetricCount, + CTTMetrics_PMU_GetMetricInfo, + CTTMetrics_PMU_Subscribe, + CTTMetrics_PMU_GetValue }, + // This collector requires custom (patched) i915 driver. + // It will work only for user with root priviligies (it access debugfs). + { CTTMetrics_Custom_Init, + CTTMetrics_Custom_Close, + CTTMetrics_Custom_SetSamplePeriod, + CTTMetrics_Custom_SetSampleCount, + CTTMetrics_Custom_GetMetricCount, + CTTMetrics_Custom_GetMetricInfo, + CTTMetrics_Custom_Subscribe, + CTTMetrics_Custom_GetValue }, +}; +static CttMetricsCollector* g_SelectedCollector = NULL; + +extern "C" cttStatus CTTMetrics_Init(const char* device) { + cttStatus status = CTT_ERR_DRIVER_NO_INSTRUMENTATION; + + if (g_SelectedCollector) + return CTT_ERR_ALREADY_INITIALIZED; + + for (size_t i = 0; i < sizeof(g_Collectors) / sizeof(g_Collectors[0]); ++i) { + status = g_Collectors[i].Init(device); + if (status == CTT_ERR_NONE) { + g_SelectedCollector = &g_Collectors[i]; + break; + } + } + return status; +} + +extern "C" void CTTMetrics_Close() { + if (!g_SelectedCollector) + return; + g_SelectedCollector->Close(); + g_SelectedCollector = NULL; +} + +extern "C" cttStatus CTTMetrics_SetSamplePeriod(unsigned int in_period) { + if (!g_SelectedCollector) + return CTT_ERR_NOT_INITIALIZED; + return g_SelectedCollector->SetSamplePeriod(in_period); +} + +extern "C" cttStatus CTTMetrics_SetSampleCount(unsigned int in_num) { + if (!g_SelectedCollector) + return CTT_ERR_NOT_INITIALIZED; + return g_SelectedCollector->SetSampleCount(in_num); +} + +extern "C" cttStatus CTTMetrics_GetMetricCount(unsigned int* out_count) { + if (!g_SelectedCollector) + return CTT_ERR_NOT_INITIALIZED; + return g_SelectedCollector->GetMetricCount(out_count); +} + +extern "C" cttStatus CTTMetrics_GetMetricInfo(unsigned int count, cttMetric* out_metric_ids) { + if (!g_SelectedCollector) + return CTT_ERR_NOT_INITIALIZED; + return g_SelectedCollector->GetMetricInfo(count, out_metric_ids); +} + +extern "C" cttStatus CTTMetrics_Subscribe(unsigned int count, cttMetric* in_metric_ids) { + if (!g_SelectedCollector) + return CTT_ERR_NOT_INITIALIZED; + return g_SelectedCollector->Subscribe(count, in_metric_ids); +} + +extern "C" cttStatus CTTMetrics_GetValue(unsigned int count, float* out_metric_values) { + if (!g_SelectedCollector) + return CTT_ERR_NOT_INITIALIZED; + return g_SelectedCollector->GetValue(count, out_metric_values); +} diff --git a/tools/legacy/metrics_monitor/src/cttmetrics_i915_custom.cpp b/tools/legacy/metrics_monitor/src/cttmetrics_i915_custom.cpp new file mode 100644 index 00000000..0d8754c0 --- /dev/null +++ b/tools/legacy/metrics_monitor/src/cttmetrics_i915_custom.cpp @@ -0,0 +1,454 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "include/cttmetrics.h" +#include "include/cttmetrics_utils.h" + +#include +#include +#include +#include +#include + +#define US_IN_SEC 1000000 // used by gettime() to return time in usec +#define MAX_RING_NUM 64 // default support for up to 64 rings + +static bool s_bInitialized = false; + +static unsigned int SAMPLE_PERIOD_US = 500000; // time period to collect samples in usec +static unsigned int SAMPLES_PER_PERIOD = 100; // number of samples collected during sampling period +static int AFREQ_RID = -1; + +typedef struct ring_info_t { + int id; // ring buffer id, see ring_type_e (from driver) + int size; // size of ring buffer (from driver) + int head; // head pointer of ring buffer (from driver) + int tail; // tail pointer of ring buffer (from driver) + int seqno; // request sequence number, increases each time a batch buffer added to the ring (from driver) + int jiffies; // shows how many jiffies have expired since the oldest command was pushed to the ring (from driver) + + int ctt_id; // ring id in the cttMetric enum + int idle; // counter for ring idle states increased during sampling period + float busy; // ring busy calculated during sampling period +} ring_info; + +static ring_info rings[MAX_RING_NUM]; +static int map_to_ring_id[MAX_RING_NUM] = { + -1 +}; // maps metric index in GetValue to the ring id in ring_type_e +static int RING_NUM = 0; + +const char DRI_DEBUGFS_PATH[] = "/sys/kernel/debug/dri"; +const char STAT_FILE_NAME[] = "i915_ringstats"; +char STAT_FILE[64] = { 0 }; +char ACT_FREQ_FILE[64] = { 0 }; + +/* + check that the file with stat info exist and accessible +*/ +static cttStatus stat_file_check() { + unsigned int ringnum = 0; + ssize_t ret_in; + size_t len = 0; + char* buffer = NULL; + char* stat = NULL; + const char delim[2] = ":"; + bool broken = false; + + cttStatus status = discover_path_to_gpu(); + if (CTT_ERR_NONE != status) + return status; + + path_gen(STAT_FILE, sizeof(STAT_FILE), '/', DRI_DEBUGFS_PATH, CARD_N, STAT_FILE_NAME); + FILE* fd = fopen(STAT_FILE, "r"); + if (NULL == fd) { + memset(STAT_FILE, 0, sizeof(STAT_FILE)); + + // Try to open stat file on 'renderD128' node + path_gen(STAT_FILE, sizeof(STAT_FILE), '/', DRI_DEBUGFS_PATH, "128", STAT_FILE_NAME); + fd = fopen(STAT_FILE, "r"); + if (NULL == fd) { + return CTT_ERR_DRIVER_NO_INSTRUMENTATION; + } + } + + // process the file (may have multiple rings) + while ((ret_in = getline(&buffer, &len, fd)) != -1) { + // Get first Token + stat = strtok(buffer, delim); + if (NULL == stat) { + broken = true; + break; + } + + if (strcmp(stat, "render ring") == 0) { + rings[ringnum].ctt_id = CTT_USAGE_RENDER; + } + else if (strcmp(stat, "blitter ring") == 0) { + rings[ringnum].ctt_id = CTT_USAGE_BLITTER; + } + else if (strcmp(stat, "bsd ring") == 0) { + rings[ringnum].ctt_id = CTT_USAGE_VIDEO; + } + else if (strcmp(stat, "video enhancement ring") == 0) { + rings[ringnum].ctt_id = CTT_USAGE_VIDEO_ENHANCEMENT; + } + else if (strcmp(stat, "bsd2 ring") == 0 || strcmp(stat, "bds2 ring") == 0) { + rings[ringnum].ctt_id = CTT_USAGE_VIDEO2; + } + else { + // Metric is not exposed to public interface + continue; + } + + stat = strtok(NULL, delim); + if (NULL == stat) { + broken = true; + break; + } + rings[ringnum].id = atoi(stat); + ringnum++; + } + + free(buffer); + fclose(fd); + + // WA: append frequency metric + path_gen(ACT_FREQ_FILE, sizeof(ACT_FREQ_FILE), '/', "/sys/class/drm", CARD, "gt_act_freq_mhz"); + fd = fopen(ACT_FREQ_FILE, "r"); + if (NULL != fd) { + AFREQ_RID = ringnum; + rings[ringnum].id = ringnum; + rings[ringnum].ctt_id = CTT_AVG_GT_FREQ; + ringnum++; + fclose(fd); + } + else { + AFREQ_RID = -1; + } + + RING_NUM = ringnum; + + if (true == broken) + return CTT_ERR_NO_DATA; + else + return CTT_ERR_NONE; +} + +/* + parse file with statistic info from driver +*/ +static cttStatus stat_file_parse() { + FILE* statfile_fd = NULL; + ssize_t ret_in; + size_t len = 0; + char* buffer = NULL; + char* stat = NULL; + const char delim[2] = ":"; + int ringnum = 0; + bool broken = false; + + statfile_fd = fopen(STAT_FILE, "r"); + + if (NULL == statfile_fd) + return CTT_ERR_DRIVER_NO_INSTRUMENTATION; + + // process the file (may have multiple rings) + while ((ret_in = getline(&buffer, &len, statfile_fd)) != -1) { + // Get first Token + stat = strtok(buffer, delim); + if (NULL == stat) { + broken = true; + break; + } + // Skipping the name - not much use to us.. + stat = strtok(NULL, delim); + if (NULL == stat) { + broken = true; + break; + } + rings[ringnum].id = atoi(stat); + stat = strtok(NULL, delim); + if (NULL == stat) { + broken = true; + break; + } + rings[ringnum].size = atoi(stat); + stat = strtok(NULL, delim); + if (NULL == stat) { + broken = true; + break; + } + rings[ringnum].head = atoi(stat); + stat = strtok(NULL, delim); + if (NULL == stat) { + broken = true; + break; + } + rings[ringnum].tail = atoi(stat); + stat = strtok(NULL, delim); + if (NULL == stat) { + broken = true; + break; + } + rings[ringnum].seqno = atoi(stat); + stat = strtok(NULL, delim); + if (NULL == stat) { + broken = true; + break; + } + rings[ringnum].jiffies = atoi(stat); + + ringnum++; + } + + free(buffer); + fclose(statfile_fd); + + if (true == broken) + return CTT_ERR_NO_DATA; + else + return CTT_ERR_NONE; +} + +// reset idle counter +static void ring_reset_idle(unsigned int ring_id) { + rings[ring_id].idle = 0; +} + +// increase idle counter if conditions met +static void ring_sample(unsigned int ring_id) { + if ((rings[ring_id].tail == rings[ring_id].head) || (rings[ring_id].seqno == -1)) { + rings[ring_id].idle++; + } +} + +static void calculate_busy(unsigned int ring_id, unsigned int samples_per_interval) { + if (0 == samples_per_interval) + return; + + rings[ring_id].busy = 100.0 - (100.0 * rings[ring_id].idle) / samples_per_interval; +} + +// get time in microseconds +static unsigned long gettime(void) { + struct timeval t; + gettimeofday(&t, NULL); + return (t.tv_usec + (t.tv_sec * US_IN_SEC)); +} + +/* + parsing ring buffer provided by driver and + counting number of idle samples +*/ +static cttStatus sample_busy_values() { + cttStatus status = CTT_ERR_NONE; + unsigned long long t1, ti, tf; + unsigned long long def_sleep = SAMPLE_PERIOD_US / SAMPLES_PER_PERIOD; + int i, last_sample = SAMPLES_PER_PERIOD; + + unsigned int samples = 0; + + t1 = gettime(); + + for (i = 0; i < RING_NUM; i++) + ring_reset_idle(i); + + for (samples = 0; samples < SAMPLES_PER_PERIOD; ++samples) { + long long interval; + ti = gettime(); + + status = stat_file_parse(); + if (CTT_ERR_NONE != status) + return status; + + for (i = 0; i < RING_NUM; i++) + ring_sample(i); + + tf = gettime(); + if (tf - t1 >= SAMPLE_PERIOD_US) { + last_sample = samples + 1; + break; + } + interval = def_sleep - (tf - ti); + if (interval > 0) + usleep(interval); + } + + for (i = 0; i < RING_NUM; i++) + calculate_busy(i, last_sample); + + return CTT_ERR_NONE; +} + +static float get_busy_value(unsigned int ring_id) { + return rings[ring_id].busy; +} + +extern "C" cttStatus CTTMetrics_Custom_SetSampleCount(unsigned int in_num) { + if (false == s_bInitialized) + return CTT_ERR_NOT_INITIALIZED; + + if (in_num > 1000 || in_num < 1) + return CTT_ERR_OUT_OF_RANGE; + + SAMPLES_PER_PERIOD = in_num; + + return CTT_ERR_NONE; +} + +extern "C" cttStatus CTTMetrics_Custom_SetSamplePeriod(unsigned int in_period) { + if (false == s_bInitialized) + return CTT_ERR_NOT_INITIALIZED; + + if (in_period > 1000 || in_period < 10) + return CTT_ERR_OUT_OF_RANGE; + + SAMPLE_PERIOD_US = in_period * 1000; + + return CTT_ERR_NONE; +} + +extern "C" cttStatus CTTMetrics_Custom_GetMetricCount(unsigned int* out_count) { + if (false == s_bInitialized) + return CTT_ERR_NOT_INITIALIZED; + + if (NULL == out_count) + return CTT_ERR_NULL_PTR; + + *out_count = (unsigned int)RING_NUM; + + return CTT_ERR_NONE; +} + +extern "C" cttStatus CTTMetrics_Custom_GetMetricInfo(unsigned int count, + cttMetric* out_metric_ids) { + int i; + + if (false == s_bInitialized) + return CTT_ERR_NOT_INITIALIZED; + + if (NULL == out_metric_ids) + return CTT_ERR_NULL_PTR; + + if ((int)count > RING_NUM) + return CTT_ERR_OUT_OF_RANGE; + + for (i = 0; i < RING_NUM; ++i) { + out_metric_ids[i] = (cttMetric)rings[i].ctt_id; + } + + return CTT_ERR_NONE; +} + +extern "C" cttStatus CTTMetrics_Custom_Init(const char* device) { + cttStatus status = CTT_ERR_NONE; + + if (true == s_bInitialized) + return CTT_ERR_ALREADY_INITIALIZED; + + // Only PMU path supports device specification + if (device) + return CTT_ERR_UNSUPPORTED; + + // check root priveledges + if (0 != getuid()) + return CTT_ERR_NO_ROOT_PRIVILEDGES; + + memset(rings, 0, (size_t)MAX_RING_NUM * sizeof(struct ring_info_t)); + + // check that driver exposes stat file + status = stat_file_check(); + if (CTT_ERR_NONE != status) + return status; + + s_bInitialized = true; + + return CTT_ERR_NONE; +} + +extern "C" cttStatus CTTMetrics_Custom_Subscribe(unsigned int count, cttMetric* in_metric_ids) { + if (false == s_bInitialized) + return CTT_ERR_NOT_INITIALIZED; + + if (NULL == in_metric_ids) + return CTT_ERR_NULL_PTR; + + // one metric - one ring + if ((int)count > RING_NUM) + return CTT_ERR_OUT_OF_RANGE; + + // check metrics ids are correct and map metric index in value array to ring id + int na_metric_cnt = 0; + for (unsigned int i = 0; i < count; ++i) { + map_to_ring_id[i] = -1; + for (int j = 0; j < RING_NUM; ++j) { + if (in_metric_ids[i] == rings[j].ctt_id) { + map_to_ring_id[i] = j; + break; + } + } + + if (map_to_ring_id[i] == -1) + na_metric_cnt++; + } + + if (na_metric_cnt) + return CTT_WRN_METRIC_UNAVAILABLE; + + return CTT_ERR_NONE; +} + +extern "C" void CTTMetrics_Custom_Close() { + memset(rings, 0, (size_t)MAX_RING_NUM * sizeof(struct ring_info_t)); + s_bInitialized = false; +} + +extern "C" cttStatus CTTMetrics_Custom_GetValue(unsigned int count, float* out_metric_values) { + if (false == s_bInitialized) + return CTT_ERR_NOT_INITIALIZED; + + if (NULL == out_metric_values) + return CTT_ERR_NULL_PTR; + + if ((int)count > RING_NUM) + return CTT_ERR_OUT_OF_RANGE; + + cttStatus status = sample_busy_values(); + if (CTT_ERR_NONE != status) + return status; + + if (AFREQ_RID > 0) { + path_gen(ACT_FREQ_FILE, + sizeof(ACT_FREQ_FILE), + '/', + "/sys/class/drm", + CARD, + "gt_act_freq_mhz"); + FILE* fd = fopen(ACT_FREQ_FILE, "r"); + if (fd) { + if (fscanf(fd, "%f", &(rings[AFREQ_RID].busy)) != 1) + rings[AFREQ_RID].busy = 0.0; + fclose(fd); + } + else { + rings[AFREQ_RID].busy = 0.0; + } + } + + float busy = 0.0; + for (unsigned int i = 0; i < count; ++i) { + if (-1 != map_to_ring_id[i]) { + busy = get_busy_value(map_to_ring_id[i]); + } + else { + busy = 0.0; // not subscribed/unavailable metrics are always idle + } + out_metric_values[i] = busy; + } + + return CTT_ERR_NONE; +} diff --git a/tools/legacy/metrics_monitor/src/cttmetrics_i915_pmu.cpp b/tools/legacy/metrics_monitor/src/cttmetrics_i915_pmu.cpp new file mode 100644 index 00000000..fdfe0f35 --- /dev/null +++ b/tools/legacy/metrics_monitor/src/cttmetrics_i915_pmu.cpp @@ -0,0 +1,571 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "include/cttmetrics_utils.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static bool has_param(int fd, int param) { + drm_i915_getparam_t gp; + int tmp = 0; + + memset(&gp, 0, sizeof(gp)); + gp.value = &tmp; + gp.param = param; + + if (drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp)) { + return false; + } + + return tmp > 0; +} + +static bool is_engine_config(uint64_t config) { + return config < __I915_PMU_OTHER(0); +} + +static uint8_t get_engine_sample(uint64_t config) { + return config & I915_PMU_SAMPLE_MASK; +} + +static int get_engine_id(uint64_t config) { + return config & 0xffff0; +} + +static inline int perf_event_open(struct perf_event_attr *attr, + pid_t pid, + int cpu, + int group_fd, + unsigned long flags) { +#ifndef __NR_perf_event_open + #if defined(__i386__) + #define __NR_perf_event_open 336 + #elif defined(__x86_64__) + #define __NR_perf_event_open 298 + #else + #define __NR_perf_event_open 0 + #endif +#endif + attr->size = sizeof(*attr); + return syscall(__NR_perf_event_open, attr, pid, cpu, group_fd, flags); +} + +static char *bus_address(int i915, char *path, int pathlen) { + struct stat st = {}; + if (fstat(i915, &st) || !S_ISCHR(st.st_mode)) + return NULL; + + snprintf(path, pathlen, "/sys/dev/char/%d:%d", major(st.st_rdev), minor(st.st_rdev)); + + int len = -1; + int dir = open(path, O_RDONLY); + if (dir != -1) { + len = readlinkat(dir, "device", path, pathlen - 1); + close(dir); + } + if (len < 0) + return NULL; + + path[len] = '\0'; + + /* strip off the relative path */ + char *s = strrchr(path, '/'); + if (s) + memmove(path, s + 1, len - (s - path) + 1); + + return path; +} + +static const char *i915_perf_device(int i915, char *buf, long unsigned int buflen) { + static const char *prefix = "i915_"; + const long unsigned int plen = strlen(prefix); + + if (!buf || buflen < plen) + return NULL; + + memcpy(buf, prefix, plen); + + if (!bus_address(i915, buf + plen, buflen - plen) || + strcmp(buf + plen, "0000:00:02.0") == 0) /* legacy name for igfx */ + buf[plen - 1] = '\0'; + + /* Convert all colons in the address to '_' */ + for (char *s = buf; *s; s++) + if (*s == ':') + *s = '_'; + + return buf; +} + +static uint64_t i915_type_id(const char *device) { + if (!device) + return 0; + + char buf[120]; + snprintf(buf, sizeof(buf), "/sys/bus/event_source/devices/%s/type", device); + + int fd = open(buf, O_RDONLY); + if (fd < 0) + return 0; + + ssize_t ret = read(fd, buf, sizeof(buf) - 1); + close(fd); + if (ret < 1) + return 0; + + buf[ret] = '\0'; + + return strtoull(buf, NULL, 0); +} + +static int perf_i915_open(int gem_fd, int config, int group, int read_format) { + char buf[80]; + + struct perf_event_attr attr = {}; + attr.type = i915_type_id(i915_perf_device(gem_fd, buf, sizeof(buf))); + if (attr.type == 0) + return -ENOENT; + attr.config = config; + + attr.read_format = read_format; + if (group != -1) + attr.read_format &= ~PERF_FORMAT_GROUP; + + return perf_event_open(&attr, -1, 0, group, 0); +} + +struct metric { + int config; + struct { + uint64_t value; + uint64_t time; + } start; + struct { + uint64_t value; + uint64_t time; + } end; +}; + +#define I915_ENGINE_SAMPLE_COUNT (I915_SAMPLE_SEMA + 1) + +struct metrics_group { + metric metrics + [I915_ENGINE_SAMPLE_COUNT]; /* 0 - I915_SAMPLE_BUSY/Global PMU, 1 - I915_SAMPLE_WAIT, 2 - I915_SAMPLE_SEMA */ + uint64_t num_metrics; +}; + +struct pmu_metrics { + int fd; + int read_format; + uint64_t num_metrics; + uint64_t num_groups; + struct metrics_group *groups; +}; + +struct i915_pmu_collector_ctx_t { + bool initialized; + unsigned int sample_period_us; + unsigned int metrics_count; + + unsigned int user_idx_map[CTT_MAX_METRIC_COUNT]; + unsigned int pm_idx_map[CTT_MAX_METRIC_COUNT]; + cttMetric metrics[CTT_MAX_METRIC_COUNT]; + + pmu_metrics pm; + + int gem_fd; + bool has_semaphores; + bool has_preemption; +}; + +/* Order of metrics in configs[] is important: + - don't mix samples of different engines; + - don't mix global metrics and engine metrics; */ +static int perf_init(struct i915_pmu_collector_ctx_t *ctx, int num_configs, int configs[]) { + int i, res = -1; + + memset(&ctx->pm, 0, sizeof(struct pmu_metrics)); + ctx->pm.fd = -1; + ctx->pm.read_format = PERF_FORMAT_TOTAL_TIME_ENABLED | PERF_FORMAT_GROUP; + ctx->pm.groups = (struct metrics_group *)calloc(num_configs, sizeof(struct metrics_group)); + if (!ctx->pm.groups) + return -1; + + if (!num_configs) + return -1; + + ctx->pm.num_groups = 0; + + int prev_config_id = is_engine_config(configs[0]) ? get_engine_id(configs[0]) : configs[0]; + + /* Code block below will put per engine configs in the same groups, + * all global metrics in their own groups */ + for (i = 0; i < num_configs; ++i) { + bool is_sema_or_wait_config = + is_engine_config(configs[i]) && (I915_SAMPLE_BUSY != get_engine_sample(configs[i])); + /* Skip SEMA/WAIT configs if semaphores are not enabled in i915 scheduler or they're enabled but preemption is missing */ + if (is_sema_or_wait_config && (!ctx->has_semaphores || !ctx->has_preemption)) + continue; + + int config_id = is_engine_config(configs[i]) ? get_engine_id(configs[i]) : configs[i]; + if (prev_config_id != config_id) { + ctx->pm.num_groups++; + prev_config_id = config_id; + } + + if (ctx->pm.fd < 0) + res = ctx->pm.fd = perf_i915_open(ctx->gem_fd, configs[i], -1, ctx->pm.read_format); + else + res = perf_i915_open(ctx->gem_fd, configs[i], ctx->pm.fd, ctx->pm.read_format); + if (res >= 0) { + if (is_engine_config(configs[i])) { + int sample_type = I915_PMU_SAMPLE_MASK & configs[i]; + ctx->pm.groups[ctx->pm.num_groups].num_metrics++; + ctx->pm.groups[ctx->pm.num_groups].metrics[sample_type].config = configs[i]; + } + else { + ctx->pm.groups[ctx->pm.num_groups].num_metrics = 1; + ctx->pm.groups[ctx->pm.num_groups].metrics[0].config = + configs[i]; // For global, let's use metrics[0] field + } + + ctx->pm.num_metrics++; + } + } + + if (res >= 0) + ctx->pm.num_groups++; /* For last config in the list */ + + return 0; +} + +static void perf_close(struct pmu_metrics *pm) { + if (pm->fd != -1) { + close(pm->fd); + pm->fd = -1; + } + if (pm->groups) { + free(pm->groups); + pm->groups = NULL; + } +} + +/* see 'man 2 perf_event_open' */ +struct perf_read_format { + uint64_t nr_values; /* The number of events */ + uint64_t time_enabled; /* if PERF_FORMAT_TOTAL_TIME_ENABLED */ + struct { + uint64_t value; /* The value of the event */ + } values[1024]; +}; + +static int perf_read(struct pmu_metrics *pm) { + int read_format = PERF_FORMAT_TOTAL_TIME_ENABLED | PERF_FORMAT_GROUP; + struct perf_read_format data; + ssize_t len; + + if (pm->fd < 0) + return -1; + + if (pm->read_format != read_format) + return -1; + + len = read(pm->fd, &data, sizeof(data)); + if (len < 0) { + return -1; + } + + if (pm->num_metrics != data.nr_values) + return -1; + + for (uint64_t i = 0, k = 0; i < pm->num_groups; ++i) { + for (uint64_t j = 0; j < pm->groups[i].num_metrics; ++j) { + pm->groups[i].metrics[j].start.value = pm->groups[i].metrics[j].end.value; + pm->groups[i].metrics[j].start.time = pm->groups[i].metrics[j].end.time; + pm->groups[i].metrics[j].end.value = data.values[k++].value; + pm->groups[i].metrics[j].end.time = data.time_enabled; + } + } + + return 0; +} + +static uint64_t perf_elapsed(struct metric *m) { + return m->end.value - m->start.value; +} + +static uint64_t perf_elapsed_time(struct metric *m) { + return m->end.time - m->start.time; +} + +static i915_pmu_collector_ctx_t g_ctx = { + .initialized = false, +}; + +extern "C" cttStatus CTTMetrics_PMU_Init(const char *device) { + /* When adding new condigs, don't mix metrics from different groups!*/ + int configs[] = { + /* Render engine metrics */ + I915_PMU_ENGINE_BUSY(I915_ENGINE_CLASS_RENDER, 0), + I915_PMU_ENGINE_WAIT(I915_ENGINE_CLASS_RENDER, 0), + I915_PMU_ENGINE_SEMA(I915_ENGINE_CLASS_RENDER, 0), + /* VDBOX metrics */ + I915_PMU_ENGINE_BUSY(I915_ENGINE_CLASS_VIDEO, 0), + I915_PMU_ENGINE_WAIT(I915_ENGINE_CLASS_VIDEO, 0), + I915_PMU_ENGINE_SEMA(I915_ENGINE_CLASS_VIDEO, 0), + /* 2nd VDBOX metrics */ + I915_PMU_ENGINE_BUSY(I915_ENGINE_CLASS_VIDEO, 1), + I915_PMU_ENGINE_WAIT(I915_ENGINE_CLASS_VIDEO, 1), + I915_PMU_ENGINE_SEMA(I915_ENGINE_CLASS_VIDEO, 1), + /* Blitter metrics */ + I915_PMU_ENGINE_BUSY(I915_ENGINE_CLASS_COPY, 0), + I915_PMU_ENGINE_WAIT(I915_ENGINE_CLASS_COPY, 0), + I915_PMU_ENGINE_SEMA(I915_ENGINE_CLASS_COPY, 0), + /* VEBOX metrics */ + I915_PMU_ENGINE_BUSY(I915_ENGINE_CLASS_VIDEO_ENHANCE, 0), + I915_PMU_ENGINE_WAIT(I915_ENGINE_CLASS_VIDEO_ENHANCE, 0), + I915_PMU_ENGINE_SEMA(I915_ENGINE_CLASS_VIDEO_ENHANCE, 0), + /* Global metrics */ + I915_PMU_ACTUAL_FREQUENCY, + }; + int num_configs = sizeof(configs) / sizeof(configs[0]); + + if (g_ctx.initialized) + return CTT_ERR_ALREADY_INITIALIZED; + + memset(&g_ctx, 0, sizeof(g_ctx)); + g_ctx.sample_period_us = 500 * 1000; + + g_ctx.gem_fd = device ? open(device, O_RDWR) : drmOpenWithType("i915", NULL, DRM_NODE_RENDER); + + if (g_ctx.gem_fd >= 0) { + g_ctx.has_semaphores = has_param(g_ctx.gem_fd, I915_PARAM_HAS_SEMAPHORES); + g_ctx.has_preemption = has_param(g_ctx.gem_fd, I915_SCHEDULER_CAP_PREEMPTION); + } + else + return CTT_ERR_DRIVER_NOT_FOUND; + + if (0 == perf_init(&g_ctx, num_configs, configs)) { + for (unsigned int i = 0; i < g_ctx.pm.num_groups; ++i) { + g_ctx.pm_idx_map[g_ctx.metrics_count] = i; + switch (g_ctx.pm.groups[i].metrics[0].config) { + case I915_PMU_ENGINE_BUSY(I915_ENGINE_CLASS_RENDER, 0): + g_ctx.metrics[g_ctx.metrics_count++] = CTT_USAGE_RENDER; + break; + case I915_PMU_ENGINE_BUSY(I915_ENGINE_CLASS_VIDEO, 0): + g_ctx.metrics[g_ctx.metrics_count++] = CTT_USAGE_VIDEO; + break; + case I915_PMU_ENGINE_BUSY(I915_ENGINE_CLASS_VIDEO, 1): + g_ctx.metrics[g_ctx.metrics_count++] = CTT_USAGE_VIDEO2; + break; + case I915_PMU_ENGINE_BUSY(I915_ENGINE_CLASS_COPY, 0): + g_ctx.metrics[g_ctx.metrics_count++] = CTT_USAGE_BLITTER; + break; + case I915_PMU_ENGINE_BUSY(I915_ENGINE_CLASS_VIDEO_ENHANCE, 0): + g_ctx.metrics[g_ctx.metrics_count++] = CTT_USAGE_VIDEO_ENHANCEMENT; + break; + case I915_PMU_ACTUAL_FREQUENCY: + g_ctx.metrics[g_ctx.metrics_count++] = CTT_AVG_GT_FREQ; + break; + default: + break; // if we are here - that's a bug + } + } + } + + if (!g_ctx.metrics_count) { + return CTT_ERR_DRIVER_NO_INSTRUMENTATION; + } + else { + g_ctx.initialized = true; + return CTT_ERR_NONE; + } +} + +extern "C" void CTTMetrics_PMU_Close() { + if (!g_ctx.initialized) + return; + + if (g_ctx.pm.fd != -1) { + perf_close(&g_ctx.pm); + } + if (g_ctx.gem_fd != -1) { + close(g_ctx.gem_fd); + } + memset(&g_ctx, 0, sizeof(g_ctx)); + g_ctx.initialized = false; +} + +extern "C" cttStatus CTTMetrics_PMU_SetSamplePeriod(unsigned int in_period) { + if (!g_ctx.initialized) + return CTT_ERR_NOT_INITIALIZED; + + if (in_period > 1000 || in_period < 10) + return CTT_ERR_OUT_OF_RANGE; + + g_ctx.sample_period_us = in_period * 1000; + + return CTT_ERR_NONE; +} + +extern "C" cttStatus CTTMetrics_PMU_SetSampleCount(unsigned int in_num) { + if (!g_ctx.initialized) + return CTT_ERR_NOT_INITIALIZED; + + if (in_num > 1000 || in_num < 1) + return CTT_ERR_OUT_OF_RANGE; + + // i915 PMU does not support interrupt sampling, but it supports + // arbitary (any) user space sampling. The above check is just + // to comply to metrics_monitor definition + return CTT_ERR_NONE; +} + +extern "C" cttStatus CTTMetrics_PMU_GetMetricCount(unsigned int *out_count) { + if (!g_ctx.initialized) + return CTT_ERR_NOT_INITIALIZED; + + if (!out_count) + return CTT_ERR_NULL_PTR; + + *out_count = g_ctx.metrics_count; + return CTT_ERR_NONE; +} + +extern "C" cttStatus CTTMetrics_PMU_GetMetricInfo(unsigned int count, cttMetric *out_metric_ids) { + if (!g_ctx.initialized) + return CTT_ERR_NOT_INITIALIZED; + + if (!out_metric_ids) + return CTT_ERR_NULL_PTR; + + if (count > g_ctx.metrics_count) + return CTT_ERR_OUT_OF_RANGE; + + for (unsigned int i = 0; i < g_ctx.metrics_count; ++i) { + out_metric_ids[i] = g_ctx.metrics[i]; + } + + return CTT_ERR_NONE; +} + +extern "C" cttStatus CTTMetrics_PMU_Subscribe(unsigned int count, cttMetric *in_metric_ids) { + if (!g_ctx.initialized) + return CTT_ERR_NOT_INITIALIZED; + + if (!in_metric_ids) + return CTT_ERR_NULL_PTR; + + if (count > g_ctx.metrics_count) + return CTT_ERR_OUT_OF_RANGE; + + unsigned int na_metric_cnt = 0; + for (unsigned int i = 0; i < count; ++i) { + g_ctx.user_idx_map[i] = g_ctx.metrics_count; + + for (unsigned int j = 0; j < g_ctx.metrics_count; ++j) { + if (in_metric_ids[i] == g_ctx.metrics[j]) { + g_ctx.user_idx_map[i] = j; + break; + } + } + if (g_ctx.user_idx_map[i] == g_ctx.metrics_count) + ++na_metric_cnt; + } + + return (na_metric_cnt) ? CTT_WRN_METRIC_UNAVAILABLE : CTT_ERR_NONE; +} + +extern "C" cttStatus CTTMetrics_PMU_GetValue(unsigned int count, float *out_metric_values) { + if (!g_ctx.initialized) + return CTT_ERR_NOT_INITIALIZED; + + if (!out_metric_values) + return CTT_ERR_NULL_PTR; + + if (count > g_ctx.metrics_count) + return CTT_ERR_OUT_OF_RANGE; + + unsigned int metric_idx, pm_metric_idx; + double value; + double time; + + if (g_ctx.pm.num_groups && 0 != perf_read(&g_ctx.pm)) + return CTT_ERR_DRIVER_NO_INSTRUMENTATION; + + usleep(g_ctx.sample_period_us); + + if (g_ctx.pm.num_groups && 0 != perf_read(&g_ctx.pm)) + return CTT_ERR_DRIVER_NO_INSTRUMENTATION; + + metrics_group *group = NULL; + + for (unsigned int i = 0; i < count; ++i) { + metric_idx = g_ctx.user_idx_map[i]; + + if (g_ctx.metrics_count != metric_idx) { + pm_metric_idx = g_ctx.pm_idx_map[metric_idx]; + group = &g_ctx.pm.groups[pm_metric_idx]; + + value = perf_elapsed(&group->metrics[I915_SAMPLE_BUSY]); + time = (double)perf_elapsed_time(&group->metrics[I915_SAMPLE_BUSY]); + + double value_sema = 0, value_wait = 0; + double time_sema = 0, time_wait = 0; + bool is_sema_and_wait_available = + is_engine_config(group->metrics[I915_SAMPLE_BUSY].config) && + (3 == group->num_metrics); + + if (is_sema_and_wait_available) { + value_sema = perf_elapsed(&group->metrics[I915_SAMPLE_SEMA]); + time_sema = (double)perf_elapsed_time(&group->metrics[I915_SAMPLE_SEMA]); + + value_wait = perf_elapsed(&group->metrics[I915_SAMPLE_WAIT]); + time_wait = (double)perf_elapsed_time(&group->metrics[I915_SAMPLE_WAIT]); + } + + if (g_ctx.metrics[metric_idx] == CTT_AVG_GT_FREQ) { + value *= 1000000000; // to compensate time in ns + } + else { + value *= 100; // we need % + value_sema *= 100; + value_wait *= 100; + } + + value /= time; + if (is_sema_and_wait_available) { + value_sema /= time_sema; + value_wait /= time_wait; + // due to sampling nature of sema counter, very frequently we get (sema value) > (busy value) + // and there is no other decisions besides of clamping sema to busy + value_sema = (value_sema > value) ? value : value_sema; + + value -= value_sema + value_wait; // Substract sema and wait from busy metric + } + } + else { + value = 0.0; // not subscribed/unavailable metrics are always idle + } + + out_metric_values[i] = value; + } + + return CTT_ERR_NONE; +} diff --git a/tools/legacy/metrics_monitor/src/cttmetrics_utils.cpp b/tools/legacy/metrics_monitor/src/cttmetrics_utils.cpp new file mode 100644 index 00000000..d5552481 --- /dev/null +++ b/tools/legacy/metrics_monitor/src/cttmetrics_utils.cpp @@ -0,0 +1,115 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "include/cttmetrics_utils.h" + +#include +#include +#include +#include +#include +#include + +char CARD_N[16] = { 0 }; +char CARD[32] = { 0 }; + +int path_gen(char* pdst, size_t sz, const char delim, const char* a, const char* b, const char* c) { + size_t total_len = 2 + strlen(a) + strlen(b) + strlen(c); + + if (total_len >= sz) + return -1; + + while (*a) + *pdst++ = *a++; + *pdst++ = delim; + while (*b) + *pdst++ = *b++; + *pdst++ = delim; + while (*c) + *pdst++ = *c++; + *pdst++ = 0; + + return 0; +} + +// get the string value of property and converts it to integer +static long int get_id_from_file(const char* d_name, const char* property) { + long int id = 0; + char str[16] = { 0 }; + char fname[300] = { 0 }; + + if ((NULL == d_name) || (NULL == property)) + return -1; + + if (path_gen(fname, sizeof(fname) / sizeof(fname[0]), '/', DRM_DIR, d_name, property)) + return -1; + + FILE* file = fopen(fname, "r"); + if (file) { + if (fgets(str, sizeof(str), file)) { + id = strtol(str, NULL, 16); + } + fclose(file); + } + + return id; +} + +/* + check that system has at least one Intel grraphics adapter + support only first adapter +*/ +cttStatus discover_path_to_gpu() { + cttStatus status = CTT_ERR_DRIVER_NOT_FOUND; + long int class_id = 0, vendor_id = 0; + struct stat buffer; + char DRM_CARD[30] = { 0 }; + int i; + for (i = 0; i < 100; i++) { + snprintf(CARD_N, sizeof(CARD_N), "%d", i); + snprintf(CARD, sizeof(CARD), "card%s", CARD_N); + + path_gen(DRM_CARD, sizeof(DRM_CARD) / sizeof(DRM_CARD[0]), '/', DRM_DIR, CARD, ""); + if (lstat(DRM_CARD, &buffer)) + break; + + // device class id + class_id = get_id_from_file(CARD, "device/class"); + + if (PCI_DISPLAY_CONTROLLER_CLASS == (class_id >> 16)) { + // device vendor id + vendor_id = get_id_from_file(CARD, "device/vendor"); + if (vendor_id == INTEL_VENDOR_ID) { + status = CTT_ERR_NONE; + break; + } + } + } + + return status; +} + +int read_freq(int fd) { + size_t nread; + char freq[16]; /* Intel i915 frequencies are in MHZ, so we expect to read 4 digits */ + + if (-1 == fd) + goto error; + + /* jump to the very beginning of the file */ + if (-1 == lseek(fd, 0, SEEK_SET)) + goto error; + + /* read the new frequency value */ + nread = read(fd, freq, sizeof(freq)); + if (nread >= sizeof(freq)) + goto error; + + return atoi(freq); + +error: + return 0; +} diff --git a/tools/legacy/sample_common/CMakeLists.txt b/tools/legacy/sample_common/CMakeLists.txt new file mode 100644 index 00000000..5cf69d34 --- /dev/null +++ b/tools/legacy/sample_common/CMakeLists.txt @@ -0,0 +1,93 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) + +set(TARGET sample_common) + +set(sources "") +list( + APPEND + sources + src/base_allocator.cpp + src/decode_render.cpp + src/mfx_buffering.cpp + src/sysmem_allocator.cpp + src/general_allocator.cpp + src/sample_utils.cpp + src/preset_manager.cpp + src/parameters_dumper.cpp + src/vm/atomic.cpp + src/vm/time.cpp) + +if(UNIX) + list( + APPEND + sources + src/vaapi_utils.cpp + src/vaapi_device.cpp + src/vaapi_allocator.cpp + src/vm/time_linux.cpp + src/vm/atomic_linux.cpp + src/vm/thread_linux.cpp + src/vaapi_utils_drm.cpp) +else() + list( + APPEND + sources + src/d3d11_allocator.cpp + src/d3d11_device.cpp + src/d3d_allocator.cpp + src/vm/thread_windows.cpp + src/d3d_device.cpp) +endif() + +set(CMAKE_POSITION_INDEPENDENT_CODE true) +add_library(${TARGET} STATIC ${sources}) +target_include_directories( + ${TARGET} PUBLIC $) + +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) +endif() + +add_definitions(-DMFX_DEPRECATED_OFF) + +if(POLICY CMP0074) + # ignore warning of VPL_ROOT in find_package search path + cmake_policy(SET CMP0074 OLD) +endif() + +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) + +if(UNIX) + find_package(PkgConfig REQUIRED) + pkg_check_modules(PKG_LIBVA libva libva-drm) + pkg_check_modules(PKG_LIBDRM libdrm) + if(PKG_LIBVA_FOUND) + target_compile_definitions(${TARGET} PUBLIC -DLIBVA_SUPPORT) + target_include_directories(${TARGET} PUBLIC ${PKG_LIBVA_INCLUDE_DIRS}) + else() + message(WARNING "libva not found: building without libVA support") + endif() + if(PKG_LIBDRM_FOUND) + target_compile_definitions(${TARGET} PUBLIC -DLIBVA_DRM_SUPPORT) + target_include_directories(${TARGET} PUBLIC ${PKG_LIBDRM_INCLUDE_DIRS}) + else() + message(WARNING "libva-drm not found: building without libVA DRM support") + endif() + + target_link_libraries(${TARGET} ${CMAKE_DL_LIBS}) + + set(CMAKE_THREAD_PREFER_PTHREAD TRUE) + set(THREADS_PREFER_PTHREAD_FLAG TRUE) + find_package(Threads REQUIRED) + target_link_libraries(${TARGET} Threads::Threads) + +else() + target_compile_definitions(${TARGET} PUBLIC -DMFX_D3D11_SUPPORT) + target_link_libraries(${TARGET} DXGI D3D11 D3D9 DXVA2) +endif() diff --git a/tools/legacy/sample_common/include/abstract_splitter.h b/tools/legacy/sample_common/include/abstract_splitter.h new file mode 100644 index 00000000..12c171f3 --- /dev/null +++ b/tools/legacy/sample_common/include/abstract_splitter.h @@ -0,0 +1,47 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef _ABSTRACT_SPL_H__ +#define _ABSTRACT_SPL_H__ + +#include "vm/strings_defs.h" +#include "vpl/mfxstructures.h" + +enum SliceTypeCode { TYPE_I = 0, TYPE_P = 1, TYPE_B = 2, TYPE_SKIP = 3, TYPE_UNKNOWN = 4 }; + +struct SliceSplitterInfo { + mfxU32 DataOffset; + mfxU32 DataLength; + mfxU32 HeaderLength; + SliceTypeCode SliceType; +}; + +struct FrameSplitterInfo { + SliceSplitterInfo *Slice; // array + mfxU32 SliceNum; + mfxU32 FirstFieldSliceNum; + + mfxU8 *Data; // including data of slices + mfxU32 DataLength; + mfxU64 TimeStamp; +}; + +class AbstractSplitter { +public: + AbstractSplitter() {} + + virtual ~AbstractSplitter() {} + + virtual mfxStatus Reset() = 0; + + virtual mfxStatus GetFrame(mfxBitstream *bs_in, FrameSplitterInfo **frame) = 0; + + virtual mfxStatus PostProcessing(FrameSplitterInfo *frame, mfxU32 sliceNum) = 0; + + virtual void ResetCurrentState() = 0; +}; + +#endif // _ABSTRACT_SPL_H__ diff --git a/tools/legacy/sample_common/include/avc_bitstream.h b/tools/legacy/sample_common/include/avc_bitstream.h new file mode 100644 index 00000000..f0f1bb96 --- /dev/null +++ b/tools/legacy/sample_common/include/avc_bitstream.h @@ -0,0 +1,201 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __AVC_BITSTREAM_H_ +#define __AVC_BITSTREAM_H_ + +#include "avc_headers.h" +#include "avc_structures.h" +#include "vpl/mfxstructures.h" + +namespace ProtectedLibrary { + +#define AVCPeek1Bit(current_data, offset) ((current_data[0] >> (offset)) & 1) + +#define AVCDrop1Bit(current_data, offset) \ + { \ + offset -= 1; \ + if (offset < 0) { \ + offset = 31; \ + current_data += 1; \ + } \ + } + +// NAL unit definitions +enum { NAL_STORAGE_IDC_BITS = 0x60, NAL_UNITTYPE_BITS = 0x1f }; + +class AVCBaseBitstream { +public: + AVCBaseBitstream(); + AVCBaseBitstream(mfxU8 *const pb, const mfxU32 maxsize); + virtual ~AVCBaseBitstream(); + + // Reset the bitstream with new data pointer + void Reset(mfxU8 *const pb, mfxU32 maxsize); + void Reset(mfxU8 *const pb, mfxI32 offset, mfxU32 maxsize); + + inline mfxU32 GetBits(mfxU32 nbits); + + // Read one VLC mfxI32 or mfxU32 value from bitstream + mfxI32 GetVLCElement(bool bIsSigned); + + // Reads one bit from the buffer. + inline mfxU32 Get1Bit(); + + // Check amount of data + bool More_RBSP_Data(); + + inline mfxU32 BytesDecoded(); + + inline mfxU32 BitsDecoded(); + + inline mfxU32 BytesLeft(); + + mfxStatus GetNALUnitType(NAL_Unit_Type &uNALUnitType, mfxU8 &uNALStorageIDC); + void AlignPointerRight(void); + +protected: + mfxU32 *m_pbs; // pointer to the current position of the buffer. + mfxI32 m_bitOffset; // the bit position (0 to 31) in the dword pointed by m_pbs. + mfxU32 *m_pbsBase; // pointer to the first byte of the buffer. + mfxU32 m_maxBsSize; // maximum buffer size in bytes. +}; + +class AVCHeadersBitstream : public AVCBaseBitstream { +public: + AVCHeadersBitstream(); + AVCHeadersBitstream(mfxU8 *const pb, const mfxU32 maxsize); + + // Decode sequence parameter set + mfxStatus GetSequenceParamSet(AVCSeqParamSet *sps); + // Decode sequence parameter set extension + mfxStatus GetSequenceParamSetExtension(AVCSeqParamSetExtension *sps_ex); + + // Decoding picture's parameter set functions + mfxStatus GetPictureParamSetPart1(AVCPicParamSet *pps); + mfxStatus GetPictureParamSetPart2(AVCPicParamSet *pps, const AVCSeqParamSet *sps); + + mfxStatus GetSliceHeaderPart1(AVCSliceHeader *pSliceHeader); + // Decoding slice header functions + mfxStatus GetSliceHeaderPart2(AVCSliceHeader *hdr, // slice header read goes here + const AVCPicParamSet *pps, + const AVCSeqParamSet *sps); // from slice header NAL unit + + mfxStatus GetSliceHeaderPart3(AVCSliceHeader *hdr, // slice header read goes here + PredWeightTable *pPredWeight_L0, // L0 weight table goes here + PredWeightTable *pPredWeight_L1, // L1 weight table goes here + RefPicListReorderInfo *pReorderInfo_L0, + RefPicListReorderInfo *pReorderInfo_L1, + AdaptiveMarkingInfo *pAdaptiveMarkingInfo, + const AVCPicParamSet *pps, + const AVCSeqParamSet *sps, + mfxU8 NALRef_idc); // from slice header NAL unit + + mfxStatus GetNalUnitPrefix(AVCNalExtension *pExt, mfxU32 NALRef_idc); + + mfxI32 GetSEI(const HeaderSet &sps, mfxI32 current_sps, AVCSEIPayLoad *spl); + +private: + mfxStatus GetNalUnitExtension(AVCNalExtension *pExt); + + void GetScalingList4x4(AVCScalingList4x4 *scl, mfxU8 *def, mfxU8 *scl_type); + void GetScalingList8x8(AVCScalingList8x8 *scl, mfxU8 *def, mfxU8 *scl_type); + + mfxI32 GetSEIPayload(const HeaderSet &sps, + mfxI32 current_sps, + AVCSEIPayLoad *spl); + mfxI32 recovery_point(const HeaderSet &sps, + mfxI32 current_sps, + AVCSEIPayLoad *spl); + mfxI32 reserved_sei_message(const HeaderSet &sps, + mfxI32 current_sps, + AVCSEIPayLoad *spl); + + mfxStatus GetVUIParam(AVCSeqParamSet *sps); + mfxStatus GetHRDParam(AVCSeqParamSet *sps); +}; + +void SetDefaultScalingLists(AVCSeqParamSet *sps); + +extern const mfxU32 bits_data[]; + +#define _avcGetBits(current_data, offset, nbits, data) \ + { \ + mfxU32 x; \ + \ + SAMPLE_ASSERT((nbits) > 0 && (nbits) <= 32); \ + SAMPLE_ASSERT(offset >= 0 && offset <= 31); \ + \ + offset -= (nbits); \ + \ + if (offset >= 0) { \ + x = current_data[0] >> (offset + 1); \ + } \ + else { \ + offset += 32; \ + \ + x = current_data[1] >> (offset); \ + x >>= 1; \ + x += current_data[0] << (31 - offset); \ + current_data++; \ + } \ + \ + SAMPLE_ASSERT(offset >= 0 && offset <= 31); \ + \ + (data) = x & bits_data[nbits]; \ + } + +#define avcGetBits1(current_data, offset, data) \ + { \ + data = ((current_data[0] >> (offset)) & 1); \ + offset -= 1; \ + if (offset < 0) { \ + offset = 31; \ + current_data += 1; \ + } \ + } + +#define avcUngetNBits(current_data, offset, nbits) \ + { \ + SAMPLE_ASSERT(offset >= 0 && offset <= 31); \ + \ + offset += (nbits); \ + if (offset > 31) { \ + offset -= 32; \ + current_data--; \ + } \ + \ + SAMPLE_ASSERT(offset >= 0 && offset <= 31); \ + } + +#define avcGetNBits(current_data, offset, nbits, data) \ + _avcGetBits(current_data, offset, nbits, data); + +inline mfxU32 AVCBaseBitstream::GetBits(mfxU32 nbits) { + mfxU32 w, n = nbits; + + avcGetNBits(m_pbs, m_bitOffset, n, w); + return w; +} + +inline mfxU32 AVCBaseBitstream::Get1Bit() { + mfxU32 w; + avcGetBits1(m_pbs, m_bitOffset, w); + return w; + +} // AVCBitstream::Get1Bit() + +inline mfxU32 AVCBaseBitstream::BytesDecoded() { + return static_cast((mfxU8 *)m_pbs - (mfxU8 *)m_pbsBase) + ((31 - m_bitOffset) >> 3); +} + +inline mfxU32 AVCBaseBitstream::BytesLeft() { + return ((mfxI32)m_maxBsSize - (mfxI32)BytesDecoded()); +} + +} // namespace ProtectedLibrary + +#endif // __AVC_BITSTREAM_H_ diff --git a/tools/legacy/sample_common/include/avc_headers.h b/tools/legacy/sample_common/include/avc_headers.h new file mode 100644 index 00000000..23990251 --- /dev/null +++ b/tools/legacy/sample_common/include/avc_headers.h @@ -0,0 +1,122 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __AVC_HEADERS_H +#define __AVC_HEADERS_H + +#include +#include "avc_structures.h" + +namespace ProtectedLibrary { + +template +class HeaderSet { +public: + HeaderSet() : m_currentID(-1) {} + + ~HeaderSet() { + Reset(); + } + + void AddHeader(T* hdr) { + mfxU32 id = hdr->GetID(); + if (id >= m_header.size()) { + m_header.resize(id + 1); + } + + delete m_header[id]; + + m_header[id] = new T(); + *(m_header[id]) = *hdr; + } + + T* GetHeader(mfxU32 id) { + if (id >= m_header.size()) + return 0; + + return m_header[id]; + } + + void RemoveHeader(mfxU32 id) { + if (id >= m_header.size()) + return; + + delete m_header[id]; + m_header[id] = 0; + } + + void RemoveHeader(T* hdr) { + if (!hdr) + return; + + RemoveHeader(hdr->GetID()); + } + + const T* GetHeader(mfxU32 id) const { + if (id >= m_header.size()) + return 0; + + return m_header[id]; + } + + void Reset() { + for (mfxU32 i = 0; i < m_header.size(); i++) { + delete m_header[i]; + m_header[i] = 0; + } + } + + void SetCurrentID(mfxU32 id) { + m_currentID = id; + } + + mfxI32 GetCurrrentID() const { + return m_currentID; + } + + T* GetCurrentHeader() { + if (m_currentID == -1) + return 0; + + return GetHeader(m_currentID); + } + + const T* GetCurrentHeader() const { + if (m_currentID == -1) + return 0; + + return GetHeader(m_currentID); + } + +private: + std::vector m_header; + mfxI32 m_currentID; +}; + +/****************************************************************************************************/ +// Headers stuff +/****************************************************************************************************/ +class AVCHeaders { +public: + void Reset() { + m_SeqParams.Reset(); + m_SeqExParams.Reset(); + m_SeqParamsMvcExt.Reset(); + m_PicParams.Reset(); + m_SEIParams.Reset(); + } + + HeaderSet m_SeqParams; + HeaderSet m_SeqExParams; + HeaderSet m_SeqParamsMvcExt; + HeaderSet m_PicParams; + HeaderSet m_SEIParams; + AVCNalExtension m_nalExtension; +}; + +} //namespace ProtectedLibrary + +#endif // __AVC_HEADERS_H diff --git a/tools/legacy/sample_common/include/avc_nal_spl.h b/tools/legacy/sample_common/include/avc_nal_spl.h new file mode 100644 index 00000000..d54a16fd --- /dev/null +++ b/tools/legacy/sample_common/include/avc_nal_spl.h @@ -0,0 +1,83 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __AVC_NAL_SPL_H +#define __AVC_NAL_SPL_H + +#include +#include "vpl/mfxstructures.h" + +namespace ProtectedLibrary { + +class BytesSwapper { +public: + static void SwapMemory(mfxU8 *pDestination, mfxU32 &nDstSize, mfxU8 *pSource, mfxU32 nSrcSize); +}; + +class StartCodeIterator { +public: + StartCodeIterator(); + + void Reset(); + + mfxI32 Init(mfxBitstream *source); + + void SetSuggestedSize(mfxU32 size); + + mfxI32 CheckNalUnitType(mfxBitstream *source); + + mfxI32 GetNALUnit(mfxBitstream *source, mfxBitstream *destination); + + mfxI32 EndOfStream(mfxBitstream *destination); + +private: + std::vector m_prev; + mfxU32 m_code; + mfxU64 m_pts; + + mfxU8 *m_pSource; + mfxU32 m_nSourceSize; + + mfxU8 *m_pSourceBase; + mfxU32 m_nSourceBaseSize; + + mfxU32 m_suggestedSize; + + mfxI32 FindStartCode(mfxU8 *(&pb), mfxU32 &data_size, mfxI32 &startCodeSize); +}; + +class NALUnitSplitter { +public: + NALUnitSplitter(); + + virtual ~NALUnitSplitter(); + + virtual void Init(); + virtual void Release(); + + virtual mfxI32 CheckNalUnitType(mfxBitstream *source); + virtual mfxI32 GetNalUnits(mfxBitstream *source, mfxBitstream *&destination); + + virtual void Reset(); + + virtual void SetSuggestedSize(mfxU32 size) { + m_pStartCodeIter.SetSuggestedSize(size); + } + +protected: + StartCodeIterator m_pStartCodeIter; + + mfxBitstream m_bitstream; +}; + +void SwapMemoryAndRemovePreventingBytes(mfxU8 *pDestination, + mfxU32 &nDstSize, + mfxU8 *pSource, + mfxU32 nSrcSize); + +} //namespace ProtectedLibrary + +#endif // __AVC_NAL_SPL_H diff --git a/tools/legacy/sample_common/include/avc_spl.h b/tools/legacy/sample_common/include/avc_spl.h new file mode 100644 index 00000000..fabff60f --- /dev/null +++ b/tools/legacy/sample_common/include/avc_spl.h @@ -0,0 +1,123 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef _AVC_SPL_H__ +#define _AVC_SPL_H__ + +#include +#include +#include + +#include "abstract_splitter.h" + +#include "avc_bitstream.h" +#include "avc_headers.h" +#include "avc_nal_spl.h" + +namespace ProtectedLibrary { + +class AVCSlice : public SliceSplitterInfo { +public: + AVCSlice(); + + AVCSliceHeader *GetSliceHeader(); + + bool IsField() const { + return m_sliceHeader.field_pic_flag != 0; + } + + mfxI32 RetrievePicParamSetNumber(mfxU8 *pSource, mfxU32 nSourceSize); + + bool DecodeHeader(mfxU8 *pSource, mfxU32 nSourceSize); + + AVCHeadersBitstream *GetBitStream(void) { + return &m_bitStream; + } + + AVCPicParamSet *m_picParamSet; + AVCSeqParamSet *m_seqParamSet; + AVCSeqParamSet *m_seqParamSetMvcEx; + AVCSeqParamSetExtension *m_seqParamSetEx; + + mfxU64 m_dTime; + +protected: + AVCSliceHeader m_sliceHeader; + AVCHeadersBitstream m_bitStream; + + void Reset(); +}; + +class AVCFrameInfo { +public: + AVCFrameInfo(); + + void Reset(); + + AVCSlice *m_slice; + mfxU32 m_index; +}; + +class AVC_Spl : public AbstractSplitter { +public: + AVC_Spl(); + + virtual ~AVC_Spl(); + + virtual mfxStatus Reset(); + + virtual mfxStatus GetFrame(mfxBitstream *bs_in, FrameSplitterInfo **frame); + + virtual mfxStatus PostProcessing(FrameSplitterInfo *frame, mfxU32 sliceNum); + + void ResetCurrentState(); + +protected: + std::unique_ptr m_pNALSplitter; + + mfxStatus Init(); + + void Close(); + + mfxStatus ProcessNalUnit(mfxI32 nalType, mfxBitstream *destination); + + mfxStatus DecodeHeader(mfxBitstream *nalUnit); + mfxStatus DecodeSEI(mfxBitstream *nalUnit); + AVCSlice *DecodeSliceHeader(mfxBitstream *nalUnit); + mfxStatus AddSlice(AVCSlice *pSlice); + + AVCFrameInfo *GetFreeFrame(); + + mfxU8 *GetMemoryForSwapping(mfxU32 size); + + mfxStatus AddNalUnit(mfxBitstream *nalUnit); + mfxStatus AddSliceNalUnit(mfxBitstream *nalUnit, AVCSlice *pSlice); + bool IsFieldOfOneFrame(AVCFrameInfo *frame, + const AVCSliceHeader *slice1, + const AVCSliceHeader *slice2); + + bool m_WaitForIDR; + + AVCHeaders m_headers; + std::unique_ptr m_AUInfo; + AVCFrameInfo *m_currentInfo; + AVCSlice *m_pLastSlice; + + mfxBitstream *m_lastNalUnit; + + enum { BUFFER_SIZE = 1024 * 1024 }; + + std::vector m_currentFrame; + std::vector m_swappingMemory; + std::list m_slicesStorage; + + std::vector m_slices; + FrameSplitterInfo m_frame; +}; + +} // namespace ProtectedLibrary + +#endif // _AVC_SPL_H__ diff --git a/tools/legacy/sample_common/include/avc_structures.h b/tools/legacy/sample_common/include/avc_structures.h new file mode 100644 index 00000000..aed57e78 --- /dev/null +++ b/tools/legacy/sample_common/include/avc_structures.h @@ -0,0 +1,973 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __AVC_STRUCTURES_H__ +#define __AVC_STRUCTURES_H__ + +#if defined(_WIN32) || defined(_WIN64) + #include +#endif +#include +#include +#include +#include "vpl/mfxstructures.h" + +namespace ProtectedLibrary { + +enum { + AVC_PROFILE_BASELINE = 66, + AVC_PROFILE_MAIN = 77, + AVC_PROFILE_SCALABLE_BASELINE = 83, + AVC_PROFILE_SCALABLE_HIGH = 86, + AVC_PROFILE_EXTENDED = 88, + AVC_PROFILE_HIGH = 100, + AVC_PROFILE_HIGH10 = 110, + AVC_PROFILE_MULTIVIEW_HIGH = 118, + AVC_PROFILE_HIGH422 = 122, + AVC_PROFILE_STEREO_HIGH = 128, + AVC_PROFILE_HIGH444 = 144, + AVC_PROFILE_ADVANCED444_INTRA = 166, + AVC_PROFILE_ADVANCED444 = 188 +}; + +enum { + AVC_LEVEL_1 = 10, + AVC_LEVEL_11 = 11, + AVC_LEVEL_1b = 11, + AVC_LEVEL_12 = 12, + AVC_LEVEL_13 = 13, + + AVC_LEVEL_2 = 20, + AVC_LEVEL_21 = 21, + AVC_LEVEL_22 = 22, + + AVC_LEVEL_3 = 30, + AVC_LEVEL_31 = 31, + AVC_LEVEL_32 = 32, + + AVC_LEVEL_4 = 40, + AVC_LEVEL_41 = 41, + AVC_LEVEL_42 = 42, + + AVC_LEVEL_5 = 50, + AVC_LEVEL_51 = 51, + AVC_LEVEL_MAX = 51, + + AVC_LEVEL_9 = 9 // for SVC profiles +}; + +// Although the standard allows for a minimum width or height of 4, this +// implementation restricts the minimum value to 32. + +enum // Valid QP range +{ AVC_QP_MAX = 51, + AVC_QP_MIN = 0 }; + +enum { + FLD_STRUCTURE = 0, + TOP_FLD_STRUCTURE = 0, + BOTTOM_FLD_STRUCTURE = 1, + FRM_STRUCTURE = 2, + AFRM_STRUCTURE = 3 +}; + +enum DisplayPictureStruct { + DPS_FRAME = 0, + DPS_TOP, // one field + DPS_BOTTOM, // one field + DPS_TOP_BOTTOM, + DPS_BOTTOM_TOP, + DPS_TOP_BOTTOM_TOP, + DPS_BOTTOM_TOP_BOTTOM, + DPS_FRAME_DOUBLING, + DPS_FRAME_TRIPLING +}; + +typedef enum { + NAL_UT_UNSPECIFIED = 0, // Unspecified + NAL_UT_SLICE = 1, // Coded Slice - slice_layer_no_partioning_rbsp + NAL_UT_DPA = 2, // Coded Data partition A - dpa_layer_rbsp + NAL_UT_DPB = 3, // Coded Data partition A - dpa_layer_rbsp + NAL_UT_DPC = 4, // Coded Data partition A - dpa_layer_rbsp + NAL_UT_IDR_SLICE = 5, // Coded Slice of a IDR Picture - slice_layer_no_partioning_rbsp + NAL_UT_SEI = 6, // Supplemental Enhancement Information - sei_rbsp + NAL_UT_SPS = 7, // Sequence Parameter Set - seq_parameter_set_rbsp + NAL_UT_PPS = 8, // Picture Parameter Set - pic_parameter_set_rbsp + NAL_UT_AUD = 9, // Access Unit Delimiter - access_unit_delimiter_rbsp + NAL_END_OF_SEQ = 10, // End of sequence end_of_seq_rbsp() + NAL_END_OF_STREAM = 11, // End of stream end_of_stream_rbsp + NAL_UT_FD = 12, // Filler Data - filler_data_rbsp + NAL_UT_SPS_EX = 13, // Sequence Parameter Set Extension - seq_parameter_set_extension_rbsp + NAL_UNIT_PREFIX = 14, // Prefix NAL unit in scalable extension - prefix_nal_unit_rbsp + NAL_UNIT_SUBSET_SPS = 15, // Subset Sequence Parameter Set - subset_seq_parameter_set_rbsp + NAL_UT_AUXILIARY = 19, // Auxiliary coded picture + NAL_UT_CODED_SLICE_EXTENSION = + 20 // Coded slice in scalable extension - slice_layer_in_scalable_extension_rbsp +} NAL_Unit_Type; + +// Note! The Picture Code Type values below are no longer used in the +// core encoder. It only knows about slice types, and whether or not +// the frame is IDR, Reference or Disposable. See enum above. + +enum EnumSliceCodType // Permitted MB Prediction Types +{ // ------------------------------------ + PREDSLICE = 0, // I (Intra), P (Pred) + BPREDSLICE = 1, // I, P, B (BiPred) + INTRASLICE = 2, // I + S_PREDSLICE = 3, // SP (SPred), I + S_INTRASLICE = 4 // SI (SIntra), I +}; + +typedef enum { + SEI_BUFFERING_PERIOD_TYPE = 0, + SEI_PIC_TIMING_TYPE = 1, + SEI_PAN_SCAN_RECT_TYPE = 2, + SEI_FILLER_TYPE = 3, + SEI_USER_DATA_REGISTERED_TYPE = 4, + SEI_USER_DATA_UNREGISTERED_TYPE = 5, + SEI_RECOVERY_POINT_TYPE = 6, + SEI_DEC_REF_PIC_MARKING_TYPE = 7, + SEI_SPARE_PIC_TYPE = 8, + SEI_SCENE_INFO_TYPE = 9, + SEI_SUB_SEQ_INFO_TYPE = 10, + SEI_SUB_SEQ_LAYER_TYPE = 11, + SEI_SUB_SEQ_TYPE = 12, + SEI_FULL_FRAME_FREEZE_TYPE = 13, + SEI_FULL_FRAME_FREEZE_RELEASE_TYPE = 14, + SEI_FULL_FRAME_SNAPSHOT_TYPE = 15, + SEI_PROGRESSIVE_REF_SEGMENT_START_TYPE = 16, + SEI_PROGRESSIVE_REF_SEGMENT_END_TYPE = 17, + SEI_MOTION_CONSTRAINED_SG_SET_TYPE = 18, + SEI_RESERVED = 19 +} SEI_TYPE; + +#define IS_I_SLICE(SliceType) ((SliceType) == INTRASLICE) +#define IS_P_SLICE(SliceType) ((SliceType) == PREDSLICE || (SliceType) == S_PREDSLICE) +#define IS_B_SLICE(SliceType) ((SliceType) == BPREDSLICE) + +enum { + MAX_NUM_SEQ_PARAM_SETS = 32, + MAX_NUM_PIC_PARAM_SETS = 256, + + MAX_SLICE_NUM = + 128, //INCREASE IF NEEDED OR SET to -1 for adaptive counting (increases memory usage) + MAX_NUM_REF_FRAMES = 32, + + MAX_REF_FRAMES_IN_POC_CYCLE = 256, + + MAX_NUM_SLICE_GROUPS = 8, + MAX_SLICE_GROUP_MAP_TYPE = 6, + + NUM_INTRA_TYPE_ELEMENTS = 16, + + COEFFICIENTS_BUFFER_SIZE = 16 * 51, + + MINIMAL_DATA_SIZE = 4 +}; + +// Possible values for disable_deblocking_filter_idc: +enum DeblockingModes_t { + DEBLOCK_FILTER_ON = 0, + DEBLOCK_FILTER_OFF = 1, + DEBLOCK_FILTER_ON_NO_SLICE_EDGES = 2 +}; + +#pragma pack(1) + +struct AVCScalingList4x4 { + mfxU8 ScalingListCoeffs[16]; +}; + +struct AVCScalingList8x8 { + mfxU8 ScalingListCoeffs[64]; +}; + +struct AVCWholeQPLevelScale4x4 { + mfxI16 LevelScaleCoeffs[88] /*since we do not support 422 and 444*/[16]; +}; +struct AVCWholeQPLevelScale8x8 { + mfxI16 LevelScaleCoeffs[88] /*since we do not support 422 and 444*/[64]; +}; + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Memory class +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +class RefCounter { +public: + RefCounter() : m_refCounter(0) {} + + virtual ~RefCounter() {} + + void IncrementReference() const { + m_refCounter++; + } + + void DecrementReference() { + m_refCounter--; + + if (!m_refCounter) { + Free(); + } + } + + void ResetRefCounter() { + m_refCounter = 0; + } + + mfxU32 GetRefCounter() { + return m_refCounter; + } + +protected: + mutable mfxI32 m_refCounter; + + virtual void Free() {} +}; + +class HeapObject : public RefCounter { +public: + virtual ~HeapObject() {} + + virtual void Reset() {} + + virtual void Free(); +}; + +#pragma pack() + +#pragma pack(16) + +typedef mfxU32 IntraType; + +// Sequence parameter set structure, corresponding to the H.264 bitstream definition. +struct AVCSeqParamSetBase { + mfxU8 profile_idc; // baseline, main, etc. + mfxU8 level_idc; + mfxU8 constrained_set0_flag; + mfxU8 constrained_set1_flag; + mfxU8 constrained_set2_flag; + mfxU8 constrained_set3_flag; + mfxU8 chroma_format_idc; + mfxU8 residual_colour_transform_flag; + mfxU8 bit_depth_luma; + mfxU8 bit_depth_chroma; + mfxU8 qpprime_y_zero_transform_bypass_flag; + mfxU8 type_of_scaling_list_used[8]; + mfxU8 seq_scaling_matrix_present_flag; + AVCScalingList4x4 ScalingLists4x4[6]; + AVCScalingList8x8 ScalingLists8x8[2]; + mfxU8 gaps_in_frame_num_value_allowed_flag; + mfxU8 frame_cropping_flag; + mfxU32 frame_cropping_rect_left_offset; + mfxU32 frame_cropping_rect_right_offset; + mfxU32 frame_cropping_rect_top_offset; + mfxU32 frame_cropping_rect_bottom_offset; + mfxU8 more_than_one_slice_group_allowed_flag; + mfxU8 arbitrary_slice_order_allowed_flag; // If zero, slice order in pictures must + // be in increasing MB address order. + mfxU8 redundant_pictures_allowed_flag; + mfxU8 seq_parameter_set_id; // id of this sequence parameter set + mfxU8 log2_max_frame_num; // Number of bits to hold the frame_num + mfxU8 pic_order_cnt_type; // Picture order counting method + + mfxU8 delta_pic_order_always_zero_flag; // If zero, delta_pic_order_cnt fields are + // present in slice header. + mfxU8 frame_mbs_only_flag; // Nonzero indicates all pictures in sequence + // are coded as frames (not fields). + mfxU8 required_frame_num_update_behavior_flag; + + mfxU8 mb_adaptive_frame_field_flag; // Nonzero indicates frame/field switch + // at macroblock level + mfxU8 direct_8x8_inference_flag; // Direct motion vector derivation method + mfxU8 vui_parameters_present_flag; // Zero indicates default VUI parameters + mfxU32 log2_max_pic_order_cnt_lsb; // Value of MaxPicOrderCntLsb. + mfxI32 offset_for_non_ref_pic; + + mfxI32 offset_for_top_to_bottom_field; // Expected pic order count difference from + // top field to bottom field. + + mfxU32 num_ref_frames_in_pic_order_cnt_cycle; + mfxU32 num_ref_frames; // total number of pics in decoded pic buffer + mfxU32 frame_width_in_mbs; + mfxU32 frame_height_in_mbs; + + // These fields are calculated from values above. They are not written to the bitstream + mfxU32 MaxMbAddress; + mfxU32 MaxPicOrderCntLsb; + // vui part + mfxU8 aspect_ratio_info_present_flag; + mfxU8 aspect_ratio_idc; + mfxU16 sar_width; + mfxU16 sar_height; + mfxU8 overscan_info_present_flag; + mfxU8 overscan_appropriate_flag; + mfxU8 video_signal_type_present_flag; + mfxU8 video_format; + mfxU8 video_full_range_flag; + mfxU8 colour_description_present_flag; + mfxU8 colour_primaries; + mfxU8 transfer_characteristics; + mfxU8 matrix_coefficients; + mfxU8 chroma_loc_info_present_flag; + mfxU8 chroma_sample_loc_type_top_field; + mfxU8 chroma_sample_loc_type_bottom_field; + mfxU8 timing_info_present_flag; + mfxU32 num_units_in_tick; + mfxU32 time_scale; + mfxU8 fixed_frame_rate_flag; + mfxU8 nal_hrd_parameters_present_flag; + mfxU8 vcl_hrd_parameters_present_flag; + mfxU8 low_delay_hrd_flag; + mfxU8 pic_struct_present_flag; + mfxU8 bitstream_restriction_flag; + mfxU8 motion_vectors_over_pic_boundaries_flag; + mfxU8 max_bytes_per_pic_denom; + mfxU8 max_bits_per_mb_denom; + mfxU8 log2_max_mv_length_horizontal; + mfxU8 log2_max_mv_length_vertical; + mfxU8 num_reorder_frames; + mfxU8 max_dec_frame_buffering; + //hrd_parameters + mfxU8 cpb_cnt; + mfxU8 bit_rate_scale; + mfxU8 cpb_size_scale; + mfxU32 bit_rate_value[32]; + mfxU32 cpb_size_value[32]; + mfxU8 cbr_flag[32]; + mfxU8 initial_cpb_removal_delay_length; + mfxU8 cpb_removal_delay_length; + mfxU8 dpb_output_delay_length; + mfxU8 time_offset_length; + + mfxI32 poffset_for_ref_frame[MAX_REF_FRAMES_IN_POC_CYCLE]; // for pic order cnt type 1 + // length num_stored_frames_in_pic_order_cnt_cycle, + void Reset() { + AVCSeqParamSetBase sps = { 0 }; + *this = sps; + } + +}; // AVCSeqParamSetBase + +// Sequence parameter set structure, corresponding to the H.264 bitstream definition. +struct AVCSeqParamSet : public HeapObject, public AVCSeqParamSetBase { + AVCSeqParamSet() : HeapObject(), AVCSeqParamSetBase() { + Reset(); + } + + ~AVCSeqParamSet() {} + + mfxI32 GetID() const { + return seq_parameter_set_id; + } + + virtual void Reset() { + AVCSeqParamSetBase::Reset(); + + seq_parameter_set_id = MAX_NUM_SEQ_PARAM_SETS; + + // set some parameters by default + video_format = 5; // unspecified + video_full_range_flag = 0; + colour_primaries = 2; // unspecified + transfer_characteristics = 2; // unspecified + matrix_coefficients = 2; // unspecified + } +}; // AVCSeqParamSet + +// Sequence parameter set extension structure, corresponding to the H.264 bitstream definition. +struct AVCSeqParamSetExtension { + mfxU8 seq_parameter_set_id; + mfxU8 aux_format_idc; + mfxU8 bit_depth_aux; + mfxU8 alpha_incr_flag; + mfxU8 alpha_opaque_value; + mfxU8 alpha_transparent_value; + mfxU8 additional_extension_flag; + + AVCSeqParamSetExtension() { + Reset(); + } + + virtual void Reset() { + aux_format_idc = 0; + seq_parameter_set_id = MAX_NUM_SEQ_PARAM_SETS; // illegal id + bit_depth_aux = 0; + alpha_incr_flag = 0; + alpha_opaque_value = 0; + alpha_transparent_value = 0; + additional_extension_flag = 0; + } + + mfxI32 GetID() const { + return seq_parameter_set_id; + } + + virtual ~AVCSeqParamSetExtension() {} + +}; // AVCSeqParamSetExtension + +// Picture parameter set structure, corresponding to the H.264 bitstream definition. +struct AVCPicParamSetBase { + // Flexible macroblock order structure, defining the FMO map for a picture + // paramter set. + + struct SliceGroupInfoStruct { + mfxU8 slice_group_map_type; // 0..6 + + // The additional slice group data depends upon map type + union { + // type 0 + mfxU32 run_length[MAX_NUM_SLICE_GROUPS]; + + // type 2 + struct { + mfxU32 top_left[MAX_NUM_SLICE_GROUPS - 1]; + mfxU32 bottom_right[MAX_NUM_SLICE_GROUPS - 1]; + } t1; + + // types 3-5 + struct { + mfxU8 slice_group_change_direction_flag; + mfxU32 slice_group_change_rate; + } t2; + + // type 6 + struct { + mfxU32 pic_size_in_map_units; // number of macroblocks if no field coding + } t3; + }; + + std::vector pSliceGroupIDMap; // Id for each slice group map unit (for t3 struct of) + }; // SliceGroupInfoStruct + + mfxU16 pic_parameter_set_id; // of this picture parameter set + mfxU8 seq_parameter_set_id; // of seq param set used for this pic param set + mfxU8 entropy_coding_mode; // zero: CAVLC, else CABAC + + mfxU8 pic_order_present_flag; // Zero indicates only delta_pic_order_cnt[0] is + // present in slice header; nonzero indicates + // delta_pic_order_cnt[1] is also present. + + mfxU8 weighted_pred_flag; // Nonzero indicates weighted prediction applied to + // P and SP slices + mfxU8 weighted_bipred_idc; // 0: no weighted prediction in B slices + // 1: explicit weighted prediction + // 2: implicit weighted prediction + mfxI8 pic_init_qp; // default QP for I,P,B slices + mfxI8 pic_init_qs; // default QP for SP, SI slices + + mfxI8 chroma_qp_index_offset[2]; // offset to add to QP for chroma + + mfxU8 deblocking_filter_variables_present_flag; // If nonzero, deblock filter params are + // present in the slice header. + mfxU8 constrained_intra_pred_flag; // Nonzero indicates constrained intra mode + + mfxU8 redundant_pic_cnt_present_flag; // Nonzero indicates presence of redundant_pic_cnt + // in slice header + mfxU32 num_slice_groups; // One: no FMO + mfxU32 num_ref_idx_l0_active; // num of ref pics in list 0 used to decode the picture + mfxU32 num_ref_idx_l1_active; // num of ref pics in list 1 used to decode the picture + mfxU8 transform_8x8_mode_flag; + mfxU8 type_of_scaling_list_used[8]; + + AVCScalingList4x4 ScalingLists4x4[6]; + AVCScalingList8x8 ScalingLists8x8[2]; + + // Level Scale addition + AVCWholeQPLevelScale4x4 m_LevelScale4x4[6]; + AVCWholeQPLevelScale8x8 m_LevelScale8x8[2]; + + SliceGroupInfoStruct SliceGroupInfo; // Used only when num_slice_groups > 1 + + void Reset() { + AVCPicParamSetBase pps = { 0 }; + *this = pps; + } +}; // AVCPicParamSet + +// Picture parameter set structure, corresponding to the H.264 bitstream definition. +struct AVCPicParamSet : public HeapObject, public AVCPicParamSetBase { + AVCPicParamSet() : AVCPicParamSetBase() { + Reset(); + } + + void Reset() { + AVCPicParamSetBase::Reset(); + + pic_parameter_set_id = MAX_NUM_PIC_PARAM_SETS; + seq_parameter_set_id = MAX_NUM_SEQ_PARAM_SETS; + num_slice_groups = 0; + SliceGroupInfo.pSliceGroupIDMap.clear(); + } + + ~AVCPicParamSet() {} + + mfxI32 GetID() const { + return pic_parameter_set_id; + } + +}; // H264PicParamSet + +struct RefPicListReorderInfo { + mfxU32 num_entries; // number of currently valid idc,value pairs + mfxU8 reordering_of_pic_nums_idc[MAX_NUM_REF_FRAMES]; + mfxU32 reorder_value[MAX_NUM_REF_FRAMES]; // abs_diff_pic_num or long_term_pic_num +}; + +struct AdaptiveMarkingInfo { + mfxU32 num_entries; // number of currently valid mmco,value pairs + mfxU8 mmco[MAX_NUM_REF_FRAMES]; // memory management control operation id + mfxU32 value[MAX_NUM_REF_FRAMES * 2]; // operation-dependent data, max 2 per operation +}; + +struct PredWeightTable { + mfxU8 luma_weight_flag; // nonzero: luma weight and offset in bitstream + mfxU8 chroma_weight_flag; // nonzero: chroma weight and offset in bitstream + mfxI8 luma_weight; // luma weighting factor + mfxI8 luma_offset; // luma weighting offset + mfxI8 chroma_weight[2]; // chroma weighting factor (Cb,Cr) + mfxI8 chroma_offset[2]; // chroma weighting offset (Cb,Cr) +}; // PredWeightTable + +typedef mfxI32 AVCDecoderMBAddr; +// NAL unit SVC extension structure +struct AVCNalSvcExtension { + mfxU8 idr_flag; + mfxU8 priority_id; + mfxU8 no_inter_layer_pred_flag; + mfxU8 dependency_id; + mfxU8 quality_id; + mfxU8 temporal_id; + mfxU8 use_ref_base_pic_flag; + mfxU8 discardable_flag; + mfxU8 output_flag; + + mfxU8 store_ref_base_pic_flag; + mfxU8 adaptive_ref_base_pic_marking_mode_flag; + AdaptiveMarkingInfo adaptiveMarkingInfo; +}; + +// NAL unit SVC extension structure +struct AVCNalMvcExtension { + mfxU8 non_idr_flag; + mfxU16 priority_id; + // view_id variable is duplicated to the slice header itself + mfxU16 view_id; + mfxU8 temporal_id; + mfxU8 anchor_pic_flag; + mfxU8 inter_view_flag; + + mfxU8 padding[3]; +}; + +// NAL unit extension structure +struct AVCNalExtension { + mfxU8 extension_present; + + // equal to 1 specifies that NAL extension contains SVC related parameters + mfxU8 svc_extension_flag; + + union { + AVCNalSvcExtension svc; + AVCNalMvcExtension mvc; + }; +}; + +// Slice header structure, corresponding to the H.264 bitstream definition. +struct AVCSliceHeader { + // flag equal 1 means that the slice belong to IDR or anchor access unit + mfxU32 IdrPicFlag; + + // specified that NAL unit contains any information accessed from + // the decoding process of other NAL units. + mfxU8 nal_ref_idc; + // specifies the type of RBSP data structure contained in the NAL unit as + // specified in Table 7-1 of h264 standard + NAL_Unit_Type nal_unit_type; + + // NAL unit extension parameters + AVCNalExtension nal_ext; + mfxU32 view_id; + + mfxU16 pic_parameter_set_id; // of pic param set used for this slice + mfxU8 field_pic_flag; // zero: frame picture, else field picture + mfxU8 MbaffFrameFlag; + mfxU8 bottom_field_flag; // zero: top field, else bottom field + mfxU8 direct_spatial_mv_pred_flag; // zero: temporal direct, else spatial direct + mfxU8 num_ref_idx_active_override_flag; // nonzero: use ref_idx_active from slice header + // instead of those from pic param set + mfxU8 no_output_of_prior_pics_flag; // nonzero: remove previously decoded pictures + // from decoded picture buffer + mfxU8 long_term_reference_flag; // How to set MaxLongTermFrameIdx + mfxU32 cabac_init_idc; // CABAC initialization table index (0..2) + mfxU8 adaptive_ref_pic_marking_mode_flag; // Ref pic marking mode of current picture + mfxI32 slice_qp_delta; // to calculate default slice QP + mfxU8 sp_for_switch_flag; // SP slice decoding control + mfxI32 slice_qs_delta; // to calculate default SP,SI slice QS + mfxU32 disable_deblocking_filter_idc; // deblock filter control, 0=filter all edges + mfxI32 slice_alpha_c0_offset; // deblock filter c0, alpha table offset + mfxI32 slice_beta_offset; // deblock filter beta table offset + AVCDecoderMBAddr first_mb_in_slice; + mfxI32 frame_num; + EnumSliceCodType slice_type; + mfxU32 idr_pic_id; // ID of an IDR picture + mfxI32 pic_order_cnt_lsb; // picture order count (mod MaxPicOrderCntLsb) + mfxI32 delta_pic_order_cnt_bottom; // Pic order count difference, top & bottom fields + mfxU32 difference_of_pic_nums; // Ref pic memory mgmt + mfxU32 long_term_pic_num; // Ref pic memory mgmt + mfxU32 long_term_frame_idx; // Ref pic memory mgmt + mfxU32 max_long_term_frame_idx; // Ref pic memory mgmt + mfxI32 delta_pic_order_cnt[2]; // picture order count differences + mfxU32 redundant_pic_cnt; // for redundant slices + mfxI32 num_ref_idx_l0_active; // num of ref pics in list 0 used to decode the slice, + // see num_ref_idx_active_override_flag + mfxI32 num_ref_idx_l1_active; // num of ref pics in list 1 used to decode the slice + // see num_ref_idx_active_override_flag + mfxU32 slice_group_change_cycle; // for FMO + mfxU8 luma_log2_weight_denom; // luma weighting denominator + mfxU8 chroma_log2_weight_denom; // chroma weighting denominator + + bool is_auxiliary; +}; // AVCSliceHeader + +struct AVCSEIPayLoadBase { + SEI_TYPE payLoadType; + mfxU32 payLoadSize; + + union SEIMessages { + struct BufferingPeriod { + mfxU32 initial_cbp_removal_delay[2][16]; + mfxU32 initial_cbp_removal_delay_offset[2][16]; + } buffering_period; + + struct PicTiming { + mfxU32 cbp_removal_delay; + mfxU32 dpb_ouput_delay; + DisplayPictureStruct pic_struct; + mfxU8 clock_timestamp_flag[16]; + struct ClockTimestamps { + mfxU8 ct_type; + mfxU8 nunit_field_based_flag; + mfxU8 counting_type; + mfxU8 full_timestamp_flag; + mfxU8 discontinuity_flag; + mfxU8 cnt_dropped_flag; + mfxU8 n_frames; + mfxU8 seconds_value; + mfxU8 minutes_value; + mfxU8 hours_value; + mfxU8 time_offset; + } clock_timestamps[16]; + } pic_timing; + + struct PanScanRect { + mfxU8 pan_scan_rect_id; + mfxU8 pan_scan_rect_cancel_flag; + mfxU8 pan_scan_cnt; + mfxU32 pan_scan_rect_left_offset[32]; + mfxU32 pan_scan_rect_right_offset[32]; + mfxU32 pan_scan_rect_top_offset[32]; + mfxU32 pan_scan_rect_bottom_offset[32]; + mfxU8 pan_scan_rect_repetition_period; + } pan_scan_rect; + + struct UserDataRegistered { + mfxU8 itu_t_t35_country_code; + mfxU8 itu_t_t35_country_code_extension_byte; + } user_data_registered; + + struct RecoveryPoint { + mfxU8 recovery_frame_cnt; + mfxU8 exact_match_flag; + mfxU8 broken_link_flag; + mfxU8 changing_slice_group_idc; + } recovery_point; + + struct DecRefPicMarkingRepetition { + mfxU8 original_idr_flag; + mfxU8 original_frame_num; + mfxU8 original_field_pic_flag; + mfxU8 original_bottom_field_flag; + mfxU8 long_term_reference_flag; + AdaptiveMarkingInfo adaptiveMarkingInfo; + } dec_ref_pic_marking_repetition; + + struct SparePic { + mfxU32 target_frame_num; + mfxU8 spare_field_flag; + mfxU8 target_bottom_field_flag; + mfxU8 num_spare_pics; + mfxU8 delta_spare_frame_num[16]; + mfxU8 spare_bottom_field_flag[16]; + mfxU8 spare_area_idc[16]; + mfxU8 *spare_unit_flag[16]; + mfxU8 *zero_run_length[16]; + } spare_pic; + + struct SceneInfo { + mfxU8 scene_info_present_flag; + mfxU8 scene_id; + mfxU8 scene_transition_type; + mfxU8 second_scene_id; + } scene_info; + + struct SubSeqInfo { + mfxU8 sub_seq_layer_num; + mfxU8 sub_seq_id; + mfxU8 first_ref_pic_flag; + mfxU8 leading_non_ref_pic_flag; + mfxU8 last_pic_flag; + mfxU8 sub_seq_frame_num_flag; + mfxU8 sub_seq_frame_num; + } sub_seq_info; + + struct SubSeqLayerCharacteristics { + mfxU8 num_sub_seq_layers; + mfxU8 accurate_statistics_flag[16]; + mfxU16 average_bit_rate[16]; + mfxU16 average_frame_rate[16]; + } sub_seq_layer_characteristics; + + struct SubSeqCharacteristics { + mfxU8 sub_seq_layer_num; + mfxU8 sub_seq_id; + mfxU8 duration_flag; + mfxU8 sub_seq_duration; + mfxU8 average_rate_flag; + mfxU8 accurate_statistics_flag; + mfxU16 average_bit_rate; + mfxU16 average_frame_rate; + mfxU8 num_referenced_subseqs; + mfxU8 ref_sub_seq_layer_num[16]; + mfxU8 ref_sub_seq_id[16]; + mfxU8 ref_sub_seq_direction[16]; + } sub_seq_characteristics; + + struct FullFrameFreeze { + mfxU32 full_frame_freeze_repetition_period; + } full_frame_freeze; + + struct FullFrameSnapshot { + mfxU8 snapshot_id; + } full_frame_snapshot; + + struct ProgressiveRefinementSegmentStart { + mfxU8 progressive_refinement_id; + mfxU8 num_refinement_steps; + } progressive_refinement_segment_start; + + struct MotionConstrainedSliceGroupSet { + mfxU8 num_slice_groups_in_set; + mfxU8 slice_group_id[8]; + mfxU8 exact_sample_value_match_flag; + mfxU8 pan_scan_rect_flag; + mfxU8 pan_scan_rect_id; + } motion_constrained_slice_group_set; + + struct FilmGrainCharacteristics { + mfxU8 film_grain_characteristics_cancel_flag; + mfxU8 model_id; + mfxU8 separate_colour_description_present_flag; + mfxU8 film_grain_bit_depth_luma; + mfxU8 film_grain_bit_depth_chroma; + mfxU8 film_grain_full_range_flag; + mfxU8 film_grain_colour_primaries; + mfxU8 film_grain_transfer_characteristics; + mfxU8 film_grain_matrix_coefficients; + mfxU8 blending_mode_id; + mfxU8 log2_scale_factor; + mfxU8 comp_model_present_flag[3]; + mfxU8 num_intensity_intervals[3]; + mfxU8 num_model_values[3]; + mfxU8 intensity_interval_lower_bound[3][256]; + mfxU8 intensity_interval_upper_bound[3][256]; + mfxU8 comp_model_value[3][3][256]; + mfxU8 film_grain_characteristics_repetition_period; + } film_grain_characteristics; + + struct DeblockingFilterDisplayPreference { + mfxU8 deblocking_display_preference_cancel_flag; + mfxU8 display_prior_to_deblocking_preferred_flag; + mfxU8 dec_frame_buffering_constraint_flag; + mfxU8 deblocking_display_preference_repetition_period; + } deblocking_filter_display_preference; + + struct StereoVideoInfo { + mfxU8 field_views_flag; + mfxU8 top_field_is_left_view_flag; + mfxU8 current_frame_is_left_view_flag; + mfxU8 next_frame_is_second_view_flag; + mfxU8 left_view_self_contained_flag; + mfxU8 right_view_self_contained_flag; + } stereo_video_info; + + } SEI_messages; + + void Reset() { + payLoadType = SEI_RESERVED; + payLoadSize = 0; + SEI_messages = { 0 }; + } +}; + +struct AVCSEIPayLoad : public HeapObject, public AVCSEIPayLoadBase { + std::vector user_data; // for UserDataRegistered or UserDataUnRegistered + + AVCSEIPayLoad() : AVCSEIPayLoadBase() {} + + virtual void Reset() { + AVCSEIPayLoadBase::Reset(); + user_data.clear(); + } + + mfxI32 GetID() const { + return payLoadType; + } +}; + +#pragma pack() + +// This file defines some data structures and constants used by the decoder, +// that are also needed by other classes, such as post filters and +// error concealment. + +#define INTERP_FACTOR 4 +#define INTERP_SHIFT 2 + +#define CHROMA_INTERP_FACTOR 8 +#define CHROMA_INTERP_SHIFT 3 + +// at picture edge, clip motion vectors to only this far beyond the edge, +// in pixel units. +#define D_MV_CLIP_LIMIT 19 + +enum Direction_t { + D_DIR_FWD = 0, + D_DIR_BWD = 1, + D_DIR_BIDIR = 2, + D_DIR_DIRECT = 3, + D_DIR_DIRECT_SPATIAL_FWD = 4, + D_DIR_DIRECT_SPATIAL_BWD = 5, + D_DIR_DIRECT_SPATIAL_BIDIR = 6 +}; + +inline bool IsForwardOnly(mfxI32 direction) { + return (direction == D_DIR_FWD) || (direction == D_DIR_DIRECT_SPATIAL_FWD); +} + +inline bool IsHaveForward(mfxI32 direction) { + return (direction == D_DIR_FWD) || (direction == D_DIR_BIDIR) || + (direction == D_DIR_DIRECT_SPATIAL_FWD) || (direction == D_DIR_DIRECT_SPATIAL_BIDIR) || + (direction == D_DIR_DIRECT); +} + +inline bool IsBackwardOnly(mfxI32 direction) { + return (direction == D_DIR_BWD) || (direction == D_DIR_DIRECT_SPATIAL_BWD); +} + +inline bool IsHaveBackward(mfxI32 direction) { + return (direction == D_DIR_BWD) || (direction == D_DIR_BIDIR) || + (direction == D_DIR_DIRECT_SPATIAL_BWD) || (direction == D_DIR_DIRECT_SPATIAL_BIDIR) || + (direction == D_DIR_DIRECT); +} + +inline bool IsBidirOnly(mfxI32 direction) { + return (direction == D_DIR_BIDIR) || (direction == D_DIR_DIRECT_SPATIAL_BIDIR) || + (direction == D_DIR_DIRECT); +} + +// Warning: If these bit defines change, also need to change same +// defines and related code in sresidual.s. +enum CBP { + D_CBP_LUMA_DC = 0x00001, + D_CBP_LUMA_AC = 0x1fffe, + + D_CBP_CHROMA_DC = 0x00001, + D_CBP_CHROMA_AC = 0x1fffe, + D_CBP_CHROMA_AC_420 = 0x0001e, + D_CBP_CHROMA_AC_422 = 0x001fe, + D_CBP_CHROMA_AC_444 = 0x1fffe, + + D_CBP_1ST_LUMA_AC_BITPOS = 1, + D_CBP_1ST_CHROMA_DC_BITPOS = 17, + D_CBP_1ST_CHROMA_AC_BITPOS = 19 +}; + +enum { FIRST_DC_LUMA = 0, FIRST_AC_LUMA = 1, FIRST_DC_CHROMA = 17, FIRST_AC_CHROMA = 19 }; + +enum { CHROMA_FORMAT_400 = 0, CHROMA_FORMAT_420 = 1, CHROMA_FORMAT_422 = 2, CHROMA_FORMAT_444 = 3 }; + +class AVC_exception { +public: + AVC_exception(mfxI32 status = -1) : m_Status(status) {} + + virtual ~AVC_exception() {} + + mfxI32 GetStatus() const { + return m_Status; + } + +private: + mfxI32 m_Status; +}; + +#pragma pack(1) + +extern mfxI32 lock_failed; + +#pragma pack() + +template +inline T *AVC_new_array_throw(mfxI32 size) { + T *t = new T[size]; + if (!t) + throw AVC_exception(MFX_ERR_MEMORY_ALLOC); + return t; +} + +template +inline T *AVC_new_throw() { + T *t = new T(); + if (!t) + throw AVC_exception(MFX_ERR_MEMORY_ALLOC); + return t; +} + +template +inline T *AVC_new_throw_1(T1 t1) { + T *t = new T(t1); + if (!t) + throw AVC_exception(MFX_ERR_MEMORY_ALLOC); + return t; +} + +inline mfxU32 CalculateSuggestedSize(const AVCSeqParamSet *sps) { + mfxU32 base_size = sps->frame_width_in_mbs * sps->frame_height_in_mbs * 256; + mfxU32 size = 0; + + switch (sps->chroma_format_idc) { + case 0: // YUV400 + size = base_size; + break; + case 1: // YUV420 + size = (base_size * 3) / 2; + break; + case 2: // YUV422 + size = base_size + base_size; + break; + case 3: // YUV444 + size = base_size + base_size + base_size; + break; + }; + + return size; +} + +#define SAMPLE_ASSERT(x) + +} // namespace ProtectedLibrary + +#endif // __AVC_STRUCTURES_H__ diff --git a/tools/legacy/sample_common/include/base_allocator.h b/tools/legacy/sample_common/include/base_allocator.h new file mode 100644 index 00000000..667ce6a9 --- /dev/null +++ b/tools/legacy/sample_common/include/base_allocator.h @@ -0,0 +1,210 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __BASE_ALLOCATOR_H__ +#define __BASE_ALLOCATOR_H__ + +#include +#include +#include +#include +#include +#include "vpl/mfxvideo.h" + +struct mfxAllocatorParams { + virtual ~mfxAllocatorParams(){}; +}; + +// this class implements methods declared in mfxFrameAllocator structure +// simply redirecting them to virtual methods which should be overridden in derived classes +class MFXFrameAllocator : public mfxFrameAllocator { +public: + MFXFrameAllocator(); + virtual ~MFXFrameAllocator(); + + // optional method, override if need to pass some parameters to allocator from application + virtual mfxStatus Init(mfxAllocatorParams *pParams) = 0; + virtual mfxStatus Close() = 0; + + virtual mfxStatus AllocFrames(mfxFrameAllocRequest *request, + mfxFrameAllocResponse *response) = 0; + virtual mfxStatus ReallocFrame(mfxMemId midIn, + const mfxFrameInfo *info, + mfxU16 memType, + mfxMemId *midOut) = 0; + virtual mfxStatus LockFrame(mfxMemId mid, mfxFrameData *ptr) = 0; + virtual mfxStatus UnlockFrame(mfxMemId mid, mfxFrameData *ptr) = 0; + virtual mfxStatus GetFrameHDL(mfxMemId mid, mfxHDL *handle) = 0; + virtual mfxStatus FreeFrames(mfxFrameAllocResponse *response) = 0; + +private: + static mfxStatus MFX_CDECL Alloc_(mfxHDL pthis, + mfxFrameAllocRequest *request, + mfxFrameAllocResponse *response); + static mfxStatus MFX_CDECL Lock_(mfxHDL pthis, mfxMemId mid, mfxFrameData *ptr); + static mfxStatus MFX_CDECL Unlock_(mfxHDL pthis, mfxMemId mid, mfxFrameData *ptr); + static mfxStatus MFX_CDECL GetHDL_(mfxHDL pthis, mfxMemId mid, mfxHDL *handle); + static mfxStatus MFX_CDECL Free_(mfxHDL pthis, mfxFrameAllocResponse *response); +}; + +// This class implements basic logic of memory allocator +// Manages responses for different components according to allocation request type +// External frames of a particular component-related type are allocated in one call +// Further calls return previously allocated response. +// Ex. Preallocated frame chain with type=FROM_ENCODE | FROM_VPPIN will be returned when +// request type contains either FROM_ENCODE or FROM_VPPIN + +// This class does not allocate any actual memory + +class BaseFrameAllocator : public MFXFrameAllocator { +public: + BaseFrameAllocator(); + virtual ~BaseFrameAllocator(); + + virtual mfxStatus Init(mfxAllocatorParams *pParams) = 0; + virtual mfxStatus Close(); + virtual mfxStatus AllocFrames(mfxFrameAllocRequest *request, mfxFrameAllocResponse *response); + virtual mfxStatus ReallocFrame(mfxMemId midIn, + const mfxFrameInfo *info, + mfxU16 memType, + mfxMemId *midOut); + virtual mfxStatus FreeFrames(mfxFrameAllocResponse *response); + +protected: + std::mutex mtx; + typedef std::list::iterator Iter; + static const mfxU32 MEMTYPE_FROM_MASK = MFX_MEMTYPE_FROM_ENCODE | MFX_MEMTYPE_FROM_DECODE | + MFX_MEMTYPE_FROM_VPPIN | MFX_MEMTYPE_FROM_VPPOUT | + MFX_MEMTYPE_FROM_ENC | MFX_MEMTYPE_FROM_PAK; + + static const mfxU32 MEMTYPE_FROM_MASK_INT_EXT = + MEMTYPE_FROM_MASK | MFX_MEMTYPE_INTERNAL_FRAME | MFX_MEMTYPE_EXTERNAL_FRAME; + + struct UniqueResponse { + mfxFrameAllocResponse m_resp; + mfxU16 m_width; + mfxU16 m_height; + mfxU32 m_refCount; + mfxU16 m_type; + + UniqueResponse() : m_resp({ 0 }), m_width(0), m_height(0), m_refCount(0), m_type(0) {} + + // compare responses by actual frame size, alignment (w and h) is up to application + UniqueResponse(const mfxFrameAllocResponse &response, + mfxU16 width, + mfxU16 height, + mfxU16 type) + : m_resp(response), + m_width(width), + m_height(height), + m_refCount(1), + m_type(type) {} + + //compare by resolution (and memory type for FEI ENC / PAK) + bool operator()(const UniqueResponse &response) const { + if (m_width <= response.m_width && m_height <= response.m_height) { + // For FEI ENC and PAK we need to distinguish between INTERNAL and EXTERNAL frames + + if (m_type & response.m_type & (MFX_MEMTYPE_FROM_ENC | MFX_MEMTYPE_FROM_PAK)) { + return !!((m_type & response.m_type) & 0x000f); + } + else { + return !!(m_type & response.m_type & MFX_MEMTYPE_FROM_DECODE); + } + } + else { + return false; + } + } + + static mfxU16 CropMemoryTypeToStore(mfxU16 type) { + // Remain INTERNAL / EXTERNAL flag for FEI ENC / PAK + switch (type & 0xf000) { + case MFX_MEMTYPE_FROM_ENC: + case MFX_MEMTYPE_FROM_PAK: + case (MFX_MEMTYPE_FROM_ENC | MFX_MEMTYPE_FROM_PAK): + return type & MEMTYPE_FROM_MASK_INT_EXT; + break; + default: + return type & MEMTYPE_FROM_MASK; + break; + } + } + }; + + std::list m_responses; + std::list m_ExtResponses; + + struct IsSame + : public std::binary_function { + bool operator()(const mfxFrameAllocResponse &l, const mfxFrameAllocResponse &r) const { + return r.mids != 0 && l.mids != 0 && r.mids[0] == l.mids[0] && + r.NumFrameActual == l.NumFrameActual; + } + }; + + struct IsUniqueSame : public std::binary_function { + bool operator()(const mfxFrameAllocResponse &l, const UniqueResponse &r) const { + return r.m_resp.mids != 0 && l.mids != 0 && r.m_resp.mids[0] == l.mids[0] && + r.m_resp.NumFrameActual == l.NumFrameActual; + } + }; + + // checks if request is supported + virtual mfxStatus CheckRequestType(mfxFrameAllocRequest *request); + + // frees memory attached to response + virtual mfxStatus ReleaseResponse(mfxFrameAllocResponse *response) = 0; + // allocates memory + virtual mfxStatus AllocImpl(mfxFrameAllocRequest *request, mfxFrameAllocResponse *response) = 0; + virtual mfxStatus ReallocImpl(mfxMemId midIn, + const mfxFrameInfo *info, + mfxU16 memType, + mfxMemId *midOut) = 0; +}; + +#if (MFX_VERSION < 2000) +class MFXBufferAllocator : public mfxBufferAllocator { +public: + MFXBufferAllocator(); + virtual ~MFXBufferAllocator(); + + virtual mfxStatus AllocBuffer(mfxU32 nbytes, mfxU16 type, mfxMemId *mid) = 0; + virtual mfxStatus LockBuffer(mfxMemId mid, mfxU8 **ptr) = 0; + virtual mfxStatus UnlockBuffer(mfxMemId mid) = 0; + virtual mfxStatus FreeBuffer(mfxMemId mid) = 0; + +private: + static mfxStatus MFX_CDECL Alloc_(mfxHDL pthis, mfxU32 nbytes, mfxU16 type, mfxMemId *mid); + static mfxStatus MFX_CDECL Lock_(mfxHDL pthis, mfxMemId mid, mfxU8 **ptr); + static mfxStatus MFX_CDECL Unlock_(mfxHDL pthis, mfxMemId mid); + static mfxStatus MFX_CDECL Free_(mfxHDL pthis, mfxMemId mid); +}; + +#else +class MFXBufferAllocator { +public: + MFXBufferAllocator(); + virtual ~MFXBufferAllocator(); + + virtual mfxStatus AllocBuffer(mfxU32 nbytes, mfxU16 type, mfxMemId *mid) = 0; + virtual mfxStatus LockBuffer(mfxMemId mid, mfxU8 **ptr) = 0; + virtual mfxStatus UnlockBuffer(mfxMemId mid) = 0; + virtual mfxStatus FreeBuffer(mfxMemId mid) = 0; + mfxHDL pthis; + mfxStatus(MFX_CDECL *Alloc)(mfxHDL pthis, mfxU32 nbytes, mfxU16 type, mfxMemId *mid); + mfxStatus(MFX_CDECL *Lock)(mfxHDL pthis, mfxMemId mid, mfxU8 **ptr); + mfxStatus(MFX_CDECL *Unlock)(mfxHDL pthis, mfxMemId mid); + mfxStatus(MFX_CDECL *Free)(mfxHDL pthis, mfxMemId mid); + +private: + static mfxStatus MFX_CDECL Alloc_(mfxHDL pthis, mfxU32 nbytes, mfxU16 type, mfxMemId *mid); + static mfxStatus MFX_CDECL Lock_(mfxHDL pthis, mfxMemId mid, mfxU8 **ptr); + static mfxStatus MFX_CDECL Unlock_(mfxHDL pthis, mfxMemId mid); + static mfxStatus MFX_CDECL Free_(mfxHDL pthis, mfxMemId mid); +}; +#endif +#endif // __BASE_ALLOCATOR_H__ diff --git a/tools/legacy/sample_common/include/brc_routines.h b/tools/legacy/sample_common/include/brc_routines.h new file mode 100644 index 00000000..6d01bda5 --- /dev/null +++ b/tools/legacy/sample_common/include/brc_routines.h @@ -0,0 +1,395 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include +#include "sample_defs.h" + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +#if (MFX_VERSION >= 1024) + #include "vpl/mfxbrc.h" + + #ifndef __PIPELINE_ENCODE_BRC_H__ + #define __PIPELINE_ENCODE_BRC_H__ + + #define MFX_CHECK_NULL_PTR1(pointer) MSDK_CHECK_POINTER(pointer, MFX_ERR_NULL_PTR); + + #define MFX_CHECK_NULL_PTR2(pointer1, pointer2) \ + MFX_CHECK_NULL_PTR1(pointer1); \ + MFX_CHECK_NULL_PTR1(pointer2); + + #define MFX_CHECK_NULL_PTR3(pointer1, pointer2, pointer3) \ + MFX_CHECK_NULL_PTR2(pointer1, pointer2); \ + MFX_CHECK_NULL_PTR1(pointer3); + + #define MFX_CHECK(cond, error) MSDK_CHECK_NOT_EQUAL(cond, true, error) + #define MFX_CHECK_STS(sts) MFX_CHECK(sts == MFX_ERR_NONE, sts) + +/* +NalHrdConformance | VuiNalHrdParameters | Result +-------------------------------------------------------------- + off any => MFX_BRC_NO_HRD + default off => MFX_BRC_NO_HRD + on off => MFX_BRC_HRD_WEAK + on (or default) on (or default) => MFX_BRC_HRD_STRONG +-------------------------------------------------------------- +*/ +enum : mfxU16 { + MFX_BRC_NO_HRD = 0, + MFX_BRC_HRD_WEAK, // IF HRD CALCULATION IS REQUIRED, BUT NOT WRITTEN TO THE STREAM + MFX_BRC_HRD_STRONG +}; + +class cBRCParams { +public: + mfxU16 rateControlMethod; // CBR or VBR + + mfxU16 HRDConformance; // is HRD compliance needed + mfxU16 bRec; // is Recoding possible + mfxU16 bPanic; // is Panic mode possible + + // HRD params + mfxU32 bufferSizeInBytes; + mfxU32 initialDelayInBytes; + + // Sliding window parameters + mfxU16 WinBRCMaxAvgKbps; + mfxU16 WinBRCSize; + + // RC params + mfxU32 targetbps; + mfxU32 maxbps; + mfxF64 frameRate; + mfxF64 inputBitsPerFrame; + mfxF64 maxInputBitsPerFrame; + mfxU32 maxFrameSizeInBits; + + // Frame size params + mfxU16 width; + mfxU16 height; + mfxU16 chromaFormat; + mfxU16 bitDepthLuma; + + // GOP params + mfxU16 gopPicSize; + mfxU16 gopRefDist; + bool bPyr; + + //BRC accurancy params + mfxF64 fAbPeriodLong; // number on frames to calculate abberation from target frame + mfxF64 fAbPeriodShort; // number on frames to calculate abberation from target frame + mfxF64 dqAbPeriod; // number on frames to calculate abberation from dequant + mfxF64 bAbPeriod; // number of frames to calculate abberation from target bitrate + + //QP parameters + mfxI32 quantOffset; + mfxI32 quantMaxI; + mfxI32 quantMinI; + mfxI32 quantMaxP; + mfxI32 quantMinP; + mfxI32 quantMaxB; + mfxI32 quantMinB; + +public: + cBRCParams() + : rateControlMethod(0), + HRDConformance(MFX_BRC_NO_HRD), + bRec(0), + bPanic(0), + bufferSizeInBytes(0), + initialDelayInBytes(0), + WinBRCMaxAvgKbps(0), + WinBRCSize(0), + targetbps(0), + maxbps(0), + frameRate(0), + inputBitsPerFrame(0), + maxInputBitsPerFrame(0), + maxFrameSizeInBits(0), + width(0), + height(0), + chromaFormat(0), + bitDepthLuma(0), + gopPicSize(0), + gopRefDist(0), + bPyr(0), + fAbPeriodLong(0), + fAbPeriodShort(0), + dqAbPeriod(0), + bAbPeriod(0), + quantOffset(0), + quantMaxI(0), + quantMinI(0), + quantMaxP(0), + quantMinP(0), + quantMaxB(0), + quantMinB(0) {} + + mfxStatus Init(mfxVideoParam* par, bool bFieldMode = false); + mfxStatus GetBRCResetType(mfxVideoParam* par, + bool bNewSequence, + bool& bReset, + bool& bSlidingWindowReset); +}; +class cHRD { +public: + cHRD() + : m_bufFullness(0), + m_prevBufFullness(0), + m_frameNum(0), + m_minFrameSize(0), + m_maxFrameSize(0), + m_underflowQuant(0), + m_overflowQuant(0), + m_buffSizeInBits(0), + m_delayInBits(0), + m_inputBitsPerFrame(0), + m_bCBR(false) {} + + void Init(mfxU32 buffSizeInBytes, mfxU32 delayInBytes, mfxF64 inputBitsPerFrame, bool cbr); + mfxU16 UpdateAndCheckHRD(mfxI32 frameBits, mfxI32 recode, mfxI32 minQuant, mfxI32 maxQuant); + mfxStatus UpdateMinMaxQPForRec(mfxU32 brcSts, mfxI32 qp); + mfxI32 GetTargetSize(mfxU32 brcSts); + mfxI32 GetMaxFrameSize() { + return m_maxFrameSize; + } + mfxI32 GetMinFrameSize() { + return m_minFrameSize; + } + mfxI32 GetMaxQuant() { + return m_overflowQuant - 1; + } + mfxI32 GetMinQuant() { + return m_underflowQuant + 1; + } + mfxF64 GetBufferDiviation(mfxU32 targetBitrate); + +private: + mfxF64 m_bufFullness; + mfxF64 m_prevBufFullness; + mfxI32 m_frameNum; + mfxI32 m_minFrameSize; + mfxI32 m_maxFrameSize; + mfxI32 m_underflowQuant; + mfxI32 m_overflowQuant; + +private: + mfxI32 m_buffSizeInBits; + mfxI32 m_delayInBits; + mfxF64 m_inputBitsPerFrame; + bool m_bCBR; +}; + +struct BRC_Ctx { + mfxI32 QuantI; //currect qp for intra frames + mfxI32 QuantP; //currect qp for P frames + mfxI32 QuantB; //currect qp for B frames + + mfxI32 Quant; // qp for last encoded frame + mfxI32 QuantMin; // qp Min for last encoded frame (is used for recoding) + mfxI32 QuantMax; // qp Max for last encoded frame (is used for recoding) + + bool bToRecode; // last frame is needed in recoding + bool bPanic; // last frame is needed in panic + mfxU32 encOrder; // encoding order of last encoded frame + mfxU32 poc; // poc of last encoded frame + mfxI32 SceneChange; // scene change parameter of last encoded frame + mfxU32 SChPoc; // poc of frame with scene change + mfxU32 LastIEncOrder; // encoded order if last intra frame + mfxU32 LastNonBFrameSize; // encoded frame size of last non B frame (is used for sceneChange) + + mfxF64 fAbLong; // avarage frame size (long period) + mfxF64 fAbShort; // avarage frame size (short period) + mfxF64 dQuantAb; // avarage dequant + mfxF64 totalDiviation; // divation from target bitrate (total) + + mfxF64 + eRate; // eRate of last encoded frame, this parameter is used for scene change calculation + mfxF64 + eRateSH; // eRate of last encoded scene change frame, this parameter is used for scene change calculation +}; +class AVGBitrate { +public: + AVGBitrate(mfxU32 windowSize, mfxU32 maxBitPerFrame, mfxU32 avgBitPerFrame) + : m_maxWinBits(maxBitPerFrame * windowSize), + m_maxWinBitsLim(0), + m_avgBitPerFrame(std::min(avgBitPerFrame, maxBitPerFrame)), + m_currPosInWindow(windowSize - 1), + m_lastFrameOrder(mfxU32(-1)) + + { + windowSize = windowSize > 0 ? windowSize : 1; // kw + m_slidingWindow.resize(windowSize); + for (mfxU32 i = 0; i < windowSize; i++) { + m_slidingWindow[i] = maxBitPerFrame / 3; //initial value to prevent big first frames + } + m_maxWinBitsLim = GetMaxWinBitsLim(); + } + virtual ~AVGBitrate() {} + void UpdateSlidingWindow(mfxU32 sizeInBits, + mfxU32 FrameOrder, + bool bPanic, + bool bSH, + mfxU32 recode) { + mfxU32 windowSize = (mfxU32)m_slidingWindow.size(); + bool bNextFrame = FrameOrder != m_lastFrameOrder; + + if (bNextFrame) { + m_lastFrameOrder = FrameOrder; + m_currPosInWindow = (m_currPosInWindow + 1) % windowSize; + } + m_slidingWindow[m_currPosInWindow] = sizeInBits; + + if (bNextFrame) { + if (bPanic || bSH) { + m_maxWinBitsLim = + mfx::clamp((GetLastFrameBits(windowSize, false) + m_maxWinBits) / 2, + GetMaxWinBitsLim(), + m_maxWinBits); + } + else { + if (recode) { + m_maxWinBitsLim = + mfx::clamp(GetLastFrameBits(windowSize, false) + GetStep() / 2, + m_maxWinBitsLim, + m_maxWinBits); + } + else if ((m_maxWinBitsLim > GetMaxWinBitsLim() + GetStep()) && + (m_maxWinBitsLim - GetStep() > + (GetLastFrameBits(windowSize - 1, false) + sizeInBits))) + m_maxWinBitsLim -= GetStep(); + } + } + } + mfxU32 GetMaxFrameSize(bool bPanic, bool bSH, mfxU32 recode) { + mfxU32 winBits = GetLastFrameBits(GetWindowSize() - 1, !bPanic); + + mfxU32 maxWinBitsLim = m_maxWinBitsLim; + if (bSH) + maxWinBitsLim = (m_maxWinBits + m_maxWinBitsLim) / 2; + if (bPanic) + maxWinBitsLim = m_maxWinBits; + maxWinBitsLim = std::min(maxWinBitsLim + recode * GetStep() / 2, m_maxWinBits); + + if (winBits >= m_maxWinBitsLim) { + return mfxU32(std::max((mfxI32)m_maxWinBits - (mfxI32)winBits, 1)); + } + else { + return maxWinBitsLim - winBits; + } + } + mfxU32 GetWindowSize() { + return (mfxU32)m_slidingWindow.size(); + } + +protected: + mfxU32 m_maxWinBits; + mfxU32 m_maxWinBitsLim; + mfxU32 m_avgBitPerFrame; + + mfxU32 m_currPosInWindow; + mfxU32 m_lastFrameOrder; + std::vector m_slidingWindow; + + mfxU32 GetLastFrameBits(mfxU32 numFrames, bool bCheckSkip) { + mfxU32 size = 0; + numFrames = numFrames < m_slidingWindow.size() ? numFrames : (mfxU32)m_slidingWindow.size(); + for (mfxU32 i = 0; i < numFrames; i++) { + mfxU32 frame_size = m_slidingWindow[(m_currPosInWindow + m_slidingWindow.size() - i) % + m_slidingWindow.size()]; + if (bCheckSkip && (frame_size < m_avgBitPerFrame / 3)) + frame_size = m_avgBitPerFrame / 3; + size += frame_size; + //printf("GetLastFrames: %d) %d sum %d\n",i,m_slidingWindow[(m_currPosInWindow + m_slidingWindow.size() - i) % m_slidingWindow.size() ], size); + } + return size; + } + mfxU32 GetStep() { + return (m_maxWinBits / GetWindowSize() - m_avgBitPerFrame) / 2; + } + + mfxU32 GetMaxWinBitsLim() { + return m_maxWinBits - GetStep() * GetWindowSize(); + } +}; + +class ExtBRC { +private: + cBRCParams m_par; + cHRD m_hrd; + bool m_bInit; + BRC_Ctx m_ctx; + std::unique_ptr m_avg; + +public: + ExtBRC() : m_par(), m_hrd(), m_bInit(false) { + memset(&m_ctx, 0, sizeof(m_ctx)); + } + mfxStatus Init(mfxVideoParam* par); + mfxStatus Reset(mfxVideoParam* par); + mfxStatus Close() { + m_bInit = false; + return MFX_ERR_NONE; + } + mfxStatus GetFrameCtrl(mfxBRCFrameParam* par, mfxBRCFrameCtrl* ctrl); + mfxStatus Update(mfxBRCFrameParam* par, mfxBRCFrameCtrl* ctrl, mfxBRCFrameStatus* status); + +protected: + mfxI32 GetCurQP(mfxU32 type, mfxI32 layer); +}; + +namespace HEVCExtBRC { +inline mfxStatus Init(mfxHDL pthis, mfxVideoParam* par) { + MFX_CHECK_NULL_PTR1(pthis); + return ((ExtBRC*)pthis)->Init(par); +} +inline mfxStatus Reset(mfxHDL pthis, mfxVideoParam* par) { + MFX_CHECK_NULL_PTR1(pthis); + return ((ExtBRC*)pthis)->Reset(par); +} +inline mfxStatus Close(mfxHDL pthis) { + MFX_CHECK_NULL_PTR1(pthis); + return ((ExtBRC*)pthis)->Close(); +} +inline mfxStatus GetFrameCtrl(mfxHDL pthis, mfxBRCFrameParam* par, mfxBRCFrameCtrl* ctrl) { + MFX_CHECK_NULL_PTR1(pthis); + return ((ExtBRC*)pthis)->GetFrameCtrl(par, ctrl); +} +inline mfxStatus Update(mfxHDL pthis, + mfxBRCFrameParam* par, + mfxBRCFrameCtrl* ctrl, + mfxBRCFrameStatus* status) { + MFX_CHECK_NULL_PTR1(pthis); + return ((ExtBRC*)pthis)->Update(par, ctrl, status); +} +inline mfxStatus Create(mfxExtBRC& m_BRC) { + MFX_CHECK(m_BRC.pthis == NULL, MFX_ERR_UNDEFINED_BEHAVIOR); + m_BRC.pthis = new ExtBRC; + m_BRC.Init = Init; + m_BRC.Reset = Reset; + m_BRC.Close = Close; + m_BRC.GetFrameCtrl = GetFrameCtrl; + m_BRC.Update = Update; + return MFX_ERR_NONE; +} +inline mfxStatus Destroy(mfxExtBRC& m_BRC) { + if (m_BRC.pthis != NULL) { + delete (ExtBRC*)m_BRC.pthis; + m_BRC.pthis = 0; + m_BRC.Init = 0; + m_BRC.Reset = 0; + m_BRC.Close = 0; + m_BRC.GetFrameCtrl = 0; + m_BRC.Update = 0; + } + return MFX_ERR_NONE; +} +} // namespace HEVCExtBRC + #endif + +#endif diff --git a/tools/legacy/sample_common/include/current_date.h b/tools/legacy/sample_common/include/current_date.h new file mode 100644 index 00000000..8261331a --- /dev/null +++ b/tools/legacy/sample_common/include/current_date.h @@ -0,0 +1,14 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#define PRODUCT_NAME "Intel\xae Media SDK" +#define FILE_VERSION 1, 0, 0, 0 +#define FILE_VERSION_STRING "1,0,0,0" +#define FILTER_NAME_PREFIX "" +#define FILTER_NAME_SUFFIX "" +#define PRODUCT_COPYRIGHT "Copyright\xa9 2003-2019 Intel Corporation" +#define PRODUCT_VERSION 1, 0, 0, 0 +#define PRODUCT_VERSION_STRING "1,0,0,0" diff --git a/tools/legacy/sample_common/include/d3d11_allocator.h b/tools/legacy/sample_common/include/d3d11_allocator.h new file mode 100644 index 00000000..0bc493e5 --- /dev/null +++ b/tools/legacy/sample_common/include/d3d11_allocator.h @@ -0,0 +1,218 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __D3D11_ALLOCATOR_H__ +#define __D3D11_ALLOCATOR_H__ + +#include +#include "base_allocator.h" + +#ifdef __gnu_linux__ + #include // for uintptr_t on Linux +#endif + +//application can provide either generic mid from surface or this wrapper +//wrapper distinguishes from generic mid by highest 1 bit +//if it set then remained pointer points to extended structure of memid +//64 bits system layout +/*----+-----------------------------------------------------------+ +|b63=1|63 bits remained for pointer to extended structure of memid| +|b63=0|63 bits from original mfxMemId | ++-----+----------------------------------------------------------*/ +//32 bits system layout +/*--+---+--------------------------------------------+ +|b31=1|31 bits remained for pointer to extended memid| +|b31=0|31 bits remained for surface pointer | ++---+---+-------------------------------------------*/ +//#pragma warning (disable:4293) +class MFXReadWriteMid { + static const uintptr_t bits_offset = std::numeric_limits::digits - 1; + static const uintptr_t clear_mask = ~((uintptr_t)1 << bits_offset); + +public: + enum { + //if flag not set it means that read and write + not_set = 0, + reuse = 1, + read = 2, + write = 4, + }; + //here mfxmemid might be as MFXReadWriteMid or mfxMemId memid + MFXReadWriteMid(mfxMemId mid, mfxU8 flag = not_set) { + //setup mid + m_mid_to_report = (mfxMemId)((uintptr_t)&m_mid | ((uintptr_t)1 << bits_offset)); + if (0 != ((uintptr_t)mid >> bits_offset)) { + //it points to extended structure + mfxMedIdEx *pMemIdExt = reinterpret_cast((uintptr_t)mid & clear_mask); + m_mid.pId = pMemIdExt->pId; + if (reuse == flag) { + m_mid.read_write = pMemIdExt->read_write; + } + else { + m_mid.read_write = flag; + } + } + else { + m_mid.pId = mid; + if (reuse == flag) + m_mid.read_write = not_set; + else + m_mid.read_write = flag; + } + } + bool isRead() const { + return 0 != (m_mid.read_write & read) || !m_mid.read_write; + } + bool isWrite() const { + return 0 != (m_mid.read_write & write) || !m_mid.read_write; + } + /// returns original memid without read write flags + mfxMemId raw() const { + return m_mid.pId; + } + operator mfxMemId() const { + return m_mid_to_report; + } + +private: + struct mfxMedIdEx { + mfxMemId pId; + mfxU8 read_write; + }; + + mfxMedIdEx m_mid; + mfxMemId m_mid_to_report; +}; + +#if (defined(_WIN32) || defined(_WIN64)) + + #include + #include + #include + +struct ID3D11VideoDevice; +struct ID3D11VideoContext; + +struct D3D11AllocatorParams : mfxAllocatorParams { + ID3D11Device *pDevice; + bool bUseSingleTexture; + DWORD uncompressedResourceMiscFlags; + + D3D11AllocatorParams() : pDevice(), bUseSingleTexture(), uncompressedResourceMiscFlags() {} +}; + +class D3D11FrameAllocator : public BaseFrameAllocator { +public: + D3D11FrameAllocator(); + virtual ~D3D11FrameAllocator(); + + virtual mfxStatus Init(mfxAllocatorParams *pParams); + virtual mfxStatus Close(); + virtual ID3D11Device *GetD3D11Device() { + return m_initParams.pDevice; + }; + virtual mfxStatus LockFrame(mfxMemId mid, mfxFrameData *ptr); + virtual mfxStatus UnlockFrame(mfxMemId mid, mfxFrameData *ptr); + virtual mfxStatus GetFrameHDL(mfxMemId mid, mfxHDL *handle); + +protected: + static DXGI_FORMAT ConverColortFormat(mfxU32 fourcc); + virtual mfxStatus CheckRequestType(mfxFrameAllocRequest *request); + virtual mfxStatus ReleaseResponse(mfxFrameAllocResponse *response); + virtual mfxStatus AllocImpl(mfxFrameAllocRequest *request, mfxFrameAllocResponse *response); + virtual mfxStatus ReallocImpl(mfxMemId midIn, + const mfxFrameInfo *info, + mfxU16 memType, + mfxMemId *midOut); + + D3D11AllocatorParams m_initParams; + ID3D11DeviceContext *m_pDeviceContext; + + struct TextureResource { + std::vector outerMids; + std::vector textures; + std::vector stagingTexture; + bool bAlloc; + + TextureResource() : outerMids(), textures(), stagingTexture(), bAlloc(true) {} + + static bool isAllocated(TextureResource &that) { + return that.bAlloc; + } + ID3D11Texture2D *GetTexture(mfxMemId id) { + if (outerMids.empty()) + return NULL; + + return textures[((uintptr_t)id - (uintptr_t)outerMids.front()) % textures.size()]; + } + UINT GetSubResource(mfxMemId id) { + if (outerMids.empty()) + return NULL; + + return (UINT)(((uintptr_t)id - (uintptr_t)outerMids.front()) / textures.size()); + } + void Release() { + size_t i = 0; + for (i = 0; i < textures.size(); i++) { + textures[i]->Release(); + } + textures.clear(); + + for (i = 0; i < stagingTexture.size(); i++) { + stagingTexture[i]->Release(); + } + stagingTexture.clear(); + + //marking texture as deallocated + bAlloc = false; + } + }; + class TextureSubResource { + TextureResource *m_pTarget; + ID3D11Texture2D *m_pTexture; + ID3D11Texture2D *m_pStaging; + UINT m_subResource; + + public: + TextureSubResource(TextureResource *pTarget = NULL, mfxMemId id = 0) + : m_pTarget(pTarget), + m_pTexture(), + m_subResource(), + m_pStaging(NULL) { + if (NULL != m_pTarget && !m_pTarget->outerMids.empty()) { + ptrdiff_t idx = + (uintptr_t)MFXReadWriteMid(id).raw() - (uintptr_t)m_pTarget->outerMids.front(); + m_pTexture = m_pTarget->textures[idx % m_pTarget->textures.size()]; + m_subResource = (UINT)(idx / m_pTarget->textures.size()); + m_pStaging = + m_pTarget->stagingTexture.empty() ? NULL : m_pTarget->stagingTexture[idx]; + } + } + ID3D11Texture2D *GetStaging() const { + return m_pStaging; + } + ID3D11Texture2D *GetTexture() const { + return m_pTexture; + } + UINT GetSubResource() const { + return m_subResource; + } + void Release() { + if (NULL != m_pTarget) + m_pTarget->Release(); + } + }; + + TextureSubResource GetResourceFromMid(mfxMemId); + + std::list m_resourcesByRequest; //each alloc request generates new item in list + + typedef std::list::iterator referenceType; + std::vector m_memIdMap; +}; + +#endif // #if defined(_WIN32) || defined(_WIN64) +#endif // __D3D11_ALLOCATOR_H__ diff --git a/tools/legacy/sample_common/include/d3d11_device.h b/tools/legacy/sample_common/include/d3d11_device.h new file mode 100644 index 00000000..3542b083 --- /dev/null +++ b/tools/legacy/sample_common/include/d3d11_device.h @@ -0,0 +1,72 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#pragma once + +#if defined(_WIN32) || defined(_WIN64) + + #include "sample_defs.h" // defines MFX_D3D11_SUPPORT + + #if MFX_D3D11_SUPPORT + #include + #include + #include + #include "hw_device.h" + + #include + +class CD3D11Device : public CHWDevice { +public: + CD3D11Device(); + virtual ~CD3D11Device(); + virtual mfxStatus Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNum); + virtual mfxStatus Reset(); + virtual mfxStatus GetHandle(mfxHandleType type, mfxHDL* pHdl); + virtual mfxStatus SetHandle(mfxHandleType type, mfxHDL hdl); + virtual mfxStatus RenderFrame(mfxFrameSurface1* pSurface, mfxFrameAllocator* pmfxAlloc); + virtual void UpdateTitle(double /*fps*/) {} + virtual void Close(); + void DefineFormat(bool isA2rgb10) { + m_bIsA2rgb10 = (isA2rgb10) ? TRUE : FALSE; + } + virtual void SetMondelloInput(bool /*isMondelloInputEnabled*/) {} + +protected: + virtual mfxStatus FillSCD(mfxHDL hWindow, DXGI_SWAP_CHAIN_DESC& scd); + virtual mfxStatus FillSCD1(DXGI_SWAP_CHAIN_DESC1& scd); + mfxStatus CreateVideoProcessor(mfxFrameSurface1* pSrf); + + CComPtr m_pD3D11Device; + CComPtr m_pD3D11Ctx; + CComQIPtr m_pDX11VideoDevice; + CComQIPtr m_pVideoContext; + CComPtr m_VideoProcessorEnum; + + CComQIPtr m_pDXGIDev; + CComQIPtr m_pAdapter; + + CComPtr m_pDXGIFactory; + + CComPtr m_pSwapChain; + CComPtr m_pVideoProcessor; + +private: + CComPtr m_pInputViewLeft; + CComPtr m_pInputViewRight; + CComPtr m_pOutputView; + + CComPtr m_pDXGIBackBuffer; + CComPtr m_pTempTexture; + CComPtr m_pDisplayControl; + CComPtr m_pDXGIOutput; + mfxU16 m_nViews; + BOOL m_bDefaultStereoEnabled; + BOOL m_bIsA2rgb10; + HWND m_HandleWindow; +}; + + #endif //#if defined( _WIN32 ) || defined ( _WIN64 ) +#endif //#if MFX_D3D11_SUPPORT diff --git a/tools/legacy/sample_common/include/d3d_allocator.h b/tools/legacy/sample_common/include/d3d_allocator.h new file mode 100644 index 00000000..f2827471 --- /dev/null +++ b/tools/legacy/sample_common/include/d3d_allocator.h @@ -0,0 +1,65 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __D3D_ALLOCATOR_H__ +#define __D3D_ALLOCATOR_H__ + +#if defined(_WIN32) || defined(_WIN64) + + #include + #include + #include + #include + #include "base_allocator.h" + +enum eTypeHandle { DXVA2_PROCESSOR = 0x00, DXVA2_DECODER = 0x01 }; + +struct D3DAllocatorParams : mfxAllocatorParams { + IDirect3DDeviceManager9 *pManager; + DWORD surfaceUsage; + + D3DAllocatorParams() : pManager(), surfaceUsage() {} +}; + +class D3DFrameAllocator : public BaseFrameAllocator { +public: + D3DFrameAllocator(); + virtual ~D3DFrameAllocator(); + + virtual mfxStatus Init(mfxAllocatorParams *pParams); + virtual mfxStatus Close(); + + virtual IDirect3DDeviceManager9 *GetDeviceManager() { + return m_manager; + }; + + virtual mfxStatus LockFrame(mfxMemId mid, mfxFrameData *ptr); + virtual mfxStatus UnlockFrame(mfxMemId mid, mfxFrameData *ptr); + virtual mfxStatus GetFrameHDL(mfxMemId mid, mfxHDL *handle); + +protected: + virtual mfxStatus CheckRequestType(mfxFrameAllocRequest *request); + virtual mfxStatus ReleaseResponse(mfxFrameAllocResponse *response); + virtual mfxStatus AllocImpl(mfxFrameAllocRequest *request, mfxFrameAllocResponse *response); + virtual mfxStatus ReallocImpl(mfxMemId midIn, + const mfxFrameInfo *info, + mfxU16 memType, + mfxMemId *midOut); + + void DeallocateMids(mfxHDLPair **pairs, int n); + + std::vector m_midsAllocated; + + CComPtr m_manager; + CComPtr m_decoderService; + CComPtr m_processorService; + HANDLE m_hDecoder; + HANDLE m_hProcessor; + DWORD m_surfaceUsage; +}; + +#endif // #if defined( _WIN32 ) || defined ( _WIN64 ) +#endif // __D3D_ALLOCATOR_H__ diff --git a/tools/legacy/sample_common/include/d3d_device.h b/tools/legacy/sample_common/include/d3d_device.h new file mode 100644 index 00000000..30824850 --- /dev/null +++ b/tools/legacy/sample_common/include/d3d_device.h @@ -0,0 +1,75 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#pragma once + +#if defined(_WIN32) || defined(_WIN64) + + #include "hw_device.h" + + #pragma warning(disable : 4201) + #include + #include + #include + #include + + #define VIDEO_MAIN_FORMAT D3DFMT_YUY2 + +/** Direct3D 9 device implementation. +@note Device always set D3DPRESENT_PARAMETERS::Windowed to TRUE. +*/ +class CD3D9Device : public CHWDevice { +public: + CD3D9Device(); + virtual ~CD3D9Device(); + + virtual mfxStatus Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNum); + virtual mfxStatus Reset(); + virtual mfxStatus GetHandle(mfxHandleType type, mfxHDL* pHdl); + virtual mfxStatus SetHandle(mfxHandleType type, mfxHDL hdl); + virtual mfxStatus RenderFrame(mfxFrameSurface1* pSurface, mfxFrameAllocator* pmfxAlloc); + virtual void UpdateTitle(double /*fps*/) {} + virtual void Close(); + void DefineFormat(bool isA2rgb10) { + m_bIsA2rgb10 = (isA2rgb10) ? TRUE : FALSE; + } + virtual void SetMondelloInput(bool /*isMondelloInputEnabled*/) {} + +protected: + mfxStatus CreateVideoProcessors(); + bool CheckOverlaySupport(); + virtual mfxStatus FillD3DPP(mfxHDL hWindow, mfxU16 nViews, D3DPRESENT_PARAMETERS& D3DPP); + +private: + IDirect3D9Ex* m_pD3D9; + IDirect3DDevice9Ex* m_pD3DD9; + IDirect3DDeviceManager9* m_pDeviceManager9; + D3DPRESENT_PARAMETERS m_D3DPP; + UINT m_resetToken; + + mfxU16 m_nViews; + + D3DSURFACE_DESC m_backBufferDesc; + + // service required to create video processors + IDirectXVideoProcessorService* m_pDXVAVPS; + //left channel processor + IDirectXVideoProcessor* m_pDXVAVP_Left; + // right channel processor + IDirectXVideoProcessor* m_pDXVAVP_Right; + + // target rectangle + RECT m_targetRect; + + // various structures for DXVA2 calls + DXVA2_VideoDesc m_VideoDesc; + DXVA2_VideoProcessBltParams m_BltParams; + DXVA2_VideoSample m_Sample; + + BOOL m_bIsA2rgb10; +}; + +#endif // #if defined( _WIN32 ) || defined ( _WIN64 ) diff --git a/tools/legacy/sample_common/include/decode_render.h b/tools/legacy/sample_common/include/decode_render.h new file mode 100644 index 00000000..570d7172 --- /dev/null +++ b/tools/legacy/sample_common/include/decode_render.h @@ -0,0 +1,92 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __DECODE_D3D_RENDER_H__ +#define __DECODE_D3D_RENDER_H__ + +#if defined(_WIN32) || defined(_WIN64) + + #pragma warning(disable : 4201) + #include + #include + #include + #include +#endif + +#include "vpl/mfxstructures.h" +#include "vpl/mfxvideo.h" + +#include "hw_device.h" + +typedef void* WindowHandle; +typedef void* Handle; + +#if defined(_WIN32) || defined(_WIN64) + +struct sWindowParams { + LPCTSTR lpClassName; + LPCTSTR lpWindowName; + DWORD dwStyle; + int nx; + int ny; + int ncell; + int nAdapter; + int nWidth; + int nHeight; + HWND hWndParent; + HMENU hMenu; + HINSTANCE hInstance; + LPVOID lpParam; + bool bFullScreen; // Stretch window to full screen +}; + +class CDecodeD3DRender { +public: + CDecodeD3DRender(); + virtual ~CDecodeD3DRender(); + + virtual mfxStatus Init(sWindowParams pWParams); + virtual mfxStatus RenderFrame(mfxFrameSurface1* pSurface, mfxFrameAllocator* pmfxAlloc); + virtual VOID UpdateTitle(double fps); + void Close(); + + HWND GetWindowHandle(); + + VOID OnDestroy(HWND hwnd); + VOID OnKey(HWND hwnd, UINT vk, BOOL fDown, int cRepeat, UINT flags); + VOID ChangeWindowSize(bool bFullScreen); + + void SetHWDevice(CHWDevice* dev) { + m_hwdev = dev; + } + +protected: + void AdjustWindowRect(RECT* rect); + + mfxStatus AllocateShiftedSurfaceIfNeeded(const mfxFrameSurface1* refSurface, + mfxFrameAllocator* allocator); + mfxFrameAllocResponse shiftSurfaceResponse; + mfxFrameSurface1 shiftedSurface; + mfxFrameAllocator* pAllocator; + + CHWDevice* m_hwdev; + + sWindowParams m_sWindowParams; + HWND m_Hwnd; + RECT m_rect; + DWORD m_style; + + bool EnableDwmQueuing(); + static BOOL CALLBACK MonitorEnumProc(HMONITOR, HDC, LPRECT lprcMonitor, LPARAM dwData); + static bool m_bIsMonitorFound; + + bool m_bDwmEnabled; + int m_nMonitorCurrent; + ::RECT m_RectWindow; +}; +#endif // #if defined(_WIN32) || defined(_WIN64) + +#endif // __DECODE_D3D_RENDER_H__ diff --git a/tools/legacy/sample_common/include/general_allocator.h b/tools/legacy/sample_common/include/general_allocator.h new file mode 100644 index 00000000..1e798724 --- /dev/null +++ b/tools/legacy/sample_common/include/general_allocator.h @@ -0,0 +1,51 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __GENERAL_ALLOCATOR_H__ +#define __GENERAL_ALLOCATOR_H__ + +#include "base_allocator.h" +#include "sample_utils.h" + +#include +#include + +class SysMemFrameAllocator; + +// Wrapper on standard allocator for concurrent allocation of +// D3D and system surfaces +class GeneralAllocator : public BaseFrameAllocator { +public: + GeneralAllocator(); + virtual ~GeneralAllocator(); + + virtual mfxStatus Init(mfxAllocatorParams *pParams); + virtual mfxStatus Close(); + +protected: + virtual mfxStatus LockFrame(mfxMemId mid, mfxFrameData *ptr); + virtual mfxStatus UnlockFrame(mfxMemId mid, mfxFrameData *ptr); + virtual mfxStatus GetFrameHDL(mfxMemId mid, mfxHDL *handle); + + virtual mfxStatus ReleaseResponse(mfxFrameAllocResponse *response); + virtual mfxStatus AllocImpl(mfxFrameAllocRequest *request, mfxFrameAllocResponse *response); + virtual mfxStatus ReallocImpl(mfxMemId midIn, + const mfxFrameInfo *info, + mfxU16 memType, + mfxMemId *midOut); + + void StoreFrameMids(bool isD3DFrames, mfxFrameAllocResponse *response); + bool isD3DMid(mfxHDL mid); + + std::map m_Mids; + std::unique_ptr m_D3DAllocator; + std::unique_ptr m_SYSAllocator; + +private: + DISALLOW_COPY_AND_ASSIGN(GeneralAllocator); +}; + +#endif //__GENERAL_ALLOCATOR_H__ diff --git a/tools/legacy/sample_common/include/hw_device.h b/tools/legacy/sample_common/include/hw_device.h new file mode 100644 index 00000000..39091e7f --- /dev/null +++ b/tools/legacy/sample_common/include/hw_device.h @@ -0,0 +1,32 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ +#pragma once + +#include "vpl/mfxvideo++.h" + +/// Base class for hw device +class CHWDevice { +public: + virtual ~CHWDevice() {} + /** Initializes device for requested processing. + @param[in] hWindow Window handle to bundle device to. + @param[in] nViews Number of views to process. + @param[in] nAdapterNum Number of adapter to use + */ + virtual mfxStatus Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNum) = 0; + /// Reset device. + virtual mfxStatus Reset() = 0; + /// Get handle can be used for MFX session SetHandle calls + virtual mfxStatus GetHandle(mfxHandleType type, mfxHDL *pHdl) = 0; + /** Set handle. + Particular device implementation may require other objects to operate. + */ + virtual mfxStatus SetHandle(mfxHandleType type, mfxHDL hdl) = 0; + virtual mfxStatus RenderFrame(mfxFrameSurface1 *pSurface, mfxFrameAllocator *pmfxAlloc) = 0; + virtual void UpdateTitle(double fps) = 0; + virtual void SetMondelloInput(bool isMondelloInputEnabled) = 0; + virtual void Close() = 0; +}; diff --git a/tools/legacy/sample_common/include/intrusive_ptr.h b/tools/legacy/sample_common/include/intrusive_ptr.h new file mode 100644 index 00000000..cbf301db --- /dev/null +++ b/tools/legacy/sample_common/include/intrusive_ptr.h @@ -0,0 +1,47 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#pragma once + +//intrusive ptr concept +//usage examples same as smart pointers except user has to define addref and release routine for that class + +//inline void intrusive_ptr_addref(UserClassA * pResource); +//inline void intrusive_ptr_release(UserClassA * pResource); + +template +class intrusive_ptr { + T* m_pResource; + +public: + intrusive_ptr(T* pResource = NULL) : m_pResource(pResource) { + intrusive_ptr_addref(m_pResource); + } + intrusive_ptr(const intrusive_ptr& rhs) : m_pResource(rhs.m_pResource) { + intrusive_ptr_addref(m_pResource); + } + void reset(T* pResource) { + if (m_pResource) { + intrusive_ptr_release(m_pResource); + } + m_pResource = pResource; + intrusive_ptr_addref(m_pResource); + } + T* operator*() { + return m_pResource; + } + T* operator->() { + return m_pResource; + } + T* get() { + return m_pResource; + } + ~intrusive_ptr() { + if (m_pResource) { + intrusive_ptr_release(m_pResource); + } + } +}; diff --git a/tools/legacy/sample_common/include/mfx_buffering.h b/tools/legacy/sample_common/include/mfx_buffering.h new file mode 100644 index 00000000..8115d73c --- /dev/null +++ b/tools/legacy/sample_common/include/mfx_buffering.h @@ -0,0 +1,377 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __MFX_BUFFERING_H__ +#define __MFX_BUFFERING_H__ + +#include +#include + +#include "vpl/mfxstructures.h" + +#include "vm/atomic_defs.h" +#include "vm/strings_defs.h" +#include "vm/thread_defs.h" +#include "vm/time_defs.h" + +struct msdkFrameSurface { + mfxFrameSurface1 + frame; // NOTE: this _should_ be the first item (see CBuffering::FindUsedSurface()) + msdk_tick submit; // tick when frame was submitted for processing + mfxU16 render_lock; // signifies that frame is locked for rendering + msdkFrameSurface* prev; + msdkFrameSurface* next; +}; + +struct msdkOutputSurface { + msdkFrameSurface* surface; + mfxSyncPoint syncp; + msdkOutputSurface* next; +}; + +/** \brief Debug purpose macro to terminate execution if buggy situation happenned. + * + * Use this macro to check impossible, buggy condition which should not occur under + * normal circumstances. Macro should be used where check in release mode is not + * desirable and atually needed. + */ +#define MSDK_SELF_CHECK(C) + +class CBuffering; + +// LIFO list of frame surfaces +class msdkFreeSurfacesPool { + friend class CBuffering; + +public: + msdkFreeSurfacesPool(std::mutex& mutex) : m_pSurfaces(NULL), m_rMutex(mutex) {} + + ~msdkFreeSurfacesPool() { + m_pSurfaces = NULL; + } + /** \brief The function adds free surface to the free surfaces array. + * + * @note That's caller responsibility to pass valid surface. + * @note We always add and get free surface from the array head. In case not all surfaces + * will be actually used we have good chance to avoid actual allocation of the surface memory. + */ + inline void AddSurface(msdkFrameSurface* surface) { + std::lock_guard lock(m_rMutex); + AddSurfaceUnsafe(surface); + } + /** \brief The function gets the next free surface from the free surfaces array. + * + * @note Surface is detached from the free surfaces array. + */ + inline msdkFrameSurface* GetSurface() { + std::lock_guard lock(m_rMutex); + return GetSurfaceUnsafe(); + } + +private: + inline void AddSurfaceUnsafe(msdkFrameSurface* surface) { + msdkFrameSurface* head; + + MSDK_SELF_CHECK(surface); + MSDK_SELF_CHECK(!surface->prev); + MSDK_SELF_CHECK(!surface->next); + + head = m_pSurfaces; + m_pSurfaces = surface; + m_pSurfaces->next = head; + } + inline msdkFrameSurface* GetSurfaceUnsafe() { + msdkFrameSurface* surface = NULL; + + if (m_pSurfaces) { + surface = m_pSurfaces; + m_pSurfaces = m_pSurfaces->next; + surface->prev = surface->next = NULL; + MSDK_SELF_CHECK(!surface->prev); + MSDK_SELF_CHECK(!surface->next); + } + return surface; + } + +protected: + msdkFrameSurface* m_pSurfaces; + std::mutex& m_rMutex; + +private: + msdkFreeSurfacesPool(const msdkFreeSurfacesPool&); + void operator=(const msdkFreeSurfacesPool&); +}; + +// random access, predicted as FIFO +class msdkUsedSurfacesPool { + friend class CBuffering; + +public: + msdkUsedSurfacesPool(std::mutex& mutex) + : m_pSurfacesHead(NULL), + m_pSurfacesTail(NULL), + m_rMutex(mutex) {} + + ~msdkUsedSurfacesPool() { + m_pSurfacesHead = NULL; + m_pSurfacesTail = NULL; + } + + /** \brief The function adds surface to the used surfaces array (m_pUsedSurfaces). + * + * @note That's caller responsibility to pass valid surface. + * @note We can't actually know which surface will be returned by the decoder or unlocked. However, + * we can make prediction that it will be the oldest surface. Thus, here the function adds new + * surface (youngest) to the tail of the least. Check operations for the list will run starting from + * head. + */ + inline void AddSurface(msdkFrameSurface* surface) { + std::lock_guard lock(m_rMutex); + AddSurfaceUnsafe(surface); + } + + /** \brief The function detaches surface from the used surfaces array. + * + * @note That's caller responsibility to pass valid surface. + */ + + inline void DetachSurface(msdkFrameSurface* surface) { + std::lock_guard lock(m_rMutex); + DetachSurfaceUnsafe(surface); + } + +private: + inline void DetachSurfaceUnsafe(msdkFrameSurface* surface) { + MSDK_SELF_CHECK(surface); + + msdkFrameSurface* prev = surface->prev; + msdkFrameSurface* next = surface->next; + + if (prev) { + prev->next = next; + } + else { + MSDK_SELF_CHECK(surface == m_pSurfacesHead); + m_pSurfacesHead = next; + } + if (next) { + next->prev = prev; + } + else { + MSDK_SELF_CHECK(surface == m_pSurfacesTail); + m_pSurfacesTail = prev; + } + + surface->prev = surface->next = NULL; + MSDK_SELF_CHECK(!surface->prev); + MSDK_SELF_CHECK(!surface->next); + } + inline void AddSurfaceUnsafe(msdkFrameSurface* surface) { + MSDK_SELF_CHECK(surface); + MSDK_SELF_CHECK(!surface->prev); + MSDK_SELF_CHECK(!surface->next); + + surface->prev = m_pSurfacesTail; + surface->next = NULL; + if (m_pSurfacesTail) { + m_pSurfacesTail->next = surface; + m_pSurfacesTail = m_pSurfacesTail->next; + } + else { + m_pSurfacesHead = m_pSurfacesTail = surface; + } + } + +protected: + msdkFrameSurface* m_pSurfacesHead; // oldest surface + msdkFrameSurface* m_pSurfacesTail; // youngest surface + std::mutex& m_rMutex; + +private: + msdkUsedSurfacesPool(const msdkUsedSurfacesPool&); + void operator=(const msdkUsedSurfacesPool&); +}; + +// FIFO list of surfaces +class msdkOutputSurfacesPool { + friend class CBuffering; + +public: + msdkOutputSurfacesPool(std::mutex& mutex) + : m_pSurfacesHead(NULL), + m_pSurfacesTail(NULL), + m_SurfacesCount(0), + m_rMutex(mutex) {} + + ~msdkOutputSurfacesPool() { + m_pSurfacesHead = NULL; + m_pSurfacesTail = NULL; + } + + inline void AddSurface(msdkOutputSurface* surface) { + std::lock_guard lock(m_rMutex); + AddSurfaceUnsafe(surface); + } + inline msdkOutputSurface* GetSurface() { + std::lock_guard lock(m_rMutex); + return GetSurfaceUnsafe(); + } + + inline mfxU32 GetSurfaceCount() { + return m_SurfacesCount; + } + +private: + inline void AddSurfaceUnsafe(msdkOutputSurface* surface) { + MSDK_SELF_CHECK(surface); + MSDK_SELF_CHECK(!surface->next); + surface->next = NULL; + + if (m_pSurfacesTail) { + m_pSurfacesTail->next = surface; + m_pSurfacesTail = m_pSurfacesTail->next; + } + else { + m_pSurfacesHead = m_pSurfacesTail = surface; + } + ++m_SurfacesCount; + } + inline msdkOutputSurface* GetSurfaceUnsafe() { + msdkOutputSurface* surface = NULL; + + if (m_pSurfacesHead) { + surface = m_pSurfacesHead; + m_pSurfacesHead = m_pSurfacesHead->next; + if (!m_pSurfacesHead) { + // there was only one surface in the array... + m_pSurfacesTail = NULL; + } + --m_SurfacesCount; + surface->next = NULL; + MSDK_SELF_CHECK(!surface->next); + } + return surface; + } + +protected: + msdkOutputSurface* m_pSurfacesHead; // oldest surface + msdkOutputSurface* m_pSurfacesTail; // youngest surface + mfxU32 m_SurfacesCount; + std::mutex& m_rMutex; + +private: + msdkOutputSurfacesPool(const msdkOutputSurfacesPool&); + void operator=(const msdkOutputSurfacesPool&); +}; + +/** \brief Helper class defining optimal buffering operations for the Media SDK decoder. + */ +class CBuffering { +public: + CBuffering(); + virtual ~CBuffering(); + +protected: // functions + mfxStatus AllocBuffers(mfxU32 SurfaceNumber); + mfxStatus AllocVppBuffers(mfxU32 VppSurfaceNumber); + void AllocOutputBuffer(); + void FreeBuffers(); + void ResetBuffers(); + void ResetVppBuffers(); + + /** \brief The function syncs arrays of free and used surfaces. + * + * If Media SDK used surface for internal needs and unlocked it, the function moves such a surface + * back to the free surfaces array. + */ + void SyncFrameSurfaces(); + void SyncVppFrameSurfaces(); + + /** \brief Returns surface which corresponds to the given one in Media SDK format (mfxFrameSurface1). + * + * @note This function will not detach the surface from the array, perform this explicitly. + */ + inline msdkFrameSurface* FindUsedSurface(mfxFrameSurface1* frame) { + return (msdkFrameSurface*)(frame); + } + + inline void AddFreeOutputSurfaceUnsafe(msdkOutputSurface* surface) { + msdkOutputSurface* head = m_pFreeOutputSurfaces; + + MSDK_SELF_CHECK(surface); + MSDK_SELF_CHECK(!surface->next); + m_pFreeOutputSurfaces = surface; + m_pFreeOutputSurfaces->next = head; + } + inline void AddFreeOutputSurface(msdkOutputSurface* surface) { + std::lock_guard lock(m_Mutex); + AddFreeOutputSurfaceUnsafe(surface); + } + + inline msdkOutputSurface* GetFreeOutputSurfaceUnsafe(std::unique_lock& lock) { + msdkOutputSurface* surface = NULL; + + if (!m_pFreeOutputSurfaces) { + lock.unlock(); + AllocOutputBuffer(); + lock.lock(); + } + if (m_pFreeOutputSurfaces) { + surface = m_pFreeOutputSurfaces; + m_pFreeOutputSurfaces = m_pFreeOutputSurfaces->next; + surface->next = NULL; + MSDK_SELF_CHECK(!surface->next); + } + return surface; + } + inline msdkOutputSurface* GetFreeOutputSurface() { + std::unique_lock lock(m_Mutex); + return GetFreeOutputSurfaceUnsafe(lock); + } + + /** \brief Function returns surface data to the corresponding buffers. + */ + inline void ReturnSurfaceToBuffers(msdkOutputSurface* output_surface) { + MSDK_SELF_CHECK(output_surface); + MSDK_SELF_CHECK(output_surface->surface); + MSDK_SELF_CHECK(output_surface->syncp); + + msdk_atomic_dec16(&(output_surface->surface->render_lock)); + + output_surface->surface = NULL; + output_surface->syncp = NULL; + + AddFreeOutputSurface(output_surface); + } + +protected: // variables + mfxU32 m_SurfacesNumber; + mfxU32 m_OutputSurfacesNumber; + msdkFrameSurface* m_pSurfaces; + msdkFrameSurface* m_pVppSurfaces; + std::mutex m_Mutex; + + // LIFO list of frame surfaces + msdkFreeSurfacesPool m_FreeSurfacesPool; + msdkFreeSurfacesPool m_FreeVppSurfacesPool; + + // random access, predicted as FIFO + msdkUsedSurfacesPool m_UsedSurfacesPool; + msdkUsedSurfacesPool m_UsedVppSurfacesPool; + + // LIFO list of output surfaces + msdkOutputSurface* m_pFreeOutputSurfaces; + + // FIFO list of surfaces + msdkOutputSurfacesPool m_OutputSurfacesPool; + msdkOutputSurfacesPool m_DeliveredSurfacesPool; + +private: + CBuffering(const CBuffering&); + void operator=(const CBuffering&); +}; + +#endif // __MFX_BUFFERING_H__ diff --git a/tools/legacy/sample_common/include/mfx_itt_trace.h b/tools/legacy/sample_common/include/mfx_itt_trace.h new file mode 100644 index 00000000..5f07380d --- /dev/null +++ b/tools/legacy/sample_common/include/mfx_itt_trace.h @@ -0,0 +1,48 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __MFX_ITT_TRACE_H__ +#define __MFX_ITT_TRACE_H__ + +#ifdef ITT_SUPPORT + #include +#endif + +#ifdef ITT_SUPPORT + +static inline __itt_domain* mfx_itt_get_domain() { + static __itt_domain* domain = NULL; + + if (!domain) + domain = __itt_domain_create("MFX_SAMPLES"); + return domain; +} + +class MFX_ITT_Tracer { +public: + MFX_ITT_Tracer(const char* trace_name) { + m_domain = mfx_itt_get_domain(); + if (m_domain) + __itt_task_begin(m_domain, + __itt_null, + __itt_null, + __itt_string_handle_create(trace_name)); + } + ~MFX_ITT_Tracer() { + if (m_domain) + __itt_task_end(m_domain); + } + +private: + __itt_domain* m_domain; +}; + #define MFX_ITT_TASK(x) MFX_ITT_Tracer __mfx_itt_tracer(x); + +#else + #define MFX_ITT_TASK(x) +#endif + +#endif //__MFX_ITT_TRACE_H__ diff --git a/tools/legacy/sample_common/include/mfx_plugin_base.h b/tools/legacy/sample_common/include/mfx_plugin_base.h new file mode 100644 index 00000000..237a7b0e --- /dev/null +++ b/tools/legacy/sample_common/include/mfx_plugin_base.h @@ -0,0 +1,13 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#pragma once + +#include + +typedef MFXDecoderPlugin* (*mfxCreateDecoderPlugin)(); +typedef MFXEncoderPlugin* (*mfxCreateEncoderPlugin)(); +typedef MFXGenericPlugin* (*mfxCreateGenericPlugin)(); diff --git a/tools/legacy/sample_common/include/mfx_plugin_module.h b/tools/legacy/sample_common/include/mfx_plugin_module.h new file mode 100644 index 00000000..5002f569 --- /dev/null +++ b/tools/legacy/sample_common/include/mfx_plugin_module.h @@ -0,0 +1,27 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#pragma once + +#include "mfxplugin++.h" + +struct PluginModuleTemplate { + typedef MFXDecoderPlugin* (*fncCreateDecoderPlugin)(); + typedef MFXEncoderPlugin* (*fncCreateEncoderPlugin)(); + typedef MFXAudioDecoderPlugin* (*fncCreateAudioDecoderPlugin)(); + typedef MFXAudioEncoderPlugin* (*fncCreateAudioEncoderPlugin)(); + typedef MFXGenericPlugin* (*fncCreateGenericPlugin)(); + typedef mfxStatus(MFX_CDECL* CreatePluginPtr_t)(mfxPluginUID uid, mfxPlugin* plugin); + + fncCreateDecoderPlugin CreateDecoderPlugin; + fncCreateEncoderPlugin CreateEncoderPlugin; + fncCreateGenericPlugin CreateGenericPlugin; + CreatePluginPtr_t CreatePlugin; + fncCreateAudioDecoderPlugin CreateAudioDecoderPlugin; + fncCreateAudioEncoderPlugin CreateAudioEncoderPlugin; +}; + +extern PluginModuleTemplate g_PluginModule; diff --git a/tools/legacy/sample_common/include/mfx_samples_config.h b/tools/legacy/sample_common/include/mfx_samples_config.h new file mode 100644 index 00000000..78b9b129 --- /dev/null +++ b/tools/legacy/sample_common/include/mfx_samples_config.h @@ -0,0 +1,10 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __MFX_SAMPLES_CONFIG__ +#define __MFX_SAMPLES_CONFIG__ + +#endif //__MFX_SAMPLES_CONFIG__ diff --git a/tools/legacy/sample_common/include/parameters_dumper.h b/tools/legacy/sample_common/include/parameters_dumper.h new file mode 100644 index 00000000..d0c5fa3d --- /dev/null +++ b/tools/legacy/sample_common/include/parameters_dumper.h @@ -0,0 +1,73 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __PARAMETERS_DUMPER_H__ +#define __PARAMETERS_DUMPER_H__ +#include "sample_defs.h" + +class CParametersDumper { +protected: + static void SerializeFrameInfoStruct(msdk_ostream& sstr, + msdk_string prefix, + mfxFrameInfo& info); + static void SerializeMfxInfoMFXStruct(msdk_ostream& sstr, msdk_string prefix, mfxInfoMFX& info); + static void SerializeExtensionBuffer(msdk_ostream& sstr, + msdk_string prefix, + mfxExtBuffer* pExtBuffer); + static void SerializeVPPCompInputStream(msdk_ostream& sstr, + msdk_string prefix, + mfxVPPCompInputStream& info); + + template + static mfxStatus GetUnitParams(T* pMfxUnit, + const mfxVideoParam* pPresetParams, + mfxVideoParam* pOutParams) { + memset(pOutParams, 0, sizeof(mfxVideoParam)); + mfxExtBuffer** paramsArray = new mfxExtBuffer*[pPresetParams->NumExtParam]; + for (int paramNum = 0; paramNum < pPresetParams->NumExtParam; paramNum++) { + mfxExtBuffer* buf = pPresetParams->ExtParam[paramNum]; + mfxExtBuffer* newBuf = (mfxExtBuffer*)new mfxU8[buf->BufferSz]; + memset(newBuf, 0, buf->BufferSz); + newBuf->BufferId = buf->BufferId; + newBuf->BufferSz = buf->BufferSz; + paramsArray[paramNum] = newBuf; + } + pOutParams->NumExtParam = pPresetParams->NumExtParam; + pOutParams->ExtParam = paramsArray; + + mfxStatus sts = pMfxUnit->GetVideoParam(pOutParams); + MSDK_CHECK_STATUS_SAFE(sts, + "Cannot read configuration from encoder: GetVideoParam failed", + ClearExtBuffs(pOutParams)); + + return MFX_ERR_NONE; + } + + static void ClearExtBuffs(mfxVideoParam* params) { + // Cleaning params array + for (int paramNum = 0; paramNum < params->NumExtParam; paramNum++) { + delete[] params->ExtParam[paramNum]; + } + delete[] params->ExtParam; + params->ExtParam = NULL; + params->NumExtParam = 0; + } + +public: + static void SerializeVideoParamStruct(msdk_ostream& sstr, + msdk_string sectionName, + mfxVideoParam& info, + bool shouldUseVPPSection = false); + static mfxStatus DumpLibraryConfiguration(msdk_string fileName, + MFXVideoDECODE* pMfxDec, + MFXVideoVPP* pMfxVPP, + MFXVideoENCODE* pMfxEnc, + const mfxVideoParam* pDecoderPresetParams, + const mfxVideoParam* pVPPPresetParams, + const mfxVideoParam* pEncoderPresetParams); + static void ShowConfigurationDiff(msdk_ostream& sstr1, msdk_ostream& sstr2); +}; +#endif diff --git a/tools/legacy/sample_common/include/plugin_loader.h b/tools/legacy/sample_common/include/plugin_loader.h new file mode 100644 index 00000000..8461e3c3 --- /dev/null +++ b/tools/legacy/sample_common/include/plugin_loader.h @@ -0,0 +1,254 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#pragma once + +#ifndef __PLUGIN_LOADER_H__ + #define __PLUGIN_LOADER_H__ + + #include "plugin_utils.h" + #include "sample_utils.h" + #include "vm/so_defs.h" + //#include "mfx_plugin_module.h" + #include // for std::setfill, std::setw + #include + #include // for std::unique_ptr + +class MsdkSoModule { +protected: + msdk_so_handle m_module; + +public: + MsdkSoModule() : m_module(NULL) {} + MsdkSoModule(const msdk_string& pluginName) : m_module(NULL) { + m_module = msdk_so_load(pluginName.c_str()); + if (NULL == m_module) { + MSDK_TRACE_ERROR(msdk_tstring(MSDK_CHAR("Failed to load shared module: ")) + + pluginName); + } + } + template + T GetAddr(const std::string& fncName) { + T pCreateFunc = reinterpret_cast(msdk_so_get_addr(m_module, fncName.c_str())); + if (NULL == pCreateFunc) { + MSDK_TRACE_ERROR(msdk_tstring("Failed to get function addres: ") + fncName.c_str()); + } + return pCreateFunc; + } + + virtual ~MsdkSoModule() { + if (m_module) { + msdk_so_free(m_module); + m_module = NULL; + } + } +}; + +/* +* Rationale: class to load+register any mediasdk plugin decoder/encoder/generic by given name +*/ +class PluginLoader : public MFXPlugin { +protected: + mfxPluginType ePluginType; + + mfxSession m_session; + mfxPluginUID m_uid; + +private: + const msdk_char* msdkGetPluginName(const mfxPluginUID& guid) { + if (AreGuidsEqual(guid, MFX_PLUGINID_HEVCD_SW)) + return MSDK_STRING("Intel (R) Media SDK plugin for HEVC DECODE"); + else if (AreGuidsEqual(guid, MFX_PLUGINID_HEVCD_HW)) + return MSDK_STRING("Intel (R) Media SDK HW plugin for HEVC DECODE"); + else if (AreGuidsEqual(guid, MFX_PLUGINID_HEVCE_SW)) + return MSDK_STRING("Intel (R) Media SDK plugin for HEVC ENCODE"); + else if (AreGuidsEqual(guid, MFX_PLUGINID_HEVCE_HW)) + return MSDK_STRING("Intel (R) Media SDK HW plugin for HEVC ENCODE"); + else if (AreGuidsEqual(guid, MFX_PLUGINID_VP8E_HW)) + return MSDK_STRING("Intel (R) Media SDK HW plugin for VP8 ENCODE"); + else if (AreGuidsEqual(guid, MFX_PLUGINID_VP8D_HW)) + return MSDK_STRING("Intel (R) Media SDK HW plugin for VP8 DECODE"); + else if (AreGuidsEqual(guid, MFX_PLUGINID_VP9E_HW)) + return MSDK_STRING("Intel (R) Media SDK HW plugin for VP9 ENCODE"); + else if (AreGuidsEqual(guid, MFX_PLUGINID_VP9D_HW)) + return MSDK_STRING("Intel (R) Media SDK HW plugin for VP9 DECODE"); + else if (AreGuidsEqual(guid, MFX_PLUGINID_H264LA_HW)) + return MSDK_STRING("Intel (R) Media SDK plugin for LA ENC"); + else if (AreGuidsEqual(guid, MFX_PLUGINID_ITELECINE_HW)) + return MSDK_STRING("Intel (R) Media SDK PTIR plugin (HW)"); + else if (AreGuidsEqual(guid, MFX_PLUGINID_HEVCE_GACC)) + return MSDK_STRING("Intel (R) Media SDK GPU-Accelerated plugin for HEVC ENCODE"); + else + #if (MFX_VERSION >= 1027) && !defined(_WIN32) && !defined(_WIN64) + if (AreGuidsEqual(guid, MFX_PLUGINID_HEVC_FEI_ENCODE)) + return MSDK_STRING("Intel (R) Media SDK HW plugin for HEVC FEI ENCODE"); + else + #endif + return MSDK_STRING("Unknown plugin"); + } + +public: + PluginLoader(mfxPluginType type, + mfxSession session, + const mfxPluginUID& uid, + mfxU32 version, + const mfxChar* pluginName, + mfxU32 len) + : ePluginType(type), + m_session(), + m_uid() { + mfxStatus sts = MFX_ERR_NONE; + msdk_stringstream strStream; + + MSDK_MEMCPY(&m_uid, &uid, sizeof(mfxPluginUID)); + for (size_t i = 0; i != sizeof(mfxPluginUID); i++) { + strStream << MSDK_STRING("0x") << std::setfill(MSDK_CHAR('0')) << std::setw(2) + << std::hex << (int)m_uid.Data[i]; + if (i != (sizeof(mfxPluginUID) - 1)) + strStream << MSDK_STRING(", "); + } + + if ((ePluginType == MFX_PLUGINTYPE_AUDIO_DECODE) || + (ePluginType == MFX_PLUGINTYPE_AUDIO_ENCODE)) { + // Audio plugins are not loaded by path + sts = MFX_ERR_UNSUPPORTED; + } + else { + sts = MFXVideoUSER_LoadByPath(session, &m_uid, version, pluginName, len); + } + + if (MFX_ERR_NONE != sts) { + MSDK_TRACE_ERROR(MSDK_STRING("Failed to load plugin from GUID, sts=") + << sts << MSDK_STRING(": { ") << strStream.str().c_str() + << MSDK_STRING(" } (") << msdkGetPluginName(m_uid) + << MSDK_STRING(")")); + } + else { + MSDK_TRACE_INFO(MSDK_STRING("Plugin was loaded from GUID")); + m_session = session; + } + } + + PluginLoader(mfxPluginType type, mfxSession session, const mfxPluginUID& uid, mfxU32 version) + : ePluginType(type), + m_session(), + m_uid() { + mfxStatus sts = MFX_ERR_NONE; + msdk_stringstream strStream; + + MSDK_MEMCPY(&m_uid, &uid, sizeof(mfxPluginUID)); + for (size_t i = 0; i != sizeof(mfxPluginUID); i++) { + strStream << MSDK_STRING("0x") << std::setfill(MSDK_CHAR('0')) << std::setw(2) + << std::hex << (int)m_uid.Data[i]; + if (i != (sizeof(mfxPluginUID) - 1)) + strStream << MSDK_STRING(", "); + } + + if ((ePluginType == MFX_PLUGINTYPE_AUDIO_DECODE) || + (ePluginType == MFX_PLUGINTYPE_AUDIO_ENCODE)) { + sts = MFXAudioUSER_Load(session, &m_uid, version); + } + else { + sts = MFXVideoUSER_Load(session, &m_uid, version); + } + + if (MFX_ERR_NONE != sts) { + MSDK_TRACE_ERROR(MSDK_STRING("Failed to load plugin from GUID, sts=") + << sts << MSDK_STRING(": { ") << strStream.str().c_str() + << MSDK_STRING(" } (") << msdkGetPluginName(m_uid) + << MSDK_STRING(")")); + } + else { + MSDK_TRACE_INFO(MSDK_STRING("Plugin was loaded from GUID") + << MSDK_STRING(": { ") << strStream.str().c_str() << MSDK_STRING(" } (") + << msdkGetPluginName(m_uid) << MSDK_STRING(")")); + m_session = session; + } + } + + virtual ~PluginLoader() { + mfxStatus sts = MFX_ERR_NONE; + if (m_session) { + if ((ePluginType == MFX_PLUGINTYPE_AUDIO_DECODE) || + (ePluginType == MFX_PLUGINTYPE_AUDIO_ENCODE)) { + sts = MFXAudioUSER_UnLoad(m_session, &m_uid); + } + else { + sts = MFXVideoUSER_UnLoad(m_session, &m_uid); + } + + if (sts != MFX_ERR_NONE) { + MSDK_TRACE_ERROR(MSDK_STRING("Failed to unload plugin from GUID, sts=") << sts); + } + else { + MSDK_TRACE_INFO(MSDK_STRING("MFXBaseUSER_UnLoad(session=0x") + << m_session << MSDK_STRING("), sts=") << sts); + } + } + } + + bool IsOk() { + return m_session != 0; + } + virtual mfxStatus PluginInit(mfxCoreInterface* /*core*/) { + return MFX_ERR_NULL_PTR; + } + virtual mfxStatus PluginClose() { + return MFX_ERR_NULL_PTR; + } + virtual mfxStatus GetPluginParam(mfxPluginParam* /*par*/) { + return MFX_ERR_NULL_PTR; + } + virtual mfxStatus Execute(mfxThreadTask /*task*/, mfxU32 /*uid_p*/, mfxU32 /*uid_a*/) { + return MFX_ERR_NULL_PTR; + } + virtual mfxStatus FreeResources(mfxThreadTask /*task*/, mfxStatus /*sts*/) { + return MFX_ERR_NULL_PTR; + } + virtual void Release() {} + virtual mfxStatus Close() { + return MFX_ERR_NULL_PTR; + } + virtual mfxStatus SetAuxParams(void* /*auxParam*/, int /*auxParamSize*/) { + return MFX_ERR_NULL_PTR; + } +}; + +inline MFXPlugin* LoadPluginByType(mfxPluginType type, + mfxSession session, + const mfxPluginUID& uid, + mfxU32 version, + const mfxChar* pluginName, + mfxU32 len) { + std::unique_ptr plg( + new PluginLoader(type, session, uid, version, pluginName, len)); + return plg->IsOk() ? plg.release() : NULL; +} + +inline MFXPlugin* LoadPluginByGUID(mfxPluginType type, + mfxSession session, + const mfxPluginUID& uid, + mfxU32 version) { + std::unique_ptr plg(new PluginLoader(type, session, uid, version)); + return plg->IsOk() ? plg.release() : NULL; +} + +inline MFXPlugin* LoadPlugin(mfxPluginType type, + mfxSession session, + const mfxPluginUID& uid, + mfxU32 version, + const mfxChar* pluginName, + mfxU32 len) { + return LoadPluginByType(type, session, uid, version, pluginName, len); +} + +inline MFXPlugin* LoadPlugin(mfxPluginType type, + mfxSession session, + const mfxPluginUID& uid, + mfxU32 version) { + return LoadPluginByGUID(type, session, uid, version); +} +#endif // PLUGIN_LOADER \ No newline at end of file diff --git a/tools/legacy/sample_common/include/plugin_utils.h b/tools/legacy/sample_common/include/plugin_utils.h new file mode 100644 index 00000000..80b7baf9 --- /dev/null +++ b/tools/legacy/sample_common/include/plugin_utils.h @@ -0,0 +1,68 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __PLUGIN_UTILS_H__ +#define __PLUGIN_UTILS_H__ + +#include "sample_defs.h" +#include "sample_types.h" + +#if defined(_WIN32) || defined(_WIN64) + #define MSDK_CPU_ROTATE_PLUGIN MSDK_STRING("sample_rotate_plugin.dll") + #define MSDK_OCL_ROTATE_PLUGIN MSDK_STRING("sample_plugin_opencl.dll") +#else + #define MSDK_CPU_ROTATE_PLUGIN MSDK_STRING("libsample_rotate_plugin.so") + #define MSDK_OCL_ROTATE_PLUGIN MSDK_STRING("libsample_plugin_opencl.so") +#endif + +typedef mfxI32 msdkComponentType; +enum { + MSDK_VDECODE = 0x0001, + MSDK_VENCODE = 0x0002, + MSDK_VPP = 0x0004, + MSDK_VENC = 0x0008, +#if (MFX_VERSION >= 1027) + MSDK_FEI = 0x1000, +#endif +}; + +typedef enum { MFX_PLUGINLOAD_TYPE_GUID = 1, MFX_PLUGINLOAD_TYPE_FILE = 2 } MfxPluginLoadType; + +struct sPluginParams { + mfxPluginUID pluginGuid; + mfxChar strPluginPath[MSDK_MAX_FILENAME_LEN]; + MfxPluginLoadType type; + sPluginParams() { + MSDK_ZERO_MEMORY(*this); + } +}; + +static const mfxPluginUID MSDK_PLUGINGUID_NULL = { { 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 } }; + +bool AreGuidsEqual(const mfxPluginUID& guid1, const mfxPluginUID& guid2); + +const mfxPluginUID& msdkGetPluginUID(mfxIMPL impl, msdkComponentType type, mfxU32 uCodecid); + +sPluginParams ParsePluginGuid(msdk_char*); +sPluginParams ParsePluginPath(msdk_char*); +mfxStatus ConvertStringToGuid(const msdk_string& strGuid, mfxPluginUID& mfxGuid); + +#endif //__PLUGIN_UTILS_H__ diff --git a/tools/legacy/sample_common/include/preset_manager.h b/tools/legacy/sample_common/include/preset_manager.h new file mode 100644 index 00000000..9090c4d1 --- /dev/null +++ b/tools/legacy/sample_common/include/preset_manager.h @@ -0,0 +1,124 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "sample_defs.h" + +#pragma once +enum EPresetModes { PRESET_DEFAULT, PRESET_DSS, PRESET_CONF, PRESET_GAMING, PRESET_MAX_MODES }; + +enum EPresetCodecs { PRESET_AVC, PRESET_HEVC, PRESET_MAX_CODECS }; + +struct CPresetParameters { + mfxU16 GopRefDist; + + mfxU16 TargetUsage; + + mfxU16 RateControlMethod; + mfxU16 ExtBRCUsage; + mfxU16 AsyncDepth; + mfxU16 BRefType; + mfxU16 AdaptiveMaxFrameSize; + mfxU16 LowDelayBRC; + + mfxU16 IntRefType; + mfxU16 IntRefCycleSize; + mfxU16 IntRefQPDelta; + mfxU16 IntRefCycleDist; + + mfxU16 WeightedPred; + mfxU16 WeightedBiPred; + + bool EnableBPyramid; + bool EnablePPyramid; + // bool EnableLTR; +}; + +struct CDependentPresetParameters { + mfxU16 TargetKbps; + mfxU16 MaxKbps; + mfxU16 GopPicSize; + mfxU16 BufferSizeInKB; + mfxU16 LookAheadDepth; + mfxU32 MaxFrameSize; +}; + +struct COutputPresetParameters : public CPresetParameters, CDependentPresetParameters { + msdk_string PresetName; + + void Clear() { + memset(dynamic_cast(this), 0, sizeof(CPresetParameters)); + memset(dynamic_cast(this), + 0, + sizeof(CDependentPresetParameters)); + } + + COutputPresetParameters() { + Clear(); + } + + COutputPresetParameters(CPresetParameters src) { + Clear(); + *(CPresetParameters*)this = src; + } +}; + +class CPresetManager { +public: + ~CPresetManager(); + COutputPresetParameters GetPreset(EPresetModes mode, + mfxU32 codecFourCC, + mfxF64 fps, + mfxU32 width, + mfxU32 height, + bool isHWLib); + COutputPresetParameters GetBasicPreset(EPresetModes mode, mfxU32 codecFourCC); + CDependentPresetParameters GetDependentPresetParameters(EPresetModes mode, + mfxU32 codecFourCC, + mfxF64 fps, + mfxU32 width, + mfxU32 height, + mfxU16 targetUsage); + + static CPresetManager Inst; + static EPresetModes PresetNameToMode(const msdk_char* name); + +protected: + CPresetManager(); + static CPresetParameters presets[PRESET_MAX_MODES][PRESET_MAX_CODECS]; + static msdk_string modesName[PRESET_MAX_MODES]; +}; + +#define MODIFY_AND_PRINT_PARAM(paramName, presetName, shouldPrintPresetInfo) \ + if (!paramName) { \ + paramName = presetParams.presetName; \ + if (shouldPrintPresetInfo) { \ + msdk_printf(MSDK_STRING(#presetName) MSDK_STRING(": %d\n"), (int)paramName); \ + } \ + } \ + else { \ + if (shouldPrintPresetInfo) { \ + msdk_printf(MSDK_STRING(#presetName) \ + MSDK_STRING(": %d (original preset value: %d)\n"), \ + (int)paramName, \ + (int)presetParams.presetName); \ + } \ + } + +#define MODIFY_AND_PRINT_PARAM_EXT(paramName, presetName, value, shouldPrintPresetInfo) \ + if (!paramName) { \ + paramName = (value); \ + if (shouldPrintPresetInfo) { \ + msdk_printf(MSDK_STRING(#presetName) MSDK_STRING(": %d\n"), (int)paramName); \ + } \ + } \ + else { \ + if (shouldPrintPresetInfo) { \ + msdk_printf(MSDK_STRING(#presetName) \ + MSDK_STRING(": %d (original preset value: %d)\n"), \ + (int)paramName, \ + (int)(value)); \ + } \ + } diff --git a/tools/legacy/sample_common/include/sample_defs.h b/tools/legacy/sample_common/include/sample_defs.h new file mode 100644 index 00000000..061530fd --- /dev/null +++ b/tools/legacy/sample_common/include/sample_defs.h @@ -0,0 +1,322 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __SAMPLE_DEFS_H__ +#define __SAMPLE_DEFS_H__ + +#include +#include + +#include "vm/file_defs.h" +#include "vm/strings_defs.h" +#include "vm/time_defs.h" +#include "vpl/mfxdefs.h" + +#if (MFX_VERSION >= 1026) +//#define ENABLE_MCTF +//#if defined(MFX_VERSION_NEXT) && (MFX_VERSION >= MFX_VERSION_NEXT) +//---MCTF, extended interface +//#undef ENABLE_MCTF_EXT +//#endif +enum { MCTF_BITRATE_MULTIPLIER = 100000 }; +#endif + +#if defined(WIN32) || defined(WIN64) + +enum { + MFX_HANDLE_DEVICEWINDOW = 0x101 /* A handle to the render window */ +}; //mfxHandleType + + #ifndef D3D_SURFACES_SUPPORT + #define D3D_SURFACES_SUPPORT 1 + #endif + + #if defined(_WIN32) && !defined(MFX_D3D11_SUPPORT) + #include + #if (NTDDI_VERSION >= NTDDI_VERSION_FROM_WIN32_WINNT2(0x0602)) // >= _WIN32_WINNT_WIN8 + #define MFX_D3D11_SUPPORT 1 // Enable D3D11 support if SDK allows + #else + #define MFX_D3D11_SUPPORT 0 + #endif + #endif // #if defined(WIN32) && !defined(MFX_D3D11_SUPPORT) +#endif // #if defined(WIN32) || defined(WIN64) + +enum { +#define __DECLARE(type) MFX_MONITOR_##type + __DECLARE(Unknown) = 0, + __DECLARE(AUTO) = __DECLARE(Unknown), + __DECLARE(VGA), + __DECLARE(DVII), + __DECLARE(DVID), + __DECLARE(DVIA), + __DECLARE(Composite), + __DECLARE(SVIDEO), + __DECLARE(LVDS), + __DECLARE(Component), + __DECLARE(9PinDIN), + __DECLARE(HDMIA), + __DECLARE(HDMIB), + __DECLARE(eDP), + __DECLARE(TV), + __DECLARE(DisplayPort), +#if defined(DRM_MODE_CONNECTOR_VIRTUAL) // from libdrm 2.4.59 + __DECLARE(VIRTUAL), +#endif +#if defined(DRM_MODE_CONNECTOR_DSI) // from libdrm 2.4.59 + __DECLARE(DSI), +#endif + __DECLARE(MAXNUMBER) +#undef __DECLARE +}; + +#if defined(LIBVA_SUPPORT) + +enum LibVABackend { + MFX_LIBVA_AUTO, + MFX_LIBVA_DRM, + MFX_LIBVA_DRM_RENDERNODE = MFX_LIBVA_DRM, + MFX_LIBVA_DRM_MODESET, + MFX_LIBVA_X11, + MFX_LIBVA_WAYLAND +}; + +#endif + +//affects win32 winnt version macro +#include "sample_utils.h" +#include "vm/time_defs.h" + +#define MSDK_DEC_WAIT_INTERVAL 300000 +#define MSDK_ENC_WAIT_INTERVAL 300000 +#define MSDK_VPP_WAIT_INTERVAL 300000 +#define MSDK_SURFACE_WAIT_INTERVAL 300000 +#define MSDK_WAIT_INTERVAL \ + (MSDK_DEC_WAIT_INTERVAL + 3 * MSDK_VPP_WAIT_INTERVAL + \ + MSDK_ENC_WAIT_INTERVAL) // an estimate for the longest pipeline we have in samples + +#define MSDK_INVALID_SURF_IDX 0xFFFF + +#define MSDK_MAX_FILENAME_LEN 1024 +#define MSDK_MAX_USER_DATA_UNREG_SEI_LEN 80 + +#define MSDK_PRINT_RET_MSG(ERR, MSG) \ + { \ + msdk_stringstream tmpStr1; \ + tmpStr1 << std::endl \ + << "[ERROR], sts=" << StatusToString(ERR) << "(" << ERR << ")" \ + << ", " << __FUNCTION__ << ", " << MSG << " at " << __FILE__ << ":" << __LINE__ \ + << std::endl; \ + msdk_err << tmpStr1.str(); \ + } + +#define MSDK_PRINT_WRN_MSG(WRN, MSG) \ + { \ + msdk_stringstream tmpStr1; \ + tmpStr1 << std::endl \ + << "[WARNING], sts=" << StatusToString(WRN) << "(" << WRN << ")" \ + << ", " << __FUNCTION__ << ", " << MSG << " at " << __FILE__ << ":" << __LINE__ \ + << std::endl; \ + msdk_err << tmpStr1.str(); \ + } + +#define MSDK_TRACE_LEVEL(level, ERR) \ + if (level <= msdk_trace_get_level()) { \ + msdk_err << NoFullPath(MSDK_STRING(__FILE__)) << MSDK_STRING(" :") << __LINE__ \ + << MSDK_STRING(" [") << level << MSDK_STRING("] ") << ERR << std::endl; \ + } + +#define MSDK_TRACE_CRITICAL(ERR) MSDK_TRACE_LEVEL(MSDK_TRACE_LEVEL_CRITICAL, ERR) +#define MSDK_TRACE_ERROR(ERR) MSDK_TRACE_LEVEL(MSDK_TRACE_LEVEL_ERROR, ERR) +#define MSDK_TRACE_WARNING(ERR) MSDK_TRACE_LEVEL(MSDK_TRACE_LEVEL_WARNING, ERR) +#define MSDK_TRACE_INFO(ERR) MSDK_TRACE_LEVEL(MSDK_TRACE_LEVEL_INFO, ERR) +#define MSDK_TRACE_DEBUG(ERR) MSDK_TRACE_LEVEL(MSDK_TRACE_LEVEL_DEBUG, ERR) + +#define MSDK_CHECK_ERROR(P, X, ERR) \ + { \ + if ((X) == (P)) { \ + msdk_stringstream tmpStr2; \ + tmpStr2 << MSDK_STRING(#X) << MSDK_STRING("==") << MSDK_STRING(#P) \ + << MSDK_STRING(" error"); \ + MSDK_PRINT_RET_MSG(ERR, tmpStr2.str().c_str()); \ + return ERR; \ + } \ + } + +#define MSDK_CHECK_NOT_EQUAL(P, X, ERR) \ + { \ + if ((X) != (P)) { \ + msdk_stringstream tmpStr3; \ + tmpStr3 << MSDK_STRING(#X) << MSDK_STRING("!=") << MSDK_STRING(#P) \ + << MSDK_STRING(" error"); \ + MSDK_PRINT_RET_MSG(ERR, tmpStr3.str().c_str()); \ + return ERR; \ + } \ + } + +#define MSDK_CHECK_STATUS(X, MSG) \ + { \ + if ((X) < MFX_ERR_NONE) { \ + MSDK_PRINT_RET_MSG(X, MSG); \ + return X; \ + } \ + } +#define MSDK_CHECK_STATUS_NO_RET(X, MSG) \ + { \ + if ((X) < MFX_ERR_NONE) { \ + MSDK_PRINT_RET_MSG(X, MSG); \ + } \ + } +#define MSDK_CHECK_WRN(X, MSG) \ + { \ + if ((X) > MFX_ERR_NONE) { \ + MSDK_PRINT_WRN_MSG(X, MSG); \ + } \ + } +#define MSDK_CHECK_ERR_NONE_STATUS(X, ERR, MSG) \ + { \ + if ((X) != MFX_ERR_NONE) { \ + MSDK_PRINT_RET_MSG(X, MSG); \ + return ERR; \ + } \ + } +#define MSDK_CHECK_PARSE_RESULT(P, X, ERR) \ + { \ + if ((X) > (P)) { \ + return ERR; \ + } \ + } + +#define MSDK_CHECK_STATUS_SAFE(X, FUNC, ADD) \ + { \ + if ((X) < MFX_ERR_NONE) { \ + ADD; \ + MSDK_PRINT_RET_MSG(X, FUNC); \ + return X; \ + } \ + } +#define MSDK_IGNORE_MFX_STS(P, X) \ + { \ + if ((X) == (P)) { \ + P = MFX_ERR_NONE; \ + } \ + } +#define MSDK_CHECK_POINTER(P, ...) \ + { \ + if (!(P)) { \ + msdk_stringstream tmpStr4; \ + tmpStr4 << MSDK_STRING(#P) << MSDK_STRING(" pointer is NULL"); \ + MSDK_PRINT_RET_MSG(MFX_ERR_NULL_PTR, tmpStr4.str().c_str()); \ + return __VA_ARGS__; \ + } \ + } +#define MSDK_CHECK_POINTER_NO_RET(P) \ + { \ + if (!(P)) { \ + msdk_stringstream tmpStr4; \ + tmpStr4 << MSDK_STRING(#P) << MSDK_STRING(" pointer is NULL"); \ + MSDK_PRINT_RET_MSG(MFX_ERR_NULL_PTR, tmpStr4.str().c_str()); \ + return; \ + } \ + } +#define MSDK_CHECK_POINTER_SAFE(P, ERR, ADD) \ + { \ + if (!(P)) { \ + ADD; \ + return ERR; \ + } \ + } +#define MSDK_BREAK_ON_ERROR(P) \ + { \ + if (MFX_ERR_NONE != (P)) \ + break; \ + } +#define MSDK_SAFE_DELETE_ARRAY(P) \ + { \ + if (P) { \ + delete[] P; \ + P = NULL; \ + } \ + } +#define MSDK_SAFE_RELEASE(X) \ + { \ + if (X) { \ + X->Release(); \ + X = NULL; \ + } \ + } +#define MSDK_SAFE_FREE(X) \ + { \ + if (X) { \ + free(X); \ + X = NULL; \ + } \ + } + +#ifndef MSDK_SAFE_DELETE + #define MSDK_SAFE_DELETE(P) \ + { \ + if (P) { \ + delete P; \ + P = NULL; \ + } \ + } +#endif // MSDK_SAFE_DELETE + +#define MSDK_ZERO_MEMORY(VAR) \ + { memset(&VAR, 0, sizeof(VAR)); } +#define MSDK_ALIGN16(value) (((value + 15) >> 4) << 4) // round up to a multiple of 16 +#define MSDK_ALIGN32(value) (((value + 31) >> 5) << 5) // round up to a multiple of 32 +#define MSDK_ALIGN(value, alignment) \ + (alignment) * ((value) / (alignment) + (((value) % (alignment)) ? 1 : 0)) +#define MSDK_ARRAY_LEN(value) (sizeof(value) / sizeof(value[0])) + +#ifndef UNREFERENCED_PARAMETER + #define UNREFERENCED_PARAMETER(par) (par) +#endif + +#define MFX_IMPL_VIA_MASK(x) (0x0f00 & (x)) + +// Deprecated +#define MSDK_PRINT_RET_MSG_(ERR) \ + { \ + msdk_printf(MSDK_STRING("\nReturn on error: error code %d,\t%s\t%d\n\n"), \ + (int)ERR, \ + MSDK_STRING(__FILE__), \ + __LINE__); \ + } +#define MSDK_CHECK_RESULT(P, X, ERR) \ + { \ + if ((X) > (P)) { \ + MSDK_PRINT_RET_MSG_(ERR); \ + return ERR; \ + } \ + } +#define MSDK_CHECK_RESULT_SAFE(P, X, ERR, ADD) \ + { \ + if ((X) > (P)) { \ + ADD; \ + MSDK_PRINT_RET_MSG_(ERR); \ + return ERR; \ + } \ + } + +namespace mfx { +// TODO: switch to std::clamp when C++17 support will be enabled + +// Clip value v to range [lo, hi] +template +constexpr const T& clamp(const T& v, const T& lo, const T& hi) { + return std::min(hi, std::max(v, lo)); +} + +// Comp is comparison function object with meaning of 'less' operator (i.e. std::less<> or operator<) +template +constexpr const T& clamp(const T& v, const T& lo, const T& hi, Compare comp) { + return comp(v, lo) ? lo : comp(hi, v) ? hi : v; +} +} // namespace mfx + +#endif //__SAMPLE_DEFS_H__ diff --git a/tools/legacy/sample_common/include/sample_types.h b/tools/legacy/sample_common/include/sample_types.h new file mode 100644 index 00000000..70172fe8 --- /dev/null +++ b/tools/legacy/sample_common/include/sample_types.h @@ -0,0 +1,35 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __SAMPLE_TYPES_H__ +#define __SAMPLE_TYPES_H__ + +#ifdef UNICODE + #define msdk_cout std::wcout + #define msdk_err std::wcerr +#else + #define msdk_cout std::cout + #define msdk_err std::cerr +#endif + +typedef std::basic_string msdk_string; +typedef std::basic_stringstream msdk_stringstream; +typedef std::basic_ostream> msdk_ostream; +typedef std::basic_istream> msdk_istream; +typedef std::basic_fstream> msdk_fstream; + +#if defined(_UNICODE) + #define MSDK_MAKE_BYTE_STRING(src, dest) \ + { \ + std::wstring wstr(src); \ + std::string str(wstr.begin(), wstr.end()); \ + strcpy_s(dest, str.c_str()); \ + } +#else + #define MSDK_MAKE_BYTE_STRING(src, dest) msdk_strcopy(dest, src); +#endif + +#endif //__SAMPLE_TYPES_H__ diff --git a/tools/legacy/sample_common/include/sample_utils.h b/tools/legacy/sample_common/include/sample_utils.h new file mode 100644 index 00000000..db9b3fd6 --- /dev/null +++ b/tools/legacy/sample_common/include/sample_utils.h @@ -0,0 +1,1437 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __SAMPLE_UTILS_H__ +#define __SAMPLE_UTILS_H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "vpl/mfxbrc.h" +#if (MFX_VERSION < 2000) + #include "mfxfei.h" + #include "mfxfeihevc.h" +#endif +#include "vpl/mfxjpeg.h" +#if (MFX_VERSION < 2000) + #include "mfxla.h" + #include "mfxmvc.h" + #include "mfxplugin.h" +#endif +#include "vpl/mfxstructures.h" +#include "vpl/mfxvideo++.h" +#include "vpl/mfxvideo.h" + +#include "vm/atomic_defs.h" +#include "vm/file_defs.h" +#include "vm/strings_defs.h" +#include "vm/thread_defs.h" +#include "vm/time_defs.h" + +#include "sample_types.h" + +#include "abstract_splitter.h" +#include "avc_bitstream.h" +#include "avc_headers.h" +#include "avc_nal_spl.h" +#include "avc_spl.h" + +// A macro to disallow the copy constructor and operator= functions +// This should be used in the private: declarations for a class +#define DISALLOW_COPY_AND_ASSIGN(TypeName) \ + TypeName(const TypeName&); \ + void operator=(const TypeName&) + +//! Base class for types that should not be assigned. +class no_assign { + // Deny assignment + void operator=(const no_assign&); + +public: +#if __GNUC__ + //! Explicitly define default construction, because otherwise gcc issues gratuitous warning. + no_assign() {} +#endif /* __GNUC__ */ +}; + +//! Base class for types that should not be copied or assigned. +class no_copy : no_assign { + //! Deny copy construction + no_copy(const no_copy&); + + // Deny assignment + void operator=(const no_copy&); + +public: + //! Allow default construction + no_copy() {} +}; + +enum { + CODEC_VP8 = MFX_MAKEFOURCC('V', 'P', '8', ' '), + CODEC_MVC = MFX_MAKEFOURCC('M', 'V', 'C', ' '), +}; + +#define MFX_CODEC_DUMP MFX_MAKEFOURCC('D', 'U', 'M', 'P') +#define MFX_CODEC_RGB4 MFX_FOURCC_RGB4 +#define MFX_CODEC_NV12 MFX_FOURCC_NV12 +#define MFX_CODEC_I420 MFX_FOURCC_I420 +#if (MFX_VERSION < 2000) +enum { + MFX_FOURCC_IMC3 = MFX_MAKEFOURCC('I', 'M', 'C', '3'), + MFX_FOURCC_YUV400 = MFX_MAKEFOURCC('4', '0', '0', 'P'), + MFX_FOURCC_YUV411 = MFX_MAKEFOURCC('4', '1', '1', 'P'), + MFX_FOURCC_YUV422H = MFX_MAKEFOURCC('4', '2', '2', 'H'), + MFX_FOURCC_YUV422V = MFX_MAKEFOURCC('4', '2', '2', 'V'), + MFX_FOURCC_YUV444 = MFX_MAKEFOURCC('4', '4', '4', 'P'), + #if (MFX_VERSION <= 1027) + MFX_FOURCC_RGBP = MFX_MAKEFOURCC('R', 'G', 'B', 'P'), + #endif + MFX_FOURCC_I420 = MFX_MAKEFOURCC('I', '4', '2', '0') +}; +#endif +enum ExtBRCType { EXTBRC_DEFAULT, EXTBRC_OFF, EXTBRC_ON, EXTBRC_IMPLICIT }; + +namespace QPFile { + +enum ReaderStatus { + READER_ERR_NONE, + READER_ERR_NOT_INITIALIZED, + READER_ERR_CODEC_UNSUPPORTED, + READER_ERR_FILE_NOT_OPEN, + READER_ERR_INCORRECT_FILE +}; + +struct FrameInfo { + mfxU32 displayOrder; + mfxU16 QP; + mfxU16 frameType; +}; + +// QPFile::Reader reads QP and frame type per frame in encoding order +// from external text file (for encoding in qpfile mode) +class Reader { +public: + mfxStatus Read(const msdk_string& strFileName, mfxU32 codecid); + void ResetState(); + + mfxU32 GetCurrentEncodedOrder() const; + mfxU32 GetCurrentDisplayOrder() const; + mfxU16 GetCurrentQP() const; + mfxU16 GetCurrentFrameType() const; + mfxU32 GetFramesNum() const; + void NextFrame(); + std::string GetErrorMessage() const; + +private: + void ResetState(ReaderStatus set_sts); + + ReaderStatus m_ReaderSts = READER_ERR_NOT_INITIALIZED; + mfxU32 m_nFrames = UINT_MAX; + mfxU32 m_CurFrameNum = UINT_MAX; + std::vector m_FrameVals{}; +}; + +inline bool get_line(std::ifstream& ifs, std::string& line) { + std::getline(ifs, line, '\n'); + if (!line.empty() && line.back() == '\r') + line.pop_back(); + return !ifs.fail(); +} +inline size_t find_nth(const std::string& str, size_t pos, const std::string& needle, mfxU32 nth) { + size_t found_pos = str.find(needle, pos); + for (; nth != 0 && std::string::npos != found_pos; --nth) + found_pos = str.find(needle, found_pos + 1); + return found_pos; +} +inline mfxU16 StringToFrameType(std::string str) { + if ("IDR_REF" == str) + return MFX_FRAMETYPE_I | MFX_FRAMETYPE_IDR | MFX_FRAMETYPE_REF; + else if ("I_REF" == str) + return MFX_FRAMETYPE_I | MFX_FRAMETYPE_REF; + else if ("P_REF" == str) + return MFX_FRAMETYPE_P | MFX_FRAMETYPE_REF; + else if ("P" == str) + return MFX_FRAMETYPE_P; + else if ("B_REF" == str) + return MFX_FRAMETYPE_B | MFX_FRAMETYPE_REF; + else if ("B" == str) + return MFX_FRAMETYPE_B; + else + return MFX_FRAMETYPE_UNKNOWN; +} +inline std::string ReaderStatusToString(ReaderStatus sts) { + switch (sts) { + case READER_ERR_NOT_INITIALIZED: + return std::string("reader not initialized (qpfile has not yet read the file)\n"); + case READER_ERR_FILE_NOT_OPEN: + return std::string( + "failed to open file contains frame parameters (check provided path in -qpfile )\n"); + case READER_ERR_INCORRECT_FILE: + return std::string("incorrect file with frame parameters\n"); + case READER_ERR_CODEC_UNSUPPORTED: + return std::string("codecs, except h264 and h265, are not supported\n"); + default: + return std::string(); + } +} +inline mfxU32 ReadDisplayOrder(const std::string& line) { + return std::stoi(line.substr(0, find_nth(line, 0, ",", 0))); +} +inline mfxU16 ReadQP(const std::string& line) { + size_t pos = find_nth(line, 0, ",", 0) + 1; + return static_cast(std::stoi(line.substr(pos, find_nth(line, 0, ",", 1) - pos))); +} +inline mfxU16 ReadFrameType(const std::string& line) { + size_t pos = find_nth(line, 0, ",", 1) + 1; + return StringToFrameType(line.substr(pos, line.length() - pos)); +} +} // namespace QPFile + +mfxStatus GetFrameLength(mfxU16 width, mfxU16 height, mfxU32 ColorFormat, mfxU32& length); + +bool IsDecodeCodecSupported(mfxU32 codecFormat); +bool IsEncodeCodecSupported(mfxU32 codecFormat); +bool IsPluginCodecSupported(mfxU32 codecFormat); + +// class is used as custom exception +class mfxError : public std::runtime_error { +public: + mfxError(mfxStatus status = MFX_ERR_UNKNOWN, std::string msg = "") + : runtime_error(msg), + m_Status(status) {} + + mfxStatus GetStatus() const { + return m_Status; + } + +private: + mfxStatus m_Status; +}; + +//declare used extension buffers +template +struct mfx_ext_buffer_id {}; + +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_CODING_OPTION }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_CODING_OPTION2 }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_CODING_OPTION3 }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_AVC_TEMPORAL_LAYERS }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_AVC_REFLIST_CTRL }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_THREADS_PARAM }; +}; +#if (MFX_VERSION < 2000) +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_PARAM }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_PREENC_CTRL }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_PREENC_MV }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_PREENC_MB }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_HEVCFEI_ENC_CTRL }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_HEVCFEI_ENC_MV_PRED }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_HEVCFEI_ENC_QP }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_HEVCFEI_ENC_CTU_CTRL }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_HEVC_REFLISTS }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_HEVCFEI_REPACK_CTRL }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_HEVCFEI_REPACK_STAT }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_BRC }; +}; +#endif +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_HEVC_PARAM }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_DEC_VIDEO_PROCESSING }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_DECODE_ERROR_REPORT }; +}; +#if (MFX_VERSION < 2000) +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_MVC_SEQ_DESC }; +}; +#endif +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_DONOTUSE }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_DOUSE }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_DEINTERLACING }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_CODING_OPTION_SPSPPS }; +}; +#if (MFX_VERSION < 2000) +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_OPAQUE_SURFACE_ALLOCATION }; +}; +#endif +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_MCTF }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_COMPOSITE }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_FIELD_PROCESSING }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_DETAIL }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_FRAME_RATE_CONVERSION }; +}; +#if (MFX_VERSION < 2000) +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_LOOKAHEAD_CTRL }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_MULTI_FRAME_CONTROL }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_MULTI_FRAME_PARAM }; +}; +#endif +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_HEVC_TILES }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VP9_PARAM }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VIDEO_SIGNAL_INFO }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_HEVC_REGION }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_AVC_ROUNDING_OFFSET }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_DENOISE }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_PROCAMP }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_IMAGE_STABILIZATION }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_VIDEO_SIGNAL_INFO }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_MIRRORING }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_COLORFILL }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_ROTATION }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_SCALING }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_VPP_COLOR_CONVERSION }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_PRED_WEIGHT_TABLE }; +}; +#if (MFX_VERSION < 2000) +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_DEC_STREAM_OUT }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_SLICE }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_ENC_CTRL }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_ENC_MV_PRED }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_REPACK_CTRL }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_ENC_MB }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_ENC_QP }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_ENC_MB_STAT }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_ENC_MV }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_PAK_CTRL }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_REPACK_STAT }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_SPS }; +}; +template <> +struct mfx_ext_buffer_id { + enum { id = MFX_EXTBUFF_FEI_PPS }; +}; +#endif +constexpr uint16_t max_num_ext_buffers = + 63 * 2; // '*2' is for max estimation if all extBuffer were 'paired' + +//helper function to initialize mfx ext buffer structure +template +void init_ext_buffer(T& ext_buffer) { + memset(&ext_buffer, 0, sizeof(ext_buffer)); + reinterpret_cast(&ext_buffer)->BufferId = mfx_ext_buffer_id::id; + reinterpret_cast(&ext_buffer)->BufferSz = sizeof(ext_buffer); +} + +template +struct IsPairedMfxExtBuffer : std::false_type {}; +template <> +struct IsPairedMfxExtBuffer : std::true_type {}; +template <> +struct IsPairedMfxExtBuffer : std::true_type {}; +template <> +struct IsPairedMfxExtBuffer : std::true_type {}; +#if (MFX_VERSION < 2000) +template <> +struct IsPairedMfxExtBuffer : std::true_type {}; +template <> +struct IsPairedMfxExtBuffer : std::true_type {}; +template <> +struct IsPairedMfxExtBuffer : std::true_type {}; +template <> +struct IsPairedMfxExtBuffer : std::true_type {}; +template <> +struct IsPairedMfxExtBuffer : std::true_type {}; +template <> +struct IsPairedMfxExtBuffer : std::true_type {}; +template <> +struct IsPairedMfxExtBuffer : std::true_type {}; +template <> +struct IsPairedMfxExtBuffer : std::true_type {}; +template <> +struct IsPairedMfxExtBuffer : std::true_type {}; +template <> +struct IsPairedMfxExtBuffer : std::true_type {}; +#endif + +template +struct ExtParamAccessor { +private: + using mfxExtBufferDoublePtr = mfxExtBuffer**; + +public: + mfxU16& NumExtParam; + mfxExtBufferDoublePtr& ExtParam; + ExtParamAccessor(const R& r) + : NumExtParam(const_cast(r.NumExtParam)), + ExtParam(const_cast(r.ExtParam)) {} +}; + +template <> +struct ExtParamAccessor { +private: + using mfxExtBufferDoublePtr = mfxExtBuffer**; + +public: + mfxU16& NumExtParam; + mfxExtBufferDoublePtr& ExtParam; + ExtParamAccessor(const mfxFrameSurface1& r) + : NumExtParam(const_cast(r.Data.NumExtParam)), + ExtParam(const_cast(r.Data.ExtParam)) {} +}; + +/** ExtBufHolder is an utility class which + * provide interface for mfxExtBuffer objects management in any mfx structure (e.g. mfxVideoParam) + */ +template +class ExtBufHolder : public T { +public: + ExtBufHolder() : T(), m_ext_buf() { + m_ext_buf.reserve(max_num_ext_buffers); + } + + ~ExtBufHolder() // only buffers allocated by wrapper can be released + { + for (auto it = m_ext_buf.begin(); it != m_ext_buf.end(); it++) { + delete[](mfxU8*)(*it); + } + } + + ExtBufHolder(const ExtBufHolder& ref) { + m_ext_buf.reserve(max_num_ext_buffers); + *this = ref; // call to operator= + } + + ExtBufHolder& operator=(const ExtBufHolder& ref) { + const T* src_base = &ref; + return operator =(*src_base); + } + + ExtBufHolder(const T& ref) { + *this = ref; // call to operator= + } + + ExtBufHolder& operator=(const T& ref) { + // copy content of main structure type T + T* dst_base = this; + const T* src_base = &ref; + *dst_base = *src_base; + + //remove all existing extension buffers + ClearBuffers(); + + const auto ref_ = ExtParamAccessor(ref); + + //reproduce list of extension buffers and copy its content + for (size_t i = 0; i < ref_.NumExtParam; ++i) { + const auto src_buf = ref_.ExtParam[i]; + if (!src_buf) + throw mfxError(MFX_ERR_NULL_PTR, "Null pointer attached to source ExtParam"); + if (!IsCopyAllowed(src_buf->BufferId)) { + auto msg = + "Deep copy of '" + Fourcc2Str(src_buf->BufferId) + "' extBuffer is not allowed"; + throw mfxError(MFX_ERR_UNDEFINED_BEHAVIOR, msg); + } + + // 'false' below is because here we just copy extBuffer's one by one + auto dst_buf = AddExtBuffer(src_buf->BufferId, src_buf->BufferSz, false); + // copy buffer content w/o restoring its type + MSDK_MEMCPY((void*)dst_buf, (void*)src_buf, src_buf->BufferSz); + } + + return *this; + } + + ExtBufHolder(ExtBufHolder&&) = default; + ExtBufHolder& operator=(ExtBufHolder&&) = default; + + // Always returns a valid pointer or throws an exception + template + TB* AddExtBuffer() { + mfxExtBuffer* b = + AddExtBuffer(mfx_ext_buffer_id::id, sizeof(TB), IsPairedMfxExtBuffer::value); + return (TB*)b; + } + + template + void RemoveExtBuffer() { + auto it = std::find_if(m_ext_buf.begin(), + m_ext_buf.end(), + CmpExtBufById(mfx_ext_buffer_id::id)); + if (it != m_ext_buf.end()) { + delete[](mfxU8*)(*it); + it = m_ext_buf.erase(it); + + if (IsPairedMfxExtBuffer::value) { + if (it == m_ext_buf.end() || (*it)->BufferId != mfx_ext_buffer_id::id) + throw mfxError(MFX_ERR_NULL_PTR, + "RemoveExtBuffer: ExtBuffer's parity has been broken"); + + delete[](mfxU8*)(*it); + m_ext_buf.erase(it); + } + + RefreshBuffers(); + } + } + + template + TB* GetExtBuffer(uint32_t fieldId = 0) const { + return (TB*)FindExtBuffer(mfx_ext_buffer_id::id, fieldId); + } + + template + operator TB*() { + return (TB*)FindExtBuffer(mfx_ext_buffer_id::id, 0); + } + + template + operator TB*() const { + return (TB*)FindExtBuffer(mfx_ext_buffer_id::id, 0); + } + +private: + mfxExtBuffer* AddExtBuffer(mfxU32 id, mfxU32 size, bool isPairedExtBuffer) { + if (!size || !id) + throw mfxError(MFX_ERR_NULL_PTR, "AddExtBuffer: wrong size or id!"); + + auto it = std::find_if(m_ext_buf.begin(), m_ext_buf.end(), CmpExtBufById(id)); + if (it == m_ext_buf.end()) { + auto buf = (mfxExtBuffer*)new mfxU8[size]; + memset(buf, 0, size); + m_ext_buf.push_back(buf); + + buf->BufferId = id; + buf->BufferSz = size; + + if (isPairedExtBuffer) { + // Allocate the other mfxExtBuffer _right_after_ the first one ... + buf = (mfxExtBuffer*)new mfxU8[size]; + memset(buf, 0, size); + m_ext_buf.push_back(buf); + + buf->BufferId = id; + buf->BufferSz = size; + + RefreshBuffers(); + return m_ext_buf[m_ext_buf.size() - 2]; // ... and return a pointer to the first one + } + + RefreshBuffers(); + return m_ext_buf.back(); + } + + return *it; + } + + mfxExtBuffer* FindExtBuffer(mfxU32 id, uint32_t fieldId) const { + auto it = std::find_if(m_ext_buf.begin(), m_ext_buf.end(), CmpExtBufById(id)); + if (fieldId && it != m_ext_buf.end()) { + ++it; + return it != m_ext_buf.end() ? *it : nullptr; + } + return it != m_ext_buf.end() ? *it : nullptr; + } + + void RefreshBuffers() { + auto this_ = ExtParamAccessor(*this); + this_.NumExtParam = static_cast(m_ext_buf.size()); + this_.ExtParam = this_.NumExtParam ? m_ext_buf.data() : nullptr; + } + + void ClearBuffers() { + if (m_ext_buf.size()) { + for (auto it = m_ext_buf.begin(); it != m_ext_buf.end(); it++) { + delete[](mfxU8*)(*it); + } + m_ext_buf.clear(); + } + RefreshBuffers(); + } + + bool IsCopyAllowed(mfxU32 id) { + static const mfxU32 allowed[] = { + MFX_EXTBUFF_CODING_OPTION, + MFX_EXTBUFF_CODING_OPTION2, + MFX_EXTBUFF_CODING_OPTION3, +#if (MFX_VERSION < 2000) + MFX_EXTBUFF_FEI_PARAM, + MFX_EXTBUFF_BRC, +#endif + MFX_EXTBUFF_HEVC_PARAM, + MFX_EXTBUFF_VP9_PARAM, +#if (MFX_VERSION < 2000) + MFX_EXTBUFF_OPAQUE_SURFACE_ALLOCATION, + MFX_EXTBUFF_FEI_PPS, + MFX_EXTBUFF_FEI_SPS, + MFX_EXTBUFF_LOOKAHEAD_CTRL, + MFX_EXTBUFF_LOOKAHEAD_STAT +#endif + }; + + auto it = + std::find_if(std::begin(allowed), std::end(allowed), [&id](const mfxU32 allowed_id) { + return allowed_id == id; + }); + return it != std::end(allowed); + } + + struct CmpExtBufById { + mfxU32 id; + + CmpExtBufById(mfxU32 _id) : id(_id){}; + + bool operator()(mfxExtBuffer* b) { + return (b && b->BufferId == id); + }; + }; + + static std::string Fourcc2Str(mfxU32 fourcc) { + std::string s; + for (size_t i = 0; i < 4; i++) { + s.push_back(*(i + (char*)&fourcc)); + } + return s; + } + + std::vector m_ext_buf; +}; + +using MfxVideoParamsWrapper = ExtBufHolder; +using mfxEncodeCtrlWrap = ExtBufHolder; +using mfxInitParamlWrap = ExtBufHolder; +using mfxFrameSurfaceWrap = ExtBufHolder; + +class mfxBitstreamWrapper : public ExtBufHolder { + typedef ExtBufHolder base; + +public: + mfxBitstreamWrapper() : base(), m_data() {} + + mfxBitstreamWrapper(mfxU32 n_bytes) : base() { + Extend(n_bytes); + } + + mfxBitstreamWrapper(const mfxBitstreamWrapper& bs_wrapper) + : base(bs_wrapper), + m_data(bs_wrapper.m_data) { + Data = m_data.data(); + } + + mfxBitstreamWrapper& operator=(mfxBitstreamWrapper const& bs_wrapper) { + mfxBitstreamWrapper tmp(bs_wrapper); + + *this = std::move(tmp); + + return *this; + } + + mfxBitstreamWrapper(mfxBitstreamWrapper&& bs_wrapper) = default; + mfxBitstreamWrapper& operator=(mfxBitstreamWrapper&& bs_wrapper) = default; + ~mfxBitstreamWrapper() = default; + + void Extend(mfxU32 n_bytes) { + if (MaxLength >= n_bytes) + return; + + m_data.resize(n_bytes); + + Data = m_data.data(); + MaxLength = n_bytes; + } + +private: + std::vector m_data; +}; + +class CSmplYUVReader { +public: + typedef std::list::iterator ls_iterator; + CSmplYUVReader(); + virtual ~CSmplYUVReader(); + + virtual void Close(); + virtual mfxStatus Init(std::list inputs, + mfxU32 ColorFormat, + bool shouldShiftP010 = false); + virtual mfxStatus SkipNframesFromBeginning(mfxU16 w, mfxU16 h, mfxU32 viewId, mfxU32 nframes); + virtual mfxStatus LoadNextFrame(mfxFrameSurface1* pSurface); + virtual void Reset(); + mfxU32 m_ColorFormat; // color format of input YUV data, YUV420 or NV12 + +protected: + std::vector m_files; + + bool shouldShift10BitsHigh; + bool m_bInited; +}; + +class CSmplBitstreamWriter { +public: + CSmplBitstreamWriter(); + virtual ~CSmplBitstreamWriter(); + + virtual mfxStatus Init(const msdk_char* strFileName); + virtual mfxStatus WriteNextFrame(mfxBitstream* pMfxBitstream, bool isPrint = true); + virtual mfxStatus Reset(); + virtual void Close(); + mfxU32 m_nProcessedFramesNum; + +protected: + FILE* m_fSink; + bool m_bInited; + msdk_string m_sFile; +}; + +class CSmplYUVWriter { +public: + CSmplYUVWriter(); + virtual ~CSmplYUVWriter(); + + virtual void Close(); + virtual mfxStatus Init(const msdk_char* strFileName, const mfxU32 numViews); + virtual mfxStatus Reset(); + virtual mfxStatus WriteNextFrame(mfxFrameSurface1* pSurface); + virtual mfxStatus WriteNextFrameI420(mfxFrameSurface1* pSurface); + + void SetMultiView() { + m_bIsMultiView = true; + } + +protected: + FILE *m_fDest, **m_fDestMVC; + bool m_bInited, m_bIsMultiView; + mfxU32 m_numCreatedFiles; + msdk_string m_sFile; + mfxU32 m_nViews; +}; + +class CSmplBitstreamReader { +public: + CSmplBitstreamReader(); + virtual ~CSmplBitstreamReader(); + + //resets position to file begin + virtual void Reset(); + virtual void Close(); + virtual mfxStatus Init(const msdk_char* strFileName); + virtual mfxStatus ReadNextFrame(mfxBitstream* pBS); + +protected: + FILE* m_fSource; + bool m_bInited; +}; + +class CH264FrameReader : public CSmplBitstreamReader { +public: + CH264FrameReader(); + virtual ~CH264FrameReader(); + + /** Free resources.*/ + virtual void Close(); + virtual mfxStatus Init(const msdk_char* strFileName); + virtual mfxStatus ReadNextFrame(mfxBitstream* pBS); + +private: + mfxBitstream* m_processedBS; + // input bit stream + mfxBitstreamWrapper m_originalBS; + + mfxStatus PrepareNextFrame(mfxBitstream* in, mfxBitstream** out); + + // is stream ended + bool m_isEndOfStream; + + std::unique_ptr m_pNALSplitter; + FrameSplitterInfo* m_frame; + mfxU8* m_plainBuffer; + mfxU32 m_plainBufferSize; + mfxBitstream m_outBS; +}; + +//provides output bistream with at least 1 frame, reports about error +class CJPEGFrameReader : public CSmplBitstreamReader { + enum JPEGMarker { SOI = 0xD8FF, EOI = 0xD9FF }; + +public: + virtual mfxStatus ReadNextFrame(mfxBitstream* pBS); + +protected: + mfxU32 FindMarker(mfxBitstream* pBS, mfxU32 startOffset, JPEGMarker marker); +}; + +//appends output bistream with exactly 1 frame, reports about error +class CIVFFrameReader : public CSmplBitstreamReader { +public: + CIVFFrameReader(); + virtual void Reset(); + virtual mfxStatus Init(const msdk_char* strFileName); + virtual mfxStatus ReadNextFrame(mfxBitstream* pBS); + +protected: + /*bytes 0-3 signature: 'DKIF' + bytes 4-5 version (should be 0) + bytes 6-7 length of header in bytes + bytes 8-11 codec FourCC (e.g., 'VP80') + bytes 12-13 width in pixels + bytes 14-15 height in pixels + bytes 16-19 frame rate + bytes 20-23 time scale + bytes 24-27 number of frames in file + bytes 28-31 unused*/ + + struct DKIFHrd { + mfxU32 dkif; + mfxU16 version; + mfxU16 header_len; + mfxU32 codec_FourCC; + mfxU16 width; + mfxU16 height; + mfxU32 frame_rate; + mfxU32 time_scale; + mfxU32 num_frames; + mfxU32 unused; + } m_hdr; + mfxStatus ReadHeader(); +}; + +// writes bitstream to duplicate-file & supports joining +// (for ViewOutput encoder mode) +class CSmplBitstreamDuplicateWriter : public CSmplBitstreamWriter { +public: + CSmplBitstreamDuplicateWriter(); + + virtual mfxStatus InitDuplicate(const msdk_char* strFileName); + virtual mfxStatus JoinDuplicate(CSmplBitstreamDuplicateWriter* pJoinee); + virtual mfxStatus WriteNextFrame(mfxBitstream* pMfxBitstream, bool isPrint = true); + virtual void Close(); + +protected: + FILE* m_fSinkDuplicate; + bool m_bJoined; +}; + +#if (MFX_VERSION >= 2000) +class CIVFFrameWriter : public CSmplBitstreamWriter { +public: + CIVFFrameWriter(); + + virtual mfxStatus Reset(); + virtual mfxStatus Init(const msdk_char* strFileName, + const mfxU16 w, + const mfxU16 h, + const mfxU32 fr_nom, + const mfxU32 fr_denom); + virtual mfxStatus WriteNextFrame(mfxBitstream* pMfxBitstream, bool isPrint = true); + virtual void Close(); + +protected: + /* 32 bytes for stream header + bytes 0-3 signature: 'DKIF' + bytes 4-5 version (should be 0) + bytes 6-7 length of header in bytes + bytes 8-11 codec FourCC (e.g., 'VP80') + bytes 12-13 width in pixels + bytes 14-15 height in pixels + bytes 16-19 frame rate + bytes 20-23 time scale + bytes 24-27 number of frames in file + bytes 28-31 unused + */ + struct streamHeader { + mfxU32 dkif; + mfxU16 version; + mfxU16 header_len; + mfxU32 codec_FourCC; + mfxU16 width; + mfxU16 height; + mfxU32 frame_rate; + mfxU32 time_scale; + mfxU32 num_frames; + mfxU32 unused; + } m_streamHeader; + + /* 12 bytes for frame header + bytes 0-3 frame size + bytes 4-11 pts + */ + struct frameHeader { + mfxU32 frame_size; + mfxU32 pts_high; + mfxU32 pts_low; + } m_frameHeader; + + mfxU64 m_frameNum; + mfxStatus WriteStreamHeader(); + mfxStatus WriteFrameHeader(); + void UpdateNumberOfFrames(); +}; +#endif + +//timeinterval calculation helper + +template +class CTimeInterval : private no_copy { + static double g_Freq; + double& m_start; + double m_own; //reference to this if external counter not required + //since QPC functions are quite slow it makes sense to optionally enable them + bool m_bEnable; + msdk_tick m_StartTick; + +public: + CTimeInterval(double& dRef, bool bEnable = true) + : m_start(dRef), + m_bEnable(bEnable), + m_StartTick(0) { + if (!m_bEnable) + return; + Initialize(); + } + CTimeInterval(bool bEnable = true) + : m_start(m_own), + m_own(), + m_bEnable(bEnable), + m_StartTick(0) { + if (!m_bEnable) + return; + Initialize(); + } + + //updates external value with current time + double Commit() { + if (!m_bEnable) + return 0.0; + + if (0.0 != g_Freq) { + m_start = MSDK_GET_TIME(msdk_time_get_tick(), m_StartTick, g_Freq); + } + return m_start; + } + //last comitted value + double Last() { + return m_start; + } + ~CTimeInterval() { + Commit(); + } + +private: + void Initialize() { + if (0.0 == g_Freq) { + g_Freq = (double)msdk_time_get_frequency(); + } + m_StartTick = msdk_time_get_tick(); + } +}; + +template +double CTimeInterval::g_Freq = 0.0f; + +/** Helper class to measure execution time of some code. Use this class + * if you need manual measurements. + * + * Usage example: + * { + * CTimer timer; + * msdk_tick summary_tick; + * + * timer.Start() + * function_to_measure(); + * summary_tick = timer.GetDelta(); + * printf("Elapsed time 1: %f\n", timer.GetTime()); + * ... + * if (condition) timer.Start(); + function_to_measure(); + * if (condition) { + * summary_tick += timer.GetDelta(); + * printf("Elapsed time 2: %f\n", timer.GetTime(); + * } + * printf("Overall time: %f\n", CTimer::ConvertToSeconds(summary_tick); + * } + */ +class CTimer { +public: + CTimer() : start(0) {} + static msdk_tick GetFrequency() { + if (!frequency) + frequency = msdk_time_get_frequency(); + return frequency; + } + static mfxF64 ConvertToSeconds(msdk_tick elapsed) { + return MSDK_GET_TIME(elapsed, 0, GetFrequency()); + } + + inline void Start() { + start = msdk_time_get_tick(); + } + inline msdk_tick GetDelta() { + return msdk_time_get_tick() - start; + } + inline mfxF64 GetTime() { + return MSDK_GET_TIME(msdk_time_get_tick(), start, GetFrequency()); + } + +protected: + static msdk_tick frequency; + msdk_tick start; + +private: + CTimer(const CTimer&); + void operator=(const CTimer&); +}; + +/** Helper class to measure overall execution time of some code. Use this + * class if you want to measure execution time of the repeatedly executed + * code. + * + * Usage example 1: + * + * msdk_tick summary_tick = 0; + * + * void function() { + * + * { + * CAutoTimer timer(&summary_tick); + * ... + * } + * ... + * int main() { + * for (;condition;) { + * function(); + * } + * printf("Elapsed time: %f\n", CTimer::ConvertToSeconds(summary_tick); + * return 0; + * } + * + * Usage example 2: + * { + * msdk_tick summary_tick = 0; + * + * { + * CAutoTimer timer(&summary_tick); + * + * for (;condition;) { + * ... + * { + * function_to_measure(); + * timer.Sync(); + * printf("Progress: %f\n", CTimer::ConvertToSeconds(summary_tick); + * } + * ... + * } + * } + * printf("Elapsed time: %f\n", CTimer::ConvertToSeconds(summary_tick); + * } + * + */ +class CAutoTimer { +public: + CAutoTimer(msdk_tick& _elapsed) : elapsed(_elapsed), start(0) { + elapsed = _elapsed; + start = msdk_time_get_tick(); + } + ~CAutoTimer() { + elapsed += msdk_time_get_tick() - start; + } + msdk_tick Sync() { + msdk_tick cur = msdk_time_get_tick(); + elapsed += cur - start; + start = cur; + return elapsed; + } + +protected: + msdk_tick& elapsed; + msdk_tick start; + +private: + CAutoTimer(const CAutoTimer&); + void operator=(const CAutoTimer&); +}; + +mfxStatus ConvertFrameRate(mfxF64 dFrameRate, mfxU32* pnFrameRateExtN, mfxU32* pnFrameRateExtD); +mfxF64 CalculateFrameRate(mfxU32 nFrameRateExtN, mfxU32 nFrameRateExtD); + +template +mfxU16 GetFreeSurfaceIndex(T* pSurfacesPool, mfxU16 nPoolSize) { + constexpr mfxU16 MSDK_INVALID_SURF_IDX = 0xffff; + + if (pSurfacesPool) { + for (mfxU16 i = 0; i < nPoolSize; i++) { + if (0 == pSurfacesPool[i].Data.Locked) { + return i; + } + } + } + return MSDK_INVALID_SURF_IDX; +} + +mfxU16 GetFreeSurface(mfxFrameSurface1* pSurfacesPool, mfxU16 nPoolSize); +void FreeSurfacePool(mfxFrameSurface1* pSurfacesPool, mfxU16 nPoolSize); + +mfxU16 CalculateDefaultBitrate(mfxU32 nCodecId, + mfxU32 nTargetUsage, + mfxU32 nWidth, + mfxU32 nHeight, + mfxF64 dFrameRate); + +//serialization fnc set +std::basic_string CodecIdToStr(mfxU32 nFourCC); +mfxU16 StrToTargetUsage(msdk_string strInput); +const msdk_char* TargetUsageToStr(mfxU16 tu); +const msdk_char* ColorFormatToStr(mfxU32 format); +const msdk_char* MfxStatusToStr(mfxStatus sts); + +// sets bitstream->PicStruct parsing first APP0 marker in bitstream +mfxStatus MJPEG_AVI_ParsePicStruct(mfxBitstream* bitstream); + +// For MVC encoding/decoding purposes +std::basic_string FormMVCFileName(const msdk_char* strFileName, const mfxU32 numView); + +//piecewise linear function for bitrate approximation +class PartiallyLinearFNC { + mfxF64* m_pX; + mfxF64* m_pY; + mfxU32 m_nPoints; + mfxU32 m_nAllocated; + +public: + PartiallyLinearFNC(); + ~PartiallyLinearFNC(); + + void AddPair(mfxF64 x, mfxF64 y); + mfxF64 at(mfxF64); + +private: + DISALLOW_COPY_AND_ASSIGN(PartiallyLinearFNC); +}; + +// function for getting a pointer to a specific external buffer from the array +mfxExtBuffer* GetExtBuffer(mfxExtBuffer** ebuffers, mfxU32 nbuffers, mfxU32 BufferId); + +// returns false if buf length is insufficient, otherwise +// skips step bytes in buf with specified length and returns true +template +bool skip(const Buf_t*& buf, Length_t& length, Length_t step) { + if (length < step) + return false; + + buf += step; + length -= step; + + return true; +} + +//do not link MediaSDK dispatched if class not used +struct MSDKAdapter { + // returns the number of adapter associated with MSDK session, 0 for SW session + static mfxU32 GetNumber(mfxSession session, mfxIMPL implVia = 0) { + mfxU32 adapterNum = 0; // default + mfxIMPL impl = MFX_IMPL_SOFTWARE; // default in case no HW IMPL is found + + // we don't care for error codes in further code; if something goes wrong we fall back to the default adapter + if (session) { + MFXQueryIMPL(session, &impl); + } + else { + // an auxiliary session, internal for this function + mfxSession auxSession; + memset(&auxSession, 0, sizeof(auxSession)); + + mfxVersion ver = { { 1, 1 } }; // minimum API version which supports multiple devices + MFXInit(MFX_IMPL_HARDWARE_ANY | implVia, &ver, &auxSession); + MFXQueryIMPL(auxSession, &impl); + MFXClose(auxSession); + } + + // extract the base implementation type + mfxIMPL baseImpl = MFX_IMPL_BASETYPE(impl); + + const struct { + // actual implementation + mfxIMPL impl; + // adapter's number + mfxU32 adapterID; + + } implTypes[] = { { MFX_IMPL_HARDWARE, 0 }, + { MFX_IMPL_SOFTWARE, 0 }, + { MFX_IMPL_HARDWARE2, 1 }, + { MFX_IMPL_HARDWARE3, 2 }, + { MFX_IMPL_HARDWARE4, 3 } }; + + // get corresponding adapter number + for (mfxU8 i = 0; i < sizeof(implTypes) / sizeof(*implTypes); i++) { + if (implTypes[i].impl == baseImpl) { + adapterNum = implTypes[i].adapterID; + break; + } + } + + return adapterNum; + } +}; + +struct APIChangeFeatures { + bool JpegDecode; + bool JpegEncode; + bool MVCDecode; + bool MVCEncode; + bool IntraRefresh; + bool LowLatency; + bool ViewOutput; + bool LookAheadBRC; + bool AudioDecode; + bool SupportCodecPluginAPI; +}; + +mfxVersion getMinimalRequiredVersion(const APIChangeFeatures& features); + +enum msdkAPIFeature { + MSDK_FEATURE_NONE, + MSDK_FEATURE_MVC, + MSDK_FEATURE_JPEG_DECODE, + MSDK_FEATURE_LOW_LATENCY, + MSDK_FEATURE_MVC_VIEWOUTPUT, + MSDK_FEATURE_JPEG_ENCODE, + MSDK_FEATURE_LOOK_AHEAD, + MSDK_FEATURE_PLUGIN_API +}; + +/* Returns true if feature is supported in the given API version */ +bool CheckVersion(mfxVersion* version, msdkAPIFeature feature); + +void ConfigureAspectRatioConversion(mfxInfoVPP* pVppInfo); + +void SEICalcSizeType(std::vector& data, mfxU16 type, mfxU32 size); + +mfxU8 Char2Hex(msdk_char ch); + +enum MsdkTraceLevel { + MSDK_TRACE_LEVEL_SILENT = -1, + MSDK_TRACE_LEVEL_CRITICAL = 0, + MSDK_TRACE_LEVEL_ERROR = 1, + MSDK_TRACE_LEVEL_WARNING = 2, + MSDK_TRACE_LEVEL_INFO = 3, + MSDK_TRACE_LEVEL_DEBUG = 4, +}; + +msdk_string NoFullPath(const msdk_string&); +int msdk_trace_get_level(); +void msdk_trace_set_level(int); +bool msdk_trace_is_printable(int); + +msdk_ostream& operator<<(msdk_ostream& os, MsdkTraceLevel tt); + +template +mfxStatus msdk_opt_read(const msdk_char* string, T& value); + +template +mfxStatus msdk_opt_read(const msdk_char* string, msdk_char (&value)[S]) { + if (!S) { + return MFX_ERR_UNKNOWN; + } + value[0] = 0; +#if defined(_WIN32) || defined(_WIN64) + value[S - 1] = 0; + return (0 == _tcsncpy_s(value, string, S - 1)) ? MFX_ERR_NONE : MFX_ERR_UNKNOWN; +#else + if (strlen(string) < S) { + strncpy(value, string, S - 1); + value[S - 1] = 0; + return MFX_ERR_NONE; + } + return MFX_ERR_UNKNOWN; +#endif +} + +template +inline mfxStatus msdk_opt_read(const msdk_string& string, T& value) { + return msdk_opt_read(string.c_str(), value); +} + +mfxStatus StrFormatToCodecFormatFourCC(msdk_char* strInput, mfxU32& codecFormat); +msdk_string StatusToString(mfxStatus sts); +mfxI32 getMonitorType(msdk_char* str); + +void WaitForDeviceToBecomeFree(MFXVideoSession& session, + mfxSyncPoint& syncPoint, + mfxStatus& currentStatus); + +mfxU16 FourCCToChroma(mfxU32 fourCC); + +#endif //__SAMPLE_UTILS_H__ diff --git a/tools/legacy/sample_common/include/sample_vpl_common.h b/tools/legacy/sample_common/include/sample_vpl_common.h new file mode 100644 index 00000000..4450b7f5 --- /dev/null +++ b/tools/legacy/sample_common/include/sample_vpl_common.h @@ -0,0 +1,92 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __SAMPLE_VPL_COMMON_H__ +#define __SAMPLE_VPL_COMMON_H__ + +#include "vpl/mfxstructures.h" +#include "vpl/mfxvideo.h" + +#if (MFX_VERSION >= 2000) +class MFXMemory { +public: + explicit MFXMemory(mfxSession session) { + m_session = session; + } + virtual ~MFXMemory(void) {} + + virtual mfxStatus GetSurfaceForVPP(mfxFrameSurface1 **surface) { + return MFXMemory_GetSurfaceForVPP(m_session, surface); + } + + virtual mfxStatus GetSurfaceForVPPIn(mfxFrameSurface1 **surface) { + return GetSurfaceForVPP(surface); + } + + virtual mfxStatus GetSurfaceForVPPOut(mfxFrameSurface1 **surface) { + return MFXMemory_GetSurfaceForVPPOut(m_session, surface); + } + + virtual mfxStatus GetSurfaceForEncode(mfxFrameSurface1 **surface) { + return MFXMemory_GetSurfaceForEncode(m_session, surface); + } + + virtual mfxStatus GetSurfaceForDecode(mfxFrameSurface1 **surface) { + return MFXMemory_GetSurfaceForDecode(m_session, surface); + } + +protected: + mfxSession m_session; // (mfxSession) handle to the owning session +}; + +class MFXVideoSession2 : public MFXVideoSession { +public: + mfxSession *getSessionPtr() { + return &m_session; + } +}; + +class MFXVideoDECODE_VPP { +public: + explicit MFXVideoDECODE_VPP(mfxSession session) { + m_session = session; + } + virtual ~MFXVideoDECODE_VPP(void) {} + + virtual mfxStatus Init(mfxVideoParam *decode_par, + mfxVideoChannelParam **vpp_par_array, + mfxU32 num_vpp_par) { + return MFXVideoDECODE_VPP_Init(m_session, decode_par, vpp_par_array, num_vpp_par); + } + + virtual mfxStatus DecodeFrameAsync(mfxBitstream *bs, + mfxU32 *skip_channels, + mfxU32 num_skip_channels, + mfxSurfaceArray **surf_array_out) { + return MFXVideoDECODE_VPP_DecodeFrameAsync(m_session, + bs, + skip_channels, + num_skip_channels, + surf_array_out); + } + + virtual mfxStatus Reset(mfxVideoParam *decode_par, + mfxVideoChannelParam **vpp_par_array, + mfxU32 num_vpp_par) { + return MFXVideoDECODE_VPP_Reset(m_session, decode_par, vpp_par_array, num_vpp_par); + } + + virtual mfxStatus GetChannelParam(mfxVideoChannelParam *par, mfxU32 channel_id) { + return MFXVideoDECODE_VPP_GetChannelParam(m_session, par, channel_id); + } + +protected: + mfxSession m_session; // (mfxSession) handle to the owning session +}; + +#endif + +#endif //__SAMPLE_VPL_COMMON_H__ diff --git a/tools/legacy/sample_common/include/surface_auto_lock.h b/tools/legacy/sample_common/include/surface_auto_lock.h new file mode 100644 index 00000000..16ec3be7 --- /dev/null +++ b/tools/legacy/sample_common/include/surface_auto_lock.h @@ -0,0 +1,55 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#pragma once + +#include "sample_utils.h" +#include "vpl/mfxstructures.h" + +/* + Rationale: locks allocator if necessary to get RAW pointers, unlock it at the end +*/ +class SurfaceAutoLock : private no_copy { +public: + SurfaceAutoLock(mfxFrameAllocator &alloc, mfxFrameSurface1 &srf) + : m_alloc(alloc), + m_srf(srf), + m_lockRes(MFX_ERR_NONE), + m_bLocked() { + LockFrame(); + } + operator mfxStatus() { + return m_lockRes; + } + ~SurfaceAutoLock() { + UnlockFrame(); + } + +protected: + mfxFrameAllocator &m_alloc; + mfxFrameSurface1 &m_srf; + mfxStatus m_lockRes; + bool m_bLocked; + + void LockFrame() { + //no allocator used, no need to do lock + if (m_srf.Data.Y != 0) + return; + //lock required + m_lockRes = m_alloc.Lock(m_alloc.pthis, m_srf.Data.MemId, &m_srf.Data); + if (m_lockRes == MFX_ERR_NONE) { + m_bLocked = true; + } + } + + void UnlockFrame() { + if (m_lockRes != MFX_ERR_NONE || !m_bLocked) { + return; + } + //unlock required + m_alloc.Unlock(m_alloc.pthis, m_srf.Data.MemId, &m_srf.Data); + } +}; diff --git a/tools/legacy/sample_common/include/sysmem_allocator.h b/tools/legacy/sample_common/include/sysmem_allocator.h new file mode 100644 index 00000000..8c37be8f --- /dev/null +++ b/tools/legacy/sample_common/include/sysmem_allocator.h @@ -0,0 +1,68 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __SYSMEM_ALLOCATOR_H__ +#define __SYSMEM_ALLOCATOR_H__ + +#include +#include +#include "base_allocator.h" + +struct sBuffer { + mfxU32 id; + mfxU32 nbytes; + mfxU16 type; +}; + +struct sFrame { + mfxU32 id; + mfxFrameInfo info; +}; + +struct SysMemAllocatorParams : mfxAllocatorParams { + SysMemAllocatorParams() : mfxAllocatorParams(), pBufferAllocator(NULL) {} + MFXBufferAllocator *pBufferAllocator; +}; + +class SysMemFrameAllocator : public BaseFrameAllocator { +public: + SysMemFrameAllocator(); + virtual ~SysMemFrameAllocator(); + + virtual mfxStatus Init(mfxAllocatorParams *pParams); + virtual mfxStatus Close(); + virtual mfxStatus LockFrame(mfxMemId mid, mfxFrameData *ptr); + virtual mfxStatus UnlockFrame(mfxMemId mid, mfxFrameData *ptr); + virtual mfxStatus GetFrameHDL(mfxMemId mid, mfxHDL *handle); + +protected: + virtual mfxStatus CheckRequestType(mfxFrameAllocRequest *request); + virtual mfxStatus ReleaseResponse(mfxFrameAllocResponse *response); + virtual mfxStatus AllocImpl(mfxFrameAllocRequest *request, mfxFrameAllocResponse *response); + virtual mfxStatus ReallocImpl(mfxMemId midIn, + const mfxFrameInfo *info, + mfxU16 memType, + mfxMemId *midOut); + + MFXBufferAllocator *m_pBufferAllocator; + bool m_bOwnBufferAllocator; + + std::vector m_vResp; + + mfxMemId *GetMidHolder(mfxMemId mid); +}; + +class SysMemBufferAllocator : public MFXBufferAllocator { +public: + SysMemBufferAllocator(); + virtual ~SysMemBufferAllocator(); + virtual mfxStatus AllocBuffer(mfxU32 nbytes, mfxU16 type, mfxMemId *mid); + virtual mfxStatus LockBuffer(mfxMemId mid, mfxU8 **ptr); + virtual mfxStatus UnlockBuffer(mfxMemId mid); + virtual mfxStatus FreeBuffer(mfxMemId mid); +}; + +#endif // __SYSMEM_ALLOCATOR_H__ \ No newline at end of file diff --git a/tools/legacy/sample_common/include/time_statistics.h b/tools/legacy/sample_common/include/time_statistics.h new file mode 100644 index 00000000..6df313cd --- /dev/null +++ b/tools/legacy/sample_common/include/time_statistics.h @@ -0,0 +1,214 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#pragma once + +#include +#include +#include "math.h" +#include "vm/strings_defs.h" +#include "vm/time_defs.h" +#include "vpl/mfxstructures.h" + +class CTimeStatisticsReal { +public: + CTimeStatisticsReal() { + ResetStatistics(); + start = 0; + m_bNeedDumping = false; + } + + static msdk_tick GetFrequency() { + if (!frequency) { + frequency = msdk_time_get_frequency(); + } + return frequency; + } + + static mfxF64 ConvertToSeconds(msdk_tick elapsed) { + return MSDK_GET_TIME(elapsed, 0, GetFrequency()); + } + + inline void StartTimeMeasurement() { + start = msdk_time_get_tick(); + } + + inline void StopTimeMeasurement() { + mfxF64 delta = GetDeltaTime(); + totalTime += delta; + totalTimeSquares += delta * delta; + // dump in ms: + if (m_bNeedDumping) + m_time_deltas.push_back(delta * 1000); + + if (delta < minTime) { + minTime = delta; + } + + if (delta > maxTime) { + maxTime = delta; + } + numMeasurements++; + } + + inline void StopTimeMeasurementWithCheck() { + if (start) { + StopTimeMeasurement(); + } + } + + inline mfxF64 GetDeltaTime() { + return MSDK_GET_TIME(msdk_time_get_tick(), start, GetFrequency()); + } + + inline mfxF64 GetDeltaTimeInMiliSeconds() { + return GetDeltaTime() * 1000; + } + + inline void TurnOnDumping() { + m_bNeedDumping = true; + } + + inline void TurnOffDumping() { + m_bNeedDumping = false; + } + + inline void PrintStatistics(const msdk_char* prefix) { + msdk_printf( + MSDK_STRING( + "%s Total:%.3lfms(%lld smpls),Avg %.3lfms,StdDev:%.3lfms,Min:%.3lfms,Max:%.3lfms\n"), + prefix, + totalTime, + numMeasurements, + GetAvgTime(false), + GetTimeStdDev(false), + GetMinTime(false), + GetMaxTime(false)); + } + + inline mfxU64 GetNumMeasurements() { + return numMeasurements; + } + + inline mfxF64 GetAvgTime(bool inSeconds = true) { + if (inSeconds) { + return (numMeasurements ? totalTime / numMeasurements : 0); + } + else { + return (numMeasurements ? totalTime / numMeasurements : 0) * 1000; + } + } + + inline mfxF64 GetTimeStdDev(bool inSeconds = true) { + mfxF64 avg = GetAvgTime(); + mfxF64 ftmp = + (numMeasurements ? sqrt(totalTimeSquares / numMeasurements - avg * avg) : 0.0); + return inSeconds ? ftmp : ftmp * 1000; + } + + inline mfxF64 GetMinTime(bool inSeconds = true) { + return inSeconds ? minTime : minTime * 1000; + } + + inline mfxF64 GetMaxTime(bool inSeconds = true) { + return inSeconds ? maxTime : maxTime * 1000; + } + + inline mfxF64 GetTotalTime(bool inSeconds = true) { + return inSeconds ? totalTime : totalTime * 1000; + } + + inline void ResetStatistics() { + totalTime = 0; + totalTimeSquares = 0; + minTime = 1E100; + maxTime = -1; + numMeasurements = 0; + m_time_deltas.clear(); + TurnOffDumping(); + } + +protected: + static msdk_tick frequency; + + msdk_tick start; + mfxF64 totalTime; + mfxF64 totalTimeSquares; + mfxF64 minTime; + mfxF64 maxTime; + mfxU64 numMeasurements; + std::vector m_time_deltas; + bool m_bNeedDumping; +}; + +class CTimeStatisticsDummy { +public: + static msdk_tick GetFrequency() { + if (!frequency) { + frequency = msdk_time_get_frequency(); + } + return frequency; + } + + static mfxF64 ConvertToSeconds(msdk_tick /*elapsed*/) { + return 0; + } + + inline void StartTimeMeasurement() {} + + inline void StopTimeMeasurement() {} + + inline void StopTimeMeasurementWithCheck() {} + + inline mfxF64 GetDeltaTime() { + return 0; + } + + inline mfxF64 GetDeltaTimeInMiliSeconds() { + return 0; + } + + inline void TurnOnDumping() {} + + inline void TurnOffDumping() {} + + inline void PrintStatistics(const msdk_char* /*prefix*/) {} + + inline mfxU64 GetNumMeasurements() { + return 0; + } + + inline mfxF64 GetAvgTime(bool) { + return 0; + } + + inline mfxF64 GetTimeStdDev(bool) { + return 0; + } + + inline mfxF64 GetMinTime(bool) { + return 0; + } + + inline mfxF64 GetMaxTime(bool) { + return 0; + } + + inline mfxF64 GetTotalTime(bool) { + return 0; + } + + inline void ResetStatistics() {} + +protected: + static msdk_tick frequency; +}; + +#ifdef TIME_STATS +typedef CTimeStatisticsReal CTimeStatistics; +#else +typedef CTimeStatisticsDummy CTimeStatistics; +#endif diff --git a/tools/legacy/sample_common/include/v4l2_util.h b/tools/legacy/sample_common/include/v4l2_util.h new file mode 100644 index 00000000..50f41460 --- /dev/null +++ b/tools/legacy/sample_common/include/v4l2_util.h @@ -0,0 +1,102 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __V4L2_UTIL_H__ +#define __V4L2_UTIL_H__ + +#include +#include +#include +#include +#include +#include +#include +#include "sample_defs.h" + +/* MIPI DRIVER Configurations*/ +#define _ISP_MODE_NONE 0x0000 +#define _ISP_MODE_CONTINUOUS 0x1000 +#define _ISP_MODE_STILL 0x2000 +#define _ISP_MODE_VIDEO 0x4000 +#define _ISP_MODE_PREVIEW 0x8000 + +#define CLEAR(x) memset(&(x), 0, sizeof(x)) +#define ERRSTR strerror(errno) + +#define BYE_ON(cond, ...) \ + do { \ + if (cond) { \ + int errsv = errno; \ + fprintf(stderr, "ERROR(%s:%d) : ", __FILE__, __LINE__); \ + errno = errsv; \ + fprintf(stderr, __VA_ARGS__); \ + abort(); \ + } \ + } while (0) + +enum AtomISPMode { NONE = 0, PREVIEW, STILL, VIDEO, CONTINUOUS }; + +enum V4L2PixelFormat { NO_FORMAT = 0, UYVY, YUY2 }; + +typedef struct _Buffer { + int fd, index; +} Buffer; + +extern Buffer *buffers; +void *PollingThread(void *data); + +class v4l2Device { +public: + v4l2Device(const char *devname = "/dev/video0", + uint32_t width = 1920, + uint32_t height = 1080, + uint32_t num_buffer = 4, + enum AtomISPMode MipiMode = NONE, + enum V4L2PixelFormat m_v4l2Format = NO_FORMAT); + + ~v4l2Device(); + + void Init(const char *devname, + uint32_t width, + uint32_t height, + uint32_t num_buffer, + enum V4L2PixelFormat v4l2Format, + enum AtomISPMode MipiMode, + int m_MipiPort); + + void V4L2Init(); + void V4L2Alloc(); + int blockIOCTL(int handle, int request, void *args); + int GetAtomISPModes(enum AtomISPMode mode); + void V4L2QueueBuffer(Buffer *buffer); + Buffer *V4L2DeQueueBuffer(Buffer *buffer); + void V4L2StartCapture(); + void V4L2StopCapture(); + int GetV4L2TerminationSignal(); + void PutOnQ(int x); + int GetOffQ(); + int ConvertToMFXFourCC(enum V4L2PixelFormat v4l2Format); + int ConvertToV4L2FourCC(); + int GetV4L2DisplayID() { + return m_fd; + } + bool ISV4L2Enabled() { + return (m_fd > 0) ? true : false; + } + +protected: + const char *m_devname; + uint32_t m_height; + uint32_t m_width; + uint32_t m_num_buffers; + struct v4l2_pix_format m_format; + int m_MipiPort; + enum AtomISPMode m_MipiMode; + enum V4L2PixelFormat m_v4l2Format; + int m_fd; +}; + +#endif // ifdef __V4L2_UTIL_H__ diff --git a/tools/legacy/sample_common/include/vaapi_allocator.h b/tools/legacy/sample_common/include/vaapi_allocator.h new file mode 100644 index 00000000..dabdee27 --- /dev/null +++ b/tools/legacy/sample_common/include/vaapi_allocator.h @@ -0,0 +1,92 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __VAAPI_ALLOCATOR_H__ +#define __VAAPI_ALLOCATOR_H__ + +#if defined(LIBVA_SUPPORT) + + #include + #include + #include + + #include "base_allocator.h" + #include "vaapi_utils.h" + +// VAAPI Allocator internal Mem ID +struct vaapiMemId { + VASurfaceID *m_surface; + VAImage m_image; + // variables for VAAPI Allocator internal color conversion + unsigned int m_fourcc; + mfxU8 *m_sys_buffer; + mfxU8 *m_va_buffer; + // buffer info to support surface export + VABufferInfo m_buffer_info; + // pointer to private export data + void *m_custom; +}; + +namespace MfxLoader { +class VA_Proxy; +} + +struct vaapiAllocatorParams : mfxAllocatorParams { + enum { + DONOT_EXPORT = 0, + FLINK = 0x01, + PRIME = 0x02, + NATIVE_EXPORT_MASK = FLINK | PRIME, + CUSTOM = 0x100, + CUSTOM_FLINK = CUSTOM | FLINK, + CUSTOM_PRIME = CUSTOM | PRIME + }; + class Exporter { + public: + virtual ~Exporter() {} + virtual void *acquire(mfxMemId mid) = 0; + virtual void release(mfxMemId mid, void *hdl) = 0; + }; + + vaapiAllocatorParams() : m_dpy(NULL), m_export_mode(DONOT_EXPORT), m_exporter(NULL) {} + + VADisplay m_dpy; + mfxU32 m_export_mode; + Exporter *m_exporter; +}; + +class vaapiFrameAllocator : public BaseFrameAllocator { +public: + vaapiFrameAllocator(); + virtual ~vaapiFrameAllocator(); + + virtual mfxStatus Init(mfxAllocatorParams *pParams); + virtual mfxStatus Close(); + +protected: + DISALLOW_COPY_AND_ASSIGN(vaapiFrameAllocator); + + virtual mfxStatus LockFrame(mfxMemId mid, mfxFrameData *ptr); + virtual mfxStatus UnlockFrame(mfxMemId mid, mfxFrameData *ptr); + virtual mfxStatus GetFrameHDL(mfxMemId mid, mfxHDL *handle); + + virtual mfxStatus CheckRequestType(mfxFrameAllocRequest *request); + virtual mfxStatus ReleaseResponse(mfxFrameAllocResponse *response); + virtual mfxStatus AllocImpl(mfxFrameAllocRequest *request, mfxFrameAllocResponse *response); + virtual mfxStatus ReallocImpl(mfxMemId midIn, + const mfxFrameInfo *info, + mfxU16 memType, + mfxMemId *midOut); + + VADisplay m_dpy; + MfxLoader::VA_Proxy *m_libva; + mfxU32 m_export_mode; + vaapiAllocatorParams::Exporter *m_exporter; +}; + +#endif //#if defined(LIBVA_SUPPORT) + +#endif // __VAAPI_ALLOCATOR_H__ diff --git a/tools/legacy/sample_common/include/vaapi_device.h b/tools/legacy/sample_common/include/vaapi_device.h new file mode 100644 index 00000000..595cc0d7 --- /dev/null +++ b/tools/legacy/sample_common/include/vaapi_device.h @@ -0,0 +1,226 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#if defined(LIBVA_DRM_SUPPORT) || defined(LIBVA_X11_SUPPORT) || defined(LIBVA_ANDROID_SUPPORT) || \ + defined(LIBVA_WAYLAND_SUPPORT) + + #include "hw_device.h" + #include "vaapi_utils_drm.h" + #include "vaapi_utils_x11.h" + #if defined(LIBVA_ANDROID_SUPPORT) + #include "vaapi_utils_android.h" + #endif + +CHWDevice *CreateVAAPIDevice(const std::string &devicePath = "", int type = MFX_LIBVA_DRM); + + #if defined(LIBVA_DRM_SUPPORT) +/** VAAPI DRM implementation. */ +class CVAAPIDeviceDRM : public CHWDevice { +public: + CVAAPIDeviceDRM(const std::string &devicePath, int type); + virtual ~CVAAPIDeviceDRM(void); + + virtual mfxStatus Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNum); + virtual mfxStatus Reset(void) { + return MFX_ERR_NONE; + } + virtual void Close(void) {} + + virtual mfxStatus SetHandle(mfxHandleType type, mfxHDL hdl) { + return MFX_ERR_UNSUPPORTED; + } + virtual mfxStatus GetHandle(mfxHandleType type, mfxHDL *pHdl) { + if ((MFX_HANDLE_VA_DISPLAY == type) && (NULL != pHdl)) { + *pHdl = m_DRMLibVA.GetVADisplay(); + + return MFX_ERR_NONE; + } + return MFX_ERR_UNSUPPORTED; + } + + virtual mfxStatus RenderFrame(mfxFrameSurface1 *pSurface, mfxFrameAllocator *pmfxAlloc); + virtual void UpdateTitle(double fps) {} + virtual void SetMondelloInput(bool isMondelloInputEnabled) {} + + inline drmRenderer *getRenderer() { + return m_rndr; + } + +protected: + DRMLibVA m_DRMLibVA; + drmRenderer *m_rndr; + +private: + // no copies allowed + CVAAPIDeviceDRM(const CVAAPIDeviceDRM &); + void operator=(const CVAAPIDeviceDRM &); +}; + + #endif + + #if defined(LIBVA_X11_SUPPORT) + +/** VAAPI X11 implementation. */ +class CVAAPIDeviceX11 : public CHWDevice { +public: + CVAAPIDeviceX11() { + m_window = NULL; + m_nRenderWinX = 0; + m_nRenderWinY = 0; + m_nRenderWinW = 0; + m_nRenderWinH = 0; + m_bRenderWin = false; + #if defined(X11_DRI3_SUPPORT) + m_dri_fd = 0; + m_bufmgr = NULL; + m_xcbconn = NULL; + #endif + } + virtual ~CVAAPIDeviceX11(void); + + virtual mfxStatus Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNum); + virtual mfxStatus Reset(void); + virtual void Close(void); + + virtual mfxStatus SetHandle(mfxHandleType type, mfxHDL hdl); + virtual mfxStatus GetHandle(mfxHandleType type, mfxHDL *pHdl); + + virtual mfxStatus RenderFrame(mfxFrameSurface1 *pSurface, mfxFrameAllocator *pmfxAlloc); + virtual void UpdateTitle(double fps) {} + virtual void SetMondelloInput(bool isMondelloInputEnabled) {} + +protected: + mfxHDL m_window; + X11LibVA m_X11LibVA; + +private: + bool m_bRenderWin; + mfxU32 m_nRenderWinX; + mfxU32 m_nRenderWinY; + mfxU32 m_nRenderWinW; + mfxU32 m_nRenderWinH; + #if defined(X11_DRI3_SUPPORT) + int m_dri_fd; + drm_intel_bufmgr *m_bufmgr; + xcb_connection_t *m_xcbconn; + #endif + // no copies allowed + CVAAPIDeviceX11(const CVAAPIDeviceX11 &); + void operator=(const CVAAPIDeviceX11 &); +}; + + #endif + + #if defined(LIBVA_WAYLAND_SUPPORT) + +class Wayland; + +class CVAAPIDeviceWayland : public CHWDevice { +public: + CVAAPIDeviceWayland() { + m_nRenderWinX = 0; + m_nRenderWinY = 0; + m_nRenderWinW = 0; + m_nRenderWinH = 0; + m_isMondelloInputEnabled = false; + m_Wayland = NULL; + } + virtual ~CVAAPIDeviceWayland(void); + + virtual mfxStatus Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNum); + virtual mfxStatus Reset(void) { + return MFX_ERR_NONE; + } + virtual void Close(void); + + virtual mfxStatus SetHandle(mfxHandleType type, mfxHDL hdl) { + return MFX_ERR_UNSUPPORTED; + } + virtual mfxStatus GetHandle(mfxHandleType type, mfxHDL *pHdl) { + if ((MFX_HANDLE_VA_DISPLAY == type) && (NULL != pHdl)) { + *pHdl = m_DRMLibVA.GetVADisplay(); + return MFX_ERR_NONE; + } + + return MFX_ERR_UNSUPPORTED; + } + virtual mfxStatus RenderFrame(mfxFrameSurface1 *pSurface, mfxFrameAllocator *pmfxAlloc); + virtual void UpdateTitle(double fps) {} + + virtual void SetMondelloInput(bool isMondelloInputEnabled) { + m_isMondelloInputEnabled = isMondelloInputEnabled; + } + + Wayland *GetWaylandHandle() { + return m_Wayland; + } + +protected: + DRMLibVA m_DRMLibVA; + MfxLoader::VA_WaylandClientProxy m_WaylandClient; + Wayland *m_Wayland; + +private: + mfxU32 m_nRenderWinX; + mfxU32 m_nRenderWinY; + mfxU32 m_nRenderWinW; + mfxU32 m_nRenderWinH; + + bool m_isMondelloInputEnabled; + + // no copies allowed + CVAAPIDeviceWayland(const CVAAPIDeviceWayland &); + void operator=(const CVAAPIDeviceWayland &); +}; + + #endif + + #if defined(LIBVA_ANDROID_SUPPORT) + +/** VAAPI Android implementation. */ +class CVAAPIDeviceAndroid : public CHWDevice { +public: + CVAAPIDeviceAndroid(AndroidLibVA *pAndroidLibVA) : m_pAndroidLibVA(pAndroidLibVA) { + if (!m_pAndroidLibVA) { + throw std::bad_alloc(); + } + }; + virtual ~CVAAPIDeviceAndroid(void) { + Close(); + } + + virtual mfxStatus Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNum) { + return MFX_ERR_NONE; + } + virtual mfxStatus Reset(void) { + return MFX_ERR_NONE; + } + virtual void Close(void) {} + + virtual mfxStatus SetHandle(mfxHandleType type, mfxHDL hdl) { + return MFX_ERR_UNSUPPORTED; + } + virtual mfxStatus GetHandle(mfxHandleType type, mfxHDL *pHdl) { + if ((MFX_HANDLE_VA_DISPLAY == type) && (NULL != pHdl)) { + if (m_pAndroidLibVA) + *pHdl = m_pAndroidLibVA->GetVADisplay(); + return MFX_ERR_NONE; + } + + return MFX_ERR_UNSUPPORTED; + } + + virtual mfxStatus RenderFrame(mfxFrameSurface1 *pSurface, mfxFrameAllocator *pmfxAlloc) { + return MFX_ERR_NONE; + } + virtual void UpdateTitle(double fps) {} + virtual void SetMondelloInput(bool isMondelloInputEnabled) {} + +protected: + AndroidLibVA *m_pAndroidLibVA; +}; + #endif +#endif //#if defined(LIBVA_DRM_SUPPORT) || defined(LIBVA_X11_SUPPORT) || defined(LIBVA_ANDROID_SUPPORT) diff --git a/tools/legacy/sample_common/include/vaapi_utils.h b/tools/legacy/sample_common/include/vaapi_utils.h new file mode 100644 index 00000000..5523c353 --- /dev/null +++ b/tools/legacy/sample_common/include/vaapi_utils.h @@ -0,0 +1,493 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __VAAPI_UTILS_H__ +#define __VAAPI_UTILS_H__ + +#ifdef LIBVA_SUPPORT + + #include + #include + + #if defined(LIBVA_DRM_SUPPORT) + #include + #include + #include + #include + #endif + #if defined(LIBVA_X11_SUPPORT) + #include + #if defined(X11_DRI3_SUPPORT) + #include + #include + #endif // X11_DRI3_SUPPORT + #endif + #include "sample_defs.h" + #include "sample_utils.h" + #include "vm/thread_defs.h" + +namespace MfxLoader { + +class SimpleLoader { +public: + SimpleLoader(const char *name); + + void *GetFunction(const char *name); + + ~SimpleLoader(); + +private: + SimpleLoader(SimpleLoader &); + void operator=(SimpleLoader &); + + void *so_handle; +}; + + #ifdef LIBVA_SUPPORT +class VA_Proxy { +private: + SimpleLoader lib; // should appear first in member list + +public: + typedef VAStatus (*vaInitialize_type)(VADisplay, int *, int *); + typedef VAStatus (*vaTerminate_type)(VADisplay); + typedef VAStatus (*vaCreateSurfaces_type)(VADisplay, + unsigned int, + unsigned int, + unsigned int, + VASurfaceID *, + unsigned int, + VASurfaceAttrib *, + unsigned int); + typedef VAStatus (*vaDestroySurfaces_type)(VADisplay, VASurfaceID *, int); + typedef VAStatus (*vaCreateBuffer_type)(VADisplay, + VAContextID, + VABufferType, + unsigned int, + unsigned int, + void *, + VABufferID *); + typedef VAStatus (*vaDestroyBuffer_type)(VADisplay, VABufferID); + typedef VAStatus (*vaMapBuffer_type)(VADisplay, VABufferID, void **pbuf); + typedef VAStatus (*vaUnmapBuffer_type)(VADisplay, VABufferID); + typedef VAStatus (*vaSyncSurface_type)(VADisplay, VASurfaceID); + typedef VAStatus (*vaDeriveImage_type)(VADisplay, VASurfaceID, VAImage *); + typedef VAStatus (*vaDestroyImage_type)(VADisplay, VAImageID); + typedef VAStatus (*vaGetLibFunc_type)(VADisplay, const char *func); + typedef VAStatus (*vaAcquireBufferHandle_type)(VADisplay, VABufferID, VABufferInfo *); + typedef VAStatus (*vaReleaseBufferHandle_type)(VADisplay, VABufferID); + typedef VAStatus (*vaMaxNumEntrypoints_type)(VADisplay dpy); + typedef VAStatus (*vaQueryConfigEntrypoints_type)(VADisplay dpy, + VAProfile profile, + VAEntrypoint *entrypoint_list, + int *num_entrypoints); + typedef VAStatus (*vaGetConfigAttributes_type)(VADisplay dpy, + VAProfile profile, + VAEntrypoint entrypoint, + VAConfigAttrib *attrib_list, + int num_attribs); + typedef VAStatus (*vaCreateConfig_type)(VADisplay dpy, + VAProfile profile, + VAEntrypoint entrypoint, + VAConfigAttrib *attrib_list, + int num_attribs, + VAConfigID *config_id); + + typedef VAStatus (*vaCreateContext_type)(VADisplay dpy, + VAConfigID config_id, + int picture_width, + int picture_height, + int flag, + VASurfaceID *render_targets, + int num_render_targets, + VAContextID *context); + typedef VAStatus (*vaDestroyConfig_type)(VADisplay dpy, VAConfigID config_id); + typedef VAStatus (*vaDestroyContext_type)(VADisplay dpy, VAContextID context); + + VA_Proxy(); + ~VA_Proxy(); + + const vaInitialize_type vaInitialize; + const vaTerminate_type vaTerminate; + const vaCreateSurfaces_type vaCreateSurfaces; + const vaDestroySurfaces_type vaDestroySurfaces; + const vaCreateBuffer_type vaCreateBuffer; + const vaDestroyBuffer_type vaDestroyBuffer; + const vaMapBuffer_type vaMapBuffer; + const vaUnmapBuffer_type vaUnmapBuffer; + const vaSyncSurface_type vaSyncSurface; + const vaDeriveImage_type vaDeriveImage; + const vaDestroyImage_type vaDestroyImage; + const vaGetLibFunc_type vaGetLibFunc; + const vaAcquireBufferHandle_type vaAcquireBufferHandle; + const vaReleaseBufferHandle_type vaReleaseBufferHandle; + const vaMaxNumEntrypoints_type vaMaxNumEntrypoints; + const vaQueryConfigEntrypoints_type vaQueryConfigEntrypoints; + const vaGetConfigAttributes_type vaGetConfigAttributes; + const vaCreateConfig_type vaCreateConfig; + const vaCreateContext_type vaCreateContext; + const vaDestroyConfig_type vaDestroyConfig; + const vaDestroyContext_type vaDestroyContext; +}; + #endif + + #if defined(LIBVA_DRM_SUPPORT) +class DRM_Proxy { +private: + SimpleLoader lib; // should appear first in member list + +public: + typedef int (*drmIoctl_type)(int fd, unsigned long request, void *arg); + typedef int (*drmModeAddFB_type)(int fd, + uint32_t width, + uint32_t height, + uint8_t depth, + uint8_t bpp, + uint32_t pitch, + uint32_t bo_handle, + uint32_t *buf_id); + typedef void (*drmModeFreeConnector_type)(drmModeConnectorPtr ptr); + typedef void (*drmModeFreeCrtc_type)(drmModeCrtcPtr ptr); + typedef void (*drmModeFreeEncoder_type)(drmModeEncoderPtr ptr); + typedef void (*drmModeFreePlane_type)(drmModePlanePtr ptr); + typedef void (*drmModeFreePlaneResources_type)(drmModePlaneResPtr ptr); + typedef void (*drmModeFreeResources_type)(drmModeResPtr ptr); + typedef drmModeConnectorPtr (*drmModeGetConnector_type)(int fd, uint32_t connectorId); + typedef drmModeCrtcPtr (*drmModeGetCrtc_type)(int fd, uint32_t crtcId); + typedef drmModeEncoderPtr (*drmModeGetEncoder_type)(int fd, uint32_t encoder_id); + typedef drmModePlanePtr (*drmModeGetPlane_type)(int fd, uint32_t plane_id); + typedef drmModePlaneResPtr (*drmModeGetPlaneResources_type)(int fd); + typedef drmModeResPtr (*drmModeGetResources_type)(int fd); + typedef int (*drmModeRmFB_type)(int fd, uint32_t bufferId); + typedef int (*drmModeSetCrtc_type)(int fd, + uint32_t crtcId, + uint32_t bufferId, + uint32_t x, + uint32_t y, + uint32_t *connectors, + int count, + drmModeModeInfoPtr mode); + typedef int (*drmSetMaster_type)(int fd); + typedef int (*drmDropMaster_type)(int fd); + typedef int (*drmModeSetPlane_type)(int fd, + uint32_t plane_id, + uint32_t crtc_id, + uint32_t fb_id, + uint32_t flags, + int32_t crtc_x, + int32_t crtc_y, + uint32_t crtc_w, + uint32_t crtc_h, + uint32_t src_x, + uint32_t src_y, + uint32_t src_w, + uint32_t src_h); + + DRM_Proxy(); + ~DRM_Proxy(); + + #define __DECLARE(name) const name##_type name + __DECLARE(drmIoctl); + __DECLARE(drmModeAddFB); + __DECLARE(drmModeFreeConnector); + __DECLARE(drmModeFreeCrtc); + __DECLARE(drmModeFreeEncoder); + __DECLARE(drmModeFreePlane); + __DECLARE(drmModeFreePlaneResources); + __DECLARE(drmModeFreeResources); + __DECLARE(drmModeGetConnector); + __DECLARE(drmModeGetCrtc); + __DECLARE(drmModeGetEncoder); + __DECLARE(drmModeGetPlane); + __DECLARE(drmModeGetPlaneResources); + __DECLARE(drmModeGetResources); + __DECLARE(drmModeRmFB); + __DECLARE(drmModeSetCrtc); + __DECLARE(drmSetMaster); + __DECLARE(drmDropMaster); + __DECLARE(drmModeSetPlane); + #undef __DECLARE +}; + +class DrmIntel_Proxy { +private: + SimpleLoader lib; // should appear first in member list + +public: + typedef drm_intel_bo *(*drm_intel_bo_gem_create_from_prime_type)(drm_intel_bufmgr *bufmgr, + int prime_fd, + int size); + typedef void (*drm_intel_bo_unreference_type)(drm_intel_bo *bo); + typedef drm_intel_bufmgr *(*drm_intel_bufmgr_gem_init_type)(int fd, int batch_size); + typedef int (*drm_intel_bo_gem_export_to_prime_type)(drm_intel_bo *, int *); + typedef void (*drm_intel_bufmgr_destroy_type)(drm_intel_bufmgr *); + + DrmIntel_Proxy(); + ~DrmIntel_Proxy(); + + #define __DECLARE(name) const name##_type name + __DECLARE(drm_intel_bo_gem_create_from_prime); + __DECLARE(drm_intel_bo_unreference); + __DECLARE(drm_intel_bufmgr_gem_init); + __DECLARE(drm_intel_bufmgr_destroy); + #if defined(X11_DRI3_SUPPORT) + __DECLARE(drm_intel_bo_gem_export_to_prime); + #endif + + #undef __DECLARE +}; + +class VA_DRMProxy { +private: + SimpleLoader lib; // should appear first in member list + +public: + typedef VADisplay (*vaGetDisplayDRM_type)(int); + + VA_DRMProxy(); + ~VA_DRMProxy(); + + const vaGetDisplayDRM_type vaGetDisplayDRM; +}; + #endif + + #if defined(LIBVA_WAYLAND_SUPPORT) + +class Wayland; + +class VA_WaylandClientProxy { +private: + SimpleLoader lib; // should appear first in member list + +public: + typedef Wayland *(*WaylandCreate_type)(void); + + VA_WaylandClientProxy(); + ~VA_WaylandClientProxy(); + + const WaylandCreate_type WaylandCreate; +}; + + #endif // LIBVA_WAYLAND_SUPPORT + + #if defined(LIBVA_X11_SUPPORT) +class VA_X11Proxy { +private: + SimpleLoader lib; // should appear first in member list + +public: + typedef VADisplay (*vaGetDisplay_type)(Display *); + typedef VAStatus (*vaPutSurface_type)(VADisplay, + VASurfaceID, + Drawable, + short, + short, + unsigned short, + unsigned short, + short, + short, + unsigned short, + unsigned short, + VARectangle *, + unsigned int, + unsigned int); + + VA_X11Proxy(); + ~VA_X11Proxy(); + + const vaGetDisplay_type vaGetDisplay; + const vaPutSurface_type vaPutSurface; +}; + +class XLib_Proxy { +private: + SimpleLoader lib; // should appear first in member list + +public: + typedef Display *(*XOpenDisplay_type)(const char *); + typedef int (*XCloseDisplay_type)(Display *); + typedef Window (*XCreateSimpleWindow_type)(Display *, + Window, + int, + int, + unsigned int, + unsigned int, + unsigned int, + unsigned long, + unsigned long); + typedef int (*XMapWindow_type)(Display *, Window); + typedef int (*XSync_type)(Display *, Bool); + typedef int (*XDestroyWindow_type)(Display *, Window); + typedef int (*XResizeWindow_type)(Display *, Window, unsigned int, unsigned int); + #if defined(X11_DRI3_SUPPORT) + typedef Status (*XGetGeometry_type)(Display *, + Drawable, + Window *, + int *, + int *, + unsigned int *, + unsigned int *, + unsigned int *, + unsigned int *); + #endif // X11_DRI3_SUPPORT + XLib_Proxy(); + ~XLib_Proxy(); + + const XOpenDisplay_type XOpenDisplay; + const XCloseDisplay_type XCloseDisplay; + const XCreateSimpleWindow_type XCreateSimpleWindow; + const XMapWindow_type XMapWindow; + const XSync_type XSync; + const XDestroyWindow_type XDestroyWindow; + const XResizeWindow_type XResizeWindow; + #if defined(X11_DRI3_SUPPORT) + const XGetGeometry_type XGetGeometry; + #endif // X11_DRI3_SUPPORT +}; + + #if defined(X11_DRI3_SUPPORT) + +class XCB_Dri3_Proxy { +private: + SimpleLoader lib; // should appear first in member list + +public: + typedef xcb_void_cookie_t (*xcb_dri3_pixmap_from_buffer_type)(xcb_connection_t *, + xcb_pixmap_t, + xcb_drawable_t, + uint32_t, + uint16_t, + uint16_t, + uint16_t, + uint8_t, + uint8_t, + int32_t); + typedef xcb_dri3_pixmap_from_buffer_type xcb_dri3_pixmap_from_buffer_checked_type; + + XCB_Dri3_Proxy(); + ~XCB_Dri3_Proxy(); + + const xcb_dri3_pixmap_from_buffer_checked_type xcb_dri3_pixmap_from_buffer_checked; +}; + +class Xcb_Proxy { +private: + SimpleLoader lib; // should appear first in member list + +public: + typedef uint32_t (*xcb_generate_id_type)(xcb_connection_t *); + typedef xcb_void_cookie_t (*xcb_free_pixmap_type)(xcb_connection_t *, xcb_pixmap_t); + typedef int (*xcb_flush_type)(xcb_connection_t *); + typedef xcb_generic_error_t *(*xcb_request_check_type)(xcb_connection_t *c, + xcb_void_cookie_t cookie); + + Xcb_Proxy(); + ~Xcb_Proxy(); + + const xcb_generate_id_type xcb_generate_id; + const xcb_free_pixmap_type xcb_free_pixmap; + const xcb_flush_type xcb_flush; + const xcb_request_check_type xcb_request_check; +}; + +class X11_Xcb_Proxy { +private: + SimpleLoader lib; // should appear first in member list + +public: + typedef xcb_connection_t *(*XGetXCBConnection_type)(Display *dpy); + + X11_Xcb_Proxy(); + ~X11_Xcb_Proxy(); + + const XGetXCBConnection_type XGetXCBConnection; +}; + +class Xcbpresent_Proxy { +private: + SimpleLoader lib; + +public: + typedef xcb_void_cookie_t (*xcb_present_pixmap_type)(xcb_connection_t *, + xcb_window_t, + xcb_pixmap_t, + uint32_t, + xcb_xfixes_region_t, + xcb_xfixes_region_t, + int16_t, + int16_t, + xcb_randr_crtc_t, + xcb_sync_fence_t, + xcb_sync_fence_t, + uint32_t, + uint64_t, + uint64_t, + uint64_t, + uint32_t, + const xcb_present_notify_t *); + typedef xcb_present_pixmap_type xcb_present_pixmap_checked_type; + + Xcbpresent_Proxy(); + ~Xcbpresent_Proxy(); + + const xcb_present_pixmap_checked_type xcb_present_pixmap_checked; +}; + + #endif // X11_DRI3_SUPPORT + #endif + +} // namespace MfxLoader + +class CLibVA { +public: + virtual ~CLibVA(void){}; + + VAStatus AcquireVASurface(void **pctx, + VADisplay dpy1, + VASurfaceID srf1, + VADisplay dpy2, + VASurfaceID *srf2); + void ReleaseVASurface(void *actx, + VADisplay dpy1, + VASurfaceID /*srf1*/, + VADisplay dpy2, + VASurfaceID srf2); + + inline int getBackendType() { + return m_type; + } + VADisplay GetVADisplay() { + return m_va_dpy; + } + const MfxLoader::VA_Proxy m_libva; + +protected: + CLibVA(int type) : m_type(type), m_va_dpy(NULL) {} + int m_type; + VADisplay m_va_dpy; + +private: + DISALLOW_COPY_AND_ASSIGN(CLibVA); +}; + +CLibVA *CreateLibVA(const std::string &devicePath = "", int type = MFX_LIBVA_DRM); + +VAStatus AcquireVASurface(void **ctx, + VADisplay dpy1, + VASurfaceID srf1, + VADisplay dpy2, + VASurfaceID *srf2); +void ReleaseVASurface(void *actx, + VADisplay dpy1, + VASurfaceID srf1, + VADisplay dpy2, + VASurfaceID srf2); + +mfxStatus va_to_mfx_status(VAStatus va_res); + +#endif // #ifdef LIBVA_SUPPORT + +#endif // #ifndef __VAAPI_UTILS_H__ diff --git a/tools/legacy/sample_common/include/vaapi_utils_android.h b/tools/legacy/sample_common/include/vaapi_utils_android.h new file mode 100644 index 00000000..f2b4814b --- /dev/null +++ b/tools/legacy/sample_common/include/vaapi_utils_android.h @@ -0,0 +1,29 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __VAAPI_UTILS_ANDROID_H__ +#define __VAAPI_UTILS_ANDROID_H__ + +#if defined(LIBVA_ANDROID_SUPPORT) + + #include + #include "vaapi_utils.h" + +class AndroidLibVA : public CLibVA { +public: + AndroidLibVA(void); + virtual ~AndroidLibVA(void); + +protected: + void *m_display; + +private: + DISALLOW_COPY_AND_ASSIGN(AndroidLibVA); +}; + +#endif // #if defined(LIBVA_ANDROID_SUPPORT) + +#endif // #ifndef __VAAPI_UTILS_ANDROID_H__ diff --git a/tools/legacy/sample_common/include/vaapi_utils_drm.h b/tools/legacy/sample_common/include/vaapi_utils_drm.h new file mode 100644 index 00000000..8e58a7a6 --- /dev/null +++ b/tools/legacy/sample_common/include/vaapi_utils_drm.h @@ -0,0 +1,81 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __VAAPI_UTILS_DRM_H__ +#define __VAAPI_UTILS_DRM_H__ + +#if defined(LIBVA_DRM_SUPPORT) + + #include + #include + #include "vaapi_allocator.h" + #include "vaapi_utils.h" + +class drmRenderer; + +class DRMLibVA : public CLibVA { +public: + DRMLibVA(const std::string& devicePath = "", int type = MFX_LIBVA_DRM); + virtual ~DRMLibVA(void); + + inline int getFD() { + return m_fd; + } + +protected: + int m_fd; + MfxLoader::VA_DRMProxy m_vadrmlib; + +private: + DISALLOW_COPY_AND_ASSIGN(DRMLibVA); +}; + +class drmRenderer : public vaapiAllocatorParams::Exporter { +public: + drmRenderer(int fd, mfxI32 monitorType); + virtual ~drmRenderer(); + + virtual mfxStatus render(mfxFrameSurface1* pSurface); + + // vaapiAllocatorParams::Exporter methods + virtual void* acquire(mfxMemId mid); + virtual void release(mfxMemId mid, void* mem); + + static uint32_t getConnectorType(mfxI32 monitor_type); + static const msdk_char* getConnectorName(uint32_t connector_type); + +private: + bool getConnector(drmModeRes* resource, uint32_t connector_type); + bool setupConnection(drmModeRes* resource, drmModeConnector* connector); + bool getPlane(); + + bool setMaster(); + void dropMaster(); + bool restore(); + + const MfxLoader::DRM_Proxy m_drmlib; + const MfxLoader::DrmIntel_Proxy m_drmintellib; + + int m_fd; + uint32_t m_connector_type; + uint32_t m_connectorID; + uint32_t m_encoderID; + uint32_t m_crtcID; + uint32_t m_crtcIndex; + uint32_t m_planeID; + drmModeModeInfo m_mode; + drmModeCrtcPtr m_crtc; + drm_intel_bufmgr* m_bufmgr; + bool m_overlay_wrn; + mfxFrameSurface1* m_pCurrentRenderTargetSurface; + +private: + DISALLOW_COPY_AND_ASSIGN(drmRenderer); +}; + +#endif // #if defined(LIBVA_DRM_SUPPORT) + +#endif // #ifndef __VAAPI_UTILS_DRM_H__ diff --git a/tools/legacy/sample_common/include/vaapi_utils_x11.h b/tools/legacy/sample_common/include/vaapi_utils_x11.h new file mode 100644 index 00000000..466bcc4f --- /dev/null +++ b/tools/legacy/sample_common/include/vaapi_utils_x11.h @@ -0,0 +1,71 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __VAAPI_UTILS_X11_H__ +#define __VAAPI_UTILS_X11_H__ + +#if defined(LIBVA_X11_SUPPORT) + + #include + #include "vaapi_utils.h" + +class X11LibVA : public CLibVA { +public: + X11LibVA(void); + virtual ~X11LibVA(void); + + void* GetXDisplay(void) { + return m_display; + } + + MfxLoader::XLib_Proxy& GetX11() { + return m_x11lib; + } + MfxLoader::VA_X11Proxy& GetVAX11() { + return m_vax11lib; + } + #if defined(X11_DRI3_SUPPORT) + MfxLoader::Xcb_Proxy& GetXcbX11() { + return m_xcblib; + } + MfxLoader::X11_Xcb_Proxy& GetX11XcbX11() { + return m_x11xcblib; + } + MfxLoader::XCB_Dri3_Proxy& GetXCBDri3X11() { + return m_xcbdri3lib; + } + MfxLoader::Xcbpresent_Proxy& GetXcbpresentX11() { + return m_xcbpresentlib; + } + MfxLoader::DrmIntel_Proxy& GetDrmIntelX11() { + return m_drmintellib; + } + #endif // X11_DRI3_SUPPORT + +protected: + Display* m_display; + VAConfigID m_configID; + VAContextID m_contextID; + MfxLoader::XLib_Proxy m_x11lib; + MfxLoader::VA_X11Proxy m_vax11lib; + #if defined(X11_DRI3_SUPPORT) + MfxLoader::VA_DRMProxy m_vadrmlib; + MfxLoader::Xcb_Proxy m_xcblib; + MfxLoader::X11_Xcb_Proxy m_x11xcblib; + MfxLoader::XCB_Dri3_Proxy m_xcbdri3lib; + MfxLoader::Xcbpresent_Proxy m_xcbpresentlib; + MfxLoader::DrmIntel_Proxy m_drmintellib; + #endif // X11_DRI3_SUPPORT + +private: + void Close(); + + DISALLOW_COPY_AND_ASSIGN(X11LibVA); +}; + +#endif // #if defined(LIBVA_X11_SUPPORT) + +#endif // #ifndef __VAAPI_UTILS_X11_H__ diff --git a/tools/legacy/sample_common/include/version.h b/tools/legacy/sample_common/include/version.h new file mode 100644 index 00000000..0bfb6693 --- /dev/null +++ b/tools/legacy/sample_common/include/version.h @@ -0,0 +1,31 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#pragma once + +#include "sample_defs.h" + +#ifndef MSDK_MAJOR + #define MSDK_MAJOR 8 +#endif + +#ifndef MSDK_MINOR + #define MSDK_MINOR 4 +#endif + +#ifndef MSDK_RELEASE + #define MSDK_TARGETAPIMINOR 27 +#endif + +#ifndef MSDK_BUILD + #define MSDK_BUILD 0 +#endif + +static msdk_string GetMSDKSampleVersion() { + msdk_stringstream ss; + ss << MSDK_MAJOR << "." << MSDK_MINOR << "." << MSDK_TARGETAPIMINOR << "." << MSDK_BUILD; + return ss.str(); +} diff --git a/tools/legacy/sample_common/include/vm/atomic_defs.h b/tools/legacy/sample_common/include/vm/atomic_defs.h new file mode 100644 index 00000000..df35ce61 --- /dev/null +++ b/tools/legacy/sample_common/include/vm/atomic_defs.h @@ -0,0 +1,24 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __ATOMIC_DEFS_H__ +#define __ATOMIC_DEFS_H__ + +#include "vpl/mfxdefs.h" + +/* Thread-safe 16-bit variable incrementing */ +mfxU16 msdk_atomic_inc16(volatile mfxU16 *pVariable); + +/* Thread-safe 16-bit variable decrementing */ +mfxU16 msdk_atomic_dec16(volatile mfxU16 *pVariable); + +/* Thread-safe 32-bit variable incrementing */ +mfxU32 msdk_atomic_inc32(volatile mfxU32 *pVariable); + +/* Thread-safe 32-bit variable decrementing */ +mfxU32 msdk_atomic_dec32(volatile mfxU32 *pVariable); + +#endif // #ifndef __ATOMIC_DEFS_H__ diff --git a/tools/legacy/sample_common/include/vm/file_defs.h b/tools/legacy/sample_common/include/vm/file_defs.h new file mode 100644 index 00000000..68c14509 --- /dev/null +++ b/tools/legacy/sample_common/include/vm/file_defs.h @@ -0,0 +1,27 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __FILE_DEFS_H__ +#define __FILE_DEFS_H__ + +#include "vpl/mfxdefs.h" + +#include + +#if defined(_WIN32) || defined(_WIN64) + + #define MSDK_FOPEN(file, name, mode) _tfopen_s(&file, name, mode) + + #define msdk_fgets _fgetts +#else // #if defined(_WIN32) || defined(_WIN64) + #include + + #define MSDK_FOPEN(file, name, mode) !(file = fopen(name, mode)) + + #define msdk_fgets fgets +#endif // #if defined(_WIN32) || defined(_WIN64) + +#endif // #ifndef __FILE_DEFS_H__ diff --git a/tools/legacy/sample_common/include/vm/so_defs.h b/tools/legacy/sample_common/include/vm/so_defs.h new file mode 100644 index 00000000..e98f3a8a --- /dev/null +++ b/tools/legacy/sample_common/include/vm/so_defs.h @@ -0,0 +1,21 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __SO_DEFS_H__ +#define __SO_DEFS_H__ + +#include "mfxdefs.h" +#include "strings_defs.h" + +/* Declare shared object handle */ +typedef void *msdk_so_handle; +typedef void (*msdk_func_pointer)(void); + +msdk_so_handle msdk_so_load(const msdk_char *file_name); +msdk_func_pointer msdk_so_get_addr(msdk_so_handle handle, const char *func_name); +void msdk_so_free(msdk_so_handle handle); + +#endif // #ifndef __SO_DEFS_H__ diff --git a/tools/legacy/sample_common/include/vm/strings_defs.h b/tools/legacy/sample_common/include/vm/strings_defs.h new file mode 100644 index 00000000..e84b7415 --- /dev/null +++ b/tools/legacy/sample_common/include/vm/strings_defs.h @@ -0,0 +1,107 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __STRING_DEFS_H__ +#define __STRING_DEFS_H__ + +#include +#include +#include + +#ifdef __cplusplus + #include +#endif + +#if defined(_WIN32) || defined(_WIN64) + + #include + + #define MSDK_STRING(x) _T(x) + #define MSDK_CHAR(x) _T(x) + + #ifdef __cplusplus +typedef std::basic_string msdk_tstring; + #endif +typedef TCHAR msdk_char; + + #define msdk_printf _tprintf + #define msdk_fprintf _ftprintf + #define msdk_sprintf _stprintf_s // to be removed + #define msdk_vprintf _vtprintf + #define msdk_strlen _tcslen + #define msdk_strcmp _tcscmp + #define msdk_stricmp _tcsicmp + #define msdk_strncmp _tcsnicmp + #define msdk_strstr _tcsstr + #define msdk_atoi _ttoi + #define msdk_strtol _tcstol + #define msdk_strtod _tcstod + #define msdk_strchr _tcschr + #define msdk_strnlen(str, lenmax) strnlen_s(str, lenmax) + #define msdk_sscanf _stscanf_s + #define msdk_itoa_decimal(value, str) _itot_s(value, str, 10) + + // msdk_strcopy is intended to be used with 2 parmeters, i.e. msdk_strcopy(dst, src) + // for _tcscpy_s that's possible if DST is declared as: TCHAR DST[n]; + #define msdk_strcopy _tcscpy_s + #define msdk_strncopy_s _tcsncpy_s + + #define MSDK_MEMCPY_BITSTREAM(bitstream, offset, src, count) \ + memcpy_s((bitstream).Data + (offset), (bitstream).MaxLength - (offset), (src), (count)) + + #define MSDK_MEMCPY_BUF(bufptr, offset, maxsize, src, count) \ + memcpy_s((bufptr) + (offset), (maxsize) - (offset), (src), (count)) + + #define MSDK_MEMCPY_VAR(dstVarName, src, count) \ + memcpy_s(&(dstVarName), sizeof(dstVarName), (src), (count)) + + #define MSDK_MEMCPY(dst, src, count) memcpy_s(dst, (count), (src), (count)) + +#else // #if defined(_WIN32) || defined(_WIN64) + + #define MSDK_STRING(x) x + #define MSDK_CHAR(x) x + + #ifdef __cplusplus +typedef std::string msdk_tstring; + #endif +typedef char msdk_char; + + #define msdk_printf printf + #define msdk_sprintf sprintf + #define msdk_vprintf vprintf + #define msdk_fprintf fprintf + #define msdk_strlen strlen + #define msdk_strcmp strcmp + #define msdk_stricmp strcasecmp + #define msdk_strncmp strncmp + #define msdk_strstr strstr + #define msdk_atoi atoi + #define msdk_atoll atoll + #define msdk_strtol strtol + #define msdk_strtod strtod + #define msdk_itoa_decimal(value, str) \ + snprintf(str, sizeof(str) / sizeof(str[0]) - 1, "%d", value) + #define msdk_strnlen(str, maxlen) strlen(str) + #define msdk_sscanf sscanf + + #define msdk_strcopy strcpy + + #define msdk_strncopy_s(dst, num_dst, src, count) strncpy(dst, src, count) + + #define MSDK_MEMCPY_BITSTREAM(bitstream, offset, src, count) \ + memcpy((bitstream).Data + (offset), (src), (count)) + + #define MSDK_MEMCPY_BUF(bufptr, offset, maxsize, src, count) \ + memcpy((bufptr) + (offset), (src), (count)) + + #define MSDK_MEMCPY_VAR(dstVarName, src, count) memcpy(&(dstVarName), (src), (count)) + + #define MSDK_MEMCPY(dst, src, count) memcpy(dst, (src), (count)) + +#endif // #if defined(_WIN32) || defined(_WIN64) + +#endif //__STRING_DEFS_H__ diff --git a/tools/legacy/sample_common/include/vm/thread_defs.h b/tools/legacy/sample_common/include/vm/thread_defs.h new file mode 100644 index 00000000..c8f0328b --- /dev/null +++ b/tools/legacy/sample_common/include/vm/thread_defs.h @@ -0,0 +1,124 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __THREAD_DEFS_H__ +#define __THREAD_DEFS_H__ + +#include "vm/strings_defs.h" +#include "vpl/mfxdefs.h" + +typedef unsigned int(MFX_STDCALL* msdk_thread_callback)(void*); + +#if defined(_WIN32) || defined(_WIN64) + + #include + #include + +struct msdkSemaphoreHandle { + void* m_semaphore; +}; + +struct msdkEventHandle { + void* m_event; +}; + +struct msdkThreadHandle { + void* m_thread; +}; + +#else // #if defined(_WIN32) || defined(_WIN64) + + #include + #include + #include + #include + +struct msdkSemaphoreHandle { + msdkSemaphoreHandle(mfxU32 count) : m_count(count) {} + + mfxU32 m_count; + pthread_cond_t m_semaphore; + pthread_mutex_t m_mutex; +}; + +struct msdkEventHandle { + msdkEventHandle(bool manual, bool state) : m_manual(manual), m_state(state) {} + + bool m_manual; + bool m_state; + pthread_cond_t m_event; + pthread_mutex_t m_mutex; +}; + +class MSDKEvent; + +struct msdkThreadHandle { + msdkThreadHandle(msdk_thread_callback func, void* arg) + : m_func(func), + m_arg(arg), + m_event(0), + m_thread(0) {} + + msdk_thread_callback m_func; + void* m_arg; + MSDKEvent* m_event; + pthread_t m_thread; +}; + +#endif // #if defined(_WIN32) || defined(_WIN64) + +class MSDKSemaphore : public msdkSemaphoreHandle { +public: + MSDKSemaphore(mfxStatus& sts, mfxU32 count = 0); + ~MSDKSemaphore(void); + + mfxStatus Post(void); + mfxStatus Wait(void); + +private: + MSDKSemaphore(const MSDKSemaphore&); + void operator=(const MSDKSemaphore&); +}; + +class MSDKEvent : public msdkEventHandle { +public: + MSDKEvent(mfxStatus& sts, bool manual, bool state); + ~MSDKEvent(void); + + mfxStatus Signal(void); + mfxStatus Reset(void); + mfxStatus Wait(void); + mfxStatus TimedWait(mfxU32 msec); + +private: + MSDKEvent(const MSDKEvent&); + void operator=(const MSDKEvent&); +}; + +class MSDKThread : public msdkThreadHandle { +public: + MSDKThread(mfxStatus& sts, msdk_thread_callback func, void* arg); + ~MSDKThread(void); + + mfxStatus Wait(void); + mfxStatus TimedWait(mfxU32 msec); + mfxStatus GetExitCode(); + +#if !defined(_WIN32) && !defined(_WIN64) + friend void* msdk_thread_start(void* arg); +#endif + +private: + MSDKThread(const MSDKThread&); + void operator=(const MSDKThread&); +}; + +mfxU32 msdk_get_current_pid(); +mfxStatus msdk_setrlimit_vmem(mfxU64 size); +mfxStatus msdk_thread_get_schedtype(const msdk_char*, mfxI32& type); +void msdk_thread_printf_scheduling_help(); + +#endif //__THREAD_DEFS_H__ diff --git a/tools/legacy/sample_common/include/vm/time_defs.h b/tools/legacy/sample_common/include/vm/time_defs.h new file mode 100644 index 00000000..c5257cbb --- /dev/null +++ b/tools/legacy/sample_common/include/vm/time_defs.h @@ -0,0 +1,55 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __TIME_DEFS_H__ +#define __TIME_DEFS_H__ + +#include "mfx_itt_trace.h" +#include "vpl/mfxdefs.h" + +#if defined(_WIN32) || defined(_WIN64) + + #include + + #define MSDK_SLEEP(msec) Sleep(msec) + + #define MSDK_USLEEP(usec) \ + { \ + LARGE_INTEGER due; \ + due.QuadPart = -(10 * (int)usec); \ + HANDLE t = CreateWaitableTimer(NULL, TRUE, NULL); \ + SetWaitableTimer(t, &due, 0, NULL, NULL, 0); \ + WaitForSingleObject(t, INFINITE); \ + CloseHandle(t); \ + } + +#else // #if defined(_WIN32) || defined(_WIN64) + + #include + + #define MSDK_SLEEP(msec) \ + do { \ + MFX_ITT_TASK("MSDK_SLEEP"); \ + usleep(1000 * msec); \ + } while (0) + + #define MSDK_USLEEP(usec) \ + do { \ + MFX_ITT_TASK("MSDK_USLEEP"); \ + usleep(usec); \ + } while (0) + +#endif // #if defined(_WIN32) || defined(_WIN64) + +#define MSDK_GET_TIME(T, S, F) ((mfxF64)((T) - (S)) / (mfxF64)(F)) + +typedef mfxI64 msdk_tick; + +msdk_tick msdk_time_get_tick(void); +msdk_tick msdk_time_get_frequency(void); +mfxU64 rdtsc(void); + +#endif // #ifndef __TIME_DEFS_H__ diff --git a/tools/legacy/sample_common/include/vpp_ex.h b/tools/legacy/sample_common/include/vpp_ex.h new file mode 100644 index 00000000..19ea9fa6 --- /dev/null +++ b/tools/legacy/sample_common/include/vpp_ex.h @@ -0,0 +1,45 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __VPP_EX_H__ +#define __VPP_EX_H__ + +#include +#include "mfxvideo++.h" +#include "sample_utils.h" + +/* #define USE_VPP_EX */ + +class MFXVideoVPPEx : public MFXVideoVPP { +public: + MFXVideoVPPEx(mfxSession session); + +#if defined USE_VPP_EX + + mfxStatus QueryIOSurf(mfxVideoParam *par, mfxFrameAllocRequest request[2]); + mfxStatus Query(mfxVideoParam *in, mfxVideoParam *out); + mfxStatus Init(mfxVideoParam *par); + mfxStatus RunFrameVPPAsync(mfxFrameSurface1 *in, + mfxFrameSurface1 *out, + mfxExtVppAuxData *aux, + mfxSyncPoint *syncp); + mfxStatus GetVideoParam(mfxVideoParam *par); + mfxStatus Close(void); + +protected: + std::vector m_LockedSurfacesList; + mfxVideoParam m_VideoParams; + + mfxU64 m_nCurrentPTS; + + mfxU64 m_nIncreaseTime; + mfxU64 m_nArraySize; + mfxU64 m_nInputTimeStamp; + +#endif +}; + +#endif //__VPP_EX_H__ diff --git a/tools/legacy/sample_common/src/avc_bitstream.cpp b/tools/legacy/sample_common/src/avc_bitstream.cpp new file mode 100644 index 00000000..92556a69 --- /dev/null +++ b/tools/legacy/sample_common/src/avc_bitstream.cpp @@ -0,0 +1,1850 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "avc_bitstream.h" +#include "sample_defs.h" + +namespace ProtectedLibrary { + +mfxStatus DecodeExpGolombOne(mfxU32 **ppBitStream, + mfxI32 *pBitOffset, + mfxI32 *pDst, + mfxI32 isSigned); + +enum { SCLFLAT16 = 0, SCLDEFAULT = 1, SCLREDEFINED = 2 }; + +const mfxU32 bits_data[] = { + (((mfxU32)0x01 << (0)) - 1), (((mfxU32)0x01 << (1)) - 1), (((mfxU32)0x01 << (2)) - 1), + (((mfxU32)0x01 << (3)) - 1), (((mfxU32)0x01 << (4)) - 1), (((mfxU32)0x01 << (5)) - 1), + (((mfxU32)0x01 << (6)) - 1), (((mfxU32)0x01 << (7)) - 1), (((mfxU32)0x01 << (8)) - 1), + (((mfxU32)0x01 << (9)) - 1), (((mfxU32)0x01 << (10)) - 1), (((mfxU32)0x01 << (11)) - 1), + (((mfxU32)0x01 << (12)) - 1), (((mfxU32)0x01 << (13)) - 1), (((mfxU32)0x01 << (14)) - 1), + (((mfxU32)0x01 << (15)) - 1), (((mfxU32)0x01 << (16)) - 1), (((mfxU32)0x01 << (17)) - 1), + (((mfxU32)0x01 << (18)) - 1), (((mfxU32)0x01 << (19)) - 1), (((mfxU32)0x01 << (20)) - 1), + (((mfxU32)0x01 << (21)) - 1), (((mfxU32)0x01 << (22)) - 1), (((mfxU32)0x01 << (23)) - 1), + (((mfxU32)0x01 << (24)) - 1), (((mfxU32)0x01 << (25)) - 1), (((mfxU32)0x01 << (26)) - 1), + (((mfxU32)0x01 << (27)) - 1), (((mfxU32)0x01 << (28)) - 1), (((mfxU32)0x01 << (29)) - 1), + (((mfxU32)0x01 << (30)) - 1), (((mfxU32)0x01 << (31)) - 1), ((mfxU32)0xFFFFFFFF), +}; + +const mfxU8 default_intra_scaling_list4x4[16] = { 6, 13, 20, 28, 13, 20, 28, 32, + 20, 28, 32, 37, 28, 32, 37, 42 }; +const mfxU8 default_inter_scaling_list4x4[16] = { 10, 14, 20, 24, 14, 20, 24, 27, + 20, 24, 27, 30, 24, 27, 30, 34 }; + +const mfxU8 default_intra_scaling_list8x8[64] = { + 6, 10, 13, 16, 18, 23, 25, 27, 10, 11, 16, 18, 23, 25, 27, 29, 13, 16, 18, 23, 25, 27, + 29, 31, 16, 18, 23, 25, 27, 29, 31, 33, 18, 23, 25, 27, 29, 31, 33, 36, 23, 25, 27, 29, + 31, 33, 36, 38, 25, 27, 29, 31, 33, 36, 38, 40, 27, 29, 31, 33, 36, 38, 40, 42 +}; +const mfxU8 default_inter_scaling_list8x8[64] = { + 9, 13, 15, 17, 19, 21, 22, 24, 13, 13, 17, 19, 21, 22, 24, 25, 15, 17, 19, 21, 22, 24, + 25, 27, 17, 19, 21, 22, 24, 25, 27, 28, 19, 21, 22, 24, 25, 27, 28, 30, 21, 22, 24, 25, + 27, 28, 30, 32, 22, 24, 25, 27, 28, 30, 32, 33, 24, 25, 27, 28, 30, 32, 33, 35 +}; + +const mfxI32 pre_norm_adjust_index4x4[16] = { + // 0 1 2 3 + 0, 2, 0, 2, //0 + 2, 1, 2, 1, //1 + 0, 2, 0, 2, //2 + 2, 1, 2, 1 //3 +}; + +const mfxI32 pre_norm_adjust4x4[6][3] = { { 10, 16, 13 }, { 11, 18, 14 }, { 13, 20, 16 }, + { 14, 23, 18 }, { 16, 25, 20 }, { 18, 29, 23 } }; + +const mfxI32 pre_norm_adjust8x8[6][6] = { { 20, 18, 32, 19, 25, 24 }, { 22, 19, 35, 21, 28, 26 }, + { 26, 23, 42, 24, 33, 31 }, { 28, 25, 45, 26, 35, 33 }, + { 32, 28, 51, 30, 40, 38 }, { 36, 32, 58, 34, 46, 43 } }; +const mfxI32 pre_norm_adjust_index8x8[64] = { + // 0 1 2 3 4 5 6 7 + 0, 3, 4, 3, 0, 3, 4, 3, //0 + 3, 1, 5, 1, 3, 1, 5, 1, //1 + 4, 5, 2, 5, 4, 5, 2, 5, //2 + 3, 1, 5, 1, 3, 1, 5, 1, //3 + 0, 3, 4, 3, 0, 3, 4, 3, //4 + 3, 1, 5, 1, 3, 1, 5, 1, //5 + 4, 5, 2, 5, 4, 5, 2, 5, //6 + 3, 1, 5, 1, 3, 1, 5, 1 //7 +}; + +const mfxI32 mp_scan4x4[2][16] = { { 0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15 }, + { 0, 4, 1, 8, 12, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15 } }; + +const mfxI32 hp_scan8x8[2][64] = { + //8x8 zigzag scan + { 0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, + 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, + 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63 }, + //8x8 field scan + { 0, 8, 16, 1, 9, 24, 32, 17, 2, 25, 40, 48, 56, 33, 10, 3, 18, 41, 49, 57, 26, 11, + 4, 19, 34, 42, 50, 58, 27, 12, 5, 20, 35, 43, 51, 59, 28, 13, 6, 21, 36, 44, 52, 60, + 29, 14, 22, 37, 45, 53, 61, 30, 7, 15, 38, 46, 54, 62, 23, 31, 39, 47, 55, 63 } +}; + +#define avcSkipNBits(current_data, offset, nbits) \ + { \ + /* check error(s) */ \ + SAMPLE_ASSERT((nbits) > 0 && (nbits) <= 32); \ + SAMPLE_ASSERT(offset >= 0 && offset <= 31); \ + /* decrease number of available bits */ \ + offset -= (nbits); \ + /* normalize bitstream pointer */ \ + if (0 > offset) { \ + offset += 32; \ + current_data++; \ + } \ + /* check error(s) again */ \ + SAMPLE_ASSERT(offset >= 0 && offset <= 31); \ + } + +#define avcGetBits8(current_data, offset, data) _avcGetBits(current_data, offset, 8, data); + +#define avcUngetNBits(current_data, offset, nbits) \ + { \ + SAMPLE_ASSERT(offset >= 0 && offset <= 31); \ + \ + offset += (nbits); \ + if (offset > 31) { \ + offset -= 32; \ + current_data--; \ + } \ + \ + SAMPLE_ASSERT(offset >= 0 && offset <= 31); \ + } + +#define avcUngetBits32(current_data, offset) \ + SAMPLE_ASSERT(offset >= 0 && offset <= 31); \ + current_data--; + +#define avcAlignBSPointerRight(current_data, offset) \ + { \ + if ((offset & 0x07) != 0x07) { \ + offset = (offset | 0x07) - 8; \ + if (offset == -1) { \ + offset = 31; \ + current_data++; \ + } \ + } \ + } + +#define avcNextBits(current_data, bp, nbits, data) \ + { \ + mfxU32 x; \ + \ + SAMPLE_ASSERT((nbits) > 0 && (nbits) <= 32); \ + SAMPLE_ASSERT(nbits >= 0 && nbits <= 31); \ + \ + mfxI32 offset = bp - (nbits); \ + \ + if (offset >= 0) { \ + x = current_data[0] >> (offset + 1); \ + } \ + else { \ + offset += 32; \ + \ + x = current_data[1] >> (offset); \ + x >>= 1; \ + x += current_data[0] << (31 - offset); \ + } \ + \ + SAMPLE_ASSERT(offset >= 0 && offset <= 31); \ + \ + (data) = x & bits_data[nbits]; \ + } + +inline void FillFlatScalingList4x4(AVCScalingList4x4 *scl) { + for (mfxI32 i = 0; i < 16; i++) + scl->ScalingListCoeffs[i] = 16; +} + +inline void FillFlatScalingList8x8(AVCScalingList8x8 *scl) { + for (mfxI32 i = 0; i < 64; i++) + scl->ScalingListCoeffs[i] = 16; +} + +inline void FillScalingList4x4(AVCScalingList4x4 *scl_dst, mfxU8 *coefs_src) { + for (mfxI32 i = 0; i < 16; i++) + scl_dst->ScalingListCoeffs[i] = coefs_src[i]; +} + +inline void FillScalingList8x8(AVCScalingList8x8 *scl_dst, mfxU8 *coefs_src) { + for (mfxI32 i = 0; i < 64; i++) + scl_dst->ScalingListCoeffs[i] = coefs_src[i]; +} + +AVCBaseBitstream::AVCBaseBitstream() { + Reset(0, 0); +} + +AVCBaseBitstream::AVCBaseBitstream(mfxU8 *const pb, const mfxU32 maxsize) { + Reset(pb, maxsize); +} + +AVCBaseBitstream::~AVCBaseBitstream() {} + +void AVCBaseBitstream::Reset(mfxU8 *const pb, const mfxU32 maxsize) { + m_pbs = (mfxU32 *)pb; + m_pbsBase = (mfxU32 *)pb; + m_bitOffset = 31; + m_maxBsSize = maxsize; + +} // void Reset(mfxU8 * const pb, const mfxU32 maxsize) + +void AVCBaseBitstream::Reset(mfxU8 *const pb, mfxI32 offset, const mfxU32 maxsize) { + m_pbs = (mfxU32 *)pb; + m_pbsBase = (mfxU32 *)pb; + m_bitOffset = offset; + m_maxBsSize = maxsize; + +} // void Reset(mfxU8 * const pb, mfxI32 offset, const mfxU32 maxsize) + +mfxStatus AVCBaseBitstream::GetNALUnitType(NAL_Unit_Type &uNALUnitType, mfxU8 &uNALStorageIDC) { + mfxU32 code; + avcGetBits8(m_pbs, m_bitOffset, code); + + uNALStorageIDC = (mfxU8)((code & NAL_STORAGE_IDC_BITS) >> 5); + uNALUnitType = (NAL_Unit_Type)(code & NAL_UNITTYPE_BITS); + return MFX_ERR_NONE; +} // GetNALUnitType + +mfxI32 AVCBaseBitstream::GetVLCElement(bool bIsSigned) { + mfxI32 sval = 0; + + mfxStatus ippRes = DecodeExpGolombOne(&m_pbs, &m_bitOffset, &sval, bIsSigned); + + if (ippRes < MFX_ERR_NONE) + throw AVC_exception(MFX_ERR_UNDEFINED_BEHAVIOR); + + return sval; +} + +void AVCBaseBitstream::AlignPointerRight(void) { + avcAlignBSPointerRight(m_pbs, m_bitOffset); + +} // void AVCBitstream::AlignPointerRight(void) + +bool AVCBaseBitstream::More_RBSP_Data() { + mfxI32 code, tmp; + mfxU32 *ptr_state = m_pbs; + mfxI32 bit_state = m_bitOffset; + + SAMPLE_ASSERT(m_bitOffset >= 0 && m_bitOffset <= 31); + + mfxI32 remaining_bytes = (mfxI32)BytesLeft(); + + if (remaining_bytes <= 0) + return false; + + // get top bit, it can be "rbsp stop" bit + avcGetNBits(m_pbs, m_bitOffset, 1, code); + + // get remain bits, which is less then byte + tmp = (m_bitOffset + 1) % 8; + + if (tmp) { + avcGetNBits(m_pbs, m_bitOffset, tmp, code); + if ((code << (8 - tmp)) & 0x7f) // most sig bit could be rbsp stop bit + { + m_pbs = ptr_state; + m_bitOffset = bit_state; + // there are more data + return true; + } + } + + remaining_bytes = (mfxI32)BytesLeft(); + + // run through remain bytes + while (0 < remaining_bytes) { + avcGetBits8(m_pbs, m_bitOffset, code); + + if (code) { + m_pbs = ptr_state; + m_bitOffset = bit_state; + // there are more data + return true; + } + + remaining_bytes -= 1; + } + + return false; +} + +AVCHeadersBitstream::AVCHeadersBitstream() : AVCBaseBitstream() {} + +AVCHeadersBitstream::AVCHeadersBitstream(mfxU8 *const pb, const mfxU32 maxsize) + : AVCBaseBitstream(pb, maxsize) {} + +// --------------------------------------------------------------------------- +// AVCBitstream::GetSequenceParamSet() +// Read sequence parameter set data from bitstream. +// --------------------------------------------------------------------------- +mfxStatus AVCHeadersBitstream::GetSequenceParamSet(AVCSeqParamSet *sps) { + // Not all members of the seq param set structure are contained in all + // seq param sets. So start by init all to zero. + mfxStatus ps = MFX_ERR_NONE; + sps->Reset(); + + // profile + sps->profile_idc = (mfxU8)GetBits(8); + + switch (sps->profile_idc) { + case AVC_PROFILE_BASELINE: + case AVC_PROFILE_MAIN: + case AVC_PROFILE_SCALABLE_BASELINE: + case AVC_PROFILE_SCALABLE_HIGH: + case AVC_PROFILE_EXTENDED: + case AVC_PROFILE_HIGH: + case AVC_PROFILE_HIGH10: + case AVC_PROFILE_MULTIVIEW_HIGH: + case AVC_PROFILE_HIGH422: + case AVC_PROFILE_STEREO_HIGH: + case AVC_PROFILE_HIGH444: + case AVC_PROFILE_ADVANCED444_INTRA: + case AVC_PROFILE_ADVANCED444: + break; + default: + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + sps->constrained_set0_flag = (mfxU8)Get1Bit(); + + sps->constrained_set1_flag = (mfxU8)Get1Bit(); + + sps->constrained_set2_flag = (mfxU8)Get1Bit(); + + sps->constrained_set3_flag = (mfxU8)Get1Bit(); + + // skip 4 zero bits + GetBits(4); + + sps->level_idc = (mfxU8)GetBits(8); + + switch (sps->level_idc) { + case AVC_LEVEL_1: + case AVC_LEVEL_11: + case AVC_LEVEL_12: + case AVC_LEVEL_13: + + case AVC_LEVEL_2: + case AVC_LEVEL_21: + case AVC_LEVEL_22: + + case AVC_LEVEL_3: + case AVC_LEVEL_31: + case AVC_LEVEL_32: + + case AVC_LEVEL_4: + case AVC_LEVEL_41: + case AVC_LEVEL_42: + + case AVC_LEVEL_5: + case AVC_LEVEL_51: + break; + default: + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + // id + mfxI32 sps_id = GetVLCElement(false); + if (sps_id > MAX_NUM_SEQ_PARAM_SETS - 1) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + sps->seq_parameter_set_id = (mfxU8)sps_id; + + // see 7.3.2.1.1 "Sequence parameter set data syntax" + // chapter of H264 standard for full list of profiles with chrominance + if ((AVC_PROFILE_SCALABLE_BASELINE == sps->profile_idc) || + (AVC_PROFILE_SCALABLE_HIGH == sps->profile_idc) || (AVC_PROFILE_HIGH == sps->profile_idc) || + (AVC_PROFILE_HIGH10 == sps->profile_idc) || + (AVC_PROFILE_MULTIVIEW_HIGH == sps->profile_idc) || + (AVC_PROFILE_HIGH422 == sps->profile_idc) || + (AVC_PROFILE_STEREO_HIGH == sps->profile_idc) || (244 == sps->profile_idc) || + (44 == sps->profile_idc)) { + mfxU32 chroma_format_idc = GetVLCElement(false); + + if (chroma_format_idc > 3) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + sps->chroma_format_idc = (mfxU8)chroma_format_idc; + if (sps->chroma_format_idc == 3) { + sps->residual_colour_transform_flag = (mfxU8)Get1Bit(); + } + + mfxU32 bit_depth_luma = GetVLCElement(false) + 8; + mfxU32 bit_depth_chroma = GetVLCElement(false) + 8; + + if (bit_depth_luma > 16 || bit_depth_chroma > 16) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + sps->bit_depth_luma = (mfxU8)bit_depth_luma; + sps->bit_depth_chroma = (mfxU8)bit_depth_chroma; + + if (!chroma_format_idc) + sps->bit_depth_chroma = sps->bit_depth_luma; + + SAMPLE_ASSERT(!sps->residual_colour_transform_flag); + if (sps->residual_colour_transform_flag == 1) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + sps->qpprime_y_zero_transform_bypass_flag = (mfxU8)Get1Bit(); + sps->seq_scaling_matrix_present_flag = (mfxU8)Get1Bit(); + if (sps->seq_scaling_matrix_present_flag) { + // 0 + if (Get1Bit()) { + GetScalingList4x4(&sps->ScalingLists4x4[0], + (mfxU8 *)default_intra_scaling_list4x4, + &sps->type_of_scaling_list_used[0]); + } + else { + FillScalingList4x4(&sps->ScalingLists4x4[0], + (mfxU8 *)default_intra_scaling_list4x4); + sps->type_of_scaling_list_used[0] = SCLDEFAULT; + } + // 1 + if (Get1Bit()) { + GetScalingList4x4(&sps->ScalingLists4x4[1], + (mfxU8 *)default_intra_scaling_list4x4, + &sps->type_of_scaling_list_used[1]); + } + else { + FillScalingList4x4(&sps->ScalingLists4x4[1], + (mfxU8 *)sps->ScalingLists4x4[0].ScalingListCoeffs); + sps->type_of_scaling_list_used[1] = SCLDEFAULT; + } + // 2 + if (Get1Bit()) { + GetScalingList4x4(&sps->ScalingLists4x4[2], + (mfxU8 *)default_intra_scaling_list4x4, + &sps->type_of_scaling_list_used[2]); + } + else { + FillScalingList4x4(&sps->ScalingLists4x4[2], + (mfxU8 *)sps->ScalingLists4x4[1].ScalingListCoeffs); + sps->type_of_scaling_list_used[2] = SCLDEFAULT; + } + // 3 + if (Get1Bit()) { + GetScalingList4x4(&sps->ScalingLists4x4[3], + (mfxU8 *)default_inter_scaling_list4x4, + &sps->type_of_scaling_list_used[3]); + } + else { + FillScalingList4x4(&sps->ScalingLists4x4[3], + (mfxU8 *)default_inter_scaling_list4x4); + sps->type_of_scaling_list_used[3] = SCLDEFAULT; + } + // 4 + if (Get1Bit()) { + GetScalingList4x4(&sps->ScalingLists4x4[4], + (mfxU8 *)default_inter_scaling_list4x4, + &sps->type_of_scaling_list_used[4]); + } + else { + FillScalingList4x4(&sps->ScalingLists4x4[4], + (mfxU8 *)sps->ScalingLists4x4[3].ScalingListCoeffs); + sps->type_of_scaling_list_used[4] = SCLDEFAULT; + } + // 5 + if (Get1Bit()) { + GetScalingList4x4(&sps->ScalingLists4x4[5], + (mfxU8 *)default_inter_scaling_list4x4, + &sps->type_of_scaling_list_used[5]); + } + else { + FillScalingList4x4(&sps->ScalingLists4x4[5], + (mfxU8 *)sps->ScalingLists4x4[4].ScalingListCoeffs); + sps->type_of_scaling_list_used[5] = SCLDEFAULT; + } + + // 0 + if (Get1Bit()) { + GetScalingList8x8(&sps->ScalingLists8x8[0], + (mfxU8 *)default_intra_scaling_list8x8, + &sps->type_of_scaling_list_used[6]); + } + else { + FillScalingList8x8(&sps->ScalingLists8x8[0], + (mfxU8 *)default_intra_scaling_list8x8); + sps->type_of_scaling_list_used[6] = SCLDEFAULT; + } + // 1 + if (Get1Bit()) { + GetScalingList8x8(&sps->ScalingLists8x8[1], + (mfxU8 *)default_inter_scaling_list8x8, + &sps->type_of_scaling_list_used[7]); + } + else { + FillScalingList8x8(&sps->ScalingLists8x8[1], + (mfxU8 *)default_inter_scaling_list8x8); + sps->type_of_scaling_list_used[7] = SCLDEFAULT; + } + } + else { + mfxI32 i; + + for (i = 0; i < 6; i += 1) { + FillFlatScalingList4x4(&sps->ScalingLists4x4[i]); + } + for (i = 0; i < 2; i += 1) { + FillFlatScalingList8x8(&sps->ScalingLists8x8[i]); + } + } + } + else { + sps->chroma_format_idc = 1; + sps->bit_depth_luma = 8; + sps->bit_depth_chroma = 8; + + SetDefaultScalingLists(sps); + } + + // log2 max frame num (bitstream contains value - 4) + mfxU32 log2_max_frame_num = GetVLCElement(false) + 4; + sps->log2_max_frame_num = (mfxU8)log2_max_frame_num; + + if (log2_max_frame_num > 16 || log2_max_frame_num < 4) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + // pic order cnt type (0..2) + mfxU32 pic_order_cnt_type = GetVLCElement(false); + sps->pic_order_cnt_type = (mfxU8)pic_order_cnt_type; + if (pic_order_cnt_type > 2) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + if (sps->pic_order_cnt_type == 0) { + // log2 max pic order count lsb (bitstream contains value - 4) + mfxU32 log2_max_pic_order_cnt_lsb = GetVLCElement(false) + 4; + sps->log2_max_pic_order_cnt_lsb = (mfxU8)log2_max_pic_order_cnt_lsb; + + if (log2_max_pic_order_cnt_lsb > 16 || log2_max_pic_order_cnt_lsb < 4) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + sps->MaxPicOrderCntLsb = (1 << sps->log2_max_pic_order_cnt_lsb); + } + else if (sps->pic_order_cnt_type == 1) { + sps->delta_pic_order_always_zero_flag = (mfxU8)Get1Bit(); + sps->offset_for_non_ref_pic = GetVLCElement(true); + sps->offset_for_top_to_bottom_field = GetVLCElement(true); + sps->num_ref_frames_in_pic_order_cnt_cycle = GetVLCElement(false); + + if (sps->num_ref_frames_in_pic_order_cnt_cycle > 255) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + // get offsets + for (mfxU32 i = 0; i < sps->num_ref_frames_in_pic_order_cnt_cycle; i++) { + sps->poffset_for_ref_frame[i] = GetVLCElement(true); + } + } // pic order count type 1 + + // num ref frames + sps->num_ref_frames = GetVLCElement(false); + if (sps->num_ref_frames > 16) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + sps->gaps_in_frame_num_value_allowed_flag = (mfxU8)Get1Bit(); + + // picture width in MBs (bitstream contains value - 1) + sps->frame_width_in_mbs = GetVLCElement(false) + 1; + + // picture height in MBs (bitstream contains value - 1) + sps->frame_height_in_mbs = GetVLCElement(false) + 1; + + sps->frame_mbs_only_flag = (mfxU8)Get1Bit(); + sps->frame_height_in_mbs = (2 - sps->frame_mbs_only_flag) * sps->frame_height_in_mbs; + if (sps->frame_mbs_only_flag == 0) { + sps->mb_adaptive_frame_field_flag = (mfxU8)Get1Bit(); + } + sps->direct_8x8_inference_flag = (mfxU8)Get1Bit(); + if (sps->frame_mbs_only_flag == 0) { + sps->direct_8x8_inference_flag = 1; + } + sps->frame_cropping_flag = (mfxU8)Get1Bit(); + + if (sps->frame_cropping_flag) { + sps->frame_cropping_rect_left_offset = GetVLCElement(false); + sps->frame_cropping_rect_right_offset = GetVLCElement(false); + sps->frame_cropping_rect_top_offset = GetVLCElement(false); + sps->frame_cropping_rect_bottom_offset = GetVLCElement(false); + } // don't need else because we zeroid structure + + sps->vui_parameters_present_flag = (mfxU8)Get1Bit(); + if (sps->vui_parameters_present_flag) { + if (ps == MFX_ERR_NONE) + ps = GetVUIParam(sps); + } + + return ps; +} // GetSequenceParamSet + +mfxStatus AVCHeadersBitstream::GetVUIParam(AVCSeqParamSet *sps) { + mfxStatus ps = MFX_ERR_NONE; + sps->aspect_ratio_info_present_flag = (mfxU8)Get1Bit(); + + sps->sar_width = 1; // default values + sps->sar_height = 1; + + if (sps->aspect_ratio_info_present_flag) { + sps->aspect_ratio_idc = (mfxU8)GetBits(8); + if (sps->aspect_ratio_idc == 255) { + sps->sar_width = (mfxU16)GetBits(16); + sps->sar_height = (mfxU16)GetBits(16); + } + } + + sps->overscan_info_present_flag = (mfxU8)Get1Bit(); + if (sps->overscan_info_present_flag) + sps->overscan_appropriate_flag = (mfxU8)Get1Bit(); + sps->video_signal_type_present_flag = (mfxU8)Get1Bit(); + if (sps->video_signal_type_present_flag) { + sps->video_format = (mfxU8)GetBits(3); + sps->video_full_range_flag = (mfxU8)Get1Bit(); + sps->colour_description_present_flag = (mfxU8)Get1Bit(); + if (sps->colour_description_present_flag) { + sps->colour_primaries = (mfxU8)GetBits(8); + sps->transfer_characteristics = (mfxU8)GetBits(8); + sps->matrix_coefficients = (mfxU8)GetBits(8); + } + } + sps->chroma_loc_info_present_flag = (mfxU8)Get1Bit(); + if (sps->chroma_loc_info_present_flag) { + sps->chroma_sample_loc_type_top_field = (mfxU8)GetVLCElement(false); + sps->chroma_sample_loc_type_bottom_field = (mfxU8)GetVLCElement(false); + } + sps->timing_info_present_flag = (mfxU8)Get1Bit(); + + if (sps->timing_info_present_flag) { + sps->num_units_in_tick = GetBits(32); + sps->time_scale = GetBits(32); + sps->fixed_frame_rate_flag = (mfxU8)Get1Bit(); + + if (!sps->num_units_in_tick || !sps->time_scale) + sps->timing_info_present_flag = 0; + } + + sps->nal_hrd_parameters_present_flag = (mfxU8)Get1Bit(); + if (sps->nal_hrd_parameters_present_flag) + ps = GetHRDParam(sps); + sps->vcl_hrd_parameters_present_flag = (mfxU8)Get1Bit(); + if (sps->vcl_hrd_parameters_present_flag) + ps = GetHRDParam(sps); + if (sps->nal_hrd_parameters_present_flag || sps->vcl_hrd_parameters_present_flag) + sps->low_delay_hrd_flag = (mfxU8)Get1Bit(); + sps->pic_struct_present_flag = (mfxU8)Get1Bit(); + sps->bitstream_restriction_flag = (mfxU8)Get1Bit(); + if (sps->bitstream_restriction_flag) { + sps->motion_vectors_over_pic_boundaries_flag = (mfxU8)Get1Bit(); + sps->max_bytes_per_pic_denom = (mfxU8)GetVLCElement(false); + sps->max_bits_per_mb_denom = (mfxU8)GetVLCElement(false); + sps->log2_max_mv_length_horizontal = (mfxU8)GetVLCElement(false); + sps->log2_max_mv_length_vertical = (mfxU8)GetVLCElement(false); + sps->num_reorder_frames = (mfxU8)GetVLCElement(false); + + mfxI32 value = GetVLCElement(false); + if (value < (mfxI32)sps->num_ref_frames || value < 0) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + sps->max_dec_frame_buffering = (mfxU8)GetVLCElement(false); + } + return ps; +} + +mfxStatus AVCHeadersBitstream::GetHRDParam(AVCSeqParamSet *sps) { + mfxStatus ps = MFX_ERR_NONE; + mfxI32 cpb_cnt = GetVLCElement(false) + 1; + + if (cpb_cnt >= 32) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + sps->cpb_cnt = (mfxU8)cpb_cnt; + + sps->bit_rate_scale = (mfxU8)GetBits(4); + sps->cpb_size_scale = (mfxU8)GetBits(4); + for (mfxI32 idx = 0; idx < sps->cpb_cnt; idx++) { + sps->bit_rate_value[idx] = (mfxU32)(GetVLCElement(false) + 1); + sps->cpb_size_value[idx] = (mfxU32)((GetVLCElement(false) + 1)); + sps->cbr_flag[idx] = (mfxU8)Get1Bit(); + } + sps->initial_cpb_removal_delay_length = (mfxU8)(GetBits(5) + 1); + sps->cpb_removal_delay_length = (mfxU8)(GetBits(5) + 1); + sps->dpb_output_delay_length = (mfxU8)(GetBits(5) + 1); + sps->time_offset_length = (mfxU8)GetBits(5); + return ps; +} + +// --------------------------------------------------------------------------- +// Read sequence parameter set extension data from bitstream. +// --------------------------------------------------------------------------- +mfxStatus AVCHeadersBitstream::GetSequenceParamSetExtension(AVCSeqParamSetExtension *sps_ex) { + // Not all members of the seq param set structure are contained in all + // seq param sets. So start by init all to zero. + mfxStatus ps = MFX_ERR_NONE; + sps_ex->Reset(); + + mfxU32 seq_parameter_set_id = GetVLCElement(false); + sps_ex->seq_parameter_set_id = (mfxU8)seq_parameter_set_id; + if (seq_parameter_set_id > MAX_NUM_SEQ_PARAM_SETS - 1) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + mfxU32 aux_format_idc = GetVLCElement(false); + sps_ex->aux_format_idc = (mfxU8)aux_format_idc; + if (aux_format_idc > 3) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + if (sps_ex->aux_format_idc != 1 && sps_ex->aux_format_idc != 2) + sps_ex->aux_format_idc = 0; + + if (sps_ex->aux_format_idc) { + mfxU32 bit_depth_aux = GetVLCElement(false) + 8; + sps_ex->bit_depth_aux = (mfxU8)bit_depth_aux; + if (bit_depth_aux > 12) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + sps_ex->alpha_incr_flag = (mfxU8)Get1Bit(); + sps_ex->alpha_opaque_value = (mfxU8)GetBits(sps_ex->bit_depth_aux + 1); + sps_ex->alpha_transparent_value = (mfxU8)GetBits(sps_ex->bit_depth_aux + 1); + } + + sps_ex->additional_extension_flag = (mfxU8)Get1Bit(); + + return ps; +} // GetSequenceParamSetExtension + +mfxStatus AVCHeadersBitstream::GetPictureParamSetPart1(AVCPicParamSet *pps) { + // Not all members of the pic param set structure are contained in all + // pic param sets. So start by init all to zero. + pps->Reset(); + + // id + mfxU32 pic_parameter_set_id = GetVLCElement(false); + pps->pic_parameter_set_id = (mfxU16)pic_parameter_set_id; + if (pic_parameter_set_id > MAX_NUM_PIC_PARAM_SETS - 1) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + // seq param set referred to by this pic param set + mfxU32 seq_parameter_set_id = GetVLCElement(false); + pps->seq_parameter_set_id = (mfxU8)seq_parameter_set_id; + if (seq_parameter_set_id > MAX_NUM_SEQ_PARAM_SETS - 1) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + return MFX_ERR_NONE; +} // GetPictureParamSetPart1 + +// Number of bits required to code slice group ID, index is num_slice_groups - 2 +static const mfxU8 SGIdBits[7] = { 1, 2, 2, 3, 3, 3, 3 }; + +// --------------------------------------------------------------------------- +// Read picture parameter set data from bitstream. +// --------------------------------------------------------------------------- +mfxStatus AVCHeadersBitstream::GetPictureParamSetPart2(AVCPicParamSet *pps, + const AVCSeqParamSet *sps) { + pps->entropy_coding_mode = (mfxU8)Get1Bit(); + + pps->pic_order_present_flag = (mfxU8)Get1Bit(); + + // number of slice groups, bitstream has value - 1 + pps->num_slice_groups = GetVLCElement(false) + 1; + if (pps->num_slice_groups != 1) { + mfxU32 slice_group; + mfxU32 PicSizeInMapUnits; // for range checks + + PicSizeInMapUnits = sps->frame_width_in_mbs * sps->frame_height_in_mbs; + // TBD: needs adjust for fields + + if (pps->num_slice_groups > MAX_NUM_SLICE_GROUPS) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + mfxU32 slice_group_map_type = GetVLCElement(false); + pps->SliceGroupInfo.slice_group_map_type = (mfxU8)slice_group_map_type; + + if (slice_group_map_type > 6) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + // Get additional, map type dependent slice group data + switch (pps->SliceGroupInfo.slice_group_map_type) { + case 0: + for (slice_group = 0; slice_group < pps->num_slice_groups; slice_group++) { + // run length, bitstream has value - 1 + pps->SliceGroupInfo.run_length[slice_group] = GetVLCElement(false) + 1; + + if (pps->SliceGroupInfo.run_length[slice_group] > PicSizeInMapUnits) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + } + break; + case 1: + // no additional info + break; + case 2: + for (slice_group = 0; slice_group < (mfxU32)(pps->num_slice_groups - 1); + slice_group++) { + pps->SliceGroupInfo.t1.top_left[slice_group] = GetVLCElement(false); + pps->SliceGroupInfo.t1.bottom_right[slice_group] = GetVLCElement(false); + + // check for legal values + if (pps->SliceGroupInfo.t1.top_left[slice_group] > + pps->SliceGroupInfo.t1.bottom_right[slice_group]) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + if (pps->SliceGroupInfo.t1.bottom_right[slice_group] >= PicSizeInMapUnits) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + if ((pps->SliceGroupInfo.t1.top_left[slice_group] % sps->frame_width_in_mbs) > + (pps->SliceGroupInfo.t1.bottom_right[slice_group] % + sps->frame_width_in_mbs)) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + } + break; + case 3: + case 4: + case 5: + // For map types 3..5, number of slice groups must be 2 + if (pps->num_slice_groups != 2) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + pps->SliceGroupInfo.t2.slice_group_change_direction_flag = (mfxU8)Get1Bit(); + pps->SliceGroupInfo.t2.slice_group_change_rate = GetVLCElement(false) + 1; + if (pps->SliceGroupInfo.t2.slice_group_change_rate > PicSizeInMapUnits) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + break; + case 6: + // mapping of slice group to map unit (macroblock if not fields) is + // per map unit, read from bitstream + { + mfxU32 map_unit; + mfxU32 num_bits; // number of bits used to code each slice group id + + // number of map units, bitstream has value - 1 + pps->SliceGroupInfo.t3.pic_size_in_map_units = GetVLCElement(false) + 1; + if (pps->SliceGroupInfo.t3.pic_size_in_map_units != PicSizeInMapUnits) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + mfxI32 len = std::max(1u, pps->SliceGroupInfo.t3.pic_size_in_map_units); + + pps->SliceGroupInfo.pSliceGroupIDMap.resize(len); + + // num_bits is Ceil(log2(num_groups)) + num_bits = SGIdBits[pps->num_slice_groups - 2]; + + for (map_unit = 0; map_unit < pps->SliceGroupInfo.t3.pic_size_in_map_units; + map_unit++) { + pps->SliceGroupInfo.pSliceGroupIDMap[map_unit] = (mfxU8)GetBits(num_bits); + if (pps->SliceGroupInfo.pSliceGroupIDMap[map_unit] > + pps->num_slice_groups - 1) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + } + } + break; + default: + return MFX_ERR_UNDEFINED_BEHAVIOR; + + } // switch + } // slice group info + + // number of list 0 ref pics used to decode picture, bitstream has value - 1 + pps->num_ref_idx_l0_active = GetVLCElement(false) + 1; + + // number of list 1 ref pics used to decode picture, bitstream has value - 1 + pps->num_ref_idx_l1_active = GetVLCElement(false) + 1; + + if (pps->num_ref_idx_l1_active > MAX_NUM_REF_FRAMES || + pps->num_ref_idx_l0_active > MAX_NUM_REF_FRAMES) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + // weighted pediction + pps->weighted_pred_flag = (mfxU8)Get1Bit(); + pps->weighted_bipred_idc = (mfxU8)GetBits(2); + + // default slice QP, bitstream has value - 26 + mfxI32 pic_init_qp = GetVLCElement(true) + 26; + pps->pic_init_qp = (mfxI8)pic_init_qp; + + // default SP/SI slice QP, bitstream has value - 26 + pps->pic_init_qs = (mfxU8)(GetVLCElement(true) + 26); + pps->chroma_qp_index_offset[0] = (mfxI8)GetVLCElement(true); + + pps->deblocking_filter_variables_present_flag = (mfxU8)Get1Bit(); + pps->constrained_intra_pred_flag = (mfxU8)Get1Bit(); + pps->redundant_pic_cnt_present_flag = (mfxU8)Get1Bit(); + if (More_RBSP_Data()) { + pps->transform_8x8_mode_flag = (mfxU8)Get1Bit(); + if (sps->seq_scaling_matrix_present_flag) { + //fall-back set rule B + if (Get1Bit()) { + // 0 + if (Get1Bit()) { + GetScalingList4x4(&pps->ScalingLists4x4[0], + (mfxU8 *)default_intra_scaling_list4x4, + &pps->type_of_scaling_list_used[0]); + } + else { + FillScalingList4x4(&pps->ScalingLists4x4[0], + (mfxU8 *)sps->ScalingLists4x4[0].ScalingListCoeffs); + pps->type_of_scaling_list_used[0] = SCLDEFAULT; + } + // 1 + if (Get1Bit()) { + GetScalingList4x4(&pps->ScalingLists4x4[1], + (mfxU8 *)default_intra_scaling_list4x4, + &pps->type_of_scaling_list_used[1]); + } + else { + FillScalingList4x4(&pps->ScalingLists4x4[1], + (mfxU8 *)pps->ScalingLists4x4[0].ScalingListCoeffs); + pps->type_of_scaling_list_used[1] = SCLDEFAULT; + } + // 2 + if (Get1Bit()) { + GetScalingList4x4(&pps->ScalingLists4x4[2], + (mfxU8 *)default_intra_scaling_list4x4, + &pps->type_of_scaling_list_used[2]); + } + else { + FillScalingList4x4(&pps->ScalingLists4x4[2], + (mfxU8 *)pps->ScalingLists4x4[1].ScalingListCoeffs); + pps->type_of_scaling_list_used[2] = SCLDEFAULT; + } + // 3 + if (Get1Bit()) { + GetScalingList4x4(&pps->ScalingLists4x4[3], + (mfxU8 *)default_inter_scaling_list4x4, + &pps->type_of_scaling_list_used[3]); + } + else { + FillScalingList4x4(&pps->ScalingLists4x4[3], + (mfxU8 *)sps->ScalingLists4x4[3].ScalingListCoeffs); + pps->type_of_scaling_list_used[3] = SCLDEFAULT; + } + // 4 + if (Get1Bit()) { + GetScalingList4x4(&pps->ScalingLists4x4[4], + (mfxU8 *)default_inter_scaling_list4x4, + &pps->type_of_scaling_list_used[4]); + } + else { + FillScalingList4x4(&pps->ScalingLists4x4[4], + (mfxU8 *)pps->ScalingLists4x4[3].ScalingListCoeffs); + pps->type_of_scaling_list_used[4] = SCLDEFAULT; + } + // 5 + if (Get1Bit()) { + GetScalingList4x4(&pps->ScalingLists4x4[5], + (mfxU8 *)default_inter_scaling_list4x4, + &pps->type_of_scaling_list_used[5]); + } + else { + FillScalingList4x4(&pps->ScalingLists4x4[5], + (mfxU8 *)pps->ScalingLists4x4[4].ScalingListCoeffs); + pps->type_of_scaling_list_used[5] = SCLDEFAULT; + } + + if (pps->transform_8x8_mode_flag) { + // 0 + if (Get1Bit()) { + GetScalingList8x8(&pps->ScalingLists8x8[0], + (mfxU8 *)default_intra_scaling_list8x8, + &pps->type_of_scaling_list_used[6]); + } + else { + FillScalingList8x8(&pps->ScalingLists8x8[0], + (mfxU8 *)sps->ScalingLists8x8[0].ScalingListCoeffs); + pps->type_of_scaling_list_used[6] = SCLDEFAULT; + } + // 1 + if (Get1Bit()) { + GetScalingList8x8(&pps->ScalingLists8x8[1], + (mfxU8 *)default_inter_scaling_list8x8, + &pps->type_of_scaling_list_used[7]); + } + else { + FillScalingList8x8(&pps->ScalingLists8x8[1], + (mfxU8 *)sps->ScalingLists8x8[1].ScalingListCoeffs); + pps->type_of_scaling_list_used[7] = SCLDEFAULT; + } + } + } + else { + mfxI32 i; + for (i = 0; i < 6; i++) { + FillScalingList4x4(&pps->ScalingLists4x4[i], + (mfxU8 *)sps->ScalingLists4x4[i].ScalingListCoeffs); + pps->type_of_scaling_list_used[i] = sps->type_of_scaling_list_used[i]; + } + + if (pps->transform_8x8_mode_flag) { + for (i = 0; i < 2; i++) { + FillScalingList8x8(&pps->ScalingLists8x8[i], + (mfxU8 *)sps->ScalingLists8x8[i].ScalingListCoeffs); + pps->type_of_scaling_list_used[i] = sps->type_of_scaling_list_used[i]; + } + } + } + } + else { + //fall-back set rule A + if (Get1Bit()) { + // 0 + if (Get1Bit()) { + GetScalingList4x4(&pps->ScalingLists4x4[0], + (mfxU8 *)default_intra_scaling_list4x4, + &pps->type_of_scaling_list_used[0]); + } + else { + FillScalingList4x4(&pps->ScalingLists4x4[0], + (mfxU8 *)default_intra_scaling_list4x4); + pps->type_of_scaling_list_used[0] = SCLDEFAULT; + } + // 1 + if (Get1Bit()) { + GetScalingList4x4(&pps->ScalingLists4x4[1], + (mfxU8 *)default_intra_scaling_list4x4, + &pps->type_of_scaling_list_used[1]); + } + else { + FillScalingList4x4(&pps->ScalingLists4x4[1], + (mfxU8 *)pps->ScalingLists4x4[0].ScalingListCoeffs); + pps->type_of_scaling_list_used[1] = SCLDEFAULT; + } + // 2 + if (Get1Bit()) { + GetScalingList4x4(&pps->ScalingLists4x4[2], + (mfxU8 *)default_intra_scaling_list4x4, + &pps->type_of_scaling_list_used[2]); + } + else { + FillScalingList4x4(&pps->ScalingLists4x4[2], + (mfxU8 *)pps->ScalingLists4x4[1].ScalingListCoeffs); + pps->type_of_scaling_list_used[2] = SCLDEFAULT; + } + // 3 + if (Get1Bit()) { + GetScalingList4x4(&pps->ScalingLists4x4[3], + (mfxU8 *)default_inter_scaling_list4x4, + &pps->type_of_scaling_list_used[3]); + } + else { + FillScalingList4x4(&pps->ScalingLists4x4[3], + (mfxU8 *)default_inter_scaling_list4x4); + pps->type_of_scaling_list_used[3] = SCLDEFAULT; + } + // 4 + if (Get1Bit()) { + GetScalingList4x4(&pps->ScalingLists4x4[4], + (mfxU8 *)default_inter_scaling_list4x4, + &pps->type_of_scaling_list_used[4]); + } + else { + FillScalingList4x4(&pps->ScalingLists4x4[4], + (mfxU8 *)pps->ScalingLists4x4[3].ScalingListCoeffs); + pps->type_of_scaling_list_used[4] = SCLDEFAULT; + } + // 5 + if (Get1Bit()) { + GetScalingList4x4(&pps->ScalingLists4x4[5], + (mfxU8 *)default_inter_scaling_list4x4, + &pps->type_of_scaling_list_used[5]); + } + else { + FillScalingList4x4(&pps->ScalingLists4x4[5], + (mfxU8 *)pps->ScalingLists4x4[4].ScalingListCoeffs); + pps->type_of_scaling_list_used[5] = SCLDEFAULT; + } + + if (pps->transform_8x8_mode_flag) { + // 0 + if (Get1Bit()) { + GetScalingList8x8(&pps->ScalingLists8x8[0], + (mfxU8 *)default_intra_scaling_list8x8, + &pps->type_of_scaling_list_used[6]); + } + else { + FillScalingList8x8(&pps->ScalingLists8x8[0], + (mfxU8 *)default_intra_scaling_list8x8); + pps->type_of_scaling_list_used[6] = SCLDEFAULT; + } + // 1 + if (Get1Bit()) { + GetScalingList8x8(&pps->ScalingLists8x8[1], + (mfxU8 *)default_inter_scaling_list8x8, + &pps->type_of_scaling_list_used[7]); + } + else { + FillScalingList8x8(&pps->ScalingLists8x8[1], + (mfxU8 *)default_inter_scaling_list8x8); + pps->type_of_scaling_list_used[7] = SCLDEFAULT; + } + } + } + else { + mfxI32 i; + for (i = 0; i < 6; i++) { + FillScalingList4x4(&pps->ScalingLists4x4[i], + (mfxU8 *)sps->ScalingLists4x4[i].ScalingListCoeffs); + pps->type_of_scaling_list_used[i] = sps->type_of_scaling_list_used[i]; + } + + if (pps->transform_8x8_mode_flag) { + for (i = 0; i < 2; i++) { + FillScalingList8x8(&pps->ScalingLists8x8[i], + (mfxU8 *)sps->ScalingLists8x8[i].ScalingListCoeffs); + pps->type_of_scaling_list_used[i] = sps->type_of_scaling_list_used[i]; + } + } + } + } + pps->chroma_qp_index_offset[1] = (mfxI8)GetVLCElement(true); + } + else { + pps->chroma_qp_index_offset[1] = pps->chroma_qp_index_offset[0]; + mfxI32 i; + for (i = 0; i < 6; i++) { + FillScalingList4x4(&pps->ScalingLists4x4[i], + (mfxU8 *)sps->ScalingLists4x4[i].ScalingListCoeffs); + pps->type_of_scaling_list_used[i] = sps->type_of_scaling_list_used[i]; + } + + if (pps->transform_8x8_mode_flag) { + for (i = 0; i < 2; i++) { + FillScalingList8x8(&pps->ScalingLists8x8[i], + (mfxU8 *)sps->ScalingLists8x8[i].ScalingListCoeffs); + pps->type_of_scaling_list_used[i] = sps->type_of_scaling_list_used[i]; + } + } + } + // calculate level scale matrices + + //start DC first + //to do: reduce the number of matrices (in fact 1 is enough) + mfxI32 i; + // now process other 4x4 matrices + for (i = 0; i < 6; i++) { + for (mfxI32 j = 0; j < 88; j++) + for (mfxI32 k = 0; k < 16; k++) { + mfxU32 level_scale = pps->ScalingLists4x4[i].ScalingListCoeffs[k] * + pre_norm_adjust4x4[j % 6][pre_norm_adjust_index4x4[k]]; + pps->m_LevelScale4x4[i].LevelScaleCoeffs[j][k] = (mfxI16)level_scale; + } + } + + // process remaining 8x8 matrices + for (i = 0; i < 2; i++) { + for (mfxI32 j = 0; j < 88; j++) + for (mfxI32 k = 0; k < 64; k++) { + mfxU32 level_scale = pps->ScalingLists8x8[i].ScalingListCoeffs[k] * + pre_norm_adjust8x8[j % 6][pre_norm_adjust_index8x8[k]]; + pps->m_LevelScale8x8[i].LevelScaleCoeffs[j][k] = (mfxI16)level_scale; + } + } + + return MFX_ERR_NONE; +} // GetPictureParamSet + +mfxStatus AVCHeadersBitstream::GetNalUnitPrefix(AVCNalExtension *pExt, mfxU32) { + mfxStatus ps = MFX_ERR_NONE; + + ps = GetNalUnitExtension(pExt); + + if (ps != MFX_ERR_NONE || !pExt->svc_extension_flag) + return ps; + + return ps; +} + +mfxStatus AVCHeadersBitstream::GetNalUnitExtension(AVCNalExtension *pExt) { + pExt->extension_present = 1; + + // decode the type of the extension + pExt->svc_extension_flag = (mfxU8)GetBits(1); + + // decode SVC extension + if (pExt->svc_extension_flag) { + pExt->svc.idr_flag = (mfxU8)Get1Bit(); + pExt->svc.priority_id = (mfxU8)GetBits(6); + pExt->svc.no_inter_layer_pred_flag = (mfxU8)Get1Bit(); + pExt->svc.dependency_id = (mfxU8)GetBits(3); + pExt->svc.quality_id = (mfxU8)GetBits(4); + pExt->svc.temporal_id = (mfxU8)GetBits(3); + pExt->svc.use_ref_base_pic_flag = (mfxU8)Get1Bit(); + pExt->svc.discardable_flag = (mfxU8)Get1Bit(); + pExt->svc.output_flag = (mfxU8)Get1Bit(); + GetBits(2); + } + // decode MVC extension + else { + pExt->mvc.non_idr_flag = (mfxU8)Get1Bit(); + pExt->mvc.priority_id = (mfxU16)GetBits(6); + pExt->mvc.view_id = (mfxU16)GetBits(10); + pExt->mvc.temporal_id = (mfxU8)GetBits(3); + pExt->mvc.anchor_pic_flag = (mfxU8)Get1Bit(); + pExt->mvc.inter_view_flag = (mfxU8)Get1Bit(); + GetBits(1); + } + + return MFX_ERR_NONE; +} + +// --------------------------------------------------------------------------- +// Read H.264 first part of slice header +// +// Reading the rest of the header requires info in the picture and sequence +// parameter sets referred to by this slice header. +// +// Do not print debug messages when IsSearch is true. In that case the function +// is being used to find the next compressed frame, errors may occur and should +// not be reported. +// +// --------------------------------------------------------------------------- +mfxStatus AVCHeadersBitstream::GetSliceHeaderPart1(AVCSliceHeader *hdr) { + mfxU32 val; + + // decode NAL extension + if (NAL_UT_CODED_SLICE_EXTENSION == hdr->nal_unit_type) { + GetNalUnitExtension(&hdr->nal_ext); + + // set the IDR flag + if (hdr->nal_ext.svc_extension_flag) { + hdr->IdrPicFlag = hdr->nal_ext.svc.idr_flag; + } + else { + hdr->view_id = hdr->nal_ext.mvc.view_id; + hdr->IdrPicFlag = hdr->nal_ext.mvc.non_idr_flag ^ 1; + } + } + else { + hdr->IdrPicFlag = (NAL_UT_IDR_SLICE == hdr->nal_unit_type) ? (1) : (0); + hdr->nal_ext.mvc.anchor_pic_flag = (mfxU8)hdr->IdrPicFlag ? 1 : 0; + hdr->nal_ext.mvc.inter_view_flag = (mfxU8)1; + } + + hdr->first_mb_in_slice = GetVLCElement(false); + if (0 > hdr->first_mb_in_slice) // upper bound is checked in AVCSlice + return MFX_ERR_UNDEFINED_BEHAVIOR; + + // slice type + val = GetVLCElement(false); + if (val > S_INTRASLICE) { + if (val > S_INTRASLICE + S_INTRASLICE + 1) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + else { + // Slice type is specifying type of not only this but all remaining + // slices in the picture. Since slice type is always present, this bit + // of info is not used in our implementation. Adjust (just shift range) + // and return type without this extra info. + val -= (S_INTRASLICE + 1); + } + } + + if (val > INTRASLICE) // all other doesn't support + return MFX_ERR_UNDEFINED_BEHAVIOR; + + hdr->slice_type = (EnumSliceCodType)val; + + mfxU32 pic_parameter_set_id = GetVLCElement(false); + hdr->pic_parameter_set_id = (mfxU16)pic_parameter_set_id; + if (pic_parameter_set_id > MAX_NUM_PIC_PARAM_SETS - 1) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + return MFX_ERR_NONE; +} // mfxStatus GetSliceHeaderPart1(AVCSliceHeader *pSliceHeader) + +mfxStatus AVCHeadersBitstream::GetSliceHeaderPart2( + AVCSliceHeader *hdr, // slice header read goes here + const AVCPicParamSet *pps, + const AVCSeqParamSet *sps) // from slice header NAL unit +{ + hdr->frame_num = GetBits(sps->log2_max_frame_num); + + hdr->bottom_field_flag = 0; + if (sps->frame_mbs_only_flag == 0) { + hdr->field_pic_flag = (mfxU8)Get1Bit(); + hdr->MbaffFrameFlag = !hdr->field_pic_flag && sps->mb_adaptive_frame_field_flag; + if (hdr->field_pic_flag != 0) { + hdr->bottom_field_flag = (mfxU8)Get1Bit(); + } + } + + // correct frst_mb_in_slice in order to handle MBAFF + if (hdr->MbaffFrameFlag && hdr->first_mb_in_slice) + hdr->first_mb_in_slice <<= 1; + + if (hdr->IdrPicFlag) { + mfxI32 pic_id = hdr->idr_pic_id = GetVLCElement(false); + if (pic_id < 0 || pic_id > 65535) + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + if (sps->pic_order_cnt_type == 0) { + hdr->pic_order_cnt_lsb = GetBits(sps->log2_max_pic_order_cnt_lsb); + if (pps->pic_order_present_flag && (!hdr->field_pic_flag)) + hdr->delta_pic_order_cnt_bottom = GetVLCElement(true); + } + + if ((sps->pic_order_cnt_type == 1) && (sps->delta_pic_order_always_zero_flag == 0)) { + hdr->delta_pic_order_cnt[0] = GetVLCElement(true); + if (pps->pic_order_present_flag && (!hdr->field_pic_flag)) + hdr->delta_pic_order_cnt[1] = GetVLCElement(true); + } + + if (pps->redundant_pic_cnt_present_flag) { + // redundant pic count + hdr->redundant_pic_cnt = GetVLCElement(false); + if (hdr->redundant_pic_cnt > 127) + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + return MFX_ERR_NONE; +} + +// --------------------------------------------------------------------------- +// Read H.264 second part of slice header +// +// Do not print debug messages when IsSearch is true. In that case the function +// is being used to find the next compressed frame, errors may occur and should +// not be reported. +// --------------------------------------------------------------------------- + +mfxStatus AVCHeadersBitstream::GetSliceHeaderPart3( + AVCSliceHeader *hdr, // slice header read goes here + PredWeightTable *pPredWeight_L0, // L0 weight table goes here + PredWeightTable *pPredWeight_L1, // L1 weight table goes here + RefPicListReorderInfo *pReorderInfo_L0, + RefPicListReorderInfo *pReorderInfo_L1, + AdaptiveMarkingInfo *pAdaptiveMarkingInfo, + const AVCPicParamSet *pps, + const AVCSeqParamSet *sps, + mfxU8 NALRef_idc) // from slice header NAL unit +{ + mfxU8 ref_pic_list_reordering_flag_l0 = 0; + mfxU8 ref_pic_list_reordering_flag_l1 = 0; + + if (BPREDSLICE == hdr->slice_type) { + // direct mode prediction method + hdr->direct_spatial_mv_pred_flag = (mfxU8)Get1Bit(); + } + + if (PREDSLICE == hdr->slice_type || S_PREDSLICE == hdr->slice_type || + BPREDSLICE == hdr->slice_type) { + hdr->num_ref_idx_active_override_flag = (mfxU8)Get1Bit(); + if (hdr->num_ref_idx_active_override_flag != 0) + // ref idx active l0 and l1 + { + hdr->num_ref_idx_l0_active = GetVLCElement(false) + 1; + if (BPREDSLICE == hdr->slice_type) + hdr->num_ref_idx_l1_active = GetVLCElement(false) + 1; + } + else { + // no overide, use num active from pic param set + hdr->num_ref_idx_l0_active = pps->num_ref_idx_l0_active; + if (BPREDSLICE == hdr->slice_type) + hdr->num_ref_idx_l1_active = pps->num_ref_idx_l1_active; + else + hdr->num_ref_idx_l1_active = 0; + } + } // ref idx override + + if (hdr->num_ref_idx_l1_active > MAX_NUM_REF_FRAMES || + hdr->num_ref_idx_l0_active > MAX_NUM_REF_FRAMES) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + if (hdr->slice_type != INTRASLICE && hdr->slice_type != S_INTRASLICE) { + mfxU32 reordering_of_pic_nums_idc; + mfxU32 reorder_idx; + + // Reference picture list reordering + ref_pic_list_reordering_flag_l0 = (mfxU8)Get1Bit(); + if (ref_pic_list_reordering_flag_l0) { + bool bOk = true; + + reorder_idx = 0; + reordering_of_pic_nums_idc = 0; + + // Get reorder idc,pic_num pairs until idc==3 + while (bOk) { + reordering_of_pic_nums_idc = (mfxU8)GetVLCElement(false); + if (reordering_of_pic_nums_idc > 5) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + if (reordering_of_pic_nums_idc == 3) + break; + + if (reorder_idx >= MAX_NUM_REF_FRAMES) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + pReorderInfo_L0->reordering_of_pic_nums_idc[reorder_idx] = + (mfxU8)reordering_of_pic_nums_idc; + pReorderInfo_L0->reorder_value[reorder_idx] = GetVLCElement(false); + if (reordering_of_pic_nums_idc != 2) + // abs_diff_pic_num is coded minus 1 + pReorderInfo_L0->reorder_value[reorder_idx]++; + reorder_idx++; + } // while + + pReorderInfo_L0->num_entries = reorder_idx; + } // L0 reordering info + else + pReorderInfo_L0->num_entries = 0; + + if (BPREDSLICE == hdr->slice_type) { + ref_pic_list_reordering_flag_l1 = (mfxU8)Get1Bit(); + if (ref_pic_list_reordering_flag_l1) { + bool bOk = true; + + // Get reorder idc,pic_num pairs until idc==3 + reorder_idx = 0; + reordering_of_pic_nums_idc = 0; + while (bOk) { + reordering_of_pic_nums_idc = GetVLCElement(false); + if (reordering_of_pic_nums_idc > 5) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + if (reordering_of_pic_nums_idc == 3) + break; + + if (reorder_idx >= MAX_NUM_REF_FRAMES) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + pReorderInfo_L1->reordering_of_pic_nums_idc[reorder_idx] = + (mfxU8)reordering_of_pic_nums_idc; + pReorderInfo_L1->reorder_value[reorder_idx] = GetVLCElement(false); + if (reordering_of_pic_nums_idc != 2) + // abs_diff_pic_num is coded minus 1 + pReorderInfo_L1->reorder_value[reorder_idx]++; + reorder_idx++; + } // while + pReorderInfo_L1->num_entries = reorder_idx; + } // L1 reordering info + else + pReorderInfo_L1->num_entries = 0; + + } // B slice + } // reordering info + + // prediction weight table + if ((pps->weighted_pred_flag && + ((PREDSLICE == hdr->slice_type) || (S_PREDSLICE == hdr->slice_type))) || + ((pps->weighted_bipred_idc == 1) && (BPREDSLICE == hdr->slice_type))) { + hdr->luma_log2_weight_denom = (mfxU8)GetVLCElement(false); + if (sps->chroma_format_idc != 0) + hdr->chroma_log2_weight_denom = (mfxU8)GetVLCElement(false); + + for (mfxI32 refindex = 0; refindex < hdr->num_ref_idx_l0_active; refindex++) { + pPredWeight_L0[refindex].luma_weight_flag = (mfxU8)Get1Bit(); + if (pPredWeight_L0[refindex].luma_weight_flag) { + pPredWeight_L0[refindex].luma_weight = (mfxI8)GetVLCElement(true); + pPredWeight_L0[refindex].luma_offset = (mfxI8)GetVLCElement(true); + } + else { + pPredWeight_L0[refindex].luma_weight = (mfxI8)(1 << hdr->luma_log2_weight_denom); + pPredWeight_L0[refindex].luma_offset = 0; + } + + if (sps->chroma_format_idc != 0) { + pPredWeight_L0[refindex].chroma_weight_flag = (mfxU8)Get1Bit(); + if (pPredWeight_L0[refindex].chroma_weight_flag) { + pPredWeight_L0[refindex].chroma_weight[0] = (mfxI8)GetVLCElement(true); + pPredWeight_L0[refindex].chroma_offset[0] = (mfxI8)GetVLCElement(true); + pPredWeight_L0[refindex].chroma_weight[1] = (mfxI8)GetVLCElement(true); + pPredWeight_L0[refindex].chroma_offset[1] = (mfxI8)GetVLCElement(true); + } + else { + pPredWeight_L0[refindex].chroma_weight[0] = + (mfxI8)(1 << hdr->chroma_log2_weight_denom); + pPredWeight_L0[refindex].chroma_weight[1] = + (mfxI8)(1 << hdr->chroma_log2_weight_denom); + pPredWeight_L0[refindex].chroma_offset[0] = 0; + pPredWeight_L0[refindex].chroma_offset[1] = 0; + } + } + } + + if (BPREDSLICE == hdr->slice_type) { + for (mfxI32 refindex = 0; refindex < hdr->num_ref_idx_l1_active; refindex++) { + pPredWeight_L1[refindex].luma_weight_flag = (mfxU8)Get1Bit(); + if (pPredWeight_L1[refindex].luma_weight_flag) { + pPredWeight_L1[refindex].luma_weight = (mfxI8)GetVLCElement(true); + pPredWeight_L1[refindex].luma_offset = (mfxI8)GetVLCElement(true); + } + else { + pPredWeight_L1[refindex].luma_weight = + (mfxI8)(1 << hdr->luma_log2_weight_denom); + pPredWeight_L1[refindex].luma_offset = 0; + } + + if (sps->chroma_format_idc != 0) { + pPredWeight_L1[refindex].chroma_weight_flag = (mfxU8)Get1Bit(); + if (pPredWeight_L1[refindex].chroma_weight_flag) { + pPredWeight_L1[refindex].chroma_weight[0] = (mfxI8)GetVLCElement(true); + pPredWeight_L1[refindex].chroma_offset[0] = (mfxI8)GetVLCElement(true); + pPredWeight_L1[refindex].chroma_weight[1] = (mfxI8)GetVLCElement(true); + pPredWeight_L1[refindex].chroma_offset[1] = (mfxI8)GetVLCElement(true); + } + else { + pPredWeight_L1[refindex].chroma_weight[0] = + (mfxI8)(1 << hdr->chroma_log2_weight_denom); + pPredWeight_L1[refindex].chroma_weight[1] = + (mfxI8)(1 << hdr->chroma_log2_weight_denom); + pPredWeight_L1[refindex].chroma_offset[0] = 0; + pPredWeight_L1[refindex].chroma_offset[1] = 0; + } + } + } + } // B slice + } // prediction weight table + else { + hdr->luma_log2_weight_denom = 0; + hdr->chroma_log2_weight_denom = 0; + } + + // dec_ref_pic_marking + pAdaptiveMarkingInfo->num_entries = 0; + + if (NALRef_idc) { + if (hdr->IdrPicFlag) { + hdr->no_output_of_prior_pics_flag = (mfxU8)Get1Bit(); + hdr->long_term_reference_flag = (mfxU8)Get1Bit(); + } + else { + mfxU32 memory_management_control_operation; + mfxU32 num_entries = 0; + + hdr->adaptive_ref_pic_marking_mode_flag = (mfxU8)Get1Bit(); + while (hdr->adaptive_ref_pic_marking_mode_flag != 0) { + memory_management_control_operation = (mfxU8)GetVLCElement(false); + if (memory_management_control_operation == 0) + break; + + if (memory_management_control_operation > 6) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + pAdaptiveMarkingInfo->mmco[num_entries] = + (mfxU8)memory_management_control_operation; + if (memory_management_control_operation != 5) + pAdaptiveMarkingInfo->value[num_entries * 2] = GetVLCElement(false); + // Only mmco 3 requires 2 values + if (memory_management_control_operation == 3) + pAdaptiveMarkingInfo->value[num_entries * 2 + 1] = GetVLCElement(false); + num_entries++; + if (num_entries >= MAX_NUM_REF_FRAMES) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + } // while + pAdaptiveMarkingInfo->num_entries = num_entries; + } + } // def_ref_pic_marking + + if (pps->entropy_coding_mode == 1 && // CABAC + (hdr->slice_type != INTRASLICE && hdr->slice_type != S_INTRASLICE)) + hdr->cabac_init_idc = GetVLCElement(false); + else + hdr->cabac_init_idc = 0; + + if (hdr->cabac_init_idc > 2) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + hdr->slice_qp_delta = GetVLCElement(true); + + if (S_PREDSLICE == hdr->slice_type || S_INTRASLICE == hdr->slice_type) { + if (S_PREDSLICE == hdr->slice_type) + hdr->sp_for_switch_flag = (mfxU8)Get1Bit(); + hdr->slice_qs_delta = GetVLCElement(true); + } + + if (pps->deblocking_filter_variables_present_flag != 0) { + // deblock filter flag and offsets + hdr->disable_deblocking_filter_idc = GetVLCElement(false); + if (hdr->disable_deblocking_filter_idc > 2) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + if (hdr->disable_deblocking_filter_idc != 1) { + hdr->slice_alpha_c0_offset = GetVLCElement(true) << 1; + hdr->slice_beta_offset = GetVLCElement(true) << 1; + + if (hdr->slice_alpha_c0_offset < -12 || hdr->slice_alpha_c0_offset > 12) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + if (hdr->slice_beta_offset < -12 || hdr->slice_beta_offset > 12) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + } + else { + // set filter offsets to max values to disable filter + hdr->slice_alpha_c0_offset = (mfxI8)(0 - AVC_QP_MAX); + hdr->slice_beta_offset = (mfxI8)(0 - AVC_QP_MAX); + } + } + + if (pps->num_slice_groups > 1 && pps->SliceGroupInfo.slice_group_map_type >= 3 && + pps->SliceGroupInfo.slice_group_map_type <= 5) { + mfxU32 num_bits; // number of bits used to code slice_group_change_cycle + mfxU32 val; + mfxU32 pic_size_in_map_units; + mfxU32 max_slice_group_change_cycle = 0; + + // num_bits is Ceil(log2(picsizeinmapunits/slicegroupchangerate + 1)) + pic_size_in_map_units = sps->frame_width_in_mbs * sps->frame_height_in_mbs; + + max_slice_group_change_cycle = + pic_size_in_map_units / pps->SliceGroupInfo.t2.slice_group_change_rate; + if (pic_size_in_map_units % pps->SliceGroupInfo.t2.slice_group_change_rate) + max_slice_group_change_cycle++; + + val = max_slice_group_change_cycle; + num_bits = 0; + while (val) { + num_bits++; + val >>= 1; + } + hdr->slice_group_change_cycle = GetBits(num_bits); + } + + return MFX_ERR_NONE; +} // GetSliceHeaderPart3() + +void AVCHeadersBitstream::GetScalingList4x4(AVCScalingList4x4 *scl, mfxU8 *def, mfxU8 *scl_type) { + mfxU32 lastScale = 8; + mfxU32 nextScale = 8; + bool DefaultMatrix = false; + mfxI32 j; + + for (j = 0; j < 16; j++) { + if (nextScale != 0) { + mfxI32 delta_scale = GetVLCElement(true); + if (delta_scale < -128 || delta_scale > 127) + throw AVC_exception(MFX_ERR_UNDEFINED_BEHAVIOR); + nextScale = (lastScale + delta_scale + 256) & 0xff; + DefaultMatrix = (j == 0 && nextScale == 0); + } + scl->ScalingListCoeffs[mp_scan4x4[0][j]] = + (nextScale == 0) ? (mfxU8)lastScale : (mfxU8)nextScale; + lastScale = scl->ScalingListCoeffs[mp_scan4x4[0][j]]; + } + if (!DefaultMatrix) { + *scl_type = SCLREDEFINED; + return; + } + *scl_type = SCLDEFAULT; + FillScalingList4x4(scl, def); + return; +} + +void AVCHeadersBitstream::GetScalingList8x8(AVCScalingList8x8 *scl, mfxU8 *def, mfxU8 *scl_type) { + mfxU32 lastScale = 8; + mfxU32 nextScale = 8; + bool DefaultMatrix = false; + mfxI32 j; + + for (j = 0; j < 64; j++) { + if (nextScale != 0) { + mfxI32 delta_scale = GetVLCElement(true); + if (delta_scale < -128 || delta_scale > 127) + throw AVC_exception(MFX_ERR_UNDEFINED_BEHAVIOR); + nextScale = (lastScale + delta_scale + 256) & 0xff; + DefaultMatrix = (j == 0 && nextScale == 0); + } + scl->ScalingListCoeffs[hp_scan8x8[0][j]] = + (nextScale == 0) ? (mfxU8)lastScale : (mfxU8)nextScale; + lastScale = scl->ScalingListCoeffs[hp_scan8x8[0][j]]; + } + if (!DefaultMatrix) { + *scl_type = SCLREDEFINED; + return; + } + *scl_type = SCLDEFAULT; + FillScalingList8x8(scl, def); + return; +} + +void SetDefaultScalingLists(AVCSeqParamSet *sps) { + mfxI32 i; + + for (i = 0; i < 6; i += 1) { + FillFlatScalingList4x4(&sps->ScalingLists4x4[i]); + } + for (i = 0; i < 2; i += 1) { + FillFlatScalingList8x8(&sps->ScalingLists8x8[i]); + } +} + +mfxStatus DecodeExpGolombOne(mfxU32 **ppBitStream, + mfxI32 *pBitOffset, + mfxI32 *pDst, + mfxI32 isSigned) { + mfxU32 code; + mfxU32 info = 0; + mfxI32 length = 1; /* for first bit read above*/ + mfxU32 thisChunksLength = 0; + mfxU32 sval; + + /* Fast check for element = 0 */ + avcGetNBits((*ppBitStream), (*pBitOffset), 1, code); + if (code) { + *pDst = 0; + return MFX_ERR_NONE; + } + + avcGetNBits((*ppBitStream), (*pBitOffset), 8, code); + length += 8; + + /* find nonzero byte */ + while (code == 0) { + avcGetNBits((*ppBitStream), (*pBitOffset), 8, code); + length += 8; + } + + /* find leading '1' */ + while ((code & 0x80) == 0) { + code <<= 1; + thisChunksLength++; + } + length -= 8 - thisChunksLength; + + avcUngetNBits((*ppBitStream), (*pBitOffset), 8 - (thisChunksLength + 1)); + + /* Get info portion of codeword */ + if (length) { + avcGetNBits((*ppBitStream), (*pBitOffset), length, info); + } + + sval = (1 << length) + info - 1; + if (isSigned) { + if (sval & 1) + *pDst = (mfxI32)((sval + 1) >> 1); + else + *pDst = -((mfxI32)(sval >> 1)); + } + else + *pDst = (mfxI32)sval; + + return MFX_ERR_NONE; +} + +mfxI32 AVCHeadersBitstream::GetSEI(const HeaderSet &sps, + mfxI32 current_sps, + AVCSEIPayLoad *spl) { + mfxU32 code; + mfxI32 payloadType = 0; + + avcNextBits(m_pbs, m_bitOffset, 8, code); + while (code == 0xFF) { + /* fixed-pattern bit string using 8 bits written equal to 0xFF */ + avcGetNBits(m_pbs, m_bitOffset, 8, code); + payloadType += 255; + avcNextBits(m_pbs, m_bitOffset, 8, code); + } + + mfxI32 last_payload_type_byte; //Ipp32u integer using 8 bits + avcGetNBits(m_pbs, m_bitOffset, 8, last_payload_type_byte); + + payloadType += last_payload_type_byte; + + mfxI32 payloadSize = 0; + + avcNextBits(m_pbs, m_bitOffset, 8, code); + while (code == 0xFF) { + /* fixed-pattern bit string using 8 bits written equal to 0xFF */ + avcGetNBits(m_pbs, m_bitOffset, 8, code); + payloadSize += 255; + avcNextBits(m_pbs, m_bitOffset, 8, code); + } + + mfxI32 last_payload_size_byte; //Ipp32u integer using 8 bits + + avcGetNBits(m_pbs, m_bitOffset, 8, last_payload_size_byte); + payloadSize += last_payload_size_byte; + spl->Reset(); + spl->payLoadSize = payloadSize; + + if (payloadType < 0 || payloadType > SEI_RESERVED) + payloadType = SEI_RESERVED; + + spl->payLoadType = (SEI_TYPE)payloadType; + + if (spl->payLoadSize > BytesLeft()) { + throw AVC_exception(MFX_ERR_UNDEFINED_BEHAVIOR); + } + + mfxU32 *pbs; + mfxU32 bitOffsetU; + mfxI32 bitOffset; + + pbs = m_pbs; + bitOffsetU = m_bitOffset; + bitOffset = bitOffsetU; + + mfxI32 ret = GetSEIPayload(sps, current_sps, spl); + + for (mfxU32 i = 0; i < spl->payLoadSize; i++) { + avcSkipNBits(pbs, bitOffset, 8); + } + + m_pbs = pbs; + m_bitOffset = bitOffset; + + return ret; +} + +mfxI32 AVCHeadersBitstream::GetSEIPayload(const HeaderSet &sps, + mfxI32 current_sps, + AVCSEIPayLoad *spl) { + switch (spl->payLoadType) { + case SEI_RECOVERY_POINT_TYPE: + return recovery_point(sps, current_sps, spl); + default: + return reserved_sei_message(sps, current_sps, spl); + } +} + +mfxI32 AVCHeadersBitstream::reserved_sei_message(const HeaderSet &, + mfxI32 current_sps, + AVCSEIPayLoad *spl) { + for (mfxU32 i = 0; i < spl->payLoadSize; i++) + avcSkipNBits(m_pbs, m_bitOffset, 8) AlignPointerRight(); + return current_sps; +} + +mfxI32 AVCHeadersBitstream::recovery_point(const HeaderSet &, + mfxI32 current_sps, + AVCSEIPayLoad *spl) { + AVCSEIPayLoad::SEIMessages::RecoveryPoint *recPoint = &(spl->SEI_messages.recovery_point); + + recPoint->recovery_frame_cnt = (mfxU8)GetVLCElement(false); + + recPoint->exact_match_flag = (mfxU8)Get1Bit(); + recPoint->broken_link_flag = (mfxU8)Get1Bit(); + recPoint->changing_slice_group_idc = (mfxU8)GetBits(2); + + if (recPoint->changing_slice_group_idc > 2) + return -1; + + return current_sps; +} + +void HeapObject::Free() {} + +} // namespace ProtectedLibrary diff --git a/tools/legacy/sample_common/src/avc_nal_spl.cpp b/tools/legacy/sample_common/src/avc_nal_spl.cpp new file mode 100644 index 00000000..b6103bbf --- /dev/null +++ b/tools/legacy/sample_common/src/avc_nal_spl.cpp @@ -0,0 +1,460 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "avc_nal_spl.h" +#include "avc_structures.h" +#include "sample_defs.h" + +namespace ProtectedLibrary { + +static const mfxU32 MFX_TIME_STAMP_FREQUENCY = 90000; // will go to mfxdefs.h +static const mfxU64 MFX_TIME_STAMP_INVALID = (mfxU64)-1; // will go to mfxdefs.h + +inline mfxF64 GetUmcTimeStamp(mfxU64 ts) { + return ts == MFX_TIME_STAMP_INVALID ? -1.0 : ts / (mfxF64)MFX_TIME_STAMP_FREQUENCY; +} + +inline mfxU64 GetMfxTimeStamp(mfxF64 ts) { + return ts < 0.0 ? MFX_TIME_STAMP_INVALID : (mfxU64)(ts * MFX_TIME_STAMP_FREQUENCY + .5); +} + +enum { AVC_NAL_UNITTYPE_BITS_MASK = 0x1f }; + +inline bool IsHeaderCode(mfxI32 iCode) { + return (NAL_UT_SPS == (iCode & AVC_NAL_UNITTYPE_BITS_MASK)) || + (NAL_UT_SPS_EX == (iCode & AVC_NAL_UNITTYPE_BITS_MASK)) || + (NAL_UT_PPS == (iCode & AVC_NAL_UNITTYPE_BITS_MASK)); +} + +inline bool IsVLCCode(mfxI32 iCode) { + return ((NAL_UT_SLICE <= (iCode & AVC_NAL_UNITTYPE_BITS_MASK)) && + (NAL_UT_IDR_SLICE >= (iCode & AVC_NAL_UNITTYPE_BITS_MASK))) || + (NAL_UT_AUXILIARY == (iCode & AVC_NAL_UNITTYPE_BITS_MASK)); +} + +static mfxI32 FindStartCode(mfxU8 *(&pb), mfxU32 &nSize) { + // there is no data + if (nSize < 4) + return 0; + + // find start code + while ((4 <= nSize) && ((0 != pb[0]) || (0 != pb[1]) || (1 != pb[2]))) { + pb += 1; + nSize -= 1; + } + + if (4 <= nSize) + return ((pb[0] << 24) | (pb[1] << 16) | (pb[2] << 8) | (pb[3])); + + return 0; +} + +mfxStatus MoveBitstream(mfxBitstream *source, mfxI32 moveSize) { + if (!source) + return MFX_ERR_NULL_PTR; + + if (moveSize < 0 && (mfxI32)source->DataOffset + moveSize < 0) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + if (moveSize > 0 && source->DataLength < (mfxU32)moveSize) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + source->DataOffset += moveSize; + source->DataLength -= moveSize; + + return MFX_ERR_NONE; +} + +StartCodeIterator::StartCodeIterator() + : m_code(0), + m_pts(MFX_TIME_STAMP_INVALID), + m_pSource(0), + m_nSourceSize(0), + m_pSourceBase(0), + m_nSourceBaseSize(0), + m_suggestedSize(10 * 1024) { + Reset(); +} + +void StartCodeIterator::Reset() { + m_code = 0; + m_pts = MFX_TIME_STAMP_INVALID; + m_prev.clear(); +} + +mfxI32 StartCodeIterator::Init(mfxBitstream *source) { + Reset(); + + m_pSourceBase = m_pSource = source->Data + source->DataOffset; + m_nSourceBaseSize = m_nSourceSize = source->DataLength; + + mfxI32 iCode = ProtectedLibrary::FindStartCode(m_pSource, m_nSourceSize); + return iCode; +} + +void StartCodeIterator::SetSuggestedSize(mfxU32 size) { + if (size > m_suggestedSize) + m_suggestedSize = size; +} + +mfxI32 StartCodeIterator::CheckNalUnitType(mfxBitstream *source) { + if (!source) + return 0; + + if (!m_code) + m_prev.clear(); + + mfxU8 *src = source->Data + source->DataOffset; + mfxU32 size = source->DataLength; + + mfxI32 startCodeSize; + mfxI32 iCodeNext = FindStartCode(src, size, startCodeSize); + return iCodeNext; +} + +mfxI32 StartCodeIterator::GetNALUnit(mfxBitstream *src, mfxBitstream *dst) { + if (!src) + return EndOfStream(dst); + + if (!m_code) + m_prev.clear(); + + mfxU8 *source = src->Data + src->DataOffset; + mfxU32 size = src->DataLength; + + if (!size) + return 0; + + mfxI32 startCodeSize; + + mfxI32 iCodeNext = FindStartCode(source, size, startCodeSize); + + if (m_prev.size()) { + if (!iCodeNext) { + size_t sz = source - (src->Data + src->DataOffset); + if (m_prev.size() + sz > m_suggestedSize) { + m_prev.clear(); + sz = std::min(sz, m_suggestedSize); + } + + m_prev.insert(m_prev.end(), + src->Data + src->DataOffset, + src->Data + src->DataOffset + sz); + MoveBitstream(src, (mfxI32)sz); + return 0; + } + + source -= startCodeSize; + m_prev.insert(m_prev.end(), src->Data + src->DataOffset, source); + MoveBitstream(src, (mfxI32)(source - (src->Data + src->DataOffset))); + + dst->Data = &(m_prev[0]); + dst->DataLength = (mfxU32)m_prev.size(); + dst->DataOffset = 0; + dst->TimeStamp = m_pts; + mfxI32 code = m_code; + m_code = 0; + m_pts = MFX_TIME_STAMP_INVALID; + return code; + } + + if (!iCodeNext) { + MoveBitstream(src, (mfxI32)(source - (src->Data + src->DataOffset))); + return 0; + } + + m_pts = src->TimeStamp; + m_code = iCodeNext; + + // move before start code + MoveBitstream(src, (mfxI32)(source - (src->Data + src->DataOffset) - startCodeSize)); + + mfxI32 startCodeSize1; + iCodeNext = FindStartCode(source, size, startCodeSize1); + + MoveBitstream(src, startCodeSize); + + if (!iCodeNext && (src->DataFlag & MFX_BITSTREAM_COMPLETE_FRAME)) { + iCodeNext = 1; + startCodeSize1 = 0; + } + + if (!iCodeNext) { + if (m_prev.size()) // assertion: it should be + return 0; + + size_t sz = source - (src->Data + src->DataOffset); + if (sz > m_suggestedSize) { + sz = m_suggestedSize; + } + + m_prev.insert(m_prev.end(), src->Data + src->DataOffset, src->Data + src->DataOffset + sz); + MoveBitstream(src, (mfxI32)sz); + return 0; + } + + // fill + size_t nal_size = source - (src->Data + src->DataOffset) - startCodeSize1; + + dst->Data = src->Data + src->DataOffset; + dst->DataLength = (mfxU32)nal_size; + dst->DataOffset = 0; + dst->TimeStamp = m_pts; + + MoveBitstream(src, (mfxI32)nal_size); + + mfxI32 code = m_code; + m_code = 0; + + m_pts = MFX_TIME_STAMP_INVALID; + return code; +} + +mfxI32 StartCodeIterator::EndOfStream(mfxBitstream *dst) { + if (!m_code) { + m_prev.clear(); + return 0; + } + + if (m_prev.size()) { + dst->Data = &(m_prev[0]); + dst->DataLength = (mfxU32)m_prev.size(); + dst->DataOffset = 0; + dst->TimeStamp = m_pts; + mfxI32 code = m_code; + m_code = 0; + m_pts = MFX_TIME_STAMP_INVALID; + return code; + } + + m_code = 0; + return 0; +} + +mfxI32 StartCodeIterator::FindStartCode(mfxU8 *(&pb), mfxU32 &data_size, mfxI32 &startCodeSize) { + mfxU32 zeroCount = 0; + + for (mfxU32 i = 0; i < (mfxU32)data_size; i++, pb++) { + switch (pb[0]) { + case 0x00: + zeroCount++; + break; + case 0x01: + if (zeroCount >= 2) { + startCodeSize = std::min(zeroCount + 1, 4u); + data_size -= i + 1; + pb++; // remove 0x01 symbol + zeroCount = 0; + if (data_size >= 1) { + return pb[0] & AVC_NAL_UNITTYPE_BITS_MASK; + } + else { + pb -= startCodeSize; + data_size += startCodeSize; + startCodeSize = 0; + return 0; + } + } + zeroCount = 0; + break; + default: + zeroCount = 0; + break; + } + } + + zeroCount = std::min(zeroCount, 3u); + pb -= zeroCount; + data_size += zeroCount; + zeroCount = 0; + startCodeSize = 0; + return 0; +} + +void BytesSwapper::SwapMemory(mfxU8 *pDestination, + mfxU32 &nDstSize, + mfxU8 *pSource, + mfxU32 nSrcSize) { + SwapMemoryAndRemovePreventingBytes(pDestination, nDstSize, pSource, nSrcSize); +} + +NALUnitSplitter::NALUnitSplitter() { + memset(&m_bitstream, 0, sizeof(m_bitstream)); +} + +NALUnitSplitter::~NALUnitSplitter() { + Release(); +} + +void NALUnitSplitter::Init() { + Release(); +} + +void NALUnitSplitter::Reset() { + m_pStartCodeIter.Reset(); +} + +void NALUnitSplitter::Release() {} + +mfxI32 NALUnitSplitter::CheckNalUnitType(mfxBitstream *source) { + return m_pStartCodeIter.CheckNalUnitType(source); +} + +mfxI32 NALUnitSplitter::GetNalUnits(mfxBitstream *source, mfxBitstream *&destination) { + mfxI32 iCode = m_pStartCodeIter.GetNALUnit(source, &m_bitstream); + + if (iCode == 0) { + destination = 0; + return 0; + } + + destination = &m_bitstream; + return iCode; +} + +/* temporal class definition */ +class H264DwordPointer_ { +public: + // Default constructor + H264DwordPointer_(void) { + m_pDest = NULL; + m_nByteNum = 0; + m_iCur = 0; + } + + H264DwordPointer_ operator=(void *pDest) { + m_pDest = (mfxU32 *)pDest; + m_nByteNum = 0; + m_iCur = 0; + + return *this; + } + + // Increment operator + H264DwordPointer_ &operator++(void) { + if (4 == ++m_nByteNum) { + *m_pDest = m_iCur; + m_pDest += 1; + m_nByteNum = 0; + m_iCur = 0; + } + else + m_iCur <<= 8; + + return *this; + } + + mfxU8 operator=(mfxU8 nByte) { + m_iCur = (m_iCur & ~0x0ff) | ((mfxU32)nByte); + + return nByte; + } + +protected: + mfxU32 *m_pDest; // pointer to destination buffer + mfxU32 m_nByteNum; // number of current byte in dword + mfxU32 m_iCur; // current dword +}; + +class H264SourcePointer_ { +public: + // Default constructor + H264SourcePointer_(void) { + m_pSource = NULL; + m_nRemovedBytes = 0; + m_nZeros = 0; + } + + H264SourcePointer_ &operator=(mfxU8 *pSource) { + m_pSource = (mfxU8 *)pSource; + + m_nZeros = 0; + m_nRemovedBytes = 0; + + return *this; + } + + H264SourcePointer_ &operator++(void) { + mfxU8 bCurByte = m_pSource[0]; + + if (0 == bCurByte) + m_nZeros += 1; + else { + if ((3 == bCurByte) && (2 <= m_nZeros)) + m_nRemovedBytes += 1; + m_nZeros = 0; + } + + m_pSource += 1; + + return *this; + } + + bool IsPrevent(void) { + if ((3 == m_pSource[0]) && (2 <= m_nZeros)) + return true; + else + return false; + } + + operator mfxU8(void) { + return m_pSource[0]; + } + + mfxU32 GetRemovedBytes(void) { + return m_nRemovedBytes; + } + +protected: + mfxU8 *m_pSource; // pointer to destination buffer + mfxU32 m_nZeros; // number of preceding zeros + mfxU32 m_nRemovedBytes; // number of removed bytes +}; + +void SwapMemoryAndRemovePreventingBytes(mfxU8 *pDestination, + mfxU32 &nDstSize, + mfxU8 *pSource, + mfxU32 nSrcSize) { + H264DwordPointer_ pDst; + H264SourcePointer_ pSrc; + size_t i; + + // DwordPointer object is swapping written bytes + // H264SourcePointer_ removes preventing start-code bytes + + // reset pointer(s) + pSrc = pSource; + pDst = pDestination; + + // first two bytes + i = 0; + while (i < std::min(2u, nSrcSize)) { + pDst = (mfxU8)pSrc; + ++pDst; + ++pSrc; + ++i; + } + + // do swapping + while (i < (mfxU32)nSrcSize) { + if (false == pSrc.IsPrevent()) { + pDst = (mfxU8)pSrc; + ++pDst; + } + ++pSrc; + ++i; + } + + // write padding bytes + nDstSize = nSrcSize - pSrc.GetRemovedBytes(); + while (nDstSize & 3) { + pDst = (mfxU8)(0); + ++nDstSize; + ++pDst; + } +} + +} // namespace ProtectedLibrary diff --git a/tools/legacy/sample_common/src/avc_spl.cpp b/tools/legacy/sample_common/src/avc_spl.cpp new file mode 100644 index 00000000..62f4532f --- /dev/null +++ b/tools/legacy/sample_common/src/avc_spl.cpp @@ -0,0 +1,729 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include +#include + +#include "avc_spl.h" +#include "sample_defs.h" + +namespace ProtectedLibrary { + +AVCFrameInfo::AVCFrameInfo() { + Reset(); +} + +void AVCFrameInfo::Reset() { + m_slice = 0; + m_index = 0; +} + +AVC_Spl::AVC_Spl() : m_WaitForIDR(true), m_currentInfo(0), m_pLastSlice(0), m_lastNalUnit(0) { + Init(); +} + +AVC_Spl::~AVC_Spl() { + Close(); +} + +mfxStatus AVC_Spl::Init() { + Close(); + + m_pNALSplitter.reset(new NALUnitSplitter()); + m_pNALSplitter->Init(); + + m_WaitForIDR = true; + + m_AUInfo.reset(new AVCFrameInfo()); + + m_currentFrame.resize(BUFFER_SIZE); + + m_pLastSlice = 0; + m_lastNalUnit = 0; + m_currentInfo = 0; + + m_slices.resize(128); + memset(&m_frame, 0, sizeof(m_frame)); + m_frame.Data = &m_currentFrame[0]; + m_frame.Slice = &m_slices[0]; + + return MFX_ERR_NONE; +} + +void AVC_Spl::Close() { + m_pLastSlice = 0; + m_lastNalUnit = 0; + m_currentInfo = 0; +} + +mfxStatus AVC_Spl::Reset() { + m_pNALSplitter->Reset(); + m_WaitForIDR = true; + m_lastNalUnit = 0; + m_pLastSlice = 0; + m_currentInfo = 0; + return MFX_ERR_NONE; +} + +mfxU8 *AVC_Spl::GetMemoryForSwapping(mfxU32 size) { + if (m_swappingMemory.size() <= size + 8) + m_swappingMemory.resize(size + 8); + + return &(m_swappingMemory[0]); +} + +mfxStatus AVC_Spl::DecodeHeader(mfxBitstream *nalUnit) { + mfxStatus umcRes = MFX_ERR_NONE; + + AVCHeadersBitstream bitStream; + + try { + mfxU32 swappingSize = nalUnit->DataLength; + mfxU8 *swappingMemory = GetMemoryForSwapping(swappingSize); + + BytesSwapper::SwapMemory(swappingMemory, + swappingSize, + nalUnit->Data + nalUnit->DataOffset, + nalUnit->DataLength); + + bitStream.Reset(swappingMemory, swappingSize); + + NAL_Unit_Type uNALUnitType; + mfxU8 uNALStorageIDC; + + bitStream.GetNALUnitType(uNALUnitType, uNALStorageIDC); + + switch (uNALUnitType) { + // sequence parameter set + case NAL_UT_SPS: { + AVCSeqParamSet sps; + umcRes = bitStream.GetSequenceParamSet(&sps); + if (umcRes == MFX_ERR_NONE) { + AVCSeqParamSet *temp = + m_headers.m_SeqParams.GetHeader(sps.seq_parameter_set_id); + m_headers.m_SeqParams.AddHeader(&sps); + + // Validate the incoming bitstream's image dimensions. + temp = m_headers.m_SeqParams.GetHeader(sps.seq_parameter_set_id); + + m_pNALSplitter->SetSuggestedSize(CalculateSuggestedSize(&sps)); + + if (umcRes != MFX_ERR_NONE) + return umcRes; + } + else + return MFX_ERR_UNDEFINED_BEHAVIOR; + } break; + + case NAL_UT_SPS_EX: { + AVCSeqParamSetExtension sps_ex; + umcRes = bitStream.GetSequenceParamSetExtension(&sps_ex); + + if (umcRes == MFX_ERR_NONE) { + m_headers.m_SeqExParams.AddHeader(&sps_ex); + } + else + return umcRes; + } break; + + // picture parameter set + case NAL_UT_PPS: { + AVCPicParamSet pps; + // set illegal id + pps.pic_parameter_set_id = MAX_NUM_PIC_PARAM_SETS; + + // Get id + umcRes = bitStream.GetPictureParamSetPart1(&pps); + if (MFX_ERR_NONE == umcRes) { + AVCSeqParamSet *pRefsps = + m_headers.m_SeqParams.GetHeader(pps.seq_parameter_set_id); + + if (!pRefsps || pRefsps->seq_parameter_set_id >= MAX_NUM_SEQ_PARAM_SETS) { + pRefsps = m_headers.m_SeqParamsMvcExt.GetHeader(pps.seq_parameter_set_id); + if (!pRefsps || pRefsps->seq_parameter_set_id >= MAX_NUM_SEQ_PARAM_SETS) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + } + + // Get rest of pic param set + umcRes = bitStream.GetPictureParamSetPart2(&pps, pRefsps); + if (MFX_ERR_NONE == umcRes) { + m_headers.m_PicParams.AddHeader(&pps); + } + + m_headers.m_SeqParams.SetCurrentID(pps.seq_parameter_set_id); + } + } break; + + // subset sequence parameter set + case NAL_UNIT_SUBSET_SPS: { + AVCSeqParamSet sps; + umcRes = bitStream.GetSequenceParamSet(&sps); + if (MFX_ERR_NONE != umcRes) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + // decode additional parameters + if ((AVC_PROFILE_MULTIVIEW_HIGH == sps.profile_idc) || + (AVC_PROFILE_STEREO_HIGH == sps.profile_idc)) { + AVCSeqParamSet spsMvcExt; + AVCSeqParamSet *sps_temp = &spsMvcExt; + + *sps_temp = sps; + + m_headers.m_SeqParamsMvcExt.AddHeader(&spsMvcExt); + } + } break; + + // decode a prefix nal unit + case NAL_UNIT_PREFIX: { + umcRes = bitStream.GetNalUnitPrefix(&m_headers.m_nalExtension, uNALStorageIDC); + if (MFX_ERR_NONE != umcRes) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + } break; + + default: + break; + } + } + catch (const AVC_exception &) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + catch (...) { + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + + return MFX_ERR_NONE; +} + +mfxStatus AVC_Spl::DecodeSEI(mfxBitstream *nalUnit) { + if (m_headers.m_SeqParams.GetCurrrentID() == -1) + return MFX_ERR_NONE; + + AVCHeadersBitstream bitStream; + + try { + mfxU32 swappingSize = nalUnit->DataLength; + mfxU8 *swappingMemory = GetMemoryForSwapping(swappingSize); + + BytesSwapper::SwapMemory(swappingMemory, + swappingSize, + nalUnit->Data + nalUnit->DataOffset, + nalUnit->DataLength); + + bitStream.Reset(swappingMemory, swappingSize); + + NAL_Unit_Type uNALUnitType; + mfxU8 uNALStorageIDC; + + bitStream.GetNALUnitType(uNALUnitType, uNALStorageIDC); + + do { + AVCSEIPayLoad m_SEIPayLoads; + + bitStream.GetSEI(m_headers.m_SeqParams, + m_headers.m_SeqParams.GetCurrrentID(), + &m_SEIPayLoads); + + if (m_SEIPayLoads.payLoadType == SEI_RESERVED) + continue; + + m_headers.m_SEIParams.AddHeader(&m_SEIPayLoads); + } while (bitStream.More_RBSP_Data()); + } + catch (...) { + // nothing to do just catch it + } + + return MFX_ERR_NONE; +} + +AVCSlice *AVC_Spl::DecodeSliceHeader(mfxBitstream *nalUnit) { + m_slicesStorage.push_back(AVCSlice()); + AVCSlice *pSlice = &m_slicesStorage.back(); + + mfxU32 swappingSize = nalUnit->DataLength; + mfxU8 *swappingMemory = GetMemoryForSwapping(swappingSize); + + BytesSwapper::SwapMemory(swappingMemory, + swappingSize, + nalUnit->Data + nalUnit->DataOffset, + nalUnit->DataLength); + + mfxI32 pps_pid = pSlice->RetrievePicParamSetNumber(swappingMemory, swappingSize); + if (pps_pid == -1) { + return 0; + } + + AVCSEIPayLoad *spl = m_headers.m_SEIParams.GetHeader(SEI_RECOVERY_POINT_TYPE); + + if (m_WaitForIDR) { + if (pSlice->GetSliceHeader()->slice_type != INTRASLICE && !spl) { + return 0; + } + } + + pSlice->m_picParamSet = m_headers.m_PicParams.GetHeader(pps_pid); + if (!pSlice->m_picParamSet) { + return 0; + } + + mfxI32 seq_parameter_set_id = pSlice->m_picParamSet->seq_parameter_set_id; + + if (NAL_UT_CODED_SLICE_EXTENSION == pSlice->GetSliceHeader()->nal_unit_type) { + pSlice->m_seqParamSet = pSlice->m_seqParamSetMvcEx = + m_headers.m_SeqParamsMvcExt.GetHeader(seq_parameter_set_id); + + if (NULL == pSlice->m_seqParamSetMvcEx) { + return 0; + } + + m_headers.m_SeqParamsMvcExt.SetCurrentID(pSlice->m_seqParamSetMvcEx->seq_parameter_set_id); + m_headers.m_PicParams.SetCurrentID(pSlice->m_picParamSet->pic_parameter_set_id); + } + else { + pSlice->m_seqParamSetMvcEx = m_headers.m_SeqParamsMvcExt.GetCurrentHeader(); + pSlice->m_seqParamSet = m_headers.m_SeqParams.GetHeader(seq_parameter_set_id); + + m_headers.m_SeqParams.SetCurrentID(pSlice->m_picParamSet->seq_parameter_set_id); + m_headers.m_PicParams.SetCurrentID(pSlice->m_picParamSet->pic_parameter_set_id); + } + + pSlice->m_seqParamSetEx = m_headers.m_SeqExParams.GetHeader(seq_parameter_set_id); + pSlice->m_dTime = nalUnit->TimeStamp; + + if (!pSlice->DecodeHeader(swappingMemory, swappingSize)) { + return 0; + } + + if (spl && (pSlice->GetSliceHeader()->slice_type != INTRASLICE)) { + m_headers.m_SEIParams.RemoveHeader(spl->GetID()); + } + + m_WaitForIDR = false; + + return pSlice; +} + +AVCFrameInfo *AVC_Spl::GetFreeFrame() { + return m_AUInfo.get(); +} + +void AVC_Spl::ResetCurrentState() { + m_frame.DataLength = 0; + m_frame.SliceNum = 0; + m_frame.FirstFieldSliceNum = 0; + m_AUInfo->Reset(); + if (m_slicesStorage.size() > 1) { + m_slicesStorage.erase(m_slicesStorage.begin(), --m_slicesStorage.end()); + } +} + +bool AVC_Spl::IsFieldOfOneFrame(AVCFrameInfo *frame, + const AVCSliceHeader *slice1, + const AVCSliceHeader *slice2) { + if (frame && frame->m_index) + return false; + + if ((slice1->nal_ref_idc && !slice2->nal_ref_idc) || + (!slice1->nal_ref_idc && slice2->nal_ref_idc)) + return false; + + if (slice1->field_pic_flag != slice2->field_pic_flag) + return false; + + if (slice1->bottom_field_flag == slice2->bottom_field_flag) + return false; + + return true; +} + +inline bool IsSlicesOfOneAU(const AVCSliceHeader *pOne, const AVCSliceHeader *pTwo) { + if (!pOne || !pTwo) + return true; + + if (pOne->view_id != pTwo->view_id) { + if (pOne->view_id < pTwo->view_id) { + return true; + } + + return false; + } + + // this function checks two slices are from same picture or not + // 7.4.1.2.4 part of AVC standart + + if ((pOne->frame_num != pTwo->frame_num) || + (pOne->first_mb_in_slice == pTwo->first_mb_in_slice) || + (pOne->pic_parameter_set_id != pTwo->pic_parameter_set_id) || + (pOne->field_pic_flag != pTwo->field_pic_flag) || + (pOne->bottom_field_flag != pTwo->bottom_field_flag)) + return false; + + if ((pOne->nal_ref_idc != pTwo->nal_ref_idc) && + (0 == std::min(pOne->nal_ref_idc, pTwo->nal_ref_idc))) + return false; + + if ((pOne->pic_order_cnt_lsb != pTwo->pic_order_cnt_lsb) || + (pOne->delta_pic_order_cnt_bottom != pTwo->delta_pic_order_cnt_bottom)) + return false; + + if ((pOne->delta_pic_order_cnt[0] != pTwo->delta_pic_order_cnt[0]) || + (pOne->delta_pic_order_cnt[1] != pTwo->delta_pic_order_cnt[1])) + return false; + + if (pOne->nal_unit_type != pTwo->nal_unit_type) { + if ((NAL_UT_IDR_SLICE == pOne->nal_unit_type) || (NAL_UT_IDR_SLICE == pTwo->nal_unit_type)) + return false; + } + else if (NAL_UT_IDR_SLICE == pOne->nal_unit_type) { + if (pOne->idr_pic_id != pTwo->idr_pic_id) + return false; + } + + return true; +} + +mfxStatus AVC_Spl::AddSlice(AVCSlice *pSlice) { + m_pLastSlice = 0; + + if (!pSlice) { + // complete current frame info + return MFX_ERR_NONE; + } + + if (m_currentInfo) { + AVCSlice *pFirstFrameSlice = m_currentInfo->m_slice; + + if (pFirstFrameSlice && (false == IsSlicesOfOneAU(pFirstFrameSlice->GetSliceHeader(), + pSlice->GetSliceHeader()))) { + // complete frame + if (pSlice->IsField()) { + if (IsFieldOfOneFrame(m_currentInfo, + pFirstFrameSlice->GetSliceHeader(), + pSlice->GetSliceHeader())) { + m_currentInfo->m_index = 1; + m_currentInfo->m_slice = pSlice; + } + else { + m_currentInfo->m_index = 0; + m_pLastSlice = pSlice; + return MFX_ERR_NONE; + } + } + else { + m_currentInfo->m_index = 0; + m_pLastSlice = pSlice; + return MFX_ERR_NONE; + } + } + } + else { + m_currentInfo = GetFreeFrame(); + if (!m_currentInfo) { + m_pLastSlice = pSlice; + return MFX_ERR_NOT_ENOUGH_BUFFER; + } + m_currentInfo->m_index = 0; + } + + if (!m_currentInfo->m_slice) + m_currentInfo->m_slice = pSlice; + + return MFX_ERR_MORE_DATA; +} + +mfxStatus AVC_Spl::AddNalUnit(mfxBitstream *nalUnit) { + static mfxU8 start_code_prefix[] = { 0, 0, 1 }; + + if (m_frame.DataLength + nalUnit->DataLength + sizeof(start_code_prefix) >= BUFFER_SIZE) + return MFX_ERR_NOT_ENOUGH_BUFFER; + + MSDK_MEMCPY_BUF(m_frame.Data, + m_frame.DataLength, + BUFFER_SIZE, + start_code_prefix, + sizeof(start_code_prefix)); + MSDK_MEMCPY_BUF(m_frame.Data, + m_frame.DataLength + sizeof(start_code_prefix), + BUFFER_SIZE, + nalUnit->Data + nalUnit->DataOffset, + nalUnit->DataLength); + + m_frame.DataLength += (mfxU32)(nalUnit->DataLength + sizeof(start_code_prefix)); + + return MFX_ERR_NONE; +} + +mfxStatus AVC_Spl::AddSliceNalUnit(mfxBitstream *nalUnit, AVCSlice *slice) { + static mfxU8 start_code_prefix[] = { 0, 0, 1 }; + + mfxU32 sliceLength = (mfxU32)(nalUnit->DataLength + sizeof(start_code_prefix)); + + if (m_frame.DataLength + sliceLength >= BUFFER_SIZE) + return MFX_ERR_NOT_ENOUGH_BUFFER; + + MSDK_MEMCPY_BUF(m_frame.Data, + m_frame.DataLength, + BUFFER_SIZE, + start_code_prefix, + sizeof(start_code_prefix)); + MSDK_MEMCPY_BUF(m_frame.Data, + m_frame.DataLength + sizeof(start_code_prefix), + BUFFER_SIZE, + nalUnit->Data + nalUnit->DataOffset, + nalUnit->DataLength); + + if (!m_frame.SliceNum) { + m_frame.TimeStamp = nalUnit->TimeStamp; + } + + m_frame.SliceNum++; + + if (m_slices.size() <= m_frame.SliceNum) { + m_slices.resize(m_frame.SliceNum + 10); + m_frame.Slice = &m_slices[0]; + } + + SliceSplitterInfo &newSlice = m_slices[m_frame.SliceNum - 1]; + + AVCHeadersBitstream *bs = slice->GetBitStream(); + + newSlice.HeaderLength = (mfxU32)bs->BytesDecoded(); + + // add number of 003 sequence to HeaderLength + for (mfxU8 *ptr = nalUnit->Data + sizeof(start_code_prefix); + ptr < nalUnit->Data + sizeof(start_code_prefix) + newSlice.HeaderLength; + ptr++) { + if (ptr[0] == 0 && ptr[1] == 0 && ptr[2] == 3) { + newSlice.HeaderLength++; + } + } + + newSlice.HeaderLength += sizeof(start_code_prefix) + 1; + + newSlice.DataLength = sliceLength; + newSlice.DataOffset = m_frame.DataLength; + if (IS_I_SLICE(slice->GetSliceHeader()->slice_type)) + newSlice.SliceType = TYPE_I; + else if (IS_P_SLICE(slice->GetSliceHeader()->slice_type)) + newSlice.SliceType = TYPE_P; + else if (IS_B_SLICE(slice->GetSliceHeader()->slice_type)) + newSlice.SliceType = TYPE_B; + + m_frame.DataLength += sliceLength; + + if (!m_currentInfo->m_index) + m_frame.FirstFieldSliceNum++; + + return MFX_ERR_NONE; +} + +mfxStatus AVC_Spl::ProcessNalUnit(mfxI32 nalType, mfxBitstream *nalUnit) { + if (!nalUnit) + return MFX_ERR_MORE_DATA; + + switch (nalType) { + case NAL_UT_IDR_SLICE: + case NAL_UT_SLICE: + case NAL_UT_CODED_SLICE_EXTENSION: { + AVCSlice *pSlice = DecodeSliceHeader(nalUnit); + if (pSlice) { + mfxStatus sts = AddSlice(pSlice); + if (sts == MFX_ERR_NOT_ENOUGH_BUFFER) { + return sts; + } + + if (!m_pLastSlice) { + AddSliceNalUnit(nalUnit, pSlice); + } + else { + m_lastNalUnit = nalUnit; + } + + if (sts == MFX_ERR_NONE) { + return sts; + } + } + } break; + + case NAL_UT_SPS: + case NAL_UT_PPS: + case NAL_UT_SPS_EX: + case NAL_UNIT_SUBSET_SPS: + case NAL_UNIT_PREFIX: + DecodeHeader(nalUnit); + AddNalUnit(nalUnit); + break; + + case NAL_UT_SEI: + DecodeSEI(nalUnit); + AddNalUnit(nalUnit); + break; + case NAL_UT_AUD: + AddNalUnit(nalUnit); + break; + + case NAL_UT_DPA: + case NAL_UT_DPB: + case NAL_UT_DPC: + case NAL_UT_FD: + case NAL_UT_UNSPECIFIED: + break; + + case NAL_END_OF_STREAM: + case NAL_END_OF_SEQ: { + AddNalUnit(nalUnit); + } break; + + default: + break; + }; + + return MFX_ERR_MORE_DATA; +} + +mfxStatus AVC_Spl::GetFrame(mfxBitstream *bs_in, FrameSplitterInfo **frame) { + *frame = 0; + + do { + if (m_pLastSlice) { + AVCSlice *pSlice = m_pLastSlice; + mfxStatus sts = AddSlice(pSlice); + if (!m_lastNalUnit) { + msdk_printf(MSDK_STRING("ERROR: m_lastNalUnit=NULL\n")); + return MFX_ERR_NULL_PTR; + } + AddSliceNalUnit(m_lastNalUnit, pSlice); + m_lastNalUnit = 0; + if (sts == MFX_ERR_NONE) + return MFX_ERR_NONE; + } + + mfxBitstream *destination = NULL; + mfxI32 nalType = m_pNALSplitter->GetNalUnits(bs_in, destination); + mfxStatus sts = ProcessNalUnit(nalType, destination); + + if (sts == MFX_ERR_NONE || (!bs_in && m_frame.SliceNum)) { + m_currentInfo = 0; + *frame = &m_frame; + return MFX_ERR_NONE; + } + + } while (bs_in && bs_in->DataLength > MINIMAL_DATA_SIZE); + + return MFX_ERR_MORE_DATA; +} + +AVCSlice::AVCSlice() { + Reset(); +} + +void AVCSlice::Reset() { + m_picParamSet = 0; + m_seqParamSet = 0; + m_seqParamSetMvcEx = 0; + m_seqParamSetEx = 0; + m_dTime = 0; + memset(&m_sliceHeader, 0, sizeof(m_sliceHeader)); +} + +AVCSliceHeader *AVCSlice::GetSliceHeader() { + return &m_sliceHeader; +} + +mfxI32 AVCSlice::RetrievePicParamSetNumber(mfxU8 *pSource, mfxU32 nSourceSize) { + if (!nSourceSize) + return -1; + + m_bitStream.Reset(pSource, nSourceSize); + + mfxStatus umcRes = MFX_ERR_NONE; + + try { + umcRes = m_bitStream.GetNALUnitType(m_sliceHeader.nal_unit_type, m_sliceHeader.nal_ref_idc); + if (MFX_ERR_NONE != umcRes) + return false; + + // decode first part of slice header + umcRes = m_bitStream.GetSliceHeaderPart1(&m_sliceHeader); + if (MFX_ERR_NONE != umcRes) + return -1; + } + catch (...) { + return -1; + } + + return m_sliceHeader.pic_parameter_set_id; +} + +bool AVCSlice::DecodeHeader(mfxU8 *pSource, mfxU32 nSourceSize) { + m_bitStream.Reset(pSource, nSourceSize); + + if (!nSourceSize) + return false; + + mfxStatus umcRes = MFX_ERR_NONE; + // Locals for additional slice data to be read into, the data + // was read and saved from the first slice header of the picture, + // is not supposed to change within the picture, so can be + // discarded when read again here. + try { + memset(&m_sliceHeader, 0, sizeof(m_sliceHeader)); + + umcRes = m_bitStream.GetNALUnitType(m_sliceHeader.nal_unit_type, m_sliceHeader.nal_ref_idc); + if (MFX_ERR_NONE != umcRes) + return false; + + // decode first part of slice header + umcRes = m_bitStream.GetSliceHeaderPart1(&m_sliceHeader); + if (MFX_ERR_NONE != umcRes) + return false; + + // decode second part of slice header + umcRes = m_bitStream.GetSliceHeaderPart2(&m_sliceHeader, m_picParamSet, m_seqParamSet); + if (MFX_ERR_NONE != umcRes) + return false; + + PredWeightTable m_PredWeight[2][MAX_NUM_REF_FRAMES]; + RefPicListReorderInfo ReorderInfoL0; + RefPicListReorderInfo ReorderInfoL1; + AdaptiveMarkingInfo m_AdaptiveMarkingInfo; + + // decode second part of slice header + umcRes = m_bitStream.GetSliceHeaderPart3(&m_sliceHeader, + m_PredWeight[0], + m_PredWeight[1], + &ReorderInfoL0, + &ReorderInfoL1, + &m_AdaptiveMarkingInfo, + m_picParamSet, + m_seqParamSet, + m_sliceHeader.nal_ref_idc); + if (MFX_ERR_NONE != umcRes) + return false; + + if (m_picParamSet->entropy_coding_mode) + m_bitStream.AlignPointerRight(); + } + catch (const AVC_exception &) { + return false; + } + catch (...) { + return false; + } + + return (MFX_ERR_NONE == umcRes); +} + +mfxStatus AVC_Spl::PostProcessing(FrameSplitterInfo *frame, mfxU32 sliceNum) { + UNREFERENCED_PARAMETER(frame); + UNREFERENCED_PARAMETER(sliceNum); + return MFX_ERR_NONE; +} + +} // namespace ProtectedLibrary diff --git a/tools/legacy/sample_common/src/base_allocator.cpp b/tools/legacy/sample_common/src/base_allocator.cpp new file mode 100644 index 00000000..a5cf9b23 --- /dev/null +++ b/tools/legacy/sample_common/src/base_allocator.cpp @@ -0,0 +1,255 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "base_allocator.h" +#include +#include +#include "vm/thread_defs.h" + +MFXFrameAllocator::MFXFrameAllocator() { + pthis = this; + Alloc = Alloc_; + Lock = Lock_; + Free = Free_; + Unlock = Unlock_; + GetHDL = GetHDL_; +} + +MFXFrameAllocator::~MFXFrameAllocator() {} + +mfxStatus MFXFrameAllocator::Alloc_(mfxHDL pthis, + mfxFrameAllocRequest *request, + mfxFrameAllocResponse *response) { + if (0 == pthis) + return MFX_ERR_MEMORY_ALLOC; + + MFXFrameAllocator &self = *(MFXFrameAllocator *)pthis; + + return self.AllocFrames(request, response); +} + +mfxStatus MFXFrameAllocator::Lock_(mfxHDL pthis, mfxMemId mid, mfxFrameData *ptr) { + if (0 == pthis) + return MFX_ERR_MEMORY_ALLOC; + + MFXFrameAllocator &self = *(MFXFrameAllocator *)pthis; + + return self.LockFrame(mid, ptr); +} + +mfxStatus MFXFrameAllocator::Unlock_(mfxHDL pthis, mfxMemId mid, mfxFrameData *ptr) { + if (0 == pthis) + return MFX_ERR_MEMORY_ALLOC; + + MFXFrameAllocator &self = *(MFXFrameAllocator *)pthis; + + return self.UnlockFrame(mid, ptr); +} + +mfxStatus MFXFrameAllocator::Free_(mfxHDL pthis, mfxFrameAllocResponse *response) { + if (0 == pthis) + return MFX_ERR_MEMORY_ALLOC; + + MFXFrameAllocator &self = *(MFXFrameAllocator *)pthis; + + return self.FreeFrames(response); +} + +mfxStatus MFXFrameAllocator::GetHDL_(mfxHDL pthis, mfxMemId mid, mfxHDL *handle) { + if (0 == pthis) + return MFX_ERR_MEMORY_ALLOC; + + MFXFrameAllocator &self = *(MFXFrameAllocator *)pthis; + + return self.GetFrameHDL(mid, handle); +} + +BaseFrameAllocator::BaseFrameAllocator() {} + +BaseFrameAllocator::~BaseFrameAllocator() {} + +mfxStatus BaseFrameAllocator::CheckRequestType(mfxFrameAllocRequest *request) { + if (0 == request) + return MFX_ERR_NULL_PTR; + + // check that Media SDK component is specified in request + if ((request->Type & MEMTYPE_FROM_MASK) != 0) + return MFX_ERR_NONE; + else + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus BaseFrameAllocator::ReallocFrame(mfxMemId midIn, + const mfxFrameInfo *info, + mfxU16 memType, + mfxMemId *midOut) { + return ReallocImpl(midIn, info, memType, midOut); +} + +mfxStatus BaseFrameAllocator::AllocFrames(mfxFrameAllocRequest *request, + mfxFrameAllocResponse *response) { + if (0 == request || 0 == response || 0 == request->NumFrameSuggested) + return MFX_ERR_MEMORY_ALLOC; + + if (MFX_ERR_NONE != CheckRequestType(request)) + return MFX_ERR_UNSUPPORTED; + + mfxStatus sts = MFX_ERR_NONE; + + if ( // External Frames + ((request->Type & MFX_MEMTYPE_EXTERNAL_FRAME) && + (request->Type & (MFX_MEMTYPE_FROM_DECODE | MFX_MEMTYPE_FROM_ENC | MFX_MEMTYPE_FROM_PAK))) + // Exception: Internal Frames for FEI ENC / PAK reconstructs + || ((request->Type & MFX_MEMTYPE_INTERNAL_FRAME) && + (request->Type & (MFX_MEMTYPE_FROM_ENC | MFX_MEMTYPE_FROM_PAK)))) { + bool foundInCache = false; + // external decoder allocations + std::list::iterator it = m_ExtResponses.begin(), et = m_ExtResponses.end(); + UniqueResponse checker(*response, request->Info.Width, request->Info.Height, request->Type); + for (; it != et; ++it) { + // same decoder and same size + if (request->AllocId == it->m_resp.AllocId && checker(*it)) { + // check if enough frames were allocated + if (request->NumFrameSuggested > it->m_resp.NumFrameActual) + return MFX_ERR_MEMORY_ALLOC; + + it->m_refCount++; + // return existing response + *response = (mfxFrameAllocResponse &)*it; + foundInCache = true; + } + } + + if (!foundInCache) { + sts = AllocImpl(request, response); + if (sts == MFX_ERR_NONE) { + response->AllocId = request->AllocId; + m_ExtResponses.push_back( + UniqueResponse(*response, + request->Info.Width, + request->Info.Height, + UniqueResponse::CropMemoryTypeToStore(request->Type))); + } + } + } + else { + // internal allocations + + // reserve space before allocation to avoid memory leak + m_responses.push_back(mfxFrameAllocResponse()); + + sts = AllocImpl(request, response); + if (sts == MFX_ERR_NONE) { + m_responses.back() = *response; + } + else { + m_responses.pop_back(); + } + } + + return sts; +} + +mfxStatus BaseFrameAllocator::FreeFrames(mfxFrameAllocResponse *response) { + std::lock_guard lock(mtx); + + if (response == 0) + return MFX_ERR_INVALID_HANDLE; + + mfxStatus sts = MFX_ERR_NONE; + + // check whether response is an external decoder response + std::list::iterator i = + std::find_if(m_ExtResponses.begin(), + m_ExtResponses.end(), + std::bind(IsUniqueSame(), *response, std::placeholders::_1)); + + if (i != m_ExtResponses.end()) { + if ((--i->m_refCount) == 0) { + sts = ReleaseResponse(response); + m_ExtResponses.erase(i); + } + return sts; + } + + // if not found so far, then search in internal responses + std::list::iterator i2 = + std::find_if(m_responses.begin(), + m_responses.end(), + std::bind(IsSame(), *response, std::placeholders::_1)); + + if (i2 != m_responses.end()) { + sts = ReleaseResponse(response); + m_responses.erase(i2); + return sts; + } + + // not found anywhere, report an error + return MFX_ERR_INVALID_HANDLE; +} + +mfxStatus BaseFrameAllocator::Close() { + std::lock_guard lock(mtx); + + std::list::iterator i; + for (i = m_ExtResponses.begin(); i != m_ExtResponses.end(); i++) { + ReleaseResponse(&i->m_resp); + } + m_ExtResponses.clear(); + + std::list::iterator i2; + for (i2 = m_responses.begin(); i2 != m_responses.end(); i2++) { + ReleaseResponse(&*i2); + } + + return MFX_ERR_NONE; +} + +MFXBufferAllocator::MFXBufferAllocator() { + pthis = this; + Alloc = Alloc_; + Lock = Lock_; + Free = Free_; + Unlock = Unlock_; +} + +MFXBufferAllocator::~MFXBufferAllocator() {} + +mfxStatus MFXBufferAllocator::Alloc_(mfxHDL pthis, mfxU32 nbytes, mfxU16 type, mfxMemId *mid) { + if (0 == pthis) + return MFX_ERR_MEMORY_ALLOC; + + MFXBufferAllocator &self = *(MFXBufferAllocator *)pthis; + + return self.AllocBuffer(nbytes, type, mid); +} + +mfxStatus MFXBufferAllocator::Lock_(mfxHDL pthis, mfxMemId mid, mfxU8 **ptr) { + if (0 == pthis) + return MFX_ERR_MEMORY_ALLOC; + + MFXBufferAllocator &self = *(MFXBufferAllocator *)pthis; + + return self.LockBuffer(mid, ptr); +} + +mfxStatus MFXBufferAllocator::Unlock_(mfxHDL pthis, mfxMemId mid) { + if (0 == pthis) + return MFX_ERR_MEMORY_ALLOC; + + MFXBufferAllocator &self = *(MFXBufferAllocator *)pthis; + + return self.UnlockBuffer(mid); +} + +mfxStatus MFXBufferAllocator::Free_(mfxHDL pthis, mfxMemId mid) { + if (0 == pthis) + return MFX_ERR_MEMORY_ALLOC; + + MFXBufferAllocator &self = *(MFXBufferAllocator *)pthis; + + return self.FreeBuffer(mid); +} diff --git a/tools/legacy/sample_common/src/brc_routines.cpp b/tools/legacy/sample_common/src/brc_routines.cpp new file mode 100644 index 00000000..387dfcd4 --- /dev/null +++ b/tools/legacy/sample_common/src/brc_routines.cpp @@ -0,0 +1,1048 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "brc_routines.h" +#include +#include "math.h" +#include "mfxdefs.h" + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +#if (MFX_VERSION >= 1024) + #define BRC_SCENE_CHANGE_RATIO1 20.0 + #define BRC_SCENE_CHANGE_RATIO2 5.0 + +mfxExtBuffer* Hevc_GetExtBuffer(mfxExtBuffer** extBuf, mfxU32 numExtBuf, mfxU32 id) { + if (extBuf != 0) { + for (mfxU16 i = 0; i < numExtBuf; i++) { + if (extBuf[i] != 0 && extBuf[i]->BufferId == id) // assuming aligned buffers + return (extBuf[i]); + } + } + + return nullptr; +} + +mfxStatus cBRCParams::Init(mfxVideoParam* par, bool bFielMode) { + printf("Sample BRC is used\n"); + MFX_CHECK_NULL_PTR1(par); + MFX_CHECK(par->mfx.RateControlMethod == MFX_RATECONTROL_CBR || + par->mfx.RateControlMethod == MFX_RATECONTROL_VBR, + MFX_ERR_UNDEFINED_BEHAVIOR); + + mfxU32 k = par->mfx.BRCParamMultiplier == 0 ? 1 : par->mfx.BRCParamMultiplier; + mfxU32 bpsScale = (par->mfx.CodecId == MFX_CODEC_AVC) ? 10 : 6; + + rateControlMethod = par->mfx.RateControlMethod; + targetbps = (((k * par->mfx.TargetKbps * 1000) >> bpsScale) << bpsScale); + maxbps = (((k * par->mfx.MaxKbps * 1000) >> bpsScale) << bpsScale); + + maxbps = (par->mfx.RateControlMethod == MFX_RATECONTROL_CBR) + ? targetbps + : ((maxbps >= targetbps) ? maxbps : targetbps); + mfxExtCodingOption* pExtCO = (mfxExtCodingOption*)Hevc_GetExtBuffer(par->ExtParam, + par->NumExtParam, + MFX_EXTBUFF_CODING_OPTION); + + HRDConformance = MFX_BRC_NO_HRD; + if (pExtCO) { + if ((MFX_CODINGOPTION_OFF != pExtCO->NalHrdConformance) && + (MFX_CODINGOPTION_OFF != pExtCO->VuiNalHrdParameters)) + HRDConformance = MFX_BRC_HRD_STRONG; + else if ((MFX_CODINGOPTION_ON == pExtCO->NalHrdConformance) && + (MFX_CODINGOPTION_OFF == pExtCO->VuiNalHrdParameters)) + HRDConformance = MFX_BRC_HRD_WEAK; + } + + if (HRDConformance != MFX_BRC_NO_HRD) { + bufferSizeInBytes = ((k * par->mfx.BufferSizeInKB * 1000) >> 3) << 3; + initialDelayInBytes = ((k * par->mfx.InitialDelayInKB * 1000) >> 3) << 3; + bRec = 1; + bPanic = (HRDConformance == MFX_BRC_HRD_STRONG) ? 1 : 0; + } + MFX_CHECK(par->mfx.FrameInfo.FrameRateExtD != 0 && par->mfx.FrameInfo.FrameRateExtN != 0, + MFX_ERR_UNDEFINED_BEHAVIOR); + + frameRate = (mfxF64)par->mfx.FrameInfo.FrameRateExtN / (mfxF64)par->mfx.FrameInfo.FrameRateExtD; + + width = par->mfx.FrameInfo.Width; + height = par->mfx.FrameInfo.Height; + + chromaFormat = par->mfx.FrameInfo.ChromaFormat == 0 ? MFX_CHROMAFORMAT_YUV420 + : par->mfx.FrameInfo.ChromaFormat; + bitDepthLuma = par->mfx.FrameInfo.BitDepthLuma == 0 ? 8 : par->mfx.FrameInfo.BitDepthLuma; + quantOffset = 6 * (bitDepthLuma - 8); + + inputBitsPerFrame = targetbps / frameRate; + maxInputBitsPerFrame = maxbps / frameRate; + gopPicSize = par->mfx.GopPicSize * (bFielMode ? 2 : 1); + gopRefDist = par->mfx.GopRefDist * (bFielMode ? 2 : 1); + + mfxExtCodingOption2* pExtCO2 = + (mfxExtCodingOption2*)Hevc_GetExtBuffer(par->ExtParam, + par->NumExtParam, + MFX_EXTBUFF_CODING_OPTION2); + bPyr = (pExtCO2 && pExtCO2->BRefType == MFX_B_REF_PYRAMID); + maxFrameSizeInBits = pExtCO2 ? pExtCO2->MaxFrameSize * 8 : 0; + fAbPeriodLong = 100; + fAbPeriodShort = 5; + dqAbPeriod = 100; + bAbPeriod = 100; + + if (maxFrameSizeInBits) { + bRec = 1; + bPanic = 1; + } + + if (pExtCO2 && pExtCO2->MaxQPI <= 51 && pExtCO2->MaxQPI > pExtCO2->MinQPI && + pExtCO2->MinQPI >= 1 && pExtCO2->MaxQPP <= 51 && pExtCO2->MaxQPP > pExtCO2->MinQPP && + pExtCO2->MinQPP >= 1 && pExtCO2->MaxQPB <= 51 && pExtCO2->MaxQPB > pExtCO2->MinQPB && + pExtCO2->MinQPB >= 1) { + quantMaxI = pExtCO2->MaxQPI + quantOffset; + quantMinI = pExtCO2->MinQPI; + quantMaxP = pExtCO2->MaxQPP + quantOffset; + quantMinP = pExtCO2->MinQPP; + quantMaxB = pExtCO2->MaxQPB + quantOffset; + quantMinB = pExtCO2->MinQPB; + } + else { + quantMaxI = quantMaxP = quantMaxB = 51 + quantOffset; + quantMinI = quantMinP = quantMinB = 1; + } + + mfxExtCodingOption3* pExtCO3 = + (mfxExtCodingOption3*)Hevc_GetExtBuffer(par->ExtParam, + par->NumExtParam, + MFX_EXTBUFF_CODING_OPTION3); + if (pExtCO3) { + WinBRCMaxAvgKbps = pExtCO3->WinBRCMaxAvgKbps * par->mfx.BRCParamMultiplier; + WinBRCSize = pExtCO3->WinBRCSize; + } + return MFX_ERR_NONE; +} + +mfxStatus cBRCParams::GetBRCResetType(mfxVideoParam* par, + bool bNewSequence, + bool& bBRCReset, + bool& bSlidingWindowReset) { + bBRCReset = false; + bSlidingWindowReset = false; + + if (bNewSequence) + return MFX_ERR_NONE; + + cBRCParams new_par; + mfxStatus sts = new_par.Init(par); + MFX_CHECK_STS(sts); + + MFX_CHECK(new_par.rateControlMethod == rateControlMethod, MFX_ERR_INCOMPATIBLE_VIDEO_PARAM); + MFX_CHECK(new_par.HRDConformance == HRDConformance, MFX_ERR_INCOMPATIBLE_VIDEO_PARAM); + MFX_CHECK(new_par.frameRate == frameRate, MFX_ERR_INCOMPATIBLE_VIDEO_PARAM); + MFX_CHECK(new_par.width == width, MFX_ERR_INCOMPATIBLE_VIDEO_PARAM); + MFX_CHECK(new_par.height == height, MFX_ERR_INCOMPATIBLE_VIDEO_PARAM); + MFX_CHECK(new_par.chromaFormat == chromaFormat, MFX_ERR_INCOMPATIBLE_VIDEO_PARAM); + MFX_CHECK(new_par.bitDepthLuma == bitDepthLuma, MFX_ERR_INCOMPATIBLE_VIDEO_PARAM); + + if (HRDConformance == MFX_BRC_HRD_STRONG) { + MFX_CHECK(new_par.bufferSizeInBytes == bufferSizeInBytes, MFX_ERR_INCOMPATIBLE_VIDEO_PARAM); + MFX_CHECK(new_par.initialDelayInBytes == initialDelayInBytes, + MFX_ERR_INCOMPATIBLE_VIDEO_PARAM); + MFX_CHECK(new_par.targetbps == targetbps, MFX_ERR_INCOMPATIBLE_VIDEO_PARAM); + MFX_CHECK(new_par.maxbps == maxbps, MFX_ERR_INCOMPATIBLE_VIDEO_PARAM); + } + else if (new_par.targetbps != targetbps || new_par.maxbps != maxbps) { + bBRCReset = true; + } + + if (new_par.WinBRCMaxAvgKbps != WinBRCMaxAvgKbps) { + bBRCReset = true; + bSlidingWindowReset = true; + } + + if (new_par.maxFrameSizeInBits != maxFrameSizeInBits) + bBRCReset = true; + if (new_par.gopPicSize != gopPicSize) + bBRCReset = true; + if (new_par.gopRefDist != gopRefDist) + bBRCReset = true; + if (new_par.bPyr != bPyr) + bBRCReset = true; + if (new_par.quantMaxI != quantMaxI) + bBRCReset = true; + if (new_par.quantMinI != quantMinI) + bBRCReset = true; + if (new_par.quantMaxP != quantMaxP) + bBRCReset = true; + if (new_par.quantMinP != quantMinP) + bBRCReset = true; + if (new_par.quantMaxB != quantMaxB) + bBRCReset = true; + if (new_par.quantMinB != quantMinB) + bBRCReset = true; + + return MFX_ERR_NONE; +} + +enum { + MFX_BRC_RECODE_NONE = 0, + MFX_BRC_RECODE_QP = 1, + MFX_BRC_RECODE_PANIC = 2, +}; + +mfxF64 const QSTEP[88] = { + 0.630, 0.707, 0.794, 0.891, 1.000, 1.122, 1.260, 1.414, 1.587, + 1.782, 2.000, 2.245, 2.520, 2.828, 3.175, 3.564, 4.000, 4.490, + 5.040, 5.657, 6.350, 7.127, 8.000, 8.980, 10.079, 11.314, 12.699, + 14.254, 16.000, 17.959, 20.159, 22.627, 25.398, 28.509, 32.000, 35.919, + 40.317, 45.255, 50.797, 57.018, 64.000, 71.838, 80.635, 90.510, 101.594, + 114.035, 128.000, 143.675, 161.270, 181.019, 203.187, 228.070, 256.000, 287.350, + 322.540, 362.039, 406.375, 456.140, 512.000, 574.701, 645.080, 724.077, 812.749, + 912.280, 1024.000, 1149.401, 1290.159, 1448.155, 1625.499, 1824.561, 2048.000, 2298.802, + 2580.318, 2896.309, 3250.997, 3649.121, 4096.000, 4597.605, 5160.637, 5792.619, 6501.995, + 7298.242, 8192.000, 9195.209, 10321.273, 11585.238, 13003.989, 14596.485 +}; + +mfxI32 QStep2QpFloor(mfxF64 qstep, + mfxI32 qpoffset = 0) // QSTEP[qp] <= qstep, return 0<=qp<=51+mQuantOffset +{ + mfxU8 qp = mfxU8(std::upper_bound(QSTEP, QSTEP + 51 + qpoffset, qstep) - QSTEP); + return qp > 0 ? qp - 1 : 0; +} + +mfxI32 Qstep2QP(mfxF64 qstep, mfxI32 qpoffset = 0) // return 0<=qp<=51+mQuantOffset +{ + mfxI32 qp = QStep2QpFloor(qstep, qpoffset); + + // prevent going QSTEP index out of bounds + if (qp >= (mfxI32)(sizeof(QSTEP) / sizeof(mfxF64)) - 1) + return 0; + return (qp == 51 + qpoffset || qstep < (QSTEP[qp] + QSTEP[qp + 1]) / 2) ? qp : qp + 1; +} +mfxF64 QP2Qstep(mfxI32 qp, mfxI32 qpoffset = 0) { + return QSTEP[std::min(51 + qpoffset, qp)]; +} + +mfxF64 cHRD::GetBufferDiviation(mfxU32 targetBitrate) { + mfxI64 targetFullness = std::min(m_delayInBits, m_buffSizeInBits / 2); + mfxI64 minTargetFullness = + std::min(m_buffSizeInBits / 2, targetBitrate * 2); // half bufsize or 2 sec + targetFullness = std::max(targetFullness, minTargetFullness); + + return targetFullness - m_bufFullness; +} + +mfxU16 cHRD::UpdateAndCheckHRD(mfxI32 frameBits, mfxI32 recode, mfxI32 minQuant, mfxI32 maxQuant) { + mfxU16 brcStatus = MFX_BRC_OK; + + if (recode == 0) { + m_prevBufFullness = m_bufFullness; + m_underflowQuant = minQuant - 1; + m_overflowQuant = maxQuant + 1; + } + else { // frame is being recoded - restore buffer state + m_bufFullness = m_prevBufFullness; + m_frameNum--; + } + + m_maxFrameSize = (mfxI32)(m_bufFullness - 1); + m_minFrameSize = + (!m_bCBR) ? 0 : (mfxI32)(m_bufFullness + 1 + 1 + m_inputBitsPerFrame - m_buffSizeInBits); + if (m_minFrameSize < 0) + m_minFrameSize = 0; + + mfxF64 bufFullness = m_bufFullness - frameBits; + + if (bufFullness < 2) { + bufFullness = m_inputBitsPerFrame; + brcStatus = MFX_BRC_BIG_FRAME; + if (bufFullness > m_buffSizeInBits) + bufFullness = m_buffSizeInBits; + } + else { + bufFullness += m_inputBitsPerFrame; + if (bufFullness > m_buffSizeInBits - 1) { + bufFullness = m_buffSizeInBits - 1; + if (m_bCBR) + brcStatus = MFX_BRC_SMALL_FRAME; + } + } + m_frameNum++; + if (MFX_BRC_RECODE_PANIC == recode) // no use in changing QP + { + if (brcStatus == MFX_BRC_SMALL_FRAME) + brcStatus = MFX_BRC_PANIC_SMALL_FRAME; + if (brcStatus == MFX_BRC_BIG_FRAME) + brcStatus = MFX_BRC_PANIC_BIG_FRAME; + } + + m_bufFullness = bufFullness; + return brcStatus; +} + +mfxStatus cHRD::UpdateMinMaxQPForRec(mfxU32 brcSts, mfxI32 qp) { + MFX_CHECK(brcSts == MFX_BRC_BIG_FRAME || brcSts == MFX_BRC_SMALL_FRAME, + MFX_ERR_UNDEFINED_BEHAVIOR); + if (brcSts == MFX_BRC_BIG_FRAME) + m_underflowQuant = qp; + else + m_overflowQuant = qp; + return MFX_ERR_NONE; +} +mfxI32 cHRD::GetTargetSize(mfxU32 brcSts) { + if (brcSts != MFX_BRC_BIG_FRAME && brcSts != MFX_BRC_SMALL_FRAME) + return 0; + return (brcSts == MFX_BRC_BIG_FRAME) ? m_maxFrameSize * 3 / 4 : m_minFrameSize * 5 / 4; +} + +mfxI32 GetNewQP(mfxF64 totalFrameBits, + mfxF64 targetFrameSizeInBits, + mfxI32 minQP, + mfxI32 maxQP, + mfxI32 qp, + mfxI32 qp_offset, + mfxF64 f_pow, + bool bStrict = false, + bool bLim = true) { + mfxF64 qstep = 0, qstep_new = 0; + mfxI32 qp_new = qp; + + qstep = QP2Qstep(qp, qp_offset); + qstep_new = qstep * pow(totalFrameBits / targetFrameSizeInBits, f_pow); + qp_new = Qstep2QP(qstep_new, qp_offset); + + if (totalFrameBits < targetFrameSizeInBits) // overflow + { + if (qp <= minQP) { + return qp; // QP change is impossible + } + if (bLim) + qp_new = std::max(qp_new, (minQP + qp + 1) >> 1); + if (bStrict) + qp_new = std::min(qp_new, qp - 1); + } + else // underflow + { + if (qp >= maxQP) { + return qp; // QP change is impossible + } + if (bLim) + qp_new = std::min(qp_new, (maxQP + qp + 1) >> 1); + if (bStrict) + qp_new = std::max(qp_new, qp + 1); + } + return mfx::clamp(qp_new, minQP, maxQP); +} + +void cHRD::Init(mfxU32 buffSizeInBytes, mfxU32 delayInBytes, mfxF64 inputBitsPerFrame, bool bCBR) { + m_bufFullness = m_prevBufFullness = delayInBytes << 3; + m_delayInBits = delayInBytes << 3; + m_buffSizeInBits = buffSizeInBytes << 3; + m_inputBitsPerFrame = inputBitsPerFrame; + m_bCBR = bCBR; + + m_underflowQuant = 0; + m_overflowQuant = 999; + m_frameNum = 0; + m_minFrameSize = 0; + m_maxFrameSize = 0; +} + +void UpdateQPParams(mfxI32 qp, + mfxU32 type, + BRC_Ctx& ctx, + mfxU32 /* rec_num */, + mfxI32 minQuant, + mfxI32 maxQuant, + mfxU32 level) { + ctx.Quant = qp; + if (type == MFX_FRAMETYPE_I) { + ctx.QuantI = qp; + ctx.QuantP = qp + 1; + ctx.QuantB = qp + 2; + } + else if (type == MFX_FRAMETYPE_P) { + qp -= level; + ctx.QuantI = qp - 1; + ctx.QuantP = qp; + ctx.QuantB = qp + 1; + } + else if (type == MFX_FRAMETYPE_B) { + level = level > 0 ? level - 1 : 0; + qp -= level; + ctx.QuantI = qp - 2; + ctx.QuantP = qp - 1; + ctx.QuantB = qp; + } + ctx.QuantI = mfx::clamp(ctx.QuantI, minQuant, maxQuant); + ctx.QuantP = mfx::clamp(ctx.QuantP, minQuant, maxQuant); + ctx.QuantB = mfx::clamp(ctx.QuantB, minQuant, maxQuant); + //printf("ctx.QuantI %d, ctx.QuantP %d, ctx.QuantB %d, level %d\n", ctx.QuantI, ctx.QuantP, ctx.QuantB, level); +} + +mfxI32 GetRawFrameSize(mfxU32 lumaSize, mfxU16 chromaFormat, mfxU16 bitDepthLuma) { + mfxI32 frameSize = lumaSize; + + if (chromaFormat == MFX_CHROMAFORMAT_YUV420) + frameSize += lumaSize / 2; + else if (chromaFormat == MFX_CHROMAFORMAT_YUV422) + frameSize += lumaSize; + else if (chromaFormat == MFX_CHROMAFORMAT_YUV444) + frameSize += lumaSize * 2; + + frameSize = frameSize * bitDepthLuma / 8; + return frameSize * 8; //frame size in bits +} + +mfxStatus ExtBRC::Init(mfxVideoParam* par) { + mfxStatus sts = MFX_ERR_NONE; + + MFX_CHECK(!m_bInit, MFX_ERR_UNDEFINED_BEHAVIOR); + sts = m_par.Init(par); + MFX_CHECK_STS(sts); + + if (m_par.HRDConformance != MFX_BRC_NO_HRD) { + m_hrd.Init(m_par.bufferSizeInBytes, + m_par.initialDelayInBytes, + m_par.maxInputBitsPerFrame, + m_par.rateControlMethod == MFX_RATECONTROL_CBR); + } + memset(&m_ctx, 0, sizeof(m_ctx)); + + m_ctx.fAbLong = m_par.inputBitsPerFrame; + m_ctx.fAbShort = m_par.inputBitsPerFrame; + m_ctx.encOrder = mfxU32(-1); + + mfxI32 rawSize = + GetRawFrameSize(m_par.width * m_par.height, m_par.chromaFormat, m_par.bitDepthLuma); + mfxI32 qp = GetNewQP(rawSize, + m_par.inputBitsPerFrame, + m_par.quantMinI, + m_par.quantMaxI, + 1, + m_par.quantOffset, + 0.5, + false, + false); + + UpdateQPParams(qp, MFX_FRAMETYPE_I, m_ctx, 0, m_par.quantMinI, m_par.quantMaxI, 0); + + m_ctx.dQuantAb = qp > 0 ? 1. / qp : 1.0; //kw + + if (m_par.WinBRCSize) { + m_avg.reset(new AVGBitrate(m_par.WinBRCSize, + (mfxU32)(m_par.WinBRCMaxAvgKbps * 1000.0 / m_par.frameRate), + (mfxU32)m_par.inputBitsPerFrame)); + MFX_CHECK_NULL_PTR1(m_avg.get()); + } + + m_bInit = true; + return sts; +} + +mfxU16 GetFrameType(mfxU16 m_frameType, mfxU16 level, mfxU16 gopRegDist) { + if (m_frameType & MFX_FRAMETYPE_IDR) + return MFX_FRAMETYPE_I; + else if (m_frameType & MFX_FRAMETYPE_I) + return MFX_FRAMETYPE_I; + else if (m_frameType & MFX_FRAMETYPE_P) + return MFX_FRAMETYPE_P; + else if ((m_frameType & MFX_FRAMETYPE_REF) && (level == 0 || gopRegDist == 1)) + return MFX_FRAMETYPE_P; //low delay B + else + return MFX_FRAMETYPE_B; +} + +bool isFrameBeforeIntra(mfxU32 order, mfxU32 intraOrder, mfxU32 gopPicSize, mfxU32 gopRefDist) { + mfxI32 distance0 = gopPicSize * 3 / 4; + mfxI32 distance1 = gopPicSize - gopRefDist * 3; + return mfxI32(order - intraOrder) > std::max(distance0, distance1); +} + +mfxStatus SetRecodeParams(mfxU16 brcStatus, + mfxI32 qp, + mfxI32 qp_new, + mfxI32 minQP, + mfxI32 maxQP, + BRC_Ctx& ctx, + mfxBRCFrameStatus* status) { + ctx.bToRecode = 1; + + if (brcStatus == MFX_BRC_BIG_FRAME || brcStatus == MFX_BRC_PANIC_BIG_FRAME) { + MFX_CHECK(qp_new >= qp, MFX_ERR_UNDEFINED_BEHAVIOR); + ctx.Quant = qp_new; + ctx.QuantMax = maxQP; + if (brcStatus == MFX_BRC_BIG_FRAME && qp_new > qp) { + ctx.QuantMin = std::max(qp + 1, minQP); //limit QP range for recoding + status->BRCStatus = MFX_BRC_BIG_FRAME; + } + else { + ctx.QuantMin = minQP; + ctx.bPanic = 1; + status->BRCStatus = MFX_BRC_PANIC_BIG_FRAME; + } + } + else if (brcStatus == MFX_BRC_SMALL_FRAME || brcStatus == MFX_BRC_PANIC_SMALL_FRAME) { + MFX_CHECK(qp_new <= qp, MFX_ERR_UNDEFINED_BEHAVIOR); + + ctx.Quant = qp_new; + ctx.QuantMin = minQP; //limit QP range for recoding + + if (brcStatus == MFX_BRC_SMALL_FRAME && qp_new < qp) { + ctx.QuantMax = std::min(qp - 1, maxQP); + status->BRCStatus = MFX_BRC_SMALL_FRAME; + } + else { + ctx.QuantMax = maxQP; + status->BRCStatus = MFX_BRC_PANIC_SMALL_FRAME; + ctx.bPanic = 1; + } + } + //printf("recode %d , qp %d new %d, status %d\n", ctx.encOrder, qp, qp_new, status->BRCStatus); + return MFX_ERR_NONE; +} +mfxI32 +GetNewQPTotal(mfxF64 bo, mfxF64 dQP, mfxI32 minQP, mfxI32 maxQP, mfxI32 qp, bool bPyr, bool bSC) { + mfxU8 mode = (!bPyr); + + bo = mfx::clamp(bo, -1.0, 1.0); + dQP = mfx::clamp(dQP, 1. / maxQP, 1. / minQP); + dQP = dQP + (1. / maxQP - dQP) * bo; + dQP = mfx::clamp(dQP, 1. / maxQP, 1. / minQP); + mfxI32 quant_new = (mfxI32)(1. / dQP + 0.5); + + //printf(" GetNewQPTotal: bo %f, quant %d, quant_new %d, mode %d\n", bo, qp, quant_new, mode); + if (!bSC) { + if (mode == 0) // low: qp_diff [-2; 2] + { + if (quant_new >= qp + 5) + quant_new = qp + 2; + else if (quant_new > qp + 3) + quant_new = qp + 1; + else if (quant_new <= qp - 5) + quant_new = qp - 2; + else if (quant_new < qp - 2) + quant_new = qp - 1; + } + else // (mode == 1) midle: qp_diff [-3; 3] + { + if (quant_new >= qp + 5) + quant_new = qp + 3; + else if (quant_new > qp + 3) + quant_new = qp + 2; + else if (quant_new <= qp - 5) + quant_new = qp - 3; + else if (quant_new < qp - 2) + quant_new = qp - 2; + } + } + else { + quant_new = mfx::clamp(quant_new, qp - 5, qp + 5); + } + return mfx::clamp(quant_new, minQP, maxQP); +} +// Reduce AB period before intra and increase it after intra (to avoid intra frame affect on the bottom of hrd) +mfxF64 GetAbPeriodCoeff(mfxU32 numInGop, mfxU32 gopPicSize) { + const mfxU32 maxForCorrection = 30; + const mfxF64 maxValue = 1.5; + const mfxF64 minValue = 1.0; + + mfxU32 numForCorrection = std::min(gopPicSize / 2, maxForCorrection); + mfxF64 k[maxForCorrection] = {}; + + if (numInGop >= gopPicSize || gopPicSize < 2) + return 1.0; + + for (mfxU32 i = 0; i < numForCorrection; i++) { + k[i] = maxValue - (maxValue - minValue) * i / numForCorrection; + } + if (numInGop < gopPicSize / 2) { + return k[numInGop < numForCorrection ? numInGop : numForCorrection - 1]; + } + else { + mfxU32 n = gopPicSize - 1 - numInGop; + return 1.0 / k[n < numForCorrection ? n : numForCorrection - 1]; + } +} + +mfxI32 ExtBRC::GetCurQP(mfxU32 type, mfxI32 layer) { + mfxI32 qp = 0; + if (type == MFX_FRAMETYPE_I) { + qp = m_ctx.QuantI; + qp = mfx::clamp(qp, m_par.quantMinI, m_par.quantMaxI); + } + else if (type == MFX_FRAMETYPE_P) { + qp = m_ctx.QuantP + layer; + qp = mfx::clamp(qp, m_par.quantMinP, m_par.quantMaxP); + } + else { + qp = m_ctx.QuantB + (layer > 0 ? layer - 1 : 0); + qp = mfx::clamp(qp, m_par.quantMinB, m_par.quantMaxB); + } + //printf("GetCurQP I %d P %d B %d, min %d max %d type %d \n", m_ctx.QuantI, m_ctx.QuantP, m_ctx.QuantB, m_par.quantMinI, m_par.quantMaxI, type); + + return qp; +} + +mfxStatus ExtBRC::Update(mfxBRCFrameParam* frame_par, + mfxBRCFrameCtrl* frame_ctrl, + mfxBRCFrameStatus* status) { + mfxStatus sts = MFX_ERR_NONE; + + MFX_CHECK_NULL_PTR3(frame_par, frame_ctrl, status); + MFX_CHECK(m_bInit, MFX_ERR_NOT_INITIALIZED); + + mfxU16& brcSts = status->BRCStatus; + status->MinFrameSize = 0; + + //printf("ExtBRC::Update: m_ctx.encOrder %d , frame_par->EncodedOrder %d, frame_par->NumRecode %d, frame_par->CodedFrameSize %d, qp %d\n", m_ctx.encOrder , frame_par->EncodedOrder, frame_par->NumRecode, frame_par->CodedFrameSize, frame_ctrl->QpY); + + mfxI32 bitsEncoded = frame_par->CodedFrameSize * 8; + mfxU32 picType = GetFrameType(frame_par->FrameType, frame_par->PyramidLayer, m_par.gopRefDist); + mfxI32 qpY = frame_ctrl->QpY + m_par.quantOffset; + mfxI32 layer = frame_par->PyramidLayer; + mfxF64 qstep = QP2Qstep(qpY, m_par.quantOffset); + + mfxF64 fAbLong = m_ctx.fAbLong + (bitsEncoded - m_ctx.fAbLong) / m_par.fAbPeriodLong; + mfxF64 fAbShort = m_ctx.fAbShort + (bitsEncoded - m_ctx.fAbShort) / m_par.fAbPeriodShort; + mfxF64 eRate = bitsEncoded * sqrt(qstep); + mfxF64 e2pe = 0; + bool bMaxFrameSizeMode = + m_par.maxFrameSizeInBits != 0 && m_par.rateControlMethod == MFX_RATECONTROL_VBR && + m_par.maxFrameSizeInBits < m_par.inputBitsPerFrame * 2 && + m_ctx.totalDiviation < (-1) * m_par.inputBitsPerFrame * m_par.frameRate; + + if (picType == MFX_FRAMETYPE_I) + e2pe = (m_ctx.eRateSH == 0) ? (BRC_SCENE_CHANGE_RATIO2 + 1) : eRate / m_ctx.eRateSH; + else + e2pe = (m_ctx.eRate == 0) ? (BRC_SCENE_CHANGE_RATIO2 + 1) : eRate / m_ctx.eRate; + + mfxU32 frameSizeLim = 0xfffffff; // sliding window limitation or external frame size limitation + + bool bSHStart = false; + bool bNeedUpdateQP = false; + + brcSts = MFX_BRC_OK; + + if (m_par.bRec && m_ctx.bToRecode && + (m_ctx.encOrder != frame_par->EncodedOrder || frame_par->NumRecode == 0)) { + //printf("++++++++++++++++++++++++++++++++++\n"); + // Frame must be recoded, but encoder calls BR for another frame + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + if (frame_par->NumRecode == 0 || m_ctx.encOrder != frame_par->EncodedOrder) { + // Set context for new frame + if (picType == MFX_FRAMETYPE_I) + m_ctx.LastIEncOrder = frame_par->EncodedOrder; + m_ctx.encOrder = frame_par->EncodedOrder; + m_ctx.poc = frame_par->DisplayOrder; + m_ctx.bToRecode = 0; + m_ctx.bPanic = 0; + + if (picType == MFX_FRAMETYPE_I) { + m_ctx.QuantMin = m_par.quantMinI; + m_ctx.QuantMax = m_par.quantMaxI; + } + else if (picType == MFX_FRAMETYPE_P) { + m_ctx.QuantMin = m_par.quantMinP; + m_ctx.QuantMax = m_par.quantMaxP; + } + else { + m_ctx.QuantMin = m_par.quantMinB; + m_ctx.QuantMax = m_par.quantMaxB; + } + m_ctx.Quant = qpY; + + if (m_ctx.SceneChange && (m_ctx.poc > m_ctx.SChPoc + 1 || m_ctx.poc == 0)) + m_ctx.SceneChange &= ~16; + + bNeedUpdateQP = true; + + //printf("m_ctx.SceneChange %d, m_ctx.poc %d, m_ctx.SChPoc %d, m_ctx.poc %d \n", m_ctx.SceneChange, m_ctx.poc, m_ctx.SChPoc, m_ctx.poc); + } + if (e2pe > BRC_SCENE_CHANGE_RATIO2) { + // scene change, resetting BRC statistics + fAbLong = m_ctx.fAbLong = m_par.inputBitsPerFrame; + fAbShort = m_ctx.fAbShort = m_par.inputBitsPerFrame; + m_ctx.SceneChange |= 1; + if (picType != MFX_FRAMETYPE_B) { + bSHStart = true; + m_ctx.SceneChange |= 16; + m_ctx.eRateSH = eRate; + //if ((frame_par->DisplayOrder - m_ctx.SChPoc) >= std::min(m_par.frameRate, m_par.gopRefDist)) + { m_ctx.dQuantAb = 1. / m_ctx.Quant; } + m_ctx.SChPoc = frame_par->DisplayOrder; + //printf("!!!!!!!!!!!!!!!!!!!!! %d m_ctx.SceneChange %d, order %d\n", frame_par->EncodedOrder, m_ctx.SceneChange, frame_par->DisplayOrder); + } + } + if (m_par.HRDConformance != MFX_BRC_NO_HRD) { + //check hrd + brcSts = m_hrd.UpdateAndCheckHRD(bitsEncoded, + frame_par->NumRecode, + m_ctx.QuantMin, + m_ctx.QuantMax); + //printf("--UpdateAndCheckHRD (%d) brcSts %d, panic %d\n", frame_par->EncodedOrder,brcSts, m_ctx.bPanic); + MFX_CHECK(brcSts == MFX_BRC_OK || (!m_ctx.bPanic), MFX_ERR_NOT_ENOUGH_BUFFER); + if (brcSts == MFX_BRC_BIG_FRAME || brcSts == MFX_BRC_SMALL_FRAME) + m_hrd.UpdateMinMaxQPForRec(brcSts, qpY); + else + bNeedUpdateQP = true; + status->MinFrameSize = m_hrd.GetMinFrameSize(); + //printf("%d: poc %d, size %d QP %d (%d %d), HRD sts %d, maxFrameSize %d, type %d \n",frame_par->EncodedOrder, frame_par->DisplayOrder, bitsEncoded, m_ctx.Quant, m_ctx.QuantMin, m_ctx.QuantMax, brcSts, m_hrd.GetMaxFrameSize(), frame_par->FrameType); + } + if (m_avg.get()) { + frameSizeLim = std::min(frameSizeLim, + m_avg->GetMaxFrameSize(m_ctx.bPanic, + bSHStart || picType == MFX_FRAMETYPE_I, + frame_par->NumRecode)); + } + if (m_par.maxFrameSizeInBits) { + frameSizeLim = std::min(frameSizeLim, m_par.maxFrameSizeInBits); + } + //printf("frameSizeLim %d (%d)\n", frameSizeLim, bitsEncoded); + + if (frame_par->NumRecode < 2) + // Check other condions for recoding (update qp is it is needed) + { + mfxF64 targetFrameSize = std::max(m_par.inputBitsPerFrame, fAbLong); + mfxF64 maxFrameSize = + (m_ctx.encOrder == 0 ? 6.0 : (bSHStart || picType == MFX_FRAMETYPE_I) ? 8.0 : 4.0) * + targetFrameSize * (m_par.bPyr ? 1.5 : 1.0); + mfxI32 quantMax = m_ctx.QuantMax; + mfxI32 quantMin = m_ctx.QuantMin; + mfxI32 quant = qpY; + + maxFrameSize = std::min(maxFrameSize, frameSizeLim); + + if (m_par.HRDConformance != MFX_BRC_NO_HRD) { + if (bSHStart || picType == MFX_FRAMETYPE_I) + maxFrameSize = + std::min(maxFrameSize, + 3.5 / 9. * m_hrd.GetMaxFrameSize() + 5.5 / 9. * targetFrameSize); + else + maxFrameSize = + std::min(maxFrameSize, + 2.5 / 9. * m_hrd.GetMaxFrameSize() + 6.5 / 9. * targetFrameSize); + + quantMax = std::min(m_hrd.GetMaxQuant(), quantMax); + quantMin = std::max(m_hrd.GetMinQuant(), quantMin); + } + maxFrameSize = std::max(maxFrameSize, targetFrameSize); + + if (bitsEncoded > maxFrameSize && quant < quantMax) { + mfxI32 quant_new = GetNewQP(bitsEncoded, + (mfxU32)maxFrameSize, + quantMin, + quantMax, + quant, + m_par.quantOffset, + 1); + if (quant_new > quant) { + bNeedUpdateQP = false; + //printf(" recode 1-0: %d: k %5f bitsEncoded %d maxFrameSize %d, targetSize %d, fAbLong %f, inputBitsPerFrame %f, qp %d new %d\n",frame_par->EncodedOrder, bitsEncoded/maxFrameSize, (int)bitsEncoded, (int)maxFrameSize,(int)targetFrameSize, fAbLong, m_par.inputBitsPerFrame, quant, quant_new); + if (quant_new > GetCurQP(picType, layer)) { + UpdateQPParams(bMaxFrameSizeMode ? quant_new - 1 : quant_new, + picType, + m_ctx, + 0, + quantMin, + quantMax, + layer); + fAbLong = m_ctx.fAbLong = m_par.inputBitsPerFrame; + fAbShort = m_ctx.fAbShort = m_par.inputBitsPerFrame; + m_ctx.dQuantAb = 1. / quant_new; + } + + if (m_par.bRec) { + SetRecodeParams(MFX_BRC_BIG_FRAME, + quant, + quant_new, + quantMin, + quantMax, + m_ctx, + status); + return sts; + } + } //(quant_new > quant) + } //bitsEncoded > maxFrameSize + + if (bitsEncoded > maxFrameSize && quant == quantMax && picType != MFX_FRAMETYPE_I && + m_par.bPanic && (!m_ctx.bPanic) && + isFrameBeforeIntra(m_ctx.encOrder, + m_ctx.LastIEncOrder, + m_par.gopPicSize, + m_par.gopRefDist)) { + //skip frames before intra + SetRecodeParams(MFX_BRC_PANIC_BIG_FRAME, + quant, + quant, + quantMin, + quantMax, + m_ctx, + status); + return sts; + } + if (m_par.HRDConformance != MFX_BRC_NO_HRD && frame_par->NumRecode == 0 && + (quant < quantMax)) { + mfxF64 FAMax = 1. / 9. * m_hrd.GetMaxFrameSize() + 8. / 9. * fAbLong; + + if (fAbShort > FAMax) { + mfxI32 quant_new = + GetNewQP(fAbShort, FAMax, quantMin, quantMax, quant, m_par.quantOffset, 0.5); + //printf(" recode 2-0: %d: FAMax %f, fAbShort %f, quant_new %d\n",frame_par->EncodedOrder, FAMax, fAbShort, quant_new); + + if (quant_new > quant) { + bNeedUpdateQP = false; + if (quant_new > GetCurQP(picType, layer)) { + UpdateQPParams(quant_new, picType, m_ctx, 0, quantMin, quantMax, layer); + fAbLong = m_ctx.fAbLong = m_par.inputBitsPerFrame; + fAbShort = m_ctx.fAbShort = m_par.inputBitsPerFrame; + m_ctx.dQuantAb = 1. / quant_new; + } + if (m_par.bRec) { + SetRecodeParams(MFX_BRC_BIG_FRAME, + quant, + quant_new, + quantMin, + quantMax, + m_ctx, + status); + return sts; + } + } //quant_new > quant + } + } //m_par.HRDConformance + } + if (((m_par.HRDConformance != MFX_BRC_NO_HRD && brcSts != MFX_BRC_OK) || + (bitsEncoded > (mfxI32)frameSizeLim)) && + m_par.bRec) { + mfxI32 quant = m_ctx.Quant; + mfxI32 quant_new = quant; + if (bitsEncoded > (mfxI32)frameSizeLim) { + brcSts = MFX_BRC_BIG_FRAME; + quant_new = GetNewQP(bitsEncoded, + frameSizeLim, + m_ctx.QuantMin, + m_ctx.QuantMax, + quant, + m_par.quantOffset, + 1, + true); + } + else if (brcSts == MFX_BRC_BIG_FRAME || brcSts == MFX_BRC_SMALL_FRAME) { + quant_new = GetNewQP(bitsEncoded, + m_hrd.GetTargetSize(brcSts), + m_ctx.QuantMin, + m_ctx.QuantMax, + quant, + m_par.quantOffset, + 1, + true); + } + if (quant_new != quant) { + if (brcSts == MFX_BRC_SMALL_FRAME) { + quant_new = std::max(quant_new, quant - 2); + brcSts = MFX_BRC_PANIC_SMALL_FRAME; + } + // Idea is to check a sign mismatch, 'true' if both are negative or positive + if ((quant_new - qpY) * (quant_new - GetCurQP(picType, layer)) > 0) { + UpdateQPParams(quant_new, picType, m_ctx, 0, m_ctx.QuantMin, m_ctx.QuantMax, layer); + } + bNeedUpdateQP = false; + } + SetRecodeParams(brcSts, quant, quant_new, m_ctx.QuantMin, m_ctx.QuantMax, m_ctx, status); + } + else { + // no recoding are needed. Save context params + + mfxF64 k = 1. / m_ctx.Quant; + mfxF64 dqAbPeriod = m_par.dqAbPeriod; + if (m_ctx.bToRecode) + dqAbPeriod = (k < m_ctx.dQuantAb) ? 16 : 25; + + if (bNeedUpdateQP) { + m_ctx.dQuantAb += (k - m_ctx.dQuantAb) / dqAbPeriod; + m_ctx.dQuantAb = mfx::clamp(m_ctx.dQuantAb, 1. / m_ctx.QuantMax, 1. / m_ctx.QuantMin); + + m_ctx.fAbLong = fAbLong; + m_ctx.fAbShort = fAbShort; + } + + bool oldScene = false; + if ((m_ctx.SceneChange & 16) && (m_ctx.poc < m_ctx.SChPoc) && (e2pe < .01) && + (mfxF64)bitsEncoded < 1.5 * fAbLong) + oldScene = true; + //printf("-- m_ctx.eRate %f, eRate %f, e2pe %f\n", m_ctx.eRate, eRate, e2pe ); + + if (picType != MFX_FRAMETYPE_B) { + m_ctx.LastNonBFrameSize = bitsEncoded; + if (picType == MFX_FRAMETYPE_I) + m_ctx.eRateSH = eRate; + else + m_ctx.eRate = eRate; + } + + if (m_avg.get()) { + m_avg->UpdateSlidingWindow(bitsEncoded, + m_ctx.encOrder, + m_ctx.bPanic, + bSHStart || picType == MFX_FRAMETYPE_I, + frame_par->NumRecode); + } + + m_ctx.totalDiviation += ((mfxF64)bitsEncoded - m_par.inputBitsPerFrame); + + //printf("-- %d (%d)) Total deviation %f, old scene %d, bNeedUpdateQP %d, m_ctx.Quant %d, type %d\n", frame_par->EncodedOrder, frame_par->DisplayOrder,m_ctx.totalDiviation, oldScene , bNeedUpdateQP, m_ctx.Quant,picType); + + if (!m_ctx.bPanic && (!oldScene) && bNeedUpdateQP) { + mfxI32 quant_new = m_ctx.Quant; + //Update QP + + mfxF64 totDiv = m_ctx.totalDiviation; + mfxF64 dequant_new = m_ctx.dQuantAb * pow(m_par.inputBitsPerFrame / m_ctx.fAbLong, 1.2); + mfxF64 bAbPreriod = m_par.bAbPeriod; + + if (m_par.HRDConformance != MFX_BRC_NO_HRD && totDiv > 0) { + if (m_par.rateControlMethod == MFX_RATECONTROL_VBR) { + totDiv = std::max(totDiv, m_hrd.GetBufferDiviation(m_par.targetbps)); + } + bAbPreriod = + (mfxF64)(m_par.bPyr ? 4 : 3) * (mfxF64)m_hrd.GetMaxFrameSize() / + m_par.inputBitsPerFrame * + GetAbPeriodCoeff(m_ctx.encOrder - m_ctx.LastIEncOrder, m_par.gopPicSize); + bAbPreriod = mfx::clamp(bAbPreriod, m_par.bAbPeriod / 10, m_par.bAbPeriod); + } + quant_new = GetNewQPTotal(totDiv / bAbPreriod / (mfxF64)m_par.inputBitsPerFrame, + dequant_new, + m_ctx.QuantMin, + m_ctx.QuantMax, + m_ctx.Quant, + m_par.bPyr && m_par.bRec, + bSHStart && m_ctx.bToRecode == 0); + //printf(" ===%d quant old %d quant_new %d, bitsEncoded %d m_ctx.QuantMin %d m_ctx.QuantMax %d\n", frame_par->EncodedOrder, m_ctx.Quant, quant_new, bitsEncoded, m_ctx.QuantMin, m_ctx.QuantMax); + + if (bMaxFrameSizeMode) { + mfxF64 targetMax = ((mfxF64)m_par.maxFrameSizeInBits * + ((bSHStart || picType == MFX_FRAMETYPE_I) ? 0.95 : 0.9)); + mfxF64 targetMin = + ((mfxF64)m_par.maxFrameSizeInBits * + ((bSHStart || picType == MFX_FRAMETYPE_I) ? 0.9 : 0.8 /*0.75 : 0.5*/)); + mfxI32 QuantNewMin = GetNewQP(bitsEncoded, + targetMax, + m_ctx.QuantMin, + m_ctx.QuantMax, + m_ctx.Quant, + m_par.quantOffset, + 1, + false, + false); + mfxI32 QuantNewMax = GetNewQP(bitsEncoded, + targetMin, + m_ctx.QuantMin, + m_ctx.QuantMax, + m_ctx.Quant, + m_par.quantOffset, + 1, + false, + false); + mfxI32 quant_corrected = m_ctx.Quant; + + if (quant_corrected < QuantNewMin - 3) + quant_corrected += 2; + if (quant_corrected < QuantNewMin) + quant_corrected++; + else if (quant_corrected > QuantNewMax + 3) + quant_corrected -= 2; + else if (quant_corrected > QuantNewMax) + quant_corrected--; + + //printf(" QuantNewMin %d, QuantNewMax %d, m_ctx.Quant %d, new %d (%d)\n", QuantNewMin, QuantNewMax, m_ctx.Quant, quant_corrected, quant_new); + + quant_new = mfx::clamp(quant_corrected, m_ctx.QuantMin, m_ctx.QuantMax); + } + if ((quant_new - m_ctx.Quant) * (quant_new - GetCurQP(picType, layer)) > + 0) // this check is actual for async scheme + { + //printf(" Update QP %d: totalDiviation %f, bAbPreriod %f (%f), QP %d (%d %d), qp_new %d (qpY %d), type %d, dequant_new %f (%f) , m_ctx.fAbLong %f, m_par.inputBitsPerFrame %f (%f)\n", frame_par->EncodedOrder, totDiv, bAbPreriod, GetAbPeriodCoeff(m_ctx.encOrder - m_ctx.LastIEncOrder, m_par.gopPicSize), m_ctx.Quant, m_ctx.QuantMin, m_ctx.QuantMax, quant_new, qpY, picType, 1.0/dequant_new, 1.0/m_ctx.dQuantAb, m_ctx.fAbLong, m_par.inputBitsPerFrame, m_par.inputBitsPerFrame/m_ctx.fAbLong); + UpdateQPParams(quant_new, picType, m_ctx, 0, m_ctx.QuantMin, m_ctx.QuantMax, layer); + } + } + m_ctx.bToRecode = 0; + } + return sts; +} + +mfxStatus ExtBRC::GetFrameCtrl(mfxBRCFrameParam* par, mfxBRCFrameCtrl* ctrl) { + MFX_CHECK_NULL_PTR2(par, ctrl); + MFX_CHECK(m_bInit, MFX_ERR_NOT_INITIALIZED); + + mfxI32 qp = 0; + if (par->EncodedOrder == m_ctx.encOrder) { + qp = m_ctx.Quant; + } + else { + mfxU16 type = GetFrameType(par->FrameType, par->PyramidLayer, m_par.gopRefDist); + qp = GetCurQP(type, par->PyramidLayer); + } + ctrl->QpY = qp - m_par.quantOffset; + //printf("ctrl->QpY %d, qp %d quantOffset %d\n", ctrl->QpY , qp , m_par.quantOffset); + return MFX_ERR_NONE; +} + +mfxStatus ExtBRC::Reset(mfxVideoParam* par) { + mfxStatus sts = MFX_ERR_NONE; + MFX_CHECK_NULL_PTR1(par); + MFX_CHECK(m_bInit, MFX_ERR_NOT_INITIALIZED); + + mfxExtEncoderResetOption* pRO = + (mfxExtEncoderResetOption*)Hevc_GetExtBuffer(par->ExtParam, + par->NumExtParam, + MFX_EXTBUFF_ENCODER_RESET_OPTION); + if (pRO && pRO->StartNewSequence == MFX_CODINGOPTION_ON) { + Close(); + sts = Init(par); + } + else { + bool brcReset = false; + bool slidingWindowReset = false; + + sts = m_par.GetBRCResetType(par, false, brcReset, slidingWindowReset); + MFX_CHECK_STS(sts); + + if (brcReset) { + sts = m_par.Init(par); + MFX_CHECK_STS(sts); + + m_ctx.Quant = (mfxI32)( + 1. / m_ctx.dQuantAb * pow(m_ctx.fAbLong / m_par.inputBitsPerFrame, 0.32) + 0.5); + m_ctx.Quant = mfx::clamp(m_ctx.Quant, m_par.quantMinI, m_par.quantMaxI); + + UpdateQPParams(m_ctx.Quant, + MFX_FRAMETYPE_I, + m_ctx, + 0, + m_par.quantMinI, + m_par.quantMaxI, + 0); + + m_ctx.dQuantAb = 1. / m_ctx.Quant; + m_ctx.fAbLong = m_par.inputBitsPerFrame; + m_ctx.fAbShort = m_par.inputBitsPerFrame; + + if (slidingWindowReset) { + m_avg.reset( + new AVGBitrate(m_par.WinBRCSize, + (mfxU32)(m_par.WinBRCMaxAvgKbps * 1000.0 / m_par.frameRate), + (mfxU32)m_par.inputBitsPerFrame)); + MFX_CHECK_NULL_PTR1(m_avg.get()); + } + } + } + return sts; +} + +#endif diff --git a/tools/legacy/sample_common/src/d3d11_allocator.cpp b/tools/legacy/sample_common/src/d3d11_allocator.cpp new file mode 100644 index 00000000..4bd48e78 --- /dev/null +++ b/tools/legacy/sample_common/src/d3d11_allocator.cpp @@ -0,0 +1,565 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#if defined(_WIN32) || defined(_WIN64) + + #include "sample_defs.h" + + #if MFX_D3D11_SUPPORT + + #include + #include + #include + #include + #include + #include + #include "d3d11_allocator.h" + + #define D3DFMT_NV12 (DXGI_FORMAT) MAKEFOURCC('N', 'V', '1', '2') + #define D3DFMT_YV12 (DXGI_FORMAT) MAKEFOURCC('Y', 'V', '1', '2') + +//for generating sequence of mfx handles +template +struct sequence { + T x; + sequence(T seed) : x(seed) {} +}; + +template <> +struct sequence { + mfxHDL x; + sequence(mfxHDL seed) : x(seed) {} + + mfxHDL operator()() { + mfxHDL y = x; + x = (mfxHDL)(1 + (size_t)(x)); + return y; + } +}; + +D3D11FrameAllocator::D3D11FrameAllocator() : m_initParams(), m_pDeviceContext(NULL), m_memIdMap() {} + +D3D11FrameAllocator::~D3D11FrameAllocator() { + Close(); +} + +D3D11FrameAllocator::TextureSubResource D3D11FrameAllocator::GetResourceFromMid(mfxMemId mid) { + size_t index = (size_t)MFXReadWriteMid(mid).raw() - 1; + + if (m_memIdMap.size() <= index) + return TextureSubResource(); + + //reverse iterator dereferencing + TextureResource *p = &(*m_memIdMap[index]); + if (!p->bAlloc) + return TextureSubResource(); + + return TextureSubResource(p, mid); +} + +mfxStatus D3D11FrameAllocator::Init(mfxAllocatorParams *pParams) { + D3D11AllocatorParams *pd3d11Params = 0; + pd3d11Params = dynamic_cast(pParams); + + if (NULL == pd3d11Params || NULL == pd3d11Params->pDevice) { + return MFX_ERR_NOT_INITIALIZED; + } + + m_initParams = *pd3d11Params; + MSDK_SAFE_RELEASE(m_pDeviceContext); + pd3d11Params->pDevice->GetImmediateContext(&m_pDeviceContext); + + return MFX_ERR_NONE; +} + +mfxStatus D3D11FrameAllocator::Close() { + mfxStatus sts = BaseFrameAllocator::Close(); + for (referenceType i = m_resourcesByRequest.begin(); i != m_resourcesByRequest.end(); i++) { + i->Release(); + } + m_resourcesByRequest.clear(); + m_memIdMap.clear(); + MSDK_SAFE_RELEASE(m_pDeviceContext); + return sts; +} + +mfxStatus D3D11FrameAllocator::LockFrame(mfxMemId mid, mfxFrameData *ptr) { + HRESULT hRes = S_OK; + + D3D11_TEXTURE2D_DESC desc = { 0 }; + D3D11_MAPPED_SUBRESOURCE lockedRect = { 0 }; + + //check that texture exists + TextureSubResource sr = GetResourceFromMid(mid); + if (!sr.GetTexture()) + return MFX_ERR_LOCK_MEMORY; + + D3D11_MAP mapType = D3D11_MAP_READ; + UINT mapFlags = D3D11_MAP_FLAG_DO_NOT_WAIT; + { + if (NULL == sr.GetStaging()) { + hRes = m_pDeviceContext->Map(sr.GetTexture(), + sr.GetSubResource(), + D3D11_MAP_READ, + D3D11_MAP_FLAG_DO_NOT_WAIT, + &lockedRect); + desc.Format = DXGI_FORMAT_P8; + } + else { + sr.GetTexture()->GetDesc(&desc); + + if (DXGI_FORMAT_NV12 != desc.Format && DXGI_FORMAT_420_OPAQUE != desc.Format && + DXGI_FORMAT_YUY2 != desc.Format && DXGI_FORMAT_P8 != desc.Format && + DXGI_FORMAT_B8G8R8A8_UNORM != desc.Format && DXGI_FORMAT_R16_UINT != desc.Format && + DXGI_FORMAT_R16_UNORM != desc.Format && + DXGI_FORMAT_R10G10B10A2_UNORM != desc.Format && + DXGI_FORMAT_R16G16B16A16_UNORM != desc.Format && DXGI_FORMAT_P010 != desc.Format && + DXGI_FORMAT_AYUV != desc.Format + #if (MFX_VERSION >= 1027) + && DXGI_FORMAT_Y210 != desc.Format && DXGI_FORMAT_Y410 != desc.Format + #endif + #if (MFX_VERSION >= 1031) + && DXGI_FORMAT_P016 != desc.Format && DXGI_FORMAT_Y216 != desc.Format && + DXGI_FORMAT_Y416 != desc.Format + #endif + ) { + return MFX_ERR_LOCK_MEMORY; + } + + //coping data only in case user wants to read from stored surface + { + if (MFXReadWriteMid(mid, MFXReadWriteMid::reuse).isRead()) { + m_pDeviceContext->CopySubresourceRegion(sr.GetStaging(), + 0, + 0, + 0, + 0, + sr.GetTexture(), + sr.GetSubResource(), + NULL); + } + + do { + hRes = + m_pDeviceContext->Map(sr.GetStaging(), 0, mapType, mapFlags, &lockedRect); + if (S_OK != hRes && DXGI_ERROR_WAS_STILL_DRAWING != hRes) { + msdk_printf(MSDK_STRING("ERROR: m_pDeviceContext->Map = 0x%08lx\n"), hRes); + } + } while (DXGI_ERROR_WAS_STILL_DRAWING == hRes); + } + } + } + + if (FAILED(hRes)) + return MFX_ERR_LOCK_MEMORY; + + switch (desc.Format) { + case DXGI_FORMAT_P010: + #if (MFX_VERSION >= 1031) + case DXGI_FORMAT_P016: + #endif + case DXGI_FORMAT_NV12: + ptr->Pitch = (mfxU16)lockedRect.RowPitch; + ptr->Y = (mfxU8 *)lockedRect.pData; + ptr->U = (mfxU8 *)lockedRect.pData + desc.Height * lockedRect.RowPitch; + ptr->V = (desc.Format == DXGI_FORMAT_P010) ? ptr->U + 2 : ptr->U + 1; + break; + + case DXGI_FORMAT_420_OPAQUE: // can be unsupported by standard ms guid + ptr->Pitch = (mfxU16)lockedRect.RowPitch; + ptr->Y = (mfxU8 *)lockedRect.pData; + ptr->V = ptr->Y + desc.Height * lockedRect.RowPitch; + ptr->U = ptr->V + (desc.Height * lockedRect.RowPitch) / 4; + + break; + + case DXGI_FORMAT_YUY2: + ptr->Pitch = (mfxU16)lockedRect.RowPitch; + ptr->Y = (mfxU8 *)lockedRect.pData; + ptr->U = ptr->Y + 1; + ptr->V = ptr->Y + 3; + + break; + + case DXGI_FORMAT_P8: + ptr->Pitch = (mfxU16)lockedRect.RowPitch; + ptr->Y = (mfxU8 *)lockedRect.pData; + ptr->U = 0; + ptr->V = 0; + + break; + + case DXGI_FORMAT_AYUV: + ptr->Pitch = (mfxU16)lockedRect.RowPitch; + ptr->V = (mfxU8 *)lockedRect.pData; + ptr->U = ptr->V + 1; + ptr->Y = ptr->V + 2; + ptr->A = ptr->V + 3; + break; + + case DXGI_FORMAT_B8G8R8A8_UNORM: + ptr->Pitch = (mfxU16)lockedRect.RowPitch; + ptr->B = (mfxU8 *)lockedRect.pData; + ptr->G = ptr->B + 1; + ptr->R = ptr->B + 2; + ptr->A = ptr->B + 3; + + break; + case DXGI_FORMAT_R10G10B10A2_UNORM: + ptr->Pitch = (mfxU16)lockedRect.RowPitch; + ptr->B = (mfxU8 *)lockedRect.pData; + ptr->G = ptr->B + 1; + ptr->R = ptr->B + 2; + ptr->A = ptr->B + 3; + + break; + case DXGI_FORMAT_R16G16B16A16_UNORM: + ptr->V16 = (mfxU16 *)lockedRect.pData; + ptr->U16 = ptr->V16 + 1; + ptr->Y16 = ptr->V16 + 2; + ptr->A = (mfxU8 *)(ptr->V16 + 3); + ptr->PitchHigh = (mfxU16)((mfxU32)lockedRect.RowPitch / (1 << 16)); + ptr->PitchLow = (mfxU16)((mfxU32)lockedRect.RowPitch % (1 << 16)); + break; + case DXGI_FORMAT_R16_UNORM: + case DXGI_FORMAT_R16_UINT: + ptr->Pitch = (mfxU16)lockedRect.RowPitch; + ptr->Y16 = (mfxU16 *)lockedRect.pData; + ptr->U16 = 0; + ptr->V16 = 0; + + break; + #if (MFX_VERSION >= 1031) + case DXGI_FORMAT_Y416: + ptr->PitchHigh = (mfxU16)(lockedRect.RowPitch / (1 << 16)); + ptr->PitchLow = (mfxU16)(lockedRect.RowPitch % (1 << 16)); + ptr->U16 = (mfxU16 *)lockedRect.pData; + ptr->Y16 = ptr->U16 + 1; + ptr->V16 = ptr->Y16 + 1; + ptr->A = (mfxU8 *)(ptr->V16 + 1); + break; + case DXGI_FORMAT_Y216: + #endif + #if (MFX_VERSION >= 1027) + case DXGI_FORMAT_Y210: + ptr->PitchHigh = (mfxU16)(lockedRect.RowPitch / (1 << 16)); + ptr->PitchLow = (mfxU16)(lockedRect.RowPitch % (1 << 16)); + ptr->Y16 = (mfxU16 *)lockedRect.pData; + ptr->U16 = ptr->Y16 + 1; + ptr->V16 = ptr->Y16 + 3; + + break; + + case DXGI_FORMAT_Y410: + ptr->PitchHigh = (mfxU16)(lockedRect.RowPitch / (1 << 16)); + ptr->PitchLow = (mfxU16)(lockedRect.RowPitch % (1 << 16)); + ptr->Y410 = (mfxY410 *)lockedRect.pData; + ptr->Y = 0; + ptr->V = 0; + ptr->A = 0; + + break; + #endif + + default: + + return MFX_ERR_LOCK_MEMORY; + } + + return MFX_ERR_NONE; +} + +mfxStatus D3D11FrameAllocator::UnlockFrame(mfxMemId mid, mfxFrameData *ptr) { + //check that texture exists + TextureSubResource sr = GetResourceFromMid(mid); + if (!sr.GetTexture()) + return MFX_ERR_LOCK_MEMORY; + + if (NULL == sr.GetStaging()) { + m_pDeviceContext->Unmap(sr.GetTexture(), sr.GetSubResource()); + } + else { + m_pDeviceContext->Unmap(sr.GetStaging(), 0); + //only if user wrote something to texture + if (MFXReadWriteMid(mid, MFXReadWriteMid::reuse).isWrite()) { + m_pDeviceContext->CopySubresourceRegion(sr.GetTexture(), + sr.GetSubResource(), + 0, + 0, + 0, + sr.GetStaging(), + 0, + NULL); + } + } + + if (ptr) { + ptr->Pitch = 0; + ptr->U = ptr->V = ptr->Y = 0; + ptr->A = ptr->R = ptr->G = ptr->B = 0; + } + + return MFX_ERR_NONE; +} + +mfxStatus D3D11FrameAllocator::GetFrameHDL(mfxMemId mid, mfxHDL *handle) { + if (NULL == handle) + return MFX_ERR_INVALID_HANDLE; + + TextureSubResource sr = GetResourceFromMid(mid); + + if (!sr.GetTexture()) + return MFX_ERR_INVALID_HANDLE; + + mfxHDLPair *pPair = (mfxHDLPair *)handle; + + pPair->first = sr.GetTexture(); + pPair->second = (mfxHDL)(UINT_PTR)sr.GetSubResource(); + + return MFX_ERR_NONE; +} + +mfxStatus D3D11FrameAllocator::CheckRequestType(mfxFrameAllocRequest *request) { + mfxStatus sts = BaseFrameAllocator::CheckRequestType(request); + if (MFX_ERR_NONE != sts) + return sts; + + if ((request->Type & (MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET | + MFX_MEMTYPE_VIDEO_MEMORY_PROCESSOR_TARGET)) != 0) + return MFX_ERR_NONE; + else + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus D3D11FrameAllocator::ReleaseResponse(mfxFrameAllocResponse *response) { + if (NULL == response) + return MFX_ERR_NULL_PTR; + + if (response->mids && 0 != response->NumFrameActual) { + //check whether texture exsist + TextureSubResource sr = GetResourceFromMid(response->mids[0]); + + if (!sr.GetTexture()) + return MFX_ERR_NULL_PTR; + + sr.Release(); + + //if texture is last it is possible to remove also all handles from map to reduce fragmentation + //search for allocated chunk + if (m_resourcesByRequest.end() == std::find_if(m_resourcesByRequest.begin(), + m_resourcesByRequest.end(), + TextureResource::isAllocated)) { + m_resourcesByRequest.clear(); + m_memIdMap.clear(); + } + } + + return MFX_ERR_NONE; +} + +mfxStatus D3D11FrameAllocator::ReallocImpl(mfxMemId /*mid*/, + const mfxFrameInfo *info, + mfxU16 /*memType*/, + mfxMemId *midOut) { + if (!info || !midOut) + return MFX_ERR_NULL_PTR; + + //TODO: Need add implementation in the future. + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus D3D11FrameAllocator::AllocImpl(mfxFrameAllocRequest *request, + mfxFrameAllocResponse *response) { + HRESULT hRes; + + DXGI_FORMAT colorFormat = ConverColortFormat(request->Info.FourCC); + + if (DXGI_FORMAT_UNKNOWN == colorFormat) { + msdk_printf(MSDK_STRING("D3D11 Allocator: invalid fourcc is provided (%#X), exitting\n"), + request->Info.FourCC); + return MFX_ERR_UNSUPPORTED; + } + + TextureResource newTexture; + + if (request->Info.FourCC == MFX_FOURCC_P8) { + D3D11_BUFFER_DESC desc = { 0 }; + + desc.ByteWidth = request->Info.Width * request->Info.Height; + desc.Usage = D3D11_USAGE_STAGING; + desc.BindFlags = 0; + desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; + desc.MiscFlags = 0; + desc.StructureByteStride = 0; + + ID3D11Buffer *buffer = 0; + hRes = m_initParams.pDevice->CreateBuffer(&desc, 0, &buffer); + if (FAILED(hRes)) + return MFX_ERR_MEMORY_ALLOC; + + newTexture.textures.push_back(reinterpret_cast(buffer)); + } + else { + D3D11_TEXTURE2D_DESC desc = { 0 }; + + desc.Width = request->Info.Width; + desc.Height = request->Info.Height; + + desc.MipLevels = 1; + //number of subresources is 1 in case of not single texture + desc.ArraySize = m_initParams.bUseSingleTexture ? request->NumFrameSuggested : 1; + desc.Format = ConverColortFormat(request->Info.FourCC); + desc.SampleDesc.Count = 1; + desc.Usage = D3D11_USAGE_DEFAULT; + desc.MiscFlags = m_initParams.uncompressedResourceMiscFlags | D3D11_RESOURCE_MISC_SHARED; + #if (MFX_VERSION >= 1025) + if ((request->Type & MFX_MEMTYPE_VIDEO_MEMORY_ENCODER_TARGET) && + (request->Type & MFX_MEMTYPE_INTERNAL_FRAME)) { + desc.BindFlags = D3D11_BIND_DECODER | D3D11_BIND_VIDEO_ENCODER; + } + else + #endif + desc.BindFlags = D3D11_BIND_DECODER; + + if ((MFX_MEMTYPE_FROM_VPPIN & request->Type) && (DXGI_FORMAT_YUY2 == desc.Format) || + (DXGI_FORMAT_B8G8R8A8_UNORM == desc.Format) || + (DXGI_FORMAT_R10G10B10A2_UNORM == desc.Format) || + (DXGI_FORMAT_R16G16B16A16_UNORM == desc.Format)) { + desc.BindFlags = D3D11_BIND_RENDER_TARGET; + if (desc.ArraySize > 2) + return MFX_ERR_MEMORY_ALLOC; + } + + if ((MFX_MEMTYPE_FROM_VPPOUT & request->Type) || + (MFX_MEMTYPE_VIDEO_MEMORY_PROCESSOR_TARGET & request->Type)) { + desc.BindFlags = D3D11_BIND_RENDER_TARGET; + if (desc.ArraySize > 2) + return MFX_ERR_MEMORY_ALLOC; + } + + if (request->Type & MFX_MEMTYPE_SHARED_RESOURCE) { + desc.BindFlags |= D3D11_BIND_SHADER_RESOURCE; + desc.MiscFlags = D3D11_RESOURCE_MISC_SHARED; + } + + if (DXGI_FORMAT_P8 == desc.Format) { + desc.BindFlags = 0; + } + + ID3D11Texture2D *pTexture2D; + + for (size_t i = 0; i < request->NumFrameSuggested / desc.ArraySize; i++) { + hRes = m_initParams.pDevice->CreateTexture2D(&desc, NULL, &pTexture2D); + + if (FAILED(hRes)) { + msdk_printf(MSDK_STRING("CreateTexture2D(%lld) failed, hr = 0x%08lx\n"), + (long long)i, + hRes); + return MFX_ERR_MEMORY_ALLOC; + } + newTexture.textures.push_back(pTexture2D); + } + + desc.ArraySize = 1; + desc.Usage = D3D11_USAGE_STAGING; + desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; + desc.BindFlags = 0; + desc.MiscFlags = 0; + + for (size_t i = 0; i < request->NumFrameSuggested; i++) { + hRes = m_initParams.pDevice->CreateTexture2D(&desc, NULL, &pTexture2D); + + if (FAILED(hRes)) { + msdk_printf(MSDK_STRING("Create staging texture(%lld) failed hr = 0x%X\n"), + (long long)i, + (unsigned int)hRes); + return MFX_ERR_MEMORY_ALLOC; + } + newTexture.stagingTexture.push_back(pTexture2D); + } + } + + // mapping to self created handles array, starting from zero or from last assigned handle + 1 + sequence seq_initializer( + m_resourcesByRequest.empty() ? 0 : m_resourcesByRequest.back().outerMids.back()); + + //incrementing starting index + //1. 0(NULL) is invalid memid + //2. back is last index not new one + seq_initializer(); + + std::generate_n(std::back_inserter(newTexture.outerMids), + request->NumFrameSuggested, + seq_initializer); + + //saving texture resources + m_resourcesByRequest.push_back(newTexture); + + //providing pointer to mids externally + response->mids = &m_resourcesByRequest.back().outerMids.front(); + response->NumFrameActual = request->NumFrameSuggested; + + //iterator prior end() + std::list::iterator it_last = m_resourcesByRequest.end(); + //fill map + std::fill_n(std::back_inserter(m_memIdMap), request->NumFrameSuggested, --it_last); + + return MFX_ERR_NONE; +} + +DXGI_FORMAT D3D11FrameAllocator::ConverColortFormat(mfxU32 fourcc) { + switch (fourcc) { + case MFX_FOURCC_NV12: + return DXGI_FORMAT_NV12; + + case MFX_FOURCC_YUY2: + return DXGI_FORMAT_YUY2; + + case MFX_FOURCC_RGB4: + return DXGI_FORMAT_B8G8R8A8_UNORM; + + case MFX_FOURCC_P8: + case MFX_FOURCC_P8_TEXTURE: + return DXGI_FORMAT_P8; + + case MFX_FOURCC_ARGB16: + case MFX_FOURCC_ABGR16: + return DXGI_FORMAT_R16G16B16A16_UNORM; + + case MFX_FOURCC_P010: + return DXGI_FORMAT_P010; + + case MFX_FOURCC_A2RGB10: + return DXGI_FORMAT_R10G10B10A2_UNORM; + + case DXGI_FORMAT_AYUV: + case MFX_FOURCC_AYUV: + return DXGI_FORMAT_AYUV; + + #if (MFX_VERSION >= 1027) + case MFX_FOURCC_Y210: + return DXGI_FORMAT_Y210; + case MFX_FOURCC_Y410: + return DXGI_FORMAT_Y410; + #endif + #if (MFX_VERSION >= 1031) + case MFX_FOURCC_P016: + return DXGI_FORMAT_P016; + case MFX_FOURCC_Y216: + return DXGI_FORMAT_Y216; + case MFX_FOURCC_Y416: + return DXGI_FORMAT_Y416; + #endif + + default: + return DXGI_FORMAT_UNKNOWN; + } +} + + #endif // #if MFX_D3D11_SUPPORT +#endif // #if defined(_WIN32) || defined(_WIN64) diff --git a/tools/legacy/sample_common/src/d3d11_device.cpp b/tools/legacy/sample_common/src/d3d11_device.cpp new file mode 100644 index 00000000..6869301e --- /dev/null +++ b/tools/legacy/sample_common/src/d3d11_device.cpp @@ -0,0 +1,362 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#if defined(_WIN32) || defined(_WIN64) + + #include "sample_defs.h" + + #if MFX_D3D11_SUPPORT + + #include "d3d11_device.h" + +CD3D11Device::CD3D11Device() + : m_nViews(0), + m_bDefaultStereoEnabled(FALSE), + m_bIsA2rgb10(FALSE), + m_HandleWindow(NULL) {} + +CD3D11Device::~CD3D11Device() { + Close(); +} + +mfxStatus CD3D11Device::FillSCD(mfxHDL hWindow, DXGI_SWAP_CHAIN_DESC &scd) { + scd.Windowed = TRUE; + scd.OutputWindow = (HWND)hWindow; + scd.SampleDesc.Count = 1; + scd.BufferDesc.Format = + (m_bIsA2rgb10) ? DXGI_FORMAT_R10G10B10A2_UNORM : DXGI_FORMAT_B8G8R8A8_UNORM; + scd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + scd.BufferCount = 1; + + return MFX_ERR_NONE; +} + +mfxStatus CD3D11Device::FillSCD1(DXGI_SWAP_CHAIN_DESC1 &scd1) { + scd1.Width = 0; // Use automatic sizing. + scd1.Height = 0; + scd1.Format = (m_bIsA2rgb10) ? DXGI_FORMAT_R10G10B10A2_UNORM : DXGI_FORMAT_B8G8R8A8_UNORM; + scd1.Stereo = m_nViews == 2 ? TRUE : FALSE; + scd1.SampleDesc.Count = 1; // Don't use multi-sampling. + scd1.SampleDesc.Quality = 0; + scd1.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + scd1.BufferCount = 2; // Use double buffering to minimize latency. + scd1.Scaling = DXGI_SCALING_STRETCH; + scd1.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; + scd1.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH; + + return MFX_ERR_NONE; +} + +mfxStatus CD3D11Device::Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNum) { + m_HandleWindow = (HWND)hWindow; + mfxStatus sts = MFX_ERR_NONE; + HRESULT hres = S_OK; + m_nViews = nViews; + if (2 < nViews) + return MFX_ERR_UNSUPPORTED; + m_bDefaultStereoEnabled = FALSE; + + static D3D_FEATURE_LEVEL FeatureLevels[] = { D3D_FEATURE_LEVEL_11_1, + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_1, + D3D_FEATURE_LEVEL_10_0 }; + D3D_FEATURE_LEVEL pFeatureLevelsOut; + + hres = CreateDXGIFactory(__uuidof(IDXGIFactory2), (void **)(&m_pDXGIFactory)); + if (FAILED(hres)) + return MFX_ERR_DEVICE_FAILED; + + if (m_nViews == 2) { + hres = m_pDXGIFactory->QueryInterface(__uuidof(IDXGIDisplayControl), + (void **)&m_pDisplayControl); + if (FAILED(hres)) + return MFX_ERR_DEVICE_FAILED; + + m_bDefaultStereoEnabled = m_pDisplayControl->IsStereoEnabled(); + if (!m_bDefaultStereoEnabled) + m_pDisplayControl->SetStereoEnabled(TRUE); + } + + hres = m_pDXGIFactory->EnumAdapters(nAdapterNum, &m_pAdapter); + if (FAILED(hres)) + return MFX_ERR_DEVICE_FAILED; + + hres = D3D11CreateDevice(m_pAdapter, + D3D_DRIVER_TYPE_UNKNOWN, + NULL, + 0, + FeatureLevels, + MSDK_ARRAY_LEN(FeatureLevels), + D3D11_SDK_VERSION, + &m_pD3D11Device, + &pFeatureLevelsOut, + &m_pD3D11Ctx); + + if (FAILED(hres)) + return MFX_ERR_DEVICE_FAILED; + + m_pDXGIDev = m_pD3D11Device; + m_pDX11VideoDevice = m_pD3D11Device; + m_pVideoContext = m_pD3D11Ctx; + + MSDK_CHECK_POINTER(m_pDXGIDev.p, MFX_ERR_NULL_PTR); + MSDK_CHECK_POINTER(m_pDX11VideoDevice.p, MFX_ERR_NULL_PTR); + MSDK_CHECK_POINTER(m_pVideoContext.p, MFX_ERR_NULL_PTR); + + // turn on multithreading for the Context + CComQIPtr p_mt(m_pVideoContext); + + if (p_mt) + p_mt->SetMultithreadProtected(true); + else + return MFX_ERR_DEVICE_FAILED; + + // create swap chain only for rendering use case (hWindow != 0) + if (hWindow) { + MSDK_CHECK_POINTER(m_pDXGIFactory.p, MFX_ERR_NULL_PTR); + DXGI_SWAP_CHAIN_DESC1 swapChainDesc = { 0 }; + + sts = FillSCD1(swapChainDesc); + MSDK_CHECK_STATUS(sts, "FillSCD1 failed"); + + hres = m_pDXGIFactory->CreateSwapChainForHwnd( + m_pD3D11Device, + (HWND)hWindow, + &swapChainDesc, + NULL, + NULL, + reinterpret_cast(&m_pSwapChain)); + if (FAILED(hres)) + return MFX_ERR_DEVICE_FAILED; + } + + return sts; +} + +mfxStatus CD3D11Device::CreateVideoProcessor(mfxFrameSurface1 *pSrf) { + HRESULT hres = S_OK; + + if (m_VideoProcessorEnum.p || NULL == pSrf) + return MFX_ERR_NONE; + + //create video processor + D3D11_VIDEO_PROCESSOR_CONTENT_DESC ContentDesc; + MSDK_ZERO_MEMORY(ContentDesc); + + ContentDesc.InputFrameFormat = D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE; + ContentDesc.InputFrameRate.Numerator = 30000; + ContentDesc.InputFrameRate.Denominator = 1000; + ContentDesc.InputWidth = pSrf->Info.CropW; + ContentDesc.InputHeight = pSrf->Info.CropH; + ContentDesc.OutputWidth = pSrf->Info.CropW; + ContentDesc.OutputHeight = pSrf->Info.CropH; + ContentDesc.OutputFrameRate.Numerator = 30000; + ContentDesc.OutputFrameRate.Denominator = 1000; + + ContentDesc.Usage = D3D11_VIDEO_USAGE_PLAYBACK_NORMAL; + + hres = m_pDX11VideoDevice->CreateVideoProcessorEnumerator(&ContentDesc, &m_VideoProcessorEnum); + if (FAILED(hres)) + return MFX_ERR_DEVICE_FAILED; + + hres = m_pDX11VideoDevice->CreateVideoProcessor(m_VideoProcessorEnum, 0, &m_pVideoProcessor); + if (FAILED(hres)) + return MFX_ERR_DEVICE_FAILED; + + return MFX_ERR_NONE; +} + +mfxStatus CD3D11Device::Reset() { + // Changing video mode back to the original state + if (2 == m_nViews && !m_bDefaultStereoEnabled) + m_pDisplayControl->SetStereoEnabled(FALSE); + + MSDK_CHECK_POINTER(m_pDXGIFactory.p, MFX_ERR_NULL_PTR); + DXGI_SWAP_CHAIN_DESC1 swapChainDesc = { 0 }; + + mfxStatus sts = FillSCD1(swapChainDesc); + MSDK_CHECK_STATUS(sts, "FillSCD1 failed"); + + HRESULT hres = S_OK; + hres = + m_pDXGIFactory->CreateSwapChainForHwnd(m_pD3D11Device, + (HWND)m_HandleWindow, + &swapChainDesc, + NULL, + NULL, + reinterpret_cast(&m_pSwapChain)); + + if (FAILED(hres)) { + if (swapChainDesc.Stereo) { + MSDK_PRINT_RET_MSG( + MFX_ERR_DEVICE_FAILED, + "Cannot create swap chain required for rendering. Possibly stereo mode is not supported."); + } + else { + MSDK_PRINT_RET_MSG(MFX_ERR_DEVICE_FAILED, + "Cannot create swap chain required for rendering."); + } + + return MFX_ERR_DEVICE_FAILED; + } + return MFX_ERR_NONE; +} + +mfxStatus CD3D11Device::GetHandle(mfxHandleType type, mfxHDL *pHdl) { + if (MFX_HANDLE_D3D11_DEVICE == type) { + *pHdl = m_pD3D11Device.p; + return MFX_ERR_NONE; + } + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus CD3D11Device::SetHandle(mfxHandleType type, mfxHDL hdl) { + if (MFX_HANDLE_DEVICEWINDOW == type && hdl != NULL) //for render window handle + { + m_HandleWindow = (HWND)hdl; + return MFX_ERR_NONE; + } + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus CD3D11Device::RenderFrame(mfxFrameSurface1 *pSrf, mfxFrameAllocator *pAlloc) { + HRESULT hres = S_OK; + mfxStatus sts; + + sts = CreateVideoProcessor(pSrf); + MSDK_CHECK_STATUS(sts, "CreateVideoProcessor failed"); + + hres = m_pSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (void **)&m_pDXGIBackBuffer.p); + if (FAILED(hres)) + return MFX_ERR_DEVICE_FAILED; + + D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC OutputViewDesc; + if (2 == m_nViews) { + m_pVideoContext->VideoProcessorSetStreamStereoFormat( + m_pVideoProcessor, + 0, + TRUE, + D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE, + TRUE, + TRUE, + D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE, + NULL); + m_pVideoContext->VideoProcessorSetOutputStereoMode(m_pVideoProcessor, TRUE); + + OutputViewDesc.ViewDimension = D3D11_VPOV_DIMENSION_TEXTURE2DARRAY; + OutputViewDesc.Texture2DArray.ArraySize = 2; + OutputViewDesc.Texture2DArray.MipSlice = 0; + OutputViewDesc.Texture2DArray.FirstArraySlice = 0; + } + else { + OutputViewDesc.ViewDimension = D3D11_VPOV_DIMENSION_TEXTURE2D; + OutputViewDesc.Texture2D.MipSlice = 0; + } + + if (1 == m_nViews || 0 == pSrf->Info.FrameId.ViewId) { + hres = m_pDX11VideoDevice->CreateVideoProcessorOutputView(m_pDXGIBackBuffer, + m_VideoProcessorEnum, + &OutputViewDesc, + &m_pOutputView.p); + if (FAILED(hres)) + return MFX_ERR_DEVICE_FAILED; + } + + D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC InputViewDesc; + InputViewDesc.FourCC = 0; + InputViewDesc.ViewDimension = D3D11_VPIV_DIMENSION_TEXTURE2D; + InputViewDesc.Texture2D.MipSlice = 0; + InputViewDesc.Texture2D.ArraySlice = 0; + + mfxHDLPair pair = { NULL }; + sts = pAlloc->GetHDL(pAlloc->pthis, pSrf->Data.MemId, (mfxHDL *)&pair); + MSDK_CHECK_STATUS(sts, "pAlloc->GetHDL failed"); + + ID3D11Texture2D *pRTTexture2D = reinterpret_cast(pair.first); + D3D11_TEXTURE2D_DESC RTTexture2DDesc; + + if (!m_pTempTexture && m_nViews == 2) { + pRTTexture2D->GetDesc(&RTTexture2DDesc); + hres = m_pD3D11Device->CreateTexture2D(&RTTexture2DDesc, NULL, &m_pTempTexture.p); + if (FAILED(hres)) + return MFX_ERR_DEVICE_FAILED; + } + + // Creating input views for left and righ eyes + if (1 == m_nViews) { + hres = m_pDX11VideoDevice->CreateVideoProcessorInputView(pRTTexture2D, + m_VideoProcessorEnum, + &InputViewDesc, + &m_pInputViewLeft.p); + } + else if (2 == m_nViews && 0 == pSrf->Info.FrameId.ViewId) { + m_pD3D11Ctx->CopyResource(m_pTempTexture, pRTTexture2D); + hres = m_pDX11VideoDevice->CreateVideoProcessorInputView(m_pTempTexture, + m_VideoProcessorEnum, + &InputViewDesc, + &m_pInputViewLeft.p); + } + else { + hres = m_pDX11VideoDevice->CreateVideoProcessorInputView(pRTTexture2D, + m_VideoProcessorEnum, + &InputViewDesc, + &m_pInputViewRight.p); + } + if (FAILED(hres)) + return MFX_ERR_DEVICE_FAILED; + + // NV12 surface to RGB backbuffer + RECT rect = { 0 }; + rect.right = pSrf->Info.CropW; + rect.bottom = pSrf->Info.CropH; + + D3D11_VIDEO_PROCESSOR_STREAM StreamData; + + if (1 == m_nViews || pSrf->Info.FrameId.ViewId == 1) { + StreamData.Enable = TRUE; + StreamData.OutputIndex = 0; + StreamData.InputFrameOrField = 0; + StreamData.PastFrames = 0; + StreamData.FutureFrames = 0; + StreamData.ppPastSurfaces = NULL; + StreamData.ppFutureSurfaces = NULL; + StreamData.pInputSurface = m_pInputViewLeft; + StreamData.ppPastSurfacesRight = NULL; + StreamData.ppFutureSurfacesRight = NULL; + StreamData.pInputSurfaceRight = m_nViews == 2 ? m_pInputViewRight : NULL; + + m_pVideoContext->VideoProcessorSetStreamSourceRect(m_pVideoProcessor, 0, true, &rect); + m_pVideoContext->VideoProcessorSetStreamFrameFormat(m_pVideoProcessor, + 0, + D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE); + hres = + m_pVideoContext->VideoProcessorBlt(m_pVideoProcessor, m_pOutputView, 0, 1, &StreamData); + if (FAILED(hres)) + return MFX_ERR_DEVICE_FAILED; + } + + if (1 == m_nViews || 1 == pSrf->Info.FrameId.ViewId) { + DXGI_PRESENT_PARAMETERS parameters = { 0 }; + hres = m_pSwapChain->Present1(0, 0, ¶meters); + if (FAILED(hres)) + return MFX_ERR_DEVICE_FAILED; + } + + return MFX_ERR_NONE; +} + +void CD3D11Device::Close() { + // Changing video mode back to the original state + if (2 == m_nViews && !m_bDefaultStereoEnabled) + m_pDisplayControl->SetStereoEnabled(FALSE); + + m_HandleWindow = NULL; +} + + #endif // #if MFX_D3D11_SUPPORT +#endif // #if defined(_WIN32) || defined(_WIN64) diff --git a/tools/legacy/sample_common/src/d3d_allocator.cpp b/tools/legacy/sample_common/src/d3d_allocator.cpp new file mode 100644 index 00000000..c6936257 --- /dev/null +++ b/tools/legacy/sample_common/src/d3d_allocator.cpp @@ -0,0 +1,462 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" +#include "sample_defs.h" + +#if defined(_WIN32) || defined(_WIN64) + + #include + #include + #include + #include + + #include "d3d_allocator.h" + + #define D3DFMT_NV12 (D3DFORMAT) MAKEFOURCC('N', 'V', '1', '2') + #define D3DFMT_YV12 (D3DFORMAT) MAKEFOURCC('Y', 'V', '1', '2') + #define D3DFMT_NV16 (D3DFORMAT) MAKEFOURCC('N', 'V', '1', '6') + #define D3DFMT_P010 (D3DFORMAT) MAKEFOURCC('P', '0', '1', '0') + #define D3DFMT_P210 (D3DFORMAT) MAKEFOURCC('P', '2', '1', '0') + #define D3DFMT_IMC3 (D3DFORMAT) MAKEFOURCC('I', 'M', 'C', '3') + #define D3DFMT_AYUV (D3DFORMAT) MAKEFOURCC('A', 'Y', 'U', 'V') + #if (MFX_VERSION >= 1027) + #define D3DFMT_Y210 (D3DFORMAT) MAKEFOURCC('Y', '2', '1', '0') + #define D3DFMT_Y410 (D3DFORMAT) MAKEFOURCC('Y', '4', '1', '0') + #endif + #if (MFX_VERSION >= 1031) + #define D3DFMT_P016 (D3DFORMAT) MAKEFOURCC('P', '0', '1', '6') + #define D3DFMT_Y216 (D3DFORMAT) MAKEFOURCC('Y', '2', '1', '6') + #define D3DFMT_Y416 (D3DFORMAT) MAKEFOURCC('Y', '4', '1', '6') + #endif + + #define MFX_FOURCC_IMC3 \ + (MFX_MAKEFOURCC('I', \ + 'M', \ + 'C', \ + '3')) // This line should be moved into mfxstructures.h in new API version + +D3DFORMAT ConvertMfxFourccToD3dFormat(mfxU32 fourcc) { + switch (fourcc) { + case MFX_FOURCC_NV12: + return D3DFMT_NV12; + case MFX_FOURCC_YV12: + return D3DFMT_YV12; + case MFX_FOURCC_NV16: + return D3DFMT_NV16; + case MFX_FOURCC_YUY2: + return D3DFMT_YUY2; + case MFX_FOURCC_RGB3: + return D3DFMT_R8G8B8; + case MFX_FOURCC_RGB4: + return D3DFMT_A8R8G8B8; + case MFX_FOURCC_P8: + return D3DFMT_P8; + case MFX_FOURCC_P010: + return D3DFMT_P010; + case MFX_FOURCC_AYUV: + return D3DFMT_AYUV; + case MFX_FOURCC_P210: + return D3DFMT_P210; + #if (MFX_VERSION >= 1027) + case MFX_FOURCC_Y210: + return D3DFMT_Y210; + case MFX_FOURCC_Y410: + return D3DFMT_Y410; + #endif + #if (MFX_VERSION >= 1031) + case MFX_FOURCC_P016: + return D3DFMT_P016; + case MFX_FOURCC_Y216: + return D3DFMT_Y216; + case MFX_FOURCC_Y416: + return D3DFMT_Y416; + #endif + case MFX_FOURCC_A2RGB10: + return D3DFMT_A2R10G10B10; + case MFX_FOURCC_ABGR16: + case MFX_FOURCC_ARGB16: + return D3DFMT_A16B16G16R16; + case MFX_FOURCC_IMC3: + return D3DFMT_IMC3; + default: + return D3DFMT_UNKNOWN; + } +} + +D3DFrameAllocator::D3DFrameAllocator() + : m_decoderService(0), + m_processorService(0), + m_hDecoder(0), + m_hProcessor(0), + m_manager(0), + m_surfaceUsage(0), + m_midsAllocated() {} + +D3DFrameAllocator::~D3DFrameAllocator() { + Close(); + for (unsigned i = 0; i < m_midsAllocated.size(); i++) + MSDK_SAFE_FREE(m_midsAllocated[i]); +} + +mfxStatus D3DFrameAllocator::Init(mfxAllocatorParams *pParams) { + D3DAllocatorParams *pd3dParams = 0; + pd3dParams = dynamic_cast(pParams); + if (!pd3dParams) + return MFX_ERR_NOT_INITIALIZED; + + m_manager = pd3dParams->pManager; + m_surfaceUsage = pd3dParams->surfaceUsage; + + return MFX_ERR_NONE; +} + +mfxStatus D3DFrameAllocator::Close() { + if (m_manager && m_hDecoder) { + m_manager->CloseDeviceHandle(m_hDecoder); + m_manager = 0; + m_hDecoder = 0; + } + + if (m_manager && m_hProcessor) { + m_manager->CloseDeviceHandle(m_hProcessor); + m_manager = 0; + m_hProcessor = 0; + } + + return BaseFrameAllocator::Close(); +} + +mfxStatus D3DFrameAllocator::LockFrame(mfxMemId mid, mfxFrameData *ptr) { + if (!ptr || !mid) + return MFX_ERR_NULL_PTR; + + mfxHDLPair *dxmid = (mfxHDLPair *)mid; + IDirect3DSurface9 *pSurface = static_cast(dxmid->first); + if (pSurface == 0) + return MFX_ERR_INVALID_HANDLE; + + D3DSURFACE_DESC desc; + HRESULT hr = pSurface->GetDesc(&desc); + if (FAILED(hr)) + return MFX_ERR_LOCK_MEMORY; + + if (desc.Format != D3DFMT_NV12 && desc.Format != D3DFMT_YV12 && desc.Format != D3DFMT_YUY2 && + desc.Format != D3DFMT_R8G8B8 && desc.Format != D3DFMT_A8R8G8B8 && + desc.Format != D3DFMT_P8 && desc.Format != D3DFMT_P010 && + desc.Format != D3DFMT_A2R10G10B10 && desc.Format != D3DFMT_A16B16G16R16 && + desc.Format != D3DFMT_IMC3 && desc.Format != D3DFMT_AYUV + #if (MFX_VERSION >= 1027) + && desc.Format != D3DFMT_Y210 + #endif + #if (MFX_VERSION >= 1031) + && desc.Format != D3DFMT_P016 && desc.Format != D3DFMT_Y216 && desc.Format != D3DFMT_Y410 && + desc.Format != D3DFMT_Y416 + #endif + ) + return MFX_ERR_LOCK_MEMORY; + + D3DLOCKED_RECT locked; + + hr = pSurface->LockRect(&locked, 0, D3DLOCK_NOSYSLOCK); + if (FAILED(hr)) + return MFX_ERR_LOCK_MEMORY; + + switch ((DWORD)desc.Format) { + case D3DFMT_NV12: + case D3DFMT_P010: + #if (MFX_VERSION >= 1031) + case D3DFMT_P016: + #endif + ptr->Pitch = (mfxU16)locked.Pitch; + ptr->Y = (mfxU8 *)locked.pBits; + ptr->U = (mfxU8 *)locked.pBits + desc.Height * locked.Pitch; + ptr->V = (desc.Format == D3DFMT_P010) ? ptr->U + 2 : ptr->U + 1; + break; + case D3DFMT_YV12: + ptr->Pitch = (mfxU16)locked.Pitch; + ptr->Y = (mfxU8 *)locked.pBits; + ptr->V = ptr->Y + desc.Height * locked.Pitch; + ptr->U = ptr->V + (desc.Height * locked.Pitch) / 4; + break; + case D3DFMT_YUY2: + ptr->Pitch = (mfxU16)locked.Pitch; + ptr->Y = (mfxU8 *)locked.pBits; + ptr->U = ptr->Y + 1; + ptr->V = ptr->Y + 3; + break; + case D3DFMT_R8G8B8: + ptr->Pitch = (mfxU16)locked.Pitch; + ptr->B = (mfxU8 *)locked.pBits; + ptr->G = ptr->B + 1; + ptr->R = ptr->B + 2; + break; + case D3DFMT_A8R8G8B8: + case D3DFMT_A2R10G10B10: + ptr->Pitch = (mfxU16)locked.Pitch; + ptr->B = (mfxU8 *)locked.pBits; + ptr->G = ptr->B + 1; + ptr->R = ptr->B + 2; + ptr->A = ptr->B + 3; + break; + case D3DFMT_P8: + ptr->Pitch = (mfxU16)locked.Pitch; + ptr->Y = (mfxU8 *)locked.pBits; + ptr->U = 0; + ptr->V = 0; + break; + case D3DFMT_A16B16G16R16: + ptr->V16 = (mfxU16 *)locked.pBits; + ptr->U16 = ptr->V16 + 1; + ptr->Y16 = ptr->V16 + 2; + ptr->A = (mfxU8 *)(ptr->V16 + 3); + ptr->PitchHigh = (mfxU16)((mfxU32)locked.Pitch / (1 << 16)); + ptr->PitchLow = (mfxU16)((mfxU32)locked.Pitch % (1 << 16)); + break; + case D3DFMT_IMC3: + ptr->Pitch = (mfxU16)locked.Pitch; + ptr->Y = (mfxU8 *)locked.pBits; + ptr->V = ptr->Y + desc.Height * locked.Pitch; + ptr->U = ptr->Y + desc.Height * locked.Pitch * 2; + break; + case D3DFMT_AYUV: + ptr->Pitch = (mfxU16)locked.Pitch; + ptr->V = (mfxU8 *)locked.pBits; + ptr->U = ptr->V + 1; + ptr->Y = ptr->V + 2; + ptr->A = ptr->V + 3; + break; + #if (MFX_VERSION >= 1031) + case D3DFMT_Y416: + ptr->Pitch = (mfxU16)locked.Pitch; + ptr->U16 = (mfxU16 *)locked.pBits; + ptr->Y16 = ptr->U16 + 1; + ptr->V16 = ptr->Y16 + 1; + ptr->A = (mfxU8 *)(ptr->V16 + 1); + break; + case D3DFMT_Y216: + #endif + #if (MFX_VERSION >= 1027) + case D3DFMT_Y210: + ptr->Pitch = (mfxU16)locked.Pitch; + ptr->Y16 = (mfxU16 *)locked.pBits; + ptr->U16 = ptr->Y16 + 1; + ptr->V16 = ptr->Y16 + 3; + break; + case D3DFMT_Y410: + ptr->Pitch = (mfxU16)locked.Pitch; + ptr->Y410 = (mfxY410 *)locked.pBits; + ptr->Y = 0; + ptr->V = 0; + ptr->A = 0; + break; + #endif + } + + return MFX_ERR_NONE; +} + +mfxStatus D3DFrameAllocator::UnlockFrame(mfxMemId mid, mfxFrameData *ptr) { + if (!mid) + return MFX_ERR_NULL_PTR; + + mfxHDLPair *dxmid = (mfxHDLPair *)mid; + IDirect3DSurface9 *pSurface = static_cast(dxmid->first); + if (pSurface == 0) + return MFX_ERR_INVALID_HANDLE; + + pSurface->UnlockRect(); + + if (NULL != ptr) { + ptr->Pitch = 0; + ptr->Y = 0; + ptr->U = 0; + ptr->V = 0; + } + + return MFX_ERR_NONE; +} + +mfxStatus D3DFrameAllocator::GetFrameHDL(mfxMemId mid, mfxHDL *handle) { + if (!mid || !handle) + return MFX_ERR_NULL_PTR; + + mfxHDLPair *dxMid = (mfxHDLPair *)mid; + *handle = dxMid->first; + return MFX_ERR_NONE; +} + +mfxStatus D3DFrameAllocator::CheckRequestType(mfxFrameAllocRequest *request) { + mfxStatus sts = BaseFrameAllocator::CheckRequestType(request); + if (MFX_ERR_NONE != sts) + return sts; + + if ((request->Type & (MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET | + MFX_MEMTYPE_VIDEO_MEMORY_PROCESSOR_TARGET)) != 0) + return MFX_ERR_NONE; + else + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus D3DFrameAllocator::ReleaseResponse(mfxFrameAllocResponse *response) { + if (!response) + return MFX_ERR_NULL_PTR; + + mfxStatus sts = MFX_ERR_NONE; + + if (response->mids) { + for (mfxU32 i = 0; i < response->NumFrameActual; i++) { + if (response->mids[i]) { + mfxHDLPair *dxMids = (mfxHDLPair *)response->mids[i]; + if (dxMids->first) { + static_cast(dxMids->first)->Release(); + } + MSDK_SAFE_FREE(dxMids); + } + } + } + + return sts; +} + +mfxStatus D3DFrameAllocator::ReallocImpl(mfxMemId /*mid*/, + const mfxFrameInfo *info, + mfxU16 /*memType*/, + mfxMemId *midOut) { + if (!info || !midOut) + return MFX_ERR_NULL_PTR; + + //TODO: Need add implementation in the future. + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus D3DFrameAllocator::AllocImpl(mfxFrameAllocRequest *request, + mfxFrameAllocResponse *response) { + HRESULT hr; + + MSDK_CHECK_POINTER(request, MFX_ERR_NULL_PTR); + if (request->NumFrameSuggested == 0) + return MFX_ERR_UNKNOWN; + + D3DFORMAT format = ConvertMfxFourccToD3dFormat(request->Info.FourCC); + + if (format == D3DFMT_UNKNOWN) { + msdk_printf(MSDK_STRING("D3D Allocator: invalid fourcc is provided (%#X), exitting\n"), + request->Info.FourCC); + return MFX_ERR_UNSUPPORTED; + } + + DWORD target; + + if (MFX_MEMTYPE_DXVA2_DECODER_TARGET & request->Type) { + target = DXVA2_VideoDecoderRenderTarget; + } + else if (MFX_MEMTYPE_DXVA2_PROCESSOR_TARGET & request->Type) { + target = DXVA2_VideoProcessorRenderTarget; + } + else + return MFX_ERR_UNSUPPORTED; + + IDirectXVideoAccelerationService *videoService = NULL; + + if (target == DXVA2_VideoProcessorRenderTarget) { + if (!m_hProcessor) { + hr = m_manager->OpenDeviceHandle(&m_hProcessor); + if (FAILED(hr)) + return MFX_ERR_MEMORY_ALLOC; + + hr = m_manager->GetVideoService(m_hProcessor, + IID_IDirectXVideoProcessorService, + (void **)&m_processorService); + if (FAILED(hr)) + return MFX_ERR_MEMORY_ALLOC; + } + videoService = m_processorService; + } + else { + if (!m_hDecoder) { + hr = m_manager->OpenDeviceHandle(&m_hDecoder); + if (FAILED(hr)) + return MFX_ERR_MEMORY_ALLOC; + + hr = m_manager->GetVideoService(m_hDecoder, + IID_IDirectXVideoDecoderService, + (void **)&m_decoderService); + if (FAILED(hr)) + return MFX_ERR_MEMORY_ALLOC; + } + videoService = m_decoderService; + } + + mfxHDLPair **dxMidPtrs = + (mfxHDLPair **)calloc(request->NumFrameSuggested, sizeof(mfxHDLPair *)); + if (!dxMidPtrs) + return MFX_ERR_MEMORY_ALLOC; + + for (int i = 0; i < request->NumFrameSuggested; i++) { + dxMidPtrs[i] = (mfxHDLPair *)calloc(1, sizeof(mfxHDLPair)); + if (!dxMidPtrs[i]) { + DeallocateMids(dxMidPtrs, i); + return MFX_ERR_MEMORY_ALLOC; + } + } + + response->mids = (mfxMemId *)dxMidPtrs; + response->NumFrameActual = request->NumFrameSuggested; + + if (request->Type & MFX_MEMTYPE_EXTERNAL_FRAME) { + for (int i = 0; i < request->NumFrameSuggested; i++) { + hr = videoService->CreateSurface(request->Info.Width, + request->Info.Height, + 0, + format, + D3DPOOL_DEFAULT, + m_surfaceUsage, + target, + (IDirect3DSurface9 **)&dxMidPtrs[i]->first, + &dxMidPtrs[i]->second); + if (FAILED(hr)) { + ReleaseResponse(response); + return MFX_ERR_MEMORY_ALLOC; + } + } + } + else { + std::unique_ptr dxSrf( + new (std::nothrow) IDirect3DSurface9 *[request->NumFrameSuggested]); + if (!dxSrf.get()) { + DeallocateMids(dxMidPtrs, request->NumFrameSuggested); + return MFX_ERR_MEMORY_ALLOC; + } + hr = videoService->CreateSurface(request->Info.Width, + request->Info.Height, + request->NumFrameSuggested - 1, + format, + D3DPOOL_DEFAULT, + m_surfaceUsage, + target, + dxSrf.get(), + NULL); + if (FAILED(hr)) { + DeallocateMids(dxMidPtrs, request->NumFrameSuggested); + return MFX_ERR_MEMORY_ALLOC; + } + + for (int i = 0; i < request->NumFrameSuggested; i++) { + dxMidPtrs[i]->first = dxSrf[i]; + } + } + m_midsAllocated.push_back(dxMidPtrs); + return MFX_ERR_NONE; +} + +void D3DFrameAllocator::DeallocateMids(mfxHDLPair **pair, int n) { + for (int i = 0; i < n; i++) { + MSDK_SAFE_FREE(pair[i]); + } + MSDK_SAFE_FREE(pair); +} +#endif // #if defined(_WIN32) || defined(_WIN64) diff --git a/tools/legacy/sample_common/src/d3d_device.cpp b/tools/legacy/sample_common/src/d3d_device.cpp new file mode 100644 index 00000000..cd0b94e2 --- /dev/null +++ b/tools/legacy/sample_common/src/d3d_device.cpp @@ -0,0 +1,368 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include +#include "mfx_samples_config.h" + +#if defined(_WIN32) || defined(_WIN64) + + //prefast singnature used in combaseapi.h + #ifndef _PREFAST_ + #pragma warning(disable : 4068) + #endif + + #include "d3d_allocator.h" + #include "d3d_device.h" + #include "sample_defs.h" + + #include "atlbase.h" + +CD3D9Device::CD3D9Device() { + m_pD3D9 = NULL; + m_pD3DD9 = NULL; + m_pDeviceManager9 = NULL; + MSDK_ZERO_MEMORY(m_D3DPP); + m_resetToken = 0; + + m_nViews = 0; + + MSDK_ZERO_MEMORY(m_backBufferDesc); + m_pDXVAVPS = NULL; + m_pDXVAVP_Left = NULL; + m_pDXVAVP_Right = NULL; + + MSDK_ZERO_MEMORY(m_targetRect); + + MSDK_ZERO_MEMORY(m_VideoDesc); + MSDK_ZERO_MEMORY(m_BltParams); + MSDK_ZERO_MEMORY(m_Sample); + + // Initialize DXVA structures + + DXVA2_AYUVSample16 color = { + 0x8000, // Cr + 0x8000, // Cb + 0x1000, // Y + 0xffff // Alpha + }; + + DXVA2_ExtendedFormat format = { + // DestFormat + DXVA2_SampleProgressiveFrame, // SampleFormat + DXVA2_VideoChromaSubsampling_MPEG2, // VideoChromaSubsampling + DXVA_NominalRange_0_255, // NominalRange + DXVA2_VideoTransferMatrix_BT709, // VideoTransferMatrix + DXVA2_VideoLighting_bright, // VideoLighting + DXVA2_VideoPrimaries_BT709, // VideoPrimaries + DXVA2_VideoTransFunc_709 // VideoTransferFunction + }; + + // init m_VideoDesc structure + MSDK_MEMCPY_VAR(m_VideoDesc.SampleFormat, &format, sizeof(DXVA2_ExtendedFormat)); + m_VideoDesc.SampleWidth = 0; + m_VideoDesc.SampleHeight = 0; + m_VideoDesc.InputSampleFreq.Numerator = 60; + m_VideoDesc.InputSampleFreq.Denominator = 1; + m_VideoDesc.OutputFrameFreq.Numerator = 60; + m_VideoDesc.OutputFrameFreq.Denominator = 1; + + // init m_BltParams structure + MSDK_MEMCPY_VAR(m_BltParams.DestFormat, &format, sizeof(DXVA2_ExtendedFormat)); + MSDK_MEMCPY_VAR(m_BltParams.BackgroundColor, &color, sizeof(DXVA2_AYUVSample16)); + + // init m_Sample structure + m_Sample.Start = 0; + m_Sample.End = 1; + m_Sample.SampleFormat = format; + m_Sample.PlanarAlpha.Fraction = 0; + m_Sample.PlanarAlpha.Value = 1; + + m_bIsA2rgb10 = FALSE; +} + +bool CD3D9Device::CheckOverlaySupport() { + D3DCAPS9 d3d9caps; + D3DOVERLAYCAPS d3doverlaycaps = { 0 }; + IDirect3D9ExOverlayExtension *d3d9overlay = NULL; + bool overlaySupported = false; + + memset(&d3d9caps, 0, sizeof(d3d9caps)); + HRESULT hr = m_pD3D9->GetDeviceCaps(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, &d3d9caps); + if (FAILED(hr) || !(d3d9caps.Caps & D3DCAPS_OVERLAY)) { + overlaySupported = false; + } + else { + hr = m_pD3D9->QueryInterface(IID_PPV_ARGS(&d3d9overlay)); + if (FAILED(hr) || (d3d9overlay == NULL)) { + overlaySupported = false; + } + else { + hr = d3d9overlay->CheckDeviceOverlayType(D3DADAPTER_DEFAULT, + D3DDEVTYPE_HAL, + m_D3DPP.BackBufferWidth, + m_D3DPP.BackBufferHeight, + m_D3DPP.BackBufferFormat, + NULL, + D3DDISPLAYROTATION_IDENTITY, + &d3doverlaycaps); + MSDK_SAFE_RELEASE(d3d9overlay); + + if (FAILED(hr)) { + overlaySupported = false; + } + else { + overlaySupported = true; + } + } + } + + return overlaySupported; +} + +mfxStatus CD3D9Device::FillD3DPP(mfxHDL hWindow, mfxU16 nViews, D3DPRESENT_PARAMETERS &D3DPP) { + mfxStatus sts = MFX_ERR_NONE; + + D3DPP.Windowed = true; + D3DPP.hDeviceWindow = (HWND)hWindow; + + D3DPP.Flags = D3DPRESENTFLAG_VIDEO; + D3DPP.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT; + D3DPP.PresentationInterval = + D3DPRESENT_INTERVAL_IMMEDIATE; // note that this setting leads to an implicit timeBeginPeriod call + D3DPP.BackBufferCount = 1; + D3DPP.BackBufferFormat = (m_bIsA2rgb10) ? D3DFMT_A2R10G10B10 : D3DFMT_X8R8G8B8; + + if (hWindow) { + RECT r; + GetClientRect((HWND)hWindow, &r); + int x = GetSystemMetrics(SM_CXSCREEN); + int y = GetSystemMetrics(SM_CYSCREEN); + D3DPP.BackBufferWidth = std::min(r.right - r.left, x); + D3DPP.BackBufferHeight = std::min(r.bottom - r.top, y); + } + else { + D3DPP.BackBufferWidth = GetSystemMetrics(SM_CYSCREEN); + D3DPP.BackBufferHeight = GetSystemMetrics(SM_CYSCREEN); + } + // + // Mark the back buffer lockable if software DXVA2 could be used. + // This is because software DXVA2 device requires a lockable render target + // for the optimal performance. + // + { D3DPP.Flags |= D3DPRESENTFLAG_LOCKABLE_BACKBUFFER; } + + bool isOverlaySupported = CheckOverlaySupport(); + if (2 == nViews && !isOverlaySupported) + return MFX_ERR_UNSUPPORTED; + + bool needOverlay = (2 == nViews) ? true : false; + + D3DPP.SwapEffect = needOverlay ? D3DSWAPEFFECT_OVERLAY : D3DSWAPEFFECT_DISCARD; + + return sts; +} + +mfxStatus CD3D9Device::Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNum) { + mfxStatus sts = MFX_ERR_NONE; + + if (2 < nViews) + return MFX_ERR_UNSUPPORTED; + + m_nViews = nViews; + + HRESULT hr = Direct3DCreate9Ex(D3D_SDK_VERSION, &m_pD3D9); + if (!m_pD3D9 || FAILED(hr)) + return MFX_ERR_DEVICE_FAILED; + + ZeroMemory(&m_D3DPP, sizeof(m_D3DPP)); + sts = FillD3DPP(hWindow, nViews, m_D3DPP); + MSDK_CHECK_STATUS(sts, "FillD3DPP failed"); + + hr = m_pD3D9->CreateDeviceEx( + nAdapterNum, + D3DDEVTYPE_HAL, + (HWND)hWindow, + D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED | D3DCREATE_FPU_PRESERVE, + &m_D3DPP, + NULL, + &m_pD3DD9); + if (FAILED(hr)) + return MFX_ERR_NULL_PTR; + + if (hWindow) { + hr = m_pD3DD9->ResetEx(&m_D3DPP, NULL); + if (FAILED(hr)) + return MFX_ERR_UNDEFINED_BEHAVIOR; + hr = m_pD3DD9->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0); + if (FAILED(hr)) + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + UINT resetToken = 0; + + hr = DXVA2CreateDirect3DDeviceManager9(&resetToken, &m_pDeviceManager9); + if (FAILED(hr)) + return MFX_ERR_NULL_PTR; + + hr = m_pDeviceManager9->ResetDevice(m_pD3DD9, resetToken); + if (FAILED(hr)) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + m_resetToken = resetToken; + + return sts; +} + +mfxStatus CD3D9Device::Reset() { + HRESULT hr = NO_ERROR; + MSDK_CHECK_POINTER(m_pD3DD9, MFX_ERR_NULL_PTR); + + if (m_D3DPP.hDeviceWindow) { + RECT r; + hr = GetClientRect((HWND)m_D3DPP.hDeviceWindow, &r); + if (FAILED(hr)) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + int x = GetSystemMetrics(SM_CXSCREEN); + int y = GetSystemMetrics(SM_CYSCREEN); + m_D3DPP.BackBufferWidth = std::min(r.right - r.left, x); + m_D3DPP.BackBufferHeight = std::min(r.bottom - r.top, y); + + // Reset will change the parameters, so use a copy instead. + D3DPRESENT_PARAMETERS d3dpp = m_D3DPP; + hr = m_pD3DD9->ResetEx(&d3dpp, NULL); + if (FAILED(hr)) + return MFX_ERR_UNDEFINED_BEHAVIOR; + } + else { + m_D3DPP.BackBufferWidth = GetSystemMetrics(SM_CXSCREEN); + m_D3DPP.BackBufferHeight = GetSystemMetrics(SM_CYSCREEN); + } + + hr = m_pDeviceManager9->ResetDevice(m_pD3DD9, m_resetToken); + if (FAILED(hr)) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + return MFX_ERR_NONE; +} + +void CD3D9Device::Close() { + MSDK_SAFE_RELEASE(m_pDXVAVP_Left); + MSDK_SAFE_RELEASE(m_pDXVAVP_Right); + MSDK_SAFE_RELEASE(m_pDXVAVPS); + + MSDK_SAFE_RELEASE(m_pDeviceManager9); + MSDK_SAFE_RELEASE(m_pD3DD9); + MSDK_SAFE_RELEASE(m_pD3D9); +} + +CD3D9Device::~CD3D9Device() { + Close(); +} + +mfxStatus CD3D9Device::GetHandle(mfxHandleType type, mfxHDL *pHdl) { + if (MFX_HANDLE_DIRECT3D_DEVICE_MANAGER9 == type && pHdl != NULL) { + *pHdl = m_pDeviceManager9; + + return MFX_ERR_NONE; + } + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus CD3D9Device::SetHandle(mfxHandleType type, mfxHDL hdl) { + if (MFX_HANDLE_DEVICEWINDOW == type && hdl != NULL) //for render window handle + { + m_D3DPP.hDeviceWindow = (HWND)hdl; + return MFX_ERR_NONE; + } + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus CD3D9Device::RenderFrame(mfxFrameSurface1 *pSurface, mfxFrameAllocator *pmfxAlloc) { + HRESULT hr = S_OK; + + // Rendering of MVC is not supported + if (2 == m_nViews) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + MSDK_CHECK_POINTER(pSurface, MFX_ERR_NULL_PTR); + MSDK_CHECK_POINTER(m_pDeviceManager9, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_POINTER(pmfxAlloc, MFX_ERR_NULL_PTR); + + hr = m_pD3DD9->TestCooperativeLevel(); + + switch (hr) { + case D3D_OK: + break; + + case D3DERR_DEVICELOST: { + return MFX_ERR_DEVICE_LOST; + } + + case D3DERR_DEVICENOTRESET: { + return MFX_ERR_UNKNOWN; + } + + default: { + return MFX_ERR_UNKNOWN; + } + } + + CComPtr pBackBuffer; + hr = m_pD3DD9->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &pBackBuffer); + + mfxHDLPair *dxMemId = (mfxHDLPair *)pSurface->Data.MemId; + + hr = m_pD3DD9->StretchRect((IDirect3DSurface9 *)dxMemId->first, + NULL, + pBackBuffer, + NULL, + D3DTEXF_LINEAR); + if (FAILED(hr)) { + return MFX_ERR_UNKNOWN; + } + + if (SUCCEEDED(hr)) { + hr = m_pD3DD9->Present(NULL, NULL, NULL, NULL); + } + + return SUCCEEDED(hr) ? MFX_ERR_NONE : MFX_ERR_DEVICE_FAILED; +} + +mfxStatus CD3D9Device::CreateVideoProcessors() { + if (2 == m_nViews) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + MSDK_SAFE_RELEASE(m_pDXVAVP_Left); + MSDK_SAFE_RELEASE(m_pDXVAVP_Right); + + HRESULT hr; + + ZeroMemory(&m_backBufferDesc, sizeof(m_backBufferDesc)); + IDirect3DSurface9 *backBufferTmp = NULL; + hr = m_pD3DD9->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &backBufferTmp); + if (NULL != backBufferTmp) + backBufferTmp->GetDesc(&m_backBufferDesc); + MSDK_SAFE_RELEASE(backBufferTmp); + + if (SUCCEEDED(hr)) { + // Create DXVA2 Video Processor Service. + hr = DXVA2CreateVideoService(m_pD3DD9, + IID_IDirectXVideoProcessorService, + (void **)&m_pDXVAVPS); + } + + if (SUCCEEDED(hr)) { + hr = m_pDXVAVPS->CreateVideoProcessor(DXVA2_VideoProcProgressiveDevice, + &m_VideoDesc, + m_D3DPP.BackBufferFormat, + 1, + &m_pDXVAVP_Right); + } + + return SUCCEEDED(hr) ? MFX_ERR_NONE : MFX_ERR_DEVICE_FAILED; +} + +#endif // #if defined(WIN32) || defined(WIN64) diff --git a/tools/legacy/sample_common/src/decode_render.cpp b/tools/legacy/sample_common/src/decode_render.cpp new file mode 100644 index 00000000..a17954b5 --- /dev/null +++ b/tools/legacy/sample_common/src/decode_render.cpp @@ -0,0 +1,333 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#if defined(_WIN32) || defined(_WIN64) + + #include + #include + #include + + #include "decode_render.h" + #include "sample_defs.h" + #include "winUser.h" + #pragma warning(disable : 4100) + +bool CDecodeD3DRender::m_bIsMonitorFound = false; + +LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { + #ifdef _WIN64 + CDecodeD3DRender* pRender = (CDecodeD3DRender*)GetWindowLongPtr(hWnd, GWLP_USERDATA); + #else + CDecodeD3DRender* pRender = (CDecodeD3DRender*)LongToPtr(GetWindowLongPtr(hWnd, GWL_USERDATA)); + #endif + if (pRender) { + switch (message) { + HANDLE_MSG(hWnd, WM_DESTROY, pRender->OnDestroy); + HANDLE_MSG(hWnd, WM_KEYUP, pRender->OnKey); + } + } + + return DefWindowProc(hWnd, message, wParam, lParam); +} + +CDecodeD3DRender::CDecodeD3DRender() { + m_bDwmEnabled = false; + m_nMonitorCurrent = 0; + + m_hwdev = NULL; + MSDK_ZERO_MEMORY(m_sWindowParams); + m_Hwnd = 0; + MSDK_ZERO_MEMORY(m_rect); + m_style = 0; + + MSDK_ZERO_MEMORY(shiftedSurface); + MSDK_ZERO_MEMORY(shiftSurfaceResponse); + pAllocator = NULL; +} + +BOOL CALLBACK CDecodeD3DRender::MonitorEnumProc(HMONITOR /*hMonitor*/, + HDC /*hdcMonitor*/, + LPRECT lprcMonitor, + LPARAM dwData) { + CDecodeD3DRender* pRender = reinterpret_cast(dwData); + RECT r = { 0 }; + if (NULL == lprcMonitor) + lprcMonitor = &r; + + if (pRender->m_nMonitorCurrent++ == pRender->m_sWindowParams.nAdapter) { + pRender->m_RectWindow = *lprcMonitor; + m_bIsMonitorFound = true; + } + return TRUE; +} + +CDecodeD3DRender::~CDecodeD3DRender() { + Close(); +} + +void CDecodeD3DRender::Close() { + if (m_Hwnd) { + DestroyWindow(m_Hwnd); + m_Hwnd = NULL; + } + + if (pAllocator) { + pAllocator->Free(pAllocator->pthis, &shiftSurfaceResponse); + pAllocator = NULL; + } +} + +mfxStatus CDecodeD3DRender::Init(sWindowParams pWParams) { + mfxStatus sts = MFX_ERR_NONE; + + // window part + m_sWindowParams = pWParams; + + WNDCLASS window; + MSDK_ZERO_MEMORY(window); + + window.lpfnWndProc = (WNDPROC)WindowProc; + window.hInstance = GetModuleHandle(NULL); + window.hCursor = LoadCursor(NULL, IDC_ARROW); + window.lpszClassName = m_sWindowParams.lpClassName; + + if (!RegisterClass(&window)) + return MFX_ERR_UNKNOWN; + + EnumDisplayMonitors(NULL, NULL, &CDecodeD3DRender::MonitorEnumProc, (LPARAM)this); + if (!m_bIsMonitorFound) + return MFX_ERR_NOT_FOUND; + + ::RECT displayRegion = { CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT }; + + //right and bottom fields consist of width and height values of displayed reqion + if (0 != m_sWindowParams.nx) { + displayRegion.right = (m_RectWindow.right - m_RectWindow.left) / m_sWindowParams.nx; + displayRegion.bottom = (m_RectWindow.bottom - m_RectWindow.top) / m_sWindowParams.ny; + displayRegion.left = + displayRegion.right * (m_sWindowParams.ncell % m_sWindowParams.nx) + m_RectWindow.left; + displayRegion.top = + displayRegion.bottom * (m_sWindowParams.ncell / m_sWindowParams.nx) + m_RectWindow.top; + } + else { + displayRegion.right = pWParams.nWidth; + displayRegion.bottom = pWParams.nHeight; + displayRegion.left = m_RectWindow.left; + displayRegion.top = m_RectWindow.top; + } + + //no title window style if required + DWORD dwStyle = NULL == m_sWindowParams.lpWindowName ? WS_POPUP | WS_BORDER | WS_MAXIMIZE + : WS_OVERLAPPEDWINDOW; + + m_Hwnd = CreateWindowEx( + NULL, + m_sWindowParams.lpClassName, + m_sWindowParams.lpWindowName, + !m_sWindowParams.bFullScreen ? dwStyle : (WS_POPUP), + !m_sWindowParams.bFullScreen ? displayRegion.left : 0, + !m_sWindowParams.bFullScreen ? displayRegion.top : 0, + !m_sWindowParams.bFullScreen ? displayRegion.right : GetSystemMetrics(SM_CXSCREEN), + !m_sWindowParams.bFullScreen ? displayRegion.bottom : GetSystemMetrics(SM_CYSCREEN), + m_sWindowParams.hWndParent, + m_sWindowParams.hMenu, + m_sWindowParams.hInstance, + m_sWindowParams.lpParam); + + if (!m_Hwnd) + return MFX_ERR_UNKNOWN; + + ShowWindow(m_Hwnd, SW_SHOWDEFAULT); + UpdateWindow(m_Hwnd); + + #ifdef _WIN64 + SetWindowLongPtr(m_Hwnd, GWLP_USERDATA, (LONG_PTR)this); + #else + SetWindowLong(m_Hwnd, GWL_USERDATA, PtrToLong(this)); + #endif + + m_hwdev->SetHandle((mfxHandleType)MFX_HANDLE_DEVICEWINDOW, m_Hwnd); + sts = m_hwdev->Reset(); + MSDK_CHECK_STATUS(sts, "m_hwdev->Reset failed"); + + return sts; +} + +mfxStatus CDecodeD3DRender::RenderFrame(mfxFrameSurface1* pSurface, mfxFrameAllocator* pmfxAlloc) { + RECT rect; + mfxStatus sts = MFX_ERR_NONE; + + GetClientRect(m_Hwnd, &rect); + + if (IsRectEmpty(&rect)) + return MFX_ERR_UNKNOWN; + + //--- In case of 10 bit surfaces and SW library we have to copy it and shift its data + if (pSurface->Info.FourCC == MFX_FOURCC_P010 && !pSurface->Info.Shift) { + sts = AllocateShiftedSurfaceIfNeeded(pSurface, pmfxAlloc); + MSDK_CHECK_STATUS(sts, "AllocateShiftedSurfaceIfNeeded failed"); + + sts = pAllocator->Lock(pAllocator->pthis, shiftedSurface.Data.MemId, &shiftedSurface.Data); + MSDK_CHECK_STATUS(sts, "pAllocator->Lock of shiftedSurface failed"); + sts = pAllocator->Lock(pAllocator->pthis, pSurface->Data.MemId, &pSurface->Data); + MSDK_CHECK_STATUS(sts, "pAllocator->Lock of pSurface failed"); + + int wordsNum = + pSurface->Data.Pitch * pSurface->Info.Height * 3 / 16; // Number of 8-byte words + mfxU64* pBuf = (mfxU64*)pSurface->Data.Y16; + mfxU64* pDestBuf = (mfxU64*)shiftedSurface.Data.Y16; + for (int i = 0; i < wordsNum; i++) { + pDestBuf[i] = (pBuf[i] << 6) & 0xFFC0FFC0FFC0FFC0; + } + sts = + pAllocator->Unlock(pAllocator->pthis, shiftedSurface.Data.MemId, &shiftedSurface.Data); + MSDK_CHECK_STATUS(sts, "pAllocator->Unlock of shiftedSurface failed"); + sts = pAllocator->Unlock(pAllocator->pthis, pSurface->Data.MemId, &pSurface->Data); + MSDK_CHECK_STATUS(sts, "pAllocator->Unlock of pSurface failed"); + + sts = m_hwdev->RenderFrame(&shiftedSurface, pmfxAlloc); + } + else { + sts = m_hwdev->RenderFrame(pSurface, pmfxAlloc); + } + MSDK_CHECK_STATUS(sts, "m_hwdev->RenderFrame failed"); + + return sts; +} + +HWND CDecodeD3DRender::GetWindowHandle() { + if (!m_Hwnd) { + EnumDisplayMonitors(NULL, NULL, &CDecodeD3DRender::MonitorEnumProc, (LPARAM)this); + POINT point = { m_RectWindow.left, m_RectWindow.top }; + m_Hwnd = WindowFromPoint(point); + m_nMonitorCurrent = 0; + m_bIsMonitorFound = false; + } + return m_Hwnd; +} + +VOID CDecodeD3DRender::UpdateTitle(double fps) { + if (m_Hwnd) { + MSG msg; + MSDK_ZERO_MEMORY(msg); + while (msg.message != WM_QUIT && PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + if (NULL != m_sWindowParams.lpWindowName) { + TCHAR str[20]; + _stprintf_s(str, 20, MSDK_STRING("fps=%.2lf"), fps); + + SetWindowText(m_Hwnd, str); + } + } +} + +VOID CDecodeD3DRender::OnDestroy(HWND /*hwnd*/) { + PostQuitMessage(0); +} + +VOID CDecodeD3DRender::OnKey(HWND hwnd, UINT vk, BOOL fDown, int cRepeat, UINT flags) { + if (TRUE == fDown) + return; + + if ('1' == vk && false == m_sWindowParams.bFullScreen) + ChangeWindowSize(true); + else if (true == m_sWindowParams.bFullScreen) + ChangeWindowSize(false); +} + +void CDecodeD3DRender::AdjustWindowRect(RECT* rect) { + int cxmax = GetSystemMetrics(SM_CXMAXIMIZED); + int cymax = GetSystemMetrics(SM_CYMAXIMIZED); + int cxmin = GetSystemMetrics(SM_CXMINTRACK); + int cymin = GetSystemMetrics(SM_CYMINTRACK); + int leftmax = cxmax - cxmin; + int topmax = cymax - cxmin; + if (rect->left < 0) + rect->left = 0; + if (rect->left > leftmax) + rect->left = leftmax; + if (rect->top < 0) + rect->top = 0; + if (rect->top > topmax) + rect->top = topmax; + + if (rect->right < rect->left + cxmin) + rect->right = rect->left + cxmin; + if (rect->right - rect->left > cxmax) + rect->right = rect->left + cxmax; + + if (rect->bottom < rect->top + cymin) + rect->bottom = rect->top + cymin; + if (rect->bottom - rect->top > cymax) + rect->bottom = rect->top + cymax; +} + +VOID CDecodeD3DRender::ChangeWindowSize(bool bFullScreen) { + HMONITOR hMonitor = MonitorFromWindow(m_Hwnd, MONITOR_DEFAULTTONEAREST); + MONITORINFOEX mi; + mi.cbSize = sizeof(mi); + GetMonitorInfo(hMonitor, &mi); + + WINDOWINFO wndInfo; + wndInfo.cbSize = sizeof(WINDOWINFO); + GetWindowInfo(m_Hwnd, &wndInfo); + + if (!m_sWindowParams.bFullScreen) { + m_rect = wndInfo.rcWindow; + m_style = wndInfo.dwStyle; + } + + m_sWindowParams.bFullScreen = bFullScreen; + + if (!bFullScreen) { + AdjustWindowRectEx(&m_rect, 0, 0, 0); + SetWindowLong(m_Hwnd, GWL_STYLE, m_style); + SetWindowPos(m_Hwnd, + HWND_NOTOPMOST, + m_rect.left, + m_rect.top, + abs(m_rect.right - m_rect.left), + abs(m_rect.bottom - m_rect.top), + SWP_SHOWWINDOW); + } + else { + SetWindowLong(m_Hwnd, GWL_STYLE, WS_POPUP); + SetWindowPos(m_Hwnd, + HWND_NOTOPMOST, + mi.rcMonitor.left, + mi.rcMonitor.top, + abs(mi.rcMonitor.left - mi.rcMonitor.right), + abs(mi.rcMonitor.top - mi.rcMonitor.bottom), + SWP_SHOWWINDOW); + } +} + +mfxStatus CDecodeD3DRender::AllocateShiftedSurfaceIfNeeded(const mfxFrameSurface1* refSurface, + mfxFrameAllocator* allocator) { + if (!pAllocator) { + mfxFrameAllocRequest request = {}; + request.AllocId = 0xF000; // Unique alloc ID + request.NumFrameMin = request.NumFrameSuggested = 1; + request.Info = refSurface->Info; + request.Type = MFX_MEMTYPE_EXTERNAL_FRAME | MFX_MEMTYPE_FROM_DECODE | + MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET; + + pAllocator = allocator; + mfxStatus sts = allocator->Alloc(allocator->pthis, &request, &shiftSurfaceResponse); + MSDK_CHECK_STATUS(sts, "Renderer: Shifted Surface allocation failed"); + + shiftedSurface.Data.MemId = shiftSurfaceResponse.mids[0]; + shiftedSurface.Info = request.Info; + } + return MFX_ERR_NONE; +} + +#endif // #if defined(_WIN32) || defined(_WIN64) diff --git a/tools/legacy/sample_common/src/general_allocator.cpp b/tools/legacy/sample_common/src/general_allocator.cpp new file mode 100644 index 00000000..a09a55e6 --- /dev/null +++ b/tools/legacy/sample_common/src/general_allocator.cpp @@ -0,0 +1,148 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#include "general_allocator.h" + +#if defined(_WIN32) || defined(_WIN64) + #include "d3d11_allocator.h" + #include "d3d_allocator.h" +#else + #include + #include "vaapi_allocator.h" +#endif + +#include "sysmem_allocator.h" + +#include "sample_defs.h" + +// Wrapper on standard allocator for concurrent allocation of +// D3D and system surfaces +GeneralAllocator::GeneralAllocator() : m_Mids(){}; +GeneralAllocator::~GeneralAllocator(){}; +mfxStatus GeneralAllocator::Init(mfxAllocatorParams *pParams) { + mfxStatus sts = MFX_ERR_NONE; + +#if defined(_WIN32) || defined(_WIN64) + D3DAllocatorParams *d3dAllocParams = dynamic_cast(pParams); + if (d3dAllocParams) + m_D3DAllocator.reset(new D3DFrameAllocator); + #if MFX_D3D11_SUPPORT + D3D11AllocatorParams *d3d11AllocParams = dynamic_cast(pParams); + if (d3d11AllocParams) + m_D3DAllocator.reset(new D3D11FrameAllocator); + #endif +#endif + +#ifdef LIBVA_SUPPORT + vaapiAllocatorParams *vaapiAllocParams = dynamic_cast(pParams); + if (vaapiAllocParams) + m_D3DAllocator.reset(new vaapiFrameAllocator); +#endif + + if (m_D3DAllocator.get()) { + sts = m_D3DAllocator.get()->Init(pParams); + MSDK_CHECK_STATUS(sts, "m_D3DAllocator.get failed"); + } + + m_SYSAllocator.reset(new SysMemFrameAllocator); + sts = m_SYSAllocator.get()->Init(0); + MSDK_CHECK_STATUS(sts, "m_SYSAllocator.get failed"); + + return sts; +} +mfxStatus GeneralAllocator::Close() { + mfxStatus sts = MFX_ERR_NONE; + if (m_D3DAllocator.get()) { + sts = m_D3DAllocator.get()->Close(); + MSDK_CHECK_STATUS(sts, "m_D3DAllocator.get failed"); + } + + sts = m_SYSAllocator.get()->Close(); + MSDK_CHECK_STATUS(sts, "m_SYSAllocator.get failed"); + + return sts; +} + +mfxStatus GeneralAllocator::LockFrame(mfxMemId mid, mfxFrameData *ptr) { + if (isD3DMid(mid) && m_D3DAllocator.get()) + return m_D3DAllocator.get()->Lock(m_D3DAllocator.get(), mid, ptr); + else + return m_SYSAllocator.get()->Lock(m_SYSAllocator.get(), mid, ptr); +} +mfxStatus GeneralAllocator::UnlockFrame(mfxMemId mid, mfxFrameData *ptr) { + if (isD3DMid(mid) && m_D3DAllocator.get()) + return m_D3DAllocator.get()->Unlock(m_D3DAllocator.get(), mid, ptr); + else + return m_SYSAllocator.get()->Unlock(m_SYSAllocator.get(), mid, ptr); +} + +mfxStatus GeneralAllocator::GetFrameHDL(mfxMemId mid, mfxHDL *handle) { + if (isD3DMid(mid) && m_D3DAllocator.get()) + return m_D3DAllocator.get()->GetHDL(m_D3DAllocator.get(), mid, handle); + else + return m_SYSAllocator.get()->GetHDL(m_SYSAllocator.get(), mid, handle); +} + +mfxStatus GeneralAllocator::ReleaseResponse(mfxFrameAllocResponse *response) { + // try to ReleaseResponse via D3D allocator + if (isD3DMid(response->mids[0]) && m_D3DAllocator.get()) + return m_D3DAllocator.get()->Free(m_D3DAllocator.get(), response); + else + return m_SYSAllocator.get()->Free(m_SYSAllocator.get(), response); +} + +mfxStatus GeneralAllocator::ReallocImpl(mfxMemId mid, + const mfxFrameInfo *info, + mfxU16 memType, + mfxMemId *midOut) { + if (!info || !midOut) + return MFX_ERR_NULL_PTR; + + mfxStatus sts; + if ((memType & MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET || + memType & MFX_MEMTYPE_VIDEO_MEMORY_PROCESSOR_TARGET) && + m_D3DAllocator.get()) { + sts = m_D3DAllocator.get()->ReallocFrame(mid, info, memType, midOut); + MSDK_CHECK_NOT_EQUAL(MFX_ERR_NONE, sts, sts); + } + else { + sts = m_SYSAllocator.get()->ReallocFrame(mid, info, memType, midOut); + MSDK_CHECK_NOT_EQUAL(MFX_ERR_NONE, sts, sts); + } + return sts; +} + +mfxStatus GeneralAllocator::AllocImpl(mfxFrameAllocRequest *request, + mfxFrameAllocResponse *response) { + mfxStatus sts; + if ((request->Type & MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET || + request->Type & MFX_MEMTYPE_VIDEO_MEMORY_PROCESSOR_TARGET) && + m_D3DAllocator.get()) { + sts = m_D3DAllocator.get()->Alloc(m_D3DAllocator.get(), request, response); + MSDK_CHECK_NOT_EQUAL(MFX_ERR_NONE, sts, sts); + StoreFrameMids(true, response); + } + else { + sts = m_SYSAllocator.get()->Alloc(m_SYSAllocator.get(), request, response); + MSDK_CHECK_NOT_EQUAL(MFX_ERR_NONE, sts, sts); + StoreFrameMids(false, response); + } + return sts; +} +void GeneralAllocator::StoreFrameMids(bool isD3DFrames, mfxFrameAllocResponse *response) { + for (mfxU32 i = 0; i < response->NumFrameActual; i++) + m_Mids.insert(std::pair(response->mids[i], isD3DFrames)); +} +bool GeneralAllocator::isD3DMid(mfxHDL mid) { + std::map::iterator it; + it = m_Mids.find(mid); + if (it == m_Mids.end()) + return false; // sys mem allocator will check validity of mid further + else + return it->second; +} diff --git a/tools/legacy/sample_common/src/mfx_buffering.cpp b/tools/legacy/sample_common/src/mfx_buffering.cpp new file mode 100644 index 00000000..7ce172c0 --- /dev/null +++ b/tools/legacy/sample_common/src/mfx_buffering.cpp @@ -0,0 +1,179 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#include + +#include + +CBuffering::CBuffering() + : m_SurfacesNumber(0), + m_OutputSurfacesNumber(0), + m_pSurfaces(NULL), + m_pVppSurfaces(NULL), + m_FreeSurfacesPool(m_Mutex), + m_FreeVppSurfacesPool(m_Mutex), + m_UsedSurfacesPool(m_Mutex), + m_UsedVppSurfacesPool(m_Mutex), + m_pFreeOutputSurfaces(NULL), + m_OutputSurfacesPool(m_Mutex), + m_DeliveredSurfacesPool(m_Mutex) {} + +CBuffering::~CBuffering() {} + +mfxStatus CBuffering::AllocBuffers(mfxU32 SurfaceNumber) { + if (!SurfaceNumber) + return MFX_ERR_MEMORY_ALLOC; + + if (!m_OutputSurfacesNumber) { // true - if Vpp isn't enabled + m_OutputSurfacesNumber = SurfaceNumber; + } + m_SurfacesNumber = SurfaceNumber; + + m_pSurfaces = (msdkFrameSurface*)calloc(m_SurfacesNumber, sizeof(msdkFrameSurface)); + if (!m_pSurfaces) + return MFX_ERR_MEMORY_ALLOC; + + msdkOutputSurface* p = NULL; + msdkOutputSurface* tail = NULL; + + m_pFreeOutputSurfaces = (msdkOutputSurface*)calloc(1, sizeof(msdkOutputSurface)); + if (!m_pFreeOutputSurfaces) + return MFX_ERR_MEMORY_ALLOC; + + tail = m_pFreeOutputSurfaces; + + for (mfxU32 i = 1; i < m_OutputSurfacesNumber; ++i) { + p = (msdkOutputSurface*)calloc(1, sizeof(msdkOutputSurface)); + if (!p) + return MFX_ERR_MEMORY_ALLOC; + tail->next = p; + tail = p; + } + + ResetBuffers(); + return MFX_ERR_NONE; +} + +mfxStatus CBuffering::AllocVppBuffers(mfxU32 VppSurfaceNumber) { + m_OutputSurfacesNumber = VppSurfaceNumber; + m_pVppSurfaces = (msdkFrameSurface*)calloc(m_OutputSurfacesNumber, sizeof(msdkFrameSurface)); + if (!m_pVppSurfaces) + return MFX_ERR_MEMORY_ALLOC; + + ResetVppBuffers(); + return MFX_ERR_NONE; +} + +void CBuffering::AllocOutputBuffer() { + std::lock_guard lock(m_Mutex); + + m_pFreeOutputSurfaces = (msdkOutputSurface*)calloc(1, sizeof(msdkOutputSurface)); +} + +static void FreeList(msdkOutputSurface*& head) { + msdkOutputSurface* next; + while (head) { + next = head->next; + free(head); + head = next; + } +} + +void CBuffering::FreeBuffers() { + if (m_pSurfaces) { + free(m_pSurfaces); + m_pSurfaces = NULL; + } + + if (m_pVppSurfaces) { + free(m_pVppSurfaces); + m_pVppSurfaces = NULL; + } + + FreeList(m_pFreeOutputSurfaces); + FreeList(m_OutputSurfacesPool.m_pSurfacesHead); + FreeList(m_DeliveredSurfacesPool.m_pSurfacesHead); + + m_UsedSurfacesPool.m_pSurfacesHead = NULL; + m_UsedSurfacesPool.m_pSurfacesTail = NULL; + m_UsedVppSurfacesPool.m_pSurfacesHead = NULL; + m_UsedVppSurfacesPool.m_pSurfacesTail = NULL; + m_OutputSurfacesPool.m_pSurfacesHead = NULL; + m_OutputSurfacesPool.m_pSurfacesTail = NULL; + + m_FreeSurfacesPool.m_pSurfaces = NULL; + m_FreeVppSurfacesPool.m_pSurfaces = NULL; +} + +void CBuffering::ResetBuffers() { + mfxU32 i; + msdkFrameSurface* pFreeSurf = m_FreeSurfacesPool.m_pSurfaces = m_pSurfaces; + + for (i = 0; i < m_SurfacesNumber; ++i) { + if (i < (m_SurfacesNumber - 1)) { + pFreeSurf[i].next = &(pFreeSurf[i + 1]); + pFreeSurf[i + 1].prev = &(pFreeSurf[i]); + } + } +} + +void CBuffering::ResetVppBuffers() { + mfxU32 i; + msdkFrameSurface* pFreeVppSurf = m_FreeVppSurfacesPool.m_pSurfaces = m_pVppSurfaces; + + for (i = 0; i < m_OutputSurfacesNumber; ++i) { + if (i < (m_OutputSurfacesNumber - 1)) { + pFreeVppSurf[i].next = &(pFreeVppSurf[i + 1]); + pFreeVppSurf[i + 1].prev = &(pFreeVppSurf[i]); + } + } +} + +void CBuffering::SyncFrameSurfaces() { + std::lock_guard lock(m_Mutex); + msdkFrameSurface* prev; + msdkFrameSurface* next; + prev = next = NULL; + msdkFrameSurface* cur = m_UsedSurfacesPool.m_pSurfacesHead; + + while (cur) { + if (cur->frame.Data.Locked || cur->render_lock) { + // frame is still locked: just moving to the next one + cur = cur->next; + } + else { + // frame was unlocked: moving it to the free surfaces array + m_UsedSurfacesPool.DetachSurfaceUnsafe(cur); + m_FreeSurfacesPool.AddSurfaceUnsafe(cur); + + cur = next; + } + } +} + +void CBuffering::SyncVppFrameSurfaces() { + std::lock_guard lock(m_Mutex); + msdkFrameSurface* prev; + msdkFrameSurface* next; + prev = next = NULL; + msdkFrameSurface* cur = m_UsedVppSurfacesPool.m_pSurfacesHead; + + while (cur) { + if (cur->frame.Data.Locked || cur->render_lock) { + // frame is still locked: just moving to the next one + cur = cur->next; + } + else { + // frame was unlocked: moving it to the free surfaces array + m_UsedVppSurfacesPool.DetachSurfaceUnsafe(cur); + m_FreeVppSurfacesPool.AddSurfaceUnsafe(cur); + + cur = next; + } + } +} diff --git a/tools/legacy/sample_common/src/parameters_dumper.cpp b/tools/legacy/sample_common/src/parameters_dumper.cpp new file mode 100644 index 00000000..4d330e2c --- /dev/null +++ b/tools/legacy/sample_common/src/parameters_dumper.cpp @@ -0,0 +1,952 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "parameters_dumper.h" +#include +#include +#include +#include + +#include "vm/strings_defs.h" + +#include "vpl/mfxjpeg.h" +#if (MFX_VERSION < 2000) + #include "mfxplugin.h" +#endif +#include "vpl/mfxstructures.h" +#include "vpl/mfxvideo++.h" +#include "vpl/mfxvideo.h" + +#if (MFX_VERSION < 2000) + #include "mfxla.h" + #include "mfxmvc.h" + #include "mfxvp8.h" +#endif +#include "sample_types.h" + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +#define START_PROC_ARRAY(arrName) \ + for (unsigned int arrIdx = 0; arrIdx < (sizeof(info.arrName) / sizeof(info.arrName[0])); \ + arrIdx++) { +#define START_PROC_ARRAY_SIZE(arrName, numElems) \ + for (unsigned int arrIdx = 0; arrIdx < info.numElems; arrIdx++) { +#define SERIALIZE_INFO_ELEMENT(arrName, name) \ + { \ + sstr << prefix << MSDK_STRING(#arrName) << MSDK_STRING("[") << arrIdx << MSDK_STRING("].") \ + << MSDK_STRING(#name) << MSDK_STRING(":") << info.arrName[arrIdx].name << std::endl; \ + } +#define SERIALIZE_INFO_ARRAY_ELEMENT(arrName, name) \ + { \ + sstr << prefix << MSDK_STRING(#arrName) << MSDK_STRING("[") << arrIdx << MSDK_STRING("].") \ + << MSDK_STRING(#name) << MSDK_STRING(":"); \ + for (unsigned int idx = 0; \ + idx < (sizeof(info.arrName[0].name) / sizeof(info.arrName[0].name[0])); \ + idx++) { \ + sstr << info.arrName[arrIdx].name[idx] << " "; \ + }; \ + sstr << std::endl; \ + } +#define END_PROC_ARRAY } +#define SERIALIZE_INFO(name) \ + { sstr << prefix << MSDK_STRING(#name) << MSDK_STRING(":") << info.name << std::endl; } +#define SERIALIZE_INFO_ARRAY(name) \ + { \ + sstr << prefix << MSDK_STRING(#name) << MSDK_STRING(":"); \ + for (unsigned int idx = 0; idx < (sizeof(info.name) / sizeof(info.name[0])); idx++) { \ + sstr << info.name[idx] << " "; \ + }; \ + sstr << std::endl; \ + } +#define SERIALIZE_INFO_MEMORY(name, numElems) \ + { \ + sstr << prefix << MSDK_STRING(#name) << MSDK_STRING(":"); \ + for (unsigned int idx = 0; idx < info.numElems; idx++) { \ + sstr << info.name[idx] << " "; \ + }; \ + sstr << std::endl; \ + } + +void CParametersDumper::SerializeFrameInfoStruct(msdk_ostream& sstr, + msdk_string prefix, + mfxFrameInfo& info) { + SERIALIZE_INFO_ARRAY(reserved); +#if (MFX_VERSION < 2000) + SERIALIZE_INFO(reserved4); +#endif + SERIALIZE_INFO(BitDepthLuma); + SERIALIZE_INFO(BitDepthChroma); + SERIALIZE_INFO(Shift); + + SERIALIZE_INFO(FrameId.TemporalId); + SERIALIZE_INFO(FrameId.PriorityId); + SERIALIZE_INFO(FrameId.DependencyId); + SERIALIZE_INFO(FrameId.QualityId); + SERIALIZE_INFO(FrameId.ViewId); + + SERIALIZE_INFO(FourCC); + char strFourCC[5] = {}; + MSDK_MEMCPY(strFourCC, &info.FourCC, 4); + sstr << prefix << "FourCC(string)" + << ":" << strFourCC << std::endl; + + SERIALIZE_INFO(Width); + SERIALIZE_INFO(Height); + + SERIALIZE_INFO(CropX); + SERIALIZE_INFO(CropY); + SERIALIZE_INFO(CropW); + SERIALIZE_INFO(CropH); + SERIALIZE_INFO(BufferSize); + SERIALIZE_INFO(reserved5); + + SERIALIZE_INFO(FrameRateExtN); + SERIALIZE_INFO(FrameRateExtD); + SERIALIZE_INFO(reserved3); + + SERIALIZE_INFO(AspectRatioW); + SERIALIZE_INFO(AspectRatioH); + + SERIALIZE_INFO(PicStruct); + SERIALIZE_INFO(ChromaFormat); + SERIALIZE_INFO(reserved2); +} + +void CParametersDumper::SerializeMfxInfoMFXStruct(msdk_ostream& sstr, + msdk_string prefix, + mfxInfoMFX& info) { + SERIALIZE_INFO_ARRAY(reserved); + + SERIALIZE_INFO(LowPower); + SERIALIZE_INFO(BRCParamMultiplier); + + SerializeFrameInfoStruct(sstr, prefix + MSDK_STRING("FrameInfo."), info.FrameInfo); + SERIALIZE_INFO(CodecId); + char strID[5] = {}; + MSDK_MEMCPY(strID, &info.CodecId, 4); + sstr << prefix << "CodecID(string)" + << ":" << strID << std::endl; + + SERIALIZE_INFO(CodecProfile); + SERIALIZE_INFO(CodecLevel); + SERIALIZE_INFO(NumThread); + + SERIALIZE_INFO(TargetUsage); + + SERIALIZE_INFO(GopPicSize); + SERIALIZE_INFO(GopRefDist); + SERIALIZE_INFO(GopOptFlag); + SERIALIZE_INFO(IdrInterval); + + SERIALIZE_INFO(RateControlMethod); + SERIALIZE_INFO(InitialDelayInKB); + SERIALIZE_INFO(QPI); + SERIALIZE_INFO(Accuracy); + SERIALIZE_INFO(BufferSizeInKB); + SERIALIZE_INFO(TargetKbps); + SERIALIZE_INFO(QPP); + SERIALIZE_INFO(ICQQuality); + SERIALIZE_INFO(MaxKbps); + SERIALIZE_INFO(QPB); + SERIALIZE_INFO(Convergence); + + SERIALIZE_INFO(NumSlice); + SERIALIZE_INFO(NumRefFrame); + SERIALIZE_INFO(EncodedOrder); + + /* Decoding Options */ + SERIALIZE_INFO(DecodedOrder); + SERIALIZE_INFO(ExtendedPicStruct); + SERIALIZE_INFO(TimeStampCalc); + SERIALIZE_INFO(SliceGroupsPresent); + SERIALIZE_INFO(MaxDecFrameBuffering); + SERIALIZE_INFO(EnableReallocRequest); + + /* JPEG Decoding Options */ + SERIALIZE_INFO(JPEGChromaFormat); + SERIALIZE_INFO(Rotation); + SERIALIZE_INFO(JPEGColorFormat); + SERIALIZE_INFO(InterleavedDec); + SERIALIZE_INFO_ARRAY(SamplingFactorH); + SERIALIZE_INFO_ARRAY(SamplingFactorV); + + /* JPEG Encoding Options */ + SERIALIZE_INFO(Interleaved); + SERIALIZE_INFO(Quality); + SERIALIZE_INFO(RestartInterval); +} + +void CParametersDumper::SerializeExtensionBuffer(msdk_ostream& sstr, + msdk_string prefix, + mfxExtBuffer* pExtBuffer) { + char name[6] = " ."; + MSDK_MEMCPY(name, &pExtBuffer->BufferId, 4); + std::string strName(name); + prefix += msdk_string(strName.begin(), strName.end()); + + // Serializing header + { + mfxExtBuffer& info = *pExtBuffer; + SERIALIZE_INFO(BufferId); + SERIALIZE_INFO(BufferSz); + } + + // Serializing particular Ext buffer. + switch (pExtBuffer->BufferId) { + case MFX_EXTBUFF_THREADS_PARAM: { + mfxExtThreadsParam& info = *(mfxExtThreadsParam*)pExtBuffer; + SERIALIZE_INFO(NumThread); + SERIALIZE_INFO(SchedulingType); + SERIALIZE_INFO(Priority); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_JPEG_QT: { + mfxExtJPEGQuantTables& info = *(mfxExtJPEGQuantTables*)pExtBuffer; + SERIALIZE_INFO_ARRAY(reserved); + SERIALIZE_INFO(NumTable); + SERIALIZE_INFO_ARRAY(Qm[0]); + SERIALIZE_INFO_ARRAY(Qm[1]); + SERIALIZE_INFO_ARRAY(Qm[2]); + SERIALIZE_INFO_ARRAY(Qm[3]); + } break; + case MFX_EXTBUFF_JPEG_HUFFMAN: { + mfxExtJPEGHuffmanTables& info = *(mfxExtJPEGHuffmanTables*)pExtBuffer; + SERIALIZE_INFO_ARRAY(reserved); + SERIALIZE_INFO(NumDCTable); + SERIALIZE_INFO(NumACTable); + START_PROC_ARRAY(DCTables) + SERIALIZE_INFO_ARRAY_ELEMENT(DCTables, Bits); + SERIALIZE_INFO_ARRAY_ELEMENT(DCTables, Values); + END_PROC_ARRAY + START_PROC_ARRAY(DCTables) + SERIALIZE_INFO_ARRAY_ELEMENT(ACTables, Bits); + SERIALIZE_INFO_ARRAY_ELEMENT(ACTables, Values); + END_PROC_ARRAY + } break; +#if (MFX_VERSION < 2000) + case MFX_EXTBUFF_LOOKAHEAD_CTRL: { + mfxExtLAControl& info = *(mfxExtLAControl*)pExtBuffer; + SERIALIZE_INFO(LookAheadDepth); + SERIALIZE_INFO(DependencyDepth); + SERIALIZE_INFO(DownScaleFactor); + SERIALIZE_INFO(BPyramid); + SERIALIZE_INFO_ARRAY(reserved1); + SERIALIZE_INFO(NumOutStream); + START_PROC_ARRAY(OutStream) + SERIALIZE_INFO_ELEMENT(OutStream, Width); + SERIALIZE_INFO_ELEMENT(OutStream, Height); + SERIALIZE_INFO_ARRAY_ELEMENT(OutStream, reserved2); + END_PROC_ARRAY + } break; + case MFX_EXTBUFF_LOOKAHEAD_STAT: { + mfxExtLAFrameStatistics& info = *(mfxExtLAFrameStatistics*)pExtBuffer; + SERIALIZE_INFO_ARRAY(reserved); + SERIALIZE_INFO(NumStream); + SERIALIZE_INFO(NumFrame); + //DO_MANUALLY: mfxLAFrameInfo *FrameStat; //frame statistics + //DO_MANUALLY: mfxFrameSurface1 *OutSurface; //reordered surface + } break; + case MFX_EXTBUFF_MVC_SEQ_DESC: { + mfxExtMVCSeqDesc& info = *(mfxExtMVCSeqDesc*)pExtBuffer; + SERIALIZE_INFO(NumView); + SERIALIZE_INFO(NumViewAlloc); + //DO_MANUALLY: mfxMVCViewDependency *View; + SERIALIZE_INFO(NumViewId); + SERIALIZE_INFO(NumViewIdAlloc); + SERIALIZE_INFO_MEMORY(ViewId, NumViewId); + SERIALIZE_INFO(NumOP); + SERIALIZE_INFO(NumOPAlloc); + //DO_MANUALLY: mfxMVCOperationPoint *OP; + SERIALIZE_INFO(NumRefsTotal); + SERIALIZE_INFO_ARRAY(Reserved); + } break; + case MFX_EXTBUFF_MVC_TARGET_VIEWS: { + mfxExtMVCTargetViews& info = *(mfxExtMVCTargetViews*)pExtBuffer; + SERIALIZE_INFO(TemporalId); + SERIALIZE_INFO(NumView); + SERIALIZE_INFO_ARRAY(ViewId); + } break; + case MFX_EXTBUFF_VPP_PICSTRUCT_DETECTION: { + // No structure accociated with MFX_EXTBUFF_VPP_PICSTRUCT_DETECTION + } break; +#endif + case MFX_EXTBUFF_CODING_OPTION: { + mfxExtCodingOption& info = *(mfxExtCodingOption*)pExtBuffer; + SERIALIZE_INFO(reserved1); + SERIALIZE_INFO(RateDistortionOpt); + SERIALIZE_INFO(MECostType); + SERIALIZE_INFO(MESearchType); + SERIALIZE_INFO(MVSearchWindow.x); + SERIALIZE_INFO(MVSearchWindow.y); + SERIALIZE_INFO(EndOfSequence); + SERIALIZE_INFO(FramePicture); + SERIALIZE_INFO(CAVLC); + SERIALIZE_INFO_ARRAY(reserved2); + SERIALIZE_INFO(RecoveryPointSEI); + SERIALIZE_INFO(ViewOutput); + SERIALIZE_INFO(NalHrdConformance); + SERIALIZE_INFO(SingleSeiNalUnit); + SERIALIZE_INFO(VuiVclHrdParameters); + SERIALIZE_INFO(RefPicListReordering); + SERIALIZE_INFO(ResetRefList); + SERIALIZE_INFO(RefPicMarkRep); + SERIALIZE_INFO(FieldOutput); + SERIALIZE_INFO(IntraPredBlockSize); + SERIALIZE_INFO(InterPredBlockSize); + SERIALIZE_INFO(MVPrecision); + SERIALIZE_INFO(MaxDecFrameBuffering); + SERIALIZE_INFO(AUDelimiter); + SERIALIZE_INFO(EndOfStream); + SERIALIZE_INFO(PicTimingSEI); + SERIALIZE_INFO(VuiNalHrdParameters); + } break; + case MFX_EXTBUFF_CODING_OPTION2: { + mfxExtCodingOption2& info = *(mfxExtCodingOption2*)pExtBuffer; + SERIALIZE_INFO(IntRefType); + SERIALIZE_INFO(IntRefCycleSize); + SERIALIZE_INFO(IntRefQPDelta); + SERIALIZE_INFO(MaxFrameSize); + SERIALIZE_INFO(MaxSliceSize); + SERIALIZE_INFO(BitrateLimit); + SERIALIZE_INFO(MBBRC); + SERIALIZE_INFO(ExtBRC); + SERIALIZE_INFO(LookAheadDepth); + SERIALIZE_INFO(Trellis); + SERIALIZE_INFO(RepeatPPS); + SERIALIZE_INFO(BRefType); + SERIALIZE_INFO(AdaptiveI); + SERIALIZE_INFO(AdaptiveB); + SERIALIZE_INFO(LookAheadDS); + SERIALIZE_INFO(NumMbPerSlice); + SERIALIZE_INFO(SkipFrame); + SERIALIZE_INFO(MinQPI); + SERIALIZE_INFO(MaxQPI); + SERIALIZE_INFO(MinQPP); + SERIALIZE_INFO(MaxQPP); + SERIALIZE_INFO(MinQPB); + SERIALIZE_INFO(MaxQPB); + SERIALIZE_INFO(FixedFrameRate); + SERIALIZE_INFO(DisableDeblockingIdc); + SERIALIZE_INFO(DisableVUI); + SERIALIZE_INFO(BufferingPeriodSEI); + SERIALIZE_INFO(EnableMAD); + SERIALIZE_INFO(UseRawRef); + } break; + case MFX_EXTBUFF_CODING_OPTION3: { + mfxExtCodingOption3& info = *(mfxExtCodingOption3*)pExtBuffer; + SERIALIZE_INFO(NumSliceI); + SERIALIZE_INFO(NumSliceP); + SERIALIZE_INFO(NumSliceB); + SERIALIZE_INFO(WinBRCMaxAvgKbps); + SERIALIZE_INFO(WinBRCSize); + SERIALIZE_INFO(QVBRQuality); + SERIALIZE_INFO(EnableMBQP); + SERIALIZE_INFO(IntRefCycleDist); + SERIALIZE_INFO(DirectBiasAdjustment); + SERIALIZE_INFO(GlobalMotionBiasAdjustment); + SERIALIZE_INFO(MVCostScalingFactor); + SERIALIZE_INFO(MBDisableSkipMap); + SERIALIZE_INFO(WeightedPred); + SERIALIZE_INFO(WeightedBiPred); + SERIALIZE_INFO(AspectRatioInfoPresent); + SERIALIZE_INFO(OverscanInfoPresent); + SERIALIZE_INFO(OverscanAppropriate); + SERIALIZE_INFO(TimingInfoPresent); + SERIALIZE_INFO(BitstreamRestriction); + SERIALIZE_INFO(LowDelayHrd); + SERIALIZE_INFO(MotionVectorsOverPicBoundaries); + SERIALIZE_INFO(ScenarioInfo); + SERIALIZE_INFO(ContentInfo); + SERIALIZE_INFO(PRefType); + SERIALIZE_INFO(FadeDetection); + SERIALIZE_INFO(GPB); + SERIALIZE_INFO(MaxFrameSizeI); + SERIALIZE_INFO(MaxFrameSizeP); + SERIALIZE_INFO_ARRAY(reserved1); + SERIALIZE_INFO(EnableQPOffset); + SERIALIZE_INFO_ARRAY(QPOffset); + SERIALIZE_INFO_ARRAY(NumRefActiveP); + SERIALIZE_INFO_ARRAY(NumRefActiveBL0); + SERIALIZE_INFO_ARRAY(NumRefActiveBL1); + SERIALIZE_INFO(BRCPanicMode); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_VPP_DONOTUSE: { + mfxExtVPPDoNotUse& info = *(mfxExtVPPDoNotUse*)pExtBuffer; + SERIALIZE_INFO(NumAlg); + SERIALIZE_INFO_MEMORY(AlgList, NumAlg); + } break; + case MFX_EXTBUFF_VPP_DENOISE: { + mfxExtVPPDenoise& info = *(mfxExtVPPDenoise*)pExtBuffer; + SERIALIZE_INFO(DenoiseFactor); + } break; + case MFX_EXTBUFF_VPP_DETAIL: { + mfxExtVPPDetail& info = *(mfxExtVPPDetail*)pExtBuffer; + SERIALIZE_INFO(DetailFactor); + } break; + case MFX_EXTBUFF_VPP_PROCAMP: { + mfxExtVPPProcAmp& info = *(mfxExtVPPProcAmp*)pExtBuffer; + SERIALIZE_INFO(Brightness); + SERIALIZE_INFO(Contrast); + SERIALIZE_INFO(Hue); + SERIALIZE_INFO(Saturation); + } break; + case MFX_EXTBUFF_VPP_AUXDATA: { + mfxExtVppAuxData& info = *(mfxExtVppAuxData*)pExtBuffer; + SERIALIZE_INFO(SpatialComplexity); + SERIALIZE_INFO(TemporalComplexity); + SERIALIZE_INFO(PicStruct); + SERIALIZE_INFO_ARRAY(reserved); + SERIALIZE_INFO(SceneChangeRate); + SERIALIZE_INFO(RepeatedFrame); + } break; + case MFX_EXTBUFF_CODING_OPTION_SPSPPS: { + mfxExtCodingOptionSPSPPS& info = *(mfxExtCodingOptionSPSPPS*)pExtBuffer; + SERIALIZE_INFO(SPSBuffer); + SERIALIZE_INFO(PPSBuffer); + SERIALIZE_INFO(SPSBufSize); + SERIALIZE_INFO(PPSBufSize); + SERIALIZE_INFO(SPSId); + SERIALIZE_INFO(PPSId); + } break; + case MFX_EXTBUFF_CODING_OPTION_VPS: { + mfxExtCodingOptionVPS& info = *(mfxExtCodingOptionVPS*)pExtBuffer; + SERIALIZE_INFO(VPSBuffer); + SERIALIZE_INFO(reserved1); + SERIALIZE_INFO(VPSBufSize); + SERIALIZE_INFO(VPSId); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_VPP_VIDEO_SIGNAL_INFO: { + mfxExtVideoSignalInfo& info = *(mfxExtVideoSignalInfo*)pExtBuffer; + SERIALIZE_INFO(VideoFormat); + SERIALIZE_INFO(VideoFullRange); + SERIALIZE_INFO(ColourDescriptionPresent); + SERIALIZE_INFO(ColourPrimaries); + SERIALIZE_INFO(TransferCharacteristics); + SERIALIZE_INFO(MatrixCoefficients); + } break; + case MFX_EXTBUFF_VPP_DOUSE: { + mfxExtVPPDoUse& info = *(mfxExtVPPDoUse*)pExtBuffer; + SERIALIZE_INFO(NumAlg); + SERIALIZE_INFO(AlgList); + } break; +#if (MFX_VERSION < 2000) + case MFX_EXTBUFF_OPAQUE_SURFACE_ALLOCATION: { + mfxExtOpaqueSurfaceAlloc& info = *(mfxExtOpaqueSurfaceAlloc*)pExtBuffer; + SERIALIZE_INFO_ARRAY(reserved1); + SERIALIZE_INFO_ARRAY(In.reserved2); + SERIALIZE_INFO(In.Type); + SERIALIZE_INFO(In.NumSurface); + SERIALIZE_INFO_ARRAY(Out.reserved2); + SERIALIZE_INFO(Out.Type); + SERIALIZE_INFO(Out.NumSurface); + } break; +#endif + case MFX_EXTBUFF_AVC_REFLIST_CTRL: { + mfxExtAVCRefListCtrl& info = *(mfxExtAVCRefListCtrl*)pExtBuffer; + SERIALIZE_INFO(NumRefIdxL0Active); + SERIALIZE_INFO(NumRefIdxL1Active); + START_PROC_ARRAY(PreferredRefList) + SERIALIZE_INFO_ELEMENT(PreferredRefList, FrameOrder); + SERIALIZE_INFO_ELEMENT(PreferredRefList, PicStruct); + SERIALIZE_INFO_ELEMENT(PreferredRefList, ViewId); + SERIALIZE_INFO_ELEMENT(PreferredRefList, LongTermIdx); + SERIALIZE_INFO_ARRAY_ELEMENT(PreferredRefList, reserved); + END_PROC_ARRAY + + START_PROC_ARRAY(RejectedRefList) + SERIALIZE_INFO_ELEMENT(RejectedRefList, FrameOrder); + SERIALIZE_INFO_ELEMENT(RejectedRefList, PicStruct); + SERIALIZE_INFO_ELEMENT(RejectedRefList, ViewId); + SERIALIZE_INFO_ELEMENT(RejectedRefList, LongTermIdx); + SERIALIZE_INFO_ARRAY_ELEMENT(RejectedRefList, reserved); + END_PROC_ARRAY + + START_PROC_ARRAY(LongTermRefList) + SERIALIZE_INFO_ELEMENT(LongTermRefList, FrameOrder); + SERIALIZE_INFO_ELEMENT(LongTermRefList, PicStruct); + SERIALIZE_INFO_ELEMENT(LongTermRefList, ViewId); + SERIALIZE_INFO_ELEMENT(LongTermRefList, LongTermIdx); + SERIALIZE_INFO_ARRAY_ELEMENT(LongTermRefList, reserved); + END_PROC_ARRAY + + SERIALIZE_INFO(ApplyLongTermIdx); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_VPP_FRAME_RATE_CONVERSION: { + mfxExtVPPFrameRateConversion& info = *(mfxExtVPPFrameRateConversion*)pExtBuffer; + SERIALIZE_INFO(Algorithm); + SERIALIZE_INFO(reserved); + SERIALIZE_INFO_ARRAY(reserved2); + } break; + case MFX_EXTBUFF_VPP_IMAGE_STABILIZATION: { + mfxExtVPPImageStab& info = *(mfxExtVPPImageStab*)pExtBuffer; + SERIALIZE_INFO(Mode); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_PICTURE_TIMING_SEI: { + mfxExtPictureTimingSEI& info = *(mfxExtPictureTimingSEI*)pExtBuffer; + SERIALIZE_INFO_ARRAY(reserved); + + SERIALIZE_INFO(TimeStamp[0].ClockTimestampFlag); + SERIALIZE_INFO(TimeStamp[0].CtType); + SERIALIZE_INFO(TimeStamp[0].NuitFieldBasedFlag); + SERIALIZE_INFO(TimeStamp[0].CountingType); + SERIALIZE_INFO(TimeStamp[0].FullTimestampFlag); + SERIALIZE_INFO(TimeStamp[0].DiscontinuityFlag); + SERIALIZE_INFO(TimeStamp[0].CntDroppedFlag); + SERIALIZE_INFO(TimeStamp[0].NFrames); + SERIALIZE_INFO(TimeStamp[0].SecondsFlag); + SERIALIZE_INFO(TimeStamp[0].MinutesFlag); + SERIALIZE_INFO(TimeStamp[0].HoursFlag); + SERIALIZE_INFO(TimeStamp[0].SecondsValue); + SERIALIZE_INFO(TimeStamp[0].MinutesValue); + SERIALIZE_INFO(TimeStamp[0].HoursValue); + SERIALIZE_INFO(TimeStamp[0].TimeOffset); + + SERIALIZE_INFO(TimeStamp[1].ClockTimestampFlag); + SERIALIZE_INFO(TimeStamp[1].CtType); + SERIALIZE_INFO(TimeStamp[1].NuitFieldBasedFlag); + SERIALIZE_INFO(TimeStamp[1].CountingType); + SERIALIZE_INFO(TimeStamp[1].FullTimestampFlag); + SERIALIZE_INFO(TimeStamp[1].DiscontinuityFlag); + SERIALIZE_INFO(TimeStamp[1].CntDroppedFlag); + SERIALIZE_INFO(TimeStamp[1].NFrames); + SERIALIZE_INFO(TimeStamp[1].SecondsFlag); + SERIALIZE_INFO(TimeStamp[1].MinutesFlag); + SERIALIZE_INFO(TimeStamp[1].HoursFlag); + SERIALIZE_INFO(TimeStamp[1].SecondsValue); + SERIALIZE_INFO(TimeStamp[1].MinutesValue); + SERIALIZE_INFO(TimeStamp[1].HoursValue); + SERIALIZE_INFO(TimeStamp[1].TimeOffset); + + SERIALIZE_INFO(TimeStamp[2].ClockTimestampFlag); + SERIALIZE_INFO(TimeStamp[2].CtType); + SERIALIZE_INFO(TimeStamp[2].NuitFieldBasedFlag); + SERIALIZE_INFO(TimeStamp[2].CountingType); + SERIALIZE_INFO(TimeStamp[2].FullTimestampFlag); + SERIALIZE_INFO(TimeStamp[2].DiscontinuityFlag); + SERIALIZE_INFO(TimeStamp[2].CntDroppedFlag); + SERIALIZE_INFO(TimeStamp[2].NFrames); + SERIALIZE_INFO(TimeStamp[2].SecondsFlag); + SERIALIZE_INFO(TimeStamp[2].MinutesFlag); + SERIALIZE_INFO(TimeStamp[2].HoursFlag); + SERIALIZE_INFO(TimeStamp[2].SecondsValue); + SERIALIZE_INFO(TimeStamp[2].MinutesValue); + SERIALIZE_INFO(TimeStamp[2].HoursValue); + SERIALIZE_INFO(TimeStamp[2].TimeOffset); + } break; + case MFX_EXTBUFF_AVC_TEMPORAL_LAYERS: { + mfxExtAvcTemporalLayers& info = *(mfxExtAvcTemporalLayers*)pExtBuffer; + SERIALIZE_INFO_ARRAY(reserved1); + SERIALIZE_INFO(reserved2); + SERIALIZE_INFO(BaseLayerPID); + SERIALIZE_INFO(Layer[0].Scale); + SERIALIZE_INFO_ARRAY(Layer[0].reserved); + SERIALIZE_INFO(Layer[1].Scale); + SERIALIZE_INFO_ARRAY(Layer[1].reserved); + SERIALIZE_INFO(Layer[2].Scale); + SERIALIZE_INFO_ARRAY(Layer[2].reserved); + SERIALIZE_INFO(Layer[3].Scale); + SERIALIZE_INFO_ARRAY(Layer[3].reserved); + SERIALIZE_INFO(Layer[4].Scale); + SERIALIZE_INFO_ARRAY(Layer[4].reserved); + SERIALIZE_INFO(Layer[5].Scale); + SERIALIZE_INFO_ARRAY(Layer[5].reserved); + SERIALIZE_INFO(Layer[6].Scale); + SERIALIZE_INFO_ARRAY(Layer[6].reserved); + SERIALIZE_INFO(Layer[7].Scale); + SERIALIZE_INFO_ARRAY(Layer[7].reserved); + } break; + case MFX_EXTBUFF_ENCODER_CAPABILITY: { + mfxExtEncoderCapability& info = *(mfxExtEncoderCapability*)pExtBuffer; + SERIALIZE_INFO(MBPerSec); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_ENCODER_RESET_OPTION: { + mfxExtEncoderResetOption& info = *(mfxExtEncoderResetOption*)pExtBuffer; + SERIALIZE_INFO(StartNewSequence); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_ENCODED_FRAME_INFO: { + mfxExtAVCEncodedFrameInfo& info = *(mfxExtAVCEncodedFrameInfo*)pExtBuffer; + SERIALIZE_INFO(FrameOrder); + SERIALIZE_INFO(PicStruct); + SERIALIZE_INFO(LongTermIdx); + SERIALIZE_INFO(MAD); + SERIALIZE_INFO(BRCPanicMode); + SERIALIZE_INFO(QP); + SERIALIZE_INFO(SecondFieldOffset); + SERIALIZE_INFO_ARRAY(reserved); + SERIALIZE_INFO(FrameOrder); + SERIALIZE_INFO(PicStruct); + SERIALIZE_INFO(LongTermIdx); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_VPP_COMPOSITE: { + mfxExtVPPComposite& info = *(mfxExtVPPComposite*)pExtBuffer; + SERIALIZE_INFO(Y); + SERIALIZE_INFO(R); + SERIALIZE_INFO(U); + SERIALIZE_INFO(G); + SERIALIZE_INFO(V); + SERIALIZE_INFO(B); + SERIALIZE_INFO_ARRAY(reserved1); + SERIALIZE_INFO(NumInputStream); + for (int i = 0; i < info.NumInputStream; i++) { + msdk_char streamName[32]; + msdk_sprintf(streamName, MSDK_STRING("InputStream[%d]."), i); + SerializeVPPCompInputStream(sstr, prefix + streamName, info.InputStream[i]); + } + } break; + case MFX_EXTBUFF_VIDEO_SIGNAL_INFO: { + mfxExtVPPVideoSignalInfo& info = *(mfxExtVPPVideoSignalInfo*)pExtBuffer; + SERIALIZE_INFO_ARRAY(reserved1); + + SERIALIZE_INFO(In.TransferMatrix); + SERIALIZE_INFO(In.NominalRange); + SERIALIZE_INFO_ARRAY(In.reserved2); + SERIALIZE_INFO(Out.TransferMatrix); + SERIALIZE_INFO(Out.NominalRange); + SERIALIZE_INFO_ARRAY(Out.reserved2); + + SERIALIZE_INFO(TransferMatrix); + SERIALIZE_INFO(NominalRange); + SERIALIZE_INFO_ARRAY(reserved3); + } break; + case MFX_EXTBUFF_ENCODER_ROI: { + mfxExtEncoderROI& info = *(mfxExtEncoderROI*)pExtBuffer; + SERIALIZE_INFO(NumROI); +#if MFX_VERSION >= 1022 + SERIALIZE_INFO(ROIMode); +#endif //MFX_VERSION >= 1022 + SERIALIZE_INFO_ARRAY(reserved1); + START_PROC_ARRAY_SIZE(ROI, NumROI) + SERIALIZE_INFO_ELEMENT(ROI, Left); + SERIALIZE_INFO_ELEMENT(ROI, Top); + SERIALIZE_INFO_ELEMENT(ROI, Right); + SERIALIZE_INFO_ELEMENT(ROI, Bottom); + SERIALIZE_INFO_ELEMENT(ROI, Priority); +#if MFX_VERSION >= 1022 + SERIALIZE_INFO_ELEMENT(ROI, DeltaQP); +#endif //MFX_VERSION >= 1022 + + SERIALIZE_INFO_ARRAY_ELEMENT(ROI, reserved2); + END_PROC_ARRAY + } break; + case MFX_EXTBUFF_VPP_DEINTERLACING: { + mfxExtVPPDeinterlacing& info = *(mfxExtVPPDeinterlacing*)pExtBuffer; + SERIALIZE_INFO(Mode); + SERIALIZE_INFO(TelecinePattern); + SERIALIZE_INFO(TelecineLocation); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_AVC_REFLISTS: { + mfxExtAVCRefLists& info = *(mfxExtAVCRefLists*)pExtBuffer; + SERIALIZE_INFO(NumRefIdxL0Active); + SERIALIZE_INFO(NumRefIdxL1Active); + SERIALIZE_INFO_ARRAY(reserved); + + START_PROC_ARRAY(RefPicList0) + SERIALIZE_INFO_ELEMENT(RefPicList0, FrameOrder); + SERIALIZE_INFO_ELEMENT(RefPicList0, PicStruct); + SERIALIZE_INFO_ELEMENT(RefPicList0, reserved); + END_PROC_ARRAY + + START_PROC_ARRAY(RefPicList1) + SERIALIZE_INFO_ELEMENT(RefPicList1, FrameOrder); + SERIALIZE_INFO_ELEMENT(RefPicList1, PicStruct); + SERIALIZE_INFO_ELEMENT(RefPicList1, reserved); + END_PROC_ARRAY + } break; + case MFX_EXTBUFF_VPP_FIELD_PROCESSING: { + mfxExtVPPFieldProcessing& info = *(mfxExtVPPFieldProcessing*)pExtBuffer; + SERIALIZE_INFO(Mode); + SERIALIZE_INFO(InField); + SERIALIZE_INFO(OutField); + SERIALIZE_INFO_ARRAY(reserved); + } break; +#if MFX_VERSION >= 1022 + case MFX_EXTBUFF_DEC_VIDEO_PROCESSING: { + mfxExtDecVideoProcessing& info = *(mfxExtDecVideoProcessing*)pExtBuffer; + SERIALIZE_INFO(In.CropX); + SERIALIZE_INFO(In.CropY); + SERIALIZE_INFO(In.CropW); + SERIALIZE_INFO(In.CropH); + SERIALIZE_INFO_ARRAY(In.reserved); + SERIALIZE_INFO(Out.FourCC); + SERIALIZE_INFO(Out.ChromaFormat); + SERIALIZE_INFO(Out.Width); + SERIALIZE_INFO(Out.Height); + SERIALIZE_INFO(Out.CropX); + SERIALIZE_INFO(Out.CropY); + SERIALIZE_INFO(Out.CropW); + SERIALIZE_INFO(Out.CropH); + SERIALIZE_INFO_ARRAY(Out.reserved); + } break; +#endif //MFX_VERSION >= 1022 + case MFX_EXTBUFF_CHROMA_LOC_INFO: { + mfxExtChromaLocInfo& info = *(mfxExtChromaLocInfo*)pExtBuffer; + SERIALIZE_INFO(ChromaLocInfoPresentFlag); + SERIALIZE_INFO(ChromaSampleLocTypeTopField); + SERIALIZE_INFO(ChromaSampleLocTypeBottomField); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_MBQP: { + mfxExtMBQP& info = *(mfxExtMBQP*)pExtBuffer; + SERIALIZE_INFO_ARRAY(reserved); + SERIALIZE_INFO(NumQPAlloc); + SERIALIZE_INFO_MEMORY(QP, NumQPAlloc); + SERIALIZE_INFO(reserved2); + } break; + case MFX_EXTBUFF_HEVC_TILES: { + mfxExtHEVCTiles& info = *(mfxExtHEVCTiles*)pExtBuffer; + SERIALIZE_INFO(NumTileRows); + SERIALIZE_INFO(NumTileColumns); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_MB_DISABLE_SKIP_MAP: { + mfxExtMBDisableSkipMap& info = *(mfxExtMBDisableSkipMap*)pExtBuffer; + SERIALIZE_INFO_ARRAY(reserved); + SERIALIZE_INFO(MapSize); + SERIALIZE_INFO_MEMORY(Map, MapSize); + SERIALIZE_INFO(reserved2); + } break; + case MFX_EXTBUFF_HEVC_PARAM: { + mfxExtHEVCParam& info = *(mfxExtHEVCParam*)pExtBuffer; + SERIALIZE_INFO(PicWidthInLumaSamples); + SERIALIZE_INFO(PicHeightInLumaSamples); + SERIALIZE_INFO(GeneralConstraintFlags); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_DECODED_FRAME_INFO: { + mfxExtDecodedFrameInfo& info = *(mfxExtDecodedFrameInfo*)pExtBuffer; + SERIALIZE_INFO(FrameType); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_TIME_CODE: { + mfxExtTimeCode& info = *(mfxExtTimeCode*)pExtBuffer; + SERIALIZE_INFO(DropFrameFlag); + SERIALIZE_INFO(TimeCodeHours); + SERIALIZE_INFO(TimeCodeMinutes); + SERIALIZE_INFO(TimeCodeSeconds); + SERIALIZE_INFO(TimeCodePictures); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_HEVC_REGION: { + mfxExtHEVCRegion& info = *(mfxExtHEVCRegion*)pExtBuffer; + SERIALIZE_INFO(RegionId); + SERIALIZE_INFO(RegionType); + SERIALIZE_INFO(RegionEncoding); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_PRED_WEIGHT_TABLE: { + mfxExtPredWeightTable& info = *(mfxExtPredWeightTable*)pExtBuffer; + SERIALIZE_INFO(LumaLog2WeightDenom); + SERIALIZE_INFO(ChromaLog2WeightDenom); + SERIALIZE_INFO_ARRAY(LumaWeightFlag[0]); + SERIALIZE_INFO_ARRAY(LumaWeightFlag[1]); + SERIALIZE_INFO_ARRAY(ChromaWeightFlag[0]); + SERIALIZE_INFO_ARRAY(ChromaWeightFlag[1]); + //DO_MANUALLY: Weights[2][32][3][2]; + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_DIRTY_RECTANGLES: { + mfxExtDirtyRect& info = *(mfxExtDirtyRect*)pExtBuffer; + SERIALIZE_INFO(NumRect); + SERIALIZE_INFO_ARRAY(reserved1); + + START_PROC_ARRAY_SIZE(Rect, NumRect) + SERIALIZE_INFO_ELEMENT(Rect, Left); + SERIALIZE_INFO_ELEMENT(Rect, Top); + SERIALIZE_INFO_ELEMENT(Rect, Right); + SERIALIZE_INFO_ELEMENT(Rect, Bottom); + SERIALIZE_INFO_ARRAY_ELEMENT(Rect, reserved2); + END_PROC_ARRAY + } break; + case MFX_EXTBUFF_MOVING_RECTANGLES: { + mfxExtMoveRect& info = *(mfxExtMoveRect*)pExtBuffer; + SERIALIZE_INFO(NumRect); + SERIALIZE_INFO_ARRAY(reserved1); + + START_PROC_ARRAY_SIZE(Rect, NumRect) + SERIALIZE_INFO_ELEMENT(Rect, DestLeft); + SERIALIZE_INFO_ELEMENT(Rect, DestTop); + SERIALIZE_INFO_ELEMENT(Rect, DestRight); + SERIALIZE_INFO_ELEMENT(Rect, DestBottom); + SERIALIZE_INFO_ELEMENT(Rect, SourceLeft); + SERIALIZE_INFO_ELEMENT(Rect, SourceTop); + SERIALIZE_INFO_ARRAY_ELEMENT(Rect, reserved2); + END_PROC_ARRAY + } break; + case MFX_EXTBUFF_VPP_ROTATION: { + mfxExtVPPRotation& info = *(mfxExtVPPRotation*)pExtBuffer; + SERIALIZE_INFO(Angle); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_ENCODED_SLICES_INFO: { + mfxExtEncodedSlicesInfo& info = *(mfxExtEncodedSlicesInfo*)pExtBuffer; + SERIALIZE_INFO(SliceSizeOverflow); + SERIALIZE_INFO(NumSliceNonCopliant); + SERIALIZE_INFO(NumEncodedSlice); + SERIALIZE_INFO(NumSliceSizeAlloc); + SERIALIZE_INFO_MEMORY(SliceSize, NumSliceSizeAlloc); + SERIALIZE_INFO(reserved1); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_VPP_SCALING: { + mfxExtVPPScaling& info = *(mfxExtVPPScaling*)pExtBuffer; + SERIALIZE_INFO(ScalingMode); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_VPP_MIRRORING: { + mfxExtVPPMirroring& info = *(mfxExtVPPMirroring*)pExtBuffer; + SERIALIZE_INFO(Type); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_MV_OVER_PIC_BOUNDARIES: { + mfxExtMVOverPicBoundaries& info = *(mfxExtMVOverPicBoundaries*)pExtBuffer; + SERIALIZE_INFO(StickTop); + SERIALIZE_INFO(StickBottom); + SERIALIZE_INFO(StickLeft); + SERIALIZE_INFO(StickRight); + SERIALIZE_INFO_ARRAY(reserved); + } break; + case MFX_EXTBUFF_VPP_COLORFILL: { + mfxExtVPPColorFill& info = *(mfxExtVPPColorFill*)pExtBuffer; + SERIALIZE_INFO(Enable); + SERIALIZE_INFO_ARRAY(reserved); + } break; +#if (MFX_VERSION < 2000) + case MFX_EXTBUFF_VP8_CODING_OPTION: { + mfxExtVP8CodingOption& info = *(mfxExtVP8CodingOption*)pExtBuffer; + SERIALIZE_INFO(Version); + SERIALIZE_INFO(EnableMultipleSegments); + SERIALIZE_INFO(LoopFilterType); + SERIALIZE_INFO_ARRAY(LoopFilterLevel); + SERIALIZE_INFO(SharpnessLevel); + SERIALIZE_INFO(NumTokenPartitions); + SERIALIZE_INFO_ARRAY(LoopFilterRefTypeDelta); + SERIALIZE_INFO_ARRAY(LoopFilterMbModeDelta); + SERIALIZE_INFO_ARRAY(SegmentQPDelta); + SERIALIZE_INFO_ARRAY(CoeffTypeQPDelta); + SERIALIZE_INFO(WriteIVFHeaders); + SERIALIZE_INFO(NumFramesForIVFHeader); + SERIALIZE_INFO_ARRAY(reserved); + } break; +#endif + } + // End of autogenerated code +} + +void CParametersDumper::SerializeVPPCompInputStream(msdk_ostream& sstr, + msdk_string prefix, + mfxVPPCompInputStream& info) { + SERIALIZE_INFO(DstX); + SERIALIZE_INFO(DstY); + SERIALIZE_INFO(DstW); + SERIALIZE_INFO(DstH); + + SERIALIZE_INFO(LumaKeyEnable); + SERIALIZE_INFO(LumaKeyMin); + SERIALIZE_INFO(LumaKeyMax); + + SERIALIZE_INFO(GlobalAlphaEnable); + SERIALIZE_INFO(GlobalAlpha); + + SERIALIZE_INFO(PixelAlphaEnable); + + SERIALIZE_INFO_ARRAY(reserved2); +} + +void CParametersDumper::SerializeVideoParamStruct(msdk_ostream& sstr, + msdk_string sectionName, + mfxVideoParam& info, + bool shouldUseVPPSection) { + msdk_string prefix = MSDK_STRING(""); + + sstr << sectionName << std::endl; + SERIALIZE_INFO(AllocId); + SERIALIZE_INFO_ARRAY(reserved); + SERIALIZE_INFO(reserved3); + SERIALIZE_INFO(AsyncDepth); + + if (shouldUseVPPSection) { + SERIALIZE_INFO_ARRAY(vpp.reserved); + SerializeFrameInfoStruct(sstr, MSDK_STRING("vpp.In."), info.vpp.In); + SerializeFrameInfoStruct(sstr, MSDK_STRING("vpp.Out."), info.vpp.Out); + } + else { + SerializeMfxInfoMFXStruct(sstr, MSDK_STRING("mfx."), info.mfx); + } + + SERIALIZE_INFO(Protected); + SERIALIZE_INFO(IOPattern); + for (int i = 0; i < info.NumExtParam; i++) { + SerializeExtensionBuffer(sstr, MSDK_STRING("ext."), info.ExtParam[i]); + } + SERIALIZE_INFO(reserved2); +} + +mfxStatus CParametersDumper::DumpLibraryConfiguration(msdk_string fileName, + MFXVideoDECODE* pMfxDec, + MFXVideoVPP* pMfxVPP, + MFXVideoENCODE* pMfxEnc, + const mfxVideoParam* pDecoderPresetParams, + const mfxVideoParam* pVPPPresetParams, + const mfxVideoParam* pEncoderPresetParams) { + try { + msdk_fstream sstr(fileName.c_str(), std::fstream::out); + sstr << MSDK_STRING("Configuration settings (fields from API ") << MFX_VERSION_MAJOR + << MSDK_STRING(".") << MFX_VERSION_MINOR << MSDK_STRING(")\n"); + + mfxVideoParam params; + if (pMfxDec) { + if (GetUnitParams(pMfxDec, pDecoderPresetParams, ¶ms) == MFX_ERR_NONE) { + SerializeVideoParamStruct(sstr, MSDK_STRING("*** Decoder ***"), params, false); + ClearExtBuffs(¶ms); + } + } + if (pMfxVPP) { + if (GetUnitParams(pMfxVPP, pVPPPresetParams, ¶ms) == MFX_ERR_NONE) { + SerializeVideoParamStruct(sstr, MSDK_STRING("*** VPP ***"), params, true); + ClearExtBuffs(¶ms); + } + } + if (pMfxEnc) { + if (GetUnitParams(pMfxEnc, pEncoderPresetParams, ¶ms) == MFX_ERR_NONE) { + SerializeVideoParamStruct(sstr, MSDK_STRING("*** Encoder ***"), params, false); + ClearExtBuffs(¶ms); + } + } + sstr.close(); + } + catch (...) { + msdk_printf(MSDK_STRING("Cannot save library settings into file.\n")); + return MFX_ERR_NULL_PTR; + } + return MFX_ERR_NONE; +} + +void CParametersDumper::ShowConfigurationDiff(msdk_ostream& str1, msdk_ostream& str2) { + msdk_stringstream ss1; + ss1 << str1.rdbuf(); + msdk_stringstream ss2; + ss2 << str2.rdbuf(); + + msdk_string l, r; + while (ss1 >> l && ss2 >> r) { + if (l != r) { + msdk_printf(MSDK_STRING("%s changed to %s \n"), l.c_str(), r.c_str()); + } + else { + continue; + } + } +} diff --git a/tools/legacy/sample_common/src/plugin_utils.cpp b/tools/legacy/sample_common/src/plugin_utils.cpp new file mode 100644 index 00000000..1db329e0 --- /dev/null +++ b/tools/legacy/sample_common/src/plugin_utils.cpp @@ -0,0 +1,147 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#include +#include +#include "mfxvp8.h" +#include "plugin_utils.h" + +bool AreGuidsEqual(const mfxPluginUID& guid1, const mfxPluginUID& guid2) { + for (size_t i = 0; i != sizeof(mfxPluginUID); i++) { + if (guid1.Data[i] != guid2.Data[i]) + return false; + } + return true; +} + +mfxStatus ConvertStringToGuid(const msdk_string& strGuid, mfxPluginUID& mfxGuid) { + mfxStatus sts = MFX_ERR_NONE; + + // Check if symbolic GUID value + std::map uid; + uid[MSDK_STRING("hevcd_sw")] = MFX_PLUGINID_HEVCD_SW; + uid[MSDK_STRING("hevcd_hw")] = MFX_PLUGINID_HEVCD_HW; + + uid[MSDK_STRING("hevce_sw")] = MFX_PLUGINID_HEVCE_SW; + uid[MSDK_STRING("hevce_gacc")] = MFX_PLUGINID_HEVCE_GACC; + uid[MSDK_STRING("hevce_hw")] = MFX_PLUGINID_HEVCE_HW; + + uid[MSDK_STRING("vp8d_hw")] = MFX_PLUGINID_VP8D_HW; + uid[MSDK_STRING("vp8e_hw")] = MFX_PLUGINID_VP8E_HW; + + uid[MSDK_STRING("vp9d_hw")] = MFX_PLUGINID_VP9D_HW; + uid[MSDK_STRING("vp9e_hw")] = MFX_PLUGINID_VP9E_HW; + + uid[MSDK_STRING("camera_hw")] = MFX_PLUGINID_CAMERA_HW; + + uid[MSDK_STRING("capture_hw")] = MFX_PLUGINID_CAPTURE_HW; + + uid[MSDK_STRING("ptir_hw")] = MFX_PLUGINID_ITELECINE_HW; + uid[MSDK_STRING("h264_la_hw")] = MFX_PLUGINID_H264LA_HW; + uid[MSDK_STRING("aacd")] = MFX_PLUGINID_AACD; + uid[MSDK_STRING("aace")] = MFX_PLUGINID_AACE; + + uid[MSDK_STRING("hevce_fei_hw")] = MFX_PLUGINID_HEVCE_FEI_HW; + + if (uid.find(strGuid) == uid.end()) { + mfxGuid = MSDK_PLUGINGUID_NULL; + sts = MFX_ERR_UNKNOWN; + } + else { + mfxGuid = uid[strGuid]; + sts = MFX_ERR_NONE; + } + + // Check if plain GUID value + if (sts) { + if (strGuid.size() != 32) { + sts = MFX_ERR_UNKNOWN; + } + else { + for (size_t i = 0; i < 16; i++) { + unsigned int xx = 0; + msdk_stringstream ss; + ss << std::hex << strGuid.substr(i * 2, 2); + ss >> xx; + mfxGuid.Data[i] = (mfxU8)xx; + } + sts = MFX_ERR_NONE; + } + } + return sts; +} + +const mfxPluginUID& msdkGetPluginUID(mfxIMPL impl, msdkComponentType type, mfxU32 uCodecid) { + if (impl == MFX_IMPL_SOFTWARE) { + switch (type) { + case MSDK_VDECODE: + switch (uCodecid) { + case MFX_CODEC_HEVC: + return MFX_PLUGINID_HEVCD_SW; + } + break; + case MSDK_VENCODE: + switch (uCodecid) { + case MFX_CODEC_HEVC: + return MFX_PLUGINID_HEVCE_SW; + } + break; + } + } + else { + switch (type) { + case MSDK_VENCODE: + switch (uCodecid) { + case MFX_CODEC_VP8: + return MFX_PLUGINID_VP8E_HW; + } + break; +#if MFX_VERSION >= 1027 + case (MSDK_VENCODE | MSDK_FEI): + switch (uCodecid) { + case MFX_CODEC_HEVC: + return MFX_PLUGINID_HEVC_FEI_ENCODE; + } + break; +#endif + case MSDK_VENC: + switch (uCodecid) { + case MFX_CODEC_HEVC: + return MFX_PLUGINID_HEVCE_FEI_HW; // HEVC FEI uses ENC interface + } + break; + } + } + + return MSDK_PLUGINGUID_NULL; +} + +sPluginParams ParsePluginGuid(msdk_char* strPluginGuid) { + sPluginParams pluginParams; + mfxPluginUID uid; + mfxStatus sts = ConvertStringToGuid(strPluginGuid, uid); + + if (sts == MFX_ERR_NONE) { + pluginParams.type = MFX_PLUGINLOAD_TYPE_GUID; + pluginParams.pluginGuid = uid; + } + + return pluginParams; +} + +sPluginParams ParsePluginPath(msdk_char* strPluginGuid) { + sPluginParams pluginParams; + + msdk_char tmpVal[MSDK_MAX_FILENAME_LEN]; + msdk_opt_read(strPluginGuid, tmpVal); + + MSDK_MAKE_BYTE_STRING(tmpVal, pluginParams.strPluginPath); + pluginParams.type = MFX_PLUGINLOAD_TYPE_FILE; + + return pluginParams; +} diff --git a/tools/legacy/sample_common/src/preset_manager.cpp b/tools/legacy/sample_common/src/preset_manager.cpp new file mode 100644 index 00000000..74aab4a1 --- /dev/null +++ b/tools/legacy/sample_common/src/preset_manager.cpp @@ -0,0 +1,251 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "preset_manager.h" +#include "brc_routines.h" +#include "vpl/mfxvideo.h" + +CPresetManager CPresetManager::Inst; + +msdk_string CPresetManager::modesName[PRESET_MAX_MODES] = { + MSDK_STRING("Default"), + MSDK_STRING("DSS"), + MSDK_STRING("Conference"), + MSDK_STRING("Gaming"), +}; + +//GopRefDist, TargetUsage, RateControlMethod, ExtBRCType, AsyncDepth, BRefType +// AdaptiveMaxFrameSize, LowDelayBRC, IntRefType, IntRefCycleSize, IntRefQPDelta, IntRefCycleDist, WeightedPred, WeightedBiPred, EnableBPyramid, EnablePPyramid + +CPresetParameters CPresetManager::presets[PRESET_MAX_MODES][PRESET_MAX_CODECS] = { + // Default + { { 4, + MFX_TARGETUSAGE_BALANCED, + MFX_RATECONTROL_VBR, + EXTBRC_DEFAULT, + 4, + MFX_B_REF_PYRAMID, + 0, + 0, + 0, + 0, + 0, + 0, + MFX_WEIGHTED_PRED_UNKNOWN, + MFX_WEIGHTED_PRED_UNKNOWN, + 0, + 0 }, + { 0, + MFX_TARGETUSAGE_BALANCED, + MFX_RATECONTROL_VBR, + EXTBRC_DEFAULT, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + MFX_WEIGHTED_PRED_UNKNOWN, + MFX_WEIGHTED_PRED_UNKNOWN, + 0, + 0 } }, + // DSS + { + { 1, + MFX_TARGETUSAGE_BALANCED, + MFX_RATECONTROL_QVBR, + EXTBRC_DEFAULT, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + MFX_WEIGHTED_PRED_UNKNOWN, + MFX_WEIGHTED_PRED_UNKNOWN, + 0, + 0 }, + { 1, + MFX_TARGETUSAGE_BALANCED, + MFX_RATECONTROL_QVBR, + EXTBRC_DEFAULT, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + MFX_WEIGHTED_PRED_UNKNOWN, + MFX_WEIGHTED_PRED_UNKNOWN, + 1, + 1 }, + }, + // Conference + { + { 1, + MFX_TARGETUSAGE_BALANCED, + MFX_RATECONTROL_VCM, + EXTBRC_DEFAULT, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + MFX_WEIGHTED_PRED_UNKNOWN, + MFX_WEIGHTED_PRED_UNKNOWN, + 0, + 0 }, + { 1, + MFX_TARGETUSAGE_BALANCED, + MFX_RATECONTROL_VBR, + EXTBRC_ON, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + MFX_WEIGHTED_PRED_UNKNOWN, + MFX_WEIGHTED_PRED_UNKNOWN, + 0, + 0 }, + }, + // Gaming + { + { 1, + MFX_TARGETUSAGE_BALANCED, + MFX_RATECONTROL_QVBR, + EXTBRC_DEFAULT, + 1, + 0, + MFX_CODINGOPTION_ON, + MFX_CODINGOPTION_ON, + MFX_REFRESH_HORIZONTAL, + 8, + 0, + 4, + MFX_WEIGHTED_PRED_UNKNOWN, + MFX_WEIGHTED_PRED_UNKNOWN, + 0, + 0 }, + { 1, + MFX_TARGETUSAGE_BALANCED, + MFX_RATECONTROL_VBR, + EXTBRC_ON, + 1, + 0, + MFX_CODINGOPTION_ON, + MFX_CODINGOPTION_ON, + MFX_REFRESH_HORIZONTAL, + 8, + 0, + 4, + MFX_WEIGHTED_PRED_UNKNOWN, + MFX_WEIGHTED_PRED_UNKNOWN, + 0, + 0 }, + } +}; + +CPresetManager::CPresetManager() {} + +CPresetManager::~CPresetManager() {} + +COutputPresetParameters CPresetManager::GetPreset(EPresetModes mode, + mfxU32 codecFourCC, + mfxF64 fps, + mfxU32 width, + mfxU32 height, + bool isHWLib) { + COutputPresetParameters retVal = GetBasicPreset(mode, codecFourCC); + *(dynamic_cast(&retVal)) = + GetDependentPresetParameters(mode, codecFourCC, fps, width, height, retVal.TargetUsage); + + if (!isHWLib) { + // These features are unsupported in SW library + retVal.WeightedBiPred = 0; + retVal.WeightedPred = 0; + } + + return retVal; +} + +COutputPresetParameters CPresetManager::GetBasicPreset(EPresetModes mode, mfxU32 codecFourCC) { + COutputPresetParameters retVal; + + if (mode < 0 || mode >= PRESET_MAX_MODES) { + mode = PRESET_DEFAULT; + } + + // Reading basic preset values + switch (codecFourCC) { + case MFX_CODEC_AVC: + retVal = presets[mode][PRESET_AVC]; + break; + case MFX_CODEC_HEVC: + retVal = presets[mode][PRESET_HEVC]; + break; + default: + if (mode != PRESET_DEFAULT) { + msdk_printf(MSDK_STRING( + "WARNING: Presets are available for h.264 or h.265 codecs only. Request for particular preset is ignored.\n")); + } + + if (codecFourCC != MFX_CODEC_JPEG) { + retVal.TargetUsage = MFX_TARGETUSAGE_BALANCED; + retVal.RateControlMethod = MFX_RATECONTROL_CBR; + } + retVal.AsyncDepth = 4; + return retVal; + } + + retVal.PresetName = modesName[mode]; + return retVal; +} + +CDependentPresetParameters CPresetManager::GetDependentPresetParameters(EPresetModes mode, + mfxU32 codecFourCC, + mfxF64 fps, + mfxU32 width, + mfxU32 height, + mfxU16 targetUsage) { + CDependentPresetParameters retVal = {}; + retVal.TargetKbps = codecFourCC != MFX_CODEC_JPEG + ? CalculateDefaultBitrate(codecFourCC, targetUsage, width, height, fps) + : 0; + + if (codecFourCC == MFX_CODEC_AVC || codecFourCC == MFX_CODEC_HEVC) { + // Calculating dependent preset values + retVal.MaxKbps = (mode == PRESET_GAMING ? (mfxU16)(1.2 * retVal.TargetKbps) : 0); + retVal.GopPicSize = + (mode == PRESET_GAMING || mode == PRESET_DEFAULT ? 0 : (mfxU16)(2 * fps)); + retVal.BufferSizeInKB = + (mode == PRESET_DEFAULT ? 0 : retVal.TargetKbps); // 1 second buffers + retVal.LookAheadDepth = 0; // Enable this setting if LA BRC will be enabled + retVal.MaxFrameSize = (mode == PRESET_GAMING ? (mfxU32)(retVal.TargetKbps * 0.166) : 0); + } + return retVal; +} + +EPresetModes CPresetManager::PresetNameToMode(const msdk_char* name) { + for (int i = 0; i < PRESET_MAX_MODES; i++) { + if (!msdk_stricmp(modesName[i].c_str(), name)) { + return (EPresetModes)i; + } + } + return PRESET_MAX_MODES; +} diff --git a/tools/legacy/sample_common/src/sample_utils.cpp b/tools/legacy/sample_common/src/sample_utils.cpp new file mode 100644 index 00000000..1047c953 --- /dev/null +++ b/tools/legacy/sample_common/src/sample_utils.cpp @@ -0,0 +1,2684 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#include +#include +#include +#include +#include + +#include "vpl/mfxcommon.h" +#include "vpl/mfxjpeg.h" +#if (MFX_VERSION < 2000) + #include "mfxvp8.h" +#endif +#include "sample_defs.h" +#include "sample_utils.h" +#include "time_statistics.h" +#include "vm/strings_defs.h" + +msdk_tick CTimer::frequency = 0; +msdk_tick CTimeStatisticsReal::frequency = 0; + +mfxStatus CopyBitstream2(mfxBitstream* dest, mfxBitstream* src) { + if (!dest || !src) + return MFX_ERR_NULL_PTR; + + if (!dest->DataLength) { + dest->DataOffset = 0; + } + else { + memmove(dest->Data, dest->Data + dest->DataOffset, dest->DataLength); + dest->DataOffset = 0; + } + + if (src->DataLength > dest->MaxLength - dest->DataLength - dest->DataOffset) + return MFX_ERR_NOT_ENOUGH_BUFFER; + + MSDK_MEMCPY_BITSTREAM(*dest, dest->DataOffset, src->Data, src->DataLength); + dest->DataLength = src->DataLength; + + dest->DataFlag = src->DataFlag; + + //common Extended buffer will be for src and dest bit streams + dest->EncryptedData = src->EncryptedData; + + return MFX_ERR_NONE; +} + +mfxStatus GetFrameLength(mfxU16 width, mfxU16 height, mfxU32 ColorFormat, mfxU32& length) { + switch (ColorFormat) { + case MFX_FOURCC_NV12: + case MFX_FOURCC_I420: + length = 3 * width * height / 2; + break; + case MFX_FOURCC_YUY2: + length = 2 * width * height; + break; + case MFX_FOURCC_RGB4: + length = 4 * width * height; + break; + case MFX_FOURCC_P010: + length = 3 * width * height; + break; + default: + return MFX_ERR_UNSUPPORTED; + } + + return MFX_ERR_NONE; +} + +CSmplYUVReader::CSmplYUVReader() + : m_files(), + m_bInited(false), + m_ColorFormat(MFX_FOURCC_YV12), + shouldShift10BitsHigh(false) {} + +mfxStatus CSmplYUVReader::Init(std::list inputs, + mfxU32 ColorFormat, + bool enableShifting) { + Close(); + + if (MFX_FOURCC_NV12 != ColorFormat && MFX_FOURCC_YV12 != ColorFormat && + MFX_FOURCC_I420 != ColorFormat && MFX_FOURCC_YUY2 != ColorFormat && + MFX_FOURCC_UYVY != ColorFormat && MFX_FOURCC_RGB4 != ColorFormat && + MFX_FOURCC_BGR4 != ColorFormat && MFX_FOURCC_P010 != ColorFormat && + MFX_FOURCC_P210 != ColorFormat && MFX_FOURCC_AYUV != ColorFormat && + MFX_FOURCC_A2RGB10 != ColorFormat +#if (MFX_VERSION >= 1027) + && MFX_FOURCC_Y210 != ColorFormat && MFX_FOURCC_Y410 != ColorFormat +#endif +#if (MFX_VERSION >= 1031) + && MFX_FOURCC_P016 != ColorFormat && MFX_FOURCC_Y216 != ColorFormat +#endif +#if (MFX_VERSION >= 2000) + && MFX_FOURCC_I010 != ColorFormat +#endif + ) { + return MFX_ERR_UNSUPPORTED; + } + + if (MFX_FOURCC_P010 == ColorFormat || MFX_FOURCC_P210 == ColorFormat +#if (MFX_VERSION >= 1027) + || MFX_FOURCC_Y210 == ColorFormat +#endif +#if (MFX_VERSION >= 1031) + || MFX_FOURCC_P016 == ColorFormat || MFX_FOURCC_Y216 == ColorFormat +#endif + ) { + shouldShift10BitsHigh = enableShifting; + } + + if (!inputs.size()) { + return MFX_ERR_UNSUPPORTED; + } + + for (ls_iterator it = inputs.begin(); it != inputs.end(); it++) { + FILE* f = 0; + MSDK_FOPEN(f, (*it).c_str(), MSDK_STRING("rb")); + MSDK_CHECK_POINTER(f, MFX_ERR_NULL_PTR); + + m_files.push_back(f); + } + + m_ColorFormat = ColorFormat; + + m_bInited = true; + + return MFX_ERR_NONE; +} + +CSmplYUVReader::~CSmplYUVReader() { + Close(); +} + +void CSmplYUVReader::Close() { + for (mfxU32 i = 0; i < m_files.size(); i++) { + fclose(m_files[i]); + } + m_files.clear(); + m_bInited = false; +} + +void CSmplYUVReader::Reset() { + for (mfxU32 i = 0; i < m_files.size(); i++) { + fseek(m_files[i], 0, SEEK_SET); + } +} + +mfxStatus CSmplYUVReader::SkipNframesFromBeginning(mfxU16 w, + mfxU16 h, + mfxU32 viewId, + mfxU32 nframes) { + // change file position for read from beginning to "frameLength * nframes". + mfxU32 frameLength; + + if (MFX_ERR_NONE != GetFrameLength(w, h, m_ColorFormat, frameLength)) { + msdk_printf(MSDK_STRING("Input color format %s is unsupported in qpfile mode\n"), + ColorFormatToStr(m_ColorFormat)); + return MFX_ERR_UNSUPPORTED; + } + + if (0 != fseek(m_files[viewId], frameLength * nframes, SEEK_SET)) + return MFX_ERR_MORE_DATA; + + return MFX_ERR_NONE; +} + +mfxStatus CSmplYUVReader::LoadNextFrame(mfxFrameSurface1* pSurface) { + // check if reader is initialized + MSDK_CHECK_ERROR(m_bInited, false, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_POINTER(pSurface, MFX_ERR_NULL_PTR); + + mfxU32 nBytesRead; + mfxU16 w, h, i, pitch; + mfxU8 *ptr, *ptr2; + mfxFrameInfo& pInfo = pSurface->Info; + mfxFrameData& pData = pSurface->Data; + + mfxU32 shiftSizeLuma = 16 - pInfo.BitDepthLuma; + mfxU32 shiftSizeChroma = 16 - pInfo.BitDepthChroma; + + mfxU32 vid = pInfo.FrameId.ViewId; + + if (vid > m_files.size()) { + return MFX_ERR_UNSUPPORTED; + } + + if (pInfo.CropH > 0 && pInfo.CropW > 0) { + w = pInfo.CropW; + h = pInfo.CropH; + } + else { + w = pInfo.Width; + h = pInfo.Height; + } + + mfxU32 nBytesPerPixel = (pInfo.FourCC == MFX_FOURCC_P010 || pInfo.FourCC == MFX_FOURCC_P210 +#if (MFX_VERSION >= 1031) + || pInfo.FourCC == MFX_FOURCC_P016 +#endif +#if (MFX_VERSION >= 2000) + || pInfo.FourCC == MFX_FOURCC_I010 +#endif + ) + ? 2 + : 1; + + if (MFX_FOURCC_YUY2 == pInfo.FourCC || MFX_FOURCC_UYVY == pInfo.FourCC || + MFX_FOURCC_RGB4 == pInfo.FourCC || MFX_FOURCC_BGR4 == pInfo.FourCC || + MFX_FOURCC_AYUV == pInfo.FourCC || MFX_FOURCC_A2RGB10 == pInfo.FourCC +#if (MFX_VERSION >= 1027) + || MFX_FOURCC_Y210 == pInfo.FourCC || MFX_FOURCC_Y410 == pInfo.FourCC +#endif +#if (MFX_VERSION >= 1031) + || MFX_FOURCC_Y216 == pInfo.FourCC +#endif + ) { + //Packed format: Luminance and chrominance are on the same plane + switch (m_ColorFormat) { + case MFX_FOURCC_A2RGB10: + case MFX_FOURCC_RGB4: + case MFX_FOURCC_BGR4: + pitch = pData.Pitch; + ptr = (pData.R < pData.G) ? pData.R : pData.G; + ptr = (ptr < pData.B) ? ptr : pData.B; + //ptr = std::min({ pData.R, pData.G, pData.B }); + ptr = ptr + pInfo.CropX * 4 + pInfo.CropY * pData.Pitch; + + for (i = 0; i < h; i++) { + nBytesRead = (mfxU32)fread(ptr + i * pitch, 1, 4 * w, m_files[vid]); + + if ((mfxU32)4 * w != nBytesRead) { + return MFX_ERR_MORE_DATA; + } + } + break; + case MFX_FOURCC_YUY2: + case MFX_FOURCC_UYVY: + pitch = pData.Pitch; + ptr = m_ColorFormat == MFX_FOURCC_YUY2 + ? pData.Y + pInfo.CropX * 2 + pInfo.CropY * pData.Pitch + : pData.U + pInfo.CropX + pInfo.CropY * pData.Pitch; + + for (i = 0; i < h; i++) { + nBytesRead = (mfxU32)fread(ptr + i * pitch, 2, w, m_files[vid]); + + if ((mfxU32)w != nBytesRead) { + return MFX_ERR_MORE_DATA; + } + } + break; + case MFX_FOURCC_AYUV: + pitch = pData.Pitch; + ptr = pData.V + pInfo.CropX * 4 + pInfo.CropY * pData.Pitch; + + for (i = 0; i < h; i++) { + nBytesRead = (mfxU32)fread(ptr + i * pitch, 4, w, m_files[vid]); + + if ((mfxU32)w != nBytesRead) { + return MFX_ERR_MORE_DATA; + } + } + break; + +#if (MFX_VERSION >= 1027) + case MFX_FOURCC_Y210: + case MFX_FOURCC_Y410: + #if (MFX_VERSION >= 1031) + case MFX_FOURCC_Y216: + #endif + pitch = pData.Pitch; + ptr = ((pInfo.FourCC == MFX_FOURCC_Y210 + #if (MFX_VERSION >= 1031) + || pInfo.FourCC == MFX_FOURCC_Y216 + #endif + ) + ? pData.Y + : (mfxU8*)pData.Y410) + + pInfo.CropX * 4 + pInfo.CropY * pData.Pitch; + + for (i = 0; i < h; i++) { + nBytesRead = (mfxU32)fread(ptr + i * pitch, 1, 4 * w, m_files[vid]); + + if ((mfxU32)4 * w != nBytesRead) { + return MFX_ERR_MORE_DATA; + } + + if ((MFX_FOURCC_Y210 == pInfo.FourCC + #if (MFX_VERSION >= 1031) + || MFX_FOURCC_Y216 == pInfo.FourCC + #endif + ) && + shouldShift10BitsHigh) { + mfxU16* shortPtr = (mfxU16*)(ptr + i * pitch); + for (int idx = 0; idx < w * 2; idx++) { + shortPtr[idx] <<= shiftSizeLuma; + } + } + } + break; +#endif + default: + return MFX_ERR_UNSUPPORTED; + } + } + else if (MFX_FOURCC_NV12 == pInfo.FourCC || MFX_FOURCC_YV12 == pInfo.FourCC || + MFX_FOURCC_P010 == pInfo.FourCC || MFX_FOURCC_P210 == pInfo.FourCC +#if (MFX_VERSION >= 1031) + || MFX_FOURCC_P016 == pInfo.FourCC +#endif +#if (MFX_VERSION >= 2000) + || MFX_FOURCC_I420 == pInfo.FourCC || MFX_FOURCC_I010 == pInfo.FourCC +#endif + ) { + pitch = pData.Pitch; + ptr = pData.Y + pInfo.CropX + pInfo.CropY * pData.Pitch; + + // read luminance plane + for (i = 0; i < h; i++) { + nBytesRead = (mfxU32)fread(ptr + i * pitch, nBytesPerPixel, w, m_files[vid]); + + if (w != nBytesRead) { + return MFX_ERR_MORE_DATA; + } + + // Shifting data if required + if ((MFX_FOURCC_P010 == pInfo.FourCC || MFX_FOURCC_P210 == pInfo.FourCC +#if (MFX_VERSION >= 1031) + || MFX_FOURCC_P016 == pInfo.FourCC +#endif + ) && + shouldShift10BitsHigh) { + mfxU16* shortPtr = (mfxU16*)(ptr + i * pitch); + for (int idx = 0; idx < w; idx++) { + shortPtr[idx] <<= shiftSizeLuma; + } + } + } + + // read chroma planes + switch (m_ColorFormat) // color format of data in the input file + { + case MFX_FOURCC_I420: + case MFX_FOURCC_YV12: + case MFX_FOURCC_NV12: + switch (pInfo.FourCC) { + case MFX_FOURCC_NV12: + + mfxU8 buf[2048]; // maximum supported chroma width for nv12 + mfxU32 j, dstOffset[2]; + w /= 2; + h /= 2; + ptr = pData.UV + pInfo.CropX + (pInfo.CropY / 2) * pitch; + if (w > 2048) { + return MFX_ERR_UNSUPPORTED; + } + + if (m_ColorFormat == MFX_FOURCC_I420) { + dstOffset[0] = 0; + dstOffset[1] = 1; + } + else { + dstOffset[0] = 1; + dstOffset[1] = 0; + } + + // load first chroma plane: U (input == I420) or V (input == YV12) + for (i = 0; i < h; i++) { + nBytesRead = (mfxU32)fread(buf, 1, w, m_files[vid]); + if (w != nBytesRead) { + return MFX_ERR_MORE_DATA; + } + for (j = 0; j < w; j++) { + ptr[i * pitch + j * 2 + dstOffset[0]] = buf[j]; + } + } + + // load second chroma plane: V (input == I420) or U (input == YV12) + for (i = 0; i < h; i++) { + nBytesRead = (mfxU32)fread(buf, 1, w, m_files[vid]); + + if (w != nBytesRead) { + return MFX_ERR_MORE_DATA; + } + for (j = 0; j < w; j++) { + ptr[i * pitch + j * 2 + dstOffset[1]] = buf[j]; + } + } + + break; + case MFX_FOURCC_YV12: + case MFX_FOURCC_I420: + w /= 2; + h /= 2; + pitch /= 2; + + if (m_ColorFormat == MFX_FOURCC_I420) { + ptr = pData.U + (pInfo.CropX / 2) + (pInfo.CropY / 2) * pitch; + ptr2 = pData.V + (pInfo.CropX / 2) + (pInfo.CropY / 2) * pitch; + } + else { + ptr = pData.V + (pInfo.CropX / 2) + (pInfo.CropY / 2) * pitch; + ptr2 = pData.U + (pInfo.CropX / 2) + (pInfo.CropY / 2) * pitch; + } + + for (i = 0; i < h; i++) { + nBytesRead = (mfxU32)fread(ptr + i * pitch, 1, w, m_files[vid]); + + if (w != nBytesRead) { + return MFX_ERR_MORE_DATA; + } + } + for (i = 0; i < h; i++) { + nBytesRead = (mfxU32)fread(ptr2 + i * pitch, 1, w, m_files[vid]); + + if (w != nBytesRead) { + return MFX_ERR_MORE_DATA; + } + } + break; + default: + return MFX_ERR_UNSUPPORTED; + } + break; + case MFX_FOURCC_I010: + h /= 2; + pitch /= 2; + + ptr = pData.U + (pInfo.CropX / 2) + (pInfo.CropY / 2) * pitch; + ptr2 = pData.V + (pInfo.CropX / 2) + (pInfo.CropY / 2) * pitch; + + for (i = 0; i < h; i++) { + nBytesRead = (mfxU32)fread(ptr + i * pitch, 1, w, m_files[vid]); + + if (w != nBytesRead) { + return MFX_ERR_MORE_DATA; + } + } + for (i = 0; i < h; i++) { + nBytesRead = (mfxU32)fread(ptr2 + i * pitch, 1, w, m_files[vid]); + + if (w != nBytesRead) { + return MFX_ERR_MORE_DATA; + } + } + break; + case MFX_FOURCC_P010: + case MFX_FOURCC_P210: +#if (MFX_VERSION >= 1031) + case MFX_FOURCC_P016: +#endif + if (MFX_FOURCC_P210 != pInfo.FourCC) { + h /= 2; + } + ptr = pData.UV + pInfo.CropX + (pInfo.CropY / 2) * pitch; + for (i = 0; i < h; i++) { + nBytesRead = (mfxU32)fread(ptr + i * pitch, nBytesPerPixel, w, m_files[vid]); + + if (w != nBytesRead) { + return MFX_ERR_MORE_DATA; + } + + // Shifting data if required + if ((MFX_FOURCC_P010 == pInfo.FourCC || MFX_FOURCC_P210 == pInfo.FourCC +#if (MFX_VERSION >= 1031) + || MFX_FOURCC_P016 == pInfo.FourCC +#endif + ) && + shouldShift10BitsHigh) { + mfxU16* shortPtr = (mfxU16*)(ptr + i * pitch); + for (int idx = 0; idx < w; idx++) { + shortPtr[idx] <<= shiftSizeChroma; + } + } + } + + break; + default: + return MFX_ERR_UNSUPPORTED; + } + } + else { + return MFX_ERR_UNSUPPORTED; + } + + return MFX_ERR_NONE; +} + +CSmplBitstreamWriter::CSmplBitstreamWriter() { + m_fSink = NULL; + m_bInited = false; + m_nProcessedFramesNum = 0; +} + +CSmplBitstreamWriter::~CSmplBitstreamWriter() { + Close(); +} + +void CSmplBitstreamWriter::Close() { + if (m_fSink) { + fclose(m_fSink); + m_fSink = NULL; + } + + m_bInited = false; +} + +mfxStatus CSmplBitstreamWriter::Init(const msdk_char* strFileName) { + MSDK_CHECK_POINTER(strFileName, MFX_ERR_NULL_PTR); + if (!msdk_strlen(strFileName)) + return MFX_ERR_NONE; + + Close(); + + //init file to write encoded data + MSDK_FOPEN(m_fSink, strFileName, MSDK_STRING("wb+")); + MSDK_CHECK_POINTER(m_fSink, MFX_ERR_NULL_PTR); + + m_sFile = msdk_string(strFileName); + //set init state to true in case of success + m_bInited = true; + return MFX_ERR_NONE; +} + +mfxStatus CSmplBitstreamWriter::Reset() { + return Init(m_sFile.c_str()); +} + +mfxStatus CSmplBitstreamWriter::WriteNextFrame(mfxBitstream* pMfxBitstream, bool isPrint) { + // check if writer is initialized + MSDK_CHECK_ERROR(m_bInited, false, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_POINTER(pMfxBitstream, MFX_ERR_NULL_PTR); + + if (pMfxBitstream->DataLength) { + mfxU32 nBytesWritten = 0; + + nBytesWritten = (mfxU32)fwrite(pMfxBitstream->Data + pMfxBitstream->DataOffset, + 1, + pMfxBitstream->DataLength, + m_fSink); + MSDK_CHECK_NOT_EQUAL(nBytesWritten, pMfxBitstream->DataLength, MFX_ERR_UNDEFINED_BEHAVIOR); + + m_nProcessedFramesNum++; + + // mark that we don't need bit stream data any more + pMfxBitstream->DataLength = 0; + } + + // print encoding progress to console every certain number of frames (not to affect performance too much) + if (isPrint && (1 == m_nProcessedFramesNum || (0 == (m_nProcessedFramesNum % 100)))) { + msdk_printf(MSDK_STRING("Frame number: %u\r"), m_nProcessedFramesNum); + } + + return MFX_ERR_NONE; +} + +CSmplBitstreamDuplicateWriter::CSmplBitstreamDuplicateWriter() : CSmplBitstreamWriter() { + m_fSinkDuplicate = NULL; + m_bJoined = false; +} + +mfxStatus CSmplBitstreamDuplicateWriter::InitDuplicate(const msdk_char* strFileName) { + MSDK_CHECK_POINTER(strFileName, MFX_ERR_NULL_PTR); + MSDK_CHECK_ERROR(msdk_strlen(strFileName), 0, MFX_ERR_NOT_INITIALIZED); + + if (m_fSinkDuplicate) { + fclose(m_fSinkDuplicate); + m_fSinkDuplicate = NULL; + } + MSDK_FOPEN(m_fSinkDuplicate, strFileName, MSDK_STRING("wb+")); + MSDK_CHECK_POINTER(m_fSinkDuplicate, MFX_ERR_NULL_PTR); + + m_bJoined = false; // mark we own the file handle + + return MFX_ERR_NONE; +} + +mfxStatus CSmplBitstreamDuplicateWriter::JoinDuplicate(CSmplBitstreamDuplicateWriter* pJoinee) { + MSDK_CHECK_POINTER(pJoinee, MFX_ERR_NULL_PTR); + MSDK_CHECK_ERROR(pJoinee->m_fSinkDuplicate, NULL, MFX_ERR_NOT_INITIALIZED); + + m_fSinkDuplicate = pJoinee->m_fSinkDuplicate; + m_bJoined = true; // mark we do not own the file handle + + return MFX_ERR_NONE; +} + +mfxStatus CSmplBitstreamDuplicateWriter::WriteNextFrame(mfxBitstream* pMfxBitstream, bool isPrint) { + MSDK_CHECK_ERROR(m_fSinkDuplicate, NULL, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_POINTER(pMfxBitstream, MFX_ERR_NULL_PTR); + + mfxU32 nBytesWritten = (mfxU32)fwrite(pMfxBitstream->Data + pMfxBitstream->DataOffset, + 1, + pMfxBitstream->DataLength, + m_fSinkDuplicate); + MSDK_CHECK_NOT_EQUAL(nBytesWritten, pMfxBitstream->DataLength, MFX_ERR_UNDEFINED_BEHAVIOR); + + CSmplBitstreamWriter::WriteNextFrame(pMfxBitstream, isPrint); + + return MFX_ERR_NONE; +} + +void CSmplBitstreamDuplicateWriter::Close() { + if (m_fSinkDuplicate && !m_bJoined) { + fclose(m_fSinkDuplicate); + } + + m_fSinkDuplicate = NULL; + m_bJoined = false; + + CSmplBitstreamWriter::Close(); +} + +CSmplBitstreamReader::CSmplBitstreamReader() { + m_fSource = NULL; + m_bInited = false; +} + +CSmplBitstreamReader::~CSmplBitstreamReader() { + Close(); +} + +void CSmplBitstreamReader::Close() { + if (m_fSource) { + fclose(m_fSource); + m_fSource = NULL; + } + + m_bInited = false; +} + +void CSmplBitstreamReader::Reset() { + if (!m_bInited) + return; + + fseek(m_fSource, 0, SEEK_SET); +} + +mfxStatus CSmplBitstreamReader::Init(const msdk_char* strFileName) { + MSDK_CHECK_POINTER(strFileName, MFX_ERR_NULL_PTR); + if (!msdk_strlen(strFileName)) + return MFX_ERR_NONE; + + Close(); + + //open file to read input stream + MSDK_FOPEN(m_fSource, strFileName, MSDK_STRING("rb")); + MSDK_CHECK_POINTER(m_fSource, MFX_ERR_NULL_PTR); + + m_bInited = true; + return MFX_ERR_NONE; +} + +#define CHECK_SET_EOS(pBitstream) \ + if (feof(m_fSource)) { \ + pBitstream->DataFlag |= MFX_BITSTREAM_EOS; \ + } + +mfxStatus CSmplBitstreamReader::ReadNextFrame(mfxBitstream* pBS) { + if (!m_bInited) + return MFX_ERR_NOT_INITIALIZED; + + MSDK_CHECK_POINTER(pBS, MFX_ERR_NULL_PTR); + + // Not enough memory to read new chunk of data + if (pBS->MaxLength == pBS->DataLength) + return MFX_ERR_NOT_ENOUGH_BUFFER; + + memmove(pBS->Data, pBS->Data + pBS->DataOffset, pBS->DataLength); + pBS->DataOffset = 0; + mfxU32 nBytesRead = + (mfxU32)fread(pBS->Data + pBS->DataLength, 1, pBS->MaxLength - pBS->DataLength, m_fSource); + + CHECK_SET_EOS(pBS); + + if (0 == nBytesRead) { + return MFX_ERR_MORE_DATA; + } + + pBS->DataLength += nBytesRead; + + return MFX_ERR_NONE; +} + +mfxU32 CJPEGFrameReader::FindMarker(mfxBitstream* pBS, + mfxU32 startOffset, + CJPEGFrameReader::JPEGMarker marker) { + for (mfxU32 i = startOffset; i + sizeof(mfxU16) <= pBS->DataLength; i++) { + if (*(mfxU16*)(pBS->Data + i) == (mfxU16)marker) { + return i; + } + } + return 0xFFFFFFFF; +} + +mfxStatus CJPEGFrameReader::ReadNextFrame(mfxBitstream* pBS) { + mfxStatus sts = MFX_ERR_NONE; + mfxU32 offsetSOI = 0xFFFFFFFF; + + pBS->DataFlag = MFX_BITSTREAM_COMPLETE_FRAME; + + while ((offsetSOI = FindMarker(pBS, pBS->DataOffset, CJPEGFrameReader::SOI)) == 0xFFFFFFFF && + sts == MFX_ERR_NONE) { + sts = CSmplBitstreamReader::ReadNextFrame(pBS); + } + + //--- Finding EOI of frame, to make sure that it is complete + while (FindMarker(pBS, offsetSOI, CJPEGFrameReader::EOI) == 0xFFFFFFFF && sts == MFX_ERR_NONE) { + sts = CSmplBitstreamReader::ReadNextFrame(pBS); + } + + return sts; +} + +CIVFFrameReader::CIVFFrameReader() { + MSDK_ZERO_MEMORY(m_hdr); +} + +#define READ_BYTES(pBuf, size) \ + { \ + mfxU32 nBytesRead = (mfxU32)fread(pBuf, 1, size, m_fSource); \ + if (nBytesRead != size) \ + return MFX_ERR_MORE_DATA; \ + } + +mfxStatus CIVFFrameReader::ReadHeader() { + // read and skip IVF header + READ_BYTES(&m_hdr.dkif, sizeof(m_hdr.dkif)); + READ_BYTES(&m_hdr.version, sizeof(m_hdr.version)); + READ_BYTES(&m_hdr.header_len, sizeof(m_hdr.header_len)); + READ_BYTES(&m_hdr.codec_FourCC, sizeof(m_hdr.codec_FourCC)); + READ_BYTES(&m_hdr.width, sizeof(m_hdr.width)); + READ_BYTES(&m_hdr.height, sizeof(m_hdr.height)); + READ_BYTES(&m_hdr.frame_rate, sizeof(m_hdr.frame_rate)); + READ_BYTES(&m_hdr.time_scale, sizeof(m_hdr.time_scale)); + READ_BYTES(&m_hdr.num_frames, sizeof(m_hdr.num_frames)); + READ_BYTES(&m_hdr.unused, sizeof(m_hdr.unused)); + MSDK_CHECK_NOT_EQUAL(fseek(m_fSource, m_hdr.header_len, SEEK_SET), 0, MFX_ERR_UNSUPPORTED); + return MFX_ERR_NONE; +} + +void CIVFFrameReader::Reset() { + CSmplBitstreamReader::Reset(); + std::ignore = ReadHeader(); +} + +mfxStatus CIVFFrameReader::Init(const msdk_char* strFileName) { + mfxStatus sts = CSmplBitstreamReader::Init(strFileName); + MSDK_CHECK_STATUS(sts, "CSmplBitstreamReader::Init failed"); + + sts = ReadHeader(); + MSDK_CHECK_STATUS(sts, "CIVFFrameReader::ReadHeader failed"); + + // check header + MSDK_CHECK_NOT_EQUAL(MFX_MAKEFOURCC('D', 'K', 'I', 'F'), m_hdr.dkif, MFX_ERR_UNSUPPORTED); + if ((m_hdr.codec_FourCC != MFX_MAKEFOURCC('V', 'P', '8', '0')) && + (m_hdr.codec_FourCC != MFX_MAKEFOURCC('V', 'P', '9', '0')) && + (m_hdr.codec_FourCC != MFX_MAKEFOURCC('A', 'V', '0', '1'))) { + return MFX_ERR_UNSUPPORTED; + } + + return MFX_ERR_NONE; +} + +// reads a complete frame into given bitstream +mfxStatus CIVFFrameReader::ReadNextFrame(mfxBitstream* pBS) { + MSDK_CHECK_POINTER(pBS, MFX_ERR_NULL_PTR); + + memmove(pBS->Data, pBS->Data + pBS->DataOffset, pBS->DataLength); + pBS->DataOffset = 0; + pBS->DataFlag = MFX_BITSTREAM_COMPLETE_FRAME; + + /*bytes pos-(pos+3) size of frame in bytes (not including the 12-byte header) + bytes (pos+4)-(pos+11) 64-bit presentation timestamp + bytes (pos+12)-(pos+12+nBytesInFrame) frame data + */ + + mfxU32 nBytesInFrame = 0; + mfxU64 nTimeStamp = 0; + + // read frame size + READ_BYTES(&nBytesInFrame, sizeof(nBytesInFrame)); + CHECK_SET_EOS(pBS); + + // read time stamp + READ_BYTES(&nTimeStamp, sizeof(nTimeStamp)); + CHECK_SET_EOS(pBS); + + //check if bitstream has enough space to hold the frame + if (nBytesInFrame > pBS->MaxLength - pBS->DataLength - pBS->DataOffset) + return MFX_ERR_NOT_ENOUGH_BUFFER; + + // read frame data + READ_BYTES(pBS->Data + pBS->DataOffset + pBS->DataLength, nBytesInFrame); + CHECK_SET_EOS(pBS); + pBS->DataLength += nBytesInFrame; + + // it is application's responsibility to make sure the bitstream contains a single complete frame and nothing else + // application has to provide input pBS with pBS->DataLength = 0 + + return MFX_ERR_NONE; +} + +#if (MFX_VERSION >= 2000) +CIVFFrameWriter::CIVFFrameWriter() { + MSDK_ZERO_MEMORY(m_streamHeader); + MSDK_ZERO_MEMORY(m_frameHeader); + m_frameNum = 0; +} + +mfxStatus CIVFFrameWriter::WriteStreamHeader() { + mfxU32 nBytesWritten = (mfxU32)fwrite(&m_streamHeader, 1, sizeof(m_streamHeader), m_fSink); + if (nBytesWritten != sizeof(m_streamHeader)) + return MFX_ERR_MORE_BITSTREAM; + + return MFX_ERR_NONE; +} + +mfxStatus CIVFFrameWriter::WriteFrameHeader() { + mfxU32 nBytesWritten = (mfxU32)fwrite(&m_frameHeader, 1, sizeof(m_frameHeader), m_fSink); + if (nBytesWritten != sizeof(m_frameHeader)) + return MFX_ERR_MORE_BITSTREAM; + + return MFX_ERR_NONE; +} + +void CIVFFrameWriter::UpdateNumberOfFrames() { + if (m_fSink) { + fseek(m_fSink, 24, SEEK_SET); + fwrite(&m_frameNum, 1, sizeof(mfxU32), m_fSink); + } +} + +mfxStatus CIVFFrameWriter::Reset() { + mfxStatus sts = CSmplBitstreamWriter::Reset(); + MSDK_CHECK_STATUS(sts, "CSmplBitstreamWriter::Reset() failed"); + sts = WriteStreamHeader(); + MSDK_CHECK_STATUS(sts, "CIVFFrameWriter::WriteStreamHeader() failed"); + + return MFX_ERR_NONE; +} + +mfxStatus CIVFFrameWriter::Init(const msdk_char* strFileName, + const mfxU16 w, + const mfxU16 h, + const mfxU32 fr_nom, + const mfxU32 fr_denom) { + mfxStatus sts = CSmplBitstreamWriter::Init(strFileName); + MSDK_CHECK_STATUS(sts, "CSmplBitstreamWriter::Init failed"); + + m_streamHeader.dkif = MFX_MAKEFOURCC('D', 'K', 'I', 'F'); + m_streamHeader.header_len = sizeof(m_streamHeader); + m_streamHeader.codec_FourCC = MFX_MAKEFOURCC('A', 'V', '0', '1'); + m_streamHeader.width = w; + m_streamHeader.height = h; + m_streamHeader.frame_rate = fr_nom; + m_streamHeader.time_scale = fr_denom; + + sts = WriteStreamHeader(); + MSDK_CHECK_STATUS(sts, "CIVFFrameWriter::WriteStreamHeader failed"); + + return MFX_ERR_NONE; +} + +// write a complete frame into given bitstream +mfxStatus CIVFFrameWriter::WriteNextFrame(mfxBitstream* pMfxBitstream, bool isPrint) { + MSDK_CHECK_ERROR(m_fSink, NULL, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_POINTER(pMfxBitstream, MFX_ERR_NULL_PTR); + + if (pMfxBitstream->DataLength) { + m_frameHeader.frame_size = pMfxBitstream->DataLength; + m_frameHeader.pts_low = (mfxU32)(m_frameNum >> 32); + m_frameHeader.pts_high = (mfxU32)(m_frameNum & 0xFFFFFFFF); + + WriteFrameHeader(); + CSmplBitstreamWriter::WriteNextFrame(pMfxBitstream, isPrint); + + m_frameNum++; + } + + return MFX_ERR_NONE; +} + +void CIVFFrameWriter::Close() { + UpdateNumberOfFrames(); + CSmplBitstreamWriter::Close(); +} +#endif + +CSmplYUVWriter::CSmplYUVWriter() { + m_bInited = false; + m_bIsMultiView = false; + m_fDest = NULL; + m_fDestMVC = NULL; + m_numCreatedFiles = 0; + m_nViews = 0; +}; + +mfxStatus CSmplYUVWriter::Init(const msdk_char* strFileName, const mfxU32 numViews) { + MSDK_CHECK_POINTER(strFileName, MFX_ERR_NULL_PTR); + MSDK_CHECK_ERROR(msdk_strlen(strFileName), 0, MFX_ERR_NOT_INITIALIZED); + + m_sFile = msdk_string(strFileName); + m_nViews = numViews; + + Close(); + + //open file to write decoded data + + if (!m_bIsMultiView) { + MSDK_FOPEN(m_fDest, m_sFile.c_str(), MSDK_STRING("wb")); + MSDK_CHECK_POINTER(m_fDest, MFX_ERR_NULL_PTR); + ++m_numCreatedFiles; + } + else { + mfxU32 i; + + MSDK_CHECK_ERROR(numViews, 0, MFX_ERR_NOT_INITIALIZED); + + m_fDestMVC = new FILE*[numViews]; + for (i = 0; i < numViews; ++i) { + MSDK_FOPEN(m_fDestMVC[i], + FormMVCFileName(m_sFile.c_str(), i).c_str(), + MSDK_STRING("wb")); + MSDK_CHECK_POINTER(m_fDestMVC[i], MFX_ERR_NULL_PTR); + ++m_numCreatedFiles; + } + } + + m_bInited = true; + + return MFX_ERR_NONE; +} + +mfxStatus CSmplYUVWriter::Reset() { + if (!m_bInited) + return MFX_ERR_NONE; + + return Init(m_sFile.c_str(), m_nViews); +} + +CSmplYUVWriter::~CSmplYUVWriter() { + Close(); +} + +void CSmplYUVWriter::Close() { + if (m_fDest) { + fclose(m_fDest); + m_fDest = NULL; + } + + if (m_fDestMVC) { + mfxU32 i = 0; + for (i = 0; i < m_numCreatedFiles; ++i) { + if (m_fDestMVC[i] != NULL) { + fclose(m_fDestMVC[i]); + m_fDestMVC[i] = NULL; + } + } + delete[] m_fDestMVC; + m_fDestMVC = NULL; + } + + m_numCreatedFiles = 0; + m_bInited = false; +} + +mfxStatus GetChromaSize(const mfxFrameInfo& pInfo, mfxU32& ChromaW, mfxU32& ChromaH) { + switch (pInfo.FourCC) { + case MFX_FOURCC_I420: + case MFX_FOURCC_YV12: { + ChromaW = (pInfo.CropW + 1) / 2; + ChromaH = (pInfo.CropH + 1) / 2; + break; + } + case MFX_FOURCC_NV12: { + ChromaW = (pInfo.CropW % 2) ? (pInfo.CropW + 1) : pInfo.CropW; + ChromaH = (pInfo.CropH + 1) / 2; + break; + } + case MFX_FOURCC_I010: + case MFX_FOURCC_P010: + case MFX_FOURCC_P016: { + ChromaW = (pInfo.CropW % 2) ? (pInfo.CropW + 1) : pInfo.CropW; + ChromaH = (mfxU32)(pInfo.CropH + 1) / 2; + break; + } + + case MFX_FOURCC_P210: + case MFX_FOURCC_Y210: + case MFX_FOURCC_Y216: { + ChromaW = (pInfo.CropW % 2) ? (pInfo.CropW + 1) : pInfo.CropW; + ChromaH = pInfo.CropH; + break; + } + + case MFX_FOURCC_RGB4: + case MFX_FOURCC_AYUV: + case MFX_FOURCC_YUY2: + case MFX_FOURCC_NV16: + case MFX_FOURCC_A2RGB10: + case MFX_FOURCC_Y410: + case MFX_FOURCC_Y416: { + if (pInfo.CropH > 0 && pInfo.CropW > 0) { + ChromaW = pInfo.FourCC == MFX_FOURCC_YUY2 ? (pInfo.CropW + 1) / 2 : pInfo.CropW; + ChromaH = pInfo.CropH; + } + else { + ChromaW = pInfo.FourCC == MFX_FOURCC_YUY2 ? (pInfo.Width + 1) / 2 : pInfo.Width; + ChromaH = pInfo.Height; + } + break; + } + + default: + return MFX_ERR_UNSUPPORTED; + } + + return MFX_ERR_NONE; +} + +mfxStatus CSmplYUVWriter::WriteNextFrame(mfxFrameSurface1* pSurface) { + MSDK_CHECK_ERROR(m_bInited, false, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_POINTER(pSurface, MFX_ERR_NULL_PTR); + + mfxFrameInfo& pInfo = pSurface->Info; + mfxFrameData& pData = pSurface->Data; + + mfxU32 i; + mfxU32 vid = pInfo.FrameId.ViewId; + + mfxU32 shiftSizeLuma = 16 - pInfo.BitDepthLuma; + mfxU32 shiftSizeChroma = 16 - pInfo.BitDepthChroma; + // Temporary buffer to convert MS to no-MS format + std::vector tmp; + + if (!m_bIsMultiView) { + MSDK_CHECK_POINTER(m_fDest, MFX_ERR_NULL_PTR); + } + else { + MSDK_CHECK_POINTER(m_fDestMVC, MFX_ERR_NULL_PTR); + MSDK_CHECK_POINTER(m_fDestMVC[vid], MFX_ERR_NULL_PTR); + } + + FILE* dstFile = m_bIsMultiView ? m_fDestMVC[vid] : m_fDest; + + mfxU32 ChromaW, ChromaH; + if (MFX_ERR_NONE != GetChromaSize(pInfo, ChromaW, ChromaH)) + return MFX_ERR_UNSUPPORTED; + + switch (pInfo.FourCC) { + case MFX_FOURCC_YV12: + case MFX_FOURCC_NV12: + case MFX_FOURCC_I420: + case MFX_FOURCC_NV16: + for (i = 0; i < pInfo.CropH; i++) { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.Y + (pInfo.CropY * pData.Pitch + pInfo.CropX) + i * pData.Pitch, + 1, + pInfo.CropW, + dstFile), + pInfo.CropW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + break; +#if (MFX_VERSION >= 1027) + case MFX_FOURCC_Y210: + #if (MFX_VERSION >= 1031) + case MFX_FOURCC_Y216: // Luma and chroma will be filled below + #endif + { + for (i = 0; i < pInfo.CropH; i++) { + mfxU8* pBuffer = ((mfxU8*)pData.Y) + (pInfo.CropY * pData.Pitch + pInfo.CropX * 4) + + i * pData.Pitch; + if (pInfo.Shift) { + // Bits will be shifted to the lower position + tmp.resize(pInfo.CropW * 2); + + for (int idx = 0; idx < pInfo.CropW * 2; idx++) { + tmp[idx] = ((mfxU16*)pBuffer)[idx] >> shiftSizeLuma; + } + + MSDK_CHECK_NOT_EQUAL( + fwrite(((const mfxU8*)tmp.data()), 4, pInfo.CropW, dstFile), + pInfo.CropW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + else { + MSDK_CHECK_NOT_EQUAL(fwrite(pBuffer, 4, pInfo.CropW, dstFile), + pInfo.CropW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + } + return MFX_ERR_NONE; + } break; +#endif +#if (MFX_VERSION >= 1027) + case MFX_FOURCC_Y410: // Luma and chroma will be filled below + { + mfxU8* pBuffer = (mfxU8*)pData.Y410; + for (i = 0; i < pInfo.CropH; i++) { + MSDK_CHECK_NOT_EQUAL( + fwrite( + pBuffer + (pInfo.CropY * pData.Pitch + pInfo.CropX * 4) + i * pData.Pitch, + 4, + pInfo.CropW, + dstFile), + pInfo.CropW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + return MFX_ERR_NONE; + } break; +#endif +#if (MFX_VERSION >= 1031) + case MFX_FOURCC_Y416: // Luma and chroma will be filled below + { + for (i = 0; i < pInfo.CropH; i++) { + mfxU8* pBuffer = ((mfxU8*)pData.U) + (pInfo.CropY * pData.Pitch + pInfo.CropX * 8) + + i * pData.Pitch; + if (pInfo.Shift) { + tmp.resize(pInfo.CropW * 4); + + for (int idx = 0; idx < pInfo.CropW * 4; idx++) { + tmp[idx] = ((mfxU16*)pBuffer)[idx] >> shiftSizeLuma; + } + + MSDK_CHECK_NOT_EQUAL( + fwrite(((const mfxU8*)tmp.data()), 8, pInfo.CropW, dstFile), + pInfo.CropW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + else { + MSDK_CHECK_NOT_EQUAL(fwrite(pBuffer, 8, pInfo.CropW, dstFile), + pInfo.CropW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + } + return MFX_ERR_NONE; + } break; +#endif + case MFX_FOURCC_I010: + for (i = 0; i < pInfo.CropH; i++) { + mfxU16* shortPtr = (mfxU16*)(pData.Y + (pInfo.CropY * pData.Pitch + pInfo.CropX) + + i * pData.Pitch); + MSDK_CHECK_NOT_EQUAL(fwrite(shortPtr, 1, (mfxU32)pInfo.CropW * 2, dstFile), + (mfxU32)pInfo.CropW * 2, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + break; + case MFX_FOURCC_P010: +#if (MFX_VERSION >= 1031) + case MFX_FOURCC_P016: +#endif + case MFX_FOURCC_P210: { + for (i = 0; i < pInfo.CropH; i++) { + mfxU16* shortPtr = (mfxU16*)(pData.Y + (pInfo.CropY * pData.Pitch + pInfo.CropX) + + i * pData.Pitch); + if (pInfo.Shift) { + // Convert MS-P*1* to P*1* and write + // Bits will be shifted to the lower position + tmp.resize(pData.Pitch); + + for (int idx = 0; idx < pInfo.CropW; idx++) { + tmp[idx] = shortPtr[idx] >> shiftSizeLuma; + } + + MSDK_CHECK_NOT_EQUAL(fwrite(&tmp[0], 1, (mfxU32)pInfo.CropW * 2, dstFile), + (mfxU32)pInfo.CropW * 2, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + else { + MSDK_CHECK_NOT_EQUAL(fwrite(shortPtr, 1, (mfxU32)pInfo.CropW * 2, dstFile), + (mfxU32)pInfo.CropW * 2, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + } + + break; + } + case MFX_FOURCC_RGB4: + case MFX_FOURCC_AYUV: + case MFX_FOURCC_A2RGB10: + case MFX_FOURCC_YUY2: + // Implementation for these formats is in the next switch below + break; + + default: + return MFX_ERR_UNSUPPORTED; + } + + //chroma + switch (pInfo.FourCC) { + case MFX_FOURCC_YV12: { + for (i = 0; i < ChromaH; i++) { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.V + (pInfo.CropY * pData.Pitch / 2 + pInfo.CropX / 2) + + i * pData.Pitch, + 1, + ChromaW, + dstFile), + ChromaW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + for (i = 0; i < ChromaH; i++) { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.U + (pInfo.CropY * pData.Pitch / 2 + pInfo.CropX / 2) + + i * pData.Pitch / 2, + 1, + ChromaW, + dstFile), + ChromaW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + break; + } + case MFX_FOURCC_I420: { + for (i = 0; i < ChromaH; i++) { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.U + (pInfo.CropY * pData.Pitch / 2 + pInfo.CropX / 2) + + i * pData.Pitch / 2, + 1, + ChromaW, + dstFile), + ChromaW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + for (i = 0; i < ChromaH; i++) { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.V + (pInfo.CropY * pData.Pitch / 2 + pInfo.CropX / 2) + + i * pData.Pitch / 2, + 1, + ChromaW, + dstFile), + ChromaW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + break; + } + case MFX_FOURCC_NV12: { + for (i = 0; i < ChromaH; i++) { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.UV + (pInfo.CropY * pData.Pitch + pInfo.CropX) + i * pData.Pitch, + 1, + ChromaW, + dstFile), + ChromaW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + break; + } + case MFX_FOURCC_NV16: { + for (i = 0; i < ChromaH; i++) { + MSDK_CHECK_NOT_EQUAL( + fwrite( + pData.UV + (pInfo.CropY * pData.Pitch / 2 + pInfo.CropX) + i * pData.Pitch, + 1, + ChromaW, + dstFile), + ChromaW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + break; + } + case MFX_FOURCC_I010: { + mfxU16 chPitch = pData.Pitch / 2; + mfxU32 basePtr = (pInfo.CropY * chPitch + pInfo.CropX / 2); + + for (i = 0; i < ChromaH; i++) { + MSDK_CHECK_NOT_EQUAL(fwrite(pData.U + basePtr + i * chPitch, 1, ChromaW, dstFile), + ChromaW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + + basePtr = (pInfo.CropY * chPitch + pInfo.CropX / 2); + + for (i = 0; i < ChromaH; i++) { + MSDK_CHECK_NOT_EQUAL(fwrite(pData.V + basePtr + i * chPitch, 1, ChromaW, dstFile), + ChromaW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + break; + } + case MFX_FOURCC_P010: +#if (MFX_VERSION >= 1031) + case MFX_FOURCC_P016: +#endif + case MFX_FOURCC_P210: { + for (i = 0; i < ChromaH; i++) { + mfxU16* shortPtr = + (mfxU16*)(pData.UV + (pInfo.CropY * pData.Pitch + pInfo.CropX * 2) + + i * pData.Pitch); + if (pInfo.Shift) { + // Convert MS-P*1* to P*1* and write + // Bits will be shifted to the lower position + tmp.resize(pData.Pitch); + + for (mfxU32 idx = 0; idx < ChromaW; idx++) { + tmp[idx] = shortPtr[idx] >> shiftSizeChroma; + } + + MSDK_CHECK_NOT_EQUAL(fwrite(&tmp[0], 1, ChromaW * 2, dstFile), + (mfxU32)ChromaW * 2, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + else { + MSDK_CHECK_NOT_EQUAL(fwrite(shortPtr, 1, ChromaW * 2, dstFile), + ChromaW * 2, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + } + break; + } + + case MFX_FOURCC_RGB4: + case MFX_FOURCC_AYUV: + case MFX_FOURCC_YUY2: + case MFX_FOURCC_A2RGB10: { + mfxU8* ptr; + ptr = (pData.R < pData.G) ? pData.R : pData.G; + ptr = (ptr < pData.B) ? ptr : pData.B; + //ptr = std::min( pData.R, pData.G, pData.B ); + ptr = ptr + pInfo.CropX + pInfo.CropY * pData.Pitch; + + for (i = 0; i < ChromaH; i++) { + MSDK_CHECK_NOT_EQUAL(fwrite(ptr + i * pData.Pitch, 1, 4 * ChromaW, dstFile), + 4 * ChromaW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + fflush(dstFile); + break; + } + + default: + return MFX_ERR_UNSUPPORTED; + } + + return MFX_ERR_NONE; +} + +mfxStatus CSmplYUVWriter::WriteNextFrameI420(mfxFrameSurface1* pSurface) { + MSDK_CHECK_ERROR(m_bInited, false, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_POINTER(pSurface, MFX_ERR_NULL_PTR); + + mfxFrameInfo& pInfo = pSurface->Info; + mfxFrameData& pData = pSurface->Data; + + mfxU32 i, j; + mfxU32 vid = pInfo.FrameId.ViewId; + + if (!m_bIsMultiView) { + MSDK_CHECK_POINTER(m_fDest, MFX_ERR_NULL_PTR); + } + else { + MSDK_CHECK_POINTER(m_fDestMVC, MFX_ERR_NULL_PTR); + MSDK_CHECK_POINTER(m_fDestMVC[vid], MFX_ERR_NULL_PTR); + } + + mfxU32 ChromaW, ChromaH; + if (MFX_ERR_NONE != GetChromaSize(pInfo, ChromaW, ChromaH)) + return MFX_ERR_UNSUPPORTED; + + // Write Y + switch (pInfo.FourCC) { + case MFX_FOURCC_YV12: + case MFX_FOURCC_NV12: { + for (i = 0; i < pInfo.CropH; i++) { + if (!m_bIsMultiView) { + MSDK_CHECK_NOT_EQUAL( + fwrite( + pData.Y + (pInfo.CropY * pData.Pitch + pInfo.CropX) + i * pData.Pitch, + 1, + pInfo.CropW, + m_fDest), + pInfo.CropW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + else { + MSDK_CHECK_NOT_EQUAL( + fwrite( + pData.Y + (pInfo.CropY * pData.Pitch + pInfo.CropX) + i * pData.Pitch, + 1, + pInfo.CropW, + m_fDestMVC[vid]), + pInfo.CropW, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + } + break; + } + default: { + msdk_printf(MSDK_STRING("ERROR: I420 output is accessible only for NV12 and YV12.\n")); + return MFX_ERR_UNSUPPORTED; + } + } + + // Write U and V + switch (pInfo.FourCC) { + case MFX_FOURCC_YV12: { + for (i = 0; i < ChromaH; i++) { + if (!m_bIsMultiView) { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.U + (pInfo.CropY * pData.Pitch / 2 + pInfo.CropX / 2) + + i * pData.Pitch / 2, + 1, + ChromaW, + m_fDest), + (mfxU32)pInfo.CropW / 2, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + else { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.U + (pInfo.CropY * pData.Pitch / 2 + pInfo.CropX / 2) + + i * pData.Pitch / 2, + 1, + ChromaW, + m_fDestMVC[vid]), + (mfxU32)pInfo.CropW / 2, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + } + for (i = 0; i < ChromaH; i++) { + if (!m_bIsMultiView) { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.V + (pInfo.CropY * pData.Pitch / 2 + pInfo.CropX / 2) + + i * pData.Pitch / 2, + 1, + ChromaW, + m_fDest), + (mfxU32)pInfo.CropW / 2, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + else { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.V + (pInfo.CropY * pData.Pitch / 2 + pInfo.CropX / 2) + + i * pData.Pitch / 2, + 1, + ChromaW, + m_fDestMVC[vid]), + (mfxU32)pInfo.CropW / 2, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + } + break; + } + case MFX_FOURCC_NV12: { + for (i = 0; i < ChromaH; i++) { + for (j = 0; j < ChromaW; j += 2) { + if (!m_bIsMultiView) { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.UV + (pInfo.CropY * pData.Pitch / 2 + pInfo.CropX) + + i * pData.Pitch + j, + 1, + 1, + m_fDest), + 1, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + else { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.UV + (pInfo.CropY * pData.Pitch / 2 + pInfo.CropX) + + i * pData.Pitch + j, + 1, + 1, + m_fDestMVC[vid]), + 1, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + } + } + for (i = 0; i < ChromaH; i++) { + for (j = 1; j < ChromaW; j += 2) { + if (!m_bIsMultiView) { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.UV + (pInfo.CropY * pData.Pitch / 2 + pInfo.CropX) + + i * pData.Pitch + j, + 1, + 1, + m_fDest), + 1, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + else { + MSDK_CHECK_NOT_EQUAL( + fwrite(pData.UV + (pInfo.CropY * pData.Pitch / 2 + pInfo.CropX) + + i * pData.Pitch + j, + 1, + 1, + m_fDestMVC[vid]), + 1, + MFX_ERR_UNDEFINED_BEHAVIOR); + } + } + } + break; + } + default: { + msdk_printf(MSDK_STRING("ERROR: I420 output is accessible only for NV12 and YV12.\n")); + return MFX_ERR_UNSUPPORTED; + } + } + + return MFX_ERR_NONE; +} + +void QPFile::Reader::ResetState() { + ResetState(READER_ERR_NOT_INITIALIZED); +} + +void QPFile::Reader::ResetState(ReaderStatus set_sts) { + m_CurFrameNum = UINT_MAX; + m_nFrames = UINT_MAX; + m_ReaderSts = set_sts; + m_FrameVals.clear(); +} + +mfxStatus QPFile::Reader::Read(const msdk_string& strFileName, mfxU32 codecid) { + m_ReaderSts = READER_ERR_NONE; + m_CurFrameNum = 0; + + if (codecid != MFX_CODEC_AVC && codecid != MFX_CODEC_HEVC) { + ResetState(READER_ERR_CODEC_UNSUPPORTED); + return MFX_ERR_NOT_INITIALIZED; + } + + std::ifstream ifs(strFileName, msdk_fstream::in); + if (!ifs.is_open()) { + ResetState(READER_ERR_FILE_NOT_OPEN); + return MFX_ERR_NOT_INITIALIZED; + } + + FrameInfo frameInfo{}; + std::string line; + std::getline(ifs, line); + m_nFrames = std::stoi(line); // number of frames at first line + + m_FrameVals.reserve(m_nFrames); + + while (QPFile::get_line(ifs, line)) { + frameInfo.displayOrder = QPFile::ReadDisplayOrder(line); + frameInfo.QP = QPFile::ReadQP(line); + frameInfo.frameType = QPFile::ReadFrameType(line); + if (frameInfo.displayOrder > m_nFrames || frameInfo.QP > 51 || + frameInfo.frameType == MFX_FRAMETYPE_UNKNOWN) { + ResetState(READER_ERR_INCORRECT_FILE); + return MFX_ERR_NOT_INITIALIZED; + } + m_FrameVals.push_back(frameInfo); + } + if (m_FrameVals.size() < m_nFrames) { + ResetState(READER_ERR_INCORRECT_FILE); + return MFX_ERR_NOT_INITIALIZED; + } + + return MFX_ERR_NONE; +} + +std::string QPFile::Reader::GetErrorMessage() const { + return ReaderStatusToString(m_ReaderSts); +} +mfxU32 QPFile::Reader::GetCurrentEncodedOrder() const { + return m_CurFrameNum; +} +mfxU32 QPFile::Reader::GetCurrentDisplayOrder() const { + return m_FrameVals.at(m_CurFrameNum).displayOrder; +} +mfxU16 QPFile::Reader::GetCurrentQP() const { + return m_FrameVals.at(m_CurFrameNum).QP; +} +mfxU16 QPFile::Reader::GetCurrentFrameType() const { + return m_FrameVals.at(m_CurFrameNum).frameType; +} +mfxU32 QPFile::Reader::GetFramesNum() const { + return m_nFrames; +} +void QPFile::Reader::NextFrame() { + ++m_CurFrameNum; +} + +mfxStatus ConvertFrameRate(mfxF64 dFrameRate, mfxU32* pnFrameRateExtN, mfxU32* pnFrameRateExtD) { + MSDK_CHECK_POINTER(pnFrameRateExtN, MFX_ERR_NULL_PTR); + MSDK_CHECK_POINTER(pnFrameRateExtD, MFX_ERR_NULL_PTR); + + mfxU32 fr; + + fr = (mfxU32)(dFrameRate + .5); + + if (fabs(fr - dFrameRate) < 0.0001) { + *pnFrameRateExtN = fr; + *pnFrameRateExtD = 1; + return MFX_ERR_NONE; + } + + fr = (mfxU32)(dFrameRate * 1.001 + .5); + + if (fabs(fr * 1000 - dFrameRate * 1001) < 10) { + *pnFrameRateExtN = fr * 1000; + *pnFrameRateExtD = 1001; + return MFX_ERR_NONE; + } + + *pnFrameRateExtN = (mfxU32)(dFrameRate * 10000 + .5); + *pnFrameRateExtD = 10000; + + return MFX_ERR_NONE; +} + +mfxF64 CalculateFrameRate(mfxU32 nFrameRateExtN, mfxU32 nFrameRateExtD) { + if (nFrameRateExtN && nFrameRateExtD) + return (mfxF64)nFrameRateExtN / nFrameRateExtD; + else + return 0; +} + +void FreeSurfacePool(mfxFrameSurface1* pSurfacesPool, mfxU16 nPoolSize) { + if (pSurfacesPool) { + for (mfxU16 i = 0; i < nPoolSize; i++) { + pSurfacesPool[i].Data.Locked = 0; + } + } +} + +mfxU16 GetFreeSurface(mfxFrameSurface1* pSurfacesPool, mfxU16 nPoolSize) { + mfxU32 SleepInterval = 10; // milliseconds + + mfxU16 idx = MSDK_INVALID_SURF_IDX; + + CTimer t; + t.Start(); + //wait if there's no free surface + do { + idx = GetFreeSurfaceIndex(pSurfacesPool, nPoolSize); + + if (MSDK_INVALID_SURF_IDX != idx) { + break; + } + else { + MSDK_SLEEP(SleepInterval); + } + } while (t.GetTime() < MSDK_SURFACE_WAIT_INTERVAL / 1000); + + if (idx == MSDK_INVALID_SURF_IDX) { + msdk_printf(MSDK_STRING("ERROR: No free surfaces in pool (during long period)\n")); + } + + return idx; +} + +std::basic_string CodecIdToStr(mfxU32 nFourCC) { + std::basic_string fcc; + for (size_t i = 0; i < 4; i++) { + fcc.push_back((msdk_char) * (i + (char*)&nFourCC)); + } + return fcc; +} + +PartiallyLinearFNC::PartiallyLinearFNC() : m_pX(), m_pY(), m_nPoints(), m_nAllocated() {} + +PartiallyLinearFNC::~PartiallyLinearFNC() { + delete[] m_pX; + m_pX = NULL; + delete[] m_pY; + m_pY = NULL; +} + +void PartiallyLinearFNC::AddPair(mfxF64 x, mfxF64 y) { + //duplicates searching + for (mfxU32 i = 0; i < m_nPoints; i++) { + if (m_pX[i] == x) + return; + } + if (m_nPoints == m_nAllocated) { + m_nAllocated += 20; + mfxF64* pnew; + pnew = new mfxF64[m_nAllocated]; + //memcpy_s(pnew, sizeof(mfxF64)*m_nAllocated, m_pX, sizeof(mfxF64) * m_nPoints); + MSDK_MEMCPY_BUF(pnew, 0, sizeof(mfxF64) * m_nAllocated, m_pX, sizeof(mfxF64) * m_nPoints); + delete[] m_pX; + m_pX = pnew; + + pnew = new mfxF64[m_nAllocated]; + //memcpy_s(pnew, sizeof(mfxF64)*m_nAllocated, m_pY, sizeof(mfxF64) * m_nPoints); + MSDK_MEMCPY_BUF(pnew, 0, sizeof(mfxF64) * m_nAllocated, m_pY, sizeof(mfxF64) * m_nPoints); + delete[] m_pY; + m_pY = pnew; + } + m_pX[m_nPoints] = x; + m_pY[m_nPoints] = y; + + m_nPoints++; +} + +mfxF64 PartiallyLinearFNC::at(mfxF64 x) { + if (m_nPoints < 2) { + return 0; + } + bool bwasmin = false; + bool bwasmax = false; + + mfxU32 maxx = 0; + mfxU32 minx = 0; + mfxU32 i; + + for (i = 0; i < m_nPoints; i++) { + if (m_pX[i] <= x && (!bwasmin || m_pX[i] > m_pX[maxx])) { + maxx = i; + bwasmin = true; + } + if (m_pX[i] > x && (!bwasmax || m_pX[i] < m_pX[minx])) { + minx = i; + bwasmax = true; + } + } + + //point on the left + if (!bwasmin) { + for (i = 0; i < m_nPoints; i++) { + if (m_pX[i] > m_pX[minx] && (!bwasmin || m_pX[i] < m_pX[minx])) { + maxx = i; + bwasmin = true; + } + } + } + //point on the right + if (!bwasmax) { + for (i = 0; i < m_nPoints; i++) { + if (m_pX[i] < m_pX[maxx] && (!bwasmax || m_pX[i] > m_pX[minx])) { + minx = i; + bwasmax = true; + } + } + } + + //linear interpolation + return (x - m_pX[minx]) * (m_pY[maxx] - m_pY[minx]) / (m_pX[maxx] - m_pX[minx]) + m_pY[minx]; +} + +mfxU16 CalculateDefaultBitrate(mfxU32 nCodecId, + mfxU32 nTargetUsage, + mfxU32 nWidth, + mfxU32 nHeight, + mfxF64 dFrameRate) { + PartiallyLinearFNC fnc; + mfxF64 bitrate = 0; + + switch (nCodecId) { + case MFX_CODEC_HEVC: { + fnc.AddPair(0, 0); + fnc.AddPair(25344, 225 / 1.3); + fnc.AddPair(101376, 1000 / 1.3); + fnc.AddPair(414720, 4000 / 1.3); + fnc.AddPair(2058240, 5000 / 1.3); + break; + } + case MFX_CODEC_AVC: { + fnc.AddPair(0, 0); + fnc.AddPair(25344, 225); + fnc.AddPair(101376, 1000); + fnc.AddPair(414720, 4000); + fnc.AddPair(2058240, 5000); + break; + } + case MFX_CODEC_MPEG2: { + fnc.AddPair(0, 0); + fnc.AddPair(414720, 12000); + break; + } + default: { + fnc.AddPair(0, 0); + fnc.AddPair(414720, 12000); + break; + } + } + + mfxF64 at = nWidth * nHeight * dFrameRate / 30.0; + + if (!at) + return 0; + + switch (nTargetUsage) { + case MFX_TARGETUSAGE_BEST_QUALITY: { + bitrate = (&fnc)->at(at); + break; + } + case MFX_TARGETUSAGE_BEST_SPEED: { + bitrate = (&fnc)->at(at) * 0.5; + break; + } + case MFX_TARGETUSAGE_BALANCED: + default: { + bitrate = (&fnc)->at(at) * 0.75; + break; + } + } + + return (mfxU16)bitrate; +} + +mfxU16 StrToTargetUsage(msdk_string strInput) { + std::map tu; + tu[MSDK_STRING("quality")] = (mfxU16)MFX_TARGETUSAGE_1; + tu[MSDK_STRING("veryslow")] = (mfxU16)MFX_TARGETUSAGE_1; + tu[MSDK_STRING("slower")] = (mfxU16)MFX_TARGETUSAGE_2; + tu[MSDK_STRING("slow")] = (mfxU16)MFX_TARGETUSAGE_3; + tu[MSDK_STRING("medium")] = (mfxU16)MFX_TARGETUSAGE_4; + tu[MSDK_STRING("balanced")] = (mfxU16)MFX_TARGETUSAGE_4; + tu[MSDK_STRING("fast")] = (mfxU16)MFX_TARGETUSAGE_5; + tu[MSDK_STRING("faster")] = (mfxU16)MFX_TARGETUSAGE_6; + tu[MSDK_STRING("veryfast")] = (mfxU16)MFX_TARGETUSAGE_7; + tu[MSDK_STRING("speed")] = (mfxU16)MFX_TARGETUSAGE_7; + tu[MSDK_STRING("1")] = (mfxU16)MFX_TARGETUSAGE_1; + tu[MSDK_STRING("2")] = (mfxU16)MFX_TARGETUSAGE_2; + tu[MSDK_STRING("3")] = (mfxU16)MFX_TARGETUSAGE_3; + tu[MSDK_STRING("4")] = (mfxU16)MFX_TARGETUSAGE_4; + tu[MSDK_STRING("5")] = (mfxU16)MFX_TARGETUSAGE_5; + tu[MSDK_STRING("6")] = (mfxU16)MFX_TARGETUSAGE_6; + tu[MSDK_STRING("7")] = (mfxU16)MFX_TARGETUSAGE_7; + + if (tu.find(strInput) == tu.end()) + return 0; + else + return tu[strInput]; +} + +const msdk_char* TargetUsageToStr(mfxU16 tu) { + switch (tu) { + case MFX_TARGETUSAGE_BALANCED: + return MSDK_STRING("balanced"); + case MFX_TARGETUSAGE_BEST_QUALITY: + return MSDK_STRING("quality"); + case MFX_TARGETUSAGE_BEST_SPEED: + return MSDK_STRING("speed"); + case MFX_TARGETUSAGE_UNKNOWN: + return MSDK_STRING("unknown"); + default: + return MSDK_STRING("unsupported"); + } +} + +const msdk_char* ColorFormatToStr(mfxU32 format) { + switch (format) { + case MFX_FOURCC_NV12: + return MSDK_STRING("NV12"); + case MFX_FOURCC_YV12: + return MSDK_STRING("YV12"); + case MFX_FOURCC_I420: + return MSDK_STRING("YUV420"); + case MFX_FOURCC_RGB4: + return MSDK_STRING("RGB4"); + case MFX_FOURCC_YUY2: + return MSDK_STRING("YUY2"); + case MFX_FOURCC_UYVY: + return MSDK_STRING("UYVY"); + case MFX_FOURCC_P010: + return MSDK_STRING("P010"); + case MFX_FOURCC_P210: + return MSDK_STRING("P210"); +#if (MFX_VERSION >= 1027) + case MFX_FOURCC_Y210: + return MSDK_STRING("Y210"); + case MFX_FOURCC_Y410: + return MSDK_STRING("Y410"); +#endif +#if (MFX_VERSION >= 1031) + case MFX_FOURCC_P016: + return MSDK_STRING("P016"); + case MFX_FOURCC_Y216: + return MSDK_STRING("Y216"); +#endif + default: + return MSDK_STRING("unsupported"); + } +} + +mfxU32 GCD(mfxU32 a, mfxU32 b) { + if (0 == a) + return b; + else if (0 == b) + return a; + + mfxU32 a1, b1; + + if (a >= b) { + a1 = a; + b1 = b; + } + else { + a1 = b; + b1 = a; + } + + // a1 >= b1; + mfxU32 r = a1 % b1; + + while (0 != r) { + a1 = b1; + b1 = r; + r = a1 % b1; + } + + return b1; +} + +std::basic_string FormMVCFileName(const msdk_char* strFileNamePattern, + const mfxU32 numView) { + if (NULL == strFileNamePattern) + return MSDK_STRING(""); + + std::basic_string fileName, mvcFileName, fileExt; + fileName = strFileNamePattern; + + msdk_char postfixBuffer[4]; + msdk_itoa_decimal(numView, postfixBuffer); + mvcFileName = fileName; + mvcFileName.append(MSDK_STRING("_")); + mvcFileName.append(postfixBuffer); + mvcFileName.append(MSDK_STRING(".yuv")); + + return mvcFileName; +} + +// function for getting a pointer to a specific external buffer from the array +mfxExtBuffer* GetExtBuffer(mfxExtBuffer** ebuffers, mfxU32 nbuffers, mfxU32 BufferId) { + if (!ebuffers) + return 0; + for (mfxU32 i = 0; i < nbuffers; i++) { + if (!ebuffers[i]) + continue; + if (ebuffers[i]->BufferId == BufferId) { + return ebuffers[i]; + } + } + return 0; +} + +mfxStatus MJPEG_AVI_ParsePicStruct(mfxBitstream* bitstream) { + // check input for consistency + MSDK_CHECK_POINTER(bitstream->Data, MFX_ERR_MORE_DATA); + if (bitstream->DataLength <= 0) + return MFX_ERR_MORE_DATA; + + // define JPEG markers + const mfxU8 APP0_marker[] = { 0xFF, 0xE0 }; + const mfxU8 SOI_marker[] = { 0xFF, 0xD8 }; + const mfxU8 AVI1[] = { 'A', 'V', 'I', '1' }; + + // size of length field in header + const mfxU8 len_size = 2; + // size of picstruct field in header + const mfxU8 picstruct_size = 1; + + mfxU32 length = bitstream->DataLength; + const mfxU8* ptr = reinterpret_cast(bitstream->Data); + + //search for SOI marker + while ((length >= sizeof(SOI_marker)) && memcmp(ptr, SOI_marker, sizeof(SOI_marker))) { + skip(ptr, length, (mfxU32)1); + } + + // skip SOI + if (!skip(ptr, length, (mfxU32)sizeof(SOI_marker)) || length < sizeof(APP0_marker)) + return MFX_ERR_MORE_DATA; + + // if there is no APP0 marker return + if (memcmp(ptr, APP0_marker, sizeof(APP0_marker))) { + bitstream->PicStruct = MFX_PICSTRUCT_UNKNOWN; + return MFX_ERR_NONE; + } + + // skip APP0 & length value + if (!skip(ptr, length, (mfxU32)sizeof(APP0_marker) + len_size) || length < sizeof(AVI1)) + return MFX_ERR_MORE_DATA; + + if (memcmp(ptr, AVI1, sizeof(AVI1))) { + bitstream->PicStruct = MFX_PICSTRUCT_UNKNOWN; + return MFX_ERR_NONE; + } + + // skip 'AVI1' + if (!skip(ptr, length, (mfxU32)sizeof(AVI1)) || length < picstruct_size) + return MFX_ERR_MORE_DATA; + + // get PicStruct + switch (*ptr) { + case 0: + bitstream->PicStruct = MFX_PICSTRUCT_PROGRESSIVE; + break; + case 1: + bitstream->PicStruct = MFX_PICSTRUCT_FIELD_TFF; + break; + case 2: + bitstream->PicStruct = MFX_PICSTRUCT_FIELD_BFF; + break; + default: + bitstream->PicStruct = MFX_PICSTRUCT_UNKNOWN; + } + + return MFX_ERR_NONE; +} + +mfxVersion getMinimalRequiredVersion(const APIChangeFeatures& features) { + mfxVersion version = { { 1, 1 } }; + + if (features.MVCDecode || features.MVCEncode || features.LowLatency || features.JpegDecode) { + version.Minor = 3; + } + + if (features.ViewOutput) { + version.Minor = 4; + } + + if (features.JpegEncode || features.IntraRefresh) { + version.Minor = 6; + } + + if (features.LookAheadBRC) { + version.Minor = 7; + } +#if (MFX_VERSION < 2000) + if (features.AudioDecode) { + version.Minor = 8; + } + + if (features.SupportCodecPluginAPI) { + version.Minor = 8; + } +#endif + return version; +} + +bool CheckVersion(mfxVersion* version, msdkAPIFeature feature) { + if (!version->Major || (version->Major > 1)) { + return false; + } + + switch (feature) { + case MSDK_FEATURE_NONE: + return true; + case MSDK_FEATURE_MVC: + if ((version->Major == 1) && (version->Minor >= 3)) { + return true; + } + break; + case MSDK_FEATURE_JPEG_DECODE: + if ((version->Major == 1) && (version->Minor >= 3)) { + return true; + } + break; + case MSDK_FEATURE_LOW_LATENCY: + if ((version->Major == 1) && (version->Minor >= 3)) { + return true; + } + break; + case MSDK_FEATURE_MVC_VIEWOUTPUT: + if ((version->Major == 1) && (version->Minor >= 4)) { + return true; + } + break; + case MSDK_FEATURE_JPEG_ENCODE: + if ((version->Major == 1) && (version->Minor >= 6)) { + return true; + } + break; + case MSDK_FEATURE_LOOK_AHEAD: + if ((version->Major == 1) && (version->Minor >= 7)) { + return true; + } + break; + case MSDK_FEATURE_PLUGIN_API: + if ((version->Major == 1) && (version->Minor >= 8)) { + return true; + } + break; + default: + return false; + } + return false; +} + +void ConfigureAspectRatioConversion(mfxInfoVPP* pVppInfo) { + if (!pVppInfo) + return; + + if (pVppInfo->In.AspectRatioW && pVppInfo->In.AspectRatioH && pVppInfo->In.CropW && + pVppInfo->In.CropH && pVppInfo->Out.AspectRatioW && pVppInfo->Out.AspectRatioH && + pVppInfo->Out.CropW && pVppInfo->Out.CropH) { + mfxF64 dFrameAR = ((mfxF64)pVppInfo->In.AspectRatioW * pVppInfo->In.CropW) / + (mfxF64)pVppInfo->In.AspectRatioH / (mfxF64)pVppInfo->In.CropH; + + mfxF64 dPixelAR = pVppInfo->Out.AspectRatioW / (mfxF64)pVppInfo->Out.AspectRatioH; + + mfxU16 dProportionalH = (mfxU16)(pVppInfo->Out.CropW * dPixelAR / dFrameAR + 1) & + -2; //round to closest odd (values are always positive) + + if (dProportionalH < pVppInfo->Out.CropH) { + pVppInfo->Out.CropY = (mfxU16)((pVppInfo->Out.CropH - dProportionalH) / 2. + 1) & -2; + pVppInfo->Out.CropH = pVppInfo->Out.CropH - 2 * pVppInfo->Out.CropY; + } + else if (dProportionalH > pVppInfo->Out.CropH) { + mfxU16 dProportionalW = (mfxU16)(pVppInfo->Out.CropH * dFrameAR / dPixelAR + 1) & -2; + + pVppInfo->Out.CropX = (mfxU16)((pVppInfo->Out.CropW - dProportionalW) / 2 + 1) & -2; + pVppInfo->Out.CropW = pVppInfo->Out.CropW - 2 * pVppInfo->Out.CropX; + } + } +} + +void SEICalcSizeType(std::vector& data, mfxU16 type, mfxU32 size) { + mfxU32 B = type; + + while (B > 255) { + data.push_back(255); + B -= 255; + } + data.push_back(mfxU8(B)); + + B = size; + + while (B > 255) { + data.push_back(255); + B -= 255; + } + data.push_back(mfxU8(B)); +} + +mfxU8 Char2Hex(msdk_char ch) { + msdk_char value = ch; + if (value >= MSDK_CHAR('0') && value <= MSDK_CHAR('9')) { + value -= MSDK_CHAR('0'); + } + else if (value >= MSDK_CHAR('a') && value <= MSDK_CHAR('f')) { + value = value - MSDK_CHAR('a') + 10; + } + else if (value >= MSDK_CHAR('A') && value <= MSDK_CHAR('F')) { + value = value - MSDK_CHAR('A') + 10; + } + else { + value = 0; + } + return (mfxU8)value; +} + +namespace { +int g_trace_level = MSDK_TRACE_LEVEL_INFO; +} + +int msdk_trace_get_level() { + return g_trace_level; +} + +void msdk_trace_set_level(int newLevel) { + g_trace_level = newLevel; +} + +bool msdk_trace_is_printable(int level) { + return g_trace_level >= level; +} + +msdk_ostream& operator<<(msdk_ostream& os, MsdkTraceLevel tl) { + switch (tl) { + case MSDK_TRACE_LEVEL_CRITICAL: + os << MSDK_STRING("CRITICAL"); + break; + case MSDK_TRACE_LEVEL_ERROR: + os << MSDK_STRING("ERROR"); + break; + case MSDK_TRACE_LEVEL_WARNING: + os << MSDK_STRING("WARNING"); + break; + case MSDK_TRACE_LEVEL_INFO: + os << MSDK_STRING("INFO"); + break; + case MSDK_TRACE_LEVEL_DEBUG: + os << MSDK_STRING("DEBUG"); + break; + default: + break; + } + return os; +} + +msdk_string NoFullPath(const msdk_string& file_path) { + size_t pos = file_path.find_last_of(MSDK_STRING("\\/")); + if (pos != msdk_string::npos) { + return file_path.substr(pos + 1); + } + return file_path; +} + +template <> +mfxStatus msdk_opt_read(const msdk_char* string, mfxU8& value) { + msdk_char* stopCharacter; + value = (mfxU8)msdk_strtol(string, &stopCharacter, 10); + + return (msdk_strlen(stopCharacter) == 0) ? MFX_ERR_NONE : MFX_ERR_UNKNOWN; +} + +template <> +mfxStatus msdk_opt_read(const msdk_char* string, mfxU16& value) { + msdk_char* stopCharacter; + value = (mfxU16)msdk_strtol(string, &stopCharacter, 10); + + return (msdk_strlen(stopCharacter) == 0) ? MFX_ERR_NONE : MFX_ERR_UNKNOWN; +} + +template <> +mfxStatus msdk_opt_read(const msdk_char* string, mfxU32& value) { + msdk_char* stopCharacter; + value = (mfxU32)msdk_strtol(string, &stopCharacter, 10); + + return (msdk_strlen(stopCharacter) == 0) ? MFX_ERR_NONE : MFX_ERR_UNKNOWN; +} + +template <> +mfxStatus msdk_opt_read(const msdk_char* string, mfxF32& value) { + msdk_char* stopCharacter; + value = (mfxF32)msdk_strtod(string, &stopCharacter); + return (msdk_strlen(stopCharacter) == 0) ? MFX_ERR_NONE : MFX_ERR_UNKNOWN; +} +template <> +mfxStatus msdk_opt_read(const msdk_char* string, mfxF64& value) { + msdk_char* stopCharacter; + value = (mfxF64)msdk_strtod(string, &stopCharacter); + + return (msdk_strlen(stopCharacter) == 0) ? MFX_ERR_NONE : MFX_ERR_UNKNOWN; +} + +mfxStatus msdk_opt_read(const msdk_char* string, mfxU8& value); +mfxStatus msdk_opt_read(const msdk_char* string, mfxU16& value); +mfxStatus msdk_opt_read(const msdk_char* string, mfxU32& value); +mfxStatus msdk_opt_read(const msdk_char* string, mfxF64& value); +mfxStatus msdk_opt_read(const msdk_char* string, mfxF32& value); + +template <> +mfxStatus msdk_opt_read(const msdk_char* string, mfxI16& value) { + msdk_char* stopCharacter; + value = (mfxI16)msdk_strtol(string, &stopCharacter, 10); + + return (msdk_strlen(stopCharacter) == 0) ? MFX_ERR_NONE : MFX_ERR_UNKNOWN; +} + +template <> +mfxStatus msdk_opt_read(const msdk_char* string, mfxI32& value) { + msdk_char* stopCharacter; + value = (mfxI32)msdk_strtol(string, &stopCharacter, 10); + + return (msdk_strlen(stopCharacter) == 0) ? MFX_ERR_NONE : MFX_ERR_UNKNOWN; +} + +mfxStatus msdk_opt_read(const msdk_char* string, mfxI16& value); +mfxStatus msdk_opt_read(const msdk_char* string, mfxI32& value); + +template <> +mfxStatus msdk_opt_read(const msdk_char* string, mfxPriority& value) { + mfxU32 priority = 0; + mfxStatus sts = msdk_opt_read<>(string, priority); + + if (MFX_ERR_NONE == sts) + value = (mfxPriority)priority; + return sts; +} + +mfxStatus msdk_opt_read(msdk_char* string, mfxPriority& value); + +bool IsDecodeCodecSupported(mfxU32 codecFormat) { + switch (codecFormat) { + case MFX_CODEC_MPEG2: + case MFX_CODEC_AVC: + case MFX_CODEC_HEVC: + case MFX_CODEC_VC1: + case CODEC_MVC: + case MFX_CODEC_JPEG: +#if (MFX_VERSION < 2000) + case MFX_CODEC_VP8: +#endif + case MFX_CODEC_VP9: + case MFX_CODEC_AV1: + break; + default: + return false; + } + return true; +} + +bool IsEncodeCodecSupported(mfxU32 codecFormat) { + switch (codecFormat) { + case MFX_CODEC_AVC: + case MFX_CODEC_HEVC: + case MFX_CODEC_MPEG2: + case CODEC_MVC: +#if (MFX_VERSION < 2000) + case MFX_CODEC_VP8: +#endif + case MFX_CODEC_JPEG: + case MFX_CODEC_VP9: + break; +#if (MFX_VERSION >= 2000) + case MFX_CODEC_AV1: + break; +#endif + default: + return false; + } + return true; +} + +bool IsPluginCodecSupported(mfxU32 codecFormat) { + switch (codecFormat) { + case MFX_CODEC_HEVC: + case MFX_CODEC_AVC: + case MFX_CODEC_MPEG2: + case MFX_CODEC_VC1: +#if (MFX_VERSION < 2000) + case MFX_CODEC_VP8: +#endif + case MFX_CODEC_VP9: + break; + default: + return false; + } + return true; +} + +mfxStatus StrFormatToCodecFormatFourCC(msdk_char* strInput, mfxU32& codecFormat) { + mfxStatus sts = MFX_ERR_NONE; + codecFormat = 0; + + if (strInput == NULL) + sts = MFX_ERR_NULL_PTR; + + if (sts == MFX_ERR_NONE) { + if (0 == msdk_strcmp(strInput, MSDK_STRING("mpeg2"))) { + codecFormat = MFX_CODEC_MPEG2; + } + else if (0 == msdk_strcmp(strInput, MSDK_STRING("h264"))) { + codecFormat = MFX_CODEC_AVC; + } + else if (0 == msdk_strcmp(strInput, MSDK_STRING("h265"))) { + codecFormat = MFX_CODEC_HEVC; + } + else if (0 == msdk_strcmp(strInput, MSDK_STRING("vc1"))) { + codecFormat = MFX_CODEC_VC1; + } + else if (0 == msdk_strcmp(strInput, MSDK_STRING("mvc"))) { + codecFormat = CODEC_MVC; + } + else if (0 == msdk_strcmp(strInput, MSDK_STRING("jpeg"))) { + codecFormat = MFX_CODEC_JPEG; + } +#if (MFX_VERSION < 2000) + else if (0 == msdk_strcmp(strInput, MSDK_STRING("vp8"))) { + codecFormat = MFX_CODEC_VP8; + } +#endif + else if (0 == msdk_strcmp(strInput, MSDK_STRING("vp9"))) { + codecFormat = MFX_CODEC_VP9; + } + else if (0 == msdk_strcmp(strInput, MSDK_STRING("av1"))) { + codecFormat = MFX_CODEC_AV1; + } + else if ((0 == msdk_strcmp(strInput, MSDK_STRING("raw")))) { + codecFormat = MFX_CODEC_DUMP; + } + else if ((0 == msdk_strcmp(strInput, MSDK_STRING("rgb4_frame")))) { + codecFormat = MFX_CODEC_RGB4; + } + else if ((0 == msdk_strcmp(strInput, MSDK_STRING("nv12")))) { + codecFormat = MFX_CODEC_NV12; + } + else if ((0 == msdk_strcmp(strInput, MSDK_STRING("i420")))) { + codecFormat = MFX_CODEC_I420; + } + else + sts = MFX_ERR_UNSUPPORTED; + } + + return sts; +} + +msdk_string StatusToString(mfxStatus sts) { + switch (sts) { + case MFX_ERR_NONE: + return msdk_string(MSDK_STRING("MFX_ERR_NONE")); + case MFX_ERR_UNKNOWN: + return msdk_string(MSDK_STRING("MFX_ERR_UNKNOWN")); + case MFX_ERR_NULL_PTR: + return msdk_string(MSDK_STRING("MFX_ERR_NULL_PTR")); + case MFX_ERR_UNSUPPORTED: + return msdk_string(MSDK_STRING("MFX_ERR_UNSUPPORTED")); + case MFX_ERR_MEMORY_ALLOC: + return msdk_string(MSDK_STRING("MFX_ERR_MEMORY_ALLOC")); + case MFX_ERR_NOT_ENOUGH_BUFFER: + return msdk_string(MSDK_STRING("MFX_ERR_NOT_ENOUGH_BUFFER")); + case MFX_ERR_INVALID_HANDLE: + return msdk_string(MSDK_STRING("MFX_ERR_INVALID_HANDLE")); + case MFX_ERR_LOCK_MEMORY: + return msdk_string(MSDK_STRING("MFX_ERR_LOCK_MEMORY")); + case MFX_ERR_NOT_INITIALIZED: + return msdk_string(MSDK_STRING("MFX_ERR_NOT_INITIALIZED")); + case MFX_ERR_NOT_FOUND: + return msdk_string(MSDK_STRING("MFX_ERR_NOT_FOUND")); + case MFX_ERR_MORE_DATA: + return msdk_string(MSDK_STRING("MFX_ERR_MORE_DATA")); + case MFX_ERR_MORE_SURFACE: + return msdk_string(MSDK_STRING("MFX_ERR_MORE_SURFACE")); + case MFX_ERR_ABORTED: + return msdk_string(MSDK_STRING("MFX_ERR_ABORTED")); + case MFX_ERR_DEVICE_LOST: + return msdk_string(MSDK_STRING("MFX_ERR_DEVICE_LOST")); + case MFX_ERR_INCOMPATIBLE_VIDEO_PARAM: + return msdk_string(MSDK_STRING("MFX_ERR_INCOMPATIBLE_VIDEO_PARAM")); + case MFX_ERR_INVALID_VIDEO_PARAM: + return msdk_string(MSDK_STRING("MFX_ERR_INVALID_VIDEO_PARAM")); + case MFX_ERR_UNDEFINED_BEHAVIOR: + return msdk_string(MSDK_STRING("MFX_ERR_UNDEFINED_BEHAVIOR")); + case MFX_ERR_DEVICE_FAILED: + return msdk_string(MSDK_STRING("MFX_ERR_DEVICE_FAILED")); + case MFX_ERR_MORE_BITSTREAM: + return msdk_string(MSDK_STRING("MFX_ERR_MORE_BITSTREAM")); +#if (MFX_VERSION < 2000) + case MFX_ERR_INCOMPATIBLE_AUDIO_PARAM: + return msdk_string(MSDK_STRING("MFX_ERR_INCOMPATIBLE_AUDIO_PARAM")); + case MFX_ERR_INVALID_AUDIO_PARAM: + return msdk_string(MSDK_STRING("MFX_ERR_INVALID_AUDIO_PARAM")); +#endif + case MFX_ERR_GPU_HANG: + return msdk_string(MSDK_STRING("MFX_ERR_GPU_HANG")); + case MFX_ERR_REALLOC_SURFACE: + return msdk_string(MSDK_STRING("MFX_ERR_REALLOC_SURFACE")); + case MFX_WRN_IN_EXECUTION: + return msdk_string(MSDK_STRING("MFX_WRN_IN_EXECUTION")); + case MFX_WRN_DEVICE_BUSY: + return msdk_string(MSDK_STRING("MFX_WRN_DEVICE_BUSY")); + case MFX_WRN_VIDEO_PARAM_CHANGED: + return msdk_string(MSDK_STRING("MFX_WRN_VIDEO_PARAM_CHANGED")); + case MFX_WRN_PARTIAL_ACCELERATION: + return msdk_string(MSDK_STRING("MFX_WRN_PARTIAL_ACCELERATION")); + case MFX_WRN_INCOMPATIBLE_VIDEO_PARAM: + return msdk_string(MSDK_STRING("MFX_WRN_INCOMPATIBLE_VIDEO_PARAM")); + case MFX_WRN_VALUE_NOT_CHANGED: + return msdk_string(MSDK_STRING("MFX_WRN_VALUE_NOT_CHANGED")); + case MFX_WRN_OUT_OF_RANGE: + return msdk_string(MSDK_STRING("MFX_WRN_OUT_OF_RANGE")); + case MFX_WRN_FILTER_SKIPPED: + return msdk_string(MSDK_STRING("MFX_WRN_FILTER_SKIPPED")); +#if (MFX_VERSION < 2000) + case MFX_WRN_INCOMPATIBLE_AUDIO_PARAM: + return msdk_string(MSDK_STRING("MFX_WRN_INCOMPATIBLE_AUDIO_PARAM")); +#endif + case MFX_TASK_WORKING: + return msdk_string(MSDK_STRING("MFX_TASK_WORKING")); + case MFX_TASK_BUSY: + return msdk_string(MSDK_STRING("MFX_TASK_BUSY")); + case MFX_ERR_MORE_DATA_SUBMIT_TASK: + return msdk_string(MSDK_STRING("MFX_ERR_MORE_DATA_SUBMIT_TASK")); + default: + return msdk_string(MSDK_STRING("[Unknown status]")); + } +} + +mfxI32 getMonitorType(msdk_char* str) { + struct { + const msdk_char* str; + mfxI32 mfx_type; + } table[] = { +#define __DECLARE(type) { MSDK_STRING(#type), MFX_MONITOR_##type } + __DECLARE(Unknown), + __DECLARE(VGA), + __DECLARE(DVII), + __DECLARE(DVID), + __DECLARE(DVIA), + __DECLARE(Composite), + __DECLARE(SVIDEO), + __DECLARE(LVDS), + __DECLARE(Component), + __DECLARE(9PinDIN), + __DECLARE(HDMIA), + __DECLARE(HDMIB), + __DECLARE(eDP), + __DECLARE(TV), + __DECLARE(DisplayPort), +#if defined(DRM_MODE_CONNECTOR_VIRTUAL) // from libdrm 2.4.59 + __DECLARE(VIRTUAL), +#endif +#if defined(DRM_MODE_CONNECTOR_DSI) // from libdrm 2.4.59 + __DECLARE(DSI) +#endif +#undef __DECLARE + }; + for (unsigned int i = 0; i < sizeof(table) / sizeof(table[0]); ++i) { + if (0 == msdk_strcmp(str, table[i].str)) { + return table[i].mfx_type; + } + } + return MFX_MONITOR_MAXNUMBER; +} + +CH264FrameReader::CH264FrameReader() + : CSmplBitstreamReader(), + m_processedBS(0), + m_isEndOfStream(false), + m_frame(0), + m_plainBuffer(0), + m_plainBufferSize(0) {} + +CH264FrameReader::~CH264FrameReader() {} + +void CH264FrameReader::Close() { + CSmplBitstreamReader::Close(); + + if (NULL != m_plainBuffer) { + free(m_plainBuffer); + m_plainBuffer = NULL; + m_plainBufferSize = 0; + } +} + +mfxStatus CH264FrameReader::Init(const msdk_char* strFileName) { + mfxStatus sts = MFX_ERR_NONE; + + sts = CSmplBitstreamReader::Init(strFileName); + if (sts != MFX_ERR_NONE) + return sts; + + m_isEndOfStream = false; + m_processedBS = NULL; + + m_originalBS.Extend(1024 * 1024); +#if (MFX_VERSION < 2000) + m_pNALSplitter.reset(new ProtectedLibrary::AVC_Spl()); +#endif + m_frame = 0; + m_plainBuffer = 0; + m_plainBufferSize = 0; + + return sts; +} + +mfxStatus CH264FrameReader::ReadNextFrame(mfxBitstream* pBS) { + mfxStatus sts = MFX_ERR_NONE; + pBS->DataFlag = MFX_BITSTREAM_COMPLETE_FRAME; + //read bit stream from source + while (!m_originalBS.DataLength) { + sts = CSmplBitstreamReader::ReadNextFrame(&m_originalBS); + if (sts != MFX_ERR_NONE && sts != MFX_ERR_MORE_DATA) + return sts; + if (sts == MFX_ERR_MORE_DATA) { + m_isEndOfStream = true; + break; + } + } + + do { + sts = PrepareNextFrame(m_isEndOfStream ? NULL : &m_originalBS, &m_processedBS); + + if (sts == MFX_ERR_MORE_DATA) { + if (m_isEndOfStream) { + break; + } + + sts = CSmplBitstreamReader::ReadNextFrame(&m_originalBS); + if (sts == MFX_ERR_MORE_DATA) + m_isEndOfStream = true; + continue; + } + else if (MFX_ERR_NONE != sts) + return sts; + + } while (MFX_ERR_NONE != sts); + + // get output stream + if (NULL != m_processedBS) { + mfxStatus copySts = CopyBitstream2(pBS, m_processedBS); + if (copySts < MFX_ERR_NONE) + return copySts; + m_processedBS = NULL; + } + + return sts; +} + +mfxStatus CH264FrameReader::PrepareNextFrame(mfxBitstream* in, mfxBitstream** out) { + mfxStatus sts = MFX_ERR_NONE; + + if (NULL == out) + return MFX_ERR_NULL_PTR; + + *out = NULL; + + // get frame if it is not ready yet + if (NULL == m_frame) { + sts = m_pNALSplitter->GetFrame(in, &m_frame); + if (sts != MFX_ERR_NONE) + return sts; + } + + if (m_plainBufferSize < m_frame->DataLength) { + if (NULL != m_plainBuffer) { + free(m_plainBuffer); + m_plainBuffer = NULL; + m_plainBufferSize = 0; + } + m_plainBuffer = (mfxU8*)malloc(m_frame->DataLength); + if (NULL == m_plainBuffer) + return MFX_ERR_MEMORY_ALLOC; + m_plainBufferSize = m_frame->DataLength; + } + + MSDK_MEMCPY_BUF(m_plainBuffer, 0, m_plainBufferSize, m_frame->Data, m_frame->DataLength); + + m_outBS = { 0 }; + m_outBS.Data = m_plainBuffer; + m_outBS.DataOffset = 0; + m_outBS.DataLength = m_frame->DataLength; + m_outBS.MaxLength = m_frame->DataLength; + m_outBS.DataFlag = MFX_BITSTREAM_COMPLETE_FRAME; + m_outBS.TimeStamp = m_frame->TimeStamp; + + m_pNALSplitter->ResetCurrentState(); + m_frame = NULL; + + *out = &m_outBS; + + return sts; +} + +// This function either performs synchronization using provided syncpoint, +// or just waits for predefined time if no available syncpoint +void WaitForDeviceToBecomeFree(MFXVideoSession& session, + mfxSyncPoint& syncPoint, + mfxStatus& currentStatus) { + if (syncPoint) { + mfxStatus stsSync = session.SyncOperation(syncPoint, MSDK_WAIT_INTERVAL); + if (MFX_ERR_NONE == stsSync) { + // Retire completed sync point (otherwise we may start active polling) + syncPoint = NULL; + currentStatus = MFX_ERR_NONE; + } + else { + MSDK_TRACE_ERROR(MSDK_STRING("WaitForDeviceToBecomeFree: SyncOperation failed, sts = ") + << stsSync); + currentStatus = MFX_ERR_ABORTED; + } + } + else { + MSDK_SLEEP(1); + currentStatus = MFX_ERR_NONE; + } +} + +mfxU16 FourCCToChroma(mfxU32 fourCC) { + switch (fourCC) { + case MFX_FOURCC_NV12: + case MFX_FOURCC_P010: +#if (MFX_VERSION >= 1031) + case MFX_FOURCC_P016: +#endif + return MFX_CHROMAFORMAT_YUV420; + case MFX_FOURCC_NV16: + case MFX_FOURCC_P210: +#if (MFX_VERSION >= 1027) + case MFX_FOURCC_Y210: +#endif +#if (MFX_VERSION >= 1031) + case MFX_FOURCC_Y216: +#endif + case MFX_FOURCC_YUY2: + case MFX_FOURCC_UYVY: + return MFX_CHROMAFORMAT_YUV422; +#if (MFX_VERSION >= 1027) + case MFX_FOURCC_Y410: + case MFX_FOURCC_A2RGB10: +#endif + case MFX_FOURCC_AYUV: + case MFX_FOURCC_RGB4: + return MFX_CHROMAFORMAT_YUV444; + } + + return MFX_CHROMAFORMAT_YUV420; +} diff --git a/tools/legacy/sample_common/src/sysmem_allocator.cpp b/tools/legacy/sample_common/src/sysmem_allocator.cpp new file mode 100644 index 00000000..6e8d8ab4 --- /dev/null +++ b/tools/legacy/sample_common/src/sysmem_allocator.cpp @@ -0,0 +1,517 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "sysmem_allocator.h" +#include +#include "sample_utils.h" + +#define MSDK_ALIGN32(X) (((mfxU32)((X) + 31)) & (~(mfxU32)31)) +#define ID_BUFFER MFX_MAKEFOURCC('B', 'U', 'F', 'F') +#define ID_FRAME MFX_MAKEFOURCC('F', 'R', 'M', 'E') + +SysMemFrameAllocator::SysMemFrameAllocator() + : m_pBufferAllocator(0), + m_bOwnBufferAllocator(false) {} + +SysMemFrameAllocator::~SysMemFrameAllocator() { + Close(); +} + +mfxStatus SysMemFrameAllocator::Init(mfxAllocatorParams *pParams) { + // check if any params passed from application + if (pParams) { + SysMemAllocatorParams *pSysMemParams = 0; + pSysMemParams = dynamic_cast(pParams); + if (!pSysMemParams) + return MFX_ERR_NOT_INITIALIZED; + + m_pBufferAllocator = pSysMemParams->pBufferAllocator; + m_bOwnBufferAllocator = false; + } + + // if buffer allocator wasn't passed from application create own + if (!m_pBufferAllocator) { + m_pBufferAllocator = new SysMemBufferAllocator; + if (!m_pBufferAllocator) + return MFX_ERR_MEMORY_ALLOC; + + m_bOwnBufferAllocator = true; + } + + return MFX_ERR_NONE; +} + +mfxStatus SysMemFrameAllocator::Close() { + mfxStatus sts = BaseFrameAllocator::Close(); + + if (m_bOwnBufferAllocator) { + delete m_pBufferAllocator; + m_pBufferAllocator = 0; + } + return sts; +} + +mfxStatus SysMemFrameAllocator::LockFrame(mfxMemId mid, mfxFrameData *ptr) { + if (!m_pBufferAllocator) + return MFX_ERR_NOT_INITIALIZED; + + if (!ptr) + return MFX_ERR_NULL_PTR; + + // If allocator uses pointers instead of mids, no further action is required + if (!mid && ptr->Y) + return MFX_ERR_NONE; + + sFrame *fs = 0; + mfxStatus sts = m_pBufferAllocator->Lock(m_pBufferAllocator->pthis, mid, (mfxU8 **)&fs); + + if (MFX_ERR_NONE != sts) + return sts; + + if (ID_FRAME != fs->id) { + m_pBufferAllocator->Unlock(m_pBufferAllocator->pthis, mid); + return MFX_ERR_INVALID_HANDLE; + } + + mfxU16 Width2 = (mfxU16)MSDK_ALIGN32(fs->info.Width); + mfxU16 Height2 = (mfxU16)MSDK_ALIGN32(fs->info.Height); + ptr->B = ptr->Y = (mfxU8 *)fs + MSDK_ALIGN32(sizeof(sFrame)); + + switch (fs->info.FourCC) { + case MFX_FOURCC_NV12: + ptr->U = ptr->Y + Width2 * Height2; + ptr->V = ptr->U + 1; + ptr->PitchHigh = 0; + ptr->PitchLow = (mfxU16)MSDK_ALIGN32(fs->info.Width); + break; + case MFX_FOURCC_NV16: + ptr->U = ptr->Y + Width2 * Height2; + ptr->V = ptr->U + 1; + ptr->PitchHigh = 0; + ptr->PitchLow = (mfxU16)MSDK_ALIGN32(fs->info.Width); + break; + case MFX_FOURCC_I420: + ptr->U = ptr->Y + Width2 * Height2; + ptr->V = ptr->U + (Width2 >> 1) * (Height2 >> 1); + ptr->PitchHigh = 0; + ptr->PitchLow = (mfxU16)MSDK_ALIGN32(fs->info.Width); + break; + case MFX_FOURCC_YV12: + ptr->V = ptr->Y + Width2 * Height2; + ptr->U = ptr->V + (Width2 >> 1) * (Height2 >> 1); + ptr->PitchHigh = 0; + ptr->PitchLow = (mfxU16)MSDK_ALIGN32(fs->info.Width); + break; + case MFX_FOURCC_UYVY: + ptr->U = ptr->Y; + ptr->Y = ptr->U + 1; + ptr->V = ptr->U + 2; + ptr->PitchHigh = (mfxU16)((2 * MSDK_ALIGN32(fs->info.Width)) / (1 << 16)); + ptr->PitchLow = (mfxU16)((2 * MSDK_ALIGN32(fs->info.Width)) % (1 << 16)); + break; + case MFX_FOURCC_YUY2: + ptr->U = ptr->Y + 1; + ptr->V = ptr->Y + 3; + ptr->PitchHigh = (mfxU16)((2 * MSDK_ALIGN32(fs->info.Width)) / (1 << 16)); + ptr->PitchLow = (mfxU16)((2 * MSDK_ALIGN32(fs->info.Width)) % (1 << 16)); + break; +#if (MFX_VERSION >= 1028) + case MFX_FOURCC_RGB565: + ptr->G = ptr->B; + ptr->R = ptr->B; + ptr->PitchHigh = (mfxU16)((2 * MSDK_ALIGN32(fs->info.Width)) / (1 << 16)); + ptr->PitchLow = (mfxU16)((2 * MSDK_ALIGN32(fs->info.Width)) % (1 << 16)); + break; +#endif + case MFX_FOURCC_RGB3: + ptr->G = ptr->B + 1; + ptr->R = ptr->B + 2; + ptr->PitchHigh = (mfxU16)((3 * MSDK_ALIGN32(fs->info.Width)) / (1 << 16)); + ptr->PitchLow = (mfxU16)((3 * MSDK_ALIGN32(fs->info.Width)) % (1 << 16)); + break; +#if !(defined(_WIN32) || defined(_WIN64)) + case MFX_FOURCC_RGBP: + ptr->G = ptr->B + Width2 * Height2; + ptr->R = ptr->B + Width2 * Height2 * 2; + ptr->PitchHigh = (mfxU16)((MSDK_ALIGN32(fs->info.Width)) / (1 << 16)); + ptr->PitchLow = (mfxU16)((MSDK_ALIGN32(fs->info.Width)) % (1 << 16)); + break; +#endif + case MFX_FOURCC_RGB4: + case MFX_FOURCC_A2RGB10: + ptr->G = ptr->B + 1; + ptr->R = ptr->B + 2; + ptr->A = ptr->B + 3; + ptr->PitchHigh = (mfxU16)((4 * MSDK_ALIGN32(fs->info.Width)) / (1 << 16)); + ptr->PitchLow = (mfxU16)((4 * MSDK_ALIGN32(fs->info.Width)) % (1 << 16)); + break; + case MFX_FOURCC_R16: + ptr->Y16 = (mfxU16 *)ptr->B; + ptr->PitchHigh = (mfxU16)((2 * MSDK_ALIGN32(fs->info.Width)) / (1 << 16)); + ptr->PitchLow = (mfxU16)((2 * MSDK_ALIGN32(fs->info.Width)) % (1 << 16)); + break; + case MFX_FOURCC_I010: + ptr->U = ptr->Y + Width2 * Height2 * 2; + ptr->V = ptr->U + Width2 * (Height2 >> 1); + ptr->PitchHigh = 0; + ptr->PitchLow = (mfxU16)MSDK_ALIGN32(fs->info.Width * 2); + break; +#if (MFX_VERSION >= 1031) + case MFX_FOURCC_P016: +#endif + case MFX_FOURCC_P010: + ptr->U = ptr->Y + Width2 * Height2 * 2; + ptr->V = ptr->U + 2; + ptr->PitchHigh = 0; + ptr->PitchLow = (mfxU16)MSDK_ALIGN32(fs->info.Width * 2); + break; + case MFX_FOURCC_P210: + ptr->U = ptr->Y + Width2 * Height2 * 2; + ptr->V = ptr->U + 2; + ptr->PitchHigh = 0; + ptr->PitchLow = (mfxU16)MSDK_ALIGN32(fs->info.Width * 2); + break; + case MFX_FOURCC_AYUV: + ptr->V = ptr->B; + ptr->U = ptr->V + 1; + ptr->Y = ptr->V + 2; + ptr->A = ptr->V + 3; + ptr->PitchHigh = (mfxU16)((4 * MSDK_ALIGN32(fs->info.Width)) / (1 << 16)); + ptr->PitchLow = (mfxU16)((4 * MSDK_ALIGN32(fs->info.Width)) % (1 << 16)); + break; +#if (MFX_VERSION >= 1031) + case MFX_FOURCC_Y416: + ptr->U16 = (mfxU16 *)ptr->B; + ptr->Y16 = ptr->U16 + 1; + ptr->V16 = ptr->Y16 + 1; + ptr->A = (mfxU8 *)(ptr->V16 + 1); + ptr->PitchHigh = (mfxU16)(8 * MSDK_ALIGN32(fs->info.Width) / (1 << 16)); + ptr->PitchLow = (mfxU16)(8 * MSDK_ALIGN32(fs->info.Width) % (1 << 16)); + break; + case MFX_FOURCC_Y216: +#endif +#if (MFX_VERSION >= 1027) + case MFX_FOURCC_Y210: + ptr->Y16 = (mfxU16 *)ptr->B; + ptr->U16 = ptr->Y16 + 1; + ptr->V16 = ptr->Y16 + 3; + //4 words per macropixel -> 2 words per pixel -> 4 bytes per pixel + ptr->PitchHigh = (mfxU16)((4 * MSDK_ALIGN32(fs->info.Width)) / (1 << 16)); + ptr->PitchLow = (mfxU16)((4 * MSDK_ALIGN32(fs->info.Width)) % (1 << 16)); + break; + case MFX_FOURCC_Y410: + ptr->U = ptr->V = ptr->A = ptr->Y; + ptr->PitchHigh = (mfxU16)((4 * MSDK_ALIGN32(fs->info.Width)) / (1 << 16)); + ptr->PitchLow = (mfxU16)((4 * MSDK_ALIGN32(fs->info.Width)) % (1 << 16)); + break; +#endif + + default: + return MFX_ERR_UNSUPPORTED; + } + + return MFX_ERR_NONE; +} + +mfxStatus SysMemFrameAllocator::UnlockFrame(mfxMemId mid, mfxFrameData *ptr) { + if (!m_pBufferAllocator) + return MFX_ERR_NOT_INITIALIZED; + + // If allocator uses pointers instead of mids, no further action is required + if (!mid && ptr->Y) + return MFX_ERR_NONE; + + mfxStatus sts = m_pBufferAllocator->Unlock(m_pBufferAllocator->pthis, mid); + + if (MFX_ERR_NONE != sts) + return sts; + + if (NULL != ptr) { + ptr->Pitch = 0; + ptr->Y = 0; + ptr->U = 0; + ptr->V = 0; + ptr->A = 0; + } + + return MFX_ERR_NONE; +} + +mfxStatus SysMemFrameAllocator::GetFrameHDL(mfxMemId /*mid*/, mfxHDL * /*handle*/) { + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus SysMemFrameAllocator::CheckRequestType(mfxFrameAllocRequest *request) { + mfxStatus sts = BaseFrameAllocator::CheckRequestType(request); + if (MFX_ERR_NONE != sts) + return sts; + + if ((request->Type & MFX_MEMTYPE_SYSTEM_MEMORY) != 0) + return MFX_ERR_NONE; + else + return MFX_ERR_UNSUPPORTED; +} + +mfxMemId *SysMemFrameAllocator::GetMidHolder(mfxMemId mid) { + for (auto resp : m_vResp) { + mfxMemId *it = std::find(resp->mids, resp->mids + resp->NumFrameActual, mid); + if (it != resp->mids + resp->NumFrameActual) + return it; + } + return nullptr; +} + +static mfxU32 GetSurfaceSize(mfxU32 FourCC, mfxU32 Width2, mfxU32 Height2) { + mfxU32 nbytes = 0; + + switch (FourCC) { + case MFX_FOURCC_YV12: + case MFX_FOURCC_NV12: + case MFX_FOURCC_I420: + nbytes = + Width2 * Height2 + (Width2 >> 1) * (Height2 >> 1) + (Width2 >> 1) * (Height2 >> 1); + break; + case MFX_FOURCC_NV16: + nbytes = Width2 * Height2 + (Width2 >> 1) * (Height2) + (Width2 >> 1) * (Height2); + break; +#if (MFX_VERSION >= 1028) + case MFX_FOURCC_RGB565: + nbytes = 2 * Width2 * Height2; + break; +#endif +#if !(defined(_WIN32) || defined(_WIN64)) + case MFX_FOURCC_RGBP: +#endif + case MFX_FOURCC_RGB3: + nbytes = Width2 * Height2 + Width2 * Height2 + Width2 * Height2; + break; + case MFX_FOURCC_RGB4: + case MFX_FOURCC_AYUV: +#if (MFX_VERSION >= 1027) + case MFX_FOURCC_Y410: +#endif + nbytes = Width2 * Height2 + Width2 * Height2 + Width2 * Height2 + Width2 * Height2; + break; + case MFX_FOURCC_UYVY: + case MFX_FOURCC_YUY2: + nbytes = Width2 * Height2 + (Width2 >> 1) * (Height2) + (Width2 >> 1) * (Height2); + break; + case MFX_FOURCC_R16: + nbytes = 2 * Width2 * Height2; + break; + case MFX_FOURCC_P010: + case MFX_FOURCC_I010: +#if (MFX_VERSION >= 1031) + case MFX_FOURCC_P016: +#endif + nbytes = + Width2 * Height2 + (Width2 >> 1) * (Height2 >> 1) + (Width2 >> 1) * (Height2 >> 1); + nbytes *= 2; + break; + case MFX_FOURCC_A2RGB10: + nbytes = Width2 * Height2 * 4; // 4 bytes per pixel + break; + case MFX_FOURCC_P210: +#if (MFX_VERSION >= 1027) + case MFX_FOURCC_Y210: +#endif +#if (MFX_VERSION >= 1031) + case MFX_FOURCC_Y216: + nbytes = Width2 * Height2 + (Width2 >> 1) * (Height2) + (Width2 >> 1) * (Height2); + nbytes *= 2; // 16bits + break; + case MFX_FOURCC_Y416: + nbytes = + (Width2 * Height2 + Width2 * Height2 + Width2 * Height2 + Width2 * Height2) * 2; + break; +#endif + + default: + break; + } + + return nbytes; +} + +mfxStatus SysMemFrameAllocator::ReallocImpl(mfxMemId mid, + const mfxFrameInfo *info, + mfxU16 /*memType*/, + mfxMemId *midOut) { + if (!info || !midOut) + return MFX_ERR_NULL_PTR; + + if (!m_pBufferAllocator) + return MFX_ERR_NOT_INITIALIZED; + + mfxU32 nbytes = + GetSurfaceSize(info->FourCC, MSDK_ALIGN32(info->Width), MSDK_ALIGN32(info->Height)); + if (!nbytes) + return MFX_ERR_UNSUPPORTED; + + // pointer to the record in m_mids structure + mfxMemId *pmid = GetMidHolder(mid); + if (!pmid) + return MFX_ERR_MEMORY_ALLOC; + + mfxStatus sts = m_pBufferAllocator->Free(m_pBufferAllocator->pthis, *pmid); + if (MFX_ERR_NONE != sts) + return sts; + + sts = m_pBufferAllocator->Alloc(m_pBufferAllocator->pthis, + MSDK_ALIGN32(nbytes) + MSDK_ALIGN32(sizeof(sFrame)), + MFX_MEMTYPE_SYSTEM_MEMORY, + pmid); + if (MFX_ERR_NONE != sts) + return sts; + + sFrame *fs; + sts = m_pBufferAllocator->Lock(m_pBufferAllocator->pthis, *pmid, (mfxU8 **)&fs); + if (MFX_ERR_NONE != sts) + return sts; + + fs->id = ID_FRAME; + fs->info = *info; + m_pBufferAllocator->Unlock(m_pBufferAllocator->pthis, *pmid); + + *midOut = *pmid; + return MFX_ERR_NONE; +} + +mfxStatus SysMemFrameAllocator::AllocImpl(mfxFrameAllocRequest *request, + mfxFrameAllocResponse *response) { + if (!m_pBufferAllocator) + return MFX_ERR_NOT_INITIALIZED; + + mfxU32 numAllocated = 0; + + mfxU32 nbytes = GetSurfaceSize(request->Info.FourCC, + MSDK_ALIGN32(request->Info.Width), + MSDK_ALIGN32(request->Info.Height)); + if (!nbytes) + return MFX_ERR_UNSUPPORTED; + + std::unique_ptr mids(new mfxMemId[request->NumFrameSuggested]); + + // allocate frames + for (numAllocated = 0; numAllocated < request->NumFrameSuggested; numAllocated++) { + mfxStatus sts = m_pBufferAllocator->Alloc(m_pBufferAllocator->pthis, + nbytes + MSDK_ALIGN32(sizeof(sFrame)), + request->Type, + &(mids[numAllocated])); + + if (MFX_ERR_NONE != sts) + break; + + sFrame *fs; + sts = + m_pBufferAllocator->Lock(m_pBufferAllocator->pthis, mids[numAllocated], (mfxU8 **)&fs); + + if (MFX_ERR_NONE != sts) + break; + + fs->id = ID_FRAME; + fs->info = request->Info; + sts = m_pBufferAllocator->Unlock(m_pBufferAllocator->pthis, mids[numAllocated]); + + if (MFX_ERR_NONE != sts) + break; + } + + // check the number of allocated frames + if (numAllocated < request->NumFrameSuggested) { + return MFX_ERR_MEMORY_ALLOC; + } + + response->NumFrameActual = (mfxU16)numAllocated; + response->mids = mids.release(); + + m_vResp.push_back(response); + return MFX_ERR_NONE; +} + +mfxStatus SysMemFrameAllocator::ReleaseResponse(mfxFrameAllocResponse *response) { + if (!response) + return MFX_ERR_NULL_PTR; + + if (!m_pBufferAllocator) + return MFX_ERR_NOT_INITIALIZED; + + mfxStatus sts = MFX_ERR_NONE; + + if (response->mids) { + for (mfxU32 i = 0; i < response->NumFrameActual; i++) { + if (response->mids[i]) { + sts = m_pBufferAllocator->Free(m_pBufferAllocator->pthis, response->mids[i]); + if (MFX_ERR_NONE != sts) + return sts; + } + } + } + + m_vResp.erase(std::remove(m_vResp.begin(), m_vResp.end(), response), m_vResp.end()); + delete[] response->mids; + response->mids = 0; + + return sts; +} + +SysMemBufferAllocator::SysMemBufferAllocator() {} + +SysMemBufferAllocator::~SysMemBufferAllocator() {} + +mfxStatus SysMemBufferAllocator::AllocBuffer(mfxU32 nbytes, mfxU16 type, mfxMemId *mid) { + if (!mid) + return MFX_ERR_NULL_PTR; + + if (0 == (type & MFX_MEMTYPE_SYSTEM_MEMORY)) + return MFX_ERR_UNSUPPORTED; + + mfxU32 header_size = MSDK_ALIGN32(sizeof(sBuffer)); + mfxU8 *buffer_ptr = (mfxU8 *)calloc(header_size + nbytes + 32, 1); + + if (!buffer_ptr) + return MFX_ERR_MEMORY_ALLOC; + + sBuffer *bs = (sBuffer *)buffer_ptr; + bs->id = ID_BUFFER; + bs->type = type; + bs->nbytes = nbytes; + *mid = (mfxHDL)bs; + return MFX_ERR_NONE; +} + +mfxStatus SysMemBufferAllocator::LockBuffer(mfxMemId mid, mfxU8 **ptr) { + if (!ptr) + return MFX_ERR_NULL_PTR; + + sBuffer *bs = (sBuffer *)mid; + + if (!bs) + return MFX_ERR_INVALID_HANDLE; + if (ID_BUFFER != bs->id) + return MFX_ERR_INVALID_HANDLE; + + *ptr = (mfxU8 *)((size_t)((mfxU8 *)bs + MSDK_ALIGN32(sizeof(sBuffer)) + 31) & (~((size_t)31))); + return MFX_ERR_NONE; +} + +mfxStatus SysMemBufferAllocator::UnlockBuffer(mfxMemId mid) { + sBuffer *bs = (sBuffer *)mid; + + if (!bs || ID_BUFFER != bs->id) + return MFX_ERR_INVALID_HANDLE; + + return MFX_ERR_NONE; +} + +mfxStatus SysMemBufferAllocator::FreeBuffer(mfxMemId mid) { + sBuffer *bs = (sBuffer *)mid; + if (!bs || ID_BUFFER != bs->id) + return MFX_ERR_INVALID_HANDLE; + + free(bs); + return MFX_ERR_NONE; +} diff --git a/tools/legacy/sample_common/src/v4l2_util.cpp b/tools/legacy/sample_common/src/v4l2_util.cpp new file mode 100644 index 00000000..4f3be9cd --- /dev/null +++ b/tools/legacy/sample_common/src/v4l2_util.cpp @@ -0,0 +1,337 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#if defined(ENABLE_V4L2_SUPPORT) + + #include "v4l2_util.h" + #include + #include + #include + #include + #include + #include + #include + #include + #include + +/* Global Declaration */ +Buffer *buffers, *CurBuffers; +bool CtrlFlag = false; +int m_q[5], m_first = 0, m_last = 0, m_numInQ = 0; +pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; +pthread_mutex_t empty = PTHREAD_MUTEX_INITIALIZER; + +v4l2Device::v4l2Device(const char *devname, + uint32_t width, + uint32_t height, + uint32_t num_buffers, + enum AtomISPMode MipiMode, + enum V4L2PixelFormat v4l2Format) + : m_devname(devname), + m_height(height), + m_width(width), + m_num_buffers(num_buffers), + m_MipiPort(0), + m_MipiMode(MipiMode), + m_v4l2Format(v4l2Format), + m_fd(-1) {} + +v4l2Device::~v4l2Device() { + if (m_fd > -1) { + BYE_ON(close(m_fd) < 0, "V4L2 device close failed: %s\n", ERRSTR); + } +} + +int v4l2Device::blockIOCTL(int handle, int request, void *args) { + int ioctlStatus; + do { + ioctlStatus = ioctl(handle, request, args); + } while (-1 == ioctlStatus && EINTR == errno); + return ioctlStatus; +} + +int v4l2Device::GetAtomISPModes(enum AtomISPMode mode) { + switch (mode) { + case VIDEO: + return _ISP_MODE_VIDEO; + case PREVIEW: + return _ISP_MODE_PREVIEW; + case CONTINUOUS: + return _ISP_MODE_CONTINUOUS; + case STILL: + return _ISP_MODE_STILL; + case NONE: + + default: + return _ISP_MODE_NONE; + } +} + +int v4l2Device::ConvertToMFXFourCC(enum V4L2PixelFormat v4l2Format) { + switch (v4l2Format) { + case UYVY: + return MFX_FOURCC_UYVY; + case YUY2: + return MFX_FOURCC_YUY2; + case NO_FORMAT: + + default: + assert(!"Unsupported mfx fourcc"); + return 0; + } +} + +int v4l2Device::ConvertToV4L2FourCC() { + switch (m_v4l2Format) { + case UYVY: + return V4L2_PIX_FMT_UYVY; + case YUY2: + return V4L2_PIX_FMT_YUYV; + case NO_FORMAT: + + default: + assert(!"Unsupported v4l2 fourcc"); + return 0; + } +} + +void v4l2Device::Init(const char *devname, + uint32_t width, + uint32_t height, + uint32_t num_buffers, + enum V4L2PixelFormat v4l2Format, + enum AtomISPMode MipiMode, + int MipiPort) { + (devname != NULL) ? m_devname = devname : m_devname; + (m_width != width) ? m_width = width : m_width; + (m_height != height) ? m_height = height : m_height; + (m_num_buffers != num_buffers) ? m_num_buffers = num_buffers : m_num_buffers; + (m_v4l2Format != v4l2Format) ? m_v4l2Format = v4l2Format : m_v4l2Format; + (m_MipiMode != MipiMode) ? m_MipiMode = MipiMode : m_MipiMode; + (m_MipiPort != MipiPort) ? m_MipiPort = MipiPort : m_MipiPort; + + memset(&m_format, 0, sizeof m_format); + m_format.width = m_width; + m_format.height = m_height; + m_format.pixelformat = ConvertToV4L2FourCC(); + + V4L2Init(); +} + +void v4l2Device::V4L2Init() { + int ret; + struct v4l2_format fmt; + struct v4l2_capability caps; + struct v4l2_streamparm parm; + struct v4l2_requestbuffers rqbufs; + CLEAR(parm); + + m_fd = open(m_devname, O_RDWR); + BYE_ON(m_fd < 0, "failed to open %s: %s\n", m_devname, ERRSTR); + CLEAR(caps); + + /* Specifically for setting up mipi configuration. DMABUFF is + * also enable by default here. + */ + if (m_MipiPort > -1 && m_MipiMode != NONE) { + parm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + parm.parm.capture.capturemode = GetAtomISPModes(m_MipiMode); + + ret = blockIOCTL(m_fd, VIDIOC_S_INPUT, &m_MipiPort); + BYE_ON(ret < 0, "VIDIOC_S_INPUT failed: %s\n", ERRSTR); + + ret = blockIOCTL(m_fd, VIDIOC_S_PARM, &parm); + BYE_ON(ret < 0, "VIDIOC_S_PARAM failed: %s\n", ERRSTR); + } + + ret = blockIOCTL(m_fd, VIDIOC_QUERYCAP, &caps); + msdk_printf("Driver Caps:\n" + " Driver: \"%s\"\n" + " Card: \"%s\"\n" + " Bus: \"%s\"\n" + " Version: %d.%d\n" + " Capabilities: %08x\n", + caps.driver, + caps.card, + caps.bus_info, + (caps.version >> 16) && 0xff, + (caps.version >> 24) && 0xff, + caps.capabilities); + + BYE_ON(ret, "VIDIOC_QUERYCAP failed: %s\n", ERRSTR); + BYE_ON(~caps.capabilities & V4L2_CAP_VIDEO_CAPTURE, + "video: singleplanar capture is not supported\n"); + + CLEAR(fmt); + fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + ret = blockIOCTL(m_fd, VIDIOC_G_FMT, &fmt); + + BYE_ON(ret < 0, "VIDIOC_G_FMT failed: %s\n", ERRSTR); + + msdk_printf( + "G_FMT(start): width = %u, height = %u, 4cc = %.4s, BPP = %u sizeimage = %d field = %d\n", + fmt.fmt.pix.width, + fmt.fmt.pix.height, + (char *)&fmt.fmt.pix.pixelformat, + fmt.fmt.pix.bytesperline, + fmt.fmt.pix.sizeimage, + fmt.fmt.pix.field); + + fmt.fmt.pix = m_format; + + msdk_printf( + "G_FMT(pre): width = %u, height = %u, 4cc = %.4s, BPP = %u sizeimage = %d field = %d\n", + fmt.fmt.pix.width, + fmt.fmt.pix.height, + (char *)&fmt.fmt.pix.pixelformat, + fmt.fmt.pix.bytesperline, + fmt.fmt.pix.sizeimage, + fmt.fmt.pix.field); + + ret = blockIOCTL(m_fd, VIDIOC_S_FMT, &fmt); + BYE_ON(ret < 0, "VIDIOC_S_FMT failed: %s\n", ERRSTR); + + ret = blockIOCTL(m_fd, VIDIOC_G_FMT, &fmt); + BYE_ON(ret < 0, "VIDIOC_G_FMT failed: %s\n", ERRSTR); + msdk_printf("G_FMT(final): width = %u, height = %u, 4cc = %.4s, BPP = %u\n", + fmt.fmt.pix.width, + fmt.fmt.pix.height, + (char *)&fmt.fmt.pix.pixelformat, + fmt.fmt.pix.bytesperline); + + CLEAR(rqbufs); + rqbufs.count = m_num_buffers; + rqbufs.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + rqbufs.memory = V4L2_MEMORY_DMABUF; + + ret = blockIOCTL(m_fd, VIDIOC_REQBUFS, &rqbufs); + BYE_ON(ret < 0, "VIDIOC_REQBUFS failed: %s\n", ERRSTR); + BYE_ON(rqbufs.count < m_num_buffers, + "video node allocated only " + "%u of %u buffers\n", + rqbufs.count, + m_num_buffers); + + m_format = fmt.fmt.pix; +} + +void v4l2Device::V4L2Alloc() { + buffers = (Buffer *)malloc(sizeof(Buffer) * (int)m_num_buffers); +} + +void v4l2Device::V4L2QueueBuffer(Buffer *buffer) { + struct v4l2_buffer buf; + int ret; + + memset(&buf, 0, sizeof buf); + buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + buf.memory = V4L2_MEMORY_DMABUF; + buf.index = buffer->index; + buf.m.fd = buffer->fd; + + ret = blockIOCTL(m_fd, VIDIOC_QBUF, &buf); + BYE_ON(ret < 0, + "VIDIOC_QBUF for buffer %d failed: %s (fd %u) (i %u)\n", + buf.index, + ERRSTR, + buffer->fd, + buffer->index); +} + +Buffer *v4l2Device::V4L2DeQueueBuffer(Buffer *buffer) { + struct v4l2_buffer buf; + int ret; + + memset(&buf, 0, sizeof buf); + + buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + buf.memory = V4L2_MEMORY_DMABUF; + + ret = blockIOCTL(m_fd, VIDIOC_DQBUF, &buf); + BYE_ON(ret, "VIDIOC_DQBUF failed: %s\n", ERRSTR); + + return &buffer[buf.index]; +} + +void v4l2Device::V4L2StartCapture() { + int type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + int ret = 0; + + ret = blockIOCTL(m_fd, VIDIOC_STREAMON, &type); + BYE_ON(ret < 0, "STREAMON failed: %s\n", ERRSTR); +} + +void v4l2Device::V4L2StopCapture() { + int type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + int ret = 0; + + ret = blockIOCTL(m_fd, VIDIOC_STREAMOFF, &type); + BYE_ON(ret < 0, "STREAMOFF failed: %s\n", ERRSTR); +} + +void v4l2Device::PutOnQ(int x) { + pthread_mutex_lock(&mutex); + m_q[m_first] = x; + m_first = (m_first + 1) % 5; + m_numInQ++; + pthread_mutex_unlock(&mutex); + pthread_mutex_unlock(&empty); +} + +int v4l2Device::GetOffQ() { + int thing; + + /* wait if the queue is empty. */ + while (m_numInQ == 0) + pthread_mutex_lock(&empty); + + pthread_mutex_lock(&mutex); + thing = m_q[m_last]; + m_last = (m_last + 1) % 5; + m_numInQ--; + pthread_mutex_unlock(&mutex); + + return thing; +} + +int v4l2Device::GetV4L2TerminationSignal() { + return (CtrlFlag && m_numInQ == 0) ? 1 : 0; +} + +static void CtrlCTerminationHandler(int s) { + CtrlFlag = true; +} + +void *PollingThread(void *data) { + v4l2Device *v4l2 = (v4l2Device *)data; + + struct sigaction sigIntHandler; + sigIntHandler.sa_handler = CtrlCTerminationHandler; + sigemptyset(&sigIntHandler.sa_mask); + sigIntHandler.sa_flags = 0; + sigaction(SIGINT, &sigIntHandler, NULL); + + struct pollfd fd; + fd.fd = v4l2->GetV4L2DisplayID(); + fd.events = POLLIN; + + while (1) { + if (poll(&fd, 1, 5000) > 0) { + if (fd.revents & POLLIN) { + CurBuffers = v4l2->V4L2DeQueueBuffer(buffers); + v4l2->PutOnQ(CurBuffers->index); + + if (CtrlFlag) + break; + + if (CurBuffers) + v4l2->V4L2QueueBuffer(&buffers[CurBuffers->index]); + } + } + } +} + +#endif // ifdef ENABLE_V4L2_SUPPORT diff --git a/tools/legacy/sample_common/src/vaapi_allocator.cpp b/tools/legacy/sample_common/src/vaapi_allocator.cpp new file mode 100644 index 00000000..ec10a3ee --- /dev/null +++ b/tools/legacy/sample_common/src/vaapi_allocator.cpp @@ -0,0 +1,708 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#if defined(LIBVA_SUPPORT) + + #include + #include + + #include "vaapi_allocator.h" + #include "vaapi_utils.h" + +enum { + MFX_FOURCC_VP8_NV12 = MFX_MAKEFOURCC('V', 'P', '8', 'N'), + MFX_FOURCC_VP8_MBDATA = MFX_MAKEFOURCC('V', 'P', '8', 'M'), + MFX_FOURCC_VP8_SEGMAP = MFX_MAKEFOURCC('V', 'P', '8', 'S'), +}; + +unsigned int ConvertMfxFourccToVAFormat(mfxU32 fourcc) { + switch (fourcc) { + case MFX_FOURCC_NV12: + return VA_FOURCC_NV12; + case MFX_FOURCC_YUY2: + return VA_FOURCC_YUY2; + case MFX_FOURCC_UYVY: + return VA_FOURCC_UYVY; + case MFX_FOURCC_YV12: + return VA_FOURCC_YV12; + #if (MFX_VERSION >= 1028) + case MFX_FOURCC_RGB565: + return VA_FOURCC_RGB565; + #endif + case MFX_FOURCC_RGB4: + return VA_FOURCC_ARGB; + case MFX_FOURCC_BGR4: + return VA_FOURCC_ABGR; + case MFX_FOURCC_RGBP: + return VA_FOURCC_RGBP; + case MFX_FOURCC_P8: + return VA_FOURCC_P208; + case MFX_FOURCC_P010: + return VA_FOURCC_P010; + case MFX_FOURCC_A2RGB10: + return VA_FOURCC_ARGB; // rt format will be VA_RT_FORMAT_RGB32_10BPP + case MFX_FOURCC_AYUV: + return VA_FOURCC_AYUV; + #if (MFX_VERSION >= 1027) + case MFX_FOURCC_Y210: + return VA_FOURCC_Y210; + case MFX_FOURCC_Y410: + return VA_FOURCC_Y410; + #endif + #if (MFX_VERSION >= 1031) + case MFX_FOURCC_P016: + return VA_FOURCC_P016; + case MFX_FOURCC_Y216: + return VA_FOURCC_Y216; + case MFX_FOURCC_Y416: + return VA_FOURCC_Y416; + #endif + default: + assert(!"unsupported fourcc"); + return 0; + } +} + +unsigned int ConvertVP8FourccToMfxFourcc(mfxU32 fourcc) { + switch (fourcc) { + case MFX_FOURCC_VP8_NV12: + case MFX_FOURCC_VP8_MBDATA: + return MFX_FOURCC_NV12; + case MFX_FOURCC_VP8_SEGMAP: + return MFX_FOURCC_P8; + + default: + return fourcc; + } +} + +vaapiFrameAllocator::vaapiFrameAllocator() + : m_dpy(0), + m_libva(new MfxLoader::VA_Proxy), + m_export_mode(vaapiAllocatorParams::DONOT_EXPORT), + m_exporter(NULL) {} + +vaapiFrameAllocator::~vaapiFrameAllocator() { + Close(); + delete m_libva; +} + +mfxStatus vaapiFrameAllocator::Init(mfxAllocatorParams *pParams) { + vaapiAllocatorParams *p_vaapiParams = dynamic_cast(pParams); + + if ((NULL == p_vaapiParams) || (NULL == p_vaapiParams->m_dpy)) + return MFX_ERR_NOT_INITIALIZED; + + if ((p_vaapiParams->m_export_mode != vaapiAllocatorParams::DONOT_EXPORT) && + !(p_vaapiParams->m_export_mode & vaapiAllocatorParams::FLINK) && + !(p_vaapiParams->m_export_mode & vaapiAllocatorParams::PRIME) && + !(p_vaapiParams->m_export_mode & vaapiAllocatorParams::CUSTOM)) + return MFX_ERR_UNSUPPORTED; + if ((p_vaapiParams->m_export_mode & vaapiAllocatorParams::CUSTOM) && !p_vaapiParams->m_exporter) + return MFX_ERR_UNSUPPORTED; + + m_dpy = p_vaapiParams->m_dpy; + m_export_mode = p_vaapiParams->m_export_mode; + m_exporter = p_vaapiParams->m_exporter; + return MFX_ERR_NONE; +} + +mfxStatus vaapiFrameAllocator::CheckRequestType(mfxFrameAllocRequest *request) { + mfxStatus sts = BaseFrameAllocator::CheckRequestType(request); + if (MFX_ERR_NONE != sts) + return sts; + + if ((request->Type & (MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET | + MFX_MEMTYPE_VIDEO_MEMORY_PROCESSOR_TARGET)) != 0) + return MFX_ERR_NONE; + else + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus vaapiFrameAllocator::Close() { + return BaseFrameAllocator::Close(); +} + +static mfxStatus GetVAFourcc(mfxU32 fourcc, unsigned int &va_fourcc) { + // VP8 hybrid driver has weird requirements for allocation of surfaces/buffers for VP8 encoding + // to comply with them additional logic is required to support regular and VP8 hybrid allocation pathes + mfxU32 mfx_fourcc = ConvertVP8FourccToMfxFourcc(fourcc); + va_fourcc = ConvertMfxFourccToVAFormat(mfx_fourcc); + if (!va_fourcc || ((VA_FOURCC_NV12 != va_fourcc) && (VA_FOURCC_YV12 != va_fourcc) && + (VA_FOURCC_YUY2 != va_fourcc) && (VA_FOURCC_ARGB != va_fourcc) && + (VA_FOURCC_ABGR != va_fourcc) && (VA_FOURCC_RGBP != va_fourcc) && + (VA_FOURCC_P208 != va_fourcc) && (VA_FOURCC_P010 != va_fourcc) && + (VA_FOURCC_YUY2 != va_fourcc) && + #if (MFX_VERSION >= 1027) + (VA_FOURCC_Y210 != va_fourcc) && (VA_FOURCC_Y410 != va_fourcc) && + #endif + #if (MFX_VERSION >= 1028) + (VA_FOURCC_RGB565 != va_fourcc) && + #endif + #if (MFX_VERSION >= 1031) + (VA_FOURCC_P016 != va_fourcc) && (VA_FOURCC_Y216 != va_fourcc) && + (VA_FOURCC_Y416 != va_fourcc) && + #endif + (VA_FOURCC_AYUV != va_fourcc))) { + return MFX_ERR_MEMORY_ALLOC; + } + + return MFX_ERR_NONE; +} + +mfxStatus vaapiFrameAllocator::ReallocImpl(mfxMemId mid, + const mfxFrameInfo *info, + mfxU16 memType, + mfxMemId *midOut) { + if (!info || !midOut) + return MFX_ERR_NULL_PTR; + + mfxStatus mfx_res = MFX_ERR_NONE; + VAStatus va_res = VA_STATUS_SUCCESS; + unsigned int va_fourcc = 0; + mfxU32 fourcc = info->FourCC; + + mfx_res = GetVAFourcc(fourcc, va_fourcc); + if (MFX_ERR_NONE != mfx_res) + return mfx_res; + + mfxU32 Width = info->Width; + mfxU32 Height = info->Height; + + if (VA_FOURCC_P208 == va_fourcc) + return MFX_ERR_UNSUPPORTED; + + VASurfaceID surfaces[1]; + VASurfaceAttrib attrib[2]; + vaapiMemId *vaapiMid = (vaapiMemId *)mid; + surfaces[0] = *vaapiMid->m_surface; + m_libva->vaDestroySurfaces(m_dpy, surfaces, 1); + + unsigned int format; + int attrCnt = 0; + + attrib[attrCnt].type = VASurfaceAttribPixelFormat; + attrib[attrCnt].flags = VA_SURFACE_ATTRIB_SETTABLE; + attrib[attrCnt].value.type = VAGenericValueTypeInteger; + attrib[attrCnt++].value.value.i = va_fourcc; + format = va_fourcc; + + if ((fourcc == MFX_FOURCC_VP8_NV12) || + ((MFX_MEMTYPE_VIDEO_MEMORY_ENCODER_TARGET & memType) && + ((fourcc == MFX_FOURCC_RGB4) || (fourcc == MFX_FOURCC_BGR4)))) { + /* + * special configuration for NV12 surf allocation for VP8 hybrid encoder and + * RGB32 for JPEG is required + */ + attrib[attrCnt].type = (VASurfaceAttribType)VASurfaceAttribUsageHint; + attrib[attrCnt].flags = VA_SURFACE_ATTRIB_SETTABLE; + attrib[attrCnt].value.type = VAGenericValueTypeInteger; + attrib[attrCnt++].value.value.i = VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER; + } + else if (fourcc == MFX_FOURCC_VP8_MBDATA) { + // special configuration for MB data surf allocation for VP8 hybrid encoder is required + attrib[0].value.value.i = VA_FOURCC_P208; + format = VA_FOURCC_P208; + } + else if (va_fourcc == VA_FOURCC_NV12) { + format = VA_RT_FORMAT_YUV420; + } + + va_res = + m_libva->vaCreateSurfaces(m_dpy, format, Width, Height, surfaces, 1, &attrib[0], attrCnt); + + *vaapiMid->m_surface = surfaces[0]; + vaapiMid->m_fourcc = fourcc; + *midOut = mid; + + mfx_res = va_to_mfx_status(va_res); + + return mfx_res; +} + +mfxStatus vaapiFrameAllocator::AllocImpl(mfxFrameAllocRequest *request, + mfxFrameAllocResponse *response) { + mfxStatus mfx_res = MFX_ERR_NONE; + VAStatus va_res = VA_STATUS_SUCCESS; + unsigned int va_fourcc = 0; + VASurfaceID *surfaces = NULL; + vaapiMemId *vaapi_mids = NULL, *vaapi_mid = NULL; + mfxMemId *mids = NULL; + mfxU32 fourcc = request->Info.FourCC; + mfxU16 surfaces_num = request->NumFrameSuggested, numAllocated = 0, i = 0; + bool bCreateSrfSucceeded = false; + + memset(response, 0, sizeof(mfxFrameAllocResponse)); + + mfx_res = GetVAFourcc(fourcc, va_fourcc); + if (MFX_ERR_NONE != mfx_res) + return mfx_res; + + if (!surfaces_num) { + return MFX_ERR_MEMORY_ALLOC; + } + + if (MFX_ERR_NONE == mfx_res) { + surfaces = (VASurfaceID *)calloc(surfaces_num, sizeof(VASurfaceID)); + vaapi_mids = (vaapiMemId *)calloc(surfaces_num, sizeof(vaapiMemId)); + mids = (mfxMemId *)calloc(surfaces_num, sizeof(mfxMemId)); + if ((NULL == surfaces) || (NULL == vaapi_mids) || (NULL == mids)) + mfx_res = MFX_ERR_MEMORY_ALLOC; + } + if (MFX_ERR_NONE == mfx_res) { + if (VA_FOURCC_P208 != va_fourcc) { + unsigned int format; + VASurfaceAttrib attrib[2]; + int attrCnt = 0; + + attrib[attrCnt].type = VASurfaceAttribPixelFormat; + attrib[attrCnt].flags = VA_SURFACE_ATTRIB_SETTABLE; + attrib[attrCnt].value.type = VAGenericValueTypeInteger; + attrib[attrCnt++].value.value.i = va_fourcc; + format = va_fourcc; + + if (fourcc == MFX_FOURCC_VP8_NV12) { + // special configuration for NV12 surf allocation for VP8 hybrid encoder is required + attrib[attrCnt].type = (VASurfaceAttribType)VASurfaceAttribUsageHint; + attrib[attrCnt].flags = VA_SURFACE_ATTRIB_SETTABLE; + attrib[attrCnt].value.type = VAGenericValueTypeInteger; + attrib[attrCnt++].value.value.i = VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER; + } + else if (fourcc == MFX_FOURCC_VP8_MBDATA) { + // special configuration for MB data surf allocation for VP8 hybrid encoder is required + attrib[0].value.value.i = VA_FOURCC_P208; + format = VA_FOURCC_P208; + } + else if (va_fourcc == VA_FOURCC_NV12) { + format = VA_RT_FORMAT_YUV420; + } + else if ((va_fourcc == VA_FOURCC_UYVY) || (va_fourcc == VA_FOURCC_YUY2)) { + format = VA_RT_FORMAT_YUV422; + } + else if (fourcc == MFX_FOURCC_A2RGB10) { + format = VA_RT_FORMAT_RGB32_10BPP; + } + else if (fourcc == MFX_FOURCC_RGBP) { + format = VA_RT_FORMAT_RGBP; + } + + va_res = m_libva->vaCreateSurfaces(m_dpy, + format, + request->Info.Width, + request->Info.Height, + surfaces, + surfaces_num, + &attrib[0], + attrCnt); + + mfx_res = va_to_mfx_status(va_res); + bCreateSrfSucceeded = (MFX_ERR_NONE == mfx_res); + } + else { + VAContextID context_id = request->AllocId; + int codedbuf_size, codedbuf_num; + + VABufferType codedbuf_type; + if (fourcc == MFX_FOURCC_VP8_SEGMAP) { + codedbuf_size = request->Info.Width; + codedbuf_num = request->Info.Height; + codedbuf_type = VAEncMacroblockMapBufferType; + } + else { + int width32 = 32 * ((request->Info.Width + 31) >> 5); + int height32 = 32 * ((request->Info.Height + 31) >> 5); + codedbuf_size = static_cast((width32 * height32) * 400LL / (16 * 16)); + codedbuf_num = 1; + codedbuf_type = VAEncCodedBufferType; + } + + for (numAllocated = 0; numAllocated < surfaces_num; numAllocated++) { + VABufferID coded_buf; + + va_res = m_libva->vaCreateBuffer(m_dpy, + context_id, + codedbuf_type, + codedbuf_size, + codedbuf_num, + NULL, + &coded_buf); + mfx_res = va_to_mfx_status(va_res); + if (MFX_ERR_NONE != mfx_res) + break; + surfaces[numAllocated] = coded_buf; + } + } + } + + if ((MFX_ERR_NONE == mfx_res) && (request->Type & MFX_MEMTYPE_EXPORT_FRAME)) { + if (m_export_mode == vaapiAllocatorParams::DONOT_EXPORT) { + mfx_res = MFX_ERR_UNKNOWN; + } + for (i = 0; i < surfaces_num; ++i) { + if (m_export_mode & vaapiAllocatorParams::NATIVE_EXPORT_MASK) { + vaapi_mids[i].m_buffer_info.mem_type = (m_export_mode & vaapiAllocatorParams::PRIME) + ? VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME + : VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM; + va_res = m_libva->vaDeriveImage(m_dpy, surfaces[i], &(vaapi_mids[i].m_image)); + mfx_res = va_to_mfx_status(va_res); + + if (MFX_ERR_NONE != mfx_res) + break; + + va_res = m_libva->vaAcquireBufferHandle(m_dpy, + vaapi_mids[i].m_image.buf, + &(vaapi_mids[i].m_buffer_info)); + + mfx_res = va_to_mfx_status(va_res); + + if (MFX_ERR_NONE != mfx_res) { + m_libva->vaDestroyImage(m_dpy, vaapi_mids[i].m_image.image_id); + break; + } + } + if (m_exporter) { + vaapi_mids[i].m_custom = m_exporter->acquire(&vaapi_mids[i]); + if (!vaapi_mids[i].m_custom) { + mfx_res = MFX_ERR_UNKNOWN; + break; + } + } + } + } + if (MFX_ERR_NONE == mfx_res) { + for (i = 0; i < surfaces_num; ++i) { + vaapi_mid = &(vaapi_mids[i]); + vaapi_mid->m_fourcc = fourcc; + vaapi_mid->m_surface = &(surfaces[i]); + mids[i] = vaapi_mid; + } + } + if (MFX_ERR_NONE == mfx_res) { + response->mids = mids; + response->NumFrameActual = surfaces_num; + } + else // i.e. MFX_ERR_NONE != mfx_res + { + response->mids = NULL; + response->NumFrameActual = 0; + if (VA_FOURCC_P208 != va_fourcc || fourcc == MFX_FOURCC_VP8_MBDATA) { + if (bCreateSrfSucceeded) + m_libva->vaDestroySurfaces(m_dpy, surfaces, surfaces_num); + } + else { + for (i = 0; i < numAllocated; i++) + m_libva->vaDestroyBuffer(m_dpy, surfaces[i]); + } + if (mids) { + free(mids); + mids = NULL; + } + if (vaapi_mids) { + free(vaapi_mids); + vaapi_mids = NULL; + } + if (surfaces) { + free(surfaces); + surfaces = NULL; + } + } + return mfx_res; +} + +mfxStatus vaapiFrameAllocator::ReleaseResponse(mfxFrameAllocResponse *response) { + vaapiMemId *vaapi_mids = NULL; + VASurfaceID *surfaces = NULL; + mfxU32 i = 0; + bool isBitstreamMemory = false; + + if (!response) + return MFX_ERR_NULL_PTR; + + if (response->mids) { + vaapi_mids = (vaapiMemId *)(response->mids[0]); + mfxU32 mfx_fourcc = ConvertVP8FourccToMfxFourcc(vaapi_mids->m_fourcc); + isBitstreamMemory = (MFX_FOURCC_P8 == mfx_fourcc) ? true : false; + surfaces = vaapi_mids->m_surface; + for (i = 0; i < response->NumFrameActual; ++i) { + if (MFX_FOURCC_P8 == vaapi_mids[i].m_fourcc) + m_libva->vaDestroyBuffer(m_dpy, surfaces[i]); + else if (vaapi_mids[i].m_sys_buffer) + free(vaapi_mids[i].m_sys_buffer); + if (m_export_mode != vaapiAllocatorParams::DONOT_EXPORT) { + if (m_exporter && vaapi_mids[i].m_custom) { + m_exporter->release(&vaapi_mids[i], vaapi_mids[i].m_custom); + } + if (m_export_mode & vaapiAllocatorParams::NATIVE_EXPORT_MASK) { + m_libva->vaReleaseBufferHandle(m_dpy, vaapi_mids[i].m_image.buf); + m_libva->vaDestroyImage(m_dpy, vaapi_mids[i].m_image.image_id); + } + } + } + free(vaapi_mids); + free(response->mids); + response->mids = NULL; + + if (!isBitstreamMemory) + m_libva->vaDestroySurfaces(m_dpy, surfaces, response->NumFrameActual); + free(surfaces); + } + response->NumFrameActual = 0; + return MFX_ERR_NONE; +} + +mfxStatus vaapiFrameAllocator::LockFrame(mfxMemId mid, mfxFrameData *ptr) { + mfxStatus mfx_res = MFX_ERR_NONE; + VAStatus va_res = VA_STATUS_SUCCESS; + vaapiMemId *vaapi_mid = (vaapiMemId *)mid; + mfxU8 *pBuffer = 0; + + if (!vaapi_mid || !(vaapi_mid->m_surface)) + return MFX_ERR_INVALID_HANDLE; + + mfxU32 mfx_fourcc = ConvertVP8FourccToMfxFourcc(vaapi_mid->m_fourcc); + + if (MFX_FOURCC_P8 == mfx_fourcc) // bitstream processing + { + VACodedBufferSegment *coded_buffer_segment; + if (vaapi_mid->m_fourcc == MFX_FOURCC_VP8_SEGMAP) + va_res = m_libva->vaMapBuffer(m_dpy, *(vaapi_mid->m_surface), (void **)(&pBuffer)); + else + va_res = m_libva->vaMapBuffer(m_dpy, + *(vaapi_mid->m_surface), + (void **)(&coded_buffer_segment)); + mfx_res = va_to_mfx_status(va_res); + if (MFX_ERR_NONE == mfx_res) { + if (vaapi_mid->m_fourcc == MFX_FOURCC_VP8_SEGMAP) + ptr->Y = pBuffer; + else + ptr->Y = (mfxU8 *)coded_buffer_segment->buf; + } + } + else // Image processing + { + va_res = m_libva->vaDeriveImage(m_dpy, *(vaapi_mid->m_surface), &(vaapi_mid->m_image)); + mfx_res = va_to_mfx_status(va_res); + + if (MFX_ERR_NONE == mfx_res) { + va_res = m_libva->vaMapBuffer(m_dpy, vaapi_mid->m_image.buf, (void **)&pBuffer); + mfx_res = va_to_mfx_status(va_res); + } + if (MFX_ERR_NONE == mfx_res) { + switch (vaapi_mid->m_image.format.fourcc) { + case VA_FOURCC_NV12: + if (mfx_fourcc != vaapi_mid->m_image.format.fourcc) + return MFX_ERR_LOCK_MEMORY; + + { + ptr->Y = pBuffer + vaapi_mid->m_image.offsets[0]; + ptr->U = pBuffer + vaapi_mid->m_image.offsets[1]; + ptr->V = ptr->U + 1; + } + break; + case VA_FOURCC_YV12: + if (mfx_fourcc != vaapi_mid->m_image.format.fourcc) + return MFX_ERR_LOCK_MEMORY; + + { + ptr->Y = pBuffer + vaapi_mid->m_image.offsets[0]; + ptr->V = pBuffer + vaapi_mid->m_image.offsets[1]; + ptr->U = pBuffer + vaapi_mid->m_image.offsets[2]; + } + break; + case VA_FOURCC_YUY2: + if (mfx_fourcc != vaapi_mid->m_image.format.fourcc) + return MFX_ERR_LOCK_MEMORY; + + { + ptr->Y = pBuffer + vaapi_mid->m_image.offsets[0]; + ptr->U = ptr->Y + 1; + ptr->V = ptr->Y + 3; + } + break; + case VA_FOURCC_UYVY: + if (mfx_fourcc != vaapi_mid->m_image.format.fourcc) + return MFX_ERR_LOCK_MEMORY; + + { + ptr->U = pBuffer + vaapi_mid->m_image.offsets[0]; + ptr->Y = ptr->U + 1; + ptr->V = ptr->U + 2; + } + break; + #if (MFX_VERSION >= 1028) + case VA_FOURCC_RGB565: + if (mfx_fourcc == MFX_FOURCC_RGB565) { + ptr->B = pBuffer + vaapi_mid->m_image.offsets[0]; + ptr->G = ptr->B; + ptr->R = ptr->B; + } + else + return MFX_ERR_LOCK_MEMORY; + break; + #endif + case VA_FOURCC_ARGB: + if (mfx_fourcc == MFX_FOURCC_RGB4) { + ptr->B = pBuffer + vaapi_mid->m_image.offsets[0]; + ptr->G = ptr->B + 1; + ptr->R = ptr->B + 2; + ptr->A = ptr->B + 3; + } + else + return MFX_ERR_LOCK_MEMORY; + break; + #ifndef ANDROID + case VA_FOURCC_A2R10G10B10: + if (mfx_fourcc == MFX_FOURCC_A2RGB10) { + ptr->B = pBuffer + vaapi_mid->m_image.offsets[0]; + ptr->G = ptr->B; + ptr->R = ptr->B; + ptr->A = ptr->B; + } + else + return MFX_ERR_LOCK_MEMORY; + break; + #endif + case VA_FOURCC_ABGR: + if (mfx_fourcc == MFX_FOURCC_BGR4) { + ptr->R = pBuffer + vaapi_mid->m_image.offsets[0]; + ptr->G = pBuffer + vaapi_mid->m_image.offsets[1]; + ptr->B = pBuffer + vaapi_mid->m_image.offsets[2]; + ptr->A = ptr->R + 3; + } + else + return MFX_ERR_LOCK_MEMORY; + break; + case VA_FOURCC_RGBP: + if (mfx_fourcc != vaapi_mid->m_image.format.fourcc) + return MFX_ERR_LOCK_MEMORY; + + { + ptr->B = pBuffer + vaapi_mid->m_image.offsets[0]; + ptr->G = pBuffer + vaapi_mid->m_image.offsets[1]; + ptr->R = pBuffer + vaapi_mid->m_image.offsets[2]; + } + break; + case VA_FOURCC_P208: + if (mfx_fourcc == MFX_FOURCC_NV12) { + ptr->Y = pBuffer + vaapi_mid->m_image.offsets[0]; + } + else + return MFX_ERR_LOCK_MEMORY; + break; + case VA_FOURCC_P010: + #if (MFX_VERSION >= 1031) + case VA_FOURCC_P016: + #endif + if (mfx_fourcc != vaapi_mid->m_image.format.fourcc) + return MFX_ERR_LOCK_MEMORY; + + { + ptr->Y16 = (mfxU16 *)(pBuffer + vaapi_mid->m_image.offsets[0]); + ptr->U16 = (mfxU16 *)(pBuffer + vaapi_mid->m_image.offsets[1]); + ptr->V16 = ptr->U16 + 1; + } + break; + case VA_FOURCC_AYUV: + if (mfx_fourcc != vaapi_mid->m_image.format.fourcc) + return MFX_ERR_LOCK_MEMORY; + + { + ptr->V = pBuffer + vaapi_mid->m_image.offsets[0]; + ptr->U = ptr->V + 1; + ptr->Y = ptr->V + 2; + ptr->A = ptr->V + 3; + } + break; + #if (MFX_VERSION >= 1027) + case VA_FOURCC_Y210: + #if (MFX_VERSION >= 1031) + case VA_FOURCC_Y216: + #endif + if (mfx_fourcc != vaapi_mid->m_image.format.fourcc) + return MFX_ERR_LOCK_MEMORY; + + { + ptr->Y16 = (mfxU16 *)(pBuffer + vaapi_mid->m_image.offsets[0]); + ptr->U16 = ptr->Y16 + 1; + ptr->V16 = ptr->Y16 + 3; + } + break; + case VA_FOURCC_Y410: + if (mfx_fourcc != vaapi_mid->m_image.format.fourcc) + return MFX_ERR_LOCK_MEMORY; + + { + ptr->Y410 = (mfxY410 *)(pBuffer + vaapi_mid->m_image.offsets[0]); + ptr->Y = 0; + ptr->V = 0; + ptr->A = 0; + } + break; + #endif + #if (MFX_VERSION >= 1031) + case VA_FOURCC_Y416: + if (mfx_fourcc != vaapi_mid->m_image.format.fourcc) + return MFX_ERR_LOCK_MEMORY; + + { + ptr->U16 = (mfxU16 *)(pBuffer + vaapi_mid->m_image.offsets[0]); + ptr->Y16 = ptr->U16 + 1; + ptr->V16 = ptr->Y16 + 1; + ptr->A = (mfxU8 *)(ptr->V16 + 1); + } + break; + #endif + default: + return MFX_ERR_LOCK_MEMORY; + } + } + + ptr->PitchHigh = (mfxU16)(vaapi_mid->m_image.pitches[0] / (1 << 16)); + ptr->PitchLow = (mfxU16)(vaapi_mid->m_image.pitches[0] % (1 << 16)); + } + return mfx_res; +} + +mfxStatus vaapiFrameAllocator::UnlockFrame(mfxMemId mid, mfxFrameData *ptr) { + vaapiMemId *vaapi_mid = (vaapiMemId *)mid; + + if (!vaapi_mid || !(vaapi_mid->m_surface)) + return MFX_ERR_INVALID_HANDLE; + + mfxU32 mfx_fourcc = ConvertVP8FourccToMfxFourcc(vaapi_mid->m_fourcc); + + if (MFX_FOURCC_P8 == mfx_fourcc) // bitstream processing + { + m_libva->vaUnmapBuffer(m_dpy, *(vaapi_mid->m_surface)); + } + else // Image processing + { + m_libva->vaUnmapBuffer(m_dpy, vaapi_mid->m_image.buf); + m_libva->vaDestroyImage(m_dpy, vaapi_mid->m_image.image_id); + + if (NULL != ptr) { + ptr->PitchLow = 0; + ptr->PitchHigh = 0; + ptr->Y = NULL; + ptr->U = NULL; + ptr->V = NULL; + ptr->A = NULL; + } + } + return MFX_ERR_NONE; +} + +mfxStatus vaapiFrameAllocator::GetFrameHDL(mfxMemId mid, mfxHDL *handle) { + vaapiMemId *vaapi_mid = (vaapiMemId *)mid; + + if (!handle || !vaapi_mid || !(vaapi_mid->m_surface)) + return MFX_ERR_INVALID_HANDLE; + + *handle = vaapi_mid->m_surface; //VASurfaceID* <-> mfxHDL + return MFX_ERR_NONE; +} + +#endif // #if defined(LIBVA_SUPPORT) diff --git a/tools/legacy/sample_common/src/vaapi_device.cpp b/tools/legacy/sample_common/src/vaapi_device.cpp new file mode 100644 index 00000000..3f6d3ba1 --- /dev/null +++ b/tools/legacy/sample_common/src/vaapi_device.cpp @@ -0,0 +1,520 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#if defined(LIBVA_DRM_SUPPORT) || defined(LIBVA_X11_SUPPORT) || defined(LIBVA_ANDROID_SUPPORT) + + #include "vaapi_device.h" + + #if defined(LIBVA_WAYLAND_SUPPORT) + #include "class_wayland.h" + #endif + + #if defined(LIBVA_X11_SUPPORT) + + #include + #include + + #include "vaapi_allocator.h" + #if defined(X11_DRI3_SUPPORT) + #include + + #define ALIGN(x, y) (((x) + (y)-1) & -(y)) + #define PAGE_ALIGN(x) ALIGN(x, 4096) + #endif // X11_DRI3_SUPPORT + + #define VAAPI_GET_X_DISPLAY(_display) (Display*)(_display) + #define VAAPI_GET_X_WINDOW(_window) (Window*)(_window) + +CVAAPIDeviceX11::~CVAAPIDeviceX11(void) { + Close(); +} + +mfxStatus CVAAPIDeviceX11::Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNum) { + mfxStatus mfx_res = MFX_ERR_NONE; + Window* window = NULL; + + if (nViews) { + if (MFX_ERR_NONE == mfx_res) { + m_window = window = (Window*)malloc(sizeof(Window)); + if (!m_window) + mfx_res = MFX_ERR_MEMORY_ALLOC; + } + if (MFX_ERR_NONE == mfx_res) { + Display* display = VAAPI_GET_X_DISPLAY(m_X11LibVA.GetXDisplay()); + MfxLoader::XLib_Proxy& x11lib = m_X11LibVA.GetX11(); + mfxU32 screen_number = DefaultScreen(display); + + *window = x11lib.XCreateSimpleWindow(display, + RootWindow(display, screen_number), + m_bRenderWin ? m_nRenderWinX : 0, + m_bRenderWin ? m_nRenderWinY : 0, + 100, + 100, + 0, + 0, + BlackPixel(display, screen_number)); + + if (!(*window)) + mfx_res = MFX_ERR_UNKNOWN; + else { + x11lib.XMapWindow(display, *window); + x11lib.XSync(display, False); + } + } + } + #if defined(X11_DRI3_SUPPORT) + MfxLoader::DrmIntel_Proxy& drmintellib = m_X11LibVA.GetDrmIntelX11(); + MfxLoader::X11_Xcb_Proxy& x11xcblib = m_X11LibVA.GetX11XcbX11(); + + m_xcbconn = x11xcblib.XGetXCBConnection(VAAPI_GET_X_DISPLAY(m_X11LibVA.GetXDisplay())); + + // it's enough to pass render node, because we only request + // information from kernel via m_dri_fd + m_dri_fd = open("/dev/dri/renderD128", O_RDWR); + if (m_dri_fd < 0) { + msdk_printf(MSDK_STRING("Failed to open dri device\n")); + return MFX_ERR_NOT_INITIALIZED; + } + + m_bufmgr = drmintellib.drm_intel_bufmgr_gem_init(m_dri_fd, 4096); + if (!m_bufmgr) { + msdk_printf(MSDK_STRING("Failed to get buffer manager\n")); + return MFX_ERR_NOT_INITIALIZED; + } + + #endif + + return mfx_res; +} + +void CVAAPIDeviceX11::Close(void) { + if (m_window) { + Display* display = VAAPI_GET_X_DISPLAY(m_X11LibVA.GetXDisplay()); + Window* window = VAAPI_GET_X_WINDOW(m_window); + + MfxLoader::XLib_Proxy& x11lib = m_X11LibVA.GetX11(); + x11lib.XDestroyWindow(display, *window); + + free(m_window); + m_window = NULL; + } + #if defined(X11_DRI3_SUPPORT) + if (m_dri_fd) { + close(m_dri_fd); + } + #endif +} + +mfxStatus CVAAPIDeviceX11::Reset(void) { + return MFX_ERR_NONE; +} + +mfxStatus CVAAPIDeviceX11::GetHandle(mfxHandleType type, mfxHDL* pHdl) { + if ((MFX_HANDLE_VA_DISPLAY == type) && (NULL != pHdl)) { + *pHdl = m_X11LibVA.GetVADisplay(); + + return MFX_ERR_NONE; + } + + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus CVAAPIDeviceX11::SetHandle(mfxHandleType type, mfxHDL hdl) { + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus CVAAPIDeviceX11::RenderFrame(mfxFrameSurface1* pSurface, + mfxFrameAllocator* /*pmfxAlloc*/) { + mfxStatus mfx_res = MFX_ERR_NONE; + vaapiMemId* memId = NULL; + + #if !defined(X11_DRI3_SUPPORT) + VAStatus va_res = VA_STATUS_SUCCESS; + VASurfaceID surface; + Display* display = VAAPI_GET_X_DISPLAY(m_X11LibVA.GetXDisplay()); + Window* window = VAAPI_GET_X_WINDOW(m_window); + + if (!window || !(*window)) + mfx_res = MFX_ERR_NOT_INITIALIZED; + // should MFX_ERR_NONE be returned below considering situation as EOS? + if ((MFX_ERR_NONE == mfx_res) && NULL == pSurface) + mfx_res = MFX_ERR_NULL_PTR; + if (MFX_ERR_NONE == mfx_res) { + memId = (vaapiMemId*)(pSurface->Data.MemId); + if (!memId || !memId->m_surface) + mfx_res = MFX_ERR_NULL_PTR; + } + if (MFX_ERR_NONE == mfx_res) { + VADisplay dpy = m_X11LibVA.GetVADisplay(); + VADisplay rnddpy = m_X11LibVA.GetVADisplay(); + VASurfaceID rndsrf; + void* ctx; + + surface = *memId->m_surface; + + va_res = m_X11LibVA.AcquireVASurface(&ctx, dpy, surface, rnddpy, &rndsrf); + mfx_res = va_to_mfx_status(va_res); + if (MFX_ERR_NONE != mfx_res) + return mfx_res; + + MfxLoader::XLib_Proxy& x11lib = m_X11LibVA.GetX11(); + x11lib.XResizeWindow(display, *window, pSurface->Info.CropW, pSurface->Info.CropH); + + MfxLoader::VA_X11Proxy& vax11lib = m_X11LibVA.GetVAX11(); + va_res = vax11lib.vaPutSurface(rnddpy, + rndsrf, + *window, + pSurface->Info.CropX, + pSurface->Info.CropY, + pSurface->Info.CropX + pSurface->Info.CropW, + pSurface->Info.CropY + pSurface->Info.CropH, + pSurface->Info.CropX, + pSurface->Info.CropY, + pSurface->Info.CropX + pSurface->Info.CropW, + pSurface->Info.CropY + pSurface->Info.CropH, + NULL, + 0, + VA_FRAME_PICTURE); + + mfx_res = va_to_mfx_status(va_res); + x11lib.XSync(display, False); + + m_X11LibVA.ReleaseVASurface(ctx, dpy, surface, rnddpy, rndsrf); + } + return mfx_res; + #else //\/ X11_DRI3_SUPPORT + Window* window = VAAPI_GET_X_WINDOW(m_window); + Window root; + drm_intel_bo* bo = NULL; + unsigned int border, depth, stride, size, width, height; + int fd = 0, bpp = 0, x, y; + + MfxLoader::Xcb_Proxy& xcblib = m_X11LibVA.GetXcbX11(); + MfxLoader::XLib_Proxy& x11lib = m_X11LibVA.GetX11(); + MfxLoader::DrmIntel_Proxy& drmintellib = m_X11LibVA.GetDrmIntelX11(); + MfxLoader::Xcbpresent_Proxy& xcbpresentlib = m_X11LibVA.GetXcbpresentX11(); + MfxLoader::XCB_Dri3_Proxy& dri3lib = m_X11LibVA.GetXCBDri3X11(); + + if (!window || !(*window)) + mfx_res = MFX_ERR_NOT_INITIALIZED; + // should MFX_ERR_NONE be returned below considering situation as EOS? + if ((MFX_ERR_NONE == mfx_res) && NULL == pSurface) + mfx_res = MFX_ERR_NULL_PTR; + if (MFX_ERR_NONE == mfx_res) { + memId = (vaapiMemId*)(pSurface->Data.MemId); + if (!memId || !memId->m_surface) + mfx_res = MFX_ERR_NULL_PTR; + } + + if (memId && memId->m_buffer_info.mem_type != VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME) { + msdk_printf(MSDK_STRING("Memory type invalid!\n")); + return MFX_ERR_UNSUPPORTED; + } + + if (MFX_ERR_NONE == mfx_res) { + x11lib.XResizeWindow(VAAPI_GET_X_DISPLAY(m_X11LibVA.GetXDisplay()), + *window, + pSurface->Info.CropW, + pSurface->Info.CropH); + x11lib.XGetGeometry(VAAPI_GET_X_DISPLAY(m_X11LibVA.GetXDisplay()), + *window, + &root, + &x, + &y, + &width, + &height, + &border, + &depth); + + switch (depth) { + case 8: + bpp = 8; + break; + case 15: + case 16: + bpp = 16; + break; + case 24: + case 32: + bpp = 32; + break; + default: + msdk_printf(MSDK_STRING("Invalid depth\n")); + } + + width = pSurface->Info.CropX + pSurface->Info.CropW; + height = pSurface->Info.CropY + pSurface->Info.CropH; + + stride = width * bpp / 8; + size = PAGE_ALIGN(stride * height); + + bo = drmintellib.drm_intel_bo_gem_create_from_prime(m_bufmgr, + memId->m_buffer_info.handle, + size); + if (!bo) { + msdk_printf(MSDK_STRING("Failed to create buffer object\n")); + return MFX_ERR_MEMORY_ALLOC; + } + + drmintellib.drm_intel_bo_gem_export_to_prime(bo, &fd); + if (!fd) { + msdk_printf(MSDK_STRING("Invalid fd\n")); + return MFX_ERR_INVALID_HANDLE; + } + + xcb_pixmap_t pixmap = xcblib.xcb_generate_id(m_xcbconn); + xcb_void_cookie_t cookie; + xcb_generic_error_t* error; + + cookie = dri3lib.xcb_dri3_pixmap_from_buffer_checked(m_xcbconn, + pixmap, + root, + size, + width, + height, + stride, + depth, + bpp, + fd); + if ((error = xcblib.xcb_request_check(m_xcbconn, cookie))) { + msdk_printf( + MSDK_STRING( + "Failed to create xcb pixmap from the %s surface: try another color format (e.g. RGB4)\n"), + ColorFormatToStr(pSurface->Info.FourCC)); + free(error); + return MFX_ERR_INVALID_HANDLE; + } + + cookie = xcbpresentlib.xcb_present_pixmap_checked(m_xcbconn, + *window, + pixmap, + 0, + 0, + 0, + 0, + 0, + None, + None, + None, + XCB_PRESENT_OPTION_NONE, + 0, + 0, + 0, + 0, + NULL); + if ((error = xcblib.xcb_request_check(m_xcbconn, cookie))) { + msdk_printf(MSDK_STRING("Failed to present pixmap\n")); + free(error); + return MFX_ERR_UNKNOWN; + } + + xcblib.xcb_free_pixmap(m_xcbconn, pixmap); + xcblib.xcb_flush(m_xcbconn); + } + + return mfx_res; + + #endif // X11_DRI3_SUPPORT +} + #endif + + #if defined(LIBVA_WAYLAND_SUPPORT) + #include "wayland-drm-client-protocol.h" + +CVAAPIDeviceWayland::~CVAAPIDeviceWayland(void) { + Close(); +} + +mfxStatus CVAAPIDeviceWayland::Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNum) { + mfxStatus mfx_res = MFX_ERR_NONE; + + if (nViews) { + m_Wayland = (Wayland*)m_WaylandClient.WaylandCreate(); + if (!m_Wayland->InitDisplay()) { + return MFX_ERR_DEVICE_FAILED; + } + + if (NULL == m_Wayland->GetDisplay()) { + mfx_res = MFX_ERR_UNKNOWN; + return mfx_res; + } + if (-1 == m_Wayland->DisplayRoundtrip()) { + mfx_res = MFX_ERR_UNKNOWN; + return mfx_res; + } + if (!m_Wayland->CreateSurface()) { + mfx_res = MFX_ERR_UNKNOWN; + return mfx_res; + } + } + return mfx_res; +} + +mfxStatus CVAAPIDeviceWayland::RenderFrame(mfxFrameSurface1* pSurface, + mfxFrameAllocator* /*pmfxAlloc*/) { + uint32_t drm_format = 0; + int offsets[3], pitches[3]; + mfxStatus mfx_res = MFX_ERR_NONE; + vaapiMemId* memId = NULL; + struct wl_buffer* m_wl_buffer = NULL; + if (NULL == pSurface) { + mfx_res = MFX_ERR_UNKNOWN; + return mfx_res; + } + m_Wayland->Sync(); + memId = (vaapiMemId*)(pSurface->Data.MemId); + + if (pSurface->Info.FourCC == MFX_FOURCC_NV12) { + drm_format = WL_DRM_FORMAT_NV12; + } + else if (pSurface->Info.FourCC == MFX_FOURCC_RGB4) { + drm_format = WL_DRM_FORMAT_ARGB8888; + + if (m_isMondelloInputEnabled) { + drm_format = WL_DRM_FORMAT_XBGR8888; + } + } + + offsets[0] = memId->m_image.offsets[0]; + offsets[1] = memId->m_image.offsets[1]; + offsets[2] = memId->m_image.offsets[2]; + pitches[0] = memId->m_image.pitches[0]; + pitches[1] = memId->m_image.pitches[1]; + pitches[2] = memId->m_image.pitches[2]; + m_wl_buffer = m_Wayland->CreatePrimeBuffer(memId->m_buffer_info.handle, + pSurface->Info.CropW, + pSurface->Info.CropH, + drm_format, + offsets, + pitches); + if (NULL == m_wl_buffer) { + msdk_printf("\nCan't wrap flink to wl_buffer\n"); + mfx_res = MFX_ERR_UNKNOWN; + return mfx_res; + } + + m_Wayland->RenderBuffer(m_wl_buffer, pSurface->Info.CropW, pSurface->Info.CropH); + + return mfx_res; +} + +void CVAAPIDeviceWayland::Close(void) { + m_Wayland->FreeSurface(); +} + +CHWDevice* CreateVAAPIDevice(void) { + return new CVAAPIDeviceWayland(); +} + + #endif // LIBVA_WAYLAND_SUPPORT + + #if defined(LIBVA_DRM_SUPPORT) + +CVAAPIDeviceDRM::CVAAPIDeviceDRM(const std::string& devicePath, int type) + : m_DRMLibVA(devicePath, type), + m_rndr(NULL) {} + +CVAAPIDeviceDRM::~CVAAPIDeviceDRM(void) { + MSDK_SAFE_DELETE(m_rndr); +} + +mfxStatus CVAAPIDeviceDRM::Init(mfxHDL hWindow, mfxU16 nViews, mfxU32 nAdapterNum) { + if (0 == nViews) { + return MFX_ERR_NONE; + } + if (1 == nViews) { + if (m_DRMLibVA.getBackendType() == MFX_LIBVA_DRM_RENDERNODE) { + return MFX_ERR_NONE; + } + mfxI32* monitorType = (mfxI32*)hWindow; + if (!monitorType) + return MFX_ERR_INVALID_VIDEO_PARAM; + try { + m_rndr = new drmRenderer(m_DRMLibVA.getFD(), *monitorType); + } + catch (...) { + msdk_printf(MSDK_STRING("vaapi_device: failed to initialize drmrender\n")); + return MFX_ERR_UNKNOWN; + } + return MFX_ERR_NONE; + } + return MFX_ERR_UNSUPPORTED; +} + +mfxStatus CVAAPIDeviceDRM::RenderFrame(mfxFrameSurface1* pSurface, mfxFrameAllocator* pmfxAlloc) { + return (m_rndr) ? m_rndr->render(pSurface) : MFX_ERR_NONE; +} + + #endif + + #if defined(LIBVA_DRM_SUPPORT) || defined(LIBVA_X11_SUPPORT) || defined(LIBVA_WAYLAND_SUPPORT) + +CHWDevice* CreateVAAPIDevice(const std::string& devicePath, int type) { + CHWDevice* device = NULL; + + switch (type) { + case MFX_LIBVA_DRM_RENDERNODE: + case MFX_LIBVA_DRM_MODESET: + #if defined(LIBVA_DRM_SUPPORT) + try { + device = new CVAAPIDeviceDRM(devicePath, type); + } + catch (std::exception&) { + device = NULL; + } + #endif + break; + + case MFX_LIBVA_X11: + #if defined(LIBVA_X11_SUPPORT) + try { + device = new CVAAPIDeviceX11; + } + catch (std::exception&) { + device = NULL; + } + #endif + break; + case MFX_LIBVA_WAYLAND: + #if defined(LIBVA_WAYLAND_SUPPORT) + device = new CVAAPIDeviceWayland; + #endif + break; + case MFX_LIBVA_AUTO: + #if defined(LIBVA_X11_SUPPORT) + try { + device = new CVAAPIDeviceX11; + } + catch (std::exception&) { + device = NULL; + } + #endif + #if defined(LIBVA_DRM_SUPPORT) + if (!device) { + try { + device = new CVAAPIDeviceDRM(devicePath, type); + } + catch (std::exception&) { + device = NULL; + } + } + #endif + break; + } // switch(type) + + return device; +} + + #elif defined(LIBVA_ANDROID_SUPPORT) + +static AndroidLibVA g_LibVA; +CHWDevice* CreateVAAPIDevice(const std::string& devicePath, int type) { + return new CVAAPIDeviceAndroid(&g_LibVA); +} + + #endif + +#endif //#if defined(LIBVA_DRM_SUPPORT) || defined(LIBVA_X11_SUPPORT) || defined(LIBVA_ANDROID_SUPPORT) diff --git a/tools/legacy/sample_common/src/vaapi_utils.cpp b/tools/legacy/sample_common/src/vaapi_utils.cpp new file mode 100644 index 00000000..833b4c19 --- /dev/null +++ b/tools/legacy/sample_common/src/vaapi_utils.cpp @@ -0,0 +1,405 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifdef LIBVA_SUPPORT + + #include "vaapi_utils.h" + #include + #include + + //#if defined(LIBVA_DRM_SUPPORT) + #include "vaapi_utils_drm.h" + //#elif defined(LIBVA_X11_SUPPORT) + #include "vaapi_utils_x11.h" +//#endif + + #if defined(LIBVA_WAYLAND_SUPPORT) + #include "class_wayland.h" + #endif + +namespace MfxLoader { + +SimpleLoader::SimpleLoader(const char* name) { + dlerror(); + so_handle = dlopen(name, RTLD_GLOBAL | RTLD_NOW); + if (NULL == so_handle) { + std::cerr << dlerror() << std::endl; + throw std::runtime_error("Can't load library"); + } +} + +void* SimpleLoader::GetFunction(const char* name) { + void* fn_ptr = dlsym(so_handle, name); + if (!fn_ptr) + throw std::runtime_error("Can't find function"); + return fn_ptr; +} + +SimpleLoader::~SimpleLoader() { + dlclose(so_handle); +} + + #define SIMPLE_LOADER_STRINGIFY1(x) #x + #define SIMPLE_LOADER_STRINGIFY(x) SIMPLE_LOADER_STRINGIFY1(x) + #define SIMPLE_LOADER_DECORATOR1(fun, suffix) fun##_##suffix + #define SIMPLE_LOADER_DECORATOR(fun, suffix) SIMPLE_LOADER_DECORATOR1(fun, suffix) + + // Following macro applied on vaInitialize will give: vaInitialize((vaInitialize_type)lib.GetFunction("vaInitialize")) + #define SIMPLE_LOADER_FUNCTION(name) \ + name((SIMPLE_LOADER_DECORATOR(name, type))lib.GetFunction(SIMPLE_LOADER_STRINGIFY(name))) + + #if defined(LIBVA_SUPPORT) +VA_Proxy::VA_Proxy() + #ifdef ANDROID + : lib("libva-android.so") + #else + : lib("libva.so.2") + #endif + , + SIMPLE_LOADER_FUNCTION(vaInitialize), + SIMPLE_LOADER_FUNCTION(vaTerminate), + SIMPLE_LOADER_FUNCTION(vaCreateSurfaces), + SIMPLE_LOADER_FUNCTION(vaDestroySurfaces), + SIMPLE_LOADER_FUNCTION(vaCreateBuffer), + SIMPLE_LOADER_FUNCTION(vaDestroyBuffer), + SIMPLE_LOADER_FUNCTION(vaMapBuffer), + SIMPLE_LOADER_FUNCTION(vaUnmapBuffer), + SIMPLE_LOADER_FUNCTION(vaSyncSurface), + SIMPLE_LOADER_FUNCTION(vaDeriveImage), + SIMPLE_LOADER_FUNCTION(vaDestroyImage), + SIMPLE_LOADER_FUNCTION(vaGetLibFunc), + SIMPLE_LOADER_FUNCTION(vaAcquireBufferHandle), + SIMPLE_LOADER_FUNCTION(vaReleaseBufferHandle), + SIMPLE_LOADER_FUNCTION(vaMaxNumEntrypoints), + SIMPLE_LOADER_FUNCTION(vaQueryConfigEntrypoints), + SIMPLE_LOADER_FUNCTION(vaGetConfigAttributes), + SIMPLE_LOADER_FUNCTION(vaCreateConfig), + SIMPLE_LOADER_FUNCTION(vaCreateContext), + SIMPLE_LOADER_FUNCTION(vaDestroyConfig), + SIMPLE_LOADER_FUNCTION(vaDestroyContext) { +} + +VA_Proxy::~VA_Proxy() {} + + #endif + + #if defined(LIBVA_DRM_SUPPORT) +DRM_Proxy::DRM_Proxy() + : lib("libdrm.so.2"), + SIMPLE_LOADER_FUNCTION(drmIoctl), + SIMPLE_LOADER_FUNCTION(drmModeAddFB), + SIMPLE_LOADER_FUNCTION(drmModeFreeConnector), + SIMPLE_LOADER_FUNCTION(drmModeFreeCrtc), + SIMPLE_LOADER_FUNCTION(drmModeFreeEncoder), + SIMPLE_LOADER_FUNCTION(drmModeFreePlane), + SIMPLE_LOADER_FUNCTION(drmModeFreePlaneResources), + SIMPLE_LOADER_FUNCTION(drmModeFreeResources), + SIMPLE_LOADER_FUNCTION(drmModeGetConnector), + SIMPLE_LOADER_FUNCTION(drmModeGetCrtc), + SIMPLE_LOADER_FUNCTION(drmModeGetEncoder), + SIMPLE_LOADER_FUNCTION(drmModeGetPlane), + SIMPLE_LOADER_FUNCTION(drmModeGetPlaneResources), + SIMPLE_LOADER_FUNCTION(drmModeGetResources), + SIMPLE_LOADER_FUNCTION(drmModeRmFB), + SIMPLE_LOADER_FUNCTION(drmModeSetCrtc), + SIMPLE_LOADER_FUNCTION(drmSetMaster), + SIMPLE_LOADER_FUNCTION(drmDropMaster), + SIMPLE_LOADER_FUNCTION(drmModeSetPlane) {} + +DrmIntel_Proxy::~DrmIntel_Proxy() {} + +DrmIntel_Proxy::DrmIntel_Proxy() + : lib("libdrm_intel.so.1"), + SIMPLE_LOADER_FUNCTION(drm_intel_bo_gem_create_from_prime), + SIMPLE_LOADER_FUNCTION(drm_intel_bo_unreference), + SIMPLE_LOADER_FUNCTION(drm_intel_bufmgr_gem_init), + SIMPLE_LOADER_FUNCTION(drm_intel_bufmgr_destroy) + #if defined(X11_DRI3_SUPPORT) + , + SIMPLE_LOADER_FUNCTION(drm_intel_bo_gem_export_to_prime) + #endif +{ +} + +DRM_Proxy::~DRM_Proxy() {} + +VA_DRMProxy::VA_DRMProxy() : lib("libva-drm.so.2"), SIMPLE_LOADER_FUNCTION(vaGetDisplayDRM) {} + +VA_DRMProxy::~VA_DRMProxy() {} + + #if defined(X11_DRI3_SUPPORT) +XCB_Dri3_Proxy::XCB_Dri3_Proxy() + : lib("libxcb-dri3.so.0"), + SIMPLE_LOADER_FUNCTION(xcb_dri3_pixmap_from_buffer_checked) {} + +XCB_Dri3_Proxy::~XCB_Dri3_Proxy() {} + +Xcb_Proxy::Xcb_Proxy() + : lib("libxcb.so.1"), + SIMPLE_LOADER_FUNCTION(xcb_generate_id), + SIMPLE_LOADER_FUNCTION(xcb_free_pixmap), + SIMPLE_LOADER_FUNCTION(xcb_flush), + SIMPLE_LOADER_FUNCTION(xcb_request_check) {} + +Xcb_Proxy::~Xcb_Proxy() {} + +X11_Xcb_Proxy::X11_Xcb_Proxy() + : lib("libX11-xcb.so.1"), + SIMPLE_LOADER_FUNCTION(XGetXCBConnection) {} + +X11_Xcb_Proxy::~X11_Xcb_Proxy() {} + +Xcbpresent_Proxy::Xcbpresent_Proxy() + : lib("libxcb-present.so.0"), + SIMPLE_LOADER_FUNCTION(xcb_present_pixmap_checked) {} + +Xcbpresent_Proxy::~Xcbpresent_Proxy() {} + #endif // X11_DRI3_SUPPORT + #endif + + #if defined(LIBVA_WAYLAND_SUPPORT) + +VA_WaylandClientProxy::VA_WaylandClientProxy() + : lib("libmfx_wayland.so"), + SIMPLE_LOADER_FUNCTION(WaylandCreate) {} + +VA_WaylandClientProxy::~VA_WaylandClientProxy() {} + + #endif // LIBVA_WAYLAND_SUPPORT + + #if defined(LIBVA_X11_SUPPORT) +VA_X11Proxy::VA_X11Proxy() + : lib("libva-x11.so.2"), + SIMPLE_LOADER_FUNCTION(vaGetDisplay), + SIMPLE_LOADER_FUNCTION(vaPutSurface) {} + +VA_X11Proxy::~VA_X11Proxy() {} + +XLib_Proxy::XLib_Proxy() + : lib("libX11.so.6"), + SIMPLE_LOADER_FUNCTION(XOpenDisplay), + SIMPLE_LOADER_FUNCTION(XCloseDisplay), + SIMPLE_LOADER_FUNCTION(XCreateSimpleWindow), + SIMPLE_LOADER_FUNCTION(XMapWindow), + SIMPLE_LOADER_FUNCTION(XSync), + SIMPLE_LOADER_FUNCTION(XDestroyWindow), + SIMPLE_LOADER_FUNCTION(XResizeWindow) + #if defined(X11_DRI3_SUPPORT) + , + SIMPLE_LOADER_FUNCTION(XGetGeometry) + #endif // X11_DRI3_SUPPORT +{ +} + +XLib_Proxy::~XLib_Proxy() {} + + #endif + + #undef SIMPLE_LOADER_FUNCTION + +} // namespace MfxLoader + +mfxStatus va_to_mfx_status(VAStatus va_res) { + mfxStatus mfxRes = MFX_ERR_NONE; + + switch (va_res) { + case VA_STATUS_SUCCESS: + mfxRes = MFX_ERR_NONE; + break; + case VA_STATUS_ERROR_ALLOCATION_FAILED: + mfxRes = MFX_ERR_MEMORY_ALLOC; + break; + case VA_STATUS_ERROR_ATTR_NOT_SUPPORTED: + case VA_STATUS_ERROR_UNSUPPORTED_PROFILE: + case VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT: + case VA_STATUS_ERROR_UNSUPPORTED_RT_FORMAT: + case VA_STATUS_ERROR_UNSUPPORTED_BUFFERTYPE: + case VA_STATUS_ERROR_FLAG_NOT_SUPPORTED: + case VA_STATUS_ERROR_RESOLUTION_NOT_SUPPORTED: + mfxRes = MFX_ERR_UNSUPPORTED; + break; + case VA_STATUS_ERROR_INVALID_DISPLAY: + case VA_STATUS_ERROR_INVALID_CONFIG: + case VA_STATUS_ERROR_INVALID_CONTEXT: + case VA_STATUS_ERROR_INVALID_SURFACE: + case VA_STATUS_ERROR_INVALID_BUFFER: + case VA_STATUS_ERROR_INVALID_IMAGE: + case VA_STATUS_ERROR_INVALID_SUBPICTURE: + mfxRes = MFX_ERR_NOT_INITIALIZED; + break; + case VA_STATUS_ERROR_INVALID_PARAMETER: + mfxRes = MFX_ERR_INVALID_VIDEO_PARAM; + default: + mfxRes = MFX_ERR_UNKNOWN; + break; + } + return mfxRes; +} + + #if defined(LIBVA_DRM_SUPPORT) || defined(LIBVA_X11_SUPPORT) +CLibVA* CreateLibVA(const std::string& devicePath, int type) { + CLibVA* libva = NULL; + switch (type) { + case MFX_LIBVA_DRM: + #if defined(LIBVA_DRM_SUPPORT) + try { + libva = new DRMLibVA(devicePath, type); + } + catch (std::exception&) { + libva = 0; + } + #endif + break; + + case MFX_LIBVA_X11: + #if defined(LIBVA_X11_SUPPORT) + try { + libva = new X11LibVA; + } + catch (std::exception&) { + libva = NULL; + } + #endif + break; + + case MFX_LIBVA_AUTO: + #if defined(LIBVA_X11_SUPPORT) + try { + libva = new X11LibVA; + } + catch (std::exception&) { + libva = NULL; + } + #endif + #if defined(LIBVA_DRM_SUPPORT) + if (!libva) { + try { + libva = new DRMLibVA(devicePath, type); + } + catch (std::exception&) { + libva = NULL; + } + } + #endif + break; + } // switch(type) + + return libva; +} + #endif // #if defined(LIBVA_DRM_SUPPORT) || defined(LIBVA_X11_SUPPORT) + + #if defined(LIBVA_X11_SUPPORT) + +struct AcquireCtx { + int fd; + VAImage image; +}; + +VAStatus CLibVA::AcquireVASurface(void** pctx, + VADisplay dpy1, + VASurfaceID srf1, + VADisplay dpy2, + VASurfaceID* srf2) { + if (!pctx || !srf2) + return VA_STATUS_ERROR_OPERATION_FAILED; + + if (dpy1 == dpy2) { + *srf2 = srf1; + return VA_STATUS_SUCCESS; + } + + AcquireCtx* ctx; + uintptr_t handle = 0; + VAStatus va_res; + VASurfaceAttrib attribs[2]; + VASurfaceAttribExternalBuffers extsrf; + VABufferInfo bufferInfo; + uint32_t memtype = VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME; + + MSDK_ZERO_MEMORY(attribs); + MSDK_ZERO_MEMORY(extsrf); + MSDK_ZERO_MEMORY(bufferInfo); + extsrf.num_buffers = 1; + extsrf.buffers = &handle; + + attribs[0].type = (VASurfaceAttribType)VASurfaceAttribMemoryType; + attribs[0].flags = VA_SURFACE_ATTRIB_SETTABLE; + attribs[0].value.type = VAGenericValueTypeInteger; + attribs[0].value.value.i = memtype; + + attribs[1].type = (VASurfaceAttribType)VASurfaceAttribExternalBufferDescriptor; + attribs[1].flags = VA_SURFACE_ATTRIB_SETTABLE; + attribs[1].value.type = VAGenericValueTypePointer; + attribs[1].value.value.p = &extsrf; + + ctx = (AcquireCtx*)calloc(1, sizeof(AcquireCtx)); + if (!ctx) + return VA_STATUS_ERROR_OPERATION_FAILED; + + va_res = m_libva.vaDeriveImage(dpy1, srf1, &ctx->image); + if (VA_STATUS_SUCCESS != va_res) { + free(ctx); + return va_res; + } + + va_res = m_libva.vaAcquireBufferHandle(dpy1, ctx->image.buf, &bufferInfo); + if (VA_STATUS_SUCCESS != va_res) { + m_libva.vaDestroyImage(dpy1, ctx->image.image_id); + free(ctx); + return va_res; + } + + extsrf.width = ctx->image.width; + extsrf.height = ctx->image.height; + extsrf.num_planes = ctx->image.num_planes; + extsrf.pixel_format = ctx->image.format.fourcc; + for (int i = 0; i < 3; ++i) { + extsrf.pitches[i] = ctx->image.pitches[i]; + extsrf.offsets[i] = ctx->image.offsets[i]; + } + extsrf.data_size = ctx->image.data_size; + extsrf.flags = memtype; + extsrf.buffers[0] = bufferInfo.handle; + + va_res = m_libva.vaCreateSurfaces(dpy2, + VA_RT_FORMAT_YUV420, + extsrf.width, + extsrf.height, + srf2, + 1, + attribs, + 2); + if (VA_STATUS_SUCCESS != va_res) { + m_libva.vaDestroyImage(dpy1, ctx->image.image_id); + free(ctx); + return va_res; + } + + *pctx = ctx; + + return VA_STATUS_SUCCESS; +} + +void CLibVA::ReleaseVASurface(void* actx, + VADisplay dpy1, + VASurfaceID /*srf1*/, + VADisplay dpy2, + VASurfaceID srf2) { + if (dpy1 != dpy2) { + AcquireCtx* ctx = (AcquireCtx*)actx; + if (ctx) { + m_libva.vaDestroySurfaces(dpy2, &srf2, 1); + close(ctx->fd); + m_libva.vaReleaseBufferHandle(dpy1, ctx->image.buf); + m_libva.vaDestroyImage(dpy1, ctx->image.image_id); + free(ctx); + } + } +} + + #endif //LIBVA_X11_SUPPORT + +#endif // #ifdef LIBVA_SUPPORT diff --git a/tools/legacy/sample_common/src/vaapi_utils_android.cpp b/tools/legacy/sample_common/src/vaapi_utils_android.cpp new file mode 100644 index 00000000..b345bc6d --- /dev/null +++ b/tools/legacy/sample_common/src/vaapi_utils_android.cpp @@ -0,0 +1,63 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifdef LIBVA_ANDROID_SUPPORT + #ifdef ANDROID + + #include "vaapi_utils_android.h" + +CLibVA* CreateLibVA(int) { + return new AndroidLibVA; +} + +/*------------------------------------------------------------------------------*/ + +typedef unsigned int vaapiAndroidDisplay; + + #define VAAPI_ANDROID_DEFAULT_DISPLAY 0x18c34078 + +AndroidLibVA::AndroidLibVA(void) : CLibVA(MFX_LIBVA_AUTO), m_display(NULL) { + VAStatus va_res = VA_STATUS_SUCCESS; + mfxStatus sts = MFX_ERR_NONE; + int major_version = 0, minor_version = 0; + vaapiAndroidDisplay* display = NULL; + + m_display = display = (vaapiAndroidDisplay*)malloc(sizeof(vaapiAndroidDisplay)); + if (NULL == m_display) + sts = MFX_ERR_NOT_INITIALIZED; + else + *display = VAAPI_ANDROID_DEFAULT_DISPLAY; + + if (MFX_ERR_NONE == sts) { + m_va_dpy = vaGetDisplay(m_display); + if (!m_va_dpy) { + free(m_display); + sts = MFX_ERR_NULL_PTR; + } + } + if (MFX_ERR_NONE == sts) { + va_res = vaInitialize(m_va_dpy, &major_version, &minor_version); + sts = va_to_mfx_status(va_res); + if (MFX_ERR_NONE != sts) { + free(display); + m_display = NULL; + } + } + if (MFX_ERR_NONE != sts) + throw std::bad_alloc(); +} + +AndroidLibVA::~AndroidLibVA(void) { + if (m_va_dpy) { + vaTerminate(m_va_dpy); + } + if (m_display) { + free(m_display); + } +} + + #endif // #ifdef ANDROID +#endif // #ifdef LIBVA_ANDROID_SUPPORT diff --git a/tools/legacy/sample_common/src/vaapi_utils_drm.cpp b/tools/legacy/sample_common/src/vaapi_utils_drm.cpp new file mode 100644 index 00000000..c896017b --- /dev/null +++ b/tools/legacy/sample_common/src/vaapi_utils_drm.cpp @@ -0,0 +1,510 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#if defined(LIBVA_DRM_SUPPORT) || defined(LIBVA_WAYLAND_SUPPORT) + + #include "vaapi_utils_drm.h" + #include + #include + #include "vaapi_allocator.h" + + #include + + #include + #include "vaapi_utils_drm.h" + +constexpr mfxU32 MFX_DRI_MAX_NODES_NUM = 16; +constexpr mfxU32 MFX_DRI_RENDER_START_INDEX = 128; +constexpr mfxU32 MFX_DRI_CARD_START_INDEX = 0; +constexpr mfxU32 MFX_DRM_DRIVER_NAME_LEN = 4; +const char* MFX_DRM_INTEL_DRIVER_NAME = "i915"; +const char* MFX_DRI_PATH = "/dev/dri/"; +const char* MFX_DRI_NODE_RENDER = "renderD"; +const char* MFX_DRI_NODE_CARD = "card"; + +int get_drm_driver_name(int fd, char* name, int name_size) { + drm_version_t version = {}; + version.name_len = name_size; + version.name = name; + return ioctl(fd, DRM_IOWR(0, drm_version), &version); +} + +int open_first_intel_adapter(int type) { + std::string adapterPath = MFX_DRI_PATH; + char driverName[MFX_DRM_DRIVER_NAME_LEN + 1] = {}; + mfxU32 nodeIndex; + + switch (type) { + case MFX_LIBVA_DRM: + case MFX_LIBVA_AUTO: + adapterPath += MFX_DRI_NODE_RENDER; + nodeIndex = MFX_DRI_RENDER_START_INDEX; + break; + case MFX_LIBVA_DRM_MODESET: + adapterPath += MFX_DRI_NODE_CARD; + nodeIndex = MFX_DRI_CARD_START_INDEX; + break; + default: + throw std::invalid_argument("Wrong libVA backend type"); + } + + for (mfxU32 i = 0; i < MFX_DRI_MAX_NODES_NUM; ++i) { + std::string curAdapterPath = adapterPath + std::to_string(nodeIndex + i); + + int fd = open(curAdapterPath.c_str(), O_RDWR); + if (fd < 0) + continue; + + if (!get_drm_driver_name(fd, driverName, MFX_DRM_DRIVER_NAME_LEN) && + !strcmp(driverName, MFX_DRM_INTEL_DRIVER_NAME)) { + return fd; + } + close(fd); + } + + return -1; +} + +int open_intel_adapter(const std::string& devicePath, int type) { + if (devicePath.empty()) + return open_first_intel_adapter(type); + + int fd = open(devicePath.c_str(), O_RDWR); + + if (fd < 0) { + msdk_printf(MSDK_STRING("Failed to open specified device\n")); + return -1; + } + + char driverName[MFX_DRM_DRIVER_NAME_LEN + 1] = {}; + if (!get_drm_driver_name(fd, driverName, MFX_DRM_DRIVER_NAME_LEN) && + !strcmp(driverName, MFX_DRM_INTEL_DRIVER_NAME)) { + return fd; + } + else { + close(fd); + msdk_printf(MSDK_STRING("Specified device is not Intel one\n")); + return -1; + } +} + +DRMLibVA::DRMLibVA(const std::string& devicePath, int type) : CLibVA(type), m_fd(-1) { + mfxStatus sts = MFX_ERR_NONE; + + m_fd = open_intel_adapter(devicePath, type); + if (m_fd < 0) + throw std::range_error("Intel GPU was not found"); + + m_va_dpy = m_vadrmlib.vaGetDisplayDRM(m_fd); + if (m_va_dpy) { + int major_version = 0, minor_version = 0; + VAStatus va_res = m_libva.vaInitialize(m_va_dpy, &major_version, &minor_version); + sts = va_to_mfx_status(va_res); + } + else { + sts = MFX_ERR_NULL_PTR; + } + + if (MFX_ERR_NONE != sts) { + if (m_va_dpy) + m_libva.vaTerminate(m_va_dpy); + close(m_fd); + throw std::runtime_error("Loading of VA display was failed"); + } +} + +DRMLibVA::~DRMLibVA(void) { + if (m_va_dpy) { + m_libva.vaTerminate(m_va_dpy); + } + if (m_fd >= 0) { + close(m_fd); + } +} + +struct drmMonitorsTable { + mfxI32 mfx_type; + uint32_t drm_type; + const msdk_char* type_name; +}; + +drmMonitorsTable g_drmMonitorsTable[] = { + #define __DECLARE(type) \ + { MFX_MONITOR_##type, DRM_MODE_CONNECTOR_##type, MSDK_STRING(#type) } + __DECLARE(Unknown), __DECLARE(VGA), __DECLARE(DVII), __DECLARE(DVID), + __DECLARE(DVIA), __DECLARE(Composite), __DECLARE(SVIDEO), __DECLARE(LVDS), + __DECLARE(Component), __DECLARE(9PinDIN), __DECLARE(HDMIA), __DECLARE(HDMIB), + __DECLARE(eDP), __DECLARE(TV), __DECLARE(DisplayPort), + #if defined(DRM_MODE_CONNECTOR_VIRTUAL) // from libdrm 2.4.59 + __DECLARE(VIRTUAL), + #endif + #if defined(DRM_MODE_CONNECTOR_DSI) // from libdrm 2.4.59 + __DECLARE(DSI) + #endif + #undef __DECLARE +}; + +uint32_t drmRenderer::getConnectorType(mfxI32 monitor_type) { + for (size_t i = 0; i < sizeof(g_drmMonitorsTable) / sizeof(g_drmMonitorsTable[0]); ++i) { + if (g_drmMonitorsTable[i].mfx_type == monitor_type) { + return g_drmMonitorsTable[i].drm_type; + } + } + return DRM_MODE_CONNECTOR_Unknown; +} + +const msdk_char* drmRenderer::getConnectorName(uint32_t connector_type) { + for (size_t i = 0; i < sizeof(g_drmMonitorsTable) / sizeof(g_drmMonitorsTable[0]); ++i) { + if (g_drmMonitorsTable[i].drm_type == connector_type) { + return g_drmMonitorsTable[i].type_name; + } + } + return MSDK_STRING("Unknown"); +} + +drmRenderer::drmRenderer(int fd, mfxI32 monitorType) + : m_fd(fd), + m_bufmgr(NULL), + m_overlay_wrn(true), + m_pCurrentRenderTargetSurface(NULL) { + bool res = false; + uint32_t connectorType = getConnectorType(monitorType); + + if (monitorType == MFX_MONITOR_AUTO) { + connectorType = DRM_MODE_CONNECTOR_Unknown; + } + else if (connectorType == DRM_MODE_CONNECTOR_Unknown) { + throw std::invalid_argument("Unsupported monitor type"); + } + drmModeRes* resource = m_drmlib.drmModeGetResources(m_fd); + if (resource) { + if (getConnector(resource, connectorType) && getPlane()) { + res = true; + } + m_drmlib.drmModeFreeResources(resource); + } + if (!res) { + throw std::invalid_argument("Failed to allocate renderer"); + } + msdk_printf(MSDK_STRING("drmrender: connected via %s to %dx%d@%d capable display\n"), + getConnectorName(m_connector_type), + m_mode.hdisplay, + m_mode.vdisplay, + m_mode.vrefresh); +} + +drmRenderer::~drmRenderer() { + m_drmlib.drmModeFreeCrtc(m_crtc); + if (m_bufmgr) { + m_drmintellib.drm_intel_bufmgr_destroy(m_bufmgr); + m_bufmgr = NULL; + } +} + +bool drmRenderer::getConnector(drmModeRes* resource, uint32_t connector_type) { + bool found = false; + drmModeConnectorPtr connector = NULL; + + for (int i = 0; i < resource->count_connectors; ++i) { + connector = m_drmlib.drmModeGetConnector(m_fd, resource->connectors[i]); + if (connector) { + if ((connector->connector_type == connector_type) || + (connector_type == DRM_MODE_CONNECTOR_Unknown)) { + if (connector->connection == DRM_MODE_CONNECTED) { + msdk_printf(MSDK_STRING("drmrender: trying connection: %s\n"), + getConnectorName(connector->connector_type)); + m_connector_type = connector->connector_type; + m_connectorID = connector->connector_id; + found = setupConnection(resource, connector); + if (found) + msdk_printf(MSDK_STRING("drmrender: succeeded...\n")); + else + msdk_printf(MSDK_STRING("drmrender: failed...\n")); + } + else if ((connector_type != DRM_MODE_CONNECTOR_Unknown)) { + msdk_printf(MSDK_STRING("drmrender: error: requested monitor not connected\n")); + } + } + m_drmlib.drmModeFreeConnector(connector); + if (found) + return true; + } + } + msdk_printf(MSDK_STRING("drmrender: error: requested monitor not available\n")); + return false; +} + +bool drmRenderer::setupConnection(drmModeRes* resource, drmModeConnector* connector) { + bool ret = false; + drmModeEncoderPtr encoder; + + if (!connector->count_modes) { + msdk_printf(MSDK_STRING("drmrender: error: no valid modes for %s connector\n"), + getConnectorName(connector->connector_type)); + return false; + } + // we will use the first available mode - that's always mode with the highest resolution + m_mode = connector->modes[0]; + + // trying encoder+crtc which are currently attached to connector + m_encoderID = connector->encoder_id; + encoder = m_drmlib.drmModeGetEncoder(m_fd, m_encoderID); + if (encoder) { + m_crtcID = encoder->crtc_id; + for (int j = 0; j < resource->count_crtcs; ++j) { + if (m_crtcID == resource->crtcs[j]) { + m_crtcIndex = j; + break; + } + } + ret = true; + msdk_printf(MSDK_STRING("drmrender: selected crtc already attached to connector\n")); + m_drmlib.drmModeFreeEncoder(encoder); + } + + // if previous attempt to get crtc failed, let performs global search + // searching matching encoder+crtc globally + if (!ret) { + for (int i = 0; i < connector->count_encoders; ++i) { + encoder = m_drmlib.drmModeGetEncoder(m_fd, connector->encoders[i]); + if (encoder) { + for (int j = 0; j < resource->count_crtcs; ++j) { + // check whether this CRTC works with the encoder + if (!((encoder->possible_crtcs & (1 << j)) && + (encoder->crtc_id == resource->crtcs[j]))) + continue; + + m_encoderID = connector->encoders[i]; + m_crtcIndex = j; + m_crtcID = resource->crtcs[j]; + ret = true; + msdk_printf(MSDK_STRING("drmrender: found crtc with global search\n")); + break; + } + m_drmlib.drmModeFreeEncoder(encoder); + if (ret) + break; + } + } + } + if (ret) { + m_crtc = m_drmlib.drmModeGetCrtc(m_fd, m_crtcID); + if (!m_crtc) + ret = false; + } + else { + msdk_printf(MSDK_STRING("drmrender: failed to select crtc\n")); + } + return ret; +} + +bool drmRenderer::getPlane() { + drmModePlaneResPtr planes = m_drmlib.drmModeGetPlaneResources(m_fd); + if (!planes) { + return false; + } + for (uint32_t i = 0; i < planes->count_planes; ++i) { + drmModePlanePtr plane = m_drmlib.drmModeGetPlane(m_fd, planes->planes[i]); + if (plane) { + if (plane->possible_crtcs & (1 << m_crtcIndex)) { + for (uint32_t j = 0; j < plane->count_formats; ++j) { + if (plane->formats[j] == DRM_FORMAT_XRGB8888) { + m_planeID = plane->plane_id; + m_drmlib.drmModeFreePlane(plane); + m_drmlib.drmModeFreePlaneResources(planes); + return true; + } + } + } + m_drmlib.drmModeFreePlane(plane); + } + } + m_drmlib.drmModeFreePlaneResources(planes); + return false; +} + +bool drmRenderer::setMaster() { + int wait_count = 0; + do { + if (!m_drmlib.drmSetMaster(m_fd)) + return true; + usleep(100); + ++wait_count; + } while (wait_count < 30000); + msdk_printf(MSDK_STRING( + "drmrender: error: failed to get drm mastership during 3 seconds - aborting\n")); + return false; +} + +void drmRenderer::dropMaster() { + m_drmlib.drmDropMaster(m_fd); +} + +bool drmRenderer::restore() { + if (!setMaster()) + return false; + + int ret = m_drmlib.drmModeSetCrtc(m_fd, + m_crtcID, + m_crtc->buffer_id, + m_crtc->x, + m_crtc->y, + &m_connectorID, + 1, + &m_mode); + if (ret) { + msdk_printf(MSDK_STRING("drmrender: failed to restore original mode\n")); + return false; + } + dropMaster(); + return true; +} + +void* drmRenderer::acquire(mfxMemId mid) { + vaapiMemId* vmid = (vaapiMemId*)mid; + uint32_t fbhandle = 0; + + if (vmid->m_buffer_info.mem_type == VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME) { + if (!m_bufmgr) { + m_bufmgr = m_drmintellib.drm_intel_bufmgr_gem_init(m_fd, 4096); + if (!m_bufmgr) + return NULL; + } + + drm_intel_bo* bo = + m_drmintellib.drm_intel_bo_gem_create_from_prime(m_bufmgr, + (int)vmid->m_buffer_info.handle, + vmid->m_buffer_info.mem_size); + if (!bo) + return NULL; + + int ret = m_drmlib.drmModeAddFB(m_fd, + vmid->m_image.width, + vmid->m_image.height, + 24, + 32, + vmid->m_image.pitches[0], + bo->handle, + &fbhandle); + if (ret) { + return NULL; + } + m_drmintellib.drm_intel_bo_unreference(bo); + } + else if (vmid->m_buffer_info.mem_type == VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM) { + struct drm_gem_open flink_open; + struct drm_gem_close flink_close; + + MSDK_ZERO_MEMORY(flink_open); + flink_open.name = vmid->m_buffer_info.handle; + int ret = m_drmlib.drmIoctl(m_fd, DRM_IOCTL_GEM_OPEN, &flink_open); + if (ret) + return NULL; + + ret = m_drmlib.drmModeAddFB(m_fd, + vmid->m_image.width, + vmid->m_image.height, + 24, + 32, + vmid->m_image.pitches[0], + flink_open.handle, + &fbhandle); + if (ret) + return NULL; + + MSDK_ZERO_MEMORY(flink_close); + flink_close.handle = flink_open.handle; + ret = m_drmlib.drmIoctl(m_fd, DRM_IOCTL_GEM_CLOSE, &flink_close); + if (ret) + return NULL; + } + else { + return NULL; + } + try { + uint32_t* hdl = new uint32_t; + *hdl = fbhandle; + return hdl; + } + catch (...) { + return NULL; + } +} + +void drmRenderer::release(mfxMemId mid, void* mem) { + uint32_t* hdl = (uint32_t*)mem; + if (!hdl) + return; + if (!restore()) { + msdk_printf(MSDK_STRING( + "drmrender: warning: failure to restore original mode may lead to application segfault!\n")); + } + m_drmlib.drmModeRmFB(m_fd, *hdl); + delete (hdl); +} + +mfxStatus drmRenderer::render(mfxFrameSurface1* pSurface) { + int ret; + vaapiMemId* memid; + uint32_t fbhandle; + + if (!pSurface || !pSurface->Data.MemId) + return MFX_ERR_INVALID_HANDLE; + memid = (vaapiMemId*)(pSurface->Data.MemId); + if (!memid->m_custom) + return MFX_ERR_INVALID_HANDLE; + fbhandle = *(uint32_t*)memid->m_custom; + + // rendering on the screen + if (!setMaster()) { + return MFX_ERR_UNKNOWN; + } + if ((m_mode.hdisplay == memid->m_image.width) && (m_mode.vdisplay == memid->m_image.height)) { + // surface in the framebuffer exactly matches crtc scanout port, so we + // can scanout from this framebuffer for the whole crtc + ret = m_drmlib.drmModeSetCrtc(m_fd, m_crtcID, fbhandle, 0, 0, &m_connectorID, 1, &m_mode); + if (ret) { + return MFX_ERR_UNKNOWN; + } + } + else { + if (m_overlay_wrn) { + m_overlay_wrn = false; + msdk_printf(MSDK_STRING("drmrender: warning: rendering via OVERLAY plane\n")); + } + // surface in the framebuffer exactly does NOT match crtc scanout port, + // and we can only use overlay technique with possible resize (depending on the driver)) + ret = m_drmlib.drmModeSetPlane(m_fd, + m_planeID, + m_crtcID, + fbhandle, + 0, + 0, + 0, + m_crtc->width, + m_crtc->height, + pSurface->Info.CropX << 16, + pSurface->Info.CropY << 16, + pSurface->Info.CropW << 16, + pSurface->Info.CropH << 16); + if (ret) { + return MFX_ERR_UNKNOWN; + } + } + dropMaster(); + + /* Unlock previous Render Target Surface (if exists) */ + if (NULL != m_pCurrentRenderTargetSurface) + msdk_atomic_dec16((volatile mfxU16*)&m_pCurrentRenderTargetSurface->Data.Locked); + + /* new Render target */ + m_pCurrentRenderTargetSurface = pSurface; + /* And lock it */ + msdk_atomic_inc16((volatile mfxU16*)&m_pCurrentRenderTargetSurface->Data.Locked); + return MFX_ERR_NONE; +} + +#endif // #if defined(LIBVA_DRM_SUPPORT) diff --git a/tools/legacy/sample_common/src/vaapi_utils_x11.cpp b/tools/legacy/sample_common/src/vaapi_utils_x11.cpp new file mode 100644 index 00000000..9770a2f3 --- /dev/null +++ b/tools/legacy/sample_common/src/vaapi_utils_x11.cpp @@ -0,0 +1,105 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#if defined(LIBVA_X11_SUPPORT) + + #include "vaapi_utils_x11.h" + #include "sample_defs.h" + + #include + #if defined(X11_DRI3_SUPPORT) + #include + #endif + + #define VAAPI_X_DEFAULT_DISPLAY ":0.0" + +X11LibVA::X11LibVA(void) + : CLibVA(MFX_LIBVA_X11), + m_display(0), + m_configID(VA_INVALID_ID), + m_contextID(VA_INVALID_ID) { + char* currentDisplay = getenv("DISPLAY"); + + m_display = (currentDisplay) ? m_x11lib.XOpenDisplay(currentDisplay) + : m_x11lib.XOpenDisplay(VAAPI_X_DEFAULT_DISPLAY); + + if (!m_display) { + msdk_printf(MSDK_STRING( + "Failed to open X Display: try to check/set DISPLAY environment variable.\n")); + throw std::bad_alloc(); + } + + m_va_dpy = m_vax11lib.vaGetDisplay(m_display); + if (!m_va_dpy) { + m_x11lib.XCloseDisplay(m_display); + msdk_printf(MSDK_STRING("Failed to get VA Display\n")); + throw std::bad_alloc(); + } + + int major_version = 0, minor_version = 0; + VAStatus sts = m_libva.vaInitialize(m_va_dpy, &major_version, &minor_version); + + if (VA_STATUS_SUCCESS != sts) { + m_x11lib.XCloseDisplay(m_display); + msdk_printf(MSDK_STRING("Failed to initialize VAAPI: %d\n"), sts); + throw std::bad_alloc(); + } + + #if !defined(X11_DRI3_SUPPORT) + VAConfigAttrib cfgAttrib{}; + if (VA_STATUS_SUCCESS == sts) { + cfgAttrib.type = VAConfigAttribRTFormat; + sts = m_libva.vaGetConfigAttributes(m_va_dpy, + VAProfileNone, + VAEntrypointVideoProc, + &cfgAttrib, + 1); + } + if (VA_STATUS_SUCCESS == sts) { + sts = m_libva.vaCreateConfig(m_va_dpy, + VAProfileNone, + VAEntrypointVideoProc, + &cfgAttrib, + 1, + &m_configID); + } + if (VA_STATUS_SUCCESS == sts) { + sts = + m_libva.vaCreateContext(m_va_dpy, m_configID, 0, 0, VA_PROGRESSIVE, 0, 0, &m_contextID); + } + if (VA_STATUS_SUCCESS != sts) { + Close(); + msdk_printf(MSDK_STRING("Failed to initialize VP: %d\n"), sts); + throw std::bad_alloc(); + } + #endif // X11_DRI3_SUPPORT +} + +X11LibVA::~X11LibVA(void) { + Close(); +} + +void X11LibVA::Close() { + VAStatus sts; + + if (m_contextID != VA_INVALID_ID) { + sts = m_libva.vaDestroyContext(m_va_dpy, m_contextID); + if (sts != VA_STATUS_SUCCESS) + msdk_printf(MSDK_STRING("Failed to destroy VA context: %d\n"), sts); + } + if (m_configID != VA_INVALID_ID) { + sts = m_libva.vaDestroyConfig(m_va_dpy, m_configID); + if (sts != VA_STATUS_SUCCESS) + msdk_printf(MSDK_STRING("Failed to destroy VA config: %d\n"), sts); + } + sts = m_libva.vaTerminate(m_va_dpy); + if (sts != VA_STATUS_SUCCESS) + msdk_printf(MSDK_STRING("Failed to close VAAPI library: %d\n"), sts); + + m_x11lib.XCloseDisplay(m_display); +} + +#endif // #if defined(LIBVA_X11_SUPPORT) diff --git a/tools/legacy/sample_common/src/vm/atomic.cpp b/tools/legacy/sample_common/src/vm/atomic.cpp new file mode 100644 index 00000000..21d1b74e --- /dev/null +++ b/tools/legacy/sample_common/src/vm/atomic.cpp @@ -0,0 +1,43 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#if defined(_WIN32) || defined(_WIN64) + + #include "vm/atomic_defs.h" + + //#define _interlockedbittestandset fake_set + //#define _interlockedbittestandreset fake_reset + //#define _interlockedbittestandset64 fake_set64 + //#define _interlockedbittestandreset64 fake_reset64 + #include + //#undef _interlockedbittestandset + //#undef _interlockedbittestandreset + //#undef _interlockedbittestandset64 + //#undef _interlockedbittestandreset64 + #pragma intrinsic(_InterlockedIncrement16) + #pragma intrinsic(_InterlockedDecrement16) + #pragma intrinsic(_InterlockedIncrement) + #pragma intrinsic(_InterlockedDecrement) + +mfxU16 msdk_atomic_inc16(volatile mfxU16 *pVariable) { + return _InterlockedIncrement16((volatile short *)pVariable); +} + +/* Thread-safe 16-bit variable decrementing */ +mfxU16 msdk_atomic_dec16(volatile mfxU16 *pVariable) { + return _InterlockedDecrement16((volatile short *)pVariable); +} + +mfxU32 msdk_atomic_inc32(volatile mfxU32 *pVariable) { + return _InterlockedIncrement((volatile long *)pVariable); +} + +/* Thread-safe 16-bit variable decrementing */ +mfxU32 msdk_atomic_dec32(volatile mfxU32 *pVariable) { + return _InterlockedDecrement((volatile long *)pVariable); +} + +#endif // #if defined(_WIN32) || defined(_WIN64) diff --git a/tools/legacy/sample_common/src/vm/atomic_linux.cpp b/tools/legacy/sample_common/src/vm/atomic_linux.cpp new file mode 100644 index 00000000..7da2319e --- /dev/null +++ b/tools/legacy/sample_common/src/vm/atomic_linux.cpp @@ -0,0 +1,45 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#if !defined(_WIN32) && !defined(_WIN64) + + #include "vm/atomic_defs.h" + +static mfxU16 msdk_atomic_add16(volatile mfxU16 *mem, mfxU16 val) { + asm volatile("lock; xaddw %0,%1" + : "=r"(val), "=m"(*mem) + : "0"(val), "m"(*mem) + : "memory", "cc"); + return val; +} + +static mfxU32 msdk_atomic_add32(volatile mfxU32 *mem, mfxU32 val) { + asm volatile("lock; xaddl %0,%1" + : "=r"(val), "=m"(*mem) + : "0"(val), "m"(*mem) + : "memory", "cc"); + return val; +} + +mfxU16 msdk_atomic_inc16(volatile mfxU16 *pVariable) { + return msdk_atomic_add16(pVariable, 1) + 1; +} + +/* Thread-safe 16-bit variable decrementing */ +mfxU16 msdk_atomic_dec16(volatile mfxU16 *pVariable) { + return msdk_atomic_add16(pVariable, (mfxU16)-1) + 1; +} + +mfxU32 msdk_atomic_inc32(volatile mfxU32 *pVariable) { + return msdk_atomic_add32(pVariable, 1) + 1; +} + +/* Thread-safe 16-bit variable decrementing */ +mfxU32 msdk_atomic_dec32(volatile mfxU32 *pVariable) { + return msdk_atomic_add32(pVariable, (mfxU32)-1) + 1; +} + +#endif // #if !defined(_WIN32) && !defined(_WIN64) diff --git a/tools/legacy/sample_common/src/vm/shared_object.cpp b/tools/legacy/sample_common/src/vm/shared_object.cpp new file mode 100644 index 00000000..3887ec87 --- /dev/null +++ b/tools/legacy/sample_common/src/vm/shared_object.cpp @@ -0,0 +1,33 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#if defined(_WIN32) || defined(_WIN64) + + #include "vm/so_defs.h" + + #include + +msdk_so_handle msdk_so_load(const msdk_char *file_name) { + if (!file_name) + return NULL; + return (msdk_so_handle)LoadLibrary((LPCTSTR)file_name); +} + +msdk_func_pointer msdk_so_get_addr(msdk_so_handle handle, const char *func_name) { + if (!handle) + return NULL; + return (msdk_func_pointer)GetProcAddress((HMODULE)handle, /*(LPCSTR)*/ func_name); +} + +void msdk_so_free(msdk_so_handle handle) { + if (!handle) + return; + FreeLibrary((HMODULE)handle); +} + +#endif // #if defined(_WIN32) || defined(_WIN64) diff --git a/tools/legacy/sample_common/src/vm/shared_object_linux.cpp b/tools/legacy/sample_common/src/vm/shared_object_linux.cpp new file mode 100644 index 00000000..34ff496b --- /dev/null +++ b/tools/legacy/sample_common/src/vm/shared_object_linux.cpp @@ -0,0 +1,30 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#if !defined(_WIN32) && !defined(_WIN64) + + #include + #include "vm/so_defs.h" + +msdk_so_handle msdk_so_load(const msdk_char *file_name) { + if (!file_name) + return NULL; + return (msdk_so_handle)dlopen(file_name, RTLD_LAZY); +} + +msdk_func_pointer msdk_so_get_addr(msdk_so_handle handle, const char *func_name) { + if (!handle) + return NULL; + return (msdk_func_pointer)dlsym(handle, func_name); +} + +void msdk_so_free(msdk_so_handle handle) { + if (!handle) + return; + dlclose(handle); +} + +#endif // #if !defined(_WIN32) && !defined(_WIN64) diff --git a/tools/legacy/sample_common/src/vm/thread_linux.cpp b/tools/legacy/sample_common/src/vm/thread_linux.cpp new file mode 100644 index 00000000..7848667b --- /dev/null +++ b/tools/legacy/sample_common/src/vm/thread_linux.cpp @@ -0,0 +1,285 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#if !defined(_WIN32) && !defined(_WIN64) + + #include + #include // setrlimit + #include + #include + #include // std::bad_alloc + + #include "sample_utils.h" + #include "vm/thread_defs.h" + +/* ****************************************************************************** */ + +MSDKSemaphore::MSDKSemaphore(mfxStatus& sts, mfxU32 count) : msdkSemaphoreHandle(count) { + sts = MFX_ERR_NONE; + int res = pthread_cond_init(&m_semaphore, NULL); + if (!res) { + res = pthread_mutex_init(&m_mutex, NULL); + if (res) { + pthread_cond_destroy(&m_semaphore); + } + } + if (res) + throw std::bad_alloc(); +} + +MSDKSemaphore::~MSDKSemaphore(void) { + pthread_mutex_destroy(&m_mutex); + pthread_cond_destroy(&m_semaphore); +} + +mfxStatus MSDKSemaphore::Post(void) { + int res = pthread_mutex_lock(&m_mutex); + if (!res) { + if (0 == m_count++) + res = pthread_cond_signal(&m_semaphore); + } + int sts = pthread_mutex_unlock(&m_mutex); + if (!res) + res = sts; + return (res) ? MFX_ERR_UNKNOWN : MFX_ERR_NONE; +} + +mfxStatus MSDKSemaphore::Wait(void) { + int res = pthread_mutex_lock(&m_mutex); + if (!res) { + while (!m_count) { + res = pthread_cond_wait(&m_semaphore, &m_mutex); + } + if (!res) + --m_count; + int sts = pthread_mutex_unlock(&m_mutex); + if (!res) + res = sts; + } + return (res) ? MFX_ERR_UNKNOWN : MFX_ERR_NONE; +} + +/* ****************************************************************************** */ + +MSDKEvent::MSDKEvent(mfxStatus& sts, bool manual, bool state) : msdkEventHandle(manual, state) { + sts = MFX_ERR_NONE; + + int res = pthread_cond_init(&m_event, NULL); + if (!res) { + res = pthread_mutex_init(&m_mutex, NULL); + if (res) { + pthread_cond_destroy(&m_event); + } + } + if (res) + throw std::bad_alloc(); +} + +MSDKEvent::~MSDKEvent(void) { + pthread_mutex_destroy(&m_mutex); + pthread_cond_destroy(&m_event); +} + +mfxStatus MSDKEvent::Signal(void) { + int res = pthread_mutex_lock(&m_mutex); + if (!res) { + if (!m_state) { + m_state = true; + if (m_manual) + res = pthread_cond_broadcast(&m_event); + else + res = pthread_cond_signal(&m_event); + } + int sts = pthread_mutex_unlock(&m_mutex); + if (!res) + res = sts; + } + return (res) ? MFX_ERR_UNKNOWN : MFX_ERR_NONE; +} + +mfxStatus MSDKEvent::Reset(void) { + int res = pthread_mutex_lock(&m_mutex); + if (!res) { + if (m_state) + m_state = false; + res = pthread_mutex_unlock(&m_mutex); + } + return (res) ? MFX_ERR_UNKNOWN : MFX_ERR_NONE; +} + +mfxStatus MSDKEvent::Wait(void) { + int res = pthread_mutex_lock(&m_mutex); + if (!res) { + while (!m_state) + res = pthread_cond_wait(&m_event, &m_mutex); + if (!m_manual) + m_state = false; + int sts = pthread_mutex_unlock(&m_mutex); + if (!res) + res = sts; + } + return (res) ? MFX_ERR_UNKNOWN : MFX_ERR_NONE; +} + +mfxStatus MSDKEvent::TimedWait(mfxU32 msec) { + if (MFX_INFINITE == msec) + return MFX_ERR_UNSUPPORTED; + mfxStatus mfx_res = MFX_ERR_NOT_INITIALIZED; + + int res = pthread_mutex_lock(&m_mutex); + if (!res) { + if (!m_state) { + struct timeval tval; + struct timespec tspec; + mfxI32 res; + + gettimeofday(&tval, NULL); + msec = 1000 * msec + tval.tv_usec; + tspec.tv_sec = tval.tv_sec + msec / 1000000; + tspec.tv_nsec = (msec % 1000000) * 1000; + res = pthread_cond_timedwait(&m_event, &m_mutex, &tspec); + if (!res) + mfx_res = MFX_ERR_NONE; + else if (ETIMEDOUT == res) + mfx_res = MFX_TASK_WORKING; + else + mfx_res = MFX_ERR_UNKNOWN; + } + else + mfx_res = MFX_ERR_NONE; + if (!m_manual) + m_state = false; + + res = pthread_mutex_unlock(&m_mutex); + if (res) + mfx_res = MFX_ERR_UNKNOWN; + } + else + mfx_res = MFX_ERR_UNKNOWN; + + return mfx_res; +} + +/* ****************************************************************************** */ + +void* msdk_thread_start(void* arg) { + if (arg) { + MSDKThread* thread = (MSDKThread*)arg; + + if (thread->m_func) + thread->m_func(thread->m_arg); + thread->m_event->Signal(); + } + return NULL; +} + +/* ****************************************************************************** */ + +MSDKThread::MSDKThread(mfxStatus& sts, msdk_thread_callback func, void* arg) + : msdkThreadHandle(func, arg) { + m_event = new MSDKEvent(sts, false, false); + if (pthread_create(&(m_thread), NULL, msdk_thread_start, this)) { + delete (m_event); + throw std::bad_alloc(); + } +} + +MSDKThread::~MSDKThread(void) { + delete m_event; +} + +mfxStatus MSDKThread::Wait(void) { + int res = pthread_join(m_thread, NULL); + return (res) ? MFX_ERR_UNKNOWN : MFX_ERR_NONE; +} + +mfxStatus MSDKThread::TimedWait(mfxU32 msec) { + if (MFX_INFINITE == msec) + return MFX_ERR_UNSUPPORTED; + + mfxStatus mfx_res = m_event->TimedWait(msec); + + if (MFX_ERR_NONE == mfx_res) { + return (pthread_join(m_thread, NULL)) ? MFX_ERR_UNKNOWN : MFX_ERR_NONE; + } + return mfx_res; +} + +mfxStatus MSDKThread::GetExitCode() { + if (!m_event) + return MFX_ERR_NOT_INITIALIZED; + + /** @todo: Need to add implementation. */ + return MFX_ERR_NONE; +} + +/* ****************************************************************************** */ + +mfxStatus msdk_setrlimit_vmem(mfxU64 size) { + struct rlimit limit; + + limit.rlim_cur = size; + limit.rlim_max = size; + if (setrlimit(RLIMIT_AS, &limit)) + return MFX_ERR_UNKNOWN; + return MFX_ERR_NONE; +} + +mfxStatus msdk_thread_get_schedtype(const msdk_char* str, mfxI32& type) { + if (!msdk_strcmp(str, MSDK_STRING("fifo"))) { + type = SCHED_FIFO; + } + else if (!msdk_strcmp(str, MSDK_STRING("rr"))) { + type = SCHED_RR; + } + else if (!msdk_strcmp(str, MSDK_STRING("other"))) { + type = SCHED_OTHER; + } + else if (!msdk_strcmp(str, MSDK_STRING("batch"))) { + type = SCHED_BATCH; + } + else if (!msdk_strcmp(str, MSDK_STRING("idle"))) { + type = SCHED_IDLE; + } + // else if (!msdk_strcmp(str, MSDK_STRING("deadline"))) { + // type = SCHED_DEADLINE; + // } + else { + return MFX_ERR_UNSUPPORTED; + } + return MFX_ERR_NONE; +} + +void msdk_thread_printf_scheduling_help() { + msdk_printf(MSDK_STRING("Note on the scheduling types and priorities:\n")); + msdk_printf(MSDK_STRING(" - : .. (notes)\n")); + msdk_printf(MSDK_STRING("The following scheduling types requires root privileges:\n")); + msdk_printf(MSDK_STRING(" - fifo: %d .. %d (static priority: low .. high)\n"), + sched_get_priority_min(SCHED_FIFO), + sched_get_priority_max(SCHED_FIFO)); + msdk_printf(MSDK_STRING(" - rr: %d .. %d (static priority: low .. high)\n"), + sched_get_priority_min(SCHED_RR), + sched_get_priority_max(SCHED_RR)); + msdk_printf( + MSDK_STRING("The following scheduling types can be used by non-privileged users:\n")); + msdk_printf(MSDK_STRING(" - other: 0 .. 0 (static priority always 0)\n")); + msdk_printf(MSDK_STRING(" - batch: 0 .. 0 (static priority always 0)\n")); + msdk_printf(MSDK_STRING(" - idle: n/a\n")); + msdk_printf( + MSDK_STRING("If you want to adjust priority for the other or batch scheduling type,\n")); + msdk_printf(MSDK_STRING( + "you can do that process-wise using dynamic priority - so called nice value.\n")); + msdk_printf(MSDK_STRING("Range for the nice value is: %d .. %d (high .. low)\n"), + PRIO_MIN, + PRIO_MAX); + msdk_printf(MSDK_STRING("Please, see 'man(1) nice' for details.\n")); +} + +mfxU32 msdk_get_current_pid() { + return syscall(SYS_getpid); +} + +#endif // #if !defined(_WIN32) && !defined(_WIN64) diff --git a/tools/legacy/sample_common/src/vm/thread_windows.cpp b/tools/legacy/sample_common/src/vm/thread_windows.cpp new file mode 100644 index 00000000..55484916 --- /dev/null +++ b/tools/legacy/sample_common/src/vm/thread_windows.cpp @@ -0,0 +1,130 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#if defined(_WIN32) || defined(_WIN64) + + #include + #include "vm/thread_defs.h" + +MSDKSemaphore::MSDKSemaphore(mfxStatus &sts, mfxU32 count) { + sts = MFX_ERR_NONE; + m_semaphore = CreateSemaphore(NULL, count, LONG_MAX, 0); + if (!m_semaphore) + throw std::bad_alloc(); +} + +MSDKSemaphore::~MSDKSemaphore(void) { + CloseHandle(m_semaphore); +} + +mfxStatus MSDKSemaphore::Post(void) { + return (ReleaseSemaphore(m_semaphore, 1, NULL) == false) ? MFX_ERR_UNKNOWN : MFX_ERR_NONE; +} + +mfxStatus MSDKSemaphore::Wait(void) { + return (WaitForSingleObject(m_semaphore, INFINITE) != WAIT_OBJECT_0) ? MFX_ERR_UNKNOWN + : MFX_ERR_NONE; +} + +/* ****************************************************************************** */ + +MSDKEvent::MSDKEvent(mfxStatus &sts, bool manual, bool state) { + sts = MFX_ERR_NONE; + m_event = CreateEvent(NULL, manual, state, NULL); + if (!m_event) + throw std::bad_alloc(); +} + +MSDKEvent::~MSDKEvent(void) { + CloseHandle(m_event); +} + +mfxStatus MSDKEvent::Signal(void) { + return (SetEvent(m_event) == false) ? MFX_ERR_UNKNOWN : MFX_ERR_NONE; +} + +mfxStatus MSDKEvent::Reset(void) { + return (ResetEvent(m_event) == false) ? MFX_ERR_UNKNOWN : MFX_ERR_NONE; +} + +mfxStatus MSDKEvent::Wait(void) { + return (WaitForSingleObject(m_event, INFINITE) != WAIT_OBJECT_0) ? MFX_ERR_UNKNOWN + : MFX_ERR_NONE; +} + +mfxStatus MSDKEvent::TimedWait(mfxU32 msec) { + if (MFX_INFINITE == msec) + return MFX_ERR_UNSUPPORTED; + mfxStatus mfx_res = MFX_ERR_NOT_INITIALIZED; + DWORD res = WaitForSingleObject(m_event, msec); + + if (WAIT_OBJECT_0 == res) + mfx_res = MFX_ERR_NONE; + else if (WAIT_TIMEOUT == res) + mfx_res = MFX_TASK_WORKING; + else + mfx_res = MFX_ERR_UNKNOWN; + + return mfx_res; +} + +MSDKThread::MSDKThread(mfxStatus &sts, msdk_thread_callback func, void *arg) { + sts = MFX_ERR_NONE; + m_thread = (void *)_beginthreadex(NULL, 0, func, arg, 0, NULL); + if (!m_thread) + throw std::bad_alloc(); +} + +MSDKThread::~MSDKThread(void) { + CloseHandle(m_thread); +} + +mfxStatus MSDKThread::Wait(void) { + return (WaitForSingleObject(m_thread, INFINITE) != WAIT_OBJECT_0) ? MFX_ERR_UNKNOWN + : MFX_ERR_NONE; +} + +mfxStatus MSDKThread::TimedWait(mfxU32 msec) { + if (MFX_INFINITE == msec) + return MFX_ERR_UNSUPPORTED; + + mfxStatus mfx_res = MFX_ERR_NONE; + DWORD res = WaitForSingleObject(m_thread, msec); + + if (WAIT_OBJECT_0 == res) + mfx_res = MFX_ERR_NONE; + else if (WAIT_TIMEOUT == res) + mfx_res = MFX_TASK_WORKING; + else + mfx_res = MFX_ERR_UNKNOWN; + + return mfx_res; +} + +mfxStatus MSDKThread::GetExitCode() { + mfxStatus mfx_res = MFX_ERR_NOT_INITIALIZED; + + DWORD code = 0; + int sts = 0; + sts = GetExitCodeThread(m_thread, &code); + + if (sts == 0) + mfx_res = MFX_ERR_UNKNOWN; + else if (STILL_ACTIVE == code) + mfx_res = MFX_TASK_WORKING; + else + mfx_res = MFX_ERR_NONE; + + return mfx_res; +} + +mfxU32 msdk_get_current_pid() { + return GetCurrentProcessId(); +} + +#endif // #if defined(_WIN32) || defined(_WIN64) diff --git a/tools/legacy/sample_common/src/vm/time.cpp b/tools/legacy/sample_common/src/vm/time.cpp new file mode 100644 index 00000000..e8d3922c --- /dev/null +++ b/tools/legacy/sample_common/src/vm/time.cpp @@ -0,0 +1,31 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#if defined(_WIN32) || defined(_WIN64) + + #include "vm/time_defs.h" + +msdk_tick msdk_time_get_tick(void) { + LARGE_INTEGER t1; + + QueryPerformanceCounter(&t1); + return t1.QuadPart; +} + +msdk_tick msdk_time_get_frequency(void) { + LARGE_INTEGER t1; + + QueryPerformanceFrequency(&t1); + return t1.QuadPart; +} + +mfxU64 rdtsc() { + return __rdtsc(); +} + +#endif // #if defined(_WIN32) || defined(_WIN64) diff --git a/tools/legacy/sample_common/src/vm/time_linux.cpp b/tools/legacy/sample_common/src/vm/time_linux.cpp new file mode 100644 index 00000000..13f6ddd8 --- /dev/null +++ b/tools/legacy/sample_common/src/vm/time_linux.cpp @@ -0,0 +1,31 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#if !defined(_WIN32) && !defined(_WIN64) + + #include + #include "vm/time_defs.h" + + #define MSDK_TIME_MHZ 1000000 + +msdk_tick msdk_time_get_tick(void) { + struct timeval tv; + + gettimeofday(&tv, NULL); + return (msdk_tick)tv.tv_sec * (msdk_tick)MSDK_TIME_MHZ + (msdk_tick)tv.tv_usec; +} + +msdk_tick msdk_time_get_frequency(void) { + return (msdk_tick)MSDK_TIME_MHZ; +} + +mfxU64 rdtsc(void) { + unsigned int lo, hi; + __asm__ __volatile__("rdtsc" : "=a"(lo), "=d"(hi)); + return ((mfxU64)hi << 32) | lo; +} + +#endif // #if !defined(_WIN32) && !defined(_WIN64) diff --git a/tools/legacy/sample_common/src/vpp_ex.cpp b/tools/legacy/sample_common/src/vpp_ex.cpp new file mode 100644 index 00000000..ba927606 --- /dev/null +++ b/tools/legacy/sample_common/src/vpp_ex.cpp @@ -0,0 +1,240 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#include "sample_defs.h" + +#include "vm/atomic_defs.h" +#include "vpp_ex.h" + +MFXVideoVPPEx::MFXVideoVPPEx(mfxSession session) + : MFXVideoVPP(session) +#if !defined(USE_VPP_EX) + {}; +#else + , + m_nCurrentPTS(0), + m_nIncreaseTime(0), + m_nInputTimeStamp(0), + m_nArraySize(0) { + memset(&m_VideoParams, 0, sizeof(m_VideoParams)); +}; + +mfxStatus MFXVideoVPPEx::Close(void) { + for (std::vector::iterator it = m_LockedSurfacesList.begin(); + it != m_LockedSurfacesList.end(); + ++it) { + try { + msdk_atomic_dec16((volatile mfxU16 *)(&(*it)->Data.Locked)); + } + catch (...) { // improve robustness by try/catch + } + } + + m_LockedSurfacesList.clear(); + + return MFXVideoVPP::Close(); +}; + +mfxStatus MFXVideoVPPEx::QueryIOSurf(mfxVideoParam *par, mfxFrameAllocRequest request[2]) { + mfxVideoParam params; + + if (NULL == par) { + return MFX_ERR_NULL_PTR; + }; + + MSDK_MEMCPY_VAR(params, par, sizeof(mfxVideoParam)); + + params.vpp.In.FrameRateExtD = params.vpp.Out.FrameRateExtD; + params.vpp.In.FrameRateExtN = params.vpp.Out.FrameRateExtN; + + return MFXVideoVPP::QueryIOSurf(¶ms, request); +}; + +mfxStatus MFXVideoVPPEx::Query(mfxVideoParam *in, mfxVideoParam *out) { + mfxVideoParam params; + + if (NULL == out) { + return MFX_ERR_NULL_PTR; + } + + if (in) { + MSDK_MEMCPY_VAR(params, in, sizeof(mfxVideoParam)); + + params.vpp.In.FrameRateExtD = params.vpp.Out.FrameRateExtD; + params.vpp.In.FrameRateExtN = params.vpp.Out.FrameRateExtN; + } + + return MFXVideoVPP::Query((in) ? ¶ms : NULL, out); +}; + +mfxStatus MFXVideoVPPEx::Init(mfxVideoParam *par) { + mfxStatus sts = MFX_ERR_NONE; + + if (NULL == par) { + return MFX_ERR_NULL_PTR; + }; + + m_nCurrentPTS = 0; + m_nArraySize = 0; + m_nInputTimeStamp = 0; + + for (std::vector::iterator it = m_LockedSurfacesList.begin(); + it != m_LockedSurfacesList.end(); + ++it) { + msdk_atomic_dec16((volatile mfxU16 *)(&(*it)->Data.Locked)); + } + + m_LockedSurfacesList.clear(); + + m_nIncreaseTime = (mfxU64)((mfxF64)MFX_TIME_STAMP_FREQUENCY * par->vpp.Out.FrameRateExtD / + par->vpp.Out.FrameRateExtN); + + MSDK_MEMCPY_VAR(m_VideoParams, par, sizeof(mfxVideoParam)); + + m_VideoParams.vpp.In.FrameRateExtD = m_VideoParams.vpp.Out.FrameRateExtD; + m_VideoParams.vpp.In.FrameRateExtN = m_VideoParams.vpp.Out.FrameRateExtN; + + sts = MFXVideoVPP::Init(&m_VideoParams); + + m_VideoParams.vpp.In.FrameRateExtD = par->vpp.In.FrameRateExtD; + m_VideoParams.vpp.In.FrameRateExtN = par->vpp.In.FrameRateExtN; + + return sts; +} + +mfxStatus MFXVideoVPPEx::GetVideoParam(mfxVideoParam *par) { + mfxStatus sts = MFXVideoVPP::GetVideoParam(par); + + if (MFX_ERR_NONE == sts) { + par->vpp.In.FrameRateExtD = m_VideoParams.vpp.In.FrameRateExtD; + par->vpp.In.FrameRateExtN = m_VideoParams.vpp.In.FrameRateExtN; + + par->vpp.Out.FrameRateExtD = m_VideoParams.vpp.Out.FrameRateExtD; + par->vpp.Out.FrameRateExtN = m_VideoParams.vpp.Out.FrameRateExtN; + }; + + return sts; +}; + +mfxStatus MFXVideoVPPEx::RunFrameVPPAsync(mfxFrameSurface1 *in, + mfxFrameSurface1 *out, + mfxExtVppAuxData *aux, + mfxSyncPoint *syncp) { + mfxStatus sts = MFX_ERR_NONE; + + if (NULL == out || NULL == syncp) { + return MFX_ERR_NULL_PTR; + }; + + if (!in) { + if (!m_LockedSurfacesList.empty()) { + // subtract 1 to handle minimal difference between input and expected timestamps + if (m_nCurrentPTS - 1 <= m_LockedSurfacesList[0]->Data.TimeStamp) { + mfxU64 nPTS = m_LockedSurfacesList[0]->Data.TimeStamp; + m_LockedSurfacesList[0]->Data.TimeStamp = m_nCurrentPTS; + + sts = MFXVideoVPP::RunFrameVPPAsync(m_LockedSurfacesList[0], out, aux, syncp); + + m_LockedSurfacesList[0]->Data.TimeStamp = nPTS; + + if (MFX_WRN_DEVICE_BUSY != sts) { + m_nCurrentPTS += m_nIncreaseTime; + } + } + else { + for (std::vector::iterator it = m_LockedSurfacesList.begin(); + it != m_LockedSurfacesList.end(); + ++it) { + msdk_atomic_dec16((volatile mfxU16 *)(&(*it)->Data.Locked)); + } + + m_LockedSurfacesList.clear(); + + return MFXVideoVPP::RunFrameVPPAsync(in, out, aux, syncp); + } + } + else { + return MFXVideoVPP::RunFrameVPPAsync(in, out, aux, syncp); + } + } + else { + m_nArraySize = m_LockedSurfacesList.size(); + + if (!m_nArraySize) { + m_nCurrentPTS = (mfxU64)in->Data.TimeStamp; + + msdk_atomic_inc16((volatile mfxU16 *)&in->Data.Locked); + m_LockedSurfacesList.push_back(in); + + return MFX_ERR_MORE_DATA; + } + + if (1 == m_nArraySize) { + if (in->Data.TimeStamp < m_nCurrentPTS) { + return MFX_ERR_MORE_DATA; + } + + if (in->Data.TimeStamp > m_LockedSurfacesList[0]->Data.TimeStamp && + (in->Data.TimeStamp < m_nCurrentPTS + m_nIncreaseTime / 2)) { + return MFX_ERR_MORE_DATA; + } + } + + { + mfxStatus stsRunFrame = MFX_ERR_NONE; + + m_nInputTimeStamp = m_LockedSurfacesList[0]->Data.TimeStamp; + + if (m_nCurrentPTS <= m_LockedSurfacesList[0]->Data.TimeStamp || + m_nCurrentPTS < (in->Data.TimeStamp - (mfxF64)m_nIncreaseTime / 2)) { + m_nInputTimeStamp = m_LockedSurfacesList[0]->Data.TimeStamp; + m_LockedSurfacesList[0]->Data.TimeStamp = m_nCurrentPTS; + + stsRunFrame = sts = + MFXVideoVPP::RunFrameVPPAsync(m_LockedSurfacesList[0], out, aux, syncp); + + m_LockedSurfacesList[0]->Data.TimeStamp = m_nInputTimeStamp; + + if (MFX_WRN_DEVICE_BUSY != stsRunFrame) { + m_nCurrentPTS += m_nIncreaseTime; + } + + if (MFX_ERR_NONE == stsRunFrame) { + sts = MFX_ERR_MORE_SURFACE; + } + } + + if (MFX_WRN_DEVICE_BUSY != stsRunFrame) { + if (1 == m_nArraySize) { + msdk_atomic_inc16((volatile mfxU16 *)&in->Data.Locked); + m_LockedSurfacesList.push_back(in); + } + + if (m_nCurrentPTS > m_LockedSurfacesList[0]->Data.TimeStamp && + m_nCurrentPTS >= + (m_LockedSurfacesList[1]->Data.TimeStamp - (mfxF64)m_nIncreaseTime / 2)) { + msdk_atomic_dec16((volatile mfxU16 *)&m_LockedSurfacesList[0]->Data.Locked); + m_LockedSurfacesList.erase(m_LockedSurfacesList.begin()); + + if (MFX_ERR_NONE == stsRunFrame) { + if (stsRunFrame != sts) { + sts = MFX_ERR_NONE; + } + else { + sts = MFX_ERR_MORE_DATA; + } + } + } + } + } + } + + return sts; +}; + +#endif diff --git a/tools/legacy/sample_decode/CMakeLists.txt b/tools/legacy/sample_decode/CMakeLists.txt new file mode 100644 index 00000000..3618bd1a --- /dev/null +++ b/tools/legacy/sample_decode/CMakeLists.txt @@ -0,0 +1,30 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) + +set(TARGET sample_decode) +set(SOURCES "") +list(APPEND SOURCES src/pipeline_decode.cpp src/sample_decode.cpp) + +add_executable(${TARGET} ${SOURCES}) + +if(MSVC) + target_compile_definitions(${TARGET} PRIVATE -D_CRT_SECURE_NO_WARNINGS) +endif() + +if(POLICY CMP0074) + # ignore warning of VPL_ROOT in find_package search path + cmake_policy(SET CMP0074 OLD) +endif() + +target_include_directories(${TARGET} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) + +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} sample_common) + +install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT runtime) diff --git a/tools/legacy/sample_decode/include/pipeline_decode.h b/tools/legacy/sample_decode/include/pipeline_decode.h new file mode 100644 index 00000000..7792d233 --- /dev/null +++ b/tools/legacy/sample_decode/include/pipeline_decode.h @@ -0,0 +1,336 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __PIPELINE_DECODE_H__ +#define __PIPELINE_DECODE_H__ + +#include "sample_defs.h" + +#if D3D_SURFACES_SUPPORT + #pragma warning(disable : 4201) + #include + #include +#endif + +#include +#include +#include "decode_render.h" +#include "hw_device.h" +#include "mfx_buffering.h" + +#include "base_allocator.h" +#include "sample_utils.h" + +#if (MFX_VERSION >= 2000) + #include "sample_vpl_common.h" + #include "vpl/mfxdispatcher.h" +#endif + +#include "vpl/mfxjpeg.h" +#if (MFX_VERSION < 2000) + #include "mfxmvc.h" + #include "mfxplugin++.h" + #include "mfxplugin.h" + #include "mfxvp8.h" + #include "plugin_loader.h" +#endif +#include "vpl/mfxvideo++.h" +#include "vpl/mfxvideo.h" + +#include "general_allocator.h" + +#if defined(_WIN64) || defined(_WIN32) + #include "vpl/mfxadapter.h" +#endif + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +enum MemType { + SYSTEM_MEMORY = 0x00, + D3D9_MEMORY = 0x01, + D3D11_MEMORY = 0x02, +}; + +enum eWorkMode { MODE_PERFORMANCE, MODE_RENDERING, MODE_FILE_DUMP }; + +#if MFX_VERSION >= 1022 +enum eDecoderPostProc { MODE_DECODER_POSTPROC_AUTO = 0x1, MODE_DECODER_POSTPROC_FORCE = 0x2 }; +#endif //MFX_VERSION >= 1022 + +struct sInputParams { + mfxU32 videoType; + eWorkMode mode; + MemType memType; + bool bUseHWLib; // true if application wants to use HW mfx library + bool bIsMVC; // true if Multi-View Codec is in use + bool bLowLat; // low latency mode + bool bCalLat; // latency calculation + bool bUseFullColorRange; //whether to use full color range + mfxU16 nMaxFPS; //rendering limited by certain fps + mfxU32 nWallCell; + mfxU32 nWallW; //number of windows located in each row + mfxU32 nWallH; //number of windows located in each column + mfxU32 nWallMonitor; //monitor id, 0,1,.. etc + bool bWallNoTitle; //whether to show title for each window with fps value +#if MFX_VERSION >= 1022 + mfxU16 nDecoderPostProcessing; +#endif //MFX_VERSION >= 1022 + + mfxU32 numViews; // number of views for Multi-View Codec + mfxU32 nRotation; // rotation for Motion JPEG Codec + mfxU16 nAsyncDepth; // asyncronous queue + mfxU16 nTimeout; // timeout in seconds + mfxU16 gpuCopy; // GPU Copy mode (three-state option) + bool bSoftRobustFlag; + mfxU16 nThreadsNum; + mfxI32 SchedulingType; + mfxI32 Priority; + + mfxU16 Width; + mfxU16 Height; + + mfxU32 fourcc; + mfxU16 chromaType; + mfxU32 nFrames; + mfxU16 eDeinterlace; + bool outI420; + + bool bPerfMode; + bool bRenderWin; + mfxU32 nRenderWinX; + mfxU32 nRenderWinY; +#if (MFX_VERSION >= 1025) + bool bErrorReport; +#endif + + mfxI32 monitorType; +#if defined(LIBVA_SUPPORT) + mfxI32 libvaBackend; + std::string strDevicePath; +#endif +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + bool bPrefferdGfx; + bool bPrefferiGfx; +#endif + +#if (MFX_VERSION >= 1034) + bool bIgnoreLevelConstrain; +#endif + + msdk_char strSrcFile[MSDK_MAX_FILENAME_LEN]; + msdk_char strDstFile[MSDK_MAX_FILENAME_LEN]; +#if (MFX_VERSION < 2000) + sPluginParams pluginParams; +#endif +#if (MFX_VERSION >= 2000) + bool api2xInternalMem; + bool api2xDispatcher; + bool api2xDecVPP; +#endif +}; + +struct CPipelineStatistics { + CPipelineStatistics() + : m_input_count(0), + m_output_count(0), + m_synced_count(0), + m_tick_overall(0), + m_tick_fread(0), + m_tick_fwrite(0), + m_timer_overall(m_tick_overall) {} + virtual ~CPipelineStatistics() {} + + mfxU32 m_input_count; // number of received incoming packets (frames or bitstreams) + mfxU32 m_output_count; // number of delivered outgoing packets (frames or bitstreams) + mfxU32 m_synced_count; + + msdk_tick m_tick_overall; // overall time passed during processing + msdk_tick m_tick_fread; // part of tick_overall: time spent to receive incoming data + msdk_tick m_tick_fwrite; // part of tick_overall: time spent to deliver outgoing data + + CAutoTimer m_timer_overall; // timer which corresponds to m_tick_overall + +private: + CPipelineStatistics(const CPipelineStatistics&); + void operator=(const CPipelineStatistics&); +}; + +class CDecodingPipeline : public CBuffering, public CPipelineStatistics { +public: + CDecodingPipeline(); + virtual ~CDecodingPipeline(); + + virtual mfxStatus Init(sInputParams* pParams); + virtual mfxStatus RunDecoding(); + virtual void Close(); + virtual mfxStatus ResetDecoder(sInputParams* pParams); + virtual mfxStatus ResetDevice(); + + void SetMultiView(); + virtual void PrintInfo(); + mfxU64 GetTotalBytesProcessed() { + return totalBytesProcessed + m_mfxBS.DataOffset; + } + +#if (MFX_VERSION >= 1025) + inline void PrintDecodeErrorReport(mfxExtDecodeErrorReport* pDecodeErrorReport) { + if (pDecodeErrorReport) { + if (pDecodeErrorReport->ErrorTypes & MFX_ERROR_SPS) + msdk_printf(MSDK_STRING("[Error] SPS Error detected!\n")); + + if (pDecodeErrorReport->ErrorTypes & MFX_ERROR_PPS) + msdk_printf(MSDK_STRING("[Error] PPS Error detected!\n")); + + if (pDecodeErrorReport->ErrorTypes & MFX_ERROR_SLICEHEADER) + msdk_printf(MSDK_STRING("[Error] SliceHeader Error detected!\n")); + + if (pDecodeErrorReport->ErrorTypes & MFX_ERROR_FRAME_GAP) + msdk_printf(MSDK_STRING("[Error] Frame Gap Error detected!\n")); + } + } +#endif + +protected: // functions +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + mfxU32 GetPreferredAdapterNum(const mfxAdaptersInfo& adapters, const sInputParams& params); +#endif + mfxStatus GetImpl(const sInputParams& params, mfxIMPL& impl); + virtual mfxStatus CreateRenderingWindow(sInputParams* pParams); + virtual mfxStatus InitMfxParams(sInputParams* pParams); +#if (MFX_VERSION < 2000) + virtual mfxStatus AllocateExtMVCBuffers(); + + virtual void DeallocateExtMVCBuffers(); +#endif + virtual mfxStatus InitVppParams(); + virtual mfxStatus InitVppFilters(); + virtual bool IsVppRequired(sInputParams* pParams); + + virtual mfxStatus CreateAllocator(); + virtual mfxStatus CreateHWDevice(); + virtual mfxStatus AllocFrames(); + virtual void DeleteFrames(); + virtual void DeleteAllocator(); + + /** \brief Performs SyncOperation on the current output surface with the specified timeout. + * + * @return MFX_ERR_NONE Output surface was successfully synced and delivered. + * @return MFX_ERR_MORE_DATA Array of output surfaces is empty, need to feed decoder. + * @return MFX_WRN_IN_EXECUTION Specified timeout have elapsed. + * @return MFX_ERR_UNKNOWN An error has occurred. + */ + virtual mfxStatus SyncOutputSurface(mfxU32 wait); + virtual mfxStatus DeliverOutput(mfxFrameSurface1* frame); + virtual void PrintPerFrameStat(bool force = false); + + virtual void DeliverLoop(); + + virtual mfxStatus ReallocCurrentSurface(const mfxFrameInfo& info); + +protected: // variables + CSmplYUVWriter m_FileWriter; + std::unique_ptr m_FileReader; + mfxBitstreamWrapper m_mfxBS; // contains encoded data + mfxU64 totalBytesProcessed; + + MFXVideoSession2 m_mfxSession; + mfxIMPL m_impl; + MFXVideoDECODE* m_pmfxDEC; + MFXVideoVPP* m_pmfxVPP; +#if (MFX_VERSION >= 2000) + MFXMemory* m_pmfxMemory; + MFXVideoDECODE_VPP* m_pmfxDecVPP; + mfxLoader m_mfxLoader; + bool m_bAPI2XInternalMem; + bool m_bAPI2XDecVPP; + mfxU16 m_numVPPCh; + mfxVideoChannelParam* m_pmfxVPPChParams; + mfxSurfaceArray* m_pDecVPPOutSurfaces; +#endif + MfxVideoParamsWrapper m_mfxVideoParams; + MfxVideoParamsWrapper m_mfxVppVideoParams; +#if (MFX_VERSION < 2000) + std::unique_ptr m_pUserModule; + std::unique_ptr m_pPlugin; +#endif + GeneralAllocator* m_pGeneralAllocator; + mfxAllocatorParams* m_pmfxAllocatorParams; + MemType m_memType; // memory type of surfaces to use + bool m_bExternalAlloc; // use memory allocator as external for Media SDK + bool m_bDecOutSysmem; // use system memory between Decoder and VPP, if false - video memory + mfxFrameAllocResponse m_mfxResponse; // memory allocation response for decoder + mfxFrameAllocResponse m_mfxVppResponse; // memory allocation response for vpp + + msdkFrameSurface* m_pCurrentFreeSurface; // surface detached from free surfaces array + msdkFrameSurface* m_pCurrentFreeVppSurface; // VPP surface detached from free VPP surfaces array + msdkOutputSurface* + m_pCurrentFreeOutputSurface; // surface detached from free output surfaces array + msdkOutputSurface* m_pCurrentOutputSurface; // surface detached from output surfaces array + + MSDKSemaphore* m_pDeliverOutputSemaphore; // to access to DeliverOutput method + MSDKEvent* m_pDeliveredEvent; // to signal when output surfaces will be processed + mfxStatus m_error; // error returned by DeliverOutput method + bool m_bStopDeliverLoop; + + eWorkMode m_eWorkMode; // work mode for the pipeline + bool m_bIsMVC; // enables MVC mode (need to support several files as an output) + bool m_bIsVideoWall; // indicates special mode: decoding will be done in a loop + bool m_bIsCompleteFrame; + mfxU32 m_fourcc; // color format of vpp out, i420 by default + bool m_bPrintLatency; + bool m_bOutI420; + + mfxU16 m_vppOutWidth; + mfxU16 m_vppOutHeight; + + mfxU32 m_nTimeout; // enables timeout for video playback, measured in seconds + mfxU16 m_nMaxFps; // limit of fps, if isn't specified equal 0. + mfxU32 m_nFrames; //limit number of output frames + + mfxU16 m_diMode; + bool m_bVppIsUsed; + bool m_bVppFullColorRange; + bool m_bSoftRobustFlag; + std::vector m_vLatency; + + msdk_tick m_startTick; + msdk_tick m_delayTicks; + + mfxExtVPPVideoSignalInfo m_VppVideoSignalInfo; + std::vector m_VppSurfaceExtParams; + +#if defined(LIBVA_SUPPORT) + std::string m_strDevicePath; //path to device for processing +#endif + CHWDevice* m_hwdev; +#if D3D_SURFACES_SUPPORT + CDecodeD3DRender m_d3dRender; +#endif + + bool m_bRenderWin; + mfxU32 m_nRenderWinX; + mfxU32 m_nRenderWinY; + mfxU32 m_nRenderWinW; + mfxU32 m_nRenderWinH; + + mfxU32 m_export_mode; + mfxI32 m_monitorType; +#if defined(LIBVA_SUPPORT) + mfxI32 m_libvaBackend; + bool m_bPerfMode; +#endif // defined(MFX_LIBVA_SUPPORT) + + bool m_bResetFileWriter; + bool m_bResetFileReader; + +private: + CDecodingPipeline(const CDecodingPipeline&); + void operator=(const CDecodingPipeline&); +}; + +#endif // __PIPELINE_DECODE_H__ diff --git a/tools/legacy/sample_decode/src/pipeline_decode.cpp b/tools/legacy/sample_decode/src/pipeline_decode.cpp new file mode 100644 index 00000000..06a02d73 --- /dev/null +++ b/tools/legacy/sample_decode/src/pipeline_decode.cpp @@ -0,0 +1,2350 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include +#include "mfx_samples_config.h" +#include "sample_defs.h" + +#if defined(_WIN32) || defined(_WIN64) + #include + #include +#endif + +#include +#include +#include +#include "pipeline_decode.h" +#include "sysmem_allocator.h" + +#if defined(_WIN32) || defined(_WIN64) + #include "d3d11_allocator.h" + #include "d3d11_device.h" + #include "d3d_allocator.h" + #include "d3d_device.h" +#endif + +#if defined LIBVA_SUPPORT + #include "vaapi_allocator.h" + #include "vaapi_device.h" + #include "vaapi_utils.h" +#endif + +#if defined(LIBVA_WAYLAND_SUPPORT) + #include "class_wayland.h" +#endif + +#include "version.h" + +#define __SYNC_WA // avoid sync issue on Media SDK side + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +CDecodingPipeline::CDecodingPipeline() : m_mfxBS(8 * 1024 * 1024), m_VppSurfaceExtParams() { + m_nFrames = 0; + m_export_mode = 0; + m_bVppFullColorRange = false; + m_bVppIsUsed = false; + m_numVPPCh = 0; + m_pmfxDEC = NULL; + m_pmfxVPP = NULL; + +#if (MFX_VERSION >= 2000) + m_pmfxMemory = NULL; + m_pmfxDecVPP = NULL; + m_mfxLoader = NULL; + m_bAPI2XInternalMem = false; + m_bAPI2XDecVPP = false; + m_pmfxVPPChParams = NULL; + m_pDecVPPOutSurfaces = NULL; +#endif + + m_impl = 0; + + m_pGeneralAllocator = NULL; + m_pmfxAllocatorParams = NULL; + m_memType = SYSTEM_MEMORY; + m_bExternalAlloc = false; + m_bDecOutSysmem = false; + m_bSoftRobustFlag = false; + + m_mfxResponse = { 0 }; + m_mfxVppResponse = { 0 }; + + m_pCurrentFreeSurface = NULL; + m_pCurrentFreeVppSurface = NULL; + m_pCurrentFreeOutputSurface = NULL; + m_pCurrentOutputSurface = NULL; + + m_pDeliverOutputSemaphore = NULL; + m_pDeliveredEvent = NULL; + m_error = MFX_ERR_NONE; + m_bStopDeliverLoop = false; + + m_eWorkMode = MODE_PERFORMANCE; + m_bIsMVC = false; + m_bIsVideoWall = false; + m_bIsCompleteFrame = false; + m_bPrintLatency = false; + m_fourcc = 0; + + m_nTimeout = 0; + m_nMaxFps = 0; + + m_diMode = 0; + m_bRenderWin = false; + m_vppOutWidth = 0; + m_vppOutHeight = 0; + + m_nRenderWinX = 0; + m_nRenderWinY = 0; + m_nRenderWinH = 0; + m_nRenderWinW = 0; + + m_bResetFileWriter = false; + m_bResetFileReader = false; + + m_startTick = 0; + m_delayTicks = 0; + + MSDK_ZERO_MEMORY(m_VppVideoSignalInfo); + m_VppVideoSignalInfo.Header.BufferId = MFX_EXTBUFF_VPP_VIDEO_SIGNAL_INFO; + m_VppVideoSignalInfo.Header.BufferSz = sizeof(m_VppVideoSignalInfo); + + m_hwdev = NULL; + + m_bOutI420 = false; + +#ifdef LIBVA_SUPPORT + m_export_mode = vaapiAllocatorParams::DONOT_EXPORT; + m_libvaBackend = 0; + m_bPerfMode = false; +#endif + + m_monitorType = 0; + totalBytesProcessed = 0; + m_vLatency.reserve( + 1000); // reserve some space to reduce dynamic reallocation impact on pipeline execution +} + +CDecodingPipeline::~CDecodingPipeline() { + Close(); +} + +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) +mfxU32 CDecodingPipeline::GetPreferredAdapterNum(const mfxAdaptersInfo &adapters, + const sInputParams ¶ms) { + if (adapters.NumActual == 0 || !adapters.Adapters) + return 0; + + if (params.bPrefferdGfx) { + // Find dGfx adapter in list and return it's index + + auto idx = std::find_if(adapters.Adapters, + adapters.Adapters + adapters.NumActual, + [](const mfxAdapterInfo info) { + return info.Platform.MediaAdapterType == + mfxMediaAdapterType::MFX_MEDIA_DISCRETE; + }); + + // No dGfx in list + if (idx == adapters.Adapters + adapters.NumActual) { + msdk_printf( + MSDK_STRING("Warning: No dGfx detected on machine. Will pick another adapter\n")); + return 0; + } + + return static_cast(std::distance(adapters.Adapters, idx)); + } + + if (params.bPrefferiGfx) { + // Find iGfx adapter in list and return it's index + + auto idx = std::find_if(adapters.Adapters, + adapters.Adapters + adapters.NumActual, + [](const mfxAdapterInfo info) { + return info.Platform.MediaAdapterType == + mfxMediaAdapterType::MFX_MEDIA_INTEGRATED; + }); + + // No iGfx in list + if (idx == adapters.Adapters + adapters.NumActual) { + msdk_printf( + MSDK_STRING("Warning: No iGfx detected on machine. Will pick another adapter\n")); + return 0; + } + + return static_cast(std::distance(adapters.Adapters, idx)); + } + + // Other ways return 0, i.e. best suitable detected by dispatcher + return 0; +} +#endif + +mfxStatus CDecodingPipeline::GetImpl(const sInputParams ¶ms, mfxIMPL &impl) { + if (!params.bUseHWLib) { + impl = MFX_IMPL_SOFTWARE; + return MFX_ERR_NONE; + } + +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) && (MFX_VERSION < 2000) + mfxU32 num_adapters_available; + + mfxStatus sts = MFXQueryAdaptersNumber(&num_adapters_available); + MSDK_CHECK_STATUS(sts, "MFXQueryAdaptersNumber failed"); + + mfxBitstreamWrapper dummy_stream(8 * 1024 * 1024); + + std::vector displays_data(num_adapters_available); + mfxAdaptersInfo adapters = { displays_data.data(), mfxU32(displays_data.size()), 0u }; + + constexpr mfxU32 realloc_limit = + 4; // Limit for bitstream reallocation (it would be 2^realloc_limit times more than in beginning) before reporting an error in case if SPS couldn't be found + for (mfxU32 i = 0;; ++i) { + sts = m_FileReader->ReadNextFrame(&dummy_stream); + + if (MFX_ERR_MORE_DATA == sts && i < realloc_limit && + dummy_stream.MaxLength == dummy_stream.DataLength) { + // Ignore the error now and alloc more data for bitstream + + dummy_stream.Extend(dummy_stream.MaxLength * 2); + } + MSDK_CHECK_STATUS(sts, "m_FileReader->ReadNextFrame failed"); + + sts = MFXQueryAdaptersDecode(&dummy_stream, params.videoType, &adapters); + + if (MFX_ERR_MORE_DATA == sts) { + continue; + } + + if (sts == MFX_ERR_NOT_FOUND) { + msdk_printf(MSDK_STRING("ERROR: No suitable adapters found for this workload\n")); + } + MSDK_CHECK_STATUS(sts, "MFXQueryAdapters failed"); + + break; + } + + m_FileReader->Reset(); + + mfxU32 idx = GetPreferredAdapterNum(adapters, params); + switch (adapters.Adapters[idx].Number) { + case 0: + impl = MFX_IMPL_HARDWARE; + break; + case 1: + impl = MFX_IMPL_HARDWARE2; + break; + case 2: + impl = MFX_IMPL_HARDWARE3; + break; + case 3: + impl = MFX_IMPL_HARDWARE4; + break; + + default: + // Try searching on all display adapters + impl = MFX_IMPL_HARDWARE_ANY; + break; + } +#else + // Library should pick first available compatible adapter during InitEx call with MFX_IMPL_HARDWARE_ANY + impl = MFX_IMPL_HARDWARE_ANY; +#endif // (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + + // If d3d11 surfaces are used ask the library to run acceleration through D3D11 + // feature may be unsupported due to OS or MSDK API version + + if (D3D11_MEMORY == params.memType) + impl |= MFX_IMPL_VIA_D3D11; + + return MFX_ERR_NONE; +} + +mfxStatus CDecodingPipeline::Init(sInputParams *pParams) { + MSDK_CHECK_POINTER(pParams, MFX_ERR_NULL_PTR); + + mfxStatus sts = MFX_ERR_NONE; + + // prepare input stream file reader + // for VP8 complete and single frame reader is a requirement + // create reader that supports completeframe mode for latency oriented scenarios + if (pParams->bLowLat || pParams->bCalLat) { + switch (pParams->videoType) { + case MFX_CODEC_AVC: + m_FileReader.reset(new CH264FrameReader()); + m_bIsCompleteFrame = true; + m_bPrintLatency = pParams->bCalLat; + break; + case MFX_CODEC_JPEG: + m_FileReader.reset(new CJPEGFrameReader()); + m_bIsCompleteFrame = true; + m_bPrintLatency = pParams->bCalLat; + break; +#if (MFX_VERSION < 2000) + case MFX_CODEC_VP8: +#endif + case MFX_CODEC_VP9: + case MFX_CODEC_AV1: + m_FileReader.reset(new CIVFFrameReader()); + m_bIsCompleteFrame = true; + m_bPrintLatency = pParams->bCalLat; + break; + default: + return MFX_ERR_UNSUPPORTED; // latency mode is supported only for H.264 and JPEG codecs + } + } + else { + switch (pParams->videoType) { +#if (MFX_VERSION < 2000) + case MFX_CODEC_VP8: +#endif + case MFX_CODEC_VP9: + case MFX_CODEC_AV1: + m_FileReader.reset(new CIVFFrameReader()); + break; + default: + m_FileReader.reset(new CSmplBitstreamReader()); + break; + } + } + + if (pParams->fourcc) + m_fourcc = pParams->fourcc; + +#ifdef LIBVA_SUPPORT + if (pParams->bPerfMode) + m_bPerfMode = true; +#endif + + if (pParams->Width) + m_vppOutWidth = pParams->Width; + if (pParams->Height) + m_vppOutHeight = pParams->Height; + +#if defined(LINUX32) || defined(LINUX64) + m_strDevicePath = pParams->strDevicePath; +#endif + + m_memType = pParams->memType; + + m_nMaxFps = pParams->nMaxFPS; + m_nFrames = pParams->nFrames ? pParams->nFrames : MFX_INFINITE; + + m_bOutI420 = pParams->outI420; + + m_nTimeout = pParams->nTimeout; + m_bSoftRobustFlag = pParams->bSoftRobustFlag; + + // Initializing file reader + totalBytesProcessed = 0; + sts = m_FileReader->Init(pParams->strSrcFile); + MSDK_CHECK_STATUS(sts, "m_FileReader->Init failed"); + + mfxInitParamlWrap initPar; + +#if (MFX_VERSION >= 2000) + initPar.Version.Major = (pParams->bUseHWLib == true) ? 1 : 2; + initPar.Version.Minor = 0; +#else + // we set version to 1.0 and later we will query actual version of the library which will got leaded + initPar.Version.Major = 1; + initPar.Version.Minor = 0; +#endif + + initPar.GPUCopy = pParams->gpuCopy; + + if (pParams->nThreadsNum) { + auto threadsPar = initPar.AddExtBuffer(); + threadsPar->NumThread = pParams->nThreadsNum; + } + if (pParams->SchedulingType) { + auto threadsPar = initPar.AddExtBuffer(); + threadsPar->SchedulingType = pParams->SchedulingType; + } + if (pParams->Priority) { + auto threadsPar = initPar.AddExtBuffer(); + threadsPar->Priority = pParams->Priority; + } + + if (pParams->eDeinterlace) { + m_diMode = pParams->eDeinterlace; + } + + if (pParams->bUseFullColorRange) { + m_bVppFullColorRange = pParams->bUseFullColorRange; + } + + bool bResolutionSpecified = + pParams->Width || pParams->Height; // potentially VPP can be inserted + + if (bResolutionSpecified) + m_bDecOutSysmem = pParams->bUseHWLib ? false : true; + else + m_bDecOutSysmem = pParams->memType == SYSTEM_MEMORY; + + m_eWorkMode = pParams->mode; + + m_monitorType = pParams->monitorType; + // create device and allocator +#if defined(LIBVA_SUPPORT) + m_libvaBackend = pParams->libvaBackend; +#endif // defined(MFX_LIBVA_SUPPORT) + + sts = GetImpl(*pParams, initPar.Implementation); + MSDK_CHECK_STATUS(sts, "GetImpl failed"); + + if (pParams->api2xDispatcher) { + // Initialize VPL session using 2.x smart dispatcher + // and CLI choice of target implementation + mfxVariant implValue; + implValue.Type = MFX_VARIANT_TYPE_U32; + if (!pParams->bUseHWLib) { + implValue.Data.U32 = MFX_IMPL_TYPE_SOFTWARE; + } + else { + implValue.Data.U32 = MFX_IMPL_TYPE_HARDWARE; + } + m_mfxLoader = MFXLoad(); + mfxConfig cfg = MFXCreateConfig(m_mfxLoader); + sts = MFXSetConfigFilterProperty( + cfg, + reinterpret_cast(const_cast("mfxImplDescription.Impl")), + implValue); + sts = MFXCreateSession(m_mfxLoader, 0, m_mfxSession.getSessionPtr()); + } + else { + sts = m_mfxSession.InitEx(initPar); + MSDK_CHECK_STATUS(sts, "m_mfxSession.InitEx failed"); + } + + mfxVersion version; + sts = m_mfxSession.QueryVersion(&version); // get real API version of the loaded library + MSDK_CHECK_STATUS(sts, "m_mfxSession.QueryVersion failed"); + + sts = m_mfxSession.QueryIMPL(&m_impl); // get actual library implementation + MSDK_CHECK_STATUS(sts, "m_mfxSession.QueryIMPL failed"); + + bool isDeviceRequired = false; + mfxHandleType hdl_t; +#if D3D_SURFACES_SUPPORT + isDeviceRequired = m_memType != SYSTEM_MEMORY || !m_bDecOutSysmem; + hdl_t = + #if MFX_D3D11_SUPPORT + D3D11_MEMORY == m_memType ? MFX_HANDLE_D3D11_DEVICE : + #endif // #if MFX_D3D11_SUPPORT + MFX_HANDLE_D3D9_DEVICE_MANAGER; +#elif LIBVA_SUPPORT + #if (MFX_VERSION >= 2000) + isDeviceRequired = pParams->bUseHWLib; + if (isDeviceRequired == true) + hdl_t = MFX_HANDLE_VA_DISPLAY; + #else + isDeviceRequired = true; // on Linux MediaSDK doesn't create device internally + hdl_t = MFX_HANDLE_VA_DISPLAY; + #endif +#endif + if (isDeviceRequired) { + sts = CreateHWDevice(); + MSDK_CHECK_STATUS(sts, "CreateHWDevice failed"); + mfxHDL hdl = NULL; + sts = m_hwdev->GetHandle(hdl_t, &hdl); + MSDK_CHECK_STATUS(sts, "m_hwdev->GetHandle failed"); + sts = m_mfxSession.SetHandle(hdl_t, hdl); + MSDK_CHECK_STATUS(sts, "m_mfxSession.SetHandle failed"); + } +#if (MFX_VERSION < 2000) + if (pParams->bIsMVC && !CheckVersion(&version, MSDK_FEATURE_MVC)) { + msdk_printf(MSDK_STRING("error: MVC is not supported in the %d.%d API version\n"), + version.Major, + version.Minor); + return MFX_ERR_UNSUPPORTED; + } + + if ((pParams->videoType == MFX_CODEC_JPEG) && + !CheckVersion(&version, MSDK_FEATURE_JPEG_DECODE)) { + msdk_printf(MSDK_STRING("error: Jpeg is not supported in the %d.%d API version\n"), + version.Major, + version.Minor); + return MFX_ERR_UNSUPPORTED; + } +#endif + if (pParams->bLowLat && !CheckVersion(&version, MSDK_FEATURE_LOW_LATENCY)) { + msdk_printf( + MSDK_STRING("error: Low Latency mode is not supported in the %d.%d API version\n"), + version.Major, + version.Minor); + return MFX_ERR_UNSUPPORTED; + } + + if (pParams->eDeinterlace && (pParams->eDeinterlace != MFX_DEINTERLACING_ADVANCED) && + (pParams->eDeinterlace != MFX_DEINTERLACING_BOB)) { + msdk_printf(MSDK_STRING("error: Unsupported deinterlace value: %d\n"), + pParams->eDeinterlace); + return MFX_ERR_UNSUPPORTED; + } + + if (pParams->bRenderWin) { + m_bRenderWin = pParams->bRenderWin; + // note: currently position is unsupported for Wayland +#if !defined(LIBVA_WAYLAND_SUPPORT) + m_nRenderWinX = pParams->nRenderWinX; + m_nRenderWinY = pParams->nRenderWinY; +#endif + } + + m_delayTicks = pParams->nMaxFPS ? msdk_time_get_frequency() / pParams->nMaxFPS : 0; + + // create decoder + m_pmfxDEC = new MFXVideoDECODE(m_mfxSession); + MSDK_CHECK_POINTER(m_pmfxDEC, MFX_ERR_MEMORY_ALLOC); + +#if (MFX_VERSION >= 2000) + // 2.x internal memory + m_bAPI2XInternalMem = pParams->api2xInternalMem; + if (m_bAPI2XInternalMem == true) { + // create internal memory allocator + m_pmfxMemory = new MFXMemory(m_mfxSession); + MSDK_CHECK_POINTER(m_pmfxMemory, MFX_ERR_MEMORY_ALLOC); + } + + // enable fused decvpp in decode + vpp pipeline pathway + m_bAPI2XDecVPP = pParams->api2xDecVPP; +#endif + + // set video type in parameters + m_mfxVideoParams.mfx.CodecId = pParams->videoType; +#if (MFX_VERSION < 2000) + if (CheckVersion(&version, MSDK_FEATURE_PLUGIN_API)) { + /* Here we actually define the following codec initialization scheme: + * 1. If plugin path or guid is specified: we load user-defined plugin (example: VP8 sample decoder plugin) + * 2. If plugin path not specified: + * 2.a) we check if codec is distributed as a mediasdk plugin and load it if yes + * 2.b) if codec is not in the list of mediasdk plugins, we assume, that it is supported inside mediasdk library + */ + // Load user plug-in, should go after CreateAllocator function (when all callbacks were initialized) + if (pParams->pluginParams.type == MFX_PLUGINLOAD_TYPE_FILE && + msdk_strnlen(pParams->pluginParams.strPluginPath, + sizeof(pParams->pluginParams.strPluginPath))) { + m_pUserModule.reset(new MFXVideoUSER(m_mfxSession)); + if (pParams->videoType == MFX_CODEC_HEVC || pParams->videoType == MFX_CODEC_VP8 || + pParams->videoType == MFX_CODEC_VP9) { + m_pPlugin.reset( + LoadPlugin(MFX_PLUGINTYPE_VIDEO_DECODE, + m_mfxSession, + pParams->pluginParams.pluginGuid, + 1, + pParams->pluginParams.strPluginPath, + (mfxU32)msdk_strnlen(pParams->pluginParams.strPluginPath, + sizeof(pParams->pluginParams.strPluginPath)))); + } + if (m_pPlugin.get() == NULL) + sts = MFX_ERR_UNSUPPORTED; + } + else { + bool isDefaultPlugin = false; + if (AreGuidsEqual(pParams->pluginParams.pluginGuid, MSDK_PLUGINGUID_NULL)) { + mfxIMPL impl = pParams->bUseHWLib ? MFX_IMPL_HARDWARE : MFX_IMPL_SOFTWARE; + pParams->pluginParams.pluginGuid = + msdkGetPluginUID(impl, MSDK_VDECODE, pParams->videoType); + isDefaultPlugin = true; + } + if (!AreGuidsEqual(pParams->pluginParams.pluginGuid, MSDK_PLUGINGUID_NULL)) { + m_pPlugin.reset(LoadPlugin(MFX_PLUGINTYPE_VIDEO_DECODE, + m_mfxSession, + pParams->pluginParams.pluginGuid, + 1)); + if (m_pPlugin.get() == NULL) + sts = MFX_ERR_UNSUPPORTED; + } + if (sts == MFX_ERR_UNSUPPORTED) { + msdk_printf( + MSDK_STRING("%s"), + isDefaultPlugin + ? MSDK_STRING( + "Default plugin cannot be loaded (possibly you have to define plugin explicitly)\n") + : MSDK_STRING("Explicitly specified plugin cannot be loaded.\n")); + } + } + MSDK_CHECK_STATUS(sts, "Plugin load failed"); + } + + #if (MFX_VERSION >= 1034) + m_mfxVideoParams.mfx.IgnoreLevelConstrain = pParams->bIgnoreLevelConstrain; + #endif +#endif + + // Populate parameters. Involves DecodeHeader call + sts = InitMfxParams(pParams); + MSDK_CHECK_STATUS(sts, "InitMfxParams failed"); + + if (m_bVppIsUsed) { + m_pmfxVPP = new MFXVideoVPP(m_mfxSession); + if (!m_pmfxVPP) + return MFX_ERR_MEMORY_ALLOC; + } + + if (m_eWorkMode == MODE_FILE_DUMP) { + // prepare YUV file writer + sts = m_FileWriter.Init(pParams->strDstFile, pParams->numViews); + MSDK_CHECK_STATUS(sts, "m_FileWriter.Init failed"); + } + else if ((m_eWorkMode != MODE_PERFORMANCE) && (m_eWorkMode != MODE_RENDERING)) { + msdk_printf(MSDK_STRING("error: unsupported work mode\n")); + return MFX_ERR_UNSUPPORTED; + } + + sts = CreateAllocator(); + MSDK_CHECK_STATUS(sts, "CreateAllocator failed"); + + // in case of HW accelerated decode frames must be allocated prior to decoder initialization + sts = AllocFrames(); + MSDK_CHECK_STATUS(sts, "AllocFrames failed"); + +#if (MFX_VERSION >= 2000) + if (m_bAPI2XDecVPP == true && m_bVppIsUsed == false) { + MSDK_CHECK_STATUS(MFX_ERR_UNSUPPORTED, + "Option -api2x_decvpp needs proper -w and -h values for vpp operation"); + } + + if (m_bAPI2XDecVPP == true) { + // create fused decodevpp instance + m_pmfxDecVPP = new MFXVideoDECODE_VPP(m_mfxSession); + MSDK_CHECK_POINTER(m_pmfxDecVPP, MFX_ERR_MEMORY_ALLOC); + + // enable only one vpp channel for now + m_numVPPCh = 1; + + m_pmfxVPPChParams = new mfxVideoChannelParam[m_numVPPCh]; + for (mfxU16 i = 0; i < m_numVPPCh; i++) + memset(&m_pmfxVPPChParams[i], 0, sizeof(mfxVideoChannelParam)); + + MSDK_MEMCPY_BUF(&m_pmfxVPPChParams[0].VPP, + 0, + sizeof(mfxFrameInfo), + &m_mfxVppVideoParams.vpp.Out, + sizeof(mfxFrameInfo)); + m_pmfxVPPChParams[0].VPP.ChannelId = 1; + m_pmfxVPPChParams[0].Protected = 0; + m_pmfxVPPChParams[0].IOPattern = + MFX_IOPATTERN_IN_SYSTEM_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + m_pmfxVPPChParams[0].ExtParam = NULL; + m_pmfxVPPChParams[0].NumExtParam = 0; + + sts = m_pmfxDecVPP->Init(&m_mfxVideoParams, &m_pmfxVPPChParams, m_numVPPCh); + MSDK_CHECK_STATUS(sts, "m_pmfxDecVPP.Init failed"); + + // output frames will be delivered in m_pDecVPPOutSurfaces->Surfaces[] + // m_pDecVPPOutSurfaces->Surfaces[0] : decode output + // m_pDecVPPOutSurfaces->Surfaces[1] : vpp output + m_pDecVPPOutSurfaces = new mfxSurfaceArray; + MSDK_CHECK_POINTER(m_pDecVPPOutSurfaces, MFX_ERR_MEMORY_ALLOC); + } + else { +#endif + sts = m_pmfxDEC->Init(&m_mfxVideoParams); + if (MFX_WRN_PARTIAL_ACCELERATION == sts) { + msdk_printf(MSDK_STRING("WARNING: partial acceleration\n")); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_PARTIAL_ACCELERATION); + } + MSDK_CHECK_STATUS(sts, "m_pmfxDEC->Init failed"); + + if (m_bVppIsUsed) { + if (m_diMode) + m_mfxVppVideoParams.vpp.Out.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; + + sts = m_pmfxVPP->Init(&m_mfxVppVideoParams); + if (MFX_WRN_PARTIAL_ACCELERATION == sts) { + msdk_printf(MSDK_STRING("WARNING: partial acceleration\n")); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_PARTIAL_ACCELERATION); + } + MSDK_CHECK_STATUS(sts, "m_pmfxVPP->Init failed"); + } + + sts = m_pmfxDEC->GetVideoParam(&m_mfxVideoParams); + MSDK_CHECK_STATUS(sts, "m_pmfxDEC->GetVideoParam failed"); +#if (MFX_VERSION >= 2000) + } +#endif + + if (m_eWorkMode == MODE_RENDERING) { + sts = CreateRenderingWindow(pParams); + MSDK_CHECK_STATUS(sts, "CreateRenderingWindow failed"); + } + + return sts; +} + +bool CDecodingPipeline::IsVppRequired(sInputParams *pParams) { + bool bVppIsUsed = false; + /* Re-size */ + if ((m_mfxVideoParams.mfx.FrameInfo.CropW != pParams->Width) || + (m_mfxVideoParams.mfx.FrameInfo.CropH != pParams->Height)) { + bVppIsUsed = pParams->Width && pParams->Height; +#if MFX_VERSION >= 1022 + if ((MODE_DECODER_POSTPROC_AUTO == pParams->nDecoderPostProcessing) || + (MODE_DECODER_POSTPROC_FORCE == pParams->nDecoderPostProcessing)) { + /* Decoder will make decision about internal post-processing usage slightly later */ + bVppIsUsed = false; + } +#endif //MFX_VERSION >= 1022 + } + + // JPEG and Capture decoders can provide output in nv12 and rgb4 formats + if (pParams->videoType == MFX_CODEC_JPEG) { + bVppIsUsed |= m_fourcc && (m_fourcc != MFX_FOURCC_NV12) && (m_fourcc != MFX_FOURCC_RGB4); + } + else { + bVppIsUsed |= m_fourcc && (m_fourcc != m_mfxVideoParams.mfx.FrameInfo.FourCC); + } + + if (pParams->eDeinterlace) { + bVppIsUsed = true; + } + return bVppIsUsed; +} + +void CDecodingPipeline::Close() { +#if D3D_SURFACES_SUPPORT + m_d3dRender.Close(); +#endif + MSDK_SAFE_DELETE(m_pmfxDEC); + MSDK_SAFE_DELETE(m_pmfxVPP); + +#if (MFX_VERSION >= 2000) + if (m_bAPI2XInternalMem == true) { + MSDK_SAFE_DELETE(m_pmfxMemory); + } + if (m_bAPI2XDecVPP == true) { + MSDK_SAFE_DELETE(m_pDecVPPOutSurfaces); + MSDK_SAFE_DELETE(m_pmfxDecVPP); + MSDK_SAFE_DELETE_ARRAY(m_pmfxVPPChParams); + } +#endif + + DeleteFrames(); + +#if (MFX_VERSION < 2000) + DeallocateExtMVCBuffers(); + + m_pPlugin.reset(); +#endif + m_mfxSession.Close(); + if (m_mfxLoader) + MFXUnload(m_mfxLoader); + m_FileWriter.Close(); + if (m_FileReader.get()) + m_FileReader->Close(); + + auto vppExtParams = m_mfxVppVideoParams.GetExtBuffer(); + if (vppExtParams) + MSDK_SAFE_DELETE_ARRAY(vppExtParams->AlgList); + + // allocator if used as external for MediaSDK must be deleted after decoder + DeleteAllocator(); + + return; +} + +mfxStatus CDecodingPipeline::CreateRenderingWindow(sInputParams *pParams) { + mfxStatus sts = MFX_ERR_NONE; + +#if D3D_SURFACES_SUPPORT + sWindowParams windowParams; + + windowParams.lpWindowName = pParams->bWallNoTitle ? NULL : MSDK_STRING("sample_decode"); + windowParams.nx = pParams->nWallW; + windowParams.ny = pParams->nWallH; + if (m_bVppIsUsed) { + windowParams.nWidth = m_mfxVppVideoParams.vpp.Out.Width; + windowParams.nHeight = m_mfxVppVideoParams.vpp.Out.Height; + } + else { + windowParams.nWidth = m_mfxVideoParams.mfx.FrameInfo.Width; + windowParams.nHeight = m_mfxVideoParams.mfx.FrameInfo.Height; + } + + windowParams.ncell = pParams->nWallCell; + windowParams.nAdapter = pParams->nWallMonitor; + + windowParams.lpClassName = MSDK_STRING("Render Window Class"); + windowParams.dwStyle = WS_OVERLAPPEDWINDOW; + windowParams.hWndParent = NULL; + windowParams.hMenu = NULL; + windowParams.hInstance = GetModuleHandle(NULL); + windowParams.lpParam = NULL; + windowParams.bFullScreen = FALSE; + + sts = m_d3dRender.Init(windowParams); + MSDK_CHECK_STATUS(sts, "m_d3dRender.Init failed"); + + //setting videowall flag + m_bIsVideoWall = 0 != windowParams.nx; + +#endif + return sts; +} + +mfxStatus CDecodingPipeline::InitMfxParams(sInputParams *pParams) { + MSDK_CHECK_POINTER(m_pmfxDEC, MFX_ERR_NULL_PTR); + mfxStatus sts = MFX_ERR_NONE; + mfxU32 &numViews = pParams->numViews; + +#if (MFX_VERSION >= 1025) + if (pParams->bErrorReport) { + auto decErrorReport = m_mfxBS.AddExtBuffer(); + MSDK_CHECK_POINTER(decErrorReport, MFX_ERR_MEMORY_ALLOC); + } +#endif + + if (m_mfxVideoParams.mfx.CodecId == MFX_CODEC_VP9) + m_mfxVideoParams.mfx.EnableReallocRequest = MFX_CODINGOPTION_ON; + + // try to find a sequence header in the stream + // if header is not found this function exits with error (e.g. if device was lost and there's no header in the remaining stream) + for (;;) { + // trying to find PicStruct information in AVI headers + if (m_mfxVideoParams.mfx.CodecId == MFX_CODEC_JPEG) + MJPEG_AVI_ParsePicStruct(&m_mfxBS); +#if (MFX_VERSION >= 1025) + if (pParams->bErrorReport) { + auto errorReport = m_mfxBS.GetExtBuffer(); + MSDK_CHECK_POINTER(errorReport, MFX_ERR_NOT_INITIALIZED); + + errorReport->ErrorTypes = 0; + + // parse bit stream and fill mfx params + sts = m_pmfxDEC->DecodeHeader(&m_mfxBS, &m_mfxVideoParams); + + PrintDecodeErrorReport(errorReport); + } + else +#endif + { + // parse bit stream and fill mfx params + sts = m_pmfxDEC->DecodeHeader(&m_mfxBS, &m_mfxVideoParams); + } + + if (MFX_ERR_NONE == sts) { + m_bVppIsUsed = IsVppRequired(pParams); + } +#if (MFX_VERSION < 2000) + if (MFX_ERR_NONE == sts && !(m_impl & MFX_IMPL_SOFTWARE) && // hw lib + (m_mfxVideoParams.mfx.FrameInfo.BitDepthLuma == 10) && // hevc 10 bit + (m_mfxVideoParams.mfx.CodecId == MFX_CODEC_HEVC) && + AreGuidsEqual(pParams->pluginParams.pluginGuid, + MFX_PLUGINID_HEVCD_SW) && // sw hevc decoder + m_bVppIsUsed) { + sts = MFX_ERR_UNSUPPORTED; + msdk_printf(MSDK_STRING( + "Error: Combination of (SW HEVC plugin in 10bit mode + HW lib VPP) isn't supported. Use -sw option.\n")); + } + if (m_pPlugin.get() && pParams->videoType == CODEC_VP8 && MFX_ERR_NONE == sts) { + // force set format to nv12 as the vp8 plugin uses yv12 + m_mfxVideoParams.mfx.FrameInfo.FourCC = MFX_FOURCC_NV12; + } +#endif + if (MFX_ERR_MORE_DATA == sts) { + if (m_mfxBS.MaxLength == m_mfxBS.DataLength) { + m_mfxBS.Extend(m_mfxBS.MaxLength * 2); + } + // read a portion of data + totalBytesProcessed += m_mfxBS.DataOffset; + sts = m_FileReader->ReadNextFrame(&m_mfxBS); + MSDK_CHECK_STATUS(sts, "m_FileReader->ReadNextFrame failed"); + + continue; + } + else { +#if (MFX_VERSION < 2000) + // Enter MVC mode + if (m_bIsMVC) { + // Check for attached external parameters - if we have them already, + // we don't need to attach them again + if (NULL != m_mfxVideoParams.ExtParam) + break; + + auto mvcSeqDesc = m_mfxVideoParams.AddExtBuffer(); + MSDK_CHECK_POINTER(mvcSeqDesc, MFX_ERR_MEMORY_ALLOC); + + sts = m_pmfxDEC->DecodeHeader(&m_mfxBS, &m_mfxVideoParams); + + if (MFX_ERR_NOT_ENOUGH_BUFFER == sts) { + sts = AllocateExtMVCBuffers(); + + MSDK_CHECK_STATUS(sts, "AllocateExtMVCBuffers failed"); + MSDK_CHECK_POINTER(m_mfxVideoParams.ExtParam, MFX_ERR_MEMORY_ALLOC); + continue; + } + } +#endif + // if input is interlaced JPEG stream + if (m_mfxBS.PicStruct == MFX_PICSTRUCT_FIELD_TFF || + m_mfxBS.PicStruct == MFX_PICSTRUCT_FIELD_BFF) { + m_mfxVideoParams.mfx.FrameInfo.CropH *= 2; + m_mfxVideoParams.mfx.FrameInfo.Height = + MSDK_ALIGN16(m_mfxVideoParams.mfx.FrameInfo.CropH); + m_mfxVideoParams.mfx.FrameInfo.PicStruct = m_mfxBS.PicStruct; + } + + switch (pParams->nRotation) { + case 0: + m_mfxVideoParams.mfx.Rotation = MFX_ROTATION_0; + break; + case 90: + m_mfxVideoParams.mfx.Rotation = MFX_ROTATION_90; + break; + case 180: + m_mfxVideoParams.mfx.Rotation = MFX_ROTATION_180; + break; + case 270: + m_mfxVideoParams.mfx.Rotation = MFX_ROTATION_270; + break; + default: + return MFX_ERR_UNSUPPORTED; + } + + break; + } + } + + // check DecodeHeader status + if (MFX_WRN_PARTIAL_ACCELERATION == sts) { + msdk_printf(MSDK_STRING("WARNING: partial acceleration\n")); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_PARTIAL_ACCELERATION); + } + MSDK_CHECK_STATUS(sts, "m_pmfxDEC->DecodeHeader failed"); + + if (!m_mfxVideoParams.mfx.FrameInfo.FrameRateExtN || + !m_mfxVideoParams.mfx.FrameInfo.FrameRateExtD) { + msdk_printf(MSDK_STRING("pretending that stream is 30fps one\n")); + m_mfxVideoParams.mfx.FrameInfo.FrameRateExtN = 30; + m_mfxVideoParams.mfx.FrameInfo.FrameRateExtD = 1; + } + if (!m_mfxVideoParams.mfx.FrameInfo.AspectRatioW || + !m_mfxVideoParams.mfx.FrameInfo.AspectRatioH) { + msdk_printf(MSDK_STRING("pretending that aspect ratio is 1:1\n")); + m_mfxVideoParams.mfx.FrameInfo.AspectRatioW = 1; + m_mfxVideoParams.mfx.FrameInfo.AspectRatioH = 1; + } + + // Videoparams for RGB4 JPEG decoder output + if ((pParams->fourcc == MFX_FOURCC_RGB4) && (pParams->videoType == MFX_CODEC_JPEG)) { + m_mfxVideoParams.mfx.FrameInfo.FourCC = MFX_FOURCC_RGB4; + m_mfxVideoParams.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV444; + if (pParams->chromaType == MFX_JPEG_COLORFORMAT_RGB) { + m_mfxVideoParams.mfx.JPEGColorFormat = pParams->chromaType; + } + } + + // specify memory type + if (!m_bVppIsUsed) + m_mfxVideoParams.IOPattern = + (mfxU16)(m_memType != SYSTEM_MEMORY ? MFX_IOPATTERN_OUT_VIDEO_MEMORY + : MFX_IOPATTERN_OUT_SYSTEM_MEMORY); + else + m_mfxVideoParams.IOPattern = (mfxU16)(pParams->bUseHWLib ? MFX_IOPATTERN_OUT_VIDEO_MEMORY + : MFX_IOPATTERN_OUT_SYSTEM_MEMORY); + +#if MFX_VERSION >= 1022 + /* Lets make final decision how to use VPP...*/ + if (!m_bVppIsUsed) { + if ((m_mfxVideoParams.mfx.FrameInfo.CropW != pParams->Width && pParams->Width) || + (m_mfxVideoParams.mfx.FrameInfo.CropH != pParams->Height && pParams->Height) || + (pParams->nDecoderPostProcessing && pParams->videoType == MFX_CODEC_JPEG && + pParams->fourcc == MFX_FOURCC_RGB4 && + // No need to use decoder's post processing for decoding of JPEG with RGB 4:4:4 + // to MFX_FOURCC_RGB4, because this decoding is done in one step + // In every other case, color conversion is required, so try decoder's post processing. + !(m_mfxVideoParams.mfx.JPEGColorFormat == MFX_JPEG_COLORFORMAT_RGB && + m_mfxVideoParams.mfx.FrameInfo.ChromaFormat == MFX_CHROMAFORMAT_YUV444))) { + /* By default VPP used for resize */ + m_bVppIsUsed = true; + /* But... lets try to use decoder's post processing */ + if (((MODE_DECODER_POSTPROC_AUTO == pParams->nDecoderPostProcessing) || + (MODE_DECODER_POSTPROC_FORCE == pParams->nDecoderPostProcessing)) && + (MFX_CODEC_AVC == m_mfxVideoParams.mfx.CodecId || + MFX_CODEC_JPEG == m_mfxVideoParams.mfx.CodecId) && /* Only for AVC and JPEG */ + (MFX_PICSTRUCT_PROGRESSIVE == + m_mfxVideoParams.mfx.FrameInfo.PicStruct)) /* ...And only for progressive!*/ + { /* it is possible to use decoder's post-processing */ + + // JPEG only suppoted w/o resize, so use W/H from DecodeHeader(), if they are not set + if (MFX_CODEC_JPEG == m_mfxVideoParams.mfx.CodecId && + (!pParams->Width || !pParams->Height)) { + pParams->Width = m_mfxVideoParams.mfx.FrameInfo.CropW; + pParams->Height = m_mfxVideoParams.mfx.FrameInfo.CropH; + } + + m_bVppIsUsed = false; + auto decPostProcessing = m_mfxVideoParams.AddExtBuffer(); + MSDK_CHECK_POINTER(decPostProcessing, MFX_ERR_MEMORY_ALLOC); + + decPostProcessing->In.CropX = 0; + decPostProcessing->In.CropY = 0; + decPostProcessing->In.CropW = m_mfxVideoParams.mfx.FrameInfo.CropW; + decPostProcessing->In.CropH = m_mfxVideoParams.mfx.FrameInfo.CropH; + + decPostProcessing->Out.FourCC = m_mfxVideoParams.mfx.FrameInfo.FourCC; + decPostProcessing->Out.ChromaFormat = m_mfxVideoParams.mfx.FrameInfo.ChromaFormat; + decPostProcessing->Out.Width = MSDK_ALIGN16(pParams->Width); + decPostProcessing->Out.Height = MSDK_ALIGN16(pParams->Height); + decPostProcessing->Out.CropX = 0; + decPostProcessing->Out.CropY = 0; + decPostProcessing->Out.CropW = pParams->Width; + decPostProcessing->Out.CropH = pParams->Height; + + msdk_printf(MSDK_STRING("Decoder's post-processing is used for resizing\n")); + } + /* POSTPROC_FORCE */ + if (MODE_DECODER_POSTPROC_FORCE == pParams->nDecoderPostProcessing && m_bVppIsUsed) { + /* it is impossible to use decoder's post-processing */ + msdk_printf(MSDK_STRING( + "ERROR: decoder postprocessing (-dec_postproc forced) cannot be used for this stream!\n")); + return MFX_ERR_UNSUPPORTED; + } + if ((m_bVppIsUsed) && (MODE_DECODER_POSTPROC_AUTO == pParams->nDecoderPostProcessing)) + msdk_printf(MSDK_STRING( + "Decoder post-processing is unsupported for this stream, VPP is used\n")); + } + } +#endif //MFX_VERSION >= 1022 + +#if (MFX_VERSION < 2000) + // If MVC mode we need to detect number of views in stream + if (m_bIsMVC) { + auto sequenceBuffer = m_mfxVideoParams.GetExtBuffer(); + MSDK_CHECK_POINTER(sequenceBuffer, MFX_ERR_INVALID_VIDEO_PARAM); + + mfxU32 i = 0; + numViews = 0; + for (i = 0; i < sequenceBuffer->NumView; ++i) { + /* Some MVC streams can contain different information about + number of views and view IDs, e.x. numVews = 2 + and ViewId[0, 1] = 0, 2 instead of ViewId[0, 1] = 0, 1. + numViews should be equal (max(ViewId[i]) + 1) + to prevent crashes during output files writing */ + if (sequenceBuffer->View[i].ViewId >= numViews) + numViews = sequenceBuffer->View[i].ViewId + 1; + } + } + else { + numViews = 1; + } +#else + numViews = 1; +#endif + m_mfxVideoParams.AsyncDepth = pParams->nAsyncDepth; + + return MFX_ERR_NONE; +} + +mfxStatus CDecodingPipeline::InitVppFilters() { + auto vppExtParams = m_mfxVppVideoParams.AddExtBuffer(); + MSDK_CHECK_POINTER(vppExtParams, MFX_ERR_MEMORY_ALLOC); + + vppExtParams->NumAlg = 4; + + /* In case of Reset() this code called twice! + * But required to have only one allocation to prevent memleaks + * Deallocation done in Close() */ + if (NULL == vppExtParams->AlgList) + vppExtParams->AlgList = new mfxU32[vppExtParams->NumAlg]; + + if (!vppExtParams->AlgList) + return MFX_ERR_NULL_PTR; + + vppExtParams->AlgList[0] = MFX_EXTBUFF_VPP_DENOISE; // turn off denoising (on by default) + vppExtParams->AlgList[1] = + MFX_EXTBUFF_VPP_SCENE_ANALYSIS; // turn off scene analysis (on by default) + vppExtParams->AlgList[2] = + MFX_EXTBUFF_VPP_DETAIL; // turn off detail enhancement (on by default) + vppExtParams->AlgList[3] = + MFX_EXTBUFF_VPP_PROCAMP; // turn off processing amplified (on by default) + + if (m_diMode) { + auto vppDi = m_mfxVppVideoParams.AddExtBuffer(); + MSDK_CHECK_POINTER(vppDi, MFX_ERR_MEMORY_ALLOC); + + vppDi->Mode = m_diMode; + } + + return MFX_ERR_NONE; +} + +mfxStatus CDecodingPipeline::InitVppParams() { + m_mfxVppVideoParams.IOPattern = + (mfxU16)(m_bDecOutSysmem ? MFX_IOPATTERN_IN_SYSTEM_MEMORY : MFX_IOPATTERN_IN_VIDEO_MEMORY); + + m_mfxVppVideoParams.IOPattern |= (m_memType != SYSTEM_MEMORY) ? MFX_IOPATTERN_OUT_VIDEO_MEMORY + : MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + + MSDK_MEMCPY_VAR(m_mfxVppVideoParams.vpp.In, + &m_mfxVideoParams.mfx.FrameInfo, + sizeof(mfxFrameInfo)); + MSDK_MEMCPY_VAR(m_mfxVppVideoParams.vpp.Out, &m_mfxVppVideoParams.vpp.In, sizeof(mfxFrameInfo)); + + if (m_fourcc) { + m_mfxVppVideoParams.vpp.Out.FourCC = m_fourcc; + } + + if (m_vppOutWidth && m_vppOutHeight) { + m_mfxVppVideoParams.vpp.Out.CropW = m_vppOutWidth; + m_mfxVppVideoParams.vpp.Out.Width = MSDK_ALIGN16(m_vppOutWidth); + m_mfxVppVideoParams.vpp.Out.CropH = m_vppOutHeight; + m_mfxVppVideoParams.vpp.Out.Height = + (MFX_PICSTRUCT_PROGRESSIVE == m_mfxVppVideoParams.vpp.Out.PicStruct) + ? MSDK_ALIGN16(m_vppOutHeight) + : MSDK_ALIGN32(m_vppOutHeight); +#if (MFX_VERSION >= 2000) + if (m_impl & MFX_IMPL_SOFTWARE) { // for vpl + m_mfxVppVideoParams.vpp.Out.Height = m_vppOutHeight; + } +#endif + } + + m_mfxVppVideoParams.AsyncDepth = m_mfxVideoParams.AsyncDepth; + + m_VppSurfaceExtParams.clear(); + if (m_bVppFullColorRange) { + //Let MSDK figure out the transfer matrix to use + m_VppVideoSignalInfo.TransferMatrix = MFX_TRANSFERMATRIX_UNKNOWN; + m_VppVideoSignalInfo.NominalRange = MFX_NOMINALRANGE_0_255; + + m_VppSurfaceExtParams.push_back((mfxExtBuffer *)&m_VppVideoSignalInfo); + } + + // P010 video surfaces should be shifted + if (m_memType != SYSTEM_MEMORY && (m_mfxVppVideoParams.vpp.Out.FourCC == MFX_FOURCC_P010 +#if (MFX_VERSION >= 1027) + || m_mfxVppVideoParams.vpp.Out.FourCC == MFX_FOURCC_Y210 +#endif +#if (MFX_VERSION >= 1031) + || m_mfxVppVideoParams.vpp.Out.FourCC == MFX_FOURCC_P016 || + m_mfxVppVideoParams.vpp.Out.FourCC == MFX_FOURCC_Y216 || + m_mfxVppVideoParams.vpp.Out.FourCC == MFX_FOURCC_Y416 +#endif + )) { + m_mfxVppVideoParams.vpp.Out.Shift = 1; + } + + return MFX_ERR_NONE; +} + +mfxStatus CDecodingPipeline::CreateHWDevice() { +#if D3D_SURFACES_SUPPORT + mfxStatus sts = MFX_ERR_NONE; + + HWND window = NULL; + bool render = (m_eWorkMode == MODE_RENDERING); + + if (render) { + window = (D3D11_MEMORY == m_memType) ? NULL : m_d3dRender.GetWindowHandle(); + } + + #if MFX_D3D11_SUPPORT + if (D3D11_MEMORY == m_memType) + m_hwdev = new CD3D11Device(); + else + #endif // #if MFX_D3D11_SUPPORT + m_hwdev = new CD3D9Device(); + + if (NULL == m_hwdev) + return MFX_ERR_MEMORY_ALLOC; + + sts = m_hwdev->Init(window, + render ? (m_bIsMVC ? 2 : 1) : 0, + MSDKAdapter::GetNumber(m_mfxSession)); + MSDK_CHECK_STATUS(sts, "m_hwdev->Init failed"); + + if (render) + m_d3dRender.SetHWDevice(m_hwdev); +#elif LIBVA_SUPPORT + mfxStatus sts = MFX_ERR_NONE; + m_hwdev = CreateVAAPIDevice(m_strDevicePath, m_libvaBackend); + + if (NULL == m_hwdev) { + return MFX_ERR_MEMORY_ALLOC; + } + + sts = m_hwdev->Init(&m_monitorType, + (m_eWorkMode == MODE_RENDERING) ? 1 : 0, + MSDKAdapter::GetNumber(m_mfxSession)); + MSDK_CHECK_STATUS(sts, "m_hwdev->Init failed"); + + #if defined(LIBVA_WAYLAND_SUPPORT) + if (m_eWorkMode == MODE_RENDERING && m_libvaBackend == MFX_LIBVA_WAYLAND) { + CVAAPIDeviceWayland *w_dev = dynamic_cast(m_hwdev); + if (!w_dev) { + MSDK_CHECK_STATUS(MFX_ERR_DEVICE_FAILED, "Failed to reach Wayland VAAPI device"); + } + Wayland *wld = w_dev->GetWaylandHandle(); + if (!wld) { + MSDK_CHECK_STATUS(MFX_ERR_DEVICE_FAILED, "Failed to reach Wayland VAAPI device"); + } + + wld->SetRenderWinPos(m_nRenderWinX, m_nRenderWinY); + wld->SetPerfMode(m_bPerfMode); + } + #endif //LIBVA_WAYLAND_SUPPORT + +#endif + return MFX_ERR_NONE; +} + +mfxStatus CDecodingPipeline::ResetDevice() { + if (m_hwdev) + return m_hwdev->Reset(); + + return CreateHWDevice(); +} + +mfxStatus CDecodingPipeline::AllocFrames() { + MSDK_CHECK_POINTER(m_pmfxDEC, MFX_ERR_NULL_PTR); + + mfxStatus sts = MFX_ERR_NONE; + + mfxFrameAllocRequest Request; + mfxFrameAllocRequest VppRequest[2]; + + mfxU16 nSurfNum = 0; // number of surfaces for decoder + mfxU16 nVppSurfNum = 0; // number of surfaces for vpp + + MSDK_ZERO_MEMORY(Request); + + MSDK_ZERO_MEMORY(VppRequest[0]); + MSDK_ZERO_MEMORY(VppRequest[1]); + + sts = m_pmfxDEC->Query(&m_mfxVideoParams, &m_mfxVideoParams); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_INCOMPATIBLE_VIDEO_PARAM); + MSDK_CHECK_STATUS(sts, "m_pmfxDEC->Query failed"); + + // calculate number of surfaces required for decoder + sts = m_pmfxDEC->QueryIOSurf(&m_mfxVideoParams, &Request); + if (MFX_WRN_PARTIAL_ACCELERATION == sts) { + msdk_printf(MSDK_STRING("WARNING: partial acceleration\n")); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_PARTIAL_ACCELERATION); + m_bDecOutSysmem = true; + } + MSDK_CHECK_STATUS(sts, "m_pmfxDEC->QueryIOSurf failed"); + + if (m_nMaxFps) { + // Add surfaces for rendering smoothness + Request.NumFrameSuggested += m_nMaxFps / 3; + } + + if (m_bVppIsUsed) { + // respecify memory type between Decoder and VPP + m_mfxVideoParams.IOPattern = (mfxU16)(m_bDecOutSysmem ? MFX_IOPATTERN_OUT_SYSTEM_MEMORY + : MFX_IOPATTERN_OUT_VIDEO_MEMORY); + + // recalculate number of surfaces required for decoder + sts = m_pmfxDEC->QueryIOSurf(&m_mfxVideoParams, &Request); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_PARTIAL_ACCELERATION); + MSDK_CHECK_STATUS(sts, "m_pmfxDEC->QueryIOSurf failed"); + + sts = InitVppParams(); + MSDK_CHECK_STATUS(sts, "InitVppParams failed"); + + sts = m_pmfxVPP->Query(&m_mfxVppVideoParams, &m_mfxVppVideoParams); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_INCOMPATIBLE_VIDEO_PARAM); + MSDK_CHECK_STATUS(sts, "m_pmfxVPP->Query failed"); + + // VppRequest[0] for input frames request, VppRequest[1] for output frames request + sts = m_pmfxVPP->QueryIOSurf(&m_mfxVppVideoParams, VppRequest); + if (MFX_WRN_PARTIAL_ACCELERATION == sts) { + msdk_printf(MSDK_STRING("WARNING: partial acceleration\n")); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_PARTIAL_ACCELERATION); + } + MSDK_CHECK_STATUS(sts, "m_pmfxVPP->QueryIOSurf failed"); + + if ((VppRequest[0].NumFrameSuggested < m_mfxVppVideoParams.AsyncDepth) || + (VppRequest[1].NumFrameSuggested < m_mfxVppVideoParams.AsyncDepth)) + return MFX_ERR_MEMORY_ALLOC; + + // If surfaces are shared by 2 components, c1 and c2. NumSurf = c1_out + c2_in - AsyncDepth + 1 + // The number of surfaces shared by vpp input and decode output + nSurfNum = Request.NumFrameSuggested + VppRequest[0].NumFrameSuggested - + m_mfxVideoParams.AsyncDepth + 1; + + // The number of surfaces for vpp output. + // Need to add one more surface in render mode if AsyncDepth == 1 + nVppSurfNum = VppRequest[1].NumFrameSuggested + + (m_eWorkMode == MODE_RENDERING ? m_mfxVideoParams.AsyncDepth == 1 : 0); + + // prepare allocation request + Request.NumFrameSuggested = Request.NumFrameMin = nSurfNum; + + // surfaces are shared between vpp input and decode output + Request.Type = + MFX_MEMTYPE_EXTERNAL_FRAME | MFX_MEMTYPE_FROM_DECODE | MFX_MEMTYPE_FROM_VPPIN; + } + + if ((Request.NumFrameSuggested < m_mfxVideoParams.AsyncDepth) && + (m_impl & MFX_IMPL_HARDWARE_ANY)) + return MFX_ERR_MEMORY_ALLOC; + + Request.Type |= + (m_bDecOutSysmem) ? MFX_MEMTYPE_SYSTEM_MEMORY : MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET; + +#ifdef LIBVA_SUPPORT + if (!m_bVppIsUsed && (m_export_mode != vaapiAllocatorParams::DONOT_EXPORT)) { + Request.Type |= MFX_MEMTYPE_EXPORT_FRAME; + } +#endif + + // alloc frames for decoder + sts = m_pGeneralAllocator->Alloc(m_pGeneralAllocator->pthis, &Request, &m_mfxResponse); + MSDK_CHECK_STATUS(sts, "m_pGeneralAllocator->Alloc failed"); + + if (m_bVppIsUsed) { + // alloc frames for VPP +#ifdef LIBVA_SUPPORT + if (m_export_mode != vaapiAllocatorParams::DONOT_EXPORT) { + VppRequest[1].Type |= MFX_MEMTYPE_EXPORT_FRAME; + } +#endif + VppRequest[1].NumFrameSuggested = VppRequest[1].NumFrameMin = nVppSurfNum; + MSDK_MEMCPY_VAR(VppRequest[1].Info, &(m_mfxVppVideoParams.vpp.Out), sizeof(mfxFrameInfo)); + + sts = m_pGeneralAllocator->Alloc(m_pGeneralAllocator->pthis, + &VppRequest[1], + &m_mfxVppResponse); + MSDK_CHECK_STATUS(sts, "m_pGeneralAllocator->Alloc failed"); + + // prepare mfxFrameSurface1 array for decoder + nVppSurfNum = m_mfxVppResponse.NumFrameActual; + + // AllocVppBuffers should call before AllocBuffers to set the value of m_OutputSurfacesNumber + sts = AllocVppBuffers(nVppSurfNum); + MSDK_CHECK_STATUS(sts, "AllocVppBuffers failed"); + } + + // prepare mfxFrameSurface1 array for decoder + nSurfNum = m_mfxResponse.NumFrameActual; + + sts = AllocBuffers(nSurfNum); + MSDK_CHECK_STATUS(sts, "AllocBuffers failed"); + + for (int i = 0; i < nSurfNum; i++) { + // initating each frame: + MSDK_MEMCPY_VAR(m_pSurfaces[i].frame.Info, &(Request.Info), sizeof(mfxFrameInfo)); + m_pSurfaces[i].frame.Data.MemType = Request.Type; + if (m_bExternalAlloc) { + m_pSurfaces[i].frame.Data.MemId = m_mfxResponse.mids[i]; + if (m_bVppFullColorRange) { + m_pSurfaces[i].frame.Data.ExtParam = &m_VppSurfaceExtParams[0]; + m_pSurfaces[i].frame.Data.NumExtParam = (mfxU16)m_VppSurfaceExtParams.size(); + } + } + } + + // prepare mfxFrameSurface1 array for VPP + for (int i = 0; i < nVppSurfNum; i++) { + MSDK_MEMCPY_VAR(m_pVppSurfaces[i].frame.Info, &(VppRequest[1].Info), sizeof(mfxFrameInfo)); + if (m_bExternalAlloc) { + m_pVppSurfaces[i].frame.Data.MemId = m_mfxVppResponse.mids[i]; + if (m_bVppFullColorRange) { + m_pVppSurfaces[i].frame.Data.ExtParam = &m_VppSurfaceExtParams[0]; + m_pVppSurfaces[i].frame.Data.NumExtParam = (mfxU16)m_VppSurfaceExtParams.size(); + } + } + } + return MFX_ERR_NONE; +} + +mfxStatus CDecodingPipeline::ReallocCurrentSurface(const mfxFrameInfo &info) { + mfxStatus sts = MFX_ERR_NONE; + mfxMemId inMid = nullptr; + mfxMemId outMid = nullptr; + + if (!m_pGeneralAllocator) + return MFX_ERR_MEMORY_ALLOC; + + m_pCurrentFreeSurface->frame.Info.CropW = info.CropW; + m_pCurrentFreeSurface->frame.Info.CropH = info.CropH; + if (info.Width > m_mfxVideoParams.mfx.FrameInfo.Width) { + m_mfxVideoParams.mfx.FrameInfo.Width = MSDK_ALIGN16(info.Width); + } + else { + m_mfxVideoParams.mfx.FrameInfo.Width = MSDK_ALIGN16(m_mfxVideoParams.mfx.FrameInfo.Width); + } + + if (info.Height > m_mfxVideoParams.mfx.FrameInfo.Height) { + m_mfxVideoParams.mfx.FrameInfo.Height = MSDK_ALIGN16(info.Height); + } + else { + m_mfxVideoParams.mfx.FrameInfo.Height = MSDK_ALIGN16(m_mfxVideoParams.mfx.FrameInfo.Height); + } + + m_pCurrentFreeSurface->frame.Info.Width = m_mfxVideoParams.mfx.FrameInfo.Width; + m_pCurrentFreeSurface->frame.Info.Height = m_mfxVideoParams.mfx.FrameInfo.Height; + + inMid = m_pCurrentFreeSurface->frame.Data.MemId; + + sts = m_pGeneralAllocator->ReallocFrame(inMid, + &m_pCurrentFreeSurface->frame.Info, + m_pCurrentFreeSurface->frame.Data.MemType, + &outMid); + if (MFX_ERR_NONE == sts) + m_pCurrentFreeSurface->frame.Data.MemId = outMid; + + return sts; +} + +mfxStatus CDecodingPipeline::CreateAllocator() { + mfxStatus sts = MFX_ERR_NONE; + + m_pGeneralAllocator = new GeneralAllocator(); + if (m_memType != SYSTEM_MEMORY || !m_bDecOutSysmem) { +#if D3D_SURFACES_SUPPORT + mfxHDL hdl = NULL; + mfxHandleType hdl_t = + #if MFX_D3D11_SUPPORT + D3D11_MEMORY == m_memType ? MFX_HANDLE_D3D11_DEVICE : + #endif // #if MFX_D3D11_SUPPORT + MFX_HANDLE_D3D9_DEVICE_MANAGER; + + sts = m_hwdev->GetHandle(hdl_t, &hdl); + MSDK_CHECK_STATUS(sts, "m_hwdev->GetHandle failed"); + + // create D3D allocator + #if MFX_D3D11_SUPPORT + if (D3D11_MEMORY == m_memType) { + D3D11AllocatorParams *pd3dAllocParams = new D3D11AllocatorParams; + MSDK_CHECK_POINTER(pd3dAllocParams, MFX_ERR_MEMORY_ALLOC); + pd3dAllocParams->pDevice = reinterpret_cast(hdl); + + m_pmfxAllocatorParams = pd3dAllocParams; + } + else + #endif // #if MFX_D3D11_SUPPORT + { + D3DAllocatorParams *pd3dAllocParams = new D3DAllocatorParams; + MSDK_CHECK_POINTER(pd3dAllocParams, MFX_ERR_MEMORY_ALLOC); + pd3dAllocParams->pManager = reinterpret_cast(hdl); + + m_pmfxAllocatorParams = pd3dAllocParams; + } + + /* In case of video memory we must provide MediaSDK with external allocator + thus we demonstrate "external allocator" usage model. + Call SetAllocator to pass allocator to mediasdk */ + sts = m_mfxSession.SetFrameAllocator(m_pGeneralAllocator); + MSDK_CHECK_STATUS(sts, "m_mfxSession.SetFrameAllocator failed"); + + m_bExternalAlloc = true; +#elif LIBVA_SUPPORT + VADisplay va_dpy = NULL; + sts = m_hwdev->GetHandle(MFX_HANDLE_VA_DISPLAY, (mfxHDL *)&va_dpy); + MSDK_CHECK_STATUS(sts, "m_hwdev->GetHandle failed"); + + vaapiAllocatorParams *p_vaapiAllocParams = new vaapiAllocatorParams; + MSDK_CHECK_POINTER(p_vaapiAllocParams, MFX_ERR_MEMORY_ALLOC); + + p_vaapiAllocParams->m_dpy = va_dpy; + if (m_eWorkMode == MODE_RENDERING) { + if (m_libvaBackend == MFX_LIBVA_DRM_MODESET) { + #if defined(LIBVA_DRM_SUPPORT) + CVAAPIDeviceDRM *drmdev = dynamic_cast(m_hwdev); + p_vaapiAllocParams->m_export_mode = vaapiAllocatorParams::CUSTOM_FLINK; + p_vaapiAllocParams->m_exporter = + dynamic_cast(drmdev->getRenderer()); + #endif + } + else if (m_libvaBackend == MFX_LIBVA_WAYLAND || m_libvaBackend == MFX_LIBVA_X11) { + p_vaapiAllocParams->m_export_mode = vaapiAllocatorParams::PRIME; + } + } + m_export_mode = p_vaapiAllocParams->m_export_mode; + m_pmfxAllocatorParams = p_vaapiAllocParams; + + /* In case of video memory we must provide MediaSDK with external allocator + thus we demonstrate "external allocator" usage model. + Call SetAllocator to pass allocator to mediasdk */ + sts = m_mfxSession.SetFrameAllocator(m_pGeneralAllocator); + MSDK_CHECK_STATUS(sts, "m_mfxSession.SetFrameAllocator failed"); + + m_bExternalAlloc = true; +#endif + } + else { +#if (MFX_VERSION >= 2000) + if (m_bAPI2XInternalMem == false && m_bAPI2XDecVPP == false) +#endif + sts = m_mfxSession.SetFrameAllocator(m_pGeneralAllocator); + MSDK_CHECK_STATUS(sts, "m_mfxSession.SetFrameAllocator failed"); + m_bExternalAlloc = true; + } + + // initialize memory allocator + sts = m_pGeneralAllocator->Init(m_pmfxAllocatorParams); + MSDK_CHECK_STATUS(sts, "m_pGeneralAllocator->Init failed"); + + return MFX_ERR_NONE; +} + +void CDecodingPipeline::DeleteFrames() { + FreeBuffers(); + + m_pCurrentFreeSurface = NULL; + MSDK_SAFE_FREE(m_pCurrentFreeOutputSurface); + + m_pCurrentFreeVppSurface = NULL; + + // delete frames + if (m_pGeneralAllocator) { + m_pGeneralAllocator->Free(m_pGeneralAllocator->pthis, &m_mfxResponse); + } + + return; +} + +void CDecodingPipeline::DeleteAllocator() { + // delete allocator + MSDK_SAFE_DELETE(m_pGeneralAllocator); + MSDK_SAFE_DELETE(m_pmfxAllocatorParams); + MSDK_SAFE_DELETE(m_hwdev); +} +#if (MFX_VERSION < 2000) +void CDecodingPipeline::SetMultiView() { + m_FileWriter.SetMultiView(); + m_bIsMVC = true; +} + +mfxStatus CDecodingPipeline::AllocateExtMVCBuffers() { + mfxU32 i; + + auto mvcBuffer = m_mfxVideoParams.GetExtBuffer(); + MSDK_CHECK_POINTER(mvcBuffer, MFX_ERR_MEMORY_ALLOC); + + mvcBuffer->View = new mfxMVCViewDependency[mvcBuffer->NumView]; + MSDK_CHECK_POINTER(mvcBuffer->View, MFX_ERR_MEMORY_ALLOC); + for (i = 0; i < mvcBuffer->NumView; ++i) { + MSDK_ZERO_MEMORY(mvcBuffer->View[i]); + } + mvcBuffer->NumViewAlloc = mvcBuffer->NumView; + + mvcBuffer->ViewId = new mfxU16[mvcBuffer->NumViewId]; + MSDK_CHECK_POINTER(mvcBuffer->ViewId, MFX_ERR_MEMORY_ALLOC); + for (i = 0; i < mvcBuffer->NumViewId; ++i) { + MSDK_ZERO_MEMORY(mvcBuffer->ViewId[i]); + } + mvcBuffer->NumViewIdAlloc = mvcBuffer->NumViewId; + + mvcBuffer->OP = new mfxMVCOperationPoint[mvcBuffer->NumOP]; + MSDK_CHECK_POINTER(mvcBuffer->OP, MFX_ERR_MEMORY_ALLOC); + for (i = 0; i < mvcBuffer->NumOP; ++i) { + MSDK_ZERO_MEMORY(mvcBuffer->OP[i]); + } + mvcBuffer->NumOPAlloc = mvcBuffer->NumOP; + + return MFX_ERR_NONE; +} + +void CDecodingPipeline::DeallocateExtMVCBuffers() { + auto mvcBuffer = m_mfxVideoParams.GetExtBuffer(); + if (mvcBuffer) { + MSDK_SAFE_DELETE_ARRAY(mvcBuffer->View); + MSDK_SAFE_DELETE_ARRAY(mvcBuffer->ViewId); + MSDK_SAFE_DELETE_ARRAY(mvcBuffer->OP); + } +} +#endif +mfxStatus CDecodingPipeline::ResetDecoder(sInputParams *pParams) { + mfxStatus sts = MFX_ERR_NONE; + + // close decoder + sts = m_pmfxDEC->Close(); + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_STATUS(sts, "m_pmfxDEC->Close failed"); + + // close VPP + if (m_pmfxVPP) { + sts = m_pmfxVPP->Close(); + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_STATUS(sts, "m_pmfxVPP->Close failed"); + } + + // free allocated frames + DeleteFrames(); + + // initialize parameters with values from parsed header + sts = InitMfxParams(pParams); + MSDK_CHECK_STATUS(sts, "InitMfxParams failed"); + + // in case of HW accelerated decode frames must be allocated prior to decoder initialization + sts = AllocFrames(); + MSDK_CHECK_STATUS(sts, "AllocFrames failed"); + + // init decoder + sts = m_pmfxDEC->Init(&m_mfxVideoParams); + if (MFX_WRN_PARTIAL_ACCELERATION == sts) { + msdk_printf(MSDK_STRING("WARNING: partial acceleration\n")); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_PARTIAL_ACCELERATION); + } + MSDK_CHECK_STATUS(sts, "m_pmfxDEC->Init failed"); + + if (m_pmfxVPP) { + sts = m_pmfxVPP->Init(&m_mfxVppVideoParams); + if (MFX_WRN_PARTIAL_ACCELERATION == sts) { + msdk_printf(MSDK_STRING("WARNING: partial acceleration\n")); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_PARTIAL_ACCELERATION); + } + MSDK_CHECK_STATUS(sts, "m_pmfxVPP->Init failed"); + } + + return MFX_ERR_NONE; +} + +mfxStatus CDecodingPipeline::DeliverOutput(mfxFrameSurface1 *frame) { + CAutoTimer timer_fwrite(m_tick_fwrite); + + mfxStatus res = MFX_ERR_NONE, sts = MFX_ERR_NONE; + + if (!frame) { + return MFX_ERR_NULL_PTR; + } + + if (m_bResetFileWriter) { + sts = m_FileWriter.Reset(); + MSDK_CHECK_STATUS(sts, ""); + m_bResetFileWriter = false; + } + + if (m_bExternalAlloc) { + if (m_eWorkMode == MODE_FILE_DUMP) { + res = m_pGeneralAllocator->Lock(m_pGeneralAllocator->pthis, + frame->Data.MemId, + &(frame->Data)); + if (MFX_ERR_NONE == res) { + res = m_bOutI420 ? m_FileWriter.WriteNextFrameI420(frame) + : m_FileWriter.WriteNextFrame(frame); + sts = m_pGeneralAllocator->Unlock(m_pGeneralAllocator->pthis, + frame->Data.MemId, + &(frame->Data)); + } + if ((MFX_ERR_NONE == res) && (MFX_ERR_NONE != sts)) { + res = sts; + } + } + else if (m_eWorkMode == MODE_RENDERING) { +#if D3D_SURFACES_SUPPORT + res = m_d3dRender.RenderFrame(frame, m_pGeneralAllocator); +#elif LIBVA_SUPPORT + res = m_hwdev->RenderFrame(frame, m_pGeneralAllocator); +#endif + + msdk_tick current_tick = msdk_time_get_tick(); + while (m_delayTicks && (m_startTick + m_delayTicks > current_tick)) { + msdk_tick left_tick = m_startTick + m_delayTicks - current_tick; + uint32_t sleepTime = (uint32_t)(left_tick * 1000 / msdk_time_get_frequency()); + MSDK_SLEEP(sleepTime); + current_tick = msdk_time_get_tick(); + }; + m_startTick = msdk_time_get_tick(); + } + } + else { + res = m_bOutI420 ? m_FileWriter.WriteNextFrameI420(frame) + : m_FileWriter.WriteNextFrame(frame); + } + + return res; +} + +void CDecodingPipeline::DeliverLoop(void) { + while (!m_bStopDeliverLoop) { + m_pDeliverOutputSemaphore->Wait(); + if (m_bStopDeliverLoop) { + continue; + } + if (MFX_ERR_NONE != m_error) { + continue; + } + msdkOutputSurface *pCurrentDeliveredSurface = m_DeliveredSurfacesPool.GetSurface(); + if (!pCurrentDeliveredSurface) { + m_error = MFX_ERR_NULL_PTR; + continue; + } + mfxFrameSurface1 *frame = &(pCurrentDeliveredSurface->surface->frame); + + m_error = DeliverOutput(frame); + ReturnSurfaceToBuffers(pCurrentDeliveredSurface); + + pCurrentDeliveredSurface = NULL; + msdk_atomic_inc32(&m_output_count); + m_pDeliveredEvent->Signal(); + } + return; +} + +void CDecodingPipeline::PrintPerFrameStat(bool force) { +#define MY_COUNT 1 // TODO: this will be cmd option +#define MY_THRESHOLD 10000.0 + if ((!(m_output_count % MY_COUNT) && (m_eWorkMode != MODE_PERFORMANCE)) || force) { + double fps, fps_fread, fps_fwrite; + + m_timer_overall.Sync(); + + fps = (m_tick_overall) ? m_output_count / CTimer::ConvertToSeconds(m_tick_overall) : 0.0; + fps_fread = (m_tick_fread) ? m_output_count / CTimer::ConvertToSeconds(m_tick_fread) : 0.0; + fps_fwrite = + (m_tick_fwrite) ? m_output_count / CTimer::ConvertToSeconds(m_tick_fwrite) : 0.0; + // decoding progress + msdk_printf( + MSDK_STRING("Frame number: %4d, fps: %0.3f, fread_fps: %0.3f, fwrite_fps: %.3f\r"), + m_output_count, + fps, + (fps_fread < MY_THRESHOLD) ? fps_fread : 0.0, + (fps_fwrite < MY_THRESHOLD) ? fps_fwrite : 0.0); + fflush(NULL); +#if D3D_SURFACES_SUPPORT + m_d3dRender.UpdateTitle(fps); +#elif LIBVA_SUPPORT + if (m_hwdev) + m_hwdev->UpdateTitle(fps); +#endif + } +} + +mfxStatus CDecodingPipeline::SyncOutputSurface(mfxU32 wait) { + if (!m_pCurrentOutputSurface) { + m_pCurrentOutputSurface = m_OutputSurfacesPool.GetSurface(); + } + if (!m_pCurrentOutputSurface) { + return MFX_ERR_MORE_DATA; + } + + mfxStatus sts = m_mfxSession.SyncOperation(m_pCurrentOutputSurface->syncp, wait); + + if (MFX_ERR_GPU_HANG == sts && m_bSoftRobustFlag) { + msdk_printf(MSDK_STRING("GPU hang happened\n")); + // Output surface can be corrupted + // But should be delivered to output anyway + sts = MFX_ERR_NONE; + } + + if (MFX_WRN_IN_EXECUTION == sts) { + return sts; + } + if (MFX_ERR_NONE == sts) { + // we got completely decoded frame - pushing it to the delivering thread... + ++m_synced_count; + if (m_bPrintLatency) { + m_vLatency.push_back(m_timer_overall.Sync() - m_pCurrentOutputSurface->surface->submit); + } + else { + PrintPerFrameStat(); + } + +#if (MFX_VERSION >= 2000) + mfxFrameSurface1 *mfxSurf = NULL; + + if (m_bAPI2XInternalMem == true || m_bAPI2XDecVPP == true) { + mfxSurf = &m_pCurrentOutputSurface->surface->frame; + sts = mfxSurf->FrameInterface->Map(mfxSurf, MFX_MAP_READ); + MSDK_CHECK_STATUS(sts, "mfxFrameSurfaceInterface->Map failed"); + } +#endif + + if (m_eWorkMode == MODE_PERFORMANCE) { + m_output_count = m_synced_count; + ReturnSurfaceToBuffers(m_pCurrentOutputSurface); + } + else if (m_eWorkMode == MODE_FILE_DUMP) { + sts = DeliverOutput(&(m_pCurrentOutputSurface->surface->frame)); + if (MFX_ERR_NONE != sts) { + sts = MFX_ERR_UNKNOWN; + } + else { + m_output_count = m_synced_count; + } + ReturnSurfaceToBuffers(m_pCurrentOutputSurface); + } + else if (m_eWorkMode == MODE_RENDERING) { + m_DeliveredSurfacesPool.AddSurface(m_pCurrentOutputSurface); + m_pDeliveredEvent->Reset(); + m_pDeliverOutputSemaphore->Post(); + } + +#if (MFX_VERSION >= 2000) + if (m_bAPI2XInternalMem == true || m_bAPI2XDecVPP == true) { + sts = mfxSurf->FrameInterface->Unmap(mfxSurf); + MSDK_CHECK_STATUS(sts, "mfxFrameSurfaceInterface->Unmap failed"); + + sts = mfxSurf->FrameInterface->Release(mfxSurf); + MSDK_CHECK_STATUS(sts, "mfxFrameSurfaceInterface->Release failed"); + } +#endif + m_pCurrentOutputSurface = NULL; + } + + return sts; +} + +mfxStatus CDecodingPipeline::RunDecoding() { + mfxFrameSurface1 *pDecOutSurface = NULL; +#if (MFX_VERSION >= 2000) + mfxFrameSurface1 *pVPPOutSurface = NULL; +#endif + mfxBitstream *pBitstream = &m_mfxBS; + mfxStatus sts = MFX_ERR_NONE; + bool bErrIncompatibleVideoParams = false; + CTimeInterval<> decodeTimer(m_bIsCompleteFrame); + time_t start_time = time(0); + std::thread deliverThread; + + if (m_eWorkMode == MODE_RENDERING) { + m_pDeliverOutputSemaphore = new MSDKSemaphore(sts); + m_pDeliveredEvent = new MSDKEvent(sts, false, false); + + deliverThread = std::thread(&CDecodingPipeline::DeliverLoop, this); + } + + while (((sts == MFX_ERR_NONE) || (MFX_ERR_MORE_DATA == sts) || (MFX_ERR_MORE_SURFACE == sts)) && + (m_nFrames > m_output_count)) { + if (MFX_ERR_NONE != m_error) { + msdk_printf(MSDK_STRING("DeliverOutput return error = %d\n"), m_error); + break; + } + + if (pBitstream && + ((MFX_ERR_MORE_DATA == sts) || (m_bIsCompleteFrame && !pBitstream->DataLength))) { + CAutoTimer timer_fread(m_tick_fread); + sts = m_FileReader->ReadNextFrame(pBitstream); // read more data to input bit stream + + if (MFX_ERR_MORE_DATA == sts) { + sts = MFX_ERR_NONE; + // Timeout has expired or videowall mode + m_timer_overall.Sync(); + if (((CTimer::ConvertToSeconds(m_tick_overall) < m_nTimeout) && m_nTimeout) || + m_bIsVideoWall) { + m_FileReader->Reset(); + m_bResetFileWriter = true; + + // Reset bitstream state + pBitstream->DataFlag = 0; + + continue; + } + + // we almost reached end of stream, need to pull buffered data now + pBitstream = NULL; + } + } + + if ((MFX_ERR_NONE == sts) || (MFX_ERR_MORE_DATA == sts) || (MFX_ERR_MORE_SURFACE == sts)) { + // here we check whether output is ready, though we do not wait... +#ifndef __SYNC_WA + mfxStatus _sts = SyncOutputSurface(0); + if (MFX_ERR_UNKNOWN == _sts) { + sts = _sts; + break; + } + else if (MFX_ERR_NONE == _sts) { + continue; + } +#endif + } + else { + MSDK_CHECK_STATUS_NO_RET(sts, "ReadNextFrame failed"); + } + + if ((MFX_ERR_NONE == sts) || (MFX_ERR_MORE_DATA == sts) || (MFX_ERR_MORE_SURFACE == sts)) { +#if (MFX_VERSION >= 2000) + if (m_bAPI2XInternalMem == false && m_bAPI2XDecVPP == false) +#endif + { + SyncFrameSurfaces(); + if (!m_pCurrentFreeSurface) { + m_pCurrentFreeSurface = m_FreeSurfacesPool.GetSurface(); + } + + SyncVppFrameSurfaces(); + if (!m_pCurrentFreeVppSurface) { + m_pCurrentFreeVppSurface = m_FreeVppSurfacesPool.GetSurface(); + } + } + +#if (MFX_VERSION >= 2000) + if ((!m_pCurrentFreeSurface && + (m_bAPI2XInternalMem == false && m_bAPI2XDecVPP == false)) + #ifndef __SYNC_WA + || !m_pCurrentFreeVppSurface && + (m_bAPI2XInternalMem == false && m_bAPI2XDecVPP == false)) { + #else + || ((!m_pCurrentFreeVppSurface && m_bVppIsUsed) && + (m_bAPI2XInternalMem == false && m_bAPI2XDecVPP == false)) || + (m_OutputSurfacesPool.GetSurfaceCount() == m_mfxVideoParams.AsyncDepth)) { + #endif +#else + #ifndef __SYNC_WA + || !m_pCurrentFreeVppSurface) { + #else + || (!m_pCurrentFreeVppSurface && m_bVppIsUsed) || + (m_OutputSurfacesPool.GetSurfaceCount() == m_mfxVideoParams.AsyncDepth)) { + #endif +#endif + // we stuck with no free surface available, now we will sync... + sts = SyncOutputSurface(MSDK_DEC_WAIT_INTERVAL); + if (MFX_ERR_MORE_DATA == sts) { + if ((m_eWorkMode == MODE_PERFORMANCE) || (m_eWorkMode == MODE_FILE_DUMP)) { + sts = MFX_ERR_NOT_FOUND; + } + else if (m_eWorkMode == MODE_RENDERING) { + if (m_synced_count != m_output_count) { + sts = m_pDeliveredEvent->TimedWait(MSDK_DEC_WAIT_INTERVAL); + } + else { + sts = MFX_ERR_NOT_FOUND; + } + } + if (MFX_ERR_NOT_FOUND == sts) { + msdk_printf( + MSDK_STRING("fatal: failed to find output surface, that's a bug!\n")); + break; + } + } + // note: MFX_WRN_IN_EXECUTION will also be treated as an error at this point + continue; + } + + if (!m_pCurrentFreeOutputSurface) { + m_pCurrentFreeOutputSurface = GetFreeOutputSurface(); + } + if (!m_pCurrentFreeOutputSurface) { + sts = MFX_ERR_NOT_FOUND; + break; + } + } + + // exit by timeout + if ((MFX_ERR_NONE == sts) && m_bIsVideoWall && (time(0) - start_time) >= m_nTimeout) { + sts = MFX_ERR_NONE; + break; + } + + // use fused decvpp function for decode + vpp pipeline, when api2 decvpp flag is set + if (m_bAPI2XDecVPP == true) { + sts = m_pmfxDecVPP->DecodeFrameAsync(pBitstream, NULL, 0, &m_pDecVPPOutSurfaces); + if (pBitstream && MFX_ERR_MORE_DATA == sts && + pBitstream->MaxLength == pBitstream->DataLength) { + m_mfxBS.Extend(pBitstream->MaxLength * 2); + } + + if (MFX_ERR_NONE == sts) { + // we are not going to save the decode output, but just release it for now + sts = m_pDecVPPOutSurfaces->Surfaces[0]->FrameInterface->Release( + m_pDecVPPOutSurfaces->Surfaces[0]); + MSDK_CHECK_STATUS(sts, "mfxFrameSurfaceInterface->Release failed"); + + // vpp out + if (m_pCurrentFreeOutputSurface) { + msdkFrameSurface *surface = FindUsedSurface(m_pDecVPPOutSurfaces->Surfaces[1]); + msdk_atomic_inc16(&(surface->render_lock)); + m_pCurrentFreeOutputSurface->surface = surface; + m_OutputSurfacesPool.AddSurface(m_pCurrentFreeOutputSurface); + m_pCurrentFreeOutputSurface = NULL; + } + else { + sts = MFX_ERR_MEMORY_ALLOC; + msdk_printf(MSDK_STRING("fatal: failed to add vpp output surface\n")); + } + } + else if ((MFX_ERR_MORE_DATA == sts) && !pBitstream) { + // that's it - we reached end of stream; now we need to render bufferred data... + do { + sts = SyncOutputSurface(MSDK_DEC_WAIT_INTERVAL); + } while (MFX_ERR_NONE == sts); + + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_DATA); + if (sts) + MSDK_PRINT_WRN_MSG(sts, "SyncOutputSurface failed") + + while (m_synced_count != m_output_count) { + m_pDeliveredEvent->Wait(); + } + break; + } + } + else { + if ((MFX_ERR_NONE == sts) || (MFX_ERR_MORE_DATA == sts) || + (MFX_ERR_MORE_SURFACE == sts)) { + if (m_bIsCompleteFrame) { +#if (MFX_VERSION >= 2000) + if (m_bAPI2XInternalMem == false && m_bAPI2XDecVPP == false) +#endif + if (m_pCurrentFreeSurface) + m_pCurrentFreeSurface->submit = m_timer_overall.Sync(); + } + pDecOutSurface = NULL; + do { +#if (MFX_VERSION >= 1025) + mfxExtDecodeErrorReport *errorReport = nullptr; + if (pBitstream) { + errorReport = (mfxExtDecodeErrorReport *)GetExtBuffer( + pBitstream->ExtParam, + pBitstream->NumExtParam, + MFX_EXTBUFF_DECODE_ERROR_REPORT); + } +#endif + sts = m_pmfxDEC->DecodeFrameAsync( + pBitstream, +#if (MFX_VERSION >= 2000) + (m_bAPI2XInternalMem == true) ? nullptr : &(m_pCurrentFreeSurface->frame), +#else + &(m_pCurrentFreeSurface->frame), +#endif + &pDecOutSurface, + &(m_pCurrentFreeOutputSurface->syncp)); + +#if (MFX_VERSION >= 1025) + PrintDecodeErrorReport(errorReport); +#endif + + if (pBitstream && MFX_ERR_MORE_DATA == sts && + pBitstream->MaxLength == pBitstream->DataLength) { + m_mfxBS.Extend(pBitstream->MaxLength * 2); + } + + if (MFX_WRN_DEVICE_BUSY == sts) { + if (m_bIsCompleteFrame) { + //in low latency mode device busy leads to increasing of latency + //msdk_printf(MSDK_STRING("Warning : latency increased due to MFX_WRN_DEVICE_BUSY\n")); + } + mfxStatus _sts = SyncOutputSurface(MSDK_DEC_WAIT_INTERVAL); + // note: everything except MFX_ERR_NONE are errors at this point + if (MFX_ERR_NONE == _sts) { + sts = MFX_WRN_DEVICE_BUSY; + } + else { + sts = _sts; + if (MFX_ERR_MORE_DATA == sts) { + // we can't receive MFX_ERR_MORE_DATA and have no output - that's a bug + sts = MFX_WRN_DEVICE_BUSY; //MFX_ERR_NOT_FOUND; + } + } + } + } while (MFX_WRN_DEVICE_BUSY == sts); + + if (sts > MFX_ERR_NONE) { + // ignoring warnings... + if (m_pCurrentFreeOutputSurface->syncp) { + MSDK_SELF_CHECK(pDecOutSurface); + // output is available + sts = MFX_ERR_NONE; + } + else { + // output is not available + sts = MFX_ERR_MORE_SURFACE; + } + } + else if ((MFX_ERR_MORE_DATA == sts) && pBitstream) { + if (m_bIsCompleteFrame && pBitstream->DataLength) { + // In low_latency mode decoder have to process bitstream completely + msdk_printf(MSDK_STRING( + "error: Incorrect decoder behavior in low latency mode (bitstream length is not equal to 0 after decoding)\n")); + sts = MFX_ERR_UNDEFINED_BEHAVIOR; + continue; + } + } + else if ((MFX_ERR_MORE_DATA == sts) && !pBitstream) { + // that's it - we reached end of stream; now we need to render bufferred data... + do { + sts = SyncOutputSurface(MSDK_DEC_WAIT_INTERVAL); + } while (MFX_ERR_NONE == sts); + + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_DATA); + if (sts) + MSDK_PRINT_WRN_MSG(sts, "SyncOutputSurface failed") + + while (m_synced_count != m_output_count) { + m_pDeliveredEvent->Wait(); + } + break; + } + else if (MFX_ERR_INCOMPATIBLE_VIDEO_PARAM == sts) { + bErrIncompatibleVideoParams = true; + // need to go to the buffering loop prior to reset procedure + pBitstream = NULL; + sts = MFX_ERR_NONE; + continue; + } + else if (MFX_ERR_REALLOC_SURFACE == sts) { + mfxVideoParam param{}; + sts = m_pmfxDEC->GetVideoParam(¶m); + if (MFX_ERR_NONE != sts) { + // need to go to the buffering loop prior to reset procedure + pBitstream = NULL; + sts = MFX_ERR_NONE; + continue; + } + + sts = ReallocCurrentSurface(param.mfx.FrameInfo); + if (MFX_ERR_NONE != sts) { + // need to go to the buffering loop prior to reset procedure + pBitstream = NULL; + sts = MFX_ERR_NONE; + } + continue; + } + } + + if ((MFX_ERR_NONE == sts) || (MFX_ERR_MORE_DATA == sts) || + (MFX_ERR_MORE_SURFACE == sts)) { + // if current free surface is locked we are moving it to the used surfaces array + /*if (m_pCurrentFreeSurface->frame.Data.Locked)*/ +#if (MFX_VERSION >= 2000) + if (m_bAPI2XInternalMem == false) +#endif + { + if (m_pCurrentFreeSurface) { + m_UsedSurfacesPool.AddSurface(m_pCurrentFreeSurface); + m_pCurrentFreeSurface = NULL; + } + } + } + else { + MSDK_CHECK_STATUS_NO_RET(sts, "DecodeFrameAsync returned error status"); + } + + if (MFX_ERR_NONE == sts) { + if (m_bVppIsUsed) { +#if (MFX_VERSION >= 2000) + if (m_bAPI2XInternalMem == true) { + pVPPOutSurface = NULL; + + sts = m_pmfxMemory->GetSurfaceForVPPOut(&pVPPOutSurface); + MSDK_CHECK_STATUS(sts, "Unknown error in MFXMemory_GetSurfaceForVPPOut"); + + // WA: RunFrameVPPAsync doesn't copy ViewId from input to output + pVPPOutSurface->Info.FrameId.ViewId = pDecOutSurface->Info.FrameId.ViewId; + + sts = pDecOutSurface->FrameInterface->Map(pDecOutSurface, MFX_MAP_READ); + MSDK_CHECK_STATUS(sts, "mfxFrameSurfaceInterface->Map failed"); + + sts = m_pmfxVPP->RunFrameVPPAsync(pDecOutSurface, + pVPPOutSurface, + NULL, + &(m_pCurrentFreeOutputSurface->syncp)); + + // process errors + if (MFX_ERR_MORE_DATA == sts) { // will never happen actually + continue; + } + else if (MFX_ERR_NONE != sts) { + MSDK_PRINT_RET_MSG(sts, "RunFrameVPPAsync failed"); + break; + } + + sts = pDecOutSurface->FrameInterface->Unmap(pDecOutSurface); + MSDK_CHECK_STATUS(sts, "mfxFrameSurfaceInterface->Unmap failed"); + sts = pDecOutSurface->FrameInterface->Release(pDecOutSurface); + MSDK_CHECK_STATUS(sts, "mfxFrameSurfaceInterface->Release failed"); + + msdkFrameSurface *surface = FindUsedSurface(pVPPOutSurface); + msdk_atomic_inc16(&(surface->render_lock)); + + m_pCurrentFreeOutputSurface->surface = surface; + m_OutputSurfacesPool.AddSurface(m_pCurrentFreeOutputSurface); + m_pCurrentFreeOutputSurface = NULL; + } + else // if m_bAPI2XInternalMem is false, execute legacy path +#endif + if (m_pCurrentFreeVppSurface) { + do { + if ((m_pCurrentFreeVppSurface->frame.Info.CropW == 0) || + (m_pCurrentFreeVppSurface->frame.Info.CropH == 0)) { + m_pCurrentFreeVppSurface->frame.Info.CropW = + pDecOutSurface->Info.CropW; + m_pCurrentFreeVppSurface->frame.Info.CropH = + pDecOutSurface->Info.CropH; + m_pCurrentFreeVppSurface->frame.Info.CropX = + pDecOutSurface->Info.CropX; + m_pCurrentFreeVppSurface->frame.Info.CropY = + pDecOutSurface->Info.CropY; + } + if (pDecOutSurface->Info.PicStruct != + m_pCurrentFreeVppSurface->frame.Info.PicStruct) { + m_pCurrentFreeVppSurface->frame.Info.PicStruct = + pDecOutSurface->Info.PicStruct; + } + if ((pDecOutSurface->Info.PicStruct == 0) && + (m_pCurrentFreeVppSurface->frame.Info.PicStruct == 0)) { + m_pCurrentFreeVppSurface->frame.Info.PicStruct = + pDecOutSurface->Info.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; + } + + if (m_diMode) + m_pCurrentFreeVppSurface->frame.Info.PicStruct = + MFX_PICSTRUCT_PROGRESSIVE; + + // WA: RunFrameVPPAsync doesn't copy ViewId from input to output + m_pCurrentFreeVppSurface->frame.Info.FrameId.ViewId = + pDecOutSurface->Info.FrameId.ViewId; + sts = + m_pmfxVPP->RunFrameVPPAsync(pDecOutSurface, + &(m_pCurrentFreeVppSurface->frame), + NULL, + &(m_pCurrentFreeOutputSurface->syncp)); + + if (MFX_WRN_DEVICE_BUSY == sts) { + MSDK_SLEEP( + 1); // just wait and then repeat the same call to RunFrameVPPAsync + } + } while (MFX_WRN_DEVICE_BUSY == sts); + + // process errors + if (MFX_ERR_MORE_DATA == sts) { // will never happen actually + continue; + } + else if (MFX_ERR_NONE != sts) { + MSDK_PRINT_RET_MSG(sts, "RunFrameVPPAsync failed"); + break; + } + + m_UsedVppSurfacesPool.AddSurface(m_pCurrentFreeVppSurface); + msdk_atomic_inc16(&(m_pCurrentFreeVppSurface->render_lock)); + + m_pCurrentFreeOutputSurface->surface = m_pCurrentFreeVppSurface; + m_OutputSurfacesPool.AddSurface(m_pCurrentFreeOutputSurface); + + m_pCurrentFreeOutputSurface = NULL; + m_pCurrentFreeVppSurface = NULL; + } + } + else { + msdkFrameSurface *surface = FindUsedSurface(pDecOutSurface); + + msdk_atomic_inc16(&(surface->render_lock)); + + m_pCurrentFreeOutputSurface->surface = surface; + m_OutputSurfacesPool.AddSurface(m_pCurrentFreeOutputSurface); + m_pCurrentFreeOutputSurface = NULL; + } + } + } + } //while processing + + if (m_nFrames == m_output_count) { + if (sts != MFX_ERR_NONE) + msdk_printf( + MSDK_STRING( + "[WARNING] Decoder returned error %s that could be compensated during next iterations of decoding process.\ + But requested amount of frames is already successfully decoded, so whole process is finished successfully."), + StatusToString(sts).c_str()); + sts = MFX_ERR_NONE; + } + + PrintPerFrameStat(true); + + if (m_bPrintLatency && m_vLatency.size() > 0) { + unsigned int frame_idx = 0; + msdk_tick sum = 0; + for (std::vector::iterator it = m_vLatency.begin(); it != m_vLatency.end(); + ++it) { + sum += *it; + msdk_printf(MSDK_STRING("Frame %4d, latency=%5.5f ms\n"), + ++frame_idx, + CTimer::ConvertToSeconds(*it) * 1000); + } + msdk_printf(MSDK_STRING("\nLatency summary:\n")); + msdk_printf( + MSDK_STRING("\nAVG=%5.5f ms, MAX=%5.5f ms, MIN=%5.5f ms"), + CTimer::ConvertToSeconds((msdk_tick)((mfxF64)sum / m_vLatency.size())) * 1000, + CTimer::ConvertToSeconds(*std::max_element(m_vLatency.begin(), m_vLatency.end())) * + 1000, + CTimer::ConvertToSeconds(*std::min_element(m_vLatency.begin(), m_vLatency.end())) * + 1000); + } + + if (m_eWorkMode == MODE_RENDERING) { + m_bStopDeliverLoop = true; + m_pDeliverOutputSemaphore->Post(); + + if (deliverThread.joinable()) + deliverThread.join(); + } + + MSDK_SAFE_DELETE(m_pDeliverOutputSemaphore); + MSDK_SAFE_DELETE(m_pDeliveredEvent); + + // exit in case of other errors + MSDK_CHECK_STATUS(sts, "Unexpected error!!"); + + // if we exited main decoding loop with ERR_INCOMPATIBLE_PARAM we need to send this status to caller + if (bErrIncompatibleVideoParams) { + sts = MFX_ERR_INCOMPATIBLE_VIDEO_PARAM; + } + + return sts; // ERR_NONE or ERR_INCOMPATIBLE_VIDEO_PARAM +} + +void CDecodingPipeline::PrintInfo() { + msdk_printf(MSDK_STRING("Decoding Sample Version %s\n\n"), GetMSDKSampleVersion().c_str()); + msdk_printf(MSDK_STRING("\nInput video\t%s\n"), + CodecIdToStr(m_mfxVideoParams.mfx.CodecId).c_str()); + if (m_bVppIsUsed) { + msdk_printf(MSDK_STRING("Output format\t%s (using vpp)\n"), + m_bOutI420 ? MSDK_STRING("I420(YUV)") + : CodecIdToStr(m_mfxVppVideoParams.vpp.Out.FourCC).c_str()); + } + else { + msdk_printf(MSDK_STRING("Output format\t%s\n"), + m_bOutI420 ? MSDK_STRING("I420(YUV)") + : CodecIdToStr(m_mfxVideoParams.mfx.FrameInfo.FourCC).c_str()); + } + + mfxFrameInfo Info = m_mfxVideoParams.mfx.FrameInfo; + msdk_printf(MSDK_STRING("Input:\n")); + msdk_printf(MSDK_STRING(" Resolution\t%dx%d\n"), Info.Width, Info.Height); + msdk_printf(MSDK_STRING(" Crop X,Y,W,H\t%d,%d,%d,%d\n"), + Info.CropX, + Info.CropY, + Info.CropW, + Info.CropH); + msdk_printf(MSDK_STRING("Output:\n")); + if (m_vppOutHeight && m_vppOutWidth) { + msdk_printf(MSDK_STRING(" Resolution\t%dx%d\n"), m_vppOutWidth, m_vppOutHeight); + } + else { + msdk_printf(MSDK_STRING(" Resolution\t%dx%d\n"), + Info.CropW ? Info.CropW : Info.Width, + Info.CropH ? Info.CropH : Info.Height); + } + + mfxF64 dFrameRate = CalculateFrameRate(Info.FrameRateExtN, Info.FrameRateExtD); + msdk_printf(MSDK_STRING("Frame rate\t%.2f\n"), dFrameRate); + + const msdk_char *sMemType = +#if defined(_WIN32) || defined(_WIN64) + m_memType == D3D9_MEMORY + ? MSDK_STRING("d3d") +#else + m_memType == D3D9_MEMORY + ? MSDK_STRING("vaapi") +#endif + : (m_memType == D3D11_MEMORY ? MSDK_STRING("d3d11") : MSDK_STRING("system")); + msdk_printf(MSDK_STRING("Memory type\t\t%s\n"), sMemType); + + const msdk_char *sImpl = (MFX_IMPL_VIA_D3D11 == MFX_IMPL_VIA_MASK(m_impl)) + ? MSDK_STRING("hw_d3d11") + : (MFX_IMPL_SOFTWARE == MFX_IMPL_BASETYPE(m_impl)) + ? MSDK_STRING("sw") + : MSDK_STRING("hw"); + msdk_printf(MSDK_STRING("MediaSDK impl\t\t%s\n"), sImpl); + + mfxVersion ver; + m_mfxSession.QueryVersion(&ver); + msdk_printf(MSDK_STRING("MediaSDK version\t%d.%d\n"), ver.Major, ver.Minor); + + msdk_printf(MSDK_STRING("\n")); + + return; +} diff --git a/tools/legacy/sample_decode/src/sample_decode.cpp b/tools/legacy/sample_decode/src/sample_decode.cpp new file mode 100644 index 00000000..536f5b0e --- /dev/null +++ b/tools/legacy/sample_decode/src/sample_decode.cpp @@ -0,0 +1,796 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#include +#include "pipeline_decode.h" +#include "version.h" + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +void PrintHelp(msdk_char *strAppName, const msdk_char *strErrorMessage) { + msdk_printf(MSDK_STRING("Decoding Sample Version %s\n\n"), GetMSDKSampleVersion().c_str()); + + if (strErrorMessage) { + msdk_printf(MSDK_STRING("Error: %s\n"), strErrorMessage); + } + + msdk_printf(MSDK_STRING("Usage: %s [] -i InputBitstream\n"), strAppName); + msdk_printf(MSDK_STRING(" or: %s [] -i InputBitstream -r\n"), strAppName); + msdk_printf(MSDK_STRING(" or: %s [] -i InputBitstream -o OutputYUVFile\n"), + strAppName); + msdk_printf(MSDK_STRING("\n")); + msdk_printf(MSDK_STRING("Supported codecs ():\n")); + msdk_printf( + MSDK_STRING(" =h264|mpeg2|vc1|mvc|jpeg|vp9|av1 - built-in Media SDK codecs\n")); + msdk_printf(MSDK_STRING( + " =h265|vp9|capture - in-box Media SDK plugins (may require separate downloading and installation)\n")); + msdk_printf(MSDK_STRING("\n")); + msdk_printf(MSDK_STRING("Work models:\n")); + msdk_printf(MSDK_STRING( + " 1. Performance model: decoding on MAX speed, no rendering, no YUV dumping (no -r or -o option)\n")); + msdk_printf( + MSDK_STRING(" 2. Rendering model: decoding with rendering on the screen (-r option)\n")); + msdk_printf(MSDK_STRING(" 3. Dump model: decoding with YUV dumping (-o option)\n")); + msdk_printf(MSDK_STRING("\n")); + msdk_printf(MSDK_STRING("Options:\n")); + msdk_printf(MSDK_STRING(" [-?] - print help\n")); + msdk_printf(MSDK_STRING( + " [-hw] - use platform specific SDK implementation (default)\n")); + msdk_printf(MSDK_STRING( + " [-sw] - use software implementation, if not specified platform specific SDK implementation is used\n")); +#if (MFX_VERSION < 2000) + msdk_printf(MSDK_STRING( + " [-p plugin] - decoder plugin. Supported values: hevcd_sw, hevcd_hw, vp8d_hw, vp9d_hw, camera_hw, capture_hw\n")); + msdk_printf(MSDK_STRING( + " [-path path] - path to plugin (valid only in pair with -p option)\n")); + msdk_printf(MSDK_STRING( + " (optional for Media SDK in-box plugins, required for user-decoder ones)\n")); +#endif + msdk_printf(MSDK_STRING(" [-f] - rendering framerate\n")); + msdk_printf(MSDK_STRING(" [-w] - output width\n")); + msdk_printf(MSDK_STRING(" [-h] - output height\n")); + msdk_printf(MSDK_STRING(" [-di bob/adi] - enable deinterlacing BOB/ADI\n")); +#if (MFX_VERSION >= 1025) + msdk_printf(MSDK_STRING(" [-d] - enable decode error report\n")); +#endif +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + msdk_printf(MSDK_STRING( + " [-dGfx] - preffer processing on dGfx (by default system decides)\n")); + msdk_printf(MSDK_STRING( + " [-iGfx] - preffer processing on iGfx (by default system decides)\n")); +#endif +#if defined(LINUX32) || defined(LINUX64) + msdk_printf(MSDK_STRING(" [-device /path/to/device] - set graphics device for processing\n")); + msdk_printf( + MSDK_STRING(" For example: '-device /dev/dri/card0'\n")); + msdk_printf(MSDK_STRING( + " '-device /dev/dri/renderD128'\n")); + msdk_printf(MSDK_STRING( + " If not specified, defaults to the first Intel device found on the system\n")); +#endif + msdk_printf(MSDK_STRING("\n")); + msdk_printf(MSDK_STRING("JPEG Chroma Type:\n")); + msdk_printf(MSDK_STRING(" [-jpeg_rgb] - RGB Chroma Type\n")); + msdk_printf(MSDK_STRING("Output format parameters:\n")); + msdk_printf( + MSDK_STRING(" [-i420] - pipeline output format: NV12, output file format: I420\n")); + msdk_printf( + MSDK_STRING(" [-nv12] - pipeline output format: NV12, output file format: NV12\n")); + msdk_printf( + MSDK_STRING(" [-yuy2] - pipeline output format: YUV2, output file format: YUV2\n")); + msdk_printf( + MSDK_STRING(" [-uyvy] - pipeline output format: UYVY, output file format: UYVY\n")); + msdk_printf( + MSDK_STRING(" [-rgb4] - pipeline output format: RGB4, output file format: RGB4\n")); + msdk_printf(MSDK_STRING( + " [-rgb4_fcr] - pipeline output format: RGB4 in full color range, output file format: RGB4 in full color range\n")); + msdk_printf( + MSDK_STRING(" [-ayuv] - pipeline output format: AYUV, output file format: AYUV\n")); + msdk_printf( + MSDK_STRING(" [-i010] - pipeline output format: I010, output file format: I010\n")); + msdk_printf( + MSDK_STRING(" [-p010] - pipeline output format: P010, output file format: P010\n")); + msdk_printf(MSDK_STRING( + " [-a2rgb10] - pipeline output format: A2RGB10, output file format: A2RGB10\n")); +#if (MFX_VERSION >= 1031) + msdk_printf( + MSDK_STRING(" [-p016] - pipeline output format: P010, output file format: P016\n")); + msdk_printf( + MSDK_STRING(" [-y216] - pipeline output format: Y216, output file format: Y216\n")); + msdk_printf( + MSDK_STRING(" [-y416] - pipeline output format: Y416, output file format: Y416\n")); +#endif + msdk_printf(MSDK_STRING("\n")); +#if D3D_SURFACES_SUPPORT + msdk_printf(MSDK_STRING(" [-d3d] - work with d3d9 surfaces\n")); + msdk_printf(MSDK_STRING(" [-d3d11] - work with d3d11 surfaces\n")); + msdk_printf( + MSDK_STRING(" [-r] - render decoded data in a separate window \n")); + msdk_printf(MSDK_STRING( + " [-wall w h n m t tmo] - same as -r, and positioned rendering window in a particular cell on specific monitor \n")); + msdk_printf(MSDK_STRING( + " w - number of columns of video windows on selected monitor\n")); + msdk_printf(MSDK_STRING( + " h - number of rows of video windows on selected monitor\n")); + msdk_printf(MSDK_STRING( + " n(0,.,w*h-1) - order of video window in table that will be rendered\n")); + msdk_printf(MSDK_STRING(" m(0,1..) - monitor id \n")); + msdk_printf(MSDK_STRING(" t(0/1) - enable/disable window's title\n")); + msdk_printf(MSDK_STRING(" tmo - timeout for -wall option\n")); + msdk_printf(MSDK_STRING("\n")); +#endif +#if defined(LIBVA_SUPPORT) + msdk_printf(MSDK_STRING(" [-vaapi] - work with vaapi surfaces\n")); +#endif +#if defined(LIBVA_X11_SUPPORT) + msdk_printf(MSDK_STRING( + " [-r] - render decoded data in a separate X11 window \n")); +#endif +#if defined(LIBVA_WAYLAND_SUPPORT) + msdk_printf( + MSDK_STRING(" [-rwld] - render decoded data in a Wayland window \n")); + msdk_printf(MSDK_STRING( + " [-perf] - turn on asynchronous flipping for Wayland rendering \n")); +#endif +#if defined(LIBVA_DRM_SUPPORT) + msdk_printf(MSDK_STRING( + " [-rdrm] - render decoded data in a thru DRM frame buffer\n")); + msdk_printf( + MSDK_STRING(" [-window x y w h] - set render window position and size\n")); +#endif + msdk_printf(MSDK_STRING( + " [-low_latency] - configures decoder for low latency mode (supported only for H.264 and JPEG codec)\n")); + msdk_printf(MSDK_STRING( + " [-calc_latency] - calculates latency during decoding and prints log (supported only for H.264 and JPEG codec)\n")); + msdk_printf(MSDK_STRING( + " [-async] - depth of asynchronous pipeline. default value is 4. must be between 1 and 20\n")); + msdk_printf(MSDK_STRING(" [-gpucopy::] Enable or disable GPU copy mode\n")); + msdk_printf(MSDK_STRING( + " [-robust:soft] - GPU hang recovery by inserting an IDR frame\n")); + msdk_printf(MSDK_STRING(" [-timeout] - timeout in seconds\n")); +#if MFX_VERSION >= 1022 + msdk_printf( + MSDK_STRING(" [-dec_postproc force/auto] - resize after decoder using direct pipe\n")); + msdk_printf( + MSDK_STRING(" force: instruct to use decoder-based post processing\n")); + msdk_printf( + MSDK_STRING(" or fail if the decoded stream is unsupported\n")); + msdk_printf(MSDK_STRING( + " auto: instruct to use decoder-based post processing for supported streams \n")); + msdk_printf(MSDK_STRING( + " or perform VPP operation through separate pipeline component for unsupported streams\n")); + +#endif //MFX_VERSION >= 1022 +#if !defined(_WIN32) && !defined(_WIN64) + msdk_printf(MSDK_STRING(" [-threads_num] - number of mediasdk task threads\n")); + msdk_printf( + MSDK_STRING(" [-threads_schedtype] - scheduling type of mediasdk task threads\n")); + msdk_printf(MSDK_STRING(" [-threads_priority] - priority of mediasdk task threads\n")); + msdk_printf(MSDK_STRING("\n")); + msdk_thread_printf_scheduling_help(); +#endif +#if defined(_WIN32) || defined(_WIN64) + msdk_printf(MSDK_STRING(" [-jpeg_rotate n] - rotate jpeg frame n degrees \n")); + msdk_printf(MSDK_STRING(" n(90,180,270) - number of degrees \n")); +#endif +#if (MFX_VERSION >= 2000) + msdk_printf(MSDK_STRING("\n")); + msdk_printf( + MSDK_STRING(" [-api2x_internalmem] - specifies internal memory mode of vpl 2.x\n")); + msdk_printf(MSDK_STRING(" [-api2x_dispatcher] - specifies 2.x API smart dispatcher\n")); + msdk_printf(MSDK_STRING(" [-api2x_decvpp] - uses 2.x fused decode vpp API\n\n")); +#endif +#if defined(_WIN32) || defined(_WIN64) + msdk_printf(MSDK_STRING("\nFeatures: \n")); + msdk_printf(MSDK_STRING(" Press 1 to toggle fullscreen rendering on/off\n")); +#endif + msdk_printf(MSDK_STRING("\n")); + msdk_printf(MSDK_STRING("Example:\n")); + msdk_printf(MSDK_STRING(" %s h265 -i in.bit -o out.yuv -p 15dd936825ad475ea34e35f3f54217a6\n"), + strAppName); +} + +mfxStatus ParseInputString(msdk_char *strInput[], mfxU8 nArgNum, sInputParams *pParams) { + if (1 == nArgNum) { + PrintHelp(strInput[0], NULL); + return MFX_ERR_UNSUPPORTED; + } + + MSDK_CHECK_POINTER(pParams, MFX_ERR_NULL_PTR); + + // set default implementation + pParams->bUseHWLib = true; + pParams->bUseFullColorRange = false; +#if defined(LIBVA_SUPPORT) + pParams->libvaBackend = MFX_LIBVA_DRM; +#endif + + for (mfxU8 i = 1; i < nArgNum; i++) { + if (MSDK_CHAR('-') != strInput[i][0]) { + mfxStatus sts = StrFormatToCodecFormatFourCC(strInput[i], pParams->videoType); + if (sts != MFX_ERR_NONE) { + PrintHelp(strInput[0], MSDK_STRING("Unknown codec")); + return MFX_ERR_UNSUPPORTED; + } + if (!IsDecodeCodecSupported(pParams->videoType)) { + PrintHelp(strInput[0], MSDK_STRING("Unsupported codec")); + return MFX_ERR_UNSUPPORTED; + } + if (pParams->videoType == CODEC_MVC) { + pParams->videoType = MFX_CODEC_AVC; + pParams->bIsMVC = true; + } + continue; + } + + if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-?"))) { + PrintHelp(strInput[0], MSDK_STRING("")); + return MFX_ERR_ABORTED; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-sw"))) { + pParams->bUseHWLib = false; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-hw"))) { + pParams->bUseHWLib = true; + } +#if D3D_SURFACES_SUPPORT + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-d3d"))) { + pParams->memType = D3D9_MEMORY; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-d3d11"))) { + pParams->memType = D3D11_MEMORY; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-r"))) { + pParams->mode = MODE_RENDERING; + // use d3d9 rendering by default + if (SYSTEM_MEMORY == pParams->memType) + pParams->memType = D3D9_MEMORY; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-wall"))) { + if (i + 6 >= nArgNum) { + PrintHelp(strInput[0], MSDK_STRING("Not enough parameters for -wall key")); + return MFX_ERR_UNSUPPORTED; + } + // use d3d9 rendering by default + if (SYSTEM_MEMORY == pParams->memType) + pParams->memType = D3D9_MEMORY; + + pParams->mode = MODE_RENDERING; + + msdk_opt_read(strInput[++i], pParams->nWallW); + msdk_opt_read(strInput[++i], pParams->nWallH); + msdk_opt_read(strInput[++i], pParams->nWallCell); + msdk_opt_read(strInput[++i], pParams->nWallMonitor); + + mfxU32 nTitle; + msdk_opt_read(strInput[++i], nTitle); + + pParams->bWallNoTitle = 0 == nTitle; + + msdk_opt_read(strInput[++i], pParams->nTimeout); + } +#endif +#if defined(LIBVA_SUPPORT) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-vaapi"))) { + pParams->memType = D3D9_MEMORY; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-r"))) { + pParams->memType = D3D9_MEMORY; + pParams->mode = MODE_RENDERING; + pParams->libvaBackend = MFX_LIBVA_X11; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-rwld"))) { + pParams->memType = D3D9_MEMORY; + pParams->mode = MODE_RENDERING; + pParams->libvaBackend = MFX_LIBVA_WAYLAND; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-perf"))) { + pParams->bPerfMode = true; + } + else if (0 == msdk_strncmp(strInput[i], MSDK_STRING("-rdrm"), 5)) { + pParams->memType = D3D9_MEMORY; + pParams->mode = MODE_RENDERING; + pParams->libvaBackend = MFX_LIBVA_DRM_MODESET; + if (strInput[i][5]) { + if (strInput[i][5] != '-') { + PrintHelp(strInput[0], MSDK_STRING("unsupported monitor type")); + return MFX_ERR_UNSUPPORTED; + } + pParams->monitorType = getMonitorType(&strInput[i][6]); + if (pParams->monitorType >= MFX_MONITOR_MAXNUMBER) { + PrintHelp(strInput[0], MSDK_STRING("unsupported monitor type")); + return MFX_ERR_UNSUPPORTED; + } + } + else { + pParams->monitorType = MFX_MONITOR_AUTO; // that's case of "-rdrm" pure option + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-window"))) { + if (i + 4 >= nArgNum) { + PrintHelp(strInput[0], MSDK_STRING("Not enough parameters for -window key")); + return MFX_ERR_UNSUPPORTED; + } + msdk_opt_read(strInput[++i], pParams->nRenderWinX); + msdk_opt_read(strInput[++i], pParams->nRenderWinY); + msdk_opt_read(strInput[++i], pParams->Width); + msdk_opt_read(strInput[++i], pParams->Height); + + if (0 == pParams->Width) + pParams->Width = 320; + if (0 == pParams->Height) + pParams->Height = 240; + + pParams->bRenderWin = true; + } +#endif + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-low_latency"))) { + switch (pParams->videoType) { + case MFX_CODEC_HEVC: + case MFX_CODEC_AVC: + case MFX_CODEC_JPEG: { + pParams->bLowLat = true; + if (!pParams->bIsMVC) + break; + } + default: { + PrintHelp(strInput[0], + MSDK_STRING( + "-low_latency mode is suppoted only for H.264 and JPEG codecs")); + return MFX_ERR_UNSUPPORTED; + } + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-jpeg_rotate"))) { + if (MFX_CODEC_JPEG != pParams->videoType) + return MFX_ERR_UNSUPPORTED; + + if (i + 1 >= nArgNum) { + PrintHelp(strInput[0], MSDK_STRING("Not enough parameters for -jpeg_rotate key")); + return MFX_ERR_UNSUPPORTED; + } + + msdk_opt_read(strInput[++i], pParams->nRotation); + if ((pParams->nRotation != 90) && (pParams->nRotation != 180) && + (pParams->nRotation != 270)) { + PrintHelp(strInput[0], + MSDK_STRING("-jpeg_rotate is supported only for 90, 180 and 270 angles")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-calc_latency"))) { + switch (pParams->videoType) { + case MFX_CODEC_HEVC: + case MFX_CODEC_AVC: + case MFX_CODEC_JPEG: { + pParams->bCalLat = true; + if (!pParams->bIsMVC) + break; + } + default: { + PrintHelp(strInput[0], + MSDK_STRING( + "-calc_latency mode is suppoted only for H.264 and JPEG codecs")); + return MFX_ERR_UNSUPPORTED; + } + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-async"))) { + if (i + 1 >= nArgNum) { + PrintHelp(strInput[0], MSDK_STRING("Not enough parameters for -async key")); + return MFX_ERR_UNSUPPORTED; + } + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nAsyncDepth)) { + PrintHelp(strInput[0], MSDK_STRING("async is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-timeout"))) { + if (i + 1 >= nArgNum) { + PrintHelp(strInput[0], MSDK_STRING("Not enough parameters for -timeout key")); + return MFX_ERR_UNSUPPORTED; + } + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nTimeout)) { + PrintHelp(strInput[0], MSDK_STRING("timeout is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-di"))) { + if (i + 1 >= nArgNum) { + PrintHelp(strInput[0], MSDK_STRING("Not enough parameters for -di key")); + return MFX_ERR_UNSUPPORTED; + } + msdk_char diMode[32] = {}; + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], diMode)) { + PrintHelp(strInput[0], MSDK_STRING("deinterlace value is not set")); + return MFX_ERR_UNSUPPORTED; + } + + if (0 == msdk_strcmp(diMode, MSDK_CHAR("bob"))) { + pParams->eDeinterlace = MFX_DEINTERLACING_BOB; + } + else if (0 == msdk_strcmp(diMode, MSDK_CHAR("adi"))) { + pParams->eDeinterlace = MFX_DEINTERLACING_ADVANCED; + } + else { + PrintHelp(strInput[0], MSDK_STRING("deinterlace value is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-gpucopy::on"))) { + pParams->gpuCopy = MFX_GPUCOPY_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-gpucopy::off"))) { + pParams->gpuCopy = MFX_GPUCOPY_OFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-robust:soft"))) { + pParams->bSoftRobustFlag = true; + } +#if (defined(LINUX32) || defined(LINUX64)) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-device"))) { + if (!pParams->strDevicePath.empty()) { + msdk_printf(MSDK_STRING("error: you can specify only one device\n")); + return MFX_ERR_UNSUPPORTED; + } + if (i + 1 >= nArgNum) { + PrintHelp(strInput[0], MSDK_STRING("Not enough parameters for -device key")); + return MFX_ERR_UNSUPPORTED; + } + pParams->strDevicePath = strInput[++i]; + } +#endif +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-dGfx"))) { + pParams->bPrefferdGfx = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-iGfx"))) { + pParams->bPrefferiGfx = true; + } +#endif +#if !defined(_WIN32) && !defined(_WIN64) + #if (MFX_VERSION >= 1025) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-d"))) { + pParams->bErrorReport = true; + } + #endif + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-threads_num"))) { + if (i + 1 >= nArgNum) { + PrintHelp(strInput[0], MSDK_STRING("Not enough parameters for -threads_num key")); + return MFX_ERR_UNSUPPORTED; + } + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nThreadsNum)) { + PrintHelp(strInput[0], MSDK_STRING("threads_num is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-threads_schedtype"))) { + if (i + 1 >= nArgNum) { + PrintHelp(strInput[0], + MSDK_STRING("Not enough parameters for -threads_schedtype key")); + return MFX_ERR_UNSUPPORTED; + } + if (MFX_ERR_NONE != msdk_thread_get_schedtype(strInput[++i], pParams->SchedulingType)) { + PrintHelp(strInput[0], MSDK_STRING("threads_schedtype is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-threads_priority"))) { + if (i + 1 >= nArgNum) { + PrintHelp(strInput[0], + MSDK_STRING("Not enough parameters for -threads_priority key")); + return MFX_ERR_UNSUPPORTED; + } + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->Priority)) { + PrintHelp(strInput[0], MSDK_STRING("threads_priority is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } +#endif // #if !defined(_WIN32) && !defined(_WIN64) +#if MFX_VERSION >= 1022 + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-dec_postproc"))) { + if (i + 1 >= nArgNum) { + PrintHelp( + strInput[0], + MSDK_STRING( + "Not enough parameters for \"-dec_postproc\", right is \"--dec_postproc force//auto\"")); + return MFX_ERR_UNSUPPORTED; + } + msdk_char postProcMode[32] = {}; + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], postProcMode)) { + PrintHelp(strInput[0], MSDK_STRING("dec_postproc value is not set")); + return MFX_ERR_UNSUPPORTED; + } + if (0 == msdk_strcmp(postProcMode, MSDK_STRING("auto"))) { + pParams->nDecoderPostProcessing = MODE_DECODER_POSTPROC_AUTO; + } + else if (0 == msdk_strcmp(postProcMode, MSDK_STRING("force"))) { + pParams->nDecoderPostProcessing = MODE_DECODER_POSTPROC_FORCE; + } + else { + PrintHelp(strInput[0], MSDK_STRING("dec_postproc is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } +#endif //MFX_VERSION >= 1022 + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-f"))) { + if (i + 1 >= nArgNum) { + PrintHelp(strInput[0], MSDK_STRING("Not enough parameters for -f key")); + return MFX_ERR_UNSUPPORTED; + } + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nMaxFPS)) { + PrintHelp(strInput[0], MSDK_STRING("rendering frame rate is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-w"))) { + if (i + 1 >= nArgNum) { + PrintHelp(strInput[0], MSDK_STRING("Not enough parameters for -w key")); + return MFX_ERR_UNSUPPORTED; + } + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->Width)) { + PrintHelp(strInput[0], MSDK_STRING("width is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-h"))) { + if (i + 1 >= nArgNum) { + PrintHelp(strInput[0], MSDK_STRING("Not enough parameters for -h key")); + return MFX_ERR_UNSUPPORTED; + } + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->Height)) { + PrintHelp(strInput[0], MSDK_STRING("height is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-n"))) { + if (i + 1 >= nArgNum) { + PrintHelp(strInput[0], MSDK_STRING("Not enough parameters for -n key")); + return MFX_ERR_UNSUPPORTED; + } + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nFrames)) { + PrintHelp(strInput[0], MSDK_STRING("rendering frame rate is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-jpeg_rgb"))) { + if (MFX_CODEC_JPEG == pParams->videoType) { + pParams->chromaType = MFX_JPEG_COLORFORMAT_RGB; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-i420"))) { + pParams->fourcc = MFX_FOURCC_NV12; + pParams->outI420 = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-nv12"))) { + pParams->fourcc = MFX_FOURCC_NV12; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-rgb4"))) { + pParams->fourcc = MFX_FOURCC_RGB4; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-ayuv"))) { + pParams->fourcc = MFX_FOURCC_AYUV; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-yuy2"))) { + pParams->fourcc = MFX_FOURCC_YUY2; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-uyvy"))) { + pParams->fourcc = MFX_FOURCC_UYVY; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-rgb4_fcr"))) { + pParams->fourcc = MFX_FOURCC_RGB4; + pParams->bUseFullColorRange = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-i010"))) { + pParams->fourcc = MFX_FOURCC_I010; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-p010"))) { + pParams->fourcc = MFX_FOURCC_P010; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-a2rgb10"))) { + pParams->fourcc = MFX_FOURCC_A2RGB10; + } +#if (MFX_VERSION >= 1031) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-p016"))) { + pParams->fourcc = MFX_FOURCC_P016; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-y216"))) { + pParams->fourcc = MFX_FOURCC_Y216; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-y416"))) { + pParams->fourcc = MFX_FOURCC_Y416; + } +#endif +#if (MFX_VERSION < 2000) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-path"))) { + i++; + pParams->pluginParams = ParsePluginPath(strInput[i]); + } +#endif + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-i:null"))) { + ; + } +#if (MFX_VERSION >= 1034) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-ignore_level_constrain"))) { + pParams->bIgnoreLevelConstrain = true; + } +#endif +#if (MFX_VERSION >= 2000) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-api2x_internalmem"))) { + pParams->api2xInternalMem = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-api2x_dispatcher"))) { + pParams->api2xDispatcher = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-api2x_decvpp"))) { + pParams->api2xDecVPP = true; + } +#endif + else // 1-character options + { + switch (strInput[i][1]) { +#if (MFX_VERSION < 2000) + case MSDK_CHAR('p'): + if (++i < nArgNum) { + pParams->pluginParams = ParsePluginGuid(strInput[i]); + if (AreGuidsEqual(pParams->pluginParams.pluginGuid, MSDK_PLUGINGUID_NULL)) { + msdk_printf(MSDK_STRING("error: invalid decoder plugin\n")); + return MFX_ERR_UNSUPPORTED; + } + } + break; +#endif + case MSDK_CHAR('i'): + if (++i < nArgNum) { + msdk_opt_read(strInput[i], pParams->strSrcFile); + } + else { + msdk_printf(MSDK_STRING("error: option '-i' expects an argument\n")); + } + break; + case MSDK_CHAR('o'): + if (++i < nArgNum) { + pParams->mode = MODE_FILE_DUMP; + msdk_opt_read(strInput[i], pParams->strDstFile); + } + else { + msdk_printf(MSDK_STRING("error: option '-o' expects an argument\n")); + } + break; + case MSDK_CHAR('?'): + PrintHelp(strInput[0], NULL); + return MFX_ERR_UNSUPPORTED; + default: { + std::basic_stringstream stream; + stream << MSDK_STRING("Unknown option: ") << strInput[i]; + PrintHelp(strInput[0], stream.str().c_str()); + return MFX_ERR_UNSUPPORTED; + } + } + } + } + + if (0 == msdk_strlen(pParams->strSrcFile)) { + msdk_printf(MSDK_STRING("error: source file name not found")); + return MFX_ERR_UNSUPPORTED; + } + + if ((pParams->mode == MODE_FILE_DUMP) && (0 == msdk_strlen(pParams->strDstFile))) { + msdk_printf(MSDK_STRING("error: destination file name not found")); + return MFX_ERR_UNSUPPORTED; + } + + if (MFX_CODEC_MPEG2 != pParams->videoType && MFX_CODEC_AVC != pParams->videoType && + MFX_CODEC_HEVC != pParams->videoType && MFX_CODEC_VC1 != pParams->videoType && + MFX_CODEC_JPEG != pParams->videoType && +#if (MFX_VERSION < 2000) + MFX_CODEC_VP8 != pParams->videoType && +#endif + MFX_CODEC_VP9 != pParams->videoType && MFX_CODEC_AV1 != pParams->videoType) { + PrintHelp(strInput[0], MSDK_STRING("Unknown codec")); + return MFX_ERR_UNSUPPORTED; + } + + if (pParams->nAsyncDepth == 0) { + pParams->nAsyncDepth = 4; //set by default; + } + +#if (MFX_VERSION >= 2000) + if (pParams->bUseHWLib == false) { // vpl cpu plugin + pParams->nAsyncDepth = 1; + } +#endif + +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + if (pParams->bPrefferdGfx && pParams->bPrefferiGfx) { + msdk_printf(MSDK_STRING("Warning: both dGfx and iGfx flags set. iGfx will be preffered")); + pParams->bPrefferdGfx = false; + } +#endif + + return MFX_ERR_NONE; +} + +#if defined(_WIN32) || defined(_WIN64) +int _tmain(int argc, TCHAR *argv[]) +#else +int main(int argc, char *argv[]) +#endif +{ + sInputParams Params = {}; // input parameters from command line + CDecodingPipeline + Pipeline; // pipeline for decoding, includes input file reader, decoder and output file writer + + mfxStatus sts = MFX_ERR_NONE; // return value check + + sts = ParseInputString(argv, (mfxU8)argc, &Params); + if (sts == MFX_ERR_ABORTED) { + // No error, just need to close app normally + return MFX_ERR_NONE; + } + MSDK_CHECK_PARSE_RESULT(sts, MFX_ERR_NONE, 1); +#if (MFX_VERSION < 2000) + if (Params.bIsMVC) + Pipeline.SetMultiView(); +#else + // if version is >= 2000, sw lib is vpl + // if outI420 is true, it means sample will convert decode output to I420, which is useless in vpl. + // we set foucc to I420 back and set outI420 to false + if (Params.bUseHWLib == false && Params.outI420 == true) { + Params.fourcc = MFX_FOURCC_I420; + Params.outI420 = false; + } +#endif + sts = Pipeline.Init(&Params); + MSDK_CHECK_STATUS(sts, "Pipeline.Init failed"); + + // print stream info + Pipeline.PrintInfo(); + + msdk_printf(MSDK_STRING("Decoding started\n")); + + mfxU64 prevResetBytesCount = 0xFFFFFFFFFFFFFFFF; + for (;;) { + sts = Pipeline.RunDecoding(); + + if (MFX_ERR_INCOMPATIBLE_VIDEO_PARAM == sts || MFX_ERR_DEVICE_LOST == sts || + MFX_ERR_DEVICE_FAILED == sts) { + if (prevResetBytesCount == Pipeline.GetTotalBytesProcessed()) { + msdk_printf(MSDK_STRING( + "\nERROR: No input data was consumed since last reset. Quitting to avoid looping forever.\n")); + break; + } + prevResetBytesCount = Pipeline.GetTotalBytesProcessed(); + + if (MFX_ERR_INCOMPATIBLE_VIDEO_PARAM == sts) { + msdk_printf(MSDK_STRING( + "\nERROR: Incompatible video parameters detected. Recovering...\n")); + } + else { + msdk_printf(MSDK_STRING( + "\nERROR: Hardware device was lost or returned unexpected error. Recovering...\n")); + sts = Pipeline.ResetDevice(); + MSDK_CHECK_STATUS(sts, "Pipeline.ResetDevice failed"); + } + + sts = Pipeline.ResetDecoder(&Params); + MSDK_CHECK_STATUS(sts, "Pipeline.ResetDecoder failed"); + continue; + } + else { + MSDK_CHECK_STATUS(sts, "Pipeline.RunDecoding failed"); + break; + } + } + + msdk_printf(MSDK_STRING("\nDecoding finished\n")); + + return 0; +} diff --git a/tools/legacy/sample_encode/CMakeLists.txt b/tools/legacy/sample_encode/CMakeLists.txt new file mode 100644 index 00000000..83f36ecc --- /dev/null +++ b/tools/legacy/sample_encode/CMakeLists.txt @@ -0,0 +1,31 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) + +set(TARGET sample_encode) +set(SOURCES "") +list(APPEND SOURCES src/pipeline_encode.cpp src/${TARGET}.cpp) + +add_executable(${TARGET} ${SOURCES}) + +if(MSVC) + target_compile_definitions(${TARGET} PRIVATE -D_CRT_SECURE_NO_WARNINGS) +endif() + +if(POLICY CMP0074) + # ignore warning of VPL_ROOT in find_package search path + cmake_policy(SET CMP0074 OLD) +endif() + +target_include_directories(${TARGET} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) + +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +target_link_libraries(${TARGET} sample_common) + +install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT runtime) diff --git a/tools/legacy/sample_encode/include/pipeline_encode.h b/tools/legacy/sample_encode/include/pipeline_encode.h new file mode 100644 index 00000000..a87af0c6 --- /dev/null +++ b/tools/legacy/sample_encode/include/pipeline_encode.h @@ -0,0 +1,485 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __PIPELINE_ENCODE_H__ +#define __PIPELINE_ENCODE_H__ + +#include "hw_device.h" +#include "sample_defs.h" + +#ifdef D3D_SURFACES_SUPPORT + #pragma warning(disable : 4201) +#endif + +#include "base_allocator.h" +#include "sample_utils.h" +#include "time_statistics.h" + +#if (MFX_VERSION >= 2000) + #include "sample_vpl_common.h" + #include "vpl/mfxdispatcher.h" +#endif + +#include "vpl/mfxmvc.h" +#include "vpl/mfxvideo++.h" +#include "vpl/mfxvideo.h" +#if (MFX_VERSION < 2000) + #include "mfxplugin++.h" + #include "mfxplugin.h" +#endif + +#include +#include +#if (MFX_VERSION < 2000) + #include "plugin_loader.h" +#endif + +#include "preset_manager.h" + +#if defined(ENABLE_V4L2_SUPPORT) + #include "v4l2_util.h" +#endif + +#if (MFX_VERSION >= 1024) + #include "brc_routines.h" +#endif + +#if defined(_WIN64) || defined(_WIN32) + #include "vpl/mfxadapter.h" +#endif + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +#define SAFE_FREAD(PTR, SZ, COUNT, FPTR, ERR) \ + { \ + if (FPTR && (fread(PTR, SZ, COUNT, FPTR) != COUNT)) { \ + return ERR; \ + } \ + } + +msdk_tick time_get_tick(void); +msdk_tick time_get_frequency(void); + +enum { + MVC_DISABLED = 0x0, + MVC_ENABLED = 0x1, + MVC_VIEWOUTPUT = 0x2, // 2 output bitstreams +}; + +enum MemType { + SYSTEM_MEMORY = 0x00, + D3D9_MEMORY = 0x01, + D3D11_MEMORY = 0x02, +}; + +struct sInputParams { + mfxU16 nTargetUsage; + mfxU32 CodecId; + mfxU32 FileInputFourCC; + mfxU32 EncodeFourCC; + mfxU16 nPicStruct; + mfxU16 nWidth; // source picture width + mfxU16 nHeight; // source picture height + mfxF64 dFrameRate; + mfxU32 nNumFrames; + mfxU16 nBitRate; + mfxU16 MVC_flags; + mfxU16 nGopPicSize; + mfxU16 nGopRefDist; + mfxU16 nNumRefFrame; + mfxU16 nBRefType; + mfxU16 nPRefType; + mfxU16 nIdrInterval; + mfxU16 nNumRefActiveP; + mfxU16 nNumRefActiveBL0; + mfxU16 nNumRefActiveBL1; + mfxU16 reserved[4]; + + mfxU16 nQuality; // quality parameter for JPEG encoder + + mfxU32 numViews; // number of views for Multi-View Codec + mfxU16 nDstWidth; // destination picture width, specified if resizing required + mfxU16 nDstHeight; // destination picture height, specified if resizing required + + mfxU16 nEncTileRows; // number of rows for encoding tiling + mfxU16 nEncTileCols; // number of columns for encoding tiling + + msdk_string strQPFilePath; + + MemType memType; + bool bUseHWLib; // true if application wants to use HW MSDK library + + std::string strDevicePath; + +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + bool bPrefferdGfx; + bool bPrefferiGfx; +#endif + + std::list InputFiles; +#if (MFX_VERSION < 2000) + sPluginParams pluginParams; +#endif +#if (MFX_VERSION >= 2000) + bool api2xInternalMem; + bool api2xDispatcher; +#endif + + std::vector dstFileBuff; + +#if (MFX_VERSION < 2000) + mfxU32 HEVCPluginVersion; + mfxU8 nRotationAngle; // if specified, enables rotation plugin in mfx pipeline + msdk_char strPluginDLLPath[MSDK_MAX_FILENAME_LEN]; // plugin dll path and name +#endif + + mfxU16 nAsyncDepth; // depth of asynchronous pipeline, this number can be + //tuned to achieve better performance + mfxU16 gpuCopy; // GPU Copy mode (three-state option) + + mfxU16 nRateControlMethod; + mfxU16 nLADepth; // depth of the look ahead bitrate control algorithm + mfxU16 nMaxSliceSize; // maximum size of slice + mfxU16 nQPI; + mfxU16 nQPP; + mfxU16 nQPB; + mfxU16 nAvcTemp; + mfxU16 nBaseLayerPID; + mfxU16 nAvcTemporalLayers[8]; + mfxU16 nSPSId; + mfxU16 nPPSId; + mfxU16 nPicTimingSEI; + mfxU16 nNalHrdConformance; + mfxU16 nVuiNalHrdParameters; + + mfxU16 nGPB; + mfxU16 nTransformSkip; + ExtBRCType nExtBRC; + mfxU16 nAdaptiveMaxFrameSize; + + mfxU16 WeightedPred; + mfxU16 WeightedBiPred; + + mfxU16 TransferMatrix; + + bool bEnableExtLA; + + bool enableQSVFF; + + bool bSoftRobustFlag; + + bool QPFileMode; + + mfxU32 nTimeout; + mfxU16 nPerfOpt; // size of pre-load buffer which used for loop encode + + mfxU16 nNumSlice; + bool UseRegionEncode; + + bool isV4L2InputEnabled; + + mfxU16 CodecLevel; + mfxU16 CodecProfile; + mfxU16 MaxKbps; + mfxU16 BufferSizeInKB; + mfxU16 InitialDelayInKB; + mfxU16 GopOptFlag; + mfxU16 AdaptiveI; + mfxU16 AdaptiveB; + mfxU32 nMaxFrameSize; + + mfxU16 BitrateLimit; + + mfxU16 WinBRCSize; + mfxU16 WinBRCMaxAvgKbps; + + mfxU16 ICQQuality; + mfxU16 QVBRQuality; + mfxU16 Convergence; + mfxU16 Accuracy; + mfxU16 LowDelayBRC; + mfxU16 ExtBrcAdaptiveLTR; + + mfxU16 IntRefType; + mfxU16 IntRefCycleSize; + mfxU16 IntRefQPDelta; + mfxU16 IntRefCycleDist; + + bool bUncut; + bool shouldUseShifted10BitEnc; + bool shouldUseShifted10BitVPP; + bool IsSourceMSB; + + bool bSingleTexture; + +#if (MFX_VERSION >= 1027) + msdk_char* RoundingOffsetFile; +#endif + msdk_char DumpFileName[MSDK_MAX_FILENAME_LEN]; + msdk_char uSEI[MSDK_MAX_USER_DATA_UNREG_SEI_LEN]; + + EPresetModes PresetMode; + bool shouldPrintPresets; + +#if defined(ENABLE_V4L2_SUPPORT) + msdk_char DeviceName[MSDK_MAX_FILENAME_LEN]; + msdk_char MipiModeName[MSDK_MAX_FILENAME_LEN]; + enum V4L2PixelFormat v4l2Format; + int MipiPort; + enum AtomISPMode MipiMode; +#endif +}; + +#if (MFX_VERSION < 2000) +struct PreEncAuxBuffer { + mfxU16 Locked; + mfxENCInput encInput; + mfxENCOutput encOutput; + mfxEncodeCtrlWrap encCtrl; +}; +#endif +struct sTask { + mfxBitstreamWrapper mfxBS; + mfxEncodeCtrlWrap encCtrl; +#if (MFX_VERSION < 2000) + PreEncAuxBuffer* pAux; +#endif + mfxSyncPoint EncSyncP; + std::list DependentVppTasks; + void* pWriter; + mfxU32 codecID; + + sTask(); + mfxStatus WriteBitstream(); + mfxStatus Reset(); + mfxStatus Init(mfxU32 nBufferSize, mfxU32 nCodecID, void* pWriter = NULL); + mfxStatus Close(); +}; + +struct ExtendedSurface { + mfxFrameSurface1* pSurface; + mfxEncodeCtrl* pCtrl; + mfxSyncPoint Syncp; +}; + +class CEncTaskPool { +public: + CEncTaskPool(); + virtual ~CEncTaskPool(); + + virtual mfxStatus Init(MFXVideoSession* pmfxSession, + void* pWriter, + mfxU32 nPoolSize, + mfxU32 nBufferSize, + mfxU32 CodecID, + void* pOtherWriter = NULL); + virtual mfxStatus GetFreeTask(sTask** ppTask); + virtual mfxStatus SynchronizeFirstTask(); + + virtual CTimeStatistics& GetOverallStatistics() { + return m_statOverall; + } + virtual CTimeStatistics& GetFileStatistics() { + return m_statFile; + } + virtual void Close(); + virtual void SetGpuHangRecoveryFlag(); + virtual void ClearTasks(); + +protected: + sTask* m_pTasks; + mfxU32 m_nPoolSize; + mfxU32 m_nTaskBufferStart; + + bool m_bGpuHangRecovery; + + MFXVideoSession* m_pmfxSession; + + CTimeStatistics m_statOverall; + CTimeStatistics m_statFile; + virtual mfxU32 GetFreeTaskIndex(); +}; + +/* This class implements a pipeline with 2 mfx components: vpp (video preprocessing) and encode */ +class CEncodingPipeline { +public: + CEncodingPipeline(); + virtual ~CEncodingPipeline(); + + virtual mfxStatus Init(sInputParams* pParams); + virtual mfxStatus Run(); + virtual void Close(); + virtual mfxStatus ResetMFXComponents(sInputParams* pParams); + virtual mfxStatus ResetDevice(); + + void SetNumView(mfxU32 numViews) { + m_nNumView = numViews; + } + virtual void PrintInfo(); + + void InitV4L2Pipeline(sInputParams* pParams); + mfxStatus CaptureStartV4L2Pipeline(); + void CaptureStopV4L2Pipeline(); + + static void InsertIDR(mfxEncodeCtrl& ctrl, bool forceIDR); + + virtual mfxStatus OpenRoundingOffsetFile(sInputParams* pInParams); + mfxStatus InitEncFrameParams(sTask* pTask); + +#if defined(ENABLE_V4L2_SUPPORT) + v4l2Device v4l2Pipeline; + pthread_t m_PollThread; +#endif + +protected: + std::pair m_FileWriters; +#if (MFX_VERSION >= 2000) + std::pair m_IVFFileWriters; +#endif + CSmplYUVReader m_FileReader; + CEncTaskPool m_TaskPool; + QPFile::Reader m_QPFileReader; + + MFXVideoSession2 m_mfxSession; + MFXVideoENCODE* m_pmfxENC; + MFXVideoVPP* m_pmfxVPP; +#if (MFX_VERSION >= 2000) + mfxLoader m_mfxLoader; + MFXMemory* m_pmfxMemory; + bool m_bAPI2XInternalMem; +#endif + //MFXVideoENC* m_pmfxPreENC; + + MfxVideoParamsWrapper m_mfxEncParams; + MfxVideoParamsWrapper m_mfxVppParams; + MfxVideoParamsWrapper m_mfxPreEncParams; + + //std::vector m_PreEncAuxPool; + + mfxU16 m_MVCflags; // MVC codec is in use + + mfxU32 m_InputFourCC; +#if (MFX_VERSION < 2000) + std::unique_ptr m_pUserModule; + std::unique_ptr m_pPlugin; + std::unique_ptr m_pPreEncPlugin; +#endif + + MFXFrameAllocator* m_pMFXAllocator; + mfxAllocatorParams* m_pmfxAllocatorParams; + MemType m_memType; + mfxU16 m_nPerfOpt; // size of pre-load buffer which used for loop encode + bool m_bExternalAlloc; // use memory allocator as external for Media SDK + + mfxFrameSurface1* m_pEncSurfaces; // frames array for encoder input (vpp output) + mfxFrameSurface1* m_pVppSurfaces; // frames array for vpp input + mfxFrameAllocResponse m_EncResponse; // memory allocation response for encoder + mfxFrameAllocResponse m_VppResponse; // memory allocation response for vpp + mfxFrameAllocResponse m_PreEncResponse; // memory allocation response for preenc + + std::vector m_EncCtrls; // controls array for encoder input + + mfxU32 m_nNumView; + mfxU32 m_nFramesToProcess; // number of frames to process + + std::string m_strDevicePath; //path to device for processing + + std::vector m_UserDataUnregSEI; + + CHWDevice* m_hwdev; + + bool m_bQPFileMode; + + bool isV4L2InputEnabled; +#if (MFX_VERSION >= 1027) + FILE* m_round_in; +#endif + bool m_bSoftRobustFlag; + + mfxU32 m_nTimeout; + + bool m_bFileWriterReset; + mfxU32 m_nFramesRead; + bool m_bCutOutput; + bool m_bInsertIDR; + bool m_bTimeOutExceed; + mfxU16 m_nEncSurfIdx; // index of free surface for encoder input (vpp output) + mfxU16 m_nVppSurfIdx; // index of free surface for vpp input + + bool m_bIsFieldSplitting; + bool m_bSingleTexture; + + CTimeStatisticsReal m_statOverall; + CTimeStatisticsReal m_statFile; + +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + mfxU32 GetPreferredAdapterNum(const mfxAdaptersInfo& adapters, const sInputParams& params); +#endif + mfxStatus GetImpl(const sInputParams& params, mfxIMPL& impl); + + //virtual mfxStatus InitMfxPreEncParams(sInputParams *pParams); + virtual mfxStatus InitMfxEncParams(sInputParams* pParams); + virtual mfxStatus InitMfxVppParams(sInputParams* pParams); + + virtual mfxStatus InitFileWriters(sInputParams* pParams); + virtual void FreeFileWriters(); + virtual mfxStatus InitFileWriter(CSmplBitstreamWriter** ppWriter, const msdk_char* filename); + +#if (MFX_VERSION >= 2000) + virtual mfxStatus InitIVFFileWriter(CIVFFrameWriter** ppWriter, + const msdk_char* filename, + const mfxU16 w, + const mfxU16 h, + const mfxU32 fr_nom, + const mfxU32 fr_denom); +#endif + + virtual mfxStatus InitVppFilters(); + virtual void FreeVppFilters(); + + //virtual void DeallocateExtMVCBuffers(); + + virtual mfxStatus CreateAllocator(); + virtual void DeleteAllocator(); + + virtual mfxStatus CreateHWDevice(); + virtual void DeleteHWDevice(); + + virtual mfxStatus AllocFrames(); + virtual void DeleteFrames(); + + virtual mfxStatus AllocateSufficientBuffer(mfxBitstreamWrapper& bs); + virtual mfxStatus FillBuffers(); + virtual mfxStatus LoadNextFrame(mfxFrameSurface1* pSurf); + virtual void LoadNextControl(mfxEncodeCtrl*& pCtrl, mfxU32 encSurfIdx); + + //virtual PreEncAuxBuffer* GetFreePreEncAuxBuffer(); +#if (MFX_VERSION < 2000) + virtual mfxStatus PreEncOneFrame(const ExtendedSurface& In, + ExtendedSurface& Out, + sTask*& pTask); +#endif + virtual mfxStatus VPPOneFrame(const ExtendedSurface& In, + ExtendedSurface& Out, + const bool& skipFrame); + virtual mfxStatus EncodeOneFrame(const ExtendedSurface& In, sTask*& pTask); + + virtual mfxStatus GetFreeTask(sTask** ppTask); + virtual MFXVideoSession& GetFirstSession() { + return m_mfxSession; + } + virtual MFXVideoENCODE* GetFirstEncoder() { + return m_pmfxENC; + } + + //virtual mfxU32 FileFourCC2EncFourCC(mfxU32 fcc); + + void InitExtMVCBuffers(mfxExtMVCSeqDesc* mvcBuffer) const; +}; + +#endif // __PIPELINE_ENCODE_H__ diff --git a/tools/legacy/sample_encode/include/pipeline_region_encode.h b/tools/legacy/sample_encode/include/pipeline_region_encode.h new file mode 100644 index 00000000..b0060d3c --- /dev/null +++ b/tools/legacy/sample_encode/include/pipeline_region_encode.h @@ -0,0 +1,106 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __PIPELINE_REGION_ENCODE_H__ +#define __PIPELINE_REGION_ENCODE_H__ +#if (MFX_VERSION < 2000) + #include "pipeline_encode.h" + + #ifndef MFX_VERSION + #error MFX_VERSION not defined + #endif + +class CMSDKResource { +public: + CMSDKResource() { + pEncoder = NULL; + pPlugin = NULL; + } + + MFXVideoSession Session; + MFXVideoENCODE* pEncoder; + MFXPlugin* pPlugin; + CEncTaskPool TaskPool; +}; + +class CResourcesPool { +public: + CResourcesPool() { + size = 0; + m_resources = NULL; + } + + ~CResourcesPool() { + delete[] m_resources; + } + + CMSDKResource& operator[](int index) { + return m_resources[index]; + } + + int GetSize() { + return size; + } + + mfxStatus Init(int size, mfxIMPL impl, mfxVersion* pVer); + mfxStatus InitTaskPools(CSmplBitstreamWriter* pWriter, + mfxU32 nPoolSize, + mfxU32 nBufferSize, + CSmplBitstreamWriter* pOtherWriter = NULL); + mfxStatus CreateEncoders(); + mfxStatus CreatePlugins(mfxPluginUID pluginGUID, mfxChar* pluginPath); + + mfxStatus GetFreeTask(int resourceNum, sTask** ppTask); + void CloseAndDeleteEverything(); + +protected: + CMSDKResource* m_resources; + int size; + +private: + CResourcesPool(const CResourcesPool& src) { + (void)src; + } + CResourcesPool& operator=(const CResourcesPool& src) { + (void)src; + return *this; + } +}; + +/* This class implements a pipeline with 2 mfx components: vpp (video preprocessing) and encode */ +class CRegionEncodingPipeline : public CEncodingPipeline { +public: + CRegionEncodingPipeline(); + virtual ~CRegionEncodingPipeline(); + + virtual mfxStatus Init(sInputParams* pParams); + virtual mfxStatus Run(); + virtual void Close(); + virtual mfxStatus ResetMFXComponents(sInputParams* pParams); + + void SetMultiView(); + void SetNumView(mfxU32 numViews) { + m_nNumView = numViews; + } + +protected: + mfxI64 m_timeAll; + CResourcesPool m_resources; + + virtual mfxStatus InitMfxEncParams(sInputParams* pParams); + + virtual mfxStatus CreateAllocator(); + + virtual MFXVideoSession& GetFirstSession() { + return m_resources[0].Session; + } + virtual MFXVideoENCODE* GetFirstEncoder() { + return m_resources[0].pEncoder; + } +}; +#endif + +#endif // __PIPELINE_REGION_ENCODE_H__ diff --git a/tools/legacy/sample_encode/include/pipeline_user.h b/tools/legacy/sample_encode/include/pipeline_user.h new file mode 100644 index 00000000..f74d8675 --- /dev/null +++ b/tools/legacy/sample_encode/include/pipeline_user.h @@ -0,0 +1,48 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __PIPELINE_USER_H__ +#define __PIPELINE_USER_H__ +#if (MFX_VERSION < 2000) + #include "mfx_plugin_base.h" + #include "mfx_plugin_module.h" + #include "pipeline_encode.h" + #include "rotate_plugin_api.h" + #include "vm/so_defs.h" + + #ifndef MFX_VERSION + #error MFX_VERSION not defined + #endif + +/* This class implements the following pipeline: user plugin (frame rotation) -> mfxENCODE */ +class CUserPipeline : public CEncodingPipeline { +public: + CUserPipeline(); + virtual ~CUserPipeline(); + + virtual mfxStatus Init(sInputParams* pParams); + virtual mfxStatus Run(); + virtual void Close(); + virtual mfxStatus ResetMFXComponents(sInputParams* pParams); + virtual void PrintInfo(); + virtual mfxStatus FillBuffers(); + +protected: + msdk_so_handle m_PluginModule; + MFXGenericPlugin* m_pusrPlugin; + mfxFrameSurface1* m_pPluginSurfaces; // frames array for rotate input + mfxFrameAllocResponse m_PluginResponse; // memory allocation response for rotate plugin + + mfxVideoParam m_pluginVideoParams; + RotateParam m_RotateParams; + + virtual mfxStatus InitRotateParam(sInputParams* pParams); + virtual mfxStatus AllocFrames(); + virtual void DeleteFrames(); +}; +#endif + +#endif // __PIPELINE_USER_H__ diff --git a/tools/legacy/sample_encode/src/pipeline_encode.cpp b/tools/legacy/sample_encode/src/pipeline_encode.cpp new file mode 100644 index 00000000..874222ce --- /dev/null +++ b/tools/legacy/sample_encode/src/pipeline_encode.cpp @@ -0,0 +1,2867 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#include "parameters_dumper.h" +#include "pipeline_encode.h" +#include "sysmem_allocator.h" + +#if D3D_SURFACES_SUPPORT + #include "d3d11_allocator.h" + #include "d3d_allocator.h" + + #include "d3d11_device.h" + #include "d3d_device.h" +#endif + +#ifdef LIBVA_SUPPORT + #include "vaapi_allocator.h" + #include "vaapi_device.h" +#endif + +#if (MFX_VERSION < 2000) + #include "plugin_loader.h" +#endif +#include "sample_utils.h" + +#if defined(ENABLE_V4L2_SUPPORT) + #include +#endif + +#include "version.h" + +#include + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +/* obtain the clock tick of an uninterrupted master clock */ +msdk_tick time_get_tick(void) { + return msdk_time_get_tick(); +} + +/* obtain the clock resolution */ +msdk_tick time_get_frequency(void) { + return msdk_time_get_frequency(); +} +#if (MFX_VERSION < 2000) +void LockPreEncAuxBuffer(PreEncAuxBuffer *pBuff) { + if (!pBuff) + return; + msdk_atomic_inc16(&pBuff->Locked); +} + +void UnlockPreEncAuxBuffer(PreEncAuxBuffer *pBuff) { + if (!pBuff) + return; + msdk_atomic_dec16(&pBuff->Locked); +} +#endif + +CEncTaskPool::CEncTaskPool() { + m_pTasks = NULL; + m_pmfxSession = NULL; + m_nTaskBufferStart = 0; + m_nPoolSize = 0; + m_bGpuHangRecovery = false; +} + +CEncTaskPool::~CEncTaskPool() { + Close(); +} + +sTask::sTask() + : +#if (MFX_VERSION < 2000) + pAux(nullptr), +#endif + EncSyncP(0), + pWriter(NULL), + codecID(0) { +} + +mfxStatus CEncTaskPool::Init(MFXVideoSession *pmfxSession, + void *pWriter, + mfxU32 nPoolSize, + mfxU32 nBufferSize, + mfxU32 nCodecID, + void *pOtherWriter) { + MSDK_CHECK_POINTER(pmfxSession, MFX_ERR_NULL_PTR); + + MSDK_CHECK_ERROR(nPoolSize, 0, MFX_ERR_UNDEFINED_BEHAVIOR); + MSDK_CHECK_ERROR(nBufferSize, 0, MFX_ERR_UNDEFINED_BEHAVIOR); + + // nPoolSize must be even in case of 2 output bitstreams + if (pOtherWriter && (0 != nPoolSize % 2)) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + m_pmfxSession = pmfxSession; + m_nPoolSize = nPoolSize; + + m_pTasks = new sTask[m_nPoolSize]; + MSDK_CHECK_POINTER(m_pTasks, MFX_ERR_MEMORY_ALLOC); + + mfxStatus sts = MFX_ERR_NONE; + + if (pOtherWriter) // 2 bitstreams on output + { + for (mfxU32 i = 0; i < m_nPoolSize; i += 2) { + sts = m_pTasks[i + 0].Init(nBufferSize, nCodecID, pWriter); + sts = m_pTasks[i + 1].Init(nBufferSize, nCodecID, pOtherWriter); + MSDK_CHECK_STATUS(sts, "m_pTasks[i+1].Init failed"); + } + } + else { + for (mfxU32 i = 0; i < m_nPoolSize; i++) { + sts = m_pTasks[i].Init(nBufferSize, nCodecID, pWriter); + MSDK_CHECK_STATUS(sts, "m_pTasks[i].Init failed"); + } + } + + return MFX_ERR_NONE; +} + +mfxStatus CEncTaskPool::SynchronizeFirstTask() { + m_statOverall.StartTimeMeasurement(); + MSDK_CHECK_POINTER(m_pTasks, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_POINTER(m_pmfxSession, MFX_ERR_NOT_INITIALIZED); + + mfxStatus sts = MFX_ERR_NONE; + bool bGpuHang = false; + + // non-null sync point indicates that task is in execution + if (NULL != m_pTasks[m_nTaskBufferStart].EncSyncP) { + sts = + m_pmfxSession->SyncOperation(m_pTasks[m_nTaskBufferStart].EncSyncP, MSDK_WAIT_INTERVAL); + if (sts == MFX_ERR_GPU_HANG && m_bGpuHangRecovery) { + bGpuHang = true; + { + for (mfxU32 i = 0; i < m_nPoolSize; i++) + if (m_pTasks[i].EncSyncP != NULL) { + sts = m_pmfxSession->SyncOperation(m_pTasks[i].EncSyncP, + 0); //MSDK_WAIT_INTERVAL + } + } + ClearTasks(); + sts = MFX_ERR_NONE; + msdk_printf(MSDK_STRING("GPU hang happened\n")); + } + MSDK_CHECK_STATUS_NO_RET(sts, "SyncOperation failed"); + + if (MFX_ERR_NONE == sts) { + m_statFile.StartTimeMeasurement(); + sts = m_pTasks[m_nTaskBufferStart].WriteBitstream(); + m_statFile.StopTimeMeasurement(); + MSDK_CHECK_STATUS(sts, "m_pTasks[m_nTaskBufferStart].WriteBitstream failed"); + + sts = m_pTasks[m_nTaskBufferStart].Reset(); + MSDK_CHECK_STATUS(sts, "m_pTasks[m_nTaskBufferStart].Reset failed"); +#if (MFX_VERSION < 2000) + if (m_pTasks[m_nTaskBufferStart].pAux) { + UnlockPreEncAuxBuffer(m_pTasks[m_nTaskBufferStart].pAux); + } +#endif + // move task buffer start to the next executing task + // the first transform frame to the right with non zero sync point + for (mfxU32 i = 0; i < m_nPoolSize; i++) { + m_nTaskBufferStart = (m_nTaskBufferStart + 1) % m_nPoolSize; + if (NULL != m_pTasks[m_nTaskBufferStart].EncSyncP) { + break; + } + } + } + else if (MFX_ERR_ABORTED == sts) { + while (!m_pTasks[m_nTaskBufferStart].DependentVppTasks.empty()) { + // find out if the error occurred in a VPP task to perform recovery procedure if applicable + sts = m_pmfxSession->SyncOperation( + *m_pTasks[m_nTaskBufferStart].DependentVppTasks.begin(), + 0); + if (sts == MFX_ERR_GPU_HANG && m_bGpuHangRecovery) { + bGpuHang = true; + ClearTasks(); + sts = MFX_ERR_NONE; + msdk_printf(MSDK_STRING("GPU hang happened\n")); + } + + if (MFX_ERR_NONE == sts) { + m_pTasks[m_nTaskBufferStart].DependentVppTasks.pop_front(); + sts = MFX_ERR_ABORTED; // save the status of the encode task + continue; // go to next vpp task + } + else { + break; + } + } + } + } + else { + sts = MFX_ERR_NOT_FOUND; // no tasks left in task buffer + } + m_statOverall.StopTimeMeasurement(); + return bGpuHang ? MFX_ERR_GPU_HANG : sts; +} + +mfxU32 CEncTaskPool::GetFreeTaskIndex() { + mfxU32 off = 0; + + if (m_pTasks) { + for (off = 0; off < m_nPoolSize; off++) { + if (NULL == m_pTasks[(m_nTaskBufferStart + off) % m_nPoolSize].EncSyncP) { + break; + } + } + } + + if (off >= m_nPoolSize) + return m_nPoolSize; + + return (m_nTaskBufferStart + off) % m_nPoolSize; +} + +mfxStatus CEncTaskPool::GetFreeTask(sTask **ppTask) { + MSDK_CHECK_POINTER(ppTask, MFX_ERR_NULL_PTR); + MSDK_CHECK_POINTER(m_pTasks, MFX_ERR_NOT_INITIALIZED); + + mfxU32 index = GetFreeTaskIndex(); + + if (index >= m_nPoolSize) { + return MFX_ERR_NOT_FOUND; + } + + // return the address of the task + *ppTask = &m_pTasks[index]; + + return MFX_ERR_NONE; +} + +void CEncTaskPool::Close() { + if (m_pTasks) { + for (mfxU32 i = 0; i < m_nPoolSize; i++) { + m_pTasks[i].Close(); + } + } + + MSDK_SAFE_DELETE_ARRAY(m_pTasks); + + m_pmfxSession = NULL; + m_nTaskBufferStart = 0; + m_nPoolSize = 0; +} + +void CEncTaskPool::SetGpuHangRecoveryFlag() { + m_bGpuHangRecovery = true; +} + +void CEncTaskPool::ClearTasks() { + for (size_t i = 0; i < m_nPoolSize; i++) { + m_pTasks[i].Reset(); + } + m_nTaskBufferStart = 0; +} + +mfxStatus sTask::Init(mfxU32 nBufferSize, mfxU32 nCodecID, void *pwriter) { + Close(); + + pWriter = pwriter; + codecID = nCodecID; + + mfxStatus sts = Reset(); + MSDK_CHECK_STATUS(sts, "Reset failed"); + + mfxBS.Extend(nBufferSize); + + return sts; +} + +mfxStatus sTask::Close() { + EncSyncP = 0; + DependentVppTasks.clear(); + + return MFX_ERR_NONE; +} + +mfxStatus sTask::WriteBitstream() { + if (pWriter) { +#if (MFX_VERSION >= 2000) + if (codecID == MFX_CODEC_AV1) { + CIVFFrameWriter *fw = (CIVFFrameWriter *)pWriter; + return fw->WriteNextFrame(&mfxBS); + } + else +#endif + { + CSmplBitstreamWriter *fw = (CSmplBitstreamWriter *)pWriter; + return fw->WriteNextFrame(&mfxBS); + } + } + else + return MFX_ERR_NONE; +} + +mfxStatus sTask::Reset() { + // mark sync point as free + EncSyncP = NULL; + + // prepare bit stream + mfxBS.DataOffset = 0; + mfxBS.DataLength = 0; + + DependentVppTasks.clear(); + + return MFX_ERR_NONE; +} +#if (MFX_VERSION < 2000) +void CEncodingPipeline::InitExtMVCBuffers(mfxExtMVCSeqDesc *mvcBuffer) const { + // a simple example of mfxExtMVCSeqDesc structure filling + // actually equal to the "Default dependency mode" - when the structure fields are left 0, + // but we show how to properly allocate and fill the fields + + mfxU32 i; + + // mfxMVCViewDependency array + mvcBuffer->NumView = m_nNumView; + mvcBuffer->NumViewAlloc = m_nNumView; + mvcBuffer->View = new mfxMVCViewDependency[mvcBuffer->NumViewAlloc]; + + for (i = 0; i < mvcBuffer->NumViewAlloc; ++i) { + mvcBuffer->View[i] = {}; + mvcBuffer->View[i].ViewId = (mfxU16)i; // set view number as view id + } + + // set up dependency for second view + mvcBuffer->View[1].NumAnchorRefsL0 = 1; + mvcBuffer->View[1].AnchorRefL0[0] = 0; // ViewId 0 - base view + + mvcBuffer->View[1].NumNonAnchorRefsL0 = 1; + mvcBuffer->View[1].NonAnchorRefL0[0] = 0; // ViewId 0 - base view + + // viewId array + mvcBuffer->NumViewId = m_nNumView; + mvcBuffer->NumViewIdAlloc = m_nNumView; + mvcBuffer->ViewId = new mfxU16[mvcBuffer->NumViewIdAlloc]; + + for (i = 0; i < mvcBuffer->NumViewIdAlloc; ++i) { + mvcBuffer->ViewId[i] = (mfxU16)i; + } + + // create a single operation point containing all views + mvcBuffer->NumOP = 1; + mvcBuffer->NumOPAlloc = 1; + mvcBuffer->OP = new mfxMVCOperationPoint[mvcBuffer->NumOPAlloc]; + + for (i = 0; i < mvcBuffer->NumOPAlloc; ++i) { + mvcBuffer->OP[i] = {}; + mvcBuffer->OP[i].NumViews = (mfxU16)m_nNumView; + mvcBuffer->OP[i].NumTargetViews = (mfxU16)m_nNumView; + mvcBuffer->OP[i].TargetViewId = mvcBuffer->ViewId; // points to mfxExtMVCSeqDesc::ViewId + } +} +#endif +mfxStatus CEncodingPipeline::InitVppFilters() { + auto vppExtParams = m_mfxVppParams.AddExtBuffer(); + + vppExtParams->NumAlg = 4; + + if (vppExtParams->AlgList) + delete[] vppExtParams->AlgList; + vppExtParams->AlgList = new mfxU32[vppExtParams->NumAlg]; + + vppExtParams->AlgList[0] = MFX_EXTBUFF_VPP_DENOISE; // turn off denoising (on by default) + vppExtParams->AlgList[1] = + MFX_EXTBUFF_VPP_SCENE_ANALYSIS; // turn off scene analysis (on by default) + vppExtParams->AlgList[2] = + MFX_EXTBUFF_VPP_DETAIL; // turn off detail enhancement (on by default) + vppExtParams->AlgList[3] = + MFX_EXTBUFF_VPP_PROCAMP; // turn off processing amplified (on by default) +#if (MFX_VERSION < 2000) + if (MVC_ENABLED & m_MVCflags) { + auto mvcBuffer = m_mfxVppParams.AddExtBuffer(); + InitExtMVCBuffers(mvcBuffer); + } +#endif + return MFX_ERR_NONE; + +} // CEncodingPipeline::InitVppFilters() + +void CEncodingPipeline::FreeVppFilters() { + auto vppExtParams = m_mfxVppParams.GetExtBuffer(); + if (vppExtParams) + MSDK_SAFE_DELETE_ARRAY(vppExtParams->AlgList); +} +#if (MFX_VERSION < 2000) +void CEncodingPipeline::DeallocateExtMVCBuffers() { + auto mvcBuffer = m_mfxEncParams.GetExtBuffer(); + if (mvcBuffer) { + MSDK_SAFE_DELETE_ARRAY(mvcBuffer->View); + MSDK_SAFE_DELETE_ARRAY(mvcBuffer->ViewId); + MSDK_SAFE_DELETE_ARRAY(mvcBuffer->OP); + } +} + +PreEncAuxBuffer *CEncodingPipeline::GetFreePreEncAuxBuffer() { + for (mfxU32 i = 0; i < m_PreEncAuxPool.size(); i++) { + if (!m_PreEncAuxPool[i].Locked) + return &(m_PreEncAuxPool[i]); + } + return nullptr; +} + +mfxStatus CEncodingPipeline::InitMfxPreEncParams(sInputParams *pInParams) { + MSDK_CHECK_ERROR(pInParams->bEnableExtLA, false, MFX_ERR_INVALID_VIDEO_PARAM); + MSDK_CHECK_POINTER(pInParams, MFX_ERR_NULL_PTR); + + m_mfxPreEncParams.mfx = {}; + // Plugin needs AVC for init + m_mfxPreEncParams.mfx.CodecId = MFX_CODEC_AVC; + m_mfxPreEncParams.mfx.TargetUsage = pInParams->nTargetUsage; + m_mfxPreEncParams.mfx.FrameInfo = + m_pmfxVPP ? m_mfxVppParams.vpp.Out : m_mfxEncParams.mfx.FrameInfo; + m_mfxPreEncParams.AsyncDepth = pInParams->nAsyncDepth; + m_mfxPreEncParams.IOPattern = m_mfxEncParams.IOPattern; + + // configure and attach external parameters + auto laCtrl = m_mfxPreEncParams.AddExtBuffer(); + laCtrl->LookAheadDepth = pInParams->nLADepth ? pInParams->nLADepth : 40; + laCtrl->NumOutStream = 1; + laCtrl->OutStream[0].Width = m_mfxPreEncParams.mfx.FrameInfo.Width; + laCtrl->OutStream[0].Height = m_mfxPreEncParams.mfx.FrameInfo.Height; + + m_mfxPreEncParams.mfx.GopPicSize = pInParams->nGopPicSize ? pInParams->nGopPicSize : 1500; + m_mfxPreEncParams.mfx.GopRefDist = pInParams->nGopRefDist; + m_mfxPreEncParams.mfx.TargetUsage = pInParams->nTargetUsage; + + return MFX_ERR_NONE; +} +#endif + +mfxStatus CEncodingPipeline::InitMfxEncParams(sInputParams *pInParams) { + m_mfxEncParams.mfx.CodecId = pInParams->CodecId; + m_mfxEncParams.mfx.TargetUsage = pInParams->nTargetUsage; // trade-off between quality and speed + m_mfxEncParams.mfx.RateControlMethod = pInParams->nRateControlMethod; + m_mfxEncParams.mfx.GopRefDist = pInParams->nGopRefDist; + m_mfxEncParams.mfx.GopPicSize = pInParams->nGopPicSize; + m_mfxEncParams.mfx.NumRefFrame = pInParams->nNumRefFrame; + m_mfxEncParams.mfx.IdrInterval = pInParams->nIdrInterval; + + m_mfxEncParams.mfx.CodecProfile = pInParams->CodecProfile; + m_mfxEncParams.mfx.CodecLevel = pInParams->CodecLevel; + m_mfxEncParams.mfx.MaxKbps = pInParams->MaxKbps; + m_mfxEncParams.mfx.InitialDelayInKB = pInParams->InitialDelayInKB; + m_mfxEncParams.mfx.GopOptFlag = pInParams->GopOptFlag; + m_mfxEncParams.mfx.BufferSizeInKB = pInParams->BufferSizeInKB; + + if (m_mfxEncParams.mfx.RateControlMethod == MFX_RATECONTROL_CQP) { + m_mfxEncParams.mfx.QPI = pInParams->nQPI; + m_mfxEncParams.mfx.QPP = pInParams->nQPP; + m_mfxEncParams.mfx.QPB = pInParams->nQPB; + } + else if (m_mfxEncParams.mfx.RateControlMethod == MFX_RATECONTROL_ICQ || + m_mfxEncParams.mfx.RateControlMethod == MFX_RATECONTROL_LA_ICQ) { + m_mfxEncParams.mfx.ICQQuality = pInParams->ICQQuality; + } + else if (m_mfxEncParams.mfx.RateControlMethod == MFX_RATECONTROL_AVBR) { + m_mfxEncParams.mfx.Accuracy = pInParams->Accuracy; + m_mfxEncParams.mfx.TargetKbps = pInParams->nBitRate; + m_mfxEncParams.mfx.Convergence = pInParams->Convergence; + } + else { + m_mfxEncParams.mfx.TargetKbps = pInParams->nBitRate; // in Kbps + } + + if (pInParams->enableQSVFF) { + m_mfxEncParams.mfx.LowPower = MFX_CODINGOPTION_ON; + } + + m_mfxEncParams.mfx.NumSlice = pInParams->nNumSlice; + ConvertFrameRate(pInParams->dFrameRate, + &m_mfxEncParams.mfx.FrameInfo.FrameRateExtN, + &m_mfxEncParams.mfx.FrameInfo.FrameRateExtD); + + m_bQPFileMode = pInParams->QPFileMode; +#if (MFX_VERSION < 2000) + m_mfxEncParams.mfx.EncodedOrder = + m_bQPFileMode || m_pmfxPreENC + ? 1 + : 0; // binary flag, 0 signals encoder to take frames in display order +#else + m_mfxEncParams.mfx.EncodedOrder = + m_bQPFileMode ? 1 : 0; // binary flag, 0 signals encoder to take frames in display order +#endif + + if (m_bQPFileMode) { + mfxStatus sts = m_QPFileReader.Read(pInParams->strQPFilePath, pInParams->CodecId); + MSDK_CHECK_STATUS(sts, m_QPFileReader.GetErrorMessage().c_str()); + } + + // specify memory type + if (D3D9_MEMORY == pInParams->memType || D3D11_MEMORY == pInParams->memType) { + m_mfxEncParams.IOPattern = MFX_IOPATTERN_IN_VIDEO_MEMORY; + } + else { + m_mfxEncParams.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY; + } + + // frame info parameters +#if (MFX_VERSION >= 2000) + if (pInParams->bUseHWLib == false) { + mfxU16 BitDepth = (pInParams->EncodeFourCC == MFX_FOURCC_I010) ? 10 : 8; + m_mfxEncParams.mfx.FrameInfo.BitDepthLuma = BitDepth; + m_mfxEncParams.mfx.FrameInfo.BitDepthChroma = BitDepth; + } +#endif + m_mfxEncParams.mfx.FrameInfo.FourCC = pInParams->EncodeFourCC; + m_mfxEncParams.mfx.FrameInfo.ChromaFormat = FourCCToChroma(pInParams->EncodeFourCC); + m_mfxEncParams.mfx.FrameInfo.PicStruct = pInParams->nPicStruct; + m_mfxEncParams.mfx.FrameInfo.Shift = pInParams->shouldUseShifted10BitEnc; + + // width must be a multiple of 16 + // height must be a multiple of 16 in case of frame picture and a multiple of 32 in case of field picture + m_mfxEncParams.mfx.FrameInfo.Width = MSDK_ALIGN16(pInParams->nDstWidth); + m_mfxEncParams.mfx.FrameInfo.Height = + (MFX_PICSTRUCT_PROGRESSIVE == m_mfxEncParams.mfx.FrameInfo.PicStruct) + ? MSDK_ALIGN16(pInParams->nDstHeight) + : MSDK_ALIGN32(pInParams->nDstHeight); + + m_mfxEncParams.mfx.FrameInfo.CropX = 0; + m_mfxEncParams.mfx.FrameInfo.CropY = 0; + m_mfxEncParams.mfx.FrameInfo.CropW = pInParams->nDstWidth; + m_mfxEncParams.mfx.FrameInfo.CropH = pInParams->nDstHeight; + + if (pInParams->nEncTileRows && pInParams->nEncTileCols) { + if (m_mfxEncParams.mfx.CodecId == MFX_CODEC_HEVC) { + auto hevcTiles = m_mfxEncParams.AddExtBuffer(); + hevcTiles->NumTileRows = pInParams->nEncTileRows; + hevcTiles->NumTileColumns = pInParams->nEncTileCols; + } + } + if (*pInParams->uSEI && + (pInParams->CodecId == MFX_CODEC_AVC || pInParams->CodecId == MFX_CODEC_HEVC)) { + auto pl = new mfxPayload; + mfxU16 size = 0; + std::vector data; + std::vector uuid; + std::string msg; + mfxU16 type = 5; // user data unregister + pl->CtrlFlags = 0; + + mfxU16 index = 0; + for (; index < 16; index++) { + mfxU8 bt = Char2Hex(pInParams->uSEI[index * 2]) * 16 + + Char2Hex(pInParams->uSEI[index * 2 + 1]); + uuid.push_back(bt); + } + index = 32; // 32 characters for uuid + + if (msdk_strlen(pInParams->uSEI) > index) { + index++; // skip the delimiter + if (pInParams->CodecId == MFX_CODEC_HEVC) { + pl->CtrlFlags = pInParams->uSEI[index++] == '0' ? 0 : MFX_PAYLOAD_CTRL_SUFFIX; + } + else { + pl->CtrlFlags = pInParams->uSEI[index++] == '0'; + } + } + if (msdk_strlen(pInParams->uSEI) > index) { + index++; + + // Converting to byte-string if necessary + msdk_tstring tstr(pInParams->uSEI + index); + msg = std::string(tstr.begin(), tstr.end()); + } + size = (mfxU16)uuid.size(); + size += (mfxU16)msg.length(); + SEICalcSizeType(data, type, size); + mfxU16 calc_size = (mfxU16)data.size(); + size += calc_size; + pl->BufSize = size; + pl->Data = new mfxU8[pl->BufSize]; + pl->NumBit = pl->BufSize * 8; + pl->Type = type; + + mfxU8 *p = pl->Data; + MSDK_MEMCPY(p, data.data(), calc_size); + p += calc_size; + MSDK_MEMCPY(p, uuid.data(), uuid.size()); + p += uuid.size(); + MSDK_MEMCPY(p, msg.c_str(), msg.length()); + + m_UserDataUnregSEI.push_back(pl); + } +#if (MFX_VERSION < 2000) + // we don't specify profile and level and let the encoder choose those basing on parameters + // we must specify profile only for MVC codec + if (MVC_ENABLED & m_MVCflags) { + m_mfxEncParams.mfx.CodecProfile = MFX_PROFILE_AVC_STEREO_HIGH; + } + + // configure and attach external parameters + if (MVC_ENABLED & pInParams->MVC_flags) { + m_mfxEncParams.AddExtBuffer(); + } + + if (MVC_VIEWOUTPUT & pInParams->MVC_flags) { + auto codingOption = m_mfxEncParams.AddExtBuffer(); + // ViewOuput option requested + codingOption->ViewOutput = MFX_CODINGOPTION_ON; + } +#endif + if (pInParams->nPicTimingSEI || pInParams->nNalHrdConformance || + pInParams->nVuiNalHrdParameters) { + auto codingOption = m_mfxEncParams.AddExtBuffer(); + codingOption->PicTimingSEI = pInParams->nPicTimingSEI; + codingOption->NalHrdConformance = pInParams->nNalHrdConformance; + codingOption->VuiNalHrdParameters = pInParams->nVuiNalHrdParameters; + } + +#if (MFX_VERSION < 2000) + // configure the depth of the look ahead BRC if specified in command line + if (pInParams->nLADepth || pInParams->nMaxSliceSize || pInParams->nMaxFrameSize || + pInParams->nBRefType || (pInParams->BitrateLimit && pInParams->CodecId == MFX_CODEC_AVC) || + (pInParams->nExtBRC && + (pInParams->CodecId == MFX_CODEC_HEVC || pInParams->CodecId == MFX_CODEC_AVC)) || + pInParams->IntRefType || pInParams->IntRefCycleSize || pInParams->IntRefQPDelta || + pInParams->AdaptiveI || pInParams->AdaptiveB) { + auto codingOption2 = m_mfxEncParams.AddExtBuffer(); + + codingOption2->LookAheadDepth = pInParams->nLADepth; + codingOption2->MaxSliceSize = pInParams->nMaxSliceSize; + codingOption2->MaxFrameSize = pInParams->nMaxFrameSize; + codingOption2->BRefType = pInParams->nBRefType; + codingOption2->BitrateLimit = pInParams->BitrateLimit; + + if (pInParams->nExtBRC != EXTBRC_DEFAULT && + (pInParams->CodecId == MFX_CODEC_HEVC || pInParams->CodecId == MFX_CODEC_AVC)) { + codingOption2->ExtBRC = (mfxU16)( + pInParams->nExtBRC == EXTBRC_OFF ? MFX_CODINGOPTION_OFF : MFX_CODINGOPTION_ON); + } + else { + codingOption2->ExtBRC = 0; + } + + codingOption2->IntRefType = pInParams->IntRefType; + codingOption2->IntRefCycleSize = pInParams->IntRefCycleSize; + codingOption2->IntRefQPDelta = pInParams->IntRefQPDelta; + codingOption2->AdaptiveI = pInParams->AdaptiveI; + codingOption2->AdaptiveB = pInParams->AdaptiveB; + } +#endif +#if ((MFX_VERSION >= 1024) && (MFX_VERSION < 2000)) + // This is for explicit extbrc only. In case of implicit (built-into-library) version - we don't need this extended buffer + if (pInParams->nExtBRC == EXTBRC_ON && + (pInParams->CodecId == MFX_CODEC_HEVC || pInParams->CodecId == MFX_CODEC_AVC)) { + auto extBRC = m_mfxEncParams.AddExtBuffer(); + HEVCExtBRC::Create(*extBRC); + } +#endif + + // set up mfxCodingOption3 + if (pInParams->nGPB || pInParams->LowDelayBRC || pInParams->WeightedPred || + pInParams->WeightedBiPred || pInParams->nPRefType || pInParams->IntRefCycleDist || + pInParams->nAdaptiveMaxFrameSize || pInParams->nNumRefActiveP || + pInParams->nNumRefActiveBL0 || pInParams->nNumRefActiveBL1 || + pInParams->ExtBrcAdaptiveLTR || pInParams->QVBRQuality || pInParams->WinBRCSize || + pInParams->WinBRCMaxAvgKbps || pInParams->nTransformSkip) { + auto codingOption3 = m_mfxEncParams.AddExtBuffer(); + if (pInParams->CodecId == MFX_CODEC_HEVC) { + codingOption3->GPB = pInParams->nGPB; + std::fill(codingOption3->NumRefActiveP, + codingOption3->NumRefActiveP + 8, + pInParams->nNumRefActiveP); + std::fill(codingOption3->NumRefActiveBL0, + codingOption3->NumRefActiveBL0 + 8, + pInParams->nNumRefActiveBL0); + std::fill(codingOption3->NumRefActiveBL1, + codingOption3->NumRefActiveBL1 + 8, + pInParams->nNumRefActiveBL1); +#if (MFX_VERSION >= 1026) + codingOption3->TransformSkip = pInParams->nTransformSkip; +#endif + } + + codingOption3->WeightedPred = pInParams->WeightedPred; + codingOption3->WeightedBiPred = pInParams->WeightedBiPred; +#if (MFX_VERSION >= 1023) + codingOption3->LowDelayBRC = pInParams->LowDelayBRC; +#endif + codingOption3->PRefType = pInParams->nPRefType; + codingOption3->IntRefCycleDist = pInParams->IntRefCycleDist; + codingOption3->AdaptiveMaxFrameSize = pInParams->nAdaptiveMaxFrameSize; + codingOption3->QVBRQuality = pInParams->QVBRQuality; +#if ((MFX_VERSION >= 1026) && (MFX_VERSION < 2000)) + codingOption3->ExtBrcAdaptiveLTR = pInParams->ExtBrcAdaptiveLTR; +#endif + codingOption3->WinBRCSize = pInParams->WinBRCSize; + codingOption3->WinBRCMaxAvgKbps = pInParams->WinBRCMaxAvgKbps; + } + + if (pInParams->nAvcTemp) { + if (pInParams->CodecId == MFX_CODEC_HEVC) { + auto avcTemporalLayers = m_mfxEncParams.AddExtBuffer(); + + avcTemporalLayers->BaseLayerPID = pInParams->nBaseLayerPID; + for (int i = 0; i < 8; i++) { + avcTemporalLayers->Layer[i].Scale = pInParams->nAvcTemporalLayers[i]; + } + } + } + + if (pInParams->nSPSId || pInParams->nPPSId) { + if (pInParams->CodecId == MFX_CODEC_HEVC) { + auto codingOptionSPSPPS = m_mfxEncParams.AddExtBuffer(); + codingOptionSPSPPS->SPSId = pInParams->nSPSId; + codingOptionSPSPPS->PPSId = pInParams->nPPSId; + } + } + + // In case of HEVC when height and/or width divided with 8 but not divided with 16 + // add extended parameter to increase performance + if ((!((m_mfxEncParams.mfx.FrameInfo.CropW & 15) ^ 8) || + !((m_mfxEncParams.mfx.FrameInfo.CropH & 15) ^ 8)) && + (m_mfxEncParams.mfx.CodecId == MFX_CODEC_HEVC) && !m_bIsFieldSplitting) { + auto encHEVCParam = m_mfxEncParams.AddExtBuffer(); + encHEVCParam->PicWidthInLumaSamples = m_mfxEncParams.mfx.FrameInfo.CropW; + encHEVCParam->PicHeightInLumaSamples = m_mfxEncParams.mfx.FrameInfo.CropH; + } + + if (pInParams->TransferMatrix) { + auto videoSignalInfo = m_mfxEncParams.AddExtBuffer(); + videoSignalInfo->ColourDescriptionPresent = 1; + videoSignalInfo->MatrixCoefficients = pInParams->TransferMatrix; + } + + // JPEG encoder settings overlap with other encoders settings in mfxInfoMFX structure + if (MFX_CODEC_JPEG == pInParams->CodecId) { + m_mfxEncParams.mfx.Interleaved = 1; + m_mfxEncParams.mfx.Quality = pInParams->nQuality; + m_mfxEncParams.mfx.RestartInterval = 0; + MSDK_ZERO_MEMORY(m_mfxEncParams.mfx.reserved5); + } + + m_mfxEncParams.AsyncDepth = pInParams->nAsyncDepth; + + return MFX_ERR_NONE; +} + +#if (MFX_VERSION < 2000) +mfxU32 CEncodingPipeline::FileFourCC2EncFourCC(mfxU32 fcc) { + // File reader automatically converts I420 and YV12 to NV12 + if (fcc == MFX_FOURCC_I420 || fcc == MFX_FOURCC_YV12) + return MFX_FOURCC_NV12; + else + return fcc; +} +#endif + +mfxStatus CEncodingPipeline::InitMfxVppParams(sInputParams *pInParams) { + MSDK_CHECK_POINTER(pInParams, MFX_ERR_NULL_PTR); + + // specify memory type + if (D3D9_MEMORY == pInParams->memType || D3D11_MEMORY == pInParams->memType) { + m_mfxVppParams.IOPattern = MFX_IOPATTERN_IN_VIDEO_MEMORY | MFX_IOPATTERN_OUT_VIDEO_MEMORY; + } + else { + m_mfxVppParams.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + } + + m_mfxVppParams.vpp.In.PicStruct = pInParams->nPicStruct; + ConvertFrameRate(pInParams->dFrameRate, + &m_mfxVppParams.vpp.In.FrameRateExtN, + &m_mfxVppParams.vpp.In.FrameRateExtD); + + // width must be a multiple of 16 + // height must be a multiple of 16 in case of frame picture and a multiple of 32 in case of field picture + m_mfxVppParams.vpp.In.Width = MSDK_ALIGN16(pInParams->nWidth); + m_mfxVppParams.vpp.In.Height = (MFX_PICSTRUCT_PROGRESSIVE == m_mfxVppParams.vpp.In.PicStruct) + ? MSDK_ALIGN16(pInParams->nHeight) + : MSDK_ALIGN32(pInParams->nHeight); + + // set crops in input mfxFrameInfo for correct work of file reader + // VPP itself ignores crops at initialization + m_mfxVppParams.vpp.In.CropW = pInParams->nWidth; + m_mfxVppParams.vpp.In.CropH = pInParams->nHeight; + + // fill output frame info + MSDK_MEMCPY_VAR(m_mfxVppParams.vpp.Out, &m_mfxVppParams.vpp.In, sizeof(mfxFrameInfo)); +#if (MFX_VERSION < 2000) + m_mfxVppParams.vpp.In.FourCC = FileFourCC2EncFourCC(m_InputFourCC); +#else + m_mfxVppParams.vpp.In.FourCC = m_InputFourCC; +#endif + m_mfxVppParams.vpp.Out.FourCC = pInParams->EncodeFourCC; + m_mfxVppParams.vpp.In.ChromaFormat = FourCCToChroma(m_mfxVppParams.vpp.In.FourCC); + m_mfxVppParams.vpp.Out.ChromaFormat = FourCCToChroma(m_mfxVppParams.vpp.Out.FourCC); + + // Fill Shift bit + m_mfxVppParams.vpp.In.Shift = pInParams->shouldUseShifted10BitVPP; + m_mfxVppParams.vpp.Out.Shift = + pInParams->shouldUseShifted10BitEnc; // This output should correspond to Encoder settings + + // input frame info +#if defined(ENABLE_V4L2_SUPPORT) + if (isV4L2InputEnabled) { + m_mfxVppParams.vpp.In.FourCC = v4l2Pipeline.ConvertToMFXFourCC(pInParams->v4l2Format); + m_mfxVppParams.vpp.In.ChromaFormat = FourCCToChroma(m_mfxVppParams.vpp.In.FourCC); + + m_mfxVppParams.vpp.Out.FourCC = MFX_FOURCC_NV12; + m_mfxVppParams.vpp.Out.ChromaFormat = FourCCToChroma(m_mfxVppParams.vpp.Out.FourCC); + } +#endif + + // only resizing is supported + m_mfxVppParams.vpp.Out.Width = MSDK_ALIGN16(pInParams->nDstWidth); + m_mfxVppParams.vpp.Out.Height = (MFX_PICSTRUCT_PROGRESSIVE == m_mfxVppParams.vpp.Out.PicStruct) + ? MSDK_ALIGN16(pInParams->nDstHeight) + : MSDK_ALIGN32(pInParams->nDstHeight); + + // configure and attach external parameters + InitVppFilters(); + + m_mfxVppParams.AsyncDepth = pInParams->nAsyncDepth; + + return MFX_ERR_NONE; +} + +mfxStatus CEncodingPipeline::CreateHWDevice() { + mfxStatus sts = MFX_ERR_NONE; +#if D3D_SURFACES_SUPPORT + #if MFX_D3D11_SUPPORT + if (D3D11_MEMORY == m_memType) + m_hwdev = new CD3D11Device(); + else + #endif // #if MFX_D3D11_SUPPORT + m_hwdev = new CD3D9Device(); + + if (NULL == m_hwdev) + return MFX_ERR_MEMORY_ALLOC; + + sts = m_hwdev->Init(NULL, 0, MSDKAdapter::GetNumber(GetFirstSession())); + MSDK_CHECK_STATUS(sts, "m_hwdev->Init failed"); + +#elif LIBVA_SUPPORT + m_hwdev = CreateVAAPIDevice(m_strDevicePath); + if (NULL == m_hwdev) { + return MFX_ERR_MEMORY_ALLOC; + } + sts = m_hwdev->Init(NULL, 0, MSDKAdapter::GetNumber(GetFirstSession())); + MSDK_CHECK_STATUS(sts, "m_hwdev->Init failed"); +#endif + return MFX_ERR_NONE; +} + +mfxStatus CEncodingPipeline::ResetDevice() { + if (D3D9_MEMORY == m_memType || D3D11_MEMORY == m_memType) { + return m_hwdev->Reset(); + } + return MFX_ERR_NONE; +} + +mfxStatus CEncodingPipeline::AllocFrames() { + MSDK_CHECK_POINTER(GetFirstEncoder(), MFX_ERR_NOT_INITIALIZED); + + mfxStatus sts = MFX_ERR_NONE; + mfxFrameAllocRequest EncRequest; + mfxFrameAllocRequest PreEncRequest; + mfxFrameAllocRequest VppRequest[2]; + + mfxU16 nEncSurfNum = 0; // number of surfaces for encoder + mfxU16 nVppSurfNum = 0; // number of surfaces for vpp +#if (MFX_VERSION < 2000) + mfxU16 nPreEncSurfNum = 0; // number of surfaces for preenc +#endif + + MSDK_ZERO_MEMORY(EncRequest); + MSDK_ZERO_MEMORY(PreEncRequest); + MSDK_ZERO_MEMORY(VppRequest[0]); + MSDK_ZERO_MEMORY(VppRequest[1]); + + mfxU16 initialTargetKbps = m_mfxEncParams.mfx.TargetKbps; + auto co2 = m_mfxEncParams.GetExtBuffer(); + + // Querying encoder + sts = GetFirstEncoder()->Query(&m_mfxEncParams, &m_mfxEncParams); + MSDK_CHECK_STATUS(sts, "Query (for encoder) failed"); + + if (co2 && co2->BitrateLimit != MFX_CODINGOPTION_OFF && + initialTargetKbps != m_mfxEncParams.mfx.TargetKbps) { + msdk_printf( + MSDK_STRING( + "WARNING: -BitrateLimit:on, target bitrate was changed from %d kbps to %d kbps.\n"), + initialTargetKbps, + m_mfxEncParams.mfx.TargetKbps); + } + + // Calculate the number of surfaces for components. + // QueryIOSurf functions tell how many surfaces are required to produce at least 1 output. + // To achieve better performance we provide extra surfaces. + // 1 extra surface at input allows to get 1 extra output. + sts = GetFirstEncoder()->QueryIOSurf(&m_mfxEncParams, &EncRequest); + MSDK_CHECK_STATUS(sts, "QueryIOSurf (for encoder) failed"); + + if (!m_pmfxVPP) { + EncRequest.NumFrameMin = EncRequest.NumFrameSuggested = + std::max(EncRequest.NumFrameSuggested, m_nPerfOpt); + } + + if (EncRequest.NumFrameSuggested < m_mfxEncParams.AsyncDepth) + EncRequest.NumFrameSuggested += m_mfxEncParams.AsyncDepth + 2; + + // The number of surfaces shared by vpp output and encode input. + nEncSurfNum = EncRequest.NumFrameSuggested; + + if (m_pmfxVPP) { + // Querying VPP + sts = m_pmfxVPP->Query(&m_mfxVppParams, &m_mfxVppParams); + MSDK_CHECK_STATUS(sts, "m_pmfxVPP->Query failed"); + + // VppRequest[0] for input frames request, VppRequest[1] for output frames request + sts = m_pmfxVPP->QueryIOSurf(&m_mfxVppParams, VppRequest); + MSDK_CHECK_STATUS(sts, "m_pmfxVPP->QueryIOSurf failed"); + + VppRequest[0].NumFrameMin = VppRequest[0].NumFrameSuggested = + std::max(VppRequest[0].NumFrameSuggested, m_nPerfOpt); + // The number of surfaces for vpp input - so that vpp can work at async depth = m_nAsyncDepth + nVppSurfNum = VppRequest[0].NumFrameSuggested; + // If surfaces are shared by 2 components, c1 and c2. NumSurf = c1_out + c2_in - AsyncDepth + 1 + nEncSurfNum += nVppSurfNum - m_mfxEncParams.AsyncDepth + 1; + } +#if (MFX_VERSION < 2000) + if (m_pmfxPreENC) { + // Querying PreEnc + sts = m_pmfxPreENC->Query(&m_mfxPreEncParams, &m_mfxPreEncParams); + MSDK_CHECK_STATUS(sts, "m_pmfxPreENC->Query failed"); + + sts = m_pmfxPreENC->QueryIOSurf(&m_mfxPreEncParams, &PreEncRequest); + MSDK_CHECK_STATUS(sts, "m_pmfxPreENC->QueryIOSurf failed"); + + nPreEncSurfNum = PreEncRequest.NumFrameSuggested; + nEncSurfNum += nPreEncSurfNum - m_mfxEncParams.AsyncDepth + 1; + } +#endif + + // prepare allocation requests + EncRequest.NumFrameSuggested = EncRequest.NumFrameMin = nEncSurfNum; + MSDK_MEMCPY_VAR(EncRequest.Info, &(m_mfxEncParams.mfx.FrameInfo), sizeof(mfxFrameInfo)); + if (m_pmfxVPP) { + EncRequest.Type |= + MFX_MEMTYPE_FROM_VPPOUT; // surfaces are shared between vpp output and encode input + } + + // alloc frames for encoder + sts = m_pMFXAllocator->Alloc(m_pMFXAllocator->pthis, &EncRequest, &m_EncResponse); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Alloc failed"); + + // alloc frames for vpp if vpp is enabled + if (m_pmfxVPP) { + VppRequest[0].NumFrameSuggested = VppRequest[0].NumFrameMin = nVppSurfNum; + MSDK_MEMCPY_VAR(VppRequest[0].Info, &(m_mfxVppParams.vpp.In), sizeof(mfxFrameInfo)); + +#if defined(ENABLE_V4L2_SUPPORT) + if (isV4L2InputEnabled) { + VppRequest[0].Type |= MFX_MEMTYPE_EXPORT_FRAME; + } +#endif + + sts = m_pMFXAllocator->Alloc(m_pMFXAllocator->pthis, &(VppRequest[0]), &m_VppResponse); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Alloc failed"); + } + + // prepare mfxFrameSurface1 array for encoder + m_pEncSurfaces = new mfxFrameSurface1[m_EncResponse.NumFrameActual]; + MSDK_CHECK_POINTER(m_pEncSurfaces, MFX_ERR_MEMORY_ALLOC); + + for (int i = 0; i < m_EncResponse.NumFrameActual; i++) { + memset(&(m_pEncSurfaces[i]), 0, sizeof(mfxFrameSurface1)); + MSDK_MEMCPY_VAR(m_pEncSurfaces[i].Info, + &(m_mfxEncParams.mfx.FrameInfo), + sizeof(mfxFrameInfo)); + + if (m_bExternalAlloc) { + m_pEncSurfaces[i].Data.MemId = m_EncResponse.mids[i]; + } + else { + // get YUV pointers + sts = m_pMFXAllocator->Lock(m_pMFXAllocator->pthis, + m_EncResponse.mids[i], + &(m_pEncSurfaces[i].Data)); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Lock failed"); + } + } + + // prepare mfxFrameSurface1 array for vpp if vpp is enabled + if (m_pmfxVPP) { + m_pVppSurfaces = new mfxFrameSurface1[m_VppResponse.NumFrameActual]; + MSDK_CHECK_POINTER(m_pVppSurfaces, MFX_ERR_MEMORY_ALLOC); + + for (int i = 0; i < m_VppResponse.NumFrameActual; i++) { + MSDK_ZERO_MEMORY(m_pVppSurfaces[i]); + MSDK_MEMCPY_VAR(m_pVppSurfaces[i].Info, + &(m_mfxVppParams.mfx.FrameInfo), + sizeof(mfxFrameInfo)); + + if (m_bExternalAlloc) { + m_pVppSurfaces[i].Data.MemId = m_VppResponse.mids[i]; + } + else { + sts = m_pMFXAllocator->Lock(m_pMFXAllocator->pthis, + m_VppResponse.mids[i], + &(m_pVppSurfaces[i].Data)); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Lock failed"); + } + } + } +#if (MFX_VERSION < 2000) + // prepare Aux buffer for preenc + if (m_pmfxPreENC) { + m_PreEncAuxPool.resize(m_EncResponse.NumFrameActual); + auto laCtrl = m_mfxPreEncParams.AddExtBuffer(); + + int buff_size = sizeof(mfxExtLAFrameStatistics) + + sizeof(mfxLAFrameInfo) * laCtrl->NumOutStream * laCtrl->LookAheadDepth; + for (auto &buffer : m_PreEncAuxPool) { + buffer.encInput = {}; + buffer.encOutput = {}; + + buffer.encCtrl.NumExtParam = 1; + buffer.encCtrl.ExtParam = new mfxExtBuffer *[1]; + + char *pBuff = new char[buff_size]; + memset(pBuff, 0, buff_size); + + buffer.encCtrl.ExtParam[0] = (mfxExtBuffer *)pBuff; + + mfxExtLAFrameStatistics *pExtBuffer = (mfxExtLAFrameStatistics *)pBuff; + + pExtBuffer->Header.BufferId = MFX_EXTBUFF_LOOKAHEAD_STAT; + pExtBuffer->Header.BufferSz = buff_size; + pExtBuffer->NumAlloc = laCtrl->NumOutStream * laCtrl->LookAheadDepth; + pExtBuffer->FrameStat = (mfxLAFrameInfo *)(pBuff + sizeof(mfxExtLAFrameStatistics)); + + buffer.encOutput.NumExtParam = 1; + buffer.encOutput.ExtParam = buffer.encCtrl.ExtParam; + } + } +#endif + + // prepare mfxEncodeCtrl array for encoder if qpfile mode is enabled + if (m_bQPFileMode) { + m_EncCtrls.resize(m_EncResponse.NumFrameActual); + for (auto &ctrl : m_EncCtrls) { + ctrl.Payload = m_UserDataUnregSEI.data(); + ctrl.NumPayload = (mfxU16)m_UserDataUnregSEI.size(); + } + } + + return MFX_ERR_NONE; +} + +mfxStatus CEncodingPipeline::CreateAllocator() { + mfxStatus sts = MFX_ERR_NONE; + + if (D3D9_MEMORY == m_memType || D3D11_MEMORY == m_memType) { +#if D3D_SURFACES_SUPPORT + sts = CreateHWDevice(); + MSDK_CHECK_STATUS(sts, "CreateHWDevice failed"); + + mfxHDL hdl = NULL; + mfxHandleType hdl_t = + #if MFX_D3D11_SUPPORT + D3D11_MEMORY == m_memType ? MFX_HANDLE_D3D11_DEVICE : + #endif // #if MFX_D3D11_SUPPORT + MFX_HANDLE_D3D9_DEVICE_MANAGER; + + sts = m_hwdev->GetHandle(hdl_t, &hdl); + MSDK_CHECK_STATUS(sts, "m_hwdev->GetHandle failed"); + + // handle is needed for HW library only + mfxIMPL impl = 0; + m_mfxSession.QueryIMPL(&impl); + if (impl != MFX_IMPL_SOFTWARE) { + sts = m_mfxSession.SetHandle(hdl_t, hdl); + MSDK_CHECK_STATUS(sts, "m_mfxSession.SetHandle failed"); + } + + // create D3D allocator + #if MFX_D3D11_SUPPORT + if (D3D11_MEMORY == m_memType) { + m_pMFXAllocator = new D3D11FrameAllocator; + MSDK_CHECK_POINTER(m_pMFXAllocator, MFX_ERR_MEMORY_ALLOC); + + D3D11AllocatorParams *pd3dAllocParams = new D3D11AllocatorParams; + MSDK_CHECK_POINTER(pd3dAllocParams, MFX_ERR_MEMORY_ALLOC); + pd3dAllocParams->pDevice = reinterpret_cast(hdl); + pd3dAllocParams->bUseSingleTexture = m_bSingleTexture; + m_pmfxAllocatorParams = pd3dAllocParams; + } + else + #endif // #if MFX_D3D11_SUPPORT + { + m_pMFXAllocator = new D3DFrameAllocator; + MSDK_CHECK_POINTER(m_pMFXAllocator, MFX_ERR_MEMORY_ALLOC); + + D3DAllocatorParams *pd3dAllocParams = new D3DAllocatorParams; + MSDK_CHECK_POINTER(pd3dAllocParams, MFX_ERR_MEMORY_ALLOC); + pd3dAllocParams->pManager = reinterpret_cast(hdl); + + m_pmfxAllocatorParams = pd3dAllocParams; + } + + /* In case of video memory we must provide MediaSDK with external allocator + thus we demonstrate "external allocator" usage model. + Call SetAllocator to pass allocator to Media SDK */ + sts = m_mfxSession.SetFrameAllocator(m_pMFXAllocator); + MSDK_CHECK_STATUS(sts, "m_mfxSession.SetFrameAllocator failed"); + + m_bExternalAlloc = true; +#endif +#ifdef LIBVA_SUPPORT + sts = CreateHWDevice(); + MSDK_CHECK_STATUS(sts, "CreateHWDevice failed"); + /* It's possible to skip failed result here and switch to SW implementation, + but we don't process this way */ + + mfxHDL hdl = NULL; + sts = m_hwdev->GetHandle(MFX_HANDLE_VA_DISPLAY, &hdl); + // provide device manager to MediaSDK + sts = m_mfxSession.SetHandle(MFX_HANDLE_VA_DISPLAY, hdl); + MSDK_CHECK_STATUS(sts, "m_mfxSession.SetHandle failed"); + + // create VAAPI allocator + m_pMFXAllocator = new vaapiFrameAllocator; + MSDK_CHECK_POINTER(m_pMFXAllocator, MFX_ERR_MEMORY_ALLOC); + + vaapiAllocatorParams *p_vaapiAllocParams = new vaapiAllocatorParams; + MSDK_CHECK_POINTER(p_vaapiAllocParams, MFX_ERR_MEMORY_ALLOC); + + p_vaapiAllocParams->m_dpy = (VADisplay)hdl; + #ifdef ENABLE_V4L2_SUPPORT + p_vaapiAllocParams->m_export_mode = vaapiAllocatorParams::PRIME; + #endif + m_pmfxAllocatorParams = p_vaapiAllocParams; + + /* In case of video memory we must provide MediaSDK with external allocator + thus we demonstrate "external allocator" usage model. + Call SetAllocator to pass allocator to mediasdk */ + sts = m_mfxSession.SetFrameAllocator(m_pMFXAllocator); + MSDK_CHECK_STATUS(sts, "m_mfxSession.SetFrameAllocator failed"); + + m_bExternalAlloc = true; +#endif + } + else { +#ifdef LIBVA_SUPPORT + //in case of system memory allocator we also have to pass MFX_HANDLE_VA_DISPLAY to HW library + mfxIMPL impl; + m_mfxSession.QueryIMPL(&impl); + + if (MFX_IMPL_HARDWARE == MFX_IMPL_BASETYPE(impl)) { + sts = CreateHWDevice(); + MSDK_CHECK_STATUS(sts, "CreateHWDevice failed"); + + mfxHDL hdl = NULL; + sts = m_hwdev->GetHandle(MFX_HANDLE_VA_DISPLAY, &hdl); + // provide device manager to MediaSDK + sts = m_mfxSession.SetHandle(MFX_HANDLE_VA_DISPLAY, hdl); + MSDK_CHECK_STATUS(sts, "m_mfxSession.SetHandle failed"); + } +#endif + + // create system memory allocator + m_pMFXAllocator = new SysMemFrameAllocator; + MSDK_CHECK_POINTER(m_pMFXAllocator, MFX_ERR_MEMORY_ALLOC); + + /* In case of system memory we demonstrate "no external allocator" usage model. + We don't call SetAllocator, Media SDK uses internal allocator. + We use system memory allocator simply as a memory manager for application*/ + } + + // initialize memory allocator + sts = m_pMFXAllocator->Init(m_pmfxAllocatorParams); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Init failed"); + + return MFX_ERR_NONE; +} + +void CEncodingPipeline::DeleteFrames() { + // delete surfaces array + MSDK_SAFE_DELETE_ARRAY(m_pEncSurfaces); + MSDK_SAFE_DELETE_ARRAY(m_pVppSurfaces); + + // delete frames + if (m_pMFXAllocator) { + m_pMFXAllocator->Free(m_pMFXAllocator->pthis, &m_EncResponse); + m_pMFXAllocator->Free(m_pMFXAllocator->pthis, &m_VppResponse); + m_pMFXAllocator->Free(m_pMFXAllocator->pthis, &m_PreEncResponse); + } +#if (MFX_VERSION < 2000) + for (auto &buffer : m_PreEncAuxPool) { + if (buffer.encOutput.ExtParam) { + delete[] buffer.encOutput.ExtParam[0]; + delete[] buffer.encOutput.ExtParam; + } + } + m_PreEncAuxPool.clear(); +#endif +} + +void CEncodingPipeline::DeleteHWDevice() { + MSDK_SAFE_DELETE(m_hwdev); +} + +void CEncodingPipeline::DeleteAllocator() { + // delete allocator + MSDK_SAFE_DELETE(m_pMFXAllocator); + MSDK_SAFE_DELETE(m_pmfxAllocatorParams); + + DeleteHWDevice(); +} + +CEncodingPipeline::CEncodingPipeline() : m_UserDataUnregSEI(), m_EncCtrls() { + m_strDevicePath = ""; + m_pmfxENC = NULL; + m_pmfxVPP = NULL; +#if (MFX_VERSION < 2000) + m_pmfxPreENC = NULL; +#endif +#if (MFX_VERSION >= 2000) + m_mfxLoader = NULL; + m_pmfxMemory = NULL; + m_bAPI2XInternalMem = false; +#endif + m_pMFXAllocator = NULL; + m_pmfxAllocatorParams = NULL; + m_memType = SYSTEM_MEMORY; + m_bExternalAlloc = false; + m_pEncSurfaces = NULL; + m_pVppSurfaces = NULL; + m_InputFourCC = 0; + + m_nPerfOpt = 0; + m_nTimeout = 0; + + m_nFramesRead = 0; + m_bFileWriterReset = false; + + m_bSoftRobustFlag = false; + m_bSingleTexture = false; + + m_MVCflags = MVC_DISABLED; + m_nNumView = 0; + + m_FileWriters.first = m_FileWriters.second = NULL; + +#if (MFX_VERSION >= 2000) + m_IVFFileWriters.first = m_IVFFileWriters.second = NULL; +#endif + + m_hwdev = NULL; + +#if (MFX_VERSION >= 1027) + m_round_in = nullptr; +#endif + + m_EncResponse = { 0 }; + m_VppResponse = { 0 }; + m_PreEncResponse = { 0 }; + + isV4L2InputEnabled = false; + + m_nFramesToProcess = 0; + m_bCutOutput = false; + m_bTimeOutExceed = false; + m_bInsertIDR = false; + + m_bIsFieldSplitting = false; + + m_bQPFileMode = false; + + m_nEncSurfIdx = 0; + m_nVppSurfIdx = 0; +} + +CEncodingPipeline::~CEncodingPipeline() { + Close(); +} + +#if (MFX_VERSION >= 2000) +mfxStatus CEncodingPipeline::InitIVFFileWriter(CIVFFrameWriter **ppWriter, + const msdk_char *filename, + const mfxU16 w, + const mfxU16 h, + const mfxU32 fr_nom, + const mfxU32 fr_denom) { + MSDK_CHECK_ERROR(ppWriter, NULL, MFX_ERR_NULL_PTR); + + MSDK_SAFE_DELETE(*ppWriter); + *ppWriter = new CIVFFrameWriter; + MSDK_CHECK_POINTER(*ppWriter, MFX_ERR_MEMORY_ALLOC); + mfxStatus sts = (*ppWriter)->Init(filename, w, h, fr_nom, fr_denom); + MSDK_CHECK_STATUS(sts, " failed"); + + return sts; +} +#endif + +mfxStatus CEncodingPipeline::InitFileWriter(CSmplBitstreamWriter **ppWriter, + const msdk_char *filename) { + MSDK_CHECK_ERROR(ppWriter, NULL, MFX_ERR_NULL_PTR); + + MSDK_SAFE_DELETE(*ppWriter); + *ppWriter = new CSmplBitstreamWriter; + MSDK_CHECK_POINTER(*ppWriter, MFX_ERR_MEMORY_ALLOC); + mfxStatus sts = (*ppWriter)->Init(filename); + MSDK_CHECK_STATUS(sts, " failed"); + + return sts; +} + +mfxStatus CEncodingPipeline::InitFileWriters(sInputParams *pParams) { + MSDK_CHECK_POINTER(pParams, MFX_ERR_NULL_PTR); + + mfxStatus sts = MFX_ERR_NONE; + + // no output mode + if (!pParams->dstFileBuff.size()) + return MFX_ERR_NONE; + + // prepare output file writers +#if (MFX_VERSION < 2000) + // ViewOutput mode: output in single bitstream + if ((MVC_VIEWOUTPUT & pParams->MVC_flags) && (pParams->dstFileBuff.size() <= 1)) { + sts = InitFileWriter(&m_FileWriters.first, pParams->dstFileBuff[0]); + MSDK_CHECK_STATUS(sts, "InitFileWriter failed"); + + m_FileWriters.second = m_FileWriters.first; + } + // ViewOutput mode: 2 bitstreams in separate files + else if ((MVC_VIEWOUTPUT & pParams->MVC_flags) && (pParams->dstFileBuff.size() <= 2)) { + sts = InitFileWriter(&m_FileWriters.first, pParams->dstFileBuff[0]); + MSDK_CHECK_STATUS(sts, "InitFileWriter failed"); + + sts = InitFileWriter(&m_FileWriters.second, pParams->dstFileBuff[1]); + MSDK_CHECK_STATUS(sts, "InitFileWriter failed"); + } + // ViewOutput mode: 3 bitstreams - 2 separate & 1 merged + else if ((MVC_VIEWOUTPUT & pParams->MVC_flags) && (pParams->dstFileBuff.size() <= 3)) { + std::unique_ptr first(new CSmplBitstreamDuplicateWriter); + + // init first duplicate writer + MSDK_CHECK_POINTER(first.get(), MFX_ERR_MEMORY_ALLOC); + sts = first->Init(pParams->dstFileBuff[0]); + MSDK_CHECK_STATUS(sts, "first->Init failed"); + sts = first->InitDuplicate(pParams->dstFileBuff[2]); + MSDK_CHECK_STATUS(sts, "first->InitDuplicate failed"); + + // init second duplicate writer + std::unique_ptr second(new CSmplBitstreamDuplicateWriter); + MSDK_CHECK_POINTER(second.get(), MFX_ERR_MEMORY_ALLOC); + sts = second->Init(pParams->dstFileBuff[1]); + MSDK_CHECK_STATUS(sts, "second->Init failed"); + sts = second->JoinDuplicate(first.get()); + MSDK_CHECK_STATUS(sts, "second->JoinDuplicate failed"); + + m_FileWriters.first = first.release(); + m_FileWriters.second = second.release(); + } + // not ViewOutput mode + else +#endif + { +#if (MFX_VERSION >= 2000) + if (pParams->CodecId == MFX_CODEC_AV1) { + mfxU32 fr_nom, fr_denom; + ConvertFrameRate(pParams->dFrameRate, &fr_nom, &fr_denom); + sts = InitIVFFileWriter(&m_IVFFileWriters.first, + pParams->dstFileBuff[0], + pParams->nWidth, + pParams->nHeight, + fr_nom, + fr_denom); + } + else +#endif + sts = InitFileWriter(&m_FileWriters.first, pParams->dstFileBuff[0]); + MSDK_CHECK_STATUS(sts, "File writer initialization failed"); + } + + return sts; +} + +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) +mfxU16 FourCcBitDepth(mfxU32 fourCC) { + switch (fourCC) { + case MFX_FOURCC_NV12: + case MFX_FOURCC_NV16: + case MFX_FOURCC_YUY2: + case MFX_FOURCC_AYUV: + return 8; + break; + #if (MFX_VERSION >= 2000) + case MFX_FOURCC_I010: + #endif + case MFX_FOURCC_P010: + case MFX_FOURCC_P210: + #if (MFX_VERSION >= 1027) + case MFX_FOURCC_Y210: + case MFX_FOURCC_Y410: + #endif + return 10; + break; + + #if (MFX_VERSION >= 1031) + case MFX_FOURCC_P016: + case MFX_FOURCC_Y216: + case MFX_FOURCC_Y416: + return 12; + break; + #endif + default: + return 0; + } +} +#endif + +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) +mfxU32 CEncodingPipeline::GetPreferredAdapterNum(const mfxAdaptersInfo &adapters, + const sInputParams ¶ms) { + if (adapters.NumActual == 0 || !adapters.Adapters) + return 0; + + if (params.bPrefferdGfx) { + // Find dGfx adapter in list and return it's index + + auto idx = std::find_if(adapters.Adapters, + adapters.Adapters + adapters.NumActual, + [](const mfxAdapterInfo info) { + return info.Platform.MediaAdapterType == + mfxMediaAdapterType::MFX_MEDIA_DISCRETE; + }); + + // No dGfx in list + if (idx == adapters.Adapters + adapters.NumActual) { + msdk_printf( + MSDK_STRING("Warning: No dGfx detected on machine. Will pick another adapter\n")); + return 0; + } + + return static_cast(std::distance(adapters.Adapters, idx)); + } + + if (params.bPrefferiGfx) { + // Find iGfx adapter in list and return it's index + + auto idx = std::find_if(adapters.Adapters, + adapters.Adapters + adapters.NumActual, + [](const mfxAdapterInfo info) { + return info.Platform.MediaAdapterType == + mfxMediaAdapterType::MFX_MEDIA_INTEGRATED; + }); + + // No iGfx in list + if (idx == adapters.Adapters + adapters.NumActual) { + msdk_printf( + MSDK_STRING("Warning: No iGfx detected on machine. Will pick another adapter\n")); + return 0; + } + + return static_cast(std::distance(adapters.Adapters, idx)); + } + + // Other ways return 0, i.e. best suitable detected by dispatcher + return 0; +} +#endif // (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + +mfxStatus CEncodingPipeline::GetImpl(const sInputParams ¶ms, mfxIMPL &impl) { + if (!params.bUseHWLib) { + impl = MFX_IMPL_SOFTWARE; + return MFX_ERR_NONE; + } + +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + mfxU32 num_adapters_available = 1; + + #if (MFX_VERSION < 2000) + mfxStatus sts = MFXQueryAdaptersNumber(&num_adapters_available); + MSDK_CHECK_STATUS(sts, "MFXQueryAdaptersNumber failed"); + #endif + + mfxComponentInfo interface_request = { mfxComponentType::MFX_COMPONENT_ENCODE }; + + bool isFourccNeedShift = + params.FileInputFourCC == MFX_FOURCC_P010 || params.FileInputFourCC == MFX_FOURCC_P210 + #if (MFX_VERSION >= 1027) + || params.FileInputFourCC == MFX_FOURCC_Y210 + #endif + #if (MFX_VERSION >= 1031) + || params.FileInputFourCC == MFX_FOURCC_Y216 || params.FileInputFourCC == MFX_FOURCC_P016 + #endif + ; + + #if (MFX_VERSION < 2000) + mfxU16 Shift = params.IsSourceMSB || + (isFourccNeedShift && + ((params.memType != SYSTEM_MEMORY && + AreGuidsEqual(params.pluginParams.pluginGuid, MFX_PLUGINID_HEVCE_HW)) || + params.CodecId == MFX_CODEC_VP9)); + #else + mfxU16 Shift = params.IsSourceMSB || (isFourccNeedShift && (params.memType != SYSTEM_MEMORY && + (params.CodecId == MFX_CODEC_HEVC || + params.CodecId == MFX_CODEC_VP9))); + #endif + + mfxU16 Height = (MFX_PICSTRUCT_PROGRESSIVE == params.nPicStruct) + ? MSDK_ALIGN16(params.nDstHeight) + : MSDK_ALIGN32(params.nDstHeight); + mfxU16 LowPower = mfxU16(params.enableQSVFF ? MFX_CODINGOPTION_ON : MFX_CODINGOPTION_UNKNOWN); + mfxU16 BitDepth = FourCcBitDepth(params.EncodeFourCC); + + interface_request.Requirements = {}; + interface_request.Requirements.mfx.LowPower = LowPower; + interface_request.Requirements.mfx.TargetUsage = params.nTargetUsage; + interface_request.Requirements.mfx.CodecId = params.CodecId; + interface_request.Requirements.mfx.CodecProfile = params.CodecProfile; + interface_request.Requirements.mfx.CodecLevel = params.CodecLevel; + interface_request.Requirements.mfx.FrameInfo.BitDepthLuma = BitDepth; + interface_request.Requirements.mfx.FrameInfo.BitDepthChroma = BitDepth; + interface_request.Requirements.mfx.FrameInfo.Shift = Shift; + interface_request.Requirements.mfx.FrameInfo.FourCC = params.EncodeFourCC; + interface_request.Requirements.mfx.FrameInfo.Width = MSDK_ALIGN16(params.nDstWidth); + interface_request.Requirements.mfx.FrameInfo.Height = Height; + interface_request.Requirements.mfx.FrameInfo.PicStruct = params.nPicStruct; + interface_request.Requirements.mfx.FrameInfo.ChromaFormat = FourCCToChroma(params.EncodeFourCC); + + /* Note! IOPattern is mandatory according to MSDK manual! */ + if (D3D9_MEMORY == params.memType || D3D11_MEMORY == params.memType) { + interface_request.Requirements.IOPattern = MFX_IOPATTERN_IN_VIDEO_MEMORY; + } + else { + interface_request.Requirements.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY; + } + + // JPEG encoder settings overlap with other encoders settings in mfxInfoMFX structure + if (MFX_CODEC_JPEG == params.CodecId) { + interface_request.Requirements.mfx.Interleaved = 1; + interface_request.Requirements.mfx.Quality = params.nQuality; + interface_request.Requirements.mfx.RestartInterval = 0; + MSDK_ZERO_MEMORY(interface_request.Requirements.mfx.reserved5); + } + + std::vector displays_data(num_adapters_available); + #if (MFX_VERSION < 2000) + mfxAdaptersInfo adapters = { displays_data.data(), mfxU32(displays_data.size()), 0u }; + sts = MFXQueryAdapters(&interface_request, &adapters); + if (sts == MFX_ERR_NOT_FOUND) { + msdk_printf(MSDK_STRING("ERROR: No suitable adapters found for this workload\n")); + } + MSDK_CHECK_STATUS(sts, "MFXQueryAdapters failed"); + + mfxU32 idx = GetPreferredAdapterNum(adapters, params); + switch (adapters.Adapters[idx].Number) { + case 0: + impl = MFX_IMPL_HARDWARE; + break; + case 1: + impl = MFX_IMPL_HARDWARE2; + break; + case 2: + impl = MFX_IMPL_HARDWARE3; + break; + case 3: + impl = MFX_IMPL_HARDWARE4; + break; + + default: + // try searching on all display adapters + impl = MFX_IMPL_HARDWARE_ANY; + break; + } + #else + impl = MFX_IMPL_HARDWARE_ANY; + #endif +#else + // Library should pick first available compatible adapter during InitEx call with MFX_IMPL_HARDWARE_ANY + impl = MFX_IMPL_HARDWARE_ANY; +#endif // (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + + // If d3d11 surfaces are used ask the library to run acceleration through D3D11 + // feature may be unsupported due to OS or MSDK API version + if (D3D11_MEMORY == params.memType) + impl |= MFX_IMPL_VIA_D3D11; + + return MFX_ERR_NONE; +} + +mfxStatus CEncodingPipeline::Init(sInputParams *pParams) { + MSDK_CHECK_POINTER(pParams, MFX_ERR_NULL_PTR); + +#if defined ENABLE_V4L2_SUPPORT + isV4L2InputEnabled = pParams->isV4L2InputEnabled; +#endif + + m_MVCflags = pParams->MVC_flags; + + // FileReader can convert yv12->nv12 without vpp + m_InputFourCC = + (pParams->FileInputFourCC == MFX_FOURCC_I420) ? MFX_FOURCC_NV12 : pParams->FileInputFourCC; +#if (MFX_VERSION >= 2000) + if (pParams->bUseHWLib == true) + pParams->EncodeFourCC = MFX_FOURCC_NV12; + else + pParams->EncodeFourCC = MFX_FOURCC_I420; +#endif + m_nTimeout = pParams->nTimeout; + + m_strDevicePath = pParams->strDevicePath; + + mfxInitParamlWrap initPar; + +#if (MFX_VERSION >= 2000) + initPar.Version.Major = (pParams->bUseHWLib == true) ? 1 : 2; + initPar.Version.Minor = 0; +#else + // we set version to 1.0 and later we will query actual version of the library which will got leaded + initPar.Version.Major = 1; + initPar.Version.Minor = 0; +#endif + + initPar.GPUCopy = pParams->gpuCopy; + m_bSingleTexture = pParams->bSingleTexture; + + mfxStatus sts = GetImpl(*pParams, initPar.Implementation); + MSDK_CHECK_STATUS(sts, "GetImpl failed"); + + if (pParams->api2xDispatcher) { + // Initialize VPL session using 2.x smart dispatcher + // and CLI choice of target implementation + mfxVariant implValue; + implValue.Type = MFX_VARIANT_TYPE_U32; + if (!pParams->bUseHWLib) { + implValue.Data.U32 = MFX_IMPL_TYPE_SOFTWARE; + } + else { + implValue.Data.U32 = MFX_IMPL_TYPE_HARDWARE; + } + m_mfxLoader = MFXLoad(); + mfxConfig cfg = MFXCreateConfig(m_mfxLoader); + sts = MFXSetConfigFilterProperty( + cfg, + reinterpret_cast(const_cast("mfxImplDescription.Impl")), + implValue); + sts = MFXCreateSession(m_mfxLoader, 0, m_mfxSession.getSessionPtr()); + } + else { + sts = m_mfxSession.InitEx(initPar); + MSDK_CHECK_STATUS(sts, "m_mfxSession.InitEx failed"); + } + + mfxVersion version; + sts = MFXQueryVersion(m_mfxSession, &version); // get real API version of the loaded library + MSDK_CHECK_STATUS(sts, "MFXQueryVersion failed"); + +#if (MFX_VERSION < 2000) + if ((pParams->MVC_flags & MVC_ENABLED) != 0 && !CheckVersion(&version, MSDK_FEATURE_MVC)) { + msdk_printf(MSDK_STRING("error: MVC is not supported in the %d.%d API version\n"), + version.Major, + version.Minor); + return MFX_ERR_UNSUPPORTED; + } + if ((pParams->MVC_flags & MVC_VIEWOUTPUT) != 0 && + !CheckVersion(&version, MSDK_FEATURE_MVC_VIEWOUTPUT)) { + msdk_printf( + MSDK_STRING("error: MVC Viewoutput is not supported in the %d.%d API version\n"), + version.Major, + version.Minor); + return MFX_ERR_UNSUPPORTED; + } +#endif + +#if (MFX_VERSION < 2000) + if ((pParams->CodecId == MFX_CODEC_JPEG) && !CheckVersion(&version, MSDK_FEATURE_JPEG_ENCODE) && + (!params.bUseHWLib)) { + msdk_printf(MSDK_STRING("error: Jpeg is not supported in the %d.%d API version\n"), + version.Major, + version.Minor); + return MFX_ERR_UNSUPPORTED; + } +#endif + + if ((pParams->nRateControlMethod == MFX_RATECONTROL_LA) && + !CheckVersion(&version, MSDK_FEATURE_LOOK_AHEAD)) { + msdk_printf(MSDK_STRING("error: Look ahead is not supported in the %d.%d API version\n"), + version.Major, + version.Minor); + return MFX_ERR_UNSUPPORTED; + } +#if (MFX_VERSION < 2000) + if (CheckVersion(&version, MSDK_FEATURE_PLUGIN_API)) { + /* Here we actually define the following codec initialization scheme: + * 1. If plugin path or guid is specified: we load user-defined plugin (example: HEVC encoder plugin) + * 2. If plugin path not specified: + * 2.a) we check if codec is distributed as a mediasdk plugin and load it if yes + * 2.b) if codec is not in the list of mediasdk plugins, we assume, that it is supported inside mediasdk library + */ + if (pParams->pluginParams.type == MFX_PLUGINLOAD_TYPE_FILE && + msdk_strnlen(pParams->pluginParams.strPluginPath, + sizeof(pParams->pluginParams.strPluginPath))) { + m_pUserModule.reset(new MFXVideoUSER(m_mfxSession)); + m_pPlugin.reset( + LoadPlugin(MFX_PLUGINTYPE_VIDEO_ENCODE, + m_mfxSession, + pParams->pluginParams.pluginGuid, + 1, + pParams->pluginParams.strPluginPath, + (mfxU32)msdk_strnlen(pParams->pluginParams.strPluginPath, + sizeof(pParams->pluginParams.strPluginPath)))); + if (m_pPlugin.get() == NULL) + sts = MFX_ERR_UNSUPPORTED; + } + else { + bool isDefaultPlugin = false; + if (AreGuidsEqual(pParams->pluginParams.pluginGuid, MSDK_PLUGINGUID_NULL)) { + mfxIMPL impl = pParams->bUseHWLib ? MFX_IMPL_HARDWARE : MFX_IMPL_SOFTWARE; + pParams->pluginParams.pluginGuid = + msdkGetPluginUID(impl, MSDK_VENCODE, pParams->CodecId); + isDefaultPlugin = true; + } + if (!AreGuidsEqual(pParams->pluginParams.pluginGuid, MSDK_PLUGINGUID_NULL)) { + m_pPlugin.reset(LoadPlugin(MFX_PLUGINTYPE_VIDEO_ENCODE, + m_mfxSession, + pParams->pluginParams.pluginGuid, + 1)); + if (m_pPlugin.get() == NULL) + sts = MFX_ERR_UNSUPPORTED; + } + if (sts == MFX_ERR_UNSUPPORTED) { + msdk_printf( + MSDK_STRING("%s"), + isDefaultPlugin + ? MSDK_STRING( + "Default plugin cannot be loaded (possibly you have to define plugin explicitly)\n") + : MSDK_STRING("Explicitly specified plugin cannot be loaded.\n")); + } + } + MSDK_CHECK_STATUS(sts, "LoadPlugin failed"); + } + + if (pParams->bEnableExtLA) { + m_pPreEncPlugin.reset( + LoadPlugin(MFX_PLUGINTYPE_VIDEO_ENCODE, m_mfxSession, MFX_PLUGINID_H264LA_HW, 1)); + MSDK_CHECK_POINTER(m_pPreEncPlugin, MFX_ERR_UNSUPPORTED) + m_pmfxPreENC = new MFXVideoENC(m_mfxSession); + MSDK_CHECK_POINTER(m_pmfxPreENC, MFX_ERR_MEMORY_ALLOC); + } +#endif + + // create encoder + m_pmfxENC = new MFXVideoENCODE(m_mfxSession); + MSDK_CHECK_POINTER(m_pmfxENC, MFX_ERR_MEMORY_ALLOC); + +#if (MFX_VERSION >= 2000) + // create internal memory allocator + m_pmfxMemory = new MFXMemory(m_mfxSession); + MSDK_CHECK_POINTER(m_pmfxMemory, MFX_ERR_MEMORY_ALLOC); + m_bAPI2XInternalMem = (pParams->api2xInternalMem) ? true : false; +#endif + + bool bVpp = false; + if (pParams->nPicStruct != MFX_PICSTRUCT_PROGRESSIVE && pParams->CodecId == MFX_CODEC_HEVC) { + bVpp = true; + m_bIsFieldSplitting = true; + } + + // create preprocessor if resizing was requested from command line + // or if different FourCC is set + if (pParams->nWidth != pParams->nDstWidth || pParams->nHeight != pParams->nDstHeight || + pParams->FileInputFourCC != pParams->EncodeFourCC) + + { + bVpp = true; + if (m_bIsFieldSplitting) { + msdk_printf(MSDK_STRING( + "ERROR: Field Splitting is enabled according to streams parameters. Other VPP filters cannot be used in this mode, please remove corresponding options.\n")); + return MFX_ERR_UNSUPPORTED; + } + } + + if (bVpp) { + msdk_printf(MSDK_STRING("Note: VPP is enabled.\n")); + m_pmfxVPP = new MFXVideoVPP(m_mfxSession); + MSDK_CHECK_POINTER(m_pmfxVPP, MFX_ERR_MEMORY_ALLOC); + } + // Determine if we should shift P010 surfaces + bool readerShift = false; + if (pParams->FileInputFourCC == MFX_FOURCC_P010 || pParams->FileInputFourCC == MFX_FOURCC_P210 +#if (MFX_VERSION >= 1027) + || pParams->FileInputFourCC == MFX_FOURCC_Y210 +#endif +#if (MFX_VERSION >= 1031) + || pParams->FileInputFourCC == MFX_FOURCC_Y216 || + pParams->FileInputFourCC == MFX_FOURCC_P016 +#endif + ) { + if (pParams->IsSourceMSB) { + pParams->shouldUseShifted10BitVPP = true; + pParams->shouldUseShifted10BitEnc = true; + } + else { + pParams->shouldUseShifted10BitVPP = m_pmfxVPP && pParams->memType != SYSTEM_MEMORY; + + // pParams->shouldUseShifted10BitEnc = (pParams->memType != SYSTEM_MEMORY && AreGuidsEqual(pParams->pluginParams.pluginGuid, MFX_PLUGINID_HEVCE_HW)) || pParams->CodecId == MFX_CODEC_VP9; + readerShift = + m_pmfxVPP ? pParams->shouldUseShifted10BitVPP : pParams->shouldUseShifted10BitEnc; + } + } + + if (readerShift) { + msdk_printf(MSDK_STRING( + "\n10-bit frames data will be shifted to MSB area to be compatible with MSDK 10-bit input format\n")); + } + + if (m_pmfxVPP && pParams->shouldUseShifted10BitVPP && !pParams->shouldUseShifted10BitEnc && + pParams->bUseHWLib) { + msdk_printf(MSDK_STRING( + "ERROR: Encoder requires P010 LSB format. VPP currently supports only MSB encoding for P010 format.\nSample cannot combine both of them in one pipeline.\n")); + return MFX_ERR_UNSUPPORTED; + } + + // Preparing readers and writers + if (!isV4L2InputEnabled) { + // prepare input file reader + sts = m_FileReader.Init(pParams->InputFiles, pParams->FileInputFourCC, readerShift); + MSDK_CHECK_STATUS(sts, "m_FileReader.Init failed"); + } + + sts = InitFileWriters(pParams); + MSDK_CHECK_STATUS(sts, "InitFileWriters failed"); + + // set memory type + m_memType = pParams->memType; + m_nPerfOpt = pParams->nPerfOpt; + + m_bSoftRobustFlag = pParams->bSoftRobustFlag; + + // create and init frame allocator + sts = CreateAllocator(); + MSDK_CHECK_STATUS(sts, "CreateAllocator failed"); + + sts = InitMfxEncParams(pParams); + MSDK_CHECK_STATUS(sts, "InitMfxEncParams failed"); + + sts = InitMfxVppParams(pParams); + MSDK_CHECK_STATUS(sts, "InitMfxVppParams failed"); + +#if (MFX_VERSION < 2000) + if (pParams->bEnableExtLA) { + sts = InitMfxPreEncParams(pParams); + MSDK_CHECK_STATUS(sts, "InitMfxPreEncParams failed"); + } + + // MVC specific options + if (MVC_ENABLED & m_MVCflags) { + auto mvcBuffer = m_mfxEncParams.AddExtBuffer(); + InitExtMVCBuffers(mvcBuffer); + } +#endif + sts = ResetMFXComponents(pParams); + MSDK_CHECK_STATUS(sts, "ResetMFXComponents failed"); + + sts = OpenRoundingOffsetFile(pParams); + MSDK_CHECK_STATUS(sts, "Failed to open file"); + + InitV4L2Pipeline(pParams); + + m_nFramesToProcess = pParams->nNumFrames; + + // If output isn't specified work in performance mode and do not insert idr + m_bCutOutput = pParams->dstFileBuff.size() ? !pParams->bUncut : false; + + // Dumping components configuration if required + if (*pParams->DumpFileName) { + CParametersDumper::DumpLibraryConfiguration(pParams->DumpFileName, + NULL, + m_pmfxVPP, + m_pmfxENC, + NULL, + &m_mfxVppParams, + &m_mfxEncParams); + } + + return MFX_ERR_NONE; +} + +void CEncodingPipeline::InitV4L2Pipeline(sInputParams * /*pParams*/) { +#if defined(ENABLE_V4L2_SUPPORT) + if (isV4L2InputEnabled) { + int i; + v4l2Pipeline.Init(pParams->DeviceName, + pParams->nWidth, + pParams->nHeight, + m_VppResponse.NumFrameActual, + pParams->v4l2Format, + pParams->MipiMode, + pParams->MipiPort); + + v4l2Pipeline.V4L2Alloc(); + + for (i = 0; i < m_VppResponse.NumFrameActual; i++) { + buffers[i].index = i; + struct vaapiMemId *vaapi = (struct vaapiMemId *)m_pVppSurfaces[i].Data.MemId; + + buffers[i].fd = vaapi->m_buffer_info.handle; + v4l2Pipeline.V4L2QueueBuffer(&buffers[i]); + } + } +#endif +} + +mfxStatus CEncodingPipeline::CaptureStartV4L2Pipeline() { +#if defined(ENABLE_V4L2_SUPPORT) + if (isV4L2InputEnabled) { + v4l2Pipeline.V4L2StartCapture(); + + v4l2Device *m_v4l2Display = &v4l2Pipeline; + + if (pthread_create(&m_PollThread, NULL, PollingThread, (void *)m_v4l2Display)) { + msdk_printf(MSDK_STRING("Couldn't create v4l2 polling thread\n")); + return MFX_ERR_UNKNOWN; + } + } + +#endif + return MFX_ERR_NONE; +} + +void CEncodingPipeline::CaptureStopV4L2Pipeline() { +#if defined(ENABLE_V4L2_SUPPORT) + if (isV4L2InputEnabled) { + pthread_join(m_PollThread, NULL); + v4l2Pipeline.V4L2StopCapture(); + } +#endif +} + +void CEncodingPipeline::InsertIDR(mfxEncodeCtrl &ctrl, bool forceIDR) { + ctrl.FrameType = + forceIDR ? MFX_FRAMETYPE_I | MFX_FRAMETYPE_IDR | MFX_FRAMETYPE_REF : MFX_FRAMETYPE_UNKNOWN; +} + +mfxStatus CEncodingPipeline::InitEncFrameParams(sTask *pTask) { + MSDK_CHECK_POINTER(pTask, MFX_ERR_NULL_PTR); + + mfxEncodeCtrlWrap &ctrl = pTask->encCtrl; + if (m_round_in) { + ctrl.AddExtBuffer(); + + auto numFields = + m_mfxEncParams.mfx.FrameInfo.PicStruct == MFX_PICSTRUCT_PROGRESSIVE ? 1 : 2; + + for (auto fieldId = 0; fieldId < numFields; ++fieldId) { + auto ro = ctrl.GetExtBuffer(fieldId); + MSDK_CHECK_POINTER(ro, MFX_ERR_NULL_PTR); + + SAFE_FREAD(&ro->EnableRoundingIntra, sizeof(mfxU16), 1, m_round_in, MFX_ERR_MORE_DATA); + SAFE_FREAD(&ro->RoundingOffsetIntra, sizeof(mfxU16), 1, m_round_in, MFX_ERR_MORE_DATA); + SAFE_FREAD(&ro->EnableRoundingInter, sizeof(mfxU16), 1, m_round_in, MFX_ERR_MORE_DATA); + SAFE_FREAD(&ro->RoundingOffsetInter, sizeof(mfxU16), 1, m_round_in, MFX_ERR_MORE_DATA); + } + } + + ctrl.Payload = m_UserDataUnregSEI.data(); + ctrl.NumPayload = (mfxU16)m_UserDataUnregSEI.size(); + + return MFX_ERR_NONE; +} + +void CEncodingPipeline::Close() { +#if (MFX_VERSION >= 2000) + if (m_IVFFileWriters.first) { + msdk_printf(MSDK_STRING("Frame number: %u\r\n"), + m_IVFFileWriters.first->m_nProcessedFramesNum); + mfxF64 ProcDeltaTime = m_statOverall.GetDeltaTime() - m_statFile.GetDeltaTime() - + m_TaskPool.GetFileStatistics().GetDeltaTime(); + msdk_printf(MSDK_STRING("Encoding fps: %.0f\n"), + m_IVFFileWriters.first->m_nProcessedFramesNum / ProcDeltaTime); + } +#endif + if (m_FileWriters.first) { + msdk_printf(MSDK_STRING("Frame number: %u\r\n"), + m_FileWriters.first->m_nProcessedFramesNum); + mfxF64 ProcDeltaTime = m_statOverall.GetDeltaTime() - m_statFile.GetDeltaTime() - + m_TaskPool.GetFileStatistics().GetDeltaTime(); + msdk_printf(MSDK_STRING("Encoding fps: %.0f\n"), + m_FileWriters.first->m_nProcessedFramesNum / ProcDeltaTime); + } + + std::for_each(m_UserDataUnregSEI.begin(), m_UserDataUnregSEI.end(), [](mfxPayload *payload) { + delete[] payload->Data; + delete payload; + }); + m_UserDataUnregSEI.clear(); + + MSDK_SAFE_DELETE(m_pmfxENC); + MSDK_SAFE_DELETE(m_pmfxVPP); +#if (MFX_VERSION < 2000) + MSDK_SAFE_DELETE(m_pmfxPreENC); +#endif +#if (MFX_VERSION >= 2000) + MSDK_SAFE_DELETE(m_pmfxMemory); +#endif + +#if ((MFX_VERSION >= 1024) && (MFX_VERSION < 2000)) + auto extBRC = m_mfxEncParams.GetExtBuffer(); + if (extBRC) + HEVCExtBRC::Destroy(*extBRC); +#endif + +#if (MFX_VERSION < 2000) + DeallocateExtMVCBuffers(); +#endif + FreeVppFilters(); + + DeleteFrames(); + +#if (MFX_VERSION < 2000) + m_pPlugin.reset(); + m_pPreEncPlugin.reset(); +#endif + m_TaskPool.Close(); + m_mfxSession.Close(); + if (m_mfxLoader) { + MFXUnload(m_mfxLoader); + m_mfxLoader = NULL; + } + m_FileReader.Close(); + FreeFileWriters(); + +#if (MFX_VERSION >= 1027) + if (m_round_in) { + fclose(m_round_in); + m_round_in = nullptr; + } +#endif + // allocator if used as external for MediaSDK must be deleted after SDK components + DeleteAllocator(); +} + +void CEncodingPipeline::FreeFileWriters() { +#if (MFX_VERSION >= 2000) + if (m_IVFFileWriters.second == m_IVFFileWriters.first) { + m_IVFFileWriters.second = NULL; // second do not own the writer - just forget pointer + } + + if (m_IVFFileWriters.first) + m_IVFFileWriters.first->Close(); + MSDK_SAFE_DELETE(m_IVFFileWriters.first); + + if (m_IVFFileWriters.second) + m_IVFFileWriters.second->Close(); + MSDK_SAFE_DELETE(m_IVFFileWriters.second); +#endif + + if (m_FileWriters.second == m_FileWriters.first) { + m_FileWriters.second = NULL; // second do not own the writer - just forget pointer + } + + if (m_FileWriters.first) + m_FileWriters.first->Close(); + MSDK_SAFE_DELETE(m_FileWriters.first); + + if (m_FileWriters.second) + m_FileWriters.second->Close(); + MSDK_SAFE_DELETE(m_FileWriters.second); +} + +mfxStatus CEncodingPipeline::FillBuffers() { + if (m_nPerfOpt) { + for (mfxU32 i = 0; i < m_nPerfOpt; i++) { + mfxFrameSurface1 *surface = m_pmfxVPP ? &m_pVppSurfaces[i] : &m_pEncSurfaces[i]; + + mfxStatus sts = + m_pMFXAllocator->Lock(m_pMFXAllocator->pthis, surface->Data.MemId, &surface->Data); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Lock failed"); + sts = m_FileReader.LoadNextFrame(surface); + MSDK_CHECK_STATUS(sts, "m_FileReader.LoadNextFrame failed"); + sts = m_pMFXAllocator->Unlock(m_pMFXAllocator->pthis, + surface->Data.MemId, + &surface->Data); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Unlock failed"); + } + } + return MFX_ERR_NONE; +} + +mfxStatus CEncodingPipeline::ResetMFXComponents(sInputParams *pParams) { + MSDK_CHECK_POINTER(pParams, MFX_ERR_NULL_PTR); + MSDK_CHECK_POINTER(m_pmfxENC, MFX_ERR_NOT_INITIALIZED); + + mfxStatus sts = MFX_ERR_NONE; + sts = m_pmfxENC->Close(); + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_STATUS(sts, "m_pmfxENC->Close failed"); + + if (m_pmfxVPP) { + sts = m_pmfxVPP->Close(); + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_STATUS(sts, "m_pmfxVPP->Close failed"); + } + + // free allocated frames + DeleteFrames(); + + m_TaskPool.Close(); + + sts = AllocFrames(); + MSDK_CHECK_STATUS(sts, "AllocFrames failed"); + + m_mfxEncParams.mfx.FrameInfo.FourCC = m_mfxPreEncParams.mfx.FrameInfo.FourCC = + m_mfxVppParams.vpp.Out.FourCC; + m_mfxEncParams.mfx.FrameInfo.ChromaFormat = m_mfxPreEncParams.mfx.FrameInfo.ChromaFormat = + m_mfxVppParams.vpp.Out.ChromaFormat; + +#if (MFX_VERSION < 2000) + // LA initialization + if (m_pmfxPreENC) { + sts = m_pmfxPreENC->Init(&m_mfxPreEncParams); + if (MFX_WRN_PARTIAL_ACCELERATION == sts) { + msdk_printf(MSDK_STRING("WARNING: partial acceleration\n")); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_PARTIAL_ACCELERATION); + } + MSDK_CHECK_STATUS(sts, "m_pmfxPreENC->Init failed"); + } +#endif + + if (m_bIsFieldSplitting) { + m_mfxEncParams.mfx.FrameInfo.Height = + MSDK_ALIGN32((m_mfxEncParams.mfx.FrameInfo.Height / 2)); + m_mfxEncParams.mfx.FrameInfo.CropH /= 2; + } + + sts = m_pmfxENC->Init(&m_mfxEncParams); + if (MFX_WRN_PARTIAL_ACCELERATION == sts) { + msdk_printf(MSDK_STRING("WARNING: partial acceleration\n")); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_PARTIAL_ACCELERATION); + } + MSDK_CHECK_STATUS(sts, "m_pmfxENC->Init failed"); + + sts = m_pmfxENC->GetVideoParam(&m_mfxEncParams); + MSDK_CHECK_STATUS(sts, "m_pmfxENC->GetVideoParam failed"); + + if (m_bIsFieldSplitting) { + if (pParams->nPicStruct & MFX_PICSTRUCT_FIELD_BFF) { + m_mfxVppParams.vpp.In.PicStruct = MFX_PICSTRUCT_FIELD_BFF; + } + else { + m_mfxVppParams.vpp.In.PicStruct = MFX_PICSTRUCT_FIELD_TFF; + } + m_mfxVppParams.vpp.Out.PicStruct = MFX_PICSTRUCT_FIELD_SINGLE; + } + if (m_pmfxVPP) { + sts = m_pmfxVPP->Init(&m_mfxVppParams); + if (MFX_WRN_PARTIAL_ACCELERATION == sts) { + msdk_printf(MSDK_STRING("WARNING: partial acceleration\n")); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_PARTIAL_ACCELERATION); + } + MSDK_CHECK_STATUS(sts, "m_pmfxVPP->Init failed"); + } + + mfxU32 nEncodedDataBufferSize = + m_mfxEncParams.mfx.FrameInfo.Width * m_mfxEncParams.mfx.FrameInfo.Height * 4; + + void *fw_First = m_FileWriters.first; + void *fw_Second = m_FileWriters.second; + +#if (MFX_VERSION >= 2000) + if (pParams->CodecId == MFX_CODEC_AV1) { + fw_First = m_IVFFileWriters.first; + fw_Second = m_IVFFileWriters.second; + } +#endif + + sts = m_TaskPool.Init(&m_mfxSession, + fw_First, + m_mfxEncParams.AsyncDepth, + nEncodedDataBufferSize, + pParams->CodecId, + fw_Second); + + MSDK_CHECK_STATUS(sts, "m_TaskPool.Init failed"); + + if (m_bSoftRobustFlag) + m_TaskPool.SetGpuHangRecoveryFlag(); + + sts = FillBuffers(); + MSDK_CHECK_STATUS(sts, "FillBuffers failed"); + + return MFX_ERR_NONE; +} + +mfxStatus CEncodingPipeline::OpenRoundingOffsetFile(sInputParams *pInParams) { + MSDK_CHECK_POINTER(pInParams, MFX_ERR_NULL_PTR); + +#if (MFX_VERSION >= 1027) + bool enableRoundingOffset = + pInParams->RoundingOffsetFile && pInParams->CodecId == MFX_CODEC_AVC; + if (enableRoundingOffset && m_round_in == nullptr) { + MSDK_FOPEN(m_round_in, pInParams->RoundingOffsetFile, MSDK_CHAR("rb")); + if (m_round_in == nullptr) { + msdk_printf(MSDK_STRING("ERROR: Can't open file %s\n"), pInParams->RoundingOffsetFile); + return MFX_ERR_UNSUPPORTED; + } + + msdk_printf(MSDK_STRING("Using rounding offset input file: %s\n"), + pInParams->RoundingOffsetFile); + } + else { + return MFX_ERR_NONE; + } +#endif + + return MFX_ERR_NONE; +} +mfxStatus CEncodingPipeline::AllocateSufficientBuffer(mfxBitstreamWrapper &bs) { + MSDK_CHECK_POINTER(GetFirstEncoder(), MFX_ERR_NOT_INITIALIZED); + + mfxVideoParam par; + MSDK_ZERO_MEMORY(par); + + // find out the required buffer size + mfxStatus sts = GetFirstEncoder()->GetVideoParam(&par); + MSDK_CHECK_STATUS(sts, "GetFirstEncoder failed"); + + bs.Extend(par.mfx.BufferSizeInKB * 1000); + + return MFX_ERR_NONE; +} + +mfxStatus CEncodingPipeline::GetFreeTask(sTask **ppTask) { + mfxStatus sts = MFX_ERR_NONE; + + if (m_bFileWriterReset) { +#if (MFX_VERSION >= 2000) + if (m_IVFFileWriters.first) { + sts = m_IVFFileWriters.first->Reset(); + MSDK_CHECK_STATUS(sts, "m_IVFFileWriters.first->Reset failed"); + } + if (m_IVFFileWriters.second) { + sts = m_IVFFileWriters.second->Reset(); + MSDK_CHECK_STATUS(sts, "m_IVFFileWriters.second->Reset failed"); + } +#endif + if (m_FileWriters.first) { + sts = m_FileWriters.first->Reset(); + MSDK_CHECK_STATUS(sts, "m_FileWriters.first->Reset failed"); + } + if (m_FileWriters.second) { + sts = m_FileWriters.second->Reset(); + MSDK_CHECK_STATUS(sts, "m_FileWriters.second->Reset failed"); + } + m_bFileWriterReset = false; + } + + sts = m_TaskPool.GetFreeTask(ppTask); + if (MFX_ERR_NOT_FOUND == sts) { + sts = m_TaskPool.SynchronizeFirstTask(); + if (sts == MFX_ERR_GPU_HANG && m_bSoftRobustFlag) { + m_TaskPool.ClearTasks(); + FreeSurfacePool(m_pEncSurfaces, m_EncResponse.NumFrameActual); + m_bInsertIDR = true; + sts = MFX_ERR_NONE; + } + MSDK_CHECK_STATUS(sts, "m_TaskPool.SynchronizeFirstTask failed"); + + // try again + sts = m_TaskPool.GetFreeTask(ppTask); + } + + return sts; +} + +#if (MFX_VERSION < 2000) +mfxStatus CEncodingPipeline::PreEncOneFrame(const ExtendedSurface &In, + ExtendedSurface &Out, + sTask *&pTask) { + mfxStatus sts = MFX_ERR_NONE; + PreEncAuxBuffer *pAux = NULL; + + for (mfxU32 i = 0; i < MSDK_WAIT_INTERVAL; i += 1) { + pAux = GetFreePreEncAuxBuffer(); + if (pAux) { + break; + } + else { + MSDK_SLEEP(1); + } + } + MSDK_CHECK_POINTER(pAux, MFX_ERR_MEMORY_ALLOC); + for (;;) { + pAux->encInput.InSurface = In.pSurface; + // at this point surface for encoder contains either a frame from file or a frame processed by vpp + sts = m_pmfxPreENC->ProcessFrameAsync(&pAux->encInput, &pAux->encOutput, &Out.Syncp); + + if (MFX_ERR_NONE < sts && !Out.Syncp) // repeat the call if warning and no output + { + if (MFX_WRN_DEVICE_BUSY == sts) + MSDK_SLEEP(1); // wait if device is busy + } + else if (MFX_ERR_NONE <= sts && Out.Syncp) { + LockPreEncAuxBuffer(pAux); + Out.pCtrl = &pAux->encCtrl; + pTask->pAux = pAux; + MSDK_CHECK_POINTER(pAux->encOutput.ExtParam, MFX_ERR_NULL_PTR); + MSDK_CHECK_NOT_EQUAL(pAux->encOutput.NumExtParam, 1, MFX_ERR_UNSUPPORTED); + Out.pSurface = ((mfxExtLAFrameStatistics *)pAux->encOutput.ExtParam[0])->OutSurface; + sts = MFX_ERR_NONE; // ignore warnings if output is available + break; + } + else { + break; + } + } + return sts; +} +#endif +mfxStatus CEncodingPipeline::VPPOneFrame(const ExtendedSurface &In, + ExtendedSurface &Out, + const bool &skipFrame) { + mfxStatus sts = MFX_ERR_NONE; + for (;;) { + sts = m_pmfxVPP->RunFrameVPPAsync(skipFrame ? nullptr : In.pSurface, + Out.pSurface, + NULL, + &Out.Syncp); + + if (MFX_ERR_NONE < sts && !Out.Syncp) // repeat the call if warning and no output + { + if (MFX_WRN_DEVICE_BUSY == sts) + MSDK_SLEEP(1); // wait if device is busy + } + else if (MFX_ERR_NONE < sts && Out.Syncp) { + sts = MFX_ERR_NONE; // ignore warnings if output is available + if (m_nPerfOpt) + m_nVppSurfIdx++; + break; + } + else { + if (m_nPerfOpt) + m_nVppSurfIdx++; + break; // not a warning + } + } + return sts; +} +mfxStatus CEncodingPipeline::EncodeOneFrame(const ExtendedSurface &In, sTask *&pTask) { + mfxStatus sts = MFX_ERR_NONE; + for (;;) { + if (!m_bQPFileMode) + InsertIDR(pTask->encCtrl, m_bInsertIDR); + m_bInsertIDR = false; + + sts = InitEncFrameParams(pTask); + MSDK_CHECK_STATUS(sts, "ENCODE: InitEncFrameParams failed"); + + // at this point surface for encoder contains either a frame from file or a frame processed by vpp/preenc + sts = m_pmfxENC->EncodeFrameAsync(In.pCtrl, In.pSurface, &pTask->mfxBS, &pTask->EncSyncP); + + if (MFX_ERR_NONE < sts && !pTask->EncSyncP) // repeat the call if warning and no output + { + if (MFX_WRN_DEVICE_BUSY == sts) + MSDK_SLEEP(1); // wait if device is busy + } + else if (MFX_ERR_NONE < sts && pTask->EncSyncP) { + sts = MFX_ERR_NONE; // ignore warnings if output is available + if (m_nPerfOpt) + m_nEncSurfIdx++; + break; + } + else if (MFX_ERR_NOT_ENOUGH_BUFFER == sts) { + sts = AllocateSufficientBuffer(pTask->mfxBS); + MSDK_CHECK_STATUS(sts, "AllocateSufficientBuffer failed"); + } + else { + // get next surface and new task for 2nd bitstream in ViewOutput mode + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_BITSTREAM); + if (m_nPerfOpt) + m_nEncSurfIdx++; + break; + } + } + + return sts; +} + +mfxStatus CEncodingPipeline::Run() { + m_statOverall.StartTimeMeasurement(); + MSDK_CHECK_POINTER(m_pmfxENC, MFX_ERR_NOT_INITIALIZED); + + mfxStatus sts = MFX_ERR_NONE; + + ExtendedSurface vppSurface = {}; + ExtendedSurface preencSurface = {}; + ExtendedSurface encSurface = {}; + + sTask *pCurrentTask = nullptr; // a pointer to the current task + m_nEncSurfIdx = 0; + m_nVppSurfIdx = 0; + + bool bVppMultipleOutput = false; // this flag is true if VPP produces more frames at output + // than consumes at input. E.g. framerate conversion 30 fps -> 60 fps + + // Since in sample we support just 2 views + // we will change this value between 0 and 1 in case of MVC + mfxU16 currViewNum = 0; + + mfxU32 nFramesProcessed = 0; + + bool skipLoadingNextFrame = false; + + sts = MFX_ERR_NONE; + +#if defined(ENABLE_V4L2_SUPPORT) + if (isV4L2InputEnabled) { + msdk_printf(MSDK_STRING("Press Ctrl+C to terminate this application\n")); + } +#endif + + // main loop, preprocessing and encoding + while (MFX_ERR_NONE <= sts || MFX_ERR_MORE_DATA == sts) { + if ((m_nFramesToProcess != 0) && (nFramesProcessed == m_nFramesToProcess)) { + break; + } + +#if defined(ENABLE_V4L2_SUPPORT) + if (v4l2Pipeline.GetV4L2TerminationSignal() && isV4L2InputEnabled) { + break; + } +#endif + // get a pointer to a free task (bit stream and sync point for encoder) + sts = GetFreeTask(&pCurrentTask); + MSDK_BREAK_ON_ERROR(sts); + + // find free surface for encoder input + if (m_nPerfOpt && !m_pmfxVPP) { + m_nEncSurfIdx %= m_nPerfOpt; + } + else { + m_nEncSurfIdx = GetFreeSurface(m_pEncSurfaces, m_EncResponse.NumFrameActual); + } + MSDK_CHECK_ERROR(m_nEncSurfIdx, MSDK_INVALID_SURF_IDX, MFX_ERR_MEMORY_ALLOC); + +#if (MFX_VERSION >= 2000) + if (m_bAPI2XInternalMem == true) + preencSurface.pSurface = vppSurface.pSurface = NULL; + else +#endif + // point pSurf to encoder surface + preencSurface.pSurface = vppSurface.pSurface = &m_pEncSurfaces[m_nEncSurfIdx]; + + if (!bVppMultipleOutput) { + if (!skipLoadingNextFrame) { + // if vpp is enabled find free surface for vpp input and point pSurf to vpp surface + if (m_pmfxVPP) { +#if defined(ENABLE_V4L2_SUPPORT) + if (isV4L2InputEnabled) { + m_nVppSurfIdx = v4l2Pipeline.GetOffQ(); + } +#else + if (m_nPerfOpt) { + m_nVppSurfIdx = m_nVppSurfIdx % m_nPerfOpt; + } + else { + m_nVppSurfIdx = + GetFreeSurface(m_pVppSurfaces, m_VppResponse.NumFrameActual); + } + MSDK_CHECK_ERROR(m_nVppSurfIdx, MSDK_INVALID_SURF_IDX, MFX_ERR_MEMORY_ALLOC); +#endif + vppSurface.pSurface = &m_pVppSurfaces[m_nVppSurfIdx]; + } + +#if (MFX_VERSION >= 2000) + if (m_bAPI2XInternalMem == true) { + sts = m_pmfxMemory->GetSurfaceForEncode(&vppSurface.pSurface); + MSDK_CHECK_STATUS(sts, "Unknown error in MFXMemory_GetSurfaceForEncode"); + + sts = vppSurface.pSurface->FrameInterface->Map(vppSurface.pSurface, + MFX_MAP_WRITE); + MSDK_CHECK_STATUS(sts, "mfxFrameSurfaceInterface->Map failed"); + } +#endif + vppSurface.pSurface->Info.FrameId.ViewId = currViewNum; + + m_statFile.StartTimeMeasurement(); + sts = LoadNextFrame(vppSurface.pSurface); + m_statFile.StopTimeMeasurement(); + +#if (MFX_VERSION >= 2000) + if (m_bAPI2XInternalMem == true) { + mfxStatus msts = + vppSurface.pSurface->FrameInterface->Unmap(vppSurface.pSurface); + MSDK_CHECK_STATUS(msts, "mfxFrameSurfaceInterface->Unmap failed"); + + msts = vppSurface.pSurface->FrameInterface->Release(vppSurface.pSurface); + MSDK_CHECK_STATUS(msts, "mfxFrameSurfaceInterface->Release failed"); + } +#endif + + if ((MFX_ERR_MORE_DATA == sts) && !m_bTimeOutExceed) + continue; + + MSDK_BREAK_ON_ERROR(sts); + + if (m_bQPFileMode) + LoadNextControl(encSurface.pCtrl, m_nEncSurfIdx); + else + encSurface.pCtrl = &pCurrentTask->encCtrl; +#if (MFX_VERSION < 2000) + if (MVC_ENABLED & m_MVCflags) { + currViewNum ^= 1; // Flip between 0 and 1 for ViewId + } +#endif + } + } + + // perform preprocessing if required + if (m_pmfxVPP) { + bVppMultipleOutput = false; // reset the flag before a call to VPP + + sts = VPPOneFrame(vppSurface, preencSurface, skipLoadingNextFrame); + // process errors + if (MFX_ERR_MORE_DATA == sts) { + continue; + } + else if (MFX_ERR_MORE_SURFACE == sts) { + skipLoadingNextFrame = true; + sts = MFX_ERR_NONE; + } + else { + MSDK_BREAK_ON_ERROR(sts); + } + } + else { + preencSurface.pSurface = vppSurface.pSurface; + preencSurface.Syncp = vppSurface.Syncp; + } + +#if (MFX_VERSION < 2000) + if (m_pmfxPreENC) { + sts = PreEncOneFrame(preencSurface, encSurface, pCurrentTask); + // process errors + if (MFX_ERR_MORE_DATA == sts) { + continue; + } + else { + MSDK_BREAK_ON_ERROR(sts); + } + } + else +#endif + { + encSurface.pSurface = preencSurface.pSurface; + } + + // save the id of preceding vpp/preenc task which will produce input data for the encode task + if (preencSurface.Syncp) { + pCurrentTask->DependentVppTasks.push_back(preencSurface.Syncp); + preencSurface.Syncp = NULL; + vppSurface.Syncp = NULL; + } + + sts = EncodeOneFrame(encSurface, pCurrentTask); + + nFramesProcessed++; + } + + // means that the input file has ended, need to go to buffering loops + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_DATA); + // exit in case of other errors + MSDK_CHECK_STATUS(sts, "m_pmfxENC->EncodeFrameAsync failed"); + + if (m_pmfxVPP) { + // loop to get buffered frames from vpp + while (MFX_ERR_NONE <= sts || MFX_ERR_MORE_DATA == sts || MFX_ERR_MORE_SURFACE == sts) + // MFX_ERR_MORE_SURFACE can be returned only by RunFrameVPPAsync + // MFX_ERR_MORE_DATA is accepted only from EncodeFrameAsync + { + // get a free task (bit stream and sync point for encoder) + sts = GetFreeTask(&pCurrentTask); + MSDK_BREAK_ON_ERROR(sts); + // find free surface for encoder input (vpp output) + m_nEncSurfIdx = GetFreeSurface(m_pEncSurfaces, m_EncResponse.NumFrameActual); + MSDK_CHECK_ERROR(m_nEncSurfIdx, MSDK_INVALID_SURF_IDX, MFX_ERR_MEMORY_ALLOC); + preencSurface.pSurface = &m_pEncSurfaces[m_nEncSurfIdx]; + vppSurface.pSurface = nullptr; + + sts = VPPOneFrame(vppSurface, preencSurface, false); + + if (MFX_ERR_MORE_SURFACE == sts) { + continue; + } + else { + MSDK_BREAK_ON_ERROR(sts); + } + +#if (MFX_VERSION < 2000) + if (m_pmfxPreENC) { + sts = PreEncOneFrame(preencSurface, encSurface, pCurrentTask); + + if (MFX_ERR_MORE_DATA == sts) { + continue; + } + else { + MSDK_BREAK_ON_ERROR(sts); + } + } + else +#endif + { + encSurface.pSurface = preencSurface.pSurface; + encSurface.Syncp = preencSurface.Syncp; + } + + // save the id of preceding vpp/preenc task which will produce input data for the encode task + if (preencSurface.Syncp) { + pCurrentTask->DependentVppTasks.push_back(preencSurface.Syncp); + preencSurface.Syncp = NULL; + vppSurface.Syncp = NULL; + } + + sts = EncodeOneFrame(encSurface, pCurrentTask); + } + + // MFX_ERR_MORE_DATA is the correct status to exit buffering loop with + // indicates that there are no more buffered frames + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_DATA); + // exit in case of other errors + MSDK_CHECK_STATUS(sts, "m_pmfxENC->EncodeFrameAsync failed"); + } + +#if (MFX_VERSION < 2000) + if (m_pmfxPreENC && nFramesProcessed != m_nFramesToProcess) { + // loop to get buffered frames from preenc + while (MFX_ERR_NONE <= sts || MFX_ERR_MORE_DATA == sts) + // MFX_ERR_MORE_DATA is accepted only from EncodeFrameAsync + { + // get a free task (bit stream and sync point for encoder) + sts = GetFreeTask(&pCurrentTask); + MSDK_BREAK_ON_ERROR(sts); + preencSurface.pSurface = nullptr; + sts = PreEncOneFrame(preencSurface, encSurface, pCurrentTask); + + MSDK_BREAK_ON_ERROR(sts); + + // save the id of preceding vpp/preenc task which will produce input data for the encode task + if (preencSurface.Syncp) { + pCurrentTask->DependentVppTasks.push_back(preencSurface.Syncp); + preencSurface.Syncp = NULL; + vppSurface.Syncp = NULL; + } + + sts = EncodeOneFrame(encSurface, pCurrentTask); + } + + // MFX_ERR_MORE_DATA is the correct status to exit buffering loop with + // indicates that there are no more buffered frames + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_DATA); + // exit in case of other errors + MSDK_CHECK_STATUS(sts, "m_pmfxENC->EncodeFrameAsync failed"); + } +#endif + // loop to get buffered frames from encoder + while (MFX_ERR_NONE <= sts) { + // get a free task (bit stream and sync point for encoder) + sts = GetFreeTask(&pCurrentTask); + MSDK_BREAK_ON_ERROR(sts); + encSurface.pSurface = nullptr; + sts = EncodeOneFrame(encSurface, pCurrentTask); + MSDK_BREAK_ON_ERROR(sts); + } + + // MFX_ERR_MORE_DATA is the correct status to exit buffering loop with + // indicates that there are no more buffered frames + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_DATA); + // exit in case of other errors + MSDK_CHECK_STATUS(sts, "m_pmfxENC->EncodeFrameAsync failed"); + + // synchronize all tasks that are left in task pool + while (MFX_ERR_NONE == sts) { + sts = m_TaskPool.SynchronizeFirstTask(); + if (sts == MFX_ERR_GPU_HANG && m_bSoftRobustFlag) { + m_bInsertIDR = true; + m_TaskPool.ClearTasks(); //may be not needed + FreeSurfacePool(m_pEncSurfaces, m_EncResponse.NumFrameActual); + sts = MFX_ERR_NONE; + } + } + + // MFX_ERR_NOT_FOUND is the correct status to exit the loop with + // EncodeFrameAsync and SyncOperation don't return this status + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_NOT_FOUND); + // report any errors that occurred in asynchronous part + MSDK_CHECK_STATUS(sts, "m_TaskPool.SynchronizeFirstTask failed"); + m_statOverall.StopTimeMeasurement(); + return sts; +} + +mfxStatus CEncodingPipeline::LoadNextFrame(mfxFrameSurface1 *pSurf) { + mfxStatus sts = MFX_ERR_NONE; + + if (isV4L2InputEnabled) + return MFX_ERR_NONE; + + m_bTimeOutExceed = (m_nTimeout < m_statOverall.GetDeltaTime()) ? true : false; + + if (m_nPerfOpt) { + // memory buffer mode. No file reading required + bool bPerfOptExceed = m_nTimeout ? m_bTimeOutExceed : false; + if ((m_nPerfOpt == m_nFramesRead && m_nFramesToProcess == 0) || bPerfOptExceed) { + sts = MFX_ERR_MORE_DATA; + // insert idr frame + m_bInsertIDR = m_bCutOutput; + } + } + else { + // read frame from file + if (m_bExternalAlloc) { + mfxStatus sts1 = + m_pMFXAllocator->Lock(m_pMFXAllocator->pthis, pSurf->Data.MemId, &(pSurf->Data)); + MSDK_CHECK_STATUS(sts1, "m_pMFXAllocator->Lock failed"); + + if (m_bQPFileMode) { + mfxU16 w = pSurf->Info.CropW ? pSurf->Info.CropW : pSurf->Info.Width; + mfxU16 h = pSurf->Info.CropH ? pSurf->Info.CropH : pSurf->Info.Height; + mfxU32 vid = pSurf->Info.FrameId.ViewId; + sts = + m_FileReader.SkipNframesFromBeginning(w, + h, + vid, + m_QPFileReader.GetCurrentDisplayOrder()); + MSDK_CHECK_STATUS(sts, "m_FileReader.SkipNframesFromBeginning failed"); + } + + sts = m_FileReader.LoadNextFrame(pSurf); + + sts1 = + m_pMFXAllocator->Unlock(m_pMFXAllocator->pthis, pSurf->Data.MemId, &(pSurf->Data)); + MSDK_CHECK_STATUS(sts1, "m_pMFXAllocator->Unlock failed"); + } + else { + if (m_bQPFileMode) { + mfxU16 w = pSurf->Info.CropW ? pSurf->Info.CropW : pSurf->Info.Width; + mfxU16 h = pSurf->Info.CropH ? pSurf->Info.CropH : pSurf->Info.Height; + mfxU32 vid = pSurf->Info.FrameId.ViewId; + sts = + m_FileReader.SkipNframesFromBeginning(w, + h, + vid, + m_QPFileReader.GetCurrentDisplayOrder()); + MSDK_CHECK_STATUS(sts, "m_FileReader.SkipNframesFromBeginning failed"); + } + + sts = m_FileReader.LoadNextFrame(pSurf); + } + + if ((MFX_ERR_MORE_DATA == sts) && !m_bTimeOutExceed) { + m_FileReader.Reset(); + m_bFileWriterReset = m_bCutOutput; + // forcedly insert idr frame to make output file readable + m_bInsertIDR = m_bCutOutput; + return sts; + } + } + // frameorder required for reflist, dbp, and decrefpicmarking operations + if (pSurf) + pSurf->Data.FrameOrder = + m_bQPFileMode ? m_QPFileReader.GetCurrentDisplayOrder() : m_nFramesRead; + m_nFramesRead++; + + return sts; +} + +void CEncodingPipeline::LoadNextControl(mfxEncodeCtrl *&pCtrl, mfxU32 encSurfIdx) { + pCtrl = &m_EncCtrls[encSurfIdx]; + pCtrl->QP = m_QPFileReader.GetCurrentQP(); + pCtrl->FrameType = m_QPFileReader.GetCurrentFrameType(); + m_QPFileReader.NextFrame(); +} + +void CEncodingPipeline::PrintInfo() { + msdk_printf(MSDK_STRING("Encoding Sample Version %s\n"), GetMSDKSampleVersion().c_str()); + msdk_printf(MSDK_STRING("\nInput file format\t%s\n"), + ColorFormatToStr(m_FileReader.m_ColorFormat)); + msdk_printf(MSDK_STRING("Output video\t\t%s\n"), + CodecIdToStr(m_mfxEncParams.mfx.CodecId).c_str()); + + mfxFrameInfo SrcPicInfo = m_mfxVppParams.vpp.In; + mfxFrameInfo DstPicInfo = m_mfxEncParams.mfx.FrameInfo; + + msdk_printf(MSDK_STRING("Source picture:\n")); + msdk_printf(MSDK_STRING("\tResolution\t%dx%d\n"), SrcPicInfo.Width, SrcPicInfo.Height); + msdk_printf(MSDK_STRING("\tCrop X,Y,W,H\t%d,%d,%d,%d\n"), + SrcPicInfo.CropX, + SrcPicInfo.CropY, + SrcPicInfo.CropW, + SrcPicInfo.CropH); + + msdk_printf(MSDK_STRING("Destination picture:\n")); + msdk_printf(MSDK_STRING("\tResolution\t%dx%d\n"), DstPicInfo.Width, DstPicInfo.Height); + msdk_printf(MSDK_STRING("\tCrop X,Y,W,H\t%d,%d,%d,%d\n"), + DstPicInfo.CropX, + DstPicInfo.CropY, + DstPicInfo.CropW, + DstPicInfo.CropH); + + msdk_printf(MSDK_STRING("Frame rate\t%.2f\n"), + DstPicInfo.FrameRateExtN * 1.0 / DstPicInfo.FrameRateExtD); + if (m_mfxEncParams.mfx.RateControlMethod != MFX_RATECONTROL_CQP) { + msdk_printf(MSDK_STRING("Bit rate(Kbps)\t%d\n"), m_mfxEncParams.mfx.TargetKbps); + } + else { + msdk_printf(MSDK_STRING("QPI\t%d\nQPP\t%d\nQPB\t%d\n"), + m_mfxEncParams.mfx.QPI, + m_mfxEncParams.mfx.QPP, + m_mfxEncParams.mfx.QPB); + } + msdk_printf(MSDK_STRING("Gop size\t%d\n"), m_mfxEncParams.mfx.GopPicSize); + msdk_printf(MSDK_STRING("Ref dist\t%d\n"), m_mfxEncParams.mfx.GopRefDist); + msdk_printf(MSDK_STRING("Ref number\t%d\n"), m_mfxEncParams.mfx.NumRefFrame); + msdk_printf(MSDK_STRING("Idr Interval\t%d\n"), m_mfxEncParams.mfx.IdrInterval); + msdk_printf(MSDK_STRING("Target usage\t%s\n"), + TargetUsageToStr(m_mfxEncParams.mfx.TargetUsage)); + + const msdk_char *sMemType = +#if defined(_WIN32) || defined(_WIN64) + m_memType == D3D9_MEMORY + ? MSDK_STRING("d3d") +#else + m_memType == D3D9_MEMORY + ? MSDK_STRING("vaapi") +#endif + : (m_memType == D3D11_MEMORY ? MSDK_STRING("d3d11") : MSDK_STRING("system")); + msdk_printf(MSDK_STRING("Memory type\t%s\n"), sMemType); + + mfxIMPL impl; + GetFirstSession().QueryIMPL(&impl); + + const msdk_char *sImpl = (MFX_IMPL_VIA_D3D11 == MFX_IMPL_VIA_MASK(impl)) + ? MSDK_STRING("hw_d3d11") + : (MFX_IMPL_HARDWARE == MFX_IMPL_BASETYPE(impl)) + ? MSDK_STRING("hw") + : (MFX_IMPL_HARDWARE2 == MFX_IMPL_BASETYPE(impl)) + ? MSDK_STRING("hw2") + : (MFX_IMPL_HARDWARE3 == MFX_IMPL_BASETYPE(impl)) + ? MSDK_STRING("hw3") + : (MFX_IMPL_HARDWARE4 == MFX_IMPL_BASETYPE(impl)) + ? MSDK_STRING("hw4") + : MSDK_STRING("sw"); + msdk_printf(MSDK_STRING("Media SDK impl\t\t%s\n"), sImpl); + + mfxVersion ver; + GetFirstSession().QueryVersion(&ver); + msdk_printf(MSDK_STRING("Media SDK version\t%d.%d\n"), ver.Major, ver.Minor); + + msdk_printf(MSDK_STRING("\n")); +} diff --git a/tools/legacy/sample_encode/src/pipeline_region_encode.cpp b/tools/legacy/sample_encode/src/pipeline_region_encode.cpp new file mode 100644 index 00000000..b9d5c251 --- /dev/null +++ b/tools/legacy/sample_encode/src/pipeline_region_encode.cpp @@ -0,0 +1,674 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#if (MFX_VERSION < 2000) + #include "mfx_samples_config.h" + + #include "pipeline_region_encode.h" + #include "sysmem_allocator.h" + + #if D3D_SURFACES_SUPPORT + #include "d3d11_allocator.h" + #include "d3d_allocator.h" + + #include "d3d11_device.h" + #include "d3d_device.h" + #endif + + #ifdef LIBVA_SUPPORT + #include "vaapi_allocator.h" + #include "vaapi_device.h" + #endif + + #include "plugin_loader.h" + + #ifndef MFX_VERSION + #error MFX_VERSION not defined + #endif + +mfxStatus CResourcesPool::GetFreeTask(int resourceNum, sTask **ppTask) { + // get a pointer to a free task (bit stream and sync point for encoder) + mfxStatus sts = m_resources[resourceNum].TaskPool.GetFreeTask(ppTask); + if (MFX_ERR_NOT_FOUND == sts) { + // We should syncrhonize every first task in all task pools to write regions (slices) into destination in correct order + for (int i = 0; i < size; i++) { + sts = m_resources[i].TaskPool.SynchronizeFirstTask(); + MSDK_CHECK_STATUS(sts, "m_resources[i].TaskPool.SynchronizeFirstTask failed"); + } + + // try again + sts = m_resources[resourceNum].TaskPool.GetFreeTask(ppTask); + } + + return sts; +} + +mfxStatus CResourcesPool::Init(int sz, mfxIMPL impl, mfxVersion *pVer) { + MSDK_CHECK_NOT_EQUAL(m_resources, NULL, MFX_ERR_INVALID_HANDLE); + this->size = sz; + m_resources = new CMSDKResource[sz]; + for (int i = 0; i < sz; i++) { + mfxStatus sts = m_resources[i].Session.Init(impl, pVer); + MSDK_CHECK_STATUS(sts, "m_resources[i].Session.Init failed"); + } + return MFX_ERR_NONE; +} + +mfxStatus CResourcesPool::InitTaskPools(CSmplBitstreamWriter *pWriter, + mfxU32 nPoolSize, + mfxU32 nBufferSize, + CSmplBitstreamWriter *pOtherWriter) { + for (int i = 0; i < size; i++) { + mfxStatus sts = m_resources[i].TaskPool.Init(&m_resources[i].Session, + pWriter, + nPoolSize, + nBufferSize, + pOtherWriter); + MSDK_CHECK_STATUS(sts, "m_resources[i].TaskPool.Init failed"); + } + return MFX_ERR_NONE; +} + +mfxStatus CResourcesPool::CreateEncoders() { + for (int i = 0; i < size; i++) { + MFXVideoENCODE *pEnc = new MFXVideoENCODE(m_resources[i].Session); + MSDK_CHECK_POINTER(pEnc, MFX_ERR_MEMORY_ALLOC); + m_resources[i].pEncoder = pEnc; + } + return MFX_ERR_NONE; +} + +mfxStatus CResourcesPool::CreatePlugins(mfxPluginUID pluginGUID, mfxChar *pluginPath) { + for (int i = 0; i < size; i++) { + MFXPlugin *pPlugin = + pluginPath + ? LoadPlugin(MFX_PLUGINTYPE_VIDEO_ENCODE, + m_resources[i].Session, + pluginGUID, + 1, + pluginPath, + (mfxU32)msdk_strnlen(pluginPath, 1024)) + : LoadPlugin(MFX_PLUGINTYPE_VIDEO_ENCODE, m_resources[i].Session, pluginGUID, 1); + + if (pPlugin == NULL) { + return MFX_ERR_UNSUPPORTED; + } + m_resources[i].pPlugin = pPlugin; + } + return MFX_ERR_NONE; +} + +void CResourcesPool::CloseAndDeleteEverything() { + for (int i = 0; i < size; i++) { + m_resources[i].TaskPool.Close(); + MSDK_SAFE_DELETE(m_resources[i].pEncoder); + MSDK_SAFE_DELETE(m_resources[i].pPlugin); + m_resources[i].Session.Close(); + } +} + +//------------------- Pipeline ----------------------------------------------------------------------------- + +mfxStatus CRegionEncodingPipeline::InitMfxEncParams(sInputParams *pInParams) { + CEncodingPipeline::InitMfxEncParams(pInParams); + m_mfxEncParams.mfx.TargetKbps = pInParams->nBitRate / pInParams->nNumSlice; // in Kbps + + if (m_mfxEncParams.mfx.NumSlice > 1 && MFX_CODEC_HEVC == pInParams->CodecId) { + auto hevcRegion = m_mfxEncParams.AddExtBuffer(); + hevcRegion->RegionType = MFX_HEVC_REGION_SLICE; + hevcRegion->RegionId = 0; // will be rewrited before call of encoder Init + } + + // JPEG encoder settings overlap with other encoders settings in mfxInfoMFX structure + if (MFX_CODEC_JPEG == pInParams->CodecId) { + m_mfxEncParams.mfx.Interleaved = 1; + m_mfxEncParams.mfx.Quality = pInParams->nQuality; + m_mfxEncParams.mfx.RestartInterval = 0; + MSDK_ZERO_MEMORY(m_mfxEncParams.mfx.reserved5); + } + + m_mfxEncParams.AsyncDepth = 1; + m_mfxEncParams.mfx.GopRefDist = 1; + + return MFX_ERR_NONE; +} + +mfxStatus CRegionEncodingPipeline::CreateAllocator() { + mfxStatus sts = MFX_ERR_NONE; + + if (D3D9_MEMORY == m_memType || D3D11_MEMORY == m_memType) { + #if D3D_SURFACES_SUPPORT + sts = CreateHWDevice(); + MSDK_CHECK_STATUS(sts, "CreateHWDevice failed"); + + mfxHDL hdl = NULL; + mfxHandleType hdl_t = + #if MFX_D3D11_SUPPORT + D3D11_MEMORY == m_memType ? MFX_HANDLE_D3D11_DEVICE : + #endif // #if MFX_D3D11_SUPPORT + MFX_HANDLE_D3D9_DEVICE_MANAGER; + + sts = m_hwdev->GetHandle(hdl_t, &hdl); + MSDK_CHECK_STATUS(sts, "m_hwdev->GetHandle failed"); + + // handle is needed for HW library only + mfxIMPL impl = 0; + m_resources[0].Session.QueryIMPL(&impl); + if (impl != MFX_IMPL_SOFTWARE) { + for (int i = 0; i < m_resources.GetSize(); i++) { + sts = m_resources[i].Session.SetHandle(hdl_t, hdl); + MSDK_CHECK_STATUS(sts, "m_resources[i].Session.SetHandle failed"); + } + } + + // create D3D allocator + #if MFX_D3D11_SUPPORT + if (D3D11_MEMORY == m_memType) { + m_pMFXAllocator = new D3D11FrameAllocator; + MSDK_CHECK_POINTER(m_pMFXAllocator, MFX_ERR_MEMORY_ALLOC); + + D3D11AllocatorParams *pd3dAllocParams = new D3D11AllocatorParams; + MSDK_CHECK_POINTER(pd3dAllocParams, MFX_ERR_MEMORY_ALLOC); + pd3dAllocParams->pDevice = reinterpret_cast(hdl); + + m_pmfxAllocatorParams = pd3dAllocParams; + } + else + #endif // #if MFX_D3D11_SUPPORT + { + m_pMFXAllocator = new D3DFrameAllocator; + MSDK_CHECK_POINTER(m_pMFXAllocator, MFX_ERR_MEMORY_ALLOC); + + D3DAllocatorParams *pd3dAllocParams = new D3DAllocatorParams; + MSDK_CHECK_POINTER(pd3dAllocParams, MFX_ERR_MEMORY_ALLOC); + pd3dAllocParams->pManager = reinterpret_cast(hdl); + + m_pmfxAllocatorParams = pd3dAllocParams; + } + + /* In case of video memory we must provide MediaSDK with external allocator + thus we demonstrate "external allocator" usage model. + Call SetAllocator to pass allocator to Media SDK */ + for (int i = 0; i < m_resources.GetSize(); i++) { + sts = m_resources[i].Session.SetFrameAllocator(m_pMFXAllocator); + MSDK_CHECK_STATUS(sts, "m_resources[i].Session.SetFrameAllocator failed"); + } + + m_bExternalAlloc = true; + #endif + #ifdef LIBVA_SUPPORT + sts = CreateHWDevice(); + MSDK_CHECK_STATUS(sts, "CreateHWDevice failed"); + /* It's possible to skip failed result here and switch to SW implementation, + but we don't process this way */ + + mfxHDL hdl = NULL; + sts = m_hwdev->GetHandle(MFX_HANDLE_VA_DISPLAY, &hdl); + + for (int i = 0; i < m_resources.GetSize(); i++) { + // provide device manager to MediaSDK + sts = m_resources[i].Session.SetHandle(MFX_HANDLE_VA_DISPLAY, hdl); + MSDK_CHECK_STATUS(sts, "m_resources[i].Session.SetHandle failed"); + + // create VAAPI allocator + m_pMFXAllocator = new vaapiFrameAllocator; + MSDK_CHECK_POINTER(m_pMFXAllocator, MFX_ERR_MEMORY_ALLOC); + + vaapiAllocatorParams *p_vaapiAllocParams = new vaapiAllocatorParams; + MSDK_CHECK_POINTER(p_vaapiAllocParams, MFX_ERR_MEMORY_ALLOC); + + p_vaapiAllocParams->m_dpy = (VADisplay)hdl; + m_pmfxAllocatorParams = p_vaapiAllocParams; + + /* In case of video memory we must provide MediaSDK with external allocator + thus we demonstrate "external allocator" usage model. + Call SetAllocator to pass allocator to mediasdk */ + sts = m_resources[i].Session.SetFrameAllocator(m_pMFXAllocator); + MSDK_CHECK_STATUS(sts, "m_resources[i].Session.SetFrameAllocator failed"); + } + m_bExternalAlloc = true; + #endif + } + else { + #ifdef LIBVA_SUPPORT + //in case of system memory allocator we also have to pass MFX_HANDLE_VA_DISPLAY to HW library + mfxIMPL impl; + m_resources[0].Session.QueryIMPL(&impl); + + if (MFX_IMPL_HARDWARE == MFX_IMPL_BASETYPE(impl)) { + sts = CreateHWDevice(); + MSDK_CHECK_STATUS(sts, "CreateHWDevice failed"); + + mfxHDL hdl = NULL; + sts = m_hwdev->GetHandle(MFX_HANDLE_VA_DISPLAY, &hdl); + for (int i = 0; i < m_resources.GetSize(); i++) { + // provide device manager to MediaSDK + sts = m_resources[i].Session.SetHandle(MFX_HANDLE_VA_DISPLAY, hdl); + MSDK_CHECK_STATUS(sts, "m_resources[i].Session.SetHandle failed"); + } + } + #endif + + // create system memory allocator + m_pMFXAllocator = new SysMemFrameAllocator; + MSDK_CHECK_POINTER(m_pMFXAllocator, MFX_ERR_MEMORY_ALLOC); + + /* In case of system memory we demonstrate "no external allocator" usage model. + We don't call SetAllocator, Media SDK uses internal allocator. + We use system memory allocator simply as a memory manager for application*/ + } + + // initialize memory allocator + sts = m_pMFXAllocator->Init(m_pmfxAllocatorParams); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Init failed"); + + return MFX_ERR_NONE; +} + +CRegionEncodingPipeline::CRegionEncodingPipeline() : CEncodingPipeline() { + m_timeAll = 0; +} + +CRegionEncodingPipeline::~CRegionEncodingPipeline() { + Close(); +} + +mfxStatus CRegionEncodingPipeline::Init(sInputParams *pParams) { + MSDK_CHECK_POINTER(pParams, MFX_ERR_NULL_PTR); + + mfxStatus sts = MFX_ERR_NONE; + + // prepare input file reader + sts = m_FileReader.Init(pParams->InputFiles, pParams->FileInputFourCC); + MSDK_CHECK_STATUS(sts, "m_FileReader.Init failed"); + + m_MVCflags = pParams->MVC_flags; + + // FileReader can convert yv12->nv12 without vpp + m_InputFourCC = + (pParams->FileInputFourCC == MFX_FOURCC_I420) ? MFX_FOURCC_NV12 : pParams->FileInputFourCC; + + sts = InitFileWriters(pParams); + MSDK_CHECK_STATUS(sts, "InitFileWriters failed"); + + m_timeAll = 0; + if (pParams->nNumSlice == 0) + pParams->nNumSlice = 1; + + mfxVersion min_version; + mfxVersion version; // real API version with which library is initialized + + // we set version to 1.0 and later we will query actual version of the library which will got leaded + min_version.Major = 1; + min_version.Minor = 0; + + // Init session + if (pParams->bUseHWLib) { + msdk_printf(MSDK_STRING("Hardware library is unsupported in Region Encoding mode\n")); + return MFX_ERR_UNSUPPORTED; + } + else { + sts = m_resources.Init(pParams->nNumSlice, MFX_IMPL_SOFTWARE, &min_version); + MSDK_CHECK_STATUS(sts, "m_resources.Init failed"); + } + + sts = MFXQueryVersion(m_resources[0].Session, + &version); // get real API version of the loaded library + MSDK_CHECK_STATUS(sts, "MFXQueryVersion failed"); + + if ((pParams->MVC_flags & MVC_ENABLED) != 0 && !CheckVersion(&version, MSDK_FEATURE_MVC)) { + msdk_printf(MSDK_STRING("error: MVC is not supported in the %d.%d API version\n"), + version.Major, + version.Minor); + return MFX_ERR_UNSUPPORTED; + } + if ((pParams->MVC_flags & MVC_VIEWOUTPUT) != 0 && + !CheckVersion(&version, MSDK_FEATURE_MVC_VIEWOUTPUT)) { + msdk_printf( + MSDK_STRING("error: MVC Viewoutput is not supported in the %d.%d API version\n"), + version.Major, + version.Minor); + return MFX_ERR_UNSUPPORTED; + } + if ((pParams->CodecId == MFX_CODEC_JPEG) && !CheckVersion(&version, MSDK_FEATURE_JPEG_ENCODE)) { + msdk_printf(MSDK_STRING("error: Jpeg is not supported in the %d.%d API version\n"), + version.Major, + version.Minor); + return MFX_ERR_UNSUPPORTED; + } + + if ((pParams->nRateControlMethod == MFX_RATECONTROL_LA) && + !CheckVersion(&version, MSDK_FEATURE_LOOK_AHEAD)) { + msdk_printf(MSDK_STRING("error: Look ahead is not supported in the %d.%d API version\n"), + version.Major, + version.Minor); + return MFX_ERR_UNSUPPORTED; + } + + if (CheckVersion(&version, MSDK_FEATURE_PLUGIN_API)) { + /* Here we actually define the following codec initialization scheme: + * 1. If plugin path or guid is specified: we load user-defined plugin (example: HEVC encoder plugin) + * 2. If plugin path not specified: + * 2.a) we check if codec is distributed as a mediasdk plugin and load it if yes + * 2.b) if codec is not in the list of mediasdk plugins, we assume, that it is supported inside mediasdk library + */ + if (pParams->pluginParams.type == MFX_PLUGINLOAD_TYPE_FILE && + msdk_strnlen(pParams->pluginParams.strPluginPath, + sizeof(pParams->pluginParams.strPluginPath))) { + m_pUserModule.reset(new MFXVideoUSER(m_resources[0].Session)); + sts = m_resources.CreatePlugins(pParams->pluginParams.pluginGuid, + pParams->pluginParams.strPluginPath); + MSDK_CHECK_STATUS(sts, "m_resources.CreatePlugins failed"); + } + else { + bool isDefaultPlugin = false; + if (AreGuidsEqual(pParams->pluginParams.pluginGuid, MSDK_PLUGINGUID_NULL)) { + mfxIMPL impl = pParams->bUseHWLib ? MFX_IMPL_HARDWARE : MFX_IMPL_SOFTWARE; + pParams->pluginParams.pluginGuid = + msdkGetPluginUID(impl, MSDK_VENCODE, pParams->CodecId); + isDefaultPlugin = true; + } + if (!AreGuidsEqual(pParams->pluginParams.pluginGuid, MSDK_PLUGINGUID_NULL)) { + sts = m_resources.CreatePlugins(pParams->pluginParams.pluginGuid, NULL); + MSDK_CHECK_STATUS(sts, "m_resources.CreatePlugins failed"); + } + } + } + + // set memory type + m_memType = pParams->memType; + m_nPerfOpt = pParams->nPerfOpt; + m_nTimeout = pParams->nTimeout; + + // If output isn't specified work in performance mode and do not insert idr + m_bCutOutput = pParams->dstFileBuff.size() ? !pParams->bUncut : false; + + // create and init frame allocator + sts = CreateAllocator(); + MSDK_CHECK_STATUS(sts, "CreateAllocator failed"); + + sts = InitMfxEncParams(pParams); + MSDK_CHECK_STATUS(sts, "InitMfxEncParams failed"); + + // MVC specific options + if (MVC_ENABLED & m_MVCflags) { + auto mvcBuffer = m_mfxEncParams.AddExtBuffer(); + InitExtMVCBuffers(mvcBuffer); + } + + // create encoder + sts = m_resources.CreateEncoders(); + MSDK_CHECK_STATUS(sts, "m_resources.CreateEncoders failed"); + + sts = ResetMFXComponents(pParams); + MSDK_CHECK_STATUS(sts, "ResetMFXComponents failed"); + + return MFX_ERR_NONE; +} + +void CRegionEncodingPipeline::Close() { + if (m_FileWriters.first) { + mfxU32 frameNum = m_resources.GetSize() + ? m_FileWriters.first->m_nProcessedFramesNum / m_resources.GetSize() + : 0; + msdk_printf(MSDK_STRING("Frame number: %u \r"), frameNum); + msdk_printf(MSDK_STRING("\nEncode fps: %.2lf\n"), + m_timeAll ? frameNum * ((double)time_get_frequency()) / m_timeAll : 0); + } + + DeallocateExtMVCBuffers(); + + DeleteFrames(); + + m_resources.CloseAndDeleteEverything(); + + m_FileReader.Close(); + FreeFileWriters(); + + // allocator if used as external for MediaSDK must be deleted after SDK components + DeleteAllocator(); +} + +mfxStatus CRegionEncodingPipeline::ResetMFXComponents(sInputParams *pParams) { + MSDK_CHECK_POINTER(pParams, MFX_ERR_NULL_PTR); + + mfxStatus sts = MFX_ERR_NONE; + + for (int i = 0; i < m_resources.GetSize(); i++) { + if (m_resources[i].pEncoder) { + sts = m_resources[i].pEncoder->Close(); + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_STATUS(sts, "m_resources[i].pEncoder->Close failed"); + } + } + + // free allocated frames + DeleteFrames(); + + for (int i = 0; i < m_resources.GetSize(); i++) { + m_resources[i].TaskPool.Close(); + } + + sts = AllocFrames(); + MSDK_CHECK_STATUS(sts, "AllocFrames failed"); + + for (int regId = 0; regId < m_resources.GetSize(); regId++) { + if (m_resources.GetSize() > 1) { + auto hevcRegion = m_mfxEncParams.AddExtBuffer(); + hevcRegion->RegionId = regId; + } + + sts = m_resources[regId].pEncoder->Init(&m_mfxEncParams); + if (MFX_WRN_PARTIAL_ACCELERATION == sts) { + msdk_printf(MSDK_STRING("WARNING: partial acceleration\n")); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_PARTIAL_ACCELERATION); + } + + MSDK_CHECK_STATUS(sts, "m_resources[regId].pEncoder->Init failed"); + } + + mfxU32 nEncodedDataBufferSize = + m_mfxEncParams.mfx.FrameInfo.Width * m_mfxEncParams.mfx.FrameInfo.Height * 4; + + sts = m_resources.InitTaskPools(m_FileWriters.first, + m_mfxEncParams.AsyncDepth, + nEncodedDataBufferSize, + m_FileWriters.second); + MSDK_CHECK_STATUS(sts, "m_resources.InitTaskPools failed"); + + sts = FillBuffers(); + MSDK_CHECK_STATUS(sts, "FillBuffers failed"); + + return MFX_ERR_NONE; +} + +mfxStatus CRegionEncodingPipeline::Run() { + mfxI64 timeCurStart = 0; + mfxI64 timeCurEnd = 0; + mfxI64 timeCurMax; + mfxI64 nFrames = 0; + + mfxStatus sts = MFX_ERR_NONE; + + mfxFrameSurface1 *pSurf = NULL; // dispatching pointer + + sTask *pCurrentTask = NULL; // a pointer to the current task + mfxU16 nEncSurfIdx = 0; // index of free surface for encoder input (vpp output) + + // Since in sample we support just 2 views + // we will change this value between 0 and 1 in case of MVC + mfxU16 currViewNum = 0; + + sts = MFX_ERR_NONE; + m_statOverall.StartTimeMeasurement(); + + // main loop, preprocessing and encoding + while (MFX_ERR_NONE <= sts || MFX_ERR_MORE_DATA == sts) { + // find free surface for encoder input + if (m_nPerfOpt) { + nEncSurfIdx %= m_nPerfOpt; + } + else { + nEncSurfIdx = GetFreeSurface(m_pEncSurfaces, m_EncResponse.NumFrameActual); + } + MSDK_CHECK_ERROR(nEncSurfIdx, MSDK_INVALID_SURF_IDX, MFX_ERR_MEMORY_ALLOC); + + // point pSurf to encoder surface + pSurf = &m_pEncSurfaces[nEncSurfIdx]; + pSurf->Info.FrameId.ViewId = currViewNum; + + m_statFile.StartTimeMeasurement(); + sts = LoadNextFrame(pSurf); + m_statFile.StopTimeMeasurement(); + + if ((MFX_ERR_MORE_DATA == sts) && !m_bTimeOutExceed) + continue; + if (MVC_ENABLED & m_MVCflags) + currViewNum ^= 1; // Flip between 0 and 1 for ViewId + MSDK_BREAK_ON_ERROR(sts); + + m_statFile.StopTimeMeasurement(); + + timeCurMax = 0; + if (m_bFileWriterReset) { + if (m_FileWriters.first) { + sts = m_FileWriters.first->Reset(); + MSDK_CHECK_STATUS(sts, "m_FileWriters.first->Reset failed"); + } + if (m_FileWriters.second) { + sts = m_FileWriters.second->Reset(); + MSDK_CHECK_STATUS(sts, "m_FileWriters.second->Reset failed"); + } + m_bFileWriterReset = false; + } + for (int regId = 0; regId < m_resources.GetSize(); regId++) { + // get a pointer to a free task (bit stream and sync point for encoder) + sts = m_resources.GetFreeTask(regId, &pCurrentTask); + MSDK_CHECK_STATUS(sts, "m_resources.GetFreeTask failed"); + + for (;;) { + timeCurStart = time_get_tick(); + // at this point surface for encoder contains a frame from a file + + InsertIDR(pCurrentTask->encCtrl, m_bInsertIDR); + m_bInsertIDR = false; + + sts = m_resources[regId].pEncoder->EncodeFrameAsync(&pCurrentTask->encCtrl, + &m_pEncSurfaces[nEncSurfIdx], + &pCurrentTask->mfxBS, + &pCurrentTask->EncSyncP); + + if ((sts != MFX_ERR_NOT_ENOUGH_BUFFER) && m_nPerfOpt) { + nEncSurfIdx++; + } + + if (MFX_ERR_NONE < sts && + !pCurrentTask->EncSyncP) // repeat the call if warning and no output + { + if (MFX_WRN_DEVICE_BUSY == sts) + MSDK_SLEEP(1); // wait if device is busy + } + else if (MFX_ERR_NONE < sts && pCurrentTask->EncSyncP) { + sts = MFX_ERR_NONE; // ignore warnings if output is available + break; + } + else if (MFX_ERR_NOT_ENOUGH_BUFFER == sts) { + sts = AllocateSufficientBuffer(pCurrentTask->mfxBS); + MSDK_CHECK_STATUS(sts, "AllocateSufficientBuffer failed"); + continue; + } + else { + // get next surface and new task for 2nd bitstream in ViewOutput mode + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_BITSTREAM); + break; + } + } + + timeCurEnd = time_get_tick(); + if (timeCurMax < (timeCurEnd - timeCurStart)) + timeCurMax = timeCurEnd - timeCurStart; + } + if (timeCurMax) { + nFrames++; + m_timeAll += timeCurMax; + } + } + + // means that the input file has ended, need to go to buffering loops + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_DATA); + // exit in case of other errors + MSDK_CHECK_STATUS(sts, "Unexpected error!!"); + + // loop to get buffered frames from encoder + while (MFX_ERR_NONE <= sts) { + timeCurMax = 0; + for (int regId = 0; regId < m_resources.GetSize(); regId++) { + // get a free task (bit stream and sync point for encoder) + sts = m_resources.GetFreeTask(regId, &pCurrentTask); + MSDK_CHECK_STATUS(sts, "m_resources.GetFreeTask failed"); + + for (;;) { + timeCurStart = time_get_tick(); + + InsertIDR(pCurrentTask->encCtrl, m_bInsertIDR); + m_bInsertIDR = false; + + sts = m_resources[regId].pEncoder->EncodeFrameAsync(&pCurrentTask->encCtrl, + NULL, + &pCurrentTask->mfxBS, + &pCurrentTask->EncSyncP); + + if (MFX_ERR_NONE < sts && + !pCurrentTask->EncSyncP) // repeat the call if warning and no output + { + if (MFX_WRN_DEVICE_BUSY == sts) + MSDK_SLEEP(1); // wait if device is busy + } + else if (MFX_ERR_NONE < sts && pCurrentTask->EncSyncP) { + sts = MFX_ERR_NONE; // ignore warnings if output is available + break; + } + else if (MFX_ERR_NOT_ENOUGH_BUFFER == sts) { + sts = AllocateSufficientBuffer(pCurrentTask->mfxBS); + MSDK_CHECK_STATUS(sts, "AllocateSufficientBuffer failed"); + continue; + } + else { + // get new task for 2nd bitstream in ViewOutput mode + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_BITSTREAM); + break; + } + } + + // MFX_ERR_MORE_DATA is the correct status to exit buffering loop with + // indicates that there are no more buffered frames + if (sts == MFX_ERR_MORE_DATA) + continue; + // exit in case of other errors + MSDK_CHECK_STATUS(sts, "m_resources[regId].pEncoder->EncodeFrameAsync failed"); + + timeCurEnd = time_get_tick(); + if (timeCurMax < (timeCurEnd - timeCurStart)) + timeCurMax = timeCurEnd - timeCurStart; + } + if (timeCurMax) { + nFrames++; + m_timeAll += timeCurMax; + } + } + + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_DATA); + + // MFX_ERR_NOT_FOUND is the correct status to exit the loop with + // EncodeFrameAsync and SyncOperation don't return this status + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_NOT_FOUND); + // report any errors that occurred in asynchronous part + MSDK_CHECK_STATUS(sts, "Unexpected error!!"); + + m_statOverall.StopTimeMeasurement(); + return sts; +} +#endif \ No newline at end of file diff --git a/tools/legacy/sample_encode/src/pipeline_user.cpp b/tools/legacy/sample_encode/src/pipeline_user.cpp new file mode 100644 index 00000000..2e79b9f8 --- /dev/null +++ b/tools/legacy/sample_encode/src/pipeline_user.cpp @@ -0,0 +1,482 @@ + +#if (MFX_VERSION < 2000) + #include "mfx_samples_config.h" + + #include "pipeline_user.h" + #include "sysmem_allocator.h" + + #ifndef MFX_VERSION + #error MFX_VERSION not defined + #endif + +mfxStatus CUserPipeline::InitRotateParam(sInputParams *pInParams) { + MSDK_CHECK_POINTER(pInParams, MFX_ERR_NULL_PTR); + + MSDK_ZERO_MEMORY(m_pluginVideoParams); + m_pluginVideoParams.AsyncDepth = + pInParams + ->nAsyncDepth; // the maximum number of tasks that can be submitted before any task execution finishes + m_pluginVideoParams.vpp.In.FourCC = MFX_FOURCC_NV12; + m_pluginVideoParams.vpp.In.Width = m_pluginVideoParams.vpp.In.CropW = pInParams->nWidth; + m_pluginVideoParams.vpp.In.Height = m_pluginVideoParams.vpp.In.CropH = pInParams->nHeight; + m_pluginVideoParams.vpp.Out.FourCC = MFX_FOURCC_NV12; + m_pluginVideoParams.vpp.Out.Width = m_pluginVideoParams.vpp.Out.CropW = pInParams->nWidth; + m_pluginVideoParams.vpp.Out.Height = m_pluginVideoParams.vpp.Out.CropH = pInParams->nHeight; + if (pInParams->memType != SYSTEM_MEMORY) + m_pluginVideoParams.IOPattern = + MFX_IOPATTERN_IN_VIDEO_MEMORY | MFX_IOPATTERN_OUT_VIDEO_MEMORY; + + m_RotateParams.Angle = pInParams->nRotationAngle; + + return MFX_ERR_NONE; +} + +mfxStatus CUserPipeline::AllocFrames() { + MSDK_CHECK_POINTER(m_pmfxENC, MFX_ERR_NOT_INITIALIZED); + + mfxStatus sts = MFX_ERR_NONE; + + mfxFrameAllocRequest EncRequest, RotateRequest; + + mfxU16 nEncSurfNum = 0; // number of frames at encoder input (rotate output) + mfxU16 nRotateSurfNum = 0; // number of frames at rotate input + + MSDK_ZERO_MEMORY(EncRequest); + + sts = m_pmfxENC->QueryIOSurf(&m_mfxEncParams, &EncRequest); + MSDK_CHECK_STATUS(sts, "m_pmfxENC->QueryIOSurf failed"); + + if (EncRequest.NumFrameSuggested < m_mfxEncParams.AsyncDepth) + return MFX_ERR_MEMORY_ALLOC; + + nEncSurfNum = EncRequest.NumFrameSuggested; + + // The number of surfaces for plugin input - so that plugin can work at async depth = m_nAsyncDepth + nRotateSurfNum = std::max(m_mfxEncParams.AsyncDepth, m_nPerfOpt); + + // If surfaces are shared by 2 components, c1 and c2. NumSurf = c1_out + c2_in - AsyncDepth + 1 + nEncSurfNum += nRotateSurfNum - m_mfxEncParams.AsyncDepth + 1; + + // prepare allocation requests + EncRequest.NumFrameSuggested = EncRequest.NumFrameMin = nEncSurfNum; + RotateRequest.NumFrameSuggested = RotateRequest.NumFrameMin = nRotateSurfNum; + + mfxU16 mem_type = MFX_MEMTYPE_EXTERNAL_FRAME; + mem_type |= (SYSTEM_MEMORY == m_memType) ? (mfxU16)MFX_MEMTYPE_SYSTEM_MEMORY + : (mfxU16)MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET; + + EncRequest.Type = RotateRequest.Type = mem_type; + + EncRequest.Type |= MFX_MEMTYPE_FROM_ENCODE; + RotateRequest.Type |= MFX_MEMTYPE_FROM_VPPOUT; // THIS IS A WORKAROUND, NEED TO ADJUST ALLOCATOR + + MSDK_MEMCPY_VAR(EncRequest.Info, &(m_mfxEncParams.mfx.FrameInfo), sizeof(mfxFrameInfo)); + MSDK_MEMCPY_VAR(RotateRequest.Info, &(m_pluginVideoParams.vpp.In), sizeof(mfxFrameInfo)); + + // alloc frames for encoder input + sts = m_pMFXAllocator->Alloc(m_pMFXAllocator->pthis, &EncRequest, &m_EncResponse); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Alloc failed"); + + // alloc frames for rotate input + sts = m_pMFXAllocator->Alloc(m_pMFXAllocator->pthis, &(RotateRequest), &m_PluginResponse); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Alloc failed"); + + // prepare mfxFrameSurface1 array for components + m_pEncSurfaces = new mfxFrameSurface1[nEncSurfNum]; + MSDK_CHECK_POINTER(m_pEncSurfaces, MFX_ERR_MEMORY_ALLOC); + m_pPluginSurfaces = new mfxFrameSurface1[nRotateSurfNum]; + MSDK_CHECK_POINTER(m_pPluginSurfaces, MFX_ERR_MEMORY_ALLOC); + + for (int i = 0; i < nEncSurfNum; i++) { + MSDK_ZERO_MEMORY(m_pEncSurfaces[i]); + MSDK_MEMCPY_VAR(m_pEncSurfaces[i].Info, + &(m_mfxEncParams.mfx.FrameInfo), + sizeof(mfxFrameInfo)); + if (SYSTEM_MEMORY != m_memType) { + // external allocator used - provide just MemIds + m_pEncSurfaces[i].Data.MemId = m_EncResponse.mids[i]; + } + else { + sts = m_pMFXAllocator->Lock(m_pMFXAllocator->pthis, + m_EncResponse.mids[i], + &(m_pEncSurfaces[i].Data)); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Lock failed"); + } + } + + for (int i = 0; i < nRotateSurfNum; i++) { + MSDK_ZERO_MEMORY(m_pPluginSurfaces[i]); + MSDK_MEMCPY_VAR(m_pPluginSurfaces[i].Info, + &(m_pluginVideoParams.vpp.In), + sizeof(mfxFrameInfo)); + if (SYSTEM_MEMORY != m_memType) { + // external allocator used - provide just MemIds + m_pPluginSurfaces[i].Data.MemId = m_PluginResponse.mids[i]; + } + else { + sts = m_pMFXAllocator->Lock(m_pMFXAllocator->pthis, + m_PluginResponse.mids[i], + &(m_pPluginSurfaces[i].Data)); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Lock failed"); + } + } + + return MFX_ERR_NONE; +} + +void CUserPipeline::DeleteFrames() { + MSDK_SAFE_DELETE_ARRAY(m_pPluginSurfaces); + + CEncodingPipeline::DeleteFrames(); +} + +CUserPipeline::CUserPipeline() : CEncodingPipeline() { + m_pPluginSurfaces = NULL; + m_PluginModule = NULL; + m_pusrPlugin = NULL; + MSDK_ZERO_MEMORY(m_PluginResponse); + MSDK_ZERO_MEMORY(m_pluginVideoParams); + MSDK_ZERO_MEMORY(m_RotateParams); + m_MVCflags = MVC_DISABLED; +} + +CUserPipeline::~CUserPipeline() { + Close(); +} + +mfxStatus CUserPipeline::Init(sInputParams *pParams) { + MSDK_CHECK_POINTER(pParams, MFX_ERR_NULL_PTR); + + mfxStatus sts = MFX_ERR_NONE; + + m_PluginModule = msdk_so_load(pParams->strPluginDLLPath); + MSDK_CHECK_POINTER(m_PluginModule, MFX_ERR_NOT_FOUND); + + PluginModuleTemplate::fncCreateGenericPlugin pCreateFunc = + (PluginModuleTemplate::fncCreateGenericPlugin)msdk_so_get_addr(m_PluginModule, + "mfxCreateGenericPlugin"); + + MSDK_CHECK_POINTER(pCreateFunc, MFX_ERR_NOT_FOUND); + + m_pusrPlugin = (*pCreateFunc)(); + MSDK_CHECK_POINTER(m_pusrPlugin, MFX_ERR_NOT_FOUND); + + // prepare input file reader + sts = m_FileReader.Init(pParams->InputFiles, pParams->FileInputFourCC); + MSDK_CHECK_STATUS(sts, "m_FileReader.Init failed"); + + // set memory type + m_memType = pParams->memType; + m_nPerfOpt = pParams->nPerfOpt; + m_nTimeout = pParams->nTimeout; + m_bCutOutput = !pParams->bUncut; + + // prepare output file writer + sts = InitFileWriters(pParams); + MSDK_CHECK_STATUS(sts, "InitFileWriters failed"); + + mfxIMPL impl = pParams->bUseHWLib ? MFX_IMPL_HARDWARE : MFX_IMPL_SOFTWARE; + + // if d3d11 surfaces are used ask the library to run acceleration through D3D11 + // feature may be unsupported due to OS or MSDK API version + if (D3D11_MEMORY == pParams->memType) + impl |= MFX_IMPL_VIA_D3D11; + + mfxVersion min_version; + mfxVersion version; // real API version with which library is initialized + + // we set version to 1.0 and later we will query actual version of the library which will got leaded + min_version.Major = 1; + min_version.Minor = 0; + + // create a session for the second vpp and encode + sts = m_mfxSession.Init(impl, &min_version); + MSDK_CHECK_STATUS(sts, "m_mfxSession.Init failed"); + + sts = MFXQueryVersion(m_mfxSession, &version); // get real API version of the loaded library + MSDK_CHECK_STATUS(sts, "MFXQueryVersion failed"); + + if (CheckVersion(&version, MSDK_FEATURE_PLUGIN_API)) { + // we check if codec is distributed as a mediasdk plugin and load it if yes + // else if codec is not in the list of mediasdk plugins, we assume, that it is supported inside mediasdk library + + // in case of HW library (-hw key) we will firstly try to load HW plugin + // in case of failure - we will try SW one + mfxIMPL impl2 = pParams->bUseHWLib ? MFX_IMPL_HARDWARE : MFX_IMPL_SOFTWARE; + + if (AreGuidsEqual(MSDK_PLUGINGUID_NULL, pParams->pluginParams.pluginGuid)) { + pParams->pluginParams.pluginGuid = + msdkGetPluginUID(impl2, MSDK_VENCODE, pParams->CodecId); + } + if (AreGuidsEqual(pParams->pluginParams.pluginGuid, MSDK_PLUGINGUID_NULL) && + impl2 == MFX_IMPL_HARDWARE) + pParams->pluginParams.pluginGuid = + msdkGetPluginUID(MFX_IMPL_SOFTWARE, MSDK_VENCODE, pParams->CodecId); + if (!AreGuidsEqual(pParams->pluginParams.pluginGuid, MSDK_PLUGINGUID_NULL)) { + m_pPlugin.reset(LoadPlugin(MFX_PLUGINTYPE_VIDEO_ENCODE, + m_mfxSession, + pParams->pluginParams.pluginGuid, + 1)); + if (m_pPlugin.get() == NULL) + sts = MFX_ERR_UNSUPPORTED; + } + } + + // create encoder + m_pmfxENC = new MFXVideoENCODE(m_mfxSession); + MSDK_CHECK_POINTER(m_pmfxENC, MFX_ERR_MEMORY_ALLOC); + + sts = InitMfxEncParams(pParams); + MSDK_CHECK_STATUS(sts, "InitMfxEncParams failed"); + + sts = InitRotateParam(pParams); + MSDK_CHECK_STATUS(sts, "InitRotateParam failed"); + + // create and init frame allocator + sts = CreateAllocator(); + MSDK_CHECK_STATUS(sts, "CreateAllocator failed"); + + sts = ResetMFXComponents(pParams); + MSDK_CHECK_STATUS(sts, "ResetMFXComponents failed"); + // register plugin callbacks in Media SDK + mfxPlugin plg = make_mfx_plugin_adapter(m_pusrPlugin); + sts = MFXVideoUSER_Register(m_mfxSession, 0, &plg); + MSDK_CHECK_STATUS(sts, "MFXVideoUSER_Register failed"); + + // need to call Init after registration because mfxCore interface is needed + sts = m_pusrPlugin->Init(&m_pluginVideoParams); + MSDK_CHECK_STATUS(sts, "m_pusrPlugin->Init failed"); + + sts = m_pusrPlugin->SetAuxParams(&m_RotateParams, sizeof(m_RotateParams)); + MSDK_CHECK_STATUS(sts, "m_pusrPlugin->SetAuxParams failed"); + + return MFX_ERR_NONE; +} + +void CUserPipeline::Close() { + MFXVideoUSER_Unregister(m_mfxSession, 0); + + CEncodingPipeline::Close(); + + MSDK_SAFE_DELETE(m_pusrPlugin); + if (m_PluginModule) { + msdk_so_free(m_PluginModule); + m_PluginModule = NULL; + } +} + +mfxStatus CUserPipeline::ResetMFXComponents(sInputParams *pParams) { + MSDK_CHECK_POINTER(pParams, MFX_ERR_NULL_PTR); + MSDK_CHECK_POINTER(m_pmfxENC, MFX_ERR_NOT_INITIALIZED); + + mfxStatus sts = MFX_ERR_NONE; + + sts = m_pmfxENC->Close(); + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_NOT_INITIALIZED); + MSDK_CHECK_STATUS(sts, "m_pmfxENC->Close failed"); + + // free allocated frames + DeleteFrames(); + + m_TaskPool.Close(); + + sts = AllocFrames(); + MSDK_CHECK_STATUS(sts, "AllocFrames failed"); + + sts = m_pmfxENC->Init(&m_mfxEncParams); + MSDK_CHECK_STATUS(sts, "m_pmfxENC->Init failed"); + + mfxU32 nEncodedDataBufferSize = + m_mfxEncParams.mfx.FrameInfo.Width * m_mfxEncParams.mfx.FrameInfo.Height * 4; + sts = m_TaskPool.Init(&m_mfxSession, + m_FileWriters.first, + m_mfxEncParams.AsyncDepth, + nEncodedDataBufferSize, + m_FileWriters.second); + MSDK_CHECK_STATUS(sts, "m_TaskPool.Init failed"); + + sts = FillBuffers(); + MSDK_CHECK_STATUS(sts, "FillBuffers failed"); + + return MFX_ERR_NONE; +} + +mfxStatus CUserPipeline::Run() { + m_statOverall.StartTimeMeasurement(); + MSDK_CHECK_POINTER(m_pmfxENC, MFX_ERR_NOT_INITIALIZED); + + mfxStatus sts = MFX_ERR_NONE; + + sTask *pCurrentTask = NULL; // a pointer to the current task + mfxU16 nEncSurfIdx = 0; // index of free surface for encoder input + mfxU16 nRotateSurfIdx = 0; // ~ for rotation plugin input + + mfxSyncPoint RotateSyncPoint = NULL; // ~ with rotation plugin call + + sts = MFX_ERR_NONE; + + // main loop, preprocessing and encoding + while (MFX_ERR_NONE <= sts || MFX_ERR_MORE_DATA == sts) { + // get a pointer to a free task (bit stream and sync point for encoder) + sts = GetFreeTask(&pCurrentTask); + MSDK_BREAK_ON_ERROR(sts); + + if (m_nPerfOpt) { + nRotateSurfIdx = m_nFramesRead % m_nPerfOpt; + } + else { + nRotateSurfIdx = GetFreeSurface(m_pPluginSurfaces, m_PluginResponse.NumFrameActual); + } + MSDK_CHECK_ERROR(nRotateSurfIdx, MSDK_INVALID_SURF_IDX, MFX_ERR_MEMORY_ALLOC); + + m_statFile.StartTimeMeasurement(); + sts = LoadNextFrame(&m_pPluginSurfaces[nRotateSurfIdx]); + m_statFile.StopTimeMeasurement(); + if ((MFX_ERR_MORE_DATA == sts) && !m_bTimeOutExceed) + continue; + + MSDK_BREAK_ON_ERROR(sts); + + nEncSurfIdx = GetFreeSurface(m_pEncSurfaces, m_EncResponse.NumFrameActual); + MSDK_CHECK_ERROR(nEncSurfIdx, MSDK_INVALID_SURF_IDX, MFX_ERR_MEMORY_ALLOC); + + // rotation + for (;;) { + mfxHDL h1, h2; + h1 = &m_pPluginSurfaces[nRotateSurfIdx]; + h2 = &m_pEncSurfaces[nEncSurfIdx]; + sts = MFXVideoUSER_ProcessFrameAsync(m_mfxSession, &h1, 1, &h2, 1, &RotateSyncPoint); + + if (MFX_WRN_DEVICE_BUSY == sts) { + MSDK_SLEEP(1); // just wait and then repeat the same call + } + else { + break; + } + } + MSDK_BREAK_ON_ERROR(sts); + + // save the id of preceding rotate task which will produce input data for the encode task + if (RotateSyncPoint) { + pCurrentTask->DependentVppTasks.push_back(RotateSyncPoint); + RotateSyncPoint = NULL; + } + + for (;;) { + InsertIDR(pCurrentTask->encCtrl, m_bInsertIDR); + m_bInsertIDR = false; + + sts = m_pmfxENC->EncodeFrameAsync(&pCurrentTask->encCtrl, + &m_pEncSurfaces[nEncSurfIdx], + &pCurrentTask->mfxBS, + &pCurrentTask->EncSyncP); + + if (MFX_ERR_NONE < sts && + !pCurrentTask->EncSyncP) // repeat the call if warning and no output + { + if (MFX_WRN_DEVICE_BUSY == sts) + MSDK_SLEEP(1); // wait if device is busy + } + else if (MFX_ERR_NONE < sts && pCurrentTask->EncSyncP) { + sts = MFX_ERR_NONE; // ignore warnings if output is available + break; + } + else if (MFX_ERR_NOT_ENOUGH_BUFFER == sts) { + sts = AllocateSufficientBuffer(pCurrentTask->mfxBS); + MSDK_CHECK_STATUS(sts, "AllocateSufficientBuffer failed"); + } + else { + break; + } + } + } + + // means that the input file has ended, need to go to buffering loops + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_DATA); + // exit in case of other errors + MSDK_CHECK_STATUS(sts, "m_pmfENC->EncodeFrameAsync failed"); + + // rotate plugin doesn't buffer frames + // loop to get buffered frames from encoder + while (MFX_ERR_NONE <= sts) { + // get a free task (bit stream and sync point for encoder) + sts = GetFreeTask(&pCurrentTask); + MSDK_BREAK_ON_ERROR(sts); + + for (;;) { + InsertIDR(pCurrentTask->encCtrl, m_bInsertIDR); + m_bInsertIDR = false; + + sts = m_pmfxENC->EncodeFrameAsync(&pCurrentTask->encCtrl, + NULL, + &pCurrentTask->mfxBS, + &pCurrentTask->EncSyncP); + + if (MFX_ERR_NONE < sts && + !pCurrentTask->EncSyncP) // repeat the call if warning and no output + { + if (MFX_WRN_DEVICE_BUSY == sts) + MSDK_SLEEP(1); // wait if device is busy + } + else if (MFX_ERR_NONE < sts && pCurrentTask->EncSyncP) { + sts = MFX_ERR_NONE; // ignore warnings if output is available + break; + } + else if (MFX_ERR_NOT_ENOUGH_BUFFER == sts) { + sts = AllocateSufficientBuffer(pCurrentTask->mfxBS); + MSDK_CHECK_STATUS(sts, "AllocateSufficientBuffer failed"); + } + else { + break; + } + } + MSDK_BREAK_ON_ERROR(sts); + } + + // MFX_ERR_MORE_DATA is the correct status to exit buffering loop with + // indicates that there are no more buffered frames + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_DATA); + // exit in case of other errors + MSDK_CHECK_STATUS(sts, "m_pmfxENC->EncodeFrameAsync failed"); + + // synchronize all tasks that are left in task pool + while (MFX_ERR_NONE == sts) { + sts = m_TaskPool.SynchronizeFirstTask(); + } + + // MFX_ERR_NOT_FOUND is the correct status to exit the loop with, + // EncodeFrameAsync and SyncOperation don't return this status + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_NOT_FOUND); + // report any errors that occurred in asynchronous part + MSDK_CHECK_STATUS(sts, "m_TaskPool.SynchronizeFirstTask failed"); + m_statOverall.StopTimeMeasurement(); + return sts; +} + +mfxStatus CUserPipeline::FillBuffers() { + if (m_nPerfOpt) { + for (mfxU32 i = 0; i < m_nPerfOpt; i++) { + mfxFrameSurface1 *surface = &m_pPluginSurfaces[i]; + + mfxStatus sts = + m_pMFXAllocator->Lock(m_pMFXAllocator->pthis, surface->Data.MemId, &surface->Data); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Lock failed"); + sts = m_FileReader.LoadNextFrame(surface); + MSDK_CHECK_STATUS(sts, "m_FileReader.LoadNextFrame failed"); + sts = m_pMFXAllocator->Unlock(m_pMFXAllocator->pthis, + surface->Data.MemId, + &surface->Data); + MSDK_CHECK_STATUS(sts, "m_pMFXAllocator->Unlock failed"); + } + } + return MFX_ERR_NONE; +} + +void CUserPipeline::PrintInfo() { + msdk_printf(MSDK_STRING("\nPipeline with rotation plugin")); + msdk_printf(MSDK_STRING( + "\nNOTE: Some of command line options may have been ignored as non-supported for this pipeline. For details see readme-encode.rtf.\n\n")); + + CEncodingPipeline::PrintInfo(); +} +#endif diff --git a/tools/legacy/sample_encode/src/sample_encode.cpp b/tools/legacy/sample_encode/src/sample_encode.cpp new file mode 100644 index 00000000..5b2a0401 --- /dev/null +++ b/tools/legacy/sample_encode/src/sample_encode.cpp @@ -0,0 +1,1600 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "mfx_samples_config.h" + +#include +#include +#include +#include "pipeline_encode.h" +#include "pipeline_region_encode.h" +#include "pipeline_user.h" +#include "version.h" + +#define VAL_CHECK(val, argIdx, argName) \ + { \ + if (val) { \ + PrintHelp(NULL, \ + MSDK_STRING("Input argument number %d \"%s\" require more parameters"), \ + argIdx, \ + argName); \ + return MFX_ERR_UNSUPPORTED; \ + } \ + } + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +void PrintHelp(msdk_char* strAppName, const msdk_char* strErrorMessage, ...) { + msdk_printf(MSDK_STRING("Encoding Sample Version %s\n\n"), GetMSDKSampleVersion().c_str()); + + if (strErrorMessage) { + va_list args; + msdk_printf(MSDK_STRING("ERROR: ")); + va_start(args, strErrorMessage); + msdk_vprintf(strErrorMessage, args); + va_end(args); + msdk_printf(MSDK_STRING("\n\n")); + } + + msdk_printf( + MSDK_STRING( + "Usage: %s [] -i InputYUVFile -o OutputEncodedFile -w width -h height\n"), + strAppName); + msdk_printf(MSDK_STRING("\n")); + msdk_printf(MSDK_STRING("Supported codecs, :\n")); + msdk_printf( +#if (MFX_VERSION >= 2000) + MSDK_STRING(" =h264|h265|mpeg2|vc1|mvc|jpeg|av1 - built-in Media SDK codecs\n")); +#else + MSDK_STRING(" =h264|h265|mpeg2|vc1|mvc|jpeg - built-in Media SDK codecs\n")); +#endif + + msdk_printf(MSDK_STRING(" If codecid is jpeg, -q option is mandatory.)\n")); + msdk_printf(MSDK_STRING("Options: \n")); +#if __linux__ + msdk_printf(MSDK_STRING(" [-device /path/to/device] - set graphics device for processing\n")); + msdk_printf( + MSDK_STRING(" For example: '-device /dev/dri/card0'\n")); + msdk_printf(MSDK_STRING( + " '-device /dev/dri/renderD128'\n")); + msdk_printf(MSDK_STRING( + " If not specified, defaults to the first Intel device found on the system\n")); +#endif +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + msdk_printf( + MSDK_STRING(" [-dGfx] - preffer processing on dGfx (by default system decides)\n")); + msdk_printf( + MSDK_STRING(" [-iGfx] - preffer processing on iGfx (by default system decides)\n")); +#endif + msdk_printf(MSDK_STRING( + " [-nv12|yuy2|uyvy|ayuv|rgb4|p010|y210|y410|a2rgb10|p016|y216] - input color format (by default YUV420 is expected).\n")); + msdk_printf(MSDK_STRING( + " [-msb10] - 10-bit color format is expected to have data in Most Significant Bits of words.\n (LSB data placement is expected by default).\n This option also disables data shifting during file reading.\n")); + msdk_printf(MSDK_STRING( + " [-ec::p010] - force usage of P010 surfaces for encoder (conversion will be made if necessary). Use for 10 bit HEVC encoding\n")); +#if (MFX_VERSION >= 2000) + msdk_printf(MSDK_STRING( + " [-i010] - 10-bit color format, planar YUV 4:2:0, little endian (ex:ffmpeg yuv420p10le).\n")); +#endif + msdk_printf(MSDK_STRING( + " [-tff|bff] - input stream is interlaced, top|bottom fielf first, if not specified progressive is expected\n")); + msdk_printf(MSDK_STRING(" [-bref] - arrange B frames in B pyramid reference structure\n")); + msdk_printf(MSDK_STRING( + " [-nobref] - do not use B-pyramid (by default the decision is made by library)\n")); + msdk_printf(MSDK_STRING( + " [-idr_interval size] - idr interval, default 0 means every I is an IDR, 1 means every other I frame is an IDR etc\n")); + msdk_printf(MSDK_STRING(" [-f frameRate] - video frame rate (frames per second)\n")); + msdk_printf(MSDK_STRING(" [-n number] - number of frames to process\n")); + msdk_printf(MSDK_STRING( + " [-b bitRate] - encoded bit rate (Kbits per second), valid for H.264, H.265, MPEG2 and MVC encoders \n")); + msdk_printf(MSDK_STRING( + " [-u usage] - target usage, valid for H.265, H.264, H.265, MPEG2 and MVC encoders. Expected values:\n")); + msdk_printf(MSDK_STRING( + " veryslow(quality), slower, slow, medium(balanced), fast, faster, veryfast(speed)\n")); + msdk_printf(MSDK_STRING( + " [-q quality] - mandatory quality parameter for JPEG encoder. In range [1,100]. 100 is the best quality. \n")); + msdk_printf(MSDK_STRING( + " [-r distance] - Distance between I- or P- key frames (1 means no B-frames) \n")); + msdk_printf(MSDK_STRING(" [-g size] - GOP size (default 256)\n")); + msdk_printf(MSDK_STRING(" [-x numRefs] - number of reference frames\n")); + msdk_printf(MSDK_STRING( + " [-num_active_P numRefs] - number of maximum allowed references for P frames (for HEVC only)\n")); + msdk_printf(MSDK_STRING( + " [-num_active_BL0 numRefs] - number of maximum allowed references for B frames in L0 (for HEVC only)\n")); + msdk_printf(MSDK_STRING( + " [-num_active_BL1 numRefs] - number of maximum allowed references for B frames in L1 (for HEVC only)\n")); + msdk_printf(MSDK_STRING( + " [-la] - use the look ahead bitrate control algorithm (LA BRC) (by default constant bitrate control method is used)\n")); + msdk_printf(MSDK_STRING( + " for H.264, H.265 encoder. Supported only with -hw option on 4th Generation Intel Core processors. \n")); + msdk_printf(MSDK_STRING( + " if [-icq] option is also enabled simultaneously, then LA_ICQ bitrate control algotithm will be used. \n")); + + msdk_printf(MSDK_STRING( + " [-lad depth] - depth parameter for the LA BRC, the number of frames to be analyzed before encoding. In range [0,100] (0 - default: auto-select by mediasdk library).\n")); + msdk_printf(MSDK_STRING(" may be 1 in the case when -mss option is specified \n")); + msdk_printf(MSDK_STRING( + " if [-icq] option is also enabled simultaneously, then LA_ICQ bitrate control algotithm will be used. \n")); + msdk_printf( + MSDK_STRING(" [-dstw width] - destination picture width, invokes VPP resizing\n")); + msdk_printf( + MSDK_STRING(" [-dsth height] - destination picture height, invokes VPP resizing\n")); + msdk_printf(MSDK_STRING(" [-hw] - use platform specific SDK implementation (default)\n")); + msdk_printf(MSDK_STRING( + " [-sw] - use software implementation, if not specified platform specific SDK implementation is used\n")); + + msdk_printf(MSDK_STRING( + " [-async] - depth of asynchronous pipeline. default value is 4. must be between 1 and 20.\n")); + msdk_printf(MSDK_STRING(" [-gpucopy::] Enable or disable GPU copy mode\n")); + msdk_printf( + MSDK_STRING(" [-robust:soft] - Recovery from GPU hang by inserting an IDR\n")); + msdk_printf(MSDK_STRING(" [-vbr] - variable bitrate control\n")); + msdk_printf(MSDK_STRING(" [-cbr] - constant bitrate control\n")); + msdk_printf(MSDK_STRING( + " [-vcm] - Video Conferencing Mode (VCM) bitrate control method\n")); + msdk_printf(MSDK_STRING( + " [-qvbr quality] - variable bitrate control algorithm with constant quality. Quality in range [1,51]. 1 is the best quality.\n")); + msdk_printf(MSDK_STRING( + " [-icq quality] - Intelligent Constant Quality (ICQ) bitrate control method. In range [1,51]. 1 is the best quality.\n")); + msdk_printf(MSDK_STRING( + " If [-la] or [-lad] options are enabled simultaneously, then LA_ICQ bitrate control method will be used.\n")); + msdk_printf( + MSDK_STRING(" [-avbr] - average variable bitrate control algorithm \n")); + msdk_printf(MSDK_STRING( + " [-convergence] - bitrate convergence period for avbr, in the unit of frame \n")); + msdk_printf(MSDK_STRING( + " [-accuracy] - bitrate accuracy for avbr, in the range of [1, 100] \n")); + msdk_printf(MSDK_STRING( + " [-cqp] - constant quantization parameter (CQP BRC) bitrate control method\n")); + msdk_printf(MSDK_STRING( + " (by default constant bitrate control method is used), should be used along with -qpi, -qpp, -qpb.\n")); + msdk_printf(MSDK_STRING( + " [-qpi] - constant quantizer for I frames (if bitrace control method is CQP). In range [1,51]. 0 by default, i.e.no limitations on QP.\n")); + msdk_printf(MSDK_STRING( + " [-qpp] - constant quantizer for P frames (if bitrace control method is CQP). In range [1,51]. 0 by default, i.e.no limitations on QP.\n")); + msdk_printf(MSDK_STRING( + " [-qpb] - constant quantizer for B frames (if bitrace control method is CQP). In range [1,51]. 0 by default, i.e.no limitations on QP.\n")); +#if (MFX_VERSION >= 1027) + msdk_printf(MSDK_STRING( + " [-round_offset_in file] - use this file to set per frame inter/intra rounding offset(for AVC only)\n")); +#endif + msdk_printf(MSDK_STRING( + " [-lowpower:] - Turn this option ON to enable QuickSync Fixed Function (low-power HW) encoding mode\n")); + msdk_printf(MSDK_STRING( + " [-ir_type] - Intra refresh type. 0 - no refresh, 1 - vertical refresh, 2 - horisontal refresh, 3 - slice refresh\n")); + msdk_printf(MSDK_STRING( + " [-ir_cycle_size] - Number of pictures within refresh cycle starting from 2\n")); + msdk_printf(MSDK_STRING( + " [-ir_qp_delta] - QP difference for inserted intra MBs. This is signed value in [-51, 51] range\n")); + msdk_printf(MSDK_STRING( + " [-ir_cycle_dist] - Distance between the beginnings of the intra-refresh cycles in frames\n")); + msdk_printf(MSDK_STRING( + " [-gpb:] - Turn this option OFF to make HEVC encoder use regular P-frames instead of GPB\n")); + msdk_printf( + MSDK_STRING(" [-TransformSkip:]- Turn this option ON to enable transformskip\n")); + msdk_printf(MSDK_STRING( + " -AvcTemporalLayers [array:Layer.Scale] Configures the temporal layers hierarchy\n")); + msdk_printf(MSDK_STRING( + " -BaseLayerPID Sets priority ID for the base layer\n")); + msdk_printf(MSDK_STRING( + " -SPSId Sets sequence parameter set ID\n")); + msdk_printf( + MSDK_STRING(" -PPSId Sets picture parameter set ID\n")); + msdk_printf(MSDK_STRING( + " -PicTimingSEI: Enables or disables picture timing SEI\n")); + msdk_printf(MSDK_STRING( + " -NalHrdConformance: Enables or disables picture HRD conformance\n")); + msdk_printf(MSDK_STRING( + " -VuiNalHrdParameters: Enables or disables NAL HRD parameters in VUI header\n")); + msdk_printf(MSDK_STRING( + " [-ppyr:] - Turn this option ON to enable P-pyramid (by default the decision is made by library)\n")); + msdk_printf(MSDK_STRING( + " [-num_slice] - number of slices in each video frame. 0 by default.\n")); + msdk_printf(MSDK_STRING( + " If num_slice equals zero, the encoder may choose any slice partitioning allowed by the codec standard.\n")); + msdk_printf(MSDK_STRING( + " [-mss] - maximum slice size in bytes. Supported only with -hw and h264 codec. This option is not compatible with -num_slice option.\n")); + msdk_printf(MSDK_STRING( + " [-mfs] - maximum frame size in bytes. Supported only with h264 and hevc codec for VBR mode.\n")); + msdk_printf(MSDK_STRING( + " [-BitrateLimit:] - Turn this flag ON to set bitrate limitations imposed by the SDK encoder. Off by default.\n")); + msdk_printf(MSDK_STRING( + " [-re] - enable region encode mode. Works only with h265 encoder\n")); + msdk_printf(MSDK_STRING(" [-trows rows] - Number of rows for tiled encoding\n")); + msdk_printf( + MSDK_STRING(" [-tcols cols] - Number of columns for tiled encoding\n")); + msdk_printf(MSDK_STRING(" [-CodecProfile] - specifies codec profile\n")); + msdk_printf(MSDK_STRING(" [-CodecLevel] - specifies codec level\n")); + msdk_printf(MSDK_STRING(" [-GopOptFlag:closed] - closed gop\n")); + msdk_printf(MSDK_STRING(" [-GopOptFlag:strict] - strict gop\n")); + msdk_printf(MSDK_STRING(" [-AdaptiveI:] - Turn Adaptive I frames on/off\n")); + msdk_printf(MSDK_STRING(" [-AdaptiveB:] - Turn Adaptive B frames on/off\n")); + msdk_printf(MSDK_STRING( + " [-InitialDelayInKB] - the decoder starts decoding after the buffer reaches the initial size InitialDelayInKB, \ + which is equivalent to reaching an initial delay of InitialDelayInKB*8000/TargetKbps ms\n")); + msdk_printf(MSDK_STRING( + " [-BufferSizeInKB ] - represents the maximum possible size of any compressed frames\n")); + msdk_printf(MSDK_STRING( + " [-MaxKbps ] - for variable bitrate control, specifies the maximum bitrate at which \ + the encoded data enters the Video Buffering Verifier buffer\n")); + msdk_printf( + MSDK_STRING(" [-ws] - specifies sliding window size in frames\n")); + msdk_printf(MSDK_STRING( + " [-wb] - specifies the maximum bitrate averaged over a sliding window in Kbps\n")); + msdk_printf(MSDK_STRING( + " [-amfs:] - adaptive max frame size. If set on, P or B frame size can exceed MaxFrameSize when the scene change is detected.\ + It can benefit the video quality \n")); +#if (MFX_VERSION >= 1023) + msdk_printf(MSDK_STRING( + " [-LowDelayBRC] - strictly obey average frame size set by MaxKbps\n")); +#endif + msdk_printf(MSDK_STRING( + " [-signal:tm ] - represents transfer matrix coefficients for mfxExtVideoSignalInfo. 0 - unknown, 1 - BT709, 2 - BT601\n")); + msdk_printf( + MSDK_STRING(" [-WeightedPred:default|implicit ] - enables weighted prediction mode\n")); + msdk_printf(MSDK_STRING( + " [-WeightedBiPred:default|implicit ] - enables weighted bi-prediction mode\n")); + msdk_printf(MSDK_STRING( + " [-timeout] - encoding in cycle not less than specific time in seconds\n")); + msdk_printf(MSDK_STRING( + " [-perf_opt n] - sets number of prefetched frames. In performance mode app preallocates buffer and loads first n frames\n")); + msdk_printf(MSDK_STRING( + " [-uncut] - do not cut output file in looped mode (in case of -timeout option)\n")); + msdk_printf(MSDK_STRING( + " [-dump fileName] - dump MSDK components configuration to the file in text form\n")); + msdk_printf(MSDK_STRING( + " [-qpfile ] - if specified, the encoder will take frame parameters (frame number, QP, frame type) from text file\n")); + msdk_printf(MSDK_STRING( + " [-usei] - insert user data unregistered SEI. eg: 7fc92488825d11e7bb31be2e44b06b34:0:MSDK (uuid:type<0-preifx/1-suffix>:message)\n")); + msdk_printf(MSDK_STRING( + " the suffix SEI for HEVCe can be inserted when CQP used or HRD disabled\n")); +#if (MFX_VERSION >= 1024) + msdk_printf( + MSDK_STRING(" [-extbrc:] - External BRC for AVC and HEVC encoders\n")); +#endif +#if (MFX_VERSION >= 1026) + msdk_printf( + MSDK_STRING(" [-ExtBrcAdaptiveLTR:] - Set AdaptiveLTR for implicit extbrc\n")); +#endif + msdk_printf( + MSDK_STRING( + "Example: %s h265 -i InputYUVFile -o OutputEncodedFile -w width -h height -hw -p 2fca99749fdb49aeb121a5b63ef568f7\n"), + strAppName); + msdk_printf(MSDK_STRING( + " [-preset ] - Use particular preset for encoding parameters\n")); + msdk_printf(MSDK_STRING(" [-pp] - Print preset parameters\n")); +#if D3D_SURFACES_SUPPORT + msdk_printf(MSDK_STRING(" [-d3d] - work with d3d surfaces\n")); + msdk_printf(MSDK_STRING(" [-d3d11] - work with d3d11 surfaces\n")); + msdk_printf( + MSDK_STRING(" [-single_texture_d3d11 ] - single texture mode for d3d11 allocator \n")); + msdk_printf( + MSDK_STRING( + "Example: %s h264|h265|mpeg2|jpeg -i InputYUVFile -o OutputEncodedFile -w width -h height -d3d -hw \n"), + strAppName); + msdk_printf( + MSDK_STRING( + "Example for MVC: %s mvc -i InputYUVFile_1 -i InputYUVFile_2 -o OutputEncodedFile -w width -h height \n"), + strAppName); +#endif +#ifdef LIBVA_SUPPORT + msdk_printf(MSDK_STRING(" [-vaapi] - work with vaapi surfaces\n")); + msdk_printf( + MSDK_STRING( + "Example: %s h264|mpeg2|mvc -i InputYUVFile -o OutputEncodedFile -w width -h height -angle 180 -g 300 -r 1 \n"), + strAppName); +#endif +#if defined(ENABLE_V4L2_SUPPORT) + msdk_printf( + MSDK_STRING(" [-d] - Device video node (eg: /dev/video0)\n")); + msdk_printf( + MSDK_STRING(" [-p] - Mipi Port number (eg: Port 0)\n")); + msdk_printf(MSDK_STRING( + " [-m] - Mipi Mode Configuration [PREVIEW/CONTINUOUS/STILL/VIDEO]\n")); + msdk_printf( + MSDK_STRING(" [-UYVY] - Input Raw format types V4L2 Encode\n")); + msdk_printf( + MSDK_STRING(" [-YUY2] - Input Raw format types V4L2 Encode\n")); + msdk_printf(MSDK_STRING(" [-i::v4l2] - To enable v4l2 option\n")); + msdk_printf( + MSDK_STRING( + "Example: %s h264|mpeg2|mvc -i::v4l2 -o OutputEncodedFile -w width -h height -d /dev/video0 -UYVY -m preview -p 0\n"), + strAppName); +#endif +#if (MFX_VERSION >= 2000) + msdk_printf(MSDK_STRING("\n")); + msdk_printf( + MSDK_STRING(" [-api2x_internalmem] - specifies internal memory mode of vpl 2.x\n")); + msdk_printf( + MSDK_STRING(" [-api2x_dispatcher] - specifies 2.x API smart dispatcher\n\n")); +#endif + msdk_printf(MSDK_STRING( + " [-viewoutput] - instruct the MVC encoder to output each view in separate bitstream buffer. Depending on the number of -o options behaves as follows:\n")); + msdk_printf(MSDK_STRING(" 1: two views are encoded in single file\n")); + msdk_printf(MSDK_STRING(" 2: two views are encoded in separate files\n")); + msdk_printf(MSDK_STRING( + " 3: behaves like 2 -o opitons was used and then one -o\n\n")); + msdk_printf( + MSDK_STRING( + "Example: %s mvc -i InputYUVFile_1 -i InputYUVFile_2 -o OutputEncodedFile_1 -o OutputEncodedFile_2 -viewoutput -w width -h height \n"), + strAppName); + // user module options + msdk_printf(MSDK_STRING("User module options: \n")); + msdk_printf(MSDK_STRING( + " [-angle 180] - enables 180 degrees picture rotation before encoding, CPU implementation by default. Rotation requires NV12 input. Options -tff|bff, -dstw, -dsth, -d3d are not effective together with this one, -nv12 is required.\n")); + msdk_printf(MSDK_STRING(" [-opencl] - rotation implementation through OPENCL\n")); + msdk_printf( + MSDK_STRING( + "Example: %s h264|h265|mpeg2|mvc|jpeg -i InputYUVFile -o OutputEncodedFile -w width -h height -angle 180 -opencl \n"), + strAppName); + + msdk_printf(MSDK_STRING("\n")); +} + +mfxStatus ParseAdditionalParams(msdk_char* strInput[], + mfxU8 nArgNum, + mfxU8& i, + sInputParams* pParams) { + if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-AvcTemporalLayers"))) { + pParams->nAvcTemp = 1; + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + mfxU16 arr[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + int j, k; + k = msdk_sscanf(strInput[i + 1], + MSDK_STRING("%hu %hu %hu %hu %hu %hu %hu %hu"), + &arr[0], + &arr[1], + &arr[2], + &arr[3], + &arr[4], + &arr[5], + &arr[6], + &arr[7]); + for (j = 0; j < 8; j++) { + pParams->nAvcTemporalLayers[j] = arr[j]; + } + i += 1; + } + + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-BaseLayerPID"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nBaseLayerPID)) { + PrintHelp(strInput[0], MSDK_STRING("BaseLayerPID is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-SPSId"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nSPSId)) { + PrintHelp(strInput[0], MSDK_STRING("SPSId is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-PPSId"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nPPSId)) { + PrintHelp(strInput[0], MSDK_STRING("PPSId is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-PicTimingSEI:on"))) { + pParams->nPicTimingSEI = MFX_CODINGOPTION_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-PicTimingSEI:off"))) { + pParams->nPicTimingSEI = MFX_CODINGOPTION_OFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-NalHrdConformance:on"))) { + pParams->nNalHrdConformance = MFX_CODINGOPTION_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-NalHrdConformance:off"))) { + pParams->nNalHrdConformance = MFX_CODINGOPTION_OFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-VuiNalHrdParameters:on"))) { + pParams->nVuiNalHrdParameters = MFX_CODINGOPTION_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-VuiNalHrdParameters:off"))) { + pParams->nVuiNalHrdParameters = MFX_CODINGOPTION_OFF; + } +#if (MFX_VERSION < 2000) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-la_ext"))) { + pParams->bEnableExtLA = true; + pParams->nRateControlMethod = MFX_RATECONTROL_LA_EXT; + } +#endif + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-vcm"))) { + pParams->nRateControlMethod = MFX_RATECONTROL_VCM; + } +#if (MFX_VERSION >= 1031) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-p016"))) { + pParams->FileInputFourCC = MFX_FOURCC_P016; + pParams->EncodeFourCC = MFX_FOURCC_P016; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-y216"))) { + pParams->FileInputFourCC = MFX_FOURCC_Y216; + pParams->EncodeFourCC = MFX_FOURCC_Y216; + } +#endif + else { + return MFX_ERR_NOT_FOUND; + } + return MFX_ERR_NONE; +} + +mfxStatus ParseInputString(msdk_char* strInput[], mfxU8 nArgNum, sInputParams* pParams) { + if (1 == nArgNum) { + PrintHelp(strInput[0], NULL); + return MFX_ERR_UNSUPPORTED; + } + + MSDK_CHECK_POINTER(pParams, MFX_ERR_NULL_PTR); + +#if (MFX_VERSION < 2000) + msdk_opt_read(MSDK_CPU_ROTATE_PLUGIN, pParams->strPluginDLLPath); +#endif + + // default implementation + pParams->bUseHWLib = true; + pParams->isV4L2InputEnabled = false; + pParams->nNumFrames = 0; + pParams->FileInputFourCC = MFX_FOURCC_I420; + pParams->EncodeFourCC = MFX_FOURCC_NV12; + pParams->nPRefType = MFX_P_REF_DEFAULT; + pParams->QPFileMode = false; + pParams->BitrateLimit = MFX_CODINGOPTION_OFF; +#if (MFX_VERSION >= 1027) + pParams->RoundingOffsetFile = NULL; +#endif +#if defined(ENABLE_V4L2_SUPPORT) + pParams->MipiPort = -1; + pParams->MipiMode = NONE; + pParams->v4l2Format = NO_FORMAT; +#endif + + // parse command line parameters + for (mfxU8 i = 1; i < nArgNum; i++) { + MSDK_CHECK_POINTER(strInput[i], MFX_ERR_NULL_PTR); + + if (MSDK_CHAR('-') != strInput[i][0]) { + mfxStatus sts = StrFormatToCodecFormatFourCC(strInput[i], pParams->CodecId); + if (sts != MFX_ERR_NONE) { + PrintHelp(strInput[0], MSDK_STRING("Unknown codec")); + return MFX_ERR_UNSUPPORTED; + } + if (!IsEncodeCodecSupported(pParams->CodecId)) { + PrintHelp(strInput[0], MSDK_STRING("Unsupported codec")); + return MFX_ERR_UNSUPPORTED; + } + if (pParams->CodecId == CODEC_MVC) { + pParams->CodecId = MFX_CODEC_AVC; + pParams->MVC_flags |= MVC_ENABLED; + } + continue; + } + + // process multi-character options + if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-dstw"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nDstWidth)) { + PrintHelp(strInput[0], MSDK_STRING("Destination picture Width is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-dsth"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nDstHeight)) { + PrintHelp(strInput[0], MSDK_STRING("Destination picture Height is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } +#if __linux__ + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-device"))) { + if (!pParams->strDevicePath.empty()) { + msdk_printf(MSDK_STRING("error: you can specify only one device\n")); + return MFX_ERR_UNSUPPORTED; + } + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + pParams->strDevicePath = strInput[++i]; + } +#endif +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-dGfx"))) { + pParams->bPrefferdGfx = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-iGfx"))) { + pParams->bPrefferiGfx = true; + } +#endif + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-trows"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nEncTileRows)) { + PrintHelp(strInput[0], MSDK_STRING("Encoding tile row count is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-tcols"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nEncTileCols)) { + PrintHelp(strInput[0], MSDK_STRING("Encoding tile column count is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-sw"))) { + pParams->bUseHWLib = false; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-hw"))) { + pParams->bUseHWLib = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-yuy2"))) { + pParams->FileInputFourCC = MFX_FOURCC_YUY2; + pParams->EncodeFourCC = MFX_FOURCC_YUY2; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-nv12"))) { + pParams->FileInputFourCC = MFX_FOURCC_NV12; + pParams->EncodeFourCC = MFX_FOURCC_NV12; + } +#if (MFX_VERSION >= 2000) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-i420"))) { + pParams->FileInputFourCC = MFX_FOURCC_IYUV; + pParams->EncodeFourCC = MFX_FOURCC_IYUV; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-i010"))) { + pParams->FileInputFourCC = MFX_FOURCC_I010; + pParams->EncodeFourCC = MFX_FOURCC_I010; + } +#endif + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-rgb4"))) { + pParams->FileInputFourCC = MFX_FOURCC_RGB4; + pParams->EncodeFourCC = MFX_FOURCC_RGB4; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-p010"))) { + pParams->FileInputFourCC = MFX_FOURCC_P010; + pParams->EncodeFourCC = MFX_FOURCC_P010; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-ayuv"))) { + pParams->FileInputFourCC = MFX_FOURCC_AYUV; + pParams->EncodeFourCC = MFX_FOURCC_AYUV; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-uyvy"))) { + pParams->FileInputFourCC = MFX_FOURCC_UYVY; + // use YUY2 to get chroma subsampling 4:2:2 in encoded image + pParams->EncodeFourCC = MFX_FOURCC_YUY2; + } +#if (MFX_VERSION >= 1027) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-y210"))) { + pParams->FileInputFourCC = MFX_FOURCC_Y210; + pParams->EncodeFourCC = MFX_FOURCC_Y210; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-y410"))) { + pParams->FileInputFourCC = MFX_FOURCC_Y410; + pParams->EncodeFourCC = MFX_FOURCC_Y410; + } +#endif + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-a2rgb10"))) { + pParams->FileInputFourCC = MFX_FOURCC_A2RGB10; + pParams->EncodeFourCC = MFX_FOURCC_A2RGB10; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-ec::p010"))) { + pParams->EncodeFourCC = MFX_FOURCC_P010; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-tff"))) { + pParams->nPicStruct = MFX_PICSTRUCT_FIELD_TFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-bff"))) { + pParams->nPicStruct = MFX_PICSTRUCT_FIELD_BFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-bref"))) { + pParams->nBRefType = MFX_B_REF_PYRAMID; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-nobref"))) { + pParams->nBRefType = MFX_B_REF_OFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-idr_interval"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nIdrInterval)) { + PrintHelp(strInput[0], MSDK_STRING("IdrInterval is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-msb10"))) { + pParams->IsSourceMSB = true; + } +#if (MFX_VERSION < 2000) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-angle"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nRotationAngle)) { + PrintHelp(strInput[0], MSDK_STRING("Rotation Angle is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-opencl"))) { + msdk_opt_read(MSDK_OCL_ROTATE_PLUGIN, pParams->strPluginDLLPath); + pParams->nRotationAngle = 180; + } +#endif + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-viewoutput"))) { + if (!(MVC_ENABLED & pParams->MVC_flags)) { + PrintHelp( + strInput[0], + MSDK_STRING("-viewoutput option is supported only when mvc codec specified")); + return MFX_ERR_UNSUPPORTED; + } + pParams->MVC_flags |= MVC_VIEWOUTPUT; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-la"))) { + if (!pParams->nRateControlMethod) { + pParams->nRateControlMethod = MFX_RATECONTROL_LA; + } + else if (pParams->nRateControlMethod == MFX_RATECONTROL_ICQ) { + pParams->nRateControlMethod = MFX_RATECONTROL_LA_ICQ; + } + else if (pParams->nRateControlMethod != MFX_RATECONTROL_LA && + pParams->nRateControlMethod != MFX_RATECONTROL_LA_ICQ) { + PrintHelp( + strInput[0], + MSDK_STRING( + "More than one BRC modes assigned, and another BRC mode isn't compatible with LA.")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-lad"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (!pParams->nRateControlMethod) { + pParams->nRateControlMethod = MFX_RATECONTROL_LA; + } + else if (pParams->nRateControlMethod == MFX_RATECONTROL_ICQ) { + pParams->nRateControlMethod = MFX_RATECONTROL_LA_ICQ; + } +#if (MFX_VERSION < 2000) + else if (pParams->nRateControlMethod != MFX_RATECONTROL_LA && + pParams->nRateControlMethod != MFX_RATECONTROL_LA_ICQ && + pParams->nRateControlMethod != MFX_RATECONTROL_LA_EXT) { + PrintHelp( + strInput[0], + MSDK_STRING( + "More than one BRC modes assigned, and another BRC mode isn't compatible with LA.")); + return MFX_ERR_UNSUPPORTED; + } +#endif + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nLADepth)) { + PrintHelp(strInput[0], MSDK_STRING("Look Ahead Depth is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-vbr"))) { + pParams->nRateControlMethod = MFX_RATECONTROL_VBR; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-cbr"))) { + pParams->nRateControlMethod = MFX_RATECONTROL_CBR; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-single_texture_d3d11"))) { + pParams->bSingleTexture = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-qvbr"))) { + pParams->nRateControlMethod = MFX_RATECONTROL_QVBR; + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->QVBRQuality)) { + PrintHelp(strInput[0], MSDK_STRING("QVBRQuality param is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-avbr"))) { + pParams->nRateControlMethod = MFX_RATECONTROL_AVBR; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-convergence"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->Convergence)) { + PrintHelp(strInput[0], MSDK_STRING("convergence is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-accuracy"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->Accuracy)) { + PrintHelp(strInput[0], MSDK_STRING("accuracy is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-mss"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nMaxSliceSize)) { + PrintHelp(strInput[0], MSDK_STRING("MaxSliceSize is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-mfs"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nMaxFrameSize)) { + PrintHelp(strInput[0], MSDK_STRING("MaxFrameSize is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-BitrateLimit:on"))) { + pParams->BitrateLimit = MFX_CODINGOPTION_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-BitrateLimit:off"))) { + pParams->BitrateLimit = MFX_CODINGOPTION_OFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-qpfile"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + MSDK_CHECK_ERROR(msdk_strlen(strInput[i + 1]), 0, MFX_ERR_NOT_INITIALIZED); + pParams->QPFileMode = true; + pParams->strQPFilePath = strInput[++i]; + } + +#if D3D_SURFACES_SUPPORT + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-d3d"))) { + pParams->memType = D3D9_MEMORY; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-d3d11"))) { + pParams->memType = D3D11_MEMORY; + } +#endif +#ifdef LIBVA_SUPPORT + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-vaapi"))) { + pParams->memType = D3D9_MEMORY; + } +#endif + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-async"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nAsyncDepth)) { + PrintHelp(strInput[0], MSDK_STRING("Async Depth is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-CodecLevel"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->CodecLevel)) { + PrintHelp(strInput[0], MSDK_STRING("CodecLevel is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-CodecProfile"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->CodecProfile)) { + PrintHelp(strInput[0], MSDK_STRING("CodecProfile is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-GopOptFlag:closed"))) { + pParams->GopOptFlag = MFX_GOP_CLOSED; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-GopOptFlag:strict"))) { + pParams->GopOptFlag = MFX_GOP_STRICT; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-AdaptiveI:on"))) { + pParams->AdaptiveI = MFX_CODINGOPTION_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-AdaptiveI:off"))) { + pParams->AdaptiveI = MFX_CODINGOPTION_OFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-AdaptiveB:on"))) { + pParams->AdaptiveB = MFX_CODINGOPTION_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-AdaptiveB:off"))) { + pParams->AdaptiveB = MFX_CODINGOPTION_OFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-InitialDelayInKB"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->InitialDelayInKB)) { + PrintHelp(strInput[0], MSDK_STRING("InitialDelayInKB is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-MaxKbps"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->MaxKbps)) { + PrintHelp(strInput[0], MSDK_STRING("MaxKbps is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-LowDelayBRC"))) { + pParams->LowDelayBRC = MFX_CODINGOPTION_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-BufferSizeInKB"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->BufferSizeInKB)) { + PrintHelp(strInput[0], MSDK_STRING("BufferSizeInKB is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-ws"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->WinBRCSize)) { + PrintHelp(strInput[0], MSDK_STRING("Sliding window size is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-wb"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->WinBRCMaxAvgKbps)) { + PrintHelp(strInput[0], MSDK_STRING("Sliding window bitrate is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-timeout"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nTimeout)) { + PrintHelp(strInput[0], MSDK_STRING("Timeout is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-signal:tm"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->TransferMatrix)) { + PrintHelp(strInput[0], MSDK_STRING("Transfer matrix param is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-ir_type"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->IntRefType)) { + PrintHelp(strInput[0], MSDK_STRING("Intra refresh type is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-ir_cycle_size"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->IntRefCycleSize)) { + PrintHelp(strInput[0], MSDK_STRING("IR refresh cycle size param is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-ir_qp_delta"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->IntRefQPDelta)) { + PrintHelp(strInput[0], MSDK_STRING("IR QP delta param is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-ir_cycle_dist"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->IntRefCycleDist)) { + PrintHelp(strInput[0], MSDK_STRING("IR cycle distance param is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-perf_opt"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nPerfOpt)) { + PrintHelp(strInput[0], MSDK_STRING("perf_opt is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-WeightedPred:default"))) { + pParams->WeightedPred = MFX_WEIGHTED_PRED_DEFAULT; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-WeightedPred:implicit"))) { + pParams->WeightedPred = MFX_WEIGHTED_PRED_IMPLICIT; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-WeightedBiPred:default"))) { + pParams->WeightedBiPred = MFX_WEIGHTED_PRED_DEFAULT; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-WeightedBiPred:implicit"))) { + pParams->WeightedBiPred = MFX_WEIGHTED_PRED_IMPLICIT; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-uncut"))) { + pParams->bUncut = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-gpucopy::on"))) { + pParams->gpuCopy = MFX_GPUCOPY_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-gpucopy::off"))) { + pParams->gpuCopy = MFX_GPUCOPY_OFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-dump"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->DumpFileName)) { + PrintHelp( + strInput[0], + MSDK_STRING( + "File Name for dumping MSDK library configuration should be provided")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-usei"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (msdk_strlen(strInput[i + 1]) > MSDK_MAX_USER_DATA_UNREG_SEI_LEN) { + PrintHelp(strInput[0], MSDK_STRING("error: '-usei' arguments is too long\n")); + return MFX_ERR_UNSUPPORTED; + } + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->uSEI)) { + PrintHelp(strInput[0], MSDK_STRING("error: option '-usei' expects arguments\n")); + return MFX_ERR_UNSUPPORTED; + } + if (msdk_strlen(pParams->uSEI) < 32) { + PrintHelp(strInput[0], + MSDK_STRING("error: option '-usei' expects at least 32 char uuid\n")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-icq"))) { + if (!pParams->nRateControlMethod) { + pParams->nRateControlMethod = MFX_RATECONTROL_ICQ; + } + else if (pParams->nRateControlMethod == MFX_RATECONTROL_LA) { + pParams->nRateControlMethod = MFX_RATECONTROL_LA_ICQ; + } + else { + PrintHelp( + strInput[0], + MSDK_STRING( + "More than one BRC modes assigned, and another BRC mode isn't compatible with ICQ.\n")); + return MFX_ERR_UNSUPPORTED; + } + + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->ICQQuality)) { + PrintHelp(strInput[0], MSDK_STRING("ICQQuality is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-cqp"))) { + pParams->nRateControlMethod = MFX_RATECONTROL_CQP; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-qpi"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nQPI)) { + PrintHelp(strInput[0], MSDK_STRING("Quantizer for I frames is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-qpp"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nQPP)) { + PrintHelp(strInput[0], MSDK_STRING("Quantizer for P frames is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-qpb"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nQPB)) { + PrintHelp(strInput[0], MSDK_STRING("Quantizer for B frames is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } +#if (MFX_VERSION >= 1027) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-round_offset_in"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + pParams->RoundingOffsetFile = strInput[++i]; + } +#endif + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-gpb:on"))) { + pParams->nGPB = MFX_CODINGOPTION_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-gpb:off"))) { + pParams->nGPB = MFX_CODINGOPTION_OFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-TransformSkip:on"))) { + pParams->nTransformSkip = MFX_CODINGOPTION_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-TransformSkip:off"))) { + pParams->nTransformSkip = MFX_CODINGOPTION_OFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-ppyr:on"))) { + pParams->nPRefType = MFX_P_REF_PYRAMID; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-ppyr:off"))) { + pParams->nPRefType = MFX_P_REF_SIMPLE; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-num_active_P"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nNumRefActiveP)) { + PrintHelp(strInput[0], + MSDK_STRING("Number of active reference for P frames is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-num_active_BL0"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nNumRefActiveBL0)) { + PrintHelp(strInput[0], + MSDK_STRING("Number of active reference for B frames (L0) is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-num_active_BL1"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nNumRefActiveBL1)) { + PrintHelp(strInput[0], + MSDK_STRING("Number of active reference for B frames (L1) is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } +#if (MFX_VERSION >= 1024) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-extbrc:on"))) { + pParams->nExtBRC = EXTBRC_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-extbrc:off"))) { + pParams->nExtBRC = EXTBRC_OFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-extbrc:implicit"))) { + pParams->nExtBRC = EXTBRC_IMPLICIT; + } +#endif +#if (MFX_VERSION >= 1026) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-ExtBrcAdaptiveLTR:on"))) { + pParams->ExtBrcAdaptiveLTR = MFX_CODINGOPTION_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-ExtBrcAdaptiveLTR:off"))) { + pParams->ExtBrcAdaptiveLTR = MFX_CODINGOPTION_OFF; + ; + } +#endif + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-pp"))) { + pParams->shouldPrintPresets = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-preset"))) { + msdk_char presetName[MSDK_MAX_FILENAME_LEN]; + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], presetName)) { + PrintHelp(strInput[0], MSDK_STRING("Preset Name is not defined")); + return MFX_ERR_UNSUPPORTED; + } + + pParams->PresetMode = CPresetManager::PresetNameToMode(presetName); + if (pParams->PresetMode == PRESET_MAX_MODES) { + PrintHelp(strInput[0], MSDK_STRING("Preset Name is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-amfs:on"))) { + pParams->nAdaptiveMaxFrameSize = MFX_CODINGOPTION_ON; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-amfs:off"))) { + pParams->nAdaptiveMaxFrameSize = MFX_CODINGOPTION_OFF; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-qsv-ff"))) { + pParams->enableQSVFF = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-lowpower:on"))) { + pParams->enableQSVFF = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-lowpower:off"))) { + pParams->enableQSVFF = false; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-robust:soft"))) { + pParams->bSoftRobustFlag = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-num_slice"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nNumSlice)) { + PrintHelp(strInput[0], MSDK_STRING("Number of slices is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-n"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nNumFrames)) { + PrintHelp(strInput[0], MSDK_STRING("Number of frames is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-w"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nWidth)) { + PrintHelp(strInput[0], MSDK_STRING("Width is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-h"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nHeight)) { + PrintHelp(strInput[0], MSDK_STRING("Height of frames is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-b"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nBitRate)) { + PrintHelp(strInput[0], MSDK_STRING("Bitrate is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-f"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->dFrameRate)) { + PrintHelp(strInput[0], MSDK_STRING("Framerate is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-x"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nNumRefFrame)) { + PrintHelp(strInput[0], MSDK_STRING("NumRefFrames is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-g"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nGopPicSize)) { + PrintHelp(strInput[0], MSDK_STRING("GopSize is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-r"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nGopRefDist)) { + PrintHelp(strInput[0], MSDK_STRING("GopRefDist is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-i"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + pParams->InputFiles.push_back(strInput[++i]); + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-o"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + pParams->dstFileBuff.push_back(strInput[++i]); + } +#if (MFX_VERSION < 2000) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-p"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + pParams->pluginParams = ParsePluginGuid(strInput[++i]); + if (AreGuidsEqual(pParams->pluginParams.pluginGuid, MSDK_PLUGINGUID_NULL)) { + msdk_printf(MSDK_STRING("error: invalid encoder guid\n")); + return MFX_ERR_UNSUPPORTED; + } + } +#endif + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-q"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->nQuality)) { + PrintHelp(strInput[0], MSDK_STRING("Quality is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-?"))) { + PrintHelp(strInput[0], NULL); + return MFX_ERR_UNSUPPORTED; + } +#if (MFX_VERSION < 2000) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-path"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + i++; + pParams->pluginParams = ParsePluginPath(strInput[i]); + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-re"))) { + pParams->UseRegionEncode = true; + } +#endif +#if (MFX_VERSION >= 2000) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-api2x_internalmem"))) { + pParams->api2xInternalMem = true; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-api2x_dispatcher"))) { + pParams->api2xDispatcher = true; + } +#endif + +#if defined(ENABLE_V4L2_SUPPORT) + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-d"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->DeviceName)) { + PrintHelp(strInput[0], MSDK_STRING("Device name is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-YUY2"))) { + pParams->v4l2Format = YUY2; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-UYVY"))) { + pParams->v4l2Format = UYVY; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-p"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->MipiPort)) { + PrintHelp(strInput[0], MSDK_STRING("Mipi-port is invalid")); + return MFX_ERR_UNSUPPORTED; + } + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-m"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + if (MFX_ERR_NONE != msdk_opt_read(strInput[++i], pParams->MipiModeName)) { + PrintHelp(strInput[0], MSDK_STRING("Device name is invalid")); + return MFX_ERR_UNSUPPORTED; + } + + if (strcasecmp(pParams->MipiModeName, "STILL") == 0) + pParams->MipiMode = STILL; + else if (strcasecmp(pParams->MipiModeName, "VIDEO") == 0) + pParams->MipiMode = VIDEO; + else if (strcasecmp(pParams->MipiModeName, "PREVIEW") == 0) + pParams->MipiMode = PREVIEW; + else if (strcasecmp(pParams->MipiModeName, "CONTINUOUS") == 0) + pParams->MipiMode = CONTINUOUS; + else + pParams->MipiMode = NONE; + } + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-i::v4l2"))) { + pParams->isV4L2InputEnabled = true; + } +#endif + else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-u"))) { + VAL_CHECK(i + 1 >= nArgNum, i, strInput[i]); + pParams->nTargetUsage = StrToTargetUsage(strInput[++i]); + if (!pParams->nTargetUsage) { + msdk_printf(MSDK_STRING("error: wrong '-u' parameter. Balanced will be used.\n")); + pParams->nTargetUsage = MFX_TARGETUSAGE_BALANCED; + } + } + else { + mfxStatus sts = ParseAdditionalParams(strInput, nArgNum, i, pParams); + if (sts < MFX_ERR_NONE) { + msdk_printf(MSDK_STRING("Unknown option: %s\n"), strInput[i]); + PrintHelp(strInput[0], NULL); + return MFX_ERR_UNSUPPORTED; + } + } + } + +#if defined(ENABLE_V4L2_SUPPORT) + if (pParams->isV4L2InputEnabled) { + if (0 == msdk_strlen(pParams->DeviceName)) { + PrintHelp(strInput[0], MSDK_STRING("Device Name not found")); + return MFX_ERR_UNSUPPORTED; + } + + if ((pParams->MipiPort > -1 && pParams->MipiMode == NONE) || + (pParams->MipiPort < 0 && pParams->MipiMode != NONE)) { + PrintHelp(strInput[0], MSDK_STRING("Invalid Mipi Configuration\n")); + return MFX_ERR_UNSUPPORTED; + } + + if (pParams->v4l2Format == NO_FORMAT) { + PrintHelp(strInput[0], MSDK_STRING("NO input v4l2 format\n")); + return MFX_ERR_UNSUPPORTED; + } + } +#endif + + // check if all mandatory parameters were set + if (!pParams->InputFiles.size() && !pParams->isV4L2InputEnabled) { + PrintHelp(strInput[0], MSDK_STRING("Source file name not found")); + return MFX_ERR_UNSUPPORTED; + }; + + if (0 == pParams->nWidth || 0 == pParams->nHeight) { + PrintHelp(strInput[0], MSDK_STRING("-w, -h must be specified")); + return MFX_ERR_UNSUPPORTED; + } + + if (MFX_CODEC_MPEG2 != pParams->CodecId && MFX_CODEC_AVC != pParams->CodecId && + MFX_CODEC_JPEG != pParams->CodecId && MFX_CODEC_HEVC != pParams->CodecId && + MFX_CODEC_VP9 != pParams->CodecId +#if (MFX_VERSION >= 2000) + && MFX_CODEC_AV1 != pParams->CodecId +#endif + ) { + PrintHelp(strInput[0], MSDK_STRING("Unknown codec")); + return MFX_ERR_UNSUPPORTED; + } + + if (MFX_CODEC_JPEG != pParams->CodecId && MFX_CODEC_HEVC != pParams->CodecId && + pParams->FileInputFourCC == MFX_FOURCC_YUY2 && !pParams->isV4L2InputEnabled) { + PrintHelp(strInput[0], + MSDK_STRING("-yuy2 option is supported only for JPEG or HEVC encoder")); + return MFX_ERR_UNSUPPORTED; + } + + if (MFX_CODEC_HEVC != pParams->CodecId && MFX_CODEC_VP9 != pParams->CodecId && + (pParams->EncodeFourCC == MFX_FOURCC_P010)) { + PrintHelp(strInput[0], + MSDK_STRING("P010 surfaces are supported only for HEVC and VP9 encoder")); + return MFX_ERR_UNSUPPORTED; + } +#if (MFX_VERSION < 2000) + // check parameters validity + if (pParams->nRotationAngle != 0 && pParams->nRotationAngle != 180) { + PrintHelp(strInput[0], MSDK_STRING("Angles other than 180 degrees are not supported.")); + return MFX_ERR_UNSUPPORTED; // other than 180 are not supported + } +#endif + + if (pParams->nQuality && (MFX_CODEC_JPEG != pParams->CodecId)) { + PrintHelp(strInput[0], MSDK_STRING("-q option is supported only for JPEG encoder")); + return MFX_ERR_UNSUPPORTED; + } + + if ((pParams->nTargetUsage || pParams->nBitRate) && (MFX_CODEC_JPEG == pParams->CodecId)) { + PrintHelp( + strInput[0], + MSDK_STRING( + "-u and -b options are supported only for H.264, MPEG2 and MVC encoders. For JPEG encoder use -q")); + return MFX_ERR_UNSUPPORTED; + } + + if (!pParams->nQuality && (MFX_CODEC_JPEG == pParams->CodecId)) { + PrintHelp(strInput[0], MSDK_STRING("-q must be specified for JPEG encoder")); + return MFX_ERR_UNSUPPORTED; + } + + if (MFX_TRANSFERMATRIX_UNKNOWN != pParams->TransferMatrix && + MFX_TRANSFERMATRIX_BT601 != pParams->TransferMatrix && + MFX_TRANSFERMATRIX_BT709 != pParams->TransferMatrix) { + PrintHelp(strInput[0], MSDK_STRING("Invalid transfer matrix type")); + return MFX_ERR_UNSUPPORTED; + } + + // set default values for optional parameters that were not set or were set incorrectly + mfxU32 nviews = (mfxU32)pParams->InputFiles.size(); + if ((nviews <= 1) || (nviews > 2)) { + if (!(MVC_ENABLED & pParams->MVC_flags)) { + pParams->numViews = 1; + } + else { + PrintHelp(strInput[0], + MSDK_STRING("Only 2 views are supported right now in this sample.")); + return MFX_ERR_UNSUPPORTED; + } + } + else { + pParams->numViews = nviews; + } + + if (pParams->dFrameRate <= 0) { + pParams->dFrameRate = 30; + } + + // if no destination picture width or height wasn't specified set it to the source picture size + if (pParams->nDstWidth == 0) { + pParams->nDstWidth = pParams->nWidth; + } + + if (pParams->nDstHeight == 0) { + pParams->nDstHeight = pParams->nHeight; + } + + if (!pParams->nPicStruct) { + pParams->nPicStruct = MFX_PICSTRUCT_PROGRESSIVE; + } + + if ((pParams->nRateControlMethod == MFX_RATECONTROL_LA) && (!pParams->bUseHWLib)) { + PrintHelp(strInput[0], MSDK_STRING("Look ahead BRC is supported only with -hw option!")); + return MFX_ERR_UNSUPPORTED; + } + + if ((pParams->nMaxSliceSize) && (!pParams->bUseHWLib)) { + PrintHelp(strInput[0], + MSDK_STRING("MaxSliceSize option is supported only with -hw option!")); + return MFX_ERR_UNSUPPORTED; + } + + if ((pParams->nMaxSliceSize) && (pParams->nNumSlice)) { + PrintHelp(strInput[0], MSDK_STRING("-mss and -num_slice options are not compatible!")); + return MFX_ERR_UNSUPPORTED; + } +#if (MFX_VERSION < 2000) + if (pParams->nRateControlMethod == MFX_RATECONTROL_LA && pParams->CodecId == MFX_CODEC_HEVC) { + pParams->bEnableExtLA = true; + pParams->nRateControlMethod = MFX_RATECONTROL_LA_EXT; + } +#endif + if ((pParams->nMaxSliceSize) && (pParams->CodecId != MFX_CODEC_AVC) && + (pParams->CodecId != MFX_CODEC_HEVC)) { + PrintHelp(strInput[0], + MSDK_STRING( + "MaxSliceSize option is supported only with H.264 and H.265(HEVC) encoder!")); + return MFX_ERR_UNSUPPORTED; + } + + if ((pParams->nRateControlMethod == MFX_RATECONTROL_LA || + // pParams->nRateControlMethod == MFX_RATECONTROL_LA_EXT || + pParams->nRateControlMethod == MFX_RATECONTROL_LA_ICQ || + pParams->nRateControlMethod == MFX_RATECONTROL_LA_HRD) && + pParams->nLADepth > 100) { + PrintHelp( + strInput[0], + MSDK_STRING( + "Unsupported value of -lad parameter, must be in range [1,100] or 0 for automatic selection")); + return MFX_ERR_UNSUPPORTED; + } + + if (pParams->nNumRefActiveP || pParams->nNumRefActiveBL0 || pParams->nNumRefActiveBL1) { + if (pParams->CodecId != MFX_CODEC_HEVC) { + PrintHelp(strInput[0], + MSDK_STRING("NumRefActiveP/BL0/BL1 are supported only with HEVC encoder")); + return MFX_ERR_UNSUPPORTED; + } + } + + // not all options are supported if rotate plugin is enabled +#if (MFX_VERSION < 2000) + if (pParams->nRotationAngle == 180 && + (MFX_PICSTRUCT_PROGRESSIVE != pParams->nPicStruct || + pParams->nDstWidth != pParams->nWidth || pParams->nDstHeight != pParams->nHeight || + MVC_ENABLED & pParams->MVC_flags || pParams->nRateControlMethod == MFX_RATECONTROL_LA)) { + PrintHelp(strInput[0], + MSDK_STRING( + "Some of the command line options are not supported with rotation plugin!")); + return MFX_ERR_UNSUPPORTED; + } +#endif + + // Ignoring user-defined Async Depth for LA + if (pParams->nMaxSliceSize) { + pParams->nAsyncDepth = 1; + } + +#if (MFX_VERSION < 2000) + if (pParams->UseRegionEncode) { + if (pParams->CodecId != MFX_CODEC_HEVC) { + msdk_printf(MSDK_STRING( + "Region encode option is compatible with h265(HEVC) encoder only.\nRegion encoding is disabled\n")); + pParams->UseRegionEncode = false; + } + if (pParams->nWidth != pParams->nDstWidth || pParams->nHeight != pParams->nDstHeight || + pParams->nRotationAngle != 0) { + msdk_printf(MSDK_STRING( + "Region encode option is not compatible with VPP processing and rotation plugin.\nRegion encoding is disabled\n")); + pParams->UseRegionEncode = false; + } + } +#endif + + if (pParams->dstFileBuff.size() == 0) { + msdk_printf(MSDK_STRING("File output is disabled as -o option isn't specified\n")); + } + +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + if (pParams->bPrefferdGfx && pParams->bPrefferiGfx) { + msdk_printf(MSDK_STRING("Warning: both dGfx and iGfx flags set. iGfx will be preffered")); + pParams->bPrefferdGfx = false; + } +#endif + + return MFX_ERR_NONE; +} + +void ModifyParamsUsingPresets(sInputParams& params) { + COutputPresetParameters presetParams = CPresetManager::Inst.GetPreset(params.PresetMode, + params.CodecId, + params.dFrameRate, + params.nWidth, + params.nHeight, + params.bUseHWLib); + + if (params.shouldPrintPresets) { + msdk_printf(MSDK_STRING("Preset-controlled parameters (%s):\n"), + presetParams.PresetName.c_str()); + } + MODIFY_AND_PRINT_PARAM(params.nAdaptiveMaxFrameSize, + AdaptiveMaxFrameSize, + params.shouldPrintPresets); + MODIFY_AND_PRINT_PARAM(params.nAsyncDepth, AsyncDepth, params.shouldPrintPresets); + MODIFY_AND_PRINT_PARAM(params.nBRefType, BRefType, params.shouldPrintPresets); + // MODIFY_AND_PRINT_PARAM(params., EnableBPyramid); + // MODIFY_AND_PRINT_PARAM(params., EnablePPyramid); + MODIFY_AND_PRINT_PARAM(params.nGopPicSize, GopPicSize, params.shouldPrintPresets); + MODIFY_AND_PRINT_PARAM(params.nGopRefDist, GopRefDist, params.shouldPrintPresets); + MODIFY_AND_PRINT_PARAM(params.IntRefCycleDist, IntRefCycleDist, params.shouldPrintPresets); + MODIFY_AND_PRINT_PARAM(params.IntRefCycleSize, IntRefCycleSize, params.shouldPrintPresets); + MODIFY_AND_PRINT_PARAM(params.IntRefQPDelta, IntRefQPDelta, params.shouldPrintPresets); + MODIFY_AND_PRINT_PARAM(params.IntRefType, IntRefType, params.shouldPrintPresets); + MODIFY_AND_PRINT_PARAM(params.nLADepth, LookAheadDepth, params.shouldPrintPresets); + MODIFY_AND_PRINT_PARAM(params.LowDelayBRC, LowDelayBRC, params.shouldPrintPresets); + MODIFY_AND_PRINT_PARAM(params.nMaxFrameSize, MaxFrameSize, params.shouldPrintPresets); + if (!params.nRateControlMethod) { + // Use preset ExtBRC parameter only if rate control mode was not set manually + MODIFY_AND_PRINT_PARAM_EXT(params.nExtBRC, + ExtBRCUsage, + (ExtBRCType)presetParams.ExtBRCUsage, + params.shouldPrintPresets); + } + MODIFY_AND_PRINT_PARAM(params.nRateControlMethod, RateControlMethod, params.shouldPrintPresets); + + if (params.nRateControlMethod != MFX_RATECONTROL_CQP) { + MODIFY_AND_PRINT_PARAM(params.nBitRate, TargetKbps, params.shouldPrintPresets); + MODIFY_AND_PRINT_PARAM(params.MaxKbps, MaxKbps, params.shouldPrintPresets); + presetParams.BufferSizeInKB = + params.nBitRate / + 8; // Update bitrate to reflect manually set bitrate. BufferSize should be enough for 1 second of video + MODIFY_AND_PRINT_PARAM(params.BufferSizeInKB, BufferSizeInKB, params.shouldPrintPresets); + } + + MODIFY_AND_PRINT_PARAM(params.nTargetUsage, TargetUsage, params.shouldPrintPresets); + MODIFY_AND_PRINT_PARAM(params.WeightedBiPred, WeightedBiPred, params.shouldPrintPresets); + MODIFY_AND_PRINT_PARAM(params.WeightedPred, WeightedPred, params.shouldPrintPresets); + if (params.shouldPrintPresets) { + msdk_printf(MSDK_STRING("\n")); + } +} + +CEncodingPipeline* CreatePipeline(const sInputParams& params) { +#if (MFX_VERSION < 2000) + if (params.UseRegionEncode) { + return new CRegionEncodingPipeline; + } + else if (params.nRotationAngle) { + return new CUserPipeline; + } + else +#endif + { + return new CEncodingPipeline; + } +} + +#if defined(_WIN32) || defined(_WIN64) +int _tmain(int argc, msdk_char* argv[]) +#else +int main(int argc, char* argv[]) +#endif +{ + sInputParams Params = {}; // input parameters from command line + std::unique_ptr pPipeline; + + mfxStatus sts = MFX_ERR_NONE; // return value check + + // Parsing Input stream workign with presets + sts = ParseInputString(argv, (mfxU8)argc, &Params); +#if (MFX_VERSION >= 2000) + // sw impl mode in vpl, disable preset for now + if (Params.bUseHWLib == true) +#endif + ModifyParamsUsingPresets(Params); + + MSDK_CHECK_PARSE_RESULT(sts, MFX_ERR_NONE, 1); + + // Choosing which pipeline to use + pPipeline.reset(CreatePipeline(Params)); + + MSDK_CHECK_POINTER(pPipeline.get(), MFX_ERR_MEMORY_ALLOC); + + if (MVC_ENABLED & Params.MVC_flags) { + pPipeline->SetNumView(Params.numViews); + } + + sts = pPipeline->Init(&Params); + MSDK_CHECK_STATUS(sts, "pPipeline->Init failed"); + + pPipeline->PrintInfo(); + + msdk_printf(MSDK_STRING("Processing started\n")); + + if (pPipeline->CaptureStartV4L2Pipeline() != MFX_ERR_NONE) { + msdk_printf(MSDK_STRING("V4l2 failure terminating the program\n")); + return 0; + } + + for (;;) { + sts = pPipeline->Run(); + + if (MFX_ERR_DEVICE_LOST == sts || MFX_ERR_DEVICE_FAILED == sts) { + msdk_printf(MSDK_STRING( + "\nERROR: Hardware device was lost or returned an unexpected error. Recovering...\n")); + sts = pPipeline->ResetDevice(); + MSDK_CHECK_STATUS(sts, "pPipeline->ResetDevice failed"); + + sts = pPipeline->ResetMFXComponents(&Params); + MSDK_CHECK_STATUS(sts, "pPipeline->ResetMFXComponents failed"); + continue; + } + else { + MSDK_CHECK_STATUS(sts, "pPipeline->Run failed"); + break; + } + } + + pPipeline->CaptureStopV4L2Pipeline(); + + pPipeline->Close(); + + msdk_printf(MSDK_STRING("\nProcessing finished\n")); + + return 0; +} diff --git a/tools/legacy/sample_vpp/CMakeLists.txt b/tools/legacy/sample_vpp/CMakeLists.txt new file mode 100644 index 00000000..5336bbc8 --- /dev/null +++ b/tools/legacy/sample_vpp/CMakeLists.txt @@ -0,0 +1,41 @@ +# ############################################################################## +# Copyright (C) Intel Corporation +# +# SPDX-License-Identifier: MIT +# ############################################################################## +cmake_minimum_required(VERSION 3.10.2) + +set(TARGET sample_vpp) +set(SOURCES "") +list( + APPEND + SOURCES + src/sample_vpp.cpp + src/sample_vpp_config.cpp + src/sample_vpp_frc.cpp + src/sample_vpp_frc_adv.cpp + src/sample_vpp_parser.cpp + src/sample_vpp_pts.cpp + src/sample_vpp_roi.cpp + src/sample_vpp_utils.cpp) + +add_executable(${TARGET} ${SOURCES}) + +if(MSVC) + target_compile_definitions(${TARGET} PRIVATE -D_CRT_SECURE_NO_WARNINGS) +endif() + +if(POLICY CMP0074) + # ignore warning of VPL_ROOT in find_package search path + cmake_policy(SET CMP0074 OLD) +endif() + +target_include_directories(${TARGET} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) + +find_package(VPL REQUIRED) +target_link_libraries(${TARGET} VPL::dispatcher) +target_link_libraries(${TARGET} sample_common) + +install(TARGETS ${TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT runtime) diff --git a/tools/legacy/sample_vpp/include/sample_vpp_config.h b/tools/legacy/sample_vpp/include/sample_vpp_config.h new file mode 100644 index 00000000..dbdf9479 --- /dev/null +++ b/tools/legacy/sample_vpp/include/sample_vpp_config.h @@ -0,0 +1,221 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __SAMPLE_VPP_CONFIG_H + #define __SAMPLE_VPP_CONFIG_H + + #include + + #include "vpl/mfxvideo++.h" + #include "vpl/mfxvideo.h" + + #ifndef MFX_VERSION + #error MFX_VERSION not defined + #endif + +enum { NOT_INIT_VALUE = 0xFFF7 }; + +enum MemType { SYSTEM_MEMORY = 0x00, D3D9_MEMORY = 0x01, D3D11_MEMORY = 0x02, VAAPI_MEMORY = 0x03 }; + + #define VPP_DENOISE_FACTOR_DEFAULT NOT_INIT_VALUE + #define VPP_FILTER_FACTOR_DEFAULT NOT_INIT_VALUE + + #define MULTI_VIEW_COUNT_MAX (1024) + #define MAX_INPUT_STREAMS 64 + +typedef enum { + VPP_FILTER_DISABLED = 0, + VPP_FILTER_ENABLED_DEFAULT = 1, + VPP_FILTER_ENABLED_CONFIGURED = 7 + +} FilterConfig; + +typedef struct { + FilterConfig mode; + +} sVideoAnalysisParam; + +typedef struct { + FilterConfig mode; + +} sVarianceReportParam; + +typedef struct { + FilterConfig mode; + +} sIDetectParam; // for interlace detection algorithm (PICSTRUCT_DETECTION) +typedef struct { + mfxF64 brightness; + mfxF64 contrast; + mfxF64 saturation; + mfxF64 hue; + + FilterConfig mode; + +} sProcAmpParam; + +struct sVideoSignalInfoParam : public mfxExtVPPVideoSignalInfo { + FilterConfig mode; + sVideoSignalInfoParam() : mode(VPP_FILTER_DISABLED) { + In.NominalRange = MFX_NOMINALRANGE_UNKNOWN; + In.TransferMatrix = MFX_TRANSFERMATRIX_UNKNOWN; + Out = In; + }; +}; + +struct sMirroringParam : public mfxExtVPPMirroring { + FilterConfig mode; + sMirroringParam() : mode(VPP_FILTER_DISABLED) { + Type = MFX_MIRRORING_DISABLED; + }; +}; + +typedef struct { + mfxU16 factor; + FilterConfig mode; + +} sDenoiseParam; + +struct sColorFillParam : public mfxExtVPPColorFill { + FilterConfig mode; + sColorFillParam() : mfxExtVPPColorFill(), mode(VPP_FILTER_DISABLED) {} +}; + + #ifdef ENABLE_MCTF +typedef struct { + mfxExtVppMctf params; + FilterConfig mode; +} sMCTFParam; + #endif + +typedef struct { + mfxU16 factor; + FilterConfig mode; + +} sDetailParam; + +typedef struct { + mfxU32 algorithm; + FilterConfig mode; + +} sFrameRateConversionParam; + +typedef struct { + mfxU16 algorithm; + mfxU16 tc_pattern; + mfxU16 tc_pos; + FilterConfig mode; + +} sDIParam; + +typedef struct { + msdk_char streamName[MSDK_MAX_FILENAME_LEN]; + mfxVPPCompInputStream compStream; + mfxU32 streamFourcc; +} sCompositionStreamInfo; + +typedef struct { + sCompositionStreamInfo streamInfo[MAX_INPUT_STREAMS]; + + FilterConfig mode; +} sCompositionParam; + +//------------------------------------------ +// MSDK 3.0 (re-priority) +//------------------------------------------ +typedef struct { + bool bBT709; + + FilterConfig mode; + +} sGamutMappingParam; + +//------------------------------------------ +// MSDK API 1.5 +//------------------------------------------ + +typedef struct { + mfxU16 Red; + mfxU16 Green; + mfxU16 Blue; + mfxU16 Cyan; + mfxU16 Magenta; + mfxU16 Yellow; + + FilterConfig mode; + +} sTccParam; + +typedef struct { + FilterConfig mode; + +} sAceParam; + +typedef struct { + mfxU16 SkinToneFactor; + + FilterConfig mode; + +} sSteParam; + +typedef struct { + mfxU8 istabMode; + + FilterConfig mode; + +} sIStabParam; + +//------------------------------------------------------- + +typedef struct { + mfxU16 viewCount; + FilterConfig mode; + +} sMultiViewParam; + +typedef struct { + mfxU16 active; + mfxU16 width; + mfxU16 height; + + // cropX/Y/W/H will be added ASAP + mfxU16 cropX; + mfxU16 cropY; + mfxU16 cropW; + mfxU16 cropH; + +} sSVCLayerDescr; + +typedef struct { + sSVCLayerDescr descr[8]; + FilterConfig mode; + +} sSVCParam; + +class ViewGenerator { +public: + ViewGenerator(mfxU16 viewCount) : m_viewID(viewCount - 1), m_viewCount(viewCount) {} + ~ViewGenerator(void) { + m_viewID = 0; + m_viewCount = 0; + } + + mfxU16 GetNextViewID(void) { + m_viewID++; + m_viewID %= m_viewCount; + return m_viewID; + }; + mfxU16 GetViewIndx(mfxU16 viewID) { + return viewID; + }; + +private: + mfxU16 m_viewID; + mfxU16 m_viewCount; +}; + +#endif /* __SAMPLE_VPP_CONFIG_H */ +/* EOF */ diff --git a/tools/legacy/sample_vpp/include/sample_vpp_frc.h b/tools/legacy/sample_vpp/include/sample_vpp_frc.h new file mode 100644 index 00000000..293a419d --- /dev/null +++ b/tools/legacy/sample_vpp/include/sample_vpp_frc.h @@ -0,0 +1,85 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __SAMPLE_VPP_FRC_H +#define __SAMPLE_VPP_FRC_H + +#include +#include "vpl/mfxvideo.h" + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +class BaseFRCChecker { +public: + //BaseFRCChecker(); + virtual ~BaseFRCChecker() {} + + virtual mfxStatus Init(mfxVideoParam* par, mfxU32 asyncDeep) = 0; + + // notify FRCChecker about one more input frame + virtual bool PutInputFrameAndCheck(mfxFrameSurface1* pSurface) = 0; + + // notify FRCChecker about one more output frame and check result + virtual bool PutOutputFrameAndCheck(mfxFrameSurface1* pSurface) = 0; +}; + +class FRCChecker : public BaseFRCChecker { +public: + FRCChecker(); + virtual ~FRCChecker(){}; + + virtual mfxStatus Init(mfxVideoParam* par, mfxU32 asyncDeep); + + // notify FRCChecker about one more input frame + virtual bool PutInputFrameAndCheck(mfxFrameSurface1* pSurface); + + // notify FRCChecker about one more output frame and check result + virtual bool PutOutputFrameAndCheck(mfxFrameSurface1* pSurface); + +protected: + // calculate greatest common divisor + mfxU32 CalculateGCD(mfxU32 val1, mfxU32 val2); + // calculate period + void DefinePeriods(); + void DefineEdges(); + + bool CheckSurfaceCorrespondance() { + return true; + } + void PrintDumpInfoAboutMomentError(); + void PrintDumpInfoAboutAverageError(); + + mfxU32 m_FRateExtN_In; + mfxU32 m_FRateExtD_In; + mfxU32 m_FRateExtN_Out; + mfxU32 m_FRateExtD_Out; + + // analyzing periods + mfxU32 m_FramePeriod_In; + mfxU32 m_FramePeriod_Out; + + // admissible error on period in frames + mfxU32 m_Error_In; + mfxU32 m_Error_Out; + + // edges in times between input and output + mfxU32 m_UpperEdge; + mfxU32 m_BottomEdge; + + // frame counter in the period for input frames + mfxU32 m_NumFrame_In; + // frame counter in the period for output frames + mfxU32 m_NumFrame_Out; + + mfxU32 m_MomentError; + mfxU64 m_AverageError; + + mfxU32 m_asyncDeep; +}; + +#endif /* __SAMPLE_VPP_PTS_H*/ diff --git a/tools/legacy/sample_vpp/include/sample_vpp_frc_adv.h b/tools/legacy/sample_vpp/include/sample_vpp_frc_adv.h new file mode 100644 index 00000000..cfab6c2c --- /dev/null +++ b/tools/legacy/sample_vpp/include/sample_vpp_frc_adv.h @@ -0,0 +1,56 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __SAMPLE_VPP_FRC_ADV_H +#define __SAMPLE_VPP_FRC_ADV_H + +#include +#include +#include + +#include "sample_vpp_frc.h" +#include "vpl/mfxvideo.h" + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +class FRCAdvancedChecker : public BaseFRCChecker { +public: + FRCAdvancedChecker(); + virtual ~FRCAdvancedChecker(){}; + + mfxStatus Init(mfxVideoParam* par, mfxU32 asyncDeep); + + // notify FRCChecker about one more input frame + bool PutInputFrameAndCheck(mfxFrameSurface1* pSurface); + + // notify FRCChecker about one more output frame and check result + bool PutOutputFrameAndCheck(mfxFrameSurface1* pSurface); + +private: + mfxU64 GetExpectedPTS(mfxU32 frameNumber, mfxU64 timeOffset, mfxU64 timeJump); + + bool IsTimeStampsNear(mfxU64 timeStampRef, mfxU64 timeStampTst, mfxU64 eps); + + mfxU64 m_minDeltaTime; + + bool m_bIsSetTimeOffset; + + mfxU64 m_timeOffset; + mfxU64 m_expectedTimeStamp; + mfxU64 m_timeStampJump; + mfxU32 m_numOutputFrames; + + bool m_bReadyOutput; + mfxU64 m_defferedInputTimeStamp; + + mfxVideoParam m_videoParam; + + std::list m_ptsList; +}; + +#endif /* __SAMPLE_VPP_PTS_ADV_H*/ diff --git a/tools/legacy/sample_vpp/include/sample_vpp_pts.h b/tools/legacy/sample_vpp/include/sample_vpp_pts.h new file mode 100644 index 00000000..329a9021 --- /dev/null +++ b/tools/legacy/sample_vpp/include/sample_vpp_pts.h @@ -0,0 +1,76 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __SAMPLE_VPP_PTS_H +#define __SAMPLE_VPP_PTS_H + +#include +#include +#include "vpl/mfxvideo.h" + +#include "sample_vpp_frc.h" +#include "sample_vpp_frc_adv.h" + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +/* ************************************************************************* */ +class PTSMaker { +public: + PTSMaker(); + virtual ~PTSMaker(){}; + // isAdvancedMode - enable/disable FRC checking based on PTS + mfxStatus Init(mfxVideoParam *par, + mfxU32 asyncDeep, + bool isAdvancedMode = false, + bool isFrameCorrespond = false); + // need to set current time stamp for input surface + bool SetPTS(mfxFrameSurface1 *pSurface); + // need to check + bool CheckPTS(mfxFrameSurface1 *pSurface); + // sometimes need to pts jumping + void JumpPTS(); + +protected: + void PrintDumpInfo(); + + // FRC based on Init parameters + bool CheckBasicPTS(mfxFrameSurface1 *pSurface); + // FRC based on pts + bool CheckAdvancedPTS(mfxFrameSurface1 *pSurface); + + std::unique_ptr m_pFRCChecker; + + mfxU32 m_FRateExtN_In; + mfxU32 m_FRateExtD_In; + mfxU32 m_FRateExtN_Out; + mfxU32 m_FRateExtD_Out; + + // we can offset initial time stamp + mfxF64 m_TimeOffset; + + // starting value for random offset + mfxF64 m_CurrTime; + + // maximum difference from reference + mfxF64 m_MaxDiff; + mfxF64 m_CurrDiff; + + // frame counter for input frames + mfxU32 m_NumFrame_In; + // frame counter for output frames + mfxU32 m_NumFrame_Out; + + bool m_IsJump; + + // FRC based on PTS mode + bool m_bIsAdvancedMode; + + std::list m_ptsList; +}; + +#endif /* __SAMPLE_VPP_PTS_H*/ diff --git a/tools/legacy/sample_vpp/include/sample_vpp_roi.h b/tools/legacy/sample_vpp/include/sample_vpp_roi.h new file mode 100644 index 00000000..e975bb93 --- /dev/null +++ b/tools/legacy/sample_vpp/include/sample_vpp_roi.h @@ -0,0 +1,52 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __SAMPLE_VPP_ROI_H +#define __SAMPLE_VPP_ROI_H + +#include "vpl/mfxvideo.h" + +typedef enum { + ROI_FIX_TO_FIX = 0x0001, + ROI_VAR_TO_FIX = 0x0002, + ROI_FIX_TO_VAR = 0x0003, + ROI_VAR_TO_VAR = 0x0004 + +} eROIMode; + +typedef struct { + eROIMode mode; + + int srcSeed; + + int dstSeed; + +} sROICheckParam; + +/* ************************************************************************* */ + +class ROIGenerator { +public: + ROIGenerator(void); + ~ROIGenerator(void); + + mfxStatus Init(mfxU16 width, mfxU16 height, int seed); + mfxStatus Close(void); + + // need to set specific ROI from usage model of generator + mfxStatus SetROI(mfxFrameInfo* pInfo); + + // return seed for external application + mfxI32 GetSeed(void); + +protected: + mfxU16 m_width; + mfxU16 m_height; + + mfxI32 m_seed; +}; + +#endif /* __SAMPLE_VPP_PTS_H*/ diff --git a/tools/legacy/sample_vpp/include/sample_vpp_utils.h b/tools/legacy/sample_vpp/include/sample_vpp_utils.h new file mode 100644 index 00000000..fe4ddd64 --- /dev/null +++ b/tools/legacy/sample_vpp/include/sample_vpp_utils.h @@ -0,0 +1,556 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#ifndef __SAMPLE_VPP_UTILS_H + #define __SAMPLE_VPP_UTILS_H + +/* ************************************************************************* */ + + #if defined(_WIN32) || defined(_WIN64) + #define D3D_SURFACES_SUPPORT + #endif // #if defined(_WIN32) || defined(_WIN64) + + #ifdef D3D_SURFACES_SUPPORT + #pragma warning(disable : 4201) + #include + #include + #include + #include + #include + #endif + + #include "hw_device.h" + + #include "sample_defs.h" + + #ifdef MFX_D3D11_SUPPORT + #include + #endif + + #ifdef LIBVA_SUPPORT + #include "vaapi_allocator.h" + #include "vaapi_utils.h" + #endif + + #include + #include + #include + + #include "vm/strings_defs.h" + + #include "vpl/mfxvideo++.h" + #include "vpl/mfxvideo.h" + #if (MFX_VERSION < 2000) + #include "mfxmvc.h" + #include "mfxplugin.h" + #endif + + #include "base_allocator.h" + #include "sample_vpp_config.h" + #include "sample_vpp_roi.h" + + #if (MFX_VERSION >= 2000) + #include "sample_vpl_common.h" + #include "vpl/mfxdispatcher.h" + #endif + + // we introduce new macros without error message (returned status only) + // it allows to remove final error message due to EOF + #define IOSTREAM_MSDK_CHECK_NOT_EQUAL(P, X, ERR) \ + { \ + if ((X) != (P)) { \ + return ERR; \ + } \ + } + + #define IMPL_VIA_MASK 0xF00 +/* ************************************************************************* */ + + #ifndef MFX_VERSION + #error MFX_VERSION not defined + #endif + +enum { + VPP_IN = 0, + VPP_OUT = 1, +}; + +enum { + ALLOC_IMPL_VIA_SYS = 0, + ALLOC_IMPL_VIA_D3D9 = 1, + ALLOC_IMPL_VIA_D3D11 = 2, + ALLOC_IMPL_VIA_VAAPI = 4 +}; + #ifdef ENABLE_MCTF +const mfxU16 MCTF_MID_FILTER_STRENGTH = 10; +const mfxF64 MCTF_AUTO_BPP = 0.0; +const mfxF64 MCTF_LOSSLESS_BPP = 0.0; +const mfxU16 MCTF_TEMPORAL_2REF_MODE = 3; + #endif +//#define BACKWARD_COMPATIBILITY + +typedef struct _ownFrameInfo { + mfxU16 Shift; + mfxU16 BitDepthLuma; + mfxU16 BitDepthChroma; + mfxU16 nWidth; + mfxU16 nHeight; + // ROI + mfxU16 CropX; + mfxU16 CropY; + mfxU16 CropW; + mfxU16 CropH; + mfxU32 FourCC; + mfxU16 PicStruct; + mfxF64 dFrameRate; + +} sOwnFrameInfo; + +typedef struct _filtersParam { + sOwnFrameInfo* pOwnFrameInfo; + sDIParam* pDIParam; + sProcAmpParam* pProcAmpParam; + sDetailParam* pDetailParam; + sDenoiseParam* pDenoiseParam; + #ifdef ENABLE_MCTF + sMCTFParam* pMctfParam; + #endif + sVideoAnalysisParam* pVAParam; + sIDetectParam* pIDetectParam; + sFrameRateConversionParam* pFRCParam; + sMultiViewParam* pMultiViewParam; + sGamutMappingParam* pGamutParam; + sTccParam* pClrSaturationParam; + sAceParam* pContrastParam; + sSteParam* pSkinParam; + sIStabParam* pImgStabParam; + sSVCParam* pSVCParam; + sVideoSignalInfoParam* pVideoSignalInfo; + sMirroringParam* pMirroringParam; + sColorFillParam* pColorfillParam; +} sFiltersParam; + +struct sInputParams { + /* smart filters defined by mismatch btw src & dst */ + std::vector frameInfoIn; // [0] - in, [1] - out + std::vector frameInfoOut; // [0] - in, [1] - out + + /* Video Enhancement Algorithms */ + std::vector deinterlaceParam; + std::vector denoiseParam; + #ifdef ENABLE_MCTF + std::vector mctfParam; + #endif + std::vector detailParam; + std::vector procampParam; + std::vector frcParam; + + std::vector videoSignalInfoParam; + std::vector mirroringParam; + + // MSDK 3.0 + std::vector gamutParam; + std::vector multiViewParam; + + // MSDK API 1.5 + std::vector tccParam; + std::vector aceParam; + std::vector steParam; + std::vector istabParam; + + std::vector colorfillParam; + // flag describes type of memory + // true - frames in video memory (d3d surfaces), + // false - in system memory + //bool bd3dAlloc; + mfxU16 IOPattern; + mfxIMPL ImpLib; + #if defined(LIBVA_SUPPORT) + std::string strDevicePath; // path to device for processing + #endif + #if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + bool bPrefferdGfx; + bool bPrefferiGfx; + #endif + + mfxU16 asyncNum; + mfxU32 vaType; + + std::vector rotate; + + bool bScaling; + mfxU16 scalingMode; + mfxU16 interpolationMethod; + + bool bChromaSiting; + mfxU16 uChromaSiting; + + bool bInitEx; + mfxU16 GPUCopyValue; + + bool bPartialAccel; + + bool bPerf; + mfxU32 numFrames; + mfxU16 numRepeat; + bool isOutput; + bool ptsCheck; + bool ptsJump; + bool ptsAdvanced; + mfxF64 ptsFR; + + /* roi checking parameters */ + sROICheckParam roiCheckParam; + + /* plug-in GUID */ + msdk_char strPlgGuid[MSDK_MAX_FILENAME_LEN]; + bool need_plugin; + + #ifdef ENABLE_VPP_RUNTIME_HSBC + /* run-time ProcAmp parameters */ + typedef struct { + bool isEnabled; + mfxU32 interval; + mfxF64 value1; + mfxF64 value2; + } sRtProcAmpParam; + + sRtProcAmpParam rtHue; + sRtProcAmpParam rtSaturation; + sRtProcAmpParam rtBrightness; + sRtProcAmpParam rtContrast; + #endif + + /* ********************** */ + /* input\output streams */ + /* ********************** */ + msdk_char strSrcFile[MSDK_MAX_FILENAME_LEN]; + std::vector strDstFiles; + + msdk_char strPerfFile[MSDK_MAX_FILENAME_LEN]; + mfxU32 forcedOutputFourcc; + + /* Use extended API (RunFrameVPPAsyncEx) */ + bool use_extapi; + + /* MFXVideoVPP_Reset */ + std::vector resetFrmNums; + + sOwnFrameInfo inFrameInfo[MAX_INPUT_STREAMS]; + mfxU16 numStreams; + + sCompositionParam compositionParam; + + mfxU32 fccSource; + + #if (MFX_VERSION >= 2000) + bool api2xInternalMem; + bool api2xDispatcher; + #endif + sInputParams() + : steParam(), + colorfillParam(), + istabParam(), + rotate(), + tccParam(), + deinterlaceParam(), + aceParam(), + frameInfoOut(), + mirroringParam(), + denoiseParam(), + multiViewParam(), + gamutParam(), + frcParam(), + frameInfoIn(), + procampParam(), + videoSignalInfoParam(), + detailParam(), + resetFrmNums() { + IOPattern = 0; + ImpLib = 0; + asyncNum = 0; + vaType = 0; + bScaling = false; + scalingMode = 0; + interpolationMethod = 0; + GPUCopyValue = 0; + bPartialAccel = 0; + numFrames = 0; + numRepeat = 0; + isOutput = false; + ptsCheck = false; + ptsJump = false; + ptsAdvanced = false; + ptsFR = 0; + forcedOutputFourcc = 0; + numStreams = 0; + + MSDK_ZERO_MEMORY(strPlgGuid); + MSDK_ZERO_MEMORY(strSrcFile); + MSDK_ZERO_MEMORY(strPerfFile); + MSDK_ZERO_MEMORY(inFrameInfo); + MSDK_ZERO_MEMORY(compositionParam); + MSDK_ZERO_MEMORY(roiCheckParam); + + bInitEx = false; + bPerf = false; + need_plugin = false; + use_extapi = false; + MSDK_ZERO_MEMORY(strPlgGuid); + MSDK_ZERO_MEMORY(strSrcFile); + MSDK_ZERO_MEMORY(strPerfFile); + strDstFiles.clear(); + uChromaSiting = 0; + bChromaSiting = false; + fccSource = 0; + + #ifdef ENABLE_VPP_RUNTIME_HSBC + rtHue = {}; + rtSaturation = {}; + rtBrightness = {}; + rtContrast = {}; + #endif + #if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + bPrefferdGfx = false; + bPrefferiGfx = false; + #endif + + #if (MFX_VERSION >= 2000) + api2xInternalMem = false; + api2xDispatcher = false; + #endif + } +}; + +struct sFrameProcessor { + MFXVideoSession2 mfxSession; + MFXVideoVPP* pmfxVPP; + #if (MFX_VERSION >= 2000) + MFXMemory* pmfxMemory; + mfxLoader loader = NULL; + sFrameProcessor(void) { + pmfxVPP = NULL; + pmfxMemory = NULL; + return; + }; + #else + mfxPluginUID mfxGuid; + bool plugin; + sFrameProcessor(void) { + pmfxVPP = NULL; + plugin = false; + return; + }; + #endif +}; + +struct sMemoryAllocator { + MFXFrameAllocator* pMfxAllocator; + mfxAllocatorParams* pAllocatorParams; + bool bUsedAsExternalAllocator; + + mfxFrameSurfaceWrap* pSurfacesIn[MAX_INPUT_STREAMS]; // SINGLE_IN/OUT/MULTIPLE_INs + mfxFrameSurfaceWrap* pSurfacesOut; + mfxFrameAllocResponse responseIn[MAX_INPUT_STREAMS]; // SINGLE_IN/OUT/MULTIPLE_INs + mfxFrameAllocResponse responseOut; + + mfxFrameSurfaceWrap* pSvcSurfaces[8]; //output surfaces per layer + mfxFrameAllocResponse svcResponse[8]; //per layer + + CHWDevice* pDevice; + + /*#ifdef D3D_SURFACES_SUPPORT + IDirect3DDeviceManager9* pd3dDeviceManager; + #endif + + #ifdef MFX_D3D11_SUPPORT + ID3D11Device *pD3D11Device; + ID3D11DeviceContext *pD3D11DeviceContext; + #endif + + #ifdef LIBVA_SUPPORT + std::unique_ptr libvaKeeper; + #endif*/ +}; + +class PTSMaker; + +class CRawVideoReader { +public: + CRawVideoReader(); + ~CRawVideoReader(); + + void Close(); + + mfxStatus Init(const msdk_char* strFileName, PTSMaker* pPTSMaker, mfxU32 fcc); + + mfxStatus PreAllocateFrameChunk(mfxVideoParam* pVideoParam, + sInputParams* pParams, + MFXFrameAllocator* pAllocator); + + mfxStatus GetNextInputFrame(sMemoryAllocator* pAllocator, + mfxFrameInfo* pInfo, + mfxFrameSurfaceWrap** pSurface, + mfxU16 streamIndex); + + #if (MFX_VERSION >= 2000) + mfxStatus GetNextInputFrame2(sFrameProcessor* pProcessor, + mfxFrameInfo* pInfo, + mfxFrameSurfaceWrap** pSurface); + #endif + + mfxStatus LoadNextFrame(mfxFrameData* pData, mfxFrameInfo* pInfo); + +private: + mfxStatus GetPreAllocFrame(mfxFrameSurfaceWrap** pSurface); + + FILE* m_fSrc; + std::list::iterator m_it; + std::list m_SurfacesList; + bool m_isPerfMode; + mfxU16 m_Repeat; + + PTSMaker* m_pPTSMaker; + mfxU32 m_initFcc; +}; + +class CRawVideoWriter { +public: + CRawVideoWriter(); + ~CRawVideoWriter(); + + void Close(); + + mfxStatus Init(const msdk_char* strFileName, + PTSMaker* pPTSMaker, + mfxU32 forcedOutputFourcc = 0); + + mfxStatus PutNextFrame(sMemoryAllocator* pAllocator, + mfxFrameInfo* pInfo, + mfxFrameSurfaceWrap* pSurface); + + #if (MFX_VERSION >= 2000) + mfxStatus PutNextFrame2(mfxFrameInfo* pInfo, mfxFrameSurfaceWrap* pSurface); + #endif + +private: + mfxStatus WriteFrame(mfxFrameData* pData, mfxFrameInfo* pInfo); + + FILE* m_fDst; + PTSMaker* m_pPTSMaker; + mfxU32 m_forcedOutputFourcc; +}; + +class GeneralWriter // : public CRawVideoWriter +{ +public: + GeneralWriter(); + ~GeneralWriter(); + + void Close(); + + mfxStatus Init(const msdk_char* strFileName, + PTSMaker* pPTSMaker, + sSVCLayerDescr* pDesc = NULL, + mfxU32 forcedOutputFourcc = 0); + + mfxStatus PutNextFrame(sMemoryAllocator* pAllocator, + mfxFrameInfo* pInfo, + mfxFrameSurfaceWrap* pSurface); + + #if (MFX_VERSION >= 2000) + mfxStatus PutNextFrame2(mfxFrameInfo* pInfo, mfxFrameSurfaceWrap* pSurface); + #endif + +private: + std::unique_ptr m_ofile[8]; + + bool m_svcMode; +}; + +// need for support async +class SurfaceVPPStore { +public: + struct SurfVPPExt { + SurfVPPExt(mfxFrameSurfaceWrap* pSurf = nullptr, mfxExtVppAuxData* pExt = nullptr) + : pSurface(pSurf), + pExtVpp(pExt){}; + mfxFrameSurfaceWrap* pSurface; + mfxExtVppAuxData* pExtVpp; + }; + SurfaceVPPStore(){}; + + typedef std::pair SyncPair; + std::list m_SyncPoints; +}; + +struct sAppResources { + CRawVideoReader* pSrcFileReaders[MAX_INPUT_STREAMS]; + mfxU16 numSrcFiles; + + //CRawVideoWriter* pDstFileWriter; + GeneralWriter* pDstFileWriters; + mfxU32 dstFileWritersN; + + sFrameProcessor* pProcessor; + MfxVideoParamsWrapper* pVppParams; + sMemoryAllocator* pAllocator; + sInputParams* pParams; + SurfaceVPPStore* pSurfStore; + + // number of video enhancement filters (denoise, procamp, detail, video_analysis, multi_view, ste, istab, tcc, ace, svc) + constexpr static uint32_t ENH_FILTERS_COUNT = 20; + mfxU32 tabDoUseAlg[ENH_FILTERS_COUNT]; + // MSDK 3.0 + // mfxExtVPPGamutMapping gamutConfig; + + ////MSDK API 1.5 + //mfxExtVPPSkinTone steConfig; + //mfxExtVPPColorSaturationLevel tccConfig; +}; + +/* ******************************************************************* */ +/* service functions */ +/* ******************************************************************* */ + +void PrintInfo(sInputParams* pParams, mfxVideoParam* pMfxParams, MFXVideoSession2* pMfxSession); + +void PrintDllInfo(); + +mfxStatus InitParamsVPP(MfxVideoParamsWrapper* pMFXParams, sInputParams* pInParams, mfxU32 paramID); + +mfxStatus InitResources(sAppResources* pResources, mfxVideoParam* pParams, sInputParams* pInParams); + +void WipeResources(sAppResources* pResources); +void WipeParams(sInputParams* pParams); + +mfxStatus UpdateSurfacePool(mfxFrameInfo SurfacesInfo, + mfxU16 nPoolSize, + mfxFrameSurfaceWrap* pSurface); +mfxStatus GetFreeSurface(mfxFrameSurfaceWrap* pSurfacesPool, + mfxU16 nPoolSize, + mfxFrameSurfaceWrap** ppSurface); + +const msdk_char* IOpattern2Str(mfxU32 IOpattern); + +mfxStatus vppParseInputString(msdk_char* strInput[], + mfxU8 nArgNum, + sInputParams* pParams, + sFiltersParam* pDefaultFiltersParam); + +bool CheckInputParams(msdk_char* strInput[], sInputParams* pParams); + +void vppPrintHelp(const msdk_char* strAppName, const msdk_char* strErrorMessage); + +mfxStatus ConfigVideoEnhancementFilters(sInputParams* pParams, + sAppResources* pResources, + mfxU32 paramID); + +const msdk_char* PicStruct2Str(mfxU16 PicStruct); + +mfxStatus ParseCompositionParfile(const msdk_char* parFileName, sInputParams* pParams); +#endif /* __SAMPLE_VPP_UTILS_H */ +/* EOF */ diff --git a/tools/legacy/sample_vpp/src/sample_vpp.cpp b/tools/legacy/sample_vpp/src/sample_vpp.cpp new file mode 100644 index 00000000..5b4b2620 --- /dev/null +++ b/tools/legacy/sample_vpp/src/sample_vpp.cpp @@ -0,0 +1,1023 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "sample_vpp_pts.h" +#include "sample_vpp_roi.h" +#include "sample_vpp_utils.h" +#include "vm/atomic_defs.h" + +#define TIME_STATS 1 +#include "time_statistics.h" + +#define MFX_CHECK(sts) \ + { \ + if (sts != MFX_ERR_NONE) \ + return sts; \ + } + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +using namespace std; + +void IncreaseReference(mfxFrameData* ptr) { + msdk_atomic_inc16((volatile mfxU16*)&ptr->Locked); +} + +void DecreaseReference(mfxFrameData* ptr) { + msdk_atomic_dec16((volatile mfxU16*)&ptr->Locked); +} + +void PutPerformanceToFile(sInputParams& Params, mfxF64 FPS) { + FILE* fPRF; + MSDK_FOPEN(fPRF, Params.strPerfFile, MSDK_STRING("ab")); + if (!fPRF) + return; + + msdk_char* iopattern = const_cast(IOpattern2Str(Params.IOPattern)); + msdk_char iopattern_ascii[32] = { 0 }; + msdk_char* pIOP = iopattern_ascii; + while (*iopattern) + *pIOP++ = (msdk_char)*iopattern++; + msdk_char* srcFileName = Params.strSrcFile; + msdk_char srcFileName_ascii[1024] = { 0 }; + msdk_char* pFileName = srcFileName_ascii; + while (*srcFileName) + *pFileName++ = (msdk_char)*srcFileName++; + + msdk_tstring filters; + + if (Params.frameInfoIn[0].PicStruct != Params.frameInfoOut[0].PicStruct) { + filters += MSDK_STRING("DI "); + } + if (VPP_FILTER_DISABLED != Params.denoiseParam[0].mode) { + filters += MSDK_STRING("DN "); + } + if (filters.empty()) { + filters = MSDK_STRING("NoFilters "); + } + + msdk_fprintf(fPRF, + MSDK_STRING("%s, %dx%d, %dx%d, %s, %s, %f\r\n"), + srcFileName_ascii, + Params.frameInfoIn[0].nWidth, + Params.frameInfoIn[0].nHeight, + Params.frameInfoOut[0].nWidth, + Params.frameInfoOut[0].nHeight, + iopattern_ascii, + filters.c_str(), + FPS); + fclose(fPRF); + +} // void PutPerformanceToFile(sInputVppParams& Params, mfxF64 FPS) + +static void vppDefaultInitParams(sInputParams* pParams, sFiltersParam* pDefaultFiltersParam) { + pParams->frameInfoIn.clear(); + pParams->frameInfoIn.push_back(*pDefaultFiltersParam->pOwnFrameInfo); + pParams->frameInfoOut.clear(); + pParams->frameInfoOut.push_back(*pDefaultFiltersParam->pOwnFrameInfo); + + pParams->IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY; + pParams->ImpLib = MFX_IMPL_HARDWARE | +#ifdef LIBVA_SUPPORT + MFX_IMPL_VIA_VAAPI; +#else + MFX_IMPL_VIA_D3D9; +#endif + pParams->asyncNum = 1; + pParams->bPerf = false; + pParams->isOutput = false; + pParams->ptsCheck = false; + pParams->ptsAdvanced = false; + pParams->ptsFR = 0; + pParams->vaType = ALLOC_IMPL_VIA_SYS; + pParams->rotate.clear(); + pParams->rotate.push_back(0); + pParams->bScaling = false; + pParams->scalingMode = MFX_SCALING_MODE_DEFAULT; + pParams->interpolationMethod = MFX_INTERPOLATION_DEFAULT; + pParams->bChromaSiting = false; + pParams->uChromaSiting = 0; + pParams->numFrames = 0; + pParams->fccSource = MFX_FOURCC_NV12; + + // Optional video processing features + pParams->mirroringParam.clear(); + pParams->mirroringParam.push_back(*pDefaultFiltersParam->pMirroringParam); + pParams->videoSignalInfoParam.clear(); + pParams->videoSignalInfoParam.push_back(*pDefaultFiltersParam->pVideoSignalInfo); + pParams->deinterlaceParam.clear(); + pParams->deinterlaceParam.push_back(*pDefaultFiltersParam->pDIParam); + pParams->denoiseParam.clear(); + pParams->denoiseParam.push_back(*pDefaultFiltersParam->pDenoiseParam); +#ifdef ENABLE_MCTF + pParams->mctfParam.clear(); + pParams->mctfParam.push_back(*pDefaultFiltersParam->pMctfParam); +#endif + pParams->detailParam.clear(); + pParams->detailParam.push_back(*pDefaultFiltersParam->pDetailParam); + pParams->procampParam.clear(); + pParams->procampParam.push_back(*pDefaultFiltersParam->pProcAmpParam); + // analytics + pParams->frcParam.clear(); + pParams->frcParam.push_back(*pDefaultFiltersParam->pFRCParam); + // MSDK 3.0 + pParams->multiViewParam.clear(); + pParams->multiViewParam.push_back(*pDefaultFiltersParam->pMultiViewParam); + // MSDK API 1.5 + pParams->gamutParam.clear(); + pParams->gamutParam.push_back(*pDefaultFiltersParam->pGamutParam); + pParams->tccParam.clear(); + pParams->tccParam.push_back(*pDefaultFiltersParam->pClrSaturationParam); + pParams->aceParam.clear(); + pParams->aceParam.push_back(*pDefaultFiltersParam->pContrastParam); + pParams->steParam.clear(); + pParams->steParam.push_back(*pDefaultFiltersParam->pSkinParam); + pParams->istabParam.clear(); + pParams->istabParam.push_back(*pDefaultFiltersParam->pImgStabParam); + + pParams->colorfillParam.clear(); + pParams->colorfillParam.push_back(*pDefaultFiltersParam->pColorfillParam); + + // ROI check + pParams->roiCheckParam.mode = ROI_FIX_TO_FIX; // ROI check is disabled + pParams->roiCheckParam.srcSeed = 0; + pParams->roiCheckParam.dstSeed = 0; + pParams->forcedOutputFourcc = 0; + + // plug-in GUID + pParams->need_plugin = false; + + // Use RunFrameVPPAsyncEx + pParams->use_extapi = false; + + // Do not call MFXVideoVPP_Reset + pParams->resetFrmNums.clear(); + + pParams->bInitEx = false; + pParams->GPUCopyValue = MFX_GPUCOPY_DEFAULT; + + return; + +} // void vppDefaultInitParams( sInputParams* pParams ) + +void SaveRealInfoForSvcOut(sSVCLayerDescr in[8], mfxFrameInfo out[8], mfxU32 fourcc) { + for (mfxU32 did = 0; did < 8; did++) { + out[did].Width = in[did].width; + out[did].Height = in[did].height; + + //temp solution for crop + out[did].CropX = 0; + out[did].CropY = 0; + out[did].CropW = out[did].Width; + out[did].CropH = out[did].Height; + + // additional + out[did].FourCC = fourcc; + } + +} // void SaveRealInfoForSvcOut(sSVCLayerDescr in[8], mfxFrameInfo out[8]) + +mfxStatus OutputProcessFrame(sAppResources* Resources, + mfxFrameInfo* pOutFrameInfo, + mfxU32& nFrames, + mfxU32 paramID) { + mfxStatus sts; + mfxFrameSurfaceWrap* pProcessedSurface; + + for (; !Resources->pSurfStore->m_SyncPoints.empty(); + Resources->pSurfStore->m_SyncPoints.pop_front()) { + sts = Resources->pProcessor->mfxSession.SyncOperation( + Resources->pSurfStore->m_SyncPoints.front().first, + MSDK_VPP_WAIT_INTERVAL); + if (sts == MFX_WRN_IN_EXECUTION) { + msdk_printf(MSDK_STRING("SyncOperation wait interval exceeded\n")); + } + MSDK_CHECK_NOT_EQUAL(sts, MFX_ERR_NONE, sts); + + pProcessedSurface = Resources->pSurfStore->m_SyncPoints.front().second.pSurface; + + GeneralWriter* writer = (1 == Resources->dstFileWritersN) + ? &Resources->pDstFileWriters[0] + : &Resources->pDstFileWriters[paramID]; +#if (MFX_VERSION >= 2000) + if (Resources->pParams->api2xInternalMem) { + sts = writer->PutNextFrame2(pOutFrameInfo, pProcessedSurface); + } + else { + sts = writer->PutNextFrame(Resources->pAllocator, pOutFrameInfo, pProcessedSurface); + } +#else + sts = writer->PutNextFrame(Resources->pAllocator, pOutFrameInfo, pProcessedSurface); +#endif + + DecreaseReference(&pProcessedSurface->Data); + + if (sts) + msdk_printf(MSDK_STRING("Failed to write frame to disk\n")); + MSDK_CHECK_NOT_EQUAL(sts, MFX_ERR_NONE, MFX_ERR_ABORTED); + + nFrames++; + + //VPP progress + if (!Resources->pParams->bPerf) { + msdk_printf(MSDK_STRING("Frame number: %d\r"), nFrames); + } + else { + if (!(nFrames % 100)) + msdk_printf(MSDK_STRING(".")); + } + } + return MFX_ERR_NONE; + +} // mfxStatus OutputProcessFrame( + +void ownToMfxFrameInfo(sOwnFrameInfo* in, mfxFrameInfo* out, bool copyCropParams = false) { + out->Width = in->nWidth; + out->Height = in->nHeight; + + if (copyCropParams) { + out->CropX = in->CropX; + out->CropY = in->CropY; + out->CropW = (in->CropW == NOT_INIT_VALUE) ? in->nWidth : in->CropW; + out->CropH = (in->CropH == NOT_INIT_VALUE) ? in->nHeight : in->CropH; + } + else { + out->CropX = 0; + out->CropY = 0; + out->CropW = in->nWidth; + out->CropH = in->nHeight; + } + out->FourCC = in->FourCC; + + out->PicStruct = in->PicStruct; + out->BitDepthLuma = in->BitDepthLuma; + out->BitDepthChroma = in->BitDepthChroma; + + ConvertFrameRate(in->dFrameRate, &out->FrameRateExtN, &out->FrameRateExtD); + + return; +} + +#if defined(_WIN32) || defined(_WIN64) +int _tmain(int argc, TCHAR* argv[]) +#else +int main(int argc, msdk_char* argv[]) +#endif +{ + mfxStatus sts = MFX_ERR_NONE; + mfxU32 nFrames = 0; + mfxU16 nInStreamInd = 0; + + CRawVideoReader yuvReaders[MAX_INPUT_STREAMS]; + + CTimeStatistics statTimer; + + sFrameProcessor frameProcessor; + sMemoryAllocator allocator{}; + + sInputParams Params; + MfxVideoParamsWrapper mfxParamsVideo; + + // to prevent incorrect read/write of image in case of CropW/H != width/height + mfxFrameInfo realFrameInfoIn[MAX_INPUT_STREAMS]; // Inputs+output + mfxFrameInfo realFrameInfoOut; + sAppResources Resources; + + mfxFrameSurfaceWrap* pInSurf[MAX_INPUT_STREAMS] = {}; + mfxFrameSurfaceWrap* pOutSurf = nullptr; + mfxFrameSurfaceWrap* pWorkSurf = nullptr; + + mfxSyncPoint syncPoint; + + bool bFrameNumLimit = false; + mfxU32 numGetFrames = 0; + + SurfaceVPPStore surfStore; + + unique_ptr ptsMaker; + + /* generators for ROI testing */ + ROIGenerator inROIGenerator; + ROIGenerator outROIGenerator; + bool bROITest[2] = { false, false }; + +#ifdef ENABLE_VPP_RUNTIME_HSBC + /* a counter of output frames*/ + mfxU32 nOutFrames = 0; +#endif + + //mfxU16 argbSurfaceIndex = 0xffff; + + /* default parameters */ + sOwnFrameInfo defaultOwnFrameInfo = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, MFX_FOURCC_NV12, MFX_PICSTRUCT_PROGRESSIVE, 30.0 + }; + sDIParam defaultDIParam = { 0, 0, 0, VPP_FILTER_DISABLED }; + sProcAmpParam defaultProcAmpParam = { 0.0, 1.0, 1.0, 0.0, VPP_FILTER_DISABLED }; + sDetailParam defaultDetailParam = { 1, VPP_FILTER_DISABLED }; + sDenoiseParam defaultDenoiseParam = { 1, VPP_FILTER_DISABLED }; +#ifdef ENABLE_MCTF + sMCTFParam defaultMctfParam; + defaultMctfParam.mode = VPP_FILTER_DISABLED; + defaultMctfParam.params.FilterStrength = 0; + #ifdef ENABLE_MCTF_EXT + defaultMctfParam.params.BitsPerPixelx100k = 0; + defaultMctfParam.params.Deblocking = MFX_CODINGOPTION_OFF; + defaultMctfParam.params.Overlap = MFX_CODINGOPTION_OFF; + defaultMctfParam.params.TemporalMode = MFX_MCTF_TEMPORAL_MODE_2REF; + defaultMctfParam.params.MVPrecision = MFX_MVPRECISION_INTEGER; + #endif +#endif + sVideoAnalysisParam defaultVAParam = { VPP_FILTER_DISABLED }; + sIDetectParam defaultIDetectParam = { VPP_FILTER_DISABLED }; + sFrameRateConversionParam defaultFRCParam = { MFX_FRCALGM_PRESERVE_TIMESTAMP, + VPP_FILTER_DISABLED }; + //MSDK 3.0 + sMultiViewParam defaultMultiViewParam = { 1, VPP_FILTER_DISABLED }; + //MSDK API 1.5 + sGamutMappingParam defaultGamutParam = { false, VPP_FILTER_DISABLED }; + sTccParam defaultClrSaturationParam = { 160, 160, 160, 160, VPP_FILTER_DISABLED }; + sAceParam defaultContrastParam = { VPP_FILTER_DISABLED }; + sSteParam defaultSkinParam = { 4, VPP_FILTER_DISABLED }; + sIStabParam defaultImgStabParam = { MFX_IMAGESTAB_MODE_BOXING, VPP_FILTER_DISABLED }; + sSVCParam defaultSVCParam = { {}, VPP_FILTER_DISABLED }; + sVideoSignalInfoParam defaultVideoSignalInfoParam; + sMirroringParam defaultMirroringParam; + sColorFillParam defaultColorfillParam; + + sFiltersParam defaultFiltersParam = { &defaultOwnFrameInfo, + &defaultDIParam, + &defaultProcAmpParam, + &defaultDetailParam, + &defaultDenoiseParam, +#ifdef ENABLE_MCTF + &defaultMctfParam, +#endif + &defaultVAParam, + &defaultIDetectParam, + &defaultFRCParam, + &defaultMultiViewParam, + &defaultGamutParam, + &defaultClrSaturationParam, + &defaultContrastParam, + &defaultSkinParam, + &defaultImgStabParam, + &defaultSVCParam, + &defaultVideoSignalInfoParam, + &defaultMirroringParam, + &defaultColorfillParam }; + + //reset pointers to the all internal resources + MSDK_ZERO_MEMORY(Resources); + MSDK_ZERO_MEMORY(realFrameInfoIn); + MSDK_ZERO_MEMORY(realFrameInfoOut); + + for (int i = 0; i < Resources.numSrcFiles; i++) { + Resources.pSrcFileReaders[i] = &yuvReaders[i]; + } + + Resources.pProcessor = &frameProcessor; + Resources.pAllocator = &allocator; + Resources.pVppParams = &mfxParamsVideo; + Resources.pParams = &Params; + Resources.pSurfStore = &surfStore; + + vppDefaultInitParams(&Params, &defaultFiltersParam); + + //parse input string + sts = vppParseInputString(argv, (mfxU8)argc, &Params, &defaultFiltersParam); + if (MFX_ERR_NONE != sts) { + vppPrintHelp(argv[0], MSDK_STRING("Parameters parsing error")); + return 1; + } + MSDK_CHECK_STATUS(sts, "vppParseInputString failed"); + +#if (MFX_VERSION >= 2000) + // In case i420 (-dcc i420) for gen, vppParseInputString sets forceOutputFourcc to i420 and + // change Params.frameInfoOut[0].FourCC to nv12 for processing in gen lib. + // So, when it writes vpp output, it refers forceOutputFourcc to convert nv12 to -dcc format. + // + // In case of vpl, ignore these steps and use original format (i420) + if (Params.ImpLib == MFX_IMPL_SOFTWARE && Params.forcedOutputFourcc != 0) { + Params.frameInfoOut[0].FourCC = Params.forcedOutputFourcc; + Params.forcedOutputFourcc = 0; + } +#endif + + // to check time stamp settings + if (Params.ptsFR) { + Params.frameInfoIn[0].dFrameRate = Params.ptsFR; + } + + if (!CheckInputParams(argv, &Params)) { + return 1; + } + + if (Params.ptsCheck) { + ptsMaker.reset(new PTSMaker); + } + + //prepare file reader (YUV/RGB file) + Resources.numSrcFiles = 1; + if (Params.compositionParam.mode == VPP_FILTER_ENABLED_CONFIGURED) { + Resources.numSrcFiles = + Params.numStreams > MAX_INPUT_STREAMS ? MAX_INPUT_STREAMS : Params.numStreams; + for (int i = 0; i < Resources.numSrcFiles; i++) { + ownToMfxFrameInfo(&(Params.inFrameInfo[i]), &(realFrameInfoIn[i]), true); + // Set ptsMaker for the first stream only - it will store PTSes + sts = yuvReaders[i].Init(Params.compositionParam.streamInfo[i].streamName, + i == 0 ? ptsMaker.get() : NULL, + realFrameInfoIn[i].FourCC); + + // In-place conversion check - I420 and YV12+D3D11 should be converted in reader and processed as NV12 + bool shouldConvert = false; + if (realFrameInfoIn[i].FourCC == MFX_FOURCC_I420 || + ((Params.ImpLib & 0x0f00) == MFX_IMPL_VIA_D3D11 && + realFrameInfoIn[i].FourCC == MFX_FOURCC_YV12)) { + realFrameInfoIn[i].FourCC = MFX_FOURCC_YV12; + shouldConvert = true; + } + if (shouldConvert) { + msdk_printf(MSDK_STRING( + "[WARNING] D3D11 does not support YV12 and I420 surfaces. Input will be converted to NV12 by file reader.\n")); + } + + MSDK_CHECK_STATUS(sts, "yuvReaders[i].Init failed"); + } + } + else { +#if (MFX_VERSION < 2000) + // D3D11 does not support I420 and YV12 surfaces. So file reader will convert them into nv12. + // It may be slower than using vpp + if (Params.fccSource == MFX_FOURCC_I420 || +#else + if ((Params.fccSource == MFX_FOURCC_I420 && (Params.ImpLib & MFX_IMPL_HARDWARE)) || +#endif + ((Params.ImpLib & 0x0f00) == MFX_IMPL_VIA_D3D11 && + Params.fccSource == MFX_FOURCC_YV12)) { + msdk_printf(MSDK_STRING( + "[WARNING] D3D11 does not support YV12 and I420 surfaces. Input will be converted to NV12 by file reader.\n")); + Params.inFrameInfo[0].FourCC = MFX_FOURCC_NV12; + Params.frameInfoIn[0].FourCC = MFX_FOURCC_NV12; + } + + ownToMfxFrameInfo(&(Params.frameInfoIn[0]), &realFrameInfoIn[0]); + sts = yuvReaders[VPP_IN].Init(Params.strSrcFile, ptsMaker.get(), Params.fccSource); + MSDK_CHECK_STATUS(sts, "yuvReaders[VPP_IN].Init failed"); + } + ownToMfxFrameInfo(&(Params.frameInfoOut[0]), &realFrameInfoOut); + + //prepare file writers (YUV file) + Resources.dstFileWritersN = (mfxU32)Params.strDstFiles.size(); + Resources.pDstFileWriters = new GeneralWriter[Resources.dstFileWritersN]; + const msdk_char* istream; + for (mfxU32 i = 0; i < Resources.dstFileWritersN; i++) { + istream = Params.isOutput ? Params.strDstFiles[i].c_str() : NULL; + sts = Resources.pDstFileWriters[i].Init(istream, + ptsMaker.get(), + NULL, + Params.forcedOutputFourcc); + MSDK_CHECK_STATUS_SAFE(sts, "Resources.pDstFileWriters[i].Init failed", { + WipeResources(&Resources); + WipeParams(&Params); + }); + } + + //#ifdef LIBVA_SUPPORT + // if(!(Params.ImpLib & MFX_IMPL_SOFTWARE)) + // allocator.libvaKeeper.reset(CreateLibVA()); + //#endif + + //prepare mfxParams + sts = InitParamsVPP(&mfxParamsVideo, &Params, 0); + MSDK_CHECK_STATUS_SAFE(sts, "InitParamsVPP failed", { + WipeResources(&Resources); + WipeParams(&Params); + }); + + // prepare pts Checker + if (ptsMaker.get()) { + sts = ptsMaker.get()->Init(&mfxParamsVideo, Params.asyncNum - 1, Params.ptsAdvanced); + MSDK_CHECK_STATUS_SAFE(sts, "ptsMaker.get()->Init failed", { + WipeResources(&Resources); + WipeParams(&Params); + }); + } + + // prepare ROI generator + if (ROI_VAR_TO_FIX == Params.roiCheckParam.mode || + ROI_VAR_TO_VAR == Params.roiCheckParam.mode) { + inROIGenerator.Init(realFrameInfoIn[0].Width, + realFrameInfoIn[0].Height, + Params.roiCheckParam.srcSeed); + Params.roiCheckParam.srcSeed = inROIGenerator.GetSeed(); + bROITest[VPP_IN] = true; + } + if (ROI_FIX_TO_VAR == Params.roiCheckParam.mode || + ROI_VAR_TO_VAR == Params.roiCheckParam.mode) { + outROIGenerator.Init(realFrameInfoIn[0].Width, + realFrameInfoIn[0].Height, + Params.roiCheckParam.dstSeed); + Params.roiCheckParam.dstSeed = outROIGenerator.GetSeed(); + bROITest[VPP_OUT] = true; + } + + sts = ConfigVideoEnhancementFilters(&Params, &Resources, 0); + MSDK_CHECK_STATUS_SAFE(sts, "ConfigVideoEnhancementFilters failed", { + WipeResources(&Resources); + WipeParams(&Params); + }); + + sts = InitResources(&Resources, &mfxParamsVideo, &Params); + if (MFX_WRN_FILTER_SKIPPED == sts) { + msdk_printf(MSDK_STRING("\nVPP_WRN: some filter(s) skipped\n")); + MSDK_IGNORE_MFX_STS(sts, MFX_WRN_FILTER_SKIPPED); + } + MSDK_CHECK_STATUS_SAFE(sts, "InitResources failed", { + WipeResources(&Resources); + WipeParams(&Params); + }); + + if (MFX_WRN_PARTIAL_ACCELERATION == sts) { + Params.bPartialAccel = true; + } + else { + Params.bPartialAccel = false; + } + + if (Params.bPerf) { + for (int i = 0; i < Resources.numSrcFiles; i++) { + sts = yuvReaders[i].PreAllocateFrameChunk(&mfxParamsVideo, + &Params, + allocator.pMfxAllocator); + } + MSDK_CHECK_STATUS_SAFE(sts, "yuvReaders[i].PreAllocateFrameChunk failed", { + WipeResources(&Resources); + WipeParams(&Params); + }); + } + else if (Params.numFrames) { + bFrameNumLimit = true; + } + + // print parameters to console + PrintInfo(&Params, &mfxParamsVideo, &Resources.pProcessor->mfxSession); + PrintDllInfo(); + + sts = MFX_ERR_NONE; + nFrames = 0; + + msdk_printf(MSDK_STRING("VPP started\n")); + statTimer.StartTimeMeasurement(); + + mfxU32 StartJumpFrame = 13; + + // need to correct jumping parameters due to async mode + if (ptsMaker.get() && Params.ptsJump && (Params.asyncNum > 1)) { + if (Params.asyncNum > StartJumpFrame) { + StartJumpFrame = Params.asyncNum; + } + else { + StartJumpFrame = StartJumpFrame / Params.asyncNum * Params.asyncNum; + } + } + + bool bDoNotUpdateIn = false; + if (Params.use_extapi) + bDoNotUpdateIn = true; + + // pre-multi-view preparation + bool bMultiView = + (VPP_FILTER_ENABLED_CONFIGURED == Params.multiViewParam[0].mode) ? true : false; + vector bMultipleOutStore(Params.multiViewParam[0].viewCount, false); + mfxFrameSurfaceWrap* viewSurfaceStore[MULTI_VIEW_COUNT_MAX]; + + ViewGenerator viewGenerator(Params.multiViewParam[0].viewCount); + + if (bMultiView) { + if (bFrameNumLimit) { + Params.numFrames *= Params.multiViewParam[0].viewCount; + } + } + + bool bNeedReset = false; + mfxU16 paramID = 0; + mfxU32 nextResetFrmNum = + (Params.resetFrmNums.size() > 0) ? Params.resetFrmNums[0] : NOT_INIT_VALUE; + + //--------------------------------------------------------- + do { + if (bNeedReset) { + paramID++; + bNeedReset = false; + nextResetFrmNum = (Params.resetFrmNums.size() > paramID) ? Params.resetFrmNums[paramID] + : NOT_INIT_VALUE; + + //prepare mfxParams + sts = InitParamsVPP(&mfxParamsVideo, &Params, paramID); + MSDK_CHECK_STATUS_SAFE(sts, "InitParamsVPP failed", { + WipeResources(&Resources); + WipeParams(&Params); + }); + + sts = ConfigVideoEnhancementFilters(&Params, &Resources, paramID); + MSDK_CHECK_STATUS_SAFE(sts, "ConfigVideoEnchancementFilters failed", { + WipeResources(&Resources); + WipeParams(&Params); + }); + + sts = Resources.pProcessor->pmfxVPP->Reset(Resources.pVppParams); + MSDK_CHECK_STATUS_SAFE(sts, "Resources.pProcessor->pmfxVPP->Reset failed", { + WipeResources(&Resources); + WipeParams(&Params); + }); + + ownToMfxFrameInfo(&(Params.frameInfoIn[paramID]), &realFrameInfoIn[0]); + ownToMfxFrameInfo(&(Params.frameInfoOut[paramID]), &realFrameInfoOut); + UpdateSurfacePool(mfxParamsVideo.vpp.Out, + allocator.responseOut.NumFrameActual, + allocator.pSurfacesOut); + if (Params.numStreams == 1) { + UpdateSurfacePool(mfxParamsVideo.vpp.In, + allocator.responseIn[0].NumFrameActual, + allocator.pSurfacesIn[0]); + } + else { + for (int i = 0; i < Params.numStreams; i++) { + ownToMfxFrameInfo(&(Params.inFrameInfo[i]), &realFrameInfoIn[i]); + + UpdateSurfacePool(mfxParamsVideo.vpp.In, + allocator.responseIn[i].NumFrameActual, + allocator.pSurfacesIn[i]); + } + } + + msdk_printf(MSDK_STRING("VPP reseted at frame number %d\n"), numGetFrames); + } + + while (MFX_ERR_NONE <= sts || MFX_ERR_MORE_DATA == sts || bDoNotUpdateIn) { + mfxU16 viewID = 0; + mfxU16 viewIndx = 0; + + if (nInStreamInd >= MAX_INPUT_STREAMS) { + sts = MFX_ERR_UNKNOWN; + break; + } + + // update for multiple output of multi-view + if (bMultiView) { + viewID = viewGenerator.GetNextViewID(); + viewIndx = viewGenerator.GetViewIndx(viewID); + + if (bMultipleOutStore[viewIndx]) { + pInSurf[nInStreamInd] = viewSurfaceStore[viewIndx]; + bDoNotUpdateIn = true; + + bMultipleOutStore[viewIndx] = false; + } + else { + bDoNotUpdateIn = false; + } + } + + if (!bDoNotUpdateIn) { + if (nextResetFrmNum == numGetFrames) { + bNeedReset = true; + sts = MFX_ERR_MORE_DATA; + break; + } + +#if (MFX_VERSION >= 2000) + if (Params.api2xInternalMem) { + sts = + yuvReaders[nInStreamInd].GetNextInputFrame2(&frameProcessor, + &realFrameInfoIn[nInStreamInd], + &pInSurf[nInStreamInd]); + } + else { + // if we share allocator with mediasdk we need to call Lock to access surface data and after we're done call Unlock + sts = yuvReaders[nInStreamInd].GetNextInputFrame(&allocator, + &realFrameInfoIn[nInStreamInd], + &pInSurf[nInStreamInd], + nInStreamInd); + } +#else + // if we share allocator with mediasdk we need to call Lock to access surface data and after we're done call Unlock + sts = yuvReaders[nInStreamInd].GetNextInputFrame(&allocator, + &realFrameInfoIn[nInStreamInd], + &pInSurf[nInStreamInd], + nInStreamInd); +#endif + MSDK_BREAK_ON_ERROR(sts); + + // Set input timestamps according to input framerate + mfxU64 expectedPTS = + (((mfxU64)(numGetFrames)*mfxParamsVideo.vpp.In.FrameRateExtD * 90000) / + mfxParamsVideo.vpp.In.FrameRateExtN); + pInSurf[nInStreamInd]->Data.TimeStamp = expectedPTS; + + if (bMultiView) { + pInSurf[nInStreamInd]->Info.FrameId.ViewId = viewID; + } + + if (numGetFrames++ == Params.numFrames && bFrameNumLimit) { + sts = MFX_ERR_MORE_DATA; + break; + } + } + + // VPP processing + bDoNotUpdateIn = false; + +#if (MFX_VERSION >= 2000) + if (Params.api2xInternalMem) { + sts = frameProcessor.pmfxMemory->GetSurfaceForVPPOut((mfxFrameSurface1**)&pOutSurf); + } + else { + sts = GetFreeSurface(allocator.pSurfacesOut, + allocator.responseOut.NumFrameActual, + (Params.use_extapi ? &pWorkSurf : &pOutSurf)); + } +#else + + sts = GetFreeSurface(allocator.pSurfacesOut, + allocator.responseOut.NumFrameActual, + (Params.use_extapi ? &pWorkSurf : &pOutSurf)); +#endif + MSDK_BREAK_ON_ERROR(sts); + + if (bROITest[VPP_IN]) { + inROIGenerator.SetROI(&(pInSurf[nInStreamInd]->Info)); + } + if (bROITest[VPP_OUT]) { + outROIGenerator.SetROI((Params.use_extapi ? &pWorkSurf->Info : &pOutSurf->Info)); + } + + if (Params.use_extapi) { +#if (MFX_VERSION < 2000) + mfxFrameSurface1* out_surface = nullptr; + do { + sts = frameProcessor.pmfxVPP->RunFrameVPPAsyncEx(pInSurf[nInStreamInd], + pWorkSurf, + //pExtData, + &out_surface, + &syncPoint); + } while (MFX_WRN_DEVICE_BUSY == sts); + + pOutSurf = static_cast(out_surface); + if (MFX_ERR_MORE_DATA != sts) + bDoNotUpdateIn = true; +#endif + } + else { +#ifdef ENABLE_VPP_RUNTIME_HSBC + if (Params.rtHue.isEnabled || Params.rtSaturation.isEnabled || + Params.rtBrightness.isEnabled || Params.rtContrast.isEnabled) { + auto procAmp = pOutSurf->AddExtBuffer(); + // set default values for ProcAmp filters + procAmp->Brightness = 0.0F; + procAmp->Contrast = 1.0F; + procAmp->Hue = 0.0F; + procAmp->Saturation = 1.0F; + + if (Params.rtHue.isEnabled) { + procAmp->Hue = ((nOutFrames / Params.rtHue.interval & 0x1) == 0) + ? Params.rtHue.value1 + : Params.rtHue.value2; + } + + if (Params.rtSaturation.isEnabled) { + procAmp->Saturation = + ((nOutFrames / Params.rtSaturation.interval & 0x1) == 0) + ? Params.rtSaturation.value1 + : Params.rtSaturation.value2; + } + + if (Params.rtBrightness.isEnabled) { + procAmp->Brightness = + ((nOutFrames / Params.rtBrightness.interval & 0x1) == 0) + ? Params.rtBrightness.value1 + : Params.rtBrightness.value2; + } + + if (Params.rtContrast.isEnabled) { + procAmp->Contrast = ((nOutFrames / Params.rtContrast.interval & 0x1) == 0) + ? Params.rtContrast.value1 + : Params.rtContrast.value2; + } + } + nOutFrames++; +#endif + sts = frameProcessor.pmfxVPP->RunFrameVPPAsync(pInSurf[nInStreamInd], + pOutSurf, + NULL, + &syncPoint); + } + + nInStreamInd++; + if (nInStreamInd == Resources.numSrcFiles) + nInStreamInd = 0; + + if (MFX_ERR_MORE_DATA == sts) { + continue; + } + + //MFX_ERR_MORE_SURFACE (&& !use_extapi) means output is ready but need more surface + //because VPP produce multiple out. example: Frame Rate Conversion 30->60 + //MFX_ERR_MORE_SURFACE && use_extapi means that component need more work surfaces + if (MFX_ERR_MORE_SURFACE == sts) { + sts = MFX_ERR_NONE; + + if (bMultiView) { + if (viewSurfaceStore[viewIndx]) { + DecreaseReference(&(viewSurfaceStore[viewIndx]->Data)); + } + + viewSurfaceStore[viewIndx] = pInSurf[nInStreamInd]; + IncreaseReference(&(viewSurfaceStore[viewIndx]->Data)); + + bMultipleOutStore[viewIndx] = true; + } + else { + bDoNotUpdateIn = true; + } + + if (Params.use_extapi) { + // RunFrameAsyncEx is used + continue; + } + } + else if (MFX_ERR_NONE == sts && !((nFrames + 1) % StartJumpFrame) && ptsMaker.get() && + Params.ptsJump) // pts jump + { + ptsMaker.get()->JumpPTS(); + } + else if (MFX_ERR_NONE == sts && bMultiView) { + if (viewSurfaceStore[viewIndx]) { + DecreaseReference(&(viewSurfaceStore[viewIndx]->Data)); + viewSurfaceStore[viewIndx] = NULL; + } + } + + MSDK_CHECK_STATUS_NO_RET(sts, "RunFrameVPPAsync(Ex) failed") + MSDK_BREAK_ON_ERROR(sts); + surfStore.m_SyncPoints.push_back(SurfaceVPPStore::SyncPair(syncPoint, pOutSurf)); + IncreaseReference(&pOutSurf->Data); + if (surfStore.m_SyncPoints.size() != + (size_t)(Params.asyncNum * Params.multiViewParam[paramID].viewCount)) { + continue; + } + sts = OutputProcessFrame(&Resources, &realFrameInfoOut, nFrames, paramID); + MSDK_BREAK_ON_ERROR(sts); + + } // main while loop + //--------------------------------------------------------- + + //process remain sync points + if (MFX_ERR_MORE_DATA == sts) { + sts = OutputProcessFrame(&Resources, &realFrameInfoOut, nFrames, paramID); + MSDK_CHECK_STATUS_SAFE(sts, "OutputProcessFrame failed", { + WipeResources(&Resources); + WipeParams(&Params); + }); + } + + // means that file has ended, need to go to buffering loop + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_DATA); + // exit in case of other errors + MSDK_CHECK_STATUS_SAFE(sts, "OutputProcessFrame failed", { + WipeResources(&Resources); + WipeParams(&Params); + }); + + // loop to get buffered frames from VPP + while (MFX_ERR_NONE <= sts) { +#if (MFX_VERSION >= 2000) + if (!Params.api2xInternalMem) { + sts = GetFreeSurface(allocator.pSurfacesOut, + allocator.responseOut.NumFrameActual, + (Params.use_extapi ? &pWorkSurf : &pOutSurf)); + } +#else + sts = GetFreeSurface(allocator.pSurfacesOut, + allocator.responseOut.NumFrameActual, + (Params.use_extapi ? &pWorkSurf : &pOutSurf)); +#endif + MSDK_BREAK_ON_ERROR(sts); + + bDoNotUpdateIn = false; + + if (Params.use_extapi) { +#if (MFX_VERSION < 2000) + mfxFrameSurface1* out_surface = nullptr; + do { + sts = frameProcessor.pmfxVPP->RunFrameVPPAsyncEx(NULL, + pWorkSurf, + &out_surface, + &syncPoint); + } while (MFX_WRN_DEVICE_BUSY == sts); + + pOutSurf = static_cast(out_surface); +#endif + } + else { +#ifdef ENABLE_VPP_RUNTIME_HSBC + if (Params.rtHue.isEnabled || Params.rtSaturation.isEnabled || + Params.rtBrightness.isEnabled || Params.rtContrast.isEnabled) { + auto procAmp = pOutSurf->AddExtBuffer(); + // set default values for ProcAmp filters + procAmp->Brightness = 0.0F; + procAmp->Contrast = 1.0F; + procAmp->Hue = 0.0F; + procAmp->Saturation = 1.0F; + + if (Params.rtHue.isEnabled) { + procAmp->Hue = ((nOutFrames / Params.rtHue.interval & 0x1) == 0) + ? Params.rtHue.value1 + : Params.rtHue.value2; + } + + if (Params.rtSaturation.isEnabled) { + procAmp->Saturation = + ((nOutFrames / Params.rtSaturation.interval & 0x1) == 0) + ? Params.rtSaturation.value1 + : Params.rtSaturation.value2; + } + + if (Params.rtBrightness.isEnabled) { + procAmp->Brightness = + ((nOutFrames / Params.rtBrightness.interval & 0x1) == 0) + ? Params.rtBrightness.value1 + : Params.rtBrightness.value2; + } + + if (Params.rtContrast.isEnabled) { + procAmp->Contrast = ((nOutFrames / Params.rtContrast.interval & 0x1) == 0) + ? Params.rtContrast.value1 + : Params.rtContrast.value2; + } + } + nOutFrames++; +#endif + + sts = frameProcessor.pmfxVPP->RunFrameVPPAsync(NULL, pOutSurf, NULL, &syncPoint); + } + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_SURFACE); + MSDK_BREAK_ON_ERROR(sts); + + sts = Resources.pProcessor->mfxSession.SyncOperation(syncPoint, MSDK_VPP_WAIT_INTERVAL); + if (sts) + msdk_printf(MSDK_STRING("SyncOperation wait interval exceeded\n")); + MSDK_BREAK_ON_ERROR(sts); + + GeneralWriter* writer = (1 == Resources.dstFileWritersN) + ? &Resources.pDstFileWriters[0] + : &Resources.pDstFileWriters[paramID]; + sts = writer->PutNextFrame(Resources.pAllocator, &realFrameInfoOut, pOutSurf); + if (sts) + msdk_printf(MSDK_STRING("Failed to write frame to disk\n")); + MSDK_CHECK_NOT_EQUAL(sts, MFX_ERR_NONE, MFX_ERR_ABORTED); + + nFrames++; + + //VPP progress + if (!Params.bPerf) + msdk_printf(MSDK_STRING("Frame number: %d\r"), nFrames); + else { + if (!(nFrames % 100)) + msdk_printf(MSDK_STRING(".")); + } + } + } while (bNeedReset); + + statTimer.StopTimeMeasurement(); + + MSDK_IGNORE_MFX_STS(sts, MFX_ERR_MORE_DATA); + + // report any errors that occurred + MSDK_CHECK_STATUS_SAFE(sts, "Unexpected error", { + WipeResources(&Resources); + WipeParams(&Params); + }); + + msdk_printf(MSDK_STRING("\nVPP finished\n")); + msdk_printf(MSDK_STRING("\n")); + + msdk_printf(MSDK_STRING("Total frames %d \n"), nFrames); + msdk_printf(MSDK_STRING("Total time %.2f sec \n"), statTimer.GetTotalTime()); + msdk_printf(MSDK_STRING("Frames per second %.3f fps \n"), nFrames / statTimer.GetTotalTime()); + + PutPerformanceToFile(Params, nFrames / statTimer.GetTotalTime()); + + WipeResources(&Resources); + WipeParams(&Params); + + return 0; /* OK */ + +} // int _tmain(int argc, msdk_char *argv[]) +/* EOF */ \ No newline at end of file diff --git a/tools/legacy/sample_vpp/src/sample_vpp_config.cpp b/tools/legacy/sample_vpp/src/sample_vpp_config.cpp new file mode 100644 index 00000000..875dc4ef --- /dev/null +++ b/tools/legacy/sample_vpp/src/sample_vpp_config.cpp @@ -0,0 +1,243 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "sample_vpp_utils.h" + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +mfxStatus ConfigVideoEnhancementFilters(sInputParams* pParams, + sAppResources* pResources, + mfxU32 paramID) { + MfxVideoParamsWrapper* pVppParam = pResources->pVppParams; + mfxU32 enhFilterCount = 0; + + // [1] video enhancement algorithms can be enabled with default parameters + if (VPP_FILTER_DISABLED != pParams->denoiseParam[paramID].mode) { + pResources->tabDoUseAlg[enhFilterCount++] = MFX_EXTBUFF_VPP_DENOISE; + } +#ifdef ENABLE_MCTF + if (VPP_FILTER_ENABLED_DEFAULT == pParams->mctfParam[paramID].mode) { + pResources->tabDoUseAlg[enhFilterCount++] = MFX_EXTBUFF_VPP_MCTF; + } +#endif + if (VPP_FILTER_DISABLED != pParams->procampParam[paramID].mode) { + pResources->tabDoUseAlg[enhFilterCount++] = MFX_EXTBUFF_VPP_PROCAMP; + } + if (VPP_FILTER_DISABLED != pParams->detailParam[paramID].mode) { + pResources->tabDoUseAlg[enhFilterCount++] = MFX_EXTBUFF_VPP_DETAIL; + } + // MSDK API 2013 + if (VPP_FILTER_ENABLED_DEFAULT == pParams->istabParam[paramID].mode) { + pResources->tabDoUseAlg[enhFilterCount++] = MFX_EXTBUFF_VPP_IMAGE_STABILIZATION; + } + /*if( VPP_FILTER_DISABLED != pParams->aceParam.mode ) + { + pResources->tabDoUseAlg[enhFilterCount++] = MFX_EXTBUFF_VPP_AUTO_CONTRAST; + } + if( VPP_FILTER_DISABLED != pParams->steParam.mode ) + { + pResources->tabDoUseAlg[enhFilterCount++] = MFX_EXTBUFF_VPP_SKIN_TONE; + } + if( VPP_FILTER_DISABLED != pParams->tccParam.mode ) + { + pResources->tabDoUseAlg[enhFilterCount++] = MFX_EXTBUFF_VPP_COLOR_SATURATION_LEVEL; + }*/ + + if (enhFilterCount > 0) { + auto doUse = pVppParam->AddExtBuffer(); + doUse->NumAlg = enhFilterCount; + doUse->AlgList = pResources->tabDoUseAlg; + } + + // [2] video enhancement algorithms can be configured + if (VPP_FILTER_ENABLED_CONFIGURED == pParams->denoiseParam[paramID].mode) { + auto denoiseConfig = pVppParam->AddExtBuffer(); + denoiseConfig->DenoiseFactor = pParams->denoiseParam[paramID].factor; + } +#ifdef ENABLE_MCTF + if (VPP_FILTER_ENABLED_CONFIGURED == pParams->mctfParam[paramID].mode) { + auto mctfConfig = pVppParam->AddExtBuffer(); + mctfConfig->FilterStrength = pParams->mctfParam[paramID].params.FilterStrength; + #if defined(ENABLE_MCTF_EXT) + mctfConfig->Overlap = pParams->mctfParam[paramID].params.Overlap; + mctfConfig->TemporalMode = pParams->mctfParam[paramID].params.TemporalMode; + mctfConfig->MVPrecision = pParams->mctfParam[paramID].params.MVPrecision; + mctfConfig->BitsPerPixelx100k = pParams->mctfParam[paramID].params.BitsPerPixelx100k; + mctfConfig->Deblocking = pParams->mctfParam[paramID].params.Deblocking; + #endif + //enable the filter + } +#endif + if (VPP_FILTER_ENABLED_CONFIGURED == pParams->frcParam[paramID].mode) { + auto frcConfig = pVppParam->AddExtBuffer(); + frcConfig->Algorithm = + (mfxU16)pParams->frcParam[paramID].algorithm; //MFX_FRCALGM_DISTRIBUTED_TIMESTAMP; + } + + if (VPP_FILTER_ENABLED_CONFIGURED == pParams->videoSignalInfoParam[paramID].mode) { + auto videoSignalInfoConfig = pVppParam->AddExtBuffer(); + videoSignalInfoConfig->In = pParams->videoSignalInfoParam[paramID].In; + videoSignalInfoConfig->Out = pParams->videoSignalInfoParam[paramID].Out; + videoSignalInfoConfig->NominalRange = pParams->videoSignalInfoParam[paramID].NominalRange; + videoSignalInfoConfig->TransferMatrix = + pParams->videoSignalInfoParam[paramID].TransferMatrix; + } + + if (VPP_FILTER_ENABLED_CONFIGURED == pParams->mirroringParam[paramID].mode) { + auto mirroringConfig = pVppParam->AddExtBuffer(); + mirroringConfig->Type = pParams->mirroringParam[paramID].Type; + } + + if (VPP_FILTER_ENABLED_CONFIGURED == pParams->colorfillParam[paramID].mode) { + auto colorfillConfig = pVppParam->AddExtBuffer(); + colorfillConfig = &pParams->colorfillParam[paramID]; + } + + if (VPP_FILTER_ENABLED_CONFIGURED == pParams->procampParam[paramID].mode) { + auto procampConfig = pVppParam->AddExtBuffer(); + procampConfig->Hue = pParams->procampParam[paramID].hue; + procampConfig->Saturation = pParams->procampParam[paramID].saturation; + procampConfig->Contrast = pParams->procampParam[paramID].contrast; + procampConfig->Brightness = pParams->procampParam[paramID].brightness; + } + if (VPP_FILTER_ENABLED_CONFIGURED == pParams->detailParam[paramID].mode) { + auto detailConfig = pVppParam->AddExtBuffer(); + detailConfig->DetailFactor = pParams->detailParam[paramID].factor; + } + if (VPP_FILTER_ENABLED_CONFIGURED == pParams->deinterlaceParam[paramID].mode) { + auto deinterlaceConfig = pVppParam->AddExtBuffer(); + deinterlaceConfig->Mode = pParams->deinterlaceParam[paramID].algorithm; + deinterlaceConfig->TelecinePattern = pParams->deinterlaceParam[paramID].tc_pattern; + deinterlaceConfig->TelecineLocation = pParams->deinterlaceParam[paramID].tc_pos; + } + if (0 != pParams->rotate[paramID]) { + auto rotationConfig = pVppParam->AddExtBuffer(); + rotationConfig->Angle = pParams->rotate[paramID]; + } + if (pParams->bScaling) { + auto scalingConfig = pVppParam->AddExtBuffer(); + scalingConfig->ScalingMode = pParams->scalingMode; +#if MFX_VERSION >= 1033 + scalingConfig->InterpolationMethod = pParams->interpolationMethod; +#endif + } +#if MFX_VERSION >= 1025 + if (pParams->bChromaSiting) { + auto chromaSitingConfig = pVppParam->AddExtBuffer(); + chromaSitingConfig->ChromaSiting = pParams->uChromaSiting; + } +#endif + //if( VPP_FILTER_ENABLED_CONFIGURED == pParams->gamutParam.mode ) + //{ + // pResources->gamutConfig.Header.BufferId = MFX_EXTBUFF_VPP_GAMUT_MAPPING; + // pResources->gamutConfig.Header.BufferSz = sizeof(mfxExtVPPGamutMapping); + + // //pResources->detailConfig.DetailFactor = pParams->detailParam.factor; + // if( pParams->gamutParam.bBT709 ) + // { + // pResources->gamutConfig.InTransferMatrix = MFX_TRASNFERMATRIX_XVYCC_BT709; + // pResources->gamutConfig.OutTransferMatrix = MFX_TRANSFERMATRIX_BT709; + // } + // else + // { + // pResources->gamutConfig.InTransferMatrix = MFX_TRANSFERMATRIX_XVYCC_BT601; + // pResources->gamutConfig.OutTransferMatrix = MFX_TRANSFERMATRIX_BT601; + // } + + // pVppParam->ExtParam[pVppParam->NumExtParam++] = (mfxExtBuffer*)&(pResources->gamutConfig); + //} + // MSDK 1.5 ------------------------------------------- + //if( VPP_FILTER_ENABLED_CONFIGURED == pParams->tccParam.mode ) + //{ + // pResources->tccConfig.Header.BufferId = MFX_EXTBUFF_VPP_COLOR_SATURATION_LEVEL; + // pResources->tccConfig.Header.BufferSz = sizeof(mfxExtVPPColorSaturationLevel); + + // pResources->tccConfig.Red = pParams->tccParam.Red; + // pResources->tccConfig.Green = pParams->tccParam.Green; + // pResources->tccConfig.Blue = pParams->tccParam.Blue; + // pResources->tccConfig.Magenta = pParams->tccParam.Magenta; + // pResources->tccConfig.Yellow = pParams->tccParam.Yellow; + // pResources->tccConfig.Cyan = pParams->tccParam.Cyan; + + // pVppParam->ExtParam[pVppParam->NumExtParam++] = (mfxExtBuffer*)&(pResources->tccConfig); + //} + //if( VPP_FILTER_ENABLED_CONFIGURED == pParams->aceParam.mode ) + //{ + // // to do + //} + //if( VPP_FILTER_ENABLED_CONFIGURED == pParams->steParam.mode ) + //{ + // pResources->steConfig.Header.BufferId = MFX_EXTBUFF_VPP_SKIN_TONE; + // pResources->steConfig.Header.BufferSz = sizeof(mfxExtVPPSkinTone); + // pResources->steConfig.SkinToneFactor = pParams->steParam.SkinToneFactor; + + // pVppParam->ExtParam[pVppParam->NumExtParam++] = (mfxExtBuffer*)&(pResources->steConfig); + //} + if (VPP_FILTER_ENABLED_CONFIGURED == pParams->istabParam[paramID].mode) { + auto istabConfig = pVppParam->AddExtBuffer(); + istabConfig->Mode = pParams->istabParam[paramID].istabMode; + } + +#if (MFX_VERSION < 2000) + // ---------------------------------------------------- + // MVC + if (VPP_FILTER_ENABLED_CONFIGURED == pParams->multiViewParam[paramID].mode) { + auto multiViewConfig = pVppParam->AddExtBuffer(); + multiViewConfig->NumView = pParams->multiViewParam[paramID].viewCount; + multiViewConfig->View = + new mfxMVCViewDependency[pParams->multiViewParam[paramID].viewCount]; + + ViewGenerator viewGenerator(pParams->multiViewParam[paramID].viewCount); + + for (mfxU16 viewIndx = 0; viewIndx < pParams->multiViewParam[paramID].viewCount; + viewIndx++) { + multiViewConfig->View[viewIndx].ViewId = viewGenerator.GetNextViewID(); + } + } +#endif + + // Composition + if (VPP_FILTER_ENABLED_CONFIGURED == pParams->compositionParam.mode) { + auto compositeConfig = pVppParam->AddExtBuffer(); + compositeConfig->NumInputStream = pParams->numStreams; + compositeConfig->InputStream = new mfxVPPCompInputStream[compositeConfig->NumInputStream](); + + for (int i = 0; i < compositeConfig->NumInputStream; i++) { + compositeConfig->InputStream[i].DstX = + pParams->compositionParam.streamInfo[i].compStream.DstX; + compositeConfig->InputStream[i].DstY = + pParams->compositionParam.streamInfo[i].compStream.DstY; + compositeConfig->InputStream[i].DstW = + pParams->compositionParam.streamInfo[i].compStream.DstW; + compositeConfig->InputStream[i].DstH = + pParams->compositionParam.streamInfo[i].compStream.DstH; + if (pParams->compositionParam.streamInfo[i].compStream.GlobalAlphaEnable != 0) { + compositeConfig->InputStream[i].GlobalAlphaEnable = + pParams->compositionParam.streamInfo[i].compStream.GlobalAlphaEnable; + compositeConfig->InputStream[i].GlobalAlpha = + pParams->compositionParam.streamInfo[i].compStream.GlobalAlpha; + } + if (pParams->compositionParam.streamInfo[i].compStream.LumaKeyEnable != 0) { + compositeConfig->InputStream[i].LumaKeyEnable = + pParams->compositionParam.streamInfo[i].compStream.LumaKeyEnable; + compositeConfig->InputStream[i].LumaKeyMin = + pParams->compositionParam.streamInfo[i].compStream.LumaKeyMin; + compositeConfig->InputStream[i].LumaKeyMax = + pParams->compositionParam.streamInfo[i].compStream.LumaKeyMax; + } + if (pParams->compositionParam.streamInfo[i].compStream.PixelAlphaEnable != 0) { + compositeConfig->InputStream[i].PixelAlphaEnable = + pParams->compositionParam.streamInfo[i].compStream.PixelAlphaEnable; + } + } // for (int i = 0; i < compositeConfig->NumInputStream; i++) + } + + return MFX_ERR_NONE; + +} // mfxStatus ConfigVideoEnhancementFilters( sAppResources* pResources, mfxVideoParam* pParams ) +/* EOF */ diff --git a/tools/legacy/sample_vpp/src/sample_vpp_frc.cpp b/tools/legacy/sample_vpp/src/sample_vpp_frc.cpp new file mode 100644 index 00000000..4c36632d --- /dev/null +++ b/tools/legacy/sample_vpp/src/sample_vpp_frc.cpp @@ -0,0 +1,200 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "sample_vpp_frc.h" +#include +#include "vm/strings_defs.h" + +#define MFX_TIME_STAMP_FREQUENCY 90000 + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +static mfxI32 DI_DEEP = 2; + +FRCChecker::FRCChecker() + : m_FRateExtN_In(0), + m_FRateExtD_In(1), + m_FRateExtN_Out(0), + m_FRateExtD_Out(1), + m_FramePeriod_In(0), + m_FramePeriod_Out(0), + m_Error_In(0), + m_Error_Out(0), + m_UpperEdge(0), + m_BottomEdge(0), + m_NumFrame_In(0), + m_NumFrame_Out(0), + m_MomentError(0), + m_AverageError(0), + m_asyncDeep(0) + +{} + +mfxStatus FRCChecker::Init(mfxVideoParam* par, mfxU32 asyncDeep) { + if (!par->vpp.In.FrameRateExtD || !par->vpp.Out.FrameRateExtD) + return MFX_ERR_UNDEFINED_BEHAVIOR; + + m_FRateExtN_In = par->vpp.In.FrameRateExtN; + m_FRateExtD_In = par->vpp.In.FrameRateExtD; + + m_FRateExtN_Out = par->vpp.Out.FrameRateExtN; + m_FRateExtD_Out = par->vpp.Out.FrameRateExtD; + + m_asyncDeep = asyncDeep; + + DefinePeriods(); + DefineEdges(); + + // 10% of output period + m_Error_In = m_FramePeriod_In / 10; + m_Error_Out = m_FramePeriod_Out / 10; + + return MFX_ERR_NONE; +} + +bool FRCChecker::PutInputFrameAndCheck(mfxFrameSurface1* /*pSurface*/) { + // not enough frames for checking + + // We need to check only if fr in > fr out + if (m_FramePeriod_Out > m_FramePeriod_In) { + if (DI_DEEP > mfxI32(m_NumFrame_In - m_asyncDeep)) { + m_NumFrame_In++; + return true; + } + // Check instantaneous error + m_MomentError = m_NumFrame_Out / (m_NumFrame_In - m_asyncDeep); + if (m_MomentError > m_UpperEdge || m_MomentError < m_BottomEdge) { + PrintDumpInfoAboutMomentError(); + return false; + } + } + else if (!((m_NumFrame_In - m_asyncDeep) % m_FramePeriod_In)) // Check periods (average) error + { + if (0 == m_NumFrame_Out) { + m_NumFrame_In++; + return true; + } + mfxU32 round_counter = (m_NumFrame_In - m_asyncDeep) / m_FramePeriod_In; + m_AverageError = labs((mfxI64)m_NumFrame_Out - round_counter * m_FramePeriod_Out); + if (m_AverageError > m_Error_Out) { + PrintDumpInfoAboutAverageError(); + return false; + } + } + m_NumFrame_In++; + return true; +} + +bool FRCChecker::PutOutputFrameAndCheck(mfxFrameSurface1* /*pSurface*/) { + if (m_FramePeriod_Out < m_FramePeriod_In) { + if (0 == m_NumFrame_Out) { + m_NumFrame_Out++; + return true; + } + // Check instantaneous error + m_MomentError = (m_NumFrame_In - m_asyncDeep) / m_NumFrame_Out; + if (m_MomentError > m_UpperEdge || m_MomentError < m_BottomEdge) { + PrintDumpInfoAboutMomentError(); + return false; + } + } + else if (!(m_NumFrame_Out % m_FramePeriod_Out)) // Check periods (average) error + { + // not enough frames for checking because of deinterlacing + if (DI_DEEP > mfxI32(m_NumFrame_In - m_asyncDeep)) { + m_NumFrame_Out++; + return true; + } + mfxU32 round_counter = (m_NumFrame_Out / m_FramePeriod_Out); + m_AverageError = + labs((mfxI64)m_NumFrame_In - m_asyncDeep - round_counter * m_FramePeriod_In); + if (m_AverageError > m_Error_In) { + PrintDumpInfoAboutAverageError(); + return false; + } + } + m_NumFrame_Out++; + return true; +} + +void FRCChecker::DefinePeriods() { + mfxU32 GCD; + GCD = CalculateGCD(m_FRateExtN_In, m_FRateExtN_Out); + m_FRateExtN_In /= GCD; + m_FRateExtN_Out /= GCD; + + m_FramePeriod_In = m_FRateExtN_In * m_FRateExtD_Out; + m_FramePeriod_Out = m_FRateExtN_Out * m_FRateExtD_In; + + GCD = CalculateGCD(m_FramePeriod_In, m_FramePeriod_Out); + m_FramePeriod_In /= GCD; + m_FramePeriod_Out /= GCD; +} + +void FRCChecker::DefineEdges() { + m_BottomEdge = (m_FramePeriod_In > m_FramePeriod_Out) ? m_FramePeriod_In / m_FramePeriod_Out + : m_FramePeriod_Out / m_FramePeriod_In; + m_UpperEdge = m_BottomEdge + 1; +} + +mfxU32 FRCChecker::CalculateGCD(mfxU32 val1, mfxU32 val2) { + mfxU32 shift; + if (val1 == 0 || val2 == 0) + return val1 | val2; + + // Let shift := lg K, where K is the greatest power of 2 + // dividing both val1 and val2. + for (shift = 0; ((val1 | val2) & 1) == 0; ++shift) { + val1 >>= 1; + val2 >>= 1; + } + + while ((val1 & 1) == 0) + val1 >>= 1; + + // From here on, u is always odd. + do { + while ((val2 & 1) == 0) // Loop X + val2 >>= 1; + + // Now u and v are both odd, so diff(u, v) is even. + // Let u = min(u, v), v = diff(u, v)/2. + if (val1 < val2) { + val2 -= val1; + } + else { + mfxU32 diff = val1 - val2; + val1 = val2; + val2 = diff; + } + val2 >>= 1; + } while (val2 != 0); + + return val1 << shift; +} + +void FRCChecker::PrintDumpInfoAboutMomentError() { + msdk_printf(MSDK_STRING("Error in FRC algorithm. Moment error \n")); + msdk_printf(MSDK_STRING("Input frame number is %d\n"), m_NumFrame_In); + msdk_printf(MSDK_STRING("Output frame number is %d\n"), m_NumFrame_Out); + msdk_printf(MSDK_STRING("Upper edge, Bottom edge, Current value are: %d\t %d\t %d\n"), + m_UpperEdge, + m_BottomEdge, + m_MomentError); +} + +void FRCChecker::PrintDumpInfoAboutAverageError() { + msdk_printf(MSDK_STRING("Error in FRC algorithm. Average error \n")); + msdk_printf(MSDK_STRING("Input frame number is %d\n"), m_NumFrame_In); + msdk_printf(MSDK_STRING("Output frame number is %d\n"), m_NumFrame_Out); + msdk_printf( + MSDK_STRING("Maximum error: input FRC, output FRC, Current value are: %d\t %d\t %llu\n"), + m_Error_In, + m_Error_Out, + m_AverageError); +} diff --git a/tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp b/tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp new file mode 100644 index 00000000..3e72126e --- /dev/null +++ b/tools/legacy/sample_vpp/src/sample_vpp_frc_adv.cpp @@ -0,0 +1,194 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include "sample_vpp_frc_adv.h" +#include +#include +#include "vm/strings_defs.h" + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +static const mfxU32 MFX_TIME_STAMP_FREQUENCY = 90000; // will go to mfxdefs.h + +bool FRCAdvancedChecker::IsTimeStampsNear(mfxU64 timeStampRef, mfxU64 timeStampTst, mfxU64 eps) { + mfxU32 absDiff = abs((mfxI32)(timeStampTst - (timeStampRef))); + if (absDiff <= eps) { + return true; + } + else { + msdk_printf(MSDK_STRING("\n\nError in FRC Advanced algorithm. \n")); + + msdk_printf(MSDK_STRING("Output frame number is %d\n"), m_numOutputFrames - 1); + + int iPTS_Ref = (int)timeStampRef; + int iPTS_Tst = (int)timeStampTst; + int iAbsDiff = (int)absDiff; + int iEps = (int)eps; + + msdk_printf( + MSDK_STRING("Error: refTimeStamp, tstTimeStamp, Diff, Delta are: %d %d %u %d\n"), + iPTS_Ref, + iPTS_Tst, + iAbsDiff, + iEps); + + return false; + } + +} // bool IsTimeStampsNear( mfxU64 timeStampTst, mfxU64 timeStampRef, mfxU64 eps) + +FRCAdvancedChecker::FRCAdvancedChecker() { + m_minDeltaTime = 0; + + m_bIsSetTimeOffset = false; + + m_timeOffset = 0; + m_expectedTimeStamp = 0; + m_timeStampJump = 0; + m_numOutputFrames = 0; + + m_bReadyOutput = false; + m_defferedInputTimeStamp = 0; + + memset(&m_videoParam, 0, sizeof(m_videoParam)); +} // FRCAdvancedChecker::FRCAdvancedChecker() + +mfxStatus FRCAdvancedChecker::Init(mfxVideoParam* par, mfxU32 /*asyncDeep*/) { + m_videoParam = *par; + + uint64_t out_time = (uint64_t(m_videoParam.vpp.In.FrameRateExtD) * MFX_TIME_STAMP_FREQUENCY) / + (2 * m_videoParam.vpp.In.FrameRateExtN); + + uint64_t in_time = (uint64_t(m_videoParam.vpp.Out.FrameRateExtD) * MFX_TIME_STAMP_FREQUENCY) / + (2 * m_videoParam.vpp.Out.FrameRateExtN); + + if (out_time < in_time) { + m_minDeltaTime = out_time; + } + else { + m_minDeltaTime = in_time; + } + + return MFX_ERR_NONE; + +} // mfxStatus FRCAdvancedChecker::Init(mfxVideoParam *par, mfxU32 asyncDeep) + +bool FRCAdvancedChecker::PutInputFrameAndCheck(mfxFrameSurface1* pSurface) { + if (pSurface) { + m_ptsList.push_back(pSurface->Data.TimeStamp); + } + + return true; + +} // bool FRCAdvancedChecker::PutInputFrameAndCheck(mfxFrameSurface1* pSurface) + +bool FRCAdvancedChecker::PutOutputFrameAndCheck(mfxFrameSurface1* pSurface) { + bool res; + + if (NULL == pSurface) { + return false; + } + + mfxU64 timeStampTst = pSurface->Data.TimeStamp; + + bool bRepeatAnalysis = false; + do { + //------------------------------------------------ + // ReadyOutput + //------------------------------------------------ + if (m_bReadyOutput) { + m_expectedTimeStamp = GetExpectedPTS(m_numOutputFrames, m_timeOffset, m_timeStampJump); + + m_numOutputFrames++; + + res = IsTimeStampsNear(m_expectedTimeStamp, timeStampTst, m_minDeltaTime); + + return res; + } + else { + //------------------------------------------------ + // standard processing + //------------------------------------------------ + if (0 == m_ptsList.size()) { + if (m_numOutputFrames > 0) // last frame processing + { + m_expectedTimeStamp = + GetExpectedPTS(m_numOutputFrames, m_timeOffset, m_timeStampJump); + + m_numOutputFrames++; + + res = IsTimeStampsNear(m_expectedTimeStamp, timeStampTst, m_minDeltaTime); + + return res; + } + else { + return false; //? + } + } + + mfxU64 inputTimeStamp = m_ptsList.front(); + m_ptsList.pop_front(); + + if (false == m_bIsSetTimeOffset) { + m_bIsSetTimeOffset = true; + m_timeOffset = inputTimeStamp; + } + + m_expectedTimeStamp = GetExpectedPTS(m_numOutputFrames, m_timeOffset, m_timeStampJump); + + mfxU32 timeStampDifference = abs((mfxI32)(inputTimeStamp - m_expectedTimeStamp)); + + // process irregularity + if (m_minDeltaTime > timeStampDifference) { + inputTimeStamp = m_expectedTimeStamp; + } + + if (inputTimeStamp < m_expectedTimeStamp) { + m_bReadyOutput = false; + + // skip frame + // request new one input surface + //return MFX_ERR_MORE_DATA; + bRepeatAnalysis = true; + } + else if (inputTimeStamp == m_expectedTimeStamp) // see above (minDelta) + { + m_bReadyOutput = false; + + m_numOutputFrames++; + + res = IsTimeStampsNear(m_expectedTimeStamp, timeStampTst, m_minDeltaTime); + + return res; + } + else // inputTimeStampParam > ptr->expectedTimeStamp + { + m_numOutputFrames++; + + res = IsTimeStampsNear(m_expectedTimeStamp, timeStampTst, m_minDeltaTime); + + return res; + } + } + } while (bRepeatAnalysis); + + return false; + +} // bool FRCAdvancedChecker::PutOutputFrameAndCheck(mfxFrameSurface1* pSurface) + +mfxU64 FRCAdvancedChecker::GetExpectedPTS(mfxU32 frameNumber, mfxU64 timeOffset, mfxU64 timeJump) { + mfxU64 expectedPTS = + (((mfxU64)frameNumber * m_videoParam.vpp.Out.FrameRateExtD * MFX_TIME_STAMP_FREQUENCY) / + m_videoParam.vpp.Out.FrameRateExtN + + timeOffset + timeJump); + + return expectedPTS; + +} // mfxU64 FRCAdvancedChecker::GetExpectedPTS( mfxU32 frameNumber, mfxU64 timeOffset, mfxU64 timeJump ) + +/* EOF */ \ No newline at end of file diff --git a/tools/legacy/sample_vpp/src/sample_vpp_parser.cpp b/tools/legacy/sample_vpp/src/sample_vpp_parser.cpp new file mode 100644 index 00000000..93d75036 --- /dev/null +++ b/tools/legacy/sample_vpp/src/sample_vpp_parser.cpp @@ -0,0 +1,2293 @@ +/*############################################################################ + # Copyright (C) Intel Corporation + # + # SPDX-License-Identifier: MIT + ############################################################################*/ + +#include +#include +#include +#include +#include +#include "sample_vpp_utils.h" +#include "version.h" + +#define VAL_CHECK(val) \ + { \ + if (val) \ + return MFX_ERR_UNKNOWN; \ + } + +#ifndef MFX_VERSION + #error MFX_VERSION not defined +#endif + +void vppPrintHelp(const msdk_char *strAppName, const msdk_char *strErrorMessage) { + msdk_printf(MSDK_STRING("Intel(R) Media SDK VPP Sample version %s\n"), + GetMSDKSampleVersion().c_str()); + if (strErrorMessage) { + msdk_printf(MSDK_STRING("Error: %s\n"), strErrorMessage); + } + + msdk_printf(MSDK_STRING("Usage: %s [Options] -i InputFile -o OutputFile\n"), strAppName); + + msdk_printf(MSDK_STRING("Options: \n")); + msdk_printf( + MSDK_STRING(" [-lib type] - type of used library. sw, hw (def: sw)\n\n")); +#if defined(LINUX32) || defined(LINUX64) + msdk_printf( + MSDK_STRING(" [-device /path/to/device] - set graphics device for processing\n")); + msdk_printf( + MSDK_STRING(" For example: '-device /dev/dri/card0'\n")); + msdk_printf(MSDK_STRING( + " '-device /dev/dri/renderD128'\n")); + msdk_printf(MSDK_STRING( + " If not specified, defaults to the first Intel device found on the system\n\n")); +#endif +#if (defined(_WIN64) || defined(_WIN32)) && (MFX_VERSION >= 1031) + msdk_printf(MSDK_STRING( + " [-dGfx] - preffer processing on dGfx (by default system decides)\n")); + msdk_printf(MSDK_STRING( + " [-iGfx] - preffer processing on iGfx (by default system decides)\n")); +#endif +#if defined(D3D_SURFACES_SUPPORT) + msdk_printf(MSDK_STRING(" [-d3d] - use d3d9 surfaces\n\n")); +#endif +#if MFX_D3D11_SUPPORT + msdk_printf(MSDK_STRING(" [-d3d11] - use d3d11 surfaces\n\n")); +#endif +#ifdef LIBVA_SUPPORT + msdk_printf(MSDK_STRING(" [-vaapi] - work with vaapi surfaces\n\n")); +#endif +#if (MFX_VERSION < 2000) + msdk_printf(MSDK_STRING(" [-plugin_guid GUID]\n")); + msdk_printf( + MSDK_STRING(" [-p GUID] - use VPP plug-in with specified GUID\n\n")); +#endif + msdk_printf(MSDK_STRING( + " [-extapi] - use RunFrameVPPAsyncEx instead of RunFrameVPPAsync. Need for PTIR.\n\n")); + msdk_printf(MSDK_STRING( + " [-gpu_copy] - Specify GPU copy mode. This option triggers using of InitEX instead of Init.\n\n")); + + msdk_printf(MSDK_STRING(" [-sw width] - width of src video (def: 352)\n")); + msdk_printf(MSDK_STRING(" [-sh height] - height of src video (def: 288)\n")); + msdk_printf(MSDK_STRING(" [-scrX x] - cropX of src video (def: 0)\n")); + msdk_printf(MSDK_STRING(" [-scrY y] - cropY of src video (def: 0)\n")); + msdk_printf(MSDK_STRING(" [-scrW w] - cropW of src video (def: width)\n")); + msdk_printf( + MSDK_STRING(" [-scrH h] - cropH of src video (def: height)\n")); + msdk_printf( + MSDK_STRING(" [-sf frameRate] - frame rate of src video (def: 30.0)\n")); + msdk_printf(MSDK_STRING( + " [-scc format] - format (FourCC) of src video (def: nv12. support i420|nv12|yv12|yuy2|rgb565|rgb3|rgb4|imc3|yuv400|yuv411|yuv422h|yuv422v|yuv444|uyvy|ayuv|p010|y210|y410|p016|y216|y416)\n")); + msdk_printf(MSDK_STRING( + " [-sbitshift 0|1] - shift data to right or keep it the same way as in Microsoft's P010\n")); + msdk_printf(MSDK_STRING( + " [-sbitdepthluma value] - shift luma channel to right to \"16 - value\" bytes\n")); + msdk_printf(MSDK_STRING( + " [-sbitdepthchroma value] - shift chroma channel to right to \"16 - value\" bytes\n")); + + msdk_printf(MSDK_STRING(" [-spic value] - picture structure of src video\n")); + msdk_printf( + MSDK_STRING(" 0 - interlaced top field first\n")); + msdk_printf( + MSDK_STRING(" 2 - interlaced bottom field first\n")); + msdk_printf(MSDK_STRING(" 3 - single field\n")); + msdk_printf(MSDK_STRING(" 1 - progressive (default)\n")); + msdk_printf(MSDK_STRING(" -1 - unknown\n\n")); + + msdk_printf(MSDK_STRING(" [-dw width] - width of dst video (def: 352)\n")); + msdk_printf(MSDK_STRING(" [-dh height] - height of dst video (def: 288)\n")); + msdk_printf(MSDK_STRING(" [-dcrX x] - cropX of dst video (def: 0)\n")); + msdk_printf(MSDK_STRING(" [-dcrY y] - cropY of dst video (def: 0)\n")); + msdk_printf(MSDK_STRING(" [-dcrW w] - cropW of dst video (def: width)\n")); + msdk_printf( + MSDK_STRING(" [-dcrH h] - cropH of dst video (def: height)\n")); + msdk_printf( + MSDK_STRING(" [-df frameRate] - frame rate of dst video (def: 30.0)\n")); +#if (MFX_VERSION >= 1031) + msdk_printf(MSDK_STRING( + " [-dcc format] - format (FourCC) of dst video (def: nv12. support i420|nv12|yuy2|rgb4|rgbp|yv12|ayuv|a2rgb10|y210|y410|p016|y216|y416)\n")); +#elif (MFX_VERSION >= 1027) + msdk_printf(MSDK_STRING( + " [-dcc format] - format (FourCC) of dst video (def: nv12. support i420|nv12|yuy2|rgb4|rgbp|yv12|ayuv|a2rgb10|y210|y410)\n")); +#else + msdk_printf(MSDK_STRING( + " [-dcc format] - format (FourCC) of dst video (def: nv12. support i420|nv12|yuy2|rgb4|rgbp|yv12|ayuv|a2rgb10)\n")); +#endif + msdk_printf(MSDK_STRING( + " [-dbitshift 0|1] - shift data to right or keep it the same way as in Microsoft's P010\n")); + msdk_printf(MSDK_STRING( + " [-dbitdepthluma value] - shift luma channel to left to \"16 - value\" bytes\n")); + msdk_printf(MSDK_STRING( + " [-dbitdepthchroma value] - shift chroma channel to left to \"16 - value\" bytes\n")); + + msdk_printf(MSDK_STRING(" [-dpic value] - picture structure of dst video\n")); + msdk_printf( + MSDK_STRING(" 0 - interlaced top field first\n")); + msdk_printf( + MSDK_STRING(" 2 - interlaced bottom field first\n")); + msdk_printf(MSDK_STRING(" 3 - single field\n")); + msdk_printf(MSDK_STRING(" 1 - progressive (default)\n")); + msdk_printf(MSDK_STRING(" -1 - unknown\n\n")); + + msdk_printf(MSDK_STRING(" Video Composition\n")); + msdk_printf(MSDK_STRING( + " [-composite parameters_file] - composite several input files in one output. The syntax of the parameters file is:\n")); + msdk_printf(MSDK_STRING(" stream=