From d4942cc74c82c465ea395637c77ed06565b8b497 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Fri, 29 Jun 2018 16:09:28 -0400 Subject: [PATCH] Add Xuelin iHIFI 770/770C/800 support Taken from the xvortex fork (Roman Stolyarov) Ported, rebased, and cleaned up by myself. Change-Id: I7b2bca2d29502f2e4544e42f3d122786dd4b7978 --- apps/SOURCES | 4 + apps/keymaps/keymap-ihifi770.c | 203 +++++ apps/keymaps/keymap-ihifi800.c | 207 +++++ apps/lang/english.lang | 28 + apps/lang/russian.lang | 28 + apps/plugins/battery_bench.c | 12 + apps/plugins/blackjack.c | 32 + apps/plugins/brickmania.c | 20 + apps/plugins/calculator.c | 22 + apps/plugins/calendar.c | 20 + apps/plugins/chessbox/chessbox_pgn.h | 28 + apps/plugins/chessclock.c | 20 + apps/plugins/chip8.c | 16 + apps/plugins/chopper.c | 10 + apps/plugins/clix.c | 16 + apps/plugins/cube.c | 20 + apps/plugins/doom/i_video.c | 24 + apps/plugins/fft/fft.c | 18 + apps/plugins/flipit.c | 24 + apps/plugins/fractals/fractal.h | 24 + apps/plugins/goban/goban.h | 26 + apps/plugins/imageviewer/imageviewer_button.h | 30 + apps/plugins/invadrox.c | 16 + apps/plugins/jewels.c | 20 + apps/plugins/lib/keymaps.h | 28 +- apps/plugins/lib/pluginlib_actions.c | 31 +- apps/plugins/midi/midiplay.c | 16 + apps/plugins/minesweeper.c | 26 + apps/plugins/mp3_encoder.c | 12 + apps/plugins/mpegplayer/mpeg_settings.c | 20 + apps/plugins/mpegplayer/mpegplayer.c | 18 + apps/plugins/oscilloscope.c | 28 + apps/plugins/pacbox/pacbox.h | 21 + apps/plugins/pegbox.c | 34 + apps/plugins/pong.c | 16 + apps/plugins/reversi/reversi-gui.h | 22 + apps/plugins/rockblox.c | 24 + apps/plugins/rockboy/rockboy.c | 20 + apps/plugins/rockpaint.c | 22 + apps/plugins/sliding_puzzle.c | 18 + apps/plugins/snake.c | 16 + apps/plugins/snake2.c | 18 + apps/plugins/sokoban.c | 32 + apps/plugins/solitaire.c | 38 + apps/plugins/spacerocks.c | 18 + apps/plugins/star.c | 32 + apps/plugins/stopwatch.c | 16 + apps/plugins/sudoku/sudoku.h | 28 + apps/plugins/text_viewer/tv_button.h | 26 + apps/plugins/vu_meter.c | 22 + apps/plugins/wormlet.c | 18 + apps/plugins/xobox.c | 18 + apps/plugins/zxbox/keymaps.h | 16 + apps/plugins/zxbox/zxbox_keyb.c | 18 + apps/settings.h | 1 - apps/settings_list.c | 5 + bootloader/SOURCES | 3 +- bootloader/common.c | 3 +- firmware/SOURCES | 25 + firmware/drivers/audio/es9018.c | 134 +++ firmware/drivers/audio/wm8740.c | 106 +++ firmware/export/audiohw.h | 6 +- firmware/export/config.h | 17 +- firmware/export/config/ihifi770.h | 197 +++++ firmware/export/config/ihifi770c.h | 197 +++++ firmware/export/config/ihifi800.h | 198 +++++ firmware/export/config/rk27generic.h | 2 +- firmware/export/es9018.h | 39 + firmware/export/rk27xx.h | 5 +- firmware/export/wm8740.h | 83 ++ firmware/target/arm/rk27xx/backlight-rk27xx.c | 7 + firmware/target/arm/rk27xx/debug-rk27xx.c | 2 + .../target/arm/rk27xx/ihifi2/audio-ihifi770.c | 88 ++ .../target/arm/rk27xx/ihifi2/audio-ihifi800.c | 67 ++ .../target/arm/rk27xx/ihifi2/button-ihifi.c | 99 +++ .../target/arm/rk27xx/ihifi2/button-target.h | 50 ++ .../target/arm/rk27xx/ihifi2/lcd-ihifi770.c | 285 ++++++ .../target/arm/rk27xx/ihifi2/lcd-ihifi770c.c | 248 ++++++ .../target/arm/rk27xx/ihifi2/lcd-ihifi800.c | 228 +++++ .../target/arm/rk27xx/ihifi2/lcd-target.h | 26 + .../target/arm/rk27xx/ihifi2/power-ihifi.c | 53 ++ .../arm/rk27xx/ihifi2/powermgmt-ihifi770.c | 64 ++ .../arm/rk27xx/ihifi2/powermgmt-ihifi770c.c | 64 ++ .../arm/rk27xx/ihifi2/powermgmt-ihifi800.c | 64 ++ firmware/target/arm/rk27xx/sd-rk27xx.c | 18 +- firmware/target/arm/rk27xx/usb-drv-rk27xx.c | 809 +++++++----------- firmware/target/arm/rk27xx/usb-rk27xx.c | 14 + firmware/target/hosted/sdl/sim-ui-defines.h | 22 + tools/builds.pm | 12 + tools/configure | 80 +- uisimulator/bitmaps/UI-ihifi770.bmp | Bin 0 -> 792176 bytes uisimulator/bitmaps/UI-ihifi770c.bmp | Bin 0 -> 792176 bytes uisimulator/bitmaps/UI-ihifi800.bmp | Bin 0 -> 603056 bytes uisimulator/buttonmap/SOURCES | 2 + uisimulator/buttonmap/ihifi2.c | 90 ++ 95 files changed, 4419 insertions(+), 534 deletions(-) create mode 100644 apps/keymaps/keymap-ihifi770.c create mode 100644 apps/keymaps/keymap-ihifi800.c create mode 100644 firmware/drivers/audio/es9018.c create mode 100644 firmware/drivers/audio/wm8740.c create mode 100644 firmware/export/config/ihifi770.h create mode 100644 firmware/export/config/ihifi770c.h create mode 100644 firmware/export/config/ihifi800.h create mode 100644 firmware/export/es9018.h create mode 100644 firmware/export/wm8740.h create mode 100644 firmware/target/arm/rk27xx/ihifi2/audio-ihifi770.c create mode 100644 firmware/target/arm/rk27xx/ihifi2/audio-ihifi800.c create mode 100644 firmware/target/arm/rk27xx/ihifi2/button-ihifi.c create mode 100644 firmware/target/arm/rk27xx/ihifi2/button-target.h create mode 100644 firmware/target/arm/rk27xx/ihifi2/lcd-ihifi770.c create mode 100644 firmware/target/arm/rk27xx/ihifi2/lcd-ihifi770c.c create mode 100644 firmware/target/arm/rk27xx/ihifi2/lcd-ihifi800.c create mode 100644 firmware/target/arm/rk27xx/ihifi2/lcd-target.h create mode 100644 firmware/target/arm/rk27xx/ihifi2/power-ihifi.c create mode 100644 firmware/target/arm/rk27xx/ihifi2/powermgmt-ihifi770.c create mode 100644 firmware/target/arm/rk27xx/ihifi2/powermgmt-ihifi770c.c create mode 100644 firmware/target/arm/rk27xx/ihifi2/powermgmt-ihifi800.c create mode 100644 uisimulator/bitmaps/UI-ihifi770.bmp create mode 100644 uisimulator/bitmaps/UI-ihifi770c.bmp create mode 100644 uisimulator/bitmaps/UI-ihifi800.bmp create mode 100644 uisimulator/buttonmap/ihifi2.c diff --git a/apps/SOURCES b/apps/SOURCES index a84c01977f..67fe678287 100644 --- a/apps/SOURCES +++ b/apps/SOURCES @@ -311,6 +311,10 @@ keymaps/keymap-nwza860.c keymaps/keymap-ypz5.c #elif CONFIG_KEYPAD == IHIFI_PAD keymaps/keymap-ihifi.c +#elif CONFIG_KEYPAD == IHIFI_770_PAD +keymaps/keymap-ihifi770.c +#elif CONFIG_KEYPAD == IHIFI_800_PAD +keymaps/keymap-ihifi800.c #elif CONFIG_KEYPAD == SAMSUNG_YPR1_PAD keymaps/keymap-ypr1.c #elif CONFIG_KEYPAD == DX50_PAD diff --git a/apps/keymaps/keymap-ihifi770.c b/apps/keymaps/keymap-ihifi770.c new file mode 100644 index 0000000000..c5671bd650 --- /dev/null +++ b/apps/keymaps/keymap-ihifi770.c @@ -0,0 +1,203 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +/* Button Code Definitions for IHIFI 770/770C targets */ + +#include "config.h" +#include "action.h" +#include "button.h" +#include "settings.h" + +/* {Action Code, Button code, Prereq button code } */ + +/* + * The format of the list is as follows + * { Action Code, Button code, Prereq button code } + * if there's no need to check the previous button's value, use BUTTON_NONE + * Insert LAST_ITEM_IN_LIST at the end of each mapping + */ +static const struct button_mapping button_context_standard[] = { + { ACTION_STD_PREV, BUTTON_PREV, BUTTON_NONE }, + { ACTION_STD_PREVREPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_NEXT, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_STD_NEXTREPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + { ACTION_STD_CONTEXT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_CANCEL, BUTTON_HOME, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_standard */ + +static const struct button_mapping button_context_wps[] = { + { ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, + { ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT }, + { ACTION_WPS_SKIPNEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, + { ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT }, + { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + { ACTION_WPS_CONTEXT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_MENU, BUTTON_HOME|BUTTON_REL, BUTTON_HOME }, + { ACTION_WPS_BROWSE, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_wps */ + +static const struct button_mapping button_context_list[] = { + { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_list */ + +/** Bookmark Screen **/ +static const struct button_mapping button_context_bmark[] = { + { ACTION_BMS_DELETE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) +}; /* button_context_bmark */ + +/** Keyboard **/ +static const struct button_mapping button_context_keyboard[] = { + { ACTION_KBD_LEFT, BUTTON_HOME, BUTTON_NONE }, + { ACTION_KBD_LEFT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_UP, BUTTON_PREV, BUTTON_NONE }, + { ACTION_KBD_UP, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_DOWN, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_KBD_DOWN, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_BACKSPACE, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_KBD_BACKSPACE, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_SELECT, BUTTON_PLAY, BUTTON_NONE }, + { ACTION_KBD_DONE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, + { ACTION_KBD_ABORT, BUTTON_POWER, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_keyboard */ + +/** Pitchscreen **/ +static const struct button_mapping button_context_pitchscreen[] = { + { ACTION_PS_INC_SMALL, BUTTON_PREV, BUTTON_NONE }, + { ACTION_PS_INC_BIG, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_PS_DEC_SMALL, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_PS_DEC_BIG, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_PS_NUDGE_LEFT, BUTTON_HOME, BUTTON_NONE }, + { ACTION_PS_NUDGE_LEFTOFF, BUTTON_HOME|BUTTON_REL, BUTTON_NONE }, + { ACTION_PS_NUDGE_RIGHT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_NONE }, + { ACTION_PS_RESET, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_PS_TOGGLE_MODE, BUTTON_PLAY, BUTTON_NONE }, + { ACTION_PS_EXIT, BUTTON_POWER, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_pitchscreen */ + +/** Quickscreen **/ +static const struct button_mapping button_context_quickscreen[] = { + { ACTION_QS_TOP, BUTTON_PREV, BUTTON_NONE }, + { ACTION_QS_TOP, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_QS_DOWN, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_QS_DOWN, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_QS_LEFT, BUTTON_HOME, BUTTON_NONE }, + { ACTION_QS_LEFT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_QS_RIGHT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_QS_RIGHT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_quickscreen */ + +/** Settings - General Mappings **/ +static const struct button_mapping button_context_settings[] = { + { ACTION_STD_PREV, BUTTON_PREV, BUTTON_NONE }, + { ACTION_STD_PREVREPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_NEXT, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_STD_NEXTREPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + { ACTION_SETTINGS_RESET, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings */ + +static const struct button_mapping button_context_settings_vol_is_inc[] = { + { ACTION_SETTINGS_INC, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_SETTINGS_INCREPEAT,BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_SETTINGS_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_SETTINGS_DECREPEAT,BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings_right_is_inc */ + +/** Tree **/ +static const struct button_mapping button_context_tree[] = { + { ACTION_TREE_WPS, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) +}; /* button_context_tree */ + +/** Yes/No Screen **/ +static const struct button_mapping button_context_yesnoscreen[] = { + { ACTION_YESNO_ACCEPT, BUTTON_PLAY, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings_yesnoscreen */ + +/* get_context_mapping returns a pointer to one of the above defined arrays depending on the context */ +const struct button_mapping* get_context_mapping(int context) +{ + switch (context) + { + case CONTEXT_LIST: + return button_context_list; + case CONTEXT_STD: + return button_context_standard; + case CONTEXT_BOOKMARKSCREEN: + return button_context_bmark; + case CONTEXT_KEYBOARD: + return button_context_keyboard; + case CONTEXT_PITCHSCREEN: + return button_context_pitchscreen; + case CONTEXT_QUICKSCREEN: + return button_context_quickscreen; + case CONTEXT_SETTINGS: + return button_context_settings; + case CONTEXT_SETTINGS_TIME: + case CONTEXT_SETTINGS_COLOURCHOOSER: + case CONTEXT_SETTINGS_EQ: + case CONTEXT_SETTINGS_RECTRIGGER: + return button_context_settings_vol_is_inc; + case CONTEXT_TREE: + case CONTEXT_MAINMENU: + return button_context_tree; + case CONTEXT_WPS: + return button_context_wps; + case CONTEXT_YESNOSCREEN: + return button_context_yesnoscreen; + } + return button_context_standard; +} diff --git a/apps/keymaps/keymap-ihifi800.c b/apps/keymaps/keymap-ihifi800.c new file mode 100644 index 0000000000..b56bd018eb --- /dev/null +++ b/apps/keymaps/keymap-ihifi800.c @@ -0,0 +1,207 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +/* TODO */ + +/* Button Code Definitions for IHIFI 800 targets */ + +#include "config.h" +#include "action.h" +#include "button.h" +#include "settings.h" + +/* {Action Code, Button code, Prereq button code } */ + +/* + * The format of the list is as follows + * { Action Code, Button code, Prereq button code } + * if there's no need to check the previous button's value, use BUTTON_NONE + * Insert LAST_ITEM_IN_LIST at the end of each mapping + */ +static const struct button_mapping button_context_standard[] = { + { ACTION_STD_PREV, BUTTON_PREV, BUTTON_NONE }, + { ACTION_STD_PREVREPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_NEXT, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_STD_NEXTREPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_OK, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, + { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + { ACTION_STD_CONTEXT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_CANCEL, BUTTON_HOME, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_standard */ + +static const struct button_mapping button_context_wps[] = { + { ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV }, + { ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT }, + { ACTION_WPS_SKIPNEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT }, + { ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT }, + { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + { ACTION_WPS_QUICKSCREEN, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, + { ACTION_WPS_CONTEXT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_MENU, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, + { ACTION_WPS_BROWSE, BUTTON_HOME|BUTTON_REL, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_wps */ + +static const struct button_mapping button_context_list[] = { + { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_list */ + +/** Bookmark Screen **/ +static const struct button_mapping button_context_bmark[] = { + { ACTION_BMS_DELETE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) +}; /* button_context_bmark */ + +/** Keyboard **/ +static const struct button_mapping button_context_keyboard[] = { + { ACTION_KBD_ABORT, BUTTON_HOME, BUTTON_NONE }, + { ACTION_KBD_BACKSPACE, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_LEFT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_KBD_LEFT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_UP, BUTTON_PREV, BUTTON_NONE }, + { ACTION_KBD_UP, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_DOWN, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_KBD_DOWN, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_SELECT, BUTTON_PLAY, BUTTON_NONE }, + { ACTION_KBD_DONE, BUTTON_POWER, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_keyboard */ + +/** Pitchscreen **/ +static const struct button_mapping button_context_pitchscreen[] = { + { ACTION_PS_INC_SMALL, BUTTON_PREV, BUTTON_NONE }, + { ACTION_PS_INC_BIG, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_PS_DEC_SMALL, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_PS_DEC_BIG, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_PS_NUDGE_LEFT, BUTTON_HOME, BUTTON_NONE }, + { ACTION_PS_NUDGE_LEFTOFF, BUTTON_HOME|BUTTON_REL, BUTTON_NONE }, + { ACTION_PS_NUDGE_RIGHT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_NONE }, + { ACTION_PS_RESET, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_PS_TOGGLE_MODE, BUTTON_PLAY, BUTTON_NONE }, + { ACTION_PS_EXIT, BUTTON_POWER, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_pitchscreen */ + +/** Quickscreen **/ +static const struct button_mapping button_context_quickscreen[] = { + { ACTION_QS_TOP, BUTTON_PREV, BUTTON_NONE }, + { ACTION_QS_TOP, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_QS_DOWN, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_QS_DOWN, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_QS_LEFT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_QS_LEFT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_QS_RIGHT, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_QS_RIGHT, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_CANCEL, BUTTON_HOME, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_quickscreen */ + +/** Settings - General Mappings **/ +static const struct button_mapping button_context_settings[] = { + { ACTION_STD_PREV, BUTTON_PREV, BUTTON_NONE }, + { ACTION_STD_PREVREPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_NEXT, BUTTON_NEXT, BUTTON_NONE }, + { ACTION_STD_NEXTREPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_OK, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, + { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + { ACTION_SETTINGS_RESET, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings */ + +static const struct button_mapping button_context_settings_vol_is_inc[] = { + { ACTION_SETTINGS_INC, BUTTON_VOL_UP, BUTTON_NONE }, + { ACTION_SETTINGS_INCREPEAT,BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_SETTINGS_DEC, BUTTON_VOL_DOWN, BUTTON_NONE }, + { ACTION_SETTINGS_DECREPEAT,BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings_right_is_inc */ + +/** Tree **/ +static const struct button_mapping button_context_tree[] = { + { ACTION_TREE_WPS, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) +}; /* button_context_tree */ + +/** Yes/No Screen **/ +static const struct button_mapping button_context_yesnoscreen[] = { + { ACTION_YESNO_ACCEPT, BUTTON_PLAY, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings_yesnoscreen */ + +/* get_context_mapping returns a pointer to one of the above defined arrays depending on the context */ +const struct button_mapping* get_context_mapping(int context) +{ + switch (context) + { + case CONTEXT_LIST: + return button_context_list; + case CONTEXT_STD: + return button_context_standard; + case CONTEXT_BOOKMARKSCREEN: + return button_context_bmark; + case CONTEXT_KEYBOARD: + return button_context_keyboard; + case CONTEXT_PITCHSCREEN: + return button_context_pitchscreen; + case CONTEXT_QUICKSCREEN: + return button_context_quickscreen; + case CONTEXT_SETTINGS: + return button_context_settings; + case CONTEXT_SETTINGS_TIME: + case CONTEXT_SETTINGS_COLOURCHOOSER: + case CONTEXT_SETTINGS_EQ: + case CONTEXT_SETTINGS_RECTRIGGER: + return button_context_settings_vol_is_inc; + case CONTEXT_TREE: + case CONTEXT_MAINMENU: + return button_context_tree; + case CONTEXT_WPS: + return button_context_wps; + case CONTEXT_YESNOSCREEN: + return button_context_yesnoscreen; + } + return button_context_standard; +} diff --git a/apps/lang/english.lang b/apps/lang/english.lang index a2a23d0627..ed1cadfb9e 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang @@ -13229,6 +13229,34 @@ *: "Slow" + + id: LANG_FILTER_SHORT + desc: in sound settings + user: core + + *: "Short" + + + *: "Short" + + + *: "Short" + + + + id: LANG_FILTER_BYPASS + desc: in sound settings + user: core + + *: "Bypass" + + + *: "Bypass" + + + *: "Bypass" + + id: LANG_VOLUME_LIMIT desc: in sound_settings diff --git a/apps/lang/russian.lang b/apps/lang/russian.lang index 42551ae26e..e744542e1c 100644 --- a/apps/lang/russian.lang +++ b/apps/lang/russian.lang @@ -13137,6 +13137,34 @@ *: "Sharp" + + id: LANG_FILTER_SHORT + desc: in sound settings + user: core + + *: "Short" + + + *: "Short" + + + *: "Short" + + + + id: LANG_FILTER_BYPASS + desc: in sound settings + user: core + + *: "Bypass" + + + *: "Bypass" + + + *: "Bypass" + + id: LANG_COMPRESSOR_ATTACK desc: in sound settings diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c index 9a48ef2fdb..13f01d7867 100644 --- a/apps/plugins/battery_bench.c +++ b/apps/plugins/battery_bench.c @@ -285,6 +285,18 @@ #define BATTERY_ON_TXT "PLAY - start" #define BATTERY_OFF_TXT "POWER" +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define BATTERY_ON BUTTON_PLAY +#define BATTERY_OFF BUTTON_POWER +#define BATTERY_ON_TXT "PLAY - start" +#define BATTERY_OFF_TXT "POWER" + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define BATTERY_ON BUTTON_PLAY +#define BATTERY_OFF BUTTON_POWER +#define BATTERY_ON_TXT "PLAY - start" +#define BATTERY_OFF_TXT "POWER" + #else #error No keymap defined! #endif diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c index 6c3e487bf2..27881bf6e9 100644 --- a/apps/plugins/blackjack.c +++ b/apps/plugins/blackjack.c @@ -589,6 +589,38 @@ enum { #define BJACK_RIGHT BUTTON_NEXT #define BJACK_LEFT BUTTON_PREV +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define BJACK_SELECT_NAME "PLAY" +#define BJACK_STAY_NAME "NEXT" +#define BJACK_QUIT_NAME "POWER" +#define BJACK_DOUBLE_NAME "PREV" +#define BJACK_SELECT BUTTON_PLAY +#define BJACK_QUIT BUTTON_POWER +#define BJACK_MAX BUTTON_VOL_UP +#define BJACK_MIN BUTTON_VOL_DOWN +#define BJACK_STAY BUTTON_NEXT +#define BJACK_DOUBLEDOWN BUTTON_PREV +#define BJACK_UP BUTTON_HOME +#define BJACK_DOWN (BUTTON_POWER | BUTTON_HOME) +#define BJACK_RIGHT BUTTON_NEXT +#define BJACK_LEFT BUTTON_PREV + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define BJACK_SELECT_NAME "PLAY" +#define BJACK_STAY_NAME "NEXT" +#define BJACK_QUIT_NAME "POWER" +#define BJACK_DOUBLE_NAME "PREV" +#define BJACK_SELECT BUTTON_PLAY +#define BJACK_QUIT BUTTON_POWER +#define BJACK_MAX BUTTON_VOL_UP +#define BJACK_MIN BUTTON_VOL_DOWN +#define BJACK_STAY BUTTON_NEXT +#define BJACK_DOUBLEDOWN BUTTON_PREV +#define BJACK_UP BUTTON_HOME +#define BJACK_DOWN (BUTTON_POWER | BUTTON_HOME) +#define BJACK_RIGHT BUTTON_NEXT +#define BJACK_LEFT BUTTON_PREV + #else #error No keymap defined! #endif diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c index 24c6fab613..f7c9f9adf2 100644 --- a/apps/plugins/brickmania.c +++ b/apps/plugins/brickmania.c @@ -342,6 +342,26 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD #define UP BUTTON_HOME #define DOWN BUTTON_OPTION +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define QUIT BUTTON_POWER +#define LEFT BUTTON_HOME +#define RIGHT BUTTON_VOL_DOWN +#define ALTLEFT (BUTTON_POWER | BUTTON_HOME) +#define ALTRIGHT (BUTTON_POWER | BUTTON_VOL_UP) +#define SELECT BUTTON_PLAY +#define UP BUTTON_PREV +#define DOWN BUTTON_NEXT + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define QUIT BUTTON_POWER +#define LEFT BUTTON_HOME +#define RIGHT BUTTON_VOL_DOWN +#define ALTLEFT (BUTTON_POWER | BUTTON_HOME) +#define ALTRIGHT (BUTTON_POWER | BUTTON_VOL_UP) +#define SELECT BUTTON_PLAY +#define UP BUTTON_PREV +#define DOWN BUTTON_NEXT + #else #error No keymap defined! #endif diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c index f10bca66ec..a4a29ff6ac 100644 --- a/apps/plugins/calculator.c +++ b/apps/plugins/calculator.c @@ -536,6 +536,28 @@ F3: equal to "=" #define CALCULATOR_CALC (BUTTON_PLAY|BUTTON_REPEAT) #define CALCULATOR_CLEAR (BUTTON_POWER|BUTTON_REPEAT) +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define CALCULATOR_LEFT BUTTON_HOME +#define CALCULATOR_RIGHT BUTTON_VOL_DOWN +#define CALCULATOR_UP BUTTON_PREV +#define CALCULATOR_DOWN BUTTON_NEXT +#define CALCULATOR_QUIT BUTTON_POWER +#define CALCULATOR_INPUT_CALC_PRE (BUTTON_HOME|BUTTON_REPEAT) +#define CALCULATOR_INPUT (BUTTON_PLAY|BUTTON_REL) +#define CALCULATOR_CALC (BUTTON_PLAY|BUTTON_REPEAT) +#define CALCULATOR_CLEAR (BUTTON_POWER|BUTTON_REPEAT) + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define CALCULATOR_LEFT BUTTON_HOME +#define CALCULATOR_RIGHT BUTTON_VOL_DOWN +#define CALCULATOR_UP BUTTON_PREV +#define CALCULATOR_DOWN BUTTON_NEXT +#define CALCULATOR_QUIT BUTTON_POWER +#define CALCULATOR_INPUT_CALC_PRE (BUTTON_HOME|BUTTON_REPEAT) +#define CALCULATOR_INPUT (BUTTON_PLAY|BUTTON_REL) +#define CALCULATOR_CALC (BUTTON_PLAY|BUTTON_REPEAT) +#define CALCULATOR_CLEAR (BUTTON_POWER|BUTTON_REPEAT) + #else #error No keymap defined! #endif diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c index 74ee49904b..56f9bde193 100644 --- a/apps/plugins/calendar.c +++ b/apps/plugins/calendar.c @@ -423,6 +423,26 @@ #define CALENDAR_NEXT_MONTH BUTTON_VOL_UP #define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define CALENDAR_QUIT BUTTON_POWER +#define CALENDAR_SELECT BUTTON_PLAY +#define CALENDAR_NEXT_WEEK (BUTTON_POWER | BUTTON_VOL_DOWN) +#define CALENDAR_PREV_WEEK (BUTTON_POWER | BUTTON_VOL_UP) +#define CALENDAR_NEXT_DAY BUTTON_NEXT +#define CALENDAR_PREV_DAY BUTTON_PREV +#define CALENDAR_NEXT_MONTH BUTTON_VOL_DOWN +#define CALENDAR_PREV_MONTH BUTTON_VOL_UP + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define CALENDAR_QUIT BUTTON_POWER +#define CALENDAR_SELECT BUTTON_PLAY +#define CALENDAR_NEXT_WEEK (BUTTON_POWER | BUTTON_VOL_DOWN) +#define CALENDAR_PREV_WEEK (BUTTON_POWER | BUTTON_VOL_UP) +#define CALENDAR_NEXT_DAY BUTTON_NEXT +#define CALENDAR_PREV_DAY BUTTON_PREV +#define CALENDAR_NEXT_MONTH BUTTON_VOL_DOWN +#define CALENDAR_PREV_MONTH BUTTON_VOL_UP + #else #error "No keypad setting." #endif diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h index 8f3032fe15..1159d0c7d1 100644 --- a/apps/plugins/chessbox/chessbox_pgn.h +++ b/apps/plugins/chessbox/chessbox_pgn.h @@ -572,6 +572,34 @@ #define CB_SCROLL_LEFT (BUTTON_PREV|BUTTON_REPEAT) #define CB_SCROLL_RIGHT (BUTTON_NEXT|BUTTON_REPEAT) +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define CB_SELECT BUTTON_PLAY +#define CB_UP BUTTON_PREV +#define CB_DOWN BUTTON_NEXT +#define CB_LEFT BUTTON_HOME +#define CB_RIGHT BUTTON_VOL_DOWN +#define CB_PLAY BUTTON_VOL_UP +#define CB_LEVEL (BUTTON_PLAY|BUTTON_REPEAT) +#define CB_MENU BUTTON_POWER +#define CB_SCROLL_UP (BUTTON_PREV|BUTTON_REPEAT) +#define CB_SCROLL_DOWN (BUTTON_NEXT|BUTTON_REPEAT) +#define CB_SCROLL_LEFT (BUTTON_HOME|BUTTON_REPEAT) +#define CB_SCROLL_RIGHT (BUTTON_VOL_UP|BUTTON_REPEAT) + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define CB_SELECT BUTTON_PLAY +#define CB_UP BUTTON_PREV +#define CB_DOWN BUTTON_NEXT +#define CB_LEFT BUTTON_HOME +#define CB_RIGHT BUTTON_VOL_DOWN +#define CB_PLAY BUTTON_VOL_UP +#define CB_LEVEL (BUTTON_PLAY|BUTTON_REPEAT) +#define CB_MENU BUTTON_POWER +#define CB_SCROLL_UP (BUTTON_PREV|BUTTON_REPEAT) +#define CB_SCROLL_DOWN (BUTTON_NEXT|BUTTON_REPEAT) +#define CB_SCROLL_LEFT (BUTTON_HOME|BUTTON_REPEAT) +#define CB_SCROLL_RIGHT (BUTTON_VOL_UP|BUTTON_REPEAT) + #else #error No keymap defined! #endif diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c index ae7889ed95..6b07e1bab5 100644 --- a/apps/plugins/chessclock.c +++ b/apps/plugins/chessclock.c @@ -422,6 +422,26 @@ #define CHC_SETTINGS_OK BUTTON_PLAY #define CHC_SETTINGS_CANCEL BUTTON_POWER +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define CHC_QUIT BUTTON_POWER +#define CHC_STARTSTOP BUTTON_PLAY +#define CHC_RESET (BUTTON_PLAY|BUTTON_REPEAT) +#define CHC_MENU BUTTON_HOME +#define CHC_SETTINGS_INC BUTTON_VOL_UP +#define CHC_SETTINGS_DEC BUTTON_VOL_DOWN +#define CHC_SETTINGS_OK BUTTON_PLAY +#define CHC_SETTINGS_CANCEL BUTTON_HOME + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define CHC_QUIT BUTTON_POWER +#define CHC_STARTSTOP BUTTON_PLAY +#define CHC_RESET (BUTTON_PLAY|BUTTON_REPEAT) +#define CHC_MENU BUTTON_HOME +#define CHC_SETTINGS_INC BUTTON_VOL_UP +#define CHC_SETTINGS_DEC BUTTON_VOL_DOWN +#define CHC_SETTINGS_OK BUTTON_PLAY +#define CHC_SETTINGS_CANCEL BUTTON_HOME + #else #error No keymap defined! #endif diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c index 153558667e..58d80a2ccf 100644 --- a/apps/plugins/chip8.c +++ b/apps/plugins/chip8.c @@ -1291,6 +1291,22 @@ CONFIG_KEYPAD == MROBE500_PAD #define CHIP8_KEY6 BUTTON_NEXT #define CHIP8_KEY8 BUTTON_OPTION +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define CHIP8_OFF BUTTON_POWER +#define CHIP8_KEY2 BUTTON_NEXT +#define CHIP8_KEY4 BUTTON_HOME +#define CHIP8_KEY5 BUTTON_VOL_UP +#define CHIP8_KEY6 BUTTON_VOL_DOWN +#define CHIP8_KEY8 BUTTON_PREV + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define CHIP8_OFF BUTTON_POWER +#define CHIP8_KEY2 BUTTON_NEXT +#define CHIP8_KEY4 BUTTON_HOME +#define CHIP8_KEY5 BUTTON_VOL_UP +#define CHIP8_KEY6 BUTTON_VOL_DOWN +#define CHIP8_KEY8 BUTTON_PREV + #else #error No keymap defined! #endif diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c index 1732a16ecb..249cfe9715 100644 --- a/apps/plugins/chopper.c +++ b/apps/plugins/chopper.c @@ -214,6 +214,16 @@ CONFIG_KEYPAD == MROBE500_PAD #define ACTION BUTTON_PLAY #define ACTIONTEXT "PLAY" +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define QUIT BUTTON_POWER +#define ACTION BUTTON_PLAY +#define ACTIONTEXT "PLAY" + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define QUIT BUTTON_POWER +#define ACTION BUTTON_PLAY +#define ACTIONTEXT "PLAY" + #elif !defined(HAVE_TOUCHSCREEN) #error No keymap defined! #endif diff --git a/apps/plugins/clix.c b/apps/plugins/clix.c index b2580a1630..c6364b14b4 100644 --- a/apps/plugins/clix.c +++ b/apps/plugins/clix.c @@ -284,6 +284,22 @@ #define CLIX_BUTTON_RIGHT BUTTON_NEXT #define CLIX_BUTTON_CLICK BUTTON_PLAY +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define CLIX_BUTTON_QUIT BUTTON_POWER +#define CLIX_BUTTON_UP BUTTON_PREV +#define CLIX_BUTTON_DOWN BUTTON_NEXT +#define CLIX_BUTTON_LEFT BUTTON_HOME +#define CLIX_BUTTON_RIGHT BUTTON_VOL_DOWN +#define CLIX_BUTTON_CLICK BUTTON_VOL_UP + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define CLIX_BUTTON_QUIT BUTTON_POWER +#define CLIX_BUTTON_UP BUTTON_PREV +#define CLIX_BUTTON_DOWN BUTTON_NEXT +#define CLIX_BUTTON_LEFT BUTTON_HOME +#define CLIX_BUTTON_RIGHT BUTTON_VOL_DOWN +#define CLIX_BUTTON_CLICK BUTTON_VOL_UP + #else #error "no keymap" #endif diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c index 9a67c337d1..cad57f9ed6 100644 --- a/apps/plugins/cube.c +++ b/apps/plugins/cube.c @@ -423,6 +423,26 @@ #define CUBE_PAUSE BUTTON_HOME #define CUBE_HIGHSPEED BUTTON_PLAY +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) +#define CUBE_QUIT BUTTON_POWER +#define CUBE_NEXT BUTTON_NEXT +#define CUBE_PREV BUTTON_PREV +#define CUBE_INC BUTTON_VOL_UP +#define CUBE_DEC BUTTON_VOL_DOWN +#define CUBE_MODE (BUTTON_HOME | BUTTON_POWER) +#define CUBE_PAUSE BUTTON_HOME +#define CUBE_HIGHSPEED BUTTON_PLAY + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +#define CUBE_QUIT BUTTON_POWER +#define CUBE_NEXT BUTTON_NEXT +#define CUBE_PREV BUTTON_PREV +#define CUBE_INC BUTTON_VOL_UP +#define CUBE_DEC BUTTON_VOL_DOWN +#define CUBE_MODE (BUTTON_HOME | BUTTON_POWER) +#define CUBE_PAUSE BUTTON_HOME +#define CUBE_HIGHSPEED BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c index d734e1e12b..41194670bf 100644 --- a/apps/plugins/doom/i_video.c +++ b/apps/plugins/doom/i_video.c @@ -566,6 +566,30 @@ void I_ShutdownGraphics(void) #define DOOMBUTTON_ENTER BUTTON_PLAY #define DOOMBUTTON_WEAPON BUTTON_VOL_UP +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define DOOMBUTTON_UP BUTTON_PREV +#define DOOMBUTTON_DOWN BUTTON_NEXT +#define DOOMBUTTON_LEFT BUTTON_HOME +#define DOOMBUTTON_RIGHT BUTTON_VOL_DOWN +#define DOOMBUTTON_OPEN BUTTON_PLAY +#define DOOMBUTTON_ESC BUTTON_POWER +#define DOOMBUTTON_ENTER BUTTON_VOL_UP +#define DOOMBUTTON_SHOOT BUTTON_VOL_UP +#define DOOMBUTTON_WEAPON (BUTTON_PLAY|BUTTON_REPEAT) +#define DOOMBUTTON_MAP (BUTTON_POWER|BUTTON_REPEAT) + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define DOOMBUTTON_UP BUTTON_PREV +#define DOOMBUTTON_DOWN BUTTON_NEXT +#define DOOMBUTTON_LEFT BUTTON_HOME +#define DOOMBUTTON_RIGHT BUTTON_VOL_DOWN +#define DOOMBUTTON_OPEN BUTTON_PLAY +#define DOOMBUTTON_ESC BUTTON_POWER +#define DOOMBUTTON_ENTER BUTTON_VOL_UP +#define DOOMBUTTON_SHOOT BUTTON_VOL_UP +#define DOOMBUTTON_WEAPON (BUTTON_PLAY|BUTTON_REPEAT) +#define DOOMBUTTON_MAP (BUTTON_POWER|BUTTON_REPEAT) + #else #error Keymap not defined! #endif diff --git a/apps/plugins/fft/fft.c b/apps/plugins/fft/fft.c index e5750c109a..d56e37f9e2 100644 --- a/apps/plugins/fft/fft.c +++ b/apps/plugins/fft/fft.c @@ -343,6 +343,24 @@ GREY_INFO_STRUCT # define FFT_AMP_SCALE BUTTON_PLAY # define FFT_QUIT BUTTON_POWER +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) +# define FFT_PREV_GRAPH BUTTON_PREV +# define FFT_NEXT_GRAPH BUTTON_NEXT +# define FFT_ORIENTATION BUTTON_HOME +# define FFT_FREQ_SCALE BUTTON_VOL_UP +# define FFT_WINDOW BUTTON_VOL_DOWN +# define FFT_AMP_SCALE BUTTON_PLAY +# define FFT_QUIT BUTTON_POWER + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +# define FFT_PREV_GRAPH BUTTON_PREV +# define FFT_NEXT_GRAPH BUTTON_NEXT +# define FFT_ORIENTATION BUTTON_HOME +# define FFT_FREQ_SCALE BUTTON_VOL_UP +# define FFT_WINDOW BUTTON_VOL_DOWN +# define FFT_AMP_SCALE BUTTON_PLAY +# define FFT_QUIT BUTTON_POWER + #elif !defined(HAVE_TOUCHSCREEN) #error No keymap defined! #endif diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c index b089974aef..c108939a95 100644 --- a/apps/plugins/flipit.c +++ b/apps/plugins/flipit.c @@ -494,6 +494,30 @@ #define FLIPIT_STEP_BY_STEP (BUTTON_HOME | BUTTON_PLAY) #define FLIPIT_TOGGLE BUTTON_PLAY +#elif CONFIG_KEYPAD == IHIFI_770_PAD + +#define FLIPIT_LEFT BUTTON_HOME +#define FLIPIT_RIGHT BUTTON_VOL_DOWN +#define FLIPIT_UP BUTTON_PREV +#define FLIPIT_DOWN BUTTON_NEXT +#define FLIPIT_QUIT BUTTON_POWER +#define FLIPIT_SHUFFLE (BUTTON_POWER | BUTTON_PREV) +#define FLIPIT_SOLVE (BUTTON_POWER | BUTTON_NEXT) +#define FLIPIT_STEP_BY_STEP (BUTTON_POWER | BUTTON_PLAY) +#define FLIPIT_TOGGLE BUTTON_PLAY + +#elif CONFIG_KEYPAD == IHIFI_800_PAD + +#define FLIPIT_LEFT BUTTON_HOME +#define FLIPIT_RIGHT BUTTON_VOL_DOWN +#define FLIPIT_UP BUTTON_PREV +#define FLIPIT_DOWN BUTTON_NEXT +#define FLIPIT_QUIT BUTTON_POWER +#define FLIPIT_SHUFFLE (BUTTON_POWER | BUTTON_PREV) +#define FLIPIT_SOLVE (BUTTON_POWER | BUTTON_NEXT) +#define FLIPIT_STEP_BY_STEP (BUTTON_POWER | BUTTON_PLAY) +#define FLIPIT_TOGGLE BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/fractals/fractal.h b/apps/plugins/fractals/fractal.h index ed6be31695..5a56a39b13 100644 --- a/apps/plugins/fractals/fractal.h +++ b/apps/plugins/fractals/fractal.h @@ -496,6 +496,30 @@ #define FRACTAL_PRECISION_DEC (BUTTON_PLAY | BUTTON_PREV) #define FRACTAL_RESET (BUTTON_HOME | BUTTON_POWER) +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define FRACTAL_QUIT BUTTON_POWER +#define FRACTAL_UP BUTTON_PREV +#define FRACTAL_DOWN BUTTON_NEXT +#define FRACTAL_LEFT BUTTON_HOME +#define FRACTAL_RIGHT BUTTON_VOL_DOWN +#define FRACTAL_ZOOM_IN (BUTTON_POWER | BUTTON_VOL_UP) +#define FRACTAL_ZOOM_OUT (BUTTON_POWER | BUTTON_VOL_DOWN) +#define FRACTAL_PRECISION_INC (BUTTON_POWER | BUTTON_NEXT) +#define FRACTAL_PRECISION_DEC (BUTTON_POWER | BUTTON_PREV) +#define FRACTAL_RESET (BUTTON_POWER | BUTTON_HOME) + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define FRACTAL_QUIT BUTTON_POWER +#define FRACTAL_UP BUTTON_PREV +#define FRACTAL_DOWN BUTTON_NEXT +#define FRACTAL_LEFT BUTTON_HOME +#define FRACTAL_RIGHT BUTTON_VOL_DOWN +#define FRACTAL_ZOOM_IN (BUTTON_POWER | BUTTON_VOL_UP) +#define FRACTAL_ZOOM_OUT (BUTTON_POWER | BUTTON_VOL_DOWN) +#define FRACTAL_PRECISION_INC (BUTTON_POWER | BUTTON_NEXT) +#define FRACTAL_PRECISION_DEC (BUTTON_POWER | BUTTON_PREV) +#define FRACTAL_RESET (BUTTON_POWER | BUTTON_HOME) + #else #error No keymap defined! #endif diff --git a/apps/plugins/goban/goban.h b/apps/plugins/goban/goban.h index d1d66e3535..9f03937078 100644 --- a/apps/plugins/goban/goban.h +++ b/apps/plugins/goban/goban.h @@ -464,6 +464,32 @@ #define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT #define GBN_BUTTON_NEXT_VAR BUTTON_HOME | BUTTON_POWER +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) + +#define GBN_BUTTON_UP BUTTON_PREV +#define GBN_BUTTON_DOWN BUTTON_NEXT +#define GBN_BUTTON_LEFT BUTTON_HOME +#define GBN_BUTTON_RIGHT BUTTON_VOL_DOWN +#define GBN_BUTTON_RETREAT BUTTON_POWER | BUTTON_VOL_DOWN +#define GBN_BUTTON_ADVANCE BUTTON_POWER | BUTTON_VOL_UP +#define GBN_BUTTON_MENU BUTTON_POWER +#define GBN_BUTTON_PLAY BUTTON_PLAY | BUTTON_REL +#define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT +#define GBN_BUTTON_NEXT_VAR BUTTON_POWER | BUTTON_HOME + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) + +#define GBN_BUTTON_UP BUTTON_PREV +#define GBN_BUTTON_DOWN BUTTON_NEXT +#define GBN_BUTTON_LEFT BUTTON_HOME +#define GBN_BUTTON_RIGHT BUTTON_VOL_DOWN +#define GBN_BUTTON_RETREAT BUTTON_POWER | BUTTON_VOL_DOWN +#define GBN_BUTTON_ADVANCE BUTTON_POWER | BUTTON_VOL_UP +#define GBN_BUTTON_MENU BUTTON_POWER +#define GBN_BUTTON_PLAY BUTTON_PLAY | BUTTON_REL +#define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT +#define GBN_BUTTON_NEXT_VAR BUTTON_POWER | BUTTON_HOME + #else #error Unsupported keypad #endif diff --git a/apps/plugins/imageviewer/imageviewer_button.h b/apps/plugins/imageviewer/imageviewer_button.h index 2f349b1a24..5ffef12a62 100644 --- a/apps/plugins/imageviewer/imageviewer_button.h +++ b/apps/plugins/imageviewer/imageviewer_button.h @@ -510,6 +510,36 @@ #define IMGVIEW_MENU BUTTON_POWER #define IMGVIEW_SLIDE_SHOW (BUTTON_HOME|BUTTON_POWER) +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define IMGVIEW_ZOOM_PRE BUTTON_PLAY +#define IMGVIEW_ZOOM_IN (BUTTON_PLAY | BUTTON_REL) +#define IMGVIEW_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT) +#define IMGVIEW_UP BUTTON_PREV +#define IMGVIEW_DOWN BUTTON_NEXT +#define IMGVIEW_LEFT BUTTON_HOME +#define IMGVIEW_RIGHT (BUTTON_PLAY|BUTTON_POWER) +#define IMGVIEW_NEXT BUTTON_VOL_UP +#define IMGVIEW_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT) +#define IMGVIEW_PREVIOUS BUTTON_VOL_DOWN +#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT) +#define IMGVIEW_MENU BUTTON_POWER +#define IMGVIEW_SLIDE_SHOW (BUTTON_HOME|BUTTON_POWER) + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define IMGVIEW_ZOOM_PRE BUTTON_PLAY +#define IMGVIEW_ZOOM_IN (BUTTON_PLAY | BUTTON_REL) +#define IMGVIEW_ZOOM_OUT (BUTTON_PLAY | BUTTON_REPEAT) +#define IMGVIEW_UP BUTTON_PREV +#define IMGVIEW_DOWN BUTTON_NEXT +#define IMGVIEW_LEFT BUTTON_HOME +#define IMGVIEW_RIGHT (BUTTON_PLAY|BUTTON_POWER) +#define IMGVIEW_NEXT BUTTON_VOL_UP +#define IMGVIEW_NEXT_REPEAT (BUTTON_VOL_UP|BUTTON_REPEAT) +#define IMGVIEW_PREVIOUS BUTTON_VOL_DOWN +#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_VOL_DOWN|BUTTON_REPEAT) +#define IMGVIEW_MENU BUTTON_POWER +#define IMGVIEW_SLIDE_SHOW (BUTTON_HOME|BUTTON_POWER) + #else #error No keymap defined! #endif diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c index 72c3b57338..8ef674a74a 100644 --- a/apps/plugins/invadrox.c +++ b/apps/plugins/invadrox.c @@ -272,6 +272,22 @@ CONFIG_KEYPAD == MROBE500_PAD #define QUIT BUTTON_POWER #define FIRE BUTTON_MENU +#elif CONFIG_KEYPAD == IHIFI2_PAD + +#elif CONFIG_KEYPAD == IHIFI_770_PAD + +#define QUIT BUTTON_POWER +#define LEFT BUTTON_HOME +#define RIGHT BUTTON_VOL_DOWN +#define FIRE BUTTON_VOL_UP + +#elif CONFIG_KEYPAD == IHIFI_800_PAD + +#define QUIT BUTTON_POWER +#define LEFT BUTTON_HOME +#define RIGHT BUTTON_VOL_DOWN +#define FIRE BUTTON_VOL_UP + #else #error INVADROX: Unsupported keypad #endif diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c index e4a22830a1..bc0bc73183 100644 --- a/apps/plugins/jewels.c +++ b/apps/plugins/jewels.c @@ -387,6 +387,26 @@ CONFIG_KEYPAD == MROBE500_PAD #define HK_SELECT "PLAY" #define HK_CANCEL "POWER" +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define JEWELS_UP BUTTON_PREV +#define JEWELS_DOWN BUTTON_NEXT +#define JEWELS_LEFT BUTTON_HOME +#define JEWELS_RIGHT BUTTON_VOL_DOWN +#define JEWELS_SELECT BUTTON_PLAY +#define JEWELS_CANCEL BUTTON_POWER +#define HK_SELECT "PLAY" +#define HK_CANCEL "POWER" + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define JEWELS_UP BUTTON_PREV +#define JEWELS_DOWN BUTTON_NEXT +#define JEWELS_LEFT BUTTON_HOME +#define JEWELS_RIGHT BUTTON_VOL_DOWN +#define JEWELS_SELECT BUTTON_PLAY +#define JEWELS_CANCEL BUTTON_POWER +#define HK_SELECT "PLAY" +#define HK_CANCEL "POWER" + #else #error No keymap defined! #endif diff --git a/apps/plugins/lib/keymaps.h b/apps/plugins/lib/keymaps.h index 5fab361620..e240a0989e 100644 --- a/apps/plugins/lib/keymaps.h +++ b/apps/plugins/lib/keymaps.h @@ -216,12 +216,28 @@ #define BTN_PAUSE BUTTON_POWER #elif (CONFIG_KEYPAD == XDUOO_X3_PAD) -#define BTN_UP BUTTON_VOL_UP -#define BTN_DOWN BUTTON_VOL_DOWN -#define BTN_LEFT BUTTON_PREV -#define BTN_RIGHT BUTTON_NEXT -#define BTN_FIRE BUTTON_PLAY -#define BTN_PAUSE BUTTON_OPTION +#define BTN_UP BUTTON_VOL_UP +#define BTN_DOWN BUTTON_VOL_DOWN +#define BTN_LEFT BUTTON_PREV +#define BTN_RIGHT BUTTON_NEXT +#define BTN_FIRE BUTTON_PLAY +#define BTN_PAUSE BUTTON_POWER + +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) +#define BTN_UP BUTTON_PREV +#define BTN_DOWN BUTTON_NEXT +#define BTN_LEFT BUTTON_HOME +#define BTN_RIGHT BUTTON_VOL_DOWN +#define BTN_FIRE BUTTON_PLAY +#define BTN_PAUSE BUTTON_POWER + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +#define BTN_UP BUTTON_PREV +#define BTN_DOWN BUTTON_NEXT +#define BTN_LEFT BUTTON_HOME +#define BTN_RIGHT BUTTON_VOL_DOWN +#define BTN_FIRE BUTTON_PLAY +#define BTN_PAUSE BUTTON_POWER #else #error Unsupported keypad diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c index 2c5fb773ba..97b5a1e1bf 100644 --- a/apps/plugins/lib/pluginlib_actions.c +++ b/apps/plugins/lib/pluginlib_actions.c @@ -237,6 +237,24 @@ const struct button_mapping pla_main_ctx[] = { PLA_DOWN_REPEAT, BUTTON_OPTION|BUTTON_REPEAT, BUTTON_NONE }, { PLA_LEFT_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, { PLA_RIGHT_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) + { PLA_UP, BUTTON_PREV, BUTTON_NONE }, + { PLA_DOWN, BUTTON_NEXT, BUTTON_NONE }, + { PLA_LEFT, BUTTON_HOME, BUTTON_NONE }, + { PLA_RIGHT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { PLA_UP_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_DOWN_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_LEFT_REPEAT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_RIGHT_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) + { PLA_UP, BUTTON_PREV, BUTTON_NONE }, + { PLA_DOWN, BUTTON_NEXT, BUTTON_NONE }, + { PLA_LEFT, BUTTON_HOME, BUTTON_NONE }, + { PLA_RIGHT, BUTTON_VOL_DOWN, BUTTON_NONE }, + { PLA_UP_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_DOWN_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_LEFT_REPEAT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, + { PLA_RIGHT_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, #else # ifndef HAVE_TOUCHSCREEN # error pluginlib_actions: No directions defined @@ -462,7 +480,18 @@ const struct button_mapping pla_main_ctx[] = {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE}, {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, - +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) + {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, + {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE}, + {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE}, + {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, + {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) + {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, + {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE}, + {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE}, + {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, + {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, #else # ifndef HAVE_TOUCHSCREEN # error pluginlib_actions: No actions defined diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c index de6310dcd8..bef13b649d 100644 --- a/apps/plugins/midi/midiplay.c +++ b/apps/plugins/midi/midiplay.c @@ -301,6 +301,22 @@ #define MIDI_VOL_DOWN BUTTON_VOL_DOWN #define MIDI_PLAYPAUSE BUTTON_PLAY +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define MIDI_QUIT BUTTON_POWER +#define MIDI_FFWD BUTTON_VOL_DOWN +#define MIDI_REWIND BUTTON_HOME +#define MIDI_VOL_UP BUTTON_PREV +#define MIDI_VOL_DOWN BUTTON_NEXT +#define MIDI_PLAYPAUSE BUTTON_PLAY + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define MIDI_QUIT BUTTON_POWER +#define MIDI_FFWD BUTTON_VOL_DOWN +#define MIDI_REWIND BUTTON_HOME +#define MIDI_VOL_UP BUTTON_PREV +#define MIDI_VOL_DOWN BUTTON_NEXT +#define MIDI_PLAYPAUSE BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c index 2a3b5f78e9..956ba128d5 100644 --- a/apps/plugins/minesweeper.c +++ b/apps/plugins/minesweeper.c @@ -417,6 +417,32 @@ CONFIG_KEYPAD == MROBE500_PAD # define MINESWP_DISCOVER2 BUTTON_VOL_UP # define MINESWP_INFO (BUTTON_PLAY | BUTTON_OPTION) +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) +# define MINESWP_LEFT BUTTON_HOME +# define MINESWP_RIGHT BUTTON_VOL_DOWN +# define MINESWP_UP BUTTON_PREV +# define MINESWP_DOWN BUTTON_NEXT +# define MINESWP_QUIT BUTTON_POWER +# define MINESWP_TOGGLE_PRE BUTTON_PLAY +# define MINESWP_TOGGLE (BUTTON_POWER | BUTTON_PREV) +# define MINESWP_TOGGLE2 (BUTTON_POWER | BUTTON_NEXT) +# define MINESWP_DISCOVER (BUTTON_POWER | BUTTON_VOL_UP) +# define MINESWP_DISCOVER2 (BUTTON_POWER | BUTTON_VOL_DOWN) +# define MINESWP_INFO (BUTTON_POWER | BUTTON_HOME) + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +# define MINESWP_LEFT BUTTON_HOME +# define MINESWP_RIGHT BUTTON_VOL_DOWN +# define MINESWP_UP BUTTON_PREV +# define MINESWP_DOWN BUTTON_NEXT +# define MINESWP_QUIT BUTTON_POWER +# define MINESWP_TOGGLE_PRE BUTTON_PLAY +# define MINESWP_TOGGLE (BUTTON_POWER | BUTTON_PREV) +# define MINESWP_TOGGLE2 (BUTTON_POWER | BUTTON_NEXT) +# define MINESWP_DISCOVER (BUTTON_POWER | BUTTON_VOL_UP) +# define MINESWP_DISCOVER2 (BUTTON_POWER | BUTTON_VOL_DOWN) +# define MINESWP_INFO (BUTTON_POWER | BUTTON_HOME) + #else #error No keymap defined! #endif diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c index 9e09135385..d147120cd4 100644 --- a/apps/plugins/mp3_encoder.c +++ b/apps/plugins/mp3_encoder.c @@ -2562,6 +2562,18 @@ CONFIG_KEYPAD == MROBE500_PAD #define MP3ENC_DONE BUTTON_POWER #define MP3ENC_SELECT BUTTON_PLAY +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define MP3ENC_PREV BUTTON_PREV +#define MP3ENC_NEXT BUTTON_NEXT +#define MP3ENC_DONE BUTTON_POWER +#define MP3ENC_SELECT BUTTON_PLAY + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define MP3ENC_PREV BUTTON_PREV +#define MP3ENC_NEXT BUTTON_NEXT +#define MP3ENC_DONE BUTTON_POWER +#define MP3ENC_SELECT BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c index 7976f5f542..d6b4fd4b84 100644 --- a/apps/plugins/mpegplayer/mpeg_settings.c +++ b/apps/plugins/mpegplayer/mpeg_settings.c @@ -316,6 +316,26 @@ struct mpeg_settings settings; #define MPEG_START_TIME_RIGHT2 BUTTON_VOL_DOWN #define MPEG_START_TIME_EXIT BUTTON_POWER +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define MPEG_START_TIME_SELECT BUTTON_PLAY +#define MPEG_START_TIME_LEFT BUTTON_HOME +#define MPEG_START_TIME_RIGHT BUTTON_VOL_DOWN +#define MPEG_START_TIME_UP BUTTON_PREV +#define MPEG_START_TIME_DOWN BUTTON_NEXT +#define MPEG_START_TIME_LEFT2 (BUTTON_POWER + BUTTON_HOME) +#define MPEG_START_TIME_RIGHT2 (BUTTON_POWER + BUTTON_VOL_DOWN) +#define MPEG_START_TIME_EXIT BUTTON_POWER + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define MPEG_START_TIME_SELECT BUTTON_PLAY +#define MPEG_START_TIME_LEFT BUTTON_HOME +#define MPEG_START_TIME_RIGHT BUTTON_VOL_DOWN +#define MPEG_START_TIME_UP BUTTON_PREV +#define MPEG_START_TIME_DOWN BUTTON_NEXT +#define MPEG_START_TIME_LEFT2 (BUTTON_POWER + BUTTON_HOME) +#define MPEG_START_TIME_RIGHT2 (BUTTON_POWER + BUTTON_VOL_DOWN) +#define MPEG_START_TIME_EXIT BUTTON_POWER + #else #error No keymap defined! #endif diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c index fd3e8d8cd5..6a33a544db 100644 --- a/apps/plugins/mpegplayer/mpegplayer.c +++ b/apps/plugins/mpegplayer/mpegplayer.c @@ -450,6 +450,24 @@ CONFIG_KEYPAD == SANSA_M200_PAD #define MPEG_RW BUTTON_PREV #define MPEG_FF BUTTON_NEXT +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define MPEG_MENU BUTTON_PLAY +#define MPEG_STOP BUTTON_POWER +#define MPEG_PAUSE BUTTON_HOME +#define MPEG_VOLDOWN BUTTON_VOL_DOWN +#define MPEG_VOLUP BUTTON_VOL_UP +#define MPEG_RW BUTTON_PREV +#define MPEG_FF BUTTON_NEXT + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define MPEG_MENU BUTTON_PLAY +#define MPEG_STOP BUTTON_POWER +#define MPEG_PAUSE BUTTON_HOME +#define MPEG_VOLDOWN BUTTON_VOL_DOWN +#define MPEG_VOLUP BUTTON_VOL_UP +#define MPEG_RW BUTTON_PREV +#define MPEG_FF BUTTON_NEXT + #else #error No keymap defined! #endif diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c index 4534684293..f4711d4e0e 100644 --- a/apps/plugins/oscilloscope.c +++ b/apps/plugins/oscilloscope.c @@ -518,6 +518,34 @@ #define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN #define NEED_LASTBUTTON +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) +#define OSCILLOSCOPE_QUIT BUTTON_POWER +#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_PLAY +#define OSCILLOSCOPE_DRAWMODE (BUTTON_PLAY | BUTTON_REL) +#define OSCILLOSCOPE_ORIENTATION_PRE BUTTON_PLAY +#define OSCILLOSCOPE_ORIENTATION (BUTTON_PLAY | BUTTON_REPEAT) +#define OSCILLOSCOPE_ADVMODE BUTTON_HOME +#define OSCILLOSCOPE_PAUSE (BUTTON_HOME | BUTTON_REPEAT) +#define OSCILLOSCOPE_SPEED_UP BUTTON_NEXT +#define OSCILLOSCOPE_SPEED_DOWN BUTTON_PREV +#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP +#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN +#define NEED_LASTBUTTON + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +#define OSCILLOSCOPE_QUIT BUTTON_POWER +#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_PLAY +#define OSCILLOSCOPE_DRAWMODE (BUTTON_PLAY | BUTTON_REL) +#define OSCILLOSCOPE_ORIENTATION_PRE BUTTON_PLAY +#define OSCILLOSCOPE_ORIENTATION (BUTTON_PLAY | BUTTON_REPEAT) +#define OSCILLOSCOPE_ADVMODE BUTTON_HOME +#define OSCILLOSCOPE_PAUSE (BUTTON_HOME | BUTTON_REPEAT) +#define OSCILLOSCOPE_SPEED_UP BUTTON_NEXT +#define OSCILLOSCOPE_SPEED_DOWN BUTTON_PREV +#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP +#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN +#define NEED_LASTBUTTON + #else #error No keymap defined! #endif diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h index 3461bd62c7..eb97d828e2 100644 --- a/apps/plugins/pacbox/pacbox.h +++ b/apps/plugins/pacbox/pacbox.h @@ -363,6 +363,27 @@ #define PACMAN_1UP BUTTON_VOLUP #define PACMAN_COIN BUTTON_VOLDOWN +#elif CONFIG_KEYPAD == IHIFI2_PAD + +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define PACMAN_UP BUTTON_PREV +#define PACMAN_DOWN BUTTON_NEXT +#define PACMAN_LEFT BUTTON_HOME +#define PACMAN_RIGHT BUTTON_VOL_DOWN +#define PACMAN_MENU BUTTON_POWER +#define PACMAN_1UP BUTTON_VOL_UP +#define PACMAN_COIN BUTTON_PLAY + +#elif CONFIG_KEYPAD == IHIFI_800_PAD + +#define PACMAN_UP BUTTON_PREV +#define PACMAN_DOWN BUTTON_NEXT +#define PACMAN_LEFT BUTTON_HOME +#define PACMAN_RIGHT BUTTON_VOL_DOWN +#define PACMAN_MENU BUTTON_POWER +#define PACMAN_1UP BUTTON_VOL_UP +#define PACMAN_COIN BUTTON_PLAY + #else #error Keymap not defined! diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c index 922359cd32..cc2e8e3f23 100644 --- a/apps/plugins/pegbox.c +++ b/apps/plugins/pegbox.c @@ -660,6 +660,40 @@ CONFIG_KEYPAD == MROBE500_PAD #define LVL_UP_TEXT "VOL+" #define LVL_DOWN_TEXT "VOL-" +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define PEGBOX_SELECT BUTTON_PLAY +#define PEGBOX_QUIT BUTTON_POWER +#define PEGBOX_RESTART (BUTTON_POWER | BUTTON_HOME) +#define PEGBOX_LVL_UP (BUTTON_POWER | BUTTON_VOL_UP) +#define PEGBOX_LVL_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN) +#define PEGBOX_UP BUTTON_PREV +#define PEGBOX_DOWN BUTTON_NEXT +#define PEGBOX_RIGHT BUTTON_HOME +#define PEGBOX_LEFT BUTTON_VOL_DOWN + +#define SELECT_TEXT "PLAY" +#define QUIT_TEXT "POWER" +#define RESTART_TEXT "HOME" +#define LVL_UP_TEXT "VOL+" +#define LVL_DOWN_TEXT "VOL-" + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define PEGBOX_SELECT BUTTON_PLAY +#define PEGBOX_QUIT BUTTON_POWER +#define PEGBOX_RESTART (BUTTON_POWER | BUTTON_HOME) +#define PEGBOX_LVL_UP (BUTTON_POWER | BUTTON_VOL_UP) +#define PEGBOX_LVL_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN) +#define PEGBOX_UP BUTTON_PREV +#define PEGBOX_DOWN BUTTON_NEXT +#define PEGBOX_RIGHT BUTTON_HOME +#define PEGBOX_LEFT BUTTON_VOL_DOWN + +#define SELECT_TEXT "PLAY" +#define QUIT_TEXT "POWER" +#define RESTART_TEXT "HOME" +#define LVL_UP_TEXT "VOL+" +#define LVL_DOWN_TEXT "VOL-" + #else #error Unsupported keymap! #endif diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c index d65134e5d2..cb3006d7c4 100644 --- a/apps/plugins/pong.c +++ b/apps/plugins/pong.c @@ -317,6 +317,22 @@ CONFIG_KEYPAD == MROBE500_PAD #define PONG_RIGHT_UP BUTTON_HOME #define PONG_RIGHT_DOWN BUTTON_NEXT +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define PONG_QUIT BUTTON_POWER +#define PONG_PAUSE BUTTON_PREV +#define PONG_LEFT_UP BUTTON_PLAY +#define PONG_LEFT_DOWN BUTTON_HOME +#define PONG_RIGHT_UP BUTTON_VOL_UP +#define PONG_RIGHT_DOWN BUTTON_VOL_DOWN + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define PONG_QUIT BUTTON_POWER +#define PONG_PAUSE BUTTON_PREV +#define PONG_LEFT_UP BUTTON_PLAY +#define PONG_LEFT_DOWN BUTTON_HOME +#define PONG_RIGHT_UP BUTTON_VOL_UP +#define PONG_RIGHT_DOWN BUTTON_VOL_DOWN + #else #error No keymap defined! #endif diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h index 1dc1dedbed..cba34d2814 100644 --- a/apps/plugins/reversi/reversi-gui.h +++ b/apps/plugins/reversi/reversi-gui.h @@ -339,6 +339,28 @@ #define REVERSI_BUTTON_MENU BUTTON_PLAY #define REVERSI_BUTTON_MENU_LONGPRESS +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define REVERSI_BUTTON_QUIT BUTTON_POWER +#define REVERSI_BUTTON_UP BUTTON_PREV +#define REVERSI_BUTTON_DOWN BUTTON_NEXT +#define REVERSI_BUTTON_LEFT BUTTON_PREV +#define REVERSI_BUTTON_RIGHT BUTTON_VOL_DOWN +#define REVERSI_BUTTON_MAKE_MOVE BUTTON_PLAY +#define REVERSI_BUTTON_MAKE_MOVE_SHORTPRESS +#define REVERSI_BUTTON_MENU BUTTON_PLAY +#define REVERSI_BUTTON_MENU_LONGPRESS + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define REVERSI_BUTTON_QUIT BUTTON_POWER +#define REVERSI_BUTTON_UP BUTTON_PREV +#define REVERSI_BUTTON_DOWN BUTTON_NEXT +#define REVERSI_BUTTON_LEFT BUTTON_PREV +#define REVERSI_BUTTON_RIGHT BUTTON_VOL_DOWN +#define REVERSI_BUTTON_MAKE_MOVE BUTTON_PLAY +#define REVERSI_BUTTON_MAKE_MOVE_SHORTPRESS +#define REVERSI_BUTTON_MENU BUTTON_PLAY +#define REVERSI_BUTTON_MENU_LONGPRESS + #else #error No keymap defined! #endif diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c index b204ed87da..13eb593775 100644 --- a/apps/plugins/rockblox.c +++ b/apps/plugins/rockblox.c @@ -492,6 +492,30 @@ #define ROCKBLOX_DROP (BUTTON_PLAY|BUTTON_REL) #define ROCKBLOX_RESTART (BUTTON_PLAY|BUTTON_REPEAT) +#elif CONFIG_KEYPAD == IHIFI_770_PAD + +#define ROCKBLOX_OFF BUTTON_POWER +#define ROCKBLOX_ROTATE_CCW BUTTON_HOME +#define ROCKBLOX_ROTATE_CCW2 BUTTON_VOL_DOWN +#define ROCKBLOX_ROTATE_CW BUTTON_VOL_UP +#define ROCKBLOX_DOWN BUTTON_PLAY +#define ROCKBLOX_LEFT BUTTON_PREV +#define ROCKBLOX_RIGHT BUTTON_NEXT +#define ROCKBLOX_DROP (BUTTON_POWER|BUTTON_PLAY) +#define ROCKBLOX_RESTART (BUTTON_POWER|BUTTON_REPEAT) + +#elif CONFIG_KEYPAD == IHIFI_800_PAD + +#define ROCKBLOX_OFF BUTTON_POWER +#define ROCKBLOX_ROTATE_CCW BUTTON_HOME +#define ROCKBLOX_ROTATE_CCW2 BUTTON_VOL_DOWN +#define ROCKBLOX_ROTATE_CW BUTTON_VOL_UP +#define ROCKBLOX_DOWN BUTTON_PLAY +#define ROCKBLOX_LEFT BUTTON_PREV +#define ROCKBLOX_RIGHT BUTTON_NEXT +#define ROCKBLOX_DROP (BUTTON_POWER|BUTTON_PLAY) +#define ROCKBLOX_RESTART (BUTTON_POWER|BUTTON_REPEAT) + #else #error No keymap defined! #endif diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c index 7425fc2550..8886793ab7 100644 --- a/apps/plugins/rockboy/rockboy.c +++ b/apps/plugins/rockboy/rockboy.c @@ -433,6 +433,26 @@ static void setoptions (void) options.SELECT = BUTTON_VOL_UP; options.MENU = BUTTON_POWER; +#elif CONFIG_KEYPAD == IHIFI_770_PAD + options.UP = BUTTON_PREV; + options.DOWN = BUTTON_NEXT; + + options.A = BUTTON_VOL_UP; + options.B = BUTTON_VOL_DOWN; + options.START = BUTTON_PLAY; + options.SELECT = BUTTON_HOME; + options.MENU = BUTTON_POWER; + +#elif CONFIG_KEYPAD == IHIFI_800_PAD + options.UP = BUTTON_PREV; + options.DOWN = BUTTON_NEXT; + + options.A = BUTTON_VOL_UP; + options.B = BUTTON_VOL_DOWN; + options.START = BUTTON_PLAY; + options.SELECT = BUTTON_HOME; + options.MENU = BUTTON_POWER; + #else #error No Keymap Defined! #endif diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c index d0f9f7235c..3759489fe1 100644 --- a/apps/plugins/rockpaint.c +++ b/apps/plugins/rockpaint.c @@ -338,6 +338,28 @@ #define ROCKPAINT_LEFT BUTTON_PREV #define ROCKPAINT_RIGHT BUTTON_NEXT +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define ROCKPAINT_QUIT BUTTON_POWER +#define ROCKPAINT_DRAW BUTTON_PLAY +#define ROCKPAINT_MENU (BUTTON_HOME | BUTTON_POWER) +#define ROCKPAINT_TOOLBAR BUTTON_VOL_UP +#define ROCKPAINT_TOOLBAR2 (BUTTON_VOL_UP | BUTTON_POWER) +#define ROCKPAINT_UP BUTTON_PREV +#define ROCKPAINT_DOWN BUTTON_NEXT +#define ROCKPAINT_LEFT BUTTON_HOME +#define ROCKPAINT_RIGHT BUTTON_VOL_DOWN + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define ROCKPAINT_QUIT BUTTON_POWER +#define ROCKPAINT_DRAW BUTTON_PLAY +#define ROCKPAINT_MENU (BUTTON_HOME | BUTTON_POWER) +#define ROCKPAINT_TOOLBAR BUTTON_VOL_UP +#define ROCKPAINT_TOOLBAR2 (BUTTON_VOL_UP | BUTTON_POWER) +#define ROCKPAINT_UP BUTTON_PREV +#define ROCKPAINT_DOWN BUTTON_NEXT +#define ROCKPAINT_LEFT BUTTON_HOME +#define ROCKPAINT_RIGHT BUTTON_VOL_DOWN + #else #error "Please define keys for this keypad" #endif diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c index a3f84e32ae..0ea36c84b8 100644 --- a/apps/plugins/sliding_puzzle.c +++ b/apps/plugins/sliding_puzzle.c @@ -340,6 +340,24 @@ CONFIG_KEYPAD == MROBE500_PAD #define PUZZLE_SHUFFLE (BUTTON_HOME | BUTTON_POWER) #define PUZZLE_PICTURE BUTTON_PLAY +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) +#define PUZZLE_QUIT BUTTON_POWER +#define PUZZLE_LEFT BUTTON_HOME +#define PUZZLE_RIGHT BUTTON_VOL_DOWN +#define PUZZLE_UP BUTTON_PREV +#define PUZZLE_DOWN BUTTON_NEXT +#define PUZZLE_SHUFFLE (BUTTON_HOME | BUTTON_POWER) +#define PUZZLE_PICTURE BUTTON_PLAY + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +#define PUZZLE_QUIT BUTTON_POWER +#define PUZZLE_LEFT BUTTON_HOME +#define PUZZLE_RIGHT BUTTON_VOL_DOWN +#define PUZZLE_UP BUTTON_PREV +#define PUZZLE_DOWN BUTTON_NEXT +#define PUZZLE_SHUFFLE (BUTTON_HOME | BUTTON_POWER) +#define PUZZLE_PICTURE BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c index 9144edf062..2518316bdd 100644 --- a/apps/plugins/snake.c +++ b/apps/plugins/snake.c @@ -297,6 +297,22 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left; #define SNAKE_DOWN BUTTON_OPTION #define SNAKE_PLAYPAUSE BUTTON_PLAY +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define SNAKE_QUIT BUTTON_POWER +#define SNAKE_LEFT BUTTON_HOME +#define SNAKE_RIGHT BUTTON_VOL_DOWN +#define SNAKE_UP BUTTON_PREV +#define SNAKE_DOWN BUTTON_NEXT +#define SNAKE_PLAYPAUSE BUTTON_PLAY + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define SNAKE_QUIT BUTTON_POWER +#define SNAKE_LEFT BUTTON_HOME +#define SNAKE_RIGHT BUTTON_VOL_DOWN +#define SNAKE_UP BUTTON_PREV +#define SNAKE_DOWN BUTTON_NEXT +#define SNAKE_PLAYPAUSE BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c index 13d2c57b24..9ea79504e4 100644 --- a/apps/plugins/snake2.c +++ b/apps/plugins/snake2.c @@ -428,6 +428,24 @@ CONFIG_KEYPAD == MROBE500_PAD #define SNAKE2_PLAYPAUSE BUTTON_PLAY #define SNAKE2_PLAYPAUSE_TEXT "PLAY" +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) +#define SNAKE2_LEFT BUTTON_HOME +#define SNAKE2_RIGHT BUTTON_VOL_DOWN +#define SNAKE2_UP BUTTON_PREV +#define SNAKE2_DOWN BUTTON_NEXT +#define SNAKE2_QUIT BUTTON_POWER +#define SNAKE2_PLAYPAUSE BUTTON_PLAY +#define SNAKE2_PLAYPAUSE_TEXT "PLAY" + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +#define SNAKE2_LEFT BUTTON_HOME +#define SNAKE2_RIGHT BUTTON_VOL_DOWN +#define SNAKE2_UP BUTTON_PREV +#define SNAKE2_DOWN BUTTON_NEXT +#define SNAKE2_QUIT BUTTON_POWER +#define SNAKE2_PLAYPAUSE BUTTON_PLAY +#define SNAKE2_PLAYPAUSE_TEXT "PLAY" + #else #error No keymap defined! #endif diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c index 98d295eb1a..17971ec4db 100644 --- a/apps/plugins/sokoban.c +++ b/apps/plugins/sokoban.c @@ -667,6 +667,38 @@ #define BUTTON_SAVE BUTTON_PLAY #define BUTTON_SAVE_NAME "PLAY" +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define SOKOBAN_LEFT BUTTON_HOME +#define SOKOBAN_RIGHT BUTTON_VOL_DOWN +#define SOKOBAN_UP BUTTON_PREV +#define SOKOBAN_DOWN BUTTON_NEXT +#define SOKOBAN_MENU BUTTON_POWER +#define SOKOBAN_UNDO_PRE BUTTON_PLAY +#define SOKOBAN_UNDO (BUTTON_PLAY | BUTTON_REL) +#define SOKOBAN_REDO (BUTTON_POWER | BUTTON_PLAY) +#define SOKOBAN_LEVEL_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN) +#define SOKOBAN_LEVEL_REPEAT (BUTTON_POWER | BUTTON_HOME) +#define SOKOBAN_LEVEL_UP (BUTTON_POWER | BUTTON_VOL_UP) +#define SOKOBAN_PAUSE BUTTON_PLAY +#define BUTTON_SAVE BUTTON_PLAY +#define BUTTON_SAVE_NAME "PLAY" + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define SOKOBAN_LEFT BUTTON_HOME +#define SOKOBAN_RIGHT BUTTON_VOL_DOWN +#define SOKOBAN_UP BUTTON_PREV +#define SOKOBAN_DOWN BUTTON_NEXT +#define SOKOBAN_MENU BUTTON_POWER +#define SOKOBAN_UNDO_PRE BUTTON_PLAY +#define SOKOBAN_UNDO (BUTTON_PLAY | BUTTON_REL) +#define SOKOBAN_REDO (BUTTON_POWER | BUTTON_PLAY) +#define SOKOBAN_LEVEL_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN) +#define SOKOBAN_LEVEL_REPEAT (BUTTON_POWER | BUTTON_HOME) +#define SOKOBAN_LEVEL_UP (BUTTON_POWER | BUTTON_VOL_UP) +#define SOKOBAN_PAUSE BUTTON_PLAY +#define BUTTON_SAVE BUTTON_PLAY +#define BUTTON_SAVE_NAME "PLAY" + #else #error No keymap defined! #endif diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c index fe7da2788e..7440160470 100644 --- a/apps/plugins/solitaire.c +++ b/apps/plugins/solitaire.c @@ -706,6 +706,44 @@ CONFIG_KEYPAD == MROBE500_PAD # define HK_CUR2STACK "DBL PLAY" # define HK_REM2STACK "NEXT" +#elif CONFIG_KEYPAD == IHIFI_770_PAD +# define SOL_QUIT BUTTON_POWER +# define SOL_UP BUTTON_PREV +# define SOL_DOWN BUTTON_NEXT +# define SOL_LEFT BUTTON_HOME +# define SOL_RIGHT BUTTON_VOL_DOWN +# define SOL_MOVE_PRE BUTTON_VOL_UP +# define SOL_MOVE (BUTTON_PLAY | BUTTON_REL) +# define SOL_DRAW (BUTTON_POWER | BUTTON_REPEAT) +# define SOL_REM2CUR (BUTTON_POWER | BUTTON_VOL_DOWN) +# define SOL_CUR2STACK_PRE BUTTON_PLAY +# define SOL_CUR2STACK (BUTTON_PLAY | BUTTON_REPEAT) +# define SOL_REM2STACK (BUTTON_POWER | BUTTON_VOL_UP) +# define HK_MOVE "PLAY" +# define HK_DRAW "DBL POWER" +# define HK_REM2CUR "POWER" +# define HK_CUR2STACK "DBL PLAY" +# define HK_REM2STACK "POWER+" + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +# define SOL_QUIT BUTTON_POWER +# define SOL_UP BUTTON_PREV +# define SOL_DOWN BUTTON_NEXT +# define SOL_LEFT BUTTON_HOME +# define SOL_RIGHT BUTTON_VOL_DOWN +# define SOL_MOVE_PRE BUTTON_VOL_UP +# define SOL_MOVE (BUTTON_PLAY | BUTTON_REL) +# define SOL_DRAW (BUTTON_POWER | BUTTON_REPEAT) +# define SOL_REM2CUR (BUTTON_POWER | BUTTON_VOL_DOWN) +# define SOL_CUR2STACK_PRE BUTTON_PLAY +# define SOL_CUR2STACK (BUTTON_PLAY | BUTTON_REPEAT) +# define SOL_REM2STACK (BUTTON_POWER | BUTTON_VOL_UP) +# define HK_MOVE "PLAY" +# define HK_DRAW "DBL POWER" +# define HK_REM2CUR "POWER" +# define HK_CUR2STACK "DBL PLAY" +# define HK_REM2STACK "POWER+" + #else #error No keymap defined! #endif diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c index ad03919861..15d4039b4d 100644 --- a/apps/plugins/spacerocks.c +++ b/apps/plugins/spacerocks.c @@ -363,6 +363,24 @@ #define AST_RIGHT BUTTON_NEXT #define AST_FIRE BUTTON_PLAY +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) +#define AST_PAUSE BUTTON_PLAY +#define AST_QUIT BUTTON_POWER +#define AST_THRUST BUTTON_NEXT +#define AST_HYPERSPACE BUTTON_PREV +#define AST_LEFT BUTTON_HOME +#define AST_RIGHT BUTTON_VOL_DOWN +#define AST_FIRE BUTTON_VOL_UP + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +#define AST_PAUSE BUTTON_PLAY +#define AST_QUIT BUTTON_POWER +#define AST_THRUST BUTTON_NEXT +#define AST_HYPERSPACE BUTTON_PREV +#define AST_LEFT BUTTON_HOME +#define AST_RIGHT BUTTON_VOL_DOWN +#define AST_FIRE BUTTON_VOL_UP + #else #error No keymap defined! #endif diff --git a/apps/plugins/star.c b/apps/plugins/star.c index bcddab8f20..fdf67bec4c 100644 --- a/apps/plugins/star.c +++ b/apps/plugins/star.c @@ -639,6 +639,38 @@ #define STAR_LEVEL_DOWN_NAME "PLAY + PREV" #define STAR_LEVEL_REPEAT_NAME "PLAY + OPTION" +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define STAR_QUIT BUTTON_POWER +#define STAR_LEFT BUTTON_HOME +#define STAR_RIGHT BUTTON_VOL_DOWN +#define STAR_UP BUTTON_PREV +#define STAR_DOWN BUTTON_NEXT +#define STAR_TOGGLE_CONTROL BUTTON_PLAY +#define STAR_LEVEL_UP (BUTTON_POWER | BUTTON_VOL_UP) +#define STAR_LEVEL_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN) +#define STAR_LEVEL_REPEAT (BUTTON_POWER | BUTTON_HOME) +#define STAR_TOGGLE_CONTROL_NAME "PLAY" +#define STAR_QUIT_NAME "POWER" +#define STAR_LEVEL_UP_NAME "POWER + VOL+" +#define STAR_LEVEL_DOWN_NAME "POWER + VOL-" +#define STAR_LEVEL_REPEAT_NAME "POWER + HOME" + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define STAR_QUIT BUTTON_POWER +#define STAR_LEFT BUTTON_HOME +#define STAR_RIGHT BUTTON_VOL_DOWN +#define STAR_UP BUTTON_PREV +#define STAR_DOWN BUTTON_NEXT +#define STAR_TOGGLE_CONTROL BUTTON_PLAY +#define STAR_LEVEL_UP (BUTTON_POWER | BUTTON_VOL_UP) +#define STAR_LEVEL_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN) +#define STAR_LEVEL_REPEAT (BUTTON_POWER | BUTTON_HOME) +#define STAR_TOGGLE_CONTROL_NAME "PLAY" +#define STAR_QUIT_NAME "POWER" +#define STAR_LEVEL_UP_NAME "POWER + VOL+" +#define STAR_LEVEL_DOWN_NAME "POWER + VOL-" +#define STAR_LEVEL_REPEAT_NAME "POWER + HOME" + #else #error No keymap defined! #endif diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c index 69f14a20ef..5e83859d89 100644 --- a/apps/plugins/stopwatch.c +++ b/apps/plugins/stopwatch.c @@ -321,6 +321,22 @@ #define STOPWATCH_SCROLL_UP BUTTON_HOME #define STOPWATCH_SCROLL_DOWN BUTTON_OPTION +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define STOPWATCH_QUIT BUTTON_POWER +#define STOPWATCH_START_STOP BUTTON_NEXT +#define STOPWATCH_RESET_TIMER BUTTON_PREV +#define STOPWATCH_LAP_TIMER BUTTON_PLAY +#define STOPWATCH_SCROLL_UP BUTTON_VOL_UP +#define STOPWATCH_SCROLL_DOWN BUTTON_VOL_DOWN + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define STOPWATCH_QUIT BUTTON_POWER +#define STOPWATCH_START_STOP BUTTON_NEXT +#define STOPWATCH_RESET_TIMER BUTTON_PREV +#define STOPWATCH_LAP_TIMER BUTTON_PLAY +#define STOPWATCH_SCROLL_UP BUTTON_VOL_UP +#define STOPWATCH_SCROLL_DOWN BUTTON_VOL_DOWN + #else #error No keymap defined! #endif diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h index e26644a2d8..62ec80dba8 100644 --- a/apps/plugins/sudoku/sudoku.h +++ b/apps/plugins/sudoku/sudoku.h @@ -437,6 +437,34 @@ #define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL) #define SUDOKU_BUTTON_POSSIBLE (BUTTON_HOME | BUTTON_POWER) +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER +#define SUDOKU_BUTTON_QUIT (BUTTON_POWER | BUTTON_REPEAT) +#define SUDOKU_BUTTON_UP BUTTON_PREV +#define SUDOKU_BUTTON_DOWN BUTTON_NEXT +#define SUDOKU_BUTTON_LEFT BUTTON_HOME +#define SUDOKU_BUTTON_RIGHT BUTTON_VOL_DOWN +#define SUDOKU_BUTTON_TOGGLEBACK (BUTTON_POWER | BUTTON_VOL_DOWN) +#define SUDOKU_BUTTON_TOGGLE (BUTTON_POWER | BUTTON_VOL_UP) +#define SUDOKU_BUTTON_ALTTOGGLE BUTTON_PLAY +#define SUDOKU_BUTTON_MENU_PRE BUTTON_POWER +#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL) +#define SUDOKU_BUTTON_POSSIBLE (BUTTON_POWER | BUTTON_HOME) + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define SUDOKU_BUTTON_QUIT_PRE BUTTON_POWER +#define SUDOKU_BUTTON_QUIT (BUTTON_POWER | BUTTON_REPEAT) +#define SUDOKU_BUTTON_UP BUTTON_PREV +#define SUDOKU_BUTTON_DOWN BUTTON_NEXT +#define SUDOKU_BUTTON_LEFT BUTTON_HOME +#define SUDOKU_BUTTON_RIGHT BUTTON_VOL_DOWN +#define SUDOKU_BUTTON_TOGGLEBACK (BUTTON_POWER | BUTTON_VOL_DOWN) +#define SUDOKU_BUTTON_TOGGLE (BUTTON_POWER | BUTTON_VOL_UP) +#define SUDOKU_BUTTON_ALTTOGGLE BUTTON_PLAY +#define SUDOKU_BUTTON_MENU_PRE BUTTON_POWER +#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_REL) +#define SUDOKU_BUTTON_POSSIBLE (BUTTON_POWER | BUTTON_HOME) + #else #error No keymap defined! #endif diff --git a/apps/plugins/text_viewer/tv_button.h b/apps/plugins/text_viewer/tv_button.h index 58bce80eaf..da6453ff8d 100644 --- a/apps/plugins/text_viewer/tv_button.h +++ b/apps/plugins/text_viewer/tv_button.h @@ -562,6 +562,32 @@ #define TV_LINE_DOWN BUTTON_OPTION #define TV_BOOKMARK (BUTTON_OPTION | BUTTON_PLAY) +/* Xuelin 770/770c keys */ +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define TV_QUIT BUTTON_POWER +#define TV_SCROLL_UP BUTTON_VOL_UP +#define TV_SCROLL_DOWN BUTTON_VOL_DOWN +#define TV_SCREEN_LEFT BUTTON_PREV +#define TV_SCREEN_RIGHT BUTTON_NEXT +#define TV_MENU BUTTON_PLAY +#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_HOME) +#define TV_LINE_UP (BUTTON_POWER | BUTTON_VOL_UP) +#define TV_LINE_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN) +#define TV_BOOKMARK (BUTTON_POWER | BUTTON_PLAY) + +/* Xuelin 800 keys */ +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define TV_QUIT BUTTON_POWER +#define TV_SCROLL_UP BUTTON_VOL_UP +#define TV_SCROLL_DOWN BUTTON_VOL_DOWN +#define TV_SCREEN_LEFT BUTTON_PREV +#define TV_SCREEN_RIGHT BUTTON_NEXT +#define TV_MENU BUTTON_PLAY +#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_HOME) +#define TV_LINE_UP (BUTTON_POWER | BUTTON_VOL_UP) +#define TV_LINE_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN) +#define TV_BOOKMARK (BUTTON_POWER | BUTTON_PLAY) + #else #error No keymap defined! #endif diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c index 04876ba198..eaa92d4b48 100644 --- a/apps/plugins/vu_meter.c +++ b/apps/plugins/vu_meter.c @@ -432,6 +432,28 @@ #define LABEL_MENU "PLAY" #define LABEL_VOLUME "VOL UP/DN" +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) +#define VUMETER_QUIT BUTTON_POWER +#define VUMETER_HELP BUTTON_HOME +#define VUMETER_MENU BUTTON_PLAY +#define VUMETER_UP BUTTON_VOL_UP +#define VUMETER_DOWN BUTTON_VOL_DOWN +#define LABEL_HELP "HOME" +#define LABEL_QUIT "POWER" +#define LABEL_MENU "PLAY" +#define LABEL_VOLUME "VOL UP/DN" + +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +#define VUMETER_QUIT BUTTON_POWER +#define VUMETER_HELP BUTTON_HOME +#define VUMETER_MENU BUTTON_PLAY +#define VUMETER_UP BUTTON_VOL_UP +#define VUMETER_DOWN BUTTON_VOL_DOWN +#define LABEL_HELP "HOME" +#define LABEL_QUIT "POWER" +#define LABEL_MENU "PLAY" +#define LABEL_VOLUME "VOL UP/DN" + #else #error No keymap defined! #endif diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c index 83cfadc338..8c12862bdb 100644 --- a/apps/plugins/wormlet.c +++ b/apps/plugins/wormlet.c @@ -402,6 +402,24 @@ CONFIG_KEYPAD == MROBE500_PAD #define BTN_QUIT BUTTON_POWER #define BTN_STOPRESET (BUTTON_HOME | BUTTON_POWER) +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define BTN_DIR_UP BUTTON_PREV +#define BTN_DIR_DOWN BUTTON_NEXT +#define BTN_DIR_LEFT BUTTON_HOME +#define BTN_DIR_RIGHT BUTTON_VOL_DOWN +#define BTN_STARTPAUSE BUTTON_PLAY +#define BTN_QUIT BUTTON_POWER +#define BTN_STOPRESET BUTTON_VOL_UP + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define BTN_DIR_UP BUTTON_PREV +#define BTN_DIR_DOWN BUTTON_NEXT +#define BTN_DIR_LEFT BUTTON_HOME +#define BTN_DIR_RIGHT BUTTON_VOL_DOWN +#define BTN_STARTPAUSE BUTTON_PLAY +#define BTN_QUIT BUTTON_POWER +#define BTN_STOPRESET BUTTON_VOL_UP + #else #error No keymap defined! #endif diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c index 9b41e2d1ac..8acdf85015 100644 --- a/apps/plugins/xobox.c +++ b/apps/plugins/xobox.c @@ -351,6 +351,24 @@ CONFIG_KEYPAD == MROBE500_PAD #define DOWN BUTTON_OPTION #define PAUSE BUTTON_PLAY +#elif CONFIG_KEYPAD == IHIFI_770_PAD + +#define QUIT BUTTON_POWER +#define LEFT BUTTON_HOME +#define RIGHT BUTTON_VOL_DOWN +#define UP BUTTON_PREV +#define DOWN BUTTON_NEXT +#define PAUSE BUTTON_PLAY + +#elif CONFIG_KEYPAD == IHIFI_800_PAD + +#define QUIT BUTTON_POWER +#define LEFT BUTTON_HOME +#define RIGHT BUTTON_VOL_DOWN +#define UP BUTTON_PREV +#define DOWN BUTTON_NEXT +#define PAUSE BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h index ebdd41734e..ce527c561e 100644 --- a/apps/plugins/zxbox/keymaps.h +++ b/apps/plugins/zxbox/keymaps.h @@ -290,6 +290,22 @@ #define ZX_UP BUTTON_HOME #define ZX_DOWN BUTTON_OPTION +#elif CONFIG_KEYPAD == IHIFI_770_PAD +#define ZX_SELECT BUTTON_PLAY +#define ZX_MENU BUTTON_POWER +#define ZX_LEFT BUTTON_HOME +#define ZX_RIGHT BUTTON_VOL_DOWN +#define ZX_UP BUTTON_PREV +#define ZX_DOWN BUTTON_NEXT + +#elif CONFIG_KEYPAD == IHIFI_800_PAD +#define ZX_SELECT BUTTON_PLAY +#define ZX_MENU BUTTON_POWER +#define ZX_LEFT BUTTON_HOME +#define ZX_RIGHT BUTTON_VOL_DOWN +#define ZX_UP BUTTON_PREV +#define ZX_DOWN BUTTON_NEXT + #else #error Keymap not defined! diff --git a/apps/plugins/zxbox/zxbox_keyb.c b/apps/plugins/zxbox/zxbox_keyb.c index f38712d8d1..b3f1ca70e8 100644 --- a/apps/plugins/zxbox/zxbox_keyb.c +++ b/apps/plugins/zxbox/zxbox_keyb.c @@ -287,6 +287,24 @@ #define KBD_UP BUTTON_HOME #define KBD_DOWN BUTTON_OPTION +#elif CONFIG_KEYPAD == IHIFI_770_PAD + +#define KBD_SELECT BUTTON_PLAY +#define KBD_ABORT BUTTON_POWER +#define KBD_LEFT BUTTON_HOME +#define KBD_RIGHT BUTTON_VOL_DOWN +#define KBD_UP BUTTON_PREV +#define KBD_DOWN BUTTON_NEXT + +#elif CONFIG_KEYPAD == IHIFI_800_PAD + +#define KBD_SELECT BUTTON_PLAY +#define KBD_ABORT BUTTON_POWER +#define KBD_LEFT BUTTON_HOME +#define KBD_RIGHT BUTTON_VOL_DOWN +#define KBD_UP BUTTON_PREV +#define KBD_DOWN BUTTON_NEXT + #endif #ifdef HAVE_TOUCHSCREEN diff --git a/apps/settings.h b/apps/settings.h index d0257b51e6..05ad948c0d 100644 --- a/apps/settings.h +++ b/apps/settings.h @@ -642,7 +642,6 @@ struct user_settings #ifdef HAVE_USB_CHARGING_ENABLE int usb_charging; #endif - /* device settings */ #ifdef HAVE_LCD_CONTRAST int contrast; /* lcd contrast */ diff --git a/apps/settings_list.c b/apps/settings_list.c index eb3c76865d..1c41954390 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c @@ -876,8 +876,13 @@ const struct settings_list settings[] = { #ifdef AUDIOHW_HAVE_FILTER_ROLL_OFF CHOICE_SETTING(F_SOUNDSETTING, roll_off, LANG_FILTER_ROLL_OFF, 0, +#ifndef AUDIOHW_HAVE_SHORT_ROLL_OFF "roll_off", "sharp,slow", sound_set_filter_roll_off, 2, ID2P(LANG_FILTER_SHARP), ID2P(LANG_FILTER_SLOW)), +#else + "roll_off", "sharp,slow,short,bypass", sound_set_filter_roll_off, + 4, ID2P(LANG_FILTER_SHARP), ID2P(LANG_FILTER_SLOW), ID2P(LANG_FILTER_SHORT), ID2P(LANG_FILTER_BYPASS)), +#endif #endif /* playback */ diff --git a/bootloader/SOURCES b/bootloader/SOURCES index 0b39da153a..ce73724f69 100644 --- a/bootloader/SOURCES +++ b/bootloader/SOURCES @@ -80,7 +80,8 @@ nwz_linux.c rocker_linux.c #elif defined(RK27_GENERIC) || defined(HM60X) || defined(HM801) \ || defined(MA9) || defined(MA9C) || defined(MA8) || defined(MA8C) \ - || defined(IHIFI760) || defined(IHIFI960) + || defined(IHIFI760) || defined(IHIFI960) || defined(IHIFI800) \ + || defined(IHIFI770) || defined(IHIFI770C) rk27xx.c show_logo.c #elif defined(SANSA_CONNECT) diff --git a/bootloader/common.c b/bootloader/common.c index 5c5647ac64..03c1bf9964 100644 --- a/bootloader/common.c +++ b/bootloader/common.c @@ -54,7 +54,8 @@ || defined(SAMSUNG_YH820) || defined(PHILIPS_SA9200) \ || defined(PHILIPS_HDD1630) || defined(PHILIPS_HDD6330) \ || defined(ONDA_VX747) || defined(PBELL_VIBE500) \ - || defined(TOSHIBA_GIGABEAT_S) || defined(XDUOO_X3) + || defined(TOSHIBA_GIGABEAT_S) || defined(XDUOO_X3) \ + || defined(IHIFI770) || defined(IHIFI770C) || defined(IHIFI800) bool verbose = false; #else bool verbose = true; diff --git a/firmware/SOURCES b/firmware/SOURCES index 33d59fa429..16ae4cc350 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES @@ -442,6 +442,8 @@ drivers/audio/audiohw-swcodec.c #if (CONFIG_PLATFORM & PLATFORM_NATIVE) && !defined(BOOTLOADER) #if defined(HAVE_UDA1380) drivers/audio/uda1380.c +#elif defined(HAVE_WM8740) +drivers/audio/wm8740.c #elif defined(HAVE_WM8751) \ || defined(HAVE_WM8750) drivers/audio/wm8751.c @@ -481,6 +483,8 @@ drivers/audio/df1704.c drivers/audio/pcm1792.c #elif defined (HAVE_CS4398) drivers/audio/cs4398.c +#elif defined (HAVE_ES9018) +drivers/audio/es9018.c #endif /* defined(HAVE_*) */ #else /* PLATFORM_HOSTED */ #if defined(SAMSUNG_YPR0) && defined(HAVE_AS3514) @@ -791,6 +795,12 @@ target/arm/s3c2440/lcd-s3c2440.c target/arm/rk27xx/ma/lcd-ma.c #elif CONFIG_LCD == LCD_IHIFI target/arm/rk27xx/ihifi/lcd-ihifi.c +#elif CONFIG_LCD == LCD_IHIFI770 +target/arm/rk27xx/ihifi2/lcd-ihifi770.c +#elif CONFIG_LCD == LCD_IHIFI770C +target/arm/rk27xx/ihifi2/lcd-ihifi770c.c +#elif CONFIG_LCD == LCD_IHIFI800 +target/arm/rk27xx/ihifi2/lcd-ihifi800.c #endif /* USB Stack */ @@ -1904,6 +1914,21 @@ target/arm/rk27xx/ihifi/powermgmt-ihifi960.c #endif #endif +#if defined(IHIFI770) || defined(IHIFI770C) || defined(IHIFI800) +target/arm/rk27xx/ihifi2/button-ihifi.c +target/arm/rk27xx/ihifi2/power-ihifi.c +#if defined(IHIFI770) +target/arm/rk27xx/ihifi2/powermgmt-ihifi770.c +target/arm/rk27xx/ihifi2/audio-ihifi770.c +#elif defined(IHIFI770C) +target/arm/rk27xx/ihifi2/powermgmt-ihifi770c.c +target/arm/rk27xx/ihifi2/audio-ihifi770.c +#elif defined(IHIFI800) +target/arm/rk27xx/ihifi2/powermgmt-ihifi800.c +target/arm/rk27xx/ihifi2/audio-ihifi800.c +#endif +#endif + #if (CONFIG_PLATFORM & PLATFORM_ANDROID) target/hosted/kernel-unix.c target/hosted/filesystem-unix.c diff --git a/firmware/drivers/audio/es9018.c b/firmware/drivers/audio/es9018.c new file mode 100644 index 0000000000..89e8c1d46f --- /dev/null +++ b/firmware/drivers/audio/es9018.c @@ -0,0 +1,134 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "system.h" +#include "es9018.h" +#include "config.h" +#include "audio.h" +#include "audiohw.h" + +/* NOTE: The register names are not known, as the register numbering + listed in the ES9018 datasheet does not match what is described below.. */ + +static uint8_t reg0 = 0x00; /* System settings. Default value of register 0 */ +static uint8_t reg1 = 0x80; /* Input settings. Manual input, I2S, 32-bit (?) */ +static uint8_t reg4 = 0x00; /* Automute time. Default = disabled */ +static uint8_t reg5 = 0x68; /* Automute level. Default is some level */ +static uint8_t reg6 = 0x4A; /* Deemphasis. Default = disabled */ +static uint8_t reg7 = 0x83; /* General settings. Default sharp fir, pcm iir and muted */ +static uint8_t reg8 = 0x10; /* GPIO configuration */ +static uint8_t reg10 = 0x05; /* Master Mode Control. Default value: master mode off */ +static uint8_t reg11 = 0x02; /* Channel Mapping. Default stereo is Ch1=left, Ch2=right */ +static uint8_t reg12 = 0x50; /* DPLL Settings. Default = 005 for I2S, OFF for DSD */ +static uint8_t reg13 = 0x40; /* THD Compensation */ +static uint8_t reg14 = 0x8A; /* Soft Start Settings */ +static uint8_t reg21 = 0x00; /* Oversampling filter. Default: oversampling ON */ + +#define bitSet(value, bit) ((value) |= (1UL << (bit))) +#define bitClear(value, bit) ((value) &= ~(1UL << (bit))) + +static int vol_tenthdb2hw(const int tdb) +{ + if (tdb < ES9018_VOLUME_MIN) { + return 0xff; + } else if (tdb > ES9018_VOLUME_MAX) { + return 0x00; + } else { + return (-tdb/5); + } +} + +void audiohw_set_volume(int vol_l, int vol_r) +{ + es9018_write_reg(15, vol_tenthdb2hw(vol_l)); + es9018_write_reg(16, vol_tenthdb2hw(vol_r)); +} + +void audiohw_mute(void) +{ + bitSet(reg7, 0); /* Mute Channel 1 */ + bitSet(reg7, 1); /* Mute Channel 2 */ + es9018_write_reg(0x07, reg7); +} + +void audiohw_unmute(void) +{ + bitClear(reg7, 0); /* Unmute Channel 1 */ + bitClear(reg7, 1); /* Unmute Channel 2 */ + es9018_write_reg(0x07, reg7); +} + +void audiohw_init(void) +{ + es9018_write_reg(0x00, reg0); + es9018_write_reg(0x01, reg1); + es9018_write_reg(0x04, reg4); + es9018_write_reg(0x05, reg5); + es9018_write_reg(0x06, reg6); + es9018_write_reg(0x07, reg7); + es9018_write_reg(0x08, reg8); + es9018_write_reg(0x0A, reg10); + es9018_write_reg(0x0B, reg11); + es9018_write_reg(0x0C, reg12); + es9018_write_reg(0x0D, reg13); + es9018_write_reg(0x0E, reg14); + es9018_write_reg(0x15, reg21); +} + +void audiohw_preinit(void) +{ +} + +void audiohw_set_frequency(int fsel) +{ + (void)fsel; +} + +void audiohw_set_filter_roll_off(int value) +{ + /* 0 = Sharp (Default) + 1 = Slow + 2 = Short + 3 = Bypass */ + switch(value) + { + case 0: + bitClear(reg7, 5); + bitClear(reg7, 6); + bitClear(reg21, 0); + break; + case 1: + bitSet(reg7, 5); + bitClear(reg7, 6); + bitClear(reg21, 0); + break; + case 2: + bitClear(reg7, 5); + bitSet(reg7, 6); + bitClear(reg21, 0); + break; + case 3: + bitSet(reg21, 0); + break; + } + es9018_write_reg(0x07, reg7); + es9018_write_reg(0x15, reg21); +} diff --git a/firmware/drivers/audio/wm8740.c b/firmware/drivers/audio/wm8740.c new file mode 100644 index 0000000000..d88f53bd75 --- /dev/null +++ b/firmware/drivers/audio/wm8740.c @@ -0,0 +1,106 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "system.h" +#include "wm8740.h" +#include "config.h" +#include "audio.h" +#include "audiohw.h" + +static void wm8740_write_reg(const int reg, const unsigned int value) +{ + int i; + + for (i = (1<<15); i; i >>= 1) { + udelay(1); + wm8740_set_mc(0); + if ((reg|value) & i) { + wm8740_set_md(1); + } else { + wm8740_set_md(0); + } + udelay(1); + wm8740_set_mc(1); + } + udelay(1); + wm8740_set_ml(0); + udelay(1); + wm8740_set_mc(0); + udelay(1); + wm8740_set_ml(1); + udelay(1); +} + +static int vol_tenthdb2hw(const int tdb) +{ + if (tdb < WM8740_VOLUME_MIN) { + return 0x00; + } else if (tdb > WM8740_VOLUME_MAX) { + return 0xff; + } else { + return ((tdb / 5 + 0xff) & 0xff); + } +} + +void audiohw_set_volume(int vol_l, int vol_r) +{ + wm8740_write_reg(WM8740_REG0, vol_tenthdb2hw(vol_l)); + wm8740_write_reg(WM8740_REG1, vol_tenthdb2hw(vol_r) | WM8740_LDR); +} + +void audiohw_mute(void) +{ + wm8740_write_reg(WM8740_REG2, WM8740_MUT); +} + +void audiohw_unmute(void) +{ + wm8740_write_reg(WM8740_REG2, 0x00); +} + +void audiohw_init(void) +{ + wm8740_write_reg(WM8740_REG0, 0x00); + wm8740_write_reg(WM8740_REG1, 0x00); + wm8740_write_reg(WM8740_REG2, WM8740_MUT); + wm8740_write_reg(WM8740_REG3, WM8740_I2S); + wm8740_write_reg(WM8740_REG4, 0x00); +} + +void audiohw_preinit(void) +{ +} + +void audiohw_set_frequency(int fsel) +{ + (void)fsel; +} + +void audiohw_set_filter_roll_off(int value) +{ + /* 0 = fast (sharp); + 1 = slow */ + if (value == 0) { + wm8740_write_reg(WM8740_REG3, WM8740_I2S); + } else { + wm8740_write_reg(WM8740_REG3, WM8740_I2S | WM8740_SR0); + } +} diff --git a/firmware/export/audiohw.h b/firmware/export/audiohw.h index 09001c8045..458fba3412 100644 --- a/firmware/export/audiohw.h +++ b/firmware/export/audiohw.h @@ -165,6 +165,8 @@ struct sound_settings_info #include "uda1380.h" #elif defined(HAVE_UDA1341) #include "uda1341.h" +#elif defined(HAVE_WM8740) +#include "wm8740.h" #elif defined(HAVE_WM8750) || defined(HAVE_WM8751) #include "wm8751.h" #elif defined(HAVE_WM8978) @@ -211,6 +213,8 @@ struct sound_settings_info #include "nwzlinux_codec.h" #elif defined(HAVE_CS4398) #include "cs4398.h" +#elif defined(HAVE_ES9018) +#include "es9018.h" #elif (CONFIG_PLATFORM & (PLATFORM_ANDROID | PLATFORM_MAEMO\ | PLATFORM_PANDORA | PLATFORM_SDL)) #include "hosted_codec.h" @@ -571,7 +575,7 @@ void audiohw_set_depth_3d(int val); #ifdef AUDIOHW_HAVE_FILTER_ROLL_OFF /** * Set DAC's oversampling filter roll-off. - * @param val 0 - sharp roll-off, 1 - slow roll-off. + * @param val 0 - sharp roll-off, 1 - slow roll-off, 2 - short roll-off, 3 - bypass. * NOTE: AUDIOHW_CAPS need to contain * FILTER_ROLL_OFF_CAP */ diff --git a/firmware/export/config.h b/firmware/export/config.h index 8b177963d3..2db12bea4a 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h @@ -169,6 +169,8 @@ #define SONY_NWZA860_PAD 64 /* The NWZ-A860 is too different (touchscreen) */ #define AGPTEK_ROCKER_PAD 65 #define XDUOO_X3_PAD 66 +#define IHIFI_770_PAD 67 +#define IHIFI_800_PAD 68 /* CONFIG_REMOTE_KEYPAD */ #define H100_REMOTE 1 @@ -284,6 +286,9 @@ #define LCD_NWZ_LINUX 63 /* as used in the Linux-based NWZ series */ #define LCD_INGENIC_LINUX 64 #define LCD_XDUOOX3 65 /* as used by the xDuoo X3 */ +#define LCD_IHIFI770 66 /* as used by IHIFI 770 */ +#define LCD_IHIFI770C 67 /* as used by IHIFI 770C */ +#define LCD_IHIFI800 68 /* as used by IHIFI 800 */ /* LCD_PIXELFORMAT */ #define HORIZONTAL_PACKING 1 @@ -581,6 +586,12 @@ Lyre prototype 1 */ #include "config/samsungypz5.h" #elif defined(IHIFI760) #include "config/ihifi760.h" +#elif defined(IHIFI770) +#include "config/ihifi770.h" +#elif defined(IHIFI770C) +#include "config/ihifi770c.h" +#elif defined(IHIFI800) +#include "config/ihifi800.h" #elif defined(IHIFI960) #include "config/ihifi960.h" #elif defined(CREATIVE_ZENXFISTYLE) @@ -974,7 +985,6 @@ Lyre prototype 1 */ #define USB_STATUS_BY_EVENT #define USB_DETECT_BY_REQUEST #elif CONFIG_USBOTG == USBOTG_RK27XX -#define USB_STATUS_BY_EVENT #define USB_DETECT_BY_REQUEST #endif /* CONFIG_USB == */ #endif /* HAVE_USBSTACK */ @@ -1193,7 +1203,7 @@ Lyre prototype 1 */ #endif /* HAVE_USB_CHARGING_ENABLE && HAVE_USBSTACK */ #ifndef SIMULATOR -#if defined(HAVE_USBSTACK) || (CONFIG_STORAGE & STORAGE_NAND) +#if defined(HAVE_USBSTACK) || (CONFIG_STORAGE & STORAGE_NAND) || (CONFIG_STORAGE & STORAGE_RAMDISK) #define STORAGE_GET_INFO #endif #endif @@ -1211,7 +1221,8 @@ Lyre prototype 1 */ (CONFIG_USBOTG == USBOTG_JZ4760) || \ (CONFIG_USBOTG == USBOTG_M66591) || \ (CONFIG_USBOTG == USBOTG_DESIGNWARE) || \ - (CONFIG_USBOTG == USBOTG_AS3525) + (CONFIG_USBOTG == USBOTG_AS3525) || \ + (CONFIG_USBOTG == USBOTG_RK27XX) #define USB_HAS_BULK #define USB_HAS_INTERRUPT #elif defined(CPU_TCC780X) || defined(CPU_TCC77X) diff --git a/firmware/export/config/ihifi770.h b/firmware/export/config/ihifi770.h new file mode 100644 index 0000000000..af7acff206 --- /dev/null +++ b/firmware/export/config/ihifi770.h @@ -0,0 +1,197 @@ +/* + * This config file is for IHIFI 770 + */ + +/* For Rolo and boot loader */ +#define MODEL_NUMBER 108 + +#define MODEL_NAME "IHIFI 770" + +/* Define bitmask of input sources - recordable bitmask can be defined + explicitly if different */ +/* #define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FM) */ + +/* define the bitmask of hardware sample rates */ +#define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_48 | SAMPR_CAP_44 | \ + SAMPR_CAP_32 | SAMPR_CAP_24 | SAMPR_CAP_22 | \ + SAMPR_CAP_16 | SAMPR_CAP_12 | SAMPR_CAP_11 | SAMPR_CAP_8) + +#define HAVE_WM8740 +#define CODEC_SLAVE + +/* define this if you have a bitmap LCD display */ +#define HAVE_LCD_BITMAP + +/* define this if you can flip your LCD */ +/* #define HAVE_LCD_FLIP */ + +/* define this if you have a colour LCD */ +#define HAVE_LCD_COLOR + +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + +/* define this to enable bitmap scaling */ +#define HAVE_BMP_SCALING + +/* define this to enable JPEG decoding */ +#define HAVE_JPEG + +/* define this if you can invert the colours on your LCD */ +/* #define HAVE_LCD_INVERT */ + +/* define this if you have access to the quickscreen */ +#define HAVE_QUICKSCREEN + +/* define this if you would like tagcache to build on this target */ +#define HAVE_TAGCACHE + +/* define this if you have a flash memory storage */ +#define HAVE_FLASH_STORAGE + +#define CONFIG_STORAGE (STORAGE_SD | STORAGE_NAND) + +#define CONFIG_NAND NAND_RK27XX +#define HAVE_SW_TONE_CONTROLS + +#define HAVE_HOTSWAP + +#define NUM_DRIVES 1 +#define SECTOR_SIZE 512 + +/* for small(ish) SD cards */ +#define HAVE_FAT16SUPPORT + +/* LCD dimensions */ +#define LCD_WIDTH 320 +#define LCD_HEIGHT 240 +/* sqrt(320^2 + 240^2) / 2.4 = 166.7 */ +#define LCD_DPI 167 +#define LCD_DEPTH 16 /* pseudo 262.144 colors */ +#define LCD_PIXELFORMAT RGB565 /* rgb565 */ + +/* Define this if the LCD can shut down */ +/* #define HAVE_LCD_SHUTDOWN */ + +/* Define this if your LCD can be enabled/disabled */ +#define HAVE_LCD_ENABLE + +/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE + should be defined as well. */ +#ifndef BOOTLOADER +/* TODO: #define HAVE_LCD_SLEEP */ +/* TODO: #define HAVE_LCD_SLEEP_SETTING */ +#endif + +#define CONFIG_KEYPAD IHIFI_770_PAD + +/* define this if the target has volume keys which can be used in the lists */ +#define HAVE_VOLUME_IN_LIST + +/* Define this if a programmable hotkey is mapped */ +/* #define HAVE_HOTKEY */ + +/* Define this if you do software codec */ +#define CONFIG_CODEC SWCODEC + +/* define this if you have a real-time clock */ +/* #define CONFIG_RTC RTC_NANO2G */ + +/* Define if the device can wake from an RTC alarm */ +/* #define HAVE_RTC_ALARM */ + +/* Define the type of audio codec */ +/*#define HAVE_RK27XX_CODEC */ + +/* #define HAVE_PCM_DMA_ADDRESS */ + +/* Define this for LCD backlight available */ +#define HAVE_BACKLIGHT +#define HAVE_BACKLIGHT_BRIGHTNESS +#define MIN_BRIGHTNESS_SETTING 0 +#define MAX_BRIGHTNESS_SETTING 31 +#define DEFAULT_BRIGHTNESS_SETTING 31 +#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_HW_REG + +/* Define this if you have a software controlled poweroff */ +#define HAVE_SW_POWEROFF + +/* The number of bytes reserved for loadable codecs */ +#define CODEC_SIZE 0x100000 + +/* The number of bytes reserved for loadable plugins */ +#define PLUGIN_BUFFER_SIZE 0x80000 + +#define BATTERY_CAPACITY_DEFAULT 1050 /* default battery capacity */ +#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */ +#define BATTERY_CAPACITY_MAX 1050 /* max. capacity selectable */ +#define BATTERY_CAPACITY_INC 10 /* capacity increment */ +#define BATTERY_TYPES_COUNT 1 /* only one type */ + +#define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE + +/* Hardware controlled charging with monitoring */ +#define CONFIG_CHARGING CHARGING_MONITOR + +/* define current usage levels */ +/* TODO: #define CURRENT_NORMAL + * TODO: #define CURRENT_BACKLIGHT 23 + */ + +/* define this if the unit can be powered or charged via USB */ +#define HAVE_USB_POWER + +/* Define this if your LCD can set contrast */ +/* #define HAVE_LCD_CONTRAST */ + +/* Offset ( in the firmware file's header ) to the file CRC */ +#define FIRMWARE_OFFSET_FILE_CRC 0 + +/* Offset ( in the firmware file's header ) to the real data */ +#define FIRMWARE_OFFSET_FILE_DATA 8 + +#define STORAGE_NEEDS_ALIGN + +/* Define this if you have adjustable CPU frequency */ +#define HAVE_ADJUSTABLE_CPU_FREQ + +/* Virtual LED (icon) */ +#define CONFIG_LED LED_VIRTUAL + +/** Non-simulator section **/ +#ifndef SIMULATOR + +/* The exact type of CPU */ +#define CONFIG_CPU RK27XX + +/* Define this to the CPU frequency */ +#define CPU_FREQ 200000000 + +/* I2C interface */ +#define CONFIG_I2C I2C_RK27XX + +/* define this if the hardware can be powered off while charging */ +/* #define HAVE_POWEROFF_WHILE_CHARGING */ + +/* Type of LCD */ +#define CONFIG_LCD LCD_IHIFI770 + +/* USB On-the-go */ +#define CONFIG_USBOTG USBOTG_RK27XX + +/* enable these for the experimental usb stack */ +#define HAVE_USBSTACK + +#define USB_VENDOR_ID 0x071b +#define USB_PRODUCT_ID 0x3202 +#define HAVE_BOOTLOADER_USB_MODE + +#define RKW_FORMAT +#define BOOTFILE_EXT "rkw" +#define BOOTFILE "rockbox." BOOTFILE_EXT +#define BOOTDIR "/.rockbox" + +/* disabled for now */ +#undef HAVE_HOTSWAP + +#endif /* SIMULATOR */ diff --git a/firmware/export/config/ihifi770c.h b/firmware/export/config/ihifi770c.h new file mode 100644 index 0000000000..c4058f337b --- /dev/null +++ b/firmware/export/config/ihifi770c.h @@ -0,0 +1,197 @@ +/* + * This config file is for IHIFI 770C + */ + +/* For Rolo and boot loader */ +#define MODEL_NUMBER 108 + +#define MODEL_NAME "IHIFI 770C" + +/* Define bitmask of input sources - recordable bitmask can be defined + explicitly if different */ +/* #define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FM) */ + +/* define the bitmask of hardware sample rates */ +#define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_48 | SAMPR_CAP_44 | \ + SAMPR_CAP_32 | SAMPR_CAP_24 | SAMPR_CAP_22 | \ + SAMPR_CAP_16 | SAMPR_CAP_12 | SAMPR_CAP_11 | SAMPR_CAP_8) + +#define HAVE_WM8740 +#define CODEC_SLAVE + +/* define this if you have a bitmap LCD display */ +#define HAVE_LCD_BITMAP + +/* define this if you can flip your LCD */ +/* #define HAVE_LCD_FLIP */ + +/* define this if you have a colour LCD */ +#define HAVE_LCD_COLOR + +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + +/* define this to enable bitmap scaling */ +#define HAVE_BMP_SCALING + +/* define this to enable JPEG decoding */ +#define HAVE_JPEG + +/* define this if you can invert the colours on your LCD */ +/* #define HAVE_LCD_INVERT */ + +/* define this if you have access to the quickscreen */ +#define HAVE_QUICKSCREEN + +/* define this if you would like tagcache to build on this target */ +#define HAVE_TAGCACHE + +/* define this if you have a flash memory storage */ +#define HAVE_FLASH_STORAGE + +#define CONFIG_STORAGE (STORAGE_SD | STORAGE_NAND) + +#define CONFIG_NAND NAND_RK27XX +#define HAVE_SW_TONE_CONTROLS + +#define HAVE_HOTSWAP + +#define NUM_DRIVES 1 +#define SECTOR_SIZE 512 + +/* for small(ish) SD cards */ +#define HAVE_FAT16SUPPORT + +/* LCD dimensions */ +#define LCD_WIDTH 320 +#define LCD_HEIGHT 240 +/* sqrt(320^2 + 240^2) / 2.4 = 166.7 */ +#define LCD_DPI 167 +#define LCD_DEPTH 16 /* pseudo 262.144 colors */ +#define LCD_PIXELFORMAT RGB565 /* rgb565 */ + +/* Define this if the LCD can shut down */ +/* #define HAVE_LCD_SHUTDOWN */ + +/* Define this if your LCD can be enabled/disabled */ +#define HAVE_LCD_ENABLE + +/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE + should be defined as well. */ +#ifndef BOOTLOADER +/* TODO: #define HAVE_LCD_SLEEP */ +/* TODO: #define HAVE_LCD_SLEEP_SETTING */ +#endif + +#define CONFIG_KEYPAD IHIFI_770_PAD + +/* define this if the target has volume keys which can be used in the lists */ +#define HAVE_VOLUME_IN_LIST + +/* Define this if a programmable hotkey is mapped */ +/* #define HAVE_HOTKEY */ + +/* Define this if you do software codec */ +#define CONFIG_CODEC SWCODEC + +/* define this if you have a real-time clock */ +/* #define CONFIG_RTC RTC_NANO2G */ + +/* Define if the device can wake from an RTC alarm */ +/* #define HAVE_RTC_ALARM */ + +/* Define the type of audio codec */ +/*#define HAVE_RK27XX_CODEC */ + +/* #define HAVE_PCM_DMA_ADDRESS */ + +/* Define this for LCD backlight available */ +#define HAVE_BACKLIGHT +#define HAVE_BACKLIGHT_BRIGHTNESS +#define MIN_BRIGHTNESS_SETTING 0 +#define MAX_BRIGHTNESS_SETTING 31 +#define DEFAULT_BRIGHTNESS_SETTING 31 +#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_HW_REG + +/* Define this if you have a software controlled poweroff */ +#define HAVE_SW_POWEROFF + +/* The number of bytes reserved for loadable codecs */ +#define CODEC_SIZE 0x100000 + +/* The number of bytes reserved for loadable plugins */ +#define PLUGIN_BUFFER_SIZE 0x80000 + +#define BATTERY_CAPACITY_DEFAULT 1050 /* default battery capacity */ +#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */ +#define BATTERY_CAPACITY_MAX 1050 /* max. capacity selectable */ +#define BATTERY_CAPACITY_INC 10 /* capacity increment */ +#define BATTERY_TYPES_COUNT 1 /* only one type */ + +#define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE + +/* Hardware controlled charging with monitoring */ +#define CONFIG_CHARGING CHARGING_MONITOR + +/* define current usage levels */ +/* TODO: #define CURRENT_NORMAL + * TODO: #define CURRENT_BACKLIGHT 23 + */ + +/* define this if the unit can be powered or charged via USB */ +#define HAVE_USB_POWER + +/* Define this if your LCD can set contrast */ +/* #define HAVE_LCD_CONTRAST */ + +/* Offset ( in the firmware file's header ) to the file CRC */ +#define FIRMWARE_OFFSET_FILE_CRC 0 + +/* Offset ( in the firmware file's header ) to the real data */ +#define FIRMWARE_OFFSET_FILE_DATA 8 + +#define STORAGE_NEEDS_ALIGN + +/* Define this if you have adjustable CPU frequency */ +#define HAVE_ADJUSTABLE_CPU_FREQ + +/* Virtual LED (icon) */ +#define CONFIG_LED LED_VIRTUAL + +/** Non-simulator section **/ +#ifndef SIMULATOR + +/* The exact type of CPU */ +#define CONFIG_CPU RK27XX + +/* Define this to the CPU frequency */ +#define CPU_FREQ 200000000 + +/* I2C interface */ +#define CONFIG_I2C I2C_RK27XX + +/* define this if the hardware can be powered off while charging */ +/* #define HAVE_POWEROFF_WHILE_CHARGING */ + +/* Type of LCD */ +#define CONFIG_LCD LCD_IHIFI770C + +/* USB On-the-go */ +#define CONFIG_USBOTG USBOTG_RK27XX + +/* enable these for the experimental usb stack */ +#define HAVE_USBSTACK + +#define USB_VENDOR_ID 0x071b +#define USB_PRODUCT_ID 0x3202 +#define HAVE_BOOTLOADER_USB_MODE + +#define RKW_FORMAT +#define BOOTFILE_EXT "rkw" +#define BOOTFILE "rockbox." BOOTFILE_EXT +#define BOOTDIR "/.rockbox" + +/* disabled for now */ +#undef HAVE_HOTSWAP + +#endif /* SIMULATOR */ diff --git a/firmware/export/config/ihifi800.h b/firmware/export/config/ihifi800.h new file mode 100644 index 0000000000..eb1c2015ad --- /dev/null +++ b/firmware/export/config/ihifi800.h @@ -0,0 +1,198 @@ +/* + * This config file is for IHIFI 800 + */ + +/* For Rolo and boot loader */ +#define MODEL_NUMBER 109 + +#define MODEL_NAME "IHIFI 800" + +/* Define bitmask of input sources - recordable bitmask can be defined + explicitly if different */ +/* #define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FM) */ + +/* define the bitmask of hardware sample rates */ +#define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_48 | SAMPR_CAP_44 | \ + SAMPR_CAP_32 | SAMPR_CAP_24 | SAMPR_CAP_22 | \ + SAMPR_CAP_16 | SAMPR_CAP_12 | SAMPR_CAP_11 | SAMPR_CAP_8) + +#define HAVE_ES9018 +#define CODEC_SLAVE + +/* define this if you have a bitmap LCD display */ +#define HAVE_LCD_BITMAP + +/* define this if you can flip your LCD */ +/* #define HAVE_LCD_FLIP */ + +/* define this if you have a colour LCD */ +#define HAVE_LCD_COLOR + +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + +/* define this to enable bitmap scaling */ +#define HAVE_BMP_SCALING + +/* define this to enable JPEG decoding */ +#define HAVE_JPEG + +/* define this if you can invert the colours on your LCD */ +/* #define HAVE_LCD_INVERT */ + +/* define this if you have access to the quickscreen */ +#define HAVE_QUICKSCREEN + +/* define this if you would like tagcache to build on this target */ +#define HAVE_TAGCACHE + +/* define this if you have a flash memory storage */ +#define HAVE_FLASH_STORAGE + +#define CONFIG_STORAGE (STORAGE_SD | STORAGE_NAND) + +#define CONFIG_NAND NAND_RK27XX +#define HAVE_SW_TONE_CONTROLS + +#define HAVE_HOTSWAP + +#define NUM_DRIVES 1 +#define SECTOR_SIZE 512 + +/* for small(ish) SD cards */ +#define HAVE_FAT16SUPPORT + +/* LCD dimensions */ +#define LCD_WIDTH 240 +#define LCD_HEIGHT 320 +/* sqrt(240^2 + 320^2) / 2.4 = 166.7 */ +#define LCD_DPI 167 +#define LCD_DEPTH 16 /* pseudo 262.144 colors */ +#define LCD_PIXELFORMAT RGB565 /* rgb565 */ + +/* Define this if the LCD can shut down */ +/* #define HAVE_LCD_SHUTDOWN */ + +/* Define this if your LCD can be enabled/disabled */ +#define HAVE_LCD_ENABLE + +/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE + should be defined as well. */ +#ifndef BOOTLOADER +/* TODO: #define HAVE_LCD_SLEEP */ +/* TODO: #define HAVE_LCD_SLEEP_SETTING */ +#endif + +#define CONFIG_KEYPAD IHIFI_800_PAD + +/* define this if the target has volume keys which can be used in the lists */ +#define HAVE_VOLUME_IN_LIST + +/* Define this if a programmable hotkey is mapped */ +/* #define HAVE_HOTKEY */ + +/* Define this if you do software codec */ +#define CONFIG_CODEC SWCODEC + +/* define this if you have a real-time clock */ +/* #define CONFIG_RTC RTC_NANO2G */ + +/* Define if the device can wake from an RTC alarm */ +/* #define HAVE_RTC_ALARM */ + +/* Define the type of audio codec */ +/*#define HAVE_RK27XX_CODEC */ + +/* #define HAVE_PCM_DMA_ADDRESS */ + +/* Define this for LCD backlight available */ +#define HAVE_BACKLIGHT +#define HAVE_BACKLIGHT_BRIGHTNESS +#define MIN_BRIGHTNESS_SETTING 0 +#define MAX_BRIGHTNESS_SETTING 31 +#define DEFAULT_BRIGHTNESS_SETTING 31 +#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_HW_REG + +/* Define this if you have a software controlled poweroff */ +#define HAVE_SW_POWEROFF + +/* The number of bytes reserved for loadable codecs */ +#define CODEC_SIZE 0x100000 + +/* The number of bytes reserved for loadable plugins */ +#define PLUGIN_BUFFER_SIZE 0x80000 + +/* TODO: Figure out real values */ +#define BATTERY_CAPACITY_DEFAULT 1400 /* default battery capacity */ +#define BATTERY_CAPACITY_MIN 700 /* min. capacity selectable */ +#define BATTERY_CAPACITY_MAX 1400 /* max. capacity selectable */ +#define BATTERY_CAPACITY_INC 10 /* capacity increment */ +#define BATTERY_TYPES_COUNT 1 /* only one type */ + +#define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE + +/* Hardware controlled charging with monitoring */ +#define CONFIG_CHARGING CHARGING_MONITOR + +/* define current usage levels */ +/* TODO: #define CURRENT_NORMAL + * TODO: #define CURRENT_BACKLIGHT 23 + */ + +/* define this if the unit can be powered or charged via USB */ +#define HAVE_USB_POWER + +/* Define this if your LCD can set contrast */ +/* #define HAVE_LCD_CONTRAST */ + +/* Offset ( in the firmware file's header ) to the file CRC */ +#define FIRMWARE_OFFSET_FILE_CRC 0 + +/* Offset ( in the firmware file's header ) to the real data */ +#define FIRMWARE_OFFSET_FILE_DATA 8 + +#define STORAGE_NEEDS_ALIGN + +/* Define this if you have adjustable CPU frequency */ +#define HAVE_ADJUSTABLE_CPU_FREQ + +/* Virtual LED (icon) */ +#define CONFIG_LED LED_VIRTUAL + +/** Non-simulator section **/ +#ifndef SIMULATOR + +/* The exact type of CPU */ +#define CONFIG_CPU RK27XX + +/* Define this to the CPU frequency */ +#define CPU_FREQ 200000000 + +/* I2C interface */ +#define CONFIG_I2C I2C_RK27XX + +/* define this if the hardware can be powered off while charging */ +/* #define HAVE_POWEROFF_WHILE_CHARGING */ + +/* Type of LCD */ +#define CONFIG_LCD LCD_IHIFI800 + +/* USB On-the-go */ +#define CONFIG_USBOTG USBOTG_RK27XX + +/* enable these for the experimental usb stack */ +#define HAVE_USBSTACK + +#define USB_VENDOR_ID 0x071b +#define USB_PRODUCT_ID 0x3202 +#define HAVE_BOOTLOADER_USB_MODE + +#define RKW_FORMAT +#define BOOTFILE_EXT "rkw" +#define BOOTFILE "rockbox." BOOTFILE_EXT +#define BOOTDIR "/.rockbox" + +/* disabled for now */ +#undef HAVE_HOTSWAP + +#endif /* SIMULATOR */ diff --git a/firmware/export/config/rk27generic.h b/firmware/export/config/rk27generic.h index 503857bd43..69cf9f3758 100644 --- a/firmware/export/config/rk27generic.h +++ b/firmware/export/config/rk27generic.h @@ -63,7 +63,7 @@ /* commented for now */ /* #define HAVE_HOTSWAP */ -#define NUM_DRIVES 2 +#define NUM_DRIVES 1 #define SECTOR_SIZE 512 /* for small(ish) SD cards */ diff --git a/firmware/export/es9018.h b/firmware/export/es9018.h new file mode 100644 index 0000000000..41ea0d0b1c --- /dev/null +++ b/firmware/export/es9018.h @@ -0,0 +1,39 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef _ES9018_H +#define _ES9018_H + +#define ES9018_VOLUME_MIN -1270 +#define ES9018_VOLUME_MAX 0 + +#define AUDIOHW_CAPS (FILTER_ROLL_OFF_CAP) +#define AUDIOHW_HAVE_SHORT_ROLL_OFF +AUDIOHW_SETTING(VOLUME, "dB", 0, 1, ES9018_VOLUME_MIN/10, ES9018_VOLUME_MAX/10, 0) +AUDIOHW_SETTING(FILTER_ROLL_OFF, "", 0, 1, 0, 3, 0) + +void es9018_write_reg(uint8_t reg, uint8_t val); +uint8_t es9018_read_reg(uint8_t reg); + +void audiohw_mute(void); +void audiohw_unmute(void); + +#endif diff --git a/firmware/export/rk27xx.h b/firmware/export/rk27xx.h index 58b3fe8166..dc6bca7cbd 100644 --- a/firmware/export/rk27xx.h +++ b/firmware/export/rk27xx.h @@ -8,7 +8,8 @@ #define FLASH_BANK1 0x11000000 #define USB_NUM_ENDPOINTS 16 -#define USB_DEVBSS_ATTR +/* cache aligned */ +#define USB_DEVBSS_ATTR __attribute__((aligned(CACHEALIGN_SIZE))) /* Timers */ #define APB0_TIMER (ARM_BUS0_BASE + 0x00000000) @@ -811,6 +812,7 @@ #define RXVOIDINTEN (1<<5) #define RXERRINTEN (1<<6) #define RXACKINTEN (1<<7) +#define RXCFINTE (1<<12) /* bits 31:8 reserved for EP0 */ /* bits 31:14 reserved for others */ @@ -833,6 +835,7 @@ #define TXERRINTEN (1<<5) #define TXACKINTEN (1<<6) #define TXDMADNEN (1<<7) /* reserved for EP0 */ +#define TXCFINTE (1<<12) /* bits 31:8 reserved */ /* TXnBUF bits */ diff --git a/firmware/export/wm8740.h b/firmware/export/wm8740.h new file mode 100644 index 0000000000..ff27a7e41e --- /dev/null +++ b/firmware/export/wm8740.h @@ -0,0 +1,83 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef _WM8740_H +#define _WM8740_H + +#define WM8740_VOLUME_MIN -1270 +#define WM8740_VOLUME_MAX 0 + +#define AUDIOHW_CAPS (FILTER_ROLL_OFF_CAP) +AUDIOHW_SETTING(VOLUME, "dB", 0, 1, WM8740_VOLUME_MIN/10, WM8740_VOLUME_MAX/10, 0) +AUDIOHW_SETTING(FILTER_ROLL_OFF, "", 0, 1, 0, 1, 0) + +#define WM8740_REG0 0x0000 +#define WM8740_REG1 0x0200 +#define WM8740_REG2 0x0400 +#define WM8740_REG3 0x0600 +#define WM8740_REG4 0x0C00 + +/** + * Register #0 + */ +#define WM8740_LDL (1<<8) + +/** + * Register #1 + */ +#define WM8740_LDR (1<<8) + +/** + * Register #2 + */ +#define WM8740_MUT (1<<0) +#define WM8740_DEM (1<<1) +#define WM8740_OPE (1<<2) +#define WM8740_IW0 (1<<3) +#define WM8740_IW1 (1<<4) + +/** + * Register #3 + */ +#define WM8740_I2S (1<<0) +#define WM8740_LRP (1<<1) +#define WM8740_ATC (1<<2) +#define WM8740_SR0 (1<<3) +#define WM8740_REV (1<<4) +#define WM8740_SF0 (1<<6) +#define WM8740_SF1 (1<<7) +#define WM8740_IZD (1<<8) + +/** + * Register #4 + */ +#define WM8740_DIFF0 (1<<4) +#define WM8740_DIFF1 (1<<5) +#define WM8740_CDD (1<<6) + +void audiohw_mute(void); +void audiohw_unmute(void); + +void wm8740_set_ml(const int); +void wm8740_set_mc(const int); +void wm8740_set_md(const int); + +#endif diff --git a/firmware/target/arm/rk27xx/backlight-rk27xx.c b/firmware/target/arm/rk27xx/backlight-rk27xx.c index 1756fcdb29..61e887af46 100644 --- a/firmware/target/arm/rk27xx/backlight-rk27xx.c +++ b/firmware/target/arm/rk27xx/backlight-rk27xx.c @@ -75,6 +75,13 @@ static const unsigned short lin_brightness[] = { 759, 768, 778, 788, 800, 812, 826, 841, 856, 873, 891, 910, 931, 952, 975, 1000 }; +#elif defined(IHIFI770) || defined(IHIFI770C) || defined(IHIFI800) +static const unsigned short lin_brightness[] = { + 4096, 4215, 4381, 4603, 4887, 5243, 5679, 6201, + 6818, 7538, 8370, 9320, 10397, 11609, 12963, 14469, + 16133, 17963, 19968, 22156, 24534, 27110, 29893, 32890, + 36109, 39559, 43246, 47180, 51368, 55817, 60537, 65535 +}; #endif bool backlight_hw_init(void) diff --git a/firmware/target/arm/rk27xx/debug-rk27xx.c b/firmware/target/arm/rk27xx/debug-rk27xx.c index 83bc1a5af6..ea0190049f 100644 --- a/firmware/target/arm/rk27xx/debug-rk27xx.c +++ b/firmware/target/arm/rk27xx/debug-rk27xx.c @@ -35,6 +35,8 @@ #elif defined(HM60X) || defined(HM801) || (CONFIG_KEYPAD == MA_PAD) || \ (CONFIG_KEYPAD == IHIFI_PAD) #define DEBUG_CANCEL BUTTON_LEFT +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD) +#define DEBUG_CANCEL BUTTON_POWER #endif /* Skeleton for adding target specific debug info to the debug menu diff --git a/firmware/target/arm/rk27xx/ihifi2/audio-ihifi770.c b/firmware/target/arm/rk27xx/ihifi2/audio-ihifi770.c new file mode 100644 index 0000000000..a21ea9cfef --- /dev/null +++ b/firmware/target/arm/rk27xx/ihifi2/audio-ihifi770.c @@ -0,0 +1,88 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "system.h" +#include "kernel.h" +#include "audiohw.h" + +void wm8740_hw_init(void) +{ + GPIO_PADR &= ~(1<<0); /* MD */ + GPIO_PACON |= (1<<0); + + GPIO_PADR &= ~(1<<1); /* MC */ + GPIO_PACON |= (1<<1); + + SCU_IOMUXB_CON &= ~(1<<2); + GPIO_PCDR |= (1<<4); /* ML */ + GPIO_PCCON |= (1<<4); +} + +void wm8740_set_md(const int val) +{ + if (val) + GPIO_PADR |= (1<<0); + else + GPIO_PADR &= ~(1<<0); +} + +void wm8740_set_mc(const int val) +{ + if (val) + GPIO_PADR |= (1<<1); + else + GPIO_PADR &= ~(1<<1); +} + +void wm8740_set_ml(const int val) +{ + if (val) + GPIO_PCDR |= (1<<4); + else + GPIO_PCDR &= ~(1<<4); +} + +static void pop_ctrl(const int val) +{ + if (val) + GPIO_PADR |= (1<<7); + else + GPIO_PADR &= ~(1<<7); +} + +void audiohw_postinit(void) +{ + pop_ctrl(0); + sleep(HZ/4); + wm8740_hw_init(); + audiohw_init(); + sleep(HZ/2); + pop_ctrl(1); + sleep(HZ/4); + audiohw_unmute(); +} + +void audiohw_close(void) +{ + audiohw_mute(); + pop_ctrl(0); + sleep(HZ/4); +} diff --git a/firmware/target/arm/rk27xx/ihifi2/audio-ihifi800.c b/firmware/target/arm/rk27xx/ihifi2/audio-ihifi800.c new file mode 100644 index 0000000000..14b126c72a --- /dev/null +++ b/firmware/target/arm/rk27xx/ihifi2/audio-ihifi800.c @@ -0,0 +1,67 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "system.h" +#include "kernel.h" +#include "audiohw.h" +#include "i2c-rk27xx.h" + +#define ES9018_I2C_ADDR 0x90 + +static unsigned char buf; + +void es9018_write_reg(uint8_t reg, uint8_t val) +{ + buf = val; + i2c_write(ES9018_I2C_ADDR, reg, sizeof(buf), (void*)&buf); +} + +uint8_t es9018_read_reg(uint8_t reg) +{ + i2c_read(ES9018_I2C_ADDR, reg, sizeof(buf), (void*)&buf); + return buf; +} + +static void pop_ctrl(const int val) +{ + if (val) + GPIO_PADR |= (1<<7); + else + GPIO_PADR &= ~(1<<7); +} + +void audiohw_postinit(void) +{ + pop_ctrl(0); + sleep(HZ/4); + audiohw_init(); + sleep(HZ/2); + pop_ctrl(1); + sleep(HZ/4); + audiohw_unmute(); +} + +void audiohw_close(void) +{ + audiohw_mute(); + pop_ctrl(0); + sleep(HZ/4); +} diff --git a/firmware/target/arm/rk27xx/ihifi2/button-ihifi.c b/firmware/target/arm/rk27xx/ihifi2/button-ihifi.c new file mode 100644 index 0000000000..172853a83a --- /dev/null +++ b/firmware/target/arm/rk27xx/ihifi2/button-ihifi.c @@ -0,0 +1,99 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" +#include "system.h" +#include "kernel.h" +#include "button.h" +#include "adc.h" +#include "backlight.h" + +static bool soft_hold = false; +#ifndef BOOTLOADER +static unsigned hold_counter = 0; +#ifndef IHIFI800 +#define HOLDBUTTON gpio_btn +#define HOLDCNTMAX HZ +#else +#define HOLDBUTTON (gpio_btn) && (adc_val > 325) && (adc_val < 480) +#define HOLDCNTMAX (HZ/10) +#endif +#endif + +void button_init_device(void) { + GPIO_PCCON &= ~(1<<1); /* PWR BTN */ + GPIO_PCCON &= ~(1<<7); /* CD */ +} + +bool button_hold(void) +{ + return soft_hold; +} + +int button_read_device(void) { + int adc_val = adc_read(ADC_BUTTONS); + int gpio_btn = GPIO_PCDR & (1<<1); + + int button = BUTTON_NONE; + + if (gpio_btn) + button |= BUTTON_POWER; + +#ifndef BOOTLOADER + if (HOLDBUTTON) { + if (++hold_counter == HOLDCNTMAX) { + soft_hold = !soft_hold; + backlight_hold_changed(soft_hold); + } + } else { + hold_counter = 0; + } + if (soft_hold) { + return (hold_counter <= HOLDCNTMAX) ? BUTTON_NONE : button; + } +#endif + + if (adc_val < 792) { + if (adc_val < 480) { + if (adc_val < 170) { + if (adc_val < 46) { + button |= BUTTON_HOME; // 0-45 + } else { + button |= BUTTON_PLAY; // 46-169 + } + } else { + if (adc_val < 325) { + button |= BUTTON_NEXT; // 170-324 + } else { + button |= BUTTON_VOL_UP;// 325-479 + } + } + } else { + if (adc_val < 636) { + button |= BUTTON_VOL_DOWN;// 480-635 + } else { + button |= BUTTON_PREV; // 636-791 + } + } + } + + return button; +} diff --git a/firmware/target/arm/rk27xx/ihifi2/button-target.h b/firmware/target/arm/rk27xx/ihifi2/button-target.h new file mode 100644 index 0000000000..211e20e1d6 --- /dev/null +++ b/firmware/target/arm/rk27xx/ihifi2/button-target.h @@ -0,0 +1,50 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#ifndef _BUTTON_TARGET_H_ +#define _BUTTON_TARGET_H_ + +#define HAS_BUTTON_HOLD + +/* Main unit's buttons */ +#define BUTTON_POWER 0x00000001 +#define BUTTON_HOME 0x00000002 +#define BUTTON_PREV 0x00000004 +#define BUTTON_NEXT 0x00000008 +#define BUTTON_PLAY 0x00000010 +#define BUTTON_VOL_UP 0x00000020 +#define BUTTON_VOL_DOWN 0x00000040 + +#define BUTTON_LEFT 0 +#define BUTTON_RIGHT 0 + +#define BUTTON_MAIN (BUTTON_POWER | BUTTON_HOME | BUTTON_PREV | BUTTON_NEXT | \ + BUTTON_PLAY | BUTTON_VOL_UP | BUTTON_VOL_DOWN) + +/* Software power-off */ +#ifndef IHIFI800 +#define POWEROFF_BUTTON BUTTON_POWER +#else +#define POWEROFF_BUTTON BUTTON_HOME +#endif + +#define POWEROFF_COUNT 30 + +#endif /* _BUTTON_TARGET_H_ */ diff --git a/firmware/target/arm/rk27xx/ihifi2/lcd-ihifi770.c b/firmware/target/arm/rk27xx/ihifi2/lcd-ihifi770.c new file mode 100644 index 0000000000..23505d9fa0 --- /dev/null +++ b/firmware/target/arm/rk27xx/ihifi2/lcd-ihifi770.c @@ -0,0 +1,285 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" +#include "kernel.h" +#include "lcd.h" +#include "system.h" +#include "cpu.h" +#include "lcdif-rk27xx.h" + +static bool display_on = false; + +void lcd_display_init(void) +{ + unsigned int i, x, y; + + lcd_cmd(0x11); + + lcd_cmd(0x13); + + mdelay(120); + + lcd_cmd(0x29); + + lcd_cmd(0xB0); + lcd_data(0x05); + lcd_data(0x00); + lcd_data(0xF0); + lcd_data(0x0A); + lcd_data(0x41); + lcd_data(0x02); + lcd_data(0x0A); + lcd_data(0x30); + lcd_data(0x31); + lcd_data(0x36); + lcd_data(0x37); + lcd_data(0x40); + lcd_data(0x02); + lcd_data(0x3F); + lcd_data(0x40); + lcd_data(0x02); + lcd_data(0x81); + lcd_data(0x04); + lcd_data(0x05); + lcd_data(0x64); + + lcd_cmd(0xFC); + lcd_data(0x88); + lcd_data(0x00); + lcd_data(0x10); + lcd_data(0x01); + lcd_data(0x01); + lcd_data(0x10); + lcd_data(0x42); + lcd_data(0x42); + lcd_data(0x22); + lcd_data(0x11); + lcd_data(0x11); + lcd_data(0x22); + lcd_data(0x99); + lcd_data(0xAA); + lcd_data(0xAA); + lcd_data(0xAA); + lcd_data(0xBB); + lcd_data(0xBB); + lcd_data(0xAA); + lcd_data(0x33); + lcd_data(0x33); + lcd_data(0x11); + lcd_data(0x01); + lcd_data(0x01); + lcd_data(0x01); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0xC0); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0x00); + + lcd_cmd(0xFD); + lcd_data(0x88); + lcd_data(0x00); + lcd_data(0x10); + lcd_data(0x01); + lcd_data(0x01); + lcd_data(0x10); + lcd_data(0x42); + lcd_data(0x42); + lcd_data(0x22); + lcd_data(0x11); + lcd_data(0x11); + lcd_data(0x22); + lcd_data(0x99); + lcd_data(0xAA); + lcd_data(0xAA); + lcd_data(0xAA); + lcd_data(0xBB); + lcd_data(0xBB); + lcd_data(0xAA); + lcd_data(0x33); + lcd_data(0x33); + lcd_data(0x11); + lcd_data(0x01); + lcd_data(0x01); + lcd_data(0x01); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0x03); + + lcd_cmd(0xBE); + lcd_data(0x00); + lcd_data(0x15); + lcd_data(0x16); + lcd_data(0x08); + lcd_data(0x09); + lcd_data(0x15); + lcd_data(0x10); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0x00); + + lcd_cmd(0xC0); + lcd_data(0x0E); + lcd_data(0x01); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0x00); + + lcd_cmd(0xC1); + lcd_data(0x2F); + lcd_data(0x23); + lcd_data(0xB4); + lcd_data(0xFF); + lcd_data(0x24); + lcd_data(0x03); + lcd_data(0x20); + lcd_data(0x02); + lcd_data(0x02); + lcd_data(0x02); + lcd_data(0x20); + lcd_data(0x20); + lcd_data(0x00); + + lcd_cmd(0xC2); + lcd_data(0x03); + + lcd_cmd(0x26); + lcd_data(0x08); + + lcd_cmd(0x35); + + lcd_cmd(0x36); + lcd_data(0x04); + + lcd_cmd(0x3A); + lcd_data(0x05); + + lcd_cmd(0x2A); + lcd_data(0x013F); + + lcd_cmd(0x2B); + lcd_data(0xEF); + + lcd_cmd(0x2C); + + lcd_cmd(0x2D); + for (i = 0; i < 0x20; i++) { + lcd_data(i << 1); + } + for (i = 0; i < 0x40; i++) { + lcd_data(i); + } + for (i = 0; i < 0x20; i++) { + lcd_data(i << 1); + } + + lcd_cmd(0x2A); + lcd_data(0x00); + + lcd_cmd(0x2B); + lcd_data(0x00); + + lcd_cmd(0x11); + + mdelay(120); + + lcd_cmd(0x29); + + lcd_cmd(0x2C); + + for (x = 0; x < LCD_WIDTH; x++) + for(y=0; y < LCD_HEIGHT; y++) + lcd_data(0x00); + + display_on = true; +} + +void lcd_enable (bool on) +{ + if (on == display_on) + return; + + lcdctrl_bypass(1); + LCDC_CTRL |= RGB24B; + + if (on) { + lcd_cmd(0x11); + mdelay(120); + lcd_cmd(0x29); + lcd_cmd(0x2C); + } else { + lcd_cmd(0x28); + mdelay(120); + lcd_cmd(0x10); + } + + display_on = on; + LCDC_CTRL &= ~RGB24B; +} + +void lcd_set_gram_area(int x_start, int y_start, + int x_end, int y_end) +{ + lcdctrl_bypass(1); + LCDC_CTRL |= RGB24B; + + lcd_cmd(0x2A); + lcd_data((x_start&0xff00)>>8); + lcd_data(x_start&0x00ff); + lcd_data((x_end&0xff00)>>8); + lcd_data(x_end&0x00ff); + + lcd_cmd(0x2B); + lcd_data((y_start&0xff00)>>8); + lcd_data(y_start&0x00ff); + lcd_data((y_end&0xff00)>>8); + lcd_data(y_end&0x00ff); + + lcd_cmd(0x2C); + + LCDC_CTRL &= ~RGB24B; +} + +bool lcd_active() +{ + return display_on; +} + +/* Blit a YUV bitmap directly to the LCD */ +void lcd_blit_yuv(unsigned char * const src[3], + int src_x, int src_y, int stride, + int x, int y, int width, int height) +{ + (void)src; + (void)src_x; + (void)src_y; + (void)stride; + (void)x; + (void)y; + (void)width; + (void)height; +} diff --git a/firmware/target/arm/rk27xx/ihifi2/lcd-ihifi770c.c b/firmware/target/arm/rk27xx/ihifi2/lcd-ihifi770c.c new file mode 100644 index 0000000000..311b8057cb --- /dev/null +++ b/firmware/target/arm/rk27xx/ihifi2/lcd-ihifi770c.c @@ -0,0 +1,248 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" +#include "kernel.h" +#include "lcd.h" +#include "system.h" +#include "cpu.h" +#include "lcdif-rk27xx.h" + +static bool display_on = false; + +void lcd_display_init(void) +{ + unsigned int x, y; + + lcd_cmd(0x13); + + mdelay(120); + + lcd_cmd(0x35); + lcd_data(0x00); + + lcd_cmd(0x36); + lcd_data(0x48); + + lcd_cmd(0xD0); + lcd_data(0x00); + lcd_data(0x05); + + lcd_cmd(0xEF); + lcd_data(0x07); + + lcd_cmd(0xF2); + lcd_data(0x1B); + lcd_data(0x16); + lcd_data(0x0F); + lcd_data(0x08); + lcd_data(0x08); + lcd_data(0x08); + lcd_data(0x08); + lcd_data(0x10); + lcd_data(0x00); + lcd_data(0x1C); + lcd_data(0x16); + + lcd_cmd(0xF3); + lcd_data(0x01); + lcd_data(0x41); + lcd_data(0x15); + lcd_data(0x0D); + lcd_data(0x33); + lcd_data(0x63); + lcd_data(0x46); + lcd_data(0x10); + + lcd_cmd(0xF4); + lcd_data(0x5B); + lcd_data(0x5B); + lcd_data(0x55); + lcd_data(0x55); + lcd_data(0x44); + + lcd_cmd(0xF5); + lcd_data(0x12); + lcd_data(0x11); + lcd_data(0x06); + lcd_data(0xF0); + lcd_data(0x00); + lcd_data(0x1F); + + lcd_cmd(0xF6); + lcd_data(0x80); + lcd_data(0x10); + lcd_data(0x00); + + lcd_cmd(0xFD); + lcd_data(0x11); + lcd_data(0x1D); + lcd_data(0x00); + + lcd_cmd(0xF8); + lcd_data(0x00); + lcd_data(0x15); + lcd_data(0x01); + lcd_data(0x08); + lcd_data(0x15); + lcd_data(0x22); + lcd_data(0x25); + lcd_data(0x28); + lcd_data(0x14); + lcd_data(0x13); + lcd_data(0x10); + lcd_data(0x11); + lcd_data(0x09); + lcd_data(0x24); + lcd_data(0x28); + + lcd_cmd(0xF9); + lcd_data(0x00); + lcd_data(0x15); + lcd_data(0x01); + lcd_data(0x08); + lcd_data(0x15); + lcd_data(0x22); + lcd_data(0x25); + lcd_data(0x28); + lcd_data(0x14); + lcd_data(0x13); + lcd_data(0x10); + lcd_data(0x11); + lcd_data(0x09); + lcd_data(0x24); + lcd_data(0x28); + + lcd_cmd(0xFC); + lcd_data(0x00); + lcd_data(0x15); + lcd_data(0x01); + lcd_data(0x08); + lcd_data(0x15); + lcd_data(0x22); + lcd_data(0x25); + lcd_data(0x28); + lcd_data(0x14); + lcd_data(0x13); + lcd_data(0x10); + lcd_data(0x11); + lcd_data(0x09); + lcd_data(0x24); + lcd_data(0x28); + + lcd_cmd(0x36); + lcd_data(0x48); + + lcd_cmd(0x3A); + lcd_data(0x55); + + lcd_cmd(0x2A); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0x01); + lcd_data(0x3F); + + lcd_cmd(0x2B); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0xEF); + + lcd_cmd(0x11); + + mdelay(120); + + lcd_cmd(0x29); + + lcd_cmd(0x2C); + + for (x = 0; x < LCD_WIDTH; x++) + for(y=0; y < LCD_HEIGHT; y++) + lcd_data(0x00); + + display_on = true; +} + +void lcd_enable (bool on) +{ + if (on == display_on) + return; + + lcdctrl_bypass(1); + LCDC_CTRL |= RGB24B; + + if (on) { + lcd_cmd(0x11); + mdelay(120); + lcd_cmd(0x29); + lcd_cmd(0x2C); + } else { + lcd_cmd(0x28); + mdelay(120); + lcd_cmd(0x10); + } + + display_on = on; + LCDC_CTRL &= ~RGB24B; +} + +void lcd_set_gram_area(int x_start, int y_start, + int x_end, int y_end) +{ + lcdctrl_bypass(1); + LCDC_CTRL |= RGB24B; + + lcd_cmd(0x2A); + lcd_data((x_start&0xff00)>>8); + lcd_data(x_start&0x00ff); + lcd_data((x_end&0xff00)>>8); + lcd_data(x_end&0x00ff); + + lcd_cmd(0x2B); + lcd_data((y_start&0xff00)>>8); + lcd_data(y_start&0x00ff); + lcd_data((y_end&0xff00)>>8); + lcd_data(y_end&0x00ff); + + lcd_cmd(0x2C); + + LCDC_CTRL &= ~RGB24B; +} + +bool lcd_active() +{ + return display_on; +} + +/* Blit a YUV bitmap directly to the LCD */ +void lcd_blit_yuv(unsigned char * const src[3], + int src_x, int src_y, int stride, + int x, int y, int width, int height) +{ + (void)src; + (void)src_x; + (void)src_y; + (void)stride; + (void)x; + (void)y; + (void)width; + (void)height; +} diff --git a/firmware/target/arm/rk27xx/ihifi2/lcd-ihifi800.c b/firmware/target/arm/rk27xx/ihifi2/lcd-ihifi800.c new file mode 100644 index 0000000000..821b52dcb6 --- /dev/null +++ b/firmware/target/arm/rk27xx/ihifi2/lcd-ihifi800.c @@ -0,0 +1,228 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" +#include "kernel.h" +#include "lcd.h" +#include "system.h" +#include "cpu.h" +#include "lcdif-rk27xx.h" + +static bool display_on = false; + +void lcd_display_init(void) +{ + unsigned int x, y; + + lcd_cmd(0xEF); + lcd_data(0x03); + lcd_data(0x80); + lcd_data(0x02); + + lcd_cmd(0xCF); + lcd_data(0x00); + lcd_data(0xC1); + lcd_data(0x30); + + lcd_cmd(0xED); + lcd_data(0x67); + lcd_data(0x03); + lcd_data(0x12); + lcd_data(0x81); + + lcd_cmd(0xE8); + lcd_data(0x85); + lcd_data(0x11); + lcd_data(0x79); + + lcd_cmd(0xCB); + lcd_data(0x39); + lcd_data(0x2C); + lcd_data(0x00); + lcd_data(0x34); + lcd_data(0x06); + + lcd_cmd(0xF7); + lcd_data(0x20); + + lcd_cmd(0xEA); + lcd_data(0x00); + lcd_data(0x00); + + lcd_cmd(0xC0); + lcd_data(0x1D); + + lcd_cmd(0xC1); + lcd_data(0x12); + + lcd_cmd(0xC5); + lcd_data(0x44); + lcd_data(0x3C); + + lcd_cmd(0xC7); + lcd_data(0x88); + + lcd_cmd(0x3A); + lcd_data(0x55); + + lcd_cmd(0x36); + lcd_data(0x0C); + + lcd_cmd(0xB1); + lcd_data(0x00); + lcd_data(0x17); + + lcd_cmd(0xB6); + lcd_data(0x0A); + lcd_data(0xA2); + + lcd_cmd(0xF2); + lcd_data(0x00); + + lcd_cmd(0x26); + lcd_data(0x01); + + lcd_cmd(0xE0); + lcd_data(0x0F); + lcd_data(0x22); + lcd_data(0x1C); + lcd_data(0x1B); + lcd_data(0x08); + lcd_data(0x0F); + lcd_data(0x48); + lcd_data(0xB8); + lcd_data(0x34); + lcd_data(0x05); + lcd_data(0x0C); + lcd_data(0x09); + lcd_data(0x0F); + lcd_data(0x07); + lcd_data(0x00); + + lcd_cmd(0xE1); + lcd_data(0x00); + lcd_data(0x23); + lcd_data(0x24); + lcd_data(0x07); + lcd_data(0x10); + lcd_data(0x07); + lcd_data(0x38); + lcd_data(0x47); + lcd_data(0x4B); + lcd_data(0x0A); + lcd_data(0x13); + lcd_data(0x06); + lcd_data(0x30); + lcd_data(0x38); + lcd_data(0x0F); + + lcd_cmd(0x2A); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0xEF); + + lcd_cmd(0x2B); + lcd_data(0x00); + lcd_data(0x00); + lcd_data(0x01); + lcd_data(0x3F); + + lcd_cmd(0x11); + + mdelay(120); + + lcd_cmd(0x29); + + lcd_cmd(0x2C); + + for (x = 0; x < LCD_WIDTH; x++) + for(y=0; y < LCD_HEIGHT; y++) + lcd_data(0x00); + + display_on = true; +} + +void lcd_enable (bool on) +{ + if (on == display_on) + return; + + lcdctrl_bypass(1); + LCDC_CTRL |= RGB24B; + + if (on) { + lcd_cmd(0x11); + mdelay(120); + lcd_cmd(0x29); + lcd_cmd(0x2C); + } else { + lcd_cmd(0x28); + mdelay(120); + lcd_cmd(0x10); + } + + display_on = on; + LCDC_CTRL &= ~RGB24B; +} + +void lcd_set_gram_area(int x_start, int y_start, + int x_end, int y_end) +{ + lcdctrl_bypass(1); + LCDC_CTRL |= RGB24B; + + lcd_cmd(0x2A); + lcd_data((x_start&0xff00)>>8); + lcd_data(x_start&0x00ff); + lcd_data((x_end&0xff00)>>8); + lcd_data(x_end&0x00ff); + + lcd_cmd(0x2B); + lcd_data((y_start&0xff00)>>8); + lcd_data(y_start&0x00ff); + lcd_data((y_end&0xff00)>>8); + lcd_data(y_end&0x00ff); + + lcd_cmd(0x2C); + + LCDC_CTRL &= ~RGB24B; +} + +bool lcd_active() +{ + return display_on; +} + +/* Blit a YUV bitmap directly to the LCD */ +void lcd_blit_yuv(unsigned char * const src[3], + int src_x, int src_y, int stride, + int x, int y, int width, int height) +{ + (void)src; + (void)src_x; + (void)src_y; + (void)stride; + (void)x; + (void)y; + (void)width; + (void)height; +} diff --git a/firmware/target/arm/rk27xx/ihifi2/lcd-target.h b/firmware/target/arm/rk27xx/ihifi2/lcd-target.h new file mode 100644 index 0000000000..6b2aa5d8a5 --- /dev/null +++ b/firmware/target/arm/rk27xx/ihifi2/lcd-target.h @@ -0,0 +1,26 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#ifndef LCD_TARGET_H +#define LCD_TARGET_H + +#define LCD_DATABUS_WIDTH LCDIF_16BIT +#endif diff --git a/firmware/target/arm/rk27xx/ihifi2/power-ihifi.c b/firmware/target/arm/rk27xx/ihifi2/power-ihifi.c new file mode 100644 index 0000000000..cc489eacfe --- /dev/null +++ b/firmware/target/arm/rk27xx/ihifi2/power-ihifi.c @@ -0,0 +1,53 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#include +#include "config.h" +#include "inttypes.h" +#include "power.h" +#include "panic.h" +#include "system.h" +#include "usb_core.h" /* for usb_charging_maxcurrent_change */ +#include "adc.h" + +void power_off(void) +{ + GPIO_PCCON &= ~(1<<0); + while(1); +} + +void power_init(void) +{ + GPIO_PCDR |= (1<<0); + GPIO_PCCON |= (1<<0); + + GPIO_PADR &= ~(1<<7); /* MUTE */ + GPIO_PACON |= (1<<7); +} + +unsigned int power_input_status(void) +{ + return (usb_detect() == USB_INSERTED) ? POWER_INPUT_MAIN_CHARGER : POWER_INPUT_NONE; +} + +bool charging_state(void) +{ + return (adc_read(ADC_EXTRA) < 512); +} diff --git a/firmware/target/arm/rk27xx/ihifi2/powermgmt-ihifi770.c b/firmware/target/arm/rk27xx/ihifi2/powermgmt-ihifi770.c new file mode 100644 index 0000000000..b0ff4f5a7b --- /dev/null +++ b/firmware/target/arm/rk27xx/ihifi2/powermgmt-ihifi770.c @@ -0,0 +1,64 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" +#include "adc.h" +#include "adc-target.h" +#include "powermgmt.h" + +/* Battery voltage calculation and discharge/charge curves for the iHiFi 770 + + Battery voltage is calculated under the assumption that the adc full-scale + readout represents 3.00V and that the battery ADC channel is fed with + exactly half of the battery voltage (through a resistive divider). + Charge curve have not been calibrated yet. +*/ + +const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = +{ + /* 5% */ + 3500, +}; + +const unsigned short battery_level_shutoff[BATTERY_TYPES_COUNT] = +{ + /* 0% */ + 3300, +}; + +/* voltages (millivolt) of 0%, 10%, ... 100% when charging disabled */ +const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11] = +{ + { 3300, 3570, 3660, 3696, 3712, 3742, 3798, 3865, 3935, 4020, 4130 } +}; + +/* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */ +const unsigned short percent_to_volt_charge[11] = + { 3300, 3570, 3660, 3696, 3712, 3742, 3798, 3865, 3935, 4020, 4130 }; + +/* full-scale ADC readout (2^10) in millivolt */ +#define BATTERY_SCALE_FACTOR 6296 + +/* Returns battery voltage from ADC [millivolts] */ +int _battery_voltage(void) +{ + return (adc_read(ADC_BATTERY) * BATTERY_SCALE_FACTOR) >> 10; +} diff --git a/firmware/target/arm/rk27xx/ihifi2/powermgmt-ihifi770c.c b/firmware/target/arm/rk27xx/ihifi2/powermgmt-ihifi770c.c new file mode 100644 index 0000000000..613553010b --- /dev/null +++ b/firmware/target/arm/rk27xx/ihifi2/powermgmt-ihifi770c.c @@ -0,0 +1,64 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" +#include "adc.h" +#include "adc-target.h" +#include "powermgmt.h" + +/* Battery voltage calculation and discharge/charge curves for the iHiFi 770C + + Battery voltage is calculated under the assumption that the adc full-scale + readout represents 3.00V and that the battery ADC channel is fed with + exactly half of the battery voltage (through a resistive divider). + Charge curve have not been calibrated yet. +*/ + +const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = +{ + /* 5% */ + 3500, +}; + +const unsigned short battery_level_shutoff[BATTERY_TYPES_COUNT] = +{ + /* 0% */ + 3300, +}; + +/* voltages (millivolt) of 0%, 10%, ... 100% when charging disabled */ +const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11] = +{ + { 3300, 3570, 3660, 3696, 3712, 3742, 3798, 3865, 3935, 4020, 4130 } +}; + +/* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */ +const unsigned short percent_to_volt_charge[11] = + { 3300, 3570, 3660, 3696, 3712, 3742, 3798, 3865, 3935, 4020, 4130 }; + +/* full-scale ADC readout (2^10) in millivolt */ +#define BATTERY_SCALE_FACTOR 6296 + +/* Returns battery voltage from ADC [millivolts] */ +int _battery_voltage(void) +{ + return (adc_read(ADC_BATTERY) * BATTERY_SCALE_FACTOR) >> 10; +} diff --git a/firmware/target/arm/rk27xx/ihifi2/powermgmt-ihifi800.c b/firmware/target/arm/rk27xx/ihifi2/powermgmt-ihifi800.c new file mode 100644 index 0000000000..26f4e47b93 --- /dev/null +++ b/firmware/target/arm/rk27xx/ihifi2/powermgmt-ihifi800.c @@ -0,0 +1,64 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" +#include "adc.h" +#include "adc-target.h" +#include "powermgmt.h" + +/* Battery voltage calculation and discharge/charge curves for the iHiFi 800 + + Battery voltage is calculated under the assumption that the adc full-scale + readout represents 3.00V and that the battery ADC channel is fed with + exactly half of the battery voltage (through a resistive divider). + Charge curve have not been calibrated yet. +*/ + +const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = +{ + /* 5% */ + 3628, +}; + +const unsigned short battery_level_shutoff[BATTERY_TYPES_COUNT] = +{ + /* 0% */ + 3300, +}; + +/* voltages (millivolt) of 0%, 10%, ... 100% when charging disabled */ +const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11] = +{ + { 3300, 3649, 3701, 3726, 3745, 3778, 3831, 3904, 3965, 4056, 4160 } +}; + +/* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */ +const unsigned short percent_to_volt_charge[11] = + { 3300, 3649, 3701, 3726, 3745, 3778, 3831, 3904, 3965, 4056, 4160 }; + +/* full-scale ADC readout (2^10) in millivolt */ +#define BATTERY_SCALE_FACTOR 6296 + +/* Returns battery voltage from ADC [millivolts] */ +int _battery_voltage(void) +{ + return (adc_read(ADC_BATTERY) * BATTERY_SCALE_FACTOR) >> 10; +} diff --git a/firmware/target/arm/rk27xx/sd-rk27xx.c b/firmware/target/arm/rk27xx/sd-rk27xx.c index 2ddfd0cf0a..e5467058de 100644 --- a/firmware/target/arm/rk27xx/sd-rk27xx.c +++ b/firmware/target/arm/rk27xx/sd-rk27xx.c @@ -97,7 +97,7 @@ void INT_SD(void) /* get the status */ cmd_error = SD_CMDRES; semaphore_release(&command_completion_signal); - } + } /* data transfer status pending */ if(status & DATA_XFER_STAT) @@ -140,13 +140,15 @@ static void mmu_buff_reset(void) static inline bool card_detect_target(void) { -#if defined(RK27_GENERIC) -/* My generic device uses PC7 pin, active low */ +#if defined(RK27_GENERIC) || defined(IHIFI770) || defined(IHIFI770C) || defined(IHIFI800) + /* PC7, active low */ return !(GPIO_PCDR & 0x80); #elif defined(HM60X) || defined(HM801) + /* PF2, active low */ return !(GPIO_PFDR & (1<<2)); #elif defined(MA9) || defined(MA9C) || defined(MA8) || defined(MA8C) - return (GPIO_PCDR & 0x80); + /* PC7, active high */ + return (GPIO_PCDR & (1<<7)); #elif defined(IHIFI760) || defined(IHIFI960) /* TODO: find out pin */ return true; @@ -190,7 +192,7 @@ static bool send_cmd(const int cmd, const int arg, const int res, #if 0 /* for some misterious reason the card does not report itself as being in TRAN * but transfers are successful. Rockchip OF does not check the card state - * after SELECT. I checked two different cards. + * after SELECT. I checked two different cards. */ static void print_card_status(void) { @@ -224,7 +226,7 @@ static int sd_wait_for_tran_state(void) { return 0; } - + if(TIME_AFTER(current_tick, timeout)) { return -10 * ((response >> 9) & 0xf); @@ -265,7 +267,7 @@ static int sd_init_card(void) /* CMD0 Go Idle */ if(!send_cmd(SD_GO_IDLE_STATE, 0, RES_NO, NULL)) return -1; - + sleep(1); /* CMD8 Check for v2 sd card. Must be sent before using ACMD41 @@ -671,7 +673,7 @@ int sd_write_sectors(IF_MD(int drive,) unsigned long start, int count, #endif return ret; - + #endif /* defined(BOOTLOADER) */ } diff --git a/firmware/target/arm/rk27xx/usb-drv-rk27xx.c b/firmware/target/arm/rk27xx/usb-drv-rk27xx.c index badc3ab5ed..057ecf6ebc 100644 --- a/firmware/target/arm/rk27xx/usb-drv-rk27xx.c +++ b/firmware/target/arm/rk27xx/usb-drv-rk27xx.c @@ -28,37 +28,16 @@ #include "kernel.h" #include "panic.h" -//#include "usb-s3c6400x.h" - #include "usb_ch9.h" #include "usb_core.h" #include #include "power.h" +#define LOGF_ENABLE #include "logf.h" typedef volatile uint32_t reg32; -/* Bulk OUT: ep1, ep4, ep7, ep10, ep13 */ -#define BOUT_RXSTAT(ep_num) (*(reg32*)(AHB0_UDC+0x54+0x38*(ep_num/3))) -#define BOUT_RXCON(ep_num) (*(reg32*)(AHB0_UDC+0x58+0x38*(ep_num/3))) -#define BOUT_DMAOUTCTL(ep_num) (*(reg32*)(AHB0_UDC+0x5C+0x38*(ep_num/3))) -#define BOUT_DMAOUTLMADDR(ep_num) (*(reg32*)(AHB0_UDC+0x60+0x38*(ep_num/3))) - -/* Bulk IN: ep2, ep5, ep8, ep11, ep4 */ -#define BIN_TXSTAT(ep_num) (*(reg32*)(AHB0_UDC+0x64+0x38*(ep_num/3))) -#define BIN_TXCON(ep_num) (*(reg32*)(AHB0_UDC+0x68+0x38*(ep_num/3))) -#define BIN_TXBUF(ep_num) (*(reg32*)(AHB0_UDC+0x6C+0x38*(ep_num/3))) -#define BIN_DMAINCTL(ep_num) (*(reg32*)(AHB0_UDC+0x70+0x38*(ep_num/3))) -#define BIN_DMAINLMADDR(ep_num) (*(reg32*)(AHB0_UDC+0x74+0x38*(ep_num/3))) - -/* INTERRUPT IN: ep3, ep6, ep9, ep12, ep15 */ -#define IIN_TXSTAT(ep_num) (*(reg32*)(AHB0_UDC+0x78+0x38*((ep_num/3)-1))) -#define IIN_TXCON(ep_num) (*(reg32*)(AHB0_UDC+0x7C+0x38*((ep_num/3)-1))) -#define IIN_TXBUF(ep_num) (*(reg32*)(AHB0_UDC+0x80+0x38*((ep_num/3)-1))) -#define IIN_DMAINCTL(ep_num) (*(reg32*)(AHB0_UDC+0x84+0x38*((ep_num/3)-1))) -#define IIN_DMAINLMADDR(ep_num) (*(reg32*)(AHB0_UDC+0x88+0x38*((ep_num/3)-1))) - #ifdef LOGF_ENABLE #define XFER_DIR_STR(dir) ((dir) ? "IN" : "OUT") #define XFER_TYPE_STR(type) \ @@ -68,9 +47,12 @@ typedef volatile uint32_t reg32; ((type) == USB_ENDPOINT_XFER_INT ? "INTR" : "INVL")))) #endif -struct endpoint_t { +struct endpoint_t +{ + const int ep_num; /* EP number */ const int type; /* EP type */ const int dir; /* DIR_IN/DIR_OUT */ + volatile unsigned long *stat; /* RXSTAT/TXSTAT register */ bool allocated; /* flag to mark EPs taken */ volatile void *buf; /* tx/rx buffer address */ volatile int len; /* size of the transfer (bytes) */ @@ -79,67 +61,91 @@ struct endpoint_t { struct semaphore complete; /* semaphore for blocking transfers */ }; -#define EP_INIT(_type, _dir, _alloced, _buf, _len, _cnt, _block) \ - { .type = (_type), .dir = (_dir), .allocated = (_alloced), .buf = (_buf), \ - .len = (_len), .cnt = (_cnt), .block = (_block) } +/* compute RXCON address from RXSTAT, and so on */ +#define RXSTAT(endp) *((endp)->stat) +#define RXCON(endp) *(1 + (endp)->stat) +#define DMAOUTCTL(endp) *(2 + (endp)->stat) +#define DMAOUTLMADDR(endp) *(3 + (endp)->stat) +/* compute TXCON address from TXSTAT, and so on */ +#define TXSTAT(endp) *((endp)->stat) +#define TXCON(endp) *(1 + (endp)->stat) +#define TXBUF(endp) *(2 + (endp)->stat) +#define DMAINCTL(endp) *(3 + (endp)->stat) +#define DMAINLMADDR(endp) *(4 + (endp)->stat) -static struct endpoint_t ctrlep[2] = { - EP_INIT(USB_ENDPOINT_XFER_CONTROL, DIR_OUT, true, NULL, 0, 0, true), - EP_INIT(USB_ENDPOINT_XFER_CONTROL, DIR_IN, true, NULL, 0, 0, true), +#define ENDPOINT(num, type, dir, reg) \ + {num, USB_ENDPOINT_XFER_##type, USB_DIR_##dir, reg, false, NULL, 0, 0, true, {{0, 0}, 0, 0}} + +static struct endpoint_t ctrlep[2] = +{ + ENDPOINT(0, CONTROL, OUT, &RX0STAT), + ENDPOINT(0, CONTROL, IN, &TX0STAT), }; -static struct endpoint_t endpoints[16] = { - EP_INIT(USB_ENDPOINT_XFER_CONTROL, 3, true, NULL, 0, 0, true ), /* stub */ - EP_INIT(USB_ENDPOINT_XFER_BULK, DIR_OUT, false, NULL, 0, 0, false ), /* BOUT1 */ - EP_INIT(USB_ENDPOINT_XFER_BULK, DIR_IN, false, NULL, 0, 0, false ), /* BIN2 */ - EP_INIT(USB_ENDPOINT_XFER_INT, DIR_IN, false, NULL, 0, 0, false ), /* IIN3 */ - EP_INIT(USB_ENDPOINT_XFER_BULK, DIR_OUT, false, NULL, 0, 0, false ), /* BOUT4 */ - EP_INIT(USB_ENDPOINT_XFER_BULK, DIR_IN, false, NULL, 0, 0, false ), /* BIN5 */ - EP_INIT(USB_ENDPOINT_XFER_INT, DIR_IN, false, NULL, 0, 0, false ), /* IIN6 */ - EP_INIT(USB_ENDPOINT_XFER_BULK, DIR_OUT, false, NULL, 0, 0, false ), /* BOUT7 */ - EP_INIT(USB_ENDPOINT_XFER_BULK, DIR_IN, false, NULL, 0, 0, false ), /* BIN8 */ - EP_INIT(USB_ENDPOINT_XFER_INT, DIR_IN, false, NULL, 0, 0, false ), /* IIN9 */ - EP_INIT(USB_ENDPOINT_XFER_BULK, DIR_OUT, false, NULL, 0, 0, false ), /* BOUT10 */ - EP_INIT(USB_ENDPOINT_XFER_BULK, DIR_IN, false, NULL, 0, 0, false ), /* BIN11 */ - EP_INIT(USB_ENDPOINT_XFER_INT, DIR_IN, false, NULL, 0, 0, false ), /* IIN12 */ - EP_INIT(USB_ENDPOINT_XFER_BULK, DIR_OUT, false, NULL, 0, 0, false ), /* BOUT13 */ - EP_INIT(USB_ENDPOINT_XFER_BULK, DIR_IN, false, NULL, 0, 0, false ), /* BIN14 */ - EP_INIT(USB_ENDPOINT_XFER_INT, DIR_IN, false, NULL, 0, 0, false ), /* IIN15 */ +static struct endpoint_t endpoints[16] = +{ + ENDPOINT(0, CONTROL, OUT, NULL), /* stub */ + ENDPOINT(1, BULK, OUT, &RX1STAT), /* BOUT1 */ + ENDPOINT(2, BULK, IN, &TX2STAT), /* BIN2 */ + ENDPOINT(3, INT, IN, &TX3STAT), /* IIN3 */ + ENDPOINT(4, BULK, OUT, &RX4STAT), /* BOUT4 */ + ENDPOINT(5, BULK, IN, &TX5STAT), /* BIN5 */ + ENDPOINT(6, INT, IN, &TX6STAT), /* IIN6 */ + ENDPOINT(7, BULK, OUT, &RX7STAT), /* BOUT7 */ + ENDPOINT(8, BULK, IN, &TX8STAT), /* BIN8 */ + ENDPOINT(9, INT, IN, &TX9STAT), /* IIN9 */ + ENDPOINT(10, BULK, OUT, &RX10STAT), /* BOUT10 */ + ENDPOINT(11, BULK, IN, &TX11STAT), /* BIN11 */ + ENDPOINT(12, INT, IN, &TX12STAT), /* IIN12 */ + ENDPOINT(13, BULK, OUT, &RX13STAT), /* BOUT13 */ + ENDPOINT(14, BULK, IN, &TX14STAT), /* BIN14 */ + ENDPOINT(15, INT, IN, &TX15STAT), /* IIN15 */ }; +static volatile bool set_address = false; +static volatile bool set_configuration = false; + +#undef ENDPOINT + static void setup_received(void) { static uint32_t setup_data[2]; - + logf("udc: setup"); + /* copy setup data from packet */ setup_data[0] = SETUP1; setup_data[1] = SETUP2; - /* clear all pending control transfers - * do we need this here? - */ - /* pass setup data to the upper layer */ usb_core_control_request((struct usb_ctrlrequest*)setup_data); } -/* service ep0 IN transaction */ -static void ctr_write(void) +static int max_pkt_size(struct endpoint_t *endp) { - int xfer_size = (ctrlep[DIR_IN].cnt > 64) ? 64 : ctrlep[DIR_IN].cnt; + switch(endp->type) + { + case USB_ENDPOINT_XFER_CONTROL: return 64; + case USB_ENDPOINT_XFER_BULK: return usb_drv_port_speed() ? 512 : 64; + case USB_ENDPOINT_XFER_INT: return usb_drv_port_speed() ? 1024 : 64; + default: panicf("die"); return 0; + } +} + +static void ep_write(struct endpoint_t *endp) +{ + int xfer_size = MIN(max_pkt_size(endp), endp->cnt); unsigned int timeout = current_tick + HZ/10; - - while (TX0BUF & TXFULL) /* TX0FULL flag */ + + while(TXBUF(endp) & TXFULL) /* TXFULL flag */ { if(TIME_AFTER(current_tick, timeout)) break; } - TX0STAT = xfer_size; /* size of the transfer */ - TX0DMALM_IADDR = (uint32_t)ctrlep[DIR_IN].buf; /* local buffer address */ - TX0DMAINCTL = DMA_START; /* start DMA */ - TX0CON &= ~TXNAK; /* clear NAK */ - + /* setup transfer size and DMA */ + TXSTAT(endp) = xfer_size; + DMAINLMADDR(endp) = (uint32_t)endp->buf; /* local buffer address */ + DMAINCTL(endp) = DMA_START; /* Decrement by max packet size is intentional. * This way if we have final packet short one we will get negative len * after transfer, which in turn indicates we *don't* need to send @@ -147,290 +153,141 @@ static void ctr_write(void) * get zero len after transfer which indicates we need to send * zero length packet to signal host end of the transfer. */ - ctrlep[DIR_IN].cnt -= 64; - ctrlep[DIR_IN].buf += xfer_size; + endp->cnt -= max_pkt_size(endp); + endp->buf += xfer_size; + /* clear NAK */ + TXCON(endp) &= ~TXNAK; } -static void ctr_read(void) +static void ep_read(struct endpoint_t *endp) { - int xfer_size = RX0STAT & 0xffff; - - /* clear NAK bit */ - RX0CON &= ~RXNAK; - - ctrlep[DIR_OUT].cnt -= xfer_size; - ctrlep[DIR_OUT].buf += xfer_size; - - RX0DMAOUTLMADDR = (uint32_t)ctrlep[DIR_OUT].buf; /* buffer address */ - RX0DMACTLO = DMA_START; /* start DMA */ + /* setup DMA */ + DMAOUTLMADDR(endp) = (uint32_t)endp->buf; /* local buffer address */ + DMAOUTCTL(endp) = DMA_START; + /* clear NAK */ + RXCON(endp) &= ~RXNAK; } -static void blk_write(int ep) +static void in_intr(struct endpoint_t *endp) { - int ep_num = EP_NUM(ep); - int max = usb_drv_port_speed() ? 512 : 64; - int xfer_size = (endpoints[ep_num].cnt > max) ? max : endpoints[ep_num].cnt; - unsigned int timeout = current_tick + HZ/10; - - while (BIN_TXBUF(ep_num) & TXFULL) /* TXFULL flag */ + uint32_t txstat = TXSTAT(endp); + /* check if clear feature was sent by host */ + if(txstat & TXCFINT) { - if(TIME_AFTER(current_tick, timeout)) - break; + logf("clear_stall: %d", endp->ep_num); + usb_drv_stall(endp->ep_num, false, true); } - - BIN_TXSTAT(ep_num) = xfer_size; /* size */ - BIN_DMAINLMADDR(ep_num) = (uint32_t)endpoints[ep_num].buf; /* buf address */ - BIN_DMAINCTL(ep_num) = DMA_START; /* start DMA */ - BIN_TXCON(ep_num) &= ~TXNAK; /* clear NAK */ - - /* Decrement by max packet size is intentional. - * This way if we have final packet short one we will get negative len - * after transfer, which in turn indicates we *don't* need to send - * zero length packet. If the final packet is max sized packet we will - * get zero len after transfer which indicates we need to send - * zero length packet to signal host end of the transfer. + /* check if a transfer has finished */ + if(txstat & TXACK) + { + logf("udc: ack(%d)", endp->ep_num); + /* finished ? */ + if(endp->cnt <= 0) + { + usb_core_transfer_complete(endp->ep_num, endp->dir, 0, endp->len); + /* release semaphore for blocking transfer */ + if(endp->block) + semaphore_release(&endp->complete); + } + else /* more data to send */ + ep_write(endp); + } +} + +static void out_intr(struct endpoint_t *endp) +{ + uint32_t rxstat = RXSTAT(endp); + logf("udc: out intr(%d)", endp->ep_num); + /* check if clear feature was sent by host */ + if(rxstat & RXCFINT) + { + logf("clear_stall: %d", endp->ep_num); + usb_drv_stall(endp->ep_num, false, false); + } + /* check if a transfer has finished */ + if(rxstat & RXACK) + { + int xfer_size = rxstat & 0xffff; + endp->cnt -= xfer_size; + endp->buf += xfer_size; + logf("udc: ack(%d) -> %d/%d", endp->ep_num, xfer_size, endp->cnt); + /* finished ? */ + if(endp->cnt <= 0 || xfer_size < max_pkt_size(endp)) + usb_core_transfer_complete(endp->ep_num, endp->dir, 0, endp->len); + else + ep_read(endp); + } +} + +static void udc_phy_reset(void) +{ + DEV_CTL |= SOFT_POR; + udelay(10000); /* min 10ms */ + DEV_CTL &= ~SOFT_POR; +} + +static void udc_soft_connect(void) +{ + DEV_CTL |= CSR_DONE | + DEV_SOFT_CN | + DEV_SELF_PWR; +} + +static void udc_helper(void) +{ + uint32_t dev_info = DEV_INFO; + + /* This polls for DEV_EN bit set in DEV_INFO register + * as well as tracks current requested configuration + * (DEV_INFO [11:8]). On state change it notifies usb stack + * about it. */ - endpoints[ep_num].cnt -= max; - endpoints[ep_num].buf += xfer_size; -} -static void blk_read(int ep) -{ - int ep_num = EP_NUM(ep); - int xfer_size = BOUT_RXSTAT(ep_num) & 0xffff; - - /* clear NAK bit */ - BOUT_RXCON(ep_num) &= ~RXNAK; - - endpoints[ep_num].cnt -= xfer_size; - endpoints[ep_num].buf += xfer_size; - - BOUT_DMAOUTLMADDR(ep_num) = (uint32_t)endpoints[ep_num].buf; - BOUT_DMAOUTCTL(ep_num) = DMA_START; -} + /* SET ADDRESS request */ + if(!set_address) + if(dev_info & 0x7f) + { + set_address = true; + usb_core_notify_set_address(dev_info & 0x7f); + } -static void int_write(int ep) -{ - int ep_num = EP_NUM(ep); - int max = usb_drv_port_speed() ? 1024 : 64; - int xfer_size = (endpoints[ep_num].cnt > max) ? max : endpoints[ep_num].cnt; - unsigned int timeout = current_tick + HZ/10; - - while (IIN_TXBUF(ep_num) & TXFULL) /* TXFULL flag */ - { - if(TIME_AFTER(current_tick, timeout)) - break; - } - - IIN_TXSTAT(ep_num) = xfer_size; /* size */ - IIN_DMAINLMADDR(ep_num) = (uint32_t)endpoints[ep_num].buf; /* buf address */ - IIN_DMAINCTL(ep_num) = DMA_START; /* start DMA */ - IIN_TXCON(ep_num) &= ~TXNAK; /* clear NAK */ - - /* Decrement by max packet size is intentional. - * This way if we have final packet short one we will get negative len - * after transfer, which in turn indicates we *don't* need to send - * zero length packet. If the final packet is max sized packet we will - * get zero len after transfer which indicates we need to send - * zero length packet to signal host end of the transfer. - */ - endpoints[ep_num].cnt -= max; - endpoints[ep_num].buf += xfer_size; -} - -/* UDC ISR function */ -void INT_UDC(void) -{ - uint32_t txstat, rxstat; - int tmp, ep_num; - - /* read what caused UDC irq */ - uint32_t intsrc = INT2FLAG & 0x7fffff; - - if (intsrc & SETUP_INTR) /* setup interrupt */ - { - setup_received(); - } - else if (intsrc & IN0_INTR) /* ep0 in interrupt */ - { - txstat = TX0STAT; /* read clears flags */ - - /* TODO handle errors */ - if (txstat & TXACK) /* check TxACK flag */ + /* SET CONFIGURATION request */ + if(!set_configuration) + if(dev_info & DEV_EN) { - if (ctrlep[DIR_IN].cnt >= 0) - { - /* we still have data to send (or ZLP) */ - ctr_write(); - } - else - { - /* final ack received */ - usb_core_transfer_complete(0, /* ep */ - USB_DIR_IN, /* dir */ - 0, /* status */ - ctrlep[DIR_IN].len); /* length */ - - /* release semaphore for blocking transfer */ - if (ctrlep[DIR_IN].block) - semaphore_release(&ctrlep[DIR_IN].complete); - } + set_configuration = true; + usb_core_notify_set_config(((dev_info >> 7) & 0xf) + 1); } - } - else if (intsrc & OUT0_INTR) /* ep0 out interrupt */ - { - rxstat = RX0STAT; - - /* TODO handle errors */ - if (rxstat & RXACK) /* RxACK */ - { - if (ctrlep[DIR_OUT].cnt > 0) - ctr_read(); - else - usb_core_transfer_complete(0, /* ep */ - USB_DIR_OUT, /* dir */ - 0, /* status */ - ctrlep[DIR_OUT].len); /* length */ - } - } - else if (intsrc & USBRST_INTR) /* usb reset */ - { - usb_drv_init(); - } - else if (intsrc & RESUME_INTR) /* usb resume */ - { - TX0CON |= TXCLR; /* TxClr */ - TX0CON &= ~TXCLR; - RX0CON |= RXCLR; /* RxClr */ - RX0CON &= ~RXCLR; - } - else if (intsrc & SUSP_INTR) /* usb suspend */ - { - } - else if (intsrc & CONN_INTR) /* usb connect */ - { - } - else - { - /* lets figure out which ep generated irq */ - tmp = intsrc >> 7; - for (ep_num=1; ep_num < 15; ep_num++) - { - tmp >>= ep_num; - if (tmp & 0x01) - break; - } - - if (intsrc & ((1<<8)|(1<<11)|(1<<14)|(1<<17)|(1<<20))) - { - /* bulk out */ - rxstat = BOUT_RXSTAT(ep_num); - - /* TODO handle errors */ - if (rxstat & (1<<18)) /* RxACK */ - { - if (endpoints[ep_num].cnt > 0) - blk_read(ep_num); - else - usb_core_transfer_complete(ep_num, /* ep */ - USB_DIR_OUT, /* dir */ - 0, /* status */ - endpoints[ep_num].len); /* length */ - } - } - else if (intsrc & ((1<<9)|(1<<12)|(1<<15)|(1<<18)|(1<<21))) - { - /* bulk in */ - txstat = BIN_TXSTAT(ep_num); - - /* TODO handle errors */ - if (txstat & (1<<18)) /* check TxACK flag */ - { - if (endpoints[ep_num].cnt >= 0) - { - /* we still have data to send (or ZLP) */ - blk_write(ep_num); - } - else - { - /* final ack received */ - usb_core_transfer_complete(ep_num, /* ep */ - USB_DIR_IN, /* dir */ - 0, /* status */ - endpoints[ep_num].len); /* length */ - - /* release semaphore for blocking transfer */ - if (endpoints[ep_num].block) - semaphore_release(&endpoints[ep_num].complete); - } - } - } - else if (intsrc & ((1<<10)|(1<13)|(1<<16)|(1<<19)|(1<<22))) - { - /* int in */ - txstat = IIN_TXSTAT(ep_num); - - /* TODO handle errors */ - if (txstat & TXACK) /* check TxACK flag */ - { - if (endpoints[ep_num].cnt >= 0) - { - /* we still have data to send (or ZLP) */ - int_write(ep_num); - } - else - { - /* final ack received */ - usb_core_transfer_complete(ep_num, /* ep */ - USB_DIR_IN, /* dir */ - 0, /* status */ - endpoints[ep_num].len); /* length */ - - /* release semaphore for blocking transfer */ - if (endpoints[ep_num].block) - semaphore_release(&endpoints[ep_num].complete); - } - } - } - } } /* return port speed FS=0, HS=1 */ int usb_drv_port_speed(void) { - return ((DEV_INFO & DEV_SPEED) == 0) ? 0 : 1; + return (DEV_INFO & DEV_SPEED) ? 0 : 1; } /* Reserve endpoint */ int usb_drv_request_endpoint(int type, int dir) { - int ep_num, ep_dir; - int ep_type; + logf("req: %s %s", XFER_DIR_STR(dir), XFER_TYPE_STR(type)); - /* Safety */ - ep_dir = EP_DIR(dir); - ep_type = type & USB_ENDPOINT_XFERTYPE_MASK; - - logf("req: %s %s", XFER_DIR_STR(ep_dir), XFER_TYPE_STR(ep_type)); - /* Find an available ep/dir pair */ - for (ep_num=1;ep_numtype == ep_type && - endpoint->dir == ep_dir && - !endpoint->allocated) - { - /* mark endpoint as taken */ - endpoint->allocated = true; - - /* enable interrupt from this endpoint */ - EN_INT |= (1<<(ep_num+7)); - - logf("add: ep%d %s", ep_num, XFER_DIR_STR(ep_dir)); - return (ep_num | (dir & USB_ENDPOINT_DIR_MASK)); - } + struct endpoint_t *endp = &endpoints[ep_num]; + + if(endp->allocated || endp->type != type || endp->dir != dir) + continue; + /* allocate endpoint and enable interrupt */ + endp->allocated = true; + if(dir == USB_DIR_IN) + TXCON(endp) = (ep_num << 8) | TXEPEN | TXNAK | TXACKINTEN | TXCFINTE; + else + RXCON(endp) = (ep_num << 8) | RXEPEN | RXNAK | RXACKINTEN | RXCFINTE | RXERRINTEN; + EN_INT |= 1 << (ep_num + 7); + + logf("add: ep%d %s", ep_num, XFER_DIR_STR(dir)); + return ep_num | dir; } return -1; } @@ -439,14 +296,12 @@ int usb_drv_request_endpoint(int type, int dir) void usb_drv_release_endpoint(int ep) { int ep_num = EP_NUM(ep); - int ep_dir = EP_DIR(ep); - (void) ep_dir; - logf("rel: ep%d %s", ep_num, XFER_DIR_STR(ep_dir)); + logf("rel: ep%d", ep_num); endpoints[ep_num].allocated = false; - + /* disable interrupt from this endpoint */ - EN_INT &= ~(1<<(ep_num+7)); + EN_INT &= ~(1 << (ep_num + 7)); } /* Set the address (usually it's in a register). @@ -463,39 +318,25 @@ void usb_drv_set_address(int address) static int _usb_drv_send(int endpoint, void *ptr, int length, bool block) { + logf("udc: send(%x)", endpoint); struct endpoint_t *ep; int ep_num = EP_NUM(endpoint); - + if (ep_num == 0) ep = &ctrlep[DIR_IN]; else ep = &endpoints[ep_num]; + /* for send transfers, make sure the data is committed */ + commit_discard_dcache_range(ptr, length); ep->buf = ptr; ep->len = ep->cnt = length; - - if (block) - ep->block = true; - else - ep->block = false; - - switch (ep->type) - { - case USB_ENDPOINT_XFER_CONTROL: - ctr_write(); - break; - - case USB_ENDPOINT_XFER_BULK: - blk_write(ep_num); - break; - - case USB_ENDPOINT_XFER_INT: - int_write(ep_num); - break; - } - - if (block) - /* wait for transfer to end */ + ep->block = block; + + ep_write(ep); + + /* wait for transfer to end */ + if(block) semaphore_wait(&ep->complete, TIMEOUT_BLOCK); return 0; @@ -516,28 +357,20 @@ int usb_drv_send_nonblocking(int endpoint, void *ptr, int length) /* Setup a receive transfer. (non blocking) */ int usb_drv_recv(int endpoint, void* ptr, int length) { + logf("udc: recv(%x)", endpoint); struct endpoint_t *ep; int ep_num = EP_NUM(endpoint); - - if (ep_num == 0) - { + + if(ep_num == 0) ep = &ctrlep[DIR_OUT]; - - ctr_read(); - } else - { ep = &endpoints[ep_num]; - - /* clear NAK bit */ - BOUT_RXCON(ep_num) &= ~RXNAK; - BOUT_DMAOUTLMADDR(ep_num) = (uint32_t)ptr; - BOUT_DMAOUTCTL(ep_num) = DMA_START; - } - + + /* for recv, discard the cache lines related to the buffer */ + commit_discard_dcache_range(ptr, length); ep->buf = ptr; ep->len = ep->cnt = length; - + ep_read(ep); return 0; } @@ -560,173 +393,54 @@ void usb_drv_set_test_mode(int mode) /* Check if endpoint is in stall state */ bool usb_drv_stalled(int endpoint, bool in) { - int ep_num = EP_NUM(endpoint); + struct endpoint_t *endp = &endpoints[EP_NUM(endpoint)]; - switch (endpoints[ep_num].type) - { - case USB_ENDPOINT_XFER_CONTROL: - if (in) - return (TX0CON & TXSTALL) ? true : false; - else - return (RX0CON & RXSTALL) ? true : false; - - break; - - case USB_ENDPOINT_XFER_BULK: - if (in) - return (BIN_TXCON(ep_num) & TXSTALL) ? true : false; - else - return (BOUT_RXCON(ep_num) & RXSTALL) ? true : false; - - break; - - case USB_ENDPOINT_XFER_INT: - if (in) - return (IIN_TXCON(ep_num) & TXSTALL) ? true : false; - else - return false; /* we don't have such endpoint anyway */ - - break; - } - - return false; + if(in) + return !!(TXCON(endp) & TXSTALL); + else + return !!(RXCON(endp) & RXSTALL); } /* Stall the endpoint. Usually set a flag in the controller */ void usb_drv_stall(int endpoint, bool stall, bool in) { - int ep_num = EP_NUM(endpoint); - - switch (endpoints[ep_num].type) + struct endpoint_t *endp = &endpoints[EP_NUM(endpoint)]; + if(in) { - case USB_ENDPOINT_XFER_CONTROL: - if (in) - { - if (stall) - TX0CON |= TXSTALL; - else - TX0CON &= ~TXSTALL; - } - else - { - if (stall) - RX0CON |= RXSTALL; - else - RX0CON &= ~RXSTALL; /* doc says Auto clear by UDC 2.0 */ - } - break; - - case USB_ENDPOINT_XFER_BULK: - if (in) - { - if (stall) - BIN_TXCON(ep_num) |= TXSTALL; - else - BIN_TXCON(ep_num) &= ~TXSTALL; - } - else - { - if (stall) - BOUT_RXCON(ep_num) |= RXSTALL; - else - BOUT_RXCON(ep_num) &= ~RXSTALL; - } - break; - - case USB_ENDPOINT_XFER_INT: - if (in) - { - if (stall) - IIN_TXCON(ep_num) |= TXSTALL; - else - IIN_TXCON(ep_num) &= ~TXSTALL; - } - break; + if(stall) + TXCON(endp) |= TXSTALL; + else + TXCON(endp) &= ~TXSTALL; + } + else + { + if(stall) + RXCON(endp) |= RXSTALL; + else + RXCON(endp) &= ~RXSTALL; } } /* one time init (once per connection) - basicaly enable usb core */ void usb_drv_init(void) { - int ep_num; - - /* enable USB clock */ - SCU_CLKCFG &= ~CLKCFG_UDC; - - /* 1. do soft disconnect */ - DEV_CTL = DEV_SELF_PWR; - - /* 2. do power on reset to PHY */ - DEV_CTL = DEV_SELF_PWR | - SOFT_POR; - - /* 3. wait more than 10ms */ - udelay(20000); - - /* 4. clear SOFT_POR bit */ - DEV_CTL &= ~SOFT_POR; - - /* 5. configure minimal EN_INT */ - EN_INT = EN_SUSP_INTR | /* Enable Suspend Interrupt */ - EN_RESUME_INTR | /* Enable Resume Interrupt */ - EN_USBRST_INTR | /* Enable USB Reset Interrupt */ - EN_OUT0_INTR | /* Enable OUT Token receive Interrupt EP0 */ - EN_IN0_INTR | /* Enable IN Token transmits Interrupt EP0 */ - EN_SETUP_INTR; /* Enable SETUP Packet Receive Interrupt */ - - /* 6. configure INTCON */ - INTCON = UDC_INTHIGH_ACT | /* interrupt high active */ - UDC_INTEN; /* enable EP0 interrupts */ - - /* 7. configure EP0 control registers */ - TX0CON = TXACKINTEN | /* Set as one to enable the EP0 tx irq */ - TXNAK; /* Set as one to response NAK handshake */ - - RX0CON = RXACKINTEN | - RXEPEN | /* Endpoint 0 Enable. When cleared the endpoint does - * not respond to an SETUP or OUT token - */ - - RXNAK; /* Set as one to response NAK handshake */ - - /* 8. write final bits to DEV_CTL */ - DEV_CTL = CSR_DONE | /* Configure CSR done */ - DEV_PHY16BIT | /* 16-bit data path enabled. udc_clk = 30MHz */ - DEV_SOFT_CN | /* Device soft connect */ - DEV_SELF_PWR; /* Device self power */ - /* init semaphore of ep0 */ semaphore_init(&ctrlep[DIR_OUT].complete, 1, 0); semaphore_init(&ctrlep[DIR_IN].complete, 1, 0); - - for (ep_num = 1; ep_num < USB_NUM_ENDPOINTS; ep_num++) - { + + for(int ep_num = 1; ep_num < USB_NUM_ENDPOINTS; ep_num++) semaphore_init(&endpoints[ep_num].complete, 1, 0); - - if (ep_num%3 == 0) /* IIN 3, 6, 9, 12, 15 */ - { - IIN_TXCON(ep_num) |= (ep_num<<8)|TXEPEN|TXNAK; /* ep_num, enable, NAK */ - } - else if (ep_num%3 == 1) /* BOUT 1, 4, 7, 10, 13 */ - { - BOUT_RXCON(ep_num) |= (ep_num<<8)|RXEPEN|RXNAK; /* ep_num, NAK, enable */ - } - else if (ep_num%3 == 2) /* BIN 2, 5, 8, 11, 14 */ - { - BIN_TXCON(ep_num) |= (ep_num<<8)|TXEPEN|TXNAK; /* ep_num, enable, NAK */ - } - } } /* turn off usb core */ void usb_drv_exit(void) { DEV_CTL = DEV_SELF_PWR; - + /* disable USB interrupts in interrupt controller */ INTC_IMR &= ~IRQ_ARM_UDC; INTC_IECR &= ~IRQ_ARM_UDC; - + /* we cannot disable UDC clock since this causes data abort * when reading DEV_INFO in order to check usb connect event */ @@ -734,9 +448,94 @@ void usb_drv_exit(void) int usb_detect(void) { - if (DEV_INFO & VBUS_STS) + if(DEV_INFO & VBUS_STS) return USB_INSERTED; else return USB_EXTRACTED; } +/* UDC ISR function */ +void INT_UDC(void) +{ + /* read what caused UDC irq */ + uint32_t intsrc = INT2FLAG & 0x7fffff; + + if(intsrc & USBRST_INTR) /* usb reset */ + { + logf("udc_int: reset, %ld", current_tick); + + EN_INT = EN_SUSP_INTR | /* Enable Suspend Irq */ + EN_RESUME_INTR | /* Enable Resume Irq */ + EN_USBRST_INTR | /* Enable USB Reset Irq */ + EN_OUT0_INTR | /* Enable OUT Token receive Irq EP0 */ + EN_IN0_INTR | /* Enable IN Token transmit Irq EP0 */ + EN_SETUP_INTR; /* Enable SETUP Packet Receive Irq */ + + INTCON = UDC_INTHIGH_ACT | /* interrupt high active */ + UDC_INTEN; /* enable EP0 irqs */ + + TX0CON = TXACKINTEN | /* Set as one to enable the EP0 tx irq */ + TXNAK; /* Set as one to response NAK handshake */ + + RX0CON = RXACKINTEN | + RXEPEN | /* Endpoint 0 Enable. When cleared the + * endpoint does not respond to an SETUP + * or OUT token */ + RXNAK; /* Set as one to response NAK handshake */ + + set_address = false; + set_configuration = false; + } + /* This needs to be processed AFTER usb reset */ + udc_helper(); + + if(intsrc & SETUP_INTR) /* setup interrupt */ + { + setup_received(); + } + if(intsrc & IN0_INTR) + { + /* EP0 IN done */ + in_intr(&ctrlep[DIR_IN]); + } + if(intsrc & OUT0_INTR) + { + /* EP0 OUT done */ + out_intr(&ctrlep[DIR_OUT]); + } + if(intsrc & USBRST_INTR) + { + /* usb reset */ + usb_drv_init(); + } + if(intsrc & RESUME_INTR) + { + /* usb resume */ + TX0CON |= TXCLR; /* TxClr */ + TX0CON &= ~TXCLR; + RX0CON |= RXCLR; /* RxClr */ + RX0CON &= ~RXCLR; + } + if(intsrc & SUSP_INTR) + { + /* usb suspend */ + } + if(intsrc & CONN_INTR) + { + /* usb connect */ + udc_phy_reset(); + udelay(10000); /* wait at least 10ms */ + udc_soft_connect(); + } + /* other endpoints */ + for(int ep_num = 1; ep_num < 16; ep_num++) + { + if(!(intsrc & (1 << (ep_num + 7)))) + continue; + struct endpoint_t *endp = &endpoints[ep_num]; + if(endp->dir == USB_DIR_IN) + in_intr(endp); + else + out_intr(endp); + } +} diff --git a/firmware/target/arm/rk27xx/usb-rk27xx.c b/firmware/target/arm/rk27xx/usb-rk27xx.c index 20bf867c8d..09c9090a3b 100644 --- a/firmware/target/arm/rk27xx/usb-rk27xx.c +++ b/firmware/target/arm/rk27xx/usb-rk27xx.c @@ -32,6 +32,20 @@ int usb_status = USB_EXTRACTED; void usb_init_device(void) { + /* enable UDC interrupt */ + INTC_IMR |= (1<<16); + INTC_IECR |= (1<<16); + + EN_INT = EN_SUSP_INTR | /* Enable Suspend Interrupt */ + EN_RESUME_INTR | /* Enable Resume Interrupt */ + EN_USBRST_INTR | /* Enable USB Reset Interrupt */ + EN_OUT0_INTR | /* Enable OUT Token receive Interrupt EP0 */ + EN_IN0_INTR | /* Enable IN Token transmits Interrupt EP0 */ + EN_SETUP_INTR; /* Enable SETUP Packet Receive Interrupt */ + + /* configure INTCON */ + INTCON = UDC_INTHIGH_ACT | /* interrupt high active */ + UDC_INTEN; /* enable EP0 interrupts */ } void usb_attach(void) diff --git a/firmware/target/hosted/sdl/sim-ui-defines.h b/firmware/target/hosted/sdl/sim-ui-defines.h index 0303ac8ca2..99ae062595 100644 --- a/firmware/target/hosted/sdl/sim-ui-defines.h +++ b/firmware/target/hosted/sdl/sim-ui-defines.h @@ -527,6 +527,28 @@ #define UI_HEIGHT 457 /* height of GUI window */ #define UI_LCD_POSX 34 #define UI_LCD_POSY 73 + +#elif defined(IHIFI770) +#define UI_TITLE "iHiFi 770" +#define UI_WIDTH 382 /* width of GUI window */ +#define UI_HEIGHT 690 /* height of GUI window */ +#define UI_LCD_POSX 32 +#define UI_LCD_POSY 86 + +#elif defined(IHIFI770C) +#define UI_TITLE "iHiFi 770C" +#define UI_WIDTH 382 /* width of GUI window */ +#define UI_HEIGHT 690 /* height of GUI window */ +#define UI_LCD_POSX 32 +#define UI_LCD_POSY 86 + +#elif defined(IHIFI800) +#define UI_TITLE "iHiFi 800" +#define UI_WIDTH 300 /* width of GUI window */ +#define UI_HEIGHT 670 /* height of GUI window */ +#define UI_LCD_POSX 26 +#define UI_LCD_POSY 40 + #elif defined(SIMULATOR) #error no UI defines #endif diff --git a/tools/builds.pm b/tools/builds.pm index 5f7e2c5f58..ddb4b1442b 100644 --- a/tools/builds.pm +++ b/tools/builds.pm @@ -422,6 +422,18 @@ $releasenotes="/wiki/ReleaseNotes314"; name => 'xDuoo X3', status => 2, }, + 'ihifi770' => { + name => 'Xuelin iHIFI 770', + status => 2, + }, + 'ihifi770C' => { + name => 'Xuelin iHIFI 770C', + status => 2, + }, + 'ihifi800' => { + name => 'Xuelin iHIFI 800', + status => 2, + }, ); sub manualname { diff --git a/tools/configure b/tools/configure index e7f254ada7..cad2238d9b 100755 --- a/tools/configure +++ b/tools/configure @@ -1548,13 +1548,14 @@ cat <skw7Mp2_O>*Bof}6DwKt{ z<%?{xX{zXLH@ll;8}b~oTmOnER=YFO^n3&E+Kk*g%<{2fh1vh-|Mh?WumAH)@%O*` z_rLk~@_%~irS<>mrI-HGOaCPvzx022|G)g_m(suV!0pffgZ};$e}7Y#-(Uas>tFx+ z*WY~e&2RsMzpuak`nSJ{zhB4o^>2RT*RSKhU#AD@f4@=gtFOM2>39Bq|NGy4`@3(y z`T94%l_jq9@Y^Wq$5;M6ukV|$wfW6&<@-uC@mxYZFYXe*^7qSM#@%21-@jje_0_Lj zzx3Z%uII15{QS#!@T*^a`QopMLt$Cm(yFl!xi zN`3N)x9*>RBK>KqIUY)_&KY0Jy`|mw_|Jkz--t+v~hwnf8 z;QjYLc+bzL>0u<^i*#I)A4P_DB~|m$2cG2OPv4h#_Uyf9?>u|@^u5UZ?t4$&{e0`) zciw&au7{B`RT~Xy;{9iDKYhpb&a-z^D8K8SXYab+Ra@kInxA{}wo1Hx`fk*w{`a1~ z{p_8$-hDgQ@QZiel9u_!LqF5QcRZ2j7w^9H=G$+*`PMJqc7a3qtH!SnlvKmGWdZ+`RX7oR}x=Wo6K;K}`akM2Eq^5EX1 zyAPi{c>LPKN3TD6@Y=)2uRnbJ^GA=;{o!j5?mxaK{n{H(9>4y`D^FaHfByL4YY!hh zx*r8!e{}ER-MbI&-g|gY;=$wl?x%N8&hDSydw72T@qNW*zW?OD>)zvg_aABZuBMgM zy1NV#_aDd4M_PP%@9fdtyN~YOeRTi);a%6=$I3o9zke1DJv>+QUB4b_?w-Wiy;HS; z^X#5RPjZHo`Rx3`X?lCtPtWf?zI*=QEENPTAdm0fJ9!A;$M?Lt3;sv<&K{f{pC6yz zKb1JWcY3b=`)96`2dAeG&Q9)~o<2MSo`i?-_TK5q-IJ5M$EWvBT=7um^b?$?_v2yI zrjn@eIyyZBOuUUeDFYzyo%-oI zIzK)*KRUj5e4=bBuGHb_!QttlCXUVyU8!;fqij@ob{KEZ0s!zRb#nf^xx*9r4_pVQ z`v+$ShbQ|-C;R&+2fIgmd&m2GCkF@Thgt;Ekqjq$xrsyR<6ZaTsCj??c=zb^z!UWx zpQk4$dorstDnCDz-aFX~AkX&q&-VAy{orm?9_=3Q1MlD@?i!K}Mxga%?@+13eF<;x z9`2s(?Vj!*0_pD2!P&8g2WN+Sr-wU7dtlx>+5>;8>fithhdVn*yV}}Is2$x?{&@hle+mrPMTL7&Epo|l60%2n zsm#wGu~>|ZZ>)Q1@+er!zZ|~pUJ=)nrt;0K>9G+p56Ii;O;xWXdT8Z6b>|lFnd_3Ge@{b$*o z!*frh<#gTIzqxm^d*|r(&heewhqrF+-%t<0Af5;kfB}hh{7J>*72+rrSG2oxcz$qv z|44$I(AOR0J=sH$V>*3)lv#t<2#W}^9o=OW_K)u!kxZ2&8^hiNJCc1u#v5$U!RhYt zIs453L|ZraZ``3SXM36ht=e=uinz3L03@`!8@6ZfREE7<2e)q@-rhaAvv<0y#j}T} z$|5OJpnz)Gp3{3rC-;t+z>LKXDjnZpL=jmfhj)+J(fzYSeHXT}PZGMCySmVa=h2rw zI)ClWCmglUfA#ry-!npgQTuFclF|9g!@n4X|G(5fZ+q1E;}5)^=dJzQzkmP5ufBNW z?KhBz^j*Jw?bhy1%)GsK``XQ`uB$h;)~~K@Tw8C=P0cUQZC>A;S(u)fo>*F2+)C-$ z#TjostWAtfv>MWLOS4OBODmfz)AOyx)di*8r)Hb0n=2|@T%KQ8o?qWsxw^eM*=nq; zFI~I7IX+RFS(w?rwJm3()ll%-jjJmg%c|1)^xTyC$D4IcsBLC(W`1Q({^rc&%;L0H zV4F-JEw3-N=BMh-ni^bwy42~a)~j<%bDEo;or(%)rxyHNTa?x!EL75%8lPR7&9!M_ zeraxQt~D`PuZ@p@1a?z%QzP|iYreI)y#X-Qq7T&s)xyfWhfqVA-HyW*R*_2v<#lrMlDivi{7eI?duGyuT<<-T_tLq50yt=Tox;Qh}0@c#`l1nL> z)eJ~5BawShcr6~{%i`Liegic$w6eZDl@ciLq0C6Pw7wVstjwdHvS0%?n5Eq{AzPrZ z9yLpNi^waR%Zg|nJw04lnalNfGSM2}xVE-+eM8zSz|1GEk%T2h(82TN`FU_I&U!n$ zI6c2Si<>Icgi8WQi>veMOh4z~(wvzMIvIeAwWP-$ap z4O>wjMhafLd2MxT6>Sw)339D%u0#f{tjwbfYJ_OPPtEhwBw=N3X>DVrrA?%spH@#2 zxmE%!P?%n5VLFx)yffyKmhW2`Yk9+F^8O4KLEpo3qiN5Y54hMNFJ zz@^#gh3UzJJGp|LA{32TJ>gP6Jmr?@7Fb+Ei%&lJ_z!>h-QQWD|2`x1&)c5oL#;pm zIjqhXpFMf)@&4g1kAxo(F7(MR^Fx%D))pj??Q+LO^e$IRgTuwj=+MAWvAfVYI5bcl zt910VcNew+@ zYSr<^*!cKpv)L#N^i^sVnfnHM>l0&|rsZm`)+&R;1O27KNUb_jtMnCnyLvmNJs+Q} zjW=rpL;aPp;c9IdB(fEU`n!5N+Pm8t%{pFr5YNqLxrd3P60>Z(*>c~*5 zHBqgWiwRm_P&)vWswI*>GCopkjE;?u0Ap~d2vhWFOx3lkEHo#l8{pT_K&ijCrvu7^ zl>vDGN&Mwh3avm(JF)pIqJDu9h_l!r_r}dso|)&dcx$MCe+7_oeoWfaxuEU+KEs6^WiJ z9hYcmS6>GR^$*kmyP3N6YinG$(+8*L4`Y~rc7FWu(f#*7c<*<=`!*skfA#mzIza!; zw&(9E{_M-o9=-PH;5b};4(IXtp?-@n0+x&q4i65G4yV3HPfX#eWU4hiS*wrs_4f>x z`WcMYOp}d~nGp5#cd--fc)2_vTWh-6-P1WTI$Ws^k2h+wbJO_g`RG`+f1q!CqR#fH zVXQXdRi#oMt5xUcr)TF{$T=`Ppj~zx`LR)*_~z%@=IYwo%G$b)Zcf1}>7J-fPdA%W z6QEL7|0g}wn)Ftq^9!>hqm{Y2>5a{`($GMCe9SAo8YgCLZE3Pec`J0nwYW6rDwm7E zmRMa~!vE6npn4XU^omn6GgIZE!BTm^D<*Spenz(8N@;j_(9eynRaK3S4r{$wE;eWA zakD%!L^V~iurRx|wKh3fhvP)EK0VXy>FpjKF12Q+qS2v&O0@(?Z(YmF^N{K<_QFxS zgC)8(jA#g6DD+G=>vQwdYH%&BEC2%;ivxY`N>TC2$#F2x%(iN^5tNY))}x~pLOn88 z1rK$ZoSv-L$JpJarTN9hIYdL2-rlaE;gZBqrG%Kx*2F|}yaI($Br4OP)KCG(=jUhe ztI?>9Gq3vP#@NI}O}oq_3RH9zBg4qpn5egPT)`v2V-2SVNmWuGALV4YBm2VQEU@bh zPg)WqW5YdtoumTA#@Mz>8Kbth;l?2gG4o1u>i4j-t3A@Ss(Nr1BizY= zUd3C4ot$dmSEX7G_ASh?YW!@pRTZ{EGwfn{pwQn(XossqeT8nUQP!Q+bPu7Ls38l! z5C){EkJIj+{c#y8ap4 zlN zes*k(L{Ck%h(lq#QD0nMxPI#@e=o4t-wgJ3^>$UOmGupd`{Kd^H5%{f?b+Pg#HB)^ zZ*yy7VR3$KV{K+`rmxW3m>?sQ@{Ep+Zfvd+Oo~P5n3=1_WorxSR5SOLp&y$Vo1U94 zl?JD0S}Uu|N=-~OCYuwRTkGH%9c66l-nLq;si`RjZ+32WX?c-oc-v?+di#1tMk&F} z!otGR(!$lN>$s<<#4Fe4<|+WlIJIa_HFkDxhRTkOOioU$uB`xaqE1~$YxS|Ap;D#&|h9zP)}R?CF!lJTN9Iwp<((u3I>Ub7hfH3fMJ9}P<@g`O;L=b zvths<9PDQ&DiuwPA_X2zP0^1!YCwN_x-~W30@%1QL2GKb!a__n8ujt<`ebvmTpk=4 z9B4Kt!2|IbrhjoB*OYZ3ojP3zi2jX6u#Caj*jS-7&E|Nir0GF0l*%kLjVTWd^s50= zs8Lp8N{?0$q@5l@1T_W*`=_TT7ZzuxS`(q)V-;p5^<9%&TkC3OFqp0y15+JhWf^;l zj?|1XV1l_MVNy3TIx?z4;NlRo)M`z)#v9Q~;0_XLiwC9&mIESiOoGQ2hW)@<)F4h1 zlM~(|7cB>d{K=S&<3eqGY<6}AHLBHN2x?-y(I^h|7y1j8ijGMl`efJ8kY1}==jM(K zUAb~;tful7g7hUJWK$Vwf;2E#tW+zEA0f}a{`gc~PtJ)SC>6M0TJP`g9j*-4#z#?! zhlj`mg9X$>YABE#vH@!V_ZRz?SC(3>=Ez8e1-;V7g+i|K@X#Q;RT?Z_zI3sxql2Am z&Q4stwPn_XCuC6e+MBPN8UFF72n-YPVqElB9?^fC{EuwU-;LgW%)#YU{)=CIZX)2; z&dnWx_OnBQ3XVG8vQRAa_4n!k&@*Q|c42y~KIW>7jWk8O}3hKdZ}|AR`V#BQ(HA6$&If7m_=vFMu)q5yFAQFytuT0$gq>2-SSXzGOnI- zWvDn4Nh1W`V4>cqGX@IMW>+#iP#dL`E{H%1oD)+Mq)6vBKB+BIB_fpDEGY4}y_9UdC+wq(o|L;i*goMV<7@VGWQM&yV=C$f_PR)pol z5kol%b}<_;rp5S3kVXe3o6HD{_1?lUawa}cEyZF#-C-d63VkEBk?w@r%-qz@{;h{kOeo*Id;k2|2T%X_-CrD_Y(QQZ zoWJ||;`!g&9&`DBpOG13drY4H_`^HT-Zm4&-U!#9KQM)`Lk21CWNVTguhqtMmdG$Z z9u6UkQlSzf75FjP*jTNNcK7uVE@A~UayL0WMbdlw3q6HCJ^kkP*2s93`5{UI0Q{pPkV7TcN>Q9GvQ8`i4sMWm|vLTHxOsW zAoMtOTDly=ZsB0&hi|0M5aEbOLv@&Slt%{r_sZ%b>!l(6kS=6obO=M{mlx~J3Fx@i zHrEMwD7s)oxd@D|?skwUOJyk&WZ51+RY zaK#|o-P1+-bn`Vvkzt;jxqka5Q_<7kw-mlNo#1Cslx`zmzFn^c%JU56t8D*Tx7(S@a1 zl8~hWJUYGpVh<~V_}C%jgAv?|OP60IoE~-wnDzIl++F4JcsnfK#A!*^1&`#!GObJC zR321%OX?IMCo^UdS`(fmNaCTKe(LUqhsr!`J`lEbLP7kQv-9NcleM@82n-%cn9i+lZS--2ipD8bgD*K#52Qby4>cXH zwRN`l4;054`q`!qb$nt>^u9kvqUDXP4Jv|Kp??b^8IyXEd4srG6+aC|XgmXhIoOUi z?$R!C0vE3GLYq@fwue+AuzJGxs+qTn=^iet?oC8WZ!|VGnk}5>NT{I!m!7`5u$q{R z)&uycit{{NUR__+`Dp?S^2o5dwnWA0B9o&buB^KvesT*W06=57P()0f6pI{DERcga zBSp9fH4C9rq=kT4TVKt#lL_%kHjQdg5%wSei>{Z$+(X`(OxZkFEj5yvTuXbRQQ+yk zb)`TebXjI`feBeyUL$Dv6BP^hY&3(L^o~*muuCG zHCw2U=QCxIlivWb(AQNi^;eiEp^k_=8CdcBO5SRM)d##g5mk`*_4oG)ZwR;-^%8R} zu~*S*K^?&@hJgdkpA+uj-yG8pZhR~Q)M9kw4No&XG~GkM+l*&b#Vuohf!Y;{L) zWM>+rF$>2P=VT}Mh0EBZ9uG}ms9zeUG@Deom=+b1ZIyUMD!j#X%_)+CqZ6Yj+|}7% zD z2FvCGQg4GwZEcr+_VWK@K0wsPJp8@;=Wo3E^I!kwtG_lstjGU{`S}Oi6E-J}-d+^? z_7C6QyMK23_Vp7hqmK8l-`FC&D94ejKPTHIU{W%n6sSOmh~fX_WMgal>YcqE63ubZ zmDZ9?k_|RlqG2X8OOQgq6x6^ZMyvV>Xz1RdAVwn(DiDRm(Jc~!y|qd^XjuLLnPXk2S-$ak4la( z|LV03wt=TDlqohq(2SJoRx?YU;XAQ>!U1YJFytk zT>90epHwD6V&J8Ho}XU;tg~2EtTLoGe!_R zhb&douLE9xKhYGn=D|h)R9hig5$y<<4&OLZTrR^IkT(q|=4W*w!dDZmro}faD+`Dj z9U)$~L4L(^4e|pIM?`o5jO@B- z4w;~ldawf`q|SZo>biPNgaL!Qtd!d1e}SE9;lM>*q)TpEn+-2 zPaU5g-rU_bi+*|+GmB@M9l$Q(%P_m-g$V(vS)}EK7-)3$SkTZjBzz)< zRT>b~;nK@PT1h?3l;ViUNu1S#2`-%qHVPSIo!aCV98!-M()8TS_U&!!tn%^>>$Sv( zvICs-DI6UV;Zl}0!fn*j15pU{#wCd4lwG+Da z7P<`?Ag*ThBMxO!KlxR;C(=m?rXgZ%D5e4n<0ib|e2_t4OPlm#c+4;oSfY)&*KcfN z2P?y%njBnST4XNP2Ms2;j$o$5DtPHf}wVZbAO??r+c7S5S(b3I~yLFnw;F< z-z5xkBKXqM;)t1-WQw3{5>u=KVJ(^==`N6q>AMT*a*K=B5iGEN6L2?QZQ0Pol(m90 z!mQXjF)^+o1C3F^@R6#f-Nii$eZBSC=)(LQ7zPIl%!6<<4|}{mS{f__CDVw8erJi| zP6-Q|7jrQZR*2DfG=bzftnoUlIg@ig{p$m$L0lwo71;ibtbpFyzKBjx_r!u6MDblxiMMJBj)%Nbr z@~}v>9<0FkHOlMm?y|b58B@un3m0D|RA=W$4iMWIGQiJIhM1>k>VcN)HfWv%)r_gp{(cz@)(m7DrXx&=*G4+KJ2W@HI2XgNaZ{*e zCI@qH5C2^_mX!~Csd5@1nB0k_8;l2k!h(sRN?GVWjLp`%0KUP!U_f7AuRytYYu(Ub z$;#nr<1(YOwY6nFig{&Cm>Yt~rOOw=j}B%c&_NSA12g9a1z@{+eaiwZ1`MD( z0AIUtjr5U0xGb$L3%TaeoEnHK5vB^trfNmf#U)|UN(0hWvacT1irk2uuv>~-@L{Q^ z1%5)%*<8ub7+5dT)6?0UsIM$9zy5UG= zJ?H0UsX_{2$MPEFim7Z<=xJ&aoEX&A-DbHA*+4g*4M8Gcq>iFUr=2Z#(3~=Hn5hZ3<9(a4`;!EWoozZu(8FYf(3aaagn-j|$Yc(?${RKr7L>Lre z1~7re!nE9Dk^Sp8u2Nz=ly;f)F;jqS(mEm95H@Mas`hDYVIU<`MLqQX!=u&y@*qb| zpUFtX(q`&gEt$d)(6rpalmTS1NPobTLMJ1VAPLuZW^Q_Dv}_P(`MX$xASQR+)P|@M zQFXBaTqwXWGqi2{`WC|=kpa`s$-pppqK{!mIkbrdG|y@RHk+i!bbSov4VqdO!_wU< zrz+;)1dC1ZrjeJv91*g~Q3EyAC{|`dNvIhqvhQUMxoJ@)*`FHkALyN&iSY>cf)z2o zmswX$9nEl=>rte4pr=|7-%-%ku)-4!Su7YB9H5u4HfSfZo`DDxPg zfMpgOT5AVotr)6sQ%oZYl%p`~>q1-kfoh0qZIGES?ZT8Z#5L*Y4$s3ylA`ZQA!F&i-?Kx?QH!Cx7mvwi)VF2ceDW{kUoQ|w=+ zZ6=5o5v^9Qu;qF=0UMR0UN`T}!uJ#%CVuoqok2Y@wL|th+WP=peP+)O%q%|dc5*?L1z+pMSNKL`cPjRxprgQK-Nr|Cb&(Z;t>lbt)WS@3XquQ4oG?s0ySso)L=8P0v4Wl zO9kE4Z+@y6hC3pmph7u4Gl0$NPcO{fxP7zT6iBif!zs7jriTU<|} ze9N&>*r>3dC&63ieK!HXOH1Y?H%&Rfqj&}wwY$4JOmte9z{=WuqFNc)3^|FWCbAXL zL7Ksal&M|BaS>q@L&ls3j!N0d5KBN)=p1Yw;wdMRcwh}tp(4mG%^@G=?E5CHC8Wo^!8#=x0%G-66Yi&z!`LCq;OmZF2Gp=REa?PHcp^cT8~Zg?TK zpa?D&Y*!c>u!(|sV=|E_+@{14`i=E8m@sfmX)r-0)%lXg6FkB@j4K#}_Qf&^O>-7; zNZ-ECLr4(mhjoInl{Rii~pSRwA z^LM|q`Rn;#a(Mo-{`qfhPtNo4#~?@MDMrxe!{= zuRxdinVy~IKWWQ=9aRRO@#&;b$`&`&m4m_$gOZ2zZFV znCQ;JP})7hjA&1ceWD6lK*|6x^M;l!SmPjIqXzJ3 zPHjnnV!mBpj@NKB^fqK>3Ftkl0stl1Fs4F&wL!sK2zs9Bmg!H4jcC|frKHhQ7)Byn zFSr9+2q#88X+a>A5dj#6+cqAAxk9DbbisLzm=lW0LomS5)zvO2!s?(r78vZ{4pD!h z;;;t1dwWNlak}S-U>cEBs0T2hMQ6+8p$|eAbU==hIbKhL*c%0r&RyjQh@RP)5dgZQ z3E89>xnSj(@jzbd*pcB!YQkgqMt}teM4|yKzY59ut=l&x^a-Azxh9A-t@KcZYQ_Ss zKu`wGR+fKA$#C)V1?bD8LZ}%so2TP4Jbv=vwbvg%efI7TKm0qxlKq-&escOBY|q!< z{C59f-;~zfd#87HZyIDVJSaqRb61@k1g}dP6o^d)!ONWJ`}t|h%Zp+shD(T->Cw^E z0c3A6Dw_>O5KLwnm?&jEAqA8SoixY%M3>3J)~t}2Hfv@PKdYlrwjTMlh%jOyloeeG z1rGz?)PSq`i3E>_{$Z>qB$Rln8Ak4#TdRKJl7#~>HG^Zh*C!b72$5uR^hc%55Ax-XVkF|?-LJ3wKyrLy2Z*GgcLl##tIa51xfsDAo;3om`ie{^d#wZSVO=w7k z**xe*D54EM#$|>Na?)3o+o5Q$p#dhFK^2T&z-hFIR;mJ_wD^aK?ZLDbTPZM$W+|m1 zWF+-qw$4V2Duj!IQFBa^hr^F|l!nac!IY)n3;>r)fY@eSrTlbxt~nQd#cSgfp$M9R z-D)#V)U*pV$P7~iLQT9dEz;h?7d+YLLqK_KYV*qT1WyE4a6ty10Z`|xYcA(~2(fw4 z>SHXcTV7`o{7+t8(s&`(=kVqrESE|hdphaUY_E=Q} z8*1o)=|-BY5ebhKm8K$uz0%$l1}693VmZi5db1=mA#{_%Vi^ku1^IL9(p1kyVLjA( zc0G(D`}+ITQx!-PV;?M_xrui(U!Q*V@lT#lSRjA-=il0%AAkJe(W8euyE~_6CkKZ+ zn^$c|GN^g(l;RcXz;H|BvIzzk+Gspe8n9s%8nuarok?^mX7e}%Mgd|f)B@$8WrG2t zT5=|>EIde%Q8J@U?g+0|I4c(QaZUQm1IBLZnYH+>*x%dTZHbScN@-Lg&Cz%}WjiSi zGwVpoh^TplJcUDr+Ip1BJ3gd=FUcoGR!%~U~Q$}Di-rM_JPdJZmca^Pr{_p zQ9?JnFfA%=s$XPtKv=*pIt4 z2ML2mfk-;?dc{JAE~Ze21$DYc1Fk-?lcD0WQ#F=myX~%vwbkLYt4(H2GnN%06JwdQ z0S#(s&b_my*z^b9!9pBM+*aU3x6SikSq+Y8lq{Rd#ArZr*8thpe$glrB(X%=c69ra zl99_cgFO(&gDJdRFzx7!bvawxYund1Awsu^9~nr|SW|WUKT*9n+XN&C%Vmct%Y@NZ zC>tR*%qBGODb6o28wh99#>BV>2Z|gvqxinw-YZuwQ&T9o1DFznyqF9;06;a(n;f;^ z#@fPBT5CwiLL?@JNkA?}f@U!=ii>v=GnBN|L9`cPRj8kjw`E>kY|qW2f+?iS8hIO1 zSvZp5@(P`8Je8AAsch`XGk#COR|L;J8+m4CJeN%x@Y(ifJ4%tYE7;?eNnz9YJ>6Yq zm;~%0h7nAii9chf$4~CR@#bsae)Da%H`(xHVTXQNe)!?X@5_F0xF^hG|91aC z!5oAQm)a3&hq0e_g_t2nJk6p9c4hmaO-y4Ab^l_ZhF$V|g5JhTBILGrS!%ervJ{JT zEJsc2ot1*3ob0$X$7pe7(I#zPg_#0DdlN0hK`UgITVh>^Sw#A+l+3AMx2UcoQV7NR z)|%x$G2@!1S7>`YaZ%-$hGk&Ryuo9)StJ`vrn)y{60wr5aW@0ta0~(H z@saNS*!GNufT4CS>dO>S7YKscN-s-oOfB*Jz^rESUWe1e}b`VPxb*?euksCeT8y6@eftl|?HlK`g=q5~`*QLG74~i;djjx&e>2 zsR7evli9^&8YFTo7#^)SqDGocVn3KAE@@~ayrRyScN3$c`lBN{oLFtxn6&9d{Da?M zN+`Bnvewvx_@HAU}wM@KPW8D&oVjo_R|6@jlvEkdqb_UhOTG*?&;~$ol0AE z#62>xIGxUa3Q&{JM??uBrN`Oleyzzl&gEdi5j4H_xap(jrip|tsb!1Ajfn>OH9cjk ze08W{O4nYwQgPa-miv%ADuYd9z1W);vCr_K)o=C<`mx?YWPC_p9lJ=a6;E3rZ7k-% z#rz%KQ9AiyLH5ALGDX~OsBFRJpmjc)@9XXCXd?`$!FpIQcY5y7&WF#QJ@ zrEOZt_85$L_TBg2o!>pZvvc!-!^-ZT@(+w*);HE~-?@!o#0LTJKZjWv9^-FM$OVm| zvIq<)X#h&g&tR}p@^^Jvi`8REJyW3|8*QC0gJk)LpUAHsr3l)co!j;hQGF49n#bxG zWHI{W7Y9@&PwwFT^xU1=>8BkqW1-;2_Ij*So{S(zj&tZd48e5#B#}MHrbr*p^pnJq z#;9YM@;OSh4J6k6u;XTcExd&e?X0)zjs>#0jMw6(en<_rogNQiP>~NqT)sZ2pL7&=}-J6KfIk09x?L zrpegQp5tL@cP5JAIZ)Aru|YaS$d^(QGMEp-GK7+cLn;6GWP_{Espf`8XJ)tgOw*!N zvqetOX*zAq`bGz8CGqbmbThQJGI0*j3N8!}X{E=Zl*t3284RjdIsS(WF$Wu)t!#U@)y`YSgItp$m>OJ=CE3)I zW}9P>7#;(m5EE!M%oz!J2QjC_`Xf3FJbXt|In~L0hQ$)NN{)4QcOc@GJCM8;{3SC+ zqueIbeB8|m=eJC?%w=?Rv?Hb&w`@GnoP3geI~Mw^;9=56c|`^O--r_l2Er2PS}ks) ze|k~uQ=H#GdNIiMM%=-dSin#p<3r?XM;g`oRDEgHNiq>8h7R^oas9juL1F7KElq5U zb@g_F*#wp#fIdx3)Vc!_Xga+qwj_2j%tQ}Xt!tfje%X@eo%U&zi}s^2JlwPK6tzNd zJY|Ntvlv%1T$!4L7x2vATN&XkiW#F}99KqPK{$Z{Fd$(KkDu?QD;pLDv>YHUDw2V! zGGG@jUnIQ`9zA&S{U7bs|oVa=GhEl*M<}Su2_gf_K>ebDE{n@`jE9^&__QFFo%ccqT z)K55x{n)f6YQg|0jyc*@zaor{de~f?R7AqSR}trD=`&J)X8&$;if(>oZ4q-c!MqV?dQ76V&h?=LY2;#$agQF90brPK-oA;+7^|-h9h#`E zZ?4!cK~v!iM|atHRMt{jQi=|=(4GeZ=t4laBXTA$x_K)<1CMSD65^0(v}MWU4~p5L z>!89EYBGmnZJsqH`eufc7&;)#>J}ErdRtK+uBNrR;#**2185}UEvQB$=p}RRIpFn$ z#etr17ep_3VB#FS5G#n2yABJiA%+a0F4ihRrE(4GOzuT5hYaKv34t)JeTfz5+!6dj z6ZMN;K$A~Q>Y$@G-bNlNgG5gGEh%)u7jCNG#mpG5u|QzPln?+blsQrMzor9|GHbkI zZ=@lj9$Tp5OfF~7jRn?>u2DAPSd&yXO+Lg##m2Xwan62TB+1dmoScrq)PDb~}|Z55>nJ8KX)Jpu@5l2}j$wq8Y@mOff+M4Z$R zq~_R}N3#$rMe-npCRf@nusvd;pi)1>qkfH|4CN($N*TE2n6962zjWo&^xW*p*$JoS zt+(I!_kaJl=jP|R?aBML{`lSR&B~kDI=}0L+S{mzmL@VtvEGz`kO7Q2;sR1F zXBz_|Z$Xr;2MRH9aR_)c~t1GhMeCWq?q86O>G8fa8jX$Bs`~25?%pAop>eT z!WMN>DLzD=6J`L=(uKx|C&7)6h{aDQ708g4i4n3~kl#Z3_?&)H2#_$MtQ`kVa{^AN zt}hfXao$YqBU_rYBf{1QgCk7?z*MmQSQDH8;;ci;{KPRFc4vx+=hV#f*0n7@ElG4p zg*bJkB7PUMGo;KK8r_E0VTT|tB8k)-L>(t$N(ar;QWELtSCTW2H3)?Zs4Xxcjn3|D zkNnbXxn<@K1f^Jjv?Gb=akfeWeT!*nur4x6i+rR33)Tys3B#FlMk{&=BMJc*chZ+k zg)=Vr95G$UIkRo1W%vMWVrcZopr;rfFfv92Nz+J?ErA3QRYj-A>;tjicM*{J%srk; zqDD*%Xg58Nz7Dcv8IH`7=Xwu0Su(W6pcK`x&7R&E6U9MFD&hUe%oO1)L_(*Nae_$h zB7j6Z^!ofKX~P-Q-2^H6gyF&U^<{o<`{heTBbqePLjv(7cbHDN$-*2fb<%o2k^lv6 znQ0=H&v+BoBGEb=$9)iN>>&AsStT+fP7dVwnW-dDzymfygqK7zu6;Ntn>@<$|2%{g zG!u|95~QcZL$#I9Ebr?n#(f)H`ojc<3(Cfpc3>!8FK5a7{hru zssz4Tgo}tBdU}g!NUAL?$a!*a06b5?1_nqmc;uGsneW3d(XWZA=IZ+D>G_e(roP|u z+|Nn>`zhA^!H3U8dMqPkd-T>=s@Dg?jholGGAKv;X(V-LNK#)F8(b+UifYyq((&>u zKXaGIEBPrg<4(R%MGd-qt8V4@7DGTSr?+0I83rtki+W)N50Hjs)d5BnF=9(g3N_)C z(VT~H)kN+l$r@F*s&H{}mXG2<+c;ZjsF=>TozLvba!0ZV9USq*MG`$xiPphGxVQ@{ z2L|5iU}%g16x*glO?->Puwab|M#(uAF9VSQ01c49u269s<9~|MMl^70a(#1M{dVkQ zBNdm8jm*q9L}u-f9l1cF3EgToGo;VqYutG21}Q6)U5F#C2w_1zIRT9S63U{LQhurg zQr5Z>YRwTPhES(&WDZnMSOT^ac8C!3T;UIO^3VB0Y%{tMIwT^bks%K2FhOalf)!LT zMCBlIddy>9F}zAkKuH_{?CfkOo>&YRQq11dZ^EvA^=Q;{0MYNr(Gzfx}iNW=s)IMEsI$d1Udx!K~XNt6HG^xnV ziln3SSltPFaX4M(j!Il)0A8MCYn0y_tsx5tc_-*^s!=wrs8deuY6yf*=YS^2xspy& zlfh+B&)y?u22z|Ux)1$_4ZdSm-{;9wgY;O{jy@DY0>KeSi$U;yn?r2W)`NtJHG)p3 z908kAi4_efPaV|%0v=EW`+l12PK*wR52z|}SO6U<@Dv(#D+P~F4sCS*;fEhyn4e^O ze*Du9449O~&z9tVf(S=n_#a^5(mu^gx&oDdzD3B*BNPLN1=%ubIkTQElr z?qaW}xAt5jH6F2)D2bj3<&`rpH^q&b_BitYY+`qYq;aLqWpNN6otugCYe$?%eBtsd z5p$m!H)s{Icj}`f$5Y6)D*ln}s5`p_ee))Koz`@mMTE1Y%#l3Ow&mlm_?)(4=wA_Q z2?n`PQU-#76x0Q&QF5>pyDAM97$+z@Yex}6tsw-Y4cYKu3J;%D2n!*&=@?=L1}8I_ zzhy+P#3?ctCY*C^t-3W^$yHK{9i^Sdm5iJUv6z}(y8H@*L{w-JU>F;3HH5i<(X@e^ z6Q6Z2o^wIKX-U0kc~?g}UPFPvlhR;H$q{3{0lYm1=~O$E2PYP^wYLox#d9Ng&6RWs z$r#Bho1~qW5TR$%rMMxsrGt!?#mjW9G!%={1bfn1dFIICbRyKlL<~hD3BK~>%de=s zW;A5wLWFb$>&Z7TGdShDECJgA2b2!a&O;MDdK_g!)+tWz|$ymPf>dQeWP&qx> zfTuNi^XB%MuQlC0`{l2mZ!=|qlI`&|Ji9i|&QI*1Fq0*qP1wzqi2SlBDkeclOV)TB zv>(}s9uROK+1xlefpnampGpYo5GXZxi@JzPGX$Q*H=PP-?b?lN*Gxh7blW))8iN(8 zl1-qB4HaCLXLDm6Av^&CeNrvDnomLFY_3412#KJndPhXn*$^m}9Z~xS!!>orT1$`K-T9=_B6 zScP%N?G1>=KU| zG!arP)*?n=H1M>`BViHQ58jX26AM-}q&YMf2GIKD%NKzSBcnDR9zw|gB;+D*VWEek zmCQjdECYa#Y2qfv&NgHjhH#g8C+0CN1(Z2P%FS^zhT$=&d}$tE+PXTr#Ia%*p#@k& zJtnRCP5ztt2&W`TtPLk6MHrrJi7f{RU#b?dAJuA_g4%j<;lj)Izna4`B?n-9A+fMa zV{Kr{G2t;5<*)H+-&h|DFUf{G5*%O9peo55l=;&ns7jM1c6vFKKB-``O zJ8x6*hmY>=?B1by)XqT@dVP=@a}hC5s5rhc11>bi1ZGKOlgMK`J5E2?BokhY6Ywuy zy1+cBmX;tbD>*f5rh1Y&R)l@gmFpMP#(t1WT^bsru9~G$QF8!L6>STDNVv%OA{jY( z6ja<>76`-Tp)M?ta|sN)3>I8ELh~SwG{1g*8z(9E_Vq1PB-%Qd_&7sLXXS{{DkrJW zZuWG16?I1hDiwR(9n3h;)7IVQBPHh1>|Nqf#ivtRabOQ&5eMc>jEu!fdc$#)F%C72 zOo&9GG^Z^cxj^mw5_iFoRdx2vv3qoa%`@x*727GWTP%cWwDrvHCnJdK*SBaSlA2i{ zwt66)H%rFV(|4jR3Q&6M0`k$JsLCn`#^}g(dln%Xqe%!XN$}MWIc*ly=LtlrDrU!2 zGCyzPyOqaxcy0Lz-;Pr97;=aU{PsJtg**(BEB?#O;3;GQLr&GB^?YCq2isWR{x4RC z>4icZA52b>Deb|`?HR9E%>?V|aSf-Owd1Wk zmM2(z&H3Pn=(nx4DiI`OK!#?oe$Xx*K? z@l)^4>d-LONH=dpV~m65h>xM9OV0L=OELo$c09RPUi}#!5pqIH$oqZ&LQhY%;>#Tf z5(gH@U^M|Eo1Xv@nh;>}0DW#*Op3*kv8MC-P2`o+8Q)ql=Vj43+M4z!MR~Kep$o(8 zJkqTj8^@=6cki8j^Ud?)4PScc`+xhMFJw)RNYCp(f5OJ-%&0PDqSkp(lRH!RKp4H+k58uCy+liO5Z0{zSds00Z~ zlc&y>&q7pepQnVtB zeyY}mI2NX;&4ra12YxmKC80p>C?$%4995Y~v*KifK&e5~iu;*HOfesAN}O__;UE+(SdV+o;-PAjvY7*pK9`*C;^$g&;SUL zafXMBg_+JV)1j_zZCE>kNJs)vWKe`=2=>4OF{E>!igE~+?O7%abfGRkTschYmx1q< zWkgl%3R>jVXzh%z#uCSvCTqc4UXV;~T=bu-Z>DqCzK52Nn^jT)TeNc!bHcUJ(T#=+a^~NQenM z7*VEd1G2Aet)M6Kmdj!d=>Q%IW1_O2qoL<`k)Z8?0&2^X8VZ+!xX}slQ$Bq& zlqKK`R5GAKO=lrRE__r_4Jx;V+aQIPMUB*eXo@(VHZxaOhOit&Fry@XsaA7nrE)~} zlWG!k0EEj(eOnV&Ny}`rhir;aUqqABxWiAe;Aty!2M4UOwer2sV7{Zx^b^$VaRe<= z*aiq+=v%fG+nO8W265y8tu&`C3{qiOvUJC$42%|~weA%-fdnI^m?*vxS6hq%FQ_jB z5f)i=OV%&HS^9NMtF zx~y@n;j=qp_?h}SGF8?kp&zTwsq+?GUNIzsH{z#E2w>3z;Dkk6(ugXNNect?(3J{W zn4s2|Q*jMtEWI+C^C=Ij(&Ot`#dty-w z<@1D6atcK<^JGAN$VixW1lV&uaL`{l7P6RALnU(<%%UM3VROJEjC6nm3~Xiz4JdSj zh64`Naa^l?_-uoQ*hr9Q4gql)JbvN}+e0?Yj>&_SX3FH$v^<{3rU;i#90&pFYo-8q znRp9`W5yPpES=#1uSP!Qj7&GS$wp7cnZICi=1a)&t{{=KnVI*;4j9;rd`afm60WcZm({eVM|oWJE` zlIxqR*6-Ly{`=qmKG~kv-+W{DaQE!N+5YLC@3g9e3<4kPNSQm1A#FCVV!_BjmSGPw z2%!NPv|~m4$Up?L6(M5sAdiA#00x(OWQ!nSY~}Li_Eq6`gh5dnph94ZBnlTwC}?>h zFyi2!g*nu6OiF8J+Ie1!%W*0v6}fsXX5ZwodVpD*U7TCLwq}~f(&ph>d`$@t$&O87 zc&kETL9*lYbv=p&$V5p7B&1%}6uX2IXf2RTB&k+-0ANfJ5i{1X=ZKgHTeCO(e`Q6h zStA2k8E67fQezb#JHlL+TH zRVwolvyfDUD6cF*=7r#0vbAw?Ev&7oHz1 z#&=iNLLqg8rI)BA%EMsj!r`J(1xaYu4}1Z(9+bj`6#IHZWl&#%L?j(eyuv1FIoZ_y z^exXWU*9ZrTMmUF3{RzAv6lZ*N1OGtY6bu>5C`2z8X_>aKYRIKx#{|Ns1aHdh(f8p zUBxWU|WjDS+>xj*CG|kXNo8@X-7lc$1J=aZ}8E4 z%_hEs;nT3(T*nAO5J9k86QqJs_me3?Y9U=<2&Gu&YJUj8G+}dvNUG3;CBqcKS&Krq zhA>!$fUwgpOz8{tq^EF)wb>nzNHa5nE<{cqcXYsF5VAJ{(6_F$HMS<;ygg(l(emo z`$u@?L_8wQw$b~&{au663zsf9%@U=V4bv-@@R^5_HaWtHp#<(J^kNdVmzJ2Lw&hrW z&mu9K>I|Ux!-Uu1#ayKbvZ1-JLzsq$IS~u~7iR@>Vz!HkTAs6&+C02EZL`yyNdcya z4MQ-3MoVT4KoVAM?Ag)PYBX;c%dF6XCs)+SVz9<=7@qY_+o*DI_qq^Tw{Xj;{7N zBrv|i8lE2nnN_BU7TVt6C!=d#W^rYa_l$#PYV_#7k}?f%h)GGp zj6pS1lX2uh#0c#yBZt-x`4=#xU@#ZQ7iq*{*df6--0AG;?)8DIa?!%OJ9lnait_Z? z+sXFaeRzIwvj4`LPxcRXD2J69gprT}69cmy(n0cLt+Cy@e$D0-gT<&d1;5xj1A5Icx*DGh~Ks?>E%jC0C#K2wxbEJ9& zt7@VTPOEUpsh?RG=`r~wp1nQc#P~|D1*##f5st(Vl+NpFV<-m~4o%GDY92wD@a#JWV2~sDA z)>zEeQ=V8dDnXTCHNv1uum8NUJdjIQ1JUr;b@o zxiaWa7>T)@*hjzzEZP&W^G))!4%%Hz!q5PmdTuO02c0^zWGAjq(5Dl`BEV)wAI&{2fL&yVD^kD1)DtSUuF zsTwnFtm^b8E{G+ODv>|?1aOp%YQm8>NgZu3+StCjw6=Pwv)#0sS>%}gmWW+Ty`YR^ zXM3H+Y%~<#w9I7@Uqfg`itv%c=Q-!tv=JOtj;h|0F73+c?n&|pWAzd@i)$jAK2T4{ z@bKZt4=mK;YB?dGO26ysE7 zjS4d(982S6;5Iw*g&`N~0zYZw1c*YLLMP#dPT=8q=|U+Nw#Lpo_cWZ;3XY%#7{D3U zD;#bR$Fc%qLr%1=POY1wH<}XzvCJWVl*Z%`Gw+j()@d>GyhcXG1n#4U=gIc$_@w&r zo-+;&#h4B1f@4eqsfUV-QQ@p&2yVozR%K{)b6t!_HZ;Z%2ae)1=rSQQe!z4os6s@- zifh-e0ah9}ltM@kRgSIzmrl|etDbp0?gnMn$?`TxsBVwsvIiV;O28ygU&708;22vE zLCjGu41=Ra8-i$Yo|_7J65z=i<|ms3FQJb1j&^>d=`9vW{+l~Dn!Z*M2b^@MO8o{e zPWM?|Gm#O;-=Q3~c&>HM`ORC~1_fy>5d9F32a8Yx0pS8W_8W6N!95*0Kb%g0HrolH zY6VhUYs*w2<%!z#rVeUd-`cQW%*-H`VtcA#R+I~q4epF(x!?L2d7NJD#1B%VM_~)I z`Oyj$46Bwbgp<6?l;R_J&;f)vrDhPS+(Uhci_>FgqusH{6(W|R#%xa>EMNf$*&czM zaN5!rVgTIUeu?wZKh)pWd0C4XL~LUcyV#Exc|`*T*`L5pqZ=~98Vy0nuBZV8T;9sB zT~eX@qVD=y)breh(J3@ygKyu<7hXXMf+Q!=imy|3b9drYxMaQJ><-!qqmZ<;A%}oL zTw1(PG-9M4->3v_d@0yIlctZDIzoED!ZHGkCg^NT=5t$g%ul2voa&S&LV#4W3MD8y zAiYIKZ-JDVE<>1;WC{3`5~Pl6Mc0EwDZVVH8a$WNh2VI~W_zv(5#qE-sGn$&f!sf^ zI@qTmBbOg43o0;p9#UswMi9m}R|X@UH*6!lo}W{Q0-4uF;ucH-7}3ZK0v1I0tsk@r zz4Hn(Vs{J!Z9I)HFUJl80ayA60(hj6)MW{9$Zo57?4?L5Q@X0kkZgUtV8z5)UFd^Z+c( zPaMLV)&e7di9SyxGI?kr)u-snx_gKxs?`LKCz~j!NXQ8-+Qz(PDiSND~tKnEQl;*y4lafPWodYLK4hR8*o_QLJ0aLAPYG8f&_B;dBgC>xW z&hR1AC!@x*iE~EBBea$gv7p0hJ_8wyaDVxge*pu;t+qy=Fd@k)$%$-!c;S6k_IR7O z(^%7}A7?KMz6V%!Jb}t@T;Jw+#Md-Ru{@7eR)b5OR;}fF{6r-N0GudEj6KhM_X@ud zmPmwxr0*%-#QEZrtB^?6LX}7R(3iai4I+;r)Bwbk|Ku2?JW`H|-+UJ%X^coW} z#8X;YEp2CfV1R#{s7p zC6yAOvOd?!V*7{1oSX%0^elKLio@G8s>Nhn1rN@vC#aW>W_uxe9=Z@2RO)nR4`8Hn zo{;_gnv>R(G1~yZ)+|JTBsD5zj|pRNCrv!*=X384aT$!%eI}NcK$*cnbGFCalNhL0 z62bYG5imt_t+OQ}QqCJ`&BbJ;nFXYCKmeD8`7y5P5Mpr{wCF?HtgdFmC~0N!;?)Z; z6Jfdn22jC0yg&!FrL(ROA5y|Cc9mp507gjEcI7f)glJ6_(IKE>4NH$KYJeaTS#D>= z3EZT9Fua4%$*KBmywqZ%6wTfd`o}2wOuM$A;N;(OBHU z$7Fb(e;*lYYSWxnAPYiIR7=ABq{6`S)&&>2g#@t~ z6E2?U6^KIy1P@h`!9+QkL!TVOK0hlCB~ZZ`g8@iImbIuk-dc(CZ_92h{)ouD;iI^o zzLR^wY>-gF9(^Qfg$g=Jle_lzi!3!OC1M+*+K9E8zQV}=REaD3Ugl`R2_OQ*(};=r zQ4iT?LiF5xZ!7YFZA*^n7@7)x-j9v$#wAV~#23ae;xxHa^K&dJy9G(sHoTGI{E;J&qad+eo zxsGTM1@h_JG%`}ZCuEZZ!370qITA@zYr!N_a=b=Zn?s3j<2pSkQPoB&r3ko?7>HoH_L2_80leC5V=%#iXr{hRHW`9V&+;kbYlIqXj<7~V+tGz)d6LfuJY0ycMx@n}<{Yg(mlG>VnxQ?Z0}OMh+tyvs4B7xY z&W+G##+~GZb>y1(EJGX+8{VW0yqVbRWJV*Mwx@%SxuKD&=?y(6g^mr5HV^ogJFmuC z?8_I4v>2z#x}aq}_o8K_NQe=~u+J$d4Hdgfcln8ZjLt0Asq~jspKLX?Gr7=W!hfo{}Z* zix%76>7JAHndvj**g1+NQ5!{yJ4KPAcF9|u6Z^#O&YAAcbf*)`lDLyt36S6dkOaXE zAVB~GKr94EaMfx_maJWtEy;H5IJPA@J!?sqCa}fwprUvW zF&#slNdW+19V&C%)&`YOmbOk-gYt&StZ#5D?G-BRV2jNY_O-SM;uve`EzPlhz<@rS zeS-fM2MGaiBMqGxL@4$OFnBWTf&-)cYsu=O9%73ltwWIw9#i_ejGRh4@z8KeQhNp! z?b1E5>DU0WGY?#^vKc-!#v8T_Su?opg=r2&Eq`+JRcR2e}5C;>X3!SZB z90?Sm%Gro+BD!mOLdvCbdm_(9s3P|N-61FnOQw^&P>i;G`c;Gxd%6se!YdGHU^YJ$ z?2t9Zl3-GRJO=ETf^Bc_Y!}AztDurdidm`?yI`!lx2vLhV{d=2eyv-(rnO{-$kA!{A6fo_~2##0gw9vrKF{7lUwC85OO zv;w*ClQN7946L)*EKi)(>|V8bRUmCjQ+mrdMtKOLMNG<~m@pzW!OWt$8w4Uf!S(@< zIRy(ic3iZ3@6K3vzs+zIg9%?CuaB{mMSug5oAnQAcJ{DP4*xK}#2=B#x8h+$LN7+xiAxd!0|u>w4RUaxpIk~(JamN?NqQKXc1cS$SStfC&+!w3 zBLw@_Bxue zdQ+uAH(6%kj^c}=8ns9h_{`ca%MbwAPpBtkphwxHj})AQKnTIJ5Xgg1h^-*A=uB>e zWn~8rA3!WZZyP=AK)Wjm=Y9RX27bnbj%Y&HXd}k04x+Z1#p*RrI7rJGSRBXFH4JIg z2{oWF7E5_Zbn~H#s`Y7h7TLRCHbR?WL2??Z1u0~p$L?SjP8&Te)xc0#EKxZ!_^l>0 zhHR?aMBfke_OdvrUW`#yTO)nM0!hX$&7p%V1Xs-_>k4?zI*d;1H>@X=fT2FwNnIUn zbZ1r7248hbM|@^5zy|r%H5++%&`7UEC%G$VJ}D0kv3|pDe$Didd(RnO^=2e>HP)hs zaj?hSFjN8yfoUYcIaVy2D5dQqXnl4PcyN(2^bI_qDeY*~qGbgTkM?#n?`7S@cG%mS zwi+LpFI>P(6I`cqrW^Jqi{?03F-tJ~K$N9&1I(t)V)z{3s=8`JqR0BUUc-St~53m77g9_MKwdYsrN6j)UtR~|(0x)L7oIddYJ5>Rk!+JA{(w#zn zdab{zqF=G)(X?&8gim?Rj*WnGzMnX!rETxPiGkxIgC|Z8fAs5*#*KUH2XFr1{dZVD zmPiI7BVrjdFUdV=;NQv)rvu=X@}K}1glzRgZLQMKs2Qg^oESL)Ra#bnC}1Gw?Q167xHW^PMS`wQzfwG> z&zz(xa^#%V0^8sRylDc+;n~A%FX~iJ-%+dRo1MYgZBwGQoJONO<4hUr$dG`g1r;jK z%2-2q#67{y#uh!~R8&XXG4BAARUrNXr;-q;uzS95_`y(W@X+fxkv8%qjdt+_Lf8ss zE?SR(YVza>7XyjFnH%~vwiuLHy2vMCD7y*cG;ae`@|;SvJ>1&Lxq|2<6@5`kN63e$ z9}SeZ7ZT$qG|-r(0aSjn3X@WY`9OZ!5W{I%xtQUFT8gB;&9%9A)R-~K>(~!6Ge;S| z=po|58VHdx8M4t;+UNuFSq7vnkBupTDe^nOpgDNMb(-@8+vNEjt!74s-ylSt1`Riw zz}~rjzLtE0#Gbpy!{C9{JUY=m_#v@$Y*Gf!u-9WLRvc@jjFNuELVA}Sd-w_@9_pIl zqn|cZtTS~=n>R*G%5tFWaL}lv6-ig{KxugeO_RkLA$r|cm}L1(%XO{5|9n zs`L`kEM^8Q>}r;Lz$K7ThOWn+m{A#T=@SI!dyT60@h2W5h4O>|o1der=g`3bX0 z%|gd<@>j0SS+zCqIO0ExMLaK$`|4BgDWEO{s2akhYf$3*S;Xx+f3PRHOQ}!mpEg zhghpkwLUe6Vsd@hJt~w63e;?_K^IgYCgj5p)EQK~h0fq{VN#$bBQH#P7sC;5iKAb2 z0b}Z;+$~Me89GaaXptS}fMWxXv6DLlJbvlzvNn>SZiMOw5mM|UuZK?7ir@5+Sp1PMH3gi~7h$B4u>GU&SZiQ;%e zN5X;$Q$M1Qqu`bd?3HuqHMT$yfjY29KIzI;c}x&q9wbl&-Gn ztS+krgz9lAnO5A!)Dlr##xY!!@q;%w;b2cVo51RzVla;iYuBz>v-$~(I&iE?1aEe? zG*vp{Besp*Nta~c&C!4X?V!q5l*;8(s6mBB4-D*H&G6tw9dYBUTq;Uk=HxTaJ$35z z@X3=yAAQ8`dGguwfBV7DfBdr_v507Yp(}PwxNxjkNL$L1emoArE-WUf&bI-lGRUAu z6rTl7GsaJc+kmM-(htopMD{wk=o@mTqoEJd25W+)6s70h0y0&HCf-#5p(`5P5^}lW$7R zlH@m{m*cnty|NEp+T#a1Bd?nC{89ZtWj~n<;1|}9p~8&r>F1wvijzHf^62YRtX|D7 zue(&JyuFdoEfFp35|tbBQ3iy}O8N%yn#jUIUg6M0pWJ)bi(au~E1jW5>q=&$PmUe_#2mu@1x&at*p#w6aAXZ7!F0!bk zS8Pp>!AKAGBM|sXb6R)r@-Xw5F2Jfm21>Iq5j6n7l~&jss`3?DDk|2AKy=tbKU8Dz zr%U%StuCV}DZu1fborVYl7-|Uk&!~Fus(t?&;1P)C}`L>&&p8IZ%HY}%J$qrCE)?3 z=%I{|FhdVGY6utA83QwZINq`rl-jQqqU1(=8(B5yb-Zl|l245^0ArvesP;Ir$d1f< zr+!4Y^fQ(bG=@C~B>r7e>{qXAE^`Qk8;bQvJw#Q3%+K(U`O}=sb3$zZXKeAUo;f>$ z$A(W1Cc8&|&kuj}gP;7(j}47`_P4Zmbsjp>-rL`o7k4$W(1HEo z(MCoo!zQX-y`A<&w5$BFV^#~qL7S4+@C7R28sx%d{D4U6BH|wMAD|l^q&%=K$bIT{ zhhv&kHWy{DQ9}hTu!alcxQ=!U_@lxGQ!O0fvfN_m#PROlFn7Q#0>#<7cKs?u_La_H z7rN&hT(e;{k5Su^gRy96x22YrNH$>v`+9;oJ5E$W$UvL5m*<$&8Y?};_&&X8R=#e- zI`b4^19|QSsB9%;VFHcNCS0a4X5vocLi%u@R94^?lXRO^;Q{QVvnY;0e&uK(=y;Z2 zxS>&Mas82_61Lh*ovdF25@6s>cid+Uh`U^;pRGmaQk6w1Mm()(9S;M8DB&*s64NxW z>pne4jp-v-6Ve-J%!0B;*LTcJ3Md|@sE}!Tu4R&uvFJn(}Sk_!A&UwNyp$p@e#v-Xp|5S>BnD~5l}A0d|C%7 zhU}AF)i=;*ybst@!i3ZIIF?|7%-Jwdh16BP@vc6x1JppbS#M@0`i$@U74rgtF+Ko`e&H57z{l2IXOr z-O%0LVGX%1XJAkyESrY94!H@34>*~+qIyGHyS+Wz@s6xOKJ>6bw{49TS9YeejwNYL znhYZm1Th}kf4aJ`@i_`Z;dxGSvV5gCQ!si z5!F+FMmt0Jx$~zoKL5|g)L*3NP^0iq2Bz)2E9Nq$tV8@!A|(bOqt8fsBj7zFHt4I9==d|`-) zj!Jqk6cI0;N}zJm7@yo26>zRFxY1EKfU@x-@~T9ORHKl!9g|ah#FhnSF}rE9$g|n8 zg$}l#Vbh)_`8S>fqd5essiAN9m{q4Zozs^3HVHxp=U~L>$Q9UixY<@^n`?*>i6QhZ zo@IV1`WQP?D!RkwqiJ+aH(>@<^^TiL-|anvQN(!BimaSEdzv+w{kg_P?^3`<6y>1~ zeqcsUgvf|-&Re{|!h|+yG;TRT6Hb5!2CW-_(E@X+8E)CYxe{ce{J=&}fQMv+B2R8P z1r+v^oD#nRk0>jg7kX;lq`-ViM+hW}1;_Hl7XJ5*nA+sp zi=y`}2N^X@f`(FvLn%t=3$~4o9mE#x^D8W$%||@T(4;AORF4hzSsav`!`ER*aLd}S zufDF*j(j2(&TZJfbz^m9d#8ZZo;urh+U8Npp&UFjqlV40?`UfVR&AYK3L|-lRwLg` zBkm1#y70CDt~^GZ#&99%kk8!YZ^Pjv&$vWSGg)-j{D|M28U_jVrpxf`SL1^le8|qm zgegK4v}WwWszC!nV2rs#+o7WY$z~gJCncr{sl|@B>4aAq6VaRmwBmJiF%j_@M!RB z7Z$5a2#gA(NNVagnKw~mdc#jD19N-I%EDj_DVCoF8&w-6uUdk)1ys!`30l+*iLn#& zBs9HzskGD)4$nV%-s%TuM1A;czUJp&`i>a;|MCC)@BKr4#tarLz^NZS;4P(a&3E(2 z%^=_-F)PjC3_;+t=g(qE888ZGPS;lfK=EqolBfxmna4w8*gec_c@J_SYpdy=w3av` z=P~w6=t}v#I21c01wG*tWfUN(Sl&Hl>LI=(3ZAHwc|;t=j4&^(LkTqryGTuO(m?J# zbR%;D&p!8^X91k6P3#l%b^6J0VgqK{sHU#UUaEph#^9|M)j8@>AbH0YGdmiHOU%>^ zLRbKrAQ{+!R$!e_KQ7Me!IOhjnld0!EVDN2LD$H%egR%be0ri6n2|aJ6@E1CLWM4a z5F@8$N5Hd{LFE`@>ig>P>pM7M}h)Q+(gp=8>1OCd{qE-07eV?N|@4svjf{WikD2o z1HJ``+7vKt*9zbrt7*D=Y_PYpH!`vTtgz?&m6;{%x?tXcc5v$_wW-ID-zx3Et}L-$ zWv_%uV!?jZef7KOzcp)C#X2U5Wx_X7WGsc;QqRa{uIY>YXPIKG0U6nbDcnw%U|rJz ziXTF-6RZN2@EH%SztpwdFQ}$Xl}A&+fY}gD?2P)zia;6yfKd*>T)Mc<Pj-(LWE77)8I-hs#iDwxkSw1>k3Ef7y$Bd@;gi<(L*2)EVb64l zM+d4|cqq<(HLHR;?Se!N)VBEf`t_^9>>=1#W9(^^W!_OgtJbX{tzd(qOy7!%4MdV@ zi(Ziq#ZKGWVA-y*S`Ah^raY1DwymvA$pv1=#?JLHdbI3mrm--scV$)Z%d!jdFla_( zEh$IA2OrTrB3wdU@Ba9QDaMW>v7(qd2DU8uD< z%OsX^DyE~H2NIURf+g{CK$Ieop0G;?2KtPA9wM*jh{jd$m>^f%LD_VGMPW{$6mgAB zub>%s(_xqb`y;il-tsP1Rj23j2J?Oeq3(sUW7}n!NoF*$Ej;EWe}G{jnK@$ZK#9qO z#GSOWfx+Iq!>HEN!~Gm*aH1!IM{SngG(u_vF7uGnNd0hviJ*e{%AIiP)G$@;R}Z-$ z8Ng<6Oh9<^JQJTXHp|Z;@eBZVBjUM(`befh1wZ-)1Ij>=0{W|uNjHQosJvd|5e(uj zmtQFWPpAjwb&3e00%1imBXoe>swiVLL{l+>3&Xw=0urNXpQ=JEH9#*I0N_$NsBoxH zU#U#RfRtZUCn6$>MpfcO+pqiL^nR!#9pNHbV~hNiS!Yb#R&;Jq)6M99jJK+ z4|Ouy<+%`LY>s?XxR^PK!D%La6_pzRK;__iUYtlT%#5GbACVr=f=Yggs$hnyhN8$N zY}nG?)@n+!c~fnq8+5gE4yhmCwzcua?UY8QFM2`psJsZ z?K!U=GsmW#k$`V8*Xc9z3kN><=!0?N_

_$-A$<`HCf#)HESZl4@WHhZ?!$jYWJ{ z^gayuy`edaq)+rmeTgCe9k zL?Zzoqkf2fjH#OTu6z_oGNVNt0Q20KcC(f-wHK)$IzwlYS4=n;CjqVXqM+GCChpGY?UgoIKV#;7N&)TK$I1cmZ zxI7p=^%h~3MqN>}abwjwn5VGKQ|yUnYZ!KneqnjGHBgzAM2G4^P2ojcFP^Acgfp#U zf>?iUry1@;;F+ueRpnj;j2pe<#i4ruDNRL!!0_;Ky&ywYZlgOV1L1b@h44k{IL3e+ zwK3B~oNlX`iJ`q_ElEEqmd4WTOp!EX2( zXmll<0SbVbq!m9a07BLQ=iaNmn0PoVpTed_ZGYs0CK{mQnbx88A z=#M!x44AK*%{vD}7tCeit+ZdQ3L%GL({UUj3!I+k*l<7rJa7vdu&FDkATD%0K8<); z+R#X^$+W(}2}m$3`00wWm!CBt2LWeX{sHW6e zb7TYMa2#_pDvJ zvQ_}Mvu&#rtz*4%9Ej1(yl!l)+f=)5y@U&q!6wa_F0nYt7xvI)sGw$ur&lBT7r16WL17bLHnE!v<)C1GnEYBe5itlCJ;6MqoWJ@(KTIg{6Ov3uTp z=MA563RSG}&RgRIf{ouKjIY9APrs8q>W6ePEWY#nvs}!z5~3QniFQ#!me?4&c*6N! z&FTQ6Pu`W*;6)(Aw-LqkA?tU86V0TT05{B^K7W=gh)Wz7hblUCQaFsaOTR6WB4Id@ z5$2Vwu5=6OglynIuu0^LHEzwwrf~Hd`7EO86%aAf81hAP$PmjZ3mIU%705_i&zbo8 z%8#WLn;#0fGlOX$W(rS|j$mQ3qTK{@q?*EmE<*(gplqC7)!Wl0^@r`HEyEQeV+1Om zEocFN34(Xk17=zo@Fo<%KwfBpAN8|xkvANCQfqfM4IPi91HXbz(=L7Yu0>BtBZkpV zxzb_Ol@|$pSm1J@gad%rsi>=4dc(2+USi z+Q%jM1>_uB@XQyl5){OYsET0p<612KdiLKK~_1PktATFSh{v~2ld^+ z02L*4tbSX|7_F^X5uD*Fu-ZY*@IamjD`n5fhEny=J#naN_|VOdDoi4h(b)`9R-y?J znu68Iqfd!D7>^b~{Y*Pxi{_9Ofi^?6_4Wk9xIwqYs3Hbb+-a5EqYJ&8W3@S$C{Tzq zEdmxwLs?*(Ct8#TlWSJ5qJAtB6L%pCqJDS-A6gu2vSanWPcc?7qpW^`$5cfPx+xfE zxgVUv285?wM4ZCWi@1V)jI-@BAPzcFsa6CEw6J2?9Sx3ol&3QUJPiI}%@}Q(#V;M* zg|{PJ0u#nVX;Pc3sTyGTsyw%~%`PHED{X%!-GBg6oN#BI3FB7!uuV>l@E~OR#QaP4 zN=l6aJodv0<`VVwdRJ-V5xhrlG|Agc`(>+#R)cUe87oTJa561es2mhSL;YvZoD_ih zDAsem`o_yIz4l#kuAYA9j_f&lv`Y}gjp3QF!Z+2QLs2{ySjGit+p5_ft*f)MueXQP z;wH`EEYU?0OwL%U{3|)IhPKcKTYhp80;r{R+!&|~1B8jB)sDc^SFusxme z2o2udWApZ~Z!ujm!f1b)pmXdUuLVw_Cri0s&gF7=xJqea}qEs!82(Ua$fsKwGb4|z@e8gb^N z^Drw2tL3eY+p6noYIn5#iGUE)hT=K_DLz zL9@PyHIFgC17m7tyXdJ-fg$gC2r#1=;{szFc+CwqGwdvs>vWDzg!DH$zCKpsRZ_;7 zoX>21tYk&!YAa;$)yT=?=gy6sI(_n^h;zO2`pcX>KmXO=n05h#A~C{|WBNn0*hHF^`5fJq{Q-VA>;ottIXz;__3os%G9yfc=p2v#z;xoabE z2_BGOc?!TQ1_VkPzagUD!3il@v-SzPA?s1Y6w)A*@?L~q?;8C;0wgu4oMVltN8g0J z$`O?>M-dC-r$e4_X@I>4c!4qaK}1O`?4(FkGNFsec_>}0HU({2UA!Y8ffHn97HrtK z2DXKkn2%9y${jEv&HKY3O|V`pu!)8JNXa4R7*vZvV^)$3_GafU3$U=9$2E1lM|@Q^bj`mf;NRr+Rpq} zwPwno(u$EB^MDpYRKkw*6UTyI0ZDB`cx`>H*|Am#vclUU-Jt=TS#SA#^sz?;?e&zA z3YixCNI5Yw|N8H&sd(e9*TmR)ee7H;63Zaa4*8?~NkB4R!Yu&}7{>}P2AF&*+^v{i z`Y8*F_CwR9^btIT&eRNflEF_t1d?PV`qfW*Lq=&SFM6VeaBS_~`S{Am;S8U`M3zwn z*bv4B;u6ZbaVvQRxF>q=qJd0~M4nZfcs9b?>56Up0jYj#Xl)`QCaiMSEZyKaluO-m z27u?(Ds$10h99Y0eCJ&^`Wu3k4(V|ZPH&~HCnA7_&iOLG&`s!47(ze}7!YC;1x(6J z#B4;|+taNKGQtunStNXXs1GA>lIa4Mj3JGg1vVX_(P>ImDd~yU=|ZCcL)SbA&DE?4 zC&A!51$dlQo|OTTnG^ZyEtpiBN|O9Z?66Nv?7IkWJiNRSMo^5*1~y%lAmCoL%HU;; zmZz(fEAyV|W166A7z!q#MYWV-)SnWw2qkNn6VpNq&?mbdTq1 zQ;9*qk&iY`Vb~jmyok+c2+aWlv_A1W=Q4PBR!EFp7LkJrR3Ra7=@AVIeu{^j>4N+G zA`N74V41-xr3Gg6&DF9PVmvm7lBk=`TLQUi;SKgw#T3ZZQp0NNu{HVcJ3zHjNrcnUeS)khUZ>=MCq6 zdW#dz1kGrP)95pt#@};tWcb%H=X&kUS1jfdW9O^2Fd*w5C`5d3GYAN7gy44Xv{#0& zkO2_I6d*=;L9@PQ$-@y~@kxSBaAOv@b32gn5z2e$S1J-mrk7Bey0o;*{q1Z2xX#)Lt3MDBvQjV|j1>*+IK}&Y=R7R)D zBN*ts(Or#B1~7Cnj1L`ZqnU7!4kjjw7_ztUi@_|x!w`wBoDqtNz?ew(MSwB6!vFtLyPKBW;R|p2xLQV?Qx3Nnw z2v%Zs@e=?hPu#E@27!E?RT%J|Cui|aQ!}WefoM%GlR#Z@;U)rw85hg7!aV@&HEW&- z_S_x^I{;Ngm*+!0t5&a4d6r9yef$Ks#tQqcxc3ttNQOo1h$4t%@JSLJtH0=;x-Hg& zvQ33e*{R8x&&R!BgGde8X}WFqCNL|8_jE0>c`T$yWp0es0(RleYOzROAK6b;wN9pq z?QfMa2jTkHH7XW75kM1)=d=)Nu^6WMhGGhDR1Am%>o7!w@vDck8wzM-^0>r^`(mk4Uk zg{8Ba1SFy;4DA#Nm1#U-zKCXHPI=s3K?08N;gdrO8w4mAOpXD7$Jv9;P?MBJhGZ<` z5B|w|i%pzVS7>EMRj%Ktk}2gAUm1d_oRkR}mNazbix(xcbagF57Eb87m}$T;#i=2! zo99XgKrGF16NZ5E+QCvvH)XH@UKu4_G(Dq-FJgFjFxfq?zW%-MzWUv_fB4qm$pL#~ z8NCo65kQ0j3@TpWL0PwL2ieAFpFF2NAmbngs*%iY#i?+t$s-xaYjP0|a5JXZu%E>Q z8A2hVRIzyp4Ur+G#9;`qtPQf|^z5Vd!79`YxjI;$#(5o=%o zarO}L-iT+#rXOnd6&X{qYV1@%0wkrH$L()x6}j+4bWFP{hg2()@Q(ZjqR@HN`t8`_ z08jBAVJnk0h0%=`BzfM#UxpAp5`7>RMTH@lAJYVR*4~0TkQgv>keR`kLE@5Oj%MD6 zE^>@MB@7j`fa7lxHi$ru8OXdMe&Nh1bwgMlL9$9nYJ-(slq z2ui}`Sq@OeD7(9@?6cD}7#K9X-lkwM?=2nC1!%VuwBz`UIlkf?F%cB!hA?os&uC}+ zvU?anW@k#Gk{gMW0E=#YMbDD-Ux9m_fFu8EYv=CK7LsS3t85TR_k$4&=yK#bFA zWh!w5j5_s)dVq=A|rSj;)*h(Bl!R)Y`dh%qLx5m=K zpb-Uc|G?IRFmHdAh!%v)B39C2RDM2Al)5c7%xi($=paPc-J+pk!@9NGc5JqX7kgJ> z8pVVwA~$IbL5g)kGL1hfVel9#vRkIO6ja?Lvs;D#?QhC&8 z)2~?@VJyRlK2miWGIT?f(6=mjHS^t~sj#v#D_7e~LSnF0X0bz$u$NS0uUAxTL^xt% z(39?lF;Y02`RFY69kogKC?;rR#ud9d@my`Tab+wdr9CZrK^-Cta>Mlrt4W6kKaBhy zy2rkSZ@%-otu+j0WR7Gc?=bd^ZNe;mKxDdy8-{D-Xm2;)6RaD1&z zY`;=s&6&lR&}qOL)D6$XS3ZZNdKbMZ z6NhxdkB}BCK}r+Es?$y&4qdX}Rvb)Wzba`=JssA08UEEt5OFI!8=X86&*H2^K{0VO zUA6KF@~THv0!N)en*2e&)GohzC}n_HQ%LH;q>WCw-?xYEiEcV-BP9-CDhx(^v)SQA zgs=*U9AJQostw3Z1CjOpJok2m3qz_ta&Py?rZRjL`bD;gBR02ISb4#7>yM07U;`nP z8cvZO``J|5UTjv*Q$m8IT8t(GoSmGGx4#Tu~Zf$jC)p{?Ain2Mx!tDIY^f5lT zR3$@*?!nsD*ub8A;q{dpSFTyf=z#=XGazFFx_Lv@dQ@Y}wpo|bxK+Lm1d@BiGGe&r zZV~h}pHj2(XpJ8zHE5iYu@gE@d(jCEcM`ZP97a!$<_g6Oy=Q-71X7 zD3p`3X4Mm7{vgD(5e~z3X4wv45BFrP@{}9;a=Y(pi4{uD;vG75{KTo@4?g^r{d-<{ z!Gw$YX|qsrUl^v%HD8GmpodnF-$O~zL*9k;(9y|9MiZ#t zz5E`74Iwtn#CYG{3MH|Ct7)sjQf;VbdL`SQ7Gc(ULI^V10b}q0VI+Oof^2`Y1z+vm zPENH7tZ{f`$jTtRY$}S*tQj6MoTAYfb?gb+(qttfpMSg4#RbB6do5HBccBSgOs~9) zm^2Ng9;qaFr>UX!$N`z0j$Aw1+e4s9KV-5JunEi~S@O_GCmNuM<+V_^#y^yzI59W^ zQ9QuV1tqmYLlAK{fK=YbWDqX7k0P|&lx;U8YEn_&%2tIgA7phkHCTsbLq$1NR-TKp z>MU7A!7Sof0=wbXY#d}e11d;-PBe`TG~`DdY7+oJaXn>~vZ37rm?~9|w?K~cWCAl} zn#u%X%+oqgtX?SwbpGil&0;7CZ)pp6QSBuDVEX|Z9Mo^!gvV?#093;QlxE`$b|S(hd_c8vs7#&zReP~XJ9M^H^6(N zIcDE^=o1A=T?pqg2F5~7yCT0MoMUN-&`QD5+7(V9)Wn}kDvxA{7rCy{00N2 z3e+=ftgBd8QM)nri3rWHbJG?C(qkf$19)Ykhhpt$ll^R; z?fq>B`;QM~7a`NJx3^o=Uk~uUu|#1ar9pyjO?YK(g-!mY2{4$jSag(Km$D-TK5VDf z$ewR$Jbms|-{1htSvXxnkE+l-*%>iuVmw1Op;sp&5PgF*AuvMVah91+wTbtVGlK_4 zfJnuV%SFLZ6)N!x#G^^7D)!)4GCx<|q}>0K_-= zfdM@3RY>t@!n*|2h8~7GJdQ-6ggRq@*CWz{cEVLx^1}hi&~;VNHFto&TkI0kZda@BZL{ zP5o8{gloH=3c+c*Ow=eIHv-5osc8x$>p$fc&UO+o!d6R;R5m3rTo5RZ1~6OYgAJVW zZ|IonYFm{#xga9UYNOgU!E!S6Aq~z9MYSy!r+TgcDkt@ZV}mz%dQc}gv!(*hNusZ| zc0n~fiGNTTCu3UvDi1xux|nC(`qf@BqfyK&Kq5pU_7$5dWZug6!uARnqBR66f$)vt z{Ehs5HX=lM2$=Xu{J`c+QVqA(ONExDgvu=knytR2U@XCq*=VMWY77d5hWX0MNQOig zhC9EJJ{qx2T2#V3F{`oPaJ|!5cWt*@*vYdehewX5IoEezc_GEve|GZB2#cC{;Wdf} zpSsSTJN@+2PiaRrUC;Dd@rGA)Ga1Qm`7GBh`{g9*zl=LFU zjG2W2sd7_=^LCF7^x4kZYClBIMvqNjV2&Cc;2ey(lZ>YX;v)S#`6mx@uk%CO}@F#dI1*z2HU&!f)JYE&1SQbSo;>Wi$J zGv`KFqISIl4A#SpBp4~dkEXN;!J^yHi^Y?r*+X7e%)s|S4PY%Ua=tgCBZB%Bx_~V= z){Ty1gDgzImaSs`!qB05>0miw^$ljMv1N*PwWxKB0X9g3YKa4Oqakx--LC*J2BHq` zbwi^l>>(ITwcLB%4G}~*UzLGpTF0kRkzdWb_z+ZC7vc)+fpGW@ZkZIu6G@MN0X&q# zgBuorE+~UisN*KhYa(w##RpB0* zJwYx)!`b7j3RzvqYnBN~cn1rhEf}yEB?S1aX58S5{3#qjqnKNf9%h8Ew1~Hm&cYeZ ziDHgmBUOtht7Yj=$7?(=2w(Y%v;#rkipCvQwcevhcs%O(@jZk zeSOw)+ioHjJ%wQ>uePq5rvZj302o$GTWTXKsIL|LrBN)Qvs%;(%D=qu z3R^j^9dpunn$BpQ-D5SDw-nAoPhFuVp@CRzD?;nj0sy?s>&^PH1`vbUoQW&QbOY+Z z3@{_12_uoxWe~!!dj(YGs~eIkZUH%%M}-;!m3CQ~#7^se@`RrCL$UmBh+oMghu}4I9?r zI`ylNTSymt^+}29Le@0+)33~(+{er(XoQ`Vge!x_#>#c|&U#J=%+|m9L2Cz7Lzyy4 z5-z&R@(=DAb`41M*Fb@MjIeJ%_E)fn=+<>mJLXoraN1j-o75%OV>O{4lg=EY}dY>ZL!XkKZI3rz>%4Ih3jRd#BLtahD7ls z8pjb}P>rdvHri2Rj2ot;=Sr$78>wJJ8YPJxt*=GCfzYG7n@$c7IJN>QfvPX0pFhbb zieMj9_7GI=DPUeP>+`XpO2nTTI#N2Upuj3I9Bzn18$`imf73B}$f9HT3>vm z`Nji0)B;BO3smx&VTKu$BKL~9Cn!6mPw&!~$lQu7kF=r}lP8rElPqp!kvI-T0MmJp ziTAQ;qD~y*GnC4)0`e)L!xJ6Egro)?xer;WRdvog4xGsQ z)+kJR%WjQkK)?o)2+&SRnEICjFaU-DLCj<8($f{hzw8Az*~Kw{eVCQw>$tLm?O_a3`iPG z2UX}KP9X-uceJasukV<=IJ$@JFTL+zTPw|oh6Wg1V@U>hRF221s^WZ22+&JfjRhw0 zSrW9JJ9z+&c4A4bcKDJP*BBf1GBs4fyI@j_CAp8SC8?>|NIBU$jQSB9;!i{?O%Uay zM?3nD_tn%@u`nn+SZ61hj!_$UGsWh(E+VSJT!2yRW~fNMmN;~WJ4c`m&C~XY4&iE) z8xA?%C0=};qAj2@>U4G=F^4ATjk|Yrb$8awh-=zr#~>?iQWg z%WxWoE_WQEjJY!#hfWULKuXvdNYr6cmd=I{({bViA9rj?tOlu0v>>jec-ScY1IHM{ z1dCf%0gB(?gfy`*M#{E#MQvC}yBqBVYmdHc*^qCTPmw+X6bp+mxE9SfStk%E&T_0j zRO}NgAG2kUVnFp0L{rum-GfiDP561O(cH|?F)60iYAI1H&*Mq;5?`|_ zDMyI4e*GFlhy7@2K5597)ar#z#9$j`g)vANn9-UT0gPN`;bW~5N8*)720$Vi;PDkk z_0X?;PCDft1IR(HjbmeCUtT6PmBTdT4QHH*7MSPqNRbHY0sgg)8CaYGWZX*|Yc{el zTGBShYd1)0jvPYcYV5P%V6xcjH=-1=d4ep0y>WTAtU%LN+lNUi%iF;&oQTHB0A;W7H}u z*H=|l+6*JMF4=Aez&I#P(52m`r$+wGbw`MEia^Z?+-tdNjc(3nlXCe2(344v+LIW&hDdvAX0`CYlJUKdYh>t&0$kP>)%l)7RE(a8o zK|sW{u4%wiBq$k#YTQ;?S4o=thx-^kLI$Q?r=L7+^DOfwJM8UGc1(4}#@L~0zg>@M zH4fI;RfX$Fm+3IWBi49Ch3?(JG zv30L`C9S-+a?Q>?akOm3`t{sKSiWIPt%a03ciS#cy1I}x^Jx2yCY){^wN&eHkLsgA zl0=%oR#!XYGjd8)ZXl&Fs80aHfKhozBbUtf&Q4Q240e!I$=xxPw~e=*BipEIip1PX z7}}iAT2ITPc1T-EgJ*Iq;XoM~(l_cGwmh+Vl@1zIkp?_2Hmd^Uh*K>YptebLLbMI@ z57uq5#a}Ba&y|~sY64nzShL&NP7iT?8Pn){t7@yNq&jVG?`(5!yc7Ir9Xy;Eqmd_1 ze}!4;DhtQzE#lzZ;(yq@NdhBkb6|1KGFHs7Y}IH3Bk6y!Fe9nDjg=cHZ_8on$kfM% z&>XB`TMfvrOwy+?WqhzTQswlBK4Y9EwWrZoXBTHiNG)$^rV3I9fqVo zxY<{&d5kNbQ9@1Y2ek-ZrW(J_)6YCJhi82P^(JbXDTS3O2{8AG<+puYXYJd$Q)D53(%BCo44)v9$2C>Mle8%>RK zEQ2r<9R1CL*(2}n5Shrid{#Z$c$$(h;iBzuZEaO$-mr=GP3j@`mC$a!jBw_Lq+D~P zytdBi5W>sEC~^~g0=va@c5m!@MzSL$8!=eZ6$_wZ=VfC&L4-^-c+u-D8<~W+QAO$IdW=w$_$2MnQGHpxMDuRM;07KwRY zH$BHx_8GFo-8_i)+O~Bw(?QVC^72aiAlHSDO->TsANO&N2eZaGLluT%T7=Fvjj}v+ zn~X;%p;lMY)T~3nMCUjN;aD^la+JQU3kW{oz=^TT(xdx^T8G;Q=}zb!@v0D-;Nvi!i&$n z_4ey8z4BtaLwk4c^tLILc?~B4twWt?+=$CMp=k`FW>WGD{RAS)F577a8!ABy+GkN4 zZrkm+nWnQ98`cXfrcKAw@rpaQ9XWb90!dwm`v-f5PV`&W1We5G)YE5WDx?*~F^jQy zF%lH&t2S+6SMNX8Z-a|2oi^zsA3)Lykjw|IeCZoHX5U3F?9QGe``TLU2hu9ZgTK__ z;TE3mY3k@Y)X_zm?QT89=%+c z*mCOZ2*b6vzsLTm!c1z8EUAt*=M=B4SSyY&aH4-}+Ei7HkFRLWhE)=-nH`vs^b8I6 zpExlnYSs~(WbH*&{%$b{=|{Vo!$E~Luz6+Wy1XB)*%>p%WqIZC;p40*JVjPWr?J`e zmK&zE{b1km-jsOJz)&#bpbnK}{SbF9rIv%uOoy$FTTE=BrK;Axz&o%iJUf~L@fpCo z_t;d`WLdT^cg23a9xyfAx6jG2$5^_%cgy>y2Fz7)E^`6cYR2p>EsZ@r?YnnvTeIe| zrly9$bO0(f4~M8`7(uu#TexUhA={gqIVV{4+m7{ikv6NGO#1a2Wu+CPk#nG8=aVfp zQoN7Ex#;HR5yUoUB;v?@xPwnCmPj&jU_uFO|wE)iuZ`5!+AH8?9h7q1b4|GRF2cdW%F@)o`%g4jl(9F_a1> zXUuGr7E}f=@f8s$Pxi|@JIUzf~v#|ICM96x(* zgs3@-Z_hsagtt1=z?AC5$nfzK1H_lauU@y(1btwr@8F?*=bt%yw6BxRGU!)U1x8{2vhOg$*yCa zPITq3a;!&ZPX`<8^!d|$j#KFAwDs@{uRQ7`&Sq!6xLNzPt zPUn@{_5?6~g)t?W3nrLd_Dwr}tgS=t-{G@Qp552F??~5?oelK>_I_kE*z}LZGS&L59|B55L{=@j~F9aDvi6h?cB5D`R_j0 zKXj~dr~Ts&cN{%@=KRUtzRuk(GA!tm7FHA+%Mow~TV)Z^^brnw=GpUNxn>PkgFpT3 z`QcMTCJ|;;k~t4|wjDWoNYcT;@quG~$9Si>d=OXiB;~ZPbq{6F{5{&+VYzc{eHFz3 zjNX38JhW?%gBIiXfMH1^r$_jW28RZXE!6Gdj@HIq{16A=*-}JobMh2I4B}Ej+w^){ z({6hLH99;&XiqA)T*Qu^Bj=wzyZ2zTt@M~>>=jlo1Bj#&yRGzeXWI)eJ$HP#kA~yA zd;W#ztQnxuX(k%wsi)2%H{I51!9zP*wC`+|G-0Te4clT42|2xeJ!j62&<*|ly?l_K zGoV?tY$gIih0_F`9hRN69qG2Mxm49b47umPt^hjYtmYg@OzMG(?&Putpc@BVQ`R<>n4;>I@_8#Kt(}vSf6IK^$~-!L6o7=OwIfR zH}2WrOu9$p7RvAWwY=t^{Nz1$}KB~LSGEUJ=Bs44Uz1RA9N4n$r~?9?c&A9v$W z1tQhZ#zbu36x!hZ7UP%9ecW;GjtREAd-E>aeMZ^g3ZOK-jH<|TJ7oWEf1 zO*h{-Z~ok+cP(DHX#T8Ow=P?@boT67x6Z!xfrlShbmt;(eSYTW7cX7(#jkwvv)BDT zsP4LZ>5BVT+&t@M@IUgUN9N3%v;3arU;gS><}aE*Z{dP_?|yFtAmoB<% z#a&V=l=WVESPum?YGXJH`}|5?^<%(?Aw+uUwY^A zrOQ?~v~xM1n>yJp@p^WF#Uec<5- z=gnX6$6x!C+h)&Nuw>!azVY>kzWDI%cievSZMV#sKl{Fi?)C1%I~SvP8 zGnie=S1kYIul@0oWlL_k{nn*--*xYU_bpnw*yk;?Z=JVf;XM!DcgKRcOYd2B=Zd?Q z-@E)PfBcoNe(jHLx^?Efh4TQp_|8Qu?pZ!(&TPo}!k54B&=($pz!mr2eg8xE-T&|d zx6GLZb<6Kt{)abSr}g_DzW0s=bC%w{1ZI}qyJFE@cRuiihnL@XkM7_9$OCuYy?EZ@ zc?*`zQxz7Pw`l&ddzL=(m4|Mh2OCS~F1lm(+*xbl(H_LHliUZk@Ye?xH0Nzxik1{L)vxbmv`5T(joR`ur`|-?`$> z#mg5jyldeDk36_^S)dEsX!MI;{_-Dv^{X>)xoOVA`Hy_%ODeo&_AR&1zkT-n+ZQcC zl%;d#&cS1I7tVX|3lCwTKl%EfJoLzebLY>wW8NGTxpmGgh`Q(AyY&brAr{-a9{j?C zkaPRo*|*NQ4LO!9U2;2#xOL_YH{ZDY-n(btG5h)(ufOj4Kb$>RJ$KxA^URsI&73u7 z7FL;c$L;^iXNlP7K7Ye?bMBZu^QIeboO%7tH_ycI-cs{**I#%0+}lxh{^A9<-hRv1 z|McsB_V4~|@tuot_@Do$Keu`G@QLH+pFBtKP1~6@<^~qho1n1^T;l&6<1_>R5WzR? zv3?_>oDLe>9Wgt8M~aR2++s$PXvwi7r%#+789p^K^x;QzkMlCW|HHTWn!Ar3jhIwA zdz@t}J`%oE$>@jeAQijSnW+yP?{Bs;E-nA&S`uN~)e^@q%g<>)eCX7v6UUGDuU)3+Uq0>=pSb+WE5?oU#Wn7-EAo9Rdil63 zCR|x~DSnK<%dWUQ-;_Q-G2SbMzbnR%Pt~NapSWz?Wu@1OCG!8p#}_{>ek=dAbYHqD zmin#!ANy9ZLl<5jTgGqYy}V=r4_%)aQ}Xh0mtA?O7cNUR2Exm#zWlPNVeB6yD^*_2 z<(~**mHtNkT6#Wi+=NL}F1sRiveZzi9?g~hO1ExOFA9_`J5@n*FHpEId%p-${1TjbiPD8f<#^7IF8dAb z!Do44bzZXC=-p+Pp zqD-&sFA;VzxBj<(_RU$h-#T^bue|cgi4!MGoH%vr)af&3Omj`2G3~0Wrp}l# zb^7$lQ>RRyHf_4UY5q;0GHqIXPeo>2J$=Si)33V9=QJgi_pSnQ@0#Y_X_Kc-ovbBq zrRP(oPV;X@`g7-}iBqObnlfeb^yw3(PMI(*8jB{T#ZOaHyHlr6ovQvBs+uxs+7uP$ zKfw4s-%s)4v}u#3Or7kSs*-p+O$nr(EG)XQzQ} z%J|8XuT%yklfhG{)4P*0_7ni3Ce=16;D?GJoWgn<&4DBk;->`avus3;{OH-34Oaw2)Pfaid z62K5pO^i}O2+dBN7UWPS)tT5MiUDAJAR2WrjDAh@5LdWQkOzUHm@0z#gFkaeqN?Do zcq^!kT@xKkFM>1oP7fzf$2mdYAo_HLCzGy8-u0>7^g0N!UldM^3T#}Inh3N5m^2X; zH!hqC03;3p!My;P5gpa%%flRqKUK}0H`kQB{m6kAUw)3i@bSmLWf~>=DR{@(V|El5 zeIrnqqK#ZMBIBGua>&dF*E<&1am<~EPM$q6bZ%G%a?(AozxC#i{^rLozy6YG{lLI6 zA#qm(s$y%krW2=zx9!~8dZe}MSXYbnO?!8m(5K{Y4$%m;2$!8bck18$hyV53PhOQF zz4FQ{kTDoJYZQb+?aWz;lEEzKnZzQ0xQ{0oR-bXxG_^88E9r0Iln_MM_({sd5~M`VcbNu@tNhxr~4$qp?faA2uCor>jFX& z4m}AV(%&Q%0E18kN})HpQFkp~%qy7-!xG3tNhIYGot-*)d|W}7APub_ z>L>04$kaiU&g2U+xxgHK^n2=K>OxQ<>$a#q{`_3(Q3-%jF9PzUpFGK}l+cySWEABW zqfD+aqa6^bNBPB44F#}bsENUczH~z|rydueN}v_)1LlN~D3Sg`KNV{(zsaCZCZ@FN z3tc0$(@)Mu?+-JV=jjzA-@(cXM_8}DcwaP`1DF>x!47Ls>v?=Xc z$yXyON;;7U1ZyRNynA<@d*Eb1Lb=U{S~m6fR7f7nzD2geMsodphwL*ADT7wC{+^mq`$(qM26^Z zezENJTuJU)hOqoIzv8XZ!wdChgO-DD*cU>DSFXv9%hn8M6=CLpsX{ZTwR z=rhe&*liOpOLMgAZ@7Nb=Gqs(_q<5JV~;=ToL5?hmBZQ14a_Z+15Uip9Kg&Vv2Q+c z(=_X$1#Hegb545UFMlP*{@RL zM36vyQdgrWkVT>VGmAy}r&oN9Kb1^~@i#cB)M~n!Fp+lg(}l}jsgf&0_r!1cuK<;Y z>3OMGlu7-{Ef!u0qe`pMaOt{G4~`C_C9Jq$u;Qga=)8#&3r!~}$$c-hlAeSPPWm$t zmhMZ^Q@Xjhqw!7uUFEt*b6F8(zLI z^3O}uoRp0+8HXh#c;e4zD5S7{iu0hX0E)WjLR(`1h;{?SQCC5K1SFTzJ*5iWz!iKc z8FxupWZurbi26$xqbi1=;1gG=7wNr=5FQqC*`W^(y&QRE~@8G0zelr;S)Y9MCy&k#E=>t-ik2N;+#HM@|j>@>kZ9zViBO{5^D! z1qp(6T+EgW(PFe!vZf*dj8jQ~u6}bZ#nX0Z|LbpjPr}62*IWY#w$8QJT$^wLTyt~K zhbGUo3fv=k@y~O3%{FeWyvnQ1?P}T$pVJk=3!&Qb72Fou z;zB*;x(9?ANT161>7vV9iKo<@|8nufe&oAggA{*E9ZI@qlt?HrO7|q$3U19;X1c6k zlE}r3AZAR(k-K!00EmwgKn0U1A-@EPzC@krq0fZi(yOCya_c2vN;hgNHWL-Ar}S42 zKmqt9H|{ky>aX-x=|+KqY^Ejxlm5mu7nWt}NCBj<0+VzW8&F~K_T&C9^(bzVDQSqH z*UH~1!R976nt%0G$20j7y+bGF3yr9hQQh~o9BB!{q(f7S$!(O4q{r?_}`GpX7V?Oi3qY^_gd3<)50PW5O^>n#Xht*jfFU#L_)!4m)M)RWqhv zHNz9K|9k)H_fDTZ{oecUQZtV}`d17fd-&LYgZdGFV)29tV=rVusc_&pIBH9OU-y|a zCmoCY%b0UL_riDH`2HI|`sw>}@Ms-N6r>9t>p%AFbI(vek}l1&?3GCONKKGgEGz86 zhws<&`0-bM>eHVxFAQu0TgUY@*{ j{b~*{CmDn=)Z^_LEB4ljj9xm&*D{HbH2}f z6vc`)l(fYa6DM3TX~N}bSX4Y=Tuq!{M#2m#7k5>K>5`hG7ySjtlnE>FT-4YnCWSWA z=!L%`Z1H+<3z$7Evc6BI7}A-cE2IxM>sD_oN%^0c`w z!c}T6*HCIXzWP%5h;P9sKFbP6kA z((r2*uFIF`qX;JYNI2~`}SS8)W9i}#CC!lYfQ3M<;6^1nm(l=r2CvGRw% z%{^fL@hb^pd5=n6&bp`kr_%k{YDHnidCGkFz~=WAuGG++aM$PZML60F=);uzvqM4ui1{}Kl}Mlo_pb0Mvu(~JC1g` zagwP86;@W*LDziCvzQ5?*@P3US@5*YUSYHXq((C1eeIE6d$%DuR zIR7cS$6Muppep~0f6Bl9H{X{Gl+q1OEw3%xvYw3X@`Zktzfin4@PB-PV!`--lsM$C zxsU7@%Ajyx{NaM7Ql>MCKNgfn>1*jGzg7C`hEY&n72)-8l|1AFUasQ8k+1HG;@^^A`YR=F?_*k&Z%jf%2c{jh!AE8$) z3L{6l$@f_q3r|;O&bW$J9WiJIs|2+Af^I!hzmsNc2r>>oL)r^=@NrX)H zO;SB!`amVcBdgerhk@Co5EK zoHRbJGL4n%^K0m&vdfbI1lQor5buz%@)z^{D7K9k{;|J+C+UEK0w|gwB~egwYCAbv zlciEZNQU;pXAx1QC!=ItoflwE7|3qT-1L<|Nq@O(rM@Hp{B+T!Tjdr+;_lRuR7dW# zhowpi-MQFD;^A+FBB(C&E#*#)#cM(NWffRZgauC2O5sW!yu`ajP@}UYWn8?u@OrVH z+?|VnPejb5EPRe_Ci#m?^+SGmlapF1DGWCyEmFEE|MfTBmkPTn|I1L6Kgst69cH$2 z@l|+EoYTz9XK~_{te>QNIDc|x^fjOQq_`U`LF>Hy%J;tY*rVoI960tbrG)4nrwllb z=*&}R&VT30lc!Jo;un$M^V-X=zxnESUVN_g@FAv;{o5VWX9FWaE=w#X?CLYE6MM24J<H|U-axMDp8 zeUr3Hgi{JQE{8~C1p_fZ)w=a=S&^v6y-y{Q5i?$h=OV=uQM{x#lu3e^3Wt96H6biy z+fCs<#O9*EU<8@zNl61BzFs^rQ4h-_Pk(X~J~M)fTy#-|g)af~Xf=OH#Fk{bbaScd zMnB6{3n-bU=cwb9}FI4w2x+fu4N%V&EQni@`xdvclNPI2VBKf|&OfEV0 zbJSa<0tH=C`d)SuKXIH~>dFd<@5kDt@HVGEdMCSlXaj3V@(PA)K6R~JKZO7AqmQ0{ z@%gX)>DO&?;b;R}GdPmWJ~Ng_^bGWzv%kZs;a~jX=i*#%z54D?-nEB@y(hc-y1ROh zv>e#e)!k|D!S;@huAa_M|BFux=U@HFYgs&#r%exkP6FZoXYNg)^*X9^K}q*sO}2D( zHCrAS93WsYW(JSUf!6_&elL(TWU-P?Cm{*M1PI1pz+f9=;|Z|A^B@nhC0X;8u4Y;C zAlVu$OSWZO)?`B<$y={GFWu|CUcFX--~Ot0?KAxUz4EZ$t9$PG_o-pmuByGiv#ZVo z(Fr`T8oD}WJOFB548%|AS14*L`g3d>o2e=>3u_BLbH3(G^#K0pGeYmm?fmx7@*+^}n5lMV!E&^4w z2V>T3ny`UI1VR}GqNvW0BAE>-Cf1dtvA*_>0_c=IA6<0dIp_?^tjq9vGN`;FfV3V5!X|lnBb;;&^q6sU3Q@l*$2< z=4qeWg;Jgqh{C%t1luM&(-P`PW4Sj=F%8fDjdO5N&>br&CoL<^mQpU6o)?J(atnuI zr04`QG~5(mwxWuM=lAW}yAyAS z!FyBi%==yU&c&N!aLwz12RGw|5_s5n#_X9UNU9n&XNd_pC8&GMfpl0OA@*pjd<>oN z0VxEvkLP>ajHVvsV91qIm52Lcg;jHOT{FVm1um{dlEi|1)bYW?mQ8-R; zLXL_`9ql=l#~}m+bEa|kk>weRIStR6MNq1SJ*wAhsS)0mTD%S=f+zW*N-4f?0&gix z*aI(9nS?!da#j;Yf;|<~d6lupE!v5IJ-DXCyPhNV00e+Nxb;Wa)6a*evHH_LW%>Z% z2QP6xc=*uY{r#7}b-{UftrRY{<6S-r7T&vT*`n2WoNMi>-|#yX4{qIZ=vRjhyzuiB%2eN=$5|ycFLTrHMyQUkhZW!mlM`(z#TIo69S<$mt=X*vF7P1!9+7%Ct@hh>*GtJ0L0(*5$`Mn{rl;|d|u(3IaCwnnNZz8H0kWC-~7;v@7 zSr~zT&)~vPcl&3^$EPS=Poevc!c7jejOB4Q8k zp|%U!?)M0LfCij!*%WNblqrbBqBE=>IJA4u6YDmt|HikziD%vI5sM$g^}*|q0X(?B z$DZff^Yjz@%%$--CSc7Kk349#Pf4wNAMhrD{4uh2s3fVO)EwF4VciI#O+>y%i#b+C6qF8{SQOx{R<3Eg zrfzi?Dq3N!6P%&Pd(6uu$|||ZAGxV6#5Co1b7w=Up*!}Zys?vw=Ac+`W?res#J0Nt zAY73^*r8p*6I(hwWI(XX!HyGpAy%bwB7YTAtG9NDY&AZt$+$pr-xvvup_jusW?8?n zsVFL{ga|oKXG;-t<##-YM3*GbR;kVeh72x-XCo18HpM%JfzT3)-MW_$$Zn~|+K;_` z1Q5djCj@>EU_sbJrw1>-!T;20aDD#%tAGFB|G)qDl1uq=(G45d;j7$NUUfO%d4cD- z)~p@+&2QlM;I*LJc0G!F3srbfg-Med$#1Zzn9j54-DQR6S31BBqK48&3tn!-o2|#KbZk=qM7FXtgy3 zsKubvFu{7InJ4#Or8zNMl&4l{JX8^8&VG+lqhMY~;pv&3$V(=LxhLfwuJ(Ntw$ROX zsnU`ofJc$XYIj8fK{0{=v~^pNW4o*l=HVrTO2~`LqFfKQH@x9j|Mcs18#mzPrFhXZUZIb-vEu7{ z@O$ub*5CdX_xIqZRh_&&#HKl?{hr%eHp;o%Ly52WBT zTbTA`zsK7l4CNy&YCLCIHsQiJqxCpX&~GTyqTK6I^GMf}F6l_nN|{SjBTNG^)|}vp z?xb0j_)%8Nf-V$K`9XonmpngY~fXbK@jFACA9W$gG~)|G>2a2?4h^PdooWRQ_iYcClk-5yn(&r$6`}zvZ1<+!ygj^s==0!7)4=BZM0re zcOH>cUB!kZJ>$o58;3m}wHptj7Q8xjZ!*WcYFJST*lIusZ?zLB>of?mg2rXnXY7RH z`Ve@`AA>L;VJwj|D$Q1q;6YMp??@mMli0=qLf7-t*mCfksbB^w#Z!!&xgC4LEr_sp zi9z_`Gp2lgzUKE3d*F!Z9b~rL4ETYc0{EFeb0%D$zy8}VJ-+vei!Qkcw>e*N<)wHg z6c483-9PKsud!z;_B_2CAIN#}H%IVsC0vHb8wi&TF2!@FGiJ@0I(?das)RkZ){O^8 zg@)ckB2u?mGaYbKSF!&&0wrjK8#-9in)X9GKT&0B0SfIpT}v%%t+g_hLvY0Wii@YV zLAqj>*$P>!3*ba%V@liP(v+IqAVi z9>SYW@wUNhZ^XydeztUQ$(l7Qht>}Lir3g5-M$qs4*T^#{|c``#XC^p7wy`;^B>PY zuV-u@Ue^KCfm@}$uCuu;M}a-2la+o=gJVM$MtekL!{S-WBb|u6MvOhuFIO%Qu5l&F zt8gOM<=CSL3?m3cqU|}$QT$eFH|ux9BHR1~NDD^^){;=rv@Nk7*NQ#$On#ht1O4Rv z=V`+et{$GXfj#I)Pb4Ai5jZ9PBVZ3RbP1+`-PI<+UaJmN1W5FAW$R*N6zFxTSz4RX?wx4i54ZWa`9&X z{qoc6es=%j`FN}R&++l`pI(7))T~{*YH-!y3ojlSHR`b)+i;7|kzXIiw|nq%LVV~4 z-wHkLUGKoPE!?Oq;BoB13x@vZz@E0DhhjPyfQX@{w3eiqPTWIxFp)uEI`+5+uW{cX z(^ye;Glo{k(s7zGyulbkaYW}V-F{KHwn?2S7-oOt`ugxY9vkOan7H*#=))#4<39C+ z2~?{O{F8~)650+&hCNwi@BB7aBad@atc~Wpz zEkt%lDmqhDn^zWlP?5s}iAFFl33!^eMtXaMtu$!8A?ipO-1kC8PRoV}J70yB$oeZ9n< z9)q9WzHvRh697MmsV|F+1t&A3X1!iZt@hT#5n)fG_EuISk8~50(ZsHZov&nu`pKsdrk6DVfqDa*cm`6;?_)>6=!!3goz(VhteDkt>B zb(v~&9o!;onvTQf3ES)HQcIK1QDcu+bM%A@=GMcLQ83LWOQmvcI&>Y1$HPu^t+9ZI zW~a5pSVd`28v>;!c>iaj++Lf3hc2CAOcc)>-i5F(sqDIB_9S-`DhLzMhBpxfG#WYf zD(|I?))>&Jh*QvYHLn ziNI--1q|^Bf}eui4x(y^?xc5O?--+MYmwbWXsxv1AEs`YCSc2r0ym}B%t+WnCyDNl zZ9(YPT9mEHXC&AIQ%|>S=Xpf;W_C(-L-9UG3_>%%M>37oSHK3PoI{OJ70t%VFKIy< zfkyx~l?~llkuLRZhMdF@s+b@L1UFnoh30~lH+kfQbxCE{Qq~?>_jm^$5H;)pBiNvj zCLmFYY5G0NiM>OP;Z4}#<*N81RKLAkjBnbR03^Bh-g_R~vGv@qpL@m6uEckOH*8wF zV%3Tleg*8=zU$Ga_w$(wJkJH!2dH%RIcN2a?VT}wI{Y2fg6sF#bF*b8uiu5ObcG#2 zBfRM#c)b*ZWKKZLOz6?Dzy;1k(*kNSNp~uv9uAUEfKP+L+i?#7b=x$=QpGS@A!x`+ zMGqPJu-wD7OU!dH*-5NO*pdQ^+Zqd-#>O#74r4^p31)7nWG#lix(A42n=N&us%<&7 zWg6&(oJgFr%;*OsQHHRgrPjJsX{fv8q)7Ema)pipYxbLMlAvCs$)qjDrO$*iS#KN1 zu?8wOA`PjU3?-7{z4JjNnxk!jwGqU)ZW56WiHxmtnf6Qqj;8Pgr%(GF-Ma+c8iYIEz3wiP99g_JBQx^slIlbGRaBa-BResTY3~?n&2aSd} zE;`XtDo2${(G>bwsS^wWJTVcq6ZlKRo>U6;0)U4o#O3Dc_@vkAXPmxy%L7;9C1Th8Z0Yhv_(T^Tp|JP&0DBJq`tYN>9>rr^ zOP4MF{)OM2Hht=hnbQ*^^Lvti<**Z$rE-%hzqM||NMdAS4m8yIzOFd3`|fI$%p#9x z{nxak4SVVt8`uM7E5IZ3f~v~sUF9*DQq1T8$=#`#uSHd=tg0^^)cwNYs^qKQ2~q1b8cv9`^%sMF~SrCb}m zUd7|1ci5kXq!=4OF z1~9zN)bx9hq$OcK)NYW0y<-pj9$@T@Su^L&pSO7N{kVN_{(^aUkaXqhl}EVNy!**r z&mDU1;YT03``){s+yBgWzxQpR!mQ(FP44GstvR2=<6;0a!yljzd>~XPti&FTEA7e+ zX)Ng`cy_^A!f??9P|%Y_M4%>r=~?L*eC@t6c^-4n(tze zcuB!gC&3KP>N$X;BE6RM2x)o%(_RRKFTUBw!E2a=L$`5%rlN^Gnse!DcxBGj-_P3% z2L^yiGmo2%mlED_*W5ery5rHu9$vX>`3l}!XxQ^Ou;<_Z+rQsF_qMfbhc5ZiMW|uc zYv%H@OJR`*(nk>84M^f*rUtrc&POFlTO&Q<$;@SyZL)R`0mzi z53X6ea&Xm(U;Pu_nflm{ZF~0Zd1%{%bMLwXzR;J?{W2DfX3UyJcL$fs;Qb_@r>ykI zZE>K)p?4MMQuf`a1i0#K`bN|S-ZP$+0x4;f;&{e^vm!Af=Lf5zO3p^92?H9%=H>xc z5lsNK$Rt)y4TOuKwlFCRCV>&*{qK2N7F$C<$37P=YlHk8R2xjyOF9>Xi8~#MWcpT0 zk~jC@%+4{c_b@*IPY2iijwoON*m2Db;_5A5lA&FfzK$fH|tyW`d$Ui5uDIkD-1b*tB| zI`qOJ!yepQh?&=&_uRR4`&PVl1E=la>aH#0|H2fY( z;qq0wgV;liiGEMY@JeA1JsAAM+(^_k(yfh}5`r>&DG->#!026@%%4!{ve$YvPJlMm zvXvey7;pjrV1HH!6?PIJ$kHJ5GKLFNh+1A^4*;I$bi+i}UJELL$R^>DNK&a9dp{&5 z;~?};lXkyHr3%BYrRsdV%C1CL?17wNv!)rdG`Q`)SF^grq^LwQORgy7QDZ|^!xapZ zZ^|4bq?6MYY-BaQY2TJ>__&c_kMn^ccgG%NaQNwnJ(zHr>m%&JbuP@gfIV2Bo;7Fo z@|7zVEV}>O-~0BGB@5QATfKbcvcr6)0#8%ye(Le9+aI|H*SQ9l;`63h!| z*dt>~vKu$&S+UM)>#PYWsv&HOKr+Sx2g(e@|hCR*P=mF{>#h`23T6?opGg~u{V!Gyxh9Cs8Gh~HV-D-4P;40&m#iu&k%e2Lg z413&n5TTW2(L$P91{^v96`zM!qf!7+n8SmsRD6pn{2n}3fqM(_P0{T;x8nmi*Wdh0 zd>9ZPCB;)+hxHu$))#*B!lOI4;mf0|*RRIwogu}v88d-Bm~)Xw+nmec2W^K?r3boV z54FHBzd8^>RVxWE<$#8eO(B+7q$Sc&Ktwpn@kv_~6k#>U?<6!Y!?6deMAGX{*yH9q zEI}cgx@<8(qh@i5+GVfSApW0f9i9bM87mo8;UFY`JeR8=1=O&5>X?XEGT(kB$moP?o;$Hc+$E1j`1MErgV@P4} zGX)p906+L*^0aBaePd@HcN|{+J~*`Uy6dl9wsPsJwJVpcT6&oGH9!8u&gYLjzYF&@ z-+9~6x}mSZ??Lw2$KlRsl;(`9ialya6B#)ZKzQ}B2bJU@60L?UG$o(ck* z5+_s4=gLBYtAzBQjlcYH%&uT+wX5;e?quhLG_aAOG-0DPh6Su%XjN4Jt^hTQB#$qf zyIQ1r$;pBrDwQJT{1lE=(#xw|HN)6J_g&f1%#mP^rkvzx!A1v_MQm>IJlK)kOq5)< z%P;bwD=N8DceND4^f~t=h+aHymJdS@H_N4$lUSZ+YBRx z-3j3h@A2|CBEE9i)_b*J6*$byB;(XWuhV?cR%T13tLF4x73LG=%6ezCX;{{-h)7Pc{|7qA+#ot zrBPnb!9(N5DslkDtr;vj3By)^c|aN~&K|Q)rlIgEJw2Q3!}%?ad|7PZV}p`w$8Qpu z{A=0JzQogpl83cC%|n_H1`gbSb~XeFW$m2cF`<67q;S?*&X|-)RU}9=9YiUndVi`^ z$(BWBk%Cy6VZHi#+sWr81$JhhVM&;p$D>1Qf}uf}S)>ZH+nVhwt#aTH@2)3k*?@_I z22Zs6KyJdy$=QpiX?g{82|?!Xdtie3J!Qg0F9leEce_tI7O(I*2HwxKspBUdJ7wy? zy$kMJxMcAa*ZgG7`XSs~I5@Q2)_eBs-Syo5eLJ7ne((HwTedy;_4B@lHx|x3ZWdRn z&4VI83lVz?R#Jo718v1%+DNsL#=4xTelYYqDxP;-E;x9?bxX%neF{d9)qoQ+1AQ6+T6plTk69T&nz9C#$!$ z?_rDJ<+!5*FDF-;$H;uX(A!{_lbit3_<35yNU+C?!^of{cKw_n#I7?JM?{fdRJC?9 z-@0D8E~o^%$lwPx7ITN%IM6y#Wljm3VI+B)r5Z6!>~YyDM4MrO8HXfURx&Xe8uomu zzkxkU6|;aQB(n!mi>@C!(RT1$4n4o;*yma-LdF9d_DRI14{UfIV;;U|~9s zVlNxA!%~mg4JQ-|YBA_$<6>l_(I9)-LS`XGwg;0wu0xSqj!s^gI@UC^RHZy_>!r_8 znwJYPMs#tw<>q*1X=~vHs%d;)JQJ;XnvtvyDuC0!EXE*5z@vRje`V#dHk#}__0`}9 ziO82aha%I`sdeTFHio|Tr{LA|aP8JmS#VgertP(~qlBVw8bP5Fz9Bm1iF z1NNlW+9h<2X5Pb-8U}liQxGJ)0R}kmfDq_7A)w%GJ$jhSuCe2p3Vbql=Iohk*RQ?n z-g(ztd(EaT8-|8ftX#Fiu;;0#_dfI7)4TTUxbBAQmaJIvx99#19^3%-V3`{8In)5I zUJt6$oU6Ov!xra&4umQ-yOHr`>)5lKwdGRrH(8HGWoxrvp3gWXLQ0HR*%;GGdnxAU zIP*Tk+FA~b8bA^^vwE9{#r&~?8WUPLJ!l1F%p`x~VWcUK-EmRNtUL|uL3Euhqhe(4 zVRW^+z1`Y!Hl(U!qX48shL=N2jD&Vp2M3_KRhm?nBOf>9F@P!RN0Eaz=3;C})6c87 zsN~L6qq>}Ml)qIzfFB>1icvJUqAhi#X~tyi@tm+$(9Hm7>Eidm*xmgR#$fNkF+oJZ z9$etUeT951Vlq~GFs3tS&0M)=)t&S1{=tuauxj-RyrpN=>cK<2#=d>Ww#Rqxc=0zc zEFD~iZ+4yg4_}^m>_p7DaAyy1E3~y{uLm`c1bf)ZU|3M1rXEq(vK@5Cp4tG&s?uKT zA}nTQi}1rxoN<0w zBiQqZit3L;&P-AfXRCHqAR!M~89Oku=?wM>OCskEbh?7WvXlii$68P?4x0_=(kL952z%0=&JXV`gx`ZfoH298#?70S3@*R; zvP&L#aN~vzYX(;>J4oz#_>s+=cD;CD?mc&|S-bi>-#PEt$;Tdl;t5 zz@IyY@RNKt95#oA7LXOW3-(0a5fj7+!HGCpq99d*XDd-{hKN+psl}3!V2_m|t`y+G zEQ}9!nS0d49<(y}J*d&8Qtcj7Ih0XCXCWgeZ>5wMZzaUd&DIK%F=rUL0uY>R`DGo7 zB>u4$)*FqF*960mm9e9!S~vz9(j(b~J@PUk7eqpHwCdx4*V;fu=BBj&Dvy+;N~Z?0 z#ysb8;hSQ|=D)hwV`nPwQYRwPh(?kKJmWTo*T06rp1uj=d#gA4COFB@b^&|FPUKzv zK9g}GeNHFb)-w|90Sf6o?^tW@pFR!iPt&GPdvyDwiY~iMm*X=o~ zX~SLG+yE_@c%*E3+FfjcT3%7}IOeWhQ4#3m=bBCX5`QKHR+E&@wz>cHzCjre!OlQ*2v~2)_+WlqaNp z@_5X01vB`r1?|)wAp5)*fd`k=;rx&S=-_!$d>ha{5SsS7qxsKk}Um&g<>%nLTT^ zJ(iK?Tn0VqHl&C>TCYm2jx9DM)qM%+?gR{of{%>Hn63$LbaIXRR0?@I2hT&o_`69t zp*51YkNm`;64SxeFjNp~#OzhNX`pS5B`7GUPuRp1k!ms6Ac_D-({mSqoH6{YsgSi= zt&YF~?w~T1-mo;W#gpMTjS79!^p#>A_E!=sK)HC60kZ8^~NGF|@-mKaf|i9KWEJS$+2@Co2% zhL2Zl;4K;e93p^kyuZhh$L3ru*fVtik&~zN-!<=^RclxO;NlCHE?cy5)4IWxOJCre z>+vUc?A)_s`{R$@GWXW?8`u8iiXQ`eX3d(#S7`9{V_0dX>w`LllJ4jTgi5zZ@~fr1AzoWk)xO( z#)+8fG_P~1QIN5>N5_6WEX_#m<- zYpz1gtdhSj`EU)X@JTJAlsp&M0QKgUwr~!GUEzuM=Iw#-f#^zbG~-sxtqUbw>aaIA zCOHtWWuIZ;n^@X%1{%6OyAFp3?0F|&OL@H5iV4TVWoO7ji>@hn|hKs710cIP6l}bq_2I!`OqaY>E zoA_iI)30+a@y5`lYAvNyagMat1p@J&A%S11<0vR#&zOKc(6Q3dfsGm>VLI+Z{ua_2 z9(5Rl2-s`kRx4cXF`3Cou!leuHjE%+EOf!0VUyf!MO5G?q+zawhb7Db8t2PA?({g} zo{!JD687Lz6;mcpnKpn0u_okUH|{hu3q1UVSFo}QlGUg!;j z+m;hCzBR)uj6GSKD)mB|Hoqrb|IbJ#2Z-ufYX|@(=qxUS;4pdystb`dFi7#?$1_BR zbvon^oXMO(V5<`KB0;>8)Zl}LMO$yhm6!*#wgxAmdBF*y-O&cgY^7qQ!?0;>si8>i zY*0g*(k;e8nO_a;fekzSfQSKZ5WE(w17Vp5_uX)xogODzu*cq{f$LSm9?W@W9XA`# zbIn_D-^D+^Xww7h@ohl(JqHgS-_T2@Vg# z5cx#zb^`*R`~hbOjIvmL$1K*&o3+)rc}yqws119H;E9`g9yRr0WfqVd(y&Zc%v1`P zkwfcx56^taz#j{_rQnrfES)@<@TeyaIgV7d8@ zyXWH5Iru~unmlzH?=1v)=`J6+K8AxCd4kMB8Y+3-v?Rv(ibiSV>cf_`hjxVy@?^!s z3bmz+*oe(GR|sd33Ep#KoAS`y3}&#`w|@XFI*&%}_A2CB(4xhsdV8T~OIL$)rTjH> zr+H_w5m#$=)uapvj03CFEdxXjQ#W3{=LT+xFz89GQ&P^8bJAW*&*Z+6JXTNIrGC!# zQGo{^gK8>l2zH=Ny=T^xTJ4oq#yoesSfXwbyhMX@YElqW6YgYhX%FVmdf)g8E_8*p z#089m`k4w;729eF8H6qRz zpaEGp)b(yH0OJ5ex~E4!^j7#9AHMGt@9&v96&LwuPM`kR_HA1p+;qv0f4F$*!Zqtw zEnm6x&>>*Y)*X*L_1sfCcJH|1rW-eITKn~Hd=&!PJ5wi($09SC@i}>)c?Hl(B%53D zZ&KqTkig>?j>DTak_L-lB#K@#Dg3fspVn~ zyf=RH3~fmcR;r7ud+j0hso*DbcAu?T26BMERly$P5`S{qtf!j=JSH3yC9rutBgIrRcq(V5XnjQ`-s3RN-*y9d@h;#vo zvl`wAfEm`9u{{$e9dpLnXPkWU>w5co@B*Gw-~QG=`|~g2(^*)r;FT|4b5H9qnsWhn z1VZq3BKAz4I?y+9JiapezylkWuekpQ7hQlCXy7^aB`X#mI(Ptcu3g)nf8oGy|MPFJ zzww5L9^U-z?|ieTuXomQ#{qJ1b2Rq+HehzKfOJjlK@6s0+8kAzqtxhJ!LKq_#xv%O zJuN!;)=&@IT&pt?ot|V9rbO#ak`UXgbxVse@RB%76khO)ZPRpb-A4Ps_O*`NSk3ke(=!IZ^Y+tDJ?DexoORAwC;!gL!XCg3Odg=cIahXlggw9vAO>zro;10i zA7-C605zU7XAZv4b=SN*zH#0^EFE0D{(*IPi_f7$cwh6*Cw4rw|EVooxBT*k8}JJG z?|uIQoLuJU)jZlZABUu8)Ffv;bI?JvRB1f|Ibj~wAo(;(;YhSA{q@g4z zP|yf~l+Jmf`N{rr?f#o&ZscTs57pEbBd$Uh#c4D2*aQjSH6$WdT2JF~EJd2N@Htf4 zWlFRxJQ*P(xnj(Qa}2xf)eWq)BF8IHUA1qmE#-9W5W+K72slVO5D}=W-vh5fuQPzt zg9#U~=M8Us!&x6ZXX>=6XPkM)Xa3;RI9RZQ*q2J@!!#S57A_hUTu8ckW zDm$=;bFP^)SFasfy!`$jUV7pEOBW2TUa@5P;zNglJ-eTL{9pg=U!QpTi5qXaacK35 zzx(o+z;Nd5*}TLy2@B2Qn;v21ZH^s6Xn!G(dI+lh4b5uWy2g2!eKs085Vm1D3zfv8 zv+M)=Cg)&usa^nAT99#uM~OXx%&7dd8Ua$))*Pb+4s(6z)^OTYHKXJeDbjiX9n3sL zrPOt_%akF@%)?G0=5ab_j;uiQWq{E^wHjG_CY)A`7dOzX=z?lUQIfop&I9C8oM(0- z@MoMCwFC30vQ!%4m$Z(Z*fX{l+Xv1({g40nv%mL=j{^129JN(>>zj^VVdG|c@$OAw6(GPGcpFVRIVGJ*8wl!-35T|-=*i)b;Q{Krrg1;W= zL>Vqc@$4UT!Azlv5H`%i?4TmDzcd-4CelO@*~fJXrnYjHr{PXd6?;&yhwm+{!cWDn zrSjrpE)g;tGI*oScgeXb&t(Qk)oOzTEGh1c`9S<2p`?GlVB3Bia10D~p&F)BK z$7Xp=xLB{#%vBAZlnF73nF{3OD@}Q%FwALF{z}=*(0ecPJPNwO2i^w2Z1H5p@--_l+xp4XKi=~218df+`hpZB6CgZ~2(&4v657IS)+3;jbA=3oE&)u) zZzpdeA6Iw9J6GT$mkO(OS-l2u0^O1?Q6`1$tj0QM1(C?A^h|;%oD1`9<485@=UznO zO_8f0rvyllaQMQ;H7dw`?l;*e4v~|}Q*yBH!VyW!Q+#4b zYXya-R*5xM;Xl82UVT%!IwFuZcoOyB|IZtEdfTYV+*n13#kpx?^ z<)j91a_ljq$Bc%%gIA)y`@Qcv_0+fZj2T1Kw@Dcv?!srY?3s1|668?GN(yXvy5 zF2n6W(`U@&RkD7rH3QJh;Tg{9iOmgd_NOaUP&Kaao9TrmZb8Cal%vS9YyTP zB7s3B^DneB@H84W1X0bBaxVWZvRJ8B#27+(Y4KE|(OD5>C z9S8}K64CvQ<|76=Q*_IEtii1Gxuh*GHjG(w$0E-wi#@564SR4o4AM5S2QiF~@_?>R zxHJ)iqjOZ)qjeNGGzLAq`whS|WokdHfA;KIr=0Q@9HQO{llWD3P1A%u<0efU7qN${ zGyn~{K9i?R!8h(kCU2q;gV~T6+oN)EyP0$REJ&?^WY1J=m@!p5r;(#z9)me2dGw;#$It{q@D_W|} zV>00>PVlT&-D(EWdZ;21$%yP$E18LC7r z)zS(S%@GtVb(&1j6Rf2=s_Bv!H=^ErnXL6@;MF9nod#uA*V(*J6+&ebbM#eb>`8r< zoVKL?)%r3YXP5}fW&H*0$<~z3intP`aiMhEk?jHI8J}9RrV?#Gs2OesEFE|KWB;j7 zfBKXE%O_8I%}J-d^Rz$ulRtj*TTa2vJ@86!n=zMr==AWJc0A}X0gpb|HW6?9!ZTR> zkUDSf(Y=LmUhqCJ0MF)!w_J1W)p(W^-{%@yJ$U#C{2qLvV*io-k3RnBFK_teqdT{L z<*Q%DGY7Nh%)u%%94fs-BVtdw87V)7R__e;lQj;lQ6tsuk!DN__7nwFkrD2paW5f6 z)XBAhSdVY5I*~J`L>x*gBN}y? zyD%K~q$azZJ{Fbs=D|X0N9?H-=x~tvl?n6ISzOKBs)yj9POC-_a|F-6y^gUfi%DbfPf&12xQp9UA_~CSHA3SWbEPkV9tdlAiSPz*@|T= zRt*h326HbyRxN#=RVhYK%Y}NxPyeb$JE$#fY;nGTPosQNbR&vW*zKd)H2E z&6)#L2nAqkO>=VqBR9jLh#7pBp*u8zp&J^iMGt|miudB~!SUF}^xQ(&kSjfY5$sG}q+Vv@zI!DcY-ieZ1y7>ucaUt3554s>J#|Nm@QTv zrkJM_ojBVQTcdk=CinNh_N0@h4d5da11Fwv0zUUQwpWjLamu9t?BSZT+@K6UHs>WVB=6Rf8z37Gv31r?x z2(R6xL`*q__wtotyi=~Rd46!U5F!!@&4PpoNH?ELM=3S^R5?T1ws-j#EyILRbc5Hk~|?Mr<7myt>*;6%ZOaSi~V1rkwm0H2r6eYmY|KQ zA&($C$7oZ3rg1<+Z~+*noQ4Ok104zZnrZaVD0e)PzGk)RPpZF%4m4 zBc!YD=19qd-~^8^PQ|^2qwy&DAAR<7pZUzE{`5~j|GCfp(WgH3`+xA6Pfwpd4G(q! zZLlH@_lA3Ylr(*p6mfjX4?fN{9*Du!;>rEf1^^m>vDF*aEnT_%!b>h(x_r_4O>0*U zEkAhZd93&B+WyS5Pwja8v3u^jXT#?8|NCG4Ipo5ei}=;ghuCY_Bah4X-l`h*;4QIy zw8U1vl76a}I_xo49D0pyHIEOY2w8b8vUWHU>?!tAD;y4CWf4?BM>we^`Jv~j_zhLv zkEW1Y9V!-S_=KF=l+6zd5z49OLPR2kJrE2TnyD!U71^yhbODmTYRHV!|H!-zEw*T3Ki_n~#GF1YYJI8V%)&F8r$PEJp9#W|Owj)-Ra z>{?g?9s_Vg>JCGcJ39AYW3+t?osfz9;jl!41kPVz0bwJKKqVQY=q4-Va71a=TTAl8 z7VK$5k%}5N8lHNl_&s&IFV-C7R;dt?NXgb6dt9Ct&KWs8j}z=WbYTvWRva{hrdZpO zT;(S-2*1u&r7J0=pq&qFC~ZJPu0RH~Q0rX&LWJyzYz#`REDmdhtg*E?Oq4k9j$5j< zp0RS=#2)Wu86D5NYF%UNfi3E~5%f8cGWz7@pV z-*M`xr=2=_G**51GDF+|q;#FEecr*6LOX1qWC+^>HHHahFLIh=EWvrV`n_CU5gos3rNYr|tIEEUNkXjK*iCJlIFi4T4FL;vCTKl!Q8{Qi61`<_pK=J$_3 zeol`)&xM?Ml^ORQ^IpP?J2vOa&yr%Pc*+dCEB=^)fho&ZES-1nJ?EYO&815hZm@TU z;d`WZZ{c$XpWXfBu6q~Whr65q{4f6ug3O+CTw1aYZ_m(rPXr#&5na?$HX>tB?25Mj zt;BKMUQz5RzytTCEA}L7E^0R-YD5MtPOmEV)KH<#j36rKIU^1ln0oe5QR=ZYdxANn z4V6>|wL_(~JgtXdqz#g5lIHT1{29CUk>)56H7pe`wnDsc$>= zZD07)FTfLm_k%SdtTQ9CmU}_hum>RIeh&y+@0l=VV9JhNJ2!3Gc9 z?7?&F&mZ1@;KhSKzUuOa9(&~COE2#28#`kr?k&W-p5gkW=h#Iw;YZD_&A-qN#G^BS zCL;;bDducq5AWDdCt$IX#k(4IA}YYshCQmwZHUBChVIzo4NqLNaiCsR>MC3aFOvx7 z^wf%|Z7`5Bx0w+|HJ%a%WV5ZXqIx8kX)BQu#wBUWh8VD^wWH1!Sw;|$2}UN=6j6$S z(q^U)dHgBi7RG)~%Rp7GVL?xA379Qvgw(poF>~;Si^$I*a#bn%H$t798AGY9#iPo3 za*_d6TI|X9C$Za5fprV^$eOyv%#AU?9y{{~lxZiM*h7QGYV$F8Y75VHjR(@y0s$vK z#-$Hj0ITZQgXJKs)!+jAq<&nc!n@+JR)nivn;(7%b1vN1ylUObm3USB(25sd#PeK_ z@7al4o44)UcFlD^TeoT5rI%ld7Ehfq1Ggo@wZi3jcvM`3Lg34yQ(BM4|;Kl%`3KK zucDbb#z=B#2CK7%AeC)Fzgd&0_}ZvtY13(v8fJm<)(^b?Pg5%mjCH9BXK2N#vG|8> zB6wyys_d++Ns=?M@>IX5WEq8juth}5fFN46pEA4fOTLCuSzt7W=8ugrW_grW9#39% zBM#c8UIMKyWZ$rTlr>aBveH67i04Eild58}7w19aOvp$JE;a~8B!*U+5~j9Tb5sI* zL~Fwj8{!GA1UjK$k7z4ZB5es1w`<_ySh{J0SJ&OPx)IS@LGvDJ+@#FUz#fKa2Y@RwW zX`mkibHz1R-*U%oSWCWd;k`p^SK>OCt@mu-xef0v{PjP-h#L_@Kb=trdDnqa~nG#0p`4KzLT95C$WyNtyLDe(lEgux?ha8g@BW|*ue@bS!fFxs&+E>`LP_)7-tJFY@IFQ6l&2)ifAtLk_8&)E{b87ulnqibz zS&JX`uu{+@j75}+7$;(?Xe49IkGI8zx+M zeFpCJ8HJZ|OCs*gG^H-@EI!J8#FF>zn8QBan2)?3s9$l=ubTsfs=FfxLPU z!#1(muPRcD*C^G7B93zEa^-jx_K?T9N;W?PLCcUW#n=(h&ZB5rQ7K|g#s1Uwi#sf905VD>Vm z7p}+gC!BavZM_Gr(ak;fR0Uyxwr`6taaFjAJyY<7K-}MR&wcY2EM9oU)t5i?(B}0U z*Q{N?>Ik1D-TCR=m-!rs(=5f5Y5bo26um|X43wC8+?T6TN zqLB`erE$egTB)&U)4}8oWIKSWs&qwpyBJXB-02sxd6MMxLl9E@)+tWR)}))h|yQz{A_lDZK4EWggwKQx?iv4xFbv*X)iK}=3dx@Aq~1K4nFc2>TEK&S zRQ#&e7kzgPdYOa-786(eqvh#LYDDUdH0pLwd#!bC*kjL{QTdA)85q20JSkNXe!3-% z0DDx0cYEy+@rbFVGEXyDU7k|~6F1s1ng?D$ANlAxQwEO3#l(a?yy`^1hY)1TKbRdU*iC`J z4SXqQ(xicbiIXRxD}Qmr4Y$s{{h~{MxM1PD)$0bAEM0i$5U^+G?(P5bUw*sq`F)pP zedW4MYkzUWwLl$A(fAZ8T^~MHA#~GT*RXsKV8PNlHmx=D&^ELib*2SqbSw~rTO1{> zlqEzV_Asqw1b7OiB9I%#EMM-ih!msvxQDh6zhU8|x=C58dsT^AQ`Tx~$0NxblWBk! z%V&#VSD`DsThh9rwUI4NI%;gh(FCD=N7hX`qmgrN>DXqJL}H8E&_Yr)#AdV&kd2Wt zrOA}nj?u{dmkF&VTR*5bID8?18&t?;MAvCRLl%}OIV`_f8x_!%&3KeTg<+2K7$=m{ z=}_^xw1zb0wI&qoQEY5Qr@Ii<{Nnn!(LJNz_`7fT z@JBxkN5@_Q227ba1>aXc7MHfi;kr7%Ol zjSp;`ci+4pU;d+e@4IX5I=n+;xjn~@clJEFZ_lA$9lrePt2S<4f9yOFpbjjSAzvpp6yd+-Y+o-+vR6jc$t5(%k+aPBK z#x6>!@y?x)ek+C#WwXF@UU=&_=m23UPn6ba5LDgFNAcX(sZ0_amd@Mc0h&^~%JzLhh^J|oVXhqOgN@Wr0|#=`Up zA6)0^9~j`$%`p>izx~#Q_b>R?`Tw|h$-<2ftX;8s+5W@0&b4RX9(jLaSb4sO+ASCS32`TN(;D*5- zjFpeG#!aRvyHt#4=tAhDd6oT0u%`>hE=j~5v;LgtXt9TFG)42~tEKD=S$5`(U(^>yjegHX)Si7s$*G}u#<(CjdsXS{YtR)_f}5eKx>u;xxEzin;d6S3y^P|f%RC(*nT zP)f&<03EOg>FjFn6A)}p4uu_}vB}f2*qo*QTZ&+0(;Yd5h^d|Emw-KDH7qV6oAQ8w zR|C;`g%?paj}k0l--bQ-zB2A7f^&@%s4-?)%ZD7vo7T zEHp12T(Y0n*q?fK@8N$syl?-$TW-H?&4!_WJpUWGi$d6gC&u*dFv3s1tB?Q_q`+a^ zBK9EO0lMvsfcBb_cIs-2M>mvo8&1A_2647&;OnE@b{v&Rv|C0Y+6unJxCTOij~YT# z2u=@Z05hC`49}sxxd$XeI%;r6d=#?alX5ol$IKNv=cjnpsy$mxa^+NNE<$mX%{$gh zc}xqD>&SfS{h;`f>@%nI>)q2ViyU5^(*t+*FS+1h?w{hjEd{%s77GOlXz zXdcR|kw=R?Dx0eJg(q;a4PC;1aM-9G=J-@~>}4OCK!ll^WzChSD(=1a3XyVBK=C(6 z!0k2Rkmt`LrMk*tYGL__(k40>dScj;iBZlarh6m^#Ye*FQiR@2>RVOk96XQY_tuf< z8f4`TIZkvf)G<-qUjCjwjRnF9p6kLVlFf18je}k`nhY?ti*M$7v}&Vn9t>Z^q;niZPD5V^3AWfK0~6nLuaA%0jLoJIX-@LT?Vpt0Fm~ z@~c#35Lesh;uM-8mZ==Xge;g9C@9NO;1mz6DjQ|2@d`~y9a81rdL%mBAbLl1ugLcrr!3|who)x;hJF;4O1 zL$SR`sn)yNql_??amh!lB@rs3B;dxja|Ee=xPHbFQI@J0`G~(@pR_df4{AXi_r6&_ zTbHt;oIi3IF&)vu=~5G_M9Zvko+{pc=!BbRB=Fp)x~8YM=N<1n4etw^K4aPmC(JqN zq!Z@gK?hufM+@M7=y?izl1mr7v`_c<*fSN5J@9@2U`v)RUbA-fHP>8u?|pXR2Q*(QQff4{E~jwM1}?SDle!VAyXzjRntYMGcnuX! zJYzwsbPDVS4rC5TrIP05)M~_GvlZZ;D@5Z{hNAwqn1RERg#J%24WM8wn@c(2a|9zzTpe;!QkbYD zgB^z#f%DG1v3Qmgk9Hk9@zbCA)E7SgxsQD8gCGCIM}F^1bg8R!GKZ4GpMtUgF3d*( zbJ&+Qa>)#+Cr-B#nV;%Tkl;O_7Wq&Djle`j#Eo^aIl9fFf z@Et#`*dxSn?7{s#n5Rt{7})aggLmC?=M`68h8M-JUV{tjOYM0se4p#F#~<6aYul>T zD>rS~bp8e32K-GozX#wYW)a;SerhgGr^BQ1d#c!j(JT6w{2m7wDW){9=#*3W)a#ms zM=)!fCl$hr9}V%+um|7@O-Y;I>Ebb&keQS{bm}Ew56b6IT2_T0T8RbEfFq}!2*%_9 z1FNcSo`i}yh~SjCS-b4ypxRohKwUzqBDCcV*n>AYupg`|N-h*kOxu1u)d)#wvL!x_ z4QxwN31qDWcm?nf^2X17Sn*1QnIRjl)au?kq*CG~AHe7YIZ`AXij_l7?XU~>m^Wd! z>m56xcfvTV@pypOh@~H#x`8)>pBC)FbEfIu!s7Sf{vJRF&}-9!o9Eqo_k}SRf$`gytv;J zum@d;oDMu7682c%*7T$Gum(IhO!^gx){?_TLXzgzqP*2P*T}F3bys1t z37ptp5$xduJ!Fc-WK5kVj_MgbYxb;mK{wcVzu)lu_*T67+4o(m6>ESaL z>5(q24a-}B+ky?BMaH@fo`JvRj$7}UclX7Y`~Y7=#%Gc7g}?&`aeoh-o&zr&*njxB zU*2%t^1&7V@QttI&S`s=6l={~wdR~F-(KjzV<=fJZ?!l*e&)t-W;l*Lj^P(rSN3{H z+ZJu5WmF2&P~;c(;M0Y!yke+4-S_ZLYMacWvhU8~s8R)KvB(IpC-#rgum+xn!$#wS z%nmtDR2pKngM;da-JsL7sSh!&=G?*N1t`P`d^HLP zR_&15Bv)EpD>TAGha4wpL}Bs9(6M4}a2B~$10re$3me7Kjpf3p;Cg4wocV$GzyFlC zycsLbXP$XFQt(ywIj=c>4CW3Qdk8$?P0hI4WpDeU(}T^i#~hXkYd5UJlFtu*_&t0R zdBeuF_%`5ygU^i`wPW{oV9&D$pSk8|SFIcxy!?vGdir{1&bH^+?d!@|E%McD+;~J0 z`F^wX7*}6@lB?313FCY1jUXu!Lk){*Y`$gyf}b?c7eQd9G*n)Fzy=jbS07+8Omc;h z2Jx`r#AIFa-x~1X(342iI4CWkMaf*t$>mv!RNFki)QUP%&0|fo2C{aww5XtpX_R>TOh~9=6!h`#h`$2#UBYFMpYZdG`-=CZ+O!wzl%rQ`8*fj zaLA{+_~;fN=F$cz!V0myzlWEpaDUIF$pihs9`wNKb*mTLKmR)yd~4bA#Tz!R!Ftd0 z2Y@|~?bwC~NpZF7r$4`X)28*8U49A1ep9sgKB^ci+SAho?k3Lb0dDxK1x6Vj=ha-Wna|@9JznsL?ug& zgVIKfJ=vM?i#Ub1WMxADt~Q&nlPF|P0a-IyepMdFo~js{=1U48nq?GEGq?mXp&ZrC0s$T59YIX(7u%aBzMCEisMZCBOV5fW$=H_ezzhYeW zwIVnKx@gd;KX}WZz34Bi0Uv1Y#dC$@d%OuG7_wd!-osN?u)eExQRZLIRy$Vbr+x`( ziq~F{VYrcY%2;CJ^XfSkr7E6+0T_0`5X`yY_h2S<_St8D-^)4c zoHM5k^pAo4*@Z35e|QDlW<*+((GAZ24h_CLY@i?0w8{OG*KAmG^DWn3@ZIxQuU)lq z(;BSz9ORs9*Y534JpIJ4e)GaDx7;+edgYZ@U538FyW%<9!ed~(y{83xlIxQkAU^0( zYfWw^QJ3J;0dgFZpbNkr^$PkmTQf`+_iH7eN&3Rxt&WHrL?Iell69@jRw`MtNg0Pq zO8uaclZFU1$kJvTt(JkjY*EHk+Dm8w^0Gx1=oQ3cbety&WviS=egyW&3^0gzkSiq{ zWhkd~^Q^)^uxU6HIN2V9#Z7%KIvwT~iLGk!J(ysVH$WG}f>I-m7#*^&a!6gx;?yXs z&KY+kh&@65pb4gR)C71upnLf~h2ocxvjVGNqalGJAhrlUtjQcx3*GFflGc$@N5QfX zXhAtBUi*qPmci{V5pCFmq?)zj5T)T?ur912p;yL_f5$sc`}psD>_Zxmthc0KjXUOa1xZ|HpaD_;U!;CU`!nZ3e?vp9EpK%hd^-?~?u9FA>%Mjw->sJ6{K zUOvTbZcQB8bhzzyow-NahF?Sn|x39QkA)BeTZYpr)OSroydSq{~s{ z<23RYI{O@@$(~kiQI}e}Cqb>0!5RA@1PNucy;&>|BxfFrN)LoFVtlq^(AE%)nhk+* zzybUo{)v^f3&OY<5)6l_(m;TV4?l`Sd6*fyxT$>DyN>BZmo$wv7S+n47OBV}OBk5d zNtt*(wssskO*~a9?rSA*D0JcSZxwrx#D1{N+TSdi?ayah)j3zJSF}}|s({^M zlBF;pMK)HU;KR4&>+5Jfyvy|Y11*=!knw=_eAU=@KvFxhCOUN1V&qO z_csZt24__`55Y@kPCQD_LefxIbCpdx*|OvTy-XX+hG48Rx^%&wP(+p5Fr#z{R(q9I zEM;`1?nbI2oFfjMMg!dlk^p|j%Pv9(ezoY*6}eAp8F*Og<;j89u-Q7sa|q;=#5_#O zY+6&4jcsbJh|_Q|N7tl?ZHPj|Kuk> z#x<|YuDYzJ7wbKLvBghoC$dfnLP&dPsW~P9B6Mc_bO8!xg?pWbdGftGN~NvlG&AN8N*Q;-`h8C z47Rc3u=v5dSjamB9)@wu5;D?dAe~#0u?MYCZH#-{7@rGh z>g4KCn(SOM0i>a0ow0|PG#quLofBy4Sz< zjI%!Q-uJ!dO>cT54mArB0s(~R05Ra@%Gi!Mc5-@GyyjfM9xNM=8QXWy{Cj_SfXIhaBIE+WI&Hb+qXs7q4xlvoFtQJoU1m6hu0LvmB=l6^3Cf zM8;ul#-vp8R-jpvq5UxyddjcQXpMt)A)wNfgjCz0&fF+yI`@hlGg|ON#&|1G4LAF@ z24>Dyf70&Mc|=262C87Cx=_Wg$(z+BhGE|@5wcd$36;etgNY#;do(3z47GdR4# zp3Rd_CYa+f{^Du%*q|F9Mxq95wOJJoY$cB|s1-fQWNfNc`PED=F>9`96GoU2Qqdde z8J4idvVGVX!-`awXzuY!nyhIoXl>^ng;Md6U{7JfinLX$LtV`fu?OgZ)f-6|_id$2 z%8+1P3oA&!OaZHKgu{q0>>O-Z+!=1p#V)0@K!$i#*sR&J&phj_-+9ByZ++V-XPkLD zCLt%j<|KWX-O#{XAKnV&4iJ{9d1W2QWbe@6<5<`xP3fOHV>%v0z4RxSFI=(+clqEA zVyoAzg5UEzud(mmyX%?f_dS2;xm)MnhPR4+>s#NLaO}8gv+xmjI#GNdQ1z4S!kf5{ z&26Pa_ti;(d)!lbIGz;^@?uDpb+~eQQY7N2CYl;o*)S$4CZDJ6+?jMLVUM2<1vBvT zjR_zJcPEZc+gN@l%eIz!bCfgBmD2f-*IcML_)~xsq#+qm(J_G)Ns_!br!O|$Xt#`H zA2d89;2+%Zg|9K};HtGLhgF(H$dXrnb03mZz@F5ZFiz8c6>+hggL5X1YSN^uPGft~ znUE@WBb|RR#8M%E)@XJGSkO|i=ltHT!&Eqo4nV4$~W^ewmDvf+V^*WdJujT_f)+_(nsihuUmeWONUwuM(0KDc!YQ0alq zo4$L&`C}*aO`kObUK1bd(EFOPteqbki>Tv%Pi{l|Z}*N)J!)nlx|zRdRyIV_sb(Tob-nV|^x^vI{J2hK}N~3JlyAs_(A=OWfp6sgXL`b6cGroZ(h;fxnslKL?GfP#K z)6Gt*hrNtX^2B|zL6^peF4!a0hC4EP95Cs{>sO-S2_d#7Ra4RI@bZy2;5 zfumT(9$#4Uz6GJtW?t55p#cWo_B8H66G{@-AS+0ZLurCanUmpln7aqHr;PRR3i~}W zs0=@JgVajH>4GOmOQ8jZCFp1Tp7xHnzwiC;JLRo!!7V-?{LqKq`~DA1>F>uq&zMyK zd1&2O^o3($As`P)&b$nJ@GL1FtH3iA3l}Yzd(WLey6ob`ix;dOTCr@!;)8r=>VZT1 zpM8GcuYUXDjkn&2`+L6it#9^>?VXL!@z^bjFKy11u!o&wXKvFq^iXY!W8~NaeI#61 zzz-EL6vUx}8B!D&S=|a}opi~u-Sv^KDV3+^n2lAXf*@+xL!-A%Rl6C1Kuj~ZeWWU? zdJRZ`YU2(kZ8*F4$jy#Yxy>%Ai;1lLLdvNk|6{SodMuscWi8b7mk|IWDvf&!vFLo-X>Uh3=Y!{b z_H%#q?)SX=?eBaiW=~K(Ots+b(DC98&Ix-W0s(m79tnE@JOk6F@49pTqJ{V_ z>Co!IHERZ!F1z3EYkvBfC!aa+%)aNJ2KKC8v*zN9eu!r(^80)G;qeT=-UBbpeK{kr z5&-APHIxKZy|O_s^6Zo6F&)KVJQAq1-U;pyCn8dp|O{!@B$%^=2G4(XllS7EI47k+nD8suo?&!HVNh)nDu-CU3EyU zA7XLP%A-i-R7|DGE@B(OkqsMB^(BRx1+iOgY9V$Bd#um6>gL-B014t?G9{sC%@ZbI zl7+S8Klzi-eeB~O1&sg)3y8urWDweDmQarYfdmM!_SKmQ^w(odT?1NCsT z#q0P;7Z z1sgm7(%7nZME4v0H>@k{EWHV9^ zL~B5dIV)_S2Q=C0@(2<|3|qm(xsok%K(fAKzhUUD;i^SVGls@Q-DM!Hexp8Q>(p6m z3^=Igt=rl2WJtuK&5;+t6}6Xw31;%>q-L@>x5D4pS_h`2nCjUmsFhN2>%GK8oYOi~ z(h~NZ`m4Ez6?nf{Uzz&144l=OcdpD%=mg8fzr1n6Wpgf7YH(8#!}_PdP!~Kx-y)SJ zJ$^h~pA$|z5l+urPI>d0XPxnf|M3s;-a_1G*oUvL+uH**JJWS8pK$TPE-nxAjm=ze zo{aBv4Gc`5ifi?^&%I;m;IgZJdc~qe^Wpbk&h_kbSZm((#O`MfJa^>Rhi|y)mqY6Y zzx};$VWnx-amR6)hZoEMW$?3#bA=ZsPU02!^i&saUNSGokc7{6@j-j`M_%bs&n2h9 z6h|?v(O06M@F@7j>#<^V9Q!Oud9+L>z zw4uH?v$aN#1cA)}l5Jz9Id~ptg$$SsvN!E)3O!~0b#qVU)dC!t`LY)0Qg|! z2^Y)xHlBN(<~Qkh%O#aRggR$Tz{lf?WM$Lr4=>l@tFXexI4Jye%9G%eEticJN|^@MvWeWSx~AJAY~qpu!rtR z-jD|yJeNuRQ>M+B0VX%za`V~^Yrp-y^YQ+k4V%_3Ub^tv=bjlgYVXreKDGbp-B0bl zeeSK>AAj`P>wi9K%xHcau)m*+Jz6;m*pt1jEJ8R(Hix=XjEuu=C1)#wx?y=v5JVkrIN>G#&#*_R z>HDTGlWlGdW%kK}>SYzf1?1q3n$`m-C8@I5rAEX%Ph~?dW3!%0t@AuyoXkytlmkDx zA}5euQbD1EGB}kyp?0eUqwEdmD9etWfM76=DqpK4544?*403W^-cJ=_Y6svbrll3N z940?SWX4K|@Dy9H2gTHZ!(a~}!LWy25knCmjgdr)d+$A+w6PZqq%b#IcMG$h$BxBEwI)sO$NR$Q1=%&P6Y<*S!Fp=YTR;I7-f31eFE%;py>tKp1)IsnaYKNjVpP;WQvy$KZ-5rziV8DSt>+6r*zt3C^i%h?ioks{t_qd$ObBk|hFss@TKT7j{-@L%m2vWs!)?^hH9e5g88)oeeAX zn8Aa_$YWw{lEn7~dkmH;$dt!j9l{m1qro0kTI6&g@>RB!f#*H6x1}@9G?@#;D~mmP z4m<8$Iw!n~oB;M{&DHk_iZbxPHY)>3aADBL&1Jb5R)7tIeIUnvaPtS3m}T;UDD1iT zlDCLGa(()z*mp^LMz314dcy-7aDNZp8n%AJ8az{B*Vwo3+WyReXSeU(e$_QsELnd4 z|MtZ{0ej53h&p^hbo+I#ggW6dE_QtG{wDTtY;5yx1A#Gb8FtTM2r*`SUk_#wrgSok zN)b+Yc$(D45in&=JdkQSi9?&`&|G};dX9>q#3|VICR8}G;I#-nAg7C+gf~8(4MYp} za3RDuGl)j*#2(v_B5t-S5*d^BROI4Dt7YeO!XBt6PQ%b_1>}?$B0jFqET38A`Z4%E zkI1fAPLudn%H%Na#@Sk7BIPEdM!+iLy>=zxu%}P&W<+YKA~DZ0`>(e>i3;g_Ac%yHW!t<9&@A2$Ov5F~Ss(fFI0rf|m?0oY|3SnxP6=dEdKVSKc#5<0M-`nm z866%C#Bv2$XnJ{(w)DupebK+}Gc*7e{{@pjd>EzeH9y6f- zpSkk@(4#o=y`){`l{RUWkN}f0HW-6283YDnqV2QK=ev8p;5&?cwn+v|4gy5ZB8iL; z2qm=AN+<^eh$snVp@4`s4)|>240^w+>aOXT`F6Due(!E}cD|aP4%O9F|Ecbt=|KoA zv_Txh9zei=2VX}#A$ndqN@E}-<2`kCb&d5rCH?5=QM2aFzVwQV$Buh~wZo=OxA)lb zdl+ke=Vx!57n5ND%ebqGhcidKYi`l8Y#_&bG*pM2q=o8KxI7LyZe(Dl zp)6ZXMJC3I|0+w8Lc_guW55l-G&MW}f?J@i%!_-HcPxbyshgH733ZclBv^JWJsjgz z;aV^DDy_dcfa@D)4q4=0bkhv^ZW06z!whKZ~y(k5gu?5 z*M}t95dv3nkQa->4hyV&9i1dJ-KD#T6w49 z)uoH^d*(ks|A{9@Klj4I)6f19BT9Yy4*+=7?~x&EL$`o&-sw^TJ_63h+N8hItfD2}Fvc$}*= zLI5)I!f*a8xsWGQ?N(jS^c^Z2jtVYW*3)6C!g$6j*3OiupylAD+kHJd3eWPe4mwSZ z!n95zE@h2;q|(w$5Gkq4rvi~dBON-T`W7L^QNvC|Ndljb>r4vYZyUl1rKc5-|6MPKdrYE>}c>FlhKoWMamWE^Q$*R?d7v5ZK1f z^H1#7%cK5=JrGi8)M6#ubr4y1??G~G-1KIz&+dK1QAh0mg&{ldzAJB73A9&N+kCeH zfYFW&hCl{9*5T55F2$ZMUGKebGolW$) zuDyQv#OCooIO7L!(Wf8l77F%|K@oeBCwq*G_F<1qX>9>}L~^3?{MuG%Y74Xmapi@e zFOH^?kX^3w=(mhe$EH)|tYBoZ6n?dV^1#?int>qf-)dU3Kbk;EX2?bLPc%hl*Lb_D)Dt9SG-(> z6D%xz5RUtey1uX>UT~y^s|2fJZekL`7XQ9QBXbU|3VuBoIfl}}G9Ts}WTkvu_#vW} zZ5#wX;*$$fy3tmA%3&66 z#~pWIB_6Gz))Lnz_PMCHV~>p0=nEC{9y_16XlUqEU46%0BY3v(f{V`Q+ko>H%x;-B zY0cVIvVPC1)qIcr&Gq*`c<+4=-h0N6Pe*Qjn)=F{T=Hf2Y}(#14oMp1_)!oAxhl?E zEjfum%w1P7KnzRveA|`JELse&sDS0RQvJ;gD3+xmF)LTnGGSUE>LB;2+!m^qXbq7I zIf$)Cr3@M@S{lqcv#mV#C|(5S%GHdP5c7?-;M`yp9%9ZC$Kyu^0$Mq%&W~YFPDC*) zkL-jDQ#!8bpkhrAS(R7yf(Zz8kco-z@|_fUyIBB9uqUc|s$y*d zWo$7ABce1i|H(vQaf`>8Hl)&#nzrI=dLjh%j@h9eRGGOLj%t2lj%-*66jIW!2Y0Oj zlyq9yG%Y>Cd|98ZMrG`&5H8pgWMUR)!Z!wEJ8bzEjzK{lmZ4C-y~Qj&*h75>4c=~- zU3S{@(|hoQVgCXBbSY;?A0Z4ATEiaThgmDKx@Y7)&%N;cdFP+YI~5C_nag)c6?>K} zTe|Me^-ESPd3?;MX){{Rx!}h*I*omrz#dUE9YwOEV~_Onl3fPeMB_y1Y&S7*!~nMq zd#HD8;Now^wlXEM#!*f(;0Zbv)h))62my5>w20Q^H?yalvMBaoyV+jC9>Ie2&KglC z$E4szs9HuPbq#DMA&{V)_&u6osEFcDAyzP{h=0V?No=Vymt_1bFO3{y$tA%a>MOk} zF){!~Uoh^@@+!E*vdhhhJH04~ArP9&RGD7z2-4s)Ta>-HHi;7KNeitR*4U2aE-cnHT15g4&)efYn3R zg6Pqu7oQOZezee3mxPC{@q3I_>X^ZjAaS_Qe-i8gbzqTBEJvoqIc1^vzyJHMA9CnH zEaB6?f8W}=S^-iS=+Sv~T{VoVma#`-sNZ8pdA6`q$1!8aOl*GY@?n?pfgJi=GiFWG zHB;AZT)*M1jXdA;&?65_o;vBeo3BN5efsv3v1XPJ(|Im00Rpcm-K8s~8tQnH5?hHq zD3rPj+U(xo1)>u6*jp3a?8Tf>iqydpZNyQJ$}UZ%U=#8|>KK;Y&&6LxbRu5;2`i_W za*6$+EP89t8sC&XK@s6y6e8z&xP|E@x0^!E5;)Q;TA2{p^-hMeur?G#D`GxRF{4;n zFPA357cE0hDwZ-WEvxe32B#0I%CaoAxYDvrUC+9jp7rc}3WZg{Yk3w!?)KeeWd+%! z6?Ah#1f!c1oQb$}^GoTe1^SWn;`c=3gJDFW%a~+c>@xO9$0WbUmrxVg#xepo`5(B9 z*X^|lll)75614zVj|YY(e*L+#Ev%J!x4!vbc2*<%%0iYGWn9r zE}qmp0qmJMYuY+lw{X)tZ}OdrS@UP{Z9wL^&b#1T97M1Ozo+7OPYOS>RI2RyI8!16 zmq&^{dQU3efoRkGF7{y!P4jz$rv%D{;1R!I3cCG%o<_~-uQrNajV-JUS9R~o z&NqI#_Uh41tfzNlU0pA9M&5y|t8Zv%YGAAD-N@rnwROO-+E$7^Qna$6kS7JZ%IeEU zT6?V@CSrSvJ!uCt2qCL-2tcS-FDr|R+jueg6M`YgQOgC6e0Ru+G7*_UtHcBpB}Iac zmbo2667gcyiN#{%^&Gj4*EQDhs!r!l9hw^I`#1Gzs;eE?)Cah+u>oG>spCE`SQW7+ zWD+WB4H}!qDu{G~%(UI&iOL~}z%J-93Pr`Pl7VNFNhV>P;`4?m3rBio<~YhxWJ20B zz7^>98h9d9t0Ur8f_@4nh=GB-Xb9TUzh7S(0cr3mU;qAn`Zd({sqa}|*S!IFR;cDi zuI@#KJ%Esyk15iYjT*eUCG4U`X0~SF z9XrXIJpin{l@5f6izA&$2;fHvMW0I8BSSu*2VZfo?aj*XNSS8~C$&sD^XxOmje7#@ z;X4(p*R1T&Va>)ht2V58{-x({zWFAW`1#Qpr=vs-eH+c=0le4|vb#P;2Xx^PNS1Go zOEZT+?8VS1`jY{p9ju+O+gPQe$r6E@QmAB2ys9or+U$?mk*Sg@W3;v`g;UllrmZr4 zBbvi=nyk`h#uFChC)$8PgJjm0XF2ssb>~if8tZvjp$mSIdOzGS#DXc2d~_@FnFMkP z-Ij40ZrSFnaI}#TO(s`$7Znn{#vnk`PTZ^wdjij9XEt7JNlbJeu7Nald7~T)G(Hic zD>9jf0cg!9#FGw1H$f7~vol{}s&A@q=v&vNch3%hPlpaowY9tLxI_PbO+D)CcG-Dn z(5OSV&Nx5#LztJ`f9>X~xD$*ZVM|+41t?07XlO=tSd$iau^2K4Oq4fmbWs4!MpMt;c@{$z0v#R<`8YR7v7y?fDvH7zk!>Dk!pj5E(X{7c6$ zWU}XW{Xf;ev2VY+?fURx;hH88sArEV>7a?zkS(LEx+MAM_mqKFX{|m@=^jj(Fy(QR ztVp27w2^S7J`<8@YHZwXr=51*amPUe2lQ>~!+dS0>MH99b*t$?CS6%#Oh>T{8KTD{ zi+=fX@qC}Fw!V%z_U0**AA4f-+2@>v-@`X@nCH@U3tw9L(#Cf;Enl^4)MJm{dC%Sd z^6&qOM4S4{d+hEzrP#wnKBXDV;N!83M|-eGR3pEONb@7 zoaMB&OgnIPu(YdxqO;h7`d+xT&Aw!Nl;kd!O?aGV1dkq*k^w2{N zKm4$xh79T7rx9ywU_pR}db}SS+mQad+%rO1fwxk*FloEaPpN8KzY={>ps^HIccE2E zTC>ENQ&dPHJezgLfWl0fD6h;7gd%Ents2Lz+442?D9{qJZX5gU$m753Bjw;P89cbe7)`i>UKMH|NW2q(mqEWIdRss&6_trJnB(Iv0IOtJ!*OmqUTl9m9d|? z?%f*%oO{;m9W2EjvNZ)rk2$G@6BQjS`5wjSkYly*Q=4C_h&O2kQ2)>E zv-im-pK$D#jy~v+FC1~yVTT@ZFoSyrKQg3O!w|bJ;Ugd#2HG(UL5yrLu%=g?e4>lY zpBOvliLp;I$Ie(Y-(%;UigoK*ulc1VFEQ4Qq6&VG z_V^f-&EQ9F=9PDsWw6jho`m?-GEt6C(x658ObRhAP7)G_rL#e#SmXc_(JsY0#iI(sw8suD ze)$*#s6Q#sBqyQd0|V-Rn15Z}scN4C_B-R!^G`eX%)z_wialL2{7P)=6>ME<8YH5?Y$&2~04U=%iILJF z34z2>zfEi|wt`=^LjBYUvPyFkS~129m!klWeyJmTuY)gmbgyPDVbLEPR-M}-4|M69 zKm515=1h3y7w`W3Pk;Q?AOC2gShQf?DMP;S?I8#K^8p7PvBw_U?=ZOEz<%A-C>wBr zWI$SH!s5UWC1Ur5EtQzjjwnue98Vi!`ndo~wpoiv9rC;QC%}(Rvnzn~;!A&>s;X|e?Ut7pzk1d1 zD<6L3f%(tOo;H1oK3ll{?e#0yuUfq9)hEY}nK^sr1s7k44jT55+A`zlg^1u3evEx_ zee(54Pu(VR7N+tc#IKeKkMH^-`k@<<{i=neM~k0^q%^>eybSSyV{GO4Z+~;frj<)K zfA|Yio6Vc&EqaER{o`5o`%kBShxj%2sYRWQG~c_7C~1jCTV-iaPQ6A}Yp;u3RGSM& zjY*tzLmk9Bkq%+-2`rQBRGk>|EbdxrE-MS+=nbLnAWX8Mq)gpV-_IZVg~#Sk{nh5p zFRWj8_Ep0sJTv#BOeC9Ey!g_4Z@*&!Ke>K5@tf*-1zO-oHocXa=BGsqozyf4B=&dw z5|vFi>R7B4)ikG#v|EWi9lhRgET*=!k{RcWwX3HEIccv-Rt^dG52OfB^dg_8t za&yteG#nNjdkite0g^Q|YI!@W18avp`tX8hpJ9%D{P;0^8*u8hW_zxA*{iR=xen~P z|Gts)7R)>Ef}e0xZ|vKLrGLnn49KQ{Jpw&i3uy&;WUvUM9%7ckv8**NHYYM8(D)Xf zYM+JJbL2!uT{wt2w{O#NI2~L=gYXzx+p9;H?_PBF)9aSZd2ijSzkK*xRi9<+R_^iX zPhEA=-))}!?4KW=^yv4_nmDb6E31F@cE3G#?!+trZe&kcIYhBXcwjR=jZTm7XuAm^ zT$1q|)@7F0WPQ#>)ylj9jim`qfL4aqG{YX3Z2~+x-2*;FWHQ2yEM-h+&6k5@MR5^( zq;2t^y9qWQ_@yHsefH^>fB*i6Dx5!W-u$PJKK|&VkGaF+{iNI3mtIW#dd8#i4rS6S z-g4thPgq69KnZ)~lIpfNGf`hms_-8w;xOq%#2(s$ilo}o2AyT7kx1qt6r_Shr88zt zM7W0BwX~z%l_3oxR`=|3>Q!gWd}r~>zx?9Yn?F`m{`jx+Cb<&!7Fw!g-S>k5}wj@Z5s+Z*BPC zw;$Yp|480*zwXBCxvlo;+XUpu6j^z!IpB^yEX7ze3Kg-(i8A(Rd*&RSva|{DXoahp z9_f%qfFD9tU+rqzc$S=_?RH5RRoy{@7)fU?u}7b}vu+ta>%G@s{KGF+{`JFOtB$OC zW9@NfAF&p6mLG(ZSzOEeJmhk+a=dtO?)N_ z<%TB;D)%RHlP0nXc+u3AhS2(1pNlKTo^Yj`j5)+D1BS%sBT)9(=h83)E&BX`ti+|to+M6Fa7$B_dohG!2I#% zj}T83N$z*)Tbt^49Lz_CSwJ1X$9EHjv%QUknxRTtc!mg@_MXTyp35&MZlOjPao zyL$O@JNx6u9}U0wqU%Q7`te`?y6MB;3_d{aTRm%QRq(;#lj)CW^v=JSlVAjY>?fFKbwWua1_1?#d#i%AK|IbS+FFfS8|HpwV6GF|Vx z@DenXcBF~9!LfJ(*mLLfF=LiL^Wq0T{cjV>M}Ph6$AA4xG%*bBuNr>wl~*8~-aL)a zyT-a*>dEO-e6beUuQgT>fV7TTd|DBsr8;qwQFUI{Q#n{xSdmHCt1M49=q8C!IzhP5 z`j(9tpKj6sF}X&QCKEzrf}A;q)k*CoPHwZN>8L!5TQOLO_jB!iH*ebf-ljkO>Q6y` z#QFKthadiO@oT?Z@chQQUFO-`q+zPUvp&?OAS64b5@~q5u*cTZP$cuG$we7eWlWXOAPZ4Q2(-1T zGfJw} zOhBlNJ*2XtrE~;H>2a>jBo>a8py;ED#dw6g(!BeD`(F0gh!=kS7F~v4ZT|TE-~Vni zE{_Z4kAM2pFMsv1cE5gn;rYm?hN%r6J=E6>BKG9!VYNXfx(A>D6|x#7brH=m#L%Pi zFW3Xa00^j}hYaQ!05CUHF9`O?p5MYH3)BdS5Hjp>#8QUEd$Y}i!*fnmRUH|c_|iX| za_%h`zxjt>|6%jy-vt!jylTa=f8A^Evum2Z)3bipj^Wu2gwxR2)PwiB>2TG^1JNK* z6j8`s%aQ}!Io$@4nh&%a6vS5TmR40-U7t>T7rX1;pWCNz-@dTjn^l+l_T^q@3usu* z>K${3>P}s{^Vqf=!5(?%#^=}>onVp_OyE8CDbuE$b>5jzjC*|kvvVg;vG>@QE?d0m z-A#NO@ZnJp)Bn2Ss>^^d){1AG2$%!i1ni<`W%qkS9jCobz#zdMTpw9-H`G4dy-I!$ zl_OzZuA(f7A`nG1#Nr5{7UOa3aWXSUj-HSRTuM(RiEcrE^adtDy?P#X@^Q8O>Jc#8 zo_}|I@P5>`{`%3!c1Qo^hrhk@-Vq%D8idhU+qq}wZZ$j})TIk={&Gyd$YF&#hkhzT zh!TMIN*PxX7=WQ17`xR-v{*qhx5}DvARUviA0?I9TogizJz~Cj`FPI83?jn3*yuMQ zlU?`Q`|R6?Pg}Ei!rYk$f9Z?Y-*Kzq&PRXx^SsB#oO|-uS1ny)AwRxR#+tz$o}-g{ zVZ5UY9uziMSD!PXiO1LRz-aGYM+`lD`|StYyQJubPBwv@Bw}56ee48h&i3^A9-QFXUd)^G;?|O7 zOK!UD#%Z&rO`AC-`aMgRFMj9!clbURz%+K^*fW0oqh9sB`t+Ca9vf(G4SPT!v=n{~ zvqfEV*i%H|R7lXsR+=;?;7pZ5BP7@(5u^R-?M=YOG|rB86~)1}(vT2M3z8DU)}6&@ zJ9e%fdcv^`r(!g0_e`3A;#@KIq2Z%O+O7SA-~8r3Py6m3L-ytQvCiGQHT3P%y;t`x zIH3`Ey7r_Oka-o(p((W;3AFYUlY(X4#BAc0VUOOf(#U2c5;4|2RL4$Hy}Zd<5nj5b zs)#-KZ0VjVyR@WECeW?e>wtZa`G>C#`pj+}yYP5Vhf9YKLqwyeO!~&r$Lv+znMZua zJw1hxU;XvZU;W{!L{O~}>`BHmvYJwlP$RF72|*=eU?Wvfld{tkdosvSb~R>jda@R` z4DG0;xHO!w%1Uk#o^#?=H!;Vw=_;**=Lzogl#V2IWK6v`H@Pa2jBT||b;EDH;nW{| zw`1q30fYMX?^{2xk+7PkUN!YR1KpzsZ=uvk7GcJUa*L>=JQLWS%>?B~m^0c?r2R+p zc%*Ku-_xPP_B-q_^ys6g?EXXc+kgN42-$7-U0KD4burc|>3W#h1aPc@n+e(VOgfs03wnbGFCD4Yl=E^Bc)F3lr`V`W1uH7Lk zDal!-?Jbv)=!?EP1)tO1I_+$aqp}Q2pBj&)BQf!n6u^nbf|gd1w7!YD1RY4PQm(j7dgl|zQCkOXA&v`#=CF}#6Rh(i z8p}kGOyx-Jxqa*Fc$=c8Rz|;g;IfYA5t+yC z)`eGi=&CR>YN%s^N*S!9D!|%Bb5m|b#wVh_aq<+ixLAre!mZ1 zf~P8D4_p<-niXke)W`M|cwk1bhmN!C$gy*euGNk8H9Qp8uc?o{Inb}Je)qwHckb73 zhwZlWdp;e~#)di!3oS5vq7{NbVl`9%CWUD0XoYU=!XD8c@gj*V^%Wp-v4jjoP`XK( z3b8J$*gDn@7Ad&M#EGmboa4NcyGv?BR={?@+ z>RVsWd!&8q>Y94iG{}b*=#})Sr>Di@T=EVQzC}Qt$WQS;&}z6ckRDX^a|&Z>;HKA3 z0#me@G#-NB3l)bRcIbfz9ms=)M;v)L@bkrEj^1v&ffxltdDsu|BV&5Hkp$?{pp*a3Dr7kw8H>6au ztrTFgV_&Q)k`f#W8t;E*f9F1JGo&DG!p$bU6}`H??aTdiQRst?ygc(AcYYL$BVA zy=yTwZt#sfuFLzlL>8kI?8&%F+RI=7_8bqK5T3cK${eNE4$uQd^E=fwIlHtSlC3!N zX`(K8J7l*tE8515tZ(itrCbR!$!-Gl>|%3>7RYRmEG;4c!w3+Mb@S>alCb55Wg$`4 zf{;r*3oUnMBqO#Ex0qFI!KBc5N6MhZa3wujHd!WOO0rv8qhnFYZ(@ugjtrmB-m+m6 z2$1_SAH_lc5iH;8vWI)f!tjR3=JeR9D2Hu~{a_~27nK)Dd(|`6T+atCc(`Z7rj6%a zc;4u-qvtQ2!)J0!Kuat82FE&wvecpWJEV&i@CMYe zJ!EC_G3=q%2**^5u^c+$wX9FmgGC`~>T7y2hQR_6vWkzbDJI>K;Pe!Dh^N6_i>C?m z3P=g|NL3131?-8+0ECdI07=|Tq@oBwKj9j|;-uJPAt5c%VupnH-U{}J4`guC-QF+Y zK8^m!2HG$Igg8VRoN=o96NMAo+mxK6m*qrzum`>J9fcP6WgD?ap4H)gss|QcW*D=Y z`!PK8Z9ovHV<&m1or)R54mnO}t>qw~Bo-tOHM7_E>BAR#AA01$IrHa!|3}}OI-_Ob zq6N*9C$3zzLi${*H@vy=SO5L1+eX~N`aPFleL2cj->1f1cB7Nv}!yt zCC_G}Mbfk9cBQ%__buQ`?pyd7sCjtWULLqtpfMF7LsR}-p&Dqna|J57dFRGl3 zej9Q8_AhbVjj(E`Xq3n*wLb-GDb!Rc6dxly_MphndOwhc#`)3ZG{lzhtN|g`R9K&t==x#sWox# zs61OM8&<)K7@pdKJoZrCdB_1nzWTLOzI^;~>?fac(g`PidEmeSKF=lEfXO7AVUG@m z(FF~!p@Ti#z==6_{J2R|n$P(08S|f=x8S*XlbXk`T8-cH+KOfCHmzUu%Ja=FPt9LA z_oB-#gdHYy^p-Dq$ez5XJSKD&H!IaH#UqVk*dsd0CeR}A!!B~dQ`FnL^t06IVfaJT*}4@m zlOhiqZa7gm8i!kjJ(w-=4JU+K@mezM@fw=BdvO#5O@~YRT#--9#JMe=M(h!sh}eS= zRV?zBg;$)i3fLo>rZSN@zN`B5>pAW7vbq(18GZWGxkSeds3D*3~U|cHxub z$DMxm>EkAiWxS_(@&sKob^RL~HoUcA<=Pc|r((wJr+;|X59yflE~x+(2*&e?-0QS2 z8-z-^x}l8fDCim*+tBAqZ$%<$OhX(3o9hW8l$%24`nF1EEm(odp@QaSDnL{&sZmJ} zO6tTY1*5Fu1fe91AqH2O_~;j7uc(9So2X#28;1Z=ymuyCgwj!WbhX`^0!1lB)Oxb9 zK9`6~OsrIHNoa!Wx|>F;r3MfZ>A^h)T>9c5uXV)1zNvk{Uu zh_}Q;+I;X_*yZY0`aN*XGx)jZHW@t^QHRasE$3Ps{Y_(!s|u@_zh}(`){0*@`tebt$2`V(4>M!+eHzqplJ|1J z9)lml9=Yl1X28Qy*6+bORq&xI?HOw>V2{GObw&d4V9O{?(i*MOiJEMI)Z9YLqq=tM z(%TPpvT)Izc=Hx_NBP9WtZKApp$I`0M;*~rPx!DhCV=+ z88kwd7D-c}izY(q145>lSvo=DKSqPi?vA(u?LVoHu9wtcg#J(|1YNZCLZ(FW#NA zVCMKq;}<^n%xS0nCtdh~+YjP_L>*%V#$^1=i-I*=gKz_MP1GBqn6Fm6T;0$V$qgV1 zC@;RKyxtUPTUlR8OUT;OVw!3vN^RpYqIA~g5EjSd8<9p3<|A81mydaN<;;?}H4p-A z;n^j@r@)Elna1&aAlOW)Es60d_@R9S6G&PYi{M90N?d`&zDvRpJrfq$qQJ#KLy%q2 zi)njBnj|JtgEyW(-2k*!FTsT0C zlihXi-J`~g{@#C`I(2IE%vn#jv`l(^-CBLN@Qt@OZhUL~o%h}~d-lvrF1diY<$;5@ z>)lY>gIRX`o-JXIPECo|;MGC`XjHg)TbEQOvt-YjD5oE)E`&r=a3YHz(;{e5xTpwd z3US2SNSu$t#Es|H8bJ) zvMVlrV$5T#Ti7ynlKMR_z4`(lM1Jq*?+zP&<+uq?-g@heRh_G4{T}(g2kw)MHItuB zt=qBS_ZZi?3PrJH4v@K^QD?P%(1>idsPKqM+C(CtqzzFk5n)sWguzum4MZYvF?_kF zM@uacmP9gXb2D{T_0Q?D@RRBQyr}aO__RD#B~#ukPPiDItx$gSsMAh?`8|2;5o;qv z9>UG#SZF~xjYd=;QeCr4X-F(UegpO- zMkgJUhSvOhcm~{o9_V6C&HcxsR4dsEt9IZ7kk760R{&cf%qW8f)-fj5}0fP4Sx&l30ao3 z#@dam4mK6Ahs&N&!6{;ou$s~q%``E^9%y~gKL-!kQvrJnhg!oPG9f;@p{3Yx`>@Ab z4fdeDE}6i+b|oS$!V)?RgnU%8DWJ5I){12Knigb5=&((=QFx(Fcr7Xu%2n=As#@iQ z@m84$Czp$!l(PCH*aOD+hA#OQe3}S01{>a#Mi}T;G!8x%^rv>& z>4dMG)YPx3Q&mUnaFJGWlX2;=rF|~*Pg z;qsn$DJtC$5VK*AwLD_T+6`K7`Q}C0jH`Gm?4{Nwq^O4E95-vscm|_!E9GNOi<(P} zV>lEMkW8#Bij&?6NZ@s+E#j$KujL zp((2(dyxksq`PQ{rP2tgJu7n@N=;umM5Bv}>K+s4e@j{A1cFRj--8b5IJSw-j;3x_ zWjh+Kxcprj~W7(Ws_=eOUsGp%{Qir@W=l#V*fz>F|$- z>*JJZpG*CoZe92u`?Q(U&N%x=e5b;`ORCuO%958>tX;u=&;9o96avr zAtnlsmU5n0j98DukEitz5u=GT+BR`4D?fUwa)@1mXOENe?}3GcX?!kOw480_vB%_{ zLXOk4Ys8*Vk&4(;V89Eta2W6iP8e5NOkgQDh^FPp?V=sKR={|+x>Pup^2rG#s(r;k zSb+_byxSK<(7_~UOU@HlVvgpi$dqIpky65}lDoN$*O~{x-U5qpZIVOlX5mpMFj zK~ZwJEOO&V1>)xBofDqiTg0mHF%9IYzD^*K5Qz_nBpqow#b^@JQ~PH zHTyIGmN(sc^UQg(F23}_iIc|ZSTk$IGv2di{i@aLS8sZIt3Lh zybi~gZ*|G$bf9_LutypuxS(Q~MqABuvW`swzeVg3J<;Zkaa@suc9g@DtgZdin3-B> zLOqR&Mo3hp9Fv*FWm%_|o#qK$I895>n9p*e$Y95kkl|uwgXC%7bS;d^8zlSJj5(^B%tr1iD@b4M}vY|}GkUaFy+brcf} zkmTj95J66DF$_7{^aeS}qfs%flp1S67}ygqMYHlt6$lahAFwCaKsotH z%)ilAh8$BK3%6(20s=+g;g{lxAm93vud;XJA+Xx|+MRdVX~$1(KVV@0Pwlkh_B#&d zF=Nb6$CsIAm%(NENT31_AS8%o&$owpE_tPkkC)XpHlRGRUi0(MTz&18cs$Q6oQwCf zV%2iRo_Bu!?%IuO#*QB|YtHO*&p(ghA(`g_dGxK^LZ8dVmaK=B9;rbaevb^%B%VjP z_L=Ba3rycRX5mUviZ^L?Nt0yZ?K?$t(6GRc@&NL*YLq$lE-y|vN zqA<6P$Y)jgtekTxUKxARkYINuzlWMoRi5kV+Or$;>VV3LCmsLwuYdKpFMsi$|M^>A z{o2VxhaT3aPh(Z5YBPBS0fu_$cZD4qG_pB%f4&Fo>B;94dv>2XecJj>8(0%{{P;2R z7tCpy+N|?jOO`KwZPjbIK2JRP_?&rjzyE{p1ANSL$yxv)m%gBpcDuF>djv(i{}Mn* zoEYD7LX7uX#U5lQo8HJZmbE~dpxh>HhM2yaYNRwF*=Y%Tf>x&GDxIpEX{fMG9StPV zbbEU|QRJYNrL00go(%$X7N1;IA1Gj?XC^oFh&rs20j)R`0Kh7kRWmOr<3F$$3u;fF z%ab_a1rd_c@ToRh;>YBhJAwoP23ECg#vTfEu8bKnb-yRbP30hbdT}M};VPo=xy zlNk-L!4>r|!Xd*RV8N!kc%KXGk*5NK-&0@Rxr(pf@I>>~*Idb9&z!k4nd;K zG|WXTMmi1wdrIPy0LEL)&-Wpals(O*8~G!ES@HBp$DYm?ES!A+p2-B@5DF zGNM^>|I;m$S}Ke91)UOOC9AmG+;}-!T8#ott(CE$+Bxje8cB(vT*V%Z2)}{X_yhZF za&$RFLh2XkP*x1F>iE^RvB#seMx+HP+s0FDm&k*NI@vfw-*xCE%EoFJssB(0HT zRjg5hJ*1KXOku>Y3tMta5mrT!^f3pSU$dR|743)#{I{ebmN`c=eaWpH$CI}~v?G<+ zU4A#^F&t{G&xKtR4Wq;F=up*hz;*+UIQmG&m#e!}^F(uPV;$qp-rLgm9GU83a97tY zFefO(p72mJ%Q@E6vE&}hzIPw}E z&_f_BFvA{7Vw3qfb}a>7#Q7?itSY86plW4}ZyJi>T16^oTwB$T*=ih9AJGmu z70pE^2uDXU#CBXJmZhDhv{%^)ud;_Y;g=wUjvy*%D#gnlOipA|L=g)KY4cYlkmPt5 z`EWTcZy_+&?vwSovJ!DaZHdUFL=j>BMLa<|YfWX<k69)8#X2OfCDkw?-t49zotE)!d_Mv<(N zCZDI^`;qc`mu&LhwYob@jmv6R`gyII+B*7N3`36@KX&SjX+Jpq`@G3DXWq=oQ=VG8 zb`9^6E?>-=slWX1pWk@P4KwG=xOCVh9jiLoH<7#b(lyr-zel=vadZiYOm{Ijo%N?? z(sk@!EmaIv%U-ugDqI8~YsS!k{Ui9mg%G zfxAkv>C+@er>$~@G&T&a+i;aP1d#9pTeH|ZJc=*vr zo_}f4C0AV3JarP^2BgomdJXIMy!6VVRqIx*ShH-=OE0jp&kxV~0pm?z51qEI+loC} zUF}$@DCFURN?R&Wu5(J8S)iS!5u9$jO+vK9WW`?5xbl|7$th7(9DdOv$2Q?jy{>rA zFXvbxL{d?wd|5%=lE7`i9x)EXo^GAN9uyXKWmq}hr_)M77xcZrl8#49e^c01#?tuh z$DVRQl22iaMOZ<4&t+6fSHsXT6^hd)6J@ZZm9PgCk*TYcPv|o99-+XSpBfRcN7k?w zVakJI8Rls*sbCY@^OvbcQ(D%k-A>Fa8PZ7J@x9W=vZr z?~=Z@V#y1yEc*EeKbtXU#>0<2e90A;)Hc-CH_GxGJs6|r*+LvFeMO988-5SG;QBDq zlj5xOQKAP^MjscqUlL2zt!?Z{+to8ki3;tUUN$;0eba@YL{1s5Szz;mekuWon#BNd^(l}a$EJ+*KW7($p6bjPQ?AaO{ z2e-a0mq=*X!*^TxOl+sb;#0`VU;sQ&H^S1Ev8Ph$;t0n0f%XvRTyHd4GXWoIp|rk4 zi20bTEUg9lB`5rGorf`8p{AS#Dd4Jz{SB>zfs5EUTP;=CgYpfBdmW z9(C9eLk~S-=wV+v?u&zW7!3Si<3J8W(uzZ&&lNgc>H&$jXesb>U zCr6)t_7B0H=U-SjVd6Mjzi0Vk{GRuI{?3iJ+&Fc{)SGU*iHrq%diUxsuanAH^VVVy z0#*caOsPz`)YHorhyeU*8-zhZIfAJtZD>u6c9-J>Er@Zl(Tj+CM>ho{{8*8Va5V_OUD)F#dd`)IBKCM3X9Lt} zFZL+>kOOHwpEig>wDiVKG z4a{>@kGT8J+4E%>?~#$^WJBJZ;s5w9*Ucx2GWQe~KzoEMiGf;U#uP<7 z@NfuQz{aqLeiB1bmzB{T;-|6V>75}kM(J5`QZ)LOMiW}X@~xkQWS0o^=75&H zw5hou=_ zeHDHW*z@Fsv3HNW>%0H;pM2JWId=RW#+o^95qk^@z0akuRfIZeeZ&XK15GNXjHW%Z z6SI|4Ym0v#BLzr^r|EAsZi4i$SVcj*-eEM8O>4Kny#^<=5Ie0|SDTnOr1`pX3}$k0G2&K_OuvEU*xh zII@DG^bE729eXSj)#|{8B`;*c3nQ&5NEzu#eDqhYcl9(otBp}@FEo5u4hg71; zs<`I;fIxymOlQ^9@OfHR^x^aDFovGYw39r`O(p% zo|^pBC0ATLZDz~#nNwLqL!a-#@7eg)#$~IPF~|PUL-$`j{0bhY27YwO!`#C?0pk?u zj6sh2#F4zz$`=_kgpF`&$ScNJ90wB9x7JIWD5Ft4bcBfm3|{x_QYG!?s%gX)qj?02 zpF67Z%0ngkMvv%s-25&mV3yx2sJ|IOlH9N-SC(3UNvsX#y;5%FUb^ePO}2X`hS71ObO9$BvoOGWpE2&vu{j+y|_lMt&yzkxx3+9fz z?`~dL?cG>UQKYtP!YFfmewva66XT{&8ObAs*}kpVljRU|3yp@F=#GpnqFJn)ALjzynq=U zZ&P#2q-UR9aK@QGWagf)a>_iHI!+vYtQkT}R#i2k4nDzK+nZV#u z=`xdy%9Nv(+oVFAiU}(RqAXEgV%DzFu8D0B3SW}aRS9>UipaQAT=9ddZIMZV60=cx z94_>yOduv1jwo_YZT-enUY#s?ywpaB zr6K}Eh-QVU5aHH0Lse?nk>?*^<%&;(GNncudl!*5NVD=!hj+yfsdbn>IPHU}}9s{bxS&>61@6`5*u3 zANTz9o-8RSqbvI9J?R1gR6Y2_Gq1Au;A4We%O_alZhjAIrm_y|jknx1eb$WgFT9{- z`s4-A&Uu=5NdZ=UK$h7sBBJ%XV4SV3wYaO_a_6w4lqvNP!V@vG=oLFIg3lPF-9(z*% zDKf6c|?MBeavBZgTB3A>|sE|a=E#liYU=N7e zsjBMeqlX@U!g1RT8o0}@JMZUs?Jr6+~D_+zYMa_?c!;}WCwoA*uzU%@HX7(uQ+w;(ut*Y zc|5FI--Bz5w>WAXs-L&ZG@(~H9ZfC^Elskubm+FI$CC+P%b?Zd3-;R8MKo*#3rngA zC7Z9nR~D47BL(5;RO>T@-hcGST9g)-U{7clb%oNHPCMbr<&NW5>a?7ruodwhDYJ*D%-V$F&@ zV)eS)5VH=y=$abQ<1yC<=Y_?ZnG0h@pJ$$1IA_7U)6YD8;^YZ4W>1?mdE&C=%a~(d zzLfsg%-ED90B~u zM0{?n8Q#h*LCdFsq6l*D&+WOK)x=$2G9s~lGb2yshA0f=_p-rB4@(unZ`g#O>~6&9 zOF5rHwwyWwp)1x|Gwktvgy>dP-K`^Q9aVP|5UOU;Cwba8)$|-qMHn~Y7;4>S%v?cf zs!U`#z;3PFa@8!RKVitJ#gTB`Xi%Q`VdvbihY%H`ijHvUU=lTLd7%^50;!OZ34wyF zHKi4_`U(slIc8`|lFCP;#LE>5vMfA;5Hf(6DNLsGxk%Ybg&eYr6{rk&q*BNyKo3!Y zF~J^K(4Kzo*e3R1(SQ(OgAcOL=l1^QH^1?J{^kDwMGbu#&6K!KRQ&28CmvrTa+ zR-}Ed+BzN+WWK$}eGlG$-$M^vI_xsuS)V<32Jcj?l;?YvEnocR+Zz|X^!z;|@0~M$ z_GQB^r9!e+e2t(E<#>lH_&PQQ9uZm`9t|;;;o1pzdL&Rc5@kgBbFOx6YmQ`xbjzD4 zY<_p`b{)5NOU{e+%ZP8HszRORmEj?2^kGE_nVqzN)w5hBN;*guJjQf9wX%4 zb$0k2y#1h)PdVwcdw+)23uR8d7l5NfEwL|T$Y4MLXxKmv1Z!~ccp*bXH{X6UPxf4K z_2oQa$OkFr%$=e0T(7+P!itrzEnU9kx*M*ayI}Tt7oCT|6nnyuPi5@UvhC0w?7?{v zCnm!lG(u(<(%nr~h1lvLjRy7vG;1|_xPW$K4W){oQ$`)h%_78B4GL_!gQ_Kl?Uzz@ zi-sO9W=yG`N_7JvH*eRVkSZ2R91p=+biK~*nmW@&$06j!_GSuU=Nwxbo))?o5!7d!8v@T zYxdk(lP6EKH8j?*+3?2ebh{=rPnvf=Fuy z?ekoTv_w7#Da8_#UmHgvTbr~Ir{blw{ev>3KgLE`0h2g|Z2gK`q}=3GI|QS2%aW9G zc4f)pB$U??l_1!1Gx2&XL{VX)#V{c*l$HmM&cM z?3w4B(Y;324m0eL;iU9M(pZ#XPXT_cs+F+^^wIB}yVT7MB1x`IwshjygZgaMW;$$1 zf<7ldA*(V%M7u9*r>Ay{Yy*2xK(9CicSi|neao;X%EuYV%2l)T@CunJ_Cz=gXpwRY z!)`R~Av`TaYw@La<*UxL6I+Vo;6Vxpm{6`Fh2`Xz3RvRF5sT?e8o^U>$-+H;#$ar+ z3e_nyA4AesHrlbrat_T@*0dxfxHa)MYsw(Ut?_$Az1odEZnp+LL#$3+s=yv`y!e`XvPp4TnhY~3L~=|wuR*EK!KD+A zNSq>@!^&b+up19b+C;53=Zm&wzn+5AMz>Lh+$%uJH>~ZN;Fjg<4 zbpjtw_Qa3znnMJH(4spFa%1cnCZ(xD%vg}iBnISuxtcpqPDI2ikP6j_NaL5h?oyn# zjvtdOg$x4^l|)S@<^Z*ZJ=W+!sFR( zkKKQC=IP)1r*HlJH^0Hs@jSl@;K;MY;*-cQb4Ba{It)F)9x#M=N$(mt;_-2#&pPkS zr=~nLYYu&`r}SOYR~Enc#-{ZwqjAmk*G+l4neiZo#K9hW7bAfl?c!;XV2?0a+N_oY zr`2sIZIY{S%(qg(7Yzb0CDT?UZno3xX)He#eTZAGC9T{fjm7eSm796!A7RuS|E!mcty7uQOQgU$(7c@7Zn$G9}ok_l|%G+c@R!%f5XLNzO& zrukN)D`JlfQ7F`jdi$RDduZkqb&|oq=u&G{9aOdodxDXwMMLwDJX1}F4?TjFQ+b@3 zN5^n_7y|-w6m-Oe=)r>WJ+_QJzz-O9_sBb08|=Ib&zn4TGUGi{r}BIcbL@*=ets37 z$yvAhkx`F4JnBKN^HwO>qtEs*)ur!>RqA%hJX_qo#$|$4%c{HUL+cWPAA9_l@mfHRPSw>NtEw3^;my&4qhqH&ECXRq53ZAV zPx?J}9+AH3mYXIvKXuu#%ceXH_RN?yYr103o9}J{d)9ASKl1*O6Pm|gc-e)pFVFYL z2a)4|1JOsb=F8e8Nmk}9 zTr^BiPzo~^1$D)dv)~ANbzEH?dwl)FSdgSjB_HTe-L3mcfd@Kb4~iPMO4!5I!XDBx ztBOm*)5*Nc*-KC-w{_|yixBqg$s?==HjYEBVNdVcI=&OgME$LI-2V8JPuy|W9WO0@ zamv)@mX>CHr()&W6?~_HPqL31J?g=S?z{NX3y98I@%l~VfMQ@7*?Un&IQCfoOYK{p z^^scZQ_1P$OhFh?vL+eMXy+g$ZB&zGj3v$NjcJ6~cX^A}gNF`1{J?{T?0>-L4?FzOBZnR_aNq#e@&R{bm`A7LeXO}P z?BV&Ix`uiH?AjZzpEhIqMVDSYYu?N`^JX=N@g9(9<2xI9r3>tN;_=5$J@wyv)%I%S z*+M?Q+`Ff(9o8P~fgSBGX4nG)Is6#*m}EoMAjDUe%!>*L zGnqQ%)!a3JRA@(xCV6`1M!4{Wfw-kfw@6ze>dxLa_Mo=`exk3I zW&XbpdoW$`gmef+9LFxzC!BcPF~<)5^6|%h``iC?(7^|O{TqLG_~C~!_f9Psm}VYI zhNt5^SF6}VpR2AG?74g7Ju_y{{K1d@Yx1<_`3vWQJ^Fml>l@d;^4cqJzWdgrk3G6* z(X$s_d_GJxHZ}IDuk9xABSY4fx4*_!^n3L46bwGuZcdLMd9nvP^XGd!Tp%Yt7-)0> zY0#ANeI;=eD&0Kd?L^d7`uOM}N-Dlps)nY6nJz@_j_R2Gl1d|ICX(h8Xe&om-uhqd zVbZFW#*~ma(qq6WwJ2{177A|>d*qiBx@^4Jt`L}GHP#k^h~JZ_e=eE`tksQcX8pMs zt=oDrXA!3FB~LMzshn8VJ($yN!yaqya8$s{g(yp9R<&p3g$vYZ^~1=I4*nqL2r$-p zrhNuy!Gx|kB@nL#`KmEcix7;d3U3GZH?^h7;Ekp zQKy~QgDkbFi}L0?^>QRy(vo&5HP$xT1VapMsofeR8Vk)(#3Gn>g~;Wf*#54YJNLj>>uh^hhSK>AqS#G4Hf^FzN7O(Ia38KFnW-gX%-N1aiDoJWA#X88 zbs(K9eu1!4i^)^+z6xooV&s{z7g51=*)*}Nq-Ns@%Xuy`z)_fX`QU)GE%Ge`G^c7O9n^)(U-a7cOLs`tCsejYw_ur2Pn|A_x4nLer zFea#@SQ8<^el0nQ*0!%NYEudgh03J?5E2XK*baXF>Y<>n&a!Ra8EW}bPoxxK2BD!lLN{VVr z->#M2)ww{JNtM|QA^BS8)KD*Fsx4qFE|>4Eabn>_3-7TP85VU<1Y)(9dQo~I&y*j( zM9x;nVkV@nR2@&KMFfa(9w7c!*dw#tkvAh?RSOM_K?~Rvc6%{5uA?9`0SaKA6;B#L zTP?B*3UI_d)LM{Lz}0q@XBOWj6B=GnhxF1IehI?1G{oqb%6}#8Heru{pNr(YuT|4q z*4^n;-Ki5xVs`G#f`s*rjo7}qQCM&uc;pQ55r?NYJF{epJq@)C+VGg-gO5D4;F)Jm z`>)f$o`uiNpVDH_7A{`)>gyX{|M{=qzj?%MlUgQSbHi|+VG``=-HWL%STLtYd@S{{ z40|Hfz(g3LvVkhYBmxVYNz@v}Bq``b+AVJFkauXMwzG1`NeB|Ax|8w)dzN3Yq^Nop zUyh183Oq%V71dEla6K&(*jlUnmaCkEgbrHNdbfBlf)Eo(#%hdA2v=Ldo?!hs3)sdUx&7qJSHe7C8f;M(MGfu5pUCs~^ zP4_}>+j1I9qL@~&2c^PyPj?~~xAtI9!8SQfJs}L7Q{Lg?dBXaJT2?A)sBe&A8#-Lt z)x!2kVrY;e5FzpsYA<%#a9(=X^O?UIo)+Ru>n|^U^_Dws9Xs*Kc?)Jwo)XtMNG_#+m!z{p!K=rE2X^6%5YQ9 zZhSqNhoDp7p+6&C8uR+nW9)Fz^RhmdwNlzv*sHm z3$iuiFarH5M?-G6O&A{iJT2y+=_RYi77vc3Cbv?Aa?S z$ntN9J&G5G8sTVo7F0$-ZmTsyq08aWmDdc#49Jddg%rmsSF*%?v`Z%{`#sss(p>8b z*dv09pkh_<(=y?8^h=IC9+DBU4z9>CAp9z%2bL^Vy6~XaI?K@c^c*8$Ioes7mJnSm z4EPBSh(_}2v_-@s{8w*7#XeVo$$}&~wd$DKgqxMNjwK9=R0(^C&=z}H6YI^*Pb0f> zm(v?wE|Yk5i@)25J^COF)nv{Zl;zRleTRIW`6;#`2YvyTAeiE!qlJHCeI7uj?Dr`4 zNY9H+et581pDi4A)v#98y0i z0A+WV#gdrvnj+hpdpsI~nxs2<`DWpql6m1F63fK0kpdr(R9r zIo5)@I45~R%1V+*w#8FgGd8FctuSBFQY~SDlk`;F$LReS2pKcrk)*{N0hky^*1J~5 zhL&jM23f`C^Eed=E7~tPClnJdsfbd6Xm}@m+e;-}QEo};uD6s@pIdEn0ZhRhN@7z{eyPu9uDX82kV^xHueB>@g6`V-Ma;1?Vj>$+o&xr$ za|`Td+ZM6MT7V|kUF~0I6GF@6+sa$siDI;@WMxo5E`M`UH4KGfc6k$ZlNCGm?vmO) z4~km1%QQ|sA=2meG&9E@_z*hroPs??I7zF3DG=8pTQoQN%#vclU{5L{rL}wxD$G<8 zPD`^T>nNs0r?hwsk>Lt#k+bj zvt;zV$jV)xHnAtdsnocLJtlzE+Rz&9d1bdr(Ni@?YXOEDMxdybfifWDf$()m?W5^L4vyiZ7Z9}!Q)uP1CZz~Gtu{)#aKAS zsnQ82>_TVu;f9hW%p{pgBhoGe6QE~hsVx6A2SVJ_lA;}l5*|E$IX4TD2yrv13KZ$i zt;^#`=30bjxNQU(TEZ;nC^`?{wwx=ZiZ?WCRulsw*0s&w*dke;twjfXv=hRyJ=kN} zs0V>#(SuXqXZyk1@36xTEL#XYaKOMpgSVqx^>}!gn5PhJteNqh41Rd~ygREo$HxnM z*VWeOI~6zFa`W`rGcUXH(nlYEWajMYQ>RYWvF5ewR=>V+&4xEOjGr`-F`!E>y^!_k z8=4yB!9sC;cyl$w9&>t%evduZtR9fz&;L&Bu@*BeLwH#OdXuItse$EaK}osm>XxQ} zZVh`VOSK>l{K&n(kTiE%z#fvP&?Tyxz)4C6)5+saIYOv~SG;uswrwX9-_ztNZ4rzI zJ6ed`Ra!xaG;*4i&~Xb=jo70zG67TD$l1AV58*`{KO`|CJ+>#Gt&L;w)3!21F>Fa= zEnaM<*l-oRfaoOTeo1ZEqjoF@AcqYPfPx`-#R9y+-SMN1_oS{*347}JW+iFwxaY1_ zudf+)&9J*4xO>k0Sv=ajOx8?YwR-uR?`&N8`pQQ}Kh`pB@|9Oz#&}ax|Gx4rDSP7d z;QcuEz^9cgOon$Vglr9avJO|A{1T+kkM~sUbG703WHyntPNnwI)<~7BRRt;KLlJ3Y z$%K2ZZekEJ`H`mC0``ynNCo@gxId z=VTiRY23{FX-_87>yuq8*u67fDhkW9L@|;{rlm1Zx~|@`u1`@QZT-d^GTutD^^Jir zLrS+xnyu6c$ze`BAt%US%{=0x6VtrnKym@48u4|2A-o(2^L`@s;GM{){Md`wQ(M=Q zcPct`xcRnQCr@d<5mg0#+JikJAX%w0EJ-R`Pi59A2_pj;s~Pvfm9hLKw>bz!3>~{^ zSDy>nk`v~u{(~NPg1KjxZZ-6>x^(Z=t$U3C4^@zH5FPJ{eJ)0uTg4up6tuDC%Pzl+ zWio~jzhcqz&oJaOe!`QlEywR!y>`X=P3wO8{(GaxJTYzN)Z6d6jh85T)$>uo-i%aR z*Uhm<{2rTH=dqr+`@5v3cPi#0_Rvas=#hc2boZ9Y6CqVj#1&g0AE-QJeFQnREgvmk zmc%!fEFA4CNAOF26&pbT#e{gYM?RcT!J%<4#57ubKlM(?&Aje(EGOu)T!I1cqe^$3 zb?+*(WVW7OXCcBQi}OkTGSr*j!|+eEd*?i@OCiuM6~stjA%s&jF%7Jk4++z78S0au zTwqZGw3ntLVc10)p&2EqNG^aeX-#MlsSjic%dUkKt<7ZwnOZBjbHOT*0V1>`{ej>lczRcdCjo8#)jSvEYHgO6uo&# z!{6r$eXec7o+#a<+DUaQ%Tk0bVvA|xZ@Ce;QVz@mNl08Nny1Cq%|yH@{8E7kO0BsW z_K?4;WCbF^nC0)eNs02dqB`xdJ7!j>>hCX6XN27MgWafXdZkIqb) zKn`gjsnS!UJ*)DiiXobbAhc{TLkPN2vMZq@Is#AZ)+kbn4w7M-A*sSorOHYajU_Fk zyQN56O+l_)pkq(qp-t@38;2BM343yP)Pex1PB}!XnQWX`wy>1$CXKd^nu+Hny%B|< z#N;Sm_6l2KjHdkZdY7hGS4a>>zcVA=k1U*OdjuZ)1%Bw7vD-A2EWZQx=y=bqBW|0w zaNh9iuYO|u<9wuIO3S3BuPy1&;nk%tvxLvaw>IAY&;#?IozF)sde`$h7>_lBTlC?w zcS&2to-oRzTnbuJkx)ykE62Egk07jd(5#A;o1#sGs33lCx_m+_BE+{iNrZCIW(v+& zIYNb^felp_vX9y-4qO#kwR*mpV=2+^^Xt|bE zA^)vC^-S6$t`Hfkg-y1kI##Y$$C^syX_N^T+UB_;a7l0wg2T4lJuG^5Oa%h1MPysxSkj6@A zKlXIiPoHxX?@4#HY&ql+Cp)W%JuCypc+WN0Uvt;UJFma_y7|w}ZJE~0e7e2IzGBJy zAN*{?o9nN?>Bc9X`c+~?W~?8)5~OrjMntX;zP#z~sa z5*F-0PHpofr8|%%;plrid2sBZ1XK9-V2`*p2{YiAXnk~mjHoCXGhZT`*>MV=7HBkS z?UEmfT!@oaElrz-Zx!86p;=jyv%yN_oDgLmK4VL%FtZb-Kplf02NtViR^=^WPl%sD zuUEe!A*}kAwwKZsuqVdR>J)E5t%}r(P}KQE*rO^0(*@_oN@zd!RBt8rSf9)M9&vrN z&n143&ascUYeaKP^Jzc$E`6@&Us%{Ob+Y!)w>ln-Ok6PhOs8$OH?B3ZB5 z`dmES+$*?JWNCvv@+w6f?16AV^y*gdd(f%aEJn1^ZiSeBY6|YB84>%qp$YNU%eNo9 zmhh0qano@kWX_`)y6fN_4s+3GCO++qvV_g? zUd9?hSfw0;{gOWMNkUSKl|Sm^P@@ zOUL#SL?x?42?L$h`xErJL>1%h3z#WyhCSt@x2Y4XoaucoEL@B{OlQj+yY1kOdp!m0 zk;jtxh$*8s`eoBguefaC^UwU`qVpab^C;szQ>RVV@tzl7S+sinsyE(#g%q?Z{!;}3^cRR`Re{R!JfpQuu9Mib2%ANZnr`!nP3Wma$3Ni*u1&;*1SoxbJeqQ zkvn0R{4^yz6$Ih5WQIMe^BmGR(5A>7J)FuKNLU~(O*Pzrj7a0B3GHeSTFIxeY}2gD z*yH?EEFvo_VK|ilv}>Y;ZxMTvf)o;{tzb)l2f3=E(?Co}?OL2c>0nvY0VQdrOk2FN zDh=@kQ!TRm3)n-y4+zQ5-_0`cZo$c7;z!M00|4L@# z4R~bKhwoizpX=WHM!vT4wf{KnI}bj3-=Y_v#qUw#ywNirc50t5&!fQ@nQ*tp{YF1Q!jvfQn1 z_1?SWB3W{kEZK6m0TUbu*m~c$zP;C3r~Fsf4&-R-+;#TZW$m@s`u5s;pL2ekJxj@G z0K>GxWMsKDkX3`8#zInQ!7OOI(Ku|!#2!PUl}FnJZT6a$xnYiKn#y;vl%=E*kUE$Y z5G#;+up*<8b#1}6l>=LEuY~*^8VZE1q=mBA5+r32(3qk<<)*2byviL7w$t_>Uji#1 zhH&MS3G+M>B0@ISl|mN2L8OX{K$sZJNTYJl*g7Ors@6cZ(Ub~*xhzDFnQS0$1g2E7 z0SVft00bro+u;dFMnW45*${g#ovAVdRA3yz5fDwg4hJEJst@DNvl<$LMcXS? z0)dDo|Ez4Ie!CLdS?c3Vg9@+8G!#f{( z=iuA;aM-kI_kH7%3-P4T#7Psd+=KEG`f%CD{41_H@psknTN(`ZokfS7NI;!pz|KWG zKVwcgr^94eq=Gz5LKdA)NEt74Yz8|TnyhNm955_ZLK*f2Z_$ZNT;ZUhqJ`>ciC#xwHHvS^cP_RceCY9tEL3_d( zTN}V+^(j7|B8k}}7gRxB%ASH=XXasE_JBY*j~;`VjKuUGpcr0N!;iZ@6r`{^kF=wq0ofFcCj6EPrl6V0;a2xIEaV%`ng`{oS!NNnorCMqwH`Jba78DVCY`w>K zbh-9p%2X{ZXRMSN?FLy211VFju*cl2Z2GwhZ<^}DB?z1o%upiu=>Q(wfZ#WK`AY&) zK)%#t%K-9wR8+xpxmE0Df2YX?exyt-$|=!~Oon+xj#Mj=AT>7^V&#-Yz$`WF$xSZ0 zBd=m>EgJ}gfA%ax!G@$^O*5>-DJz4#KnSXskC-$JgoH~39Ub&|Y{8+Bk~g&l!HmIJ zm`Z%*hGbDE%S*-B@?@$t|1t0=I8RNmyM>ZN&0AxSmB2=+>yrYQV!&GbeJ=Pt*s$vD z>mSzM4(ypZXXa-<`^lwC7p`Bw8oyIvb1pnv_}oj+;fwJ%-FnkK58Q)2cocxOX1-0q z&#%h!Vac&7v8l5`K6!Bjs$dTVSD6+Y_Aovl!Yf@#O!-djZ&}_PpTd#ymea6jYKJS1 zY>SFxUjzWy5PJ-MoW?DR-1@{6ioKUQyjF5ngaY|o$HA=vtRL2GcZ)sNKo*4| zJX>U)5j2~Q0B%_N(j+U`tM0l$)HIGUw!DZ-5QZ+C$wMR3<750JFMiCx@Q4siU`C6S zJ(gK#OfiL6GBb^BK{JzUm|N=bl1j!bCc83zO9T=aiWESLl-@y}3qsVKD`OAlU)jHO z?lagxnNb3o>4EDUcvQg*XJ@&9I32mGk@Q^jI(DnxGK?WH` zaSoiT3DRv(K)bGC4_cun@U9&Z5Da>3Q!3B7uv!f4m@o++-x&F~fB$z^UUT(jmwy9q za^XGpnX{%p{0QEu*tzSGeJ|{L@zn!U@1DAF>B8IZye)mHxu+Ws^kAPqHTz4Ao&I-hL86&WS{dXh5P%dF;ZK%ZXAN)oD!1 zyreRengy5?19u7;)MN;QBR}=aMg_~x@@t1_cT#XY8kYbjEU{pwAjueqw#ra0$-ua( zTyBMGIM;04L<$8g3Ia8B?D2L$R_s<&ZJ`c7{cRtS!>eCVLNx4WyC3dTJN zC6KqM*$3K%22xyntEha~^wO{aQyZE%Ql_5D=zfjREgLc{)#*0xT zGM1wdfpltkuEPJKZKf0HY`9nqWt1&BNs#Q#!ODhI8`&B1oD0R4^uK1F=7yYU9n*-`xDIpaguWQK^7XZ`Wtz$0#BI5pM(ja)eVI$;BngCpoCW5I z2#hezxnM|Eg|h*|0J5acUccmn_D;ZdXE%@*U+Epw*^MXUyC!t^9szag$2V5SPVDao zF=^t&@dE?nFdf7DfA~Q+^8f@wGBs*3btDATWblK(j5kwA{A4D;Jn=}Ek`H*!h(gL} z5u%eYa|!sXyZDP+>Il{15boW9^&Yo%gCEw7hMPQ7iJmKo9sEIu_<8{#hscaC4fhR< zM|<%`0QPr)K!RvKtlQl=suObLA}vZr3HERbYAIFWyi?CZK>tBf5>(297L^UbxU!xu zuQiu7pEj#HSc{TLeljA5ua{uA=^uuZy33lwT5NsivWYE@XWyVmv2^c(+EYsO~Ww zq&nL1n{T7=+pT@$dto{Q{k@ayi3AAj7Y;w%z8cxq-QU?Yo}U8fXm0~9$w^Wnw)$GA zHtIz@*sdH>C7f{(9C9e>S0zu=CCkYg2fLvPLz5slGcVLG3-jhv$QGC{n|Km?Q~By5 zbP&8HtP>t}#1XJ6G#m#Oc#b;qh+lmFQT_I2GWLZIpEU4){nF1JX&V_xFnaj#zTRFq z%^KiwwomBMXrL#~N#>_oy^BIOC_=Qx(8H4gN+PA)-+#o!f%hFLg~6Um-;swM{{AER8613uV&w2%d0Qm0(eMLJ?%c^)U?-7<|rfawP79JKldCg7*fpdcL`?cL-1U|!Iw zPk;U&Kl;~yiO4_y$VV>y))jqle!9E<_c332|1bX>v=x$Nc47>TO1x2vZKsCuwF68; zl``wRt(d4^@ouev6v12-?4ghxa*`D$B@GRCBlDNrV;U1|s=~z1MM{h{D0$+MM||*) z|L8CN`mYar-%%KpAd}IZV^2Eer1^7ZeBh`fMzpn!=xG1&pMB)M8Ph)UvA=3>?-bNKe z(d019j-7LMwgu=v2*{zQtE&SN3CFMg=6}3x_RJ4|^uNOc?Cb4*|1baIM?dv<1Mfeg zYwVbby?tZ4x<=)pJIRDEih%DbGwkScKuluQ1w`m6VGplzr?XFOWVEk*P&B!~me?~A zwv36SnKnvB@5vL=*|A3i!66)t*n^+85cbTOJ9p=<$4)x&_@f)?ue&TqN|-%hgHTDLDko$Qosr4h1D??d)d;5%k8QS(9{Kx!^xr;v%oqRu z^PlZGY=U&?eLw&Hg9i^TUB2x7M;)=}nWsVj!GHZP@Bfuw0r8hde->$gJ)Bcu`VI&N z8?Ec|N-^}JAvk+XX7t_vwL+k;UK(i+GFZQ?5gB`s1t0rF;O=*N`oYi?9Ad77hT(w@ ze6sG}{o233*k%y!0AOFm!H*DVmQQ-K8|Mk}&|Es@RymI*u-}wnH&%N~q zB!HI;*Dz@!5IT33H{99w7!j}xnpe}|AOvp=$+RRRODY;}Ek#k47+eBK9D8)PQg!7L zJ%#j!cx7(P(FbNo`7z{n_ICc4AJG9(^c&jq#F|k>>Y2y) zzp($=1J43`CQrQ$ANT2>fK9G(@Rx>&Jz_Al4MS(OeL)l{A%<%TJwQlVj+CjehhvPJ z1#R7qkTHrs(e=)>7*z)W14g?>jcIEi_Q5~@qqUDe{QZLmSM1(-*5wx;`M&pk@IxPj zzN}xi{E|~nJ@^jDgXf)b^6!7-!yrC(##bRoyz2(rlIz2fC38|y;dlw<`l(}2D4*&} ztMa1;Ii5J1CSHKYWU~lx+9YH)2iSvEp006d?0@{--+HrD_b|t_aR|VB^NHmg9r|H(3aYPPLx{!g~Y-}d;73a6MN2?eAV{vJiqUqAHH_*;E%H` z?z(sC;r-)3^xMDr`uAT)-1;YXcOSteSAbyOK<~&d;(8jrZKXoCP!dS3c1D!3N1}}h z86$0UTMGKA^f(WKJt;d1vEyHfJ@9+<`&?7*oVs$&s?YzQ&rO+f>ynj=F~53<>pgg) z`M|3O)^AyV%aqA@{^zO+~I0Bgi0N> z1?y5WNn8C;?v0`!;@v=tJ$Nl}U3xpYlJUnM`ybn0dIp2ltEM>5JhyMfiWMOD?%ehC zhRp{Je0FSF_tn!+20nfAv}2J4zBH#5HgRLqt@$MmLye06>0*yeC)WtO;d6SnHUg2^ zQMO38t;CGE0(`V61TBX^KHNJ%i{RLG5_|sNk9_#PEi0D3x@Yg(KQakHB<}!`4U`!{ z`t7$tOqq6n`m^yaPq^umjh(huHwd(p-X7fhXe)NlU=9L;e()IS2etyiEqL-KoE zsWM+~CON_YgEJ-GVI%>xYMaVcJ(um5I$%LcuJcglT!s_+by9AA;`tu@k}|aD(#tPf zjPEsn{cEdMEnBsA#kASew{p&fZ)iNd58u$(bLRv10DDe8{p9XGEZ6sIwaBrDv#qe! zTsVz++t8T>flZ7Gwk8~nP0sD}ZYN=fQjtVCwp8G03QyR(BIi=xbdGleEhd3I2%|f@ z+B(|)^b>#a=&O5QJ^1$icmDaGXiGexK|lP#4?z6zJ8%Br)i?g>``^1`*7P49Jou$^ zPJ$qN@Ke!-Jt&R)rm$4#QLY7%PCN0l#2(n8W={|~9;|a9JUA3G6|ZLesqZF{AaC0uTt;(@yN^xpCp$FCTno&%w7|KKP>_K`ie8fgG0) zzKu(pkU~B_-Rt~n#}=JdpdiiPGkiuBFs+w5(E_>AG|56%Z3KA zGc+DKjf0I6`z46?fIZmf(wyt`Gf&^JdE>R$U31_4cQ0GDbjF;Xi^%T_e-sS;8Lcz4-wi|nceOw)hs8rwF!?N2}cm-}CR0p9YSci#H0 z4OKxvFEP)@9P*l zs=K$VuMaLIot_k^@5SUA?FHM16cLyLi-HY0A|aO~OqrwkIv`7mQ81i+8W(Jql2^(B zEjvSr$Z6Ok$zdq^Q4H{BEywbs%%jGQ=-G^!C(?5Re#kYTKSPZBs zum|g4CZ~h@-*|2I6OaAUhyS3Xy&W6yc#cf#g;L16kCikE9X-gA=Tk+yfSNW>0K+ID ziMjA=neBco3`$KWsdHB9~FW@Wn4IUAg44 zZ(WL2=GE&~&YC^lp6_|;>8JMW+k?-Cefx&1@4Rd3WtUzGpLx8#p@Db0_;3%f2YYA+ zK&U4?z(ETpk3f-;V><~*6a)9#1H1}*5Q9{9(DHb{iYvJviatk-%e58Zy_7W6^fYx? zFkBVxXYkxLZZy_XKk|vcdHpR6=m)iMv32H1fQ*+L{ zScBQiue|)Lzw=vdV@I@)8#NwYA>J4;J9ce+Z`eaCOU6~mQ-d%VMjPJ)_9#0CpIQ*l z>C6=?bNLMdxDJC4>@ZyUv?CtFym@wWx9>zsg%rD}zgY+6Q4EP<+tM=?_OL>u-5@i(jl;BHibM3;>QS8h*Eq$ELokQb$SpM!wBh7E83 zosa(6wkIEl`aJyPc z=+Jz~@1Y^(poe?#c#a^Mf*rzhf`E2uk&xgFpF`WB(5l;I|X`?uD9f{3pi5#-Z@C zz@D;O<0g`UXGqw?Z^w@sG0XxU89=}!f)dCf*;Bss_=*(iKiDT1pnV+n;8%BzYj1D= z<^TK}Ctr8@wtahlZ6Ewk|LMFdE_>+*Z(ecd z6ePe}M(Op}wb(q8i0O@Q~ zd(aXQo=n9jiHD6IK4yIH&;8oJKl1BC1=U@Sj#?6H?F-YfQC4pR=f2aAUao3V%P3Il)#0lQYv3cSp< zY~_+~Tz=90Gw)lpWZvxA(;s;h@3BAm^pj6K^Tc<)|Hh_m8|E*ZfAzK3;FBB3VK0&r zeYoo5bFS=SVO*4B2IriMA3E5ZT-3qQ3VVv#SdhI?LFd9aV9JNGV`@qEJWGWH^-+O- zH;K?555tV|{lEGvBe3v;Utb(K9K+HtzW;p_dV4tNFzuK zKC+Ky>~ZLNtZ%8G!PF(WkW0lneGc8nc89Pd#~=pR0IRPUsL zzDWZ|9X4se9&`SGe&g3Ky!gUj`@jc&b^O4@k$k-F-~GXV{SUwMTch!C4<=o3x#4~b zYz%wQ*sQr}ME6z{gt{!Ai?$R?IG*0x1#x1H2ZDl3Aw7r}r?PXCFC_=vt@IHhr5>qp zKZwAEM}TmIE2rKM>hJpIxjl+>mU8|Kke@vbNEq{+K2HD zcH{de4s`Z(1FK*x7#SoDRcg${W|Q{Xt2Zjwg@~v#sTH<8lhnf=A&Rcg5d9tw8RY<* z<}@oo4}G_YJzDR7EDfUa@M)tl87HajkjB zV>|X8*!TF;yKkLx%k6jGal_3wVR;B|3+kyt6%^N+$x+^8rvn5PgQnVyl^Tn~o`|LT z>JY{l4Z$gn5;V+kRSNx39hp2$RE<&}lzV{5bcA>>9|U@y`wQd7^o||dKD-@(F&+R7 z#O>=jY+yWso{S&p82$@~4gCBOhfT2Ec!&^lTBI3mD_blOy*(Ds#U%IGi7LZ%`{nJJ zZ5VGA?BS9RxdtM|qYy>COf8Z^Nx@0H%XnKI(YaW34hztnK1ARFP3#%&*aK}vH)2rf zM$yAzKW$hcoiM)d@WT%~@`%I7;^mUIwh8@xKX=p-M;>+9;S>7sfOFgMc04pg}&CMC40)DYAa8BTO;x9FTquz_SwgzS7gQt>9@LKKJ$$x>cLN@6hq`E)T_?QZ?x z7Lp|PSVtosQbNCT?CrE4iou&({o@8E^i4YI2v{B@(Ke#}u)`-}sbip*&smP|<$GNt zD3dW<3wHgHX|UdEH(mzzOuZY}b3I>u!_(q? zilvJ$$=NqkHP6C19o#t0kG5zvkpnrv2c`|ZO}JD1$zt|St`L-25aeKVMf|uNJfo%8 zCP-eug;tKhn`mTq%qWc0{49PK7v_6A$4%(#ozT|@@8`&Y@e}%c@$uM+cq@f(YIpXg zz2n?)*?oE zGG>Hza~Gc8#xsVH4PFYw;~H>-yE^;(`wko5KcTy8BF??N1ARRcd%Gw0V2%zan=6p& z*?4Z~pj;^(708AQ_USOr5LXza!=%c|jfJy9hi~{OuB|7Td!vG^kiHUB4i@DVp9Kj2 zi92N@xTakCl|PA;JX+v*s{jk-!q_-$o1^h~hpDf>e+<}GVlaJ`y+TTnZT1H`LLQqn zE$|@h0p5@kJ0kW36cJ9OcA!U;%>^G=?-_$v)we?A4Twzcw6}IV_WZ1z{amTnerb$#^?O9Ks~pjD?Nj5;M0%jo_Ite%h>y^CgT^z@7>JtzVzaBEqvgc>fO`Qe??%X(X&_{Mf3k z)3{_Z4~{)Kf`1jM(o~Tg*%AC@MSHr-%Na6JVmMSLsEa-5-7O-XU4PsnBO&bZG?vjp zH>ort8>Mu}NMcU`&`@uFA=Sr!CsYn<5gUu->z1`NFm9SIwV4*S?{FJ@x}HzwpNQU%&RoYvA_)d+_W6->K-< z4!CZ(FDFAt?bn z*ZZ}yT<^Wm_eC{7JM3W{W?Rv2B0acpkkS)?mINa9s0~fn10A$M2dbyQA&+Ry0Ui^I z+@W6np$JZJ{2>Bn&xd0VFrYw1-OadSO$I&=hXa?4EZ;g*y~Q9FrI9P=-#Yf7%-BH5 z&Cjm+Afh>nj(3f2z@GOwG#S%{h@==b_>n-sEoygW$b2|-t8^|SPI1-LM(6;hNN6v1 zrT9b+d>+7$eZQywFuurk}ZyeJg(V6T7kAv*)>I9+-Lm z-S-3AE*L*9G9>^NXFw8sY|1g22*~%FNR%31$|vm1?r6XQ8A_!@~k$k5EQ>dz?nXo zEMpHBsB%Yxjns+q`=!aW!L*X#hCrg#5wHi{ufWLxW|%(XvVAVBHRJEV;gf(pr=E7| zt|uNp|Dp@-x&OY^YgXX-o{gI}@STcX2VOp~|Al>czGuOrc^6!GE0`NP@}e7h$sTVI_INAEdHo0_vt4EE zK`n?d^QMXWK_IMUti{m0V!%qMUydBrZUG2XvMtV;sv$uRYA@K&Dv2293Ir!z_Du~g zQt{z5)99?!<^xiC=t}fH7R;pVwsA(|pok9DF7EoV5+3Bo9)KfZ2W~ZDk0mWNP1pnA zL4cH5FR~u0_7({!YQQ-l4GYb~5o`(D3#VDvN_NFinG%afLPUtyrT56Fyq1kxJd6Y& zg~FS#r|=OyWl2!2vB!;0oN)Cc9^4u#z|xubB#uEALzF_l%{ z?sa013KMax3m!HJ-^cpuamOxSwc^aP&zien9@d)i+kl%kZ{%;}Jo?gWFaGn7elUIJ zeK+5F)7Q>A6VL6ApD=(mYJ3C|6MVQ+UJ1uK9b9#_5Zi)gq><8xOb`%%nu!vHshj8# z)1;_?(mU&6bh3hXoy(hqj?hX#fLh(Na5=4s3oP~qnF zz=rrp4nk(j47to3E3%lRfM)6SR(Pue!S9j9z?L#6YGdF?ZAuqSgjN!;$37Y6$PJ4!dMiag8&@kw8N`9gvaTWx3>qH;q3wGS%QUx>!<-)q%+Jk=n-Q zWi_w_SYFEM9&!Xt8A4ymvbk~yNgcW9ME(H#CmDm#l zV#y^5LK0?-sk8tXv=(QR;mXRZ+Q{-Nf#Qt^<(<|DbIKApi4$uM8k41j+PONAHscbv zVo99H?yLt>CmN%mE8Y?=xy-=FX;>lxa0b^5=Kag>&?MYk5jZ2ZG-_vGXvU-Q1C!wQ z3_JOhlc&v`e(r_mE?l}`@zMoYYc}lJyYJZ@kMDS9|I;&O-amKVgI8U3C4M6ZKZ^|P z!8d$x7NWt&Nf_rqn2985{b5@x0ey~#*5G8OA1i}YF|but&SK~zgaEm+G}l=X>ZMBL zp)OHQ>J3ZD%Uq5#9I+=wmK%i3&IEEmDpaB1X+LIiGPEwX8HK!=z5I$tnhGEd|(>@na$ zG^LI|p_#2|ON!J*2ry|i@PU;W;PG%-T(7mKv#g372|2-7u3ddcEYIvAnWf~;7NMNE zXyxX41ar4!UXBQq1{>8kUi=(wTH>KZN)}O9e3f20yUx2-fT%GbK2tnvk-b=T&SdT- z>Lvj#haw)&y5Y;m~u_0A80rnJ;syEc0%Bf*bT^dwCIt{83Meq{FByS+4 z&vg}JbB!No#u-CiU>M7175OMK%7D;3R$UiYQJ`8uCVzS%vx8=;jiJ4%?YyOi3kFl| zmCIzK@h>(CLXgnnC;|Mc1ZD~Q+uWwCAA`!O)HQ>qL|xuB zVwIQqXoWpga=xTi3VCISeJ!vl3?B2H+9BML_v3yKAc)vAY}m2KeRbi|MHhVIJnXTr zTC;q?g1K9_;n~7%k378hz`iXHZNB2$-@-FLH{Em{{2shkk+Fw!E^e**+%EE9bZ(pd zZN{F|X-P23Kv%Blf8C0G+mcq-g-$?TmvqZqA$>|yE=PrUQAk6UT40YSb3$cOO|t2? zpOwDhJpm1`Cx4adxw3y(% z&{<*$338KBRQirj`hpRkarPOOR}`Ni^vEcj*op2JDnY7|4A}HLYnsaO#zy$5&<%3P z%_;r{$$QB$W2C(aF8@YC$#^RtgJBQX7h-^mgBL$w0wYA&5=3G7HR!QrW?S+BPyjJ( z*2Ev1kl%B|jW;e`vGfaH{v3XjV$Ir>56+!q*z?F^J6?R_K<$*F5-zRv_1*)i#@*TZR)V z-!Gj=^|nAnJtd>Bk2!~8BetT_Oiu}-dMnS}P>6Yi1)jxR4Rr3<;;#$Gqiot37nHTu zV{62yD9k8PJ1#LJ9_eTlTu&=mA|fYP5U|y1FpN1}z4=K~=pjI* z*L%Spv^!%DJU7S#9S++wanOQww=UPl7!zdfL03#8VmY82vsbH28dYc$G8X!%Vzb}V zSRm4KtreN9U9z@A8yvWE2o0^ME8yU&msz5PQL0vy2$w)5-qVD5eelV^@Z|Rtc`L zrcH4bTaA3Ou{vT@V#twqckFsAR412tC9ku=nOx+@XaNt>Xtj@u_fy0kt}D|_1L73q z5U~f7ufq;I3?G+0?etT&Zrgm~Nyp8aHEqq>75SZtU61eH@%YXy4{gG;g-cc}{nnM= z!b`~Td$8OL*uwfU3gAnH$)QU7T&P@}WP)qpPE3Ql-P5DG%{~(CvTA-q_nDwez$goOVc7gs2~yLwjh@Zq^>39 zaU7EBQ4@howi8)&i>*SVv=js7B7Uh@OU}%>7O`iJ5y1(861L#7a)RsCuKcM4tpFt{ zNq=JDl7^QcLfkvYC{-JJu-_oTg#-|=}oinKzkcPb{?^F24-eB+MYJHK+=S00$b=X>VPo3mvr)_Wd* z@^O7btRn@!yWJb)ptCFLWaU|In8RuXv1K}O6;Qx-@5U|I_s;sK9QZqzz+KD}t5WCvxmq(}0|2bSIiyu7-b>D-BXij&rL0G!(Q~xzrQI&Q&xIF{@P0n`*oi&B4efMIJc7>_;#=_#?|k&+GftU3 zf7Z%X%N8u0XW!6x;;AR_T=N@mzK%K9%m-(keA+2^gB^1&6o9~eGCQ!2ok53x3*Z5j zH{aYSE7&75^1H1FN+k^yc@ToU4|yC4dr%!airzAej4B`oSa7L73)?NnC#_K=MyZrN z=Ykf6>)FvRsfp`gLmDq66Afu9Y6}!W;_`u9smU-(^2PtC9h&aSPB!XCZc)A7 zpKgpx!}+P$kjn}w8L~jMIi4aR(ll<+jRUO);;wUxc!Y3C?-m{&Wft%@zfI^n0epwl}i>Zm}hIv_;%Qn zd!BrB*CTh|f9I0rORl})I+S5+&HQaZI65ex0z46WFhckfN8Uc$W-MGEjzxwLoq`t?Wm>k>{2eAJ*I(3rG!7V^eRV2 zmJHXR$MdAo+cMIObQt!ysv@JorDsY+Wlma>Rpx|cmP12Ba^hCEP=YffBDEzWv?7b_ z#vqzvNLuJj-H-1E_B{LC-WzVYe)iniciwXsUL@s0v%O1-ClmEMZ|+}3uLm@- zr?uY$)Ulu$WOC{xdkMz-p>pZ*F8h|mpy1)f%I}HVN?nE?vjKUxzg|a^8F?Y{_U)li zgC8d56u=V{L>}SLE-p?W=!oSHt#;();LYG8y0wBWfh-8~MZGXrv)QPm346S1B+uw+ zA_>=?CK2dNPSETJvMM|zSgo4~Vv620I<6{-F{o!HP3h7k(}+DvhV~}x$?hH6NIWx; zvo#pQ9xl>=Z7gw>s$+KhmQT5?8f$@oqd)W1F!Db*0jb$=E@l%LTE}2EoR< zjAsAmsngI2N26%SrHPF$vY9Jc0SIZ%Wj|F>o^vI?r-Oda!#f^1^PDs9y!Q^gQ!#J; z9DBBK*Y4fBp4|0=AN~{OT(?iX{l;5vg44tI*!f(u5UBhvX`XNqghXeiyt#M`+rCnQ zSKLxCn%}5A6YmNP+W0ts67qdTvLV(F%StN7&t7E8LI~6LY5>#A-dF$Z00Snhs({jFkGzn0DC6jJ@#R3mt1z~n)U0B{_4^AQpTD!EAT#-eZObZ zwvGE=dG4jxUz&Q)9S`q#=&~y=#andvY${#_8;y6u>}4*kHS3)UPO?@}hs!_O zkwZHWctxL$?v8@uy&Kuwa<}6WlCvCz`^gcUz~BxOX^31>uXJ*~z;aBmlA?^>5Ca&ZQX5<%lFkIz zwYg~sky5H^S`tXHXva_gF{Mc?-9<5mAw{FCH|u7EN{ckc4C+-OWJ&!6+%kVf3@AMs zC<_LG?!Y;Tf-uY`vyIlFUPy)TyH4Z;sJ94^wrzWr7U(&qSVf)}Tt)23MU|AK(o$~- z2u~l=s1r@L=spH8X1ZjH0NJ?Q%BZpVpf%MG7+#*h*vnI8pJ0~1Y?78N;Yc_4$a@tv^&zLi9@v`~wdu+Yu@jbgaqAgppE|A^zlq$(mr;9q_&(}5?zAfagzO1xUJ_xjB5uza5qosV<%={h2s5*i zy{5%bm#YY*0bs?*G(8FCjvjz5&>Z3sx+rFENyogRRYI$H>ORd#mQ*Pg^95ISDMclL z)UY_Ga_Iakw8EbHaA-df1(mngh_aF4w<+*3RGB7$#;q+k2L=K47jGh9g1`r(B034$C- zGDbsT)C%X5{WvK0ppaOF3b&XvO89Vrq9j#6N3=*8jh}kF?zTE3ed?*E4#Hj3*ia@! z6$~wPA0;4zv~E;y77+y{hX&_7waIA1b)AwYB&+AQ^l|_U;7OcOonsO7c{zMP3}4xu zh&}f9wu>&gc<1h2mwfY*d#ByKXxZGk^YzWt?K`$Tx$ntsk8QjA{=06y{pO1J^N z)Cg2(Jc2V4q*K2ShCN`6Ei$=@J`_eqhFj7uUTX`Jp~}iy9l7Lle z!l552$w4*w&mLn@GVhcjVh_?M_{mr$@S!IJwHqdjRTey*2{7<5NHzAUIx)ofQNxt>>d z9eV^nFu;F3_MmCzO=N2}@EHpB5PsmQqz~%i)2W?&9jm*uf8u!fJ>R_In;W-m{`BWQ zy>#WGHS3oFXSP4It*z~;eNXLpYUhDh4osW%z{)ktum1KG-94Rnyb$|bSZn6Pg!$EY zTU+LbJmmDy@A(;Ek9TZTe5bun2JgB<+^uW6bh8!@-A0Iqvxh327U2s*g+bVAM zup6SBh3U1BWCas4DhU+Q^0(qv2ffq>aNOo6=(_(CSh; zC+tb1G#GO}hwk^dve}AloO6}^9?rsm1DbOY5D>85!=Do{_!0KtCp++bPkYC(6Hh*A z!{$w=f9;GVD;BL>vv}_O+1vO&*WLqrcRcmzt8cz?*S&W>IB)hfj6*!q4&eH$_`v4+lsH5{i>upP~3YK1Y*YATMLA!zB{X=t}0w)zoH`V4jmA zrH`cf3OGRp@-*zp4+F8q=|CsS2s%aqc-pzzl%IVzJcF8}7tnldnc+N)YdkcGl65A2 zfW&@yyF8{$z>wl+4$um54g#flOY4NRBGqUqr7)?P5TNO#A|v)FOHp9vCktap`c~0N zT)sE#;m^$)XgTw72+Y_6mK4%*Ggh1<1EAHMcaJ@#)txxo63rQq;f+wov4_6~B-f|A za}4|*Vb6$;zxm%ETd;WH72m#M=G+;abIqN#e#2UPGxe!m-+k+Q&%LaVy2TGX0ITv31v@e}< z%EX6sItM0B95%e;oO8dv?UC*HZNS;{X06?@YQe&}>o=~$@3B9+6(7);Gk?w{mw#i; z+EusQas!+m?vfFESOwrm*dy-;6D@8>h2XFlT3l;aj4>=hb zRGS7?;jDP0BwP34)oO~meiXh1ztxP4{B`#bhT1_^vJ4|tl6%uNq-b@%RcFW32oEZk zip04w9+5?YkOuKkSI^RlKpL=Gy<27xU0IIc6*3{L4WkEU3LJb5{#fFIk>_6d*?m;}N5aeoAG0dGZTPMPpJ z7Jd_X;zayZ^x5a0vvKPte7A7<>ZL1JF9r74^F2Es-vQTW=My_`xaoR)SL22ouf90tt|KDA;4nmpErFe2o9nOpuomm!x;x>&YXo8MpM z&*d6}z&;RYv@Rj7A!1KOu2F22TZgzT^@LsIuA@HMQ7=K7i1@6t1);>?r=H7WbhloJ zCnynva+p%q(+nO1ei3TeL(B*vK}#O{)mTLGk)WDSQxSzHaAZ<~crGp2jnJ zOhMEeTa=c%#6XRY zcW7*Ewv{2K^emaEwKn4I9_vH<6!vX7BUQzWLUhx7{)MzWeUM_nP6*bYYLZhrhw2 z)#kX?Twy9+7OgB}P4%jUspY4`^*|b)`Ni)~r7fgV=hVBd9#iyTzE{K~Jd?GdWH;J37b;${lBqf(})kA%0#h2}9%)UhW5Z5 z`7v)MJ&TsaBM-mwDzD)X5gxB)Xp>_E-;=-h%bnMZrZ)$-$4aO@d;r zVh=D0(;Ds@nFFM`RkUlP`6ksUdz&Gx_2y@c5sw4dgEeA*1q<*a>={2{LdS^V#~gdi z+6`+j_{RBn+bAD0_dfH~zNcUP&a2noeEscHZn^aG3wwY&y*+Sw z2xWYa9RS3@4|UM_;nXf3;WFDp_-n|_8QCBq_OQtq8mG|Y6BMFOlpI}CHL9~Njj;C? zM)IS493!>$V?z;W`VFRx{%lH_4YLd`(a@1*TBEJl!Z%VDjvuCU>6|U5FdgP)A%3v5 zil)@sg+Yo1(u7#OBq=_4=7S8jLzkycNG$feWHpez!6=r)W`nkpDTK_bvfxs0NWtSm zX_~t+85)>2=J?i_g8B$$vb;Q=s794$k+@sn2V!t5R?6(nhd0z@M}}BYH9HCivRcsF zZTvhBmwAMdq$Q=C*O-r;CE7%h+OAqGzR;PbSA)6si~ARkEqHYSU0AdX0{+>8E)|xq2~SXD~EkOeu`yc3sNo>$~}fEYcUm z{QU+#*+Xv!xI_Hm8>L3zp< zwey+%d-guR_qHjwJ~(gY4L4rX)6><{(~W;tSb8%Iv_2AKC|3rb07L)hZ$|`XE~_ZJ_^7`3UO_3Iq_98?tWL77St})PEL$- zRc$--Ko8;y46D){WlYRx>|x40mg81TJR5H5To;O0LBj~B4)b&chc)W=lgeK`lmQ+P@T+na}@UGHEXJ7#QNHXjNdtR}* zF=|Q9*r3w+R?#|dyb~c!;yIg=3Y4ge5-fchG{hUxkuX&`WTCiK3V5^KLi|>t(*Ptr zW9-lOq+cqvk1NCJ@z6JZJp7)kul+WDr{aWDj$5)~@zRxxA6z(R<7WIO@*_JR-SyP& zw|@NAoVl}R&U)a=tGfQD7| zmd2P!OB%}Mbi5?D#E*uqH+}#&99c3lMNF89Y4FoqRM9=g#gP?Q>mn`K8+*dFZ%Pj>B5>%C#%!FP>-Ev+d#SFTD2R zp6B*lbN$u$*{<8C+=@9=Pfsr#AArrcZgZj>ct8w>J?;d0!-%s)+ZslzDT4^O<*iEZ zqK3Ne&jUYGTryL_EO84#xty>v zhl)LobFNlwcol#IwN!Q43L+$2sDbxpjBKJCu*dVNI$KxsPOcHTQqR>?OTpM6cYo^G zW78&}NeWo{(bM0Yve`G9hm1Y=V!ZvPsJTA2$Ifr2e(sB(-?U}Z=fC{9yY9Pl{pNL; zbJ_Df`<~zb>UUpTwtCqG7oRtO{v2RWS9dr39y}h6Qt;72yqk(I(95Ty>(c^zB++y( zpyv?SgY<*Q7`M=?RbRK#sTq4>mxk3oN2I$|0t)!eB`y@W5QsrVp`LBp3?zBvvKi;Lv0iEVJb|T)&!T`yC`#QO%N)Aj(}+DNO2Ju5Yy_xt?7=Ntslo@>;73_73D=dd z76UzLi9IPXTj!b-y57m$n@C?PzY00Aqt#Q0@iyid3O62Jl@rM2(=Lp>RClu%@t`v| z*voL0w zZ#wWOvVjVU(~>S_u#1?>BEV)?;K3RLe-X#0Z;FI=&D#TjRxKI_35 zE7vZ6aKRkgW5@U5@jDei{Fi^edGbw@r`&qN$;V^11+>Daf5zgoh1lmxyIgp`f-VnW zExJCSBOrnvJ+=TI;14eRT0414A3I##=p7yjn?RS;Q(DQA{Saw=Yj%T;4;zGR^_e59 znFVgiM3UCz*%%5;NAi(iJvqSGLE?yoXC+FJX2cv|P`-tjC9mQ%*luE@Tv{p88YpJe zR-| zE}^9d+6^B$7TaE^7hh1sqHS8q1*EA!-Wr2QU=OT(IG4w{3Q`MdPdKOSS(p^O)AIH* z*vHZ+gmSziK|PtIXSQDDM}^dNQt{#>7TAK$Ldfl#AfDZ^$9iyGJjrk`@g$=FQ8>a_hJGRio_Z{!&EfC~>?lj2}kJ}3e|_&!_O zl@-h+k=NFQcsF89P*smlhRzCTK(2|>qZp%F(wR&C3B9}o5RC_`&DxX;Y&i;Ij0PVe z3sTZ2crU?<5lcpr4Gm8$4NcIXo+o0-{Xzy{Q(_|J6NGYm%K~qfSwg#nI+7diV#``j z%-Gu(^gIyUZ88{3-%V4!^0Alzn8cUc8EA0k=~t@DY^A?o$Gx#Z2o&Po8VmGDw1P4T zYT#K!cV|j(t~A+1vIB@mR=r`Md}vMst){vz$Hu0SS8@0 zw?u)cbYiSQTq?mC5TVjkMQTXqnV01Q*OlzJL_;b88J#^ZUopDnwC+~UxI1`)R_SAl zN@=JcL}>-m_SF$!1G~w@=z{f(VuSfS7_K94(rpYd)V6dao^@psaO_EO+2o|6s7O^< zMkdMk5AoNH)Cpxsmu2|z+w8X9^USkPz53l(R<2ul|MdHpu3UQcbywj78eQEzd^CtJgK^U3^DNe5hjZt| z;O%nuvs5BR7aEc8GA4yG(n#2_CYPvUP`eA>JGqfCT`)VN86Dz42{JJJQAG{sXi~Y` znenHEJ)!)%BG<9UhQkD7;vr4Y04JvGbWQ007pUW`mLp+N^mPyfLUQONvMh(xOk|X_ zWm2fZV;XxQXHS12+`_S7>^0q`tcxn$m=x%L}5z@BHH-}}_w zC#TJvHf`3lZ(M#cGWGWL!(#&W=&g#h)I(U~ftnn0NRQRi065#2-`K$FkOSYC?s0l3 z)q2SVRw6 zA&t^kObwT@9MP0dh?iI@x1tJrnPMAfBvv7cQGyOm$ut#0f*8m=ZqcAAJ;NS7#HdAT z18YZY)9WNs)rIQBk7Ey)E?_7=z&ozE7>$5*t7)VgvSSm1HzYPn(qO$AN}Z0d6dht` z)$@Xgg~xc7mYJ`_+oc(|U;<}*w3!Xb*b}=9=~as&y;!8@n`rhv8q36C7UU9AE=}Bo zE>=Y`G8k^5^wQ=O@Qjcqf!o}i-VzP8dff{ww7X`lw&yg%8rh? zJ4Bvz_{&@b9t(Zr2ik{seBvKI@xY7+&OYxf{1^`4XW`NXw${A+$;Teu{mAn#?Z7i$$FG6{iEmg|s9S$NY9qD{{IU3PR=L}%f2UZE&@H zO||4So_HukrA3kq^jfNo>KL+RK+80rA{)ULRfrNx6R{J=5?ZjNlq{hr85?={ZXp(( z^@g3=$laN^j;xG0tCm!LnZslXsJeVKVGlq{D@N(@oKJkmE=a`wq*9mCzp?Hy{D9>3^~R#t1H9{;K2%62Y&hp1F~rj*668NNq0=K zZJoMZdPRQBA1$8?>=DC$7V79+2OkU$=~gymywM4C30@BHhAvl#(Il$@d-!Ta4tS-@ zo-OS7+Bsj_`p}k>Pe1Xd$u}-rwRGO%dFwaeor;Ga-Hy*_?0s&}j5#xxty*^7P1j92 z@^F5v8T(xPf*9ZDvNa_=ctjYoc^%lRenc#xr+pfYwi*N95MfNhR<6?9lsGK0bBt^V zX53{}RzG-Tpz1(wg&;oRuqhR*2W9sE5k?iL9ESYTR8 zkpiZ8FCPgaEe2ww-vt3>M2In2`Pf|ZLcpXLE?7-vBBRvVycVy>2{i#a-Z6UkFrWw+ zs~-We$c7atuCQRLx20@bjhkx>gc&wG@Jv9eGz6ENkx3^^nd z2(F%QcmZD(D#J2Z5#x2xz%(iyVlq->rPO7SQUK!|<> z9UZ=1N}Dy><~GAejT?b2FnUFt?W7j{Ps}!&cYLx7{*-(Y$Y7c{x6yfgh>Bx5NCkFc7|- z4|hj%FTBpmA0G`LFr?SlI+${yv#5Bc4yg~aqt{Xks0;O@K@pluh-%oRRtYwcOn2ki zoEYpFGXQwn2|~%ekUd#~0(j(kxZ-%3k%vf^>N1sq;&>!+k#NHU5`#bGmx`oCWbmUZ zqXf;ELLn&4fRm03LI(q%NMzO=?7z|Ege5_n4mUUSQ9#wl5xY^s4piKKJF%-+ITb>(;GWO6P{`jRYP}MRc(Gv+Lun7J~TT9&*(*AIQLr~sggahIEj~D zwQMx1A+W*Qoh;HPdro8>k7au8PB?Gi5T;~_VUrAa5XS;d)Zz;Zt6rK?qXf*_)Y6DO zmYqda$}xSHXOmr`roJxehV%rz7J`ee!j%h9M5;ZD1$Lf9H>ko?3aMVI8(NeACOJBd z>7c7YkC0#^`B2)91Wp_Rdrbb`@lLd;y~HYP2OI6Z(F3xJ$)BN;R=^LTh7X_E^?fjyXZ@n=Q5yZXnEZ)M+WG)B;7?^UlfC4fF9x_LjpVLsA>M>r62xZ5) zhlmXxrk zkb~H0#-2)tz{zI79!Huw(HeUk0OE8z z38rn0gMF@H9UcGph0iZv zwfx3gZp634mMmSkXz_w=e7J9=qV;^XDy^cjK)$^bRDaN3KuR@3BoU z%)A^Ewdjnqqf7E~0=yz79){0QrE(ZVx@E=W)gX!UEg2$Gx*CG8IeG#E6=IQG38k1x%OiHyITGW%NWND+84up;=B{WKlaGC#9W*vKS1UsJ_RKlc@!_z!^X6>c0>9^>N4D)d@a*f~d+qw0u3xip&6U?)i4Vnh_xIX_ zEB(-5gWr?qT;RozLUI9hhP``8)lfpvrU2~P#FP*3q zg1#Mw^<`US#*&F5kG<@fR)FC5;PJvS`1oK?H=ZqQ@96l4&whI5oLMKFasuXDYu2oo^WaR|W8boU z)BYFt;g@o5pL+YEr3-Jq^~S#Oecf1V?&f2OoVV#`kqzU3bU-%+_rZMUjh+v^2f#g- z#~pKREhhn!3)N&~i|7;=Gr4G+2!b|}K!wtg`=Kdu>hSU{qJ@rDB}g%oZkm;29dmY`2x^cEiM`-T^ z8>=F92kbjlCzp;aStt{Fsm&WD+ihelNSNNCg(UpQs#gjoMQgZaPlbS6(F$k?<_USz z5)oRFV-Uqq9JwNA11Ym)5`h@VFxw#O^2BM|3Zqup%K=M(q8I>}$t-;$W0|q-g;id{ zmxu7ZX50MMCRF-fGk>28U&QF^Yik>J{E5e}S-Cp8GC%gtH7S{D1drZx1!Vu9e%L=xX40s z@z$j4k|Uub|1I4rXY@WPrJ+^~344@FdP+yZM#`X))HSIj2=;S0tO6Si%Pf^Rv0GkX zQC&@yR6eR;b-|kfoS5^0nH`tSDuqKI-RmMvZpAa>Q%oq$vzyK)OG0F<5lv*%vWbYX zY8qxK(jdD^s1)nfMZy!S%u?0HzZn^~ldw;R7~?21dL&z`no z)l&RS&X%qChQLJR8o3@UU8TFF z9^3hk<#>UE5U!R=Q@$)%;$0lARnBi!gcF$u?a7*n011uQ<8o+4s0wdIBk|s_$1n(h zL`z3#i9Pt#m$@o@4#%Errr%?~4Y>EYy{Dgj8opb&dhH7Q4xr7scJ6+3|BL(a`&`#t ze+^#gI_LbeM~)rUKVdx9dsvRW$FBD%ggw5cCNBK!4Xwxctw<#C3rL1=Cic*!e9zbe zg~duJgTCY||5sFtQ3ljWXiL{i&8-z6MnwF)QK{YO>L9wdB%ZDY!1Yl2>N`P?@ zKgxiZ$Trgi_)(ckgLstB7%Rt1Q+6*$RrqBtoIL~sOjTz*h@MbRnJi4@AQGJ(Z((>v zA=-I?r-GngKb89uQ-W4oyi&<0mMo1zO18^}h)M~AU%EmnnOa?Id-k;l?aEdac@tVC zKzwRN#vZoUR+4hXCj2aOmqwjHU0#|?M)ejg&9xNXPw;r?Mbgu$`aMI$9zX=V6`&5F z184X>e4neW?W-pqzk2eFyg9eJ*UX-*C%y z-TnMsQusaED+2(PuqQ!KdZ&W^SosB4zx3uBkpx_hgjNm#c9bNKa4AD;MQG965qsoL zSH~eKuewxf4q8OKL?o&}P~=FyX~6v*>a4WIc%zB5W)d2~1VSuJ#_iDT_dqY4jw;3~ zsF<8{8P;j%tJDxR-?M{|%LvxENoPuJpT#Kr3AIQ{>RhQVL|T_wKVfZPEG9k-*h5hu zC&4Vd$=)<%SIO}lvxv64B^(v2e#Vk$NSTa`?*k4hWZaD{a;_S4dCJmV*U&>%RLYeT zt2>HYP?3Dg35W>Gx$sB|vDC50Vq6*|g4jh%_|e3?3J{8~`#rY0!>5=%$b^~Rj)pmx zE&A5yTzKhRNM#o&tN+rU*F&?|JI!GKhjPnyvHRtrFb+ zv%6_=2zr#qf?5Z973yvDhR29#)~uWix#A;pFe!U_H$5)s7M9AS>1(?k0Hfz)06z(P zNaSKcR4%;)X^IkXIwQP+LSbaez$TqS?FjP z6Eo@^=h-_e4H3YbvDiOq$GVF>vd^dXy&TqSys3ebHfR*0n8D8}eHI;fb~^*=bRckT zoz=y1RJ%(u-Wr7VW)703xaCS&uDVDtcziYiRf>mX>K>jP541wfA+%fbv#vV_CBoAy z7tXO0z3(bSBlbADB*MH2*kvp1p@Fwp?}48pp9QWDK8MkVZ-=$DefcX#KfL3ii!ZJuv0Y+wY%t-$|#O*x5aHU}7J>)J*8H_qp)pRJ_t9 znA0W~f1M|<>tw+62GD2I290xichC4x<;B!1oW_MG)7@G)4$-hB@ z7?3h?YYS0mh_d6HILQUFOv{_niyyIxyI^8oQjLyxxPCO#v}* zL-;>$eA~CgY`w>pe7IWN+tWMV=3FNn_vm9guD<@;GiE=qY{eqXxz=;ewf*6(_-5*l ze)7X_UiGahciev4?UQ?Y`S~7vZnd*>G=3(>J{pf72^@zHH;)=OS_tHuTp%2CNZ6G_ zjuUn45gZqSGz;*{!3cF-Qj=!vX~=H+&oPY!8FaGdtQWdu7W0;A z==qikVZWLVsX(UpV17*Cvv~C#m7*y3azdIy?<$c79tnfVi~&`J8Dz;#mWyT%B~6^c zUWM!^nh^c}+$eM+|KZ3Y^4G^`QW9D)Sx?rAa1KdeN@(w_+1!<8l)kTG)}{ugiJm2P znay6x#_pPF*l9oS}nVEX+N51WYcxX(r4!Tb#X##tOn)&oV{=FiTKBag#O zGg0 z8fe9v>!t@*$QvS=tjV4#ReMFb9A(^my{2%_q1dm>L0laQK{STu*mre-E(d%(Kth z`p`B!TX^HG*KOIle&NEo>({SsYkTtP$DerS@!e1D!Z%Z=+;uzNCG8s+-;Lj6@5V}x zmBzK^^a&rjSa#%!i@(i~lVbr@6qtqBvHxatHoHO%8)B?u70*5o+~QJ-R%bXWATR@$ zo<@qpem0nK;88N36a2tX;P<4ANUQ`E4sjXl5?xP&a+0WXfw5$xi9PkAJcjS6<7=rk z?BP5}W|d1uMXJuLP>f%;AOJkXhHP+VSQ&C;zVLyx3+89M7Fnbh0%cnV=Q2vGE~1X; zLa=D~AZ-tY6cEm?H-{|VRl8hb1u-=2sWzm*RA;`>A~g#0Tpy0&f<_t*h(zd>!Uswo zOa>k)GkQmBu`RL30BLaSNeIB_4DGOYN#U*F@xm(hba(Ylnt=D%KmFOytX#9|Yv+FL z{^|FwTfcJg5_~%h*z?e%+g^C(z)P>ac-Z%X|e9Rdi@9FOA#azwy%DCHwN?5L{ zvU7nsO;kpl;xFAKq9@@;dlN%b(n=51E;X`bR8#pwELpoh-gP9x(h=1;V+OS~yDU;V zsc$eC-X_+&k^=W%ya-WeaW2^~lbL@Zqq>p4f?% zApCw8K4;j~%k3>Z56#79D+z_AgCNAiS!g5*%*m9dzm5$~6q2w3$uCIw1wnO zd6^)J1X*8Pm2e9*1O8SHP0F$|0yfa$s*Vb1K_#mM(N#UlH6k7*w2vAw%%BTdghS!% zqc!-cVvi4Uu`SMqSDMTv7#zyi-9&ICOS%jmtTcQ(EPc)gA4GG0QkjMUaz4Bk5iBQT zkBV}BR0xup+4#n}*-l;2AEm^X3!TJsGd+==Gb1&|H?K`jDb>H3igb#Mw zHQ@sG;B7FJfdGuN1?}Yd_M@^q{xH>OfK+dBnbrQJ35W&a}cL01a2xq1U8jZoGq{O1Hy}vk}5`L8ohlE(cV(U zB&fh1tB$Y-e!TE{2{yb#%YZbPvoL5O!I_VQGh+m@(DlJLAF6?Sb{t}JU=tV&tvN&F zCBaOBN_UmU&c-LC&5#ShT0D4*A$3R0Zrq|d@Skf!Fw7rZX(w|s$rCsTkR)Y$` zCW(o+;PQm3`*NzVt&Hy?{+Ft}-X=L2A={ z&0cK5njR4Mzw#!R?RH@+eB5Y!?u+|UICqZg>FS%nJ@(^II`O#!&!2zs`BU$ivS#fH ze7|Syx;6IgFf8`G{^n~lX3x0%if^58@`;^2oxS6G@l4|A?oR&Nmtha#ClhqHj5T2o zy&zk_N>fSl9eguuDBEfW8%r901JcxK@8{aBEZ1xnwFIX4ux4(UfaXg2tPRmi(2NAlU+T z`0?|7429pG{GNJqJO*MhDaGNLD=dUS)~ooS?>16{881PEl~d-bXaYMZrFY(pu=hbr z&=Q7fLp7Vn1!=H~qO@ErVq_DrpGso8OuYvWQfw4yk}ejxYRy60B?qN(bu1B8_XQ43 zuFDC50je%RW0~Q4)1)3=2ncViwZcBsWKx3YJQ%K|Mwx$u4?tIE1<^KTzewXHfZ&%2 z&AQXsaES9Qt`%X6KCKvy9yc1h-oEiYx)V4A?BOC1K6`=HVt#?AyK`XDgyAEG|HWVa z&yAZmU3KkM_yJNpTZs4A*Q{CH*7oSmhhBR9r8nMu?ba!`PMLbg6<1x+)z{P0-#ZSU z9peK&X}xDq?7>fT*!(9Xh@mJj6jh0I4ndH{)I0Oz1Q{rYM(m-Gp|_TjjV)saVWZSv zz^8_;3{FFyKbg;#O_Q7F@kk3S=3J-=a53oRmU`w=l*} zn$X_S{?{M-o6Xy{UUtQ0_(6&_>sA7L)~<)&gLf*PfBC>GZ@e^T-ke#pXWetpUD#a* z{J`(gyv^MmC#rrAziK~n%viP+!3gtiygBCdgsXSs_XJySNtQ%TQ%+8)X+(Zrq-Isg zc+FiFT`MPIPqNE069ztqFxj$3B&2Z-g(@{AfYxA=l5mCaV+vbJY@8s*i+WdtniJ2? zMzRu$v8259x=Q@i8d9V$V^6V%H70Flp>-AJ>m?VZ<-~|F{s9uQGYYK|FzNXJ*?SN0 zI+EjD^dKDM9LSaKb(F1S*|H?tvMjA+ODkDfvSi7+%C_}(jisH_LV9^@v$+hv}r-v1}z4O2#_iVB;RI}-`hSdkQUOT!is277c_x+{q? zI-MpUSbU6EbnM`%9sSNnNL zRb=>rn>`~ne7kg3hMPk9j$fol$W(gCg!^u6%TrOoi`< zJ#G{sB8I$fo}d%~6%Wnu7Me$z27Hucz69yh(U4MYLu-g9o>s7hf~d;8kV6QhR4^z@ z1;RWIq1YoihZbtuf{3^D2YbQ_1{(K z_|VwBZ%0#89oD&cPX*2fgx|u+sfj&Rdk@wen7?3NZeC6{?0X1%GGO9k#2phsQMSH^ zD$1ybe+6w!)gAEBbP}qd(x8NIi6NR!18OMk6mRDx zim4Vk-J`zoc)*xPO;DHBagw3Y&4eS1SJ&mK%)NfPv%1G8SJ%k=8;U&!o6YAa6nord zf$Ve&o)8~@(hA=`9_X5X{L`NdkDOb+dRa-?)|Qrr#-@7KH4mOX27M2XMaJrTbxrm59oxxcA>PZ( zguVw`DKLA(+L=NZ2wGf}U=QoMdCi^m%?5i|GX-=ZfRP{-$6d%{o_nZ;pI|W)_~R(7 z>Hy4xV2{ogZ<%023pf-kXg!f{q{WOX2g3{$0q+8@=q(;CR54G5rRKVHJAbGCJU&Pd zVSrGmVOoudESK0%s2~iR&>C9g(&_C*787SlLTd|8 z3(Ml-I1Jiic+yBGU2`Bd@VPI3p`*JC`kwvOd%L^aYibWL_6(1ny>|QB(8!t1TQ=?3 zwew(YHJtY(LfXNJq@*sQ{aoyfRap>0qofqzS{ZJn91}5IV>;73QGBH7WD=N&{rv#7 z%!?+0=_e)txQuIEyadPQ2~5CJn1MH8p_&R?lqF#A0lNYg`{6GKb=G+X4|vBb)x z|HHc|jN~?+Y!PyYx!h&Fu6DT+TRbD`P}g5WO5xdFSgI0Km?op)q4}u!q9wsA9kFO@ z)Exp7*%#=3r)<4h8FHvngg=o|70MlFzLj7a;v4?1asmbw(`)7nkJlMm3GLZ+b7$Zq9RcjWvf3bpw04d$G=i zLrL$vdUts2EF7jn=-F0LhQ+beOo%>k*-Ube2Ybwf%OH?}922o69^rSngBXTF(kw%C zJ0kKt$;P0sW+l@Pc1ji3UF4*BjVIK%_Q<~HkP0bG8e&8il=wjTxaxz_5xl${nveY? zH2oWRVtRqzl}lFxA6gnB3^0Iv74%=FEHe;8iv|oc_P_*==7}a?93U>)qB#=5Jv4{^ zBTuA;ubIEp+vU_xN-aDnu68EB^%q?8?m2@ zbO1i?=k&7o=JPj-9nQ?c-WLZ>nI=m{O~gmLTeq;&JTQyhK2 z@hNZyV;J~(L)gQhqx3EE4?u{_0kz!28k;m&>i~NeE?PK!?aI8x^GeFL^!9bu)*fVC zGtTFlzIo-=i?_FwZmy}XS+;ToL)8h{j zlA`pWaph*!P`&EO5I;k&kTfQ95MT1Ap(&S690q$d6xN7z9y{Cj z@Rl%_zQ+YTtn%TCQccYj+Ex!^VrfR&C!|#bW=Y?EVpv1Ej;Q4UC|7FhM+oZ~N^=B^ zKvO!;AlL)L2Wd;_>*fj4Aa1Hbn;Zx%+!xKkHAl%`%q#p8Lk#Z- zKM4EqXIVxbjW)T$V2>IvV0Z#Q5kozMMHkw@qh=&;6ni{cpZter0DHdhr7sQ~JyNi- zVBdi~&^7Bl6{m+!j$azbUeeNv(ypHFvWl|IEIu9w*n^#<@Z1xkYX;8PK|zj|b;7rg zc@ykuf+7G(KZ>X5U)?2|s!DU9x{m0FeMKbe6-FXGc~uu9&d7ae|-xZze4A^RRychVT*E3_=i-yKjT zLm(y#SCZ41oDoqh%wj0Tp|IhyOb1C~Pv&7@1MgBWdM{qwfqt1343ekQ3X`W2J)OlM zqL|GRRCE2rREa7hauP@ITpDQZ)E(SXxeH-kZ}DGEhLi&_mD>4_pXPM|1M~A95n7Ex zO7&Otk>8s z6Odg}rZ9e^AoVU+MMIi{KxP%&M2xtDh?w|@=P+aL!tNl%l`B`wnKOGveqIJHtg^!{F=U-f&Fvf+ zM@u{w_SiKw927R9HoDPZ1$i{-c$^W{m`L&>cOBugj6&ybm{iD)Kd6q-NkT@s>T~^f z^Dn^*E-O71$AJb7e|YS_nisth#vZ&2_Q8wjYSRQ425DM$}}^JODA(bYrK43JYqUiWmL-4W_VG*k7r zq9Lk7*dyCRnRLJ&%14tCwY(Sbn3W_2Kkm`ZNTbYs4E%_`$Avv&TNnuZF({pQded+6h1f`Fq2GsAoS2-Ib`1>L5fo7 zLed^8$CtZyl0YaO_AUubw@@0s+~b%q$-Hh7Bf^LshS8kYb*I^H-9Ju^p-+eEZBOK0 z!(Euyedjvs;SM%2jlB={fGJGSMQb@+SIH!}Pej#(ZEJL`s6}|iFsY6>ERO`Bvy|%) zoX5Akt4cI%t0OuqSLSH4WWpJu6>7N{nE=mlmu@m71zws$g$=kXyu;26I4KnQIB&U1 zboC$=XVDg!NHg`F<~vqxUGM5N_jyPxqmq#(;k5%Q4-4O#kj7DC$2l^h7d;aH-e%RI9 zJ!b*V$Z5nGIn~uwtna}Z`}Fn8*Kb`bE-CKn?b%bc56T`sj6EIF740a+rua1Es*fR5 z+b68LgkVo7M}$5x!%;{}39L&)2$;*^FS}#!%`CzTnjId17fiNNzWIrW)tPF}rG|^e z2=Zxn-?`5Gy0D39zMZ)@Zj|1yr_SC?2$f~5W4N0@80KMKy=bCL;7IP#W60E&J4Fp9 z#9eIr=D{8hiKrni3X>6%gCDLxy*7}zvwEQPamhhXAo=p%L5i@uPw>XTk9pT-SG=WK z$}*o6L0RdJGuR`LV+%kw>PY+nvB#tA!M=)|eDdG(v&a4wK2x7~=J5m7`}+HPYwHel z_jCmUhmRf_y)e?%*SUKAnwE~%Rclw#A{UOQ;BBZWFlu&VPZ;dYWN1N=ylc8o z2qo08+hrHQ&*h^{s0QGXt+WJAstf43klK9oiQPDa!5%HUo8b>MB0tVrB%uhFzFhhq zIw6qknqvb0_<#N2D6r?*Cn|SUz*}l`~RGqIEA&%`F@vSuG@Z>LWiTnfa6ZEp*lcP*pLQi)R$CQXP;9^_nTp zDvRVQ{*(GN35(*c`;;6OIAqribn%`=1VaJSd{dSw-EJWA!O5=@i1OjEM-5?KR41MR z_qbs&E`FMsW;Rdv-1mM=U|djKbr*47>D>W17iGBE;u&-kUW zy5@TL4l5`sgkd4@2K&JHU_eZ`ob9B1P6ZbGbzSx3&s0q}8nD5^APMsbXk)m52ZtUb zAT6&1A-N0}dCwYou0Hn=+no%2M6ATew*;|B2jw_z8x6-ho`*7CbrXoM(N_|XlKMkx z=VYbI^5$a=2y`_C=M{$n<{=8A{FS^Crm9>eN&u=VIMEt)5$ou#)<;;%Q!SBFk$HR~ z9j`(%8z+OY2&#yt$rJEC*&~~lO2zO~#yaXx z6~m6wNQsC@WBDiCC&uz>k!d(8EP~w8K;9^X*6-&gg4Lt;vZp1@12>O#w=$m!%yyNQJelmcm#2SgRFCjbu;bvB*VgF zC}*G>Hs*!c+m$yH*c0=`FMqN7a8K#>(ygV%J-wZ9AJ)?g?7`_cW0RxU&sDT#)2_XH zw{9!Vosmb_LwiZpp`;L{v^g`-#=122cqdtQ-Bk-*q(WEl@K852%XwnG>jo7UYuul? zgoF^$va+&(JwX@}y0{>GR*LWza!AGGUHw-A50l${bjRu~YN@L@$p?Q`a7)EW0w-IO z#$B}L9nMf~Kh_M(ix;$QhX<%Juc4oMGZ7Ji{wHn%m8DQTkngd0)1=z!;Oa7NHG838 z6yfu{Jlm91K2m4gF$y8=17LI!>ch|2Lz(l)gPa=6&JvyGn;Z}kys_`{S9%>QIMg~- zPy4NV#pNyJ=71T-JzrI5XmXqF9BTH^`b&Ry@RfI(UF+Wceo3qIHp}# zl%l06+R_D~2OfBG^JyRZ-+t|DIQbY8u1&>7*iZrc9$x3do(lNT7{54LzOw@Rz2+}k z0Pr$6u@?HK89UsjDQVT{P)z4Uz15LLmBX)e*55naE@Bo5PcCWre(s2`FN zfIT3JVv!IQ2z}k=2opES)Dx<=!*#|()*5lr3m_v9 zOM>bb!vg4SxvY^c?g0pMyx5Zh?4j-J8hcdKQmA=o+Qk_tA7tbRQ9FwNKZ-qM-=kTT=M7G)|0~#o zJf(Ys@C1)9BTq4$f=r3-h#nBG&xv_Ubrg4|+@!81!Rv}3H%T8F3C+h;j0d{X6M$h8 z_^e9BxhZ5-LvcKG2e2d&lN&3Eai)4OITpzPSKv}`IHe$I$PW5b3vPxCAneT5CYg!9 zugH^Uf}Xn;L^MZpGI}U=FcI_9G|-O7U(J9s5%U(+;kD!*&nP$VT6I9{z4%9{`TsZe zkomI&E%!LU0}x_ED3!pbk{uVYMj#hKX&e4 zAO9K7slYyV$US{@HsJ9SM@J{lzxc}CvdS`?-!*^HLf{&(2W#_~u9@oru}4wDX{nC6 zTWrxre`(meiB7HlCCa(sA?#0^{1OMpVNBp7O`0AIF8T;qAZK-s{jNcO6Oq5#?^1^P zl3MCt&cCYm_CI>qnXHhr6=!DQS~|HPrt54fi6=Bc<3M~$5hSCt2sn-6I33qN(R_nF zyk``%Fl?gW0JxHTbYiEcR6$gP%HKg{JS0)bN$mW|sjXm-9tU_XEiw_#mOs!&(_m#N ziP22c9WpeXO!WN1JaKZ?q?144F13<~`NJa)wOF52B4Lw07;pSYJGEuO0 zl;+Qz5fc;h{qKKo=={+0^JZ66mSK&(xusG3_Y9xDcxmF|^o7Dr8yZ`h$}20N?1AXR z4pX)7RhD}Mer&PF%(FvddAbcEuSzV-h!`LHTNBQHz4*-VlSQD{I zSCuzCU?NC^rkPhL@`f%c%aso*CF*se3|G&}S?Ffco2m*EQ5Ud9Dvk~%Orby*Kc)!L zjW7Cv%bLOIF@c^Sp@BG>ECrxzhBzfb1|q2}NpqkBYi?)+)3hrEiX~RGAbxMcDyG(* zj(5=_&VdNdt)rTAO+%4Sk)8EeYH g)EeVnscFnCd1e0XqhugHRLTOju(57KoiP| zNV)gF3+I?RBXa-r`md;f8+$}OY~4u+)wPnhbo~|g(ofU#Oy`uOcwUtq4cN|=dJFR??x|uW`27aJxj){%=^k+XaFgUPw!OoEI0zFH&(# zBD_oaSlLn!BR@ta(>hvLL4Cj^Oaaq(l$7S!D30&$4zd$daY8-RkQ3u4lM63m4MEn( zWF4D?U7M07E)fgtZ7#wq66}XkH{w{u5+PiNJh}dq#spner_P!Ktbe6B)}1~B{2@}W zBST`@dj{l1eeJG*^^>}ls||+HHE{-xYA<+68cv+X-+kPLb-)`zd|n8<)W-*a;EZ?l zCIvbe5MW~>#@0u$NACGEXX0GaFa6Dz&J3Sfv3kYMJv+J&b=9af_7i6YfBAp^$Ka`B zCEKhE1wv`%abfj#iv1K<%kN;2j$rDW%>Sy&jE?hfYY7_~;XL(+pb=sgpJp>X<- zun#|H%2|CzQHO;3T~Ig7CGX-cfnGF0lp6X^#5nRrQFYKvLChs1Oeerk^OmW3m9Z_=&jult1Y^_fwckdb>=gXR2~z6}faP@DpjI=8_o9Oug^9 zIGLRrRTgOsi}D$jp3FTNVPJvIb{g(M>ORv)92bsq4J%D37$gy9qg;bMD#Dyk`9N!- zL)ftoSdizU>;YCFBC2A!&v@t|%(=e%z3-ejbFz5r=GM-(wyxF#I3uSIJ~Ymc4`01~ z?aGbm+WMLU)m3vB%*DB+Q1%e&K$ObBGCR%T4E7lKb0Q)AMpFWP3EgS98wtsxy?ek!@zB&<9@;-mGCSf)VE*LE%1%ZD z+7lSmKoqmwiptwHl-%Tr$_mVA4Gx=I?KoaRGAocRj$Ik4u;FWo;332s^)AnVARr=J zfghQUnbB|NJE8Rf7J6H1F_kpOZj_1Jf3o9JG@eMc?LWP)xS>GUw`>ARoJtJok+AQ& z9$NgWIya=tKs5UmYS#l`kLn1En0AXKuEb<5^pNDB)0=q~4PJM^6a1BCT69hX1px{^ zp|MQn zHGn5Go6aRAsVPM6kupuCgrQ7jB@zaEfYQ<+O+wvnMN#~ue$$PnpKmVgF_pLY-L%ne zmx&uz3QZ>DH7T74_<}!=h7a+}`KzX02qhiaMKHsbrDV`}SX=7m$r%ql*n?e&7yyvo zF>4E^Bw(8oG}j3!R2*?V_qD+uscr$t| zE&%l;XUT`+7TH9hZ;J3lKq%p|dodSsvtQvFs#lbR4BoLS!*PsAXgt-pB#1-XQxa$v ztOGj5lq(T*pRDTBYJW;Fp6+;yG)ZQ-P(C_a0v--T9|;6J9FUb2Aa&{GC$vTQ$;roL zXd==ap^QRSO(hfrr92f!Jw-|y^VS1I2(&~mBCosdrWGb4JP-l{PJ5}NLoTioEAWVa zD3}a�A**$e&O@MR6nXA?f*4<%K@>o!iA9E_<|c{EcG|PDaKwiLpn77wCI1=lUPt z`sU#y{d4EN04HG`y=`?(wY<(XdF8@|>B*C4PeATzz_yCD%TqE^)3V?#m28B>aoGK_ z#~up8k|B)=<#g~7PBS1=73~B?G+)f}+!ahGo@02rDwKCT2}p6N7Hf3G_1RN=s`D|u zDkBEnZX(dN8AUVACahs(x>1@ecL5%HT{FHsH;GNeg+1UAk_(-gD*Xl&S@2+ehY|n@ z#)eQp+D?f$660=|OIqaAlRjFZ(vpmI8EOQBC?XE~O$kvX03p2C6Q3N6O^J`AovE;F zq|FI5fb?)7a&Z%6h)X4*;>J&vMhQKHJwPuBY;{C&b@moU4_#!CEBQ#f>^x2LQJhd- z@K1FL7iXF;RWh$|B$Qzkb87yf4azc|bXsRxVMS1iB(RJ2yyE3n{3b8`8iN%QYZ6(R z+xdjcAHV~=5jj#w3gZhk5Rz!1k#@)EQ-zGw{E$m!j<&GI8F#X$@PyQ4Q3a8@S+qVf z?V@!rIcb6pHWs_)pFi>Q@yUrfFU;MtZEJgXYfVFSXD9skj9nOkVIj73tt(tt-&D71 z{VFt(8136E65AP)HH2}$IWi+54codV_*^qv(^mU#YAHYk|?aVHWV(ij3MkOoKGQ9bFC!p&#e8fL&) z3?@OI!&sC+vK=uDa;87ApdckmyC8v4Ks|9fo8}h!C~5v73aI9U0}R4f$8M0g%ge4H z7C~J?5&}R7G;vQ$+0c<*)IqVUd^~j*GkJ-aj`)avk;<#PlY_|$5$PBEPIRR82_`75 z5~0&EGF^eK++~p~B@qtXQ{ZEVEPEtCauMMLa!+h*>_7bAAI=O9!EU)6cFl*ofHUpw zZGph>`5`zhgbSZtdv_IW-mqfL3fa$vMJ~Jz1PjF;R0M+scY#71btE2cs4)Ur*kh+* zPyz4YBEBKm!6Q%#oyx;e-)W5MxPmmKHHue>;5APg`e|RBzjUCw)Atgrim!#n9vV{o z4I_`-=uiCQuHX+m4OSiOj0H8ql>{NkD`<3Th(bl8QcV`f!w*#lN=cQc&j)o2 z@vc>_AvGF>?$vMU&cZ7a@CtQ&0)#3N?=T|C{ELqdb4}TBoI4AqAQY8FlMH;L@r*<( z$^iq5UqZMd7Xot#s(i2GNAb;`_kf~~3#3*p-5Qv#M5Uaa_hsUUQ7;Jc$%UB}QG0#QA zA3aUVW)%$ZAOeX8=mAUu_QVH+ANbP`z!CiV4TXEE_P||Fb=|=Z+EamZDsV;)wv!&L zJ-F}SzLN5-z#gcqX)h_jOJBC!BgLw_dqKE&h}r! zltuhy1}R0HG>kd`9ufjPK`_I>lEyPzigr-SQt8>1k+{MhX^yng)wD1l2hDRvoeb3@$OQ7%R?e95I zTh-AC?7@Z#_=+Dqb#&LhU4Wm$O$AtEmt}U^Q=#EUV-GNn#T`aHRlbY+!j1dT1YleJ zP>4zb4PPz*vM6fOdn5Qxc&bTEQFj2S$)qIsMW8BwTY zYsM~;(Oak$2ZJasz_1uko+BAhia?A1gjSQ?l9i0|=azc%F~YR-Tr@h?odr#R3b=@o z(w&cVnW;Y_CM)})E3TU_@4oK41|E{a9vFLQJG;IZIcOVt4zIC)=X>An?LV}58RlFS zU40$Z^#|KKFy}gR_SDqXOPF?Hb-kvcW^36ND4J;>I~~r2g8`N3W3Y!9mQ_oFjHp@| z?(>d4aA=q>qN23!%+QxSISX|?59y~z7C=Vaht3@-?wbZVgUS%az1TyaH&MQ*+J$x_ zl@ca*S8Krjo*;6DeHSFKlgShJUFNyW`7C5neFRkWBrA-3EaQ)pNpA9r$r+iz_L)XJ z2ecU=$1V533At`^sOn70bTVnQnum{7~Rc0~K|#ZlGPXK`E)B6i3r`p18?dxSOgXVzNTS6YOLXXVsBQ zr{d^i^tzsDk;)nGFfKZGcR?y=)mhY7)imKl{Sz$`I!n{!PDOZwi&yc3KvjqT3ie>H zdk%bP#KipQUw(A_^vR;)jo7f>-qQvXA3hs!;^G*5roQybOV~|uWN=_j!5Xa7XXoYM zJa*cr;nnv*siYhwYU}}H+x*C6@HR%UN5Q(GwBZHSfh@kbUe#1Iuc*#(KX<(%KRgNW z(|eH+Ybt;Uu`NDD)|?A{h35tgq>^?ws?N0XmN~HoT7g@-n@mi^jC)VSB!E$aNGh%b z(9l>Ag187PN=%WTo{2f|0t*nSz!DM#Jg>`7YAJu<&|bvB@{}@^hMcn|nl0*SN-~kD zAfBz@jyQ@Sh}B4gh#fGD2voQ)>>d$n<1Upkx?K@~s9&hgs$5D;`6EDigH8lgs8T3T zj3sUh0TuluED4GJ^da`QTkUH?-VNK=F`^Da(`+wx9v-y{H4+ z`kqj^2U?%J88hPJgJ1a47xo{lD%`jMo>4pdI)FWVM$Yt&>ASyp@xrBvs)JSVqq<DlbG5E2wCn?>l6(uLVEM3gu{A40F3A@w4D)`6QVW09H;`UwG;qKe)ifr{bp z9H+NKNJZ@I4xwqddRCV*v%Th9ysqII8PqF|;6ttPWP+dWN>X~!`nc}io+DiG1c3qd zkkA54mx-PL2r&nSNW_x~ezH?1$K4Xm)isQP2URJkwp2hz(2cZ!$pJDDuhwdya#5T5 zn#s$(Ny}vH_m9`htQ9LF6fr*DmC@uIxZ#osiU39;j&cbCXq>56 zqX2{|!mccFFk6GeIOzG7=z3_K3ajKfY+LyK zfB63Cvu9SXS+%uvb8AQQ!RiC7?-?E&zWMU4qbH6O6>Vr~XAdab9_Zeo zT_-Cm}@J~NDKRz-C{(CC6wX`<0wYTuOq?4D%C#NS)ojqBxv%I0XVd=`{Ie9r5>1o+n zS->s=9==QV5NPgo+1SIoXM-$=B}Z+i`3?6e5CIe*u;F!l!XBPZ(G$WUw#v|(xp+^7 z@-T=US&TiYu>GF#&|82#-~Ik~+dA9lFPy(~_l~CKI;?4R)7gMS!>2|k&%gAGyUp!Q z+qRd@nKu{MgMFl#S(y--NV2l9hf27|<-#7=WeQv-`PdTy{O30zdMN;;LBP_w$UQW! zMf%Y~kCA@JpF1qcfJ_>DAOPjfm>Cxz|M15?iZ%A-t5)pYzo)aSwXVLJ^*w_pkKVX@ z?HB*?%EF}!)~sLi#4}H&rl;oQWs_wPHdFw3-U#+U*F(lzuwjbcUh`Y-Q{c@{0cda` zf?&4g!5*XCF%g<`$r(9}J&<28=YqdxV9&=N`NZJKr?PpxO?C3y;b{Q-vgw}$jHzNBYUNbtgG3U(z%NuWXnCQ{^7^I-1Fw=KEDOg zOo1TwykKneP97kTk$Vi}m<_{qExUq)}1XJNFJ|+KJfPp(`Fa;DCptp@U)7Q-kv}b8f_0w3C8(yPc$>G-}W~>1>)hmRw_a_COl3;m5`vtdz^1ihugyKSAH~-1D<{@7akp_QuBg=9VVRxz3%Q zxP0N}-Rtcgty@dBl$Mv|KQsg20qjY{5_<+_T$pnyyrW_Pf)x0Yi6DDkG1vnrBJ3fz zBL18!a(K{hNpwso|8qG}e@v1eYu z9?~=?CqrP1&K~ny?NcB!C_vZ)jD9DIJHwl zblsxvCddi#SSVE^|9Ff`P*g=m5BRO{DG;3$fTkD_Lec~Wn$mCtk_F+BbrBqBeGd=_ z8@d1>c{69k#KwO6JKwHttef@1td_Q>uI@JMS(i2T^JlQYe&xn=QE}1Ey}O>DKPxkb ze8ofhK?Za}U>aNkagfsoP2sHavBez|CkKtR_>Qv{2H1t0DAx~M%-~Cf&=bFE;Hv6_yJtxzlG*puxmba2=gMfjzl1^I~FS{>QhziE~L8EnBd6|L*qo=EmlFmU|{IOG?P##B^~xXWF|y=G+wXV1MGno8fMtO+!MuI>o+|TC=eTq6NaE)_RhJK z4C0o1NJGqSFC>CE40hszaew*ozdC;E`09dHJ9cgF?dyWRr@0mOJvfncWO8)s>eQyK zo3@pg!nH;w4#-JOChUQ~R5+ezpB&DeRLodFCsndq>f$A>&>Qe4F2UC|M*;)-ZHQV5 z#Ki_^e-uVN#1IL}s*jaDdIg;Kda|{%W!DS@qWxU4F<<-o-%ek<^1{M-8#Wd|*NnZS zjm-@>k9~6V>g{W%&!1kfWC3!{1cNcGO=i1h9{aSmMeFOlzz(}(z0tzxnvKwdC*nKoD_{F6 z&P0Y?^Y$I(*v|#mg?ujQm7778@WrR>^uG_h!hv+W6ztO`}_t(GX-MfV@Q8OhJ{+)%&Y5y1NWDEFz3q6 z&xdW{_x|zwCr+RIws--o~Bxvy^k`6g#)|hDE2fAor7A`E%MRULTZTBhgW~TtK2WRbJ-N<9v^B~wG zbFM&a%s0OEjgx0i{qRRWWPMLF&P3*Y?4uV)@4Rvc>s%0e%C~P@wQgm0UQP-Yx!CO( z-ljmBZEe8FphB}PR7V9qjmxrbrsR|?Dc+xRz1exsuYYt?AT~CJW-+v`jXMo&iSYI= za%O1Ozm%>SK#{6WWrvsf9Nx$Nt#5y`wyyTkM}N}O(*fJUy846dovXP#um{kQluk}~a%aN6C-})ve+ssR|N8TPtEk-8 z)7uHZh3%d2nF_1Ia}(z$rpCK_y0%r6%v~@SP74v>_XimW{Ls0`_r@L|kOzA(`QoYq zd;B@qo1Xjp21GLj;BA>yF3_v!ONKTi9uYkZ_Q=!-(vO-f@sueC`kwf>FMjpQ6IZ6@ zE?&5;vaGAOqoE1@n#s0sd>FpNuHC-6a`lQ$TQ-)Im*nK0fMAcT9T@=#B2WnSuojp#Goq*=+(^x4?D^E^Kihlk z$n%RAl<%zQ>+h*+s)3bHATWMu?A8DLMSFMK&mQ|}Lklf+!DFGCb73#3WJBxt5Trzb z%mC!Z9zsTbBA7&S4`WX-!S@{&5e(=zB5ElR8IICSe`7#gHYPde73#(SSGxFnt@gM)>$GdvE zmakmCXaBBl$UUvtR)PIokb5p)y>#eE-`X{+n_3zg+Zxic(qLOirp@VOTL`CxBt)g5 ze1HlW`q(opff@V>vJQs?i4Z12-{bpCjb5hpTOJVg>tN9ou*A-MMSu z4%jtA?%`<{8TTMR*7nezcIbTY6LJ>;3tuh;G}VwU1|HEh`*zI{!GL}vqLu=2F|1+M z*kk5A_r@Mk63Z%iPHtW>G2t_x|LmFJp~s(ka@U?p*fnE~y|b&G*168z{r4Ad-nmg$ zzODaQe|7!A?7VCUH@v5UPecab&n0 zzu^%xG#V8Z;lKe{reyML*>r$ z(`QcLOl0;Q21WDDmv7y;dvo#9#WnTSE7z?^NJ)UdX0hx^!{MYHXn8#`ktSZD*h5G4 z0F77?uIq@o7}mx7y`&Mre|{sPm;y00=Q7qbCZeSe@~9&L&>(XzBljSZotuX}6<_?D zFO5%5%wM#ivAM3hryYAL+S?}=iT^_w0U6o`opU;{bUxq@;AgwgJZ z&IQs=IP8%L7w#t$4(s^8X4MFv2E?T)g{}u zRR1z_KU84XRT)FPK!)l%4_buMJiOpXm{XFIJ<(P0yqbLHm4UvuoIKld5TxqkAq zpKdKJK613bzM+Qqu}@5nUAlVd*T4St?)|$LESk5qq&PP>8xB($dtlz9E|diL$<2Wp zIxT_K&5&-?rRQ0CE|`Gr_E?sOZph!y6}2quH#{;ZfbHP4galE;GtABCXW4|6F*Nyt zu2<}PV4@7{!JG@~;SYV}FIqd=URW@%>fqk)o(|}H7<)#>&*5yq%U7q0Hg7DeEZecS zk~UPNrRL;jBM+W((ZmY{z+DEF$Fn+n+7*I8WCe-Z0)2x1KK97qK))5yN`bhT7=RAL zk4vGeMm=K=qmOc)D!>D)oYV}mOwP*5fztQmk9_>Zsgny9FDlu#xwEScE}L;IGWJwV zj^2LhRzpkO+JZHQjvU%wvoA9@8?sXtwv!U}kmSRNLmNs_2(X9X#}sWM7A(@Cq=Y>w zLEpY7T6xxQcf?R2$U={2G0BX30SAH~QT(tupkNQw##mzy!~~%4dGV!}make_zP%LZ zRA3`%dk1`IjEtSTdG|(FU&pR}yN(<`Qe3hLmOU&lrOGimqVhorf<3?=1Swh8*_>L? zN<7JCBJ}`#g8rV0h~YrLA<;>JxImCB3B^IOGxH)bL|+6vkVl{s;>}zD9d1qzst&q-SO41ma@8^p!6iKXu}<#~<6itD>i`6Z#(Z*L?BH zESU%F!B+On>`dSn*4W8H2lFlnI{M;rXx61FVi_4y9rT4`+v7>yoD>ZDXXHc*6Z-9l zN(#gT0zqhcc{pQ4!$qJDYS{}GKeEClLJx0W$6>}P$QB1dg6Oa`F1bYj>^{muy_OVeR@2YtysRp>Bqrh!*MTeNyv?(1S=a z5Kscj40i#TFhNY9?W9;^_kD*&CCB=WjvxxeBqfM(PXd5P+xM7=Ots`Lvn{!kE1rzB z+}s>EZGZSvl%($ zw-9qKEM`I3BNHy54gn7V3az9O{4n;&CW;UY!V){cFcnVEBB&4iruYV>K6 zQ@i%=D6J@2wrXh>R@VVJ@YhVh6M{Xg&AvbO0C+?#6pcOQx7nvaWKjSPcwja2y0C|U zhwOV&v$L}k5|bYO%fIYD+W+LUkC$#QIehdGocFYMkpG^sp(}T;j7^OfmlUy6G$aE3*h`NX6p4Xmp(Slqm44Z=xk8mtlWOakz8lM7DM*%2o1bA$@$Ecpw z(mES8i^_)t5B6J_mO=WSKuqkHzxvg|Q^%ip_UGk0%exPCHMG>X(i;2VnZe-;=Sc3^ zzq5RM*_O>@*UVc`fm;~>9-eF|bu+;auVfirbI5Fq9zfR|Obx=_nGZct$EbdTBaQ+I zkX*Ey$AFO9v&m>6@MGp&0z43UGBar>1fc6vpT-({|8sMnDcrQarK6>(t+A%DCJ;D3 zaqi-^sj-XWCEH34R39kcUXIONDG-n6X!J_RC<0ytocHY)ICM!ks;CNKgh>;V=5HyC?x&&izKFf4Tu{Aj~M5AeJO_AoF34Wq7` z{093Jh&T$w#m74*11kB)vF*DL_5ee2^73MN&NX!I?7uwv zOitgra_ZdaWh<8-89Z9Hy&UQ!!5)ZAZ%pnHb7xd4;<~|akWYcAqW}(?FxVrr9VmRv zbsy}3@Pd8pNomRNdGCARJ8Z+IqNU3gwY4|4B9Pp3>fEX6TUTHC<*Nlnh1GR6`wr}f zQ8QM_u*go>qc1AKeL01P=zI82B>O~NH~9_rDG+fKz(SP_cE~&u0TM_AcS41G=zAdd zh`(m&ng@;^nYVCWS=rXk&Q@SgBgs93rw3pCU;jQiJ^8Oc|JUmJ>dmE_G3Vkv6=WR* zT{F$R_)fYcDvRx!L)Nxztq+|fMq59U;j%2^dctpzPl4#7Krk^@&9t0zu;36(U2chl zkq8FO`pU*$(m>#w-}%aA-<#YJ#kxP0|8 zKn~n!V39sKJ%zMBX=z4-O&jSg)DgV1QAgrfV}}toYz$+4?1?Tm^;;W(6bL59LC#^< zg)sC%2*N3{h8~uC-1sANB|@LnRP3pMzUQNV^|3<(ho668?$)xceMfrhn`*o0jGT$7 ziL+zp?!0<;@Z{jCwX2q{T$(p?27m{m4+J1!53+D&&GJmIO^Czjrdf{@$cL!}o(o|z(|NO_26-$<_SPEdmE>hmo1-U0R17}n4YL}Js1I)RS=m;;o5)ovl6egF7z8p9VXz0#k(W#7bA9@ApXuvAME-krmiGv7Zar)7gdnTtlNn zXGYInzk9uMcV+R`O(o@99(wCrU=GBqU5;HdGDDWYJKO*{mh|O7k$K2UX_#UAYwXd- zsD6thjso$)SaH@&cexU2CCL*!*aMjbu1}%w!4mx^{`!-LkMz%)GrM48LEq87w$A33 zR`?Fn<~g}@%t7PGQi5Jh26Dxr$O9z?KT zoxC%Pl@H5Byx|Oo1p0ePqm5Dh_C_29;$naXq1Z!bcDXOiiYV}ei-ewZ`0$~1E*#SL zxzBxObZlh7!uh*)?-)38sHU!}tGfgCJtvQkUKpFcarybVv!I3ExOEe-M^@Kmk&EC< zEhI@@I7ajv6onMP8aqo9E(9_NU?L=jK-+@p4j_Z27OZoT z+>@H}{tvuwwNH zCo1J}U+f_yy2q+Jo=0Iv`AzmI5MdNZOb$K>_6YC@_J~0;L?6gK!Gz$$AN@#Ich}}E zo9pVUX)kGA74NB-x-va={qm)&7t1P2o7)=qRPDhE7rQ(q9~z-^E)jtY*vU`aMaRQJ z4`y3rgy{Rwh%g@Xn-iTBUVLcnUGt+q`$=heX=7_cR&Hi;T2fjj_LGtWL)pxQ z{E#uSw-wqf?qHqEv&>E>_#}{S++SmlFfR0)6O9yr4-Er6X0V$xawH;7Rk5MLnRBta z8FCLu_G##v$457AE?Qr-zOAdZyQiJ!ToV_^E?&NH^X~P<%N7?D6?FD=2qeHGpk^jn3_L9VxUq)}3zPX!jU->+6OF9uw>iQn5KN#oYk{A8VUI!}gFWng z5K|`h6(9J_=RZ3#KJxUeCyO?3IDG6de1|dij82>%I)CQQ%eU4Ptl7AE;}g&PJZENh z8Xpe`6iZG|PRYPMDJd;c0 z1f$+1_h9CgngZ;>!$14;5B4AHpSNi4^Ydo6b~HD&)^~SdjUCv7W04{K6mKo== zPwd#Uqp76{=X0SD9A=6Q?6S&5Ik3)|XIom`gMSSQg~1-)OPcEIdm@Sl{l-Km1>&K= z4ViPj2KKO?7>F@r#tabcYk&9k%hxVL=qan*)<1X{=dpLt`CMZcMy78}-+kpyX~nkX zE0%94D$K%}$QkTAgSAC$*{sbAZEcTW5fCU0_ORUJ+xJ8#ullWyEDFSuulNU$d!Xzw z`W~oy7(&>-C*i{nf241qZ*Ae4EoEC;yIOEgMQ3MQAn@|5cSkRbAi#Og#?8g>*PK5y zAC3p%GZk|#I+m2rRmOt3+BG58&H4`D!E=Eh%g7LmatR6k899-~gMMqGlLE0=Iif8T z1V4_TVN@?#^bjqtNGCksN=-^n$;!{cHuw+x>7O*Ww5(jYVpH*k_D;qg+Q)w8?8)it zm#^KvirH9gLtST27x~ag3@W>3D1O|*gFsGQbQSO<70%62)3mhc>?^<3J_RC)0x4nT zo_k{t$vgm`w6q|+FXv{(#Kk=F$w$r(56_wNeBp+5IHv;o9zG-I46wR+S=MvG!#-0?&W^n78?E6fOR(AE<9YGX`PlCnX17Hv9 zdyGaHt5vWF#Q9v9i@o#R?`rL6-&VeD;i4DX+MAnN>e~2>oS_rr7stB#+PiwYa3(Ua z2Xii16{cpSL)#Mudram^*Bow*9pHoQ9sU_P5yXIgQ=*mvuchtzNU@PWk+QN!&B#(v&7>e18YM<;clizX zDG)If0C-^W>2+a`a+;cwnwtj)%n5(={`a03KDoJU^NN*Ad;7Y&dfMA)jeT@-6#kmA zrK_;0uw?tT((R@2TbPmo)S=@kNbt%5^HS1Me(QIBYv-QI!lHFcmM-k> z?da%gW$Y1O@n_Btm6mO**j2H%Xl+JL24I8C3t3q$@N(m|?>YZKzK|1^xY8 zQOmD>!y|_RJmtdD5eIga>hhM#*aJC*c9C+xRtn$^T%`g!@@J4;^TQ8+WMJUXs#Qxj zZ`s&C&;GYnZfCs({0`DYYW$vSC-9L@O(vlEE zjJH=`&t zH(V2LuPhrF=&Pwa!2X(XD&W}E#K7RduD!c^4|UI;^$ZrX=v>mYv_zx{KAEs5J{bJyUw*9b zNZ-7T&`edvaPT&6;R4yK7s8 zU=OLbMYTgK`YJ99{FtxF{Li0rMGW`(4T)w7B*F)2$R*fgKbGl_-~(2vAiMyIa%arI znaIGNLq`tHnLoR%yyVc~UL4NFzQbB;b@I!w-G%~cNVAb5Yv%9+6+dG;Vd(MvzU%zwx){8d|)E=nVSy8^D z9O@ygv9nz>PA7%BSUNf8?Vd>F8-+y?)h}EgO#<>BF3>rL_rXA|E;Q@BjG=Y^&I~ zWn*bY$$}*d@FI@Mf%^??2a`p5rRlM-$C+~(8*3JTWS2c=VW=tU7|lKAx80{eWKaMH zAY&}w2YcjC7WA-LGtIeDS?-DX*(=yXD7<(9gymKy5CnZ9%5!6Z55o_{=S_n8s2JQV;_!Nj{3ScX#jA#)k zLggNXJ*4?108(n=G&0i3gT5y&?h}tZ0)Nd57SCI=c2!4bOGj5rb4x=YaN*MU_@(g| zU%69WS-ySO_I(HTW@cw$c}t(i?qH8dKiDEl<~%r+-9jDU5LVJK;lf{N6FXPZ*Y`v- z!}@KH7z!l7o0kBNb(c98L5;rTkNCy<9@6;$4uCyz!T7)U@P~R1cduNtymChc4#;U} zs;R4oZQ=OEi7VHyUcY&L`;P53H3y3}ZlK*1;fWS4GGP~|h9B7JKvfKB z31{TQ#>RgBi(j~UbSn zr36Qqck!8``7>rf1@pVV_qMi<_T{Tr0(-i8I}RQ0Zf$7{1V$#thQ~(EPmFEaQVjc^ z!c7G@7%-jOXy9Dr6yT5uID*NJ2UJc_7<2zWI$8U%azq+2Z1Do4a~CI=fo|16->0r$UASa%S!G#A zPuq;Q<|U*gW@KkT^a0*rFR4I|z>J7N<{lP%;A1E;DFMI*&mYm+VSc-P3PcD6$afek zmmR#Zg$~FVY*S-|9z;lDNlQyeg}>%}C|gvqdu;B)xrh3DTiY5N8|wmr zp>xAmZ(aZ8|N7;cb*mOEUGTz^1@PAl6CbF2pk?N58DgXeOJ=%&auT69SHa*ABJu>l z0|TI7N@`4eFhc0>H^Zkuv{E1;IX+o=ETqZTJrIZx$6QboX^`0(epR%-aIjMyu70H$lyR*S6f7INGI?E?16P4;#lVj zCMCY>-S6(~?b=wpv1nr<&Z&Uh)7S)k&xK2q=O)gNOpdHCTw7ecpD36~Hj1ZWbxWnrA`u^7@J=;7Nt=utXFeK^@>X#iu}&QXt67=L|LmdG3il1XHAH zCeL3;otK{vx#zv_`{U!MPRyA%_xU-q;42>3!{>8NUcPks+U1dnb3cFbv7I~0ySmyk zv5^#DgWVLO@^NF20FU0so{*BN&d4!JC`9NaF>Ltq=Uh?BtbVg2iUJ8VrDA1|Y#JrI zVVBSYSTb^tU=P5D=1VCl`S~+|J%93Ne|qNZnWvw9dd}S0*hLDL%{=ECyEuvikw-3! z&RepmzPWzm<_(D{iJ3Xsm~)X24ST}HJ~ZGE5!uU5GTJ%8D_<5IQWP~I;VaEQ8!)1H z&~Hq1Qh@vx>g6p&yaJFO{I)(=KS-EOCum?x7H#A}| z>AA7tsjHVx44vFoSy8aDVEx8*S$X8NkTlMegQe_Y>=9g(JF0=8%Xa?d*&%EKVBF(x zCXG&h^;;b|6o8QP2C#>Xl5sxQ3@mxS=a2rd`%v$SHLEvmDr#$Q()u1?&xNUpv5VuY z3)YQZ7~QdFJKWNzXJL^Gj>BZB3=qVNT$b-JgK=SYk^+NL65ucqX##<`$ms&VB|ZhB zk^<}!#}R!VQ0~F-hr@T+_uy>6_y6gi965P>(eh=LmF0)~dw@MG_Y9soHZpO3V(LQK zj>_&s-3`sP03Nl*PHS9VxyPW6L>ytqj`0K$b1w*MQQ2F5qkRfQ4h51E63JDLUf5z8 zD2&WuBLj&mY~KT8!I;?CPkizbV9(rz^NThXw0AVOwKvN;*X4<;H?QD$z->D!w`|*T zu&yfapdRk3WWWHF%N4Q|Q2S;FG6NR36v1~$9AP&m7Cp{gYk(HAJ7aV{5f%i4EHvjl%k8Ud~ zIdb$c^gS@~;q%z9-MN1H+^LmoSMEKqcYV>i)XcQZT)2yez6Ucl+7M=f!5#q~0U=M- z@Dn>K5`cOB*?RvMrvJ2wZ)pc5cTSJM4R~vjTn#Cr7T{x_0Bv&AIdEE?lx;)7GMloD6o}L$-xL9rzza z5cn~3E`vRYguxzGMZu~%N;}JMwoicwqCi;eQKR0`@luSm!n~mZ@Pj3CXo&N09(!W& z-S7DW?B`mwZuR!cGDtk|p~351I3VZxi#PxC*Z*19P`6~o;un3bCa zu?di4HnfYNLu>C3fIaZtDtkT>eEXhgWLCe;5k&zS&N>JV0R)uLp|J-xH8{kJ6wRV* zCd*{3l4CDvZhSEQ1AqGd%hxWgEm*t0VBL{p{oTDCwRHyrfs50VS8q&1`gvi|{JN&P zXJF?|c7y+uB-ItyxvHc~etc zV{d=Yf!YJ`p)oaa@$!YUqi35t+o~I?pL_mUc+ber%Mqc+K960zHq(ius0{7^I64_Q z%$y5*ynvLxz9;(F)NgSFQUGIJX_mEVGl7tGVUm-TnKdInpJrJ}NxU6`Oan1V%E`@z z>#?`L^X&&~4?aJ4PQ|Xu_MWzemO3C1W6$lEZjDWj?%cn7e@#`<<_#IySm+|Bg_v;J zehWD>+Qe>xtnMo`R4#-_Ji|(VJUQ|4*VrSF6a6Md8wG$U_81S1%Mv^ALGXwqABZ1m zsXqyv%J4+pa4i*SvDpiWrq!DK5AriG*!^06n{*wk-t1X2Kql9H;{*h7H_ zPgvzbxC4+7_@M~w4B-MSFE=(A|MqvktF^21`T29!7p?6Z=;`WfuWcmT!pYH_cdlax z`bgnrf*K;zbB`NlHtG(g@fWfgRyD$)`Y+ zQGom(+q12ZIIu_U__TlmGcVv!R(1}~$a&sU2_<{+i=c zgRw#1e@`TGqu-`zq5%2tNr5{YSj?zH0x`@(;74N)+ZNLDIxA;#;kPh3@ojJay+cR( zm#tX#^fOOlOBcC|Z*B+#P7R%Y@s*b@O;7FKyQj6Yb=STfIHv*<51quW?3$gO6;Sr1 z;1^pMdQit*7t%E)B*)@mG8k|d-oSdDT z8t*X+lhit*7`fB6fX5Lmo*bKgK;)me$UP3eQ4C_0JP;j|+##F+bu!bE<70ih<_Kg)ze!O=0nE7|=m_?hX_rJS ziNl3G1U)z-2Yw54bFio4oqzDIqsNaeT(YR@z}{nn19kN^2djZS6BjRxT^Rr6fBtH1 z!MgQD>z|)DDg17Ka~g?0_rV^8H;h2`f`1va_KT{>|U{t^T6}v**kzC|n2MVc1i_K2tH+-==7y0CX%KxyKTB z!ebBST)-Zjpp~ATm7J0G8^7~gjcqM+UYNUK!+PxJ!d_B{K4jlBG=1&L^z|!S%SyNJ z+P?4L-sJRToRLG@F&KF6BlpN`3lfh9ejuOWOrM~y?1?50_1hY$6oB(%Y}b0db1pdH ziHCtad8n&Vuufn0|)m70;A*Suiw6Q>B_~@veI=$g)b~# zh{;m^Ll32;XQZSds5zIhWd`JV14EFl??E-85{G~3NbL>3T|Nb(hXP3{30SL=ATGmb zRuk?LVFY(bJ-{B)_mJo;Xrc zR=S~h(?37@lbOHq-!ihXj~#vsfjyXc$#R+897w&SfhwYlNts*0fJfQx!-}vv{hq_A2wk%n)5WsV&zkC0IJ%PZ9(}U+H zhA&>8gctdao{m-PR$-9~CtIXvW*S|ynRY!e_NWaYk=h%6yL<{n4+RKk^cgwW(C*sP z4iJ)nwJ^QpEpiW(Hn1+v%+3xbCcWd`@50{ob%kqIuUXO6(>8FluezoRzT&S<-Ff-; zxzXWeD_0DiJylx175*`3nVpqAM&%>$^Pt!R*Yas(eH14Y&bZhGB z)Z%4J8yf2N?cbG^n@L-`GRRlF!5&%X!u^5fTx9l`1oP)e?G3+OJ_VwO0x)V86CWkw z7+J@TgkTT$l48yUxhEa&HQq9FfAzkK%55d3#f{Cio!G}t=Tr=xJI!0VrZ#LUI&tdw zx^=4n8#CYf5Zm{_jRwJw0iFlM9vCzfA@IePfhZ)xOGAUW0Rw=fI{d9Vi?uV5eu z*@vf3*i+Hg-MVQ@QSs)Y_O6!p&KCAtc>U(}vB|NsBSQyjtGW+$!gFd?ZZ@`)%1fbg zkL)Ei_pp0OfjuOE`FlwtmmmF>MGpnAs%55HCSu^no(PG1L4JbGSD169LGFQ_-|zh1 z?;bfm@bjmBj+2j%9Uo|Fs^>Fu22TuLn3{z9u-PxnTDM^>jwa2?CtvZj6~xzTS|G*LjX$Ch{iJob1;96r6w0z0j9 zL1f{x0W-2P0TF-nzW2f}{NiPcckSDCV(2&=XjGHG=E;kbS8iN^_lzBTDtr68fA()b zg|}4bnlal7GvR{G4*TyhcPf^j*mZ$s%Ez8);!eMYCuM`O@V}S8rbVkN^FvmFsXO@}9EF zGQf$@pnfU7+!Gzl>9;bXDFEO}ObQC{C=k-1qi0$) z`Ep?o3~cClz|`FQoY?r-4}R!_r_Y{VykhaDZN*s7YHqD>Y_1CghDU~P-noGlu$2X? zcJA4=rF1KR2cnO%@5#Vw`#t3zN8B-@56eB+c?Oxx$DWAhNWXE>LIEtE3*_J~aTa*g zCJNVtORsfd*2Qb=Fz`tSn83cLs;*{r;o8NkmekZA=<05*qcf3@oj88^>J-lB>O9<4 zb@0HfIkPjeGa&k~+(Son-3xod01ptz%()<_`EpORaHrqSNTz@>-~;wR`bp17&CJY@ z*_OyXM*7jvLmD6ak0}_oW~F6iyzQO8e{y)Jw6d(Kw(9Va-nxbZZ5_>Q-}CA(U%@F| z&%W^7?tObowv_^Spgw-+t#8fB$%WMrAFHg?N61^IbOw0Hg|rcRH1@zpG|mR}u_uxl z(r;VTP=L({mBa(TT)BDKGiT07#5@dEJ-oUViao#!oUaA^$%Kh=diuNm;9ZCN5B>8` z{&`K&+ToEim~*wznaC%HPGQb9cx&9j6|No_Jk-)w&wdN1uTH)4%a_lbJH2Sxq65_jwr?+o zh?SX(T^N9_jFgP@#PpQJ^i()AgzrPRK@CM3nG3S^TP?%^b$slJSXT5K7G)HmHFoF1 zL?|850*$T!j~V_z0GXZPP8++@;L3vLT-Yb^*5CZ^XU9fby4njj7Vh1*bN{~G@SOVp zviII`b{yB4=wNcr2t**5Kro96mTY+?+wZM+9iEfqm1S9$EGtlq0Fg6h29tBnIp>VY zc?L6x3;>Co0RjX`Fo=@1+I@e#?>p69x9`0Jik5!+{+PKvHGQkAE1WuY>g!Y4&Fxpe z{`BIt3zx57YUyaHsjbP%$_SLb!!W=O6$ky!{=wM(FhI}gnHPK1_8yuFAMA4G(t8$} zgu1f3P&oh?P|yRgfx3fBt2?luqH~{8IigrkJO*4qdBH3jtf|1%=KCLf;Ly<{$(iZ# zNpT~i0~2GzV`J#=xqAK5oe%F|df~wEK>uL>bI<)WAShtzie)@~6a(}@cEE$Uov}v^ zzG=M&2!umPy*TmF)#h5L;^@lPBI1A*dk8id!j^5q3T!$msNBO+z)#$Qd6S8Xbk+^X~h%uHU|nHdje`$=LYl%%N$XxQ?N9C_PYp zMDNkqLyJ?-G8CP8+FUZ}dhwN$E5|MlEHn;afJxyET3fo`N4an?o7jU!j-d?czGkQ` zz5%|W5uyIUe(Rrjw>_QUaWHu7kIbX?9VYh0;|nHErpdClncS!ku;%8!c!i;n}S z%DRsS&;ryU0-^e=A5nS)4**1RsTEy8P+|On!-D*S{2qJiu~X+xMJL3@#2=VGG=a_@ z>F+sn{_R`u-$Ki)si_{=^U}swLL;WNo zgu3N$>6643S}C~lL;{Z>{F&kS7dsy-3!yZHN0sdfo9GZ*t_dt=snaKSkLnRgE zrIjUfM-NR*jL10^=w-fm{nE#ue$?90(%9VC)7OiQ!+m^r-*fiz+0&QKUb%U>wWGDRzP7luIG7uz$_De8LWJqe=h*VS6ciOC zrzZ`M4?*u480>R%yL|KVr5l&eUO87$U2*c{$>gL&A0MyfE0zIuFew@r;YVKzY%JJg zb~)J*hxt89^;tv((SwR6$ zKK%BZvI2f zhs(IMp_(PwquN}=9sr;+CIDfMm8DP$2LC3!MlQ zY$?I`qHh>o#)3WTpIHCqnavmo)Kf-{vEwc~4f&v}Xfc(LE3YmNEKCmQJyUfB zR~FQI>Lgre&Zdz<2K7i6%@yAqLx#iZPfbuw!D7{ECWWPnQ>VE(FO7 zvn*V>a&cfWae#wNTpZ4pjLkq1kvWG7e&)d*j8sAY2?-7k4_Wu64Q>Jj=rITfuY2kkkDZC`1oOAg&5yJ9~hrNZ}fTF0S|R8 z3q@jA^Bmy{uZyXWTzPeIU;%Of(|hKtu3zydVEL=93MHJBq95R63?A*naaA_ znZq-f{Nw3M?BTS;K#b4xVk^tMkO(OegLS1aHViUtnBU{;heI`d+`V1H?2AcCU3p!I z9AFi6;ZMK)PBtvBExzvs6GzZL)FJT4-kvVV4N>b2jCoQV2`V>c_B)p zD^H7w1Jcg1={*{6v;|XqsFGN)2a|hb@34U2uuwqJ<4-((`rMi3*5;_Fy*LMPRixOlSf<5+#@)E)|6;D0$ z)a1<6u01>R^0Qxm^Vq;}Z+}1L7GAk__4>^lZ=HF&ys84@Tru%cnAfbZ2YQb>oz#fZ zN$Jt5k7|7ByBGU=yrs?M+CFSCiK#2E3y}k;$Y@dNE*~r8C_CC*#2&jg7xW&?Eer?> z3&GsNRclr?wlwDzKR$;EG00_a(M?#@A@}TPw@@z^ERUh_03-U%vrk1t< ze%Rk5yY(2YBaCy&_F;I$<~rKhhewj$AUU)Hw$xF0~-DduUv~ad~iL@Id^5 zvB?o^6fbiNUw`X$U=Oy@sB5Tc?`W;8F309QYCRW5xKx|V+Sg3@0Ws3q!#g^5Fpb&Y z*UQgG8&3LhVb6k-L05(rCkLFdht=M^Z0IA%K*dKEL&)SnztFHS925G*FF*U%xl?78 z<+%lU*t}&5Ktr6qgir^>o%Z*7yhdg@uO&g>VlI9_Wt!$1sMbjfpx0 z7{l1c-xLA~A=t0k$KBU8&b1)L(Uqyi!vS~ECfJ1{MvY=q>w(6j?zET&dXF;P{wvTQ zdJj(e!x(#WM^kxqWm-M=xGJU(-;(W8dz{*@@}7sew_fV+Z!&jGPNsF0{6{!o(*f z@O-YYQ0eKBeKatwnOm}oGKGPBIjTY-(7mw-_=LeO?Ut1 zzxn0K(OJbk<(mo39WQos-Q@WC?n|0MQEa}09}y*+$g*t2M4)RobN z$pKFu&!y)zv$4f4UTkKFjVi>L!|YH`02E@l<0<-V0{p|m!vP~tJoWhC*g$MT?EdKe zV^gE!Gvhz&JJb6vS{B_}t#p{cH+dmv2k>(*?70Z=u2-19(0|?~xI5e~em%V|F0= zd(g*|nwg%OnRfE6*C!@M`})z>eDTV~TkqYz`|*dZ9qrSz)7g31z5zawOCzvvp)Us5 zg95R*LXE3?`}@O~2UZ|;APiI^qtnMh?*aCpW5~nR-?Jda(Uqyi!+|Ak+$-MUQcF11 zDo)~nInE`g*|6IO?X4i({Z(J{<4>%|mSHvZwV63tvxlb#hx-Nw54yRXzj)!3Pk(Xq z_N|KA>dwC2l(bZ6Gxx1r0hI|ydtskvy?2;&Hk-42fGt7}^(xitq+5jY2JdmXyRc{R z2&pTl3z7rwOJr%d9r&mnE6^_DfD-$grIo`w4ZD4?+&qZehlPblz~!l@p15-5!p!VU zZeiZR!QR2q{{8{%p@IE-&R@E4;^Z6ESjRrtkBNt&*g`|jCH0l%q|Vrb$k?hf(9R^v zf<1T(H3*ydxUgqIilZx2i-!YCJl)U`qIzL9RCRbslJm?6SI?9Ihi=ocQOkZB{i_e)#h3}Lh8!tg5HKv6Nhm;pzK?C;mY|>fBlP3e)(};X+cL{=brt$ z(907U83F7;e-C$SHus8G*rTQosbl~`^I{L?7An2Rg*^*W9$lGQL>vJ2Sei7-j{X+t z7c!h}G=Dhn&%A&=oLI;OS=hfP6jPKRc=&;#iNT!woaD5mqpu$spBd}!#+nMOBE53s z^4SY#W0GR)TI-Y25`u#L!>|e?D99I6e9&cNk3D7r3U%hk9#3{fvCZYeo<$_2uB}ptJ;FEhz?~LPD{oB52jxRiiUw#bqU%wr(Ds z8s)s^LGBfQ>+1E}*Dl?-l$@E8Q<&4%*~Zh51F@}!1tu3F4qjZQfq&lE)r0n* zYG(od9E_)rkC(5vm!FqwJ=cO1M^~m65eGcH*wbTwv9%)x7G+l|iQt5~aZ(`g1AWby zDY*9GwY`Hqd4>5YsmaraCMTw`i3a8tUcP?u-4AYExO%RrqPVf8X<&FTFeJz?2J2^HnG{AALbC=HCx^v_3@wukXmgbJuxP*9M4-FPn zNOzCcd+e}Brdi($dpyxyE%TaPYbq9^G`jM%m^k41J7EvoTmTTXxk53+`GJSl9)0ad zWp!mrYU0$)*vQxbma@CKow<1Wy}P$@Bzr+wVQWX*&Rx53wodrc2z4?S?he?aCsKcg z-h&g7)tU+y_ADkTb>(#-a=_E`chGyF4{?%DAm$c^0ejXyxE9(?Lvuq+e9XW|-_ZC# zS0DPCuiUuw&b!#N`C?4cfy2j-?2nGZSzbJkJ%G(F+;M4D3NdQzf#qI$52pjT^qz$% zh^{;>HV!QD_+79EkfGLdMMN&eh}ff#ufy7P%xlgq% z&7#VZy2g5p!G}eL2ZaW!HkY&B!#-zowJO$mVYgK03)sW04gFo~*cY3my7IfwIN*sk zm(%6Y&7&W+k^+lrF@;A)dU*Lf{p?fY(_>i2UR7Up{LN$7Mq`ls_gubq@$N_OUAcY< zea&6HT^-$>03OT>!e)mU?c&yBXtkMfG7*k**$gxshe0kpVux0lZtWW9T4<8!%Fkls zfQKj53$=h;kF@J5&jD{S3Vsw$pryoFfgB|F$4+2@AtCpzUeVm%goUKJ1vw{PKZ3*9 z5BB4nifh*{-+uSzxl3o0)05_o9d2rE#_%}xo)8?19EACVJRrx4JsRZ10!ZYfW_ttd zkv5l?hil)$#U`t+{4OjGxO;e+>$Etu4TGtBy1uJ1cHB*b;IH)4U}7L_eqoVe*!c9J zbq`L>PG#g~VQ%5^6LTZOeSJJ5=f;gIAN}G(U{6X$^6=;owoOHU5Bi#cI_RqAEINy0U9EL|bfnk4#HO=dqi+ z+c*F8n{S^zvpagn8f&$%+#T=f$@o6=V;OkECa20C;52RN1fD zUhlD{pzN9os|7pvxY}HcQ&e5KUSJ&X!1@HNo8ZYfw*DRsKF)vu7uDwCFgv?#&}|&} z(4!BRRaRu=WG18}jE)T+o}23F>A+gjyLWE9dt>^@Oi6Xw(btY9rX&R6G%uhrVXk zddsEYM|J!V9B`D4oMyxAmi_%hBO(xf&HZZ*&CRrRwWp*fPfd>=J$7hhY)JMF`{X}< zapTU-_|$}nL*oS{`R*R>OIIwz$z1I30s2Uri`XN_ks@Ml-z*ag=fNIyMcJ^&*M&Wc zN={vwU3eS-_NZ!Zcb^w~pl&GOQFl30G;C=&#^@hg|LEbvb7?u5`9-;}zj zd)|Hj&O3K*ow;-lYbx5i+d6vMd@;0zvvqJPAeAON>>&aP@F?t2%8i}gqZXKo-h*bM z3wsuxFuHQIs5tO>u}5YAnb-q8h1w5B%tIr?ffWxv{NRxzM-tPLV-sQy%}rrFS7$f+ znlD_wcBG|*xfz|k9SJG%{z3leoyLBLSdU@!8L2jx=soE4Mr6u-2KE3Y(L!|X znYyUt)RozV$ASMm_VD}~bl0HU7$^}MfxW~0SFc^u)7Q5rdjFn%yH31z_|V*BC&#(2 zzjO0He*GUe-@T63R(D@ld~%#$kYD8TrReX0mV<4406)-vRD%nxy3d0>UeYba{hGa9 zX9F%gadhQq5pm%2Vo!iKw-{q2+kOm)BQ;YMC zyt!)_$GNy~p$mH!k(9c!x)3>lW$bo6JuFzOR8v6iyaEw;~mR}GQe4y;eYAlRe zq3>nIs{0NdJyO$HzkTP{&hFNkx$%Kv>|1#0$|dyo-1*>6Z~wubgPmy^Nq&Jmmy~TT zHoMs6Bk?IXgEoahG}#hWs1Un#O@+*PWP1yPU0zGPeHLPQxbo!Uz+&M5rZroU26k>) zDw~&TOcEW0i@wyD7pE7p$rOmk@Q85S*F11P&cI1YOM%`qGSYWwcA|&#n$KQ1_s+Yw zPMv>d3u!qe#8x#_I>=$zZb8rPf7s8pyt~S?V zkx^GZ7bXWhIb+80LalcI0W_@8{t@s|(|i1}4js0LhzM+aao?(yqZ4BVMfsK0k3iR28hlfJ}3JDA8>g_43 zuE;IQedDdyM#cv*tc86G&!5HdfFJ$hW1Q3u?1_ol>*MDg#{M24P!Q%Qvai{4Sy2ae z=v}}?2cy=pLpgI{&mxgfS2hY2 z-*e^a<@Y~$@6zRq*}2)BU2P2wHGwj@2kW^oA({(G?b}??tgJ@n zGS7oO=x9bCldH|OP({*}uSLQEPajNdcC6q^>9E0%q4e-@WH!5G;~lh?pfE*7M&iEq zp$EDS_Uwt?S6NeW;*FyiWAEl38XtXh7v|`(BW2~KI5a0cJp~F$OTMO7e^I zj=g?#_Sj4}?j`Qqt|=O$;S#>Pemhx^N_N-?h)d!`b$c)S-4CJJ%7q8Ocmw#1~4!^dYwCx>L5>&}NC-2L>E^H(qL*|(>nx*S_N2ZaS8P+&+fI+`UK+x#9K zz18v=*yHMJUdUqU%G)B~0H+qRN%dLSgVvT65R7pyZnx}@S;}ZH-M4z>!0=FeS4VAQ z_2kSL&d6!&ZsWd%7jNFVefh@K+=9H`gWV-%g&|?VA>m;GLBO9N4055@8j-=^0^V5@ zQFbc=Dm(UTMjtdtc45yVkWNfjz2sSyg`na%5f)mx20YNd%|o1Ot~Zswy(l)3Na&_YMmR z@Dt-3$kv;5`9SG0Cim#Yqa0>;>T&kO5SYJ@x4*Z$k83^GVvtT(9v3VJym7!M>OI$L zNz04v8MJp~P)k-;@D&Y@3=Ihl3C1xKuycS4|J<(`Sh4n@2hpRPotIr%U2*KS!)SK( zaKGkv?%aI$gImX6KUQ5=J2*6ynURS(fzW%n1RmYZLH=rh9gQ}Qb2&^b^!K?Z_Q)AI zF6>#bGU>|L;^2U{H)iV@J2e}F?e>#rNw(b_p?>T$&SHJn?^xSk>W=3~US7~W6<~0X}1qTFUgo`n7 zc#C^9b7u~0pkdfe3+69t9Y|ZexV1F4w|D71i$gwLxm>s$@IkxA#2#e_*kDjg87e^P zlwxBgg__e0rN`L+A~ZbQC%|{vie-n7AFZjcOUXzb80j0E8tLhW-h;!~aU}Z(AHAQJ zncmpkSY1;U92zXxgY~3AJShh-W_C9#Wy|bV;xEY1kYlsJ)rCC^R~}tCTRa@_#KycK1kMGvFc^D+)atrf|%Zrb`b{N>x*466fcJ<~Js6N-;xmMdy zS6Nk_lo;#l?;WvpDS{ef?9yMYVgjfj1rD{tB1wzYfe60B9vXlj*SVw%S14UMTNE7N z?ifa0$MSI2bTqTLC#gB%hX^2s$e=D|!HMeVZw?Is_N;y6;m+Qk%$)4({G6$|$(h4g zONutvtvk1GzI*fhm2)^7@W_e7jm`C*K3*ZsDSkP*)}wDhC1__G`AnkBL1%9b9Y?Sq7zm9#Bt$Lc&7B z!Xj5Jt8Hw|FUl{eEEyi_#~vDe+(QHBbKU*;gZDmsFEKr-qqjXXCj&cnV17?vaIk7^ zsk^h@!zqRLYI9Lb!%-GKF1=@=ili%Fi-ZFno}61~wzu~%BG703zGxb6WK%>6M4*OHS7s8dSKAhK_`oP1VreT zS5Qc3_|nMG@KE&klvI?aXQhsg4`Q$Qg9ov1;iapW(cn69@4HPs;-LT zT!+TGd(q~){r)>2eEi~ZS=$dbOd`~188797MfmR5fSK|S#jUW z!^e&mmzOlQHXc4PH!(9lG=g&~Ft_lXJ2x=98M~>Dj1H%yCL@kW?4f~~&D?R7CnKZH zMZ+zdsm`cXUFg;3oFf``adTLU2uQ=}NbGKQVb3BGQdd?NBnOr(!RDh**n^=YR(zx7 zqnDF%sTU0TX0RwCC7=wAH8?y?rnfk zOGoR}^u(*1UV)OcZ23}ZJy;D7?80(Vb4izKUf~X~LE7_NLXHc27Ni)uGPMXf;Kf#cXK@#^q!A@ z`61>tW7c6qV_iW(PIyEJ*TM(md@gLG!96rI{QP$80UWvXo<%64t}HK54xnN4S=ht% zRhElgKG1tG(FfaTU>A)5?ED@W5`;NBIRChyBtJbf`Ow_>+|j9nTvPGJTd&`^eeLb@ zZ(-(7&%y5Yj+U_SAZR?;dxM+*1P5{lF`QE&L+b!J1wVFr4_jAuS`hl0+27;mYI7}6 zfpleS(Qv?<2R=CHJ>K5_UT_qR#{eGc99UMNhNA*~{n%B5h7+(SXz6{+0Y%j{)u&Fq zQBasWK0Wxx$)i0zSW|(%=1+h9$?-RiW#?xNjt$ne)cXbb1czaO-4Fde+&LB6kIe1C zn7swzY*w|DLxB%^ebBYU!dNRsx)_Lb@ ztbh;>R{3Ml90wv}jaFl8Q)xv>b$!*;+|=m!(AfAe_e{MGy$9XRRdtmOE%oWyX@Oy~ zcUVX;Hr`N5kHQ{As?)Jr1nZ3MAL5O#ucsdl^+BgI@W_Qd3sE3ld0I3a;B=XLUsfE@ z*dynXqNRm1)dRwC>O^qhng{MbdHPgtVNPRPZJq z-ObJQFFgNK9I1n;h7uH)qEwUOYNuCbI$H$XK0^;uDgDO}<%QIJJh17k zxAziHFLzHbI3flWueYZU$nt>k;vK_@c#8$FND0P^{ykL)1VSE+2X7w`4=VVGc)bt_ z2&3`BWJ<{ts8JUJBJaG!o8cdJxqQ@xy&plmia`hl%_P#%ApdsiFJ@H;7nMgc25Gq? zFFwdGvj}oPEG}UVQUKxfj7zOVR&+2irpFg3Hg+$ffaD#$vP5x7wj}};4XE~oo56YH zhp8YcIH~~jlmxJg|u^gnY{4v!Pg)2QkVp%_;U=Jl_OsddZVllF1 z4ICIZjjDGDD+!WT)h^Ky+boJN_IJj>Fc=mmX%ago;rN4MM1;g~2|sMne1=UC!yx!a zZp2_-APk1b(P4}k&0&$@Xm-WK9Vn?Ng5EPeGuGMN-rUmQ=62@7+aLYn?(3&stEee& zY^?3*Xj`^?84u?I_Mn>w4K5x^Dr4;Tz#b`huCmY>E>$_^itB2Ibo#$<17_R6)ba(;%dcOb&5x*$xZ{Glie znNzf}d{8}Qt`esVc>3dLSnOO&U{N!vd{A1fHr&ZXWC8>&}Jtqd~J6hrDvy6^faO z(hKrIs@P)oVkBZ%H%K?D7AHnAceY$8yHsAOhv2I+eqLVwo=Aem-x~&C#BBP>6nB4b z2ooL^$b0#DdZMZbN#F@2UW8sMtDmQjAC8~&RPA`62XYGkFm#~-!7zBV8aDb_nOWlj zFL(saf+l1;c!eYw%FEBgj7>#ojl|O@z|+?sT=Gyf_#g>C4|X#E|AlpeQ-~HD2OEs# zr@>E!vRS-Iu!pCa7VL1*K@1DI0U{|y1{YZto=6ngSH_P_17h)#GG)0bCL@DVQo?1T z7?Bo^#9Ig$WALK!^TbSF76j7a1)G;A7=m=Aa};8r%9~MZiK0cM#muHjJm?|0>QeOq zRRu!8*eI(1i3^!xg#?L+PQpQ_fH*;JjILZWGSW?nRlZDD`(Mc&Z*1h43rRU65WPKU zHDL$m@X+A!&}H{6udS~wuP(*8q@z_H077aUQur0ST2Q3k;n6dAu0tdjht7iH1qucW}Ziw6-j z6`7K3RynDYeAL0UMZHqk0}p}p1GPmJqukN`#JUKahoLa~v4o|*${iBQM}8k+@ExPk zq^gf7K*${*ZTgoQ$s|O$Sk(*x7YiI&T0$}fmxl6AKZ<6G5j~-{ijp9?1aA0v6E`IY ze9)7UHQSxBDk9B0q@IFLa!E13nerp-G?9zoppu|qUkPafrRJj_su~ytIu%^ohZTr;32(O%9O7HY0vC_e3<2K?nhu#*7nRIS*ENqDsnkCp)AF7>@cA z=jbz!;3bGPG7FFh02AQCS-lK{YOU~w#mtgGnedwl-3CC8iXt9V%!)P>+NCUj!9YG% zAFENs;LZ?|h?FrMj8qhV_{wq_o=q41NDKG3ArHk)!7z$~+6y%*?HTpmj9{K$jRp?b zgL#2CX#!tSpbkp&&;IZK>)rR>-MD1~hS|raMo+wPOxCfVyL{%#jZ5b)oxw5fWz`kk z{e4e-;VHjBY&joFwJ9*b8)NLBi9J}j#m}sWks?n?0O@BL8Q*-0n&b!;R&*tLegj$A$t?+}??y9CQYQ_j_)r8;l`!Uq@{y{^*i579mO&Ev4$6!RSrAzP z;}`=nhWDfv@esAdF1dvot-c@9PC|oGHJey*nNyUoXf+6l2-wUbE<)1r644QPDAN!! zDoY{>M)vsO6p|ID=({kBB5oJ}1S+VsQ`x>ypH%q_tF|WZh?4Q6N-$l5F3X6Xh2EUL82$N35+o~?Z`e^<*V;Q*Vu+vH{Q5)28j50d+q4 z)koN}IXX5fBRA{N;n}bJ;aAZH!A7eXB;(M!sY)rGN+X@sLS|VmmK#-B!5EYz9(f0g zDDD(CsxTs?aA!575vGtU+Q5$$j>L~4w$>jbD#{v-@dL(^x58Rbw61M!txG!y>a3TLcEv`J*y`U!j2ngDT<^gVTbjkQYHL zBDkYr3}gx}Rt`pKTt@tSB4-$_R5fx2A3_^{2zq7_(6f-LL(_t{60?OBiadV7j7%9B z6#7XC4KjtdYzpBnoS|nZA_^{4tv2em5k%^@$TCu7;R-$QLwsRf#WR>h2Nel@DVjki zC!k<<3yOg0qTuLLUG!sQjVYRShY{O6Ny5TT4+sW=z({#WSc!<~iaXPik0S(`Qbgu6 zD#c18fZ~JYu1JMytV&$CB$P3<%BI9X-YJ=2?9P`-zwMU@4SHndm6{RgBXe_>ue#5} z%k%p``u^bPV07GpyrR5guOAto8kM!AckaH6y~D6uD*Ah>YO9AwhyUq&-$kinA%}^&8Ssg{wCjuEpA&|6;DHH-f#3Z^H*h3j}xU^K77O=*_u!Me(%ON()BR{Jq z@E8eL-m>(h3?1pQ_k*|KhLKHsi>>~#b}}uivA&%r35Oh;iBg(OGfybxO~UH(;*%L% zTNKUm(IEY-#CBg7hE^n~cv#zD<}C>`azz+wB)EZ?jkGMGG)b^X4}zH&^}@`TV!J`1 z)DWHJ-`~O}l2cBZzILPr$;&w{)x1)W;QZEbQF*c4jo9FVIC(+Bv1N|H33)|qKvm-# z^M|;S#4!t4;MoO`2%}6Y84R< zbt5Y;v!tT{~cB8u)>Y0O4gqUQJLu{i3q65zh27*RKSHX+`k`g*FgW8W0OvN$hyD7H1PRwI* z4)vdPVWB%g+PsKp?~PfocbWgui5^{VZ2q16*j|}QDDg4e=kaeNMhhA}o0^`sNC_d& z#w*k+`NZ0BK$;f{dX+cl^b8l4J1T}!r@#<1T5Zw9uu=*V6L_RrkUU}!k}#{4S$p6? z`C)Ketbhc27{vk2LspXcDw*=;{0i>Qj#d`|50xqNj$gS*iDAc&Bm5}radx+J(HV5k zvgx9A8gM}R%uwM-iDoG*D*LQls!o~Es7giAX_u}OwZ>b+tL^8vVvk~l!=1xX%3!<* z!(72Z7}AMY9vO^-N<%|Wo_@2iwBY598)_PAW{=HaDSKBp)>NRg=Rf|}uUoUD5 z&-35!751~;Rm@gD&S_cRf<)>-_I?!cM()gP&O@Xn9%V%k#TJ`qCqK4VW}-@140q+< zDHnn(M(u=8VYN-HtRku7H;TYaMY$XKwNM2YXTu0hFc9+QuhuF~@jxCj??$=nwx{vI zMuI}5Eei~5W>&=@DVp)zTko+Zssl<`o9tQLKhrKmN&RLUheJAOI5}dE!b|Jj*$*Pp zOqEC-Z{z@xhLIyGjak7!kU1%_?;EeD{0*JTf`5Yv0b4^fb&M!~r?evlG1sJKfxFzIy|D z&zo<*S=U$#Z0a58u5YgU^4GqCZtCE$5Uk``IY?Aj-!L)9dTfN323(6iH}LfQFr@}pCk z-=h3G<${t;6~t1#tdgVbO0F$_w11mLa&07nP!=ZWh9Pt#ql!pW(oAr~9?>BLNTjz$ zb4=x3`hh?yFDnCdIq3o+wI=iqiNF?oJH7V)I2M2pbCI&~x z260ZsJ6AEq=fh9#)-+b*z^>kb-jZ$H1?J~&Fsx!pnXB|=@>Y>7&6ikk^J zs{CCYpKAkC_KPnSc$SM4r$w_eL0vCSRJTWVWmK@WfLg}hwi$uqU z7|0J*-I)+s;Uu>7!L$?t$)p3Fs9A}%Y{0^CACqIKRT8NRE|jTWSCbFwtwAc%Vfvtt z-zaDv?C6!D3x#1O4a_@?ezYWEc_kjG2iU8s)=&<1<(ZNDd1HGStP}9WBmgsy+9Km+ z1_DW232dDIQgv6o(_J|rh^2?T5?kaYNB!i9HOT0=kPcL`Ky_uXXM^wqQDm|GAH*JK zz_GXxdyo_8gMvM{2Se+H3sWu?#O`jXA4<^d-rnoMDU=;lPzp`@EHM}qTU=C%AkSj4 zzNVeEOOn&DBwsOmZ%*_Wc`@BB!)vyHpa&_dOVNfAD9$&MIs|t(A|tfmVpSGoGD6sX zSdlHP<`A;H)DR1cs?(Y(?O(YV6+)^7bbfhjf}+VBlA>OzvSg}cvwVwe3{+t`8P6a4 zPaz248J+wrp}h)@}lOp#@fc3zTty^{kMPZ?zLq3eajIU zSF}s4`VNa$fUJe7>}C$_eigS2Cr9jomIR?QFvT~;uV^*NaB!Aatb$tTSV6@TBQ%Y! z<%mc7l>AE7H0!16a0nx#11pVpYzvDT2qd^ z=}WqPG#U_rm~;L5ceNmf`LPGY=4}Ec`WH7o zUtU$dCu&bdP8!Z7ojW=sduUv~arwfPvvbF1503O>9IUdYyz5}+)a+ztZU(-oSYHtm z5`y^jWx$-dzJjWc4DBlo@H4PSXGvM0G(u5S7=Tc)=+dU;9+$=pZMla>duNBp*-%1? zHu?ID6zw8HJVxa(sI}HtRdMZdAuTey7}SFkJr1En_MO6!V8bZ-6%)*`#w)Pb2uT?Q zo#vw%A5fS_$6% z^Y_2kH`upr*OrW&^qBaVf|5cEWwrOTVc$ZT-*f5u#p}1OoH%*BrnzopVz{}zDLy$4 zcdWAb#-IHc4-b!JOP3)=?0`u40p!S3LnNrF`CYNckOIg8$W-#H%hs$Xj=xH9tap_7 zZ#A}Pb)`3om6Zk(jmdtFDb4$=gVO>@n`d5*qRlQv=cw%BF=zl8%AhvTI6?-KGpRLt z&a8D&azXvT6j`P^uYkgju6e57SkqGQV~ts*Yx)!#BnB!ymZ+GtX{ z6c3f!D~_`Mmv6n#UW|NZeBVn)4}{@@2t(E zuH*Nz7{DW(!q^rJx_rVTmj;K1;B1P%!Tz59-kiLwvdU5@J!x5KZJjL>Gh-O%k}-C6 zH2>m**<**Wa}P$^lhP8S)f6qM$9c)BlNwn9J$ea_s7Okoc@mCQ?Hk5+xO zIM^&^-t;fJ%ru06ovi!T8mZXsbk{*_7PFav817~4VwP0QVl{w=y-n8CmE9?Is{=BE zM^#gu(}nwIT~291-fcNjb^0FIWAi4+$5f=ch`Vlo+0v&po3&F}P{}m*z)nYws2CTL zWng;>bqvZ~1qbk8<%5n&RbuVaW-*Ig$vXubb=uO*vH7&pXsUAP@X{sX`T;z zm^-PRT!ABLS>w0n9kDsUCtb{ffL$5o!W6Bk3u9fD+1IKgz6%?A?CGLEMLKdS+M^SE6O10`r*HMn5+ZUpcVT~3AEmEx%JE~CD zXjSCO1)+?5BLx2lkD4Acl(-99j8LM!sCwopO(s?&d!s>x7UG$~4U9~Iw{TRL>WTGY zhJlMj3IF)K+0*P0xqbxG*le>04CdYWvXUon;mw2})_)ZOj@HuG3iEG{c)ZfmWotLg3QUcNjc zEIefCvPj5@UqB%C6)ZGBU4C`W4vr>@uCgi zV=l|Igi@78{D8)J#m$f-v(`f1t!XJ8Na`DNsV}BwewCF)g|g;lo&=R>ODrl~)n#Qc zU&Zbu{>EF2JC;y^Z@Q+EW;0Grp>rtnV`K9|8Z7ypFNi4*meiFuC0DQ`%Nhm{o7HGe z8c8}vA|G?BtP-Wo#*z#qNc?sL^T9D5lSrG#d;775wfa|f>s!N)1r^2z#H7qQ*l%~y z)lgfYofv?G-d3#tHc#_o9hM8FW9<5%_I?mQnp;}Y;dX(*9wHAQfv7+r2ndW^wiN3j zg2RHaPtV}UP;_ieV@ng}_h58AJu9QKrUJ8g21feECI<%wd)?eFU%&L;hj%VryI5FW zTv=P)(cRVCf3U2gJUK08Z`8iGPM?g4*#`}3`SN9 zXem|%aQuarP$>X|RN)8NQ43S?+5jc-r@Yz%7~%MXI4A;^N@GQl|MS>`QZN(_gD9)` zD<`Xq*iG!QRdkaRMjZTc3T1g`SebV+&8)k>lf@_zQ(tuEBq>psbNtRUX&3DoSuxE$ z<58Y_KhlN&EvhWM|;*56-qzS;&f4x@F^hkkzwj*)TqpK%>uHxs2FS>ObXc-Vgnw| zZF5S?60I4blOGvC`hBqn2`M>2IcnfhEhZbP-6JDT6xlndjN7~M$%!F`i`A#2JkJ-( z>R;JEE0nYEd%7434NCbQ2IYn7iSWt;QHS3k(^d{H$ELEI1fPehK{X)KW?{ z5y;Z@Y|X$u88z<=xD-2L*q1?3#Ed(L3UV;m{ zSSeCIRojY@+h5v+L6k_+X6H{ie6G91@cUp7anv-s{lDwjgR$PyEZqMN(x<>`~g!Z$%*1bm{Je2I3vy?}-_lSg*b`V(E&dZk}!!8OMq( z8~_*-7hPOh3{z26aUkvhHcTxlE!newUwTf)$i&dx(dn_VAvZVl^nCE~``D~GyD+c4 zyA#7=l{Hl`71fow1^JC_O=Z=kz@CHsJ?qvz4ER~Gaz#LJ2y%n*H1s`VcOL_Nte9ik zH5-{@%f-s?d`UqO4(OLs?2J9AH=2>G3ijB8SAZE6vBnELDoui)d|VQRvT73WsO>s9 zEXrMZ)_3J@yi%2z;BnVMB39=m?2sSu}GO&l#35BMt*?`2M zk66*_oR$nHFq9dCb6U<6I%nL-om2etg#AoE&U%l^5z$2%hx`iJ^U$mrt7+BUKiWn6 z(UEJ5)sM4Xd(#$YKh7?oQWL5IqVVm#v6|Q$RvUYxOG;Z1hpL)D8deq_>tN_T8nhfD zkpOJn;1VT+H#EC|J#fH2@Bp5OXPZqNR~7qAyIfG0Nbz}6j`w{6=J7ayBnkoWWF zpZm@~{g2kR*0#=0jAjjv4-Ad=A3TWjxh`BjfA!|oYwuiZYH!Ic%+D>zt*Wc;KG+Qq z>g?&Ps;_D3ZpD~aRZTgz8vEuq{|M_xB9<)+3JGB?moYE2tpp9_F1Vp6#a;0W)zpD= zs^Z#nbDk$>>_L$Lve6X>wz0nzCBqURbSMTBV5Cr_l_YOjAoyl;G>w-qnIT971LATZ zPuy%b_<>QG(yl6ZMh!MoM-nPRctiBKls8zk3u6F@4lE(fMx{aR;h>>-Q9vo03S7)u zWymAdJ{yFnfjh=-cNw9?4Mb4lIIEL;0~&@~41=lgf%l|SXcoIAMKzA8vET4&pOjhY zjj-%Wu=BtN@Eo54hrBqCMxp3!4556obM)~lusiD3jy;55I3uMFbPGa9oWFhkXkc! z5TS_CclNK^8=WGu1Q`%vkWJ&kD>Fan2jV{8G)8B%01c}+F7&sc!v+03kVTwB5gHMJ z1*2{rZh!jc-#mT(Eo@7;ZRggK^5PAfUcu?=(J@g8NeKl-1+{fGo3?B^5Fgv!*EKmi zJ~2Jk-HUbXciw;R)}7lIE?;bF;d0ZG%A$eMzTxqq+@f5Z*i}|hhSjGf6=hh4Iyx~t zK0W%yuRIIw2fG4=MMhx94vskn`l7)HJIDuR-~cQtXDUO;q9a>O{%B^tc5UCl+O-XT*nkY2P zBQ9M|5*wdYp(rf0q|bCfk<5ElDN@SSWqQ+3hPy;%dX|{YPboZ@fk=Tw?SMTFxo7f< zHl1I)DvmNW#mPvW{#8|!4F+v*$uTpV%7f5=>S$h?Hmk*qmcMX!<}=wYG%24ttPZGM z94xBV7)8MnW#n{}O+;}AD&X(}+~J5+4F3RM%Y{@dPli>I${_ssaNAXqtr%wxf!PwG zyBtf*SvAmc7zu9RqZbsOFsxILL^XF?;`Y@)`h$VNfq}vPmtKBx_wHTs@o{kpahbW< zsTpZG`MGFB0YF}P^_7^U0~t9P6O*HdkInTCV}8%g+wc71SHC=b>?Hrnrk8RGvSImu{_d{jU+lJ5 zI=GV`iN~&TJ9#l2Ajh^>Iznx+y)$zv0T9M8mf$vynW1bh#Dw31J=6@i(9+NqpwOrw z93GGhu^Kj2LB#{~6>-Nq8r&%Qf<0!PHbWVKS!qnG{F>4wOL!9m*U7!XBxLc|jn+nD_5yXN$DrJ*nhyTqoop)~?J#lPcc(A#> z8Tt*@nqm*b^6D})wJ;s1sI<7Sv?w7tKEEh0Gbf|2q2|i!$LwM zd~ud3I)H-E4K2#ALw+4(P&lA?Z}N-34mH5~igpo3L##wt=)!WcU1oWbp{5dShUSCMI`5Vse-~?%bg`%!>Uk6hlDHhDv{gnhGYs{(*yM&mb1Pr@jAO{ z7X~q+QWyc5HNK0AREQgdCn$lp5XoNzs3z4kT(0gzo1HX4rN7&@$w~zc6 znMYil>A@Ijk&6#v zLpjH(Gbj}vVgL$Bq|>E&GEcP38ZU=H$PIB_B_VmI7s=zik?7zKvWO5?RKQ!tjC=;* z7zDn;g|LbS8yTjOq_rh&0jOB*#29;{M1?&%?9{h)`tHP!t?{e6Q6v3D32mBL_`RUlAlWpR8;-1O`WCJVK7 zws&@Q)Ya8CH8-@kH~-PszX}D&!_zY~G#q;)V$Bx_)SQDIn28I7gE@u~iKX3gDXyEv zPDZMi%H6n287kzk3XzIdp^dsL(PJoy37=u@ZBdCzRpU)PB6X`+>Ue-U*4R`LqbymRVo0_y2(_0< zK+6dV#)5L7PH0#NHZDSy|KgXP-nMO1V^dvMS8LS%o!fV8E-o!O5F1liTv$|6l$)QM zk(s_HY9B_-_w3(`0rms&oYb6@p3u-(d-(7SCijd^;!NagH?9MIE?vEhjp93dJFuAs z8eA!v$=JmQ%`50Yma&l5-Re57mZCyjv*6kY~ee?m4gA0U) zM?_#03|&!*d=O4mP0k9#oB;GrK{FQ2g-EmQ2%}idkDroF7Wq7vTEwAxJbCa5&vWG7 z)QYM2oGXJa9K@6EfVL#gbO}A1`UiI7qY}$ zshq(sF+)Jje9@xfbci305`hXJ4=QGLCoe^=db{PTb z)pTTo#k7-fNFsV0amESwOeXU#C5imVw}iZBKGh}QXL(dqC=Mt)(_#{YJ8vA;$?gg; zpNFNPXA4Q-(HG}<%E2l?J4@MtHba^aiDDw3!A3C5j9qh=e&jMU$CSkoU+JG!OzsR% zkzjwlq6$KVgCmi5u+?nNsD_DzQHd#5Gvg{Dd|Py)$_01CjX%+QkZWegtkNnHpgIO%*x`#;E?&HPDLX$m zB_p}MxxTrr31@W;jSpcDLu}$)-&8j++z%{6WZiwenc0~*VlcljFE&1Ud~#%XY@nvL zy|lBcITsKd&y0BArs-V16F)_)Or&|?*V{vjNmA^C&KhtovBDh%&J^2k9- z1IoiNbR+-xhNaFs3LpTjTNxFks2WD0WFrH7D-j4Ch#cuL9Q4NsU_7&$gqgGvmMBHOcbfG79xISQ5okE zuyjY@0CY-V{)7+oYHqwA!1g_BKmS!E@F@bvN#>YbDh(+dV$JxO1TF9k0%+kQhbK@3 z5(8p3C}Dj>8w^Q{f26=mJo7{0kJ+RW3U}}bsK72=`= z;>y%uAzzy-ReoNC6g#&jqXfW2sZyIm_T@vsCgrEz7gfWN` zCLdQ;3Zk7KB5r}MznWwa2gd4Lp`R(E=3XUpEmkDTwM@~t^*BYyd@Qz?Y zqsM;fEb9?PiIrIZGW3mTd1MD7$DkDtiN_$bue%4%fad{saAaCIu8rrxd*O~Fjc|8c zvIOl}ob^r%eBzb2rYlzCgtiHxF@yH{&fHK`z`q+|ejd?E)1B(Sn&qcuJ#K5#C76c;gA4n=~sYPvi`& zz=bV`g;c|<wVWCexyeLD97qP;@^hGi)vEji;g?$$WC*f!p1D-uuM#>R6a>pYs zxPU)kEs7sAhgojUig zUA=z&x@Vqw;@^JsFJ%>l**R%g0E%k9anptaaj`FNcxC6F-I%tF9-XKI(OY+H(>=?; zo1eegK?G!_6+y-#OI812h%=ZU z&EQZDkzz>+B1dc?_#E<^?T;9sa4cOK9u^iHxfF*h1&4+PtyqBxU7`Fw1_gxU@PUA$felMI4mGIG~j`URzLK}1NiVDPeK5s^#7?_0GT5n{MEEHnsymM@FEZ&_q$V8F77&=o6|u2>$idew>t z)~<#f-`$lfSD?QkA~Fni5U_mtQc%8f^@>NHdh6)VG5ty#8u?eaBiS1w;3xo-V~YaUp=Y(?b#53FAMz?vtYdg2RTczV^U6``TQ ztJmDOcJ1m%9({2AV~;%g=);H&QQiN*s#R-Ot-62ZLl3Qac-;et1eCA7|GozwzJJ}i zhn{%yv2~9=jCj`EziRcGmFw3(x_Zs(HEUNr_V~I7AG&}21x& zpI-m)qlo#@`|n@#(8CWs`q=tat5-hw;M%92e*6p1KK;xWo_h4LN1lA@u`hq+*>#UT z1RDP6kH7YZfAj~>JoDtb^$)LkaP`CMAO89`zy92i8CF=r{iC8|xllhaJ@) zdF&CqdgQT(LCh0RuK&ZYfAuSW@WscTSciC?`r^~~KeXm6U;FYO|H&VJ;mcq6@>jp~ z)vtZ|i(mf2SHAkCul&K6)<3@PNhbZ&)6YEl_!H|v>Nmdmb$IyZpMCu={`$Xec=e?N zar?{43)?!Ivh&hw>#Fh#a`x@totPBY*j%5Ln+=26%4iG4#K)pj2MsP@3{Yajrj3A( zuHJ6o2CxDPwBi!u;f{R^KkhM`no|TOkZDD zZB0dLNc4;M+kf|ypZw@A{^HNS_3gj^?mz#J@BGuZ!HK{6>;L}4AASGdfBb`={p`p8 z`h)L%?|a|*(T{)dlb`?iTi^MIZ~qe_`Nx-Ee*XCvfBy2OmtT14`R8Bw*@lfTZQi=^ z+yD4?FTMQyORqftFaP@8fBF7*5gap}e)N-n`-gA+?Z5x{hf&dcH*eYa_uu-PfBeor zy!^`ZFTV8LbI)8-9n>4_=Hu_?)MufF=yw(T2ZcBUjB$jnSiOpM;Q zZ#zsvQcO*KMOJodd}4I;fxUb7ZU=3t$?+*kh$IPx1*)>MQqxl7(^BI~igV)Qqjv4u zf)S0H>XOuyIK-Koo1U5yo0*kTRFYRxnuiP)mts&Ov8XJ+qo=K~BtNe>x1qHTAEo@l z?5wQhvawL(;1%i<=s%)6(J( z9N3H0o0@Bq5@TWy?9I>1fS;=B@~Y~x+`O!;?DVqo;=1~3SW?rHii-0Q72-)rODHVP z-XFa?H9euGt^z^Y+8Z*n5~C07DlN}zZmtCx>FJ53<>(B}MAGHu#cAoug@w7z%?-7+ zl^Gc+_-t0!V3;L8CpQzXYU?V{1DaEqgKXv%WG1D=6&B~VcQ(~EROS_AFCkf%4+bhc4Tbu$nit19Zi+hrS09V9o;SIIceBpapv$e zSU!ZVrn*XOHB{43Jvlx8#+xV5{f(qMI$Mq%pBo+>fXFnr)b||hn3x>F9*rn}?2g~n z+cA6e(BMcvP6#S2$|ph<6;jK6&G}Lw5Fyc_4alR4)!)QR@c^6l$7N6_O$nO zx0O^Drsbs;l;@4jj`oioOwCQMs;_A4Xo3n|RbATLTG!N42YS$kMqTXf?W`y-j)~q| zUtd#NS`5?JSXWe(-`rH+*Vj{7Q93$0l$n`^LDb=)fg?v|(bgZI7%eL+j*X2O9UCq# zE!r0q-QL+bJUY5(|Ni*Iq?-Dw?3|>+qO8*L{Dj1)n!3`O+VZyc=DK=HdQ|kDqQX3E z;9FQ-v^REdVR=DCU3q3fWseLNWU zf*p;rNmeUf9ZTmR>t`BWM@woCM04VJG7kH zBXfuk4K8#vZ{E5Y%fgykn#Lx_p&r3e<|4KNnaZjvY8q-=I@++`Pj+5bLSkG^T}@JI zGSbY-&4T8%bI;D*d-s%AR+d*)b#!&+737z&V=1@35rW^Co1atHP>XcYZv+)8zc2^; zd{k7I7Zm4J)m37se^2!8oqKm=Q(PBRVk#yMRC_%BspTb2E#|i|}QF6g0Oq zz--yJ3Bm{jYHe@IFUUqY@Z(fg1Z0OO6%^$rq$VJhhNime>T&=vKEsD*r#idZq7Urf zxMgE}a{SgETR<4Lm&NSLw5(L@@_2Bd_dt9MXh=+sD=8~P65Drd$;!^i$Vx?=ShRv3 zx6-l_z)xveX-!=<4xQeyYe!r{d}dB2pgJuh<+-2#`~Ijs_^1>X=iw{z)8~Gim79sP zh!B4|DpOMI<{g_iZQGProQH4N{+PWr_0=_XRiI=qcACsg-MfD`)XGiUHomm+1+0hx z))tiJZ`-{!IyM?D?=9Q5yt?^S^HY?Vk(ri}g(+UtDx#zJX5?n<+_y71Be|iiap&Hh z+jnn=>YG=H4`*>bmISJ@^0JWejaxQ=hL<+H zl$e}|<~F1ZI`;Nm+c#}_b<^foladn3%KtyI?!!5<^|5)VDX zeY|$-YE4UBORA-+{&p(Una=mLb+@_Fk#6tkZW|dJDh~JMvgyX=h8j*`OG8(8s=lGN zyC>DqSX)z9HNQB^^}*iJ$x=_QyC>V-o@%XYtfeiPLZ-RBsj0QGFwnnNF;5S4rMv7l znwg&&EDl!H+{qU53+098j>cQnx4fif|9G#e_I6!k&G`5Tho-*1x~9Imw?AwC?tw-V zBX{a*9D~LCH+-|}=x8yY&vbOOf(oG0(9$?EZm)fdbovbOf7TrLB0%;C)~jeMq_Ot&MCtpiyBYD={l zptICFx;y-{v!{a_)S2#VX>a1UW%Frrgt8XB?PsWKs;42d3$t8?w$3){-J4IRx;r|$ z+MrP?-B}tPCh>;G`i{+1cAJ6fz|B_B(HwweDW1YySB2 zkG}f-uitw2&CT7Njh#)lGBrCrJ~_^z5vBR(^!%)SUP7?l!~NBb^%#7)u1OBi#?BUi z!*bbY)juM)Tr-JijtOK07{Fo}XEoot&Q>6etvjd0MbC zKhU?dx^nN~gQeAF)z~k+d{tAZ?&XE9E}q{zgBDuA{>9+$#ht_borArm_SRc9cXEBXx#hX~raJE%vIw}by`JyOjZcgg zOG7F;M-bebMhR6VljgQo?8lI~#aS4c$!9iqH+S~8ila&&I+oT~L3Mtpe{yy@ozKGi z`SN16FVE>*sjST|A!f3-kagtA%KA!a9DcX@=itatU30z7z>dBhn;L6iRf3NBN#8pM zJ1{SuO;fk_&Nh>Sh*)cx-gGwCyS=joJDk?#^~~Wx8#* zftN=oM_y!d^Y$&192D&AX|HXp@sTBDlu9i)2N0_(({-!*W=(ySErT%I91rb)%8S>Y z2W&9gj4?Jf%Gw;8Kr78ZO>Hf;jrHb8y(k0$V{IL6zKf+|OKWp|LyfXDA?HYGP}r^( zWN^Hg>g_g6)(Lw1#Ds+$Fq2~_sE}P=+}+z98tiXstRERE8sMO~G2gqiw&Yx3tVX<7 zf3I$?cJ_9_mG0i|ox|PyP+?|%nxGY<43~;9EmtUnMc}3ROuiQ~ffi-7%x++4aCv#D zw>N`AS30_ay;4PyPHjVVbGu_{3c*I^XWBd4mDO>K=)c@2R4(-QIj%-6?&RE5bE<7% zWT;$OnO>N=cI#SWYvcOn#`Nq=)tx)dtu46G)YA0QwHF(j>KB(6cnJdoeMxI##`4Hm zsjB*Rp+65MITPKPG*WL?-7F0DA=tW7-(VkG$6gqta2Psj0as1+j7YHB(A-1==|EF! z%S$g`b2tUlmK3gSsH4~e#X-1|%VqD>+-YoT;Mg4=9kQ}JW`K0(h#6yKps!dMofz%u z%?O9Uc3Wrb@W{~QOi1LoLct7K7ZjeOW7H6XJrZ|DAl6vVNHJs>bZx8;4iCaKWH7Ytu7R&_cKOAKo9G92ddye#qIK%v}ztV!PPhPI-OBKQr0h z`Q?RNA&;prjLiuOsg<4c+B7oPJ-Bwr&(DpIk4{hW%*$edd-pGu9q_SzlMhN3%1gYf!Qmn7!87K5|M5e}S6y3;?28AN z-k9jDYFP?L<%jrqeg;)o+tSu@coL3tR3gRC)B8Ze0muivMC93ATA>4XAvod1L3i%# z@4Ayr0JGsh0`q|$M@G3~>AUyts=RW7Eg&~%&bS6_Ph#>*YSbP9Imup~6sH#Xq&#Pk#<43&nA zMUUKB*w27&-??puBXmx9U1J>@re>$Wm3W7w21f?V>q}6iw!XezcB`?T8hTcVYg?-0 z<(oG&YqK&VFk>v35Yj!Ztt}%Xr9xkU8^^oit}~jOcWzfV)MauR@hpsKYHEO0jm?b` zQ|X?rp}~Q4Pj}Vr+dbVW87iE|1nV!RAQQP}vCA0_V`71hR*m~WK2B;=a}&>?qq7a@ z?jIdcX63ggJsKic0qHrEm5ufBi80(@ntX!A#RVmEJsg*O_UPo0FI8PvJ3LYXitdks zcI?cZ+8S(eR2D-w1TaRKfdS(?I5|Qdrx0(cmfKA1HXG2-;@GHBcXYIOc6AhnDCh8< zx+-oB03dp%Ayj~%oI(;b?X-4w&@Rfu;>m~t;}~XYpRm{zR{JZYLD=o;DhhAICe?L< zDeM7DuAm(FxsypYwl-6k^{tKPuf5dNW}?e+2euFPI=Z{A-@c)I2a7tpI=Ow>e2&Hf z0V*9;fEp$L=vv!Du8C#pLvq+fFaejMxXIy6{8S5CWK5#@Ds6F0U?~U7oh3 zTI-wZ;DHG>lTDA0kFm4iQHS4$-w$3U@&ckKIlfFHUZ$pN{Xz&BzffKjWf&9~ z)0&~lK*)B892;8dXQeds&Lnf0p zy8@o3w#Ia>Cq!!PjWi+pXQ`f)KyqScjQ<2*M<>Qx+uOKVOsqIMLU6Q>;jlGBptMb` z&18xI-5~&M=tYnI+CRjfUiDAnFlyRD72S^~BkpW%_92UMd6^@{6*f}C^dMx#UKoQ> zJ|6K;J)%J`ak4dDGgvOyYxM;(0G`&?W*baLxHijkckiD*d+U|MGyB+~&Tszk8>?NL z+Z({QoPHL^iUw_TWj0tiu7hb*5*c3+i z-PufsNu{fkS->0SrB28r)D4Z8WTh<3%JZ{Y!274Ky%K?eYU7P06QDA)a`4R7rSajp z#Tg(}u%0qIeSUW4o2wKhIXO4eQ^?IOFR}@msGZZxyC)atH3U8}HnX&l9~#&{K16`- z$e+2Onb>#tcl8B+^d&drlr)JsrfF#d0@+XEm5Q8mj}U2fT@3~sxb_WDYkn~9?hIt= z-`uT8_DSdM9&XD*neF5fg6e_c(lEe7s!{JB?hDPpk6f24Rvn3bdTv_SB^Hp(kl5w5 zIDDWp6_Nqch_YEB-juk^_lTs{)>l^7%Bil7o^+SgC)K7kC^2@E89FHfb-;EPY0c#1 z1pLNB;}WK~ceTN=;>b{2Ta(2S=RkuhAd1PvITH|F73=}vFZBd z*H?~CPc9zbfBl`exL$q3gFLPWj~?voY*{AYzJjoj)qsZLsr6N!gscpWz%#J4v$rFt zF-l+~G@DyqG$SGt;d0iD1HIfGh8PtYbRr*17>bekO(uRD4OR6ZZt&^+ktC~Uv=1t5_U%hn$sg<2AQLia#j_Sz=aHMCag*iMVOmegD$aRv( zdwn4uk=*QHwPVGJ*>PIKOEB@kq1DPN3qUz`;;Vc7@RUZ3kqm>m^yf+w0VH@8UTE(@ zh-DzG!7$xyAX>mEBjr{ierIP}S!h>pijDFTc%d+WP6-Fj@1ErgIqR!3Rn|VnCPs!z z1NQI2U?1rdiO6iO$5N-|203ePyk2k&9MYi3ZEmX`5eb<{UWP^j*J20MdHL2g$(zd7 zn)Ugvbf-{GWG@9Qd%;_(Z*IUYI!I(V;|Gqh47Lc*sIzhTCv7zmCMG2i3m565?!+MM zKmi96H0$ebXk@_qx6LHT(+H-a5ZItOng||38qZ24Qf)@;Phf_P;%#KRj#5cZ(}Nar z&Bugp$jVBnjnAF>+83{1b4r7Y2&QI%?Dp0dUVL5-iARN{(hr;}z0={*(Gncu0Ewhb z$!tQuIB6`jcXfSDb`8huWZc?Xw}#cAw4tquZrElGQ^l>8J!TeWxLI~x|bA9bpJx&_C&3u-#rM@E%bKhpeulHgA<)TCus#@&+ZD zUYHsv_H|`Cr9V?W-NU7lHG{!YUwc=p2zPOH-jveW-HCWCA`U!^n5SjjfTjjcJ!A}A zCkQ;pEA-&G8~pZH&$`ni?N+9G)0`e5t>sJ7F$!(^6BEF2x4FnP@R>J3A6SPeousts zp8ny%v%6<)?XCE4rUgQ9!+r?P8Lm3F(C5i(kFH$#;ZJ|~*}s1F_V?b}+SxojIs_`5 z5?LRb%XD-rn{3G)x4_2vy$ii@6qvqo_~rpv{MwUvT3eY&d;%)=*1K=N@$TE`MGkkt zZ7!k?y&h+mu4oXqG=(vSr3+2D!WX6W8pjydElI3xthIKw`J7#zbAZJi7CBiMxuF&# zWAr4+1YkJWLM{16z-{JRTw3tW*@iK=VniC(vQEv@8{1nbAq|o@$M7&DD^&~4F3rfY zj82XslIdUwkz$4K=>1SA$sR(pl4Yg`R5Bc3l7eu#^%Wt?G~fg0JZKU!oDdjJOX=|*eN}f9*v~bAoMlIGQ4WL@1`|?=^#Q zf(rwMso5DSjUEO{m#o>K(5&mXZ=n{806cOO?3K@P>(^g~rf@ zk`OnxOA*kzY+t&AC!Fp8QT$qKaP*l22hV(@-7$QAX;Ib%(`1KnRmL18#)z@(iyQ$D z?$JpXCE;2-+X)&2VLaCyT1eHn$DKw&$NcszL1>3*yAlNoO?79+WAcEUIH(YR5uf>& zJ_0Ujyn*2%*mLpV?CG<|_Z~Yl^^-3?{q?{7+PU%qO{ymn0p(<}wX=0{b}}Q6yuIoD z6@I+xDCcCNau1UQ5+O30o8fANHM*WI292o*kuccU-S)${-9V}=9%%-OYS8)Q)u#}M z&N5~97y&$B<%Z=>`bASLF|2J=@&o-k@>#H0* zV8aj7CiuixQyRqtetM+Kgb$+P&JfhjF3Pw}TJo4s8a6e0a7?L7R>cKDv?)2f@sP6( zugh^UtiZ8Ekz^Jwam;j1(4?*UQva?nEI)Wo>n!uaL`T z%1eu3QcoNUEQ%tt7KRDX<;9n;iWc?7MJFS7`axc_Ptw_BjDdxIZcyIxfK?K_!d|## z_>2QW2$ZDnxeJy;NSt(dGddEyi_y#>dgM~@T|gAJ3-f(ryN(Q5uEIyZY=Vf*Hd2h1 zc(lMW>XYJrsi57x9qmVRiMaB@)fWV7CSx`s2b$^aX>79eCO1=*WhN#9r6F=QGmEpB zW*NwumqZZ+wT!s6yG3NzZ@nxCqJdpqDF#YvAP@tkOUaQkSaSph3MGsMNK*qXvuU(3 zZX%W|GC&&QI`!~RI?R+h<(WD=EJwl{Ga;WC=G8P-13d9^w$Llq8y*>MPqkx$MFLK? zB`w7Z0Pjv+wE|X_g-d3+TX(92B}Zq+R#dI}Spoy7^b=r1FREyy2;lDcK_~GCXAH+b zWhw?r!zLEX!IpR1lI`f=!~{ahJ`qQai$&wPq0w_KkP&$isAfru&rLmea<4vnYB`uR zEobi^@4xx(>t2&%i|CarzyA8G-~9gT_rCu<86AzW8*}#I=`j^RsrBCQy}l|X!x=K) zyW!;S8E)wWA+Ve2GwZ-tA$56)4k9Pep3RWFfl@ataXtPMW|+*3(iPYJfMg7aKwJkQ zZV)M!gR2y32wZm$Ktjo~mFcb3;`opy72V-q@O4It_Vf9wroazjdW4Q^fp)O(=<%?4+;!bK zY$hj@{oLXl+bWKPymmw#nq_nZf(({tQ0N3>KJxg;qnH}UJ@;$S5Xg`n;Fxil+O2~6 z;h*%#;sTx0h=0n2Iq(EAgbdC-jw%DkIxJFN<9;l?U2})9Hg~p-S2o$K6DF`kYPem~ zP=}?eA#`ne3tn+)xT~vECU+>T2Za17rvZgb(9S+{c~e^hC*NTEhYOiJY-pL8ov|v1 zw{C_OLxLf!E-%46Q{CL+!eFUr)acZs8F6H66r5ubO%%oJR8j#FB%XPHN00UYzT9A* z{dISzic3u825v6s!MzEjw#UIaHdOxz|pzo3@h?XHP`Zv5e7TU|A2r&67kTsN&_Pft|akkFIjqhm62WLDTBLjz{4*7%s)4P0_L zB%EM?kkBHzf|zbDY?{wqr+TWnj!&Fcv6Shueri2KTrUa}txNEbxR&`kY!LHbzWy?v zvrsbz!>nzvwph=}7@HaaU9v2*i{?_(NP$mGVVEAt(itkp8)Ko;!5A(+q7RRrK6X#^ z%ur6RbVqrZIU$-rbYbrGtVT@o9`RcvctQhRH2Z1X>X<2r#|9?NLQCc4!_$MOYK))U zySzBNa^?FUy#Mj%pZ)xc&xu!*#!9Gdu-cg^5JDP$QxO-)Mh8y82 zeR|3d2t+K51AAx$k`d@}IAE}J_XB?cPL@Xc= z8{BK9T{6Y%tEL(RC}vX~FH74$SQs4WSBuIbd4!T=+zV_+hP2#`Ti29~9-kf=uRV)Q z0Y8xn-f#v_{FdFJJX|YmCp8I@JM~pg-Sl7p*W$2R-GRYAMGZUqA>GJ1BN`TFf~P80 z-`cGb=Cis8n33!az($h7a2*li-TRk#WhGy5Cwzk((z0V?qbjUbf(w(Ong`v_m%?y@ z;0G8c&cGgIJhUx40oMpcf(P>_?2$90fgutvhH6aZl-I7kV1+3W?1gr910`9?|~fp?q5`CQhwsf<;c10f<=%kP_c#Gc?> z{)Cy}HfIR^7$S{8U9l);EnM{5=KmYv8Uo4fEDw`Fa2h+z|bEicsMn*{~ATyFOMh-zyM!3m7 z*ox1C#}BDLaF^y`=z7-e8*jgfOe52XzcSo+zWXkN(3)`&g{IsIKPV2#i^9x^+LZ7Q zc*FSaUrGW6b4eBtQB@inP3P0A8)f;~gl%hxq{}#m2S7rbIwESs=o*ol(u)tRai<@w zEd+6!YtpRIv$gi2+FsFP$wJl1{?x+sKRo}f&HXKPGrAUU(mslV1IC5xeuD~d3)ZpL z8Z{?*c(jQ9dxr-}`DdslT3T6BDx@ak;P@bnA}I`_+5$J!G8!YIBgjS-h8sH}Qvp?l zI;v}^#}>S${_>I@aX*N~I^%M`r;L|?SPbOG3O0c}{3H|?ArJ+j8b1DtV;Ug~&!XR) zpwgZGVv#Pun+FXoDwGGcOoF;l3xa9fehD!Cq5zXR%YniY>qq&%?D@UB$LGf*lcRzu zU3)KlS6D0?$L~veHbcVvv%!n>5%XJAM zS7^0SqaVloH7X~LVUFMQP5l#xTku$#Ai$0&a!T?9YW)R16@?{mz3GINxX4gI2#`P;ahYJ?5QxNJH?s!!Bg7T4ATnV3J@4Gh}%AENbW(B2*hD%>iq9e+J zLz-f&z9Tb2@TiVwZAJU;p+T%RVwJ#Mrd2!qTYE5Qkoc~@G$5(Bcf6+xp*tI@>C8je z&&@VtAvLNVqtvg#!f6`@?2H6swqY>w&aTwRXwlXl8Jf!GYM7|no76!Y9V9S(GSQ&n zgJFTjOpJ zgrbUGgI+!Q_+f?_9UnENiAwYS1_VyO}PwpQ26b||K^GMf$Az8tINV_^cE z;LsomLZH(=0jOgupXfk^4N8d5swM5lHzfJdH`HgllN}UFF~vK0!dxt=&?~XFesA2m zp=HDOSL2EbsalWsAb~r(6w1gr%_a@;ok?SPt&Gn^gRzL$MZlHBTf%Kk`H%?FV;8_c zt!Az2;uukq7thQ$;MW3+lqj0C#ddLq{#ceG!DO21R*6iVEVRkP(e0z-!>dVKrB*V2O}oaN4rj%-+GCHEt@0fjWwL21An%gP_{S4e(6g zXdMc}Y&k>*!3Uu#ev=3`8jgWLDSoP;51&;j*}<|G&d_+6U=P3N%U}QMvoC+~;YUAX z=x{=*uU6Tao*5Za)_~vaIL0_2#1(qsBfhlACk`Jom4I$uGwH{W2O3cg6MuTux zXh66{P)r1Zqm%*JCgukMV4e|-SsNc7R71)SoR}E1_-yOKx`q8M`H2yZs6?Koh{6nq zPLCV92F-%{b)B}NlRfbXK#qT+4UhHZpS;$^)rEub0>#DBsAAP_$sT8u3=S1)YHwFI zY}PE>0>;}H6sR#%D;;tnN%5X$qnBVHhlhI>q@dUF$r0Zh!HbKt>+8!l*Yx#g?cuLf zRu}|hA{+!D53(9NGU&J;SfN2Ng0;D2Rbg!{7Q$4oS>PiG_XMjtI!Mqo?CZ5)0r`kA zRD^^Y-d0s6p}O4QlF|cuXRs!usEOEu{{-ZsPEB&(e(u|BMRv!+7Mj)Zs~07v>$h%b z**!i{!OeLDl*~narpbl!ob(uYw(@UNZ+mCU!u)ioRP1Ww2KlSH3`aVd&aL|l4G#^E zDaY@zQC!8h)gpV}hKKt0j`r1!nW0gLX6_DmL6!nbTRUZ?`z9tzwi8^xeN$SCq0{c@ z=b^B@GwgID9kEhciNED~mAp_npG~srVaW-YsTRU*`|`o3I?_a5?KXQb!M-7Bgs@3K z9iTPyfJO_mw1OGY8Lq7%Ga7QiJs;>|6$}Bik&}1x=5_i&Ie|Cx;-t!`I*U)v#yqT% zh=r0gbs*ECzFi)4gMHW-Z2Gvdv}$AI8eakFrsdvy}Q)}D@J24kmlOWmxvD zAKa;Ij?*)<2r-08liXj6Tu)!Mo%G=qdr5!x%isR%Yi~WfynpZH?9@~T0L(YxxfxaO zhoFTu8#L_k&47qVpJC|y|LIAv&Vl!oV9KAgz$UDVS)3QJKvl-UH`b0e@fh1^H+~z6 z@930h&``7wpGfuY){aExgjiGt*lyuFcgiL1|-B0$>H?)Yi~T$HLqJL zoE4&h${21$P|actEyF6A^rba~&B(e-{`0YpPfsrIU6@K++LU(oD&ey+UP403)l3i$ z!5%4IBxRGRHC|-1NT0)#L*?~*`#b!zj!qjYRN*w)L1yjDmR+0VXXYl&e+&zSQIbR| zHhJONOY$79Xo`XZW|Oh}gfy#K=}_1<6xJgM*|Xducb=S|ICauL9UEc=XM1l;e(v_2 z+vYqgM5cL846h!OS&smL%4h*XqZz}o*A*Eo_nYL**&hL(7Mly*I(-G%L+3KeF|~;cB7WYEO6Mr;kXGi zeOGs<(j__KiMbhFXj9{K036OsflN+N*v_u@g5V-AS((FglcjjmZA8g8vI)mRPjhR7 z^y|h}1%R=BD_lloEIcj#D~~GFQO!(Q@M=i*3Frt2iDh26_Ci%%6;`kn^Rdcn3rXA7 z4U>8!B(X3ZVV55PeI0vlRgP1Vve}`PX{vpZp@BVBcfu|O?kShcMLh;ROtR|A{OtQv zVj6T{d{k3()ePyI!z6DmIHFPh#3&5EsX(=S225~pmQh9M`WSAj98c#tuVM)B- zrU*N{=!tKOs?c4o(V?VP;4N#L^T|cg1Twhe&21JChvl@I+nf3Nc3>+<6wr~N;7eZ$ zgQNxQoJOsUJr?!c&&S1i1N^%mgZZF^AV3{v#;J)d`+<0RW$aOt8JZ#pqc*=WTMH7- zQ~|@15+PqZJpy~)e(#O@4=%1;`QRt-|MIuL{FhHZoSdIlTS&)QrzDLTny(Xm1s8!3 zvG5__5D@n#x~Z^c%jTo$NoEb1+&}{6b%_Ke3reIFM=!3ej9Fk(J2_esRZ(!a!7WXZ zHaSaJ`zKqm;-ekEHKlz6B_G@4Nx;1R`de@K(}H*Xl$SD0A^T^6^$_K z@9ngtY=J2urE6dFV$;vDTFf^Z)mL0 z2Rligf>2xc!&)tSR%N3!gHlj1Y34wf$}}vu3x=q9xsnR_Y2zR=3>^4T=UHS|)&jDw ztr&HXq>wt(V_`@>)Ix?+5v+^iGmc>qNakaiu4ExMcPfkg`NXf{wV3$XM8Bd@3!9d# zhX6fNpxR_dMQkzsM)RYKJl0$G^F?9ecjG{zw7B^C~X@u!ev1m!V z`+KGl8A)s*7b_Z6LLn$b5e`cTaWD8r9D9o_lT+h-%3MCjWRpa8<~uJu7vT+iQ5Y#f zHiFH;tsU)7teac5*i_0Cp3Dab<_;0tGe(4FO=^f{pEU=V_KR7z@6yYj`wd@R33XGN_^Q+8p_ZJi>%dMp%x$1nQ5V+t)9Ckr?FU`S8gij!~>%bbbzFY z4Ez`f%CQSqiG!m|yENjTZZk&q<)5NUp#t|;y;`X3Ddfe27?{q>Ijz3&&NHW`T!wcd zfAaH>KK%5I(#OO>hOzT-TtB+VqHCwAqu-iqU`v`_sE2djt)J;Gf#@l*T>f z9$b%;pT|AxJL;4nAZ&Bb3c_qin2r=x7qNTcGEqw!np2(Xu(fBWN|9L*on`~_Rn`D1 zchD8ArWCZ**nMojvS@D$roH0gb>y+~h*-Evvlw(`Yju6S?2Mnf`a5IeBafdvW+IkI zqBD;qz)3sM99bF_p9P?tEs`C!L}$W$4-!}ds75pL@FB9@pV*?-{D3_aEpZNPjkdig z?EHcmctzt7&+kO!q|exXaV z*i4<7oi??D4H&~H5sn8?2d8~&T<8aHa9y)50z$Wusw@0qg7Qx!VWBh?fooZt92acB z0NTn4!&-mx2upHZvxvT$}WzTpoq0-?(4?ZrZIv>G(ZI#Z5LO|(9!T^aw(ur1;l!nII&@e z>#)8V$_HFQCw(ymD%WsqkL_dK-FE-CbUO#iK_3Hs(wDwvl^BOdXo2zKFhM|5-!EK! z5y5yxYyRoEZ~HbV@-iYy;Ui!XJG){;?#H(%2%^yxaYy3OPY@UjBz%a{6(Z(jNKq)j z&lIv|U#=cI_||j(Xq`piV2nz4L4|%zN|=lZ9wZUtB1fD@t#9I{c=-ng!Njl<6dPPPaq&e0iS+>nT?ok?rV01=}@*54%kyB+lPZlcXppN~TR-vtY z$c_*S^)`0BaL_@rncE6KF9*ilsjk9axtXvGKJK`wwTM9G9JO=YT)vCg#{iv7B8rzy zRA#A7!@(u|Bu8T;O2p$T&if|?kTmd5G-IQC7>HeaoSwcg{6LQ(fM??Hp!WTfM66HQ zWntwG%o~nMAQK%NQiG+cy1J%n&@!U)){^p_1P;4t1xi?@Z;-DMQUDve&^QVmK-!V& z1UazB%7HnM>xQ>+df^A78J&jU5&9FSM0R0}ZgYhj8leXlDwvfqJWVNVcYKV2kKXr~|y)k#C zhVJoOrL%iBnrAfj}@~uvr8ZHhyH$w=ZLJ#<9ghJsDIk7&)|cB*AqgPGbP!JPgXK?7xvBVR-CS7><$=Iu0+0iM-Sqo7U70o zpopfV*{t?UckvP;9)MW5;#5Wpg3glj2(5!jxQ&6nqbPYZ%^hKyf;|+B4`(4g{_vgd z?P_lq6J>*ZlXWN$(jt1OYs@r8?fAey&EgvoB%3bm?v<%m@ZOouDTVH4L0IQ0LbocA zXmVIhW-@;VLhWeK{7HiB$apa){GOks8~E>8?SN#**nRi?ci;QL+ZPY+zWv>|)ireK`m;|zw8%U*IVtU-W|rX^x0aX@oy7pZdA4AK0_xmvmcbS)yW2EW1``SRig{o_ zhZ41(lIEeyoF`t6QKE}!qLhjF0X(9KYe$|`FeQf4xCh-It4)pD$|NVl1`i!+#9uip zY!S#|TPoeNQd!5R^^J3L?xJexDe@p3ePUR;4t=0D)h` zDtZrl<}D?(d@LipHt09(P(DjP#F@224t-2BdNAI<=+W>6?xV z1wRtFcDH#|L?7v`|V7o;8V)gPK}F$s1>(> z*7y@3G*VL?hO--`(5{dXPSPocjvj3ifd>8dR{^z?3)G{mZLUCE%h&X)vc0CD#GQES z9?Tb=0h{%mt*+j5b$zXMv94@}l1P2wu$Y21^bMF?yK0)M&+nZ{iPqHDc^07JHaQ}U zOc}ko&KOBBUh$1ELZMOU6w-!SabulHsX;d3pqAIAELv2;sp2k#$ZK?v9pAWllOQn7 z@ZE+dgVBi`DcZ;_PIQJ07YAAd5vxKhGt04jy)CXreVO0{T&O_8$0Wx z<8Zo`!-r{6`I)0!g!jkjh`T8s0o$lbm=l&>ggMSib0U)FTeA>x8-}h1n^%z`l)rUkAC{WPk#8>7oU9o<>!`K_K)`OKe{h-zOd{V z>O~7T6p)hYmIko{d?N5T2_cFqu_4k9R+S(S%R`rm1W+;sfAT?s8`uF1^EfpW{Zm-Z z6RnZSg*2YBUcgn81y$OosJgqBJPOzj^zXH6VrF_D;x!*z;xWgBw9uPZ7KXs#fKh9l;>BdHaY@cOFU2F^N@0Q(F7omqNree8*)R{`5Px{)?Q$~? zR+d2-9Ck2%uS4SO+H)N5cV7IqHFm0E!>BCU*6!B*$DuUCLK`{*kqW9*{O}RQINa8x z4oM{;R*NQR3*B=+*sw6FBEUziB*V^Q!$2{YdVx6g0rhAyeh}r=m#reOws6faQLJr2aA$uTpth&lOijvJ zF`T$90$OqxBq|ubcKxdA`_&DbqehI#5KO$Z-FlhCH2su@L4f)vA`^r{GHRB#ErmtQ zC?N5Aicm6&T0Cbp296k}=OP{R8^Xnk4+i2MW@t+cEy6~sWx+r-9*GBlf3wjv~$@5alo8>Fubn4uRxlo2kjgmXpA+!O{9ym0j;#B*XIGQl}1nIdN_DLUq9q1J*h zP~rDzfzz&K2!xXwx0(a1=r!LSpW!{FMuYV%Co|QmCsx<0@+`@lBSSBsg(pGW#6&>1 zs_)n*BLVKf5aozY!*F1`4G%m;b$!khlSgiBbUfLZWtS%J3u$e{XW|aMB(HwaHE5)1 zoMTc(ITW!tNVrfC0}YU2ad&VJ7(jZ1Vv*b|^?_1T1mqFyGBnrG<^&H3YsBLi*OSqE z+`d9y3xAPJoiTlMcIXIlRa2ajbgoPEB)Sg)ev%E8X~MCY5ca5&I>B<`0iKj4eeLnnOK*kv^Pm5G<;w5>@VgIw^1;`C_^r29B&%)V=o&^q{k(FdE-S6s!i+bk`s}f(q)ALIPq8fu+_+^VPa_HAxYyzfwlUgbgrO^rpu`iz8IZ( zp$%L7l@kCV{^{G_3WeDAHYXVxBaKXRoUw_-0uUA8C*!K)O6<2s36IBN8uHPA6RxoS zn1=wOj%F5x(Oev+bckUVP$bMr&gUA)+u^)gS>>p?2L$3CAV-@u2(AEl#@_9{U8Ng< ziZ;mv;F8Utd@RdwgoPW(_8`x!w~)5whXQEaV6lsG$#Xy*dS@n6^A3zD8X#vnKu$!! zp4b7=s4}G+&QrFF5y5Wbe&HT^A}7t@^gX)q|rw$8$T| zpPK>zoWWvVVu&hQtXI<+hs<+;^y^STMu{!xH%5L2Hlhs;SZYKZdQ|z5sE5VvaK?pb zMV1!LSf_U%P5F%mv$WQDRERY1K}V-7;?K>h+pGZgkd9pk8}J)bfBi+g959i7VU>?<{p zQs<~LE+5&I2#ts&h=h&Hm7R4!XtJV&if`e!e7XoR%+Ih>65lSibhj=%VjzJ<&OLH+ zW++Ou2_qxg>hQ*aKE-MyMgdQdy1rTd-uK^r^POk+ADnxo%s1bBbLGmP{`{vO{q)E0 zegEChzWDUr@4qYm&+oZ>cp)FRbGVau&LPvvlJrKTJQ!;06YUbe!7km0_&%)AIQW6F zY)^t|cYlXt@#K{!mY=laW{kA4U4Bb;kfUnM4Ztd!Hw!9)92SRP^?L2$y4a{cT zo??HrmHb%@H%sq+1BUYYic<^t1P8|l{6ketd`K{(m(bmwH|vDG9O7&bqKymf{JLjv zJfl$fgp2%V`m3Z0(3825dQiWpqF+cw0M)}|4%wqe4>)A*p;^>{7~Mum5ko{W&Vm%? z8+^Ns*;kJ69?foq%W&7Q0Z@gv* zG@VWvJG)=oSf!yL#LZ>~m9yQwJwU?f5JNQPes`iAdDa|(2c6}~YoCT%7U5CBY3x$= zp>bUDR5;mrdEU&eSu^hP+A?5}dcm>4BCEmOVM{j8BLWfy#~%tnRSh2l@rSjMj@Gck z4^9j+{Ki1E;bHtI?BTe$KYAF%;q?)w>fOU#JHn9Km9g8X6=Mm@kXaJ>8g<27=J4wgvw7b9MNGgAIV4OQ!+MCniD9+$U`xqDf=iU0|0V8#GVL?%7 ztc;*DJm9SZWj5;|(=?89d3JNJd4_s>igQVnl)R(8O;v)G53zqUHIUaED>@INsinbK zD6Mj4N2R|0#?wbnR1Tj0;uoJM*z>nkPeo9TV~Kmtw=0O0rdMAI}B{HA4ejnlqTSswE~x0Uc78ZUy_Ka__GHL4z` zBgDcjbU*AUwYXo`z5qBJ_sCX$(x zLn48&%9=!rw2T5G1}srA$Rs8O$E;^HE(z_I)Gs4&h|6F(?J{7=*&^XDt8?rx{ z`@%Co^S zWSecYrg0c4O`_lp4U#JyFJv29)C%fqAUGc|CV9`4zGyFo(+4;NKe)@m+aAc>tiGjd zcHvLd(w{Jy;ebO|Jc4O*NR`T(_d4`%t~m)PK?_3pyAT- zIM)IsdO=N$n9S*gzalKEZQOP5aYXud4^6jNMgsPQ@gXr=u)qT7m;J_+l<);IlDuMZ z6Aa0KF>H>#i1>tQl4vM2E9)Ik^sYzJ6AW^v$d-+|f?$k7uuezE!fvlpsc7}YsS(Zt zx0_I1z6c_$j1OrKkz3(({M6Z^wKdirpjEGs-coeIoz1aJ;g&0pV&+PpY;}o z@57$Zj05H~2&6{Xx#h-ne14=CR>BY9;o*tC*gec3R;c4ho&7>U#cOMAs3=UADxDZ79g{CE=rJCjDDPVRi+<*Qb9=n@~r z)&<<|9}Jt4+|T;$DyK*)h#?=z5*g83pO779?&Zp|u*DVi+7#Q7AR0ucNlYGvTcAyY z9UVt}I7Q3wK@|J5NQA3ofdlSw-M}4J;`A~?H#^};G=+YJ>55CB9u zbFVym`s~?LPS5-Ae;4NX@5&Wl|MBPlc>jYRzW4q2{^jF;dGnn&*}?Yy_R;B)B^X#@ zcOVS{XOs)2w9ll)Am}(|n^|oSv3gcscOaL=a4(>+DQwO`FS2;zY5R8$j}Kr2Q#ijD zD*b3HyR-zlwZCicl?-_Zsgg`0+W8ig9rnn?m^iTqjKV+S^6>+oC=P|9ysm%&Y+&wC z4N_{Kkl}=8u_P>J?d?zjztJxmqR1b9^r4+l?q_+XC4Z%26v6U@%tuh(bhmT@T{A<( z9sw2fqLt8ve!<{)T_Z#%GpnkQK^PYTcnP#DDwln2lGi8aj=rCoUz|HQ3IVj0I4NoO zfJ#AiDWY>b$+lITjMj1JyT=7Y{nevdBk9h-gjj`rxLb6glGanN+N zi{S-;OY?Svd;3+sUwNBD6}ljbG2$n!&>fpI-6~b_hB6+WIUe(MM0{?Gc%uXqa*LI~ z8$SC+wzEZ7DoW;ebZy}FC`sFJXhQNp^`nzOteg)z+CFdV6LU8@#H-`6K&=+X&NwK@ zpgC0;%TgqjfEF>CugKkUm@o&o`2;=~BB(^LVQNakW^ly1SYW#zeby?g5*6OcNEtBA za*_o~)yf*=L}DO?cfN{IvkUvq$jEhzq?W92R^9YZQIhD!O0j|SnPlK74^5^;mdV1d zy@X@t6Eg$62`?~gYlJrmdvipOCpKhZGCRU;j{t8AZ8*kKWUA^LYWfFwr3c|0%aLK6 zH$YWy=wrzQ!`6L@AtFTU<=?Z0FYPTVT?r$iT_Tv8D3D@!8?4 z&z`*c?6Kt2FMs((0zDCX{`R-O2)n-j!}q`c!yo+S>#yE?`z;NdddW?UWAcvL%|Jnp zZyHU({S^)|JJ9bScMvIy3NdBKshbqD=$Rn~-JF`>CBPn}(LoaP!v<637Z4}`p*@?w z!W$CiXPxQCfG8K$(2gGUVrfQq0ETg!Z?vgp>I1&f7IWVK$piz6ByX&UF&&!Aba;ud z*t0azxR?l7lE~JVMi>VLaa~_(n}CWt%?-RdVaD&a^ zSV|)jJToC}hRFIzm3P>KZJ1I-%!OaLrrse@%*5MM_FLN853em_E8zr&uGVxetaBMP zOVXY86&QuGm4QB~FRqdt0A@y5!e?lWNZBLekV5cR&KWjRC#3`pO(9ltvn3m*2JKjw zxXBdcH%P!MS!Unl4hM;S(r`AzCz~c-Dg|8}$$XH|Ieo<5fG2%fi zjVBXAT=I%;rNPpfV$q9^S_#Mwc5|K9taTbVGvTt+J+IH{>gh%y-46g`Ni=&@4Wffzy9^Vu;*`olkxfHcYpZ3Ok-FwB0k*3{o_4LxN=2&dj_PIMRtr%QFF|o5g@^{ zelvH?8jY6K&QUaLE;Q6o9K03NIYyuhcoQRj#E^#j$(aObx(35km#DMfC~+Mu(Qe{m z5L$D^pQI~r*Bp#^iK_&D79bYsp$DoNj;H*UNd4BhZ<7I)H#^-tV97Uzrp=l-r3t#i7eSi;9-}O^|)y#A%)enFxi+MHr5U8$!kye z*d{+A6}QH^$?o9}Pt~g)_$4e-V5{asBcQ_jCDh$b%uO_Rw2Ff?qNAAOF(*lipaj{5 z59$5JK%?_d7x~7jSr>VqIh|lu?C{7r>ZX_K$ag zkl%b1%|_KT1bRw~ojV}!b-U`83;`aRs%at?(S0owjeMo0T6SY1H;H1ni@^g(awN>u zOr_u#K5?5Ah*%8_zR1RUa59oCuu%}Mel@F2szrb7T6YoHSdz1rMCBFqa8ms+lPD2H zl{c;kA!!lE9lIc(22qXx_CzO@gye{&Kfkm*x3Rg#Or^o#jmj8LVI9A4Bc$087LyvFgjk^+*(s>N4>EqCb#09WItR_33^g;(0~L$QO+?UG($ zCAU9IkGq#?Wz1v0YSa&CL)6 zlF>M8Qi8Ihv!l(O&7{C-T)gHfY=#6x?S9>90q5M05)X2EKs*R>18wzJrsf8e*nr^? zcakmV1Cf4{n{%&to=f3%JN=0ZIxZ?S3Ow^yisLDa#5Uwn6XgqVMck)le?kv-YAwtt z%-56*Hgdf}xe$ybZ#K}HkI6urD4{Qqn`YU^#N#zOvzm-2;Ni;9Tz-%G4;Wy)Zq{{( zTfKF4b^^4pZ{I+OheS<8LvVuL@dLcC)M6%;3CCG1gySsO9ERWw&yw)jQ&cxf0Z4pU zB&}g3uDHQ)44GO1elPzD%MgzeQD^H&@&OxElOocWbybypS~xfkn-Ba(g{j3q_E zKDa@Y+J~M%xX5aGEbCC=AbQ*C9rt1fWU^0GgNDg^2$8cWM{MgEW+Ke8SHvXvO~)|} zh2%~mo!Rjg0~vXoQXK#AE~1I0JFNE+SO>tMXCgIaq@p zO0CK1cV@b#n2aJS2f6p|R?hC%|)m|6uo(SD$?IO~4!e4(})Adm{RL^VRRZ=K6?VAkZg2 z|5PW2LNW%yxM2@A>wN!UkL8)(thVtF*q^mub?P!oQf91&4aIYUmV>#`7_?C$!=La#J8sY{;ULeQT60k^@Dk)eWP*MD zjb|_yZ#+Vw$c;-eGEu~G-EHkVAYBQcWK!5VseR)jQrkJeq)^B|Y^)|Y%d*W>u^Y_ z8bfrXM;)Mz)Qi7Kg<72nOv7lC?PJlXk;47PUWUtii>BX^vbgzL%Gbu-= z)iu?5{TUro&ZUmgyN*;kBbe-v7gG(y4PUeQoD7h$6P8(pCMZf&?B_f<8*gyHs|d9z z=5jwGjg%lm8&3vvP?$JX{{ z`&n1kmQK%(E-ugRUY;DD?EmUlzXCje{o7w*kN;p#^8ddik(YcAzvR0=_#RWXPGrPp zM}+&avbKsheup{_vRz**Th>0$aL%r51T$qibO-aaqf?Lj;eOo-3c!Yux}r^gT5_Xj6!DhOl|gmZ)WR8pqI8%bG`a`}iTXjYZ1Q#yjH^4;qj zm5>>lo27v6!FIC|M;(?JETQlZ#2q}6`uaNS5!2J-jsXx{N>XaAHh_ zr(g=UAs*^z#}B&CdRUu?mEn5IhrSz*A8}h2KtiY9-H%%BvoMplra+*NN(#N$pQs~v zW1bXENH6hw_y=ZdAC5cz(@D{aT4MtwUprEYF;9(M$(}fx4+ZszIT9z*{g%^J3t0@M zDguA3z&c8zU$^0~DA*aB2M2rNO)DAx6f-FPWTQAHXfQ4mBHL50Ysa&|#*j7Zx6$d* z%#Q#(k8_&Y!-4$%6f$tOv%$-u0p)@+0P_3hNmaO!SH|L_DL@jYtZ>YGKfg*kJITl{ z@OSNYwSLZX!Xk39L?}@dO$JvnoC50_NjPj?@=s$S9T#z4%kiQ)%7zfH@#K93^4Bcj?&eWEg9ir9 zXwb_pebYfW;R>|1wjv%mxqHG-v!>>s7J2}vyq?^?b9*sqVL228f)n}<2B3n;2`|Ov z9D7zs#jF{L(Wn54(OE3_+YRo&cyNzi$QKiWBVp{WvR6Mzyf3mOw0Q(y-KiInS5726 z#CVp+^?_1CLMtpHHP1eO_4%;OzPoK_nN%imseyD{1Jv1tCUmk zI4G-?m8n^DQcq{Jj9~(HK?`iO*J*rQ9$Cq}V0q^B^hhYmZYUj%BLYx?tJ+~|XjT@8 z!{RAav2XPeY?pt=fG8;@6C69kVeNoA?3EQW3O7XKrWGW@De+G>XSOkXq69+v)ks)6 zOd4SX?qrVs%6#D#@S|N?W1VOt4lkOp5T;YUTG)l`c-?8Ql($2w!$K;L7As6pC}Fse zk|XP*eb2Hm&QMt2NzPCJRQ8sb%I;oX(0m{DE_F^%PHLM3An3H@hZ|7Ay1%5L>O0hO zU&K?^7L{&FEcm8-)(UMfpz4;-{L}2}D1MyLuOS#09D=e&fs6K*AH0Nnxo;sUGx|=&SNsFG)OL_fGVv;(HkrUc5`J*g=!&rS1XI=02!bcyex{gDjTc( z9=T>ax&HL0e~;MXJN}ofvH#aU!v8<{^keq-`a93Otlbemmya$uB|<}q3P&3sogXSs zFBS)+jno$O_2(8A8TY0XGe=Hj0e&od(L@?VmuV1`l>AWCjB3QvZtb7m4N01N5AHi| zpRx;oDw~_$C!0h=!`>yN+QZtJ42?A!W`_rW$0J}JJ86@njSrPY3((3-gs&r*p?#|f zLLrhgolr>?Jf0#4z6*K?Q`JD^u1E0IBN`8(rN!Q1wUqn1Fda^X19*zD>P&2CY2)ZD zL^saXCJGks9uQ?Xpo=#~wzLNFnH@KFHcT+X$tE4lx%coMJ+<(sFT^O@lesa`UR<10 zd7c=&;xudn z)ZL4d-u~XDjWRz>X}+zlj2=~Z#g3_ANCe9w6m5RZ->kl2p_5oGy$QzvGe-m`4F}Iz zk8dse=)yhnc9`!&Y8u2kcjAv>ddd%~9X+Zz8{nJ1_*MKBH>=(yTs}I^L~jZ4dLacU zg=5rDJ5m?=Wl6quig?54{ZJd+v#mwi$qQLcVq4ZT6nc1VrzkJko{b?s49?6(Og1Pf z%?TzByL69GW0Z~1 zg8Su@%nhPQK40+UX1#?uynqbj={uz`9As#R?)y#qG@@l~o?o1Kgxx!rfT+i&#_eH1 z3~r#op@o=3DV(%wQ5W`@Q@KiRK(huJkY4;#Qp#`Muh7+cq7@Cx#Uep-YD}K;GXRoB z8Hd#?_{gNYR@RqIJXSF%g3?r?QPt7b)~X}kl7QY1D`-?NQfPl6>@i!@AfrP7Xq3#5 zv2c=um$EdpH;JZaoL%5B-{d98XrrFN;GChSY{ifd?1{8eqg*b8`T*q+-G>Br2yBOpSK?tNZ14f3)uE+LyJapeb^@z7x z)~OqKA*AejR68c$VK4>P!U{*S87;4Pu4MoUG5i05RevN02)w;;nv+G zT1+^$g2OrSrh9aXhKLzbI5ZjkSmeQEi-@=QEHE64Ww)wts^h_V`8=@+{@baU)X;?Y z9`Q3`TnW`sOOtU!Ba{;v)Z4sdZH68y!Qfm5M@=bd!V_L5DCO72s>R5Y$ZZr-W;_gM zaSY^SWJ!vfFdBBL+Fvnc=R zsa&y%=`jwsT!9a`g%aG8)3aj^(A)3432b6~_1_Wbe`3$ylDzXD|M-6eGD@vpef|$6+%Gy})MQ12sEiXO z^&U`Rv}9U}IOkasfJ20=amXi7W&NH702~W6peo*mFnpk2JOfJY5q$7h|1>BwIy)1! zi+t&t+cf9~(srlOAR?8OwQI?uVC+$NURd41@ct{gf4+q?a?auM& zOtn4t;&+^K#a9>T(R$B@@GyCgoPS~zYF%-i0lCiOAq6795RLdN{;dZ2d;Y1c`2^LD%`eS<|!#@m0O|Y z%PHiC`|vETwaLI~O{b)Q2B{j25QK}&4uxU(GQ6swlJL+!wHzlpuAXU!8taiJ_>+NW z^4`?fc6@#)Z^s$+p%VN9D@|}nJ%vqMC+8;{JDbR3(|W-K@sv}G5zBvMs|5%M|SGc_0+3*@3r|y`Dc5V3Ct{ffjl~)#> zs`i(ppy%&pJ%5Lv|A{>=$6J2(vk#}HLm`esXn605M`CmioC;^Dde`Rhnfy^WKEhd^ zZlk$k3i81!S(X4@hx^|AzzGxtk+3`w}2^$=V?Vs#p0KZh`S`bHK zMz8ol$fmy7=15kk(4WA4MD3blk^BtpU<1DgoX`|@sUzK?2ZWG-36eT!A({e_s%+G( zu2mH2I#|D|i*Tq#$YZ*}gR2{>yk$d_ZTU4#ytk-w@-Er5LLVaZGpG+ouEXQ>>9 zkT`Py9t>S~W={QLsbn!Q<6O3Px3#sm$XBWNL%C$3K?wuZHc4x-7rmp_aClA>)ej9? zK~pGZ#f3ftKi<#!mX($N*V=u*=TV&v0^Wag_u3z`*XBz?LI?qZ!4>1)B)M0)N$#?G z@2`6Ak|kNaw^!Y;_nEO|2f|+D3t|}0J9Em@&vTyBOw&B=+3?&U`yCuR$b&FkA!>*b zP(XZ=M(~uNSmKRGE-nE2@YMiDBOIBc>3d=YxgOT7>+UbIp5DE8M4n5l6&wP0I(Y;#_Zf6y|HW&DO+WCgorf~8@ z%Ej!0yj%D0F%PFMoU=KQ#0a3Df;QQ_fs{+g<5{QHj+;J#P!-Gr!-I;rhmZuBHIfX$ zoUq|SQSgWgkfw)EGA~^Tt1{44+as_j&}_#EO3VWzGU!lLTBPlyos>z*@9CXf-8(Fx8DvDN32%qM_Zzh>emz)(pt%%oMpt|-SIcH1sv1|_!WdZ{j(F40Kukv*&xF$xh zZ{4~M1!h?J3O{}7q_DH7u{a!3sF7SDI5h!YOmkz$#<>J;we9>}@|M0~@XrLSfyw~L6((e)TwoIDHz!}`kq^OxF*=4zhNyUN!jVQX zn%i4tXQG${wcrW71VFLKo*ubHPP0wHUape0xuPlm^MC&@YSi7|izddZv{j5TlyMmD zq>RQ`FyL#L%zN>?Ej~bwP|%msML$TBIKGiDWD?$YsNhUBEN)ZgjG##cFWnqD1AOH{2tN)vyLIu}|4lbj&SIH~JTpZ>{d z7>^%2oxs9^5TT*005hw@Ts6ycbm&dAgFf=IA3ibgc;`IN2SG5)*qJE?G>JZucOt%Uw9bjY!2?z8qpMGMiRF?8@pF2b>#A@YLzPwm$74M(^ z@<+Bu+(k1k;_}%S&NvQMM;ZVqSy709Tx8V)G;KL3{D~2VqeEdutFK?bqK#4u?~QVK zu$J6m0yl16BY_|nycFvvSBgbdl7qZ2UcXSODLBjzZ^9A|OS;$|Etm=Bdi}yhY%N5n zCvM^?WdQ>mA)+*eQ2fYFf0>dN7BxvG&9&=SUS&Nq;BoE7<)_ad-@1L}!GnAA3-ggN zF^w>cq5u5vXSOGHdiDcD)wNZ|YmCc@BcDq-muRjltt>+-%{Kpld#TI7xzQ$>%Js}T z6xLSziYJ#Ym?UKFU`$2U94*m67W%3=wA#Vi84VRn?JNI@^U10?rqB6{7M9~PDx+fS7mHJD4Cwd`(P68}Ugu;zeVR$(Btt5Ns8=p`^aFfwR*h}h ztqdYLuT8Z#QR!YfEY7CbMLsR%(W8gyLr`dQAdv*B>omqve2>PjgN*>!&&R8 zrtgHE^gzOF$5scmB?CD_;yq;H2pyuT?_+qMrOVFF(v5QBCc!sdEkfjilrS|AZFeGU z1=yj(hrSjfkAfcv2rr#w<--UovDi6TpZ)bO_io=xH|OmBT_-$z^^ea}(=M3Z=L9Qb zE&^J#O*?=o|Mki5`5YQjGw~_0z7MBOIiSTLT19MhnXg3$xPEu~L{hQvS4J^@~APDVfFoY;HV_qUTU|CO)vKF+HmGV?h+&dz?Bc zhzUppiNpGq8!7?QF&b>_E0Vglm|B0m_~gQ7ATfva7rBWQKj%bY3GbHjw`t; zMz6PU=dN{vVb%biA_7&GOz&IkDr!ZWOsUoP`Q88h9rGYNQY#I=fI%KSs{#{!#T|Ys zv%!4AjMn(&HV$*wPy-G5@w`BiriCQ%ic%oFj1t)e*@Tg($48FO z*)}uCKf9}Kw6%`|YO=G`EBvNj?HGZH=U>ADUx3Gn7Y+L2tG|i!UAZnuWoB>YE%Su$ z-FmF0x_;U4)vb}I-bGGhf`SOO)7 zu4*)oiyVn#iE-QS%=n$!nK#o`w3HZ5u?$g)S2=v%4A~%(QHX*br~*i=j&eLpV}%K; zqhaG%L>qOTc5brHDThWm)QF-;e@6r&>eCZC^dTC!jkmE9OF&?SNk|#lM^A5}SfRZ^ zY-4R*r=`V4b985}Ar8@t1)PA89hjPyj$8^vPZR^HD%53)w3%S>V4@K*5-lubp0%!- zJ{n<{2DvWZFr_-o(cyz~2prsieJqXISu7nQOG{x#hl~aq2!p;V@P)KuC^}0I5)Wvr z1ft?iq*CTu+3@#~WTcDSkX|JyO4ZVkYAoPU1yPA2&fdIu&EHL7I|-E@lXE157tlX!3m+EG zTN{5-_wz4yw>4D~E~01_3Tt?yLoXph8Dpy6PQPtAo?f{Y8^Fdux!?p$FNL0FMCk#5 z8c-%h$POyl!IbMJ8tU2kUuG2R_hr3)VG_^v>z8fK%=QR3msi+`IqVCzZ$S24n4cIP zKmXbG#F;)$z90J;93I3{3+YUlWd?vi8xW?Uxsj-nFB-rg0a@=n)&Q%+z>aBtdJiY* zaRZrYn{jxHADAx8fgjWrCH!NwoYj#l76$~te_3J^MT+qR0GLndJrEyTBbf-G86!|6 z%Tx^J$AFQNQC+2Ug0Fk?b{PH@@Su(*WhF{xmUIk(q%=E;n!{9Rg7)#Fs$)16^)mZ~ zRr+C$@R7r?(^Q*(uc>Bb)h;_a#MXjZfYXtHCYMuaGHCb!NU!t4#O=6Y!#%?;uU@@S zJ{?6CxVW<)l+w5cGP+18Rzu%2+XDqr2N#2(txDicstBgYiyf$n zXx<>#sZiW!U;W)NHm7a+657tNcOoZW zT-%((qsI=J&3OL&86E@8wvflNUS&G9mGLS-jU;aiw1km84uCqK{j7sl9cgt5(&+6J?geT`dOnoZ*H&}tEz z&7crR5e9~o&CjLKl4;j@2GqqJ($J-F-peJgCX;BpBMBLi1q~<@y{G+}e=#0%#77B+ z=ln^Ig@BD{rfG+`sN&70Vm#bP8&bIT|~lMRb41ZBc@Vh$+}nf41H^>=PL!Nak8C)ux5vnA7Xmz2rF zvo@`vsX@F=mmPg{KlwC>269WQ7#^fnFL?wZXk83EpWl=$2Gv|L-n*HcMqX?bC5?q( z@RCKldoK0dt^2pnrCm66@iYq9F(dWz#b?hlxc8SV!+m(~=#hhtW&olE23v^?Rjbj$;BA4~b zXU?8+5P;L^zYZsOg!5~mU>uWmgr*Sl;|w0m*)I=#ook)oo!jR5ekXilHOuu>>jdp* z2RyXG4wD@?Pb4G+e(qdjis&xu>(Vn)DcF>WXu3s23pL1(p(S`xR$#-CnF)s3n06H7 z_7VsE6lQyznW2So0*Tg!VPJu*;Nw*|I*rK@Ruo*c!b|^12}A`=Oy*?KNqF=#tg%LU zon@BESI@>Yfq@zak7yhm6!{?beso0*fuujy5b?iLuHP|T`n1--!dcrA%4qtL^Qj#@ z!Qko4+LFh1#SA~@@)wB;+v6D|!dfY2d)%_lN9gQ|E*nxXOQ@k0)lgG3jDxRY2{2Ig zPqK5eo>(UF;)%8T>GyA6yPlSv^KxqX{f=N^ieO|gOcsm{h<*XK!7P8J^wRYx1asIQH&OUnbNN4Inh9L~=rO(UDgSBLd zGpu}^QMkG++Azg{ z6S{u!lnzkoQy3n15ng`G)oWMfO}m8vb-W0$X9^6y)Ddx90g6%S~B>slLvJ z*-bc{V=u-h^dhQx#_Tt%$=NU|h;Tv5T$LG)hQDbTW3*vm5#-I3}Z^!e{ z@_9+(uHU+*Mzo@fpZxg`#Fjnd{L>pQy}rq#rw=V6v!G0H+2TU8OqoMtH2O6lcgO>< znGoSU$?l}z!9Mnn{Mu~VL}@FYlx&8UVzE+N%Q3RD$t;l57f%26vp*j>dhmoO@U5$7 zQ_fv>l5dJwaImZq@Itdpg1u0}2rxb4%bq+hxPO(4@ZfQ}2XmZ_Qk^<;f(L-e+&FB_ zDaavpHyPmj_Xq$su@;bu%^PHG+{Pu!E6QhJXqZb3MivHuL^1h5g@qPIUr8+r1WD-I zUQIOuE0oXjk!OkVk$iI3SodQN0XldfObJN|^XN4rwj41F&2uV_+%&CTxFygWzSgeT zut#5sn?g=(=gvYXkl>-PP2f{6Uk)@BbbO&j${?sVl(qPa8+XM~CwHz3ou9hE2RdWg zCkLHLAh!$*f>=>Sn8SiEX9`%hb>)%`1C5uQJ#RL}cX!imvT&Q68(jOx!LUi~`P2*c z&;S+5F;aZz4ryUlPm8Vq7%zYq{Kb?Dk29>sxzFo;o%7mwQpOV}mZY0cXibQIOKW@E z?z^4XM8x6cz2^@-uYDV`|H;EI*q)D*>_0PJyW2bOe*D21%KA9RP9Cu=DCLS7wU>nU zu3Sqcv-Tu6-t;izp-D=lNift(N{XxNp*^sYTzf;t$wF92ck_nO3oD{&!Bt|8rM7+0 z>eCwxVX-*0R%nnBj^Et}VSyMO;#$#iS#Vf9fYU?FNuoLHoE7QWccP?IU_o1Y`t3l= z)U!M!>pk$C=HU!UB-(cWFpy`GDJE!)aR&DUDEU%aFP6-Eo`EdjzbQmZC+I(=iRPm- z248;j4>3E_$~oJA_~gI%^B7BmWmlJ;#r?;&QOkg@%Y3s>{`zNQMyh7joEC`v3EX-ytspDNx85 z2;u0&nHX+|ugIry4*UVLNo;Q-)N3J5x~*qw5hPvbPq0Q*+;kRNPL&Pq!W~tW{MRp>r*__wK(&ARw@<$c-JgS~ z5&BR^zO`E8oSv(3U-PfOKO)8^=IfKH@yPT9A$3&%195N`7hGlpWIkuT3_GSWNYZDLz~f_u(pfBx{51{>~&gN zR#;VCW*eTYYz?}JecJ82Itdju6)S72`}X1AefV{@=VPnz`N@2i$>M7{G&yWZ z=u%t%obg!KlPS`u^E}ZW2hcL(*`srpEV8xDg@!gPx7L3133Z*o@a)wSEK)MsyKAQv ztNk;eV_lL-cVaM{1HL!Y7+Vy*Gq72!rR#x^fCMeM(2;Rxq8>kepvfoauQAgGm+z^9yoth8(4j1zTvQ(j$W7+mvTT2*p0{ibNm>%3Pvg*iNA z*>ejW8GIkK0Pr)vH1FQyyQ)?!baZoAchkwi1^|1XJj%H5(}T?PjAsu$Fz{JbfdbzhMfq^N7E<;SCjy!Fj>m9-VG^RqmQE#RHH00yIy@)BW4%Y+Pj@Vw*TKzUWAv*c>( zs}n8t*+sdf5#(jnWeP+hq=R@%M>C|zfCByW3PbpQ!! zDs@TI-rc5z;?ly}y6VQ3I%c4}vb3VAOljUrtSEPK)!0(s+Swv6cu>{YbbVuj)1Q<7 zI?+&*z>em6X%N#P#9h6eChBDu=XLh9clUMHx70VbHF%FH`9*mIqqDaiB^z3TFjUl* zzsh@Q(fjLySJ&=bOV7ApSX|K2-LbH=5F49#A=bZZc%=V#Y|p+0(g#~zPbN3lH+Qz) zPL7q77G8H`rky^6Zyc|9zlHWl&LhD|3sNZr!s9J@^gvFn?v8g#G$Nx{rC-oH(A(D4 zCfXa2uC2s#RBUXmZ|P`quWzn(l5<;UTi;+mK`eJZx8S9uX`V0%GnL1{(l z(8#czUmZGDo2csOZ1t(WrEX|+(1S85B1U!hcl8W(w{^ApIWXMc(yq9~=)^F2?Cfn5 z_#vVFZ~Cx;2z2zcyZr1P=1*$5=^G*sEtR!p-2+{!>mBSS2pzp0-2>e{ zgWZVG-rYJpHaIjofGogJI6@(^!a)eH7$fj|4wVjccl5Rc0GcjPVTU^)mC)3bK%btz zPI(chcd%C$gzD_=BzFJgsET-t@;D0YBdj z1BLTk+gR-xc;qBvVtWHjo2YDgRdvO{V9%T3ekIE*z0#oH&|F7y6bn2h!~m0!`ldu* z#4n#h;SC7`A%v~AK4Et&o9o$Orm?lLv#+zZ-uVk<)VH~#nFuAC5@Z|jL@R*QP@_7R z@|B}}pOjAqAmxn&2re;1WOT*3e3C%MAbuS!;BRWKZ)i*;>Z&|5EwUg5ETl(p=~*>d zSQi+{*x1&{wn?L8a00+HslzF6TKw#4m9eM43rN(ntfnl{6bSAmY8RCiQ7hK#+3ROd zUO&xvmH9mPML~ICM}Ox^a^=5aX?~vN*V&$*=8FPATiaV}$)y=Ks;^J&gT@_2C zA?M$?cnKT}?G`_P5vLrkvMSA$#s*KSs}j}tiH)pILlYC8&{(#1wGd(S#?Pv{V17JH z?24>>!nnFfS!Z{r^9)(6s+#JesMSPlBu7PL(-4+dR#sM5k&fz`imK{zu$5JZ#!}Td zk5QN)v8IKvdlR#Zv60;~P>G2LeuI*wx0R9f)d|f`NpoA1H&u1jt=+9vK&??}MSEA9 z(zNR#Ssmy@`%RgYlcjC0EG<)TMM+gvx$Uy6A{*=zORO#^6w-jU29oYgU8Hkb>wZqRbfg z7%4cGRTU$MjX^4^N=nNM3rq59>Z?jBip;{UN&qz2a@mm!ePoZGYo*C8%q}V`kP-|r zj>?3x>PV~h9$=xIiXv5bZfL2iZLHA{aZohR@@7RX5~O?ud}(D-b4y)L?u(-0+=iyw zI*e|p$}Py|7s7(%xJQVqnzNWg9%R%Q!}?Xui~M2)FMFB&oGYd-P=NuJFv1<=S@~It z%H#SJ=W%NDO7i(?*#+53_C`?vLn65NS|0f&kmVM*sv_L&8^iCZZ*C;6mX;cXtxD8X zS6AeO*7b#QB7B4SM+%Tb7PZmD-5ZnvhOd6Q`-!%Za&zUfJ+K*Shh}h*BNvm(NE}Ii z4YAi6`-%}xdq4qc6v&Xog%Cxxc;lzTou!u-3~FJD-2G&4SQk|*v#_jyHdWSDR@PO; zwF6a)T~J<>Xs!oRc79gGVi*DaHR6-)p^?Fvg_)fn-p6&`{jeKC$swQ<{(fp7e%vlBDp8e=*Hdox{7k?+dc<_7Ej!VHnn*c4qRg!?Lr z`Z_1uLUbcOk>5_&s}L-|B%cOHQdWUEI{K05Wt;OMByD`BsH8|hC?_wcu%s}rI2ZYK zPlL#m6}-%TsaU>|?3Gm|g-$zs^;FkDIg*u>7lFaPL%(WE3Qha9x zRVS)*3qvCW5{X@E2Q%Z*&{!Xm73Ag?7re@QT~J!w)Yej3QC?Qb6VAyk$f>Tc!ekPy zMpi8=FDoZED?9sTVNqT|VGe<4!Rnt((U8|@mW3hrouMe#(@vNzSPHLbdk~^|ZA&HZ|9d zz8z$NY7*ssChFL{TJ1X3p)0C@vb?JEMs@0fky=VC*vLYC3YJD^kklav^gFsE7b;Oz z(@>LNR#?-RXlQH7)Zc8WYi7Bt%ZgxB$IORTEVTh~%wk*EY@Lu-RBC$hBi zVS2Q0B}xN1hX&W;79-J6O8~sDYfdOlmrw!@E9#LAO&N(|T={L>;=bX2J;zG@$Hv;~ z1i;Y0^UdhM?BewL<|-Zk$eIMr4`boc>hxfD{?%HokJA6*e!&$)TX)7;U> z=^>|3?;GktbrRY)*xlOMj0w|o(<9?=y85~Y-wuz@O!W>8j89LF&&+suJ2f#qH#a#q z`*w0-d}?BHX0pA%b8vL%?d03hsnMB*nW4ACZ>J|F=cdPJCubJt#%3mYq|D^(;>^_i zBnKD_IxqU%gTn)FMhD+cj?OO3>J#Zhd7hk|=pF3hgfA{Hj8BjE^!N0=>3cKwW^`h7 zY+_8@Yi54N{HLCQo|V;QxX&%lPR&d#tt>9CEcCtUot>ZYa$#w1YG%?kJwG)*HRjXu z>XJ0WV?$GOlk-dSUQW$UNvtC_@^*N3er|4YVRB|_dTwTVes*kfVq{`$bYi^k%~1D1 z-|*Pj;OOw1(cuXwPmW77F+KTqVq$r9ac&{hK0T+Fx9;JZpIS~X&CXAISXp0Ql4fys zc42y9d46$qer;oAYj=ZxK0P<-d2)7K3Cn9s^GkEH3o{-xDIWZ7Y_6|wtxwNREi5jq zB$pRg7nFd-^UHItrIm%*`KjLiuJOr{w-dudqy3{}L;ZujgMq^Ik@3;q!T!O~H?vC%lTe$T8l4zkgFJMVT@lM<|NY$cVmw!X5OTn3>gbYX3Ad3|Miab|9HesO(iYGK;*^2W;C%KXgI ztgn;vQwysLn>*{P8!HPd^K(nHIEa!f$)(AeiG}4kZN227<9AyM+y?w0qf$+fNB zZErT*e%NtOZmln`udZ(=)w1=&mKv3|{ln(=&erz!_J{d8jLn|k!K!>@1AfuQ{L+VC zXM27r_s`#NZ*8xxtj^5M%q-4OuleQq<>Yd};tM z^BhEGJNfR%UDj)DeR+%E1Zi5CVm210CuS$ zeM50sSx#ON$K>&o7muItu5w>w<>i-fVG0V%O3G`hv|cS8Z3DxDQ*)GkY+`0&Wqk!d zT{}PSY`)uA-C9}SUIWACyUmU5bs)KXl7OTG57yu(-Mc^TxCkI_Lxe<-g{9S{@Ms!=!=ZxcQv_{TuZL3t}Qx2q<^qyaHy}NqgCrDdQso1 zAHiQKW0K2j%b&e|o?Fb@%6_RAqX!|pTT!eBr-2u>ND+xzJK2s`@L z1=)?AjrE;%$VT98vLdik_3GvtRfAxV%FVUypafgAL3)Y{yugtyQoOyovBro(4R?A6 zd(*C8E-o)dKwnuD({#e7>lZHA`P|w!!(=B7vzXFy?)-N)=RE#>O6p~s_#QfT^m{94 zPaL=B-tp6?E?!PEW^~|?stgoyrd0t#vK<(j? zp^c5zv9ZxN!vg~Y!d*l2D+@D=v%}-a_r?QZ7P4ZV*FY;sHshSZB|iyEAT+9QF ztLtl?p~J37vj~ILC5CN&NtU(b_Qv9>=3{{r;U+%D%te#!cn$KBZ2Vv2BoduMll@ciex{-3`2Eo{$Ee4rSlo!#AyO}dC^ zxEwqH?V_e7$jGwiMNKAS9erAK7dO&+Nw)70Xv3Cd^(nc`=@}Rq7@rzJUYHcm6C@(1~FE6XsN6yh9U4MmljvouzSe`2AV_=)XpzSuCJ}EaTGMM!CeUOtYO_++;(cB z=&>}5-eX(f=gKl+Q5a6*XA)B3?wPTPerlnUt~lAs+REnkrgLGJSC;%)fj2!pH8(dq zK0ZD=HZsFynFZm<uV-oAM=GB7mUKm2xRoL!mW>W$AY&CJYC@`0wN zr=~Tp+@^&&gAof$e9^^Ka>m$@DMB5Diw1jGH(|@mb;`JzjF5W&((~pv@e4l%_N0-; zwYkM8B^@;|JTm<0-#>emm&4<>In?OH*yS77KmGi3+g1PNGn?@o{_4PiuMZwPbj(h7 zRvR5VaL9Ufi!~2^d-Uj$?~floe*DXC4t#Cj2OEDJJ$m}W#qZCY@zcxi&z?PI6VPbS z9#h1O8C2C)n{jvPa?0-RE^RzoQ%cjb}N>LwWiC6#Hg*r)B??Ep=nDn;LPMWl}C?0LspMX$mYu}Hc&S(MV}kGq@uwf&Y4F)-kX zuKkk3&po6*IGR7a@8QOY~Gf{NK;}>vQ~vwczT966WXUOmDN7k`RcX z*OQme?J{=3S##%3+Ed`PO=1omFfk?VdfMUdkC?1ut&=$@M@^G5tIee5^CwM{I(F*2 z17VDqusJKJnE)Y#nA+R--hc0{~qWPE6RYE-C69IK%@ zAx_rW(^l75)6v!1*4f j|0LPZe@6M<-{Pskw7Mp2_O>*Bof}6DwKt{ z<%?{xX{zXLH@ll;8}b~oTmOnER=YFO^n3&E+Kk*g%<{2fh1vh-|Mh?WumAH)@%O*` z_rLk~@_%~irS<>mrI-HGOaCPvzx022|G)g_m(suV!0pffgZ};$e}7Y#-(Uas>tFx+ z*WY~e&2RsMzpuak`nSJ{zhB4o^>2RT*RSKhU#AD@f4@=gtFOM2>39Bq|NGy4`@3(y z`T94%l_jq9@Y^Wq$5;M6ukV|$wfW6&<@-uC@mxYZFYXe*^7qSM#@%21-@jje_0_Lj zzx3Z%uII15{QS#!@T*^a`QopMLt$Cm(yFl!xi zN`3N)x9*>RBK>KqIUY)_&KY0Jy`|mw_|Jkz--t+v~hwnf8 z;QjYLc+bzL>0u<^i*#I)A4P_DB~|m$2cG2OPv4h#_Uyf9?>u|@^u5UZ?t4$&{e0`) zciw&au7{B`RT~Xy;{9iDKYhpb&a-z^D8K8SXYab+Ra@kInxA{}wo1Hx`fk*w{`a1~ z{p_8$-hDgQ@QZiel9u_!LqF5QcRZ2j7w^9H=G$+*`PMJqc7a3qtH!SnlvKmGWdZ+`RX7oR}x=Wo6K;K}`akM2Eq^5EX1 zyAPi{c>LPKN3TD6@Y=)2uRnbJ^GA=;{o!j5?mxaK{n{H(9>4y`D^FaHfByL4YY!hh zx*r8!e{}ER-MbI&-g|gY;=$wl?x%N8&hDSydw72T@qNW*zW?OD>)zvg_aABZuBMgM zy1NV#_aDd4M_PP%@9fdtyN~YOeRTi);a%6=$I3o9zke1DJv>+QUB4b_?w-Wiy;HS; z^X#5RPjZHo`Rx3`X?lCtPtWf?zI*=QEENPTAdm0fJ9!A;$M?Lt3;sv<&K{f{pC6yz zKb1JWcY3b=`)96`2dAeG&Q9)~o<2MSo`i?-_TK5q-IJ5M$EWvBT=7um^b?$?_v2yI zrjn@eIyyZBOuUUeDFYzyo%-oI zIzK)*KRUj5e4=bBuGHb_!QttlCXUVyU8!;fqij@ob{KEZ0s!zRb#nf^xx*9r4_pVQ z`v+$ShbQ|-C;R&+2fIgmd&m2GCkF@Thgt;Ekqjq$xrsyR<6ZaTsCj??c=zb^z!UWx zpQk4$dorstDnCDz-aFX~AkX&q&-VAy{orm?9_=3Q1MlD@?i!K}Mxga%?@+13eF<;x z9`2s(?Vj!*0_pD2!P&8g2WN+Sr-wU7dtlx>+5>;8>fithhdVn*yV}}Is2$x?{&@hle+mrPMTL7&Epo|l60%2n zsm#wGu~>|ZZ>)Q1@+er!zZ|~pUJ=)nrt;0K>9G+p56Ii;O;xWXdT8Z6b>|lFnd_3Ge@{b$*o z!*frh<#gTIzqxm^d*|r(&heewhqrF+-%t<0Af5;kfB}hh{7J>*72+rrSG2oxcz$qv z|44$I(AOR0J=sH$V>*3)lv#t<2#W}^9o=OW_K)u!kxZ2&8^hiNJCc1u#v5$U!RhYt zIs453L|ZraZ``3SXM36ht=e=uinz3L03@`!8@6ZfREE7<2e)q@-rhaAvv<0y#j}T} z$|5OJpnz)Gp3{3rC-;t+z>LKXDjnZpL=jmfhj)+J(fzYSeHXT}PZGMCySmVa=h2rw zI)ClWCmglUfA#ry-!npgQTuFclF|9g!@n4X|G(5fZ+q1E;}5)^=dJzQzkmP5ufBNW z?KhBz^j*Jw?bhy1%)GsK``XQ`uB$h;)~~K@Tw8C=P0cUQZC>A;S(u)fo>*F2+)C-$ z#TjostWAtfv>MWLOS4OBODmfz)AOyx)di*8r)Hb0n=2|@T%KQ8o?qWsxw^eM*=nq; zFI~I7IX+RFS(w?rwJm3()ll%-jjJmg%c|1)^xTyC$D4IcsBLC(W`1Q({^rc&%;L0H zV4F-JEw3-N=BMh-ni^bwy42~a)~j<%bDEo;or(%)rxyHNTa?x!EL75%8lPR7&9!M_ zeraxQt~D`PuZ@p@1a?z%QzP|iYreI)y#X-Qq7T&s)xyfWhfqVA-HyW*R*_2v<#lrMlDivi{7eI?duGyuT<<-T_tLq50yt=Tox;Qh}0@c#`l1nL> z)eJ~5BawShcr6~{%i`Liegic$w6eZDl@ciLq0C6Pw7wVstjwdHvS0%?n5Eq{AzPrZ z9yLpNi^waR%Zg|nJw04lnalNfGSM2}xVE-+eM8zSz|1GEk%T2h(82TN`FU_I&U!n$ zI6c2Si<>Icgi8WQi>veMOh4z~(wvzMIvIeAwWP-$ap z4O>wjMhafLd2MxT6>Sw)339D%u0#f{tjwbfYJ_OPPtEhwBw=N3X>DVrrA?%spH@#2 zxmE%!P?%n5VLFx)yffyKmhW2`Yk9+F^8O4KLEpo3qiN5Y54hMNFJ zz@^#gh3UzJJGp|LA{32TJ>gP6Jmr?@7Fb+Ei%&lJ_z!>h-QQWD|2`x1&)c5oL#;pm zIjqhXpFMf)@&4g1kAxo(F7(MR^Fx%D))pj??Q+LO^e$IRgTuwj=+MAWvAfVYI5bcl zt910VcNew+@ zYSr<^*!cKpv)L#N^i^sVnfnHM>l0&|rsZm`)+&R;1O27KNUb_jtMnCnyLvmNJs+Q} zjW=rpL;aPp;c9IdB(fEU`n!5N+Pm8t%{pFr5YNqLxrd3P60>Z(*>c~*5 zHBqgWiwRm_P&)vWswI*>GCopkjE;?u0Ap~d2vhWFOx3lkEHo#l8{pT_K&ijCrvu7^ zl>vDGN&Mwh3avm(JF)pIqJDu9h_l!r_r}dso|)&dcx$MCe+7_oeoWfaxuEU+KEs6^WiJ z9hYcmS6>GR^$*kmyP3N6YinG$(+8*L4`Y~rc7FWu(f#*7c<*<=`!*skfA#mzIza!; zw&(9E{_M-o9=-PH;5b};4(IXtp?-@n0+x&q4i65G4yV3HPfX#eWU4hiS*wrs_4f>x z`WcMYOp}d~nGp5#cd--fc)2_vTWh-6-P1WTI$Ws^k2h+wbJO_g`RG`+f1q!CqR#fH zVXQXdRi#oMt5xUcr)TF{$T=`Ppj~zx`LR)*_~z%@=IYwo%G$b)Zcf1}>7J-fPdA%W z6QEL7|0g}wn)Ftq^9!>hqm{Y2>5a{`($GMCe9SAo8YgCLZE3Pec`J0nwYW6rDwm7E zmRMa~!vE6npn4XU^omn6GgIZE!BTm^D<*Spenz(8N@;j_(9eynRaK3S4r{$wE;eWA zakD%!L^V~iurRx|wKh3fhvP)EK0VXy>FpjKF12Q+qS2v&O0@(?Z(YmF^N{K<_QFxS zgC)8(jA#g6DD+G=>vQwdYH%&BEC2%;ivxY`N>TC2$#F2x%(iN^5tNY))}x~pLOn88 z1rK$ZoSv-L$JpJarTN9hIYdL2-rlaE;gZBqrG%Kx*2F|}yaI($Br4OP)KCG(=jUhe ztI?>9Gq3vP#@NI}O}oq_3RH9zBg4qpn5egPT)`v2V-2SVNmWuGALV4YBm2VQEU@bh zPg)WqW5YdtoumTA#@Mz>8Kbth;l?2gG4o1u>i4j-t3A@Ss(Nr1BizY= zUd3C4ot$dmSEX7G_ASh?YW!@pRTZ{EGwfn{pwQn(XossqeT8nUQP!Q+bPu7Ls38l! z5C){EkJIj+{c#y8ap4 zlN zes*k(L{Ck%h(lq#QD0nMxPI#@e=o4t-wgJ3^>$UOmGupd`{Kd^H5%{f?b+Pg#HB)^ zZ*yy7VR3$KV{K+`rmxW3m>?sQ@{Ep+Zfvd+Oo~P5n3=1_WorxSR5SOLp&y$Vo1U94 zl?JD0S}Uu|N=-~OCYuwRTkGH%9c66l-nLq;si`RjZ+32WX?c-oc-v?+di#1tMk&F} z!otGR(!$lN>$s<<#4Fe4<|+WlIJIa_HFkDxhRTkOOioU$uB`xaqE1~$YxS|Ap;D#&|h9zP)}R?CF!lJTN9Iwp<((u3I>Ub7hfH3fMJ9}P<@g`O;L=b zvths<9PDQ&DiuwPA_X2zP0^1!YCwN_x-~W30@%1QL2GKb!a__n8ujt<`ebvmTpk=4 z9B4Kt!2|IbrhjoB*OYZ3ojP3zi2jX6u#Caj*jS-7&E|Nir0GF0l*%kLjVTWd^s50= zs8Lp8N{?0$q@5l@1T_W*`=_TT7ZzuxS`(q)V-;p5^<9%&TkC3OFqp0y15+JhWf^;l zj?|1XV1l_MVNy3TIx?z4;NlRo)M`z)#v9Q~;0_XLiwC9&mIESiOoGQ2hW)@<)F4h1 zlM~(|7cB>d{K=S&<3eqGY<6}AHLBHN2x?-y(I^h|7y1j8ijGMl`efJ8kY1}==jM(K zUAb~;tful7g7hUJWK$Vwf;2E#tW+zEA0f}a{`gc~PtJ)SC>6M0TJP`g9j*-4#z#?! zhlj`mg9X$>YABE#vH@!V_ZRz?SC(3>=Ez8e1-;V7g+i|K@X#Q;RT?Z_zI3sxql2Am z&Q4stwPn_XCuC6e+MBPN8UFF72n-YPVqElB9?^fC{EuwU-;LgW%)#YU{)=CIZX)2; z&dnWx_OnBQ3XVG8vQRAa_4n!k&@*Q|c42y~KIW>7jWk8O}3hKdZ}|AR`V#BQ(HA6$&If7m_=vFMu)q5yFAQFytuT0$gq>2-SSXzGOnI- zWvDn4Nh1W`V4>cqGX@IMW>+#iP#dL`E{H%1oD)+Mq)6vBKB+BIB_fpDEGY4}y_9UdC+wq(o|L;i*goMV<7@VGWQM&yV=C$f_PR)pol z5kol%b}<_;rp5S3kVXe3o6HD{_1?lUawa}cEyZF#-C-d63VkEBk?w@r%-qz@{;h{kOeo*Id;k2|2T%X_-CrD_Y(QQZ zoWJ||;`!g&9&`DBpOG13drY4H_`^HT-Zm4&-U!#9KQM)`Lk21CWNVTguhqtMmdG$Z z9u6UkQlSzf75FjP*jTNNcK7uVE@A~UayL0WMbdlw3q6HCJ^kkP*2s93`5{UI0Q{pPkV7TcN>Q9GvQ8`i4sMWm|vLTHxOsW zAoMtOTDly=ZsB0&hi|0M5aEbOLv@&Slt%{r_sZ%b>!l(6kS=6obO=M{mlx~J3Fx@i zHrEMwD7s)oxd@D|?skwUOJyk&WZ51+RY zaK#|o-P1+-bn`Vvkzt;jxqka5Q_<7kw-mlNo#1Cslx`zmzFn^c%JU56t8D*Tx7(S@a1 zl8~hWJUYGpVh<~V_}C%jgAv?|OP60IoE~-wnDzIl++F4JcsnfK#A!*^1&`#!GObJC zR321%OX?IMCo^UdS`(fmNaCTKe(LUqhsr!`J`lEbLP7kQv-9NcleM@82n-%cn9i+lZS--2ipD8bgD*K#52Qby4>cXH zwRN`l4;054`q`!qb$nt>^u9kvqUDXP4Jv|Kp??b^8IyXEd4srG6+aC|XgmXhIoOUi z?$R!C0vE3GLYq@fwue+AuzJGxs+qTn=^iet?oC8WZ!|VGnk}5>NT{I!m!7`5u$q{R z)&uycit{{NUR__+`Dp?S^2o5dwnWA0B9o&buB^KvesT*W06=57P()0f6pI{DERcga zBSp9fH4C9rq=kT4TVKt#lL_%kHjQdg5%wSei>{Z$+(X`(OxZkFEj5yvTuXbRQQ+yk zb)`TebXjI`feBeyUL$Dv6BP^hY&3(L^o~*muuCG zHCw2U=QCxIlivWb(AQNi^;eiEp^k_=8CdcBO5SRM)d##g5mk`*_4oG)ZwR;-^%8R} zu~*S*K^?&@hJgdkpA+uj-yG8pZhR~Q)M9kw4No&XG~GkM+l*&b#Vuohf!Y;{L) zWM>+rF$>2P=VT}Mh0EBZ9uG}ms9zeUG@Deom=+b1ZIyUMD!j#X%_)+CqZ6Yj+|}7% zD z2FvCGQg4GwZEcr+_VWK@K0wsPJp8@;=Wo3E^I!kwtG_lstjGU{`S}Oi6E-J}-d+^? z_7C6QyMK23_Vp7hqmK8l-`FC&D94ejKPTHIU{W%n6sSOmh~fX_WMgal>YcqE63ubZ zmDZ9?k_|RlqG2X8OOQgq6x6^ZMyvV>Xz1RdAVwn(DiDRm(Jc~!y|qd^XjuLLnPXk2S-$ak4la( z|LV03wt=TDlqohq(2SJoRx?YU;XAQ>!U1YJFytk zT>90epHwD6V&J8Ho}XU;tg~2EtTLoGe!_R zhb&douLE9xKhYGn=D|h)R9hig5$y<<4&OLZTrR^IkT(q|=4W*w!dDZmro}faD+`Dj z9U)$~L4L(^4e|pIM?`o5jO@B- z4w;~ldawf`q|SZo>biPNgaL!Qtd!d1e}SE9;lM>*q)TpEn+-2 zPaU5g-rU_bi+*|+GmB@M9l$Q(%P_m-g$V(vS)}EK7-)3$SkTZjBzz)< zRT>b~;nK@PT1h?3l;ViUNu1S#2`-%qHVPSIo!aCV98!-M()8TS_U&!!tn%^>>$Sv( zvICs-DI6UV;Zl}0!fn*j15pU{#wCd4lwG+Da z7P<`?Ag*ThBMxO!KlxR;C(=m?rXgZ%D5e4n<0ib|e2_t4OPlm#c+4;oSfY)&*KcfN z2P?y%njBnST4XNP2Ms2;j$o$5DtPHf}wVZbAO??r+c7S5S(b3I~yLFnw;F< z-z5xkBKXqM;)t1-WQw3{5>u=KVJ(^==`N6q>AMT*a*K=B5iGEN6L2?QZQ0Pol(m90 z!mQXjF)^+o1C3F^@R6#f-Nii$eZBSC=)(LQ7zPIl%!6<<4|}{mS{f__CDVw8erJi| zP6-Q|7jrQZR*2DfG=bzftnoUlIg@ig{p$m$L0lwo71;ibtbpFyzKBjx_r!u6MDblxiMMJBj)%Nbr z@~}v>9<0FkHOlMm?y|b58B@un3m0D|RA=W$4iMWIGQiJIhM1>k>VcN)HfWv%)r_gp{(cz@)(m7DrXx&=*G4+KJ2W@HI2XgNaZ{*e zCI@qH5C2^_mX!~Csd5@1nB0k_8;l2k!h(sRN?GVWjLp`%0KUP!U_f7AuRytYYu(Ub z$;#nr<1(YOwY6nFig{&Cm>Yt~rOOw=j}B%c&_NSA12g9a1z@{+eaiwZ1`MD( z0AIUtjr5U0xGb$L3%TaeoEnHK5vB^trfNmf#U)|UN(0hWvacT1irk2uuv>~-@L{Q^ z1%5)%*<8ub7+5dT)6?0UsIM$9zy5UG= zJ?H0UsX_{2$MPEFim7Z<=xJ&aoEX&A-DbHA*+4g*4M8Gcq>iFUr=2Z#(3~=Hn5hZ3<9(a4`;!EWoozZu(8FYf(3aaagn-j|$Yc(?${RKr7L>Lre z1~7re!nE9Dk^Sp8u2Nz=ly;f)F;jqS(mEm95H@Mas`hDYVIU<`MLqQX!=u&y@*qb| zpUFtX(q`&gEt$d)(6rpalmTS1NPobTLMJ1VAPLuZW^Q_Dv}_P(`MX$xASQR+)P|@M zQFXBaTqwXWGqi2{`WC|=kpa`s$-pppqK{!mIkbrdG|y@RHk+i!bbSov4VqdO!_wU< zrz+;)1dC1ZrjeJv91*g~Q3EyAC{|`dNvIhqvhQUMxoJ@)*`FHkALyN&iSY>cf)z2o zmswX$9nEl=>rte4pr=|7-%-%ku)-4!Su7YB9H5u4HfSfZo`DDxPg zfMpgOT5AVotr)6sQ%oZYl%p`~>q1-kfoh0qZIGES?ZT8Z#5L*Y4$s3ylA`ZQA!F&i-?Kx?QH!Cx7mvwi)VF2ceDW{kUoQ|w=+ zZ6=5o5v^9Qu;qF=0UMR0UN`T}!uJ#%CVuoqok2Y@wL|th+WP=peP+)O%q%|dc5*?L1z+pMSNKL`cPjRxprgQK-Nr|Cb&(Z;t>lbt)WS@3XquQ4oG?s0ySso)L=8P0v4Wl zO9kE4Z+@y6hC3pmph7u4Gl0$NPcO{fxP7zT6iBif!zs7jriTU<|} ze9N&>*r>3dC&63ieK!HXOH1Y?H%&Rfqj&}wwY$4JOmte9z{=WuqFNc)3^|FWCbAXL zL7Ksal&M|BaS>q@L&ls3j!N0d5KBN)=p1Yw;wdMRcwh}tp(4mG%^@G=?E5CHC8Wo^!8#=x0%G-66Yi&z!`LCq;OmZF2Gp=REa?PHcp^cT8~Zg?TK zpa?D&Y*!c>u!(|sV=|E_+@{14`i=E8m@sfmX)r-0)%lXg6FkB@j4K#}_Qf&^O>-7; zNZ-ECLr4(mhjoInl{Rii~pSRwA z^LM|q`Rn;#a(Mo-{`qfhPtNo4#~?@MDMrxe!{= zuRxdinVy~IKWWQ=9aRRO@#&;b$`&`&m4m_$gOZ2zZFV znCQ;JP})7hjA&1ceWD6lK*|6x^M;l!SmPjIqXzJ3 zPHjnnV!mBpj@NKB^fqK>3Ftkl0stl1Fs4F&wL!sK2zs9Bmg!H4jcC|frKHhQ7)Byn zFSr9+2q#88X+a>A5dj#6+cqAAxk9DbbisLzm=lW0LomS5)zvO2!s?(r78vZ{4pD!h z;;;t1dwWNlak}S-U>cEBs0T2hMQ6+8p$|eAbU==hIbKhL*c%0r&RyjQh@RP)5dgZQ z3E89>xnSj(@jzbd*pcB!YQkgqMt}teM4|yKzY59ut=l&x^a-Azxh9A-t@KcZYQ_Ss zKu`wGR+fKA$#C)V1?bD8LZ}%so2TP4Jbv=vwbvg%efI7TKm0qxlKq-&escOBY|q!< z{C59f-;~zfd#87HZyIDVJSaqRb61@k1g}dP6o^d)!ONWJ`}t|h%Zp+shD(T->Cw^E z0c3A6Dw_>O5KLwnm?&jEAqA8SoixY%M3>3J)~t}2Hfv@PKdYlrwjTMlh%jOyloeeG z1rGz?)PSq`i3E>_{$Z>qB$Rln8Ak4#TdRKJl7#~>HG^Zh*C!b72$5uR^hc%55Ax-XVkF|?-LJ3wKyrLy2Z*GgcLl##tIa51xfsDAo;3om`ie{^d#wZSVO=w7k z**xe*D54EM#$|>Na?)3o+o5Q$p#dhFK^2T&z-hFIR;mJ_wD^aK?ZLDbTPZM$W+|m1 zWF+-qw$4V2Duj!IQFBa^hr^F|l!nac!IY)n3;>r)fY@eSrTlbxt~nQd#cSgfp$M9R z-D)#V)U*pV$P7~iLQT9dEz;h?7d+YLLqK_KYV*qT1WyE4a6ty10Z`|xYcA(~2(fw4 z>SHXcTV7`o{7+t8(s&`(=kVqrESE|hdphaUY_E=Q} z8*1o)=|-BY5ebhKm8K$uz0%$l1}693VmZi5db1=mA#{_%Vi^ku1^IL9(p1kyVLjA( zc0G(D`}+ITQx!-PV;?M_xrui(U!Q*V@lT#lSRjA-=il0%AAkJe(W8euyE~_6CkKZ+ zn^$c|GN^g(l;RcXz;H|BvIzzk+Gspe8n9s%8nuarok?^mX7e}%Mgd|f)B@$8WrG2t zT5=|>EIde%Q8J@U?g+0|I4c(QaZUQm1IBLZnYH+>*x%dTZHbScN@-Lg&Cz%}WjiSi zGwVpoh^TplJcUDr+Ip1BJ3gd=FUcoGR!%~U~Q$}Di-rM_JPdJZmca^Pr{_p zQ9?JnFfA%=s$XPtKv=*pIt4 z2ML2mfk-;?dc{JAE~Ze21$DYc1Fk-?lcD0WQ#F=myX~%vwbkLYt4(H2GnN%06JwdQ z0S#(s&b_my*z^b9!9pBM+*aU3x6SikSq+Y8lq{Rd#ArZr*8thpe$glrB(X%=c69ra zl99_cgFO(&gDJdRFzx7!bvawxYund1Awsu^9~nr|SW|WUKT*9n+XN&C%Vmct%Y@NZ zC>tR*%qBGODb6o28wh99#>BV>2Z|gvqxinw-YZuwQ&T9o1DFznyqF9;06;a(n;f;^ z#@fPBT5CwiLL?@JNkA?}f@U!=ii>v=GnBN|L9`cPRj8kjw`E>kY|qW2f+?iS8hIO1 zSvZp5@(P`8Je8AAsch`XGk#COR|L;J8+m4CJeN%x@Y(ifJ4%tYE7;?eNnz9YJ>6Yq zm;~%0h7nAii9chf$4~CR@#bsae)Da%H`(xHVTXQNe)!?X@5_F0xF^hG|91aC z!5oAQm)a3&hq0e_g_t2nJk6p9c4hmaO-y4Ab^l_ZhF$V|g5JhTBILGrS!%ervJ{JT zEJsc2ot1*3ob0$X$7pe7(I#zPg_#0DdlN0hK`UgITVh>^Sw#A+l+3AMx2UcoQV7NR z)|%x$G2@!1S7>`YaZ%-$hGk&Ryuo9)StJ`vrn)y{60wr5aW@0ta0~(H z@saNS*!GNufT4CS>dO>S7YKscN-s-oOfB*Jz^rESUWe1e}b`VPxb*?euksCeT8y6@eftl|?HlK`g=q5~`*QLG74~i;djjx&e>2 zsR7evli9^&8YFTo7#^)SqDGocVn3KAE@@~ayrRyScN3$c`lBN{oLFtxn6&9d{Da?M zN+`Bnvewvx_@HAU}wM@KPW8D&oVjo_R|6@jlvEkdqb_UhOTG*?&;~$ol0AE z#62>xIGxUa3Q&{JM??uBrN`Oleyzzl&gEdi5j4H_xap(jrip|tsb!1Ajfn>OH9cjk ze08W{O4nYwQgPa-miv%ADuYd9z1W);vCr_K)o=C<`mx?YWPC_p9lJ=a6;E3rZ7k-% z#rz%KQ9AiyLH5ALGDX~OsBFRJpmjc)@9XXCXd?`$!FpIQcY5y7&WF#QJ@ zrEOZt_85$L_TBg2o!>pZvvc!-!^-ZT@(+w*);HE~-?@!o#0LTJKZjWv9^-FM$OVm| zvIq<)X#h&g&tR}p@^^Jvi`8REJyW3|8*QC0gJk)LpUAHsr3l)co!j;hQGF49n#bxG zWHI{W7Y9@&PwwFT^xU1=>8BkqW1-;2_Ij*So{S(zj&tZd48e5#B#}MHrbr*p^pnJq z#;9YM@;OSh4J6k6u;XTcExd&e?X0)zjs>#0jMw6(en<_rogNQiP>~NqT)sZ2pL7&=}-J6KfIk09x?L zrpegQp5tL@cP5JAIZ)Aru|YaS$d^(QGMEp-GK7+cLn;6GWP_{Espf`8XJ)tgOw*!N zvqetOX*zAq`bGz8CGqbmbThQJGI0*j3N8!}X{E=Zl*t3284RjdIsS(WF$Wu)t!#U@)y`YSgItp$m>OJ=CE3)I zW}9P>7#;(m5EE!M%oz!J2QjC_`Xf3FJbXt|In~L0hQ$)NN{)4QcOc@GJCM8;{3SC+ zqueIbeB8|m=eJC?%w=?Rv?Hb&w`@GnoP3geI~Mw^;9=56c|`^O--r_l2Er2PS}ks) ze|k~uQ=H#GdNIiMM%=-dSin#p<3r?XM;g`oRDEgHNiq>8h7R^oas9juL1F7KElq5U zb@g_F*#wp#fIdx3)Vc!_Xga+qwj_2j%tQ}Xt!tfje%X@eo%U&zi}s^2JlwPK6tzNd zJY|Ntvlv%1T$!4L7x2vATN&XkiW#F}99KqPK{$Z{Fd$(KkDu?QD;pLDv>YHUDw2V! zGGG@jUnIQ`9zA&S{U7bs|oVa=GhEl*M<}Su2_gf_K>ebDE{n@`jE9^&__QFFo%ccqT z)K55x{n)f6YQg|0jyc*@zaor{de~f?R7AqSR}trD=`&J)X8&$;if(>oZ4q-c!MqV?dQ76V&h?=LY2;#$agQF90brPK-oA;+7^|-h9h#`E zZ?4!cK~v!iM|atHRMt{jQi=|=(4GeZ=t4laBXTA$x_K)<1CMSD65^0(v}MWU4~p5L z>!89EYBGmnZJsqH`eufc7&;)#>J}ErdRtK+uBNrR;#**2185}UEvQB$=p}RRIpFn$ z#etr17ep_3VB#FS5G#n2yABJiA%+a0F4ihRrE(4GOzuT5hYaKv34t)JeTfz5+!6dj z6ZMN;K$A~Q>Y$@G-bNlNgG5gGEh%)u7jCNG#mpG5u|QzPln?+blsQrMzor9|GHbkI zZ=@lj9$Tp5OfF~7jRn?>u2DAPSd&yXO+Lg##m2Xwan62TB+1dmoScrq)PDb~}|Z55>nJ8KX)Jpu@5l2}j$wq8Y@mOff+M4Z$R zq~_R}N3#$rMe-npCRf@nusvd;pi)1>qkfH|4CN($N*TE2n6962zjWo&^xW*p*$JoS zt+(I!_kaJl=jP|R?aBML{`lSR&B~kDI=}0L+S{mzmL@VtvEGz`kO7Q2;sR1F zXBz_|Z$Xr;2MRH9aR_)c~t1GhMeCWq?q86O>G8fa8jX$Bs`~25?%pAop>eT z!WMN>DLzD=6J`L=(uKx|C&7)6h{aDQ708g4i4n3~kl#Z3_?&)H2#_$MtQ`kVa{^AN zt}hfXao$YqBU_rYBf{1QgCk7?z*MmQSQDH8;;ci;{KPRFc4vx+=hV#f*0n7@ElG4p zg*bJkB7PUMGo;KK8r_E0VTT|tB8k)-L>(t$N(ar;QWELtSCTW2H3)?Zs4Xxcjn3|D zkNnbXxn<@K1f^Jjv?Gb=akfeWeT!*nur4x6i+rR33)Tys3B#FlMk{&=BMJc*chZ+k zg)=Vr95G$UIkRo1W%vMWVrcZopr;rfFfv92Nz+J?ErA3QRYj-A>;tjicM*{J%srk; zqDD*%Xg58Nz7Dcv8IH`7=Xwu0Su(W6pcK`x&7R&E6U9MFD&hUe%oO1)L_(*Nae_$h zB7j6Z^!ofKX~P-Q-2^H6gyF&U^<{o<`{heTBbqePLjv(7cbHDN$-*2fb<%o2k^lv6 znQ0=H&v+BoBGEb=$9)iN>>&AsStT+fP7dVwnW-dDzymfygqK7zu6;Ntn>@<$|2%{g zG!u|95~QcZL$#I9Ebr?n#(f)H`ojc<3(Cfpc3>!8FK5a7{hru zssz4Tgo}tBdU}g!NUAL?$a!*a06b5?1_nqmc;uGsneW3d(XWZA=IZ+D>G_e(roP|u z+|Nn>`zhA^!H3U8dMqPkd-T>=s@Dg?jholGGAKv;X(V-LNK#)F8(b+UifYyq((&>u zKXaGIEBPrg<4(R%MGd-qt8V4@7DGTSr?+0I83rtki+W)N50Hjs)d5BnF=9(g3N_)C z(VT~H)kN+l$r@F*s&H{}mXG2<+c;ZjsF=>TozLvba!0ZV9USq*MG`$xiPphGxVQ@{ z2L|5iU}%g16x*glO?->Puwab|M#(uAF9VSQ01c49u269s<9~|MMl^70a(#1M{dVkQ zBNdm8jm*q9L}u-f9l1cF3EgToGo;VqYutG21}Q6)U5F#C2w_1zIRT9S63U{LQhurg zQr5Z>YRwTPhES(&WDZnMSOT^ac8C!3T;UIO^3VB0Y%{tMIwT^bks%K2FhOalf)!LT zMCBlIddy>9F}zAkKuH_{?CfkOo>&YRQq11dZ^EvA^=Q;{0MYNr(Gzfx}iNW=s)IMEsI$d1Udx!K~XNt6HG^xnV ziln3SSltPFaX4M(j!Il)0A8MCYn0y_tsx5tc_-*^s!=wrs8deuY6yf*=YS^2xspy& zlfh+B&)y?u22z|Ux)1$_4ZdSm-{;9wgY;O{jy@DY0>KeSi$U;yn?r2W)`NtJHG)p3 z908kAi4_efPaV|%0v=EW`+l12PK*wR52z|}SO6U<@Dv(#D+P~F4sCS*;fEhyn4e^O ze*Du9449O~&z9tVf(S=n_#a^5(mu^gx&oDdzD3B*BNPLN1=%ubIkTQElr z?qaW}xAt5jH6F2)D2bj3<&`rpH^q&b_BitYY+`qYq;aLqWpNN6otugCYe$?%eBtsd z5p$m!H)s{Icj}`f$5Y6)D*ln}s5`p_ee))Koz`@mMTE1Y%#l3Ow&mlm_?)(4=wA_Q z2?n`PQU-#76x0Q&QF5>pyDAM97$+z@Yex}6tsw-Y4cYKu3J;%D2n!*&=@?=L1}8I_ zzhy+P#3?ctCY*C^t-3W^$yHK{9i^Sdm5iJUv6z}(y8H@*L{w-JU>F;3HH5i<(X@e^ z6Q6Z2o^wIKX-U0kc~?g}UPFPvlhR;H$q{3{0lYm1=~O$E2PYP^wYLox#d9Ng&6RWs z$r#Bho1~qW5TR$%rMMxsrGt!?#mjW9G!%={1bfn1dFIICbRyKlL<~hD3BK~>%de=s zW;A5wLWFb$>&Z7TGdShDECJgA2b2!a&O;MDdK_g!)+tWz|$ymPf>dQeWP&qx> zfTuNi^XB%MuQlC0`{l2mZ!=|qlI`&|Ji9i|&QI*1Fq0*qP1wzqi2SlBDkeclOV)TB zv>(}s9uROK+1xlefpnampGpYo5GXZxi@JzPGX$Q*H=PP-?b?lN*Gxh7blW))8iN(8 zl1-qB4HaCLXLDm6Av^&CeNrvDnomLFY_3412#KJndPhXn*$^m}9Z~xS!!>orT1$`K-T9=_B6 zScP%N?G1>=KU| zG!arP)*?n=H1M>`BViHQ58jX26AM-}q&YMf2GIKD%NKzSBcnDR9zw|gB;+D*VWEek zmCQjdECYa#Y2qfv&NgHjhH#g8C+0CN1(Z2P%FS^zhT$=&d}$tE+PXTr#Ia%*p#@k& zJtnRCP5ztt2&W`TtPLk6MHrrJi7f{RU#b?dAJuA_g4%j<;lj)Izna4`B?n-9A+fMa zV{Kr{G2t;5<*)H+-&h|DFUf{G5*%O9peo55l=;&ns7jM1c6vFKKB-``O zJ8x6*hmY>=?B1by)XqT@dVP=@a}hC5s5rhc11>bi1ZGKOlgMK`J5E2?BokhY6Ywuy zy1+cBmX;tbD>*f5rh1Y&R)l@gmFpMP#(t1WT^bsru9~G$QF8!L6>STDNVv%OA{jY( z6ja<>76`-Tp)M?ta|sN)3>I8ELh~SwG{1g*8z(9E_Vq1PB-%Qd_&7sLXXS{{DkrJW zZuWG16?I1hDiwR(9n3h;)7IVQBPHh1>|Nqf#ivtRabOQ&5eMc>jEu!fdc$#)F%C72 zOo&9GG^Z^cxj^mw5_iFoRdx2vv3qoa%`@x*727GWTP%cWwDrvHCnJdK*SBaSlA2i{ zwt66)H%rFV(|4jR3Q&6M0`k$JsLCn`#^}g(dln%Xqe%!XN$}MWIc*ly=LtlrDrU!2 zGCyzPyOqaxcy0Lz-;Pr97;=aU{PsJtg**(BEB?#O;3;GQLr&GB^?YCq2isWR{x4RC z>4icZA52b>Deb|`?HR9E%>?V|aSf-Owd1Wk zmM2(z&H3Pn=(nx4DiI`OK!#?oe$Xx*K? z@l)^4>d-LONH=dpV~m65h>xM9OV0L=OELo$c09RPUi}#!5pqIH$oqZ&LQhY%;>#Tf z5(gH@U^M|Eo1Xv@nh;>}0DW#*Op3*kv8MC-P2`o+8Q)ql=Vj43+M4z!MR~Kep$o(8 zJkqTj8^@=6cki8j^Ud?)4PScc`+xhMFJw)RNYCp(f5OJ-%&0PDqSkp(lRH!RKp4H+k58uCy+liO5Z0{zSds00Z~ zlc&y>&q7pepQnVtB zeyY}mI2NX;&4ra12YxmKC80p>C?$%4995Y~v*KifK&e5~iu;*HOfesAN}O__;UE+(SdV+o;-PAjvY7*pK9`*C;^$g&;SUL zafXMBg_+JV)1j_zZCE>kNJs)vWKe`=2=>4OF{E>!igE~+?O7%abfGRkTschYmx1q< zWkgl%3R>jVXzh%z#uCSvCTqc4UXV;~T=bu-Z>DqCzK52Nn^jT)TeNc!bHcUJ(T#=+a^~NQenM z7*VEd1G2Aet)M6Kmdj!d=>Q%IW1_O2qoL<`k)Z8?0&2^X8VZ+!xX}slQ$Bq& zlqKK`R5GAKO=lrRE__r_4Jx;V+aQIPMUB*eXo@(VHZxaOhOit&Fry@XsaA7nrE)~} zlWG!k0EEj(eOnV&Ny}`rhir;aUqqABxWiAe;Aty!2M4UOwer2sV7{Zx^b^$VaRe<= z*aiq+=v%fG+nO8W265y8tu&`C3{qiOvUJC$42%|~weA%-fdnI^m?*vxS6hq%FQ_jB z5f)i=OV%&HS^9NMtF zx~y@n;j=qp_?h}SGF8?kp&zTwsq+?GUNIzsH{z#E2w>3z;Dkk6(ugXNNect?(3J{W zn4s2|Q*jMtEWI+C^C=Ij(&Ot`#dty-w z<@1D6atcK<^JGAN$VixW1lV&uaL`{l7P6RALnU(<%%UM3VROJEjC6nm3~Xiz4JdSj zh64`Naa^l?_-uoQ*hr9Q4gql)JbvN}+e0?Yj>&_SX3FH$v^<{3rU;i#90&pFYo-8q znRp9`W5yPpES=#1uSP!Qj7&GS$wp7cnZICi=1a)&t{{=KnVI*;4j9;rd`afm60WcZm({eVM|oWJE` zlIxqR*6-Ly{`=qmKG~kv-+W{DaQE!N+5YLC@3g9e3<4kPNSQm1A#FCVV!_BjmSGPw z2%!NPv|~m4$Up?L6(M5sAdiA#00x(OWQ!nSY~}Li_Eq6`gh5dnph94ZBnlTwC}?>h zFyi2!g*nu6OiF8J+Ie1!%W*0v6}fsXX5ZwodVpD*U7TCLwq}~f(&ph>d`$@t$&O87 zc&kETL9*lYbv=p&$V5p7B&1%}6uX2IXf2RTB&k+-0ANfJ5i{1X=ZKgHTeCO(e`Q6h zStA2k8E67fQezb#JHlL+TH zRVwolvyfDUD6cF*=7r#0vbAw?Ev&7oHz1 z#&=iNLLqg8rI)BA%EMsj!r`J(1xaYu4}1Z(9+bj`6#IHZWl&#%L?j(eyuv1FIoZ_y z^exXWU*9ZrTMmUF3{RzAv6lZ*N1OGtY6bu>5C`2z8X_>aKYRIKx#{|Ns1aHdh(f8p zUBxWU|WjDS+>xj*CG|kXNo8@X-7lc$1J=aZ}8E4 z%_hEs;nT3(T*nAO5J9k86QqJs_me3?Y9U=<2&Gu&YJUj8G+}dvNUG3;CBqcKS&Krq zhA>!$fUwgpOz8{tq^EF)wb>nzNHa5nE<{cqcXYsF5VAJ{(6_F$HMS<;ygg(l(emo z`$u@?L_8wQw$b~&{au663zsf9%@U=V4bv-@@R^5_HaWtHp#<(J^kNdVmzJ2Lw&hrW z&mu9K>I|Ux!-Uu1#ayKbvZ1-JLzsq$IS~u~7iR@>Vz!HkTAs6&+C02EZL`yyNdcya z4MQ-3MoVT4KoVAM?Ag)PYBX;c%dF6XCs)+SVz9<=7@qY_+o*DI_qq^Tw{Xj;{7N zBrv|i8lE2nnN_BU7TVt6C!=d#W^rYa_l$#PYV_#7k}?f%h)GGp zj6pS1lX2uh#0c#yBZt-x`4=#xU@#ZQ7iq*{*df6--0AG;?)8DIa?!%OJ9lnait_Z? z+sXFaeRzIwvj4`LPxcRXD2J69gprT}69cmy(n0cLt+Cy@e$D0-gT<&d1;5xj1A5Icx*DGh~Ks?>E%jC0C#K2wxbEJ9& zt7@VTPOEUpsh?RG=`r~wp1nQc#P~|D1*##f5st(Vl+NpFV<-m~4o%GDY92wD@a#JWV2~sDA z)>zEeQ=V8dDnXTCHNv1uum8NUJdjIQ1JUr;b@o zxiaWa7>T)@*hjzzEZP&W^G))!4%%Hz!q5PmdTuO02c0^zWGAjq(5Dl`BEV)wAI&{2fL&yVD^kD1)DtSUuF zsTwnFtm^b8E{G+ODv>|?1aOp%YQm8>NgZu3+StCjw6=Pwv)#0sS>%}gmWW+Ty`YR^ zXM3H+Y%~<#w9I7@Uqfg`itv%c=Q-!tv=JOtj;h|0F73+c?n&|pWAzd@i)$jAK2T4{ z@bKZt4=mK;YB?dGO26ysE7 zjS4d(982S6;5Iw*g&`N~0zYZw1c*YLLMP#dPT=8q=|U+Nw#Lpo_cWZ;3XY%#7{D3U zD;#bR$Fc%qLr%1=POY1wH<}XzvCJWVl*Z%`Gw+j()@d>GyhcXG1n#4U=gIc$_@w&r zo-+;&#h4B1f@4eqsfUV-QQ@p&2yVozR%K{)b6t!_HZ;Z%2ae)1=rSQQe!z4os6s@- zifh-e0ah9}ltM@kRgSIzmrl|etDbp0?gnMn$?`TxsBVwsvIiV;O28ygU&708;22vE zLCjGu41=Ra8-i$Yo|_7J65z=i<|ms3FQJb1j&^>d=`9vW{+l~Dn!Z*M2b^@MO8o{e zPWM?|Gm#O;-=Q3~c&>HM`ORC~1_fy>5d9F32a8Yx0pS8W_8W6N!95*0Kb%g0HrolH zY6VhUYs*w2<%!z#rVeUd-`cQW%*-H`VtcA#R+I~q4epF(x!?L2d7NJD#1B%VM_~)I z`Oyj$46Bwbgp<6?l;R_J&;f)vrDhPS+(Uhci_>FgqusH{6(W|R#%xa>EMNf$*&czM zaN5!rVgTIUeu?wZKh)pWd0C4XL~LUcyV#Exc|`*T*`L5pqZ=~98Vy0nuBZV8T;9sB zT~eX@qVD=y)breh(J3@ygKyu<7hXXMf+Q!=imy|3b9drYxMaQJ><-!qqmZ<;A%}oL zTw1(PG-9M4->3v_d@0yIlctZDIzoED!ZHGkCg^NT=5t$g%ul2voa&S&LV#4W3MD8y zAiYIKZ-JDVE<>1;WC{3`5~Pl6Mc0EwDZVVH8a$WNh2VI~W_zv(5#qE-sGn$&f!sf^ zI@qTmBbOg43o0;p9#UswMi9m}R|X@UH*6!lo}W{Q0-4uF;ucH-7}3ZK0v1I0tsk@r zz4Hn(Vs{J!Z9I)HFUJl80ayA60(hj6)MW{9$Zo57?4?L5Q@X0kkZgUtV8z5)UFd^Z+c( zPaMLV)&e7di9SyxGI?kr)u-snx_gKxs?`LKCz~j!NXQ8-+Qz(PDiSND~tKnEQl;*y4lafPWodYLK4hR8*o_QLJ0aLAPYG8f&_B;dBgC>xW z&hR1AC!@x*iE~EBBea$gv7p0hJ_8wyaDVxge*pu;t+qy=Fd@k)$%$-!c;S6k_IR7O z(^%7}A7?KMz6V%!Jb}t@T;Jw+#Md-Ru{@7eR)b5OR;}fF{6r-N0GudEj6KhM_X@ud zmPmwxr0*%-#QEZrtB^?6LX}7R(3iai4I+;r)Bwbk|Ku2?JW`H|-+UJ%X^coW} z#8X;YEp2CfV1R#{s7p zC6yAOvOd?!V*7{1oSX%0^elKLio@G8s>Nhn1rN@vC#aW>W_uxe9=Z@2RO)nR4`8Hn zo{;_gnv>R(G1~yZ)+|JTBsD5zj|pRNCrv!*=X384aT$!%eI}NcK$*cnbGFCalNhL0 z62bYG5imt_t+OQ}QqCJ`&BbJ;nFXYCKmeD8`7y5P5Mpr{wCF?HtgdFmC~0N!;?)Z; z6Jfdn22jC0yg&!FrL(ROA5y|Cc9mp507gjEcI7f)glJ6_(IKE>4NH$KYJeaTS#D>= z3EZT9Fua4%$*KBmywqZ%6wTfd`o}2wOuM$A;N;(OBHU z$7Fb(e;*lYYSWxnAPYiIR7=ABq{6`S)&&>2g#@t~ z6E2?U6^KIy1P@h`!9+QkL!TVOK0hlCB~ZZ`g8@iImbIuk-dc(CZ_92h{)ouD;iI^o zzLR^wY>-gF9(^Qfg$g=Jle_lzi!3!OC1M+*+K9E8zQV}=REaD3Ugl`R2_OQ*(};=r zQ4iT?LiF5xZ!7YFZA*^n7@7)x-j9v$#wAV~#23ae;xxHa^K&dJy9G(sHoTGI{E;J&qad+eo zxsGTM1@h_JG%`}ZCuEZZ!370qITA@zYr!N_a=b=Zn?s3j<2pSkQPoB&r3ko?7>HoH_L2_80leC5V=%#iXr{hRHW`9V&+;kbYlIqXj<7~V+tGz)d6LfuJY0ycMx@n}<{Yg(mlG>VnxQ?Z0}OMh+tyvs4B7xY z&W+G##+~GZb>y1(EJGX+8{VW0yqVbRWJV*Mwx@%SxuKD&=?y(6g^mr5HV^ogJFmuC z?8_I4v>2z#x}aq}_o8K_NQe=~u+J$d4Hdgfcln8ZjLt0Asq~jspKLX?Gr7=W!hfo{}Z* zix%76>7JAHndvj**g1+NQ5!{yJ4KPAcF9|u6Z^#O&YAAcbf*)`lDLyt36S6dkOaXE zAVB~GKr94EaMfx_maJWtEy;H5IJPA@J!?sqCa}fwprUvW zF&#slNdW+19V&C%)&`YOmbOk-gYt&StZ#5D?G-BRV2jNY_O-SM;uve`EzPlhz<@rS zeS-fM2MGaiBMqGxL@4$OFnBWTf&-)cYsu=O9%73ltwWIw9#i_ejGRh4@z8KeQhNp! z?b1E5>DU0WGY?#^vKc-!#v8T_Su?opg=r2&Eq`+JRcR2e}5C;>X3!SZB z90?Sm%Gro+BD!mOLdvCbdm_(9s3P|N-61FnOQw^&P>i;G`c;Gxd%6se!YdGHU^YJ$ z?2t9Zl3-GRJO=ETf^Bc_Y!}AztDurdidm`?yI`!lx2vLhV{d=2eyv-(rnO{-$kA!{A6fo_~2##0gw9vrKF{7lUwC85OO zv;w*ClQN7946L)*EKi)(>|V8bRUmCjQ+mrdMtKOLMNG<~m@pzW!OWt$8w4Uf!S(@< zIRy(ic3iZ3@6K3vzs+zIg9%?CuaB{mMSug5oAnQAcJ{DP4*xK}#2=B#x8h+$LN7+xiAxd!0|u>w4RUaxpIk~(JamN?NqQKXc1cS$SStfC&+!w3 zBLw@_Bxue zdQ+uAH(6%kj^c}=8ns9h_{`ca%MbwAPpBtkphwxHj})AQKnTIJ5Xgg1h^-*A=uB>e zWn~8rA3!WZZyP=AK)Wjm=Y9RX27bnbj%Y&HXd}k04x+Z1#p*RrI7rJGSRBXFH4JIg z2{oWF7E5_Zbn~H#s`Y7h7TLRCHbR?WL2??Z1u0~p$L?SjP8&Te)xc0#EKxZ!_^l>0 zhHR?aMBfke_OdvrUW`#yTO)nM0!hX$&7p%V1Xs-_>k4?zI*d;1H>@X=fT2FwNnIUn zbZ1r7248hbM|@^5zy|r%H5++%&`7UEC%G$VJ}D0kv3|pDe$Didd(RnO^=2e>HP)hs zaj?hSFjN8yfoUYcIaVy2D5dQqXnl4PcyN(2^bI_qDeY*~qGbgTkM?#n?`7S@cG%mS zwi+LpFI>P(6I`cqrW^Jqi{?03F-tJ~K$N9&1I(t)V)z{3s=8`JqR0BUUc-St~53m77g9_MKwdYsrN6j)UtR~|(0x)L7oIddYJ5>Rk!+JA{(w#zn zdab{zqF=G)(X?&8gim?Rj*WnGzMnX!rETxPiGkxIgC|Z8fAs5*#*KUH2XFr1{dZVD zmPiI7BVrjdFUdV=;NQv)rvu=X@}K}1glzRgZLQMKs2Qg^oESL)Ra#bnC}1Gw?Q167xHW^PMS`wQzfwG> z&zz(xa^#%V0^8sRylDc+;n~A%FX~iJ-%+dRo1MYgZBwGQoJONO<4hUr$dG`g1r;jK z%2-2q#67{y#uh!~R8&XXG4BAARUrNXr;-q;uzS95_`y(W@X+fxkv8%qjdt+_Lf8ss zE?SR(YVza>7XyjFnH%~vwiuLHy2vMCD7y*cG;ae`@|;SvJ>1&Lxq|2<6@5`kN63e$ z9}SeZ7ZT$qG|-r(0aSjn3X@WY`9OZ!5W{I%xtQUFT8gB;&9%9A)R-~K>(~!6Ge;S| z=po|58VHdx8M4t;+UNuFSq7vnkBupTDe^nOpgDNMb(-@8+vNEjt!74s-ylSt1`Riw zz}~rjzLtE0#Gbpy!{C9{JUY=m_#v@$Y*Gf!u-9WLRvc@jjFNuELVA}Sd-w_@9_pIl zqn|cZtTS~=n>R*G%5tFWaL}lv6-ig{KxugeO_RkLA$r|cm}L1(%XO{5|9n zs`L`kEM^8Q>}r;Lz$K7ThOWn+m{A#T=@SI!dyT60@h2W5h4O>|o1der=g`3bX0 z%|gd<@>j0SS+zCqIO0ExMLaK$`|4BgDWEO{s2akhYf$3*S;Xx+f3PRHOQ}!mpEg zhghpkwLUe6Vsd@hJt~w63e;?_K^IgYCgj5p)EQK~h0fq{VN#$bBQH#P7sC;5iKAb2 z0b}Z;+$~Me89GaaXptS}fMWxXv6DLlJbvlzvNn>SZiMOw5mM|UuZK?7ir@5+Sp1PMH3gi~7h$B4u>GU&SZiQ;%e zN5X;$Q$M1Qqu`bd?3HuqHMT$yfjY29KIzI;c}x&q9wbl&-Gn ztS+krgz9lAnO5A!)Dlr##xY!!@q;%w;b2cVo51RzVla;iYuBz>v-$~(I&iE?1aEe? zG*vp{Besp*Nta~c&C!4X?V!q5l*;8(s6mBB4-D*H&G6tw9dYBUTq;Uk=HxTaJ$35z z@X3=yAAQ8`dGguwfBV7DfBdr_v507Yp(}PwxNxjkNL$L1emoArE-WUf&bI-lGRUAu z6rTl7GsaJc+kmM-(htopMD{wk=o@mTqoEJd25W+)6s70h0y0&HCf-#5p(`5P5^}lW$7R zlH@m{m*cnty|NEp+T#a1Bd?nC{89ZtWj~n<;1|}9p~8&r>F1wvijzHf^62YRtX|D7 zue(&JyuFdoEfFp35|tbBQ3iy}O8N%yn#jUIUg6M0pWJ)bi(au~E1jW5>q=&$PmUe_#2mu@1x&at*p#w6aAXZ7!F0!bk zS8Pp>!AKAGBM|sXb6R)r@-Xw5F2Jfm21>Iq5j6n7l~&jss`3?DDk|2AKy=tbKU8Dz zr%U%StuCV}DZu1fborVYl7-|Uk&!~Fus(t?&;1P)C}`L>&&p8IZ%HY}%J$qrCE)?3 z=%I{|FhdVGY6utA83QwZINq`rl-jQqqU1(=8(B5yb-Zl|l245^0ArvesP;Ir$d1f< zr+!4Y^fQ(bG=@C~B>r7e>{qXAE^`Qk8;bQvJw#Q3%+K(U`O}=sb3$zZXKeAUo;f>$ z$A(W1Cc8&|&kuj}gP;7(j}47`_P4Zmbsjp>-rL`o7k4$W(1HEo z(MCoo!zQX-y`A<&w5$BFV^#~qL7S4+@C7R28sx%d{D4U6BH|wMAD|l^q&%=K$bIT{ zhhv&kHWy{DQ9}hTu!alcxQ=!U_@lxGQ!O0fvfN_m#PROlFn7Q#0>#<7cKs?u_La_H z7rN&hT(e;{k5Su^gRy96x22YrNH$>v`+9;oJ5E$W$UvL5m*<$&8Y?};_&&X8R=#e- zI`b4^19|QSsB9%;VFHcNCS0a4X5vocLi%u@R94^?lXRO^;Q{QVvnY;0e&uK(=y;Z2 zxS>&Mas82_61Lh*ovdF25@6s>cid+Uh`U^;pRGmaQk6w1Mm()(9S;M8DB&*s64NxW z>pne4jp-v-6Ve-J%!0B;*LTcJ3Md|@sE}!Tu4R&uvFJn(}Sk_!A&UwNyp$p@e#v-Xp|5S>BnD~5l}A0d|C%7 zhU}AF)i=;*ybst@!i3ZIIF?|7%-Jwdh16BP@vc6x1JppbS#M@0`i$@U74rgtF+Ko`e&H57z{l2IXOr z-O%0LVGX%1XJAkyESrY94!H@34>*~+qIyGHyS+Wz@s6xOKJ>6bw{49TS9YeejwNYL znhYZm1Th}kf4aJ`@i_`Z;dxGSvV5gCQ!si z5!F+FMmt0Jx$~zoKL5|g)L*3NP^0iq2Bz)2E9Nq$tV8@!A|(bOqt8fsBj7zFHt4I9==d|`-) zj!Jqk6cI0;N}zJm7@yo26>zRFxY1EKfU@x-@~T9ORHKl!9g|ah#FhnSF}rE9$g|n8 zg$}l#Vbh)_`8S>fqd5essiAN9m{q4Zozs^3HVHxp=U~L>$Q9UixY<@^n`?*>i6QhZ zo@IV1`WQP?D!RkwqiJ+aH(>@<^^TiL-|anvQN(!BimaSEdzv+w{kg_P?^3`<6y>1~ zeqcsUgvf|-&Re{|!h|+yG;TRT6Hb5!2CW-_(E@X+8E)CYxe{ce{J=&}fQMv+B2R8P z1r+v^oD#nRk0>jg7kX;lq`-ViM+hW}1;_Hl7XJ5*nA+sp zi=y`}2N^X@f`(FvLn%t=3$~4o9mE#x^D8W$%||@T(4;AORF4hzSsav`!`ER*aLd}S zufDF*j(j2(&TZJfbz^m9d#8ZZo;urh+U8Npp&UFjqlV40?`UfVR&AYK3L|-lRwLg` zBkm1#y70CDt~^GZ#&99%kk8!YZ^Pjv&$vWSGg)-j{D|M28U_jVrpxf`SL1^le8|qm zgegK4v}WwWszC!nV2rs#+o7WY$z~gJCncr{sl|@B>4aAq6VaRmwBmJiF%j_@M!RB z7Z$5a2#gA(NNVagnKw~mdc#jD19N-I%EDj_DVCoF8&w-6uUdk)1ys!`30l+*iLn#& zBs9HzskGD)4$nV%-s%TuM1A;czUJp&`i>a;|MCC)@BKr4#tarLz^NZS;4P(a&3E(2 z%^=_-F)PjC3_;+t=g(qE888ZGPS;lfK=EqolBfxmna4w8*gec_c@J_SYpdy=w3av` z=P~w6=t}v#I21c01wG*tWfUN(Sl&Hl>LI=(3ZAHwc|;t=j4&^(LkTqryGTuO(m?J# zbR%;D&p!8^X91k6P3#l%b^6J0VgqK{sHU#UUaEph#^9|M)j8@>AbH0YGdmiHOU%>^ zLRbKrAQ{+!R$!e_KQ7Me!IOhjnld0!EVDN2LD$H%egR%be0ri6n2|aJ6@E1CLWM4a z5F@8$N5Hd{LFE`@>ig>P>pM7M}h)Q+(gp=8>1OCd{qE-07eV?N|@4svjf{WikD2o z1HJ``+7vKt*9zbrt7*D=Y_PYpH!`vTtgz?&m6;{%x?tXcc5v$_wW-ID-zx3Et}L-$ zWv_%uV!?jZef7KOzcp)C#X2U5Wx_X7WGsc;QqRa{uIY>YXPIKG0U6nbDcnw%U|rJz ziXTF-6RZN2@EH%SztpwdFQ}$Xl}A&+fY}gD?2P)zia;6yfKd*>T)Mc<Pj-(LWE77)8I-hs#iDwxkSw1>k3Ef7y$Bd@;gi<(L*2)EVb64l zM+d4|cqq<(HLHR;?Se!N)VBEf`t_^9>>=1#W9(^^W!_OgtJbX{tzd(qOy7!%4MdV@ zi(Ziq#ZKGWVA-y*S`Ah^raY1DwymvA$pv1=#?JLHdbI3mrm--scV$)Z%d!jdFla_( zEh$IA2OrTrB3wdU@Ba9QDaMW>v7(qd2DU8uD< z%OsX^DyE~H2NIURf+g{CK$Ieop0G;?2KtPA9wM*jh{jd$m>^f%LD_VGMPW{$6mgAB zub>%s(_xqb`y;il-tsP1Rj23j2J?Oeq3(sUW7}n!NoF*$Ej;EWe}G{jnK@$ZK#9qO z#GSOWfx+Iq!>HEN!~Gm*aH1!IM{SngG(u_vF7uGnNd0hviJ*e{%AIiP)G$@;R}Z-$ z8Ng<6Oh9<^JQJTXHp|Z;@eBZVBjUM(`befh1wZ-)1Ij>=0{W|uNjHQosJvd|5e(uj zmtQFWPpAjwb&3e00%1imBXoe>swiVLL{l+>3&Xw=0urNXpQ=JEH9#*I0N_$NsBoxH zU#U#RfRtZUCn6$>MpfcO+pqiL^nR!#9pNHbV~hNiS!Yb#R&;Jq)6M99jJK+ z4|Ouy<+%`LY>s?XxR^PK!D%La6_pzRK;__iUYtlT%#5GbACVr=f=Yggs$hnyhN8$N zY}nG?)@n+!c~fnq8+5gE4yhmCwzcua?UY8QFM2`psJsZ z?K!U=GsmW#k$`V8*Xc9z3kN><=!0?N_

_$-A$<`HCf#)HESZl4@WHhZ?!$jYWJ{ z^gayuy`edaq)+rmeTgCe9k zL?Zzoqkf2fjH#OTu6z_oGNVNt0Q20KcC(f-wHK)$IzwlYS4=n;CjqVXqM+GCChpGY?UgoIKV#;7N&)TK$I1cmZ zxI7p=^%h~3MqN>}abwjwn5VGKQ|yUnYZ!KneqnjGHBgzAM2G4^P2ojcFP^Acgfp#U zf>?iUry1@;;F+ueRpnj;j2pe<#i4ruDNRL!!0_;Ky&ywYZlgOV1L1b@h44k{IL3e+ zwK3B~oNlX`iJ`q_ElEEqmd4WTOp!EX2( zXmll<0SbVbq!m9a07BLQ=iaNmn0PoVpTed_ZGYs0CK{mQnbx88A z=#M!x44AK*%{vD}7tCeit+ZdQ3L%GL({UUj3!I+k*l<7rJa7vdu&FDkATD%0K8<); z+R#X^$+W(}2}m$3`00wWm!CBt2LWeX{sHW6e zb7TYMa2#_pDvJ zvQ_}Mvu&#rtz*4%9Ej1(yl!l)+f=)5y@U&q!6wa_F0nYt7xvI)sGw$ur&lBT7r16WL17bLHnE!v<)C1GnEYBe5itlCJ;6MqoWJ@(KTIg{6Ov3uTp z=MA563RSG}&RgRIf{ouKjIY9APrs8q>W6ePEWY#nvs}!z5~3QniFQ#!me?4&c*6N! z&FTQ6Pu`W*;6)(Aw-LqkA?tU86V0TT05{B^K7W=gh)Wz7hblUCQaFsaOTR6WB4Id@ z5$2Vwu5=6OglynIuu0^LHEzwwrf~Hd`7EO86%aAf81hAP$PmjZ3mIU%705_i&zbo8 z%8#WLn;#0fGlOX$W(rS|j$mQ3qTK{@q?*EmE<*(gplqC7)!Wl0^@r`HEyEQeV+1Om zEocFN34(Xk17=zo@Fo<%KwfBpAN8|xkvANCQfqfM4IPi91HXbz(=L7Yu0>BtBZkpV zxzb_Ol@|$pSm1J@gad%rsi>=4dc(2+USi z+Q%jM1>_uB@XQyl5){OYsET0p<612KdiLKK~_1PktATFSh{v~2ld^+ z02L*4tbSX|7_F^X5uD*Fu-ZY*@IamjD`n5fhEny=J#naN_|VOdDoi4h(b)`9R-y?J znu68Iqfd!D7>^b~{Y*Pxi{_9Ofi^?6_4Wk9xIwqYs3Hbb+-a5EqYJ&8W3@S$C{Tzq zEdmxwLs?*(Ct8#TlWSJ5qJAtB6L%pCqJDS-A6gu2vSanWPcc?7qpW^`$5cfPx+xfE zxgVUv285?wM4ZCWi@1V)jI-@BAPzcFsa6CEw6J2?9Sx3ol&3QUJPiI}%@}Q(#V;M* zg|{PJ0u#nVX;Pc3sTyGTsyw%~%`PHED{X%!-GBg6oN#BI3FB7!uuV>l@E~OR#QaP4 zN=l6aJodv0<`VVwdRJ-V5xhrlG|Agc`(>+#R)cUe87oTJa561es2mhSL;YvZoD_ih zDAsem`o_yIz4l#kuAYA9j_f&lv`Y}gjp3QF!Z+2QLs2{ySjGit+p5_ft*f)MueXQP z;wH`EEYU?0OwL%U{3|)IhPKcKTYhp80;r{R+!&|~1B8jB)sDc^SFusxme z2o2udWApZ~Z!ujm!f1b)pmXdUuLVw_Cri0s&gF7=xJqea}qEs!82(Ua$fsKwGb4|z@e8gb^N z^Drw2tL3eY+p6noYIn5#iGUE)hT=K_DLz zL9@PyHIFgC17m7tyXdJ-fg$gC2r#1=;{szFc+CwqGwdvs>vWDzg!DH$zCKpsRZ_;7 zoX>21tYk&!YAa;$)yT=?=gy6sI(_n^h;zO2`pcX>KmXO=n05h#A~C{|WBNn0*hHF^`5fJq{Q-VA>;ottIXz;__3os%G9yfc=p2v#z;xoabE z2_BGOc?!TQ1_VkPzagUD!3il@v-SzPA?s1Y6w)A*@?L~q?;8C;0wgu4oMVltN8g0J z$`O?>M-dC-r$e4_X@I>4c!4qaK}1O`?4(FkGNFsec_>}0HU({2UA!Y8ffHn97HrtK z2DXKkn2%9y${jEv&HKY3O|V`pu!)8JNXa4R7*vZvV^)$3_GafU3$U=9$2E1lM|@Q^bj`mf;NRr+Rpq} zwPwno(u$EB^MDpYRKkw*6UTyI0ZDB`cx`>H*|Am#vclUU-Jt=TS#SA#^sz?;?e&zA z3YixCNI5Yw|N8H&sd(e9*TmR)ee7H;63Zaa4*8?~NkB4R!Yu&}7{>}P2AF&*+^v{i z`Y8*F_CwR9^btIT&eRNflEF_t1d?PV`qfW*Lq=&SFM6VeaBS_~`S{Am;S8U`M3zwn z*bv4B;u6ZbaVvQRxF>q=qJd0~M4nZfcs9b?>56Up0jYj#Xl)`QCaiMSEZyKaluO-m z27u?(Ds$10h99Y0eCJ&^`Wu3k4(V|ZPH&~HCnA7_&iOLG&`s!47(ze}7!YC;1x(6J z#B4;|+taNKGQtunStNXXs1GA>lIa4Mj3JGg1vVX_(P>ImDd~yU=|ZCcL)SbA&DE?4 zC&A!51$dlQo|OTTnG^ZyEtpiBN|O9Z?66Nv?7IkWJiNRSMo^5*1~y%lAmCoL%HU;; zmZz(fEAyV|W166A7z!q#MYWV-)SnWw2qkNn6VpNq&?mbdTq1 zQ;9*qk&iY`Vb~jmyok+c2+aWlv_A1W=Q4PBR!EFp7LkJrR3Ra7=@AVIeu{^j>4N+G zA`N74V41-xr3Gg6&DF9PVmvm7lBk=`TLQUi;SKgw#T3ZZQp0NNu{HVcJ3zHjNrcnUeS)khUZ>=MCq6 zdW#dz1kGrP)95pt#@};tWcb%H=X&kUS1jfdW9O^2Fd*w5C`5d3GYAN7gy44Xv{#0& zkO2_I6d*=;L9@PQ$-@y~@kxSBaAOv@b32gn5z2e$S1J-mrk7Bey0o;*{q1Z2xX#)Lt3MDBvQjV|j1>*+IK}&Y=R7R)D zBN*ts(Or#B1~7Cnj1L`ZqnU7!4kjjw7_ztUi@_|x!w`wBoDqtNz?ew(MSwB6!vFtLyPKBW;R|p2xLQV?Qx3Nnw z2v%Zs@e=?hPu#E@27!E?RT%J|Cui|aQ!}WefoM%GlR#Z@;U)rw85hg7!aV@&HEW&- z_S_x^I{;Ngm*+!0t5&a4d6r9yef$Ks#tQqcxc3ttNQOo1h$4t%@JSLJtH0=;x-Hg& zvQ33e*{R8x&&R!BgGde8X}WFqCNL|8_jE0>c`T$yWp0es0(RleYOzROAK6b;wN9pq z?QfMa2jTkHH7XW75kM1)=d=)Nu^6WMhGGhDR1Am%>o7!w@vDck8wzM-^0>r^`(mk4Uk zg{8Ba1SFy;4DA#Nm1#U-zKCXHPI=s3K?08N;gdrO8w4mAOpXD7$Jv9;P?MBJhGZ<` z5B|w|i%pzVS7>EMRj%Ktk}2gAUm1d_oRkR}mNazbix(xcbagF57Eb87m}$T;#i=2! zo99XgKrGF16NZ5E+QCvvH)XH@UKu4_G(Dq-FJgFjFxfq?zW%-MzWUv_fB4qm$pL#~ z8NCo65kQ0j3@TpWL0PwL2ieAFpFF2NAmbngs*%iY#i?+t$s-xaYjP0|a5JXZu%E>Q z8A2hVRIzyp4Ur+G#9;`qtPQf|^z5Vd!79`YxjI;$#(5o=%o zarO}L-iT+#rXOnd6&X{qYV1@%0wkrH$L()x6}j+4bWFP{hg2()@Q(ZjqR@HN`t8`_ z08jBAVJnk0h0%=`BzfM#UxpAp5`7>RMTH@lAJYVR*4~0TkQgv>keR`kLE@5Oj%MD6 zE^>@MB@7j`fa7lxHi$ru8OXdMe&Nh1bwgMlL9$9nYJ-(slq z2ui}`Sq@OeD7(9@?6cD}7#K9X-lkwM?=2nC1!%VuwBz`UIlkf?F%cB!hA?os&uC}+ zvU?anW@k#Gk{gMW0E=#YMbDD-Ux9m_fFu8EYv=CK7LsS3t85TR_k$4&=yK#bFA zWh!w5j5_s)dVq=A|rSj;)*h(Bl!R)Y`dh%qLx5m=K zpb-Uc|G?IRFmHdAh!%v)B39C2RDM2Al)5c7%xi($=paPc-J+pk!@9NGc5JqX7kgJ> z8pVVwA~$IbL5g)kGL1hfVel9#vRkIO6ja?Lvs;D#?QhC&8 z)2~?@VJyRlK2miWGIT?f(6=mjHS^t~sj#v#D_7e~LSnF0X0bz$u$NS0uUAxTL^xt% z(39?lF;Y02`RFY69kogKC?;rR#ud9d@my`Tab+wdr9CZrK^-Cta>Mlrt4W6kKaBhy zy2rkSZ@%-otu+j0WR7Gc?=bd^ZNe;mKxDdy8-{D-Xm2;)6RaD1&z zY`;=s&6&lR&}qOL)D6$XS3ZZNdKbMZ z6NhxdkB}BCK}r+Es?$y&4qdX}Rvb)Wzba`=JssA08UEEt5OFI!8=X86&*H2^K{0VO zUA6KF@~THv0!N)en*2e&)GohzC}n_HQ%LH;q>WCw-?xYEiEcV-BP9-CDhx(^v)SQA zgs=*U9AJQostw3Z1CjOpJok2m3qz_ta&Py?rZRjL`bD;gBR02ISb4#7>yM07U;`nP z8cvZO``J|5UTjv*Q$m8IT8t(GoSmGGx4#Tu~Zf$jC)p{?Ain2Mx!tDIY^f5lT zR3$@*?!nsD*ub8A;q{dpSFTyf=z#=XGazFFx_Lv@dQ@Y}wpo|bxK+Lm1d@BiGGe&r zZV~h}pHj2(XpJ8zHE5iYu@gE@d(jCEcM`ZP97a!$<_g6Oy=Q-71X7 zD3p`3X4Mm7{vgD(5e~z3X4wv45BFrP@{}9;a=Y(pi4{uD;vG75{KTo@4?g^r{d-<{ z!Gw$YX|qsrUl^v%HD8GmpodnF-$O~zL*9k;(9y|9MiZ#t zz5E`74Iwtn#CYG{3MH|Ct7)sjQf;VbdL`SQ7Gc(ULI^V10b}q0VI+Oof^2`Y1z+vm zPENH7tZ{f`$jTtRY$}S*tQj6MoTAYfb?gb+(qttfpMSg4#RbB6do5HBccBSgOs~9) zm^2Ng9;qaFr>UX!$N`z0j$Aw1+e4s9KV-5JunEi~S@O_GCmNuM<+V_^#y^yzI59W^ zQ9QuV1tqmYLlAK{fK=YbWDqX7k0P|&lx;U8YEn_&%2tIgA7phkHCTsbLq$1NR-TKp z>MU7A!7Sof0=wbXY#d}e11d;-PBe`TG~`DdY7+oJaXn>~vZ37rm?~9|w?K~cWCAl} zn#u%X%+oqgtX?SwbpGil&0;7CZ)pp6QSBuDVEX|Z9Mo^!gvV?#093;QlxE`$b|S(hd_c8vs7#&zReP~XJ9M^H^6(N zIcDE^=o1A=T?pqg2F5~7yCT0MoMUN-&`QD5+7(V9)Wn}kDvxA{7rCy{00N2 z3e+=ftgBd8QM)nri3rWHbJG?C(qkf$19)Ykhhpt$ll^R; z?fq>B`;QM~7a`NJx3^o=Uk~uUu|#1ar9pyjO?YK(g-!mY2{4$jSag(Km$D-TK5VDf z$ewR$Jbms|-{1htSvXxnkE+l-*%>iuVmw1Op;sp&5PgF*AuvMVah91+wTbtVGlK_4 zfJnuV%SFLZ6)N!x#G^^7D)!)4GCx<|q}>0K_-= zfdM@3RY>t@!n*|2h8~7GJdQ-6ggRq@*CWz{cEVLx^1}hi&~;VNHFto&TkI0kZda@BZL{ zP5o8{gloH=3c+c*Ow=eIHv-5osc8x$>p$fc&UO+o!d6R;R5m3rTo5RZ1~6OYgAJVW zZ|IonYFm{#xga9UYNOgU!E!S6Aq~z9MYSy!r+TgcDkt@ZV}mz%dQc}gv!(*hNusZ| zc0n~fiGNTTCu3UvDi1xux|nC(`qf@BqfyK&Kq5pU_7$5dWZug6!uARnqBR66f$)vt z{Ehs5HX=lM2$=Xu{J`c+QVqA(ONExDgvu=knytR2U@XCq*=VMWY77d5hWX0MNQOig zhC9EJJ{qx2T2#V3F{`oPaJ|!5cWt*@*vYdehewX5IoEezc_GEve|GZB2#cC{;Wdf} zpSsSTJN@+2PiaRrUC;Dd@rGA)Ga1Qm`7GBh`{g9*zl=LFU zjG2W2sd7_=^LCF7^x4kZYClBIMvqNjV2&Cc;2ey(lZ>YX;v)S#`6mx@uk%CO}@F#dI1*z2HU&!f)JYE&1SQbSo;>Wi$J zGv`KFqISIl4A#SpBp4~dkEXN;!J^yHi^Y?r*+X7e%)s|S4PY%Ua=tgCBZB%Bx_~V= z){Ty1gDgzImaSs`!qB05>0miw^$ljMv1N*PwWxKB0X9g3YKa4Oqakx--LC*J2BHq` zbwi^l>>(ITwcLB%4G}~*UzLGpTF0kRkzdWb_z+ZC7vc)+fpGW@ZkZIu6G@MN0X&q# zgBuorE+~UisN*KhYa(w##RpB0* zJwYx)!`b7j3RzvqYnBN~cn1rhEf}yEB?S1aX58S5{3#qjqnKNf9%h8Ew1~Hm&cYeZ ziDHgmBUOtht7Yj=$7?(=2w(Y%v;#rkipCvQwcevhcs%O(@jZk zeSOw)+ioHjJ%wQ>uePq5rvZj302o$GTWTXKsIL|LrBN)Qvs%;(%D=qu z3R^j^9dpunn$BpQ-D5SDw-nAoPhFuVp@CRzD?;nj0sy?s>&^PH1`vbUoQW&QbOY+Z z3@{_12_uoxWe~!!dj(YGs~eIkZUH%%M}-;!m3CQ~#7^se@`RrCL$UmBh+oMghu}4I9?r zI`ylNTSymt^+}29Le@0+)33~(+{er(XoQ`Vge!x_#>#c|&U#J=%+|m9L2Cz7Lzyy4 z5-z&R@(=DAb`41M*Fb@MjIeJ%_E)fn=+<>mJLXoraN1j-o75%OV>O{4lg=EY}dY>ZL!XkKZI3rz>%4Ih3jRd#BLtahD7ls z8pjb}P>rdvHri2Rj2ot;=Sr$78>wJJ8YPJxt*=GCfzYG7n@$c7IJN>QfvPX0pFhbb zieMj9_7GI=DPUeP>+`XpO2nTTI#N2Upuj3I9Bzn18$`imf73B}$f9HT3>vm z`Nji0)B;BO3smx&VTKu$BKL~9Cn!6mPw&!~$lQu7kF=r}lP8rElPqp!kvI-T0MmJp ziTAQ;qD~y*GnC4)0`e)L!xJ6Egro)?xer;WRdvog4xGsQ z)+kJR%WjQkK)?o)2+&SRnEICjFaU-DLCj<8($f{hzw8Az*~Kw{eVCQw>$tLm?O_a3`iPG z2UX}KP9X-uceJasukV<=IJ$@JFTL+zTPw|oh6Wg1V@U>hRF221s^WZ22+&JfjRhw0 zSrW9JJ9z+&c4A4bcKDJP*BBf1GBs4fyI@j_CAp8SC8?>|NIBU$jQSB9;!i{?O%Uay zM?3nD_tn%@u`nn+SZ61hj!_$UGsWh(E+VSJT!2yRW~fNMmN;~WJ4c`m&C~XY4&iE) z8xA?%C0=};qAj2@>U4G=F^4ATjk|Yrb$8awh-=zr#~>?iQWg z%WxWoE_WQEjJY!#hfWULKuXvdNYr6cmd=I{({bViA9rj?tOlu0v>>jec-ScY1IHM{ z1dCf%0gB(?gfy`*M#{E#MQvC}yBqBVYmdHc*^qCTPmw+X6bp+mxE9SfStk%E&T_0j zRO}NgAG2kUVnFp0L{rum-GfiDP561O(cH|?F)60iYAI1H&*Mq;5?`|_ zDMyI4e*GFlhy7@2K5597)ar#z#9$j`g)vANn9-UT0gPN`;bW~5N8*)720$Vi;PDkk z_0X?;PCDft1IR(HjbmeCUtT6PmBTdT4QHH*7MSPqNRbHY0sgg)8CaYGWZX*|Yc{el zTGBShYd1)0jvPYcYV5P%V6xcjH=-1=d4ep0y>WTAtU%LN+lNUi%iF;&oQTHB0A;W7H}u z*H=|l+6*JMF4=Aez&I#P(52m`r$+wGbw`MEia^Z?+-tdNjc(3nlXCe2(344v+LIW&hDdvAX0`CYlJUKdYh>t&0$kP>)%l)7RE(a8o zK|sW{u4%wiBq$k#YTQ;?S4o=thx-^kLI$Q?r=L7+^DOfwJM8UGc1(4}#@L~0zg>@M zH4fI;RfX$Fm+3IWBi49Ch3?(JG zv30L`C9S-+a?Q>?akOm3`t{sKSiWIPt%a03ciS#cy1I}x^Jx2yCY){^wN&eHkLsgA zl0=%oR#!XYGjd8)ZXl&Fs80aHfKhozBbUtf&Q4Q240e!I$=xxPw~e=*BipEIip1PX z7}}iAT2ITPc1T-EgJ*Iq;XoM~(l_cGwmh+Vl@1zIkp?_2Hmd^Uh*K>YptebLLbMI@ z57uq5#a}Ba&y|~sY64nzShL&NP7iT?8Pn){t7@yNq&jVG?`(5!yc7Ir9Xy;Eqmd_1 ze}!4;DhtQzE#lzZ;(yq@NdhBkb6|1KGFHs7Y}IH3Bk6y!Fe9nDjg=cHZ_8on$kfM% z&>XB`TMfvrOwy+?WqhzTQswlBK4Y9EwWrZoXBTHiNG)$^rV3I9fqVo zxY<{&d5kNbQ9@1Y2ek-ZrW(J_)6YCJhi82P^(JbXDTS3O2{8AG<+puYXYJd$Q)D53(%BCo44)v9$2C>Mle8%>RK zEQ2r<9R1CL*(2}n5Shrid{#Z$c$$(h;iBzuZEaO$-mr=GP3j@`mC$a!jBw_Lq+D~P zytdBi5W>sEC~^~g0=va@c5m!@MzSL$8!=eZ6$_wZ=VfC&L4-^-c+u-D8<~W+QAO$IdW=w$_$2MnQGHpxMDuRM;07KwRY zH$BHx_8GFo-8_i)+O~Bw(?QVC^72aiAlHSDO->TsANO&N2eZaGLluT%T7=Fvjj}v+ zn~X;%p;lMY)T~3nMCUjN;aD^la+JQU3kW{oz=^TT(xdx^T8G;Q=}zb!@v0D-;Nvi!i&$n z_4ey8z4BtaLwk4c^tLILc?~B4twWt?+=$CMp=k`FW>WGD{RAS)F577a8!ABy+GkN4 zZrkm+nWnQ98`cXfrcKAw@rpaQ9XWb90!dwm`v-f5PV`&W1We5G)YE5WDx?*~F^jQy zF%lH&t2S+6SMNX8Z-a|2oi^zsA3)Lykjw|IeCZoHX5U3F?9QGe``TLU2hu9ZgTK__ z;TE3mY3k@Y)X_zm?QT89=%+c z*mCOZ2*b6vzsLTm!c1z8EUAt*=M=B4SSyY&aH4-}+Ei7HkFRLWhE)=-nH`vs^b8I6 zpExlnYSs~(WbH*&{%$b{=|{Vo!$E~Luz6+Wy1XB)*%>p%WqIZC;p40*JVjPWr?J`e zmK&zE{b1km-jsOJz)&#bpbnK}{SbF9rIv%uOoy$FTTE=BrK;Axz&o%iJUf~L@fpCo z_t;d`WLdT^cg23a9xyfAx6jG2$5^_%cgy>y2Fz7)E^`6cYR2p>EsZ@r?YnnvTeIe| zrly9$bO0(f4~M8`7(uu#TexUhA={gqIVV{4+m7{ikv6NGO#1a2Wu+CPk#nG8=aVfp zQoN7Ex#;HR5yUoUB;v?@xPwnCmPj&jU_uFO|wE)iuZ`5!+AH8?9h7q1b4|GRF2cdW%F@)o`%g4jl(9F_a1> zXUuGr7E}f=@f8s$Pxi|@JIUzf~v#|ICM96x(* zgs3@-Z_hsagtt1=z?AC5$nfzK1H_lauU@y(1btwr@8F?*=bt%yw6BxRGU!)U1x8{2vhOg$*yCa zPITq3a;!&ZPX`<8^!d|$j#KFAwDs@{uRQ7`&Sq!6xLNzPt zPUn@{_5?6~g)t?W3nrLd_Dwr}tgS=t-{G@Qp552F??~5?oelK>_I_kE*z}LZGS&L59|B55L{=@j~F9aDvi6h?cB5D`R_j0 zKXj~dr~Ts&cN{%@=KRUtzRuk(GA!tm7FHA+%Mow~TV)Z^^brnw=GpUNxn>PkgFpT3 z`QcMTCJ|;;k~t4|wjDWoNYcT;@quG~$9Si>d=OXiB;~ZPbq{6F{5{&+VYzc{eHFz3 zjNX38JhW?%gBIiXfMH1^r$_jW28RZXE!6Gdj@HIq{16A=*-}JobMh2I4B}Ej+w^){ z({6hLH99;&XiqA)T*Qu^Bj=wzyZ2zTt@M~>>=jlo1Bj#&yRGzeXWI)eJ$HP#kA~yA zd;W#ztQnxuX(k%wsi)2%H{I51!9zP*wC`+|G-0Te4clT42|2xeJ!j62&<*|ly?l_K zGoV?tY$gIih0_F`9hRN69qG2Mxm49b47umPt^hjYtmYg@OzMG(?&Putpc@BVQ`R<>n4;>I@_8#Kt(}vSf6IK^$~-!L6o7=OwIfR zH}2WrOu9$p7RvAWwY=t^{Nz1$}KB~LSGEUJ=Bs44Uz1RA9N4n$r~?9?c&A9v$W z1tQhZ#zbu36x!hZ7UP%9ecW;GjtREAd-E>aeMZ^g3ZOK-jH<|TJ7oWEf1 zO*h{-Z~ok+cP(DHX#T8Ow=P?@boT67x6Z!xfrlShbmt;(eSYTW7cX7(#jkwvv)BDT zsP4LZ>5BVT+&t@M@IUgUN9N3%v;3arU;gS><}aE*Z{dP_?|yFtAmoB<% z#a&V=l=WVESPum?YGXJH`}|5?^<%(?Aw+uUwY^A zrOQ?~v~xM1n>yJp@p^WF#Uec<5- z=gnX6$6x!C+h)&Nuw>!azVY>kzWDI%cievSZMV#sKl{Fi?)C1%I~SvP8 zGnie=S1kYIul@0oWlL_k{nn*--*xYU_bpnw*yk;?Z=JVf;XM!DcgKRcOYd2B=Zd?Q z-@E)PfBcoNe(jHLx^?Efh4TQp_|8Qu?pZ!(&TPo}!k54B&=($pz!mr2eg8xE-T&|d zx6GLZb<6Kt{)abSr}g_DzW0s=bC%w{1ZI}qyJFE@cRuiihnL@XkM7_9$OCuYy?EZ@ zc?*`zQxz7Pw`l&ddzL=(m4|Mh2OCS~F1lm(+*xbl(H_LHliUZk@Ye?xH0Nzxik1{L)vxbmv`5T(joR`ur`|-?`$> z#mg5jyldeDk36_^S)dEsX!MI;{_-Dv^{X>)xoOVA`Hy_%ODeo&_AR&1zkT-n+ZQcC zl%;d#&cS1I7tVX|3lCwTKl%EfJoLzebLY>wW8NGTxpmGgh`Q(AyY&brAr{-a9{j?C zkaPRo*|*NQ4LO!9U2;2#xOL_YH{ZDY-n(btG5h)(ufOj4Kb$>RJ$KxA^URsI&73u7 z7FL;c$L;^iXNlP7K7Ye?bMBZu^QIeboO%7tH_ycI-cs{**I#%0+}lxh{^A9<-hRv1 z|McsB_V4~|@tuot_@Do$Keu`G@QLH+pFBtKP1~6@<^~qho1n1^T;l&6<1_>R5WzR? zv3?_>oDLe>9Wgt8M~aR2++s$PXvwi7r%#+789p^K^x;QzkMlCW|HHTWn!Ar3jhIwA zdz@t}J`%oE$>@jeAQijSnW+yP?{Bs;E-nA&S`uN~)e^@q%g<>)eCX7v6UUGDuU)3+Uq0>=pSb+WE5?oU#Wn7-EAo9Rdil63 zCR|x~DSnK<%dWUQ-;_Q-G2SbMzbnR%Pt~NapSWz?Wu@1OCG!8p#}_{>ek=dAbYHqD zmin#!ANy9ZLl<5jTgGqYy}V=r4_%)aQ}Xh0mtA?O7cNUR2Exm#zWlPNVeB6yD^*_2 z<(~**mHtNkT6#Wi+=NL}F1sRiveZzi9?g~hO1ExOFA9_`J5@n*FHpEId%p-${1TjbiPD8f<#^7IF8dAb z!Do44bzZXC=-p+Pp zqD-&sFA;VzxBj<(_RU$h-#T^bue|cgi4!MGoH%vr)af&3Omj`2G3~0Wrp}l# zb^7$lQ>RRyHf_4UY5q;0GHqIXPeo>2J$=Si)33V9=QJgi_pSnQ@0#Y_X_Kc-ovbBq zrRP(oPV;X@`g7-}iBqObnlfeb^yw3(PMI(*8jB{T#ZOaHyHlr6ovQvBs+uxs+7uP$ zKfw4s-%s)4v}u#3Or7kSs*-p+O$nr(EG)XQzQ} z%J|8XuT%yklfhG{)4P*0_7ni3Ce=16;D?GJoWgn<&4DBk;->`avus3;{OH-34Oaw2)Pfaid z62K5pO^i}O2+dBN7UWPS)tT5MiUDAJAR2WrjDAh@5LdWQkOzUHm@0z#gFkaeqN?Do zcq^!kT@xKkFM>1oP7fzf$2mdYAo_HLCzGy8-u0>7^g0N!UldM^3T#}Inh3N5m^2X; zH!hqC03;3p!My;P5gpa%%flRqKUK}0H`kQB{m6kAUw)3i@bSmLWf~>=DR{@(V|El5 zeIrnqqK#ZMBIBGua>&dF*E<&1am<~EPM$q6bZ%G%a?(AozxC#i{^rLozy6YG{lLI6 zA#qm(s$y%krW2=zx9!~8dZe}MSXYbnO?!8m(5K{Y4$%m;2$!8bck18$hyV53PhOQF zz4FQ{kTDoJYZQb+?aWz;lEEzKnZzQ0xQ{0oR-bXxG_^88E9r0Iln_MM_({sd5~M`VcbNu@tNhxr~4$qp?faA2uCor>jFX& z4m}AV(%&Q%0E18kN})HpQFkp~%qy7-!xG3tNhIYGot-*)d|W}7APub_ z>L>04$kaiU&g2U+xxgHK^n2=K>OxQ<>$a#q{`_3(Q3-%jF9PzUpFGK}l+cySWEABW zqfD+aqa6^bNBPB44F#}bsENUczH~z|rydueN}v_)1LlN~D3Sg`KNV{(zsaCZCZ@FN z3tc0$(@)Mu?+-JV=jjzA-@(cXM_8}DcwaP`1DF>x!47Ls>v?=Xc z$yXyON;;7U1ZyRNynA<@d*Eb1Lb=U{S~m6fR7f7nzD2geMsodphwL*ADT7wC{+^mq`$(qM26^Z zezENJTuJU)hOqoIzv8XZ!wdChgO-DD*cU>DSFXv9%hn8M6=CLpsX{ZTwR z=rhe&*liOpOLMgAZ@7Nb=Gqs(_q<5JV~;=ToL5?hmBZQ14a_Z+15Uip9Kg&Vv2Q+c z(=_X$1#Hegb545UFMlP*{@RL zM36vyQdgrWkVT>VGmAy}r&oN9Kb1^~@i#cB)M~n!Fp+lg(}l}jsgf&0_r!1cuK<;Y z>3OMGlu7-{Ef!u0qe`pMaOt{G4~`C_C9Jq$u;Qga=)8#&3r!~}$$c-hlAeSPPWm$t zmhMZ^Q@Xjhqw!7uUFEt*b6F8(zLI z^3O}uoRp0+8HXh#c;e4zD5S7{iu0hX0E)WjLR(`1h;{?SQCC5K1SFTzJ*5iWz!iKc z8FxupWZurbi26$xqbi1=;1gG=7wNr=5FQqC*`W^(y&QRE~@8G0zelr;S)Y9MCy&k#E=>t-ik2N;+#HM@|j>@>kZ9zViBO{5^D! z1qp(6T+EgW(PFe!vZf*dj8jQ~u6}bZ#nX0Z|LbpjPr}62*IWY#w$8QJT$^wLTyt~K zhbGUo3fv=k@y~O3%{FeWyvnQ1?P}T$pVJk=3!&Qb72Fou z;zB*;x(9?ANT161>7vV9iKo<@|8nufe&oAggA{*E9ZI@qlt?HrO7|q$3U19;X1c6k zlE}r3AZAR(k-K!00EmwgKn0U1A-@EPzC@krq0fZi(yOCya_c2vN;hgNHWL-Ar}S42 zKmqt9H|{ky>aX-x=|+KqY^Ejxlm5mu7nWt}NCBj<0+VzW8&F~K_T&C9^(bzVDQSqH z*UH~1!R976nt%0G$20j7y+bGF3yr9hQQh~o9BB!{q(f7S$!(O4q{r?_}`GpX7V?Oi3qY^_gd3<)50PW5O^>n#Xht*jfFU#L_)!4m)M)RWqhv zHNz9K|9k)H_fDTZ{oecUQZtV}`d17fd-&LYgZdGFV)29tV=rVusc_&pIBH9OU-y|a zCmoCY%b0UL_riDH`2HI|`sw>}@Ms-N6r>9t>p%AFbI(vek}l1&?3GCONKKGgEGz86 zhws<&`0-bM>eHVxFAQu0TgUY@*{ j{b~*{CmDn=)Z^_LEB4ljj9xm&*D{HbH2}f z6vc`)l(fYa6DM3TX~N}bSX4Y=Tuq!{M#2m#7k5>K>5`hG7ySjtlnE>FT-4YnCWSWA z=!L%`Z1H+<3z$7Evc6BI7}A-cE2IxM>sD_oN%^0c`w z!c}T6*HCIXzWP%5h;P9sKFbP6kA z((r2*uFIF`qX;JYNI2~`}SS8)W9i}#CC!lYfQ3M<;6^1nm(l=r2CvGRw% z%{^fL@hb^pd5=n6&bp`kr_%k{YDHnidCGkFz~=WAuGG++aM$PZML60F=);uzvqM4ui1{}Kl}Mlo_pb0Mvu(~JC1g` zagwP86;@W*LDziCvzQ5?*@P3US@5*YUSYHXq((C1eeIE6d$%DuR zIR7cS$6Muppep~0f6Bl9H{X{Gl+q1OEw3%xvYw3X@`Zktzfin4@PB-PV!`--lsM$C zxsU7@%Ajyx{NaM7Ql>MCKNgfn>1*jGzg7C`hEY&n72)-8l|1AFUasQ8k+1HG;@^^A`YR=F?_*k&Z%jf%2c{jh!AE8$) z3L{6l$@f_q3r|;O&bW$J9WiJIs|2+Af^I!hzmsNc2r>>oL)r^=@NrX)H zO;SB!`amVcBdgerhk@Co5EK zoHRbJGL4n%^K0m&vdfbI1lQor5buz%@)z^{D7K9k{;|J+C+UEK0w|gwB~egwYCAbv zlciEZNQU;pXAx1QC!=ItoflwE7|3qT-1L<|Nq@O(rM@Hp{B+T!Tjdr+;_lRuR7dW# zhowpi-MQFD;^A+FBB(C&E#*#)#cM(NWffRZgauC2O5sW!yu`ajP@}UYWn8?u@OrVH z+?|VnPejb5EPRe_Ci#m?^+SGmlapF1DGWCyEmFEE|MfTBmkPTn|I1L6Kgst69cH$2 z@l|+EoYTz9XK~_{te>QNIDc|x^fjOQq_`U`LF>Hy%J;tY*rVoI960tbrG)4nrwllb z=*&}R&VT30lc!Jo;un$M^V-X=zxnESUVN_g@FAv;{o5VWX9FWaE=w#X?CLYE6MM24J<H|U-axMDp8 zeUr3Hgi{JQE{8~C1p_fZ)w=a=S&^v6y-y{Q5i?$h=OV=uQM{x#lu3e^3Wt96H6biy z+fCs<#O9*EU<8@zNl61BzFs^rQ4h-_Pk(X~J~M)fTy#-|g)af~Xf=OH#Fk{bbaScd zMnB6{3n-bU=cwb9}FI4w2x+fu4N%V&EQni@`xdvclNPI2VBKf|&OfEV0 zbJSa<0tH=C`d)SuKXIH~>dFd<@5kDt@HVGEdMCSlXaj3V@(PA)K6R~JKZO7AqmQ0{ z@%gX)>DO&?;b;R}GdPmWJ~Ng_^bGWzv%kZs;a~jX=i*#%z54D?-nEB@y(hc-y1ROh zv>e#e)!k|D!S;@huAa_M|BFux=U@HFYgs&#r%exkP6FZoXYNg)^*X9^K}q*sO}2D( zHCrAS93WsYW(JSUf!6_&elL(TWU-P?Cm{*M1PI1pz+f9=;|Z|A^B@nhC0X;8u4Y;C zAlVu$OSWZO)?`B<$y={GFWu|CUcFX--~Ot0?KAxUz4EZ$t9$PG_o-pmuByGiv#ZVo z(Fr`T8oD}WJOFB548%|AS14*L`g3d>o2e=>3u_BLbH3(G^#K0pGeYmm?fmx7@*+^}n5lMV!E&^4w z2V>T3ny`UI1VR}GqNvW0BAE>-Cf1dtvA*_>0_c=IA6<0dIp_?^tjq9vGN`;FfV3V5!X|lnBb;;&^q6sU3Q@l*$2< z=4qeWg;Jgqh{C%t1luM&(-P`PW4Sj=F%8fDjdO5N&>br&CoL<^mQpU6o)?J(atnuI zr04`QG~5(mwxWuM=lAW}yAyAS z!FyBi%==yU&c&N!aLwz12RGw|5_s5n#_X9UNU9n&XNd_pC8&GMfpl0OA@*pjd<>oN z0VxEvkLP>ajHVvsV91qIm52Lcg;jHOT{FVm1um{dlEi|1)bYW?mQ8-R; zLXL_`9ql=l#~}m+bEa|kk>weRIStR6MNq1SJ*wAhsS)0mTD%S=f+zW*N-4f?0&gix z*aI(9nS?!da#j;Yf;|<~d6lupE!v5IJ-DXCyPhNV00e+Nxb;Wa)6a*evHH_LW%>Z% z2QP6xc=*uY{r#7}b-{UftrRY{<6S-r7T&vT*`n2WoNMi>-|#yX4{qIZ=vRjhyzuiB%2eN=$5|ycFLTrHMyQUkhZW!mlM`(z#TIo69S<$mt=X*vF7P1!9+7%Ct@hh>*GtJ0L0(*5$`Mn{rl;|d|u(3IaCwnnNZz8H0kWC-~7;v@7 zSr~zT&)~vPcl&3^$EPS=Poevc!c7jejOB4Q8k zp|%U!?)M0LfCij!*%WNblqrbBqBE=>IJA4u6YDmt|HikziD%vI5sM$g^}*|q0X(?B z$DZff^Yjz@%%$--CSc7Kk349#Pf4wNAMhrD{4uh2s3fVO)EwF4VciI#O+>y%i#b+C6qF8{SQOx{R<3Eg zrfzi?Dq3N!6P%&Pd(6uu$|||ZAGxV6#5Co1b7w=Up*!}Zys?vw=Ac+`W?res#J0Nt zAY73^*r8p*6I(hwWI(XX!HyGpAy%bwB7YTAtG9NDY&AZt$+$pr-xvvup_jusW?8?n zsVFL{ga|oKXG;-t<##-YM3*GbR;kVeh72x-XCo18HpM%JfzT3)-MW_$$Zn~|+K;_` z1Q5djCj@>EU_sbJrw1>-!T;20aDD#%tAGFB|G)qDl1uq=(G45d;j7$NUUfO%d4cD- z)~p@+&2QlM;I*LJc0G!F3srbfg-Med$#1Zzn9j54-DQR6S31BBqK48&3tn!-o2|#KbZk=qM7FXtgy3 zsKubvFu{7InJ4#Or8zNMl&4l{JX8^8&VG+lqhMY~;pv&3$V(=LxhLfwuJ(Ntw$ROX zsnU`ofJc$XYIj8fK{0{=v~^pNW4o*l=HVrTO2~`LqFfKQH@x9j|Mcs18#mzPrFhXZUZIb-vEu7{ z@O$ub*5CdX_xIqZRh_&&#HKl?{hr%eHp;o%Ly52WBT zTbTA`zsK7l4CNy&YCLCIHsQiJqxCpX&~GTyqTK6I^GMf}F6l_nN|{SjBTNG^)|}vp z?xb0j_)%8Nf-V$K`9XonmpngY~fXbK@jFACA9W$gG~)|G>2a2?4h^PdooWRQ_iYcClk-5yn(&r$6`}zvZ1<+!ygj^s==0!7)4=BZM0re zcOH>cUB!kZJ>$o58;3m}wHptj7Q8xjZ!*WcYFJST*lIusZ?zLB>of?mg2rXnXY7RH z`Ve@`AA>L;VJwj|D$Q1q;6YMp??@mMli0=qLf7-t*mCfksbB^w#Z!!&xgC4LEr_sp zi9z_`Gp2lgzUKE3d*F!Z9b~rL4ETYc0{EFeb0%D$zy8}VJ-+vei!Qkcw>e*N<)wHg z6c483-9PKsud!z;_B_2CAIN#}H%IVsC0vHb8wi&TF2!@FGiJ@0I(?das)RkZ){O^8 zg@)ckB2u?mGaYbKSF!&&0wrjK8#-9in)X9GKT&0B0SfIpT}v%%t+g_hLvY0Wii@YV zLAqj>*$P>!3*ba%V@liP(v+IqAVi z9>SYW@wUNhZ^XydeztUQ$(l7Qht>}Lir3g5-M$qs4*T^#{|c``#XC^p7wy`;^B>PY zuV-u@Ue^KCfm@}$uCuu;M}a-2la+o=gJVM$MtekL!{S-WBb|u6MvOhuFIO%Qu5l&F zt8gOM<=CSL3?m3cqU|}$QT$eFH|ux9BHR1~NDD^^){;=rv@Nk7*NQ#$On#ht1O4Rv z=V`+et{$GXfj#I)Pb4Ai5jZ9PBVZ3RbP1+`-PI<+UaJmN1W5FAW$R*N6zFxTSz4RX?wx4i54ZWa`9&X z{qoc6es=%j`FN}R&++l`pI(7))T~{*YH-!y3ojlSHR`b)+i;7|kzXIiw|nq%LVV~4 z-wHkLUGKoPE!?Oq;BoB13x@vZz@E0DhhjPyfQX@{w3eiqPTWIxFp)uEI`+5+uW{cX z(^ye;Glo{k(s7zGyulbkaYW}V-F{KHwn?2S7-oOt`ugxY9vkOan7H*#=))#4<39C+ z2~?{O{F8~)650+&hCNwi@BB7aBad@atc~Wpz zEkt%lDmqhDn^zWlP?5s}iAFFl33!^eMtXaMtu$!8A?ipO-1kC8PRoV}J70yB$oeZ9n< z9)q9WzHvRh697MmsV|F+1t&A3X1!iZt@hT#5n)fG_EuISk8~50(ZsHZov&nu`pKsdrk6DVfqDa*cm`6;?_)>6=!!3goz(VhteDkt>B zb(v~&9o!;onvTQf3ES)HQcIK1QDcu+bM%A@=GMcLQ83LWOQmvcI&>Y1$HPu^t+9ZI zW~a5pSVd`28v>;!c>iaj++Lf3hc2CAOcc)>-i5F(sqDIB_9S-`DhLzMhBpxfG#WYf zD(|I?))>&Jh*QvYHLn ziNI--1q|^Bf}eui4x(y^?xc5O?--+MYmwbWXsxv1AEs`YCSc2r0ym}B%t+WnCyDNl zZ9(YPT9mEHXC&AIQ%|>S=Xpf;W_C(-L-9UG3_>%%M>37oSHK3PoI{OJ70t%VFKIy< zfkyx~l?~llkuLRZhMdF@s+b@L1UFnoh30~lH+kfQbxCE{Qq~?>_jm^$5H;)pBiNvj zCLmFYY5G0NiM>OP;Z4}#<*N81RKLAkjBnbR03^Bh-g_R~vGv@qpL@m6uEckOH*8wF zV%3Tleg*8=zU$Ga_w$(wJkJH!2dH%RIcN2a?VT}wI{Y2fg6sF#bF*b8uiu5ObcG#2 zBfRM#c)b*ZWKKZLOz6?Dzy;1k(*kNSNp~uv9uAUEfKP+L+i?#7b=x$=QpGS@A!x`+ zMGqPJu-wD7OU!dH*-5NO*pdQ^+Zqd-#>O#74r4^p31)7nWG#lix(A42n=N&us%<&7 zWg6&(oJgFr%;*OsQHHRgrPjJsX{fv8q)7Ema)pipYxbLMlAvCs$)qjDrO$*iS#KN1 zu?8wOA`PjU3?-7{z4JjNnxk!jwGqU)ZW56WiHxmtnf6Qqj;8Pgr%(GF-Ma+c8iYIEz3wiP99g_JBQx^slIlbGRaBa-BResTY3~?n&2aSd} zE;`XtDo2${(G>bwsS^wWJTVcq6ZlKRo>U6;0)U4o#O3Dc_@vkAXPmxy%L7;9C1Th8Z0Yhv_(T^Tp|JP&0DBJq`tYN>9>rr^ zOP4MF{)OM2Hht=hnbQ*^^Lvti<**Z$rE-%hzqM||NMdAS4m8yIzOFd3`|fI$%p#9x z{nxak4SVVt8`uM7E5IZ3f~v~sUF9*DQq1T8$=#`#uSHd=tg0^^)cwNYs^qKQ2~q1b8cv9`^%sMF~SrCb}m zUd7|1ci5kXq!=4OF z1~9zN)bx9hq$OcK)NYW0y<-pj9$@T@Su^L&pSO7N{kVN_{(^aUkaXqhl}EVNy!**r z&mDU1;YT03``){s+yBgWzxQpR!mQ(FP44GstvR2=<6;0a!yljzd>~XPti&FTEA7e+ zX)Ng`cy_^A!f??9P|%Y_M4%>r=~?L*eC@t6c^-4n(tze zcuB!gC&3KP>N$X;BE6RM2x)o%(_RRKFTUBw!E2a=L$`5%rlN^Gnse!DcxBGj-_P3% z2L^yiGmo2%mlED_*W5ery5rHu9$vX>`3l}!XxQ^Ou;<_Z+rQsF_qMfbhc5ZiMW|uc zYv%H@OJR`*(nk>84M^f*rUtrc&POFlTO&Q<$;@SyZL)R`0mzi z53X6ea&Xm(U;Pu_nflm{ZF~0Zd1%{%bMLwXzR;J?{W2DfX3UyJcL$fs;Qb_@r>ykI zZE>K)p?4MMQuf`a1i0#K`bN|S-ZP$+0x4;f;&{e^vm!Af=Lf5zO3p^92?H9%=H>xc z5lsNK$Rt)y4TOuKwlFCRCV>&*{qK2N7F$C<$37P=YlHk8R2xjyOF9>Xi8~#MWcpT0 zk~jC@%+4{c_b@*IPY2iijwoON*m2Db;_5A5lA&FfzK$fH|tyW`d$Ui5uDIkD-1b*tB| zI`qOJ!yepQh?&=&_uRR4`&PVl1E=la>aH#0|H2fY( z;qq0wgV;liiGEMY@JeA1JsAAM+(^_k(yfh}5`r>&DG->#!026@%%4!{ve$YvPJlMm zvXvey7;pjrV1HH!6?PIJ$kHJ5GKLFNh+1A^4*;I$bi+i}UJELL$R^>DNK&a9dp{&5 z;~?};lXkyHr3%BYrRsdV%C1CL?17wNv!)rdG`Q`)SF^grq^LwQORgy7QDZ|^!xapZ zZ^|4bq?6MYY-BaQY2TJ>__&c_kMn^ccgG%NaQNwnJ(zHr>m%&JbuP@gfIV2Bo;7Fo z@|7zVEV}>O-~0BGB@5QATfKbcvcr6)0#8%ye(Le9+aI|H*SQ9l;`63h!| z*dt>~vKu$&S+UM)>#PYWsv&HOKr+Sx2g(e@|hCR*P=mF{>#h`23T6?opGg~u{V!Gyxh9Cs8Gh~HV-D-4P;40&m#iu&k%e2Lg z413&n5TTW2(L$P91{^v96`zM!qf!7+n8SmsRD6pn{2n}3fqM(_P0{T;x8nmi*Wdh0 zd>9ZPCB;)+hxHu$))#*B!lOI4;mf0|*RRIwogu}v88d-Bm~)Xw+nmec2W^K?r3boV z54FHBzd8^>RVxWE<$#8eO(B+7q$Sc&Ktwpn@kv_~6k#>U?<6!Y!?6deMAGX{*yH9q zEI}cgx@<8(qh@i5+GVfSApW0f9i9bM87mo8;UFY`JeR8=1=O&5>X?XEGT(kB$moP?o;$Hc+$E1j`1MErgV@P4} zGX)p906+L*^0aBaePd@HcN|{+J~*`Uy6dl9wsPsJwJVpcT6&oGH9!8u&gYLjzYF&@ z-+9~6x}mSZ??Lw2$KlRsl;(`9ialya6B#)ZKzQ}B2bJU@60L?UG$o(ck* z5+_s4=gLBYtAzBQjlcYH%&uT+wX5;e?quhLG_aAOG-0DPh6Su%XjN4Jt^hTQB#$qf zyIQ1r$;pBrDwQJT{1lE=(#xw|HN)6J_g&f1%#mP^rkvzx!A1v_MQm>IJlK)kOq5)< z%P;bwD=N8DceND4^f~t=h+aHymJdS@H_N4$lUSZ+YBRx z-3j3h@A2|CBEE9i)_b*J6*$byB;(XWuhV?cR%T13tLF4x73LG=%6ezCX;{{-h)7Pc{|7qA+#ot zrBPnb!9(N5DslkDtr;vj3By)^c|aN~&K|Q)rlIgEJw2Q3!}%?ad|7PZV}p`w$8Qpu z{A=0JzQogpl83cC%|n_H1`gbSb~XeFW$m2cF`<67q;S?*&X|-)RU}9=9YiUndVi`^ z$(BWBk%Cy6VZHi#+sWr81$JhhVM&;p$D>1Qf}uf}S)>ZH+nVhwt#aTH@2)3k*?@_I z22Zs6KyJdy$=QpiX?g{82|?!Xdtie3J!Qg0F9leEce_tI7O(I*2HwxKspBUdJ7wy? zy$kMJxMcAa*ZgG7`XSs~I5@Q2)_eBs-Syo5eLJ7ne((HwTedy;_4B@lHx|x3ZWdRn z&4VI83lVz?R#Jo718v1%+DNsL#=4xTelYYqDxP;-E;x9?bxX%neF{d9)qoQ+1AQ6+T6plTk69T&nz9C#$!$ z?_rDJ<+!5*FDF-;$H;uX(A!{_lbit3_<35yNU+C?!^of{cKw_n#I7?JM?{fdRJC?9 z-@0D8E~o^%$lwPx7ITN%IM6y#Wljm3VI+B)r5Z6!>~YyDM4MrO8HXfURx&Xe8uomu zzkxkU6|;aQB(n!mi>@C!(RT1$4n4o;*yma-LdF9d_DRI14{UfIV;;U|~9s zVlNxA!%~mg4JQ-|YBA_$<6>l_(I9)-LS`XGwg;0wu0xSqj!s^gI@UC^RHZy_>!r_8 znwJYPMs#tw<>q*1X=~vHs%d;)JQJ;XnvtvyDuC0!EXE*5z@vRje`V#dHk#}__0`}9 ziO82aha%I`sdeTFHio|Tr{LA|aP8JmS#VgertP(~qlBVw8bP5Fz9Bm1iF z1NNlW+9h<2X5Pb-8U}liQxGJ)0R}kmfDq_7A)w%GJ$jhSuCe2p3Vbql=Iohk*RQ?n z-g(ztd(EaT8-|8ftX#Fiu;;0#_dfI7)4TTUxbBAQmaJIvx99#19^3%-V3`{8In)5I zUJt6$oU6Ov!xra&4umQ-yOHr`>)5lKwdGRrH(8HGWoxrvp3gWXLQ0HR*%;GGdnxAU zIP*Tk+FA~b8bA^^vwE9{#r&~?8WUPLJ!l1F%p`x~VWcUK-EmRNtUL|uL3Euhqhe(4 zVRW^+z1`Y!Hl(U!qX48shL=N2jD&Vp2M3_KRhm?nBOf>9F@P!RN0Eaz=3;C})6c87 zsN~L6qq>}Ml)qIzfFB>1icvJUqAhi#X~tyi@tm+$(9Hm7>Eidm*xmgR#$fNkF+oJZ z9$etUeT951Vlq~GFs3tS&0M)=)t&S1{=tuauxj-RyrpN=>cK<2#=d>Ww#Rqxc=0zc zEFD~iZ+4yg4_}^m>_p7DaAyy1E3~y{uLm`c1bf)ZU|3M1rXEq(vK@5Cp4tG&s?uKT zA}nTQi}1rxoN<0w zBiQqZit3L;&P-AfXRCHqAR!M~89Oku=?wM>OCskEbh?7WvXlii$68P?4x0_=(kL952z%0=&JXV`gx`ZfoH298#?70S3@*R; zvP&L#aN~vzYX(;>J4oz#_>s+=cD;CD?mc&|S-bi>-#PEt$;Tdl;t5 zz@IyY@RNKt95#oA7LXOW3-(0a5fj7+!HGCpq99d*XDd-{hKN+psl}3!V2_m|t`y+G zEQ}9!nS0d49<(y}J*d&8Qtcj7Ih0XCXCWgeZ>5wMZzaUd&DIK%F=rUL0uY>R`DGo7 zB>u4$)*FqF*960mm9e9!S~vz9(j(b~J@PUk7eqpHwCdx4*V;fu=BBj&Dvy+;N~Z?0 z#ysb8;hSQ|=D)hwV`nPwQYRwPh(?kKJmWTo*T06rp1uj=d#gA4COFB@b^&|FPUKzv zK9g}GeNHFb)-w|90Sf6o?^tW@pFR!iPt&GPdvyDwiY~iMm*X=o~ zX~SLG+yE_@c%*E3+FfjcT3%7}IOeWhQ4#3m=bBCX5`QKHR+E&@wz>cHzCjre!OlQ*2v~2)_+WlqaNp z@_5X01vB`r1?|)wAp5)*fd`k=;rx&S=-_!$d>ha{5SsS7qxsKk}Um&g<>%nLTT^ zJ(iK?Tn0VqHl&C>TCYm2jx9DM)qM%+?gR{of{%>Hn63$LbaIXRR0?@I2hT&o_`69t zp*51YkNm`;64SxeFjNp~#OzhNX`pS5B`7GUPuRp1k!ms6Ac_D-({mSqoH6{YsgSi= zt&YF~?w~T1-mo;W#gpMTjS79!^p#>A_E!=sK)HC60kZ8^~NGF|@-mKaf|i9KWEJS$+2@Co2% zhL2Zl;4K;e93p^kyuZhh$L3ru*fVtik&~zN-!<=^RclxO;NlCHE?cy5)4IWxOJCre z>+vUc?A)_s`{R$@GWXW?8`u8iiXQ`eX3d(#S7`9{V_0dX>w`LllJ4jTgi5zZ@~fr1AzoWk)xO( z#)+8fG_P~1QIN5>N5_6WEX_#m<- zYpz1gtdhSj`EU)X@JTJAlsp&M0QKgUwr~!GUEzuM=Iw#-f#^zbG~-sxtqUbw>aaIA zCOHtWWuIZ;n^@X%1{%6OyAFp3?0F|&OL@H5iV4TVWoO7ji>@hn|hKs710cIP6l}bq_2I!`OqaY>E zoA_iI)30+a@y5`lYAvNyagMat1p@J&A%S11<0vR#&zOKc(6Q3dfsGm>VLI+Z{ua_2 z9(5Rl2-s`kRx4cXF`3Cou!leuHjE%+EOf!0VUyf!MO5G?q+zawhb7Db8t2PA?({g} zo{!JD687Lz6;mcpnKpn0u_okUH|{hu3q1UVSFo}QlGUg!;j z+m;hCzBR)uj6GSKD)mB|Hoqrb|IbJ#2Z-ufYX|@(=qxUS;4pdystb`dFi7#?$1_BR zbvon^oXMO(V5<`KB0;>8)Zl}LMO$yhm6!*#wgxAmdBF*y-O&cgY^7qQ!?0;>si8>i zY*0g*(k;e8nO_a;fekzSfQSKZ5WE(w17Vp5_uX)xogODzu*cq{f$LSm9?W@W9XA`# zbIn_D-^D+^Xww7h@ohl(JqHgS-_T2@Vg# z5cx#zb^`*R`~hbOjIvmL$1K*&o3+)rc}yqws119H;E9`g9yRr0WfqVd(y&Zc%v1`P zkwfcx56^taz#j{_rQnrfES)@<@TeyaIgV7d8@ zyXWH5Iru~unmlzH?=1v)=`J6+K8AxCd4kMB8Y+3-v?Rv(ibiSV>cf_`hjxVy@?^!s z3bmz+*oe(GR|sd33Ep#KoAS`y3}&#`w|@XFI*&%}_A2CB(4xhsdV8T~OIL$)rTjH> zr+H_w5m#$=)uapvj03CFEdxXjQ#W3{=LT+xFz89GQ&P^8bJAW*&*Z+6JXTNIrGC!# zQGo{^gK8>l2zH=Ny=T^xTJ4oq#yoesSfXwbyhMX@YElqW6YgYhX%FVmdf)g8E_8*p z#089m`k4w;729eF8H6qRz zpaEGp)b(yH0OJ5ex~E4!^j7#9AHMGt@9&v96&LwuPM`kR_HA1p+;qv0f4F$*!Zqtw zEnm6x&>>*Y)*X*L_1sfCcJH|1rW-eITKn~Hd=&!PJ5wi($09SC@i}>)c?Hl(B%53D zZ&KqTkig>?j>DTak_L-lB#K@#Dg3fspVn~ zyf=RH3~fmcR;r7ud+j0hso*DbcAu?T26BMERly$P5`S{qtf!j=JSH3yC9rutBgIrRcq(V5XnjQ`-s3RN-*y9d@h;#vo zvl`wAfEm`9u{{$e9dpLnXPkWU>w5co@B*Gw-~QG=`|~g2(^*)r;FT|4b5H9qnsWhn z1VZq3BKAz4I?y+9JiapezylkWuekpQ7hQlCXy7^aB`X#mI(Ptcu3g)nf8oGy|MPFJ zzww5L9^U-z?|ieTuXomQ#{qJ1b2Rq+HehzKfOJjlK@6s0+8kAzqtxhJ!LKq_#xv%O zJuN!;)=&@IT&pt?ot|V9rbO#ak`UXgbxVse@RB%76khO)ZPRpb-A4Ps_O*`NSk3ke(=!IZ^Y+tDJ?DexoORAwC;!gL!XCg3Odg=cIahXlggw9vAO>zro;10i zA7-C605zU7XAZv4b=SN*zH#0^EFE0D{(*IPi_f7$cwh6*Cw4rw|EVooxBT*k8}JJG z?|uIQoLuJU)jZlZABUu8)Ffv;bI?JvRB1f|Ibj~wAo(;(;YhSA{q@g4z zP|yf~l+Jmf`N{rr?f#o&ZscTs57pEbBd$Uh#c4D2*aQjSH6$WdT2JF~EJd2N@Htf4 zWlFRxJQ*P(xnj(Qa}2xf)eWq)BF8IHUA1qmE#-9W5W+K72slVO5D}=W-vh5fuQPzt zg9#U~=M8Us!&x6ZXX>=6XPkM)Xa3;RI9RZQ*q2J@!!#S57A_hUTu8ckW zDm$=;bFP^)SFasfy!`$jUV7pEOBW2TUa@5P;zNglJ-eTL{9pg=U!QpTi5qXaacK35 zzx(o+z;Nd5*}TLy2@B2Qn;v21ZH^s6Xn!G(dI+lh4b5uWy2g2!eKs085Vm1D3zfv8 zv+M)=Cg)&usa^nAT99#uM~OXx%&7dd8Ua$))*Pb+4s(6z)^OTYHKXJeDbjiX9n3sL zrPOt_%akF@%)?G0=5ab_j;uiQWq{E^wHjG_CY)A`7dOzX=z?lUQIfop&I9C8oM(0- z@MoMCwFC30vQ!%4m$Z(Z*fX{l+Xv1({g40nv%mL=j{^129JN(>>zj^VVdG|c@$OAw6(GPGcpFVRIVGJ*8wl!-35T|-=*i)b;Q{Krrg1;W= zL>Vqc@$4UT!Azlv5H`%i?4TmDzcd-4CelO@*~fJXrnYjHr{PXd6?;&yhwm+{!cWDn zrSjrpE)g;tGI*oScgeXb&t(Qk)oOzTEGh1c`9S<2p`?GlVB3Bia10D~p&F)BK z$7Xp=xLB{#%vBAZlnF73nF{3OD@}Q%FwALF{z}=*(0ecPJPNwO2i^w2Z1H5p@--_l+xp4XKi=~218df+`hpZB6CgZ~2(&4v657IS)+3;jbA=3oE&)u) zZzpdeA6Iw9J6GT$mkO(OS-l2u0^O1?Q6`1$tj0QM1(C?A^h|;%oD1`9<485@=UznO zO_8f0rvyllaQMQ;H7dw`?l;*e4v~|}Q*yBH!VyW!Q+#4b zYXya-R*5xM;Xl82UVT%!IwFuZcoOyB|IZtEdfTYV+*n13#kpx?^ z<)j91a_ljq$Bc%%gIA)y`@Qcv_0+fZj2T1Kw@Dcv?!srY?3s1|668?GN(yXvy5 zF2n6W(`U@&RkD7rH3QJh;Tg{9iOmgd_NOaUP&Kaao9TrmZb8Cal%vS9YyTP zB7s3B^DneB@H84W1X0bBaxVWZvRJ8B#27+(Y4KE|(OD5>C z9S8}K64CvQ<|76=Q*_IEtii1Gxuh*GHjG(w$0E-wi#@564SR4o4AM5S2QiF~@_?>R zxHJ)iqjOZ)qjeNGGzLAq`whS|WokdHfA;KIr=0Q@9HQO{llWD3P1A%u<0efU7qN${ zGyn~{K9i?R!8h(kCU2q;gV~T6+oN)EyP0$REJ&?^WY1J=m@!p5r;(#z9)me2dGw;#$It{q@D_W|} zV>00>PVlT&-D(EWdZ;21$%yP$E18LC7r z)zS(S%@GtVb(&1j6Rf2=s_Bv!H=^ErnXL6@;MF9nod#uA*V(*J6+&ebbM#eb>`8r< zoVKL?)%r3YXP5}fW&H*0$<~z3intP`aiMhEk?jHI8J}9RrV?#Gs2OesEFE|KWB;j7 zfBKXE%O_8I%}J-d^Rz$ulRtj*TTa2vJ@86!n=zMr==AWJc0A}X0gpb|HW6?9!ZTR> zkUDSf(Y=LmUhqCJ0MF)!w_J1W)p(W^-{%@yJ$U#C{2qLvV*io-k3RnBFK_teqdT{L z<*Q%DGY7Nh%)u%%94fs-BVtdw87V)7R__e;lQj;lQ6tsuk!DN__7nwFkrD2paW5f6 z)XBAhSdVY5I*~J`L>x*gBN}y? zyD%K~q$azZJ{Fbs=D|X0N9?H-=x~tvl?n6ISzOKBs)yj9POC-_a|F-6y^gUfi%DbfPf&12xQp9UA_~CSHA3SWbEPkV9tdlAiSPz*@|T= zRt*h326HbyRxN#=RVhYK%Y}NxPyeb$JE$#fY;nGTPosQNbR&vW*zKd)H2E z&6)#L2nAqkO>=VqBR9jLh#7pBp*u8zp&J^iMGt|miudB~!SUF}^xQ(&kSjfY5$sG}q+Vv@zI!DcY-ieZ1y7>ucaUt3554s>J#|Nm@QTv zrkJM_ojBVQTcdk=CinNh_N0@h4d5da11Fwv0zUUQwpWjLamu9t?BSZT+@K6UHs>WVB=6Rf8z37Gv31r?x z2(R6xL`*q__wtotyi=~Rd46!U5F!!@&4PpoNH?ELM=3S^R5?T1ws-j#EyILRbc5Hk~|?Mr<7myt>*;6%ZOaSi~V1rkwm0H2r6eYmY|KQ zA&($C$7oZ3rg1<+Z~+*noQ4Ok104zZnrZaVD0e)PzGk)RPpZF%4m4 zBc!YD=19qd-~^8^PQ|^2qwy&DAAR<7pZUzE{`5~j|GCfp(WgH3`+xA6Pfwpd4G(q! zZLlH@_lA3Ylr(*p6mfjX4?fN{9*Du!;>rEf1^^m>vDF*aEnT_%!b>h(x_r_4O>0*U zEkAhZd93&B+WyS5Pwja8v3u^jXT#?8|NCG4Ipo5ei}=;ghuCY_Bah4X-l`h*;4QIy zw8U1vl76a}I_xo49D0pyHIEOY2w8b8vUWHU>?!tAD;y4CWf4?BM>we^`Jv~j_zhLv zkEW1Y9V!-S_=KF=l+6zd5z49OLPR2kJrE2TnyD!U71^yhbODmTYRHV!|H!-zEw*T3Ki_n~#GF1YYJI8V%)&F8r$PEJp9#W|Owj)-Ra z>{?g?9s_Vg>JCGcJ39AYW3+t?osfz9;jl!41kPVz0bwJKKqVQY=q4-Va71a=TTAl8 z7VK$5k%}5N8lHNl_&s&IFV-C7R;dt?NXgb6dt9Ct&KWs8j}z=WbYTvWRva{hrdZpO zT;(S-2*1u&r7J0=pq&qFC~ZJPu0RH~Q0rX&LWJyzYz#`REDmdhtg*E?Oq4k9j$5j< zp0RS=#2)Wu86D5NYF%UNfi3E~5%f8cGWz7@pV z-*M`xr=2=_G**51GDF+|q;#FEecr*6LOX1qWC+^>HHHahFLIh=EWvrV`n_CU5gos3rNYr|tIEEUNkXjK*iCJlIFi4T4FL;vCTKl!Q8{Qi61`<_pK=J$_3 zeol`)&xM?Ml^ORQ^IpP?J2vOa&yr%Pc*+dCEB=^)fho&ZES-1nJ?EYO&815hZm@TU z;d`WZZ{c$XpWXfBu6q~Whr65q{4f6ug3O+CTw1aYZ_m(rPXr#&5na?$HX>tB?25Mj zt;BKMUQz5RzytTCEA}L7E^0R-YD5MtPOmEV)KH<#j36rKIU^1ln0oe5QR=ZYdxANn z4V6>|wL_(~JgtXdqz#g5lIHT1{29CUk>)56H7pe`wnDsc$>= zZD07)FTfLm_k%SdtTQ9CmU}_hum>RIeh&y+@0l=VV9JhNJ2!3Gc9 z?7?&F&mZ1@;KhSKzUuOa9(&~COE2#28#`kr?k&W-p5gkW=h#Iw;YZD_&A-qN#G^BS zCL;;bDducq5AWDdCt$IX#k(4IA}YYshCQmwZHUBChVIzo4NqLNaiCsR>MC3aFOvx7 z^wf%|Z7`5Bx0w+|HJ%a%WV5ZXqIx8kX)BQu#wBUWh8VD^wWH1!Sw;|$2}UN=6j6$S z(q^U)dHgBi7RG)~%Rp7GVL?xA379Qvgw(poF>~;Si^$I*a#bn%H$t798AGY9#iPo3 za*_d6TI|X9C$Za5fprV^$eOyv%#AU?9y{{~lxZiM*h7QGYV$F8Y75VHjR(@y0s$vK z#-$Hj0ITZQgXJKs)!+jAq<&nc!n@+JR)nivn;(7%b1vN1ylUObm3USB(25sd#PeK_ z@7al4o44)UcFlD^TeoT5rI%ld7Ehfq1Ggo@wZi3jcvM`3Lg34yQ(BM4|;Kl%`3KK zucDbb#z=B#2CK7%AeC)Fzgd&0_}ZvtY13(v8fJm<)(^b?Pg5%mjCH9BXK2N#vG|8> zB6wyys_d++Ns=?M@>IX5WEq8juth}5fFN46pEA4fOTLCuSzt7W=8ugrW_grW9#39% zBM#c8UIMKyWZ$rTlr>aBveH67i04Eild58}7w19aOvp$JE;a~8B!*U+5~j9Tb5sI* zL~Fwj8{!GA1UjK$k7z4ZB5es1w`<_ySh{J0SJ&OPx)IS@LGvDJ+@#FUz#fKa2Y@RwW zX`mkibHz1R-*U%oSWCWd;k`p^SK>OCt@mu-xef0v{PjP-h#L_@Kb=trdDnqa~nG#0p`4KzLT95C$WyNtyLDe(lEgux?ha8g@BW|*ue@bS!fFxs&+E>`LP_)7-tJFY@IFQ6l&2)ifAtLk_8&)E{b87ulnqibz zS&JX`uu{+@j75}+7$;(?Xe49IkGI8zx+M zeFpCJ8HJZ|OCs*gG^H-@EI!J8#FF>zn8QBan2)?3s9$l=ubTsfs=FfxLPU z!#1(muPRcD*C^G7B93zEa^-jx_K?T9N;W?PLCcUW#n=(h&ZB5rQ7K|g#s1Uwi#sf905VD>Vm z7p}+gC!BavZM_Gr(ak;fR0Uyxwr`6taaFjAJyY<7K-}MR&wcY2EM9oU)t5i?(B}0U z*Q{N?>Ik1D-TCR=m-!rs(=5f5Y5bo26um|X43wC8+?T6TN zqLB`erE$egTB)&U)4}8oWIKSWs&qwpyBJXB-02sxd6MMxLl9E@)+tWR)}))h|yQz{A_lDZK4EWggwKQx?iv4xFbv*X)iK}=3dx@Aq~1K4nFc2>TEK&S zRQ#&e7kzgPdYOa-786(eqvh#LYDDUdH0pLwd#!bC*kjL{QTdA)85q20JSkNXe!3-% z0DDx0cYEy+@rbFVGEXyDU7k|~6F1s1ng?D$ANlAxQwEO3#l(a?yy`^1hY)1TKbRdU*iC`J z4SXqQ(xicbiIXRxD}Qmr4Y$s{{h~{MxM1PD)$0bAEM0i$5U^+G?(P5bUw*sq`F)pP zedW4MYkzUWwLl$A(fAZ8T^~MHA#~GT*RXsKV8PNlHmx=D&^ELib*2SqbSw~rTO1{> zlqEzV_Asqw1b7OiB9I%#EMM-ih!msvxQDh6zhU8|x=C58dsT^AQ`Tx~$0NxblWBk! z%V&#VSD`DsThh9rwUI4NI%;gh(FCD=N7hX`qmgrN>DXqJL}H8E&_Yr)#AdV&kd2Wt zrOA}nj?u{dmkF&VTR*5bID8?18&t?;MAvCRLl%}OIV`_f8x_!%&3KeTg<+2K7$=m{ z=}_^xw1zb0wI&qoQEY5Qr@Ii<{Nnn!(LJNz_`7fT z@JBxkN5@_Q227ba1>aXc7MHfi;kr7%Ol zjSp;`ci+4pU;d+e@4IX5I=n+;xjn~@clJEFZ_lA$9lrePt2S<4f9yOFpbjjSAzvpp6yd+-Y+o-+vR6jc$t5(%k+aPBK z#x6>!@y?x)ek+C#WwXF@UU=&_=m23UPn6ba5LDgFNAcX(sZ0_amd@Mc0h&^~%JzLhh^J|oVXhqOgN@Wr0|#=`Up zA6)0^9~j`$%`p>izx~#Q_b>R?`Tw|h$-<2ftX;8s+5W@0&b4RX9(jLaSb4sO+ASCS32`TN(;D*5- zjFpeG#!aRvyHt#4=tAhDd6oT0u%`>hE=j~5v;LgtXt9TFG)42~tEKD=S$5`(U(^>yjegHX)Si7s$*G}u#<(CjdsXS{YtR)_f}5eKx>u;xxEzin;d6S3y^P|f%RC(*nT zP)f&<03EOg>FjFn6A)}p4uu_}vB}f2*qo*QTZ&+0(;Yd5h^d|Emw-KDH7qV6oAQ8w zR|C;`g%?paj}k0l--bQ-zB2A7f^&@%s4-?)%ZD7vo7T zEHp12T(Y0n*q?fK@8N$syl?-$TW-H?&4!_WJpUWGi$d6gC&u*dFv3s1tB?Q_q`+a^ zBK9EO0lMvsfcBb_cIs-2M>mvo8&1A_2647&;OnE@b{v&Rv|C0Y+6unJxCTOij~YT# z2u=@Z05hC`49}sxxd$XeI%;r6d=#?alX5ol$IKNv=cjnpsy$mxa^+NNE<$mX%{$gh zc}xqD>&SfS{h;`f>@%nI>)q2ViyU5^(*t+*FS+1h?w{hjEd{%s77GOlXz zXdcR|kw=R?Dx0eJg(q;a4PC;1aM-9G=J-@~>}4OCK!ll^WzChSD(=1a3XyVBK=C(6 z!0k2Rkmt`LrMk*tYGL__(k40>dScj;iBZlarh6m^#Ye*FQiR@2>RVOk96XQY_tuf< z8f4`TIZkvf)G<-qUjCjwjRnF9p6kLVlFf18je}k`nhY?ti*M$7v}&Vn9t>Z^q;niZPD5V^3AWfK0~6nLuaA%0jLoJIX-@LT?Vpt0Fm~ z@~c#35Lesh;uM-8mZ==Xge;g9C@9NO;1mz6DjQ|2@d`~y9a81rdL%mBAbLl1ugLcrr!3|who)x;hJF;4O1 zL$SR`sn)yNql_??amh!lB@rs3B;dxja|Ee=xPHbFQI@J0`G~(@pR_df4{AXi_r6&_ zTbHt;oIi3IF&)vu=~5G_M9Zvko+{pc=!BbRB=Fp)x~8YM=N<1n4etw^K4aPmC(JqN zq!Z@gK?hufM+@M7=y?izl1mr7v`_c<*fSN5J@9@2U`v)RUbA-fHP>8u?|pXR2Q*(QQff4{E~jwM1}?SDle!VAyXzjRntYMGcnuX! zJYzwsbPDVS4rC5TrIP05)M~_GvlZZ;D@5Z{hNAwqn1RERg#J%24WM8wn@c(2a|9zzTpe;!QkbYD zgB^z#f%DG1v3Qmgk9Hk9@zbCA)E7SgxsQD8gCGCIM}F^1bg8R!GKZ4GpMtUgF3d*( zbJ&+Qa>)#+Cr-B#nV;%Tkl;O_7Wq&Djle`j#Eo^aIl9fFf z@Et#`*dxSn?7{s#n5Rt{7})aggLmC?=M`68h8M-JUV{tjOYM0se4p#F#~<6aYul>T zD>rS~bp8e32K-GozX#wYW)a;SerhgGr^BQ1d#c!j(JT6w{2m7wDW){9=#*3W)a#ms zM=)!fCl$hr9}V%+um|7@O-Y;I>Ebb&keQS{bm}Ew56b6IT2_T0T8RbEfFq}!2*%_9 z1FNcSo`i}yh~SjCS-b4ypxRohKwUzqBDCcV*n>AYupg`|N-h*kOxu1u)d)#wvL!x_ z4QxwN31qDWcm?nf^2X17Sn*1QnIRjl)au?kq*CG~AHe7YIZ`AXij_l7?XU~>m^Wd! z>m56xcfvTV@pypOh@~H#x`8)>pBC)FbEfIu!s7Sf{vJRF&}-9!o9Eqo_k}SRf$`gytv;J zum@d;oDMu7682c%*7T$Gum(IhO!^gx){?_TLXzgzqP*2P*T}F3bys1t z37ptp5$xduJ!Fc-WK5kVj_MgbYxb;mK{wcVzu)lu_*T67+4o(m6>ESaL z>5(q24a-}B+ky?BMaH@fo`JvRj$7}UclX7Y`~Y7=#%Gc7g}?&`aeoh-o&zr&*njxB zU*2%t^1&7V@QttI&S`s=6l={~wdR~F-(KjzV<=fJZ?!l*e&)t-W;l*Lj^P(rSN3{H z+ZJu5WmF2&P~;c(;M0Y!yke+4-S_ZLYMacWvhU8~s8R)KvB(IpC-#rgum+xn!$#wS z%nmtDR2pKngM;da-JsL7sSh!&=G?*N1t`P`d^HLP zR_&15Bv)EpD>TAGha4wpL}Bs9(6M4}a2B~$10re$3me7Kjpf3p;Cg4wocV$GzyFlC zycsLbXP$XFQt(ywIj=c>4CW3Qdk8$?P0hI4WpDeU(}T^i#~hXkYd5UJlFtu*_&t0R zdBeuF_%`5ygU^i`wPW{oV9&D$pSk8|SFIcxy!?vGdir{1&bH^+?d!@|E%McD+;~J0 z`F^wX7*}6@lB?313FCY1jUXu!Lk){*Y`$gyf}b?c7eQd9G*n)Fzy=jbS07+8Omc;h z2Jx`r#AIFa-x~1X(342iI4CWkMaf*t$>mv!RNFki)QUP%&0|fo2C{aww5XtpX_R>TOh~9=6!h`#h`$2#UBYFMpYZdG`-=CZ+O!wzl%rQ`8*fj zaLA{+_~;fN=F$cz!V0myzlWEpaDUIF$pihs9`wNKb*mTLKmR)yd~4bA#Tz!R!Ftd0 z2Y@|~?bwC~NpZF7r$4`X)28*8U49A1ep9sgKB^ci+SAho?k3Lb0dDxK1x6Vj=ha-Wna|@9JznsL?ug& zgVIKfJ=vM?i#Ub1WMxADt~Q&nlPF|P0a-IyepMdFo~js{=1U48nq?GEGq?mXp&ZrC0s$T59YIX(7u%aBzMCEisMZCBOV5fW$=H_ezzhYeW zwIVnKx@gd;KX}WZz34Bi0Uv1Y#dC$@d%OuG7_wd!-osN?u)eExQRZLIRy$Vbr+x`( ziq~F{VYrcY%2;CJ^XfSkr7E6+0T_0`5X`yY_h2S<_St8D-^)4c zoHM5k^pAo4*@Z35e|QDlW<*+((GAZ24h_CLY@i?0w8{OG*KAmG^DWn3@ZIxQuU)lq z(;BSz9ORs9*Y534JpIJ4e)GaDx7;+edgYZ@U538FyW%<9!ed~(y{83xlIxQkAU^0( zYfWw^QJ3J;0dgFZpbNkr^$PkmTQf`+_iH7eN&3Rxt&WHrL?Iell69@jRw`MtNg0Pq zO8uaclZFU1$kJvTt(JkjY*EHk+Dm8w^0Gx1=oQ3cbety&WviS=egyW&3^0gzkSiq{ zWhkd~^Q^)^uxU6HIN2V9#Z7%KIvwT~iLGk!J(ysVH$WG}f>I-m7#*^&a!6gx;?yXs z&KY+kh&@65pb4gR)C71upnLf~h2ocxvjVGNqalGJAhrlUtjQcx3*GFflGc$@N5QfX zXhAtBUi*qPmci{V5pCFmq?)zj5T)T?ur912p;yL_f5$sc`}psD>_Zxmthc0KjXUOa1xZ|HpaD_;U!;CU`!nZ3e?vp9EpK%hd^-?~?u9FA>%Mjw->sJ6{K zUOvTbZcQB8bhzzyow-NahF?Sn|x39QkA)BeTZYpr)OSroydSq{~s{ z<23RYI{O@@$(~kiQI}e}Cqb>0!5RA@1PNucy;&>|BxfFrN)LoFVtlq^(AE%)nhk+* zzybUo{)v^f3&OY<5)6l_(m;TV4?l`Sd6*fyxT$>DyN>BZmo$wv7S+n47OBV}OBk5d zNtt*(wssskO*~a9?rSA*D0JcSZxwrx#D1{N+TSdi?ayah)j3zJSF}}|s({^M zlBF;pMK)HU;KR4&>+5Jfyvy|Y11*=!knw=_eAU=@KvFxhCOUN1V&qO z_csZt24__`55Y@kPCQD_LefxIbCpdx*|OvTy-XX+hG48Rx^%&wP(+p5Fr#z{R(q9I zEM;`1?nbI2oFfjMMg!dlk^p|j%Pv9(ezoY*6}eAp8F*Og<;j89u-Q7sa|q;=#5_#O zY+6&4jcsbJh|_Q|N7tl?ZHPj|Kuk> z#x<|YuDYzJ7wbKLvBghoC$dfnLP&dPsW~P9B6Mc_bO8!xg?pWbdGftGN~NvlG&AN8N*Q;-`h8C z47Rc3u=v5dSjamB9)@wu5;D?dAe~#0u?MYCZH#-{7@rGh z>g4KCn(SOM0i>a0ow0|PG#quLofBy4Sz< zjI%!Q-uJ!dO>cT54mArB0s(~R05Ra@%Gi!Mc5-@GyyjfM9xNM=8QXWy{Cj_SfXIhaBIE+WI&Hb+qXs7q4xlvoFtQJoU1m6hu0LvmB=l6^3Cf zM8;ul#-vp8R-jpvq5UxyddjcQXpMt)A)wNfgjCz0&fF+yI`@hlGg|ON#&|1G4LAF@ z24>Dyf70&Mc|=262C87Cx=_Wg$(z+BhGE|@5wcd$36;etgNY#;do(3z47GdR4# zp3Rd_CYa+f{^Du%*q|F9Mxq95wOJJoY$cB|s1-fQWNfNc`PED=F>9`96GoU2Qqdde z8J4idvVGVX!-`awXzuY!nyhIoXl>^ng;Md6U{7JfinLX$LtV`fu?OgZ)f-6|_id$2 z%8+1P3oA&!OaZHKgu{q0>>O-Z+!=1p#V)0@K!$i#*sR&J&phj_-+9ByZ++V-XPkLD zCLt%j<|KWX-O#{XAKnV&4iJ{9d1W2QWbe@6<5<`xP3fOHV>%v0z4RxSFI=(+clqEA zVyoAzg5UEzud(mmyX%?f_dS2;xm)MnhPR4+>s#NLaO}8gv+xmjI#GNdQ1z4S!kf5{ z&26Pa_ti;(d)!lbIGz;^@?uDpb+~eQQY7N2CYl;o*)S$4CZDJ6+?jMLVUM2<1vBvT zjR_zJcPEZc+gN@l%eIz!bCfgBmD2f-*IcML_)~xsq#+qm(J_G)Ns_!br!O|$Xt#`H zA2d89;2+%Zg|9K};HtGLhgF(H$dXrnb03mZz@F5ZFiz8c6>+hggL5X1YSN^uPGft~ znUE@WBb|RR#8M%E)@XJGSkO|i=ltHT!&Eqo4nV4$~W^ewmDvf+V^*WdJujT_f)+_(nsihuUmeWONUwuM(0KDc!YQ0alq zo4$L&`C}*aO`kObUK1bd(EFOPteqbki>Tv%Pi{l|Z}*N)J!)nlx|zRdRyIV_sb(Tob-nV|^x^vI{J2hK}N~3JlyAs_(A=OWfp6sgXL`b6cGroZ(h;fxnslKL?GfP#K z)6Gt*hrNtX^2B|zL6^peF4!a0hC4EP95Cs{>sO-S2_d#7Ra4RI@bZy2;5 zfumT(9$#4Uz6GJtW?t55p#cWo_B8H66G{@-AS+0ZLurCanUmpln7aqHr;PRR3i~}W zs0=@JgVajH>4GOmOQ8jZCFp1Tp7xHnzwiC;JLRo!!7V-?{LqKq`~DA1>F>uq&zMyK zd1&2O^o3($As`P)&b$nJ@GL1FtH3iA3l}Yzd(WLey6ob`ix;dOTCr@!;)8r=>VZT1 zpM8GcuYUXDjkn&2`+L6it#9^>?VXL!@z^bjFKy11u!o&wXKvFq^iXY!W8~NaeI#61 zzz-EL6vUx}8B!D&S=|a}opi~u-Sv^KDV3+^n2lAXf*@+xL!-A%Rl6C1Kuj~ZeWWU? zdJRZ`YU2(kZ8*F4$jy#Yxy>%Ai;1lLLdvNk|6{SodMuscWi8b7mk|IWDvf&!vFLo-X>Uh3=Y!{b z_H%#q?)SX=?eBaiW=~K(Ots+b(DC98&Ix-W0s(m79tnE@JOk6F@49pTqJ{V_ z>Co!IHERZ!F1z3EYkvBfC!aa+%)aNJ2KKC8v*zN9eu!r(^80)G;qeT=-UBbpeK{kr z5&-APHIxKZy|O_s^6Zo6F&)KVJQAq1-U;pyCn8dp|O{!@B$%^=2G4(XllS7EI47k+nD8suo?&!HVNh)nDu-CU3EyU zA7XLP%A-i-R7|DGE@B(OkqsMB^(BRx1+iOgY9V$Bd#um6>gL-B014t?G9{sC%@ZbI zl7+S8Klzi-eeB~O1&sg)3y8urWDweDmQarYfdmM!_SKmQ^w(odT?1NCsT z#q0P;7Z z1sgm7(%7nZME4v0H>@k{EWHV9^ zL~B5dIV)_S2Q=C0@(2<|3|qm(xsok%K(fAKzhUUD;i^SVGls@Q-DM!Hexp8Q>(p6m z3^=Igt=rl2WJtuK&5;+t6}6Xw31;%>q-L@>x5D4pS_h`2nCjUmsFhN2>%GK8oYOi~ z(h~NZ`m4Ez6?nf{Uzz&144l=OcdpD%=mg8fzr1n6Wpgf7YH(8#!}_PdP!~Kx-y)SJ zJ$^h~pA$|z5l+urPI>d0XPxnf|M3s;-a_1G*oUvL+uH**JJWS8pK$TPE-nxAjm=ze zo{aBv4Gc`5ifi?^&%I;m;IgZJdc~qe^Wpbk&h_kbSZm((#O`MfJa^>Rhi|y)mqY6Y zzx};$VWnx-amR6)hZoEMW$?3#bA=ZsPU02!^i&saUNSGokc7{6@j-j`M_%bs&n2h9 z6h|?v(O06M@F@7j>#<^V9Q!Oud9+L>z zw4uH?v$aN#1cA)}l5Jz9Id~ptg$$SsvN!E)3O!~0b#qVU)dC!t`LY)0Qg|! z2^Y)xHlBN(<~Qkh%O#aRggR$Tz{lf?WM$Lr4=>l@tFXexI4Jye%9G%eEticJN|^@MvWeWSx~AJAY~qpu!rtR z-jD|yJeNuRQ>M+B0VX%za`V~^Yrp-y^YQ+k4V%_3Ub^tv=bjlgYVXreKDGbp-B0bl zeeSK>AAj`P>wi9K%xHcau)m*+Jz6;m*pt1jEJ8R(Hix=XjEuu=C1)#wx?y=v5JVkrIN>G#&#*_R z>HDTGlWlGdW%kK}>SYzf1?1q3n$`m-C8@I5rAEX%Ph~?dW3!%0t@AuyoXkytlmkDx zA}5euQbD1EGB}kyp?0eUqwEdmD9etWfM76=DqpK4544?*403W^-cJ=_Y6svbrll3N z940?SWX4K|@Dy9H2gTHZ!(a~}!LWy25knCmjgdr)d+$A+w6PZqq%b#IcMG$h$BxBEwI)sO$NR$Q1=%&P6Y<*S!Fp=YTR;I7-f31eFE%;py>tKp1)IsnaYKNjVpP;WQvy$KZ-5rziV8DSt>+6r*zt3C^i%h?ioks{t_qd$ObBk|hFss@TKT7j{-@L%m2vWs!)?^hH9e5g88)oeeAX zn8Aa_$YWw{lEn7~dkmH;$dt!j9l{m1qro0kTI6&g@>RB!f#*H6x1}@9G?@#;D~mmP z4m<8$Iw!n~oB;M{&DHk_iZbxPHY)>3aADBL&1Jb5R)7tIeIUnvaPtS3m}T;UDD1iT zlDCLGa(()z*mp^LMz314dcy-7aDNZp8n%AJ8az{B*Vwo3+WyReXSeU(e$_QsELnd4 z|MtZ{0ej53h&p^hbo+I#ggW6dE_QtG{wDTtY;5yx1A#Gb8FtTM2r*`SUk_#wrgSok zN)b+Yc$(D45in&=JdkQSi9?&`&|G};dX9>q#3|VICR8}G;I#-nAg7C+gf~8(4MYp} za3RDuGl)j*#2(v_B5t-S5*d^BROI4Dt7YeO!XBt6PQ%b_1>}?$B0jFqET38A`Z4%E zkI1fAPLudn%H%Na#@Sk7BIPEdM!+iLy>=zxu%}P&W<+YKA~DZ0`>(e>i3;g_Ac%yHW!t<9&@A2$Ov5F~Ss(fFI0rf|m?0oY|3SnxP6=dEdKVSKc#5<0M-`nm z866%C#Bv2$XnJ{(w)DupebK+}Gc*7e{{@pjd>EzeH9y6f- zpSkk@(4#o=y`){`l{RUWkN}f0HW-6283YDnqV2QK=ev8p;5&?cwn+v|4gy5ZB8iL; z2qm=AN+<^eh$snVp@4`s4)|>240^w+>aOXT`F6Due(!E}cD|aP4%O9F|Ecbt=|KoA zv_Txh9zei=2VX}#A$ndqN@E}-<2`kCb&d5rCH?5=QM2aFzVwQV$Buh~wZo=OxA)lb zdl+ke=Vx!57n5ND%ebqGhcidKYi`l8Y#_&bG*pM2q=o8KxI7LyZe(Dl zp)6ZXMJC3I|0+w8Lc_guW55l-G&MW}f?J@i%!_-HcPxbyshgH733ZclBv^JWJsjgz z;aV^DDy_dcfa@D)4q4=0bkhv^ZW06z!whKZ~y(k5gu?5 z*M}t95dv3nkQa->4hyV&9i1dJ-KD#T6w49 z)uoH^d*(ks|A{9@Klj4I)6f19BT9Yy4*+=7?~x&EL$`o&-sw^TJ_63h+N8hItfD2}Fvc$}*= zLI5)I!f*a8xsWGQ?N(jS^c^Z2jtVYW*3)6C!g$6j*3OiupylAD+kHJd3eWPe4mwSZ z!n95zE@h2;q|(w$5Gkq4rvi~dBON-T`W7L^QNvC|Ndljb>r4vYZyUl1rKc5-|6MPKdrYE>}c>FlhKoWMamWE^Q$*R?d7v5ZK1f z^H1#7%cK5=JrGi8)M6#ubr4y1??G~G-1KIz&+dK1QAh0mg&{ldzAJB73A9&N+kCeH zfYFW&hCl{9*5T55F2$ZMUGKebGolW$) zuDyQv#OCooIO7L!(Wf8l77F%|K@oeBCwq*G_F<1qX>9>}L~^3?{MuG%Y74Xmapi@e zFOH^?kX^3w=(mhe$EH)|tYBoZ6n?dV^1#?int>qf-)dU3Kbk;EX2?bLPc%hl*Lb_D)Dt9SG-(> z6D%xz5RUtey1uX>UT~y^s|2fJZekL`7XQ9QBXbU|3VuBoIfl}}G9Ts}WTkvu_#vW} zZ5#wX;*$$fy3tmA%3&66 z#~pWIB_6Gz))Lnz_PMCHV~>p0=nEC{9y_16XlUqEU46%0BY3v(f{V`Q+ko>H%x;-B zY0cVIvVPC1)qIcr&Gq*`c<+4=-h0N6Pe*Qjn)=F{T=Hf2Y}(#14oMp1_)!oAxhl?E zEjfum%w1P7KnzRveA|`JELse&sDS0RQvJ;gD3+xmF)LTnGGSUE>LB;2+!m^qXbq7I zIf$)Cr3@M@S{lqcv#mV#C|(5S%GHdP5c7?-;M`yp9%9ZC$Kyu^0$Mq%&W~YFPDC*) zkL-jDQ#!8bpkhrAS(R7yf(Zz8kco-z@|_fUyIBB9uqUc|s$y*d zWo$7ABce1i|H(vQaf`>8Hl)&#nzrI=dLjh%j@h9eRGGOLj%t2lj%-*66jIW!2Y0Oj zlyq9yG%Y>Cd|98ZMrG`&5H8pgWMUR)!Z!wEJ8bzEjzK{lmZ4C-y~Qj&*h75>4c=~- zU3S{@(|hoQVgCXBbSY;?A0Z4ATEiaThgmDKx@Y7)&%N;cdFP+YI~5C_nag)c6?>K} zTe|Me^-ESPd3?;MX){{Rx!}h*I*omrz#dUE9YwOEV~_Onl3fPeMB_y1Y&S7*!~nMq zd#HD8;Now^wlXEM#!*f(;0Zbv)h))62my5>w20Q^H?yalvMBaoyV+jC9>Ie2&KglC z$E4szs9HuPbq#DMA&{V)_&u6osEFcDAyzP{h=0V?No=Vymt_1bFO3{y$tA%a>MOk} zF){!~Uoh^@@+!E*vdhhhJH04~ArP9&RGD7z2-4s)Ta>-HHi;7KNeitR*4U2aE-cnHT15g4&)efYn3R zg6Pqu7oQOZezee3mxPC{@q3I_>X^ZjAaS_Qe-i8gbzqTBEJvoqIc1^vzyJHMA9CnH zEaB6?f8W}=S^-iS=+Sv~T{VoVma#`-sNZ8pdA6`q$1!8aOl*GY@?n?pfgJi=GiFWG zHB;AZT)*M1jXdA;&?65_o;vBeo3BN5efsv3v1XPJ(|Im00Rpcm-K8s~8tQnH5?hHq zD3rPj+U(xo1)>u6*jp3a?8Tf>iqydpZNyQJ$}UZ%U=#8|>KK;Y&&6LxbRu5;2`i_W za*6$+EP89t8sC&XK@s6y6e8z&xP|E@x0^!E5;)Q;TA2{p^-hMeur?G#D`GxRF{4;n zFPA357cE0hDwZ-WEvxe32B#0I%CaoAxYDvrUC+9jp7rc}3WZg{Yk3w!?)KeeWd+%! z6?Ah#1f!c1oQb$}^GoTe1^SWn;`c=3gJDFW%a~+c>@xO9$0WbUmrxVg#xepo`5(B9 z*X^|lll)75614zVj|YY(e*L+#Ev%J!x4!vbc2*<%%0iYGWn9r zE}qmp0qmJMYuY+lw{X)tZ}OdrS@UP{Z9wL^&b#1T97M1Ozo+7OPYOS>RI2RyI8!16 zmq&^{dQU3efoRkGF7{y!P4jz$rv%D{;1R!I3cCG%o<_~-uQrNajV-JUS9R~o z&NqI#_Uh41tfzNlU0pA9M&5y|t8Zv%YGAAD-N@rnwROO-+E$7^Qna$6kS7JZ%IeEU zT6?V@CSrSvJ!uCt2qCL-2tcS-FDr|R+jueg6M`YgQOgC6e0Ru+G7*_UtHcBpB}Iac zmbo2667gcyiN#{%^&Gj4*EQDhs!r!l9hw^I`#1Gzs;eE?)Cah+u>oG>spCE`SQW7+ zWD+WB4H}!qDu{G~%(UI&iOL~}z%J-93Pr`Pl7VNFNhV>P;`4?m3rBio<~YhxWJ20B zz7^>98h9d9t0Ur8f_@4nh=GB-Xb9TUzh7S(0cr3mU;qAn`Zd({sqa}|*S!IFR;cDi zuI@#KJ%Esyk15iYjT*eUCG4U`X0~SF z9XrXIJpin{l@5f6izA&$2;fHvMW0I8BSSu*2VZfo?aj*XNSS8~C$&sD^XxOmje7#@ z;X4(p*R1T&Va>)ht2V58{-x({zWFAW`1#Qpr=vs-eH+c=0le4|vb#P;2Xx^PNS1Go zOEZT+?8VS1`jY{p9ju+O+gPQe$r6E@QmAB2ys9or+U$?mk*Sg@W3;v`g;UllrmZr4 zBbvi=nyk`h#uFChC)$8PgJjm0XF2ssb>~if8tZvjp$mSIdOzGS#DXc2d~_@FnFMkP z-Ij40ZrSFnaI}#TO(s`$7Znn{#vnk`PTZ^wdjij9XEt7JNlbJeu7Nald7~T)G(Hic zD>9jf0cg!9#FGw1H$f7~vol{}s&A@q=v&vNch3%hPlpaowY9tLxI_PbO+D)CcG-Dn z(5OSV&Nx5#LztJ`f9>X~xD$*ZVM|+41t?07XlO=tSd$iau^2K4Oq4fmbWs4!MpMt;c@{$z0v#R<`8YR7v7y?fDvH7zk!>Dk!pj5E(X{7c6$ zWU}XW{Xf;ev2VY+?fURx;hH88sArEV>7a?zkS(LEx+MAM_mqKFX{|m@=^jj(Fy(QR ztVp27w2^S7J`<8@YHZwXr=51*amPUe2lQ>~!+dS0>MH99b*t$?CS6%#Oh>T{8KTD{ zi+=fX@qC}Fw!V%z_U0**AA4f-+2@>v-@`X@nCH@U3tw9L(#Cf;Enl^4)MJm{dC%Sd z^6&qOM4S4{d+hEzrP#wnKBXDV;N!83M|-eGR3pEONb@7 zoaMB&OgnIPu(YdxqO;h7`d+xT&Aw!Nl;kd!O?aGV1dkq*k^w2{N zKm4$xh79T7rx9ywU_pR}db}SS+mQad+%rO1fwxk*FloEaPpN8KzY={>ps^HIccE2E zTC>ENQ&dPHJezgLfWl0fD6h;7gd%Ents2Lz+442?D9{qJZX5gU$m753Bjw;P89cbe7)`i>UKMH|NW2q(mqEWIdRss&6_trJnB(Iv0IOtJ!*OmqUTl9m9d|? z?%f*%oO{;m9W2EjvNZ)rk2$G@6BQjS`5wjSkYly*Q=4C_h&O2kQ2)>E zv-im-pK$D#jy~v+FC1~yVTT@ZFoSyrKQg3O!w|bJ;Ugd#2HG(UL5yrLu%=g?e4>lY zpBOvliLp;I$Ie(Y-(%;UigoK*ulc1VFEQ4Qq6&VG z_V^f-&EQ9F=9PDsWw6jho`m?-GEt6C(x658ObRhAP7)G_rL#e#SmXc_(JsY0#iI(sw8suD ze)$*#s6Q#sBqyQd0|V-Rn15Z}scN4C_B-R!^G`eX%)z_wialL2{7P)=6>ME<8YH5?Y$&2~04U=%iILJF z34z2>zfEi|wt`=^LjBYUvPyFkS~129m!klWeyJmTuY)gmbgyPDVbLEPR-M}-4|M69 zKm515=1h3y7w`W3Pk;Q?AOC2gShQf?DMP;S?I8#K^8p7PvBw_U?=ZOEz<%A-C>wBr zWI$SH!s5UWC1Ur5EtQzjjwnue98Vi!`ndo~wpoiv9rC;QC%}(Rvnzn~;!A&>s;X|e?Ut7pzk1d1 zD<6L3f%(tOo;H1oK3ll{?e#0yuUfq9)hEY}nK^sr1s7k44jT55+A`zlg^1u3evEx_ zee(54Pu(VR7N+tc#IKeKkMH^-`k@<<{i=neM~k0^q%^>eybSSyV{GO4Z+~;frj<)K zfA|Yio6Vc&EqaER{o`5o`%kBShxj%2sYRWQG~c_7C~1jCTV-iaPQ6A}Yp;u3RGSM& zjY*tzLmk9Bkq%+-2`rQBRGk>|EbdxrE-MS+=nbLnAWX8Mq)gpV-_IZVg~#Sk{nh5p zFRWj8_Ep0sJTv#BOeC9Ey!g_4Z@*&!Ke>K5@tf*-1zO-oHocXa=BGsqozyf4B=&dw z5|vFi>R7B4)ikG#v|EWi9lhRgET*=!k{RcWwX3HEIccv-Rt^dG52OfB^dg_8t za&yteG#nNjdkite0g^Q|YI!@W18avp`tX8hpJ9%D{P;0^8*u8hW_zxA*{iR=xen~P z|Gts)7R)>Ef}e0xZ|vKLrGLnn49KQ{Jpw&i3uy&;WUvUM9%7ckv8**NHYYM8(D)Xf zYM+JJbL2!uT{wt2w{O#NI2~L=gYXzx+p9;H?_PBF)9aSZd2ijSzkK*xRi9<+R_^iX zPhEA=-))}!?4KW=^yv4_nmDb6E31F@cE3G#?!+trZe&kcIYhBXcwjR=jZTm7XuAm^ zT$1q|)@7F0WPQ#>)ylj9jim`qfL4aqG{YX3Z2~+x-2*;FWHQ2yEM-h+&6k5@MR5^( zq;2t^y9qWQ_@yHsefH^>fB*i6Dx5!W-u$PJKK|&VkGaF+{iNI3mtIW#dd8#i4rS6S z-g4thPgq69KnZ)~lIpfNGf`hms_-8w;xOq%#2(s$ilo}o2AyT7kx1qt6r_Shr88zt zM7W0BwX~z%l_3oxR`=|3>Q!gWd}r~>zx?9Yn?F`m{`jx+Cb<&!7Fw!g-S>k5}wj@Z5s+Z*BPC zw;$Yp|480*zwXBCxvlo;+XUpu6j^z!IpB^yEX7ze3Kg-(i8A(Rd*&RSva|{DXoahp z9_f%qfFD9tU+rqzc$S=_?RH5RRoy{@7)fU?u}7b}vu+ta>%G@s{KGF+{`JFOtB$OC zW9@NfAF&p6mLG(ZSzOEeJmhk+a=dtO?)N_ z<%TB;D)%RHlP0nXc+u3AhS2(1pNlKTo^Yj`j5)+D1BS%sBT)9(=h83)E&BX`ti+|to+M6Fa7$B_dohG!2I#% zj}T83N$z*)Tbt^49Lz_CSwJ1X$9EHjv%QUknxRTtc!mg@_MXTyp35&MZlOjPao zyL$O@JNx6u9}U0wqU%Q7`te`?y6MB;3_d{aTRm%QRq(;#lj)CW^v=JSlVAjY>?fFKbwWua1_1?#d#i%AK|IbS+FFfS8|HpwV6GF|Vx z@DenXcBF~9!LfJ(*mLLfF=LiL^Wq0T{cjV>M}Ph6$AA4xG%*bBuNr>wl~*8~-aL)a zyT-a*>dEO-e6beUuQgT>fV7TTd|DBsr8;qwQFUI{Q#n{xSdmHCt1M49=q8C!IzhP5 z`j(9tpKj6sF}X&QCKEzrf}A;q)k*CoPHwZN>8L!5TQOLO_jB!iH*ebf-ljkO>Q6y` z#QFKthadiO@oT?Z@chQQUFO-`q+zPUvp&?OAS64b5@~q5u*cTZP$cuG$we7eWlWXOAPZ4Q2(-1T zGfJw} zOhBlNJ*2XtrE~;H>2a>jBo>a8py;ED#dw6g(!BeD`(F0gh!=kS7F~v4ZT|TE-~Vni zE{_Z4kAM2pFMsv1cE5gn;rYm?hN%r6J=E6>BKG9!VYNXfx(A>D6|x#7brH=m#L%Pi zFW3Xa00^j}hYaQ!05CUHF9`O?p5MYH3)BdS5Hjp>#8QUEd$Y}i!*fnmRUH|c_|iX| za_%h`zxjt>|6%jy-vt!jylTa=f8A^Evum2Z)3bipj^Wu2gwxR2)PwiB>2TG^1JNK* z6j8`s%aQ}!Io$@4nh&%a6vS5TmR40-U7t>T7rX1;pWCNz-@dTjn^l+l_T^q@3usu* z>K${3>P}s{^Vqf=!5(?%#^=}>onVp_OyE8CDbuE$b>5jzjC*|kvvVg;vG>@QE?d0m z-A#NO@ZnJp)Bn2Ss>^^d){1AG2$%!i1ni<`W%qkS9jCobz#zdMTpw9-H`G4dy-I!$ zl_OzZuA(f7A`nG1#Nr5{7UOa3aWXSUj-HSRTuM(RiEcrE^adtDy?P#X@^Q8O>Jc#8 zo_}|I@P5>`{`%3!c1Qo^hrhk@-Vq%D8idhU+qq}wZZ$j})TIk={&Gyd$YF&#hkhzT zh!TMIN*PxX7=WQ17`xR-v{*qhx5}DvARUviA0?I9TogizJz~Cj`FPI83?jn3*yuMQ zlU?`Q`|R6?Pg}Ei!rYk$f9Z?Y-*Kzq&PRXx^SsB#oO|-uS1ny)AwRxR#+tz$o}-g{ zVZ5UY9uziMSD!PXiO1LRz-aGYM+`lD`|StYyQJubPBwv@Bw}56ee48h&i3^A9-QFXUd)^G;?|O7 zOK!UD#%Z&rO`AC-`aMgRFMj9!clbURz%+K^*fW0oqh9sB`t+Ca9vf(G4SPT!v=n{~ zvqfEV*i%H|R7lXsR+=;?;7pZ5BP7@(5u^R-?M=YOG|rB86~)1}(vT2M3z8DU)}6&@ zJ9e%fdcv^`r(!g0_e`3A;#@KIq2Z%O+O7SA-~8r3Py6m3L-ytQvCiGQHT3P%y;t`x zIH3`Ey7r_Oka-o(p((W;3AFYUlY(X4#BAc0VUOOf(#U2c5;4|2RL4$Hy}Zd<5nj5b zs)#-KZ0VjVyR@WECeW?e>wtZa`G>C#`pj+}yYP5Vhf9YKLqwyeO!~&r$Lv+znMZua zJw1hxU;XvZU;W{!L{O~}>`BHmvYJwlP$RF72|*=eU?Wvfld{tkdosvSb~R>jda@R` z4DG0;xHO!w%1Uk#o^#?=H!;Vw=_;**=Lzogl#V2IWK6v`H@Pa2jBT||b;EDH;nW{| zw`1q30fYMX?^{2xk+7PkUN!YR1KpzsZ=uvk7GcJUa*L>=JQLWS%>?B~m^0c?r2R+p zc%*Ku-_xPP_B-q_^ys6g?EXXc+kgN42-$7-U0KD4burc|>3W#h1aPc@n+e(VOgfs03wnbGFCD4Yl=E^Bc)F3lr`V`W1uH7Lk zDal!-?Jbv)=!?EP1)tO1I_+$aqp}Q2pBj&)BQf!n6u^nbf|gd1w7!YD1RY4PQm(j7dgl|zQCkOXA&v`#=CF}#6Rh(i z8p}kGOyx-Jxqa*Fc$=c8Rz|;g;IfYA5t+yC z)`eGi=&CR>YN%s^N*S!9D!|%Bb5m|b#wVh_aq<+ixLAre!mZ1 zf~P8D4_p<-niXke)W`M|cwk1bhmN!C$gy*euGNk8H9Qp8uc?o{Inb}Je)qwHckb73 zhwZlWdp;e~#)di!3oS5vq7{NbVl`9%CWUD0XoYU=!XD8c@gj*V^%Wp-v4jjoP`XK( z3b8J$*gDn@7Ad&M#EGmboa4NcyGv?BR={?@+ z>RVsWd!&8q>Y94iG{}b*=#})Sr>Di@T=EVQzC}Qt$WQS;&}z6ckRDX^a|&Z>;HKA3 z0#me@G#-NB3l)bRcIbfz9ms=)M;v)L@bkrEj^1v&ffxltdDsu|BV&5Hkp$?{pp*a3Dr7kw8H>6au ztrTFgV_&Q)k`f#W8t;E*f9F1JGo&DG!p$bU6}`H??aTdiQRst?ygc(AcYYL$BVA zy=yTwZt#sfuFLzlL>8kI?8&%F+RI=7_8bqK5T3cK${eNE4$uQd^E=fwIlHtSlC3!N zX`(K8J7l*tE8515tZ(itrCbR!$!-Gl>|%3>7RYRmEG;4c!w3+Mb@S>alCb55Wg$`4 zf{;r*3oUnMBqO#Ex0qFI!KBc5N6MhZa3wujHd!WOO0rv8qhnFYZ(@ugjtrmB-m+m6 z2$1_SAH_lc5iH;8vWI)f!tjR3=JeR9D2Hu~{a_~27nK)Dd(|`6T+atCc(`Z7rj6%a zc;4u-qvtQ2!)J0!Kuat82FE&wvecpWJEV&i@CMYe zJ!EC_G3=q%2**^5u^c+$wX9FmgGC`~>T7y2hQR_6vWkzbDJI>K;Pe!Dh^N6_i>C?m z3P=g|NL3131?-8+0ECdI07=|Tq@oBwKj9j|;-uJPAt5c%VupnH-U{}J4`guC-QF+Y zK8^m!2HG$Igg8VRoN=o96NMAo+mxK6m*qrzum`>J9fcP6WgD?ap4H)gss|QcW*D=Y z`!PK8Z9ovHV<&m1or)R54mnO}t>qw~Bo-tOHM7_E>BAR#AA01$IrHa!|3}}OI-_Ob zq6N*9C$3zzLi${*H@vy=SO5L1+eX~N`aPFleL2cj->1f1cB7Nv}!yt zCC_G}Mbfk9cBQ%__buQ`?pyd7sCjtWULLqtpfMF7LsR}-p&Dqna|J57dFRGl3 zej9Q8_AhbVjj(E`Xq3n*wLb-GDb!Rc6dxly_MphndOwhc#`)3ZG{lzhtN|g`R9K&t==x#sWox# zs61OM8&<)K7@pdKJoZrCdB_1nzWTLOzI^;~>?fac(g`PidEmeSKF=lEfXO7AVUG@m z(FF~!p@Ti#z==6_{J2R|n$P(08S|f=x8S*XlbXk`T8-cH+KOfCHmzUu%Ja=FPt9LA z_oB-#gdHYy^p-Dq$ez5XJSKD&H!IaH#UqVk*dsd0CeR}A!!B~dQ`FnL^t06IVfaJT*}4@m zlOhiqZa7gm8i!kjJ(w-=4JU+K@mezM@fw=BdvO#5O@~YRT#--9#JMe=M(h!sh}eS= zRV?zBg;$)i3fLo>rZSN@zN`B5>pAW7vbq(18GZWGxkSeds3D*3~U|cHxub z$DMxm>EkAiWxS_(@&sKob^RL~HoUcA<=Pc|r((wJr+;|X59yflE~x+(2*&e?-0QS2 z8-z-^x}l8fDCim*+tBAqZ$%<$OhX(3o9hW8l$%24`nF1EEm(odp@QaSDnL{&sZmJ} zO6tTY1*5Fu1fe91AqH2O_~;j7uc(9So2X#28;1Z=ymuyCgwj!WbhX`^0!1lB)Oxb9 zK9`6~OsrIHNoa!Wx|>F;r3MfZ>A^h)T>9c5uXV)1zNvk{Uu zh_}Q;+I;X_*yZY0`aN*XGx)jZHW@t^QHRasE$3Ps{Y_(!s|u@_zh}(`){0*@`tebt$2`V(4>M!+eHzqplJ|1J z9)lml9=Yl1X28Qy*6+bORq&xI?HOw>V2{GObw&d4V9O{?(i*MOiJEMI)Z9YLqq=tM z(%TPpvT)Izc=Hx_NBP9WtZKApp$I`0M;*~rPx!DhCV=+ z88kwd7D-c}izY(q145>lSvo=DKSqPi?vA(u?LVoHu9wtcg#J(|1YNZCLZ(FW#NA zVCMKq;}<^n%xS0nCtdh~+YjP_L>*%V#$^1=i-I*=gKz_MP1GBqn6Fm6T;0$V$qgV1 zC@;RKyxtUPTUlR8OUT;OVw!3vN^RpYqIA~g5EjSd8<9p3<|A81mydaN<;;?}H4p-A z;n^j@r@)Elna1&aAlOW)Es60d_@R9S6G&PYi{M90N?d`&zDvRpJrfq$qQJ#KLy%q2 zi)njBnj|JtgEyW(-2k*!FTsT0C zlihXi-J`~g{@#C`I(2IE%vn#jv`l(^-CBLN@Qt@OZhUL~o%h}~d-lvrF1diY<$;5@ z>)lY>gIRX`o-JXIPECo|;MGC`XjHg)TbEQOvt-YjD5oE)E`&r=a3YHz(;{e5xTpwd z3US2SNSu$t#Es|H8bJ) zvMVlrV$5T#Ti7ynlKMR_z4`(lM1Jq*?+zP&<+uq?-g@heRh_G4{T}(g2kw)MHItuB zt=qBS_ZZi?3PrJH4v@K^QD?P%(1>idsPKqM+C(CtqzzFk5n)sWguzum4MZYvF?_kF zM@uacmP9gXb2D{T_0Q?D@RRBQyr}aO__RD#B~#ukPPiDItx$gSsMAh?`8|2;5o;qv z9>UG#SZF~xjYd=;QeCr4X-F(UegpO- zMkgJUhSvOhcm~{o9_V6C&HcxsR4dsEt9IZ7kk760R{&cf%qW8f)-fj5}0fP4Sx&l30ao3 z#@dam4mK6Ahs&N&!6{;ou$s~q%``E^9%y~gKL-!kQvrJnhg!oPG9f;@p{3Yx`>@Ab z4fdeDE}6i+b|oS$!V)?RgnU%8DWJ5I){12Knigb5=&((=QFx(Fcr7Xu%2n=As#@iQ z@m84$Czp$!l(PCH*aOD+hA#OQe3}S01{>a#Mi}T;G!8x%^rv>& z>4dMG)YPx3Q&mUnaFJGWlX2;=rF|~*Pg z;qsn$DJtC$5VK*AwLD_T+6`K7`Q}C0jH`Gm?4{Nwq^O4E95-vscm|_!E9GNOi<(P} zV>lEMkW8#Bij&?6NZ@s+E#j$KujL zp((2(dyxksq`PQ{rP2tgJu7n@N=;umM5Bv}>K+s4e@j{A1cFRj--8b5IJSw-j;3x_ zWjh+Kxcprj~W7(Ws_=eOUsGp%{Qir@W=l#V*fz>F|$- z>*JJZpG*CoZe92u`?Q(U&N%x=e5b;`ORCuO%958>tX;u=&;9o96avr zAtnlsmU5n0j98DukEitz5u=GT+BR`4D?fUwa)@1mXOENe?}3GcX?!kOw480_vB%_{ zLXOk4Ys8*Vk&4(;V89Eta2W6iP8e5NOkgQDh^FPp?V=sKR={|+x>Pup^2rG#s(r;k zSb+_byxSK<(7_~UOU@HlVvgpi$dqIpky65}lDoN$*O~{x-U5qpZIVOlX5mpMFj zK~ZwJEOO&V1>)xBofDqiTg0mHF%9IYzD^*K5Qz_nBpqow#b^@JQ~PH zHTyIGmN(sc^UQg(F23}_iIc|ZSTk$IGv2di{i@aLS8sZIt3Lh zybi~gZ*|G$bf9_LutypuxS(Q~MqABuvW`swzeVg3J<;Zkaa@suc9g@DtgZdin3-B> zLOqR&Mo3hp9Fv*FWm%_|o#qK$I895>n9p*e$Y95kkl|uwgXC%7bS;d^8zlSJj5(^B%tr1iD@b4M}vY|}GkUaFy+brcf} zkmTj95J66DF$_7{^aeS}qfs%flp1S67}ygqMYHlt6$lahAFwCaKsotH z%)ilAh8$BK3%6(20s=+g;g{lxAm93vud;XJA+Xx|+MRdVX~$1(KVV@0Pwlkh_B#&d zF=Nb6$CsIAm%(NENT31_AS8%o&$owpE_tPkkC)XpHlRGRUi0(MTz&18cs$Q6oQwCf zV%2iRo_Bu!?%IuO#*QB|YtHO*&p(ghA(`g_dGxK^LZ8dVmaK=B9;rbaevb^%B%VjP z_L=Ba3rycRX5mUviZ^L?Nt0yZ?K?$t(6GRc@&NL*YLq$lE-y|vN zqA<6P$Y)jgtekTxUKxARkYINuzlWMoRi5kV+Or$;>VV3LCmsLwuYdKpFMsi$|M^>A z{o2VxhaT3aPh(Z5YBPBS0fu_$cZD4qG_pB%f4&Fo>B;94dv>2XecJj>8(0%{{P;2R z7tCpy+N|?jOO`KwZPjbIK2JRP_?&rjzyE{p1ANSL$yxv)m%gBpcDuF>djv(i{}Mn* zoEYD7LX7uX#U5lQo8HJZmbE~dpxh>HhM2yaYNRwF*=Y%Tf>x&GDxIpEX{fMG9StPV zbbEU|QRJYNrL00go(%$X7N1;IA1Gj?XC^oFh&rs20j)R`0Kh7kRWmOr<3F$$3u;fF z%ab_a1rd_c@ToRh;>YBhJAwoP23ECg#vTfEu8bKnb-yRbP30hbdT}M};VPo=xy zlNk-L!4>r|!Xd*RV8N!kc%KXGk*5NK-&0@Rxr(pf@I>>~*Idb9&z!k4nd;K zG|WXTMmi1wdrIPy0LEL)&-Wpals(O*8~G!ES@HBp$DYm?ES!A+p2-B@5DF zGNM^>|I;m$S}Ke91)UOOC9AmG+;}-!T8#ott(CE$+Bxje8cB(vT*V%Z2)}{X_yhZF za&$RFLh2XkP*x1F>iE^RvB#seMx+HP+s0FDm&k*NI@vfw-*xCE%EoFJssB(0HT zRjg5hJ*1KXOku>Y3tMta5mrT!^f3pSU$dR|743)#{I{ebmN`c=eaWpH$CI}~v?G<+ zU4A#^F&t{G&xKtR4Wq;F=up*hz;*+UIQmG&m#e!}^F(uPV;$qp-rLgm9GU83a97tY zFefO(p72mJ%Q@E6vE&}hzIPw}E z&_f_BFvA{7Vw3qfb}a>7#Q7?itSY86plW4}ZyJi>T16^oTwB$T*=ih9AJGmu z70pE^2uDXU#CBXJmZhDhv{%^)ud;_Y;g=wUjvy*%D#gnlOipA|L=g)KY4cYlkmPt5 z`EWTcZy_+&?vwSovJ!DaZHdUFL=j>BMLa<|YfWX<k69)8#X2OfCDkw?-t49zotE)!d_Mv<(N zCZDI^`;qc`mu&LhwYob@jmv6R`gyII+B*7N3`36@KX&SjX+Jpq`@G3DXWq=oQ=VG8 zb`9^6E?>-=slWX1pWk@P4KwG=xOCVh9jiLoH<7#b(lyr-zel=vadZiYOm{Ijo%N?? z(sk@!EmaIv%U-ugDqI8~YsS!k{Ui9mg%G zfxAkv>C+@er>$~@G&T&a+i;aP1d#9pTeH|ZJc=*vr zo_}f4C0AV3JarP^2BgomdJXIMy!6VVRqIx*ShH-=OE0jp&kxV~0pm?z51qEI+loC} zUF}$@DCFURN?R&Wu5(J8S)iS!5u9$jO+vK9WW`?5xbl|7$th7(9DdOv$2Q?jy{>rA zFXvbxL{d?wd|5%=lE7`i9x)EXo^GAN9uyXKWmq}hr_)M77xcZrl8#49e^c01#?tuh z$DVRQl22iaMOZ<4&t+6fSHsXT6^hd)6J@ZZm9PgCk*TYcPv|o99-+XSpBfRcN7k?w zVakJI8Rls*sbCY@^OvbcQ(D%k-A>Fa8PZ7J@x9W=vZr z?~=Z@V#y1yEc*EeKbtXU#>0<2e90A;)Hc-CH_GxGJs6|r*+LvFeMO988-5SG;QBDq zlj5xOQKAP^MjscqUlL2zt!?Z{+to8ki3;tUUN$;0eba@YL{1s5Szz;mekuWon#BNd^(l}a$EJ+*KW7($p6bjPQ?AaO{ z2e-a0mq=*X!*^TxOl+sb;#0`VU;sQ&H^S1Ev8Ph$;t0n0f%XvRTyHd4GXWoIp|rk4 zi20bTEUg9lB`5rGorf`8p{AS#Dd4Jz{SB>zfs5EUTP;=CgYpfBdmW z9(C9eLk~S-=wV+v?u&zW7!3Si<3J8W(uzZ&&lNgc>H&$jXesb>U zCr6)t_7B0H=U-SjVd6Mjzi0Vk{GRuI{?3iJ+&Fc{)SGU*iHrq%diUxsuanAH^VVVy z0#*caOsPz`)YHorhyeU*8-zhZIfAJtZD>u6c9-J>Er@Zl(Tj+CM>ho{{8*8Va5V_OUD)F#dd`)IBKCM3X9Lt} zFZL+>kOOHwpEig>wDiVKG z4a{>@kGT8J+4E%>?~#$^WJBJZ;s5w9*Ucx2GWQe~KzoEMiGf;U#uP<7 z@NfuQz{aqLeiB1bmzB{T;-|6V>75}kM(J5`QZ)LOMiW}X@~xkQWS0o^=75&H zw5hou=_ zeHDHW*z@Fsv3HNW>%0H;pM2JWId=RW#+o^95qk^@z0akuRfIZeeZ&XK15GNXjHW%Z z6SI|4Ym0v#BLzr^r|EAsZi4i$SVcj*-eEM8O>4Kny#^<=5Ie0|SDTnOr1`pX3}$k0G2&K_OuvEU*xh zII@DG^bE729eXSj)#|{8B`;*c3nQ&5NEzu#eDqhYcl9(otBp}@FEo5u4hg71; zs<`I;fIxymOlQ^9@OfHR^x^aDFovGYw39r`O(p% zo|^pBC0ATLZDz~#nNwLqL!a-#@7eg)#$~IPF~|PUL-$`j{0bhY27YwO!`#C?0pk?u zj6sh2#F4zz$`=_kgpF`&$ScNJ90wB9x7JIWD5Ft4bcBfm3|{x_QYG!?s%gX)qj?02 zpF67Z%0ngkMvv%s-25&mV3yx2sJ|IOlH9N-SC(3UNvsX#y;5%FUb^ePO}2X`hS71ObO9$BvoOGWpE2&vu{j+y|_lMt&yzkxx3+9fz z?`~dL?cG>UQKYtP!YFfmewva66XT{&8ObAs*}kpVljRU|3yp@F=#GpnqFJn)ALjzynq=U zZ&P#2q-UR9aK@QGWagf)a>_iHI!+vYtQkT}R#i2k4nDzK+nZV#u z=`xdy%9Nv(+oVFAiU}(RqAXEgV%DzFu8D0B3SW}aRS9>UipaQAT=9ddZIMZV60=cx z94_>yOduv1jwo_YZT-enUY#s?ywpaB zr6K}Eh-QVU5aHH0Lse?nk>?*^<%&;(GNncudl!*5NVD=!hj+yfsdbn>IPHU}}9s{bxS&>61@6`5*u3 zANTz9o-8RSqbvI9J?R1gR6Y2_Gq1Au;A4We%O_alZhjAIrm_y|jknx1eb$WgFT9{- z`s4-A&Uu=5NdZ=UK$h7sBBJ%XV4SV3wYaO_a_6w4lqvNP!V@vG=oLFIg3lPF-9(z*% zDKf6c|?MBeavBZgTB3A>|sE|a=E#liYU=N7e zsjBMeqlX@U!g1RT8o0}@JMZUs?Jr6+~D_+zYMa_?c!;}WCwoA*uzU%@HX7(uQ+w;(ut*Y zc|5FI--Bz5w>WAXs-L&ZG@(~H9ZfC^Elskubm+FI$CC+P%b?Zd3-;R8MKo*#3rngA zC7Z9nR~D47BL(5;RO>T@-hcGST9g)-U{7clb%oNHPCMbr<&NW5>a?7ruodwhDYJ*D%-V$F&@ zV)eS)5VH=y=$abQ<1yC<=Y_?ZnG0h@pJ$$1IA_7U)6YD8;^YZ4W>1?mdE&C=%a~(d zzLfsg%-ED90B~u zM0{?n8Q#h*LCdFsq6l*D&+WOK)x=$2G9s~lGb2yshA0f=_p-rB4@(unZ`g#O>~6&9 zOF5rHwwyWwp)1x|Gwktvgy>dP-K`^Q9aVP|5UOU;Cwba8)$|-qMHn~Y7;4>S%v?cf zs!U`#z;3PFa@8!RKVitJ#gTB`Xi%Q`VdvbihY%H`ijHvUU=lTLd7%^50;!OZ34wyF zHKi4_`U(slIc8`|lFCP;#LE>5vMfA;5Hf(6DNLsGxk%Ybg&eYr6{rk&q*BNyKo3!Y zF~J^K(4Kzo*e3R1(SQ(OgAcOL=l1^QH^1?J{^kDwMGbu#&6K!KRQ&28CmvrTa+ zR-}Ed+BzN+WWK$}eGlG$-$M^vI_xsuS)V<32Jcj?l;?YvEnocR+Zz|X^!z;|@0~M$ z_GQB^r9!e+e2t(E<#>lH_&PQQ9uZm`9t|;;;o1pzdL&Rc5@kgBbFOx6YmQ`xbjzD4 zY<_p`b{)5NOU{e+%ZP8HszRORmEj?2^kGE_nVqzN)w5hBN;*guJjQf9wX%4 zb$0k2y#1h)PdVwcdw+)23uR8d7l5NfEwL|T$Y4MLXxKmv1Z!~ccp*bXH{X6UPxf4K z_2oQa$OkFr%$=e0T(7+P!itrzEnU9kx*M*ayI}Tt7oCT|6nnyuPi5@UvhC0w?7?{v zCnm!lG(u(<(%nr~h1lvLjRy7vG;1|_xPW$K4W){oQ$`)h%_78B4GL_!gQ_Kl?Uzz@ zi-sO9W=yG`N_7JvH*eRVkSZ2R91p=+biK~*nmW@&$06j!_GSuU=Nwxbo))?o5!7d!8v@T zYxdk(lP6EKH8j?*+3?2ebh{=rPnvf=Fuy z?ekoTv_w7#Da8_#UmHgvTbr~Ir{blw{ev>3KgLE`0h2g|Z2gK`q}=3GI|QS2%aW9G zc4f)pB$U??l_1!1Gx2&XL{VX)#V{c*l$HmM&cM z?3w4B(Y;324m0eL;iU9M(pZ#XPXT_cs+F+^^wIB}yVT7MB1x`IwshjygZgaMW;$$1 zf<7ldA*(V%M7u9*r>Ay{Yy*2xK(9CicSi|neao;X%EuYV%2l)T@CunJ_Cz=gXpwRY z!)`R~Av`TaYw@La<*UxL6I+Vo;6Vxpm{6`Fh2`Xz3RvRF5sT?e8o^U>$-+H;#$ar+ z3e_nyA4AesHrlbrat_T@*0dxfxHa)MYsw(Ut?_$Az1odEZnp+LL#$3+s=yv`y!e`XvPp4TnhY~3L~=|wuR*EK!KD+A zNSq>@!^&b+up19b+C;53=Zm&wzn+5AMz>Lh+$%uJH>~ZN;Fjg<4 zbpjtw_Qa3znnMJH(4spFa%1cnCZ(xD%vg}iBnISuxtcpqPDI2ikP6j_NaL5h?oyn# zjvtdOg$x4^l|)S@<^Z*ZJ=W+!sFR( zkKKQC=IP)1r*HlJH^0Hs@jSl@;K;MY;*-cQb4Ba{It)F)9x#M=N$(mt;_-2#&pPkS zr=~nLYYu&`r}SOYR~Enc#-{ZwqjAmk*G+l4neiZo#K9hW7bAfl?c!;XV2?0a+N_oY zr`2sIZIY{S%(qg(7Yzb0CDT?UZno3xX)He#eTZAGC9T{fjm7eSm796!A7RuS|E!mcty7uQOQgU$(7c@7Zn$G9}ok_l|%G+c@R!%f5XLNzO& zrukN)D`JlfQ7F`jdi$RDduZkqb&|oq=u&G{9aOdodxDXwMMLwDJX1}F4?TjFQ+b@3 zN5^n_7y|-w6m-Oe=)r>WJ+_QJzz-O9_sBb08|=Ib&zn4TGUGi{r}BIcbL@*=ets37 z$yvAhkx`F4JnBKN^HwO>qtEs*)ur!>RqA%hJX_qo#$|$4%c{HUL+cWPAA9_l@mfHRPSw>NtEw3^;my&4qhqH&ECXRq53ZAV zPx?J}9+AH3mYXIvKXuu#%ceXH_RN?yYr103o9}J{d)9ASKl1*O6Pm|gc-e)pFVFYL z2a)4|1JOsb=F8e8Nmk}9 zTr^BiPzo~^1$D)dv)~ANbzEH?dwl)FSdgSjB_HTe-L3mcfd@Kb4~iPMO4!5I!XDBx ztBOm*)5*Nc*-KC-w{_|yixBqg$s?==HjYEBVNdVcI=&OgME$LI-2V8JPuy|W9WO0@ zamv)@mX>CHr()&W6?~_HPqL31J?g=S?z{NX3y98I@%l~VfMQ@7*?Un&IQCfoOYK{p z^^scZQ_1P$OhFh?vL+eMXy+g$ZB&zGj3v$NjcJ6~cX^A}gNF`1{J?{T?0>-L4?FzOBZnR_aNq#e@&R{bm`A7LeXO}P z?BV&Ix`uiH?AjZzpEhIqMVDSYYu?N`^JX=N@g9(9<2xI9r3>tN;_=5$J@wyv)%I%S z*+M?Q+`Ff(9o8P~fgSBGX4nG)Is6#*m}EoMAjDUe%!>*L zGnqQ%)!a3JRA@(xCV6`1M!4{Wfw-kfw@6ze>dxLa_Mo=`exk3I zW&XbpdoW$`gmef+9LFxzC!BcPF~<)5^6|%h``iC?(7^|O{TqLG_~C~!_f9Psm}VYI zhNt5^SF6}VpR2AG?74g7Ju_y{{K1d@Yx1<_`3vWQJ^Fml>l@d;^4cqJzWdgrk3G6* z(X$s_d_GJxHZ}IDuk9xABSY4fx4*_!^n3L46bwGuZcdLMd9nvP^XGd!Tp%Yt7-)0> zY0#ANeI;=eD&0Kd?L^d7`uOM}N-Dlps)nY6nJz@_j_R2Gl1d|ICX(h8Xe&om-uhqd zVbZFW#*~ma(qq6WwJ2{177A|>d*qiBx@^4Jt`L}GHP#k^h~JZ_e=eE`tksQcX8pMs zt=oDrXA!3FB~LMzshn8VJ($yN!yaqya8$s{g(yp9R<&p3g$vYZ^~1=I4*nqL2r$-p zrhNuy!Gx|kB@nL#`KmEcix7;d3U3GZH?^h7;Ekp zQKy~QgDkbFi}L0?^>QRy(vo&5HP$xT1VapMsofeR8Vk)(#3Gn>g~;Wf*#54YJNLj>>uh^hhSK>AqS#G4Hf^FzN7O(Ia38KFnW-gX%-N1aiDoJWA#X88 zbs(K9eu1!4i^)^+z6xooV&s{z7g51=*)*}Nq-Ns@%Xuy`z)_fX`QU)GE%Ge`G^c7O9n^)(U-a7cOLs`tCsejYw_ur2Pn|A_x4nLer zFea#@SQ8<^el0nQ*0!%NYEudgh03J?5E2XK*baXF>Y<>n&a!Ra8EW}bPoxxK2BD!lLN{VVr z->#M2)ww{JNtM|QA^BS8)KD*Fsx4qFE|>4Eabn>_3-7TP85VU<1Y)(9dQo~I&y*j( zM9x;nVkV@nR2@&KMFfa(9w7c!*dw#tkvAh?RSOM_K?~Rvc6%{5uA?9`0SaKA6;B#L zTP?B*3UI_d)LM{Lz}0q@XBOWj6B=GnhxF1IehI?1G{oqb%6}#8Heru{pNr(YuT|4q z*4^n;-Ki5xVs`G#f`s*rjo7}qQCM&uc;pQ55r?NYJF{epJq@)C+VGg-gO5D4;F)Jm z`>)f$o`uiNpVDH_7A{`)>gyX{|M{=qzj?%MlUgQSbHi|+VG``=-HWL%STLtYd@S{{ z40|Hfz(g3LvVkhYBmxVYNz@v}Bq``b+AVJFkauXMwzG1`NeB|Ax|8w)dzN3Yq^Nop zUyh183Oq%V71dEla6K&(*jlUnmaCkEgbrHNdbfBlf)Eo(#%hdA2v=Ldo?!hs3)sdUx&7qJSHe7C8f;M(MGfu5pUCs~^ zP4_}>+j1I9qL@~&2c^PyPj?~~xAtI9!8SQfJs}L7Q{Lg?dBXaJT2?A)sBe&A8#-Lt z)x!2kVrY;e5FzpsYA<%#a9(=X^O?UIo)+Ru>n|^U^_Dws9Xs*Kc?)Jwo)XtMNG_#+m!z{p!K=rE2X^6%5YQ9 zZhSqNhoDp7p+6&C8uR+nW9)Fz^RhmdwNlzv*sHm z3$iuiFarH5M?-G6O&A{iJT2y+=_RYi77vc3Cbv?Aa?S z$ntN9J&G5G8sTVo7F0$-ZmTsyq08aWmDdc#49Jddg%rmsSF*%?v`Z%{`#sss(p>8b z*dv09pkh_<(=y?8^h=IC9+DBU4z9>CAp9z%2bL^Vy6~XaI?K@c^c*8$Ioes7mJnSm z4EPBSh(_}2v_-@s{8w*7#XeVo$$}&~wd$DKgqxMNjwK9=R0(^C&=z}H6YI^*Pb0f> zm(v?wE|Yk5i@)25J^COF)nv{Zl;zRleTRIW`6;#`2YvyTAeiE!qlJHCeI7uj?Dr`4 zNY9H+et581pDi4A)v#98y0i z0A+WV#gdrvnj+hpdpsI~nxs2<`DWpql6m1F63fK0kpdr(R9r zIo5)@I45~R%1V+*w#8FgGd8FctuSBFQY~SDlk`;F$LReS2pKcrk)*{N0hky^*1J~5 zhL&jM23f`C^Eed=E7~tPClnJdsfbd6Xm}@m+e;-}QEo};uD6s@pIdEn0ZhRhN@7z{eyPu9uDX82kV^xHueB>@g6`V-Ma;1?Vj>$+o&xr$ za|`Td+ZM6MT7V|kUF~0I6GF@6+sa$siDI;@WMxo5E`M`UH4KGfc6k$ZlNCGm?vmO) z4~km1%QQ|sA=2meG&9E@_z*hroPs??I7zF3DG=8pTQoQN%#vclU{5L{rL}wxD$G<8 zPD`^T>nNs0r?hwsk>Lt#k+bj zvt;zV$jV)xHnAtdsnocLJtlzE+Rz&9d1bdr(Ni@?YXOEDMxdybfifWDf$()m?W5^L4vyiZ7Z9}!Q)uP1CZz~Gtu{)#aKAS zsnQ82>_TVu;f9hW%p{pgBhoGe6QE~hsVx6A2SVJ_lA;}l5*|E$IX4TD2yrv13KZ$i zt;^#`=30bjxNQU(TEZ;nC^`?{wwx=ZiZ?WCRulsw*0s&w*dke;twjfXv=hRyJ=kN} zs0V>#(SuXqXZyk1@36xTEL#XYaKOMpgSVqx^>}!gn5PhJteNqh41Rd~ygREo$HxnM z*VWeOI~6zFa`W`rGcUXH(nlYEWajMYQ>RYWvF5ewR=>V+&4xEOjGr`-F`!E>y^!_k z8=4yB!9sC;cyl$w9&>t%evduZtR9fz&;L&Bu@*BeLwH#OdXuItse$EaK}osm>XxQ} zZVh`VOSK>l{K&n(kTiE%z#fvP&?Tyxz)4C6)5+saIYOv~SG;uswrwX9-_ztNZ4rzI zJ6ed`Ra!xaG;*4i&~Xb=jo70zG67TD$l1AV58*`{KO`|CJ+>#Gt&L;w)3!21F>Fa= zEnaM<*l-oRfaoOTeo1ZEqjoF@AcqYPfPx`-#R9y+-SMN1_oS{*347}JW+iFwxaY1_ zudf+)&9J*4xO>k0Sv=ajOx8?YwR-uR?`&N8`pQQ}Kh`pB@|9Oz#&}ax|Gx4rDSP7d z;QcuEz^9cgOon$Vglr9avJO|A{1T+kkM~sUbG703WHyntPNnwI)<~7BRRt;KLlJ3Y z$%K2ZZekEJ`H`mC0``ynNCo@gxId z=VTiRY23{FX-_87>yuq8*u67fDhkW9L@|;{rlm1Zx~|@`u1`@QZT-d^GTutD^^Jir zLrS+xnyu6c$ze`BAt%US%{=0x6VtrnKym@48u4|2A-o(2^L`@s;GM{){Md`wQ(M=Q zcPct`xcRnQCr@d<5mg0#+JikJAX%w0EJ-R`Pi59A2_pj;s~Pvfm9hLKw>bz!3>~{^ zSDy>nk`v~u{(~NPg1KjxZZ-6>x^(Z=t$U3C4^@zH5FPJ{eJ)0uTg4up6tuDC%Pzl+ zWio~jzhcqz&oJaOe!`QlEywR!y>`X=P3wO8{(GaxJTYzN)Z6d6jh85T)$>uo-i%aR z*Uhm<{2rTH=dqr+`@5v3cPi#0_Rvas=#hc2boZ9Y6CqVj#1&g0AE-QJeFQnREgvmk zmc%!fEFA4CNAOF26&pbT#e{gYM?RcT!J%<4#57ubKlM(?&Aje(EGOu)T!I1cqe^$3 zb?+*(WVW7OXCcBQi}OkTGSr*j!|+eEd*?i@OCiuM6~stjA%s&jF%7Jk4++z78S0au zTwqZGw3ntLVc10)p&2EqNG^aeX-#MlsSjic%dUkKt<7ZwnOZBjbHOT*0V1>`{ej>lczRcdCjo8#)jSvEYHgO6uo&# z!{6r$eXec7o+#a<+DUaQ%Tk0bVvA|xZ@Ce;QVz@mNl08Nny1Cq%|yH@{8E7kO0BsW z_K?4;WCbF^nC0)eNs02dqB`xdJ7!j>>hCX6XN27MgWafXdZkIqb) zKn`gjsnS!UJ*)DiiXobbAhc{TLkPN2vMZq@Is#AZ)+kbn4w7M-A*sSorOHYajU_Fk zyQN56O+l_)pkq(qp-t@38;2BM343yP)Pex1PB}!XnQWX`wy>1$CXKd^nu+Hny%B|< z#N;Sm_6l2KjHdkZdY7hGS4a>>zcVA=k1U*OdjuZ)1%Bw7vD-A2EWZQx=y=bqBW|0w zaNh9iuYO|u<9wuIO3S3BuPy1&;nk%tvxLvaw>IAY&;#?IozF)sde`$h7>_lBTlC?w zcS&2to-oRzTnbuJkx)ykE62Egk07jd(5#A;o1#sGs33lCx_m+_BE+{iNrZCIW(v+& zIYNb^felp_vX9y-4qO#kwR*mpV=2+^^Xt|bE zA^)vC^-S6$t`Hfkg-y1kI##Y$$C^syX_N^T+UB_;a7l0wg2T4lJuG^5Oa%h1MPysxSkj6@A zKlXIiPoHxX?@4#HY&ql+Cp)W%JuCypc+WN0Uvt;UJFma_y7|w}ZJE~0e7e2IzGBJy zAN*{?o9nN?>Bc9X`c+~?W~?8)5~OrjMntX;zP#z~sa z5*F-0PHpofr8|%%;plrid2sBZ1XK9-V2`*p2{YiAXnk~mjHoCXGhZT`*>MV=7HBkS z?UEmfT!@oaElrz-Zx!86p;=jyv%yN_oDgLmK4VL%FtZb-Kplf02NtViR^=^WPl%sD zuUEe!A*}kAwwKZsuqVdR>J)E5t%}r(P}KQE*rO^0(*@_oN@zd!RBt8rSf9)M9&vrN z&n143&ascUYeaKP^Jzc$E`6@&Us%{Ob+Y!)w>ln-Ok6PhOs8$OH?B3ZB5 z`dmES+$*?JWNCvv@+w6f?16AV^y*gdd(f%aEJn1^ZiSeBY6|YB84>%qp$YNU%eNo9 zmhh0qano@kWX_`)y6fN_4s+3GCO++qvV_g? zUd9?hSfw0;{gOWMNkUSKl|Sm^P@@ zOUL#SL?x?42?L$h`xErJL>1%h3z#WyhCSt@x2Y4XoaucoEL@B{OlQj+yY1kOdp!m0 zk;jtxh$*8s`eoBguefaC^UwU`qVpab^C;szQ>RVV@tzl7S+sinsyE(#g%q?Z{!;}3^cRR`Re{R!JfpQuu9Mib2%ANZnr`!nP3Wma$3Ni*u1&;*1SoxbJeqQ zkvn0R{4^yz6$Ih5WQIMe^BmGR(5A>7J)FuKNLU~(O*Pzrj7a0B3GHeSTFIxeY}2gD z*yH?EEFvo_VK|ilv}>Y;ZxMTvf)o;{tzb)l2f3=E(?Co}?OL2c>0nvY0VQdrOk2FN zDh=@kQ!TRm3)n-y4+zQ5-_0`cZo$c7;z!M00|4L@# z4R~bKhwoizpX=WHM!vT4wf{KnI}bj3-=Y_v#qUw#ywNirc50t5&!fQ@nQ*tp{YF1Q!jvfQn1 z_1?SWB3W{kEZK6m0TUbu*m~c$zP;C3r~Fsf4&-R-+;#TZW$m@s`u5s;pL2ekJxj@G z0K>GxWMsKDkX3`8#zInQ!7OOI(Ku|!#2!PUl}FnJZT6a$xnYiKn#y;vl%=E*kUE$Y z5G#;+up*<8b#1}6l>=LEuY~*^8VZE1q=mBA5+r32(3qk<<)*2byviL7w$t_>Uji#1 zhH&MS3G+M>B0@ISl|mN2L8OX{K$sZJNTYJl*g7Ors@6cZ(Ub~*xhzDFnQS0$1g2E7 z0SVft00bro+u;dFMnW45*${g#ovAVdRA3yz5fDwg4hJEJst@DNvl<$LMcXS? z0)dDo|Ez4Ie!CLdS?c3Vg9@+8G!#f{( z=iuA;aM-kI_kH7%3-P4T#7Psd+=KEG`f%CD{41_H@psknTN(`ZokfS7NI;!pz|KWG zKVwcgr^94eq=Gz5LKdA)NEt74Yz8|TnyhNm955_ZLK*f2Z_$ZNT;ZUhqJ`>ciC#xwHHvS^cP_RceCY9tEL3_d( zTN}V+^(j7|B8k}}7gRxB%ASH=XXasE_JBY*j~;`VjKuUGpcr0N!;iZ@6r`{^kF=wq0ofFcCj6EPrl6V0;a2xIEaV%`ng`{oS!NNnorCMqwH`Jba78DVCY`w>K zbh-9p%2X{ZXRMSN?FLy211VFju*cl2Z2GwhZ<^}DB?z1o%upiu=>Q(wfZ#WK`AY&) zK)%#t%K-9wR8+xpxmE0Df2YX?exyt-$|=!~Oon+xj#Mj=AT>7^V&#-Yz$`WF$xSZ0 zBd=m>EgJ}gfA%ax!G@$^O*5>-DJz4#KnSXskC-$JgoH~39Ub&|Y{8+Bk~g&l!HmIJ zm`Z%*hGbDE%S*-B@?@$t|1t0=I8RNmyM>ZN&0AxSmB2=+>yrYQV!&GbeJ=Pt*s$vD z>mSzM4(ypZXXa-<`^lwC7p`Bw8oyIvb1pnv_}oj+;fwJ%-FnkK58Q)2cocxOX1-0q z&#%h!Vac&7v8l5`K6!Bjs$dTVSD6+Y_Aovl!Yf@#O!-djZ&}_PpTd#ymea6jYKJS1 zY>SFxUjzWy5PJ-MoW?DR-1@{6ioKUQyjF5ngaY|o$HA=vtRL2GcZ)sNKo*4| zJX>U)5j2~Q0B%_N(j+U`tM0l$)HIGUw!DZ-5QZ+C$wMR3<750JFMiCx@Q4siU`C6S zJ(gK#OfiL6GBb^BK{JzUm|N=bl1j!bCc83zO9T=aiWESLl-@y}3qsVKD`OAlU)jHO z?lagxnNb3o>4EDUcvQg*XJ@&9I32mGk@Q^jI(DnxGK?WH` zaSoiT3DRv(K)bGC4_cun@U9&Z5Da>3Q!3B7uv!f4m@o++-x&F~fB$z^UUT(jmwy9q za^XGpnX{%p{0QEu*tzSGeJ|{L@zn!U@1DAF>B8IZye)mHxu+Ws^kAPqHTz4Ao&I-hL86&WS{dXh5P%dF;ZK%ZXAN)oD!1 zyreRengy5?19u7;)MN;QBR}=aMg_~x@@t1_cT#XY8kYbjEU{pwAjueqw#ra0$-ua( zTyBMGIM;04L<$8g3Ia8B?D2L$R_s<&ZJ`c7{cRtS!>eCVLNx4WyC3dTJN zC6KqM*$3K%22xyntEha~^wO{aQyZE%Ql_5D=zfjREgLc{)#*0xT zGM1wdfpltkuEPJKZKf0HY`9nqWt1&BNs#Q#!ODhI8`&B1oD0R4^uK1F=7yYU9n*-`xDIpaguWQK^7XZ`Wtz$0#BI5pM(ja)eVI$;BngCpoCW5I z2#hezxnM|Eg|h*|0J5acUccmn_D;ZdXE%@*U+Epw*^MXUyC!t^9szag$2V5SPVDao zF=^t&@dE?nFdf7DfA~Q+^8f@wGBs*3btDATWblK(j5kwA{A4D;Jn=}Ek`H*!h(gL} z5u%eYa|!sXyZDP+>Il{15boW9^&Yo%gCEw7hMPQ7iJmKo9sEIu_<8{#hscaC4fhR< zM|<%`0QPr)K!RvKtlQl=suObLA}vZr3HERbYAIFWyi?CZK>tBf5>(297L^UbxU!xu zuQiu7pEj#HSc{TLeljA5ua{uA=^uuZy33lwT5NsivWYE@XWyVmv2^c(+EYsO~Ww zq&nL1n{T7=+pT@$dto{Q{k@ayi3AAj7Y;w%z8cxq-QU?Yo}U8fXm0~9$w^Wnw)$GA zHtIz@*sdH>C7f{(9C9e>S0zu=CCkYg2fLvPLz5slGcVLG3-jhv$QGC{n|Km?Q~By5 zbP&8HtP>t}#1XJ6G#m#Oc#b;qh+lmFQT_I2GWLZIpEU4){nF1JX&V_xFnaj#zTRFq z%^KiwwomBMXrL#~N#>_oy^BIOC_=Qx(8H4gN+PA)-+#o!f%hFLg~6Um-;swM{{AER8613uV&w2%d0Qm0(eMLJ?%c^)U?-7<|rfawP79JKldCg7*fpdcL`?cL-1U|!Iw zPk;U&Kl;~yiO4_y$VV>y))jqle!9E<_c332|1bX>v=x$Nc47>TO1x2vZKsCuwF68; zl``wRt(d4^@ouev6v12-?4ghxa*`D$B@GRCBlDNrV;U1|s=~z1MM{h{D0$+MM||*) z|L8CN`mYar-%%KpAd}IZV^2Eer1^7ZeBh`fMzpn!=xG1&pMB)M8Ph)UvA=3>?-bNKe z(d019j-7LMwgu=v2*{zQtE&SN3CFMg=6}3x_RJ4|^uNOc?Cb4*|1baIM?dv<1Mfeg zYwVbby?tZ4x<=)pJIRDEih%DbGwkScKuluQ1w`m6VGplzr?XFOWVEk*P&B!~me?~A zwv36SnKnvB@5vL=*|A3i!66)t*n^+85cbTOJ9p=<$4)x&_@f)?ue&TqN|-%hgHTDLDko$Qosr4h1D??d)d;5%k8QS(9{Kx!^xr;v%oqRu z^PlZGY=U&?eLw&Hg9i^TUB2x7M;)=}nWsVj!GHZP@Bfuw0r8hde->$gJ)Bcu`VI&N z8?Ec|N-^}JAvk+XX7t_vwL+k;UK(i+GFZQ?5gB`s1t0rF;O=*N`oYi?9Ad77hT(w@ ze6sG}{o233*k%y!0AOFm!H*DVmQQ-K8|Mk}&|Es@RymI*u-}wnH&%N~q zB!HI;*Dz@!5IT33H{99w7!j}xnpe}|AOvp=$+RRRODY;}Ek#k47+eBK9D8)PQg!7L zJ%#j!cx7(P(FbNo`7z{n_ICc4AJG9(^c&jq#F|k>>Y2y) zzp($=1J43`CQrQ$ANT2>fK9G(@Rx>&Jz_Al4MS(OeL)l{A%<%TJwQlVj+CjehhvPJ z1#R7qkTHrs(e=)>7*z)W14g?>jcIEi_Q5~@qqUDe{QZLmSM1(-*5wx;`M&pk@IxPj zzN}xi{E|~nJ@^jDgXf)b^6!7-!yrC(##bRoyz2(rlIz2fC38|y;dlw<`l(}2D4*&} ztMa1;Ii5J1CSHKYWU~lx+9YH)2iSvEp006d?0@{--+HrD_b|t_aR|VB^NHmg9r|H(3aYPPLx{!g~Y-}d;73a6MN2?eAV{vJiqUqAHH_*;E%H` z?z(sC;r-)3^xMDr`uAT)-1;YXcOSteSAbyOK<~&d;(8jrZKXoCP!dS3c1D!3N1}}h z86$0UTMGKA^f(WKJt;d1vEyHfJ@9+<`&?7*oVs$&s?YzQ&rO+f>ynj=F~53<>pgg) z`M|3O)^AyV%aqA@{^zO+~I0Bgi0N> z1?y5WNn8C;?v0`!;@v=tJ$Nl}U3xpYlJUnM`ybn0dIp2ltEM>5JhyMfiWMOD?%ehC zhRp{Je0FSF_tn!+20nfAv}2J4zBH#5HgRLqt@$MmLye06>0*yeC)WtO;d6SnHUg2^ zQMO38t;CGE0(`V61TBX^KHNJ%i{RLG5_|sNk9_#PEi0D3x@Yg(KQakHB<}!`4U`!{ z`t7$tOqq6n`m^yaPq^umjh(huHwd(p-X7fhXe)NlU=9L;e()IS2etyiEqL-KoE zsWM+~CON_YgEJ-GVI%>xYMaVcJ(um5I$%LcuJcglT!s_+by9AA;`tu@k}|aD(#tPf zjPEsn{cEdMEnBsA#kASew{p&fZ)iNd58u$(bLRv10DDe8{p9XGEZ6sIwaBrDv#qe! zTsVz++t8T>flZ7Gwk8~nP0sD}ZYN=fQjtVCwp8G03QyR(BIi=xbdGleEhd3I2%|f@ z+B(|)^b>#a=&O5QJ^1$icmDaGXiGexK|lP#4?z6zJ8%Br)i?g>``^1`*7P49Jou$^ zPJ$qN@Ke!-Jt&R)rm$4#QLY7%PCN0l#2(n8W={|~9;|a9JUA3G6|ZLesqZF{AaC0uTt;(@yN^xpCp$FCTno&%w7|KKP>_K`ie8fgG0) zzKu(pkU~B_-Rt~n#}=JdpdiiPGkiuBFs+w5(E_>AG|56%Z3KA zGc+DKjf0I6`z46?fIZmf(wyt`Gf&^JdE>R$U31_4cQ0GDbjF;Xi^%T_e-sS;8Lcz4-wi|nceOw)hs8rwF!?N2}cm-}CR0p9YSci#H0 z4OKxvFEP)@9P*l zs=K$VuMaLIot_k^@5SUA?FHM16cLyLi-HY0A|aO~OqrwkIv`7mQ81i+8W(Jql2^(B zEjvSr$Z6Ok$zdq^Q4H{BEywbs%%jGQ=-G^!C(?5Re#kYTKSPZBs zum|g4CZ~h@-*|2I6OaAUhyS3Xy&W6yc#cf#g;L16kCikE9X-gA=Tk+yfSNW>0K+ID ziMjA=neBco3`$KWsdHB9~FW@Wn4IUAg44 zZ(WL2=GE&~&YC^lp6_|;>8JMW+k?-Cefx&1@4Rd3WtUzGpLx8#p@Db0_;3%f2YYA+ zK&U4?z(ETpk3f-;V><~*6a)9#1H1}*5Q9{9(DHb{iYvJviatk-%e58Zy_7W6^fYx? zFkBVxXYkxLZZy_XKk|vcdHpR6=m)iMv32H1fQ*+L{ zScBQiue|)Lzw=vdV@I@)8#NwYA>J4;J9ce+Z`eaCOU6~mQ-d%VMjPJ)_9#0CpIQ*l z>C6=?bNLMdxDJC4>@ZyUv?CtFym@wWx9>zsg%rD}zgY+6Q4EP<+tM=?_OL>u-5@i(jl;BHibM3;>QS8h*Eq$ELokQb$SpM!wBh7E83 zosa(6wkIEl`aJyPc z=+Jz~@1Y^(poe?#c#a^Mf*rzhf`E2uk&xgFpF`WB(5l;I|X`?uD9f{3pi5#-Z@C zz@D;O<0g`UXGqw?Z^w@sG0XxU89=}!f)dCf*;Bss_=*(iKiDT1pnV+n;8%BzYj1D= z<^TK}Ctr8@wtahlZ6Ewk|LMFdE_>+*Z(ecd z6ePe}M(Op}wb(q8i0O@Q~ zd(aXQo=n9jiHD6IK4yIH&;8oJKl1BC1=U@Sj#?6H?F-YfQC4pR=f2aAUao3V%P3Il)#0lQYv3cSp< zY~_+~Tz=90Gw)lpWZvxA(;s;h@3BAm^pj6K^Tc<)|Hh_m8|E*ZfAzK3;FBB3VK0&r zeYoo5bFS=SVO*4B2IriMA3E5ZT-3qQ3VVv#SdhI?LFd9aV9JNGV`@qEJWGWH^-+O- zH;K?555tV|{lEGvBe3v;Utb(K9K+HtzW;p_dV4tNFzuK zKC+Ky>~ZLNtZ%8G!PF(WkW0lneGc8nc89Pd#~=pR0IRPUsL zzDWZ|9X4se9&`SGe&g3Ky!gUj`@jc&b^O4@k$k-F-~GXV{SUwMTch!C4<=o3x#4~b zYz%wQ*sQr}ME6z{gt{!Ai?$R?IG*0x1#x1H2ZDl3Aw7r}r?PXCFC_=vt@IHhr5>qp zKZwAEM}TmIE2rKM>hJpIxjl+>mU8|Kke@vbNEq{+K2HD zcH{de4s`Z(1FK*x7#SoDRcg${W|Q{Xt2Zjwg@~v#sTH<8lhnf=A&Rcg5d9tw8RY<* z<}@oo4}G_YJzDR7EDfUa@M)tl87HajkjB zV>|X8*!TF;yKkLx%k6jGal_3wVR;B|3+kyt6%^N+$x+^8rvn5PgQnVyl^Tn~o`|LT z>JY{l4Z$gn5;V+kRSNx39hp2$RE<&}lzV{5bcA>>9|U@y`wQd7^o||dKD-@(F&+R7 z#O>=jY+yWso{S&p82$@~4gCBOhfT2Ec!&^lTBI3mD_blOy*(Ds#U%IGi7LZ%`{nJJ zZ5VGA?BS9RxdtM|qYy>COf8Z^Nx@0H%XnKI(YaW34hztnK1ARFP3#%&*aK}vH)2rf zM$yAzKW$hcoiM)d@WT%~@`%I7;^mUIwh8@xKX=p-M;>+9;S>7sfOFgMc04pg}&CMC40)DYAa8BTO;x9FTquz_SwgzS7gQt>9@LKKJ$$x>cLN@6hq`E)T_?QZ?x z7Lp|PSVtosQbNCT?CrE4iou&({o@8E^i4YI2v{B@(Ke#}u)`-}sbip*&smP|<$GNt zD3dW<3wHgHX|UdEH(mzzOuZY}b3I>u!_(q? zilvJ$$=NqkHP6C19o#t0kG5zvkpnrv2c`|ZO}JD1$zt|St`L-25aeKVMf|uNJfo%8 zCP-eug;tKhn`mTq%qWc0{49PK7v_6A$4%(#ozT|@@8`&Y@e}%c@$uM+cq@f(YIpXg zz2n?)*?oE zGG>Hza~Gc8#xsVH4PFYw;~H>-yE^;(`wko5KcTy8BF??N1ARRcd%Gw0V2%zan=6p& z*?4Z~pj;^(708AQ_USOr5LXza!=%c|jfJy9hi~{OuB|7Td!vG^kiHUB4i@DVp9Kj2 zi92N@xTakCl|PA;JX+v*s{jk-!q_-$o1^h~hpDf>e+<}GVlaJ`y+TTnZT1H`LLQqn zE$|@h0p5@kJ0kW36cJ9OcA!U;%>^G=?-_$v)we?A4Twzcw6}IV_WZ1z{amTnerb$#^?O9Ks~pjD?Nj5;M0%jo_Ite%h>y^CgT^z@7>JtzVzaBEqvgc>fO`Qe??%X(X&_{Mf3k z)3{_Z4~{)Kf`1jM(o~Tg*%AC@MSHr-%Na6JVmMSLsEa-5-7O-XU4PsnBO&bZG?vjp zH>ort8>Mu}NMcU`&`@uFA=Sr!CsYn<5gUu->z1`NFm9SIwV4*S?{FJ@x}HzwpNQU%&RoYvA_)d+_W6->K-< z4!CZ(FDFAt?bn z*ZZ}yT<^Wm_eC{7JM3W{W?Rv2B0acpkkS)?mINa9s0~fn10A$M2dbyQA&+Ry0Ui^I z+@W6np$JZJ{2>Bn&xd0VFrYw1-OadSO$I&=hXa?4EZ;g*y~Q9FrI9P=-#Yf7%-BH5 z&Cjm+Afh>nj(3f2z@GOwG#S%{h@==b_>n-sEoygW$b2|-t8^|SPI1-LM(6;hNN6v1 zrT9b+d>+7$eZQywFuurk}ZyeJg(V6T7kAv*)>I9+-Lm z-S-3AE*L*9G9>^NXFw8sY|1g22*~%FNR%31$|vm1?r6XQ8A_!@~k$k5EQ>dz?nXo zEMpHBsB%Yxjns+q`=!aW!L*X#hCrg#5wHi{ufWLxW|%(XvVAVBHRJEV;gf(pr=E7| zt|uNp|Dp@-x&OY^YgXX-o{gI}@STcX2VOp~|Al>czGuOrc^6!GE0`NP@}e7h$sTVI_INAEdHo0_vt4EE zK`n?d^QMXWK_IMUti{m0V!%qMUydBrZUG2XvMtV;sv$uRYA@K&Dv2293Ir!z_Du~g zQt{z5)99?!<^xiC=t}fH7R;pVwsA(|pok9DF7EoV5+3Bo9)KfZ2W~ZDk0mWNP1pnA zL4cH5FR~u0_7({!YQQ-l4GYb~5o`(D3#VDvN_NFinG%afLPUtyrT56Fyq1kxJd6Y& zg~FS#r|=OyWl2!2vB!;0oN)Cc9^4u#z|xubB#uEALzF_l%{ z?sa013KMax3m!HJ-^cpuamOxSwc^aP&zien9@d)i+kl%kZ{%;}Jo?gWFaGn7elUIJ zeK+5F)7Q>A6VL6ApD=(mYJ3C|6MVQ+UJ1uK9b9#_5Zi)gq><8xOb`%%nu!vHshj8# z)1;_?(mU&6bh3hXoy(hqj?hX#fLh(Na5=4s3oP~qnF zz=rrp4nk(j47to3E3%lRfM)6SR(Pue!S9j9z?L#6YGdF?ZAuqSgjN!;$37Y6$PJ4!dMiag8&@kw8N`9gvaTWx3>qH;q3wGS%QUx>!<-)q%+Jk=n-Q zWi_w_SYFEM9&!Xt8A4ymvbk~yNgcW9ME(H#CmDm#l zV#y^5LK0?-sk8tXv=(QR;mXRZ+Q{-Nf#Qt^<(<|DbIKApi4$uM8k41j+PONAHscbv zVo99H?yLt>CmN%mE8Y?=xy-=FX;>lxa0b^5=Kag>&?MYk5jZ2ZG-_vGXvU-Q1C!wQ z3_JOhlc&v`e(r_mE?l}`@zMoYYc}lJyYJZ@kMDS9|I;&O-amKVgI8U3C4M6ZKZ^|P z!8d$x7NWt&Nf_rqn2985{b5@x0ey~#*5G8OA1i}YF|but&SK~zgaEm+G}l=X>ZMBL zp)OHQ>J3ZD%Uq5#9I+=wmK%i3&IEEmDpaB1X+LIiGPEwX8HK!=z5I$tnhGEd|(>@na$ zG^LI|p_#2|ON!J*2ry|i@PU;W;PG%-T(7mKv#g372|2-7u3ddcEYIvAnWf~;7NMNE zXyxX41ar4!UXBQq1{>8kUi=(wTH>KZN)}O9e3f20yUx2-fT%GbK2tnvk-b=T&SdT- z>Lvj#haw)&y5Y;m~u_0A80rnJ;syEc0%Bf*bT^dwCIt{83Meq{FByS+4 z&vg}JbB!No#u-CiU>M7175OMK%7D;3R$UiYQJ`8uCVzS%vx8=;jiJ4%?YyOi3kFl| zmCIzK@h>(CLXgnnC;|Mc1ZD~Q+uWwCAA`!O)HQ>qL|xuB zVwIQqXoWpga=xTi3VCISeJ!vl3?B2H+9BML_v3yKAc)vAY}m2KeRbi|MHhVIJnXTr zTC;q?g1K9_;n~7%k378hz`iXHZNB2$-@-FLH{Em{{2shkk+Fw!E^e**+%EE9bZ(pd zZN{F|X-P23Kv%Blf8C0G+mcq-g-$?TmvqZqA$>|yE=PrUQAk6UT40YSb3$cOO|t2? zpOwDhJpm1`Cx4adxw3y(% z&{<*$338KBRQirj`hpRkarPOOR}`Ni^vEcj*op2JDnY7|4A}HLYnsaO#zy$5&<%3P z%_;r{$$QB$W2C(aF8@YC$#^RtgJBQX7h-^mgBL$w0wYA&5=3G7HR!QrW?S+BPyjJ( z*2Ev1kl%B|jW;e`vGfaH{v3XjV$Ir>56+!q*z?F^J6?R_K<$*F5-zRv_1*)i#@*TZR)V z-!Gj=^|nAnJtd>Bk2!~8BetT_Oiu}-dMnS}P>6Yi1)jxR4Rr3<;;#$Gqiot37nHTu zV{62yD9k8PJ1#LJ9_eTlTu&=mA|fYP5U|y1FpN1}z4=K~=pjI* z*L%Spv^!%DJU7S#9S++wanOQww=UPl7!zdfL03#8VmY82vsbH28dYc$G8X!%Vzb}V zSRm4KtreN9U9z@A8yvWE2o0^ME8yU&msz5PQL0vy2$w)5-qVD5eelV^@Z|Rtc`L zrcH4bTaA3Ou{vT@V#twqckFsAR412tC9ku=nOx+@XaNt>Xtj@u_fy0kt}D|_1L73q z5U~f7ufq;I3?G+0?etT&Zrgm~Nyp8aHEqq>75SZtU61eH@%YXy4{gG;g-cc}{nnM= z!b`~Td$8OL*uwfU3gAnH$)QU7T&P@}WP)qpPE3Ql-P5DG%{~(CvTA-q_nDwez$goOVc7gs2~yLwjh@Zq^>39 zaU7EBQ4@howi8)&i>*SVv=js7B7Uh@OU}%>7O`iJ5y1(861L#7a)RsCuKcM4tpFt{ zNq=JDl7^QcLfkvYC{-JJu-_oTg#-|=}oinKzkcPb{?^F24-eB+MYJHK+=S00$b=X>VPo3mvr)_Wd* z@^O7btRn@!yWJb)ptCFLWaU|In8RuXv1K}O6;Qx-@5U|I_s;sK9QZqzz+KD}t5WCvxmq(}0|2bSIiyu7-b>D-BXij&rL0G!(Q~xzrQI&Q&xIF{@P0n`*oi&B4efMIJc7>_;#=_#?|k&+GftU3 zf7Z%X%N8u0XW!6x;;AR_T=N@mzK%K9%m-(keA+2^gB^1&6o9~eGCQ!2ok53x3*Z5j zH{aYSE7&75^1H1FN+k^yc@ToU4|yC4dr%!airzAej4B`oSa7L73)?NnC#_K=MyZrN z=Ykf6>)FvRsfp`gLmDq66Afu9Y6}!W;_`u9smU-(^2PtC9h&aSPB!XCZc)A7 zpKgpx!}+P$kjn}w8L~jMIi4aR(ll<+jRUO);;wUxc!Y3C?-m{&Wft%@zfI^n0epwl}i>Zm}hIv_;%Qn zd!BrB*CTh|f9I0rORl})I+S5+&HQaZI65ex0z46WFhckfN8Uc$W-MGEjzxwLoq`t?Wm>k>{2eAJ*I(3rG!7V^eRV2 zmJHXR$MdAo+cMIObQt!ysv@JorDsY+Wlma>Rpx|cmP12Ba^hCEP=YffBDEzWv?7b_ z#vqzvNLuJj-H-1E_B{LC-WzVYe)iniciwXsUL@s0v%O1-ClmEMZ|+}3uLm@- zr?uY$)Ulu$WOC{xdkMz-p>pZ*F8h|mpy1)f%I}HVN?nE?vjKUxzg|a^8F?Y{_U)li zgC8d56u=V{L>}SLE-p?W=!oSHt#;();LYG8y0wBWfh-8~MZGXrv)QPm346S1B+uw+ zA_>=?CK2dNPSETJvMM|zSgo4~Vv620I<6{-F{o!HP3h7k(}+DvhV~}x$?hH6NIWx; zvo#pQ9xl>=Z7gw>s$+KhmQT5?8f$@oqd)W1F!Db*0jb$=E@l%LTE}2EoR< zjAsAmsngI2N26%SrHPF$vY9Jc0SIZ%Wj|F>o^vI?r-Oda!#f^1^PDs9y!Q^gQ!#J; z9DBBK*Y4fBp4|0=AN~{OT(?iX{l;5vg44tI*!f(u5UBhvX`XNqghXeiyt#M`+rCnQ zSKLxCn%}5A6YmNP+W0ts67qdTvLV(F%StN7&t7E8LI~6LY5>#A-dF$Z00Snhs({jFkGzn0DC6jJ@#R3mt1z~n)U0B{_4^AQpTD!EAT#-eZObZ zwvGE=dG4jxUz&Q)9S`q#=&~y=#andvY${#_8;y6u>}4*kHS3)UPO?@}hs!_O zkwZHWctxL$?v8@uy&Kuwa<}6WlCvCz`^gcUz~BxOX^31>uXJ*~z;aBmlA?^>5Ca&ZQX5<%lFkIz zwYg~sky5H^S`tXHXva_gF{Mc?-9<5mAw{FCH|u7EN{ckc4C+-OWJ&!6+%kVf3@AMs zC<_LG?!Y;Tf-uY`vyIlFUPy)TyH4Z;sJ94^wrzWr7U(&qSVf)}Tt)23MU|AK(o$~- z2u~l=s1r@L=spH8X1ZjH0NJ?Q%BZpVpf%MG7+#*h*vnI8pJ0~1Y?78N;Yc_4$a@tv^&zLi9@v`~wdu+Yu@jbgaqAgppE|A^zlq$(mr;9q_&(}5?zAfagzO1xUJ_xjB5uza5qosV<%={h2s5*i zy{5%bm#YY*0bs?*G(8FCjvjz5&>Z3sx+rFENyogRRYI$H>ORd#mQ*Pg^95ISDMclL z)UY_Ga_Iakw8EbHaA-df1(mngh_aF4w<+*3RGB7$#;q+k2L=K47jGh9g1`r(B034$C- zGDbsT)C%X5{WvK0ppaOF3b&XvO89Vrq9j#6N3=*8jh}kF?zTE3ed?*E4#Hj3*ia@! z6$~wPA0;4zv~E;y77+y{hX&_7waIA1b)AwYB&+AQ^l|_U;7OcOonsO7c{zMP3}4xu zh&}f9wu>&gc<1h2mwfY*d#ByKXxZGk^YzWt?K`$Tx$ntsk8QjA{=06y{pO1J^N z)Cg2(Jc2V4q*K2ShCN`6Ei$=@J`_eqhFj7uUTX`Jp~}iy9l7Lle z!l552$w4*w&mLn@GVhcjVh_?M_{mr$@S!IJwHqdjRTey*2{7<5NHzAUIx)ofQNxt>>d z9eV^nFu;F3_MmCzO=N2}@EHpB5PsmQqz~%i)2W?&9jm*uf8u!fJ>R_In;W-m{`BWQ zy>#WGHS3oFXSP4It*z~;eNXLpYUhDh4osW%z{)ktum1KG-94Rnyb$|bSZn6Pg!$EY zTU+LbJmmDy@A(;Ek9TZTe5bun2JgB<+^uW6bh8!@-A0Iqvxh327U2s*g+bVAM zup6SBh3U1BWCas4DhU+Q^0(qv2ffq>aNOo6=(_(CSh; zC+tb1G#GO}hwk^dve}AloO6}^9?rsm1DbOY5D>85!=Do{_!0KtCp++bPkYC(6Hh*A z!{$w=f9;GVD;BL>vv}_O+1vO&*WLqrcRcmzt8cz?*S&W>IB)hfj6*!q4&eH$_`v4+lsH5{i>upP~3YK1Y*YATMLA!zB{X=t}0w)zoH`V4jmA zrH`cf3OGRp@-*zp4+F8q=|CsS2s%aqc-pzzl%IVzJcF8}7tnldnc+N)YdkcGl65A2 zfW&@yyF8{$z>wl+4$um54g#flOY4NRBGqUqr7)?P5TNO#A|v)FOHp9vCktap`c~0N zT)sE#;m^$)XgTw72+Y_6mK4%*Ggh1<1EAHMcaJ@#)txxo63rQq;f+wov4_6~B-f|A za}4|*Vb6$;zxm%ETd;WH72m#M=G+;abIqN#e#2UPGxe!m-+k+Q&%LaVy2TGX0ITv31v@e}< z%EX6sItM0B95%e;oO8dv?UC*HZNS;{X06?@YQe&}>o=~$@3B9+6(7);Gk?w{mw#i; z+EusQas!+m?vfFESOwrm*dy-;6D@8>h2XFlT3l;aj4>=hb zRGS7?;jDP0BwP34)oO~meiXh1ztxP4{B`#bhT1_^vJ4|tl6%uNq-b@%RcFW32oEZk zip04w9+5?YkOuKkSI^RlKpL=Gy<27xU0IIc6*3{L4WkEU3LJb5{#fFIk>_6d*?m;}N5aeoAG0dGZTPMPpJ z7Jd_X;zayZ^x5a0vvKPte7A7<>ZL1JF9r74^F2Es-vQTW=My_`xaoR)SL22ouf90tt|KDA;4nmpErFe2o9nOpuomm!x;x>&YXo8MpM z&*d6}z&;RYv@Rj7A!1KOu2F22TZgzT^@LsIuA@HMQ7=K7i1@6t1);>?r=H7WbhloJ zCnynva+p%q(+nO1ei3TeL(B*vK}#O{)mTLGk)WDSQxSzHaAZ<~crGp2jnJ zOhMEeTa=c%#6XRY zcW7*Ewv{2K^emaEwKn4I9_vH<6!vX7BUQzWLUhx7{)MzWeUM_nP6*bYYLZhrhw2 z)#kX?Twy9+7OgB}P4%jUspY4`^*|b)`Ni)~r7fgV=hVBd9#iyTzE{K~Jd?GdWH;J37b;${lBqf(})kA%0#h2}9%)UhW5Z5 z`7v)MJ&TsaBM-mwDzD)X5gxB)Xp>_E-;=-h%bnMZrZ)$-$4aO@d;r zVh=D0(;Ds@nFFM`RkUlP`6ksUdz&Gx_2y@c5sw4dgEeA*1q<*a>={2{LdS^V#~gdi z+6`+j_{RBn+bAD0_dfH~zNcUP&a2noeEscHZn^aG3wwY&y*+Sw z2xWYa9RS3@4|UM_;nXf3;WFDp_-n|_8QCBq_OQtq8mG|Y6BMFOlpI}CHL9~Njj;C? zM)IS493!>$V?z;W`VFRx{%lH_4YLd`(a@1*TBEJl!Z%VDjvuCU>6|U5FdgP)A%3v5 zil)@sg+Yo1(u7#OBq=_4=7S8jLzkycNG$feWHpez!6=r)W`nkpDTK_bvfxs0NWtSm zX_~t+85)>2=J?i_g8B$$vb;Q=s794$k+@sn2V!t5R?6(nhd0z@M}}BYH9HCivRcsF zZTvhBmwAMdq$Q=C*O-r;CE7%h+OAqGzR;PbSA)6si~ARkEqHYSU0AdX0{+>8E)|xq2~SXD~EkOeu`yc3sNo>$~}fEYcUm z{QU+#*+Xv!xI_Hm8>L3zp< zwey+%d-guR_qHjwJ~(gY4L4rX)6><{(~W;tSb8%Iv_2AKC|3rb07L)hZ$|`XE~_ZJ_^7`3UO_3Iq_98?tWL77St})PEL$- zRc$--Ko8;y46D){WlYRx>|x40mg81TJR5H5To;O0LBj~B4)b&chc)W=lgeK`lmQ+P@T+na}@UGHEXJ7#QNHXjNdtR}* zF=|Q9*r3w+R?#|dyb~c!;yIg=3Y4ge5-fchG{hUxkuX&`WTCiK3V5^KLi|>t(*Ptr zW9-lOq+cqvk1NCJ@z6JZJp7)kul+WDr{aWDj$5)~@zRxxA6z(R<7WIO@*_JR-SyP& zw|@NAoVl}R&U)a=tGfQD7| zmd2P!OB%}Mbi5?D#E*uqH+}#&99c3lMNF89Y4FoqRM9=g#gP?Q>mn`K8+*dFZ%Pj>B5>%C#%!FP>-Ev+d#SFTD2R zp6B*lbN$u$*{<8C+=@9=Pfsr#AArrcZgZj>ct8w>J?;d0!-%s)+ZslzDT4^O<*iEZ zqK3Ne&jUYGTryL_EO84#xty>v zhl)LobFNlwcol#IwN!Q43L+$2sDbxpjBKJCu*dVNI$KxsPOcHTQqR>?OTpM6cYo^G zW78&}NeWo{(bM0Yve`G9hm1Y=V!ZvPsJTA2$Ifr2e(sB(-?U}Z=fC{9yY9Pl{pNL; zbJ_Df`<~zb>UUpTwtCqG7oRtO{v2RWS9dr39y}h6Qt;72yqk(I(95Ty>(c^zB++y( zpyv?SgY<*Q7`M=?RbRK#sTq4>mxk3oN2I$|0t)!eB`y@W5QsrVp`LBp3?zBvvKi;Lv0iEVJb|T)&!T`yC`#QO%N)Aj(}+DNO2Ju5Yy_xt?7=Ntslo@>;73_73D=dd z76UzLi9IPXTj!b-y57m$n@C?PzY00Aqt#Q0@iyid3O62Jl@rM2(=Lp>RClu%@t`v| z*voL0w zZ#wWOvVjVU(~>S_u#1?>BEV)?;K3RLe-X#0Z;FI=&D#TjRxKI_35 zE7vZ6aKRkgW5@U5@jDei{Fi^edGbw@r`&qN$;V^11+>Daf5zgoh1lmxyIgp`f-VnW zExJCSBOrnvJ+=TI;14eRT0414A3I##=p7yjn?RS;Q(DQA{Saw=Yj%T;4;zGR^_e59 znFVgiM3UCz*%%5;NAi(iJvqSGLE?yoXC+FJX2cv|P`-tjC9mQ%*luE@Tv{p88YpJe zR-| zE}^9d+6^B$7TaE^7hh1sqHS8q1*EA!-Wr2QU=OT(IG4w{3Q`MdPdKOSS(p^O)AIH* z*vHZ+gmSziK|PtIXSQDDM}^dNQt{#>7TAK$Ldfl#AfDZ^$9iyGJjrk`@g$=FQ8>a_hJGRio_Z{!&EfC~>?lj2}kJ}3e|_&!_O zl@-h+k=NFQcsF89P*smlhRzCTK(2|>qZp%F(wR&C3B9}o5RC_`&DxX;Y&i;Ij0PVe z3sTZ2crU?<5lcpr4Gm8$4NcIXo+o0-{Xzy{Q(_|J6NGYm%K~qfSwg#nI+7diV#``j z%-Gu(^gIyUZ88{3-%V4!^0Alzn8cUc8EA0k=~t@DY^A?o$Gx#Z2o&Po8VmGDw1P4T zYT#K!cV|j(t~A+1vIB@mR=r`Md}vMst){vz$Hu0SS8@0 zw?u)cbYiSQTq?mC5TVjkMQTXqnV01Q*OlzJL_;b88J#^ZUopDnwC+~UxI1`)R_SAl zN@=JcL}>-m_SF$!1G~w@=z{f(VuSfS7_K94(rpYd)V6dao^@psaO_EO+2o|6s7O^< zMkdMk5AoNH)Cpxsmu2|z+w8X9^USkPz53l(R<2ul|MdHpu3UQcbywj78eQEzd^CtJgK^U3^DNe5hjZt| z;O%nuvs5BR7aEc8GA4yG(n#2_CYPvUP`eA>JGqfCT`)VN86Dz42{JJJQAG{sXi~Y` znenHEJ)!)%BG<9UhQkD7;vr4Y04JvGbWQ007pUW`mLp+N^mPyfLUQONvMh(xOk|X_ zWm2fZV;XxQXHS12+`_S7>^0q`tcxn$m=x%L}5z@BHH-}}_w zC#TJvHf`3lZ(M#cGWGWL!(#&W=&g#h)I(U~ftnn0NRQRi065#2-`K$FkOSYC?s0l3 z)q2SVRw6 zA&t^kObwT@9MP0dh?iI@x1tJrnPMAfBvv7cQGyOm$ut#0f*8m=ZqcAAJ;NS7#HdAT z18YZY)9WNs)rIQBk7Ey)E?_7=z&ozE7>$5*t7)VgvSSm1HzYPn(qO$AN}Z0d6dht` z)$@Xgg~xc7mYJ`_+oc(|U;<}*w3!Xb*b}=9=~as&y;!8@n`rhv8q36C7UU9AE=}Bo zE>=Y`G8k^5^wQ=O@Qjcqf!o}i-VzP8dff{ww7X`lw&yg%8rh? zJ4Bvz_{&@b9t(Zr2ik{seBvKI@xY7+&OYxf{1^`4XW`NXw${A+$;Teu{mAn#?Z7i$$FG6{iEmg|s9S$NY9qD{{IU3PR=L}%f2UZE&@H zO||4So_HukrA3kq^jfNo>KL+RK+80rA{)ULRfrNx6R{J=5?ZjNlq{hr85?={ZXp(( z^@g3=$laN^j;xG0tCm!LnZslXsJeVKVGlq{D@N(@oKJkmE=a`wq*9mCzp?Hy{D9>3^~R#t1H9{;K2%62Y&hp1F~rj*668NNq0=K zZJoMZdPRQBA1$8?>=DC$7V79+2OkU$=~gymywM4C30@BHhAvl#(Il$@d-!Ta4tS-@ zo-OS7+Bsj_`p}k>Pe1Xd$u}-rwRGO%dFwaeor;Ga-Hy*_?0s&}j5#xxty*^7P1j92 z@^F5v8T(xPf*9ZDvNa_=ctjYoc^%lRenc#xr+pfYwi*N95MfNhR<6?9lsGK0bBt^V zX53{}RzG-Tpz1(wg&;oRuqhR*2W9sE5k?iL9ESYTR8 zkpiZ8FCPgaEe2ww-vt3>M2In2`Pf|ZLcpXLE?7-vBBRvVycVy>2{i#a-Z6UkFrWw+ zs~-We$c7atuCQRLx20@bjhkx>gc&wG@Jv9eGz6ENkx3^^nd z2(F%QcmZD(D#J2Z5#x2xz%(iyVlq->rPO7SQUK!|<> z9UZ=1N}Dy><~GAejT?b2FnUFt?W7j{Ps}!&cYLx7{*-(Y$Y7c{x6yfgh>Bx5NCkFc7|- z4|hj%FTBpmA0G`LFr?SlI+${yv#5Bc4yg~aqt{Xks0;O@K@pluh-%oRRtYwcOn2ki zoEYpFGXQwn2|~%ekUd#~0(j(kxZ-%3k%vf^>N1sq;&>!+k#NHU5`#bGmx`oCWbmUZ zqXf;ELLn&4fRm03LI(q%NMzO=?7z|Ege5_n4mUUSQ9#wl5xY^s4piKKJF%-+ITb>(;GWO6P{`jRYP}MRc(Gv+Lun7J~TT9&*(*AIQLr~sggahIEj~D zwQMx1A+W*Qoh;HPdro8>k7au8PB?Gi5T;~_VUrAa5XS;d)Zz;Zt6rK?qXf*_)Y6DO zmYqda$}xSHXOmr`roJxehV%rz7J`ee!j%h9M5;ZD1$Lf9H>ko?3aMVI8(NeACOJBd z>7c7YkC0#^`B2)91Wp_Rdrbb`@lLd;y~HYP2OI6Z(F3xJ$)BN;R=^LTh7X_E^?fjyXZ@n=Q5yZXnEZ)M+WG)B;7?^UlfC4fF9x_LjpVLsA>M>r62xZ5) zhlmXxrk zkb~H0#-2)tz{zI79!Huw(HeUk0OE8z z38rn0gMF@H9UcGph0iZv zwfx3gZp634mMmSkXz_w=e7J9=qV;^XDy^cjK)$^bRDaN3KuR@3BoU z%)A^Ewdjnqqf7E~0=yz79){0QrE(ZVx@E=W)gX!UEg2$Gx*CG8IeG#E6=IQG38k1x%OiHyITGW%NWND+84up;=B{WKlaGC#9W*vKS1UsJ_RKlc@!_z!^X6>c0>9^>N4D)d@a*f~d+qw0u3xip&6U?)i4Vnh_xIX_ zEB(-5gWr?qT;RozLUI9hhP``8)lfpvrU2~P#FP*3q zg1#Mw^<`US#*&F5kG<@fR)FC5;PJvS`1oK?H=ZqQ@96l4&whI5oLMKFasuXDYu2oo^WaR|W8boU z)BYFt;g@o5pL+YEr3-Jq^~S#Oecf1V?&f2OoVV#`kqzU3bU-%+_rZMUjh+v^2f#g- z#~pKREhhn!3)N&~i|7;=Gr4G+2!b|}K!wtg`=Kdu>hSU{qJ@rDB}g%oZkm;29dmY`2x^cEiM`-T^ z8>=F92kbjlCzp;aStt{Fsm&WD+ihelNSNNCg(UpQs#gjoMQgZaPlbS6(F$k?<_USz z5)oRFV-Uqq9JwNA11Ym)5`h@VFxw#O^2BM|3Zqup%K=M(q8I>}$t-;$W0|q-g;id{ zmxu7ZX50MMCRF-fGk>28U&QF^Yik>J{E5e}S-Cp8GC%gtH7S{D1drZx1!Vu9e%L=xX40s z@z$j4k|Uub|1I4rXY@WPrJ+^~344@FdP+yZM#`X))HSIj2=;S0tO6Si%Pf^Rv0GkX zQC&@yR6eR;b-|kfoS5^0nH`tSDuqKI-RmMvZpAa>Q%oq$vzyK)OG0F<5lv*%vWbYX zY8qxK(jdD^s1)nfMZy!S%u?0HzZn^~ldw;R7~?21dL&z`no z)l&RS&X%qChQLJR8o3@UU8TFF z9^3hk<#>UE5U!R=Q@$)%;$0lARnBi!gcF$u?a7*n011uQ<8o+4s0wdIBk|s_$1n(h zL`z3#i9Pt#m$@o@4#%Errr%?~4Y>EYy{Dgj8opb&dhH7Q4xr7scJ6+3|BL(a`&`#t ze+^#gI_LbeM~)rUKVdx9dsvRW$FBD%ggw5cCNBK!4Xwxctw<#C3rL1=Cic*!e9zbe zg~duJgTCY||5sFtQ3ljWXiL{i&8-z6MnwF)QK{YO>L9wdB%ZDY!1Yl2>N`P?@ zKgxiZ$Trgi_)(ckgLstB7%Rt1Q+6*$RrqBtoIL~sOjTz*h@MbRnJi4@AQGJ(Z((>v zA=-I?r-GngKb89uQ-W4oyi&<0mMo1zO18^}h)M~AU%EmnnOa?Id-k;l?aEdac@tVC zKzwRN#vZoUR+4hXCj2aOmqwjHU0#|?M)ejg&9xNXPw;r?Mbgu$`aMI$9zX=V6`&5F z184X>e4neW?W-pqzk2eFyg9eJ*UX-*C%y z-TnMsQusaED+2(PuqQ!KdZ&W^SosB4zx3uBkpx_hgjNm#c9bNKa4AD;MQG965qsoL zSH~eKuewxf4q8OKL?o&}P~=FyX~6v*>a4WIc%zB5W)d2~1VSuJ#_iDT_dqY4jw;3~ zsF<8{8P;j%tJDxR-?M{|%LvxENoPuJpT#Kr3AIQ{>RhQVL|T_wKVfZPEG9k-*h5hu zC&4Vd$=)<%SIO}lvxv64B^(v2e#Vk$NSTa`?*k4hWZaD{a;_S4dCJmV*U&>%RLYeT zt2>HYP?3Dg35W>Gx$sB|vDC50Vq6*|g4jh%_|e3?3J{8~`#rY0!>5=%$b^~Rj)pmx zE&A5yTzKhRNM#o&tN+rU*F&?|JI!GKhjPnyvHRtrFb+ zv%6_=2zr#qf?5Z973yvDhR29#)~uWix#A;pFe!U_H$5)s7M9AS>1(?k0Hfz)06z(P zNaSKcR4%;)X^IkXIwQP+LSbaez$TqS?FjP z6Eo@^=h-_e4H3YbvDiOq$GVF>vd^dXy&TqSys3ebHfR*0n8D8}eHI;fb~^*=bRckT zoz=y1RJ%(u-Wr7VW)703xaCS&uDVDtcziYiRf>mX>K>jP541wfA+%fbv#vV_CBoAy z7tXO0z3(bSBlbADB*MH2*kvp1p@Fwp?}48pp9QWDK8MkVZ-=$DefcX#KfL3ii!ZJuv0Y+wY%t-$|#O*x5aHU}7J>)J*8H_qp)pRJ_t9 znA0W~f1M|<>tw+62GD2I290xichC4x<;B!1oW_MG)7@G)4$-hB@ z7?3h?YYS0mh_d6HILQUFOv{_niyyIxyI^8oQjLyxxPCO#v}* zL-;>$eA~CgY`w>pe7IWN+tWMV=3FNn_vm9guD<@;GiE=qY{eqXxz=;ewf*6(_-5*l ze)7X_UiGahciev4?UQ?Y`S~7vZnd*>G=3(>J{pf72^@zHH;)=OS_tHuTp%2CNZ6G_ zjuUn45gZqSGz;*{!3cF-Qj=!vX~=H+&oPY!8FaGdtQWdu7W0;A z==qikVZWLVsX(UpV17*Cvv~C#m7*y3azdIy?<$c79tnfVi~&`J8Dz;#mWyT%B~6^c zUWM!^nh^c}+$eM+|KZ3Y^4G^`QW9D)Sx?rAa1KdeN@(w_+1!<8l)kTG)}{ugiJm2P znay6x#_pPF*l9oS}nVEX+N51WYcxX(r4!Tb#X##tOn)&oV{=FiTKBag#O zGg0 z8fe9v>!t@*$QvS=tjV4#ReMFb9A(^my{2%_q1dm>L0laQK{STu*mre-E(d%(Kth z`p`B!TX^HG*KOIle&NEo>({SsYkTtP$DerS@!e1D!Z%Z=+;uzNCG8s+-;Lj6@5V}x zmBzK^^a&rjSa#%!i@(i~lVbr@6qtqBvHxatHoHO%8)B?u70*5o+~QJ-R%bXWATR@$ zo<@qpem0nK;88N36a2tX;P<4ANUQ`E4sjXl5?xP&a+0WXfw5$xi9PkAJcjS6<7=rk z?BP5}W|d1uMXJuLP>f%;AOJkXhHP+VSQ&C;zVLyx3+89M7Fnbh0%cnV=Q2vGE~1X; zLa=D~AZ-tY6cEm?H-{|VRl8hb1u-=2sWzm*RA;`>A~g#0Tpy0&f<_t*h(zd>!Uswo zOa>k)GkQmBu`RL30BLaSNeIB_4DGOYN#U*F@xm(hba(Ylnt=D%KmFOytX#9|Yv+FL z{^|FwTfcJg5_~%h*z?e%+g^C(z)P>ac-Z%X|e9Rdi@9FOA#azwy%DCHwN?5L{ zvU7nsO;kpl;xFAKq9@@;dlN%b(n=51E;X`bR8#pwELpoh-gP9x(h=1;V+OS~yDU;V zsc$eC-X_+&k^=W%ya-WeaW2^~lbL@Zqq>p4f?% zApCw8K4;j~%k3>Z56#79D+z_AgCNAiS!g5*%*m9dzm5$~6q2w3$uCIw1wnO zd6^)J1X*8Pm2e9*1O8SHP0F$|0yfa$s*Vb1K_#mM(N#UlH6k7*w2vAw%%BTdghS!% zqc!-cVvi4Uu`SMqSDMTv7#zyi-9&ICOS%jmtTcQ(EPc)gA4GG0QkjMUaz4Bk5iBQT zkBV}BR0xup+4#n}*-l;2AEm^X3!TJsGd+==Gb1&|H?K`jDb>H3igb#Mw zHQ@sG;B7FJfdGuN1?}Yd_M@^q{xH>OfK+dBnbrQJ35W&a}cL01a2xq1U8jZoGq{O1Hy}vk}5`L8ohlE(cV(U zB&fh1tB$Y-e!TE{2{yb#%YZbPvoL5O!I_VQGh+m@(DlJLAF6?Sb{t}JU=tV&tvN&F zCBaOBN_UmU&c-LC&5#ShT0D4*A$3R0Zrq|d@Skf!Fw7rZX(w|s$rCsTkR)Y$` zCW(o+;PQm3`*NzVt&Hy?{+Ft}-X=L2A={ z&0cK5njR4Mzw#!R?RH@+eB5Y!?u+|UICqZg>FS%nJ@(^II`O#!&!2zs`BU$ivS#fH ze7|Syx;6IgFf8`G{^n~lX3x0%if^58@`;^2oxS6G@l4|A?oR&Nmtha#ClhqHj5T2o zy&zk_N>fSl9eguuDBEfW8%r901JcxK@8{aBEZ1xnwFIX4ux4(UfaXg2tPRmi(2NAlU+T z`0?|7429pG{GNJqJO*MhDaGNLD=dUS)~ooS?>16{881PEl~d-bXaYMZrFY(pu=hbr z&=Q7fLp7Vn1!=H~qO@ErVq_DrpGso8OuYvWQfw4yk}ejxYRy60B?qN(bu1B8_XQ43 zuFDC50je%RW0~Q4)1)3=2ncViwZcBsWKx3YJQ%K|Mwx$u4?tIE1<^KTzewXHfZ&%2 z&AQXsaES9Qt`%X6KCKvy9yc1h-oEiYx)V4A?BOC1K6`=HVt#?AyK`XDgyAEG|HWVa z&yAZmU3KkM_yJNpTZs4A*Q{CH*7oSmhhBR9r8nMu?ba!`PMLbg6<1x+)z{P0-#ZSU z9peK&X}xDq?7>fT*!(9Xh@mJj6jh0I4ndH{)I0Oz1Q{rYM(m-Gp|_TjjV)saVWZSv zz^8_;3{FFyKbg;#O_Q7F@kk3S=3J-=a53oRmU`w=l*} zn$X_S{?{M-o6Xy{UUtQ0_(6&_>sA7L)~<)&gLf*PfBC>GZ@e^T-ke#pXWetpUD#a* z{J`(gyv^MmC#rrAziK~n%viP+!3gtiygBCdgsXSs_XJySNtQ%TQ%+8)X+(Zrq-Isg zc+FiFT`MPIPqNE069ztqFxj$3B&2Z-g(@{AfYxA=l5mCaV+vbJY@8s*i+WdtniJ2? zMzRu$v8259x=Q@i8d9V$V^6V%H70Flp>-AJ>m?VZ<-~|F{s9uQGYYK|FzNXJ*?SN0 zI+EjD^dKDM9LSaKb(F1S*|H?tvMjA+ODkDfvSi7+%C_}(jisH_LV9^@v$+hv}r-v1}z4O2#_iVB;RI}-`hSdkQUOT!is277c_x+{q? zI-MpUSbU6EbnM`%9sSNnNL zRb=>rn>`~ne7kg3hMPk9j$fol$W(gCg!^u6%TrOoi`< zJ#G{sB8I$fo}d%~6%Wnu7Me$z27Hucz69yh(U4MYLu-g9o>s7hf~d;8kV6QhR4^z@ z1;RWIq1YoihZbtuf{3^D2YbQ_1{(K z_|VwBZ%0#89oD&cPX*2fgx|u+sfj&Rdk@wen7?3NZeC6{?0X1%GGO9k#2phsQMSH^ zD$1ybe+6w!)gAEBbP}qd(x8NIi6NR!18OMk6mRDx zim4Vk-J`zoc)*xPO;DHBagw3Y&4eS1SJ&mK%)NfPv%1G8SJ%k=8;U&!o6YAa6nord zf$Ve&o)8~@(hA=`9_X5X{L`NdkDOb+dRa-?)|Qrr#-@7KH4mOX27M2XMaJrTbxrm59oxxcA>PZ( zguVw`DKLA(+L=NZ2wGf}U=QoMdCi^m%?5i|GX-=ZfRP{-$6d%{o_nZ;pI|W)_~R(7 z>Hy4xV2{ogZ<%023pf-kXg!f{q{WOX2g3{$0q+8@=q(;CR54G5rRKVHJAbGCJU&Pd zVSrGmVOoudESK0%s2~iR&>C9g(&_C*787SlLTd|8 z3(Ml-I1Jiic+yBGU2`Bd@VPI3p`*JC`kwvOd%L^aYibWL_6(1ny>|QB(8!t1TQ=?3 zwew(YHJtY(LfXNJq@*sQ{aoyfRap>0qofqzS{ZJn91}5IV>;73QGBH7WD=N&{rv#7 z%!?+0=_e)txQuIEyadPQ2~5CJn1MH8p_&R?lqF#A0lNYg`{6GKb=G+X4|vBb)x z|HHc|jN~?+Y!PyYx!h&Fu6DT+TRbD`P}g5WO5xdFSgI0Km?op)q4}u!q9wsA9kFO@ z)Exp7*%#=3r)<4h8FHvngg=o|70MlFzLj7a;v4?1asmbw(`)7nkJlMm3GLZ+b7$Zq9RcjWvf3bpw04d$G=i zLrL$vdUts2EF7jn=-F0LhQ+beOo%>k*-Ube2Ybwf%OH?}922o69^rSngBXTF(kw%C zJ0kKt$;P0sW+l@Pc1ji3UF4*BjVIK%_Q<~HkP0bG8e&8il=wjTxaxz_5xl${nveY? zH2oWRVtRqzl}lFxA6gnB3^0Iv74%=FEHe;8iv|oc_P_*==7}a?93U>)qB#=5Jv4{^ zBTuA;ubIEp+vU_xN-aDnu68EB^%q?8?m2@ zbO1i?=k&7o=JPj-9nQ?c-WLZ>nI=m{O~gmLTeq;&JTQyhK2 z@hNZyV;J~(L)gQhqx3EE4?u{_0kz!28k;m&>i~NeE?PK!?aI8x^GeFL^!9bu)*fVC zGtTFlzIo-=i?_FwZmy}XS+;ToL)8h{j zlA`pWaph*!P`&EO5I;k&kTfQ95MT1Ap(&S690q$d6xN7z9y{Cj z@Rl%_zQ+YTtn%TCQccYj+Ex!^VrfR&C!|#bW=Y?EVpv1Ej;Q4UC|7FhM+oZ~N^=B^ zKvO!;AlL)L2Wd;_>*fj4Aa1Hbn;Zx%+!xKkHAl%`%q#p8Lk#Z- zKM4EqXIVxbjW)T$V2>IvV0Z#Q5kozMMHkw@qh=&;6ni{cpZter0DHdhr7sQ~JyNi- zVBdi~&^7Bl6{m+!j$azbUeeNv(ypHFvWl|IEIu9w*n^#<@Z1xkYX;8PK|zj|b;7rg zc@ykuf+7G(KZ>X5U)?2|s!DU9x{m0FeMKbe6-FXGc~uu9&d7ae|-xZze4A^RRychVT*E3_=i-yKjT zLm(y#SCZ41oDoqh%wj0Tp|IhyOb1C~Pv&7@1MgBWdM{qwfqt1343ekQ3X`W2J)OlM zqL|GRRCE2rREa7hauP@ITpDQZ)E(SXxeH-kZ}DGEhLi&_mD>4_pXPM|1M~A95n7Ex zO7&Otk>8s z6Odg}rZ9e^AoVU+MMIi{KxP%&M2xtDh?w|@=P+aL!tNl%l`B`wnKOGveqIJHtg^!{F=U-f&Fvf+ zM@u{w_SiKw927R9HoDPZ1$i{-c$^W{m`L&>cOBugj6&ybm{iD)Kd6q-NkT@s>T~^f z^Dn^*E-O71$AJb7e|YS_nisth#vZ&2_Q8wjYSRQ425DM$}}^JODA(bYrK43JYqUiWmL-4W_VG*k7r zq9Lk7*dyCRnRLJ&%14tCwY(Sbn3W_2Kkm`ZNTbYs4E%_`$Avv&TNnuZF({pQded+6h1f`Fq2GsAoS2-Ib`1>L5fo7 zLed^8$CtZyl0YaO_AUubw@@0s+~b%q$-Hh7Bf^LshS8kYb*I^H-9Ju^p-+eEZBOK0 z!(Euyedjvs;SM%2jlB={fGJGSMQb@+SIH!}Pej#(ZEJL`s6}|iFsY6>ERO`Bvy|%) zoX5Akt4cI%t0OuqSLSH4WWpJu6>7N{nE=mlmu@m71zws$g$=kXyu;26I4KnQIB&U1 zboC$=XVDg!NHg`F<~vqxUGM5N_jyPxqmq#(;k5%Q4-4O#kj7DC$2l^h7d;aH-e%RI9 zJ!b*V$Z5nGIn~uwtna}Z`}Fn8*Kb`bE-CKn?b%bc56T`sj6EIF740a+rua1Es*fR5 z+b68LgkVo7M}$5x!%;{}39L&)2$;*^FS}#!%`CzTnjId17fiNNzWIrW)tPF}rG|^e z2=Zxn-?`5Gy0D39zMZ)@Zj|1yr_SC?2$f~5W4N0@80KMKy=bCL;7IP#W60E&J4Fp9 z#9eIr=D{8hiKrni3X>6%gCDLxy*7}zvwEQPamhhXAo=p%L5i@uPw>XTk9pT-SG=WK z$}*o6L0RdJGuR`LV+%kw>PY+nvB#tA!M=)|eDdG(v&a4wK2x7~=J5m7`}+HPYwHel z_jCmUhmRf_y)e?%*SUKAnwE~%Rclw#A{UOQ;BBZWFlu&VPZ;dYWN1N=ylc8o z2qo08+hrHQ&*h^{s0QGXt+WJAstf43klK9oiQPDa!5%HUo8b>MB0tVrB%uhFzFhhq zIw6qknqvb0_<#N2D6r?*Cn|SUz*}l`~RGqIEA&%`F@vSuG@Z>LWiTnfa6ZEp*lcP*pLQi)R$CQXP;9^_nTp zDvRVQ{*(GN35(*c`;;6OIAqribn%`=1VaJSd{dSw-EJWA!O5=@i1OjEM-5?KR41MR z_qbs&E`FMsW;Rdv-1mM=U|djKbr*47>D>W17iGBE;u&-kUW zy5@TL4l5`sgkd4@2K&JHU_eZ`ob9B1P6ZbGbzSx3&s0q}8nD5^APMsbXk)m52ZtUb zAT6&1A-N0}dCwYou0Hn=+no%2M6ATew*;|B2jw_z8x6-ho`*7CbrXoM(N_|XlKMkx z=VYbI^5$a=2y`_C=M{$n<{=8A{FS^Crm9>eN&u=VIMEt)5$ou#)<;;%Q!SBFk$HR~ z9j`(%8z+OY2&#yt$rJEC*&~~lO2zO~#yaXx z6~m6wNQsC@WBDiCC&uz>k!d(8EP~w8K;9^X*6-&gg4Lt;vZp1@12>O#w=$m!%yyNQJelmcm#2SgRFCjbu;bvB*VgF zC}*G>Hs*!c+m$yH*c0=`FMqN7a8K#>(ygV%J-wZ9AJ)?g?7`_cW0RxU&sDT#)2_XH zw{9!Vosmb_LwiZpp`;L{v^g`-#=122cqdtQ-Bk-*q(WEl@K852%XwnG>jo7UYuul? zgoF^$va+&(JwX@}y0{>GR*LWza!AGGUHw-A50l${bjRu~YN@L@$p?Q`a7)EW0w-IO z#$B}L9nMf~Kh_M(ix;$QhX<%Juc4oMGZ7Ji{wHn%m8DQTkngd0)1=z!;Oa7NHG838 z6yfu{Jlm91K2m4gF$y8=17LI!>ch|2Lz(l)gPa=6&JvyGn;Z}kys_`{S9%>QIMg~- zPy4NV#pNyJ=71T-JzrI5XmXqF9BTH^`b&Ry@RfI(UF+Wceo3qIHp}# zl%l06+R_D~2OfBG^JyRZ-+t|DIQbY8u1&>7*iZrc9$x3do(lNT7{54LzOw@Rz2+}k z0Pr$6u@?HK89UsjDQVT{P)z4Uz15LLmBX)e*55naE@Bo5PcCWre(s2`FN zfIT3JVv!IQ2z}k=2opES)Dx<=!*#|()*5lr3m_v9 zOM>bb!vg4SxvY^c?g0pMyx5Zh?4j-J8hcdKQmA=o+Qk_tA7tbRQ9FwNKZ-qM-=kTT=M7G)|0~#o zJf(Ys@C1)9BTq4$f=r3-h#nBG&xv_Ubrg4|+@!81!Rv}3H%T8F3C+h;j0d{X6M$h8 z_^e9BxhZ5-LvcKG2e2d&lN&3Eai)4OITpzPSKv}`IHe$I$PW5b3vPxCAneT5CYg!9 zugH^Uf}Xn;L^MZpGI}U=FcI_9G|-O7U(J9s5%U(+;kD!*&nP$VT6I9{z4%9{`TsZe zkomI&E%!LU0}x_ED3!pbk{uVYMj#hKX&e4 zAO9K7slYyV$US{@HsJ9SM@J{lzxc}CvdS`?-!*^HLf{&(2W#_~u9@oru}4wDX{nC6 zTWrxre`(meiB7HlCCa(sA?#0^{1OMpVNBp7O`0AIF8T;qAZK-s{jNcO6Oq5#?^1^P zl3MCt&cCYm_CI>qnXHhr6=!DQS~|HPrt54fi6=Bc<3M~$5hSCt2sn-6I33qN(R_nF zyk``%Fl?gW0JxHTbYiEcR6$gP%HKg{JS0)bN$mW|sjXm-9tU_XEiw_#mOs!&(_m#N ziP22c9WpeXO!WN1JaKZ?q?144F13<~`NJa)wOF52B4Lw07;pSYJGEuO0 zl;+Qz5fc;h{qKKo=={+0^JZ66mSK&(xusG3_Y9xDcxmF|^o7Dr8yZ`h$}20N?1AXR z4pX)7RhD}Mer&PF%(FvddAbcEuSzV-h!`LHTNBQHz4*-VlSQD{I zSCuzCU?NC^rkPhL@`f%c%aso*CF*se3|G&}S?Ffco2m*EQ5Ud9Dvk~%Orby*Kc)!L zjW7Cv%bLOIF@c^Sp@BG>ECrxzhBzfb1|q2}NpqkBYi?)+)3hrEiX~RGAbxMcDyG(* zj(5=_&VdNdt)rTAO+%4Sk)8EeYH g)EeVnscFnCd1e0XqhugHRLTOju(57KoiP| zNV)gF3+I?RBXa-r`md;f8+$}OY~4u+)wPnhbo~|g(ofU#Oy`uOcwUtq4cN|=dJFR??x|uW`27aJxj){%=^k+XaFgUPw!OoEI0zFH&(# zBD_oaSlLn!BR@ta(>hvLL4Cj^Oaaq(l$7S!D30&$4zd$daY8-RkQ3u4lM63m4MEn( zWF4D?U7M07E)fgtZ7#wq66}XkH{w{u5+PiNJh}dq#spner_P!Ktbe6B)}1~B{2@}W zBST`@dj{l1eeJG*^^>}ls||+HHE{-xYA<+68cv+X-+kPLb-)`zd|n8<)W-*a;EZ?l zCIvbe5MW~>#@0u$NACGEXX0GaFa6Dz&J3Sfv3kYMJv+J&b=9af_7i6YfBAp^$Ka`B zCEKhE1wv`%abfj#iv1K<%kN;2j$rDW%>Sy&jE?hfYY7_~;XL(+pb=sgpJp>X<- zun#|H%2|CzQHO;3T~Ig7CGX-cfnGF0lp6X^#5nRrQFYKvLChs1Oeerk^OmW3m9Z_=&jult1Y^_fwckdb>=gXR2~z6}faP@DpjI=8_o9Oug^9 zIGLRrRTgOsi}D$jp3FTNVPJvIb{g(M>ORv)92bsq4J%D37$gy9qg;bMD#Dyk`9N!- zL)ftoSdizU>;YCFBC2A!&v@t|%(=e%z3-ejbFz5r=GM-(wyxF#I3uSIJ~Ymc4`01~ z?aGbm+WMLU)m3vB%*DB+Q1%e&K$ObBGCR%T4E7lKb0Q)AMpFWP3EgS98wtsxy?ek!@zB&<9@;-mGCSf)VE*LE%1%ZD z+7lSmKoqmwiptwHl-%Tr$_mVA4Gx=I?KoaRGAocRj$Ik4u;FWo;332s^)AnVARr=J zfghQUnbB|NJE8Rf7J6H1F_kpOZj_1Jf3o9JG@eMc?LWP)xS>GUw`>ARoJtJok+AQ& z9$NgWIya=tKs5UmYS#l`kLn1En0AXKuEb<5^pNDB)0=q~4PJM^6a1BCT69hX1px{^ zp|MQn zHGn5Go6aRAsVPM6kupuCgrQ7jB@zaEfYQ<+O+wvnMN#~ue$$PnpKmVgF_pLY-L%ne zmx&uz3QZ>DH7T74_<}!=h7a+}`KzX02qhiaMKHsbrDV`}SX=7m$r%ql*n?e&7yyvo zF>4E^Bw(8oG}j3!R2*?V_qD+uscr$t| zE&%l;XUT`+7TH9hZ;J3lKq%p|dodSsvtQvFs#lbR4BoLS!*PsAXgt-pB#1-XQxa$v ztOGj5lq(T*pRDTBYJW;Fp6+;yG)ZQ-P(C_a0v--T9|;6J9FUb2Aa&{GC$vTQ$;roL zXd==ap^QRSO(hfrr92f!Jw-|y^VS1I2(&~mBCosdrWGb4JP-l{PJ5}NLoTioEAWVa zD3}a�A**$e&O@MR6nXA?f*4<%K@>o!iA9E_<|c{EcG|PDaKwiLpn77wCI1=lUPt z`sU#y{d4EN04HG`y=`?(wY<(XdF8@|>B*C4PeATzz_yCD%TqE^)3V?#m28B>aoGK_ z#~up8k|B)=<#g~7PBS1=73~B?G+)f}+!ahGo@02rDwKCT2}p6N7Hf3G_1RN=s`D|u zDkBEnZX(dN8AUVACahs(x>1@ecL5%HT{FHsH;GNeg+1UAk_(-gD*Xl&S@2+ehY|n@ z#)eQp+D?f$660=|OIqaAlRjFZ(vpmI8EOQBC?XE~O$kvX03p2C6Q3N6O^J`AovE;F zq|FI5fb?)7a&Z%6h)X4*;>J&vMhQKHJwPuBY;{C&b@moU4_#!CEBQ#f>^x2LQJhd- z@K1FL7iXF;RWh$|B$Qzkb87yf4azc|bXsRxVMS1iB(RJ2yyE3n{3b8`8iN%QYZ6(R z+xdjcAHV~=5jj#w3gZhk5Rz!1k#@)EQ-zGw{E$m!j<&GI8F#X$@PyQ4Q3a8@S+qVf z?V@!rIcb6pHWs_)pFi>Q@yUrfFU;MtZEJgXYfVFSXD9skj9nOkVIj73tt(tt-&D71 z{VFt(8136E65AP)HH2}$IWi+54codV_*^qv(^mU#YAHYk|?aVHWV(ij3MkOoKGQ9bFC!p&#e8fL&) z3?@OI!&sC+vK=uDa;87ApdckmyC8v4Ks|9fo8}h!C~5v73aI9U0}R4f$8M0g%ge4H z7C~J?5&}R7G;vQ$+0c<*)IqVUd^~j*GkJ-aj`)avk;<#PlY_|$5$PBEPIRR82_`75 z5~0&EGF^eK++~p~B@qtXQ{ZEVEPEtCauMMLa!+h*>_7bAAI=O9!EU)6cFl*ofHUpw zZGph>`5`zhgbSZtdv_IW-mqfL3fa$vMJ~Jz1PjF;R0M+scY#71btE2cs4)Ur*kh+* zPyz4YBEBKm!6Q%#oyx;e-)W5MxPmmKHHue>;5APg`e|RBzjUCw)Atgrim!#n9vV{o z4I_`-=uiCQuHX+m4OSiOj0H8ql>{NkD`<3Th(bl8QcV`f!w*#lN=cQc&j)o2 z@vc>_AvGF>?$vMU&cZ7a@CtQ&0)#3N?=T|C{ELqdb4}TBoI4AqAQY8FlMH;L@r*<( z$^iq5UqZMd7Xot#s(i2GNAb;`_kf~~3#3*p-5Qv#M5Uaa_hsUUQ7;Jc$%UB}QG0#QA zA3aUVW)%$ZAOeX8=mAUu_QVH+ANbP`z!CiV4TXEE_P||Fb=|=Z+EamZDsV;)wv!&L zJ-F}SzLN5-z#gcqX)h_jOJBC!BgLw_dqKE&h}r! zltuhy1}R0HG>kd`9ufjPK`_I>lEyPzigr-SQt8>1k+{MhX^yng)wD1l2hDRvoeb3@$OQ7%R?e95I zTh-AC?7@Z#_=+Dqb#&LhU4Wm$O$AtEmt}U^Q=#EUV-GNn#T`aHRlbY+!j1dT1YleJ zP>4zb4PPz*vM6fOdn5Qxc&bTEQFj2S$)qIsMW8BwTY zYsM~;(Oak$2ZJasz_1uko+BAhia?A1gjSQ?l9i0|=azc%F~YR-Tr@h?odr#R3b=@o z(w&cVnW;Y_CM)})E3TU_@4oK41|E{a9vFLQJG;IZIcOVt4zIC)=X>An?LV}58RlFS zU40$Z^#|KKFy}gR_SDqXOPF?Hb-kvcW^36ND4J;>I~~r2g8`N3W3Y!9mQ_oFjHp@| z?(>d4aA=q>qN23!%+QxSISX|?59y~z7C=Vaht3@-?wbZVgUS%az1TyaH&MQ*+J$x_ zl@ca*S8Krjo*;6DeHSFKlgShJUFNyW`7C5neFRkWBrA-3EaQ)pNpA9r$r+iz_L)XJ z2ecU=$1V533At`^sOn70bTVnQnum{7~Rc0~K|#ZlGPXK`E)B6i3r`p18?dxSOgXVzNTS6YOLXXVsBQ zr{d^i^tzsDk;)nGFfKZGcR?y=)mhY7)imKl{Sz$`I!n{!PDOZwi&yc3KvjqT3ie>H zdk%bP#KipQUw(A_^vR;)jo7f>-qQvXA3hs!;^G*5roQybOV~|uWN=_j!5Xa7XXoYM zJa*cr;nnv*siYhwYU}}H+x*C6@HR%UN5Q(GwBZHSfh@kbUe#1Iuc*#(KX<(%KRgNW z(|eH+Ybt;Uu`NDD)|?A{h35tgq>^?ws?N0XmN~HoT7g@-n@mi^jC)VSB!E$aNGh%b z(9l>Ag187PN=%WTo{2f|0t*nSz!DM#Jg>`7YAJu<&|bvB@{}@^hMcn|nl0*SN-~kD zAfBz@jyQ@Sh}B4gh#fGD2voQ)>>d$n<1Upkx?K@~s9&hgs$5D;`6EDigH8lgs8T3T zj3sUh0TuluED4GJ^da`QTkUH?-VNK=F`^Da(`+wx9v-y{H4+ z`kqj^2U?%J88hPJgJ1a47xo{lD%`jMo>4pdI)FWVM$Yt&>ASyp@xrBvs)JSVqq<DlbG5E2wCn?>l6(uLVEM3gu{A40F3A@w4D)`6QVW09H;`UwG;qKe)ifr{bp z9H+NKNJZ@I4xwqddRCV*v%Th9ysqII8PqF|;6ttPWP+dWN>X~!`nc}io+DiG1c3qd zkkA54mx-PL2r&nSNW_x~ezH?1$K4Xm)isQP2URJkwp2hz(2cZ!$pJDDuhwdya#5T5 zn#s$(Ny}vH_m9`htQ9LF6fr*DmC@uIxZ#osiU39;j&cbCXq>56 zqX2{|!mccFFk6GeIOzG7=z3_K3ajKfY+LyK zfB63Cvu9SXS+%uvb8AQQ!RiC7?-?E&zWMU4qbH6O6>Vr~XAdab9_Zeo zT_-Cm}@J~NDKRz-C{(CC6wX`<0wYTuOq?4D%C#NS)ojqBxv%I0XVd=`{Ie9r5>1o+n zS->s=9==QV5NPgo+1SIoXM-$=B}Z+i`3?6e5CIe*u;F!l!XBPZ(G$WUw#v|(xp+^7 z@-T=US&TiYu>GF#&|82#-~Ik~+dA9lFPy(~_l~CKI;?4R)7gMS!>2|k&%gAGyUp!Q z+qRd@nKu{MgMFl#S(y--NV2l9hf27|<-#7=WeQv-`PdTy{O30zdMN;;LBP_w$UQW! zMf%Y~kCA@JpF1qcfJ_>DAOPjfm>Cxz|M15?iZ%A-t5)pYzo)aSwXVLJ^*w_pkKVX@ z?HB*?%EF}!)~sLi#4}H&rl;oQWs_wPHdFw3-U#+U*F(lzuwjbcUh`Y-Q{c@{0cda` zf?&4g!5*XCF%g<`$r(9}J&<28=YqdxV9&=N`NZJKr?PpxO?C3y;b{Q-vgw}$jHzNBYUNbtgG3U(z%NuWXnCQ{^7^I-1Fw=KEDOg zOo1TwykKneP97kTk$Vi}m<_{qExUq)}1XJNFJ|+KJfPp(`Fa;DCptp@U)7Q-kv}b8f_0w3C8(yPc$>G-}W~>1>)hmRw_a_COl3;m5`vtdz^1ihugyKSAH~-1D<{@7akp_QuBg=9VVRxz3%Q zxP0N}-Rtcgty@dBl$Mv|KQsg20qjY{5_<+_T$pnyyrW_Pf)x0Yi6DDkG1vnrBJ3fz zBL18!a(K{hNpwso|8qG}e@v1eYu z9?~=?CqrP1&K~ny?NcB!C_vZ)jD9DIJHwl zblsxvCddi#SSVE^|9Ff`P*g=m5BRO{DG;3$fTkD_Lec~Wn$mCtk_F+BbrBqBeGd=_ z8@d1>c{69k#KwO6JKwHttef@1td_Q>uI@JMS(i2T^JlQYe&xn=QE}1Ey}O>DKPxkb ze8ofhK?Za}U>aNkagfsoP2sHavBez|CkKtR_>Qv{2H1t0DAx~M%-~Cf&=bFE;Hv6_yJtxzlG*puxmba2=gMfjzl1^I~FS{>QhziE~L8EnBd6|L*qo=EmlFmU|{IOG?P##B^~xXWF|y=G+wXV1MGno8fMtO+!MuI>o+|TC=eTq6NaE)_RhJK z4C0o1NJGqSFC>CE40hszaew*ozdC;E`09dHJ9cgF?dyWRr@0mOJvfncWO8)s>eQyK zo3@pg!nH;w4#-JOChUQ~R5+ezpB&DeRLodFCsndq>f$A>&>Qe4F2UC|M*;)-ZHQV5 z#Ki_^e-uVN#1IL}s*jaDdIg;Kda|{%W!DS@qWxU4F<<-o-%ek<^1{M-8#Wd|*NnZS zjm-@>k9~6V>g{W%&!1kfWC3!{1cNcGO=i1h9{aSmMeFOlzz(}(z0tzxnvKwdC*nKoD_{F6 z&P0Y?^Y$I(*v|#mg?ujQm7778@WrR>^uG_h!hv+W6ztO`}_t(GX-MfV@Q8OhJ{+)%&Y5y1NWDEFz3q6 z&xdW{_x|zwCr+RIws--o~Bxvy^k`6g#)|hDE2fAor7A`E%MRULTZTBhgW~TtK2WRbJ-N<9v^B~wG zbFM&a%s0OEjgx0i{qRRWWPMLF&P3*Y?4uV)@4Rvc>s%0e%C~P@wQgm0UQP-Yx!CO( z-ljmBZEe8FphB}PR7V9qjmxrbrsR|?Dc+xRz1exsuYYt?AT~CJW-+v`jXMo&iSYI= za%O1Ozm%>SK#{6WWrvsf9Nx$Nt#5y`wyyTkM}N}O(*fJUy846dovXP#um{kQluk}~a%aN6C-})ve+ssR|N8TPtEk-8 z)7uHZh3%d2nF_1Ia}(z$rpCK_y0%r6%v~@SP74v>_XimW{Ls0`_r@L|kOzA(`QoYq zd;B@qo1Xjp21GLj;BA>yF3_v!ONKTi9uYkZ_Q=!-(vO-f@sueC`kwf>FMjpQ6IZ6@ zE?&5;vaGAOqoE1@n#s0sd>FpNuHC-6a`lQ$TQ-)Im*nK0fMAcT9T@=#B2WnSuojp#Goq*=+(^x4?D^E^Kihlk z$n%RAl<%zQ>+h*+s)3bHATWMu?A8DLMSFMK&mQ|}Lklf+!DFGCb73#3WJBxt5Trzb z%mC!Z9zsTbBA7&S4`WX-!S@{&5e(=zB5ElR8IICSe`7#gHYPde73#(SSGxFnt@gM)>$GdvE zmakmCXaBBl$UUvtR)PIokb5p)y>#eE-`X{+n_3zg+Zxic(qLOirp@VOTL`CxBt)g5 ze1HlW`q(opff@V>vJQs?i4Z12-{bpCjb5hpTOJVg>tN9ou*A-MMSu z4%jtA?%`<{8TTMR*7nezcIbTY6LJ>;3tuh;G}VwU1|HEh`*zI{!GL}vqLu=2F|1+M z*kk5A_r@Mk63Z%iPHtW>G2t_x|LmFJp~s(ka@U?p*fnE~y|b&G*168z{r4Ad-nmg$ zzODaQe|7!A?7VCUH@v5UPecab&n0 zzu^%xG#V8Z;lKe{reyML*>r$ z(`QcLOl0;Q21WDDmv7y;dvo#9#WnTSE7z?^NJ)UdX0hx^!{MYHXn8#`ktSZD*h5G4 z0F77?uIq@o7}mx7y`&Mre|{sPm;y00=Q7qbCZeSe@~9&L&>(XzBljSZotuX}6<_?D zFO5%5%wM#ivAM3hryYAL+S?}=iT^_w0U6o`opU;{bUxq@;AgwgJZ z&IQs=IP8%L7w#t$4(s^8X4MFv2E?T)g{}u zRR1z_KU84XRT)FPK!)l%4_buMJiOpXm{XFIJ<(P0yqbLHm4UvuoIKld5TxqkAq zpKdKJK613bzM+Qqu}@5nUAlVd*T4St?)|$LESk5qq&PP>8xB($dtlz9E|diL$<2Wp zIxT_K&5&-?rRQ0CE|`Gr_E?sOZph!y6}2quH#{;ZfbHP4galE;GtABCXW4|6F*Nyt zu2<}PV4@7{!JG@~;SYV}FIqd=URW@%>fqk)o(|}H7<)#>&*5yq%U7q0Hg7DeEZecS zk~UPNrRL;jBM+W((ZmY{z+DEF$Fn+n+7*I8WCe-Z0)2x1KK97qK))5yN`bhT7=RAL zk4vGeMm=K=qmOc)D!>D)oYV}mOwP*5fztQmk9_>Zsgny9FDlu#xwEScE}L;IGWJwV zj^2LhRzpkO+JZHQjvU%wvoA9@8?sXtwv!U}kmSRNLmNs_2(X9X#}sWM7A(@Cq=Y>w zLEpY7T6xxQcf?R2$U={2G0BX30SAH~QT(tupkNQw##mzy!~~%4dGV!}make_zP%LZ zRA3`%dk1`IjEtSTdG|(FU&pR}yN(<`Qe3hLmOU&lrOGimqVhorf<3?=1Swh8*_>L? zN<7JCBJ}`#g8rV0h~YrLA<;>JxImCB3B^IOGxH)bL|+6vkVl{s;>}zD9d1qzst&q-SO41ma@8^p!6iKXu}<#~<6itD>i`6Z#(Z*L?BH zESU%F!B+On>`dSn*4W8H2lFlnI{M;rXx61FVi_4y9rT4`+v7>yoD>ZDXXHc*6Z-9l zN(#gT0zqhcc{pQ4!$qJDYS{}GKeEClLJx0W$6>}P$QB1dg6Oa`F1bYj>^{muy_OVeR@2YtysRp>Bqrh!*MTeNyv?(1S=a z5Kscj40i#TFhNY9?W9;^_kD*&CCB=WjvxxeBqfM(PXd5P+xM7=Ots`Lvn{!kE1rzB z+}s>EZGZSvl%($ zw-9qKEM`I3BNHy54gn7V3az9O{4n;&CW;UY!V){cFcnVEBB&4iruYV>K6 zQ@i%=D6J@2wrXh>R@VVJ@YhVh6M{Xg&AvbO0C+?#6pcOQx7nvaWKjSPcwja2y0C|U zhwOV&v$L}k5|bYO%fIYD+W+LUkC$#QIehdGocFYMkpG^sp(}T;j7^OfmlUy6G$aE3*h`NX6p4Xmp(Slqm44Z=xk8mtlWOakz8lM7DM*%2o1bA$@$Ecpw z(mES8i^_)t5B6J_mO=WSKuqkHzxvg|Q^%ip_UGk0%exPCHMG>X(i;2VnZe-;=Sc3^ zzq5RM*_O>@*UVc`fm;~>9-eF|bu+;auVfirbI5Fq9zfR|Obx=_nGZct$EbdTBaQ+I zkX*Ey$AFO9v&m>6@MGp&0z43UGBar>1fc6vpT-({|8sMnDcrQarK6>(t+A%DCJ;D3 zaqi-^sj-XWCEH34R39kcUXIONDG-n6X!J_RC<0ytocHY)ICM!ks;CNKgh>;V=5HyC?x&&izKFf4Tu{Aj~M5AeJO_AoF34Wq7` z{093Jh&T$w#m74*11kB)vF*DL_5ee2^73MN&NX!I?7uwv zOitgra_ZdaWh<8-89Z9Hy&UQ!!5)ZAZ%pnHb7xd4;<~|akWYcAqW}(?FxVrr9VmRv zbsy}3@Pd8pNomRNdGCARJ8Z+IqNU3gwY4|4B9Pp3>fEX6TUTHC<*Nlnh1GR6`wr}f zQ8QM_u*go>qc1AKeL01P=zI82B>O~NH~9_rDG+fKz(SP_cE~&u0TM_AcS41G=zAdd zh`(m&ng@;^nYVCWS=rXk&Q@SgBgs93rw3pCU;jQiJ^8Oc|JUmJ>dmE_G3Vkv6=WR* zT{F$R_)fYcDvRx!L)Nxztq+|fMq59U;j%2^dctpzPl4#7Krk^@&9t0zu;36(U2chl zkq8FO`pU*$(m>#w-}%aA-<#YJ#kxP0|8 zKn~n!V39sKJ%zMBX=z4-O&jSg)DgV1QAgrfV}}toYz$+4?1?Tm^;;W(6bL59LC#^< zg)sC%2*N3{h8~uC-1sANB|@LnRP3pMzUQNV^|3<(ho668?$)xceMfrhn`*o0jGT$7 ziL+zp?!0<;@Z{jCwX2q{T$(p?27m{m4+J1!53+D&&GJmIO^Czjrdf{@$cL!}o(o|z(|NO_26-$<_SPEdmE>hmo1-U0R17}n4YL}Js1I)RS=m;;o5)ovl6egF7z8p9VXz0#k(W#7bA9@ApXuvAME-krmiGv7Zar)7gdnTtlNn zXGYInzk9uMcV+R`O(o@99(wCrU=GBqU5;HdGDDWYJKO*{mh|O7k$K2UX_#UAYwXd- zsD6thjso$)SaH@&cexU2CCL*!*aMjbu1}%w!4mx^{`!-LkMz%)GrM48LEq87w$A33 zR`?Fn<~g}@%t7PGQi5Jh26Dxr$O9z?KT zoxC%Pl@H5Byx|Oo1p0ePqm5Dh_C_29;$naXq1Z!bcDXOiiYV}ei-ewZ`0$~1E*#SL zxzBxObZlh7!uh*)?-)38sHU!}tGfgCJtvQkUKpFcarybVv!I3ExOEe-M^@Kmk&EC< zEhI@@I7ajv6onMP8aqo9E(9_NU?L=jK-+@p4j_Z27OZoT z+>@H}{tvuwwNH zCo1J}U+f_yy2q+Jo=0Iv`AzmI5MdNZOb$K>_6YC@_J~0;L?6gK!Gz$$AN@#Ich}}E zo9pVUX)kGA74NB-x-va={qm)&7t1P2o7)=qRPDhE7rQ(q9~z-^E)jtY*vU`aMaRQJ z4`y3rgy{Rwh%g@Xn-iTBUVLcnUGt+q`$=heX=7_cR&Hi;T2fjj_LGtWL)pxQ z{E#uSw-wqf?qHqEv&>E>_#}{S++SmlFfR0)6O9yr4-Er6X0V$xawH;7Rk5MLnRBta z8FCLu_G##v$457AE?Qr-zOAdZyQiJ!ToV_^E?&NH^X~P<%N7?D6?FD=2qeHGpk^jn3_L9VxUq)}3zPX!jU->+6OF9uw>iQn5KN#oYk{A8VUI!}gFWng z5K|`h6(9J_=RZ3#KJxUeCyO?3IDG6de1|dij82>%I)CQQ%eU4Ptl7AE;}g&PJZENh z8Xpe`6iZG|PRYPMDJd;c0 z1f$+1_h9CgngZ;>!$14;5B4AHpSNi4^Ydo6b~HD&)^~SdjUCv7W04{K6mKo== zPwd#Uqp76{=X0SD9A=6Q?6S&5Ik3)|XIom`gMSSQg~1-)OPcEIdm@Sl{l-Km1>&K= z4ViPj2KKO?7>F@r#tabcYk&9k%hxVL=qan*)<1X{=dpLt`CMZcMy78}-+kpyX~nkX zE0%94D$K%}$QkTAgSAC$*{sbAZEcTW5fCU0_ORUJ+xJ8#ullWyEDFSuulNU$d!Xzw z`W~oy7(&>-C*i{nf241qZ*Ae4EoEC;yIOEgMQ3MQAn@|5cSkRbAi#Og#?8g>*PK5y zAC3p%GZk|#I+m2rRmOt3+BG58&H4`D!E=Eh%g7LmatR6k899-~gMMqGlLE0=Iif8T z1V4_TVN@?#^bjqtNGCksN=-^n$;!{cHuw+x>7O*Ww5(jYVpH*k_D;qg+Q)w8?8)it zm#^KvirH9gLtST27x~ag3@W>3D1O|*gFsGQbQSO<70%62)3mhc>?^<3J_RC)0x4nT zo_k{t$vgm`w6q|+FXv{(#Kk=F$w$r(56_wNeBp+5IHv;o9zG-I46wR+S=MvG!#-0?&W^n78?E6fOR(AE<9YGX`PlCnX17Hv9 zdyGaHt5vWF#Q9v9i@o#R?`rL6-&VeD;i4DX+MAnN>e~2>oS_rr7stB#+PiwYa3(Ua z2Xii16{cpSL)#Mudram^*Bow*9pHoQ9sU_P5yXIgQ=*mvuchtzNU@PWk+QN!&B#(v&7>e18YM<;clizX zDG)If0C-^W>2+a`a+;cwnwtj)%n5(={`a03KDoJU^NN*Ad;7Y&dfMA)jeT@-6#kmA zrK_;0uw?tT((R@2TbPmo)S=@kNbt%5^HS1Me(QIBYv-QI!lHFcmM-k> z?da%gW$Y1O@n_Btm6mO**j2H%Xl+JL24I8C3t3q$@N(m|?>YZKzK|1^xY8 zQOmD>!y|_RJmtdD5eIga>hhM#*aJC*c9C+xRtn$^T%`g!@@J4;^TQ8+WMJUXs#Qxj zZ`s&C&;GYnZfCs({0`DYYW$vSC-9L@O(vlEE zjJH=`&t zH(V2LuPhrF=&Pwa!2X(XD&W}E#K7RduD!c^4|UI;^$ZrX=v>mYv_zx{KAEs5J{bJyUw*9b zNZ-7T&`edvaPT&6;R4yK7s8 zU=OLbMYTgK`YJ99{FtxF{Li0rMGW`(4T)w7B*F)2$R*fgKbGl_-~(2vAiMyIa%arI znaIGNLq`tHnLoR%yyVc~UL4NFzQbB;b@I!w-G%~cNVAb5Yv%9+6+dG;Vd(MvzU%zwx){8d|)E=nVSy8^D z9O@ygv9nz>PA7%BSUNf8?Vd>F8-+y?)h}EgO#<>BF3>rL_rXA|E;Q@BjG=Y^&I~ zWn*bY$$}*d@FI@Mf%^??2a`p5rRlM-$C+~(8*3JTWS2c=VW=tU7|lKAx80{eWKaMH zAY&}w2YcjC7WA-LGtIeDS?-DX*(=yXD7<(9gymKy5CnZ9%5!6Z55o_{=S_n8s2JQV;_!Nj{3ScX#jA#)k zLggNXJ*4?108(n=G&0i3gT5y&?h}tZ0)Nd57SCI=c2!4bOGj5rb4x=YaN*MU_@(g| zU%69WS-ySO_I(HTW@cw$c}t(i?qH8dKiDEl<~%r+-9jDU5LVJK;lf{N6FXPZ*Y`v- z!}@KH7z!l7o0kBNb(c98L5;rTkNCy<9@6;$4uCyz!T7)U@P~R1cduNtymChc4#;U} zs;R4oZQ=OEi7VHyUcY&L`;P53H3y3}ZlK*1;fWS4GGP~|h9B7JKvfKB z31{TQ#>RgBi(j~UbSn zr36Qqck!8``7>rf1@pVV_qMi<_T{Tr0(-i8I}RQ0Zf$7{1V$#thQ~(EPmFEaQVjc^ z!c7G@7%-jOXy9Dr6yT5uID*NJ2UJc_7<2zWI$8U%azq+2Z1Do4a~CI=fo|16->0r$UASa%S!G#A zPuq;Q<|U*gW@KkT^a0*rFR4I|z>J7N<{lP%;A1E;DFMI*&mYm+VSc-P3PcD6$afek zmmR#Zg$~FVY*S-|9z;lDNlQyeg}>%}C|gvqdu;B)xrh3DTiY5N8|wmr zp>xAmZ(aZ8|N7;cb*mOEUGTz^1@PAl6CbF2pk?N58DgXeOJ=%&auT69SHa*ABJu>l z0|TI7N@`4eFhc0>H^Zkuv{E1;IX+o=ETqZTJrIZx$6QboX^`0(epR%-aIjMyu70H$lyR*S6f7INGI?E?16P4;#lVj zCMCY>-S6(~?b=wpv1nr<&Z&Uh)7S)k&xK2q=O)gNOpdHCTw7ecpD36~Hj1ZWbxWnrA`u^7@J=;7Nt=utXFeK^@>X#iu}&QXt67=L|LmdG3il1XHAH zCeL3;otK{vx#zv_`{U!MPRyA%_xU-q;42>3!{>8NUcPks+U1dnb3cFbv7I~0ySmyk zv5^#DgWVLO@^NF20FU0so{*BN&d4!JC`9NaF>Ltq=Uh?BtbVg2iUJ8VrDA1|Y#JrI zVVBSYSTb^tU=P5D=1VCl`S~+|J%93Ne|qNZnWvw9dd}S0*hLDL%{=ECyEuvikw-3! z&RepmzPWzm<_(D{iJ3Xsm~)X24ST}HJ~ZGE5!uU5GTJ%8D_<5IQWP~I;VaEQ8!)1H z&~Hq1Qh@vx>g6p&yaJFO{I)(=KS-EOCum?x7H#A}| z>AA7tsjHVx44vFoSy8aDVEx8*S$X8NkTlMegQe_Y>=9g(JF0=8%Xa?d*&%EKVBF(x zCXG&h^;;b|6o8QP2C#>Xl5sxQ3@mxS=a2rd`%v$SHLEvmDr#$Q()u1?&xNUpv5VuY z3)YQZ7~QdFJKWNzXJL^Gj>BZB3=qVNT$b-JgK=SYk^+NL65ucqX##<`$ms&VB|ZhB zk^<}!#}R!VQ0~F-hr@T+_uy>6_y6gi965P>(eh=LmF0)~dw@MG_Y9soHZpO3V(LQK zj>_&s-3`sP03Nl*PHS9VxyPW6L>ytqj`0K$b1w*MQQ2F5qkRfQ4h51E63JDLUf5z8 zD2&WuBLj&mY~KT8!I;?CPkizbV9(rz^NThXw0AVOwKvN;*X4<;H?QD$z->D!w`|*T zu&yfapdRk3WWWHF%N4Q|Q2S;FG6NR36v1~$9AP&m7Cp{gYk(HAJ7aV{5f%i4EHvjl%k8Ud~ zIdb$c^gS@~;q%z9-MN1H+^LmoSMEKqcYV>i)XcQZT)2yez6Ucl+7M=f!5#q~0U=M- z@Dn>K5`cOB*?RvMrvJ2wZ)pc5cTSJM4R~vjTn#Cr7T{x_0Bv&AIdEE?lx;)7GMloD6o}L$-xL9rzza z5cn~3E`vRYguxzGMZu~%N;}JMwoicwqCi;eQKR0`@luSm!n~mZ@Pj3CXo&N09(!W& z-S7DW?B`mwZuR!cGDtk|p~351I3VZxi#PxC*Z*19P`6~o;un3bCa zu?di4HnfYNLu>C3fIaZtDtkT>eEXhgWLCe;5k&zS&N>JV0R)uLp|J-xH8{kJ6wRV* zCd*{3l4CDvZhSEQ1AqGd%hxWgEm*t0VBL{p{oTDCwRHyrfs50VS8q&1`gvi|{JN&P zXJF?|c7y+uB-ItyxvHc~etc zV{d=Yf!YJ`p)oaa@$!YUqi35t+o~I?pL_mUc+ber%Mqc+K960zHq(ius0{7^I64_Q z%$y5*ynvLxz9;(F)NgSFQUGIJX_mEVGl7tGVUm-TnKdInpJrJ}NxU6`Oan1V%E`@z z>#?`L^X&&~4?aJ4PQ|Xu_MWzemO3C1W6$lEZjDWj?%cn7e@#`<<_#IySm+|Bg_v;J zehWD>+Qe>xtnMo`R4#-_Ji|(VJUQ|4*VrSF6a6Md8wG$U_81S1%Mv^ALGXwqABZ1m zsXqyv%J4+pa4i*SvDpiWrq!DK5AriG*!^06n{*wk-t1X2Kql9H;{*h7H_ zPgvzbxC4+7_@M~w4B-MSFE=(A|MqvktF^21`T29!7p?6Z=;`WfuWcmT!pYH_cdlax z`bgnrf*K;zbB`NlHtG(g@fWfgRyD$)`Y+ zQGom(+q12ZIIu_U__TlmGcVv!R(1}~$a&sU2_<{+i=c zgRw#1e@`TGqu-`zq5%2tNr5{YSj?zH0x`@(;74N)+ZNLDIxA;#;kPh3@ojJay+cR( zm#tX#^fOOlOBcC|Z*B+#P7R%Y@s*b@O;7FKyQj6Yb=STfIHv*<51quW?3$gO6;Sr1 z;1^pMdQit*7t%E)B*)@mG8k|d-oSdDT z8t*X+lhit*7`fB6fX5Lmo*bKgK;)me$UP3eQ4C_0JP;j|+##F+bu!bE<70ih<_Kg)ze!O=0nE7|=m_?hX_rJS ziNl3G1U)z-2Yw54bFio4oqzDIqsNaeT(YR@z}{nn19kN^2djZS6BjRxT^Rr6fBtH1 z!MgQD>z|)DDg17Ka~g?0_rV^8H;h2`f`1va_KT{>|U{t^T6}v**kzC|n2MVc1i_K2tH+-==7y0CX%KxyKTB z!ebBST)-Zjpp~ATm7J0G8^7~gjcqM+UYNUK!+PxJ!d_B{K4jlBG=1&L^z|!S%SyNJ z+P?4L-sJRToRLG@F&KF6BlpN`3lfh9ejuOWOrM~y?1?50_1hY$6oB(%Y}b0db1pdH ziHCtad8n&Vuufn0|)m70;A*Suiw6Q>B_~@veI=$g)b~# zh{;m^Ll32;XQZSds5zIhWd`JV14EFl??E-85{G~3NbL>3T|Nb(hXP3{30SL=ATGmb zRuk?LVFY(bJ-{B)_mJo;Xrc zR=S~h(?37@lbOHq-!ihXj~#vsfjyXc$#R+897w&SfhwYlNts*0fJfQx!-}vv{hq_A2wk%n)5WsV&zkC0IJ%PZ9(}U+H zhA&>8gctdao{m-PR$-9~CtIXvW*S|ynRY!e_NWaYk=h%6yL<{n4+RKk^cgwW(C*sP z4iJ)nwJ^QpEpiW(Hn1+v%+3xbCcWd`@50{ob%kqIuUXO6(>8FluezoRzT&S<-Ff-; zxzXWeD_0DiJylx175*`3nVpqAM&%>$^Pt!R*Yas(eH14Y&bZhGB z)Z%4J8yf2N?cbG^n@L-`GRRlF!5&%X!u^5fTx9l`1oP)e?G3+OJ_VwO0x)V86CWkw z7+J@TgkTT$l48yUxhEa&HQq9FfAzkK%55d3#f{Cio!G}t=Tr=xJI!0VrZ#LUI&tdw zx^=4n8#CYf5Zm{_jRwJw0iFlM9vCzfA@IePfhZ)xOGAUW0Rw=fI{d9Vi?uV5eu z*@vf3*i+Hg-MVQ@QSs)Y_O6!p&KCAtc>U(}vB|NsBSQyjtGW+$!gFd?ZZ@`)%1fbg zkL)Ei_pp0OfjuOE`FlwtmmmF>MGpnAs%55HCSu^no(PG1L4JbGSD169LGFQ_-|zh1 z?;bfm@bjmBj+2j%9Uo|Fs^>Fu22TuLn3{z9u-PxnTDM^>jwa2?CtvZj6~xzTS|G*LjX$Ch{iJob1;96r6w0z0j9 zL1f{x0W-2P0TF-nzW2f}{NiPcckSDCV(2&=XjGHG=E;kbS8iN^_lzBTDtr68fA()b zg|}4bnlal7GvR{G4*TyhcPf^j*mZ$s%Ez8);!eMYCuM`O@V}S8rbVkN^FvmFsXO@}9EF zGQf$@pnfU7+!Gzl>9;bXDFEO}ObQC{C=k-1qi0$) z`Ep?o3~cClz|`FQoY?r-4}R!_r_Y{VykhaDZN*s7YHqD>Y_1CghDU~P-noGlu$2X? zcJA4=rF1KR2cnO%@5#Vw`#t3zN8B-@56eB+c?Oxx$DWAhNWXE>LIEtE3*_J~aTa*g zCJNVtORsfd*2Qb=Fz`tSn83cLs;*{r;o8NkmekZA=<05*qcf3@oj88^>J-lB>O9<4 zb@0HfIkPjeGa&k~+(Son-3xod01ptz%()<_`EpORaHrqSNTz@>-~;wR`bp17&CJY@ z*_OyXM*7jvLmD6ak0}_oW~F6iyzQO8e{y)Jw6d(Kw(9Va-nxbZZ5_>Q-}CA(U%@F| z&%W^7?tObowv_^Spgw-+t#8fB$%WMrAFHg?N61^IbOw0Hg|rcRH1@zpG|mR}u_uxl z(r;VTP=L({mBa(TT)BDKGiT07#5@dEJ-oUViao#!oUaA^$%Kh=diuNm;9ZCN5B>8` z{&`K&+ToEim~*wznaC%HPGQb9cx&9j6|No_Jk-)w&wdN1uTH)4%a_lbJH2Sxq65_jwr?+o zh?SX(T^N9_jFgP@#PpQJ^i()AgzrPRK@CM3nG3S^TP?%^b$slJSXT5K7G)HmHFoF1 zL?|850*$T!j~V_z0GXZPP8++@;L3vLT-Yb^*5CZ^XU9fby4njj7Vh1*bN{~G@SOVp zviII`b{yB4=wNcr2t**5Kro96mTY+?+wZM+9iEfqm1S9$EGtlq0Fg6h29tBnIp>VY zc?L6x3;>Co0RjX`Fo=@1+I@e#?>p69x9`0Jik5!+{+PKvHGQkAE1WuY>g!Y4&Fxpe z{`BIt3zx57YUyaHsjbP%$_SLb!!W=O6$ky!{=wM(FhI}gnHPK1_8yuFAMA4G(t8$} zgu1f3P&oh?P|yRgfx3fBt2?luqH~{8IigrkJO*4qdBH3jtf|1%=KCLf;Ly<{$(iZ# zNpT~i0~2GzV`J#=xqAK5oe%F|df~wEK>uL>bI<)WAShtzie)@~6a(}@cEE$Uov}v^ zzG=M&2!umPy*TmF)#h5L;^@lPBI1A*dk8id!j^5q3T!$msNBO+z)#$Qd6S8Xbk+^X~h%uHU|nHdje`$=LYl%%N$XxQ?N9C_PYp zMDNkqLyJ?-G8CP8+FUZ}dhwN$E5|MlEHn;afJxyET3fo`N4an?o7jU!j-d?czGkQ` zz5%|W5uyIUe(Rrjw>_QUaWHu7kIbX?9VYh0;|nHErpdClncS!ku;%8!c!i;n}S z%DRsS&;ryU0-^e=A5nS)4**1RsTEy8P+|On!-D*S{2qJiu~X+xMJL3@#2=VGG=a_@ z>F+sn{_R`u-$Ki)si_{=^U}swLL;WNo zgu3N$>6643S}C~lL;{Z>{F&kS7dsy-3!yZHN0sdfo9GZ*t_dt=snaKSkLnRgE zrIjUfM-NR*jL10^=w-fm{nE#ue$?90(%9VC)7OiQ!+m^r-*fiz+0&QKUb%U>wWGDRzP7luIG7uz$_De8LWJqe=h*VS6ciOC zrzZ`M4?*u480>R%yL|KVr5l&eUO87$U2*c{$>gL&A0MyfE0zIuFew@r;YVKzY%JJg zb~)J*hxt89^;tv((SwR6$ zKK%BZvI2f zhs(IMp_(PwquN}=9sr;+CIDfMm8DP$2LC3!MlQ zY$?I`qHh>o#)3WTpIHCqnavmo)Kf-{vEwc~4f&v}Xfc(LE3YmNEKCmQJyUfB zR~FQI>Lgre&Zdz<2K7i6%@yAqLx#iZPfbuw!D7{ECWWPnQ>VE(FO7 zvn*V>a&cfWae#wNTpZ4pjLkq1kvWG7e&)d*j8sAY2?-7k4_Wu64Q>Jj=rITfuY2kkkDZC`1oOAg&5yJ9~hrNZ}fTF0S|R8 z3q@jA^Bmy{uZyXWTzPeIU;%Of(|hKtu3zydVEL=93MHJBq95R63?A*naaA_ znZq-f{Nw3M?BTS;K#b4xVk^tMkO(OegLS1aHViUtnBU{;heI`d+`V1H?2AcCU3p!I z9AFi6;ZMK)PBtvBExzvs6GzZL)FJT4-kvVV4N>b2jCoQV2`V>c_B)p zD^H7w1Jcg1={*{6v;|XqsFGN)2a|hb@34U2uuwqJ<4-((`rMi3*5;_Fy*LMPRixOlSf<5+#@)E)|6;D0$ z)a1<6u01>R^0Qxm^Vq;}Z+}1L7GAk__4>^lZ=HF&ys84@Tru%cnAfbZ2YQb>oz#fZ zN$Jt5k7|7ByBGU=yrs?M+CFSCiK#2E3y}k;$Y@dNE*~r8C_CC*#2&jg7xW&?Eer?> z3&GsNRclr?wlwDzKR$;EG00_a(M?#@A@}TPw@@z^ERUh_03-U%vrk1t< ze%Rk5yY(2YBaCy&_F;I$<~rKhhewj$AUU)Hw$xF0~-DduUv~ad~iL@Id^5 zvB?o^6fbiNUw`X$U=Oy@sB5Tc?`W;8F309QYCRW5xKx|V+Sg3@0Ws3q!#g^5Fpb&Y z*UQgG8&3LhVb6k-L05(rCkLFdht=M^Z0IA%K*dKEL&)SnztFHS925G*FF*U%xl?78 z<+%lU*t}&5Ktr6qgir^>o%Z*7yhdg@uO&g>VlI9_Wt!$1sMbjfpx0 z7{l1c-xLA~A=t0k$KBU8&b1)L(Uqyi!vS~ECfJ1{MvY=q>w(6j?zET&dXF;P{wvTQ zdJj(e!x(#WM^kxqWm-M=xGJU(-;(W8dz{*@@}7sew_fV+Z!&jGPNsF0{6{!o(*f z@O-YYQ0eKBeKatwnOm}oGKGPBIjTY-(7mw-_=LeO?Ut1 zzxn0K(OJbk<(mo39WQos-Q@WC?n|0MQEa}09}y*+$g*t2M4)RobN z$pKFu&!y)zv$4f4UTkKFjVi>L!|YH`02E@l<0<-V0{p|m!vP~tJoWhC*g$MT?EdKe zV^gE!Gvhz&JJb6vS{B_}t#p{cH+dmv2k>(*?70Z=u2-19(0|?~xI5e~em%V|F0= zd(g*|nwg%OnRfE6*C!@M`})z>eDTV~TkqYz`|*dZ9qrSz)7g31z5zawOCzvvp)Us5 zg95R*LXE3?`}@O~2UZ|;APiI^qtnMh?*aCpW5~nR-?Jda(Uqyi!+|Ak+$-MUQcF11 zDo)~nInE`g*|6IO?X4i({Z(J{<4>%|mSHvZwV63tvxlb#hx-Nw54yRXzj)!3Pk(Xq z_N|KA>dwC2l(bZ6Gxx1r0hI|ydtskvy?2;&Hk-42fGt7}^(xitq+5jY2JdmXyRc{R z2&pTl3z7rwOJr%d9r&mnE6^_DfD-$grIo`w4ZD4?+&qZehlPblz~!l@p15-5!p!VU zZeiZR!QR2q{{8{%p@IE-&R@E4;^Z6ESjRrtkBNt&*g`|jCH0l%q|Vrb$k?hf(9R^v zf<1T(H3*ydxUgqIilZx2i-!YCJl)U`qIzL9RCRbslJm?6SI?9Ihi=ocQOkZB{i_e)#h3}Lh8!tg5HKv6Nhm;pzK?C;mY|>fBlP3e)(};X+cL{=brt$ z(907U83F7;e-C$SHus8G*rTQosbl~`^I{L?7An2Rg*^*W9$lGQL>vJ2Sei7-j{X+t z7c!h}G=Dhn&%A&=oLI;OS=hfP6jPKRc=&;#iNT!woaD5mqpu$spBd}!#+nMOBE53s z^4SY#W0GR)TI-Y25`u#L!>|e?D99I6e9&cNk3D7r3U%hk9#3{fvCZYeo<$_2uB}ptJ;FEhz?~LPD{oB52jxRiiUw#bqU%wr(Ds z8s)s^LGBfQ>+1E}*Dl?-l$@E8Q<&4%*~Zh51F@}!1tu3F4qjZQfq&lE)r0n* zYG(od9E_)rkC(5vm!FqwJ=cO1M^~m65eGcH*wbTwv9%)x7G+l|iQt5~aZ(`g1AWby zDY*9GwY`Hqd4>5YsmaraCMTw`i3a8tUcP?u-4AYExO%RrqPVf8X<&FTFeJz?2J2^HnG{AALbC=HCx^v_3@wukXmgbJuxP*9M4-FPn zNOzCcd+e}Brdi($dpyxyE%TaPYbq9^G`jM%m^k41J7EvoTmTTXxk53+`GJSl9)0ad zWp!mrYU0$)*vQxbma@CKow<1Wy}P$@Bzr+wVQWX*&Rx53wodrc2z4?S?he?aCsKcg z-h&g7)tU+y_ADkTb>(#-a=_E`chGyF4{?%DAm$c^0ejXyxE9(?Lvuq+e9XW|-_ZC# zS0DPCuiUuw&b!#N`C?4cfy2j-?2nGZSzbJkJ%G(F+;M4D3NdQzf#qI$52pjT^qz$% zh^{;>HV!QD_+79EkfGLdMMN&eh}ff#ufy7P%xlgq% z&7#VZy2g5p!G}eL2ZaW!HkY&B!#-zowJO$mVYgK03)sW04gFo~*cY3my7IfwIN*sk zm(%6Y&7&W+k^+lrF@;A)dU*Lf{p?fY(_>i2UR7Up{LN$7Mq`ls_gubq@$N_OUAcY< zea&6HT^-$>03OT>!e)mU?c&yBXtkMfG7*k**$gxshe0kpVux0lZtWW9T4<8!%Fkls zfQKj53$=h;kF@J5&jD{S3Vsw$pryoFfgB|F$4+2@AtCpzUeVm%goUKJ1vw{PKZ3*9 z5BB4nifh*{-+uSzxl3o0)05_o9d2rE#_%}xo)8?19EACVJRrx4JsRZ10!ZYfW_ttd zkv5l?hil)$#U`t+{4OjGxO;e+>$Etu4TGtBy1uJ1cHB*b;IH)4U}7L_eqoVe*!c9J zbq`L>PG#g~VQ%5^6LTZOeSJJ5=f;gIAN}G(U{6X$^6=;owoOHU5Bi#cI_RqAEINy0U9EL|bfnk4#HO=dqi+ z+c*F8n{S^zvpagn8f&$%+#T=f$@o6=V;OkECa20C;52RN1fD zUhlD{pzN9os|7pvxY}HcQ&e5KUSJ&X!1@HNo8ZYfw*DRsKF)vu7uDwCFgv?#&}|&} z(4!BRRaRu=WG18}jE)T+o}23F>A+gjyLWE9dt>^@Oi6Xw(btY9rX&R6G%uhrVXk zddsEYM|J!V9B`D4oMyxAmi_%hBO(xf&HZZ*&CRrRwWp*fPfd>=J$7hhY)JMF`{X}< zapTU-_|$}nL*oS{`R*R>OIIwz$z1I30s2Uri`XN_ks@Ml-z*ag=fNIyMcJ^&*M&Wc zN={vwU3eS-_NZ!Zcb^w~pl&GOQFl30G;C=&#^@hg|LEbvb7?u5`9-;}zj zd)|Hj&O3K*ow;-lYbx5i+d6vMd@;0zvvqJPAeAON>>&aP@F?t2%8i}gqZXKo-h*bM z3wsuxFuHQIs5tO>u}5YAnb-q8h1w5B%tIr?ffWxv{NRxzM-tPLV-sQy%}rrFS7$f+ znlD_wcBG|*xfz|k9SJG%{z3leoyLBLSdU@!8L2jx=soE4Mr6u-2KE3Y(L!|X znYyUt)RozV$ASMm_VD}~bl0HU7$^}MfxW~0SFc^u)7Q5rdjFn%yH31z_|V*BC&#(2 zzjO0He*GUe-@T63R(D@ld~%#$kYD8TrReX0mV<4406)-vRD%nxy3d0>UeYba{hGa9 zX9F%gadhQq5pm%2Vo!iKw-{q2+kOm)BQ;YMC zyt!)_$GNy~p$mH!k(9c!x)3>lW$bo6JuFzOR8v6iyaEw;~mR}GQe4y;eYAlRe zq3>nIs{0NdJyO$HzkTP{&hFNkx$%Kv>|1#0$|dyo-1*>6Z~wubgPmy^Nq&Jmmy~TT zHoMs6Bk?IXgEoahG}#hWs1Un#O@+*PWP1yPU0zGPeHLPQxbo!Uz+&M5rZroU26k>) zDw~&TOcEW0i@wyD7pE7p$rOmk@Q85S*F11P&cI1YOM%`qGSYWwcA|&#n$KQ1_s+Yw zPMv>d3u!qe#8x#_I>=$zZb8rPf7s8pyt~S?V zkx^GZ7bXWhIb+80LalcI0W_@8{t@s|(|i1}4js0LhzM+aao?(yqZ4BVMfsK0k3iR28hlfJ}3JDA8>g_43 zuE;IQedDdyM#cv*tc86G&!5HdfFJ$hW1Q3u?1_ol>*MDg#{M24P!Q%Qvai{4Sy2ae z=v}}?2cy=pLpgI{&mxgfS2hY2 z-*e^a<@Y~$@6zRq*}2)BU2P2wHGwj@2kW^oA({(G?b}??tgJ@n zGS7oO=x9bCldH|OP({*}uSLQEPajNdcC6q^>9E0%q4e-@WH!5G;~lh?pfE*7M&iEq zp$EDS_Uwt?S6NeW;*FyiWAEl38XtXh7v|`(BW2~KI5a0cJp~F$OTMO7e^I zj=g?#_Sj4}?j`Qqt|=O$;S#>Pemhx^N_N-?h)d!`b$c)S-4CJJ%7q8Ocmw#1~4!^dYwCx>L5>&}NC-2L>E^H(qL*|(>nx*S_N2ZaS8P+&+fI+`UK+x#9K zz18v=*yHMJUdUqU%G)B~0H+qRN%dLSgVvT65R7pyZnx}@S;}ZH-M4z>!0=FeS4VAQ z_2kSL&d6!&ZsWd%7jNFVefh@K+=9H`gWV-%g&|?VA>m;GLBO9N4055@8j-=^0^V5@ zQFbc=Dm(UTMjtdtc45yVkWNfjz2sSyg`na%5f)mx20YNd%|o1Ot~Zswy(l)3Na&_YMmR z@Dt-3$kv;5`9SG0Cim#Yqa0>;>T&kO5SYJ@x4*Z$k83^GVvtT(9v3VJym7!M>OI$L zNz04v8MJp~P)k-;@D&Y@3=Ihl3C1xKuycS4|J<(`Sh4n@2hpRPotIr%U2*KS!)SK( zaKGkv?%aI$gImX6KUQ5=J2*6ynURS(fzW%n1RmYZLH=rh9gQ}Qb2&^b^!K?Z_Q)AI zF6>#bGU>|L;^2U{H)iV@J2e}F?e>#rNw(b_p?>T$&SHJn?^xSk>W=3~US7~W6<~0X}1qTFUgo`n7 zc#C^9b7u~0pkdfe3+69t9Y|ZexV1F4w|D71i$gwLxm>s$@IkxA#2#e_*kDjg87e^P zlwxBgg__e0rN`L+A~ZbQC%|{vie-n7AFZjcOUXzb80j0E8tLhW-h;!~aU}Z(AHAQJ zncmpkSY1;U92zXxgY~3AJShh-W_C9#Wy|bV;xEY1kYlsJ)rCC^R~}tCTRa@_#KycK1kMGvFc^D+)atrf|%Zrb`b{N>x*466fcJ<~Js6N-;xmMdy zS6Nk_lo;#l?;WvpDS{ef?9yMYVgjfj1rD{tB1wzYfe60B9vXlj*SVw%S14UMTNE7N z?ifa0$MSI2bTqTLC#gB%hX^2s$e=D|!HMeVZw?Is_N;y6;m+Qk%$)4({G6$|$(h4g zONutvtvk1GzI*fhm2)^7@W_e7jm`C*K3*ZsDSkP*)}wDhC1__G`AnkBL1%9b9Y?Sq7zm9#Bt$Lc&7B z!Xj5Jt8Hw|FUl{eEEyi_#~vDe+(QHBbKU*;gZDmsFEKr-qqjXXCj&cnV17?vaIk7^ zsk^h@!zqRLYI9Lb!%-GKF1=@=ili%Fi-ZFno}61~wzu~%BG703zGxb6WK%>6M4*OHS7s8dSKAhK_`oP1VreT zS5Qc3_|nMG@KE&klvI?aXQhsg4`Q$Qg9ov1;iapW(cn69@4HPs;-LT zT!+TGd(q~){r)>2eEi~ZS=$dbOd`~188797MfmR5fSK|S#jUW z!^e&mmzOlQHXc4PH!(9lG=g&~Ft_lXJ2x=98M~>Dj1H%yCL@kW?4f~~&D?R7CnKZH zMZ+zdsm`cXUFg;3oFf``adTLU2uQ=}NbGKQVb3BGQdd?NBnOr(!RDh**n^=YR(zx7 zqnDF%sTU0TX0RwCC7=wAH8?y?rnfk zOGoR}^u(*1UV)OcZ23}ZJy;D7?80(Vb4izKUf~X~LE7_NLXHc27Ni)uGPMXf;Kf#cXK@#^q!A@ z`61>tW7c6qV_iW(PIyEJ*TM(md@gLG!96rI{QP$80UWvXo<%64t}HK54xnN4S=ht% zRhElgKG1tG(FfaTU>A)5?ED@W5`;NBIRChyBtJbf`Ow_>+|j9nTvPGJTd&`^eeLb@ zZ(-(7&%y5Yj+U_SAZR?;dxM+*1P5{lF`QE&L+b!J1wVFr4_jAuS`hl0+27;mYI7}6 zfpleS(Qv?<2R=CHJ>K5_UT_qR#{eGc99UMNhNA*~{n%B5h7+(SXz6{+0Y%j{)u&Fq zQBasWK0Wxx$)i0zSW|(%=1+h9$?-RiW#?xNjt$ne)cXbb1czaO-4Fde+&LB6kIe1C zn7swzY*w|DLxB%^ebBYU!dNRsx)_Lb@ ztbh;>R{3Ml90wv}jaFl8Q)xv>b$!*;+|=m!(AfAe_e{MGy$9XRRdtmOE%oWyX@Oy~ zcUVX;Hr`N5kHQ{As?)Jr1nZ3MAL5O#ucsdl^+BgI@W_Qd3sE3ld0I3a;B=XLUsfE@ z*dynXqNRm1)dRwC>O^qhng{MbdHPgtVNPRPZJq z-ObJQFFgNK9I1n;h7uH)qEwUOYNuCbI$H$XK0^;uDgDO}<%QIJJh17k zxAziHFLzHbI3flWueYZU$nt>k;vK_@c#8$FND0P^{ykL)1VSE+2X7w`4=VVGc)bt_ z2&3`BWJ<{ts8JUJBJaG!o8cdJxqQ@xy&plmia`hl%_P#%ApdsiFJ@H;7nMgc25Gq? zFFwdGvj}oPEG}UVQUKxfj7zOVR&+2irpFg3Hg+$ffaD#$vP5x7wj}};4XE~oo56YH zhp8YcIH~~jlmxJg|u^gnY{4v!Pg)2QkVp%_;U=Jl_OsddZVllF1 z4ICIZjjDGDD+!WT)h^Ky+boJN_IJj>Fc=mmX%ago;rN4MM1;g~2|sMne1=UC!yx!a zZp2_-APk1b(P4}k&0&$@Xm-WK9Vn?Ng5EPeGuGMN-rUmQ=62@7+aLYn?(3&stEee& zY^?3*Xj`^?84u?I_Mn>w4K5x^Dr4;Tz#b`huCmY>E>$_^itB2Ibo#$<17_R6)ba(;%dcOb&5x*$xZ{Glie znNzf}d{8}Qt`esVc>3dLSnOO&U{N!vd{A1fHr&ZXWC8>&}Jtqd~J6hrDvy6^faO z(hKrIs@P)oVkBZ%H%K?D7AHnAceY$8yHsAOhv2I+eqLVwo=Aem-x~&C#BBP>6nB4b z2ooL^$b0#DdZMZbN#F@2UW8sMtDmQjAC8~&RPA`62XYGkFm#~-!7zBV8aDb_nOWlj zFL(saf+l1;c!eYw%FEBgj7>#ojl|O@z|+?sT=Gyf_#g>C4|X#E|AlpeQ-~HD2OEs# zr@>E!vRS-Iu!pCa7VL1*K@1DI0U{|y1{YZto=6ngSH_P_17h)#GG)0bCL@DVQo?1T z7?Bo^#9Ig$WALK!^TbSF76j7a1)G;A7=m=Aa};8r%9~MZiK0cM#muHjJm?|0>QeOq zRRu!8*eI(1i3^!xg#?L+PQpQ_fH*;JjILZWGSW?nRlZDD`(Mc&Z*1h43rRU65WPKU zHDL$m@X+A!&}H{6udS~wuP(*8q@z_H077aUQur0ST2Q3k;n6dAu0tdjht7iH1qucW}Ziw6-j z6`7K3RynDYeAL0UMZHqk0}p}p1GPmJqukN`#JUKahoLa~v4o|*${iBQM}8k+@ExPk zq^gf7K*${*ZTgoQ$s|O$Sk(*x7YiI&T0$}fmxl6AKZ<6G5j~-{ijp9?1aA0v6E`IY ze9)7UHQSxBDk9B0q@IFLa!E13nerp-G?9zoppu|qUkPafrRJj_su~ytIu%^ohZTr;32(O%9O7HY0vC_e3<2K?nhu#*7nRIS*ENqDsnkCp)AF7>@cA z=jbz!;3bGPG7FFh02AQCS-lK{YOU~w#mtgGnedwl-3CC8iXt9V%!)P>+NCUj!9YG% zAFENs;LZ?|h?FrMj8qhV_{wq_o=q41NDKG3ArHk)!7z$~+6y%*?HTpmj9{K$jRp?b zgL#2CX#!tSpbkp&&;IZK>)rR>-MD1~hS|raMo+wPOxCfVyL{%#jZ5b)oxw5fWz`kk z{e4e-;VHjBY&joFwJ9*b8)NLBi9J}j#m}sWks?n?0O@BL8Q*-0n&b!;R&*tLegj$A$t?+}??y9CQYQ_j_)r8;l`!Uq@{y{^*i579mO&Ev4$6!RSrAzP z;}`=nhWDfv@esAdF1dvot-c@9PC|oGHJey*nNyUoXf+6l2-wUbE<)1r644QPDAN!! zDoY{>M)vsO6p|ID=({kBB5oJ}1S+VsQ`x>ypH%q_tF|WZh?4Q6N-$l5F3X6Xh2EUL82$N35+o~?Z`e^<*V;Q*Vu+vH{Q5)28j50d+q4 z)koN}IXX5fBRA{N;n}bJ;aAZH!A7eXB;(M!sY)rGN+X@sLS|VmmK#-B!5EYz9(f0g zDDD(CsxTs?aA!575vGtU+Q5$$j>L~4w$>jbD#{v-@dL(^x58Rbw61M!txG!y>a3TLcEv`J*y`U!j2ngDT<^gVTbjkQYHL zBDkYr3}gx}Rt`pKTt@tSB4-$_R5fx2A3_^{2zq7_(6f-LL(_t{60?OBiadV7j7%9B z6#7XC4KjtdYzpBnoS|nZA_^{4tv2em5k%^@$TCu7;R-$QLwsRf#WR>h2Nel@DVjki zC!k<<3yOg0qTuLLUG!sQjVYRShY{O6Ny5TT4+sW=z({#WSc!<~iaXPik0S(`Qbgu6 zD#c18fZ~JYu1JMytV&$CB$P3<%BI9X-YJ=2?9P`-zwMU@4SHndm6{RgBXe_>ue#5} z%k%p``u^bPV07GpyrR5guOAto8kM!AckaH6y~D6uD*Ah>YO9AwhyUq&-$kinA%}^&8Ssg{wCjuEpA&|6;DHH-f#3Z^H*h3j}xU^K77O=*_u!Me(%ON()BR{Jq z@E8eL-m>(h3?1pQ_k*|KhLKHsi>>~#b}}uivA&%r35Oh;iBg(OGfybxO~UH(;*%L% zTNKUm(IEY-#CBg7hE^n~cv#zD<}C>`azz+wB)EZ?jkGMGG)b^X4}zH&^}@`TV!J`1 z)DWHJ-`~O}l2cBZzILPr$;&w{)x1)W;QZEbQF*c4jo9FVIC(+Bv1N|H33)|qKvm-# z^M|;S#4!t4;MoO`2%}6Y84R< zbt5Y;v!tT{~cB8u)>Y0O4gqUQJLu{i3q65zh27*RKSHX+`k`g*FgW8W0OvN$hyD7H1PRwI* z4)vdPVWB%g+PsKp?~PfocbWgui5^{VZ2q16*j|}QDDg4e=kaeNMhhA}o0^`sNC_d& z#w*k+`NZ0BK$;f{dX+cl^b8l4J1T}!r@#<1T5Zw9uu=*V6L_RrkUU}!k}#{4S$p6? z`C)Ketbhc27{vk2LspXcDw*=;{0i>Qj#d`|50xqNj$gS*iDAc&Bm5}radx+J(HV5k zvgx9A8gM}R%uwM-iDoG*D*LQls!o~Es7giAX_u}OwZ>b+tL^8vVvk~l!=1xX%3!<* z!(72Z7}AMY9vO^-N<%|Wo_@2iwBY598)_PAW{=HaDSKBp)>NRg=Rf|}uUoUD5 z&-35!751~;Rm@gD&S_cRf<)>-_I?!cM()gP&O@Xn9%V%k#TJ`qCqK4VW}-@140q+< zDHnn(M(u=8VYN-HtRku7H;TYaMY$XKwNM2YXTu0hFc9+QuhuF~@jxCj??$=nwx{vI zMuI}5Eei~5W>&=@DVp)zTko+Zssl<`o9tQLKhrKmN&RLUheJAOI5}dE!b|Jj*$*Pp zOqEC-Z{z@xhLIyGjak7!kU1%_?;EeD{0*JTf`5Yv0b4^fb&M!~r?evlG1sJKfxFzIy|D z&zo<*S=U$#Z0a58u5YgU^4GqCZtCE$5Uk``IY?Aj-!L)9dTfN323(6iH}LfQFr@}pCk z-=h3G<${t;6~t1#tdgVbO0F$_w11mLa&07nP!=ZWh9Pt#ql!pW(oAr~9?>BLNTjz$ zb4=x3`hh?yFDnCdIq3o+wI=iqiNF?oJH7V)I2M2pbCI&~x z260ZsJ6AEq=fh9#)-+b*z^>kb-jZ$H1?J~&Fsx!pnXB|=@>Y>7&6ikk^J zs{CCYpKAkC_KPnSc$SM4r$w_eL0vCSRJTWVWmK@WfLg}hwi$uqU z7|0J*-I)+s;Uu>7!L$?t$)p3Fs9A}%Y{0^CACqIKRT8NRE|jTWSCbFwtwAc%Vfvtt z-zaDv?C6!D3x#1O4a_@?ezYWEc_kjG2iU8s)=&<1<(ZNDd1HGStP}9WBmgsy+9Km+ z1_DW232dDIQgv6o(_J|rh^2?T5?kaYNB!i9HOT0=kPcL`Ky_uXXM^wqQDm|GAH*JK zz_GXxdyo_8gMvM{2Se+H3sWu?#O`jXA4<^d-rnoMDU=;lPzp`@EHM}qTU=C%AkSj4 zzNVeEOOn&DBwsOmZ%*_Wc`@BB!)vyHpa&_dOVNfAD9$&MIs|t(A|tfmVpSGoGD6sX zSdlHP<`A;H)DR1cs?(Y(?O(YV6+)^7bbfhjf}+VBlA>OzvSg}cvwVwe3{+t`8P6a4 zPaz248J+wrp}h)@}lOp#@fc3zTty^{kMPZ?zLq3eajIU zSF}s4`VNa$fUJe7>}C$_eigS2Cr9jomIR?QFvT~;uV^*NaB!Aatb$tTSV6@TBQ%Y! z<%mc7l>AE7H0!16a0nx#11pVpYzvDT2qd^ z=}WqPG#U_rm~;L5ceNmf`LPGY=4}Ec`WH7o zUtU$dCu&bdP8!Z7ojW=sduUv~arwfPvvbF1503O>9IUdYyz5}+)a+ztZU(-oSYHtm z5`y^jWx$-dzJjWc4DBlo@H4PSXGvM0G(u5S7=Tc)=+dU;9+$=pZMla>duNBp*-%1? zHu?ID6zw8HJVxa(sI}HtRdMZdAuTey7}SFkJr1En_MO6!V8bZ-6%)*`#w)Pb2uT?Q zo#vw%A5fS_$6% z^Y_2kH`upr*OrW&^qBaVf|5cEWwrOTVc$ZT-*f5u#p}1OoH%*BrnzopVz{}zDLy$4 zcdWAb#-IHc4-b!JOP3)=?0`u40p!S3LnNrF`CYNckOIg8$W-#H%hs$Xj=xH9tap_7 zZ#A}Pb)`3om6Zk(jmdtFDb4$=gVO>@n`d5*qRlQv=cw%BF=zl8%AhvTI6?-KGpRLt z&a8D&azXvT6j`P^uYkgju6e57SkqGQV~ts*Yx)!#BnB!ymZ+GtX{ z6c3f!D~_`Mmv6n#UW|NZeBVn)4}{@@2t(E zuH*Nz7{DW(!q^rJx_rVTmj;K1;B1P%!Tz59-kiLwvdU5@J!x5KZJjL>Gh-O%k}-C6 zH2>m**<**Wa}P$^lhP8S)f6qM$9c)BlNwn9J$ea_s7Okoc@mCQ?Hk5+xO zIM^&^-t;fJ%ru06ovi!T8mZXsbk{*_7PFav817~4VwP0QVl{w=y-n8CmE9?Is{=BE zM^#gu(}nwIT~291-fcNjb^0FIWAi4+$5f=ch`Vlo+0v&po3&F}P{}m*z)nYws2CTL zWng;>bqvZ~1qbk8<%5n&RbuVaW-*Ig$vXubb=uO*vH7&pXsUAP@X{sX`T;z zm^-PRT!ABLS>w0n9kDsUCtb{ffL$5o!W6Bk3u9fD+1IKgz6%?A?CGLEMLKdS+M^SE6O10`r*HMn5+ZUpcVT~3AEmEx%JE~CD zXjSCO1)+?5BLx2lkD4Acl(-99j8LM!sCwopO(s?&d!s>x7UG$~4U9~Iw{TRL>WTGY zhJlMj3IF)K+0*P0xqbxG*le>04CdYWvXUon;mw2})_)ZOj@HuG3iEG{c)ZfmWotLg3QUcNjc zEIefCvPj5@UqB%C6)ZGBU4C`W4vr>@uCgi zV=l|Igi@78{D8)J#m$f-v(`f1t!XJ8Na`DNsV}BwewCF)g|g;lo&=R>ODrl~)n#Qc zU&Zbu{>EF2JC;y^Z@Q+EW;0Grp>rtnV`K9|8Z7ypFNi4*meiFuC0DQ`%Nhm{o7HGe z8c8}vA|G?BtP-Wo#*z#qNc?sL^T9D5lSrG#d;775wfa|f>s!N)1r^2z#H7qQ*l%~y z)lgfYofv?G-d3#tHc#_o9hM8FW9<5%_I?mQnp;}Y;dX(*9wHAQfv7+r2ndW^wiN3j zg2RHaPtV}UP;_ieV@ng}_h58AJu9QKrUJ8g21feECI<%wd)?eFU%&L;hj%VryI5FW zTv=P)(cRVCf3U2gJUK08Z`8iGPM?g4*#`}3`SN9 zXem|%aQuarP$>X|RN)8NQ43S?+5jc-r@Yz%7~%MXI4A;^N@GQl|MS>`QZN(_gD9)` zD<`Xq*iG!QRdkaRMjZTc3T1g`SebV+&8)k>lf@_zQ(tuEBq>psbNtRUX&3DoSuxE$ z<58Y_KhlN&EvhWM|;*56-qzS;&f4x@F^hkkzwj*)TqpK%>uHxs2FS>ObXc-Vgnw| zZF5S?60I4blOGvC`hBqn2`M>2IcnfhEhZbP-6JDT6xlndjN7~M$%!F`i`A#2JkJ-( z>R;JEE0nYEd%7434NCbQ2IYn7iSWt;QHS3k(^d{H$ELEI1fPehK{X)KW?{ z5y;Z@Y|X$u88z<=xD-2L*q1?3#Ed(L3UV;m{ zSSeCIRojY@+h5v+L6k_+X6H{ie6G91@cUp7anv-s{lDwjgR$PyEZqMN(x<>`~g!Z$%*1bm{Je2I3vy?}-_lSg*b`V(E&dZk}!!8OMq( z8~_*-7hPOh3{z26aUkvhHcTxlE!newUwTf)$i&dx(dn_VAvZVl^nCE~``D~GyD+c4 zyA#7=l{Hl`71fow1^JC_O=Z=kz@CHsJ?qvz4ER~Gaz#LJ2y%n*H1s`VcOL_Nte9ik zH5-{@%f-s?d`UqO4(OLs?2J9AH=2>G3ijB8SAZE6vBnELDoui)d|VQRvT73WsO>s9 zEXrMZ)_3J@yi%2z;BnVMB39=m?2sSu}GO&l#35BMt*?`2M zk66*_oR$nHFq9dCb6U<6I%nL-om2etg#AoE&U%l^5z$2%hx`iJ^U$mrt7+BUKiWn6 z(UEJ5)sM4Xd(#$YKh7?oQWL5IqVVm#v6|Q$RvUYxOG;Z1hpL)D8deq_>tN_T8nhfD zkpOJn;1VT+H#EC|J#fH2@Bp5OXPZqNR~7qAyIfG0Nbz}6j`w{6=J7ayBnkoWWF zpZm@~{g2kR*0#=0jAjjv4-Ad=A3TWjxh`BjfA!|oYwuiZYH!Ic%+D>zt*Wc;KG+Qq z>g?&Ps;_D3ZpD~aRZTgz8vEuq{|M_xB9<)+3JGB?moYE2tpp9_F1Vp6#a;0W)zpD= zs^Z#nbDk$>>_L$Lve6X>wz0nzCBqURbSMTBV5Cr_l_YOjAoyl;G>w-qnIT971LATZ zPuy%b_<>QG(yl6ZMh!MoM-nPRctiBKls8zk3u6F@4lE(fMx{aR;h>>-Q9vo03S7)u zWymAdJ{yFnfjh=-cNw9?4Mb4lIIEL;0~&@~41=lgf%l|SXcoIAMKzA8vET4&pOjhY zjj-%Wu=BtN@Eo54hrBqCMxp3!4556obM)~lusiD3jy;55I3uMFbPGa9oWFhkXkc! z5TS_CclNK^8=WGu1Q`%vkWJ&kD>Fan2jV{8G)8B%01c}+F7&sc!v+03kVTwB5gHMJ z1*2{rZh!jc-#mT(Eo@7;ZRggK^5PAfUcu?=(J@g8NeKl-1+{fGo3?B^5Fgv!*EKmi zJ~2Jk-HUbXciw;R)}7lIE?;bF;d0ZG%A$eMzTxqq+@f5Z*i}|hhSjGf6=hh4Iyx~t zK0W%yuRIIw2fG4=MMhx94vskn`l7)HJIDuR-~cQtXDUO;q9a>O{%B^tc5UCl+O-XT*nkY2P zBQ9M|5*wdYp(rf0q|bCfk<5ElDN@SSWqQ+3hPy;%dX|{YPboZ@fk=Tw?SMTFxo7f< zHl1I)DvmNW#mPvW{#8|!4F+v*$uTpV%7f5=>S$h?Hmk*qmcMX!<}=wYG%24ttPZGM z94xBV7)8MnW#n{}O+;}AD&X(}+~J5+4F3RM%Y{@dPli>I${_ssaNAXqtr%wxf!PwG zyBtf*SvAmc7zu9RqZbsOFsxILL^XF?;`Y@)`h$VNfq}vPmtKBx_wHTs@o{kpahbW< zsTpZG`MGFB0YF}P^_7^U0~t9P6O*HdkInTCV}8%g+wc71SHC=b>?Hrnrk8RGvSImu{_d{jU+lJ5 zI=GV`iN~&TJ9#l2Ajh^>Iznx+y)$zv0T9M8mf$vynW1bh#Dw31J=6@i(9+NqpwOrw z93GGhu^Kj2LB#{~6>-Nq8r&%Qf<0!PHbWVKS!qnG{F>4wOL!9m*U7!XBxLc|jn+nD_5yXN$DrJ*nhyTqoop)~?J#lPcc(A#> z8Tt*@nqm*b^6D})wJ;s1sI<7Sv?w7tKEEh0Gbf|2q2|i!$LwM zd~ud3I)H-E4K2#ALw+4(P&lA?Z}N-34mH5~igpo3L##wt=)!WcU1oWbp{5dShUSCMI`5Vse-~?%bg`%!>Uk6hlDHhDv{gnhGYs{(*yM&mb1Pr@jAO{ z7X~q+QWyc5HNK0AREQgdCn$lp5XoNzs3z4kT(0gzo1HX4rN7&@$w~zc6 znMYil>A@Ijk&6#v zLpjH(Gbj}vVgL$Bq|>E&GEcP38ZU=H$PIB_B_VmI7s=zik?7zKvWO5?RKQ!tjC=;* z7zDn;g|LbS8yTjOq_rh&0jOB*#29;{M1?&%?9{h)`tHP!t?{e6Q6v3D32mBL_`RUlAlWpR8;-1O`WCJVK7 zws&@Q)Ya8CH8-@kH~-PszX}D&!_zY~G#q;)V$Bx_)SQDIn28I7gE@u~iKX3gDXyEv zPDZMi%H6n287kzk3XzIdp^dsL(PJoy37=u@ZBdCzRpU)PB6X`+>Ue-U*4R`LqbymRVo0_y2(_0< zK+6dV#)5L7PH0#NHZDSy|KgXP-nMO1V^dvMS8LS%o!fV8E-o!O5F1liTv$|6l$)QM zk(s_HY9B_-_w3(`0rms&oYb6@p3u-(d-(7SCijd^;!NagH?9MIE?vEhjp93dJFuAs z8eA!v$=JmQ%`50Yma&l5-Re57mZCyjv*6kY~ee?m4gA0U) zM?_#03|&!*d=O4mP0k9#oB;GrK{FQ2g-EmQ2%}idkDroF7Wq7vTEwAxJbCa5&vWG7 z)QYM2oGXJa9K@6EfVL#gbO}A1`UiI7qY}$ zshq(sF+)Jje9@xfbci305`hXJ4=QGLCoe^=db{PTb z)pTTo#k7-fNFsV0amESwOeXU#C5imVw}iZBKGh}QXL(dqC=Mt)(_#{YJ8vA;$?gg; zpNFNPXA4Q-(HG}<%E2l?J4@MtHba^aiDDw3!A3C5j9qh=e&jMU$CSkoU+JG!OzsR% zkzjwlq6$KVgCmi5u+?nNsD_DzQHd#5Gvg{Dd|Py)$_01CjX%+QkZWegtkNnHpgIO%*x`#;E?&HPDLX$m zB_p}MxxTrr31@W;jSpcDLu}$)-&8j++z%{6WZiwenc0~*VlcljFE&1Ud~#%XY@nvL zy|lBcITsKd&y0BArs-V16F)_)Or&|?*V{vjNmA^C&KhtovBDh%&J^2k9- z1IoiNbR+-xhNaFs3LpTjTNxFks2WD0WFrH7D-j4Ch#cuL9Q4NsU_7&$gqgGvmMBHOcbfG79xISQ5okE zuyjY@0CY-V{)7+oYHqwA!1g_BKmS!E@F@bvN#>YbDh(+dV$JxO1TF9k0%+kQhbK@3 z5(8p3C}Dj>8w^Q{f26=mJo7{0kJ+RW3U}}bsK72=`= z;>y%uAzzy-ReoNC6g#&jqXfW2sZyIm_T@vsCgrEz7gfWN` zCLdQ;3Zk7KB5r}MznWwa2gd4Lp`R(E=3XUpEmkDTwM@~t^*BYyd@Qz?Y zqsM;fEb9?PiIrIZGW3mTd1MD7$DkDtiN_$bue%4%fad{saAaCIu8rrxd*O~Fjc|8c zvIOl}ob^r%eBzb2rYlzCgtiHxF@yH{&fHK`z`q+|ejd?E)1B(Sn&qcuJ#K5#C76c;gA4n=~sYPvi`& zz=bV`g;c|<wVWCexyeLD97qP;@^hGi)vEji;g?$$WC*f!p1D-uuM#>R6a>pYs zxPU)kEs7sAhgojUig zUA=z&x@Vqw;@^JsFJ%>l**R%g0E%k9anptaaj`FNcxC6F-I%tF9-XKI(OY+H(>=?; zo1eegK?G!_6+y-#OI812h%=ZU z&EQZDkzz>+B1dc?_#E<^?T;9sa4cOK9u^iHxfF*h1&4+PtyqBxU7`Fw1_gxU@PUA$felMI4mGIG~j`URzLK}1NiVDPeK5s^#7?_0GT5n{MEEHnsymM@FEZ&_q$V8F77&=o6|u2>$idew>t z)~<#f-`$lfSD?QkA~Fni5U_mtQc%8f^@>NHdh6)VG5ty#8u?eaBiS1w;3xo-V~YaUp=Y(?b#53FAMz?vtYdg2RTczV^U6``TQ ztJmDOcJ1m%9({2AV~;%g=);H&QQiN*s#R-Ot-62ZLl3Qac-;et1eCA7|GozwzJJ}i zhn{%yv2~9=jCj`EziRcGmFw3(x_Zs(HEUNr_V~I7AG&}21x& zpI-m)qlo#@`|n@#(8CWs`q=tat5-hw;M%92e*6p1KK;xWo_h4LN1lA@u`hq+*>#UT z1RDP6kH7YZfAj~>JoDtb^$)LkaP`CMAO89`zy92i8CF=r{iC8|xllhaJ@) zdF&CqdgQT(LCh0RuK&ZYfAuSW@WscTSciC?`r^~~KeXm6U;FYO|H&VJ;mcq6@>jp~ z)vtZ|i(mf2SHAkCul&K6)<3@PNhbZ&)6YEl_!H|v>Nmdmb$IyZpMCu={`$Xec=e?N zar?{43)?!Ivh&hw>#Fh#a`x@totPBY*j%5Ln+=26%4iG4#K)pj2MsP@3{Yajrj3A( zuHJ6o2CxDPwBi!u;f{R^KkhM`no|TOkZDD zZB0dLNc4;M+kf|ypZw@A{^HNS_3gj^?mz#J@BGuZ!HK{6>;L}4AASGdfBb`={p`p8 z`h)L%?|a|*(T{)dlb`?iTi^MIZ~qe_`Nx-Ee*XCvfBy2OmtT14`R8Bw*@lfTZQi=^ z+yD4?FTMQyORqftFaP@8fBF7*5gap}e)N-n`-gA+?Z5x{hf&dcH*eYa_uu-PfBeor zy!^`ZFTV8LbI)8-9n>4_=Hu_?)MufF=yw(T2ZcBUjB$jnSiOpM;Q zZ#zsvQcO*KMOJodd}4I;fxUb7ZU=3t$?+*kh$IPx1*)>MQqxl7(^BI~igV)Qqjv4u zf)S0H>XOuyIK-Koo1U5yo0*kTRFYRxnuiP)mts&Ov8XJ+qo=K~BtNe>x1qHTAEo@l z?5wQhvawL(;1%i<=s%)6(J( z9N3H0o0@Bq5@TWy?9I>1fS;=B@~Y~x+`O!;?DVqo;=1~3SW?rHii-0Q72-)rODHVP z-XFa?H9euGt^z^Y+8Z*n5~C07DlN}zZmtCx>FJ53<>(B}MAGHu#cAoug@w7z%?-7+ zl^Gc+_-t0!V3;L8CpQzXYU?V{1DaEqgKXv%WG1D=6&B~VcQ(~EROS_AFCkf%4+bhc4Tbu$nit19Zi+hrS09V9o;SIIceBpapv$e zSU!ZVrn*XOHB{43Jvlx8#+xV5{f(qMI$Mq%pBo+>fXFnr)b||hn3x>F9*rn}?2g~n z+cA6e(BMcvP6#S2$|ph<6;jK6&G}Lw5Fyc_4alR4)!)QR@c^6l$7N6_O$nO zx0O^Drsbs;l;@4jj`oioOwCQMs;_A4Xo3n|RbATLTG!N42YS$kMqTXf?W`y-j)~q| zUtd#NS`5?JSXWe(-`rH+*Vj{7Q93$0l$n`^LDb=)fg?v|(bgZI7%eL+j*X2O9UCq# zE!r0q-QL+bJUY5(|Ni*Iq?-Dw?3|>+qO8*L{Dj1)n!3`O+VZyc=DK=HdQ|kDqQX3E z;9FQ-v^REdVR=DCU3q3fWseLNWU zf*p;rNmeUf9ZTmR>t`BWM@woCM04VJG7kH zBXfuk4K8#vZ{E5Y%fgykn#Lx_p&r3e<|4KNnaZjvY8q-=I@++`Pj+5bLSkG^T}@JI zGSbY-&4T8%bI;D*d-s%AR+d*)b#!&+737z&V=1@35rW^Co1atHP>XcYZv+)8zc2^; zd{k7I7Zm4J)m37se^2!8oqKm=Q(PBRVk#yMRC_%BspTb2E#|i|}QF6g0Oq zz--yJ3Bm{jYHe@IFUUqY@Z(fg1Z0OO6%^$rq$VJhhNime>T&=vKEsD*r#idZq7Urf zxMgE}a{SgETR<4Lm&NSLw5(L@@_2Bd_dt9MXh=+sD=8~P65Drd$;!^i$Vx?=ShRv3 zx6-l_z)xveX-!=<4xQeyYe!r{d}dB2pgJuh<+-2#`~Ijs_^1>X=iw{z)8~Gim79sP zh!B4|DpOMI<{g_iZQGProQH4N{+PWr_0=_XRiI=qcACsg-MfD`)XGiUHomm+1+0hx z))tiJZ`-{!IyM?D?=9Q5yt?^S^HY?Vk(ri}g(+UtDx#zJX5?n<+_y71Be|iiap&Hh z+jnn=>YG=H4`*>bmISJ@^0JWejaxQ=hL<+H zl$e}|<~F1ZI`;Nm+c#}_b<^foladn3%KtyI?!!5<^|5)VDX zeY|$-YE4UBORA-+{&p(Una=mLb+@_Fk#6tkZW|dJDh~JMvgyX=h8j*`OG8(8s=lGN zyC>DqSX)z9HNQB^^}*iJ$x=_QyC>V-o@%XYtfeiPLZ-RBsj0QGFwnnNF;5S4rMv7l znwg&&EDl!H+{qU53+098j>cQnx4fif|9G#e_I6!k&G`5Tho-*1x~9Imw?AwC?tw-V zBX{a*9D~LCH+-|}=x8yY&vbOOf(oG0(9$?EZm)fdbovbOf7TrLB0%;C)~jeMq_Ot&MCtpiyBYD={l zptICFx;y-{v!{a_)S2#VX>a1UW%Frrgt8XB?PsWKs;42d3$t8?w$3){-J4IRx;r|$ z+MrP?-B}tPCh>;G`i{+1cAJ6fz|B_B(HwweDW1YySB2 zkG}f-uitw2&CT7Njh#)lGBrCrJ~_^z5vBR(^!%)SUP7?l!~NBb^%#7)u1OBi#?BUi z!*bbY)juM)Tr-JijtOK07{Fo}XEoot&Q>6etvjd0MbC zKhU?dx^nN~gQeAF)z~k+d{tAZ?&XE9E}q{zgBDuA{>9+$#ht_borArm_SRc9cXEBXx#hX~raJE%vIw}by`JyOjZcgg zOG7F;M-bebMhR6VljgQo?8lI~#aS4c$!9iqH+S~8ila&&I+oT~L3Mtpe{yy@ozKGi z`SN16FVE>*sjST|A!f3-kagtA%KA!a9DcX@=itatU30z7z>dBhn;L6iRf3NBN#8pM zJ1{SuO;fk_&Nh>Sh*)cx-gGwCyS=joJDk?#^~~Wx8#* zftN=oM_y!d^Y$&192D&AX|HXp@sTBDlu9i)2N0_(({-!*W=(ySErT%I91rb)%8S>Y z2W&9gj4?Jf%Gw;8Kr78ZO>Hf;jrHb8y(k0$V{IL6zKf+|OKWp|LyfXDA?HYGP}r^( zWN^Hg>g_g6)(Lw1#Ds+$Fq2~_sE}P=+}+z98tiXstRERE8sMO~G2gqiw&Yx3tVX<7 zf3I$?cJ_9_mG0i|ox|PyP+?|%nxGY<43~;9EmtUnMc}3ROuiQ~ffi-7%x++4aCv#D zw>N`AS30_ay;4PyPHjVVbGu_{3c*I^XWBd4mDO>K=)c@2R4(-QIj%-6?&RE5bE<7% zWT;$OnO>N=cI#SWYvcOn#`Nq=)tx)dtu46G)YA0QwHF(j>KB(6cnJdoeMxI##`4Hm zsjB*Rp+65MITPKPG*WL?-7F0DA=tW7-(VkG$6gqta2Psj0as1+j7YHB(A-1==|EF! z%S$g`b2tUlmK3gSsH4~e#X-1|%VqD>+-YoT;Mg4=9kQ}JW`K0(h#6yKps!dMofz%u z%?O9Uc3Wrb@W{~QOi1LoLct7K7ZjeOW7H6XJrZ|DAl6vVNHJs>bZx8;4iCaKWH7Ytu7R&_cKOAKo9G92ddye#qIK%v}ztV!PPhPI-OBKQr0h z`Q?RNA&;prjLiuOsg<4c+B7oPJ-Bwr&(DpIk4{hW%*$edd-pGu9q_SzlMhN3%1gYf!Qmn7!87K5|M5e}S6y3;?28AN z-k9jDYFP?L<%jrqeg;)o+tSu@coL3tR3gRC)B8Ze0muivMC93ATA>4XAvod1L3i%# z@4Ayr0JGsh0`q|$M@G3~>AUyts=RW7Eg&~%&bS6_Ph#>*YSbP9Imup~6sH#Xq&#Pk#<43&nA zMUUKB*w27&-??puBXmx9U1J>@re>$Wm3W7w21f?V>q}6iw!XezcB`?T8hTcVYg?-0 z<(oG&YqK&VFk>v35Yj!Ztt}%Xr9xkU8^^oit}~jOcWzfV)MauR@hpsKYHEO0jm?b` zQ|X?rp}~Q4Pj}Vr+dbVW87iE|1nV!RAQQP}vCA0_V`71hR*m~WK2B;=a}&>?qq7a@ z?jIdcX63ggJsKic0qHrEm5ufBi80(@ntX!A#RVmEJsg*O_UPo0FI8PvJ3LYXitdks zcI?cZ+8S(eR2D-w1TaRKfdS(?I5|Qdrx0(cmfKA1HXG2-;@GHBcXYIOc6AhnDCh8< zx+-oB03dp%Ayj~%oI(;b?X-4w&@Rfu;>m~t;}~XYpRm{zR{JZYLD=o;DhhAICe?L< zDeM7DuAm(FxsypYwl-6k^{tKPuf5dNW}?e+2euFPI=Z{A-@c)I2a7tpI=Ow>e2&Hf z0V*9;fEp$L=vv!Du8C#pLvq+fFaejMxXIy6{8S5CWK5#@Ds6F0U?~U7oh3 zTI-wZ;DHG>lTDA0kFm4iQHS4$-w$3U@&ckKIlfFHUZ$pN{Xz&BzffKjWf&9~ z)0&~lK*)B892;8dXQeds&Lnf0p zy8@o3w#Ia>Cq!!PjWi+pXQ`f)KyqScjQ<2*M<>Qx+uOKVOsqIMLU6Q>;jlGBptMb` z&18xI-5~&M=tYnI+CRjfUiDAnFlyRD72S^~BkpW%_92UMd6^@{6*f}C^dMx#UKoQ> zJ|6K;J)%J`ak4dDGgvOyYxM;(0G`&?W*baLxHijkckiD*d+U|MGyB+~&Tszk8>?NL z+Z({QoPHL^iUw_TWj0tiu7hb*5*c3+i z-PufsNu{fkS->0SrB28r)D4Z8WTh<3%JZ{Y!274Ky%K?eYU7P06QDA)a`4R7rSajp z#Tg(}u%0qIeSUW4o2wKhIXO4eQ^?IOFR}@msGZZxyC)atH3U8}HnX&l9~#&{K16`- z$e+2Onb>#tcl8B+^d&drlr)JsrfF#d0@+XEm5Q8mj}U2fT@3~sxb_WDYkn~9?hIt= z-`uT8_DSdM9&XD*neF5fg6e_c(lEe7s!{JB?hDPpk6f24Rvn3bdTv_SB^Hp(kl5w5 zIDDWp6_Nqch_YEB-juk^_lTs{)>l^7%Bil7o^+SgC)K7kC^2@E89FHfb-;EPY0c#1 z1pLNB;}WK~ceTN=;>b{2Ta(2S=RkuhAd1PvITH|F73=}vFZBd z*H?~CPc9zbfBl`exL$q3gFLPWj~?voY*{AYzJjoj)qsZLsr6N!gscpWz%#J4v$rFt zF-l+~G@DyqG$SGt;d0iD1HIfGh8PtYbRr*17>bekO(uRD4OR6ZZt&^+ktC~Uv=1t5_U%hn$sg<2AQLia#j_Sz=aHMCag*iMVOmegD$aRv( zdwn4uk=*QHwPVGJ*>PIKOEB@kq1DPN3qUz`;;Vc7@RUZ3kqm>m^yf+w0VH@8UTE(@ zh-DzG!7$xyAX>mEBjr{ierIP}S!h>pijDFTc%d+WP6-Fj@1ErgIqR!3Rn|VnCPs!z z1NQI2U?1rdiO6iO$5N-|203ePyk2k&9MYi3ZEmX`5eb<{UWP^j*J20MdHL2g$(zd7 zn)Ugvbf-{GWG@9Qd%;_(Z*IUYI!I(V;|Gqh47Lc*sIzhTCv7zmCMG2i3m565?!+MM zKmi96H0$ebXk@_qx6LHT(+H-a5ZItOng||38qZ24Qf)@;Phf_P;%#KRj#5cZ(}Nar z&Bugp$jVBnjnAF>+83{1b4r7Y2&QI%?Dp0dUVL5-iARN{(hr;}z0={*(Gncu0Ewhb z$!tQuIB6`jcXfSDb`8huWZc?Xw}#cAw4tquZrElGQ^l>8J!TeWxLI~x|bA9bpJx&_C&3u-#rM@E%bKhpeulHgA<)TCus#@&+ZD zUYHsv_H|`Cr9V?W-NU7lHG{!YUwc=p2zPOH-jveW-HCWCA`U!^n5SjjfTjjcJ!A}A zCkQ;pEA-&G8~pZH&$`ni?N+9G)0`e5t>sJ7F$!(^6BEF2x4FnP@R>J3A6SPeousts zp8ny%v%6<)?XCE4rUgQ9!+r?P8Lm3F(C5i(kFH$#;ZJ|~*}s1F_V?b}+SxojIs_`5 z5?LRb%XD-rn{3G)x4_2vy$ii@6qvqo_~rpv{MwUvT3eY&d;%)=*1K=N@$TE`MGkkt zZ7!k?y&h+mu4oXqG=(vSr3+2D!WX6W8pjydElI3xthIKw`J7#zbAZJi7CBiMxuF&# zWAr4+1YkJWLM{16z-{JRTw3tW*@iK=VniC(vQEv@8{1nbAq|o@$M7&DD^&~4F3rfY zj82XslIdUwkz$4K=>1SA$sR(pl4Yg`R5Bc3l7eu#^%Wt?G~fg0JZKU!oDdjJOX=|*eN}f9*v~bAoMlIGQ4WL@1`|?=^#Q zf(rwMso5DSjUEO{m#o>K(5&mXZ=n{806cOO?3K@P>(^g~rf@ zk`OnxOA*kzY+t&AC!Fp8QT$qKaP*l22hV(@-7$QAX;Ib%(`1KnRmL18#)z@(iyQ$D z?$JpXCE;2-+X)&2VLaCyT1eHn$DKw&$NcszL1>3*yAlNoO?79+WAcEUIH(YR5uf>& zJ_0Ujyn*2%*mLpV?CG<|_Z~Yl^^-3?{q?{7+PU%qO{ymn0p(<}wX=0{b}}Q6yuIoD z6@I+xDCcCNau1UQ5+O30o8fANHM*WI292o*kuccU-S)${-9V}=9%%-OYS8)Q)u#}M z&N5~97y&$B<%Z=>`bASLF|2J=@&o-k@>#H0* zV8aj7CiuixQyRqtetM+Kgb$+P&JfhjF3Pw}TJo4s8a6e0a7?L7R>cKDv?)2f@sP6( zugh^UtiZ8Ekz^Jwam;j1(4?*UQva?nEI)Wo>n!uaL`T z%1eu3QcoNUEQ%tt7KRDX<;9n;iWc?7MJFS7`axc_Ptw_BjDdxIZcyIxfK?K_!d|## z_>2QW2$ZDnxeJy;NSt(dGddEyi_y#>dgM~@T|gAJ3-f(ryN(Q5uEIyZY=Vf*Hd2h1 zc(lMW>XYJrsi57x9qmVRiMaB@)fWV7CSx`s2b$^aX>79eCO1=*WhN#9r6F=QGmEpB zW*NwumqZZ+wT!s6yG3NzZ@nxCqJdpqDF#YvAP@tkOUaQkSaSph3MGsMNK*qXvuU(3 zZX%W|GC&&QI`!~RI?R+h<(WD=EJwl{Ga;WC=G8P-13d9^w$Llq8y*>MPqkx$MFLK? zB`w7Z0Pjv+wE|X_g-d3+TX(92B}Zq+R#dI}Spoy7^b=r1FREyy2;lDcK_~GCXAH+b zWhw?r!zLEX!IpR1lI`f=!~{ahJ`qQai$&wPq0w_KkP&$isAfru&rLmea<4vnYB`uR zEobi^@4xx(>t2&%i|CarzyA8G-~9gT_rCu<86AzW8*}#I=`j^RsrBCQy}l|X!x=K) zyW!;S8E)wWA+Ve2GwZ-tA$56)4k9Pep3RWFfl@ataXtPMW|+*3(iPYJfMg7aKwJkQ zZV)M!gR2y32wZm$Ktjo~mFcb3;`opy72V-q@O4It_Vf9wroazjdW4Q^fp)O(=<%?4+;!bK zY$hj@{oLXl+bWKPymmw#nq_nZf(({tQ0N3>KJxg;qnH}UJ@;$S5Xg`n;Fxil+O2~6 z;h*%#;sTx0h=0n2Iq(EAgbdC-jw%DkIxJFN<9;l?U2})9Hg~p-S2o$K6DF`kYPem~ zP=}?eA#`ne3tn+)xT~vECU+>T2Za17rvZgb(9S+{c~e^hC*NTEhYOiJY-pL8ov|v1 zw{C_OLxLf!E-%46Q{CL+!eFUr)acZs8F6H66r5ubO%%oJR8j#FB%XPHN00UYzT9A* z{dISzic3u825v6s!MzEjw#UIaHdOxz|pzo3@h?XHP`Zv5e7TU|A2r&67kTsN&_Pft|akkFIjqhm62WLDTBLjz{4*7%s)4P0_L zB%EM?kkBHzf|zbDY?{wqr+TWnj!&Fcv6Shueri2KTrUa}txNEbxR&`kY!LHbzWy?v zvrsbz!>nzvwph=}7@HaaU9v2*i{?_(NP$mGVVEAt(itkp8)Ko;!5A(+q7RRrK6X#^ z%ur6RbVqrZIU$-rbYbrGtVT@o9`RcvctQhRH2Z1X>X<2r#|9?NLQCc4!_$MOYK))U zySzBNa^?FUy#Mj%pZ)xc&xu!*#!9Gdu-cg^5JDP$QxO-)Mh8y82 zeR|3d2t+K51AAx$k`d@}IAE}J_XB?cPL@Xc= z8{BK9T{6Y%tEL(RC}vX~FH74$SQs4WSBuIbd4!T=+zV_+hP2#`Ti29~9-kf=uRV)Q z0Y8xn-f#v_{FdFJJX|YmCp8I@JM~pg-Sl7p*W$2R-GRYAMGZUqA>GJ1BN`TFf~P80 z-`cGb=Cis8n33!az($h7a2*li-TRk#WhGy5Cwzk((z0V?qbjUbf(w(Ong`v_m%?y@ z;0G8c&cGgIJhUx40oMpcf(P>_?2$90fgutvhH6aZl-I7kV1+3W?1gr910`9?|~fp?q5`CQhwsf<;c10f<=%kP_c#Gc?> z{)Cy}HfIR^7$S{8U9l);EnM{5=KmYv8Uo4fEDw`Fa2h+z|bEicsMn*{~ATyFOMh-zyM!3m7 z*ox1C#}BDLaF^y`=z7-e8*jgfOe52XzcSo+zWXkN(3)`&g{IsIKPV2#i^9x^+LZ7Q zc*FSaUrGW6b4eBtQB@inP3P0A8)f;~gl%hxq{}#m2S7rbIwESs=o*ol(u)tRai<@w zEd+6!YtpRIv$gi2+FsFP$wJl1{?x+sKRo}f&HXKPGrAUU(mslV1IC5xeuD~d3)ZpL z8Z{?*c(jQ9dxr-}`DdslT3T6BDx@ak;P@bnA}I`_+5$J!G8!YIBgjS-h8sH}Qvp?l zI;v}^#}>S${_>I@aX*N~I^%M`r;L|?SPbOG3O0c}{3H|?ArJ+j8b1DtV;Ug~&!XR) zpwgZGVv#Pun+FXoDwGGcOoF;l3xa9fehD!Cq5zXR%YniY>qq&%?D@UB$LGf*lcRzu zU3)KlS6D0?$L~veHbcVvv%!n>5%XJAM zS7^0SqaVloH7X~LVUFMQP5l#xTku$#Ai$0&a!T?9YW)R16@?{mz3GINxX4gI2#`P;ahYJ?5QxNJH?s!!Bg7T4ATnV3J@4Gh}%AENbW(B2*hD%>iq9e+J zLz-f&z9Tb2@TiVwZAJU;p+T%RVwJ#Mrd2!qTYE5Qkoc~@G$5(Bcf6+xp*tI@>C8je z&&@VtAvLNVqtvg#!f6`@?2H6swqY>w&aTwRXwlXl8Jf!GYM7|no76!Y9V9S(GSQ&n zgJFTjOpJ zgrbUGgI+!Q_+f?_9UnENiAwYS1_VyO}PwpQ26b||K^GMf$Az8tINV_^cE z;LsomLZH(=0jOgupXfk^4N8d5swM5lHzfJdH`HgllN}UFF~vK0!dxt=&?~XFesA2m zp=HDOSL2EbsalWsAb~r(6w1gr%_a@;ok?SPt&Gn^gRzL$MZlHBTf%Kk`H%?FV;8_c zt!Az2;uukq7thQ$;MW3+lqj0C#ddLq{#ceG!DO21R*6iVEVRkP(e0z-!>dVKrB*V2O}oaN4rj%-+GCHEt@0fjWwL21An%gP_{S4e(6g zXdMc}Y&k>*!3Uu#ev=3`8jgWLDSoP;51&;j*}<|G&d_+6U=P3N%U}QMvoC+~;YUAX z=x{=*uU6Tao*5Za)_~vaIL0_2#1(qsBfhlACk`Jom4I$uGwH{W2O3cg6MuTux zXh66{P)r1Zqm%*JCgukMV4e|-SsNc7R71)SoR}E1_-yOKx`q8M`H2yZs6?Koh{6nq zPLCV92F-%{b)B}NlRfbXK#qT+4UhHZpS;$^)rEub0>#DBsAAP_$sT8u3=S1)YHwFI zY}PE>0>;}H6sR#%D;;tnN%5X$qnBVHhlhI>q@dUF$r0Zh!HbKt>+8!l*Yx#g?cuLf zRu}|hA{+!D53(9NGU&J;SfN2Ng0;D2Rbg!{7Q$4oS>PiG_XMjtI!Mqo?CZ5)0r`kA zRD^^Y-d0s6p}O4QlF|cuXRs!usEOEu{{-ZsPEB&(e(u|BMRv!+7Mj)Zs~07v>$h%b z**!i{!OeLDl*~narpbl!ob(uYw(@UNZ+mCU!u)ioRP1Ww2KlSH3`aVd&aL|l4G#^E zDaY@zQC!8h)gpV}hKKt0j`r1!nW0gLX6_DmL6!nbTRUZ?`z9tzwi8^xeN$SCq0{c@ z=b^B@GwgID9kEhciNED~mAp_npG~srVaW-YsTRU*`|`o3I?_a5?KXQb!M-7Bgs@3K z9iTPyfJO_mw1OGY8Lq7%Ga7QiJs;>|6$}Bik&}1x=5_i&Ie|Cx;-t!`I*U)v#yqT% zh=r0gbs*ECzFi)4gMHW-Z2Gvdv}$AI8eakFrsdvy}Q)}D@J24kmlOWmxvD zAKa;Ij?*)<2r-08liXj6Tu)!Mo%G=qdr5!x%isR%Yi~WfynpZH?9@~T0L(YxxfxaO zhoFTu8#L_k&47qVpJC|y|LIAv&Vl!oV9KAgz$UDVS)3QJKvl-UH`b0e@fh1^H+~z6 z@930h&``7wpGfuY){aExgjiGt*lyuFcgiL1|-B0$>H?)Yi~T$HLqJL zoE4&h${21$P|actEyF6A^rba~&B(e-{`0YpPfsrIU6@K++LU(oD&ey+UP403)l3i$ z!5%4IBxRGRHC|-1NT0)#L*?~*`#b!zj!qjYRN*w)L1yjDmR+0VXXYl&e+&zSQIbR| zHhJONOY$79Xo`XZW|Oh}gfy#K=}_1<6xJgM*|Xducb=S|ICauL9UEc=XM1l;e(v_2 z+vYqgM5cL846h!OS&smL%4h*XqZz}o*A*Eo_nYL**&hL(7Mly*I(-G%L+3KeF|~;cB7WYEO6Mr;kXGi zeOGs<(j__KiMbhFXj9{K036OsflN+N*v_u@g5V-AS((FglcjjmZA8g8vI)mRPjhR7 z^y|h}1%R=BD_lloEIcj#D~~GFQO!(Q@M=i*3Frt2iDh26_Ci%%6;`kn^Rdcn3rXA7 z4U>8!B(X3ZVV55PeI0vlRgP1Vve}`PX{vpZp@BVBcfu|O?kShcMLh;ROtR|A{OtQv zVj6T{d{k3()ePyI!z6DmIHFPh#3&5EsX(=S225~pmQh9M`WSAj98c#tuVM)B- zrU*N{=!tKOs?c4o(V?VP;4N#L^T|cg1Twhe&21JChvl@I+nf3Nc3>+<6wr~N;7eZ$ zgQNxQoJOsUJr?!c&&S1i1N^%mgZZF^AV3{v#;J)d`+<0RW$aOt8JZ#pqc*=WTMH7- zQ~|@15+PqZJpy~)e(#O@4=%1;`QRt-|MIuL{FhHZoSdIlTS&)QrzDLTny(Xm1s8!3 zvG5__5D@n#x~Z^c%jTo$NoEb1+&}{6b%_Ke3reIFM=!3ej9Fk(J2_esRZ(!a!7WXZ zHaSaJ`zKqm;-ekEHKlz6B_G@4Nx;1R`de@K(}H*Xl$SD0A^T^6^$_K z@9ngtY=J2urE6dFV$;vDTFf^Z)mL0 z2Rligf>2xc!&)tSR%N3!gHlj1Y34wf$}}vu3x=q9xsnR_Y2zR=3>^4T=UHS|)&jDw ztr&HXq>wt(V_`@>)Ix?+5v+^iGmc>qNakaiu4ExMcPfkg`NXf{wV3$XM8Bd@3!9d# zhX6fNpxR_dMQkzsM)RYKJl0$G^F?9ecjG{zw7B^C~X@u!ev1m!V z`+KGl8A)s*7b_Z6LLn$b5e`cTaWD8r9D9o_lT+h-%3MCjWRpa8<~uJu7vT+iQ5Y#f zHiFH;tsU)7teac5*i_0Cp3Dab<_;0tGe(4FO=^f{pEU=V_KR7z@6yYj`wd@R33XGN_^Q+8p_ZJi>%dMp%x$1nQ5V+t)9Ckr?FU`S8gij!~>%bbbzFY z4Ez`f%CQSqiG!m|yENjTZZk&q<)5NUp#t|;y;`X3Ddfe27?{q>Ijz3&&NHW`T!wcd zfAaH>KK%5I(#OO>hOzT-TtB+VqHCwAqu-iqU`v`_sE2djt)J;Gf#@l*T>f z9$b%;pT|AxJL;4nAZ&Bb3c_qin2r=x7qNTcGEqw!np2(Xu(fBWN|9L*on`~_Rn`D1 zchD8ArWCZ**nMojvS@D$roH0gb>y+~h*-Evvlw(`Yju6S?2Mnf`a5IeBafdvW+IkI zqBD;qz)3sM99bF_p9P?tEs`C!L}$W$4-!}ds75pL@FB9@pV*?-{D3_aEpZNPjkdig z?EHcmctzt7&+kO!q|exXaV z*i4<7oi??D4H&~H5sn8?2d8~&T<8aHa9y)50z$Wusw@0qg7Qx!VWBh?fooZt92acB z0NTn4!&-mx2upHZvxvT$}WzTpoq0-?(4?ZrZIv>G(ZI#Z5LO|(9!T^aw(ur1;l!nII&@e z>#)8V$_HFQCw(ymD%WsqkL_dK-FE-CbUO#iK_3Hs(wDwvl^BOdXo2zKFhM|5-!EK! z5y5yxYyRoEZ~HbV@-iYy;Ui!XJG){;?#H(%2%^yxaYy3OPY@UjBz%a{6(Z(jNKq)j z&lIv|U#=cI_||j(Xq`piV2nz4L4|%zN|=lZ9wZUtB1fD@t#9I{c=-ng!Njl<6dPPPaq&e0iS+>nT?ok?rV01=}@*54%kyB+lPZlcXppN~TR-vtY z$c_*S^)`0BaL_@rncE6KF9*ilsjk9axtXvGKJK`wwTM9G9JO=YT)vCg#{iv7B8rzy zRA#A7!@(u|Bu8T;O2p$T&if|?kTmd5G-IQC7>HeaoSwcg{6LQ(fM??Hp!WTfM66HQ zWntwG%o~nMAQK%NQiG+cy1J%n&@!U)){^p_1P;4t1xi?@Z;-DMQUDve&^QVmK-!V& z1UazB%7HnM>xQ>+df^A78J&jU5&9FSM0R0}ZgYhj8leXlDwvfqJWVNVcYKV2kKXr~|y)k#C zhVJoOrL%iBnrAfj}@~uvr8ZHhyH$w=ZLJ#<9ghJsDIk7&)|cB*AqgPGbP!JPgXK?7xvBVR-CS7><$=Iu0+0iM-Sqo7U70o zpopfV*{t?UckvP;9)MW5;#5Wpg3glj2(5!jxQ&6nqbPYZ%^hKyf;|+B4`(4g{_vgd z?P_lq6J>*ZlXWN$(jt1OYs@r8?fAey&EgvoB%3bm?v<%m@ZOouDTVH4L0IQ0LbocA zXmVIhW-@;VLhWeK{7HiB$apa){GOks8~E>8?SN#**nRi?ci;QL+ZPY+zWv>|)ireK`m;|zw8%U*IVtU-W|rX^x0aX@oy7pZdA4AK0_xmvmcbS)yW2EW1``SRig{o_ zhZ41(lIEeyoF`t6QKE}!qLhjF0X(9KYe$|`FeQf4xCh-It4)pD$|NVl1`i!+#9uip zY!S#|TPoeNQd!5R^^J3L?xJexDe@p3ePUR;4t=0D)h` zDtZrl<}D?(d@LipHt09(P(DjP#F@224t-2BdNAI<=+W>6?xV z1wRtFcDH#|L?7v`|V7o;8V)gPK}F$s1>(> z*7y@3G*VL?hO--`(5{dXPSPocjvj3ifd>8dR{^z?3)G{mZLUCE%h&X)vc0CD#GQES z9?Tb=0h{%mt*+j5b$zXMv94@}l1P2wu$Y21^bMF?yK0)M&+nZ{iPqHDc^07JHaQ}U zOc}ko&KOBBUh$1ELZMOU6w-!SabulHsX;d3pqAIAELv2;sp2k#$ZK?v9pAWllOQn7 z@ZE+dgVBi`DcZ;_PIQJ07YAAd5vxKhGt04jy)CXreVO0{T&O_8$0Wx z<8Zo`!-r{6`I)0!g!jkjh`T8s0o$lbm=l&>ggMSib0U)FTeA>x8-}h1n^%z`l)rUkAC{WPk#8>7oU9o<>!`K_K)`OKe{h-zOd{V z>O~7T6p)hYmIko{d?N5T2_cFqu_4k9R+S(S%R`rm1W+;sfAT?s8`uF1^EfpW{Zm-Z z6RnZSg*2YBUcgn81y$OosJgqBJPOzj^zXH6VrF_D;x!*z;xWgBw9uPZ7KXs#fKh9l;>BdHaY@cOFU2F^N@0Q(F7omqNree8*)R{`5Px{)?Q$~? zR+d2-9Ck2%uS4SO+H)N5cV7IqHFm0E!>BCU*6!B*$DuUCLK`{*kqW9*{O}RQINa8x z4oM{;R*NQR3*B=+*sw6FBEUziB*V^Q!$2{YdVx6g0rhAyeh}r=m#reOws6faQLJr2aA$uTpth&lOijvJ zF`T$90$OqxBq|ubcKxdA`_&DbqehI#5KO$Z-FlhCH2su@L4f)vA`^r{GHRB#ErmtQ zC?N5Aicm6&T0Cbp296k}=OP{R8^Xnk4+i2MW@t+cEy6~sWx+r-9*GBlf3wjv~$@5alo8>Fubn4uRxlo2kjgmXpA+!O{9ym0j;#B*XIGQl}1nIdN_DLUq9q1J*h zP~rDzfzz&K2!xXwx0(a1=r!LSpW!{FMuYV%Co|QmCsx<0@+`@lBSSBsg(pGW#6&>1 zs_)n*BLVKf5aozY!*F1`4G%m;b$!khlSgiBbUfLZWtS%J3u$e{XW|aMB(HwaHE5)1 zoMTc(ITW!tNVrfC0}YU2ad&VJ7(jZ1Vv*b|^?_1T1mqFyGBnrG<^&H3YsBLi*OSqE z+`d9y3xAPJoiTlMcIXIlRa2ajbgoPEB)Sg)ev%E8X~MCY5ca5&I>B<`0iKj4eeLnnOK*kv^Pm5G<;w5>@VgIw^1;`C_^r29B&%)V=o&^q{k(FdE-S6s!i+bk`s}f(q)ALIPq8fu+_+^VPa_HAxYyzfwlUgbgrO^rpu`iz8IZ( zp$%L7l@kCV{^{G_3WeDAHYXVxBaKXRoUw_-0uUA8C*!K)O6<2s36IBN8uHPA6RxoS zn1=wOj%F5x(Oev+bckUVP$bMr&gUA)+u^)gS>>p?2L$3CAV-@u2(AEl#@_9{U8Ng< ziZ;mv;F8Utd@RdwgoPW(_8`x!w~)5whXQEaV6lsG$#Xy*dS@n6^A3zD8X#vnKu$!! zp4b7=s4}G+&QrFF5y5Wbe&HT^A}7t@^gX)q|rw$8$T| zpPK>zoWWvVVu&hQtXI<+hs<+;^y^STMu{!xH%5L2Hlhs;SZYKZdQ|z5sE5VvaK?pb zMV1!LSf_U%P5F%mv$WQDRERY1K}V-7;?K>h+pGZgkd9pk8}J)bfBi+g959i7VU>?<{p zQs<~LE+5&I2#ts&h=h&Hm7R4!XtJV&if`e!e7XoR%+Ih>65lSibhj=%VjzJ<&OLH+ zW++Ou2_qxg>hQ*aKE-MyMgdQdy1rTd-uK^r^POk+ADnxo%s1bBbLGmP{`{vO{q)E0 zegEChzWDUr@4qYm&+oZ>cp)FRbGVau&LPvvlJrKTJQ!;06YUbe!7km0_&%)AIQW6F zY)^t|cYlXt@#K{!mY=laW{kA4U4Bb;kfUnM4Ztd!Hw!9)92SRP^?L2$y4a{cT zo??HrmHb%@H%sq+1BUYYic<^t1P8|l{6ketd`K{(m(bmwH|vDG9O7&bqKymf{JLjv zJfl$fgp2%V`m3Z0(3825dQiWpqF+cw0M)}|4%wqe4>)A*p;^>{7~Mum5ko{W&Vm%? z8+^Ns*;kJ69?foq%W&7Q0Z@gv* zG@VWvJG)=oSf!yL#LZ>~m9yQwJwU?f5JNQPes`iAdDa|(2c6}~YoCT%7U5CBY3x$= zp>bUDR5;mrdEU&eSu^hP+A?5}dcm>4BCEmOVM{j8BLWfy#~%tnRSh2l@rSjMj@Gck z4^9j+{Ki1E;bHtI?BTe$KYAF%;q?)w>fOU#JHn9Km9g8X6=Mm@kXaJ>8g<27=J4wgvw7b9MNGgAIV4OQ!+MCniD9+$U`xqDf=iU0|0V8#GVL?%7 ztc;*DJm9SZWj5;|(=?89d3JNJd4_s>igQVnl)R(8O;v)G53zqUHIUaED>@INsinbK zD6Mj4N2R|0#?wbnR1Tj0;uoJM*z>nkPeo9TV~Kmtw=0O0rdMAI}B{HA4ejnlqTSswE~x0Uc78ZUy_Ka__GHL4z` zBgDcjbU*AUwYXo`z5qBJ_sCX$(x zLn48&%9=!rw2T5G1}srA$Rs8O$E;^HE(z_I)Gs4&h|6F(?J{7=*&^XDt8?rx{ z`@%Co^S zWSecYrg0c4O`_lp4U#JyFJv29)C%fqAUGc|CV9`4zGyFo(+4;NKe)@m+aAc>tiGjd zcHvLd(w{Jy;ebO|Jc4O*NR`T(_d4`%t~m)PK?_3pyAT- zIM)IsdO=N$n9S*gzalKEZQOP5aYXud4^6jNMgsPQ@gXr=u)qT7m;J_+l<);IlDuMZ z6Aa0KF>H>#i1>tQl4vM2E9)Ik^sYzJ6AW^v$d-+|f?$k7uuezE!fvlpsc7}YsS(Zt zx0_I1z6c_$j1OrKkz3(({M6Z^wKdirpjEGs-coeIoz1aJ;g&0pV&+PpY;}o z@57$Zj05H~2&6{Xx#h-ne14=CR>BY9;o*tC*gec3R;c4ho&7>U#cOMAs3=UADxDZ79g{CE=rJCjDDPVRi+<*Qb9=n@~r z)&<<|9}Jt4+|T;$DyK*)h#?=z5*g83pO779?&Zp|u*DVi+7#Q7AR0ucNlYGvTcAyY z9UVt}I7Q3wK@|J5NQA3ofdlSw-M}4J;`A~?H#^};G=+YJ>55CB9u zbFVym`s~?LPS5-Ae;4NX@5&Wl|MBPlc>jYRzW4q2{^jF;dGnn&*}?Yy_R;B)B^X#@ zcOVS{XOs)2w9ll)Am}(|n^|oSv3gcscOaL=a4(>+DQwO`FS2;zY5R8$j}Kr2Q#ijD zD*b3HyR-zlwZCicl?-_Zsgg`0+W8ig9rnn?m^iTqjKV+S^6>+oC=P|9ysm%&Y+&wC z4N_{Kkl}=8u_P>J?d?zjztJxmqR1b9^r4+l?q_+XC4Z%26v6U@%tuh(bhmT@T{A<( z9sw2fqLt8ve!<{)T_Z#%GpnkQK^PYTcnP#DDwln2lGi8aj=rCoUz|HQ3IVj0I4NoO zfJ#AiDWY>b$+lITjMj1JyT=7Y{nevdBk9h-gjj`rxLb6glGanN+N zi{S-;OY?Svd;3+sUwNBD6}ljbG2$n!&>fpI-6~b_hB6+WIUe(MM0{?Gc%uXqa*LI~ z8$SC+wzEZ7DoW;ebZy}FC`sFJXhQNp^`nzOteg)z+CFdV6LU8@#H-`6K&=+X&NwK@ zpgC0;%TgqjfEF>CugKkUm@o&o`2;=~BB(^LVQNakW^ly1SYW#zeby?g5*6OcNEtBA za*_o~)yf*=L}DO?cfN{IvkUvq$jEhzq?W92R^9YZQIhD!O0j|SnPlK74^5^;mdV1d zy@X@t6Eg$62`?~gYlJrmdvipOCpKhZGCRU;j{t8AZ8*kKWUA^LYWfFwr3c|0%aLK6 zH$YWy=wrzQ!`6L@AtFTU<=?Z0FYPTVT?r$iT_Tv8D3D@!8?4 z&z`*c?6Kt2FMs((0zDCX{`R-O2)n-j!}q`c!yo+S>#yE?`z;NdddW?UWAcvL%|Jnp zZyHU({S^)|JJ9bScMvIy3NdBKshbqD=$Rn~-JF`>CBPn}(LoaP!v<637Z4}`p*@?w z!W$CiXPxQCfG8K$(2gGUVrfQq0ETg!Z?vgp>I1&f7IWVK$piz6ByX&UF&&!Aba;ud z*t0azxR?l7lE~JVMi>VLaa~_(n}CWt%?-RdVaD&a^ zSV|)jJToC}hRFIzm3P>KZJ1I-%!OaLrrse@%*5MM_FLN853em_E8zr&uGVxetaBMP zOVXY86&QuGm4QB~FRqdt0A@y5!e?lWNZBLekV5cR&KWjRC#3`pO(9ltvn3m*2JKjw zxXBdcH%P!MS!Unl4hM;S(r`AzCz~c-Dg|8}$$XH|Ieo<5fG2%fi zjVBXAT=I%;rNPpfV$q9^S_#Mwc5|K9taTbVGvTt+J+IH{>gh%y-46g`Ni=&@4Wffzy9^Vu;*`olkxfHcYpZ3Ok-FwB0k*3{o_4LxN=2&dj_PIMRtr%QFF|o5g@^{ zelvH?8jY6K&QUaLE;Q6o9K03NIYyuhcoQRj#E^#j$(aObx(35km#DMfC~+Mu(Qe{m z5L$D^pQI~r*Bp#^iK_&D79bYsp$DoNj;H*UNd4BhZ<7I)H#^-tV97Uzrp=l-r3t#i7eSi;9-}O^|)y#A%)enFxi+MHr5U8$!kye z*d{+A6}QH^$?o9}Pt~g)_$4e-V5{asBcQ_jCDh$b%uO_Rw2Ff?qNAAOF(*lipaj{5 z59$5JK%?_d7x~7jSr>VqIh|lu?C{7r>ZX_K$ag zkl%b1%|_KT1bRw~ojV}!b-U`83;`aRs%at?(S0owjeMo0T6SY1H;H1ni@^g(awN>u zOr_u#K5?5Ah*%8_zR1RUa59oCuu%}Mel@F2szrb7T6YoHSdz1rMCBFqa8ms+lPD2H zl{c;kA!!lE9lIc(22qXx_CzO@gye{&Kfkm*x3Rg#Or^o#jmj8LVI9A4Bc$087LyvFgjk^+*(s>N4>EqCb#09WItR_33^g;(0~L$QO+?UG($ zCAU9IkGq#?Wz1v0YSa&CL)6 zlF>M8Qi8Ihv!l(O&7{C-T)gHfY=#6x?S9>90q5M05)X2EKs*R>18wzJrsf8e*nr^? zcakmV1Cf4{n{%&to=f3%JN=0ZIxZ?S3Ow^yisLDa#5Uwn6XgqVMck)le?kv-YAwtt z%-56*Hgdf}xe$ybZ#K}HkI6urD4{Qqn`YU^#N#zOvzm-2;Ni;9Tz-%G4;Wy)Zq{{( zTfKF4b^^4pZ{I+OheS<8LvVuL@dLcC)M6%;3CCG1gySsO9ERWw&yw)jQ&cxf0Z4pU zB&}g3uDHQ)44GO1elPzD%MgzeQD^H&@&OxElOocWbybypS~xfkn-Ba(g{j3q_E zKDa@Y+J~M%xX5aGEbCC=AbQ*C9rt1fWU^0GgNDg^2$8cWM{MgEW+Ke8SHvXvO~)|} zh2%~mo!Rjg0~vXoQXK#AE~1I0JFNE+SO>tMXCgIaq@p zO0CK1cV@b#n2aJS2f6p|R?hC%|)m|6uo(SD$?IO~4!e4(})Adm{RL^VRRZ=K6?VAkZg2 z|5PW2LNW%yxM2@A>wN!UkL8)(thVtF*q^mub?P!oQf91&4aIYUmV>#`7_?C$!=La#J8sY{;ULeQT60k^@Dk)eWP*MD zjb|_yZ#+Vw$c;-eGEu~G-EHkVAYBQcWK!5VseR)jQrkJeq)^B|Y^)|Y%d*W>u^Y_ z8bfrXM;)Mz)Qi7Kg<72nOv7lC?PJlXk;47PUWUtii>BX^vbgzL%Gbu-= z)iu?5{TUro&ZUmgyN*;kBbe-v7gG(y4PUeQoD7h$6P8(pCMZf&?B_f<8*gyHs|d9z z=5jwGjg%lm8&3vvP?$JX{{ z`&n1kmQK%(E-ugRUY;DD?EmUlzXCje{o7w*kN;p#^8ddik(YcAzvR0=_#RWXPGrPp zM}+&avbKsheup{_vRz**Th>0$aL%r51T$qibO-aaqf?Lj;eOo-3c!Yux}r^gT5_Xj6!DhOl|gmZ)WR8pqI8%bG`a`}iTXjYZ1Q#yjH^4;qj zm5>>lo27v6!FIC|M;(?JETQlZ#2q}6`uaNS5!2J-jsXx{N>XaAHh_ zr(g=UAs*^z#}B&CdRUu?mEn5IhrSz*A8}h2KtiY9-H%%BvoMplra+*NN(#N$pQs~v zW1bXENH6hw_y=ZdAC5cz(@D{aT4MtwUprEYF;9(M$(}fx4+ZszIT9z*{g%^J3t0@M zDguA3z&c8zU$^0~DA*aB2M2rNO)DAx6f-FPWTQAHXfQ4mBHL50Ysa&|#*j7Zx6$d* z%#Q#(k8_&Y!-4$%6f$tOv%$-u0p)@+0P_3hNmaO!SH|L_DL@jYtZ>YGKfg*kJITl{ z@OSNYwSLZX!Xk39L?}@dO$JvnoC50_NjPj?@=s$S9T#z4%kiQ)%7zfH@#K93^4Bcj?&eWEg9ir9 zXwb_pebYfW;R>|1wjv%mxqHG-v!>>s7J2}vyq?^?b9*sqVL228f)n}<2B3n;2`|Ov z9D7zs#jF{L(Wn54(OE3_+YRo&cyNzi$QKiWBVp{WvR6Mzyf3mOw0Q(y-KiInS5726 z#CVp+^?_1CLMtpHHP1eO_4%;OzPoK_nN%imseyD{1Jv1tCUmk zI4G-?m8n^DQcq{Jj9~(HK?`iO*J*rQ9$Cq}V0q^B^hhYmZYUj%BLYx?tJ+~|XjT@8 z!{RAav2XPeY?pt=fG8;@6C69kVeNoA?3EQW3O7XKrWGW@De+G>XSOkXq69+v)ks)6 zOd4SX?qrVs%6#D#@S|N?W1VOt4lkOp5T;YUTG)l`c-?8Ql($2w!$K;L7As6pC}Fse zk|XP*eb2Hm&QMt2NzPCJRQ8sb%I;oX(0m{DE_F^%PHLM3An3H@hZ|7Ay1%5L>O0hO zU&K?^7L{&FEcm8-)(UMfpz4;-{L}2}D1MyLuOS#09D=e&fs6K*AH0Nnxo;sUGx|=&SNsFG)OL_fGVv;(HkrUc5`J*g=!&rS1XI=02!bcyex{gDjTc( z9=T>ax&HL0e~;MXJN}ofvH#aU!v8<{^keq-`a93Otlbemmya$uB|<}q3P&3sogXSs zFBS)+jno$O_2(8A8TY0XGe=Hj0e&od(L@?VmuV1`l>AWCjB3QvZtb7m4N01N5AHi| zpRx;oDw~_$C!0h=!`>yN+QZtJ42?A!W`_rW$0J}JJ86@njSrPY3((3-gs&r*p?#|f zLLrhgolr>?Jf0#4z6*K?Q`JD^u1E0IBN`8(rN!Q1wUqn1Fda^X19*zD>P&2CY2)ZD zL^saXCJGks9uQ?Xpo=#~wzLNFnH@KFHcT+X$tE4lx%coMJ+<(sFT^O@lesa`UR<10 zd7c=&;xudn z)ZL4d-u~XDjWRz>X}+zlj2=~Z#g3_ANCe9w6m5RZ->kl2p_5oGy$QzvGe-m`4F}Iz zk8dse=)yhnc9`!&Y8u2kcjAv>ddd%~9X+Zz8{nJ1_*MKBH>=(yTs}I^L~jZ4dLacU zg=5rDJ5m?=Wl6quig?54{ZJd+v#mwi$qQLcVq4ZT6nc1VrzkJko{b?s49?6(Og1Pf z%?TzByL69GW0Z~1 zg8Su@%nhPQK40+UX1#?uynqbj={uz`9As#R?)y#qG@@l~o?o1Kgxx!rfT+i&#_eH1 z3~r#op@o=3DV(%wQ5W`@Q@KiRK(huJkY4;#Qp#`Muh7+cq7@Cx#Uep-YD}K;GXRoB z8Hd#?_{gNYR@RqIJXSF%g3?r?QPt7b)~X}kl7QY1D`-?NQfPl6>@i!@AfrP7Xq3#5 zv2c=um$EdpH;JZaoL%5B-{d98XrrFN;GChSY{ifd?1{8eqg*b8`T*q+-G>Br2yBOpSK?tNZ14f3)uE+LyJapeb^@z7x z)~OqKA*AejR68c$VK4>P!U{*S87;4Pu4MoUG5i05RevN02)w;;nv+G zT1+^$g2OrSrh9aXhKLzbI5ZjkSmeQEi-@=QEHE64Ww)wts^h_V`8=@+{@baU)X;?Y z9`Q3`TnW`sOOtU!Ba{;v)Z4sdZH68y!Qfm5M@=bd!V_L5DCO72s>R5Y$ZZr-W;_gM zaSY^SWJ!vfFdBBL+Fvnc=R zsa&y%=`jwsT!9a`g%aG8)3aj^(A)3432b6~_1_Wbe`3$ylDzXD|M-6eGD@vpef|$6+%Gy})MQ12sEiXO z^&U`Rv}9U}IOkasfJ20=amXi7W&NH702~W6peo*mFnpk2JOfJY5q$7h|1>BwIy)1! zi+t&t+cf9~(srlOAR?8OwQI?uVC+$NURd41@ct{gf4+q?a?auM& zOtn4t;&+^K#a9>T(R$B@@GyCgoPS~zYF%-i0lCiOAq6795RLdN{;dZ2d;Y1c`2^LD%`eS<|!#@m0O|Y z%PHiC`|vETwaLI~O{b)Q2B{j25QK}&4uxU(GQ6swlJL+!wHzlpuAXU!8taiJ_>+NW z^4`?fc6@#)Z^s$+p%VN9D@|}nJ%vqMC+8;{JDbR3(|W-K@sv}G5zBvMs|5%M|SGc_0+3*@3r|y`Dc5V3Ct{ffjl~)#> zs`i(ppy%&pJ%5Lv|A{>=$6J2(vk#}HLm`esXn605M`CmioC;^Dde`Rhnfy^WKEhd^ zZlk$k3i81!S(X4@hx^|AzzGxtk+3`w}2^$=V?Vs#p0KZh`S`bHK zMz8ol$fmy7=15kk(4WA4MD3blk^BtpU<1DgoX`|@sUzK?2ZWG-36eT!A({e_s%+G( zu2mH2I#|D|i*Tq#$YZ*}gR2{>yk$d_ZTU4#ytk-w@-Er5LLVaZGpG+ouEXQ>>9 zkT`Py9t>S~W={QLsbn!Q<6O3Px3#sm$XBWNL%C$3K?wuZHc4x-7rmp_aClA>)ej9? zK~pGZ#f3ftKi<#!mX($N*V=u*=TV&v0^Wag_u3z`*XBz?LI?qZ!4>1)B)M0)N$#?G z@2`6Ak|kNaw^!Y;_nEO|2f|+D3t|}0J9Em@&vTyBOw&B=+3?&U`yCuR$b&FkA!>*b zP(XZ=M(~uNSmKRGE-nE2@YMiDBOIBc>3d=YxgOT7>+UbIp5DE8M4n5l6&wP0I(Y;#_Zf6y|HW&DO+WCgorf~8@ z%Ej!0yj%D0F%PFMoU=KQ#0a3Df;QQ_fs{+g<5{QHj+;J#P!-Gr!-I;rhmZuBHIfX$ zoUq|SQSgWgkfw)EGA~^Tt1{44+as_j&}_#EO3VWzGU!lLTBPlyos>z*@9CXf-8(Fx8DvDN32%qM_Zzh>emz)(pt%%oMpt|-SIcH1sv1|_!WdZ{j(F40Kukv*&xF$xh zZ{4~M1!h?J3O{}7q_DH7u{a!3sF7SDI5h!YOmkz$#<>J;we9>}@|M0~@XrLSfyw~L6((e)TwoIDHz!}`kq^OxF*=4zhNyUN!jVQX zn%i4tXQG${wcrW71VFLKo*ubHPP0wHUape0xuPlm^MC&@YSi7|izddZv{j5TlyMmD zq>RQ`FyL#L%zN>?Ej~bwP|%msML$TBIKGiDWD?$YsNhUBEN)ZgjG##cFWnqD1AOH{2tN)vyLIu}|4lbj&SIH~JTpZ>{d z7>^%2oxs9^5TT*005hw@Ts6ycbm&dAgFf=IA3ibgc;`IN2SG5)*qJE?G>JZucOt%Uw9bjY!2?z8qpMGMiRF?8@pF2b>#A@YLzPwm$74M(^ z@<+Bu+(k1k;_}%S&NvQMM;ZVqSy709Tx8V)G;KL3{D~2VqeEdutFK?bqK#4u?~QVK zu$J6m0yl16BY_|nycFvvSBgbdl7qZ2UcXSODLBjzZ^9A|OS;$|Etm=Bdi}yhY%N5n zCvM^?WdQ>mA)+*eQ2fYFf0>dN7BxvG&9&=SUS&Nq;BoE7<)_ad-@1L}!GnAA3-ggN zF^w>cq5u5vXSOGHdiDcD)wNZ|YmCc@BcDq-muRjltt>+-%{Kpld#TI7xzQ$>%Js}T z6xLSziYJ#Ym?UKFU`$2U94*m67W%3=wA#Vi84VRn?JNI@^U10?rqB6{7M9~PDx+fS7mHJD4Cwd`(P68}Ugu;zeVR$(Btt5Ns8=p`^aFfwR*h}h ztqdYLuT8Z#QR!YfEY7CbMLsR%(W8gyLr`dQAdv*B>omqve2>PjgN*>!&&R8 zrtgHE^gzOF$5scmB?CD_;yq;H2pyuT?_+qMrOVFF(v5QBCc!sdEkfjilrS|AZFeGU z1=yj(hrSjfkAfcv2rr#w<--UovDi6TpZ)bO_io=xH|OmBT_-$z^^ea}(=M3Z=L9Qb zE&^J#O*?=o|Mki5`5YQjGw~_0z7MBOIiSTLT19MhnXg3$xPEu~L{hQvS4J^@~APDVfFoY;HV_qUTU|CO)vKF+HmGV?h+&dz?Bc zhzUppiNpGq8!7?QF&b>_E0Vglm|B0m_~gQ7ATfva7rBWQKj%bY3GbHjw`t; zMz6PU=dN{vVb%biA_7&GOz&IkDr!ZWOsUoP`Q88h9rGYNQY#I=fI%KSs{#{!#T|Ys zv%!4AjMn(&HV$*wPy-G5@w`BiriCQ%ic%oFj1t)e*@Tg($48FO z*)}uCKf9}Kw6%`|YO=G`EBvNj?HGZH=U>ADUx3Gn7Y+L2tG|i!UAZnuWoB>YE%Su$ z-FmF0x_;U4)vb}I-bGGhf`SOO)7 zu4*)oiyVn#iE-QS%=n$!nK#o`w3HZ5u?$g)S2=v%4A~%(QHX*br~*i=j&eLpV}%K; zqhaG%L>qOTc5brHDThWm)QF-;e@6r&>eCZC^dTC!jkmE9OF&?SNk|#lM^A5}SfRZ^ zY-4R*r=`V4b985}Ar8@t1)PA89hjPyj$8^vPZR^HD%53)w3%S>V4@K*5-lubp0%!- zJ{n<{2DvWZFr_-o(cyz~2prsieJqXISu7nQOG{x#hl~aq2!p;V@P)KuC^}0I5)Wvr z1ft?iq*CTu+3@#~WTcDSkX|JyO4ZVkYAoPU1yPA2&fdIu&EHL7I|-E@lXE157tlX!3m+EG zTN{5-_wz4yw>4D~E~01_3Tt?yLoXph8Dpy6PQPtAo?f{Y8^Fdux!?p$FNL0FMCk#5 z8c-%h$POyl!IbMJ8tU2kUuG2R_hr3)VG_^v>z8fK%=QR3msi+`IqVCzZ$S24n4cIP zKmXbG#F;)$z90J;93I3{3+YUlWd?vi8xW?Uxsj-nFB-rg0a@=n)&Q%+z>aBtdJiY* zaRZrYn{jxHADAx8fgjWrCH!NwoYj#l76$~te_3J^MT+qR0GLndJrEyTBbf-G86!|6 z%Tx^J$AFQNQC+2Ug0Fk?b{PH@@Su(*WhF{xmUIk(q%=E;n!{9Rg7)#Fs$)16^)mZ~ zRr+C$@R7r?(^Q*(uc>Bb)h;_a#MXjZfYXtHCYMuaGHCb!NU!t4#O=6Y!#%?;uU@@S zJ{?6CxVW<)l+w5cGP+18Rzu%2+XDqr2N#2(txDicstBgYiyf$n zXx<>#sZiW!U;W)NHm7a+657tNcOoZW zT-%((qsI=J&3OL&86E@8wvflNUS&G9mGLS-jU;aiw1km84uCqK{j7sl9cgt5(&+6J?geT`dOnoZ*H&}tEz z&7crR5e9~o&CjLKl4;j@2GqqJ($J-F-peJgCX;BpBMBLi1q~<@y{G+}e=#0%#77B+ z=ln^Ig@BD{rfG+`sN&70Vm#bP8&bIT|~lMRb41ZBc@Vh$+}nf41H^>=PL!Nak8C)ux5vnA7Xmz2rF zvo@`vsX@F=mmPg{KlwC>269WQ7#^fnFL?wZXk83EpWl=$2Gv|L-n*HcMqX?bC5?q( z@RCKldoK0dt^2pnrCm66@iYq9F(dWz#b?hlxc8SV!+m(~=#hhtW&olE23v^?Rjbj$;BA4~b zXU?8+5P;L^zYZsOg!5~mU>uWmgr*Sl;|w0m*)I=#ook)oo!jR5ekXilHOuu>>jdp* z2RyXG4wD@?Pb4G+e(qdjis&xu>(Vn)DcF>WXu3s23pL1(p(S`xR$#-CnF)s3n06H7 z_7VsE6lQyznW2So0*Tg!VPJu*;Nw*|I*rK@Ruo*c!b|^12}A`=Oy*?KNqF=#tg%LU zon@BESI@>Yfq@zak7yhm6!{?beso0*fuujy5b?iLuHP|T`n1--!dcrA%4qtL^Qj#@ z!Qko4+LFh1#SA~@@)wB;+v6D|!dfY2d)%_lN9gQ|E*nxXOQ@k0)lgG3jDxRY2{2Ig zPqK5eo>(UF;)%8T>GyA6yPlSv^KxqX{f=N^ieO|gOcsm{h<*XK!7P8J^wRYx1asIQH&OUnbNN4Inh9L~=rO(UDgSBLd zGpu}^QMkG++Azg{ z6S{u!lnzkoQy3n15ng`G)oWMfO}m8vb-W0$X9^6y)Ddx90g6%S~B>slLvJ z*-bc{V=u-h^dhQx#_Tt%$=NU|h;Tv5T$LG)hQDbTW3*vm5#-I3}Z^!e{ z@_9+(uHU+*Mzo@fpZxg`#Fjnd{L>pQy}rq#rw=V6v!G0H+2TU8OqoMtH2O6lcgO>< znGoSU$?l}z!9Mnn{Mu~VL}@FYlx&8UVzE+N%Q3RD$t;l57f%26vp*j>dhmoO@U5$7 zQ_fv>l5dJwaImZq@Itdpg1u0}2rxb4%bq+hxPO(4@ZfQ}2XmZ_Qk^<;f(L-e+&FB_ zDaavpHyPmj_Xq$su@;bu%^PHG+{Pu!E6QhJXqZb3MivHuL^1h5g@qPIUr8+r1WD-I zUQIOuE0oXjk!OkVk$iI3SodQN0XldfObJN|^XN4rwj41F&2uV_+%&CTxFygWzSgeT zut#5sn?g=(=gvYXkl>-PP2f{6Uk)@BbbO&j${?sVl(qPa8+XM~CwHz3ou9hE2RdWg zCkLHLAh!$*f>=>Sn8SiEX9`%hb>)%`1C5uQJ#RL}cX!imvT&Q68(jOx!LUi~`P2*c z&;S+5F;aZz4ryUlPm8Vq7%zYq{Kb?Dk29>sxzFo;o%7mwQpOV}mZY0cXibQIOKW@E z?z^4XM8x6cz2^@-uYDV`|H;EI*q)D*>_0PJyW2bOe*D21%KA9RP9Cu=DCLS7wU>nU zu3Sqcv-Tu6-t;izp-D=lNift(N{XxNp*^sYTzf;t$wF92ck_nO3oD{&!Bt|8rM7+0 z>eCwxVX-*0R%nnBj^Et}VSyMO;#$#iS#Vf9fYU?FNuoLHoE7QWccP?IU_o1Y`t3l= z)U!M!>pk$C=HU!UB-(cWFpy`GDJE!)aR&DUDEU%aFP6-Eo`EdjzbQmZC+I(=iRPm- z248;j4>3E_$~oJA_~gI%^B7BmWmlJ;#r?;&QOkg@%Y3s>{`zNQMyh7joEC`v3EX-ytspDNx85 z2;u0&nHX+|ugIry4*UVLNo;Q-)N3J5x~*qw5hPvbPq0Q*+;kRNPL&Pq!W~tW{MRp>r*__wK(&ARw@<$c-JgS~ z5&BR^zO`E8oSv(3U-PfOKO)8^=IfKH@yPT9A$3&%195N`7hGlpWIkuT3_GSWNYZDLz~f_u(pfBx{51{>~&gN zR#;VCW*eTYYz?}JecJ82Itdju6)S72`}X1AefV{@=VPnz`N@2i$>M7{G&yWZ z=u%t%obg!KlPS`u^E}ZW2hcL(*`srpEV8xDg@!gPx7L3133Z*o@a)wSEK)MsyKAQv ztNk;eV_lL-cVaM{1HL!Y7+Vy*Gq72!rR#x^fCMeM(2;Rxq8>kepvfoauQAgGm+z^9yoth8(4j1zTvQ(j$W7+mvTT2*p0{ibNm>%3Pvg*iNA z*>ejW8GIkK0Pr)vH1FQyyQ)?!baZoAchkwi1^|1XJj%H5(}T?PjAsu$Fz{JbfdbzhMfq^N7E<;SCjy!Fj>m9-VG^RqmQE#RHH00yIy@)BW4%Y+Pj@Vw*TKzUWAv*c>( zs}n8t*+sdf5#(jnWeP+hq=R@%M>C|zfCByW3PbpQ!! zDs@TI-rc5z;?ly}y6VQ3I%c4}vb3VAOljUrtSEPK)!0(s+Swv6cu>{YbbVuj)1Q<7 zI?+&*z>em6X%N#P#9h6eChBDu=XLh9clUMHx70VbHF%FH`9*mIqqDaiB^z3TFjUl* zzsh@Q(fjLySJ&=bOV7ApSX|K2-LbH=5F49#A=bZZc%=V#Y|p+0(g#~zPbN3lH+Qz) zPL7q77G8H`rky^6Zyc|9zlHWl&LhD|3sNZr!s9J@^gvFn?v8g#G$Nx{rC-oH(A(D4 zCfXa2uC2s#RBUXmZ|P`quWzn(l5<;UTi;+mK`eJZx8S9uX`V0%GnL1{(l z(8#czUmZGDo2csOZ1t(WrEX|+(1S85B1U!hcl8W(w{^ApIWXMc(yq9~=)^F2?Cfn5 z_#vVFZ~Cx;2z2zcyZr1P=1*$5=^G*sEtR!p-2+{!>mBSS2pzp0-2>e{ zgWZVG-rYJpHaIjofGogJI6@(^!a)eH7$fj|4wVjccl5Rc0GcjPVTU^)mC)3bK%btz zPI(chcd%C$gzD_=BzFJgsET-t@;D0YBdj z1BLTk+gR-xc;qBvVtWHjo2YDgRdvO{V9%T3ekIE*z0#oH&|F7y6bn2h!~m0!`ldu* z#4n#h;SC7`A%v~AK4Et&o9o$Orm?lLv#+zZ-uVk<)VH~#nFuAC5@Z|jL@R*QP@_7R z@|B}}pOjAqAmxn&2re;1WOT*3e3C%MAbuS!;BRWKZ)i*;>Z&|5EwUg5ETl(p=~*>d zSQi+{*x1&{wn?L8a00+HslzF6TKw#4m9eM43rN(ntfnl{6bSAmY8RCiQ7hK#+3ROd zUO&xvmH9mPML~ICM}Ox^a^=5aX?~vN*V&$*=8FPATiaV}$)y=Ks;^J&gT@_2C zA?M$?cnKT}?G`_P5vLrkvMSA$#s*KSs}j}tiH)pILlYC8&{(#1wGd(S#?Pv{V17JH z?24>>!nnFfS!Z{r^9)(6s+#JesMSPlBu7PL(-4+dR#sM5k&fz`imK{zu$5JZ#!}Td zk5QN)v8IKvdlR#Zv60;~P>G2LeuI*wx0R9f)d|f`NpoA1H&u1jt=+9vK&??}MSEA9 z(zNR#Ssmy@`%RgYlcjC0EG<)TMM+gvx$Uy6A{*=zORO#^6w-jU29oYgU8Hkb>wZqRbfg z7%4cGRTU$MjX^4^N=nNM3rq59>Z?jBip;{UN&qz2a@mm!ePoZGYo*C8%q}V`kP-|r zj>?3x>PV~h9$=xIiXv5bZfL2iZLHA{aZohR@@7RX5~O?ud}(D-b4y)L?u(-0+=iyw zI*e|p$}Py|7s7(%xJQVqnzNWg9%R%Q!}?Xui~M2)FMFB&oGYd-P=NuJFv1<=S@~It z%H#SJ=W%NDO7i(?*#+53_C`?vLn65NS|0f&kmVM*sv_L&8^iCZZ*C;6mX;cXtxD8X zS6AeO*7b#QB7B4SM+%Tb7PZmD-5ZnvhOd6Q`-!%Za&zUfJ+K*Shh}h*BNvm(NE}Ii z4YAi6`-%}xdq4qc6v&Xog%Cxxc;lzTou!u-3~FJD-2G&4SQk|*v#_jyHdWSDR@PO; zwF6a)T~J<>Xs!oRc79gGVi*DaHR6-)p^?Fvg_)fn-p6&`{jeKC$swQ<{(fp7e%vlBDp8e=*Hdox{7k?+dc<_7Ej!VHnn*c4qRg!?Lr z`Z_1uLUbcOk>5_&s}L-|B%cOHQdWUEI{K05Wt;OMByD`BsH8|hC?_wcu%s}rI2ZYK zPlL#m6}-%TsaU>|?3Gm|g-$zs^;FkDIg*u>7lFaPL%(WE3Qha9x zRVS)*3qvCW5{X@E2Q%Z*&{!Xm73Ag?7re@QT~J!w)Yej3QC?Qb6VAyk$f>Tc!ekPy zMpi8=FDoZED?9sTVNqT|VGe<4!Rnt((U8|@mW3hrouMe#(@vNzSPHLbdk~^|ZA&HZ|9d zz8z$NY7*ssChFL{TJ1X3p)0C@vb?JEMs@0fky=VC*vLYC3YJD^kklav^gFsE7b;Oz z(@>LNR#?-RXlQH7)Zc8WYi7Bt%ZgxB$IORTEVTh~%wk*EY@Lu-RBC$hBi zVS2Q0B}xN1hX&W;79-J6O8~sDYfdOlmrw!@E9#LAO&N(|T={L>;=bX2J;zG@$Hv;~ z1i;Y0^UdhM?BewL<|-Zk$eIMr4`boc>hxfD{?%HokJA6*e!&$)TX)7;U> z=^>|3?;GktbrRY)*xlOMj0w|o(<9?=y85~Y-wuz@O!W>8j89LF&&+suJ2f#qH#a#q z`*w0-d}?BHX0pA%b8vL%?d03hsnMB*nW4ACZ>J|F=cdPJCubJt#%3mYq|D^(;>^_i zBnKD_IxqU%gTn)FMhD+cj?OO3>J#Zhd7hk|=pF3hgfA{Hj8BjE^!N0=>3cKwW^`h7 zY+_8@Yi54N{HLCQo|V;QxX&%lPR&d#tt>9CEcCtUot>ZYa$#w1YG%?kJwG)*HRjXu z>XJ0WV?$GOlk-dSUQW$UNvtC_@^*N3er|4YVRB|_dTwTVes*kfVq{`$bYi^k%~1D1 z-|*Pj;OOw1(cuXwPmW77F+KTqVq$r9ac&{hK0T+Fx9;JZpIS~X&CXAISXp0Ql4fys zc42y9d46$qer;oAYj=ZxK0P<-d2)7K3Cn9s^GkEH3o{-xDIWZ7Y_6|wtxwNREi5jq zB$pRg7nFd-^UHItrIm%*`KjLiuJOr{w-dudqy3{}L;ZujgMq^Ik@3;q!T!O~H?vC%lTe$T8l4zkgFJMVT@lM<|NY$cVmw!X5OTn3>gbYX3Ad3|Miab|9HesO(iYGK;*^2W;C%KXgI ztgn;vQwysLn>*{P8!HPd^K(nHIEa!f$)(AeiG}4kZN227<9AyM+y?w0qf$+fNB zZErT*e%NtOZmln`udZ(=)w1=&mKv3|{ln(=&erz!_J{d8jLn|k!K!>@1AfuQ{L+VC zXM27r_s`#NZ*8xxtj^5M%q-4OuleQq<>Yd};tM z^BhEGJNfR%UDj)DeR+%E1Zi5CVm210CuS$ zeM50sSx#ON$K>&o7muItu5w>w<>i-fVG0V%O3G`hv|cS8Z3DxDQ*)GkY+`0&Wqk!d zT{}PSY`)uA-C9}SUIWACyUmU5bs)KXl7OTG57yu(-Mc^TxCkI_Lxe<-g{9S{@Ms!=!=ZxcQv_{TuZL3t}Qx2q<^qyaHy}NqgCrDdQso1 zAHiQKW0K2j%b&e|o?Fb@%6_RAqX!|pTT!eBr-2u>ND+xzJK2s`@L z1=)?AjrE;%$VT98vLdik_3GvtRfAxV%FVUypafgAL3)Y{yugtyQoOyovBro(4R?A6 zd(*C8E-o)dKwnuD({#e7>lZHA`P|w!!(=B7vzXFy?)-N)=RE#>O6p~s_#QfT^m{94 zPaL=B-tp6?E?!PEW^~|?stgoyrd0t#vK<(j? zp^c5zv9ZxN!vg~Y!d*l2D+@D=v%}-a_r?QZ7P4ZV*FY;sHshSZB|iyEAT+9QF ztLtl?p~J37vj~ILC5CN&NtU(b_Qv9>=3{{r;U+%D%te#!cn$KBZ2Vv2BoduMll@ciex{-3`2Eo{$Ee4rSlo!#AyO}dC^ zxEwqH?V_e7$jGwiMNKAS9erAK7dO&+Nw)70Xv3Cd^(nc`=@}Rq7@rzJUYHcm6C@(1~FE6XsN6yh9U4MmljvouzSe`2AV_=)XpzSuCJ}EaTGMM!CeUOtYO_++;(cB z=&>}5-eX(f=gKl+Q5a6*XA)B3?wPTPerlnUt~lAs+REnkrgLGJSC;%)fj2!pH8(dq zK0ZD=HZsFynFZm<uV-oAM=GB7mUKm2xRoL!mW>W$AY&CJYC@`0wN zr=~Tp+@^&&gAof$e9^^Ka>m$@DMB5Diw1jGH(|@mb;`JzjF5W&((~pv@e4l%_N0-; zwYkM8B^@;|JTm<0-#>emm&4<>In?OH*yS77KmGi3+g1PNGn?@o{_4PiuMZwPbj(h7 zRvR5VaL9Ufi!~2^d-Uj$?~floe*DXC4t#Cj2OEDJJ$m}W#qZCY@zcxi&z?PI6VPbS z9#h1O8C2C)n{jvPa?0-RE^RzoQ%cjb}N>LwWiC6#Hg*r)B??Ep=nDn;LPMWl}C?0LspMX$mYu}Hc&S(MV}kGq@uwf&Y4F)-kX zuKkk3&po6*IGR7a@8QOY~Gf{NK;}>vQ~vwczT966WXUOmDN7k`RcX z*OQme?J{=3S##%3+Ed`PO=1omFfk?VdfMUdkC?1ut&=$@M@^G5tIee5^CwM{I(F*2 z17VDqusJKJnE)Y#nA+R--hc0{~qWPE6RYE-C69IK%@ zAx_rW(^l75)6v!1*4f j|0LPZe@6M<-{P9>8`Ro44>-`$2KR;Xw+C?WzDc+rF;Bqw!3C@ik`A{N&IB@luE5rGgj!3uq2 zYgU9H`WM_k@qX6&?){u`=Gwns4!pSb*66=J`gnRDV~+VeYtFs)&f$$u|G(e)zrW*V z-{t?l#s7WVZ+XW%e(isI$2)$@JHFwTe#g(5|N5_c$Nm5A3GN^Lqkr`G{@&mFJAdcz z{LR1lH-GqtfB65t+h70dfBmohwZHaP{>oqZ%YXSV^RplP!5{pAyU7FmpLa7W|LISE z`jemh&W_hNkZ6+pe|^D}LYieP8R=)0Ckd zZYSriB<;55Fx3iRTs7OJfo0m-bC`O{Y(I9@=64QlLv2&?AN=44KX5m}_k7RyxKfv( zXBac@e>Ss*V61bScQ}&od*AzD!8$A3Xp@4r(J?~SN3x5xbGFkSxc-K1DVV)wlFBpj zF3q9<&IDfaY}<-~>&81?=CqY4R9=bB?O)O?5`w|Ex+#F}JG`N_=4DFC6gO;RZe?Vi z97y1={?)%4|B;-DX@`cUp!5RyH~z-opfC1AKlDRp|F642(jDKBp4QNE_CK$WxZy6@ zg}7^O-+SNt-uJxcJ@0<^yTALpzuQpKp)q&Oopp-=Ofi9sJPZp^2UCJ>w5bj%$_)k( zM)Lq}_nnDP99w*Ef7^x**=}2t{u$~)y-u{Yq+Y| zJAm0fUE}}g9l#Jz0^BKcBa)KZ@~y%%Q`z!{!0dVEiG&SnO9%p)nzTK!Dl6VT^ndUN z<7!o=Tp-^bB-bY}FR2`$J6(=%e!9Fpy{9j0zs$gv1aD<)$KW*JHQ ziMo=S?ACOrwr;R`^6OSZJ=@8Br!U`VQ(*bPhE{RQT5BtoHw4~P#B;mh<#lLQeuZTK zN*ZQ{@vtdFCXP|2M!fouQ~}Huth`!DeJoKoNjnj@bAiHWHvT99V->Ep{$SV@)55ej zv+SG|w-A5t_axrpl2&Ir)UXrC*HFyPw&S)!m;k)t^dg{?j9$(>IWQT0YL%eoFH?qA zKkc^TyDh1YSgwW*TXYzKyu-wb8_^F-BN9kEYuHo_K{-PPV;0*3%b1F;yqHOfZ|G-r zpYc{XI{;K}xiyh&tpq5RG23$WEUuQX&*M~A5nvr8BV<%*U6`>nqROy!Xb4<6FVl*y zNPbm|*Z-_7=7Yt_YW0+ywRF3xRW#05!n0;;g`WW)%ORJ9fm9+Re|BEC@bwQ+N%*NC zA)ul_ZRNwnTfPo~d97I62qVdYX(BM(RBSg~GJ0cp7(@I|dIJkGFs62$4Tn!SGQc<7 zy(h38)|{8z?BZtE=T`YF%=X#p7Ij-O`OzkaQy}qqR1vsMItWZbo_(m2Rl=JpLp~{} z;iU>prm9g+Q2%_GV7xvWp2=vu^0vp%Ohq}qWINQPr6m^tqYbOXRBNpea<-(6Wip+T zK4M6DUc7Crzf8$xRx2n8P_4in%+OL0fWLKl{%8`Iy7T&`tYHMzmZ?9_?$u8pDKN<) zT~sna!!T(C498||44}?}04N#>1??@;wo0uuDJhU|t!<`0VOlOQKSeB{1^HkXuwfhE zho_f42gPUSwtXTszX|NHr04OP@bf1ufV^Az%#^2}Bb;q?5}br7S*Ca_k}O{<{AB5Z z2kU+b04`ItDsQR|C2L#lHq#W}iutsx{G453LEQ#eU=}x;J@+q$S*;i*7D=}5nk=Z# zeEF8hZ>@$=cLa#8r$*qN<4 zVIuj!y45Pxq>-2$x5Muo&Y-FJi;kAB#PHC;)7#*=#NvXBPgcDADY3Si*Pnb+P-`{Z zx($iT_cZ_DAN&Jvzk%;Byf;a*w8_K7w5Z~g9GYu!q}_!vZFf^pvcgDPEI$#IZz$g_ z&|hro%$F%y{#AU2d~r%rd40qJwhhOYZM!MHstRF-Uw%`-VrFXH#F^RC*5@%$8{6lj z?uG@D?dRN8>+)tJ8?YhY%{l|I)hiLZr`=YChOE8St@6O)ki2*umR|=``fMlnu5UVc zT3C~FIeGNXM`^?Q@JiT*mq67@rX5KZvf45)`joZWQ(22Ig_W3{^wL^VN?fM~%QQ=U zX|Q3sE9Mg*z%!MeKIENV)}3fPO*m z=I&k>rxAx1Np`$$*1#}57Xr%*id6|VD=t$2sZZ7t@~53(@oDg^J@Bkd$ujw>meK#r zoIOwci7Bu1wkigA{8WM5HWrjzZQTqz%!V%(!e}zU0?E3~pHxRbRN*DFli1I>r{|hh zaW&GmXKf{AO6D(33~Ocfn3?PWaQb1<2QA{_M77;I_A9!_)6@1PpQ- zG_-+x`l=2|O#(QUhBELwr3z2K+3@F7w_vqx9zJf%$Kf$K`favC_{=cgg2`BjUk9`7 zGAvpCT%{#WKjb8Xx>Errrw%1;X5GRkf$2-owY1^a_zL+gQQ=nK^XnqI7l*(JXG*M( z7fU`qWEwu8I+r}jb zJd7X%>oE0s&OQBmo?+e25_gBeNVYc}z#@M=8-|Rlm6$E4ZNmUHJPYFh{5r$1hNmxo z`exPEoEFl>NG^Y3AOi{qFnGvpOAAs{{>;A^PdF(te^K0qlb(RA zF1k}&($c2HU|vBpFQPyBlRp`~J7?Zqc7G$SyCc)RJM*JrFn$^-vnsW9lV@NH(o4dW z1dDa~bBT%9)VZ0n^Vz&^XNScv25YOic$l_oxTIj#PV%mImmFYutQ%5{JdnfO>)zr9 zUI)`rx5Bn()-Yc%Jn%|du}pwkm9Y)UFv$U>1;e~1u*6n56@mPz=~)MF{^(b?sb=E3 z;1!0+zu2%9x5OE!swCYdx|Z0A>CV)}rpHGOCba493{DMBfRZUU#qldC;|WNBKlWok z_ESIgQ|V&V8a=vY%e(a_C!6KvY2?M%SNBMHg)yf%^(|H|W4N`>z@q!Qrme29KBwZ^ zVVO07f0c#VwFp*Ka25_Mfb8lP8`fu;5qSM&V)$CAy4b)4=j^7I+*+Gj0Ml}(rlPLA zSxDu!yQ-hC?QhI6noQwM#D8>|>Bx=K<Pauz82~4m&Ou|8UaXm|(ihGR1q#(5eBpm)? zQ`t0_+%^m#S!Obn=^^Nc!8C}{ZZtk;c=a6KUJrGel z{FZBad#?Z523vpN$BblqF!d-FoR`c7n{d#0@#}*d?+*+7-1zC=vqP!Dy6Td(nE+|w zZQAs8;?qug5pQamdR3r=OisOAT769o_EX-Tddihdl7c!|#iQ^?fAmLt4)#EC*UpVN1Ijsrh~XTeqQ>U)j2QNZd?7l zoD~*4`n9Smo}aL-A_#+2D73ZKA;5-fShw(D)_)gx2AVeO0!mA%bCEhK%7*aFN?eKkpa0Zu7B#%Gho z>G1?#rULY&Bdbg@SV58uxqO->L%$!q{qgh<{6NH*7o?qnsc&}{6C`~VL&E2qA$<0m zliqXn)4%bJXHu7*GWO7Chydn7!gF}<@k-Zqq0o2>YPs!ar?C@&JlnNanStX!g6Rxk zR>QLcK!vAo56g_+GVMnnafILO*9=Y}Jl3|!nzVs1RXxUOCmmHaKUrlI0Ddr}BO2_sMiRHc zdGdznl*9r&PQ|xGI>rjhzsiqG+P-M7>0nBUo#3Ip^^J|>NLv6C^2PpVvR1pahMKeo zp4IK_yu756thV9hqi*B`sQelG^l!=hxhpXQqK?wt6i8FN*=35y`GVHHU`jr%eg9{$ z1?TMI&0bbHWmOz=)u+PMmOL8*Wb6E#xIP3QH#Q~< zx@vx#SzCep!1#IM&FZ`@wbhkGWB5u6inrpDlh2kgRfoKMRq`kJF&<+J&L)?shI<$Z zWZFO*QycBEx>-KSyheZ*Ic%7q^7ScBGBq5yU?uR`N~(H#NxgqTde-Xpq6SCW1>N)* zf__xV%#Kv10`plc%|GYf@~;kNON}9sD$cwGeGK9fOsiMY-VW5$gLwS|yy(}^?1`^` zCBq10x-LPO_Aq?GYkc@!!Uee%lT|dE90V&D3{x?fl9A7vsbN|D>fu%X_Y!GF<0^ zt#~%CXXWBeDG|%`^Hg_d?7EBWNh2{Na^l`)D#Dl*gc&l4O=xHSY*M~Hwy}n1w@W;X zy|r_}*=P8W{DtS|PzS>y7lf&Ht8DfRwwypd@+(5}gJ7&4+fR%=z{{|y zV3~S0Y!>HFDLuyNC7CFx^HlSQ9}>9cI(W4CvgHDoKS#@QYrFye$=I7^@#U%S0_f;4K$8zjEM9-td%6L%u$y#^kg1EE%^;&Mz-G zo4i;HBR`m6LMw>d>1&ou6N9(8wSCe^?+QXns& zm(x;E84o@t=Be;L`VoLNZz_y`6~MRecAcV#?%1CumHjF?%ncpNVIqKAo5 z`efC%5U*-|UJTl2eWH*)lF$9#e1$7H{Mk)1JClnyC6L^f46PVN<6aw>Z_3bSc=RjN zP{uH>p5?{czuhSn)){ ztg8Ms4>M#K!(Gt{(`5Ec^JOlu4V!%x^0J3jJqAM-Y^!7Ai@^nExIXY$!LMPNlHzI&Gntb1=AzbT z%4UZl52H=8IJsGGH@AyxQ*VZe!|3$mMHQ`T-Q{9v)dV)g>NU9&L?bfOBe<=MA57b$joFeX6lmJ@VU)f z{+%KU-ZJ;rL4D*PWA%iv!0h(cPQq6b71dtWGSuPH6BwC$Jf#Rj$zc2ztu}m^U;&0N zFqJ``_ME=`D{ozvlup(+2h9s{+pnl8krWNLe6!n6T?Qz7R~EgnWN`CRz_I2`gUKRXOikY1v6-Q?G{ z{3)MQ6Yb5KI;-jyzNz9@5X0vB-_LPt9f)n3`xRwfAC}e(30OEOham*=+$pTXii!Z}1abgw= zE_#_X1ed9XXYCoAJ!{Vxz0r6YF|1Xz&%>vY3)Rh0M=Phw=+|6naQwB z!&Ofyd zD%ezd0aLQLs)q6x7P%Liw8Uo5Oj9dwcy6GEm4E>>TYmo1)6kUFFL;@i2-d1RpH(YH zr}&9caaeM*f!9QSm}+D1eB=yMGFrx4i1b5aHV%e@-nvYljqEYR@UPs@6de zKIS(ogVMNNa(;be#(6ODFy-@03bx{EVWuO5PZTokr&;+^HNzL2YpvTwgVS1lQr0Co z#f3SM;+u5u7HqY0et7KXL3h@vj->?&FhL<|!;|E}QpbcgSb2U^)s964Ymyeuq)fI} z%}T1883x$W0oDq#J}Yc0frx9hWWnj<{P3nu6~wE!=NL_C7^af-uPS6y`Pfx$m`EO% zP);DfEuFQH*-6p1RN?Xqn!R}7i(LSQI<(fg6G>BQ>mML)*KmDGB7YvNUf$dLHe?axV7e+I(>c4l2bu-Fsnn4vu2+}_53BwzK4+ykld7K=c917s{E(b zXwa`G9I12Q$JJ>^=45y@zQB-Qru%|#7tsZdhmjL z{sc57ACYP@SXH%(QPnQr&{XU-ochG;6Kt80xqO{1U4A<$)9mS0nHt*%t1zmce)JZ= zw2hh!RyVV(Ybg+$YStchMeXMffBLa#JVZaSLYM&JbM_>*eE5P*O*OGpewl)hv7L{o z4Y$^2)6U3jXev8ZFc|Iu18i@48Uo0~e9Qz}xnTHCtdcDXoFaJ16$XgyVzZNB$aQEo zByYG_u;zjkv`jF`7j=}_c`&&{&H?_8vx1VO4TINielJ72ejeH#hj}|f!1#4s5Rn0FQ zHdGj;b%tc7T4h0)lYs#3Gh}->W0}eYsi{@?x~&AP(@B@FfC z4S|C-3^@;W+GWwR@a$YkdmE-5rX~kWfH&N4()~W2d>Z!pC!XoUF;O!Kc4u$XZzmo{oYT1 z`qR&&+rRz4r3m(^PkjoYOjRZ7+=Oko`&s^kK&DSDp<&8iYi;C*Ps>Hy911tA-@hlD^2 z)n5GBxoxQ0Ds)7Ko{XM%drDGe<{?gQK0sgqKL7d8w}+IT23@98`uN8`{;`jJ?4uw3 zsDPA;`C0i?CWbU6$P7Pxw~u_}BVs0BZ2*OA$uNQIbNWj1F+V}g*G&^u#r$RkI)CUx zAF`wNaL$U){sAuj1Qct?T2X&?QW3ji8gQ4!i(3m=kS(_2Fs9Cib(Ya#`%e+3B-=^l z(}F-BcmQ#P=gXTCWWnwi^bueStvP^U2F6^MS)Q#tfMNN3E2b}=rMQ)E*m4c|3Ja>b zSHJ0~k{K89M7QBOl*i{RIoG8)z?u}8%AV_P|0d7*O+908pNFg=RZ>|ROoqLw?tRrm zGY$HY@MnMaXB8@;K_*YmcH(Y+-~%7{;0HhW#v5^`sCKflx--HF?S=)^RNq96=VdH0XEyUtd%BpSc$1H5y-5no#^&rQa(WCIxw+hc~!#* zn2f3V-%&TWz1(U{w{AebVUe>K(JvFH+U&)zStdBSmoiL&xoT=lcle?X2f>FXh zPu~8mRhlvkKfub*JaF4cP@aIknPEK&y@(1jucKs0lArtB=l;dN_!qVHek)15o~QcY z*!$oA{`bA_eU#|dbTa2Ha7U2AR8;KlgLUJYl4SS0cXK795MOWtLZ111gD2J%^8+li zpdFqVJtfbQGhSgOHx}M`s3hAJ4Y~3*7bH2@-fN`~? z;lSeX{9u<3<=d(~sCDZjuqi#^OGd5vnpZx6S+)(lsG3n7b;t7xU-X)c_84v$?37zQ z`4@Ge{2~*59y5cj$+_<01$+PO#nq6h)f~qAq}NXB^O*aG&;R==>hnzW1E7r98>#qb ze&%O>`ImpWw*8DrgI<80tta4n-}~P0{_gMop6~e{taGqCc9(DHmdP_gH;a$M{3UN# z((R5dXXa#}I7$pDIFp8Ihgr}zG!HOL%bAs#t!hC_@Y$*g=1*3O8*Wx06Ep9VPoGG7 zUZ&2Hro!{%a6#R|*Qd-@Ifvr)DUjK{lR4LwkJ42croMbtVIn+snPRCRK>bhooP{fC zp>QpZ|~l@jtc!>hmtzbI`$h{JrNr@A*rA=`T^Dx36&^ zilXkRDK}S%DbGY^3P6S_9GC=R5ibrb0C=>JTlWN9q;x?xJA7;9AE)GJN)}sJTqZJ? z;k#Iu7NzUylDiyL_v?O|t*W+<{g*cd$y#f^q}fh8{J8;{hWxq}sI`-5FObwH6Prz6 zlhU>=*apH(bcU1L3I&-df!Z#_Fv9cV^4k?wkJ|wT7L4-?YThQ#&eh7S+h(gZT$7dv zkT;d4rnNA-omPj|k_Vn_6Jye&K6!D^L5lm#XFhXkQ2b+e^N92!N{qko3%~H6{?mV| z$-Y@7VQYB~65w}z*LU&sh-uwEO!J!RheX1Zaipx99vk_Fv0_Q!;^@j}16+cd@MobC zFg~S=+f|rm>r;k*5nNTR01R8M%jt@m-4d?XRRco?SaVa`&+sjA`WiwCW?On2SYVaP zWduqB<6)dXk;MUa6>dS`WVQSy=uYX-u4=McYsGw-k`3DfkIdPS`a_<8rtS@%wuEED z*HDv61PS4(@BN=JJj~bA&<&#WuE9U(WCsQE} zk{HF&AfXYXM`5p~KmOxCPK9DmMzde|!WaJYfBw&jy62#GR4=8rL1^!O_q+eXU-%1T z=%>OI=QbfBDw-V|9k{$3$95CVW@ApbSP}`D;IV2=3eF*L*8Pn|?x|$!)>(YQ+%g#8 za~svJuss{rxqGduw(`aH4B7Bpw@p^AgP^rwY89{ITYxrjE;r1A=+`jf6}vU=7q%Fl z{lm)?a()>6Kkg==yKYuDZnx>A!R})i4hq*X~rXZYcb0w>W~ypCv8VeUWDY z_zJryakHndDoVJC+3xZ-0QRCm#tnsnhT`sfNrkN_0N4`n0oEZptw{~LoGwIcc7V02 za}7&w1Bh2!vnBHp5|{As#?I&e1)QN|d9iMmYh8sQc~cCT*KJd3Z(rOWe?Ek(sGi-K z`{o}GftB|&m%yw{nEZyl{z(q+`Q-~tLzrfV(XCm2-5|?LwwxdV(%m#zK!czC>}N^O z5QZLU@W1`H|ArDy+d?hs5Mkw=W)wYdR ziAb?%3^XOK&{QTPkX(mW=h2VtuR*}d@YOb@mWB69R*9*;xbT1wHRc>$!WI@?)u10SY2s;bg@()A7QQdtY(w7gwzIni z(L2+sWWFZ#7Yo3KsbP7^i^*rpKPR59LMt+4(;$6`TcZ7#rM}O7?sL3Y2f?0$X%LH$ z#N%li{PTbQ&ws~ve8*q>i+|Cp=`;w2NbxXnl{mYL#udzdR79j@a+U6 z`8sbWTCo6ItKqc(FXIn;>x|rSf)b z6`44n9?rOuts7uIn;+?UFRubMQB$LGPk{C-bq7eXO4c zF|aQ^dWyMyotR)09oY(^8E-f(h@)lXIek?ji%)+dA7jW%;bp~f-rdZ~bQLo7JXb8% zr>8amSopv?WKSLM|CoACzxnTphcZz~-SRP+H#EDFGGVHETvWcQ0Q@j#b9_F#Rnoeq zHY;=5*&#KhniHdTQ}RmASyM5YQkp&0q!!+Wc}P>4l7e-XNeCnVGxkaETSdO|N`^mm zR9s0uH383tUnYrpoUxKJg7Wj50-FXs3dJyjfB7%}4uiY{p(|qgxp$~n? z&x5ybMepCq_<0blr$A3JF>-cac(vm{x`w1m$!Nfz0P!rE&6mGO=>lHQRTY4(aG8?4 z%nBEj>_SG`YUkHh70h^LxSsMmjSghpz&2Hfrd}+8tbdqud-9UYH&tf+w{-a}7eI%b z#@?#Iaa&&8YP$1JPylygWtl&hR8W9st__O5H zl)Pbbn3~>B@K{nNf7jp5UDQ{m*~BO&I@Y`BPyXaj3Jm}8KmNyG{_>Z9?bm)S4aO6m z#QYlKjW^!#3hFt?h|$l3U^K<(3(uqU$SGivHVl|nfy;;CD=#RvZU(vhU@H{VDsXwQ z`@U{Y3}7~2P|szmJ$G;wzUd-cV3&eGFf3 z7ufSUZ}}JVqw5H~X;Z0yFKM|cWlNg^SQEphBDgYXV?4aS?*J6d=#*MI%j zFB+tpeJ4YJzLudu&q42^Nq~=H-sN8i-I0k+mkw36S(o4gUB4{@;D!Nks91Cmb5|;Op;X z&gbCCWIV_Gem3kE)-uWy0_5$nbbl9}YEEuXAmLBHDZ%n*tz?*Hivg_8ul!PL_G{X? z%Hpv-?iqefi=x3SS}Vb&aIkY@FJd5Hl}|4dMZ*{UFblw@5xO|@rlyopT_DNK20lAz z)ht+XO)B54WTpfB*&OC#%}x;o^&ip@`KODs;iYiHX{SJKPb*3}#kHR6UncNsPnhJX zL9to>)F2rWBb|CF{nD4dbPj5J6h53jYIDD{X#jQ0yml<`Je+;(Vi-8Ww9wjyl%Ehzfc%tFt=R;XuPT|OtYs=(c{&QiuO$3gE8cT($TZlyXy3^w^fWww zH-R(mI8R@`llkyle@E}J=v_47^z5U)Nm8)kR1=ubD$v=~W&s|pCOjCe^{oronv45RhV+P3PftS{{MBFm)qX$d*1HS* zqXzpOeHtW|J^Rw2k|l933JFT;Hds^1ttMa=#lY~U)*&!2b4fmCBL4{XVi4vN*lBf;`3-5%?-8z998jOoOp2eI>3@DDn)@laAJ8PG%aK z%JgX}VZNxr0I&BgJ%YvFhARy7=)qvh<6+iCo#6V&n1YEmhU@=gF#L1l+rQP8X_H&1 zbxXF;2`j$%@n2r&(S8&HxRivfP>Eq{$y6?Alcx_q57`nYxY_MtV1XnuD~ZxEw#=%` zrYQk4%a&=yGL`d&kWE2O6yjk7%crvQOUnx^VJgqg+7r2Woy)vNgO>Ij^uu89qWXIv z`gw2~L<9GN?>YFQ2FWM3q(S-;j4JMz7)COQMaxGGh5=*E@>$8{UnKV0R$^#Z7v!az zhQZo@c;1Ftfy+mRadOB2^&e95vf??sHGP(LgpbVP8G!f>eACH9Ncc9>sSdevL6{p& z?|*sHRLM0lTwZ)y7=8dTGUp3U{Nib$r42W=o|0_CdWIi+1u`M;ntOWpE0af5Furbl z(x??b0g53nir8AqUxJ#qN??HXp&IsBvbHC3g-U3g2>>)VC8qAa7wz|hlKUO~zLP-( z9HXp$NAIf`zo7Rh6!>}2uP_ih3`+MhDTtQk$9x)$_9ru&Jv|INGvXy*tX*8#42F?7HwD`tDDM} zsky1s%x1vPOFjK7V=C~1nh;Lb@Wsvm@_Y|avEbC8&H?&iknWgRiQw|{V8p;&znggD z{yX|KxZlwuIU0bC?E*uj67VCuVVU@uFM0Y$0h+DJRNSssRjV+0ne9PFVGrm!R0y-q zb*OEH#q!GQwoJp3{}QZ;;GCKwB3K?3)5SJW$*B?XN@~&)#r$QJ@m${Qh6^fe7^{&v zGnD5?e)(2E0oAs2OPIym5mNbxxURaClW`{{aN6x&T@+HYNlacwX|(xHnx3@sSgt zl6=FJx2WZ0YH?D!OiS=H`C>u%0?95%5T-@NNv34A+f`sw*|ejxjA5Bn(}QUOIhD1Y zpCtfHM#-wEsbrn`_Rz3}CdLh?K`OgYc_b4Pi8Wj6w{g>~5tCj{aFxK@h`r>mC zMWbI-j{xWtd(Do$acry>%$gb?xmCENR^4uQs$HFAi~QZhxDkdoM3U12os1Kou?}EFzl_Z?|mT!6lPDiIN*+tcDFo9MU^}OSCP$=0FHb8*;TeYA1 zsh{$v7o*YJX<%j?5pkq(hz zcSk1XbhB=2+)1lM&{Q{0$yp^iCKLn+Q@8udHxbqC-utGAbGYS7+MZh0h9$d@Hq%rd zV3=FSLy7Wr2q13h;R6g~$Xrn*bU9f>6)ynT=dIg~8!Lh71mI83h?^>3i6#Pe2C<9J zbXM5KwtRB8Zpkdt%t%$m;RWLR)Y(J)wlDs6mprrg0`dL=;sellA>yydU zo`uipCwxyR&D)`XwWR|1ZJ>>9_Kv-QVXSUlCa$nWWiA@@9Q^86zuJGoCBpDD*x!rx zw`z|X^pMK%Fc$H}$_Y&eU#|8CY$;K4Yy@6>5eUkey;JYWLF%l$6$JnhpsBPVHpP^g zHDqFb4O{m<^Yjkc8s%%-ep12mf~Va)|2U?Jb=SNgycl@#Fp_P%=4%)jzS#|16l1&5 z?qf{G4VzpOfgzYYzx|h#2|3t=5VGaWW_1voEmI#=D3k>3#IVhzpjyqhnE`C<+?%*5 zUaX4O6IbCHa#@%9=P4FuhYou{B!zA3&#mTw!jL_y@UYfNAB zw%4Og1|~aW8N+E1SV@|l2K_L&zg6=t`lT;@=__CP%0+`zyp2~->;fAG{yU#*8h})Hyg&V{~#ML zU-B{)UI$!B}y%W$qXH=24uO+r59bmRNa# zNqN*|f-{MV%vQ^5>o6UTi*gjqS#@2KuF=p`cE9M`f4j`FbY$C(D-+u-3*6>!7xw(NDPxM4(GxP#O6uSkeSo(sxA;?^`qalh_VoWZ zoSw{lwk;XZ^(03Jm=h`CPb5b{bC7mAW1FWv7Bgh;eeZisz3+YRqkThv zA;4h#mri+RxO{lv@TR~r4fT2BjoW{Y*yZfZowm)}n47-s+2k%nl8yH5-|Vc+y!_>2 zP1WS$^^`HIBurjDmI@e*y+u@=J2Y&Gldj0c-Vf|Og70~@4$bM!9NJ=&dr8xwGVtmB_czX1`RWtXJX!L0sK9E%fL(a_|pwH zh|Zm|u8mhhe;X)ATjrXL9#vl#ik;pAbFybjHe!5lb-8!`Fc7cXZ0=L z@-2V-kN@#M@hAR-fc?q4{i#3or@r-DzjZ@7v1EBu9kO%w-@56h2w3M22Jmg)_H8n5 zkV~+lOK>^Z2;j8RS-?FH?e&&r4ei#JSMO^J2Tr{wE>CH1K=(XADJ##OUE z8}T1c?A#?_Q8aT1or5dQT(8T|?uYRmGR$mX-pSlf`EK&SkZwdrSCwI0wHz&EiJI22 zf>PW~dqccagJL#`xeAuhB%4j1dF6LTe+CSfyw6zC>h^4dDDlnT{LMCOC`oQEeET#+ zA!^F{$dzGTP9=AN-V{262lj#EiU`mZIa`JjJZ>=8=;O}GN9H~#h=m5HGO}v({E`dk z3!dDP?KEgO4JJ=R8uT2b4l718N^~Ij=@ZHM+q3;U9HjO5I3VDxC=<) zk{u4o_$>OSyWyvEb4qAAgAu#%jv}(TOy|RQZVp7uvpx92$n;6&SdbGHdo;LfPE3Y5 zMrSB+ZpdJ_RbB!)GMnx(TW^Sbm^f8NOVu2wA z@rD4vRheR@nyso58Boj4w%Uw6=ye94{>Js<+WoWY(Q-38qk0LD5NjB=&z zLDIGpl*<&K8gw~^WeRAJ0I5ug*~}4165Z!N|9Kh|%Um?rMYRnl|9TB}Aok`$n81az z`*qyD++bp_xUPcw@aG%8;T!(YANoU%8mW9@yFmA}A2I5n$*lfc#m&kfOA5;P1aO;J zO(gH13O84t7oT{CY-t3<$3{Z_^yVV9KEpV5%xZPN)o*fGW@f4zr=h!PiSex)ebzR+ ze8{}=kaa7zf7`=>Waxv!Fk*wj*uS0B;apnAunbtk_AHiZ72dj8D_+2cNuxaeyHoD3 zJ@{}SHz$UfKDB7jxq12YR)+r$S=*S9I!;;1%+N{C*fP?_hu9K%%J491bz}OM$2ul1 z&%1Vnabou4RoR2smb6M)0K0a9VLgj2(V`RJAN+%V(3SE&WPCV##QX5~A?Yv!kJ$Fm zRnN=lb^_Y7WM=1RkLN5!+^^>5b^;43se@~=ZKCjY;RC_NdW&%3FfIDDzy2iSgKH1Vwb;umlK|0dASRa+wBrNLg)r?6%mm$p}NnWbuXe@-jS& z9$`>It*drjUio^ypq6A5(%gQws45+JfUR3bl8K{P<%Y8W`O0-LY-2Ju*1dD2j@{3F z)c3o7*Y9#}1n33cGtsA+^HVA)EV(onY(P<~Y3EM!E| z$78~e0Pd!Z;ipAif+jV8Uh2(X#OoOq5zpm2cAqLP@OS_2-%WsCL4EA_+25z4o1#1# z$NB9|!0e|(m~V%hoj?S3r4=wMr3fp{lG5p(?=QvBR3Wpg)pZ~s+9MPQ-VCd=lA@c zumAe5cgPV*vd6lsbIx0_Kp_+B$u3F5?3@yh;pO>k`H^3~ICaETZ>sp zr-uv{%3E3{28!F2*#K=UWLwRjwcU=8;tgRk8U4`-b39X!M{{@C#(aX|r(=ZNPKZK@ z%=RFoO1V6C`OtHjzx}uWcAqw$@&xFo!aiqIp({#9;B98jZ9_K}y^Fhi-q0y^PyofJ zuj*C4O(qcA(9P4(r;V2rmnrTXYFK|IZCF+7mPvFiBww-vB)v52z1071;;Uc%Dh>Kr z8!PZo#)>54Rn7akb54V%;!nDZMUpJWqMzI0+3mxe`hMGQ`)%mtkex6&yB4$Vi-YAW zzxWs))i1H(nThHnynq3W`LU5NbFY4K78SYOW?efj*`9Ouk?vabS(AI$+puneW;Ya! zX#xP9&kk#KHnD+D3^;b7v^O!#{GGq^cVea=j=aWu0(zZ5T3dBD5db)Dwy^@*r01Y7t9@S4pl3uH^t_8vf}8N} z-^TP1#HFTi$z#RY5}-r&6HV{=glQ^R3yIm-C}1-6fnfu*N*MQ%nF8oWcNp@A(86m->|RQEAq#sT>If?5?LLCkaztV93l_ zjwKwkB>|j z26%XxhP=XR+nA$ZHed=fecXBf#7zA31%=l$%(N@qZmVsns<-Ly*Y_l-%JcF%w4Y0> zOG!g=KrPy}F$x1wg5-U^^_>hc`j|onLI{&0a7mRd3F4TaVc++@_o2}5_#MB44E?N4 zfVk~tPdSXc0IxhA3fN>All5c(8x3CEE2Sn&ED$o)+%|40rX_;2U|?}=y0)Z z6}5D>RrsnPt1ZtjvnA@L>YP<2&m^<@l(e+lEpK(-Q8+Q@=36YUYKA=oeI)9MpZsss zQqXkQ@bs2`u_sLOsg_R{z^3e(Nje<2)y=h43~?05#_YBZsvu?1k9V(uv4RHusN$Qt zzKZcth+Tbr>BDx()$au!lyItjcqzDk2I5g3=;L0oDmmhoxk%THYTy07~>Kh*e2!HWki+dr8{ zzq{<7zS0pZAC2A9EaVxNSzZv01(lZxz(04oX*pZQiV0r^GPby6`}8pKk?tyB5)RgN znRS-DWNL1w#b?^b}i9mpR5p{0p+D^L5w!!LOAb!2Mw62a`1Q)Pm zV!5MkZUAw!0D>%-IDTTCz$Z3ldVk=>lK2Lr6>r$)AziQctA0*#nSC46M@{cYkTDkc zVlfXQ9GASA`039H|JL97TfOb~s_#YG zPqknGkoxmcm!CAwU@R4!`LilY%ha&_NLG7R6>ly0U94oJ@)61uvqW4&EaAW0-C?m|JWomD^P|y}Txv zYFx!BF(s$UMtCsRY=AO+tyX2{cEuc~mo(?*6T=y5Wh!vBH5a=~^zcKj2R(-Hy(an4 z^DuQ$x;YKy+s^_?c3{_}bN`{{R zE1w($_ufyB;MOhEie;9E?-IKE4%XK%X%IiXJYZ%T^n*DhHringw`iK02Y8hY)0GB8 zFeW~!zPPD7x|1h`Y?|k(h~fOQzc2sgDho17Pxn0;yH-nUg})evjpGrw=rtrl@p*xp&%CV@=baC zQQt59(l7n1fAz1v^rbKTyMOoZ{QrC*Kn#o(_=bKxcAY9hB7^534Gsf|`HmDaWknAF zFLE^Kg!>Jb15bnYACvh^2Z2^ET68_9p6hN;t`#l`x#X%&=ARAiHq|JRk7PbiFvRD1 z8Z_*V=;j)g#AHFO)4sOMF3IhFw<@OOL!m_EG80ga&;z>bN8`_>~BBlTU;F z&}S%rm*DLeH2?IU{?jjh@r%^=9v`-I9fB{cI)>>@pRo0f?rq|>`__aOr@t@aLK2rHSNrSFe zK!XvWJp)HzLp{6R;+7Dfx;XV>>a<{WumtX1G>Dm=gZu1)?9R4=*9#^FROd z{{1)q=HK``85|%VhZ)uB%W}PoQcxQ7BT~;Y7$0ab5uTTcmTAy)(9eT@$@R{6zS9rj z-e$F`7VIKknMZ3IDYST)hL_}K1t;5Il}B2v5n7+%7@P%1fkW##Xq7l`R*BAh-JGx|JKgy?1w;C}!2g2A50Xxx zLde=~0}U_9%{~T@ZQwQj>>0jKx$+7hHR!6{ix;1Redh2Abx=!m=j-U?oHl(Mz+p@C7Y%y+r9om$gKlw~)C7KgD&H#0r;bNIz)IScTju6^ ze4wItGt7LI2Ep2crDw^?P%w?W7z|L!#aEKJVzoHi@N6qNhPxsf>^bNMCBrUCxm6qm za4fZdOz<_GchPCkuVB)k{?Yhs-YV_k?RZOXW0!z5GI_A9jCBPvriMvJ!yuFLs zgV|UV%-e-`Hh4*=tw|d6%R#TB{^q}TQJ;R6pe8WBz#U=w81l?4E8mpP^5Qc;K>2&o zlRKyGEuU&njM!G4A>X2o*U?!k4Z7Ym7#R@hYsJzq+3gCwcd zABfT*I{CrS_oBVp*?*FuIDs2?lj2={3#OV_+K{iX z$7clr{{NssOEXKy?XRgpFp_~+m3A=pQABb6MgJt8S8GtW3a4>HRU`a5$WR3D(6G*~ zyff3FmuDKZL;09o2N;BuaoRrR9yRDCHddoeM*pC@1g=>S|KN?@W@?~oH8b9P2gtr7iu~Z{yQL{^mU1KYn zy-V%0j%XTmzg*_l;!2Km3RP(04M^APzfK zk1Zcr`(E_aAYCM%yF{KIIu6h#r$PUV2|o{d7fpjs-u`t4OCxFpNi6v+U)y{d8Fd#_ z^5|>3Rxg$>iQC~FxO4MT?X$uQ6?5%0=$x^LZ(aDu4J>2!G*t~3Y*vY6=0;lr18LAt zfW;D#FZy(mi1AcpwN@w1^HgnJIUFI^^l)=r8wY&J5V{u%zde}~tEB4&oB zsuU+oncG3!k3zDCopYE5-7iB;rm_n8y49*#uvTdg-bH;O^W`sp+2fBTMjF(-pF5lb zT9TNLUkBTBu#dQp-~SV2k@nP}48tooWg7H{YQ2k2gFYe6>faI*;5b~Liw7QH!M(>@ z+^V!~Z|i^Q5VB$o4Iwejf%_7M^a!voB-3C#bZJo$!P>@_->#;(kQYAzUSQqso`b%V z={MJXFY4IsCk=M{+Kk=C?TbJXMc&kG;4)py1r{dOVLnbK!@#aZpgb5~D|kp}XrF#Z z?}NJC*1;42vw1u;bks=YM_n51PZ_5{Z&_{}4Bld_AOYqLB{SU~XJxVuD$H~4_HX$* zJPNQ4o1F$%lF&@K(Kvj*i#FwLb6QglskTS9`DF?e&e~7l$0pSR(-a-qlGt6ac~|Oj@20pG zO-wPEo`AJgzFJd~hV4Pz&x54rjnpp+doT5!3=Ys&)UuWbmW*SuA`R|2D0ylSGKLGH zYcCtU@cT&jMV~|V38~K~Klw?|R`<*1;UoV#)W-${%>r0!W*Fzkf3S<4fM7LTbDOk! z^b@ZfyPOgY`poeu?RuTIs`R2HYslAp!wW2`=bua8{I~M9+Pao@ZhlYwP2coQ9uVH) ziP0HGPM-!nk)yqmZNN74mD!Y-rIgc4Za?StV9wf=oJqBYWdexfZM?EQUxqt3ciH`N zIV>Rr$V)2h)5c$l(jbPs^PTVPKNR3H>DS((J#b5$YsK(Ux+Uh%wI1W!o}O*{kr3-J z8LrTjq$wius|21X{CMu;!ex4IbQEp%R9OxArabZ}GO; z{_DT)A?t8(5;w3NC8j}7F(1f2;=DyjrUjlk@B)RA!I0LRD)r%#k2{C#>jf|TANj~f ze0u1NIn}n@1QN0Hl4cX&mKdOti{I=e7)%~}?bD6ME3wXI1#YxE>m$OIdT{&LamXRf zu7hAr%rdjHGWlnSf!C@fT*h+v;#YMu&Di8U4I7!Mu47!?!FJhZih{}q6B!m zq~~AID_?UR0GL@#wu<&9iq|R{L?<8V-*W#Ip;mr!_mS?EPm^e=N<3wqfvN0FE;bd7AN_^! z&uyOYhIVUF;TT$Ec|xZqHAa~;!#?#r3K5MNpTxa3t}Cd zo7<-wa=zGi<%>x2G@D0sSP9c1qYvPbiNqW!s%S2B=GVC%D3_VLq_QP`cu*j`7y^W%~acD(X@ zaS62PQHbqS5N(huMYyg}z1T1_WRMqoR9}=H>>P?)QLCP7?b#9eTyoRB+2LV^BV*&&o7?EDJC4M zD76Vgg5$4;Usoohw)Hhk@DNtTs8rpcUS||d#brf>sSlE0Jy+bAns z^9-?iMVSs$04V|*8s6C@yms^43NvANs@Fu3gL+U@(SBl2b`f<`vP<86_uck+81uYi zBeK<-AJyx;2)Yq>#F>EU2a9Z;Qnh6Drz!=}2mKt$hZ|9aoy8cvvGgStWHH+gXcr_S zwK~>FggDr6REb>pl|?$16ln?{kaM>7UX=2Yk9@>C8Fx{v>8fMwz^@@tG$9^Fz_M$w z3GW=_FbJn(5DrR->gG+UM+4;T(c4p@zjFv$LKzM&qoGjTEJqQBgCY<`#!kX;MtVwV z4x>}DOghfR8Hie3^JW?&pw5_KUnelh`le}1W)y1C1*s2*v{sbzNos{#4dp+^sjif+ zih<`Wg%beKsI3p4?FOEeTuRLwgu9Vi2nV!HxFsl>P^uVC5E6ubkU?Oj(wwCsQ@UC> ztg`xmmKp2Y{>J6DV_(%h2ZT*b5U(KkPp`z0)t@>k3*JCz@(tgO$h12Oy__*jmyqDW z-idF1Ot0!9s}j5evvjhGB3(Y>yCf%;SeHnYp+tl%`D83wb~_9LIsqwQ*#*fi;oXSI z*B{M^!&zIDX}6(8m_`SjR^0jy7-R)mg(Yb+jeW%roiJW{U7Q^v@K34& zv0(;;4EDy28x|Kb?GN^9{V9%7nE#d_T|f6hZ`*|q>#7KvvtxU<62UO-HXaP^(nt+y zD-8uPKhG428U$5*BdIcLz zxXEcw4B0?rrNc5lk{!=fP7Bb{Fj&JmnyYg*xEDJM%dl z3?7ES(n`5<>@3_~xf@X*ds#R~Ewblts;#&*g)Tz6K_x+A9Lg$c5~QRcmYbWR;!G&> zK-e|vxx*HRfL;!GgJhE1bG z-duuYV6d(FvSVbgCn}mHso9>+94y)Slj3vMF_(Y)p1$diPU?mMB9v|$0%;C4tz*(G ztpbZub7G`qCOIG5g>x4Bd^ni+)~LIvi>PJYv2$@31ySdq+1^gUlXFm)P%q?2>1FAP zq>UO4t&!?3R~~R&{-rPv`R@M+t_c^9b^xg>agy$_(N>@*vbsl14hI(YiulM%*`+D` zjfivpJR!%L5&+gEjB|ss;$1;aIDd;}_VnC57y@WnFA|}eob>E#Is~NTNfGcGsS1Z_ z0tPG-FqlKvPBd)Z>|ju;tM}e}Z_iELOATrruNg4XhAB0%9JXoNhfgQXl{BSEGhJjR zFx`ZtNa_6D87vuO>eUd?U?ZT;51!4TK}n5ej2p^#oWmzDgQD5i{}}DKcN!X|9UH-| zjwc{RE+;@@$+RwY8B1hcfQkKTibhezCXdL3o~X!Z>IgfXy_oa_5@5q|?Cc{H&R}ee zj!S9OlVTRJUPeLCkP+kZk#6+6%yLUq5yxrkNzlV4G7@iQd|%W&gKOXcKaHAmJv_@n z2;o3tV(hCfJ-Z;#WnHX=P~zB9Y;@pcs@+R5(G?4*9E(Qk%|k*bkd|V_IS{2OQYV6E zH_JpgmSJMI-a?Di5E@q`3Qmo#H13qHG^8JjM7v5j zi^hK<@YI$WBYI*2k;uH+uRKGQ_1U7AU$v0U0NPMJY0d}5-kyAb?q9Uc(S zWeFdNheT_nIZK8PT0a$RwTLPbN{h>=7NKO3X5^EsrDl?t=UU-OjJGjbh{%OLag9QT zU)UD`GfML}I>K%9-i=aO9CQ~&Jt^HC*qP|NYW6^T-5?DJZJuUEH=JU`=3pB^RS-Qq z0P5t3(s5uk|GHgfh#dLD5!80-+i3^W9tAA(Tg3*{hFF=a|+uVPo4hWtE@+~Y`Y;`%Pj&{#0t^XVm4x1S zt6o-WjMbI$Y$^;5f8imv+Foopx&iG@B^`@6Qd>2Yv(ym)oP zf^-f+&x2^_!4ng4(08_o#j?p5 zwP&2x*PNIlGe#&#cac#&o%7Hs;HXcQ>v#I9bmJAcCGFhOtl!T&7HVXK(1U4}&0MVvy zCa{t2v$9PKX=bE+x;i#FbhE+8CtaFbRhr34L#6{lqnh^k?6L;~1`Ckw@On7IF`|`j z^yoImlrd7=NP!S6;Z_`=vMz7l{|zi$z(=HTJRyjb-odTNkxggOx9prd$18%dO7)-6 z)iR2t2t1v?Uf`Qsqq8U5Ud*<8k%iVh^uZcw1Z0^bFW&8|w2>~)oEc>gG|b4sMHK07 z-P-=5nh)!d(Z}@eqBywTMQy(>LTP|u&h&YHusDy4PMh+ZQ#4=(&6DTsh`fmy7 z4qWr>28amwn4m@tnIbb|J}KshG-*ot5HnU4eWTcxGupcn7Iw4h>^8B4;*%ZC8G82qKkD(FcobiYj8PZ)Pm2>XpfKIq~>oT@1>K zG&D*hrI-@~PjYDBJQ>Xo2lj*!+Q}%K3pLYa&(xx8CxlpEy@E!NBXvxN84oOz4X)C} z=o(swrAa47?ZIBFj1(AAW|~M z>Q=?jkdA;oZ0ps^paTb$8i+nO3DU?lRb&~5fU47#CUhM1DrWoD!TeMRsVo5%rR)@MhIoI2hx}t%v=lvDurH5mn8e zbY{<_+8M@cM2Ao1lwtt6%Be#Z4K-KAWQ0k} zYJFKutWw58>1vD4hfWkV$>tU@1J6Fw7jLJVb8$wD+StvBc>`coRAdxqMqOuQTTqG) zn4$<320&eN0;K%nub+riXk)#6$!l}K@3OAB6x6(l4~n78$1gr$gp4!xy7sl zMf16XBgR4F;zt)v={|oKuV=+svvo-*eLx&Cov9~v_|Uo{GW=3SR>xQhGI8>eI`nnS zdl=&52|6a8eJ5kFoEoU-lyMRv2&~O0BH5ZgHFcs&fki zikk3JJ|;?0@mm5}(V&PFwwQSaDi#q6a!7acMZ%50)~j_@I?>j;boRAK=T|v6Pj*_I z>Utg|6fuSkq38u{;DIgpNkd)Opj-MK5!;zUEO#iSTX&Bh@E}f203>HekH<0gK}bqK znsnMyOGAW3yP_q5e@*Mv^sQP|lxF8|q#{(2v7zZh0B#g@i5{LyWs^J&gs>R0)GJ3{ z0CTwb?AxD_|Kuk>>8ycv^Psc{&6PCEgq;}}2Qiz0brj8Z&XeZJdBO@##(|bog-FVGd zuaERx)+GB<0WrX+Ej4PpoFeN8uBr#x7B_?xnO)@Yui`58;hHqET%QU)P1g;Uvm%bR zq*I#C$YLPSsOO@MkAUHpozBOEgjh3>m=;QIO8EqDi*C}~e4c#rNy{x;WGOdQ24K~d z9Ses#GhJ1yS*?fDG0i2F(pAhtsXrGU`;Xd^)>i)9WE;-biCu?beNG_3FxjOE%Yd9+ zKw$8M<*!$17PcfRwTZ+`QeU;XM=Kli!M{l#DWg>xqw@@#UnwZ<27ZJk@9W2-Q7 zTKM=T153G82#Z5IV*YG^A${B#f=4@l+9* zO)Hc=%yu|hVzrVS4AYGH3V}~B|MXA))TZI={?w;F^_kCnhGHz@tL1j>C`VO`$Wkac zAp;usRc~B%MiUfsWdhCH=Rf~>$TXh-Ac%!?KQU?aofaEsH8H_QVJsledO}I~Oa~}s z$D&tB@eiq@0d{V(!8(1GZo*i#iBotIiWvYmpLl4XLdrS#}_O@Ur3YnCQ+~R_)2{$w5$884=q4973_HRG&iBEV?GQ(!fT65!1 zYDk=Ecbdz{C!A-O6`a(8EyV61n|;z8CY>q+>^x-yKZT`in9rdI=~t!LVUw}#{Mn!V z8Pa|Bv!69&ut7=34dmFjMQ$<$AA(>6iCh##+(y_*-7B4nu_=fASt8(pgBkIz%bP3( z2jRSTGS&-RrPjsUj~n~HyW}Ez;GlKq6Z0ZhbejWF_Ec0kD?AIOG+i8GhRva^8*)q_ zCK5_}+LyolWsk9Ng^xa4fib91ON5mp&_%Ks+S#IEs71;DG*vOTaprUImt6&D%NA{l z^pjq7K4ist77iKLq9U-sIbD|o;XkmaE0yRhI~OlFC`fU}EuKymk47KnQVtv}W_Hhj_5ou4 zUE!P~hu@n3GhlWO;$ZJZ=bemmFdoI4q2X|cw`CxoO%CAddO;+7@zf@cZBY zKK!^;eB&G6D0R;#;KX8cb5k{?YK6>UO1Op9EFoW-qIC4Q5Cx=FoRpi$L>%d%`UDyO ztCZqHNDehBOQz{sU$djDHM%MT!cZ6dI4EMFH0|7Q&`$NWuYC;%fBfSg|KmUYquKk? zm%ij`;cmvE5mi^JAweQVtrUFa)Ra<2=UldQ^)F88uqlMgPAv`@rPt7HeCG5~u~F+k zMO{MxCoh2&!FhYQeH$emPxVclBA|>1$vBv0n#gA*+URPLviPN9wT6S0R-}}o6})py zgSXoV@p}`_8c%=T;RBdelOhGn&6_u`;UJ$?hL6|N?QE$Q19=?~Ry2#^O@fQW*T4St z?|tukFoTQ;Xb)#WNfve-gf4?Z4dhj~APpqe)F^xODUCSkLC%s{zL98BTK72TKZsp@ zZb#Qdt>mn&EE%WitCVSi|A3sXKT~CV7#lKF;Gq5g@BZ%Z>}Ck~Pyh5!Kl;&+%%R5+ zfaG9YDheW<(LrgHS=-VaJIh*>en@kx?jhxgBf(XA4F@OYfsa!+zHl2(IbR-s{Bfl7 z8xV#A6`Y@V;t7YK8E_!>TCeUYDgquM=8$FBR70{W(YTReV%e#ZGxp6zlmlaShoI%q zy<4|#Igydk6M7u%Suf~9G7io;xZXuM#1U!OE{io*oMgPsbo_U8KmEE!G*hH|KoZ@$ z&-aLpckZH!x{G@H<_R0~2}rFAF6=Zxfi6;8)5Gk8;ZX+6!Lqug6@}QdNTk;=Ep3VLmO9OH?!_u6*>nw)K;~Gl9h(ip-=7B zfsBwp%8(_6o&OjoNQ$DBgE}yt6h$GHJ?aesrw_Uz)YPJ@;%W!jpZ@fx4bAP&!=O{f zM-m7qYxi~(0z8t6T=i*)g)U7QeJnAKeR@938t3{c8vzd-jJ7(dS9S>mv>Oo5Tsnqv zS8?$0JlJ{Xh^GvU(U7cYr>`=er;3WjoFW!`mnpJEyTfCgTayFPPVV6vcx-6impc1w zbRMzioy^vW%bh_q9T;jC97Lf@s%Vgq!uH~JbXJpc#wageR_ zS<|Y+A8KBn-8ONf1!{?Z{$w9Af z&T?>|zVdF>SHK_iAx^vy9|7Z_3p3tfpN&GFeduEjoqc#`IDE8g6m}A+WtCkUrBBCd zG>A%bTYJJ%=>gl5RXUO}%FtIvtUlwAPg$4=HWNAf?W8K6jVV+`H5AlY44(xa`n=2? z-u(ekO)MO8(_20~137?E;JgU&Xiak)%eW0kM#*QgQ*o*c;HS~mnQ>&b(~GPWBVfB} z1OVGIy5X8<-XHwn2X5U?d~Xcgy@|2A2{?LCpvXeS7g!pOoE~jc6bH*r#f~;9iDFXv zaF8N9wdh`oVxQelPcRe*tiN%Uv&hFr(|2j{M z2vt36b5qNda)u>s)fwqXFe^)M$vD#)t5Ru3c9Pqw?B=Hv4#S$9r%Fz%adlovl+VO@ zu8L_%RHR62D4etC38RH}4%)svI0LH7C!8p1_^R*^=Vp>3tFCmoM#-Txd#$9i53o;5 zvmDZ?GX9ieN~g3I*R+OU03PTDs3IiWsBPD7O75HvK8HTuc>rW_?)x~#Q<$j`YKEq| zAge^Q*fhkUuqa9@rK@;p+kO^DDdoUH#t8z|4iue{IuI>K??q3~!M-Q+yZhg==)LIM z_rG!p{BYZ8C`B1d3BA(jlQHUr?MX9oOQvF=6@*N1rQo561>IbgJ?_;m>QySuA|RcJ zpq8|3mg0}Dltr4**D9Ch%_m{GRJU4m{sDgM8QD*T=Rt-qoGW4(IXJJ`f=?A#sul}n zO4+9tJ9xOaJNsN19Dgj0ar|L;K(6lCdCDd+<&aJ-_TgY4m#$&QbCd~n*~0d-I7KK+ z5A!i%S_$gV&QeUe!zCtqymGR5FqC!qw2gQF6qA2+;9um4UxzDYti^HWpTs-*@NTu& zu>%J=6i|wT9?#w7h!fD!OgTLV0UIlk?kWz#JZcP;tQrtTpE1e~5h&xIgEUg)lXI&t zR3K5rZQ@X{Pv0nfz)V^+6$6ZE%wCH%QTN0grADWeU1?b{NgbFpa>($)W7biNza3ECu-mVv7p9i?Lwn$2(NT>F^P)YRxDMK8)GwEv~A+{uqiDHom)*5M@34d zQ+@SOI(XwouS@LWBuKi_T;R=@F%B zH9Bpvd*iA}c-1L3VMZ!>KF>qtfd+n1d$l4VrX1jCl>93N8WRPf*DS2`hjk9+wQWYtE%8>3N zDtnL~205_v@3QJ6PFY4$!0OhM=wGAKz$w*peXIZMggzoW9AxBQl^k~Wi)5;dl5^<_ zb^2`XH7d9w&7DT5hm{V4C_%jg zVo(aAu}Pee%#A+n(qlyIkgd_MopZzCHW7xig_0`boTTS`AlIeK)1KVMGkr}P4oipN za8Q;}6e(`DKX@2)3%zygmUA!;I`wd{17hXi`WgLt4#rlfPNpISVwJ{%0Y9U~GMQ4P zsDbtGc*i>)+U5TH@4s>5#_#>!@4amo%3I(1R%u51Ti)`PH}Ah{>TXO?MEKskx&2ul z3Wt8}RF(Vg+kW3uN;pVmA9&ya&9&8_s*dTB^|FY16_yT!($xgUDxw@LhbkOaxeRb| z5@{uw7CBtno__LTnTiwv%ciJXp9_-nX^`<5xA7UJP%wFota11sq)?39!2Te@4*m!5 zgYzt^P%?&L>0p@7K^#p;i@(OKx(F0@(pd6@c~YrVseVqc@?qyQ9jFi0+A3eNHN7;&J;+*j^n7F~K^nY+bX+LfIE+7wc8f!4 z-VACy0ToJvZr3?kM)9RY?qgR^Eq%( zwq7ZvZtcA5_yP&NWJ*stC_jpCBq~w{Dvp>kcFy5ZruRKaw6R=r&}jM+ss- z3^`4yAex9H=tBTlR*MPClxkhO{1rj_kcAJ6Qt9{?=a3a@l_JEoNvkN$lFyn>({T{j z+DzhLo_yGQP3@7;%WC4isP7V-a+cDQzx zQWa@ReJd4*QM)=u_b~YQMkg zO#DNrvDaK#=_z+I4q3)iz_lm`Kqd6EamJrgyYIpv&FUOO;?`loTO(D zFhwW`T^umLN|O%~Fy@rBB{~_c2ncmDVkJHjM=MPLA}XDNpZ}Z_$?Xdg3N-pE{rMce57T^NSTTpMkY=b#~zAG zD}ppjV}W$WcH!NQ?z#V%3bg=F5Bb;hM5Bye@IhT8y3KSDKK>I&QM?$R)xtmf>XR|c zA&pjZ(kVR+%b1%q2LX+)**4EDckHmZ>m;P-sfbVaOe7+;!!xQ9O!k2TuL}$iXPN z(lCpT;h?*yL(pB6_>|BiVdtQEF!q3LI4<7q0LD0XQ9w0&O%Vr5&eA505|D&)XYkI` zpZ!Nb>0Ni-NbW5wZU3t889b)YLM9hQxA%A`5SjuKQ#@a-jTd$^Vy*4rHZ-Ioh_f+s7y4vlAMPL^ouDKUoX)Nx%^@H%O6ed(_-h^SK-8+a z!vLxdXjFCmG#o^5=wKo)Adc}i>fzcbL$Ub9zLJa1GSnO8;13&fWPp)vS!J_KE1iH+)p0G! zxbyEKQHrM;LV10_K}>`+yQn^>B`m%;cRCO;VhFNwiXMG9w=YrhoRsBMlpd%$*$BAZ ziFeU7OQkx~XA?N+lR*!IkMHkA4G;%s{>_*z2o!BBor5OXv~z1Rr3N@FMYnu`!33EQ zhv2{1|EWQ*Vtn<*g~67kNR^hmx>Aj*PHKJnplBEr#fE6rk{vpXGF&UpL>MK6*Qi>9 zSUSwOi#o4iNmo_j4As(_o>nMhDd2NWDgbBDyVfX*i6(cyKTS3f^$U2}==pDFHWI;WPRA=;r zCx6m#bV-~ZCq?c+jFOg#U>}yT6T1CV$G{8+tsn&mA+~kY1PTltG}@WSUQZ%O)521R zxs99>a4h3P84egdwI}J*?sHYdyh;jnD2+{wN-G-67_&5% zwKV_60%nPE@oBnZ9KaL2lLAA4cdzTnbICL?o}dwI$kG zM6Z-GMPnJ`L|E%GPIbT=?6DiW6&ZNX)0U-&XY1&ULp_jo7a|mpcJZ^#wi}BKw}Z(r zEF}X@3Y^#Uq_YoX$-g*srJ=vNvWz^9-4f`w{j&qQL$EUu6CKAE4ijw`*3oM~Ow@Dm z!&!qx1P4=BQ*;p7Jc!JWCUI(dK7^Xi)Wb=$Ps%^NXhT4Xwko2d9vP!{|8)QRfyiZ0 zI++;bSq^qq^09EM#6iPRWR32+>n3sPOLEbV{Ra!5 zus5r~pIth?sw|l^!hPc^TjtKMhU30a8@2^G0F#oqCoY0MN?W2dg$))N?I2 z56uQ0j8QKDXi>m{A|ywp+Nyba+=)IpNEx%IT$L7l;0?pUIED&t6c!N%Iv@2M2OWz# z>0Wx{#tqwr&ZD7Q8KoDehG_=C-T~x8I*JbHRn65I`cNqvmYwmA!@+Gh$ga174-M-) zJ0k*W+BryXIPRtMJ()p14jPoTaOIV2`PZNT~3#lSfR=^2PkyRz^NyoEx%T79>#*!k!DCw#b{<RR(FcvbCm%>QLky0WHcvF(3uzVVNxZS`@;^I2{{LMa7gBZHic;!;16zU|dFI z8*$MZ8qR5G|2K-Rrry{X&Vvs=Xzc1D0%z%@~*@Em+A$}UX__6P76hyTdxmR^K4$iX=Wp_+VS0YbgCZ35nK&?+}N)eqfZ zujgmeVbED+SW~I2hV(?5)Tq+&yexUf<xvZlf>;bv}Bi^A-*QiP2%7Tb#4Q!QrA} zn}t|#?X^ZvQf@D(s;)Rd7?3amPzQnZQ$j_e>_a7)>Kg|QADbKnkrh|(sK)7Q0iiagB}L$IcGV@b8ln|6*Z#I zr1fgjv7ai25RsZU4q4(LJ*i^4qL4{hW#GzqS#SF(K1-#t`fLKN7fy9*^z>wD(9MuN zI{o_oOVdzl_~>b{U;{tkBn45?Y8vvxf0o8lbBajqrb~xq4sX@*u$ zc&e@zCDxQ0cw~`IuP9?YRpLmKR_Uo_?23j>bu}WC2G@f(U2SOa7qz9iC>qwi=P}un6BZVBA%WHT|Vb~GG2=M z!i?V^?43;bgt0hi1L=OEx0n?N2ZwyNJI(%B7bcBG)(+E$gWkzd>^yD)20P~7uAT8(iOtt(w+`qTEc&*GL$91b<)V|t&? zBcSW(NB6(8?bNeIuxbg&Sq>TtScdtC5DlfOSZ+)2o?~$xe?1R+Ib++wK^GoPaI1PS zGfP`zmonHEirbV{rIfFxrAm|R5utSTr>{k-)LQmDbp{eFtIk_2XF(jaf`O|3luo0v zF{Sv!8qt!mT&0ZLL>TU@RdQ1l{`0vi9UrxXHCTf(5F4PUBr9kkoPF5mtatEXA8EXN z)CzAPZ9+t=p~999(IVGmPn8_5N}nJ5rj{NK;2E_pg?2oWwslxvheBg_g4kd&&S_%j zG3uA?VheiP{tjFf>>$yn;Bkkpbf`DV%D(jJ(p4N(m#5b{TyziD{@%(r6;hGTEz?u)X?+b7{u<86(E1 z-P{VRROh8RFsfxx9snV#%^&LA!JrNS9elsG{|P(yPlp0zLR1$pAc4R_g=A^L>qBh? z?~o6Wl!SA_A-Oc1|9M&O`TX3taoIG*5O%{wQbd`d3Ej*9DiC^K+Jv~U`3%$<@zR&R z^sc+^ax=H_Vu8-LBcWKKD7d2)BN6H+)I~li7hoBSC2ZeMTv{+}K2R+=mtH7ic zjDum%Dh~&(qtQVr?18a?IR0?Z$Mk-6_nv$15y5iD!O*2He`pEY6OAH1VW(GmHjNHN z;5p7LQGmi&Cu^?ARg5z9ilEEf(yb1l5}<`)z_tp~;uoR#rG}$4p(j&xX*ly!m4h=& zP^XBXt;RC==g+7p&)gU}(94>ujz61fpOLlaTR{&#)&c>c&c5nov{=A4d%lr^pE%71 zyhWwy0OdfgAiAbgi|2XnU0T;#KZ$PPMzDhvjgj6_g^Y}bW*y<&t0xN`wp|9y3B*d< zm(WljorXjN0}-lYk-e}TYKL<$V`)bx<|eXZ_b`ZtjzR>)KA#VIF#POiKYQRHG@{IX z``?p^gEo!fpmjGE!p%D3AhG(^h!Nd6uLJ|5f zCHqyW2zg5RY`xh-h0@?U_DZW#)6#eR9s=5bqDb0Zosk9D6 zA}Ra9ZM9To+y?E3>e+KvJ$MUS#X7J5EQaH`#%iLNyN5f8s4O|rg8@nuHs9xRjXW>S2kg|{|EqgYtV(C$OA!z`PN`iBiGUk)LcE>(dR(r-tIVUS|(l1M%^UpQZj`1yFoJQ#=g94pRvew8% zS>jGZTQ2I^o!X|r)eZ(H$kHvnx1x5U=nZ!I|o{RWe98KCOUM=u9NHUk#D zh9bx*8QD2pBY}JXFPlYVpbA%0Doza*kUf}jW|y{VHX`#MP(8nMR>YG;iUO7@BEy~4 zVeQQ7qgTVDlu8RSMSJ(3k?6phM*#qf4k1ll1F^kZHG81@r^C+uGXmNY-A3&8R+EE9 z1Bp?KY&fbHaC%4?q79g{sFEVBXtF7c5os!pG6Y+RL)VijdalYEN}LgPq3R6XkP!g| zr0fO=bsaRlpTWU)DyN2r5i~S2?u}ld438!_r8$g)bW;49psVGcF9OSyG79K~?J>{^ zh>vchzOxN-9a6#7Ie6fp<+Ho;;h=B1mD*HEcJRYfgK`V~*`NJcH1sjOr(G;|{T9J( zoF^C*gg@}a!J^R<*=r=m2}0;RDZ++TpsEQ)L{Xt?OEy$zv`l7+ze|XPz(Eg#_KLtJ z6-^aVv{G4B6ith#jdI9m+&I(8S|mI6blG}X@KP4CBA;DW73*c%?S4Z*n~4WN!@<4? zXi+%mc6fk8bp_Dl)9j^DuN0)C%<6EPx{4z!M-DOb zVI0=z7^K;F-5DG-?N>b;BBM z{$R;MU?M~zAWz7F7IlqFWCMh&Xi`{dO|NZ@af)(2R2*aUsdPWW9^#hSb>SBI>n_moqMSx8*dfhcHV(!PvtdL)1^*5RQ|BUT(tKJ0u}(%;BX31biug@l={_V5dXvPU%837b+wQbkis#e}5@rLyetk-|7(8KKv_*^Y2f zhfQ^eb=-S3ZC$`AUhs?sqfC}1FiYu)Qq`-wmS$JP?O8ck6Q`-_1gasEVqB)(Lyajl z1cx2=*~}5JLlB}o6}rF}ew#n!>@l9c)5ekLQ@T2gJ>wK*KdsAN_w=yRHC+icOwlD$ zR!Ua4XVv)^q13XH)iQPzNDv{u$ck@896ILEt;gbSq=ZABAlB#J4DhB9?YWWtBA5LJLYov{de`NeT;Zea#0 zO5=#E88bPi)NJUpU;6t_zw}GL)cctpExjY>bbMjPFvlvOw+j4LD7mhQ+k*>zrHGa1wIDt(1h24JenAvz#g< zob%LGBPy*|bRBNfb8xu)n{9KhGcF{m2qjK+ITvbD$_SsDJ53d>Zn7in^wTQOYMIgT z)G^zIcSr8_9=&ZKuKGsd_;aAUM1>sdWjOEvKMhJc1Jn(=Ifs182%p@BJEQO!y~UdB zsvL?Y^6G;NJ5--0g-#9tc#eLm@Ej_w`WldZm6fEqmBtJ7;cRID@-1(9i}`G4b{d*Y z_`mPI`@n|Jfq;Sx2Zwz{=D9I*`GZb5BXaLy`nS)}@bSkV_dGavQFK5eX!Mi;mfb~l z$vG%%H&6-y-0~a(ro>9Hx4x#)Qi95j8#g?p7!D5JamO9~otZXj@sZT+)EM0aT&ui2 zu(vyNHOKz8T_`Nm=nGUzM6h{WQ;$V;7UK52$fYEJZ zOaNY1(Qs-M#%mv`eRto!0Le353VsQH!ZNj1tSVBGr$Yph^>F0{Jpv9>D2xZ; zbFiFdRV2f*vfNhVl%|{|VB7&GQ)+r`*R~XQ30F|;Ge%-KO+_z4EkW>;27W>6Kurwk zf=$60D^-P^ab#ss#wuQuu2n{_EeypogLbBVe6gDoP*bM(9#n)A%@d}s^VTGplHDFO!R@p3tsR7S5xxB7rt;5 z#w3SQmhr*dac1N|SlEeQn@T2Y0(~PF(_JbkQXN3#KCkpbSSPI!{8Nao63Q@zQZ@@1 zQ^*+0o=s1=77Gr%TeHpBX^I^Hz|)a!-*A8MBAqHECMxnG)Q5v;D0MG& z7wvh_)`~UJXZ?I|IH&{eq84{2*#*%~@1i;h!y5ztaC^f8nJv9k9Xknx*kl4v=TYaK z@sc4+&owBMT}mJ6aKtA535SeQQY{LfP6t?ZSeRJHgzKm)M-PClk?z&)1_-OeDI+4X z0k~8)`)WL^i@ZuctL31dvX6yNcHQeS&>W)MP_IMKJ;CFQ?T&M>j8kh`b4A-I_rYg; zB|EzmWgx0FFb|2wILJS%TvdzxtpDvB;|{d9cJ=eLS9KttsiKwal#Hl>Aj3f%vACXk zY;gbsNRC1qJ0Nuwnm|7BOPYuvnwWYOsZno)KO;eKdfyjCKo`-zC*$v`o!&(q5FR&N zAbsfq4Yj^qH^4=+-6Sr~ANfSjVBW2Vdw_=K{ zx>7zFvnxs%37wsACMQEV8Fk>Bh#( zLohvih#j1-#+5bWHp-xV>K=*;B^^7Zn5!jyZHqq4qKhyc=6pCJ$8+q3ih!jnad1Qs z^9-NBZ-!l^T&pnAQOM{OhX~F-f`Evo3Ubv@p|)f1^0Ns_?Bhc?doSvnqCT3JI#Q)S z2?r61AY-Q|4hMT4bccj?bOTfi4bn)IFa}`h9FB32 zGhrv`;dVtucvD&xs51lMq#~(FHp9kFCsk+USw&$PbDLF@9qiFb)fqXft5+J8s!r-* z9oW#n%i8U#tC;^}^JHYHMM_4_t4x)QWe=&ov2c)1G!x$C#4QvsTsz&A?9w>sD8xr+ zyXx;oTQmI+0PN9^=zcO2FTJd;>c zT1Ea8rNgh)hn{^XGj5bTDJX+hXhJvP?tVzuQRtlmCYonQA;935b5J^QqFC9XVH}k5 zyo!S!3H#k8%Lk2#)*UN0Rm-Xmc3qbr*`668jT@f?4P~R4^pt~)1d_w8ln!9cwrr)0 zKs&H8rS!5bjVhr!2vy3mhu?k|LqJP#0NA*xu1Kmy&J-05LFenz+QWQmuF|R$t)3K6 zOvWtLnii|BXqAbOvFxPl&=`#fuB7_rOa}=oVoO9oz(Bp8e5KaN{;UI>8>aa5rfwRg zu#9j>SXQWy!)jlR>4&J?o&KK(PFHLdzsWb3e$o>W?t^vjZqpEJht z6Cq{gARV;eiejW5^gPnq5OuQWqdbx2G2XT!6 zb7=&OR^Xjf%0V`KQe<{((i~5|!yC!oO z!1(K`*4KbqEUcJ=;aGE)U$7@1JuJ#x~kqiYiHl(YX=SNRb-U=qXCc zWu)zjONSq`YFv6Qnme#<$4ox{_~SlRVHd}6jN*y?U-YI6Qr%kNuu61TEm!GzmJU-W zEUMIJifp9;yL5HSXWS;#c%D|TXr&=Eg0Uc0#~$bwbnm_Q`qT#Xq9H!|gu)%w*m;^F zsagf8KT?qkrF5X1=h$VRlc-qT;Y&nV(_z6N&`J&LPpJ{_>PBJL2y}6zxy?YvqIB4l z=Txum7{_ynLm6i}?ht*j)th-&eG}e?(LOG;3SQu&gFfIOaq1b`I=aq5j3ew?Ooa7L z#tRup?pG%qh&~@Yy^Ff>BAtzQKAS*%NI(!cTv@|{CNMxKWu<&VZ2q#VS$}?sH6?bZypu5W>4BpM3HQU--i3KmU0O_I>)(pZ@Zfzx<^yed!aQ_=NFly=&^A zeN{AZy=Z;p)H5)%=Q9q|MD&qn;dbg%QJ(aa$Z|-7x0Icmarr36TDS#u{GlPmhU^uA zM|I1`4RS!DTCsz%Mhghr5hM)Dj{P~YZ=8!JEl#7Tl?VcLdL@k}E69UuMY-{0+zymK z{_vxZZ3ktg)e^9Fr_VJprLx75CevKXrTOAvuxyRi8EyrUMVwx_m_S@G`7ZqKqQ2kd zD0C*;`Y^%_bHgeAdS09v2v{cDpe~;`<6w7Dw@`I)(0A2V4x)fXcl4Zc&|wsh;u;=} zunY%Ru3e>1#W)yLINNr_v8+1jjQjIH|MUNEmrs4_Q(yez7r*tbZ+-1+UqeG={LXj2 z^P?aA=&N7-DmPPC#Wh+nONS9xDMP?fPCX9+^IVNqWQ4s4lrfHSAYELmlpf5aELt(` zp3QqIu^STvbOJ&JBzQ=)H>zb4ptK-EiU~DJ9FeY;;Qd_FI5?ro24e^ZX-zZ)%e`%q zwn;y>z1mK`y^C&gL{JM#VfDZI-vyYr6EpfK6}%4DN!f}HY3-gGhk&aCJ-!SF8v-Nl zAQxuwK?e_j^C1Ne`nb>|xo2>&=jj~8EVU+JVYlJzG92U}ru!%MIRxXNGqK;{J={gF z;-JaI6it)i7h{%6$G$4qK~@Xr{H;ZB6{HXH%%KzTlb`(LQ%^nhm9Ko|>tFx+H^2E! zq{G2~*oE?gAN=6^-~T=``e$oQorxmiPqb4KU1L#8_oO4^oJDrn6u;QVr=pcvu*aA^ zUR*zB z_x&~*_aF0V5^<0v<&a$|cF;ElE;6NyZF>>wI1|&jbj%+<{l+)G@#7!=_@DpzpQYdX z-uIBvIf#Yd{`R*K@VnprE)M$ctJ!N4h!@gTYJz1blXCDWtH_+E0}?&wIC4m*Xpo=s ztmz@nWNRIyn=e{cT>o^;+Tg;)QkU$F8IjQ+-}e&aWO>(#&Y+rRxg zuYJvHU;nx{yy zYulc-5YTChjPp*$ibsvx?6|2$N1x7FpC2M?kt!yNkMiIs`lZkdA_q z1P7giKm6ej-9ye@G12ST;#fPk@M5IaTFpB&i9fqIjzlxNPRV=NSB zt;4Ohbl#2umbPwieZ{|i#ofPlx4mLJwSV>3=r6z9FSfkmRj>Tb-}*oQ&1+us+Sk4I z4X=OQ@4oJJZ+JZ}zV>zY`8U4N@3Ou5{s;F@!S+9B0J^Xpya8BS4XPnaGfp;3Y?^eX z6@9gzvC+;9y~mg(qoHJe`Km ziGy*cL+65lmw&25-oHF0T)U4|~Iof~dZ7aP6BSlD~9Fca_42e-ZcyD`laCQi=-OoZEt(qgAZ+g6dEeDrInt}AQmkrEYEuLGLPB4w1-AZ28$u!~yBrD6M-C6LJ0S#{}*CftgI zB}QcNuHJ3g7n>aro|s(NUi`~1b`1XJZ~n#`UjK%hH{brQcfI@H|GR(x2mkR8|1aNZ z`p>$9*bhJQ!ABnc;P!<>STL6NzyH1Ode1xWe_;D(+I*M)EpK^?gI;hB)7*erAEL~3 zRmX;3t1|3MnIc(1Vhu&M2wAu>8Y6xwvLAY+b-tT_qx1W8eRa+2GU(O4jy4L>NkLSn zM>;etY}vwg6uOt5<)GC!e8fNdJUCZS2jWl(W`;^HrYh5OfSIeS(IA`sv>J+rRT~Zod7-`+xtv-hVlTYzM`LSjQW#|Ir74!Cy@Mx86VCAZm;6nb)EKg9@D~{7I~-pZg$wA`Zq) zVdIOe_&Qe>3@nGchsmG8dNZbzb`Py1*EW*<3Q7?NhNTA%Dl&D>K97Oehv3~sJ#_S5 zG=c#9H5^n59)vPHS_wFKF50A=Eg7LCia48I*@{?XgRymw9g3WB(qO>Bs0qc`%@uUf ztE&nIu5=d7%p(%Z5Vb}c>CuL@`^hAD`*g|@*ymv;zS_q*=8 zcqxjN!0C3Rdk|;_!eQiT-n1xG_5=IM=G>I#CLQDWWE7Jyaxmx6C3XLIb%aCz)}()C z%MH!Z(95DX{O;@D_3n56!GHRXBElhTx{mqJbCSbn`}FS-ht78Qa{>J05ARP;`-}Yj z?#Aaa3ju`o88-nm^kxzUv<|~i-9fW*P(K5MmYS@9!XMX{d6*!9PF zeM)OB4Ax&|u_9hgqmS8+eUln>y55puCB-`#hlzKIw{G2Xjv%A&stpINDI^~_=q@zx zMRPD41SuksG){$NKFI)^LlV(e0`gHb9Hit)(G9Io_(6#1q*QfPre6YaO zNm(v>y#L5yEV5VeC1g%I(W)Z*tWsO`gtLW)1aQ*2JD7KIT|^y%mfJ0ez`Sz@GF=b& zhrQvB&eUjpVW&hN$|_SughbOMJI@qF6cKci5i&uG#is3y#yAAL^Ugbe;TL`Z0o|Eh zoZQ*`&X}ov>_ZptO9T1CTci&@_Q+!&{?La%q|8Y7HZ-w^#Z>1Akh=WddSYNh9acU4Yjr)m%EVe$ueFq*KknLzGG}3G>~)*a$0FlXAI3VpjB|<|NPJY zyi2LqWsYpHnfdyDRun$OEMm*q;wa#0|!N0IS2#pz-HSF*qK9D zjDY_bG0Z}rER#m4HC41`M<2W3G0TuC&cib873DrF8E7xBvUU zb9TIlrlJVj6X^&32=Nfm|1K%`u!cQ)aVAhIKA?tt7SWveXz14W!2U;WMFVUON;|(w zHKcA4uA$*s4)QOE84!U8zR_mC{klDBPETwI&LboB%UyQn4rReB8vIRF^U^MRA9#2QAZU|EG_6-9A@GWPLbi_!xptd^}x z9H|yd-3ay-olT1%%`^OqzrkYX_%I^R$x_yU*|UsKaVAtv)cLb%o>ObGfC^x;_8+^e zrw>cq+Zg8{0(u+cdBpw4DXBWtaaM&y6Isg06pdw+wTLd%B?ULua1$z-A_`9n?G)A- zAan&qL&t#^GQeryFnfUaKmN!6>#*Wn1ice-JF?uGrH{JM`gZFhkMBN1@Lqx{F2->9cYW>_dKV zjR;V|O4Oz+}GU1?Ts^>o}$j;$*WNK-GgcC+}3riWFQP#+7 zKRFaZsDe~|k9|JjRzVe|Wg#DKRkyFY_PB%~9rjsqOmx$e1%Nld`OWSmIjb0hCRFya z>C#hCE2${#ZMfW_$T$JHp(nU1vJjrm^aSeC| z$X+9S$T-lW2F2(EAxg7nl;xu#BXa4o6<8N{0Eb}LZ?{t&gB-mb4(b~M9ylln2OPY0 z>lPYPRPji7I~;WJaL4cnpdt9#DR^-RLL)Y1iB^2bP)w198;6xdjN>-;!M`8{?^2q5 zkNxyv%7HyMp_IyAFZw^ilOFyL9mpux&=LtJ;R%J>D=PBDR{Kz9l z0ne^pp8KGE<)GunqXByMFbEaE2{vj`Y9h*HVa$he5cVme@ZSM=@qL@U@aeNPWQzZ; zcfHFefR4YP`I(<_4g#SAaeXfVdl0KfA|Mr5Z_xhGcI4@!b8x5H#zFsiD2$l<`4}-b zK5``@(4o}XA*M-l3_b9`12zG#XsiN`K(!)nM3xM{M#;XWYmw?isR)Ky91bEA3L^*I zpu?CQ0O>pz;GiwY`x%df_uY3NF!SlwN-+<*O$6CnxJX!BKAnJG%lH6}6$ktG2jiD< z0f2L`qu*m7$`c&KbTgnKJ`soKs;q>{KIwLh?KD&+0N0QzYpsf4dwkNx;TGm=R60^9 zS#DBp*Ndeb;i-D*w5}A`A_ZkFJ@`zVgTE>TVV|OvZrMw-Bgh6?SG0#8Hds$U=G>77 z;SNF1gP7=5fQzULs;3fz9iXa37pJy_3cxGrlulL?BegE8%EV!0DO)t~W3)49-KP&f z^;18EgN{OdgFySUnHiv}tCs2;wExS89`g|IlkY2QN7Ip$|X$$YVPJ z{d7O{zss{&D7wgyETC505CGmT1dYb4W5c^uSs8b#tCc8<8x#!@cDhuHsFY4|qVcq> z=x-8+gRY|%#Rb(#v2u_NDrb)1Z3wKj46z&6Ao3G$SfphX^M(Nhp`lGP5GRa;matwt#u2_&L_}H^S9hn zkrI8Th+C4|M7T6R<0pK|Pe6)nU;{I{Iq`hamxQe~oD=)4`_C(0@d|5!p_<@Ka0hbY zpt?gedfAlpO0_joscal96n%sRet^e%Ihyt7&O7h?>7V{-N1;P-;Kw1vs#tJ++aSH& zKXI_0UUG1w;Rhah)PEZddquiE8*chW0{`E}wutz;!EU`wj-$|dXMMauxL@bEYtpAH1qlw|*fYzdz1oX!skYJBHLnx3QJ!R_hRI%#fC{@J2Dr+1? zjK$|eNzblmj1^s#uEZIi=}(qgmvTM@Z2%6m!@;tO0-o#;bLenT)(8<$$|uCB?!m`w zd--W`Q4awff}Mj79b2x|(ep3^^D1h+u-BxAZXB}W2pBjEC?*AR;72LqYuzDu#~pW| zA?$e!1Pq6xP<-Hxe_{DkoQF0EJH-B=^$4E(W{k(ghad4aX-l^+%GgD)@57J!=>9`E z1gFcLFx(1DB89M?g`K=EX6C_SDdM&>>4HtN&qEr!R9$HSi=%1WA*RUc*o$1qT~7L1 zf~E1jbR;tB+@v^2niipoDXb#rpznbBdI|Q?kLb+Z(_P(>J8U8NNEs#5J%BpOdh-XXNzsX)=( zMlniaEhsDCd6I)gt%H$+hH9ly9JEeq!l2x;Zrr#5@D9FCKrdt*KpqDB^bH94TTtB) zP={r==Fdr8I#==x+YGZ_)tTT8KOKVl<2{Uj%+7}qy5zCwo%_G9%>hbvrtyk9%0@f4 z(8snnFx#2^=m#Hm{5|4pGar2PF$COBLyCWy&9CnI&qdTzr2n~)g08TFZw$PAC=)|x zYzR20b=x=#w>($0t2jI|S4~%nqEo3zs%R?aCU~@>Xx%C7U_w3Tps8>jef6tftus~u z={gD{C>lAcfVfU{eFMH_ul%NP@<9Ao>S&lxw`3y6hRlj zBdaK;UsXBRkb{H=pY$05H_k=iK=CMf$~LxLNf*j&sMVZ|Lt$-M0OqjsK?d)fgVq}O zorx}@_FLEkJh_#m$aUQ;om%SRRQpNecuGcYx*)o+OGBMQ&oThY^>qT)TAn+D5vok6pfY-LI@&@~54yUb}Sd`c(&yV_2UX z|6B$4&mb{td)!$7(sWbjFme>)f>T&`0FO1Q&f(xbl%s?GBmr48Pa;d9@}%p!Z=RM< z*A~L+;GhpvrsdXKZ)LO)xuId~Q>GM?E(qRL=7x{+O(vQsF>B?Z$@hJryJ+WN_|KE` z+R$UiV$fB}nZJhY9yd7duwi83Z$9n(CKL9EP$}VS;DU7lu97N*`t6)GOnv2Gsl*aT@M;;A98CDtT z+7`!zc;E4<-v=3I&Gss||I0Wq@BZV5;4(2-ZG*k$q^?hLYU9GO9Mo>cz)x8%yG&lL30|Rb`SxzOGSHUuFP8UEzJAC=J}zA@8!m^gf>I?e=Wlw`n|v0Kn9<2c5JOWIUl)@D zi{OdmDOt3laAPS45kwQ#@O|!Z2)gGG%8QTx_895Ood1UN{lpm(c|2e8+?n@9g?`Pz zMwY!4WGr&?a}cv(+jk4aL7PALnHHId0$Ok@vR0ZCQT%N0(v`;^dgS`Uk8C$iBz*j_ zD~~^M<@)1%oRXIxeE8~vmmd4TrRxtqdj0ZaPd)zB(@$J~((&kK>gN@HgVc3!`)~PF z5-D`YXwvMB7cN}r%S=3FS4;AgRrx4m76;1c9(g8oGPSFbT}+(n*fJruVgT@2#xEz} zpb4>9ckDkf62Vo|Z@(ayCdla2D2cMh%`ghp2&_>5m+Ub!*w zn1g^3@HR^9q~Huugd%ejWo7B@^Nv>=yMef9+3*Pk(!A;0a^1Vs+HAqza!UZ_?LWF} zxdU*0K{BIqMgCAAMb(HL#PJx?fQQAAXBu^+M^_6uIC|tmz)vYvS=sR$4wlhfW1zoCr_EzOPor-nKJ*$p+{x& z5CWri7Ab{x`Pc{CLT|a{7FREmBNHsp7OtRF?=?Z@{oZ-)k;{)geCg`Lk2u^Ob?Ln3 zrxe$}@6kv9;Rn9=2jBDE|K)dn=RdjU-XFYh@6&g`?eTZL=kZ4``|}e|K6U-ECof;Q zj?3<_WarNCC@Mtk{cR1(; z*()Jf>aZWu$r0l5=r4n&Fs96(6H-lrjRF1WtTyiSGHDHxLy2-qh} z&LyuoCF}{}GVH*0*a11Hd;gLffjW<-TEc4eZsyGi1tuMlBkcBMqZ3&g5YmPNnR;Q7 zjNIshf68P?=WmVpyMCK_+m0Oo_4Y)*+WerTc|du?7jQyRZiaoUk0wd!(MwnY6v?oc z4-A`LdxEYlmRl$q0-lY?mgq90EmD-Zw*0*SdK26}s%&p|eklK-7r;laU4P{24?Otr zN8Wq?Kl_f0|IHn@fA*VS|1WNRe{|7ayL%n9=EMPj(L40L>)6ziE z5x^KGq1T+Cq2mK8T-7v3D{h<-mLRX3I|{WGR_#YV@{vz`;uA_gBJ@qhpC7cLnNP4J z<{Yi`f^?vT0)%2A7z6z3$(gZ+m2jANj44XUfggAd;r3Fyhl{jF3+n1+P>7&Y2fbNM z=q8!n0Ht9!z)CEz`}K<=paPJXE{!&Ub7&}^HV2*-R9lbYBb1FD;Gs)mzPdxcJpm=L z%!|LZmX8@GCc#*UNz>MKT5c#Kh#}l}-+dTuLV&ZS*HIjdXv*e<5-};Ei$C2$IF1cg z0&!4jiA|lGgDyD4!Qs)$uVC9si_JptY90B&3e=#|jcWJiJrv&R9z zI7b}v{(JDT>mRss{h>#%J%xbx-~Ur@z4uq%^oB3I_SOIW%f9aSzWQr^ z?r;9bpZb2O}LM2WcgXGR1^Y03MmJ|J;AnMw+DFJg2Zq^=0GTih$AsULMdIR=FQdGikKq%13pR&HY8&? ztey0y`By_P zlt=ReHWD^KgR)g(pAFx_Nyhx!f}{bN#7H&atQFFrkAv)q%a@+K>Wj?-m;KK5<)`2C zz8`tpTYup#Z~WtLe$8LJ>gE5}*S+L_`>L<`+?RdD&))JMe)K>18&|&i@4V}^uYK3s z-}=3eK6u5|)+-$vZLco-Y3TnAP<-sDM~iN*Y=Z{E5N;in0Pk`oEV#yNo=|F5 z3B@C2dZ7y_a@P+yL=b>?18>w}JO3@j86t8%7E~9mj)K_L?eMZv(&y}hG24PjJduUe ziqg6SjEoX9KlX>NtSBil-C0MuQHa&igkm5>bsSmyFJ_5IPpY_pfB*))<~hKt z%}rv#{wOyd`z{fuhJ)1#xCegbH`Z7(7RN}3gO(dR0ND2E9E587HcXl;Ssie2uA?QU zUq6?33q`{ZfB3`hqWzu>G}=-C14N-6l^{Vcj#u-4z`t784HSPD4O-O|lSynOpvQ>%&4- zY~rlW!D?udkrHWJu(LUXRJqx5mQ~O-v4Sg$(5eLux|I@B6NhHkW}~B+Qmy2ycDiOU zMTCW2%)*LhfV$Jlac|eMtdMW&FcBYdP{Q*TR#>&tLq~KYGzu{=)O0_tC%p?|tAazv8=I|4sM5^W6_W zdet8u{5~&H+t2HFDLtjQ!z_>R14VW}aFq=3yXozj9J$58f@o_*qzJ02W#>@jbvX2d z8v=^#6%P$L1GXEK<*;enmvGRTVm~)m)|aO%t8=hDp^{NFxhci*K?VUGf*p(A2cH!O z^(OiX*Yws7^r7rxNuP+~5nh$FK2t(qP!bWKWCTaQT= zdK0Up8<){JCfrOqo__ng zKXKQE&%Wtf{_tB~|L3p!rhoIA+y3$&-1dLG{I!4jwJ-aluYA$3-17WSf62dp=1+3a>Nu1^E)F6ZMLwF4^fFh4eU3keAiGyWe|G6vaWHsC znW(3XhK%5(WU)axKoM|o?wuk6Vs5LPXN=pCcyy5Mj5+!p(TT~8a03r30_`Yci$+5) z=G;tWHLXi(ezodoc zFTMrBBTVcxWE4=>oEtbx@r%jMA_B!)9B{C^s0@u%z}|xOsEL@$8;ZWpkvOR2GokXg zjy6(n$14YA;yAYN$-!Jno6r$g^X*~3fp33I(C5%=Pd;$z2fpiFpT765e|6!FUwGqf z|N8Z}{pB~@_7}I__P@UD8~?`_zx4Be>qWnG%a?rYd4KJpFaOfF-TKnEzU}V!_+?T* zr|{QWY_D*;2q_;KdOBvtb^(SuFtgVU2SJ*HtVrbIHvF2lql_CLMjRQkEIj(B?(BjQ(rkwo>>LawwRUkNFjV|KH8dgK(!n?GV{H$dVxa8)+lOd zLXjH8=15aJP z{`8Yi`Dn8JIRE%W7M$oYnke-<9JFy6KB&h*Zp0L6qQs*i9i>{v#3O}0f*f!#XSI9| zIOvG6dw0R}O~$uz8-mqDs}8u@B3&F5K{7(Qseb4~AL@P3uZ+_DjQ->~2;PqPQ{M+6 z6ZVJ&>iDB)+%WpkLqKAm^wwa>`qd_20^vPLZYU5|Z%=>!CCiP1J7tQy781gD6mOo}Fm$LxGO z((6m97ZIdqyYSK~GD4YNO{@qz2lFTGH>Gswq`wdu*hph|##B+ea3yK?zSKb!Eo z*={D6o_yc?KKjn@{FnE<<=5VD+vmRF)&J8gzv0hcecS*3jo1rHsQE^-Dyy|M<{hIc(tO#7=I*^mb#eOd}5Z>VkKA7aRw*Qqr{*4e$J+ ziBEm%Q@)Ej1bv_JZ=XE}4o1K@2%O+YBw*F-2Cj$}3js+P+9hPjAIx&rigUm|tK=|} zk4H*qu{r{Rx&y+Yo54ydtdaTH@@c8cfb2P9(dx?6Hhyxg3(q>W z7OpP1;INR4a710iOrz65yRUB06m#{;fYbOp`8XUBxyNmWdXa#+@ z!Ln|xB4`o^g(7qe{qX)zXJR5x-)ByJA6(BtD1~sljgbO*m>dpL!ugKJ?Qf>N{r21K z+YZ4m`I0XIb$f*fnBqkyco*b=T!DNo$022{l7sHdGZ;9+T=~oZsOv&i2;^Ww5^n51 zc*3^JgTzdo#9XV~X1j%&TMfAp{(^hdX{@jJYL$Ykg^D6)p~K9!csrL(h3!au*9qsZ zCRU`Jc@h!$3&J?9OtQny(bHYD@1m|cXK_$lA_x&p%mZP(p=eS*#Ti}Brq?yYYXzj4 zG%to0*ZFQT%?VJ!SmTn0QEYe7%a86Hyu5SJay>qyciSNIDO#r`Z zvjyCdyWLOZrXyq_9-+uCw{j5dLw=*+qwO$AThWxK%D8F5q2;J~J#wJLK|8hsWzNAk z*mqG=hlB2-GAZ*oSP(k9_rZQNuVmr;Q$O`norAyzOC}c0!Sb%<-(6Zc2-SSdfJ{gb z4TS8LtZmcVR)?T%6AsyV%8<`AtUH#Q6cLjAMKjMX2H0l?oH%wTH&Td#I`|QvP~?me zP9?yW81b`adh;e)0Oo95y5L`{J-}APWo4EeBtR({ipRPhyFEc}5;K`1x43ErR|b^` z5gb8&(!16htgEi6hxJi#LTUC(Y)WbXMvwgvv zd2_2VB8R))p$OP08*aCs50Xb7zk2z}?JpPg``Qma>~BkbsI+duWKum8xaUh&k6zxMvW`*nA{@^$yT<-T{n_x&d1$?MmizJB$oYnQhl&^u5= zzW8F-MHYQnXgeDYT6EvRBBYf8=iqSAT@({L2j%aMaqvDUTHR5^p&!U}ahAfroVU#OXdWpbBqc+ze0Bg=ceffh z(tf}sN%Z6v2WJQ@vTzpqJ(nwfRDbQ^hpv3!!7C5?oc++H$G`V`zyEu_`yajYZU6bb zcYg5AZ@lzvZ@B-C3-A2ScfR)lf4PM}$aL+gM=w9V{r#i+E8sPM70pf-=#`1cBqEqD z^NE12XP78SNPul<=Rl8xl$CCbEJBTu&O%sDfFTq(Bd zv23tCRdKLTpc1Z}aX_vkXa@{-k|)Kq&`p|~rFOnaiPNK3e3g3Q(T6_x(EC65{`Wq4|94+|&;5^l!0*ocL%V(&=#MsC z+yBgjKXXr@bN~5Zq*IEmJBl7D7TS(v-OZRJdBb)aLX*#jazM8&>a*vdPKn^e3iUA_dO`e00X5ln+ z;glGh_tnvc*<#_i;Cy&;qeG)!I&@fWC{bfd{$XBB_z}&8#A{3MDGh|NPEDHoD)d6K zZ5)tf=ocH@nI$Yv&@G^{UM3|Ly__$);7|m*fUQ2=u>~p+Ysc=4hJkvl)R3D|zzp3w z@^rCrhxf`K2Q9HjUvxvh3^%YJUqRzqmh`pcc0=LMrwDTJC>eNzBDt9*`i)Wi8P=$i|)W!hBh~|VRM639R_$Mw=IEP=o@)<5yxY)NByGW*lW9>9{5aE6JnLE zsWq}MnF^bdYn2UCGS*jH1SFD_OxbEEh$F+fM*YDhf6?e?KJ%Hs;yDNs z)&gh|!Rp8g2c0!AkCL)Q0V_+8qE|=?3ABUu10|n~x)>#n)Rtb@ix)3K1sci$yE$vF zHZ+Dn%e`1Ud^g#4H&~ zsU6J9nmw0N`OL~1W}CeHHB|0Q+Rw6$RGTm!C9peS8&;vX|Gbuoz#-urHyFv@dOs5P z!wZICTVgg?vuef7su?z=av1v5N-2UW{zTh|z&P|{VXul_gfWgAMTBSt8Sz!TTiIvroBlaE!HzfJ%>$rnD!!2IHXP8|7Kl%F5C!ZCt9PBr%iL zMHH@FDkR275N`D1E2l?s*l#GBlj5WR6-*ktyBrRB_w4d!Io2MF&(lIHC2t$SL04sO z(^grwX4QuFvX{Ng7>(4-=tvO$WYvqzGQu)4##Jc@pA=~idcoDB*|5dky8OnP-OOV@ z`ZO~z40{1s+hJ3v%Q87oP)n1*snyyff+$m}<>1l0MI{j|s2h79yQJsb>1)jNSd(d0 zLlL&P$0GPfzg>nS8Tn6>EV9)FU%;@S7RY-R_WASyS9T<;W-3q&0n3MfOw_9QdS>x6 zK^#Otzb)g<@k1Z_(6c%RB>*$%wtiOuIlVh;Y!2>taPGzu2i^B1%vq~|y~2BNelv=O zBcdfN;6%4InHJyc?!5C(nXpSKE>vqbaQsQkqyaXB+c9jR78GU#X%y4Nq@=k}XGv+O z)jXI{7?rUDU)<%)jJt{?`B>As%d_~L*&zpK-@5;OGPc(4qBw|*anJzUWJKUx<|23u z`Qqrp<49Rmj&W5~X&ZVAQW=Z`kE77^I+q=V#01(9977HxZ~CAGq6FCJ^))fYDXXy? zDG8b4lVe&OolrgIR$_d_#|u?@1bADh6?Bu~(7B_kCY74#Vq|(z%X3DTgWA=yQ}F2M zERNnWi`@b_@&Mb4_`2>QYBq4tsu>{Ok?kOS`f2=9YNd;E6T}x7)bo=;)T49m&rJY{ zEgG`|o?Z;i`DORkmv40DAGR4eSn-vE0YK?Yu`$L$Hx?Xp-*fuNZ8!+wgKY|Yu8$}6 zVZf2mOxpL%5W~Mxy8YLKqFhrksF_p?2<7Fs0v^*#6iQxXQZF9u@J4NQ%m5$_2PLCyEtrqAm}>k%Z!{g@#x=t*BpicG8V)^ zTb#F#^Enu8gQznFa_rb%1}&4#0S9fBr*aT|l9Rk!EyIgZ!n~5D-Yv9sk-vMI!!8aA z4j7Q2JNsI?9>PHn3xfP0;ID zai$o!$*~vN*7VCOf+&YLDQh`h6g5UD$0vt9!K0t-=VMTqLd4fQf7f8VuojLRcTu3S zM)G0TgikcARiz-sFB%^w;QTHP4)(JN@Q8!Zdy^bQ0m46s#zBe2K{y`{3K+cOSL~}? z8F#8)!?g_XEPB_(yjf6Z2RwkNdxB#^ZS!fBfdNC~pu4C^vp?XVbI_h90%tLeVtVN@ zT4_FPS=pD)Gieg0iB^GGl6D~%(cvJZ)#)_RiZgg9<>2BcH@n|UUb6jzF9>Lr?YfR3 z#OzM1)8M2@>6rvWu2a1y9#;wZYdLP(MgjgDrWGULDZ#_8W!|hT4mt|0wJW{rhwHK3 zOcS2KHgUu(NoBe5p%7ivHN~SQwJJAy6wr_Y|3K>mQR@)w#os%Q3A8_yo+kChpXERp zCzE0pf82W9lGw+~UK5JmqZ00@ZMVlkOM`>XL05Ds!4itaK~1KWwvrT0Tct;&bN_T5 zbtyG2pGN&%_W<1e4K`52eCo(Kc-CFiauDbu{K3X-_?TdW^7+mo=(v#{2-zPjkSdW! zZk~fYwTc>}=*#jk>YXvnSQ?=1W1ZRHv(4u57dbl&@R%;Sc^`yo;E^p)VCEc*>qt4q za8j+3XH}FDmW-=g&{Eoepv6q$j#-thtQw05nhX>h2&3sTX|@yxjfJ*jNEqPlX-45g z#KnsjjXmh<;$#p;A|TJ)Y&BcMyE#N3c=Zfy$|i%($I zgsw-;vnVIvtcx6U$36t{$XFcsuL^D*F6_QXp*&DoJF_Ha@NQ`JHMCll$*PVfrSTaD zN=DHNIBb%Gj_jzAWGcq?GD{KPAa+ zY8l60G{R!wI;t;=YkPzxXN`>!0o}>1i`$p6%M%AtRTHvuP#5|YTy1}s#V0@cNuOn0 zuze<--xrM$%5yjvN{55EPq0I78cGkgT~u88aM1o>le9XZE<$ zFIh6?SrZU4=X6~-J8;m}Ee)x%D~TlzJmQcn8XA|EFB`rjp}o7PbI_yX+mYn-4MT=}?iAOiSVXxkbZ+AAClvNBl7^9MHQ)%%FB z+6t>SeC87ul%|F7=RhbNz?Ep_1VljSf`3cQ0`1Nep|qOjB{`)C2}>RAot()*ZX0=) z`>j?Uv5CkE+N~p0TMm08AXy;5lM)QzDNe;fy7Y#U^)3h_A9vA@fBfTaq3)t?r2gE5 z6`#8(%&+f*>pAE~rxrxbGr^#pf=3)=7sp0zhjbUUNy5Bqb9XSbO)tn1R=93h>Zw15zW0iaO#B*-FnH>spo13InF`Iv3omc95)7=zd6)InJ^~9 ztmB&P|Ekyn?Xlw#TYC&k60ka6;fW2(ctKH>l!Cel)0`ecSWLBZ(^|Xi0XgY?(5F!# z^f`iqY&8)_D*?-gBK|7jIlD5^s&SPDBW0B=4UoNn@C-%zb+-i9o+UBcW(L-TLc zAa@M^?a1>epmFI`r~oOkwco~4E!e{|yZ*M+Vv8Hb=QRK(F;VLc|30EMO6 zb2zAqo5%_OESj^ZlA%q;QrZk*+wdKN0m-P%l9b}$#@PKsu~AH(0*d3&`=CEF*j>~I zQg>1BgSaEOp_x5$z(F*$jl2KgDHIJCAm1a=#N5ikozq;|A8-)V%h27)A*IR^@B!ex zlZ`<&pMaFAPAylrmr_rDvJgLmkhAKV#8Ufu&Yrnl2OGdxuv-E3UNM z_B6|ZgJ5a)G~sVnH4#urXViOAcglqESlvj+-{S!n)(C2gEI2zf+TNAME?MhZgwXfR@wHbO|LOQt%fl z;&9HQO!y=oBNYF{V{+_!+bQ`whsd{T;LN-1)aqK6FO11v=KVj4``jMt0w4j>37AWNo)W z?!OfPPSCDXEVHamYBOm*2|miuV4dL7v*Jb}6yOEI067R3gj6dg>bbckkgQ*4y^&&{ zm9lm|hL|OuV636Zj8I15QE;JHlqZG50sC0Uc=o8ABvs|0N1_)*Lkjb6MQrBAYf+5X zPHr|d?9}5tVJYlMlvHbnaSQcb)SIBO`1MiWWS$iVqX68ZPr?FA)(HF{M^@7F^}`oP zN%kqvqM&xD+n~H(6bm)wIRsQSZYg>+t7gfOfl7L@LFq+p5R%Uzla3DNs{J9rG=cbA zVseX0Ygwww$g-CF>!^mh@W>%X)5U>9R|uN}CbC-vOUXwQ{)Aq4Spbg%bg|nNAy8X6 zTXcenjzXApwSa#R)i!9wulS-YxN9JT8ndpd52xlZ#)^MccjTKtD zK6Oi!Nr@>F5em|yIDt?(c8aiJ07~guO3YMXirI6el%!ho4=PPm(fF4kCE+F%qpvPD z4PbW1GoJ}QLb&;K*1*5CIqObXX=po1QamOHRg5ee5=x$QK@xg#rg@$tNl6!34hCYRkmfrK0vfO7un=B?rgBLfAZ2_nFN+;CROC?KQ52q|2c z9fh_>shUqvHv|ijn^Id6r&h)le6^(WOgw^Ua}MV&YyhA~%V$B&hSFLWN6DXsNZ$I| zyPSh)h=b-(Lr^!3JYzu(Md)!j*rPJc$bqM_;M}CAYFoC)A2%Vw3hsc`sXR@%6@iMH zD^o-u6I?Vt@M%_^BWAwqs8>QX^yvc!TM^)N%4pkE1nI&m#bF_8l^!!r)z}*mA5+Ij zavuK_wT3`AXu`)ZflUHNXK{VEG@l4)Zq0BX^fX!Y#MvzMROxoP`1dj@jBTUnZadi_j5uaV{c(M?+CdU{psDaoS z>@Y@Wq>kyk_P-&4TVG@L7F!cSFYSU12eB0a`RmK76+nRpA+0FpeJY zg|qI&b<`}i95tDM{CVn8Kx=B19fEBRHZ;qP#ZV!!pv6-J%_&54T~Enwn4!9`oH=N& zlz<6mhe<w zR-~AfS;AWZSt3_`)hdf7`ByTM@mK3nN`W&D3PLHqq4BZ7cJAYy9i!Wt(rzqy8;Ing z0=eXG6-bJb(fML%P~9nym~J(~3a(!rDMK|SV~WINvL>UJXfooFGhyLRC>eLU9GzLU z%2TO3!a*8#X<+Nsz{?YQqLnjlnhXbL_fQ42e6Vjj1^08%G{!+!1)+jB zuz?dE*_s?)u2Q6P(Ba4@ge!S&lsG;IAuyxn0s=P7ARx3`2q-eW;^4c6fEP#TB)}`_ z0lrWyNgxmB(l%ERg3%bH7Z)}?ifJ}Xm$n5FjZOs73XoWACct2$mRMhnV8D$+V&d}@ zA<@L6CPa`*y{Of@byTvO0ac7v&CGKUN=kAQ*)$4L!m2iKFFzO1N-wL3X%vF10zyzk zH>kE^20*aWuHIwFOysIm;YkK^GYf1Rvc-h+1o5M7W8PFyn>Gpkkkx0BlMlPJJ=P6lIF6 zk{Rq&u_P=tJoerGuZmIpB)VnEKSHrsWxKaQ*(D?o&u({;xAVJPafnl8JJDhs(nUjV z0y+ed&Zkl0(WLc0I2_a$0V*?TCqKzS*ajq^;s$s;!2Oqd1{_>0X?p=C-O|O$KL)ZgmpJRkOrLH3T&Zo-T$6{RqSGlBTq5`1!6bt=0U2^ z3kffL;nAPx1q1tx#Kdu!j;DYS>yb<k zYFLB=Qp66mVOtaVJLxR6XjUAO&F72vKS*e9+Ze5s$Qz{gUbH156A^l(5RvQR)LITX zuTAJhKGir?wGCr{ZFJu3ERc@?rn(!Zr8f#oHsaAJ%vIF8`}iNYl%7y?e3;vjdaTT- zyLr@#jI*i{#;S78p7EH1&-_161nCV_69~U>;R29=N=Ll4Fe1ARU`VyqKc9oT(+5i8 zAl?!21*i0HpE=`zHlz&)t-k%X4a)IhxuL>3nq;2*;W+|oGBmN)YMtF~CMMaY@x13f z&!yBh7}_ljXxZzyg$DrvDH(kj#LmsU8HMH6FM^{UKw41qz!OOLOk#WzReC9u+9uy? z6kwRf-dJVmHY*^&K+gJ-)mVyfoZ$BVk~9_a5z}N6Ze~fGhAA;~(t=K$SRewWu}2L7 zNww@oYIRtE*)&=LhlL&3kR2;!3%YJcD6bbe=xCTyl?}lrZ(^|wk`2c#T4{b9d5{2Cwm!2bcqc`dI>Ghc z(8MHJ7>V9Xphs1)D0@|miN_*L?I_tRMW7VNK>Ac`bWROiaFMeUI?w^eTG%~Yc+}>p zlzeTKQP@DpRGA+eb$3xeplTab=%%Anq35yEQo z4&^KapHByLb-Q3lJFM*bYEm+Oja9tI(xW!2m& z)LfH#H;@veOg=2anqv<+Gfif#&0CMw(KJeo1EfjJ zoyu{q1Tzt|)g6CvN~57Qx*{t*lE$v27hjdl4SM?==LB?o6I~d)?a>1HP~b(3r(R?@ z(FCEF`Ou_C!6|A-vTI(D=9AkV55Yl5P}xS@#8|Lp{r^1 zfp++D&4yl0ETxqaywz#-Gq!>tZ7OU&hL11K1!UoD61eFr&WaG2WukWy_)APFnkGv9 z+6wG!62nAa^PJQk-7#GA^kvU6C}BCvr`55JniK1;Uwui;xonIQvrHDtxNI*Pa?r5+ zbzN>lL-s`S<*%yR>5g3*ZVp|9Y#PR{)RzO-t0Lk%Wdsk0&6rjq*Sk=Zt%Lmp?2&~W z_y0wk%m(OV8RtATVNtox0E28+j9_*06Q8|!nViuw+;0B9o3@@4Tpbcgc}r``x1hN zy&gJue9*R^T)cSE-4$+$UER&3D=v6z>r?_luUFm290ve@=bd*Vh#Aw19+5GTPaM=Q zy~oihK%$iyQ|iwBQ&{Zly;X*0n8oSu^wF=EL?Cx=a+VL-vb_I(7HLb~woqbtVPmnY zm<_u)p~*CR<^()kHe|)KL1{a}NIdEj zL3*rYT$#02(IrnP6Dp-Dxsf7p({EiDa1E8`5ClE}j|5bhPdM<5JC*f5p*$990_L_p zuKF6P^puR_vl`i@(N@4gr)p(LF|j7!65E`e9k4-6z8eUja@NXliZ+8vSve>^BMS~X z2NBTm=TU^`a2JJezy^58-!Z-&H*pYJC_PftTKWcMERL-XbVoVBLp#MAt`T`XM=O}e z2x5RvB6mfQ?vJZDUtrHX@Z^RU;)`r)^n#3J@_}|q?x;UH6Fo|pCy-YKKW1JT!cDR? zwwnLyb`+c+9+h=-s>h~bULkH4M}~8Q;+rTG0W8EoPA1h%+CZF=Nz&R zc)t+H#wYC?0dDIX$xUIJNnxA_ol0n8WIpef2N+G^eP|h$iVC(@m*2 zLEEfT&+dnV_G(K253Wf77N>A9ieVWgo$>gb-@c1x30#Q0rqKRYO`2{&}8{osdpAi_K(P5dv5_-ZyKpo(L|E~R4#}P0{3p;evSG?Q1 z-HL-pp84lMZ}Nq5sM#Xy13J<#0!mL-=G-nJTRGSVyoEtNAB06uipM@tx|!H#bTJ4N zwgi-P-GxjgoiL7MQBG|-h>B^;HE{cY9HP9-fZkz4&ZY$1cIMUwt&(S+W&F zK>hNZ$9xP8VlAt)z$%+|J2O1Ejo1%e+cZI_zS~U9lsWR$;@xl)8M}-6Ak#UhYaEkAz);QJc@zz+tqHKffYKe+u5NF!nK;w}70lzH zlMdkR^8^jUJeawL@ptiaFVzK1iX)AB8Q^7^uJt}XrRPyY%{_ASC?zv#-e3%a9Iq~) z25XlDpmIAdYwJpOrlwLScktLh(qdIw-4}vRaR8%&ASOs^G;x$9Zis4Tmq2Uj1@l!IzFLi(>1$u>VNH zmfMdclr}v$G1bWB&CX#b;N&wLWbfL^ZF)SFgZS7vXa&JLaIPG5<08m79E1lvihA^w zgH@@Gq#hGKEHG)+AcW$?1S(_k`NBQ}NYI6q1_=L3xN^0Fx_j=qM{Wor2t-W;sn&In zV;A=?<-Q?R=4j(+Ah2BuTk>?9ME6`CBG2L9ykw znxaWb7tyW04s;GAW2Hw8iGe5?iy)xfSS*TN$juY)KmrGCSrmJelq`^mlDs%F(L_ph zp{+;4&M1Ce&;_5g531NhCc6kEf5t4up%=XPH7V?BpJ?NdQtwla@u2NEP^uctk0)hy zTlLjP!(jxyRwe8a0dWUwG;hLTz=WIXjs|=4wXWF{=7I4cM1cjX}JdDJz< z-|6IF@=7y&25)7US8`BAqM<5qQhFqCW$i4S5<)!I7j%KWGVxaB ztas`;U$jCK&WR=->!@Trj*;CXDIZF`@3x~>`2?Xn%c}Umrb@!**@qWt7`4gqr3K@p zCpU?yEiulP!%PlqMmbLTi{A1W8#}jEve)}Gq_DKObjbjKt-y5%`vAi+-EoYYE=awN zh9xM{QN*FkP$r9J=8r^}>O|q8x?sRLQ4u9BMT&SD&d0 z_R6Ea_x~Muj`R3TtERNaTJd2-imr};(L1==cI)VpX3jeVtpzt6ea{%%7612e>dPtqaf;Ij$nlu$fEBXCM@qtgT1FS@J}BUTQo<*doL zsr3kZEoJDTxS^Ff#VXX*+&9SKM{5K7&Z1AVVNDm-R6>C9uM%bes8sw=acRi5g}xW-(4 zrfS$Uo|M&dwbRFcxL{Vtm;)XqvbFuXg}McqUK^dM#za>&uPRnSLsTMy5UWF1(p3rK z5&LkB#KEd+sH)#>V>GciIOpJSa6JbR&=t|`OG?&vgY_{72l=B!3ULUMhW2z-Bu^9= zUIaFyHi7aHoEs#tD8VKRnDte6eAq`sNXDWGe_8Qolt5wGd6o}o4Qyrw zDP<+kmYeg0-ICiy5XM4Pa!ZUT@tB(y(k0p5_!X~s1yq2C z%^6PINWC(+y}OaFFQ;0Gf3laAVsvg~dhBt0=CL`+KWDmWNz6$Oqs$zhr8JF|AuN`?2H4;4lEq>`Nfv&Q@oXpgU&(5=mWh2`)C#Z)y`u+ zVu}{vv*Zczr0xtk)KRjiqUR7_%8jM?EAnfSoz7>i4dDS^nNnn>UV>;1$01{J7*Qt3 zjeX)wkhN`k4Ugz|{6BGy)o1vdXHc(pr30M9r&_(62bUJtPK$zi-U`tW8J&!FOK;XL zs~p^9#MDrnk{KQ`CRwJO9x05qQ|=6Nnz34M^UeV z9!>T9d@v5`f>>yDv!f0N-9_)Z>n`V@T5GBV+Bk(HiO1~6hG*=m#3W1_rsqGQVnNhn zRGWiRtMu$Vp-~!27ER6)4ksl{*1X!9)7L6S!6$w?pCHO}S{-yTK`2AFQdM4fTaXTx6mbfrjAGO2Uh_;b z_IfW)1j)jIx0nIDGWz6}erj3Q%377)8sVT-Rckp!3;gqVpq%8O$c%U~1RVNchc4VA zK;6aO^qN&$TtAdI;i~Wm`;drp>|0AQ5m{Bil_N0`={Pv}@Q!#i2^7C4(>Vz0Aq_`5 z2i#I%h1lPu*yJQ7d_?^GL6wEWkjQSicB9~q*u$Rm2&XkW6tICS1czz%Ji}-tHZO^ zPvxM5Cr%FWh;BjM_FXf~r1|U+^z#UhKF66l{K7#mbm%i}=}EP55c^Uphl3v1b5Jt< zuG-2$2tRlq>_y`w2QBe%kbXcJagy9H&H#-9o5`iH7b@{hY!(ql=TDn@DfPvj}z9Nb7}#GDPE}i829KU{j8<^pxb->pA{k z%;MKY)Ck+>lqIu{Yt;*KR;b!Gd`asCI|zl*<-r}pmEKJL{rxXk_9F??d;9ITgF2sK z7SdS@7UeMokA4+xjg?w(@1w^JHmhV6rhbF8W5Q zV?HuwFJM&%r2z)@%Er6;u#f|vjDQVMN{^aIiCfN$AY|2a?Ox=)&ynXn1xVaT(a>9= z^>P$?mq9~3#n#3prWJ3|#f&}$@3DRZvn~e7W8ol^oRx&zbCY6Lg7LGJc(evt^~s!a z5ZUk%fw8nX;FQZDyWzmIL(mJgIdlk`PoH9ZlW`06hRC_L%AK{({8S=4hvE<2C@1ft zD2an!29+`~tN#3;zfa~Q2T{_7;4T^mdmqF>@D86tKuVZAz%;FqBJ2oRc0I|XOHlsl(6M^%Uj-pagIWFQ35&i`9|vMVr8*as!$prH5aNlK~Z-J zV+uP&B^pj`Ie4t$b1sK62OPP{M~O{@lge@8+y4&&T1tG0GU+%%G3}6vfUXuDf~e=` zK3)dhLhW^i990F>eC43#jHN_hW#u4yZN|DAF$HX$G-s8is_w*|xb z#3w%C9|iVTe;Y+Um9@eJO-6$KIVI2NbI_1oE1Wu2VuyuLtD*ft4kpK3ee|Or_1Cew zEm&&^lw=>4W$uxGVMT~UDPc7WJ!KrmIk(lB4o|5iygoS5zWiOjpZv}ts$A0WrfAv>?;TL|vKSKimSZUMdFl|@%=@$Z% zz<-jA!@+4t$xV~9L(sj#ndlbE6ByhfwVi;JLS>29#iSGZ zTtq$QPZ0--x{G==MST~&$#d|zad1!yv5pvEfOG5h@sEG}SAOMJKL7d8|I#o05>!J4 z0+Q~o1Mf(LK44i1w3L{&mOM%PO|Q%+0@4d2S^>wxuC48Y;;QiDKmOwq`_13{&Ch)1 zGmdEqn=W>#IvGFw;SZZhIa@)ZBhg~h9{3p!^0Cliz8=MohLz)=TaU`3)o=)MfOEB` z%X=TLIStX!Y3MpiC?286i(!{iGcRVC5eK0rTI8y1q#@am^BiZE0r@mPsc^eV3CWcc z`G(5cYSneBEsJ4BgutJ%l;|0yZS_IUZy~x)c=Ix2UITpyMMIxK*v)YFMw}{UgepQE zWyiRws_U~j=mfNfqaFvz(EZN#ziST03neT`;D>+shkxQHe&XkU{^vipi?ar#jZrNy zgEY?r62UEDj55jt2bN^Dr)Ssv*k${bfTWo9$YMgIhh=_m!T#|3zyJHc`@6r}IcU1v zB21Ta&;^x`t&G1e&{o2NZz=8~)UYi2SW3ppBz~2{%C#&f?JEZX$)kWFUjp8&@4N55 zZ~yjhM?=W*K4>#{8Y;ccgI1SPC#F=f333F{T>eE9a3vsPReaX2J*rCT{jBoX>jwYV z%PM)Fw44=X^-SkU84hBH$2DwKjK*a-5YP^WfbIOW;p+kbL>QpPECDmtJ0lCBOjdcW4cE4zu~w&+;*+&Xs1f!Y&ML(p{Et$n zCz}+FTdh2rI*aaR?)qoO{6yaTxV^vl#V>XOxs0Zb_l*!TqM>pB|R*d2c{ z(ftY&J%W~v^y0;fHdsq6RIuNZI!es{L<1^FlPAf-$eEro`_|@*h0ml!IZIZitUl$# zvO1j9W7E(oB_e1$L9!eZW&5k5Bx|Ce%ZfWt>`1rYe!K55HY;CX9D=@R_0vErizXm} zFZ8-7RdGsSB2(hslq_0x>WL7GcRFsr$wm=bd_JQ6+v4Ck1XKm#Mh*ND@WTkG{<)v~ zIVT{fqv2;i`&q`06|)pap!%Gc`Aix0Jf_5m=nw^}8h^^v>IHgbXl6e7$xq77cUnxu zLHA@ydLP6=ljcrhy3o)oAq(AFKyuMyldzQ76l7g*4wU2YP>`qin98c4|mY-=tlFc%c)(BXX&y% zRrre|8NJgHVTb(oIfc=j1C=4Wg1QX&4r7}#IoRhGYJR+MnG=z%>>N_!tbGZUM7JSe z6dQU{xDDwj9vS&d3CwU@7mN~q&K$IMpqre*G(q{l=`dhDwlI#5a&-dr_p5q@^*K=f~*IDr6);`rq@La%y7-U6ttotCZZu$`a}bPKBa=3g6Q=iTe*i$|HvSW-BjB`3+XdLF=jrNHR_BEmuZrYQEQBI)e>BbruY91g0@xN^`rsG%S? z!$B)3VQ;U70Hv@B$-#9kcYvQ_&nNKXp!*W85lieq@i*;bq7O1=&n&6sqsggVOn3D) zWfY4|W;-^4B0*=ZG9I`wCXqsI%jBLWH(c|kY=7_qi-QF>Z{Ax8GC~@_Yg_Y`BRA9s z-h@))&I_~-|3KE*f?efL8^OX&-nHy|`*M?;wGD~&j@ zENF%HAYJcDDFyyK>BB?`Ov03L$p4@$)j*!UI7@Dj+0ts};r!x-GC=vj5haiy42P0w)Pne&WJr08os>Y3d zC&cz60D76!mi>rt`~Pw~C}FGwEQd5KpU*F!{`9B)GLQ6BN!T3H*-dFNZ%DUO9rP8C z2Hq5&E4k9)dG%a<*lQ&dO3050+zcPNydH)+S5QoJ7i~eEhW1sPe+QzkH1;2JrJ)E$ z7jhuYW4)-N1o9R3=)hRNl=PKT2fDVyps8BXev|sN6|g2OlyFWlKVV=fEvNx{3-+e$ z1cYkC_ZsLEsC~(!+o}BVqIa~YF=G^pMcC$qPE1jqD&v=u&no<P}Vq zlsS7Wa}ikRl2n=j%yQv$FLfZgntB5QKR-0=Or#?w8ght+25$HQ2C(8xO5&?xj7R2y zJ`(#5j8nTp`k;AL1L?Dr1Gj=G5B$N2QO*X^y$fz3+@aqU)bO2v#NonX;8wvxyMiK! z<|KBkkr{VNZHHP8e8w$(E%O(UXqczAs0UG`bCBJ8%~>3D`CK{Zdzx&mQ3#JLQ^q^B zBqPg81UfrobjW`#)oRO9eEuWDrW6qlEMp(8owQ69Wkvq*C?l9rG?z&UOCxM+n307J zjTTzfbC6Jdej0pqQ7`$^F)MwwfW60w#wYMloMeK7f^;)$J#|eBXZ0c zov|CZ%?JCu24bR7+oLo=4b5df(V|Q-D_PKrCppQ%8m`UbAYPMBL$wstLqKP4mtJnJ zg5JpN5_Zcd0AP~0YB<>M4|ERVpt10QPd>)DN^DX~va@hYs%59djOR-TyvVEqX)cF31eaL9A z#)uR?QR0ONauzm5$2bHT$$s#-x`{AtqpIMYgSFz|u^%)m;~-DJbLA&u$kiDa4h_L7 zxV?0B@dhF1IH)RWSk_f)m?d2~BwB0p3Fg zwe(sQP%jiYz*w26?UAJ*9-pm**!m5q%DTuXpvMiw$MCK;d$dyKu=>!~T6%pIttz^4 zfn~QcG{iXHWPFS812Si#pWs{K4n*tj(1c$87OVLbL8y=)+RG$kjH8ou<#28IGR@a2 z$YdYOO)B-WI?KmQ8YYPPvIoG9672r#l3CfbvMh&c zhm5Nd^;jrFKsrnGbS7e7qTkw{!$I%z7Ddj_nS(>dQB09#wf_Y5%D~TORvgq-u_#ZK znjDl7cz}P8 zYy63pGQ2oY1k{impxxtH_VI+PRp(!Nby3VQ@*L!Ac&Zfb)PDI_OBsF%xRUNbue*>x z99)|ZAJxKqq#IJKMnUx6xWKjZ0u%d5qEo|*Ar5vLBBpDbmq$ExCgQ9nR>8O$btz4c z(M`V~9Z*B~WX>V9hgIdc)kK*TGhju&T;CXtUpA!4tFfqsv|f?AFSBJ7sg z-g^+O1lkg)Rte05VQ{6BIF{aHm{)4PO8K`6VF}obLQ2>Nv^Ep_hRj{95zuBLb3@~! zcbFeWP||na92I&`qo~DGw^oWwbS+O2au`~9T=gC`85*v=@O1e0K8S;=`1|?bSsZi@ z#z9B9_l1>%cwy{Kf|4EqW1sPQ9Lvnr%BkRePFX8WC^wWLOREDIEVZiYfDY$8f@rmZ zBojQ?hvBLQ&u1z4B3iWrR7TAiSw@Cg?CDdL!bkz6c^tP8&c4Dmz{i5IGfsTXNX!yD=oY%VDCoMWypm3CxVnMCT?SWW?Xrx@8ir40Q*z&=tAX9N0ZVcwnX^dD68a zlwjY~Nj1g1S=Qhe`y9;(C>i^McUXDCD)!-^LD$4u3tM8}MdP6D#mw_DB5o8cnU-P2070+(uD54z2Z6QR<5l3&4zCrwHAP9K-IxWuoiBVKXAZ~K*JPI4^il#!`2@w781+JU&Xcgj#A)(Vlr3o3 zgEZMX{_F|z!9H+x^K=FEAyl4n(?oZO0Qt(!ouOMSia}+yR&hRHkUTjI*J`4iIGT_+ zsKh=I2qT{c%h+|)J84z@eDHh@x{KOd49dD#EYk~7=D`+3Ohtffx@LaZIZsuym(M|2 zl~P-B(By^QCKz(oGlzyw+5Jd(ddjJA2vMZ&*s?Y+6scvmcT?E%$1aMXJ$&049lX-N}Ot0DCzM<@~9CQ~w z$w728&+eiK=w~Yi*g0rgX0bZySfbC-lr8Uxv0$CUZ9R@<<=S|z&arRYj@zB`f8c5D z2Jl%99`iX_a;ulB4Di5*WtDM*qE+%yOF4+(k!SEr8NF6(991!eLR6jfS^X#A@N1MJ zcs$8L#!e-G0VEEbayziLrLtz!J(n+D<-NU6!_6(DCxi&v=n*W zqU(;m)u(VKSz7PFP)ay1zOJ#)8=nJ0>Ae+1A(Qspk1KPUPvuPS zc&1d9+uCsD)PX(Bb2th9T8(`Tl0Kmhnuq+8<%<8Q6@Ma6UsJm_i82S4j8R4ziF#C3 zoRdw)5`(7sDB=|D91a3czym7&#nhuwm>DaA4$hqfn@|9`oHYQybMEb{l8z&e#UwJu zN6iy4p@p={dYM&#CBiZYDF^)uC9;#(Vb}5J;PbkQkE-~`J|K7206(VKXBgv%$D~IC zUnTCum(f$W;S^apIHAU8rcsq95^x9BibI5@V5Qs;P?ANPpAVjVA9N1dUOET;oW)(# z^qL%V)$Gv&t+CTHnl94BD(7)#_|z(HB9L?ZH58=gqhuWL-;6Q@8Rei=_F%v22ZRcx z6J(TeTa_V8#ueupuEwFyDC0~S8@ku>UAFmOXppJiHyTOfCudL)o&#r z{10moB;u@PeB_g7j~H~S^T~#}4c9zsi-tw0YkG&EyC|iO&f=im=758D+;PWn(BxPY zr3ti5%CR(oL#3e%AJSvBnh-i;mMPa(YZDIjTdQ$9Akq3b)EH%@#^`~qBx|nftR_Q> zaY&hHl$8sszWN+=!R>%qJx=peYcoa}`ZyOYuBjb4=HEuoc*nDZr;4JA2-wV+@R-w1 zyArBJZ0%-2ElrbI*-CBeeJtYSBR(Hymcqt6=caSPIg4eEIdsE2XCHw~N1|Tv`taYYItx6PD-*8p;n^xGPwSX9tY>&n=p-L z!^{{O4&J%{Ti8B|{)7GR$HPHJJ|L=WElgcan!^^N$z<`^JP#>ai`*F8;9^5K?3>Ip05;qEempfiBNi+?p9~^ zAz*IhMu#hU$?H+8sY1ZEbZ+c?n(E3{!9t(4g5w+jT0YJPQXHgnbUMz6>noTI^?dNe zzP|t99X>h;xQQbxz=m)F@bpF+gQjGUL2)pm4Jo2VFJhL}6oEdIP+s#@a(S{M$#UmeO zifHqgaV=ZN)skM5S>=gO2~KMnQ&!lowdop)R-C|Jt1Nuh=JW%fgMc{%=D5KBAi~MV ziJ7vN1radi{IY&mXQ4D18jeF8RA$L19Rb;ghLi$U3P>@8CR}MEi^iEl;ZqT@+Ol?SL|T#*JsSYcE-HJ1Ezx z37b#kI`H?%4qAkAvUV)_D5G1CHBn|9##I~90GNzJ#))=P$w66_1dM$a%Vb8wjd;7n zI6NYqbV%3d8vIIErf?WtLs$}AM@Tfl#y*0EEHI38lYhF$m>3O*Vk>=yQ=`Nkq!TvJ zAs}UKyXu?|q&TN?P|jWhor8X5RH-57?xK$VIR{PVdKdLg1`Xq&88gG?1U@No&4h>H zQC1FCg-60F=kY*4m1w6LhZlqSp;cWRv|@}+xz+rjtOHjRJgK%oH_tv)9a< zTZ=xdoD-0epy>f%G!(=b>kE$n6;r~tl4a!@o#ddZ;jlzN<+Kg+BK&{so%wSl$yu=Z z0e&C=gN=`!8O>kH!Uh5g?KTIfKNAVNjOteAC4x170K?3=-hf zrx4(;2kIyc;+r|+gY*YsP`;=-Dh&oXMGtp;5Db}kFo_%#Lwuc;k8dLvKu>*8Tr$BJ zzeY_Ch@YDTBX6(WID8senU9%}j8obb%>X}83N&nKvJlOWTjF-_ine4MHa%e*n5Q-0 zloR>^RE?ngG}4R=ka8r0=D;m^@hFv<2q5j8K&0eSJeRQ9nt)T^I_fHF(hTEX0s=*& z6`x?lQ+yKSj+k)7M>qoJ@FqH^Fc=Rdz>R_lLA6XcB{FyMEJU6d5+Ip{As~a!RSO1L zH-QjD0e}cwG7NG`cQ_by?(3<#DCh-f1ddsJ-RToLn|-v{k?iD=fHhJcuO zH4qT7NG1ZbLz38GXc z@J639($5JRP7pMSQWTGrUK+k7VuC>fa3_E;2z2mBJjEkDmx4jUTtXL}oIwmV;Asnl zCcK;=qTN8BB3iDv2SC zuM5hKBhtSS8EuTB1cbdYj~sayk>WEFB5(1MC=nBRdR2~Ux0|iEkls_$5F=dP z6~4_|D1yEkBj-M~*$#;I6|fOL3EB=b~1@R5{&>!g6$23Fi2 z;Rr;YWKyF*aPr7nI7lHrFN2hUL!N`D#0kL!7LUh5)B%p*R@y7S~N+ zlYv3nw(Ss86>4YLWNHl3-be{+__nm*f=IxuaYwR9Fw9^yd)u>(-(uvKA_sEIU7jZH zjez*nAj%))CEkKS++~0m-_A6Vz*BEAD=*=j-b-=%(J%-aC%GJoT37%B9|Dnp+z98F zyh?naK{J*b?;-(Li6NdeL`F)JdCA6KYsNxBf(actlh1G_<70v*A7@GMr9&bj2Tm1^ z1R|0EiStuqNRvAl)F4wKcr=VcZbYJ;j$}|dNZYnK!60(*bJaR}$0o3gA{L26y3s^Q zNq`m@O;Ndq4~B*%B^dGa+zfjANIxD?gNRdJCmg4y%#(RFsENc8Kjso?%qs38u`a)T zLIx)hk$G0qK|2>cDG(6ar;%|bWB_Qq}@B(6|~g zrj#$Ug(jS>*YHWcPdBCE$cKQLID%tZ}H)Dn7HAX8f$qD`K20n`DrAp!NqA{W%G{H2~$S091X(cW9C$aEjDl1Ha26T zJr4)SC%@Nl&R2d*jz%6|3zN*J2Y|M7PAyMfwkRR5!*jit^rZ1pev3EalfcY#g7R?w zXaON6ZZ|-BFU5_X3IcwOto&3!!p|=ej`))TrXP7V=Zgfx44RN=RB0fMPCMYuymkh*Jg_`B}E@J?YfDGaz3h56zSItW`2E_rO zVDR&w|9rRlJ^HP!Ed(Ma8X{qbMhJcM841&XX*0HYn>{&*o>|%2y%Y(!W2X0TTx`lLUMUd5%deS&_g~X~Oq3_k%$xi&r2G=^+j$Yu-gT z7~~cr=?^Lgv9}=3Y{nqQDbR&3>U>ecmv^^)oJNkG5`tZx&|(-0<^ncJ#sw-9N1 zbKr4#!;7bL)n;t^c(kq8_UyfcBNNMGhTg94dyz6OnbLUEaEX99+o~hI57p7KkAb zE)oz!*sStMQ+g@S+_35MaAd-bxm}cElMEz-K~fS)e~{m}bZmlVPlE?8?V@x5VUU4| zwY9ZayF?nkCZCK?Yzs7C;}j_TXje8fe3IegY^C8xtIlHx=Q(h%&Kw9+03G3oq+oow z<14Av`8dUt+lg(yiN^az8?!3zk3FmEwFjb9j`nYPODQP_6_)>)9 zvl<|V^rp#kBhPr2VXo?oH*B8yBl1RN=A?<1sWE{DLo%IB)UYWDN47qNd`RY9TrvRx zoliFh{5(TWl^3KWY||a~=}d*w!mm%Hi3#NKSRixfy?M4gG+dO20FGqb8@UlCCGlip zyg8GA&K-76QyPhHk-Wthr;4l}QmTvcroJr|3Z%vgRw~pbRoLp)QJSqM6Z( zXvttADfrTdj37W7F|4j12@b>fa3MJOvc_FTN{8TxB75orfBA&i04!n`4=0h>WR-lN) zQ4CJu2<~tIs3X!6!kr07V`Mx%Zs!*6wea~EJrWQHgXp4k{l4&pFYNE{BMJeKj^V+< z0WnHU2ql2~%2&R^*kU-wI0#2P$#6y*z-NJ2+IFPc0T16bWocn%zd~RM6Bk?0WSM#-~gll(2VxC)- zF>Ul`7++_$+-SB0SiD13`$vz{-K#{7EaJdMZ*m?jEuhWI>!=UQL_7Ay+D(}}_5F}ygAd&xW=O3oxE8HovS$`eUI zfEYd~fAAp@&~ShZgZ{mOLE@2;0Eiz9GGCN?$uMV-auNx2XrzbL-o;o)aogKz2ji`+ zE#xDo1aL-1JeRy$-I2CN#2NMy>2=&fz)N`owBMDLmF3DUEiLiy>gp0`BRyra3=|`;2l6qoDe=jW+;C)zGyhuH2ZjIq z`SWMbp5g0WR4%R(;P%Lq41HoAhy+CHB8}yz@HpR^n7B$}!uaIRgLpC}dGh4RqeqV( zK74q;as)WV5&!h*Qxf1me*Bmid~P9U_V)%!lrHE)6yhUuWf16Oka!qGZW7~s(P0MZ z67shc{9zD-3`LrmnR%yjckbM|d+dn3b?esc+qa3t5g^HDDraK+Pk;K;pZe6N2$0fK zuE*6p9Fg2&dNS1UpxpT^V<-y&V$7c#xrMOB(C0LjuPUKe^TLqELQ+lxpFDP-_{1kZ z{_&6hYUQF-+>0|Gix+u%i89pQE8@B2Bk=PQS_U8C?Ox5p6pwOQndakN#8^VFa;l3* zkT}X|Jy2uRn-yZ&@FUOT4AQ@3f{P5}lz=5PfN!07i|O$rG7_7fXT{^P#Zw5xgW}#OGXW}=20$~=c{_PpFv@0qMlmQAB%(dS z6ul%6gF#qB6r$_Opqi=-atQ|i`@jENF&&C1!jwK8{+GV=CH_joKE?R?pa1z^_=R5} zKvD1AyXT(;p6JK5B%Aw#h+jQ0>__XQkpnQl?S|vPh>4OPKQ%kVDIuOVIm3RM+x)X zMm~b#=@e~*d0e~#lFoPoT;&v}=rMD`I*Vc0l;&*tEgogd0~X0LN3rwol9%7yBL66i z@wrcFp-e$ZK(UMTB*wy!7-={d4A3pHGa&fH5NVh*h$!S#2LI=O{s#upV`UKZFwPJL zWYjiz|GA(0xu5;npZ(a!K1OTdS*T3tPNCOvstfHd0^AP5I1=kT4b_VqBQZJ{&aAkR zczhjU<0C=b6_<=50ooCXxshk#M?3*ec{I*!4O1}H)KF-T3;VjvksCRuQdZ?OLoN|X z*h}Hpp5-Y%E}j^*VN7Vt#^=Q#CelPQUj*Oumfx_xFK9BJ8#O?fa^eU?nz+#zpN!f97X?<`;kQ7x}9~0igTk%k#8i71p!P}e)40ogNUt+Pt{PvvS}R7LCc@l1 z>?{EBIlo|)!%LWCfuxX1pSP2MNT`HFV4>QPZiqr~gF)0$h(qwnAi5~0fSEH0eGV=F zFD4*zLr40hU-~8VPeeKLg%^ZAa*h}GmGc*mH_Zdo9;enJUrk3oIPQ&0=EGGld6mec z+OPhJQ}g$dIe0rU)TDKSAD4*t7JNTJq~Y|WOA$}NXZe&UMie0836R*#&DqDrQ!Gh5 zJwCdhIO1z}aq6W=&nb}>fUviFm&K+eRHo&L%p+SfG`Ct~i`J!lp*e-@;F5_67@1!p z99dB$!g1<@d<9EOj0w!saQLQ=G~O7ek<5UJ2}i*AkvZ4y%}+@`((zuzn>m5}#eHQm ziFm3D4B>_Jpa1;l8K;B0u)qv6=-!6VsvIOeBq9V~y?TXC3wr3ED8S?|8hlW`9hp-n zdHak{Pm{>Ma-^xHC!VZuWEGX*JCf4oLBJRi7>JzXF4E}Y7EZZJf%Cg~T-+N0Qbu@W z;3(_tAB&-HbRI)Ee;2}}Au`M0^&5HB1l~xQN9O4xxMU$YC8f@`fzNl(mAB*TN17YY zA|~>Q@(`0h(ZZ9`^k!mY?wd~}uBG=hPd_H?BlK<9XS#h%&RohfKX=%=rFwCeFpn`l zuX(Q$13p}R_uY5t)*%GH|NZaVD~nj!{Jgz0s|yd9VMj{PMNq`Pec@&w>FI z7(@t?C#Uo*fR4r-^aX=9V;lVNho+f%Dfex__-06+BO$Vh=02GSRGwRe&BXLX67UiM z3Kq%o0Jm_Jrcx`pnRp|YJk4+PQnWE|H(5lE48(&>Y(5b=K5$ZEv*O;!Gh)VPcqvy$ zzUCy6d3&}2=P@6BxK?HgKunI9MXDv^G~x-!Ai5}@;B%k*9C8r*C$bM82Zjhl7(^5j zMh^b@pZ~dI6YstE9^F6fG?`O3QL^7Ltt%YzJ z2_j%*o@ZPd88FXyC~3Uc#9k$A;7tC=$3^6rtcDx*$i#WF_^f&4 zI|9)fBW6s%#QIl|K}((&625R0H6jTcNet;ZwKIr13MpUw;um31IS7CdhYyc3h)m>^ z{-C-j4F2D0k0!?V8J$P!$sj`>5G{i?zly?keBTIgHE;aURtZF!;Xs}&4^Pfuo`0T0 zEj;|_Q)6m5)J{*m{nP|`gO7%qM@}9d|E$ULIcv%&_W1(Qk_lXW24!uyoDmZMf+2}% z!^%MfA5yQzAQ;+13l(a@xI)If7A`Kag2ssFY$U!1=1~tea4S(Y|ego)oIjB*TJo(nSgd%)Wv(H<_ zNog)CKAtru!$>n>All@F=_gMXIY%IGy%Bk)z?i3#xmgWA#h5caXnf-Q5tD?6TXL=C zfApt$ks?enWYF>uA8$uEFC;3c4j8E`7%_xAir8G9&f>`#kUK7Jb`bNU%ixYJi`3(jma~QGz7*l2#GjI44Vw6sHUu==Qm$iYJu!S z3zb3ohKvRd%RwZd2ANzG=4~uKgpnrW7Dh4f<90I{&MMD#d^mq--V$o@`Dv7GI8aMA zvi(G41cvj;WAZ#};Ydb2;mGhzfoRVLB2P1^U8TVgW3$N{4B=W^GNrfYm-6^Y%2_K9 zw?qMI*$$u93O{^0e9JjvhO@1e&{NTqEW=h{Jh4`vq#-dva99qacH&@AT@)(~VK5xY zAU4uqkh$edegh)9guzY@NUec!>QxeZ7dOga+^5rB6A| zd&IxB1Qf64;+|T8IptC<@u{bA3juS8{0$60#h9qcNRX%JDvyRWC=2>Tuf`pxIg&8Q zPy&wIwaI9Q2?ps2{@I`XS=eNpFZ$K5rr!W%%^-3R^_8&+=7lo-8@p)Epr3=!H2htB z9eghF`E*)xFz<-rarEndPl`81w1?q9UI4GY&U93W2Su?7L=xh45n~`vQ@fO(){=1= z&Jsqo`EMCD&(F{C|t0sDU!0QAE5w5+X`PBS8apX`71eL~hHwczT4FAtVsWW38+=; znb(P@5H>O{@ldlRy>bu<2znAX%pi8r|NYTB6Akgf z=ahK}VUR%=b<`d( zT}RJKrBfLMLy0?yL9S8;EICtC`Q=4Q4NwEn1b0$~p96?A^b}t+jL_WMGnT;1mlC~q7SPbDG9(Jlm&eP7`iCWqCZH2(jT0rwpZT88VCj* zo)EX3!2mFqgTWw70UB0Ndw=-YX8;f%vB;@58Rv_RXHc7rq7eFYQdt-*&2@@v06V90 za3q5{fa4j&C<<|!MuS043xiYKc*?6?N)2FRK@rUXlr=@+7zVk;^@D&0bTX(Aq)Vt| zoPxQ#poOzooRqIAuetA;Mhcm%`+g8*oMkQm&l za;u9=E;n) z$rL$w)=yT_PgxC|k3nadqKh&%A$s68hCv1g-OD1zCKw-dY+?+9VH73c*aSLr86TXo z7Fb?q5(eo8+C7Z^APm|cL=M&%jQ(IH29M-mjX~#&^7~By$aJ;bCgaE;K8_&?9TuB1 zMqk?MwAR2`8H_pGP>CEI!ys(pw8_XIi|CPq+`{_7e2l&@IIXR#yw@Z(a6tyOi!vk; zgM-RJEv3OA{Xulm!r&xdq@=lNH2{N*58}`*akU`{l+WCe7&*wmgkuw7laWC%ME}GZ zgM&V%uI2M&3WGPTX_fb#um&b!Fgk+(h?7LjBQS_)12?1|xZz-sa4^VpHRg+A7p?UN zi!M6h*D1+vLJeGyL8gF$p3nhf%##Vp7!0y@9wRF2CQx5v{ov#_nPL~c39a#FzGEXoMac(D5|erlyG72X133p z@Yd*-_6H|q5N2^XgUUe}#0Nn4lOY~=5`)-9hZ&6V2m-Ng!Z2eKOem$OWqj}^G|LL`&hKKL8e?@c&QCib#m zfIjBQ0Gjlve?nhj@P;(P8~&QeK>$R)h@oA-@Ew@o^dttAgRq9kL-TZO0$tRl6Uavy zbWbOMg+cm*>~-&cGPzAA7)0=aVPWuwx6GUK`t<2zqFw zIL9df5C?$7!{fjG+rQ-uf*}mPeEE{;F~~t26Gwp#2BA*?3xhYO1(r9Rus^6k6hIjy z3`a5udT69D2y|$n07!pO?Ueo?4956i?CFFY9Lb;^Ku8=Z2l;bR_Ejs5cFJlX7*yK~ zE!05hq6YAjAlyoJQNqDs$iW(eV3;$=K!)Rk*kpzo1UkiEB@7FLQ`XSR>zr5v6EYaO zDCvVibW!?)NI=j_;}F$`PRhZs$;cq%gU(e82J^K`7)a@m4l_s$PMKKNO`P}%%Y|!R z0~0c+l!U%v22nwgcL0b+N&rPvn~Vb%IfDS3>!Pk7NRjC2DQoH2ZKz* zMhjK#9Lb<#6WB!=qYnm0uA`^N7tj?3>))xIPj3y3XE4m9`5664462SYDuEExCIg-X z{^ei(MFt(CM-<8+J-d-(^pIE>oZc2!-mG2&Fo-<_TSwq_Y9P0Zx^4mq2yQ5)_=MpO zXCyrS>%abMFvvz0IOdKrXL}@r6eb5Sc&tn^#U@k#eC2!!YTz6UA_o~Cv_I&+YT!oK z4*>D)5`rE9B%}SoV372~491*obADMlzB2EKVpfz)-^C8gUCJ|;*UVc zK^X)+bx}x+{vZM6AbVNl3^GLc{`>D^Q)SXA06Je(2Jv;n42B#mbJebOdn<(>u7SxJ zq#K9>K>V1q9SqVL#Dy+ue~?pTVvJ2_lVK_SZ~o?Qp2VR2!NTD1mnt#SS_2nn5cH6D z_<4U2Aqap(YLih80xSUj?(hDt4AKom2!<|-wi*4wTpcxB8=43OVmH6OphOuPz9~& zqAE;KGCbj)PN<;w zE5~3x=1}{C1c0#FX|t{#6kBa3k-}jIJ(Z)eyR*EwFa_0KUZK=L)IjK>BjsSuT^>e+ z0j9br3?lEuP+b%uNPkc{7&e(;5K-uyZP1&YorS_+5Sb@~jZVU_)#s~nsgJKvA+8@MH8VrtH!&{Ss!C~-4!m>6s( zIanB+f_7J4;dKq5i(-($okI?u#31@7>L@%0gDjc|yQp)v=?^kC!2;e~4$}2&AqfGn z3yv(KAk=F&VGudk=V?L~)B)-95zuPYiW}mJEr=$ih!l1gS za!{MhBn&b{$eeBX9nIj80*d_Wq=PE_Su%fnq3qInJmh}!D?1al6=W3 z!*Rr5ClT21GpTNQrOcCwuU7)oPy=UTP`k}p<)93@r<3zVUBg?GgD_Z8M~Cp3L6Bs> zZ7@VE4to7TuhHCFC}R`T(C*4Rysm)>8H7F+QTv17!?YRnNyg}FV-v%=XwD!56WU}( z%E4-6g2BNwM5rL7pNM0^8b+DKU}JZFaqe~LOQ_Vq^{;^m?V?IRd<-}t2W8N?YB4@| z5`)Z>aW4zzi=HS45qNE8il&Kbi9zf!6@tjaiotH9xjn!1{QB2=d4o~|uWMj(1~s3a zl|hU%tfR*!!}2B9(VxO#2OG@sgl)o1;ZC|JLa;L!v>VOMg~h_)>(5t0Q&0mn21DK% zhOT3D>2A;eVVD(9kh1$ z3WHP7=*la+Q3EiT&s7W7@&G+SPW5vJ8KY-OV7_hw=vclahRl-z!(h<4YIFu2AB_Is zy?gf-78Z`}qE#<2nPHMHdUTSeZ?}8>Zl~AY+1;97eDTH$l#@~e*SrQMWH1ae!wmk> zAN`S|^NK=;2$6%32#+#|A_{|Op#aE!GK>$xAOrnORGXchg+cxfRQ37MPcZoD5Aum zl;*$rVt-Huk%KvdX^g&d6@sG~L>$l0mo>a^e8F;Z-D_Y%28VUgTn@sTR!{@3?h!{JYM%YFXb;akk`N@3<@AV{Xv{#^bA|j zA7tIcAO7JV${_UNFo%XgMmac=LG;+k8HCExAI!g62~SfEoQXlikPLzkNPg~fpL1+t zLI&Ah+qr7BbrZ!_R8kl5k0`wGxT4uO~VFl#iul?Gu zAqN>BR08TN2N8vw!X`@TKmYSTqlhwRJI3hw4N%7i!!9a=)yy=<2JIR;SB>$(4n|QN ze*ubJv^3f&tAPm_6ho)YAOw|z+C`bO4R<&hgg(Xuadrvu|LLFp2?lX8=$!4^*aQp$ z8a^0?5F|z_3xiYE>dNcnHE>o2=?nrOauCT#e-NxDVKARB>RdJWMGeL-%D!saWIzuF z@o_+>D-7lztAwYr1}>dJ1YacvlN`)-QP)i%1l?yFU6e=5Af`@~OwfZk(5oms!muzn zm94J4R9*uYWYG14XrZBt5@2o&jsRm5kZ6A}_OgIM!iR^4$W!`*_p14#g~9xzl<|37}Ox6KpZItv5U$e z>L~NK_xJbd1_B_C0Q52XaMTH8sZ!;nQZTiPGB#1{qNV9hSq+?ev7(j$U*yq!wfn$F_J;1jAquAsGEZdWFFt zM%38L0tV?@ot{(&|7z996P)Jnp z@f)BpXn!!~$;5s#m`3Rj=5mm+3385UX~PV{CZmT8DH330|Av3E^7>O&1Lt6nTVN0v zLl*@%T#Z5Pq9Yk(e^L5_Z15KphE~E3SB~27|d(Cgi8$!*8nOd0tgIGqR)8H3-hVEC^5=G_ZL+iMH&Jf z0RG?yKfq7Y@&En5pZ@fxEFR2t(IN+jKSYVSu{AIugOE6qLHdI*=>DP-ryP_)?WKjm z8{4|di%(Jm7$+x@gX09T4@{^yO+8;#D!WWL&GP!9Ki>QvV ziNfHtHo_bJUKeMO`J(m*b6u2SdgLGs5?Paj4AV0{=v=k<%@;bGuvQqn;jQszzCOAr zJ1L!N7aiFjbp0R<${IaEJAeR4e-J;{McKcC%}DvtC7gTRGssvNyqT@8ymej!n_HWW zV+PZ&44&+U?V_>2sKbH?KAd|S{^ei(C8LDI1EzZ$vUWaakZ}zrofZc3Z&AWGvj)~S zHg_7$-9}@Z@%Ics)=@BI=y9~BqJoelF+La!BJUJ}8e|-!he!K^g~6NIw8~pgSOcpY z+uM7soxSGv?jDC2?(Ob0c6XZT*ybRNgFYz4M}0+v5y%-tMYRcY*GRUrm0QjwM zeG3MQE;{v1tGwWZHL$+1xz}iN>?9%hS`H!#m4*mG4kY2Q9IP=2aX3^^I)l!WAq+1VC~ZJ*aX_D=R6r1#3mzyj1R_M z7W4-hz}$p(h}iqQQ{Kr8ve1U44&T)ZgKCzNljp+F|Gt zA`R^iVi#p>0#PV~&KG5DqR7E>e6MoL^wj`3F;)5`yJ#Tk=sXxoqPi#yx~G$N(Heuf z9CY18VQ~7|PkEz@*TC93Jv%hfF?whM5eCJOFrp9<#wqh;_#NKZXWOv}#2-RXIS8AW zXwXHKgCvgMn{bSt-e$a5rv zk_eb=Y{>XvVem>do>G`gse$FywQT@6o*^S;!#;qFWDwED8eZrF!(m-C?4mh?(H{h4 z)=kXJ%)lVBl}8}&SgQ+hAqQp91-ym9OZnm@ldDz(teZ$vwfBx@sSVR-3<3yeIG2Mm zD1Dknfe}TN>1rsY>Y~os4mk*e%0X>1=%P7;{?4EnLZU8bu*{RWYE7t==Yln`ffNL; zQ@Vq1^apDU(jSCAFw7Zbz9_>Jj!pP`^kEle+BO<2_8jc1j1Si2;4p*m2!qBWiwlDn z{Nm;It5yRrxYum&9m}|rakvnL1c*ct#T5pxTKg&Gxp)n%ZEiK1j7>D9Ec_ab#zP8@ zzFUkd?yvjitbnTM;!LW;>b}I4!5a>=~kYCWg_*<78N)23{ z8d$B?F45Nu`V5?jLBt;-4~HnkXP%6ES=1P0t{RG{x+wG9&_(&(CDtw}2krVP^>PM9 zGUQ-k@ai<4Qj$xlfsKvrMzhVdZ8Xgs!!ZmxPlm+Kli_!luz!YGh5-7f^F=`t4B1!B z@j)0w5e){Br_mqeapQQiR^0IG}TbGBVK5qldlHc=S-Fg|6;^P1Mc*5-PvvDd732kT=MXr5YQ zP#}?m`JPVLWR!O>2!Qw~qBu{riy{PT4ALJwRTnLC@R~NNQtUI;z|K~+Zlbx@+}q^{ z7Lj^27Ys6{fE?ti`>K8CJKtfidx*m+2eE|`MmXXK$J!-rGE5m|jGn$^Vem{}swAG) z8bGSGTTLdSVHpkMXilGo8UaKCDhF!}Vv_+ngrE!}`y8quo&dV&*S_{O`;Ht@JM`Ca!gQUa-gRqG{>G&Y%NgpHvAe}*V(O?h&!O%UOoU2wC zJnNS#>8G^@!0L!WmM|&vu#mp#h^XXX0#F7~N4X2zChBFrb_oWdk9jf<(9=(>^#_rI z+C^cIM>9``bra8@KPUefjEJ#`=nrBVWo&|_6FjtxO-yT3ys_^kgNzS4I`}4hX&UL# z`ugKV^uZv@9D+gmeIW;75CF$87;-QeeD>^_47zl}0eXiEp-%^c2L}fvC=A}%wmPjZ zj%-T<^o<5fC%_N}!66*RQ1|%d0{dJTFNP!KAYDQ_fHFt`HbK%oexpBF7@XF&RNm`+ zHBkNBM0>ZvPfk=AR-h&HcD6Z!!A3QUMkxt{=%Vx==?|id#++>c#Ho&gp=O!F;Q78w zx$EZCz}nXCZnMME34VHsgBM~_|f zf(&98CC{*nj7$movA=H5h$0;z4hF!EUc+#gV@z=Bl z&dMN4sSF|q*(-Z;2AMKS=aKQjV32&CJb4lfIxqol(5E8|gR)r|yrvDT6#LW~KmeUd z4#FVxsf$j?;K=!+u3dsb*3r`+v>2dQW02Fr;He+6B)HZ!Fd>6AyC}M7E(fv3V1dyl zQ`1F>kKcUx<~P6Te9^Ce{p-w=AqRBPGckzHTy)WE-QG&!hil-h3<8epCg>Q#5jGk6 zgTbKvK?VoiXPf?@4B8)Lz9m^SaQF+BnCo5xjx@Y~=1Hu@(F;wunyIY_(=^0O}p zO&E0Tk__^D6Sr^QrdNnK20g8yCoy<0R)4HMPR`ogB%10 zt^peVBz934 z1VDOlqz7AdQDm9AC<-TIf(StwR1T_(A_rmct6%*pV-xfT)kPW6_|liYgo?|)YOGz7 zL3Pd?L&8W#kR%Xe6NSOyk62=^bq!3&ph6G^aoiI9LB|JAWl%X73_|V~zxYMeT6ED{ zw{AI4#{OWaqaZ1R_+ZH7nX-22TDP=P_>*cN7=$uiZkdTNa*!~h5OBB!N8+%Ho{vFr zwm+CN2y2eZ7Y0xIWF>yeY54_X9ANqsXWEh(u z40O;}7@V>OR$k}S8W?6!+}=d+_1Hv+!eEf~gOkWX)=e-f0fTf2VUT$;JbHF^7G0G7 zAPk~#!XQrNb65_Ry(~`snkB(?tbvgX!j~>c1U;OQ@Dlw&h8xB+=o()7gEHuTGRnb` z3@QiVu`qZYn^P(CIcfkSC%UNWr~?qk{H1?o5c=o_;&KLw#4cK6(7}4fCUDwCgF)@0 z!C*}elDWpuF}i4xgXj3Z<(8{o1LGOYF$6l1M1I9S+cmrBNeluYa***s6j2;@QP%L1 zPpsh$T@(g!@Q4f5lmKHBFv#DEGDd&(8&xUcnQCB|!O%Y=0Evi595Dzi#|J@@brX&c zI!}hdLB|JkIfyij-a7$M*+84;ON9B!kY`Ru`2)`-3AHWJH6p3HyU1bkSZ zlQ4+v!@-~!Y8oXbbkUe6BZCM*x`d7oYLjt{-gWe-qmE4=OqnP1&O7h8jvm`9#KBr0 zyJ(-`36CzbXN*7C-)H2$ted#RuV1pd3N>)K3?lUqh&h9pXc(Kw8I1A4V31v9REb$2 zu@8Xz`|V!8-R*TMzt!$^THQf!aJYZiX?Ita%h<$KXgH+|msSHPgiexC%qi(qK5M=S zh#Z!KfChSqJQySlgQ%kf94>SnJ!ACB!Ep>C2lw~;$h%_(JKbK3LBUq1-y0kZ4!iB{ z+RECcy?n{2)W8*}fe9I`w9%t^GQr@>moM2N4ZCPC2!=Qm(I5Qa2byI#{pnACdXgMu zb5V3r64;!A_qB`B9j*GR$3?scG?w#{liYHx3;!%1*)wSq13>o)qqOisWzDp zn?WYOA!nHL;Y_+?qYwMTx@+G5E16QC1Cg~5Ne_lF+tp7#! z<#G@Pfen+)K317t7g;#O;68oBl_CePK(i@DxWpQ`h#b@|$~>8ox+oec{Xs5`)J22A z&wS=Hj~+d8F%%My3ETVh{d&nNTKSzWy}?eK@d`|)$ibDh%}ad!l2xgJw_XD(f#=Xg z5su8+cCOl~47#Tizxjee#`&VGo6s%_gGc>A=4!CVmyyJ*fJMp5mel}RSqWd7=}{;DPiohOqsh#Jg(GGUY9$Di0i zt=~^JndAOocc0-w7;Ga4F_-RRs97rvUgq~NdADJ8hf8n7caUKgEE4l+3C_#hIHv58y`s*Bdv z4~}PWzt`KZCap0rfoZhY?;!~Jz2JqVrOSN(l2@sLw_O91GZ^1UcX-uB znWzSXpvM4xjL~b8fkDRTSvP?YWZeYwMO{a)F8W#y(hWr3rI~8IWEVvq_WS6cK#0Bc z@Z}*}jxH`QzwJ6J&o4D_nKf_@1{tFVLm2$*XFto#PkxUc;uw*S&R~ULnkVB=z+e|W z6N5<)?O>8&gdRbNeUw>iorC?s;md<|ueH2VJ5-iNvFmxAzYYnHtyWcGlO+obAhO041-tUIR4-6?rv(*d}9tP+ipD00lt$gD@EV zL2WW1$+`&{WX`sG8^R#J`GQU>gV}sh)=V&KyF2K!=XM7kyZ!xEx8GsVaR1=t;UT|H zzp-BA;9GAsr2v;%17~GWMHCSRr;gG48=x|X)C&gfA>zXz{Xyhl&fu57{AJWyes_s| zwzbJ{%1+ydgWhNNTkrN8hrM>1yxl)&b`IKUD)+%53kZ9y?Ty0VWj274*ITcFOJNZ4 zr!I=GE(&_UNIZe~{Xuk5U7_0m?5L(&1#D%znT7?x6MRn88lPV5`gc zJZ90u!$Es@bLFj9S}8!OflI7`2^mCh#Ho~GkjdpBx+vV?YW+cDATbyWIhZrZUKWse z%wU^w`Im#vVZXJHE=p&xm&rl&)NXToy)bx*-@jz__GvpOv0c528IMiG6-?8&vuPLI)jYS^Sevvq72isuiCHw`mX~x{Xy)a=%O2R zFq=&nWJC~YH(*RK4NVM^F52C15qE%Ll+I#ntJq{N@$;9gu0RcZ*bLG`bnQ~e!JNS% zyC{1)F<+E%K}H9U8SD%&jbayl1%v(0=33E3uRyygMYy~gxCn!eP4L@isW+JY9zAxL zkb^Lo>!OSg!XUb6$U$r}sXypC`fl1+EiIc!2r@pX983)M86Z47VD`+$S{Wa_yw6{9 zx&k%uVKWGu|M-vp82!OuFdv&pc2W9+dwZ;pU~(FQ@OV!r#wIY!q|+n_4-VL6W@D}F z>2w9!O)0|V)xd|%Aad{@{^1{j!5E`g4(7UO8Xv6I38tws$NQ==ZwAv0ox}9YX9oxU z4!UTOgO~UDOHNmy1{j+_0MY)#1WF(`!h|U%5@?gbciqIPx@e8TToHsbDJ`XEYYP~}D%0xp zR?6OnSE1dMGF)B_gf3bMx;He^AdWzOl`;AngD#iA$H8EX(aRti*n894_R2oJM4C=s#K)%QCcn1Bw2^mBVGDfc)oUMNQ%rScV zgGbzD3<4u;A{}LLtuS~6noTLfCDwop(*AL>miscOf6U*mbG9d8FrTySd{N|}d;G#6 z>o2s)Fl*Gk4Z#h;mtFFo*=CKS&_P2VK33=83~P>i8h^v8NNKj1LwDuR~iXWqdm|aES~; zVvRxfHiSWpqLawM}Xl5BG)z3EQ8v9_Ex$MMQMHZooR6jk&??VolgSx$dJIC) zjkQA;mBGLN`@f%@L79&|-&U_u75!+;EqfOgTE97Gf*i_Dug8RcM&LDx;lpkotgq-dCkWBY@s zoyfi-2d_vADaH7(Yk>YBG=(~<2{e2z>4HHptc^|N>jzyo!A2JT2B@m(-~HX+#XK1% zs?i^0z9?&W$rA=0n}9(c1bS(|at9jbB zu?a4bfSILNyGBdtN)4Q?266_Kbb=;&_)0@mPy$8*3m9?=6pXy{n=i`2kqn}d!XOj2 zNjV{dWb5!mVeo9+c|Hc;d+)tiyM#^VBsu6BrNZF#Y)z%q=c$3( zJQ+n{2tfmgJQxH$ubzWJgdkcgqY|#8cdvUgAJ#<+gXj5*<(}(Y137~^da9t|!yS$U z#Gr_tNf%|^1VZo|-}r_M;#c_2K zn+*NI!r*y6Ou6UA)Bp@Z(-;ZpRecylDGdf=d@yV>m}P2q(O}U2AVyKg=-KO@Jc}-R zV;Wj{(GzQ6n89HljR8Oc$idJ>`CZ)i-+%vm-}@fixu1-C{4!4lMdHOSJ~B4xu2h7imdBrJp9{qA=G5Z3U4 z4j1bt7#}2(F?z=bv5P7PVUT^*z=0&4Gy+C?v9s4_@0=Rti3@1}?%N{Xr}( z%vD1dg+Y9w%g5-48Pq0oDuZAsiO4=kEDVnOisjmMu7Qg%NPiGr6b3<0byR_Y_P=(5Gbv^q8=XLnB2mCEopH=n@tNFZ0Wl zyr!iFE|)=-QULtXkA9RhnD+;ZE;=o3r@Y7I)WFu}Wy(PrWYI)n@Nzy+$>j#rz}EU! za}Oo7l{C^uv$0nl1S+?;+t{mqoRA4JYN|0d!S!4hg+3j+C=BAX(u6L`bhVmYG{z?Q z)d|*3V13p0qBTap*hOzZ8@%bSxVZs?tyZ%QVtb9|&R%P0x3zn8w0C#gdwZ>l&E365 z8p?+h*kOo}aM(q$z2MTYMAZSrE((MAP>HR^^@EsYn5vB;>Ka~cGK|qPK6v-;-KC`^ zGK9Dsz?xkY(`XqVyy@+A8sC3&bG_MWwA#%^D+#@wy+%5Ao7K_Y-Rtb_b-3mdrkp`w zWPFgB*p5wr8w2$DzG^UtD5O`&+9mgN;^&qyisA^kZi4Ya=8GZ+VGs#>k{o0ig>16P zOj$oTjm_{zztiT{O0&J)>g?b*THAZgbnGSySthZ&mt-UAX_M(}j?{-7B!FN-!*nl; zVFsZO1|gC8qG6L^o{Tmb=BhbHA9J?JurPR|+u}`q`JK(Rc5AoO-otM;(J;3f4gDPg z#4tq^L0KVqq>I81)>M2MbR9hmqKM{l5C&01m4h(ITs7#6-(AYb2bF_`!JFC!Z~A+0 zuWz**txl^=hp@$@wLL`NZXB(~Zma4ps)gzYgZVmo<)HIL;f`T?e247a>s|)`;1B+Q z{$Opcn*Bi-q`Q~*2VKcaWYI-$dNZBs_g`J#rqkDGb$1(`#$K|(GOX4;BWex~-L$8(jlSTiaXB z_6{Aw1{N3$p{+f1PkM(t&CXtRV6bUp8Xdu4O&3K7!XWx5eZZO=#3&lNC~^=6=?`LG zg}zUI@{@(Z(ch-T-i#Vp-`!|*c0&!-^wQdGaCG+4(QdZdj9rXk5WSHZXzuBxE}Apw z_+X4pAP4Oas*55AgF$rB#l=NVm4l&q7G3maw85MHmb<%aoz70Dz1?nYwOY)XNj4em zFjz+!t;ZOX2Jes8Hlc{(fQ9kF+$IBPI7bOV4}@(Q0mj;cjz# zr^T_0jV8^V*=x`xghjZ+ArfVf{vaAAV-s+PLliY4*Rvg!QlGyDmUmyRHwIg26e3w)kb-H(8ePCN zP>*Cx!jaVyBN@ad0YJ87oL4BBXr^fV^62T;Pf`A@@8kQf$hz8 z=4u}Sh&qb-C3OIk3R*2;N*L~fVI}x#494$G$e;is`(RKBD1+EVnIywpwIT=4{CUa^ zH=qXAR+m{o-(@L%T1k%~2F{X~7~E@Yv8KM#K!FhPN0*SxH96=SUbw?DBYgmfGlqZ+ zGNY#S2X8=wDzA9v8rWD}guzbQP^OZAX~j~tfTB??=&iQ4kh=tD#UP5PVln2bNgqBA z=oEiJ<#+~}C&T!lV-v+DbLQ_?Zn*w6u(7_JmI_uI%B11=w1n`8!PF&83?|WNXAlN) zgkg|K7(~gWKL~mdhc1dE;9NCGB%YXQ=kZ{OB1`+7xIYtj|7)9wA5^#(j1}i8NgAm8I zPB6%v?N~oZR*uobpnE#8M1nj)+p&r8iNyYcBSG2I>6~A>+;&xKU}bG%i*>s&xC?;n zqE=Z(>G?TipGF9eR8S;fFvz+I_yi5);J3g1ZP9~491Jo^hCO~6qbH1mL1x7;Wz@Ax zt{=?j$>a+uia{!?ja0*^{Zb+VlpyFVi>H=7ahYO zk6_j)Bo+oQ^qI@eSGWdXkeQ;@W-^XZU?T0LU7ngvhU`1d9S#QWVGyMh?vi@iXwV;I zYcX>J$8;s2WFSFy9~pHXrTzfY6fYVt2R;&<_seB zaB^2;(0#UR3?fyb@8ci;IJ)S_xoVXdEV}3wZat-Fmr(;78|xt0W_@6yFAdbE-D5zm z+TW1PMbof-HFA$29M(l)P+b)Cf(T@ z>9*k*^NHA7L(VRgr z1Qz5Vds$!+#S|lPKnH*fOymqQFoAOoFAM@BJw&o}eDL<|+w=4DWXL=jdV-=C02aIG z1fQ`axyCiHy|K!&!Ct!>lc*SE=`MT7q#uA`o=jTPo92#QkU?}&Y%;+h0gz-T!-o$a zvbSN*AjAcOT4s!?hUm)}{WWfBrRXQsz~;t!rHdvZm?oknm-cpoyIc->p%RA4LuTQS zgXp5nlgZ^E(hxbwz=UQQq@lVf3`TztIS7?981qFDvdF<)3oQ(u^wmoIG}Qo8zu?Pd z@`8pBWeC1FIL#R(%vc@_BCya!T|WqV&P=0Y2zThBFsOFQob7yUg6V29NIv`qC}R`K z!C$3Q_%g^m8Ff*{CfH~Dr2Zgz zVw1`HgGCOW`uR$NDX4)nG03Po4iZn2gC{Xa?+;xR@dtp+RZ|X<4>p<5Mak2yUtm}m zoPq{cUg6XlI3I(lH#kZctug4Jp>mM@WP(9{cL~Xe@O|{?QErnda`4peRT4~J4V;fb zWR~+qYyH8K7^FX#@96}C+C^&&YLhAb!Rc#e<&DPFz$6T+f1)~8s_2m}8VoW|#=${) zf+sP^`a$iY=%QFh`5j*6AT}9v(Ob7}y?F5gu91VPqgY&Vz=%4EBOGHBx5IHzGgW5&WMUjkT>s&R)CSZ`v5qvCMQWq@@p5tqlTdrdb1cQv2 zgW*U9iOiAY6aZzARe|nhfgHpFgHr1FAcKRB4-$_}CUnu*%R&Z~gXp3;gV3idy6AOm zQKight%36~h~5|sGGA2mkcJ9G#|ND<%Jfkgqyvaulz|C;`wThge9;<%cKwnZtRO55 zp7m>%^w+TlCSfpiQ38emF#3belYu@+6h^0QBL@lKU=ZTQFc`Wh49cAp76z|liz;P4 zYYm)_K>$1}gN{u^e=wJWH3l(;ViG;5?4pFzX|ao*^}Ckz*QW+P8U_)9FvzGxZWl$Q z)@(9K7ex*253tJ|?t@{UT@E>5kX_X{dfhGszCN{EN?K~*^ctW^V`IS@bCOL4QXG#U zS<*x+ryN9Aj4}F?bWv?GGU$9!x`d8Rkkcs)4*CbxA%hGNGJ3eVxq13ql@z50u1^h| ziNSnq0t`XJwM%vblSStH-^VUWAFwiurv4zOfBUz8dnN`CDmjQMiblFWKr$Z5!NTD6 zX;!7AXQ%Zq@O4Yl>rex0YiqzYhQSKHG(MO!s4l7;bc`N(huVpQ zyI}^I9UA+Kp2A?Yv7y`*2CqX4DrLNA4V=VaZBX9RsxO#47-WbLQHl`SGt4uPsFPjR|HBjhB8QGMAtIWy9a?%`!G|=C53CxXLwfK?c!9?GFMV zizZ^83=`GZ)(IFvl6f*UT{NGoHiE$nK!Pxcs~9{S^b3Pmxiyutou>vSXOJ;O6;uM1 z7~H{BDTB}#4j3`Zz~B#m_(Occ!60Mw{O%HRkcp#cr}Qfs9~{Xbg3u!vB@eD#7qR`&}g~5=6F!(FK@++VD%x6LuWfY=6 z*zX-3Ng^gy6ghZs`10_u4}%-)SGP7x$x02Jy#`NPiFpKmF-XKY#w*{@{rW(jPoL9P~O{ z8*68O%W_AlfvZ~sIfGCJk2nA%jFZHQOMd(%IT>`Y9{msozxTcG0Ub^ZVNeW-G3>gD zkb{g5A`n56+=9Vp&z_NIl6w63Aipwtr!3xSFOKJ26^La8LN#?;IauC^?=E*z7aKp(zFQRu@c%J0#KUDWYG?V_xkz$P=yAbFyT!eBDQU>C&!;qfA-mxufB zzIsXg*5=mP-?H3MYT)YDz^M$PF(UZzozxA0gppY?7;-Q=gNz9}Fad)O5h4d6&h>+= z;g!Ky!<&yyfEWz&!%JykA~DG1?P?+6ppOiE_3~w}-(M?hm#%JWDkVEl4NStI0Ae^L zU|6LTUKk%_o{UBqEifvgAqPP+XV5jg$U(;k=?}snV-sN)#RfwkFbz+zfS&);g8Bht z^Doo*;2}TDv{rP{^L*!W&(*B~*AG@h6A3ZI98ynV=V|!LK^b&xf_@ry(LesXp(K6AO}3fI6S z4B8(AJycM_xR8VN2N|1C3zb2XPsATW5Op-nHq!aEb4sG=nu*uV-v_h)+Dk_o(^DdaL^qbc3v}xS%&@~7^WrmBs=p#{N-Q%WyU6+K7E?xV6TU;OS97| z*#~_!28p2`dY<(D&ygvwoPo6w+)8LnwUNQz5j6flkK^|8ayuwYX6z!Zfa6Sedqo0t$ zAOHBr5Qkk9n+%;n`-9FGbw3&UgD{A(h29^+j^1E3ReK*@6b6s>y07e_g~4-v=5pH= zu7NW#i1vs>ES}0Bok3jaqV)dgIkI8`A;|hc`h&qBbJZA|Ko^BUY%-NS=BNW`814WQ z-f@M&E8LVy(au=|m&hQ?mvAVhF;6D9$&6u8IfyQLDuW2hGB$C}FI{fCsx@$l4B91x zyODNL7-XJ|a`3may$!L8Mt|^F7exRjBh0WIEDT=Nc2vrB{u;O-gCBhG0qZ8958DgA z03ru5$e@ena*)~G!63S*HW~Mm`P8RA_4x5)Z89jFiNM0(`9Ep7^P1Jbr7-B2AmR`D z1kefFP>FWx*hFrV`Q|sj>G&Wv8OA1L5G9lDo}IqJ;5BPTrMMTUfz{Pj%q-*Qs>Rqu zWs-TrCZimLLC^~Z#SmZZ)Oj+u%8Takggv-4iZsBYq}_!rwk$lhZ&6dqJ_cB_@pI|YgPjnVGxbc zc`{*>F)&6Kg+WFMvB{{5DhCUL*R0W$;$CVET%5t$zG{fVV6YO5X}&0OP@4=w5bJ1R z@KV2F$?SU9z^M$Ph@Pa2A_vh$`7LZZec+}ACKyB=RY8rpYS?57gV(#cl+u3)HIOrC zXAnQ2tN0tuAYDQXm`FGGx)(ro(dZJ^7-YUE3|>$d#eDi9R71(K)WBP-0rs+hF*b6+ zCUaH>k%KVEawK-SA7+p-dX!ScVoeuy&i1+cgN4Dj)>g`cKb#ss4#FVggD{9KlUEsK@6lAbCA4a7!<||!K8}mXQE-q!S;L1uwbL9u@gyc^ zP@4>0LY?D-_X^2FKMS>+&Wmz0BmCVg;+uB%fl76z|MqbcRM)Eb}{25#Vh1G-?4 zfDBfGF^w4FPGay+|MXA&73>%vgh6aF4%64HtthRJ*9U=t*+0FnIRwR_>Ud8o&~w9E{#yK1MHbB!Iz4 zz_0NRGl&X`+F6r>L}IJq_XpkMm)Y9rqR!dQbcFQ2yd_5C*ZwPT40YuXDp|z%hEo9KH<7T@Ij^h#`Ov2yAyxe=zK#jtruX z;^-0vgA7~z&ENbDx+s&=Fo!ZQ;n;-pWVDM;u8S51Z+LT^%GY2~ba&w)^cMk?3OXc&Jyd&cb zr^5^a0;W-jkU>C;0s5LQ8gkIR4V@>0QVNnV_~5~VVL6yH=sX$dbL|pOEH;^`Y=<}b zrA9IsFe3YM204{S0F*(a@N) zHW^r;BZeFd2`Gbh0CNV>MZE-o$RhxOEZ0p`#+bCtZ^%Iy3|+LwAaXDmWUgAxCNoA3 z76zxa9p2>k8lJN)boey}jX5`i7-5*I4X~)A!60@~bkR?K@{_eW+t6))u*kui+&FK@ zyTc$7kohO{&K!5h88oc^Im{pei**yH%0bpHF)Jo?QGS9j_H=SDin6r9hzPzR zpQgO#4XJ^e90W9+&?)lpVG~EZ{XqiGlbM{sVO^9M@?;%-*kmXPs%CBd;IJGl4Bn8I zd2?R#tPBDURLUUcO6;PO$iZO-^ZBC6K}tfmbPR($4oC}wH>YvlkT)H}U7crQEAAj^f`nvtcyA-p$~mE z2GK>ai-sJ;Kw8s98LUSRVv_+hTu49z3PIx;ADN$@M{d%WM2r%^rizav6Jm(HTOBj^ z?%laRd;8(+?fdud+j=TxHEfn+`f1J_TBrpW@bM#GkfbU z;RhUdW**#0X&w^3HS^$Bio8#5_huj7n|(5S|M9&C_~{@pL+1C%oJTylJNxwR>~oGg zvrlL4KD~4A>FwEPckVx*x&MNr3Ov94;Q5`0bGPr$-@ZS0>pp?GTeIo(&Vz+Jj}~Sg z&fk6T{N96Scke&D`{3EVM=xd{&86ev+`V+nr{mGW-Ny^}I0!t_U%dBtarVjl?Bj*| zPZwsNa+R2cnaA^Y9?j2G$++e2<3;?LD(23^g*y-DdEEU+3lEj6If94^_+}%fW_a4p9K3u&2aPh&zh1rJ-_a1OMfB)g!{YP{6AJ0GFp^wRj zKssh0y}0)?R$i8--I;rs67Sx*dzU73duHbL?K`(_-~P<4TO9A) zx=onl9sFCjIsFV_Lj1?o$`QDot|mu5>~784CFB}LQ5=*B9f9!-Iz9**VHb_5GK>!b zAbVNF_#nEd{XrO{^N3yad<^n9kffXxl0O1EXU!3g0CRXa-Pqh*U0YjO-&o$-T;AMR zUSD6{SYO&or>k3A97ZmzuFkKl%&)F2tgS4ruP%3UsztBTU=XMT3K9LuKbmyC63jl<@Lp- zjm4$4rIn4Pl}-FbVwTsJmNplcHy0K+=N8r$(~WEMOY6tS=G@B0+|v4s#r65+jm6dN z`IW7O<*m6Tj_nuAJ9EoB^D7+N3(I7(zOcA9$L-4;>lEWClf|_cOKUHdH|AG17FIUr zIhHr)mbYFkZp;JK8CV|8;V^4xOujti^L z=U1Q2uRdQ|q0*i&tWl*TSXicFS2z|Hm*?kJ=H`}PyjXfMxAg4!{L|<2&*zrr=9XT( zSbXtf{`q`5Ud+wEz@MLgHb3`d?)l^SxySP_o-E8iUs!mt$gwzwU!^3by5+^Q7tfwP zd-~+rvnNlVK6&!=(c>qNpKzAk(`V0~KYu<~xpexJh-Zt7i_ipd6@st#bdo`l3@Skt zXCxXd?Hs{`O{O+aMh4kb4GcpUMe4=a1ar0-n>dFY1VAw4q51?c;NXX>H0IYnn;h3j zJvihz>>nI<5B58U``yEXUOEo@={V@^54!z9chGMS`kizT9<&F8W`EG`^;_M3v)gO- zxH@Q6@twgw`E>X9+a&1s+x=d<-))nIE$MpwE>}}-gOpV-9qn$)q}Lntd;MN#znA=e zuZrn*2c34m(;l?b(dTHk`z->kUbEG2G`r0J*=u!nTb-R|duOk?x!2g-Ywk4K zyN%9vv$KQGvDesbusuR+cek;dzISu4+1hKixsjtv)85{z0(;%<^w8dJqqp7c5vWev zWJt2~h*oQ>)!1n6t?lixIDDho+{A*n*V=BhxAsydySts8ozBiyXM4M~y~6^W>ey*+ z?Y1^|+nYNa6tcD5Y;RQufxUK{*P$MotxkF)%DLAf&n<4>X>IRzwvOJSy}jGqZZx+V z?ajS5xozyUHpq=UcRQQA6oVRQ?`$`Bb{af-XQ#EZ+p7HL_U<0XPGfI(ud%($)xDkF z#!jQT+iLEmz8AI8qL$WowpVwy*LQX{_ja}#d)v*%R4c~a zn+$3sTJd;YR0f?m`tGswR2cC;`|i6k==E3czB+vM>fqJ8`>$T@zk10r;72Q75>D|R zFJHZS`R==~KKt2stAlV#d3b!lGNivtCa?O3FQGVr42cK(_)yFS#B9Ha-`hV(`!H6g z2CB1zLw-8r;8i*fUmYHB@OR^7^7mgJ3^@2pfqXyQ@AJpx@POms<=}unAk`lm&Z<8- zoKoAwaSZkkdV~Gm;GhHY{e7tK^#}a{k?H6U2veSes$dj}0Do=LEmit{x6hvo{#I~$ zko+EhPkQ_z!u7g64*yJ$Wjgv~PF%O!=g&r;i{0LSx5rZsd+Ffm2k9?Qicf{<>GZnoLATTIbOxR7pxxoFB0ElK97`#B@2*-@Q)y)0!@&KdpmQ+thQ996HTzyV+^CI_)OmUb{N@3(Qd! zxZi7X40@^jy&kV{RDS*nSCdXsB~!=8&QooXKFQlrgT`(79jkTod=Jr0;xbA ziI&$7sGgLlJ_7p)ATX+m$~`HjIwK4Is|0NI9r?yb2d76aK_o~CQV(K|N}Kpik@&EQ zjMmXYXd>xIVmlqj=jlbO(?mmhc;$FTx`3?50qJr6XbZ%rmg!;hu6)~kx5K;;z^*7r z{xJeD*z2^?K@!T5z~v&T!7)7{6{5PUH>mP}yF^WPBu$`|?o3Ck3*F$8cn84rcZO^e zZ@r%IB!#2fIX>F$4jY_t25|`AL@zFvtVX(rbXH|}HpcjFNB!IR8FFAwE%|-=9^Te@~p8nvEDo3OYGCLFok%Mdi zr7ntUN&#l8eYRonK_v(Isxp{bYvzucU={-`x|~Fk9krzF9~&p_;q}2+OzkDHO$xq=Hk_nk~bfoy~ z=(L(gN4l%gOjBGGVM;VO(j7gk5_89KM>;3z|9^9L&m&t>q;VVr0|XWrIJ`(Bz(n}$ z>!7uG2LlFXU|<;G!!9^0t%Se;zV!Yw|5ef1r}|!IfR#3Aq9Y@oh|F^;p2~AhRo^+c zzsQ)=)vRZjXsCzZ+5fIu9K<+s;h<+V^ZB5wP#3PlL9Za{`M2)pyK1@-r`iV(!r3#H zjEB7mv=lr&(P#a<_JL<|i}J0@zW;FXSEkbIXLqSaU7N=t27Wd<-u%}$Z$B5_6}`;< z`r)2o?Hw=tZ0_%t-tVG&N7$Q!E=8Kv;OmNU@vd9X%~QMCX4vZJXmjWmvj{@&Z8*P& zfQ)fwOtF=?3lG3>>=%ul@v<8H8E(DH)4PSm?zh0%PF?gZ`fZsCYnwVaXz-kXamO{D zzs|!G;r%lNWGq>Qv*Ok1SGQ$ve9!m*mF@#eE|34v>xmkBc!E#Z_{TV-7ke;c05s9l zQLLN}mtGg8`-)^TmVt4LU3=%Mlb8MC&*tDieeGZV*}tdjXY+AwS7dF6n0$TzIcGXJ zxVYB#=WqG?dD;-~q0<8&saxStDI@3TOSIv+C%O>zFsIKZbTTU0+FrE}o*eWb^jE+7 zl@BH`@xAxnb7|^SzwyQ!mw#v5Citp-aJa@u+5y>*bo)@ACmIeVH%a-?u%EqO*%5E| zYlpG7$u`TozVB_Dl##L)u1oyZl=Xyzi^-ymY&@ z@3=Ni*Ui*=?{LL>r<|r+O};vR|GwF)&U2Y)#&o9P3B15wGhEzxE>kn(EX%%>x_}$% z;pZiEpbsW|45!ag2?t$pqMHlR|Nigw_k(>t=(7oS*P?w!?_)t1qL}#ZyYIR~ zbm}hqptJp&eelk_XTLub*Zv0Z?J~8CRr}}D!-z*RK6<)}y+5zPP>vVnfrIFRhUbRc z8q_5?!BztgBLFY-5al&-B-Orm>j#Z#|d1JrG=1yVoYa^!zzI`#=AMFEc!| zF18{UhD_NLIqa+Ega&*uE;aw!aNqj1W!|^ZQicx8SoeMFe`}xIPhZxyyAg{lQPKS# zK0iyl4u(gPCblXZ!~8iRQzOpsf&j zRr~B`Kl{l~e)7|w{d{a?>q7R0YgtbwquJUl_625*I@{32c*e=K@7?dS9ynN?v+W-}_3DY? zIbpB2>+Na6jB1X)MC;r7a4;9+lJeJvQ}W4}l%ul!kNbWNYTH^rJ)qfoeHj8x_tyy4 zHwpgb{FsF8UUMZM)M~z&>uLIJ9l$3O?*#WcZX85FOl%)St2o$JNc)zWeQ^Fgnf5^( zbSDVhb5X2R_H&>6oadtLgYy|Z#$8%ngL9gWJi8M8yYB>tIv>P1r~V-LFdfUvOU7(b)d6sqGKTc4$3_S%PG*lh>2tZ;q~s@1k#~uZ|vG z<{ffdq~RblF8CQbebMd* z`>q-ex*Yx4&wi#YeNV$PeJnqF<>uzP9$my+8Mh7d z&cxfwU4E|bs8nU?Cr138#2hZ1EjKn}05cI!_JmG+DJOVfuQ4taKJ2i{k69;2&gl3# zA9E+VjQc$wTUY5N!SU#IOe5 zv89l3C+w!(l_(cslr6z0YM35O?3PD27Lv02y^XN*j=xn}lC zf#p%E>BgAZc?QEi#lj4mt2Y(Mc1Gz=6aZnb|KATm${yW3x8Y7(2e}DMFVguWV-44i zxxO=ZJk_c4sq2uLbVB)O*wh^nd;A%fA^;VfB0L?hl}f2^i)K%Y)`w?0n=?Qu?E0Jz zuV$gqvoJ>M5gI3ZYQ_b_Q>ISNW>1?mX*gNcxnLmkoO)6i{4h2?OmuPx`>S95sz)f! zcApRSnP41bGvXiulJk2q2$*;>^Ugc(sP?5VeaYqMCqD6s&wu{&c&(q~V8j^?dUbeu zjZPyX;B2%ttOr)d-a9;u%Bm%7rNV$Y|1{y@7fmW#N|jp%JGldI)vBq;J-!yBZ1uBY zMoI_f86zTIr!BxyBlP2l6!r|8cLavp<`Vc>uV>s_aFE$U~7VnZw;&X zL+eiO6@?t*tdMi`WHEB)Ic@1Jc(PhXDU&E#i&lX?J9eD4uI?3;(mDfAD5d~R)=XW^ z;l)hB!#@3Tr#{2*Qol9iFP+__7rbbjV+(uK5(%dG!$V&g)k1jmo8SD#*5~3g4!Zb^ zlAH+GwW#e9Te}wZSf(d4eL~?C|MHi=>?@-#M{R{}Gfm-i(H40*v=&^5PB@b}$^1NX z(qCV-3S~J4)tS1h4 z8Ng&s!N36BA2BAxP#{l$F5$)*z_9zNK4lwB{4-X z1QvCGoe;BhuJ{2UgH8RxcUlbLE1s>gDLi6o7O>8$Xp>GsSqVQ;r!18XxJ-WhlB)ETq(nrT~N&Z2b21!6f1d4aqm&8H(k%R4nYYW`syQcnA+Wx2zoqzh%pML-Q-~ZOPzU5gB z;|D+ZfmvL{`bG`$WYv&HXTtCwG$ib|-g*m+FdEuhNq$J7{BOVg_B-#qLl*@gif7Q3 zr86Xo!joV;7M55~Ye+W)Af`*yWT+-e92Z@2S!Z-1L+!>`3{DVGkQ zEL$BS7i3ZlTS?IX)t6GV^AK!oAz(w2O(zmfVYNj^JL+CU=Z(?XV-V-Fb3)JS#qZ_T zCm|U+vj*s;1fEx+*O!)+UcK`6+w4|oZI(nbX#VDypaTIJaXH2@Gvqwv} zuwVS*7YGyq=PK0jx4-=@Z8yX|+@xKd0{rPue=?ng&Hdnwf%_L$#zbV~Kt?dPinQl8 zJVVk+=jF%K(m|y?;*G;!Gp0Y$c3Q-s$Jqgd#`deh{Zvkn3qT)W#+rbK1aHnq8Joo{( z80lsNvl6cn>4Y0H@~BoF`aBg9l?@5pvG5Em@MB7gDZTZ#nDm^1b!_+7wBjwJDQMA7 zQTjjcVyM*4UTUKMwFOE`|L%9cvy~8y%`P+mr?RX$v9gNh5hXe4f#vT&*!-=elWfhT z1LqfoX`O7VvL5`3VpxWEij$`1K|sPFc1hQw_>O~KDV3ccCu*b@g}A*PaD2AbwhO5e!N|hL( zg5fXzNr4Qk+J5D4vjZ5`EgjD23OWj+ETmA#W*npn?6VF)_~t4!vo!1>VaRl=ZI+_+ zqo^}Zc0;?#MPQ23v$pJ3RU$56!S8?ndtczBD-uEGpcY~FzX+=4vL_x za8XJM#a4E8M%S@v>==K$?FC=)0mBo{vR;f1craiiQz1{oNnu21XNhrw*%M`yo`-HO z7+DzMJP*-g$EhO}53pPkf1^@U3yl#hj~8yz%Q`Ewi&{X&sYCLJsuO0MA*&#i1RLA1 z_Kv@&KMw$j2-)Fj!xJBjADBKFTE~`Bk&5%YDDhgB=q$rrhQlnFas$sW=PZVw%#zM@ ze#4kW7eXTTqS+=I=Pt0+_b2XiE9D$BtwX>bz>gR z$T$?Mdu#7t*`@=YTt*(w0cT8QfbeIX!L)vWQ$%a~bl|ZWTKyt9!)SW~P$Huqo(eqE z%tGNysVtjchj`r?;|y~m3#D6wsKlvn_$X=uC_YF-&Sdb0Q-{%d7&8%Mm=XaJ{h1h6 zA#E66F8U5%n{p`?toWrS@bs`Qy_7Nph&7M;?C=s{9{YbPw6K{Xf3uH0>0{tp+~L{G zyY1%L13QgE7p(|s0~NAVlk&JO^>-6*?fXF#)4DN;q2<_|wmB>tLPe8?bi@ol>HKm} zi8}yfcrsXIEXUArhfctu9Itzp3S`5 z6)YP-5mP%Av|P87fBfSgfApgt`9lfB(Jk5-t)dv?v^i^X8o!2U)A@`N3k8E@oDw&6 zFK0HRX0`zAC{)V$>*QhFU>JmdrpR;ZsSh@c(By{ntEA>ETGpA%mfkFkBxjl@{Ai`l zww(GIUKD~R4H>{W^Sr2|RmcJ4l-qPgFU~VMF#V}9>e8};(G{O8n91TK)t?T}7!43U zI`BtgoF2t#k;Ymh&7z_VNZM4 z%ne_}(q5P_jSJGfx?yRrm6<3)YJS9~T?r&6>g%r2#B+4R5|q?V>*!6O&+=NV#G|2661 z!J70^e5ze4M}$}D;rN-3LHLryEE+(OLPNlbW;9DS41>oyY1MiRi-te`@sImdQ9Ef@ zT=RU!^(Uf50Z!!N85%|zfQ&laFb4n&f2b+j@*KDg4o-)|&nw%J2jZImJ0iW#z)h zg{Ghl15c?(qe;^*Mzs)`nv6W7&q-TD)j|$&>fySSo}M401(!R;Uo-|Yxu-Exyv7I* zfF?th(;1H<(WMU9=^5mJ8Ig2C2-suQXlN7kxAPiR3+ZjFY1hNJA>BBIrlp5CQ6|g@ z$p0!0|DwR(oBHYZ&@lE1jKO{tkLt-YIu##7CyZS)2OF)u$t8Dc$_g+VatOl7o^+u+ zx-|cpHKFkIG;?_AO((YwJd5NkRvZ9B%C5Q;TgpV? zvo$b#in9|@h7_Ufdu07Ciy_oX7$+A3(9`)tis}rwVd=w{Ngvo4%|3vsCKtIpc%hpV zW(r0_p`-_-!2JGVx6c7~@oG{Cc$% z9#YTO!`XD9M_uBihu4-D;ZKykgbZ8W9ddhabNZW?r#7Z5BC$|qr^)N{%BIV`04j1i zhcB@pM$o4p{vs!MLOEm5i@LIL4YLSXGostrdFY&UY-P-qXYA`K=zX zr&}0Xk)n)~bh=t6BNSbSYhd==44yO$$upO%Qidiquwiu`^#Dpa0hcTjjRZ4ffDKI; zhWxaS%^xNhCz;k|B%A<)+^E|(S{W<43|^m4=JVT_1Qg_)wM`A^Txu38HKtIn*)u-vIX#;hSgDLKz- z%@T$d3Nww`kS=R=@X^B!MHw}ib{d1TL^>iAy)@h4$EYXiT3R}3t}t}N3Z9AV`ZlJd zc}^C{YHd?(X5?wovvM`tzp#d|D@f0D%{A#NusI1l$p}#5=#Y^sShG|-*ebL|Dbe@e zf8R5i{u*M4c5ZE0HaCWvU%S?0+N{=%5&4BQzyLJ1bRtR&(~-Bf4__i%S^kq{O*EA& zPM=0Y=~}lJTBp_6bY0i0PfvRX_9FJe^=c||N=2$qpADQHxWx?hW<4#VHB`TXqi1ay z7kwU!6r#vQV4B5BCVdXJ3Q{soFsGh$>=o=J)VgP@u!AWsoeiHY#gNo^+Nw^Yc}O)! zH~ZuQyoj7dPJOWH{JHk)&dcm`bX7JiaTaqitaB0RE_wyCdfPcPqBPh?=h*r+x2OMXEkw?9-bm2LLtap zf<{kzZPL@SQ-y<~gH=i3-ll zc^bhgIE>Kb8klHo&JIeJ+&L}=89G3Q#~LZaFY8Py&VM3Hmy#3>pc-c$g!1n;m92mMhbK4RrhwnWc7@e~Y(0KfO%d+3R+XAz;0V<-+e7)HYY z>n-5zw=0-d8Ae&K#L&E8Z*8$OwplnU8=!*CPA4JRm4%#xm8$%-a1NwaV%;QQEw)AI&TyVU>MP=HJ!Je-gyAxb#G9H{8DD3=2EuG z+FL8)1*7+nLd~d1but2jRd&z0-tL;TbsF;LDYwd^0Wx4L$&nIr9SgV3DgyE+RNBB9Lf^8*^wBx0lg_E#lsmY!YV+WTSn?YuIvMhrKok{OA=?#2R zigfJoY!#Yrh>xBm0!F&g*oU*WRDS^Vhd=zm2ZhKeim=knYZ_%8BRNk?uTdvw&Ra)n z0lhJ{?9Plj9c;sFPD9eN)t5`uQQ7H56UBLy^2X@!!_ymhy9w>^txy(i*r_e zVAQ88E4uci``zem!`r{4OF5^`p60Lk^p#b00?jg~juXCyp-DThTz>T}!(vG5m&-#W zHeIFCIXe(X(R67Q ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case SDLK_KP8: + case SDLK_ESCAPE: + new_btn = BUTTON_POWER; + break; + case SDLK_KP4: + case SDLK_KP_ENTER: + case SDLK_SPACE: + case SDLK_RETURN: + new_btn = BUTTON_PLAY; + break; + case SDLK_KP5: + case SDLK_UP: + new_btn = BUTTON_PREV; + break; + case SDLK_KP6: + case SDLK_PAGEUP: + new_btn = BUTTON_VOL_UP; + break; + case SDLK_KP1: + case SDLK_BACKSPACE: + new_btn = BUTTON_HOME; + break; + case SDLK_KP2: + case SDLK_DOWN: + new_btn = BUTTON_NEXT; + break; + case SDLK_KP3: + case SDLK_PAGEDOWN: + new_btn = BUTTON_VOL_DOWN; + break; + } + return new_btn; +} + +#if (CONFIG_KEYPAD == IHIFI_770_PAD) +struct button_map bm[] = { + { SDLK_KP8, 210, 0, 20, "Power" }, + { SDLK_KP4, 94, 430, 40, "Play" }, + { SDLK_KP5, 190, 430, 40, "Prev" }, + { SDLK_KP6, 285, 430, 40, "Vol Up" }, + { SDLK_KP1, 94, 508, 40, "Home" }, + { SDLK_KP2, 190, 508, 40, "Next" }, + { SDLK_KP3, 285, 508, 40, "Vol Down" }, + { 0, 0, 0, 0, "None" } +}; +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +struct button_map bm[] = { + { SDLK_KP8, 214, 468, 25, "Power" }, + { SDLK_KP4, 168, 580, 25, "Play" }, + { SDLK_KP5, 60, 524, 25, "Prev" }, + { SDLK_KP6, 102, 455, 25, "Vol Up" }, + { SDLK_KP1, 246, 580, 25, "Home" }, + { SDLK_KP2, 60, 580, 25, "Next" }, + { SDLK_KP3, 50, 455, 25, "Vol Down" }, + { 0, 0, 0, 0, "None" } +}; +#else +#error please define button map +#endif