From 7470fd3fdd2a82db30efd75d803b004145239fe1 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Sat, 14 Feb 2015 17:57:46 +0200 Subject: [PATCH] Re-structure "atmelavr-and-arduino" examples --- .gitmodules | 9 +- .../arduino-adafruit-library/README.rst | 84 ----- .../lib/Adafruit_CC3000_Library | 1 - .../arduino-adafruit-library/platformio.ini | 25 -- .../src/EchoServer.ino | 185 --------- .../arduino-external-libs/README.rst | 21 ++ .../lib/Adafruit-GFX-Library | 1 + .../Adafruit-PCD8544-Nokia-5110-LCD-library | 1 + .../arduino-external-libs/platformio.ini | 63 ++++ .../arduino-external-libs/src/pcdtest.ino | 350 ++++++++++++++++++ .../arduino-internal-library/README.rst | 20 - .../arduino-internal-library/platformio.ini | 25 -- .../arduino-internal-library/src/main.cpp | 51 --- .../arduino-internal-libs/README.rst | 21 ++ .../arduino-internal-libs/platformio.ini | 63 ++++ .../arduino-internal-libs/src/ChatServer.ino | 80 ++++ .../atmelavr-native-blink/README.rst | 25 +- .../atmelavr-native-blink/console-result.png | Bin 128699 -> 0 bytes platformio/builder/scripts/atmelavr.py | 2 +- 19 files changed, 620 insertions(+), 407 deletions(-) delete mode 100644 examples/atmelavr-and-arduino/arduino-adafruit-library/README.rst delete mode 160000 examples/atmelavr-and-arduino/arduino-adafruit-library/lib/Adafruit_CC3000_Library delete mode 100644 examples/atmelavr-and-arduino/arduino-adafruit-library/platformio.ini delete mode 100755 examples/atmelavr-and-arduino/arduino-adafruit-library/src/EchoServer.ino create mode 100644 examples/atmelavr-and-arduino/arduino-external-libs/README.rst create mode 160000 examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-GFX-Library create mode 160000 examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-PCD8544-Nokia-5110-LCD-library create mode 100644 examples/atmelavr-and-arduino/arduino-external-libs/platformio.ini create mode 100644 examples/atmelavr-and-arduino/arduino-external-libs/src/pcdtest.ino delete mode 100644 examples/atmelavr-and-arduino/arduino-internal-library/README.rst delete mode 100644 examples/atmelavr-and-arduino/arduino-internal-library/platformio.ini delete mode 100644 examples/atmelavr-and-arduino/arduino-internal-library/src/main.cpp create mode 100644 examples/atmelavr-and-arduino/arduino-internal-libs/README.rst create mode 100644 examples/atmelavr-and-arduino/arduino-internal-libs/platformio.ini create mode 100644 examples/atmelavr-and-arduino/arduino-internal-libs/src/ChatServer.ino delete mode 100644 examples/atmelavr-and-arduino/atmelavr-native-blink/console-result.png diff --git a/.gitmodules b/.gitmodules index 7dbf4492..73c2c24d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ -[submodule "examples/atmelavr-and-arduino/arduino-adafruit-library/lib/Adafruit_CC3000_Library"] - path = examples/atmelavr-and-arduino/arduino-adafruit-library/lib/Adafruit_CC3000_Library - url = https://github.com/adafruit/Adafruit_CC3000_Library.git +[submodule "examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-PCD8544-Nokia-5110-LCD-library"] + path = examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-PCD8544-Nokia-5110-LCD-library + url = https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library.git +[submodule "examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-GFX-Library"] + path = examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-GFX-Library + url = https://github.com/adafruit/Adafruit-GFX-Library.git diff --git a/examples/atmelavr-and-arduino/arduino-adafruit-library/README.rst b/examples/atmelavr-and-arduino/arduino-adafruit-library/README.rst deleted file mode 100644 index 606c6479..00000000 --- a/examples/atmelavr-and-arduino/arduino-adafruit-library/README.rst +++ /dev/null @@ -1,84 +0,0 @@ -Arduino Example: Build \*.ino file with external Adafruit library -================================================================= - -1. Download ``platformio`` - `sources `_ -2. Extract ZIP archive -3. Then run these commands: - -.. code-block:: bash - - # Change directory to example - > cd platformio-develop/examples/atmelavr-and-arduino/arduino-adafruit-library - - # Process example project - > platformio run - - # Upload firmware - > platformio run --target upload - - # Clean build files - > platformio run --target clean - -Console Output --------------- - -.. code-block:: bash - - > cd examples/atmelavr-and-arduino/arduino-adafruit-library - (arduino-adafruit-library) > platformio run - Processing arduino_uno environment: - avr-g++ -o .pioenvs/arduino_uno/src/EchoServer.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/src/EchoServer.cpp - avr-g++ -o .pioenvs/arduino_uno/SPI/SPI.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/SPI/SPI.cpp - avr-ar rcs .pioenvs/arduino_uno/libSPI.a .pioenvs/arduino_uno/SPI/SPI.o - avr-ranlib .pioenvs/arduino_uno/libSPI.a - avr-g++ -o .pioenvs/arduino_uno/Adafruit_CC3000_Library/Adafruit_CC3000.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/Adafruit_CC3000_Library/Adafruit_CC3000.cpp - avr-g++ -o .pioenvs/arduino_uno/Adafruit_CC3000_Library/Adafruit_CC3000_Server.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/Adafruit_CC3000_Library/Adafruit_CC3000_Server.cpp - avr-g++ -o .pioenvs/arduino_uno/Adafruit_CC3000_Library/ccspi.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/Adafruit_CC3000_Library/ccspi.cpp - avr-g++ -o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/cc3000_common.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/cc3000_common.cpp - avr-g++ -o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/debug.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/debug.cpp - avr-g++ -o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/evnt_handler.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/evnt_handler.cpp - avr-g++ -o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/hci.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/hci.cpp - avr-g++ -o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/netapp.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/netapp.cpp - avr-g++ -o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/nvmem.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/nvmem.cpp - avr-g++ -o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/security.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/security.cpp - avr-g++ -o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/sntp.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/sntp.cpp - avr-g++ -o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/socket.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/socket.cpp - avr-g++ -o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/wlan.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant -I.pioenvs/arduino_uno/Adafruit_CC3000_Library -I.pioenvs/arduino_uno/SPI -I.pioenvs/arduino_uno/Adafruit_CC3000_Library/utility .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/wlan.cpp - avr-ar rcs .pioenvs/arduino_uno/libAdafruit_CC3000_Library.a .pioenvs/arduino_uno/Adafruit_CC3000_Library/Adafruit_CC3000.o .pioenvs/arduino_uno/Adafruit_CC3000_Library/Adafruit_CC3000_Server.o .pioenvs/arduino_uno/Adafruit_CC3000_Library/ccspi.o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/cc3000_common.o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/debug.o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/evnt_handler.o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/hci.o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/netapp.o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/nvmem.o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/security.o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/sntp.o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/socket.o .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/wlan.o - avr-ranlib .pioenvs/arduino_uno/libAdafruit_CC3000_Library.a - avr-gcc -o .pioenvs/arduino_uno/FrameworkArduino/WInterrupts.o -c -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/WInterrupts.c - avr-gcc -o .pioenvs/arduino_uno/FrameworkArduino/hooks.o -c -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/hooks.c - avr-gcc -o .pioenvs/arduino_uno/FrameworkArduino/wiring.o -c -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/wiring.c - avr-gcc -o .pioenvs/arduino_uno/FrameworkArduino/wiring_analog.o -c -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/wiring_analog.c - avr-gcc -o .pioenvs/arduino_uno/FrameworkArduino/wiring_digital.o -c -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/wiring_digital.c - avr-gcc -o .pioenvs/arduino_uno/FrameworkArduino/wiring_pulse.o -c -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/wiring_pulse.c - avr-gcc -o .pioenvs/arduino_uno/FrameworkArduino/wiring_shift.o -c -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/wiring_shift.c - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/CDC.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/CDC.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/HID.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/HID.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial0.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial0.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial1.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial1.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial2.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial2.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial3.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial3.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/IPAddress.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/IPAddress.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/Print.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/Print.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/Stream.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/Stream.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/Tone.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/Tone.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/USBCore.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/USBCore.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/WMath.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/WMath.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/WString.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/WString.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/abi.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/abi.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/main.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/main.cpp - avr-g++ -o .pioenvs/arduino_uno/FrameworkArduino/new.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=158 -I.pioenvs/arduino_uno/FrameworkArduino -I.pioenvs/arduino_uno/FrameworkArduinoVariant .pioenvs/arduino_uno/FrameworkArduino/new.cpp - avr-ar rcs .pioenvs/arduino_uno/libFrameworkArduino.a .pioenvs/arduino_uno/FrameworkArduino/WInterrupts.o .pioenvs/arduino_uno/FrameworkArduino/hooks.o .pioenvs/arduino_uno/FrameworkArduino/wiring.o .pioenvs/arduino_uno/FrameworkArduino/wiring_analog.o .pioenvs/arduino_uno/FrameworkArduino/wiring_digital.o .pioenvs/arduino_uno/FrameworkArduino/wiring_pulse.o .pioenvs/arduino_uno/FrameworkArduino/wiring_shift.o .pioenvs/arduino_uno/FrameworkArduino/CDC.o .pioenvs/arduino_uno/FrameworkArduino/HID.o .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial.o .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial0.o .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial1.o .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial2.o .pioenvs/arduino_uno/FrameworkArduino/HardwareSerial3.o .pioenvs/arduino_uno/FrameworkArduino/IPAddress.o .pioenvs/arduino_uno/FrameworkArduino/Print.o .pioenvs/arduino_uno/FrameworkArduino/Stream.o .pioenvs/arduino_uno/FrameworkArduino/Tone.o .pioenvs/arduino_uno/FrameworkArduino/USBCore.o .pioenvs/arduino_uno/FrameworkArduino/WMath.o .pioenvs/arduino_uno/FrameworkArduino/WString.o .pioenvs/arduino_uno/FrameworkArduino/abi.o .pioenvs/arduino_uno/FrameworkArduino/main.o .pioenvs/arduino_uno/FrameworkArduino/new.o - avr-ranlib .pioenvs/arduino_uno/libFrameworkArduino.a - avr-g++ -o .pioenvs/arduino_uno/firmware.elf -Os -mmcu=atmega328p -Wl,--gc-sections -Wl,--start-group .pioenvs/arduino_uno/src/EchoServer.o -L.pioenvs/arduino_uno .pioenvs/arduino_uno/libSPI.a .pioenvs/arduino_uno/libAdafruit_CC3000_Library.a .pioenvs/arduino_uno/libFrameworkArduino.a -lm - avr-objcopy -O ihex -R .eeprom .pioenvs/arduino_uno/firmware.elf .pioenvs/arduino_uno/firmware.hex - .pioenvs/arduino_uno/Adafruit_CC3000_Library/Adafruit_CC3000.cpp: In member function 'size_t Adafruit_CC3000_Client::fastrprint(const __FlashStringHelper*)': - .pioenvs/arduino_uno/Adafruit_CC3000_Library/Adafruit_CC3000.cpp:1528:23: warning: '__progmem__' attribute ignored [-Wattributes] - const char PROGMEM *p = (const char PROGMEM *)ifsh; - ^ - .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/sntp.cpp: In member function 'char sntp::GetNTPServerList(const char**, uint32_t*, int)': - .pioenvs/arduino_uno/Adafruit_CC3000_Library/utility/sntp.cpp:360:25: warning: converting to non-pointer type 'uint32_t {aka long unsigned int}' from NULL [-Wconversion-null] - uint32_t ntpServer= NULL; diff --git a/examples/atmelavr-and-arduino/arduino-adafruit-library/lib/Adafruit_CC3000_Library b/examples/atmelavr-and-arduino/arduino-adafruit-library/lib/Adafruit_CC3000_Library deleted file mode 160000 index fe3af3da..00000000 --- a/examples/atmelavr-and-arduino/arduino-adafruit-library/lib/Adafruit_CC3000_Library +++ /dev/null @@ -1 +0,0 @@ -Subproject commit fe3af3da4dd448dd326b39b36c92f1fa6a9dbf90 diff --git a/examples/atmelavr-and-arduino/arduino-adafruit-library/platformio.ini b/examples/atmelavr-and-arduino/arduino-adafruit-library/platformio.ini deleted file mode 100644 index b4e1139a..00000000 --- a/examples/atmelavr-and-arduino/arduino-adafruit-library/platformio.ini +++ /dev/null @@ -1,25 +0,0 @@ -# -# Project Configuration File -# -# A detailed documentation with the EXAMPLES is located here: -# http://docs.platformio.org/en/latest/projectconf.html -# - -# A sign `#` at the beginning of the line indicates a comment -# Comment lines are ignored. - -# Simple and base environment -# [env:mybaseenv] -# platform = %INSTALLED_PLATFORM_NAME_HERE% -# framework = -# board = -# -# Automatic targets - enable auto-uploading -# targets = upload - -[env:arduino_uno] -platform = atmelavr -framework = arduino -board = uno - -# targets = upload diff --git a/examples/atmelavr-and-arduino/arduino-adafruit-library/src/EchoServer.ino b/examples/atmelavr-and-arduino/arduino-adafruit-library/src/EchoServer.ino deleted file mode 100755 index e747cd85..00000000 --- a/examples/atmelavr-and-arduino/arduino-adafruit-library/src/EchoServer.ino +++ /dev/null @@ -1,185 +0,0 @@ - -/*************************************************** - Adafruit CC3000 Breakout/Shield TCP Echo Server - - This is a simple implementation of the echo - protocol, RFC 862 http://tools.ietf.org/html/rfc862 , - for the Arduino platform and Adafruit CC3000 breakout - or shield. This sketch will create a TCP server that - listens by default on port 7 and echos back any data - received. Up to 3 clients can be connected concurrently - to the server. This sketch is meant as an example of how - to write a simple server with the Arduino and CC3000. - - See the CC3000 tutorial on Adafruit's learning system - for more information on setting up and using the - CC3000: - http://learn.adafruit.com/adafruit-cc3000-wifi - - Requirements: - - This sketch requires the Adafruit CC3000 library. You can - download the library from: - https://github.com/adafruit/Adafruit_CC3000_Library - - For information on installing libraries in the Arduino IDE - see this page: - http://arduino.cc/en/Guide/Libraries - - Usage: - - Update the SSID and, if necessary, the CC3000 hardware pin - information below, then run the sketch and check the - output of the serial port. After connecting to the - wireless network successfully the sketch will output - the IP address of the server and start listening for - connections. Once listening for connections, connect - to the server from your computer using a telnet client - on port 7. - - For example on Linux or Mac OSX, if your CC3000 has an - IP address 192.168.1.100 you would execute in a command - window: - - telnet 192.168.1.100 7 - - After connecting, notice that as you type input and - press enter to send it the CC3000 will echo back exactly - what you typed. Press ctrl-] and type quit at the prompt - to close the telnet session. - - On Windows you'll need to download a telnet client. PuTTY - is a good, free GUI client: - http://www.chiark.greenend.org.uk/~sgtatham/putty/ - - License: - - This example is copyright (c) 2013 Tony DiCola (tony@tonydicola.com) - and is released under an open source MIT license. See details at: - http://opensource.org/licenses/MIT - - This code was adapted from Adafruit CC3000 library example - code which has the following license: - - Designed specifically to work with the Adafruit WiFi products: - ----> https://www.adafruit.com/products/1469 - - Adafruit invests time and resources providing this open source code, - please support Adafruit and open-source hardware by purchasing - products from Adafruit! - - Written by Limor Fried & Kevin Townsend for Adafruit Industries. - BSD license, all text above must be included in any redistribution - ****************************************************/ -#include -#include -#include "utility/debug.h" -#include "utility/socket.h" - -// These are the interrupt and control pins -#define ADAFRUIT_CC3000_IRQ 3 // MUST be an interrupt pin! -// These can be any two pins -#define ADAFRUIT_CC3000_VBAT 5 -#define ADAFRUIT_CC3000_CS 10 -// Use hardware SPI for the remaining pins -// On an UNO, SCK = 13, MISO = 12, and MOSI = 11 -Adafruit_CC3000 cc3000 = Adafruit_CC3000(ADAFRUIT_CC3000_CS, ADAFRUIT_CC3000_IRQ, ADAFRUIT_CC3000_VBAT, - SPI_CLOCK_DIVIDER); // you can change this clock speed - -#define WLAN_SSID "myNetwork" // cannot be longer than 32 characters! -#define WLAN_PASS "myPassword" -// Security can be WLAN_SEC_UNSEC, WLAN_SEC_WEP, WLAN_SEC_WPA or WLAN_SEC_WPA2 -#define WLAN_SECURITY WLAN_SEC_WPA2 - -#define LISTEN_PORT 7 // What TCP port to listen on for connections. The echo protocol uses port 7. - -Adafruit_CC3000_Server echoServer(LISTEN_PORT); - -void setup(void) -{ - Serial.begin(115200); - Serial.println(F("Hello, CC3000!\n")); - - Serial.print("Free RAM: "); Serial.println(getFreeRam(), DEC); - - /* Initialise the module */ - Serial.println(F("\nInitializing...")); - if (!cc3000.begin()) - { - Serial.println(F("Couldn't begin()! Check your wiring?")); - while(1); - } - - Serial.print(F("\nAttempting to connect to ")); Serial.println(WLAN_SSID); - if (!cc3000.connectToAP(WLAN_SSID, WLAN_PASS, WLAN_SECURITY)) { - Serial.println(F("Failed!")); - while(1); - } - - Serial.println(F("Connected!")); - - Serial.println(F("Request DHCP")); - while (!cc3000.checkDHCP()) - { - delay(100); // ToDo: Insert a DHCP timeout! - } - - /* Display the IP address DNS, Gateway, etc. */ - while (! displayConnectionDetails()) { - delay(1000); - } - - /*********************************************************/ - /* You can safely remove this to save some flash memory! */ - /*********************************************************/ - Serial.println(F("\r\nNOTE: This sketch may cause problems with other sketches")); - Serial.println(F("since the .disconnect() function is never called, so the")); - Serial.println(F("AP may refuse connection requests from the CC3000 until a")); - Serial.println(F("timeout period passes. This is normal behaviour since")); - Serial.println(F("there isn't an obvious moment to disconnect with a server.\r\n")); - - // Start listening for connections - echoServer.begin(); - - Serial.println(F("Listening for connections...")); -} - -void loop(void) -{ - // Try to get a client which is connected. - Adafruit_CC3000_ClientRef client = echoServer.available(); - if (client) { - // Check if there is data available to read. - if (client.available() > 0) { - // Read a byte and write it to all clients. - uint8_t ch = client.read(); - client.write(ch); - } - } -} - -/**************************************************************************/ -/*! - @brief Tries to read the IP address and other connection details -*/ -/**************************************************************************/ -bool displayConnectionDetails(void) -{ - uint32_t ipAddress, netmask, gateway, dhcpserv, dnsserv; - - if(!cc3000.getIPAddress(&ipAddress, &netmask, &gateway, &dhcpserv, &dnsserv)) - { - Serial.println(F("Unable to retrieve the IP Address!\r\n")); - return false; - } - else - { - Serial.print(F("\nIP Addr: ")); cc3000.printIPdotsRev(ipAddress); - Serial.print(F("\nNetmask: ")); cc3000.printIPdotsRev(netmask); - Serial.print(F("\nGateway: ")); cc3000.printIPdotsRev(gateway); - Serial.print(F("\nDHCPsrv: ")); cc3000.printIPdotsRev(dhcpserv); - Serial.print(F("\nDNSserv: ")); cc3000.printIPdotsRev(dnsserv); - Serial.println(); - return true; - } -} diff --git a/examples/atmelavr-and-arduino/arduino-external-libs/README.rst b/examples/atmelavr-and-arduino/arduino-external-libs/README.rst new file mode 100644 index 00000000..675b2129 --- /dev/null +++ b/examples/atmelavr-and-arduino/arduino-external-libs/README.rst @@ -0,0 +1,21 @@ +How to buid PlatformIO based project +==================================== + +1. `Install PlatformIO `_ +2. Download `source code with examples `_ +3. Extract ZIP archive +4. Run these commands: + +.. code-block:: bash + + # Change directory to example + > cd platformio-develop/examples/atmelavr-and-arduino/arduino-external-libs + + # Process example project + > platformio run + + # Upload firmware + > platformio run --target upload + + # Clean build files + > platformio run --target clean diff --git a/examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-GFX-Library b/examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-GFX-Library new file mode 160000 index 00000000..a9e5bc47 --- /dev/null +++ b/examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-GFX-Library @@ -0,0 +1 @@ +Subproject commit a9e5bc470736ffe9c9ef11d778bc4dcd47169d42 diff --git a/examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-PCD8544-Nokia-5110-LCD-library b/examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-PCD8544-Nokia-5110-LCD-library new file mode 160000 index 00000000..32ca9ca7 --- /dev/null +++ b/examples/atmelavr-and-arduino/arduino-external-libs/lib/Adafruit-PCD8544-Nokia-5110-LCD-library @@ -0,0 +1 @@ +Subproject commit 32ca9ca73942b67688ca6946bbc43b0a9729c4fc diff --git a/examples/atmelavr-and-arduino/arduino-external-libs/platformio.ini b/examples/atmelavr-and-arduino/arduino-external-libs/platformio.ini new file mode 100644 index 00000000..8b2638cc --- /dev/null +++ b/examples/atmelavr-and-arduino/arduino-external-libs/platformio.ini @@ -0,0 +1,63 @@ +# +# Project Configuration File +# +# A detailed documentation with the EXAMPLES is located here: +# http://docs.platformio.org/en/latest/projectconf.html +# + +# A sign `#` at the beginning of the line indicates a comment +# Comment lines are ignored. + +# Simple and base environment +# [env:mybaseenv] +# platform = %INSTALLED_PLATFORM_NAME_HERE% +# framework = +# board = +# +# Automatic targets - enable auto-uploading +# targets = upload + +[env:arduino_uno] +platform = atmelavr +framework = arduino +board = uno + +[env:arduino_ethernet] +platform = atmelavr +framework = arduino +board = ethernet + +[env:arduino_leonardo] +platform = atmelavr +framework = arduino +board = leonardo + +[env:arduino_pro16MHzatmega168] +platform = atmelavr +framework = arduino +board = pro16MHzatmega168 + +[env:arduino_megaatmega1280] +platform = atmelavr +framework = arduino +board = megaatmega1280 + +[env:arduino_micro] +platform = atmelavr +framework = arduino +board = micro + +[env:arduino_robotControl] +platform = atmelavr +framework = arduino +board = robotControl + +[env:arduino_yun] +platform = atmelavr +framework = arduino +board = yun + +#[env:arduino_due] +#platform = atmelsam +#framework = arduino +#board = due diff --git a/examples/atmelavr-and-arduino/arduino-external-libs/src/pcdtest.ino b/examples/atmelavr-and-arduino/arduino-external-libs/src/pcdtest.ino new file mode 100644 index 00000000..2fa0ce22 --- /dev/null +++ b/examples/atmelavr-and-arduino/arduino-external-libs/src/pcdtest.ino @@ -0,0 +1,350 @@ +/********************************************************************* +This is an example sketch for our Monochrome Nokia 5110 LCD Displays + + Pick one up today in the adafruit shop! + ------> http://www.adafruit.com/products/338 + +These displays use SPI to communicate, 4 or 5 pins are required to +interface + +Adafruit invests time and resources providing this open source code, +please support Adafruit and open-source hardware by purchasing +products from Adafruit! + +Written by Limor Fried/Ladyada for Adafruit Industries. +BSD license, check license.txt for more information +All text above, and the splash screen must be included in any redistribution +*********************************************************************/ + +#include +#include +#include + +// Software SPI (slower updates, more flexible pin options): +// pin 7 - Serial clock out (SCLK) +// pin 6 - Serial data out (DIN) +// pin 5 - Data/Command select (D/C) +// pin 4 - LCD chip select (CS) +// pin 3 - LCD reset (RST) +Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3); + +// Hardware SPI (faster, but must use certain hardware pins): +// SCK is LCD serial clock (SCLK) - this is pin 13 on Arduino Uno +// MOSI is LCD DIN - this is pin 11 on an Arduino Uno +// pin 5 - Data/Command select (D/C) +// pin 4 - LCD chip select (CS) +// pin 3 - LCD reset (RST) +// Adafruit_PCD8544 display = Adafruit_PCD8544(5, 4, 3); +// Note with hardware SPI MISO and SS pins aren't used but will still be read +// and written to during SPI transfer. Be careful sharing these pins! + +#define NUMFLAKES 10 +#define XPOS 0 +#define YPOS 1 +#define DELTAY 2 + + +#define LOGO16_GLCD_HEIGHT 16 +#define LOGO16_GLCD_WIDTH 16 + +static const unsigned char PROGMEM logo16_glcd_bmp[] = +{ B00000000, B11000000, + B00000001, B11000000, + B00000001, B11000000, + B00000011, B11100000, + B11110011, B11100000, + B11111110, B11111000, + B01111110, B11111111, + B00110011, B10011111, + B00011111, B11111100, + B00001101, B01110000, + B00011011, B10100000, + B00111111, B11100000, + B00111111, B11110000, + B01111100, B11110000, + B01110000, B01110000, + B00000000, B00110000 }; + +void setup() { + Serial.begin(9600); + + display.begin(); + // init done + + // you can change the contrast around to adapt the display + // for the best viewing! + display.setContrast(50); + + display.display(); // show splashscreen + delay(2000); + display.clearDisplay(); // clears the screen and buffer + + // draw a single pixel + display.drawPixel(10, 10, BLACK); + display.display(); + delay(2000); + display.clearDisplay(); + + // draw many lines + testdrawline(); + display.display(); + delay(2000); + display.clearDisplay(); + + // draw rectangles + testdrawrect(); + display.display(); + delay(2000); + display.clearDisplay(); + + // draw multiple rectangles + testfillrect(); + display.display(); + delay(2000); + display.clearDisplay(); + + // draw mulitple circles + testdrawcircle(); + display.display(); + delay(2000); + display.clearDisplay(); + + // draw a circle, 10 pixel radius + display.fillCircle(display.width()/2, display.height()/2, 10, BLACK); + display.display(); + delay(2000); + display.clearDisplay(); + + testdrawroundrect(); + delay(2000); + display.clearDisplay(); + + testfillroundrect(); + delay(2000); + display.clearDisplay(); + + testdrawtriangle(); + delay(2000); + display.clearDisplay(); + + testfilltriangle(); + delay(2000); + display.clearDisplay(); + + // draw the first ~12 characters in the font + testdrawchar(); + display.display(); + delay(2000); + display.clearDisplay(); + + // text display tests + display.setTextSize(1); + display.setTextColor(BLACK); + display.setCursor(0,0); + display.println("Hello, world!"); + display.setTextColor(WHITE, BLACK); // 'inverted' text + display.println(3.141592); + display.setTextSize(2); + display.setTextColor(BLACK); + display.print("0x"); display.println(0xDEADBEEF, HEX); + display.display(); + delay(2000); + + // rotation example + display.clearDisplay(); + display.setRotation(1); // rotate 90 degrees counter clockwise, can also use values of 2 and 3 to go further. + display.setTextSize(1); + display.setTextColor(BLACK); + display.setCursor(0,0); + display.println("Rotation"); + display.setTextSize(2); + display.println("Example!"); + display.display(); + delay(2000); + + // revert back to no rotation + display.setRotation(0); + + // miniature bitmap display + display.clearDisplay(); + display.drawBitmap(30, 16, logo16_glcd_bmp, 16, 16, 1); + display.display(); + + // invert the display + display.invertDisplay(true); + delay(1000); + display.invertDisplay(false); + delay(1000); + + // draw a bitmap icon and 'animate' movement + testdrawbitmap(logo16_glcd_bmp, LOGO16_GLCD_WIDTH, LOGO16_GLCD_HEIGHT); +} + + +void loop() { + +} + + +void testdrawbitmap(const uint8_t *bitmap, uint8_t w, uint8_t h) { + uint8_t icons[NUMFLAKES][3]; + srandom(666); // whatever seed + + // initialize + for (uint8_t f=0; f< NUMFLAKES; f++) { + icons[f][XPOS] = random() % display.width(); + icons[f][YPOS] = 0; + icons[f][DELTAY] = random() % 5 + 1; + + Serial.print("x: "); + Serial.print(icons[f][XPOS], DEC); + Serial.print(" y: "); + Serial.print(icons[f][YPOS], DEC); + Serial.print(" dy: "); + Serial.println(icons[f][DELTAY], DEC); + } + + while (1) { + // draw each icon + for (uint8_t f=0; f< NUMFLAKES; f++) { + display.drawBitmap(icons[f][XPOS], icons[f][YPOS], logo16_glcd_bmp, w, h, BLACK); + } + display.display(); + delay(200); + + // then erase it + move it + for (uint8_t f=0; f< NUMFLAKES; f++) { + display.drawBitmap(icons[f][XPOS], icons[f][YPOS], logo16_glcd_bmp, w, h, WHITE); + // move it + icons[f][YPOS] += icons[f][DELTAY]; + // if its gone, reinit + if (icons[f][YPOS] > display.height()) { + icons[f][XPOS] = random() % display.width(); + icons[f][YPOS] = 0; + icons[f][DELTAY] = random() % 5 + 1; + } + } + } +} + + +void testdrawchar(void) { + display.setTextSize(1); + display.setTextColor(BLACK); + display.setCursor(0,0); + + for (uint8_t i=0; i < 168; i++) { + if (i == '\n') continue; + display.write(i); + //if ((i > 0) && (i % 14 == 0)) + //display.println(); + } + display.display(); +} + +void testdrawcircle(void) { + for (int16_t i=0; i0; i-=5) { + display.fillTriangle(display.width()/2, display.height()/2-i, + display.width()/2-i, display.height()/2+i, + display.width()/2+i, display.height()/2+i, color); + if (color == WHITE) color = BLACK; + else color = WHITE; + display.display(); + } +} + +void testdrawroundrect(void) { + for (int16_t i=0; i=0; i-=4) { + display.drawLine(0, display.height()-1, display.width()-1, i, BLACK); + display.display(); + } + delay(250); + + display.clearDisplay(); + for (int16_t i=display.width()-1; i>=0; i-=4) { + display.drawLine(display.width()-1, display.height()-1, i, 0, BLACK); + display.display(); + } + for (int16_t i=display.height()-1; i>=0; i-=4) { + display.drawLine(display.width()-1, display.height()-1, 0, i, BLACK); + display.display(); + } + delay(250); + + display.clearDisplay(); + for (int16_t i=0; i`_ -2. Extract ZIP archive -3. Then run these commands: - -.. code-block:: bash - - # Change directory to example - $ cd platformio-develop/examples/arduino-internal-library/ - - # Install Atmel AVR development platform with Arduino Framework - $ platformio install atmelavr - - # Process example project - $ platformio run - -.. image:: console-result.png diff --git a/examples/atmelavr-and-arduino/arduino-internal-library/platformio.ini b/examples/atmelavr-and-arduino/arduino-internal-library/platformio.ini deleted file mode 100644 index f0ad3a13..00000000 --- a/examples/atmelavr-and-arduino/arduino-internal-library/platformio.ini +++ /dev/null @@ -1,25 +0,0 @@ -# -# Project Configuration File -# -# A detailed documentation with the EXAMPLES is located here: -# http://docs.platformio.org/en/latest/projectconf.html -# - -# A sign `#` at the beginning of the line indicates a comment -# Comment lines are ignored. - -# Simple and base environment -# [env:mybaseenv] -# platform = %INSTALLED_PLATFORM_NAME_HERE% -# framework = -# board = -# -# Automatic targets - enable auto-uploading -# targets = upload - -[env:arduino_pro5v] -platform = atmelavr -framework = arduino -board = pro16MHzatmega168 - -# targets = upload diff --git a/examples/atmelavr-and-arduino/arduino-internal-library/src/main.cpp b/examples/atmelavr-and-arduino/arduino-internal-library/src/main.cpp deleted file mode 100644 index 92b55e2b..00000000 --- a/examples/atmelavr-and-arduino/arduino-internal-library/src/main.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/** - * Copyright (C) Ivan Kravets - * See LICENSE for details. - */ - -/* - * EEPROM Read - * - * Reads the value of each byte of the EEPROM and prints it - * to the computer. - * This example code is in the public domain. - * - * https://github.com/arduino/Arduino/blob/master/libraries/EEPROM/examples/eeprom_read/eeprom_read.ino - */ - -#include -#include - -// start reading from the first byte (address 0) of the EEPROM -int address = 0; -byte value; - -void setup() -{ - // initialize serial and wait for port to open: - Serial.begin(9600); - while (!Serial) { - ; // wait for serial port to connect. Needed for Leonardo only - } -} - -void loop() -{ - // read a byte from the current address of the EEPROM - value = EEPROM.read(address); - - Serial.print(address); - Serial.print("\t"); - Serial.print(value, DEC); - Serial.println(); - - // advance to the next address of the EEPROM - address = address + 1; - - // there are only 512 bytes of EEPROM, from 0 to 511, so if we're - // on address 512, wrap around to address 0 - if (address == 512) - address = 0; - - delay(500); -} diff --git a/examples/atmelavr-and-arduino/arduino-internal-libs/README.rst b/examples/atmelavr-and-arduino/arduino-internal-libs/README.rst new file mode 100644 index 00000000..cb17077d --- /dev/null +++ b/examples/atmelavr-and-arduino/arduino-internal-libs/README.rst @@ -0,0 +1,21 @@ +How to buid PlatformIO based project +==================================== + +1. `Install PlatformIO `_ +2. Download `source code with examples `_ +3. Extract ZIP archive +4. Run these commands: + +.. code-block:: bash + + # Change directory to example + > cd platformio-develop/examples/atmelavr-and-arduino/arduino-internal-libs + + # Process example project + > platformio run + + # Upload firmware + > platformio run --target upload + + # Clean build files + > platformio run --target clean diff --git a/examples/atmelavr-and-arduino/arduino-internal-libs/platformio.ini b/examples/atmelavr-and-arduino/arduino-internal-libs/platformio.ini new file mode 100644 index 00000000..8b2638cc --- /dev/null +++ b/examples/atmelavr-and-arduino/arduino-internal-libs/platformio.ini @@ -0,0 +1,63 @@ +# +# Project Configuration File +# +# A detailed documentation with the EXAMPLES is located here: +# http://docs.platformio.org/en/latest/projectconf.html +# + +# A sign `#` at the beginning of the line indicates a comment +# Comment lines are ignored. + +# Simple and base environment +# [env:mybaseenv] +# platform = %INSTALLED_PLATFORM_NAME_HERE% +# framework = +# board = +# +# Automatic targets - enable auto-uploading +# targets = upload + +[env:arduino_uno] +platform = atmelavr +framework = arduino +board = uno + +[env:arduino_ethernet] +platform = atmelavr +framework = arduino +board = ethernet + +[env:arduino_leonardo] +platform = atmelavr +framework = arduino +board = leonardo + +[env:arduino_pro16MHzatmega168] +platform = atmelavr +framework = arduino +board = pro16MHzatmega168 + +[env:arduino_megaatmega1280] +platform = atmelavr +framework = arduino +board = megaatmega1280 + +[env:arduino_micro] +platform = atmelavr +framework = arduino +board = micro + +[env:arduino_robotControl] +platform = atmelavr +framework = arduino +board = robotControl + +[env:arduino_yun] +platform = atmelavr +framework = arduino +board = yun + +#[env:arduino_due] +#platform = atmelsam +#framework = arduino +#board = due diff --git a/examples/atmelavr-and-arduino/arduino-internal-libs/src/ChatServer.ino b/examples/atmelavr-and-arduino/arduino-internal-libs/src/ChatServer.ino new file mode 100644 index 00000000..927a60e1 --- /dev/null +++ b/examples/atmelavr-and-arduino/arduino-internal-libs/src/ChatServer.ino @@ -0,0 +1,80 @@ +/* + Chat Server + + A simple server that distributes any incoming messages to all + connected clients. To use telnet to your device's IP address and type. + You can see the client's input in the serial monitor as well. + Using an Arduino Wiznet Ethernet shield. + + Circuit: + * Ethernet shield attached to pins 10, 11, 12, 13 + * Analog inputs attached to pins A0 through A5 (optional) + + created 18 Dec 2009 + by David A. Mellis + modified 9 Apr 2012 + by Tom Igoe + + */ + +#include +#include + +// Enter a MAC address and IP address for your controller below. +// The IP address will be dependent on your local network. +// gateway and subnet are optional: +byte mac[] = { + 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED +}; +IPAddress ip(192, 168, 1, 177); +IPAddress gateway(192, 168, 1, 1); +IPAddress subnet(255, 255, 0, 0); + + +// telnet defaults to port 23 +EthernetServer server(23); +boolean alreadyConnected = false; // whether or not the client was connected previously + +void setup() { + // initialize the ethernet device + Ethernet.begin(mac, ip, gateway, subnet); + // start listening for clients + server.begin(); + // Open serial communications and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for Leonardo only + } + + + Serial.print("Chat server address:"); + Serial.println(Ethernet.localIP()); +} + +void loop() { + // wait for a new client: + EthernetClient client = server.available(); + + // when the client sends the first byte, say hello: + if (client) { + if (!alreadyConnected) { + // clead out the input buffer: + client.flush(); + Serial.println("We have a new client"); + client.println("Hello, client!"); + alreadyConnected = true; + } + + if (client.available() > 0) { + // read the bytes incoming from the client: + char thisChar = client.read(); + // echo the bytes back to the client: + server.write(thisChar); + // echo the bytes to the server as well: + Serial.write(thisChar); + } + } +} + + + diff --git a/examples/atmelavr-and-arduino/atmelavr-native-blink/README.rst b/examples/atmelavr-and-arduino/atmelavr-native-blink/README.rst index 6ab96193..14bfc2de 100644 --- a/examples/atmelavr-and-arduino/atmelavr-native-blink/README.rst +++ b/examples/atmelavr-and-arduino/atmelavr-native-blink/README.rst @@ -1,20 +1,21 @@ -Atmel AVR: Native Blink Example -=============================== +How to buid PlatformIO based project +==================================== -1. Download ``platformio`` - `sources `_ -2. Extract ZIP archive -3. Then run these commands: +1. `Install PlatformIO `_ +2. Download `source code with examples `_ +3. Extract ZIP archive +4. Run these commands: .. code-block:: bash # Change directory to example - $ cd platformio-develop/examples/atmelavr-native-blink/ - - # Install Atmel AVR development platform - $ platformio install atmelavr + > cd platformio-develop/examples/atmelavr-and-arduino/atmelavr-native-blink # Process example project - $ platformio run + > platformio run -.. image:: console-result.png + # Upload firmware + > platformio run --target upload + + # Clean build files + > platformio run --target clean diff --git a/examples/atmelavr-and-arduino/atmelavr-native-blink/console-result.png b/examples/atmelavr-and-arduino/atmelavr-native-blink/console-result.png deleted file mode 100644 index 189a8c8220e1a2f1f107fb4a67907ee374e3b540..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128699 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%0DIeEoa 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ͼa2fG>T z!wvSC?mNKqY^7k}PpeZ*ekM*H_WvipY(IFl`NSS?e}<)vr`yA?tMf(I@SNVNHMjQv zx3^3S-@IHbExDszxT(nK*|JYrHX0STuZg^8=u|beY+W|hM8fFCX%2Z+A&DN5i|5zP zzjh+JsWjc8CizwBw)3l-I_9kIe{lD7lH%sIpPn`Q_HPQ#yT45I9)EuPzPev_UUt{^ zA71RgUvgER(7%(<%A@LyGtZs>9?9#zLF&*dop`~YkKX0J5Zv=gL3VX-fB;W?kkbk! zUtyz8ACAe7Q@nOI&9D2sCd`V5gXhM?`E!4LNK|zFTl)0;@#S(}PXaWTMe(p3?9~qc z`Y_%0Oz45>)8;q%zgT+jUiqVQOTN9nlzlRtb*;~Le?2dkmWfYhn|fA%_t?wacf7Vv z=3R`g=>A9S8Nor38|Q=+^WEAcT9&rd=+uP{{^k{;tA2jk>}My~-70lv=LAWXwJ(;s zJd3#?$@b%{$cvnd*@lx6+B+Xi=Fgh8GwIZsWSjMDn;jfx<`zpVV5r+98ky=ezi3~@$5}CFPM^>?^6NlJ zcK3z5Dn~ZmVZOh7j{G(YRVFRn=8Y8(*QL%|qO;a)x^JuYPXEGZ3XeA)mtA>7_0PMe zog(0&H&LcHHcn+yS(UVSp;qXd zU9G)G#3ZIw%;A%t;&tz@ZE@Q9d(*x+Jy^~1NdJ4BQRu4+JFRMqZnFvd?yH!1`qG(s zrrF1r@=Rlsd!G<>Fpphm<&C5(_jgZDTlwqTj9p4`A1-WPeR(GTyX1vRf1bQIFZK&w z`0?1!(+N8oJ`2rreK=RT`$G2<7MF9?4{vLFe>j)C=&J2y)n~PQ^WPrteNxgreY(uN ztp?%khU`C!^7YI9G&jt2z9H~{lbzp8*4vPC;`#T|NBnujo?72pX5~HG;*|fA6FU@l zcH2KXx&KjW{ln+$-rVD?5O89-ZS`QqBkM|zvmXu}Fq;rC%~484H&D9e){&P_JU;!| zr7-_mxAbDO+M?h#X4b?rlkJxEKB`*5dq(z;n2nY}|AblF@9zoK%U{Q}W(Ti_&)O)4 z)Rhk}P3-=;BIf;jwN(j<1;6c>tyr92M>I*fUgiB)a(7YM0}g|T_&;S~P8%8a`?XxE z={2nR^hM3-^3~$$H)6KwMi|>#Z*Jhqkyyz!bEo1iE}l?HLy_fjOD`_jWEN4VReHT_ z>(Ol&RVMY{pC}-A@3dKXo+#_B6>Vi}e4p7>pV_y3!_kLA94XqpH@0(4(>pv*onvKx zvG3IA+dmfEQSa9Yc{J_Ej?j>t1D^|GegJ z!MQoI(=T!6tM2jMe{1#<-TP*Hq)Hzi@OyCP(t_Q))6UJ>`!#7-n9j+|vmVGt>`ddF z#+Q6z&6gQ$HrvGX=-epowo?ZePao)zc*O>`BFuIjrlTEN*TlwiI4 z|C*a;Tb8|kt{*L7&HUk_U`^QV+x$igmnmdln{(58eafjnQxqr4AMbfkEA_Q;*H`|P z9@jQ3?7II)_<}*^+btq(>VFzaycMR|)qhs0o;|N_4qtARI*Z`e!@tXp2dn$eius{- z=ER9>590cZE*IsLzdNHVeyOF7>)J2YS{9>cr@hW-ADAQkt?u>Q^X12w(wS;fKCs*< zJ{hw(d%j!O<7hLcb!oz8^LrDv&WLr zQ)s6Dd}-!ad)Kb8O4fdM=G)=R{qYL>%wP0`thL?~JGt#)M1b_W3!e=3UYAPC_fg0y zsoif@DY)JG?}u~DD_r9q-Forjg?!!KwTCCKT?GnZy@__bx?Nv(P!G3Z<#InIct_!e)`$9I_0foecsEi z9<~{aPib(@Ow!+Qd`-rIrOZ-c(t_XqUU{B&@Y%+16P6$M7t0p#eyBXH^RueXzl5!u z?;Dy;n)Ht=)oi-_nqS(T0@8cUg37JZ_!N88Z-3NNYTViUtv+Yf-$`@BB3w=#1I_P=W91@)2-EEWHZ9^U9Iei?Ff;%xKpYbTZ2 z-dz&lakPb#~{;!rcn0KUIJvFDwsPa|*p2XjK4p0B&t8_Wv?Q*{J&t)c_r(ZU8 zf4H}l`P^TnJ5`dWJo0kCGCgP6#9&^ZZ}~f!i&D8!zM*Z6S zuj5+hHJwz;>7QnAdeqKrzQ?KR{jbkw&grXt$qSvEJ6G}J>)#xuh6HMiB5KRfk|Reo>m!8QiDHR+F|?IVAsr?oap`^De1S>qISDSYGZIjxVi zH?zKJbz(C6crZ0#itL_)78jxxMg5p^TK#&%m$}B%V$bl%Y?Nf-T|J@hg4QO%1smF7T&)VoTF)+U2+Ep%hut+b*+VJ10pO>?j)o{#No+lN!_Q9#9!qd5$bV=x&e*WN##kr3-A-TY{>vYolMQ#2K1%w&Y=il_ zlMW&8L?&0%lt$0;>yzKCsJZ{}kstPcb0bVk3zkRS+oTYBq}_O7P-lG)r;**weZL>f zk&J!f&v)$2R^|3b{eNa^^328dX2VXn>GeQV46M~{y`PAlg#JFMf^YbgFrA@N(4 zQS;M9-SWG?O1YUn>|gTNd)c;iExBqOQzovE+4$hseCsPB1^Xsw2KaXTU$!z3tCD*8`uA-+K2k`O!I> zw?@VP&(1b4)SZzo;vHe~Blilo);E@>nSZnFZT9JvJ>U98d}bx9)Z%G;eGvtZ5AkWI zuh`wUGq^85DVSr`iKNZPTV~l#KAu~pmAU1^1EIZwB`L>w4@_#Q-Xvnub?eNkMTh54 z`XqCrt2=7`$D^s%%cP6BBj?Hr-?Yem*4A@3@L`Yz%fEQV1Lu@=98;4X9%}WTuGeZ> zl)z_op|xgXdL;MzL%Zu`?(Y9S`*6aUhJKH?b0;(;yDGZeHDyqh_dB3}?~#*aMw9au zMPnO6Sp>B)(P=cGi`zouUL-Q%|JrpCIA z`Ew_6&n~U3jM{wVG`m~v9F5qYEsIugoy)OZcBOfvZo1JM;jQo4pQtqLJz#AaUcEcp z;M9)tuiu=X&5pggYw4EM5a zo^qIAXH<8VE&p^&YkpUd&rsSUdYd>F(0SF4$X?t5p=ctO}N zo{6dZ;*{e(VTX^X%HKB8ZeHiL*(}0&qKCrv^)pg_-B?@Oo`0ytv-8Tk&XkKu^}4TG1#w6$T|ir;?6Kc$2ndjDNwTh7|IH=0x%q`lu3TYg-{(6+=hZSvY*YsB34 zZoD}~Hh$|a!M_K;)tr4By+f2`$;~O*3liPci*`tFWDBJiK-PXZ7&i(AHOm5)-Q9HwPO2rZ2W!1bjP%+pV~_$ zd}H&X^vZa<|1#IIoV_|XW#{v42eXPg>lc`xTjsm-;(2yw$Q}gMGb&3Zt}_^{f7sC6=EWe%&j1 z^fiXP)t1>w!T87bPYex@7!oBnaU{qVY|zZy6na5fiba9>)+W~n*8`*XEsANF^LFd8 zLu=MBy-Az)ds=XZhxV&@rV`c&aKDJttbeWVfxR)WbmEet;*Ib>94{E?tEJbVK(N&@3IKWH}+}rtTDc9k+>jvNXzEu|J zK0WoEr>j`;;|!)7`5bsx2|ws9Fx%6uc;V4o{H=ZZx_6Fi#OTg2c)4hgFZ;cx z#_bzreKa!XU7gfo?6l>FP5#ahj<$_~>AM(za|52|q{^9Rh%$69{g!w4)T|$7W*vv#ZJ%<#zW&+1-&ILY zO_AJ-4_h?&^2|M!bHPANVm6!e8qW5E42QxuB(9jFUheDe7CoT&#(j>L;kj!QXQBbwdNroC*dA>)mZ z8x=cizDfMq)bIKHHc6DS()w-QS>KTMqz?0$I_yRNx93nYDY>*<(;eD zy=}wkEWL+o1unDkX7e37%gBEFKyL2zPf>y!L-;;V)T|Y|Y_`)3WOP8sODj+?xdd+~L>690eI!RPY+C%p@tArmH|w^rtA zW$MMJ^)_txPkITSQK@q7e|&v4|BjeX8*iT#tFST1TazxhA@hv2apLRe!FxAD%F2 z&5snwH92&zwa51q2Lu0{Ze50VZVrrXJ>8~)9`ky(99Z|lV5ZQvV&=tR>4&Oin&kPi z7;fL$pr)^*)_V5Z6D1~r-#-fE&PcRe&U8@oi8^!LxOpli0!=3wwb!pD0Zp+iXOB02+j{*Z(an=L>crG}UtP%J@McX{@Fo+J zH#}WRWw{SueDj(6x0+E*PTTfgSy|Pz*3+qi@zH0z93DzLYJ3+HPfP08o0Ggs^leL&Lk%?lHMg$Z|${|#X7bC>f! z8FDFQnTcBt-yxfNPGxuYYEj00dPx#bW&f_xXm#o1ZE}jReM@kzfH_e%w7odA1Xm%mPu8fS`Pdr8L8I}E)chg?!q?tZl?m(mS zjd#zxpH>9wNI&pyF1>eX>FoABE6T1({BBqOuKzsuX=du-=^D&TYhUkuGeiSd)s=5AnTPuPL^w^ZUI6 z7E^j=Og@#P$+PL~vjYx$c-YVM@R=j=%4z4NlJa7Ed=(BX-m#>z<-@e5gNpn* z3Z6^luG?Rkv&Ht^hT2*3Sz?AuvcA2q?o#_#srSmzbjj<6Yg()_N;SWK^sBCOE7X#` zW4bEd_}|Rj`&0LJ1phRzGkh!U9W1}(@~3OPj_LO;zE4l&ILrM{>KSk1t>O-wUzT0k zd0|R>-g`gv>520Qt?@Y*7wcmFR=QX?e}!iK--vC?ZYVUH&a39*^qORPYfs!!d9$S* z=e3V6*uG^|XZ7j1!WW|BzUi)bWxliCxxUWv*4tR^?GIO$ZDT0&-8h*y*W}y&ziP+5 z^xt;+dz9&iHgTrur#^oyvvHeL=I0w0&#hu_KDAohnCY~Ox8%U_l~=rD57b!u_fJrg zOE|XETmO`v^O_Ln3+EPxq`sL_AHO6-c7fG;<-Kn*EW8+_Z+)Bu4!;793Wo(2#pjq; zwl7(9kYoCp?`i91i-a{V;F>hgYOP$ReS*jB+nMXr1kGMuS?yk{`le*E;DmV_9<1m- z@gMBaVRMVB8iB5rlMEe|PcC}myOvwswo6a%V$9ZQ=e)J+XTI{7 z6*ghPg`O{Wx5!y1bU*%c>g5go@I}Ihf)@APTpz%<&asS1VA_^dPD`gp8@^p9m$-!E zwWsPepUUDJoq8s3UzXkQzumacB=Y8lr8Cu6A8&MxT=Y8m*BbX#Q}?gqJK!DF#oKkD zDm3(_ANS&r$Ii`X>d(A3GhTQjDD||5gs@ncnV0)2AumBDA)A12KNDS-+FV(rA$vQo-nU7oJS>I_x?$nK{YHj2D-ZN>8y{}>6S^_wQPJBae@;!+-t8O7 zJ=0)`s{YsM2S1nH-aLzUrv1|Mx1Y|aeE!nBa)O+kw7BfLCi9K&9&YqJe7^s-_2QUE zr})JlZ9YA#uPgcjWX+!XtfM`e;i6^_8y*Qns2}U z(-gHexHItI*{#9Hjc@ZTz8lZ8F6jA@>e}Pmer3*DY|fEsC_h(T^UvXMsi-Y7{i*Lh zWyj5*a&aY-afCbjoSELw$}X8VJQ8|!BJjop_bt`o$G+TDkx@{4_ETl~GnViv=`tZE zlBqTo>Z=XkxV@xFN? zH_t>fEZgz!;6MF(t(+@c?Y=m!D$dD~wzL2GrmsT8$aK$4o{!qC=Vx4WE6)6FzQMcS zTfVvZ>%N<|Ueyl+&-ShT7?}R{=YYtzI*T2Q@(HaP3!BSyNsXr z&e|ZD=il&G(9hz$?7lTSB6-(k6(Y_il^f+9am9$0E{xk@vd4LOI;q z1r~*M@}_UE37xXAZ>Hso+^3g=)|+4Sq~l@nX`20hcgzh-vb2mSO#rN&)*6b|hWkDhk4ZN*~A zhoUK#;@W5a^Da9X%(c{P$xgmAoJY>*UNG41ms@<=!FbLGZMBvvC3OprHO^B1uU*-* zIf3t2d_+*FL<+^TurKl@4rCI6ey(}KhgZEAZ%QrvXrL~PGe`a-t zvy<9O{^-4xnzhXr=7z)-%)T{C-D>8l&ToI7g=Y7sa;W^B@YWRjN=Kk`0f?aOtr`xxex3wNUCjaNJ&tqysnrGg>Xyv^=Y5}SI-;5f%&L3v+OwS`AD zj1JrHWqJSLeA}8fRo*bMo;-&O=cn@CcP@M$QC0c*6=V9sioBhxrk)O8c}V`7%$@ds z;&zXvCkE8V6}q_#GZkOfa)`O1pp_n2+!66-)y7oW`n#6eVvX{b+kZ7WU7mJHW$he! z)-MHfHu`_ka(oi;{@wdUzP_WwE;uaS z>z2Uf<jm(|kYf!Y7xN z$M@TQKcpnaqM~*nv7)j^By69%o!Ql#`nz5Szq85QlDS^|r){tIqMNUxx7iZ;%axb?w#x`;SWXicYp3Ud8&AQb?o-tw_{gXr+-&xm{N4i^7LH(>4y{# zfZ+#yM~1lYJjb@}hs`Z>G@`fn+3SDxPg`TQB(32<(%kgN0Q4W4V>yBsY1BEVs+zkFHf^-sII);L!)Rv%g6p!8Sv*``Uh6N4C-W-PZAU~3Xm zIQn+}ge9!S2W+22Ea9J&+31sXsiQ1@OYkjaIg9siH2>I`?k;A!9}$?ar>%@>tvJt{ zuKn}b4INXWm+1ulQ?RgjDF4H6lfhXAk2cQ=3xP8%uKaTz>b_oP9KGbl_1ItT6JEx2 zZ}yK_TJOU3wcgOjsaNUA*Eep0hl7&*tfDhBT?FO+EI3-MwexPF<*dNr(=KqmVV`(JVcNW95>@5`!lX-jq+PeDydc_-R<6mcjqFZR^~g+8z8RuRG;X z{(Z^Kvp9Op&&8){J~ZD`oGe&1aZbaD%FIg_o=@WYG5>>E-Ct*pA9IzGKTi97lr@p@ z5@gnRQadAW;t}=5AKpJnXy*A-oa?q&BZhnWfqJHAYW@Xpiwl33ExJE1Nc8k=PL11+ z`f`@Pb3DyCvtK_sQU1QBTJTA#ZT)T9pPXLR z4T(#%Ql7PCe7N(fH^FD|<^Ic=L6Pb#yC&>fZFM7d+HpI!lyhNAsx9X{(%5TZ_fA#T z+fmQg=-S@ib&)P-)?|FVZs=Uyw$|5m)2{rh4KmZCD%NOD*jeyxM$+Ww|5Z;O>zqF9 zk+*O8?%S@@+|TLxGlWgv^x#ZT(SAtfEW`BQk;NvmCF6X4xXHa-Hs6NrI>LQ(EvEa0 z{xQ&7m%fwz`uy36a*3zfHd?RCmg?_lcK#6N`*VZnywj~55^1MF6MuQBV$Bsx7>!PO zRBfMG@oM_}s|mtqBgzanJH;mme^1#+DOZdO~MwPhVR^Qv(?wmQ_W*8YPaARRd z&(F>!ESaZ+E^j+)_U%LJwG(NA*Ea8d(BCQ(96ry{{{434x0zYDTI51D@SmQrAkgo_ zi!bWt4=))%zd65I)gkEoi5Z*AWKRifJe8(tTU>T&r8{ehIj3 zj=aFIYUbZ*C%!-Pf0DEMR-frt4eo%VC&|6(=hqlKFrW3|^q%@l&g-g!4Bx)H5&ft? z=7h+KV@GxQCf{kQTfxJ_Vs_-3a{W{GudzI_8Q(Fk4pMN&~t=@0h!`>5`wYA)d$+#qEIbUEoufxf9?>knzcuWo|zEYUkmMSN; zyVh^9_G0#?>4rzMc-l(l-g&(DTW-_dV*UC%*`aJmMH2HfEbf3@PG#&5P; zmB&o)*4<4vS;ZH3L8z=kvu*R-!>ir99>%OX_fF_^P`91v1wZqeJCS=|itxXE7umAB zj^noJ>Z?Y+S)9-1t-cwa?>Rl~SKE&jPFFsNroR1LcJkcT4>7^kg)^1s{j@m!>ByQd z*4K^G{rBuJ0k;wu`5OOAFn!y4Y{MOib2^P*Pi%NG<0{*x7N>`sQctf6T^%;ZwL{bW zOvFvokg3%r5AAoRyUdo{{mlH&;@bVHWls|R_qpEvEBCMR$7{>%Tt4S&HSwSNjtBPM z{qL=HEVLQgv21XDVBd8>dIQIQ<6q6+k65o~Nk3ojrtSCYelNrIclG9nWa{CL@nkub zA^7Qk>4POIYJXmrJQDf!TkyfHzweLFm<*}PKxBXn(;x40ISHQ)Efcw6IS)qvkL56^ z-r6{O0_T*QNgpfLabB4jzqiP>@vXzo{nE`7)-gw24Uy<=vsSN5317Tp`39>mvt_jR zZc(>W{P{lYYh!?4?2<9($F$e!JES)hC5ZU@igC4Gd-+nKuL^nRIj%GrKkl*g8H= zys{(n%P-Z5SKl1@&VNSp@hPFJ4L9d+TfD!2R{Wjr{fWm<%=4479}cdSkj}hV)+&hmO94FKd$?$mTYRNogg_c zcwb3(z}%a%*PH%Vi9Ng@!rdSGd$-WlSBigc|E)`xHdlP`-f70;)8NJdC`3QRy}yzJ zI}4zSqhbSx{#u!9bxX5uExY>uQ=PP3LEz2l-?f-thw`5*w6Z-Ex$~=G?KS1A-}kTm zXdG>PCwN9r%L+c(Ioj>+Yf;}q{P6@uF|-)~-1ppH8}DR`qqwiL5Orr_>~TwD9S-@pM1i zc4q#y?{kZio*cNzsr74dMzZai{?uD0v-BVQ-zV#q|Mhg)bJGuOR_kxKAGui3Ed5>N z!tqYQn3A6=)ivppIo?OfY$(_JGigfD_N@4QUWym)eD9Uye0=)KiS?V5opqSHmXy@} z7FYg~=;mTN@8px}0>huO_nu9V5}z*a)*a7cHLa;+`h!F58aYp5x{ZG(CwVjn1_wSX z|5g@an*ctVs3UJTu?No!aYrIQg+!313^-6*~*7 z!XHV?%-d?V=4X0;d4Bx8zwSBF*d==6j|CpUp@uY*+d08)_u=w_rZ?enQ+82D2%t^Sr!1b_K(T1(Bw&&d3Q#rY6tEk6c z&z%3u_EfV!tK0ThQ}g4bNdI-(ksB{RH?QCSEThfgQU2oZ3bC@r)gP=ssjKgw^X=-< znwit5v!6T0rfbq;*Qy&O)?%_OOH=o<*>h8YDbdzj@7%io`BlkgAMSGhk4tVhJP)?& zivJT<_hn1NTlP+!4cT8rBv-8du;k9Ec%MyD(@qqu$aLGk>{B)S>GSs;CkjQWDW1>Q z-2QEaYr|t5|0o3`t>(8&&(vC1PI!9k_*$`hZu(1?DNV9{oVs=8;)+F=uVs1dx930O z_`kXP^znD6*US0!W=FA|tDNM1Y);ujo~2sbt8+Dr@62%xGBn<^^!-BKNj{UleR~o6 z^f%jfetwUig^yP-{yAMmV{_YPrF*abN7lS8X0Q7pGsj#LvIM{P%zSalvsU?SdjDfq z?zhT$Gf8C0J9k03HD=<9Z&H&E-E+B;Sy8@!QB3$t$ZnREXIhTV`f0dI>C~bb8K)8s z?vOWD`n0#IKRuYce$9%CP4jP*aW3@kI;Xy+S4uGLx(Mr`&C;^Wrt6fQZeCi*tuWEY z^HAjE1zIcjy-(bB$!>0@-P-ziU4xj^Iel40Y{qxyOmR?AEQ%=i$>-f6_ASW5*VL}q z)qj%F!JQ{XX1=ul%v^4lw>98$?Sbm;cOugJ-rVH;xRZ_bFH6YUSqIKsSfQWQl5275 z^!d9nMbCBqy-d0HDDR8A$;X-&&uRL7{q7#Tc7FRepRT z*F9$kyW;x|8}5CT;?=!=Zt2w7Zsn_*Hf`sf*6OiWs> z;1si|iY6P?_bofZ|EdDik$5|+L~8%9w`$sI=WopxQV|vmxw!LN+`gnoM{U!VocDJV z+r91R;)>}LQ^jBAU*%MoADfWN8*168dQ+L-<@6C1*5ZFM%roLG4rp#O(_c}|<(>4O zwWHyd=7cHJ_8zNIxE-!jS2*AEW9!E-v(taCFBS2!e7^lG!!{WwrIt^DLPq`{4jkVr z*3!Aa)uTw6k#n~45wnnO20!_PPW_p*{zHBJ1HD_#ZJypK=c`28&Ognb?KOWs)60bW zLSnlA8RXob)fyk4%Q^Yb@=JP6mK@)5rWTc)o7x`d_-<{FVDU@)fCi(94>a30=4M!Y z-xugJJI&r}-(ulY@6_XcZC@{p>+!n74-X@T_5-h#9=!A0R5az&flZoHR?9q31%_xoX+d0>V(3Cp2jN=V$IyfoS63uk zHgF!BZdJ+S?OQmp?sJ`5=*EWuQ?=CIZFWoQzIioabC#E#-*OMtthTR?SyNwl`Z+$G z=D|AM`P1sli`4n=1ivX=k}EaI{a}OU^7uB}CJ$N0ng{x4#I^)GwakxQ!JE?%a(2r{ zo|zZ3^qr>7?XT8snbaX4E^Pnr#GgFvzW!oeo1Q0=&KD;#DZc+F_wUZmKi-mC_${ui zIjDDcaoeW7owq*aGIITFe7jBP!4&PTs-BBZnoGXVHC)|!pyKhL)bC;YN}eRyX?_3q z>0?941}mc=UN?nD%4Zk4-j8$LdQ2wjqNw8cpm({mzS;Dzy$i*2Jw$3;d{E0<$V?@kIU zYtNkbuS$e}n^1Ir%vt_d|DSeFUj4l0hL*v<6RkdtS$|&XA6D7EZt3i)jg31DW(2!k zGB3IG(%F8+&Fp?nD|IRHm&g57mIRBkuaCQ{{NU!=m{mL8iX@(PNUXc?`RMWa>u2R= zN@~pb*{ibo(C5$sOOHvFt`@b^tGQMSo_9&xI&;R~)BHb-Qd|EYjIQLpSO4$!$LE_D z>FREL>ut4war&dh;yO%MKZnN8Qr*7f{8_PR-%2ZXyS$|a#m^s1>@U`R!V>p!vErJr z4U#5`bu!OO*M2zKaW&$wX7h`#4MNQ9$D=Bq?a5zlFkk=7ey^O}$Hg@NUSFZkY~{4O zpL6wxA3turtPZx>Qgo{8J>MM>(~gMZM@L>+UfdfMntqeZv|6p__Aif!`d`y_zFT_d zwn^&Y8@boHX7|PLJ__@fy>cpQeHZWR&~;aq7|xg)gQz4Q2vh`f2uN>x*E9D_#kROv zs&ibp^D}*&n2hVPwdEFtoi zxi)n{&-J4p3RkvT8?OjwaB~0fWN(s_;hgS;-)6{2?XJyRygHD%ykTh$vj~UnHY1BJ z#*HG;{sqsUhpf6`#tZ4}beom3>`!Jc$vtnszj|ji?+(zCd)VlsIg`PI*BhKobIoS{ zsF8DQDCcCqu{}ydL@#>Vny9T=>yrgH-TBA7Kd{jK7dyA+q7qAzqR}f| zo0TpZTjlNxOcQJNOMiHBNq*bg@6J~^bAN5g5K1|4mYGUKiwLAG#ig@h^bIz3Ho=e`Gt`1w?Dmi;#cm9QH1u0 z82K9i3$mQpsJv)zj-%qU&qoUsD?j_0yqR8Iyw9@#j>J;VeJ(4%2u%rS6x#I9{nnh- zYDkV`Xm2oPT6fQgn`hsl59?+eaX!h^8Nzc+H1|SAk4e0iur<%oOKN-lvJ>WXFLBVC z%2C0RYnZhqZN{y1g9QJWjPG^5+8?+}cUdnt`#;a;VPU3PgiqDlYYexy3)m=%IS3gn zTVtwdmuWaFV`b36yTAj}oV%ZDoS0;6d;(1zCvEY(o^_}#*Lzu?jA_=B4+kIi z?kW3Mq)|id>WKP3v}55aDJ`Ij(s5S9#U$ z)YIEvd(Zn*@<>nVr;^}&qb%-Hw|O2)iQH0WY9?On#3`+eG!B~Rn(?1Jt-ZC;+J{BC7* zU+?OoSet~qd%i7uyZsi>I{x_Mu9BCJ-oEvfyIJm#&1<#i zse;**gx@cIYg=vkpOYLE@c4x2<9iP~Qu&STNnJoq!gc$R=aPnk-;`h*jSyB4w5G)`cwmN-4t z$k0r8?!sCX{}NTx#e#w{F9{5A&BbF#Ttp zzsP0bgoBk@HjHsMoVX4s9C5jpptd49o=57_!v+7CXC{9Xcy(*ToOgdVHHjT;`u#j{ zwkQWUJZ}m=dhX8q#{R`&#pY#)-##u&>f8Fb>WA>BlM^l9Pk*jBD}An;w4C+Vw+H6z zy==85y0Dig$F|aKNA{_7?pxvdcPz4=e%A8+RU#{O*Yd%7)59~3Gi^3Jp9D&%ApEae zu;6a(u{G!UJMV4HSx}hQevwn`@Qfe9dw;fHah~QMw@-ajqdCLG;@{Ix7@oZU_EoXv zBj?kvnDHWXYDzsn}x}Rp}v?03m`!`*=Z(kQ$G26{H*V)s= zv;XS5H?uZ+S$|l4aH}rc;knK6zJK`E>*N`{dHwUQie}{0S*+R)*V;}hKMKzH@a?R` zt))zJj-*|@clZ0#8&j8mx#iS6)70E^VT6*{N1mVSw7s3w^XFY(%n&a2W6^}8x1XDS z6ysu95|=D++U3t3Z*iY|(+5EoCjTzZD@ZJQQj&HjZ0|Gkn%`fdd&(R1ZC6~GC@Q?p ztl{y|tvS>C?iDQK&);5k!Mu38$_i%PBhAgbD+K*C``^D>-C_TJL(zeSu8nT{RI>e_ zKh*XXKN1M*{QR+ZWSH%^;UX7bg~^VVzZ|mRuXly?U3>ju;Q_JD3!g6Ooyg0Qe%)v8 zrf21ebIZ+-d$HaV&E~J$A84wdS+IAV;?~t{UT1<~3Q`s$_YwZFZ0t#O}Tj z2meit4C`fjotEdzUbysn`qRlt*Z#b_yXE}B*1alopP&7=L9#Oa`jh_p8m{H{P90hC z_KE7_-CDu^`tyE0oo^|&)T!p-slNAhH|DEO`su7EERxhYJ^$`ANB_E*gC|~z_gyjU zK2|DfYqRmk=6ES#&)}>o@zcSxiY?7Vprn( zNk>YI=eH!LNrg>dm@%a_^0MQCw6CiLzVn^E_2c(XUt>Odx2e)sq`$;T?|k=a$qIcT zp}fq51|GHy>n*{Hb_d(fDz^A|;<3$U$K~d8?6>Cso*Kh_>1B_>As@$Cf_K_i+JEUt zOFigXG5cD;tH}@N%lg^;F}Tj4X^Dt)w?f;G4LJcccy{o@J`+Hg|qX>)P z_dw(FrLi)s<(pZ;y@Ium3Z1Pzc}DlNsrFiy^2;Zl^3U9@+BI#KlHShl-AY=U&fC4; z`+sNtjKmp|ELZ**z5n}XhV}Eg)#rBZFOPqJ#AEFD@s`K5^fR)aqZF+jLLoea)*4J=fV=E&6uX)vqV5zklA-eM>Ty z%Wcn(vaVazXJ*Cfo*jdj&&Jb$wITNP@} zTD@jm`FvWop!v|Tzc%aHXI;{h3Ob=&cVySUihq;WJ!=ua|L@f7+;3OESCUi~Ip7PIMCvH5xaz=L&dd!`)Qw`oH8vwY9R$6A~& zR4h_{_+(3-@}!SDbknaz$h?dgl3r%Hd%x{(%lXhs%?dk z>BfOu#pKQN?R5X$ex{|;d^YEZbfV*wc-4A+{rvo`{Xs8VRhoMB;#|`8?k~^Y_oZ<0 z^W!?RS=X{eC_5W#Z8&yYI?6$~fW0wTDR@<(X6E6eQw&cBSDfDHDO@J~V|DSNLx*-9 zmNOg*TkB7AKPjCPDC;3 z+V1nu*Z=<4;JJ>&;b75`mnBbwy>@VdQXqrl1N(-C<7*6Eu4VDgGk(7JLzd+6YwpLF z=FQmh;KSZiwT~u!JMwjP-TNDRK1zR^zdO-&nf7u2n7^NQ@I~gwG-Svws@M~8GmI-+ z@tk&~Ae>ZiYrm)l+Id}{51LeJ(s z>tyEqpKw{i+qgeQodcYp8tV<2)zH6JQ+ z{0ZjR($%qw^|7J(j^i8j&YX)(jm?f}vXoU`^e3RKMrmGQqPE|Z2`g5t`uMT)oA#5* z3JwAa90Dx=f;pzxX6Nu9oVxJ0c+2yLJ9M5plNb>%T^Se;Mq4 zDq6=RWoB`oujXuPj-ZlhGR>}+6AuV@XkOkW{Ic_ROm1PQ>po$Yf0-;!_g;Ok3l?o> zek*o3R5tF@e~nc4q&?on>Rw(oe-{5cRxIeZPY7CCUG8wOv^i8?{5@&0wcJ%VvlY+t z_m!`UDcpC()!BOT-|PR*ZvPg!MK`r1<#zhU`%BKVFg7tbHYj}9@BG02kswop=1ERX zm3`m$OMAK)J2pT)#lhsS&*a*zHSeCCz-efjgvrUVHmb`gU->2<^Rwj6c|GCjRsAyS zeS9N6RxHyLTNt=J_=~l!_GXT4=h8I)wmvnUzDzV$#kA?be-_5G?33@UUM-R!xREt7 z@Bc=#vfs*Q&s{C+TGR1PJx8Cbe|NCV-!~G16KBqN@#%}@x=CD6_t>1~sOS(pv~HWH zecy&gq0L3-=S?;2=T%r+<}m-@-30krNv_h@wmMIrX4-vG?)dZt#}aRaM_*kXwzO(% zmg%a{W6O<{O};IU&2~4d{ylqb=jQ5LQv|piA9MD#Oq-f$5VksQX_T$RoW!%Ijo)lN z9G>TQZ+q^-zl>Zne_npKGC8@eckZU&%V#R?;9oc8;^}Q~JiTshEZW7k@WRK}$M|0} z?XH{T1WpK`%A=gcrlMs{OQZAs9M*5EmZ|pZ_pR7GW5UUo6Le=!dh%k!207#Mo27Qg z{I!qHpL;dm;eK81y}o&hZEjYk>ryPXDEwb)_2#MbYgb=T-kGGFc(mum_TOJ#TQ9iZ zvbmsO&f|c&LGHCDj>rb@V)dHP(4TT->E9n4*R!Uo_i<g@_!vQUgUt>^XEDpgCZNiln*<@Q_3KWBY7`R40o=AWl-(&1G% zI~{7Irv7!q(^hbavPk*ihZ83_AN5ZznisJAqFb1!-NlTrmpuMn*`PQCZqvxRE$*1+R%pNQ@b8q^y~qED2q=LQ*^l!| z0pI>|sJ`93Z|n2zb1xkD`2K3gzppQfPYd%g9u2!+|9mH3Z?>)a?kzPR;}0&>zaF+k zew)e5Pf?exzT8ZGef~<_&!xM%zLbWnmrsgX#2uYhH+@y+WuMZw4}RIlMaf>*)~Nk{ z#qhrT^_e`D;{SKW?~ecd{G6Qdz2A8!K3{uWTEF-H-|F})X!e0M&9A>Fo(uXPTCZxfW}ao{(`Tz^Sla$R|XNN<7wozx_Mr|KEhK7v=Y_vaV`eDU@QW*|cY_=G469Pp-W;SJ|VaJ@NFV>$RIr zp04sOeRin}U%ss(ZN z9$)MK&OIy@xgr)*XQVC>lG=3qWnn&V^ybWi7p=oIWq8%62mQI4U)2+{`Pb*YFDE^4 z^JV|a5iITB)BE$)`M=^NHmtwmr0y-0I^`u{@%jAemC@7c{vO_ytZ=z2B=$IO-Mxa8 zH_?mhnD?&yZNA?7tmw~Nsk^16d0%%)#m@Nl@cI6w@AiZqXe>+5mJeW;W?*GM{PD_d zQEl&ca@H@yFK>Tv>*f6*eL*hA$0z$)jyJR%HeJ)e*VpRy+@0E-;3C7p6v=*ucRw4AGT-NyzuRu_~%;#3e)DX&leK@bncIC=9P{B z4k`Za|9H)$*^_szk=|APW$Md(Kk=*69i=i=`Xm%% zCV4I87SmY~xVY_wwCMYMzj-GgMW-vMm1V`aPOATIb%kY?{<&6`l|mYO)qL}g&GMJG znl^pu<0dKhEGN5IN#@s*y=l&``jjhI1Z~f6J7{&>>edO5T-gWd6Y`Ev=k{N)>tgi& zw<*&(tP2gicK)5cdfn#f?~4!ivS*nrPF`+0vH031|6}DIN2X5MsNMHzTJmIdHOU{V zKOZ`LSh=m%M}wtT-Bu{)UBbqNk;n8u$Y@U4aHe}D$Ns}6FAlZtzVPABGfofVHMyau z=N6~m)pRzAukSG>>DNPZ>h zw|>rEd4+`)d#sLx6`ajk^5-^_dr8EFvrAHig)T!IYRAs;h0n1qJ-&*M%PEt){zlQX z+#9-O-`^db&-?bDmv40OO1(svGv}`_;XVG}HbRZuV}FSs)w+X=v~$I+$KGv#EcgB&2b~IYjWhjY#$Smm(J<8hJYR zznO6IiPqFptU@<#=Xgzi?0oNDL%^)d+s;d^y=HEC^Xc5h7t2;Pzgw!h+~$ejp0$hE zek`AFRjIAY>zd#3Huav-*SV}WJaxBrXqr{szV!8_k^GeEoiWd4r)$kI5MYtxYYY<% z+?rtXjLrR6$+UN~?pA+Oe!KgMq0%Y-)Z^;!3M3x8aCUaBl9HeQVuy8wXmwk*GBIan6iXF-Vk_LdC51nD%B4x$ zcW>yFI`wCH-D|tOCOS*@W!|t|UMW&Zs5jcv08*5=gANh14jy^>B_;>$}z>%ZAP^^ca8lXDakpG9%kC5l&{^@#^>sQVdo*QFb^dS6X-+EV3FQrsT?h{)ln*`3U zy%hDsuFB1G^G)gPy)}y)&40|D$+&&;(b#3KUE-&`^h3}6d~mzAEb!K~{4M+ea?un2 zOgKF`SB$e(O*&fnDEoYo7d%B<<%3gJ-c8!>AAGyxj`$wSX}lae&enXKeY;e;(R`+_ zk(;Iyo5=2~ss+0zfBy9)e6Dx;BwM{5np2(~QJ%reR*)H~*=^B%G({wZOEc9}LU&3_ zs%nA8mYWI+t!vio{uH3#*`=}e+ueJ&nxEI}Ia}RZy8oT5k_bEurf@RKC23jkb}rUT z&H6CKkW=P(vwvvbd4{qHZKeArY|_0a6l1}7ps479OP98^j=;0-&6O>_UpQ^!4!S%$ zGc`MG_0&fe9rl_93KM?){>>kyv*zQ=V^?EmE-6=1i!b`7(tT3U_;i9*{<-t!96~e0 z1DapW(s7$UKiicnKmUaL>k=#O_TWovVpdMseA;c#&)#*fPC0*!v#h*%^QMV%ywR%X zMIp5h^G`1odlONpwpZ>^<&|?UuI=XH^4YLs#wIDtYtg#Pd93DM%sHCeF;z2!>(ml$ zgGkAlUaIL65;RX-|GeeQZSQlld0DNL)fG6Er-oK3E-%{_8gq{G%@&~w)(OcBmK{k; zik5mE6ltEfynXM>qgPMe-hOM%^8*i?E2pY8&ur7sklP+$elbWh-|V3HJG^ePlSh^R&!^k@xnddYjtMtSXZXW^M4CX7tw z3a$-e5lk72ebZ9fw06AQ6Y8)gW=mru-;1?jaZZeJYn-Iv!;4R z{;_%dV<{_h!u0-LJ)I;4;hg66B6ln{uw+^6;4GI66lxQz;0jnQ$Wqi8rm;joc(=eO zPiR-@zbFe!N6w73AEFXMWm|1QK zS@~_!<8rNgJDBzuY&2c_;d3a%DyBWFORJh&gID~`>Elbk_FPQDwLc(W^;I)Pz51C_ zj*Z)kN(D?OeX?=k%j{IR@SrXBT4X}M(_Pgwep@B>r8u@+|GE3%S(7-SyH7(Gv#s^G z>=R+LJXThIht9>ha(6eaUwMDQJKltLseNZx7%Hw&djDiu>wcM9+p2$48WTlRIv#&X z7k|uIP-VqgQHps!G$@^Uz_zmPjK0pQe5VIhkO6$ z+cysy>&P5EmDSA8bF8shDfxiq_O*w^1jWo>Bt{&wN(gfdIUS?vUs(12Yhl|t!+Z6$ zXMMdl9EdsN*u80&#Gd;jQiLX1=pdoWpcK^=amx4F!)M7u~+v*meHu{VC1+ z4xE$zx3*#PFNc;(Syw*wn}qvqTzlx%iH8~cmL|9VEs4vp%=p%_J^uUTL;a$EZQbP`N03W@~8RE^LB4ueYZjX_VF{nEgrdMu&#)^ z`6YF~<^EQlA2mtuuQQ8^1nA|@vMqRb?gOXy@qL}|OWw8WDlZm~d3sh%FXdsMtNvnV z`BIrWo;eA}iy6)>x_IVd4^KhMmAyw*5=9;?Yf9(ew{nWuf&8|<15)LDmmhRa^kzAi zVJ0oeT4%hiA6Dr7@K%dot*BL2J{M)tCO& z9s48DvXP@l;(+GLoe4T8wtI-|v*Vg!J}r8J`q$6RktJfW>kgi(`dwwnacI?|_wL4V z_p;h1I{eWw_s`#QY6{Ph%r6i4wD#0K;bCP|4qU3Lt{$Hd@u0bO*~Y^SwJve10z4&e zWoZdkMKLDIJrLhMZ{ya@k2+NJ4=;4Qo#OO_Rne~W?u1j<>tnXO-L@+1_`SD*9_PbK zYx;ElEr>kv;b}Bq$|=>av-jWH!u5mG?(CMR+}GEot_PpC^7)(OG2_drY5vEK-kqdT z8{+!>%Fh*hYxf>q-zuHd{5bi<(Ruo{Prf`m>Ro;}c`9QZmy7q_+P_U#z1DN_I%TKo z{VzKmJAYT~y>}{m%xXS07+hT{JD+D(jfMZy*8Xo!MV85C5ANPgVVDu6Tl=xpkJ~Y=Sq-K4c;`?^lj6cO?&T1JqcPvO{-}Jgv$nK@q z)RRYch*!iuIGXgF(`(`L)Za`K*M9K-{A>TS+SKf)=j+8(yl$O;QhIpSIGx_U z(fhhI+}~-#gkZbrmqTCAmC!!Fgf*Tu%hv9Dvsv8sZ(%Za&a;jh7R~zhZSkH^ravK% zo`~7AmQ3Z8p8wS``sUTUqQ}n#Kl#9<%yD3)G#YXP~ zZ)NA#8N9pw!V<`uc3duCqVBoMrpI?F^s%{1aDelmE2)7A%l@C+AZnB4N3sZkxOg z-FZ4nyBmIN^Ugmv!!OEKyF zZ*6aww(mfgf@DW|wy4GCbqq|wCz7tbE@5Sx$Wh{PO7xTD8H>nPS=rT&;Wut%9DBcb z(ygSt>r4l^k`t5ndX_AkAZpZ`bW!?fjQkPJoKK2RmK`^pEP9SjFK4NF$Emlumc~mI zzq)NWe9gH-yy>IDv8R zeA=a6>&RQi(&E8gX6YbzM%&m+B#U*Am160ME=5VNM{B>WUGQz1)lU7MJKmj-*NU7m zFMd(F(%^#WhxmuFJ+kt%+IThzewuni{K%YE`2rb3um0L%iJZ3A_c#C5E>Ki|Ea$)1 z;>m2&-f!qYpRbMEPQO8UZZtF^$+{zk3`6PBp zw+T>$P9&+Aog^(7OE3 zKX$SjPpE5cvGLbpEvJ>Q_;#22&OYHY`>Y4QMzeR&jFziBr{iu#A3A(uiKW)%{Gj;c z?bn138{WL|vm?vX_lU*G>u*lZyXyHuf5DvZy7yRDiE0aSJ&v$@aDKfm_qEeYd0#}& ztXVycBR0Ur-`L@mW%`}tTZRr`V`I~Lt?Z06LA+MDRQ>fQXh6HjC%Wewlycl}zBF1_{R59^D? z>rPnhI~-h)ReC&3;`zsmm%qP0`}MQ>)z*{kU$YJeB)l&Fy>FjP)44SHdWrc$?>=;x z$FqM(96ke2mw<^B3)X z!sB!5QN~OzwL-@RmP`EyUaef~KBdCgBAa@T7(ctW8dRef6 zC0ui#jQoeV=AY3UCNWoW_Gwy_-;ikGsl2(ZL5@54{ zx$FICJsU2M6*m?Aj=o9HbH5>Rly4PAaiSDX)PEg#=XQ*PZ%JZ>;)!!q9Gkc6o zuKqCIu#QParG5Is58qmMw%QzzWcs_drqOrO4apCmSoAGwTHUJRl8zN$U$cg%Mk_`` zdrl)yXE8^-=4VZ=J2^b6f9&5jy!YQCve}sJux*J*q}!>b+x5F1Z)QqqDYUe@uf4bX zWADtKjjc+5%N1Q4cJp(lKD+MwAZGJ@pGK2CmA(z(zXbQZRL)A|46BTvtn7Bs^TR6{ z3qiIg4O+>2yW(E5f6Q>uTtrc@a*zUbN1H?URxWmV$mvrN(tGp+k0GQv)qn9=i_X$fzPSlv2O38 zIs4krt4wjww&4nBW@~(Lt*~%zK!;kx)_LsGjQ`g3tPbZfy4rhsd7kVZHv6~-f)f(M z&u29rF|e`cTP`p!gqwY{_D6rIJ$lmrFEz}UdvIX4_;G%gie-!q>^5faayeVUeQ*Jm zc}6UA{%P~;yB*A7+Rn9Kk^BCi9bNkmF8}+LVSVY23^S<@yLs*@Ta+A5P~$rnCaf}{ zQj5pDBI7luOvH3f;iDqkLYMQbx!c0Qo!)9N*Q0T}aVkUaqc7!eR2vN~ZmT*b=?IoQ zI4Zm0H#_U?-W%4OuT0rv=AiaiRiNyN!eq^=x(zBW50{4>h-&@w#>Q}J%$c?%E=8GagX+z$ zmeJ2wZ@F@uzo13#CQo}TXW~=+f)yLmR%VF&Q@)_Y_HCK2lAC{DV2$OT{L>R!UwVZ8 zXXV}V{d=6RyU=_$-K8cnscY8GuGQ~fduva0ubXgq-x{`eeLD?GdG#a~>!k4pMC8lo z=jX4HsOGa!I=*Vox7`yRLfRJFL1z7yr4faR z?H3t>FZ!@n{@it0yfUgcN@2-GsrWUAVoqzV_!i~3;at>j+ryuOPA=vC^7J?B`Mo_R z2MiRpv+3`hmA3n6LTl*C1I&E)4=?`nNq$AB_S!=3i>u~86sq2T;7g40zO>@IU5OI> z#(j;IsxpSG?Ju)9@6CQ($QQ~Z8NEbcjm{k%w^?QD6?Pb2y0TSo_Sut`2bugC*7N5i zY`b=8{VWC{ooO{kr~YO==v&cyOvL)K(&Gc3OW!|HSn^CSFD0$!+_HOHS3Ue;d_#^S zX~u@nJv)+^>w*qCN$xbas6&jSR_||EcgrM5_|wZ%64IYmTK7F!=yg}Tw_)G4i*9aN z2RU2RJ*Qi|eJ#8q@5{A(YsVYk>lnqaY}u`r@~La#g;fg_-d{Podxh8J#;vB0r`6sI z;pIRPUEyhQGp}wjK&$EJ^WRCA`xcjp4|GU||0VDe2dJd9HNwems_+kTp?Y zh1jGy9j?>oW);Zt)Fw>y*jrP(XQ{#UI9~0{k5w@rTRRnk*xn{cs=4&$Xj?qwUh{i` z_TIe_ap6DsT31HgNIqO+!gT$>La&h5OQf%@fAU&U?sY=J$_qb*afLh=0D-Uyn}7W)h#@8<4EZV=^MB+MUYwB)3!z`T~PM-rCQd}fS{D>$~t-uJcG2mLUEzMo!&`Uke? znU?=_@cb2jWk%_#^ZUc^t*`mren0>Jh49M%J8B-ead^G{T6L=B)8XS!-~VY8&WP~m z-sobhbMqh{cbVYR-F%-fS#eJRYp=seGN+#eFVz>#dNN zt6r@WeI^*Ry6xAzGiRm0C4akTTYhX`HdlggKth)$v-Y$?C$TWy=ILkHw%y)aU5*$& z&#^Cwk5X4FE8Fqt&Ha~d^G{6;ymd%^+nlhiFZL$o2ff)c(Kc>%t2MLUe%JuI`numW zFR$%4iah&5UVK~V9J{*HD|lAzdHmg0;`xrH`K-(4pK3Xq_u{oZ@Bfb(VVC)nCVzVu z{rBdBu&aAiHe|80nyraf-H~~Dn@!tkHOc?2t(OhVuXU_#>1;BHznWum_>}C7@C?Sw ziCrxxSp4NLBz#&RxWIfy1;^&;mFjbqVwbobiW^q-hy z9rkl(ZCh1#J$aJ!o4+k%t5)o;iYJC^tX8bejZOT&FNtTJ+LX7uZ`Ne{D=!?pj7|s~*Aym*(T0Mk&wuPV} zzn;{RubMeY$|C=}*S2n0_PWi{b#1{jdH&Z{u0==WE^QG$swk|({f4`q1n2r;M3~0*6U{6d^*9u z3A7BuLEy)F1&04W&80r-m_)4$x+Ea5p>_9$?<||YhCI6CXtR|&MyR6j!WySJ{VnlQ zZqXHN?(Cu)v{}zw(&oA0z{bDKKvb>o?(HfUKC>eXXMbE}`IO+cphZYWV8a&6PLtIw zJ0qEvUzbdc)4EZ7?vzH#i8Y%&o`}5ZR17{jAuhf3>+ZCE zjK>XQxBlt84WE|1u;RxQJmD^&|HW);dF|jp2 z-J@vE-hPll%; z_O05U)$70P-~RDrdiXJU!ZN579(TfyIoZ}vWuA@nfKPT}0c`)g)a!SdDc23um8E^Qc6rwoU9)1vA z(tp(dc8*v1$N#}zIVHyz-#Wqe_0QSw=Z>m7z56;-uYS#J)6(>J_KXMZ8;x1HPo!>G zB%7vsXpjG%7fio*JztaSlJlxFBUWj@-FN=dF6N zuBkmEy7td~*2XVA(1sWt?v}hB|d(kptp@dh4uE`gSYZ-tlM!% zbxH6Q?X7zgm1lhRT-|j|VT!v?cL(Fu&HsEnj{W}hRn9VQ=By1)Yo@!qY3?bta@~J< zlTo+1LkeVdP*sFXU>8r(Ooa~>f){EGUhduH#rQ2@lfvn@_ScT(9q&KjES|gkMAwVD zL*G)`S<1T}2OaO|ICJF4@eN{U6eos&9mwGLAk)EN)1&tFlP8s}p29ViYuopO|E=nz z_Wyg`DPL#tXTHxWT7KPr${h9;c^7J9>T_#V&#tb~3JZ|x&%MbmUD*FK^ZA9W2X!Qzw?goO8=*?dAIjc`ps$Q?d$Bd)_jZK|0dUj>&cE20a+hUYp zi9~?WgW0)JLE%mL3ma)cu~{W=ZU~AARL{B2KbtA;pPo&PUsBZ3w!71Md1`m`>C4~U zoP2!7<_%dlw^i)=6SQW7px;AF>67wp?cZnYT>Zz$E0-~S>YTZE^Aq;h1?Ib-7jRad zE5$0or+b3`qQP|jwc@vhxf~yR_O*x_FS_6NioLlg>8ITM37xm?s#goWNy)NbxB|5F zh%GH&N?vZ;3lY&DuTFTrjn%wtmmjNK@B5`(GIaLWHzpqzfBUz5THSVvFK&NstDSsd?Lz(yPv_ki`+0Gy zyioPL&JL{~|E|kTy1&ciepl@Ehac)zMO&2r%PTPMo$gXzd3A-OcEP_;>EE|S?%z-U zIxqIc8PVy@=02RVHu)|o-0@;}!VXXMEoRfdbv@}okD+b+>K60WZj!sxj=!q%=~}^e z+avClQThv|J)3q^`rI)wkL?TNv)oaed35JyfqxQqb zZ7q-`vL9Bw6Fw@hzOLV2^Kj(i-ZhhI7F~R`gJbU7pR&7(;{8wl-})}$^{^K%zOy4^h1P7@f3fe^8f(v%bPY>7{#|_PqShESSj=-V za_~0oeURo@dElL~Tyo1%D=zj~Eq(E~*D4k#yxdXf&2RA4YQ60G1$&uZ^LJ!~#Ohw( zb3t=S+*GcfiBmPNmO5+2|1Z3_?e?lD+3M~3YOa4CsV%p?#Elrl3&;5`gGmtm7!kqP90x9;qu)! z_MjlMb8|O;HR``qenj5*f@S;uKSuA;L932lPTcTEarwuks_H6>6MhF?`@p@tiZ!nO zd)V89r=wZ#Sxie?!ZdI7Tc?!)1xA~XO}W2sje7c(S6_}?wU+& zbMv28KCdsx(<`~|<~Si(v}GA@lj`-!YU^x2UBBgdd;Q|)QtYw&vct?P_I4dP@i}yN z$$I5Gdn;PmpBw$%ZQiE$cmGazBb^7`VqOiwT5n3tEqm|1UG~*%o`hY>yLYzfB{r;c z9TK|cOD@qxtZ4=Pr2^6VcEik^%3^2dusFFL;5>HVwib+Lca zOJ)TPVn!4Uwq9I%h4fY%O!(7%uXZQ~UH!vJ8-ji^&zL0hP ziZG{zW_focgoPj1hzhN|yz7}iw=`4a@s~?pJgxq%xlQkU z=H>14?o8U2+rK9F_o|@eTfg+rxB0zaH2YSW!4|2FY2l|ge?F2~e{0A6<-h)XTdJFF zljOUpdrt2i=`yb;ruy~8Zh1~?=TFb)^OGkXisHpf?P4}%xhTYcp-=nW@(hZI8ymnyc4(9l^2h-#C zSA9HW%b@W1&AYG1-#e@RzLfbx`+^_)ubUqmWlbbf6Zx*k`o&G_|P^Yr%rQz@o~g~f+N)BW#mT-DrErYd{l!RjyF-PM~fi7q%`;}k8( z<63m5^sSfIwyjl%|39-V{Fa!w*{CMKf;~2(YHv{Y{yC>w%~Fid<%(y53b{|p2kqn% z?GJsLGNJSHq)BQm><2zePoA=+;?s)Q&Ehh9lr!$#oh%~$aCRkh3HPLh`swdMOSnO+ zf;M_K?^!Q53$%p$bh6e%RcNtRFUcgg>6mI{1hysIL6ZVozaTH+Hb3^&EO*|gb4`Dj zZV}Y))-*eLP4)GqR6C9DMwY5ObruNDtCxZ=_bHdZ)_ON`OUVC+U&?wqJ~`j~*l8_u zcCLnEU|{Iu$HKDHJzyhe|Ef8rs6tk6e-{syJKw07S9EDoth(;bV6TnuTg?JNYk7`C z*78gNt>pd-K3Tiwk*%F_$If z0}u8csSxM%n=<9c5BI;l&z0uXz&yWPu(7D3<^QvHx^j0EU8Qd>n79Auy`4oze+G&3 zzIFN*|J(fjt@MlArd*tuJO60iWIJK#YVZGijsH8`IT)6ys4toDvi0-P2s^1Pe(3SF#)!q&Q6(TJ23VH%=*B3m!Txh@BC+3xH(Hn;m{emHU0dm8OPZsgx%hM{z2Xbe&3CYaxbGS+Fl!%8@j$~>Z_}(udb1MqkT$7 zdVluY6KU^jcIy_F`Og*t6|@H@UNG8GbvEm2V!*ZLgOb>(V&hHEXAS`Lx#4)6+W4_xb_GM~|=fN?&6w`>O(re-5U192Flp zB0F7@(x)i7c+17h1g0A*PQIyk=if{l6&)X&2S@xWa^@GX-M<-G%l_rXW}Ymu4%; zK%@49j?#lf`$K`NzwJ@I$&wz;D7Wp`31@wu{L}OIOW*N%ta>pv&hk_9mUXAyuI(?A z*?TEUxqb1yX+52t{>}@VpZC6zdvyAcre@pe{b%I%WXQiVDLlKO?_klMUbm=2R}Qwv z-M3qQ^PPv~bZRZKw@eJ3znSm*)Wfl2}FS|I{p_Rg)=K>n1>ssWJTHaZ#h?p4^Yrf>u*Q?yy?}c4` zbz`@!%;cx5Gw+`J|LE1#>d#m7OW3>09__F@d-HVkGT-R($zeZMJb1Ee#nj~6tapFc z-g;1Y|KFac?|*OGym8I1h7~*JUi^BoGym858|4{q`Mt~TC5!%>AurCqYs+Hw{l9np zdUkK;<7dmBtgNZwvdsOH`fv88#B*=fPOqG@@A2{w+quO*y7iMDgM7Zk{m`cNImf0? zn=_%ODYWlHt;bicJ^$XVz12K@JJ+5%q``8+vIrU%qME6fw!gDk}R^aEyQ&TU0 zU*_E;WmdVqT6*ipBPaNutE$hx>}bW~{`*#_bENdI^B#WQKULqYZvE)qnBltWTr#_D zzJ<}Q*B&(%5ne?}HD2pZ@ZUf3Xw~Z4)8SWN97=Cqp6`FN&N%)`Ub^n}bgxso_Z@zH zyZG47wC2gPba?5?6wofa1SdsJsK*=x3fvDkU)%BeO#HE{|E*1mj0%pg`L*}-->LC;UYP9d&da)e z@FYiX#OBpcZ&u!qxIh2eiv)>tI@!TMPc*vnaej^;MpZ`J8{Ebh1R5(#vWfmZJ2*cIJSh|F6T?B6VI6~|L6Ic zd&cFKE_MqZO){MaZ`0`R+EbbSZ<&c~Jo zKh~PG$NKsLwF`T=Bbq`ur^HQGGfzIdoL~0z=}U!cPbXR8LQ=0 z30tP?{!XdcUGvd6^~@)cdqr<9bMEH-b9HB8V&dJTHgG?$pJldnL{7%EkK8uyT&gY? zW_EqB_5n9%cnLLU(r51uber1J3mr0;C&|(!bfi!3{r$NmSB0+dm#y`XiauXZ_4Li( zg3d=DUkOAXG~GP$Q$Dwh^C9i~H};k|CEfb;wmx;!tQk8jA9ihC{x0IGqoYRd!|$`t zZ{Xd1R8{q;U*}8cGUtbn7k<3HgjfBD|JFbj=C|TjN|m?yx8<6~l)UxwItOXv9RB}o zr_8*@@}!yEN5xAwT-V^)GJX-w*505fwG(n_{lWi7K+BzTriH#{rc(uj z)7GR(lf?YxK%3H<%URCuuAcNrsm8ef%-o%)dzB)MzC3;N_jL01e2ZCf7G{|fzF&3z zEMFv*Y^kHV2AZTlm?%9^%+@J$zHGQ?B9o+$u~T{-DR2rsxMzj2tIA!^my*P zV0AB#kdUiCejJ%}O9+vLT@h@zHOSLq51Knp8feZKJa~W985b{s5BdzCOMc`8q*~k7qyC?H{x3I z9vWYu29p5Gyi^viS?&=slb^*o<<7gcK;KXI|MqY9YIM0~R$A?3h}Ft3o+iEQkv7*P z9__t93iB2!ehF1R5|}Nw+~-r5pMbGcR9Zb{aJHmeZSS_vsZuBpZ?C?C;$ET zQ$NjO_Z^9LlO9)X*pe#fg?fbD&7Li}J~qB<1#z<#(3SMPV2rt-f4a9 z`jlU8mapR9X8n(z&o5{H?)&MvL1{K3->qi;nQ9WejP+w{khg5|yKg&!<#H11^xZ1Y zrHRhoeyrP2VrnxFf1VS(x4OBxVYhn*$Bg9;R;v9}B==L}s+Wpq@{Z7e+ux|C{#)jSQ9T)0kEEiOY^2a?;74~~? z7JAtxIcCYZm7xk(7jr%Cb$H_T^L}>s;R?I!nMVcqIaBi@8kWj+OmfzawEOg%W&5G! z(?s? zze!qn_tGN&@4Fvg;;u4Gk9opu&UDM;t5d6-oNRXEBd+(G9@p*se!BG#Kj(?u$?JDK ze`;garK7!Oqu#B=oEg$08f_0APL$UFY?W}tHaGs^zjm>19`$JLzg;hmx|MfzmmN6f zx{2Lu#rD%b9$HmjdS_{L!vRE4hB9-+zm&(jwkyE-3td)~2&{-HzA;-Ji=aG*@&%SxN=Qs?lZE1Pc7KfvA|`T8_$ly2NT8ioOo`&{ZpyN!d*K173+42U3va# zcJT@JITyWd>OWy!C%_cGV$UT81jrTpTXLK}zLe+N4sShSsdbYqpYm3QtBZTf|!ly`yRn6S2b}Hp3qwwi{CjvxIFdIy1UN%@09NBmG{3j_v4oc^D5bi zsis;yi=J)YtYQ4&Z;|GghfN1Wx%xyCRBm@Y=+|P4=QVVl_SwEcg_}F% zME|)3E#WNTuDUbh@c+cgjuwuz$sFFR~ZD`!!=~ zrD&Mr0nRy`&*P@#Z8-6;s{Bsr!Wiwdm&>a^h`!o*X-CcZqPy>=UwTwEU2~~4t9yI* zF*cS(HXP-b`6RQ%&FVUs{0?v1`Rt48n+2bpYhpC+XeJMDLC~>TLu^((hk%NH7>*#}qFFPK|fy=f9}-LtgnDdU_|WnC(mh`J9HRfeoy$r&8KEJ1@5>MG1CRd}y`Qdq)O9yI zv-}d-ysc-ezE?l-W4w8E>u&F|VJY`Zn`-3VmhX;Z zIw&gdFSe_vlD~Wd%fq}UNk1fB7sYKqsM(@q{zIHsy;JUF|D=kA(iJVxx;Bx;rXo}B z;)ea(xb-iUFLd(Odp+}f@r-1T51)0|WsDwd?)&~ULc4m0hS&2GD>vTUvQDTy>-1Oe zf@k6nU4=UK9sF$4I!ieuy3r~3y>ZROz!Y=;1h=GM+jp-wxme%iCmN_Fe$``puaKfcHP&^Nx0qbVXJApOAPXRmJWDF~ku^KN?e z{yUlqhg^5B4k);1n|VEy$$i3A{l*IlB8~re|A=;G&b#q5K!3-3IgPx<=VCWmAH6HL zU`Iyz2a9*p-MK#RY<#wKLjCufFE2)ynjHEpFLRVtz8@4W->qLvc&2mHtt8;i`@TP2 zOBNW}#2XY}lvc~Ia@zccvqHkQC#7912->b`Oy_Ofv`;jqsqD(E-F4}E-t(jwZ98e~ zHlsDcU*Ds9!FmT~=VfN+?Po5l)BVDsD(3kt`$e77yef^`M~l~}Br9&x;#swuOHbf* zV=sT|&r?0;pGtDGzH@DFbyego%i3pjT02?MV8+zQDPJxxikb2FU*|=md7G@G^uAf& zh|x;jz&2L1^z6kO=P`3V!xJAwr7wzwh zj?8_u?k*_g^87FU__!c8rD$LLwy?Y@HTN&aeK_12_iop+BkNe}jogkI9(uT%+fGim zMDp{y@(XJB&&oaVDLmfpxvhbF_QrrDjuY+APuuke)cx1>ekRTTs>xUOr#E!E_dFjH zfAzYJybGUku@p}(tBgB*x|i#U`MHmB3=0>q=U+X&D1h_U`)5~M52;y%O^GUszOYWn z#-!%T?(ZDmru4LBgm6xhznakh_HHR7>!hRnZauDNRW-K$*jupw^gEG$H4)`q+2z{> zq&BSBE0Q{E?z`R6M?-hJpG*rY0gQx4~5nH8rW?=JS-CPcm*qirzi(ZEACynHT!y>l5aoC8}|#xC$)dWn@= z?8=J3=7}d$`naD?iRZH3Y#popoxaPi?6<4Cd$bGBig{ntor(mH7OuSF z<*|H4cvki7v&%kvuAX$+D^)*b#bwQ1;l(HAU+>eep1i56&SGC-eDv&}O3m{k{|Wwj z{LsbbU)Z#k+&Aa+19N7UpDZ?4{8hZ~ROzqHI~HlHe%WFY>%8W)>6z-}t|vAjZy&mK z$4*`L{e)fb-66k(za=t6l1CnIuwI#GjE#wW=lGFUm@3 zkJ!=Y%kSNKc&FbiklE?{GW$91HK_L{QS-Mcm6Nh z%ym!SQ~sc`$@dET_2=&Y^OH;DwAJ+uFPVRa?`zYd;|p%Mzbce;?^b)Y*)#V-dGqq+ z7Mar9)z&3%&@{fhVAcEb4-ajfa%ZoT{WJA=hx-c_-IcIrZoM$$dAWsZS#~>`w}02K zOYd6Eo@P2*mw$Iv#myCRrzbqyeSi9o>FMA1F4k5riSMlPjj~p$Ibps%$UZL8=8^HP zsACswLd`zqP5dmdy<>Hx|9ZWE>C2aDE$QNFO}i7-Zy{Y@{tF@A1QaQE;YcDT9`Sj|`L-TD^ z*2vh4#z;+G56uA%0u@~XA6^Ky@w^pR^1T1*4c|5igXEm`*R?y@yYKvyF5mF?$BjhU zR|jU_C@8&t{Jm_?&!?9gl)3NE{HYz2WoJ>A7XEk5I_1=(6=|L8VnnAqd$iThzOh!( zZoS#}KifL^pSSkKm~HyE_3?|T*Q6{@S#M79@!4}D=kJ;Fd8>CnU;FN&qV{ns_vQ%} zcjKS8&#il>=+v)k1%jOL;r*M6qw$?*!a^9T@mW5nr z3)6NUd7o5OHdia|`?d;G*_3-lcB>`Jq(oVd*S;zhI%-}J7!>nq)|zR5YtA3_y6wwq z_WIN3@3$qHR_pC6uWdSi@^<9eEQXDb;wRrcu{5Ai@7fRUNL|ay#`ST%3Rcn*q2ik^ z9aY_Z+ve=8s>n3$d=-v=zn2>XdJ9MueLp5*{?^y_>!C=?E0taACzO9P%UJ&N_tZsF zU6vn{Y+1RxUpvX=Z1X(Z)X!R;_hsVDb3d{U#hUD_*L}Eeci*%N2S2-&@k7q<_?P-^ zR+HLX>4VcQI<$Q7rd3W|0wrsht;_~|6 zu2q@eSJ~^v-27AeY_l4fpyQsYvGy5tq!)%k9dTe>TC~ z^4;Hpi8iUKQU=>Del))y-4Sr&Ps_}GzwQ5@yOduQ{qN7+2We9Jo$o%Knkc_Uqca^&g*%*>(?b+i>&`K z-FQ(!@s2wQr{;9no)+@{a_$V@!BuaR9WQ@eX0d1ctq+g9*<@mpilog?R_>ek^{Ilk z^USAHu6U$g=bR=z;oSewx?l1S_`?2V$6e_7%eH>mwI3e*pJG+-2i|j!)c+!6>HL0s zuy!$@^W5dBAZ6MUH!AFFYTvO$Ve+Rf>kn#gzO?Bu)7#v6Mp8Sy%C=iJc>Y**>3q9l zH?OUbsb1OjxM^_#Y4>#2X9nF}`{i}yymcL0cZ-_Go@hS1EzETPxg9sz7h0zlvL6*w zz4u*7dyDY#ubJoK?iuCY+BJL2A$QgFmw!BU6WHi##~WYw^Qic2(-qI}E=oIbx|eyO zXF_wD!^+3qHob-_Q^PBl9@f4Y9j=mo>EFJ4Me?Ps2_<&1LFQj7@A5W#UG}Mm51ea# zOc(g1v;2fv_1YaNtqZ;cY32xp+{;=yJ!D~0suy@OTDbn5s_4+wi!XC*KdmqyQ6gO8 zxbVOH#jbN1rGJd09^5h4Y_{0E@5GdEy78flx##oF+h?2l`)mzM`lD^DqPZ7!$N5(4 zOMf%kp_nEAf9vXU@e5z?ODZhzYmN(i`gdE-PHX>(F4b#Y7eButU9EOp-d4)K@;UFS zs>^B%<~&-j*YT&~>8Y31msK5kXWyuNXb_bnGv$p~RreI*(`!DQU!mbul4ki)Z0n}$ zTy{A=oaK9@_jV@n-^f@sLF(Uc#iKKY1K#fR3SDjV{%+%k#H0I{8KtS1%6+=ETwLSY ztvyl(uci1;{`{o6;=@1Fx1YM~?y6RwwP~6l|DU=4Sgq=Xrte=49?%Uq@%~Yg*(c@s zSGwO^e7)l7ub$c4-{0}sU;Mf3*xA)9)Hg6}S$1Gm?~C*Il8)x>^e)?M$(S4A(|<26 zh4+rQ`CGZFhs$Co96HY&>#$YrOM7CF@~P`v3a3RzlwW?DxA}x;YR#S5VtK4#xvv~M z+%GY|+dcRH-gmiIjtMK<&zU}_#_#xJkN2AbYuoep^<7x{a^l3hyS_>YPp>L@`a&+Y z-dyqWK117GrLX_za(yy5_Q1~T=bOLr?)nk6e-b|JD`xF+*|GiS?88-^I+d~$ zlH&lGPFQht+5N>byE9$qA631-e2wdLoz~Ebl1t*{y^%95{=bmbzEczgT@lov@WI}_ z;pL@8r{|MNRPw{;f`3_Kit(UxMapmEC0v*G@IF$w-@jQ~G4jb63yvmQOz3yYM|pKlPN$ zN1abrzmtrfQ6xXo$!>`Cc>EP_b&5=`{eK{UmUB4r0 zk9d7d`PF;#r%CyD1v#BHdQ$v)%j6^M;oUc5PG~s@-THm-Y*&2khuY(NUU3=yx~FP* zG%C#u?GEIwYQ;KFvKgjc%F**K3RQA&S zcOR@~v1;LpGic@&@1InA{oXc@*OGfC#2+e=mi`yLa7EVzwqJ+;eQ9?-vVZX$eT!Fe zs^Z%%uN-`{fn7uImhIO=&1G>-)hYkpx_3-HRhIWng#4@HD>06KgN>oHMyqZtJ|@>iPBq z0+-4zT`RnJFxqFjewtPP#x>gFy=fh$+%_ujy|wuzR+sC=YOO3S{4WyN$g9*kYw`5H zRjmR0G~0zIICRVEt^8~6|D3UG^4sg@oHc}X)E39(vk1(0Xtd7Q)Z1UAwRzTp?sXQ; zCe16q{MK9b$gv^2y5Ec=ELqa>qHycE#T#2dt7C1xa&XLWZgTCwii^`ByP zbFGh=e01qrVSW{^yWWSM9o~8HA#?lT=rEnzWq&6g41Xyu{ylA}_VRZTiE@dzPW4}# zf5}u@WcrjTBG%jPYgg!rFH$%=?YKdu`lF*q733-#dd)A_EmWSg{V&60K69U_0+r20 z`2xb%*SkI2Sozpo0Xz+q)ZP-lZ)5e#7MJQd?!vYfHU~;-{P&zy`yF33ccQ7c)*OKu z<)7c0oSz?OKi7SVRr1~KVQR1c-~27aVBKZ(f7QPG)y46W7hF|1-7StZG$ov2GMur( zQK4haiiYlErW(^-B1OUidy)JGf!@D8HvZPlq_|V$FS6dAuKZl;F5?HsxdBf9v>-SwK zzrJ;9dD)Kal=9&H>ks#<);#H0#<={y?dxA^z{mYb|u z|BUU+@20)ZJ07K<uS=w?2N6 zJ(OOv?eHYEXRK2WmHhdAFuUsh=MB!*<^P|mbLRh5IKDzcY}%)gGgeREMOeM%+46Lo z@BTZg=cDRQ_i`Kke_vjk=AEy9;)3=6=jDsp=lxb)abfH8`6rz2oc^+__V~tkF@=vG zE6V=9H1)oFs*}v=Ew$##F$cxm%0FNE#A3Met@o2DhjvvxJ|F+$Q_0r_bNlZX+^qi@ z+53C*Q}O=qlbfggf4}|ytxty(X75`SwJmt*`5O}EKTY&9e^!(EN zm|G{0m%Y&}%5vVAQ0uP$qB+;{0H7!s~2-_S$r%-LbU4M)Yb3)UlTv%`0nq= z)$ez|TypMFzIpzh=k2S_Z5@klJ^cK9d+xnAe6r!m^7i$C=086#E8O0fr*Q7g3upO+YaB~^W%Y7e7LmVi;sV1%nF^b zvt_Glr+gCcKrDmQjtXr1ZtKA0tl>5R-Ri z>4#_avGspn*M01Nzi;ELn|GdWzw_bTy8VBW9`|0a(=Lz*i(h80pUg5NHi=`E+JoZf zQ_ko9xpXJK>gl;Qlbbx&j?-8*_FuoQ#wPSb;O315&MOqOS1DD7b@eXHI9#+sfs5sy z^cjY=Gwsam*5^oyB`$oDQoJg8N?@bQj!QFl%La3r_H!Hy{o3`gN^s?p6{~!{CY?-? zPYt=aY0=unK?^TUO^nEtJb$QojhE;4t83KM3ZBjsm)soCq$svIFCy;U2@O$|&|uf3 zhujl7xFQa|F#BQJxgwK`H8R#bHh;2$k)NWjbjVf%VX>=xa+!hx2L0O1E?10Zc`&-R zZiwQv5m0O93u@JI>Pdce=6U;0K_18Lvz&wso}{UGty;CHh<$qQ6fe|My5E{8?TcVKebWU#R=~Mhp*hlD2)pcA{@Mcp`SctD!Y?+Wlo0UZBUZ$6> zo<%;FC)#!!M9NpBDY$N$b#=*g?LL78k_N$>Ic|3Jtlq^Vzsz(|aHw?TRNW6|dL2t6#9+?9WgJU5-uQDEJm$|1F+3Nzl|xq8Ozw^2+1%y6dsoa> z+O;ie@!45i`xBRB?Da8O>a?uSRbu<+LpSbz+Sz~a)6N2iw{px{2JFVGT26k-*x=qB zR_(VXcX>+WB8?Q4E&U zWYIa;qjT#;nc-x|6JA|8ui7+D8yGMAZzkq+Fr?_i!L(B+M1@ndC$O72D1{4%aBo}D ztSNr+wApFZyG?sm$QztH|Z|;nhkZiK{ceE?HsZq1e=!#>hNN;!4Ul<*lb@RB@iq_>g+CLQh=L=8Vpaa~pWN z&D@w%8WL`txuBZhcimfH-pq;bR6UG%qz@nBpQS3Eb!<|@&JvGz8=lyC8`#(0KI=bA zL-Sd2-|79_;>UI*${%(~N}8Tw)_qn$s4LE(`^=xzRn1Px^F?&h`%mt$Q!$>rq}uNL zJARkV2EpzjMv{ygtY>}%e%Q!(mG#OGgTlzGsx@5fS@iLvVV`fUU_MWWhL|G zi+?O0Pe@(A&30pDlf=u{e;FCgOvSXDV!1urxL^3&|G!uq`Nk$i!Yp;3&a(57UN^GT z)injulwvepE<6Zn-l>xHBgn`{c%DhcrwhruSE&cJM>8^}D{U5G@m+gJBh4sJqDX(| zYuyzKv{rF!Td;-i#BMzkPmvPlbCw~t-_CrIjPse1w`}bqX7i2z9Gm1%Xnc-YDfA~_ zC){&wrFN{8f$W1vpYJrfoE6x-;_&K~8d7ar6W1AbN3cmGv@CEkp4}9xpLV)U%PcJG zppOdI85!mxLw8x1#?x}=j8sxYRPJ<0UOo1Gv1^T7gZ62eZ3e<39Jf@T=}wV-cH+=c zoylty*rwj*pQ3W$!GV2C!;ZGjl5{v><2*;{bARPx(Ru6_y&wJeopL32+p&l8nIBEp zB=j(sC%J82Ah3+rc@BG|P{TBTuTva;3y(Z$V4c2%-}6j_+4^d`_YdVeYvY7Prk(G3 zKO?PT;gpqU7L>U-wp^dK^|azvL8*p5FRkBe7$5tbJm#EsCyC2=&b{TJOuwIFfnicx zL@cAO*~++6DIu>clG<*?9ga}{C8FyTC}u47N8<;3nnsP(8p$KMCth*4eYgO^2dy*FDDfuY6c=LP_y7^Q|teJiK{xpXbVf<$% zaNN84JGFUbT`t$r*5?}{K9*lyxvb>=WB%1m_f)+Kj&Ed4KiMR6rmcjZ$>)idhw#r- zVW$V5v_<~Z<~B_iQQpBeJB9Q1758ReMorOGHf*{KKbA8(Kdg4+eAp3xbhDV@3AX*y z`gYE`ntpx99LO`_JvdktX_YU_wj;buA;95J_;<^I_0Yh?`N5P>6*4XS3PAm zN!YzB`B8-=v!r%Ff_2!!1nu~m(_*U=RwexWHQ~e=i>xqF=D39NoHo`DJ7dN|7Q^Sc zB0em;5+3r;S#?mj&N-%af%BRL27`gRY9dVH9$q64fgOgIR*S9x5>|fORanFIZGtZQ( ze7SQvEM@z>+TYLY-JOByG&IKNtE}=dPFH zO3UlIEawt6jOTSWD<+svja?aWCb=u|W*29=lEC5YZ8?kVE`E@9>)t4mdb|6f8PB^I z>u=N6zB($EWH!m~Y7XDqw$}CDJua_BHBBzasGZATzwUCZT-MXJJljF#ygy9$(C)>6`d1z{<>zjt+^Y$?Z6D*P~L0Z$ro-cGWu-J zY;87o`7vLif1wL)YI~ntI&nCqYo%aS<{VJda=IeZ8|h02?>IcOcT7IQCe9?!KDjOE z+OqJcNxg|d=?~l;?))gdqq_a?r;YQg{%^ap{o9_%j~o@p0?uTdJaR~=rgQh<;;sFW z=4M9)B;A%6^tJujC>7=YdaA>+xC?)R?^XV~egDs`s`bm2Yu@bPJ`?=vsYU$*+2ym< zuUA{kzF{%x|DAGQ*?!f(&FiX)KP1hn`!4ip#vQJ$N8DNWn7=#vY|dG`_pkET?tSO7 zE$U#bbYr|3uRvY8Aan6YhaV9JiUNL;<vMdct(v7)$9(g_*Fy)4Pq*l1Hx#}! z2p4|E=M%&m{D`M~zuSDqu-~;CnWi}y9jiAL)|UzXGb8nF#EfTQ#T`tM*Ei=U%$Yaw zfYe;0HU4)JH*!q-v!KDC|6*>`g!D_TorN=&KF@7B5Vm)Q#C*OzyKDZWcH=H;hD`<$J_m!9PRwvP{Oxz~SH{mAiH64eX8t|#+F8iBz(H+gWQdT&VujdLwtv?( zEHXG|UQ5`;xB13uSCKGjw+)FeUMXKLFmz@0m=DfB{49TtIVQZW+Us`j?WYG4om;%F zwh69dw9wCzjS%AEv^ykYed6oPsp_#CUa!&C+x@AhzwTFZdEJBTjaz2?Todt3V)nBm zdaj9=5B^~{cRA}3c2Y)rXX2D?8DFcp%r{qs+*%H@X{s=t2E_bq-_%~`po?9dZ~7lmJ&!nVs5Tsh->IyXWwTIaRu z8_S^CGK$IP#Kb$U&Y6{zT(#f)QI~tZnZmNlg9|iw9lrP@XVrem<HJ5S>yK}_iCDXn@m5c^$fIff5rN5@x?~(0O)q->ns9_i z)idi^q3|znU7mZp&m_DQOm0g(`fqv)r|Of3Y-<;)DTOUr6B8<3{%qCp2-_DE?nvwX~M0Rr4yR zDgIp7tB`8y_tnkn_mSp9%Wph%opz|o`1GtVuY1k^X1ts!pVQb`am%;7e#eK?`_EOq zp1q6Zx&HUq-v_Toulskc_Py0A-jD77?lY(VKOJ5$+48rs{hlYe>{(~n?v{NomEZMq zd3wy(v;BK>&C1s6{r$SIKmN~p}^CG`qi+q#7v+={1^m{vNjKv@6?0-6IGhZ1` z^6gq}`>N0Wg2KDc*OWE>J^qh5-hQ>Gj?L$}r~m!@miuG}x83*7^7(fbC*IigI+Kf6e9d>y{t;{p-9N`0Iy>?5 zoHGX)4;#;(a>!UVJf`RJr7!F6*_MQ8-`n=TaPqH;_e zqAK2>(=6KV*WT^DUh+TdY_+XL)t32l0_i~+oH*yQ>>^|;|n3-4qIko%#jb3M4 zzxcwhvsE*XPurb$e^2kF$NT@>U+t%`f6t%T`4vjDi?{B)=Gj!Nv+-==E5+Yot6C4M zomLd7n{#W8k&DN^1h;E`2a-AOW{AvY^IG^OzV*dN zYsT9*cYIb~ZN%}wzJpa-@A=wB!7Vx!PCL}IdY3C`O;(NAA#~#CoaRkkXFtp^3GK-; zWR<+Fd`#d-MxEaz!xH}PO|w)^usmYbXcP`SX|!VFm7}FAcTLPXlAXE7Ixa|HwW6e7 z1n+t_H0Fq z?eAMZIDegYi)r>c`~O{+n%V7f`Gbk|zb}Nw|6c!l{+-x@bARrr-!t3&f1m!ms;l+W`Qj?R ze%kruNAW$Q)i3$~mp)y&Jg)S1t^MsrogEYA|9ez@f5+E@jFy*=#!P*4Y9VKy<(D7K z|NhO-ma9-KKXLn9EXOgszyBsj&-;CH`ubm=gct9;cJ0NPa{Zfs{J+k(-u`qZdzJln z=I9d^mJy*x&g{ubc*r?ddjI6Rx)!;T7jFLCH@WzH?z`B+1| z8(go2IyCQJ@^I$oujlN~|9I#BWtyc&tAt^l(2FP9+b-NLf13X5+CPu~zm{{{obz|L z;g5c~zmbRETj)$L@sXLZ|I-(aPcm(<*8j_ssW|oWv*hf})AoHX__|a5df|!3u|Ye% z<92$t>$>eMp2B}QD%y%qrM@Q4rsUqk)^zWkk?ZaAlIq0H**$AneDkFFTKBmHhotX) z__dfX|D#My8LM_zt*)!Pbj4nY`v;%09k;J?67v$s-?abXn@3O7mrXqpdN+mlSf5Mw z4E20D#Y@*t+c{n9KN2;qa8ip0W0sh?h|#^=pt#3J*YERwq}Dk@I?Pw}j>>E2psKX< zSEsTCED9~vJ!i$#KiT5J(r?z5FS1@{mG_DV>-ttrSDK)-;lJX8t!iJNB&{uBK3j5V zg&~iq`;4!x^8Y2?pLt$iXX-ai`E%}3xm%yE@~^*Fz&3N{``fj5ZpZ7|SHEBW{*S5R z{<;sj|9{U*jyEs=DabzY;BLDQJI_AIkhYF^qN}aP-nuOL{NHaIrK}BhZ0+Xx&U@oa z$M-+C%lZEQY^(pz^ttk*qJPf5=bW1!G{1jwDEdFs%;(ql75|*uQnLT|7h#UbAJ5FU zPOy*ty70Wx?3u~oXSg1<)_*nrA9$_)^{&^?xc|S}e(!^L+21#6A6H8kr7XL!{kF|d z-P?!625nGSK0kC{<_!1TP2%JWJ{bK!Iz?#XzQ)f+;(6;gpD)|k z!}H)>Dc>a?&}d!|%Q9ZZlIMR~5A47H|LN{J>kXO~Tl-{xeZBqr2FK&QtJfdB?|r|| z{@)gB=IF1RxL4lcw0Y=NwP;4$6(V~_X6xu$;4WG?F3{oj#oE@QtrdfPvdCt|-$t*)Fo zV4UZ`eyro}Y@MxLleAlZgsQpzwBJ2z-v6b)U+oCmzQ*N6N^{7&-!J43rd4Y`K9srR z;M3iSGksUGBuK6!r3P{qF{_4H@&X>+_w-v)!kdJNe(S3>W_Be4_D&|IIL^$LminTDq`Txnbi)75=KnESF{| zvTT@GX&@rQ<(m%)*>Bt|liYe|ItKrHyKI%^3vQ`*tIPl7p7_x&Y;VKu+$X;8q-^B9 zU-tW@RBhAi-X?R*w*9|m^Rx4HiRyiFnS%3o{=SvH{%?<%$3ECu00*xz?p*wIhw=I! zUy9zIo*w_6|9+}$#hKR4X|a{3)8m&% zrk&MUeRLu_cdMlPOU#kQNZ>mL}VTwC+We1F1v0(`C?Bh$7#dsnyU!e_CRD_b7w&G-1y?mjQD<5SOs zsrEICEFSA}^KYx)xv*?PAy1`?^!_`-n#u+>y+yMcw%gd-|E->{yhWzYCSlJ0jDI=P z53T91eY?AS%`cA`QC0JmCcxo_#W`$uCj1#&)t|M|NrhR zxODsXwYp&0zs2kRZ=K<;Vf)J>a>tJM6Z6yB;uV&N=h>JmP4qgn&b&URE+O#w?U|)Y zEk6z}t~ndNxx7{?_;11dyMOCXsb9B#|8v6SHiUSYA?K_Umd=t#An7emHx|@?<~2Xy86%D z{$nPJGv|Y5jGouMx}$HnwCdr(Z1atGHR4OJ%n6s**pnxyID65YCH|UB2v{w^xU25( zucxP{`}aPAOtIwfwM~mvDtLcJjrq2jedD`3d;8|^UorbnWpL^1=aI+HALnW+(6T$? zANBsZ?(^6SU;n(X-~PBW_sQYc`Ih1P-{1PaE^T$g&TO%n_r1)n%SMzw{#^J&psyh5 zK;dW4;CpA^?b!If{@RI3HNiz*MGsHD`7aw|^KJXt|19}2Xa9JqIA@jI`F>otC~f;C z@p&`8{JT;3WODIrr;MPT<_^mY>-y%~+lN=|TV?;jT;6xyp4pM@FQ>v2-2^2AQI-wP zOnNfQ8nzxw%BZts5_OH-TlMuIyZoO;I)_#oY*oLcv-|16^7E4v#rmd-w$&HEjST;A zZ;kE5^YfM@#_iqrV^{o^In|Hnsm!|MCFp?!XK*lHSD14^$w#VSZpS;j`u*RWm)jfu zU!%3?JH#aW`RfTmTy-d~5i*A4Lt@b=| zPN-hA_;IAA_pIX&i{m{mTD*TaBY2|i9J?L!W#&%jw`;8F{cGhtYmVyH+F4TGCO;#% zXTMF={pRYMk~U!)Kj%G@58Bbww@6;!dh7J6-Tt2xc_(Blobq0K=ewT$$rXL~Cz&w3 zGI6`P`-jhBh2QEgXG%VwBQsMxtKiwfzcWkX%|Z(KX=Mn+sCiUa{R8`_hD+$*NOXQ&U&Li>)gJ>?di4str^MpPl}`)Y%zYm zLic$;d-Y!%H+THjsu!*!aV zd{D2=L*IY5eOsBkXWs29UUBsoZy5KF37nlD1m_f6efcSxTWR+tD}LH*|H5(R!?eYUhh_V>@ajkvtCroGCv;W& z@$Bhu0}YmW=x`p^oYbX0`?^`l%Eui~`^tB!^9UrxUo_s3;Bz1-^x#a!*@@hm_wSe* zO+Kg;zanJu(U&gs-}Zk!5;*tvzR#bxZd?6ZP^o6=wS^(Ux5Z0&=QQux@YCRJ)n2dm zXtr}7yxKDkZ}~ba>80@9X*RdMI3COW7$#FW?R;E}a`aMXwP~xbtxG$9d6qtd@nx|? zRp%e|=ucsM*1b<{o%Ov_LhtkUzEKGcjlbC*GqqZL_k%08r?$wI1oO_nZdvmp<2^6i zIsdsLoEw!MI83%`-FkiLicR-a63UOwn<{j&qc839@~+1xO+#<4-ucsf^0LkEKXh*1 zcYNO3)3>{f*{atcocAcV_WJbV`B#=qt-EbI(`JRL^|#rxPu~@F-%^}=MNqiJ=kJqs zc}m~!>jxkHW-@_4)8z8ZTm$y%{0k?=rbl04vRe`uHL>Cw3@Xw(c(x)wLEJW-HU@+-57@@K(|>Ixc1B_FLEN zf0fKp&9$CB_3G+PM{;-AO}beXnGl|;~v znoak`D@~)y8N8W{9G{)k_I}fCRX#s(TMGB{n3B8teRGsd@=cdaUGwaQcqzZW+{*~9 zzB`&`f4y$jW=XPFl;jr)Wp@|XJ%4a>*TPwPvPx@oC%4M(woj7K+GTiY^Flw519vR; z|LTo(E}mh$;P3fGzdp9@ySK)BSMT8&d+lpH;$)TIhEIRHebK7^uC@z1PbTi!DeixB z*PiSI#?!06zIRHC6y!Z}LNj@0quPbQt|iH=vcH;+JbXMQKhKqANl=&H@k>#`MqBQ* zq*dQ%37pf&_B3#9QiuNhGr=N3A$@1krx`lBy$hKwryaalRgLv{;>;ZNJu&n4T-|SD zmr~vKT)mS|^~3u7^TFE^%hF!x$?@KQE;1?h*$2-P+K$mNWz1H$UdXOmF!>MT({;x; z?e^2!YVUhh+uJaNGc%86z82rr*(#o^^yO<7BzQGa+X?DeeuQ>eH)Kywk?dd{;{ozf8|BreY3CU z%xMd`VzIV$-V=}4$4@kV6v!@YYIDz)x%_-a-i19;mO}rSFYelNb7JS0h>Lccbi>{y zXofB8G;Mus!+14f_JK(*r)$rDoIJt$xT5%h$9v|6l%C1HcWSW}(%SdgB5^-m}EdFdB@-7SBnez~{c(1o&1Vc#Ni3*@@wr`zm_IR93lFg>dz!Exhf zM@8!yg$cJlU*Gd>?*EVzZx!}lUoiXPo3JVI#rKyUJ)^h!yU?Z0aZ7g#J6AY;6nOn< z-a^a8#(CvwcjigY%8i_EZn3d}Pd@3@+*Zl^=U<&Y60?e{|9SeId5!%?IMtj!Oqr|t z!|YUfev`$N>GLxM`L4Qs zD3t8^<2k|P)4qGm>mPniYCGh-ROZT*3%8#{uf4PGv~%5GQTL3cSJgaMs4eGfJyp50 zV2$$B&NbR$vzz5wj~j^mb-in~KJa*75^vQ%j_jOutkWHwIF>)$WA}MiqKxjt!wh%J z|M7mi5p#Lo+yMO_M!t*AaGqFrYCGrU6a3SykH}N9>A%o{F00R;j|rDqB1_b49N6e_Cr5dE?2P;NQoeZ7I~1j*qK} z<4hI2#Ik?uLygIARe$JwSQx>2FzYDCCX<5vb?<|h{I8p;b40qNTi3Z*$0A_2+2z7F zJGBJ=sX0u2wmwhu-mSJuz7#$A?iuR~AJlZl7QEgxq4KRVd+*Bgs*y%EZNjII-U>|> z->Uyg^GnY*+sh%ZjF#&z5tKGl+wxuF{mP$qdJES^U*as@@R@P<>&Zcx)1K6*{A~F) zYh%#aNPFi=rDrxee4Zs3#*h*HcVA|_zU6c2E&I1ll70Jwe@9J%M`UcjV4<&_`>j^H zriJqxLq!j|ZEZY!?ZrRyyEdGsP2FsE$DK=#k*~Fk@l4GxiNA5qimh5Q=cI?n)ZSaX z?mJ7CT;1fnG7Y zk5gtEOWl-NJSjOsWcSpdWwX+b2hBK9^=?gBO@aCYV%vu#^w6{ zlqJ6f6V9EO$y&1Uwnd-6Pgz{F#7qrY_mW-aoW~NAE^~+c-f6MxijTuq#+sN@ z6YY5wk7X|Vdu&IWdq)+2jMlm-!a{{#wKe^OR(-69d3Q-cwsz{pZ#^j{CqL{ix6@Ng zkXU}{hVgXqy~*LnW#86H_kLT=9VhOzy+|>~renX7Y2S6;)VcR|=D7Wz)OhW4*1sQ} z+2*%}w47!hj(lEvb)IOxFvs;xZw>2~g)Fl<_pB=-JLZ{pWaLKcwuN=cd-QMUe-M

@H(1W+W5lXc9K>ryyU-_d;Ivnr@XFNo#sHP2YO7%C@S~ z=XvYJ@7`|fvJ3-uI$YUT5n1qbYT-Ghk9#a)x9+T)d7UNxOxC{_S9G&h_+3x)j`DPS zf8yDBRbT#-hnG*=)Vye-aGT$y-RVg)H2C=2{nzFxWl4lqb_6|pA>jFG+1?y8?>C!R zSN2y%dlfv;ye^`Bf1O@%vY_Dn;~SnTPCr&rbZ|vMhUd$8t6O_Lx5T}boOM}TX!6R9 z?)#R{>rs6ybGE2ab#jW!WR~s=8QYC^GuS5x=N>HO&6CZlT4=n#!6S9n>*enpraI_G z-#W3zs_^UtZT7cO?AP`7X)U;8baT~o`z+JF4QU)+3#RTWNtI4I`o+%hh^pAX&3k1Q zzuEW2KK_O~n^ESAMK|ZlaTKjwedkw-l7hmK;B8ZK`SujX-WGYeaZ;&H$j$TT{~z%@ zkiO-)?95ZAo*i7woziQRyw=xz#;;zq@NcKH<0R^N%B+i>7_N zb?9QFm*kbOxo3jS`uf{MJXah$lG5+_7^PhJ<#>&6j|4H0r z2`8idKmBv7*uyS)sU=)KAJy)6K3(s;)T@B!GdBoF{W9a4%AYz#^xchci&Po;xpQKw zWu2}D?l+v25WrTrbiZJ7Uwm=1!Jk=s<3mrbYs#J=@HKK{Ma0{syMjg79!p${V=vzm zb93(5A0a1t4s5viHTvSZpof7_4ll*bEK z6`OWRbV<$4O-;`_>Yrp{=Fj71Uao(4C(nL~)x3gT5>HdB*o_5NPyZ%fc-=GXvd_+% zNa1H$4#BPMrJG!?ari2crr8#$Q~tg)pA}g%WrA2mkM*`|&SBT` zbCyk8x8{So^MMivsbW`YG1Zg(*I8EfNqwHuTDL^tNP1VvTu-rW7H@U*YYZRd|LA(y z{Bqs7#uMe``fMC#Qr84Ss`&WIcubtF_FH-!nR$_Cq12%bHxKaWUw4dnv2k{1%pTEq z8fSvnT%Ej1WP#x03DdRD)O?+H`1oHv?vIll(&IK?&c0BZ`h1Rc{jhT-*{!Xh&aN>So zD0FROm7?jioqL?tAKU%Z)Fv#h(}MealBi1RVn1ccq6Lw;o~vxsr)BmS%`x9t*5e*} zhw+(m?x8Oq4?oxYD5iMam_N_s_@8Mi8+HkA`7CtrJKx`>1Iq;-zT(%b@P)&Yj<7sU3+cTLybj8{a;OA{IqqS<~f!7 z^{plc^K*qXoq4uD+F^4>V`z5U}|*N9APlkBY!a z0lf7}MJ-3%wNoaB?2Am)_U>>qc-XSDG3Qf2E@z{Gm-pIj*7dsWD_!Q+Z#c{RSfc9L zxgSNE^^2Y;T>8Wyc415ZJ}%}*XO7HYCg2~iJbdxzm^s@E)VA`wF3C@tw4cNK*v{2S z^CvZ`K2Cd?9`M(51IN|&ob0|E+uKsuy?6fWFlnCoZxsX8nAyeYbfjug{kypdS&`r^`FM|H#`)vZc#d2wIzGAgZU4+oRvCntyU`CUtBUT(sNNvp8dA$=dG1R ziW^pa$w@Hyw5~(K&Tsmi{Y!jqxD~F@-S(v*HKX;~rsg2?oyYx@&KU+SJ=@m4(8{cB zQ^Au(E&jJzKTMl^rX#)n_fe^7P0uGx=VqI8IVRUmW9fuBqxWck>h} zs^})X2uo=dx;|~8s6=+(iF1#gE6Pom>n>J5@^Xh=)b3wD`-)b!zxwfG#|HN;t$hl*bBLo?TDukzkp zdwp@7_1%7sM`CU^G4E<-I#oZOvRa1KoO9Q%t@hW{5~`~Aq~2~izr^-{ztcO$WZpm5 z0-i=sIxv8AD(&V3fX_*Xx6Z1d(joyM-{y@2^mu#KG4lYOrRQ`bE9^xSbaJ3sl- zarvKOo&26J*dJT@U(uG#pP0RH)&+g{k~0rKFDgG$IyFC6$V)Q2Xnp%z)2@g6_VpS? zy?=9*IrsD4I)S_K3%}my4GL%t7A?PXO)$rKr+o2AsXdEUoLif@a{9dYvtP&_wtc<( z*Yrb039&-2_jP}ai}>RiIfuV4VQoajS}!Ow8+Pqvy0P$Zngh)nbf#eznXV` zmCj~Kj>c_Q79Ligt7WH{`?2$yz~f>`^(DtXTTEQF{?+v3lN%$ivh8^E*5){};GCjjhn{)pX^jQ;$@v(0R4RtoKP@V29cwtCHBO#_hU` zuV#1zy_?MK{bKeVUq(mQ;%OaQc&;bx?UVSkVP*EhZyOfwvD_Ks$@#1*^!C+Ep3IJ; z0ryQ(z1!Zp{HQwnZbL7-n`_{jcaF^ou7P3e<7z(~WWT)myxs4E?D9`4op@quDjq97 zoxQuAU-IxOy_}rxz@OJXA2YoxwcPsZjAvc*9$h@F``rAWrt#G|ar0gV)qD%xx%W!e zseOkO&zid`xF+lp^oXAQ(ye0GOaGnAzkOSFOzd%6;+3r&!nG};->W{lDXMWNNptKv zy+HcgM#~dioo{n8d!O6PcsHr0^RoZPo9(P$Cau!^EzoZA8njsKrJF)-?lS3znM>`j z&f6u}Ex_!H;>SrJGU%XN4ZkDzTq%VU60O7}+I9Yj!n= zPg|_eDS2{!^7G;c@5&$FUv6*1R4ppMJIHNj;G_8qPI&oG5b2yD>V4r#%GM{5c?L(! zO74moWi9T$bXKP6TLZDUx@Bz;u4L%S|gLN_tmuK ztNINL|9xy`mAOqeo}vCq;6R#?`y>~E?|L_;s7`BLY^79s+0E#1h)?6(#fCFaOKQ&8 zq?X>Sqc+*B*E*6#Cj9l?Lwq8K51J+RCC)VJ)X$iy^Rc4l_{N-WrTI^|#QN?~2)u&zFZ!@e$)QT^*z+ zeNazh*Mg@rSWP;+XHG7)Uf}k^p!Rsm9(SCAmQH5KU)0DO*HTUDYmW2M&k(Vr?m`Q&p-XP#gb#A4eu@C*3$;7ym=)%y!58$@cnx6PE)O>=%qh&Cg8wn zUdG)_#S^-?=45P()O_8R7`4es%YdELa`M59$$?toC3nyGWgW>m#FwEoC+ph{7enED z#_PSm3bBYr|KDjA`ZQbinSIYC_f_we%-M_^GdH^(KV>G<8;rjv}PZq`+Ie|x<1bx4b|V4OqNt%VaGef%ADTkdl1jh+uHSIt@@w0gnq zcWyZ*i<4?*igc^R%uBnuVBPG^$2RVdyUYKgu0=O{{obeVzRbSGyx`*0!KW_qpkWPQVWhcLlYsj}Cmwk4)Kl6bnw)5UjnU5&xI?E67YD^^K; z-g!82-Rwm!yVla}^QEk2{&^Nn(_x$eJf~|QA_sys}dGNP*==(=A zmz{@AYU#_f$b8XnIV8e(I%ii%Yh=p}YbjabUovS=I%b5XPti4x3)Q==@lq^|bM_fk zx75(1`|NjR2b_#@OPo9NKBM5`m_ir9y#hTdV#2j6A1G8xmOZc7ygcH(h_vatXL0At zBYGcfh)kHlb&To3nwIDNXO-t%x3p4UAJaT9a7C|3^0bBa2YMbRI4C>_R4lu>VRO&} z)kBXaUwEfFgG1wG&J0549y{8juE8aFqK1hGj zmKbttgY4o*D^AR^`Z?*XN78Jc#Cc)~ZXKJLv|DEO{0liDwNU2h&2n39)re)Fq4})S z7qbgjm4CKsPwW43Pe5q#udE>R$;*P1+)wVkqi1%BYqI7HuZ~RNe+@dK3*}Os*LN&R zc`bT+n(5l83llD_nzF!h(xQ_}Ci~Y+_cG~zw9(KkCp2KH$c=`oiDy$oLqw;|>tib1 zuM!X+(K{(rL-fsoqKj>u9uFpN%aNX`6n6E+IQCFYtGrnS0R6F^yxPwyA--{IUf(yA4?l zwKptP6*NA1+V0Qv$QHxX=i{!~7M+SnTd?x|ggq8&=CQiGwT@Z$x`cCXR3-ji^zPwN zWm)gs*V1o)%`y7MDs(L8rR+U6R}<~a3!kQamY1#V4tDte{h;4t+hvP4*tYDJQ+O0* z^~d($Jte942ESQ$|BYL`X;n;R{`nh0cLN?Sy!>+h%2LnrrzdLCBssEw-R=5gEK#d_ zR5iIt(d2&Y#e74fMFBsb>lG)Syfbz68Ld7MPj)|t$}W+8HxkdK%6R!(9r{!gCVYe; zKmI}gSC8Wdj-7bZ6mxi6P3TOU*}C_2&He_-#Wl3DZ~Nx#yz8jZ{!69??Y?Vr{%>AU zcV~L{SF{qX&ZY@4>*DnIBcc(W*c-_Ft>0&eWPQ_FN(qYaIVmf!fI zo%(&HfkjSz`7!7O!e)hPGl9gl`<1L0EbhIxkjv_%e89UZo!zgO1pU4ovUgKT{FR-* zd1m|)^YeSTOWt$#@98~B)90V_?Q>rk)s(=%-cr8iz`X|@$6`y1o*!tDCnJ*R$a=hiRYYo73vUGc_TX+MYFuxSq(1fuV(e73PE zHSYI=YVMt~DaV#~Y=|yPIes!IxVSpM{YLJzC7g#ISH68cN!L1Pb;9fo%VcFwci+zV z*|2Amm(ivpR_@B-XAGW;rQdmXW`}LMoNu)K-I&%0g zx&G4KGn5HC-&~pI3txU;Ob#n*-^`-b!{m zJ{MHz>uFhXqucrO7O!bDyoHxPQ+@t!@(peK4X=u}YMZrAJ5>3uNO8r-oo#Qty|`}v zJ~JtKe$b8#iwF)M{Tj)g`LW`ALNzPGH(LEV&(_hrqa$N_cO8$}x!21@R~a&8>7BHy zH@J7^&-4PmCZRi%gllG8T{wviv^NGc$NpwIhlSWKb|0}LE5g*Kr*3|}V#e1r0kLk? z`m3Dv*J3V&Z?w~WF?G*B-KL-w!QK_polhx@{?S{;?*Kh88?y`&T+KhXfHmt5VlTjSu^*-*{ zPV=zWm28DwGk?x4$=heC&9h?L7vfaeLPtFQ_X6kF-bB6?9JBEN;Ai zK|r*>+`{Ig+wab1d2Araek9Xg+@=-x1U;_u^cBDnm%+=+bKqS8}x z{p8+hb^3RDe_ws{Ao%3dgX=0cL z*h#ZKFaKycqxWE(>m|p^qdw>2nfvcD=5(#%@>lg=J59KrU0zX*_c1ds^Q8~>l7B=_ zVQ!w=Ker7O#UQ+=N#MhB^~{Ll0k1h^FE7i|d%jcsMp8<5)%VhdnLTU6+g)^Kq>2{` zJo{Xb6>!>7A#Ue$l|yRMO|!N3D+F70Kl`P5vrF;H#WO2KQ?v6vWGv3_eWa5(ZRuVs z?J2&6qCPTaN^yCnQ|F3Y{(a$X(j1ZI+cW;U>sbFTa1~kc>1*Q4cG2e^?tf-K$a7f{ z$-ZIdREeX_(gMc6-FaVil%*t_Yb{uOti)jklZ3(7gAMbq?!EAJSLMwx*5vm$j<)PQ zZex1J^ovr1_S*BU*9A}CP5ougc$>j7=;c2lkB)fhMfMjS@+bY@IbDDE_YHeh;?0|a zW6oaZ;>%sCzFBK*^ z7Op9Mra60uwsudM_U6;Z{Rs-;uB(MU71g`TRi+x=v-Ch{cnn|)K)NmNp{d*m|R{FvPBI>UmrV~>{i!y0ev z1y~+DcbKnsS}3~lpx))Tk{g&L_lgw*(mfz7$ULm72=kM&4y=^bnPdpW$UuLvy-uBPCLSL13 zEmQfkT)dz2>DO-(qM-&?{5ZneS&mKE|GVcy_`(u_Pn(X#&DGwsEy4D2LaJfVpq*n|a&NBz?`}Z?C3UwDs@p(aa@cCYP|dTe)~y_J3Xn)^2bBVQIzm{2W{ zzy5F4QK_@%?%q0@W~LBUeu8P*^VJ$MYg9PDbh%D9ma4f@#p%4sHAG%#vy)7?H`An$ zBWcrSbRA5ZqJ7oXEy6&lyKlMxci+ZOhv#NUEMel^b|A9F_7q$7#t$(eH+*`mt}L1p zK3~FAC+^^*)Vs2^dZ9XjiGF@QiboDT3o^8I-`EveH5uHS{m|vyAgT0X@7JP&jem77 zxF&RoRN0rWn%F2ep|tL!w#=l8_pC;f)xONSdq}zI=;RHiuit5Pyo~tx=1#gqOwI)J zl8d~RU-ufk@hXv(7A@U1MJddCkGqzT^O05O+qIpww@i~YIo;;lxxhnq2J^Szh5743 zcJ`*QYiHHFS#DU8vcxbdTDE7#C4b+CzFr?^Z?g(J^EKUQt?Ns}-T9p%H+53o_Vfu) zx-e}{&a|bm>Y-15Z8-7i0`h8QZcLn~CrxW~W!ovRl1pNj=uK@Q=j4o5)|)Ter2aw1H>W8~?e}N8avM6LDtv6x&A%NM zRZesIUO!BJU9^Y$=_0$7=;9;$OdYne99bi&dOlI3^2eRU4Dv3|yajlAWcplnpT_lz zP2c_E9m~t-CU5N}X7WZJcPukFu;)U|x?N6j0h|BGwJI@*@|@i@S+(X4>l;=HfudY% zfx-nxKd@eJ+UTX-tvQ`z#WnG1nHl_!f}5oUm4#X(yF9OCm56>gJkMo5d)L|(#s8K^ zOc0)S;>wX#s=n_bo%kS@I7f~nR&!T9iF@Ci7}WLCXJOsx{sX%fD&#$?H8ptQ8Tm%x zLg5BpU$+T5bFyUuI{#mSjwJQ4x6eyHcj$uj%rnVi5;qU^s63yewyTfV#9jZ0;9ic4 zA3g}nxASuzUte!;?p!2if9poM$>L7Q_4ibtuYL1As_Qt9c|3#kLOq$fH&U|Z33=yc zdS=d#%m4rU*QV=iL~7A2ERZ< zJCpdb2ZxnJHo7SrSPFJL_J9p~L53Y`>?f2t37!$PJ-WC(`kepqH)<_fy@(aC6O=am zS9l=RA{^0@GvT{vk>_joXt{4~@8cDPmM4LB=Ywh~2sUXspnXC~WvgtQRFhio6mTwq z8T5h6@xa~Qr=m*PT4~Tx1o*l_A*PkC9&5a#Zl2Sx{yJ%{>g0RtZ$w_Q;hX>4scWU9 z*tFPfdYQ)SvbRqE$-N@(Qjkv0w&`1Mh?{Oa+o=>D({X>+GIXt9(B{euyF9ns*r@+rRC4Go+xftv6aQ|csd?Xuc=5#Gj`-3$ zGh`gs)E<2J#NdlXt>nwZEWtE3v6s(0t3}!WF8j9dyZ@GZmI1$By}z+rwYbjK?t7z% zU2?JYhK2rL=a*JK>Z}Y^^oaQOXZvh+v8i60=WP6WFU3gl^nY+bj{`Ee4 zV`ak}ky1?-{S5;9YM&bwKQ}U}a$m8XFV6hiY{?zw&d(-Yx|O%h`01Ix#_Fe4GG=ZC z^N$vtd#Q0>=GKxahMy)~YtdAms`7G5r>pR}Z0VT$n|{x`rRR0+>D}7wIgR``YUdZ7 zuo2r?QyhMO`GV3ii>N7H&Hld^lpK2N)*PdB>)-V>Gd*kh;z<(k)&`~7cD!1tasKlT z#p>?E0>YDzT=4%XboKCrn5(zLFWDSgbz$OcA?qc1`Ek&`xIt!jz=gY)uS|-(`#LD( z=83>L?w20@) z+trID{60_Gv%UK1L+7@?xkj~o@t0;9q>4;dnQOE$!0F4%`C6xTB0ZJhqxg58FaVc)l#6&r0j{@73I z@ZPvng?;KZ_g>5RNjb;2OkW|V#yBTO@RoS#JG;d_%2ovuQP=-II-%+GIm|igI(#=rEyzZHt#%syV+wdA%154(K!;r1t24KLM|-mJ?m|34}4qJWjT zWsmvyN1D;o%XxJYD!2ZNJ)xt0>+~*nKgrWPCXIbTDze%yE{Ln}$uF-d)>cxO8dPGn zVRm@|udey+d4eazzR4Vw%m|RXs?}yO&*HO4tH@O4&ofhfCQP)xy6pI=D;b@h2MZ(I zrXM&hTJYrmrympEO3s_FVm0MK$FsMUU488-ZSNjk{80X9*fCc%T|>>zIw-^lSNa=pl2I{$@;Lql-XaSr<+?FO_bBV<-YCc7s;PTw&-~t7B1>H zmZ-nx_C8>-l*B)~K4<6GHqSFFh=@ zEH`aMdQay1)oqjWjfJB+Be-9FJ9P0^=-cZ}+ooTyTvlq>tF**2jD2!e%pR+UmY$bd zGA8qSeJ!ZTZa=;}?!Ik}O19Fb{pLr#C)b*LE}j7ER958&6qa>P-n!|0R`cgQcjrBQ zc(f{y-CFJNl@|w^lAbp^l^HzVq9*zgX;s?pOK-wz_M3f=jXLvYQXv+dy4oUcS8-A3FQ&-E8pqcjVrg32*!>Z0sL@_8&}-_~q@*pPEO;`NfZsm5Q@ zZs=`z&e8e!%%Mjs+6>P0tl&$YI&0R^MT=_l%{qK4H7)o;eU!3O<*Dr5WFhMu+x_{>b;nH`IB%a0|39%+GLFB}^XDERfybwt^3AtR z|IpfbzBy}R#M(Y(FXr#he%ZPHdLKU1eZm64Y{^;4U-czl-|~^(!g2A$lH6xI_WH=k zGuZm(rY&ka{^?Qa)!@#6+p`yZ-m~u0+Crz^)mhO6hp%6LaJKt@@8dJYC!U|XuIASj z9(Lch=1Ii&?Q73PUwsrfsg`w*1!wr#h?V=UoS%?#H^{y(%}RNV!}ZkF_s!qFR()R6 z{B3*Krp2=V8K?8}Xs&*3sI>0nbC2B@j=QO{g@v+|xyf#2UHtpLfhGTGQ@1To*F2v7 zIrc}kKC|%CH%E0`3cfdOoPKaxPfN(n6?Y4!c)LH^Vm@(QbL`UXI&ZY(jBmws$Nu*_ zb~7*Rb!CD7v{`;Hbz}{%?b+nAUFadRkDI=vzoqw#pR46z>&eohXUlpgD!tyh`PRc- z-UrfMj#(D{^?uuTIOXXy!)cRZegAs9?Yik$e`e3KLbn8-P(J4hmYs`pw;fxW5b0|9 zxFdze`!w@pXOHw|<*Ry$u&{I;ZK_r6G02^5V;T zDiZCT7JdQXWo0M6ruQyRoaFRz%Be_`&E6R-q19n~e17sTc6+4adC;Xdrtod=o-gul z4_uyaRh2UKb3e}6vv|GHt$7oB)Fk64%bYT zzU0nVHUe7W9k;~uT?s9>pXRW6wuKi&I((zAKfW!PQUC2pI%skh>1%jU<reb}Y=xoIn=N;wQqA`+%_)A+ z`})?hj()MX*O_bW_hsKwePn#;?>C>+)XNVHT{pSC{MqITS|m1W4L^6hVazKP#&nr9 z3D>P(-p248Zty&2cI@@u;|$*#w9D2N7QFveR=KlAGWKJWJ!rYuoXZcVbU%1}`DWOZ zb*4vnR~2qpThn}9tVhiyCEfB|YW*B$nN7WScZdsfnKR~ZykpF=t-3X$Yi{MKV;stQ zl@T&FR`++!y_Ho~kjH4=yTEJRfpU)}KFu<*dRg^9EDZUCm#$cvUS9b2?CNIUsoOR^ zdNt!_(&@ujZcbaE8>nS7cTUV5kdHsGnlszq+);TUo_&g|e2J1r#PjL-!VW_Jv%X$&Rl20M zV~JAGlH6tSdJpeqZOTn+YC9g~@yLMRdrzI~?YQl47Da`-FIHO0v+1MM^U$6N_dd*e z;4RxV`9j_qS2w-$Z?@l?`f6dfUqro9z{ej)N}E|~&9z0YYjp^4$f<;eu0DRdvhmag z3#;4b&Ylvn=bRolPhvxG#$~p|=SEwYl8y7W-~F+pJVUrNnoWPM-+u8;-!;$v3B6T1 z>8_2pX8g6B6_pm-kGN|+;o10Us@m66OoiufJawLQj;}BH+PukS`!Ak4%fzp{c>T%p zoV9Z=h@W`+_tdZ6vsW%n75(=`%Dq|D`>g2OX*OE+d8|zd2U=T|dHo|_xNlIf3tsZt zXVZqGFB9fT%t(s+^Xk5Y-ML9-&mCg_K1tATn`0*RO-Ac&hOC{Dee&9es*Dp|<|MCZ zGsrPC2tHFPAeL^S8=`ryD^|t8f8x}>`wr|uA7nlih2C^{^6Kcr=GMa#gZvhJo+h^Z z`hwS|&RMRV7Bitt1+q>|$6dVO7#s7w-8W*l>clKOv~%}nbLK3w~J7K$i{U7KcAm?Wd-#klWKcue)xw};mK^!r>Wa&G6waPb=g z_axsI=I+$bk*mD&sAR?ORK+(&Q(~DcFA4q<{&Le-bNaPy995Px@}!qD=YJK+(!0id zH0Yz1{yT?%6L(FHxZj$dE4_S|v4hbQhs(K)N*14^*mrHTvQXu@xx>?E@s9~C^9=O_ z);5QkZ;g^Xe^1p+{rbBVOA358pK9V>xo7{LYpqcX`$gAY&fC!S*t7ZW#4YnLO`K^| zX}7@6*!5-i<#ternp2 zIoooj+2r-{mumB7wpBf3iPbf6za1A==JVVMlKSREG;K7Se4RyKd(S8@98j zyokOtTlZeO*Q)lq*%u^M)!6#J+5Ps7PRQSDpWb+#eyn$EVbjOF)%Uk`%DYGLpC*s>|A#5_&Sp!3$cAus%@>>g5L;q z>Ab$U?kv;Y2e;P;Nlwdl-RJ(&X7ePMop(bJ(O%KiABL=jukoDXq%lOOI=%G+x<0F~v>6PH%tA z;UEQ*V~YCIi~YJU$Nbe;yd~+-m**ck^HmRD-l&%;8Idx9TQQTdd8d;0lpWi6)*gr` zb}2h%v3nIyMZbz#tGv{o1Rb6Ymk&fV^*oZ#-E>0m|9J&gX7fYaHvRgo7FW&8^iO~9 zV*9XVdL4qfD}~z^m>(_gTdvD^bBBmy#i#XKicG3Yg71F~xMj3OoO|1w?hR%di*!$F zE?#)(u~_7z4f|tx1b=ObH?-ut>0;|`R`qa7>ghYe=-+yCoDiM>)sv_yNNug8^LGuqUj*lk>pQ)0R-u*Sn__1D!AvMR5p=FCwk(haG! z?eTi`q4HzY@#(HkyBoJ2yPm9fTBGX4zFwnOQQsalZu=Rxx^>xt3%}m4P*_#4>eBIN zCe}^48sC3+?^Uwd-0q?4ktKY`BXf4=zpD4!W_n7UE4?4XZ(ZfI=k3$2dX9@@wsKr| zWI2*GM_l#J;ZI+$^cp{u-!i}Cd27cpsY~yYL(Auet!lT+vso4VZnyFMvtR3Ft&+9> zPAe(Bxc%tjr_R^c$M3KC`6)wTUW$?b7x9&a@1=MO&SfsEWvi4^bIQIiWxGW#QjJ@5 z(`u(}VZHWtOB#KirFop2+2DCy_~lR8wWrfX`X%%BF-(gwy>GSi!xX`$nG^W08rurL zWN^OruSzEAnq}#uC-3p#P{-7AR>g&9$qC{_-vl*)-zZcy*^>1Bj*N-!2EsZtb z9=0<&dEnZ_y>ip_?e-Yf{4nCp>^{#T|NLn2^Pqxh31aQe<{{!Wjn8Lod$Z7|#^{Fp zg8G*M?;k}K_WRcxnVP$4dUmn!On&uy50B=Ig=UIwlFVO(uYF%~$I>X6x8viTj=rm% zmphg?W(P0Vc@@xisx9_H=c@~)SJz5x*tt%Mw^QxIJg2P+xyH^>--9xYrLTOLwa)C$ zH?t*yoUeo~iT!_j@p7yg?Y{=GJ}PL{Nn6Fz$DgjN%L<7>=$B_E9i zC)uXvzdObkapU&UNe|Uj);_PaTYGZS&E$_~q2pKUzZdQ~Zd5f>$m?U}OtCvGIp=fR z?Kfo`e=O^trLgJuuccwd(hn=^dpGBwR>~DVc73(T{Er`R2ImLQIqts6v1W#Ahvdy| zxe{)+-4lwf`{#d7xtDdCz3RDXqBZBP)61m4ZM5V#w)E>_U4H+(hJ2$(``$cW_G8bR zZiB#vwIBG@_N|cq5wv<|sbnqdo*Ua!CvM|>ygH)m{Er`RR&Lik_gHx+`^TAX-4jl3 zP}SeDx#`&Sbp5@h-*?~iuG}lL+4Ezi<+NKSAOB2Rwezyd~y-f_)5fk2Gtxp zp6rHne@w}it-mht7D&*!SYTy$4vNiz{&Gx1J($x>70?H*rNzG9P{ z7$Iz@q0P3d^G^MKpWYMKYK7H&lwmG`(QkZNCb{=&icSez`l;RVlg_u5nX<&-J-wa;pAbsbss!zQ1UT4vgroTnI6-6^w_z3 z2Q_^{1YA6)v263*nj5C2WKZRoBT(--IN#oi+NlYHeJ|gjClrk8e*cI=XDp zs#86?>UTD}1emxg=ovevIkLPD{qSYd|I`JMP0QM}e?OU-W^hYSZR?h{IJF|%yDMC0 zf3rTW^Lm=l^~0Ix%KrFFelRPoE$99`vT@kO?=7=-bF0yy%4ZoaF68w z@2=+DYXtjyrOZXGavUZ0aMeal|7Pv{Gez@v&i4m+DOa>btKb`0je5gyMez#-WA5cW3p5j+H&mZFvSWSf zi+w9ZxRHRiVj&b!yc|;U0MzbC4F(0oV^iA&-->y_gm_-?b(k4pS^2t&oZgp{TLKX z+jFzBKK=Yuw~cQT@0ql;p6^e~_8aEwPez~H_9zlKmm?kV_5aOkagEcfUd2?b{d@0u z;QLj2CW|f!u(Txp`seolT9?#@rJZJi(jvLa9+Pgn1vFV%RmpyzWqm?*uD8k(Prdy- zF7IDx&w97eUN%=`=g-3qAKiS9A6Z~{>Bs_)((v-oxmN4{-urKU-7bCpU#rmN_c_x0 z-&tj^-+L{lxGsC$)@SoxZd zqXE02W!j2O@1tg1}@_%>Lm=ea(B`JIlTY zJ)L>-Sn7`(8v63jCa!GX{;W-uV|L%+>O`3>%l>)g-kv9Fz*GA*pEWhMDjY(PgW(jMQ3JUgkc$?djImX10li-)1P!?wAm`R@3OsOPvJA zfbGno4`)XKcX}rP{6Mt=eK2N)+rJGkjc;fTet0ilVcXnq+a_@83J1EXy`)Wp# z=ZfIwH7sij_k@HP+?UejbnCIa1fd3);>dYIn zC*FN?^KC$LQ0t=q0&81V@46_ubGmf#j%~i)N+9)Tew%j467Xl*<_vRh6b3 zUv);3Wn-;mtipt{wcC!1TwZXqrlqz(oxNgB))JnMEm6|~4;|kWc-Tq0!C`v)j0GGl zez%JbDz1vWdeERlnSIs#c}^^`XMV8fNvEF9*nFj#K|;Y(&!ed;=vahe%!IiarRzdj zT)OxgYzi)3I=w7r$^4M!i0uwK-c6|oJWse}G`QU6I}pFT{`1{1rU~=3lB+m`Z+c7< z;?;6Abkf-Kb%sRpq$DP1UTq1NsYi1XPPVlC^Ss!i*BZd+zGuscD~l$rmfa=5Q{T?P zBWPjB!o)wVwP_iLQAWn3%aL~M-WQKrq-jXzuNRX98Y3TH`KrBV-%V$p+JH#@r}G2*BkLN>(<9!#nR+VRC0v^2beO=2 zOC6l&(>gw$Z=G3ke$m&PRjK~jU)Cph{yaUgP~6C!dlut*uF0p0GQP2%?$i0Cwn;Fy z$#T!51?4TKY{e78c~V2BSKZvrb30c&-d6V|*QSIGt}pMZ&yBB{$I9${x-n2AF)%8z zN?I)a#A-Fc&Qq>>{P#;2-jmcZ2zaqhZ!t%&n)6XOX&P^8C(3}_P@~^V);2Msdix^@}xVJQO@ZHZ$wow*# zo$jjg(lb$|r?u?#rxVLs5?#vreGk`iec*#&exn$L1_=o;B$L*Gs49 zmg7SC1$S4QcgCD4m}k|}bZI)gWI3ISk$U5jNOguM{UFX2zkjA<0fn_>H zE>bge0&-?>>t?-Nm6?>Q^1e$(b;}1n zQf(wAY!Il``K!X0IN{-2UlYG6?3?FY@tT?_<{YEax{OgPK~pfy zxy^Xt`GGm&ub1<;GrTFDBBiNYGOcLg^G*&<{3S|}>uVKuW> zLPSTw=b2ikXTu7io7bmk2dQ|P^2k2Z*4*=gC3eAs)(mR}u^oOXJ;ze{n4MYLIOd43 zTwt8yWo1=nQmb>g?XX5vd5c)2-eb<5ZE^A!v{j7~f;T1HNjWYh z$8Ws6=+n-X*8BImpMFkUqIsy)nw5WdYrkJqH~W3|i}#0C?KivcJa^NKpO2K;cG`+K zbKZJ!hFLo$HCWJXip`-zsk5iCdaipCw@PFE)GON$ZFM*-|DBPkcaP9CKdny^izKc5 z_iOC_AiHP}gPH0sOUcCoKCiMQuFW~nynd0kyqk#4fmT2MdyY%uHNE7U1*c0NlzV#C z*FQ1kc~`HjTF@zerJ%*f#q}I^u5u1C5LSJdtd_XwmB9qX+#6-iH*8ctF0(y#Gbn|F zJ8b^*`V2ww&P{@1|!G+J$YZsTV#qdGOrRlbY1Bv3tSv-V50W zFRv(^@x#a1H}ObvVnVmu(L1fJQoj0?N|V-nT~k+N_^qfQR4-FwA^+jMEi(hIEchsX zY|f#BvzDLa`gf?QwcB8(#Ihd$x{c>r{TTPneJ5MFMI^7O5c`}i3@p_tAw#F;$FbvV|+lq z)4-+qrF-BD2~E+cUIUJUV&PV&7O=-ff4HF7ex%@Z_bxT&m}{Aw>bo2l+F#*rIy~ut z07r*S?Ai$r%9-U2ZU)G?xU)(wQ_=a~w@fsR{oqwr7pB6KX`Ra?6Jnly4OWjUoY*dU zY{i-hHw1s!?sVxoH=jr0qlmc%UShyr~9OzV1&~dP@d-*ELfO$gf(v8cD zPglHN@~&-HtK+i+8s@#c1?)iv`|`3w_J#3X|D5HVYZGzU$obdkPya|*vTlkgdxA(S=c`=8U z7;ki}4L94}vCRHT{6Xe~?`(yy&KXKyE8M2_X~%+#ve&vVOSip=tcxv~(pmI4sK_jF z`{s8`1r!7N)lcu5^oa56r@-y^YVR+%^fsL6dUH|xk((c0S+T~hmb~q>L04qzgy3D? z?>2nvGw#W1ohaDRcs1+WgEtTKj(T$m?K=>s)naj0`qae$9krm7m8w48AxR&t4xQ+p znY?55CeKfcLS}A>jHr8ZfAYgfZj-*YW^;`>x8>B;W2I7L7oKq7E7Qm`Hx^}VmV8u_ zR8#f*pj%5?f87_BYwd5gT*xw9eIxYZfjskxdnPaV%>B_?Kip~lV*^_;NoNW1yN^y( zYd)K@_)M+$`wMMP)eVc>3;Pd?N*r3+7n_`NXqkh`yrg|Dauem(nfxj1em5y)@2)oW zz(j)@;a|;t92EzyEk38{cXMLEp)Z~J2Uk8@6y90Z!QJ~}WxSU4jHqCTDNGEH^LVyb z{+(iIoo(%Rd$HA|#2M>%CTj3<6g|~@6DCqPWs`Oqzf(rb(=SziUQ!d3T+577J7>*Q zI9Rj$s*if#qjpGLdy>QD^gn~&7dIu`OURID_$Sr7*IV(Tpz5xscbE6=KjK)H&bjDc z=%3_|33Jc-*T#ME^Y`EI@4R?$bdrilZJ7x>lV6doMJk6=oZdw#L;h(C-(JtHpL0j1 zcC$Nk?eYKZC5{c{kv(o%kw=3TzX+9A)0`+4zW~!WbjJJb`iGyaJ00^OxN-A6Z+V-i z1)md7&gy*{CA9N@)v8%1cOBC`yY8EU;5NSg-FkgQ!maLm&KtJqXbHb& z2;E_0==rLmK#i&XgManR>l!=1OOy#Fh<{I6Pv;PxdlC6Cx zdzMS#zb1$E>o#f#Tt4s7qNF3;rc>5vBoJuV>tAh?iNmkXbxWDLLhbno^(X4AIHgG>XoA%6=fX z?&CDyw~A{$W^58$+EKT8x9>c)1s|B48~D~MGC8yOX))#Pep#?rW@bZ0yUTvPsKh#x z$gMYWlH*N3I`FUDyIf3AEiX*bVg2+O!3!GuA39j-Ts?Sz<@Kh_?w#Uq)*VO^^%R=C zw9-h?tv;&l#78rI&UR)#hZtRJ0q5m6#j*tq?<6a2@bu?(?Qlw*NfWu3Y*c>#|$&#TvUA~hBwwk{F3j~nKqwc#|)7TLUGmy zJT6_1lUbwUC@`6gZw=Gpl&lkd24A*$O9ZcHTH?p!y8PhFiQ*qOYx_r>UK+$3Wn+mrX@-kKDHCo*cX*P@dBPNpcj zUC$6uUQij4?`jvqmzEHD*x-z3*VeFzl$Td;Pnl%Hvs0^UM*Y6OOG{S-+06C3#H}y& zMoIql{n{NDZtEIOz5X#^h3mu{=9w9dPa`hMXyz>r75<=_>{{dPBIK|jfza_?2I~M;d{-tv0a)Zda>Nq`?>Iy z$-I_=b6+Gb@>}^^$4{PhlC9ZPhyR6Z7`)P0W_j?tOdspr_!fVsU zT70UI>4#r{&n*F^eyN>*9=X&qE2;82oZPZHU3~IIX2E_hU7z{-;`(O|uKxPivs_aw zvLku*$EmzGHVW*IU)RA{WN>hfh^*xun+P|{pjT@Tzv4do`JbbS_>4B$eY{tKqGCB# zyl7Py?)S7@HG4^xZMnlz-cUu;O?Hn&l_rVXPwiQ7R{i9$1l29QywbCLDvc+UUtV^i zOxgcs{yfP>fisfrSR_hWrfO2JiL@_UB)|TX=T>}`xP9PvR78qU(Hx@;;Egdpd|0PK+*GCTi&dyzuZyZdMI=uGFcy8)c>t3SxgM8_8{YUTTEzhAIJDr(iu`C<+mLZm(? zo&4uE?dfU#{WUo`K0CkN%HIF;Z2mkkvl-hrUfESqnG)}qdG_?v0KQebx#i}b(pdaY zaaS00z?S5nffeta+M@tU;EK>qXmZtsshemtGYxW{C3 zjh6oNpvB)dEnCkPe0kTV&Faa1U5}F={YbUn_i2K5qTV!Uq7ZSrR=;RXo-ZO&XTy?Z`+dVUQW;17{7DI;mdliXWV8! zKJjAaT&~0I20ab-_crrAR@v(i^zCc10egD>=9`N*>dEdGDTymxKO2D@o+isYezRuu((>)k<8`0_5UA#`>^@4RX6%~KkgU*&C+lG z+u*rC<8v0Kqhg9WlNN_RDpt4iyEOOLrkLvH5Zeb@)+bxV_LNus?7DR%Y-id2n4f)R zU#_op;94fn!<{Ss``gN;+%GpA{wRO?7kgn|%!%5gyRuV$&S{HFe=NWGhGX$d?yl%> zJI=e;9s0uGRhW1A$i?qF*ZC#?JY%PJH#hag4|Ct$&kt`*FL}A)*4kY^r!0P}kRLzY zdE;}|?|=1wH!-ZU_!zkF>BQyB*Tk<|ZvVl@via@h_U&s=RA?aN-d2y(5Pk_pF}JY@~Gar#9cmv`fo# zw@vl@{PHi`%9fS0eO^{f>pZFGcH()qLGR}Mo20E9A|C5xzuI_dV(;6J@&$hn&;2YP zd~|vKr&QK_odX83VskZTJd`|f{a%2%xYml)M&tNj`Cfkf&ac-6syLLb74^&M?UmbB zve^9Fk|QnA=4;Pi(3m&f_Kw-kA7;0&emr%_NdEbRLpxU_=Bb;mzPmnLZu1W7Nf%pW z+Lv%v?!5Hjfbg7)_Z(j-Srtz-p1iS{w@yH1<-;czUc9LB|F%=>T>J6r&gz#O_a(Hd zU%Qr0yvTB|Ms%O*^fl#6zb-2H^VawGxt9TXQs!RTyAMyyJ?j{7_DUvO*Nbf$zPsX2 zc{0wqzUPyL_{q3{c*(k=tu|K+4Egwh8c#|0Te#d%D8S~t=+Z-2>n zPDA78()m)|#S@GDWA`1>v-f>H(Y9GX=Gv@3vqGXw4qs#{{1crvO)n<0JbuT!eV;B> z?yK)^T>MBXo%LHv@!jWMWm7AoUn*-P|JR=LZ_1jjCfkK19j^YI9sNwO{+pWF=J4n4 zhncK;^yfcTebF-Y{fln#@;m)s&37&RnQ^p)F}zdbu+;XeOZk|JdaW08&UZ1N`{nJi zUB7+g)z!b7*|p7R$v=DT`rTX$)o1aUEzxR;e17&P((LoDoa1YHE0q%*KlSx|&8zl{ zHKv&_ur^zJg$%~U$68O?@uB+G(|6P?UdJJ+)x=Y5snzrBgf49};C$ zJ~_Xt=j3jwR5QJ^#@p(09!~BnDE#P9wEX{ty!a>mHoBi}C8oZe=o`G&JIw2Ui@)~I z#n%u0yuNNv;-*^1yw)-6Xbwo6$UHXXDUq0UCOOC&8?<;4px^8+ib<^hH zYj&Yo{bug}H$B%@T6A&h(+$%5f4y%svp=xpy8z$amI(K!zB#RoS<}}`@m~!q(34#7 zP1S05%OsY?7MGV9ZZ0nRx47W#mGt#5j0T7R~U;kF<_UDQB^GDo< zo^?B-8)}xZ&7PiKkk_)wJ$A}Q%DcA+I;+85lkanpEckYTuCE z-1l}y8>?&T_FMnkn09^rw6)w%JQp849Nzx2s{C}j_q(GKMi&p5KG({Vo5<#9x_;)| z>+4yRnwMx!QgU1rZ_xiafPZqt(~l>!n5zH1P-I(_5^eV{&bIS|fsM-pao$Fz?hCTt z&ng=fCLBM}sM6EG>^(JIO?tZF(ML}Y$M|gavUu)$(_eYT9_?EKCzgLp2=yxIXg$T} z@{Kp|<)I}8izk;zYSn*af`^)d2j7^sU+TLtcoBQlava!3FUfRu3=jD-Lk&J3BFLVfl3Z)!%glPfeTp^rxuh9PTd#sn5jF9#4MS zE_#(U&=NGcc9K8ip11SccQvbz$Ygkxo!aEM;sy7F>F>JM`MgxC=0AUBcUZ8P{<>r_ zy9=kgrDt*QG->T-UApwkh8159URtB;ItF2Df zX-!{+*vQS{;vaba^9cT6bzN|P?T|}W@v-#Rz1M7ixX9=@zcM_{|KSbZM^etIR9 z=%_E<_T!!CzTJBNCf)Y`zjDtfr~b9=$;nH~%3}XZPG$YfRKHg?dEcv*_uuv0^whd^ z-B9cFx3^7SVp`9xWWE%bmwULe(elW}^+&^^CK()xuLXQh-01<#-E$t_uoOTHtWfSubNh!vvuq%R5Z-f zzxA4&d-QNyUH6aB-`_aX)7k&ly!Bg4K|h});`)dFMeCVe9svzZ;tIh*}Hkc=T)WQ zqTCV6?1{x}Ti0xR*LYbf{CM7ifN-uB<5?4?cW-*O?(xd*ommy8TaSNuCAj0ullg(h zXBJGHZW~^tucXO(RPDkG)mLp()K~bfv@iNvuT;L{SBe40s@Br3JFBzvx1SL?SNLRA zqe$u!onw}P%|Cx>J+TZvyGD2d$otpSK+Uh-kq{}yQ09W zJLY$Vbo-*MYD=!w@#JU+_j}aDPvn2|;M14pVD8z{J(DUg^PgtEyt3ccZga)Qz?YXf zXK(G;XyJErXV9)4M)le;Rbm!B+s+;FpUikPs4u7Fihkzg{G}&jDta$89^w4)?(pOF zGptH#n`8NH=FY6$Q>ib;bn939$@W_n4)Hg2`*XB~%+xOOx=dNRn}2$|?ZzM5em!~j zuKCLPplV68FA%WHutT@m4j5WW1$EDR3plswQIC)FWIQfXMLgco63tH+t*~rZi?Boh!xKBoOLX?^I`n-)w^c3gqVqpZe$FttT32q%Q}|%%!?3D- z1zR6Z|ChPMqq;le>x+)%(x)C)oqK-y>%0@!-M_hXO_q`2nO`$kZOhWbfp%vbRtt9Qi)?zl^5a<{8Bf{y0dxPPdD?e> zFyU+yRys2C%m?ltB_($jGf#c}cE-ZV>$V@Q)-Moh&kC2_e9UeA*;})i18df)pHeL2 zVzrx_I@ih2Px7Ur-Ey8=A`cbMX<8JSJJ%FV;8AYlu$e9>aYQL3=eFA}W7g&`&$W%u zub2@wSuV4ko&BlPz2Mb$E&98UcO3sNs{e+2d&tj8Q*TL6RG!cq zkzW;U`cyvZjpFoNsZ#StmbpGpa{X`KJh03!?e?8ZhXeU9AHTV$_4{%4@TL$Q*Igyo zZwGRo&0w<*kr(DsFIp>Rqgm9+^k=r))Aw8ZcpqN1kbW{#Dlf3VwBN5MF_AIdsmsaj zT941Eb-&D~HlGZb_kGFkqwK%VImCWRtZ-J1=|BIF=bD3%$+c@Ad>7wa&+;SSo?(d~ z=dZ&LV1Akt$-=gYW3G4at<$siN%{D`K6S3qFR(G>-Z7!K|8IorB>a_H`bB?|(Ty;n zMca~Jop>!3l;Cf#d(m#nbZPhctzngH=}E;)&ng@{6*}qGfymuI%Z&z+xVl(B;mZ%>~PN;Gjh@0IGUYhJsVY-d2I_rBq66uVx(nVHjuF=K9lb zw}_!|YM;K|xi=v*G~3+{$iI(lFPs#op!xfk;f&_Z+aLDKxY1-&9P}mPP1}nDKOf($ z-@2^r^IiA!vd3q0f1P;!>h-*^AMgJ4?mvC{LpjVV^K3cRqzdLqZLVj&Z*gp2Z_cR) zdndcE-}2!n%bYKEUsG3pj0)WpiQG?p`dsn5=<9WYHSR9!H-GGpoZ-i{-B)kl*|O3e zG2PFFvp%1_P^f?5%X*W{xE&HO-({|R(EAOsr_ba~dsJ6SS_VeWF)cbZ@OB7`@%>N}v{#Wq*xzsY{(%rDQE}xgN z_ckvmef<0XI@NGHb(OOxME4Z_`Y=uO=2SI#o`bnlRQ0FVpT2S^RpsT2;7L38issB; zw|8NlUPwd#wIpHdAD8NbSFzuD@!;Kqy_ZjiUs2oEb}e?XM?*}M_M971(zZD--T39r zyU+2TQaqOZ{q)rL8SeG6?Ah#>`P)9}SvM!{+qc7d(nO`>ikTsC>v&u$Yi>9ipZ6D( zJ@;Ynq-I{f-46;61H? z<9746*2|rDX5P_Q`-abbn<=}aY4CDMjYZL#FSd9Eo^DB0o4&bt*T2)+lk;7l_UYI> z@U@Y7;P8ggH0I_`gQ9m=F6CcSD-##9>yc410L>2wG^T4Z{Vkt%rq|@1?EL*VxxOgv ze{ko>!?kB8&fjqJc1g{CWu3y^uT0Nnh0fEIzj;HZa@U=R_lGkMn?HJU^4YHQQ{QNP z-u5ad@6QG6*-w|>d~-Z?^Ro7=6Prp71%y4zpZ0pb=EL8mvS-X@ta}%-?}D)%*Ty5u z&n($p`|>jPL`n8(Hp;(lu~ig*Jet^Z`SkM&&AOr%%>Mes#}h<77(Z*oR`q@O=+5I{ zsXZOi&5q}Ntnc#lDc5$NLo##f1WFUZ9qXtSOd8i_tzEzSc7fN5^$WfPCl~5{`m*A5 z_>HH_Klbj>I&*O5UPhS-$-k?=8m+j z=-5@(alJ4(>@ewBKHu|l$!~Kl`1iy%v}x#QR{u!a`>)98ptSgpue^5Bsg;^VOP}BF zL+=m=FKD+6`CO_capsTW&PP$-)|-6VxkWZNeyLf+|DHt=abIeuFn-w(9PqNf&CfHb zcxF-ic37GJVU62@6H0eXZtY4>`nR}GWXI<1k@tC_lZ3nEkzc8 z7cAM5T9b78$26Zf2hsbipWN5ye!kniLFBf0%RRSG_ax2DZZs~trO>SJu5OZNWAwW) zw5<1M|EaarS~%Df^B;tM2QwiOq}^ zdSY?p*NHVEl~&75)%343*5q91d!_nFML)biuXe$;eJ=TX`zNt1W=eT>@a^&Mx{tl{ zIa~CizzG^O>yJ#nRVrNXvgT`TjbcxzAZ|_cEER zm^0-~&G(6&YXkZV{v@CMxPAK##$#PeJQg1;&OL70|Ki=zEQN!N>n+0zKX;gLtg3xw z(#y7WS)A_UwQDrOlhc-Wp0_ejfAu)O|9s>53oq+$+suo6`R_@ae;Wt1#w}4$xLg1K zZ||4T>ek(#oYu_x_WZ0ku;s*_2TPqN9$mR@ zxz6A8NncObJ(V;ma()f3!TE*IW155C}!kIVs zbxr3l-jvU`?#v#`IX~)3KPHveO&7~k)V{FqZb+{Gzm)WS**M$=&{YuO@N^2cM zN*><#dD&94>}`f=>c^zjzk=ERh?_t7>M6w%8W^$7@3V|Z;*7JReeOS(e0Via-NHXh z!WdGlC^DUwWLc8Ee($zP``rF7F)f^#To-IxVr&0PRryX>*V5i}#jC0-Egx_G>h@Z0 zV}J9s)#5P*0)nsKN_-CW|GO>y&+I!E+&e>FuUoZxw*>3wl0&(|?)yV*OKOWBHP}?Q zuB~Ir^SIG>XLr&AUgcP~2TvC4mHj?pxArD!qdz6WN!NA@U#Ztxzvn{oYsqN)AnV=;#D=-cPNc7INY(!-o*-A5^zzWJBei===T{!FdQ$aglM~P9 zucE0v+3edT`96QWs;T`qxW~U~K9g1P)el)gmUDJ7O`rG2SjfKFE$&;%#+AF5h>gZC9tRbXVDT zK5Sad%d5BktaDg@y*K^Ktm`sAqo$qvwBGt^ed}39ZG$+A8#8|VJ2SD@d$Y6w`}O9w zu7oG?A8q%){k+L<`K2S%|H!t-E<5u+Jx%vhY+`otwD}r^I@fPR-}>gB{cPT;KYA&J z;7;l6T&?A*x!LirJsEF0mtKusVdyLpu;KHu@Vh+Y=XK z?Ix?zRP%s+?{wZ8xXpVOlhR-Gv}CcY<>cg992)&423Nweew{B3FYEa~dA0s20S{f% zYgTu-`D||&F@NL(brogox;!FZK1y7jYI=8z+&0-?1&gyH#e`QKRQ3FKUVG{J(hnEK znm!!XUdz8G`ls))b?r;eUONBqmP#&*)Gcen^S8e3d$3X{`c|VU+noRV_dQklcJzwmf_k>@K+V(HeY5B*7eVd}?Zi<<^HJKK- z?#sS8Z=v(V4_c;GPfE3g?;qb7!0BTo$(7H{ACSpr@G@5KKp?L}ZQJ?_n{(ogzg#|b z;#I5I!P2%sDKUFc7T&1vpjwX2h{vI8&dVsL`C&OHJtwCr98$ld`(bbO_qg)Ar6&(P zFzm^bEj+sYq>0j+O_nolwb()n<$wK~BpTwa_4d(=7_Hk1o0;dDgq_}+QvAk9_0Mg! zpi`4VOdDOM`I+Z`693)W`z@pT)9qEe_)iPWtiOEb(6gnb-!pxt?`aMD+kLLWl0Uv{ zQ~l{($6Ve2ma{y5y5M-iB7yT|;WnKwattCZeLAKsQZ9OuEYxyhdRXF*OP{)mGIpE( zHRw(c*_izO!?mS1wSVzV^W1r(>-PJae6x0|LqFA?%xsQX>pgAt^@A4gEMEoPIbt5U z)8J_4Ce34VR?A#xO^{8lXP^J!71w>|=>E&srG9iA@ldvmk5>7=Y0Y%r3um5xiuR4x zpML3@zuqSG>4E=y9)?wYIA!Yn@14hoRnI*5<@ev+!Vvc7quY)22kxd`x3sM&T86zwfNj-K{UW zk2wnLSf_ousEFl?$=g2bcNHhSolv6TQi~yt%7G6iCrv? zou%>pOsh|pYq!f(t)6Jvv1X-7t;fzcg4;LWIZ$4^ z>;&^uEv0LdPp^ubzR8to`Q1Mrrv3ct%p0s{u;s0O`ykhsS$6r^9Z`A*j~>0z|ABwm z;$yowBOff4csKJBlg{Nxy* zyXtbwwl7QXAKs8Z=}7aIw(TG1ojw$=tGjoT-Pak5?%WDK=Q3?;)21*z?i-VBIa()w z&larov(sl$XnSp``6*z9BGdUymIur&mKxb@3s22RI;b=G`Qi5moOuk_J-;L&*e`dS z=?G^zcZ#6gc~O>9>i`w8$ep{?re6-WZhUS&S3$~-*H>@lr1w=RQkD0-4mi*6SrT)I-^=@bLQ{PHF>$KoC2cmkm>%kUsAQ5>@oW3@$pNJ$k$g?Z=KqWN7n~;5 zrCB^f_-jM>ku@7%SA1O&(ivW=dUDF9@}+z3GvD@j88MIlc(b_6xkZA(ffig}qhqa( zH+$;y-(0_Uw?zrVy@NlNSt#7yYfxMMadF+o3E59xw>;Os^R#+HQtI6a2HZX06c_Uy zc?#ZS;kiodXp^YhrVHB*6E$t#uUeLU!DE*}c=pb^6RLZPST4n1UDbcgY;MK8jYcY= z5BtI`-jz)%ulr><$4hnPGPwiX9d2_sSl)H$zE{8Dm?BHO<3nwqu7Kxi1-h3q&gZqy zTB&W~+WpOef9ERc*ooDa%;z`eT6xX$?#i1`fA;8<5{@~UPG$$DSo@xv#q~Y+HkTsZTgG3SuU+>owjxc+goGj8|>vp4ac?o(zd*~dn_x`&2!D;FRf+`zV{v~s%bE7 z_-UQZp}-=+R`|r>>*e5%1=34I8gIMZG;)vU_F`c3ICNfj!J;XKVI1Nq>QQsG`SZVX z{w-s8()ikNanIqi++TuyHd!a#Y*vXlwveyIr==~yl%am2*5dFiRfd-@4VSeWOzch3 zytqI}M0pnfy(*s`Lr=rTh09*AFxnusS#j}f9_D2kPSc%MG$_YKrDO$m{+zdD&fyQB zAsO`shX)6>S>#1bGfYf6cLnT9(A*WrFn#8Xtgc5w_1AOW+|6U$yGrxL{r&AN9nfQ8~Po#F4XmA&o zN=$mt?s)#*hX~i{zBjt3@y9q%G>BD zkQBqx9x8i$b&Gb2#J3kNC+idc$!#&}yAdyN?%{5}or^S#Ou4r-cjV3xU!h_YSQ6=S z=|!kS=e5guk#aYu81$TYw=r`E|HIz$TE1jfHc1}oZz+s+7kxHr22v^aG{o%Yjn^!Tep?xKjr|V;H zp=m}wVxl1r8Ll_SXdL#L)*$wEQkPcU3){1<=RN;4u+Pf%k6W~knNRaXMXT=P z)&S8N&0INg1su(5?k*E*O;{&AA!?=3nWT>HB^OK_Sannnbv<+L+FX7*Ce~reD~1=v z34P-CmHvK7yl~jgedWYUPU)KATW&4zUbLK1(qY#emx91e5hjy();2g?I{D`Cf&|7y zBXdt5CKml?8`f)vFY%a^C1G_YJg6dZ(JqIB+!xCnbPDF4kmx-v!v^YdS!i-BVAhyg zQWeW>@b3Yy{9fhWl8lK@jpiN5c>R@euh8|ZH-+09P_|EO$#`ztb@M{j=3_Uv?EGEi zsd(8h_*CQVlI9?jr(P#3To;@B_jJq1vF6w;*_ojA1& zR39ko#B8fI@A=kI@JWG5!f=xk?_Sg7)ehDNW*K|wx4t#|x_IuwIjy-qs@h(jGiIw! z-l@xD^TAr}huRry@oBkXE-P&~!fX;Js?RG6=B@V^WvY;Didw-H${*4c*X#5rsf6pn z9fj<^jY8=WL2SDE9Y-F#U8LwKvHQf+#&Cx9tp1CSIj`84_9&Ezw^)8tcB;QueX}oZS<753E%hqO7{#>T|#Dj-iXZY|0AM-!+ zb8&D({_^P!n{LbTIL|y*EaAP(@sGzW$wPwgckEJ9i*{w>pT@ULDIxoTh3Di--P_+k zu39l`RzI)lhux2jAE<6*WzkcN3_6)F*`^Y^-e#%Fi)@4X7|y?(^A<&|Igzp;<;iVl zl{J3yS0A%})J~s&Y2q|JqbU!k9IBPy{>ASTv9MPPc)w2XrcJ*W57y*i?;7v;~F91`a7hU3q?7$w)|{%jMTEOyzU zEcI&T+a$FvF2(1Hk{9OG)Y?>W9*nkxZHM@fCu?H((LYUTCI6p&PcmJ*xi-vTvdwT3 z7k1@q2931H*fSks`to@Cx^?bJ3{9&|zLn%j=Fh!yH(GQ~A{o0p&OPd!*d?D^2FI9d7u)?A*Q! z4*4QA2~%p9>;A2ExsqaD@bj}toqJpKl(?47-91OvOjI~+xnaS{^?u?qQ?LG>JwNZY z?Q3Z!sVsYwpqb!7e!G?GwwDfsAL{!U^mq2DgDD#4t1sO>UeB|*{_=`Hd&3?^otLp^ zK0Wnxq=4a!Hxq*|9QAvk$9Y4H>za$xT=0$vzTn@BZiW6_8~ROjVf)+@8qo<`g#=u! z9Ou2@3;e{|G=KW*nY$jCKtiV`l6>?$^$@*06NvP7#fitBBlkd++8Y)=4=lH?dCtUmIewH%IlX zh#+5LOo{TzYEQSQ=lk+s3R-^X-sbU6<6YqnCg@Zf?do^`%=LD_(kB(0ix(YiVtVjsCBncALI;%SrsSX-r<%Ev%s( zX!WaLU&>m$bKiW0b$=gz<9_;(qVOlvw7NT$mY|#Sy5Kkjn>cjc6I70-YfoF-py>{&D=NrR&I>IGMlQ! zLcc_GPJBN3S$*2KR?{NilJ#5sKHi6&1rXEEXJpb>44Me3IH>fW>BOw=XoK6jn@=ds z(YD;5x^ceYx89Bp2`R1@0`?|$rPfw6CY#u9dnFoYo0y-o@xMiYISb!x{g_!Vw%=9` zoKUjjdo#b}GH(hvzS+bwOeK}G!eo`kD0YXVQ4D3tmleRlEs0;5vK#SPBSTf|OA ztb38rC*B(L@?Na4_j8j?TklMN*w^S9Q>Oo8<$}V%l4j`GS_sS>C*S?bIa6|KGi3PADkrkF=av5)>%7@ z#pMjV?g!nF-=!fN{j7gqX5k~>w=2HP;F#0MSKzRp*8zzSz-Pq)GS?1@P zho+0~xy`OUp{UXQ;H{uy?erv^j<@L)a>q9tM&1DUnrI)?Ft{|=zrn!Gl)IQ|~rHTXNu@Y3klBN4KB3QM2>Y?ubvPX3w9MvSwZE{kX-xa>+ zH~o^;CA?h6KmM5UYa>g0wuos!Jp0+|d*421KbT%Cqa5E6VOIL9?!c}N(&FnG zMFA4ECVRULdp^0GJkr2BdrRi;gLj@>sx*DO&Fq)f)a}dlR)4m4E7#B~N-6nVvWTmG z!{ix>x0=PSKF$yeTsMPL#5z1fZ0`fEw5z{vh^i}6>$fT z-xTT${PoE)^Z#qe^xIA4+hHFV54hY)=H2#Da9e24MY)}!PqiLwn7-Mbp)}xX0T2_Iv?5OB9!f z_!*&FFB#;QJaUlTEzr5NwO~#%Z+wc6E5FK~GdmOH&TV=!)!^5PvM{&*)w0>@Cw3_6 zhi%Dc(7E_YnBlrE^ZuBMw+zaj{?&yOSR8$%EcQJ~ke=4{hGVf~SB%OIhR#_UPun*> z`<9!d#Q*0%-?vW!wX@B3l$<}4HGRHj&c?DH#b^p^&cuHuWrr_hvt2vW`EJ|vjp9o8 z3ua$)d}QPGu;Qq+Q{lISuBclC{^b2ol%ytOmz>*Map`IlnWSl^nWwdnoXwvC6c-+0D< z_oeomPU%^foRijCv50XS23}1$&h2{W_152~iasap{8#vqwABhz)0 zE0Yrwb*jsSbVZ`|LORk zt~oq^=G^<6lq}mmEp4bZOI$rse8H|SM-42VZ2IoK_4m_H_ch-wJtt^6p2hh zPSy@jQtsW)@wvqRL2R6!{D-TzSL!_9rTKf+vdUiRnv7dFb7Y&GA0MApwOBY$x>WCw z^_DYsA>Z6pzHQfjlfSd{y31RcS+*CW6zx8BJCrc?Zd6}-=zDmD&YjPVEgNh6oWWDb zNy{vxKJ5A#`0@Q*8!d|?TANnt8{fOI_|o6#RSQo|Ii4UT^=|2jqj$aCe;fkwLcGgzh;`GDz<9`I5>(-?H z@!h+zxTKQ#g~Zb1hd;Tm*tcYN+=d#%J<4bP*a<9dWu7?i@$%}G@8W&V&-Y*Bwza1y zVe&!qpxu#1^%<7@!Wj>FgV&aSaNw>uaO~TsZ_6hA>$kh@+0SzR^s%(+r^Qb3$_(@)!DzD@W0@$Tfc+kbX( zo?A0<|M9fSe-%*$BQneQIK&yw%el z)+-yI|HBqvxjd*gHKX1=Z*6w?zvaE9MSG9V^l0>+5fh>6@m1<(_#~y=**3q-q~o31 zV{V1-_+!7}iRzJgqATzGoigEsm(3ErlJZTJ_c#5m_g@op>B7eOY`-%$*0~xo`5fF5 zz3Anoy4xo>T)!>2?DzF)G0#%5Y5#;L|G(Mw+~c8P>&8CW{r|R3J-WTS>U;0TTAw`W zA8$#on_HJ zrkBAn_wDv7R51u%e#WmG{(p1&pLqSK8<$*It>1=af9|+b@Z)W6*-wk=lvWozj=RtP zg@*oqx?--uUKUk06+VGAKi=KohHD>hGe`bPwAUcx$CF6+GJbe?8E&+P`~ zcmMqr{M_#Qk5}%WnQs08tW35Woc~^R z%l+mo88;sF|9roHCck~&o#lS+dL~QJ8fn+BPoEuMU*ofHzWkDD>=#xr%{!d?qk{cw zRG>Zo-2%O=8MjaJtN`ySSg?AgiGcCKnah67TYN*x!#m7i;g`hHFP{3F^jPe3eX>kX z`gvsk;5A-*miO^nt;8SYGLQXY`IgJ`Jhd;rv3vQnd%BfJ`cK!NY35&3tiR<4yMdL& z>G%~I^}*@i4Zh7QeY-lxP;7_9Y^58<^()i$_B6eH{U$58R{kq1>-Dx(*>HXps5EMM^I{55-KOtlY@)7A`f-Bx#aUX_PY|Ey0MljBVLVvMVqWeypA z-Fj{s|DO5%H7}+&ZTxnm{SIeN=+Cm`yR~TxHeNj0cX{IFn79=_;o@=!WM&$dF7DO4 zXZ&NLub9SkG2cwDnKw-KZrE!1N!YAUdo>MV*O?P9S2$_)c0OBuejv;>PYsn1U@$z(5ik@L8)WCE8ZXK)}R0Q=H#=b z^R;h=KFfWZyYc1Hd9x49@i?Mrx2-9E*3qTragqzZJg|}57qNc-9G<>otaY``=iL@M z7<-GaTeDj~raZp#rOo~Qt>+#$yy2d{Rc*i9ruM~mz#9#IFzE5I%Yj#Xcr!W6XMft| zoTVr`!Rw?cL;KH74O+W8Ij-Ki>9}F<_R|aZzo~or{OPyUi^Zisxpx0CiE-mvz2fWH zX%kKxT$5ZHw6leGrhHXraITd3O^G>E;@9rdZxj zc;N$P&*}Pk>v!wV*tz}6zKBqJvx}B78;{<;WDyy}v$RdK9xHQ1HCh%9ym&%*4soUnlhJGDti7>FNHE|8E!k zDz^JwcyrCmg{Qur6w;pPtEIWjUT)QmA_McfjM>q(Ze5o$l-*w5+MLMeCK2^~<+Ju< z3qJ06bZa4R#)Ic~^TH4BG+a4#;lt@}`i-$Xp5{xQ-sfmsSb2rP{+6^F|K81_(_0s7 ztG+obe{`At46oD=$suPy%{~{k%Wg$UrP-=0L659r1xvM<6^x7Al4KY19rWIDDm6Bu z=8K5&#oZUJRDOO6{A@d;;EVSB@UCgEiWo~xuJ$?0oPKJ4PNph-^Bk+nJC{6PHvPVA-=AoU&+b}gOEg0J%5EK*t~>L}qOw=o z;?tWs-|e}fZ6Cbu?AAqM(_PM3g)a(gh^kB9{HgfLrX|;TAM0%Xa;&tFpW)Q6mPEV5 zr|(~l=+p{)W1ypHEEQI>O>SP)4-M-*`=jbsYZ{xZn|O_F>qox)SAr59u{T>?jugsx zwCojckLq?zQDHckS2~qfR_L+cVYc55D>-J#TOF6q&c6Nn;vc)`GoGpW6iBRXyQ}ek zAy=`%&7et>j=i3bE4e*D+C=&FqGrWj z>qCAX$v>VYq|E!JnI(R=P+cbV&DYlk??PPkx#}$X;^a)9PCW7K@i~u#z8Rm^_sZ9W zOaJkC$8lw`(J`ijx!?MW{{Q_h{#IwD$+jzA{3SLiA599U%vPJ2U9oU_Umma8x$9f} z56T{HDqdN>N&n(a)hSvMM)u*>>Jv5sxFIVcNEj+*U&-L($h9?#Gowwdud-tI(_u}hiDygr-9}9>oa-IJh zxN+lo`MqM_Dt3QrJNb>ZR7ezVSePgt|n z-OP8ZUgSz6OI>UJ_}=X-CvD@`*&Oc8KdBvUTXx`N0*AVLAK#DH3i6=BC9OjA^pvUV zzyI-eo44torM|~?J}o`v=>?ukEw21eFbt0Gt@hN*)c;^<^-1ke`)^rK%V?RMHcmRR z!aJfv`F}4oWH^83Hpk|bX?Hx*_THM&#BH!YM`8Xl{x;2<#uAHiXMX>^)lNdI+*Etc zE!TZ(cKvKi`VNbz(==jX8!u=Vdpnj-LFUQ ztP$Pcki=&)S^M}x4b{);)3txbaHXs{cVbGrWn^96Hk}$__4|I+>--%}4&D4wyCpT} z;LwfH6td35?Thub0ma#pY_O76J(Gga^fJLj@gZqD+^4qp)_mv9k)iz7?{#WhZ zqOm(QGjp-+-g#ep4*A*5iafWV%j;lw;iFR?oySeKzGD^Ms=IZfe)6n{L*7ldWBFRH z>|nZhKE3LV(_N44cN%Yr?_-+qaxu&Hf;Y=A2HxAM^69p5zS-QlSC4jE@BCqRe&1b}$WQ9OC8F;p zef;`x9dDn;8*z`oGX3vom0vJj+?iC-p>ulaDdWk#r)MO6{FLY??^0)LlxCq4AA99} z`6D_ymO=oz<(I0oNx=?A#`LDkwU-P@3!`l0LQ<3PEgtkNn&sgzi4xaN)nY&HDcf}xI zbLX#1Poghw?mhE<`kecwTV-EFT@LpPdTM%R?}p1>zd)NAP8yv$bs!cZiJT+s%6n@r+`F>OKruEueSXHwg zvp>1tVH#ia8WsDSL3y!Z{~B8#$DVo`SNL$+#surb(hhU9R=nvfa;z|nf1+A*MBKU>pEEf<#}u~K)YwS> zS2I7?B)95XY-o77a(hfMTdsTV-DEDmLp8IQc#1d8PpsReki=y)OH=LpbI6{kvTM^$ z{C;@I-I{mG`trH&?)KchpR>+J>h6@2_jB|<@|?Z)q0GlLJ!)ybSd=~M&R<(E@7Ulp z=W>*JfVRhp&`y(u6O2xYW@+-g`07*7BA8WSYL&P3pVjUX4n~`bLN@_${t zA<`_y&Q-O2sqBpM$2Id`sJJ-&%-6kn_1Smn&%bMretPPE>*18D3U7_13;q`w4wTEw z{dfF&;VYNxy*DlTFH-xtPd`63T~swp=jjQzX`BAf>U|k45+C|%zMxsWPYBDGcBc5L z&&v(Z=S=6H{m)8k?)$@b{IToXYxrkow90(4)!iF6YyZ_5_eFoLpThPmVCCL3QG0g$ z-t?|*EhlG_e5LFjWg(gQg5@s`CTn(C`b?L5`ihUCWO?19xTrN}-ZNGEWlqeNS8vaL zrsOYi_|;dxEd`Z97M+Rn{N#QzTJU^M6H0L=SZmpL!uFMX9}R-zD|db}6g;V7 z-+ZOWP%8W58k;8GXSe?7?X>OH3=z&Yee(Xo4V(S(W!iyvKi15$X{)?>UdO&OE7G)L zL*_M}oOMdm|0IO>uuXe7O{}+Wb#zz9%Fo+3DX(AcUlTvgj&}n4j$d0Yr<_Zg6a2Ph zLD&MDCe6}IEY+Jt*P3W8*psOA%H+ZY!HmC+C%^0T*hUKOUD1mSpW9RL|cFL z;F5>AcGndQHS4%u&f9Z>&%U=>y{A5xuO#JC;nZ5ITbbKMTf)PC?m1o8x393IZo2Pp z#`1&tv)uPNOe*kheOb}JGJm`Q)Dqd?Nujdr1PBl%SmUBm&~8DB;H`!qr}pX-{P~DUbcUFz@KA&(Zhw(%#$T79=_Dc zPFUvWcF4v0ZV2zTewO!ZFF1NM$4hHHysF77Y4iHyQX5s>a^A2$_v-L`&2*doRKnrx7O_3Ay46|iaLX;?}f#6PLi*$ zYb>pwIOUP0Y;odd+t63vzgV39YBnw7`^kM?13J?wE# zk-i;dl$W!S_wncLNkzP~XYKs5`_&ot*s=>N>W}4|yU-K;b8gyKE0#}&*;BijbGDs- z;JrA|YO`8z-JZ}7r7bLyzt4Sq#ywq4NN8HP`G*$c{AI$Dvn*@hmXPX5;n^z7mVG_=oe6f3h(F`UVBu1)sCTc{9J{r< zYSWp^q0y&6+o0sOPMP=2-(Kd?f{i@SPu^bg#xqxN@2{DYl};|=m>*(WBX)ACaEXMW z%L5m|fId0fuD$B&UTGixygr`5ckWN%Y+Em}GnqOTXOpaXa!$lX)D=G~@{0MP?8aUm%p>s@awc) zJRF~TF0^O&)n{iuojLyI!}Mk1b?aBwyPQ4FW7PGVO{FYdue@->^F!|~PqmkPy!%cs zf9Cz2CzpQCGOlM45athaHl3&=>2u*@`je-{QO2BIKWC&|J5;daXpXN*+P@Qv*0-$> z=PYmxU=gysHv4U0!i(^D!3Q7qM0`v5{bl0)oHKjWI_#|GojC9zl}A9)>H=@fr1$%G z&eB{x;oPjCCz`>UnS8E0L#%)B{hFA4>(}qUC+#OjOg6n2pX9arQ@ryxCcR54k$N2B z)2I5+$XniHsy?$SWxw35FM>;IJ{_8IpzYwUY3IbB*_=BOe5ok>vFgITt5r|iN3UHv zr%W^H+ZloQpR;%QCM}bZVyxe@H!4&;)jzxYLcg)PtB#*}LD1I^kt*Tg`yRd*Xxu8; zVJ78Xf3f}XmzjrbPQ7`P^KWMT=_?PtUuGX&?C-hs`^1-F1-Y{rG^T%WL6Jmju->9IKpmo4UVPu=_V z>fV68PQ|HT0jOy+9ec;bRWu-+pfQ6`aSm32O|E>3Hv+k?A?jZ`70lu=~%hm$b;n;YmiKeq~~s(HNUjI zgBDoTTXLBcw7fr3zll2~-y;3*M%fsXvKP9#ftqf=UC;gae_ZpAtNX6FqWcLm;&V37 zKcKAAe%nBP`k8eD2QzG`A%&fgq-HahBOE&EblCS+d zC4ALWQRQ>{el#-dGx=#a^Q2DmDxK=gzlq)Rr@Q|<7+l6>bKiRJmdeUculmfjmkIAn zzp_ulx$}&jkHC7T&6KF<5wzUj}5qjf?I8o%5d z1Xq828s92e_QO7*Igr7pQe zy$J?~lQY;nLUuSdu1=pd^X0_&a~Bsp+Iyzaxb3uLKviG!q61U^IPhA1;^KL+llkHU zR^C3IJAs@UGhV*Cd;agbTVEr-M~D6n+#UAz-CfUF;bDI#-3wj4@2l;tBCV ztQ31#Ytp5&kY&%dqxWaUtd^MY^vhY#k}t47;=W&IB)|Ga{5$2O$k_s)%Pm)W zEBZWL-l%o(@Vpo6*Dg*uyZq$Og8Bz1Tdf%9EL^fTJ#6Ok=!hThbK+eccT2r8sn-9Z z%+`DT)9?19?6Mbbyg#g9_r>#IQj81xs(0IiYZA@7-9DUjUCv(Z9TCm4gnQ}tQ%#Lt z&Q<>>Z@d|-ZF}B(s=Z2%{|mOO4ztaqj(?ZD#?QR9XKwA$($;<44`+Hkt4sLykKxl8gn92t#@Dpx=C^-gzTvUpR6^m0>?qx? zHM(4tvx6f1|DJyIG3;Rq_tL00(`>me+Ct4T0p8lcPn$RaYDx?RBDfL*6AfPqdT`YZ8dR`-*%#9 zy*;~-G0#0=<_HGfX)Sev?^&PDmcIGol+%(gakt#QeUtdHHI7d&s?fx^woq=9>4Lqh z?j^fC+feMfZH}(Pq2{dlN2grbf5cg3oA}kwb9=ry9JBel;Cy42dhs##45wDkS2J4| zNWHNy`yyKUk9i*7r$;xd)*QTfetDVFlX~Vhr;oN}4^xDA6FP;3_7+&G^MgO}`?XDZ2_gqLl)f*7W zXxAgUS-d&mYcj&fCQPoNHMV-fF$& zknEx*(d(=|X8!n{xFVL(^UoyZ4{dG=DRK)xm;G9F)!gL*+x3+`iPv&Vjwv1q>iwH; zb=sxi`jhZ|iK_fv?=qH6{8Nx$>8$8x92vPc`eAQ$ckBeVsy*53%EQlJaZY>2J@@$v z-sQ#h{GGEC%yZvxqnx zicepBp8iPk&|Sape7$##_*oy0sqG>MBPaECC|6A8z8oArUD0KEjPG)urj1SO&csYP zZ>JQQ|MgavZsy7``()FW>2nl(ZCPTO_N{C^VJe$+Si`RPUeGsp2DPtCBSLQeTYN8B zKTdsOuGqPySr=>GZ@1yT{X-*M|4T3bnK{$FJ%wDoxS6iEU+30iBkUCh(Mhm|t>f`iz|&{~|u{DGA-2;C;Bws^R+SmeH}1UI{)La{ zL6!Svmfjtr_k;BLe_AZ~eqZ~0U3^RZ-|udBGJIF8*|sXJf9=^yL1n?D%y+hoaa%6Q z{dy;;F8(oZ@h?7YyQi&sSF+^4a@VrgJU1`-I<;!~S!-SGS393iT)$**)C|#!lKip^5W2e%Bu_K9y(BIT9J85^?|_Yzw)LYHfw#a++Tldj#YUVW2In1#GO+U zJmlh5H%{6R#&=ObCE7WDV%xq96}y`!Wm_g%gqrDmT=vU*FY~Imf7Aafu`qYdzH*9n zf$cY?0!BLp=|`J-F9gamFI#fwe+t*3maD5b1o6y#b-l%JPiEbV`~%@)+4WKV-lqA1 zj<+)&{z=`~YR}y7P_k}8U_r-$EMf0j@mtH3THFe*-uK>?|8R{_aDM<>%ElTA?G;=f z{%skeGKc+8CtnN?!9lva9WaL{>sc>!E<%<4y8V?<))cBl}l-O)p z%Du*E>3*}r^X9g3d^esnUCiu7XL!Oq=bV2}Cfz=Ko5L#R!Ml0O%;v;~y|tZub;8@# ziDj%+`5aO&O#l9K)Uk7{jWLO+d9Xbobe~w-xsGQWKddPG`efaowQ?@abvF<37fF2S zu=5XSsXM$Glq8&QU(wC^Eqsl?*|zaZMJUTAQA$NJ(6Sne(1X!*hA#Fry_L|k$1 zl}TTClx$1w-S%%hej~D8m8-weUGYSz3d2-}{1HAFeI>CVgg_ zNyTq_N#2#)c{Bq~pYEO6mm=n`@$KHtpn0yQTmBz;-_GXrGnuQ?R&NH6`~=-SOu{k- zQVRpQ^1sV(bJ?|z>!6CnTp#;eZ+30kpRV+x_nx0Edj>~vhRfm;3!>b4m>l0P?>uV6 z-}QmNsp*#{(}6dv=kMH{d4gB==f*|PofyM|!LFuM9Adxo`JUGB>Bm#!B)QGG9&vp6x^(R2Col`9iD&L!T@S<}|IPbx|La&@Fh z%-o01qyGxq-B4%cy8h<(a%MZb+K8G98BIA$@3*963prI?a=dk$Ipe^ozX!}2E|gf! z$_-Ti;F-R912~E7&s|WxtybOOufdwIq+j}8w&%N7PM>^vx@kO%qusn)j=Lk0D>&UB z^maO&=vUmMef_ig-pkXcUP%2gH}AkI!RxjYKOKMFw}8L0OfKS--KFW)t2^YH%qP$M zJ5eJ(y62wg{3e@_6CHXFPMAK}t#WsQf9d%nQOzlqB8lxMDdozP>W#crV=zWe-+HRv?Z_c>4!6l^v@TBR+L{l?#E%VqU{ugmzz zf2#IBzgS-RbwAn3u@&F`TcjH?W(nVkHlNP&{6t#$R$<_n*2sOZpP_eK#A5AG~av$qFYZZ*q1Cb8b|&%fK> zuHLYg@pCTo+e>8|ejG3_d$&ev7mr4wk>0mwmsl@w)E33=J9zI=ez)1dcdgR0?XB;> zT3_JG@elZ~yYJEVsu$aNZ`U)eJ#$T~mU-FpSFh4DzH9$=IC(#Hsb1^)7vJKZYwg|> zyJqR07Ud6YP7L?U@7F$l{8&+{KVt>|LigIm?E7Z%m$@fsip-Vr!-n?ag%G-VN^g-^-n$HG2 zuUH-D#6DrZpELK>wo|v?yt+^wX%h8SI$ei1`qF~ff16XoJ>q+9XIr_{xFw}XJbroL zdyV&0zHQq%`o2V#|JZQfY~Q_0fvVfYyl?T!Zxhph$g$^~z=!pwX1>DPdJe>`;orBO zv(rV%{C>^njmPC~-&C%dd-L#B%U6OI#P;b*c1rR5Sf<}N|I;6fD!~n9DW}!-mg&Ww zl(mTxeDp(Rt?v1^&p29?FD!MJFv^lS*FU|8B`%p|mF@lJuQxZ$+bham+iUvhQM@wC zl4|ai$K#Z5=Cf>+nQ!i-T_|hGwBDL!hx?CR*+T0A)LA~ftCHI8$Fk>7hU0;|A75n{ zeiL}}%91uvtB>cb$zy7cB1n0 zlVD5l6>v1TbL><26MO7wcHXNpm9^S+E}QIjFg?%9n0D3k-2KVt?mvF3yyEOVapU!^ zzHToP{Zoqhy*`vz^}qV7UAuW-?;>}BU*%JOWo%BDzIIGBhez~E+zsCO3cNRGt@LBt z_KoY(7H`L6?NfekUVBGub?y77qFJmnSoFd>BNmjs{^ap7voL4Q+OA@WRlIKNkEWOZ zlJVj$J6@SO`|uB$E<0`SM0-&r?=#Gr>A$%-cfn>z|!oA*ZJH=l|5WbzC^S=)cU%TZ{B8}&F}I{5374T z<~jBA;nH3Iqs2v+aAqusvAy2^16V0UTdk{??v%+7@! zwdA?Vw)py^&DOPiOIde6-m~d!Vhx|`{HdyiTwuo?5R9m1Ib`efVbQbm?Pu|6FMNmb5lO@bl)c=a?@Eda=A|n)q7pM@Ei(@>k9iOy0LGo!xy` z?l)GLY`b;Wz3S$_U9O_fm|vKG(_6dTbK>RwVpmol61UiVN$|4pjY$onUpyn(|Ac0g zFYTzZTR%CtdF`2V{t3|&-rB!lNO|GO6up6|?CQCk#`Y;sbyy4BG)~&>WYjM3e7Q`X z&ESoj^Lp-&`=LqcgO;*@**nWwjSHe4sT%!IJu0Yhd(GOtYjk?5c7HwP{aoVW{mW6) zy3)_D`SNeGKX9p%ojxTjvTrtpv(4$v8L_uWqZ zpT$hnxu@x_)i+&B`9$AU%N70|Zx018ZL~I-Ep_9`^cnkBEjoL%Sy-cbebaMJ&QB|E zUtPnXt|PC+9I(PFL~2LqT35lI51UN33Lm{BU}5g`Qe?SBlI8mYI=o!l7R2ZLowHW; z-x8yO?RWm$yLwK4c)a0{X%bOrT>cdC5fZXdX0k-z-ryq?J-B|@qtK{sk+U!Tl1 zS#G_0NaROeoZTYA?qKgXTCX;M>y<8vQg6FIdg z>esTlHXPORhxB=sckWzY6vX)HGArM;pl#|Fk1q&^y^x;qjDJh8xO2l!Df`9Sf1OKu zv}r;ZpGW%dHt!2<#;2k`oYvZY^kt;F=JtyoHrblLb*$@e)HJ;^irhWr?y;`F8+O@s zBz}2*pn#S4wbD;^XjQal7e~tx?=?M(&sJty9<7r4@wfZq%7~XfYpWFdo^F`!=X=1c zaPqOH;2j<1(!Z>%?O6R3WwN&Ff4J1TU8r=P)rA`q#XX*suXz8lW6Sz?$vbPT{wdzh zIFR=6(+{O5fv$^+S$hw-*6U4eJ8@}O(i`!w-)BCE`1|~@?7}bM2j|R_d%f-p=f=CM z-~N}bY2NicELZ$WQQ@MkclXTKlYYj3L~T0%g0?LRhgG&Puzh`ICibho4zt=4 zJvs4li*BQJZkWT`7d_uqPF=N&ElmE9_{$`s>>tmA9zKyx^=?&llJPbtXU*%GVEBuB z!b6#^&FYK)J!!jn^b=>Oc1NPQRGZPGR%qF>VHrnDMav~7z4Tm@HDP(h?x%cy&6V5D z&lUJ@hSML#`z<#2o5H`UN}O$pGRW8DyZmwwL!u?O+`O2bXQNpiBcv4B_pp9E+Ewxw z+<*Q0eNkO<|HjRx8qy68{~1`A0?#uu{h7>rvqJxC{83v0j+X7~m2JbmyT_VunX}hE zQtD7jbVu-wrFIXu?amMLH*EA0`6?aTs>uIr#hrue8f3qES2&yZ@8Z6wSDWmAoeBCH1kGOMsa@L8jj7DM}OZ5Idr&VYm@7mlglfGv}_Z? z&1+uq)YkS~ZJ#Q7DstC8Eek;jd*8psE9%``Sp!1j1iACKUNC5wb4EV+%bqREdhc;+ z+b&Trxo$4gYL|MgZ;Nj9r{F8H{4azB-tPahJ(D5bXj<8^%$R}?GB4Dd{`&n|(o+2G zA&*I;`t+@9cqF*0Uocv1x%$MVp~;qKDMUvm!8VtRg%b#94e>7c>-Kg}} zDyhou?}w&wy*Cl_e`QjzM)dyznR=;dJtD2QKcB2`^)7#Wm^oE<{h=c@<}IEVKQm<> zTDvnsZ&yK}$Cr)XwNAOyOEUA6XZ=?%Z+g(U^k4g9@7J9t=Q?Ze|_JL=d0I< z>Lf9SJ~RrcQdn`5SALrDYJTn2%+Hfv-9PZua4+XFopcS(1zPdZJ$gr$t1~`{Dq(bA z$N92%P05ijEZbVPGR<5vNpQjEGqoEoeBaUVez{zt!~B4`3oqPnDv&%d^UKMdhL7GI zOzBGdd;C(@oSW*?w=SC8R#)p}_{Qz9-?2|cu(pgf%ZGP&cdM(ZNiZ5oiC(-nVY`C! zOZ|lG(%_~G9c>BE9xgUuxnrSlsg0+sHudp0!9OXcJeQYiHyYiNaV$37vVWtgd3Jbs z%`RoBs{uE&PI85DZPxa95Y;GovIA8}NoFDyu(*Hlm*jWV{Q=ou&3f=im;zB(|p$J)S(9op1N;MzVEf%ju6# zzgsZn%dl)Y`u>F5BDTvsLE`JbiJx1YvUIC*^vw-Z?uhOC_cAo7srw<+ICFibyA>^p z*}eDoG!&ffb7EQbvihZnm4sI9T`B#$(H?eT@r@sMg-+5w25wPXFy-fg`U21L;`3yE zPH6AB7g$iPQ?*z737V%^sOf4t zHQ@E*8&fXmJUji)C{4z9nbKNOeMOlV!LC(iD{_)oM$DI2)B4yFX1*%yT=<>VO9ub# z=5={nv`k&iwPt5V__DZNv-pp13NOFk&W5)T4ML^YP<@m)_Hi}lJ$sr*;d82i_cP%+L%Qb zhI6&9+Fm!~z?#bM47E9zvnE)F-IZ;r?ln^QThbq&7km2H-(OE(+3PG0+2N%1uk)hF z{wlfk{Zg|ZXB1bTd*Xc2TP^v3y3YCb`O@0i5z5iY86``*>eT+sQHHn=)Db%D=CJGc zyWQGTxz<<-vM|ax#$H$T+@#|@Emh;o94Cv$Lm68(-j5B?nl_c=O^lO)(zM9UGM^t8 zzMRhbI(<^hZ0m19v%{@K4^zyk&YIW^VhOe(>POEV|Q97Pixa8`K#))Y)A%RI-PXzA^ko&QxN#fPr zs;#?zcDK$ree=-yGUs~}+j7pnST1>s#nsawU?n0vK5s$2I|F+di0V<$qaiR?Vc#)meY-T^{*fh*RA3=I!6j>0+7sA}16= z)_v~{mu1tN01pj!d8SM1b{{+E|NFAs_pqWygoenZlPWrXd18m6o(8SFa#L9(RM%^+ z!S@NLf7i}F4QaP#U3#~KbCXmq5Bq7us}8EA zk8OUvPM)T>@~iKP7w=#BDZcrXZRsLpXwj0`xPR5Ija@Ff(|XLltX+M!#p!KUWVt}! z3c=|0uhhzp&z+bWvU(SzpZbpJlVk!DN@O;v&vv_d;cD*&aivu!x>jWt9hkqCJM!mY z$tj-?d$-Fkj*b*^W}Nx`)Xmm|**>4x{~AAb&23k@dm&?i+DDJHU&W#~L}lh|ON)H4 zq-v+m%d7uBXQyP}Kl4J8RbRss)B>02_v z6Ly3%i^}=i&HEKt9yM*8F?;ue$$yQLL)9NSNNv3FZdPR;f7P4?>w|3PX#bji?qvG5 zj-S;oZ;y8sPIGV(s-4j>neFDa-31d9wI;|O5uAVUoJ;-JBa1%lf2ydEQfD7ry-Mxw zBJ0~#)3?o<#^roO^sVKqsW)%`PCMVyv)c3L{oWVxp=Y&zBxXId_VhHVvU}C-)Oh-u z#QtMK9Sh!x|7vf(c)5S=p7u!-|IaejD`7v#uTaXQ|L$6gy!aDoUaP)8Cv*NKm!0RI z+?}jtHlb*J-rZDgx!q@H9^Jo5cPiVKP2ZIthV5O*AM`KwNVv|-Wy_hr_MgpK=o1@$ z^Iz2bosCsyQ=4vn7L=~l3jO6Vspwwpmi1r1;l)e|JrA`U#6gz4DJ1MLnMDSL4<2cdvK7Gy8|L_Cjyx)-JWz`xeJg zmss@8PW!X7`<-CfKa<|A@qcC*M}ZQ#qy0_PWZUW{1D5uKhO~oQ0M=_1;GV+AvSXF3;8V;&T%u|sr&TG z`wtiVrgm7|TA!t_y>;{6m9d{LS-M?0yE|)T#lskxo!fQ%b~rvRhMfh#S>>{RU-ZnK zOLX=H1peQpaqiHEH7&_EzW!-YE;I7GsUdz(^=#~_$M*xIDh-(`eNRN_?`ZCPFLq`B zwX=_>o(Sd4cjQ`Sb>pQ>dUn76#Vwnke{Zyw_-|KmtvB&WPxM4_gBLoU4^E!ks@wFf z+OcBQlzD3eS%uH)I4W%6V4w9@pY30*WvS}Pd#fM(+-3KdfAPU=mB$sLf0t%&Ww_|j z@$06+*-28L_v!3t{(HZ%;BnBCd$Zy;Kdo0SJs0TMJXKfVuFP9TlSTX0o3D3x1(pW2 zoVek!;8j58gRre)uGhql9=7}_B>86&(>5o)O}9EHa0d>c^m_$!Zhn8`c`uEY zl{YtY-~4^lL(Z(JahKwzIVMVrOseB^eidtcU(jUsd&=|W@O=7!V~rtGNu*v6$M58p zb7H<`S=ZE`i~DlctMP8;dHj8a_w~~$vs;T-Ms1n!Q>^8zNk`7tKi*4!O>JsPNk4Vr zKKo`K-Y+Xz6EvP&UbT!PEg?Zna97d+f&WQ@8A~21%(2d2zOLC$$X!{lFsNh2q`<3B zyZN*}PO+93c&A?;a9r@2{=R0Zr2W>8ev2;JX?uQ{8~RDk^%u*vcppno<05BXTjzp} zZMN#?lYdSZ5ZHROU;ogA4IiwnoVXUx{BYgE(@}cGXZK4?)3$8ctu{;G^yc<6q8nvr z|6L(eUu{xV?b>kgL%PDwO>c{iDb2OLFh z^y4yKw*^}cUvoLH=u!wJTg;rAC0imjtOk)YrDXe*WS5DY>JohDA z$PH25T9KpjsmIp*J@u&=+7<+5!#)|ND-&0>v&AkmnDXk&!WVNS7JoeSV@k%Qm(9P$ zmrhSwYHaFxe4|X6Fgy2+vL);<8C3tBa&igH{$K7=yHu_F#um}vx-S2Hb(#DE|1MBI z-I?MQFF$qpoC+)6z(qeBrK(Qu&gK4}rx+Pf*PCsB_3bgI zaAA#-zQ749vA?Yk-5H%=~DF(yX>#K9MPbmw*0Fc^MK^wSCghRl=1QvOD?6X*_rc|Xt83k!utv$Zwe4+YGd-Al*5a0o#gPY@oqmVeIz)DL#!D~xD)oW! z=)J5Q@t?LOZ$jrR*=Kr-@4xNb!u#BUneoM{?0a9zm3@hPqmmK5n_cXV;`d`qzpu>(OmREA4}(FT^F*6cF3un8z6f|ETP-NR`)_;fuY0XJJ7!N%$z8wihis@;*Hy(0 zf#?33M;I*%H`4f2w&<*C^QISD{DXHj-jeuVnDx=$J8#dfSib#_AZL+eJTIOpb%V;)zuhi3qzyh+ zhyHh#vEM0PZ~NFqHYGrR)tpxQO@DO@7!UduU74N`a>ecNrhoi}!G;?5O<8N_v$a~>_L*Mw7n}gd58TZJm{Z3aDS zn{G#aU*GP$^mK+q7+3h)&N}6VtE;ta<#oT!k3ab@($r4$?SI9SIffCDuY?t1+4c+n z6SL27NuTvE+gr~b+WH5_RIdO>ryv)<xG-L2mQUFv*vSm#RIr6@6NCbBouD-D+Mt%oIO437y!U z3#wBXoL!3jXDWyaESU4(ByIk?FR=lW<<@il*EF(ynelVgwD1H=R zQIv5u>Ra9X_c7`wSI_Ubcw}4ELGF*soZhJ9J`*zV?bl0q$+q{)*@z`cE9Ns^+)*+= z=!U9VewS}Ne`DeaCMEy(6DPA5ehKdRa#4lHq7)B zD{-~cjTsaA)@_sD7N_${;EC|#l`Xq}_w=~2)}H6lJ?v$)l+(lLUg)ZS-OtZfOl@>4 z5ueQUG33(9XWFJsZYFPcZ27gAZDy{{KTeiiJYSYf>2vQ%+V`s4+bmQ-&;N*~+sda{QZy;&+_9=aueAxrZihZ?uASKGbr&t=^o z)Vuu3uX9#qnJXjsqq(|1Fh-a-Dhh3NaT1i>9Him=WRjc#bI@Lk&gH&eLQ**Bej+pb^1>|4!yK;U4_QTN-67c$P$(|dXD(usrL*B2cua`=@o zXAke==iTpEn)`wxBe%FHR+MKe79T(LhYdQy2%7A=tH{7N@A-YrEp1zD$67OK0wXeVzW+qX(w2{^$;nQ<}0aalyU#$J02u z16>8fo?3NCm_~=X3jf{l@cGrwhGWGg8L`5594+P*D(QzsGtX>V@@GfFh3uq>7gn}3 z3H7>)a$Z?o{MD{5&UF&6qlT8llG8oX?#_pgr7yno+vMV6mZdH?mh8?u_fP9kuJbj$ zxg!2<-bcB5L#*09v*-#>&4`(ruxO!zYf4Avu2&5Le@#^Fa}KHaM4RoISvgPTS-x=Z zH|y%ZeX;DbzDaSE*a@-kn}1Fw;;Z0%$O72M!>Aphq9 zdw5)Bs(DS*JMk--zdH9-pEdgM{DoF`K=`G}&+p~U+4i$+ZIs=thDo|J>$2t_G5e@j z+HG)vTd#3JGoI89|$#>E-t)b$98_^kADsRXHGp+ zg<1&dW?$oC{NNwfC+O6$;o;>qas3-+HEueP8sK(!Zc=wGUlRMQu(@TDx#79uy!~rK zH~(GJyW{O5M|W<;hw+C`f4%(UobBE3(^~W%rSP8nGa24jm0|2Vkln`6Gx<|9vKWK= zgB5NGzBW!q(>|2>MY7$>%b2#ZZpQXMm)>?>>AF>>{LbU!OE)o{uUpkGJ=?08zGol5 z@9ZyUIn!-k#t1IoePGQqh3LsCJfB)sPKNC|==0ru_Lq07WyO~I91B~n;_-RAwf3K_ z8=9^znk}^d?dfkVc{A3^p5<6_GO|><(W?Cp|Mhbs=VpT4v*)E?gmC|cAA%=;J>Z(N zdts#Ym)c8PZ*Jzze#~{NY~jg?51qHAC2$`WJvw#Y%o(=3qiU@+>n_}Wyuo+ZN5#~C zIojKgF53AitXM=(WYu%dtK3&rXGJglz1X+v`&GX7p#McxA0My2xA55YcWXXeKhU*H zNO|T<+pN#?_tv(CeZIY~#y_FA#?<@G>|@n*Zh1155XomlGd?XD(Iq&0qCp@h20;x zomK1Pi&|_nk~io2zv<(VHb2s(F{N`y%hF%(dV8g{YqojDH-785Blk8oDqP~vrB$|0 z@w+!y?Rgbu655e?aN}lk4-etaR}Y>~yZh^S{%QC)kT`%K2ie@$9^S&~L@V60ydwV=nG5@w40Pdgi|JvH5*x z>OI;+WbV~fr$oO$evsdT%Ff{t^7ywm1_|%b>^38PbgR|H{o5+_vgpB7HNL5^Le1RHE)l7 zy<6bfqn{2x^sryp1vN~+N)8{lTfToA-fF>tU}L+Sc|xNQjc$T)X&Y)7&aGv&nbAuv}ZW%%-*G>( z$xKnKY~qt`MdmBmZkaH&mTOuBl^Q*)pTz`P{tfAk_s*WP_x!0p7X;P6ivCVqp%Zrk zIz-vt>~JIFWro`JrE@AedFnh1SzH!v`?hJ5!7E;6tTUiy(J$dMpe3721cZ)GdzGu( z+uPEq@SDTi_!{@Sg#U*#K1i9?_dM>oUM?@9cu@AlyBd}y!qfaObP4dbF85+C&oFzl z>&A>XE-3+`q3vGG+gEMXShRSZ-Q1~*UM+D-l8gQ5Xknjo{g)PVxw|7vLE6Wab2%da z9k?svwcO&UAh+52L`H@D;4bx`>07?|?Y2l-ERwXe{Yuiu#Lk5Lx2wflqH`a9i#*@U zt;`v9&};kl^y$~c+21KJmmisS&GK8>)LdD%boC|uy#fA8)$5rZ?|hjzt@(8izXa!p z*qHrua-TZCnz=@_r;RH+-24ZF?}GJhA2fyC1(vN>x;%N+ztkDV0lbcfMW1codwSjl zJ=tB`L#0+7S)NoZefnhc#!t6(jonUci};!AR(HceS1HCHTLeh=O-ufF|UJH`sCT#sgt<^MRHPo9=GLMw13%H!%`>u zWSfQUYn7+lp6$E&@lM3P|Lqs@U;2w|Tkn*(Am2b&;*#<1mz-;2JIiujh<5WY_W!v? z!LD<**o!NziD&ninEk&OR2IYQ*j$vq85AXbY-;~Izu4FuzW3i zdFY4Cic{C0DavoD)Uio=BP_mU?x)C|>MTnx`*GS|?daO_Tt;M}tY@5%xWCaOec_5@ z;%=vc1k0PXrk>lfGWy0hb)Lfs{t6#Xcgr!|l={Scb@%cAMWFRdjC}{9lm#9MdU5ZV zv-RSJsGVnH;~y+b>%Pn0s!{Kw_-}%_z#FY+(ITt&u_(_A@LuP4%=hRQrk1BVdm5jd z%Dv~sdFT>{yDj$@Z6|IBfa$(BXow*9K8~2%lu{bmn5*dZ*Dny zT=~VL^)eaU*SPvUgQtD!il|uaYQ9g>?^(ZQ(|c(x+XiC;&M$_bS;?0Sj~-Zl@OIvC zUvtsKGnak^J?jfo>CAn)%XQzrhuH`FY&Um0U*^)_%s6rD>YAtaoX3wZ_ve^@k>#e> zeA64Hte{1zueP&ZNXY%p%{%A!+6CKdE-_Cj(3D@mAN%C`v`^l@tPMU1y=1$3!HhNS z;Jr&FoUsQJw+b0Qe)^@@>DALGXP)W_{yz*Yuh+9ODatMUCDAz3_VVNtmsV|@lg59+ zfk|afXjfN|O2u~bg$66ue6f%%oducq6r9=NfB3;BlfCXHkK-~+Xc~+zl zynOwtiQ9Kv)K?L`m#H&v%b^1shSA@7+-zht*{!XDAbzxVn%scv5T=H=u6r?*vWdjQ2d!yhyVeH35zL%3jT=ZB_yysH-GatW}_yTj0yv-XntQ;(y8_Q8#zsf$*Ml&#(H zx$nMM-8pFJy9+Sxss8@1vy-!JagUqpmU2zXaOcliJFe0u3uWwE|W^X9Arm(_mpHz=9fW>&0THGQpM-Q|0B0hXDXg_3(}qZRc! zR<=C0S+#Ie>$l&Uhi|T1XVT$czO^>@;=wKhI|XgGTe~hS^kA<^P}z8{J*W5a-Lssn zz6)gya_%ix2Q8TlTlm=ZwBFW=OkjXwB5aGq(QNQSJ_2K-pKjula4_ zoPM9k@*f*=U%l3q6-~@8Re5R-t9LjQ7-p7*pUJ*+QrU*-(R~@6Rg-IfJ`{QrkbJst zn)}M`@Ykx>6E~ElXiHC@ubeaAb66BFL)s>pNmeORmT`)m2{vx!G(mKa79omzQ2xeK* z+RDnIvTkLMxy|R}+%F1uo%*stX4n0S+4=hq9;^Ua*n0p)kA(`0g2N4)15brr^X+FU z=w}ubY`DBvL3jT%#DExRWo3o4BEvg{7u@?4WSTA%UVJsHM{4p$mbfd^<#J5rsK6WOOp zo3ESxSLWIpUBQ<#xvI7tW}1@N+rv?DD=+%qMxN6bEnaTqOHbLO{Qj)w>lAjOcWart z`u6mX4k^VeQOUDG9~f6wWGg z>((jHvtAt}S;n>e=CSrEJ2#)1+3honef{ghcD81SCjYh`PLw_ALczu*tbI%CU9$D&t?CyqVKGrp;lJtsnXaqHUNSWl_eH|Y{> zI-${=C%rz)Z&;QWxJLHgxhc8jKUtyed{7s4y(Lq&kg^ERooz?GW=y?%q2+3HXk_V& zJ7!hs0dZD&8}Dj!UfL4+;$M{_Gk-riXG1i(TK} zi4eV{?r^N}U;C1!mkU2hdhcp%TR%tpm-zX(S9i5^@9L`5Eju$eu=NVxO?QRqa~-#R zJr}=XHrJl_+83X1w7r-=C!i;ebL*9*yOlfDd8e^~dL>1(y9y>%MRvr!%=KKMS0nwc zdtI8Hn3bGV{Euyue@3|eFOnBLeXC{0{?neZUQE9dj4g}hp0Ei2l5;$?Hl%oyZt5Hc z9@pyX9?&FP;kD(=Cg&>tUwX-!YqqZ>Ml;B9Z@BaWKhw8G7Z1ppC)}`d6Mm-VAT)dS zqzdIso_@BCx$dGrZd^U7!og%Wk?ZAMuUOB66Zafi_GQ|XUo)-hH_FXdDlHe_`h0ca z+_r3PmG-6Wc5TX{(R)rhEzT-FabwDR#YNniMlxdDr{o%bKcKSMzz-QbQFL!l( zEArjB>*~9izZWs`B<3+(Zkn)NEknFudfp6QzVCW-=D)xD)H7z^)Y(xVg^|+lHJQe1 z9a-L2GSZ$c3i`A?BV+k1jtQJ+`}Qq5SAU@R+>@i5zus_^%Gwk%=XS`u>X07243*Xk z8Rx$oU3$aO)s8;}0{3ZV{iga_Nk@N-k51>^uBoebeMR7Mxw+ zt5qIW_kdAz61$`BDKk^w5UHY`d!HWI8ZsQbG<_QlMJM<;C1l}HMY z^?Rci(#>@?@J(v;PG8fygV34ler0t1Ik$s(J~gj^uI;}nZTm1KY2SUJ>XgjQH>N2bOV)F4x#Snmq_;rM-Zt2B-;6zbddxbH`33IO z4fCCP=|4yEqbdgHYU|5Qie;u-^ncI2_%wQFU~4_Jr3qaWzJo7fx5Vb-*PiX+OjqjR zxIFu}_~YP>kJPpnF?KyQxW(_vw5@YX`>)(bPn7QEhTKm)x_pnr^r*MoJ>E^voqv`r z*f^Ehqf+v_{X&o5yKYGuPJ--T6UZ>FFY?rD6m_h1kg0aqv!VFKM!$EFJmPt5H~g%O z_qfNnzt#1rT&%!ymASR?bHKBkM-H(SzY?3-6ZqanVQ=8=?~=u=SC6;XKHV2wZnfZL z->27|^EKSsBBU&OKApLLYibW);{Koht?LvHUX)yKf8wfL?9z!3ivCa5T(CZ_b?PGK zi5?b*407@h8tksQ^$~f*Ij$VE!0^+efOEGtC@uU`T0VEpZZoAidlAso&Jnr!m!Cy% zTm3goi`P+ihO?Nt=w)t!X`3B%rtg2(TPHNl?F6Gz(~l(AU3H#SY!m10a$j`+M)I4U zGAD04hm%VCw_QnJDK1*MQn2#V%gbwS%b2zaJrups#lBdurOnjj)z9@)F8BwRH%Wi3 zwK_hl%rtM^pPNt4Eb=;b>6}H=iKiEK8ieWHc)ujB!lA08Vef<7P7aJ!%OJ4eBemMKNX3ma_Z~7;gr%z0Mry=5*?S5;T?oUmtIG)X- ziUQn=Z@+YZ9jn@)c)Mv~S>>iR{LNk)r2EQM_3xjO6a0S~DG#k~aOiMfVds_;IcFCu zllRpKzs>9`<~P3A*K~E&6xy@fZllhEIbU{gt~-21*Jox`UN9Tvo6Q9UvH#39RrHLU70k^{iSz}G1s*%Q=6B4%!WHxrkCSK@w6Gs zIA^{x_{LPgk>{#3ad!T`pEr{GTd$YBNR*poe(c(-Wh~D$w^d6oxEPne)OAH(d+d(s zg4bs*t(&!}MCQnc1l3+XKHi)KmuHq8wZ6M>qmuNJ<@y&NTUUwut^ION`_aFGsS0a$ z8!cC8eOWwZYiqu@+ak8G)7OoZm?YSuH=GT6zV~A5cadN7r!0MaJ2dKY7~ia8>ycI+ zz36aI@86Kzy7+CInc?!@V~MM!Y|__xwrzK24cV1wSG}Ti_v-MsKjVbN_)2Got~U;T zcawXMS+mP6a%;AX0+-~+it@r?JnoL`R$#0u>1^!V`Z(CiaZd0a@XFsQ}CGJmvlv)0ta)gnYLxp^20AL z1yp9Jr?h9QUgI|6zw{#Vgx#lxmb-HgHy@e1PP5R0V{TT7-g>^dx639UZP(3QeLx>M z{O2kPyc4tv|8lN3R592T@N0gPU`uvS|)?|RT|9pJ2^xoP_m+m?}NApF^CXKUW{+Nx)Jei^LB-sYPdwo@p_`|3%RCr<*pG(NNLDT#Hd z-nlHs_i*OCr89poI>x!6EhE4G;JtH~?5v_rz2KP{r6IgRbmas;NyjhJ)#CmOOl(fMrj}?;uas!52L8(1r#dVj|MgxjzU8Jx z!!^hGY)r^gNsU|G7npv#KFM^}%$+Ny{Lz)VwbF_yrDF5q^(#Khf0$!j`7y`V&G?>@ z_tBlcPxrYWebM9=#L@fBCqAZ2*2Ot~%APxNDqXr)r8$qf9da?^TPWFlBhK(Qhup74 z)9jBG9(&EH>msZ_eeYujQKN+uGqhi%F6R(jdWU~eaQNhz>`EEN8Z%DKoho19(Dg*o z-MxELs@j~HD@>k9?0tH$I?0VGGTP%&y4I49Uo*JUuPwTq^wwpg3Cp^EXlpb#gJbn) z4potXT#7T2B=7gPg+=ZE$-7%O~af|sKOEPUdP30pXSyo8*cArOAK<$Tj= zk1N%0j=omeboS8B5Zzht|B6+#Z%E#J_rD6_IE{nCt1^X6q|~QZC4RQl-?}m0aoVv; z>r%b1yntd_lz`;trA_ZRCR&0vd5YihyG;MqzSPHmWO zaj(Cn|8m^Jl^m5bnSW?#L>y9T(+=3Zl>bQcYqrn)NTC?V%@V`DCU(QkmU#tb) zT3((7Z;dIO9JQ0-XwePd*~lZqZeL}?YEE(Yue`eNfQIf5?GXG7w+0} zUew)n-MfP2%(LF@*f#G+XHtrSrZKc}$g{*_+cSI7U3tvz={77+vgWV5bR&J||C1sY z!q*@2y4dKUA|t?`%rxz-mAnSeoOYx0YGP(Hg14VY(K&Ly?Cr|xzz6%Uos};1zZbNh z>wiS2+LFD8zI==la@n$E`|0i{OIvxX9*MH#+JaiRj7A5;^416LPx_eXePBD!mQP*3 zT28@tvw-F$*MNr}_h?MnY_{gSM*ZE`v#-`Ablm3$kLYeZ{(Q?%u?JcEr+PUDaHm~4 z3LVcCIQ?{eb@G&!rGiBXQxx_^Ok5W~X`bVf z%wY}p(VMf(J^jd;<6bxI*YnL;eth|&oAL|&ihs+rR%Jp*bxZa{?ApiWXe7bvXCKAx zUU9ULrN>P`>e_`BXI}Y$+n^aYFYGjUrF-N3mp?DfzFxiW-MT$0Lt=)?=i?%=?>F}* zY!zSkbBoaJxP`y2%>8{X=?U|ddneZGevN!}(JgM(@AW6HpE`TX_ho?4fp*r zcpTPXwaM2B3CH#-CY-tSAa>`x=fan#cW!V$b7eX2C$Z~?orC^WaJ(s%^K5~&{bZXE zZNHx!Zi{60?#{g+8P?JwueLIUr9bq)u+qN!#%pKP>G2iwwBCMw_{fId`9VE?vC9v< zGyA5=wA%RP(Tb*;3rAbOe-^9(tPHeX;e&72N|zz(*JO@=EuG@92uloZx11 z^k#79_Md#9U@=HMx4`CO_=A1IAH|pb5aw7f^sseVo1>TK^jVi4#xZ~j8J>)=E9x3k zbw`?bz zjF8cMu(|BkbIXui$=;5P{r7)&p0`Ozuj8|e+3jrw9tky1(`PGX^H$vA7RJDvbu?@d zXJ~Qjp@2ENFQl_>TfI~E0Q)L7ucnT*ZI;WQA_n^&Ob}3LIW|@1yMb@8h-=SY2AQU4 zl${^#DxZ1dJ)?hYOHs*+l3S|J+4*_z!?%ywK*L-}raYG%7L@yfU9?$LrbtmEW4JhB(MC9anEJyqdtY+t##$?2=_-^G2D z{&*?Ca@T?hrDeaay?a%%%t~jjd)2aat4%7?>syY_{_^bUM7u!l@)b{WL~pol*IMb# zTdichy|V6sjr78bckF(j%=>=LEO>dXZ{N+!T}_MA`MIvvzuElM>Ct4<2f_cU^qrR8 zs5g@cjoy?bzWU_pM&0N`AxYeBM#0yoN*_IU!B4pLi~Ka>=t~bao>89~Ds?N8TlnId zV?}(^Caf{}-`G_=>(c)gg}V+HpTVXs3s~+g;8@e?t|1{YQ=8!u?^!OLusybO*vc=| zehi-f>_h+I%aY12Z2O-*cy8dOxTRjTfzLU%x_Z@|x$?gjwFXqZ+Le{l-sJm)gKvXQ zopMuv<6oXTT$U%oUh#di*Yvm^{J(9E*mq$|rjPMe&wV4G@c&x=f04k_O|LG^R=vc# zM*d_`laRfgB8z)S7)O15VELwJ>}87C?*HFpwjOL2x+mJVYQC=hb6Bo8@LIUBp#Q?o zMdf*GvQC>-2>#{w^j`k>iSe`&=3Xt!@GtuF_FmZ?8nr9h&0B_+`b8__(`Qi zzyH&^YvqCJjY73@w}t;6<2?Fes!7I{l5&-gOAcOQaIUV7&kGjx3)1JlsJ+*rd)J5D zf|yk^`%8;vKY5i>^m2#Lm97wv_hGL-Y<=C+`aGprIHLWmujihL9^b_-Ha6%?+OMr7 zvBG4@cYDd%wp%ZKwrM*tvo87lBhD$s=kr~@YDrz?zQL;6zQp*7^AAhzD&|65^gr@G*8!QLr0H==9Z4S(4P`5wG?FIp-}=GM)Vg@MoYuRRVvQp|3f z*2LVWW4oa@u(r!F`n5@_sJh1OTN{}KUtgN7`f%=+6NfBk?4juQe9^1iJSw6MjPK)pQ#p}=RB=s@4Ke+0k@Fvw3)Mj@1 zyYT(W;PBTfS?=+j=j#&+AFu^@#Mwmm%ZfZa13H7x@^?o})q1C(P!sSWe18`$xvQxA zH+*B-*{M7g7el|a+Bik&-b)r2Us|57Z6~E94Lu|<;!h{nMV(R`r8{1CtuG#Nd1G_D zP=)c`g9G0?3U)t;VN|;k5RmQy9(Db{sluj0OXagfQc9=Wp-skHe}p7`yAt#%VUbD9 zlnHwH6I3<;j>A5}c_z)tKGd(|AAn*8-`srd~D?WG0xc4jz3e0~tf7N%1jrW6A z9=WEyUSzIt*4CS<(bI}%f4X$nd+PtCu1^he+)aWtzt?VmCb6`2kse1=?1eX_OaAn7 zFs2tQ@Y(A#eR-&gi;=k40hOyhQ;ybaU)Aflx{3AW^q`LszcwEXR}$}EduyqeiqOPV z&xnK94<0?Q${>4i!3%{%ikQP$mpDCKM^U~))e<7!hy8|9(G4?J>ZC@yTC3n8d z`Sa6n)&1~TdC%latN9T|*_^_SEwdE#R+}7aQn=*Yr_trJ-}%Pkw-XokDlM&^yw9wr z^nsGw%7Bd?iv>9*En2zb(vFm^ajBdexjuXMzHhyHwKY!G`+J6+OIY}Sjb(8wvt^H7 zD7b9N#LMDj;{+XrcKc=WaPx;Il~=ak9+e8+OnVr!O6=_SI_`T3QZ53&=O1~LqG@+g z*+)5Bd55xTZc`ussiktU+XK!v#((CkX;=KtlDA(v&nz<`Zq~y+bN5Mn0reN!Jm-k8 zRrUq<#XHG1?b^+vKdC``;`RgiGoY>e72Zc)^^~9e`tH@tsuO2w7CvfyI_EO;CILau zZ-N`Q`StiGzFi*lP-%5h(^MOcM|U4wlQ_x$eVVz*qD}YL^;tD@t@K`Le5LHdjec&1 zDM2z5b~LDd7k;W(b#hOV#BQe#k(V~Mp7CG0RG8o()&55NmQ}^Q&h?5O!47-Su|yG^$FFUQk56JDNHMb9K+M}PNmCFT(iAu zUG&~1{~fb8x@UdaZnZsVqtwgJs*Es z_>}L)cDxlJXX$_xG(VBgP&}nckN?Wyt%QB^}cM?)}Sd@LX6}-9X|5^L_nWo zMbq_I4_g+YfXm<9FLm;+z4B&C`+*I6xoWfi+OGfmjw}3~a@muTNXJ{VUwre5eeIi~ zW!|b>(81BNNAIj$^z6@d2fOb*G2T*dXeX+j7o;t|AcAlA;fbK}^W(f6zIu=Df_pTp zh%{^Nh@BAN4>J7&g5e3AFQT9%gZ z68W^aZl7aI1m-s89Qk{%rdwWWzfP6-9V2(ei_bZ`O!lX|UY}v*$K`yzZnxFTH`6!V zu?)=9)d+t+bv5_djmgtx{zPBjpY*2a{jbupIra0W-rKM6w6n1__x5G)ZnB(Vn_a9XLBhUTH ze#+FQnD9-V!b>l-HsAQQLG208pQ&04H|Z=pQv9azM&pW@eV4=pJ})u(CsaD=k#hWN zHaqF1z5cPYgP;2uZn2rWC?VBDrN35n-j`)M+b6{`+V2dU`!{FvlE2?RZL)c(c>dh~ z`}ejVzg0B#``P02$@b?T$0gs{m6snC7^FR^Rbf@tWetrjnM|UYzS1Hsj%phxPE>Xf z%$g{rIgQn~xpn2Q1wpZ@nw=XaUFq`?Sf|yxdWxIMGybScT@tD$Uv6CgK5z5+x^vaP zqK&K5&R3nOo3r=3<@00NB_-e1m}b|$j@}=+`PuCEzpriAP+HydB=?kL$m8j@f|V6# zYLzn9mh0?De=QglF)P3Ie56Oh$)j(BqA$(Zqa!$h!-FNv+2KQ&vHzBjS0i?&_1otQ zDk;v~8hu_l*m7_Ag?~Y6Sx>HL3&zf|H+3stEVk#)EXAIMJFQ->Z)lqN=T%&o&DDSY zZ|+Y{NsU@4>LhhJ?@`yX`t&55i{|?lE~##j=MA;14*xYX?jFbT(8j;pr`s%wm~XM~ z_wj|VFFo47lDqQU>goS?Zaby@S@`$)-h;M+o$5tvi>uyW_%|=^<#nZb7k%GP|Mtg! zYTFS@-&Z|C{!>4OHe~kM&p+Pb`LnLjX7xYooTrCp{kj-_X8XakRZH*3d$n{uKii`F zIyJYXe34B<+#BC@OK<(>*>FMq=-MBTvX8yjzG%PUue|u)&U^>A@WcDl3zTN(nSRo5 z*`s~suHwA<3$=A0rxmRg|KH1!`_VGe)VT6l@5%iyTPI&GjF5B^vGV%Wur{WA%Ink% zGF+jrZ>Ln0e3UI(YrZ4>MNRbDXHV9K-#)a{T&DQG@Mg8kyDtWOGe2!`IR2jg`-G`R z_rvBHuV&}(l0RDRcV>3a%;nwkCskXoKjoD1bSo`?Udq|=W{Zo1l7iq44;B_Ro8L#j zJURR8;^mdqHo5mo9__a2V1D&k`Ssojn#*2oeq?#)$KHVI=*KT!9+BefwGW=!w&>o6 zDeQMY@UP1<4{W^<@PGF5J&QR{X)vE!X&GAo_SrptnFGoGl^m>pcGszYUuFJiyF}N- zGp({xi@sc_`8qfF>D&kE7Y-k(Ff`$dwmBcUbmxo1TT@e_4n*i~@wjkh=6-{c`mLp3 zOg2jGKA!b>vRq5srugnkyV}XqGw$6rSv~d2oXIx9|Em`4xoc77Sm;+=y!q63@5;_& z&wt*yEcNhr?9;z4F=2l_{(iDq+Q-)l{ZWbGdnI|&RClY)+s1!imUhVG?RA6%3eP{cfkbTxHAZG_C8UtV(yQ*jI}Fzkc1X?Sk1; zcK_ogb&tG0*N5;-*7(t|SVrqq_$G0!oZRjHhhKM8Khieu*u@oh_l~se%>_IU)z=!F z+&=ZQ!~gZ$T;pdh4_LOd$H;&Ap<+L+S#!Q=Dr@e~Xm~#J{dJl7H{{c9be&4^wYvK^ z?ctoM`?$64gw)nO;?LvF+#|ZV^ukuxWvh>^P2ciCtL07Sujs!qdRuN)Uo9__^3A)? zf3cvfd{dhA+wZY~Q(1DSN=*83!&Abp`ZhOL=kJHR5Akb0yB+5`Q)_;z=ts_WEe+=v zDYv_h9pC@y)*Pp$x*l8S{@u&AczyGZ)AwYL{_U)e6)qHb?iG|6{rQ@FhSS5YR8NDH z@Asnnel~U2sEBL+;c_n$axa`D#@+MqHH-Ity#vF33vf_$si~@vTP}kKlJ>9m`;Xo+b!$%WA?kH z{{LO}Z`S%rWxTUv*E7A1{rYY}$ITzHEenoRuT|puqbJE0mVW-DySlS~WrF^n35hn> z&r9+;?=UMey0u353;$)YcdtH|ysq>MndtpuTf%wSov&gou1WYRZ+=O^>1Ertw!Sr9Z+V`7kvPU7*7MJJ z!rbtSJeyY3%+otBHSMigb7B2~9jwb;UaB5gy2fMv99g|fU!C^5O^aD;_UFa5@~K7} zepOXx&oqB%B>&{8j`}?L@T`QBHghgU81b*a#OHBFE%jl^ey+}4M%MKaucW5^6l&~t zaxf{+KjbZBAiS?(#`{*?ZgF>~d?A%CuAfua3IDvzX=wHMLhkibYM-vi_wTW|YV=Vs zxIfDxcl$(_gDE!O6mmoOF6WuWF8{HLt$y;!E8VM>S)MJJt-HOBSEnTQ^2w4%hE--; z7CPQ2%Gn(lu-;^M^X1J+t7lGIDPq@Vyzh{LmrvBMgHtUI$Oc?d&zJHS`!oC7r*oq3 z`xo(jT^;RP{>nGb%J6=fQ|ygcrEKoUDRq;ZAF5>SNbk8hkwuQrzGFq9>y7$HJ3i{a zJ+bX8n`_nFiECIUKUC3KWaqSU_N%pd+)oajERa$8`8|+Lbc?f}y9hJu;bMbtAK&Q- zxNZ?)@7{IVxkaFx!zev|D`Nrxa520!Ob&b>~^X@mM(kSzWi|4x{Vq7UyjwDfB#PTShU5C zS}(&%(>)iR-0)s8WzmTOVL!IzCf`{T|EN`be|&z!?b|%zVVMi6s>*UgFK^p2VV`lM zyy;B|lgt<4Uw1Dl?AZO;+;i$|({rIml;%w6Js`ZDfkF0-r;B6A3T1A-bAHQb+-=tT ze{(|vOL3=UdxiEbZl#L`Q%|P|@$|7b83v1VFy*({yPl4bE=o*TJ8{mVZI>23^Ra5+ zGD>pb-YapiddF|UUza<69SQ7kT<}0(|MYYo;j3A#8~>EZ$|mZ@NNUC`-Oqm3O{P-4 zb|PDN=iZMOr2V7!>gh@s{`n~BSx{w^@+4}?rrTc^_EjiJKVPwHVTZ4fvM5+09w#9kRn|^VybQJ0?zbvk!Ci)UAFA-PWiz^>=MN zuzIdu2d~|#7}v>+I+sf(-V$N)y5_iQ+nbqsIc>RV7HPLq89kM*#jQ7S+1JK1Qzx=G z`O~5w^U~uNEIa3Et+Z+O6I1KCMs2=+$EDYazdj<*{l$ShLMn0kyf>e2x))8|m3Hpw zE~Wd=*$i{i*G%&${&3-`>A8BI^nKHgY+qe;U`8jaqJW>@?>S!FbqY%hg1&s3Q-4@c zec83*2|mBn_ZT#pI?JXrS96QqJHl~)?-vbO#dMymWw)Q5y>gM|AKMa_rq*w77B9a! z*Gr=8>6zvjhKqU65*?jar?3k2+}x+XuKXYW>7=?Rp`8bQDsMQbbIedWtvWVjv#Is( ztTvlPnp-w-h=$%-FjXO-%jAI$(`D7qx0<)hJ$mSPafx1h%gUEGv~@W(x{IbN7p;?w z(4N?`Wv!kzi)v)zIll*0$5t5!9NQpsfBwS7{9%X7 zzFGI45fyy*?D+Djtg9p!C-!Jg+2gO=|2@;>cD1bb^?erWq<=QsEq3w9gtY9Qrc1IUT76gdVk)cV*YQX!-K})*!3)cm$=SkM0aB5jvst+WuNchs zeYRFjV@svjqa7wO;osG!Zcj3iWZkA9#Cu;V<)+u(H@hCb``#t!Eq2ao@npN)S*Jo< zX7@jlw2o?y7Mk*4_R>g?8jZHyVYOisn%8f*dAR80u@7s4Kg)04dA~GFI`Okty2asD z#%uIXN*Be>-kqItmsh3h=k|#!csrVp7`N`bza(KXYxc$!$MinA#K+BiJ7e~#4g1Rv zyw`hCHv8(#l4i$!3(9ZLX%{zf{<2t?#Yw^3Oz_OH6MW0-?kxMtSIVOQ`*6_l?PsQQ z+Ek_g$CYPZC4-8saS9?rZc?l%cdt`8(0sEK6SX3 z^5U%RiU*U<)}%XkiSKP_Ig_^Te&ADw1IjlJzStDGhyQFA=iBV2+kV&M>|3K7=T6c7 z{YpT{aN5&#PFz+g%OqSJUS$UMvTdEp9Xv-z`q}0kb6O>DPEy##viAS6*%J~k7jP}T z{Z#63iT);$oF!{SLjtlc>ukQMd&JR+>r?Rh!(8>ATUrETyPGy9FuT>Ll!SFF@5nS4 zyDEOWZ|B)%8$ayI(q}uW%Tv_1e(kx#GGC1j7gW#KXIv;yIpa>%@42fs%ocZHC`l92 z;=G_f{a@n3n^QGA5A+En)W0fhvV(-l ztJ<|QZ|rR@Q@JRU7O412W6QH5H<@#hXIvHuCL3Nhk=Ywl8x-oO86n&*Ad=&_?B1=D zZxdD@nz8cYYJo*YY`pn3C27CzZrv#we&Fmu?NhJbY>(V&qP>3CUS_wJ<#Vnbb(#Kr z(gv4nB@wmyKMt?FT(D#J$qSd>hMix-!xXwWMoeIV(hNQpF^{%0%RGg=FD*B@xv&3* zud%&jOLUUR%xS?o8~3CnM=-GXEIpoBy*~VlTR_TZ9Szo-$0y#9-1z)~mAiq^8n4T5 z_Xef!;oBHHMf6tR%eIW_!m?cU=9<-?4emB(t-89%{(OON_Lf<_|7L8QAFh3Me*C}o zrSr-wU6nStvTRckR5B4;ofPEtI`r5&zT#Ex-WdWVLfc(W7Dm5`eD>Y>;_1Uv0wW)> zJY#qJyh!EpM~&2Y-3_{%^~Exd1r^WSqL{Z;ue|!ktZ8d2dMYL!U*Or?Fw-;KO!E51 zvrnEMnri<|##!cJ!CBMgJU>}ISKmCeP4}v_={co~IxC#?99ibLC;2?)IGrM>#>W1y z@YQ+ME$8Ya^>$1%TDWCa!GE9h`DPb9FE8PJR5)8!+@ekJ>#S#7nrn<7e)3@3W+wNF zeePR3!>Q9+e(yhUJ%aOw`ktW7t--smrj+)s4!z^4x$$kqy(zba-%3~NHP4xA7Cx{2 z`5ohQt3}5*g#@*1pWpoC3Zm?Nw$v<~%wnl|=Tx|EENp{OwM6aDwTFa59o%k@+XnTk5mu0-IT9 zSUz{!z-gU*?db9;?}Gi-x~Q0(c-xpXecEQJb20X{j>!=_g5$5HdR%>2a^iI;^N#*4 zT*2RGJ{GD$UCCc` z@x+qdn`~I6nvREGHte&wdZZ|83U^81pG9ha7S;aL7Tm$WvQ0^FS);pdP z7zxR$rESV+w%t(Oad%Bl?XkH1GfbTJGfnTE$`PGdxBG^aS+>QoZ@Rj@mpgBLvod$x zygOEB=ZbS*W~@uR^hG_{YuZVH&JEQrXqKxrfmug3PWa~)<+5T& z*-yD?O~ya91uf!PvgWPXI-?lts3y9iWx6wIhz1bo{w0qlu zFWWY%wk7}K*dXh0;*NdTe(&oKf~0ERn7o-2YdOJX!Mtbp9Q(_qUFJO1U3{eQNa_n; zHLJu&{W~*Wg{-|1ufuo9WozFRpNnzYjiNd}CoF|jIx{$K?hcEUuIoHza5ehwvqd_` zB0l>~-I*+OFQMjHXVa@EWxwWEC7)7Xl9OaI>-ZWy$#?T}_08Db3k+jY zgKG9A{OQn+nHN)UveBH^ZO77k52VwNymdBN+Zt>aNl|?hzeoARf@aITmSS^y* z%rn>O=0we7s`_saA1c%`R$+>EN!S~{f5k(S8JDshHDqfT#nNLVSC zb!%g+%lY3oShpF-ygqp6rblz3IM?!38(ZUqwq(vPEh^UR6c#ye<)43uN9p1gHFc)h zvl>=7n65Uhwrv;setE*xwOksxs@)R5SN<*8P(1hei;a=a|5GIo>o7!2JDhe`F!Sua z+xczFx4Tb~S(o5na{pdv%rDah&qD_f_1^vS@PN@vk2%wGCak|0nbV^@%Q>i}Dq)4h zYTeJf*YI;+mYz9<Hqub zz|Iv{c6Cg7THdU?_xQ&%GvYVCRPK6mZ1JKuOlt2$m)gGwf4SHx*?PH_+4O`r>sJe# z#pZRII2EjqtKU57#nzz+r+N6iis%NeLHKCyQyirho#VIc5oSPK^H{Z|LJ7c+i*@W&&p{Hv1 zX7DcWPg-gJu;<08HVk42PXW^?U5o!{}7i|<9o7QryTO>WNIfzhkpzw?c_DY#8b{=$+& zOXua=M4Ysoe!1k*eqYzJke+vr`L8E6J>9nKUc$}YlRGvR1g0kkU2;f}mYkLNYm>&- zgC5s5R6kmBM`VZ6{^xH6RFy72V(m?=P;fE)wmvcb=!xTgJsb}XZ|Hn7$>DxY>*wsq$mj}rYFT$+rfTv(mL49g#`Z3VaHyiR=h=SuWFsxK{;j~ z+@3sH`gTS+&&cid=MQsEN9>%@o+=ssX_w1` zJ%SJ7RbCeeum?Xox>BRU<#PGf(40GU&KAc-ADys&qjCIlq+|x?<)8C1*HktBc=g0u z;PqVoJGT#TKWE!~sz`QTxc2O~?nbFo9X8ra{W!&}`}B9v)9y7E9h@uPe$vi9{Y~a+ zqW90YMmyguVY}UWl`Cg;Yevpz?UepxtB}&bW>Y({pV5Eso;|0hy(z;&x4P%z&JPWe zoyB!?c={5j98!AaBI2&8%)Z(D>HRGUD&_p&u3c_Oa+$@oo>lSfs~dMiFU)mKjtHdtqGou1{{)&>`KH?4dn9?Ip+`h3rVt+$^rOW&w^ zbM5VsvYH9)fp;z`r0=wDH*xd%cJHA0wF&oD@4dC-9mn+fA>C)rzwc;IJ-5zgGRGUX z#@@8#8I2a}IvkTfERg$qH|ms1i0QRVyDOgcOTJv|{!=tj!fem#wX6E>Z|*QUenw4l z*6pMJmiv9Vx?kkqLEESCU#_lx*}vs*zv1quliC9I%`0}@`L0bqOY3@g>Po)bN52;5 zyfhNc>E^z1q3;g!y9=^;mP+AiZ+XsTOPkl9G~1NDePbBwUD3CdzLPJ!K9q8;yIG+j zR9IB8;GxH|+0m*?&15#p?R^+w>hELM7OrTgy*Y(vy<_ImMPb~pOR_8CI}aQcF}kDn z|EaiNTd8(!`Egadz{=X~eZA7g0g6wzoYLHu(sZM*Sh7gEd5=nUp85-^u%2d zs&qH*Tf6H8_nE4KH_Vu3`yBtUB$RNzCLG)AwoSNgq3YUcAD20P)VrD! zuCZ>ysafWWV?@qrT>JC*^ao4R(9Jn(H*UY5@wfZ-v&F}6onG}VJ^1t9?Y;GO0ViGw zPMdW5Zv3Y_Y3{76+vB=(YekDv+jL`BH04${zG(?mJ2lyOy;0gj4Na%iW4f0Q_Snf7 z26kCGXp3yC>+&!;n|iA7O}mcMibLILTW785Fq7=lzSrLER^*w%Sdu#P56fxqAK$Gn z3W!->H+elD@D6QvpW1b_s%Fh;AptX**{RqJMq@hpMS)+J&vikTQgz(CBc0> z^NrKNuyem@S8KV8_oLnU5mS=^P^3zPMmAbuI&UH2Xh@DvT;lZ`t%Qi}8cNRTm zUHt!W)^q8JA2SyT`q))GeRBL4JHOQ5|7(uuzk0Y^_h>+mzRc?RbG6=E_sHeR-4qa3 zf4BY059RPb=KOcv15dxJUwHA~to8Nh{Of-`_~u`=(6uDzmUqkRFOS0)v!4_(`?c;` z-IN{g4pvwD8@n&Q_~$9tDftbT)KX4(zV7e5sPgO0-G|W~7OVeXjQCv;|MP=1oBhmP z>$m=@&%H83gMI#osrG?a`{Q|yPyO1ic8lF_icXu%s*t`_f0s^*otKsNdiJun{=YT~ zJwE*<)xR<_P|o3V)Tf{3$LtrZTE6h>j}>26t+uZzDDIOuvF*3LO-9Xo-iNb=rWnfY zwN$n|mjCi({*8`H#$R@W{v@RP05T;=2x>d$HZxjA~h)&3CM$E9`M=31eGyWA5GJ1PA0 z%{pJZ@I+K!mb69szC#OEw2wSzH!^PNE(r_1BRd(vyo!j$!+7GXM@c7t~+1paH zGhY~Ev z@i9*cQYv^UAmG_@{d@dh_r-hjUw_NL)`N2J#pN8vy+J5>f zYFYJTLFw1i&t9x``@H_0^!u`Yx!GU#Ew(r>@wfl=%9q;9q;CG4vh>&64ZPb|zOG*X z=gNxjvda3GcV+wke-K~y^x(y-`m2AvzwN%?BG>NHg@3Xi1+Pe#mEZRh%Bh;P%6?1z zXT$xU)n|R~G5S#{Jmqo!J=40=C#C-hb8U;O^subhw6taJ?6<+L^7|g%-@X3N84(XFev+l9nDcKOc3$ptZSI5}N6x0LaS7WjnJ6rFTS{_bmF~U&*S~#C z_Ih6X``7im%3OwT3R?BFU+yhD)_^ z+x_3M$u6rl(%&B@ zT;_-*7vDxYqWmyczytHm$1ZP+tWv@;!9YQE%cXUz2LRv zN;^_2{^SvJ%GrY(8YFh6=t#1IOQM{rmkGgd-(5PmaA$RUo@dco;j3@-q|H`eh%Pjk zarWNA11Fc}Bu;kRC*o;zv1D3l+1vK%J6>m%ti;atZWSyvM`ItKCz4D=@<@L@x z=V$m%();S@IfZMMQ0#H(;u|${L=4<#wER6ed-1vNC0`>mHT(5ga! zDdR#-IltMslr+<%K z%hH!WnH_r5HBsV&?w_|!Tb5L+D{q+USoe>iA@}knZ|R?9k`wq(mwlXaYJ=DLby(;Crh4@zMeV?|z`}p_bm**iIeW!Z&aNNGU=n>CVCCz$O zCLzYo1{ctJi3uEY1Q{D$GUjDGUcIsCtX#d_Wwn&s1zYC1FDt5gzu@mur%R6AqRB0v zmmhnPcg1M={Os1S8QL7j!vk-~)Z3YNFRhX6{c%0>SGn3T;o8U2Uc1yEw69P7zteDs zdeAz}Q(Moy-0N(;Iq7`Mb*6TyQ_H@4SN~gnF5|6chPF?%(~%iQk$0cG(qG)%8@)gD zcVxDW;nhiOdlakV6$3b`Pc4`gc+YSDDZW#}aL0PE#D#Nks2Kb{YGU?v@$$|I_s1=4|V2hgb#MwL>0vZHfCkx8i@l0(aO22mKZEx^CSH z-EYB`+6InI3wxGJng74-Sk-aiZnJIp0vikaX(`@9jn+JkIloz0wUY}I8W*m6otncN zlVu|1Z~OI1?f1Lt5s{NhO>8EgIdVNpmA$S@^rd@`v48s1s6|HRZjZ#w&WaZ9kn?^1 z!<=Woti^Hx_DpvlG5Nsg-LI}!)lOInPD=;M1RvP0pQx;Q=xvkEN>7#shq*2q2QBMa zmR0Y+dC*DrYh=zeHGXI;DsW^(a&R4)tH7S5{xY3!`jo&4|3Rxfq*#`?L@=LmO<8@O zPj6A=&1GOO?byPhVDm)E&{{v&TqRkk@pM1KR;kCIHfvi>;qYKlL8RmxR!l)kcdV97 zS^(AuTAc+l)tZM#g7NeI|G&_E*0%}4Nk5@ zF=ef?g6g5Q&RU#a$X4z+EHFXnp={Y7!m*uirHTf!l@Iuw9lTn~Z}3ij zgJKF!hc|A1pCo?#qwKYCG}m00WXgQ%G0Ek6sUk!AbdJ{=T(c+6L~(%%)AN1?7AF&~ xNP+fcSEbss_2<|h-{cC70a(~@J3jc&tnhly`Zv05(hLj?44$rjF6*2UngC(6!0!M6 diff --git a/platformio/builder/scripts/atmelavr.py b/platformio/builder/scripts/atmelavr.py index ed090862..2c6e7c29 100644 --- a/platformio/builder/scripts/atmelavr.py +++ b/platformio/builder/scripts/atmelavr.py @@ -56,7 +56,7 @@ env.Replace( "-Os", "-mmcu=$BOARD_MCU", "-Wl,--gc-sections", - "-Wl,--start-group" + # "-Wl,--start-group" ], SIZEPRINTCMD='"$SIZETOOL" --mcu=$BOARD_MCU -C -d $SOURCES',