diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c6fe696 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.vs/ +bin/ +obj/ +Windows/packages/ +Windows/Release/ + +*.user \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..ef386cb --- /dev/null +++ b/.gitmodules @@ -0,0 +1,7 @@ +[submodule "Windows/min.NET"] + path = Windows/min.NET + url = https://github.com/MvRens/min.NET + +[submodule "Windows/VoicemeeterRemote"] + path = Windows/VoicemeeterRemote + url = https://github.com/MvRens/VoicemeeterRemote diff --git a/Arduino/MassiveKnob/MassiveKnob.ino b/Arduino/MassiveKnob/MassiveKnob.ino new file mode 100644 index 0000000..9829040 --- /dev/null +++ b/Arduino/MassiveKnob/MassiveKnob.ino @@ -0,0 +1,495 @@ +/* + * + * Configuration + * Modify these settings according to your hardware design + * + */ +// Set this to the number of potentiometers you have connected +const byte AnalogInputCount = 2; + +// Set this to the number of buttons you have connected +const byte DigitalInputCount = 3; + +// Set this to the number of PWM outputs you have connected +// Note that this version of the sketch only does a simple analogWrite with the full range, +// which is not compatible with servos. Modify as required. +const byte AnalogOutputCount = 3; + +// Set this to the number of digital outputs you have connected +const byte DigitalOutputCount = 0; + + +// For each potentiometer, specify the pin +const byte AnalogInputPin[AnalogInputCount] = { + A0, + A1 +}; + +// For each button, specify the pin. Assumes pull-up. +const byte DigitalInputPin[DigitalInputCount] = { + 7, + 8, + 9 +}; + +// For each analog output, specify the PWM capable pin +const byte AnalogOutputPin[AnalogOutputCount] = { + 3, + 5, + 6 +}; + +// Define this constant to apply a standard LED brightness curve to (all) analog outputs +#define AnalogOutputGammaCorrection + + +// For each digital output, specify the pin +const byte DigitalOutputPin[DigitalOutputCount] = { +}; + + +// Minimum time between reporting changing values, reduces serial traffic and debounces digital inputs +const unsigned long MinimumInterval = 50; + +// Alpha value of the Exponential Moving Average (EMA) for analog inputs to reduce noise +const float EMAAlpha = 0.6; + +// How many measurements to take at boot time for analog inputs to seed the EMA +const byte EMASeedCount = 5; + +// Minimum treshold for reporting changes in analog values, reduces noise left over from the EMA. Note that once an analog value +// changes beyond the treshold, that input will report all changes until the FocusTimeout has expired to avoid losing accuracy. +const byte AnalogTreshold = 2; + +// How long to ignore other inputs after an input changes. Reduces noise due voltage drops. +const unsigned long FocusTimeout = 100; + + +/* + * + * Le code + * Here be dragons. + * + */ + +// If defined, only outputs will be sent to the serial port as Arduino Plotter compatible data +//#define DebugOutputPlotter + + +#ifndef DebugOutputPlotter +#include "./min.h" +#include "./min.c" + + +// MIN protocol context and callbacks +struct min_context minContext; + +uint16_t min_tx_space(uint8_t port) { return 512U; } +void min_tx_byte(uint8_t port, uint8_t byte) +{ + while (Serial.write(&byte, 1U) == 0) { } +} +uint32_t min_time_ms(void) { return millis(); } +void min_application_handler(uint8_t min_id, uint8_t *min_payload, uint8_t len_payload, uint8_t port); +void min_tx_start(uint8_t port) {} +void min_tx_finished(uint8_t port) {} + + +const uint8_t FrameIDHandshake = 42; +const uint8_t FrameIDHandshakeResponse = 43; +const uint8_t FrameIDAnalogInput = 1; +const uint8_t FrameIDDigitalInput = 2; +const uint8_t FrameIDAnalogOutput = 3; +const uint8_t FrameIDDigitalOutput = 4; +const uint8_t FrameIDQuit = 62; +const uint8_t FrameIDError = 63; +#endif + + +struct AnalogInputStatus +{ + byte Value; + unsigned long LastChange; + int ReadValue; + float EMAValue; +}; + +struct DigitalInputStatus +{ + bool Value; + unsigned long LastChange; +}; + + +struct AnalogInputStatus analogInputStatus[AnalogInputCount]; +struct DigitalInputStatus digitalInputStatus[DigitalInputCount]; + + +void setup() +{ + Serial.begin(115200); + + // Wait for the Serial port hardware to initialise + while (!Serial) {} + + + #ifndef DebugOutputPlotter + // Set up the MIN protocol (http://github.com/min-protocol/min) + min_init_context(&minContext, 0); + #endif + + + // Seed the moving average for analog inputs + for (byte i = 0; i < AnalogInputCount; i++) + { + pinMode(AnalogInputPin[i], INPUT); + analogInputStatus[i].EMAValue = analogRead(AnalogInputPin[i]); + } + + for (byte i = 0; i < AnalogInputCount; i++) + for (byte seed = 1; seed < EMASeedCount - 1; seed++) + getAnalogValue(i); + + + // Read the initial stabilized values + for (byte i = 0; i < AnalogInputCount; i++) + { + analogInputStatus[i].Value = getAnalogValue(i); + analogInputStatus[i].LastChange = millis(); + } + + // Set up analog outputs + for (byte i = 0; i < AnalogOutputCount; i++) + { + pinMode(AnalogOutputPin[i], OUTPUT); + analogWrite(AnalogOutputPin[i], 0); + } + + + // Set up digital inputs and outputs + for (byte i = 0; i < DigitalInputCount; i++) + { + pinMode(DigitalInputPin[i], INPUT_PULLUP); + digitalInputStatus[i].Value = getDigitalValue(i); + digitalInputStatus[i].LastChange = millis(); + } + + for (byte i = 0; i < DigitalOutputCount; i++) + { + pinMode(DigitalOutputPin[i], OUTPUT); + digitalWrite(DigitalOutputPin[i], LOW); + } +} + + +#ifdef DebugOutputPlotter +unsigned long lastOutput = 0; +#endif + +enum FocusType +{ + FocusTypeNone = 0, + FocusTypeAnalogInput = 1, + FocusTypeDigitalInput = 2, + FocusTypeOutput = 3 +}; + +bool active = false; +FocusType focusType = FocusTypeNone; +byte focusInputIndex; +unsigned long focusOutputTime; + +#define IsAnalogInputFocus(i) ((focusType == FocusInputType.AnalogInput) && (focusInputIndex == i)) +#define IsDigitalInputFocus(i) ((focusType == FocusInputType.DigitalInput) && (focusInputIndex == i)) + + +#ifdef AnalogOutputGammaCorrection +const uint8_t PROGMEM gamma8[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, + 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, + 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, + 10, 10, 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 16, 16, + 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 24, 24, 25, + 25, 26, 27, 27, 28, 29, 29, 30, 31, 32, 32, 33, 34, 35, 35, 36, + 37, 38, 39, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 50, + 51, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, + 69, 70, 72, 73, 74, 75, 77, 78, 79, 81, 82, 83, 85, 86, 87, 89, + 90, 92, 93, 95, 96, 98, 99,101,102,104,105,107,109,110,112,114, + 115,117,119,120,122,124,126,127,129,131,133,135,137,138,140,142, + 144,146,148,150,152,154,156,158,160,162,164,167,169,171,173,175, + 177,180,182,184,186,189,191,193,196,198,200,203,205,208,210,213, + 215,218,220,223,225,228,231,233,236,239,241,244,247,249,252,255 }; +#endif + + +void loop() +{ + #ifndef DebugOutputPlotter + char readBuffer[32]; + size_t readBufferSize = Serial.available() > 0 ? Serial.readBytes(readBuffer, 32U) : 0; + + min_poll(&minContext, (uint8_t*)readBuffer, (uint8_t)readBufferSize); + #endif + + + if (focusType == FocusTypeOutput && millis() - focusOutputTime >= FocusTimeout) + focusType = FocusTypeNone; + + + // Check analog inputs + byte newAnalogValue; + for (byte i = 0; i < AnalogInputCount; i++) + { + newAnalogValue = getAnalogValue(i); + bool changed; + + switch (focusType) + { + case FocusTypeAnalogInput: + if (focusInputIndex != i) + continue; + + if (millis() - analogInputStatus[i].LastChange < FocusTimeout) + { + changed = newAnalogValue != analogInputStatus[i].Value; + break; + } + else + focusType = FocusTypeNone; + // fall-through + + case FocusTypeNone: + changed = abs(analogInputStatus[i].Value - newAnalogValue) >= AnalogTreshold; + break; + + default: + continue; + } + + if (changed && (millis() - analogInputStatus[i].LastChange >= MinimumInterval)) + { + if (active) + // Send out new value + outputAnalogValue(i, newAnalogValue); + + analogInputStatus[i].Value = newAnalogValue; + analogInputStatus[i].LastChange = millis(); + } + } + + + // Check digital inputs + bool newDigitalValue; + for (byte i = 0; i < DigitalInputCount; i++) + { + newDigitalValue = getDigitalValue(i); + + switch (focusType) + { + case FocusTypeAnalogInput: + case FocusTypeOutput: + continue; + + case FocusTypeDigitalInput: + if (focusInputIndex != i) + continue; + + if (millis() - digitalInputStatus[i].LastChange >= FocusTimeout) + focusType = FocusTypeNone; + + break; + } + + + if (newDigitalValue != digitalInputStatus[i].Value && (millis() - digitalInputStatus[i].LastChange >= MinimumInterval)) + { + if (active) + // Send out new value + outputDigitalValue(i, newDigitalValue); + + digitalInputStatus[i].Value = newDigitalValue; + digitalInputStatus[i].LastChange = millis(); + } + } + + #ifdef DebugOutputPlotter + if (millis() - lastOutput >= 100) + { + for (byte i = 0; i < AnalogInputCount; i++) + { + if (i > 0) + Serial.print("\t"); + + Serial.print(analogInputStatus[i].Value); + } + + for (byte i = 0; i < DigitalInputCount; i++) + { + if (i > 0 || AnalogInputCount > 0) + Serial.print("\t"); + + Serial.print(digitalInputStatus[i].Value ? 100 : 0); + } + + Serial.println(); + + lastOutput = millis(); + } + #endif +} + + +#ifndef DebugOutputPlotter +void min_application_handler(uint8_t min_id, uint8_t *min_payload, uint8_t len_payload, uint8_t port) +{ + switch (min_id) + { + case FrameIDHandshake: + processHandshakeMessage(min_payload, len_payload); + break; + + case FrameIDAnalogOutput: + processAnalogOutputMessage(min_payload, len_payload); + break; + + case FrameIDDigitalOutput: + processDigitalOutputMessage(min_payload, len_payload); + break; + + case FrameIDQuit: + processQuitMessage(); + break; + + default: + outputError("Unknown frame ID: " + String(min_id)); + break; + } +} + +void processHandshakeMessage(uint8_t *min_payload, uint8_t len_payload) +{ + if (len_payload < 2) + { + outputError("Invalid handshake length"); + return; + } + + if (min_payload[0] != 'M' || min_payload[1] != 'K') + { + outputError("Invalid handshake: " + String((char)min_payload[0]) + String((char)min_payload[1])); + return; + } + + byte payload[4] { AnalogInputCount, DigitalInputCount, AnalogOutputCount, DigitalOutputCount }; + if (min_queue_frame(&minContext, FrameIDHandshakeResponse, (uint8_t *)payload, 4)) + active = true; +} + + +void processDigitalOutputMessage(uint8_t *min_payload, uint8_t len_payload) +{ + if (len_payload < 2) + { + outputError("Invalid digital output payload length"); + return; + } + + byte outputIndex = min_payload[0]; + if (outputIndex < DigitalOutputCount) + { + digitalWrite(DigitalOutputPin[min_payload[0]], min_payload[1] == 0 ? LOW : HIGH); + + focusType = FocusTypeOutput; + focusOutputTime = millis(); + } + else + outputError("Invalid digital output index: " + String(outputIndex)); +} + + +void processAnalogOutputMessage(uint8_t *min_payload, uint8_t len_payload) +{ + if (len_payload < 2) + { + outputError("Invalid analog output payload length"); + return; + } + + byte outputIndex = min_payload[0]; + if (outputIndex < AnalogOutputCount) + { + byte value = min_payload[1]; + if (value > 100) + value = 100; + + value = map(value, 0, 100, 0, 255); + + #ifdef AnalogOutputGammaCorrection + value = pgm_read_byte(&gamma8[value]); + #endif + + analogWrite(AnalogOutputPin[min_payload[0]], value); + + focusType = FocusTypeOutput; + focusOutputTime = millis(); + } + else + outputError("Invalid analog output index: " + String(outputIndex)); +} + +void processQuitMessage() +{ + active = false; +} +#endif + + +byte getAnalogValue(byte analogInputIndex) +{ + analogRead(AnalogInputPin[analogInputIndex]); + + // Give the ADC some time to stabilize + delay(10); + + int readValue = analogRead(AnalogInputPin[analogInputIndex]); + analogInputStatus[analogInputIndex].ReadValue = readValue; + + int newEMAValue = (EMAAlpha * readValue) + ((1 - EMAAlpha) * analogInputStatus[analogInputIndex].EMAValue); + analogInputStatus[analogInputIndex].EMAValue = newEMAValue; + + return map(newEMAValue, 0, 1023, 0, 100); +} + + +bool getDigitalValue(byte digitalInputIndex) +{ + return digitalRead(DigitalInputPin[digitalInputIndex]) == LOW; +} + + +void outputAnalogValue(byte analogInputIndex, byte newValue) +{ + #ifndef DebugOutputPlotter + byte payload[2] = { analogInputIndex, newValue }; + min_send_frame(&minContext, FrameIDAnalogInput, (uint8_t *)payload, 2); + #endif +} + + +void outputDigitalValue(byte digitalInputIndex, bool newValue) +{ + #ifndef DebugOutputPlotter + byte payload[2] = { digitalInputIndex, newValue ? 1 : 0 }; + min_send_frame(&minContext, FrameIDDigitalInput, (uint8_t *)payload, 2); + #endif +} + + +void outputError(String message) +{ + #ifndef DebugOutputPlotter + min_send_frame(&minContext, FrameIDError, (uint8_t *)message.c_str(), message.length()); + #endif +} diff --git a/Arduino/MassiveKnob/min.c b/Arduino/MassiveKnob/min.c new file mode 100644 index 0000000..98f11f2 --- /dev/null +++ b/Arduino/MassiveKnob/min.c @@ -0,0 +1,641 @@ +// Copyright (c) 2014-2017 JK Energy Ltd. +// +// Use authorized under the MIT license. + +#include "min.h" + +#define TRANSPORT_FIFO_SIZE_FRAMES_MASK ((uint8_t)((1U << TRANSPORT_FIFO_SIZE_FRAMES_BITS) - 1U)) +#define TRANSPORT_FIFO_SIZE_FRAME_DATA_MASK ((uint16_t)((1U << TRANSPORT_FIFO_SIZE_FRAME_DATA_BITS) - 1U)) + +// Number of bytes needed for a frame with a given payload length, excluding stuff bytes +// 3 header bytes, ID/control byte, length byte, seq byte, 4 byte CRC, EOF byte +#define ON_WIRE_SIZE(p) ((p) + 11U) + +// Special protocol bytes +enum { + HEADER_BYTE = 0xaaU, + STUFF_BYTE = 0x55U, + EOF_BYTE = 0x55U, +}; + +// Receiving state machine +enum { + SEARCHING_FOR_SOF, + RECEIVING_ID_CONTROL, + RECEIVING_SEQ, + RECEIVING_LENGTH, + RECEIVING_PAYLOAD, + RECEIVING_CHECKSUM_3, + RECEIVING_CHECKSUM_2, + RECEIVING_CHECKSUM_1, + RECEIVING_CHECKSUM_0, + RECEIVING_EOF, +}; + +#ifdef TRANSPORT_PROTOCOL + +#ifndef TRANSPORT_ACK_RETRANSMIT_TIMEOUT_MS +#define TRANSPORT_ACK_RETRANSMIT_TIMEOUT_MS (25U) +#endif +#ifndef TRANSPORT_FRAME_RETRANSMIT_TIMEOUT_MS +#define TRANSPORT_FRAME_RETRANSMIT_TIMEOUT_MS (50U) // Should be long enough for a whole window to be transmitted plus an ACK / NACK to get back +#endif +#ifndef TRANSPORT_MAX_WINDOW_SIZE +#define TRANSPORT_MAX_WINDOW_SIZE (16U) +#endif +#ifndef TRANSPORT_IDLE_TIMEOUT_MS +#define TRANSPORT_IDLE_TIMEOUT_MS (1000U) +#endif + +enum { + // Top bit must be set: these are for the transport protocol to use + // 0x7f and 0x7e are reserved MIN identifiers. + ACK = 0xffU, + RESET = 0xfeU, +}; + +// Where the payload data of the frame FIFO is stored +uint8_t payloads_ring_buffer[TRANSPORT_FIFO_MAX_FRAME_DATA]; + +static uint32_t now; +static void send_reset(struct min_context *self); +#endif + +static void crc32_init_context(struct crc32_context *context) +{ + context->crc = 0xffffffffU; +} + +static void crc32_step(struct crc32_context *context, uint8_t byte) +{ + context->crc ^= byte; + for(uint32_t j = 0; j < 8; j++) { + uint32_t mask = (uint32_t) -(context->crc & 1U); + context->crc = (context->crc >> 1) ^ (0xedb88320U & mask); + } +} + +static uint32_t crc32_finalize(struct crc32_context *context) +{ + return ~context->crc; +} + + +static void stuffed_tx_byte(struct min_context *self, uint8_t byte) +{ + // Transmit the byte + min_tx_byte(self->port, byte); + crc32_step(&self->tx_checksum, byte); + + // See if an additional stuff byte is needed + if(byte == HEADER_BYTE) { + if(--self->tx_header_byte_countdown == 0) { + min_tx_byte(self->port, STUFF_BYTE); // Stuff byte + self->tx_header_byte_countdown = 2U; + } + } + else { + self->tx_header_byte_countdown = 2U; + } +} + +static void on_wire_bytes(struct min_context *self, uint8_t id_control, uint8_t seq, uint8_t *payload_base, uint16_t payload_offset, uint16_t payload_mask, uint8_t payload_len) +{ + uint8_t n, i; + uint32_t checksum; + + self->tx_header_byte_countdown = 2U; + crc32_init_context(&self->tx_checksum); + + min_tx_start(self->port); + + // Header is 3 bytes; because unstuffed will reset receiver immediately + min_tx_byte(self->port, HEADER_BYTE); + min_tx_byte(self->port, HEADER_BYTE); + min_tx_byte(self->port, HEADER_BYTE); + + stuffed_tx_byte(self, id_control); + if(id_control & 0x80U) { + // Send the sequence number if it is a transport frame + stuffed_tx_byte(self, seq); + } + + stuffed_tx_byte(self, payload_len); + + for(i = 0, n = payload_len; n > 0; n--, i++) { + stuffed_tx_byte(self, payload_base[payload_offset]); + payload_offset++; + payload_offset &= payload_mask; + } + + checksum = crc32_finalize(&self->tx_checksum); + + // Network order is big-endian. A decent C compiler will spot that this + // is extracting bytes and will use efficient instructions. + stuffed_tx_byte(self, (uint8_t)((checksum >> 24) & 0xffU)); + stuffed_tx_byte(self, (uint8_t)((checksum >> 16) & 0xffU)); + stuffed_tx_byte(self, (uint8_t)((checksum >> 8) & 0xffU)); + stuffed_tx_byte(self, (uint8_t)((checksum >> 0) & 0xffU)); + + // Ensure end-of-frame doesn't contain 0xaa and confuse search for start-of-frame + min_tx_byte(self->port, EOF_BYTE); + + min_tx_finished(self->port); +} + +#ifdef TRANSPORT_PROTOCOL + +// Pops frame from front of queue, reclaims its ring buffer space +static void transport_fifo_pop(struct min_context *self) +{ +#ifdef ASSERTION_CHECKING + assert(self->transport_fifo.n_frames != 0); +#endif + struct transport_frame *frame = &self->transport_fifo.frames[self->transport_fifo.head_idx]; + min_debug_print("Popping frame id=%d seq=%d\n", frame->min_id, frame->seq); + +#ifdef ASSERTION_CHECKING + assert(self->transport_fifo.n_ring_buffer_bytes >= frame->payload_len); +#endif + + self->transport_fifo.n_frames--; + self->transport_fifo.head_idx++; + self->transport_fifo.head_idx &= TRANSPORT_FIFO_SIZE_FRAMES_MASK; + self->transport_fifo.n_ring_buffer_bytes -= frame->payload_len; +} + +// Claim a buffer slot from the FIFO. Returns 0 if there is no space. +static struct transport_frame *transport_fifo_push(struct min_context *self, uint16_t data_size) +{ + // A frame is only queued if there aren't too many frames in the FIFO and there is space in the + // data ring buffer. + struct transport_frame *ret = 0; + if (self->transport_fifo.n_frames < TRANSPORT_FIFO_MAX_FRAMES) { + // Is there space in the ring buffer for the frame payload? + if(self->transport_fifo.n_ring_buffer_bytes <= TRANSPORT_FIFO_MAX_FRAME_DATA - data_size) { + self->transport_fifo.n_frames++; + if (self->transport_fifo.n_frames > self->transport_fifo.n_frames_max) { + // High-water mark of FIFO (for diagnostic purposes) + self->transport_fifo.n_frames_max = self->transport_fifo.n_frames; + } + // Create FIFO entry + ret = &(self->transport_fifo.frames[self->transport_fifo.tail_idx]); + ret->payload_offset = self->transport_fifo.ring_buffer_tail_offset; + + // Claim ring buffer space + self->transport_fifo.n_ring_buffer_bytes += data_size; + if(self->transport_fifo.n_ring_buffer_bytes > self->transport_fifo.n_ring_buffer_bytes_max) { + // High-water mark of ring buffer usage (for diagnostic purposes) + self->transport_fifo.n_ring_buffer_bytes_max = self->transport_fifo.n_ring_buffer_bytes; + } + self->transport_fifo.ring_buffer_tail_offset += data_size; + self->transport_fifo.ring_buffer_tail_offset &= TRANSPORT_FIFO_SIZE_FRAME_DATA_MASK; + + // Claim FIFO space + self->transport_fifo.tail_idx++; + self->transport_fifo.tail_idx &= TRANSPORT_FIFO_SIZE_FRAMES_MASK; + } + else { + min_debug_print("No FIFO payload space: data_size=%d, n_ring_buffer_bytes=%d\n", data_size, self->transport_fifo.n_ring_buffer_bytes); + } + } + else { + min_debug_print("No FIFO frame slots\n"); + } + return ret; +} + +// Return the nth frame in the FIFO +static struct transport_frame *transport_fifo_get(struct min_context *self, uint8_t n) +{ + uint8_t idx = self->transport_fifo.head_idx; + return &self->transport_fifo.frames[(idx + n) & TRANSPORT_FIFO_SIZE_FRAMES_MASK]; +} + +// Sends the given frame to the serial line +static void transport_fifo_send(struct min_context *self, struct transport_frame *frame) +{ + min_debug_print("transport_fifo_send: min_id=%d, seq=%d, payload_len=%d\n", frame->min_id, frame->seq, frame->payload_len); + on_wire_bytes(self, frame->min_id | (uint8_t)0x80U, frame->seq, payloads_ring_buffer, frame->payload_offset, TRANSPORT_FIFO_SIZE_FRAME_DATA_MASK, frame->payload_len); + frame->last_sent_time_ms = now; +} + +// We don't queue an ACK frame - we send it straight away (if there's space to do so) +static void send_ack(struct min_context *self) +{ + // In the embedded end we don't reassemble out-of-order frames and so never ask for retransmits. Payload is + // always the same as the sequence number. + min_debug_print("send ACK: seq=%d\n", self->transport_fifo.rn); + if(ON_WIRE_SIZE(0) <= min_tx_space(self->port)) { + on_wire_bytes(self, ACK, self->transport_fifo.rn, &self->transport_fifo.rn, 0, 0xffU, 1U); + self->transport_fifo.last_sent_ack_time_ms = now; + } +} + +// We don't queue an RESET frame - we send it straight away (if there's space to do so) +static void send_reset(struct min_context *self) +{ + min_debug_print("send RESET\n"); + if(ON_WIRE_SIZE(0) <= min_tx_space(self->port)) { + on_wire_bytes(self, RESET, 0, 0, 0, 0, 0); + } +} + +static void transport_fifo_reset(struct min_context *self) +{ + // Clear down the transmission FIFO queue + self->transport_fifo.n_frames = 0; + self->transport_fifo.head_idx = 0; + self->transport_fifo.tail_idx = 0; + self->transport_fifo.n_ring_buffer_bytes = 0; + self->transport_fifo.ring_buffer_tail_offset = 0; + self->transport_fifo.sn_max = 0; + self->transport_fifo.sn_min = 0; + self->transport_fifo.rn = 0; + + // Reset the timers + self->transport_fifo.last_received_anything_ms = now; + self->transport_fifo.last_sent_ack_time_ms = now; + self->transport_fifo.last_received_frame_ms = 0; +} + +void min_transport_reset(struct min_context *self, bool inform_other_side) +{ + if (inform_other_side) { + // Tell the other end we have gone away + send_reset(self); + } + + // Throw our frames away + transport_fifo_reset(self); +} + +// Queues a MIN ID / payload frame into the outgoing FIFO +// API call. +// Returns true if the frame was queued OK. +bool min_queue_frame(struct min_context *self, uint8_t min_id, uint8_t *payload, uint8_t payload_len) +{ + struct transport_frame *frame = transport_fifo_push(self, payload_len); // Claim a FIFO slot, reserve space for payload + + // We are just queueing here: the poll() function puts the frame into the window and on to the wire + if(frame != 0) { + // Copy frame details into frame slot, copy payload into ring buffer + frame->min_id = min_id & (uint8_t)0x3fU; + frame->payload_len = payload_len; + + uint16_t payload_offset = frame->payload_offset; + for(uint32_t i = 0; i < payload_len; i++) { + payloads_ring_buffer[payload_offset] = payload[i]; + payload_offset++; + payload_offset &= TRANSPORT_FIFO_SIZE_FRAME_DATA_MASK; + } + min_debug_print("Queued ID=%d, len=%d\n", min_id, payload_len); + return true; + } + else { + self->transport_fifo.dropped_frames++; + return false; + } +} + +bool min_queue_has_space_for_frame(struct min_context *self, uint8_t payload_len) { + return self->transport_fifo.n_frames < TRANSPORT_FIFO_MAX_FRAMES && + self->transport_fifo.n_ring_buffer_bytes <= TRANSPORT_FIFO_MAX_FRAME_DATA - payload_len; +} + +// Finds the frame in the window that was sent least recently +static struct transport_frame *find_retransmit_frame(struct min_context *self) +{ + uint8_t window_size = self->transport_fifo.sn_max - self->transport_fifo.sn_min; + +#ifdef ASSERTION_CHECKS + assert(window_size > 0); + assert(window_size <= self->transport_fifo.nframes); +#endif + + // Start with the head of the queue and call this the oldest + struct transport_frame *oldest_frame = &self->transport_fifo.frames[self->transport_fifo.head_idx]; + uint32_t oldest_elapsed_time = now - oldest_frame->last_sent_time_ms; + + uint8_t idx = self->transport_fifo.head_idx; + for(uint8_t i = 0; i < window_size; i++) { + uint32_t elapsed = now - self->transport_fifo.frames[idx].last_sent_time_ms; + if(elapsed > oldest_elapsed_time) { // Strictly older only; otherwise the earlier frame is deemed the older + oldest_elapsed_time = elapsed; + oldest_frame = &self->transport_fifo.frames[idx]; + } + idx++; + idx &= TRANSPORT_FIFO_SIZE_FRAMES_MASK; + } + + return oldest_frame; +} +#endif // TRANSPORT_PROTOCOL + +// This runs the receiving half of the transport protocol, acknowledging frames received, discarding +// duplicates received, and handling RESET requests. +static void valid_frame_received(struct min_context *self) +{ + uint8_t id_control = self->rx_frame_id_control; + uint8_t *payload = self->rx_frame_payload_buf; + uint8_t payload_len = self->rx_control; + +#ifdef TRANSPORT_PROTOCOL + uint8_t seq = self->rx_frame_seq; + uint8_t num_acked; + uint8_t num_nacked; + uint8_t num_in_window; + + // When we receive anything we know the other end is still active and won't shut down + self->transport_fifo.last_received_anything_ms = now; + + switch(id_control) { + case ACK: + // If we get an ACK then we remove all the acknowledged frames with seq < rn + // The payload byte specifies the number of NACKed frames: how many we want retransmitted because + // they have gone missing. + // But we need to make sure we don't accidentally ACK too many because of a stale ACK from an old session + num_acked = seq - self->transport_fifo.sn_min; + num_nacked = payload[0] - seq; + num_in_window = self->transport_fifo.sn_max - self->transport_fifo.sn_min; + + if(num_acked <= num_in_window) { + self->transport_fifo.sn_min = seq; +#ifdef ASSERTION_CHECKING + assert(self->transport_fifo.n_frames >= num_in_window); + assert(num_in_window <= TRANSPORT_MAX_WINDOW_SIZE); + assert(num_nacked <= TRANSPORT_MAX_WINDOW_SIZE); +#endif + // Now pop off all the frames up to (but not including) rn + // The ACK contains Rn; all frames before Rn are ACKed and can be removed from the window + min_debug_print("Received ACK seq=%d, num_acked=%d, num_nacked=%d\n", seq, num_acked, num_nacked); + for(uint8_t i = 0; i < num_acked; i++) { + transport_fifo_pop(self); + } + uint8_t idx = self->transport_fifo.head_idx; + // Now retransmit the number of frames that were requested + for(uint8_t i = 0; i < num_nacked; i++) { + struct transport_frame *retransmit_frame = &self->transport_fifo.frames[idx]; + transport_fifo_send(self, retransmit_frame); + idx++; + idx &= TRANSPORT_FIFO_SIZE_FRAMES_MASK; + } + } + else { + min_debug_print("Received spurious ACK seq=%d\n", seq); + self->transport_fifo.spurious_acks++; + } + break; + case RESET: + // If we get a RESET demand then we reset the transport protocol (empty the FIFO, reset the + // sequence numbers, etc.) + // We don't send anything, we just do it. The other end can send frames to see if this end is + // alive (pings, etc.) or just wait to get application frames. + self->transport_fifo.resets_received++; + transport_fifo_reset(self); + break; + default: + if (id_control & 0x80U) { + // Incoming application frames + + // Reset the activity time (an idle connection will be stalled) + self->transport_fifo.last_received_frame_ms = now; + + if (seq == self->transport_fifo.rn) { + // Accept this frame as matching the sequence number we were looking for + + // Now looking for the next one in the sequence + self->transport_fifo.rn++; + + // Always send an ACK back for the frame we received + // ACKs are short (should be about 9 microseconds to send on the wire) and + // this will cut the latency down. + // We also periodically send an ACK in case the ACK was lost, and in any case + // frames are re-sent. + send_ack(self); + + // Now ready to pass this up to the application handlers + + // Pass frame up to application handler to deal with + min_debug_print("Incoming app frame seq=%d, id=%d, payload len=%d\n", seq, id_control & (uint8_t)0x3fU, payload_len); + min_application_handler(id_control & (uint8_t)0x3fU, payload, payload_len, self->port); + } else { + // Discard this frame because we aren't looking for it: it's either a dupe because it was + // retransmitted when our ACK didn't get through in time, or else it's further on in the + // sequence and others got dropped. + self->transport_fifo.sequence_mismatch_drop++; + } + } + else { + // Not a transport frame + min_application_handler(id_control & (uint8_t)0x3fU, payload, payload_len, self->port); + } + break; + } +#else // TRANSPORT_PROTOCOL + min_application_handler(id_control & (uint8_t)0x3fU, payload, payload_len, self->port); +#endif // TRANSPORT_PROTOCOL +} + +static void rx_byte(struct min_context *self, uint8_t byte) +{ + // Regardless of state, three header bytes means "start of frame" and + // should reset the frame buffer and be ready to receive frame data + // + // Two in a row in over the frame means to expect a stuff byte. + uint32_t crc; + + if(self->rx_header_bytes_seen == 2) { + self->rx_header_bytes_seen = 0; + if(byte == HEADER_BYTE) { + self->rx_frame_state = RECEIVING_ID_CONTROL; + return; + } + if(byte == STUFF_BYTE) { + /* Discard this byte; carry on receiving on the next character */ + return; + } + else { + /* Something has gone wrong, give up on this frame and look for header again */ + self->rx_frame_state = SEARCHING_FOR_SOF; + return; + } + } + + if(byte == HEADER_BYTE) { + self->rx_header_bytes_seen++; + } + else { + self->rx_header_bytes_seen = 0; + } + + switch(self->rx_frame_state) { + case SEARCHING_FOR_SOF: + break; + case RECEIVING_ID_CONTROL: + self->rx_frame_id_control = byte; + self->rx_frame_payload_bytes = 0; + crc32_init_context(&self->rx_checksum); + crc32_step(&self->rx_checksum, byte); + if(byte & 0x80U) { +#ifdef TRANSPORT_PROTOCOL + self->rx_frame_state = RECEIVING_SEQ; +#else + // If there is no transport support compiled in then all transport frames are ignored + self->rx_frame_state = SEARCHING_FOR_SOF; +#endif // TRANSPORT_PROTOCOL + } + else { + self->rx_frame_seq = 0; + self->rx_frame_state = RECEIVING_LENGTH; + } + break; + case RECEIVING_SEQ: + self->rx_frame_seq = byte; + crc32_step(&self->rx_checksum, byte); + self->rx_frame_state = RECEIVING_LENGTH; + break; + case RECEIVING_LENGTH: + self->rx_frame_length = byte; + self->rx_control = byte; + crc32_step(&self->rx_checksum, byte); + if(self->rx_frame_length > 0) { + // Can reduce the RAM size by compiling limits to frame sizes + if(self->rx_frame_length <= MAX_PAYLOAD) { + self->rx_frame_state = RECEIVING_PAYLOAD; + } + else { + // Frame dropped because it's longer than any frame we can buffer + self->rx_frame_state = SEARCHING_FOR_SOF; + } + } + else { + self->rx_frame_state = RECEIVING_CHECKSUM_3; + } + break; + case RECEIVING_PAYLOAD: + self->rx_frame_payload_buf[self->rx_frame_payload_bytes++] = byte; + crc32_step(&self->rx_checksum, byte); + if(--self->rx_frame_length == 0) { + self->rx_frame_state = RECEIVING_CHECKSUM_3; + } + break; + case RECEIVING_CHECKSUM_3: + self->rx_frame_checksum = ((uint32_t)byte) << 24; + self->rx_frame_state = RECEIVING_CHECKSUM_2; + break; + case RECEIVING_CHECKSUM_2: + self->rx_frame_checksum |= ((uint32_t)byte) << 16; + self->rx_frame_state = RECEIVING_CHECKSUM_1; + break; + case RECEIVING_CHECKSUM_1: + self->rx_frame_checksum |= ((uint32_t)byte) << 8; + self->rx_frame_state = RECEIVING_CHECKSUM_0; + break; + case RECEIVING_CHECKSUM_0: + self->rx_frame_checksum |= byte; + crc = crc32_finalize(&self->rx_checksum); + if(self->rx_frame_checksum != crc) { + // Frame fails the checksum and so is dropped + self->rx_frame_state = SEARCHING_FOR_SOF; + } + else { + // Checksum passes, go on to check for the end-of-frame marker + self->rx_frame_state = RECEIVING_EOF; + } + break; + case RECEIVING_EOF: + if(byte == 0x55u) { + // Frame received OK, pass up data to handler + valid_frame_received(self); + } + // else discard + // Look for next frame */ + self->rx_frame_state = SEARCHING_FOR_SOF; + break; + default: + // Should never get here but in case we do then reset to a safe state + self->rx_frame_state = SEARCHING_FOR_SOF; + break; + } +} + +// API call: sends received bytes into a MIN context and runs the transport timeouts +void min_poll(struct min_context *self, uint8_t *buf, uint32_t buf_len) +{ + for(uint32_t i = 0; i < buf_len; i++) { + rx_byte(self, buf[i]); + } + +#ifdef TRANSPORT_PROTOCOL + uint8_t window_size; + + now = min_time_ms(); + + bool remote_connected = (now - self->transport_fifo.last_received_anything_ms < TRANSPORT_IDLE_TIMEOUT_MS); + bool remote_active = (now - self->transport_fifo.last_received_frame_ms < TRANSPORT_IDLE_TIMEOUT_MS); + + // This sends one new frame or resends one old frame + window_size = self->transport_fifo.sn_max - self->transport_fifo.sn_min; // Window size + if((window_size < TRANSPORT_MAX_WINDOW_SIZE) && (self->transport_fifo.n_frames > window_size)) { + // There are new frames we can send; but don't even bother if there's no buffer space for them + struct transport_frame *frame = transport_fifo_get(self, window_size); + if(ON_WIRE_SIZE(frame->payload_len) <= min_tx_space(self->port)) { + frame->seq = self->transport_fifo.sn_max; + transport_fifo_send(self, frame); + + // Move window on + self->transport_fifo.sn_max++; + } + } + else { + // Sender cannot send new frames so resend old ones (if there's anyone there) + if((window_size > 0) && remote_connected) { + // There are unacknowledged frames. Can re-send an old frame. Pick the least recently sent one. + struct transport_frame *oldest_frame = find_retransmit_frame(self); + if(now - oldest_frame->last_sent_time_ms >= TRANSPORT_FRAME_RETRANSMIT_TIMEOUT_MS) { + // Resending oldest frame if there's a chance there's enough space to send it + if(ON_WIRE_SIZE(oldest_frame->payload_len) <= min_tx_space(self->port)) { + transport_fifo_send(self, oldest_frame); + } + } + } + } + +#ifndef DISABLE_TRANSPORT_ACK_RETRANSMIT + // Periodically transmit the ACK with the rn value, unless the line has gone idle + if(now - self->transport_fifo.last_sent_ack_time_ms > TRANSPORT_ACK_RETRANSMIT_TIMEOUT_MS) { + if(remote_active) { + send_ack(self); + } + } +#endif // DISABLE_TRANSPORT_ACK_RETRANSMIT +#endif // TRANSPORT_PROTOCOL +} + +void min_init_context(struct min_context *self, uint8_t port) +{ + // Initialize context + self->rx_header_bytes_seen = 0; + self->rx_frame_state = SEARCHING_FOR_SOF; + self->port = port; + +#ifdef TRANSPORT_PROTOCOL + // Counters for diagnosis purposes + self->transport_fifo.spurious_acks = 0; + self->transport_fifo.sequence_mismatch_drop = 0; + self->transport_fifo.dropped_frames = 0; + self->transport_fifo.resets_received = 0; + self->transport_fifo.n_ring_buffer_bytes_max = 0; + self->transport_fifo.n_frames_max = 0; + transport_fifo_reset(self); +#endif // TRANSPORT_PROTOCOL +} + +// Sends an application MIN frame on the wire (do not put into the transport queue) +void min_send_frame(struct min_context *self, uint8_t min_id, uint8_t *payload, uint8_t payload_len) +{ + if((ON_WIRE_SIZE(payload_len) <= min_tx_space(self->port))) { + on_wire_bytes(self, min_id & (uint8_t) 0x3fU, 0, payload, 0, 0xffffU, payload_len); + } +} diff --git a/Arduino/MassiveKnob/min.h b/Arduino/MassiveKnob/min.h new file mode 100644 index 0000000..9c48815 --- /dev/null +++ b/Arduino/MassiveKnob/min.h @@ -0,0 +1,208 @@ +// MIN Protocol v2.0. +// +// MIN is a lightweight reliable protocol for exchanging information from a microcontroller (MCU) to a host. +// It is designed to run on an 8-bit MCU but also scale up to more powerful devices. A typical use case is to +// send data from a UART on a small MCU over a UART-USB converter plugged into a PC host. A Python implementation +// of host code is provided (or this code could be compiled for a PC). +// +// MIN supports frames of 0-255 bytes (with a lower limit selectable at compile time to reduce RAM). MIN frames +// have identifier values between 0 and 63. +// +// An optional transport layer T-MIN can be compiled in. This provides sliding window reliable transmission of frames. +// +// Compile options: +// +// - Define NO_TRANSPORT_PROTOCOL to remove the code and other overheads of dealing with transport frames. Any +// transport frames sent from the other side are dropped. +// +// - Define MAX_PAYLOAD if the size of the frames is to be limited. This is particularly useful with the transport +// protocol where a deep FIFO is wanted but not for large frames. +// +// The API is as follows: +// +// - min_init_context() +// A MIN context is a structure allocated by the programmer that stores details of the protocol. This permits +// the code to be reentrant and multiple serial ports to be used. The port parameter is used in a callback to +// allow the programmer's serial port drivers to place bytes in the right port. In a typical scenario there will +// be just one context. +// +// - min_send_frame() +// This sends a non-transport frame and will be dropped if the line is noisy. +// +// - min_queue_frame() +// This queues a transport frame which will will be retransmitted until the other side receives it correctly. +// +// - min_poll() +// This passes in received bytes to the context associated with the source. Note that if the transport protocol +// is included then this must be called regularly to operate the transport state machine even if there are no +// incoming bytes. +// +// There are several callbacks: these must be provided by the programmer and are called by the library: +// +// - min_tx_space() +// The programmer's serial drivers must return the number of bytes of space available in the sending buffer. +// This helps cut down on the number of lost frames (and hence improve throughput) if a doomed attempt to transmit a +// frame can be avoided. +// +// - min_tx_byte() +// The programmer's drivers must send a byte on the given port. The implementation of the serial port drivers +// is in the domain of the programmer: they might be interrupt-based, polled, etc. +// +// - min_application_handler() +// This is the callback that provides a MIN frame received on a given port to the application. The programmer +// should then deal with the frame as part of the application. +// +// - min_time_ms() +// This is called to obtain current time in milliseconds. This is used by the MIN transport protocol to drive +// timeouts and retransmits. + + +#ifndef MIN_H +#define MIN_H + +#include +#include + +#ifdef ASSERTION_CHECKING +#include +#endif + +#ifndef NO_TRANSPORT_PROTOCOL +#define TRANSPORT_PROTOCOL +#endif + +#ifndef MAX_PAYLOAD +#define MAX_PAYLOAD (255U) +#endif + +// Powers of two for FIFO management. Default is 16 frames in the FIFO, total of 1024 bytes for frame data +#ifndef TRANSPORT_FIFO_SIZE_FRAMES_BITS +#define TRANSPORT_FIFO_SIZE_FRAMES_BITS (4U) +#endif +#ifndef TRANSPORT_FIFO_SIZE_FRAME_DATA_BITS +#define TRANSPORT_FIFO_SIZE_FRAME_DATA_BITS (10U) +#endif + +#define TRANSPORT_FIFO_MAX_FRAMES (1U << TRANSPORT_FIFO_SIZE_FRAMES_BITS) +#define TRANSPORT_FIFO_MAX_FRAME_DATA (1U << TRANSPORT_FIFO_SIZE_FRAME_DATA_BITS) + +#if (MAX_PAYLOAD > 255) +#error "MIN frame payloads can be no bigger than 255 bytes" +#endif + +// Indices into the frames FIFO are uint8_t and so can't have more than 256 frames in a FIFO +#if (TRANSPORT_FIFO_MAX_FRAMES > 256) +#error "Transport FIFO frames cannot exceed 256" +#endif + +// Using a 16-bit offset into the frame data FIFO so it has to be addressable within 64Kbytes +#if (TRANSPORT_FIFO_MAX_FRAME_DATA > 65536) +#error "Transport FIFO data allocated cannot exceed 64Kbytes" +#endif + +struct crc32_context { + uint32_t crc; +}; + +#ifdef TRANSPORT_PROTOCOL + +struct transport_frame { + uint32_t last_sent_time_ms; // When frame was last sent (used for re-send timeouts) + uint16_t payload_offset; // Where in the ring buffer the payload is + uint8_t payload_len; // How big the payload is + uint8_t min_id; // ID of frame + uint8_t seq; // Sequence number of frame +}; + +struct transport_fifo { + struct transport_frame frames[TRANSPORT_FIFO_MAX_FRAMES]; + uint32_t last_sent_ack_time_ms; + uint32_t last_received_anything_ms; + uint32_t last_received_frame_ms; + uint32_t dropped_frames; // Diagnostic counters + uint32_t spurious_acks; + uint32_t sequence_mismatch_drop; + uint32_t resets_received; + uint16_t n_ring_buffer_bytes; // Number of bytes used in the payload ring buffer + uint16_t n_ring_buffer_bytes_max; // Largest number of bytes ever used + uint16_t ring_buffer_tail_offset; // Tail of the payload ring buffer + uint8_t n_frames; // Number of frames in the FIFO + uint8_t n_frames_max; // Larger number of frames in the FIFO + uint8_t head_idx; // Where frames are taken from in the FIFO + uint8_t tail_idx; // Where new frames are added + uint8_t sn_min; // Sequence numbers for transport protocol + uint8_t sn_max; + uint8_t rn; +}; +#endif + +struct min_context { +#ifdef TRANSPORT_PROTOCOL + struct transport_fifo transport_fifo; // T-MIN queue of outgoing frames +#endif + uint8_t rx_frame_payload_buf[MAX_PAYLOAD]; // Payload received so far + uint32_t rx_frame_checksum; // Checksum received over the wire + struct crc32_context rx_checksum; // Calculated checksum for receiving frame + struct crc32_context tx_checksum; // Calculated checksum for sending frame + uint8_t rx_header_bytes_seen; // Countdown of header bytes to reset state + uint8_t rx_frame_state; // State of receiver + uint8_t rx_frame_payload_bytes; // Length of payload received so far + uint8_t rx_frame_id_control; // ID and control bit of frame being received + uint8_t rx_frame_seq; // Sequence number of frame being received + uint8_t rx_frame_length; // Length of frame + uint8_t rx_control; // Control byte + uint8_t tx_header_byte_countdown; // Count out the header bytes + uint8_t port; // Number of the port associated with the context +}; + +#ifdef TRANSPORT_PROTOCOL +// Queue a MIN frame in the transport queue +bool min_queue_frame(struct min_context *self, uint8_t min_id, uint8_t *payload, uint8_t payload_len); + +// Determine if MIN has space to queue a transport frame +bool min_queue_has_space_for_frame(struct min_context *self, uint8_t payload_len); +#endif + +// Send a non-transport frame MIN frame +void min_send_frame(struct min_context *self, uint8_t min_id, uint8_t *payload, uint8_t payload_len); + +// Must be regularly called, with the received bytes since the last call. +// NB: if the transport protocol is being used then even if there are no bytes +// this call must still be made in order to drive the state machine for retransmits. +void min_poll(struct min_context *self, uint8_t *buf, uint32_t buf_len); + +// Reset the state machine and (optionally) tell the other side that we have done so +void min_transport_reset(struct min_context *self, bool inform_other_side); + +// CALLBACK. Handle incoming MIN frame +void min_application_handler(uint8_t min_id, uint8_t *min_payload, uint8_t len_payload, uint8_t port); + +#ifdef TRANSPORT_PROTOCOL +// CALLBACK. Must return current time in milliseconds. +// Typically a tick timer interrupt will increment a 32-bit variable every 1ms (e.g. SysTick on Cortex M ARM devices). +uint32_t min_time_ms(void); +#endif + +// CALLBACK. Must return current buffer space in the given port. Used to check that a frame can be +// queued. +uint16_t min_tx_space(uint8_t port); + +// CALLBACK. Send a byte on the given line. +void min_tx_byte(uint8_t port, uint8_t byte); + +// CALLBACK. Indcates when frame transmission is finished; useful for buffering bytes into a single serial call. +void min_tx_start(uint8_t port); +void min_tx_finished(uint8_t port); + +// Initialize a MIN context ready for receiving bytes from a serial link +// (Can have multiple MIN contexts) +void min_init_context(struct min_context *self, uint8_t port); + +#ifdef MIN_DEBUG_PRINTING +// Debug print +void min_debug_print(const char *msg, ...); +#else +#define min_debug_print(...) +#endif + +#endif //MIN_H diff --git a/Hardware/Massive Knob housing - 2 pots, 2 buttons, under desk, Arduino Pro Micro.f3d b/Hardware/Massive Knob housing - 2 pots, 2 buttons, under desk, Arduino Pro Micro.f3d new file mode 100644 index 0000000..fafd68c Binary files /dev/null and b/Hardware/Massive Knob housing - 2 pots, 2 buttons, under desk, Arduino Pro Micro.f3d differ diff --git a/Hardware/Massive Knob housing - 2 pots, 3 buttons, under desk, Arduino Pro Micro.f3d b/Hardware/Massive Knob housing - 2 pots, 3 buttons, under desk, Arduino Pro Micro.f3d new file mode 100644 index 0000000..23fa4ec Binary files /dev/null and b/Hardware/Massive Knob housing - 2 pots, 3 buttons, under desk, Arduino Pro Micro.f3d differ diff --git a/Hardware/Massive Knob housing - 3 pots, under desk, Arduino Pro Micro.f3d b/Hardware/Massive Knob housing - 3 pots, under desk, Arduino Pro Micro.f3d new file mode 100644 index 0000000..32244bb Binary files /dev/null and b/Hardware/Massive Knob housing - 3 pots, under desk, Arduino Pro Micro.f3d differ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..fdddb29 --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/README.md b/README.md index 58f8a5b..9a7039e 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,47 @@ # Massive Knob -Control audio devices using physical knobs. +Control audio devices using physical knobs. And more. -Inspired by [an article on Prusa's blog](https://blog.prusaprinters.org/3d-print-an-oversized-media-control-volume-knob-arduino-basics_30184/), this project has a slightly different set of goals: +Inspired by [an article on Prusa's blog](https://blog.prusaprinters.org/3d-print-an-oversized-media-control-volume-knob-arduino-basics_30184/), this project has a slightly different set of goals. The original requirements were: -**Must have** -1. Control multiple audio devices, one set of physical controls per device -2. Volume is set to an absolute value (potentiometer instead of a rotary encoder) +1. Control volume using a potentiometer (fixed position) instead of a rotary encoder (endless rotation) +2. Control specific audio devices, not the current default device +3. Provide means of switching the default device by pressing a button -Because of the second requirement, a simple media keys HID device does not suffice and extra software is required on the desktop. +Because of these requirements, a simple media keys HID device does not suffice and extra software is required on the desktop. This opens up a range of possibilities. + +## Features + + - 🔊 Set the volume for specific devices / send the current volume to an analog output + - 🔇 Mute / unmute specific devices / send the muted state to a digital output (*e.g. LED*) + - 🎧 Set the default device / set a digital output based on the default device + - 💬 Optional OSD (On-Screen Display) + - 🔌 VoiceMeeter (Standard, Banana & Potato) plugin to execute macros or read the current state + + +Massive Knob is basically a host for plugins. A plugin can implement a device or actions which either process signals from the device to perform an action (for example, change the volume when a knob is turned) or send signals to the device based on the system state (for example, light up an LED to indicate the default device). + +### Devices +A device can provide the following inputs and outputs, up to 255 for each type (unless you're Look Mum No Computer I assume this will be enough): + +1. Analog input (*e.g. a potentiometer*) +2. Digital input (*e.g. a button or switch*) +3. Analog output (*e.g. a PWM output, though not yet supported by the reference Arduino implementation*) +4. Digital output (*e.g. an LED*) + +#### Serial +Connects to a compatible device on a Serial port, probably a USB device like an Arduino. The device must implement the Massive Knob protocol which uses the [MIN protocol](https://github.com/min-protocol/min) to send and receive frames. An Arduino Sketch is included with this repository which can be customized to suit your hardware layout. + +#### Emulator +Useful for development, this one emulates an actual device. The number of inputs and outputs are configurable, a popup allows changing the inputs and shows the state of the outputs. -**Nice to have** -1. Physical buttons to switch the active device -a. by changing the Windows default output device -b. by running a VoiceMeeter macro -2. Corresponding LEDs to indicate the currently active device ## Developing The hardware side uses an Arduino sketch to communicate the hardware state over the serial port. -The Windows software is written in C# using .NET Framework 4.7.2 and Visual Studio 2019. \ No newline at end of file +The Windows software is written in C# using .NET Framework 4.7.2 and Visual Studio 2019. + +Refer to the bundled plugins for examples. + +Some icons courtesy of https://feathericons.com/ \ No newline at end of file diff --git a/Windows/BuildRelease.ps1 b/Windows/BuildRelease.ps1 new file mode 100644 index 0000000..3cce327 --- /dev/null +++ b/Windows/BuildRelease.ps1 @@ -0,0 +1,41 @@ +# Run this script from the Developer PowerShell found in Visual Studio 2019 +# or the start menu to get the correct msbuild version on the path +# +# GitVersion is also required and must be available on the path +# Inno Setup 5 is used to compile the setup, it's path is specified below +# +$innoSetupCompiler = "C:\Program Files (x86)\Inno Setup 5\ISCC.exe" + + + + + +$versionJson = & GitVersion | Out-String +try +{ + $version = ConvertFrom-Json $versionJson +} +catch +{ + Write-Host "Error while parsing GitVersion output: $($_.Exception.Message)" -ForegroundColor Red + Write-Host $versionJson -ForegroundColor Gray + exit 1 +} + +Write-Host "GitVersion: $($version.LegacySemVer)" +$env:BUILD_VERSION = $version.LegacySemVer + + +& msbuild MassiveKnob.sln /t:Clean /t:Build /p:Configuration=Release +if (!$?) +{ + Write-Host "MSBuild failed, aborting..." -ForegroundColor Red + exit 1 +} + +& $innoSetupCompiler "Setup\MassiveKnobSetup.iss" +if (!$?) +{ + Write-Host "Inno Setup failed, aborting..." -ForegroundColor Red + exit 1 +} \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/Base/BaseDeviceSettings.cs b/Windows/MassiveKnob.Plugin.CoreAudio/Base/BaseDeviceSettings.cs new file mode 100644 index 0000000..0d1c911 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/Base/BaseDeviceSettings.cs @@ -0,0 +1,12 @@ +using System; + +namespace MassiveKnob.Plugin.CoreAudio.Base +{ + public class BaseDeviceSettings + { + public Guid? DeviceId { get; set; } + + // TODO (nice to have) more options, like positioning and style + public bool OSD { get; set; } = true; + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/Base/BaseDeviceSettingsView.xaml b/Windows/MassiveKnob.Plugin.CoreAudio/Base/BaseDeviceSettingsView.xaml new file mode 100644 index 0000000..154cf72 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/Base/BaseDeviceSettingsView.xaml @@ -0,0 +1,19 @@ + + + + + + + + + + diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/Base/BaseDeviceSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.CoreAudio/Base/BaseDeviceSettingsView.xaml.cs new file mode 100644 index 0000000..494b693 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/Base/BaseDeviceSettingsView.xaml.cs @@ -0,0 +1,13 @@ +namespace MassiveKnob.Plugin.CoreAudio.Base +{ + /// + /// Interaction logic for BaseDeviceSettingsView.xaml + /// + public partial class BaseDeviceSettingsView + { + public BaseDeviceSettingsView() + { + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/Base/BaseDeviceSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.CoreAudio/Base/BaseDeviceSettingsViewModel.cs new file mode 100644 index 0000000..c560580 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/Base/BaseDeviceSettingsViewModel.cs @@ -0,0 +1,135 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; +using System.Windows; +using AudioSwitcher.AudioApi; + +namespace MassiveKnob.Plugin.CoreAudio.Base +{ + public class BaseDeviceSettingsViewModel : BaseDeviceSettingsViewModel where T : BaseDeviceSettings + { + protected new T Settings => (T)base.Settings; + + public BaseDeviceSettingsViewModel(T settings) : base(settings) + { + } + } + + + + public class BaseDeviceSettingsViewModel : INotifyPropertyChanged + { + protected readonly BaseDeviceSettings Settings; + public event PropertyChangedEventHandler PropertyChanged; + + private IList playbackDevices; + private PlaybackDeviceViewModel selectedDevice; + + // ReSharper disable UnusedMember.Global - used by WPF Binding + public IList PlaybackDevices + { + get => playbackDevices; + set + { + playbackDevices = value; + OnPropertyChanged(); + } + } + + public PlaybackDeviceViewModel SelectedDevice + { + get => selectedDevice; + set + { + if (value == selectedDevice) + return; + + selectedDevice = value; + Settings.DeviceId = selectedDevice?.Id; + OnPropertyChanged(); + } + } + + + public bool OSD + { + get => Settings.OSD; + set + { + if (value == Settings.OSD) + return; + + Settings.OSD = value; + OnPropertyChanged(); + } + } + // ReSharper restore UnusedMember.Global + + + public BaseDeviceSettingsViewModel(BaseDeviceSettings settings) + { + Settings = settings; + + Task.Run(async () => + { + var coreAudioController = CoreAudioControllerInstance.Acquire(); + var devices = await coreAudioController.GetPlaybackDevicesAsync(); + var deviceViewModels = devices + .OrderBy(d => d.FullName) + .Select(PlaybackDeviceViewModel.FromDevice) + .ToList(); + + Application.Current?.Dispatcher.Invoke(() => + { + PlaybackDevices = deviceViewModels; + SelectedDevice = deviceViewModels.SingleOrDefault(d => d.Id == settings.DeviceId); + }); + }); + } + + + public virtual bool IsSettingsProperty(string propertyName) + { + return propertyName != nameof(PlaybackDevices); + } + + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + } + + + public class PlaybackDeviceViewModel + { + public Guid Id { get; private set; } + public string DisplayName { get; private set; } + + + public static PlaybackDeviceViewModel FromDevice(IDevice device) + { + string displayFormat; + + if ((device.State & DeviceState.Disabled) != 0) + displayFormat = Strings.DeviceDisplayNameDisabled; + else if ((device.State & DeviceState.Unplugged) != 0) + displayFormat = Strings.DeviceDisplayNameUnplugged; + else if ((device.State & DeviceState.NotPresent) != 0) + displayFormat = Strings.DeviceDisplayNameNotPresent; + else if ((device.State & DeviceState.Active) == 0) + displayFormat = Strings.DeviceDisplayNameInactive; + else + displayFormat = Strings.DeviceDisplayNameActive; + + return new PlaybackDeviceViewModel + { + Id = device.Id, + DisplayName = string.Format(displayFormat, device.FullName) + }; + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/CoreAudioControllerInstance.cs b/Windows/MassiveKnob.Plugin.CoreAudio/CoreAudioControllerInstance.cs new file mode 100644 index 0000000..1026c25 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/CoreAudioControllerInstance.cs @@ -0,0 +1,16 @@ +using System; +using AudioSwitcher.AudioApi.CoreAudio; + +namespace MassiveKnob.Plugin.CoreAudio +{ + public static class CoreAudioControllerInstance + { + private static readonly Lazy Instance = new Lazy(); + + + public static CoreAudioController Acquire() + { + return Instance.Value; + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultAction.cs b/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultAction.cs new file mode 100644 index 0000000..cfe5bbf --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultAction.cs @@ -0,0 +1,104 @@ +using System; +using System.Windows.Controls; +using AudioSwitcher.AudioApi; +using Microsoft.Extensions.Logging; + +namespace MassiveKnob.Plugin.CoreAudio.GetDefault +{ + public class DeviceGetDefaultAction : IMassiveKnobAction + { + public Guid ActionId { get; } = new Guid("3c427e28-493f-489f-abb3-1a7ef23ca6c9"); + public MassiveKnobActionType ActionType { get; } = MassiveKnobActionType.OutputDigital; + public string Name { get; } = Strings.GetDefaultName; + public string Description { get; } = Strings.GetDefaultDescription; + + + public IMassiveKnobActionInstance Create(ILogger logger) + { + return new Instance(); + } + + + private class Instance : IMassiveKnobActionInstance + { + private IMassiveKnobActionContext actionContext; + private DeviceGetDefaultActionSettings settings; + private IDevice playbackDevice; + private IDisposable deviceChanged; + + + public void Initialize(IMassiveKnobActionContext context) + { + actionContext = context; + settings = context.GetSettings(); + ApplySettings(); + } + + + public void Dispose() + { + deviceChanged?.Dispose(); + } + + + private void ApplySettings() + { + if (playbackDevice == null || playbackDevice.Id != settings.DeviceId) + { + var coreAudioController = CoreAudioControllerInstance.Acquire(); + playbackDevice = settings.DeviceId.HasValue + ? coreAudioController.GetDevice(settings.DeviceId.Value) + : null; + + deviceChanged?.Dispose(); + deviceChanged = playbackDevice?.PropertyChanged.Subscribe(PropertyChanged); + } + + CheckActive(); + } + + + public UserControl CreateSettingsControl() + { + var viewModel = new DeviceGetDefaultActionSettingsViewModel(settings); + viewModel.PropertyChanged += (sender, args) => + { + if (!viewModel.IsSettingsProperty(args.PropertyName)) + return; + + actionContext.SetSettings(settings); + ApplySettings(); + }; + + return new DeviceGetDefaultActionSettingsView(viewModel); + } + + + private void PropertyChanged(DevicePropertyChangedArgs args) + { + if (args.ChangedType != DeviceChangedType.DefaultChanged) + return; + + CheckActive(); + + // TODO (should have) OSD for changing default + //if (settings.OSD) + //OSDManager.Show(args.Device); + } + + + private void CheckActive() + { + if (playbackDevice == null) + return; + + // ReSharper disable ArrangeRedundantParentheses - maybe, but way easier to read + var isDefault = (settings.Playback && playbackDevice.IsDefaultDevice) || + (settings.Communications && playbackDevice.IsDefaultCommunicationsDevice); + // ReSharper restore ArrangeRedundantParentheses + + actionContext.SetDigitalOutput(settings.Inverted ? !isDefault : isDefault); + } + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultActionSettings.cs b/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultActionSettings.cs new file mode 100644 index 0000000..7ff2ea4 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultActionSettings.cs @@ -0,0 +1,12 @@ +using MassiveKnob.Plugin.CoreAudio.Base; + +namespace MassiveKnob.Plugin.CoreAudio.GetDefault +{ + public class DeviceGetDefaultActionSettings : BaseDeviceSettings + { + public bool Playback { get; set; } = true; + public bool Communications { get; set; } = true; + + public bool Inverted { get; set; } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultActionSettingsView.xaml b/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultActionSettingsView.xaml new file mode 100644 index 0000000..257cd89 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultActionSettingsView.xaml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultActionSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultActionSettingsView.xaml.cs new file mode 100644 index 0000000..47aa19b --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultActionSettingsView.xaml.cs @@ -0,0 +1,14 @@ +namespace MassiveKnob.Plugin.CoreAudio.GetDefault +{ + /// + /// Interaction logic for DeviceGetDefaultActionSettingsView.xaml + /// + public partial class DeviceGetDefaultActionSettingsView + { + public DeviceGetDefaultActionSettingsView(DeviceGetDefaultActionSettingsViewModel viewModel) + { + DataContext = viewModel; + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultActionSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultActionSettingsViewModel.cs new file mode 100644 index 0000000..98018eb --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultActionSettingsViewModel.cs @@ -0,0 +1,54 @@ +using MassiveKnob.Plugin.CoreAudio.Base; + +namespace MassiveKnob.Plugin.CoreAudio.GetDefault +{ + public class DeviceGetDefaultActionSettingsViewModel : BaseDeviceSettingsViewModel + { + // ReSharper disable UnusedMember.Global - used by WPF Binding + public bool Playback + { + get => Settings.Playback; + set + { + if (value == Settings.Playback) + return; + + Settings.Playback = value; + OnPropertyChanged(); + } + } + + public bool Communications + { + get => Settings.Communications; + set + { + if (value == Settings.Communications) + return; + + Settings.Communications = value; + OnPropertyChanged(); + } + } + + public bool Inverted + { + get => Settings.Inverted; + set + { + if (value == Settings.Inverted) + return; + + Settings.Inverted = value; + OnPropertyChanged(); + } + } + // ReSharper restore UnusedMember.Global + + + // ReSharper disable once SuggestBaseTypeForParameter - by design + public DeviceGetDefaultActionSettingsViewModel(DeviceGetDefaultActionSettings settings) : base(settings) + { + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedAction.cs b/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedAction.cs new file mode 100644 index 0000000..a6c6035 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedAction.cs @@ -0,0 +1,88 @@ +using System; +using System.Windows.Controls; +using AudioSwitcher.AudioApi; +using MassiveKnob.Plugin.CoreAudio.OSD; +using Microsoft.Extensions.Logging; + +namespace MassiveKnob.Plugin.CoreAudio.GetMuted +{ + public class DeviceGetMutedAction : IMassiveKnobAction + { + public Guid ActionId { get; } = new Guid("86646ca7-f472-4c5a-8d0f-7e5d2d162ab9"); + public MassiveKnobActionType ActionType { get; } = MassiveKnobActionType.OutputDigital; + public string Name { get; } = Strings.GetMutedName; + public string Description { get; } = Strings.GetMutedDescription; + + + public IMassiveKnobActionInstance Create(ILogger logger) + { + return new Instance(); + } + + + private class Instance : IMassiveKnobActionInstance + { + private IMassiveKnobActionContext actionContext; + private DeviceGetMutedActionSettings settings; + private IDevice playbackDevice; + private IDisposable deviceChanged; + + + public void Initialize(IMassiveKnobActionContext context) + { + actionContext = context; + settings = context.GetSettings(); + ApplySettings(); + } + + + public void Dispose() + { + deviceChanged?.Dispose(); + } + + + private void ApplySettings() + { + if (playbackDevice == null || playbackDevice.Id != settings.DeviceId) + { + var coreAudioController = CoreAudioControllerInstance.Acquire(); + playbackDevice = settings.DeviceId.HasValue + ? coreAudioController.GetDevice(settings.DeviceId.Value) + : null; + + deviceChanged?.Dispose(); + deviceChanged = playbackDevice?.MuteChanged.Subscribe(MuteChanged); + } + + if (playbackDevice != null) + actionContext.SetDigitalOutput(settings.Inverted ? !playbackDevice.IsMuted : playbackDevice.IsMuted); + } + + + public UserControl CreateSettingsControl() + { + var viewModel = new DeviceGetMutedActionSettingsViewModel(settings); + viewModel.PropertyChanged += (sender, args) => + { + if (!viewModel.IsSettingsProperty(args.PropertyName)) + return; + + actionContext.SetSettings(settings); + ApplySettings(); + }; + + return new DeviceGetMutedActionSettingsView(viewModel); + } + + + private void MuteChanged(DeviceMuteChangedArgs args) + { + actionContext.SetDigitalOutput(settings.Inverted ? !args.IsMuted : args.IsMuted); + + if (settings.OSD) + OSDManager.Show(args.Device); + } + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedActionSettings.cs b/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedActionSettings.cs new file mode 100644 index 0000000..51a0bd5 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedActionSettings.cs @@ -0,0 +1,9 @@ +using MassiveKnob.Plugin.CoreAudio.Base; + +namespace MassiveKnob.Plugin.CoreAudio.GetMuted +{ + public class DeviceGetMutedActionSettings : BaseDeviceSettings + { + public bool Inverted { get; set; } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedActionSettingsView.xaml b/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedActionSettingsView.xaml new file mode 100644 index 0000000..09b2175 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedActionSettingsView.xaml @@ -0,0 +1,19 @@ + + + + + + + + + diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedActionSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedActionSettingsView.xaml.cs new file mode 100644 index 0000000..067abf0 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedActionSettingsView.xaml.cs @@ -0,0 +1,14 @@ +namespace MassiveKnob.Plugin.CoreAudio.GetMuted +{ + /// + /// Interaction logic for DeviceGetMutedActionSettingsView.xaml + /// + public partial class DeviceGetMutedActionSettingsView + { + public DeviceGetMutedActionSettingsView(DeviceGetMutedActionSettingsViewModel viewModel) + { + DataContext = viewModel; + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedActionSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedActionSettingsViewModel.cs new file mode 100644 index 0000000..1f52f80 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetMuted/DeviceGetMutedActionSettingsViewModel.cs @@ -0,0 +1,28 @@ +using MassiveKnob.Plugin.CoreAudio.Base; + +namespace MassiveKnob.Plugin.CoreAudio.GetMuted +{ + public class DeviceGetMutedActionSettingsViewModel : BaseDeviceSettingsViewModel + { + // ReSharper disable UnusedMember.Global - used by WPF Binding + public bool Inverted + { + get => Settings.Inverted; + set + { + if (value == Settings.Inverted) + return; + + Settings.Inverted = value; + OnPropertyChanged(); + } + } + // ReSharper restore UnusedMember.Global + + + // ReSharper disable once SuggestBaseTypeForParameter - by design + public DeviceGetMutedActionSettingsViewModel(DeviceGetMutedActionSettings settings) : base(settings) + { + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeAction.cs b/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeAction.cs new file mode 100644 index 0000000..1fef7d8 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeAction.cs @@ -0,0 +1,88 @@ +using System; +using System.Windows.Controls; +using AudioSwitcher.AudioApi; +using MassiveKnob.Plugin.CoreAudio.OSD; +using Microsoft.Extensions.Logging; + +namespace MassiveKnob.Plugin.CoreAudio.GetVolume +{ + public class DeviceGetVolumeAction : IMassiveKnobAction + { + public Guid ActionId { get; } = new Guid("6ebf91af-8240-4a75-9729-c6a1eb60dcba"); + public MassiveKnobActionType ActionType { get; } = MassiveKnobActionType.OutputAnalog; + public string Name { get; } = Strings.GetVolumeName; + public string Description { get; } = Strings.GetVolumeDescription; + + + public IMassiveKnobActionInstance Create(ILogger logger) + { + return new Instance(); + } + + + private class Instance : IMassiveKnobActionInstance + { + private IMassiveKnobActionContext actionContext; + private DeviceGetVolumeActionSettings settings; + private IDevice playbackDevice; + private IDisposable deviceChanged; + + + public void Initialize(IMassiveKnobActionContext context) + { + actionContext = context; + settings = context.GetSettings(); + ApplySettings(); + } + + + public void Dispose() + { + deviceChanged?.Dispose(); + } + + + private void ApplySettings() + { + if (playbackDevice == null || playbackDevice.Id != settings.DeviceId) + { + var coreAudioController = CoreAudioControllerInstance.Acquire(); + playbackDevice = settings.DeviceId.HasValue + ? coreAudioController.GetDevice(settings.DeviceId.Value) + : null; + + deviceChanged?.Dispose(); + deviceChanged = playbackDevice?.VolumeChanged.Subscribe(VolumeChanged); + } + + if (playbackDevice != null) + actionContext.SetAnalogOutput((byte)playbackDevice.Volume); + } + + + public UserControl CreateSettingsControl() + { + var viewModel = new DeviceGetVolumeActionSettingsViewModel(settings); + viewModel.PropertyChanged += (sender, args) => + { + if (!viewModel.IsSettingsProperty(args.PropertyName)) + return; + + actionContext.SetSettings(settings); + ApplySettings(); + }; + + return new DeviceGetVolumeActionSettingsView(viewModel); + } + + + private void VolumeChanged(DeviceVolumeChangedArgs args) + { + actionContext.SetAnalogOutput((byte)args.Volume); + + if (settings.OSD) + OSDManager.Show(args.Device); + } + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeActionSettings.cs b/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeActionSettings.cs new file mode 100644 index 0000000..0c5c672 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeActionSettings.cs @@ -0,0 +1,8 @@ +using MassiveKnob.Plugin.CoreAudio.Base; + +namespace MassiveKnob.Plugin.CoreAudio.GetVolume +{ + public class DeviceGetVolumeActionSettings : BaseDeviceSettings + { + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeActionSettingsView.xaml b/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeActionSettingsView.xaml new file mode 100644 index 0000000..eb60b35 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeActionSettingsView.xaml @@ -0,0 +1,14 @@ + + + + + diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeActionSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeActionSettingsView.xaml.cs new file mode 100644 index 0000000..fb25115 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeActionSettingsView.xaml.cs @@ -0,0 +1,14 @@ +namespace MassiveKnob.Plugin.CoreAudio.GetVolume +{ + /// + /// Interaction logic for DeviceGetVolumeActionSettingsView.xaml + /// + public partial class DeviceGetVolumeActionSettingsView + { + public DeviceGetVolumeActionSettingsView(DeviceGetVolumeActionSettingsViewModel viewModel) + { + DataContext = viewModel; + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeActionSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeActionSettingsViewModel.cs new file mode 100644 index 0000000..49d3b87 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetVolume/DeviceGetVolumeActionSettingsViewModel.cs @@ -0,0 +1,12 @@ +using MassiveKnob.Plugin.CoreAudio.Base; + +namespace MassiveKnob.Plugin.CoreAudio.GetVolume +{ + public class DeviceGetVolumeActionSettingsViewModel : BaseDeviceSettingsViewModel + { + // ReSharper disable once SuggestBaseTypeForParameter - by design + public DeviceGetVolumeActionSettingsViewModel(DeviceGetVolumeActionSettings settings) : base(settings) + { + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/MassiveKnob.Plugin.CoreAudio.csproj b/Windows/MassiveKnob.Plugin.CoreAudio/MassiveKnob.Plugin.CoreAudio.csproj new file mode 100644 index 0000000..802bfcb --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/MassiveKnob.Plugin.CoreAudio.csproj @@ -0,0 +1,175 @@ + + + + + Debug + AnyCPU + {5BD5E2F2-9923-4F74-AC69-ACDA0B847937} + Library + Properties + MassiveKnob.Plugin.CoreAudio + MassiveKnob.Plugin.CoreAudio + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + BaseDeviceSettingsView.xaml + + + + + DeviceGetDefaultActionSettingsView.xaml + + + + + + DeviceGetMutedActionSettingsView.xaml + + + + + OSDWindow.xaml + + + + + + + DeviceSetDefaultActionSettingsView.xaml + + + + + + DeviceSetMutedActionSettingsView.xaml + + + + + + + DeviceGetVolumeActionSettingsView.xaml + + + + + + + DeviceSetVolumeActionSettingsView.xaml + + + + + + Strings.resx + True + True + + + + + {a1298be4-1d23-416c-8c56-fc9264487a95} + MassiveKnob.Plugin + + + + + 4.0.0-alpha5 + + + 5.0.0 + + + 5.0.0 + + + 4.5.4 + + + + + PublicResXFileCodeGenerator + Strings.Designer.cs + + + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + Designer + MSBuild:Compile + + + + + Always + + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/MassiveKnobCoreAudioPlugin.cs b/Windows/MassiveKnob.Plugin.CoreAudio/MassiveKnobCoreAudioPlugin.cs new file mode 100644 index 0000000..5896fd1 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/MassiveKnobCoreAudioPlugin.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using MassiveKnob.Plugin.CoreAudio.GetDefault; +using MassiveKnob.Plugin.CoreAudio.GetMuted; +using MassiveKnob.Plugin.CoreAudio.GetVolume; +using MassiveKnob.Plugin.CoreAudio.SetDefault; +using MassiveKnob.Plugin.CoreAudio.SetMuted; +using MassiveKnob.Plugin.CoreAudio.SetVolume; + +namespace MassiveKnob.Plugin.CoreAudio +{ + [MassiveKnobPlugin] + public class MassiveKnobCoreAudioPlugin : IMassiveKnobActionPlugin + { + public Guid PluginId { get; } = new Guid("eaa5d3f8-8f9b-4a4b-8e29-827228d23e95"); + public string Name { get; } = Strings.PluginName; + public string Description { get; } = Strings.PluginDescription; + public string Author { get; } = "Mark van Renswoude "; + public string Url { get; } = "https://www.github.com/MvRens/MassiveKnob/"; + + public IEnumerable Actions { get; } = new IMassiveKnobAction[] + { + new DeviceSetVolumeAction(), + new DeviceGetVolumeAction(), + + new DeviceSetMutedAction(), + new DeviceGetMutedAction(), + + new DeviceSetDefaultAction(), + new DeviceGetDefaultAction() + }; + + + public MassiveKnobCoreAudioPlugin() + { + // My system suffers from this issue: https://github.com/xenolightning/AudioSwitcher/issues/40 + // ...which causes the first call to the CoreAudioController to take up to 10 seconds, + // so initialise it as soon as possible. Bit of a workaround, but eh. + Task.Run(() => + { + CoreAudioControllerInstance.Acquire(); + }); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/MassiveKnobPlugin.json b/Windows/MassiveKnob.Plugin.CoreAudio/MassiveKnobPlugin.json new file mode 100644 index 0000000..26c5892 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/MassiveKnobPlugin.json @@ -0,0 +1,3 @@ +{ + "EntryAssembly": "MassiveKnob.Plugin.CoreAudio.dll" +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/OSD/OSDManager.cs b/Windows/MassiveKnob.Plugin.CoreAudio/OSD/OSDManager.cs new file mode 100644 index 0000000..ad134ce --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/OSD/OSDManager.cs @@ -0,0 +1,62 @@ +using System; +using System.Threading; +using System.Windows; +using AudioSwitcher.AudioApi; + +namespace MassiveKnob.Plugin.CoreAudio.OSD +{ + public static class OSDManager + { + private const int OSDTimeout = 2500; + + private static OSDWindowViewModel windowViewModel; + private static Window window; + private static Timer hideTimer; + + public static void Show(IDevice device) + { + Application.Current?.Dispatcher.Invoke(() => + { + if (window == null) + { + windowViewModel = new OSDWindowViewModel(); + window = new OSDWindow(windowViewModel); + window.Closed += WindowOnClosed; + + hideTimer = new Timer(state => + { + Hide(); + }, null, OSDTimeout, Timeout.Infinite); + } + else + hideTimer.Change(OSDTimeout, Timeout.Infinite); + + windowViewModel.SetDevice(device); + window.Show(); + }); + } + + + private static void WindowOnClosed(object sender, EventArgs e) + { + hideTimer?.Dispose(); + hideTimer = null; + + window = null; + } + + + private static void Hide() + { + Application.Current?.Dispatcher.Invoke(() => + { + window?.Close(); + window = null; + windowViewModel = null; + + hideTimer?.Dispose(); + hideTimer = null; + }); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/OSD/OSDWindow.xaml b/Windows/MassiveKnob.Plugin.CoreAudio/OSD/OSDWindow.xaml new file mode 100644 index 0000000..70a0036 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/OSD/OSDWindow.xaml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/OSD/OSDWindow.xaml.cs b/Windows/MassiveKnob.Plugin.CoreAudio/OSD/OSDWindow.xaml.cs new file mode 100644 index 0000000..2471103 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/OSD/OSDWindow.xaml.cs @@ -0,0 +1,49 @@ +using System; +using System.ComponentModel; +using System.Windows; +using System.Windows.Forms; +using System.Windows.Media.Animation; + +namespace MassiveKnob.Plugin.CoreAudio.OSD +{ + /// + /// Interaction logic for OSDWindow.xaml + /// + public partial class OSDWindow + { + private bool closeStoryBoardCompleted; + + + public OSDWindow(OSDWindowViewModel viewModel) + { + DataContext = viewModel; + InitializeComponent(); + } + + + private void OSDWindow_OnLoaded(object sender, RoutedEventArgs e) + { + var desktopArea = Screen.PrimaryScreen.WorkingArea; + + Left = (desktopArea.Width - Width) / 2; + Top = desktopArea.Bottom - Height - 25; + } + + + private void OSDWindow_OnClosing(object sender, CancelEventArgs e) + { + if (closeStoryBoardCompleted) + return; + + ((Storyboard)FindResource("CloseStoryboard")).Begin(this); + e.Cancel = true; + } + + + private void CloseStoryboard_Completed(object sender, EventArgs e) + { + closeStoryBoardCompleted = true; + Close(); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/OSD/OSDWindowViewModel.cs b/Windows/MassiveKnob.Plugin.CoreAudio/OSD/OSDWindowViewModel.cs new file mode 100644 index 0000000..5831266 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/OSD/OSDWindowViewModel.cs @@ -0,0 +1,91 @@ +using System.ComponentModel; +using System.Runtime.CompilerServices; +using System.Windows; +using AudioSwitcher.AudioApi; + +namespace MassiveKnob.Plugin.CoreAudio.OSD +{ + public class OSDWindowViewModel : INotifyPropertyChanged + { + // ReSharper disable UnusedMember.Global - used by WPF Binding + private string deviceName; + public string DeviceName + { + get => deviceName; + set + { + if (value == deviceName) + return; + + deviceName = value; + OnPropertyChanged(); + } + } + + private int volume; + public int Volume + { + get => volume; + set + { + if (value == volume) + return; + + volume = value; + OnPropertyChanged(); + OnDependantPropertyChanged(nameof(VolumeLowVisibility)); + OnDependantPropertyChanged(nameof(VolumeMediumVisibility)); + OnDependantPropertyChanged(nameof(VolumeHighVisibility)); + OnDependantPropertyChanged(nameof(VolumeIndicatorLeft)); + } + } + + + private bool isMuted; + public bool IsMuted + { + get => isMuted; + set + { + if (value == isMuted) + return; + + isMuted = value; + OnPropertyChanged(); + OnDependantPropertyChanged(nameof(IsMutedVisibility)); + OnDependantPropertyChanged(nameof(IsNotMutedVisibility)); + } + } + + + public Visibility IsMutedVisibility => IsMuted ? Visibility.Visible : Visibility.Collapsed; + public Visibility IsNotMutedVisibility => IsMuted ? Visibility.Collapsed : Visibility.Visible; + public Visibility VolumeLowVisibility => Volume > 0 ? Visibility.Visible : Visibility.Collapsed; + public Visibility VolumeMediumVisibility => Volume > 33 ? Visibility.Visible : Visibility.Collapsed; + public Visibility VolumeHighVisibility => Volume > 66 ? Visibility.Visible : Visibility.Collapsed; + + public int VolumeIndicatorLeft => Volume * 3; + // ReSharper enable UnusedMember.Global + + + public void SetDevice(IDevice device) + { + DeviceName = device.FullName; + Volume = (int)device.Volume; + IsMuted = device.IsMuted; + } + + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + protected virtual void OnDependantPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/OSD/SpeakerIcon.xaml b/Windows/MassiveKnob.Plugin.CoreAudio/OSD/SpeakerIcon.xaml new file mode 100644 index 0000000..424d876 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/OSD/SpeakerIcon.xaml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/Properties/AssemblyInfo.cs b/Windows/MassiveKnob.Plugin.CoreAudio/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7ba6cb2 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MassiveKnob.Plugin.CoreAudio")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MassiveKnob.Plugin.CoreAudio")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("5bd5e2f2-9923-4f74-ac69-acda0b847937")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/Resources/Muted.svg b/Windows/MassiveKnob.Plugin.CoreAudio/Resources/Muted.svg new file mode 100644 index 0000000..5f80244 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/Resources/Muted.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/Resources/OSDIcon.ai b/Windows/MassiveKnob.Plugin.CoreAudio/Resources/OSDIcon.ai new file mode 100644 index 0000000..9769ffa --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/Resources/OSDIcon.ai @@ -0,0 +1,441 @@ +%PDF-1.5 % +1 0 obj <>/OCGs[5 0 R 6 0 R 7 0 R 27 0 R 28 0 R 29 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + Adobe Illustrator CS6 (Windows) + 2021-02-24T14:53:14+01:00 + 2021-02-24T15:05:50+01:00 + 2021-02-24T15:05:50+01:00 + + + + 228 + 256 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAADkAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q+CP+cgvzj8x+cPOO p6XDeS2/ljTbiS0tNPjcrHL6LcGmlC09RnZary+yNh3qqwnyD+Y/mzyLrUOqaBevDwcNcWZYm3uE qOUc0daMGApXqOoIO+Kv0E/LX8xdB8/+VbfX9Iegf93eWjEGS3uFALxPTwrUHupBxVlOKuxV2Kux V2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVLvMPmPQvLulTatrl9Dp+nwD95cTtxWtKhVHVmNNlUEnti r5H/ADf/AOcttb1szaR5F9TSNJNUk1VvhvZh0Pp/74U9iPj916Yq+fYtT1GK/GoRXU0eoK/qreLI wmD/AM4kB5cveuKvt/8A5xZ/NfV/PPlO+0/XZTc6zoDxRvet9ua3nVvRaQ/tSAxOrHvsTuScVe2Y q7FXYq7FXYq7FX56fn7+W+qeSPzC1FJo2OlarPLe6TddVeKV+Zjr/PEW4sPkehGKvNsVZ7+Tf5s6 v+W3mpNTtuVxpVzxi1fTwdpoQftLXYSR1JQ/R0JxV+g/l7zBpHmHRbTWtHuVu9NvoxLbzp0KnsQd 1ZTsyncHY4qmGKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV5B+bv/OSfk7yF62m2RXW/Mqgr9Qhc elA1NvrMorxp/ItW8ePXFXxl5+/Mrzh581Y6l5jvmuCtfq1olUtoFP7MMQNF9zux7k4qxfFXYq+o P+cHP+Or5u/4wWX/ABObFX1pirsVdirsVdirsVYp+Zn5c6F+YHlS50DVl4l/3lleKoMltcKDwlSv 3MP2lqMVfnn528ma75N8yXfl/W4DDe2jbMPsSxn7EsbftI43H3HcEYqkWKvaP+ccvzzm8g63+htZ lZ/KWpyD16kn6pO1ALhB/Kekijtv1FCq+6YZoZ4Y54JFlhlUPFKhDKysKqysNiCOhxVfirsVdirs VdirsVdirsVdirsVdiqU+Z/NnlzytpMureYNQh06wi6yzNQs1K8I1FWdzTZVBJxV8hfm/wD85YeY vMhm0jyb6uiaGapJe1C31wp2PxKT6CnwQ8v8r9nFXz+SSSSak7knrXFWsVboaV7Yq1ir6g/5wc/4 6vm7/jBZf8TmxV9aYq7FXYq7FXYq7FXYq8x/Pf8AJjT/AMyPLZEAS38zaerNpN6RTl3NvK3X03P/ AAJ38QVXwHqemahpeoXOnajbva31pI0Nzbyji6SIaMrD2OKoXFX07/ziz+fRsZrbyB5nuf8AQZW9 PQL6VhSF2O1q7H9hyf3Z7H4ehFFX1virsVdirsVdirsVdirsVdirsVeLfm9/zk75S8kGfStH4a75 lSqtBG3+i279P9IlXqwPWNN+xK4q+NvO/wCYHmzzvq7ar5jv3vJ9xDF9mGFD+xDGPhRflue9TirH cVXRxySyLHGpeRyFRFBLFiaAADqTir6M/J//AJxI1jWvR1nz56mlaWaPFo6/DeTDr+9J/uFPh9v/ AFeuKoX/AJy+8uaF5d1XyppOh2MWn6db2Ewit4F4rX1RVj3Zj3Zqk98VfPeKvqD/AJwc/wCOr5u/ 4wWX/E5sVfWmKuxV2KuxV2KuxV2KuxV4D/zk3+Q4826e/m7y5b/87NYx/wCmW0Y3vbdB2A6zRj7P dh8O9FxV8VEEGh2IxVwJBqNiMVfaf/OMX58DzXp8flDzHcV8y2Mf+g3L9b23Qdz3mjA+L+Zfi3PL FX0BirsVdirsVdirsVdiqSebvOnljyhpEmreYtQisLNKhTIavIwFeEUYq8jeyjFXx5+b3/OVPmjz YZ9J8r+poXl56o8ikC9uFOx9SRT+6U/yIfmxG2KvCcVdirMfy4/Kjzp+YOpfVPL9nyt42C3epTVS 1grv+8kod/BVBY+GKvtD8o/+cefJn5exx3vAat5kp+81a4QfuyRQi2j3EQ992PjTbFXqeKvkD/nN 7/lKvLX/ADAzf8nsVfNWKvqD/nBz/jq+bv8AjBZf8TmxV9aYq7FXYq7FXYq7FXYq7FXYq+Sf+cp/ yGNlLc/mB5Yt/wDQ5WMnmCxjH907He7RR+wx/vB2PxdCaKvmHFUTp2o3+mX9vqGnzva31pIs1tcR Eq6SIaqykdwcVffn5D/nRYfmR5b/ANIMdv5m09VXVbJdg3YXEQP+63PUfsnY9iVXp+KuxV2KuxV2 KvDPze/5yn8reUDPpPlsR695hSqMytWyt3/4tkU/vGHdEPsWBxV8d+cPO3mjzjrD6v5iv5L+8bZO ZpHGnXhFGKJGvso9+uKpFiqpBBNPMkEEbSzSsEjiQFmZmNAqqNyTir6U/J//AJxEv9R9HWfzB52N kaPFoUbcbiQdf9Idf7lf8lfj91OKvq/RtE0jRNNg0zSLOKw0+2XjDbQIERR8h3PUk7nviqNxV2Kv kD/nN7/lKvLX/MDN/wAnsVfNWKvqD/nBz/jq+bv+MFl/xObFX1pirsVdirsVdirsVdirsVdiq2aG KaJ4ZkWSKRSkkbgMrKwoVYHYgjFXwv8A85HfkXN5C1o63osTP5S1KQ+lQV+pztubdz/IdzGfD4eo qVXiuKp55L85a75O8yWfmDRJ/RvrRq8TXhJGftxSKKckcbEfSN8VfoZ+WX5j6F+YPlW317Sm4M37 u+smYNJbXAA5xP0r4q1PiWhxVlmKuxVj/nXz75T8laQ2q+Y9QjsrcVEUZ+KaZwK8IYx8Tt8unU0G Kvjf83v+coPNvnQz6XoZk0Ly09UaFG/0q4U7fv5V+ypH+6027EtirxPFXYqzj8s/yd87fmJfejod rwsIm43eq3FUtYu9OdCXf/IQE+NBvir7S/Kb8hPJX5dQJcW0f6S8wMtJ9auVHqCooywJuIUO/T4j 3Y4q9KxV2KuxV2KvkD/nN7/lKvLX/MDN/wAnsVfNWKvqD/nBz/jq+bv+MFl/xObFX1pirsVdirsV dirsVdirsVdirsVS/wAwaBpHmHRbzRdYtlu9NvozFcQP0KnuD1VlO6sNwdxvir8+fzl/KXVvy281 Pp1xyuNJuuUukagRQTRA7q3b1I6gOPkehGKsBxVnf5PfmvrH5b+a49UteU+mXHGLV9Or8M8Feors JEryRvo6E4q/Qfy55i0fzHodnrej3C3Wm30Ylt5l7g7FWHZlIKsD0O2KvMf+cgfz0vPy0s7W107S ZLvVNTjdrS/nFLGMqaMCVPKSRdjw22INe2KviPzT5t8x+a9Xl1fzBfy6hfy7GWU7KvZI0FFRR2VQ BiqT4qrWlnd3t1FaWcElzdTsEhghVpJHY9FVVBJJ8Bir6d/KD/nEKacQ6z+YhaGI0eHy/C9JGB3H 1qVD8H+ohr4sNxir6n0vS9N0qwg0/TLWKysbZQkFtAgjjRR2VVAAxVFYq7FXYq7FXYq+QP8AnN7/ AJSry1/zAzf8nsVfNWKvqD/nBz/jq+bv+MFl/wATmxV9aYq7FXYq7FXYq+D/AM4v+cjPOnmrzHdw aDqtxpPlm2laOwhspHt3mRDQTTOhV2L/AGgteK7bV3Krzv8A5WF5+/6mXVf+k65/5rxV3/KwvP3/ AFMuq/8ASdc/814q7/lYXn7/AKmXVf8ApOuf+a8Vd/ysLz9/1Muq/wDSdc/814q9X/IH/nIrWPK/ mD9F+b9RuNQ8uam6iS6upJJ5LOX7IlVnLN6Z/wB2L/shvUMq+s/zE8geXfzD8pTaJqdGgnAmsb6K jPBNT93NGeh67itGXbFX56eefJOveSvM135e1uL07y1b4ZFqY5oj9iaJiBVHHT7juCMVSDFXsv8A zjp+eU35f63+idXkZ/KOpyA3Q3Y2sxoouUUV2oAJAOo3G4oVX2R558leWvzC8oTaNqXGewvUWazv IiGaNytYriFulRyr4EbHY4q/PX8wPIeveRfNF15e1qPjcQHlDOtfTnhYnhNGT+y1PoOx3GKp5+V3 5J+d/wAxbr/cTbfVtJjbjc6xcgrbp4qneVx/Kn0064q+0/yr/I7yV+XVoG02D65rTrxudZuVBnao +JYxuIkP8q/7Itir0LFXYq7FXYq7FXYq7FXyB/zm9/ylXlr/AJgZv+T2KvmrFX1B/wA4Of8AHV83 f8YLL/ic2KvrTFXYq7FXYq7FX5V4q7FXYq7FXYq7FX1H/wA4r/nyLd7f8v8AzPc0t2pH5fv5W+wx 6Wjsf2T/ALq8D8PdaKvZvz1/JrT/AMyfLJjiCW/mPTw0mkXp2BJ3aCU/77k/4U0PiCq+AdV0vUdJ 1K50zUrd7W/s5GhubeQUZJENGU4qhMVfTH/OLP58/oyeDyF5nuaabO3HQr+Vv7iVj/vM5P8Autyf gP7LbdCOKr6R89/lf5K89fo//E2ni8/RkxmtiGaNqMKNGzIQxjegLLXegxVkljY2VhZw2Vjbx2tn bqI4LaFFjjRF6KiKAAB7Yqr4q7FXYq7FXYq7FXYq7FXyB/zm9/ylXlr/AJgZv+T2KvmrFX1B/wA4 Of8AHV83f8YLL/ic2KvrTFXYq7FXYq7FX5V4q7FX6B+W/wAifyhufLul3E/layknms4JJZCrVZ2i UsT8XcnFUy/5UD+TX/Up2P8AwLf81Yq7/lQP5Nf9SnY/8C3/ADVirv8AlQP5Nf8AUp2P/At/zVir l/IP8nFYMvlSyVlNVYK4II/2WKs+RFRFRa8VAUVJJoNtydzirwX/AJya/IcecNNk81+Xbf8A52iw j/0q3jHxX1vGPs0HWaNR8Hdh8P8ALRV8TkEEgihGxB61xVwJBqNiMVfaH/OMP58/4osYvJvmS4r5 jso6afdysOV7BGPskndpo1G/dl+LqGOKvoPFXYq7FXYq7FXYq7FXYq7FXyB/zm9/ylXlr/mBm/5P Yq+asVfUH/ODn/HV83f8YLL/AInNir60xV2KuxV2KuxV+VeKuxV+n/lP/lFdG/5gbb/kyuKprirs VdirsVdirsVfJ3/OU/5Ci2a4/MDyxbUt3Jk8w2ESn4GJqbtFH7J/3aO32u7UVfLmKojT9QvdOvre /sZntr21kWa2uIzxdJEPJWU+IIxV98/kH+dVl+ZHlz07spB5o05QuqWi0AkHRbmIfyP+0P2W26cS VXqeKuxV2KuxV2KuxV2KuxV8gf8AOb3/AClXlr/mBm/5PYq+asVfUH/ODn/HV83f8YLL/ic2KvrT FXYq7FXYq7FX5V4q7FX6f+U/+UV0b/mBtv8AkyuKprirsVdirsVdirsVWyRxyxtHIoeNwVdGAKsp FCCD1BxV8M/85IfkVJ5E1g67ocJPlLUpCI1FT9Tnareg3+Q2/pn/AGJ3AJVeJ4qnfk3zfrnlDzHZ +YNEn9G/sn5LWpSRDs8Uigjkjrsw+7fFX6F/lf8AmVof5heVYNd0tuEn93f2RNZLa4Aq0bdKjurd x92KsuxV2KuxV2KuxV2KuxV8gf8AOb3/AClXlr/mBm/5PYq+asVfUH/ODn/HV83f8YLL/ic2KvrT FXYq7FXYq7FX5V4q7FX6f+U/+UV0b/mBtv8AkyuKprirsVdirsVdirsVdiqA17QtK17R7vRtWt1u 9OvozFcwOKhlP6iDupG4O4xV+ff50flHq35beaXsJedxot2Wl0fUSNpYq7o5GwljrRh8m6EYq8+x VnP5Q/mrrP5ceao9Ws+U+nz8YtW07lRbiAH7hIlSUbsfYnFX6EeWfMmjeZtCs9c0a4W602+jEsEq ++xVh+y6mqsp3B2xVM8VdirsVdirsVdir5A/5ze/5Sry1/zAzf8AJ7FXzVir6g/5wc/46vm7/jBZ f8TmxV9aYq7FXYq7FXYq/KvFXYq/T/yn/wAoro3/ADA23/JlcVTXFXYq7FXYq7FXYq7FXYqxn8xf y/0Hz55WuvL+sJ+7mHO2uVAMlvOoPCaOvda7juKg7HFX55effI2veSPM935e1qLhdWxrFKAfTnhY nhNET1R6fQag7g4qx7FXsP8Azjx+eNz+Xuu/o3VJHl8palIBeR/a+rSmii5jH4SKOq79QMVfd9tc 291bxXNtKs1vOiyQzRkMjo45KysNiCDUHFVTFXYq7FXYq7FXyB/zm9/ylXlr/mBm/wCT2KvmrFX1 B/zg5/x1fN3/ABgsv+JzYq+tMVdirsVdirsVflXirsVfp/5T/wCUV0b/AJgbb/kyuKprirsVdirs VdirsVdirsVdirzb88fyc038yfLJgXhb+YbEM+kX7bAMdzDKRU+nJTf+U7jwKr8/9W0nUtI1O60v U7d7TULORobm3kFGR0NCDiqExV9K/wDOLX58/oi4t/IXma4ppdw/DQ72Q7W80h/3ndv99yMfgP7L GnQ/Cq+v8VdirsVdirsVfIH/ADm9/wApV5a/5gZv+T2KvmrFX1B/zg5/x1fN3/GCy/4nNir60xV2 KuxV2KuxV+VeKuxV+n/lP/lFdG/5gbb/AJMriqa4q7FXYq7FXYq7FXYq7FXYq7FXhH/OS/5EDznp jeaPL0A/xVp8f76BKD67boPsf8ZYx9g9x8P8tFXxGysrFWBVlNGU7EEYq1ir7N/5xg/PkeZLKPyX 5lua+YLOOmmXkrfFeQIPsMT1mjA+bLv1DHFX0PirsVdirsVfIH/Ob3/KVeWv+YGb/k9ir5qxV9Qf 84Of8dXzd/xgsv8Aic2KvrTFXYq7FXYq7FX5V4q7FX6f+U/+UV0b/mBtv+TK4qmuKuxV2KuxV2Ku xV2KuxV2KuxV2KvlL/nKj8huDXP5g+WLaqMTJ5hsIl6E9bxFHif73/g/5jir5YxVXsb28sLyC9sp ntry2kWW3uImKukiHkrKw3BBGKvvf8gPzss/zH8veheskPmrTUUanbCiiVfsi6iX+Vj9oD7LbdCt VXq2KuxV2KvkD/nN7/lKvLX/ADAzf8nsVfNWKvqD/nBz/jq+bv8AjBZf8TmxV9aYq7FXYq7FXYq/ KvFXYq/T/wAp/wDKK6N/zA23/JlcVTXFXYq7FXYq7FXYq7FXYq7FXYq7FVskccsbRyKHjcFXRgCr KRQgg9QcVfDv/OSf5FP5G1c+YNChJ8p6lJtGoJ+pTtv6Ldf3bdYz/sewJVeH4qnPlDzbrnlHzFZ6 /ok5g1Cyfkh6q6nZ45F/aR12YYq/Qv8AKz8zND/MPypBrmmn05x+61GxYgvb3AHxI3ip6o3ceBqA qzDFXYq+QP8AnN7/AJSry1/zAzf8nsVfNWKvqD/nBz/jq+bv+MFl/wATmxV9aYq7FXYq7FXYq/Kv FXYq/T/yn/yiujf8wNt/yZXFU1xV2KuxV2KuxV2KuxV2KuxV2KuxV2KoLW9E0vXNIu9I1a3W706+ jaG5t36MjfKhBHUEbg7jFX5+fnZ+UGqflr5oNm5e40O95SaPqDD+8jB+KOQgAerHUBvHY98Ved4q zb8pPzS1r8ufNcWsWNZrGWkWq6eTRbiCu49nXqjdj7Egqv0J8r+Z9F80aDZ67otwLnTb5PUhkGxH ZlZf2WVgQw7HFU1xV8gf85vf8pV5a/5gZv8Ak9ir5qxV9Qf84Of8dXzd/wAYLL/ic2KvrTFXYq7F XYq7FX5V4q7FX6f+U/8AlFdG/wCYG2/5Mriqa4q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqxv8wvIO g+e/K915e1mOsE45QXCgepBOoPCaMn9pa/SKg7HFX55ef/ImveRvNF35e1qLjcW5rDOtfTnhYn05 oj3VwPoNQdwcVY5ir17/AJx6/O+5/LvXvqOpO0nlPU5B9fi3b6vIaKLqNRXcAAOB9pfcDFX3ja3V td20V1aypPbToskE8bB0dHFVZWFQQQagjFXyL/zm9/ylXlr/AJgZv+T2KvmrFX1B/wA4Of8AHV83 f8YLL/ic2KvrTFXYq7FXYq7FX5V4q7FX6B+W/wA9vyhtvLul28/mmyjnhs4I5YyzVV1iUMD8PYjF Uy/5X9+TX/U2WP8AwTf804q7/lf35Nf9TZY/8E3/ADTirv8Alf35Nf8AU2WP/BN/zTirv+V/fk1/ 1Nlj/wAE3/NOKu/5X9+TX/U2WP8AwTf804q7/lf35Nf9TZY/8E3/ADTirv8Alf35Nf8AU2WP/BN/ zTiqf+WvzB8j+Z3aPy/rtlqcyLyeC3mRpVX+Yx15ge9MVZBirsVdirsVdirsVec/nf8Ak9pn5k+V 2tvgt9fsQ0mj37D7LnrDIRv6UlKHwNG7UKr8/tZ0fU9F1W60rVLd7TULKRobm3kFGR1NCP6EbEb4 qgsVfSX/ADi3+fJ0W6h8i+Zrn/cPcvx0W9lba2mc/wBw5PSKQn4T+y3sfhVfQf5z/lJpP5k+VX0+ bjb6xacpdH1EjeKUjdGI3MUlKOPkeoGKvz61/QdW8v6zeaNq9s1pqVjIYrmBxurDuPFWFCpGxG42 xV9If84Of8dXzd/xgsv+JzYq+tMVdirsVdirsVflXirsVdirsVdirsVdirsVdirsVRGn6hf6dew3 2n3Elpe27B4LmB2jkRh0KspBBxV9S/lB/wA5fIwh0b8xRxbZIfMEKbHt/pUSDb/XjHzXvir6gsb6 yv7OG9sbiO6s7hRJBcwuskbo3RkdSQQfbFVfFXYq7FXYq7FXhn/OSn5EJ520p/MugQAebNPi+OJB vfQIK+kQP92qP7s9/sntRV8QOjo7I6lXUkMpFCCOoIxVbir7J/5xe/Pr/ENpD5I8y3FddtI6aTey He7gjFfScnrNGo/2SivUElVkP/OR/wCRcXnzRzrmiRKnm3TYz6YG31yBan0GP843MZ8fhOxqFXm/ /OEUMsOtecYZkaOWOKzSSNwVZWWSYFWB3BBxV9ZYq7FXYq7FXYq+D/zi/wCcc/OnlXzHdz6DpVxq 3lm5laSwmso3uHhRzUQzIgZ1KfZDU4ttvXYKvO/+Ve+fv+pa1X/pBuf+aMVd/wAq98/f9S1qv/SD c/8ANGKu/wCVe+fv+pa1X/pBuf8AmjFXf8q98/f9S1qv/SDc/wDNGKu/5V75+/6lrVf+kG5/5oxV 3/KvfP3/AFLWq/8ASDc/80Yq7/lXvn7/AKlrVf8ApBuf+aMVd/yr3z9/1LWq/wDSDc/80Yqp3Pkb zta28lzc+X9Sgt4VLyzSWc6IiqKlmZkAAHicVSPFXYqz/wDK787fO/5dXf8AuJuPrOkyNyudGuSW t3J6slDWJ/8AKT/ZVG2KvtP8q/zx8lfmLaBdNn+p60i8rnRrlgJ1oPiaM7CVB/Mv+yC4q9CxV2Ku xV2KuxV8q/8AOVP5Df70/mD5Yt/GTzFYxj77xF/5Ogf638xxV8q4qrWd5d2V3BeWcz293bSLLbzx kq6SIeSsrDcEEVGKvvX/AJx9/O20/MXy99Vv3SHzXpqAajbj4RMnRbqIfyt0cD7LexXFWbaR5D0H SPN+seaNOjNve67FDHqUS0EbyQM5E1OzsJKN2NK9akqsjxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux V2KuIBFDuD1GKvAfze/5xQ8t+ZvX1fygY9D11qu9pTjY3De6KP3LH+ZBx/yamuKvkHzT5S8x+VNX l0jzBYS6ffxbmKUbMvZ43FVdT2ZSRiqT4qrWl5d2V1Fd2c8ltdQMHhnhZo5EYdGVlIII8Rir6d/K D/nL2aAQ6N+YgaaIUSHzBClZFA2H1qJB8f8AroK+Knc4q+p9L1TTdVsINQ0y6ivbG5UPBcwOJI3U 91ZSQcVRWKuxV2KtOiOjI6hkYEMpFQQdiCDir4f/AOclPyJfyTqreZNAgJ8qajJ8cSDaxnc19I06 RMf7s9vs+FVXhmKpx5T81655U8wWevaJcG31GyfnG25Vh0aORduSOuzDwxV+hX5Vfmdof5ieVYdb 04iK5WkWpaeWDPbT0qUPSqnqjU3HvUBVmWKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVj/n XyF5T866Q2leY9Pjvbc1MUh+GaFyKc4ZB8SN8uvQ1GKvjf8AN7/nF/zb5LM+qaGJNd8tJV2mRf8A SrdRv+/iX7Sgf7sTbuQuKvE8VdirOPyz/OLzt+Xd962h3XOwlbld6VcVe1l7V4VBR/8ALQg+NRti r7S/Kb8+/JX5iwJb20n6N8wKtZ9FuWHqGgqzQPsJkG/T4h3UYq9KxV2KuxVB6zo+ma1pV1pWqW6X en3sbQ3NvIKq6MKEf0I3B3xV+f353/k9qf5beaGtvjuNAvi0mj37D7SDrDIRt6sdaHxFG70CrzjF WaflR+aGufl15qi1nTiZbSSkWp6eTRLiCtSp60deqN2PsSCq/Qryn5q0TzV5fstf0WcXGnX0YeJt uSno0bgE8XRvhYdjiqbYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq8M/N7/nFjyt5vM+ reWzHoPmF6uyqtLK4f8A4tjUfu2Pd0HuVJxV8d+cPJPmjydrD6R5isJLC8XdOYrHInTnFIKpIvup 9uuKpFiqpBPNBMk8EjRTRMHjlQlWVlNQysNwRir6U/J//nLu/wBO9HRvzB531kKJFrsa8riMdP8A SEX++X/KX4/Zjir6v0bW9I1vTYNT0i8iv9PuV5Q3MDh0YfMdx0IO474qjcVdirHfP/kTQfPPle78 va1Fyt7gcoZ1p6kEyg+nNEezIT9IqDsTir88fzC8ha95F80XXl7WY6TwHlBcKD6c8DE8Joyf2Wp9 BqDuMVY3ir1v/nHz87br8uvMH1TUHaXynqbgajAAWMDn4VuYwN6r0cD7S+4XFX3pZ3dre2kN5aSr Pa3CLLBPGQyOjjkrKR1BBriqrirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdiqSebvJfljz fpEmk+YtPiv7N6lRIKPGxFOcUgo8be6nFXx5+b3/ADit5o8pmfVvK/qa75eSrvGoBvbdRufUjUfv VH86D5qBvirwnFXYqzH8uPzX86fl9qX1vy/ecbeRg13ps1XtZ6bfvI6jfwZSGHjir7Q/KP8A5yG8 mfmFHHZcxpPmSn7zSbhx+8IFSbaTYSj22YeFN8Vep4qwXzP+a+jeWPzD0XyprPG3t9ft2ay1BjRU uVk4LFJXbjJUBW7N167Kob87Pyg0v8yvK5s3KW+uWXKTR9QYfYkI+KOQgE+lJQBvDY9sVfn5rei6 poerXekatbtaajYyNDc27/aV1+VQR3BGxG4xVA4q+jv+cXfz5GgXUPkfzNc8dEupKaReyttazOf7 lydhFIx2P7LexNFX2NirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirxb83v8AnGLy l53M+q6Pw0LzK9WaeNf9FuH6/wCkRL0YnrIm/chsVfG3nf8AL/zZ5I1dtK8x2D2c+5hl+1DMg/bh kHwuvy3HehxVjuKro5JIpFkjYpIhDI6khgwNQQR0IxV9Gfk//wA5b6xovo6N589TVdLFEi1hfivI R0/eg/36jx+3/rdMVQv/ADl95j0LzFqvlTVtDvotQ064sJjFcQNyWvqiqnurDurUI74q9L/5xg/P n/E9lH5M8y3NfMVnH/uOvJW+K9gjH2WJ+1NGo37su/UMcVTb/nJP8ik886QfMOhQgebNNj/u1AH1 2Bd/Rbp+8XrGf9j3BCr4ckjkikaORSkiEq6MCGDA0IIPQjFVuKvsX/nFz8+f05aw+RvM1zXWbVOO jXsrb3UKD+5cnrLGo+E/tL7j4lX0firsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdiq U+Z/KflzzTpMuk+YNPh1Gwl6xTLUq1Kc42FGRxXZlIIxV8hfm/8A84n+YvLZm1fyb6ut6GKvJZUD X1uo3PwqB66jxQcv8n9rFXz+QQSCKEbEHrXFWsVbqaU7Yqr6ff3unX1vf2M7215ayLNb3EZKukiH krKR0IIxV99/kD+ctv8AmR5XY3QEXmTSwkerwqKI5aoS4jptxk4mq/stUdKEqvKv+cqPyGDrc/mD 5YtqOoMnmGwiXqB1vEUeA/vf+D/mOKvlHFVa0u7qzuobu0leC6t3WWCeMlXR0PJWVhuCCKjFX3l/ zj3+d1t+YmgfUtRdYvNmmRqNQhFFFxGKKLqNR2Y7OB9lvYjFXrmKuxV2KuxV2KuxV2KuxV2KuxV2 KuxV2KuxV2KuxV2KuxV2KuxV5B+bv/ONnk7z762pWQXRPMrAt9fhQelO1NvrMQpyr/OtG8eXTFXx l5+/LXzh5D1Y6b5jsWty1fq12lXtp1H7UMoFG9xsw7gYqxfFXYq+oP8AnBz/AI6vm7/jBZf8TmxV 9ZsqspVgGVhRlO4IPY4q+I/+cl/yHbyXqbeZ/L0BPlXUJP30Kiv1K4c/Y/4xOfsHsfh/lqq8IxVN vKvmnWvKvmCy17Rbg22o2MnqQv1UjoyOP2kdSVYdxir9Ev8AlYFl/wAqu/x76J+rfoj9L/Va7/7z +t6PKnXl8FcVZZirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVS7zD5c0LzFpU2 k65Yw6hp84/eW868lrSgZT1VhXZlII7Yq+R/zf8A+cSdb0Qzax5F9TV9JFXk0pvivYR1Pp0/v1Hg Pj9m64q+fo9M1KS/GnR2kz6gz+mtmsbmYv8AyiMDlX2pir7e/wCcWfyo1fyN5TvtQ12I22s6+8Uj 2Tfbht4Fb0VkH7MhMrsw7bA7gjFXtmKoTVtJ03V9MutL1O3S70+8jaG5t5BVXRxQg/1GKvgj86/y K8w/l7rlxJbW8975VlYvYaoF5hFJ/urgqKJInSpoG6juAqxPyH+XXmzzxrMOl6BYyT83C3F4VIt7 dNuUk0lOKhQa06noATir9Cf8CaX/AMq6/wAC82/Rv6L/AER61Bz9P0PQ9SnTl+188Vf/2Q== + + + + + + 1 + False + False + + 256.000000 + 256.000000 + Pixels + + + + Cyan + Magenta + Yellow + Black + + + + + + Default Swatch Group + 0 + + + + + + Document + + + application/pdf + + + proof:pdf + uuid:1c626357-f5f2-453f-8659-dc4871555e80 + uuid:b8491561-178e-488f-8720-d6526fe71576 + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 9 0 obj <>/Resources<>/Properties<>>>/Thumb 34 0 R/TrimBox[0.0 0.0 256.0 256.0]/Type/Page>> endobj 31 0 obj <>stream +HVێ5|n^YP$-y" +m$OU3g,s|vWp>oۧ--w~|y)Uf  ͻ>}$XǰMbz$R^}kP-~y W)VgFB5&>c3T=y"݉$VőФ^EMu Q\:"]R")Eoȉ{Y|5 B2# nQ[HoQnxB`!}Rh*Z'+qWze 7Օ 'li0R[mcrCLC_%ި7V(AP9#10𡤢Z1dQat hB)@mB'.agKb42CH3*̡ " +$cIH:$+{EEmE(>:+U^[2[@М$̏3$U]^E\reŃ3^f} 1Dpk.+(ݻeW?:层O5KXӗ\=_&u,F?1>'eH2ǭ#@Zm^681AaD .yU.({yGYe +ZL)Ev5q`9&zE &Zu;|rO+i\̳8h;cBX#:pWUٻs[|%&z +endstream endobj 34 0 obj <>stream +8;Y:45n\]%#Qqm?s+C--LM@8VUn3g7c:/"kr4.@SL;fk4cCt1.)$%=AJRQjeQSA"3 +d)Np#IeR[#)>][O>NZCgqroHLWI$\8pF6+iqA#[(p-(@]2cq\t'"^ElA%q#rf.d7snWiD~> +endstream endobj 35 0 obj [/Indexed/DeviceRGB 255 36 0 R] endobj 36 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> +endstream endobj 27 0 obj <> endobj 28 0 obj <> endobj 29 0 obj <> endobj 41 0 obj [/View/Design] endobj 42 0 obj <>>> endobj 39 0 obj [/View/Design] endobj 40 0 obj <>>> endobj 37 0 obj [/View/Design] endobj 38 0 obj <>>> endobj 33 0 obj <> endobj 32 0 obj <> endobj 43 0 obj <> endobj 44 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 16.0 +%%AI8_CreatorVersion: 16.0.0 +%%For: (PsychoMark) () +%%Title: (OSDIcon.ai) +%%CreationDate: 2/24/2021 3:05 PM +%%Canvassize: 16383 +%%BoundingBox: 2 35 166 222 +%%HiResBoundingBox: 2.25 35.3994 166 221.6006 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%AI5_FileFormat 12.0 +%AI12_BuildNumber: 682 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%RGBProcessColor: 0 0 0 ([Registration]) +%AI3_Cropmarks: -0.5 0.5 255.5 256.5 +%AI3_TemplateBox: 127.5 128.5 127.5 128.5 +%AI3_TileBox: -178.5 -267.5 433.5 524.5 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 6 +%AI9_ColorModel: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 3 +%AI9_OpenToView: -156 409 2 1389 914 18 0 0 82 117 0 0 0 1 1 0 1 1 0 1 +%AI5_OpenViewLayers: 766 +%%PageOrigin:0 0 +%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 45 0 obj <>stream +%%BoundingBox: 2 35 166 222 +%%HiResBoundingBox: 2.25 35.3994 166 221.6006 +%AI7_Thumbnail: 116 128 8 +%%BeginData: 7608 Hex Bytes +%0000330000660000990000CC0033000033330033660033990033CC0033FF +%0066000066330066660066990066CC0066FF009900009933009966009999 +%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 +%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 +%3333663333993333CC3333FF3366003366333366663366993366CC3366FF +%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 +%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 +%6600666600996600CC6600FF6633006633336633666633996633CC6633FF +%6666006666336666666666996666CC6666FF669900669933669966669999 +%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 +%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF +%9933009933339933669933999933CC9933FF996600996633996666996699 +%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 +%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF +%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 +%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 +%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF +%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC +%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 +%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 +%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 +%000011111111220000002200000022222222440000004400000044444444 +%550000005500000055555555770000007700000077777777880000008800 +%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB +%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF +%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF +%524C45FD06FF7DF8F8F852FD4EFF52F8F82752FD1BFF52FD05F827FD4BFF +%7DFD06F827FD19FF7DFD07F852FD48FFA852FD08F87DFD18FF27FD08F852 +%FD46FF52FD0AF852FD18FF52FD09F87DFD44FF27FD0BF827FD18FF52FD0A +%F8A8FD41FF7DFD0DF852FD19FFFD0BF8A8FD3EFFA827FD0EF827FD19FFA8 +%FD0BF8FD3DFF52FD10F827FD1AFFA8FD0AF827FD3AFFA827FD11F827FD1B +%FF7DFD0AF827FD37FFA852FD13F827FD1CFF52FD0AF852FD35FF7D27FD14 +%F827FD1DFF27FD0AF87DFD33FF27FD16F852FD1EFF27FD0AF87DFD30FF7D +%FD0FF8A827FD07F827FD1EFFA8FD0BF8A8FD2DFFA827FD0EF852FFFF52FD +%07F852FD1FFFA8FD0AF827A8FD2BFF52FD0EF8277DFFFFFF27FD07F827FD +%20FF7DFD0AF827FD29FFA827FD0EF852A8FD04FF27FD07F827FD21FF52FD +%0AF852FD27FF7DFD0EF827A8FD06FF27FD07F827FD22FF52FD0AF87DFD24 +%FF7D27FD0EF852FD08FF27FD07F827FD23FF27FD0AF8A8FD22FF52FD0EF8 +%27A8FD09FF27FD07F827FD24FFFD0BF8A8FD1FFFA8FD0FF87DFD0BFF52FD +%07F852FD25FFFD0BF8FD1DFFA852FD0EF827FD0DFF27FD07F827FD25FFA8 +%FD0AF827FD1BFF7DFD0EF8277DFD0EFF52FD07F852FD26FF7DFD0AF827FD +%19FF27FD0EF852A8FD0FFF27FD07F827FD27FF52FD0AF852FD16FF7DFD0F +%F87DFD11FF27FD07F827FD28FF52FD0AF852FD13FFA852FD0EF852FD13FF +%27FD07F827FD29FF27FD0AF87DFD11FF52FD0EF8277DFD14FF27FD07F827 +%FD29FFA827FD0AF8A8FD0EFFA827FD0EF87DFD16FF27FD07F827FD2AFFA8 +%FD0BF8A8FD0BFFA852FD0EF827A8FD17FF52FD07F852FD2BFF7DFD0AF827 +%FD0AFF7D27FD0EF852FD19FF27FD07F827FD2CFF52FD0AF852FD08FF52FD +%0EF852A8FD1AFF52FD07F852FD2DFF52FD0AF87DFD05FF7DFD0FF87DFD1C +%FF27FD07F827FD2EFF27FD0AF87DFD04FF52FD0DF827FD1EFF27FD07F827 +%FD16FF7DFD1352FD05FF27FD0AF8A8FD04FF52FD0AF8277DFD1FFF27FD07 +%F827FD15FF52FD14F827FD04FFA8FD0BF8A8FD04FF27FD08F852A8FD20FF +%27FD07F827FD14FF52FD16F852FD04FFA8FD0AF827FD05FF27FD05F827A8 +%FD22FF27FD07F827FD14FFFD18F87DFD04FF7DFD0AF827FD05FFFD04F852 +%FD24FF52FD07F852FD14FFFD19F87DFD04FF7DFD0AF852FD05FFF827A8FD +%25FF27FD07F827FD14FFFD1AF8A8FD04FF52FD0AF852FD04FFA8A8FD26FF +%52FD07F852FD14FFFD1AF827A8FD04FF27FD0AF87DFD2BFF27FD07F827FD +%14FFFD1BF827A8FFFFFFA827FD0AF87DFD2AFF27FD07F827FD14FFFD08F8 +%2727522752275227522752275227522752275227A8FD04FFA8FD0AF827A8 +%FD29FF27FD07F827FD14FFFD08F87DFD19FF7DFD0AF827FD29FF27FD07F8 +%27FD14FFFD08F87DFD1AFF7DFD0AF852FD28FF27FD07F827FD14FFFD08F8 +%7DFD1BFF52FD0AF852FD27FF52FD07F852FD14FFFD08F87DFD1CFF27FD0A +%F87DFD26FF27FD07F827FD14FFFD08F87DFD1DFF27FD0AF87DFD25FF52FD +%07F852FD14FFFD08F87DFD1EFFFD0BF8A8FD24FF27FD07F827FD14FFFD08 +%F87DFD1EFFA8FD0BF8FD24FF27FD07F827FD14FFFD08F8A8FD1FFFA8FD0A +%F827FD23FF27FD07F827FD14FFFD08F87DFD20FF7DFD0AF827FD22FF27FD +%07F827FD14FFFD08F87DFD21FF52FD0AF852FD21FF27FD07F827FD14FFFD +%08F87DFD22FF27FD0AF852FD20FF52FD07F852FD14FFFD08F87DFD23FF27 +%FD0AF8A8FD1FFF27FD07F827FD14FFFD08F87DFD23FFA8FD0BF8A8FD1EFF +%52FD07F852FD14FFFD08F87DFD24FFA8FD0AF827FD1EFF27FD07F827FD14 +%FFFD08F87DFD25FF7DFD0AF827FD1DFF27FD07F827FD14FFFD08F8A8FD26 +%FF52FD0AF852FD1CFF27FD07F827FD14FFFD08F87DFD27FF27FD0AF87DFD +%1BFF27FD07F827FD14FFFD08F87DFD28FF27FD0AF87DFD1AFF27FD07F827 +%FD14FFFD08F87DFD29FFFD0BF8A8FD19FF52FD07F852FD14FFFD08F87DFD +%2AFFFD0BF8FD19FF27FD07F827FD14FFFD08F87DFD2AFFA8FD0BF8FD18FF +%52FD07F852FD14FFFD08F87DFD2BFF7DFD0AF827FD17FF27FD07F827FD14 +%FFFD08F87DFD2CFF52FD0AF852FD16FF27FD07F827FD14FFFD08F8A8FD2D +%FF52FD0AF87DFD15FF27FD07F827FD14FFFD08F87DFD2EFF27FD0AF87DFD +%14FF27FD07F827FD14FFFD08F87DFD2EFFA827FD0AF8A8FD13FF27FD07F8 +%27FD14FFFD08F87DFD2FFFA8FD0AF827A8FD12FF52FD07F852FD14FFFD08 +%F87DFD30FF7DFD0AF827FD12FF27FD07F827FD14FFFD08F87DFD31FF52FD +%0AF852FD11FF52FD07F852FD14FFFD08F87DFD32FF52FD0AF87DFD10FF27 +%FD07F827FD14FFFD08F87DFD33FF27FD0AF87DFD0FFF27FD07F827FD14FF +%FD08F8A8FD34FF27FD0AF8A8FD0EFF27FD07F827FD14FFFD08F87DFD35FF +%FD0BF8A8FD0DFF27FD07F827FD14FFFD08F87DFD35FFA8FD0BF8FD0DFF27 +%FD07F827FD14FFFD08F87DFD36FF7DFD0AF827FD0CFF52FD07F852FD14FF +%FD08F87DFD37FF7DFD0AF852FD0BFF27FD07F827FD14FFFD08F87DFD38FF +%52FD0AF852FD0AFF52FD07F852FD14FFFD08F87DFD39FF27FD0AF87DFD09 +%FF27FD07F827FD14FFFD08F87DFD39FFA827FD0AF87DFD08FF27FD07F827 +%FD14FFFD08F8A8FD3AFFA827FD09F827A8FD07FF27FD07F827FD14FFFD08 +%F87DFD3BFF7DFD0AF827A8FD06FF27FD07F827FD14FFFD08F87DFD3CFF7D +%FD0AF852FD06FF27FD07F827FD14FFFD08F87DFD3DFF52FD0AF852FD05FF +%27FD07F852FD14FFFD08F87DFD3EFF27FD0AF87DFD04FF7DFD07F827FD14 +%FFFD08F87DFD3FFF27FD0AF8A8FD04FF52FD06F852FD14FFFD08F8A8FD40 +%FFFD0BF8A8FD04FF52FD05F827FD14FFFD09F85227272752272727522727 +%2752272727522727275227272752272727522727275252A8FD1DFFA8FD0B +%F8FD05FF27FD04F827FD14FFFD2CF87DFD1DFFA8FD0AF827FD05FF27F8F8 +%F827FD14FFFD2DF827A8FD1CFF7DFD0AF827FD04FFA8F8F8F827FD14FFFD +%2FF852FD1CFF52FD0AF852FD04FFA8F8F827FD14FFFD31F8A8FD1BFF27FD +%0AF87DFD04FF7DF827FD14FFFD32F87DFD1BFF27FD0AF87DFD04FF7D27FD +%14FF52FD32F8277DFD19FFA8FD0BF8A8FD04FF7DFD15FF27FD33F852FD19 +%FF7DFD0AF827FD1BFF7D5227525252275252522752525227525252275252 +%5227525252275252522752525227525252FD0FF87DFD18FF7DFD0AF827FD +%41FF27FD0EF852A8FD17FF52FD0AF852FD41FF7D27FD0EF87DFD17FF27FD +%0AF87DFD42FF52FD0EF827A8FD16FF27FD0AF8A8FD42FFA8FD0FF87DFD16 +%FFFD0BF8A8FD43FF52FD0EF827A8FD14FFA8FD0BF8FD44FFA827FD0EF852 +%FD14FFA8FD0AF827FD45FF7DFD0EF827A8FD13FF7DFD0AF827FD45FFA827 +%FD0EF852A8FD12FF52FD0AF852FD46FF7DFD0EF8277DFD12FF52FD0AF87D +%FD46FFA827FD0EF827FD12FF27FD0AF87DFD47FF7DFD0FF87DFD10FFA827 +%FD0AF8A8FD48FF27FD0EF827A8FD0FFF7DFD0BF8A8FD48FF7D27FD0EF87D +%FD0FFF7DFD0AF827FD4AFF52FD0EF827A8FD08FFA8FD05FF52FD0AF852FD +%4AFFA8FD0FF87DFD08FF27A8FD04FF52FD0AF87DFD4BFF52FD0EF8277DFD +%06FF27F8FD05FF27FD0AF87DFD4BFFA827FD0EF852FD05FF27F827FD05FF +%27FD0AF8A8FD4CFF7DFD0FF8A8FFFFFF27F8F827FD04FFA8FD0BF8A8FD4D +%FF27FD0EF852A8FF27F8F8F852FD04FFA8FD0BF8FD4EFF52FD0FF87D52FD +%04F87DFD04FF7DFD0AF827FD4EFFA852FD14F8A8FD04FF7DFD0AF852FD4F +%FF7DFD14F8A8FD04FF52FD0AF852FD50FF52FD12F827A8FD04FF27FD0AF8 +%7DFD50FF7D27FD11F852FD04FFA827FD0AF87DFD51FF7DFD10F827FD05FF +%A8FD0AF827A8FD51FFA827FD0EF827FD06FF7DFD0AF827FD53FF52FD0DF8 +%27FD07FF7DFD0AF87DFD53FFA827FD0BF852FD08FF52FD09F852FD55FF7D +%FD0AF852FD09FF27FD08F87DFD57FF27FD08F87DFD0AFFFD08F87DFD58FF +%7D27FD05F852FD0CFFFD06F852FD5AFFA852F8F8F852FD0EFF27F8F8F852 +%FFFFFF +%%EndData + +endstream endobj 46 0 obj <>stream +%AI12_CompressedDataxܽz20MN`1`Lhn`fw_It"YZ]%JT%k WjR.0.CSφryin3A7[J>۲EѻfEϘyg4<`ߛOliYs{4DP{FM(ӛz<_Oӛ x4x^8S;q 7}mIͳaE5z3vfwQC<'CZ.7hI|IѮ{EOHo?}//Րw_A}p2~K+SAWRDz!~ԩؗLo+@ip _o UZmȈ70暂f.2[Ao(kN5lKo0S}T?,)m=߃o<ϛ1o  +-zJdo=b0LAeg"nusB]uODp!c0 HI/ P8 *=Q~ y a;e{ ƾSk2Ě[3ZEր{)T-;CZ!0a[ZO672RES;6T? Xሉ Mz00w X[@0N20O+WYjV5Zn`zlx[=kz@vex2$  f ^Bm$(T`tg@nQ|tQ?f9߭x/gSfIv3CsY +`I;$|c9xf\Χ`;<)FrŏxdopLρSX֪m/Cz@)w2_AGkBИ g2@A +T T:z}3DA>H/2XQ'hӘ*#(Y_;F "} q#Ak|=O?෿ $ax6|| x"cFtnchXؠS,:aԆ-5)'j#oZ I92L !#!4gVp]~ y? 0 kV=PN8EӃ%h< +Z|O Ђ =6FzZ;C0QvoN6bt6++X#:5Xx=_`yjg1S˫A׀F$:|3t9Cfƺ5*~9z xxR/h4:7&S\NR(H1 T(D/`qf/E4?I֡~Nn@mߵwI[G{ĸrG|dSʰ3]ζWHo2q~f|:%bzC/?ϿeTp+JkH'%C'٨g#BM'llBE?V~0zP>E.ytD^k)"䥋/L)kzmE["0er !E=6DŽ$)|fPHThjGQ&= ~*]8f.胕5_͆n zH(Pa+#PA{nbSjw,Ӕ_iwsf`ύ;LF`B?yRh D0id CP$Yʆ"(  +zLA6/N bTz5&vѼP="OvHveL&L [nAo-ܨi1Zη@88ͿB@C#]ٯPGL燕AHp:H;d(ǐ#7A4(nk4W0t+>BJ6U 6[YՈPee`@cL3JKopny yft/ӼHjP wW:H7-쎵l>d?VCj|_b/%Gw6Q< +@ӝ"-ey+0lv06FTj=]R͡8jV +@M`eyy _ ZPrT"H?4!DPcW4P+ޠT0@8&UJX[΢@Lv3< ͏ϘO*lٯ^af]ģ^77AL\LC9QӛԱB/+Y/fw,K +M$f!}HDm m15P ^ތڔ"lFr]9ǥu^XL|ANT +NfN5sb3GڶNhC4RCƴaa3["KJM6mb\q`k-r10uҋiM0q;1tbF `kdX=B=(Q;z\j4-!B l;QFf .}-2,lW+@?m0,LQ8x~3 QyiPǾYZcniJ`#V PDh#Pj5u%0,o=d~~2h40h`"1{j$%r+m16yNhQ3XՐ#cj7qU +CvcI&jA= |l2}Ih2ڬa$^m@)eԎc@lsz*ϓ;H[Nmtf[v#C1[F\fjJ疱I1h"FQ Qh?_6#F l9 Pmj0IU0f;Q{FcEK`a*l-(Z,;=jZh@/ڔ +2R[ Zqi5uQP9DGkL'j7{"&{ԐL-25#{rRAjsVh5:h*6zimIP,]3ν NQ 0! O,$ u>B/hF7 +55UhȪL,-7BC&d@u0R3; +-7ۑA-vjӏZpk'P% ӈ|?K?Q3M/c--뛻6SCCf|ӱx>m +؂(gFa56Fnf?t#Unhi +#C +OÎnFiUOOqo: [ae'h n ej٬Sݞcު oĸȘt`ihP* 6춃x e{T`ʛ*ߔ)Z*^Yrj=8څ֦YIͬdMDa~ *:hj4ǔ,W>ͳIhn{&(>m*_zs.VjdJp KA%6h;|UW:IVtm|VKf>pno\MhP>}ߑ~ vٟI&c==wnw]hZ=k%S!1ʺݖʸh[g˙Zm*T9A!߾w&;!nCIjf-exW2%;ʑux zCvJ/vt3PQ>;"+: t-Kƴ+sjkD~Qnxff~,;/oG2cyg=z2b`?IeƠ& Do8{h!Uiؒ< %k}%SexxyBχy(M|)zT"(Ƀev-@ +qt $VJ/C3N.)9g$9lzxk_nb}pZ>5$U"],2?g=}M>!( @C M%?H{̴8s 4o[&D>NX@祇f1WM84U—P(?-`LgYjv?T3N<``Mo]-UͤkIc“[Nws}J۩j>du7g&v0 +a*{9 u8Z3K~~u<̐ kMp<8 q1JpѦXA uwSw1K?>x> xt7t' }g NJ!"w:)SDn{q'bomY9*`t6H4rcȨIV`pf[f:B[=zߥP+.["BF%&|;IDJg!_kW&`伄>f}-o-clu$ +߰_hetUm!&-'š|ox^[Ts־06ܼxG>Yk_頣2cE-;#svC'm(￳C=v7ډݧ͏eg#&Fhy"u; ݺ}Lt> G2uRoG=2aj|?eاw2^̸A4=SC/ixqIVϝhhwCFPh\.if's=0#);-xGjv=26ad#ɖn\MCJT}&=zerE8k}!;>lQmms#gӓ:.̵$i犂Ʌ CD k}w[pdL@^sm<4-^\usAQ]ppc-{ /tk6H%_x 󸊟r:hlkÞ~#Sx*!R +DΖ~Brc .ZJ3U}+˔Q'J>CD0hA! N?oqWj:{|r [0q/b&naM!X&/9?V7cugv +kx sfi |P +&~~DK/FDtZpDt0>S~k0c}d>[Z?ҁV۝zצzӑJ/10ydK;@ \Fod'de֙}ڬ2/w Slrۘ`Zwpt/ٺy0Scp_C0h]g#Q(YEq$:>[ϙg;ED&Tkղ^FI(}9K1 S@-/lxɼyƘ7v!i=JNbf# p +ã1G (+j7qhoo{.!"Gͨw`.Yhwk07ca38,yrM? | t93#5NwyWH+by"-`; ^SSͷPS _dEaNHw.E_X +m7gwvTYp4hv bMңT\WԧWGl.'sE6\={Ցi|~¦Tc(h myh]zu ]~ssuӴX`sNS-mW#Fٯynj@`^3ؕ--33~r: un0"A^F̡ &EИ(Q t#([kny3\P1 + R`oʦR؞9!OoVJoE/ e +~Tv9 skMܵ['#}y$V=A.CCߖ?B)ClȞSZYsՒ9EtO]\}d2q:#d0\: +cTXS`J's28}3}#dXt??G3fN~/ּ^rv/ѻءOvFT7)th{h} +tjP%yOI(A)DuzW%yިtӯh4#%O55<x,Vp&N3JeMz)ZNE|uc2C]2Sa5\K DێBlr¢;>?4RT +WuqxKOpS1f56E"&-*%VfK%Q)2QPVEXԸu0uSBY6UF&|PoGJ4?GEcml`n|a 2'26A>XG7 vg;m+ %x دT2D̀kxiW׀xQ9:h`X2sw v΢#:0 5f" {mCVElp99YxjHoV@pV)"{VՇxߩ!F%<+0flw z] _: U%()XdBӉaʹ}yJ#Dw7]+Gvl7iR#Ҟ +Y4vvhotz%+ +#w+ qh/F>=;S3o!08˒Z۳ b|-,}' خE.eo0tH޼kV+D3'1_{Dx/Lk%=?kH -!֔ˡ+5nؙ[)-;K"xꈍqA} H"4%`U)]b59D~2**b;9fy ݑk͛i7GjYEY5aeаS[ +8sOm V1C{KĈ"fV:{a-%g7VF@3oy%Gc:E)?4Ԗ_ +X@8𨀵'fSzJyąۇ +5{Zx z2y}.c;KҹG-Wܒ mX+/ke5pVipiz c-JgZ]REEMu ߃<ֲWXyI +Fl~+a-Zq=& +Va8ܖo>Ǵ֜=3+@#n)b15+iAk +96_D^D}E:UL|*Yqtվ$_\fg,GĞ1X}AL1J|"va>X{v`}'8Y]na 7!KbYQ'r/u,_\~ Gk)`ڳ ,c+|LY,)Cbc ޙ:"d`5zŠ& g[0X*zdm#ߵ Ի_PTPý7^m_I(4Sū9>ϋ#Q?ʸDOVz=GTG>,e$-Q7L>[7[iHus0RHތSOBFR<ю\F5_]#g8^Oi}KB|{dWz ˯'e6;Wx}l#;?{޺ﻊDjF ZVXսKdy*??>{J ت=͸u)-fHsrT D~$%o>:vsq7gQ&Ɩ}n cb> c?m9?}@8ؚ= ,ES8CњHt&✡9.ncwXMG51o_:(aVZpEĶ,`wQǎa Y%a-,E6Yq-@# ߤ[+9~ŧ9sNKR %b..C£?.;šQ!=>YkFg\&Ia-~ϝCdsH/e9%`|U/XV/bB::Nzd kq#H͍6RȽ9BV?ќ0#98H +o*.ώs#'@ԣ?,PV|ϖtyr\~y2rE'ˬ>8Us'V̅ + +I=3.yjxWI8 >yv/%le=נM_YqP7AGzʄ`>;y$ޯCmS¬?l13mE}božCaW9LahiM"L+=u)$Rk`\흒&Ŧ0eXSqZ:* h!"F-z= }B;7ݍ+nvOQI-glfEӢXٺ:ww2 e 0Z˳`ʧ6ٜ`6V\D mϐP'P߭;ޠ2E qTe'-y{/&@=aZ?Fu>SQr#(Glgn qpУ~ زڭHS"P[>zE$h핮# +ES/ +GwXFxNS9ZփsAњݓO +#ͼթ/@lR?T>׉]D/JwsjMWOŮiƢ|QIW0E5zRqx&1LDA+`EJ:JZ.|ьn#%V +<4CjY$!6=%3!U-yؖO FZozPj%+2ҋT값e^:|Zhr>Ztr> L-|Q9z- ^xI9z-؀O/]OF\x~9z-./SC }r>Z>v4U +e)ׁ蓞1VFrg]o?b{If9)]e#+HA*8M䔩@RQŊ">#< +t]@z*',?M[Z.>m%6{'<#~u_::RLrl (4[`pfy4N/ #CʺuQZewKE'LY^ +bhbzCFbVF!>54)^I{2d^$t^@ [zĢBMkFSQ)@$)#):vJPuJ-zsß8[Eon8nFo`Y%VOGo|Q뭜'6:ӣ7q08U%eD=͍9P ,aAstDouY+U[6@'&^x$ WQː.+\ܜR!}՘HE8Q̪سAkp6\iZ֙ U!ı3K%.{jhU]L!JNO F V$LtCxٕyo+λvez*49:yLt8t@y'$^RXq޵+B'U橥ZqF*n d*{iq޵+ڕyޚҾPF?TyS/(Rթ#@^C +7tlzɚx5l (bHbkvG6f]|.F\{b<'X+p,y+X t=>34dsuEΉEЖ_ +!S- \UL\ֺQY8z\\(ZWY-Elt!$e(a vۍAgKɾ_HJEW(%M@)./PR$ *r%q:O_c Vwq\QHSw͍LB_O3:}r< +畩SX9Oaڅ}*+,{Fׅ}X?_'zQarb"PW-}>>IF5 +_7+m_OOb¾vZaѮT'Ww*tU(Tz]P'gH//쓓=Vaf {^O ^=On7V.gۙQ7g)9#oc(['7$%{vBʇYMCPO u~ܐ׸O-~ +dM}ҼcU&|Yf>>,@ik7}3e+v]}:NҳuB +RO6.6]'t$),̊y6:uq>_D9Yw#/T_*pߩA3/BJ;^򿛣;# {C1)Wxz5u$Gs}!$\je8 '[ʊG 0)g.C7i$KR chD'6; EO䭝aRAWSRGpT+t6h'JO!vR)+: ɕ84C\^/Gվ?nJ2vL9f%0eHQSΦS[q|3 cޮz.w|P+Z{7 +Ew!@QO=1`w÷ؿTNK Eb`GL 93L;s=bx׷ֽ:MKLuūN,QT{dԚKu9>)4{$bj߳}|{28yC/iu-y>ڗ4v|0ҜQYɕ t42˪}F{^^z]iSvt"(lTY;M]ɆlU㉅TmWkԪ>t;LGNԻWXBQHF.|> +J*judLjZj-թٸ?_9X(7NQwq+ BFrJe%jjawVn^&У7:/l_eO讻q"ENBeG=b "Xj؄FK 3Dn黗$w-`E -F+{p5̭|ZW +7BKC=)a+4K W\#3(ʼp1{*̳a7qX|xQ4WޞVWє-Ea.iI[ kŢ޽%rX1jp'v2lx]ZBӠkW5Af,|$(da]E`ZYgOGv&(}drB:cyɦV6ʭ|"sXZ7қyW&R`g5 4NY`KuRUgWtN+SANS#L[lruP#]uKSML9q9ܓFN]ێsI,LLgK=F&x:D +52Q:L_I (RU,I8T_=5-&/&NE!7_Q6=Ϥg2tTLϘ:N9.@/` S/oHc +F slf0t6lCr\P7N(h $JQ BxuvG10EQԺDl% -ռhaZTH7GGEKhoNv2M$]|Mq,TU17,Ik67g$r='$;\x#OĒD"P`vѠ % +bQa?$Q[(e?T@ңzDujI.P*IKʞtM~\g]VK?xY!F6^BÕ.+BLC!s/{Y!"NB%{(hjvȧ]z!Ǫmx9ZqqpE9P/Rk^xyE9CB_CY&o;L5~}ϋ.c'uX:Ò$' M'gJג0eQXUt4kx7¨+Ό#8zќ/6D.!r?(/"oqK&SfD!yx&D/V@ZV|_CS_o_B|?[_iy&Fu ug C;զ|\_"d;5ڵpl5 +OŝX]ٸ+J4[7TSf󎸥FVsJ^w;XZ1?vA&{b4-"$Z59񞍦_\aGcڎϒ$rOFODڙ{!,59CBȵB}t!RN&^F +!J NF-m屴`px {N[2 {2:^M/>x4R.f0oem~Q +[Ҟ!cMf>phdbs0ؒ4>~Ox&7zwY PBZO?Q1'_nد? ȃ}n@H6]>3  lpye\o=(y&Uv$<; ? G](͝v>:ߌk-iXwVv`Si$X\ Z T[z`Dډt1ڙ >|mf0WSqD|v]Y ~-oxOFگw˹6D8F,p E]=_#B>i`hmcבub-f:??dê R ZomVJ647=Þ7)y7} v~u҅4:.>SO!Ш<cg}G{ǎf +"K}ճM2`^a,H3Cble0B.Gxm7uIJ̾G2i$i]#%݁ݖZ.s.﾿ OGWБkr0khtШD%iP?@҆2瀄|om/]++DQt+sǦ6_&'C|`hl/xeu=ǠE LNxXtv6n$_hID4^{7;dH{[/c}$jRRtى70hG"*fHV"0, F"YHMً~gXV7x#NOziZɢ+OB:zvI/mx +0̤{_H \ux:b~AD7hL9K4UON=xm#@"3_Ob0O:8j|ๅf+份MFsQ_&O53\6')O*[ZwL&?;̻ {fXoYXͻcޝw:FEEq0Bz%7Xܹ4C w@#:^}Ǩ߽Y;diQW019{QD +{ZQx4G+u@pj^XjFc,q&X6 sճ"~O&כ%T&-n1mj(:Y}yc8{lyN,Hw}gќN@mv򺫣E3~Yn3*q\$%8@>!ǛUFС; 9irChc05E*k + +p˩bHImsb2 9źul?AIzvvlKq +Egɤg$@й/shcX1֘ m{ +$j&xf"$kWx)YsH](u9R)Cif?5^ߔѣ.2edin}kot Qðӎ8lm_Z(qN^xr̼Ϳ0_m5X`mT>zG}Z;ɀRЬQW1*Q݈ӅuvΛU nI< gj9X+횈cF23[B%KךDf0:6j}Ol8?1)}s(1կ7 s z'hۍ9U1֘U M6"&Qu]_C@Q_nFque%^dNYggr: y~Ljdٜ\dl5LĤ1`3G М:iz֙EZBArٯLMxsKʹ%K><%RKrrװ{$[y|e9_Bhㅗ =ځz9CzWh9#Z4Yo <,兑۳ m3igx0>jx4ri4Ϊk$_FnsJZI B_`3~`RF"$Sbiϧ}n9;#bS+A,$ =7SɈ~srߠlK=(4Bxїب 3MtO`fOHY?@Wc({nyawĖo/8Cukhi[Sr~b|w陋Z"dw &ӡ-ڙ 9"DIfۅhM:o4UO/S{6T咱q_~x{\n!;(뗇Y7?Su~9j6mRU3ͯ|viOKnJCB+oL肉Q`s ++xUа_Tc$ _xz B pZVʓ-* ix| ~˸m[mi3Gı@*a݄'bJ71Z\f +utVP]l}o8k#%S &Ӏ+Q@~ +ጄX ]Ȼ+ WBP,A(PtX^J`y ~XRtOk?xR%|[7y谢{CI52R8F1_sşe6 ?E0D +0NNB;h``=،|Sݰ:ղFE%r/aQnpՍлŽarn_..Mџ]"wR( \[]gU{2wG}2BNI HZOF.Y:LHnk.Gt _76-#;BjI$! +x + _gޯC/)TXc _"džM|,;Hf1rP%8sK޼?7 ix[,^+,ZXayhV'b'1fufn6p(tgotnigH⅃:u<_q67[oL>T3~gNH{(  |<}<8C,3u7s~E3kc> L-L AMć ;i9on&̅-܁ ?d1bU@F8bY7lIzLrXz%3Ã|r0>7q$ vWevr&m?s8;Ux6bO98/D+۪? C)#1\H2FLA Lᜁ?bv R?U +1GGJe?x~@Qn}v +id !.A>n1[ݛƨYz$D.^;fj/1 xslSl4Vw80cfN!Vu~Cdp{q I.ِDǦsD;y/AϠcC'fʼn#&8%rt;͇l11C+&bP PܗWuL:VPB~@y@q7!~k?WJYC KD4lh;ڇS7! GoZZI8| ‹)>WK"!Ss<>R\BkG@:Ic"1L%jJ:Kzx|(L("%|ج McT"V>~ƼVc }ƩGR**Ң'1eO1a9XjȤ"e 4nfΑ!4xWX&a‡ͪZ#OgDǭ}=%ԋٳZŻ/חˮ/ۧ/Ӈj7Y~t,kYjОu2r"CQ`1X? 9vCfR|}k'R-y{(uP:+8QbĮ\Qpe@6rxek:j^~ؼk0u[ۗn{}~ nnB:dieFFݮyX0|?٢h)1 Y%JPf[ =Px!r1;G-T.NSҩ0v;ܣ|0tv¿[5LlF-I +(fU?0 Myjǘ +i!t9c"Ek!SV"*y\`2M:nI%-Q*işDm +6:9(H2jdK6E@ ,A*XF(Kj)-O+jMtUlu@L~8| X#ت:BOJ6,yK(3LXG: MeRKmS"5z$ p LV~# 7!!>Iq̣g,eh=+;%"f5,؀MXۄ hT6Uk…UaPVМ8ٙ1f 8.O[68+Q4XiǣqG'`"q+F)2Ln}2 ]Qr:c1:&X֫+z6~CHuxԹ ҈Ac^ h!c7[Ềs@ +M<#FbaKkQі̡]S>M*-ƳMwϴmYEsaEyq]a=O"wi\~k33F$pCҾ!>n@ YI\^atL'zP_u zVr+ߵ'?5gݻӛ)?z\}4mZ6> endobj 6 0 obj <> endobj 7 0 obj <> endobj 20 0 obj [/View/Design] endobj 21 0 obj <>>> endobj 18 0 obj [/View/Design] endobj 19 0 obj <>>> endobj 16 0 obj [/View/Design] endobj 17 0 obj <>>> endobj 30 0 obj [29 0 R 28 0 R 27 0 R] endobj 47 0 obj <> endobj xref +0 48 +0000000004 65535 f +0000000016 00000 n +0000000216 00000 n +0000019974 00000 n +0000000000 00000 f +0000058324 00000 n +0000058394 00000 n +0000058472 00000 n +0000000000 00000 f +0000020025 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000058772 00000 n +0000058803 00000 n +0000058656 00000 n +0000058687 00000 n +0000058540 00000 n +0000058571 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000022609 00000 n +0000022680 00000 n +0000022759 00000 n +0000058888 00000 n +0000020381 00000 n +0000023289 00000 n +0000023176 00000 n +0000021768 00000 n +0000022047 00000 n +0000022095 00000 n +0000023060 00000 n +0000023091 00000 n +0000022944 00000 n +0000022975 00000 n +0000022828 00000 n +0000022859 00000 n +0000023363 00000 n +0000023537 00000 n +0000024569 00000 n +0000032372 00000 n +0000058927 00000 n +trailer +<]>> +startxref +59062 +%%EOF diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultAction.cs b/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultAction.cs new file mode 100644 index 0000000..251b661 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultAction.cs @@ -0,0 +1,84 @@ +using System; +using System.Threading.Tasks; +using System.Windows.Controls; +using AudioSwitcher.AudioApi; +using Microsoft.Extensions.Logging; + +namespace MassiveKnob.Plugin.CoreAudio.SetDefault +{ + public class DeviceSetDefaultAction : IMassiveKnobAction + { + public Guid ActionId { get; } = new Guid("b76f1eb7-2419-42b4-9de4-9bfe6f65a841"); + public MassiveKnobActionType ActionType { get; } = MassiveKnobActionType.InputDigital; + public string Name { get; } = Strings.SetDefaultName; + public string Description { get; } = Strings.SetDefaultDescription; + + + public IMassiveKnobActionInstance Create(ILogger logger) + { + return new Instance(); + } + + + private class Instance : IMassiveKnobDigitalAction + { + private IMassiveKnobActionContext actionContext; + private DeviceSetDefaultActionSettings settings; + private IDevice playbackDevice; + + + public void Initialize(IMassiveKnobActionContext context) + { + actionContext = context; + settings = context.GetSettings(); + ApplySettings(); + } + + + public void Dispose() + { + } + + + private void ApplySettings() + { + var coreAudioController = CoreAudioControllerInstance.Acquire(); + playbackDevice = settings.DeviceId.HasValue ? coreAudioController.GetDevice(settings.DeviceId.Value) : null; + } + + + public UserControl CreateSettingsControl() + { + var viewModel = new DeviceSetDefaultActionSettingsViewModel(settings); + viewModel.PropertyChanged += (sender, args) => + { + if (!viewModel.IsSettingsProperty(args.PropertyName)) + return; + + actionContext.SetSettings(settings); + ApplySettings(); + }; + + return new DeviceSetDefaultActionSettingsView(viewModel); + } + + + public async ValueTask DigitalChanged(bool on) + { + if (playbackDevice == null || !on) + return; + + if (settings.Playback) + await playbackDevice.SetAsDefaultAsync(); + + if (settings.Communications) + await playbackDevice.SetAsDefaultCommunicationsAsync(); + + + // TODO (should have) OSD for changing default + //if (settings.OSD) + //OSDManager.Show(playbackDevice); + } + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultActionSettings.cs b/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultActionSettings.cs new file mode 100644 index 0000000..1c92c00 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultActionSettings.cs @@ -0,0 +1,10 @@ +using MassiveKnob.Plugin.CoreAudio.Base; + +namespace MassiveKnob.Plugin.CoreAudio.SetDefault +{ + public class DeviceSetDefaultActionSettings : BaseDeviceSettings + { + public bool Playback { get; set; } = true; + public bool Communications { get; set; } = true; + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultActionSettingsView.xaml b/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultActionSettingsView.xaml new file mode 100644 index 0000000..bbf2c9a --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultActionSettingsView.xaml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultActionSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultActionSettingsView.xaml.cs new file mode 100644 index 0000000..4a12a89 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultActionSettingsView.xaml.cs @@ -0,0 +1,14 @@ +namespace MassiveKnob.Plugin.CoreAudio.SetDefault +{ + /// + /// Interaction logic for DeviceSetDefaultActionSettingsView.xaml + /// + public partial class DeviceSetDefaultActionSettingsView + { + public DeviceSetDefaultActionSettingsView(DeviceSetDefaultActionSettingsViewModel viewModel) + { + DataContext = viewModel; + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultActionSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultActionSettingsViewModel.cs new file mode 100644 index 0000000..be7cc94 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultActionSettingsViewModel.cs @@ -0,0 +1,41 @@ +using MassiveKnob.Plugin.CoreAudio.Base; + +namespace MassiveKnob.Plugin.CoreAudio.SetDefault +{ + public class DeviceSetDefaultActionSettingsViewModel : BaseDeviceSettingsViewModel + { + // ReSharper disable UnusedMember.Global - used by WPF Binding + public bool Playback + { + get => Settings.Playback; + set + { + if (value == Settings.Playback) + return; + + Settings.Playback = value; + OnPropertyChanged(); + } + } + + public bool Communications + { + get => Settings.Communications; + set + { + if (value == Settings.Communications) + return; + + Settings.Communications = value; + OnPropertyChanged(); + } + } + // ReSharper restore UnusedMember.Global + + + // ReSharper disable once SuggestBaseTypeForParameter - by design + public DeviceSetDefaultActionSettingsViewModel(DeviceSetDefaultActionSettings settings) : base(settings) + { + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedAction.cs b/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedAction.cs new file mode 100644 index 0000000..1736d7f --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedAction.cs @@ -0,0 +1,88 @@ +using System; +using System.Threading.Tasks; +using System.Windows.Controls; +using AudioSwitcher.AudioApi; +using MassiveKnob.Plugin.CoreAudio.OSD; +using Microsoft.Extensions.Logging; + +namespace MassiveKnob.Plugin.CoreAudio.SetMuted +{ + public class DeviceSetMutedAction : IMassiveKnobAction + { + public Guid ActionId { get; } = new Guid("032eb405-a1df-4178-b2d5-6cf556305a8c"); + public MassiveKnobActionType ActionType { get; } = MassiveKnobActionType.InputDigital; + public string Name { get; } = Strings.SetMutedName; + public string Description { get; } = Strings.SetMutedDescription; + + + public IMassiveKnobActionInstance Create(ILogger logger) + { + return new Instance(); + } + + + private class Instance : IMassiveKnobDigitalAction + { + private IMassiveKnobActionContext actionContext; + private DeviceSetMutedActionSettings settings; + private IDevice playbackDevice; + + + public void Initialize(IMassiveKnobActionContext context) + { + actionContext = context; + settings = context.GetSettings(); + ApplySettings(); + } + + + public void Dispose() + { + } + + + private void ApplySettings() + { + var coreAudioController = CoreAudioControllerInstance.Acquire(); + playbackDevice = settings.DeviceId.HasValue ? coreAudioController.GetDevice(settings.DeviceId.Value) : null; + } + + + public UserControl CreateSettingsControl() + { + var viewModel = new DeviceSetMutedActionSettingsViewModel(settings); + viewModel.PropertyChanged += (sender, args) => + { + if (!viewModel.IsSettingsProperty(args.PropertyName)) + return; + + actionContext.SetSettings(settings); + ApplySettings(); + }; + + return new DeviceSetMutedActionSettingsView(viewModel); + } + + + public async ValueTask DigitalChanged(bool on) + { + if (playbackDevice == null) + return; + + if (settings.Toggle) + { + if (!on) + return; + + await playbackDevice.SetMuteAsync(!playbackDevice.IsMuted); + } + else + await playbackDevice.SetMuteAsync(settings.SetInverted ? !on : on); + + + if (settings.OSD) + OSDManager.Show(playbackDevice); + } + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedActionSettings.cs b/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedActionSettings.cs new file mode 100644 index 0000000..3d63acb --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedActionSettings.cs @@ -0,0 +1,10 @@ +using MassiveKnob.Plugin.CoreAudio.Base; + +namespace MassiveKnob.Plugin.CoreAudio.SetMuted +{ + public class DeviceSetMutedActionSettings : BaseDeviceSettings + { + public bool Toggle { get; set; } + public bool SetInverted { get; set;} + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedActionSettingsView.xaml b/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedActionSettingsView.xaml new file mode 100644 index 0000000..d189e7b --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedActionSettingsView.xaml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedActionSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedActionSettingsView.xaml.cs new file mode 100644 index 0000000..3d65885 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedActionSettingsView.xaml.cs @@ -0,0 +1,14 @@ +namespace MassiveKnob.Plugin.CoreAudio.SetMuted +{ + /// + /// Interaction logic for DeviceSetMutedActionSettingsView.xaml + /// + public partial class DeviceSetMutedActionSettingsView + { + public DeviceSetMutedActionSettingsView(DeviceSetMutedActionSettingsViewModel viewModel) + { + DataContext = viewModel; + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedActionSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedActionSettingsViewModel.cs new file mode 100644 index 0000000..70f214f --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetMuted/DeviceSetMutedActionSettingsViewModel.cs @@ -0,0 +1,62 @@ +using MassiveKnob.Plugin.CoreAudio.Base; + +namespace MassiveKnob.Plugin.CoreAudio.SetMuted +{ + public class DeviceSetMutedActionSettingsViewModel : BaseDeviceSettingsViewModel + { + // ReSharper disable UnusedMember.Global - used by WPF Binding + public bool ToggleTrue + { + get => Settings.Toggle; + set + { + if (!value) + return; + + if (Settings.Toggle) + return; + + Settings.Toggle = true; + OnPropertyChanged(); + } + } + + + public bool ToggleFalse + { + get => !Settings.Toggle; + set + { + if (!value) + return; + + if (!Settings.Toggle) + return; + + Settings.Toggle = false; + OnPropertyChanged(); + } + } + + + public bool SetInverted + { + get => Settings.SetInverted; + set + { + if (value == Settings.SetInverted) + return; + + Settings.SetInverted = value; + OnPropertyChanged(); + } + } + // ReSharper restore UnusedMember.Global + + + // ReSharper disable once SuggestBaseTypeForParameter - by design + public DeviceSetMutedActionSettingsViewModel(DeviceSetMutedActionSettings settings) : base(settings) + { + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeAction.cs b/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeAction.cs new file mode 100644 index 0000000..f03e1b8 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeAction.cs @@ -0,0 +1,79 @@ +using System; +using System.Threading.Tasks; +using System.Windows.Controls; +using AudioSwitcher.AudioApi; +using MassiveKnob.Plugin.CoreAudio.OSD; +using Microsoft.Extensions.Logging; + +namespace MassiveKnob.Plugin.CoreAudio.SetVolume +{ + public class DeviceSetVolumeAction : IMassiveKnobAction + { + public Guid ActionId { get; } = new Guid("aabd329c-8be5-4d1e-90ab-5114143b21dd"); + public MassiveKnobActionType ActionType { get; } = MassiveKnobActionType.InputAnalog; + public string Name { get; } = Strings.SetVolumeName; + public string Description { get; } = Strings.SetVolumeDescription; + + + public IMassiveKnobActionInstance Create(ILogger logger) + { + return new Instance(); + } + + + private class Instance : IMassiveKnobAnalogAction + { + private IMassiveKnobActionContext actionContext; + private DeviceSetVolumeActionSettings settings; + private IDevice playbackDevice; + + + public void Initialize(IMassiveKnobActionContext context) + { + actionContext = context; + settings = context.GetSettings(); + ApplySettings(); + } + + + public void Dispose() + { + } + + + private void ApplySettings() + { + var coreAudioController = CoreAudioControllerInstance.Acquire(); + playbackDevice = settings.DeviceId.HasValue ? coreAudioController.GetDevice(settings.DeviceId.Value) : null; + } + + + public UserControl CreateSettingsControl() + { + var viewModel = new DeviceSetVolumeActionSettingsViewModel(settings); + viewModel.PropertyChanged += (sender, args) => + { + if (!viewModel.IsSettingsProperty(args.PropertyName)) + return; + + actionContext.SetSettings(settings); + ApplySettings(); + }; + + return new DeviceSetVolumeActionSettingsView(viewModel); + } + + + public async ValueTask AnalogChanged(byte value) + { + if (playbackDevice == null) + return; + + await playbackDevice.SetVolumeAsync(value); + + if (settings.OSD) + OSDManager.Show(playbackDevice); + } + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeActionSettings.cs b/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeActionSettings.cs new file mode 100644 index 0000000..9ee3713 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeActionSettings.cs @@ -0,0 +1,8 @@ +using MassiveKnob.Plugin.CoreAudio.Base; + +namespace MassiveKnob.Plugin.CoreAudio.SetVolume +{ + public class DeviceSetVolumeActionSettings : BaseDeviceSettings + { + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeActionSettingsView.xaml b/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeActionSettingsView.xaml new file mode 100644 index 0000000..fb068f2 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeActionSettingsView.xaml @@ -0,0 +1,14 @@ + + + + + diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeActionSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeActionSettingsView.xaml.cs new file mode 100644 index 0000000..9103cf2 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeActionSettingsView.xaml.cs @@ -0,0 +1,14 @@ +namespace MassiveKnob.Plugin.CoreAudio.SetVolume +{ + /// + /// Interaction logic for DeviceSetVolumeActionSettingsView.xaml + /// + public partial class DeviceSetVolumeActionSettingsView + { + public DeviceSetVolumeActionSettingsView(DeviceSetVolumeActionSettingsViewModel viewModel) + { + DataContext = viewModel; + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeActionSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeActionSettingsViewModel.cs new file mode 100644 index 0000000..baa5756 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetVolume/DeviceSetVolumeActionSettingsViewModel.cs @@ -0,0 +1,12 @@ +using MassiveKnob.Plugin.CoreAudio.Base; + +namespace MassiveKnob.Plugin.CoreAudio.SetVolume +{ + public class DeviceSetVolumeActionSettingsViewModel : BaseDeviceSettingsViewModel + { + // ReSharper disable once SuggestBaseTypeForParameter - by design + public DeviceSetVolumeActionSettingsViewModel(DeviceSetVolumeActionSettings settings) : base(settings) + { + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/Strings.Designer.cs b/Windows/MassiveKnob.Plugin.CoreAudio/Strings.Designer.cs new file mode 100644 index 0000000..22fb5fc --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/Strings.Designer.cs @@ -0,0 +1,342 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace MassiveKnob.Plugin.CoreAudio { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Strings() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MassiveKnob.Plugin.CoreAudio.Strings", typeof(Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to {0}. + /// + public static string DeviceDisplayNameActive { + get { + return ResourceManager.GetString("DeviceDisplayNameActive", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} (Disabled). + /// + public static string DeviceDisplayNameDisabled { + get { + return ResourceManager.GetString("DeviceDisplayNameDisabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} (Inactive). + /// + public static string DeviceDisplayNameInactive { + get { + return ResourceManager.GetString("DeviceDisplayNameInactive", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} (Not present). + /// + public static string DeviceDisplayNameNotPresent { + get { + return ResourceManager.GetString("DeviceDisplayNameNotPresent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} (Unplugged). + /// + public static string DeviceDisplayNameUnplugged { + get { + return ResourceManager.GetString("DeviceDisplayNameUnplugged", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets the digital output depending on whether the selected device is the active playback or communications device.. + /// + public static string GetDefaultDescription { + get { + return ResourceManager.GetString("GetDefaultDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Is default device. + /// + public static string GetDefaultName { + get { + return ResourceManager.GetString("GetDefaultName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets the digital output to the muted state for the selected device, regardless of the current default device.. + /// + public static string GetMutedDescription { + get { + return ResourceManager.GetString("GetMutedDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Muted / unmuted. + /// + public static string GetMutedName { + get { + return ResourceManager.GetString("GetMutedName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets the analog output to the volume for the selected device, regardless of the current default device.. + /// + public static string GetVolumeDescription { + get { + return ResourceManager.GetString("GetVolumeDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Volume. + /// + public static string GetVolumeName { + get { + return ResourceManager.GetString("GetVolumeName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Included with Massive Knob by default. Provides volume control per device and default device switching.. + /// + public static string PluginDescription { + get { + return ResourceManager.GetString("PluginDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows Core Audio. + /// + public static string PluginName { + get { + return ResourceManager.GetString("PluginName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Changes the default playback and/or communications device when the input turns on.. + /// + public static string SetDefaultDescription { + get { + return ResourceManager.GetString("SetDefaultDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set default device. + /// + public static string SetDefaultName { + get { + return ResourceManager.GetString("SetDefaultName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles the muted state for the selected device, regardless of the current default device.. + /// + public static string SetMutedDescription { + get { + return ResourceManager.GetString("SetMutedDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Mute / unmute. + /// + public static string SetMutedName { + get { + return ResourceManager.GetString("SetMutedName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to is the default communications device. + /// + public static string SettingGetDefaultCommunications { + get { + return ResourceManager.GetString("SettingGetDefaultCommunications", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inverted (off when the device is the default). + /// + public static string SettingGetDefaultInverted { + get { + return ResourceManager.GetString("SettingGetDefaultInverted", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to is the default playback device. + /// + public static string SettingGetDefaultPlayback { + get { + return ResourceManager.GetString("SettingGetDefaultPlayback", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Turn on when the selected device. + /// + public static string SettingGetDefaultWhen { + get { + return ResourceManager.GetString("SettingGetDefaultWhen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inverted (off when muted). + /// + public static string SettingGetMutedInverted { + get { + return ResourceManager.GetString("SettingGetMutedInverted", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show On-Screen Display. + /// + public static string SettingOSD { + get { + return ResourceManager.GetString("SettingOSD", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Playback device. + /// + public static string SettingPlaybackDevice { + get { + return ResourceManager.GetString("SettingPlaybackDevice", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set as the default communications device. + /// + public static string SettingSetDefaultCommunications { + get { + return ResourceManager.GetString("SettingSetDefaultCommunications", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set as the default playback device. + /// + public static string SettingSetDefaultPlayback { + get { + return ResourceManager.GetString("SettingSetDefaultPlayback", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inverted (muted when off). + /// + public static string SettingSetMutedSetInverted { + get { + return ResourceManager.GetString("SettingSetMutedSetInverted", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set mute depending on value (eg. switch). + /// + public static string SettingSetMutedToggleFalse { + get { + return ResourceManager.GetString("SettingSetMutedToggleFalse", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle mute when input turns on (eg. push button). + /// + public static string SettingSetMutedToggleTrue { + get { + return ResourceManager.GetString("SettingSetMutedToggleTrue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets the volume for the selected device to the value of the analog input, regardless of the current default device.. + /// + public static string SetVolumeDescription { + get { + return ResourceManager.GetString("SetVolumeDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Volume. + /// + public static string SetVolumeName { + get { + return ResourceManager.GetString("SetVolumeName", resourceCulture); + } + } + } +} diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/Strings.resx b/Windows/MassiveKnob.Plugin.CoreAudio/Strings.resx new file mode 100644 index 0000000..9ba8dfb --- /dev/null +++ b/Windows/MassiveKnob.Plugin.CoreAudio/Strings.resx @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + {0} + + + {0} (Disabled) + + + {0} (Inactive) + + + {0} (Not present) + + + {0} (Unplugged) + + + Sets the digital output depending on whether the selected device is the active playback or communications device. + + + Is default device + + + Sets the digital output to the muted state for the selected device, regardless of the current default device. + + + Muted / unmuted + + + Sets the analog output to the volume for the selected device, regardless of the current default device. + + + Volume + + + Included with Massive Knob by default. Provides volume control per device and default device switching. + + + Windows Core Audio + + + Changes the default playback and/or communications device when the input turns on. + + + Set default device + + + Toggles the muted state for the selected device, regardless of the current default device. + + + Mute / unmute + + + is the default communications device + + + Inverted (off when the device is the default) + + + is the default playback device + + + Turn on when the selected device + + + Inverted (off when muted) + + + Show On-Screen Display + + + Playback device + + + Set as the default communications device + + + Set as the default playback device + + + Inverted (muted when off) + + + Set mute depending on value (eg. switch) + + + Toggle mute when input turns on (eg. push button) + + + Sets the volume for the selected device to the value of the analog input, regardless of the current default device. + + + Volume + + \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.EmulatorDevice/Devices/EmulatorDevice.cs b/Windows/MassiveKnob.Plugin.EmulatorDevice/Devices/EmulatorDevice.cs new file mode 100644 index 0000000..9f1476d --- /dev/null +++ b/Windows/MassiveKnob.Plugin.EmulatorDevice/Devices/EmulatorDevice.cs @@ -0,0 +1,97 @@ +using System; +using System.Windows.Controls; +using MassiveKnob.Plugin.EmulatorDevice.Settings; +using Microsoft.Extensions.Logging; + +namespace MassiveKnob.Plugin.EmulatorDevice.Devices +{ + public class EmulatorDevice : IMassiveKnobDevice + { + public Guid DeviceId { get; } = new Guid("e1a4977a-abf4-4c75-a17d-fd8d3a8451ff"); + public string Name { get; } = "Emulator"; + public string Description { get; } = "Emulates an actual device but does not communicate with anything."; + + public IMassiveKnobDeviceInstance Create(ILogger logger) + { + return new Instance(); + } + + + private class Instance : IMassiveKnobDeviceInstance + { + private IMassiveKnobDeviceContext deviceContext; + private EmulatorDeviceSettings settings; + + private DeviceSpecs reportedSpecs; + private EmulatorDeviceWindow window; + private EmulatorDeviceWindowViewModel windowViewModel; + + + public void Initialize(IMassiveKnobDeviceContext context) + { + deviceContext = context; + settings = deviceContext.GetSettings(); + + windowViewModel = new EmulatorDeviceWindowViewModel(settings, context); + window = new EmulatorDeviceWindow(windowViewModel); + ApplySettings(); + } + + + public void Dispose() + { + window.Close(); + } + + + private void ApplySettings() + { + if (settings.AnalogInputCount != reportedSpecs.AnalogInputCount || + settings.DigitalInputCount != reportedSpecs.DigitalInputCount || + settings.AnalogOutputCount != reportedSpecs.AnalogOutputCount || + settings.DigitalOutputCount != reportedSpecs.DigitalOutputCount) + { + reportedSpecs = new DeviceSpecs( + settings.AnalogInputCount, settings.DigitalInputCount, + settings.AnalogOutputCount, settings.DigitalOutputCount); + + deviceContext.Connected(reportedSpecs); + } + + windowViewModel.ApplySettings(); + window.Show(); + } + + + public UserControl CreateSettingsControl() + { + var viewModel = new EmulatorDeviceSettingsViewModel(settings); + viewModel.PropertyChanged += (sender, args) => + { + deviceContext.SetSettings(settings); + ApplySettings(); + }; + + return new EmulatorDeviceSettingsView(viewModel); + } + + + public void SetAnalogOutput(int analogOutputIndex, byte value) + { + if (analogOutputIndex >= windowViewModel.AnalogOutputCount) + return; + + windowViewModel.AnalogOutputs[analogOutputIndex].AnalogValue = value; + } + + + public void SetDigitalOutput(int digitalOutputIndex, bool on) + { + if (digitalOutputIndex >= windowViewModel.DigitalOutputCount) + return; + + windowViewModel.DigitalOutputs[digitalOutputIndex].DigitalValue = on; + } + } + } +} diff --git a/Windows/MassiveKnob.Plugin.EmulatorDevice/Devices/EmulatorDeviceWindow.xaml b/Windows/MassiveKnob.Plugin.EmulatorDevice/Devices/EmulatorDeviceWindow.xaml new file mode 100644 index 0000000..2c2585d --- /dev/null +++ b/Windows/MassiveKnob.Plugin.EmulatorDevice/Devices/EmulatorDeviceWindow.xaml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob.Plugin.EmulatorDevice/Devices/EmulatorDeviceWindow.xaml.cs b/Windows/MassiveKnob.Plugin.EmulatorDevice/Devices/EmulatorDeviceWindow.xaml.cs new file mode 100644 index 0000000..1bfefbd --- /dev/null +++ b/Windows/MassiveKnob.Plugin.EmulatorDevice/Devices/EmulatorDeviceWindow.xaml.cs @@ -0,0 +1,14 @@ +namespace MassiveKnob.Plugin.EmulatorDevice.Devices +{ + /// + /// Interaction logic for EmulatorDeviceWindow.xaml + /// + public partial class EmulatorDeviceWindow + { + public EmulatorDeviceWindow(EmulatorDeviceWindowViewModel viewModel) + { + DataContext = viewModel; + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.EmulatorDevice/Devices/EmulatorDeviceWindowViewModel.cs b/Windows/MassiveKnob.Plugin.EmulatorDevice/Devices/EmulatorDeviceWindowViewModel.cs new file mode 100644 index 0000000..f8433bf --- /dev/null +++ b/Windows/MassiveKnob.Plugin.EmulatorDevice/Devices/EmulatorDeviceWindowViewModel.cs @@ -0,0 +1,263 @@ +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Runtime.CompilerServices; +using MassiveKnob.Plugin.EmulatorDevice.Settings; + +namespace MassiveKnob.Plugin.EmulatorDevice.Devices +{ + public class EmulatorDeviceWindowViewModel : INotifyPropertyChanged + { + private readonly EmulatorDeviceSettings settings; + private readonly IMassiveKnobDeviceContext context; + public event PropertyChangedEventHandler PropertyChanged; + + + // ReSharper disable UnusedMember.Global - used by WPF Binding + private int analogInputCount; + public int AnalogInputCount + { + get => analogInputCount; + set + { + if (value == analogInputCount) + return; + + analogInputCount = value; + OnPropertyChanged(); + + AnalogInputs = Enumerable.Range(0, AnalogInputCount) + .Select(i => new InputOutputViewModel(context, MassiveKnobActionType.InputAnalog, i)) + .ToList(); + } + } + + private IList analogInputs; + public IList AnalogInputs + { + get => analogInputs; + set + { + analogInputs = value; + OnPropertyChanged(); + } + } + + + private int digitalInputCount; + public int DigitalInputCount + { + get => digitalInputCount; + set + { + if (value == digitalInputCount) + return; + + digitalInputCount = value; + OnPropertyChanged(); + + DigitalInputs = Enumerable.Range(0, DigitalInputCount) + .Select(i => new InputOutputViewModel(context, MassiveKnobActionType.InputDigital, i)) + .ToList(); + } + } + + private IList digitalInputs; + public IList DigitalInputs + { + get => digitalInputs; + set + { + digitalInputs = value; + OnPropertyChanged(); + } + } + + + private int analogOutputCount; + public int AnalogOutputCount + { + get => analogOutputCount; + set + { + if (value == analogOutputCount) + return; + + analogOutputCount = value; + OnPropertyChanged(); + + AnalogOutputs = Enumerable.Range(0, AnalogOutputCount) + .Select(i => new InputOutputViewModel(context, MassiveKnobActionType.OutputAnalog, i)) + .ToList(); + } + } + + + private IList analogOutputs; + public IList AnalogOutputs + { + get => analogOutputs; + set + { + analogOutputs = value; + OnPropertyChanged(); + } + } + + + private int digitalOutputCount; + public int DigitalOutputCount + { + get => digitalOutputCount; + set + { + if (value == digitalOutputCount) + return; + + digitalOutputCount = value; + OnPropertyChanged(); + + DigitalOutputs = Enumerable.Range(0, DigitalOutputCount) + .Select(i => new InputOutputViewModel(context, MassiveKnobActionType.OutputDigital, i)) + .ToList(); + } + } + + private IList digitalOutputs; + public IList DigitalOutputs + { + get => digitalOutputs; + set + { + digitalOutputs = value; + OnPropertyChanged(); + } + } + // ReSharper restore UnusedMember.Global + + + + public EmulatorDeviceWindowViewModel(EmulatorDeviceSettings settings, IMassiveKnobDeviceContext context) + { + this.settings = settings; + this.context = context; + + ApplySettings(); + } + + + public void ApplySettings() + { + AnalogInputCount = settings.AnalogInputCount; + DigitalInputCount = settings.DigitalInputCount; + AnalogOutputCount = settings.AnalogOutputCount; + DigitalOutputCount = settings.DigitalOutputCount; + } + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + + public class InputOutputViewModel : INotifyPropertyChanged + { + private readonly IMassiveKnobDeviceContext context; + public MassiveKnobActionType ActionType { get; } + public int Index { get; } + + public string DisplayName + { + get + { + switch (ActionType) + { + case MassiveKnobActionType.InputAnalog: + return $"Analog input #{Index + 1}"; + + case MassiveKnobActionType.InputDigital: + return $"Digital input #{Index + 1}"; + + case MassiveKnobActionType.OutputAnalog: + return $"Analog output #{Index + 1}"; + + case MassiveKnobActionType.OutputDigital: + return $"Digital output #{Index + 1}"; + + default: + return (Index + 1).ToString(); + } + } + } + + + private byte analogValue; + public byte AnalogValue + { + get => analogValue; + set + { + analogValue = value; + OnPropertyChanged(); + + if (ActionType == MassiveKnobActionType.InputAnalog) + // Context can be null in DesignTime + context?.AnalogChanged(Index, analogValue); + } + } + + private bool digitalValue; + public bool DigitalValue + { + get => digitalValue; + set + { + digitalValue = value; + OnPropertyChanged(); + OnDependantPropertyChanged("DigitalValueDisplayText"); + + if (ActionType == MassiveKnobActionType.InputDigital) + context?.DigitalChanged(Index, digitalValue); + } + } + + public string DigitalValueDisplayText => DigitalValue ? "On" : "Off"; + + + public InputOutputViewModel(IMassiveKnobDeviceContext context, MassiveKnobActionType actionType, int index) + { + this.context = context; + ActionType = actionType; + Index = index; + } + + + public event PropertyChangedEventHandler PropertyChanged; + + protected void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + protected void OnDependantPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + + + public class EmulatorDeviceWindowViewModelDesignTime : EmulatorDeviceWindowViewModel + { + public EmulatorDeviceWindowViewModelDesignTime() : base( + new EmulatorDeviceSettings + { + AnalogInputCount = 2, + DigitalInputCount = 2, + AnalogOutputCount = 2, + DigitalOutputCount = 2 + }, null) + { + } + } +} diff --git a/Windows/MassiveKnob.Plugin.EmulatorDevice/MassiveKnob.Plugin.EmulatorDevice.csproj b/Windows/MassiveKnob.Plugin.EmulatorDevice/MassiveKnob.Plugin.EmulatorDevice.csproj new file mode 100644 index 0000000..a83d3e4 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.EmulatorDevice/MassiveKnob.Plugin.EmulatorDevice.csproj @@ -0,0 +1,88 @@ + + + + + Debug + AnyCPU + {674DE974-B134-4DB5-BFAF-7BC3D05E16DE} + Library + Properties + MassiveKnob.Plugin.EmulatorDevice + MassiveKnob.Plugin.EmulatorDevice + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + EmulatorDeviceWindow.xaml + + + + + + EmulatorDeviceSettingsView.xaml + + + + + + + {A1298BE4-1D23-416C-8C56-FC9264487A95} + MassiveKnob.Plugin + + + + + 5.0.0 + + + + + MSBuild:Compile + Designer + + + Designer + MSBuild:Compile + + + + + Always + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.EmulatorDevice/MassiveKnobEmulatorDevicePlugin.cs b/Windows/MassiveKnob.Plugin.EmulatorDevice/MassiveKnobEmulatorDevicePlugin.cs new file mode 100644 index 0000000..f19c347 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.EmulatorDevice/MassiveKnobEmulatorDevicePlugin.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; + +namespace MassiveKnob.Plugin.EmulatorDevice +{ + [MassiveKnobPlugin] + public class MassiveKnobEmulatorDevicePlugin : IMassiveKnobDevicePlugin + { + public Guid PluginId { get; } = new Guid("85f04232-d70f-494c-94a2-41452591ffb3"); + public string Name { get; } = "Mock Device"; + public string Description { get; } = "Emulates the actual device but does not communicate with anything."; + public string Author { get; } = "Mark van Renswoude "; + public string Url { get; } = "https://www.github.com/MvRens/MassiveKnob/"; + + public IEnumerable Devices { get; } = new IMassiveKnobDevice[] + { + new EmulatorDevice.Devices.EmulatorDevice() + }; + } +} diff --git a/Windows/MassiveKnob.Plugin.EmulatorDevice/MassiveKnobPlugin.json b/Windows/MassiveKnob.Plugin.EmulatorDevice/MassiveKnobPlugin.json new file mode 100644 index 0000000..151b5ed --- /dev/null +++ b/Windows/MassiveKnob.Plugin.EmulatorDevice/MassiveKnobPlugin.json @@ -0,0 +1,3 @@ +{ + "EntryAssembly": "MassiveKnob.Plugin.EmulatorDevice.dll" +} diff --git a/Windows/MassiveKnob.Plugin.EmulatorDevice/Properties/AssemblyInfo.cs b/Windows/MassiveKnob.Plugin.EmulatorDevice/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..63e0908 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.EmulatorDevice/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MassiveKnob.Plugin.MockDevice")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MassiveKnob.Plugin.MockDevice")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("674de974-b134-4db5-bfaf-7bc3d05e16de")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Windows/MassiveKnob.Plugin.EmulatorDevice/Settings/EmulatorDeviceSettings.cs b/Windows/MassiveKnob.Plugin.EmulatorDevice/Settings/EmulatorDeviceSettings.cs new file mode 100644 index 0000000..1091b7c --- /dev/null +++ b/Windows/MassiveKnob.Plugin.EmulatorDevice/Settings/EmulatorDeviceSettings.cs @@ -0,0 +1,10 @@ +namespace MassiveKnob.Plugin.EmulatorDevice.Settings +{ + public class EmulatorDeviceSettings + { + public int AnalogInputCount { get; set; } = 2; + public int DigitalInputCount { get; set; } = 2; + public int AnalogOutputCount { get; set; } = 2; + public int DigitalOutputCount { get; set; } = 2; + } +} diff --git a/Windows/MassiveKnob.Plugin.EmulatorDevice/Settings/EmulatorDeviceSettingsView.xaml b/Windows/MassiveKnob.Plugin.EmulatorDevice/Settings/EmulatorDeviceSettingsView.xaml new file mode 100644 index 0000000..2f05a7d --- /dev/null +++ b/Windows/MassiveKnob.Plugin.EmulatorDevice/Settings/EmulatorDeviceSettingsView.xaml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + Analog inputs + + + Digital inputs + + + Analog outputs + + + Digital outputs + + + diff --git a/Windows/MassiveKnob.Plugin.EmulatorDevice/Settings/EmulatorDeviceSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.EmulatorDevice/Settings/EmulatorDeviceSettingsView.xaml.cs new file mode 100644 index 0000000..2ab7f89 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.EmulatorDevice/Settings/EmulatorDeviceSettingsView.xaml.cs @@ -0,0 +1,15 @@ +namespace MassiveKnob.Plugin.EmulatorDevice.Settings +{ + /// + /// Interaction logic for EmulatorDeviceSettingsView.xaml + /// + public partial class EmulatorDeviceSettingsView + { + public EmulatorDeviceSettingsView(EmulatorDeviceSettingsViewModel settingsViewModel) + { + DataContext = settingsViewModel; + + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.EmulatorDevice/Settings/EmulatorDeviceSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.EmulatorDevice/Settings/EmulatorDeviceSettingsViewModel.cs new file mode 100644 index 0000000..1afa309 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.EmulatorDevice/Settings/EmulatorDeviceSettingsViewModel.cs @@ -0,0 +1,81 @@ +using System.ComponentModel; +using System.Runtime.CompilerServices; + +namespace MassiveKnob.Plugin.EmulatorDevice.Settings +{ + public class EmulatorDeviceSettingsViewModel : INotifyPropertyChanged + { + private readonly EmulatorDeviceSettings settings; + public event PropertyChangedEventHandler PropertyChanged; + + + // ReSharper disable UnusedMember.Global - used by WPF Binding + public int AnalogInputCount + { + get => settings.AnalogInputCount; + set + { + if (value == settings.AnalogInputCount) + return; + + settings.AnalogInputCount = value; + OnPropertyChanged(); + } + } + + + public int DigitalInputCount + { + get => settings.DigitalInputCount; + set + { + if (value == settings.DigitalInputCount) + return; + + settings.DigitalInputCount = value; + OnPropertyChanged(); + } + } + + + public int AnalogOutputCount + { + get => settings.AnalogOutputCount; + set + { + if (value == settings.AnalogOutputCount) + return; + + settings.AnalogOutputCount = value; + OnPropertyChanged(); + } + } + + + public int DigitalOutputCount + { + get => settings.DigitalOutputCount; + set + { + if (value == settings.DigitalOutputCount) + return; + + settings.DigitalOutputCount = value; + OnPropertyChanged(); + } + } + // ReSharper restore UnusedMember.Global + + + public EmulatorDeviceSettingsViewModel(EmulatorDeviceSettings settings) + { + this.settings = settings; + } + + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.SerialDevice/Devices/SerialDevice.cs b/Windows/MassiveKnob.Plugin.SerialDevice/Devices/SerialDevice.cs new file mode 100644 index 0000000..c30a549 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.SerialDevice/Devices/SerialDevice.cs @@ -0,0 +1,84 @@ +using System; +using System.Windows.Controls; +using MassiveKnob.Plugin.SerialDevice.Settings; +using MassiveKnob.Plugin.SerialDevice.Worker; +using Microsoft.Extensions.Logging; + +namespace MassiveKnob.Plugin.SerialDevice.Devices +{ + public class SerialDevice : IMassiveKnobDevice + { + public Guid DeviceId { get; } = new Guid("65255f25-d8f6-426b-8f12-cf03c44a1bf5"); + public string Name { get; } = "Serial device"; + public string Description { get; } = "A Serial (USB) device which implements the Massive Knob Protocol."; + + public IMassiveKnobDeviceInstance Create(ILogger logger) + { + return new Instance(logger); + } + + + private class Instance : IMassiveKnobDeviceInstance + { + private readonly ILogger logger; + private IMassiveKnobDeviceContext deviceContext; + private SerialDeviceSettings settings; + private SerialWorker worker; + + + public Instance(ILogger logger) + { + this.logger = logger; + } + + + public void Initialize(IMassiveKnobDeviceContext context) + { + deviceContext = context; + settings = deviceContext.GetSettings(); + + worker = new SerialWorker(context, logger); + ApplySettings(); + } + + + public void Dispose() + { + worker.Dispose(); + } + + + private void ApplySettings() + { + worker.Connect(settings.PortName, settings.BaudRate, settings.DtrEnable); + } + + + public UserControl CreateSettingsControl() + { + var viewModel = new SerialDeviceSettingsViewModel(settings); + viewModel.PropertyChanged += (sender, args) => + { + if (!viewModel.IsSettingsProperty(args.PropertyName)) + return; + + deviceContext.SetSettings(settings); + ApplySettings(); + }; + + return new SerialDeviceSettingsView(viewModel); + } + + + public void SetAnalogOutput(int analogOutputIndex, byte value) + { + worker.SetAnalogOutput(analogOutputIndex, value); + } + + public void SetDigitalOutput(int digitalOutputIndex, bool on) + { + worker.SetDigitalOutput(digitalOutputIndex, on); + } + } + } +} diff --git a/Windows/MassiveKnob.Plugin.SerialDevice/MassiveKnob.Plugin.SerialDevice.csproj b/Windows/MassiveKnob.Plugin.SerialDevice/MassiveKnob.Plugin.SerialDevice.csproj new file mode 100644 index 0000000..8de965f --- /dev/null +++ b/Windows/MassiveKnob.Plugin.SerialDevice/MassiveKnob.Plugin.SerialDevice.csproj @@ -0,0 +1,95 @@ + + + + + Debug + AnyCPU + {FC0D22D8-5F1B-4D85-8269-FA4837CDE3A2} + Library + Properties + MassiveKnob.Plugin.SerialDevice + MassiveKnob.Plugin.SerialDevice + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + SerialDeviceSettingsView.xaml + + + + + + + + {A1298BE4-1D23-416C-8C56-FC9264487A95} + MassiveKnob.Plugin + + + {db8819eb-d2b7-4aae-a699-bd200f2c113a} + MIN.SerialPort + + + {fc1c9cb5-8b71-4039-9636-90e578a71061} + MIN + + + + + Designer + MSBuild:Compile + + + + + 1.2.0 + + + 0.11.24 + + + 5.0.0 + + + + + Always + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.SerialDevice/MassiveKnobPlugin.json b/Windows/MassiveKnob.Plugin.SerialDevice/MassiveKnobPlugin.json new file mode 100644 index 0000000..203ad71 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.SerialDevice/MassiveKnobPlugin.json @@ -0,0 +1,3 @@ +{ + "EntryAssembly": "MassiveKnob.Plugin.SerialDevice.dll" +} diff --git a/Windows/MassiveKnob.Plugin.SerialDevice/MassiveKnobSerialDevicePlugin.cs b/Windows/MassiveKnob.Plugin.SerialDevice/MassiveKnobSerialDevicePlugin.cs new file mode 100644 index 0000000..9e0ccaf --- /dev/null +++ b/Windows/MassiveKnob.Plugin.SerialDevice/MassiveKnobSerialDevicePlugin.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; + +namespace MassiveKnob.Plugin.SerialDevice +{ + [MassiveKnobPlugin] + public class MassiveKnobSerialDevicePlugin : IMassiveKnobDevicePlugin + { + public Guid PluginId { get; } = new Guid("276475e6-5ff0-420f-82dc-8aff5e8631d5"); + public string Name { get; } = "Serial Device"; + public string Description { get; } = "A Serial (USB) device which implements the Massive Knob Protocol."; + public string Author { get; } = "Mark van Renswoude "; + public string Url { get; } = "https://www.github.com/MvRens/MassiveKnob/"; + + public IEnumerable Devices { get; } = new IMassiveKnobDevice[] + { + new Devices.SerialDevice() + }; + } +} diff --git a/Windows/MassiveKnob.Plugin.SerialDevice/Properties/AssemblyInfo.cs b/Windows/MassiveKnob.Plugin.SerialDevice/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..751b137 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.SerialDevice/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MassiveKnob.Plugin.SerialDevice")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MassiveKnob.Plugin.SerialDevice")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("fc0d22d8-5f1b-4d85-8269-fa4837cde3a2")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettings.cs b/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettings.cs new file mode 100644 index 0000000..5c422bb --- /dev/null +++ b/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettings.cs @@ -0,0 +1,9 @@ +namespace MassiveKnob.Plugin.SerialDevice.Settings +{ + public class SerialDeviceSettings + { + public string PortName { get; set; } = null; + public int BaudRate { get; set; } = 115200; + public bool DtrEnable { get; set; } = false; + } +} diff --git a/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettingsView.xaml b/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettingsView.xaml new file mode 100644 index 0000000..eb48155 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettingsView.xaml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + Serial port + + + Baud rate + + + + + Enable DTR (may be required on some Arduino's like Leonardo / Pro Micro) + + + diff --git a/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettingsView.xaml.cs new file mode 100644 index 0000000..5381354 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettingsView.xaml.cs @@ -0,0 +1,22 @@ +using System; + +namespace MassiveKnob.Plugin.SerialDevice.Settings +{ + /// + /// Interaction logic for SerialDeviceSettingsView.xaml + /// + public partial class SerialDeviceSettingsView : IDisposable + { + public SerialDeviceSettingsView(SerialDeviceSettingsViewModel viewModel) + { + DataContext = viewModel; + InitializeComponent(); + } + + + public void Dispose() + { + (DataContext as SerialDeviceSettingsViewModel)?.Dispose(); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettingsViewModel.cs new file mode 100644 index 0000000..55c2e20 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettingsViewModel.cs @@ -0,0 +1,120 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.IO.Ports; +using System.Runtime.CompilerServices; +using Dapplo.Windows.Devices; +using Dapplo.Windows.Devices.Enums; + +namespace MassiveKnob.Plugin.SerialDevice.Settings +{ + public class SerialDeviceSettingsViewModel : IDisposable, INotifyPropertyChanged, IObserver + { + private readonly SerialDeviceSettings settings; + private IList serialPorts; + private readonly IDisposable deviceSubscription; + public event PropertyChangedEventHandler PropertyChanged; + + + // ReSharper disable UnusedMember.Global - used by WPF Binding + public IList SerialPorts + { + get => serialPorts; + set + { + serialPorts = value; + OnPropertyChanged(); + } + } + + + public string PortName + { + get => settings.PortName; + set + { + if (value == settings.PortName || value == null) + return; + + settings.PortName = value; + OnPropertyChanged(); + } + } + + + public int BaudRate + { + get => settings.BaudRate; + set + { + if (value == settings.BaudRate) + return; + + settings.BaudRate = value; + OnPropertyChanged(); + } + } + + + public bool DtrEnable + { + get => settings.DtrEnable; + set + { + if (value == settings.DtrEnable) + return; + + settings.DtrEnable = value; + OnPropertyChanged(); + } + } + // ReSharper restore UnusedMember.Global + + + public SerialDeviceSettingsViewModel(SerialDeviceSettings settings) + { + this.settings = settings; + + serialPorts = SerialPort.GetPortNames(); + deviceSubscription = DeviceNotification.OnNotification.Subscribe(this); + } + + + public void Dispose() + { + deviceSubscription.Dispose(); + } + + + public bool IsSettingsProperty(string propertyName) + { + return propertyName != nameof(SerialPorts); + } + + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + + + public void OnNext(DeviceNotificationEvent value) + { + if ((value.EventType == DeviceChangeEvent.DeviceArrival || + value.EventType == DeviceChangeEvent.DeviceRemoveComplete) && + value.Is(DeviceBroadcastDeviceType.DeviceInterface)) + { + SerialPorts = SerialPort.GetPortNames(); + } + } + + public void OnError(Exception error) + { + } + + public void OnCompleted() + { + } + } +} diff --git a/Windows/MassiveKnob.Plugin.SerialDevice/Worker/SerialWorker.cs b/Windows/MassiveKnob.Plugin.SerialDevice/Worker/SerialWorker.cs new file mode 100644 index 0000000..26a85f7 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.SerialDevice/Worker/SerialWorker.cs @@ -0,0 +1,386 @@ +using System; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using MIN; +using MIN.Abstractions; +using MIN.SerialPort; + +namespace MassiveKnob.Plugin.SerialDevice.Worker +{ + public class SerialWorker : IDisposable + { + private readonly IMassiveKnobDeviceContext context; + private readonly ILogger logger; + + private readonly object minProtocolLock = new object(); + private IMINProtocol minProtocol; + private string lastPortName; + private int lastBaudRate; + private bool lastDtrEnable; + + + private enum MassiveKnobFrameID + { + Handshake = 42, + HandshakeResponse = 43, + AnalogInput = 1, + DigitalInput = 2, + AnalogOutput = 3, + DigitalOutput = 4, + Quit = 62, + Error = 63 + } + + + + public SerialWorker(IMassiveKnobDeviceContext context, ILogger logger) + { + this.context = context; + this.logger = logger; + } + + + public void Dispose() + { + IMINProtocol instance; + + lock (minProtocolLock) + { + instance = minProtocol; + } + + if (instance != null) + Task.WaitAny(new [] { instance.QueueFrame((byte) MassiveKnobFrameID.Quit, Array.Empty()) }, 500); + + Disconnect(); + } + + + public void Connect(string portName, int baudRate, bool dtrEnable) + { + lock (minProtocolLock) + { + if (portName == lastPortName && baudRate == lastBaudRate && dtrEnable == lastDtrEnable) + return; + + lastPortName = portName; + lastBaudRate = baudRate; + lastDtrEnable = dtrEnable; + + Disconnect(); + context.Connecting(); + + if (string.IsNullOrEmpty(portName) || baudRate == 0) + return; + + + minProtocol?.Dispose(); + minProtocol = new MINProtocol(new MINSerialTransport(portName, baudRate, dtrEnable: dtrEnable), logger); + minProtocol.OnConnected += MinProtocolOnOnConnected; + minProtocol.OnFrame += MinProtocolOnOnFrame; + minProtocol.Start(); + } + } + + + public void SetAnalogOutput(int analogOutputIndex, byte value) + { + IMINProtocol instance; + + lock (minProtocolLock) + { + instance = minProtocol; + } + + instance?.QueueFrame( + (byte)MassiveKnobFrameID.AnalogOutput, + new [] { (byte)analogOutputIndex, value }); + } + + public void SetDigitalOutput(int digitalOutputIndex, bool on) + { + IMINProtocol instance; + + lock (minProtocolLock) + { + instance = minProtocol; + } + + instance?.QueueFrame( + (byte)MassiveKnobFrameID.DigitalOutput, + new [] { (byte)digitalOutputIndex, on ? (byte)1 : (byte)0 }); + } + + + private void MinProtocolOnOnConnected(object sender, EventArgs e) + { + IMINProtocol instance; + + lock (minProtocolLock) + { + if (minProtocol != sender as IMINProtocol) + return; + + instance = minProtocol; + } + + if (instance == null) + return; + + Task.Run(async () => + { + await instance.Reset(); + await instance.QueueFrame((byte)MassiveKnobFrameID.Handshake, new[] { (byte)'M', (byte)'K' }); + }); + } + + + private void MinProtocolOnOnFrame(object sender, MINFrameEventArgs e) + { + IMINProtocol instance; + + lock (minProtocolLock) + { + if (minProtocol != sender as IMINProtocol) + return; + + instance = minProtocol; + } + + if (instance == null) + return; + + // ReSharper disable once SwitchStatementHandlesSomeKnownEnumValuesWithDefault - by design + switch ((MassiveKnobFrameID)e.Id) + { + case MassiveKnobFrameID.HandshakeResponse: + if (e.Payload.Length < 4) + { + logger.LogError("Invalid handshake response length, expected 4, got {length}: {payload}", + e.Payload.Length, BitConverter.ToString(e.Payload)); + + Disconnect(); + return; + } + + var specs = new DeviceSpecs(e.Payload[0], e.Payload[1], e.Payload[2], e.Payload[3]); + context.Connected(specs); + break; + + case MassiveKnobFrameID.AnalogInput: + if (e.Payload.Length < 2) + { + logger.LogError("Invalid analog input payload length, expected 2, got {length}: {payload}", + e.Payload.Length, BitConverter.ToString(e.Payload)); + return; + } + + context.AnalogChanged(e.Payload[0], e.Payload[1]); + break; + + case MassiveKnobFrameID.DigitalInput: + if (e.Payload.Length < 2) + { + logger.LogError("Invalid digital input payload length, expected 2, got {length}: {payload}", + e.Payload.Length, BitConverter.ToString(e.Payload)); + return; + } + + context.DigitalChanged(e.Payload[0], e.Payload[1] != 0); + break; + + case MassiveKnobFrameID.Error: + logger.LogError("Error message received from device: {message}", Encoding.ASCII.GetString(e.Payload)); + break; + + default: + logger.LogWarning("Unknown frame ID received: {frameId}", e.Id); + break; + } + } + + + private void Disconnect() + { + lock (minProtocolLock) + { + minProtocol?.Dispose(); + minProtocol = null; + } + + context.Disconnected(); + } + + + + /* + void SafeCloseSerialPort() + { + try + { + serialPort?.Dispose(); + } + catch + { + // ignored + } + + serialPort = null; + context.Connecting(); + } + + + while (serialPort == null && !cancellationToken.IsCancellationRequested) + { + if (!TryConnect(ref serialPort, settings, out specs)) + { + SafeCloseSerialPort(); + Thread.Sleep(500); + } + else + break; + } + + if (cancellationToken.IsCancellationRequested) + { + SafeCloseSerialPort(); + break; + } + + var processingMessage = false; + + Debug.Assert(serialPort != null, nameof(serialPort) + " != null"); + serialPort.DataReceived += (sender, args) => + { + if (args.EventType != SerialData.Chars || processingMessage) + return; + + var senderPort = (SerialPort)sender; + processingMessage = true; + try + { + var message = (char)senderPort.ReadByte(); + ProcessMessage(senderPort, message); + } + finally + { + processingMessage = false; + } + }; + + + context.Connected(specs); + try + { + // This is where sending data to the hardware would be implemented + while (serialPort.IsOpen && !cancellationToken.IsCancellationRequested) + { + Thread.Sleep(10); + } + } + catch + { + // ignored + } + + context.Disconnected(); + SafeCloseSerialPort(); + + if (!cancellationToken.IsCancellationRequested) + Thread.Sleep(500); + } + } + + + private static bool TryConnect(ref SerialPort serialPort, ConnectionSettings settings, out DeviceSpecs specs) + { + try + { + serialPort = new SerialPort(settings.PortName, settings.BaudRate) + { + Encoding = Encoding.ASCII, + ReadTimeout = 1000, + WriteTimeout = 1000, + DtrEnable = settings.DtrEnable + }; + serialPort.Open(); + + // Send handshake + serialPort.Write(new[] { 'H', 'M', 'K', 'B' }, 0, 4); + + // Wait for reply + var response = serialPort.ReadByte(); + + if ((char) response == 'H') + { + specs = new DeviceSpecs(serialPort.ReadByte(), serialPort.ReadByte(), serialPort.ReadByte(), serialPort.ReadByte()); + if (specs.AnalogInputCount > -1 && specs.DigitalInputCount > -1 && specs.AnalogOutputCount > -1 && specs.DigitalOutputCount > -1) + return true; + } + else + CheckForError(serialPort, (char)response); + + specs = default; + return false; + } + catch + { + specs = default; + return false; + } + } + + + private void ProcessMessage(SerialPort serialPort, char message) + { + switch (message) + { + case 'V': + var knobIndex = (byte)serialPort.ReadByte(); + var volume = (byte)serialPort.ReadByte(); + + if (knobIndex < 255 && volume <= 100) + context.AnalogChanged(knobIndex, volume); + + break; + } + } + + + private static void CheckForError(SerialPort serialPort, char message) + { + if (message != 'E') + return; + + var length = serialPort.ReadByte(); + if (length <= 0) + return; + + var buffer = new byte[length]; + var bytesRead = 0; + + while (bytesRead < length) + bytesRead += serialPort.Read(buffer, bytesRead, length - bytesRead); + + var errorMessage = Encoding.ASCII.GetString(buffer); + Debug.Print(errorMessage); + } + + + private readonly struct ConnectionSettings + { + public readonly string PortName; + public readonly int BaudRate; + public readonly bool DtrEnable; + + public ConnectionSettings(string portName, int baudRate, bool dtrEnable) + { + PortName = portName; + BaudRate = baudRate; + DtrEnable = dtrEnable; + } + } + */ + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettings.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettings.cs new file mode 100644 index 0000000..f5c9273 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettings.cs @@ -0,0 +1,13 @@ +using Voicemeeter; + +namespace MassiveKnob.Plugin.VoiceMeeter.Base +{ + public class BaseVoiceMeeterSettings + { + public RunVoicemeeterParam Version + { + get => InstanceRegister.Version; + set => InstanceRegister.Version = value; + } + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsView.xaml b/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsView.xaml new file mode 100644 index 0000000..279f21e --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsView.xaml @@ -0,0 +1,15 @@ + + + + + + diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsView.xaml.cs new file mode 100644 index 0000000..31f0dc4 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsView.xaml.cs @@ -0,0 +1,13 @@ +namespace MassiveKnob.Plugin.VoiceMeeter.Base +{ + /// + /// Interaction logic for BaseVoiceMeeterSettingsView.xaml + /// + public partial class BaseVoiceMeeterSettingsView + { + public BaseVoiceMeeterSettingsView() + { + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsViewModel.cs new file mode 100644 index 0000000..18bca53 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsViewModel.cs @@ -0,0 +1,113 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Runtime.CompilerServices; +using Voicemeeter; + +namespace MassiveKnob.Plugin.VoiceMeeter.Base +{ + public class BaseVoiceMeeterSettingsViewModel : BaseVoiceMeeterSettingsViewModel where T : BaseVoiceMeeterSettings + { + protected new T Settings => (T)base.Settings; + + public BaseVoiceMeeterSettingsViewModel(T settings) : base(settings) + { + } + } + + + + public class BaseVoiceMeeterSettingsViewModel : INotifyPropertyChanged, IDisposable + { + protected readonly BaseVoiceMeeterSettings Settings; + public event PropertyChangedEventHandler PropertyChanged; + public event EventHandler Disposed; + + // ReSharper disable UnusedMember.Global - used by WPF Binding + public IList Versions { get; } + + private VoiceMeeterVersionViewModel selectedVersion; + public VoiceMeeterVersionViewModel SelectedVersion + { + get => selectedVersion; + set + { + if (value == selectedVersion) + return; + + selectedVersion = value; + OnPropertyChanged(); + + Settings.Version = value?.Version ?? RunVoicemeeterParam.None; + } + } + // ReSharper restore UnusedMember.Global + + + public BaseVoiceMeeterSettingsViewModel(BaseVoiceMeeterSettings settings) + { + Settings = settings; + + Versions = new List + { + new VoiceMeeterVersionViewModel(RunVoicemeeterParam.Voicemeeter, "VoiceMeeter Standard"), + new VoiceMeeterVersionViewModel(RunVoicemeeterParam.VoicemeeterBanana, "VoiceMeeter Banana"), + new VoiceMeeterVersionViewModel(RunVoicemeeterParam.VoicemeeterPotato, "VoiceMeeter Potato") + }; + + UpdateSelectedVersion(); + } + + + private void UpdateSelectedVersion() + { + selectedVersion = Versions.SingleOrDefault(v => v.Version == Settings.Version) ?? Versions.First(); + } + + + public virtual bool IsSettingsProperty(string propertyName) + { + // SelectedVersion already trigger a VoiceMeeterVersionChanged for all instances, + // which causes the settings to be stored + return propertyName != nameof(Versions) && propertyName != nameof(SelectedVersion); + } + + + public virtual void VoiceMeeterVersionChanged() + { + UpdateSelectedVersion(); + OnDependantPropertyChanged(nameof(SelectedVersion)); + } + + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + protected virtual void OnDependantPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + + public virtual void Dispose() + { + Disposed?.Invoke(this, EventArgs.Empty); + } + } + + public class VoiceMeeterVersionViewModel + { + public RunVoicemeeterParam Version { get; } + public string DisplayName { get; } + + + public VoiceMeeterVersionViewModel(RunVoicemeeterParam version, string displayName) + { + Version = version; + DisplayName = displayName; + } + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterAction.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterAction.cs new file mode 100644 index 0000000..3e54e47 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterAction.cs @@ -0,0 +1,130 @@ +using System; +using System.Windows.Controls; +using Microsoft.Extensions.Logging; +using Voicemeeter; + +namespace MassiveKnob.Plugin.VoiceMeeter.GetParameter +{ + public class VoiceMeeterGetParameterAction : IMassiveKnobAction + { + public Guid ActionId { get; } = new Guid("4904fffb-aaec-4f19-88bb-49f6ed38c3ec"); + public MassiveKnobActionType ActionType { get; } = MassiveKnobActionType.OutputDigital; + public string Name { get; } = Strings.GetParameterName; + public string Description { get; } = Strings.GetParameterDescription; + + + public IMassiveKnobActionInstance Create(ILogger logger) + { + return new Instance(); + } + + + private class Instance : IMassiveKnobActionInstance, IVoiceMeeterAction + { + private IMassiveKnobActionContext actionContext; + private VoiceMeeterGetParameterActionSettings settings; + private VoiceMeeterGetParameterActionSettingsViewModel viewModel; + private IDisposable parameterChanged; + + + public void Initialize(IMassiveKnobActionContext context) + { + actionContext = context; + settings = context.GetSettings(); + ApplySettings(); + + InstanceRegister.Register(this); + } + + + public void Dispose() + { + InstanceRegister.Unregister(this); + parameterChanged?.Dispose(); + } + + + private void ApplySettings() + { + if (InstanceRegister.Version == RunVoicemeeterParam.None || string.IsNullOrEmpty(settings.Parameter)) + { + parameterChanged?.Dispose(); + parameterChanged = null; + return; + } + + if (parameterChanged == null) + parameterChanged = InstanceRegister.SubscribeToParameterChanges(ParametersChanged); + + ParametersChanged(); + } + + + public UserControl CreateSettingsControl() + { + viewModel = new VoiceMeeterGetParameterActionSettingsViewModel(settings); + viewModel.PropertyChanged += (sender, args) => + { + if (!viewModel.IsSettingsProperty(args.PropertyName)) + return; + + actionContext.SetSettings(settings); + ApplySettings(); + }; + + viewModel.Disposed += (sender, args) => + { + if (sender == viewModel) + viewModel = null; + }; + + return new VoiceMeeterGetParameterActionSettingsView(viewModel); + } + + + public void VoiceMeeterVersionChanged() + { + viewModel?.VoiceMeeterVersionChanged(); + + actionContext.SetSettings(settings); + ApplySettings(); + } + + + private void ParametersChanged() + { + if (InstanceRegister.Version == RunVoicemeeterParam.None || string.IsNullOrEmpty(settings.Parameter)) + return; + + InstanceRegister.InitializeVoicemeeter().ContinueWith(t => + { + bool on; + + if (float.TryParse(settings.Value, out var settingsFloatValue)) + { + try + { + // Even on/off values are returned as floating point "1.000" in text form, + // so try to compare in native format first + var floatValue = global::VoiceMeeter.Remote.GetParameter(settings.Parameter); + on = Math.Abs(settingsFloatValue - floatValue) < 0.001; + } + catch + { + // Fall back to text comparison + var value = global::VoiceMeeter.Remote.GetTextParameter(settings.Parameter); + on = string.Equals(value, settings.Value, StringComparison.InvariantCultureIgnoreCase); + } + } + else + { + var value = global::VoiceMeeter.Remote.GetTextParameter(settings.Parameter); + on = string.Equals(value, settings.Value, StringComparison.InvariantCultureIgnoreCase); + } + + actionContext.SetDigitalOutput(settings.Inverted ? !on : on); + }); + } + } + } +} \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettings.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettings.cs new file mode 100644 index 0000000..54919df --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettings.cs @@ -0,0 +1,11 @@ +using MassiveKnob.Plugin.VoiceMeeter.Base; + +namespace MassiveKnob.Plugin.VoiceMeeter.GetParameter +{ + public class VoiceMeeterGetParameterActionSettings : BaseVoiceMeeterSettings + { + public string Parameter { get; set; } + public string Value { get; set; } + public bool Inverted { get; set; } + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettingsView.xaml b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettingsView.xaml new file mode 100644 index 0000000..fa6b5e0 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettingsView.xaml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettingsView.xaml.cs new file mode 100644 index 0000000..10daa31 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettingsView.xaml.cs @@ -0,0 +1,22 @@ +using System; + +namespace MassiveKnob.Plugin.VoiceMeeter.GetParameter +{ + /// + /// Interaction logic for VoiceMeeterGetParameterActionSettingsView.xaml + /// + public partial class VoiceMeeterGetParameterActionSettingsView : IDisposable + { + public VoiceMeeterGetParameterActionSettingsView(VoiceMeeterGetParameterActionSettingsViewModel viewModel) + { + DataContext = viewModel; + InitializeComponent(); + } + + + public void Dispose() + { + (DataContext as VoiceMeeterGetParameterActionSettingsViewModel)?.Dispose(); + } + } +} \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettingsViewModel.cs new file mode 100644 index 0000000..2959ff0 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettingsViewModel.cs @@ -0,0 +1,54 @@ +using MassiveKnob.Plugin.VoiceMeeter.Base; + +namespace MassiveKnob.Plugin.VoiceMeeter.GetParameter +{ + public class VoiceMeeterGetParameterActionSettingsViewModel : BaseVoiceMeeterSettingsViewModel + { + // ReSharper disable UnusedMember.Global - used by WPF Binding + public string Parameter + { + get => Settings.Parameter; + set + { + if (value == Settings.Parameter) + return; + + Settings.Parameter = value; + OnPropertyChanged(); + } + } + + public string Value + { + get => Settings.Value; + set + { + if (value == Settings.Value) + return; + + Settings.Value = value; + OnPropertyChanged(); + } + } + + public bool Inverted + { + get => Settings.Inverted; + set + { + if (value == Settings.Inverted) + return; + + Settings.Inverted = value; + OnPropertyChanged(); + } + } + // ReSharper restore UnusedMember.Global + + + // ReSharper disable once SuggestBaseTypeForParameter - by design + public VoiceMeeterGetParameterActionSettingsViewModel(VoiceMeeterGetParameterActionSettings settings) : base(settings) + { + } + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/IVoiceMeeterAction.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/IVoiceMeeterAction.cs new file mode 100644 index 0000000..48f7419 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/IVoiceMeeterAction.cs @@ -0,0 +1,7 @@ +namespace MassiveKnob.Plugin.VoiceMeeter +{ + public interface IVoiceMeeterAction + { + void VoiceMeeterVersionChanged(); + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/InstanceRegister.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/InstanceRegister.cs new file mode 100644 index 0000000..8e04e78 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/InstanceRegister.cs @@ -0,0 +1,149 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Voicemeeter; + +namespace MassiveKnob.Plugin.VoiceMeeter +{ + public static class InstanceRegister + { + private static readonly object InstancesLock = new object(); + private static readonly HashSet Instances = new HashSet(); + private static Task initializeTask; + + private static readonly object SubscribersLock = new object(); + private static Parameters parameters; + private static IDisposable parametersSubscriber; + private static readonly List ParameterSubscriberActions = new List(); + + private static IDisposable voicemeeterClient; + + + // The VoiceMeeter Remote only connects to one instance, so all actions need to be in sync + private static RunVoicemeeterParam version; + public static RunVoicemeeterParam Version + { + get => version; + set + { + if (value == version) + return; + + version = value; + Notify(action => action.VoiceMeeterVersionChanged()); + + initializeTask = Task.Run(async () => + { + voicemeeterClient?.Dispose(); + voicemeeterClient = await global::VoiceMeeter.Remote.Initialize(version); + }); + } + } + + + public static Task InitializeVoicemeeter() + { + return initializeTask ?? Task.CompletedTask; + } + + + // For the same reason, we can only subscribe to the parameters once, as they will not be "dirty" + // for other subscribers otherwise + public static IDisposable SubscribeToParameterChanges(Action action) + { + lock (SubscribersLock) + { + if (parameters == null) + { + parameters = new Parameters(); + parametersSubscriber = parameters.Subscribe(x => NotifyParameterSubscribers()); + } + + ParameterSubscriberActions.Add(action); + return new ParametersSubscriber(action); + } + } + + + private static void NotifyParameterSubscribers() + { + Action[] subscribers; + + lock (SubscribersLock) + { + subscribers = ParameterSubscriberActions.ToArray(); + } + + foreach (var subscriber in subscribers) + subscriber(); + } + + + private static void RemoveParameterSubscriber(Action action) + { + lock (SubscribersLock) + { + // ReSharper disable once InvertIf + if (ParameterSubscriberActions.Remove(action) && ParameterSubscriberActions.Count == 0) + { + parametersSubscriber.Dispose(); + parametersSubscriber = null; + + parameters.Dispose(); + parameters = null; + } + } + } + + + public static void Register(IVoiceMeeterAction instance) + { + lock (InstancesLock) + { + Instances.Add(instance); + } + } + + + public static void Unregister(IVoiceMeeterAction instance) + { + lock (InstancesLock) + { + // ReSharper disable once InvertIf + if (Instances.Remove(instance) && Instances.Count == 0) + { + voicemeeterClient?.Dispose(); + voicemeeterClient = null; + } + } + } + + + public static void Notify(Action action) + { + lock (InstancesLock) + { + foreach (var instance in Instances) + action(instance); + } + } + + + private class ParametersSubscriber : IDisposable + { + private readonly Action action; + + + public ParametersSubscriber(Action action) + { + this.action = action; + } + + + public void Dispose() + { + RemoveParameterSubscriber(action); + } + } + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/MassiveKnob.Plugin.VoiceMeeter.csproj b/Windows/MassiveKnob.Plugin.VoiceMeeter/MassiveKnob.Plugin.VoiceMeeter.csproj new file mode 100644 index 0000000..d155968 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/MassiveKnob.Plugin.VoiceMeeter.csproj @@ -0,0 +1,115 @@ + + + + + Debug + AnyCPU + {19533600-D4F6-4BD4-82A3-C0234FDF044C} + Library + Properties + MassiveKnob.Plugin.VoiceMeeter + MassiveKnob.Plugin.VoiceMeeter + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + BaseVoiceMeeterSettingsView.xaml + + + + + + VoiceMeeterGetParameterActionSettingsView.xaml + + + + + + + + + + VoiceMeeterRunMacroActionSettingsView.xaml + + + + Strings.resx + True + True + + + + + PublicResXFileCodeGenerator + Strings.Designer.cs + + + + + {A1298BE4-1D23-416C-8C56-FC9264487A95} + MassiveKnob.Plugin + + + {f35dd8e5-91fa-403e-b6f6-8d2b4ae84198} + Voicemeeter + + + + + Always + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + + + 5.0.0 + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/MassiveKnobPlugin.json b/Windows/MassiveKnob.Plugin.VoiceMeeter/MassiveKnobPlugin.json new file mode 100644 index 0000000..bac5965 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/MassiveKnobPlugin.json @@ -0,0 +1,3 @@ +{ + "EntryAssembly": "MassiveKnob.Plugin.VoiceMeeter.dll" +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/MassiveKnobVoiceMeeterPlugin.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/MassiveKnobVoiceMeeterPlugin.cs new file mode 100644 index 0000000..0158123 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/MassiveKnobVoiceMeeterPlugin.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using MassiveKnob.Plugin.VoiceMeeter.GetParameter; +using MassiveKnob.Plugin.VoiceMeeter.RunMacro; + +namespace MassiveKnob.Plugin.VoiceMeeter +{ + [MassiveKnobPlugin] + public class MassiveKnobVoiceMeeterPlugin : IMassiveKnobActionPlugin + { + public Guid PluginId { get; } = new Guid("cf6634f1-97e3-4a18-a4aa-289b558c0e82"); + public string Name { get; } = Strings.PluginName; + public string Description { get; } = Strings.PluginDescription; + public string Author { get; } = "Mark van Renswoude "; + public string Url { get; } = "https://www.github.com/MvRens/MassiveKnob/"; + + public IEnumerable Actions { get; } = new IMassiveKnobAction[] + { + new VoiceMeeterRunMacroAction(), + new VoiceMeeterGetParameterAction() + }; + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/Properties/AssemblyInfo.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..29339bf --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MassiveKnob.Plugin.VoiceMeeter")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MassiveKnob.Plugin.VoiceMeeter")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("19533600-d4f6-4bd4-82a3-c0234fdf044c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroAction.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroAction.cs new file mode 100644 index 0000000..6755e8f --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroAction.cs @@ -0,0 +1,86 @@ +using System; +using System.Threading.Tasks; +using System.Windows.Controls; +using Microsoft.Extensions.Logging; +using Voicemeeter; + +namespace MassiveKnob.Plugin.VoiceMeeter.RunMacro +{ + public class VoiceMeeterRunMacroAction : IMassiveKnobAction + { + public Guid ActionId { get; } = new Guid("3bf41e96-9418-4a0e-ba5f-580e0b94dcce"); + public MassiveKnobActionType ActionType { get; } = MassiveKnobActionType.InputDigital; + public string Name { get; } = Strings.RunMacroName; + public string Description { get; } = Strings.RunMacroDescription; + + + public IMassiveKnobActionInstance Create(ILogger logger) + { + return new Instance(); + } + + + private class Instance : IMassiveKnobDigitalAction, IVoiceMeeterAction + { + private IMassiveKnobActionContext actionContext; + private VoiceMeeterRunMacroActionSettings settings; + private VoiceMeeterRunMacroActionSettingsViewModel viewModel; + + + public void Initialize(IMassiveKnobActionContext context) + { + actionContext = context; + settings = context.GetSettings(); + + InstanceRegister.Register(this); + } + + + public void Dispose() + { + InstanceRegister.Unregister(this); + } + + + public UserControl CreateSettingsControl() + { + viewModel = new VoiceMeeterRunMacroActionSettingsViewModel(settings); + viewModel.PropertyChanged += (sender, args) => + { + if (!viewModel.IsSettingsProperty(args.PropertyName)) + return; + + actionContext.SetSettings(settings); + }; + + viewModel.Disposed += (sender, args) => + { + if (sender == viewModel) + viewModel = null; + }; + + return new VoiceMeeterRunMacroActionSettingsView(viewModel); + } + + + public async ValueTask DigitalChanged(bool on) + { + if (!on) + return; + + if (settings.Version == RunVoicemeeterParam.None || string.IsNullOrEmpty(settings.Script)) + return; + + await InstanceRegister.InitializeVoicemeeter(); + global::VoiceMeeter.Remote.SetParameters(settings.Script); + } + + + public void VoiceMeeterVersionChanged() + { + viewModel?.VoiceMeeterVersionChanged(); + actionContext.SetSettings(settings); + } + } + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettings.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettings.cs new file mode 100644 index 0000000..81b084e --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettings.cs @@ -0,0 +1,9 @@ +using MassiveKnob.Plugin.VoiceMeeter.Base; + +namespace MassiveKnob.Plugin.VoiceMeeter.RunMacro +{ + public class VoiceMeeterRunMacroActionSettings : BaseVoiceMeeterSettings + { + public string Script { get; set; } + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsView.xaml b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsView.xaml new file mode 100644 index 0000000..ffc0f23 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsView.xaml @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsView.xaml.cs new file mode 100644 index 0000000..2020978 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsView.xaml.cs @@ -0,0 +1,22 @@ +using System; + +namespace MassiveKnob.Plugin.VoiceMeeter.RunMacro +{ + /// + /// Interaction logic for VoiceMeeterRunMacroActionSettingsView.xaml + /// + public partial class VoiceMeeterRunMacroActionSettingsView : IDisposable + { + // ReSharper disable once SuggestBaseTypeForParameter + public VoiceMeeterRunMacroActionSettingsView(VoiceMeeterRunMacroActionSettingsViewModel viewModel) + { + DataContext = viewModel; + InitializeComponent(); + } + + public void Dispose() + { + (DataContext as VoiceMeeterRunMacroActionSettingsViewModel)?.Dispose(); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsViewModel.cs new file mode 100644 index 0000000..90e5cef --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsViewModel.cs @@ -0,0 +1,47 @@ +using System; +using System.Reactive.Linq; +using System.Reactive.Subjects; +using MassiveKnob.Plugin.VoiceMeeter.Base; + +namespace MassiveKnob.Plugin.VoiceMeeter.RunMacro +{ + public class VoiceMeeterRunMacroActionSettingsViewModel : BaseVoiceMeeterSettingsViewModel + { + private readonly Subject throttledScriptChanged = new Subject(); + private readonly IDisposable scriptChangedSubscription; + + // ReSharper disable UnusedMember.Global - used by WPF Binding + public string Script + { + get => Settings.Script; + set + { + if (value == Settings.Script) + return; + + Settings.Script = value; + throttledScriptChanged.OnNext(true); + } + } + // ReSharper restore UnusedMember.Global + + + // ReSharper disable once SuggestBaseTypeForParameter - by design + public VoiceMeeterRunMacroActionSettingsViewModel(VoiceMeeterRunMacroActionSettings settings) : base(settings) + { + scriptChangedSubscription = throttledScriptChanged + .Throttle(TimeSpan.FromSeconds(1)) + .Subscribe(b => + { + OnDependantPropertyChanged(nameof(Script)); + }); + } + + + public override void Dispose() + { + scriptChangedSubscription?.Dispose(); + throttledScriptChanged?.Dispose(); + } + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/Strings.Designer.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/Strings.Designer.cs new file mode 100644 index 0000000..7460a8c --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/Strings.Designer.cs @@ -0,0 +1,172 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace MassiveKnob.Plugin.VoiceMeeter { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Strings() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MassiveKnob.Plugin.VoiceMeeter.Strings", typeof(Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Turns the output on if the specified parameter equals the specified value.. + /// + public static string GetParameterDescription { + get { + return ResourceManager.GetString("GetParameterDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to VoiceMeeter: Get parameter. + /// + public static string GetParameterName { + get { + return ResourceManager.GetString("GetParameterName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Provides actions to run VoiceMeeter macros or check the current state.. + /// + public static string PluginDescription { + get { + return ResourceManager.GetString("PluginDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to VoiceMeeter Remote. + /// + public static string PluginName { + get { + return ResourceManager.GetString("PluginName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Runs a VoiceMeeter macro when the input turns on.. + /// + public static string RunMacroDescription { + get { + return ResourceManager.GetString("RunMacroDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to VoiceMeeter: Run macro. + /// + public static string RunMacroName { + get { + return ResourceManager.GetString("RunMacroName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inverted (on if the parameter does not equal the value). + /// + public static string SettingGetParameterInverted { + get { + return ResourceManager.GetString("SettingGetParameterInverted", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Parameter name. + /// + public static string SettingGetParameterParameter { + get { + return ResourceManager.GetString("SettingGetParameterParameter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Expected value. + /// + public static string SettingGetParameterValue { + get { + return ResourceManager.GetString("SettingGetParameterValue", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Script. + /// + public static string SettingRunMacroScript { + get { + return ResourceManager.GetString("SettingRunMacroScript", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Example: Strip[0].A1 = 1; Strip[0].A2 = 0; + ///Use comma or semicolons to separate commands, or put each command on a separate line. For more information see the VoiceMeeter documentation on Macro Buttons.. + /// + public static string SettingRunMacroScriptExample { + get { + return ResourceManager.GetString("SettingRunMacroScriptExample", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to VoiceMeeter version. + /// + public static string SettingVoiceMeeterVersion { + get { + return ResourceManager.GetString("SettingVoiceMeeterVersion", resourceCulture); + } + } + } +} diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/Strings.resx b/Windows/MassiveKnob.Plugin.VoiceMeeter/Strings.resx new file mode 100644 index 0000000..2b62915 --- /dev/null +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/Strings.resx @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Turns the output on if the specified parameter equals the specified value. + + + VoiceMeeter: Get parameter + + + Provides actions to run VoiceMeeter macros or check the current state. + + + VoiceMeeter Remote + + + Runs a VoiceMeeter macro when the input turns on. + + + VoiceMeeter: Run macro + + + Inverted (on if the parameter does not equal the value) + + + Parameter name + + + Expected value + + + Script + + + Example: Strip[0].A1 = 1; Strip[0].A2 = 0; +Use comma or semicolons to separate commands, or put each command on a separate line. For more information see the VoiceMeeter documentation on Macro Buttons. + + + VoiceMeeter version + + \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin/IMassiveKnobAction.cs b/Windows/MassiveKnob.Plugin/IMassiveKnobAction.cs new file mode 100644 index 0000000..cd245a6 --- /dev/null +++ b/Windows/MassiveKnob.Plugin/IMassiveKnobAction.cs @@ -0,0 +1,64 @@ +using System; +using Microsoft.Extensions.Logging; + +namespace MassiveKnob.Plugin +{ + /// + /// Determines the type of control this action can be assigned to. + /// + [Flags] + public enum MassiveKnobActionType + { + /// + /// Can be assigned to a potentiometer. The action instance must implement IMassiveKnobAnalogAction. + /// + InputAnalog = 1 << 0, + + /// + /// Can be assigned to a button or switch. The action instance must implement IMassiveKnobDigitalAction. + /// + InputDigital = 1 << 1, + + /// + /// Can be assigned to an analog output. + /// + OutputAnalog = 1 << 2, + + /// + /// Can be assigned to a digital output, like an LED or relay. + /// + OutputDigital = 1 << 3 + } + + + /// + /// Provides information about an action which can be assigned to a knob or button. + /// + public interface IMassiveKnobAction + { + /// + /// Unique identifier for the action. + /// + Guid ActionId { get; } + + /// + /// Determines the type of control this action can be assigned to. + /// + MassiveKnobActionType ActionType { get; } + + /// + /// The name of the action as shown in the action list when assigning to a knob or button. + /// + string Name { get; } + + /// + /// A short description of the functionality provided by the action. + /// + string Description { get; } + + /// + /// Called when an action is bound to a knob or button to create an instance of the action. + /// + IMassiveKnobActionInstance Create(ILogger logger); + } +} diff --git a/Windows/MassiveKnob.Plugin/IMassiveKnobActionContext.cs b/Windows/MassiveKnob.Plugin/IMassiveKnobActionContext.cs new file mode 100644 index 0000000..b8154b1 --- /dev/null +++ b/Windows/MassiveKnob.Plugin/IMassiveKnobActionContext.cs @@ -0,0 +1,18 @@ +namespace MassiveKnob.Plugin +{ + /// + public interface IMassiveKnobActionContext : IMassiveKnobContext + { + /// + /// Sets the state of the analog output. Only valid for OutputAnalog action types, will raise an exception otherwise. + /// + /// The analog value in the range of 0 to 100. + void SetAnalogOutput(byte value); + + /// + /// Sets the state of the digital output. Only valid for OutputDigital action types, will raise an exception otherwise. + /// + /// Whether the signal is on or off. + void SetDigitalOutput(bool on); + } +} diff --git a/Windows/MassiveKnob.Plugin/IMassiveKnobActionInstance.cs b/Windows/MassiveKnob.Plugin/IMassiveKnobActionInstance.cs new file mode 100644 index 0000000..9f0945d --- /dev/null +++ b/Windows/MassiveKnob.Plugin/IMassiveKnobActionInstance.cs @@ -0,0 +1,28 @@ +using System; +using System.Windows.Controls; + +namespace MassiveKnob.Plugin +{ + /// + /// Base interface for actions assigned to a knob or button. Implement one of the descendant + /// interfaces to provide input or output. + /// + public interface IMassiveKnobActionInstance : IDisposable + { + /// + /// Called right after this instance is created. + /// + /// + /// Do not perform anything but basic initialization until this method is called, as the action + /// instance will be created temporarily at startup to verify it is correctly implemented! + /// + /// Provides an interface to the Massive Knob settings and device. Can be stored until the action instance is disposed. + void Initialize(IMassiveKnobActionContext context); + + /// + /// Called when an action should display it's settings. Assume the width is variable, height is + /// determined by the UserControl. Return null to indicate there are no settings for this action. + /// + UserControl CreateSettingsControl(); + } +} diff --git a/Windows/MassiveKnob.Plugin/IMassiveKnobActionPlugin.cs b/Windows/MassiveKnob.Plugin/IMassiveKnobActionPlugin.cs new file mode 100644 index 0000000..255defc --- /dev/null +++ b/Windows/MassiveKnob.Plugin/IMassiveKnobActionPlugin.cs @@ -0,0 +1,15 @@ +using System.Collections.Generic; + +namespace MassiveKnob.Plugin +{ + /// + /// Implemented by plugins supporting actions which can be assigned to knobs or buttons. + /// + public interface IMassiveKnobActionPlugin : IMassiveKnobPlugin + { + /// + /// A list of actions supported by the plugin which can be assigned to knobs or buttons. + /// + IEnumerable Actions { get; } + } +} diff --git a/Windows/MassiveKnob.Plugin/IMassiveKnobAnalogAction.cs b/Windows/MassiveKnob.Plugin/IMassiveKnobAnalogAction.cs new file mode 100644 index 0000000..4fe88ff --- /dev/null +++ b/Windows/MassiveKnob.Plugin/IMassiveKnobAnalogAction.cs @@ -0,0 +1,16 @@ +using System.Threading.Tasks; + +namespace MassiveKnob.Plugin +{ + /// + /// Required to be implemented for Action type InputAnalog. Receives an update when a knob's position changes. + /// + public interface IMassiveKnobAnalogAction : IMassiveKnobActionInstance + { + /// + /// Called when an analog input's value changes. + /// + /// The new value. Range is 0 to 100. + ValueTask AnalogChanged(byte value); + } +} diff --git a/Windows/MassiveKnob.Plugin/IMassiveKnobContext.cs b/Windows/MassiveKnob.Plugin/IMassiveKnobContext.cs new file mode 100644 index 0000000..fdecb2a --- /dev/null +++ b/Windows/MassiveKnob.Plugin/IMassiveKnobContext.cs @@ -0,0 +1,22 @@ +namespace MassiveKnob.Plugin +{ + /// + /// Provides an interface to the Massive Knob settings and device. + /// + public interface IMassiveKnobContext + { + /// + /// Reads the settings for the current action instance. + /// + /// The class type to be deserialized using Newtonsoft.Json. + /// The deserialized class if settings were previously stored, or a new instance of the class otherwise. + T GetSettings() where T : class, new(); + + /// + /// Stores the settings for the current action instance. + /// + /// The class type to be serialized using Newtonsoft.Json. + /// The object to be serialized using Newtonsoft.Json. + void SetSettings(T settings) where T : class, new(); + } +} diff --git a/Windows/MassiveKnob.Plugin/IMassiveKnobDevice.cs b/Windows/MassiveKnob.Plugin/IMassiveKnobDevice.cs new file mode 100644 index 0000000..9a8d19d --- /dev/null +++ b/Windows/MassiveKnob.Plugin/IMassiveKnobDevice.cs @@ -0,0 +1,31 @@ +using System; +using Microsoft.Extensions.Logging; + +namespace MassiveKnob.Plugin +{ + /// + /// Contains information about the device supported by this plugin. + /// + public interface IMassiveKnobDevice + { + /// + /// Unique identifier for the device. + /// + Guid DeviceId { get; } + + /// + /// The name of the action as shown in the action list when assigning to a knob or button. + /// + string Name { get; } + + /// + /// A short description of the functionality provided by the action. + /// + string Description { get; } + + /// + /// Called when the device is selected. + /// + IMassiveKnobDeviceInstance Create(ILogger logger); + } +} diff --git a/Windows/MassiveKnob.Plugin/IMassiveKnobDeviceContext.cs b/Windows/MassiveKnob.Plugin/IMassiveKnobDeviceContext.cs new file mode 100644 index 0000000..c170ec6 --- /dev/null +++ b/Windows/MassiveKnob.Plugin/IMassiveKnobDeviceContext.cs @@ -0,0 +1,80 @@ +namespace MassiveKnob.Plugin +{ + /// + public interface IMassiveKnobDeviceContext : IMassiveKnobContext + { + /// + /// Call when an attempt is being made to connect to the device. If the connection is always ready + /// this call can be skipped. + /// + void Connecting(); + + /// + /// Call when the device is connected. This method must be called before AnalogChanged or DigitalChanged. + /// + /// The specs as reported by the device. + void Connected(DeviceSpecs specs); + + /// + /// Call when the connection to the device has been lost. + /// + void Disconnected(); + + /// + /// Call when an analog input's value has changed. + /// + /// The index of the analog input. Must be within bounds of the value reported in Connected. + /// The new value in the range from 0 to 100. + void AnalogChanged(int analogInputIndex, byte value); + + /// + /// Call when a digital input's state has changed. + /// + /// The index of the digital input. Must be within bounds of the value reported in Connected. + /// Whether the input is considered on or off. + void DigitalChanged(int digitalInputIndex, bool on); + } + + + /// + /// Defines the specs as reported by the device. + /// + public readonly struct DeviceSpecs + { + /// + /// The number of analog input controls supported by the device. + /// + public readonly int AnalogInputCount; + + /// + /// The number of digital input controls supported by the device. + /// + public readonly int DigitalInputCount; + + /// + /// The number of analog output controls supported by the device. + /// + public readonly int AnalogOutputCount; + + /// + /// The number of digital output controls supported by the device. + /// + public readonly int DigitalOutputCount; + + + /// + /// Defines the specs as reported by the device. + /// + /// The number of analog input controls supported by the device. + /// The number of digital input controls supported by the device. + /// The number of analog output controls supported by the device. + /// The number of digital output controls supported by the device. + public DeviceSpecs(int analogInputCount, int digitalInputCount, int analogOutputCount, int digitalOutputCount) + { + AnalogInputCount = analogInputCount; + DigitalInputCount = digitalInputCount; + AnalogOutputCount = analogOutputCount; + DigitalOutputCount = digitalOutputCount; + } + } +} diff --git a/Windows/MassiveKnob.Plugin/IMassiveKnobDeviceInstance.cs b/Windows/MassiveKnob.Plugin/IMassiveKnobDeviceInstance.cs new file mode 100644 index 0000000..b736b5c --- /dev/null +++ b/Windows/MassiveKnob.Plugin/IMassiveKnobDeviceInstance.cs @@ -0,0 +1,37 @@ +using System; +using System.Windows.Controls; + +namespace MassiveKnob.Plugin +{ + /// + /// Represents a connection to a Massive Knob device. + /// + public interface IMassiveKnobDeviceInstance : IDisposable + { + /// + /// Called right after this instance is created. + /// + /// Provides an interface to the Massive Knob settings and device. Can be stored until the device instance is disposed. + void Initialize(IMassiveKnobDeviceContext context); + + /// + /// Called when a device should display it's settings. Assume the width is variable, height is + /// determined by the UserControl. Return null to indicate there are no settings for this device. + /// + UserControl CreateSettingsControl(); + + /// + /// Called when the state of an analog output should be changed. + /// + /// The index of the analog output to set. + /// The analog value in the range of 0 to 100. + void SetAnalogOutput(int analogOutputIndex, byte value); + + /// + /// Called when the state of a digital output should be changed. + /// + /// The index of the digital output to set. + /// Whether the signal is on or off. + void SetDigitalOutput(int digitalOutputIndex, bool on); + } +} diff --git a/Windows/MassiveKnob.Plugin/IMassiveKnobDevicePlugin.cs b/Windows/MassiveKnob.Plugin/IMassiveKnobDevicePlugin.cs new file mode 100644 index 0000000..b20c651 --- /dev/null +++ b/Windows/MassiveKnob.Plugin/IMassiveKnobDevicePlugin.cs @@ -0,0 +1,15 @@ +using System.Collections.Generic; + +namespace MassiveKnob.Plugin +{ + /// + /// Implemented by plugins which interface with Massive Knob device. + /// + public interface IMassiveKnobDevicePlugin : IMassiveKnobPlugin + { + /// + /// A list of devices supported by the plugin. + /// + IEnumerable Devices { get; } + } +} diff --git a/Windows/MassiveKnob.Plugin/IMassiveKnobDigitalAction.cs b/Windows/MassiveKnob.Plugin/IMassiveKnobDigitalAction.cs new file mode 100644 index 0000000..2d2998a --- /dev/null +++ b/Windows/MassiveKnob.Plugin/IMassiveKnobDigitalAction.cs @@ -0,0 +1,16 @@ +using System.Threading.Tasks; + +namespace MassiveKnob.Plugin +{ + /// + /// Required to be implemented for Action type InputDigital. Receives an update when a knob's position changes. + /// + public interface IMassiveKnobDigitalAction : IMassiveKnobActionInstance + { + /// + /// Called when a digital input's value changes. + /// + /// The new value. + ValueTask DigitalChanged(bool on); + } +} diff --git a/Windows/MassiveKnob.Plugin/IMassiveKnobPlugin.cs b/Windows/MassiveKnob.Plugin/IMassiveKnobPlugin.cs new file mode 100644 index 0000000..e4a138d --- /dev/null +++ b/Windows/MassiveKnob.Plugin/IMassiveKnobPlugin.cs @@ -0,0 +1,38 @@ +using System; + +// ReSharper disable UnusedMember.Global - public API + +namespace MassiveKnob.Plugin +{ + /// + /// Minimum required interface to implement for writing a Massive Knob plugin. + /// Implement one of the various descendant interfaces to provide more functionality. + /// + public interface IMassiveKnobPlugin + { + /// + /// Unique identifier for the plugin. + /// + Guid PluginId { get; } + + /// + /// The name of the plugin as shown in the plugin list. + /// + string Name { get; } + + /// + /// A short description of the functionality provided by the plugin. + /// + string Description { get; } + + /// + /// The name of the author(s) of the plugin. + /// + string Author { get; } + + /// + /// URL to the plugin's website. + /// + string Url { get; } + } +} diff --git a/Windows/MassiveKnob.Plugin/MassiveKnob.Plugin.csproj b/Windows/MassiveKnob.Plugin/MassiveKnob.Plugin.csproj new file mode 100644 index 0000000..79e90f8 --- /dev/null +++ b/Windows/MassiveKnob.Plugin/MassiveKnob.Plugin.csproj @@ -0,0 +1,72 @@ + + + + + Debug + AnyCPU + {A1298BE4-1D23-416C-8C56-FC9264487A95} + Library + Properties + MassiveKnob.Plugin + MassiveKnob.Plugin + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + bin\Debug\MassiveKnob.Plugin.xml + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + bin\Release\MassiveKnob.Plugin.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5.0.0 + + + 4.5.4 + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin/MassiveKnobPluginAttribute.cs b/Windows/MassiveKnob.Plugin/MassiveKnobPluginAttribute.cs new file mode 100644 index 0000000..17c16b3 --- /dev/null +++ b/Windows/MassiveKnob.Plugin/MassiveKnobPluginAttribute.cs @@ -0,0 +1,17 @@ +using System; +using JetBrains.Annotations; + +// ReSharper disable once UnusedMember.Global - public API + +namespace MassiveKnob.Plugin +{ + /// + /// Attach this attribute to a class to register it as a Massive Knob plugin. + /// The class must implement IMassiveKnobPlugin. + /// + [AttributeUsage(AttributeTargets.Class)] + [MeansImplicitUse] + public class MassiveKnobPluginAttribute : Attribute + { + } +} diff --git a/Windows/MassiveKnob.Plugin/Properties/AssemblyInfo.cs b/Windows/MassiveKnob.Plugin/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..a776320 --- /dev/null +++ b/Windows/MassiveKnob.Plugin/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MassiveKnob.PluginHost")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MassiveKnob.PluginHost")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("a1298be4-1d23-416c-8c56-fc9264487a95")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Windows/MassiveKnob.Plugin/ReSharper/JetBrains.Annotations.cs b/Windows/MassiveKnob.Plugin/ReSharper/JetBrains.Annotations.cs new file mode 100644 index 0000000..2790b2e --- /dev/null +++ b/Windows/MassiveKnob.Plugin/ReSharper/JetBrains.Annotations.cs @@ -0,0 +1,180 @@ +/* + * Stripped version of the ReSharper Annotations source. Enables hinting without referencing the + * ReSharper.Annotations NuGet package. + * + * If you need more annotations, this code was generated using + * ReSharper - Options - Code Annotations - Copy C# implementation to clipboard + */ + + +/* MIT License + +Copyright (c) 2016 JetBrains http://www.jetbrains.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. */ + +using System; +// ReSharper disable InheritdocConsiderUsage + +#pragma warning disable 1591 +// ReSharper disable UnusedMember.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable IntroduceOptionalParameters.Global +// ReSharper disable MemberCanBeProtected.Global +// ReSharper disable InconsistentNaming + +// ReSharper disable once CheckNamespace +namespace JetBrains.Annotations +{ + /// + /// Indicates that the value of the marked element could be null sometimes, + /// so the check for null is necessary before its usage. + /// + /// + /// [CanBeNull] object Test() => null; + /// + /// void UseTest() { + /// var p = Test(); + /// var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + /// } + /// + [AttributeUsage( + AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | + AttributeTargets.Delegate | AttributeTargets.Field | AttributeTargets.Event | + AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.GenericParameter)] + internal sealed class CanBeNullAttribute : Attribute { } + + /// + /// Indicates that the value of the marked element could never be null. + /// + /// + /// [NotNull] object Foo() { + /// return null; // Warning: Possible 'null' assignment + /// } + /// + [AttributeUsage( + AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property | + AttributeTargets.Delegate | AttributeTargets.Field | AttributeTargets.Event | + AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.GenericParameter)] + internal sealed class NotNullAttribute : Attribute { } + + /// + /// Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library), + /// so this symbol will not be marked as unused (as well as by other usage inspections). + /// + [AttributeUsage(AttributeTargets.All)] + internal sealed class UsedImplicitlyAttribute : Attribute + { + public UsedImplicitlyAttribute() + : this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default) { } + + public UsedImplicitlyAttribute(ImplicitUseKindFlags useKindFlags) + : this(useKindFlags, ImplicitUseTargetFlags.Default) { } + + public UsedImplicitlyAttribute(ImplicitUseTargetFlags targetFlags) + : this(ImplicitUseKindFlags.Default, targetFlags) { } + + public UsedImplicitlyAttribute(ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags) + { + UseKindFlags = useKindFlags; + TargetFlags = targetFlags; + } + + public ImplicitUseKindFlags UseKindFlags { get; } + + public ImplicitUseTargetFlags TargetFlags { get; } + } + + /// + /// Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes + /// as unused (as well as by other usage inspections) + /// + [AttributeUsage(AttributeTargets.Class | AttributeTargets.GenericParameter)] + internal sealed class MeansImplicitUseAttribute : Attribute + { + public MeansImplicitUseAttribute() + : this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default) { } + + public MeansImplicitUseAttribute(ImplicitUseKindFlags useKindFlags) + : this(useKindFlags, ImplicitUseTargetFlags.Default) { } + + public MeansImplicitUseAttribute(ImplicitUseTargetFlags targetFlags) + : this(ImplicitUseKindFlags.Default, targetFlags) { } + + public MeansImplicitUseAttribute(ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags) + { + UseKindFlags = useKindFlags; + TargetFlags = targetFlags; + } + + [UsedImplicitly] public ImplicitUseKindFlags UseKindFlags { get; private set; } + + [UsedImplicitly] public ImplicitUseTargetFlags TargetFlags { get; private set; } + } + + [Flags] + internal enum ImplicitUseKindFlags + { + Default = Access | Assign | InstantiatedWithFixedConstructorSignature, + /// Only entity marked with attribute considered used. + Access = 1, + /// Indicates implicit assignment to a member. + Assign = 2, + /// + /// Indicates implicit instantiation of a type with fixed constructor signature. + /// That means any unused constructor parameters won't be reported as such. + /// + InstantiatedWithFixedConstructorSignature = 4, + /// Indicates implicit instantiation of a type. + InstantiatedNoFixedConstructorSignature = 8 + } + + /// + /// Specify what is considered used implicitly when marked + /// with or . + /// + [Flags] + internal enum ImplicitUseTargetFlags + { + Default = Itself, + Itself = 1, + /// Members of entity marked with attribute are considered used. + Members = 2, + /// Entity marked with attribute and all its members considered used. + WithMembers = Itself | Members + } + + /// + /// This attribute is intended to mark publicly available API + /// which should not be removed and so is treated as used. + /// + [MeansImplicitUse(ImplicitUseTargetFlags.WithMembers)] + internal sealed class PublicAPIAttribute : Attribute + { + public PublicAPIAttribute() { } + + public PublicAPIAttribute([NotNull] string comment) + { + Comment = comment; + } + + [CanBeNull] public string Comment { get; } + } +} \ No newline at end of file diff --git a/Windows/MassiveKnob.sln b/Windows/MassiveKnob.sln new file mode 100644 index 0000000..c19297a --- /dev/null +++ b/Windows/MassiveKnob.sln @@ -0,0 +1,73 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31005.135 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MassiveKnob", "MassiveKnob\MassiveKnob.csproj", "{73130EC7-49B3-40AD-8367-1095C0F41905}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MassiveKnob.Plugin", "MassiveKnob.Plugin\MassiveKnob.Plugin.csproj", "{A1298BE4-1D23-416C-8C56-FC9264487A95}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MassiveKnob.Plugin.CoreAudio", "MassiveKnob.Plugin.CoreAudio\MassiveKnob.Plugin.CoreAudio.csproj", "{5BD5E2F2-9923-4F74-AC69-ACDA0B847937}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MassiveKnob.Plugin.EmulatorDevice", "MassiveKnob.Plugin.EmulatorDevice\MassiveKnob.Plugin.EmulatorDevice.csproj", "{674DE974-B134-4DB5-BFAF-7BC3D05E16DE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MassiveKnob.Plugin.SerialDevice", "MassiveKnob.Plugin.SerialDevice\MassiveKnob.Plugin.SerialDevice.csproj", "{FC0D22D8-5F1B-4D85-8269-FA4837CDE3A2}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MIN", "min.NET\MIN\MIN.csproj", "{FC1C9CB5-8B71-4039-9636-90E578A71061}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MIN.SerialPort", "min.NET\MIN.SerialPort\MIN.SerialPort.csproj", "{DB8819EB-D2B7-4AAE-A699-BD200F2C113A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MassiveKnob.Plugin.VoiceMeeter", "MassiveKnob.Plugin.VoiceMeeter\MassiveKnob.Plugin.VoiceMeeter.csproj", "{19533600-D4F6-4BD4-82A3-C0234FDF044C}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Voicemeeter", "VoicemeeterRemote\Voicemeeter\Voicemeeter.csproj", "{F35DD8E5-91FA-403E-B6F6-8D2B4AE84198}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {73130EC7-49B3-40AD-8367-1095C0F41905}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {73130EC7-49B3-40AD-8367-1095C0F41905}.Debug|Any CPU.Build.0 = Debug|Any CPU + {73130EC7-49B3-40AD-8367-1095C0F41905}.Release|Any CPU.ActiveCfg = Release|Any CPU + {73130EC7-49B3-40AD-8367-1095C0F41905}.Release|Any CPU.Build.0 = Release|Any CPU + {A1298BE4-1D23-416C-8C56-FC9264487A95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A1298BE4-1D23-416C-8C56-FC9264487A95}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A1298BE4-1D23-416C-8C56-FC9264487A95}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A1298BE4-1D23-416C-8C56-FC9264487A95}.Release|Any CPU.Build.0 = Release|Any CPU + {5BD5E2F2-9923-4F74-AC69-ACDA0B847937}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5BD5E2F2-9923-4F74-AC69-ACDA0B847937}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5BD5E2F2-9923-4F74-AC69-ACDA0B847937}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5BD5E2F2-9923-4F74-AC69-ACDA0B847937}.Release|Any CPU.Build.0 = Release|Any CPU + {674DE974-B134-4DB5-BFAF-7BC3D05E16DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {674DE974-B134-4DB5-BFAF-7BC3D05E16DE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {674DE974-B134-4DB5-BFAF-7BC3D05E16DE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {674DE974-B134-4DB5-BFAF-7BC3D05E16DE}.Release|Any CPU.Build.0 = Release|Any CPU + {FC0D22D8-5F1B-4D85-8269-FA4837CDE3A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FC0D22D8-5F1B-4D85-8269-FA4837CDE3A2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FC0D22D8-5F1B-4D85-8269-FA4837CDE3A2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FC0D22D8-5F1B-4D85-8269-FA4837CDE3A2}.Release|Any CPU.Build.0 = Release|Any CPU + {FC1C9CB5-8B71-4039-9636-90E578A71061}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FC1C9CB5-8B71-4039-9636-90E578A71061}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FC1C9CB5-8B71-4039-9636-90E578A71061}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FC1C9CB5-8B71-4039-9636-90E578A71061}.Release|Any CPU.Build.0 = Release|Any CPU + {DB8819EB-D2B7-4AAE-A699-BD200F2C113A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DB8819EB-D2B7-4AAE-A699-BD200F2C113A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DB8819EB-D2B7-4AAE-A699-BD200F2C113A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DB8819EB-D2B7-4AAE-A699-BD200F2C113A}.Release|Any CPU.Build.0 = Release|Any CPU + {19533600-D4F6-4BD4-82A3-C0234FDF044C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {19533600-D4F6-4BD4-82A3-C0234FDF044C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {19533600-D4F6-4BD4-82A3-C0234FDF044C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {19533600-D4F6-4BD4-82A3-C0234FDF044C}.Release|Any CPU.Build.0 = Release|Any CPU + {F35DD8E5-91FA-403E-B6F6-8D2B4AE84198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F35DD8E5-91FA-403E-B6F6-8D2B4AE84198}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F35DD8E5-91FA-403E-B6F6-8D2B4AE84198}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F35DD8E5-91FA-403E-B6F6-8D2B4AE84198}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {3063D7FD-6457-45B0-9ED8-620BDF605773} + EndGlobalSection +EndGlobal diff --git a/Windows/MassiveKnob.sln.DotSettings b/Windows/MassiveKnob.sln.DotSettings new file mode 100644 index 0000000..4e657d2 --- /dev/null +++ b/Windows/MassiveKnob.sln.DotSettings @@ -0,0 +1,9 @@ + + EOF + MIN + OSD + SOF + UI + OSD + False + True \ No newline at end of file diff --git a/Windows/MassiveKnob/App.config b/Windows/MassiveKnob/App.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/Windows/MassiveKnob/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob/App.xaml b/Windows/MassiveKnob/App.xaml new file mode 100644 index 0000000..5a65864 --- /dev/null +++ b/Windows/MassiveKnob/App.xaml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob/App.xaml.cs b/Windows/MassiveKnob/App.xaml.cs new file mode 100644 index 0000000..b0b699b --- /dev/null +++ b/Windows/MassiveKnob/App.xaml.cs @@ -0,0 +1,78 @@ +using System.Diagnostics; +using System.Windows; +using Hardcodet.Wpf.TaskbarNotification; +using MassiveKnob.View; +using SimpleInjector; + +namespace MassiveKnob +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App + { + private readonly Container container; + private TaskbarIcon notifyIcon; + + private SettingsWindow settingsWindow; + + + public App(Container container) + { + this.container = container; + InitializeComponent(); + } + + + protected override void OnStartup(StartupEventArgs e) + { + base.OnStartup(e); + + notifyIcon = (TaskbarIcon)FindResource("NotifyIcon"); + Debug.Assert(notifyIcon != null, nameof(notifyIcon) + " != null"); + } + + + protected override void OnExit(ExitEventArgs e) + { + notifyIcon?.Dispose(); + + base.OnExit(e); + } + + + + private void ShowSettings() + { + if (settingsWindow == null) + { + settingsWindow = container.GetInstance(); + settingsWindow.Closed += (sender, args) => { settingsWindow = null; }; + settingsWindow.Show(); + } + else + { + settingsWindow.WindowState = WindowState.Normal; + settingsWindow.Activate(); + } + } + + + private void NotifyIconMenuSettingsClick(object sender, RoutedEventArgs e) + { + ShowSettings(); + } + + + private void NotifyIconTrayMouseDoubleClick(object sender, RoutedEventArgs e) + { + ShowSettings(); + } + + + private void NotifyIconMenuQuitClick(object sender, RoutedEventArgs e) + { + Shutdown(); + } + } +} \ No newline at end of file diff --git a/Windows/MassiveKnob/Core/IMassiveKnobOrchestrator.cs b/Windows/MassiveKnob/Core/IMassiveKnobOrchestrator.cs new file mode 100644 index 0000000..670bd57 --- /dev/null +++ b/Windows/MassiveKnob/Core/IMassiveKnobOrchestrator.cs @@ -0,0 +1,63 @@ +using System; +using MassiveKnob.Plugin; +using MassiveKnob.Settings; + +namespace MassiveKnob.Core +{ + public interface IMassiveKnobOrchestrator : IDisposable + { + MassiveKnobDeviceInfo ActiveDevice { get; } + IObservable ActiveDeviceSubject { get; } + + MassiveKnobDeviceInfo SetActiveDevice(IMassiveKnobDevice device); + + MassiveKnobDeviceStatus DeviceStatus { get; } + IObservable DeviceStatusSubject { get; } + + + MassiveKnobActionInfo GetAction(MassiveKnobActionType actionType, int index); + MassiveKnobActionInfo SetAction(MassiveKnobActionType actionType, int index, IMassiveKnobAction action); + + MassiveKnobSettings.DigitalToAnalogSettings GetDigitalToAnalogSettings(int analogOutputIndex); + void UpdateDigitalToAnalogSettings(int analogOutputIndex, Action applyChanges); + + MassiveKnobSettings GetSettings(); + void UpdateSettings(Action applyChanges); + } + + + public enum MassiveKnobDeviceStatus + { + Disconnected, + Connecting, + Connected + } + + + public class MassiveKnobDeviceInfo + { + public IMassiveKnobDevice Info { get; } + public IMassiveKnobDeviceInstance Instance { get; } + public DeviceSpecs? Specs { get; } + + public MassiveKnobDeviceInfo(IMassiveKnobDevice info, IMassiveKnobDeviceInstance instance, DeviceSpecs? specs) + { + Info = info; + Instance = instance; + Specs = specs; + } + } + + + public class MassiveKnobActionInfo + { + public IMassiveKnobAction Info { get; } + public IMassiveKnobActionInstance Instance { get; } + + public MassiveKnobActionInfo(IMassiveKnobAction info, IMassiveKnobActionInstance instance) + { + Info = info; + Instance = instance; + } + } +} diff --git a/Windows/MassiveKnob/Core/IPluginManager.cs b/Windows/MassiveKnob/Core/IPluginManager.cs new file mode 100644 index 0000000..bbc8710 --- /dev/null +++ b/Windows/MassiveKnob/Core/IPluginManager.cs @@ -0,0 +1,11 @@ +using System.Collections.Generic; +using MassiveKnob.Plugin; + +namespace MassiveKnob.Core +{ + public interface IPluginManager + { + IEnumerable GetDevicePlugins(); + IEnumerable GetActionPlugins(); + } +} diff --git a/Windows/MassiveKnob/Core/MassiveKnobOrchestrator.cs b/Windows/MassiveKnob/Core/MassiveKnobOrchestrator.cs new file mode 100644 index 0000000..d1c28e9 --- /dev/null +++ b/Windows/MassiveKnob/Core/MassiveKnobOrchestrator.cs @@ -0,0 +1,780 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reactive.Subjects; +using MassiveKnob.Helpers; +using MassiveKnob.Plugin; +using MassiveKnob.Settings; +using Newtonsoft.Json.Linq; +using Serilog.Extensions.Logging; +using ILogger = Serilog.ILogger; + +namespace MassiveKnob.Core +{ + public class MassiveKnobOrchestrator : IMassiveKnobOrchestrator + { + private readonly IPluginManager pluginManager; + private readonly ILogger logger; + + private readonly object settingsLock = new object(); + private readonly MassiveKnobSettings settings; + private readonly SerialQueue flushSettingsQueue = new SerialQueue(); + + private MassiveKnobDeviceInfo activeDevice; + private readonly Subject activeDeviceInfoSubject = new Subject(); + private readonly Subject deviceStatusSubject = new Subject(); + private IMassiveKnobDeviceContext activeDeviceContext; + + private readonly List analogInputs = new List(); + private readonly List digitalInputs = new List(); + private readonly List analogOutputs = new List(); + private readonly List digitalOutputs = new List(); + + private readonly Dictionary analogOutputValues = new Dictionary(); + private readonly Dictionary digitalOutputValues = new Dictionary(); + private readonly Dictionary digitalToAnalogOutputValues = new Dictionary(); + + + public MassiveKnobDeviceInfo ActiveDevice + { + get => activeDevice; + private set + { + if (value == activeDevice) + return; + + activeDevice = value; + activeDeviceInfoSubject.OnNext(activeDevice); + } + } + + public IObservable ActiveDeviceSubject => activeDeviceInfoSubject; + + public MassiveKnobDeviceStatus DeviceStatus { get; private set; } = MassiveKnobDeviceStatus.Disconnected; + public IObservable DeviceStatusSubject => deviceStatusSubject; + + + public MassiveKnobOrchestrator(IPluginManager pluginManager, ILogger logger, MassiveKnobSettings settings) + { + this.pluginManager = pluginManager; + this.logger = logger; + this.settings = settings; + } + + + public void Dispose() + { + activeDeviceContext = null; + activeDevice?.Instance?.Dispose(); + + void DisposeMappings(ICollection mappings) + { + foreach (var mapping in mappings) + mapping?.ActionInfo.Instance?.Dispose(); + + mappings.Clear(); + } + + + lock (settingsLock) + { + DisposeMappings(analogInputs); + DisposeMappings(digitalInputs); + DisposeMappings(analogOutputs); + DisposeMappings(digitalOutputs); + } + + activeDeviceInfoSubject?.Dispose(); + } + + + public void Load() + { + lock (settingsLock) + { + if (settings.Device == null) + return; + + var allDevices = pluginManager.GetDevicePlugins().SelectMany(dp => dp.Devices); + var device = allDevices.FirstOrDefault(d => d.DeviceId == settings.Device.DeviceId); + + InternalSetActiveDevice(device, false); + } + } + + + MassiveKnobDeviceInfo IMassiveKnobOrchestrator.ActiveDevice => activeDevice; + + public MassiveKnobDeviceInfo SetActiveDevice(IMassiveKnobDevice device) + { + return InternalSetActiveDevice(device, true); + } + + + public MassiveKnobActionInfo GetAction(MassiveKnobActionType actionType, int index) + { + lock (settingsLock) + { + var list = GetActionMappingList(actionType); + return index >= list.Count ? null : list[index]?.ActionInfo; + } + } + + + public MassiveKnobActionInfo SetAction(MassiveKnobActionType actionType, int index, IMassiveKnobAction action) + { + List list; + + lock (settingsLock) + { + list = GetActionMappingList(actionType); + if (index >= list.Count) + return null; + + if (list[index]?.ActionInfo.Info == action) + return list[index]?.ActionInfo; + + list[index]?.ActionInfo.Instance?.Dispose(); + + var settingsList = GetActionSettingsList(actionType); + while (index >= settingsList.Count) + settingsList.Add(null); + + settingsList[index] = action == null ? null : new MassiveKnobSettings.ActionSettings + { + ActionId = action.ActionId, + Settings = null + }; + } + + FlushSettings(); + + + Action initializeAfterRegistration = null; + var mapping = CreateActionMapping(actionType, action, index, (actionInstance, actionContext) => + { + initializeAfterRegistration = () => actionInstance.Initialize(actionContext); + }); + + lock (settingsLock) + { + list[index] = mapping; + } + + initializeAfterRegistration?.Invoke(); + + return mapping?.ActionInfo; + } + + + public MassiveKnobSettings.DigitalToAnalogSettings GetDigitalToAnalogSettings(int analogOutputIndex) + { + lock (settingsLock) + { + var settingsList = GetActionSettingsList(MassiveKnobActionType.OutputAnalog); + if (analogOutputIndex >= settingsList.Count) + return new MassiveKnobSettings.DigitalToAnalogSettings(); + + return settingsList[analogOutputIndex]?.DigitalToAnalog?.Clone() ?? new MassiveKnobSettings.DigitalToAnalogSettings(); + } + } + + + public void UpdateDigitalToAnalogSettings(int analogOutputIndex, Action applyChanges) + { + lock (settingsLock) + { + var settingsList = GetActionSettingsList(MassiveKnobActionType.OutputAnalog); + while (analogOutputIndex >= settingsList.Count) + settingsList.Add(null); + + if (settingsList[analogOutputIndex] == null) + settingsList[analogOutputIndex] = new MassiveKnobSettings.ActionSettings(); + + if (settingsList[analogOutputIndex].DigitalToAnalog == null) + settingsList[analogOutputIndex].DigitalToAnalog = new MassiveKnobSettings.DigitalToAnalogSettings(); + + applyChanges(settingsList[analogOutputIndex].DigitalToAnalog); + } + + FlushSettings(); + + if (digitalToAnalogOutputValues.TryGetValue(analogOutputIndex, out var on)) + SetDigitalToAnalogOutput(null, analogOutputIndex, on, true); + } + + + public MassiveKnobSettings GetSettings() + { + lock (settingsLock) + { + return settings.Clone(); + } + } + + + public void UpdateSettings(Action applyChanges) + { + lock (settingsLock) + { + applyChanges(settings); + } + + FlushSettings(); + } + + + private MassiveKnobDeviceInfo InternalSetActiveDevice(IMassiveKnobDevice device, bool resetSettings) + { + if (device == ActiveDevice?.Info) + return ActiveDevice; + + + if (resetSettings) + { + lock (settingsLock) + { + if (device == null) + settings.Device = null; + else + { + settings.Device = new MassiveKnobSettings.DeviceSettings + { + DeviceId = device.DeviceId, + Settings = null + }; + } + } + + FlushSettings(); + } + + ActiveDevice?.Instance.Dispose(); + SetDeviceStatus(null, MassiveKnobDeviceStatus.Disconnected); + + // TODO (must have) exception handling! + if (device != null) + { + var instance = device.Create(new SerilogLoggerProvider(logger.ForContext("Context", new { Device = device.DeviceId })).CreateLogger(null)); + ActiveDevice = new MassiveKnobDeviceInfo(device, instance, null); + + activeDeviceContext = new DeviceContext(this, device); + instance.Initialize(activeDeviceContext); + } + else + { + ActiveDevice = null; + activeDeviceContext = null; + } + + return ActiveDevice; + } + + + protected T GetDeviceSettings(IMassiveKnobDeviceContext context) where T : class, new() + { + if (context != activeDeviceContext) + throw new InvalidOperationException("Caller must be the active device to retrieve the settings"); + + lock (settingsLock) + { + return settings.Device.Settings?.ToObject() ?? new T(); + } + } + + + protected void SetDeviceSettings(IMassiveKnobDeviceContext context, IMassiveKnobDevice device, T deviceSettings) where T : class, new() + { + if (context != activeDeviceContext) + throw new InvalidOperationException("Caller must be the active device to update the settings"); + + lock (settingsLock) + { + if (settings.Device == null) + settings.Device = new MassiveKnobSettings.DeviceSettings + { + DeviceId = device.DeviceId + }; + + settings.Device.Settings = JObject.FromObject(deviceSettings); + } + + FlushSettings(); + } + + + protected void SetDeviceStatus(IMassiveKnobDeviceContext context, MassiveKnobDeviceStatus status) + { + if (context != null && context != activeDeviceContext) + return; + + lock (settingsLock) + { + if (status == DeviceStatus) + return; + + DeviceStatus = status; + } + + deviceStatusSubject.OnNext(status); + } + + + protected T GetActionSettings(IMassiveKnobActionContext context, MassiveKnobActionType actionType, IMassiveKnobAction action, int index) where T : class, new() + { + lock (settingsLock) + { + var list = GetActionMappingList(actionType); + if (index >= list.Count) + return new T(); + + if (list[index]?.Context != context) + throw new InvalidOperationException("Caller must be the active action to retrieve the settings"); + + var settingsList = GetActionSettingsList(actionType); + if (index >= settingsList.Count) + return new T(); + + return settingsList[index].Settings?.ToObject() ?? new T(); + } + } + + + protected void SetActionSettings(IMassiveKnobActionContext context, MassiveKnobActionType actionType, IMassiveKnobAction action, int index, T actionSettings) where T : class, new() + { + lock (settingsLock) + { + var list = GetActionMappingList(actionType); + if (index >= list.Count) + return; + + if (list[index]?.Context != context) + throw new InvalidOperationException("Caller must be the active action to retrieve the settings"); + + var settingsList = GetActionSettingsList(actionType); + + while (index >= settingsList.Count) + settingsList.Add(null); + + if (settingsList[index] == null) + settingsList[index] = new MassiveKnobSettings.ActionSettings + { + ActionId = action.ActionId + }; + + settingsList[index].Settings = JObject.FromObject(actionSettings); + } + + FlushSettings(); + } + + + protected void AnalogChanged(IMassiveKnobDeviceContext context, int analogInputIndex, byte value) + { + if (context != activeDeviceContext) + return; + + IMassiveKnobAnalogAction analogAction; + + lock (settingsLock) + { + var mapping = GetActionMappingList(MassiveKnobActionType.InputAnalog); + if (mapping == null || analogInputIndex >= mapping.Count || mapping[analogInputIndex] == null) + return; + + + analogAction = mapping[analogInputIndex].ActionInfo.Instance as IMassiveKnobAnalogAction; + } + + analogAction?.AnalogChanged(value); + } + + + protected void DigitalChanged(IMassiveKnobDeviceContext context, int digitalInputIndex, bool on) + { + if (context != activeDeviceContext) + return; + + IMassiveKnobDigitalAction digitalAction; + + lock (settingsLock) + { + var mapping = GetActionMappingList(MassiveKnobActionType.InputDigital); + if (mapping == null || digitalInputIndex >= mapping.Count || mapping[digitalInputIndex] == null) + return; + + digitalAction = mapping[digitalInputIndex].ActionInfo.Instance as IMassiveKnobDigitalAction; + } + + digitalAction?.DigitalChanged(on); + } + + + public void SetAnalogOutput(IMassiveKnobActionContext context, int index, byte value, bool force) + { + IMassiveKnobDeviceInstance deviceInstance; + + lock (settingsLock) + { + if (!force && analogOutputValues.TryGetValue(index, out var currentValue) && currentValue == value) + return; + + analogOutputValues[index] = value; + + + if (activeDevice == null) + return; + + var list = GetActionMappingList(MassiveKnobActionType.OutputAnalog); + if (index >= list.Count) + return; + + if (context != null && list[index]?.Context != context) + return; + + deviceInstance = activeDevice.Instance; + } + + deviceInstance.SetAnalogOutput(index, value); + } + + + public void SetDigitalToAnalogOutput(IMassiveKnobActionContext context, int index, bool on, bool force) + { + IMassiveKnobDeviceInstance deviceInstance; + MassiveKnobSettings.DigitalToAnalogSettings digitalToAnalogSettings = null; + + lock (settingsLock) + { + if (!force && digitalToAnalogOutputValues.TryGetValue(index, out var currentValue) && currentValue == on) + return; + + digitalToAnalogOutputValues[index] = on; + + + if (activeDevice == null) + return; + + var list = GetActionMappingList(MassiveKnobActionType.OutputAnalog); + if (index >= list.Count) + return; + + if (context != null && list[index]?.Context != context) + return; + + var settingsList = GetActionSettingsList(MassiveKnobActionType.OutputAnalog); + if (index < settingsList.Count) + digitalToAnalogSettings = settingsList[index].DigitalToAnalog; + + deviceInstance = activeDevice.Instance; + } + + deviceInstance.SetAnalogOutput(index, on + ? digitalToAnalogSettings?.OnValue ?? 100 + : digitalToAnalogSettings?.OffValue ?? 0); + } + + + public void SetDigitalOutput(IMassiveKnobActionContext context, int index, bool on, bool force) + { + IMassiveKnobDeviceInstance deviceInstance; + + lock (settingsLock) + { + if (!force && digitalOutputValues.TryGetValue(index, out var currentValue) && currentValue == on) + return; + + digitalOutputValues[index] = on; + + + if (activeDevice == null) + return; + + var list = GetActionMappingList(MassiveKnobActionType.OutputDigital); + if (index >= list.Count) + return; + + if (context != null && list[index]?.Context != context) + return; + + deviceInstance = activeDevice.Instance; + } + + deviceInstance.SetDigitalOutput(index, on); + } + + + private List GetActionMappingList(MassiveKnobActionType actionType) + { + switch (actionType) + { + case MassiveKnobActionType.InputAnalog: + return analogInputs; + + case MassiveKnobActionType.InputDigital: + return digitalInputs; + + case MassiveKnobActionType.OutputAnalog: + return analogOutputs; + + case MassiveKnobActionType.OutputDigital: + return digitalOutputs; + + default: + throw new ArgumentOutOfRangeException(nameof(actionType), actionType, null); + } + } + + + private List GetActionSettingsList(MassiveKnobActionType actionType) + { + switch (actionType) + { + case MassiveKnobActionType.InputAnalog: + return settings.AnalogInput; + + case MassiveKnobActionType.InputDigital: + return settings.DigitalInput; + + case MassiveKnobActionType.OutputAnalog: + return settings.AnalogOutput; + + case MassiveKnobActionType.OutputDigital: + return settings.DigitalOutput; + + default: + throw new ArgumentOutOfRangeException(nameof(actionType), actionType, null); + } + } + + private void FlushSettings() + { + MassiveKnobSettings massiveKnobSettingsSnapshot; + + lock (settingsLock) + { + massiveKnobSettingsSnapshot = settings.Clone(); + } + + flushSettingsQueue.Enqueue(async () => + { + await MassiveKnobSettingsJsonSerializer.Serialize(massiveKnobSettingsSnapshot); + }); + } + + + protected void UpdateActiveDeviceSpecs(IMassiveKnobDeviceContext context, DeviceSpecs specs) + { + if (context != activeDeviceContext) + return; + + + var delayedInitializeActions = new List(); + void DelayedInitialize(IMassiveKnobActionInstance instance, IMassiveKnobActionContext instanceContext) + { + delayedInitializeActions.Add(() => + { + instance.Initialize(instanceContext); + }); + } + + lock (settingsLock) + { + UpdateMapping(analogInputs, specs.AnalogInputCount, MassiveKnobActionType.InputAnalog, settings.AnalogInput, DelayedInitialize); + UpdateMapping(digitalInputs, specs.DigitalInputCount, MassiveKnobActionType.InputDigital, settings.DigitalInput, DelayedInitialize); + UpdateMapping(analogOutputs, specs.AnalogOutputCount, MassiveKnobActionType.OutputAnalog, settings.AnalogOutput, DelayedInitialize); + UpdateMapping(digitalOutputs, specs.DigitalOutputCount, MassiveKnobActionType.OutputDigital, settings.DigitalOutput, DelayedInitialize); + } + + foreach (var delayedInitializeAction in delayedInitializeActions) + delayedInitializeAction(); + + + ActiveDevice = new MassiveKnobDeviceInfo( + ActiveDevice.Info, + ActiveDevice.Instance, + specs); + + + // Send out all cached values to initialize the device's outputs + foreach (var pair in analogOutputValues.Where(pair => pair.Key < specs.AnalogOutputCount)) + SetAnalogOutput(null, pair.Key, pair.Value, true); + + foreach (var pair in digitalOutputValues.Where(pair => pair.Key < specs.DigitalOutputCount)) + SetDigitalOutput(null, pair.Key, pair.Value, true); + + foreach (var pair in digitalToAnalogOutputValues.Where(pair => pair.Key < specs.AnalogOutputCount)) + SetDigitalToAnalogOutput(null, pair.Key, pair.Value, true); + } + + + private void UpdateMapping(List mapping, int newCount, MassiveKnobActionType assignedActionType, List actionSettings, Action initializeOutsideLock) + { + if (mapping.Count > newCount) + { + for (var actionIndex = newCount; actionIndex < mapping.Count; actionIndex++) + mapping[actionIndex]?.ActionInfo.Instance?.Dispose(); + + mapping.RemoveRange(newCount, mapping.Count - newCount); + } + + if (actionSettings.Count > newCount) + actionSettings.RemoveRange(newCount, actionSettings.Count - newCount); + + + if (mapping.Count >= newCount) return; + { + var allActions = pluginManager.GetActionPlugins().SelectMany(ap => ap.Actions).ToArray(); + + for (var actionIndex = mapping.Count; actionIndex < newCount; actionIndex++) + { + if (actionIndex < actionSettings.Count && actionSettings[actionIndex] != null) + { + var action = allActions.FirstOrDefault(d => d.ActionId == actionSettings[actionIndex].ActionId); + mapping.Add(CreateActionMapping(assignedActionType, action, actionIndex, initializeOutsideLock)); + } + else + mapping.Add(null); + } + } + } + + + private ActionMapping CreateActionMapping(MassiveKnobActionType assignedActionType, IMassiveKnobAction action, int index, Action initialize) + { + if (action == null) + return null; + + var actionLogger = logger.ForContext("Context", + new + { + Action = action.ActionId, + ActionType = assignedActionType, + Index = index + }); + + var instance = action.Create(new SerilogLoggerProvider(actionLogger).CreateLogger(null)); + var context = new ActionContext(this, action, index, assignedActionType); + + var mapping = new ActionMapping(new MassiveKnobActionInfo(action, instance), context); + initialize(instance, context); + + return mapping; + } + + + private class ActionMapping + { + public MassiveKnobActionInfo ActionInfo { get; } + public IMassiveKnobActionContext Context { get; } + + + public ActionMapping(MassiveKnobActionInfo actionInfo, IMassiveKnobActionContext context) + { + ActionInfo = actionInfo; + Context = context; + } + } + + + private class DeviceContext : IMassiveKnobDeviceContext + { + private readonly MassiveKnobOrchestrator owner; + private readonly IMassiveKnobDevice device; + + + public DeviceContext(MassiveKnobOrchestrator owner, IMassiveKnobDevice device) + { + this.owner = owner; + this.device = device; + } + + + public T GetSettings() where T : class, new() + { + return owner.GetDeviceSettings(this); + } + + + public void SetSettings(T settings) where T : class, new() + { + owner.SetDeviceSettings(this, device, settings); + } + + + public void Connecting() + { + owner.SetDeviceStatus(this, MassiveKnobDeviceStatus.Connecting); + } + + + public void Connected(DeviceSpecs specs) + { + owner.SetDeviceStatus(this, MassiveKnobDeviceStatus.Connected); + owner.UpdateActiveDeviceSpecs(this, specs); + } + + + public void Disconnected() + { + owner.SetDeviceStatus(this, MassiveKnobDeviceStatus.Disconnected); + } + + + public void AnalogChanged(int analogInputIndex, byte value) + { + owner.AnalogChanged(this, analogInputIndex, value); + } + + + public void DigitalChanged(int digitalInputIndex, bool on) + { + owner.DigitalChanged(this, digitalInputIndex, on); + } + } + + + private class ActionContext : IMassiveKnobActionContext + { + private readonly MassiveKnobOrchestrator owner; + private readonly IMassiveKnobAction action; + private readonly int index; + private readonly MassiveKnobActionType assignedActionType; + + public ActionContext(MassiveKnobOrchestrator owner, IMassiveKnobAction action, int index, MassiveKnobActionType assignedActionType) + { + this.owner = owner; + this.action = action; + this.index = index; + this.assignedActionType = assignedActionType; + } + + + public T GetSettings() where T : class, new() + { + return owner.GetActionSettings(this, assignedActionType, action, index); + } + + + public void SetSettings(T settings) where T : class, new() + { + owner.SetActionSettings(this, assignedActionType, action, index, settings); + } + + + public void SetAnalogOutput(byte value) + { + owner.SetAnalogOutput(this, index, value, false); + } + + + public void SetDigitalOutput(bool on) + { + if (assignedActionType == MassiveKnobActionType.OutputAnalog) + owner.SetDigitalToAnalogOutput(this, index, on, false); + else + owner.SetDigitalOutput(this, index, on, false); + } + } + } +} diff --git a/Windows/MassiveKnob/Core/PluginManager.cs b/Windows/MassiveKnob/Core/PluginManager.cs new file mode 100644 index 0000000..e5434b3 --- /dev/null +++ b/Windows/MassiveKnob/Core/PluginManager.cs @@ -0,0 +1,284 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using MassiveKnob.Plugin; +using Newtonsoft.Json; +using Serilog; +using Serilog.Extensions.Logging; + +namespace MassiveKnob.Core +{ + public class MassiveKnobPluginIdConflictException : Exception + { + public Guid ConflictingId { get; } + public string FirstAssemblyFilename { get; } + public string ConflictingAssemblyFilename { get; } + + + public MassiveKnobPluginIdConflictException( + Guid conflictingId, + string firstAssemblyFilename, + string conflictingAssemblyFilename) + : base($"Conflicting ID {conflictingId} was already registered by {firstAssemblyFilename}.") + { + ConflictingId = conflictingId; + FirstAssemblyFilename = firstAssemblyFilename; + ConflictingAssemblyFilename = conflictingAssemblyFilename; + } + } + + + public class PluginManager : IPluginManager + { + private readonly ILogger logger; + private readonly List plugins = new List(); + + + public PluginManager(ILogger logger) + { + this.logger = logger; + } + + + public IEnumerable GetDevicePlugins() + { + return plugins.Where(p => p is IMassiveKnobDevicePlugin).Cast(); + } + + public IEnumerable GetActionPlugins() + { + return plugins.Where(p => p is IMassiveKnobActionPlugin).Cast(); + } + + + public void Load(Action onException) + { + var registeredIds = new RegisteredIds(); + + var codeBase = Assembly.GetEntryAssembly()?.CodeBase; + if (string.IsNullOrEmpty(codeBase)) + { + logger.Error("No known EntryAssembly, unable to load plugins"); + return; + } + + var localPath = Path.GetDirectoryName(new Uri(codeBase).LocalPath); + if (string.IsNullOrEmpty(localPath)) + { + logger.Error("EntryAssembly CodeBase does not resolve to a local path, unable to load plugins: {codeBase}", codeBase); + return; + } + + var applicationPluginPath = Path.Combine(localPath, @"Plugins"); + LoadPlugins(applicationPluginPath, registeredIds, onException); + + #if DEBUG + // For debugging, load directly from the various bin folders + // ReSharper disable once InvertIf + if (IsInPath(localPath, "MassiveKnob", "bin", "Debug")) + { + // Go up three folders, filter out lingering bin/Release builds + var solutionPath = Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(localPath))); + LoadPlugins(solutionPath, registeredIds, onException, pluginPath => IsInPath(pluginPath, "bin", "Debug")); + } + #endif + + var localPluginPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MassiveKnob", "Plugins"); + LoadPlugins(localPluginPath, registeredIds, onException); + } + + + private static bool IsInPath(string actualPath, params string[] expectedPathComponents) + { + if (string.IsNullOrEmpty(actualPath) || expectedPathComponents.Length == 0) + return false; + + var expectedPath = Path.Combine(expectedPathComponents); + + if (!actualPath.EndsWith(Path.DirectorySeparatorChar.ToString())) + actualPath += Path.DirectorySeparatorChar; + + if (!expectedPath.EndsWith(Path.DirectorySeparatorChar.ToString())) + expectedPath += Path.DirectorySeparatorChar; + + return actualPath.EndsWith(expectedPath, StringComparison.CurrentCultureIgnoreCase); + } + + + private void LoadPlugins(string path, RegisteredIds registeredIds, Action onException, Func predicate = null) + { + logger.Information("Checking {path} for plugins...", path); + if (!Directory.Exists(path)) + return; + + + var metadataFilenames = Directory.GetFiles(path, "MassiveKnobPlugin.json", SearchOption.AllDirectories); + + foreach (var metadataFilename in metadataFilenames) + { + var pluginPath = Path.GetDirectoryName(metadataFilename); + if (string.IsNullOrEmpty(pluginPath)) + continue; + + if (predicate != null && !predicate(pluginPath)) + continue; + + PluginMetadata pluginMetadata; + try + { + pluginMetadata = LoadMetadata(metadataFilename); + } + catch (Exception e) + { + logger.Warning("Could not load plugin metadata from {metadataFilename}: {message}", metadataFilename, e.Message); + continue; + } + + var entryAssemblyFilename = Path.Combine(pluginPath, pluginMetadata.EntryAssembly); + if (!File.Exists(entryAssemblyFilename)) + { + logger.Warning("Entry assembly specified in {metadataFilename} does not exist: {entryAssemblyFilename}", entryAssemblyFilename); + continue; + } + + try + { + logger.Information("Plugin found in {pluginPath}", pluginPath); + + var pluginAssembly = Assembly.LoadFrom(entryAssemblyFilename); + RegisterPlugins(entryAssemblyFilename, pluginAssembly, registeredIds); + } + catch (Exception e) + { + logger.Warning("Error while loading plugin {entryAssemblyFilename}: {message}", entryAssemblyFilename, e.Message); + onException(e, entryAssemblyFilename); + } + } + } + + + private static PluginMetadata LoadMetadata(string filename) + { + string json; + + using (var stream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, 4096, true)) + using (var streamReader = new StreamReader(stream, Encoding.UTF8)) + { + json = streamReader.ReadToEnd(); + } + + if (string.IsNullOrEmpty(json)) + throw new IOException("Metadata file is empty"); + + return JsonConvert.DeserializeObject(json); + } + + + private void RegisterPlugins(string filename, Assembly assembly, RegisteredIds registeredIds) + { + var pluginTypes = assembly.GetTypes().Where(t => t.GetCustomAttribute() != null); + foreach (var pluginType in pluginTypes) + { + var pluginInstance = Activator.CreateInstance(pluginType); + if (!(pluginInstance is IMassiveKnobPlugin)) + throw new InvalidCastException($"Type {pluginType.FullName} claims to be a MassiveKnobPlugin but does not implement IMassiveKnobPlugin"); + + var plugin = (IMassiveKnobPlugin) pluginInstance; + logger.Information("Found plugin with Id {pluginId}: {name}", plugin.PluginId, plugin.Name); + + ValidateRegistration(filename, plugin, registeredIds); + plugins.Add((IMassiveKnobPlugin)pluginInstance); + } + } + + + private void ValidateRegistration(string filename, IMassiveKnobPlugin plugin, RegisteredIds registeredIds) + { + // Make sure all GUIDs are actually unique and someone has not copy/pasted a plugin without + // modifying the values. This way we can safely make that assumption in other code. + if (registeredIds.PluginById.TryGetValue(plugin.PluginId, out var conflictingPluginFilename)) + throw new MassiveKnobPluginIdConflictException(plugin.PluginId, conflictingPluginFilename, filename); + + registeredIds.PluginById.Add(plugin.PluginId, filename); + + + // ReSharper disable once ConvertIfStatementToSwitchStatement - no, a plugin can implement both interfaces + if (plugin is IMassiveKnobDevicePlugin devicePlugin) + { + foreach (var device in devicePlugin.Devices) + { + logger.Information("- Device {deviceId}: {name}", device.DeviceId, device.Name); + + if (registeredIds.DeviceById.TryGetValue(device.DeviceId, out var conflictingDeviceFilename)) + throw new MassiveKnobPluginIdConflictException(device.DeviceId, conflictingDeviceFilename, filename); + + registeredIds.DeviceById.Add(device.DeviceId, filename); + } + } + + + // ReSharper disable once InvertIf + if (plugin is IMassiveKnobActionPlugin actionPlugin) + { + foreach (var action in actionPlugin.Actions) + { + logger.Information("- Action {actionId}: {name}", action.ActionId, action.Name); + + if (registeredIds.ActionById.TryGetValue(action.ActionId, out var conflictingActionFilename)) + throw new MassiveKnobPluginIdConflictException(action.ActionId, conflictingActionFilename, filename); + + registeredIds.ActionById.Add(action.ActionId, filename); + ValidateActionType(action); + } + } + } + + + private void ValidateActionType(IMassiveKnobAction action) + { + var instance = action.Create(new SerilogLoggerProvider(logger).CreateLogger(null)); + if (instance == null) + throw new NullReferenceException("Create method must not return null"); + + switch (action.ActionType) + { + case MassiveKnobActionType.InputAnalog: + if (!(instance is IMassiveKnobAnalogAction)) + throw new InvalidCastException("InputAnalog action must implement IMassiveKnobAnalogAction"); + + break; + + case MassiveKnobActionType.InputDigital: + if (!(instance is IMassiveKnobDigitalAction)) + throw new InvalidCastException("InputDigital action must implement IMassiveKnobDigitalAction"); + + break; + + case MassiveKnobActionType.OutputAnalog: + case MassiveKnobActionType.OutputDigital: + break; + + default: + throw new ArgumentOutOfRangeException(nameof(action.ActionType), action.ActionType, @"Unsupported action type: " + (int)action.ActionType); + } + } + + + private class RegisteredIds + { + public readonly Dictionary PluginById = new Dictionary(); + public readonly Dictionary DeviceById = new Dictionary(); + public readonly Dictionary ActionById = new Dictionary(); + } + + + private class PluginMetadata + { + // ReSharper disable once UnusedAutoPropertyAccessor.Local - for JSON deserialization + public string EntryAssembly { get; set; } + } + } +} diff --git a/Windows/MassiveKnob/Forms/SettingsForm.Designer.cs b/Windows/MassiveKnob/Forms/SettingsForm.Designer.cs new file mode 100644 index 0000000..576cb78 --- /dev/null +++ b/Windows/MassiveKnob/Forms/SettingsForm.Designer.cs @@ -0,0 +1,213 @@ + +namespace MassiveKnob.Forms +{ + partial class SettingsForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingsForm)); + this.NotifyIcon = new System.Windows.Forms.NotifyIcon(this.components); + this.NotifyIconMenu = new System.Windows.Forms.ContextMenuStrip(this.components); + this.SettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.QuitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.CommunicationGroupbox = new System.Windows.Forms.GroupBox(); + this.SerialPortStatusLabel = new System.Windows.Forms.Label(); + this.SerialPortCombobox = new System.Windows.Forms.ComboBox(); + this.SerialPortLabel = new System.Windows.Forms.Label(); + this.DevicesGroupbox = new System.Windows.Forms.GroupBox(); + this.DevicesPanel = new System.Windows.Forms.Panel(); + this.DeviceCountUnknownLabel = new System.Windows.Forms.Label(); + this.CloseButton = new System.Windows.Forms.Button(); + this.NotifyIconMenu.SuspendLayout(); + this.CommunicationGroupbox.SuspendLayout(); + this.DevicesGroupbox.SuspendLayout(); + this.DevicesPanel.SuspendLayout(); + this.SuspendLayout(); + // + // NotifyIcon + // + this.NotifyIcon.ContextMenuStrip = this.NotifyIconMenu; + this.NotifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("NotifyIcon.Icon"))); + this.NotifyIcon.Text = "Massive Knob"; + this.NotifyIcon.Visible = true; + this.NotifyIcon.DoubleClick += new System.EventHandler(this.NotifyIcon_DoubleClick); + // + // NotifyIconMenu + // + this.NotifyIconMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.SettingsToolStripMenuItem, + this.QuitToolStripMenuItem}); + this.NotifyIconMenu.Name = "NotifyIconMenu"; + this.NotifyIconMenu.Size = new System.Drawing.Size(121, 48); + // + // SettingsToolStripMenuItem + // + this.SettingsToolStripMenuItem.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold); + this.SettingsToolStripMenuItem.Name = "SettingsToolStripMenuItem"; + this.SettingsToolStripMenuItem.Size = new System.Drawing.Size(120, 22); + this.SettingsToolStripMenuItem.Text = "&Settings"; + this.SettingsToolStripMenuItem.Click += new System.EventHandler(this.SettingsToolStripMenuItem_Click); + // + // QuitToolStripMenuItem + // + this.QuitToolStripMenuItem.Name = "QuitToolStripMenuItem"; + this.QuitToolStripMenuItem.Size = new System.Drawing.Size(120, 22); + this.QuitToolStripMenuItem.Text = "&Quit"; + this.QuitToolStripMenuItem.Click += new System.EventHandler(this.QuitToolStripMenuItem_Click); + // + // CommunicationGroupbox + // + this.CommunicationGroupbox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.CommunicationGroupbox.Controls.Add(this.SerialPortStatusLabel); + this.CommunicationGroupbox.Controls.Add(this.SerialPortCombobox); + this.CommunicationGroupbox.Controls.Add(this.SerialPortLabel); + this.CommunicationGroupbox.Location = new System.Drawing.Point(12, 12); + this.CommunicationGroupbox.Name = "CommunicationGroupbox"; + this.CommunicationGroupbox.Size = new System.Drawing.Size(455, 52); + this.CommunicationGroupbox.TabIndex = 1; + this.CommunicationGroupbox.TabStop = false; + this.CommunicationGroupbox.Text = " Communication "; + // + // SerialPortStatusLabel + // + this.SerialPortStatusLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.SerialPortStatusLabel.AutoEllipsis = true; + this.SerialPortStatusLabel.Location = new System.Drawing.Point(261, 22); + this.SerialPortStatusLabel.Name = "SerialPortStatusLabel"; + this.SerialPortStatusLabel.Size = new System.Drawing.Size(188, 18); + this.SerialPortStatusLabel.TabIndex = 2; + this.SerialPortStatusLabel.Text = "[runtime]"; + // + // SerialPortCombobox + // + this.SerialPortCombobox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.SerialPortCombobox.FormattingEnabled = true; + this.SerialPortCombobox.Location = new System.Drawing.Point(107, 19); + this.SerialPortCombobox.Name = "SerialPortCombobox"; + this.SerialPortCombobox.Size = new System.Drawing.Size(148, 21); + this.SerialPortCombobox.TabIndex = 1; + this.SerialPortCombobox.SelectedIndexChanged += new System.EventHandler(this.SerialPortCombobox_SelectedIndexChanged); + // + // SerialPortLabel + // + this.SerialPortLabel.AutoSize = true; + this.SerialPortLabel.Location = new System.Drawing.Point(10, 22); + this.SerialPortLabel.Name = "SerialPortLabel"; + this.SerialPortLabel.Size = new System.Drawing.Size(54, 13); + this.SerialPortLabel.TabIndex = 0; + this.SerialPortLabel.Text = "Serial port"; + // + // DevicesGroupbox + // + this.DevicesGroupbox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.DevicesGroupbox.Controls.Add(this.DevicesPanel); + this.DevicesGroupbox.Location = new System.Drawing.Point(12, 70); + this.DevicesGroupbox.Name = "DevicesGroupbox"; + this.DevicesGroupbox.Size = new System.Drawing.Size(455, 57); + this.DevicesGroupbox.TabIndex = 2; + this.DevicesGroupbox.TabStop = false; + this.DevicesGroupbox.Text = " Audio devices "; + // + // DevicesPanel + // + this.DevicesPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.DevicesPanel.Controls.Add(this.DeviceCountUnknownLabel); + this.DevicesPanel.Location = new System.Drawing.Point(13, 19); + this.DevicesPanel.Name = "DevicesPanel"; + this.DevicesPanel.Size = new System.Drawing.Size(436, 32); + this.DevicesPanel.TabIndex = 1; + // + // DeviceCountUnknownLabel + // + this.DeviceCountUnknownLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.DeviceCountUnknownLabel.Location = new System.Drawing.Point(0, 0); + this.DeviceCountUnknownLabel.Name = "DeviceCountUnknownLabel"; + this.DeviceCountUnknownLabel.Size = new System.Drawing.Size(436, 32); + this.DeviceCountUnknownLabel.TabIndex = 1; + this.DeviceCountUnknownLabel.Text = "Insert Massive Knob to continue..."; + this.DeviceCountUnknownLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // CloseButton + // + this.CloseButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.CloseButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.CloseButton.Location = new System.Drawing.Point(392, 133); + this.CloseButton.Name = "CloseButton"; + this.CloseButton.Size = new System.Drawing.Size(75, 23); + this.CloseButton.TabIndex = 3; + this.CloseButton.Text = "Close"; + this.CloseButton.UseVisualStyleBackColor = true; + this.CloseButton.Click += new System.EventHandler(this.CloseButton_Click); + // + // SettingsForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.CloseButton; + this.ClientSize = new System.Drawing.Size(479, 168); + this.Controls.Add(this.CloseButton); + this.Controls.Add(this.DevicesGroupbox); + this.Controls.Add(this.CommunicationGroupbox); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "SettingsForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Massive Knob - Settings"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.SettingsForm_FormClosing); + this.NotifyIconMenu.ResumeLayout(false); + this.CommunicationGroupbox.ResumeLayout(false); + this.CommunicationGroupbox.PerformLayout(); + this.DevicesGroupbox.ResumeLayout(false); + this.DevicesPanel.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.NotifyIcon NotifyIcon; + private System.Windows.Forms.ContextMenuStrip NotifyIconMenu; + private System.Windows.Forms.ToolStripMenuItem QuitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem SettingsToolStripMenuItem; + private System.Windows.Forms.GroupBox CommunicationGroupbox; + private System.Windows.Forms.Label SerialPortStatusLabel; + private System.Windows.Forms.ComboBox SerialPortCombobox; + private System.Windows.Forms.Label SerialPortLabel; + private System.Windows.Forms.GroupBox DevicesGroupbox; + private System.Windows.Forms.Button CloseButton; + private System.Windows.Forms.Panel DevicesPanel; + private System.Windows.Forms.Label DeviceCountUnknownLabel; + } +} + diff --git a/Windows/MassiveKnob/Forms/SettingsForm.cs b/Windows/MassiveKnob/Forms/SettingsForm.cs new file mode 100644 index 0000000..95dbe9f --- /dev/null +++ b/Windows/MassiveKnob/Forms/SettingsForm.cs @@ -0,0 +1,407 @@ +using System; +using System.Collections.Generic; +using System.IO.Ports; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; +using Dapplo.Windows.Devices; +using Dapplo.Windows.Devices.Enums; +using MassiveKnob.Hardware; +using MassiveKnob.Settings; +using MassiveKnob.UserControls; +using Nito.AsyncEx; + +namespace MassiveKnob.Forms +{ + public partial class SettingsForm : Form, IMassiveKnobHardwareObserver, IObserver + { + private readonly IAudioDeviceManager audioDeviceManager; + private readonly IMassiveKnobHardwareFactory massiveKnobHardwareFactory; + private readonly List knobDeviceControls = new List(); + + private bool loading = true; + private string lastConnectedPort = null; + private IDisposable deviceSubscription; + private IMassiveKnobHardware hardware; + private IAudioDevice[] devices; + private Settings.Settings settings; + + private readonly AsyncLock saveSettingsLock = new AsyncLock(); + private readonly AsyncLock setVolumeLock = new AsyncLock(); + + private bool startupVisibleCalled; + private bool closing; + + + public SettingsForm(IAudioDeviceManagerFactory audioDeviceManagerFactory, IMassiveKnobHardwareFactory massiveKnobHardwareFactory) + { + audioDeviceManager = audioDeviceManagerFactory.Create(); + this.massiveKnobHardwareFactory = massiveKnobHardwareFactory; + + InitializeComponent(); + SerialPortStatusLabel.Text = Strings.StatusNotConnected; + + // Due to the form not being visible initially (see SetVisibleCore), we can't use the Load event + AsyncLoad(); + } + + + private async void AsyncLoad() + { + await LoadSettings(); + + await Task.WhenAll( + LoadSerialPorts(), + LoadAudioDevices() + ); + + deviceSubscription = DeviceNotification.OnNotification.Subscribe(this); + + loading = false; + await Connect(); + } + + + private void RunInUIContext(Action action) + { + if (InvokeRequired) + Invoke(action); + else + action(); + } + + + private Task LoadSerialPorts() + { + var portNames = SerialPort.GetPortNames(); + + RunInUIContext(() => + { + SerialPortCombobox.BeginUpdate(); + try + { + SerialPortCombobox.Items.Clear(); + foreach (var portName in portNames) + { + var itemIndex = SerialPortCombobox.Items.Add(portName); + + if (portName == settings.SerialPort) + SerialPortCombobox.SelectedIndex = itemIndex; + } + } + finally + { + SerialPortCombobox.EndUpdate(); + } + }); + + return Task.CompletedTask; + } + + + private async Task LoadSettings() + { + var newSettings = await SettingsJsonSerializer.Deserialize(); + RunInUIContext(() => SetSettings(newSettings)); + } + + + private async Task SaveSettings() + { + if (settings == null) + return; + + using (await saveSettingsLock.LockAsync()) + { + await SettingsJsonSerializer.Serialize(settings); + } + } + + + private async Task Connect() + { + string serialPort = null; + + RunInUIContext(() => + { + serialPort = (string)SerialPortCombobox.SelectedItem; + }); + + if (string.IsNullOrEmpty(serialPort)) + return; + + if (hardware != null) + { + hardware.DetachObserver(this); + await hardware.Disconnect(); + } + + hardware = massiveKnobHardwareFactory.Create(serialPort); + hardware.AttachObserver(this); + + await hardware.TryConnect(); + } + + + private async Task LoadAudioDevices() + { + var newDevices = await audioDeviceManager.GetDevices(); + RunInUIContext(() => SetDevices(newDevices)); + } + + + + private void SetSettings(Settings.Settings value) + { + if (value == null) + return; + + SerialPortCombobox.SelectedItem = value.SerialPort; + + // No need to update the knob device user controls, as they are not loaded yet + // (guaranteed by the order in AsyncLoad) + + settings = value; + } + + + private void SetDevices(IEnumerable value) + { + devices = value.ToArray(); + + foreach (var knobDeviceControl in knobDeviceControls) + knobDeviceControl.SetDevices(devices); + } + + + private void SetKnobCount(int count) + { + if (count == knobDeviceControls.Count) + return; + + SuspendLayout(); + try + { + DeviceCountUnknownLabel.Visible = count == 0; + + if (knobDeviceControls.Count > count) + { + for (var i = count; i < knobDeviceControls.Count; i++) + knobDeviceControls[i].Dispose(); + + knobDeviceControls.RemoveRange(count, knobDeviceControls.Count - count); + } + + for (var i = knobDeviceControls.Count; i < count; i++) + { + var knobDeviceControl = new KnobDeviceControl + { + Left = 0, + Width = DevicesPanel.Width + }; + + knobDeviceControl.Top = i * knobDeviceControl.Height; + knobDeviceControl.Parent = DevicesPanel; + + knobDeviceControl.SetKnobIndex(i); + knobDeviceControl.SetDevices(devices); + + if (i < settings.Knobs.Count) + knobDeviceControl.SetDeviceId(settings.Knobs[i].DeviceId); + + knobDeviceControl.OnDeviceChanged += async (sender, args) => + { + while (settings.Knobs.Count - 1 < args.KnobIndex) + settings.Knobs.Add(new Settings.Settings.KnobSettings()); + + settings.Knobs[args.KnobIndex].DeviceId = args.DeviceId; + await SaveSettings(); + }; + + knobDeviceControls.Add(knobDeviceControl); + } + + + var expectedHeight = knobDeviceControls.Count > 0 + ? knobDeviceControls[0].Height * count + : DeviceCountUnknownLabel.Height; + + if (expectedHeight == DevicesPanel.Height) + return; + + var diff = expectedHeight - DevicesPanel.Height; + Height += diff; + Top -= diff / 2; + } + finally + { + ResumeLayout(); + } + } + + + protected override void SetVisibleCore(bool value) + { + // Prevent the form from showing at startup + if (!startupVisibleCalled) + { + startupVisibleCalled = true; + + // Make sure the underlying window is still created, otherwise Close won't work + if (!IsHandleCreated) + CreateHandle(); + } + else + base.SetVisibleCore(value); + } + + + private void Settings() + { + Show(); + } + + + private async Task Quit() + { + Hide(); + + deviceSubscription?.Dispose(); + + foreach (var knobDeviceControl in knobDeviceControls) + knobDeviceControl.Dispose(); + + knobDeviceControls.Clear(); + + + if (hardware != null) + { + hardware.DetachObserver(this); + await hardware.Disconnect(); + } + + audioDeviceManager?.Dispose(); + + closing = true; + Close(); + } + + + public void Connecting() + { + RunInUIContext(() => + { + SerialPortStatusLabel.Text = Strings.StatusConnecting; + }); + } + + + public void Connected(int knobCount) + { + RunInUIContext(() => + { + SerialPortStatusLabel.Text = Strings.StatusConnected; + SetKnobCount(knobCount); + }); + } + + + public void Disconnected() + { + RunInUIContext(() => + { + SerialPortStatusLabel.Text = Strings.StatusNotConnected; + lastConnectedPort = null; + }); + } + + + public async void VolumeChanged(int knob, int volume) + { + if (knob >= settings.Knobs.Count) + return; + + if (!settings.Knobs[knob].DeviceId.HasValue) + return; + + var deviceId = settings.Knobs[knob].DeviceId.Value; + + using (await setVolumeLock.LockAsync()) + { + var device = await audioDeviceManager.GetDeviceById(deviceId); + if (device != null) + await device.SetVolume(volume); + } + } + + + private void SettingsForm_FormClosing(object sender, FormClosingEventArgs e) + { + if (closing) + return; + + Hide(); + e.Cancel = true; + } + + + private void NotifyIcon_DoubleClick(object sender, EventArgs e) + { + Settings(); + } + + + private async void QuitToolStripMenuItem_Click(object sender, EventArgs e) + { + await Quit(); + } + + + private void SettingsToolStripMenuItem_Click(object sender, EventArgs e) + { + Settings(); + } + + + private void CloseButton_Click(object sender, EventArgs e) + { + Close(); + } + + + private async void SerialPortCombobox_SelectedIndexChanged(object sender, EventArgs e) + { + var newPort = (string) SerialPortCombobox.SelectedItem; + if (loading || newPort == lastConnectedPort) + return; + + lastConnectedPort = newPort; + if (settings.SerialPort != newPort) + { + settings.SerialPort = (string) SerialPortCombobox.SelectedItem; + await SaveSettings(); + } + + await Connect(); + } + + + public async void OnNext(DeviceNotificationEvent value) + { + if ((value.EventType == DeviceChangeEvent.DeviceArrival || + value.EventType == DeviceChangeEvent.DeviceRemoveComplete) && + value.Is(DeviceBroadcastDeviceType.DeviceInterface)) + { + await LoadSerialPorts(); + } + } + + public void OnError(Exception error) + { + } + + public void OnCompleted() + { + } + } +} diff --git a/Windows/MassiveKnob/Forms/SettingsForm.resx b/Windows/MassiveKnob/Forms/SettingsForm.resx new file mode 100644 index 0000000..d12ce05 --- /dev/null +++ b/Windows/MassiveKnob/Forms/SettingsForm.resx @@ -0,0 +1,5838 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 125, 17 + + + + + AAABAAoAGBgAAAEACADIBgAApgAAAAAAAAABACAAeBQAAG4HAACAgAAAAQAgACgIAQDmGwAAYGAAAAEA + IAColAAADiQBAEhIAAABACAAiFQAALa4AQBAQAAAAQAgAChCAAA+DQIAMDAAAAEAIACoJQAAZk8CACAg + AAABACAAqBAAAA51AgAYGAAAAQAgAIgJAAC2hQIAEBAAAAEAIABoBAAAPo8CACgAAAAYAAAAMAAAAAEA + CAAAAAAAQAIAAAAAAAAAAAAAAAEAAAABAAAAAAAAOjo6AD4+PgCHh4cAmpqaAKGhoQCvr68A3t7eAOnp + 6QD+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////8AAAAA + AAAAAAAAAAAAAAAA/////////////wAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAP// + ////////////////AAAAAAAAAAAA////////////////////AAAAAAAAAAAA//////////////////// + /wAAAAAAAAAA/////////////////////wD///8AAP8A/////////////////////wD/////AP8A//// + /////////////////wD/////AP8A/////////////////////wD/////AP8A//////////////8H//// + //////8AAP//AP///////////wgCA///AP////8AAAD/AP////////////8FAgT/AP////8AAAD//wD/ + ////////////BgcA/////wAAAAAA//8A/////////////wD/////AAAAAAAAAP//AAD///////8AAP// + ////AAAAAAAAAAD///8AAAAAAP///////wAAAAAAAAAAAAAA////////////////AAAAAAAAAAAAAAAA + AAD//////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////AP///wD///8A/gP/APwA/wD4AH8A8AA/AOAAPwDgAB8A4AARAKAAEACgABAAoAAQAKAA + AQCQACEA0AAhAMgAQwDkAIcA8wMHAPj4HwD8AD8A/wD/AP///wD///8AiVBORw0KGgoAAAANSUhEUgAA + AQAAAAEACAYAAABccqhmAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAUKklEQVR4nO3dv3MUNxsH8K/eectk + XqekyvEXYP8BgXOZNDFNWs59JpguMxRAkdpmJr2PlsZHk5QsRdr4qFN4U5GOK+j1FtLaG3O3K2ml1Y/9 + fmYygH2+E2T16NEjrRYgIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiKiGETsBlAY + Uso9APtbvjXv+LFa/9e2EUKs/bSKUsMAkCEp5T6ApoPvAbinf93V6X2q9K81gL9xEzRqIUQd+LPJMwaA + hEkpZ1Adeh+qkzd/TtkaKiC8179fMzCkiwEgETpln0N18Ae4Gd1LsIEKBu/0r5UQYhO3SQQwAETT6vAP + cNPxp6SGmk68gwoIdczGTBUDwIj03P0IwPeYXofvs4YKCG+EEFXcpkwHA0BgUsqmw8+h5vDUbwMdDACs + OF0IhwEgAD3SP4Ya7UuZx8e0AoNBEAwAnuiK/QLAI3CkD2kF4JUQYhW7ISVgABhISrmA6vTzuC2ZnA2A + JYCXLCC6YwBwoCv4J+Bon4oKKitYRm5HdhgALOg0/xlUqk/pqQG8AnDGWoEZBgADUso5VMefx20JWVgC + eMHpQTcGgA7s+EVYgoFgJwaALdjxi7QEA8FnGABaOMefhCUYCK4xAOC6qv8MqrJP07AE8GTqxcLJBwAp + 5QlU5+eOvenZQO0jeB67IbFMNgDoef4peFMOqeXDJ1PcXTi5AMB0nzpUAI6nVB+YVADQo/45uHuPdpvU + tGASAYCjPjlYQ2UDRR+IWnwA4KhPA70oORsoOgBIKU/BUZ+GKzYbKDIA6A09Fyirwr+Gmp9uoE7cbas6 + fm5+68/NEeLbvkfdngghzmI3wqfiAoA+guscea7r11Ad/T1uzttfh96soqdJzTMFvsbNUeT0uQrAw1I2 + EBUVADJL+Ztz795DnYpbRW3NFvpos+aY8jlYR2lsoIJAFbshQxURAHSV/wJpp7Ttgy6zPAa7dZQ5DzlV + si8QZh8A9Ch1gTQvxhr6QMsSRovb9L/9HOpkpKlOGVZQBcIspwRZB4BE5/s1bg6uLK5qvIsuvB5hmsEg + 21WCbAOAPozzPHY7tA1Up3+Z40Xg20RPSC6mLpA8KeWpTMOlVIGIdpBSHkkpLyL/fxrTIva/uY3sMgAp + 5TniH9ixRKTRXqrRddb60tzgx5o9BACwidjuZ5jGw1LOhBBPYjfCRFYBIHLn3wB4CWAZuoIv1br8TP/3 + QH95HuCjKv3rO+gn+IZOYeXNkeqPUXYgWAohjmM3ok8WAUDGXeZrOn6Qo6blTSX9HtLZgFOj9TjvEEFh + IoEg+RWC5AOAvlDeYvyOEaTjtzp8s7kml4u/ws0eBm9TiAkEgjWAw1SDQNIBIGLnX8LjwZFSLVc+gJr/ + zny8Z2Q1bh7l7eUUHVn2gazJBoFkA0Ckzl9B3fAxeITTI/0jqAu6xJGt0SyBvvIxVdD/bqdIe1eniySD + QMoB4AJqxBxDDQ9nwumgtYBKZ2eDW5WfGurRXIMLpXo57RRlBc/kgkCSAWDkav8ZVLrv/D9FV+2b0Z6U + JQZmBTqgnmO8gWAMSQWB5ALAiJ1/DTXqV65voOf2j1FeuurTGmrPxNL1DWSaW76HSCoIJENK+XyczVry + +cB2LqSUVyO1tRRXcsAuOSnlnixrR+HbIddgcaTqVKFdSZWuu7bxSLLjD3UlhwWCEynlx7h/BW+i38uS + xBRAqsrvZeCPcd6UIfmw0BCcp2D6ejlHGpumhoq6YzB6AJBq/fcSYed3xy5zUKmKUKdgcS+kFVQgqG1+ + SJZVIHS6Pn34T4wPbcibLb6hOn8N4MCx858AuAI7f2hHAC6lZV1GCLERQjwEkMVNNz3OpSp0ji5qBiDD + rvVXcDi8sbD0MjdOB2vIMlYJNlArA6PeqRktA9AjbKjOvxRCWC+z6FHoEuz8sezDLRtYATjEzS3POdoD + cKGz4tFEyQB0US3UMoj1fEqW+RyB3FlnAzLevSM+VUKIw7E+bPQMoDXv920Dt86/AEf9FO0DeCstlgx1 + xncIFTxyNbfNgIYYPQOQagPE3PPbOs2fZBqnC1G/JdRKgVGKX0gm8NDXnZZdRs0A9Lx/7vltrTu/lHIm + pbwEO38uFlDZgFGH1isEB1CBI1fnemoa1GgZQKDNPi6dfx9qdMi5YjxVG1ievJt5lhe8HjBmBuB726NL + 518g/KYjCmcP9nWBY+RbEwheDxglAOi/hM/5mEvnP0E6zxGgYc6leg6kqZwLg89Mpz4ugk8BAqT+Lp0/ + 5zSQdjPeR595YbCG2tHqfZ/DGBmAz1GXnZ/aFqZ31LWWCHPcLDSDuhnNu6ABQKfdviIuOz9tM5UgcCIH + 3Mq+S7ApQIC7/Kw2+bDz5+/Dhw/4559/AAAHBwd9L1/pm4N66XsHQmxGC22tlze9CRkAfN7o80QIcWbx + 2ez8Gfv06RN+/vlnXF7elI7u3LmDn376Cffv3+/6UZuawAnUrd65eSGEeO7rzYIEAM97/a0OTGDnz9un + T5/w448/4q+//tr6/adPn+K7777regubIJDjtbKBKgjWPt4sVAC4gp9jsa1SHr3cGKRYQuH1df6GryCQ + 8cqAtw1C3ouAepPGzMNbNQUbm89l58+UaecHgF9++QW//fZb10sWJpuFdFHwGPkVBee+CoJeMwAdUa/g + p/B3YFrxD3x7MQVm0/nbDDIBoxtqdLDIbZNYLYS4O/RNfGcAJ/DT+Y0fz6U3GuVY0SW4d37AKBM4N9lF + p1eXgt9559lMFzIH8ZYBeBz9bZZzcp3DEYZ1/rZff/21a5mwhsEuOs/Z61g2AO4O2SHoMwPwMfo3czJT + p2Dnz5Kvzg8Ar1+/7vr2DAYZYqsekJM9qH7nzEsGoDf9XHl4q0PTWz0zXsedPJ+dv/HHH3/0vcRo/Tzw + QbUhDMoCfGUACw/vcWbR+ffBzp+lEJ3f0DPDynluqwKDsoDBAUDPnR4PfJsawAuLz8utYksI1/l7dge2 + nfeduqtH0tyeNfDY9TRhHxmAj7m/zSO7noHz/uyEHPl/+OEH05fOYDB46FWByrlB43POAgbVADxVTm22 + bs7B9f7shOz8BnsBtundHzDS8yp9cqoFDM0AjjCs8xunW0z985Rg5wfMpgJr5HWoqFMWMDQADN16+8Ii + Yp3AzxZjGkminR9QncXk2n2CvAqC1rU45wCg76meuf481I0+Rrf46nSM+/wzknDnb/QesKEHp5dDP2hE + ezYHpgLDMoBHA34WsKu0cskvIxl0/obJdXWGgrMApwCgN/4M2SxRWaz5H8H/w0QokIw6PwDs942YGWYB + +zZ3CrpmAAvHn2tw9C9QZp2/cWqwhp5bFmCcnbsGgCHp/9LiTj8W/jLy+vXr3Do/YFA9zzALWJhuDLIO + AB6KfzY7/lj4y8iff/7p/T0Dd/6GyU663LIAoym6SwbwvcPPNJYWZ5n5OluAMjVS5wfKzAKMioEuAWBI + 8c9m9B96fwGN7Msvv/T2XiN2/oZJFrAcoyGe7Js8XdgqAOj033VUrjj6l+3bb7/18j4ROj9glgXUyCsI + LPpeYJsBDEn/jUZ/begeA4rg/v37gztupM7fMMkCXo3SEj96+5FtAHBN/9cW6/4LsPKfrSEdOHLnB1QW + sOh6gb6O6xHa4sOs70xE4wAwMP23KZ5w7p85l46cQOdvmFx/ORUDOwdtmwzANf3fwPDEVb2Diff6F8Cm + QyfU+QE1avZlujmdINzZb20CwNyxASuLO/449y+IScdOrPM3Oq9DXQzMJQh0rgYYBQA9j9j5Jj2M0iVd + fMnpMEYy8PTp060n9nzxxRepdn4AODJYQnszRkM8me/6htGJQANO4DV+tl+mT2chQx8+fMDvv/8OQHX+ + b775Bnfu3Incqk6dT6TWA9bHEdszxM5nbZgGgLdwmwIYP9Z7wGcQhdA7eGV0hPhGCPHVtm+Y1gDmjh9s + WvybDfgMohBMdtLlMg3Y23WLcG8AGPAU0rXFzr8coihNz6Ln+9UIbfBlvu2LJhnA1h80YLNjitV/SlHn + Epoe4IxubU/Ag21fNAkAW3/QgGn6vweu/VOaTKYB1Qjt8GFrHzMJAC6ds2b6T4Xouz5zqgN81pc7A4D+ + AZftvzabJFwzDKIxdF6fpve4JMIuAGz7AUPvLF7LDIBSZnJ9VqEb4clnwawvANxz/KDK5EUDMgyi0Ris + hNkMeDHNbn8hRAZQWez9nzu8P9HY5j3fz2UlYH77CyECgM0/hmuGQTSmvus0lwCA24XAnQFAL8+5pOc2 + 6dDc4f2Jxjbv+qZe8crlxOBZ+w9dGYBrAbAyeZEOMLO+1xElYM9gP0AuWYBZBnD7hYZqi/k/N/9QTvqu + 11wKgV+3/9AVAFzS/9ritQwAlJO+67UeoxEezNp/6AoALht0bKIgC4CUk77rtR6jER4YTwFc2MyDZp4/ + myikWc/3c6kB/Cuz7woAc4c3t6mEcgpAOem8Xi1qX9G1lwK9ZgCW+6K5A5CyUtCdgdd9b2sA6HuYwA7G + EdDx/Ylim8VugG+7MgCX0dlmDsTRn3LUd93WYzTCg3nzG99FQFOzSJ9LNERf5vr3KK3waFcAcEnRbZYA + Zw7vT0Se+ZwCEJXufz3fr8dohAfXuwF9TgFslkH6/iGJUlTcbkCfAcCmCMhVAKIE7AoAHKGJJsBnEZCI + MhNrGZCIEsAAQDRhDABEE+YzANQe34soR7ncEnxtVwCobd/I4lFgREXK6JbguvnNrgBge75ZdpGPKJA6 + dgMMXN+zsCsArGD3F3lp2YBcIiWRrRwGw6r5zdYAoFOZY8M3WwohlpYNeG/5eqIUmAxcOZwOfB2kdhYB + 9ek+h+j+S58JIUwDBVHuTAYumydjx7Bq1yr+2/VKIUQlpbwL9YTU73Fzl+AawEsW/oj+TQhRSykrpPvU + qzftP3QGAOB6OrDU//mSwzyJ6DbT2tUrpBkANren67E2ArEISDkyGrh0J6uDtsTNZ8X6WAGgjvS5RGNJ + rTZWAzi7/UUxfjsUKaWM9dlELoQQVv1FSnkBVT9LweG2Y/tj3gvAOgDlxGXaeow0st2zXc/siBkAWAeg + nFgPWLqA/hBxr/W1EOLJrm/GDAA5bJggatQuPySEWKN/P00ozWfvFDMA1BE/m8iW8+7VSEGggpr3d34m + awBEZgZdr60gMMZ1fyaE6O38QMRVAIArAZQP2xWALlLK5wCe+Xq/lhrAsc1DemOfCFRF/nwiE15HbSHE + cwB34W937QbACwAHlk/ojh4AOA2gHHi/ToUQtb6R7i5U560d3mYFNeJ/JYR47nIgSewpwBGAi5htIDJw + 7HDLuzUp5QzqHoIZgHv4/BF9NdRhHhXU8t7gomLsALAH4GPMNhAZuFvqna9RpwA6gnEaQCmrS+38QPwa + AMBCIKWtit2AkFIIAG/6X0IUTdHXZ9QaQENK+RGfFzyIovO5/p+iFDIAIP1z1Giair8uUwkARadZlK3i + r8tk0htOAyhBX2X0tB8nqWQAwATSLcrKqvTOD6QVAF7FbgBRyySux2SmAAAgpbyC2gZJFNNGCPFV7EaM + IaUMALB/xiBRCMvYDRhLahkA7w2gFBS79/+2pDKA1lOIiGJZTaXzA4kFAI3TAIppUtdfcgFAn51WxW4H + TVJle6JO7pILANqL2A2gSZrE0l9bUkXANinlW6T5hFUqUy2EuBu7EWNLNQMAmAXQuCZ5vSWbAQDMAmg0 + ayHEQexGxJByBgBMNCrT6HY+O690SQcAXZHlTUIU0uQq/21JTwGA66OSr2K3g4p1oJeeJynpDABQD1AA + pwIUxtmUOz+QQQYAXN8jcAneKUj+bKD2/Bd/z3+X5DMA4PoegePY7aCiHE+98wOZBACABUHyaiWE4LWE + TKYADT0VuALPDiR3TP1bsskAAE4FyAum/i1ZBQAA0KnbWex2UJaY+t+S1RSgoacCbwHsx24LZaOGWvPn + 6N+SZQAAACnlPlQQYD2ATEx6w88u2U0BGvp/5mT3cJOVY3b+7bINAAAghFiC9QDqttTXCW2R7RSgjbcN + 0w6Tvc3XVNYZQMtDAEzxqK0GcBi7EakrIgMAru8avASLgqQ2+xxy3t+vlAyguWvwEOp/Pk0XO7+FYgIA + cL0ywCAwbU/Y+c0VFQAALg9O3DEr/naKqQHcJqVcADiP3Q4aDTu/g2IDAMAgMCHs/I6KDgAAtwxPADv/ + AMUHAIBBoFCs9ntQXBFwm9bqQB25KeQHO78nk8gAGryNuAhrqM7PpV4PJpEBNIQQG703fBm7LeRkCXZ+ + ryYVABpCiGNwr0BuXggheJyXZ5OaAtymi4MX4PMGUrYB8HDKj+8KaZIZQEMXkQ7A48ZTVUGd4FtFbkex + Jh0AgOu6wEOoKQHTyzRsoPb0c74f2KSnALfpW4rPwcNFYlqDR3iNZvIZQJsQohZCHILZQAzNqM/DO0fE + DGAHvWfgFMAiclOmYAXV+evYDZkaBoAeUso5VCDg5iH/aqh0v4rcjsniFKCHEKLSm4eOwa3EvmygOj4r + /JExA7AkpTwB8Ay8scjFBsBLAGes7qeBAcCBrg8sADwGNxGZYMdPFAPAQPrQkcdgjWCbGmoL7zJyO2gH + BgBPdLHwEbhqAKiq/kvO79PHAOBZa3rwCNPKCmqoNH/F5bx8MAAEpG82egTgCGXWCmqo0f4VN+/kiQFg + JDoYzJF/ZrAG8AZqpGenzxwDQAR6mjAH8ED/mnJAWEPdlfcOQMUqflkYABKhi4hzAF9DBYQYQWENlda/ + h+r0a3b4sjEAJEzfnTiDCgZ7AO7hZgPSPuw2I21w8wTlDVQnb762YTpPRERERERERERERERERERERERE + REREREREREREREREREREREREREREREREREREREREREREREREREREZOH/PmmZ6rdV5H8AAAAASUVORK5C + YIIoAAAAgAAAAAABAAABACAAAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wj///8s////S////1////97////f/// + /3////9/////f////3////9r////W////zz///8cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wT///83////c/// + /6/////b//////////////////////////////////////////////////////////////////////// + ///////z////y////5P///9X////GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////DP///1v///+n////8/////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////0/// + /4P///8vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////N////5/////z//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////T////c////xAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8E////U/// + /8v///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////9////5P///8kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////T////9f///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //v///+f////GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////K////8P///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////3////e////wgAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////CP///4v////7//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////1////z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///y/////X//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////+/// + /4v///8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///9n////9/////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////8v///8gAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8E////m/////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////+f///87AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////DP// + /7////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////v///9TAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xj////H//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////9vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8Y////1/// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////9vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////DP///8P///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////9fAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wT///+3//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////v///9HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////k/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////P///8nAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///1////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////9f///8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8n////8/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /6cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////BP///8////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////1MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///97//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////6////xQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////JP////f///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////owAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///+z//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////OwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////P/////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////DAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///+///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////9PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////P/////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /8cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///+z//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////zsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////IP////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////qwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///+H//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////7////FAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///+P///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////9vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///87//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////8MAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///4v///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////xQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////1/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////XwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xj///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////+fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////CP///zj///9b////X////1f///8w////BAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////U/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /9sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////L////6f////3//////// + ///////////////////////r////k////yQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///+L//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////DP///5P/////////////////////////////////////////////////////////9/// + /3MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///7f///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wz////D//////////////////////// + /////////////////////////////////////////////////6f///8EAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////4/// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////9rAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8E////v/////////////////////////////////////////////////////////////////// + /////////////////5cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wj///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////48AAAAAAAAAAAAAAAAAAAAAAAAAAP///3v///////////////////////////// + /////////////////////////////////////////////////////////////////0sAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////JP// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////qwAAAAAAAAAAAAAAAAAA + AAD///8Y////9/////////////////////////////////////////////////////////////////// + ////////////////////////////2wAAAAAAAAAAAAAAAAAAAAAAAAAA////EP///5f////b////0/// + /2sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9A//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////+/AAAAAAAAAAAAAAAAAAAAAP///3f///////////////////////////// + ////////////////////////////////////////////////////////////////////////////QwAA + AAAAAAAAAAAAAP///wT////H/////////////////////////38AAAAAAAAAAAAAAAAAAAAAAAAAAP// + /0v///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////9sAAAAAAAAAAAAA + AAAAAAAA////x/////////////////////////////////////////////////////////////////// + //////////////////////////////////////+TAAAAAAAAAAAAAAAA////P/////////////////// + ////////////8wAAAAAAAAAAAAAAAAAAAAAAAAAA////X/////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////3wAAAAAAAAAAAAAAAAAAAAD////3//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /8cAAAAAAAAAAAAAAAD///9f////////////////////////////////////GAAAAAAAAAAAAAAAAAAA + AAD///9f//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////fAAAAAAAA + AAAAAAAA////FP////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////3wAAAAAAAAAAAAAAAP///1////////////// + //////////////////////8gAAAAAAAAAAAAAAAAAAAAAP///1////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////98AAAAAAAAAAAAAAAD///8g//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////fAAAAAAAAAAAAAAAA////U////////////////////////////////////yAAAAAAAAAAAAAA + AAAAAAAA////X/////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////3wAA + AAAAAAAAAAAAAP///yD///////////////////////////////////////////////////////////// + /////////////////////////////////////////////////98AAAAAAAAAAAAAAAD///9A//////// + ////////////////////////////LAAAAAAAAAAAAAAAAAAAAAD///9T//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////fAAAAAAAAAAAAAAAA////IP////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////3wAAAAAAAAAAAAAAAP///zz///////////////////////////////////9AAAAAAAAA + AAAAAAAAAAAAAP///0D///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /8MAAAAAAAAAAAAAAAD///84//////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////HAAAAAAAAAAAAAAAA////IP// + /////////////////////////////////18AAAAAAAAAAAAAAAAAAAAA////KP////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////swAAAAAAAAAAAAAAAP///0f///////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////78AAAAAAAAAAAAAAAD///8M////////////////////////////////////ewAA + AAAAAAAAAAAAAAAAAAD///8M//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////+XAAAAAAAAAAAAAAAA////X/////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////nwAAAAAAAAAAAAAAAAAA + AAD////v//////////////////////////////+jAAAAAAAAAAAAAAAAAAAAAAAAAAD////r//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////3MAAAAAAAAAAAAAAAD///+D//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////+LAAAAAAAAAAAAAAAAAAAAAP///8////////////////////////////// + /88AAAAAAAAAAAAAAAAAAAAAAAAAAP///8P///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////SwAAAAAAAAAAAAAAAP///6f///////////////////////////////////////////// + /////////////////////////////////////////////////////////////////2sAAAAAAAAAAAAA + AAAAAAAA////q///////////////////////////////9////wQAAAAAAAAAAAAAAAAAAAAA////k/// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////8cAAAAAAAAAAAAAAAA////z/// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////RwAAAAAAAAAAAAAAAAAAAAD///9///////////////////////// + ////////////NwAAAAAAAAAAAAAAAAAAAAD///9f//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////5wAAAAAAAAAAAAAAAP///wj////7//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////8gAAAAAAAA + AAAAAAAAAAAAAP///1P///////////////////////////////////9zAAAAAAAAAAAAAAAAAAAAAP// + /yj///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////+vAAAAAAAAAAAAAAAA////NP// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////7wAAAAAAAAAAAAAAAAAAAAAAAAAA////JP////////////////// + /////////////////7cAAAAAAAAAAAAAAAAAAAAAAAAAAP///+P///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////2sAAAAAAAAAAAAAAAD///9v//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////+/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////6///////////////////////////////9////wgAAAAAAAAAAAAA + AAAAAAAA////m/////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////JAAAAAAAAAAAAAAAAP// + /7P///////////////////////////////////////////////////////////////////////////// + /////////////////////////////////4cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///+v//////// + ////////////////////////////TwAAAAAAAAAAAAAAAAAAAAD///9P//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////9MAAAAAAAAAAAAAAAD///8I////8/////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////TwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///2////////////////////////////////////+jAAAAAAAA + AAAAAAAAAAAAAP///wj////v//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////ewAAAAAAAAAAAAAAAP// + /0P///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////v///8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////KP// + //////////////////////////////////P///8MAAAAAAAAAAAAAAAAAAAAAP///5f///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4+Pj/319ff9ubm7/uLi4//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////8kAAAAAAAAAAAAAAAA////m/////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////wwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////3/////////////////////////////////// + /2cAAAAAAAAAAAAAAAAAAAAA////N/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+Dg4P9MTEz/Ojo6/zo6Ov86Ojr/qKio//////////////////////////////////// + ////////////////////////////////////////////////////////////vwAAAAAAAAAAAAAAAP// + /wj////r//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////97AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///+P////////////////////////////////////ywAAAAAAAAAAAAAAAAAAAAAAAAAA////y/// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////g4OD/TExM/zo6Ov86Ojr/Ojo6/zo6 + Ov86Ojr/qKio//////////////////////////////////////////////////////////////////// + //////////////////////9TAAAAAAAAAAAAAAAA////U/////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /ywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///zv///////////////////////////// + ////////////PwAAAAAAAAAAAAAAAAAAAAD///9X//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////7+/v/0xMTP86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/qKio//////////////////// + ////////////////////////////////////////////////////////////2////wQAAAAAAAAAAAAA + AAD///+3//////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///+P///////////////////////////////////+vAAAAAAAAAAAAAAAAAAAAAP// + /wT////b//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////+4uLj/Ojo6/zo6Ov86Ojr/Ojo6/zo6 + Ov86Ojr/Ojo6/zo6Ov86Ojr/qKio//////////////////////////////////////////////////// + //////////////////////9fAAAAAAAAAAAAAAAA////KP////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /3sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////i/////////////////// + //////////////////////8vAAAAAAAAAAAAAAAAAAAAAP///1v///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////8HBwf86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/qKio//// + ////////////////////////////////////////////////////////////2////wQAAAAAAAAAAAAA + AAD///+f//////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8o/////////////////////////////////////////7sAAAAAAAAAAAAA + AAAAAAAAAAAAAP///8v///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////Pz8/3p6ev86Ojr/Ojo6/zo6 + Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/qKio//////////////////////////////////// + //////////////////////9XAAAAAAAAAAAAAAAA////JP////v///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /7cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///+///////// + /////////////////////////////////0MAAAAAAAAAAAAAAAAAAAAA////O/////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////Pz8/3p6ev86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6 + Ov86Ojr/qKio////////////////////////////////////////////////wwAAAAAAAAAAAAAAAAAA + AAD///+f//////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////SwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///0//////////////////////////////////////////1/// + /wQAAAAAAAAAAAAAAAAAAAAA////m/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////Pz8/3p6 + ev86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/qKio//////////////////// + //////////////////v///8nAAAAAAAAAAAAAAAA////K/////v///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /9sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////BP// + /9v/////////////////////////////////////////dwAAAAAAAAAAAAAAAAAAAAD///8Q////4/// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////Pz8/3p6ev86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6 + Ov86Ojr/Ojo6/zo6Ov86Ojr/r6+v////////////////////////////////fwAAAAAAAAAAAAAAAAAA + AAD///+7//////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////XwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////X/////////////////////////////////// + ///////3////JwAAAAAAAAAAAAAAAAAAAAD///9D//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////Pz8/3p6ev86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov9JSUn///////// + /////////////////8f///8EAAAAAAAAAAAAAAAA////V/////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /9v///8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8I////3//////////////////////////////////////////L////BAAAAAAAAAAAAAAAAAAA + AAD///+D//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////Pz8/3p6ev86Ojr/Ojo6/zo6 + Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/0lJSf/////////////////////v////IAAAAAAAAAAAAAAAAP// + /xT////r//////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////XwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9f//////////////////////// + //////////////////////+HAAAAAAAAAAAAAAAAAAAAAP///wT///+7//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////Pz8/3p6ev86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/r6+v//// + ////////////+/39/UcAAAAAAAAAAAAAAAAAAAAA////q/////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /9f///8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wT////T//////////////////////////////////////////////9LAAAAAAAA + AAAAAAAAAAAAAP///xD////X//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////Pz8/3p6 + ev86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/6ioqP/////////////////5+flrAAAAAAAAAAAAAAAAAAAAAP// + /1////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////RwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///0f///////////// + //////////////////////////////////P///8nAAAAAAAAAAAAAAAAAAAAAP///yD////n//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////Pz8/3p6ev86Ojr/Ojo6/zo6Ov+oqKj///////// + ////////9vb2jwAAAAAAAAAAAAAAAAAAAAD///8r////8/////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /7MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///6////////////////////////////////////////////// + /9v///8YAAAAAAAAAAAAAAAAAAAAAP///yf////n//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////Pz8/6Kiov+EhIT/xMTE//////////////////T09JMAAAAAAAAAAAAAAAAAAAAA////FP// + /9v///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////z////IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////HP// + //P//////////////////////////////////////////////8P///8MAAAAAAAAAAAAAAAAAAAAAP// + /yf////n//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///19fWPAAAAAAAAAAAAAAAAAAAAAP///wT////D//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /3MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////a/////////////////////////////////// + /////////////////8P///8MAAAAAAAAAAAAAAAAAAAAAP///yf////b//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9vb2iwAAAAAAAAAAAAAAAAAAAAD///8E////q/// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////D////BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////v////////////////////////////////////////////////////8P///8MAAAAAAAA + AAAAAAAAAAAAAP///xj////H//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////+/r6 + +mcAAAAAAAAAAAAAAAAAAAAAAAAAAP///5v///////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////7/// + /yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8c////7/////////////////// + /////////////////////////////////8P///8MAAAAAAAAAAAAAAAAAAAAAP///wj///+b//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////+f+/v5DAAAAAAAAAAAAAAAAAAAAAP///wT///+b//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////9XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///9P//////////////////////////////////////////////////////// + /9P///8YAAAAAAAAAAAAAAAAAAAAAAAAAAD///9b////8/////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////+7////GAAA + AAAAAAAAAAAAAAAAAAD///8E////q/////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////jwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///+H//////// + /////////////////////////////////////////////////+f///8zAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8g////v/////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////z////awAAAAAAAAAAAAAAAAAAAAAAAAAA////FP///8P///////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////7////8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wT///+3//////////////////////////////////////// + //////////////////f///9jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////W////+f///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////r////yAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///y/////b//////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////X////FAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wz////X//////////////////////////////////////////////////////////////+n////EAAA + AAAAAAAAAAAAAAAAAAAAAAAA////EP///4P////3//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////z////0MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9j////8/////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////5////ycAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///yD////n//////////////////////// + ///////////////////////////////////////f////QwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /xj///+L////7/////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////y////08AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8U////q/////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////P///8zAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///yf////r//////////////////////////////////////////////////////// + ////////////n////xQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8Q////a////9P///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////3////p/// + /zcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////V////+v///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////z////OwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///zv////z//////// + ////////////////////////////////////////////////////////////7////3P///8IAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///y////+P////2/////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////f///+7////Y////xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////L/// + /7v///////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////8////zsAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///zv////v//////////////////////////////////////// + /////////////////////////////////9v///9f////BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////KP///2f///+n////2/////////////////////////////////////////////////// + ///////////////////////////////////////3////x////4////9L////DAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////JP///5/////7//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////+v///87AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /yf////n//////////////////////////////////////////////////////////////////////// + ///////b////b////wwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////EP// + /zj///9f////f////5f///+f////v////7////+/////v////7P///+f////i////2////9P////LAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////L////5/////7//////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////j////JwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///yP////X//////////////////////// + ////////////////////////////////////////////////////////////8////5P///8zAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8I////V////7////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////y////xgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///xT///+///////////////////////////////////////////////////////// + ///////////////////////////////////////b////g////zMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wz///9P////o/////P///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////6P///8MAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wT///+T//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////+f///+f////Z////zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8M////P////3v///+7////9/// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //v///9vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9X////8/////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //f////L////p////4P///9j////S////0D///8w////IP///yD///8g////QP///0D///9b////b/// + /4////+z////2/////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////b////MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8j////x/////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////k/// + /wwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8E////c/////f///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////2////z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////J////8P///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////9////4P///8IAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /1v////j//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////6f///8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wj///93////7/////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////6////8vAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8Q////f////+////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /6////8vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////CP// + /2v////X//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////7////4////8kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9H////p/////f///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////v////1////8IAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////DP///2P///+7////9/////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //v////D////b////xwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8M////U////5f////X//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////3////5////9X////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8Y////T/// + /4P///+z////3/////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////3////7P///+D////T////xgAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////DP///yz///9L////Y/// + /3////+T////n////5////+/////v////7////+3////n////5////+L////f////1////9H////KP// + /wgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////4AB///////////// + /////AAAA////////////////+AAAAB///////////////+AAAAAD//////////////8AAAAAAP///// + ////////+AAAAAAA/////////////+AAAAAAAD////////////+AAAAAAAAf////////////AAAAAAAA + B////////////gAAAAAAAAP///////////gAAAAAAAAB///////////wAAAAAAAAAP//////////4AAA + AAAAAAB//////////8AAAAAAAAAAP/////////+AAAAAAAAAAB//////////AAAAAAAAAAAP//////// + /wAAAAAAAAAAB/////////4AAAAAAAAAAAP////////8AAAAAAAAAAAD////////+AAAAAAAAAAAAf// + //////gAAAAAAAAAAAD////////wAAAAAAAAAAAA////////8AAAAAAAAAAAAH///////+AAAAAAAAAA + AAB////////gAAAAAAAAAAAAP///////wAAAAAAAAAAAAD///////8AAAAAAAAAAAAAf//////+AAAAA + AAAAAAAAH///////gAAAAAAAAAAAAA///////4AAAAAAAAAAAAAP//////8AAAAAAAAAAAAAD/////// + AAAAAAAAAAAAAAf//////wAAAAAAAAAAAAAH//////4AAAAAAAAAAAAAB/+A///+AAAAAAAAAAAAAAf+ + AD///gAAAAAAAAAAAAAD+AAf//4AAAAAAAAAAAAAA/AAB//+AAAAAAAAAAAAAAPgAAf//AAAAAAAAAAA + AAAD4AAD//wAAAAAAAAAAAAAA8AAA+D8AAAAAAAAAAAAAAPAAAHAfAAAAAAAAAAAAAADwAABwHwAAAAA + AAAAAAAAA8AAAcA8AAAAAAAAAAAAAAOAAAHAPAAAAAAAAAAAAAADgAABwDwAAAAAAAAAAAAAA4AAAcA8 + AAAAAAAAAAAAAAOAAAHAPAAAAAAAAAAAAAADgAABwDwAAAAAAAAAAAAAA4AAAcA8AAAAAAAAAAAAAAOA + AAHgPgAAAAAAAAAAAAADgAAB4D4AAAAAAAAAAAAAA4AAAeAeAAAAAAAAAAAAAAOAAAHgHgAAAAAAAAAA + AAAHAAAB4B4AAAAAAAAAAAAABwAAA+AfAAAAAAAAAAAAAAcAAAPwDwAAAAAAAAAAAAAHAAAD8A8AAAAA + AAAAAAAADgAAA/APAAAAAAAAAAAAAA4AAAPwB4AAAAAAAAAAAAAOAAAH+AeAAAAAAAAAAAAAHAAAB/gH + wAAAAAAAAAAAABwAAAf4A8AAAAAAAAAAAAAcAAAP/APAAAAAAAAAAAAAOAAAD/wB4AAAAAAAAAAAADgA + AA/8AfAAAAAAAAAAAABwAAAf/gDwAAAAAAAAAAAA8AAAH/4AeAAAAAAAAAAAAOAAAD/+AHgAAAAAAAAA + AAHgAAA//wA8AAAAAAAAAAABwAAAP/8AHgAAAAAAAAAAA4AAAH//gB4AAAAAAAAAAAeAAAB//4APAAAA + AAAAAAAPAAAA///AB4AAAAAAAAAAHgAAAf//4APAAAAAAAAAADwAAAH//+AB4AAAAAAAAAB4AAAD///w + APAAAAAAAAAA8AAAA///+AB4AAAAAAAAAfAAAAf///gAPAAAAAAAAAPAAAAP///8AB8AAAAAAAAHgAAA + H////gAPgAAAAAAAHwAAAB////4AB+AAAAAAAD4AAAA/////AAHwAAAAAAD8AAAAf////4AA/AAAAAAD + 8AAAAP/////AAD8AAAAAD+AAAAH/////4AAP4AAAAD+AAAAD//////AAA/wAAAH+AAAAB//////4AAD/ + wAA/+AAAAA///////AAAP////8AAAAAf//////4AAAf///4AAAAAP///////AAAAf//gAAAAAP////// + /8AAAAAAAAAAAAH////////gAAAAAAAAAAAD////////8AAAAAAAAAAAD/////////wAAAAAAAAAAB// + ////////AAAAAAAAAAB//////////4AAAAAAAAAB///////////gAAAAAAAAB///////////+AAAAAAA + AB////////////8AAAAAAAB/////////////wAAAAAAD//////////////gAAAAAH/////////////// + gAAAAf////////////////wAAD////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////KAAAAGAAAADAAAAAAQAgAAAAAACAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////Af7+/gz///8W////Hf7+/h////8f////H/7+/h////8Y////EP7+ + /gUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////IP7+/l7///+U////vf7+/tf////r////+f7+ + /v7///////////7+/v3////w////4P7+/sn///+n////dv7+/jj///8GAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4F/v7+Of7+/o/+/v7a/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7y/v7+rf7+/lj+/v4UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+EP// + /2j////L////+P7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v3////l/v7+lP///yj///8CAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP7+/gn+/v5v/v7+3v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/vX+/v6k/v7+JQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8D/v7+Tf///93//////v7+/v////////////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7++v///4f///8TAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xv///+j/v7++f// + /////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v// + /////////v7+/v////7////W/v7+RwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA/v7+Ov7+/tz+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7++P7+/n/+/v4FAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wP///9p/v7+9f///////////v7+/v///////////v7+/v// + //////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v// + /////////v7+/v////////+x/v7+FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+BP///37////5/v7+/v// + /////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7//////v7+/v///////////v7+/v///////////v7+/v/////////+/v7+yf///x0AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD+/v4E/v7+i/7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/tH+/v4dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wL///99/v7+/f///////////v7+/v///////////v7+/v// + /////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v/////////Q/v7+FwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///2T////4/v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + ///////+/v7+u////wcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA/v7+Nf7+/vT+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/oz+/v4CAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8W/v7+1////////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + //z///9YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wL///+c/v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v/////////h/v7+HQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP7+/kX+/v73/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ogAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+Bv///9T//////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+X/// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + //////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///7////8HAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD+/v4L/v7+0f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/vz+/v5HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9W/v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v////////+6/v7+AQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+ + /gL///+8/v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + ///////1/v7+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/in////z/v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+hQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/nf+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+3QAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP7+/sX//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///ywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Df7+/vr//////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///24AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8Y/v7+P////0f///80/v7+CAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+Rv7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/qoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4E/v7+Uv7+/sr+/v79/v7+/v7+ + /v7+/v7+/v7+8/7+/p7+/v4rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////ef7+/v7//////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///9T///8KAAAAAAAAAAAAAAAAAAAAAP// + /w7///+l/v7++////////////v7+/v///////////v7+/v/////////r/v7+YAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////o/7+/v7//////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + //////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + //H///8ZAAAAAAAAAAAAAAAA/v7+Av///67////+/v7+/v///////////v7+/v///////////v7+/v// + /////////v7++v///1YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD+/v4D/v7+xv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v4uAAAAAAAAAAAAAAAA/v7+cv7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/ur+/v4jAAAAAAAAAAAAAAAA/v7+A/// + /z////9k/v7+LAAAAAAAAAAAAAAAAAAAAAD///8M////2P7+/v7//////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////9KAAAAAAAA + AAD///8S/v7+4P///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + //////+NAAAAAAAAAAAAAAAA/v7+d/////3//////v7+9P///0cAAAAAAAAAAAAAAAD///8S////4/7+ + /v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v////////9fAAAAAAAAAAD///9L/v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v/////////b/v7+BwAAAAD+/v4R/v7+4/7+/v7+/v7+/v7+/v7+ + /roAAAAAAAAAAAAAAAD+/v4X/v7+7v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v5nAAAAAAAAAAD+/v58/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7y/v7+JgAA + AAD///8X/v7+7v///////////v7+/v///87///8HAAAAAAAAAAD///8X////7/7+/v7//////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + //////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + //////9nAAAAAAAAAAD///+V/v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v/////////3/v7+LwAAAAD///8V/v7+6v///////////v7+/v///8////8HAAAAAAAA + AAD///8X////7/7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v////////9nAAAAAAAAAAD///+X/v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v/////////3/v7+LwAAAAD+/v4Q/v7+3/7+ + /v7+/v7+/v7+/v7+/tf+/v4MAAAAAAAAAAD+/v4T/v7+5v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v5iAAAAAAAA + AAD+/v6a/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v71/v7+LQAAAAD///8L/v7+1f///////////v7+/v///+f///8TAAAAAAAAAAD///8N////2v7+ + /v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v////////9OAAAAAAAAAAD///+v/v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v/////////v/v7+IAAAAAD///8E/v7+x////////////v7+/v// + //n///8dAAAAAAAAAAD///8E////x/7+/v7//////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v////////80AAAAAAAAAAD////E/v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v/////////p/v7+EwAA + AAAAAAAA/v7+sP7+/v7+/v7+/v7+/v7+/v7+/v5AAAAAAAAAAAAAAAAA/v7+q/7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /vX+/v4bAAAAAP7+/gX+/v7h/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7f/v7+BAAAAAAAAAAA/v7+jf///////////v7+/v////////9sAAAAAAAA + AAAAAAAA////gP7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///9n///8MAAAAAP///xz////t/v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v/////////BAAAAAAAAAAAAAAAA/v7+Zf// + /////////v7+/v////////+gAAAAAAAAAAAAAAAA////T/7+/v7//////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///7MAAAAAAAAAAP// + /z7////8/v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + //////+dAAAAAAAAAAAAAAAA/v7+N/7+/v7+/v7+/v7+/v7+/v7+/v7Z/v7+BgAAAAAAAAAA/v7+Fv7+ + /v3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/noAAAAAAAAAAP7+/m7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v5tAAAAAAAAAAAAAAAA/v7+C/////n//////v7+/v// + ///////1/v7+LgAAAAAAAAAAAAAAAP7+/s///////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///zUAAAAAAAAAAP///6z//////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////7///87AAAAAAAA + AAAAAAAAAAAAAP///8z//////v7+/v///////////v7+bwAAAAAAAAAAAAAAAP7+/ob//////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + //////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+5v// + /wIAAAAA/v7+BP///+3//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///+z///8WAAAAAAAAAAAAAAAAAAAAAP7+/oj+/v7+/v7+/v7+/v7+/v7+/v7+xgAA + AAAAAAAAAAAAAP7+/jT+/v73/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v39/f7p6en+9/f3/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+jwAAAAAAAAAA/v7+P/7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/rv+/v4CAAAAAAAAAAAAAAAAAAAAAP// + /0X////8/v7+/v///////////v7+/P///ykAAAAAAAAAAP7+/gT////I/v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7/////+fn5/oSEhP9HR0f/YWFh/ufn5////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v/////////4/v7+PAAAAAAAAAAA/v7+k/// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /3cAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/hH+/v7l/v7+/v7+/v7+/v7+/v7+/v7+/ooAAAAAAAAAAAAA + AAD+/v5o/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v75+fn+g4OD/jk5 + Of45OTn+OTk5/l1dXf7n5+f+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7I/v7+BAAAAAD+/v4Q/v7+4P7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/iwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///+f/v7+/v// + /////////v7+/v///+f///8WAAAAAAAAAAD///8Q/v7+3////////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v6RkZH/OTk5/jo6Ov86Ojr/OTk5/jo6Ov9aWlr/5OTk/v///////////v7+/v// + /////////v7+/v///////////v7+/v////7///9WAAAAAAAAAAD///9a/v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+0wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///9M/v7+/f///////////v7+/v////////9zAAAAAAAAAAAAAAAA/v7+dv// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + //////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v5nZ2f/OTk5/jo6Ov86Ojr/OTk5/jo6 + Ov86Ojr/Wlpa/ufn5////////v7+/v///////////v7+/v///////////v7+/v///8z///8LAAAAAP// + /wX////D/v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4O/v7+3P7+/v7+/v7+/v7+/v7+ + /v7+/v7h/v7+FgAAAAAAAAAA/v7+Cv7+/uH+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v6ysrL+PT09/jk5Of45OTn+OTk5/jk5Of45OTn+OTk5/l1dXf7n5+f+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/lUAAAAAAAAAAP7+/kr+/v76/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7x/v7+JgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA/v7+gP///////////v7+/v//////////////iAAAAAAAAAAAAAAAAP///1n////7/v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7+/v7/srKy/j09Pf86Ojr/OTk5/jo6Ov86Ojr/OTk5/jo6 + Ov9aWlr/5OTk/v///////////v7+/v///////////v7+ugAAAAAAAAAA/v7+Af///8f//////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////+oAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+Gv////b//////v7+/v//////////////9v7+ + /icAAAAAAAAAAP///wX///+x/v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/qys + rP9AQED/OTk5/jo6Ov86Ojr/OTk5/jo6Ov86Ojr/Wlpa/unp6f///////v7+/v/////////u/v7+LgAA + AAAAAAAA/v7+Vv////7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v////n///88AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+ + /pn+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/rf+/v4HAAAAAAAAAAD+/v4j/v7+5v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v6srKz+PT09/jk5Of45OTn+OTk5/jk5Of45OTn+OTk5/oGB + gf7+/v7+/v7+/v7+/v7+/v5yAAAAAAAAAAD+/v4R/v7+2P7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/rT+/v4EAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///yn////w/v7+/v////////////////7+/v7///91AAAAAAAA + AAAAAAAA/v7+S/////r//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + //////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v/////+/v7/srKy/j09 + Pf86Ojr/OTk5/jo6Ov86Ojr/OTk5/oGBgf///////v7+/v///6j///8FAAAAAP///wH///+W/v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/f// + /zcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///+V/v7+/v// + //////////////7+/v7////w/v7+PQAAAAAAAAAAAAAAAP///4H////8/v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7//////v7+/v///////////v7+/qysrP9AQED/OTk5/jo6Ov86Ojr/Wlpa/unp6f///////f390Pr6 + +hEAAAAAAAAAAP///0v////2/v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD+/v4e/v7+6f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+4P7+/hYAAAAAAAAAAP7+ + /gX+/v6e/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v6srKz+PT09/jk5 + Of5aWlr+5OTk/v7+/v79/f3g6urqJwAAAAAAAAAA/v7+GP7+/uP+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7v/v7+KgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+bf////////////////7+ + /v7//////v7+/v///8P///8QAAAAAAAAAAD///8H/v7+n////////////v7+/v///////////v7+/v// + /////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v// + /////////v7+/v/////+/v7/ycnJ/qmpqf/u7u7//v7+/vz8/N7k5OQqAAAAAAAAAAD///8P/v7+wf// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + //////94AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA/v7+Bf///8n///////////7+/v7//////v7+/v////7///+t/v7+DgAAAAAAAAAA/v7+B/// + /6P////8/v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////f394OXl + 5SkAAAAAAAAAAP7+/gj///+i/v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///8f///8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/jP+/v7z/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+sP7+/gYAAAAAAAAAAP7+/gb+/v6K/v7+/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7O7u7uJgAAAAAAAAAAAAAAAP7+/pX+/v79/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+9f7+/i4AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///9v/////v7+/v7//////v7+/v///////////v7+/v///7H///8SAAAAAAAAAAD///8B/v7+Wv// + /+7//////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7//////v7+/v///////////v7+/v///////////v7+/f///5/9/f0RAAAAAAAAAAD+/v4I/v7+lf// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + ///////7/v7+aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8H////qP7+/v7//////v7+/v///////////v7+/v// + //7////A/v7+IAAAAAAAAAAAAAAAAP///y/////E/v7+/f///////////v7+/v////////////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v/////////p/v7+Zv// + /wQAAAAAAAAAAP///w////+i/v7+/f///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v////7///+c/v7+AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+Ev7+ + /tb+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+3f7+/jgAAAAAAAAAAAAAAAD+/v4K/v7+cP7+ + /vH+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/q7+/v4lAAAAAAAAAAAAAAAA/v7+Gv7+/sH+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/r/+/v4PAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/if////j/v7+/v///////////v7+/v///////////v7+/v// + //f///96/v7+BwAAAAAAAAAAAAAAAP///xr///+W/v7+8v////////////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7//////v7+/v////3////D/v7+RgAAAAAAAAAAAAAAAP///wH///9O/v7+4/// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+0////xYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8//v7+6v// + /////////v7+/v///////////v7+/v/////////9/v7+wf///y////8BAAAAAAAAAAD///8B/v7+JP// + /47////k/////v7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7////0/v7+t////0n///8HAAAAAAAA + AAAAAAAA/v7+Ef///5b////2/v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v/////////Z/v7+KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA/v7+Sf7+/vj+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /vH+/v6L/v7+EwAAAAAAAAAAAAAAAAAAAAD+/v4S/v7+WP7+/rX+/v71/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v79/v7+1f7+ + /n3+/v4s/v7+AQAAAAAAAAAAAAAAAP7+/gP+/v5X/v7+2P7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/t3+/v4pAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///0v////r/v7+/v// + /////////v7+/v///////////v7+/v///////////v7+6v///3b///8XAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8M////RP7+/oX///+2////2P7+/vL///////////7+/v7///////////7+/v7/////////+f7+ + /uT////H////nP7+/mL///8fAAAAAAAAAAAAAAAAAAAAAAAAAAD///8F/v7+Sv///8f////+/v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+0v///yEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///9A/v7+5f///////////v7+/v///////////v7+/v///////////v7+/v// + //7////l/v7+jv///yn///8EAAAAAAAAAAAAAAAAAAAAAAAAAAD///8B////DP7+/hn///8n////N/7+ + /k////9P////T/7+/kP///8y////HP7+/hL///8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+Ef// + /17////H/v7++v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v////7///++/v7+HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+LP7+/tv+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/vf+/v6+/v7+b/7+/h0AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA/v7+Bv7+/kf+/v6a/v7+4v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/p/+/v4PAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///xT///+v/v7+/f///////////v7+/v///////////v7+/v///////////v7+/v// + //////////////7+/v3////S////lP7+/lr///8x////F/7+/gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP7+/gv///8j////Q/7+/nj///+y////8f7+/v7//////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + ///////w/v7+bgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8I/v7+d/////T//////v7+/v// + /////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7////3////6v7+ + /tv////C////r/7+/qD///+X////l/7+/q////+5////0P7+/uT////x/////f7+/v7///////////7+ + /v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v///////////v7+/v///8r///83AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP7+/jr+/v7O/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v72/v7+h/7+/gsAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8I/v7+e/////D//////v7+/v// + /////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v// + /////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/f// + /7b///8vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///yj///+i/v7+9f///////////v7+/v////////////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v// + /////////v7+/v////z////L/v7+Uv///wUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4C/v7+Nv7+/rH+/v77/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+0v7+/lT+/v4HAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8n/v7+kv///+r///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+8v///6r///9C/v7+AQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xj///9g////u/7+ + /vH////+//////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+ + /v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v/////////+/v7+8/// + /8X///9y/v7+If///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/iT+/v5h/v7+qP7+/uj+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+7P7+/qz+/v5l/v7+KP7+/gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+ + /gH///8m////W/7+/o3///+2////0v7+/uf////4//////7+/v7///////////7+/v7///////////7+ + /v7////3////5v7+/tD///+1/v7+jf///1v///8m/v7+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Cf7+/hT///8c////K/7+ + /jf///9D////T/7+/k////8/////N/7+/ib///8b////E/7+/ggAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////8AH/////////////gAAf///////////4AAAD///////////gAAAAf//////// + /+AAAAAP/////////4AAAAAD/////////wAAAAAB/////////gAAAAAAf///////+AAAAAAAP/////// + 8AAAAAAAH///////4AAAAAAAD///////wAAAAAAAB///////wAAAAAAAA///////gAAAAAAAAf////// + AAAAAAAAAf/////+AAAAAAAAAP/////+AAAAAAAAAP/////8AAAAAAAAAH/////8AAAAAAAAAD/////4 + AAAAAAAAAD/////4AAAAAAAAAB/////wAAAAAAAAAB/////wAAAAAAAAAB/////wAAAAAAAAAB/////w + AAAAAAAAAA/////gAAAAAAAAAA/4P//gAAAAAAAAAA/AD//gAAAAAAAAAAeAB//gAAAAAAAAAAcAA//A + AAAAAAAAAAcAAcPAAAAAAAAAAAYAAcHAAAAAAAAAAAYAAIHAAAAAAAAAAAYAAIDAAAAAAAAAAAYAAIDA + AAAAAAAAAAYAAIDAAAAAAAAAAAYAAIDAAAAAAAAAAAYAAIDAAAAAAAAAAAYAAMDgAAAAAAAAAAQAAMDg + AAAAAAAAAAQAAcDgAAAAAAAAAAwAAcBgAAAAAAAAAAwAAcBwAAAAAAAAAAwAAeBwAAAAAAAAAAgAAeBw + AAAAAAAAABgAAeAwAAAAAAAAABgAA+A4AAAAAAAAABAAA/AYAAAAAAAAADAAB/AcAAAAAAAAACAAB/AM + AAAAAAAAAGAAB/gOAAAAAAAAAMAAD/gGAAAAAAAAAMAAD/wDAAAAAAAAAYAAD/wDgAAAAAAAAQAAH/4B + wAAAAAAAAwAAP/4AwAAAAAAABgAAP/8AYAAAAAAADAAAf/8AMAAAAAAAGAAAf/+AGAAAAAAAOAAA///A + DAAAAAAAYAAB///ABwAAAAAAwAAB///gA4AAAAADgAAD///wAOAAAAAOAAAH///4ADAAAAAcAAAP///8 + AB4AAABwAAAf///+AAfAAAfAAAA/////AAD4AD8AAAB/////gAA///gAAAD/////wAAA/wAAAAP///// + 4AAAAAAAAAf/////+AAAAAAAAA///////AAAAAAAAD///////wAAAAAAAH///////4AAAAAAAf////// + //AAAAAAB/////////wAAAAAH/////////+AAAAA///////////wAAAP////////////gAH///////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////ygAAABIAAAAkAAAAAEAIAAAAAAAYFQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///xL///9O////f////6b////D////1v///9f////X////zv///7j///+W////bP// + /zP///8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xz+/v5y////x/// + //z+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7////t/v7+ov// + /0n+/v4HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8q////oP////L///////////////////////////// + //////////////////////////////////////////////////////////////////7////X////a/// + /wsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////Fv7+/pj////5/v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v// + ///+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+/t7///9U////AgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9S////4/// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////8////rv///xgAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Bv///4v+/v78//////7+/v7//////v7+/v// + ///+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+ + /v7//////v7+/v/////+/v7+//////7+/v7///////////7+/uH///86AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8L////sP////7///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////z////VQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wv+/v69///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+ + /v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+ + /v7///////////7+/v7//////v7++P///1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Bv///67////+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////X///9JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////hv////7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////s////JQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///9M/v7++//////+/v7+///////////+/v7+//////7+/v7//////v7+/v// + ///+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+ + /v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/v/////+/v7+////yv7+ + /goAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /xP////g//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v///34AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/o///////v7+/v// + ///+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+ + /v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+ + /v7///////////7+/v7//////v7+/v/////+/v7+//////7+/vf///8jAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////IP////b///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////+lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////lP7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+ + /v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////// + ///+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/v// + ///+/v7+//////7+/v7////2////KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8U////7P////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////jwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v5i//////7+ + /v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////// + ///+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v// + ///+/v7+//////7+/v7///////////7+/v7//////v7+/v/////+/v7+//////7+/v7/////////6P7+ + /gcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///+3//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v///0QAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wf////2//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////4oAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8B////Iv///zX///8h////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///zv+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+ + /v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////// + ///+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/v// + ///+/v7+//////7+/v7///////////7+/sUAAAAAAAAAAAAAAAAAAAAA////Bv7+/mj////g//////7+ + /v7//////v7+2////2X+/v4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /2z///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////+r///8NAAAAAAAAAAD///8F////pf////7///////////////////////////// + //3///+g////AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///5L+/v7+//////7+ + /v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////// + ///+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v// + ///+/v7+//////7+/v7///////////7+/v7//////v7+/v/////+/v7+//////7+/v7///////////7+ + /v7///8fAAAAAAAAAAD+/v5//////v7+/v7///////////7+/v7//////v7+/v/////+/v7+////cwAA + AAAAAAAA////Av///1v///+G////JwAAAAAAAAAAAAAAAP///67///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////85AAAAAP// + /xT////t////////////////////////////////////////////////////5v///w4AAAAA////VP7+ + /v7//////v7+4P///wgAAAAAAAAAAP///8D+/v7+//////7+/v7//////v7+/v/////+/v7+//////// + ///+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v// + ///+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7///////////7+ + /v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7///9MAAAAAP///07+/v7+//////7+ + /v7///////////7+/v7//////v7+/v/////+/v7+//////7+/kEAAAAA////hP////////////////// + /x4AAAAAAAAAAP///8X///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////9NAAAAAP///2z///////////////////////////// + /////////////////////////////////1wAAAAA////ff7+/v7//////v7+/v///yEAAAAAAAAAAP// + /8X+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v// + ///+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+ + /v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/v/////+/v7+//////7+ + /v7///////////7+/v7///9NAAAAAP///3H+/v7+//////7+/v7///////////7+/v7//////v7+/v// + ///+/v7+//////7+/l0AAAAA////cP///////////////////zQAAAAAAAAAAP///7T///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////9CAAAAAP///3v///////////////////////////////////////////////////////////// + /1MAAAAA////W////////////////////04AAAAAAAAAAP///5z///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////8rAAAAAP// + /5D//////////////////////////////////////////////////////////////0EAAAAA////QP7+ + /v7//////v7+/v///3UAAAAAAAAAAP///3v+/v7+//////7+/v7//////v7+/v/////+/v7+//////// + ///+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v// + ///+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7///////////7+ + /v7//////v7+/v/////+/v7+//////7+/v7///////////7+/vT///8SAAAAAP///7H+/v7+//////7+ + /v7///////////7+/v7//////v7+/v/////+/v7+/////f7+/ikAAAAA////G/////7///////////// + /6MAAAAAAAAAAP///07///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////9b///8EAAAAAP///9n///////////////////////////// + ////////////////////////////7////xQAAAAA////Bf7+/ur//////v7+/v///9v+/v4DAAAAAP// + /xf+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v// + ///+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+ + /v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/v/////+/v7+//////7+ + /v7///////////7+/qIAAAAA/v7+Fv////X+/v7+//////7+/v7///////////7+/v7//////v7+/v// + ///+/v7+////1v7+/gEAAAAAAAAAAP///7z///////////////n///8pAAAAAAAAAAD////S//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v// + /14AAAAA////Sv////7/////////////////////////////////////////////////////////pAAA + AAAAAAAAAAAAAP7+/oD//////v7+/v/////+/v50AAAAAAAAAAD+/v6D//////7+/v7//////v7+/v// + ///+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+ + /v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+ + /v7///////////7+/v7//////v7+/v/////+/v7+//////7+/v7/////////9v7+/hYAAAAA/v7+kf// + ///+/v7+//////7+/v7///////////7+/v7//////v7+/v/////+/v7+////aQAAAAAAAAAAAAAAAP// + /zz////9///////////////N////AgAAAAD///8s////+P////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////u7u7/eXl5/3t7e//y8vL///////// + ////////////////////////////////////////////swAAAAD///8H////3P////////////////// + ///////////////////////////////////////9////IwAAAAAAAAAAAAAAAP7+/gn////k/v7+/v// + ///+/v7+////NwAAAAD+/v4B////vP7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+ + /v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////// + ///+/v7+//////7+/v7//////v7+/u7u7v9jY2P+Ojo6/zk5Of5oaGj/8fHx//7+/v7//////v7+/v// + ///+/v7+//////7+/v7////+////TAAAAAD///9C/v7+/v/////+/v7+//////7+/v7///////////7+ + /v7//////v7+/v/////+/v7T////AgAAAAAAAAAAAAAAAAAAAAD///+Y////////////////////qQAA + AAAAAAAA////Sf////7///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////5WVlf86Ojr/Ojo6/zo6Ov86Ojr/ZmZm//Hx8f////////////////////////////// + ///////K////BgAAAAD///+r//////////////////////////////////////////////////////// + //////98AAAAAAAAAAAAAAAAAAAAAAAAAAD///88/v7+/v/////+/v7+////9////zEAAAAA////Av7+ + /sD//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////// + ///+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/ri4 + uP87Ozv+Ojo6/zk5Of46Ojr/Ojo6/2hoaP7y8vL//v7+/v/////+/v7+//////7+/v7///9QAAAAAP7+ + /iz////3/v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/v////f+/v4mAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8E////zf///////////////////7cAAAAAAAAAAP///zX////2//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////7+/v+srKz/PDw8/zo6 + Ov86Ojr/Ojo6/zo6Ov9mZmb/8PDw/////////////////////7gAAAAAAAAAAP///6f///////////// + /////////////////////////////////////////////////7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////Yf////7///////////////7///9TAAAAAAAAAAD///+I//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v7/qamp/zw8PP86Ojr/Ojo6/zo6 + Ov86Ojr/bW1t//v7+///////////7v///ycAAAAA////Ov////z///////////////////////////// + /////////////////////////////f///zwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+CP// + /9r+/v7+///////////+/v7k////GwAAAAD///8J/v7+xf/////+/v7+///////////+/v7+//////7+ + /v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////// + ///+/v7+//////7+/v7//////v7+/v/////+/v7+/v7+/6ysrP47Ozv/Ojo6/zk5Of46Ojr/Q0ND/vX1 + 9f/+/v79////XgAAAAD///8L////z/7+/v7//////v7+/v/////+/v7+//////7+/v7///////////7+ + /v7//////v7+tv///wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///1/////+//////// + ////////////tv///wQAAAAA////If///+L///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v+pqan/PT09/zo6Ov8/Pz//t7e3//7+/v75+fmN/f39AQAA + AAD///+J/////v/////////////////////////////////////////////////////////5////NgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wb+/v7G///////////+/v7+/////v7+ + /or///8BAAAAAP///zT+/v7p///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////// + ///+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v// + ///+/v7+//////7+/v7+/v7/ra2t/19fX/66urr//v7+/vX19aLr6+sGAAAAAP7+/k7////8//////7+ + /v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7///+XAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///81////+P////////////////////z///9vAAAAAAAA + AAD///80////6f////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////z8/P/////+9fX1oefn5wYAAAAA/v7+Nf///+7///////////////////////////// + /////////////////////////////////9////8VAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////hf/////+/v7+//////7+/v7////7/v7+bgAAAAAAAAAA////K/// + /9f+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v// + ///+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7///////////7+ + /vz7+/uM7u7uBQAAAAD+/v4m////5/7+/v7///////////7+/v7//////v7+/v/////+/v7+//////7+ + /v7/////////+/7+/kcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////Cf///8P//////////////////////////P///3r///8DAAAAAP///xD///+q/////f// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////6v///1b+/v4BAAAAAP// + /zX////n///////////////////////////////////////////////////////////////+////ggAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /x/+/v7o//////7+/v7//////v7+/v////3+/v6g////CgAAAAD+/v4D////W/7+/uX//////v7+/v// + ///+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+ + /v7//////v7+/v/////+/v7+//////7+/v7///+v////IAAAAAAAAAAA/v7+UP///+7+/v7+//////7+ + /v7///////////7+/v7//////v7+/v/////+/v7+//////7+/v7///+u////BgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///87////8f// + ////////////////////////////0////zUAAAAAAAAAAP///w////+C////6f////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////9////w////0YAAAAAAAAAAP///wv///+K/////P////////////////////////////////// + /////////////////////////////////8b///8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Tv////n///////////// + //////////////////b///+F////DwAAAAAAAAAA////FP///2z////N////+/////////////////// + ///////////////////////////////////////////////////////+////8f///6T///8/////BAAA + AAD///8B////Ov///8/////+//////////////////////////////////////////////////////// + ////////////y////xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/lf////z/v7+/v/////+/v7+//////// + ///+/v7+////5P7+/mn///8NAAAAAAAAAAAAAAAA////KP///2v+/v6p////1v7+/vL//////v7+/v// + ///+/v7+//////////v+/v7n////xv7+/pD///9N/v7+DgAAAAAAAAAAAAAAAP7+/iz///+o/////P7+ + /v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/v/////+/v7F////FAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9J////7v////////////////////////////////// + //7////i////gf///yP///8CAAAAAAAAAAAAAAAA////BP///xH///8g////Mv///zv///87////K/// + /xj///8MAAAAAAAAAAAAAAAAAAAAAP///wj///9F////r/////f///////////////////////////// + /////////////////////////////////////////////v///6////8QAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA/v7+Mv///9v+/v7+///////////+/v7+//////7+/v7//////v7+/v// + //r+/v7F////eP///zj+/v4LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+ + /hv///9P/v7+lv///+H+/v7+//////7+/v7///////////7+/v7//////v7+/v/////+/v7+//////7+ + /v7///////////7+/v7////7/v7+hP///wYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///xX///+t/////f////////////////////////////////////////////////// + //3////x////z////6r///+O////f////3H///92////hf///5n///+4////3/////b////+//////// + //////////////////////////////////////////////////////////////////////////////// + /+H///9LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD+/v4C////ZP///+z+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+ + /v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+ + /v7///////////7+/v7//////v7+/v/////+/v7+//////7+/v7////8////oP7+/hYAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /xv///+j////+P////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////f///8f///89////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Nv7+ + /rP////9/v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////// + ///+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/v// + ///+/v7N////T/7+/gUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8r////mP// + /+r///////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////x////qP///z8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///xH///9Z////q/// + /+7////9//////////////////////////////////////////////////////////////////////// + //////////////////3////v////sP///2D///8YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wb+/v45////cf7+ + /qP////M/v7+5f////j+/v7+///////////+/v7+//////7+/v7////3/v7+5P///8v+/v6j////cf7+ + /jv///8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8B////C/// + /xT///8i////LP///zv///86////K////yD///8T////Cv///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////8AAAD///////////8A + AAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8A + AAD///////////8AAAD////AAP////8AAAD///4AAB////8AAAD///gAAAf///8AAAD//+AAAAH///8A + AAD//8AAAAD///8AAAD//wAAAAB///8AAAD//gAAAAA///8AAAD//AAAAAAf//8AAAD/+AAAAAAP//8A + AAD/+AAAAAAH//8AAAD/8AAAAAAD//8AAAD/4AAAAAAD//8AAAD/4AAAAAAB//8AAAD/wAAAAAAB//8A + AAD/wAAAAAAA//8AAAD/gAAAAAAA//8AAAD/gAAAAAAAf/8AAAD/gAAAAAAAf/8AAAD/AAAAAAAAfg8A + AAD/AAAAAAAAeAMAAAD/AAAAAAAAMAEAAAD/AAAAAAAAMAEAAACHAAAAAAAAIAAAAACDAAAAAAAAIAAA + AACDAAAAAAAAIAAAAACDAAAAAAAAIAAAAACDAAAAAAAAIAAAAACDAAAAAAAAIAAAAACDAAAAAAAAIAAA + AACDAAAAAAAAIAAAAACBAAAAAAAAQAAAAADBgAAAAAAAQAEAAADBgAAAAAAAQAEAAADAgAAAAAAAgAEA + AADAgAAAAAAAgAEAAADgwAAAAAAAgAMAAADgQAAAAAABAAMAAADgYAAAAAADAAcAAADwMAAAAAACAAcA + AADwEAAAAAAEAAcAAAD4CAAAAAAEAA8AAAD4BAAAAAAIAB8AAAD8BgAAAAAQAB8AAAD+AwAAAAAgAD8A + AAD+AIAAAABAAH8AAAD/AEAAAAGAAH8AAAD/gDAAAAYAAP8AAAD/wAwAAAgAAf8AAAD/4AOAAHAAA/8A + AAD/8ABwB4AAB/8AAAD/+AAP/AAAD/8AAAD//AAAAAAAP/8AAAD//gAAAAAAf/8AAAD//4AAAAAA//8A + AAD//+AAAAAD//8AAAD///gAAAAf//8AAAD///4AAAB///8AAAD////AAAP///8AAAD////8AD////8A + AAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8A + AAAoAAAAQAAAAIAAAAABACAAAAAAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////Dv///0j///94////nf///7b///+/////v////7r///+l////g////1f///8bAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///w3///9n////wP////z///////////////////////////////////////////// + /////////////////9X///+A////IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////E////4v////y//////////////////////////////////////// + //////////////////////////////////////////////////3///+s////LQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8C////bP////D///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //3///+W////DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8Z////v/////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////+H///87AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8z////5v// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////+f///2IAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///9B////8f////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////dwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8x////8P////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////9oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8X////5P////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////P///0IAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8B////uv////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////p////FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Zf// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////D////+z///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////PwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///3////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wj////s//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////OQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9a//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////58AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////sf////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////w////BQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////Bv////X///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////z8AAAAAAAAAAAAAAAAAAAAAAAAAAP///wL///8k////Lf///w0AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///zf///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////96AAAAAAAAAAAAAAAA////A////3D////n//////// + ///////6////q////xwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9m//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////qwAAAAAAAAAA////Af// + /6P////////////////////////////////////p////JgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////iv////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /84AAAAAAAAAAP///2L//////////////////////////////////////////////8kAAAAAAAAAAP// + /zb////c////z////x8AAAAAAAAAAP///6L///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////mAAAAAAAAAAD////P//////////////////////////////////////// + ////////////NQAAAAD///+n//////////////+CAAAAAAAAAAD///+v//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////7wAAAAD///8F/////f////////////////// + /////////////////////////////////2kAAAAA////rP//////////////jwAAAAAAAAAA////r/// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////+8AAAAA////EP// + //////////////////////////////////////////////////////9vAAAAAP///57///////////// + /5oAAAAAAAAAAP///6T///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////oAAAAAP///xb/////////////////////////////////////////////////////////aQAA + AAD///+K//////////////+2AAAAAAAAAAD///+M//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////0gAAAAD///8p//////////////////////////////////////// + /////////////////1cAAAAA////b///////////////3AAAAAAAAAAA////a/////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////68AAAAA////Sv////////////////// + //////////////////////////////////////89AAAAAP///0r///////////////3///8OAAAAAP// + /zz///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////+AAAAAAP// + /3T/////////////////////////////////////////////////////////GQAAAAD///8d//////// + ////////////SgAAAAD///8K////+P////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////RgAAAAD///+o////////////////////////////////////////////////////6wAA + AAAAAAAAAAAAAP///+b//////////////5MAAAAAAAAAAP///7r///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////9P///wn///8C////6f////////////////////////////////// + /////////////////7UAAAAAAAAAAAAAAAD///+l///////////////l////AwAAAAD///9j//////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////X19f/ycnJ//// + /////////////////////////////////////////////////6cAAAAA////N/////////////////// + //////////////////////////////////////9zAAAAAAAAAAAAAAAA////W/////////////////// + /0wAAAAA////Df////L///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///Dw8P/Pj4+/zo6Ov+ioqL///////////////////////////////////////////////9EAAAAAP// + /5H/////////////////////////////////////////////////////////KQAAAAAAAAAAAAAAAP// + /w7////4//////////////+7AAAAAAAAAAD///+N//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////p6en/Pj4+/zo6Ov86Ojr/Ojo6/6Kiov////////////////////////////// + ///////O////Af///wr////t////////////////////////////////////////////////////1AAA + AAAAAAAAAAAAAAAAAAAAAAAA////rP///////////////////zoAAAAA////Fv////L///////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////7u7u/0pKSv86Ojr/Ojo6/zo6Ov86Ojr/oqKi//// + ////////////////////////////TQAAAAD///9v//////////////////////////////////////// + /////////////////3QAAAAAAAAAAAAAAAAAAAAAAAAAAP///0P////////////////////G////AQAA + AAD///91//////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////c3Nz/SkpK/zo6 + Ov86Ojr/Ojo6/zo6Ov+ioqL/////////////////////uQAAAAD///8K////5v////////////////// + //////////////////////////////////b///8SAAAAAAAAAAAAAAAAAAAAAAAAAAD///8B////zv// + /////////////////2UAAAAA////BP///8n///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////9zc3P9KSkr/Ojo6/zo6Ov86Ojr/Ojo6/729vf//////////8f///yAAAAAA////hP// + //////////////////////////////////////////////////////+PAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///1H////////////////////y////IgAAAAD///8h////7v////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////3Nzc/0pKSv86Ojr/Ojo6/zo6Ov+9vb3//////v7+ + /lUAAAAA////L/////r////////////////////////////////////////////////////1////GAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8B////xv///////////////////8////8JAAAAAP// + /0H////5//////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////c3Nz/SkpK/zo6 + Ov+ioqL///////T09H4AAAAA////Cv///9T///////////////////////////////////////////// + ////////////fgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///zL////8//////// + ////////////rf///wMAAAAA////Tf////n///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+fn5//R0dH///////Hx8YgAAAAA/f39Af///6z///////////////////////////// + ////////////////////////////2f///wgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////iv////////////////////////+k////AwAAAAD///9G////8f////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////vb29nwAAAAAAAAAAP///5L///////////// + ////////////////////////////////////////////+////zkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wf////P/////////////////////////6j///8GAAAAAP// + /yj////T//////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////7v7+/lAAAAAA/f39Af// + /5L//////////////////////////////////////////////////////////////3kAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Iv///+3///////////// + ////////////xP///xgAAAAA////CP///4b////5//////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////sP// + /xoAAAAA////C////6z///////////////////////////////////////////////////////////// + /6r///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///9A////+f/////////////////////////p////TAAAAAAAAAAA////JP///6b////7//////// + //////////////////////////////////////////////////////////////////////////////// + ///////G////RAAAAAAAAAAA////L////9X///////////////////////////////////////////// + /////////////////8P///8JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///1P////8//////////////////////////////+o////HgAA + AAAAAAAA////Hv///4D////a//////////////////////////////////////////////////////// + ////////////7P///5r///83AAAAAAAAAAD///8L////hP////r///////////////////////////// + /////////////////////////////////8j///8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////VP////n///////////// + //////////////////b///+P////HgAAAAAAAAAAAAAAAP///yP///9g////kf///7f////N////3/// + /9/////U////vv///57///9v////Nv///wMAAAAAAAAAAP///wv///9v////5v////////////////// + /////////////////////////////////////////////////73///8OAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///9D////7/////////////////////////////////////z///+x////V////wwAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8D////PP///5T////v//////// + /////////////////////////////////////////////////////////////////57///8GAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///yX////S//////////////////////////////////////// + ///////5////wf///4n///9c////Of///yL///8U////EP///yD///8y////UP///3n///+u////7P// + ////////////////////////////////////////////////////////////////////////////9v// + /2cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////CP///4/////9//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////xv///ycAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////Ov///8////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////p////Zv///wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8C////Xf///9v///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////+v///93////CwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8C////UP// + /7v////9//////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////x////2H///8JAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////G////2////+6////9f////////////////////////////////// + ////////////////////////////////////////////9////73///9z////IgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wb///80////ZP// + /43///+r////xP///8/////f////3f///8/////C////qf///4v///9k////NP///wYAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////// + ///////////////////////////////////////////////////////////+AB////////AAA/////// + wAAA//////8AAAA//////gAAAB/////8AAAAD/////gAAAAH////8AAAAAP////gAAAAAf///8AAAAAA + ////wAAAAAD///+AAAAAAH///4AAAAAAf///AAAAAAA///8AAAAAAD///wAAAAAAH//+AAAAAAAfD/4A + AAAAABwD/gAAAAAAGAH+AAAAAAAYAYYAAAAAABgAhgAAAAAAEACGAAAAAAAQAIYAAAAAABAAhgAAAAAA + EACGAAAAAAAQAIIAAAAAABAAggAAAAAAEAHDAAAAAAAAAcEAAAAAACABwQAAAAAAIAHBgAAAAAAAA+CA + AAAAAEAD4EAAAAAAgAPgQAAAAACAB/AgAAAAAQAH8BAAAAACAA/4CAAAAAQAD/wEAAAADAAf/AIAAAAQ + AD/+AQAAACAAP/8AwAAAwAB//4AwAAMAAP//wA4ADAAB///gAf/gAAP///AAAAAAD///+AAAAAAf///+ + AAAAAD////8AAAAA/////8AAAAP/////+AAAH///////AAD///////////////////////////////// + ////////////////////////KAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA/v7+CP///zz+/v5o/v7+hv///4/+/v6P/v7+fv///13+/v4r/v7+AQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////BP///07///+w////9f//////////////////////////////////////////////5/// + /5T///8vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD+/v5N/v7+0v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v78/v7+sP///yYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////Dv7+/qb+/v79/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v////T+/v5w////AQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8h////1f////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////o/// + /wcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///yH+/v7h//////7+/v7+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+//////7+/q/+/v4FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Df///9T///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////7///+TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+ov// + ///+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+////VQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD+/v5H/v7+/f/////+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+////6P7+ + /g8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///wL+/v7L/v7+/v/////+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+ + /v7+/v7+//////7+/oIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///0X///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////+v///8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///6T+/v7+/v7+/v/////+/v7+//////7+ + /v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+//////7+/v7+/v5YAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+A////+/+/v7+/v7+/v// + ///+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+//////7+/v7+/v6mAAAAAAAA + AAAAAAAAAAAAAP7+/gb+/v4h////DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////MP// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////f////AgAAAAD///8D////ff////H//////////P///63///8YAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA/v7+W//////+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+ + /v7+/v7+//////7+/v7+/v77////EQAAAAD+/v6I/////v7+/v7+/v7+//////7+/v7+/v7O/v7+CAAA + AAD+/v5t/v7+of///xEAAAAA/v7+dv/////+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+//////7+/v7+/v7+//////7+/v7+/v7+////Kv7+/hf+/v73//////7+/v7+/v7+//////7+ + /v7+/v7+/v7+W////wr////0/////////2QAAAAA////g/////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////M////0T///////////// + ////////////////////////////kP///wn+/v7x/v7+/v///24AAAAA/v7+gP/////+/v7+/v7+/v// + ///+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+//////7+/v7+/v7+////Mv7+ + /kz+/v7+//////7+/v7+/v7+//////7+/v7+/v7+/v7+kv///wP+/v7m/v7+/v///4QAAAAA/v7+bP// + ///+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+//////7+ + /v7+/v7+////IP7+/lz+/v7+//////7+/v7+/v7+//////7+/v7+/v7+/v7+gwAAAAD////O//////// + /6oAAAAA////Sv////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////z////Cv///3z/////////////////////////////////////////aQAA + AAD+/v6m/v7+/v///93+/v4B/v7+Gf////7+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+//////7+/v7+/v7+//////7+/v7+/v7LAAAAAP7+/qr+/v7+//////7+/v7+/v7+//////7+ + /v7+/v7+/v7+QgAAAAD+/v50/v7+/v////z+/v4nAAAAAP///9T+/v7+/v7+/v/////+/v7+//////7+ + /v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+//////7+/v7+/v6H////Af7+/uX+/v7+//////7+ + /v7+/v7+//////7+/v7+/v76/v7+FAAAAAD///8z/////v////////97AAAAAP///37///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////e3t7/oqKi//n5+f////////////////////////////////3///8z////NP// + ///////////////////////////////////////MAAAAAAAAAAD+/v4E/v7+4P/////+/v7b/v7+Bf// + /x7+/v73/v7+/v/////+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/uLi4v9MTEz+OTk5/nZ2dv/4+Pj+//////7+/v7+/v7+//////7+ + /sf+/v4B////kv7+/v7+/v7+//////7+/v7+/v7+//////7+/v7+/v5/AAAAAAAAAAAAAAAA/v7+jf// + ///+/v7+/v7+WgAAAAD+/v6Y/v7+/v/////+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/sbGxv86Ojr+OTk5/jo6Ov92dnb++fn5//7+ + /v7+/v7+//////7+/kv+/v4U////7v7+/v7+/v7+//////7+/v7+/v7+//////7+/vv+/v4nAAAAAAAA + AAAAAAAA////Jv////3/////////3////wn///8X////6v////////////////////////////////// + //////////////////////////////////////////////////////////////7+/v+mpqb/Ozs7/zo6 + Ov86Ojr/dHR0//n5+f//////////tQAAAAD///+H//////////////////////////////////////// + /7cAAAAAAAAAAAAAAAAAAAAAAAAAAP///6z+/v7+/v7+/v///4wAAAAA/v7+Vf////3+/v7+//////7+ + /v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+pqam/jo6Ov85OTn+Ojo6/8DAwP7+/v7p////Hv7+/ir+/v71//////7+/v7+/v7+//////7+ + /v7+/v7+/////v7+/jwAAAAAAAAAAAAAAAAAAAAAAAAAAP///y3////5//////////v///9MAAAAAP// + /4j///////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/6Wlpf86Ojr/dHR0//n5+ff29vZC////Bv///8n///////////// + ////////////////////////////sQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v6O/v7+/v// + ///+/v7v/v7+M////wH+/v6S/////v7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v7+/v/c3Nz++vr69+zs7Ez4+PgC////nP7+ + /v7+/v7+//////7+/v7+/v7+//////7+/v7+/v7x////IQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD+/v4M/v7+1//////+/v7+/v7+6////zL+/v4B////eP7+/vr+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7m+fn5Qfj4 + +AL+/v6K/////v7+/v7+/v7+//////7+/v7+/v7+//////7+/v3+/v5jAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////MP////T//////////////+////9NAAAAAP///z/////X//////// + //////////////////////////////////////////////////////////////////////////////// + /6////8a////Bv///5z////+/////////////////////////////////////////5oAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///1L+/v75/v7+/v/////+/v79////kP7+ + /gz+/v4G/v7+a////9z+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + //z+/v6//v7+RAAAAAD+/v4q////yf7+/v7+/v7+//////7+/v7+/v7+//////7+/v7+/v7+////tP7+ + /gUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v5j/v7++f// + ///+/v7+//////7+/t7+/v5d/v7+Bf///wT+/v5D/v7+kf///87+/v7y/v7+/v/////+/v7+/v7+/f// + /+r+/v6//v7+fP///yoAAAAA/v7+FP///4j+/v71//////7+/v7+/v7+//////7+/v7+/v7+//////7+ + /v7+/v60////CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////VP////b////////////////////+////3P///3n///8jAAAAAAAAAAD///8J////F/// + /yf///8k////E////wUAAAAA////Af///zj///+U////8P////////////////////////////////// + /////////////////5r///8HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///zP+/v7a//////7+/v7+/v7+/v7+/v/////+/v7+/v7+2f// + /6D+/v53/v7+XP///07+/v5R/v7+Yv///4H+/v6u/v7+6P/////+/v7+/v7+/v/////+/v7+//////7+ + /v7+/v7+//////7+/v7+/v7x////ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4O////lP7+/vv+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+//////7+/v7+/v7+/////v7+/rb+/v4kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /zP///+3/////v////////////////////////////////////////////////////////////////// + ///////////////////////////////////////I////Sf///wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA/v7+Lv///5j+/v7q/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v// + ///+/v7+/v7+/v/////+/v7+/v7+/v////7+/v7t////of7+/jsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4J/v7+Qv///4P+/v65/v7+4f// + //f+/v7+/v7+/v/////+/v7+/v7+9v///+D+/v65/v7+hf///0T+/v4KAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////Av///wz///8Y////JP///yP///8X////C////wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAA////////AAD///////8AAP// + /////wAA////////AAD//4Af//8AAP/8AAf//wAA//gAAf//AAD/4AAAf/8AAP/AAAA//wAA/4AAAB// + AAD/AAAAH/8AAP8AAAAP/wAA/gAAAAf/AAD8AAAAB/8AAPwAAAAD/wAA/AAAAAP/AAD4AAAAA8cAAPgA + AAABAQAA+AAAAAEAAACIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAIgAAAAAAAAAgAAAAAIA + AACEAAAAAAAAAIQAAAAAAQAAgAAAAAABAADCAAAAAAEAAMAAAAAIAwAA4QAAAAADAADggAAAAAcAAPAA + AAAABwAA8AAAAAAPAAD4EAAAAB8AAPwAAAIAHwAA/gAACAA/AAD/AGBAAH8AAP+AAAAB/wAA/8AAAAP/ + AAD/8AAAB/8AAP/8AAA//wAA//8AAP//AAD///AP//8AAP///////wAA////////AAD///////8AACgA + AAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wP///8w////VP// + /1////9X////Nv///wYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///yf///+Z////7v// + ////////////////////////////9P///6f///82AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wb///+L////+/// + //////////////////////////////////////////////////7///+h////DgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8Q////wv// + ///////////////////////////////////////////////////////////////////////W////HQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Bf// + /8H///////////////////////////////////////////////////////////////////////////// + ///////Y////EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///+H//////////////////////////////////////////////////////////////////////// + //////////////////////+pAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////I/////r///////////////////////////////////////////////////////////// + //////////////////////////////////////9BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///+T//////////////////////////////////////////////////////// + /////////////////////////////////////////////////7UAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////Af///+n///////////////////////////////////////////// + ////////////////////////////////////////////////////////////+////xEAAAAAAAAAAP// + /wn///8OAAAAAAAAAAAAAAAAAAAAAAAAAAD///8n//////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////SQAA + AAD///+F////+f////3///+s////Cf///w3///9q////B////0v///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////9t////TP////////////////////////9/////VP////////9E////V/////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////3f///+E/////////////////////////7X///9K/////////1T///9M//////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////bv///4//////////////////////////r////y7/////////ev// + /yr///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////9L////r/////////////////////////+V////B/// + //j///+3////Av///+z///////////////////////////////////////////////////////////// + /////////////////////////////////////////////P///xT////j//////////////////////// + /2gAAAAA////v/////j///8T////mP////////////////////////////////////////////////// + ///////////////////w8PD/hoaG/+fn5/////////////////////+6////Mv////////////////// + ////////////JwAAAAD///9s/////////33///8p////+/////////////////////////////////// + /////////////////////////////5iYmP86Ojr/VFRU/+fn5////////////////0f///+Z//////// + /////////////////9EAAAAAAAAAAP///xH////y////8P///xn///+Q//////////////////////// + ////////////////////////////////////////9vb2/2pqav86Ojr/VFRU/+7u7v////+y////I/// + //j/////////////////////////ZgAAAAAAAAAAAAAAAP///4b/////////uP///wr////J//////// + ////////////////////////////////////////////////////////9vb2/2pqav9UVFT/7Ozs3v39 + /Rj///+//////////////////////////9z///8GAAAAAAAAAAAAAAAA////DP///+H/////////lP// + /xT////L////////////////////////////////////////////////////////////////+fn5//Hx + 8d7x8fEi/v7+j//////////////////////////+////RgAAAAAAAAAAAAAAAAAAAAAAAAAA////Pv// + //r/////////nP///xD///+Y/////f////////////////////////////////////////////////// + //////+u/v7+F/7+/o///////////////////////////////4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////Y/////7/////////zP///zH///8y////pv////X///////////////////////////// + //r///+0////Qv///yT///+///////////////////////////////+m////AgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////ZP////v//////////P///6r///9C////DP///zz///9h////b/// + /2T///9D////D////zT///+a////+P//////////////////////////////mP///wMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////QP///+L////////////////////u////uf// + /5b///+I////lP///7L////m////////////////////////////////////8P///2EAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Dv///4v////2//////// + ////////////////////////////////////////////////////////////+v///5r///8aAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /xT///91////yf////z////////////////////////////////////9////y////3r///8aAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////Dv///zz///9b////a////2v///9a////PP///w4AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////// + /////////+A///+AD//+AAP//AAB//gAAP/4AAD/8AAAf/AAAH/gAAAz4AAAIAAAAAAAAAAAAAAAAAAA + AAAAAAAAgAAAAIAAAAGAAAABwAAAAcAAAAPgAAAH8AAAB/gAAA/8AAA//gAAf/+AAf//8A////////// + //8oAAAAGAAAADAAAAABACAAAAAAAGAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIyMgC7+/vKe/v70Xv7+9D7e3tIgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb2E/// + /4n+/v7o/////////////////v7+/v///97+/v538/PzCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v5B////6P/////+/v7+/////////////////v7+/v// + ///+/v7+////2P///ysAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+ + /kD+/v73/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/uv+/v4mAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb2Ev///+f+/v7+///////////+/v7+//////// + /////////v7+/v/////+/v7+///////////+/v7O7u7uAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////hP/////+/v7+///////////+/v7+/////////////////v7+/v/////+/v7+//////// + ///+/v7+////XgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+5P7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+vwAAAAAAAAAAv7+/Cb+/ + vwMAAAAAAAAAAAAAAADz8/Mi///////////+/v7+///////////+/v7+/////////////////v7+/v// + ///+/v7+///////////+/v7+////9v///wX+/v6C////+////+n+/v47////W////4X+/v4+//////// + ///+/v7+///////////+/v7+/////////////////v7+/v/////+/v7+///////////+/v7+//////// + /y7+/v79///////////+/v66////ef///7z+/v47///////////+/v7+///////////+/v7+//////// + /////////v7+/v/////+/v7+///////////+/v7+/////////z/+/v7+///////////+/v7F/v7+Xf7+ + /uH+/v4Z/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+7/7+/kz+/v7+/v7+/v7+/v7+/v6q/Pz8Kv////7+/v4o////1P/////+/v7+//////// + ///+/v7+/////////////////v7+/v/////f39/+/f39///////+/v7+////rf///4b+/v7+//////// + ///+/v52ycnJAf7+/tv+/v6O/v7+a/7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/unp + 6f4+Pj7+h4eH/v39/f7+/v7+/v7+Sf7+/t/+/v7+/v7+/v7+/v7+/v4pAAAAAP///3T+/v73////K/// + /8/+/v7+///////////+/v7+/////////////////v7+/v7+/v+hoaH+Ojo6/5qamv/+/v6v////af// + ///+/v7+/////////7wAAAAAAAAAAPX19Qv+/v7h////zf///y/+/v7j///////////+/v7+//////// + /////////v7+/v/////+/v7+r6+v/9XV1c77+/s5////8f/////+/v7+////+////zQAAAAAAAAAAAAA + AAD+/v5F/v7+/P7+/sP+/v4y/v7+xP7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+q/z8 + /Dn+/v7h/v7+/v7+/v7+/v7+/v7+fwAAAAAAAAAAAAAAAAAAAAAAAAAA////bP////3+/v7i////U/// + /1T+/v60////7//////////+/v7+6f///6j+/v5G////af////H+/v7+///////////+/v6c7u7uAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///1/+/v71/////v///9T+/v5+////SP///zr///87/v7+Tf// + /4j+/v7g///////////+/v7+////+////3/u7u4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD+/v4o/v7+uf7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7D/v7+NwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///zH+/v6N////zv// + //X//////v7+/v////X+/v7P////jv///zcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANXV1QPf398P39/fDtXV1QMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////AP///wD/B/8A/AD/APgAfwDwAD8A4AAfAOAAHwDgABkAwAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAgAABAIAAAQDAAAMA4AADAPAABwD4AB8A/gB/AP/D/wD///8AKAAAABAAAAAgAAAAAQAgAAAA + AABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfn58hn5+fLZmZ + mQ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg4ODAfv7+2v////h//////// + ///////8////tuPj4ywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg4ODAf///6T///////////// + ///////////////////////09fX1QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPv7+2n///////////// + /////////////////////////////////+m9vb0QAAAAAAAAAAAAAAAAAAAAAAAAAAD////e//////// + ////////////////////////////////////////////cAAAAAB/f38GAAAAAK6urh7f398e//////// + /////////////////////////////////////////////////63///90/////f///43///+n////T/// + //////////////////////////////////////////////////////+5////xP/////////Y////i/// + /1f////6////////////////////////////////////////////////////lv///+T/////////vubm + 5kv///+i////r////////////////////////////////5KSkv/IyMj//////////3P///////////// + /36UlJQE////2v///1v////x///////////////////////////V1dX/U1NT//X19ar///+2//////// + //bW1tYbAAAAAPX19Uv////j////Y////+T///////////////////////////n5+aj7+/uQ//////// + //////9zAAAAAAAAAAAAAAAA////cf////H///+C////ev///6b///+0////kv///3H///+2//////// + //////+QAAAAAAAAAAAAAAAAAAAAAAAAAAD4+PhM////3/////r////T////xv///+X///////////// + /+T9/f1bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKGhoQXz8/NP////kf///7H///+x////kfb2 + 9lGsrKwGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA/H8AAOAfAADADwAAwAcAAMAFAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAIABAADAAwAA4AcAAPAPAAD//wAA + + + + + AAABAAoAGBgAAAEACADIBgAApgAAAAAAAAABACAAkSUAAG4HAACAgAAAAQAgACgIAQD/LAAAYGAAAAEA + IAColAAAJzUBAEhIAAABACAAiFQAAM/JAQBAQAAAAQAgAChCAABXHgIAMDAAAAEAIACoJQAAf2ACACAg + AAABACAAqBAAACeGAgAYGAAAAQAgAIgJAADPlgIAEBAAAAEAIABoBAAAV6ACACgAAAAYAAAAMAAAAAEA + CAAAAAAAQAIAAAAAAAAAAAAAAAEAAAABAAAAAAAAOjo6AD4+PgB8fHwAgYGBAIaGhgCJiYkAjY2NAJGR + kQCVlZUAmZmZAJ2dnQChoaEApaWlAKioqACtra0AsbGxALW1tQC6uroAvb29AMHBwQDExMQAycnJANDQ + 0ADV1dUA2dnZAN7e3gDi4uIA5ubmAOrq6gDu7u4A8PDwAPX19QD6+voA/v7+AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgSHiIiHBAIAAAA + AAAAAAAAAAAAAAANEiIiIiIiIiIiDwAAAAAAAAAAAAAAAA0ZIiIiIiIiIiIiIhUAAAAAAAAAAAAAABIi + IiIiIiIiIiIiIiINAAAAAAAAAAAACCIiIiIiIiIiIiIiIiIiCAAAAAAAAAAAECIiIiIiIiIiIiIiIiIi + DQAAAAAAAAAAHiIiIiIiIiIiIiIiIiIiFgAIFhIACAgAIiIiIiIiIiIiIiIiIiIiHAUZIiILCwsAIiIi + IiIiIiIiIiIiIiIiGQMeIiINCxAAGSIiIiIiIiIiIiIiIiIiFQUiIiILABgADyIiIiIiIiIiIiIZIiIi + CwgiIiILAA8ICCIiIiIiIiIiIh4CBSIeBRAiIhwAAAgZCw0iIiIiIiIiIiINAggICCAiIgsAAAAQDwsS + IiIiIiIiIiIiDwUIFiIiHAAAAAANHAsICyAiIiIiIiIeCAgQIiIgCAAAAAAACB4SCAULFRkZEgsIBRYi + IiAIAAAAAAAAAAgYIA8IBQMFBQgQIiIiHAgAAAAAAAAAAAAACxwiIh4eIiIiIh4LAAAAAAAAAAAAAAAA + AAAIDRYZGRYPCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////AP///wD///8A/gH/APgA/wDwAH8A8AA/AOAAHwDgAB8A4AARACAAAAAgAAAAIAAAAKAA + AACAAAEAgAABAMAAAwDAAAMA4AAHAPAADwD8AD8A/wD/AP///wD///8AiVBORw0KGgoAAAANSUhEUgAA + AQAAAAEACAYAAABccqhmAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAgAElEQVR4nO2dT2gcV77vv75z8WRR + 4vqhjWpRjAbccB8eGLdWeg3udCCLpDfjMKE9bzGMbEF4BiWyEwIWWjheNPZjILaM4M5dSO7AwMXNhCib + zgt4SKcb6l1vXJqFh7mUFu3Uono2RoNrMWgW7y3qVLtVdU796T9Vp7p/HzCWTlV3H0l1vud3fr/f+R2A + IAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIIjsOZN1B4jJ + UCqVLgI4x76tDF36FwAXR3jLHoAXQ98fAjj2vtZ1/TjwCiJ3kADkhFKpdA7uQPYG+pvsUiWrPsEVCe/f + CzCR0HW9nVF/iISQAEgIm80vAvg5Tg/6PNGDKwh/Yv8f6rrey7JDRBASgIwZmtkrcGf1Spb9mTLHANpw + RaFNlkL2kABkQKlUqsAd6L/AaOvzWaIN4HuQIGQCCUAKsFn+MtwBX8EUzHlFUVAoFAAAqqpCVdXBtfPn + z2NhYSHR+5mmCcdxTn3/6tUrAIBhGBPoMRfPQvgariD0pvVBhAsJwJQolUrLcAf9bzChWb5QKEBRFKys + rAwG/NLS0qnBniaeSBiGgVevXsE0TfT7fdi2PamPOATwBYADEoPpQAIwQYZm+k2MOeiLxSIKhQIKhQJU + VUWxWJxIH9PCMAyYpgnbtmGa5iSshh6AHZAYTBQSgAlQKpU8835tlNd7s7o36PM22OPiiYJhGHj27Nmp + JUZCDvFaDCgfYQxIAEaEmfhrcE385aSvL5fLKBaLg0E/j3hiMKYgNAB8QQ7E0SABSAjz4P8GCWd7z4y/ + dOkSyuXyNLqWewzDQKfTGVgKCenBtQoaZBXEhwQgJqVSaQ3uwK/EfY2qqrh06RKq1erczvKjYts2ut0u + Wq1WUjE4BnAA4A75CqIhAYiADfzbiGnmK4qCcrlMM/0E8cSg2WwmjTAcANih5YEYEgABSQd+sVhEtVpF + uVyGoijT7NpcY5omWq0WWq1WEp9BG65F0J5St3ILCYCPJAPfm+2vXbuWWSx+nvGEIEGIsQ0SglOQADCY + c+8RYgx8VVVRq9VQrVZptpcA27axv7+PTqcT1ypog4QAAAmAF857hBjOPVVVce3aNVSr1Wl3ixgBx3HQ + bDbRarXi+goOANycZ2fh3AoAy9q7DeBG1L3FYhHr6+szm6Azi7RaLezv78cVggdwLYK5Cx/OpQCwdf59 + RGzKoYGffxIIwTFcEXiQQrekYa4EIK65T6b+7JFACA7hLgva0+6TDMyNAJRKpc/gmvxCFEXB+vo6arVa + Op0iUqfVamFnZyeOs3AulgUzLwCsvNYjROzOq9VqWF9fJ6/+HOA5Cx8/fhwlBMcAruq6fpBS11JnpgWg + VCrdgLvWF1IsFrG5uUmpunOIbdt4+PAhOp1O1K0HcIVg5qyBmRQA5uH/CiFrfUVRsLm5mdt1vr9iTxzI + mcnHMAzU6/Uo/8BMWgMzJwBsb/4jhHj4y+Uytre3pTX3eZV2htsngScGXvkwr2zYPIvE/v5+nGXBTPkG + ZkoASqXSfYTE9RVFwfb2tjSbdBzHGeyJH66ekzWqqmJpaQkrKys4f/78oCrRPGDbNur1elR68SFca+Aw + pW5NjZkQgDgmvwyzvm3bgwIYpmlKMdjjoqrqoFrRPBQxaTab2Nvbi7IGbuY9byD3AsC8/N9BYPJnvdYf + s8iFtHgFTorF4szugIxpDTTgCkEulwS5FgCW0fdIdL1QKODu3bupm6+dTgfdbjfJ5pRROIZrisZlGSOU + LovLcA2EWROD/f197O3thd2S2yVBbgUgar1fq9WwubmZWn8mPOi9wd3D0Jl7AHqT2LjCMiKX2bcVvD5A + dLh9ZGZRDEzTxNbWVlikIJdRgtwJAFvv34egJl+aJr9t22g2m+h2u+PUwu/h9Rl6bUhw8i7bGu0/mzAx + Xr2EWq02Ez4Dx3FQr9ej8gZy5RfIlQCwwf8dBA+kqqq4e/fu1B+2TqeDZrM5aq37Hk4fh9WbXM+mA/u9 + V/D67MLEglAoFAY1FPJOs9nEzs5O2C0NXdevptWfcciNAEQN/mKxiHv37k3N5HQcB51OJ8kW02EO4A74 + xIdaDB0eCryOcvwLRpuVDwH8jX3d9tqSWhxDB6C8yf6PfdSZoii4cuUKarVarpcHpmliY2MjbLnXBvBe + 1tZcFLkQgChPf7Vaxfb29lQ+O0HeuJ8DuGfcxTq8wndK8E/grsUrSfs7Bm289jm0kUAYhg5GiS0GsyAE + juNgY2MjLLpzCOAtmUVAegGIGvybm5tT2b034sBv4/VZdqF/dPZzVeCusyuYood+DHpwH2JvuRLp5WZi + 8Bu4YhDJLAhBvV5Hq9USXT6GKwJSRgikFoCowb+9vT3xNeUIA/8Ybix4J8y895nNFcg54KPwau57yxmh + yLGfdw3uOYnLUW+cdyGI8AtIKwLSCkDY4FcUBffu3Zt43nrCMlKHcAd9Q3TD0AnB3rHgs0as03uZVbCJ + Ga+72Gq1UK/XRZelFAEpBSBq8O/u7k7U028YBnZ2duJm6rURUlF2aKZPdIpQGF5uvrdxB8Bg805cXr16 + haOjIwBu+NK27cFehAkReWAn+7tuIsaxanndph3hHJROBKQTgDQHv+M42NnZCVu/DdNAyHFTQw93Iq/4 + MF6+faFQwPnz5wffTxvbttHv90/tURgjrwGIOLCTWUa3EUMI8lioJU8iIJUApDn4Y272ANwZ/2rIwF+D + O/BHio17+fQrKytSPeSO4+DZs2c4OjpCp9MZ1VLowRXNBu8iE4L7iHAYqqqK7e3tXG1VzosISCMAzHQ2 + wHEYTXLwx9zgAYSY+qyvN5DwaPDhcwNlG/BReILQ7XZhGEZSC+EY7vLgAW95wDIPbyNiyZQ3ayAiTCiF + CEghAGFJPpMc/DFn/R7cdM5ATvfQwN9Egni3d2ZgnmawKLwz+hKmQUcJwRoiyrXnzRqQXQRkEQADUxz8 + MXO4AeAOOA/nKAO/Wq3OzQnBhmGg1Wol2QglFIK4B7asr6/j2rVro3Y5VWKIQDGrlPDMBaBUKj0Cxxk0 + qcFvGAZu3boV9WC2IVjnJzksdN7PDBwhXfoYrrXV8F+IU8152unfk8RxHKytrYl+L5llDGYqAGG1+u/e + vTv27BljH/cxBKfBsHXpfcRw7hWLRdRqtbmY7eNiGAb29vbibpg6hOAwjqjzHKYRFp4WEY7BTEQgMwFg + ySFf8a6Nm+HnOA5u3boV9fC1wZn1o7YbD+Ntdc3LejQLvJN7Y4ZaD8Apvx3HGphGVug0iBCB1HcR/ijN + D/Ngf9CvALzhvzbuyTymaeLDDz8MC1sdA9jSdf26ZVn+B+0yXGfkathneKZnrVabm2KZo7KwsIByuYxq + tRon8ehfAfwvTdP+alnWwDFmWVZf07THAJYgEIFut4t+vy+9Fba4uIjV1VU8efIEJycn/ssXNU07Y1lW + O63+pG4BhHn8x93V1+l0UK/Xw9b7h+CUbmJ9eoSIeDQdFjo+CZYGbXC200ZFCvLiF4hIG74almI+SbIQ + gK/AGWiFQgG7u7sj/+HiFGkAp3hjnHME8pyfLiudTgcPHz4c6TCOqCXBuM9SWoSIQGrhwVQFQHRUl6Io + +PLLL0f+g0VsxwQEihpVVxB4vSSR/WHKKzEP42jAJ95RVlta1aHGJeTZ7cEND07VKZiaADDV5tp9jUZj + 5D/UKHuxWQrqV4gIMeVxM0oeGecwjjARz0uEYGNjQ/Szt3Vdf2uan52KE3Bo3R8wszc3N0dy3DiOgw8+ + +ABPnz4V3XIIToIFC+99B0FcX1EUXL9+HZ9++ikWFxcT94tIzsLCAqrVKhYWFvD8+XOecwxwHYC/0jTt + vyzL+ovXaFnWt5qmvQDHEjg5OcGTJ0+wuroq9d+yXC7jj3/8I88KWp62UzAVAdA07T/A8ayXy+WRSnfH + KMV0AL4D6QaA/wAn+gC4a8d79+5J70meVS5cuIC3334bhmHg5cuXvFvegCsCpwaFZVmHTAQq8P1t8yAC + Z8+eRbFYFEUGKpqmfW9ZVm8anz11AWBOts/87aqq4vPPP8fZs2cTvV+Mwd/Qdf1/Wpb1d18/HgG4JXpR + rVbDvXv3pH1I5oWFhQVcvnwZZ86cCVsSVDRNW2YD4+/AQAS+BfAr5FAEFhcXsbi4iG63y7tc0TTtC/8z + PQmmKgBDpn9gxt3d3U0cQ48x+O/oun7T3wdN076BwFmkKAru3LmDK1euJOoLMV28LdKdTke0JLgI4B1N + 0x4PiUA/zyJQKBTQ7/d5z/c5AP9qWdbjSX/mP036DX1ww2vr6+uJHTMxBv9VXdc/G24YEqAK7wWFQgGN + RoNMfkkpFov48ssvw56ViwC+Y05dAABzEr4F1wF8CsdxsLW1Nc3j2sYmxPF8meVATJSpCQAz/QOzbrFY + HGkX161bt6IGf8P3+csIOUegWq2OZIUQ6aIoChqNRlgOxkUABosyAQgXAdu2o+r5Z4p3hL0g7Hx/WOwm + wVSWACLTX1EUfP7554lq2QFuqE+wNgL4g/8igP8Lgae/Vqvh008/Tex/ILKjXC5jYWFBFPXxnIPfWpbV + B8KXAy9fvsTz58+lTexaXFzEj3/8Y97P+gaAi5ZlfTGpz5qKAGia9m/geP2vX7+O1dXQNPsAEXF+0eAP + LSX+61//OlEfCDm4cOECVFUVTQaJRKDf70u9d+DChQswDAP9ft9/aVnTtBfDeyXGYeJLABZnX/O3e1tm + k9BqtSY2+D3TSlbVJ+JRrVbRaDREJvI5uD4B/3KAu8Mu4vnKnIilwEiFZ/1M3ALQNO0ruEkbp9jd3U1k + +nc6Hdy+LdwGHtjDz34hXyGkpmBS64PIFtu2cXR0hH6/f8pXE7GjjmcJ/EWULNTtdrGysiKlL2hhYSFs + KTCRqMBEU4FFuf5Jyzcl3TOdVk1BIh149RxUVcVHH310ymRPWmBDlDY87l6UaROSKvyWqPR6XCa2BBiq + 5XYKbyddXLz6fYI/6oGgYAIN/hnBC/f6H3jbtrG1tXXKZI/Y9eeFCAemMssRCRR79T5TVkKWAo/Gfe+J + LQE0TbsLTrz93r17icyr27dvi9TuEMB7ggy/d/w30+DPHzFyPdDtdk8dmBKxHFiCz1RmTsF34Fumvnz5 + EmfOnJGy1sPCwgL+8Y9/8MbFOU3T/mZZ1n+O+t4TsQBYbDJgWnmHXsSl2WyKKvceg5/b/xkEpbu2t7dp + 8OeIOIPfwx8ZirAELrNJAgDAnqGr4OQIJKhhmDrXrl0TTaS3x3EITsQC0DSNWzwziePPNE1sbW2JLv8P + Xdf/MtzAEo3+jXfz9vY23n777VifS2RPksHvwbMEQnLpLw6Hzlh48K/gOAUNw0C1WpUyR6RQKPCiFm8A + eMOyrG9Hec+xBYCF/QJVdWu1WuxB6DgOPvzwQ9G6P3BIxzRrChLpMsrg9/CLQKFQCMsTuKxp2tdDkYFD + TdPOwZev4jgOfvjhByknEFVVcXR0hBcvXvgvrbLNQomLh0xiCRBw/CmKgvX19dhvUK/XRaWhDgThPu4e + g2q1mpvDIojxBr+Hv5BItVoNy/X4ymcu34HrWzpFp9OJc4hMJnz00UeiS8KYeRhjCQCb/Sv+9itXrsQO + qYT8snvgJ3BwlxuFQmGsgqJEukxi8Hs0m81T34ccHbaMIc/5kD8gQERx2czwDp/hsDacABWXcS0A7uwf + 1wT3Qn4CRBVh13ifubu7G+szieyZ5OAHwJ1AQqJPl1m+CoBBpuAdXh8jDpXJjJADUgM5OFGMLABMbSr+ + 9iSzf4jK3hHU8eP+gHkoA024THrwi1AUBXfv3hVdvu9LF/4MnKVAs9mUMiqgKIqofkWFWeWxGccCCNTy + SjL7h5j+bf++foawtoCMsVsiyLQGv2hDT6FQCCs550+i4S4FIkrNZ0ZIperfJHmfkQSAzcZr/va4s7/j + OHj48CHvEndNxky2ir991NoCRPpMc+YPm3RCzmy8yPJIAIiXAt4x6LIRYgWsJakZMKoFMNbav9lsirz+ + O5wqvsuizyOnXz6Y5uAPcfidukcwMd32Oc4ewHU+n2JnZ0dKh2CIFRA7IpBYAFgYJZBAEfdIbNu2Rc6V + wySm//b2tpQ7uIjTTHvwx9neHTFZDPxKzOl803+D4ziBSIMMTMIKGMUCWANnQMad/cPOQ/M3sGy/ir+9 + XC5LW8iBeI0Mg98j5JmpDNfaY0lnbf9NMU4vyoQQK2AtzutHEYCAV6VarcaajQ3DEHlVHwgO7OQeIxaS + DEFIgkyDf/h1MQtscK0AGR2CiqKIhC3WgRuJBICFGJb97XH/GIJf4DE4zhe4m4sCn7W+vk6mv+TIOPgB + d7AIogKntrKzyajhv6nVakUdZpoJAkf4uThVhJNaAIEQQ6FQiBWGa7VaogfiDifh5xw4ClYoFCjPX3Jk + Hfwe1WpV9Lze8K2beZMS9vf3x/r8aaCq6shWQGwBYINyzd8ed0AKfnE9f64/g3v++yjHiBHpIfvg9wh5 + joatgB4EVoCMvoB3332X13wxKj04iQWw5m8IWX+cIsR0CqisKMcgRLkJSWg2m9IPfsC1JAXv58+n51oB + MkYEyuWyaGkcmhiURAACb1Qul2OF/gSz/6G/qi+DG8OkhB/5efbs2cTfc1qVnDc3NyPz6UVWgKwRAZGo + hb0mlgCwWTlgSsT5w4TM/gFPa9jsT46/+WOaZdwT5NNzNwrJuF1YsAw4x8LpXOJaAGv+BlVVY5nkAnPp + UFDNlJvxR2v/fJD0xKcw0jjDIU4+PbMCAoVEc+YM/IXoNXEFIGD+X7p0KfJFhmGI1oSBeOC4+wuI7BHM + QIlJ6wCXBJl0gefVtm0pdwoKxuWaqG5gpACwX8Syvz3OH0gw+/cEa/813s2TeqiI6VMul8ceuGmf3hQn + n55Zqz3/DTJuEgrxy3GXAXEsgMALh+uwibBtW7RO4npWMUaGISEP4wzgLI5uC7ECLnPKh51CxpBgSGSO + uwyIIwAjmf/ffPMNr/kYnPUUy1gKmCjk+c8nowzkLM9tFDnPcNoqPQCnlLiMzkDB+KzwGkMFYFzvP4eG + P+uPEZj9Q+KaRA5IMqCzPrRVVVXR5w+eS/bcBiYvWXMCOHCjAVEWQMXfEMf873Q6wv3+/gaWeBEQGVr7 + 5584Azvrwe8h6MOyLyT4hf8G0zSl3B8QdxkQJQCBF8QJ/QnM/7a/2AcjsMQICWcQOWN7e5ubLi7bce3F + YlE0sQ2HBNvgOAMF5xBkStxlQGILIGr9H5IkEVBPBre4CDE7bG5u4g9/+APW19exvr6Ozc1NNBoN6f7O + gv74n8/AMkDGaICoLLq/UIhQAJhpHnDMrayshH6w6Gw/XuiPrUmW/e1k/s8e3inR165dQ61Wk9K/IxAA + /7baXCwDQpbqpwQtzAKo+BuKxWJkUo7AHAqoJoO7xJDx4SBmnzghNFYroOe/QcakIIEV8ObwN2EC8Ka/ + IWr2DzH/vxa8hMx/QioES9zIZYCMfgCBAFSGv0lsAYQRYv7zYv8VcJYY5PwjskT0/PlCaN/7r09jJ+S4 + hIQDB1E3rgCI1v9RAiAwgxKZ/5T3T2RJzGVA4Jl2HEfKZYDADxAuABAcvhlFQvO/4m+g2Z+QgZghtLb/ + BhkFIMoPIBKAn8d8owGmaYryotv+BlGGYZwUY4KYNoKJaNlXLSgwscm4DBCM28lbAAInSFuQ+lvxN6iq + St5/QgoURRE975Whr9v+izJaAKMuASox32iAQP0CzhJGIMJA9f4ImYgynf3nWHhM+9TjpKiqyvWreSnO + AQEQVRGNEgCB+rUFt1f8DWT+EzIhOkXI933bf0OOrIBlgG8BLPsb4qz/efDKfrE91oHPiONkJIi0EDyP + 53yptAELVzYLABDm7/wc4AtAwAKIWpsnnP2570/rf0ImYvoBAssA2VKCAWBpaYnXfBHgC0AgAhA1OAWq + J1r/V/wNNPsTMiLaUDP0dUAAZFwCCMbvMsAXgMQJQAIB4DpJwBEYEgBCRgTP5bAjsMe7QbZlQJiQ8QSg + 4m8QmBADEgrAsr+BIgCEjAhmTv8Stu2/QbY6gQBEkYCL/+Rr4JYODlsCCAb/sUgdMWKWIUGkjWBiOucb + Jz3/DTIuA0ROTb8FkNgBKHB6cGd/XohRURTK/yekJYYV8MJ/8dWrV1Prz6gIDm25GLYbEEC0+X90dMRr + Fpn/AQuDZn9CZgTP//LQ14FnXTYfABDfAqj47xjRAvib4PbE708QWSKIoS8PfR1IdZfRByDgJ5EWwIgC + 0I7bAxIAIof8ZOjrXFgAokiAXwB+wrsrjH6/n+T2wB6AqCUGQWRJVC6AYLNbbvALwLL/hqgQHc8CEJz8 + y4UsAGIWkS0jUOBoD1gAiRhhrcMNMxKErAgs1Irv+7b/hoSW8dQRbQgaSwASJgABlANA5IxZt1AjowAj + rNETrYkoB4AgsmPsKABBEMFJTzYfgIixlgCCHzLXXlGC8MObBH2Hhv7Jf102HwDAt7bHEgDBDxn4ZRBE + npmVUDXP3zaWACTBfyghQOt/gsia1AQAVAaMIKQjTQEIkKOcaYKYSVITAF52oIw50wQxq/DqFEQKQFg4 + gwYwQQDgRL5kPCWIh18AAll8Dx8+5L7QMAzRWYDtsXtFEBIhmOh6Q18Hxo1sYUBBlaKeXwDa/js6nQ62 + trZOWQKtVgu3bt3iveFxko1ABJEHeL4qX8k7bnlwmZKBRALwz76GHQA3/Hd1Oh10Oh2oqhr1Q+2M3kWC + yCe6rh+XSqUefJEuwzCkyaQVWOvfn7IAmKrdEb1JxOA/BPAgoh+BtRL5EYgZoe1vaDabGXQjiG3bonF2 + EHAC6rr+GYBGws84BnA1RnGEgKlEoUBCZkSmM6ctcFy4aZpSVAje39/nNfd0XT/kRgF0Xb+KEEvARxtA + UXRaKkHMID1/g67rB7z2vb29FLojxrZttFot3qUDICQMyCyBn8I163uCN7iq6/pbIWcA+AncJ4NCEoSI + hI68L/wNIdGyVBBF8cD8dX4n4CnYwL7J/nk7oHoJBryfQA11gpAZQThPdO7lAwCb8FW+qtfrWFlZSX3v + S6vVEolPwxvDiTIBdV1vjzH4AY4FkJeECWI+SWIBMB9YIBLmOI4obD41TNPEzg43KHeMoeV92nsBev4G + cgISMpO07D1bOnNPDa7X6xPrVximaWJjY0M0tnaGJ/HMBYDCgITMiM6+jHjZVV5jq9VCvV6f6qQXMfgP + mUANSFUA8nKcMkEArnUqyAIMjXix60IR2NjYmEqWoPfegsF/DOA9f2MW24Hb/gaZUiYJwmOEqtcDdF1v + QJBPY5om1tbWJpYoZNs2tra2wqyLYwDcaF0WAhD4BQoOGCWITEmQBMSF5dM0eNccx8HOzg7ef/99tFqt + kZYFtm2jXq/j/fffDws1eoOfK1w/SvypY6Jp2n8H8I6/vVqtpt0Vggil2WzixYtA5PqxZVntuO9hWdbX + mqadAafkPuAKQbfbxcHBAf785z/j5OQEALC4uMh9P8Mw8M0332BnZwe/+93vopbPoYMfiMgDmBJtfwMl + AxEyIhhc7aTvo+v6Z6VS6RDAIwhOx3IcZ7DpbphisQjHcUbxk7UBvBeVnp/6EkCkRuQIJGQiZDvvSCnv + LFW4CJaCGxfDMJKOjWMAd1iGbmSJ/qxqArb9DWQFEDIheB4PxzkNWNf1nq7r7wF4C9MpnNOAuy/ns7gv + yEoAAqmUJACETAiex/Yk3ptl1L4FVwgaY75dD25m3091Xb+aNFM3Cx8A4P4ibw83UEowIROiAhqT/AxW + PatdKpVuwnUSvgn3AN1KyMt67N/3AA7G3YV7ZpwXj0OpVPp//rbd3V0Ui8UsukMQA7w4PYf/Ns4SICns + MJ1lgF9VexJkZQEArjPk8nBDp9MhASAyp9vt8prHWv+PAjPne9P8jCwPBgmYU4JfPEGkisD8D1T8mQWy + FIBAOCSkdhlBpEJY/by0+5IGmQkAM28CDgxB+SKCSAWBFdqb1ZJ3mZ4NCE4JJVoGEFkSVj9vFslaALjL + AMoJILLANE2R+R+YqGaFTAWAlgGETAi2586s+Q9kbwEAnBpqo26PJIhR8TbjcJjp065kEIADcEoskRVA + pEmn0xFNOjO7/gckEACWXBH4JctyrBIxHwiet4Mxq2BLT+YCwAiYWSEnmhDERAnZcjvT5j8giQAwJ0vb + 304CQKSB4Piu3jwcdS+FADC4xypRSJCYJiHPWNyzMXONNALAqqj2/O1ZH65IzDYCK5Prl5pFpBEARkB1 + yQogpoVhGCIB2El7519WSCUAZAUQaSJ4ro7hHvI5F0glAAyuFZDlEcvE7BFiWc7N7A9IKAAiKyDknHOC + SEzIyblzM/sDEgoAI2AF2LaN/f39LPpCzBitVksY95+n2R/IsCZgFKVSyYBbIHGAoihoNBpQVTWjXhF5 + x3Ec/PKXv+Sl/fZ0Xf9pFn3KElktAAC46W9wHIeWAsRY7O3tiXL+A8/bPCCtALAsrEAslnd8EkHEwTAM + Uc5/m53cM3dIKwCMm+DsFAw5BpkguDiOg3q9Lrp8Nc2+yITUAsB2YgXctRF/TIIIsLe3Jzrr786s7/gL + Q2oBANyTVcGpGkRLASIuIaZ/D3MW9vMjvQAwuCZavV4XqTpBAHCtxVu3bokuX523sJ+fH2XdgThYltXX + NO0MfGemnZycwDAMXL58mf9CYu75+OOP8cMPP/AuPdB1/d/T7o9s5EIAAMCyrLamaZcBLA23v3z5Eo7j + YHV1NaOeEbKyv78v2uxzyI7pnnvysgTweA+cqECz2aTiIcQpDMMI2+wzt15/P7mxAADAsqxjTdP+C8Cv + /NcMw8Dq6ioWFxcz6BkhE6Zp4uOPP8bJyQnv8nVd1/9P2n2SlVwJAABYlvUXTdPOAThl85+cnODp06eo + Vqs4e/ZsRr0jssZxHGxtbecB2a8AAAU3SURBVKHf7/MuN3Rdn4tKP3HJ2xIAAKDr+k1wQoO2bWNjY4OS + hOaYjY0N0UafQ8xpum8YuRQAxlvg+ANM06QkoTmlXq+LBv8xgPfmPeTHI3dLAA/Lsv6uadq3cP0Bbwxf + e/HiBfr9PsrlcjadI1KnXq+HOYLfneXjvcYhtwIADPID/gogkAhgmiaJwJwQMfivzutGnzjkWgAAwLKs + Q03TXoBEYC6JGPx3dF2f61TfKHIvAMBABAKRAYBEYJaJGPwN5iwmQpgJAQAAy7K+1TRtGb4qQgCJwCwS + Y/BTsk8MZkYAAMCyrK+jRGBlZYXyBHIODf7JIW1NwHEolUqPAKzxrhUKBezu7kJRlHQ7RYyNt7Mv5KAY + GvwJmSkLwCPMEnj58iWePn2KCxcuUNpwjrBtG5988gmeP38uuoUG/wjMpAAA0SLw5MkT/OxnP6MKwznA + NE188MEHovRegAb/yMysAAADEfgbgHf8105OTtBqtbCwsIALFy5k0DsiDs1mE1tbW6KNPYC7r/96mn2a + JWZaAADAsqz/FOUJAMDTp09xdHSE1dVVcg5KhOM4+O1vf4vf//73Ybdd1XX9f6fVp1lkJp2APEql0kUA + 3wE4x7uuqiq2t7dRLBbT7RgRwDRNbG1thZV7OwZl+E2EmbcAPFja8GO4ZcWW/Ncdx0Gr1cKZM2dIBDJk + f38ft2/fDtvReQh3Y087rT7NMnMjAMCgoMhjuAIQcA4CbmGRbrdLUYKUMU0Tn3zyCZ48eRJ22wHcwd9L + p1ezz9wsAfyUSqUbAO6H3VOr1bC+vk45A1Nmf39fVL5rmDusRDwxQeZWAICBX+ARBNYA4PoGPvroI0oj + ngKGYcQp7d6DO+vTdt4pMNcCAAClUukcgNsAboTdVywWsbm5iUKhkE7HZhjbtlGv18My+jwOQLX7p8rc + C4BHqVSqwLUGlsPuq1aruHbtGiUQjYBt22GluochL39KkAAMEdcaAEgIkuA4DprNJh4/fhynXmMDwE2a + 9dOBBIADswbuI8Q34EFCICbBjA+4a/2rFN5LFxKAEEql0hpcIeAmDw1TLpdRq9UohwCuc6/VasUd+Meg + yj2ZQQIQAVsW3ACwiRhCoKoqarUaqtXqXIUPHcdBp9NBs9kUVebl8QDu4CdzPyNIAGJSKpWW4foH1uK+ + plwu4913353pEGKn00G32016NFsD7sDvTaVTRGxIABIyihAoioJyuYxLly5hZWUl95aBN+g7nU7SQ1ga + oIEvFSQAI8KEYA0xlwbDFItFlMtlFIvFXOQVmKYJwzBgGAY6nU7Slx/DHfg7NPDlgwRgTJiP4DJcIYiM + GvhRFAUrKysoFAoDQcjSQnAcZzDgTdPEs2fPRj1qrQdgB26xDlrjSwoJwARhqcWbcAUhkVUwjKqqWFpa + GiwXCoUClpaWJhpqtG0b/X5/8P+zZ88G34/BMdzsvS8onJcPSACmBAsh/gKCQiTjMBxqXFhYCF1GmKaJ + V69eDb6PkX47CgcAvgZwQLN9viABmDJDS4Q3MaZlIBHHANqgQZ97SABShmUZVuAKQiXLviSkDeB7AG0y + 72cHEoCMGRKEn8N1Ii5n2B2PHtzKO38CDfiZhgRAQpgoLLN/b7LmyhQ+qs3+/x6uWX8I4JBM+vmBBCBn + sPyD5aGmiwj3K3gD26NH8XiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiC + IAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIIhp8P8BmkxPb5Mt8oUAAAAASUVORK5CYIIo + AAAAgAAAAAABAAABACAAAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFNTUxBL + S0s4Tk5OX1FRUX86OjqXOjo6nzo6Ors6Ojq/Ojo6vzo6Or86OjqrOjo6n0ZGRodRUVFvTk5OT0tLSyxT + U1MEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABKSkowTk5Obzo6Oq86OjrjOjo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ovc6OjrLRkZGj05OTk9WVlYQAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLS0M6OjqbOjo64zo6Ov86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo6/zo6Ov86Ojr/RkZG/1JSUv9iYmL/a2tr/2tra/9ra2v/VVVV/1JSUv86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ovs6OjrDREREb0tLSxwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASkpKHERERH86 + OjrjOjo6/zo6Ov86Ojr/Ojo6/zo6Ov9MTEz/d3d3/5+fn//BwcH/3d3d//j4+P////////////////// + ///////////////////////////////s7Oz/1NTU/6+vr/+NjY3/YmJi/z09Pf86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo6+zo6OrdPT09TVFRUBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAS0tLLzo6Oqc6Ojr7Ojo6/zo6Ov86Ojr/PT09/25ubv+lpaX/4ODg//////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////9fX1/8fHx/+NjY3/T09P/zo6Ov86Ojr/Ojo6/zo6Ov86OjrfREREb1ZWVggA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLJDo6Oqs6Ojr/Ojo6/zo6Ov86 + Ojr/XFxc/6mpqf/v7+////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////0NDQ/4eHh/9DQ0P/Ojo6/zo6Ov86Ojr/Ojo650RERGtWVlYEAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAVFRUEERERIs6Ojr7Ojo6/zo6Ov86Ojr/d3d3/9HR0f////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////Ly8v+oqKj/TExM/zo6Ov86 + Ojr/Ojo6/zo6OtdQUFBHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAENDQ0s6OjrjOjo6/zo6Ov86Ojr/d3d3/9ra2v// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////8/Pz/srKy/0xMTP86Ojr/Ojo6/zo6Ov86OjqnWVlZFAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVVVQw6 + OjqbOjo6/zo6Ov86Ojr/YmJi/9DQ0P////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////+Pj4/5ycnP9AQED/Ojo6/zo6Ov86OjrrRERERwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNTU0rOjo62zo6Ov86Ojr/Q0ND/6ioqP/8/Pz///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////+bm5v9ra2v/Ojo6/zo6Ov86 + Ojr/RkZGi1hYWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARERETzo6OvM6 + Ojr/Ojo6/2VlZf/m5ub///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////+srKz/QEBA/zo6Ov86Ojr/Ojo6u1tbWxQAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAERERHM6Ojr/Ojo6/zo6Ov+Wlpb//Pz8//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////d + 3d3/VVVV/zo6Ov86Ojr/Ojo611xcXCMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABERESPOjo6/zo6Ov9D + Q0P/u7u7//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////19fX/cXFx/zo6Ov86Ojr/Ojo6515eXicA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAARUVFjzo6Ov86Ojr/TExM/9HR0f////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////8/Pz/ioqK/zo6Ov86Ojr/Ojo6515eXicAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVFRYs6Ojr/Ojo6/0xMTP/g + 4OD///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////kJCQ/zo6Ov86 + Ojr/Ojo6511dXScAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABERERvOjo6/zo6Ov9MTEz/4ODg//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////kJCQ/zo6Ov86Ojr/Ojo631xcXBgAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0NDSzo6Ovs6Ojr/SUlJ/+Dg4P// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////kJCQ/zo6Ov86Ojr/Ojo6y1tbWwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAFhYWCM6OjrzOjo6/0BAQP/R0dH///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////enp6/zo6Ov86Ojr/Ojo6nwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUVFQIOjo6zzo6Ov86Ojr/tbW1//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////19fX/YmJi/zo6Ov86Ojr/RUVFXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAERERJM6Ojr/Ojo6/4qKiv////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////m5ub/RkZG/zo6Ov86 + OjrzXV1dIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNTU0/Ojo6/zo6Ov9eXl7/+Pj4//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////BwcH/Ojo6/zo6Ov86OjrHWVlZBAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAVFRUCDo6Ots6Ojr/PT09/9ra2v////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////+E + hIT/Ojo6/zo6Ov9GRkZnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABERER7Ojo6/zo6Ov+cnJz///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////Ly8v9PT0//Ojo6/zo6Ou9cXFwUAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAVVVVGDo6OvM6Ojr/VVVV//j4+P////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////7u7u/86Ojr/Ojo6/0ZGRpcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABERESPOjo6/zo6Ov/ExMT///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////2hoaP86Ojr/Ojo6+1BQUCQA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAVVVVGDo6Ovc6Ojr/a2tr//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////zc3N/zo6Ov86Ojr/Ojo6nwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABERESPOjo6/zo6Ov/Nzc3///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////cXFx/zo6Ov86 + Ojr7UFBQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAU1NTDDo6Ou86Ojr/ZWVl//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////Nzc3/Ojo6/zo6Ov9HR0eHAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDQ0NnOjo6/zo6Ov++vr7///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////9i + YmL/Ojo6/zo6OutaWloIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAADo6Oss6Ojr/TExM//z8/P////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////6+vr/86Ojr/Ojo6/1NTU1MAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKSkokOjo6/zo6Ov+Wlpb///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////9fX1/0NDQ/86Ojr/Ojo6rwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAERERHs6Ojr/Ojo6/9ra2v////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////gICA/zo6Ov86Ojr3XV1dDAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjo6xzo6Ov9VVVX///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////++vr7/Ojo6/zo6Ov9TU1NTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAFNTUxA6Ojr/Ojo6/5OTk/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////X19f89PT3/Ojo6/zo6OpcA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT09PBElJSTdMTExvQ0NDhzo6Op9O + Tk5/TExMZ0pKSiwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATExMTzo6Ov86Ojr/x8fH//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////2tra/86Ojr/Ojo61wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAVVVVEERERH86OjrnOjo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6OtdERERvV1dXCAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABERESLOjo6/zo6Ov/19fX///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////nJyc/zo6Ov86 + Ojr/UVFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERFc6OjrrOjo6/zo6Ov86Ojr/Ojo6/zo6Ov9P + T0//Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86OjrbUFBQMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo6Or86Ojr/X19f//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////ExMT/Ojo6/zo6Ov9UVFRLAAAAAAAAAAAAAAAAAAAAAAAAAABF + RUWHOjo6/zo6Ov86Ojr/X19f/6ysrP/j4+P/////////////////2tra/5+fn/9MTEz/Ojo6/zo6Ov86 + Ojr7RUVFUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAOjo67zo6Ov+Dg4P///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////+/v7/86 + Ojr/Ojo6/1dXV3MAAAAAAAAAAAAAAAAAAAAAREREfzo6Ov86Ojr/Q0ND/7W1tf////////////////// + //////////////////////////j4+P+ZmZn/PT09/zo6Ov86Ojr7RUVFTwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEdHRxg6Ojr/Ojo6/6Wlpf// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////0lJSf86Ojr/Ojo6mwAAAAAAAAAAAAAAAEpKSj86 + Ojr/Ojo6/0xMTP/d3d3///////////////////////////////////////////////////////////++ + vr7/PT09/zo6Ov86OjrzXV1dIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAENDQxBDQ0MIAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAASkpKODo6Ov86Ojr/wcHB//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////ZWVl/zo6Ov86Ojq/AAAAAAAAAABJSUkEOjo62zo6Ov89PT3/19fX//////////////////////// + //////////////////////////////////////////////+1tbX/Ojo6/zo6Ov86OjqrAAAAAAAAAAAA + AAAAAAAAAENDQ2c6OjrbOjo6/zo6Ov86OjrDTExMNwAAAAAAAAAAAAAAAAAAAABMTExXOjo6/zo6Ov/a + 2tr///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////99fX3/Ojo6/zo6Ot8AAAAAAAAAAEVFRVc6 + Ojr/Ojo6/5mZmf////////////////////////////////////////////////////////////////// + //////////////90dHT/Ojo6/zo6Ov9RUVErAAAAAAAAAABERESHOjo6/zo6Ov86Ojr/Ojo6/zo6Ov86 + Ojr7REREQwAAAAAAAAAAAAAAAE1NTWs6Ojr/Ojo6/+np6f////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////5CQkP86Ojr/Ojo69wAAAAAAAAAAOjo6uzo6Ov9DQ0P/8vLy//////////////////////// + /////////////////////////////////////////////////////////9ra2v86Ojr/Ojo6/0dHR4MA + AAAASUlJKzo6Ov86Ojr/SUlJ/5ycnP+Kior/PT09/zo6Ov86OjrbAAAAAAAAAAAAAAAATU1Nfzo6Ov86 + Ojr///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////nJyc/zo6Ov86Ojr/AAAAAEtLSwQ6 + Ojr3Ojo6/4ODg/////////////////////////////////////////////////////////////////// + /////////////////////////1xcXP86Ojr/Ojo6zwAAAABLS0tzOjo6/zo6Ov/X19f///////////+f + n5//Ojo6/zo6Ov9JSUkwAAAAAAAAAABOTk5/Ojo6/zo6Ov////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////+rq6v/Ojo6/zo6Ov9KSkoYSEhILDo6Ov86Ojr/r6+v//////////////////////// + ////////////////////////////////////////////////////////////////////kJCQ/zo6Ov86 + Ojr3AAAAAE1NTX86Ojr/Ojo6/////////////////87Ozv86Ojr/Ojo6/0tLS0AAAAAAAAAAAERERI86 + Ojr/Q0ND//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////7W1tf86Ojr/Ojo6/0tLSyBK + SkpAOjo6/zo6Ov/Ozs7///////////////////////////////////////////////////////////// + //////////////////////////////+oqKj/Ojo6/zo6Ov8AAAAAT09Pfzo6Ov86Ojr///////////// + ////zs7O/zo6Ov86Ojr/TU1NQAAAAAAAAAAAOjo6lzo6Ov9JSUn///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////tbW1/zo6Ov86Ojr/TExMIEtLS0A6Ojr/Ojo6/87Ozv////////////////// + /////////////////////////////////////////////////////////////////////////7W1tf86 + Ojr/Ojo6/wAAAABRUVF/Ojo6/zo6Ov/////////////////U1NT/Ojo6/zo6Ov9RUVFLAAAAAAAAAABM + TEx/Ojo6/zo6Ov////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////+vr6//Ojo6/zo6Ov9M + TEwgTExMQDo6Ov86Ojr/zs7O//////////////////////////////////////////////////////// + ////////////////////////////////////q6ur/zo6Ov86Ojr/AAAAAFNTU386Ojr/Ojo6//j4+P// + /////////+bm5v86Ojr/Ojo6/1NTU18AAAAAAAAAAEtLS386Ojr/Ojo6//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////5ycnP86Ojr/Ojo6/wAAAABNTU1bOjo6/zo6Ov/g4OD///////////// + //////////////////////////////////////////////////////////////////////////////+c + nJz/Ojo6/zo6Ov8AAAAAUlJSXzo6Ov86Ojr/5ubm////////////7+/v/zo6Ov86Ojr/VVVVcwAAAAAA + AAAASkpKczo6Ov86Ojr/7+/v//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////lpaW/zo6Ov86 + Ojr/AAAAAE1NTV86Ojr/Ojo6/+bm5v////////////////////////////////////////////////// + /////////////////////////////////////////5ycnP86Ojr/Ojo6/wAAAABQUFBXOjo6/zo6Ov/a + 2tr/////////////////QEBA/zo6Ov9ISEiPAAAAAAAAAABISEhfOjo6/zo6Ov/g4OD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////+EhIT/Ojo6/zo6Ot8AAAAATU1Nfzo6Ov86Ojr/+Pj4//////// + //////////////////////////////////////////////////////////////////////////////// + ////h4eH/zo6Ov86OjrnAAAAAE5OTkA6Ojr/Ojo6/8fHx/////////////////9YWFj/Ojo6/zo6Oq8A + AAAAAAAAAEZGRkA6Ojr/Ojo6/8fHx/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////2tra/86 + Ojr/Ojo6xwAAAAA6OjqTOjo6/0NDQ/////////////////////////////////////////////////// + //////////////////////////////////////////////93d3f/Ojo6/zo6OtcAAAAAS0tLIDo6Ov86 + Ojr/r6+v/////////////////3R0dP86Ojr/Ojo60wAAAAAAAAAAREREHDo6Ov86Ojr/q6ur//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////TExM/zo6Ov86OjqnAAAAADo6OrM6Ojr/W1tb//////// + //////////////////////////////////////////////////////////////////////////////// + /////////2JiYv86Ojr/Ojo6uwAAAABUVFQEOjo6/zo6Ov+Wlpb/////////////////k5OT/zo6Ov86 + Ojr7WFhYCAAAAAAAAAAAOjo68zo6Ov+NjY3///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////Ly8v86 + Ojr/Ojo6/0RERH8AAAAAOjo61zo6Ov93d3f///////////////////////////////////////////// + ////////////////////////////////////////////////////SUlJ/zo6Ov86OjqbAAAAAAAAAAA6 + OjrbOjo6/3d3d/////////////////+4uLj/Ojo6/zo6Ov9OTk40AAAAAAAAAAA6OjrLOjo6/2JiYv// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////0NDQ/zo6Ov86Ojr/Tk5OT1RUVAg6Ojr/Ojo6/5OTk/// + //////////////////////////////////////////////////////////////////////////////// + //////////Ly8v86Ojr/Ojo6/11dXXcAAAAAAAAAADo6OrM6Ojr/WFhY/////////////////+Dg4P86 + Ojr/Ojo6/1JSUm8AAAAAAAAAADo6OpM6Ojr/QEBA//j4+P////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////+i + oqL/Ojo6/zo6Ov9MTEwgS0tLNDo6Ov86Ojr/u7u7//////////////////////////////////////// + ////////////////////////////////////////////////////1NTU/zo6Ov86Ojr/WlpaUwAAAAAA + AAAARkZGizo6Ov86Ojr/9fX1/////////////////0ZGRv86Ojr/Ojo6rwAAAAAAAAAAR0dHXzo6Ov86 + Ojr/0NDQ//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////3R0dP86Ojr/Ojo65wAAAABMTExvOjo6/zo6Ov/g + 4OD///////////////////////////////////////////////////////////////////////////// + //////////////+rq6v/Ojo6/zo6Ov9WVlYoAAAAAAAAAABPT09TOjo6/zo6Ov/Q0ND///////////// + ////enp6/zo6Ov86OjrvU1NTBAAAAABFRUUgOjo6/zo6Ov+cnJz///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////8 + /Pz/Q0ND/zo6Ov86OjqnAAAAADo6Oqc6Ojr/RkZG//////////////////////////////////////// + /////////////////////////////////////////////////////////4aGhv86Ojr/Ojo68wAAAAAA + AAAAAAAAAEtLSyQ6Ojr/Ojo6/6Wlpf////////////////+ysrL/Ojo6/zo6Ov9NTU07AAAAAAAAAAA6 + OjrXOjo6/2JiYv////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////8rKyv86Ojr/Ojo6/05OTl8AAAAAOjo67zo6Ov93 + d3f///////////////////////////////////////////////////////////////////////////// + ////////////////////WFhY/zo6Ov86Ojq/AAAAAAAAAAAAAAAAAAAAADo6Ouc6Ojr/d3d3//////// + /////////+np6f86Ojr/Ojo6/0VFRY8AAAAAAAAAAEFBQYs6Ojr/Ojo6/+np6f////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////h4eH/zo6Ov86Ojr/V1dXFEtLSzc6Ojr/Ojo6/6+vr/////////////////////////////////// + /////////////////////////////////////////////////////////+/v7/86Ojr/Ojo6/0pKSocA + AAAAAAAAAAAAAAAAAAAAOjo6pzo6Ov9GRkb//Pz8/////////////////2hoaP86Ojr/Ojo64wAAAAAA + AAAAR0dHOzo6Ov86Ojr/oqKi//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////z8/P9JSUn/Ojo6/zo6OsMAAAAAQ0NDgzo6Ov86 + Ojr/5ubm//////////////////////////////////////////////////////////////////////// + ////////////////////u7u7/zo6Ov86Ojr/VlZWRwAAAAAAAAAAAAAAAAAAAABQUFBnOjo6/zo6Ov/Q + 0ND/////////////////qamp/zo6Ov86Ojr/TExMRwAAAAAAAAAAOjo62zo6Ov9ZWVn///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////4+Pj/319ff9ubm7/uLi4//////// + //////////////////////////////////////////////////////////////////////////////// + ////wcHB/zo6Ov86Ojr/Tk5OYwAAAAA6OjrbOjo6/19fX/////////////////////////////////// + //////////////////////////////////////////////////////////////+Dg4P/Ojo6/zo6Ovdh + YWEIAAAAAAAAAAAAAAAAAAAAAEtLSyA6Ojr/Ojo6/5mZmf/////////////////v7+//QEBA/zo6Ov86 + OjqrAAAAAAAAAABBQUF/Ojo6/zo6Ov/Nzc3///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////+Dg4P9MTEz/Ojo6/zo6Ov86Ojr/qKio//////////////////////////////////////// + //////////////////////////////////////////////9xcXH/Ojo6/zo6OvdWVlYQS0tLNzo6Ov86 + Ojr/n5+f//////////////////////////////////////////////////////////////////////// + /////////////////////////0lJSf86Ojr/Ojo6uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo6Os86 + Ojr/VVVV//////////////////////99fX3/Ojo6/zo6OvtKSkocAAAAAE9PTxg6Ojr7Ojo6/3d3d/// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////g4OD/TExM/zo6Ov86Ojr/Ojo6/zo6Ov86 + Ojr/qKio//////////////////////////////////////////////////////////////////////// + ////4ODg/zo6Ov86Ojr/Ojo6mwAAAAA6OjqXOjo6/zo6Ov/p6en///////////////////////////// + ///////////////////////////////////////////////////////////////Q0ND/Ojo6/zo6Ov9Y + WFhnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARUVFfzo6Ov86Ojr/2tra/////////////////9HR0f86 + Ojr/Ojo6/0RERI8AAAAAAAAAADo6Oqc6Ojr/Ojo6/+Dg4P////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////7+/v/0xMTP86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/qKio//////////////////////// + //////////////////////////////////////////////+EhIT/Ojo6/zo6Ov9NTU0vVFRUEDo6Ovc6 + Ojr/cXFx//////////////////////////////////////////////////////////////////////// + /////////////////////////4qKiv86Ojr/Ojo6/1NTUxwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABM + TEwoOjo6/zo6Ov+Wlpb//////////////////////2JiYv86Ojr/Ojo681NTUxAAAAAASEhILzo6Ov86 + Ojr/fX19//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////+4uLj/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo6/zo6Ov86Ojr/qKio//////////////////////////////////////////////////////// + ////4+Pj/z09Pf86Ojr/Ojo6twAAAABDQ0NzOjo6/zo6Ov/BwcH///////////////////////////// + ///////////////////////////////////////////////////////////////4+Pj/SUlJ/zo6Ov86 + Ojq7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OjrPOjo6/09PT//8/Pz///////////// + ////wcHB/zo6Ov86Ojr/Q0NDiwAAAAAAAAAAOjo6rzo6Ov86Ojr/2tra//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////8HBwf86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/qKio//////// + //////////////////////////////////////////////99fX3/Ojo6/zo6Ov9NTU07VVVVCDo6Ouc6 + Ojr/VVVV//z8/P////////////////////////////////////////////////////////////////// + /////////////////////////7u7u/86Ojr/Ojo6/1dXV18AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAERERGs6Ojr/Ojo6/8TExP//////////////////////X19f/zo6Ov86Ojr3VFRUHAAAAABJ + SUkrOjo6+zo6Ov9oaGj///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////Pz8/3p6ev86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/qKio//////////////////////////////////////// + ////0NDQ/zo6Ov86Ojr/Ojo6rwAAAABDQ0NvOjo6/zo6Ov+srKz///////////////////////////// + ////////////////////////////////////////////////////////////////////a2tr/zo6Ov86 + OjrzYGBgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV1dXEDo6Ovc6Ojr/cXFx//////// + ///////////////Kysr/Ojo6/zo6Ov86OjqjAAAAAAAAAAA6OjqbOjo6/zo6Ov+1tbX///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8/3p6ev86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86 + Ojr/qKio//////////////////////////////////z8/P9bW1v/Ojo6/zo6OvtNTU0nVVVVDDo6Ouc6 + Ojr/TExM//j4+P////////////////////////////////////////////////////////////////// + /////////////////////////9ra2v86Ojr/Ojo6/0lJSZMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAOjo6mzo6Ov86Ojr/3d3d//////////////////////9xcXH/Ojo6/zo6Ov9M + TEw/AAAAAFJSUhQ6OjrvOjo6/0lJSf/v7+////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////Pz8/3p6ev86 + Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/qKio//////////////////////// + ////nJyc/zo6Ov86Ojr/REREhwAAAABDQ0ODOjo6/zo6Ov+1tbX///////////////////////////// + ////////////////////////////////////////////////////////////////////hISE/zo6Ov86 + Ojr/U1NTKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNTU0vOjo6/zo6Ov+E + hIT//////////////////////+Pj4/9AQED/Ojo6/zo6OttTU1MIAAAAAEJCQl86Ojr/Ojo6/3R0dP// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////Pz8/3p6ev86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo6/zo6Ov86Ojr/r6+v/////////////////9ra2v89PT3/Ojo6/zo6Ot9XV1cMTExMJDo6Ovc6 + Ojr/W1tb//z8/P////////////////////////////////////////////////////////////////// + /////////////////////////+Pj4/89PT3/Ojo6/zo6Oq8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OjqzOjo6/z09Pf/j4+P//////////////////////5ycnP86 + Ojr/Ojo6/0NDQ48AAAAAAAAAADo6OrM6Ojr/Ojo6/6mpqf////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////Pz8/3p6ev86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov9JSUn////////////1 + 9fX/VVVV/zo6Ov86Ojr/Tk5OPwAAAAA6Ojq/Ojo6/zo6Ov/Kysr///////////////////////////// + ////////////////////////////////////////////////////////////////////hISE/zo6Ov86 + Ojr/VFRUNwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5OTj86 + Ojr/Ojo6/4SEhP///////////////////////Pz8/15eXv86Ojr/Ojo6/0JCQkcAAAAAVFRUGDo6Ouc6 + Ojr/PT09/9TU1P////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////Pz8/3p6ev86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo6/zo6Ov86Ojr/Ojo6/0lJSf///////////3p6ev86Ojr/Ojo6/0RERIcAAAAAQ0NDazo6Ov86 + Ojr/gICA//////////////////////////////////////////////////////////////////////// + /////////////////////////+Dg4P89PT3/Ojo6/zo6OrsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo6Or86Ojr/PT09/+Dg4P////////////////// + ////2tra/0BAQP86Ojr/Ojo661VVVRwAAAAAQkJCQzo6Ovs6Ojr/TExM/+bm5v////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8/3p6ev86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/r6+v//////+c + nJz/Ojo6/zo6Ov86OjrDV1dXBE1NTSc6OjrzOjo6/0lJSf/v7+////////////////////////////// + ////////////////////////////////////////////////////////////////////dHR0/zo6Ov86 + Ojr/VFRULwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAT09PLzo6Ov86Ojr/cXFx////////////////////////////r6+v/zo6Ov86Ojr/Ojo6x1RUVAgA + AAAAQ0NDczo6Ov86Ojr/WFhY/+/v7/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////Pz8/3p6ev86 + Ojr/Ojo6/zo6Ov86Ojr/Ojo6/6ioqP//////tbW1/zo6Ov86Ojr/Ojo651hYWBhWVlYMOjo60zo6Ov86 + Ojr/xMTE//////////////////////////////////////////////////////////////////////// + /////////////////////////8fHx/86Ojr/Ojo6/zo6OqMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjo6ozo6Ov86Ojr/x8fH//////// + ////////////////////gYGB/zo6Ov86Ojr/Ojo6owAAAAAAAAAAQ0NDmzo6Ov86Ojr/aGho//X19f// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////Pz8/3p6ev86Ojr/Ojo6/zo6Ov+oqKj//////76+vv89 + PT3/Ojo6/zo6OvNNTU0vAAAAADo6OqM6Ojr/Ojo6/42Njf////////////////////////////////// + ///////////////////////////////////////////////////////////////4+Pj/VVVV/zo6Ov86 + Ojr3YWFhHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABZWVkcOjo68zo6Ov9SUlL/+Pj4///////////////////////19fX/Xl5e/zo6Ov86 + Ojr/Q0NDhwAAAABUVFQEOjo6qzo6Ov86Ojr/aGho//X19f////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////Pz8/6Kiov+EhIT/xMTE//////++vr7/PT09/zo6Ov86Ojr7QkJCQwAAAABDQ0N7Ojo6/zo6Ov9i + YmL//Pz8//////////////////////////////////////////////////////////////////////// + /////////////////////////5OTk/86Ojr/Ojo6/0dHR3sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFRUV3Ojo6/zo6Ov+T + k5P////////////////////////////s7Oz/TExM/zo6Ov86Ojr/Q0NDbwAAAABVVVUMOjo6wzo6Ov86 + Ojr/W1tb/+zs7P////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////srKy/z09Pf86 + Ojr/Ojo6+0JCQlMAAAAAQ0NDWzo6Ov86Ojr/TExM/+zs7P////////////////////////////////// + ///////////////////////////////////////////////////////////////T09P/PT09/zo6Ov86 + OjrTXl5eBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAFdXVwQ6OjrPOjo6/z09Pf/T09P////////////////////////////g + 4OD/RkZG/zo6Ov86Ojr/Q0NDbwAAAABWVlYMOjo6tzo6Ov86Ojr/T09P/93d3f////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////5mZmf86Ojr/Ojo6/zo6OvtCQkJTAAAAAENDQ1M6Ojr7Ojo6/0NDQ//X + 19f///////////////////////////////////////////////////////////////////////////// + ////////////////////9fX1/1hYWP86Ojr/Ojo6+1RUVDcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBQUC86 + Ojr7Ojo6/1JSUv/19fX////////////////////////////R0dH/Q0ND/zo6Ov86Ojr/Q0NDdwAAAABV + VVUEOjo6pzo6Ov86Ojr/Q0ND/7u7u/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////Ly8v90dHT/Ojo6/zo6Ov86 + OjrzQkJCPwAAAABDQ0NTOjo6+zo6Ov89PT3/x8fH//////////////////////////////////////// + //////////////////////////////////////////////////////////////+EhIT/Ojo6/zo6Ov9H + R0eDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVFRX86Ojr/Ojo6/35+fv////////////////// + ///////////////R0dH/Q0ND/zo6Ov86Ojr/Q0NDk1VVVQQAAAAAQ0NDgzo6Ov86Ojr/Ojo6/4qKiv/1 + 9fX///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////Q0ND/UlJS/zo6Ov86Ojr/Ojo6305OTisAAAAAQ0NDXzo6Ovs6Ojr/PT09/76+vv// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////tbW1/zo6Ov86Ojr/Ojo6x15eXgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAV1dXBDo6OsM6Ojr/Ojo6/6+vr//////////////////////////////////U1NT/TExM/zo6Ov86 + Ojr/Ojo6s1VVVQwAAAAAQ0NDUzo6OvM6Ojr/Ojo6/1hYWP/Q0ND///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////4+Pj/k5OT/z09Pf86Ojr/Ojo6/zo6OrtY + WFgUAAAAAENDQ3s6Ojr/Ojo6/z09Pf++vr7///////////////////////////////////////////// + /////////////////////////////////////////////////////////9fX1/9AQED/Ojo6/zo6Ou9h + YWEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW1tbHDo6Ous6Ojr/PT09/9HR0f// + ///////////////////////////////g4OD/VVVV/zo6Ov86Ojr/Ojo6101NTSsAAAAAVlZWIzo6Os86 + Ojr/Ojo6/zo6Ov+Hh4f/7Ozs//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////xMTE/1VVVf86Ojr/Ojo6/zo6OvtERER7V1dXBFZWVgw6OjqjOjo6/zo6Ov9DQ0P/x8fH//////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////s7Oz/TExM/zo6Ov86Ojr7RkZGRwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAREREQzo6Ovs6Ojr/TExM/+bm5v/////////////////////////////////v + 7+//a2tr/zo6Ov86Ojr/Ojo680NDQ2MAAAAAVVVVBENDQ386Ojr7Ojo6/zo6Ov9GRkb/nJyc//X19f// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////2tra/2tra/86Ojr/Ojo6/zo6Ov86OjrTTk5OMwAAAABM + TEwrOjo60zo6Ov86Ojr/TExM/9fX1/////////////////////////////////////////////////// + ////////////////////////////////////////////////////9fX1/1tbW/86Ojr/Ojo6/0dHR3cA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARUVFczo6Ov86 + Ojr/WFhY/+/v7//////////////////////////////////8/Pz/kJCQ/zo6Ov86Ojr/Ojo6/zo6OrNW + VlYcAAAAAExMTCs6OjrDOjo6/zo6Ov86Ojr/SUlJ/5ycnP/v7+////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////zc3N/3d3d/86 + Ojr/Ojo6/zo6Ov86OjrzREREe1ZWVgQAAAAAQ0NDazo6OvM6Ojr/Ojo6/2VlZf/s7Oz///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////X19f9oaGj/Ojo6/zo6Ov86OjqfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGmzo6Ov86Ojr/aGho//X19f////////////////// + ////////////////////wcHB/0lJSf86Ojr/Ojo6/zo6Ou9DQ0NnVVVVBAAAAABDQ0NTOjo62zo6Ov86 + Ojr/Ojo6/0BAQP+EhIT/0NDQ//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////y8vL/r6+v/19fX/86Ojr/Ojo6/zo6Ov86Ojr7Ojo6n1dXVxgAAAAATExMJzo6Or86 + Ojr/Ojo6/zo6Ov+QkJD//Pz8//////////////////////////////////////////////////////// + ///////////////////////////////////////////////8/Pz/d3d3/zo6Ov86Ojr/Ojo6t15eXgQA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZ + WVkEOjo6rzo6Ov86Ojr/aGho//X19f//////////////////////////////////////6enp/3R0dP86 + Ojr/Ojo6/zo6Ov86OjrLTExMPwAAAABVVVUEQ0NDXzo6Otc6Ojr/Ojo6/zo6Ov86Ojr/UlJS/5OTk//Q + 0ND//Pz8//////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////+zs7P+1tbX/d3d3/0BAQP86Ojr/Ojo6/zo6Ov86 + Ojr7Ojo6n01NTSQAAAAAVVVVEENDQ4c6Ojr7Ojo6/zo6Ov9PT0//xMTE//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////Pz8/3p6ev86Ojr/Ojo6/zo6OsNfX18MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZWVkMOjo6wzo6Ov86Ojr/aGho//X19f// + /////////////////////////////////////////7i4uP9MTEz/Ojo6/zo6Ov86Ojr/Ojo6t0xMTC8A + AAAAAAAAAExMTEs6OjqzOjo6+zo6Ov86Ojr/Ojo6/zo6Ov9DQ0P/cXFx/5+fn//ExMT/5ubm//////// + //////////////////////////////////////////////////////////j4+P/a2tr/srKy/4qKiv9c + XFz/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86OjrnREREh1dXVxgAAAAAVFRUCENDQ286OjrrOjo6/zo6Ov86 + Ojr/hISE//Ly8v////////////////////////////////////////////////////////////////// + //////////////////////////////////////////X19f9oaGj/Ojo6/zo6Ov86OjrDX19fDAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABaWloMOjo6wzo6Ov86Ojr/aGho//Ly8v////////////////////////////////// + //////////Ly8v+Tk5P/QEBA/zo6Ov86Ojr/Ojo6/zo6Or9MTExLAAAAAAAAAABLS0scQ0NDdzo6Oss6 + Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/QEBA/1hYWP9ra2v/gICA/4SEhP+EhIT/hISE/4SEhP+E + hIT/dHR0/2VlZf9PT0//Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6OvM6OjqjTU1NS1VVVQQA + AAAAVFRUFENDQ3s6OjrnOjo6/zo6Ov86Ojr/X19f/9DQ0P////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////s + 7Oz/ZWVl/zo6Ov86Ojr/Ojo6w2BgYAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaWloMOjo6wzo6Ov86 + Ojr/WFhY/+np6f/////////////////////////////////////////////////j4+P/hISE/z09Pf86 + Ojr/Ojo6/zo6Ov86OjrfQ0NDd0tLSxwAAAAAAAAAAEtLSxxNTU1fOjo6pzo6Ot86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86 + Ojr3Ojo6x0RERIdNTU0/VVVVBAAAAAAAAAAAS0tLPzo6Op86Ojr3Ojo6/zo6Ov86Ojr/VVVV/7W1tf/8 + /Pz///////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////4ODg/1VVVf86Ojr/Ojo6/zo6OsNfX18MAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZWVkMOjo6szo6Ov86Ojr/TExM/9fX1/////////////////// + ////////////////////////////////////4+Pj/4qKiv9AQED/Ojo6/zo6Ov86Ojr/Ojo6/zo6OsND + Q0NvS0tLJAAAAAAAAAAAAAAAAEtLSxRMTExHTU1Nbzo6OpM6OjqvOjo6wzo6Ot86OjrfOjo63zo6Ot86 + OjrfOjo63zo6OtM6Ojq/Ojo6n0RERINOTk5XTExMMFVVVQQAAAAAAAAAAFNTUwRKSko/QkJCjzo6OuM6 + Ojr/Ojo6/zo6Ov86Ojr/VVVV/7W1tf/8/Pz///////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////8TExP9D + Q0P/Ojo6/zo6Ov86OjqnX19fBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZ + WVkEOjo6nzo6Ov86Ojr/QEBA/7W1tf////////////////////////////////////////////////// + /////////+/v7/+ioqL/VVVV/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo63zo6Op9MTExjS0tLMFNTUwQA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABT + U1MQS0tLQ0JCQnc6Ojq3Ojo68zo6Ov86Ojr/Ojo6/zo6Ov89PT3/dHR0/8TExP////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////z8/P+Wlpb/Ojo6/zo6Ov86Ojr/R0dHgwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGezo6Ov86Ojr/Ojo6/4qKiv/4 + +Pj/////////////////////////////////////////////////////////////////0NDQ/5CQkP9P + T0//Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6+zo6Otc6OjqzOjo6l0xMTH9MTExrTExMX0xMTF9M + TExfTExMX0xMTF9MTEx3Q0NDhzo6Op86OjrDOjo65zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov9o + aGj/qamp/+np6f////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////m5ub/aGho/zo6Ov86 + Ojr/Ojo680dHR1sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAARUVFSzo6Ou86Ojr/Ojo6/1tbW//a2tr///////////////////////////// + ///////////////////////////////////////////////X19f/n5+f/2tra/9DQ0P/Ojo6/zo6Ov86 + Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo6/zo6Ov86Ojr/T09P/319ff+1tbX/6enp//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////tbW1/0ZGRv86Ojr/Ojo6/zo6OttUVFQrAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXV1dIzo6Os86 + Ojr/Ojo6/z09Pf+cnJz//Pz8//////////////////////////////////////////////////////// + //////////////////////////z8/P/a2tr/tbW1/5OTk/93d3f/W1tb/0lJSf86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov9SUlL/ZWVl/4CAgP+ioqL/wcHB/+np6f////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////5ubm/3R0dP86Ojr/Ojo6/zo6Ov86 + OjqbX19fDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWlpaBEZGRos6Ojr/Ojo6/zo6Ov9bW1v/0NDQ//////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////p6en/5ubm/+bm5v/m5ub/5ubm/+bm5v/y8vL///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////+Pj4/5+fn/9AQED/Ojo6/zo6Ov86OjrrR0dHUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAFJSUj86OjrfOjo6/zo6Ov86Ojr/gICA/+np6f////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////7u7u/9VVVX/Ojo6/zo6Ov86Ojr/Ojo6o2BgYBQA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFpaWghGRkaHOjo6+zo6Ov86 + Ojr/QEBA/5aWlv/y8vL///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////8HBwf9f + X1//Ojo6/zo6Ov86Ojr/Ojo611VVVUMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRUVEnOjo6tzo6Ov86Ojr/Ojo6/0ZGRv+Wlpb/7Ozs//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////Pz8/7u7u/9fX1//Ojo6/zo6Ov86Ojr/Ojo660dHR2tfX18EAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAUlJSRzo6Os86Ojr/Ojo6/zo6Ov9AQED/h4eH/9ra2v////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////7Ozs/6Kiov9PT0//Ojo6/zo6Ov86 + Ojr/Ojo670hISH9gYGAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFNTU086OjrPOjo6/zo6Ov86 + Ojr/Ojo6/2VlZf+vr6//7+/v//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////4 + +Pj/vr6+/3d3d/89PT3/Ojo6/zo6Ov86Ojr/Ojo660hISH9hYWEQAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTU1NHOjo6tzo6Ov86Ojr/Ojo6/zo6Ov9AQED/d3d3/7W1tf/v + 7+////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////Ly8v+7u7v/gICA/0NDQ/86Ojr/Ojo6/zo6Ov86Ojr/Ojo600hISGdg + YGAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAUVFRKEdHR4s6OjrnOjo6/zo6Ov86Ojr/Ojo6/zo6Ov9lZWX/lpaW/8fHx//y8vL///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////y8vL/x8fH/5aWlv9lZWX/PT09/zo6Ov86 + Ojr/Ojo6/zo6Ov86OjrzOjo6m1VVVTcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtbWwRTU1NLOjo6ozo6OvM6 + Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov9bW1v/fX19/6Wlpf/BwcH/3d3d//j4+P////////////////// + //////////////////////////////////////////////////////////X19f/a2tr/vr6+/6Kiov96 + enr/W1tb/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6OvM6OjqjV1dXU2BgYAgAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXFxcBFNTU0NISEiLOjo60zo6Ov86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo6/zo6Ov86Ojr/Ojo6/0lJSf9YWFj/a2tr/3R0dP+EhIT/hISE/4SEhP+EhIT/hISE/4SEhP9u + bm7/a2tr/1VVVf9GRkb/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6z0pKSotW + VlZDYWFhCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAUVFRFFVVVU9JSUmLOjo6uzo6Ous6Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86Ojr/Ojo6/zo6Ov86 + Ojr/Ojo64zo6OrNKSkqDWFhYS2RkZBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAFJSUhRVVVU8WFhYX1paWn86OjqbOjo6rzo6Or86OjrTOjo63zo6Ot86OjrfOjo63zo6Ot86 + OjrfOjo6xzo6Or86OjqjOjo6k1tbW3dZWVlXV1dXNGVlZRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////AAB/////////////////8AAAB//////////////// + 4AAAAD///////////////wAAAAAH//////////////wAAAAAAf/////////////wAAAAAAB///////// + ////wAAAAAAAP////////////4AAAAAAAA////////////4AAAAAAAAH///////////8AAAAAAAAAf// + ////////+AAAAAAAAAD///////////AAAAAAAAAAf//////////gAAAAAAAAAD//////////wAAAAAAA + AAAf/////////4AAAAAAAAAAD/////////8AAAAAAAAAAAf////////+AAAAAAAAAAAD/////////AAA + AAAAAAAAA/////////gAAAAAAAAAAAH////////4AAAAAAAAAAAA////////8AAAAAAAAAAAAH////// + /+AAAAAAAAAAAAB////////gAAAAAAAAAAAAP///////wAAAAAAAAAAAAD///////8AAAAAAAAAAAAAf + //////+AAAAAAAAAAAAAH///////gAAAAAAAAAAAAA///////wAAAAAAAAAAAAAP//////8AAAAAAAAA + AAAAB///////AAAAAAAAAAAAAAf//////gAAAAAAAAAAAAAH//////4AAAAAAAAAAAAAA//////+AAAA + AAAAAAAAAAP//////AAAAAAAAAAAAAAD/wD///wAAAAAAAAAAAAAA/wAH//8AAAAAAAAAAAAAAH4AA// + /AAAAAAAAAAAAAAB8AAH//wAAAAAAAAAAAAAAeAAA//4AAAAAAAAAAAAAAHAAAH5+AAAAAAAAAAAAAAB + gAAB4HgAAAAAAAAAAAAAAYAAAMA4AAAAAAAAAAAAAAGAAACAOAAAAAAAAAAAAAABAAAAgBgAAAAAAAAA + AAAAAAAAAIAYAAAAAAAAAAAAAAAAAACAGAAAAAAAAAAAAAAAAAAAgBgAAAAAAAAAAAAAAAAAAIAYAAAA + AAAAAAAAAAEAAACAGAAAAAAAAAAAAAABAAAAgBgAAAAAAAAAAAAAAQAAAIAYAAAAAAAAAAAAAAEAAACA + GAAAAAAAAAAAAAABAAAAgAwAAAAAAAAAAAAAAQAAAMAMAAAAAAAAAAAAAAAAAADADAAAAAAAAAAAAAAA + AAAAwAwAAAAAAAAAAAAAAgAAAMAEAAAAAAAAAAAAAAIAAAHABgAAAAAAAAAAAAACAAAB4AYAAAAAAAAA + AAAAAAAAAeAGAAAAAAAAAAAAAAQAAAHgAwAAAAAAAAAAAAAEAAAB4AMAAAAAAAAAAAAAAAAAA/ABAAAA + AAAAAAAAAAgAAAPwAYAAAAAAAAAAAAAAAAAD8ACAAAAAAAAAAAAAEAAAB/gAwAAAAAAAAAAAAAAAAAf4 + AEAAAAAAAAAAAAAgAAAH+ABgAAAAAAAAAAAAAAAAD/wAIAAAAAAAAAAAAEAAAA/8ABAAAAAAAAAAAAAA + AAAf/gAYAAAAAAAAAAAAgAAAH/4ACAAAAAAAAAAAAQAAAD//AAQAAAAAAAAAAAAAAAA//wACAAAAAAAA + AAAAAAAAf/+AAwAAAAAAAAAABAAAAH//gAEAAAAAAAAAAAgAAAD//8AAgAAAAAAAAAAQAAAA///AAEAA + AAAAAAAAIAAAAf//4AAgAAAAAAAAAEAAAAP///AACAAAAAAAAACAAAAD///wAAQAAAAAAAABAAAAB/// + +AACAAAAAAAAAAAAAA////wAAQAAAAAAAAgAAAAf///+AABAAAAAAAAQAAAAP////wAAEAAAAAAAQAAA + AD////8AAAgAAAAAAQAAAAB/////gAADAAAAAAQAAAAA/////8AAAMAAAAAQAAAAAf/////gAAAYAAAA + wAAAAAP/////8AAAA4AADAAAAAAH//////gAAAAf/8AAAAAAH//////+AAAAAAAAAAAAAD///////wAA + AAAAAAAAAAB///////+AAAAAAAAAAAAA////////wAAAAAAAAAAAA/////////AAAAAAAAAAAAf///// + ///4AAAAAAAAAAAf/////////gAAAAAAAAAAP/////////+AAAAAAAAAAP//////////4AAAAAAAAAP/ + //////////gAAAAAAAAP///////////+AAAAAAAAf////////////4AAAAAAAf/////////////wAAAA + AA///////////////wAAAAD////////////////4AAAf//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////KAAAAGAAAADAAAAAAQAgAAAAAACAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABL + S0sFSEhIEEtLSx5MTEwgS0tLIEpKShRJSUkLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABN + TU0FUlJSGEhISEtLS0t6Pj4+pT8/P808PDzhOjo65zk5Oe46OjrvOjo67zk5Oek6OjrkPz8/1j4+PrZA + QECOTExMX1JSUiZRUVEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAT09PJkJCQn4/Pz/COjo68Tk5Of46Ojr/Ojo6/zo6Ov48PDz/TExM/1lZWf5f + X1//X19f/05OTv5DQ0P/Ojo6/zo6Ov46Ojr/Ojo6/zk5Ofo7OzvWREREnEpKSkdRUVEGAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUFBQD0ZGRmE7OzvFOTk5/Tk5Of47Ozv+VlZW/n5+fv6p + qan+zMzM/unp6f79/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+9PT0/tjY2P62trb+j4+P/mRkZP5D + Q0P+OTk5/jk5Of45OTnmRUVFjE5OTigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9PTxFERERzOzs73To6Ov48 + PDz/WFhY/5ycnP7X19f/9PT0//7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////r6+v7o6Oj/tbW1/29vb/5ERET/OTk5/jo6OvJAQECiUVFRLgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABU + VFQDSkpKVDk5Odk5OTn+OTk5/nR0dP7Gxsb++Pj4/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7g + 4OD+mJiY/kRERP45OTn+OTk59ERERI9YWFgTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAFBQUCQ7Ozu0OTk5/j09Pf91dXX/1dXV/v////////////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7//////v7+/vT09P+cnJz/SUlJ/jo6Ov86OjrlS0tLW1dXVwEA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTU1MDSkpKVzo6Ouc6Ojr/WFhY/sXFxf/7 + +/v//v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v/////+ + /v7/5+fn/n5+fv8+Pj7/OTk5+0FBQZpaWloSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFZWVgRA + QECHOTk5+Dw8PP6NjY3+8fHx/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/vz8/P69vb3+TExM/jk5Of47OzvHVlZWJgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAWVlZDj8/P7A6Ojr/SUlJ/sPDw//+/v7//v7+/v///////////v7+/v////// + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v////// + ////6+vr/mtra/86Ojr/OTk56FhYWDoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZWVkSQUFBuDo6Ov9YWFj/2NjY/v////// + /////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + /////v7+/v///////////v7+/v///////////v7+/vX19f+IiIj/PDw8/js7O+lXV1dBAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFlZWQ1B + QUG3OTk5/l1dXf7m5ub+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v77 + +/v+lJSU/jk5Of47OzvpWFhYPQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAVlZWBD8/P6w6Ojr/XV1d/u3t7f///////v7+/v///////////v7+/v////// + /////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/pSUlP88PDz/OTk57VdXVysAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUCREREgzo6Ov5XV1f/5eXl/v////// + /////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/vv7+/+O + jo7/Ozs7/js7O9JWVlYYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABK + SkpNOTk590ZGRv7W1tb+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v739/f+dHR0/jk5Of5CQkKnW1tbBAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAFNTUyA7OzvmOzs7/rq6uv///////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v//////////8fHx/lNTU/86 + Ojr8TU1NbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU1NTAUFBQaw6Ojr/hISE/v39/f// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/svLy/9CQkL/OTk58VNTUyEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAS0tLSDk5Of1SUlL+7Ozs/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v6RkZH+OTk5/kFBQahb + W1sDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVULPT09zzs7O/+7u7v//v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v/////x8fH/VlZW/jo6OvxSUlJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMTExcOTk5/W1tbf/5 + +fn//v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v//////////tLS0/jo6Ov88PDzBWVlZBQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAFNTUwk9PT3QOTk5/szMzP7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7++vr6/llZWf45OTn6Tk5ORgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLS086Ojr8Z2dn/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/rS0tP87Ozv/QUFBtAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs7O7I7 + Ozv/urq6/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/vLy8v9R + UVH/OTk5+1VVVR4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAATU1NFDk5OfpQUFD/8vLy/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v////+RkZH/OTk5/kpKSncAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGZzk5Of6Kior+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7X19f+PDw8/j8/P8da + WloGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABM + TEwBQkJCrzo6Ov7IyMj//v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v/////29vb/Wlpa/jo6OvZWVlYhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpKSgNM + TEwUSkpKJEVFRTFPT08dTExMDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPT08QOjo64UpKSv7u7u7//v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v//////////iIiI/jo6Ov9SUlJYAAAAAAAAAAAA + AAAAAAAAAAAAAABWVlYDSkpKTT09Pbg6OjrpOTk5/jo6Ov86Ojr6OTk520NDQ5RQUFAoAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMTEwxOTk5/mxsbP79 + /f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+urq6/jk5Of4/Pz+WAAAAAAAAAAAAAAAAAAAAAFVVVSM7Ozu+OTk5/jo6Ov5QUFD+aGho/nd3d/5j + Y2P+Q0ND/jk5Of45OTn2RkZGf1tbWwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABKSkpgOjo6/5WVlf7//////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v//////////4+Pj/jo6Ov9AQEDHAAAAAAAAAAAAAAAAVlZWJjw8PN86 + Ojr/XV1d/sPDw//x8fH//f39/v/////7+/v/5+fn/paWlv9GRkb/OTk5/kFBQZRbW1sHAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQUGNOjo6/7a2tv7//////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////f39/kJCQv87 + OzvkVVVVCgAAAABPT08MPDw8yDo6Ov99fX3/8fHx/v///////////v7+/v///////////v7+/v/////R + 0dH/S0tL/jo6Ov5KSkp1AAAAAAAAAAAAAAAATU1NA0VFRTI/Pz9NRUVFKQAAAAAAAAAAAAAAAAAAAAA+ + Pj6tOjo6/tPT0/7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/l1dXf45OTnxVFRUIwAAAAA/Pz95OTk5/mpqav739/f+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+1dXV/j8/P/45OTntVlZWJAAAAABXV1cRQEBArTo6Ovg6 + Ojr/OTk580JCQodWVlYGAAAAAAAAAAA+Pj7HOjo6/+rq6v7//////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/nJycv86Ojr5VlZWNElJSQw7 + OzvbOzs7/tfX1////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/oyMjP86 + Ojr/SkpKggAAAABBQUGMOTk5/lJSUv+CgoL/R0dH/jo6OvxLS0tTAAAAAAAAAAA+Pj7dOjo6//v7+/7/ + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/oODg/86Ojr/V1dXP0dHRzk6Ojr6ZmZm/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/tjY2P9AQED/OTk50AAAAAA+Pj7YOTk5/ujo6P7+/v7+wMDA/jk5Of49 + PT2mAAAAAAAAAAA+Pj7fOjo6/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/pGRkf45OTn+RkZGU0RERGQ5OTn+l5eX/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/vr6+v5QUFD+OTk5+gAAAAA/ + Pz/fOTk5/v//////////2tra/jo6Ov8+Pj6vAAAAAEJCQg06OjrlRkZG//7+/v7//////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/paWlv86 + Ojr/R0dHV0ZGRm86Ojr/qamp/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v////9iYmL/OTk5/gAAAAA/Pz/fOTk5/v//////////3d3d/jo6Ov8/Pz+2AAAAAEhISAE9 + PT3gOzs7//7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/pKSkv86Ojr/R0dHV0dHR286Ojr/qamp/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v////9fX1//OTk5/gAAAABAQEDZOTk5/vb29v7+ + /v7+7Ozs/jk5Of5AQEDIAAAAAAAAAAA+Pj7fOjo6/v39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/oODg/45OTn+WFhYP0hISIU5 + OTn+t7e3/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v5S + UlL+OTk5/gAAAAA/Pz/FOTk5/urq6v//////+vr6/js7O/9AQEDdW1tbAgAAAAA9PT3MOjo6/+3t7f7/ + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/nd3d/86Ojr7V1dXN0hISJM6Ojr/wcHB/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/vr6+v9QUFD/OTk59wAAAAA/Pz+yOTk5/tbW1v///////v7+/k1NTf86 + OjrqU1NTFQAAAAA9PT21Ojo6/9jY2P7//////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/mNjY/86OjryVlZWJj09Pao7Ozv/0dHR/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/u7u7v9KSkr/OTk54gAAAAA+ + Pj6TOTk5/r+/v/7+/v7+/v7+/mlpaf45OTn2V1dXLgAAAAA/Pz+POjo6/ry8vP7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/kRERP45 + OTnnVVVVDzk5OctDQ0P+4ODg/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/t/f3/5DQ0P+OTk5xwAAAABMTExzOTk5/qampv///////v7+/oqKiv86Ojr+SkpKVAAAAABG + RkZnOjo6/5mZmf7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v//////////6Ojo/jo6Ov8+Pj7OXFxcAjo6OvFNTU3/8/Pz/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/s7Ozv87Ozv/R0dHpwAAAABKSkpNOTk5/oWFhf// + /////v7+/rCwsP86Ojr/S0tLigAAAABDQ0M3Ojo6/3Jycv79/f3//v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v//////////wMDA/jo6Ov8+Pj6dUFBQIDo6Ov9k + ZGT//v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/rCwsP86 + Ojr/UlJSgwAAAABQUFAkOTk5+mNjY/76+vr+/v7+/tjY2P4/Pz/+OTk5zAAAAABLS0sUOTk56U9PT/7w + 8PD+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+j4+P/jk5Of5NTU1kTExMWzk5Of6Li4v+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/oqKiv45OTn+VFRUVgAAAABQUFAOOTk53UlJSf/u7u7//v7+/vj4+P9U + VFT/OTk5+01NTRRLS0sDPT09uTo6Ov7Q0ND//v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v/////4+Pj/YGBg/jo6OvlTU1MoQkJCmDo6Ov+4uLj//v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/mJiYv86Ojr1YWFhLQAAAABN + TU0BQkJCtDo6Ov/R0dH//v7+/v////+EhIT/OTk5/ktLS18AAAAAREREczk5Of6VlZX//v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v/////c3Nz/PT09/j4+PtBY + WFgTPDw81EBAQP/l5eX//v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + ////9vb2/j09Pf89PT3iXl5eCgAAAAAAAAAARkZGdDk5Of6bm5v+/v7+/v7+/v7Hx8f+OTk5/kFBQbVT + U1MCS0tLITk5OftVVVX+9vb2/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v39/f7p6en+9/f3/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v6bm5v+OTk5/kdHR4RQUFAyOTk5+2VlZf76+vr+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+w8PD/jk5Of5AQECqAAAAAAAAAAAAAAAATk5OMjo6Ov9m + Zmb//f39/v/////y8vL/U1NT/jo6OvRPT08lAAAAADs7O8I8PDz/xMTE/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7/////+fn5/oSEhP9HR0f/YWFh/ufn5////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/vb29v9YWFj/OTk5/VNTUypFRUWGOTk5/p+fn/// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v//////////jY2N/jo6Ov9S + UlJmAAAAAAAAAAAAAAAAU1NTAjk5OeRERET+4uLi/v7+/v7+/v7+k5OT/jk5Of5BQUGCAAAAAElJSV85 + OTn+dHR0/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v75+fn+g4OD/jk5Of45 + OTn+OTk5/l1dXf7n5+f+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/sHBwf48 + PDz+OTk5w1dXVwo7OzvZOTk5/uPj4/7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v729vb+WVlZ/jk5OfVgYGAiAAAAAAAAAAAAAAAAAAAAAENDQ5M6Ojr/qKio/v////// + ////5eXl/j09Pf87OzvlVFRUFU9PTw86OjrdOTk5/tvb2////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v6RkZH/OTk5/jo6Ov86Ojr/OTk5/jo6Ov9aWlr/5OTk/v///////////v7+/v////// + /////v7+/v///////////f39/mRkZP86Ojr8TExMVExMTFY6Ojr9bm5u/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v/////Ozs7/Ozs7/j09PcBdXV0FAAAAAAAAAAAA + AAAAAAAAAE5OTkE6Ojr6ZGRk/v7+/v///////v7+/nt7e/86Ojr+R0dHdAAAAABDQ0NzOTk5/nh4eP/7 + +/v//v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v5nZ2f/OTk5/jo6Ov86Ojr/OTk5/jo6Ov86 + Ojr/Wlpa/ufn5////////v7+/v///////////v7+/v//////////xcXF/jo6Ov88PDzRWFhYDDs7O8I8 + PDz/vb29/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////+G + hob/OTk5/lFRUWoAAAAAAAAAAAAAAAAAAAAAAAAAAFJSUgg8PDzVOzs7/tzc3P7+/v7+/v7+/tTU1P5A + QED+Ojo661VVVQ9QUFATOTk53T4+Pv7Ly8v+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v6y + srL+PT09/jk5Of45OTn+OTk5/jk5Of45OTn+OTk5/l1dXf7n5+f+/v7+/v7+/v7+/v7+/v7+/v7+/v72 + 9vb+YGBg/jk5Of5JSUlXS0tLQTk5Of5ZWVn+9/f3/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/uzs7P5LS0v+OTk5+F1dXRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI + SEh2OTk5/oiIiP/+/v7//v7+/v////+Dg4P/Ojo6/0BAQI5XV1cBREREXjo6Ov9eXl7/9PT0/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////////////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7+/v7/srKy/j09Pf86Ojr/OTk5/jo6Ov86Ojr/OTk5/jo6Ov9a + Wlr/5OTk/v///////////v7+/v////+hoaH/OTk5/jw8PL1ZWVkPPT09wjo6Ov+1tbX//v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/qampv86Ojr/R0dHngAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQUFAeOTk57UhISP/n5+f//v7+/v/////j4+P/SkpK/zk5OfRP + T085V1dXAzs7O8E6Ojr/mZmZ/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/qysrP9A + QED/OTk5/jo6Ov86Ojr/OTk5/jo6Ov86Ojr/Wlpa/unp6f///////v7+/tnZ2f9GRkb/OTk5+VJSUjJH + R0ddOTk5/GJiYv/29vb//v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + ////+Pj4/lJSUv86Ojr3VVVVOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSUlIBQUFBljk5Of6Y + mJj+/v7+/v7+/v7+/v7+pKSk/jk5Of48PDzFWFhYC09PTy85OTnvPj4+/s7Ozv7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v6srKz+PT09/jk5Of45OTn+OTk5/jk5Of45OTn+OTk5/oGBgf7+ + /v7++fn5/mFhYf45OTn+RUVFh1hYWBc7OzvfOTk5/sjIyP7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+sLCw/jk5Of4+Pj63YGBgAQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAVFRUIzo6OvlJSUn/5+fn/v///////////f39/2ZmZv46Ojr/Pj4+kAAAAABG + RkZnOTk5+1BQUP/l5eX//v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v/////+/v7/srKy/j09Pf86 + Ojr/OTk5/jo6Ov86Ojr/OTk5/oGBgf/7+/v/h4eH/jo6Ov89PT2/WVlZCz8/P6c6Ojr/gICA/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v/////w8PD/VVVV/jo6OvlX + V1c+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJCQpk6Ojr/jo6O/v////// + /////////93d3f5KSkr/OTk5+0pKSlJYWFgGQEBAnTo6Ov9mZmb/7u7u/v///////////v7+/v////// + /////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + /////v7+/v///////////v7+/qysrP9AQED/OTk5/jo6Ov86Ojr/Wlpa/ufn5/+kpKT/PDw8/js7O+NT + U1MnSUlJXjo6OvxTU1P/6Ojo/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v////+enp7/OTk5/kBAQKtfX18DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAFJSUiE5OTnsPj4+/t/f3/7+/v7+/v7+/v7+/v64uLj+PT09/jk5OetPT08xWVlZCz8/P8Y5 + OTn+cnJy/vn5+f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v6srKz+PT09/jk5Of5a + Wlr+5OTk/rS0tP5AQED+OTk5+E5OTkFQUFAyOTk56z09Pf7Dw8P+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/uDg4P5HR0f+OTk5+lpaWicAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJSUl2OTk5/m1tbf/5+fn///////7+/v79 + /f3/mpqa/jo6Ov87OzvfVVVVJFFRURc7OzvNOTk5/nZ2dv/w8PD//v7+/v///////////v7+/v////// + /////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v////// + /////v7+/v/////+/v7/ycnJ/qmpqf/t7e3/tLS0/js7O/86Ojr2RUVFV1VVVSA7OzvbOTk5/p6env/+ + /v7//v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////Pz8/m1tbf86 + Ojr+RkZGhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABX + V1cPOzs7zTs7O/+tra3///////7+/v7/////+/v7/n5+fv86Ojr/Ozs71VVVVR1SUlIlOzs70zo6Ov9q + amr/6Ojo/v///////////v7+/v///////////v7+/v////////////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7//////v7+/v///////////v7+/v///////////v7+/vv7+/+ioqL/Pz8//jo6OvZF + RUViU1NTFTs7O8k6Ojr/enp6/vv7+////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v/////+/v7/rq6u/jo6Ov89PT3TX19fEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT09POjk5OfxJSUn+3t7e/v7+/v7+/v7+/v7+/vT09P5x + cXH+OTk5/jw8PNFWVlYiUlJSGDk5Oc05OTn+V1dX/tjY2P7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+9/f3/oSEhP48PDz+OTk5+EVFRVVTU1MVPDw8wjk5Of5oaGj+8vLy/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7a2tr+SEhI/jk5OfdVVVVCAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERIc6 + Ojr+YGBg//b29v7//////v7+/v/////19fX/dXV1/jo6Ov87OzvhTU1NN1tbWw5AQECoOTk5/UJCQv+o + qKj/+fn5/v///////////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + /////v7+/v///////////v7+/v/////U1NT/XV1d/jo6Ov87OzvfT09PPFVVVSE7OzvKOTk5/mhoaP/v + 7+///v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/u/v7/9e + Xl7/OTk5/kZGRn0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAFhYWAw/Pz/BOjo6/4uLi/77+/v//v7+/v//////////9vb2/oCAgP87 + Ozv/OTk570pKSlVYWFgLR0dHdzo6OvY8PDz/bW1t/tvb2//9/f3//v7+/v////////////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7//////v7+/v//////////8/Pz/pqamv9FRUX/OTk5/j09PbpT + U1MkUFBQMjs7O9s6Ojr/aGho/u/v7////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v//////////+/v7/nl5ef86Ojr+PDw8uWVlZQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTU1MmOTk55Dw8PP6r + q6v+/v7+/v7+/v7+/v7+/v7+/vn5+f6Xl5f+PDw8/jk5OfhAQECMW1tbCk1NTUA7OzvUOTk5/kRERP6Q + kJD+6+vr/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/vz8/P65 + ubn+WVlZ/jk5Of45OTn1RUVFfFlZWQhJSUlhOTk56zk5Of56enr+8vLy/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v79/f3+mJiY/jk5Of48PDzZXV1dHAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAUlJSQTk5OfU/Pz//u7u7/v///////////v7+/v/////+/v7/v7+//klJSf86 + Ojr/OTk51FBQUDtWVlYKRkZGfDo6Ou06Ojr/QkJC/pCQkP/d3d3//v7+//7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7x8fH/s7Oz/lxcXP86Ojr/OTk5/UBAQK9RUVEpWFhYFz8/P6c6Ojr8Pj4+/qCgoP/7 + +/v//v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v7+/v+f + n5//Ozs7/jo6OudWVlYuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpKSmY6Ojr3Q0ND/sfHx//+ + /v7//v7+/v///////////v7+/t/f3/9sbGz/Ozs7/jo6OvU/Pz+TVlZWG1FRUSU/Pz+XOTk57jo6Ov9D + Q0P/b29v/7i4uP7q6ur//Pz8//7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7z8/P/0tLS/42Njf5RUVH/Ojo6/jo6Ovo8PDzBSUlJS1paWg1H + R0diOzs74Do6Ov9UVFT/w8PD/v7+/v///////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v///////////v7+/qysrP8/Pz//OTk58lBQUEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABERER7OTk5/UZGRv7Hx8f+/v7+/v7+/v7+/v7+/v7+/v7+/v74+Pj+qKio/kRERP45 + OTn+OTk55kZGRnVWVlYMVVVVIURERIY5OTnlOTk5/jk5Of5GRkb+a2tr/pubm/7FxcX+5+fn/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/vb29v7T09P+ra2t/n19ff5UVFT+Ozs7/jk5Of45 + OTn6Pz8/slFRUUNYWFgGS0tLQT09PcU5OTn8OTk5/oODg/7r6+v+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v79/f3+paWl/j09Pf45OTnyT09PTAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaWloCREREdjo6Ov1DQ0P/vb29/v////// + /////v7+/v///////////v7+/unp6f+Ghob/QUFB/jo6Ov86OjrtREREiFRUVCVVVVUHS0tLTEBAQKM6 + OjreOjo6/Tk5Of46Ojr/Ojo6/0JCQv5ZWVn/a2tr/3Fxcf5xcXH/cXFx/3BwcP5fX1//TU1N/zk5Of46 + Ojr/Ojo6/zk5Of46OjrvPT09wEZGRm9SUlIZV1dXDExMTFk7OzvFOTk5/jo6Ov9kZGT/y8vL/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/vn5+f+T + k5P/Ozs7/jo6Ou9QUFBHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAWlpaAkRERH06Ojr4Pz8//q6urv/8/Pz//v7+/v///////////v7+/v/////8/Pz/2tra/n19ff9E + RET/OTk5/jo6OvI9PT21SEhIX1JSUhpWVlYSTk5ONUhISG4+Pj6iPj4+zTk5OeQ6OjruOjo69Tk5OfY6 + Ojr3Ojo69zk5OfY6OjrwOjo66T09Pdk+Pj6zREREg0xMTExXV1caVVVVEFBQUDlERESMOzs73To6Ov08 + PDz/Xl5e/ry8vP/29vb//v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v//////////8vLy/nt7e/87Ozv/OTk56VBQUEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDQ0NoOTk59T09Pf6QkJD+9/f3/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7e3t7+k5OT/klJSf45OTn+OTk5/jk5Oe4+Pj68QkJCgE9PT0NR + UVERAAAAAFRUVAtVVVUeVVVVLFZWVi9WVlYvVlZWL1ZWVi9VVVUjVFRUE1paWgFbW1sDT09PLEdHR2JB + QUGhOTk52Dk5Of05OTn+Ozs7/nBwcP7AwMD+9/f3/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7d3d3+YGBg/jk5Of48PDzaWlpaMgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAU1NTRTo6Ouo6Ojr/ZmZm/uPj4////////v7+/v///////////v7+/v///////////v7+/vn5+f/E + xMT/hISE/1JSUv47Ozv/Ojo6/zk5Of46Ojr+Ojo65zk5OcJAQECmR0dHlEdHR4dHR0eHR0dHh0dHR4pG + RkafOjo6tDk5Odc6Ojr3Ojo6/zk5Of46Ojr/Q0ND/2lpaf6lpaX/5ubm/v///////////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////Pz8/q6urv9F + RUX/OTk5/j09PbReXl4YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVVVSk/Pz/HOTk5/kxMTP+zs7P/+vr6/v////// + /////v7+/v///////////v7+/v////////////////Ly8v7T09P/p6en/3t7e/5aWlr/SkpK/0FBQf47 + Ozv/Ojo6/zk5Of46Ojr/Ojo6/zk5Of46Ojr/Pj4+/0ZGRv5QUFD/aWlp/5KSkv69vb3/5+fn//r6+v7/ + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v////// + /////v7+/v/////k5OT/eXl5/jw8PP86OjrzRUVFhWJiYggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABb + W1sPRUVFjjk5Of47Ozv+dHR0/uTk5P7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v79/f3+7u7u/t3d3f7Q0ND+wcHB/ru7u/67u7v+u7u7/ru7u/7Ly8v+1tbW/ubm5v74 + +Pj+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7++/v7/qampv5LS0v+OTk5/jk5OdtTU1NEAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUUc7OzvWOTk5/kJCQv+YmJj/7e3t/v////// + /////v7+/v////////////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7//////v7+/v////// + /////v7+/v///////////v7+/v///////////v7+/v///////////v7+/vr6+v/AwMD/XFxc/jo6Ov86 + Ojr0Q0NDj2FhYQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABb + W1sSQ0NDhDo6OvE6Ojr/UFBQ/qqqqv/u7u7//v7+/v////////////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7//////v7+/v///////////v7+/v///////////v7+/v///////////v7+/v/////3 + 9/f/xMTE/mVlZf89PT3/OTk5+z4+PrhZWVk2YGBgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFZWVipDQ0OpOTk5+zk5Of5PT0/+mJiY/urq6v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+9PT0/qysrP5gYGD+Ozs7/jk5Of48PDzMVVVVU2BgYAIAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAWlpaLENDQ6o6Ojr0OTk5/j4+Pv92dnb/u7u7//Hx8f7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + /////v7+/v///////////v7+/v//////////9PT0/sXFxf+CgoL/Q0ND/jo6Ov86Ojr6Pz8/wFJSUk1k + ZGQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFtbWwJXV1cqREREjDw8POM6Ojr9Ozs7/05OTv56 + enr/tLS0/+Pj4/729vb///////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7/ + //////////7+/v7///////////7+/v7//////v7+/v/////29vb/4+Pj/rW1tf9/f3//UFBQ/js7O/86 + Ojr+OTk56kZGRptUVFQ6YGBgBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAFxcXBFNTU1WPj4+rzk5Ofg5OTn+OTk5/j4+Pv5aWlr+fn5+/qOjo/7FxcX+4uLi/vv7+/7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7++fn5/t/f3/7Dw8P+oqKi/n5+fv5a + Wlr+Pj4+/jk5Of45OTn+OTk5+D8/P7BQUFBcXFxcFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhYWAtVVVVNRkZGlDk5Oc46 + Ojr1Ojo6/zk5Of46Ojr/Ojo6/zs7O/5LS0v/XFxc/2hoaP5xcXH/cXFx/3Fxcf5xcXH/ZWVl/1tbW/5K + Skr/Ojo6/zk5Of46Ojr/OTk5/jo6Ov86OjryQEBAzUhISJJZWVlNXV1dDQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAFlZWQdfX18dUVFRRVBQUHVAQECeQUFBwUBAQOA6OjrnOjo67zk5OfQ6 + Ojr3Ojo69zk5OfY6Ojr3Ojo68jk5Oe06OjrmQEBA20FBQbxERESZWFhYb1NTU0BjY2MaYGBgBgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAGFhYQJaWloRXl5eH2FhYStjY2MvZGRkL2RkZC9jY2MvYWFhJl9fXxxbW1sOAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAP////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + Af/////////////AAAf///////////8AAAD///////////gAAAA//////////+AAAAAP/////////4AA + AAAD/////////wAAAAAA/////////AAAAAAAf///////+AAAAAAAP///////8AAAAAAAH///////4AAA + AAAAD///////wAAAAAAAB///////gAAAAAAAA///////AAAAAAAAAf//////AAAAAAAAAP/////+AAAA + AAAAAP/////8AAAAAAAAAH/////8AAAAAAAAAD/////4AAAAAAAAAD/////4AAAAAAAAAB/////wAAAA + AAAAAB/////wAAAAAAAAAB/////wAAAAAAAAAA/////gAAAAAAAAAA/////gAAAAAAAAAAf////AAAAA + AAAAAAfwP//AAAAAAAAAAAfAD//AAAAAAAAAAAeAA//AAAAAAAAAAAcAAf/AAAAAAAAAAAIAAcPAAAAA + AAAAAAIAAIDAAAAAAAAAAAAAAIDAAAAAAAAAAAAAAIDAAAAAAAAAAAAAAICAAAAAAAAAAAAAAICAAAAA + AAAAAAAAAIDAAAAAAAAAAAAAAIBAAAAAAAAAAAAAAIBAAAAAAAAAAAAAAIBAAAAAAAAAAAAAAIBAAAAA + AAAAAAAAAIBAAAAAAAAAAAAAAIBAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAIAgAAAAAAAAAAAAAMAAAAAA + AAAAAAAAAcAQAAAAAAAAAAAAAcAQAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAIAAAAAAAAAAAAA+AAAAAA + AAAAAAAAA/AAAAAAAAAAAAAAB/AAAAAAAAAAAAAAB/AAAAAAAAAAAAAAB/gBAAAAAAAAAAAAD/wAAAAA + AAAAAAAAD/wAAAAAAAAAAAAAH/4AAAAAAAAAAAAAP/4AAAAAAAAAAAAAP/8AAAAAAAAAAAAAf/+AAAAA + AAAAAAAA//+AAAAAAAAAAAAA///AAAAAAAAAAAAB///gAAAAAAAAAAAD///wAAAAAAAAAAAH///4AAAA + AAAAAAAP///4AAAAAAAAAAAf///8AAAAAAAAAAA/////AAACAAAAAAB/////gAAAAAAAAAD/////wAAA + AAAAAAH/////4AAAAAAAAAf/////+AAAAAAAAA///////AAAAAAAAB///////wAAAAAAAH///////8AA + AAAAAf///////+AAAAAAB/////////wAAAAAP/////////+AAAAB///////////wAAAP//////////// + wAf///////////////////////////////////////////////////////////////////////////// + /////////////////////////ygAAABIAAAAkAAAAAEAIAAAAAAAYFQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKSkoRSkpKLUpKSlRGRkZwREREgURERItERESKQ0NDeExMTGNJ + SUlES0tLHktLSwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABL + S0soRkZGej8/P786OjrsOjo6/jo6Ov8+Pj7/S0tL/1VVVf9TU1P/RkZG/zo6Ov86Ojr/Ojo6+T09PdtD + Q0OhSUlJVk5OTgsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNTU0LRkZGXT09Pcc5OTn+R0dH/3Fxcf+k + pKT+y8vL/+zs7P7+/v7//v7+/v/////+/v7+//////n5+f/e3t7+urq6/46Ojv5cXFz/PT09/jo6OvFD + Q0OaT09PLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAUFBQA0ZGRl07OzvaOzs7/2pqav+3t7f/8PDw//7+/v////////////////// + ///////////////////////////////////////////////7+/v/3Nzc/5aWlv9MTEz/Ojo6+EFBQalS + UlIjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABN + TU0sPT09wTs7O/5ycnL/0tLS/v7+/v/+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+ + /v7+///////////+/v7+//////7+/v7//////v7+/v/////19fX+qamp/05OTv46Ojr1RkZGflVVVQkA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT09PAkhISGY6OjrxVVVV/8TExP/8 + /Pz///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////Hx8f+NjY3/Pj4+/j4+PsRUVFQjAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTU1MGQkJClzo6Ov2EhIT+8fHx//7+/v7//////v7+/v/////+ + /v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7/ + /////v7+/v/////+/v7+//////7+/v7/////y8vL/1BQUP46OjrnU1NTQAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAFVVVQpDQ0OtPz8//qenp//9/f3///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////+np6f9nZ2f/Ojo681VVVUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU1NTBUNDQ6w+ + Pj7+urq6//7+/v/+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7/ + /////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7/ + //////////7+/v709PT/bm5u/jo6OvJVVVVJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQUFABQkJClD8/P/66urr//v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////9fX1/25ubv86OjrwU1NTMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKSkpfOjo6/aSkpP/+/v7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////+/v7/9b + W1v/PDw81lhYWBIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAFBQUCg7Ozvxfn5+/v39/f/+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+ + /v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7/ + /////v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/v/////e3t7+RERE/0VFRaUA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT09PAj8/P7lQ + UFD/7u7u//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////rKys/zo6Ov1QUFBJAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATExMUTo6Ov69vb3//v7+/v/////+ + /v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7/ + /////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7/ + //////////7+/v7//////v7+/v/////+/v7++/v7/2pqav4+Pj7UV1dXCgAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPT08GPj4+zWxsbP/7+/v///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////9LS0v87Ozv+SkpKZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABLS0tQOzs7/srKyv7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7/ + /////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+ + /v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/v/////+ + /v7+//////7+/v5ycnL/Ozs72FdXVwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9 + PT25YGBg//39/f////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////K + ysr/Ozs7/VBQUEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExMTBo5OTn8rKys//7+/v7/ + /////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+ + /v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+ + /v7+//////7+/v7///////////7+/v7//////v7+/v/////+/v7+//////7+/v75+fn/WVlZ/0VFRaQA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEdHR2lBQUH/6Ojo//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////l5eX/zo6OulWVlYNAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAEBAQAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAEFBQa1mZmb//v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////0NDQ/zo6Ov9TU1M6AAAAAAAAAAAAAAAAAAAAAE1NTS1B + QUGVPz8/zjs7O94/Pz/NREREkE5OTiwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAASEhICDs7O+GVlZX+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7/ + /////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+ + /v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/v/////+ + /v7+//////7+/v7/////+Pj4/0NDQ/5JSUl3AAAAAAAAAABUVFQGREREjTk5OftRUVH/goKC/5aWlv6B + gYH/TU1N/jo6OvpGRkaDWFhYAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASkpKHzo6Ovq8 + vLz///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/2VlZf9HR0elAAAAAEhISAFERESVPj4+/pubm//29vb/////////////////8vLy/5WVlf87 + Ozv+RkZGiQAAAAAAAAAAAAAAAENDQx0/Pz82RkZGDAAAAAAAAAAARkZGPjo6Ov/b29v+//////7+/v7/ + /////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+ + /v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+ + /v7+//////7+/v7///////////7+/v7//////v7+/v/////+/v7+//////7+/v7//////////4KCgv48 + PDzKAAAAAEVFRUk5OTn8pqam//7+/v7///////////7+/v7//////v7+/v7+/v+cnJz+Ojo6+lJSUkAA + AAAASUlJcjo6OvY6Ojr+Ozs72VBQUCYAAAAASEhIWTo6Ov/x8fH///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////5iYmP88PDzlAAAAAD09Pbhd + XV3/+/v7///////////////////////////////////////6+vr/V1dX/0NDQ6xISEgZOjo684WFhf7K + ysr/UVFR/kJCQqMAAAAASkpKZzo6Ov/+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+ + /v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+ + /v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7/ + /////v7+/v/////+/v7+//////7+/v7//////////6ampv47OzvwUFBQDzo6OvChoaH+//////7+/v7/ + //////////7+/v7//////v7+/v/////+/v7+mZmZ/zk5Oe9KSkonOjo6/83Nzf//////gICA/z09PcMA + AAAAQ0NDckFBQf////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////7CwsP86OjrzTU1NKTo6Ove9vb3///////////////////////////// + ////////////////////uLi4/zo6Ov9OTk4nOjo6/83Nzf7/////hoaG/j4+PssAAAAAR0dHaTo6Ov/+ + /v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+ + /v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7/ + /////v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/v/////+/v7+//////7+/v7/ + /////////6urq/46OjryUVFRKTo6OvfAwMD+//////7+/v7///////////7+/v7//////v7+/v/////+ + /v7+tra2/zk5Of5OTk4hOjo6+cLCwv//////k5OT/z8/P90AAAAAR0dHYTo6Ov/4+Pj///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////56env88 + PDzsWFhYKzo6OvvMzMz/////////////////////////////////////////////////ra2t/zo6Ov1K + SkoWOjo68bKysv//////qKio/zo6Ou1PT08NRERESzo6Ov/l5eX///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////42Njf88PDzVUVFRPjo6Ov/a + 2tr/////////////////////////////////////////////////nZ2d/zo6OutGRkYGOjo65Jubm/7/ + ////xMTE/jo6OvlRUVEnRkZGJzo6Ov3Jycn+//////7+/v7//////v7+/v/////+/v7+///////////+ + /v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+ + /v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7/ + /////v7+/v/////+/v7+//////7+/v7//////v7+/29vb/4+Pj60TExMXUJCQv/q6ur+//////7+/v7/ + //////////7+/v7//////v7+/v/////+/v7+iIiI/zk5OdEAAAAAPz8/yH5+fv//////4uLi/z4+Pv9L + S0tSSEhIEDo6Ouujo6P///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////+/v7/09PT/9HR0eJRUVFh09PT//7+/v///////////////////////////// + ////////////////////bW1t/0tLS7AAAAAAQ0NDnV1dXf78/Pz//Pz8/k5OTv9GRkaQAAAAAD09PcV2 + dnb+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+ + /v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7/ + /////v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/v/////+/v7+//////7+/v7/ + ////4uLi/zk5Of5OTk5TQEBAu3Fxcf/+/v7+//////7+/v7///////////7+/v7//////v7+/v/////9 + /f3+S0tL/01NTYYAAAAAR0dHa0JCQv/w8PD//////4GBgf87OzvTUVFRAkFBQYRMTEz/9PT0//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////ra2t/zo6OvZU + VFQmOjo67p+fn//////////////////////////////////////////////////j4+P/PDw8/1ZWVlMA + AAAATExMMDk5Of7Jycn//v7+/ry8vP85OTn+UFBQKUlJSTg5OTn+xsbG//7+/v7//////v7+/v/////+ + /v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7/ + /////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7/ + //////////7+/v7//////v7+/v/////+/v7+//////7+/v7+/v7/bGxs/z8/P8JOTk5GOTk5/tXV1f/+ + /v7+//////7+/v7///////////7+/v7//////v7+/v////+2trb+Ojo691tbWyEAAAAAT09PBTo6OueS + kpL///////Hx8f9ISEj/REREh1JSUgE6OjrbfHx8//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////u7u7/eXl5/3t7e//y8vL///////////// + ///////////////////////////////h4eH/QEBA/kxMTGlDQ0OZUlJS//n5+f////////////////// + //////////////////////////////9/f3//Pj4+0llZWQIAAAAAAAAAAEFBQaFWVlb//Pz8/v////+H + h4f+Ojo64lJSUg1GRkZ3QEBA/+bm5v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7/ + /////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+ + /v7+//////7+/v7//////v7+/u7u7v9jY2P+Ojo6/zk5Of5oaGj/8fHx//7+/v7//////v7+/v/////+ + /v7+//////7+/v6VlZX/Ojo68VJSUiM6OjrokpKS/v/////+/v7+//////7+/v7///////////7+/v7/ + /////v7+/vT09P9MTEz+TExMiAAAAAAAAAAAAAAAAExMTE88PDz+09PT///////a2tr/PT09/khISGlP + T08YOjo67I6Ojv/+/v7///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////5WVlf86Ojr/Ojo6/zo6Ov86Ojr/ZmZm//Hx8f///////////////////////////+/v7/9E + RET/REREkUlJSWc+Pj7+3d3d/////////////////////////////////////////////////8DAwP86 + Ojr+VVVVMwAAAAAAAAAAAAAAAE9PTww7OzvljY2N/v/////+/v7+dXV1/zs7O+JVVVUIQkJChUJCQv7g + 4OD//v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+ + /v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/ri4uP87 + Ozv+Ojo6/zk5Of46Ojr/Ojo6/2hoaP7y8vL//v7+/v/////+/v7+/////5CQkP46OjrwUlJSJzs7O9py + cnL//v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/nR0dP8+Pj7SXFxcAgAAAAAA + AAAAAAAAAAAAAABFRUWLR0dH/+/v7///////2tra/0BAQP9ERER/UlJSEDs7O+NxcXH//Pz8//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////7+/v+srKz/PDw8/zo6Ov86 + Ojr/Ojo6/zo6Ov9mZmb/8PDw////////////1NTU/z8/P/9GRkaASkpKaT09Pf/S0tL///////////// + ////////////////////////////////////3t7e/z4+Pv9QUFBpAAAAAAAAAAAAAAAAAAAAAAAAAABP + T08lOjo696SkpP///////v7+/4+Pj/86OjryUVFRK0pKSlk7Ozv8r6+v//7+/v////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////+/v7/qamp/zw8PP86Ojr/Ojo6/zo6Ov86 + Ojr/bW1t//v7+//39/f/X19f/z09PdhTU1MiOjo65Xx8fP/9/f3///////////////////////////// + ///////////////+/v7/hoaG/zs7O+VbW1sRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQkJCpE5OTv/y + 8vL+//////T09P9TU1P+PT09ylVVVQpBQUGhQkJC/tbW1v/+/v7+///////////+/v7+//////7+/v7/ + /////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+ + /v7+//////7+/v7//////v7+/v/////+/v7+/v7+/6ysrP47Ozv/Ojo6/zk5Of46Ojr/Q0ND/vPz8/+I + iIj+Ojo69FBQUDxCQkKmRUVF/+bm5v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7e + 3t7/QEBA/ktLS3sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUFBQKjo6OvacnJz//v7+///////M + zMz/QEBA/kNDQ5JUVFQTPT09z1NTU//l5eX///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////7+/v+pqan/PT09/zo6Ov8/Pz//t7e3/6ampv87Ozv9SUlJb0pKSl86 + Ojr9rq6u//////////////////////////////////////////////////39/f93d3f/Ojo64ltbWw8A + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERJJDQ0P+5OTk///////+/v7+paWl/zk5OfxJ + SUltVVVVIzo6OuFcXFz+6+vr///////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+ + /v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+ + /v7+//////7+/v7+/v7/ra2t/19fX/65ubn/rq6u/j09Pf5AQECSUlJSODk5OfB9fX3//Pz8//7+/v7/ + /////v7+/v/////+/v7+//////7+/v7//////////7+/v/48PDz9UlJSYQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAFRUVBU6Ojric3Nz//v7+////////Pz8/4mJif86Ojr5S0tLXVBQUDM6 + OjrmV1dX/97e3v////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////r6+v+kpKT/PT09/kBAQJ5PT08rOzs75F5eXv/09PT///////////////////////////// + ////////////////////7u7u/09PT/9BQUG7XFxcAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABMTExUOzs7/aysrP/+/v7+//////n5+f57e3v/OTk5+ExMTGNRUVEpPT093EpKSv/F + xcX+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+ + /v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7/////9vb2/4WFhf47 + Ozv9QEBAkE9PTys7OzvdU1NT/+Xl5f7///////////7+/v7//////v7+/v/////+/v7+//////7+/v78 + /Pz/e3t7/zk5Oe1aWlomAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAQUFBn0BAQP/X19f////////////5+fn/gYGB/zo6OvtDQ0OBV1dXHT8/P7k9PT3/j4+P//Ly8v// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////Q0ND/W1tb/zo6OvNJSUlqU1NTODs7O+VT + U1P/4+Pj//////////////////////////////////////////////////////+ioqL/Ojo6/FFRUVsA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV1dXEDs7O9BV + VVX+6+vr//7+/v7/////+vr6/pWVlf87Ozv+Pz8/rVdXVxtFRUV+Ojo691RUVP63t7f//Pz8/v/////+ + /v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+/v7+//////7+/v7/ + /////v7+/v/////+/v7+6urq/4eHh/4+Pj7/PT0901BQUDVKSkpgOTk58F5eXv/l5eX+//////7+/v7/ + //////////7+/v7//////v7+/v/////+/v7+/////8LCwv49PT3/R0dHkAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFZWViQ8PDzqY2Nj//Pz8/// + //////////7+/v+8vLz/SEhI/zo6OudNTU1TUFBQLj8/P7c6Ojr8WVlZ/7CwsP/w8PD///////////// + /////////////////////////////////////////////////////////////////////f39/9ra2v+K + ior/QUFB/zo6OuxJSUl1UlJSIEJCQqY6Ojr9fn5+//X19f////////////////////////////////// + ////////////////////ysrK/0JCQv8/Pz+uX19fBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPT08/Ojo68m1tbf/z8/P///////////// + ////4eHh/25ubv86Ojr8QEBAtFBQUDNMTExEQEBAuTo6OvpISEj/f39//7m5uf/q6ur/+/v7//7+/v// + ///////////////////////////////9/f3/+Pj4/9XV1f+goKD/Y2Nj/z4+Pv46OjrqR0dHg1FRUR9K + SkptOjo650dHR/+wsLD//Pz8//////////////////////////////////////////////////7+/v/N + zc3/R0dH/z4+Pr9dXV0NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATk5ORzk5OfNra2v/7+/v/v/////+/v7+//////7+/v+2 + trb+VFRU/zk5OfpAQECrUlJSPk9PTyxFRUWEPDw80jo6Ovo6Ojr+UFBQ/21tbf6EhIT/lJSU/pSUlP+U + lJT+jo6O/3x8fP9iYmL+Q0ND/zk5Of46OjrtPz8/sktLS1tUVFQdSUlJazs7O9o9PT3/fn5+/+fn5/7/ + /////v7+/v/////+/v7+//////7+/v7///////////7+/v7//////v7+/r6+vv9CQkL+Pz8/vF5eXg4A + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAE5OTkg6OjruX19f/+Tk5P//////////////////////9PT0/6mpqf9V + VVX/Ojo6/Dw8PNBFRUV8T09PMFFRUSlLS0tZRkZGiT8/P7E8PDzLPDw83Tw8PN08PDzdPDw81zw8PMFE + RESfRkZGdU9PT0JTU1MfTU1NSkNDQ546OjrrPj4+/nV1df/W1tb//f39//////////////////////// + ///////////////////////////////8/Pz/pKSk/z8/P/5AQECxXV1dDgAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABSUlI1PDw84k1NTf/IyMj+/v7+///////+/v7+//////7+/v75+fn/wMDA/nl5ef9E + RET+Ojo6/jo6OuBBQUGrR0dHe0tLS1ZSUlI7VlZWLFdXVylXV1cpVlZWMU1NTURLS0tmRUVFjT09PcA6 + OjrxOTk5/lZWVv+UlJT+39/f//7+/v7///////////7+/v7//////v7+/v/////+/v7+//////7+/v7/ + /////////+7u7v57e3v/OTk5/EdHR45hYWEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAVlZWHUFBQcA+Pj7+lpaW//X19f////////////////////////////7+/v/y8vL/wcHB/5GRkf9m + Zmb/S0tL/0BAQP86Ojr/Ojo6+zo6Ovs6Ojr7Ojo6/Tw8PP9ERET/UlJS/3d3d/+ioqL/19fX//r6+v// + ///////////////////////////////////////////////////////////////9/f3/xsbG/1NTU/86 + OjrsT09PXFxcXAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhYWAhI + SEiDOjo6+lxcXP/MzMz+/v7+//7+/v7//////v7+/v/////+/v7+///////////+/v7++fn5/+fn5/7a + 2tr/zMzM/szMzP/MzMz+0dHR/9/f3//u7u7+/f39//7+/v7//////v7+/v/////+/v7+//////7+/v7/ + //////////7+/v7//////v7+/v/////+/v7+/////+jo6P5+fn7/PDw8/kBAQL9YWFgnAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVFRUNz4+Psg8 + PDz/eHh4/93d3f/+/v7///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////q6ur/lZWV/0NDQ/87OzvmUFBQZ1xcXAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFdXVwZNTU1nOzs75UBAQP56 + enr/0tLS/v7+/v/+/v7+///////////+/v7+//////7+/v7//////v7+/v/////+/v7+///////////+ + /v7+//////7+/v7//////v7+/v/////+/v7+//////7+/v7///////////7+/v7/////39/f/oyMjP9H + R0f+Ojo680pKSotbW1sUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWlpaCU5OTnE9PT3aOjo6/15eXv+l + paX/4+Pj//39/f////////////////////////////////////////////////////////////////// + ///////////////////////////////9/f3/5eXl/62trf9nZ2f/Ojo6/zo6OuVJSUmGXV1dFgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWFgKUFBQUkBAQLI6Ojr3Pz8//19fX/+R + kZH/v7+//+fn5//6+vr//f39/////////////////////////////////////////////f39//r6+v/m + 5ub/v7+//5GRkf9gYGD/QEBA/zo6OvhBQUG5T09PW1xcXA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWVlYXTk5OXkVFRaY5OTnfOjo6/Tk5Of5I + SEj/YWFh/nV1df+FhYX+k5OT/5SUlP+UlJT+kZGR/4WFhf50dHT/X19f/kZGRv85OTn+Ojo6/D09Pd5H + R0elUVFRX1tbWxcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUIVlZWI1RUVFJLS0t7Tk5Onj4+Prg9 + PT3MPT093D4+Pt0+Pj7dPj4+2T09Pcg+Pj60T09PmU5OTndaWlpNWVlZIFtbWwcAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////8AAAD///////////8AAAD/ + //////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD/ + ///gAf////8AAAD///8AAD////8AAAD///gAAA////8AAAD//+AAAAP///8AAAD//8AAAAD///8AAAD/ + /wAAAAB///8AAAD//gAAAAA///8AAAD//AAAAAAf//8AAAD/+AAAAAAP//8AAAD/8AAAAAAH//8AAAD/ + 8AAAAAAD//8AAAD/4AAAAAAD//8AAAD/wAAAAAAB//8AAAD/wAAAAAAA//8AAAD/gAAAAAAA//8AAAD/ + gAAAAAAAf/8AAAD/gAAAAAAAf/8AAAD/AAAAAAAAf/8AAAD/AAAAAAAAP78AAAD/AAAAAAAAPAcAAAD+ + AAAAAAAAMAEAAAD+AAAAAAAAIAEAAADGAAAAAAAAIAAAAACCAAAAAAAAIAAAAAACAAAAAAAAAAAAAAAC + AAAAAAAAAAAAAAACAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA + AAAAAAAAAAAAAACBAAAAAAAAAAAAAACAAAAAAAAAAAAAAACAAAAAAAAAAAAAAACAAAAAAAAAAAAAAADA + AAAAAAAAAAEAAADAAAAAAAAAAAEAAADAAAAAAAAAAAEAAADgAAAAAAAAAAMAAADgAAAAAAAAAAMAAADw + AAAAAAAAAAcAAADwAAAAAAAAAAcAAAD4AAAAAAAAAA8AAAD4AAAAAAAAAA8AAAD8AAAAAAAAAB8AAAD+ + AAAAAAAAAD8AAAD+AAAAAAAAAH8AAAD/AAAAAAAAAH8AAAD/gAAAAAAAAP8AAAD/wAAAAAAAAf8AAAD/ + 4AAAAAAAA/8AAAD/8AAAAAAAB/8AAAD/+AAAAAAAD/8AAAD//AAAAAAAP/8AAAD//wAAAAAAf/8AAAD/ + /4AAAAAB//8AAAD//+AAAAAH//8AAAD///gAAAAf//8AAAD///8AAAD///8AAAD////gAAf///8AAAD/ + //////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAD///////////8AAAAo + AAAAQAAAAIAAAAABACAAAAAAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEdHRxJK + Sko3Q0NDTUVFRV5GRkZfREREUkpKSj1HR0ceSkpKAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE1NTRBI + SEhfQ0NDpzo6OuQ6Ojr/Ojo6/0NDQ/9QUFD/UlJS/0dHR/86Ojr/Ojo6/zo6OvBCQkK3SUlJc0tLSyIA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAASkpKNUBAQKU6Ojr4R0dH/35+fv+wsLD/19fX//X19f//////////////////////+vr6/+Dg4P+7 + u7v/jY2N/1RUVP86Ojr+Pz8/wkpKSlRQUFACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABPT08mPj4+sjo6Ov9vb2//wMDA//v7+/////////////////////////////////// + ////////////////////////////////////1dXV/4aGhv8+Pj7/PDw81E5OTkgAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAE9PTwNERER5Ojo6+Glpaf/T09P///////////////////////////// + ////////////////////////////////////////////////////////////////////6+vr/4aGhv87 + Ozv/QUFBqVRUVBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBQUBM+Pj6+RERE/7S0tP/+/v7///////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////09PT/1hYWP89PT3iUVFRNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRUVCM8PDzcXFxc/+Tk5P// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////29vb/fX19/zo6OvVUVFRMAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRUVCI8 + PDzjbGxs//Pz8/////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////7+/v+U + lJT/Ojo6+VVVVU0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAFBQUBI8PDzabGxs//f39/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////5aWlv86Ojr3U1NTOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAE5OTgJBQUG5Wlpa//Pz8/////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////g4OD/zo6OudXV1cXAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJSUl0Q0ND/+Dg4P////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////j4+P9e + Xl7/QkJCt1RUVAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOTk4gOjo69qysrP// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////3d3d/z8/P/9OTk5aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAQ0NDpmNjY//9/f3///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////+Xl5f/PT095FVVVQkAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAATk5OKTo6Ov3Nzc3///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////8vLy/0dHR/9J + SUltAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJCQphlZWX///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////+ampr/PT093FRUVAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpKSgk6Ojryt7e3//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////6Ojo/zw8PP9SUlJAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABI + SEhQQEBA//X19f////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////9sbGz/SUlJlQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAREREl3Nzc/////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////p6en/zo6OtsAAAAAAAAAAAAAAAAAAAAATk5OI0NDQ4hAQEC9Pz8/x0JCQqRLS0tRUFBQAgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw8PNKjo6P///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////9fX1/86Ojr/UVFRFwAAAAAAAAAASEhIdzo6OvpfX1//lZWV/6Ghof97 + e3v/Pj4+/z8/P8JWVlYUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEdHRwY6Ojr7ycnJ//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////7+/v/PT09/1BQUEMAAAAASEhIbz4+Pv+1 + tbX//////////////////////+Tk5P9cXFz/PDw8z1lZWQgAAAAATk5OGUBAQHpAQEByUFBQDQAAAABF + RUUjOjo6/+bm5v////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////1VVVf9M + TExnRkZGFjo6Ovarq6v/////////////////////////////////7Ozs/0hISP9KSkp1SUlJCjw8POFW + Vlb/Tk5O/zw8PMYAAAAAR0dHOjo6Ov/5+fn///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////9oaGj/TU1NfUNDQ21OTk7/+/v7//////////////////////////////////////+b + m5v/PT091EhISDw6Ojr/9fX1/9ra2v86Ojr/R0dHHEZGRkM8PDz///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////dXV1/0JCQo1BQUGafHx8//////////////////////// + ////////////////////zc3N/zo6Ov1KSko/Ojo6///////o6Oj/Ojo6/01NTSJDQ0NFPT09//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////3Z2dv9DQ0OPQ0NDn4SEhP// + /////////////////////////////////////////9fX1/86Ojr/TExMNzo6Ov/39/f/9fX1/zo6Ov9T + U1M0RkZGPDo6Ov/7+/v///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////9p + aWn/Tk5Of0NDQ66Ojo7////////////////////////////////////////////Nzc3/Ojo6/0hISCU6 + Ojr/6Ojo//////9DQ0P/TU1NT0RERCc6Ojr/6enp//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////WFhY/01NTWk+Pj7EnZ2d//////////////////////////////////////// + ////v7+//zo6Ou9HR0cJOjo6/9DQ0P//////Xl5e/0tLS3VISEgHOjo6/M3Nzf////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////+/v7/z4+Pv9PT09JOjo64rS0tP////////////////// + /////////////////////////6qqqv86OjrVAAAAADo6OuOzs7P//////4ODg/9FRUWoAAAAADo6Otem + pqb///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////9zc3P86Ojr/Tk5OKjo6Ov/T + 09P///////////////////////////////////////////+Ojo7/SkpKsgAAAABCQkK3jo6O//////+v + r6//Ojo6509PTwFAQECfeHh4//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////+s + rKz/Ojo641FRUUU9PT3/9/f3////////////////////////////////////////////aWlp/09PT4YA + AAAAR0dHgmRkZP//////5ubm/zo6Ov9NTU0yRkZGWERERP/5+fn///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////cXFx/0ZGRpxHR0eJZmZm//////////////////////////////////////// + ////+/v7/0FBQf9UVFRRAAAAAEtLS0M9PT3/8vLy//////9hYWH/R0dHik5OTg46Ojr2vr6+//////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////X19f/ycnJ//////// + ////////////////////////////////////7u7u/z09Pf9RUVFJPDw815+fn/////////////////// + /////////////////////////8/Pz/86Ojr9WVlZEwAAAABMTEwIOjo687u7u///////q6ur/zo6OulR + UVEHQUFBpG5ubv////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////D + w8P/Pj4+/zo6Ov+ioqL//////////////////////////////////////6Kiov86OjrkTk5ONzo6Ov/h + 4eH///////////////////////////////////////////+UlJT/QUFByAAAAAAAAAAAAAAAAEFBQal5 + eXn///////Pz8/9ERET/SUlJZEpKSjU6Ojr/19fX//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////p6en/Pj4+/zo6Ov86Ojr/Ojo6/6Kiov////////////////////////////j4+P9N + TU3/SEhIeUJCQp5paWn////////////////////////////////////////////9/f3/UVFR/0xMTHUA + AAAAAAAAAAAAAABLS0tOPz8//+/v7///////lpaW/zw8POBWVlYHPT09tW1tbf////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////7u7u/0pKSv86Ojr/Ojo6/zo6Ov86Ojr/oqKi//////// + //////////////+hoaH/Ojo661FRUSw6Ojr5v7+///////////////////////////////////////// + ////ycnJ/zo6OvxbW1saAAAAAAAAAAAAAAAAT09PBDo6OuShoaH///////Hx8f9HR0f/RkZGeE9PTys6 + Ojr7u7u7//////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////c3Nz/SkpK/zo6Ov86 + Ojr/Ojo6/zo6Ov+ioqL////////////l5eX/QkJC/0pKSmpDQ0OdXV1d//39/f////////////////// + /////////////////////////3R0dP9ERESuAAAAAAAAAAAAAAAAAAAAAAAAAABHR0d4TU1N//j4+P// + ////r6+v/zo6OvZSUlIlREREhEhISP/p6en///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////9zc3P9KSkr/Ojo6/zo6Ov86Ojr/Ojo6/729vf/8/Pz/aWlp/z8/P8dPT087Ojo6/cjIyP// + /////////////////////////////////////////9nZ2f86Ojr/VVVVOQAAAAAAAAAAAAAAAAAAAAAA + AAAAUlJSDzo6Ou+oqKj///////7+/v9sbGz/PDw8zFdXVw08PDzJZWVl//j4+P////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////3Nzc/0pKSv86Ojr/Ojo6/zo6Ov+9vb3/lJSU/zo6OvBS + UlIsPDw813x8fP////////////////////////////////////////////////9ycnL/QEBAugAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABISEh0R0dH//Hx8f//////6+vr/0tLS/9AQECcVlZWHDw8POZ6 + enr//Pz8//////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////c3Nz/SkpK/zo6Ov+i + oqL/q6ur/zo6OvxQUFBLQUFBoE5OTv/w8PD////////////////////////////////////////////F + xcX/Ojo6/VhYWC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVFRUBzw8PNqGhob////////////Q + 0ND/Pj4+/0dHR31QUFAuOjo68Hx8fP/6+vr///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////+fn5//R0dH/q6ur/zo6Ov5HR0dkR0dHdT4+Pv/S0tL///////////////////////////// + ///////////////09PT/UVFR/0ZGRpQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABO + Tk5AOjo6/sbGxv///////////729vf88PDz/R0dHeVFRUTE6Ojrpampq/+7u7v////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////7+/v/kZGR/zo6OvxHR0djR0dHaDo6Ov64uLj///////////// + ////////////////////////////////////g4OD/z09Pd9cXFwNAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAERERJFLS0v/6+vr////////////ubm5/z4+Pv9DQ0OSVVVVIzw8PNFO + Tk7/x8fH//////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////i4uL/ZmZm/zo6Ou5QUFBHR0dHdjo6Ov6u + rq7/////////////////////////////////////////////////srKy/zo6OvtWVlY6AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXV1cHPDw8ymVlZf/4+Pj////////////J + ycn/RkZG/z4+Pr1VVVUhQ0NDlDo6Ov59fX3/5OTk//////////////////////////////////////// + //////////////////////////////////////////////////////////X19f+ampr/QEBA/z8/P8BS + UlIqQUFBoD4+Pv+4uLj/////////////////////////////////////////////////z8/P/z4+Pv9M + TExuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFdXVxw9 + PT3menp6//z8/P///////////+Li4v9fX1//Ojo67ExMTFxOTk48PDw8yz09Pf+BgYH/1NTU//////// + ////////////////////////////////////////////////////////////////////5+fn/5mZmf9J + SUn/Ojo65k1NTWFPT086PDw8109PT//T09P///////////////////////////////////////////// + ////2tra/0VFRf9DQ0OWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAUVFRLzo6OvB/f3///Pz8////////////+fn5/5mZmf8+Pj7/Pj4+wk5OTjpO + Tk5NPj4+vzo6Ov5WVlb/kpKS/8PDw//q6ur/////////////////////////////////9PT0/87Ozv+g + oKD/aGho/zs7O/88PDzbSkpKbFFRUSZDQ0OgOjo6/oCAgP/w8PD///////////////////////////// + ////////////////////1tbW/0pKSv9DQ0OkXFxcAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRUVE2Ojo68Ht7e//5+fn///////////// + ////4eHh/3h4eP86Ojr/Pj4+wk5OTlVNTU0rR0dHeT4+PsE6Ojr3Ojo6/0NDQ/9YWFj/X19f/19fX/9b + W1v/SkpK/zo6Ov86Ojr9PDw800VFRY1QUFA7Tk5OOEJCQqE6Ojr5X19f/8rKyv////////////////// + ////////////////////////////////////yMjI/0RERP9DQ0OkXV1dAwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUTA6 + OjrnZ2dn/+zs7P//////////////////////2tra/4ODg/9AQED/Ojo68EBAQKRLS0tfUFBQKVJSUi5L + S0tQTExMaE1NTW9NTU1vTExMbExMTFdTU1M2UFBQIU1NTUtERESNPDw83Do6Ov9ra2v/wsLC//7+/v// + ///////////////////////////////////////////////+/v7/paWl/zw8PP9JSUmKXFxcAQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAWFhYHjw8PM5OTk7/y8vL////////////////////////////8/Pz/7e3t/96 + enr/SEhI/zo6Ov86Ojr0Ojo60kNDQ7pDQ0OvQ0NDr0NDQ7U8PDzJOjo66jo6Ov8/Pz//aWlp/6Kiov/k + 5OT////////////////////////////////////////////////////////////s7Oz/c3Nz/zo6OvZO + Tk5eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZWVkIRUVFlzo6Ov+Li4v/8/Pz//////// + //////////////////////////7+/v/j4+P/wsLC/6ioqP+Xl5f/kJCQ/5CQkP+Tk5P/oqKi/7m5uf/Y + 2Nj/+fn5//////////////////////////////////////////////////////////////////39/f+x + sbH/SEhI/z09Pc9YWFgpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQ + UFBJPT094EtLS/+vr6//+/v7//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////8fHx/9hYWH/Ojo69UxMTHldXV0FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAFZWVglKSkp/Ojo681RUVP+srKz/9fX1//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////6+vr/u7u7/2NjY/86Ojr7R0dHnllZWRsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFlZWRNLS0uFOjo67URERP+G + hob/ysrK//v7+/////////////////////////////////////////////////////////////////// + ////////////////////+/v7/87Ozv+NjY3/SkpK/zo6OvRHR0eWWlpaIwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAFVVVQpOTk5dQEBAuzo6OvxERET/dHR0/6Ghof/IyMj/5+fn//39/f////////////////// + ///////////////8/Pz/5eXl/8bGxv+hoaH/dHR0/0VFRf86Ojr8QUFBvU5OTmVcXFwNAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVURUlJSV0ZGRpg9PT3ROjo6+jo6Ov89 + PT3/Tk5O/1tbW/9fX1//X19f/1lZWf9NTU3/PT09/zo6Ov86Ojr4Pj4+zUxMTJZVVVVWWVlZEgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAFVVVQVWVlYmVVVVRlFRUVtUVFRsVlZWb1ZWVm9UVFRpUlJSWFZWVkJYWFgiXFxcBAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////// + /////////////////////////////////////////////4A////////4AAf//////+AAAP//////gAAA + f/////4AAAAf/////AAAAA/////4AAAAB/////AAAAAD////4AAAAAH////AAAAAAP///8AAAAAAf/// + gAAAAAB///+AAAAAAD///wAAAAAAP///AAAAAAAf//4AAAAAAB///gAAAAAAH//+AAAAAAAeA/4AAAAA + AAwB/AAAAAAACACEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAIIAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAAHAAAAAAAAAAcAAAAAA + AAABwAAAAAAAAAPgAAAAAAAAA+AAAAAAAAAH8AAAAAAAAAfwAAAAAAAAD/gAAAAAAAAP/AAAAAAAAB/8 + AAAAAAAAP/4AAAAAAAB//wAAAAAAAH//gAAAAAAA///AAAAAAAH//+AAAAAAB///8AAAAAAP///8AAAA + AB////4AAAAAf////4AAAAH/////4AAAB//////8AAA////////AA/////////////////////////// + ////////////////////KAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAQkJCBUJCQg9CQkINQ0NDAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABG + RkYpRkZGdEFBQbA8PDzcPz8/8UtLS/ZISEj1PT097jw8PNBERESgR0dHX0hISBMAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABG + RkYER0dHWD4+PslaWlr+l5eX/8nJyf/t7e3//v7+/////////////Pz8/+Pj4/+7u7v/hoaG/0pKSvhC + QkKpTExMNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAEpKSjc+Pj7Kb29v/s7Ozv/9/f3+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/vf39/+0tLT+VlZW/ERERKFPT08XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABISEgBRkZGdk9PT/nDw8P+/f39/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7++Pj4/p2dnf9AQEDkT09PQAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAEtLSwRFRUWdbW1t/+/v7/////////////////////////////////// + ///////////////////////////////////////////////////////////////T09P/Tk5O+VFRUVkA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEhIAUVFRZx4eHj++Pj4//7+/v7+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+4+Pj/1FRUflQUFBVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0dHcmtra/74+Pj///////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////9/f3/9JSUnzUVFRMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMTEwzTU1N+O3t7f/+ + /v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+/v7Dw8P+QEBA1lBQUAgAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEdHRwI/ + Pz/Fvr6+/v/////+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+hISE/0pKSnwA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAElJSU1ra2v+/f39/v/////+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+/v7+ + /v7+6+vr/0JCQu5OTk4SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAD8/P7/Hx8f///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////4yMjP9LS0tzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGH1NTU/37+/v+/v7+/v/////+/v7+//////7+/v7+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+//////7+/v7+/v7+/////9nZ2f4/Pz/PSkpKAQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARUVFaI+Pj//+/v7+/v7+/v/////+ + /v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+//////z8/P5VVVX8Tk5OHgAAAAAA + AAAASUlJFENDQ25AQECVREREgElJSS8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQkJCo7+/v/// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////+E + hIT/TExMVwAAAABNTU1KQ0ND7o+Pj/+3t7f/oqKi/1RUVPxHR0eFTU1NAQAAAABBQUENPj4+HQAAAAAA + AAAAPDw8zuLi4v/+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+/v7+ + /v7+//////7+/v6np6f+SEhIgEVFRSFGRkbx2dnZ//7+/v7+/v7+//////Pz8/5mZmb+TU1NYUhISCdB + QUHpT09P/EdHR3cAAAAAPDw86Pn5+f/+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+//////7+/v7+/v7+//////7+/v69vb3+SEhIm0FBQYaenp7+//////7+/v7+/v7+//////7+/v7Y + 2Nj+Pz8/1ERERG2Wlpb/5ubm/zw8PNVJSUkDPj4+8P////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////Jycn/QEBAqj8/P7TPz8////////////// + ///////////////9/f3/SUlJ/UdHR26ampr+8vLy/j09Pd8AAAAAPDw87/7+/v/+/v7+/v7+/v/////+ + /v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+//////7+/v7FxcX+RUVFpUBAQLzX + 19f+//////7+/v7+/v7+//////7+/v7+/v7+SUlJ/kVFRV6NjY3+/f39/kBAQPFPT08FOzs73/Hx8f/+ + /v7+/v7+/v/////+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+//////7+/v62 + trb+SEhIkz4+Ps/k5OT+//////7+/v7+/v7+//////7+/v75+fn+Q0ND9UREREF2dnb//////1paWvxM + TEwgPj4+vdXV1f////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////+ZmZn/SkpKcUFBQe709PT////////////////////////////r6+v/Pz8/20VFRRxX + V1f9/f39/oCAgP9JSUlVQEBAjaysrP/+/v7+/v7+/v/////+/v7+//////7+/v7+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+//////7+/v7+/v7+//////7+/v5xcXH+SkpKX1hYWP7+/v7+//////7+/v7+/v7+//////7+/v7O + zs7+RkZGtURERAQ/Pz/j7+/v/rS0tP9DQ0ObR0dHTHZ2dv/+/v7+/v7+/v/////+/v7+//////7+/v7+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+//////7+/v7+/v7+//////T09P5FRUXxSkpKaoaGhv7+/v7+//////7+/v7+ + /v7+//////7+/v6lpaX+TU1NgwAAAABCQkKpv7+//+7u7v9CQkLpUFBQEkFBQe/u7u7///////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////e3t7/oqKi//n5+f///////////////////////////7q6uv9DQ0OqQkJCrb+/v/// + //////////////////////////////9xcXH/UVFRRAAAAABHR0degoKC/v////98fHz+SUlJX0NDQ5Ki + oqL+/v7+/v/////+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/uLi4v9MTEz+OTk5/nZ2dv/4+Pj+//////7+/v7+/v7+/v7+/2ZmZv5K + SkpeR0dH9fj4+P7+/v7+//////7+/v7+/v7+//////Dw8P5DQ0PtUlJSCgAAAABISEgSRUVF8/b29v/T + 09P+Pz8/109PTyVKSkr28fHx/v/////+/v7+//////7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/sbGxv86Ojr+OTk5/jo6Ov92dnb++fn5//7+/v7+ + /v7+x8fH/z4+PslGRkaDkpKS//7+/v7+/v7+//////7+/v7+/v7+/////6+vr/5ISEidAAAAAAAAAAAA + AAAAQ0NDoK2trf//////enp6/0hISG9ERESIiYmJ//////////////////////////////////////// + //////////////////////////////////////////////////////////7+/v+mpqb/Ozs7/zo6Ov86 + Ojr/dHR0//n5+f/19fX/V1dX/UtLS1dFRUXv6urq/////////////////////////////f39/1tbW/1T + U1M2AAAAAAAAAAAAAAAATExMLlVVVf35+fn+5+fn/kVFRfBQUFAyPj4+1MDAwP/+/v7+//////7+/v7+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+pqam/jo6Ov85OTn+Ojo6/7+/v/6Hh4f+RUVFlENDQ6egoKD+//////7+/v7+/v7+//////7+/v7+ + /v7+vb29/0JCQrsAAAAAAAAAAAAAAAAAAAAAAAAAAEJCQqmrq6v//////7i4uP8+Pj7NUFBQOEZGRvHW + 1tb///////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/6Wlpf86Ojr/dHR0/6CgoP9AQEDHSUlJaWNjY/75+fn///////////// + ///////////////39/f/VlZW/VRUVDUAAAAAAAAAAAAAAAAAAAAAAAAAAE9PTyFHR0fy6enp/v7+/v+T + k5P+QUFBtk1NTUpJSUn00NDQ//7+/v7+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v7+/v/b29v+oKCg/z09PdNKSkpVSkpK9uXl5f7+ + /v7+//////7+/v7+/v7+//////7+/v6UlJT+R0dHmgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJ + SUlvcHBw/v39/f/8/Pz+hYWF/kJCQrVNTU1LQ0ND6bCwsP79/f3+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+/v7+/vT09P+FhYX+QEBAxEpKSlVG + Rkbv0tLS//7+/v7+/v7+//////7+/v7+/v7+/////8nJyf5AQEDcVlZWEAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABMTEwDQUFBspubm////////f39/5OTk/8+Pj7PT09PRj8/P8JxcXH/3t7e//////// + ///////////////////////////////////////////////////////////////+/v7/wcHB/1RUVPxF + RUWPSUlJaUpKSvbS0tL/////////////////////////////////5OTk/0pKSvVVVVU3AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUlJSED8/P9SxsbH+/v7+/v7+/v+5ubn+R0dH9EhISHNK + SkpqPT094Hp6ev/Jycn++fn5/v/////+/v7+/v7+/v/////+/v7+/v7+/v/////+/v7+8PDw/rOzs/9h + YWH9Pj4+wk1NTVJDQ0OnZGRk/ubm5v7+/v7+//////7+/v7+/v7+//////7+/v7p6en+VVVV+09PT1YA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUR8/Pz/csbGx/v/////+ + /v7+5+fn/3t7e/4+Pj7WSkpKaEpKSmZAQEC7SUlJ9nV1df+YmJj+sLCw/ri4uP+3t7f+qqqq/o+Pj/9n + Z2f+QUFB60NDQ6BNTU1XRkZGg0VFRfCioqL++vr6//7+/v7+/v7+//////7+/v7+/v7+/////+Li4v5V + VVX6Tk5OYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABR + UVEgPT091Z6env/9/f3///////7+/v/V1dX/fHx8/z4+PulDQ0OZSUlJYUpKSllKSkpvR0dHi0hISJNI + SEiTR0dHhExMTGRJSUlXSkpKaUJCQrBISEj2lJSU/+zs7P////////////////////////////////// + ////y8vL/0tLS/VRUVFXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAU1NTEUJCQrZ0dHT+6urq//7+/v7+/v7+/v7+/u7u7v+xsbH+e3t7/lJSUv5A + QEDpPz8/zkBAQMNAQEDDPj4+1EJCQvNcXFz+iIiI/sLCwv/4+Pj+/v7+/v/////+/v7+//////7+/v7+ + /v7+//////j4+P6YmJj+Pz8/3VVVVTUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9PTwNLS0t1SUlJ9K+vr/76+vr+/v7+/v/////+ + /v7+/v7+/v7+/v/y8vL+5OTk/t3d3f/d3d3+6Ojo/vf39//+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+//////7+/v79/f3+xcXF/1lZWfxGRkadVlZWEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUVFRJUNDQ7Fb + W1v+tbW1//n5+f////////////////////////////////////////////////////////////////// + /////////////////////Pz8/8DAwP9nZ2f/QkJCxlRUVDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABSUlI2REREqkpKSveNjY3+y8vL/vb29v/+/v7+/v7+/v/////+/v7+/v7+/v/////+ + /v7+/v7+/v/////+/v7+9vb2/szMzP+RkZH+Tk5O+UNDQ7NSUlJFAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9PTxlLS0tsREREuENDQ/BlZWX+h4eH/qCgoP+w + sLD+uLi4/ri4uP+vr6/+n5+f/oWFhf9lZWX+RERE70VFRbdNTU1tU1NTHQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5OTglO + Tk4uTk5OWE1NTXdMTEyLTk5Ok05OTpNNTU2ITk5OdFBQUFVSUlIrUlJSCAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAA////////AAD///////8AAP////// + /wAA///w////AAD//wAP//8AAP/4AAP//wAA//AAAP//AAD/wAAAf/8AAP+AAAA//wAA/wAAAB//AAD/ + AAAAD/8AAP4AAAAH/wAA/AAAAAf/AAD8AAAAA/8AAPwAAAAD/wAA+AAAAAH/AAD4AAAAAYMAAPgAAAAB + AAAAmAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAEAAMAAAAAAAQAAwAAAAAADAADgAAAAAAMAAOAAAAAA + BwAA8AAAAAAHAADwAAAAAA8AAPgAAAAAHwAA/AAAAAA/AAD+AAAAAH8AAP8AAAAA/wAA/4AAAAH/AAD/ + 4AAAB/8AAP/4AAAf/wAA//4AAH//AAD//8AD//8AAP///////wAA////////AAD///////8AACgAAAAg + AAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQUFBBEJCQkFBQUF9QkJCoEtLS69E + RESjQUFBg0NDQ0pCQkIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0NDCUNDQ3lqamrmsLCw/+Hh4f/8 + /Pz///////39/f/m5ub/t7e3/3V1de9FRUWKR0dHEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEdHRzVdXV3bzs7O//////// + /////////////////////////////////////////9vb2/9qamrpSkpKSgAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKSkpKfn5+9vj4+P// + //////////////////////////////////////////////////////////z8/P+SkpL8TExMZAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0dHM319ffX9 + /f3///////////////////////////////////////////////////////////////////////////+U + lJT9S0tLTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAENDQwhc + XFza9/f3//////////////////////////////////////////////////////////////////////// + //////////39/f9vb2/tSkpKFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAARUVFc8vLy/////////////////////////////////////////////////////////////////// + /////////////////////////+Hh4f9ISEiWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAEBAQAJmZmbi//////////////////////////////////////////////////////////// + /////////////////////////////////////////39/f/ZISEgQAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAQkJCOqqqqv////////////////////////////////////////////////// + ////////////////////////////////////////////////////xMTE/0hISFwAAAAAQ0NDCEBAQFE/ + Pz9aREREFAAAAAAAAAAAAAAAAAAAAABAQEB02tra//////////////////////////////////////// + ///////////////////////////////////////////////////////////////09PT/RkZGlkVFRRtd + XV3bvLy8/8bGxv9vb2/vTExMO0VFRUFJSUm6RkZGNUBAQJf39/f///////////////////////////// + //////////////////////////////////////////////////////////////////////////////9V + VVW4REREnunp6f////////////r6+v9bW1vRQUFBnu3t7f9CQkKPQEBAof////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////1xcXMZhYWHO/////////////////////4aGhv5CQkKW9PT0/0dHR6A/Pz+Y+Pj4//////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////V1dXuWtra9z/////////////////////gICA+0FBQXrg4OD/XFxcxkJCQnbc + 3Nz///////////////////////////////////////////////////////////////////////////// + //////////////////////////X19f9FRUWcfn5+9/////////////////////9vb2/hQkJCTry8vP+C + goL5SUlJSq2trf////////////////////////////////////////////////////////////////// + ////////////////////////////////////x8fH/0ZGRpOmpqb//////////////////v7+/1NTU7VD + Q0MSiYmJ/MLCwv9ISEhiampq5v////////////////////////////////////////////////////// + ///////////////w8PD/hoaG/+fn5/////////////////+CgoL4RUVFld/f3//////////////////Y + 2Nj/SkpKdgAAAABRUVG9+Pj4/1hYWNBGRkZ80NDQ//////////////////////////////////////// + /////////////////////////5iYmP86Ojr/VFRU/+fn5///////5ubm/0hISKRpaWnl//////////// + /////////5SUlP5LS0skAAAAAEVFRVi5ubn/urq6/0hISHBgYGDf+fn5//////////////////////// + ////////////////////////////////////9vb2/2pqav86Ojr/VFRU/+7u7v90dHTxRUVFkMjIyP// + ///////////////19fX/UlJSuQAAAAAAAAAAQ0NDA1xcXNj7+/v/d3d38kpKSmOFhYX4/v7+//////// + ////////////////////////////////////////////////////9vb2/2pqav9UVFT/jY2N/kdHR4J+ + fn71/////////////////////5ycnP5OTk46AAAAAAAAAAAAAAAASUlJSKGhof7z8/P/YGBg3khISHKG + hob5+vr6////////////////////////////////////////////////////////////+Pj4/5KSkv5E + RESLXl5e3PPz8//////////////////d3d3/TExMoAAAAAAAAAAAAAAAAAAAAAAAAAAASEhImNLS0v/t + 7e3/ZGRk40lJSXVkZGTk19fX/////////////////////////////////////////////////+Pj4/9y + cnLvR0dHgF5eXtzq6ur/////////////////8/Pz/11dXdlOTk4OAAAAAAAAAAAAAAAAAAAAAAAAAABH + R0cHUFBQwd7e3v/39/f/i4uL+kZGRpZFRUWUc3Nz7rm5uf/r6+v/////////////////8PDw/8HBwf9+ + fn72R0dHnkZGRo5/f3/19PT0//////////////////T09P9ra2voUFBQJgAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABISEgNUFBQwdPT0///////1dXV/3V1de9FRUWcREREj0VFRZNMTEytVlZWt09PT7BF + RUWVRUVFjkVFRZNqamrmycnJ///////////////////////o6Oj/ZGRk4VBQUCoAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABISEgHSkpKm6SkpP/8/Pz//////+rq6v+wsLD/hoaG/G9vb+Jp + aWnXbW1t34GBgfmoqKj/4eHh///////////////////////+/v7/ubm5/1BQULtPT08XAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLTGBgYNy+vr7//Pz8//////// + ///////////////////////////////////////////////9/f3/x8fH/2pqauVMTExiSEhIAQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEhIBElJSV9W + VlbFkZGR/sXFxf/r6+v//v7+/////////////v7+/+rq6v/FxcX/kpKS/llZWchLS0tmS0tLCAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABISEgaR0dHWkdHR4lMTEyoWVlZtlhYWLVMTEymSkpKh0pKSlhLS0saAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////// + /////8Af//8AB//+AAP//AAB//gAAP/wAAB/8AAAf+AAAD/gAAAh4AAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAIAAAACAAAABgAAAAcAAAAPgAAAD4AAAB/AAAA/4AAAf/gAAP/8AAP//4Af///////////8o + AAAAGAAAADAAAAABACAAAAAAAGAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/Pz8nPz8/Y0RERH9DQ0N8Pz8/XD8/PxwAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQkJCQXBwcMe7 + u7v+7e3t//7+/v/+/v7/5+fn/rGxsf1mZma2RUVFLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAADQ0NAFQUFCFwMDA/f7+/v/+/v7+/////////////////v7+/v/////9 + /f3+rKys+E1NTWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBQUIPa + 2tr+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/sTExP1MTExeAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0NDPr6+vv3+/v7+///////////+/v7+//////////// + /////v7+/v/////+/v7+//////////+ioqL0RkZGIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAb29vwv7+/v/+/v7+///////////+/v7+/////////////////v7+/v/////+/v7+///////////6 + +vr+WlpanQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Pj4ht7e3/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+m5ub8kBAQAg3NzcFPj4+QD8/PysA + AAAAMDAwAzMzMwc/Pz9c5+fn///////+/v7+///////////+/v7+/////////////////v7+/v/////+ + /v7+///////////+/v7+ysrK/0ZGRj5sbGzK0dHR/7q6uv5SUlJ6WVlZn25ubtFCQkJ3/f39///////+ + /v7+///////////+/v7+/////////////////v7+/v/////+/v7+///////////+/v7+4eHh/0JCQqDa + 2tr+//////////+Xl5f0bW1tspubm/NFRUV1+/v7///////+/v7+///////////+/v7+//////////// + /////v7+/v/////+/v7+///////////+/v7+3t7e/0NDQ7Hu7u7+//////////+hoaH8VlZWlrW1tf5F + RUVw39/f/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+wsLC/ktLS6/8/Pz+/v7+/v7+/v6Pj4/jQUFBZNTU1P9HR0d5qamp+//////+/v7+///////////+ + /v7+/////////////////v7+/v/////f39/+/f39///////+/v7+jo6O5nR0dMX+/v7+//////////9t + bW2xQEBAHK+vr/x1dXXNYGBgq/v7+/7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/unp6f4+ + Pj7+h4eH/v39/f7w8PD+TU1NqrS0tPz+/v7+/v7+/ufn5/5JSUllAAAAAGRkZLLW1tb+SEhIhqGhofT+ + /v7+///////////+/v7+/////////////////v7+/v7+/v+hoaH+Ojo6/5mZmf+GhobkXV1du/n5+f/+ + /v7+/////5aWlu1FRUUNAAAAAERERDK2trb7oqKi8klJSYq7u7v8///////////+/v7+//////////// + /////v7+/v/////+/v7+rq6u/3x8fPRHR0ef0NDQ/v/////+/v7+4uLi/1BQUHMAAAAAAAAAAAAAAABS + UlKJ5eXl/paWluxHR0eSl5eX7/b29v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7v7+/+hISE4kdHR566 + urr7/v7+/v7+/v74+Pj+ampqwkJCQgQAAAAAAAAAAAAAAAA9PT0EYGBgs+vr6/+5ubn8U1NTrVNTU6uS + kpLrw8PD/9nZ2f/Y2Nj/vb29/oqKiuJMTEymXl5eutDQ0P7+/v7+//////f39/95eXnVSUlJFQAAAAAA + AAAAAAAAAAAAAAAAAAAAQEBACFxcXKfW1tb+9PT0/6qqqvlubm6+SUlJrERERKxDQ0OsTU1Nq3V1dcW1 + tbX8+vr6///////+/v7+4+Pj/2tra8JJSUkWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABL + S0tkkpKS6+vr6/7+/v7++/v7/u/v7/7w8PD+/f39/v7+/v7+/v7+/v7+/u7u7v6bm5vwUFBQdUJCQgQA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0NDDUlJSW96enrIp6en+8nJyf/Z + 2dn/2dnZ/sjIyP+np6f7fHx8yExMTHJHR0cRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBADkRERDNFRUVHRUVFR0VFRTJCQkINAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAA////AP///wD/A/8A/AD/APAAfwDwAD8A4AAfAOAAHwDAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAgAAAAIAAAQDAAAEAwAADAOAABwD4AA8A/AA/AP+B/wD///8AKAAAABAAAAAgAAAAAQAgAAAAAABA + BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgoKBExMTFHNjY2VDAwMDMh + ISECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCwsDWxsbJfGxsb49/f3//7+/v/n + 5+f/paWl3kxMTFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCwsDJCQkM39/f3///////////// + ///////////////j4+P+W1tbbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxsbJX9/f3///////////// + /////////////////////////9PT0/o8PDwrAAAAAAAAAAAAAAAAAAAAACcnJw/Dw8P3//////////// + ////////////////////////////////////dHR0mCcnJwIqKiorIyMjBTg4OD8+Pj5Q9PT0//////// + /////////////////////////////////////////6Ojo9N0dHSl4ODg/4SEhL6ZmZnMQkJCmv39/f// + //////////////////////////////////////////////+srKzfsrKy6v/////BwcH9iIiIsVpaWqDh + 4eH/////////////////////////////////////////////////kpKSy8jIyP3/////sLCw5VZWVnOW + lpbMn5+f2P///////////////////////////////5KSkv/IyMj/+Pj4/15eXsX39/f//////4CAgKUw + MDAXsrKy9VpaWqnf39/9///////////////////////////V1dX/U1NT/42NjdyioqLg/////+Pj4/5E + REQ9AAAAAF1dXXfExMT2X19fsc3Nzfj/////////////////////+Pj4/5GRkdt6enrQ/Pz8//z8/P91 + dXWhAAAAAAAAAAAkJCQBcXFxo9XV1f11dXXGbW1txp+fn8+oqKjZj4+PyF1dXcOjo6Pg/Pz8//n5+f+F + hYW8MzMzCQAAAAAAAAAAAAAAACYmJgFfX195xsbG9uXl5f+8vLz3tbW17cnJyf339/f//v7+/8vLy/ho + aGiHLy8vBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADU1NRlcXFx3j4+PuKioqNeoqKjWkJCQt15eXng5 + OTkbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA+D8AAOAfAADADwAAwAcAAIAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAIABAACAAQAAwAMAAPAPAAD//wAA + + + \ No newline at end of file diff --git a/Windows/MassiveKnob/Helpers/ComboBoxTemplateSelector.cs b/Windows/MassiveKnob/Helpers/ComboBoxTemplateSelector.cs new file mode 100644 index 0000000..303ce8f --- /dev/null +++ b/Windows/MassiveKnob/Helpers/ComboBoxTemplateSelector.cs @@ -0,0 +1,55 @@ +using System; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Markup; +using System.Windows.Media; + +namespace MassiveKnob.Helpers +{ + // Source: https://stackoverflow.com/questions/4672867/can-i-use-a-different-template-for-the-selected-item-in-a-wpf-combobox-than-for + public class ComboBoxTemplateSelector : DataTemplateSelector + { + public DataTemplate SelectedItemTemplate { get; set; } + public DataTemplateSelector SelectedItemTemplateSelector { get; set; } + public DataTemplate DropdownItemsTemplate { get; set; } + public DataTemplateSelector DropdownItemsTemplateSelector { get; set; } + + public override DataTemplate SelectTemplate(object item, DependencyObject container) + { + var itemToCheck = container; + + // Search up the visual tree, stopping at either a ComboBox or + // a ComboBoxItem (or null). This will determine which template to use + while (itemToCheck != null && !(itemToCheck is ComboBoxItem) && !(itemToCheck is ComboBox)) + itemToCheck = VisualTreeHelper.GetParent(itemToCheck); + + // If you stopped at a ComboBoxItem, you're in the dropdown + var inDropDown = itemToCheck is ComboBoxItem; + + return inDropDown + ? DropdownItemsTemplate ?? DropdownItemsTemplateSelector?.SelectTemplate(item, container) + : SelectedItemTemplate ?? SelectedItemTemplateSelector?.SelectTemplate(item, container); + } + } + + + // ReSharper disable once UnusedMember.Global - used in XAML + public class ComboBoxTemplateSelectorExtension : MarkupExtension + { + public DataTemplate SelectedItemTemplate { get; set; } + public DataTemplateSelector SelectedItemTemplateSelector { get; set; } + public DataTemplate DropdownItemsTemplate { get; set; } + public DataTemplateSelector DropdownItemsTemplateSelector { get; set; } + + public override object ProvideValue(IServiceProvider serviceProvider) + { + return new ComboBoxTemplateSelector + { + SelectedItemTemplate = SelectedItemTemplate, + SelectedItemTemplateSelector = SelectedItemTemplateSelector, + DropdownItemsTemplate = DropdownItemsTemplate, + DropdownItemsTemplateSelector = DropdownItemsTemplateSelector + }; + } + } +} diff --git a/Windows/MassiveKnob/Helpers/ComparisonConverter.cs b/Windows/MassiveKnob/Helpers/ComparisonConverter.cs new file mode 100644 index 0000000..a012b3f --- /dev/null +++ b/Windows/MassiveKnob/Helpers/ComparisonConverter.cs @@ -0,0 +1,18 @@ +using System; +using System.Windows.Data; + +namespace MassiveKnob.Helpers +{ + public class ComparisonConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + return value?.Equals(parameter); + } + + public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + return value?.Equals(true) == true ? parameter : Binding.DoNothing; + } + } +} diff --git a/Windows/MassiveKnob/Helpers/SerialQueue.cs b/Windows/MassiveKnob/Helpers/SerialQueue.cs new file mode 100644 index 0000000..25194bf --- /dev/null +++ b/Windows/MassiveKnob/Helpers/SerialQueue.cs @@ -0,0 +1,65 @@ +using System; +using System.Threading.Tasks; + +// Original source: https://github.com/Gentlee/SerialQueue +// ReSharper disable UnusedMember.Global - public API + +namespace MassiveKnob.Helpers +{ + public class SerialQueue + { + private readonly object locker = new object(); + private readonly WeakReference lastTaskWeakRef = new WeakReference(null); + + public Task Enqueue(Action action) + { + return Enqueue(() => + { + action(); + return true; + }); + } + + public Task Enqueue(Func function) + { + lock (locker) + { + var resultTask = lastTaskWeakRef.TryGetTarget(out var lastTask) + ? lastTask.ContinueWith(_ => function(), TaskContinuationOptions.ExecuteSynchronously) + : Task.Run(function); + + lastTaskWeakRef.SetTarget(resultTask); + + return resultTask; + } + } + + public Task Enqueue(Func asyncAction) + { + lock (locker) + { + var resultTask = lastTaskWeakRef.TryGetTarget(out var lastTask) + ? lastTask.ContinueWith(_ => asyncAction(), TaskContinuationOptions.ExecuteSynchronously).Unwrap() + : Task.Run(asyncAction); + + lastTaskWeakRef.SetTarget(resultTask); + + return resultTask; + } + } + + public Task Enqueue(Func> asyncFunction) + { + lock (locker) + { + var resultTask = lastTaskWeakRef.TryGetTarget(out var lastTask) + ? lastTask.ContinueWith(_ => asyncFunction(), TaskContinuationOptions.ExecuteSynchronously).Unwrap() + : Task.Run(asyncFunction); + + lastTaskWeakRef.SetTarget(resultTask); + + return resultTask; + } + } + } +} diff --git a/Windows/MassiveKnob/MassiveKnob.csproj b/Windows/MassiveKnob/MassiveKnob.csproj new file mode 100644 index 0000000..5756b27 --- /dev/null +++ b/Windows/MassiveKnob/MassiveKnob.csproj @@ -0,0 +1,250 @@ + + + + + Debug + AnyCPU + {73130EC7-49B3-40AD-8367-1095C0F41905} + WinExe + MassiveKnob + MassiveKnob + v4.7.2 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + + + Resources\MainIcon.ico + + + MassiveKnob.Program + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + InputOutputView.xaml + + + SettingsWindow.xaml + + + + + + + True + True + Strings.resx + + + AnalogInputsView.xaml + + + AnalogOutputsView.xaml + + + StartupView.xaml + + + LoggingView.xaml + + + DigitalInputsView.xaml + + + DigitalOutputsView.xaml + + + DeviceView.xaml + + + PublicResXFileCodeGenerator + Strings.Designer.cs + Designer + + + + + + + + 4.0.0-alpha5 + + + 4.0.0-alpha5 + + + 0.11.24 + + + 0.11.24 + + + 1.0.8 + + + 5.0.0 + + + 12.0.3 + + + 5.1.0 + + + 2.10.0 + + + 3.0.1 + + + 4.1.0 + + + 5.2.1 + + + 5.0.0 + + + + + + + + + Designer + MSBuild:Compile + + + App.xaml + Code + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + + + {A1298BE4-1D23-416C-8C56-FC9264487A95} + MassiveKnob.Plugin + + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob/Program.cs b/Windows/MassiveKnob/Program.cs new file mode 100644 index 0000000..0e64f6f --- /dev/null +++ b/Windows/MassiveKnob/Program.cs @@ -0,0 +1,76 @@ +using System; +using System.IO; +using System.Text; +using System.Windows; +using MassiveKnob.Core; +using MassiveKnob.Settings; +using MassiveKnob.View; +using MassiveKnob.ViewModel; +using Serilog; +using SimpleInjector; + +namespace MassiveKnob +{ + // TODO (should have) global exception handler - AppDomain.CurrentDomain.UnhandledException + public static class Program + { + [STAThread] + public static int Main() + { + var settings = MassiveKnobSettingsJsonSerializer.Deserialize(); + + var loggingSwitch = new LoggingSwitch(); + loggingSwitch.SetLogging(settings.Log.Enabled, settings.Log.Level); + + var logger = new LoggerConfiguration() + .MinimumLevel.Verbose() + .Filter.ByIncludingOnly(loggingSwitch.IsIncluded) + .Enrich.FromLogContext() + .WriteTo.File( + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"MassiveKnob", @"Logs", @".log"), + rollingInterval: RollingInterval.Day, + outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{@Context}{NewLine}{Exception}") + .CreateLogger(); + + + logger.Information("MassiveKnob starting"); + var pluginManager = new PluginManager(logger); + + var messages = new StringBuilder(); + pluginManager.Load((exception, filename) => + { + messages.AppendLine($"{filename}: {exception.Message}"); + }); + + if (messages.Length > 0) + { + MessageBox.Show($"Error while loading plugins:\r\n\r\n{messages}", "Massive Knob", MessageBoxButton.OK, MessageBoxImage.Error); + return 1; + } + + var orchestrator = new MassiveKnobOrchestrator(pluginManager, logger, settings); + orchestrator.Load(); + + + var container = new Container(); + container.Options.EnableAutoVerification = false; + + container.RegisterInstance(logger); + container.RegisterInstance(loggingSwitch); + container.RegisterInstance(pluginManager); + container.RegisterInstance(orchestrator); + + container.Register(); + container.Register(); + container.Register(); + + + var app = container.GetInstance(); + app.Run(); + + logger.Information("MassiveKnob shutting down"); + orchestrator.Dispose(); + return 0; + } + } +} diff --git a/Windows/MassiveKnob/Properties/AssemblyInfo.cs b/Windows/MassiveKnob/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..fc1ec38 --- /dev/null +++ b/Windows/MassiveKnob/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MassiveKnob")] +[assembly: AssemblyDescription("Physical controls for Windows audio devices")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MassiveKnob")] +[assembly: AssemblyCopyright("Copyright © 2021 Mark van Renswoude")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("73130ec7-49b3-40ad-8367-1095c0f41905")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Windows/MassiveKnob/Resources/Analog.xaml b/Windows/MassiveKnob/Resources/Analog.xaml new file mode 100644 index 0000000..21d6ab4 --- /dev/null +++ b/Windows/MassiveKnob/Resources/Analog.xaml @@ -0,0 +1,15 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob/Resources/Device.xaml b/Windows/MassiveKnob/Resources/Device.xaml new file mode 100644 index 0000000..8ae9373 --- /dev/null +++ b/Windows/MassiveKnob/Resources/Device.xaml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob/Resources/Digital.xaml b/Windows/MassiveKnob/Resources/Digital.xaml new file mode 100644 index 0000000..52fa31d --- /dev/null +++ b/Windows/MassiveKnob/Resources/Digital.xaml @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob/Resources/Icon.ai b/Windows/MassiveKnob/Resources/Icon.ai new file mode 100644 index 0000000..0192c4a --- /dev/null +++ b/Windows/MassiveKnob/Resources/Icon.ai @@ -0,0 +1,4561 @@ +%PDF-1.5 % +1 0 obj <>/OCGs[5 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + application/pdf + + + Icon + + + + + 2021-03-05T08:59:26+01:00 + 2021-03-05T08:59:26+01:00 + 2021-03-05T08:59:26+02:00 + Adobe Illustrator CS6 (Windows) + + + + 256 + 256 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX//2Q== + + + + + + uuid:63912d2b-8456-4691-af03-78dc07e5fd0d + xmp.did:163E26B4887DEB11B1CFFB6D61C748E2 + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + uuid:ba5dc92b-6d0a-484a-ab90-b9370a4a0965 + xmp.did:0980117407206811822A897E387FE54C + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + + + + saved + xmp.iid:163E26B4887DEB11B1CFFB6D61C748E2 + 2021-03-05T08:59:25+01:00 + Adobe Illustrator CS6 (Windows) + / + + + + + + Document + Print + + + False + False + 1 + + 16.000000 + 16.000000 + Pixels + + + + + Default Swatch Group + 0 + + + + White + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 0.000000 + + + Black + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 100.000000 + + + CMYK Red + CMYK + PROCESS + 0.000000 + 100.000000 + 100.000000 + 0.000000 + + + CMYK Yellow + CMYK + PROCESS + 0.000000 + 0.000000 + 100.000000 + 0.000000 + + + CMYK Green + CMYK + PROCESS + 100.000000 + 0.000000 + 100.000000 + 0.000000 + + + CMYK Cyan + CMYK + PROCESS + 100.000000 + 0.000000 + 0.000000 + 0.000000 + + + CMYK Blue + CMYK + PROCESS + 100.000000 + 100.000000 + 0.000000 + 0.000000 + + + CMYK Magenta + CMYK + PROCESS + 0.000000 + 100.000000 + 0.000000 + 0.000000 + + + C=15 M=100 Y=90 K=10 + CMYK + PROCESS + 14.999998 + 100.000000 + 90.000000 + 10.000002 + + + C=0 M=90 Y=85 K=0 + CMYK + PROCESS + 0.000000 + 90.000000 + 85.000000 + 0.000000 + + + C=0 M=80 Y=95 K=0 + CMYK + PROCESS + 0.000000 + 80.000000 + 95.000000 + 0.000000 + + + C=0 M=50 Y=100 K=0 + CMYK + PROCESS + 0.000000 + 50.000000 + 100.000000 + 0.000000 + + + C=0 M=35 Y=85 K=0 + CMYK + PROCESS + 0.000000 + 35.000004 + 85.000000 + 0.000000 + + + C=5 M=0 Y=90 K=0 + CMYK + PROCESS + 5.000001 + 0.000000 + 90.000000 + 0.000000 + + + C=20 M=0 Y=100 K=0 + CMYK + PROCESS + 19.999998 + 0.000000 + 100.000000 + 0.000000 + + + C=50 M=0 Y=100 K=0 + CMYK + PROCESS + 50.000000 + 0.000000 + 100.000000 + 0.000000 + + + C=75 M=0 Y=100 K=0 + CMYK + PROCESS + 75.000000 + 0.000000 + 100.000000 + 0.000000 + + + C=85 M=10 Y=100 K=10 + CMYK + PROCESS + 85.000000 + 10.000002 + 100.000000 + 10.000002 + + + C=90 M=30 Y=95 K=30 + CMYK + PROCESS + 90.000000 + 30.000002 + 95.000000 + 30.000002 + + + C=75 M=0 Y=75 K=0 + CMYK + PROCESS + 75.000000 + 0.000000 + 75.000000 + 0.000000 + + + C=80 M=10 Y=45 K=0 + CMYK + PROCESS + 80.000000 + 10.000002 + 45.000000 + 0.000000 + + + C=70 M=15 Y=0 K=0 + CMYK + PROCESS + 70.000000 + 14.999998 + 0.000000 + 0.000000 + + + C=85 M=50 Y=0 K=0 + CMYK + PROCESS + 85.000000 + 50.000000 + 0.000000 + 0.000000 + + + C=100 M=95 Y=5 K=0 + CMYK + PROCESS + 100.000000 + 95.000000 + 5.000001 + 0.000000 + + + C=100 M=100 Y=25 K=25 + CMYK + PROCESS + 100.000000 + 100.000000 + 25.000000 + 25.000000 + + + C=75 M=100 Y=0 K=0 + CMYK + PROCESS + 75.000000 + 100.000000 + 0.000000 + 0.000000 + + + C=50 M=100 Y=0 K=0 + CMYK + PROCESS + 50.000000 + 100.000000 + 0.000000 + 0.000000 + + + C=35 M=100 Y=35 K=10 + CMYK + PROCESS + 35.000004 + 100.000000 + 35.000004 + 10.000002 + + + C=10 M=100 Y=50 K=0 + CMYK + PROCESS + 10.000002 + 100.000000 + 50.000000 + 0.000000 + + + C=0 M=95 Y=20 K=0 + CMYK + PROCESS + 0.000000 + 95.000000 + 19.999998 + 0.000000 + + + C=25 M=25 Y=40 K=0 + CMYK + PROCESS + 25.000000 + 25.000000 + 39.999996 + 0.000000 + + + C=40 M=45 Y=50 K=5 + CMYK + PROCESS + 39.999996 + 45.000000 + 50.000000 + 5.000001 + + + C=50 M=50 Y=60 K=25 + CMYK + PROCESS + 50.000000 + 50.000000 + 60.000004 + 25.000000 + + + C=55 M=60 Y=65 K=40 + CMYK + PROCESS + 55.000000 + 60.000004 + 65.000000 + 39.999996 + + + C=25 M=40 Y=65 K=0 + CMYK + PROCESS + 25.000000 + 39.999996 + 65.000000 + 0.000000 + + + C=30 M=50 Y=75 K=10 + CMYK + PROCESS + 30.000002 + 50.000000 + 75.000000 + 10.000002 + + + C=35 M=60 Y=80 K=25 + CMYK + PROCESS + 35.000004 + 60.000004 + 80.000000 + 25.000000 + + + C=40 M=65 Y=90 K=35 + CMYK + PROCESS + 39.999996 + 65.000000 + 90.000000 + 35.000004 + + + C=40 M=70 Y=100 K=50 + CMYK + PROCESS + 39.999996 + 70.000000 + 100.000000 + 50.000000 + + + C=50 M=70 Y=80 K=70 + CMYK + PROCESS + 50.000000 + 70.000000 + 80.000000 + 70.000000 + + + + + + Grays + 1 + + + + C=0 M=0 Y=0 K=100 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 100.000000 + + + C=0 M=0 Y=0 K=90 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 89.999405 + + + C=0 M=0 Y=0 K=80 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 79.998795 + + + C=0 M=0 Y=0 K=70 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 69.999702 + + + C=0 M=0 Y=0 K=60 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 59.999104 + + + C=0 M=0 Y=0 K=50 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 50.000000 + + + C=0 M=0 Y=0 K=40 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 39.999401 + + + C=0 M=0 Y=0 K=30 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 29.998802 + + + C=0 M=0 Y=0 K=20 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 19.999701 + + + C=0 M=0 Y=0 K=10 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 9.999103 + + + C=0 M=0 Y=0 K=5 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 4.998803 + + + + + + Brights + 1 + + + + C=0 M=100 Y=100 K=0 + CMYK + PROCESS + 0.000000 + 100.000000 + 100.000000 + 0.000000 + + + C=0 M=75 Y=100 K=0 + CMYK + PROCESS + 0.000000 + 75.000000 + 100.000000 + 0.000000 + + + C=0 M=10 Y=95 K=0 + CMYK + PROCESS + 0.000000 + 10.000002 + 95.000000 + 0.000000 + + + C=85 M=10 Y=100 K=0 + CMYK + PROCESS + 85.000000 + 10.000002 + 100.000000 + 0.000000 + + + C=100 M=90 Y=0 K=0 + CMYK + PROCESS + 100.000000 + 90.000000 + 0.000000 + 0.000000 + + + C=60 M=90 Y=0 K=0 + CMYK + PROCESS + 60.000004 + 90.000000 + 0.003099 + 0.003099 + + + + + + + + + Adobe PDF library 10.01 + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 7 0 obj <>/Resources<>/ExtGState<>/Properties<>>>/Thumb 12 0 R/TrimBox[0.0 0.0 16.0 16.0]/Type/Page>> endobj 8 0 obj <>stream +HTP WXZ(Ĥ?1zP(6,,Dq.tƓT4]p$>7M2exJuSC鹁pYFl[lfP'a9'ƢVŖsA"7'{`~&bUU׃"=w] J= +endstream endobj 12 0 obj <>stream +8;Xp,rVCYe!!<3,C'.`~> +endstream endobj 13 0 obj [/Indexed/DeviceRGB 255 14 0 R] endobj 14 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> +endstream endobj 5 0 obj <> endobj 15 0 obj [/View/Design] endobj 16 0 obj <>>> endobj 11 0 obj <> endobj 10 0 obj [/ICCBased 17 0 R] endobj 17 0 obj <>stream +HuTKtKKJI,t(݋4K%ҹH4J#Ғ(H +wqyy~3̙g<3Y9El +@ ]!O-@\+BVKK :OX~WCaiHKL0qY `5ck +X]x= 8 XĿ׽>.f#aPn D^{y8  dp H st:Y׬cxc IV?S!:_9[YbQP~+rA +ShHht^ '0߅™kYXY9Yqqpl'WzEE$%D>,^|t*K)%/`\ҫ:&D [7dplDa5|mb4,yy{e5 3⚅,t+whlA   m k +xYUH&%Ȥ +qO'Mz3KT@v[NUnn^\o]abTrtlmE]e~U+jאZ:zaqi5};CS[\_ۆwCaQ1;>L$Lz}4:%8M7l̎Χ/}XT^]X>\Ym[n!ycskkƶʷ;v{pIs0Xݯ3s󝋒&$WWW*)!$$%!e$cHNOAKIMEq ƕ;KLw@YX;ؚ8^+DspfKOTCPpJ%D=++O%$*8IZ\Z^UK_wL"dx]}>9=;s_G8/̹N!Gz[<=2|B}PQzlH0Wc(Een|Pds::5&89yFT"od䳔i/ZK^&gd:fgQl kJХeJ*+篍kj5U[ZUh0|em6]B@`PpH?QM1Msψ*iϛ.Z [JYZ)X-]R޸Ѻپw?@?5 ǖ'vNg +W3gLC#u!MMMEvAms˔FVNA̝GLwA̬,llؿsݛnͽ+!B²" 'R&k?3?4+:6oT\ұڿ6VʝoF?LT;:>::>:;eqvx^sawݥʕ'_EFO\DKLtAnFF)F|ԭ6\`@z?m+F;LwiAhy͖)Mgw~_ @ZH_XA,"F)%/*9aZ:Q,\B^_AU񡒀2 +*'[j o5[uR1uh`fm$1xJgBdrltlyyEe$feg-g#`dGbwj0TOC9; ܨݿxz6zx8IP=A!.aAxۑϊ}bG-ޒēx`G/Ԝq_O?0"۬խЮ˯ǰı²µŶȷ͸ӹۺ 0@RfzƏǦȾ *GcЀџҿ'LsٛFsM6+1MZ:{T?~ò~i~L}~cbA~Dad~ty~W~O>~\/~|~`Cx}%H}1X}%z}K} {N}׋<_~7A~-ψ||Dz|+E|[s|z} ^}wO@}-~ċ {Gu{Dz{]Ĭ{f{Zx|[]|ϕM?}R<}Ǝz]YzHħz|z={LNw{\|=>|v|ېI8z/r z;bz'sMzd6zɬqv{D[{0> |;|yyaIy?yazYvzݮ[{^=c{ФI{R*y߄yfUy`VyyuKzZi{ <{z%zȎ~+~}͇}W0}3}HtЄ}Zk}=~zɇ}!~Єd*s}Y<9wpSwuuVrUW؈|;,뇔{RsѲ;:8q)PCV:4.8Ȅ2񡂡?Up Vu9S c bփR.ՁNn U388A/ͬδz6߆өn1T\e7݀tXT)$̯̕6;eCʷˆ imw3SƀV7M +\lGNػځNāa5tNzlߴS<H6*-N}o2ن N%է>w֣A}⇤\fXMݘ2, KԐ3g°[} +0e6M _1 ? 1ӣǾI^I|B̯dܪwLe1$: rW] 1S{z|diL g0\ U{[G{!{ ޔ`{&yE{xbie{Jr|/c5}~ +~:f#MKx+Ca|uI~.yW ώәߎ%¡唘[w!^T`^H*- 5GȨ瘎=Π4rv_ҍRGf,ދ̋|,ƕ{ Ҙtٕ^1Fő,;',#h%T,Qۥ{[s:9󅼓&^!Փa@!" y +.Jl6mHju,bU6+s hܸd-ʥ}wi-sun=0Ľi-_*)U_ˈb$na+;ϧT;ppA7C4.*Iߥa8Mm.ACi7\j|fiԫ)]ޭjʄU]3(í whJch-4x7h׿*P0H됎L랇ڡuÂ,{Bz}8vggҲd[!XTZZ.vlAg +{;Sm`vؿ`~?ga. +3Ì{L^WYe4]L7ok!wI~Ira^=C#Zh`Wu}p)"z7ff&3$FJ8Ҷ5m +uR_,^VS&aR~PfLL_Dw*`\-9]q  TI6)>u6 D`e͢/xqY%9ʜ;åOd\˾P&eRz;].R<oΡ]P{?: r̨\ʻb Ҥ3|m s؟W9oZt]RnÅ\cW#+nI&gyAjsN06HiD'@J+a5V~cRI̫vwtUc[3+?F|l(iU^+O?Rs1Hqil$Wþh=(RE +1BvџnF/ BsGMY9>ܖ3ȗqI ڣ5V_1ȣβiJiX0WVH[8g_/ +n3 ` 38A.|f|ј0I6bv%& ;Y㿜҄#dD.).p'3J12K[Duɥ$s8IƊ.z^48e!R6}vcMiozo0'=~i,3:?-?oS,9w#ROa; ?pB +֞IO ݟe#}ԯN$\l?], y,>&Рq]yh0AqK)ĝBFҍcH:-h-ǟcf)K9T127]qEjL<>h;|U +dpG +ƫ`&!8al`83>.qɂnA9 +; `HByg KB*k㰗2fF=#OM eT? +mTm_OBۊV<ɆF('n3uG~Ȯ#7Њ9[١`Ns.P..콤 'KnpF\? B>-`NWOOWBlfxW^b-_x&*/(j_=߆󑊢zF`LdE:SNʔ@S 03|TOKokto}bFz$4-,.m'j*J|)J6BP ^3ewܫpX.*,07xPڳ:2XOT21|"7=0ߴy}ĸB)H[Fs V+̯+Y(I(x&9JAI'tXmyG=X[8TK)2<TSRvxlȓGO|g/{>4/gRFȶ&A52 uЯ*B幃AuFǞѧuD)B,*?n` 'qQIzK֗4{B_g68#ʉ2.A$69!̒ub1&D3Qx" >ɏnνxVG&TۨÓ)sxd-5KxߣD&1±jdGjJ|J{Z ޲f6/vTp̄ub PmBU#gBg˷)-*E +ar>>Ƶrn[ɭF-IByѸP=ĶKUC wG D}"vN.p]]Q8uY{#qCv}sax_oyiNr( d8aw2CQ}V8UWO\g \yk@dcZt9$u +p-1z(=f) +vě92 w u煼ת#{P6+Dq3HIi%BCb!kc5&U ):X$܎[b2*@PkcӘdoTB_L1Uwi")=2#pI9,RO>T@>;bnDPuCfk^^\G~ oLRcHqܮ=-8^5Ońy*9:-\g8:T<?*C;[yX+I;lRL߭$DvYTQ6DyVmfy%/sIsmXP1Lռȭvow)QBb_LVwupeėO*|+](uHװ4WU.{ 4\m.QwR~MAiRz+%BKz?'{ k҉aa{H]sX}da~3_auQz VM\ĵv5I0LM)DŽp1:5,&4 %!$}ocޤA]R^xT◬M&/B:DwA24?cd&g]5b4a?iǐ Ĉ.OA 6vfvsd(5yTH/P=(a;zUs bWxDa)Eʼ $sgPJreY3w`cFo0|U[j5k.5J&eTor È´}I lpjC8c5J=g%Uo|L58E" +ِ[Ak]J͆VBM"{NrQihЦ@Y?6^߫ZWٯ]ذc؋hKSLj:>O ɲ.ݰQ{5mm<ٷ?^v"}ъw9O&vX7km[ ,70nΒ7|eP\I;-wgFN cIP#qWI ;NٶA)H~7i thl~~dzY Cx2>*c&mb{9f1X*L #> + V@g蒼]7n249=MK% ;,F\j 1klZi؊ΐ.|Q9а$_.!;̿lE,ɥDi}D3^a`Y5g{J=mɳy3CM'jM-iЦm n5? SJE+U~ ;q.tXd~~p*QeS%.Ћ"ưBsZ6-6[\d;^z4`;64藸ͱw;|+&AfLU3XTm)lF'l VɺgcGObbɜ9;v \CL, >B?KGCe"z -@EHILp<5'҉$>8#gL2m c1 c Fw)P+rkC qp/u8#!*g°Pa`vu@oH`"Ž:z_Q<,D>'ӅWP .`xW3|!6 +5 El[",0 e[Oz0~lUO+&xkPc|u$k.?{Qp""kr6isVa=~@W_ +.<7 +2#h?c~m'rE_xs6aG+K 14L^kUp^^_mS^dШ'>}5$:τ!E[bJx&n t(m;ZsF5uqX.ՂBqKP *l%{ٓ{'f';,TT,bhUq2Z3;}T9vwRR;GD + K*/@hUv$j!@ vyבm,W|-͢ ^ ~D_􆭍"ĉ#c禘*X/Ϝe>|XH;:)d9gƖ4aBQ4Ew,C +ۯBU#>SV$L-5gV ϯ*B#} npþtdU$Db&$^\^&Z"/˺+-}%Z:}9AYu rTlP0"~! ͚*@5K?߫Z-P=j>܈[O?)a5 +?WUsy5^(ge${Cm> "Gգ+$踿ϫ& Xw8?g,'ō="/xNM)'EFqrf CįQ9ZY$r!6m)4 V9kJ$# FьX٥Cp[ģ)CS;rFP#ImKGɺzj>>X9,ZL-jIbkȉ8˚?vtxPIO}_ay@:|Ve6ubd/e3<֭ztea'cLaM +lz&,f^_!?l2x2Xyń3D)\?ye ~4O+9$  +EVDTSؓ7X?MM!ԼuOtP Cbt;iްa@gW#@4c9.Do z2>M5i~u0 qswQ9ǸLt삟Mz)>kɝI;io"U)]$YL >$$T:gUo$UK,C`sCMAJMÄKC(g]ٮ9sUG0?L5QM%0Ol5&`Ƒ1,x'{k+mY}-Js#\d:i/NK\8HstQ#-ND).s*Zymnf\1l{(E=VGW9s:?wǟQZsC6A1ƃ6K@8OUY^`7j6@9?,yt4&}"T- +\Y&kVx녣391ٵqQ=beMq\`/nņ|2͌JkzDmͫIR4\~5NlօKɁZ]TC3l̅D3jSS)tWw$IX[wV +WTUw^PeUhWE^ؓ~Wchs sIg`wgs (5mr] B`7JfAaA3ƓG?{O[ ?xj/Z*7exXz Ά})C?`KcMՌ&)Y5J]q':]$؞]Yv x(ıH1eU>_0b?*񸨎b¤،D;Wxm]|N7U13*;.=>SÜj)CM>.eI1/QvН6Tkk+Ɯn\\FFV#Xde&~WE7"bju^I@j@bQ Wk8w_D ^z xZKA _`T}] +x}ЁM0S,rV+ KO&ƈ`;E{irf0F] w86f fm_8c3V<)r1p +hs|p!QP'Ղʛ2rӤej4Y r, r?4! Uq]f(*&umM+;1 +-c8CjL=L1TDJ7>)BH*cHY}~xI,{7WjWާʇhg_YovMKiN> QRǧ}AQj^G syJG"?txt,L>֍p_>Po$^<%}KDS4 +*S<ܖyd;éIJ~JMn>ȸcI6uɖژ䩊i77_5W2' 9t^}/8%wd0k)ͦF9kih3ShPBULzs'0$Y/L3ol|f ɪ\AW#siS-O^I+36xas @M +A hm45V-' ѵ1S+ ~*%~k˝ʉl * +lك=3_2~OgPs +Ccd[aے{<ХjA {! ߲ۓ;O'9+wEHE&JV?fiӺ j05瀶bhWZxo=ƺ 0zhK5mov (YOut;e=R*yMVn,$v:QڳE.yVl;svn,Wi.[@34SD_!MF>J柣ND @$Y~-CMu (+lBpБ^#$~2è /@̣6 3nh +;۪.3Fq3\َvZnZ"/vNFNJ2V{#ΚVse_쑮Ta8C¢!Η>FL\M{5eH~7;F AB?VY=۩Q i9J.sӿc%FVbdեiL`a)kD=W \ne>NX7Ƒ†2IYf-to7/~Uas[`W*v3_`~:kjR("E +* +e)DDIss,f_n6":hmh+]AqñQqSa9{~8|~bh6GZĠםN\h+(E30~kTMGβ1:zka'LG2>,gt X&@?e% +=@Ihs)HUOeX^m7R7~,, \jJԌfͬ8!*]JR:WR]Mɚ PZ;JN.8ɦ,[r*Α]MM"waX)Lbjd`>:?|:?u>^G$fa. +ʥ_S%ED8 J=ĕK{6r zGG Ui<Kg"^ q +I6vPWy^,uc/5@:ǹ+[N+li{P#^yv,ñ-NѳH⺣<֡gxV</nb6󴳜Ρ +nhB˾PoT(W##ĉTwZU} w-vT-9O᭺HIz) z9R'dI5aZGS˟agW=.P1ٜ y?2X)r4VaGXBe`9Q1͚@85$W?D}z2* +pt +;Br\ܕ'> -vCNeʔL-ʌqKHr 7I d<BgNelB^փRγF2AqCR&t7߄{" D9u)Cw1t}?"'[7o̩~1{>Ru* ʖdClutqf2[l~{S4>J$.nQnlP#x])By`r+wLH?VD:|iUG~ժ+&+Rb gP>}WԹkQǖ]WSkqwZ +DQdVd24KGMvU35KJ~4&jwJ*y;X߉˔O@5hw)񘴕o-9E:_̂o&6#V(ѽS-te$ פp}4%4mrnzhe4KX*KÃ29ʩ~'Ǥl|O5ÍB +;^j㛑Q`exH;J\*`l˴Khk +&tF|(8VǡܷR:ϳoG*UjSKknRgl ޅ-6&Nŗ7O4rGmO[du_TvY{ ̏Iy\aRKy&P7ݪJ)l"W5{K S_j0WSW;wixF1^lО伴^'1b%OAXhq)L7j}=9PX=n`ɗKX#CùA *7{ jWܴTByufכd=Af]F=_u*`q+_i݋\^`BaE|S&%Z a8+QgQ[IK-jIKr2Tcju=A ʧQ"7{ٮם*X|,Yzѽ}ƈf:jCo[>]x^hlhNrϳEDkcCǪ ת9c Ht<)}z!hE~DBӳ2S͆i{;ouIp??砃46ٺ^"1R<-65sjpCSjqi6dzھİ紈 41.$5EG9:=ob쾄 v#[xﯦAF+T(C@RQF772I$^a$Eq>.AEbiO0]ТK5ΫPÛG ZdJ*$d ^}E*֤>?Ƅ$dO _tl%$^7[KSECqz"$]*B]}W zT[Rk"n]EUYvFUW\B6-RB^Me2B4/wͺh4Ek5˖<1U[tD>Q!.kR涧7uJc>c +l/i^3;iڐ0sĀZnS +qW7Np:([568ViAFޜ~h9Pldüj2dO ++61--1Ewv =JCHW34܏&x8,&#Rc3Dvz6RSyu_N/nmكvT֥Y˼?RFװKzn9Q4gC^5l`P\ܲG&ޫ` 9PҞٲXr6 +V4,{a؄\tcY`]lǿԾar鴯؏=b!&Yb ^[\aYt$w +[R)i[{$7f"o Xp +zBz'hO|Ō4ǐ|-j +:}̴a%Tv5Y9QK d0 ?$ćH|#uD3 phrd@,@XmVKY@ou([8#!OM~.7SoJn%OG" +Ü3N|/'O-R_1Vh&׺ NPz8de 勊ZTH;XQ6}+'h_|ȋCcuHjBA,NOS{3 L`]1> A rxӴ*E^.ؐ`Q5 v{`=W6뼟\9avGOXc& v1w~0W:ʎ~f: 0/˵%m KRKAcR% P#CSߥfmD5oEx17B0<&Yd8"1wܡ5 TaaJ3p57A>+yIMcu Zd?Bk1x-rsV9sH6p]DGgO| y5S$aE`$Ls +[Ym ~u8p`6*I ߕ`S88sn9O3nXOE /7f^lbN[PBFO.9Z_.5>F S̉R'}ΪѬ`_dX|{dHXԾ3QlZe7PRqشO5OkZrx5u`aǂ:*`T), +DPQʮdߓJRk=H+ +*#u)h) )B6s9߹瞏HZGzGT"93hDͺ sr|b4y $TK "$I~$v(B#].qi?CN ~ޱ|ܷLcOnT~vxj̦5<.f\K<2p:CpSy,66>|zC +E +T)f/:X1}J+>_~Q;^ㆪvs&۸>.k7yZS:˩㜍rݖۜaKa!l.g57Kv0!;ڗfe %]"XT J3aժlwVj=v姠αe=bI/gH& :g,(y 27>aba88fVVqɌT0NɉB`( _"fo! t}Wg_0}HX 9,Qx=~Jٹx>ӱe9M2mFS)Vk-eZFF٥btg0O?Dǐ%7eyښ6WSCyeUS}l`a8i g"1лJ"|PKڝc,$+&PvꖴGBoj_t4I vqf熚(eC!b׼^SbYi1¨;2W`/7uh?4 +!z@#(T 6 ^!R S#>E/Sq9z_ /G%ӈ0C9[ۼ@(٩P ,}XTOkpQȫUG6 x2e,> -?ϭQެYz/T5FL^`tީ3\#̬D:,vw[mDW)TBZ`0Ֆ`3tBQ˟kks41y `\޸cV#z`XHhwA0چFTyqӵܫ*F˪%*/>9 +gS'"b'zL=N)cs*bR)W<#S 癛)K +&L\9WtW!Y17i*%wJ_ 閥nWJ!p-0T`:K6B+SzlL,~J#ZLHBEe߈Eq1 +ڸTD}bB;*OTCnՍl$OYQ0mz7o9NŻ|hDV[Ve֩b7YZÖHl~I)ܻJ5oOݑ%(,hZGҼmRd!/NEWutV57z;jjs^^lDǾ0-a_aL؁w44簍b^ppi&nX uƻ-݂ -cY4_g ?jGIfH %J҂[%ϩC6OzvWzoZtA$?z;ؼFT2/+0@@S<@>0bSuqw;j4S'/4sEթ(P[V^5ƊHkg/ۄw 0*֭ ajyB5TC J(_F4!m, RN ?S9 :״OfOV"յڇ1,V)S@._ +#Q`K|ͨ%cj/&\: [Ft^Z"q٤Jm뙊jMarח`VCg +w"~>< 8i}XT8dzQVY<p%HG/Û`rq;Nm~Ms\/Zh:(MXа^F.꜋.Ys}5`a((X0T+JS 4&~|iB!! !)$)ʰ WFY]E븎3x,˽}|dc +|i-0Ws +Q_GpRjy0׿tjT̎ԍD1څڍ›N:ka? 7ek_%]a;זF=9-b= &Mm0-vD'^j+/5(er^+EL F1$1KWE|fOFMKm::1`ڥfXЩM*i9 +l?+Lw?-Nx͈wɳ\C0瑃f sM;iđ`$O0z*RٹB9@"k5v~.lB?ug]ed8JAj͹um.DO^^v:y;ske+,L¶vŝҼخd_5Z;q#k> MU\J{l*͟ґ3Doy"UDcu#H)BPit/ v`_Sʝ{e5mpPpy=-2[m+v6*.WۿSǔ] +^DMk,2.#ɲ\!{^I4Ԉ.~çlDcBU\b"c jvJG|H`_2rHѥ tHHBaG :Bf{'9 +[jaЧe +&hz6Fdy?>gۑx&l$^:^nx-'-]O 5@S Uڏy]Tu _,zWPT|BJ,ɕ}`8ߴy?p7gˢu\JO(_vOUue4+Qbi?A.jCxyRJ駥Pt㸲rTfdd$ֺFR>PaL'v2M*׵T]`W*cD*hAe#"ɆKO9JKL2J( KgK3jԉfZnL5oM(_>FOӹGi}<@w#Ndhoo4Y ̾Fٸ2YAz$W֜5Copli\ 32l;a<;S?B>zprjsm1tZc̥{s/J{c*#3ހfϡneh->Bc9SJ"չO8'8ހ `yHϤu-*` x[c')Oy\x!QS9q*;$;d'=NY ,|ܶ34qT=ka%hs䬺UX7Fl[ o1apuxf9QGk4;e +˸7荇5xB:yZdͫ,`2?_a[0~9iY Fs3g Ë9u<,yx87 1Ja,O@/gO㔛94 |.]16'^@1'p:XtwL,jVQv@wl{έ̱\?R^UV\GI+9D03oyd[R<""" +.2}"!<4tH~(-r25DH@l"K濣,/S}"+~wF}V dRz,:w&?C~FqJ}JݢJirjzEgU#p]ZF%+[PjewVjlW7wR/*C%%jGx @EFH)&0_Օ|Xu +DRNXA\0JSH307͛73 CWc+U#r# aQOL4Eљ?s~{sIy?y>ҒLָKd-ޣJ1v*fH 6hz+~BO:IQqZUՍP[UD#BM >$ z|?^!J0W8N WzXfщ@'h< +%sdR۔e[$z,Z2H5[&Ht L UO 췯+52j&P6uRɮ! +a+rk!o4 `ܗP)f%VQTF(Z]s,TR|O)O?ho# ]6yл)OU,F٠E})gsٴGyҘp/kw~˖I'Y;TdgYU'I8@F* 8 $I+A2((+y8OϋWȗE {բbW"@}@C׌teYgvֈHofE`eagbN_4!/e%O;mhtWv6[iyFy4ʔat V] au #QYm3rM/q{~tjD 7fiɷ  . =[n`4qShBrx_5wԐ %nQ~x'G[ `+qb]Q2Ըi=UGn~ڋJ(Aݪd E7Kz +M]!} jnh-Cզ_魺a٭Dfrj6$-4nUZF)Zpux'@]U/ٳۿ3Ug`iU}ڰULWu+SU[;uXJPvOŀ{$KF,qQruH.}imfZh~atMBb0*iWC䶧jZmn[nKfi c+.&oV.&ʭ{5_s9dmIA. *s5: 1Ů m!|fl'6#N +Z>\oMkCZ8)*bEE@(27{I" $!0a=+vUZŁ`-xEJUǺ +~~7TSsV6i1=2J眆Jh@ Uu;7!0 +߽\醮%-;=.e/T7D$v{.ʫ|ZѮmcDֲ+-Cu_{>1H1]"D^nR ٺ:E3[h9 7TJOW+3 vœLimc @6'[c`Ǧ8v!bR{1_ӵuoPE2\@;4"mO m{ ߺE1dA}C=WB}[3']\PJG5VmnYG Xyahd'J[U~ vWۅWo]WnGnR9H7ѨAu 1vZm]lUrTVA +sj6lhm,My4A*0vJR? Ĵ>2C!*#q0MJ!:ŏCR|dFa?2݂ch3dBzSIt?%LmF[AxYGҏ0m;GY1űh%[sጒ@9 q_8G>r Wn)jodEzC.qJviN&If8bg + v|sd%:uTf&L0~p.(RU +; _)w%$/ t# +~#u`u[w.qsY_-*'̳ɩk/)2* i9$7fUzflc9}],툏WYCIkS-ty7>T! 26Kݲ m&cӣh' ..+upC6&@j5tdP0=I˂Ė +C{޶$tR:(ϭuOR4$=jluq1?פ9Si|cqF!_z^SK}`d%DT wV>;<'V=(5H%jWMV#9YD2֓p~~J }D]gNSsjJmn->,vg&SLl#>^i8ʞ%4'RJDhRN0hBA0(r0K+aMY|"EGE_R^v4/?m[˨yN`K/5[71[Gؒ' '铯RGhqꭁ]>iIX +5'\GB ćd^ux+[^%e ֪pxE + 6%!Itި@Ҿ#% :*h$r7שׁ55׈Ց'I+6*ЮwȰ%U#zD+Jt BaUؕ 6}uOr7dP Cu}FEua7RV"KST20 EN{^lkƕ$vW(,F7b ˢÞOy<"_).kh[n 9W?gڈ7yș*ӼuA@ OpIRrP($e[iVYR +n#(aFq&mq3%\g?%ӆM5XD3b$ʁW ƿ5&͔D4®KcᏊ . +1Zo +^`~¿`6z q aXǰ)Ӽ܄'84 n"Db.yC<K d},{*h +ڸh>wMv^ c8Iƻ(~j? +eoyl/Dl5Żרpy1ܣܵ^004{ .%CA22dWuQ>okL<5.ſȠiffh7S-|^TjX[wCY*sG^1Ve֗+˃L3 /2y{+.;CtJ } ->٫y6q< WxA_PZ? Q y1>yK\.!OqM +0Cl];Sk)=RZ@[ɷ5JBeǐ$Ni"0 -úR4H~9.☫|Dϸah-)r~"eoMK%4 _7"‘e +QD~0T.>"x*O>酧.Ey+HVy55RWsEk*PxEGB;(J X(8hiqmh^ 0`}_APWDLZ‹]<4zG֦`oyZR|u^gCF#nr)Va5ƪw9njyIt +xI1bIy>}-AگOShKFx6xqqQ +3SU\ka椚̩Di~ ?{>J3mtߐZt]YNju]ɒQYlZZsNѴѷW>Sݥ0Bj+7q҄fU7m :8^;#eտ+*,_CY3MSU*LX.jQȖg_IWJ5a"9R'C\y׳qH)VU-Z.\+Ѥ/aen/|F[?SPkr" +^Y>VH9 &yaIxQfd}+] +U.o.=q-y][viRgk*`/pLBu+A@[)&PYQ?im/K,Y*gu(i2`؀V"fJSs=RU@7+>dْsmY)w=U?ο3D qjv83׽} 1r@vy:{Eͩԡ.޸,珈~CH{ksv_l毁@"lOR."0Fl]]C˧Mfi nq˶Q{56ef e l[IuY_(i&;to 5kZ/ jjp~Ch⨿䦿iRs!G-֠5 +&wa7WAƫXUr8+}E)oVӃIÌ}qZlh<gw +A?=$6-ޡ|,)!<*ǘ*z!8߀ϸuPpD|Ŝe=sm4'ҢؽYaPOZ(vj?VGgxI=V-̹uMCJH_-C]B~2A\8*E8PTΔTo 9/whaߣby\'F,Ռo%wU/ժnM*T Ƌ{5NJԢT9L;y _fXD\uַA:x")V%V/*]1# )ԋ@X"SVӅ4u.f?Uչk%Nj;c~?]Pۺ˄WҌ=V듍1 +E ֻqd{q׉; +NYHdfttc #&vPtQjd1o ­R)ʽ@}<7 &8wyybH04͂@>o` ~M`Oi#T2"-!NSn\ z$SC%Q%;OzcT)!M.wf.Po1U=Bl1F#F0HD\u̞rڜ*ujQO5u8E$7:"І(UuANgulWYE*Z"cT\kTxlx)$8(YBIY`[}.Bb T$=U8Oŧ yP-x$]0_ +j(sOH|/=wKR` ptl>f*ӡuU<=Ts(&zpKA?sLo`N0Mq+~*m-~F7^5惬H]${|-Ҷ9Y&=X'Vu+^ϖEm +Y/0X cAdPc_X VRx6b|C6^FeC]o-F?f7Q3V>͝yFsy]ݯMF͊k^NնI#FZ.7ƆQfeϫCJn;AjB JFw +mԗ6t(I5beElXQ͌ i,)6QS 1zJezVBf ۹ʹ/ HQ89SnE%o-4NJ``,)~utyQN]vحp+e"xN6y*,7$'x\CQL[8.d@}CɏE)1D?@晹b$?7 + YM N| _Td'wa}0Z<9|3閗3~o=Y>l0Wb=P1jmE XR[louv:.C=;.a.BřS[nWJ3ǟN1='\Xr8۲:KXj6e g΀ap%z"K1.c1ɇzɭGTRiVBe-)K@iͬ!u@_`&2q up%P +SЧ|NWP !o-t_ nyV|ؤ賐e`HʏE=>\Tǀ|cҎkIST!%Gu,%[IR'+#T}m3\/df)`n2#\M(CQd6flqGv첵).Z&wITe{JQܕQE\m`p`Ҵ\z[v7OVo9ݜQ}$SSFMWdnyuя: *o[3 O FRJ0ոl+L+&oE+d- +@?^fEkoo\fyJ8zΰXmi  -Nw}OYpz&@>gݪHc. ]7Mz#fe"g\a@\qyºJc\3ܔ r'WQVE D|PLs\h_h#9Z-TdL>˼!WS/bniA3.1Fx@Ǡ3UNN^nPOZdtvWO&-8ךshveSȉ`wPU_cař=շ}m`<<$+UV66do88{ηzkG}ڻ<<7\jvg!5M!w&GmpfSgO3x? +wZsLRq/~lK]QV:om<Q' R]AMXyu ^ȩ $}! 9LHaH8hʡrTtD-*fY]]wuu[bgg޼ߛ"ȹ I7HR7HBHudt *Ჲ=eJtj| #TI/W?{ΝO^'`v'$^E=7ITF2˵7-^'Z"[x ;[U7,QyWrr9E6cy'I gIRm2ZQ +{0K,^H/>>G@l`T=FZnZH ѳ$m¯鵩KA3D;w7ŏw^J<`i$M_x8wU-,/h!pbP1|*k _U;N45jX_:]$ %ͫX+é Miwzz{7`fOE5FohX}fL}k%Jq_b_A54WK'h?:lTHmm. m&"X7rV7l̨b]r+ OpK[{0EuwrfӵFajCCPktMݻVw[FR(Y-VE8 P?)p>͛5 #TtF%3 qhk ;`LVOpZۓ. j&\Cʡ <*g!r)J;ȁ&xK0N\B&Գ$bԍ7fpt(0H23ӲG1d?ź +bVֆ|\[w+tjj?b7hwJCmm#b.^VBDRb8E]4J 7LGc.Xd/a&ڎ @顢zQuֈ4Tqi˽èb˕ 43~,ymoθ[0 +l} TCuLBt 2ZW>Eh@+[Řy0= +sU"r];û](̏{e E=ma^2'FKv~.Оm0Oj(esߺ Pk*!3IBЦs4{^|{6k\* }XYǠD=A %$hǹWǂORV UBꯪr+Ca6 Kԣe :Zڿu6&?W&k).]%],lb7MX][H"}WL)RIrfr?AƁY&I~_IB${XlZXE&|w#؆`_vߢfu3fm89?9 +̟NՎ`jz1*.@爎܋`oْJ_+-4α6@/DWEjE}HRDl;Y+ z/1Dѓ(z)oι&;.4aZ#gsbZ+XWi;<~n"( M'b6!G lP<^\nM8--aG+dyXP^s:0q \p3bWu.,R&rm#қs)lej(^ ,=/FV6fj;ex%Dk%!FW@ao2QTvs 5h0B{UHiGCOzL'pbIq+'_1Lv +QA%$[H~}{1fKٲ:HmWS +ëd}2w7 j< O7i2G;SWݒ!@YsZ~*PƐ6xQܡ/9i7cGHVf3R>K2jZxH"Z")vHD} @} YJ64T(P_(*C]miSJqOZgA(ny8}wν37;?߇*x"D6HaeZ +5K e +tE=H\ƒW8 72ym]Ly 1N<8͍@:> >6pӹ$.7$C$pA)hJewT*FmKg-lm*{{v\ܲsJa>3_*ݑہ>V5|WG_>RR_YL!RFjz S5fځO2< `}I\:XiZkRH*4[(xX$u|I9̺TkVzl_׼gC%*wXR nY)N.9+wZ[E9ľWJ%wp`Nj[.b|JOsdW,R~#* ĽyFdwCp*L(8OelL˞)A vfFʹ.Knd~A򥾺]Di(i]YʯJߟ?>w[侾7KK6w"!eDp5V* 3VEa{:KoEDcɾJ#oOU44lTjFk,>{S?ýSk>Su=|j}T +SU.nk.mcŮ)RxbT<TV*yÙ<+`RC;S^0-itp<ȗ2IZ_0ȡVVKHWol9=fd jb%}DCy{sI*{ZL1r`n}+D_*Uz3}i779_kjxL+u ;FxL.mmQ`sKzK#>&ޗxiBV^\s3_XX_رC+ҭj|S kϽ|j|[X +ΆBL.?\DCqߢ7nO(M&JOiݖw0IJLM,NCOYPoQRSTUVX Y#Z:[Q\f]x^_`abcdfgh#i3jBkRl^mgnqozpqrstuvwxyz{|}~ˀɁǂф{pdXL@3& ֜ȝ|jWE3 תū}kYG6$ڷȸ~kYG5"ŵƣǑ~lYD.оѧҐyaI1ڲۘ}bG,{W3qHvU3sIa)\ Z, +     !"#$%&'()*+,-./0123456789:;~<|=|>|?}@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdeefghijklmnopqrstuvwxyz{|z}o~dXMA5)ۈʉq`N=, +ٖɗmZH6%ؤʥwog`ZTOLIFEDEFHJNRW]cjr{ĄŊƐǖȝɥʭ˶̿*7DQ^kyކߔ ,8CNYcjnoldVD/h 2 +R e r xzzzyuph^RE7)4=@?:4 ,!#"#$$%&'()*+,-./|0p1d2Y3M4A566+7!89 ::;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{||}v~oiaZQH>5+! ؎͏Ðxpjc^YURPOOPRUY_fnx̰߱ 8Ql»!Ceª9^ɂʦ2TtҔӲ6Lat݇ޘߧoX\[VL=*b/fMq T + p_L7! }tfUA, !"#$%z&d'N(9)%**+,-./01y2g3U4D526"7889:;<=>?@}AoBbCUDIE~% ہ‚rW; ϊ}bG-ޒēx`G/Ԝq_O?0"۬խЮ˯ǰı²µŶȷ͸ӹۺ 0@RfzƏǦȾ *GcЀџҿ'LsٛFsM6+1MZ:{OX͙~ʹ~y~eL~j~Qc=9~|4~cl@~]̳~nf~C~لOiZ/gP8v}6q}0}>ϲ:}i^},~ ׉_LpK-~~,*~&E()D9vyowy=TS3wI!D)J%OBvwN64;>FVWm +S^Di*bPkpة?%"1#!ϼK`L<n-e2*+) X䥂C@v2l Q?(=0q MzǃIz7MEY; Y@K (-\U&>rI^2IMe;Ya"VN,S;o_%sD;fƎ.R?l ;0Dq>8zDKG)3o+&<4@n͗0EO94#ҐnW9 b_7}B2yːv/ąJH삻Ȧp$ȫވy;Æǘfo虔F¨LsI,KhW2!AjHE^τ _wdlXggΩr!jU)[%B\DCfp <_\?k,.wȲirJRݐ=>0+cvZ{HllLVAc۠ ^{6oCҏSمbȏ:sz 7jP@Q;[wg|z30Uq`!P-~|X3+z2lIђ:_p-FOJ*Yr(".O'qäfrCRJ'dc~h!€?`}WzBd;hѲGϲmT SAij9< +ߨ%@`8xLTqė=,Mk $hJdx_r̰gʱhtG,KytomVK0X?R=Џ ]ٛa`sʠ7g&Grŀ?>r&z`b>&z%sxbw&{~څ]"WR%c"zD zA rs!֝=jcf]rmANJl$ے#ؑ >wTfGFF699<׵.'SZ*˺#-Jl.ZZx%m*| o 2ӝ_TWK4eRsu33'jRFBWl| +Fgml0L1, y+Hu2f;[T0BE{:qntoT]okI, + LgV_R:Kϋ0dP?= vE̷փ(M4m\Tk׉o,H=Zw/EI-LQ[ 8F/g֖'$?[u~fghXjݚ- VImKՀ,%ibQ*e97WKMYiHtXTBUDw-49#iԗ/r]hGވ/ + +lD2 h‘%TTT*Fdw">GY?"[f r5ʊ4`TAo4H5rWS8Xy;$Yr'q vUPV&4m/5LJE:S7Hvy.. kPXAl` +,e: E$@BKr.!{A$A,CY[EA;| TJkU>41aƜdcT.Us R&BchR) + Pd;ʟHbl?1;_:i^mMh9Ӝ+,x+(‡j3=P6u>a}&b (0=.À<2&m%u9_~zL!S`(6͟>թVlW䨸m5ypg!2< PR%wC>ubvbF.0UK$K;؂P,!rA5%\v" +[2gwdxJ:_'Eښ_+^Cژ I! v,V72UJLNITUKɎIy/R+=+(֨v6!M @PB%R--3|4-)#ͯ w.ܘ<;b#;*>$eG +>3"و~AZ$xOUx f𜓜x;٥Q h X(Zx=`dš 8b†id, ϐ!enZ +b /޲І2P0~ +1baktT ?g)˧9 С`.ޓ`>'4\DRdPaxԗ?i|9,t Ĵq]"m-9OD'Ex>#Bz6Nk%tm6BDzVQGq,2O: y{iHcy[]vaZT5 ȨR 345N@qG!fYXr{3^M7HX1ey87ҙ;NP9tn/D=}*I:2s̋%G{7abTBm6ۺ4JZmI׶Fהz\FD*rEyք ̣V-8ˉi#7XmZLW:2 +$Iⷱd`U+z3 8"}Y\E^\Qܵ)<&uZ!FM)V"ڟ}&à/ ď 5 O546PW눤0 fGlEbdc 'ƪrӬ[{K("M/y%0=zFBx}{w6{Y50%,40R}ԓvTp>K@fR$7HU( /10f<,1BS>٨RI3#&&pa5j19#yTH9cI[էjU̟~? +7NzM`k|-kqJ}(Ҙ2SaӼGi ; b:`uǤayU}T 2Ftm̔%OpuDU0m~L-_:qWg0~huw-] NVrP =<]x;Y1iw@8,n\(zqb !$zB&5dn61Q& & CuЎy#c%$7]w'z\0Lk{8 ;fGS Fx¬P~Km%t3MccM(bCB$ _ J,@՜ %ӸZ;.6B)PT~~:_tHNITScΤ5_3bO6-[o 7$cn:zNqnE2~7\NT' "[fTT^2F&+c5r~ԕ(jl 48mWDC]X#<n_ T 45 C0 V~ m&AGA7w@w;Q8Q ?d9#1yʕq_eS]y|d*&6Q30J(WG>HN vAg+[o:y1ډGmUV'pJ{"M@3X|*oƙޞ%sfJ<ߔ[-0R'G i++qNPF\&XT~ykPx>–~u2LX'P MOW rة Z?qU\+w>-q}y/sRQQJ@737Ka[t̷E8X,Tp!PVK$`Κ׵bu~*LlBz-f{i8DbMp/ŲF_<`w[Uq. Y!'i7L' Rz$v]c-ީ%HY~ٕ 鞀ws{)Wa˹ԑ`{[z ϡZ& z +- U@uBP.8jz B{GtϤ1ޕq# ^o2N*`DZm錞c@QY@Oy`ŕ^ )H??s %J@f-H%{#}řPKn@u5w:=YX9(5#p 9#Av(~-"]Qb'䠡ya +'£ +vO@%7_*Z-r*~z Ց4!wBpG-q.a+c"wmqk=WfB +k^0>npu5㞃= m]0o-1:ǒ~%ui;pVO/a3;0oKܼL6Ed@ZU%{ ^ ͰyOVNHLmu?uMBEQ1\IُOui@L7Nk\dd[i|lRܰ3"rW^  +19~(VZQjsfb5~Nl, $LAE \Yv3k"*Ie.gj4uDk"*T~~g^ ~<|1cPx7kF84K(/AI\%HG;'6`kK +ZJAFqKq$5GT#.a;1 p't.t-SSUn;QY(sў*M8= +BHZ# GcDS{d',Utl=,}*vcr+](_1rØ@?A[KDlv'”o>=ԏ[?Q ôn!ܘeoiB]u3PzP'ߧ%44Qw L7@?;gSVjgohop7syR\7V%xL| 3n|2Q|-GotuV֘Gk}fd'̐yQ/;^+b#&~ي2(ɚpTֆ)$Dru:5zj,|~0T\~>*,6Y +]7E9!7;au*8Y?Ң#WfiA~\mB\$OwDhE16:_JqBR%*X3 !O:`Iok2+}Y'1%Y GPMJ{rK w_ L&N NyA'ճmﺾo4gz"v;L je %Ɯ{NS6U'*@djNcvo^=Bi 795l€Aⶫ627ICkyV_}B.I=YR2U^c~o\Ƙa3Ƹ2@eU*Tlmcӱ~ xnNU)o`Iχa]PFŚVTC&ϣ࿋Y=d]/..FBXs+$=}buM>RWm6Ŗ6ᢐFX 5x{v*j;zv<_~AVUJϐ^IjQxシuQo=lK_ՑEkZ\4sqU7vOa J?Q)4C^\k[{3y~M|J'g4Ay,$0( jHl:Q"V҉1X&e s)MZ(W |Ϲ\88&tcpҔa͔ CC GU$^fb|8u̸&A֍9ke7;㥦koAvՏ0o5y'M3q"y$[Y@SgÓ=ݎP1)L \!B;U!)/C$N$A³ueuU},3Y'/Jc .8_[ON-<"NawGm_+yj~P]ſ^\y X,r-|㒒ܳ<L^T},^eDR,nkqց%|r,!gJx=~p{"\eeEN;Þ=${q@Q_\?/иLe>u#Mp'Yn_e<q㼅Ra8pLB=(YK[l`BKB#4;c;HS^OA>Ʉx\+0lkOԼ`Fcfup.wlCnKJIi]&fXPAn1کFTKBoI!ӮZ f)~Xhy9 ݨOC5&|T2ӲnSLB5eD0:yP;(w9mΪnWhKu{`wk +kH>*ڲ1 wp5Q݌$;LvvJ1f3n*Tg@oO#9|}?V0M5.ۀz{" NK?C_$ P&B̆e>(qIu`|ob|_0l2WꂝsCܴLTIa?f(/+PIwB WhgšH EiŮ(G6 +"  +"(H2̙dfr $xZEP>ţC~EF:}< \{ +% rH6N$(߫Nᷘ_%1]2:$o-8ȥ I-qt;'kTjJW^}kfQUr\ulNkHn᫂H*Wd6M2 *{`V%VRoJJ`+"yO|s86Vy8 :+;9ɨ=.qqѝ=ɥ^ӏwldG;fH^2`zBȳ ŞO*{M2MoR0i:T~%$9ED~cj<}${.-+P]c=Vzpwz\S;!?C:GFIױqYŞ ݇>;]mS)yrEz_n˕aI"l|sGvmߵ_7e]֭>ГU)i:D΂G}V W5*{f? +($p\)9D$ZYr|(4D܁OHʳ ;ܫv۱jxLr_r ;Wi nV|Rudܦ;@YNl-QnJȲc/14C:'K&̕BOJ{ߴzfsW|F-q2 ?}Y[pXdY<\v+M{ir8~LJޯ vlL: ?@o[g`}>?UrǛI2Lk.}GpI8QRV%܂L0/PUE ?ɹTcۼfHs^QMC!)$ ; ej uIy W6#LMi9ĦͱP*HʘFg]mߝn+|X$Z6K'OQJq m(B~ljSuZ ťbhWP"z@UVJ΂\,<\HA 5Oaf΍C75O Uݮx7F>QL~:ʥ#][eTS2%c Æ~EWg9i%3W4ފ:}޼0_X|-ƣµVu8H{YF"qĔ-F95E!L/3zLw@"FRmOQ&[#ZO/xˤr~9T00bܬ 4Pߋb>_nMFY%MOaN$ʡ˖~ &($~>tBM%^i3ϐEf8UB '`-icIaͨ+ دR=ZȾŁ=5U#5HR>njky/s6H؃E oLyCG/?QE%FvMMz)=ZB.ϡƋ/•3O85&YKլ(ST eҝZVx'xaV4Ë*H]z~h~ i0d,K8CZy{jCF')b|xNJ>V{0e#|SE1b狛*_R"37Boξ(p3_<ݥ%-tɫBetƓpx HuRuɵ)H?mf@Iz͂qrgM_D|Ce +ӯ_wCՄYK/Ԩ 佨/Y0y̸7.]*ѳa !d[m9#{-;W[ U$mb?ci3ؘsq6ĂT t֠} dlv{Fyt/ټt̰KQ8 N"4ʻc'׸Ns6I ][#?wsb,4U_ f)Eď* uä6Go76ɵ{'CGa+RUA=@5_rgs1OUG*ʚO&Q͡4%nlc=%Z vY Zeਝ4? eC` _wvĦ10KB/*Brv4όwM 0r `$CܝGa6;g-N_&ɰ.` `0M/s\PMf`p3 $A7 i c(y jӍ 5!UiMSD-rBFL&^:OF-T4w T3c q]2Rd/3U\;?Up=@b +TYRJ3O)*+sWu.[L6ǼA. 귒hoN_=C|HW Gz}w\2h{?Ur_ס,[<4DmD〷C/Fl Mr_򑹾g"P\TMIiDw$=` IӐ }6.jYx^h}]"]l +8"ӽ΃ǐL"Hڝk:^֖Tm.^@1~qxTlU#U75:LE|4&W25exz*̖̆;M0do^lpmaIS7kD#'͊$"lL?bADINmEh 8Ԍ*"vұE݌5Z5 `z~x[MN&a|b(ǁ$ch |cq)M_Ɔw>bSО$  Dpz!G@o3a]PnN2);K4 U"p+q 7bLay$04iCc9(6>E3a{ R䏡0`?s07y9'`Lq`ScLr&MP.ڽ,_ru/F=܏=1ltŜ 9>1lם +KX_t+ =#ثL +uuWK̹ u)F@jR_$YuBśGbQl+$,o8qlg!) n2QήU>Ytw(^'Y! %GU9, &>YcwU Mj"Zo6VWF9=al mynqA/2AI̐i +qAN?!9NxlbO{eiYQ̶>SZ .&sbj?1_ǡPkٟx`дY!n6fVJ?ffon06l)7BuyMAѢ&m>>Nj#4J%&|E]ۊ:i2g0io*6zXh +҂3;1"2ҍ+O?KjaY|nMHpA/LsI5cu*ΐDx!W {|mpq%qehrYbBt M7uA- +w%5,x+ z!Ί}|%wpȩxeXx|Yy$M}yAz5{+=}5"6~{άq~p^Q~Md~*XŸ~,LU~S@~5 ~+f2T"P{pUIpf P[AE;Z1ٓ0U)Fj"0΂op~7f ![BPY_EE;T\1撠C)k"djpmfr=[M,1P\ǑES;`Ћ1')}"Ρmfni=pkqr^mtolVurX wtDyw'0|Yz>̾jqźjlr`ntpu0rnvgkbtgwWIv~yCtxz0b{x|bh|~j|l|^n|~pp|j\s}AVtu[}Bw}0z~l;fׇ i +9kDmh5})oviNqꂿUtXBEv=/yVǧeP{qgi卞|l{nohLp(TsuSAv@Z/ryX_dִ2f}}hƖMk/zmtLgdojT3rxAKuI/8xσ[c&5e[}gܞrQj.xylfoDSr d@u/x\ębp vdܫg%iwy3kyenbSq@to.wUad`RfWh-xkkemn)Rq\@?t@.wZtf4uhvjxxm0xyosekz.qR|{itP?|w-~zK'rp{sqԜu#svFtgwwtudxw*Qz%x?E{zb-}|Xpzr'zssj{@(t{vxv|cwy|Qy +}>z}-R|~H(oYpq݃^s=uPt;bvSPPx <>Ay-|0m{opzrt?s^auQOw+T=y>,{¹luSmoou{psGrlatqOvk?=txj,{ @k mܖnlprxqؔM`WsNuȌ=&x,zj׫4lgmomqq0_s*9N uI_|2so|u]}@vLO}xT;"~z-*|Ly(x*yyr z$y gWTaˢĮkTd@D\dPPp-HG&]30;sCg( 1DE*n6ܵaz*&>P3ĸg| ,X񦁓`S$>BG DǕu#i#܌-`xJ!wم:(`[HWeQ2UFD`|:Cd2~TvkdEeUb2̽p ʠ~[@QdF!7H$ #dLt!BOK*G-iCrB.UlmO> ,B2W<+367ߛ@ )۠&KO 0ޏO igm82=D 4FB[!AIb4~Z *fz\OtF&ӝN&3xF[Hjz&3n14bM zB! |+ +/hw{V\lsTjg?қ۟u 깮D}û.5ʺ(wM ұ=Ljeo(u\ yPXƢ8p2232"uh0 ;(3-ybݷ3WdsF@w ,8#!H*9)iF^ +P7Dg3I33D_)JQNdOm2ta':=J.۱ +s`d+uu- ǵiȵ\L +kw/i&G1|91:H^gW@-Eif?QF?/KvřMkz݈uN0:ӎ3BJ]PU@׊VVzDPC9>RTl{=EY^ScyjN96b~mwj[ Zl'd}[YގM:tU9WI-#d=sѣS IKuƷ6i/JO{s{c@6oPU,'9cV~M6IQ1WwoT+mlF0\Od?oi4M4MC%HfM[r0p[p|R’/Ld/_c8]׍ YpFKM(Ewo@jjI0/kad[H>|/ѓL |00SVRׂV2Cæav4x,'L82'7&n&CĿf]9-f]i{Ta4EeNٟή"V_ǔ3tf65ҷ, jP6Ex)ͻUSu@6M6dFVSˬGŦwƠuy@>.TȆVOdj?#驺sycA)w,zl<ـB*7ij,\P#;}}~r4fxO"ZhNMBe@(78,iA#FaN}qǖ*lf Zۋ M2HB-7߅,yY#p9|qeےNYƐ*M}"A튘6؈U,ۅ#||(qW,esY!MANJje6Ç,}#5tPcjOf=_`rhTkHm=op2s(Hv "zbtu5k#jl_-$nnSjpDHrB=tytn2ݑOv)yL |triIs ^ٟtSuSHt#v=_.x02y)B{! +}~st(o.w]^`cCcHlVf+;t)i0aldOȯ>tsw[-wnw\-_AMb0ke#SsShA!a7kO|o>#r -v0[Dn^aaShdL%rg{`j哟On-=rfv-vm3Zp]­ `܄cr f؝C` jRNnb=q-vBw~o`^q&ccrfBti quk_wInN1yq<{u8,-}pymjynlpptnRrp/qsr_;utMwv2>@?nC)HKс#Eu$%`^>[ +(?`~^x0_+OËv&"YD>s5x']~-if~>NF" P^OG# ǖ0<7ӆ7 :sXL!kݱrx{6Rt"+@q*7k1U誘Y}(~\H`J䞂\ +52[{F;Onݦ *C{2Hpuw0D(MHOB$vKѻX{'V' 5c + +sh]T4I DGãTD(2BNlz9eB_ ݫ.#JUbGɰ Pc36߅!3?o/˼ 4Ta1l-vKWZApɾ<>\Щހka8Z5$GdW#{{ߢ! e8l&Vlu4ʚ@ԸQWJ"쎛)9(6gf y'1?JL)b쭢l]4LkۘPpuﲹ)nCA Ŷ+2dEH'Hm&Y3uѷkѽӭ1n]_Z<ڮRvӛpjm9G݂#j}dA-uڠ +0\C"dhK>مٸ:IFq\BVhF'$[I&3BtK\ D'`;I ["%#N\I +|?a8+ş3"-Aש_ZZKO%u6`X{cͯw1 $+OM{'E],jz6+~ Qk a=_/E qbVk&S7fg\"&]KOÑ: %ijeB>%j:l=T1e~/ߪg I0^YV)<^ϑ% +զՏQS-WGpaθD8ߠ9D֑ՃXM' +UJ]I"mteuuE)-3`Ҍ SoO6Ju@$ZZǚ;oam>݄92)@m{>-V|WU>r$Ӳ]qّ¸zEYuɔ>GT@蚩\'}њG9mp.d.@L4c&,r;b ӂdlt3ݦ]Q<b-w Nk k bK%H@ j"W4sf|Aa{8c%J@bW\E':Ehsř=}9fǹTW !3ߔ% פԘ]YzĀ&XIkWdPيb]9gbIi $ O1wu_)xS$P)m/UI .mpsf5Uwl}oyh 4;=DUIKSDSjj:?2*w0P4o+G4O6jeu HW)ϛ=ݮȆs51 okaIӽ֒Wo0%>#}?V5N_r}%7 +Լ{!`D}K_4 +!Q\HҽzȔHN>uA-^Ჰbg%+k58W #wi+q0khcuTT[`5Z[`J &-v**cs0:-7o3G(Z!d  z Q}vx'E}aQ#*'viƷ|'in˵Y;eR{E1vikYT24o/;K |O c +Rr_T'UtKyγzaL= zs#k)|OĀ܇:axim&&^cŽoIѓ` +W82K/ױϬ˽^ipuO:JD:WtG<8YJ] + ՄyiZP-|xm4rQe`dZH ;4SX1̚`wpu>7 H2%Cd>zES?+&e{\Q>+) ^T9ZPFV+@l@ A B +r3L2$$x *,^-ڷ[]<**RInpdk ŻΫ :C>KXi<_TTՖqcs.JmZEŒ:^΄hsVIbm8tSX&^ a*Ɋn^m=A2s^mICca|k`K{"Y١:nf,ڱW x_n~ +!f睥# Aɧo(u +gįVg攷E)?n/ؠbdSu3QQIB`\C!d +P,2QC[Pһn`RXYU^',|Y5G4-},V{:T5zGFdx|4Zٲ u'ʦ"Ww[f^'0Xcx2rKJJDJmB|CÁ=55oc/hNL9'0jI. =$!_3s^>pX0]ScԹ`gi9Q?+,O|ekkC)6bf!),MjQZF_Y[-ۈfiv&mH!`5oIxudP#F +P&h_2nnmMsC?wOt[Pk+jnA ǐHځY*zל`L﵋TL01|w:44o(%j̨5YJ_|fyl00DO+/.5T"$8[g)T`MH?Ɠ\fިÕyL/\Zj@Ν(Wڢud>P"Yd'$$ʗVJ+W>pG[^Gڻ2|M 5kci{ZJbILFPCR7<]'wKÍQXb* +$f»~ ^̈́:)]}pA(+RXzE;b1t!9ݠBj` d> !L7gh%7nׅ _Qg1R2Ǽĸ:@n\KX)'WIC0hݤ!XL}4l5 Vh2,?bLb#(sÀytk]:ibP_"2S&F ߆*:/~5l6fݻ Ӡv(l1u;8qi7mL[@Wxlg Y<#nMDyYZOEX;/C<_IfGuROM++c7S +4ƊaZԃu Mߊ]>]o/m^&=Nh̕.g*>d_$ +]koj-]wz`g`@XRSZ^6uV^og~XQ 濮a%{s Tp4{HLydW)YU&R?FD/'gH7yOG +S0᪄g :po)-.XF:e*diG{.㯙nwn.tY<"`7dsSC!x$g:SX9Y%r_']4K . q cYv.㏢Mrm*ADbW냊M1Dqby9mT'buq7Or }yXK8`微.;~1K}wҭrB;ҏޒ &6 Rr*?j䆑lugICkM|vhZYHn8VzQ3N??֫zGP5|No(RGJ[5&Hs)qq}^&2n:zǰkFmP03;7Nsi+ZiӍ ^zs7Tm , zb@p22{96ʄ/= 4)c x +t&83B-(;^SedSy7yG^H@Es7<AQ|h[\jeZҎy1|i-M']|k!3h{&m5&[KiK%}UEk̀u hT[*FkkOZ e ev]G ؼ;GLW[d;oo3xY{OEk[@|l2섐^򒼗F6a 9uUQ[Em'*uWAw:^WfAw:Rc$DZ9-N7~c + +?;A34VfO 5*DvUe_Rqr_pMv]{қ[;f4( c5ڑGdxEjO-n +| g8 KٶŲ]{r3J(?ұqlu;S7qWA}ǰ=o +nxg|GCTpTaH͗O0U`llڤClt0jh~pڱY_,x',IUjn\[M zDBb<Ô]T7S0Co}2%sF͘MQ ś!7fSѕ&.!mFk(+O Oȏ@ W1fG 0JZ-#=qb>@@gIxFz|޴\E=Yg6atҺ*SY5T9vh  %2{}n}I90v zRf8kOʼjVo:*xH3_ 6WWx4\;5juK::i7rʶYAd~X:J1<;e +(;MsrlڪU[y5vw(k +-OlHWeG㐣݆L9sŠFp6i&xИp0C2}TxmCH#ѽZyڇm{+EAaWdVSy%ې8bש"SLL14$Bs&Bj&d@Y?O+82}-D^ݒD(PR{Ѭ.s!$4Pڣo\i(#u"D8 +:]C>6ڒ׶*m@1GQm lìOrusg# tk-ۤ^G) yۂ2b+PgDWB;T+4Qv{9輵;!f6~/ė|@r~EM$,<`2+oMҿ$ȵk뤆)<$\nnu|LX+z-]:r"Xꗺ.KW;–YFC :Aǔ+IU u+U>.+͋;SN@] LUXKx6 ͑8=*U4^qݗۥ>S韒+Ż eLsf v?m!'粈Yv0zْ2GwT1e{BHM, &fr(y)% P Ehl% +$EVDĶt o \~6-s//E 2<뤪t :mbpVn(Q7:ziZNl*3miИ` snX +U\Пbi0^Kc=!!{pwpyKH&Ș/UDg#M@1&yf_sIrŔ\ Bc7HexXltbu!hI +&) ֩ršbps;Cu GFq~~c6RbO'l"<͖z [T0}5y V|EWrф\2aAA0 /ɷW&aA +AK]מ q\kPU"Jѻ?W{j#'rG^$U)~VHDTup7eÊ⚊R"I^w0^+mOXiMi-T5ȝ'N]~{e r5Ճ-wA-VYF~UgBOJt8y0.{KO(vlJ uS0փyk^?6Wc+ +Cl]Eko%ݼ脦g}h0[[tVۃw,U^|}X?4:a<X s%هU)<@ZQ/[6 . 0A=fxIҗQl3\PBoJ]Դ\>[3?,ЛMOyIOi> '|2kxo6oy*Zo9XYifNP?1k𾠣 *_BupֲB[ 4Xφ}P73d"dٮ&<ăT>x4Y"GXF%Ngt2S 8.hpq܏#~2HleҢ(j =~n$ Y9PKC‰/q䢘&lrS1|8+ۺp5q Z(QӸAX!\$$$CsrL2$L%,*OQuOłBuUX뵊]xV~n,[|nC +-bY@X?(e92"կ)fm6@>_|Xȼ L N+VJ2v&ǂga:y*=>C,꽅zqwΣaVbP$Ԇ3H* +|tc^7CvfCUʆN\A X)MȊQrK{Fۏe"j%hCi24.$ҲɹDӮ?2]HMtaPZ+C9J*_r%QNH4r{W) |em}^e ٻ +.v_.e'T)V4(FoUgzf0=rƣ[(hGjKҢy}%]ʟ%(y쭬0L1sR1w^NJO7 نyoxõO`i0)¿6T@JJL#״C[!)9!w+@,&TQ0GU5a +5\1(-9]s41y3yʍ/ G䇫~IĴ41_35g%@.1N§ N̡Pi'74@rz8Z? i;f +cENOri@Du{A6.ѱ>1_:, Jf?/LCNN*E]٭!mq=p)ݍ +cFMH?b;t% 7r~L&3>ﰞ~6slD'9?6T­ϙ^ 5; +k[}gX0^hq$WKJm3qV/f̔&|}31sO[9"6ε6 9K+|dj8a&kɐ=9wUͩ?|0,lugzeU,}* e-^uGSoy77bC#Qşn[,( l^ 6!ʌ>":jbiq2$V1\$ǕwkGԣQ%[`ѐJ Ή `]+Y)u!*5(HIdaoElw17hYxЈrMyA39ScLYgBل*dlQ P/Džml)IR`i?ĞAY訌:et/ ysn琸M>dSG&HPe*p:vFӫ}9|%*CdڌTm ؍θSVkq~VQ< f +CB'LH? 6ǍZWzjxA|+cshi#a43 KZr?'H:m2AĽ eЭdcM^k^Cj#,@DL2I~tHGǫJ̀e W`_qZb +"pp߄CH I&d2L)xʪ*jXEtJJ]EZ_=@XY#>(UT#tgE UO4E]cDix`Ffw0b(U +Y]sAvjfhw@A,bx#iu+E_Xx˼U-EW'_@ce2b1( h^EN +`V[@-kbn_Pe:60lu-'\j|Dme;tHGD˪&աD!ߪ@M?B=rΕtSwo2Y!;DLž]򮆁˶Rf;˷-r0ۏ첸R}"?5#mk+3((.RxP{K$ ~?uX m(U$C[KIl9vL"F]C2q.OI61Qx 1iQZxle_)O&uZCj7$6} A~8zXmb|n^i>]fQBchJDj^ k]rou#Ih +8ЂTc1)üW+-*kxueI~PE:LR] &t-¬^*$M4-bB c鎳A9ZuKDۄT}pp;dzx0w + 7 ? rlJU/3BK3hf@jm1RזD*p֓2O(Vv +ndmMAO;1S`M-a6)N˛,_ +l[c.Hі%Ŗش+#]lcٶ$ s~&b~In^Y6-쪸ʟ/FRa` Ei|o$Գh:)=kZv6g|V'E;R^t\"ZW +YnN'⢒LiK[!6bjnf$=+ *.ӃKvIchP*%zډ,1-pGsD8DC7x&X8e!j5kL4Y &XqYLA)$]s_g^.[fx́{sHq  o݌ KFaa)1$PoגיDO̐Ńwq?0$װޮxYZN8$8 _ُ$`lcZ6ݐ?ȇY+0H5zቔkQ}Ö!~QQ2&P{BcH|7gz9^sylu^A ;RckU>)vQ 8:oVcsK68#7>^nNk_<w*>mڹ3"ΨŢl` D#ޣ7W-#hD:G"DxA4 >X( 6b-X>*'qkxOOX+{5| fP|~NEzEy?|S-2<3}=`[~#ltGPj_ _߷,cn$kaM=UlMQ"gɆ 5iЉ5M%7R%qvLSG[]]M vKsw>q| +7pL=#.[CjϨ^wUOlTvCe]j20uuFfձʪ:AƆ"E*S'_ +!Z:Qpt47rv윽Ys9{<Fr׃d+G1 F~ /bm1&&x, ^ LtZnDz4g?x7o߽06m3fB|=ksΛ 4|K5~Xp%&(*,.0<664^?|X@`PsB#b$ PX<1A͹O3l.O IrOS#?UBP' +BPT;} *~>22 +EOL_~[ g ,v,cy]zFl(}FVύPq㫪J6A$*H$Ρ`v0;f×9zL2ٞQC|QM5xzAR+Ԕ k*xGjsH%Ť^Vaݼr~Lȡ3h5$؋#2'$ +,FP].V!foDc&2`* _'ǹ{# ݰw%{2>aQ*X SV*5r1V/\2dL9x~dE ]0 +^z[AKmILŤSK``;m\ojc{.]w{]}A][UT5䄚T9"#֑$-QJ֙ +(R;7n^윆a:VVTST@e& +PkLlvw6ԷU8{`>5#8-Eʦhc5Ij ɱUx(EUu=XU=ux}{tjG +4a(=Gr(nËqZTivU肝 F7 :&|ؾĮȬ8CLNlG\nt{Bvx~T2?]ъ?:B': nAS+w."nG%PBRBz^MLpz&*T@ mHh؇Dc΢&ZT_Wj 5yI5LOї5m + һE/`v0;fˡp;ϙ־A}UlK8SQC#kדtYFUVErAF̾!b7E|{e wY쓌E8T@V4U4<7IIiA(R@: j:8vug*tE@EQ*r 럄B; !rIC@V@]_ӇQ5UW/)aY/-Ry%F2"  InK/i"tY{p8d|Q\Đxi'6ĩ/UUi5gԧyebLY(ke&\1q(h-Ev;wΛ6 !5kC(xH@m՝N&וy UFeaf5n\+#$,۾.wAڐ&T%_}ؗY6"s 9G&j ơR9aWLt~-m ANv$&! 2p0t{z$?5Z uTj]Ġ`9t& f,h؈!%gS$&T<6ncK /'z&bp`F*8b(@H3x!}': yo8IP&\P{C@Rt(ɓʌ*rH1𵐗&dx'McČ`$f>m|S~䃱ؕ$x0mq]Pe& i#eF6AWB~8QChiTɞ <|]z[u*nz!bg9Ԓr3lq Xr3" >4SPh=m@A8 {Ͼ+\Ǖ--F3a@4M6;ҩ'Z8JԐpjj6 DzQ0'չ=;Qv(X N#0-z#}2Ң>ƾ#Ahw8Vw5C/[r:mU5fYH7H)N6S PX'>}<5ӽe~y'NNdtOݗdjM Z̓x3YAdECM&-ڀjG ož>ْm\-u ZTS#%xG;Ѣ8]0^`#Hƺb~ںnA-9*ViTR8 +`'yM>aATm#GђZVZ˪ݐETD_l }mϒdo8zPc)VdjGT *:YϪ z*MSqKP}W7K۫Ov*om;Czzqt}JeVl|eryItV2j)kb腳h ?|lIlN^mzQr}\E+ݫl([Xp1ٔZ[m@_Xi䮠pvfy?q)?GZ3=@W =T2lvsdrڰP챢ށzE     q5YTp +yOCŻReb &l[Ghmb9M%>]8!p~{gkl’B42?ȩVnI6 +e%2G-8o QP6ncN/J/FQ&= }-9>#, +>nƙ,Π z,>3'ЏԍI6Mo$GWdosfܐT:jGyhKڻ)k[Leٓ#ceA>Vl oiEǪ2p˪lMe.{J~IT"Cvnc53}-"ÐhI'ِ,kHM"D[YjsUZCM:fD˂+)U +Naa␽Zfk@ 0,"IBLtrAlĐ  N9Vr:#Q1ha x!coDjԀE_dLqi&]8NLSNIS/)WKlƜ5==\[jTv]٨@(WKsm!fwO)iiLڤ?鑓#tɕOL=?ٯ9,o9̳t2UAP@C6-!d!@ BB6BĂQDkop94Mre9*ӍRMd0W:rB5*G1GRBd; ib"P'dh8^`B5yϕJ\ L΄*nW2b߭L)3t*E&' sdr* i@s?/=:Vh,~ߗ;{u15k}6EnA;xobhS$u,N%ɕ8j 'q/qO=`S)г ,Tרs=@o5-z$^˚Fk3(lUA?5(!4v(_uw1ff:w-}hXKvzqAOQ NϜ@:&z$B/ $Gc*8?z0;ߗ]/ZZV#sY]X&qzlKNCd P¶GFޜ=;èj!,z5ϥ+D`C^n"NJf90 2?}ɉ=yΝi*mJnL6M$_e A ($eEU Ȁӏ^9,>IoGs}YEHBWh֯յYTwL3rS1MOeS-)*d`[hh%؝jӣ͓\$|[XRK@-_JoЌ+כŋ8V"]?/&{d_$]B?,kʯ2xF5xun#s +[oyDs?{how1,8 fL?CVAyE% +K.?)-amU [5[ڜȺMtM0o?s}*Ϝ|-.̩ {JZVu (lIneC6%FQnj̍;\M{w 564q@p${{bKXQVx &\^fA{O򒻭m.B0b @ħ/d?4m/o +y0wA6kloz=vVtbd.RC{,DŽ4]@Г zӁ4#L#y,xK|}]XÿC>A𵲇i6pD1|܎,HψP(@c ii@Rq2[eaU^FR6Jz!` {v' fQm)0}^(6Rc$5 (r~P,y9wM:(^։gDHDϡyl"0A4t!5F5bl ”#@ +)ۚ+Ou`;\ mqׂZ4++'8bqu2ǬN Gt$ F7 G,)O '6bgSo/+WuQ.mlc`rj($oQM +0rIF?i#@I_S>8Z7gW-[ܫ J?&[1Ck\B"mф;[ + 7qD +$fØt;Sj͖%qzfg,;-^Q`-}"ҘGHv- 35Sl.J7oÉ@ 5pNgmwٱٙmu*ꊸ/#7H NH  @HB\$77!PxE.ov[O8bD>Π)Q6AY-aWjLGU-oF7k1Fj@3\=ۉ <'#Gޙ?uߎo qxeP IÉh1nzY=Wu Mզgԥ'(e]-gCGi.];^ɹ>~o[?) oOP^M!=aǠtRl69m^rU4\ O%%-,O]TB*s;?Mw+Pmv{ւC)#HܥO)ih\LC.!K'b1 HQs.w{ϟ/2Tp c6#s6"bI)i+˰exVz:;9 sYAnSKG?vOW{$a R*ը1o7l ˯WC^kh+qf7 :B|J+*u}B2#PCѦˋS%e*:g cCh܁li) +`Fm5{kï 5!>s^sUXt9UJ厓7YΆ-P7 $*gz0W]yl`\:XA>s97<5'&cE=ffӕDdyix M8ZH6."4Fm Iz9)d1 ź F+)mju@a7gDfFiUcԝRڊXxi>6|XG/@@+$kaQbќ0/nMҋ]%:c!רZTxY jq4Fּ]Xyw?=5a'v:u]㌵u=,"@n9 $$!+E@AHGBBpEA."(hA P뷙ӗ}Їw +oPEiԑ9qͩ[ q)Q<\Uh.gY}WS(35QEJYj)zS h/Pk<^~'?aS| A :8}F/R+|cha + 4Y^HjZU7 +[C1 ?w<}Aw{_Kyē]Pmp\+ؐ- TźˠRVYĐ[tX;-i(i7[9GPq4zg6@0=4kֈ\c-MANTij *A+7V |ZQ4fmld/ 5@ +ݽ#]w̋Usri07mN wˌ|!WQRQIc fWlerU:Gg&{ q? +n. |f0rg$u͚B869A$Vˊ:bVoi L,EUJ@!Og)Л@v4>4=A[+g $fy4"nv,9r1gJc:5J-AYL +:J匞Y*ϗȭy5Zg!W6@@6,GDOMBӆF`+٘^-+*uj/iuUcnC9K)7hsz 5]Nٰ;Td~>TJ4& *ow} u?zXcΑggS+~P2u.3MV&*1Z,_e%I#\iPpYRg/PphmsY}~'kGs4Tj`ޅX~>3en؈24"y 'ʸq~tZh/5kofصOa8s߸F_$@3q˰>'n9;7^^^=1.5?jD'_X,D,Qn?t/J\p &w!ב0؋gTStZ*j| D„=bCB3WYx{ot}5[,w$ 4LBA#oaQQ\xąʈ}IHNK ȇߠ Ke's}*_};v$p;$p\,1~ ?$ + + ! +9~|?}SRwp^@YH{VDrqQ"Ş'VpoTU$VdDױJtzt +*BM"{i1a=~oضR[ Q!q/eUV.yVH[(`IʪYL 1KWiE2c9rg0]DgQ])ܚd]ѯWiMU}:o@:vN?ćѱ@Fq?.[cT(y1oM70œh~8Jh.#lQDҭWF[3j;E#@O<~.;YKhk&qtd=rT}J+zPUX}Ψ9gTz<#8:<1)y/%O$yevUm:>Cn^!R$,@P18Qr .eFҺs&o|<#AD1@q47剜_NJ5yvAT8a@Â*2 +hc^3~13JEi颸r!:Aj$U^NMrs!&xt~8ۀ>4@sWѴm)9PV-kQŸiP8SYFR4c4Kl] IC4<Q zás!{2 ЅfNxfKH~JμΟuF^4܊prfJ@г:6BRBd +Am-[[ꍏm@Ch[kd+>~r`vS!CkBD+Y]d=a&JD;Dlw؛7c_so` + y툈z6tk4 6֗7Z *-Kآ&%ת#qfB׆cʡ2 GMTC?.X [ZH5:Wt6譥dUEFIҬŋ(ZǗkxZ,z0= >=P~?Y9=1y~4tV$aix%A!jLsLdEԶrV!tZQ<s`i ,{߸?xQ#/Ne`%zyx+UnGz)xVY'iNCV`k"|FyT&`y'_z>#n/F\Lz2Cs/)Tb%Ӌ\8yU B+|Ȫ/: {7Ӟ޸ho;A[,8N(V'O7* xUzjޝ;Wd(aCV%l`PPyp<}捑^gՕBkQG5wa…g7pkŭYlhd˿L^b/IİK(9w} ۿy7S[Zh=(L0~l.}-ZYn@."@P +gSDFd{W5d˸:n8 \o3K>^=ݻ_%%4$&8 j%| A +oմĶ^Ƿî:fԌ& 6-LzH| b?ӑu[}U +^^_b6QYU82Tݘi-434o'iͩZRn +ZoH͟sӹ?}W>ߪm7 +b#1en ?#s"*aQ{u5k ixtJK} +LjH +0}0:[gAM vtv3tљvZuծ]uC;rCDD @ !`BBHHBr;\BZPXnŋu ؇}f~/76ذQ @Bbh\Yuun^R! lQwLs6H-M{#RpRʒKʓ7k׌MrM'?gİkS!" q8@& xw3KsޖG!禼:􊑟 %X~H<齾vmWkaİu~AD +(Dh>F,AC~I)o|J"&xŭԤǮ03bgF}PM}3-z[6|ǓoK@C' 룐A PtD`#c{xʢHjl80bÀ!s'<jc/q/Ӄ@ | +8- QMxFeU>iHR|/1{.K<['-<+AIgPW7 K g + N H]iD/X"IYEMo( +g]Ytd_6]8|pR~ =)L}Uz{@ yf4HsRA:VPRX[CYqDu*ܹr. Y%3XlsZ~=*UN^i\U^,t{gP5y - AEr(ӣAeQq>IY`<<)`?5Y^2]b+0gnϪn]T_\Vc/=˚%>x[@A#I=,-B- g Vm<Ǿ_%߭PfZewJ-۸?{5# %SryUC ݠ>Ф'XʂRlFyCrsTI0%ŭҐǞ݌!Wi KFMvWZfC?]>jqF-VTyl?d^6b#Sl0bYKO̹4KftDuE5spx!DGSvWLv|j'mmcUZգ_E&Ѕmc~0 ֑ܙyWk:nv}þv sv$4y4A֏K磻2nuJUaDG222qwQ؃RpaWPgM/ uLnmXivu:3_0%yN䍡I/ɴQ:8nj %bP,|Tv@^@q;$8ΐBOGhOtP___r:!͆i`=li_(x1ra q#Ь$ $v@mdx8$ F{8 +;("a)^STS 7 +Ә>ɟAdL bc!3쨠bUom`kRS2i@1ȏlr>>^@=͚#K+ڴW+lc4`}_81CQ~u6hxF 0l? y;H !?)|$Y"3?iV徊H!fLSI̝Itx#{vMH!!M@0cr?H+e.%fNMcH͐/dLk V-I9wȫ_G 7^P6P%Ȩea-\`XL)jYFX| ך3"紒jro/&ꀣmjv;!NzA1 +1+d)VasYV.o*X0N?'Tg<'TZs{ZI=yw)=?S4О\ p|*N{?(ы +Q#eMeXqiJѳRSFz9XFRwOMnUzwOqKqOVgKx}E5qcu(:ʢ2 R^P)R @JHC"BE0 A\ gnև}99? ^!HyYz@-F*#1KcH9}b_Rh2/s/gf 97y7 HPa 0WRX3aA *v=A)%(j*5ybf?7 +@\MH@2 P7]APeB<*#q +r|h%x\N/bz|VViè- +5(n@ +^$k +$ub +wkd߁zf0]1>F)\d7KheRUr:[Dx%2Q5I%euaYI+tJ^%(G-il \~NSyU0.FyaM𔋵dCPq d&؜L,QdJ)BJ)dB֋$SC wNyߧ6Ʈ6/> +qJhMIlm"Y+q &WQ%+ŕm +Tbs@@ӞEoܭ-~b0䤶2'rą >UepKyBBc^3XVVIqUz1 >7O;AtzB;~ICțF-LZ,8GK(^4#J]cz9@YA}O_\;nzGPLh%%lƲ.I*\Y(ؼX%mK$ik ^-!Bs@i +?lu?ov9цwD%HS2{31| +n)c!5*!/Q)Hj&I A |sPsp3F>M/Gl|tĺκ>mw3ȭUNӑ98żbt,Bw2IjVs:L&9Z&9&^ MaݕɤvOeq'Ey+_hbh'GDzCȺB(kAzE*f5Ό0"4ӌ)ftPnjXo]+o?سB쨅手e36M$Po(u +v02`Ry=0^G/z*TN k㷩a#3 +sr%ۿ +Ve ˴?si1ߓAԇaqIw3SY*v5(Y51讆to40xQ9rl|Wӆus^Y~mKw|NQ^#Bqsғi1s̈9Zn0/GϷ`{|{cn[:6-2vk-oVZm-FC q4Fcqƴ(c j&Rߕ}L{#}9,Wϼ3 , S!VCfi}ؼþMGNK?z8O.{—`bc?[BD/b>bSPo93){J<#}Yw:W@F4 WAZY۾[hΪ8,v +]#xA7̀}@a zZ`C? O-"ܖ#>65ڷ;2"{+vM%\ -ypI^vq2_gQMg9=ǥ=Gg>(*(Ȏ;Hd%| ,심@EERVOU0l*wo{_;Ci zCg н|_H)Om;ݠ0ʃ]ʬ_Y4("65p`63q' ܭc~3!>G P~؎wr+ ..:rN@uᎅEc *lظ +zHMQ xzAԾDkW pN8t8@`s$@fka;PYln "b HQƺoc.᮳cً9 ܹ11?` v뀍5}wG!Bj/YD}鈿S ++5wqY.棇xcy/q14o(v7kHx AAn8x|A +e=1ı.${5pנq +&+0ȋ9 55l eԄJtJ{UK?Mj>"k>G>EOsE7ڙ+2k1`0)쉑KxP{ +]D#؄t +J2:xՙ&V"_8Cj71RuӲ +6YPsMҹ>jY,BOz;[Rd:MRhg75V]={__Зsbc kAENBv?k|?0j78H89PE +-aoPoꤜYB#k 5*a\pP&k, +E|>O<3KbXC㟡m+y~oߛ`b<&Uȥ\59颦lY€VɋTg*uũ 6cdJ3Ft@6cv`^GKq;}^] +h;c;H N]/eS  VUfRe $7eMZYWF0W-3|@oΗ l1a ؜um%]V;B=vB\pW-%\gKERSy*ʐU(E_0}&79 @͟ +S߮\tncuO:>hp{+!Z#9RM2Ǫ* KH)T*mN6M2յ4\DgB9_2?B p%MumwuL@#pBA^ ST::8iQimlY"YY9}^Pd9(R6 D)LI3 %8)|'r2$E9)yW ro?(}Sӑ) ֩ COǥ]%c7M5Y,iY!iFy-_RM-ϻR?{9,Rl|RRF$5tYqE7 )ɏ<ޑ)  Y4PSF5;/xWg-^f72.ԊU!AyW2*R/}8Bfzc%9gʥAgjĥ:NwJCrgECzu6Wzsmsw~a5eJmN qȈԪkRbWH:&*_V/+w_rDgfIkU[4Pe1vGO}MO@ٛK_omϕY' YwFHNM?x=G_sb:Uݔɬyɮ|ɭRAb/+զtU|J +WmR}mNW)6'|cDŽ6%ňw3\Heܩ%w_J{1 GV(d2*uTnVyxիE5.vmyN5ҏ.b< >oDrZc}[-U$rD$j {.TB2/^#.SjПS3gi{ݒ>'Oqb_B]\~gݑ&ft{w t\ ꨎltz9)z68D WoZ?u#ꇗT ,iCzҏNF<,iQL?ЛO`S,W}ueyUL+vS;3$~S' j#*eߩ]o^T,7Y+O;'=#e4@ӑ/rdbO,B&xȏYhuX#wvݗ +C3깢L!rL:{NFN&&%ST˴}P<4Mt +/fVwWkS%*4ҩǡ; Ra:6p`F~ 0cFnuF##G! +E$Ks@9]0D Te8v,`X` N70I>~ r>ę["fȱ2E>ރwf6uw r3W)˕ 0b +WS $x9[LkpXBA{c7$;C#@!MO/ X/AbAh)c52 +E0"Z+l xj=ir$5w« /Urc3\嬃hD1w!av%8?)b|Jؠs~S6$ o=OQ3MAdpm:f2ɷ@Hq$KˡS YeLT~Sz7I}t _(Âh#t! NuM5exuH،x1bCp = Ȣ{v)Ki5)Zޤw=@0A}N7PF,`Ȅݾr<`&OlX+m$9CiFg#Zd= ̠W5o*oQ+~(F{.0F0Lw$sD% lggEw:v/@2ڿ.bϰ=l.R-:{RUp#V$BB Y$9Y$0Baod(PW+^!,E^y>9/yw}qzP!qO( CT=gd W o#oŸ_F M"#Q/IѯȷP(7b5. 0w~B~`9PXT?9; @X\V?, !tǻ4̡Y%ԴjH#uz:~CCoX}:No\{5MU?ͯO+r3nwfB` 9HY}LpuD(09ZMF5M.t+y&A ?,'L2򤨈2% `uM%;Ěsy~QC| %'bzjb72zjRXMI\I-)'Kb mB\@ḨOH8Ww~rCsk 3s63Q64r6[!¶K&~˙F"D]?L 49.5%Y =7pH`1],Y1W|rTMOweC/0m|L"H +Qo\JhKٍU}_6HϵIӹ{n OO?|{e/ʏU{Pu''L٠KT2^fq OhgK ^\RQ?& +lLjwxѬw݂{"YMв֞\;Tw}˄ nʦD֤ctB5YN7)S92 C'NEEC,PGI1YR PJ[rY¹}'}K5Uv Y/Ηg1c|I'SCR(NYd*R!Z2_ɞ*!hTAc2px3H]}=@]_Y0^}gwt# cOU EttAVJNSrY&U+UJJE1HaU@5ikwxN|ҹk5zC'KԘ<^-j3$/K5u&-Qp5 J暒Qr4rn,Am@7dK[>Tluٰ}së otxՕ`ߦ*P'B2p5 (\R' G&w5\gZ׻^<|}WwVPr9꘩{.+a%R!(Pq9g83mRa. $rt >SWV:rk>WX}rKEGK 2؀9ZG@$Ub\TDc+شB-h.YK}6(E[%XӸ$.wBly; +OU+ڼGr꽳ݳҚ7y(n)(A=Ǯ52:ZVf$+̂J]#EOP)=@/q֯/qxpoӡrΟ}=K+3FNȺ :VMi ӒLC5vDS7<]~QmP.rF/Pm`C߽yݏ:6Žў%GVg  uDЏ fB)7^^Lu)6Z2>u䝆c Ъh](VED$ +*d/FI + Œb#ngT-.uGܷ0n +B39+r?%RC]9˻RzU.y;w;l`Wqy-g?cS_iy=*| BKZJO6>b)MSXT*4VUj^cu:ZvctWn`>ӳ~˴[9N;W/9'%j:f8#mϲLviTv:^֚ۖǔ.[Wd1uV#eߴj%?Pbv$k4mv!&2yҶ]7tG۝8 /t)]8IWN0׵^bvWrRsLyc?=*˷ /m $KQ TL eP`F80+c_ĴŦXJU$& U% J>=r25j"#C##KnD]=q=ɑgDGw>ѝW!p|!ݲ7=^Jp|Rq^>(9!Q( HaY1!;BG.;QȞX?2n )~c3:Q/H&à r"d(|!/1B?T`GMG b ֶj+}<Aw#` 'p3nI`ǃѴ(ȦG@=# :d Ry=[9}Ʀ߷ V|aStD}Hp GP''C>i>ԓ}<9S|P6%_z=P5uv1 ġP/r. ܙIH@Z^(%Q| DJ/&8X`a:$I!a xa;{K!Ȉra93aӡ@ +eqqu1Syn-\Hnlf裆XT?go"aHi9C +crY3aaH @FVҖECm<$ 1n&x k&i}V3 #~{Pi کaa5, >.A C+Ĺ!<20DC:oe@Xu QS|pS\(nD{;rPo,'!6@f A c8Lש( _6 hLj] +䛙āh'#NwY3a)X<,a&Fc42Q)mkD,Bg_ ܒZTO.P&6+%_e- / _'E}4pR4Bo`,L\jV[x~IvX%=!+9x-7+__)[T-=YsSn\V/*G5f. 9sPl8PY^X#*EP.r`i^|onI)k-筮EҗvElSecM셦Y֓~G>A^W֯;8"߇UcPwGs-}5bc)pڳS2$kw[4UՇ5wtO7T]Kzuᔦp?VM63rz\?Y Brs9z!p2;ik#|r[a[!g=,Ʈlׂw1XWef ƫVD)tL^Nn?Γ8rFJF7qxg3Pr|UO3& S5`їƽ}/0~_5t<᳷9h[C䙆xO$_TN r0󖻍\g'9YߎAZ-՘MOd%LM59U}v!5J@XĖ1fGyPdвp.O80v9f< smOvcb8fZp(%-$T,,5K34HDuQP"KٗdZN<9\vupdi}{>Q `>7ZNHM$RCÆGda+2ZB'pĂp2SHr] +j yhC_K^hyb5b=lО# pQ,[8XG*cE_ODNCVNš)i8GU;ۈ&_HfPHZ!I!q"EmB"~>"pg#!(Ohg3aNQ4NB8kC{-!v,t5J d @T~|p7c1?#HKAo*V"t@' @ P{}dY7` +b u: Z34b(@,i!֡%`D(0~N} G69?CL  [(B[= q.Ш=4Bqq%xg`]y=;{5x5,k 2)Blp'0\Wx@c2;U ._ QM;#tp[\6scc~pG{ÜʘT e0} 5alZ(~'gYb.cny8=לOO11v +{*D̿D[!އ-L쑾h hśH 1%:K谺8|H!rP6 ca=,(^%~wBx/[bE܋=!9a grܑN6C=ڵQTUnE/?%'bW/wsᓸےRȬCAIɃL;8bXɜ!|n>sZzs~Ē7 ѯ4[؝>sQSYr_?ߓߑǷKWҋayu!CNF +;ڢ0xǡؐ|Ѹ#i{KcmJqkjobMZ:Oo tgw%;y}w,p>zݭB/M6小\!8D߲^7ZՐUPq̸%5:=iszGRUgcefobEf +b,g":z_Jמ 獡#NvF:unrsԱLvSQpxWZy}&6K&w*簩2yCgu9Irr{A"rYLtފ#oserɁ`{&^ɛu6LfJSdSy:qMP\Tee`KBE~Cb2isjrqؤϷ&,%!T ; (]@{:!PRB( R'DD H*" qwPagȇ99ߒs9I$(BVK S%> ~"^=7y^as`&ETSYAʨcGq'y3좂s‚nÔ/.w-XOlDde1%PD _*s:bhqИvN~Vqt`~xv>ǵ6Ç_TSq4Һ"މDnW49z)p}8EGדrlD@`VFExߡ³JdT=bH2`#7>"ak{?~л>;0y&6)!3)l09l:`9e̒ (FPyyX햅#`\/X˜pQ<cr9Ut(PZ=/2*PmC|zu;+lrJ'&I̩ZgTn$VlDt_$ X' ڤEmۓJper7ujRzdYgg穾P3Qֵ]SNA&&t.C#I.^hz-;XO#v>c>N6nkRlrk}xg.+98=7Q; pa``4ݣARP.F}CycJO$ ]ㅾjQPpav:MaC/ao,lfʹ%?wHo, ןDY\$o4(^U5"kUfJglYsVXV^ R x_md-;]:fֳ{l`^`h>jd~rgc" t^hXx@@!`CӘJ*䣃t'w9O~[=>*~fnsK;jZ|[=8t#42B/kd@su:pPQD-JSь6t7t䌞[_Ce!S +"gf(`*`Tݍ=.ne4.OH"Q(D'P\ЈhCFG t}JaFK!k.:7ict5A=Ș0EƬ_lWXi?M12qJ$ވ:&$*eQyPEY+:긺 (# ~| G E 3N:8ͺ;8Oz@5!8&cǴ +|5;Gk :{nq#x9g 8fӸ/<.ou[@1?s!p@3 if o^9-j y;Rf5@nrv' tR/2}e_^S\?zqfLxÞ7$>hp ANAF\2r6hjіI,[t;RZq3~.Ӿg\^3E&$ߑN_%| +, @`iRkCٽV@8y5l 9H:ff +(wĬMқ\?'?z u:Lw~v{ S?xJ;oe;5CB"/oSlKlYk3)Nd;9ut3{ܟ1N|ʸI/WIs >@e@>AngkJXO]%i2Bӟ֯eǤ鎣2Մ!n 1!ktkk:K7J?(}\[0G}Eb=l AdHQ@[!Mڮ{W{zn4yX)(6~;aj<ⵠ*+6EI>9?nj3qf K10$H 0<_^ ꝉh4 ]\ܒ\w,_!5{omwrqqQ{/3=.iH}!徽jϾ&)id`Oˬc6'vMUE]sz=H٤[ ע/Kj{FܕXRgkܴ?ZWLdUE7pQ=’_DőEQoQ3C:~AW= 1%ޙhFIiV V\-[SOxgWVS{zTg*|$1ZpqXqU_-khbOc/scs^r⦅sx!!n꽫QZM}y6Tvnj +Ҁ' ;#=T>)2U>(I*ي.Q$]qWVS4)u߀`_vP@cMjM給`:IkOk[ +lZ +ϗΉ#j3I%iCibVvr/]$8)NIC5Cǝ/: ;/1n&K `ŏX4jFtM@- + aPBzVYaLYㅘk|kObX3ٱ~&6r6ȻOOG6ɠDW9i"ӽQEhƜ ,0b*e9,'aՖS3c3{DQ4H0)ځPqE! +<Q=0i` 4LOt=.a.ʰ"aDCE4TQDU8 cPf([ .Rn(ASxX9xG r09ACڗZ1Jj ֨IGբ8hJ*\'8(>M\'ot b`8dLT;YR6*q~uF.J=QrNި?(KGyR$%zQQţGC1 0Vg်Qf@e;b/CxbQި$D*,,  ]彂w9zЧ[0OE-z c LZ` +c16\0j +#ڭaMzo0|?@uDЧj*[>*/x}P~|ݣ|ݥBY0< }c% \*fS1wM\H tdrtqƽ7jCd n]7{G}^kNtiD/5D/4Dj=|f~Rc5uԙqIDQ⊈ȾCHrsH }; + +#xZʴiZԱuZ>sx9||񐊵n.5YMAJ"KA 5 *#pL6#-pͶz7ӦJWn]Rc&S٥";H+,%p jHVJbe)Qa^b(,D y)|Z)qn3כ X)a zmVoRG,K)kȫvٕɎ|3LV&V%XU?@Uw(1ſ!1Ő(ZeW0Wi x6}=A{a.'M6eKȞ&!>6!$.ݙ[+tOfUUFW#ȑWy{R"wypьÝs8>Zﵡ7"fi-hgMoKKiIuHl7Iz7QCi +n +\+k{'B>p6?7{qevCd]@?ߓv> eЛbw8Gv廝xw{S;|)W[E?r/~V迒g9jfjk`s@=aSN3w1_3"ܑН]QM^i@AH ,!!   aȢ ѶNjkkGfܵ"hE .qj3/s{{sfW/=4rl4:&eUԉU'br(PV_}P#>NW8,9u >K~i]ԅ܋/a坟ÝyDUD^Rj NOD{Z\oO#"V7ЊwXN)iQOͿjr˹jʺZ\25/$7'6}&o 7}״Gm:i=ic l:;wP^Ս Ϳ㌊|QMD[}fpNۊ<zǷ1tmk|cm_blԶݜǸv ?6OvwP;;ye*pALdRԩ3vΰOJuvuO*vt/v^^ٳK޳[s.=͐^cHzak=U>GhùwK[w@9(+JcԾ"_L+)qZ;@U=h̦E;ȇ#J$ëpKi +נZV7n7ˁp;8]~QBi8 c>H7'""zBJ*'T"}kC]dR!EBXd/48pܑ~p֑ ͎,xx5quoC('u"4c )d $L.9t?$\0Q ‚̷C|n Pݠ}f>g#Ѕf!8w + +W(|!g5q ̤+$a.9N )Br=H$$(H-@TPiwgpZwl!_t1 b v{ cbh01dU!$Ą Va8*Ĥ@= >re(>/}K _2AR]`O!tZ +WR`HR~E$bP +ev0CKq'@7' - r\>&@~ aأ+{X>߀8rɀ7(qVH pIj*$&9f̙!vh7z+bMDbGd*FU'9oTת+-Πӧ<S@?IH䓐0)IO0M_=_3[|5略3h5gx/4x57xk}10=c ֟.)~ HEnZ{4:ML5y$҇V'c0l{nj]^An}SwQDMЮ$M|[:A8n@,ҘHB>#/~|qĒ2U<}̷;u 3+ޣ&Op/Bh3Pxtp_t=ᙨ*рK_걺I& (NBQ(e(:\ Ź77ǽ#g={ U[Zm7SH!zʿE-!ƚ+ƛ9ji&"N}} {o7sY Rʳj)s\ΞMoBVkNŲZД!cR֐ȧ̻$VqSmDcYi@~<4VJ' s<0,bK%!dW"fŹbR~]ʀs> *SINf패';Q̨<Ѡs,AeԽ"xBBZuh)MְBXRȶ[ȯ)\.<9q]QMi$((H*"@V,f5@ !LK@(h5x92NGǶsȇ߹~z}c)̓*u96Ϝ e^*3WuZM?YP2r}mob ZfkVPa~RM|%Qz|Ǹ$~(ŵO%n +%ZnUSOPj8=G`ߡ_ҥhܟ)<fA%z)U#%ܫefeE䶉ò3. ҼMBZ P+ڰ¦9$P%+2-%&DqlZ`ߗ+ ks9l3k2"Z*?﯊"you@+a{6 }jKKKbA*huE!j iTo5&#YP>e~L`C&ZSXQr5\k޸qM>ʮSkMmeCJ)׻_V& *W"5QXN< @>Bsoh\!B-"y3$0T`½z5:<̶ɖøPFm[ÉZUGJ>EMʪ|oHY8T*Wy-$W6Ec-sFF*"odRJ,48X`f:` -ؼbt̡Bpק{+y~š@~,6<_ɮdUL2d tt[Z?tBɐ!䭐\oJީr1p {@0uָ]r]Ky뀨1dzX]ksTu +BV&*)LU*CqP|Ce¬Aȿ!mpLp~Wy z{ô1){˻O9w&)HWԖu㕧4K3!i03"Y3JJTϑ+ r|ȭ^:OuW) {hshF}p|f+iZ@՜#H1\%wc홗.:3.f$p㦥NNzj5y˟>?}?Oq$6nfDgpG p =I=@+B;D7xxK>ؼ04+6g|`rŁfڵCk3eO=IW_zFοC#fwv~Qir +os+ k cLV-&۞˲?f`;Dx; ejgA'зhv 7|fkg/] z ٿկ{x`),@ [ߙ@C 8`64f1ƳGm4c5ȵ4W+jv8N Z] _;{ z LpA8"4```"pP, RFC` +l¥zb'&jA'^R +4TxPQ HG</chm6F&Vjr +l&e +#n#D +eSNCCC@:*"=S,kP%;LQRBlt$js_%nsFΐـ޻9sG^xWSo-Tj}'润 MuyVMg/hF5DӠDdEa0$L!g*Si=j0DG3t9G.ߌzFZd-tm%mӅZ!?9rNGؠq;EQ=QGNZ (M4LfΙIJz{zX[3ح ټkqyVcW\YgCSǟ"8(s9~P~Tx>좸6xx!IM8JEo`iǒ7g`Yûl;x +ʩg[at5#}!UgєPp6i 6-)>$VG7yTE_UF?UcP=LxI ds0<Z@{-ΑR.¸j8]ECF.-D +ǣ_:N N&!Ƚ2~"RVws܏^ZqO%(ߓok"!dc@13E4wкXD]c[lظ ]lq|,úՙ3 +\+ֹM.}7מEIRN+g^3?*I1ބS8Ä́!9&1<&_b7r2Wi1_ì͍dIUTfgT6k^QIɷ<^3{{j϶:-畅w_u+7nJG騘=C<R}ZVry^).jpdI*/Wy`vs-q-[ 5gdBV.YMY2O(g6yK.omZ>a"^.#NzK\ g8@U+beV%y:Ewn_Bu.Ϩ<PD H)#LQA,"tІFpF RD *1XQp]f%'nf=G}s=WR*x-^nAIܐ84wQSQQ;aQP_B61xCTT0^,p̕_-]Qךnܔm^`UfWH+v)OmRIޒ)ܤ޹oEDBLH$ oA26.98]pfnt.*[;hQ]&8+e6lDzBY[Q+HouSEg|2R>H{-H#BK&E20\ߖpQ )qXt)*+4W֕V"ҭ &ۖg:J $\IN^vNWFv -h[i Q^R"K0T꺭bQ#U+,-}).$)" +&{d1pq5k7٨&+46r5 j:^q:(X̝),dEK9wkE5/snAph}OQQQF_,Õ2ڃJwfm4Յlț5{V5d7DbRd+>6)uSu墈&ކ.uCq~hН) +Sxgz7.^܃ZZi>5Pt:2e^iRuI*Knm7rKs=M2 JnHC{p OpCpC:=zW? +-4 ]@e*{磤ϖ)sg.VY97[pp֮(f):v!;ikw۪n{B.^R=lRMPzA]H-u̕IrbVύ>u4BcuGLBd.XPWvﰢqy7N}7{;s& 9:t}C@HĶQc$:2%@`u#BF6_s*ppqp5~'[-LjL.7h2h1=D[!b܍Y?.b/Qߪr#icؤ#7&s,17]Կ+_6dǁ\DU#c$&3+Y+&lU}'|2爦4SJM&-m):S]{ýqwx+}P2 +d.W)6ncmm,m +ib191 qBG|KV@E1aɂ:3jQ!9N,vP>'Sߨ־XԤN]O}&gI}D]\wa% R)i~=>BO͂82ٙ!.g.CX~خe6JlQ*\iTS@H.!y`b FdA@A 4 aJ"cD'( +(
Pϱ+߱}`:{uI ,c`#ց]{I|OdE?Xc{< +8b¯37*535.ClU4-B 8۰::paQpڱX'v1e| 2F9#a[ lA{̷Sɥ,s0\; +"_ h@ |9 fрW2:pb5 a|'&Gq b{̽D|^'Fa7BMhXt'=o) <_YؗڝW(5ܞdZnQcU!-[j!.z5{%-dp_jI:Pw1 d_hwWеL*D:臕fJ>Y)hץ(Sc +e&Ir2j}S_l_W- TC|)3I]':&ͺ(f^zLd/.XBVJ/)y+nd)˼hYh=w2٬ )vQ,yvi%)YaYYWCoadbτd`Π6AfҊ`u ؋M,hSbE nU/*H,X%%.ls>abAǐSN7=p w +%!9kųx)-vbE8{`u,= +*̃/ŖŔ fL7=[+"|WhW+BwK' ,:}mDss^R(shRX\)wPCTffU*'EL;mV1$bل-mWC_^!S~\[~ uI}q-v P߻`G)@N9@ΡKհSk +km N3<:fjm0ormڹ55K֤Uk|YxWWENѨQ?Jw0%wrf@Rɼe%ǘג3Ly)P@w_wOqץu*N:ڕyw[6~_U%1/;{xb ؅>K= c.Ul&׮VsǭX[-uMu^uY~%U4uyqx"*ʡvlC5ިxxŃJs`Vm\clTf3iwNl׶ݴMnc3w<>]لmqN +`TRiyFxs.q|r۵yyo띭}w8>9|nrolʖҵ-ˤe=UΧ䋜o)`"<#“QZ2\b$D+ mk ݾKvxr~Kqf(/]p6Q43` (; e /r*x> ].K< ^9e>gx:,fٌ M`tWDL+p`_+ǐ5|U"wxP w`EĄ+͸EQ"\!dAל8#P ܆Vk=!㼽ay4gTh֩ȑtG] ;z6& +,}sQD%IV%~pYJFii~Nu?V,'ZBsS` 9}yt{\T_b޼1zDw5Q]_Z|#x~sKn)$U9 48U*婄\C"⁒RX?"ZB =zOᨮFgyfG*˒V{3f{OBlMz 4eεFO >pZ`JUD/y:Ľr y̿_ # C{-4k-CF(^ԽfjppQ0f|7\^a3d{wUҕiM դ 0ь]}QNbWT.ŪUV^+1\"h:еg=Փp>j +-b oЫ*CH׵Gh(MAcj1:QLtwxBOg tZf݈kVߙ^b]jP!SXIsGN/l7O3y|-0?a LYB6b>@p-3(.7RFvsնD7ó2?YWyĪw6vXhŽ]ٖ eɳјJgg]ȳfPQ%L^`}a`aQ PD0÷Q )Fal7Ls:q&3sޜ0e \[%%I8ù s>pٴi +]ʞQK @ ?IoUWp㠻6DC{=7ff:47BsP u~ڪ`v? lo>mnVGA '&:n1ߒBӡC U(| YO"$=3!Q2 @ׄBz=HfX0IF)_u@wPlP ( PC2hM? tB"A +kSRsӚEs@a=2`8Ȩl3q}JCHb >$L$)^>8qZt^wK-uD'3Ÿ2q'vABpaRNH^ɛB~ CXHPCnnDOZu T 52^HF"$W셺=W3uЯGnj6{ΆF.f#W'~#{;֫e=֥?:CןdNvå_…VW.D.rah+i 8Jc=a} Xa2bak7lcwݿfwܳmЗH=_2p5YIr4'jqbjQ3o7>xDxG#G퍼y13K~{ԷofÆ_$TT.nTwR7\v43g7p$I42w7y Y<=Aߎ~m1[b~(h-hHh\`%li<?"ﻝAtWΰ)83Aq^aQYpZӀ4ۥWsN)LjK$4%Ygu 煵Dğ |1SPk_yd`ZT[0VFr2zeN +K<׭EhJ3y5YxS}k]|tDP%VHEfuIcQؘo1}c%殺9Us0clƐfӧveٷ͙.J[}FG]z%WPt!A|BT*˗$S^X`EаtP7)r>0Oc m@o6Sm9`ߨIvV8ת\+Urg̬-l/VʣBYNxBKdń3_ ܣگ逋"`~ǸCBGGAӢñG%8XrӜ+wcNg3de7 }|aQ$G}%@~HJQbB'Ry"es8Ba+z|tٰ֠iEU9H.%:!_YW˫mks{H=%Qi/dj )Բb-in({HWFG'5ԗ25e;8a\sI}iqp)2t|b +~VA `T;!V.J亻r'?$ +K߱!u="!{KsH_[p"$bP[*( b ݜB~xmuSv%2MYY^aS̃$0(8qKQ[Q&']%3ZZ:WtCY?֠ȺYwrpnvC}V}^8vw֕z&Vk}j15,(-aW¨/U V]uTz>+C4-(lA~*h7#};jdEqmim2Gi9%5\y볿_x,?:_/aa ճ`>GSʹ -]=m]]@^7^/dٿA0Xnb>/!W[cv 幷%ޮB:B:㦉fz~t.tV.=Q7![@$oGx(3͉OF"Ʋ9u5ctmim##?r>o<Y, Q}hPv ec@¤b=%F:ފ] gBgb=3) ΙmU?nqxkzq 7/ޜS'Xc@ +v>ʵ sH:D&u9_[sc>oχ`|mq2oTh3q6٬܍~Ivl?ᮝn9~Wc2 Ng9ឋ@e.,x p iq6.a]xj_Ǻ%,e%V/YUKʥ#LyFr6#Y,/<爯1E#T{'trcIICm׀759`w +ﮃ^ł_9}PV )x=χ_u1>FH}oM+@ lzx> չle D((`W% 1`A,H@Dņ(< C-O1D!ODQDĂg0;=;{9F 9PY0s C Yҿ#DHNb:D X +ACFr<(g3J,Z=X=OZ8 `] h%+"6!j&;@:5ͣ1n@hm +}k7jGK(]48Zw }0`W.e@~5Gn+jM :kRsG?:=@ON}DoG=b{}`]$7bu)bѽ5t?+f 5(F?C?b>`hUŗ`RwŮ`0o4H%$"H>)k xCxjth(m0k0QLɼLDcOWI%KrW߀|ExNyn@߅BV5ջ ]x)[,<:t6ᑬt7J+&BZ7pC]h2ehTsE9塡|(T7Tj +:U3PŸ@7QMVen)wr{q]yMWՌCkp^øZsƝ{=fKm`f9/c)QDy P+Kz?'\z?#qnU듸c>;sC V}ҮBܾUXfLXD%L3lw`φ1H6G[g\qǜqy,wy"y_sW8-q;-v\#,s:Jvv:;9:wlqfLm|N:h{u A!8bnqm* +[u_epKؐ**2,m7֛l1l5)0.7TJ6 W\:dk\^V2Yg`(vF#9. % }#cwJFscS[ŋ6-X f%YZ=_ڽXU9 ֥t'+mZ#PM88>(cEV~O8qT oDѺk6+Y"ʐ-ʑg{fzmS,maeye//L:}?>4sЬD}>͟Po ;`k@xry`A1Zѓ٣L2eit,ET-RBg}[~=h(1:ӑ (X2 d 3lj2|/N&I I?Wbиlqr1_5׸S3Xejf<.iSGCp" +80(ٯ[u^ȉ̘AȈҢ}QXqR9Ӥ'S E ]|j)ǻMk"-&1sT?pjPEq췍Ҽ3NZ,ҿqBj;(v<.@0wlpvL8!f)xy\ԨLȵ" uyGEuqwgfd`.誈i*e60 URUZb2XYK(nQ@M\)GO-hknQ999s{}b<31=uO\u]D1D[~:s[<ס='ˍykP0e P0I(HҜy2s&3.N#56CiuXShvNޠGGp>36o_kE QY|7jdYc?4bIQ4I\tl-4 6)1D")!ΐc/T+b۵ \z/NFŋ~>\3T`'ٔuy%&G,5E^rR!+ea򗤚a6IѶE +$}LR¤r'Vaܦ 7w 3wY`%Rf5Q|'&`_ԥ;I 2ۭ^8cGbt8Nşi kܭz a5_b[7 W`=.Z +׆]4T[]Mo:`+@. +L p? f' iA̓0 8 ׃S +{t{Ȁ>-fn)Eϖ:4@ro9tXr0y TO&`R3`Q19*hZ]nusp2Nm U{0C{2OAy +vP7A%PJ^uqW}@w&cN7sG80u +p>-*ka{l(H/xArA$upup}DwPA;6yDt3=S-iw8O.ձ]#Zr_`HD)PY^K:_KFn )kp9}5O= G; pKŦ@ ؋+p By:xyDM?} :[KWO21 F.~EG+#ɗK q_po-~#nT]:˪^nb +8K!N>C<O}'iǠd[[k;ϯEf\ wNrgũ!p/394L`""}*/@%Spk6\KÍ8†NQp: +jp2`9Nű yy9t>`:G}vm(/cH?5'Ip?P;2z4.c: 'i8ڍVW0.bfzWt[=h/ + n{h˸_E zyɓTb5 O7?OEOHhq`t Dg)`Cʘ!]Zv{*vkphsѦŭ!CΉׇ7OZ4gI{Y*w}? A/zPg&2S:Qh MP3}:5<@SnT6hZ4uuqUҠ%YVkNq+5WSHOQZ*HyYITꩤމ&8biޡ'H}1 +"'b{d86Gji`6D3-vv]m / %^^%^DR[- & +[v\^'_H {BWG7&3ҿ| )-F{lM16ͱhIbƤ2l}C<@,L\5G$jW3NpZzfyմyQG}*.*D=P̎NQ-xyO |JOi:D'mxZѬSQ7uOg x $>[TujZ*W+F^kSRΌUighUjP yj9n/L]ns!I!X2)!K CmJ,S,HNe'e%9ĕىeܬJiybLR^[(TĻ|~$A& \9 4{IF ǪXnZ㻨1b12h![\npI%\BZ_ +/7+)ەN}?&zAI(^s?dN~7_mSJ<ñ TMAeZ$Sa2s +[jfKS\q7K]*Ӵ'Ԥ1n},)F??2 J/W袙h!kS.s(N9]Q;yIq#IlĦ3Ein8U(1} +$pGn?cUk(b,% J,v-I.. Eu݊#ʘOʘA'GHotE,9g0@X3}9ݓT84ɬOOZqIP/y_,*ʷ8o{PzN-gߑn1>c ӧ#% iJ-,KRĦwIp^4;D!:gk{Re܋$$ӻ0 +Lg6)C8cl7FgaTV?x B\,Il|ଥҨղYeY&rM"<'"*WB[+XIYIoR٢M^s=\wD\C5`0D"83ƹBqfL7JHCvKCviH#iȆe!Ԧ.e.I +^ ̦{~F`8[֘B99c@"u(AxI$ %_2JF_Tf!شzS۴Ne*Kv +PrQ? +_H +\ la d5i!݉tOR r+ZJWޕeE9X 0e,sòb 3КB[m(xuQ!b#IY}XLa[8 l5N /xF6#n7LŖ-lڶ* joAe}u͏Dt##s*g16Jҿ< pnPBUNP6t>2 kgBCfQttR@Z| 01O'06 z? 'Q@86!=Õx-~ 0h兠V>xڸ\[ 9/G0+"<5`#Ha 8iAu#y㼖➼ ŜG;/"WX_B_-'{9ȍN2I{F(;޾^S@y\|N u'^5Mw6'݁t$jV; . ={\\ ry =f +0^-z~I8m|E&w͜>ɤDtح;DM"P2$ydIOK exJVғ;؀DW!-tUU񭸆2Gq?"G@ο\!/"o™89iͦ=zГQ3pkMrpqUFjFgъSm$3‘O"%Cpb.đh8!x ܒNuY"o$[ TY:Sf*/G|6Eр&E :=؝~@JDd j|<\5x]7\uK18 Ψ)ؐ<޷=||E>86pcQgvǡJ? +`>e TNXI(ћ`Pl67HCNI6ܒCHrCEIίx̲\fimc?p}a2lEa$&4lLY(6COBao/}\)A55J .{]8..]n r[ۊ(%*XԱmSӦi3δv!mӴt2M3Mil/2f9ߞ>f&mJ`OfO-'_Ʌɍˍ "ܱj}6p/{Vp\qz܊5)hF+" ӚjLjIMs"fÙ!v43gNsCܠ"\4wYSe}~@DPCܦ+;t/m"hUc*7'sMέdFNfXa젶 i{~0ק=hgnK.UEg_  yyBrpeCmnNSgcDǐނA}ۘ~#ۥ悺\noӝQ ~+BY_٤+Ш>BIN1@QD,60aL@ش æ4g"dGٌt*tUVG5U~B$Zʜ5!M^Z{&Mpݵ6W&dw*&]g] ] ++"\F5uWep2CiJi +zE{RpqbS#uEuSnCw}jwςb_c٘B5Y3xwZ. +וywy_sjJ`&FOy]7Gif-PO՟ +f"1j=d\?_T䴼n"[n~i~-J#0GLQ;;ZPŽ0wn)j2@eE~W9tYV2s܁wyu65WGyu7HJxZ)st~P@1лoA^nhRqp@P>CfdJ U!#:¤zq65qMMKr)=kJu.ӞF D5-ʞ[ +d!st#2ƶc8ia=R|+,a_؉pH0ç] M&)|II74eָLZqhcq=dLO ej=N'$$O`fbI"qH+FB3sH\3oFH28O1p#Mύ!Z-v87 dRLL=e\,'`f< )H\8شhlX|s/#~qxqo n=<9) Ch_$uh +ПfIH^6]p) D"\ށX"vŌu+XEJʕA|-p~I|gėPG@pS%gi9i%ҿL/וP1M}SQQB_CRJSNhHER !|dB29>eȲZfǚ550żmw\]繟њ@ҚCeSeSE؈xxu`E D994|Cݬ`@c\ 0^_o !(`$' NRp>ٜ69mV<Z[9ɭ u;yr)ɘ+ƫf0jRӢ P676 +}@R;Nl_lL:X;:8 u'F7yۀ܋ouQ`= PSy +*_6XAEl<sDw' L7;0x0ZSלV/R"ȭN'w97?=G3sǼBOٌ<݋*%_꺑aуBFqd$$o+%9V)6 *5 Gp-'.o Y]> C+"/NyYG(2ꬢ:lΧq&9[<`_Gz)s 1'#`uQ/Z)ʤN`uSJY1ks4r.f~/Ȣ!ӝ7:WGP3ٌV"uC.b,lN%3_gpqoZ躙Y<8I + ᧾dJQϟ0ԊhI>K\P\͜E140M\ts :k42JC斒e.F` J.$A"gѦV84%^:e^.R/NZ*4؉zzu uawc3vE= 2,wwȍ>6^X㴱;MI(M"pX2 ʏqPze6>WNbOr۱t?63/QmvU揱-xN,+? bIaJ.l?=*q|]?o쵘ݖѨ)nyfQ%*W`U56YQ1 ^GXmnzxj3%Gyg{GFhh:!m3;m}PcjQevlMv`7v9Xgka}9VoE{X^nA+'C %bY(zԿ=}bi}z5 56t38zc?*ð1ӱ#9JYXR<,u*BSPۓ C%(Cg( +<'bg$LCRimE/R. aǜ|+W㬰@=ծL?2ԡHWO,TcNiB:[H+~vHZENһ\b͡\l{Jza|7[ +Θ_!90IB|B\`/.> \/E(TL : <&JAigV29Rz)d>rIv!cv RC⎙!c1# !a ؐHĄ +ѡIBTh0=4W -mSL +'-kzaRYA#[]dK3f H0$h\FFhM04ᘮiBdx0%|09_#M273(Bj+7& +"0#2L*8y2T2E$\Ct2_ۮfFmo^R=|yߔ-}ԋRR-)>Ϝ"3*{$efEim4%wW^zQM ʶ&fPndXVL#1Z[W,2Z2cI>&6j!<@ۖh!Y>q4M`,e,x 9*#fT{RclO8MIE,%eF+amڭku!u +j[5Vm8պʭVU_Z-mߺC[[7䷦A-Vsy\۾HJ1eRl4^kЯBnfs nԢ:D~aj^)K`eổf+]M"ˁ샓4(-wZ^;ir) 㞓nwF[Zi&sMk.:⽏B8jijpkxju-HN~spRb]05g9#э܆AV +xE{M\0pvƎ4Gh 1.::6zIù:bQG, r/ֱ>[#>AVG%h8ٜh[mӝihml҉GccPϡ_ONIt=.9_9%tzuR glf13] &;Jw>%}iBPWf2PWIU̫8rf`Db405nt;xZj~yl ҧp>HKo[ȝkrf>7vߐ@a5쇃L  B,$B&'fѿHi5\Buz}M=żtC:~5V)@C(M44sћ 4棱XׯuSDg-:XsE]>c}X+]`F>/jh   M@'_\h(Ac{)ezO=lK59cnE鄩zj>^TPnBHȅ@B.@!B- !"BAQDTRuκεgzvvnݥ]9o|=y2|k1;nmmW׆p%f.Ōb^pe^wqbpGX}qQ,MB!R}[;q+67Dĕ8.n0np̆vr|'p"~b!MX‘8p1Slӛ+,ejwѽW6\ڔsxiXJ$+܂d'wc.#2-޺[b_77 I}O0vG1QݟP{WH{1jm }=]8c,Pxub'k&j~GIF(}Ls1.è( Qv 0 .E!qbz]BgNtW2)ZXKM於C~ʚ%X$|@5敏)pS=e勔Ǡd#$Jr#K*C@ZԂvenx:) -f$sSk48?&"fE9OO5_{Hcq2Kc^2F9)_<Ay)(ѡ]QVE9*(Mp+Фtl ;|Us^lcQQfU=|ƌsdL3NY)GQF@:,xphRRW€ + WzPW [jƙEsjN1Ǩ}|H@1jO'Pݛz49D&N7@9z_ЦG t|4j JQU*;,:7:?L>fԏ /1*Go6Gg!=GrO4\Q|̒մoѽ =?eiѬ_> Tx +`5\@mj#5uiBuc:NVefZq1^Tr*L#NKT֬`o+&&uh<͔zSy(CC xIe_3LVe(%dtSV@uʹ[hUIѶ +X6# D(ЯvB / ?02xmY/sd?q5iݧg&#?E^`!! rB*d lnFf2SH/!-|H }z+NRi2Bz'6@m W7Dd;灼i06@0{]1K%5edX+aXo/m` ƣP;612@:Xvp {KO"ޣbrϯ.˥*4q~d%dԳճ|$$;G؍=g~Iރs{Ecpnk*>'͓|]%5!qw4V BB%}lN:PBp$aIvg9s~DD$<Ɂ' =Q%_BfjDd{=YpN')|FLN3,19%]`aB.(}INPWʤ8xd8Du:1>J;돟Ч[o pp p&t;1({@}>np/p_b?'v5Q5M+[4[Rjcr}Ǯ{GﱷEsS{^ =9כ `.AFhC+qrCH_i!eWk2[EB ;ɳtUvZ+~~vuGMD]쟀F3A#bÎZ̙m e|??[#(FXI 5hHKS?(4HИ9hb4qR<_Zق5b.@dP+^?jFؤsbguC |h4)ڏ$/{;vk.rrkmOqR-Yۤk#ވ ?;@_e.hza}D Bc>رlÎر;ꔏ<-zUv5ZVJ*T)W x+>hv@Iy _bh4ICgV)B^fUllF-n~TTj{OĎ\봷hh{NC-U'5vk}?UV0īܐe-5LbCfaJh*w\*v:"*p~9.ϔbUnܜoGEچ{hsVDh_wTb-pMD(9IQ&1S9DqpŚjdt/ a44ztc-Mh`yн\g̣:0+*"EPEaeXT7( +.ǚb&Zq_c5֥1xXҨZMD? \{0t^>|߂3s1TG9y%41W1~PŌV1V$ٍ6es[2͔-WJ3-WAMJ`?fr1 6 k`T78bEqgO9+h`U9Kq&(%a,pFIJHc0'+ ?:cx#%S3=|K!1'tTN쉽/[P%5)J)Iq$[d-`.s\ŧ<+SJM2ZbSI Qg[)#Si)ZdQ5DJH5ʜ4LiK+Rm9-QtzƦoԘТKj0;1Ue +v~ۘ7m]Č~2g V|F2-cY1YVEg56@cehKoPxve +G +r+^eti)̇ ߶LUvyWMP*սj4ʳrUS99~nբf@ pWKXN/`^ @8)a3/ffl^˹-~**uv4{Wnuٕ-thFt2K` Py;Nn{7M.v77\ĵ7TN(WRjgpG˽_&h'?mM^!A918P~!0qGBAlp.|7ݾ\Gx`K:9:A$'1 +G f:GMhI ކ* ]{.CvyH8ZZg8 U|J}'|/Fk~Eo#v{n;tk`3?M—Nñ=]|m--M< W8/t?úB9sIm|y=C魇 +ЏF{ok:KkOB<u:=K[Dp\џDlAOЕp@F=+1ɤI *!q|@#q8մNjB)odJOXWGta(V2:h䳣:FGqK]k!*WmWxvjgvBm1<{/H.ΐ}"1++YO䱜LYvNATúuLM&آMG2ӤO<JpW0`6``6` +$&!IsM4I&kf]zd=Uuӎv6դQҺN:mkUv޷dz{>I}R/xW%^սŋ7Zʥc:\G&dQqXtS gb"㙏5;e2|+ +O =.V%?{ewV,Y ,de#l33a*pN79nek4y g((FsP;."7)R.JŎ].%Yˏg m K(dXѢV 2X4Lq턶GIPݦ2=Ke6ҿ7Q׾H_Ny5K/Ib$SCrM6MNJ)&X:@w8]eos[<7C_kҝ6GYyҾLh_Fͱ 3k6Tmqeioi⧣"D{(Uh:D,xlO}fۯ_\DVyFWf/k\2,'XL5v IM[aS4,d +48/QxKEDd'{VwQi> fѩ6n5zqmIޚNuk>VֶJTzx#f(-Q[仗G~C(7_eJ"(YRZ X;TvPљN3eՔ1[(80EQ`#.x O~S +U..HgI*1'k*j;ʃ(`KO>=&z(쭥z MIv Y =DFۤ~&~OF'dDwK렴ĔDPKINA? L!w("d U9@pA҆GI#ydGΈ$ ?KŻ$ }*wJkYEHM%ZcUVQ[cȘ06HD:)y$OyZ'$bcxMćOb_O7xG?#~<Ši1"ѡ5UIJQ٘U!}z I$m8Ms`/68e|/Hu^dD~@cL<0""2 +* 5"(Ȧ(( (8* ++˩₩1n&DQc%i[5ǦMjԨI44>99=Ǚg}T:++Hϖs''- ŏ;q?>Əq)S&ժt"_u~uyzYWz+TXGO~>/~طb-v7R(=zB>C,N)V|^)P+[]G9DFx!Ngu%yab Qh@#`52yi>ZUƏq@Vf*%cDuX;;M,$ǩW5Ġ1 +㱟LVUG$oV*V[rcգ_Ks4g [{/^g A' +hEc)hdc)E +ZV,""[.v._iswr# kG>>wpelwUSVw JhYG%Vu.ZꚢZL-q"|Y܊TVjZ֤y-*s?RwTcxJ1lD%G(1,V aAي /иrF,؈lCuR#~=;iAo m +1 +ǽl09C"J (EӸъQ)5UkTtFF[4b0dǼa1|`!vS\7ya&po +K#.M ̣>0dQvMvD}}GEepcĠ`Ԉ\Ƹ5qiFkUظ/MjzbNs5MSTk7IOsf`f{{K9YeIPfRIIHJWzrҒR%SJMJM]j%7)MG`A,W}́z@y>9JTqd2јTI)& +`ҧ)1ݮEXgޭX`>x7e8نV7m\30*ǔ.SR3(;[9%ʩVdLE(}t jK4l)w)We 7v2l {Emg6k|m~sn0(z8E BװH~Rr_&,K8p.+*.]tqíAaa= Gw1]_5 ͩPFs([\!k\>ZiJɩm*si-䱎jb`;6{[ Vf6SDEVFr{ 6xh$2.c}cc}ǹ}7TGKH1Ia1y5빑oz v^x2 + 3#jrK y36 Y+0;g6~K8N[ u?E\vih2@o!ނ18I59͌# </W/RK ե e_&*F;Djǒ7pjY`\ U +\eN>aFї2gl MVżuؠu <=w'-]U'mu}r uvxa}k}Ӹ_C<ω <74}tWE/JD3|t*Ш-6KANw}eE|y\Y"qyW(29?9<{=;BDzQDJ^Gt<ΐ))y|X5<\i0w|G'X4HG# |4J=ͫ O[;i$Nb''sqbױsqiRM6Z:umU]K+T(L\Mh B6&B Ć m0ډ3??~:w}~{cc/V0]b -|Q_75O op}$1s4WG + :kѡ\i5ϫ~j%?L FX0i*\ъvif/hGɋ*ɒ5Q&>d +eEi׸?-Ye,-5jԪJ-ЬyC =ij׌!ƔiM5a<NjĮ1]ר鞒ה0F,Yڬ^FzЧ}c~,lZsLf1;5mnДEami21˘F-Jn\U c>nzRqU Zju~?>./8l>Xz{f,3qږ)Q)&iU֦-,xwnm~LъksxUa +WާyEit-<3M2s36{f 5dw*nנݧG=9bVr\Ym(TO5wU:koÇgZI"r=I8ce^FːH_mUPY^g8[R&Au׎*X;EuTo͉[=?kh=Rioޡyd,}TckDָTߖۿG.Ljj7T2|[/iW?ճ@su~NB/ ]m|5j RC%w{jc@霑sE՝GT*^eٻހ_p7ά濏YjN~#?yJ +ZUVnTTeOLCS-isCO,| $[[&[=>Vy54ИVA:R#Շ}…rn1*bQe\HnUCe٢CFS]C;'Ḵ{Mb?9WY73hzϣ3N Aۄ%n໣RU_*KT>`RـUA6 j`#e )>s2/]_SIǴ0:tf|0^ B-'F)ՃRuPAED6$dLeHKɘJ 'w([*H^T^r*7C%~(cFgJ D H~hObl3ɘ*QIʤ&*Lժ ըT@aتuL.EL%*Pl܎3% Ce{ˇvLJmϳ?ݿ}" JH%:bv̠RѰ$H@phĈ`ּ>5&ym xyX{g(b5 s/w)1WΣ0JWAJc6ԔG1 #uơK?C"<˚eße.o-q3<{>Mzmx_ShB?ʹ |5[By=g®r'oϳ.0gK2{9 2{2r{ 8|oaׄnZr1xvfK04&{CYi>>椏 ~q>J%?A۹B>zƸ%9j]cF2ur9ACa?/~곟B;i8'U9@mcAg|FW(ćW$ ^~Ea{3ظ!'}q=/XRl $Ip.G&& ҝjKt>oKOlH1ӝS{7$ۘ~S M̫2ґZv>Ϫ@VOS;tF=ğI |ݞpOѩye \0]׹ i"'kL>RXf)'Z:%t,ev+-H|';!.'v5LqTa'&3iB/mt9.hXIdn9L?Ev( ,r5^qOCr1/$v9u&q'-[|c!.yds.3: +On1.̓ي +U2E|$E/"|,||\q7˺LOgTT2CeO8[S6[.R^/i8:4D# <4(GJ31yJ}P\M曓Tp$:`v [6 jV^?!=8-:qHCh(fSwԫMԡAS4>. Y2a ݩЃj +=!vA@{ql5[=0fO53\6;ܠICtgUaɚR{Xi Tkh79|uq 5D,P}JEnGBTaT,5VŶDٜ*e/Hy&)7U9]N%}Ik2*#\gsó֣T= W|$^h)Ub{ +Fʳ'+מle'I.;FY)LTc|Pr:#x>3zhL9eHc_#yVR!: qq)ˑLS,yJO-QZZRL#}R\ z@IGeǕ6|W<h5 ћȅL|}^d+ +W\QhŔX]tȑ_$4(c,J*t=TO\K%7MEF4 gR]AQg]wEЪ(* +-, +BmăD3iFUi;1&ͤNkNc̴L56i֣c,d?Y罾}FL+`WJQdv|dȕQ Jv\*C ~;+ιOcqX^8V±`>( *id_+;IFYIJdT'[y*u)ڋ'/ыp| <<_h&q;(@1τ;~$J ~dʼnJ**@0 :3"$ * !yURxP JlL_qÿ~Llu1JXbPt|R.Fz#ìCH Njų#aKgpK-/p +PH9ĜE̓}O?/Q_µEgKO F+k+:w%KF.(\/Qu`;ϰ-DMT\~vPBsy&1O _?f4`9VAZM.?Ppxs{Ez3r [d!m\@̳p}jΫ)$C7XlaX?X6N`LM6s6U|RMySpw+TQ"͡|ի^3uK a·A? XWY +q/O=r, w}qKCM~'q~g<>,O ڙzb/ku?#|agD:a/Caq0&Xku7F4(8!8G䠿&M sA ";`4"hu&x`x?NsfO8)w /:r΄;M6HhD9pɈH#88rpu\,b%% +~O +y.!MwAQj@|ν:+OQ8|H❧I~E?"sphBp;C->Un3o>$}|QX5=:7j ~{=Hj=k? +Ux3z]W]Rt+pk>\P\fFi3[GP'^uz|:z:~CE0-{/J'i : A ƸE+Zd$,%ض㷋\DKè!A6]Tyxscu9/pޏ#N[f|a +Gb]m;V]a;l/nvS<7v#dr EA+|2;17bۊtf.v#ʎ^DZ=B]F yBz}d%,ã%2vb\lQ*'a{:sυ.#U{~=7QBy5df'ީ~.=$8#`; ۓ=beد~ ?:CZEKo +rzSL9q,Ǭ`#vpFHo~:b&'2B". +8p@wtұkuԣj .3HxU32_ Vq G-*3VÑG&ȃceTY 1GT5Ii +De=G(\jycm+U5qr ?'L84^zJKXk'/SIF-6X3k,!K.l-HWMbHQuOzU&.UUfRqJL/tBEp |'6\p-^~w[62UcJӔjTM3Te|S**7WUV㖫hjͳUk}Eso*!=pm`cmzk.|q⛃SbUeMRŢ +MI*NS5[ֹ*ZS;IyW)7urR٩O+fL9p{HC +U |w*_ԖTRST:A575Kslʳ*VDEʞT5#}2.5-cD55,! ¿4`$|e}oJx  b I5AI*;œVYKfnVbUQyUۺuն]ﶹ]n9 d'y^z|*|̍W%Yety-Y*R OGrjU(Ek +&-V_vl4~PVg~”߬8Ki̥*PfYI(/TzT) jhQjE'Uo@ɾA%;Ċs2T\*>W?a;Rԃ|ǤJ pϊ|THپx&')ʨLiԪP*JnRbuDŚXFwlU|^U կ+|DUݬmo W +TP *1Q +<|.HF3ńٴF4P(NiO;JN3X3.kᡖ&lAĵ)0(41{$f[3K7E,^mfv)##ψvl/ dx:4z0^oQ&R1&J ȵ Ny=/亭Mԃ>!g}6blS|s>imd7yp.]6E,`c 5YQ>9fq/r9br9c/[yfg0% .mm,o:HCYk7f-Pl,`'&'ߡOQ!zt~"'(~sbϫ5*]Msv,!{_3hl<&Bh-TlDŽ0 ň2=r?F(8 +a:tPuVr4%-|4.F&1BJg蓳q\E?OAr3!pFpvR#<+;<au:Qx\(.A]6}fJ#+{^8i=syS~}=*:+G /P]Wiԟ%.~J~B.i\:ops0^/c_>Q\f +4G5t̻jL?~ʹy -JCxЙOEh47jvP}hũ߄3,ji0)(' +L5{ #u̼M`pEWhT՟W<~`;۹v0Ŵi%mx} %rǘ as9jj=7{L`e R5:%.Z;}Q`O#6Zm/u؞{݌VlEݥ Te е/iVқbX1\G.t욱k.l{]Z쇰V+#]Lb +Y:1~6ktv 5bׄE g?RX a2)snM?ӳٮ:e05&9(Fd}{\,XH.&=Fڍc~t!셱ۦv,n/f:z43UaKH}$A+oX&fp:9/:jQ6LC8JdRruaĉc;ǗN8NvlDZs:M$m״ K֭bBJAVSV1Dm0؀A h*h6&.ZQPG'e=:3Hì1V*f젗 c%Xz>A4lsGX 㰔gKH ;;Ѩ$:u42to>.& zg=;6%ʯc³x/U|8fwcniL".|5ը\nsL]:Yuv0-WxZ(m٣fA,ǔVr vM{RaG^{jSWKVZliDҸZJJ[;lWʺPɲ1%(n۬mjS" +ۧ:\G8N +6 +CC7]'caVDY]-vJ~%uJأjw)UԱ@ 1E(llVG!~*h<G +W^k[KBzNUy9-粼u7 ;\MZL3v@gi%r1O5m + ջ+rW]'OWT]HU+ީJ.Uq}\Kryr{oj'荓@.pm4$x#FE[תסץjWU DJ[զ~UT㟐ۿA |EFpJ偋rPOtk#Z!kR]'D~vy*婩&.W0#gGڅ2j<4)Gh/òRYcm݆]h44O#"YePP\u9rWɨUy}4t'[d"kdlUidJ%#DN *\d ԿEسA,$!=P ˀ91B4B6Lֺ"og4t@ mM@mݍ>T𚱮ib8d6cLll&qc|-0'3/<~w4\|tzFaɪ{Yנ6t-#Hb3ı8VjXCc1dOT +3oce}~z.hE75L\=5-Ch,I5$so%{sIFMı817v0&;XTVfH3׆A!s++z ))"ö[/:@ndwt/ ıv?~ޗ}S) +kyR{꣯s"!Rt{^sk^nh +Ƃz8K!Lt?I!q8feep#TxplCN.a0UXR|e>oH])a0K$SgX'0ٟq%=y2ղ1@ۏk#VR+{ @^y3xޔT'Y{.o?$ %KE&<{ŋsgW ml}y`}ò{ސ͚:Lm`VKs%O,~ccl:W {ś4썓dŧpO/yC/s /d"oGG,~~ͤyIKLWW^/}_%Կ,jg'ހ Ufyw?6sZ) +:2qӺ{Esxq~&̳gcۼ8m~v|;׉8iM鑶뵵)F=Cݠ$@cL ILHCC􏩈C$PP}~{<$% ݜ73 0(_fѯ=MgP^ O߰y ކ!$=~7V!Rd cse e:#h$>+xyK+Dgt*sB?Lm* у_u]S25t,v#Wȑq?>2S{R#aCdC/6k*< 3ϋJ\;-[Cw6Н@wY4:0 Gt7)T 2d V9-hm[=c0g!X=GG xl'[p3=ѲЄqQϰǦ![[-&v؉c'vة`;fL$GS\VY<:ށ(Na |ayjiȓ*ʝʕ3ݔ=$[愬epf(Hicc{SP2(:x$!(*n?/UK/w6$gGL*)r F%O9s* rg}-ckl@%!4 +AhߌM-]N9K-uma*$MG+],ljj@iCePPo)CН$PnNS!6J@e4U6]?MS'hu>[w4qu:@zJʱ{-hAz<2Lrr®Y~ΚE~A!ah66@A<0ǀfq&m&А ឦ ]` ta/)q ĮQaE{HYaNaV6 3]Qg6{9d7l[ Pb F +*e(P*SS +J/Pʥj-2 ʴ:ڱj 3Hm-ɞt;oel?V~YpYKbr5 c̉ջc,NY{&Μ&38]p~ᣴX,k:gHL6}?ѯ' v ?mI[-~x;gr!q68wsΕΒmQQ]·˨#rs[ 7c?}&{vdVĻH"8sIKi&xA;.Gd##h^e~WN0?HH3(qe3~VpNEj'[ٜ;nG<$H9X< WU~H<^W^ef\. euqDINۿ^p᳹ϏU6K<`,D$+5>>ɿJKb&>f- | +Ol.>IQAaM2z 2zQ{u΢k~8 p ޿z]uq-l$.%~u9Gem~~|?D~bz":'~BiUh +^VXe]SNڟ&hq48Zj%v؝lj~>^n.NC)u}v!~D_v<mv\pǝ;vd`IЈ"v;;eZu&v;#bl/"Vc(p< 4z"%kЙcp_/;muiG:ў؊ @ENA{;ӱ;arXeQÛ rW+b f8S a@䩾";=}ll>B~ *YoaT1v|*8=ط{Lcz\cQlz+۱ݍ>l`o6 ;s:>GNU QuCt~1lEоkپ Tc ~o~;@VdjYdg:YG-e:5c_ ;~σaWuMC,lr2ژT2c^y;u£)TE G7Y.wmkUh9WJ4fy$;B5ur%X| EΊ}ṗs&o/E̻,HK}ܥx#+iժDb񠂉jO˓˝lSMG;lqf܆i I|HbxSGdQh- ϻ|Iy"QX+3SD~ +& y24Xr5 9gϢ)K{caq+X³Yφ$/"\Cedj(fsI>'ݲ=&=#U0?;ӼMvū_nF5#\O&~mXflؒ! ||e6;A+h9/)>O&d\25 +r73D V:HJW xmǶAlcoC%K"K+>|pN+=`hiy׀)ޅ~F5}faX5 ZZ" +nUƱ3h:Z+neJ;=HYB6BIH@P !Ѻ/NT;նK2x:ɇ0p=!?}f^LRpφ`@Vr@G Aw"0<A!\ŜԪX<71 1 '#hGw_C0" 5m ṫ` ",B",BPGbP !BpS/ t3Ϟߧ"$/0` %:BrXa`F6;XApٕVb\r>i:_PK -:G/Ґ9c+.q|h"|X ~5.5uбFl 0a|x=u04.zE4)x C$Hl- yױ;'jn i\ W8tl-бk؎nA pNlEMlaY6{ר` +Y;y80_w97=Ecg@Ҁ= бQR$Ή {P1j` B΃Vݕ Yk`Õ(,7U +U+'F|` + ^EMB@n/+iQ'B/ paT/D;C!XB"0cr>Q88/l0݊M?xy~n07|cǎ0q)SMs^(d^^2l/WYn_zWl۾ܵ{"ވ־o|#G?>3L6ğ=w>1)BY"D-U5ڂ¢CiTSźƦffpvv]|nܼu}ŗ_o~OD%}y1<\'_ gK"0X8d$ D0QPp)#`@L6-F8n#mO@zH(=&c̾dݽz~x FEyy = % G X'$`(,K?W-=C o"[ ;=Qo;p0ȱ4Ï?!Idr -bXwAWM1 0 +z޻}_>xo=z;xɓOkMuDT__ba~CٖsJ:CR Z G#e&\WfHKi h0a@À 4 w|kfdKeUh_ݯAųs94HASe *g)AxӀ n_ToO*HSoTb.W]ޠZA Р%4(ײ3n膆>nE$YL!`*_mԝ/QsР 4y"ySIfuaƹgc,i0,5pCu~S9Ѡriȇ۝+]xWY"Z:ӸdM3^Dv 97V0N6CC4N۝#>1tdBG*@C'ie$5hͥotРUrS!\ʖrz$N:Ҡ#{脆ƒn#Hi КʷkJ +A˱)sNy6K"cwgI=q:E+6 Zg +Uo-/4CTРa;rV(ՕБu9'_4qbf՚ *ʶ̅ڸ|5ǢT۳,8Ȅ#Eƾt^鎗{<6XjwУ-VZzQQYkF}QLVנϋIh4X$&}49߻w?cW{YE˫}?Q +˱lpWDL|rV\`ƉмVmӰi4l6 m{Pdžg0|ǐ0aV]ց灡F!ʺ[Kn۹l{`?)`oh@lǧ"sf\޼-RtɌ)Nm-në= +5e'#1=0htHh#EAg"F Vh•Ibm0;;6 7`2>A :SvIQĢU]1W B% OXoL[n` `Q/c×hޫF'Jcs_+!DtU3(˗vjYy`xN+1™-x[VJf AƻC),ȗfjkۭTkëK/ck$fLGz(6lj;^i<)7m}Uɰw>&t%4aS&Hsĉe!e;l[԰0ݸ/WioƮOW}/>{cI_ᜲks,p!m,g9@Ov.Rgu6A$Ⱥ[5X=ښWǖͯslwrl$&";$&,aqJ'=ʲ[_vwMæaӰi7X?ښc˖9_ 0tJddD'%x:,&rA>'>\0EEh`NӽGWpkz^`x +Wc"R,Bq&<$Lci7_uA[=kV};Ǘ/ b$fǢ* ˱\PW@i.wEfx΁HmjiHW#-]`0(̩ IHL` HwEĴϙqrxsvB@E͌:yn8~ ^I3mfځ6MmҔK IJ qCwI֣yGﻭѾobKl˖%[^ p(t4uU}\?ɩk3Xb?<1{B1 )ʠ)u +e;5+jK״4Œ^S5x{z~q_=a8 ie/ŴxXj(Q@ӨʨVf =[rSPԤtuEhx{~ {/ͩ0/!=k[8P&ڪY V $7yMRULMogn`##4n%ubD@tPf*haTIȚ^ʸ,oe>OUq x -"8g3h.PԗMЬ] U,*WPW2M~K(d+\+x{ڍ^o_=NioYz!pg'ئb +Z(e^ik{dEDUۆa}B{_k_ӜB3sޔJ(6y +%<$iCPMAcqd"mnf:p~0HA\^0K Ì*QJ 82Eg`*)=P3؏6r[h/w`}o羣=\[u᣻nj:|ͶoZp7ȗ|ImKu:mlB%a50as5ޱwDGI^{Ivx\/$ٝh cD,IFIdB#mZ47"TՁ>m3V?1Yiޯ-:B}Ky/eN(^, +юd,A#$9Z6mtoJZmio=aqS5ݾ|OӂSacO0.v8hx'#TQ*LIHLʆt ޜYޖ~0˪a +аm=ć“!A)# xB1B 3QFg2R!@ R`, }owYr6[iì+auc71'R 9#lD}qNܱqZӝNUzuuk@zWEAAP I\Bx $F$@BȅpAEVԺ9;m-ʶ?*9M8bɢv:jh"(VV@ߠTei4EJtLpavwk}n䅜4~1+=n*(NU +<L;sYINiBx6 +_sZfFGܰZ)HB':!TUr_JDot$ H\$\VQ"Fa]|VaG ^j2#(Q6"*r*&!i"$]0 k A]0ݺ4!>DZр/rz[IV-9~`qL45z]ECmdULDD](ՀOICVt^DA$"C V[+{$SL:Q 1hG 5M|CF^kʇZx3UAPi/  n҄di=ۊ~i+zd%C6@>k\OX["d>Еq]iB6gx;iذ% +gd9 $*MM//uxUakfR2ȕ\o`*X( 0,OƤAq.<1*; O[T{j8lQƒ .3&Ba:A8/ W=hS g4IC΢/}ڐ:=kJ]* *8l]Kh-nH6j &_ciS 3Ҁir`xaؚDy]Mݧ 1M&o +Zr-s.j)kjTAAdGO۸7`pHGܤM$Հ!o?f*wm2~\?h2b۩z2lnʯK @1'TYY0FG)2UhӲ4`^2nK֬f{}Vm&pҁ-ZwZܥ5UUz(ԦMjJ m3GrA A%h4 `Z ЭlVy1>g~ |y؟~uG? ӷmHozޯ'|%:WS 8#^87Ѐ`SӏT]=r{L&u~C*gN{i%8 dp?3 x \aheeh jOy`~RMOU!KrUh>Du38lj,J0pzT~ޡ{&`jmյk˦t˸("R(HɼX&QoAqq˓2,ah6EeX=7eNަ ;63e0uOɧ4]jnH"QRĀvߌ帶la,/1 G#Œaܔ>ehi3~1k<ʞ1tȧiPQ'5D^LRMl)l8q(˛G| 0#xeX+)z 9Ys{xJ1?o'ud^H2kq2,9ʄq00|hahe>o옵fϘ+&;jpQNj$ +%h>鵐ifqfb5\Éߊys&``1k{ڦ4vTᢁ/AɩYL"2B5=+ v:̂*;\q`r!=\= ycʚqOZO:ᢉ/),duPbM97Fz\Wjz{Be7&H΋ ( un̬uyP>8Z?]'[E(fjY1)QUoh"^jN^l^$oGs4o-Ҁ28>u9Ƚyhlu^sKO3;(jzIyD. As\5KT1E7w>u>3mu *].NQ!iWcZDX ޲=7B^UtpQ+.hD2-hM;[l'Apd:d;,{OHgpj]<5jT:hCjJ +]QI%d@ [[ߎA;.}߆w[|pRB\G;A-٤}SKUT*K0)!D=eRoh`2xo.cxk{wt#;]ds=c?bv> k6`B:EM{MDZ"VE +Ӽgwo2oM{ ireӇŢ#3PS + }fj;8wym>3tE`uÅzAQlnwG6{xϫkE7]HH ~5_8ɯs뜀gq+>~?>].Lm`=acܜ>"ˑ~RJaiVUXaS/%(\bxa@ @Յ e nH\tzK?Y)ƶX f#fHvuqҨFą^DJ +a]XH:$?y.d_Y«ѶOo~~ZJ^]rrj[Eۛb.A\Ԓwͽ xYbN8ww`{-CplInF'LǬ/F>-/,zTB^O>{.V~1vtnYHI׽{Bc{C: >gώP:}$%_z^US~nˢeϪq%kҔIe?R˒6^L|,Oxri' ޥ^y/ >9}Ǿ+22AnB:@$dPɈğ?Ǐ۠d~u9;3'ܝd}/Ds;d~>O`?T.@WY4v,dG$xPt2\11 ЧO| @<(1>0nN\x??G )eUMuƥ6-k8b#S͢v횮馐J~Ү*`wo2`i(`!8):W@KD|Ъj){g3Wzǫqdq 1>, Ay-"8YhfNS%o_%B)X7oǶ;LyeT;- DA  p[ZT ͷ4zS>KkL7tDa 3fY`l^{j{~8 &x@ ?= +R7 +EUne2^dQDLr9I[M#D%@P؆~?VN8 o @A$o @ (pM@/6,qkًxդfu㍼*d %vk\Cn\ӂ9Xgh ?)lń(9 +R7DkPPqKf9T$Y?. c(w 5A3xی{6gsv` ;llHklԪa *,ђY.I38aOr791fkpoui6ٶ0 ( KJlK-Xo;_*%/K8 P*cK3\iaY< r|^|ǐk2L=>_USI;İ 6mNH OHT$+U=Td웒rl+Z3! 6?9(zI!73`zѯP^e-'ڜ2a@d#LҖ*1:HFמӼ(/J pEHy,pWt:;7 ^)m.3ȷ '=Zs&6qg +6q[ͷOG$$_py"!hgT6! !E f_+Rl.[buũ@36.}"~'>]W6SL + 1f񌒢Su<*qOhfuqi6gAm8%h?w=Oe4Ĕ=1a$P[k匭sH_g7)hv!oFVϷ0&96gtdul`5( _YT8PG]s߉5{4;~elH&{aL0Ejm<,P2|sszl e1- +?N٭s׏oPʝ~w8 JW14Gu'C0VЮ#ԫ%JFWV]R-fE`%la*2 +& 7Ym((C U5XB~dgr[7h~ }hč87w*A?:Lڞ64^or]҆Xѝ&jL/RiYvCA)Tu6Ae} +{48=?pkbPVg(3]BGiK{hnzicgXeTCP T!١} փNt[>59w#;vމ)/)+F $ev+Ӥ(󻒔.RPtSj]Τ +eGrJc(D 5f&P}j-~&swl&n.Yh)YQtвE~Nkbr[iWra;=VCjRic.TڄjP E &P)46_.K{OkVW<>D:Ewa>r:lHd(qm6r[uKT[|ks+AutpP.0Vhaf' ,լR:!]: sep1"@L)FK%tەYݑ@ 29!kZb.zۖ7.nޭY["B>ߝ1cEGC z)?"WWc{5: DUՄ/ +jDA?iW7lZ7ʷ;[%NJd&Dr'IY\hR60r-ʺ6WC`}UI$P,1oDAÖ/V:eņ-`,oY/ݱ)|! 1iTܽشDιt^73h0!-/]6(֣5~c#턉ӗR05nl:CLy! a1Q_sOq!)%5#03g!0̃T2^6:ע4C_XW L: ip='>sCa@Ci4kP z#T=saTؽ;`fVg  ;`xN@vvG! R\!pJCPy8Otغ.̾߄?m?.N8BpDt=~8+[Z!H[Ck#`X 0- - "dl2.b" >c @gaЫ\BXK&=ה%?}*_Ŗ͐iŢIbhX<" JFA0(&~> C e Cfpc/شLVbJ-?k.A7_"NDˊǣ%cƒ1;;AͲ^bYgT2Cb!,OK= yЫ7DvZC&3O&L%Hq1|4JYqZy->i':OJ|C> 1d#LĐ3ѫorٔTÛcM'M$cؚr]0IU=uf# ȮZT!΢<0ZOsjӞqkuQj-"eA` @XB$d%!@VI %$lj@AA VG;ߙuzݼ٦$DbRfw9WiQ^cUT-U3f5URmJ*0P 5ṗƝK@ޱ C? + ;61|3$-!xUF1x&(bJfX,tf(FނOg5p}o1(f|Sv/%V})$;͚F.MeםuEmvC'hQCݢYаsh],^trx77n97Lw@,Ddu,B %k{=eե:uS.uܥʐt*ڿB۷/7&V,tOmx} o*<^DAxbyލ0>P,8OkĸDT6.HO:{9F#OV{xAW~%=3ϭ/?ulmWۂ%/=J=:U|?HdeP2дpy7g3w{jd8⇃ȀX <&(Gdl1?Ƞʨ13?3vjjqBn8J:j`G'`21| ;7`&oPh1G a}C )ȁedD#O/6 P{]䈪F (䠀Kc.#KqgKhpu?ŀ׊@ؿtAC}"c_zAW;(v@ہ;\BPn  :w#-ya~ C'z6 UC_ + B 9t ;{p?*NN& n +nlw p?8_QC< +Lq;FVk)+>eRƜ%Y8ωgz4Q0kMa?M47q1콌!} Xu;1pC:b`!7Ey!%x„LiRK33oT-"֋2$+Ill2_;$'I$ʻ厐7Fz, \ GN-M"EǚT`R%~BL&6.dN(&pG~H988l' +]mE P7ȌE2&GrpI/9iγ"Szx2*}L|DjP'^81Nh~ʾ}8K ii1U vp9l Z$N0gy4x2L6AT'f=$7< Kl#&s)' /S՗@ A +N*1hb d| Q&O%xΗL(Ɠ+jU) QS4w75}M{Ҁ6D6%h'h ĈADA pm|("F-lTže 'Z88kaVmFwII7 +i~~~}FY;A2 Πq@PB ^WfΔT! sF.JsѯzJrИk8W\+e^_4 1b ,oB! APw}A"NUqSJxBrR9aC۴s%Ime]+nnYfSV)) !cHɽ_oCP% I/ ֔J zP*5aniԚ>Z*|a98fkz.7q{ʹ=O@dA (F0aDY0H R'uJP + ;-ִWSXmzNf+2~D]nt1k%~fo2 0~Py]܊?K +ՉLMeQkj\rU[kתKmVHaыLzqWb1CO@s0 +&߷uasQOԑLe-ZyUqR+ +Ygԕ[j2ZkkU6NQt.bA&b#VgL{BPz7CF7}V3GvHwVeU+mŲ.5[4my6kR-4UN#rH|jx>A2 91PRo<݂x.NW@Ʋ5΅ʃvz!0$lŜ KHH"N_Ԥy=Hzg04Ay,Ey٬,G} "}bg}OXeeK'!vD _0Yǩo"ȋąs^kJ86׍z99`t2~@2ȓCByvK߿靐E?)ԯ&X׺5\L^sv:F"ed? ƿK \⇻)t{]ue5yn4nq2ueI 1@&d tGeɍRR؞Z`nvb, S!O" +Hu rK}*e:.װ~vxcOѥ$Z"oieLMoʲ@[ F{^ ؙΜ.zD{@,D۵rZ ?8rD݁A bfL6lL0V;f`Kdp3% d 7 l+Gq@#[8ko G-x +,=j] bOrT!H4dT2-pSbj'tC>ZMISs?Ç k +LDFr$j@#H$C!ױAU&46Aw'(vGUNkp+o5SB!JbD}ӃP*CD}qIE3 aQ*qGt7Z#`&gV[VpV0wEJz@٦ }}/DІ.ݐr%`U 0j(6 +pUa/S 1f-u%o/&|E@j R|iA +~9_y" -c>CzϐBT0Bh2@EjpB e(;`uzP/R e@SWI-A+vw>o/e<{g@|˚]b={ǖ lMi24kp/70D'^' RʚBka~mg}#|%#3a&ϰ&5==-:+ZQԣuTD+ʅuBf! H,'$!Ҡ("e(U(Lx@e(λO}s7i /l>BG/`X/Ш[ DՄ.3#6'=0] 3ĉjқ:kci!i{JFӚ0#NI@Z +݀xr 9{"=qH{\v[laSBzYF +Hz1|`D>e1̦X 5Q5P7y7@?H @O< qzܻ,\>5F})b_d < y`ۣpnapE?tݦ,p89 ٹi$,~'<=E3ch/qǘcӬ*h䥄gx=?1x~M\!_;_[ 8> yȷ/5 Yt Ac|bIo#e\=;0 cÑ͢GV\_͘>؇:Cɹ>q%y?h] zjPo4L A f~ 'J8=leC5Q QI^M|or=񁬊@vܛ|ܛ,`:jp!ul,Ap#@䐏bv/f<#|`l \QރR܎V^N9OJtQ'i= +G,`Ow& iנ8 `ڹ} 3 ѻkJ&DD0 GMIT: wc;rjޑnct3:S ])lG en G `2w, oo~g1Ag[$KiPyRT'5kkCWlǷiYjl|(9Uѱrfr% 503o':M,s&[W8nR)UK]^6a֖ 6X~%dgEl|AWIg)E + b K1F|q B̳(V=1mxCY0;̂c&εk\,č `rlLjxcWʴ|Yu6NQaK:|a6.ݮX:ҝbMf*7CIC<\:W{}w/<صSS~ՍuquDPQT(bIl$$,D*0:ŒZ;NZ:nǵZP*2)UdK9}m^|^K.7VzaZjBK5}F_\c<\mzGiafӛ0ܻ=|j|4쳨Ǟ$MW?l{I]voqf"k[եm+UnzZh|:^Eh[m[?QIT"bŋxFR.p\T*m?;1te!WrΉDyjx,k#]!ԳQ>ňX&gk *Y>cȎcd%rQ)#5Ңq+QhG3bwF-!?&H#!EjZQq_qY_iRH #ܰ8΋ŊhM\ sp1nq9fG!~%d͠3Y /RLtFkӡ\Ob ICo2 : Ʃ:KayU4c&ϜBp,4? #G2_%dBR+>a.| sxF=qs@ ݄Y0)։AXISQ-~bOqp?;"s;TR4HH6•%t0 `Hp\"b4GvnM-13Vw_,Q1_@? `g]!gCzztPh +á.r=3'CM*${yCBEXtY m Rw26MV/z/钼vH?i3 lhS`¨DFf(Ь\_ܜvCrH1D%3O ;r,jߥh@aEvy7;S0 A1lz, +8HA6 MPnK|bH- z9DWUB𘂠z'~٨]BfoU A %@ǰlr2p`^cI<BW(w8 V)%$uWT5!zJ _6+_(ltrH e&f|U7h2}`t06 +cP2A J$7?OCj!L0lSAG~DuAYgV\7?QtR6?I:?K 94d0 \`Qr$TOCl6Vh%o eLpq__ӫڣI7?k~"-ցjWuDd !I 2 hQP(ThI ǭ{{̋yy~y$A'b*37EmJO%\OŚx4C  b'iݑ/f F}KF-%:v22vfAi:Oǡs=_H`0Z:*J?,m: 20% qqChmݨ6foT?'j݆49u NU<*А^ _b`406YAP24]f2e\w|D x~j&TxXp%=6s@4j rѐǓ +) [`bc1` i,p<f;/_ +|A;sT!5஘I 7X- eI$->CX?\Ij(cO3 4#76N0 Zd{߽\ml׷m#šC.9 !ƶ˜LV]Q[j6,KeDŽ =<Àd0 x9h@ZjKf{p?pjw˓S?+<ڕߡcSX8Z-PKj~!Bl0{R2Y:=,VGr=/mDP\s`z[k sBfjv,t^<{ j]7wZu@E מVET$xb%Rν)S $"B˸D5ŕhڷxHGz,߾ோ;^5YovYcS%]7+Îj~jrXUPPl,S.)Du2qrgH\&餢aH8, DO7"@@*,XSiy}-z.h umǟѨ1yHJ%e+f% b~jږʑ!K餈tXHFy1_d 9i9%FWa`FN֏oU6>\w1ҧ"6TU"Oe!<32%Q*f<%Ii#b|TȖ 8)GjD́dtm-,_tmkŃ]_t_w]|`eDAmLpfV"tnKR%q)yI㲇%dՈznLHK +B@ +6X֬6c7WG0}wv]:֋5-a9AZRNV +T#$Jđ%"\hrLǟ7J#rn<[%/sڥY-xg ~5=?Xt,S~gZxB/sI$4IŎ gj/C5z*4 F.!gCȚ0 -Em-xlۀl@З}pƁ}U7ܭ>"Ϳ{IŒ81k5Rji`MK vXQdbF0 v<[_o7l@陣UeEmz]~?hn/$%8vC2]$ow/4WԀWKկh!Ab;,å` +tYk24cGfMcݬ?Q }#ف!'Gz6⼆pq^o 7}:Y0y!`XNKg j,eUL9or^!p]/?4$BQ.X=㴞0&+Am;2]>0GzbL;Z hk ,A}kPdk-[me{Vg]1f=Ϝt{jx&{9:jo|}{׉ϾGt~;߁pF:0Yc>:̓|ޖy9ӡ7Fy:-p.]gQMy? q +.,* l!!!{ I 7kKGwKU#-X+:uA=zL[8 +B|潚|w]=hil*5{.]0wp3GN RqU"֘[>asbOn"){>G6bڸ-Gx}HY|HC4ЄaX(AQ> a@TNq Gq2͓$ߡ(2)*%`8z dE!; qL.}6D3e|4|Es262'aqh/Ȣhf3 2* (\GAi,; <As +Ru t:3ALd> 1y +J ' JCʀÄF KTaP-!DXK/ldAV'ɺ.g Ivg|[xbd=xM4d'ѡ`1IgB'^9pGCI<ے!ٟ +tNf@x&v.Ywg!>Y/yB t&xCȀ. &E [D(@/8nBܖ>BE<C!ρ ُQx /(#hPy#o1&BPPCUꓠ4 ʝ =GBH#3 KGR9 &'}HNJ1&QOn=[}KAݝ <Ϡ#4>(:qLT}å +A1(Iy -|v{8TgP^RWhʟk4Owyw:?.)4½a#*}P23L}*QhAd$?ҵj}jzoW ˦QӅQ9g0"7x&XśU@|e渱jGʰs)wtuV+neEc88ᑾx_~aKyrpf.l=tГ|{]Ċ:&N'ؐ=ա#1+mWU]GF&K_ +n[nZd(0[mmECSC-_zl/yAo"ؔ-Y#zY[|%+p2\+9TcqK?gK:-;,J/Y_8Z4h 8NJ),9yL~#d+ȷ.ͱLlK2ȟ9( vmpo]_JSMk{As_%Q{k7%γfGpYeM>'( dȾWOz4̣a[4;Yp؛=n[m .ѕ++ۗn)ztAGd9׉+eU|Yy+׾ʾݮ~.'0FfQC5&2%?1Ad袻[~mC?h9|{ɉǪ]]mK:j\]Etm_Wly8yƟ8H%CESf_˖889v!5dl!ҴeFiK4L^XYA@3AZ6]MDj+.;fw9&G7%ƞgTF.8M$, +%tIIlb樒I^֥N{:+vxof:4 kRe i"anH^lYXVt/#\Ԉ 5=/%z*"9z&,9j649j>$)j%=֓0{"_B4{YS.uEp@ +k%Y5_qOfKf|Pw .F +&BWLxYN\;.v% +#<{+UͤHߴzrLNM~jK +ODdg%222YI„)x䇑 ~d7*a:<:~7ǎ.DDaDrxY~nSћjᮽ&ʷmZ_s2P"wZ~ܙ *d 8ᇧOq#Rgy)~[& `A O_B'=q/n&yd,@؆%`mY`Yn`ug=w4{@7|I:H5 ?BHI t`{R"n>|bf/s/m!?삐OV"xF`'!,ɹ 0z}OX ҂Ag,7{Ɇ_g"D.ǃ +QvGlYMtBt"s+]*W5Fh+ !:i__#;?=G+b `>7ҁO=3@$fAb"h%[WWGmtp:f}6aי D @+5zq$X?r'j"Du"֕ +S g8@> JdHJ[Q+<: D3q,]bk,d;2{!8?Ds3듀UHXAPAK +},N&-*unH2 _x+lƴEwÆ؃Q7Q9/9}pŀw3Wq>&!?{ԯZ{d>@V#֊ArArUU=,7J$6^Z^%s^[%*7!q+C;Q 8/DN&A-d_Ɠ|Ň-֑{@w. …lٲt[R["WQT;KRgIO{[7c! qe#C1$WLhb- +#G4g _4egy?YH_κs[+▲%kҞ+o.J{IEeW@ܩj$>đ|)֑6UTN-g7G8/yZ\ИNn}%7,ܫQ=V!Jy27ңv[V-@g_Bidg'=6M%sz_e_- ~6K]nt^7 +r 9戞;O?O9$w&8|[ٮ]ٖ2h[ͩ㲦ԷƴwI dgQ@zlZhRjwZOkCf>VEuv$ٳ!}*$\KlWv#Ir8}`ZjMk귚}#ꆵVE}Ƹ|{[)!yDmH@6o<l&} ԭmݣFyN$,P}U.+*wWdS6g4e6d\Kٙ٫NQdsqYUDH$[G dΥ‘2VrG6O]m5n6;^.{vW6g?h䷙6 +[ ++eyU; jks?լ}0RiN0-1VU0.{$mJ l޲T͡ p<߽Vԫ{58xthWflYWf6nIY\#-lTWO0vZn|Z^03 iMqTU?(˷y{)L|28k݃(7x_h {YGՌF6Z +Ě*yeNfSkʦԒ4Sb:ST41L a&.&{S͠|>rǔmݭ%"J};uʍbBf\.1M),,ոLZ^ُĀ>ӐX:)(UƔLV&Bٜ3(CU沧iFuh:'ʿ۝j[W[Ģx=rzSS +nW&./fkIiViqUX٬5X9SY׺-CuyTe4\ѪuMBXEAaIXE@0qWzZD +REAPAܵEܗ#n=3v +cNUԞ,gg|~zy}?ѐf͂1=ŧoA4ӵV+ok2?mW{$QRYk+;.b}˶S"{qIyy%w,>{I@m˶\6E~у*!ݮ3FtmuM原Tյh'ly}OqOj# Ǭ;&a)*>K_X?+w᜜}md}=@V^`O2w  Y٧DN6 u1ֳ.3&sՒ"/jT6慮;TnuÛf=,=sӪo2/ UYeCswFRևD"_IUǧ M%S,\RU\,=㰽CQ>wݩy'G,iY5-yc\vSѬc{SkRNo / Æ/?R>*FGRGCo#zTFtb=tG_]ҡkT%^ 1MmDd+/d/>08g6;>'^:1U>>f6#9(TѰ臝Dw]۽j/qTyÈM{\]ۑފ_q3m,k |VS\1s6zڌ1יӣ vyŴ#>3D]!h`?Utr뮈ӖO}[8:>˼&<ت};hVFByCx]DFvAu:yDgD7#jnfʯӖ"kNkzżr =ZkCO]JOxVcz>Fȵ=U͊t2T8w(C@u752ω.4>/N͈V/y/eTFWfɯfOxdחa3/N׷!oc.܂M |{FD7$/!5Z!Dul+Xvv'_=7-)_3{p~jZxY4C +UClw~d5IJAlbY?hGXaD|K#Q;#JÎ7n:Z(3 +BHc?d`l.ATVK\_0l_Lj*P5˿C)EpVCԿ.4YEjE( "A% #@#r A("HM׫XVG+VWZ]gߝ/g|g]ך$i VcjD0!D +hzG[Cq n@=_\r}As}F} +ns[x +ϫAy9*Φ9|f9DY@DB(KD*׌F!.mz?2a4;Na1vk +ZC狰oR # ~H{/px*ٽ_ +LJjٰb׻ͷ=o:~y_#!|\qw| $|ÃQ>P@)wusW`Qn2#5hyR/ף5n3Q-߇/5uM  +N :!x\$hB6&P(APo8.S3)mOEHd`\iXf6iK'Ed Rtv阽';' :>|$l*@zg!U 4S V, =vS^jR +\g [ͨ.Ǭ="w99)xOHKU|%i t D0^y(ewE&:bh F 0$@@)=Į%Ωs?A şS~+[ovlLqɥgr"2.GRIZYEࡄc|;+#vl6Knsc$SA +j)0@7b-ǮȳCcSSfz3%쥓a㹱.#->J ;,3*o&e=d}06ߐp]PW%n 8r r`d0q-=-@Ѝ}M>*g./.qL'꒮O+IX") ]E7!=*nFgfONTF*=ERώ\>fP陕}z;D/*'Dˡ9a~5i(akRe +-D}/ +=˷Duz|o.5-Bg7߿f6x@ wqo]GSI:mu~nG߶a6޲z1hQoge!̩R^[.*KחkUM/+(L U~P^^Z6j`0pXWwT hu:yMt52-&bEKh}]m[UM6]e_Q*P+K+njQ@ɵgCe"y;B;9S w!!tC}fh@nj ՔUOguUMbW]CVm7ϐNԱu/ D{X[~|pL[V)DBwNc=fh rͲ]5gm[Gn˞YʆܠRzBNQH~T +Ș +Ht@ĖZYpـp{C |i/CC._-+aNn݉[S;mŴݭՌV"0G)js23^;B|3$toL>,u'{RFj+E^O?dr7 N07]X!@*Bw]Ad Bc _ݤt{+k/7ZT_ks76mDna-r[;~cx|D_|J>KˎEћԂEG->v8T)Nв@]n|;)T{s%35q0Ͷm@yW5;dd&GyS-<D6zvc_֍Yco,dYbjmt"\8\ۅHMkD Ds;^ ,4㹼~ocd 8= TxV{ .\;vhH5mL¯.CwC׏ma3>^gsX~G[BQ(e>*  MCraxayFc xGaw$xKp' l`3vog&_$*BM# |Ʉ@CBZ(( *.\,\ xH` X&c ࠇW!fpU3+l?D"\" Hų: Ix +C =q?/8T 籎簝'c??g5|M˾Erb(xS(b +DZDhĒT /j!8K"f5SdZm$=m2] +{ +-HEbfy"z} ];ҏ|!iү 9ꏨbD2wa1xd] ԠkyXzLVG'zB9 q h( F|?b2 ?ɜgfn3~_r +B,#dX,TzGPA}1a4{W#"f2ς友#; @vȨAKH?0q}5HpvE,UO ɯ)cI +n e@t 1W͈1Ҵʀ﫧4OmbEۄ?+[+M:VHiPv}>dj3q]3r57`g0o/iK9XߎM9#sdkQ5nBN y\8 <; ?QB+ y#p!uNxʶ [Ÿ] X&wg<%ݫ:0/<8S6|n:9@틼H뉸Axh|KD~F!ZS4.y} + +|&t3I l}#fr+Ȧ0k4f,9nD$s& J{jUwQ1k n$o<.x:rVȖQF"vIv$5 +Jst0k울 NeNEOU{JX( Z0D] +(ަi0E&pJהFߍyǷ ʣl2v2&%ݵI ť3ɵD K%)^U + +/ +Es +!Bh`/ {o. +c2{WTKEV}9{[I rU:]M/6 %}_7[͖7[|ĒC_dD[ :U7JHu!ܪ5*5LNe莖˜=jС&K<\YH)ʨ+d nQnz 1!Y*bRSv10x{J.7[$5; לvU< uSTbt<%7GEϒ׳dYa$8̯~Lđd"412D +Xp;O눠kXMaщԭq-5ǷUWFRW%TVzeRkYE;')O'̝{/!s[Y)(J"j& pk0hkZ1i8f .ZU*+{H˔Ԥj<|/_|b +.1]$[=gp{W#vVvYB{>bc'ٸQ9jU#'!@jYR.:S%񫚙'+|*'88|"*;R%S"h5[KLqf`34&w3T1Lz-#6-.Y(l5+ȼ&WdC#- n +Va#FpV#ZX+*_ͿE{Wp ``#6ფ!ly +@N{Ss\»JC:՞A=q;mAԣ͈zL(Auy{oq`w0@-vвuq1Q -q/xl#GN *v:s9>Վiq\r@ o/"s;ٿ}52GpsgN kdӻ iWRX0o39jUmW;'2w(tێLݒc} 9. ra ut 4|$@MH3v;b=IQ>as7[MΦ[sf +fjvg:`Kږ:duȎ1{\E+WwA'@?@ίXΟH m!f[Bਞ_l쫏^'1)i}g6Ky+wVn|8x8]Mh_ο-3'pC"HvY(9yѡY&/J9hZru3W/~,=A}ny;P gD.~gЗL{(m# a!: 5px7?ՙSa20 f`FP"JQ,X"q%Uc jtE=.Y{uƵG"%( +!;O}}'~$~0Ofh#v^R+uBW e{; F;m_ x(6Q}اD֍"j)]5GPps`|(|H?-"")bϏ߈5X/v~nH>6J-߳* .C4'DD8?( + + А:H>0ZArCOY +yJLX R`Ev%,M4/q-T{cDAD 38Ӆ㡽.Cw&]mqm{w'♯E^d֬QSzɫly]jyh'P=9]}GK4wV{Ju#qg|&xBSFӉПHD1v( Cjxm#TFtfNLPɮ+( }߆}fDTDDYaVePYM*X&FM0.59Ѵ1ihKs޼[ą3r { ʏ2hnڒ۪1Sb_ǯ*Ҫ=RDna_Y9sMF"",MB0R߯iPQt &VX) wj+\ټwIl徼Tʜl~Yv)(NBQj& +S(Xlaᮔ^;4>#80Pk=uL{Ӽ/xE}ZhBg./c$18%#p0U$MK]O=O>d(NGQb. +w`1JD}P:}'ih`A=hcZU4u kbMeՉV9iҊ~-FX_r'N>++D8E; +QB`4ԃs5ԃz{vH[Cje-ZEM+c-$u))Y$TzU7 Uxm];xs6pk +bJsS 5PH3@/*Ʌ.3rev.+k_ٶ0Ӥ{,wdh9(w辩KpBr_:lEX z.,^.Vô6T~GK5=Z)GvMw[n̳>\Q缮kD{xv;a="zNϤB 4MC rfh a]';m$gxF[bFl6_7 o7䴺)AU輺ɡQA5h8AzvV,Ns!eL83 Gx*NgLбB㐱Um +kpooȱ>^AwP~1?OH1Łi=3LL{յ3OǨޥzZtnT!ACӷyFsh"D3\p-Ds8I?DMy`%6U" lBgE b eJ2L^U++fMOe?Y-k7g]ew+bG)F)O+a5Xs\3 )ς@x+܊f֟btRk(j/˔? 'ODT up~ `$lF򙔱xV2eы,?xO{*PuAo_t?_#?%7j`X~|0^@0WANx絔Ahieޞ`og?hΓ|9g|Ht7B|{`'  zh%hp440ppX%B0H1Bo FʗRQ>= X=Q[LɅCy+)hEˉH #[!`|E~\BAYpS8RB7(ˉ +ro }bL x`B/Hb͇C<hƠ3̕A#z jAM,H`Z&)&5t>2L$U)}~D^ KK0hȠ ]̝ACo l`rI$! 2A%r|INeJvv :2hOZ1[•XB\RJj٨B: Bw,\'u}GEugqSFA"3u +DPAd230 ",BK5ZWcM=hbY-b'su߻}9(zy'V&q_ Nq%]ev^Hihde-r8hQA:'hE"[|}mqBLb?ǖ( zŨ-,rw( e}ow?$kxo%7WCgҋ_w?=߷{'+E;oKQܒ(['e8s21E3fNPxpz]8oW.Z ?Y̬ Y 0/2]7\ +g'\e +/p@w$@/#@oZP/^z~>+]}A&ݙ;U'Eb;w>3_q)0JƧ(:@38]z~@Iw}҆<4{~ެ>;ܛs\Z&Uٳg7'dY>=x5qχ&G<ޚ~f

#z}b!\ C a ZdC_E yN68=qh~y&sL?ݢ?`xOn>A]gwd-MwN6]V@A`Wal-pM9G2p:ҋ},b>H.p ,ݨ?$Ev/6߹r{Z6A[K:K7]`'QkԱO/&f~e%<疈JGT؃q=ѱ{#4=]7nmtۯ6lM%YK#٪w͡hOPc8O7cq>_'d$8,d_۝P=>Ұ;.AԵ$lSlEGtmMֈ6eY˩1sC9z:N(#5hWұ0e7gRYp" S'g67c{g7'upKJFu=1Ŭ-![ܪYĕ6/Yn"UVѩ6̥2+yy]7Li :Ƣ8н}I ڍ0۔)oS1ņ,؛m ;s䬞l/^g\Pu1$U)&uMCR.־:acE|sejkQ)Wjvţ3q$2 +ÍxAe Z!3|gVglnG^[΢ DY f itMuZ<ʾ$ɱHѩII'ܴI7r/Z52ĉȴI0.x82LcTe} +AO)tX6eiʟPj=VٵuZaIBC]U(ReS*,˶I+-K5;w01E]#.BdSc +PFF 9Pg?\Nay4;ʛfq+ Fuj,ĚqҘFYdNʊmLXŠKhLX9:RXU[<^H}ݍkW J8 +(8g6NZ`jNmzN?f`afnMPEESkٺn]6eyZ(*X +)JYYػہΞ;0}'MZB׋ǽ2-c$)nJjG%W?ō'=vpUB`J56<ցYki3d^S`gꪉ~E+߷bz + |NXc.tsȥձK,i)X,1$f=baoy-~KU^)5cFi(ޔmJצJGxiqoMnx$p̆; .X$lhIix^IUDnIcDܵZ"sVIdގ5^u+7r~v'l3`Jy*qEX[Qsl$S}Fna)kֹ9[V̭3ʮ؇-%$}0=5P-gťʁi\&TwWQXJ(W wݣwy2df3]/ӪKR\;-] lI6h )wHp8_\ɞ:P;`yVCNdQ7F׍j)3u{&կro7$1T(c1f`6ɝ.`2Wûùf6hXt$ G<gSFcwAUQ˴2-Z-~ˣQ;"ijro`R?PTY@Ƈ& cO!g|&_$#%;`?;}MCO"h-ݰ} `;+BgDi#3~n`k/b݅ F I'3@9=.ak[,m03Lv^NOй^6Am?tuނvU*3N5?evSO Hflo|oa1:w4;pPA7 -`s̟ɹ2;ك?e[V`'` x@7BdNqL9ćᇡ7\.,P.W/{rg̎ X>̽o,v$'ehB| CG{"$(C iJ0~OzJclr}jO][B 9 <9Sb(T/yf(ў:-TDA@'/R'yN[ߛ3?;nD$_}š-&¸P9U^x<~4^.0#;ߟi%G\ )PaI6Re١Ԫ֏ k괶MM6ѮAbN} :F9UrꧠǕiE`_PKufT :kA+i_ !7!q6Tt-? A$b@k"q$>ǫPZ%vٱDX}ب]ti;֨ڹS+D7Lj:##ݢ{-T3$88t%|t$ˉWӵ ki-Η=>wqڹ\wYsssy6%6{6&]jH`T$>5@| q4Ay@+#Wӝt[ZF⋴dډS5?gcb)+ )yLeKgMi4Hm5M'UvSUX*iIXgk{YjveVc5 Sհ|w cemyUWo5+ o" JbZE( K!@k@E(޸junkn۱vvt;ad?=s9s߰NJbMH k) ^ ك{x s%' 0!n%&,%^JR/5|ϹR3qS։ةPG2{4!xW!s΀e$ kg|¾Ct+J\V卵WI*9}V8=0MTL$[ƒۘI=!CCY=2/.H]r³ זDظTuYc繥ΕAt_fMMtfv<gTF0즎Їyj^]w!S[lϩ mn6gu4Caͤ&s>*Ie#YBCDHYCB>9Ήװ{^.p!g 0e b GP5&0z +ޝ,}`k~ I_Zȭusf털\;')Yh?P[xJ$  |s×jߢ7 A R7 +`LRʢܺKeM + "]`Ȭ3VVs͆v~YQaIH?+)/n(|+)1"4#Ucpу. {F[UQyнŜX[W]_]j6BJj9%m|cqP4*Ht+rޠ5~#0t`aB 8Y0O0{Ͳny\VQS +(2UXEj/-唞ה^dޗd3MD1AJ^W%fA=X4By#45Zѫ ޥ~E@C]S_kͭif!azSz;\Yu:\YHUITf"P _]AxkC?4 +`Cz'f,@w +;kW j0\Ž-nؾ$mˉuY [uMeW/ة)ZxM* u]xpNA{&q38;p;@57h~D@t[ۛ NDn^>pW BCȃz`uP y2cc}8ܻy3itu` cOx>>ޏ;x}~lFຕ@Cq \֥)bJr:ɣP-g< <ܗ\;JܖᦼUp8^E' 霽:'8^vMm -,U)Q٬jifM~/-߿-4˩ŸS۟*p-lQ犓|P:Ma(UOUϰfRn1MPm6MWf7 +l0Ԭ7m\keYb׭Vh %? Z+jslgXgzj~:J[EJ,6PnLW . )lڜk\]n^bԼfy\d\h,7W9aSs\ Nq+H +eu-??;w +WtX1QcJejtȴ* +OY4KTh;7h.?~vP}^P}n#~zБ]N-:3.mKvʺ{:+=TFiXCEqYZX, +SvfU6zY_L.4W:~Frǜ !{vziBЏdO%⹷7ubM7gjHwP,,ΏL떢u͌lsdvq);|a\NwYo _G=97Y#Y.{{3~,K`E=^&W{^VocvJ4yRp }بR=9$A_ٍCf =s c;eH~kZLtNr"}zpppc-4CJbe6%%ppj\&#}YI %)֘ꌉ!;_3T#R4b JIOde7 1P,,.V:,UHA@*`-k1Xb]QQD#UѱrԊ:k+ڙs@wŤ,F/(GFWύ8;jSxTQWc(a>_# }xk+$|dm8IZ%BN(If4-yYrR"!1ba\eLBUt|M,9"V6:p kv + A>0^舶Kgųf] ޹>-)9;r=$eѹ~Ȝ9aّʰ4$Khz: w=}lIV|(fYb.sFx <%!e3˦˂KQ~-'-Vy[M(Yc^IWؒSڎ]*lH!)6=g;ؖm^!I.I}*$BP# `hKWjlҪP3yU UeXxUYRzVnQyTWW+>j +a^c{s2|s@鎭WU[` |7q8P3kH̐ Y I{6+1n2w55w1lmxk:VXX\s;}FZ:K+* <moԪYG]׏[\?Mx,i+q1K6HVȆjdCLN2T+䃶^7τ={tW +MDofm]2 kPO  3CwǀPosc6.C}$NKE%q\[Hv l#z,za ˞u?0 &5M:0h`<c=F`ӒrXBz\U3X>"$d382;s `. 00(лв]:!e +mv0o E2 +N?!kvN}'5) i{M'܋HDrA..iT5/Z\/_\JyC2h/`pB/뭐yO33OW:赦;X_*8kx!v7\[cی@77,]N)KOgͣp4x0mځ=jz/ȏI~"r~T<</qC.נ(++7&F,(,ȲܖEvvrY˂+  ".!xCEh&Fmc6If:i:MSM[vڴ}z<_9y>|e >X6e7pmŕOK\@$ dXqu,xFVe +*U-])[kkݵMp={aj1drrr_w~ko7CfC $r"CkKGmoWkqKp/4 nRZ.GRZpP9E;}VC)g~֬(b}Bq}Lq==WΑHH둄CHW ׇG17r}G͛`!:)3aNi(-)>)wfi^Qg2z{88w}Hca kl!Mw07ߟWЧ>(U Qϊ귙.=CӞOQ[2 $<%b޿{?@ωlsc9ʅ49Lføv33 @fkזs5ތF~OF-L/jOJ[>})iNؕND"BWO_zp}b0L +&tRݱp@Gt>ի/`wg[]6^g@ێ֬@wV?Ӓt3Fݼ^wKZVw#ơ#"$9p7\G߷`=` +ci`@J0C1)Q0󊸞<+ߝ[ВrE 9{NÈaޒWޕ m'2H1D>O1wW9K(D}7 +A) iN3X&{m.,5V4 +ZE5=!8)Ae_HSGD瘃[xqz~\__z_ΒhlViI]lvcI>Yb9Jl5N-,+̃RaYLPZIXn6iH; \>b';(}-ügyQۼxQ}z ?jXxc^.=.vv)jdҐ0@+w(RV, Ư\2ZBm6^V{Nr1糨{{i'҈ߕ>j@k<ɃȣP]S!> kjX?7vy@E}eaOp}P, +(q]ՠƂADET,NPXh{,G$1qu]{Xۏ{@xgygΑڛ%_>`Q2l]f(2C/)멷4y赌A.| b38~Z9P rxë;<+"Q1ír\\p4éUp,2!9V3yLYǻH?RO VF*gS݀cju#`WDak261ZCcIڲ*K%\@]+!=bԝC݉Eݸr6ԯ_ȠAVh6#GdeYPV: S^ jO-Pwm.߃k=?CIl3Yw8ߕF6eل\dikbR5љ&+"CV!V`zmDQ7+|; R@.Wtll]> 7 Lb|II}g'&w!h!y6N(F{;Q׋]# DuOrLhv/C?[7lO 1yI#_ҐWhv<xռmּExD3=桍i<,`!Pqk6@kA? $#dYM6RDJvRK!u/+~xI!쨭PpW;H32$t䐍dur +.2i.'WG ƙ5H?2|B>N"u9RkC:k%2SVo>~CG7A8RWm! +GzjXjMf|tX@Tjds"@# ~I p'4q7F \hK_hZG9&ۇGx}Lԙ0&He%rM8O_ŠS 8tZ%#R9SThgG8A'5qU˲h%|:bN+qJ'98̃UYê +4jpHՀ&|W2cjAxQeNW^/'7~}6}pV7lGX3`?`8nsWu2:AC=84aT9F@YBz7ˈn.yJ\C;N;tQwðԹGT{$aL敃*|Tx{JHfKi +IA3!!Z=k, `;孁Pg} lʎcPR(bdl HVJ TX)Iy'e~LY֐՝FRK03Ov@ol=P4[Gas8OgHy!s!) !!9!5!U!쐣eOKC"#TțY?]8iG,=c~3XP7la(<`G`q8AZc"[eLeʳƕLFEq2ݸS^~EX(\(I< ԝn_>|r8nU =+LXcFie%-7e&2Lt\E)EjZL1S-0FlSϏ8gj1=6 ,Pe s :W|j +{Kھ>XX? +#e&5E\F3+Pydvf>6#hE ()Tm(O|ǧJx bca@OdFwƒ0XiQGdcNR̎LNNγ]mMV71.!Fh*a`+"}ccbuX2qH &̏(͍͎)K#"q4!SR4VhuGEyafav .D&葨((("0 ̌ (qh]\Q0.cMh4rZ=&Ic\kmm&A;8}}yIirjIjI4j{'JxU?3~F[6a>(ѠԦ*CPnH t$=WV^PVOW5MߡYgMYHc֋*^TZRES.qaQؑlZVudD9TfCi*LiPlJN]Y(_Yeƕjq&˸KΘqZqC&#CT ҏ}mf`69x%RuԘTfbK0ʬcQbBA>dbJxyhI%){rs~0AZy(R+‘R9HLT I\E4L6-U]ު^WY>J"r,JB2`y)PK8]LWA߳H^FB@̯}a瞂hĺ0ǝ"ĸ3ndX宖Ns/nO}M><<P{ + ~u@7hYGo ڥŠ$;Fc@G8;#\<өG] + <M hw=n];G;65+P`0^ہN``~ jCp(C!EAeaqC1}C"? 6je6րv1.Ao8]@8B{|a#hB>n~psynu󘈿+27ԝXg&Qs459=@{?0# pZM3lF{p3,?gyٟ!a{(pm>/д.d/`=fC70ԧ'J"H5K\~¿ƍ b^?EnD|B]k4RCIX= +(z%-BR&kOm?rw޸p0>&?62j4hGLAIþxq1GxPR*Ǎ+GsMԝPS20l<@?F-5Aո޸5ZxWXwq+0"<⢤MT8UKƱs qW\ %uW7hZpYӉQ\ňv ¸C8? ΍3n&<ĉIdGoN~:G ӊx0n11W&%atrF&0- _NI~GH) +^?`ST!|:lG0V#ӝ84ߛш3۱j웹 Cv`p>ݳ10v%%U'8V? _LHjȹ{<3&̬)8>'$r&cp{T`: 5cgP'vö~ak?|^ .l +>/څCք|/@܎FcyG92]ұcq6-.Rlw/# û º]bO~qui;X\/=R}F4XLk6c9 b r&G/Ė$W|ٱVW.jձ*]إ[/vI!-;*ޕb$7SjU=c;3Ҙ?ov$/޸ذ, +Xn}+Ra%=W.H Ƅ'NQ?RjjWr^\ Ekp4riӊ 2)I~<'yNGWJVRn0͐/BBl4ԉC6 rUe8T.j* w4eߓ(N*;STu˯lU' j^,^h71nFȘyP"\ֹ-B-΂d,NJ`/( +bAAdHyղ֯dۆ4fi,5L}2dZU%3_S11׫=W̽H;Xx:O#c㳪EpFIB81(rБ-6!Q"ګ{dwY>ey&& MCMZMZr4;ej\A+XEq 挄2r˲S/dSYlN)ݹINuVR55I4)I%)RCm|GiJ%i"ߋk$UNjr!ۥɕ,]]EBLHuW ]򲪣r|ը纯UUT +U+Wg`/*!mMVXE] k#ݳFz}IEDŽdAyZ8Z1~SIOrYSZU!ϸ\R㻤Ž@H55 IFJd$LEb<[ðu ⽉f`ׂX.omBw{P ޻bh'bh*6FU {'Za'|/^@,%#k& jU8"W-EĪdĢn+ºKuG|qXYĖ,$&niTUk_p +"$DԒPJ2UcLUjj:Jϕ:Gr#y<꒕Ȭ g*]FhI#tM#44B3`i M7-a *tfpY Sa*gC~mw@^dQbOE*<7Ps#)7Fay +믐 + +̟j_v;\y)`jcmAv3yf.fN5`={e!/b򥈥Rpq/R?- T@iڔʿ4A~kS>jmVҾU^#_WOjYQx?Vv&gR\)"K/ʥk%O<Xp1Pom$5qQ cXFTޕe) +SM4PIYhx>]B IϕR)51JjIb۶21 ocR P RCk(b Wovm7) + ĚzrjE oTK;$]++>v۽ c~ǏZZ}-ͥbbjW#0Gi%oFɺUh$/5?(G ~ŏc0$~b9EQ:_|F^}I;l 5wKa MchJV0E:\:Ǣt%B{ KuL/gds2y4]!T=AOI.?H+XMXPܥq>gA*KczM#c/v?>>~_zNo:ptp0JSjc &C0&51II1/gה_q0ބ10fXP+` -6ПPOls&\wV6= 0a&~j [Z=W^u_:Rtzme.4+k4xƠF +)O ίu/`@hȉ+f7r}!>w7%,gҹYn!Kktv> KP_ ٤4*3ZzCǪljjm3S/`R _Z- +N!Mhon6\[b6R\wϑc*=Vc=?jCZyF+n{>@NZ5/bF*#r#7i{YQǍԨ+ƌG(HyNd7xg{=Ê6Wvg"7*l.an ZЭ跔=Js'jvLbR53fg̈YaT2c?5b/ScSbM#I̯\%gˌ\}2|))enE1>=*U)@=Da)fn$[IcuhuX&L;by7q3qFzWhD{o͌ qڽ]iVK4+>B =5#>4`%ۆ)6ZSmD{d[1ѶИ`+UXj,m\Fλݳ 1g$b>ã0{ KHe K"I&L2IfLB&$$C!"ITBR, @!(}cVVc] +B_Hg3s9|/>X$E ҐcU8E5IsT@U-wdґ +G@2#Xa:Ŏ;BGYn;[ycq9.YK$_mqg.j]L,kc acSUU +TE<',ݩӣgFsQ3Lw[,q+'+yN+fNj?g8IK+MuJ,Ty]̈Qif3ȝ;KnEFk\mǽvo[Vr_\GF9ƱlMԀxꉧ,'r`fE8;J9SU3GK= qɔϛ\o@^o1Mfg<`9={4cVy+󱕒c}fCV?8+/n-xBRgT7\c_-or}'w*Q?_n0#b&w[I^+Z\xm&}$=o%PF0 7f|>xhA,BeVVQ2#*RzTVj|&)ԥ`- +V(!x lc 4o2cؒbی-͸"ۈ+c/bO~o&j`C5o(]k(FӜUʥWj֪"ͬFnԴnM=ɵ(zۚ\16&gJm<h|Pu<شZՃ4>\3 i7ѴxMmthJcuC2Mjӄ6ii|qkzCz[Qk`mD#hl#Yy&-)tS4s!&E:TKXܗ.S p8.jkaR3нAWe4ހRbc‡/L>e~>g|A`fNmh5@8 +q P`%:X>qBx_]}%~1%ޅ&V#7B%B70vޯեh>g^}~$%zEs`@}xËWbCaADA z,EL +Fe;{v0-[nrt#Lqjh8Чm>GulꖀiEP0'oeX׈?L0?gpjJU^lbPx;w@x#F7b;&"awQ\r㑗#G~-QXM7gQ;O-SQp2"G#q$*q`i9-2 v/kΘV#cak6X.#/a86`Cj~c>11_Cqy,$Ȱ31;VcJlYi$+6%90HAOPKL=PISA&ze?Z#tI %UoW9R2yWP~XaJy;RU496*pz9֧1ڌv d?}ѓݙCM7!Y'KG=2%|'>KL!rl/碗͙s1  ec [Do=9 V8PxWtS9ڕ{QNUy^ g#?¡3m>K,;&Ygɸl`\*cїyŸ_΂j +([ +OaZ p6¥jJ4 ꚰ>ªzB$a-@Sf4(cCO# 1.aV-EWQ|řh/΃D*.m^4aS$E0 u3J$a"?JE>Nśi^t!:Q%,r\pVhЬEv6VZk`n&AaԾ& EQH5咸Oͫz4KI='=駛qfܚ%piQ)CSU6UhԕêӣAgF&}F F@NZOIB[%*%qX'{j}񻋿UZLXj`-P:FC#j -1tBo Ag}Bcr:#w#K V5HA 5Їf$&"p|wHdꓰb | .&7P[M`븪oR#$32R$uHYjA\, iD"*cDAtH8MENLm]'{LwXǿ *pʐ%DqEׁ /BEyjMl`֓&8֪16Mn?H}~~=~_Y⦎%( )Dn(/WS:`ʖ@Φ%r2mKʡ|2LhLcx, W<$Rk3`\r2#s͡jgQ[ ٙek,3ƛvsZ+*Pb[嵅OΗg +S3`VjeSˌ[ۑCh(u:.:.Xn0g<̙+[F_sa +SyH1g`^.@Us$z 4fp'Eg  +m=E'{xK4bX94s퉮j#MCd;srÎ]ر;ر;h(|Ful]pwr߇ {)5՜ ݌>4Ap&B4hΏ{Hc_N`G#I#ůKuX4`;1'-cٮqux-tɞ%CR[1Y~ւ}8694.HbU(Mm™&>v ~fتnc8!;ݪu.4@W 9| -Mywt{>Sӆ#I? {YrU +nGL_M%݁{ց 0=&&OVۃAcYp drXw@0C̄9P eP`~aY̍;ټ' K==⭇܁uޔ_8 l4r9 scxƎi )>s]u ~˯| | \K68ش +/cHgi? ؂.c*Zkl7ң49Y}]ZZ9flAMOŢ:#WϚdDeo{g)Q~hAN^Z0UiEUUnE&herU|w+Wrm]w?<5nk0I!vßWÕ_n/*}cJ;U *4X;<1*J,{T\,POfӌov?)E]C)!*mU2a.mTAE5k)7Vy~7L9ɚ?^3kz7P2VkJ6Ҥ3J &=UjE7%gaz<+Ŗ7fn^ jzM9X=G(eJSF,BW(5x&k\A yOcB+%FXZ(.EQ6XU<+Ė|l%69i!]552{+w >4)l&MPjX&и /SJ +ج%E҈ CE#\ 06C9,{rhaVᮚɑJ쭉}5 5D㢒46jR'ktQ@#bjxFOCcNjH, Q-נ\ZZ#mPGjRRc<5>_b5&.R)qo%jd%ŧix|4,ޤ5^JأNh`'P-?<*?we1 $n "" 2,0QNHAA(MqZ5q4զM6mzĸ&ƚXa9}"ΡlX?m _fK1SU@Y(/ir'+; ,E&C2 2UZJRSdHPR>%RBNJO %$HrT#,g= 3 +boeȜ6RpeE+#=ItsjLJ26(\MG'qA;Nw(4bS:F @QU5IVcwU^56=VS5Y!r>><ekzP +)iluOy-P0yڇ>+7{4>]5o_pS$l7SO7=ϡ~z&j"9Ff3A(h ܚ4K}i~i<[dZ8ZL-P kygຈmlyh*^/|3Xs"kĚC 7IÚ%%m,1ϵxXE# C N01ҾCP"p8iFjz͚ 5Jc{Jj}?@?6f p뤰;YT':ppzybFcI7xZZ+ow^BmxBP\wFzw>{pbGs֏ ŜC9VM(gU8@xuq?Nx;AEquO/Nj[9WuqN ?%wŗ̺75f/NLN>V 1,vb{%Ө;[|;xR>prWJU}s_DщTMNΨ@Ə7𣋼:~ŏZu[8}D|E Bm'|.85go-/(t"шZ:s_lخ|l6bsll29=قldsۮ"G'#$:D b]Pr\l.`w,$ +ϓTVWUD̮r]9 ];A1B9 (hr4*Ѩf,Ry ZDd+G#r"pvrԾѿ+`ܵ^ Gk4:ıT-TiL\Yn0˰/2,3,31 $vcxKʭk7V괪*RRU~V.Q*Jc;R{;G: rq+YȦcn:JFd)ﱰG}VuWj폴~UeZr6f_T=/F|Tg"S8%S[K8]ͱlsrx[}嘽,Lr fÄce.vLg2=&> 1,wvi9Tk%?k5t2Y$Dq"nG9orj8`!E8\IL&1B(iK{SH9#3jJCq'_vDSyʝi%SK,'r %pj6iLU1݌2ьQfL4-0`tݙ2y_ d2LG_d}>'.zi{XdU˜jɌf*3Y&w/4i'p y-0ws_c=om)]Ɲo6t=&ezX✖.kߜ,ȔjٯZ͛ٗs J*fwa=V|En+x O=ūt?*%o^ΒVGaֺ"tQޓDY3%R=V +=xz1{GN]a92k=c`~53tRLrH[(m $`H#Ϸ\_!9 +}ue1ӿH4)$(~I$ =5XE_Z#_t ^}Wt,RT$k$S @:;I Th$9")Obp/ yvOL\Mb&&+#rrC|ǥĠp!ҮZjBVCq$Y!6BLaCSl aTdo1'"lgqHLݢէ9(Ji+"J_1uBp:ع DSbsMa}aܰnBywx fkf?T#VJ٭aH=Aa+\89JI_4)ҟMDZYXI׃(ORS_US[Ƕ\[U\=%=@vP5,O8"Y=%]6mzI0H_)K0l>.wR )ZL-vj5!/Cp'V54Xք,(z۩g C|D' z "9&5xZpT% -vz'57` BcㆎS}&Tyi0(:5 : HtRwKc)j<)^xrS긭Mz[95YiGcݲ9S OkI7e.5ӍB 2{2ceey(Kk]XXXv]`9DPEEE-}3Ѫ68ƨǚ&5UcըʹMG϶&iLL9l?qg~e}yG㣍 Y&FaV[O?r&4ݑ Cƹߢԩ~?pҪ 'Ki.g]l穋 LhݷS c)+C7`?vj $ur.{gxhV.37kznP7I7M;*D2f;y6U+6S|}.UXzM|;]jsrE5zH]< t9}" v@ Z3a,tS|=t}M>|\sOzO BVȆB}24FQG@Ǘ9 3ЕbA\Ru!u>}p?^0zݣ׽C.RC('~n>_~fb/%||% +x6Otk?Sn)qG>H^WBԟqsϨسu8Mhl6uF*ާVc%>V2e e摍ϯilJfSQM49αͷhf x%{Z1p"ơ4-6o,P +4jИTmnq_x y-5+8{wn}W0zh%KdhVWfvWc!޽LӺR8MI~Tc&X[Us<1=/gjjb(Gˋla5øph?YCif5iJ_&U}M (Q]HѸ8C5 TFU[UWo<=ߏ2pFqZ#-93#gjҔ>(BlQmp֘~+~e_UC,dlְڪ!T~q >O ИUEktI"2¡9*PJ4@);҃i Vgd(͑TG9du(9YgdrF wAF2:)SB}ځγ$:P^ ,g3_Yٲ5(ۢt%ggWk̮*\Jp5fuoQeEຬ(]EgS WgђL1P%PR]e`Yr#+sY<9Sg<);S2Ez7+;y*sIaSDn[X,4&rP ^pV,o4 P!2WdU薡PE#Q4NE +-ZE'̃>8dY]p9dj FEvǮ"!fRzD1j56$HӚ1ZsL5Gڴ4uSv~LLJ=}}}J,}Zҗe-=/kMي\!iZP[OhgJ(~ԏ0h.CM& lXoӈ`]~񣇋5顸{ ٽ ]k4N>brK $B])f:[`ki8`ogg~rr9H};¥{Ev$9P,z)YJ\BcU?t-=7L0cQq-)8ť|?ct$`]9sMxB@w~DŽ q` +a2B5XXQfezE|^&WT_?xNDH x&@QGՠoLNי1]e +?>Ǐ?Y>c2D|oI9d 88>//w@<)3̤NL ?>ď0՝?{wgROyN9%x%cd5^ \{%e3)/&.lخlln应wEVوvϓ:^<@G!.b(?hDcy2ĶuDڄ]?Sm+_qх*?J&v%} (nC +D:\fkmt*t3zs7]/Rk3ɰZ嶥jm\Lʤ"iʒUTZM8K[T`T}wj9ME$QnrvJˤ3i ƗR-gE)v8T:Lũ#5-u&0PiєA^MԬI_ ەO_ kx +G҂Ҋ. `+ܔ9"T0k#Qi*7eyG(AuY`w]`e]]6xM0xD⠉hhԦ:M4=$ΤvI۴;^37{y{wiJ>SMM,)O"t]-)n~]6pDo}=׿%؃ +M|!.oNP9M1#U3&_,UVSSE嶶i] u.XwzHb=xpgيlAS!|(^UEUY\QYM29m^a,-<ٗоY.e|9)-0pvӍ*-M0 &]*pĪ̑,Wi*-5,TRŮ:&5UW27j{/h*u]9rFc3e.KFB|P e;GYli*.RQyVe(S^&OF{f)ӡQ]FV>L+y>FG*^3T͑[|oF׸[SQ5SӨ|3kWo2|ەۯ4 \UZ FoTQ=Fh.& B +}/P06Fk[yoHCY2uLRz` XmJ-ocB2)f(= &rkxȧPPɡf%*!BCC݊S\bo+6znڌ5]0Pp]W>mĤX6&*%p¹J[4,p(.ܨ0/6&|f,4b96Dx5ƌ@=|mA{D'Rb45AC[R@pDT#EMaP<0iBSBca<}P{{$7eh6ugrј?v6ʜMncښ 0mx9c8GXfH⽓1[s)V)m)nql( ".ɣ=åM$wc:<_O&(ӧ &⩒iX tSK(kRˆpp [eg%yt2'9drcN/8&s-[ֳji'7UjCm^0}ƛnr ]"W4y&걙ztG7B=V6,Ԣ\1ovaM]QD:Ro ig3tt:~͍[`+<(f"$#I̯e'{5N1bhof=Cc@~ Wad 0*r޸ΞqM&:$fϼɀ$`8dA>ؠAd,-=qB~#M][}wuO|ʯ~g ryAXzEa N +n2.SY4yy]C4b9eh'{̻Ja,#tZ\S Z!}5}L>U3 xG;h^ms{V3]8 +Je|INS4hTO[}?#ĞIybZg)W*7eƻjArz}}Fwㄧ ShGV4\ԭ~b&Tb n_}ث ѫmM-v,ϵ'`| />g,ƒ8B-^T*G_L|7{٢mӉ9:w [iɨ Fܤ`< W;k,ExNT2yg?fۈ_FtA7 +Z9#9NZ֓I:Y' +\9yv2È?#KBh&t0UjgBF5׏p6XfƱZtR'e]o;v.p8qNlp9&MNv-mvJWrT+[v h5[@QZXA\1& +  +!:'}<_+Qˌ7ъFQ4$M,c]OxaYEVW^eN{{J;Q>!ctM:^FݏNtf6R;Iha:fmMEQڣ^C")RQXs< +uM!}*FjT tj"W5=dƲ7k 7,jpV7PE,+s_ܴb%4J{JCvJ.Ym\)Weʘ&+W*ߩd~ +Z4ZHAD˜*@#S4hтk"6P:MAZ]ƴwRIJfa X<1ٔ0974dnҀ9~sb}kIieF˜, WrFAeY*]YzJ9ZM `<ĉeȖ" X-V(b ֣.:c +7(hߡ} +Skj.7-}G\ܓ<:B %CYXc)O/;Qb-SOYrʫYVI6+^UrD~ǤZ[ث&xFNjr;^Ɋphƒ8$:j0.kQmRD5jq*P mZjj9Ffy|Bu|A5WU| qOPٍQ4` z=^0>Eü^P.Z\jvW]/ۧv5GT_?(g\.&9=A6Á23|43 #7964U_.4&ab1۸zsVW6t-ribAL"c+ǶDObIcN9TYPs46LJs;0c`w^@nwUf 5V1!a5&9f6Ԍn&لnތc+Z$_-xIL|1yyuz8c}:`?GgisyǼO& ٷ=0ۃ>9g4OdNi8)<|.[O+q8O^aX\ūÚRZ#u}g\"ӿ30+FHaW MqM7-:uqSu_qp?a`ә>^h^; s͌I.1_^ }C~w=ue|>r,!݆!ytVLX1K/W[e2c̦Z^ً@'~yy_=ͫ O8v?;NDZ%n;7zImvݺ6[E֪] Bҁ( ʠ*kT.T`@`m2sQS>w{y+8!hn X_8wp@7)82}]c^e?̫ +<߅o79|NFb-COoc\#Wp9/|^u¹|<~KhM^#80lO1|e.c_ރw&2؉_3/^P'=C%i/pZO~|1!} +"zARBLy,|>Osyx4c$csyy0;G{ W=hϳ<*wnY6e6NY]adZyN8K΋eT/·df }?edNaA{)tg"֣=Sqy9 ܯ3 +OTnawj~ m+'`6@;vahO0y$>f{;{n2ŵSϰހa<_֜B~c7EE]TK2/{]B?J5hgI8Zrs̜y)u&x"<参 ǃ-hQt1"Eo2KnB>@6X=GRff}6CKc@ ZbKI~hyYE6VhF~ , )Y}E SQiT]ILkiS;,>Dj+>V%%9ib"6N&!ˀXf2ez˪cU99Ty:;QޣeJZV2V˼jQAE-\RrU!u9Eqs mohn0*]7t ԵTiU)CjꔴXSҤZnicƄYEyj0*h|JTgX>E:'?'n݅=XK۳|ý49u_;-s)(WaQV+TѦhEJgάkpnr*[yZsrW^Ru pSngN5pwoc-u@[>C )VB.1WljtU(r+RW:긂 +ܫuonkUsJ5_#9ϫ}*s:Ļv|OA?tbqo&FxL +y,j+P[ZޠMyu7)6U>(g9|'e="|Ruޜp-ĺV|e:^$Z"s~|KwF@܁rҪ d%"#O Y_%xQgTxSJ}NBw3h&hڡ{Pa\a.UF|rFBt-:'kt,=2GWY!D.5Wi8{ 5سly Cc~;7zUSr cN1d5OQy|Lj78SEc*hct U +9?ހڣس^V>7CPǵIrag+Z +eʖʚpȒp1xiE%ɔL%I$1ILY( IpB'Po+h{$qh~\r߅uc H^"sʢ!Sʩ%) +S jV `V4NaRRRl֝Iّ]hϠņd6h3//LH/S/9t5Hu i࿏{vw #A<0sqsc,1|rl7mF1f#+>i<>]s 4y%lH*P_rsN0+8t&ܧH()^b)e`.ɐц?:񣛜M'х.;q+\̎ ')'/aS} 0Pc7!g y?QK9d% .5u!}0klVO)^ތ6)`{`5=0XI}ƏuaK}u\kWr@nzcyGY<D^%-ći 5M7a&X90Os6&j>괟d+V곟Xl!y}K؟6Sϟ!s=U|R</hr뭁H(!0 XBqaC*5?+8plI>| L}_cuM;9`ͅ9x7Z}k -Ǹ(dD\,FN?#'')3q˥|xCulb3׻Z>W]yD&Qp$ U\0!Vs%q@ϓs ,QTg~)!ĻeW9IнFsƺFA}pC&k@&0@>r0u-ys% kTmr YWIe{1܏-S׀CX5ȵG6(пјwUH}r:~\eM! s?ΣijOZ{$U1#1J ]v[>_mpmu })'hЗQ* 8fy +>=w$) t9Ïa|$љY;6f_)b 5خǶ&b{gbx O)5dt;mG/Q'*;)p XUf{&wѺИPn.NVjd ~E=Kx:\?דDtO`X >-`U2K@ +\gQQH/5?z ORz^Nl߰Ǩc~g;h$i= lYnl WP:l7`{'!n-n_%sŃtAzDwm_P|ت]>`tdJa7#u:IDQR-4,MGZYmbÛV͵ǐy,G1C,E'9 'F;5:KQL䥅L>f2H6lq~+93=\ssAOǾٚ5E^8BpDJ8jnV_D*P#ĸc7|8V3pw1wG6Q)pd‘GnRx੅M؟Ld4HR1è:g(UW^1DwAýxK#>6s13:mԐ`ˀ)𔰓U W\ᚈxC v~nw]Al}`hi`, Y̹ßI)&;U^U'4$yRTRLPij݊.V8uS_T(u)G9%RQ}_ι_m>@xV˻JP=Eՙa2åL2TYrEm5WEA{kߢ^y䶝UrF8Xʸ HjFJޗO4:Vđ,Y**U" 3X|WF\~96>>`b:ɧ20ہZyVJ)7WJI*vf*RRY N@9U*!k]S˵HNZe^+쮳9ALk=YHI;cQ5WR> BK?/M< +*ϗ'';A׃AA?L pew^g;n ,$$\ T +D8V^Bq2ZN6#2Ң >q;9oyn'[鐫%g+{ ]Il% +e VP!d"Z "8<<]LpUq-@ԉhܛ_! +c> ) $Uc֥ &Sa +(Hw#)<as29C>q-JFP .~1͵~L{ MHi 4 -JG ll+@5c`*o >40E70cۭ +W/pdK,1!a7fF3bll m B&xjG؄;@ |Ro.<)> ?:cm9&'4^6O/3JκsܺbCg\o3@jiy\g6^g8 9@/}o1DNQCbwD&AzkN# -:Ncnx_`='d62!'#FW?r&eRR;㚅ͬU[uv ~&v6IZFPI`%XEnE㮥>yl>7 ,f=F5\3KTh\5!%>擤!s`1kD- ^[csX|0>CMlFY} s$A n–Z5d||X`5?b ߝ%b&&ϰo_`aM<~H{xy71RX:8{WYIň%@#_&A%WL$u8xWXQ>8B>0uUJ &^pKd|G|FwUV3]6KD_PLpoFp*%U~/N )ڇGNvSO8jQv85mjd+~Ɵ9D!Mǧ);Lr+jOU,U*.V_ZUbRmP*Q!y7^'q~&>@^gUcS;Y))*wzT0TjĞb{*tT(Ѭj-JsHOU/Zl( "Tr O%*HV^SSSI++5W0*7BMJ3:eK1VmlxRS4Na\ɑJb1ǐ' A9J@!%7=A9$e(ϗP&#}cr?8ʫ +o6$,fwI6l~vIHBH&@J$ +$AkJJJRZjŢXZdZQt:0VvږaV;0/۽=s}o +|ӷCyd}Ke+{y3݌slP⼫`M2|ey*(!Uh+ت`>9ò7RN-F 6`|KZi +|A|lr :)wr(4KP +Q~RpBpNˆ/B׏܆hDѲ!|PNc%|a#hpJF0ߕKżbxLq㤸Sn~ǐ Ѐ (%]%\a8g|JHlHOq4di X65|ՆoexhE0W!Д./n{y೎Y|< scZlŏv0 :rEE0&u٦0k@3nIk%e o!ya|HsvB!'KA#KYd>`]*Y Ճr\tuL-1GlkKx_ o8I/9kA!h.\c 2ꄯMS~w9Xeqrđ&fNjn q/X6,ao=puV?&kyGC&g3dL(9!Qjgky?ۇG>-})wžk) +!#6ko,c\ɊA(fC~yCv&ړ{OK߹F*JyW=烀% qe#3pH\΀j<9y{@&/|N:gT "bc|'ku4Jg-_-__߃?[mrrz{ҿrGQ +-@t%"}v̨N|StLF8$P3\PEM/3y^b}"3ɹ#LV92l+C +3l3ԑ)eX%x?<>j* + +-tL4&qXsh^x_xONjqJtR{L(P&˽v+p^Z!3Ne8qY Squ sa(C2M~] +{mf{Lm5:'`6?)=|w|_APŎL籟.Li$_y=Bz?"kzDZ}p_!B%}'] J)(<5kn tb#BŅ9!:NwpCȎn$|_)nSV"xfO*xlyxH%k7xxSspd;I쯇o9r8+[@ +ԁ8cҕhC|E\ +;{Tn6ٻ4wX܍*ɝyyrgEo/(3?do%3$$`BH@ Ud(Q"EED +TPM(Ȗ-Z""Kw;=4s3_sg}ߖ6(M@rAk&Ь%vJ^ ; KgM@ úZ|u9I<9v,}l+팸 O8:C_ mk<b$J.!)A-A&.~OHtOHZsѴѪŭ$NVi%M["VxsRܢx:{u>4 gqYBzt}N}.ѽzDEģgq%+ġ~ŢNy}d8/aKbrg*bNE} +A3A "M~K[4[<~M [[%VA[rNj?]༆ey|1G@(h`*]S@K!M>b Gs)4 N_(| SC,u%7$ђ4ų `6уv-dwCaآļb1a11NSaȤϋ8!5F -ESw':{U!<\>y0?*>⎤3&C̙",\&57K?GӚ +4JC96g! -dSCI23!rm3A{Z"%I cfqdZ$-*<|6xcw!^"0Å("qkNƤ5!96"M%3 Cso#:24s4/%RLZJkM[f +ESjhrٓ\gRGB %xPEWjI],-VI^T0 GFZќ^IRkA#VN,c.'ZϕW:g/\hL1$iRUkkuRG[bNڱEAΚh˺نTIn}Rɻ@S3$( 4[f\" h /\4DSGwΆ݊+yލCF3gDv6gTT a[>u 4UFhF4B@?hI| baX_MbHДt%0>BS .z$f*|ըj@8:FF0'YPyH`pΪ4M LH9:KFf T{|jHh#OS4puddq'qm*i~RRB7 ೛%ljۛ ZoIq@>CRM}jP~D&%x8(D笚|9*Ŭvh֘Ws/wQqN2,AI5F(SB)RV$M׍luxUyd./(ǘn+ДЬB݆j>׍l[ {T38؂r99<cBvOUdN[`(Y9y +6izEqe-Z^Yqխ暶U_WݱSv7٫w8vC 1r17~¤Snco5{gκos~?.x?.|EO<䩥˖xz3ϮZ k^Z~Ɨ7ymn߱s[{o{>Og𑯎~}Ϝ=ϟ.\JJ]IYWQdg+/RKrR+kAݔ7) nƃe-ʅpa2b"NLUV܉w+3~ܘP~< y G+K<Ô+/b:&e+8fMy[sP>| T}<:I?().^J>\ͻ%~__b2lvǣaO G8#1<\|LҚ7?3' t뮶;f[mq&O6}ƽfϝ7 [xe+.j[ȤƟILiLT*Nhj~o'G~83gϞ;w?]pƶehbm֮-;zW_5a3Жj꩛sӲZdOG. 54PCC 54PCC w +u%^]/9 _ԏ-~kwe ܝVOѢ'~HPG VFծ=Ͽ1}C&|ww>/n{y /Mٵzo.Ѳ{_d'װ6Rk]/޳̾{ttp|gvzffgi;fiNд2/AoF)TLP. E["-)'-߶g/yޘᎀN"_ +)Uka"a>W~ՓĢ ?J!&vezzc-̣>$CkSFkCe\ )j3J-)|ʉ鱶d(;nZs>w'C71}fDmX4 >J6 3O;F.^hW}F]υ +{E"f(/c`4Ѭ7h^!}w>85KhʙHAΡ 5.-F\ |{Gq{im=/ZtUppdK*8+#KD0 +3{717@AoPa.57d0~DK2qH9yBCOmHLU1tՔl2"8dX2, K%e( %6@du= +םj^A\ˎ*$,!2.KGv[=ZP +$A=]+#zw^ XaF*bZ*SRD &^\4h`C͏@v~'x<\վAGi]8^@(WI<}IXA-edYÍDVa( e Zg:8QCHz,I^PQ%xI-02,탡2Ad jk.s[g-HQ$Xi}yJ&E|Ne2@ZFO AF# zw/؄9Ќވ0RYeJ($9J;C`M􂜇}0 P/69&Il됼:y*LYT~?W@lͥt%SYBfaC*Pn;ӑW_ހ}]M*'(bN)%O2qbzȅ)}^KgX $'mo N_u_q y[r=P"fUdVp=!:qܴ.K``ZJ s^9z5-&i *ઑ9u(I#ObDQHnƖP VKE2jVwn '\G&ǼԲ֠m0NJ\ɰuUH Z %4Y@" 5Pog1ip`䉳ߦq/g(MEɱZ,T"V $KM2TjA})Ï9;g/(Ė>Ȝf+Z5b m @92v~ jl̆q'G%7B#~̇ސt& n磛#XB. xю?S]1a^‹w>LpP8:H"Ol@H4@D E> Eߧh x 3{ =p~@bIb)y`o%65~) +}OztGr( yĆ_ x {L|@mT+5s7*Nȁ3GR]xڅ)|9x^d\ \dyb.pPdmkkm_"8'q*)c{&B?P|5 +b} \hXL35j1|%/h`?b!4У( ^@9 Sa6r%'Pb 5A(=)|FIS|F!'AcIn#V4jBkn    {C.bE aԞ=ag*"tVP*GhHLf)sUQ͚H%PY~5[y6V!zgkhpwK +Ly}\DM3 3]WdkijJ$#d=U$yA +7B-P%P_6`ׅ3$}N+5AIL62U`#%yWFSE E[V\Ks2[nh`ԱCbx. 蕽|Đ +Cű-NV>ߊ=jVy& ޠe=ή0ۯk@G +*h\̰O^LA m(U42fwO'pxa0|YPa47(t%1 Ο;\0^vwvgԟg oB l;e^cdUd ~Pb07(PfG?^;87rzĸ~_|)8Wх5SSrITdC!b@ As/=s߼tD[gnyQAA$LN'3 c8FBm}.)u#=g4b4~noUc[Q8ܾMYBy͇fBHOI8t8:K + |H{ȠLdT}ūoݸ\7gMӫ[e`Gp=ϡnO"@EdYs@\4yjlflV/o.=ٴBj:*n%}lNmg[SeJKn/T^P@QQQ@@PA/],YinmyRؽ +e[ +C>yE@)H;a#ssEfKϖ?,?_V3|~lEfAx8䌃XH?Br_({Jh3[^^0_S 3`p^AkOot7$磐dmÐА +P+6/ +f^ Gp1~)$T1|RB.玦TMI千.YoA777SCkCɦC ?#4wPO?Nfo0qZbNYLn~(VbOKmkZeu8MB ̵Օ??#Ȏ,kNDs:#:'>V\9Oe t̚R2'L掞8Nhmנ镡1!?mb#~GPqEfV 7UO$K.R+ \f9\cLu%uMXyߪoNhkGWF 5Ak(9ԁZ$)93Ε4RfiNb]6*MZInAӉW2v -&Ġڷ6[ɐiuL Ye>3YK@e6rU/"4 SjbMCb"5b@ ЇIUBEI*w:SW.+Է[i>9Eߔ+UKr7Se@p^*6A3x!Y!,!*y-vANEM&ACӫ cuԆnvC$e^X_/.bm[rĠyb g \)ƴ&} IQRVmz;hgyn46,bhغ ;WB;b>tv/KWt:A`jNmg\}CEŴ6NΠ7Ҥ}4E111t"/,1AaO\4FٴC AJd2ȫ(8Um3R HaD ذ$[n+A? + cSΙ# ͺvUD֜Zא )F/ +(F;Lj! +14! +rfס^w Y]1|6QHUU5gvŹ=utsԚSͳe׈2xRKFEMP81H|ZOgk15zq4`.dzXFPV(3Kd&Z/asbP+KVPBCǎOf{~4]=|RPIZ-` I-|M)z圾ЂxME os?߻IocA?c)ґ]쉗RtIZbAe򺣕EHE)B)2*AW8/1/o\#=s#ǒF#l{t%/NՓ % ʸtM~aB4|}MG 5 qtl^44ra8((>' ) 1tIDIz*5+ @};XpgӻG\^km'#!_ٴ_DTXrR,-s4A8K`qqY9UX[~M6®QUA۠]tw \ԮUGg<6`**9{".#u 7 '8́j');m{k&h ho''DX_A!NW1K)LY[FfZy on: L㆚ P 5ۗ@+@t =  򆶤YIVS~AƷST*e\W;^^'cF:/n΢wt@s[\d FPEt$H3>eOsJ0)/(kh@>Ӭn fvhN1{vgo'h9_ >u6EgZcin=aqWu7h4(N~ ="l'h0SFI721MGMl/ 4d`B mȠ84'<@sgV;5Q9Ts ny*rQ(FRiھ,&#{ZsJgK|ݶ ۷6@|ftgB&'=TeH[H}U{˚6˪Zs}I/S9K 'h߷ +T7P1!O I=;scPcƪQm%WY.(IM7ـ Ad|LgGX"nJVx+9J%rS}Zd5LV%THdHm/6%^AfdP] ={}-*[[|SJј*9(#6a"[R)|Υt9Xe*\of{{8 o@eЅ փos{Ȑ選 WtEi2ȕMe*icAfa<&ZOki*QCP:gZd`"/zn߽ʯ'mytSqф̚t^s4{g%wQ5g,lmEڬJgd୛ m?gz݋NP*|3I;! RʼnC䖸 5mkey_goMi#֊NǺ_ъbZԊ"( D K! ـ!!@BB "ua(nXQHU^h?ܿʪ@-g{~o٦w7iaݯ'^ EQG TŶȟEa|1Hx]&]-E"͚`^?eܡaWtLmqu~)~?;I _)OԄi_hY=A.3+ݑq+rnW-n/^2禰gl}'=$qϛ2 &[ftC2.L?+N +z*)ShSes s +)[+,vU%8Zyps T z;v6ُ.3 -#0l&. . x D ꞏ|ces`"5^Y{JOD'"E5 2p!8 ;Bq(7n\v{>F+,Uyv.5ก +.I- +vA@Dl 8p}!:.uXb,15(`ռbYȅK2Uw ׇ _ yC7^R@qX;o;w]8|6s\FV[a4,/Aqp[k=;\ȯ f+7@!H26:C6 pm mlO +8{q\ׁD!P@rԣag +BdIR&ԉqMYϢhc.ƓޜG{a87Nso5dX݋`J#o;A ccx⇿LNHVvL7(I sU g F3LcL.SITS󞞹's1{.bXܛ|mz^y3-9D^鮒d L4T ~m8d{嘳@_h[;V'(PJIki)%F'\WTonuwWIeU'z+fjol/c}I6K m+ΨU\f\VnFeoÅwE*I> fh:֥ݰ˧֚.n&(袔[1Z(>D$h $k+{*%KGuS[o{d<5mq|셽qj??gpzB9(RF/oeV[׃ZE-M]5rI@.i' 7crk]:_Szp؜q봋sd 2hD Ӌ>n_ҧʫW\[1(\Ax*P& e~Qaўw5rr,` )||dh2e"1!>LpW1CBzmM><\( WyPzѿdf--hxomP1^R#g¦iIIVD6)/D~R:.rЬ,N/TV ֭],[y +)u߃'/RBHoƒHgyQ0 +L=ED] +DI(>݂]+Q[W_M[f1-cC\ÿDa)5:6`5\,+E$Eq$rV7z߂jZ'W ۄpN%4X`E3@D߅P Y &( Nv /Wm FI,ˣF9"/*J~ ?*\8 'C| X d}51RL܁i k|s'Z8B$1"۳ uod8:;r8 8DC+D8CN@;)/S~l ZCDݑA5"*{&#Ud8p@>3Nl ]80 {`ma CVsX@s`5Qd3c&?.n)TC*בֿ$\)/]N`,w[V6/SW1F@g JUTC4$"1 Bg $*AHP ' `jAj9H7Z $d;A, Q^jC>Ak6*8$l(|g<59jCo_j@nEDioK 0W, `{kX3_*yBJZJEZ n $/F.D>y;5?5HoCIH>,1Sd{jC<, 5ujS h5<:y)!j@Ky4@ݿ4$ig>3MM$" q:y;*CaӇ,.1ҽ?'qL.\|Q&$NzEseP ONM%O_P@<Ґֻ<eh@!Z jYu&o5C\D.S^GU$ͅ`̐n1p=pS4\:9x Va dYˤ~Hg/$'gK'd= iN%  t=n?e5&S74!i HCJ9@ї^\Z;=z4C1O# + FI%>aOЀ~9x,&i<4А͛lG68`H7K +ANmtaLs)JM + + +.QY2%Y")u"bb] +q@$8@50Eڿp0̿bv9YCu7DrV,8dI6Rr<ĵH i(ߴ׵G>trÛV/,أO[C0L]5SI =V E fKt XBkUSjOL~Wi_  鶅 ^9k>=퓝#ۃ͑QqMzZA(VIXb>Yʙ,uIr- RzV]@j +齒B  dW'`#g! ƽßo=UǹC;|{Z#"[o]MIjRE6') oTWV(VX5֝U[++h(\Aj|l>m/^7K>fs,ؐ'NYJdXʮK2_f dzh F<ߪ!zA=P4;A%r@Esw]kЙM? _p8#,-:Ym+jQYņ<YK G*hez}I$jp^ixo\GJ9t[ivO=W{y{7QUmqYd +݄/4s +b)R$Ī8V}pKsةUu_8t#Tov4t_6=sꋈw]`X ҊsdU4a|S$$E#LMaT! LdN)σM~kcK_o}vvo8~,x8<⻘4j̒byƉ_Qy"Z4`k0mz{i4hހ&ǁqܵy 9O"n|@F 'gR> ݈6fYM\d2m&Vp73pp,gnWA8vx2 5c/OOp>D962{"1>m"S^gEYQϸĐ҂z6 +v|yl@jGr j`bCo+ o=]ޜ3a93WgC3"㧉1ԸkxI!/)uJTm sE7Cj?EXzf?l^s_);xًٳa'fKf`cfKʂCgy!$a~W}g{e(]P;# Q7la +8 +` xd( yBr&gp>;~`}juBR*G!lu))6<קix A;/CԞPH i =H1= bPz\Qoh<-^(eCUM-tZ':-"%,X8.λی-~^m灴\qJw֮ udO~q|2PG( ac>lpNj2[Ke8vGEłH "BH)$${$!H*(( X.l"(3{9W?p.Y{ofF0  dI_}Rb/Wx"xW]^ <|s8ųq0}<Nb8!cVx} sw[1,b]YHLelQuҬ`ZdY-IVQ¾guDY@< ␋ +_x:[9pˣ!5Q-e'& +㤞-Pq$FDk +(ܚ|9ǻenkxn1P` #|"Ȝ̍j]w{MEP[[L('1F:רgKjJPER+.4ŧ3M7XN-Kt_>kDP"ga^c'qqK>˞^=SgsוGŜ*OJ)*JS9ZSXW +tr]:ǐ,ȣ+*,4EC>UuӜХKe"[q`/j, +IgMk@76޺|tŦڳ1ѥ|~y +M_La˭LQM-àͥXL$}9UBȹn&;t$=)Y-0epD`anj{9vZkgoaGQudC g Kv1[F?!RS +zdH4%Y0aN8u)H d9s8g[lIJŴ\u]I㚚G1hhjsP+]ռ\}xn~sDr^G{TAPI =uz:ڬ5>tk7ͤ﾿Mw/uk zDs7u#)y)6YAO9e;푷T֦P{@!AsSwZCRs?U O>Rj&;ߨ}M[Z +W}^w76MUK,Ց=8RAbyڰsԁ ֫ uTqZV"D '(`A^Iyݿ20duQ琯UPi5w["I^OjfƵ<ɕawY9*y;zZ]k^wiT4لݔxwg 10dBVI۰ՙ!NG|=xa~iw\p7?W^)m,m*m+w4XƋk/ TA!GRpn .q.qst [q3c>VFn=RRL{ e"Ibw:C/8hΎCBh$3b\PpJx֮CyK2c~q_vdrT]ptInpF"Sp},t66!l"FMl I3Ff9X!AN{H+RƍQgSwy*wlHڨTG= cpsdX"[,G\Z $7@t6KH  +/im>MKH{ +D6XkBA2]d (["O@~bN{@i 9Z F?x9 ϙaciǩF9ݬۜ{1HH@?!i&Ri#g.Qi@sTnBz!<y1v> eJ ?Vެ#Cbhw/e=(}z,~L:%|HŞcdA@6}GnRŨj=˱j*n_J2}rcf32gҎ$MIٔqQ~7לG᜻ vfOJsE]Y*HPkPNaZnZweCI~T~%c"7*kHNT$Kc͢ܧEw/ sGxvt'g@B6$7ϰ&5oT#G:i)E edY$oH I؄ld)C@+R>}/Ç}07H^0iƟRO~O$,i,K0)QN|BȢ`z@`/A\$%%!5v_k]7t 7S.lt9nF f=ް|܁Uǵ6[B!ڐgiznT[$߮sڀxoʐ8dgWos0f3iApZ@bڢ2Mq? n.a~DX+"UP"  "d&R0 w~T]sJ/)h +k0x QbF-&*E jQQDkbaĠ8?R9Q_3kỵ@` ܦO_,Z_t86]aɿe?'#a dëcV[L:@?}b#o$`W{tC +5@; A_m@%kPkj~CfeK0Jjn@A((g4:I?|kXyI*x $%Rtfffjj3Q*jS$bZ\uab'q(\} Tp0zSs( 2A hBmT‰c4탱!]~^qD:M"!#M)Xag +'d&n,D#fa$ȋO0K!G>(B'j m6s+.\I9MD*9N` (7Fx!$fツ^kx]2_K,GT-t@B{,Z_]$$)\Na8XE= Ìzs\2Nl숄^ RMVBd2ePڠfV*`u}P\\cB瀿<JmQۂG0ց~Ӯ^ 7Pz<^O$B°7yi}>Ǎhc'|>B':8<WC𼍑2M0,؀oNXׂ䣮wvkʯHH|;čWH^: 4.x#=h1, -GrR:" `q'yq~=@$= &j ڐw c!o& 0 *r4bY0CFsȒ,!M[t=NU")3`^D`0~폰I𱤡-YI|89H  #D:#eDN3afȎ\E%+!_q U7xw܎ pN}!kH) +'c-uh&W؁/1("B`p7Yke9⬐˶ETxATGLroc?KO~K RSS?{i_c#:u6ᐼJUOjoSp +'r"Rqΐ1QcM#)'XkF/%mG{~B?d%KD.vX5u3Qi`slBE|q볢0H+z/}+K~?Hcd`v1n O ?dh=L-6kq=NƙLR +=d,GJfb *`[%ƶh>U^ذl`=>ԧٝG0odg>$nޤ__I\2s)pFn[lu4v?5c5vwֿ) eG+ ˙%5oDH:2p~LξɹΧ}⏰O2t.KC 7:y, TzdVG[ʾ=VF9Pis.)/w"`8P#~}bC:1J"n!ȼ=sSbMsF])c~.SPnrn(W%3ʓNcžQ[=T ,BBxyɮht9e5hp[Ԋ˓vja̭J9jsT}vi.|oC#$ +$Z-2dAC.q {'i:&C D,{ږ^;2(+r9gJ' +*GUYs[eu-FvAdOse}N6V i(&A;}_;c䰛p­s}Vt*YIVe˯W6嵨~[TsdJiujejekq@H[2YD,%!iAGF>s:jh[i~W#J:Q#gW *J-eٍŻuMj*UgirYB?uz@Q5B];sk:~#-4)A)ԡZ I - +*HDP]@?8*~Yѳ}ssv: {:,{~'ŠBzjZƲԨ3Y i%9ՙp0W(D/D)췉y@4!M?a{g6-—KR.~4qj4h^\:Y]_^+(.*N/gd)ŒԌ 񟱒@:mCySn~c+ǯx`q_8ΩZAd +ёTaiEfFajŜ¾#E%/KiG $I;8-88 w>\/~e*=3rpAO^?۶[cK8!)LjFU^Y\Q/?//[>_LRZbٛ$8I rԫ⾶oý؁{q{nvh䘽a^k]gOhV0qјĴdL^M0TWõO5Ki1oxU+q@6\ET)I}QFˣ{*޴!ݖ17ݶa LjiO$3#>$Mr,ȅ#q)MU2Cu6d7m\N ;~8I jTDfl\o,jo: {FeDzS{“zbb#; WקjHjNgv̦_ -8$t%diF4;$ݑFSh䑎T^Ŗ86_p& ׄ!q쁊D$߁!c`V761=/{5JqP)^^ >;JBf6gdtmB᱃F՜ACƾ,ǴPOhޝ6wBš(whñԉ9mb%~cPI _}8-ۤН /οQKrk{5.T@%uR=w1щXE_R^K>KC  />/iE%FoZgaAլ HkU-ɫV"WCW9FHՔ}B[Z~Z/9})gOrveNfB82GuRbE| |#5lYwT [`wi} ӣ}x={ɏPcMeC0cy^a[I2ކP_B-7:=P&\hΆ80dWPh' bpN't/}hc{6m@]Ĭ Pet7||ϔA$י T%OX黀 >]4.#`\5ƨ LϬ_9,P-R ,?S@5"Ib-adVp'EBP>0O]QM^[TzYuQ Ɛ9! I@ @ A@(rUZPE +*Ȱw;9]笇ظm@X  o#D/a$vla,|Fk~`We0;xۜ{!p .B i+n hkrx[6?nǹQ'q-[FÖ8āh=н0 D Aq1O#pR=%~h@m 3@ ҵ@ez$|e[IZ؀ ws*CfV=zG%v?&W0e 'waO"w6x   Æ9~/ϸnl$;C8 T7[ځ|فa䮛 N!F#{4i!U!_ٔ>oA%W;9-<þ$`ODfhl<%n|TQG wN::>r~u.;Zm`.W&<AȍԄȾD WA3JJb;D|IoKIyO%^H>J3*dS +4p1:?,y7s_pyP]yW~1GyFԦЎ'XGE6&Z,L( %;Hi{I 2+F,,jB&)&:Wn*J.eW{;i4IsȒVIT|(0g-$Z.UíN2 +TU% iC +nE>rSiT՟՟y z ߾C7u27ۉZ5/[|ٲ[WjʙN[QM*jmU-M-4cR<7U>42_%di> +35LA,ty ]lrxOgwۂ_;CO=aCAֶ2fS<֨ThX%B}0/D=$קUR:U)?RHӎ1thkuNf Gkf,ںkyWS:s-=hUR*S Y#0deIU+*"0$N%ǘq5@:g6t1f_Km^t?p#`:Ἇ7R4ԲwVW e2raS(hr+F$!ˬeHP<3Sd[X15@ cbfq݉Ř]K0W4t QrFVXY_aS֗pRK qb\&-O+=JA]4_8̗-,qi O +1P= f<^g̍Kv;φڻp;iSe #ݓ &ZJMr`:/2O_^*yNi7.*a^\W<ƴH=;af~.al̽s0W0}Wu8/l_t.ҳWl:j~IH (" ;BBB@aG(Vԩ#.uSw +,0EtVEq=c= bʎϼO;~|}&GPnj'Stbo~~́ՍҴ껥? eUe>6 S9Gg?2ɃVEnvK7rk. ^H +/usYq[[ 7sbMFuaӶ9Y k +U E┆u9&NMit tIn3 .3^9w^SǰVՑ|פЭ37\X%XQ"L{~:ܮԶʬymdmC9TeZl7$chI-if+ qA3$MScCV{n Э _}#/zq|εIJŕJ*-A#HOr{kJxBrA7좑ܭt~NZn2I##rߒwYQ۞7<{7ú{cDfknNS2KR2LH.$ &zrX艨Y? +^3C \?bY>.Ԉd#hݐky˰qooLlqd)jMlp-:2{-O)zIH8!J"HX>--t?x9g#0 ee:@i5 !e96̰p\C8hՇ" `Bʂ,R)!*Bk ;[s@\#/x7){4<ǃ.fqq!cBE1"ST,B%W"=U^jo3v+w)n࿡) +>HmW] f{!և‡ T\cMPCj1de6C!>Q DHhu«)5QʤL @JM 0&jTًH CָCR6 Qrq Zلq鄏 gLQغ|AACil2} fl)2HϠY_8!e+<8!vCKľāIp1\h"G$wH +.HpAFڕLw8(XahS-^dltf',rw6&`FQ4%oL::!Az;׈Qɛo%Cҹ7I{-GK+ D4ȝP*yLa5%B )mP1oL6Ɍ=~iޫԆ&7rGQo1IyCWW/dclLg)BCBt!ő,:飔c}!"LPƷ:̚ bϱMr6s_`kcN8MEqkKXܪ {H @ b B-@"D@D +A^VPֶ^u9ߞ3)1 ŌyD>$ < {>p}n0 1[ n32+$lw} b:XۯQ)GrU`0kq&LxO1 Q f#@O[ a#O}kTm=0}ډ}Bs"oףX}i$6hWѰV0+ +s~1e9XET2K^Q9A~E6fLH@S@V@((C^ +d!o5n3aNKǪ]/wt9Q~uqXN-Q1J8yj^NB03S?*?g$z$ {s羚P?llew]O~{GI=VkȉŔe&tir:NfQJ8Y9$Q)JRR^y:m<$HX|\^ԯsv-K.O}ݪ7rV>VANfgf1ӋjMOu^>/NPJԷ$?IIeH\@\k X +:G.5yionm>KWg(Kɔ4m#%']ƍϬfeiƴ$:7<-3.#%. lb$ zob0[=\&:7;/j;E W_v_U*є(ɧB-K^P•Djω^H;)ʋ*|˔|J d!"5.7 Eg0ri={vUM-ݥ :gv_cĄr5-4uFxb$[ܒ\A?LQGl2d=iv'poٻǩѕ7w6qiD>YP|]>&Q*4qw mWB-PA;?k#t{h5h0phUw-uHy^/;,1 +0idҌ,M6ɍOhoht#$1a-0 pF;0r]m3`fouw)^lw+{/J#E] J ˒B'Q:*(v#-3>xJ÷!a m̝`,߷A ,hrO-i~%s0ɇv9-t9(ax@!p`9 l ,n0aߌ@v;(ݎ[G%];1MοÞOʾ\O%(wƁfdlfGmrޟ~n^BL Ѿ"4 I\dLCpfbc!Ń5RlOh0P¡Ej9Nh8b#MN dBBgCbrDd9CVI;hdFo۸O@p꣞Sc>k ᳐ENCP@^ᆌE gސlB@|<:S!RԨ/Do/G [1|l hf;U:A=*$(j='os背f2N/d~~C]'^OaM)^Rq|m$ y$ rȋACrr]3CS2.TkyP~@ȏA~6dJ +|:a9z[ gBƄ>c8i80 :W=79>Эvc4ۂnAPAu,lȗQ!ѿ)^E*T'* d#d@G4LX( aaV4D{%1K튢|O"Ə y%~Gnwv?DsdڐT ߳`F5}E=z&L`dcn= +'\y0.+\2lZb憘gMOsN=ɪHӞK{*+y&O\0TAtLi/vNuĂ 7ucżsJ>?.\0s}Իym9,?-wnog\?]}oD|$u0R.`ḁS.͇=/4[/[$ɿ(*n)1wƎKNw=Rv<[7E)F$z".5,uL,Xo?T48˽oҐ17*fhiHRRF酒EMs-3ԧL4'L]c;ڣϳۋd)!J~r}EoY{|_y"űo2ksk._YB|Ʋ.͊c/5K9P|>wϹ%VKedZ n)J{4/#/x +b}_`߻FܽR|~vLU k,WTy|zߜ_);qc2i@Vs%dM}Q ỐOsڷYVp3? c> tF}i1\Ci`mrkU{*7iw<狹_(o3~n9h2m:oHXնf>L0?I8XUA)ғ`B(@( =jjA@P((2눸zQ 3{f{vV|>_NnMF*1&8xxot~ |NΌъXQuTY٭9.}|gWF>UVJoO&51/'&Tſ +NZ 4D#/C ++2TVkrRtLgve뢰%1Gz ;ryr)R~1)ܿ>YƪLa&KEļus->TC"{٘p#W7 ưnA:hO6zIw VzE':J 9U*%IeQ'Nt=h/L@ +TP![ ד`]tk 5]Rwҗ]&ok7BۣKq-IM79'LWBȎr0yL, +M1e?0Y~rD#CdUV&z 0_@]=hxVr⸁pD0`ƿޟ:esZdjJh*dAC1b)VO(P T{kn~x{oeFgC5='ݼios~)wC,D쏹k5t$9ǐ27zO17ml36E|blՋ6<ȕ~WNP0- 7HP5 #(^C}lgIqLO΅sd?8{ &`V`ǘ9f32g̠촋#:JR%n+Wq gC5(~/r!Z Ɯ% Ygf~,"/|&x6dtmGUnߣCnO6p`sY9P@ -HUY.B )RyLR7*71[hP),SOeNwen6sew,~^p\O;Cde.|-{2!aYb3V]5+ꊟJJMWӌV}(>o;6kb6ە/a+~*p<@k:> }Kې_|4kC:(r:k!T +5C^pZ>}w <H[_Hh \~:L:IvMQ" +ְD{P9Jڍrw2Iu|u &9+m8)@ g)kHE vȜ` dYTg;Av5&@ $$$6!)67,E*n8RA[EQ}k=ťӊ֭Uq3_ۙx;}srpig0 bɴA$ +ZH2E1ʴ JYec'6PT9I~(“Fp [83ؘǰ' hiCzu%icj&v&ON߃Ѓ`O B Jπ_.xzǂ6p0~b8A\4uxg3O>C|x\-,@0Yï {M;H3)W;=%wÔ/x0ȃ&|<BDd,H:τ(} Xict `)$- ?&^[?i >Th\H>D,Ku YB !2m@½V"i EknٓWB_ a5W\R'H#ݘZXc!F](#,2S֛CMʆd͔dpG#vg&W߉ڏux!px.S lH`8G!ք`gr{Qv4bgمD)t01&*4 _c3fE;v7{^u~%;4 sI\I>{7s~c +RV$4ePͦ24/-!E: >&ϵ|3So"j9O=w60G=/xߑI;vM +3 " D[1`@*&D3>+ߤL_$~YT|?V.z}nFs#b{=bwUywTyߥ7 Q> v&c a$7d;3,!7#ўL {g c NrPչ_Khȹ&v߅s1D <}Ip"Xˀ|ăs8Ép'4!ιtl2K %dsobɬ&?$3K/w)|*Ι=G :Pui㟈&LUw( dx CIb̀B R2 +{ƛ*WI5GneЌeJѢDNgN˽^w05@rp_Rhhɠj_Ȁ꘴?lww}Kop[b RH~6[EFVQlƯuNV+.Y*Ns:v(@Vo?,r=K%};;RC ˷W$VCؓ/M7&wУ(#Qo̩G06NX'3ZȖgaks&%C>_GT䷫I+&gRVRZfQ6Qmv>-"{9צU[^RZ*^Q$ސA.o9wGxS#VD5\j}\?!m,DPSO;!oQzR[3~:7SohUڻR]\Qo+/]%n.Y'k*ڤXUMYW0Y?U)aDm{gՕAP_&(TLf ֦CnAlMU``|wBmMIs2<;?n-_[])XSY/^],+oWԖ~*鏬(9]VrUQ.rՕT iiQohjl5M]_M:4:-p|澮PѶ[ZT.kzlXпBаliTW}" aQ(B @ؑm( ""PYdY(.Pjg: eLm 8ȢTEgǙ3=a>~s>9 +f?pfތ=!)B3&w7- :íT~!3߷1 ײ~\btqjZVWdx,ҬdX]~at,^}w:}.();x{Br%FeTA:']Hx uE:L8˄M|j2$Z%&EŹ;itK+L)(I:Z㟘75Qp|o~ ^BD&}8jh]π4\nAG byэWYoP|&lmM95qU;U.puVnTUy?? Ȫ=us5:r%j8Of.-lHa^ttz/Z}=b]Zfx;:ƞ͒G7(=:}B|BF:V7^:{Nx +۵W:?yO^T]ׇ^+F5);ǃѽAOﺴ4BU\ۘ{>ȔF|rT^^v=#}#mJ6'jEVH]r.;hHO2pl`)0?cWh-KjэcǚD&Zn*Q<ZG+2[2Q)'9O7^F;uߑ.> g_E̟d+?Āp{߆L3Npp~; ơwRL2,X +kmb>E !T*ք!>8^LI dlT,q*+N׶>~LW4Ӡg3s'|:Dx ꩻDa5`ɿ | 9_!(_SW"y֑vuc8aڽ԰ye=c\\tm2YYpO'-Ba -|P&(Pq%HђBW=iS `0F3 1 +Ә+{XY2kY|uS}.?@O߁2``Aa1 +5ZJTP+Л^4#h=up,08XKt0Ļ75LU$;x #0%uj}4d/K P@領F)AWJ) (t" EƖF;R!"Jh`8 AhyǵHsq'*.Zoω7r,ɖXD8(g?E,A660G \ QJ\ Y ?ψrȝ/j:YB(>\E t1QB0MƲ!Y 2Pͺ(EQK  gijoĨ;Kx,(RfBҜ0SD% ݂5%;_t߸Jkx(i ZG>b9 z }z3u< +qz:O|I~`V=.h` t "7N qQTM ֆAH$2Ī3l5c ~[>`-c5Sfe~ #Ɯ}Ƃٽ0L ƋBF cJjH}1@LIJQz#r߇zVM#ٳn'AF}xiۻnzЂL0X^W6!``U8ߐ4|3-5.!q1GQkG,7[޸VNa{rq&ՐΗB;_ y4F=֧#TX`̿6M{W"H7Bd]沼5_g.}ʎ{fk"f|*k1vWZ~޴b.#" t?>1>Kg O.Qx,ŀ^ `38xػ,|+>Iq峜DKm%8opks=}2f43J>}pIʡ^~3G 4@x{;W`2@_VBkcڝ"_!y٦9zw,;XýȒp>IdY>--\!BEݔjoBWhN(Ԏ}ɂWD+,z*2m;xBa"4hR~/C);ªțfc?]Y뫊]H[@Y1BVaߩSGB:j&Z4y/#g$H;$l61ױTW*H}$B%M\(/, + nOY xb - ;jp:DUʎ0\2ckY,ͦ&k\wUEbʊ:NFQ _r*(VP~[|(B0l5g>BU t]*щvutc%߱0Nkc,l 3R5n^Ԑb]P+uHd|&3e#30x=KvHU=ki;m_0ptn.>'n_Zm}W +>H[4@oƤ`GLspf=1Ze_LRs`6`a(nQ5 S≧3JӾU_zk;qolcoLc9a91 5Rk)C:{PWX\(nvW(hdDzs۵ DQ:8[3.O08ĵ}ݶYٶG1ֻ5]ƶD\"ΡKԼ +*/= 0"&\Bֿl!:!#ԑufq:': ;#;?:kXݵ&$F$W1h|~z=}?o ? n3b{˜XFӛ̊VsBs>)Kk ~ׅBy yV?Kv@x D? ŸBG0qLd0%c Mc{ xgu7v+{u+}u+5=Jp_A_F9\w`l7@0JttTa4F1ned8 Y8ebIeI 52@cs'?25P@` EԔP\ 1l1 l01LF>ba c/jwJRC,Hn!? ۞ Fz0EYf&\TOal>/r* QD('UDE +尢O\\DEM‘0Qn ƹ28_BX=&P3] ^"°O,ߨ[VeJڤRUUG/Tgs⧪+⇪n}Sq[{jVwF@/eP`}\zi=u\Ԏc|p<˘VtS~U*~QV@do}v5uv^ͥQw5y2FkHWɕ(az{tGh.R0#3{g$inuD;nݽov%n=N7coK;bOIǶˮޖ]}$7,5ƣSk<:OQ0-mH8&dհd'dXdYIgs3e]~õ5NW7HL4\rA׭][ަm}^9U3~fݐ{S"6&d2:HF'6Q7t̓МЏyTbq~t[]͙i{iBέ\ΥM8t2&}w }q_GRJEϺ4tKGtfmL,+zwNq›NxLdnG*/ZN~I[rMuG5}qIK@H &8L 5! !!!!B-D~AumγMzvqwHEӒԫ|90;Fzx5OռQQBgC$kP|sKMgZ;> .=w$e@q<;eb6tU!ŕFQ=.Q#U"tGr VMN|D#2fo+) ;i Dokvpa2v\wz`Ys:P{qG2ˬ6d:jH343!ZHXi\:!$;D0ut [8?^|WA ,9ai;d8У;^rji&F7Q*Vnbh +CJdCJ,K!).R.>H_RT +DQ!5({AW ie$J/wwT_ZIqae-Q(w=|kXhރk}twKfWvzoUk%ƜyTe7J| EueTam5-hftd֌W RUXz͏eDL5;hϴ`!@[+{} =L۪_9w^ܧHr+pڸVwU9)ECi6P3&4l6m&lbB&fBdk*=[\?ޅ;`@Iv0ʾd Qџ\ЛvPԓ}-bnV>h0-<m[8u{\r#?Z_#3M/eȐoewbp8S-]YrNaUy,"_M|Tn'UԐZ\&MaSހׯT%=Oz{U z9gIO1!E41C׹z. 銌hԯ-iw {=k aC,CRDNئC +GgsYg./1n_nߘ7wϰ_d8"i46[4X\3 嵄 37%_A_Kn^ ,Pisc ?\tN B`hDSEoOu̐&ʡ'Q <8H1&FTȅ?G|&^(=7ت.Dv6ltvS!{lOVԆ!aP~`*ZpӄqtL:R͠LCsR|I_EuqӱKO,^&?u-Ñ#w6N/►*♺2jw*vEME4ʈhn +ҵПƃL##Z3p'S2'2h,ď,Q ;mu\ݾU{w+igaˣlnsۧ.eqhWD>F` }lAmstl6+Bx4sPzd\yʔŊBb5e Λ]7w+w_cmBKI"KPUvv4 t6L睦y 4,B8,pc7p5aFrD{̔=jG|Ŗ6\!uSiz)kN>*ve]]q+aMLtX*b72):F[\B:qP?Y@PU/bT5?F37Y-gUYv|cVtbYk25X2}ۗiӾ-K;4NҌA^6 ru КHW?w|98/#j8g> ̛fM -KeKr?R|Z9E5.fo/u$F!@n ulJA@5@XYE#.`ǕxZjUlF2Z;sng.8g>>&u)1$~*2~DV]Y$ILLl'bopk9@[D;W"!+H^૫QMmG3ӭ>ȵNSWV:u.NLVH:.K$Mr"91{b7P.8EC`{Jm]inTśXVʳmʲ Y咢LSAFK^z:kQ;kiZ2E]\PUnZV=CU`QJV$YNM.)g')v'(ds8]ٚ&3&I*`Fga4g˨}=@W:Eh[+WV(DVerی"ԒJiRqì5Mh'*o{DZŜb'z|K}jpvAH{WALl:O^UniCan4:vfGɖiY6I55تzv++ETuQOL9DU0DR/i?WS (l BԶ۠rW~>oJn +㬖u1D mRUjNaug}Pw5n|5s U3b7%zCt}v=7[*J5PjfqoEz S:BL6ψiO3ڐk6V*Y%]ֺ)s`7΁-Zòf&^l'~L !߽PvK'^e.=ӑ#Af'OЏl=R-4+Y֕mYdbkufM_Osak%[F~mf6zP(hU((H"y5E/_fm7A|oi=3zj,}{=e{g7>=f>yz LwoTy#@D rH!O.tȇe|5r B<x GhfL{'0yZLA8 c< +0~2$o򏁜a?O@ ([@z0F=7 30z ׋z9cQ- 7ö́1j5򄌑+)?W $ïK(ۍ(0` +2=1 |f Lmo08qLJ8 ƍcGg 0H YG6.Yc \#'+q/?dyTSWK¾!/@ Z*,ʾHHXHԸТH݊8mک^ENw~NrOqw¢)^/  (sHlCbh&M+_<8 xKKO>Nctf' HbGZdAC6=|Gwѽ8}|K ߑgcr?F>c!SMA\=iOcOg#SbH5|'.5ԘhZz%BSE]3QDtNSEWG-M1fO u?Ax}aM>nۓO_)S 'zRC*}I d+d[}̛~?$'7$XW<.z60s;pv*f} τp-#k +,IK`btV`Y.u˻w52U&߽6]n|ѳMF<My~ozIfC޿Ʀ76# uAmaG-Ƽ\%9Zy%FjM0=favo}OOՀ)c>׬>~?l\Ȃ aha߿~}'l_o0'([wb+`50@hlFcYqeF9 3Йۨ(֑p< u}ֽK{BVq +nn ++ogY^G-=w[k [?0^c_t-ě:aqFbe=-V؝՜vkNo o ;(61'ǖg;͑ض9 +|/=7SЅt>LCO!l/5ѓc;)մ31bGں=[n[cm\L_&X'\=* 1X쁭! Bwa0$Ѱѡ 1&T,ҨCh-Mfٚޔ$7'V94%6ҫVovZC,nKCQQ}܈.K]¸c]"0Iiq' AR :Jm(sEM^ğPи(Ƭ Ų\+gjm܂RZW#P BUQVW-Su=#*x!Tc' jLޤQ8' •\CT" RFM.P1ha, 1(6-+Id,[MQPSV +;ej׻ȵe=nRq4ew8],X\iP%28Z2 XNvQSK髂X& Z:\Q-Qg9(J+FuiWIcn(YS üIwypB{a4ܷ 7XFU7(oE42 ÍbrkS,klEV^UM*U.$W4 *\ݢXq04k 3!A4(ADqpU֩Z +X+ +8"8KlUk+.D:Zu}_Z?y}r?hL1+'Ǫ$;LZ_3~Pec^:A?iÖ8g~&h;+Wƒ&^I>7AR9{u{d*`}¬4=f15x/j\jѫ;|v G X{EwϔLmn5l%$ ݓWoy?8lJeҁ529ega:__qڋQq=C89NwnXۚ]2xuj8QgCls4و<+al܃?/ b, q=0DGcr504/"~}Ts{re.r,EvܜGD7H}zQI;q-ri9Ѩ }>mmV ⭱5^tWtSYNq̟Xbߢm_6*m管;k莿+gs' v}8 .B- 8Dz 6PF mmmmdۤ}hͮnyc!xP:շn+9 +d ;H΢l@@ѺEA0[TV%=вdKƠE4++JDuIU>%Kſ+ +T Oﳿ&3{_3[_ wE .R.uCKɗ"ۡrAWY E ] ombj/e?fSXhf? rh^U?mwfpػ>pbP٭P؋!vI/3xG@S` +j'hjXU5@¨#񥤆5kxk ^]zB/Hf,d~Љٖ@ˀO&|P:t^;5o +@] a\:$dwXNR]% +RJ:RpUu~ߜ%Hx]/dϦ{̽j  ~O9^D.Ue纍.O<Otc BTPwk`w%襸MtlVGKf#d<3#Kwa5,Ն!]jr}va2v7Ἰ}[S-.R\ +@!nӀ\!Cu~a/ZlEY`<7"{n\$n q͸Ah?J ŀ2EyuŹf)4S6b*B:Ul| 2ۚ0#Zŭ i4UT$wT9Si̴MuڴWUb*PԅJc~ 2W :b\Qq}nE%󖱢2YQjPYl:e^Ɯ>iNs8ar8.hvO820|aj|tmGF8BF"xY;ը&(n1PO|3Bq"zQt8/ǃKGhE2 jĪ}Eb'{c\jl!B!$K@$6Ibر@ 8X$vl'Y&vL=i&I:Mm433{y9^+b?uUL$L(8/~?b.JϤTJ> FI l +|,Ki #ޖ_LAYB e"dDG_ŞvQe sIZOKB/yȝK3kFJ0}n3уL̽{T +rr\9fW 9eAEEr5 z!֜l=+;ŝ\2S cr0GY)kXP!JEBlkdJ'+RRD.0ԓy 5LG aŸ!5Gh@h@DЯ$a!0\̜/񨻍(#AḦ́˚Ͱy 4iӥr)uQL6WlzUDQs=\,+ {xw/\: >ulG<>G~=<𞍄r98 z1iVIEזƌ3SZPJ\ܞx"Y|RԡZoS'&>Ij){|K !hQ< 0*A-3^d hE0cJ!MaCqG_NU{ʭ.m#۩mv4BfFԤYJh,]KNi~ɦ[ڴ߮%'7؇1wޭF0w]żcX[kN&U&VfG TF4nQZjFn5r]FЮk/'Yt6~5F_EO,g50_.|\}DW1y+Zu/iВFEtUG9*=QYhc5T4sm&Z@bbR&# +ӏJ!@xU&K>zpu6͘79o=Flc 61]ASF4[˩ +ʪnX;恸Jqʟp|&]ՇȗIz"CG/_p3u8mx 8لǚyRHG"^mQlFY]gTֵL}qq:46ZGHX#*qe_k%xa>}g6ּ::1wvw ҠMζm֖Ljn=LnhG; +-Zeijg[nAYè>_b9Qe5^Rs|^b;Gxa}x&ּ+?1s [ܮhhw~{I6W*֕IvFVvǘ:˩ +zy{-ns[ +[gDdZ$E,,siJg|XHCBr<(ds r뀯hf'07!_R:WƊ2B_}(VM* 6U M Me0?;ϋgnse@@Ӏs%`-TMP^q7W;AT(ĉff>XxkU@c^_ c?\p/0Qz:Ue@+ n:ԤnZpC͐7݀3!/o)ca؉?DZڏCKswُM>0U﵀&Ѓ)yocܤQ}E.>o9G윸x~Q`:ϞWXx}ͼ{~⦆5i`M󞬉"CFQl`.~ <_ @]Q }Fi +ͦIٴ66*TL';1E;w<;A&W E8>UQ1=H?y,NxdJ<2uQ-R.iOeEBvWjz/+/ x=K{+~rK NX2Z*L-!Kel%]ϒ%#/X +|* +})v\UlSl}Mbc#?4esZ 4tU\q/Q]}IEcdOΔﰦ)[+ZW(7[sUͪ #s5oPtU]*60>kt&T Q?wQ=F*Nm %4N)h"/_WfWdkr6hvج o"nYo̠6ABmАc̿B$Q~<)p0EaWHiCxڰܰъ_({NV ^ +]dLk$d>=H(aAha^S}ZO#=vn4ݛjfWpj/s'Ϡ?FJ׀7GbCdr#H91Pf蛤^'Ygi3lz2 h8;8R}J_#6{܎~f췏l:lvژȉ醕1aRVtYFtbaʅ&-jiّ" )+G7Niq4%CrcG ;ғ=FYcP'pFnXoEF|O v"-6Q͠hfLΈIM=ߐe41zWCR[c@a [5{砚}>)8 +|`BV `)-,5!Z>ʔULM7]?1nݗbWq\>r{c ;ғm|/#Y.h=?goÌX<5/e GAkТ!#@ Az@TBt]OZa]-3umn~L _|?~i扫t$))2k89ǹ0ՒJT2k7gk[=LڃYSL^&3iH$%QS{ Krٻ>5`:d1UKkR$iAzc~97⚣[XVu'4i^ԛ4#uNpK J?sYIjeC?14LӱظP\!?kԜsr2\ VAZwmꔌ5I^Z Iz-Y/(bkی8(bq1;¬Ay¤c> xc&;b|G:1SYQ1#:As9|ҩw X=|}鄓2v q~ x́GO4=ˠ5½ +PBEE(z<(O=޷z]ɸ-w "N! t;< Ji7N}7PHI2$9CԿp;7qBƝIS0"@!tIeKo4pe" WX0/#tpL.#?o05w1cbzx;~~ 3 'MJpT,=/^`Q|9Y0y\t$o>r|O~|F!Dϵg/PdcE]cAnArKĂܑlX Y,?`/G|b‡hEE>{F)[6SDϣ̘.c x6o>&w -C}1<%ă=&YEyCp m49q42,&$ Ud=LZțNr qO?/ +z%qx:)$D-"d% d+APg?u1q +xk%w~AE?4tN"|G҉Xy8&>y;uvQ ?uR8ۃo>?pnA+r7Fx@qnT\9C41$[1jlf4h:Ӆ/u<;HT}Pem:X5$p 1$$"B"QmCToB +~ZC j]FҊ6\lU~\_qQBYOU"1J F* !zR}/&4w|kuWa\QƗ#.hVs|يs=1|Nw'#k"uqb  $?-2zp۸%Wb7;>ŹU8ӽz4Þ8ٳ'z^m8k:CO`kO]"_ǘ٧1-O$.E&꟏Q8ÑEOg`f_BfOr2lav lpxixm71Fd7w_AB> ' ]8\Q|L|4h9'6{6`ٮf:S-ڙLv.Yݤ]nnbkwrܺ!g5CV_>T-ÈG<&w銿6ZY=[|0,Ga_pҍ6 [tyجs0t%zmu:vMl*[/m[bJ,ѝ.ݒ6x,m!J? +O?$[FM|@380J]b^q!ވ,fM\2]WʶUqKiB}YHҤ_%o5OW̸񢔐O%RkL!jy{Io$('ClH&$%IfQmNpM$2BZ +P )Ҟs=n#ڌ2tŪh1hNMaf3sRNaC1,36 +K5e0j*` +G11E٫`Sg~+Ofz^b)K29sG1sӐc 7_k*ԘҐi:A/OL_LoWUPQ*L,Ch>rp:>iBzeE6l r1M4侍>'d[PJYҪ2 ܤW(6uy8ƓuE^W(6ҜN`g!XK- 5?OY=1#?ov` UyvΟ-R%(ZBe“LUQݭqZ>8,;9,?y™'ʝQxɷTd8GڳX@~*P`ڢQ3a6=$fb+ +rٲWZPėX}5 + .ka][׫m]NVM_jUTXE gܤ:![G-^]4:u&rDiי; ^Q%k}j_ooUwj,\ub3^wY Gr`C3}Qye1LȸfnowKlE~F/zGn)\)\*ܮ6,x2Js KtNRS*4~$'j+텒x|Q䋃7q2 t7畖Kr!Yw]Q{;TiޣTďQV"_ <3:S P4vNO~%npUFQ9FXҘlRir* J$?IRF*ErVe*IXPT!*E9!{:;)`Tҝui />aB0H1șldBLf(5\ZO N$I2Cp0]<^PU T$ +QSo&7h"i4L#UOs: {\?a0G!=p:c 066)a ~nL>\yTƟ3, +ʦ0 '-Dk$F5O465"eE 8Hpj%&*.TӨ(1> +&y{E +9^٬IθI&9]hBm^]u KY+ǢVwdX'!-'Y00g#YT:Gaf)r +/lV&TƜҘXe\*T%R=PC_7f1&yeVr dia=H>}BR8Ο,$}oɽX{c?&ؾc~RĬvywR@Դ`5GQk׋WI%0PCi4K+MA/@t Cc4b嘆HG;rX/usRغv)XHk}/q ;z8x@Mi3_pz"©G3*ViDhe +B*"r8*Ǣk$T͆U[U}VRS0\$1θلyY&7Vlc<.=c6$z =08WO] Թԩy$&ߓBwp_F;~v[.vB-ӎxJd"%"SB ԩN 5j{q|˿C?N?D_/b"Od +fRg>u p6Q)\s;SU[whWp}+\D ZBӅ9 H^!M?Ө3m&SǎXC56sjnݸX|8%:Uj- @oX ^zXHo2L77Z3X Ȧ +󸮥F5*phf,Nc'Y@*o1zuAS;hvcGbl ^;CQ T6`sQl +n?Jp!! "',Y<8}hHBmcj"G:rĦ lZDB4zT픊51n(T{GUHOic{WT^o}kd4hg7Pih2X8 PbxņiuBT#'Ib9/a2a"axFq-ENcEv:Y=k=ן@|U߶^pĦXcBIXcզQ74QZek!0}$-3-rPe*S,1mU,65*N*$Pf)盅"JCơqs5>}{`%v,iȵ2j/e[&IK-Ŗ兖 y%[a)-%yjťeyޙ{D K] qDpFf`fD +5.Kq-5zXTkĜ4mz5m<96ij4Iۓd1w= |zemA6G#ulI1kLslJFɄU&3-X,VUZMI[a(wcm<+1Vl y+6"SH"?7wg:xuH?6#<MXmE%4X2EZ +S,7{2 +ۼZ[b~^*6o]BeKa?LK^Ze}%s4kahEI٦*t۲mPj+KlbͫqֵRul:lsm/ԬkCzu]˸9Dq-빮l-#QW +eʔ$#JLHY"8Xr]+~)W$/U~Q)ʅpEy'<[!܃Yż1t7|ۊQBRu&T@j:\L5IRԀXݭRYVxO^YՐLܢߗuJ@o/K} J#Pdc:9pHG#KPX&.q5َ,Gjo2;uq.,q3l>P/^0GO4l^\NGV G3 +w><\$丌X]9bCJLWcqҦ6H&gltҥ^եOuo4gH꣰+y|'{X[rzTB^i$1qO➉ŞdyRaX,|!S$.TFO&ͽNkpoRrFIII>KB^ޠgS@-H zdW BVHX+' ; <)XTeʆUVU(ebNL,n{OKqޫ)ڸʐ6'.S8\>84ʕ] \n ~OFo }HYSs >Ź͚پSX[hbBڟ8tf`5 |?` 4HnX< S1?$0o.f0fi8Ycc 1Qu@fύC PD3I&s[1efƌhLoiqڪ3fL ((@Lс<؈ =x*)`|W ~KwQ{s+=o^[6 Q1LLjۢ0m,&MSX<`*30`1FkZن;aX"FԎG=a֐Qe۩BFT'%`^ v>ۣ0} ڣ1}t'i;w,ǠF ؂ h?[?CAzdݛX'$b_f1G Dqrº+RW,] Lz?]  |d8paD8vs 0CK77[7E. ̹3_oI}^3vi=EWGA a:-Dr:0 3G_l]BG>Z{#=`7ԧ__ DQԾI@!j{r aCя =aOpaȞߓ{G{]E Ybj٬5{#|Dc1=GO>g`|C x/y=dO4 rjbE 20*;o!"\>'ug_KH2kDT} ** EZnnhYDQA@B"2bM01rRV&NRV8ff\*5qܢo~T{=缤O~ld!Hu'3enDٍ^ӉYDdd"d3AvtS"oq?xW?" ~ 1 1tKlF3`'5ڨqssg#>mj O9z<&ȿ?eg7N&qdOT@EꬤF5j8s#5P{8g;V!}i_2:2G;C5ķQĝL%_AԌ3sӨCBjF%5jH-_'QB//} Moq~$7 /DÁc 9}r]*|=c\| urQDUԨF-5>V9wd4o鋫˴wi0Z"6;ٙ0eG'\;kBq5JN&gͣp y]U +Dh9YВSG|kwqlCyeÆo$O^17x Ұ,\p9bu,ǙU85|z6S 9G#qGF^Qߠ1] sh!ȓx吻|!+ȍpy~.)DpM1lt-C[ :jtmD6toO$xm}qoc<6WL7OfRߛ70L.Ot%wW􎝆|=^ }`M.Ůk:-ScJ O9Sylv M=D+4xB y4O3 : +]&s6L*gsf2ϴaR4{bW*UY[Q?kP7S+}]s_\uS^})ZO.;v{{bs%}4h1' >VlDoj|P[*BoηUX3P>G\=X6rޏb|Y,yP<\{-]~tS\ `*aRJ=ʔXLAҎ"eBY$,W ˔br+-]--YtI#e?!,CG߈.10vƲ1-Zָ. Uc6C}PUT:(PLy!E_H^X +1cx@k[Hb[fB+:q#1&.헥{Rh2q<3I+s#kvxa>Y=DlvBP&-~,"d%ĞXVjI 5bԴc1ZiCvZ3\o1\r{y{lb>Kz 4&Vq.]#4"!RhX0&>'dӀ~M}̽5G%]3G%>4G%VhdeT>` + 38E<gTJ&;iHbR48%LSh@jT6Q}Ҧ+:mҲ+3m),)tUShShdArCc#˰ Jsz2gکOzguStV_ٱ +ώS +˙МSPE9kS+c͹,2L/RXݲ|އB}0 f8*]A +, V@a Zƨe|,3mIU7"ue<-\GacFgWA+%r:!-;klql}Q3dcMW2UP +#[yL@^RE7_W?7Hq؃R)`+5okTg/S |!adg,@PՑXuw\ xº2s/)kS +܍>iޖloaHa1~R=Ci}_CP o,^Ç<OXI-A GhFoz<^ÒsdwT2GvNI8Eag0?:Ǚg +hrM@-H| -/:'֣?<ŕldllj֟%hMFg&9GEq\#dG(+t|+e`؛=vEHrsh@:st4CjQNFi-9c֋]DNg:ЙCGaoA:N:K(gJm5b>i-mP՝ U|ǴUl';cWC(NzM=~WO2|u{7W ?w1ԄZY?T}40VEq*  zM f*7h+;8WYEYy!GsC+-)%)a_ڸŵ7+x(0fl#Yik͊P- %,@=# ^+eOiJWZxR#2Q>_ +h- ZE%Hy!@$ $BТmN!Zҭ͵{3nu;֞vNZ!~>Ͻ`͊O= S&',V iw$uLs0^5K>[R)G{Z +6g-=Xaڌ +pŸQ ?|mX +o^:"YDX\f!U<ຒX`d?|lΞH)EkӰ:;9:rLh)GCN9u]Q-\ʰQjIY̡TP/*IT80Tf?گ>8b팣E5yhV-O j Q`e<y [v&*w _4#2]Y&H4cO79rZM;렂Ʊ _39j&c6.N:tpQæ_/'EYQZ' ̆wd%["G+ ?Xu ;i& }60(Ӱ9lT4 +a+,ƕ(5`1h(.z^ɊLC2iTVh#HEc[LyB~'Z$[s8ܦIpf +bLa5eXX0QRBq*[`4(0zOd:yc/"ɴfIJG=L+s3Y&Pa0JR si:K0PTf̊ʽЗ?]yX}"z\loTBe(me-rA/{"z`-]c,Mb{,KQhO|+UA[YJ*WC][:l1pYUD+~g9 ۀ}M.G}\fN*KqC0TGB_]"hj!&y5*P9P:+ZlW3 tu WH=*gDjUO!wIBFs/QwZǀ'Ɇ5y0(Ȑ_{8CAGL V;V߈Vx2oR/#{Z$y HDGqKU(=C$ s[*e^ Oo*2}QHGZ"țRڔM*,o6`YUHj"ѿK['?m$4CB$!s;ڹ'Zg[#cR3 Hi@R$bi,i]G[Xܪ ;u Fl 11man% ¼"EB̺1q}~ux@s `3]9 ;v#%L-[Jpmcr60%&^JI$"|HL8x˥^ȩI @@ \*""^b2T@W=j>gmt]36v[NvݦsT|?D~;K NH#H3i#ϑm%1|I1G,Cy|G3y~g_2)ѐ,O"ƯgFCldbOajWL#>[_0o69aOƒ #5 &$dP/:jTι_72~w1N.~vp:kߤ0ڍ>$%qαRgrragaoj^ԓ24jZ}\ q>)tvpgp//^_ğYopjG708=]O͙xԓ3I<87+]Jjbf@FRcn)C\vV{k4Wy? C~9wyD)B8%3/ DQU^jM]c:ut='ye&I-`SGch"x^Qy1H}^Y:9?"56qj66LubTZGKB<kW)hVub]X1eG;Kf ?6I:E1g ~s7ڧmFeV +5f4`Up>V.X6!QҌ%!X50<_EugxG|Lw +d*g> Iǚl)X>#"BTGP\,SEsajTϭCFTmCyTG@Y̋ Qo +O}؂ձ!|u iKd煕Q~X=u1cQl2jPkDe qN̏,Q⟠Hn (D +•>.SL >{Hh%kS'F$ $Ơ\*C4 z$d(OB܉(L\|2dp:F87`O9Ia0x'29gIigk譞>'B>e`H![BIFlp&9H*F^r%K))w"KyUȢ(S`n:ظv``볎>VG-}+Ǣ$t(#R#O +J٪\Rݰ#+F¤QsDyUd _Ads6x:ْ>(}T"O +:X5)hĄLm6KaLAn6tۑ? HcNAF?V'.w/Zd=F.V}0,9ԋa+`ԧ!Ð +}Bk\q=LH5|Q4@A4 " F'Aj?xK1#MQ2gLdL3a Yt +ZL ԙyH!RU2d"9k^>d{|~y0Bc{?wp$(^ J5ři h!Pۢf"Ֆ UlRHqCSyRHoԾsGBl$va3#{/u+9Tq/𹼜<\z1:EPyCYH΋D# +rGd $:m:!qAEk-b]g|A#% 9i?wQ{">9*VK!G%=B$A ;y @TQ `NQ#"7#xŠO!m9B!H@+9Κ~/;9_ +4s]QQXWeueߑE=-fQ(̸ `T 0q8QU bզAlVMM`L6{bCRc4how{ xmcb-fJM`PW`ŘՔhSE(4\ldZR[_yE`oجloCkiYΧ6B}3UXO|)uF(6VvЫ +dά<Ȇ3D$ͭlJabWS2mzAWڄf_0'xni]' )vba'luPC!d|R[Yp156v)40wIwvjQ:jXG .@Z.Z}-Kbna14,ttN_tb\KK34@ o/uahj!j6pENc$\bq'-%r?= kgY,zA&Z@q.IX4iÁ=9]lix3o'3#MF{- ~FK.wuNĐv>Q@$M1p2 u1(}\4׸7qț|m‘3}ldIƿ>_{[4Ү)yWP(]%| [6]?>FC#c61qF./l~ `0)`(bJzآ~d|isY;}/\pedZ AwH0Ŵ}k1˰_}- :55u]|gu N|OCx̹7T} c ضa{.0.S0I v͏C8 Zנ"ZIJa/`߈"ih~1/Ƕ \M?Ч<~b*-a8k7刦NƠABc")}gcfcߪ^N*ȎSD2P-T+nKK_ϡ1L4ʓIg#?EhXrc;YvO^Ö}51%;JUhi#:cFg1v՜\; keҧ.]:6k 8qW:Dy{+ePvw9] ƧimZqGiV9hsV8s\ +eJ]*TNuA2_T=z6k\FXᷔaw͆SUnZ=̣U9R%3EiI *4,\JhX|~C9>5fSvVfspN_FъpuQ7N :sh@ h;3bʹvK| ]9ʎ UVd21fF ֌=Vi)=MSf)kRb5)\c7+9Zh|qݚy};`sآ#;EXojz\kj|MV*%~&unS5Qr5.at_7W=hTbF&6jdѳm/uT@T@S2 0 ]`H䲨1 `y ^K$Zf*hY)=Zֶɶv:k%ִܓ?>y}}˚ƎL}%q4bb\9\0 -_EUG$+7ª\eGڔYQ5ʌ5EJTjl,5?NܛEra #NJ + q-z +)?zrX͎1*#&U,*-ήԸjYR)JNإ2%Șx~)S'FNm[q88GE9^2LTaJ3D)Ր KB JI,Pr\%ͪiV'4˸Q2ː.;?^b911AaaV٦0QG%#dɔ$cRf%*1D ɏȐRfřE[*| w)<@75؇~gא2jSHdd8̓d4*yS~NC@SKoޖt/*zXlȤ,bI&XP,cR4QE +*(M+NTV) +M-Ճ%4CJɧ䔼K>yC6&35‹JzYQ΅Zz-X҉oya+>J+)5I0=hD{&3SV$_VqOjlyʳ<˳:8e ,\~Zʹ4\SHl2y1!P&JOոJ? HyU%ʳ*UcQe{"n[FVKիUF.wZVmhȠF΅ǩzr@LI1Z(7T:B(GFe遺 : ;лX_mQg?ߎI~%g#=Rb|J cʥUÛйM\\k1>$mIgiໝSQ;vMG'$]0P`C@uQN w+ +}|7[ًO +FwJ]#y‘PRa#> eԥ8 t4v71qzjiW|?-/҃ +܏WO1xNA^SIAN$'gR,Yhmy׵u/`ͅ35b%Ұ>Z ҅\Opn!p8>c"5ec,ýKKf+ų`ߐoO!|z-Kp\uCѫ 7RnWosܦHv;; PeP hfh(MEyEևb7:󺮢gKp>5HCax$q`\,?Yu !yaMZ`{!`{9)E h̏Qh;:.iofp^'Ѻ7/}J3G~1`9U~ YKm@k6Ӣ?ڵzGOѺѩlS$8AQn<r_ w_pYX;|r"𓈏4-"el +ֱc X:V;؎t^*ׅ5h 9$ V,a߆};plՐZ| -]ɳ|kyF;lݘ؀m@an_L b -M&kk^5SWUv6ҤjTiViӤݴnUNC}>}}.Wy%z"Y/_{Ob> +ۻ3>wiJ>EOOUE79𓣛}!\+q~F6e;K 0"WҽMyޑ`HRsxx/Yڱ8]c~9Xze TtOҢQB|c29wxz8-RLSγhqyi'Ooi=lff1s c`4!F?јop4Vc:Wy,=|`oŔ>1 D`1*u`6ƎjLza"ΏnhF0pC LÒ{_CI"%M{MlbdK II%LTc,QcI%:0,APڀ!i H;0 EldcdsI^EwUtmDG{+3wLYfV 37C;1"##) /ՆCГք6tw`z?:GϘ2іyYwz ^ω?9B x6`uKlfiq'L) (R‚@v9NgѦUGޜ!4LE4?-xo s@Ïy uQD\, Nݿ{xmtMc[:oCxhdj2q@FV Z' +ܨ-ZKg1TΡRav+(7~@N<_&-7p%~X Rud h,LGz}jTpp2Ԣ؄ +c;E즣(3@y6uX-/>K%"Y=r`wps:T:&9&*Mp a7Qn.CŅRKlm$iXga]GQ"}opKcm*q-$ RG7u2VP֊&E&.wm  li&IX9㡭BS5uv۠T!ӆ^(Fp +Ho"!R䳈=%.p$[;xuwIE덂99r(ݬ«CׂL:|Hu!7 yI$lBr ҖHlI-_Y̷۴?77s, ijڥZ Qn Y8H!ůܟd2pAф;! !3 OqF_|g|AfY㼓#VA}FK=J} io{eD$ + B + +D !L`0!J{e7#bɽ6ɼ0Xa,L|qzJ] PSSm$;8D'!b8 +-,FI> d0 1y7ȹf{5"Iq[\9 N98|_%~ / .) ._\Z!,8 ]u'0B(5wN FO3朜>dPg\Ҥ}jCtrt\\ȯkK8D??8{=<<wrx\O &5y vh}q- t=! P Fj0ؔf/TdV [=v]Ku_}K7펝ץc+ XASZQvg+tB-l7?ckncgX>Ntho+|+{n* ^k踂?t\B{lum29wtt"w71pyG\Vx塿ۏa +]x: k %^i optDoq>!;p(cv;i w|-88,~>^rlWaد@Z=ZAXf8Z_m&:-D`kwp~ >szK?"'f)X~vcN^F[4Eт&tl2!'*,42"^q6Q{rר_\1a#bP Gcᨆc2pӜ.E(>;Fvf|¤n 3a#<H#8 +-F"t)rkKwմZ)eZTmjKU}*{lVEσF]W=x2undy>уnOun5W&h{j3T힫qCU1Bc=U9^= y.RJxh~Km**qtS>TgYB*ݨ|V {Sy+0w^s6|;:rT +?Oj_J#5ߤb*ꛪa}sTw+?\Co50hv++2*3䞲B#u jv}L$7TA* 2 (F588CB)7P9!_) t21RJq%ڕP +xwۜC^_IqD7g C"De(#<[JԈ +DNRRl٣Zw}L֘Kp(щCp`<9k6d>FBr<̨~J2(-*F)QJ+):C ׀r%j"ǭٴ]&gzWq2}61dZʧyo":*1CБTCd3F*'k\T%b.TLje΁kJJ%QC|`jK0~a||}XzfXd/,`0oJfJj_5 TE +WQ%+@3T.¤Vބ;@_Kڕ|VKH F7D`aLr_hvȣ<ȣ<iFF6wh es-**12eXI3b3Ism2Q"@zcn^NVN$)I&O/\T ypײ ~ h +x Nw 8 ^o7h:9ϚQL3xm\|pZ+>V4X9np 9 +%pb]79E|Fk.=tqߣp_ ~ @z! 8d +%8b&qO, 7G;[s}F7}#8>oDX׏xobE.!}F'W\G8?#} +y 7{//x8xB/?xxd!]ʥ?8 +Jqq`2ϓ9cʚv鷈uXi<^^G~_['228}@-1/i z]@"b#v91::f)d̲%8 )=`A}`7x#vL*%x[fEA>Nlb=Ӊe2į~xVav];aA-63ڧamFnf:iyZG1cW6!~>gbE,C %F3QVXn8ױwl=>t 3mIB6wh=X)p1b8{V e5YЕ(އq#%Y/>`ݍ.F($ p< +G + 68jȣZӴ<G UJ\ #J7á{6h^b{?v[!{8v +!J$D @2-Dʂ xPW`k,@9GY?[ԟ0G^m8rК.5~a_\0A O:YT W*N.gd m$VM{Mn+rޓ+}GXo|/DA]U9fy;kfTW5-hr,lSNCݚ;d\%X mh#aǕ~Iww[~8:ZڲE7*HFyb=41\ T3f(8NYɲGNWfd2"+Y&YMj:.,/>R+цhkknтҖQ|k9T(ƛm,S/My2̣d3[n\F)%fĬШW#^wh 8ӂ%mhY y>̠NSikTF.+_l# 0 3ΰl +(0.D4Dwq;hc9&٬i&VLlkXSi&=iZcܲUt=}kPqQE! 0ԩ,+7lFSNx1WUJ3nUK)rF7r+%.^nrn-d߂Y?=N#_<&0ҧzs+&OQA1#RVg&),3]Y +*հI2dPp<(0C9?(8/<39AM֪lTi&Sy?;pMgq$*rkPHnȐP`~˿̖qHA>+#C *B ܼg9G0s%\*(EYX'btTP%b_qq-OI,WWҍ1 %gحNՠ:iV4x i|U<}/!㤀A+ Р2|ˌ)h`yr\rYX +0嘵rCƠSW.jB豉4/Ɩd%ӛ BM +0wE=\.BD."c'1!Mdb61;-s8KpG`O+yɇK*a@ȡ3$x \ \5\t5\@5д!`u+-M_M;"88Lum6{&P\ U jbibh[6ҋP@/DG=lyC2D-\X:` +XX G} 35ã9p5XᲈXĢ.$ml||<[\ +nm 5ʡ]ֱ@!H]/Y@ & +VxҏVx£%RZq.|j&UL+q4+ZOX9HfF$|6K[w+(݋ < d۹xvzю(8r965]@:r;zgAK2>Ab{婋t} A===uh $߽V3u"o%9KɓFbvI9V#= u̐ǜc@E?eb(Ea.^zCU>_Z>QA\%!Կ_p55AGy1~ [/ g?>q&8Ǣ%Yzq]9@"g 57<Ǽ=f/΀w9Q|P5Xr*.S 8yP  q-M\׸p@E~_).: x~B>G"QUmpA0ҷx̯5c=U K+<.$;?1?R>@k?eέx +^?ni 53|5ezqA#_L +^.{8 3w𗿂8#=C=:n$2y?t,Y?8VrEr?أ8G:rXD^]M2m~A馲.= ݠ&救GZq+YȑLLV8DDRKX%_"6cvv'iP6Դl_+u:~G-rE.9ϢB1į DWc Ğ2 YNy: ߰Z_j%yWx=19v-{E'{Cf$Ilq1 BjrԑdkL76`0`n&&`CbH'@B(HB[Fi.K@%Ye (mfi6AZN]5mӺ}m6MӦM۪}ؤjڥ4G.S =z?y99『w f 8$7el{W('ߡܿ$xqÖ8 1Ua#f<ߦg3q;cX5#Df= MSw)h5졅p$v1iL.x +8K)gYBDim` $]v>NK<n'2LY%u )tY='e*\v/q~J M5+ɢmIښQ{rڒ˵9%M)aES՜USj61m"Z~D XR(j ?R/1~ +b:m:r"8+GS IږVQQU6`(VBZ7֫޸Qu6Mݪ5Ri3)yNU +VUX>T3SKH'bCطEȓ&K"L3TgU\Z_5ZjUm(hک_Qgͪ,mUb{Sg;>S#{Lo&Yg{(C$;I!Qk,ekͭ*[*m媰W^2GJ[SI39OQsWޜw6 %33IcuKZ~vlF9{IW3SNʜ.*8'"WH>涩 Gyv?ʬQ5` Q)-[J&RVj0vƟ^Dw;X҃][K> 'dMSfI,kr@ ʨVz(PRB=J +)1N0uR;HfbM ~f/w_ዾKax e"'q!a$|:xĞqbMG#a{i{sp mx AY2`͐ѐb: }0q8k]A(nbL4n"LvLavL"&i0bK4A<&?åC){1ǎJw ցJ9>c;cܘɋ9.?7FҳB_Hx| +:;_ U:G;0\|Hv,bb,R(2 $y{8G^~;?oسEi㗩WH*_%p p Ǎ' 67%X,e +2X&8ҫ>_{Ŵna"r܄*_a |n]M>gVcB~PW +Iʊt9c/ggTW6\ۏ_ݛ¸oo=^I/G!R6\{tƟ6%inmzK4IIKKEZ.E\1AAȠ ás)`e2q2&sӝYiOs~/<Yz,GG>ۇ;h +{mf5*c?,ks51#ꋚ b԰>_8?@}^Gnx7u6v̀/b@2(CAw6ڦq-gҿu7g8?R<7{{BGeER?.jK?wvT=:uч踂89,C%tz gz@{཮kz _>/߈M_p귪һܷtɜGG8qyqa6WqR6K'Hz0v]_p|ܟ>ݛ,::)tGsc88#8Zܬ}d/ _R@m!B#_y \b3e'"֯MzGek=:Bt5JR=pt±nѽ(\Sݰt*O.r?b̘C"f'Q~mmIG<4vPAo ɠy#ynsmEo + 8,OUB$P]*,Od_ 2\G{?vX-s^tSsd+\x +)c:h_P +~/k$?fOyF>OqmrѺ!.sSc>;\䱧"p᪇pMdptvZf^w@dG\ȝ +-a4uAL&cjHָA9ʂ͞*P}LHuª4Z59_'`K0\RE-U$Fp+mw_ղqlI&&cqjHNQ8:CjU`b+4$JUI +$5ȗ4VH%oUqOxBwU`BSDEOƮGm%#P1i(bPɨ!Ft94y4T*Rjܤbs +*HW5r[)\ʱ\zD $#F#ϯw泥8!7#kȍߚ +YJ-*RBK +UX):Jn[rm3/T}RcxGi3-»[1nŌsJnFS'R*U`cO۞<{r%r9|I );AY㕙>MNgҝ+*{^2^5MlkH=Sl-~@ Fy24+iSө̌\P +93*=+4L={l]< K7#L_O̔zvx75RxeXՅ|vꤖz P#6(e3Ǣ49\#L*Yek.{LddHO*sLIs#>|o #c`;3 mcHrSCn|Ĥ* Y|vY +ke,K)EmJ.+x U\Qy|;rȻ chiCG3#t27^RL%VJe,u) % VRYH 2*ۡXxK^n"/˴2K-pg]9]m jF_-CF2֓b$&@>*-JLx_b}^ SH~gCcc ~cUEp>4q*=NsaXFh11+)`bA MhPi`0MA C?Vj)x6{LzӐأVBV7q7 $K%l\xa0t\x ǸcBHuhcC걓zCON0yy@0"dF\1RkRivHMdM4pġӄ&45GoLLk.Khhh k\ni)![ 9<h#;?;: 6+Xy#tp 30hs1 ; 9tG7&4nrхU]Gy,AUEpܳ:^J<a<2h6ƺ gGI'M/uE賏FG.Y'ṿ; 1pa0p{Lߐ {%W@Ca!WқO c *r1@_RqpfLtLRl`ut^o$6hVӐq -8.sfp>rFqخR+_W.0Y āt0Rοgjs;pH}A#GGs"^@ aG>|Tp!X4T |pƲ~kg88K8G<N]zS'u/ >z:=E;N*ңn<7U#` :._ORܠԍp/h=k!G!^7YJgz\hDt*bn 6^ 489x,؋h2GM>:p6Nv4#ԥY EfUR0we mXu8# teDt2!Ue/Z"\B.j(fmV]O{ jȭ7\~t \χc9)2xYŮC-Z@泳R\ ,F}9(48ĵ5xW:EiU5YJϨ.&j$ +n1 BxS(fYjC(i>'{ogG;k}+l$n9C5rxxK;\p%'/\p k4\5hr#{#PN. +idgqedY1@3zMaL$?r2C&X5>ȡ1A.%jTPFgiD a!w+'tCV:7)5C)O( 1|!OwDt.Xm)1PANO!ǁ紆*dT^Ur .eGxGRZySbdSd{< =ZQ1]!2YQ,jLN\r,rNi 9~LSeLȄ*W*,qB=9  +NUHO]pwL,Xߕ|VLl)f9#'CNPEyLxl2{2yeLJUD0(-U3Ui0v|:ɮL1v +ͥB+tr)D]᥊y +ݸ~0)\*ָɽû{Xfmհ2V|ߵ=růĔTMT۩jEZWj^vqq*B˄ΆKZ[µo5c[_U`8,G bK^2ٓ:hh5i|1/jZVXA>ך_,N7Ѧ _\[=_iu`xD@yy_2%ʹx>r؏{Թr`jf>+Te$9 `cU: I ~%ٱ/袁/h _s)qqlK3[j ML_>7\;ֲc4QkTT((kx[w +ሕKk4U@{.J1P╢4 ŗqE`ƎUn\ɼEi]l'${.yǵ1Ja} !Ϛ:mfG3m4I3]4E35q^'$;i츎[u r@ +1T<ȸѹm a-߉MKvǀz(j-|BL9~3p.Q3 xԭGn߶dN;|ܛ}6'Ѷ$3'qR<%&4S|qJ~DzR>ދx/9f |ʸ'yj= kâٱ ]0!,ڣp~ӳq0rN<Qٗc;ޥ`|<\^\e>PF<?WOcq|xiorM_a{ u| =&RK忚6W$dv}*1?X߶i{#_\Y3Nmc} 6>|d)];__/9Գ +3%OlOI' 3d,mB=E;bW8{; +,g_^U*IltBtl x( $/g :{'iv6l`gv;8hûCQO)͠s'I=. \x)9)#+yJ9ۉxs'5ۆ Tx>)3tSI/ WB)t~-vk~ƻFvNZMsEp]z>Dk;ddI8,ybi|ENbWVf{crVրco5(Xe1/sSG j+GYvꎣ7b%8pTȊ*J3LJY–ٲ_h9 +ukTz.?.7i<%oD,!`R8\)`. .jȥHB@H1%폎@TXb/&f:.cK4#1wsb=8|LfҖxxCCxt $2N(mt 5&j0T?CpmG2aEh9K(U/0q&{@AkX = =Y&zfͺ uЭ>HV^iPfPwމЋlxH9,4ٲ5f` ,x808!qM٠)]I l"10BTI##P$Ccba܍2Sc5#&F&G;Τ-gҖH#D >[3F5b( Ab${izз9&l^}p"F;b2!{asE +D&x#8j$,byb!p,dLY]ّ!1CHlp\q .U%NLH-Rdch +^@D3Hvgxq|Dp*жhcHu}67jʌ +?R#3I3< PS,> ؞Eq\=-R'6;9IAzɆٜI6|XdA,@W־+Y?[ړC iBF-(ӊ -A[(oq@j ȡ^s8j$,AE$h~?Xhڊ>ǁ-•a0|!St+R)5D@*zmahCFnlV7qm͐pnyQњ+{O#Ok R>5y]Nbs0 ;P^84~EJcil)%dtUY#Wq€rFtGz](9dj_8`]భKJ7HKwsؗ1TT..(rۮѵ}4f>z{ϟࣵLAϻsƌzfzkfL(քC ~h?j}CJ3E%/c_TVJ*pT_xEy\_^Hڨ;Wi YA"ҭ[l!Iv^يR9$Vd2nqy>=/<y;s+Nw $ ӟmWy0\*c<0gלuN@B! +G[Yu?R|^rrH/坑,~$K]Kn`l=Z5[7q|gUnr"~F8ߛ-cY đ\ೖ-K1Es)`[>zyH]PF(볫ܤ;dqFV Lk-zPߔJK{wWy~P'C8d,ߴ. :J@7 dzqF@` V" 6X ##  ZeWŔԃN~a~qfu#E".lйy.?Xϊ ;m HK=`(tu4G!gn_:^!B@zhCLZ8l$@ ++ @ e!OAx C8~ⷎNs]=/I֣3ѡM*{q6ljK~!}9Ym!!_7Hlް(Qppj`0GXs,D`+/xGF@ҚSШ +s=t##URuMT?|zq+[:sMnִ䂹33o\P7.B *OEtO1o,N4GO\ٞ~pc݌)GR0XQAl(f4 M)h@<׹L"]NJYsr,'%hݹv + ݆/U)|JnPW +x kFEQ`0|=t[ 1x}fpc3A&ŽpJ ~ 7%1,۰PRND,^HU0uf>7웻ñ]zQZVq6 S d`0XA#GVJ[(9 +RWvHo^0x3 bx +p`+gQ(^1ױ>9ږ騬*^x#qb ,Y2aHwcVMOb/f=-ȁ/} - `=瀾}k) +4`" C!)p3:mu@XoQv ngn3w:s+*qBV- M$NreO{}v R` 83JyMO4)XZGyQj{DM {_πY ̸Ӻ|)weUefᨈ.A]]dciI~\w<8/t Pg+e >*7E`S# 3\GHpχHn aKS[K 5uk;mɶcVރ iEHD_+߾U\'9GVXJ¬9M<~̨փI+qijL9%A0pcF"((`77Q#'q h[:-H,n#*Z_YXO +=Vy!pLYzY*K;x2}{"w7er"Iw:GSy\V[<6'Rչn%:溬'5mDtbZL\&$ +ܾ~vן{}߻<%E&gINDHJ"NƄdD] Q!c@ +d *>7 8PW% \ h`3^l:93cM|;egA :܂8XJ[7XI|0|N7w[{EkvcJȬi%J-Q#u|FBѵ<~ԠVTw|_JvV{J,͓ɯ)l/` R|Vxfm 96pL1c3Y0ߜ,/NP[@Qt+eKTe9ۏ-p +Ȯ|BpW$ %IHO޿y:~0?_(gD,rE}KcШ+)J_*=I,?!4l=Å[Pծ=Ğ [ }g OZO$o!xL=5dbBC) Oմ>RIr\r"#;@V2[kclzi5a#*Xm?;62.#:ĉ֙Li_8L+ +endstream endobj 9 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 16.0 +%%AI8_CreatorVersion: 16.0.0 +%%For: (PsychoMark) () +%%Title: (Untitled-1) +%%CreationDate: 3/5/2021 8:59 AM +%%Canvassize: 16383 +%%BoundingBox: 0 -16 16 0 +%%HiResBoundingBox: 0.776855 -15.2227 15.2227 -0.776855 +%%DocumentProcessColors: +%AI5_FileFormat 12.0 +%AI12_BuildNumber: 682 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%CMYKProcessColor: 1 1 1 1 ([Registration]) +%AI3_Cropmarks: 0 -16 16 0 +%AI3_TemplateBox: 8.5 -8.5 8.5 -8.5 +%AI3_TileBox: -298 -404 314 388 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 6 +%AI9_ColorModel: 2 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 1 +%AI9_OpenToView: -679 451 1 1389 914 18 0 0 82 117 0 0 0 1 1 0 1 1 0 1 +%AI5_OpenViewLayers: 7 +%%PageOrigin:-298 -404 +%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 20 0 obj <>stream +%%BoundingBox: 0 -16 16 0 +%%HiResBoundingBox: 0.776855 -15.2227 15.2227 -0.776855 +%AI7_Thumbnail: 128 128 8 +%%BeginData: 2039 Hex Bytes +%0000330000660000990000CC0033000033330033660033990033CC0033FF +%0066000066330066660066990066CC0066FF009900009933009966009999 +%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 +%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 +%3333663333993333CC3333FF3366003366333366663366993366CC3366FF +%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 +%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 +%6600666600996600CC6600FF6633006633336633666633996633CC6633FF +%6666006666336666666666996666CC6666FF669900669933669966669999 +%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 +%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF +%9933009933339933669933999933CC9933FF996600996633996666996699 +%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 +%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF +%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 +%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 +%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF +%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC +%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 +%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 +%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 +%000011111111220000002200000022222222440000004400000044444444 +%550000005500000055555555770000007700000077777777880000008800 +%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB +%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF +%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF +%524C45FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF +%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF +%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF +%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF +%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF +%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF +%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFFFFFFFF +%%EndData + +endstream endobj 21 0 obj <>stream +YӽZn-"1utVTI[hspqzY 8v+d!]VhZ2zgЗ*}&(uM!-6fva{h8:Ŵ;e;6Fw~Tw/bNV+b8lKIK]5Jbi[/CXlV҆_x 06Ľ_G1G2}\;T;@QwۂьۂImmqPE6v۱ohlt^"|UvNTRCf%+/*K5,]߻frJA\kQY_@ܝ[#bJOUZTƑ}-X7:˨lQ_0z^MQ25N[t<̷t֐75zk(w~ަU$QpWL0RFiiI٬"z|,( 'Q@TG@Hޡ&]8'\VR@ +4<('ϵ1yEBt!cW<_`|% #(JoPX튠p(@ah w@c U?Qtt:)1ћl$يd&Pª?cRO=Wُn9M^ZR#&ߜNIUb^W-JWxS@Q +>ٮB%\{ƂN~eZ 'V(3S'2Äq] iEnK9p NN>:&kPgrncm<|΁Z}+:;rU6?p-ܣJwnErhv + nӥ*4{ӿx혬49l`̢0%/$ Kл*WҬ&x'v;jno_ +p|/lG st4gTA޻ 0oMEe  PG 4PAc$ṂkJ*Ȗǐ{ut)&G_[oV>=#<{n`.튏\7}ܶv>3oGTOl6]p~K 6Qq0n^~zRL|g>rfVr;۝bI9t.хb{w"W\W3|3؋SެYo3a fm+Ƞ5rezx,ShzZ 芫yJ<1pRY2έo~}ݵMWZ㵽qBwſiҒz}rD"_4?)H F^7wQd.McoH-xE*>VFªm//T!~=@ekf֡|Hc-|Z8/KYsSrQ(5sKFeH꒥$T,sIF 1Obљt&6^yPKwR7 ahY~K/GxH1gj47>m܂ҼvC<ӡO@!D/ :Qq8x+cݳ]|ҦsqeQGͦ-zKu^ruU: 8]fg%fN %.-VHbk ՋJꭳ7)0_Uptjos=la =8>"$2>Z̏ QnUɎj mA?%M*ӻ yZYݿ ߑ4OT{hhϟ\@d1VVsnIol-W8tyod`/i>Իy۷eV !)e /w I`$_@aR'վabnV.TХAvVru6_Ύ]m5 +ԇE_GwSaGq"kp1Qrb'ֳpw@w$S?5xlPwq:6CJt'f|sxӑft}@M&b%^fX? %u*1AF%nӅNpf\pf_HKѿ=?$w;?k'G/kֽvgk刳5vkF^b_j:ߵz%^t99@YRbvxFkfǬ,r}|Y{$MRw3W=!ƑAl>5F +լ(3kY5-QxιI?zHWE 60bQ'Ǡ +;dlʫ޸|2 %.xW I#Z.׽?>:a?w;i 3uٸc 澪Ku ݯl;ku)4/5|"-Kgf?Ӟ}ez'PhvumeGH ]0zWa:~-[y⁸W`9<[F/VoqZ_T:jk1Pd1Yw\FZ|^;jSK+$;lM謃禳>TY%c[^B NɇWK}[|0vXPm=Xki:|ts׊SP{GMw%^ṞEvoZ4y._*c6vݤ6O,6f.;ytJW܆݅LczaYa0 +1VkH|RzFOIij=T +Fb#K9 T.8w&أLнc +Bj$/({"l;\>u +=RL<TwNVÝPhuUE:K{j)&[ޣ9鄭A4e4hFcgMEj7 +ns\-ق:A*k~I5=Vj6wr C~FY2` +'Fub:1jmI/wq Eᙦs}Mh 5o6݈ q_jp1}2ʑ4ٿb؂NkX]HJMfǥoF”0hy7WY'8˞i,yrv~mPQ~iS0Kcݕ*ťL+/gBRQNN<*3!}@=5YEәUj-W#m6&xWU]xSVALěUiLobh;\~<鍛2cR,M`t<N}riM{1c:&Da2RX+Pwe֊U/ nJ'E{2\p v:Ϯ^ bwzIWbM?>T޳+':/++B,MƏ_+g{go"Ȭ&/b*}m ?#uB?y%N^r1o[t}Vt!Qnzv"wHoiǃ`Uu `QdLey'%7ZLd" _w|At6.v\gDsώ OcK4Tx}~V ps+q8_$wzaSO}б+PdtUҐ,& տ/m}!D(qub^Π  UP@3V?Uaؓ6FE~u&De:ekdAt QTk4gk$[o!\aa$A;t"%4Q9ڀ +A-yP8 P^xF>;:f4HmχҼݾDnD-E}W70GMݬ +lR6 v.u?tGt4b+%j;WDgqf^L|3rztQY_Gw!:T?9.FTy3Tw׊'x"+ߑM#=`̾ 0ٌtQ-gouWB/EEI;Lhr^fS;RP;?1wJr +^s}gȿ$MR30Ӄ4O{_`NJVE=2msC + $&\A{ڇ%,@zbN#v5g>v+#aL%GH~MMoE,rٜa,c~LJ/"=G6!-/j:LwQ|ֽ sn׽7zr9X N[.CX/G+'RA K/n[h>zցn;V%lvc2xo&sf(j`#MV,Uav4:3z +L!TNLnbj^F@;r9md?Ze~O#|8 դwA1-n&.QWj:VIv.h+]̗2 k?s!V:9ݗ6^kK#|O(zQ3݌Mw< +jo%:ۚЩ|x|(\˙cZO]$^56s.k댖᚝Q}m?C+ΞnR"`y +tWe>`dYX(pWV;(e-mlk+r-'/ XW < y\-~kOθdo͍ b:@\角jХa'o1ZlVڸ7 YI)Kl*U58A!?.A08uL5zm=<|L)k6r9xOYwd*c6]-OYOe[TlFhlְz&Fq~ ĊDX_ +ï _݋$V6oLw}EFf1“^O9koFuT_Ru%;#A81P~c~v#q%\{zhA@x k~BRrRyRF^xDZƓ#lOrV;#u"EdWFa{N'ս%- KF=^eYGv*:̙A1n*/<`יI:Mtzr징9觗WRKdqF`ӇUI/^] I(7jQ_~(Ii;̇nɷ9gw1ӵøcB%Ͳ-+4R0@#fRiCpzAO GqtÌeI9/TmR#fad2GCr16fvf?7H|#Svz5 .A6nGn ݃l0;2sa`6i/ro%4^=Hkݍ҈zMoa]zRa+ 1P5Ƭ[!ZV}*ae^2öKXtĢ_M;5wwlIm7>^c5GasB'=C9;!^lCr+`*%xn+$BzuJ-uvYSg2rW<>7h5KKᲵ˧EfRR2NLzE77<9I#KBO sJ~#T^3)k m#eoy굑8j#(4vrђAN\Q/-h je6 +- UsT9|m[K0./nsy8SWL)V?ˆpEU]Tؒz *92W9RM 92Єq]nezro#~y+Ve33wO07j/&{Z\>w"#v\Ⱦi:s(Um_rw6Lv;[Cìmdm]uԡSo_A,wFQiܛd!u8n}wHrW0gG'6L +ފ`zQ#V^xT^b= ?xt8X|:Z]yP +0x4o]a?!I:Skz <_{iw-!Y{N.|6QzT癸4b=7$2 ct\@7/8\tw] yiU +M~"D|eC;}DMds{r q䩐Z[ytyL ra.HܳE\ + wʛ d/N~q&\s)#_ n%R@L"Ub꛻6(A@l5A~6< ]ކf? _ .%dzɣ8K@@ ~|$'dqRY?Hÿ%n6D Y.<E yAk$I[$i뀁]|yg#O2sypm2S>+ȯHr @55W71xn@\@@JP̦eKN5\HN'eȯgcL&nҫeJy H\eQ|. +-/St{xNpx-XUg> YkQꈃ8vy2Ƕoq _TF1-<ִxb5Ea%*ܗ'$_A.L6mw!@ " +xpxpS==[׵78PQiǾJߋUyk2ܩ u?bG;@!7C~E^N?BpA%FVck fˈ^}vK8!lΜpƣqn%?eW{M L ASLja#^,d5҅THq"&*k:(L.(\'( +K9]4jRzW+eEZPspqˉRU4/->ܡHﹶ#I$a!]*|zhirsp&X)%g65[2g,m_k{>H-`H Jb~Vk']-'EčGeA M}wxڽ3\Ӊ\70Ɉlk+3fE›s$]X˟`@!)Qu3{p8lJ8oyo}ijǹ~ͺ_pl+^IRآHsRp,CT"s[ f W֤6GE}nϹi+᩻{ݎ;ּF-׃g0_d-KY\fo*NhY=۫%g {ugԇWRGn~3ډO>z䦚0Y?vFۙpn"5XdPszўvxԳ_pAk< + &QOQs?pA +OHRa .3}(]tu5-}"^1DxRlP˳7y9Czr\U>NTCdUkey<;ҩolВ.Z|z'$*Nx̠ᅕ`dޛ>iCsWOɮQW_^e|qߠny]czvj}:\Ff+E +Y +ycSF/`M+1Dj7>g,6p߮ ^xն{݂Yp jju1-XYe'R +L"GEzK'ys"9_t[6; l'ҫޟT{ԥЖ=w꟢öN > +srƯkdzm;F:vmhY#y?nPAOF5~4$CɼkkὸWѻpȜ~C8څA,EO'HOH{IP؍2'玬!uyt?ަ0m?*)fE{"ٜ̄UGKa'}Y@T*¥Twx ?kchCd;¨`*{)vB NIwL~5m|ݣ]mfk91>v5bpM4dmsTi뭫0h (J?mrG7Sg(ÊKR,3|gqۤO-dA8wB.V3<F^Z޻N`vKic:WFh(lБ~_,p81u'qf6ڤvB8C@0v͢.Lw p&-F5ޮWI gMab*\yY2Ȯ~c;2g@ް/7Anw{an;$CA퀅ڮF 6U36֌gC~_3}k;Į:E? +Vxas~ɈMթXM{Muz{~[l` F~Nff"q(SxB wUiS$nZ޼/QjSuFv"L)Tb= y~ibFIS,R)s  +  'LnD:5$+= @֑Mjljխ55ċy;ѥejk#k[ްF?O^t00|9}drYs⌳IZL2}$$@ 76A. _ LA[W9#9?3l&o,u#H2z`<}'yj%_7!_:fOtğö +ɀ+w_! ן0 ׼Al.A8%8A3 AKtWRPiu9+ 1 * +Pzzqzcy[EKR.veHA|=>?fR'-z7uDUe,Pkl&8%@d%ʕ8,|TȼOZD&HH A +G0{ +?$w\x +P +N^85Xl6ђW`I5tcPe$ë[3A4[|'C2g8.IױNɖRQkoi>R@s JG?O<4y2osqj`͠0H^|TJ +[c!]?t4sl˰+A^MM3JCN +|r@ b\EoV%{zݴƮpx2W.*H/~8uOcP8K͎5n8'p|Jq ܊`W_57d %%>wȈ'_l*mɆˣC[ӷY}C&{|Dx.7Ѝ6Pt11utN;s3wJl‹mk "k>>Rw9,Tߨ9TO9 Жx\2fPxo_=jU"Sڄ{[XonqqFk#t&{iY I55TnkQگ7?ާv뙲bdg>X܂٠vtN]u#@֘B,hُ G߈vT9S^-Vv!'o#o[Yq;97??" J;z#ռE3.={zaݙsPǢvvnu6|w.AAP X˛K_{:\C!xt]Zƫ^bM +]S+SBR@/I>nR6S5>ƻs)<,-1i[?vuh;:Dkjcko:^P\a$WEC:EqEE/t.~+噟7\Wo 3D*3@ߛcI|ՓU`xU; ξ5:Y^MMfU7nvY_#zgsP:lq}$;)q9~͕I+Kv$4ZXOUx,V__ +5I􏙢fA}NEE݂BjlBٱ}2Q`U63!IέF[ )Z1+<'|  +Ӎ;GBVS/$u)d[a~{ލQכy=wzFaʣ..~(ц2LȊH XTĚҠ'>Cn IL'1=#j0 nZs@pDw/TyQ|sLcf_jTzRLA˻ogrtO`5 _Jآ"(*a4, 4;#0Nͤ0WpGqy4'c\dWN{Զ˿b{Xa-, +YmΈ)1knJє:1t+6Eqe')pZNpRql=Lxd^{Z%o<#w5Z~Dt26Jږ?w^88efʤ4xуzlݻG-]2zup^C)HY/ljK?Hcw:qNYx#O%dV=ҝg]Ѫ~n{-AƸfy k¦z0:gq2R˳O)f=;o64 Cs` +^JK~7_H|Cpqv?XU8 =XnZ ev:ELɋ?{fX8]le_J}fG p9Os[:tս}d0AF,I};_YYg@uCOrsa2E @"}&45VeIPB,o se=?q\BLCla]e+"O?Fgk睿t2#{XtE[]26WaV A1B Q96Vo >yZ3j{5l{7֑ mCs,L׳ ;;r~6n'h[|;jVk6me6Eu^t((WX u9s%^i8Ϧ BX_ңr +x]m?+`>~SvW{H39T=~%^ikJ ҲFkŒAˢC +]E +58a_p8k6jv;l)#\Vˆ9!KfZ1u] )pNԝ|ԡsŰY5'm4wϜTW]\ +8[>hX %JYuEAk{Oj iMQɓRQv3r}YYKzA֗0;zM-5^~(Z cn2lvk<a#v̍V_Xsט-*t:ߞ>m.UZNqujު+YZQ9[(wƋ⩪oeCUP+_,U/v'FUrPźB׆Iux+>{Ұ\`l|ęf#GM?K6 }f9L[wriZgBִpX0y@i +Pݱd 8, +n̯S'My[&mzm 6&0*Mwyap !H[wՠn$VP[ V_p#ةR]TB+ gX.J?˷Ø}Pts-jLOpZhhZk@  X>Os U PC?oCrRkd$;]?X|3C}l(5!&>NpyQ}IPC lL68/8?e5ĹDrUL@'@ ++(&.`Q$^䒋gDMKRǰЫёɚy|~rDQ)U:/*#BhyvU ][ݎWX ^ŒoRмo]7'#-&MrnFS AE~fV%jmW>U^tgv~+xr4 O8}<O|xJqvƒ=v,u 7~Kn92&f27.7e)dU㥯V]C5c.ɺ ٺGuryF!F * kd8&Jzӑ=+33 +c*Q.8Y3ny6 _TZN]T+uŘվCK_T:<$e+VxR"f.Pݝ[KfawA"9ykxu.>${E6_"'}a£Ŋű⢠1i DV'9J C^@d_`9}Rb߹K^gKO'Ee7vl1``lWUAJƒ 7pS} e I> +ќꗇs*fմUg>+yHW7^{6TOk!!7tFP4[Bg%t ` _ 7cZOHBRBheOΔzRq 0F+ϥ͚w:ki|RU%{Å?l?N);kX,Uv#gLȆ[w&n<::KH@tǘg۫8>l6أslk4{iͻ,./r-(gw0l\ij^w˨g=-ƭsg<;ewnIš34̖xL4 Tpܼkݗchu yؿVܩ6 +72D˸*QP,L!C]2jjn't;ĥO~ f:8\_N ` :.\x[gCt߮qwyLRE#(!ȣ90#rzص/أ6t"?-3dwoI +pq5螣-~]۫kF=+"3j5߸o9_x:Ruf`q=8^<(Mcv9.ʗ~qU8}׼tNؠ#SE d3skѵѥ~/KHJ=[ηv ^"yD*5Cx^>G]7E:mbl[>s9zOݓ_Gv~ѐN|{k=v%lU) SyI=E.Ba@4OjhC.= +UeaM;!tYMVV+U2aqu}]ђ@4v/(-61o\4=4'^n=r֩ IiFUw{ u2TXciLq32:0[S3e-)/(O2p] Gw tĶQr PD~,G0$Yjך#ʪ5;4Q f5ЯR?H-jHk޿}/RMn?]`3AAt%^x'RA!:z+`>PX9 Z}0伪tW>oYSi! +Gʇf.- %ރ*e@]%~a#mdlJߝqZܬ`5o,5Ш,ޜ_55CL+SY*[Lڥ4=ME>{KbHW .+ʴU=/h]̨Wtqw#â~J=/se@mWR-T=-޴\Ufq>X +a Պȯ6Kb(W,z/g d8*dt{?HDf}: =XS飁HJ[v7ޙ;Aܳr湿Q:V4둂W%]4W̠m[$Pe;@ +nvsθnŠ>awYW7FMӯL nͼ!eQ;}JojQz39f:ig$Gۉ8 7z7v;_L*Mk%d=7pP^]!M?P=+@OPiepWfԝШe +j8tK0|nŚ0a8PJPnb%Xz B%E6 u[u)|`@ 2HMzMEܸ$9<f +P㽍FˉNA/+&شҋ :NHNGs%b5`UON>ȱ0b$:g>`Ot:DQpjġ2[h\*^׍Չr%.T}L,$%p67@K07sC& ԣU|<X!2l In1LH$Rg +a} `?Ȼx:41 R5l/`@2V=A@> 2\/FqD8y8-`|E\p?Dy :UhX :X<aS*dJ~1!ޕ(DV8/@<~zԷ_ue== |[ +(cQ H0M?I#12w i :׍&ĘG㞹‡3s\w%?(k5'Eg4pOS/dGD*%zy\CK]zhُBGMAɳӇR;5$'@G̕/_|6';t| etv幗G@u]ߌOwzy+/[.W?G*8m>wWG*o}=1 m͒,}zUDK^F4ZXs˲>{y^Nz7]ȣr y3'k]O,b"6ű?<ܟf44 P)_B}\XLmic#DT9muڗ0=F6YW>qz{׭k9XI{Ø!<ԧ-c}#"횺 :\::|wns76I " +h3 ӂ:~# Ɂr?a5/sac^9#z*]Q=ii'پlgEisu57s/ؔpV&JrH1#w<oy q˾ǤKi`s{8g#.fN-o;_PqbV'ݭ88RV .m%~=E:)q&E8G-K1aMƳ(,죶oЬܾ3h;1,-]y3]khS*OFΟFbKmg6fTIPIQ§˖- :H]gϪ|n+/ ̼qUʇ|lfumƃQM{wKEt5XhxJ@פF 5K[E-DE[, +a I5"+yAש ^گ렿!ɦ E)ۭ{X eNwi:FDwŲk6_kz=oF}\V ۥ;s/ ml2=LTv3Q'xVm#[ +ugSHKn-TaVc*o,}}17Q||%)Tq*pp9I\B8)r/BR@( VnNVU%~8Eu_/ͬ0.SaDj EW%Z,KU!VO{of ]jt1%aJڏt9G+*b.?cz2ZA +L_gO^뱒/f9Mg[aG%_z;H.٪(<7\mh[^#&΀7f$a9gRqK,$:&57}1EjtYX..k/MUiC]WZew/>3d4&U8. {yA$x\r`ZXu&Q Q FOa,m.E_EWbmݬGf޿9td`1 4FC;Ƣins,hA|)F̚6$ +!\k,V0Zg,\KCzhCA0;c5wL1sw}o0N~3B#9ﴛ]f7LE?ٳH,CK&}A\icko{;0asxgz:}k:LUaʐ!51oԛkLpg=!8V[uEەל|0!HwopDObL +:Wmv +ô ?jd;>)^Ky4sS/~*z/d`pG70:fq+S`pH۞Dv(4/[pKCo9#zᑫ[^dA[JlX!.Y>[bAdҹgqZ`гf۴cg=^j֢tup2/Y%g\F>,nה٫҇xZJW#mlfNR(eFIX@:BAvz\zyI`ڠʽx[ozB& rW ͻ8Ӟ/tϳfR+?BE& zVu{hˣɤWw5 nr +~//(.Hermnd>bE^rd`cIbIUGW!A1F'Is4ix.3u-v_~JY_vlRaQB\0XFvY: I{$RIqG*͌iL6(YOOWƒ@AR[AL:Au R5t7y!`S꾬O=;esB IЪdT ⤸h}8 ýGKCk4 nW9uC mq| {Hp n{Km^,*vPQ"T20<oLdF~TȐ!W'2QT9ZnGyֆU!OA@zf$X U3u+uГ[ZK'NFYi.<1JF#߄ ip9 +5!Q9Ozq|&A"WVSQa>u8T1/cdV6ލ 2uΝ}X7~[^;asLq(r\؈̟_>NfԼ,UG$sLNT󯑺ҝx _FgDp}zu:."g*|PlY)hvXoOs6Ĺn>*;;g]6D +Z%:/,H$ zYw؃*n>Di?EYYp۞fbn{/2+XܿDImbw%!y|CQi;H,\/T%*k.ܴ*@g~3&k-FkNgSivX ^#Z=Gpṕu޿;ΪX~۳:m}ݔ +K]P(Vӕ[y J?vѕqP!Inș߻Wrx?Ϻ{gYIE J;`t#{* ꊲLHwM>cB3KFץt`A4P{/o|RĿ2xybq.sm-]yx$Ge&@r]}#;Z{i̭5)*1`ѐ:J-u2qȇ#D:jQWϮ P+wFeBA~49VUnsaow㍹W$4~1$Jkul?Č^Z|'=E)kʢ  t6__͘Kao/-}!ޕs`m|F)_mo-e[#ؘ:.ߟ[:-3KB +չf׺0ޔTFt?pڋ^V\w…u~8Dgq_Zt檧cFZC()޿p?PK׽5}|$ƍM G} +xmg#yi8%tJ^*]q V(|='#&f4.3淧Zҟ YfH=HS{7Afcl78(aսHy D0* +O1.ӓ}Ɍyq:nYOd=fhUlf= +([xu:9| mf¶oj ۤE@y"Ľp)9c"7ffkHOO:3q +9n|##p"gTV(%P=L CU$3j_K0sէ(aSg4d_A-^O%xFB m#"I.̈a/ KfJ{R25*Yc<(5j}b0έrاSש*j^!\oprϸ̧kY5l{LC۝y/w8.~ZN>ȇJ;lj_܄+c5eɹØ[qǾ=Ө>"S&tճѥURٽ+ϫ29'n\75 LhZ*]W`6z.>k4V}ݼ-κKdR$}k0Q@w_coycC˳O?t{8~?lk_)IJ(R +!$k\yy9;1q4\X'v|2>ɋD gq߼}[mkS-pʛ+5jk MiDc,XPNpg\Sȇ/ѷ|KRJpۚmapFUrAN<5 yUm##7,?GDHdYu; |EB@rSZsgԗBBlmͯv7ʭ/u61?q>9+6/)OhJ hJxɆN!UB 4їdѼ"G+1ze4h!ƒmSR{stC Zatv*N2n†.Æowbg(HHWSAaɓojۀwsv[2u$cxP W3+>ƨW^q7s(hk[T;wYZ;4Fc!oI὞k+yk-9l,h@SK tޅK$RW 1}]IN睎×sloZj&f *p| Ƥ77_>]>tz ctԱCB1-٦ PJ?[t-Y:M$,Px.JQ/V ++k3p^<4 ,TRW] [>F-b|j}zVh f +^e6~J‘8hAa7X^$<`a|Z)sJpM7mS KWI!Ί?ߢ$쵑`ݵO Gyܬ y RG4fO5B懵mMJwӛ![Rb, -I) rS +/$0]`) /<' pܒt\ /ۈ.:6}8}] /bz5zLvcKڿ.W9NQ0X{]OdͨHrV5ɩK)'D$7v%` O`?jt{rIϣOh V +~`KOͷ7\ Az}Q,__<z,^lsCҁaiwA;=soǰJ$wxz_>&Lv`n{A[Ԗ2`nA,ci8[!:[U6_ #d_$FǪ)~C>QRh4kIz+ y<6sǨx}%(F +&}=5g “ +s/Z9)} +&mWVnϡ mbި"r}K}ihIIaP `Z` +e/z^%8= s\@soK\^>t|?,O_ntA{ +]0R${[} +7w6x +qq7${$yg-^X_xװBt7>Pw\g\;ʻ[w=v>W~vYYY +5թWz[55jI৭]؃/ =Nx<ߊ2Qp,wOWζ׶ھk!N&X99(?{=I]#ay flO?-lfo͝ n[Y^옻w x?}j뮚#|ּd.=({9)xIR>&oSsb3OW)EHvho le@r-`ET`Z\G糫s5ίoQa<;x&nMBFZnAInB?ɭIr{pkAsyP.v%wo,. ,?֓[i򯏬sKRH~^U$Y 6lSEhqr&,&HI"|G^[ȇ[Y(8KwOo7ɰd)ly6'G|#a$oqLǤoZ*Zumj`2ggPՃϬYvr)W`Ԗ`*ZuѬtn*̈́ +frֹོS*U%x㒾ϰ3v\}^.jx*hZ-]=74!vC-UUD]j\t&4WbqRϪH`mYF:U&➽̉+ s[lRkV8%$Ct \@WQg +~w>_svExWv5z P!9>_s8פi]Ue~G?+p !ԶN/>g~юWVƪFʙy20~)%rwB_1QU`:;܍ĝUl^p +$WXUUwʖfaT`6z}>YTj3zԆ5sVFkhelx/Uv{ddT[p4m9٥JLm/[ѝ77-WreF}tE(>(yL(R݅<>!_uHp3+%iI;zߏ# (F$WAP-ag/i +6!z xuLwz6$ی 8xޜYM˄KKs|-W@Oz6>z 6.׫?GLt{K!]і?dw}|ev&}(`2#Q7c̠Mx<ܽ w:"FHz<0tlXZ_?cBV+цҨ͆jH'ƷhԒ8 +YrKvؼC>x!r +tx<[fXt͠UG#y=֝m_b%'mh^h nJAMߡ +.ǔ _[DuVr?GDޛ &;DJpOKh j{MױK.Ui|՝{fVܝ {K,g_m1}ӑ64rtAȽV_;[} ୤ o8 S}El}A7:`?8Zy(~ZzʨQ> ԉK4e; +mc\1۴e kS[Փv/[Rf\^<%AܯMGiO3d˃;޻^Boog1Ƶwۼ'vnF+%Mv+xMp25A`^-c1o6\0sVC05g;[Mvae+H&D\V Pz_q}]ݲ[BfVIK&͊oGo^Ш'o}Jz;O59ʵH:T'jW{Ǭfɶf_k&q{0ehdsXh eQ 6NܦŰ!gjxDW4TVVP?zvYK34?W $Ay{-6_+m#6G>%1%vH:͹y);0nZbL+ICQL:Cth9Ϋ~Uh|/ҧTxfJe.6N*\ʇUazya/ YN{`xfPbBBxq$ ᰁ])6=Mjwj`d=KZGpOKojkU ' + %zmJ`!`FV;  nƢ&3&υq \1ج\5j1aZo[ rϙxOT-ةWM)J﷛سť,o4)8[6;8R@BZsǪ[7PuIc-ldb6/Ub)VTla.| w?/᫴R\ﯴ- _|,SB1/[7Ont=qċ>h +' Xx%qLj)8G0-mcH#1SϧDEWsL9Gq̗;O| ¤*B*urdcqRqq|LP-< x7R4N]:n)W/@ + ^TMszƱܧSnz%"{;tO./s Q)z8 ʝ81(,N{'mSǔ-N+eMK)~=Nb/eeοE{1U7ٰYv0LPFﰝ' /}Hx{iU0Hx7Z"ec^My'sZMkɻ__`kFc]E5@<'fqvGJ;s~ >( 6ıy㗹n['}@?(x.zJ-;Hr^xOU)Q>I ׺fq``};j oUg|G]]= tzkTEn럝w(}J.InryZBz64eIKGyLmIQ_J5?9*<]0 +}xxF,[k[|h|)#>–ȣ.hͺo*53>u{6c(Մ͏'?|OrJ/nӞS9Qۧ/bWs^9n=EN!mKǃmd'ƀdaZK3v +OFi{\G<3e-+{_$|Mr_Dҥ% H.[魝ƽj k̬vYլV`jo͟%xu*KJ%-tz>(^5W{s} 1Z S +,&_H')섾*Ԋi᳣F\FǛ1mŵ\׾gZz6ϕ-Ш}hY,f6 WM9PTef>jTy"=WgƓ>A:c)_$=oֺ@ +VDuCsSyb>0iyZxޗ>g*DVvVP1XkEnJZy!'͟!\꟯ԏ1ӭk7:.8Xj1;r݁ᲭѺ~Ng^_DҌ:m>T8jf'ʭ^=Mt#iPK]\-%DO؆\d3?bqdl5+";r!Yi 2\--@f\^;Z.g u[S8>X$b |uEޠ¶sBxgl%ya5CJ<]d:/[u,P[&ۭVj^{%^6ZSGxDbʞf4a;hl+!cN!M9w0س޼SSc̋eRa/;e[<q²s &Ѧ_Z~ h¥\~l|2ZH LB~>몏9.+GNeNl{ReO.{8Z(i)E1CI(!Bþsc륩=uCtv +)srz@3 aPX# %E8dŘaxB#rIYy"dqNMT9(8ƈ6apt8{Ȱ}-2dCRͶ0{ -LͪyW^լ*M6i#kCzʺ/e9OwMVcxd֩|vh!!.!Hͧ  dN[?s~@&:z3*M䭦 r+~ߣUE Nr*Q?\mjjPpHv8gw}5`cIN]p[۝c7[DvҚlhq2ӆxSy2%ıU$+K !^9O)0Lp& YGG2djn֠~Z)=Y}/Tg48:0_{j[! +Z1]Pj]ZV ߢ8*CFsh 9z TCkPgA/t%,G{evsgџaЎƷG`-r9[y$7w(jISIw)?/۴S98EGJIq]´C&_S]ww鬊zAQ6(l'|Oذ ,teAWEEU0MSyQc\ZuRoh{ޭp?J|o\ I&m똾`C&E%+OmEr0S|wʼn_p8U!8ם??eğdz'o-2IrBǣ(e*+V +^Sϔ'n1E_cA2eO9QQ蟄+{0[i*P-NآLJ* X4f!e' )8e;OSr} 1nMwe EUR[=?TGV|ypkGdմ];)&NP[VKJ :FצۮEXiQ.s7y/)$erQESO5)w|~(uޣ{yEuf]i|eNS88Y8n8=Q{SxُUnQ^st|m$=▿kvy{c%0.wIZkᆹg:zw'dg\|9MDcBCI~̥vBz +ρi4A&H\~-jahl8崇µaYH 7Rz#('N& mno(>ëW kϚ8 }t٫%7gYoT46=}=f|MMfoFsS 8*.lluWHLj)y)F?Y_}{GS@·?{@T-j\{ɄNQu-do

I3aFȬ˱ޛf;(zm.ql|@"cxAjI}G`i%dHrq :kb$Cټ!&?-}HJH˰簻vuJau˴M,)E1lY*^8<[n-1χ9Fa PP8(n-}Ơڃ\y6U nc}ʻi](tuR :bj$GqqNy +c\&*=\ʧˍ6F|ڶ>n H)?"~@SEUN֭8K ;Ƚ MI`agfڅiO>Pe]ѳ"v9,c﨏M'k/d5;A2? j -x9|/=l;{ሜ9iżf^dT{դ3ŹF}KI<&w\&(+^7"yպ}5ADV dݔR[+ْfІXKmdlrb8{&Vi6tdQ5]jMH@~h O1Pz%Le`~,;#Bjm?~mXq-ڄ]f/-Bz@<ˢExo@8Ozu#_<=C*oN/2dF9ʵp4VglNυƵwyP:pqeq}&~SxqePF+)8RWV\Y,Q %Ӥ\ |}0tnwCmE^f/ Wn ^&J|)ՏfU 7jS;BF5#eY!ZaVXwmuA i`o-Z8-ќAS\i~,mW=:jkkAmpuAT0+o +DL8a9džrn&K.BY*zqoFE6a"{_w񪣨U17!ŊঁQ|TôK998n&nrcmr~ج boo?G~ +YJ]k SV\W{i{&? +-5rCRx{pQQ;XU'wFv粸D3g]PP+z<QXZ Fdv=)Yg>TSXv{=RJxW)ü6渇qGLtٷSwˆzu+X%Amz6 #iw!@H 6ZI=HTRn +鿽 IQOid)$?xeхj %rXiXh1wXc$][>ҿ/ndE@r(P٫^@`Z0&j=50uHy};rB1K !̀F]RZ_`yg(~Qx7CҽwixPj?l(F&f\~H&)o?6R^/ ojî#4FSdƱ'ĔdqLu);Tӧp9Em+lbŸch%/_q,NI]&eQV"H,fI#+@NdLoWl{xJe8EiMT_"y)ċnL."e5h!m7M&)o#=Azi״/OR_vYtqej_Bt|>JFSѵa"n+-"VJyRھ9>N'5 ͥX@fk(7y zۮAcğuunC)nޔ +yGכn4]ׂ} =H# (`؃_>;8UAr,BVJFLgF^q8s3{a=ai^6N'6{v/t]z(7'ACiͮCM0fxɄ?s6o4rD}/˶·d>!v>iڎ)\9}d JBkjY{4O2 Ycyǂ*Ы}Sy\kJ'_$#cFn*{ύL\oj5ׇ#`^]lqa-[h#W {jy@ƥ=tf3UGSyet2ve61 ozivJ*n.f|52Lϫ>/Fq%-z;µuGq4N&MAV(h5qpJٰ\~/Mm^3^RZɷ3= m%xܯtco_꾙Xr՛*縇+! >zt~oGֱdƸҮmh|kNlVOكXIG]M9P+`/nFW?Lہ2̡E:ii8,\]+ZSY=D&*xqsBh<~)eb՗&B87o'U~* @e.) ~jzmyxp9Hmg۰wֻ<@U^L5 a_2Mj;Rà0Q}RtBtDOKwĺ/aM{cMɲ75N~f +TӉ4ʪ5st/iaU `~RZ\El>ޘ}!cy\.8 +٬k6Nn@;39oprLZtՍ\+>jN@3m+&0D:\q崿]Yj;Iy.(fmork|Lm\sbҒD`9tfuTgd*צ!PaU~5232TȾ,F1xVޛ(luf\?7;됪jQQ z ||r<n-vIL2||f~{mmY-vu6 #+.&hk4騕CPm?=m\08> +84XcUgE_xi+:M*l6gxk7$_gp7' 'а`%!d喓x*eDq{,P|ݎheY[4ky=oOhӹ,a4%iRVa.teg%vNBMz7KB&*tC=4ŰnY ZK}ulphhjSpRF_nʍz͚ևh[owMG` Br jlOvg뤫W/W"?ǥ2әؗaVhPz*GncFs!r 4EÖo{c$u=+kC]CU4TѭZVB}W8L^ƍWC{%֧%T̗\?L_J_L֔[Sn19_/Bt_]V j *6N2{+%(/RۢX]b-7Za+Bd7AMv U>Dƹɧ/&yK1)oo% 6t.Ou.jPcw rָ*Kro݅żJn0Cqc%'EP*`]@e>}IVB (GJTꙞ"/RF+ vl ɥkb㌺k[[IenߴJa/ Wl RxzK +,0<=!Ayor[0c8_±),ňb`ƒCƓ% .8oL?· 1p(.i~fQzmB.@6I9%s?$n kq)@ ȱ:Hq4cOΒqk`;Ä}L5Lhe.֜bQs&.Y?<Y٭/OeNE*e6 +P %2tЊhڞ4#ߨuA:P2ȝrfrKZ Oj|v4 +iп~:ޟ |i*1@sa&b ~&Wﯷ +ۼݍMm8b?$&O&Iʥu$a[A-IJ.xIc| z[|Tӄwv?b=GkriNN7MNWO~i>[4)q,'N &=z53~oNHzlT&=o~BAIcr{{4H*uR$t%k)Ͽ +Ы%*b,Ji?Hj֜ 5桾w}nVP[U_B_ᏸiJt.$GD"(*w}-?|׿~s} +pDSW$߸Ч}G/ 6,ٕqdž&~j"-ǵOn|) h>ITU6 zK@y}sIgyſݻ5.K"4p9 +mZ'v9؏ˋJ;xmvyqnZq=h_U`U;/[s4AIҠ⫠ҳ -ZΤw&Nr~ߏrm Tn[g]l-o UofAmJ_3Y+3w +u'NVK C[\^/abnq`wȤ{Ai,aSevx$mh+T'bA6h}yKv + 2.żs_\>/sLb + b]S³Gݎ|Rɇ{okK@i-4vKi2?d\3S;]" j#w;N^㹰[M#Τٱ׵>=)dL}}O,K5f ly\ia}ܯ'{wg%q׹K0yφETP [94޴='4,l@['ganjCxO ,oïq4t\EB儩f| +{KX)nG^臏pxTfY]{={8Y W}stsȱ^'}]D +ڮ1miѓ9j囪7ХBA" b|h }/S_=N ƛ܍::9TA_Cߗ +!A,:MJU{eWӏij&bɔùzN'> .=ǥWqYSBk42I3'U-,*WSU0+S`ssZN^KA mJy%[Av 9VM}k7*5N\ϊ+-ڙ1.@;d8Hy`h|Y)n,Cua5/l\ӏEs Fhh'ȸLX\<t3_<3rޭxUy%('O{I'*7G7$u{k+4rn1>zV:(L90՚f$FzgBWzLѰ=n=(tIlDJ張XV@5Fe K@iK9:=j 䣆W;sB_ĩsyuuK]tH:ݎluϛԩї(5ԩ3$^brݕzP@r_`:叹ozsV $Ty:Iq V;y ]s^ټO| `ڸTVZQ: >L 'tu عB q z5 Le2ٿkX88}ZDۋ^6q?29 \_2}0ajL@+Nn=G$yz".cZ7|7<~X>܎O^!𸱏ؖc ]oߖ}CȪN>Gm3 ˓6. @d N[떗l֊=+ݼ_^͆jUҠ 0 DOtŀT@C}Q{|DoO>VM-t>I.DZpK2cAiVBM,fKްљDf֓xRC MZQ̭`c{~sHb 2.Z"q=~X ..:oE_hd؈?H^[&oz̀NA4yۉfC C#vF;_i߆`(` +-1TAg`fyê-|a*0H#sg씟0X?d.OP^HEc}8V\-(c~l`4x|8XL  ZJ!YH-u|,imx$/HrxHXe%ص1sQQh>hu~uY|QՆJÅe-2: Twk4$'زq"DuQ(NpaP:]!C:4B{2l5x3}k-dKn7o5yT<5q%:05'p4yC$M߇/ =# =dqJx{*̦MTP  QwDgΊKV>͹Xm +JiCkHZ8ت>qbZc:֎[Fcj5ס[OEVDp +㰫ȒɼnPr7hcۨur}u'0ja?FgN(5HUm|X[ܣlGqL΢av@t03zׁ{|_GO \ }+rٍBqW{0F?(]"4k4) +*#$c~c&Y?#hi8NMX  &sq[+j'4@_,M(kW_u`F)@9|KAB*D05jbGtJE.4C?{K?o/<h,,kD/۟}ϿH `oC.KB$̅+G\$li|I߿MX5vsN󷉃X?6qH\:q*Uxtd쳙s6y4k)3@~a6x[ֿߧ4J_S8epG4y&I4=+cSi OCD3Wo3ϋR{; +K#+GUC?OM}mP~a8nwz~kx 腾`OÚ!:;2&c5(?tJ5mZχ u*zCSjO%韲7xxE G4ދa<adjТla1CWG}G4T?i%iL@騎7.6'7S*l~IF{!{wvAuyJ'_f{E$؜$ja!~;œJwbqrsj9$.F|z'%6Z{@_2le[h6_XZ.{ o@|aΗp+03uL{ +gN]ӡ妭c_$ʍ%9)z9))XV?R3΂H]''?ٺg8wǵv6mRn6s:$0zS2v_I>s^ qʽr\K7ş?Ib>|Qzw% ¸b7D5MCL`{ZV.Q?vjM, -m߅sWFDCONK12#_&ՎPOrVIŪ9ܴsiOq{qzLh h^ӚI4$kX14.\_uʌ^ԲmqRj1VŨUU}UY">D9[F8s0s&q= +̹w4(w:ipV嘋H`r^5 ]gb~] WZmVZpժgUȤ SCxe) +ZyFܩ7~Ffx>jPyHk~p$8w6}8כg|i.54p[P\Zcm!He񵪏"ޮE2+V43mݥK*ùTW[qԞbCT{:@ۿ \,9J3Kޣة4ÓCvɏ?Dz3_sr^rITjS+D!KF.Xe)t ++o[*?8Ww6-o7nQ܆'&qY?&~8uܭҊ-]E>'&r=i[F½慸7 +ƀp-[ew~Ayl縸ͪiL웭Y&~Y@lN@%|? Pw_o~cV'Fۺ9 d$gWȵ{i,&OYk/['1nWf5E 2k}fB/f*ITU{#lsT+4R> };q[6)@ܝk-hŖ2h}k8z[orvov!A^xQ_Zan.Qֵpb+PάY1¥wh:J5y c0wG ŧ!x T5Ē,quæ2kK6W;'(~]:3y|G^nRI1KQKvעԷPK{ FG@BXmGi8Xb~s3BX%k(/w |]w9cZ\yc)+_؝=s< )=(qju9H7s:F%/ۀ1qmymǥ'mk<ƨ:]x[ )K=cmE;o=+ӣEp1j G~Tr#jBޗ7*՞6dǩBĤx<W[П+ 8't94h""|"G a>C2nJ<gn>;ּ7m3en¸!^68 JC;onFZkاia]a9P#hȺ1HE/;{ҩ[|cfA}!}SfFl57my |v6_ޢ6O B<)1{>JZ$]B$uv' Fi/! ]G}*q5<S$g5PZvàd&Ĥ^A;6%[lLEЄ)q&FcV +#"tL&O' AlrmkD1`Eޜ4 )wZJl[15$nXT,|mYSy^z%2/3Ul-sUò laJoo{lM {#:-hḥUj3͔ZU@,6*tMo™)[Smx^TG)=dگIѩ Z~v5DmpUJ]1Y̨ѓO ? 0@h0!!6@·Ae<~-+P՟J+ʝъU6 +]eў)%^rND<`aY}użS%(R {ѽ~7?Xh2*9 B~C}.ݽcIFXУuS?zJͺX\NZǏbʦєlB%WX>wKN;lk\+Ѐ&$:~k@. +@Q탼4@I?bt-b}ʕޅz5^WgPs4HJR- +:,bNx +,#W v +t`>C +9{'F"oh/ }cgWݲ{6cL<3n6rֹty3Źdt t } yHAؚ +tYWtnRVI/1z)0mDO.AϏFS|*JۦBb_L |?=S.)?^ /u_yt4p<2OowqIMpY4 3Qm[♟Q^s+)Ƌ+W^q􂸤h]ΑtG=?3PUz}\xnmo1A#}rJ!7ʧFSL.Y-L|[-ڀVTߐq#'}Iw0^۝o7t ek$%Qg缵d,6tl' "-A s.qzz:v_$<R}kz^uXg.[ _U_ 1nDN;\Ӝދ oUI/MT<%`zRͺ +^z Tj`cUGs=ԽeR]g V<_3<ۗV͔D7|ۥuP{wi:ޭA;zV}IR>7.ݰә`Dm6͚ǧ?fjjZkMuwO푴60K<Gr;n])'|zx)nmv~Yz_ufIYvB3 i{Λ/SV:S/$NxD}wjRgs*>,j-d {&Y:^ջ]@ 7Luћʦ7Kϣ dZźi?c7Ն:. |QKJo@aLps\eܺˠz]P>\`-ӛȀhَYPa!@)O5-EN!ѝ,9?l\-z_Xz=^=ҫT~$?p-EI5> Ju&]r/w MczŔCo|Esډ:5,rTs 5I 1(*qGaTA@j9#Ew!Ͼ)7bٯ/(HOb~덾o3A߇LlP>h]I엚Fz;fFԐTF^Z;0>|g f9q[`/rffZfaιz]y45˫[ufCUYR,\28b'3` /.g ʖg4wNRShhsA&Q2!G;Z\YuGRc&T|^Թ&][S:#劏n$jf# ` ? YlLf{>g gMgEYA7EfWB =ŭjM?X-JSA.5QwTZ#){ H7$S+H)+({k + +g|^p09qshve +,S̶y\0 m3 n[am+`UJCt/}㍏[k>uMeOFь1)Qm>-ZD=翄Q} +AKyN㳩7AWQϐ]9KK ] m4ZE|[Oʿ!eB]Ýg\XppvRYuh +⣊ rKb e~K-"qfNbv.0&GWRhqvB0:NI#{]V!UyV'^/5"D1p>Z:k]'c"WJ^ 7;8Pe4jvy+CYxYҹ_yy2G] e; +%MEJ>y/ V |&zڴsyCC|B\/W~7b*^nƸ~X5įۙf[ y+\G_qc{Xď c܊i~9ZPWEaWx#tЮiG\ ~]Sv`!7UUn雏D)jdo.y')+K(htG4 aXzVI К4@s6yk h\KGtގu? a.-?5jٔ\aPd.ݜIۍx~}W˳uďIf(Y 15A00d=LsG$`\ J8qF_1)0ޞ_]YN>®N_ gAn!G#)x䅠Jf{;F14,Ms#H 8wr[@YǸ</x1U: e/fzwKFzȆ}+ eJј BEm?R0"ݪp`Ƹ8? K@z@D &;/ P`!=QQZ;g9Ԅ;;ړj6/͍ R3)sUcM:.z1Ε(4@46}8[ #@8UHɾ0 Նe uc H=]?b~p@Nk=k˓9!ljVҶ*# >m?$l|UXU_r JsAB@Y^*P.( T*J62@%Ʀf~K XxY7p6:@\V=ljܝȽ|ه:uZyx@"6t_^@'Х.˭]U*cI~H>yMvcKB]Κ䟭Wo$8@f?^{'zYq-lt77f3 El%9w}>hpfGrV$L[cxiwm;${^@zlk”~U7a)愈&u襉rLaﰣk7T*sޟYBݏq ++ϭuW"к!_su(幚&'.J2Ojϵ˴;3n촔)4.^zL +֛ ]PC?|9-ORcژoI> 5ُ;oMj>r1|7I2Xb6pxc^dda\0/qr.oMζ^w]n>Νu!7,!#7> #})g}f~yqyJ{7ǜ\[PF|7NA%ӜulGcNۜiy0˶hOrFpwP +1jf=XըJPZIŏ mY'6 T^ {zYtءO]"I,lksM]Xٟ,yDFNgb, ZwNs<08R>۠GݪS@Oga0dm8x-V?fg.VjVYMD~};09E?lYྋdOūZi.V'ȬZ,sZ{Xp+st#F'vaߗFYjdU;oao8X;Xpk9~Xo{͖_v5gg +VJ\`eA,WLTqKZV٘Iׯ⑾~ۛ4plIfuMQ!ϿV;E|i8~HJW+qNT$\9[XKtg`ʝDѻmx{ -tk \ٸ]C-j[C5-:;?8P[Q.]L~et9tyWmYK[,b?˳2ԗULZzݭ`feWOOu +R#74Wm{b;o>Q\=-s4K5Kδ4|7b䰃1=m݅n ;Zt_\ݞn%r-'Y`nk9[C.EME]fKeR?Zlb5i$Gy45d\8n':Z\z6T[9 W&ۧi܍'(L -'@MCkϊRWٛ([qQP:"ܔ,-'`-/eEQaگv߆?s/^,Lxi> E'BqgPG UYL] Zul4P#'e| sΧ巫.<#]^ dUTZPxCx#]xBCx T?MW7}GO6,h:eX7becĊEፋ4=Na׸N.tt҆KIl-?De: z`/Bk/R%%UM b[;۹j˛,JMOZANiΉRϧDŻ&7]Il^$qwh}ig] KbeU!<,JKU-k3'0SqjA0*zWKh(?v)aGO[38!#_""^#iNcW"BU!Bb%7I>+[=$;9!=t'땖*>&?B] чrI:37o y !>EH*A|6=^$\i9沎=ek,5F4XRSEױb4vZG^aIFuO,iR N`FH8Axk"o"cx1iM)H[!kt}()OidHs &y!M#5_BI,%T4Qm ӟ&;]On~lǷ{ %B +qFf6!+hr;n3~%ۯُ i<¦=;{=YNe^3j=t_ 7 ygAA{ <. (yX,8Bk/B(:>B: eeJ Ht SV1Fkf֐*OIGîdeJTp˗ښI؛167jB1Y\NTTlŸN΀ZʴO(z ~ha皭GS7=͚,:X2>fq=!L᾿@ؖlʀY!#b-F +4ҍ[&C?ci@?/c S Z:0M9!7TuU0%C5uY+=c6VH&S&ʃ )8YR1V/J+ bmt܌qv^xA %`GK,*~m ++;"w,NVX *Kٰ>6 ̹<zT§0,8GHnd€[?;_9 xhuB[;n|c^||˃omrb[f^h-f3s$o)\Xe4vlgg;$$Ro8qUE}{/!@5Z@} :5;3b [zHSl08&x"1Fi;Vn|WlPL=xU8 +P~)H/Gn<,$ɛWQm gC %'>r]Jaf5`R(=lvJeުPEuWLe;i/O$hiLUSfkVGM+&&DU^Ij:mڡ߯]=Ц =aNc_@{G>MDCdnlI@H? ImPq+Om޽|$jP=[76Qxl#hl*Q~Bݨ>In[|_qPtf[C[x+mbV8K{:I"B\fz[֫u'Z? +DR4c}s;lNu ֺ8.bz\h6\7Rfu0祏Iŭ&}ހ!k᳏3զdGBq35q61:U2A\̸Aѡe4$R=vf<Y?%zNuqq9ml٧Y3 hA1N ' ^\M6N5hc"||aT0BC/O!z]C{S<8>͌sf55SdԘZ@ّO~Uv>4RZy[&*_㶦ZFбz" pvG wCO6{t +Ya_bE~ݺNت@S~4*lWޠ0)^qy.cminM.Ey~ w e1SA/S`ӦtewJ]4g7ɘC7Ru֥ +pBٶ5_|Ħ?QJԫQowTu︙ӂFt̓[K=XdV ]DuqjNve*ĕY~frd&XeS%y8$q:i $`emomD{+h} $KU +ҹ0H/NvK|%ЕƔJ.Rf֖d.HΫ*yIŮ܋2_3dF ZS Z +ZADknWpE`w\ŠT/  +ag|( i]{ u(, <&i ޑK]xKr~0 +X% + }G +°-tޥNj@ysF{tC^ڙjilqB#!<>kgɸΙL*S=Efgfщ3"0n-kCe؎K429G<-ݡ/ň&T?BccD_A=nL+53O͍UBCa3 ?^ȶ3XXCZ!! FmYP|jIb.6bukS^;Ê3B7-2M^9^ s" +5>6?{XM0,_YTpD%FvYG#fہʺ7;AN$,L,`qA2x8\oH}kGêߚAFm5EY|BfnǴ5 W]41 :RmdfzȨ~qzz\Sj΀KdNqWBz06PcQYt_+{4mlz Oq g!cG7uDh@N ~dK"[꩖1\se20Z&~*BLkd k`^>[94C:G.*3@Kuc~I[zPdUc\@k5؉&ys#t'{A&-}}۵]% +endstream endobj 22 0 obj <>stream +ڦ^cB:v.@-N `0 9Wp!Ę2`1l*s3' +ao;SR*`]JoUX >%Up;TnyAf&GgF +؎  b( +] +pΆ\7Z|]s{.IwLK[DVFWRb^G:;Œ{=lj LQ#,&bj|/4= w@ɥDV"/ȈY x2b.Ѧ˗-K_G,猢:=|M2vDL).1UHzG{o9Zfc zH%K%3s@ɶ[@AJ" .3kҼW.wsæ>϶Ŏ_q~#&ڛG|9&h?IP^Ve>6hh́V-6Q|?!ILog՛"y0=mTXT.wsopkU\x]Ԑ q& +ﺑUksmiuR?)QSY'?d$apzeT}`wsns:vJ\wse+ JAv98xvCH6ƛI@M+&orSP;lEtv>t6f>Σ<<aJG!#w#+mO6n啋vKa_O>VK$FvLxOUn.}$㊞ѕ9ӷrVs5ֺ.^oE_3Qk9Vwb2f̸=i` +hNVx[76>ly|ѡiGC,*ZfM \[CJEgƅ!䢹ȓU&)e<=rq1<7o( ٭C;G)xwvPɹ_6@7SwU_2Cέuyf%[Kao̵]55o%K [|3eL7 ue=|R$3N/v0/2Awe.bC9zgOyM}ŀD\=UO`̾ԂbKo=Rm4KymxA>[v=}R]Vڡ6GShZnntQoƨ1Y݆Cm{uQ; +AATX%SUc%߿:9:'8Y鴼 +IG|^vS֍f/ߕ*v .4g2@{Bnu~i+^wm_K5QƯ*V¦4>*g9erYKZFQ n[̚l ~h[HA%X-rc|~)kfN92}1f꽱T!WLL5nP>R-WHlrphL+Kme +'ڋUmzltD!`y-C{siy*CD D6U:^ڊ+*vr rl֬=0$SkȌ +Z#B2!a_06y-|K;3ԥhZifɋqyqhv'%{̥!A+Ү2eJT̋,#.F?n `Ek1kU7/Sf.*]uMUF]T4ಂm`y;^1_# ꤏnGr&5ԁ"s(/ؤNnA]CPn.O;zJ>7VtT1j\3ScKnwP(A V/J!vEU2F8P'߶6ej٠oZC'cZ܃դ n;^/SeHR ȝ⬘Bܸ[)ytT'FޒxqC՚(c>7ʮ>3` `G1~0nF{7 +V5\)XZi~p,RM''7X:Fg[؜N@MTgwvR^çג+*O.|L,v6,?Cb\fcl vy`qIwFr5ݘb +A|vF]: o9੉v6=?[>?{ e.ٔYθ,|vr۞ NLzh-ӂ\P NHƮ &:RM3kOZ.pmum25QzFDAGE!gۈ˜oKvցU,i~cl\7 t}#i{PQ2mP슚R(Hɖ{AIw4ߗ̑k)Ne~oU}]b'ar/ '̾XcgeQ%!cO7[z|A>45d3g(u}k~}$nLݩF(J44n n{'E  LD.a_VY7nb}f } Wt$*=m1+ ~ zۣ;4B0,Dkkã#y=ߣ3XnPY)Dpl%v{ |M>[qP)˹1_B kʃ,cAv[Zը^/!Će:'>îV35¯])FĘ:{B9Fw|Rx"pD17nʹ"u\a0$|ǐJa`vCbV5j8)WY- h.& +'Ƥ*iw,BA|e7SkoM-}Ollr@0qhi(E6=Gj !6"]rRBڵU~oʹh󫱓ם +fG(|'${bYefFrrr6!v|K[/ve3B>=R/fE3~Le[nVϲzЄ)j +{ = uΰPQ t}k6]`^|/oRo,ph)N,FM-v!=ܔ&TW1XRۨJdN(d~t֯ +Ш,C{v։]&s/R rWwoռVv /juMKpgvOۧaUjP{z)ڕfF9>CF遠.U };AaYLi9*=PEV;J<&)Tf,vOw9nypFsxKfM+KwOܬ +]-c҆̔e,XpRo@nܟxl@nXfA.k 䦕>#I@.AX_9E}!<̃5o> ;ztA +7s<1M3+^җ aC3:[C뚄Osc̺?c7OL +Yx[E`1)q:ߩ~ܪ3{(_tE*9/qYhoIY)e&уr)j:1Xĸ)rl/S$y1"kb}11fG){_e 6A^M]dYKIv{2ೀPWjw_EP>Fpj1 + ,bq'Fe~2{2 rWZ4J;4T* 3E +[.G8=$Df3 Rͻ6/-n   +ǐsi +|]pri'lb+Nwm1%pTW~ .)̯z/SѠC CwojV\-I.')ZB~4bvDNC.@(F@(' P4&߀0t\ ;f<7ȨGW1koFse[^(=I_ߛ#&o"~߇4-2<@x] YԐ(q1ɾ\J#_!,&dEa,绹Q7+N\^I^ɞZ]:QK? INcl~.7ۏe3G'k2N%q\?lO͕(ݬ]x]1nR597SnԈ]-K?6t炪ʺ`_D s(`B9=y9ߟi[R漢z˽&œ!Q1A㹝z:h2Sy. 5V ZydS^ +ƂBwn%6L]pc[XXT՝=8TӁ7PǓgfu<Ƈr䧻Yއ}K°_oAk"^Tُ_ 3y[CU2H[κLi3͝IV|QcVQ$OJ臬]Ag\h圮qw*QivA׶^OPkSVѩp_p*dΝozs07J-C6.7/,^όLZK*ӽkeu-oB&va#Q nU)N77O ոFl xtI`y^uJjȲ +.+^,o\Ure^}]{a^$;_wtFވ~XFKѝw~~ڸw(z5laAW/A,vI!rBeY)j_.7A^fύ2O/ܓ?4Vup;4tM<9Pq,vz+b7UD.@U~$y>pBZ{*鈑-cNjV٤Mu]U~y{x{ĔIp&ݳgcrf= r]?7?;7] +W#BZY^[AD~`<^汰W\Fk8LS͊>nj)m"[Mkv8ƁNgYa&MmBWqzF +ĔƪSε {w >}emȿ>c&yTSR+J𼟩;6#X9O֐UJsSz&1ڞ^jEq%VZQ*<{Lg$lZc45_vrV&";˼q{^ d)h.BSYXDM_ 3"K:crTU]2 ,P`aI !' zt.%[`qhq{Y[J1v[iqGc\d},sw䧙C]R![dAkS"{rPܱ8+њl"\GD0Q~~nL85]Fܪ۸rL*Mq E|PCcMꋾMڴ1lUs+?5mM}*/Ur[Rod%<4ExX"m &7K9w˓P|Vĕk"1zWgogyg4k= Ēn彙17~7tkVϯHv +N萅&Pc]D~NZ0Hq|/5"OJ2Wu)bGCliX'{-=?Ӥ }.rV㞺/imK~U_*ev;?nL庭HJS BTd8s+B~aALO*Wv{X9di#r휾=E惺?(ՙ=%(61ٿF[*ibrĘ>& rO27^d:%,;kΕA@ˬj]KZ$sbtw6 ٗ=ة)=+sh}L#nP;ߦiiLޚ+;g`yb\!pWڧp8&=Ykv9 +eZ>4˽J 'LRC_u=ih#_LL&,U10ʄ |orP{/j$tGx *. qv8ad? ʰ{nbt^[4G z9!Z=Wt+Te7Sח[9A,;dg [g>HgռE3;rJM6eWqc)Z[O 0)HUD»y>ӭWҭ8OхH@$XGX_5tVӠ؃LCo9Y~kMVE*[g rTcY2Kge1r$X;Qblh{:BwD:Ȩ[mWtBB}qBp w0MOuJ>"at cUM>%۩My.eDHĹXH35&:i@Uά9 w$yr@zBOw,g8 .Hк} Fvx s?sl7ea]t ]@)> (g M@)Z+ӏ9Y +P4oyB@. )L T?^Ͳ4T$b{ TpnI6)ưu*v"zG7 +hHpiB ZkY$JtݴX!`'*Ey5 &)``Unq`KtPl +)'s^sc8lo`=M:^܉ߙw8B5O*{( +AtsbL wZ& f F+n})\瀛rQy2=༝ 8k\d`={)kc} 2p|ɣ7q77:0WA[P0 %Xu0s@hpBk6%j+cڟ̭[늵-ZcFJ"cBܼY?@Xĉ~[р @AHGL|iB'ϻ@![yl٦wOM%lnV, kno}43)j- vʬ_7`Sbr\큌qفLL)LSl}=2CV5>T@_C?h?_prof6vdzKØREKCкsC+:noτB\y>NtrN$5q~!_ #~eO ,[ o覎ݯxܐtyY +BrO{> | vKK~(m>wPl #8lM զp4~n?A mO.TcHb_=oaF1Cwpj/7c>mfY/5dSm_e~-']ȫi3c 8@˓޷&Ȁl4|-6!|ޯA9/#o u!7w2"|_S{Ѕ}1WѰ@s15 +~Mísubf<kad۶_N ԥWwK'+0ix^S2k|Һi2RkU%xhu;$t;/9xb=svg%NwrH!V]KYpRGDNmpQw;zNsQ6zSf\l!5=puq'>Nhs j&ʪe^QWi.1eT9ܭrDsqH߿HGy;&[JCfԋpGi}aK%q6l9ȚY^TXыASV +643<|*SLe ++GqF+R둑[Ց3][7J[Iark򞊯idxŝZk5Kb#0%g~:wؾl"d;a{vÌ6 VLޖ2YS*҉ȗPɑ.$K.8ŜT| XzKF坱g0~E_6%a:^^gS+Ԇa5zC9[LEEӟ 51MVeɒ:+v"VS5zm#atK0Nb-Y1nlIl5 wjiy`7>Z[cv ʡTwlE7b=n Eo:曙>^A'/ؑ,BTldxqY!]]opˠ=hڲ5`2r3=cDg*:hjg5-(O&Po~] +qV<@^ffG9w#nݲcȜ_-xyKlu\91F2fB2M+H"¡G\==^m3!+nK鄶 +fUN[#=Lj 4Lin)v[tqsM(->+jPŮK}lFJH>oٛ<‡ybxb"zl)2)z|A`K G#L}}.a9A{SͩHo0lfX^t+ݛ^8djl\xȔ#cO;p)cS8m!dCl101tM d5H}GH}=][fA3{Lj$}*C颔 jNE bܶHql  EB~&A38nyQA d Hfl@dC]OF=<`TZ!bZa:fSi]hӳVpa9J?㣢Xr0 iR1qSfq٠o&P"0`KUơCgN"AwQҧsޤá:K+9Td 52&9> sP/uʬa-l3f_ݯ*s,l2#)vA_K=EPV L[p19#QU\=lyg-0 ݀;qcN茓T8кj>p~|6PPvTuF:\H9;8lm`SVHs6k 6n+2N'eazׄݲNߌY%S?f^~2X-DIh$p߀4`]ߌh 0@J=^q^1.nEvb=ͷ@T~2U* ˧4cE4//y#f(W$4_/s"D:_=+#x<?fDܰ!;糖Y9k5ng`b4̞v.1Uþ~oWM'b{_7X:x[nA0p??ż;ve{hڶcNi62dAt'JDkS.dk)a LrPY6Է5 ZOF}F:jdڸ:ᚊչI(Cv"dƹ)$@Y-FRP8f(q݆A>VYuQMǚՙU|;+>P˛Pu0ol)vJZN@QۗM뒍]}<+%$E>e֥2jU~ݕe9W7A/|2w^hF`t5 3m'nyڳmWE"V^1W>mbm^Z6C~8 dT_*n˛Zt͗'?P)Vђ)[9= EgTZ%Y}Qmt + +~7cӛ%##wB/TG|Ox\oӛ|Zĕ@~&PcHA6*ìlk{?KjX0 +;t9 |)v[XmcAC$ r,]}۵/&ܯeg$^+jTyJ]θEܹ6xܬ{a o'ʝ^N럻QٸXe56^3Mjz1ӰG҈&BU5W5yo~.;Qipl&-.Sua6͈m:mxnZM6Q19kxs.eVZ6Ehxaۢԑ܌{uFlc_?Õ8rbym1B%m%'8(ZKؒXR S-+>jג񡽄۞T-`׆y1U p 4]Y w_֜ո!\g?2O1;P̑u^A) RotƦB}a}PsL "`ː $ 8}Z:.nsK q?4\ZBq5ʠfaڟj tr2W:'(mUT{C\ypMDEc[ FW-+a8G&R!gtcHm}&ߟB0VX*gqT$;F>"/QPyJ_. Ohͷ @o,C8qL@I6AQI0~48\$xG&`tIl&^_EOrU*=&~,~lUb8;a)Na ]rlk,D2l4&-ZJ. hO0O<}3A=wa$gO\~򖺥F +xsN!f:,^z%+4=Bq׬t +!v,}Sũ%{P +I逤 i'x0 єg='6ib"f Oݽ`K)7%5]_|8~Dž"n (H0*-4nSxv +E~/^&twxXM#_79?Q_1x^rqCz}$xmЖ=,R%=]LS ߞDzTIpl$xa rY@O&,f>;twѤdK@gbz\GiNv O[=T-‘f*_8ce#`ю _VY67U lu8{ڪ5`K?⡝l|v#\;U7xO6[0 ~ g_*~:?:Zo<5t:_v@v[nL[?Ǐ/%ft6|@lK@^ qL]IԖ@q 6.oqgiSM,mt!ۍi'b4& +K+[k o8(  +,ρ@( +u<ƍ1 +?"@wnj ECJ|Դm?WMXTJ +|_%Zj~fʅ9Т +MVko3$?"dny]},vI y3۩ȧOV:;\A]QK6cenm_|$ |dG!wC6ƃV t+SaJ1B]exv,f&륶:bG2@TJkŤ$c2*b;3ƧۺlP[fp̶cyE +ڽ="Ym* `K^c3g]Z.pi +E'yRxxfr֦Ín{zҗO?Vƕ3:|6޿\́>fߒan/Q= 73vd +5_˱\F~jqVcwT}yk}@Ӏv5nK{8Z]Wܓb +_ @ k\ɏK"f/7ih6X/ۗ7 ~׸4-~m{F>^^6~ibCs(kf(Sks]l̩CbX:ˏʲ *< n}L:jWCuɶ vH˅kPF1162uhqjՐT)kPYVI:rU +O>}ᙌk¬B\rsyv=咵m;v7*-q.ٯܽ2wMAWVvHUu L+o]fOJANꅟ=׾c4)]]4Ai)+I9+>W2Zp_󛾿W-sIbq*ݱ[ԾhyF,Qx~ Vfy:br3yOÓćwѦ{=P'daٜ:Sϳ/PWɝn;E6Ĵ٭U|Z{xnV)52|ЧZ۫nܦʾy$\UyOJؓaaH֫gﯱb Ku4d9%MשYp5evfkX|1㽨Jڽ]OQ]dwV&Z +T3j(^Jy{yYY/d3[E6go\qd54n)u4qۀ>c9/ڬuj}V}e6CT׼g9|ZrXiYEYt=dk<w=ִ4`)pG'_;Z"KN?\MxcP. u\%U|A^Y'ʙj(q'󉬐tWIiۘ)+E}]Ƃ[2*L5AET?nf[)ut&"C\KI^VT`)EI5SȊzP:dTُ(BCez.)g:D|yD Ƅޞ\L{n[F K.K3/puZKldF66vk_+ɏ-|{]w2ϫwJջ@|nJ4Y1%.'ƣG)#^B]-]F3f{c. Q3:--0ʔj4Q6z.ZE;FrK +zE8S#/Z5ƋwNZNi^JwW'eb(`ILm _q-=ZTBTf]ߑ*)>9h8$Rv1{ȱFWfly?uge*gJo; 9fUYC=-Bs<2_r1Ϧ捖NAFB@F>? +wL6ʷ8<ܻEǯ4+2E {Yz8bi-v^P(54&BTy@6q z$ԬOV lp{.=|*+"wy" 6\H_-}&xaqQ%l= 9 utY9(5M!UtF8';k:Jf+5Zz[ˬduԨgc;.rҮ #`iQngz羺5I8BG i[ܶ暯޷_! /fidX3HuNW87&wVN{5$XZeEOVGwy.f?Y7_eҔ'YDmcIG"Sxsfl3R77}n&=bJK瑔[v pݞs0zA]-- +T ++'8S/Ԫ7M?hB{﹦u _wrN8 &L9 6TP_s֏() i2544EO${ã>FB7aYqΦ9L"k-stnzE_, jguB73A.-mr`;hY(qU` ,>ruN5&D@)@Uz㶐%NQ֟ +t"DzGB+Bkh t8C CН#Aok޽QZoLsi`Z`z0u^b2-cr%ϩBV[ +M-V %p(B:8nTMa XcD([ -{2wPlATN\ M5ځ =s w\[+[cRƦxڰVf^\}Cv5TøRv9(2)UccLd~S3#7/!`$qLF4'QwꑛFq@O&gLB нC'T\rt:/8RҫтI. ]Q #_ڒ% m{׈:"NcnJ\=A_xʁ<װW7']h(||wy0Y0 ߞpofe\ۡln7gN`o1B]&`'t[M-k!n};ޙg4``{ylkPs6e=3MXQ&IyUh!++hM ˧nA h7]l)ń;x0FWݏG"~~8?j/_:WJp|?p1eLoR|m гZ$+o߿J1H_rzz=>ias28HCz{o]]n~)keݤ/"+X5ޚg@i9ȇ3㭗nࡒ*^ +>wP:''HZygNlbchd",2eK̙69]&ݩ8&er23+'X֌" #'fǽ # +vy*PɺZ^WViV8^9e ++#Dg%&w[epEƪ}C B{@0!:&&nƽE`( tU:=AzWAC!LvCv!\ Q2r]|X㶲\,Zڶn6cqF'05F\ujEpk>]%R*AdNąfn R R>o {e '+qhXaTBLJ +H6v2dT ⱚKzl_mk pjtX&˨i!1m-˝̺3vOg$pMuгE {dk KPZEKeane킒+vS{;p)P8L:Ms1#RNd>Qj5rSle^5yTIxzc]+}yH^-=-oLb3P=~ӎJx,e{K t;i{]s,-31}NH[ +@lMc1OvLKJ3KM[u |,Ǚ3׋q:jGpTBHԫ?m%dwjf}5? 1ղPnу-Ttk)gͽ "p9.2Z0OFarD<#ݕtRtrȮ?Uµj~('\MdjpF6m +&Eo^Uy\3N n2S:rWDRa).5ZTZgą?y2:lU7b7c0LeeNqZ;[R( I25`ra*`RH0hS281XЯY`~'y3|s>Y2Fr.=k5ҷ^L>;}[0$0{syhf:eBe*֥7-/KAb uQ;H!kas#G4NwHyT>k 2 H~'u"߉=EASklQ-;GE3JtwFJzg'- ]$ם7CGUuMǽAQlˏ%7+2ӝm˃̾}J%էstUi]ĨÙPFnI!2&)aU8#g9Kͺg#gʝob$\7U}rޅamrhݱ> = yIxyK3n 526?$j:ĒQ4̏pzb)8!ݪr`rW{nYEh+L!\# [^[n:WhNAiޱų7G/.ٓr]0֘It&IBxZ8o+ؼƱ\N`ʭ7nN&9:p6Hpg`2'O(/rign$DlpgHqͧ9+vnF"ZXh  H +^>64\(t)5Xi?|F' fI-RMvz,1DR5uG0)bb>y'M}u *upob\F7u Aew)50|98ZP_C!Nܢ :DB=Xv?Ty5 =r"mwۈJܪY۝Нڱwp {ٝR3Sğo$p4Bk C ?L莨@*1 UHXH:pPRPchγ$adb$ +"%(;\LJrg7Eٝm}D;V`;te=T;vkkԃZ +3"kqG d`\G>ܸ@^t`(Bi3 +PFiEQnڃ)gwl2H增8K>z>0:*+?Q.x8/8K+t=> Qw1!;}FcZS+xh'ȅ:D-*{v NhiH|n;.l ٱM_hw&C#lu J兿K8a5qE+bB;%uEUaݣ)"-H懽N!Xv4X|c)} `51\ӼxSh(!`V +,jHNwNCqrъp W4׫+ ΁$:cN*ā pG8Icgy KytޢC\㽖W"f0 +f)+<\,[ ab>>|?a]!ԷL*{+W# ʁK88t`D#5OEk1ڮ ַ\T+E]BV̥m_(B#خK4+'@@JCWj]L@s4fךrMbՈb%Q@d-@DW\f +4'Jq\L\/:ޢ w?|3FQaUs e( T@(CL^[0 o $ 9a8p?z= .:SvFHہ\4vǀڙ|IP0,5ڏ& {1nG芓t{: sE-yAʴԱ a{30u =:fɘs4i^DIw3f01e awI XCk弙V!|I軐so) 'ʕ`+/?3įkȓps/j$:n9e,ϞA٣|s-&^.y"^҂5!?{)һk,#389vzx +⟯ZM6P, $gq<; e,gT3V +9A,}s$հɤXǃ,OQgRT?{V=SUgb_Y%\3_ +9O(t:b@,v>B @=,G_м^^}P^.~ǕOqcrELw7)n݅w[65l]_q-VpaO,{Ȉ0[DNiKVDYfqMC^>/㭗n)[Uգ(OX: sUB[ô%VL lf\ќDqYأEcؑwA_[X y1ѵY"vGܤΏ̴{ x*?xsd`{[ub$ZY b4kjx/?q7hȏNlGsB1rhsHki{.lZqo$ȽѨqm5rfvV݊%E^*d^<u*vW#nѵP):ZR)o{uDYnc56`Y&g*3+ovp\YڕixzQeM;w˅NW(S@ )%/=LqkXf=7 b\SQdTHXt_ZThXzv3hl:rzhvؤ9L?M6(YS;`rxjt/ yQ~Svf%lqteJerWZ|?X#3 Y,3lrizWOe=NR9\3}ܮ$["mWÔř[f[t Fօz 1^Z^/[\ϝT{scôC2>YtYSSKמ!Iv> OsY)TpvxFEmĸ2ddח?nµq,L£T'4.m +7NG* )w}ڼtd'Z^iU-*z;Dq"~]2C K FKՠ[ڴgh|躢.F/lnk*˾v-nEWKͬGsc#o$;$h-`֛6B@"xSN.juQѱ*VG@i}S_)/_)gg-VZQp{K1F7T.j YN֡h|ZXu]r=õ +QY6Vv( Q~t +*6 /tN)آ|uK˺8B v&F_跐`;n,k#+ x*)Itwқ&s=jl#Նh1:Ux!Jr@uw )aVdkwVgf/J!a;.FcL)E# K#n?9'䬳Vb;_t[mٷ(lmF1pu7hK5Qb$*5H :کSV)'`v;)oŨl~: VfPݮĖeRgOb3Ufڍ?k\гuSXbK< 4fWMe7=-o:"OST5aυ~4G񄛺ŝNO>iݙ5?-EPc=Ky 29$U?T\2a=a0ZuRnIy"}6D25;(L, +0Z3.X|RjaRvnkބ%owT^.&dt]HĞDW8lV+XV90Xt,ธ^Ѐ9q]0s;- ۸0["U/hhV(J-%XI13crǨm YHnlȊ2&> fa +mL %4?<P m`a!d نd#VN 081%}lp YH-Cs 2.z +V.vӑfã.]\&bJB. L:|"Ca y P(`0<; Bg˱ SrPoS[u&pV)͘j& "*B Pac4hmq1GJ(UšVAȹ He"09uLOa3 +_tpǵ̉Os: /"x+N\ u0r'+s2C+39SvCو"#%uڋ`-WBn-( ""-pmpp#I%l.g٨e-zG|pE>4˖|Op9 La#*ȗKZh(%<3Wn>W˓~<@P + 6-ݱVW:?d5GJD?6m2/# 2gK;AG@@1&RavM ؔ{׽#!S33u`H;dRbB-tbt+@*K f  6$.X2'[hCsTfy"*Zb_eix>K{APX|9<-^l8$$I&M!@MwXx'ܯ%=s4 p@Ún@ ]q yTy ;:l/slݖeTM*Il-d& xEXbcuwR)Hi p +O@ /; כ GgזHȌךTJr`dZ:o2,~K* X$sإNumfqŵa:JqGNSwN +*^bU'~Y  he?TnrE˕"/@2x3TC9N*ީo*u*8?UC 6ׇB&XWpORoDwlJ'qFgeE,`Ȏ&rm" `Gs`pt3tq?wcF1HSލӢ`ol*a I(CpGPedpsy.^2ws;vWhZgr/v䷗ǎ3-b7:X< *0Ytt}vb6O";9gg#+66IEiy,~aմ`֟rvQwz_VP {O-')#kpӛ!ҪF@~BYmNץ1[F*&)We5YkhT~^fM3xkψta-yFJm;]MP3f0Ytc-Z{MY)ηqw{?d8Dϥ34.Ld;%Wr1ubDl]Y)ΈܕH`4NuvywMB_юOō3^1[ +?"5ʒa(cKg:;3jBV\/ûFTg16U47흙3FjtU2Hk9Ɇ;}aĬ\-S 4jνP$UӦ`y:ه"3s.?9h if,bl'Յʕ7"9݁ H8)Su;9K8Tgf\ 5+E[FZ K;0;!H7E~Zf W\ k{?(#[mu䵝3,{KlɁ3P _#paO}KQ#r%TPIҜaH. nCV"iό|H)s)m#~ +csi#7}H̻ww;忻#ݯ?{̷o3f|6m̷o3f|6m̷f{Δo}6m (Iwަcz]&Mb&Q p\N6m̷W5杏zcFOֽH+w&yWʾqoy[/lNL+W>F&rM*Y mr#?o3fGQtooFǷ8|q ӿlM7TED.Ŏ>G`I%e=iht: 0P"uvޭBߣd2[ k8_k頛ص7>uA1̷|w2JS炙u G3~Eݴ/íx#|6:% |v ^pLBd&?XS%eT,:8(*3 /fS8Omp6ߗوtY}zqZ# n@Ø<.eԟi7 3K#$Roլɹ_.> M/W*_<ʬZd/sy’gwD{+DzT38*Z# Eo'μ/ 2s#!V^c|=j\yNx5O HȩyC{YEL/ϪG|)3yS$|Y!ўё nU# ạ_Du0񕡨KF%jfE)COQf6ôG6cE+E1̷1 +7o((M*'I^>EX|V=AҸo`dh}^yyo^=]~FA&Q%\ʘn&uvU6oz ^o{eծ0nz8^[<"+dx߳ezq֛1o(7 k aK̶Zm懙¢aLsa )'Bv|7P-+>oad^b8cݐ-ʖ;dxP=l9wZɇkKu9n˭\0s/+H̗kupU)%PxF戼˞Q ޼>z[ڔP=fZۋ"H =,|R0c0Qs@ {VL@5 V՗ۍ>4>;%3&+fԭu72TCn Wo M]to3g +q}{qiy+iY]v#rrgs143xW9T~N7 EJ[QNhE ^rObrWyFF-DvL9!%W>Ӯ}H\D ʽ7i(*)&/.Q|%k$p֡$<.ůϻ^*}瑠JL@QB +{=9'Lo3.4B\F'>0߳+h2Ҵw;pF,J<-5{0CppozHov8='ĻuV߻ȇ_BO+|[:)er_tM>Wp{4eRěa<&Ϗ{⣟H>NCo!,܈BF Qjn5,Cay@jZΛ.*^_whãVƽU%4iaG %X1 W4Z p_ B3vnJĜg9sF8yF\DP|mɈDR~oa?SE/+wUK^S.-FBF$[cY&q}C}?;r&yG?s/5ܞ ` H.no>:}\O38S$ %NzۧGN߰j}tM0rTGnNg࿒RU*>}>m绘{Gd<0m?/$~zApVZ,rh<(5O_̽Mt}zI{~7eǏfg +DG+XчtYccH$B GGMK=sS'8yzGA_}/[tZr1F^H.*E =t?-h(km^Й5}:wi&8i$v=3+j`]K4v ar4?ݬ%BêTtFŗV{l<%qoNkm_5>/_p~LY<>ϑ*w|c>_ѳ< +!gZ)?IpZYŚMo1gBtA-|YRP:ϥ[cՃ5ʃn\=5RY6-'4*}j&]r^ios15i ِ6rg?c}3dx9L& yIm^2 X<.^O5;8WpcJv>(o +sε2!t5P"_+y0]7N/_%|5, Nmf>3aV:UOG{Ʒy0钠[t?Vl4c +jViWCoF0GYOlֳ~P㈾,pY~=K0"HV[hD;ʕ\p͠ᖧP{<^j; `e7ki*')?o }3ogϯᒊ^2du7G}sn.*>Wƴ^rY$W(^{{}xfl') +͕h^wy@WiqRk >+ "*?mf|GOxuoȪKX$}Vrq:k cC}@wъѨ㟛@]<XG &[:]n{/.S*T,GOOX\c3A`B ;_tC2L'3f_mW +~|1[5x_;Qj_{YHZ+sJcBeM·=cscvH^.({" .[#{ͧ+vs/?\yxj?r5sy)rݽ?zgڸArƖʮ{h)8z&1j'h~B(}KxRl1OpV?%c%\}sO'C/檥A_T +H uPKSޯM\Wgf}:/7ʗ)dgцg=$ی9@\A +oStbnS~R*tP)0Froo3fϚ!b9̨A͹.LhZ +c&jE{_ܿC1grS,wU?3ǣТ>Pi i?W3bcPF}{y$a||%+#Ee+g+g+=Ljy*IuF#l3:z*?ho1&in}-Boh=e_Jy*k.4ݾbUn|'wcM_wF⦌&c"B] zƼpk7jC;?>*zbI.K +Xm*ҟ E"u\ 5 +!BKP'?͐A445 +?|C#:V^gZqGgpꞫK##fk%1JV7]7 + Po[l܂uY:xEy..QVBr+qpnu0/JRfۀ^c?"S4A4?χ=x?;㤩|kX+QVu(%&y`}8g\]7Wk8MuםSݮ&p64 +7jl4N}v|?~{ujG)bMIgcc/'kmvXb4&vZ*xhIOY?gې'hzm[Q"ף2׹*"QjqB91{zZGH6\Db~v&ˠq)^nt_cm=)Bd ?_5p00|jcOY:]FOF8~Z>YsVn.f;]iz?V·,uZM_tF>gV~7:i_*4Mi80etVevvb쯻 3[W'K޳ b3r=|Fن|Ldziγo?,U~ ݏ?ĭϟіqxUW=c$B@%h&2 t]g͐&0juRۥSdqQIF]O'J +WS6Si?laY 9g]D=r>tΪU(ZMz^1ЀYz=f6m95" 9twX 3`sK4{\/J߭zyuu{~,lA;i'9qg+Vı s[O6@L BoŊy}tA,p9ˆHct$v{G@e/ˢU;dg̊F  _/.qًK->g&U6 67A!0ĵ9f :v$F¥ZpK,ݕuҐ7 }#aSMN!Fڪ䔺b<{z%؛u(7 TdŷkbM؇xѣRmljO9 s)&cN M 350Ob.Om*61 #ŠY}27>V[TF@8$;6y|?nC~IN6פ`%!VCWsE;X{r>Ujݍoc +"Ɯ  >k +lZT#6Y6ԆM݅ x`ޡ!9ρ(]quӍUyF<2lyWm V֜]0i6zĒ7;Oez̡VT"lͨMDka ( ơ\L_j^wC) x-N@Me*A琄+ç~@ #J?L")14hĜVW?G? +D" 5h!w@&BF-dj [ + #H/8""!4/+FN "* ܯo@=Dy> з +E;H5|(DWޖi"ƛ)" #NFM6+z}%,ma^<$FL`!h1B*AIqrK3 :"$Lq4DcH, HщFYq{m"D,>XQͬ쀹}~b;pz. +kpj^J0>Me}Xd}TgKp]J[145Ń-L2_cVekr8{J,VahCvڸh ȴX7iw-_.0TXFeZ6'ӌʅІ~Eu, + ` @ ~f[ +T.bȰ\"rAQMpraͱkƂņ456q2b@3+c>/3?\y&!M*VD 狣mRѺG5 kwW# (P +0TJs'QnA?npKǃ_3 Ń{z%]^*Kr) +N+T$n4$jg}y:g'jj{5̪8N˺_hF5B0a!;qX?+8|Qsͫa%W6uF']M`;p\Up|S,\฿6iiCΒ7 ˞CnF ;M6cjt$"ͽ`ۘ5'VL݊5<&x exXp +pS=y"u%kۦZr?Sl)~s>bi%q8p޶f 3T%1WlhutSw }-}-i2حeH-WAL|/iUyN< :d8%e\1W%C Fj,]uF+KXfG;׶鉭LȂey=@* U{kjU(mlHxUF,iH^,׀3|_j4sy0 B΃e^(ܗ<^ M{5MIܿҔ @3p MzS g( 5UҸ؀tbUKm/z |67<$ԛJ$ TctRIPV3pР:F͹!bQɅ+ؼ:'V_*og1 gB^q?9 +s-V's@Vɱѓw:?7$;GRIS@/zH4.Z  +aJ8vqoKb_l^>CxJ<-DtQIBLgYDŽZf k8@.+lN@l>=Z/KܹJ0)l aO +^8zj9L xOmkW;{̕)[4ww 2tCc -89KX"ɦHx3dPlbu4/p;H +ش@9W` ؃30+rѓYo}]`p'(j %T/\[YKg@ 9p63mBJ6 !q506"&r:he)+`G`doJJ;!gc;1)W"&=5C 6u<֡]cs@W (Uօ`pVڲ'Fl~{l.fG2`59i\X4}8RPsܔjG7(HPeCU!K ad£BQ=WYaȳY:ɱ5a$H7q#`LC =Xe`qJ)P+=lyШ/wX:V| 䘮9oj`I@+(4h$@3i(j }s؏9@P44f4ul*^>&~!:` sJ(:Bڲ -J.>X@`7QOkyS pmHs`Wo+:6qK$#Wt^ca:!Giuv ~Aǘ@/e`6nd#J@+xiJJ`m 5yM/*yLΧ,\OFz"tbٝ~A+,;X.A= @4RO` ;kp Q+zֵ\_?IW* tUp>L >!U)ΤQRBQHz OuBU:ߘlTځO|ŇfphdkN^[݈[LMuml7^i9ٷoѩm4lW2wINkjuO!o˃o7' ά,G*W\ae4sט԰6ki=I_XIKø )a猩ΊY70ja]fI}I~췖u {LmzG +<+ +]ĭs :ʳ˔ `绱@(ժN.ΦbU߸հ}̍"!`AkqP0~!j+YFB?8b02:5aMSMRǸgAw2bmTWr\K1A݁Dz<ݔ3CdI;SƟ ]DQ‡ڞn_,[R@f#`8RndA ?ʞ%o`H > Fj$WOvUEZ`li7cGcdqSQ?.>6Dm7\ϗ?}b躹tnAvdTVM &40|PiaΣa3˭vSv[ljf63nvf}3*2mXϳ &;]?eAi~{8phPuXX}p|VF\\G +K(CXfAn~-[!Z]fuX;i}lik83?ͦAEe`Xj)e, {bI=-gȹ}N v_<'܎'{ۢ ^fRd~F _.ﯟ +>̦+x&-F犃 ?݁ |^dGw`|yNpxŎC`]syݭw;ˆ:_D}llX%ciZWg`rځ~{t6Qb?Aٜͅi.4eNStzH' l "6iNK px}"BX$HbtW@NA+GEDvIxS#, 69ǣK~ͫNY:L(1Qi $z>F"l~d}d.3뼚f'd:|Npy- 9j7[%Rn -KOԢUE^Sw5$ J 9Vy(Ŧ9{idFp92~Z? + +~ضyؐ</6£wvQa& 7kVbtcxj;$}htՖx7Zm>|ʇ(&,8'%yWcݥI#9wjԁy n%A[Mcs{Ul7Հ9bhMB]qv5`P7?F˾$\fC1X-Y^,2 8"KR봲Yk7*BH&F:t| +r f*0Y v%".EBWvvFð#uxHӅkMfDt +1'ao:4Ҫ?4/ŀ%!j#H7XؓvLa`N0"0Ёx20nYΰoOM>"0Ѥf# + ^WP׽)Z=)Ys(4]t`֬lQBZ2a4jvMPt=? _` ГDDZ5T3S&4I%% KIC&$?\ⴻlO+`z~S_@P 2/+MzD4zqV +\)BHIH7sbӐ4jB + ޺CYdDƤC϶&_ۤ9'z|rc i +ȝʩPH0o^c5Yɬ&YF&) +AkKG6uj0&TƃmҤ ˽!DHM.4!P0vpPzsպJ.fیO +qdNhI!ث +Ue<ط fH[)1F[85>M3j]vYXFap,=LZ{ZM2{=" Yҏ+UR`JmzY,1K$+~z+z`L|)c}*imEYݷJ[/@d nOYи̣$4DI4t{p`f9XI͙#J bm{2} oK}3:3ja%Pk0Z'@3}R7kix7*|y#v0w䁬rGFBZ3k>;/1YCylf D@ETHi6DddubIQp.'\QaDl 52Nz@||w/Cwv%{##v!KovQ0zћ¡-ܝEnvA/ +0Lg!w#;SY~/b:wɱ6{T0ӡ ˜Qdܓ G`MHY2;eED&faFw'D|;@ny āfG|5024mH_~|F-="G؂m=t4xZ_IO>Ӑ9opcrPlJDOqgDAiOfpǿOy=*N{[%g:`KN +pc3tv֭ ehb^Z!-ixyi!vA6@rD + ^݊d@_@'رʍ2jè* D(#"Lˢ&K1_׺v^À23%h=*tMG{>ҍ ܉AAhK7f{7H7rBq)=.nץ(.$N2Ƶtl80K4Vxy(krf9$[EhWDŽ.P<$qaCL>P dqs gr)Qas<_ +^Ϫ@PDn~ > n _[Z(M`rpGpbWQju~c!B{]= +kp k+? +}8p!@ڿ$|> a{||~ș@.% ",/f1$,ljZW>g L` ,MZMFd j%° @[|&c7&Q 3I0n"qR㭩hxj_.26^M4øhU 3!Ws`%ld/(X8Cְd&ib3\U :Baڕ +cTb>K +}/y}}.瓮#$DZk>إIqk>8/I}H.>T']JP'Yr91Nj|ҵ|v-QVBDx1/FƘ\q-oI?xc'lqj-;R@&U@aZ^*}kf{^P +t{E|gst <>&8,iGԘlߓ%vVce\K4bff/&hk^7QW"`_4ewbauN܈VEgR2ńc޳R:N!ˆq"v KUr%("π)IZy|SB.21_1_-E*PwjnxYEFO2+n&K7Z|3&}eS"1&qI)wLwRI-#fߘ(z&7-Y%{CE +f+_ Jj6IOChޑ']'}ge`uiʼWj<̓L}_erweT1I/TqSi]*Q ] HN(ROCPPv!y_:?qm~H樿I,o3ZW#Sv?44>ݏR:c6 UcHERYdkwXU`bݷ;:77ꌷ./X'Ff7۾M;aZ!VET$ H֭^$ Hk,;6`_ҙ(W'"]GH +(Oxm^K4iZy=OOKMr (<' 3&~G5W(?`ʷeƀ< Bs_+YAT f'VzF!:2irzM>U¥drE!/;yOBL>!7H+}Oǝ>*:[^)ぺ9=\']>w h\'lg޿OHPLw Oy>!rTw-({OaPUpH-6YD<)f="k\)b˞y&C;/ʣ5/7`KL?Qa׾}ɫ铕sq'zڇ9mv$ZwBBڼl»O^{;Mz!Ƚ-cqtٓ rxxKaA4jdPC43Cd;B4ɍ$A: y -@K`Eg!V+Q}jXNT+~~T+Mft&5)|={-JbdNc+"(7e+4Yվ/վmouBhoLp>DYڰMmmtަlKbY۳=1W/nA寲N9%FI<,_ +j-ƒ^1(zk @v&P9=jFī[BXXg؏ %/=Z=5˴W/OF;ȳyG߿Q6JNu3}>vXzQ~DM\վ}6U)tmŎ:mN4J&'荗zKi*Z H>WHE+PT#BT*ƛY nZ*9TPo59Tiq2keKZklO9TЎ?m{*MN}%%4YYB(V@ۄYhȾyOC05%ު&BxomU f|~'nYNQ}I~9T-.#tBX{հ-drA,bB >JoS&|'N=OʩhFlq[ݶHeNtm< + +JbZSN]&36/ZtACʭ;k֡_ fvQ:CiB¿L|23]]:Nbk6M5WwE&n 1rW?՘5w¤Dl8ê>&U qw2A :}CWgΐqw[P&f&C9`԰ˏ N40rD7y<ѕ 빑@ǘ, <#VvNuTUzzkLiJ|WU猉U!@YĵJFm]u:@YCV _*$#xm?<^#!Mɯ4)"Vɟ&7*zhy*f!"ړ%r/TU(/$Qn=DL2S%r w%~Born+I[|I"CRi z$Qn="cI?U(2zDNܓ^oV!I+ +ٳlVx~iVqI{+j +?-/YY`~JB-:,J*ŻJU /gu;dy 퐖GtX{ttCau;%ڣ _urxᕘBCF u;|>EP-O^kx(1& tC冇iimx(͝plx(Oy!{5o@+O4<>+ēlx(}VEHnźp XK\K(9,Es *}•ErL󞡍Rip<,93YZZkR +٪),8-xxziďqkzSqw4uOH cu\ax x˜3|9WȴZp7ُfLjڿ vwxߧhD4*6w3u:3?%Pi^6fC?/ CСZx.n瓬5VWNO{:{]nBS?|JB'@'?&4uhǢ9/j6BtR;JFVN\mw.T1Y\Uq5?0!C^}[U)( +J VeM8!J ;uY MR'1Z.lrpr]J6>.4Z[1G +._Tk3=ݏWlG 5CJO`Υ ?jie\0ap!ePlZs4W"ٓ9!#!lpuOJLI{ ভ}ŵLf,Z*]ϦOb7B֍*h{ s#ԍ 0FhRem~t@x׶TkD_30PDoL,@ +YHcN[[ڝïvM/GT&Veׄ0l&P +NIp'\6nk[3v?4N7ѧD}u۸Zn +dwymtԓ_.iܘ4ILi<mG`pplB8{lhihmPM ks_e֦[w4Ʊ XЙhWD %3Q}}HiNzDkVc-v عJ kH#CFhY%0o!H +ΆGq]Cg`"eOqͼ3~0)ĘAC}Q1(!Ř>GB9e!dMLu+G[f9)1-{Eam-bV C1 B:_(z^/{-C AH *Ѭi:ߓ>#EW-ƖOs8$O 8M`?ilbPjiOy0kf\,g@Ƞ]]nA_a +7/8I>A_6_ZM~{#2qQ7Y`nm@JTHXS #;gc| 5w +|-E22R)g&V^"02ַTzDuTu8V` A%31!0/oN.!}Q. #fV2Ӑ-Z6`9Qn3PRґ)l\$TR-$[V8сO]yj/c5ԉ`뻮쁯-J\wԧ)h"0)L}cgCA or6[FJZIcef~vifB̥olQ-4Q3!O˟f8KOUovg52(rM@nBEkbgy{8dx F? $dtKP;L)tMXaڕ`cBŊŢ\ybBmBP[De8LV A1H(: 脪4KtB]U#љ09U˪u1͕o@? ӒYx1x,oI=L['eQX86E[JC9+)eBDn-UzH)wM-h?fRSQE)M Xd$eo,XEL, d;s 8H&5%ߒ}D,=/ob"'M0=0JL}LǶTtO]MVUk;8qWRWa۸R6) j"dUDd0bwZH]k,dn $A4ҏt'vLD&"U'h /x y>>*4l" I`8AU*p (HyL4Hdf!ZD]^,G*'̏u/BMLz ze"~ZHoy(-=g@M.1to"ؼb +ND&5oC_t@73hݓz4?G?A UNj5N; qNяZ_4RYw:1N #o064 =WV9@N #o|/lA(U4/T%H)ڭtReT{(T{>W~.G cl[xh}2 aG`#?,t 4EhG~(Xy-<`|?i {"xr_B}D2Ll:XD%LNȣ5mH4 LdozN.JdEeyt%ARy= w4c ); .Kz@bˏ=Ǎg_f~].Т?mXb \VO?*I<=O>`Lxҡ8tg i "v1r7>mfOY?Kl>M-f3;='yK|iv]}fX>//|F=y|Ӹk1#Oňɖ =fBS]Nev?w@$wfAgB4Zjjeqs9ev>?>#1~ +endstream endobj 23 0 obj <>stream +%AI12_CompressedDataxkɑ%TDK;h dv[݂~AbQ%XdRׯcnޛ$)z Dƍ_Փœt]}g޼O_ի~_un~|UoO?G?_|ϯo_?W#n_OƟ _-?׫g_/$b3< oo^o^z31<~1?쉛q8;ᘎ8|\x<OovMvnv=ooonuwpg +]僚nw?{G + {Þ?Lw|撗qyYuYq]ku\u^u]oz\o׻Mw 7&ߌ7|ܬ777_<=t0!ta=QÞxzvD|[{$tn]zj!<%&ш.?ua8N<.:ތh7>~4i intٺÜ<42|wӥ[eXҒcO>֎;nXX혞vd;7m;w7om7ζ''ۙ|lc{۷^i{lۮ>6]^Iw=1ҭMg[;v6O}?afp?F%/?c[{6AȃQ`T5 F`0<rXB=> #u1myw,g$0c ߎL?@h H$4ԾȶOy<&s9k9nttqwgٓ<ՍnH#xڪquntLJٯur=Oyȇ\Op/.5t1ͣr}yv7aà ugbm/ܱ1aj\g}*wfzW/LuG{_jO_I/~UOtz5&ufOi[*6U]yy[οa}W=rg߾r +sgmZF76c,Gx_oMQxyҁBt_?ԄVXy,yLV 3,}Z-tçnO`OG? W:Q ᩎq㠃:&yUGɫ7~rc+\_wEδh7Ǜ|嗤sᬏu׃NLGSqt ~#8SP6p*PpfIC1M0pTeu` sƼ;1;t>Ćh96%>,Υ p]>1is32kVi;)p֫!!/Bbbv| ΣI9 ф/K 9 GfR>o&ex>fRw)q)s|ʭ8xt¸G5xZ"#] )pWBwFxcC3'/"M:>2BZyptm=Hx c3u3kT! }]ZϻVj94ǽ^Rpxz鸤/qC?w8XvR1=39{rrss8CT5հq1\.?oğ)/eZWn~[rWfҦxRyz=u|^g^.v`- Px^4px)= +s /*r6EQ{R(vrZȒG7$Z-|ܖ>yWGyS\ۖ@^,܂QE2ؔA ՈL6 Pe-XZK[B&e{uBc!m qXN|Ò M.\9\Q`S0p؂46fT=M2fxS ioLMt91ʰVeɠ(`TЗD.?rhj#w&jfkOP"NYvsy| \e[CZ=q9Nw;6GڸW|9=`%3pٗb![;f3bruuRy鉹Z!Nӵo\b<R?qf g̳ a8xkse{p +0#{EMצ%#.\y!uΧם2yCz\h4$R0H4=mۦ])#t fzԲQA1_4TJ7+@? d/8M/}`VIkN$OVq@"?=8Yy7tLl9*32BDsS*Yw[ANo\6 +3i\;b< nl$%4<҄E?5?ћrkBZxy̅=K-~' +qBv›ptxOZ8ğC9Lis[Nj3ӑj=]3OO< {x~H5q駙}8ket?h1τ6vbd|wj8{]j 7'cucyq\Es*UDs_$UDr|"rUD>W}"\EK8]Ϲ>5ΩAoqn\։PaPcF]E-6+cXfeMWL7mngEWZC}.0` )-8ˬrm(=efhXDس ~4$kԿO*9:*tzgO[9c~ZAPҞZ*R?MsQQ) ݞJA0# + 44t!poX_Ph'ntlݚmؙz1{9*T_fTNS)S҄@C'qJbƠZ;n%F-7yp}и9d/^syЌl -퉻̦.qvN#F[ +('̿S[qJfwcieaAO)zRdRN|GSԩGOjӦ;9i4Zn{եƶ0ﭷ8o7ɘ5sަeə 74͚ILݼO~_>c&/Tn1iW?Dz3d=A=ē?7!m{>yA%P=$D!ev`pq[pDuZ(/(Ѽgۺ'nPڢٶٶ)-yJCOۂgz\MsZ$7y_MZn{Þ?쉷zaOYc/t9W2N0#2mvy=OT{L2װR6s̻v=g/=au5tiXsO_gW6uZT'p$1y_wU)W܃>q5w/?`(--uk)UOؕZc#\J a.Ճ]_k9]y6pۿ#O? \/y/BUoqWМCgG~r^yퟮ~'7o^]gev7o:c9/_/|?`w89{e6-_ģ v<25-52\=筦,dAۍ&8'{dyllM̸O,Mg>t54.-OHFjz.т-ɪ7N.)͋ج ,;9623NFтI2.8FmLWyZAC^- Zc@c7؎@ mPO}2ۙt?ևu0Z1mFс )u+f78/Ɍ\f+-=$+߹Amy퉫w&޼Vouq^ٻ/gwo~뿅@4߾gW6_I:܄+ A._G?_;/Bn"}M+N2udo%%f6Fk u6 术&b4iei] bDrB dOu7&, _M6Ah15iכ[3E +_cG`SmٶY3j 8e0D|{/ )n7H*n!%U&#bHM 1!\ޖ)^yCO0ufؠM.sL\_#2Rgבg4qϳٕ*n3^:.<'{bu1~~sg?3o`Hk "pmo7ebE%) BYe&6Ɓ 1Oh^-?M; +}q?[%S~ޖmoWM +&ֆLYɓ16W"Sbkg 7d)ۍ`'eMa8᧮x=& (D'`ApYhp˺5]`< ټEgc0#T8|zM_t#zcCm͟VPq,B,o3KO`MzAdaC҂zLi)Vk-6 +*-՘KP38naŒ]ǎcnmG>{Ob-=y4!@ +gaڲ$* T_ʠ`Cxol1{8BLB[%-L_y -?꼡&:;[A+g an\u.`J? lg/9o,"1/\UwO@7ԣxqsKWu1vvo\*oOl5Snc8V-&.f89Y`˜X8@ +EV ]vx(u1{oC!6`Ĭ*8)As + +!${c<3֋ۏ. +qëMMa7i Sb;`* >|԰t6J;.De'?G!Ǒֹ[+c顥 ra@1xxT./g:1EpzA|Al;W 'PdUp u*6u ߇#Co1" V`eMW4ۚH$Xr"ΐmXi.2Qwe%+Bⴇ[b n* CXaי!y oJl=Y׷B 'L1d";xړRzt3%)t'P VZCu3@4)/Z|B?֣KH.TMN("@h\g:]2R\t͹c@ U7IږJ3 n\T~OJylTx Uߨߝ6a q2pqav .T0=2 C}*`٥2tҡd=ك,¾BX0vd6ta IgC2#LԽb"¾ +' *CX|ب8d1vko-x,~1&K<dQu[^,"ܫmm`[)=UEs/`3(A? H׍8$:0l5uvb>:ccCJ!J0JY lj.xX=Ӽ—S?!|>og(fD#MZ TAPijSmu'b bN(_]K.(vȅ]%/vR{:6vφ-T?iI #kÊ_6X\bkrO`1p+Ke<79]\-[ !/2\96?rKN_Phʗ̓ǿ + H*v IC+VBiz:4HP>n̹3[gsFI{RUSFI:[O5ʝBTKJba6Nդ*`8aZYqA׊J!FWW(RJ+ٚ},b2]"+FA Rl7%EeQ)J5K}pl8[cOkYp@xk`UL]֪bY SzT8(. h <.7irmoހ)m`W_p(ܤ/>D'[q ë1-Er]O2SX\)Jqg>*7y.A+q1\w/SQUg8ap ~s!Y'$.UʤIX +qT MjH<||]Z}c~;v1|uk70^e{7ҙRxy!3aQ+:RևN\(D3za >lO [r3g5f'A}9;,r: VI<gs] ҆t zg!`q-lO}ِB%zYYX-a' oI홙jA4raRr=t$KT'B;zе's >JKqz4fd4e,ŝ$j%c7Na :yg&n;5K/K~qqh_ TV d1@3f,9lVtj P@@س"nMUу}1I&بS㇚;Mɓ2]5!Pc) )Y疋XJG,ToIPeD}AaAFEOmU$I6i43\7V,fxY_w/{5ўCZlଦz[ +LaZWjQ+]An\qڃQ +Uj+wQ抺g}e|X~[:=!*sYbQ:rvS䊡t+F0dNOS: :D(r"amnk\M/qōfu#Ը:ƇMq6EXH]E,zE@}rCVNׇ>:Ƽb.y*5TȑSAO(gavm1-n)̵/elNi2%\>yMTαuU"\O([h @O  -- P Ka)JB@f  x%'P(7S@댖(  ~`X(zeQE l"!P0c/` d-ӹp@@VW&P pBqHؠ1ODݐ6(Ck'%? H<O,2y?! - Fs8]*B_[h1,@C~q@H3Bf%8$[ЏHle Eˌ[ -[x7[Ї\M@&-0l[[UU^[ee0@agx @Kﮭ[}' H``RKނGz vҥ" ^}"\=;q-xgFOľ*Up7_NFէqS30RCo|R"#Qlͦ&IE䙧&W45P{ ,/(`55W?Q ,[\)¿ ,ՙQ)S#=I2TFZ8Q6o ؠSt +GOC:8%rr9J)#ȫsY +)΃QQu̻Z@٨CU=7"j)8B[cyqQ q2ux4[J5.Cm!X@1DSYϺ†\Blǿ ԍrZ@Q^<9Vԟƿ*8&yTMQ,>3;]Jq-sҒ\f*rs)d)X:.RAYv0—~8ب2 2᝼'-WF> 5jSɈ =8]QCMCTYCw)gI ن4G,3zxc(l֍r|A2sLp`0bQ"mڱ{w<2*㇀kMIGvYTS)ڧ_DVJ2M9j`x GC;$#̅N'5^ $iwF `ǗB+Pۅ/0B?li3mA'h!g*iцk "]`Q^@}K`L+F +Air:e'4'H-xiWncy?nԪCa;*>ePAL-%"IAd ]g%ހO{]Sf0LmlE@4UJaA%l1t OLzj9X;Ći}8K(s4JM+Z5" 5= +zFȈשKmktkedaCLȾME~LA@מUSP°aI'WKv>rj n)"G"[>JuQ.Ȟ~x= ڃeuP>"=ėG!&y(XQ ,F["RVL$Z(6KTDTRhJzTLjj +U7T֨5e$(vVmK|7UTXС0U<gp +RU( +^jC`* *žUg(Ի:vrEwߕ-~_ABWt1:bG:(5ff)2jT-㧭0TWV[^,2Ŧ:vvm?UƇ#07U/T2\~ٷB&p`PndP r@6w4o d 䠚P4 tE^MZ'rka:ӾU5pO[#O*$4u•_|Σݪ.*jGJɅe8v4|m ɵF;m, ۣ,9܉eWcs2Gu_aCTL^Ֆ*(mOq[6+wر<…_oru Ou M[ǫ +$\$G^SN*Tùb R "(Q^촌qTu$ 4M=:P^BzazvPEH^Ba᪪bFD +}5j IUj%* +IVNv5*b% ^P1l%eM(|Z +s:Q$T"jCy֬RW"2n8Ee)bЭX 2ٲ?nTez5ޘƐ3\dCsJaf s6k|`U8T}G'  w@ptR؀"LY7hw ?@_DٺKtUS6X Wo};LNYSs'8N K ;+@5!E@lGZu/ۿ)ژ s_~ 7o+5YQ__B}A |vJ9e= :Y6RaC'qY|' ^ƷǺYZ0]pTC4D>Do\*~Vv*>H*@JHse!P`Q5@ p8m Y]%hAKiwv,chv0za_,ފh4! 0}T pEȚOMQL9ACGyUN07lVi*E".UrFR[.[cXyMV^'E|}eSd_uQ_?uF ,P6pu(;P) >*mB%5A +"_nQDߺ*ҾO{J+NC~vfB;]%Nx_E+|]I+-xBhG\RvHwhX:iٟ1> a_0 b9)>[kqa: +tTz$Y鶬g jJoO娯%,p[ĴB&tD1^^ɶ˸EZQJtgzih)s\+I+"bl}aFH dP"(]¿=,5_8)kZցmuU>)t+j:(M q(6S֫J3涩\%u .hS/]W^Qd{k!6N/ݶ)дiM.k=g,ŋ~ HѧJ@.PC@rmNB ɅBb ˄Ta2K@.ڼ3\t@@r@>a2m#!5\ C u $ (%H."BraWD ћVЁx 1-  ¯,,\8.˅X,ɪ@,\N\b,kiKAx/?`zbsp2\;=˅e.Hwe r-L3A_7ϟ/߼{f}`e?$Z  +S&$SF-Nhsi9@1(L0">~;c.;> + meEkB +U'}aht'uBܙ[#jQtm>.XHp =A&vCp3rB/heѣU]=!arh#0A`NY[Bj.g{*+މ uN ,QG˝@~^AI#N䒟< <D"jg2IO@Z2}\*g( 0X@ 3z"q@RF!ue=:]*mnfD~:! 8;6CS5ŝ7DuV<*P8x,Q%[Ij6 DZ)!;_*vyBUrP kq"S A1 zдB>2qGzf@O!_~Dg’*}B'kf>!:K뀵7d;`} Xsٞ#ґs?a;?SYU@8 >:$$3c@t# +$Gu9HCXMM +Pr@g|r!!R,zGD;˭: ˡ4`zstnH'Zxv"T[6gVTg.j=AaѢ"1sew˥Eb oJQ 4 sգF껨)8 FӐw*!̪u]Ǿ=$XCE4Α"BXb'$}eYτ*C|ME0' +0#YMXy2]Zf[˂xSeA +z`ً+D+e V/}iQI6,VɵM6f.Z@ITc.[`_hGmdV|i = ¨9PB"tDF^}?[!ҕ8a\$ RGk=d<.J [RX[2D1]]g1Jl´ZKU7Oa:Ӽ>AݱdIQ5ujfUb]N5 ӺhCvD]DmdV)2ZhqO>֚ lWk[zn.r}h{z.HNLvkQmwl ֦y-T=1KC ƫ~'.&-W7A5PgBɘ2ZJj%7Q"P [QN(Vj)Y_4JA=ڃSJPVQK, ̉%4)lU.5FOo*z"*PF2%i[wP9̤jѪa4*XW[-ZMZnTru|mu *Z +P\P/ZWڶ&ʔQ\;XEj+Iyeaokѯl65.VzƟ ò#է58n,hZAY,ZV7f卥ms6Z;4(5}MJhr?Ԏ xdK_PڱO-!]c9yND6 %*,q4m6CF:(bӱ28Ͱ݁q8Q3RcM 8jۍQ >krۃBfnj6!:2Dt":\pgv3(R(wCTqeJ%kz NI c43%H܌:D ,zkp~!3󵗹*: Rf3Bֽԭz3 +z l6p f]#H)Ϩ,:HE{insiyE)'hobcI[U3:3m[$ [&#J5pO;V='€X\>V+sjXdRK8;~S03"1v"f{YR J +-y{|ʛ6_CDzϑL eB,Dޕ ϡ2 P&_  rj~)MW1cj'x4K3]JyꚇgNt!ޞO&QÖla} =PVOS{Jnvrn7j%2n9s#B]ɫ,&s W\[v+ϸr,^xɂpK\ȵ/rlb@ +HR%"BOV8*!)`$"HVD[zQ"#BVPHjbIg4*tQPWf)&V/t`k;ITNjz>ȟ TQFUQڮ"҈l5g8b+*5L}]U) +JW5Ε5onf7 +D"ֲՖUwk~)N.;M0qoM>Ee*z/QaЬT YYJA\N AβYֹAfFWgiԂuW jf-O^eQǖoC}ҶD=OQR/ M}XxqK]gm-OSFkVuÿLKʴi _z_o^;';!vEm]V:s'`jիP˪xLY.c_}O?r;mo(> xN.6%3/quѨ>J'+Kid8%p<}FSFͅ1>?!A 5jiW7v}v[՚[;ii>W}:B'!5O \* nsf%--lzZxϛC= a٤2Pg띌(=lYvNKmZvXpr#6q!hEݝf8ѐg2:BΌ1F^t \3LMc4K캾' ]}QT؎T"/9^Xz+g^BwFZrW9f#GkgY5iIݭTXwuih hM͹Ej3=xr}r7>9(B?ؼF !Θk3z]J{c(SϮ "&ĊB KOœj4uBBqmHt1y(ZԘ`i0"nT2@²6ҾT{n~l36[=fn+E &rVi*+_ZGFCEMa'7bH4r /kʥ%|D@4p:8 GQ 8p c_B]n"el u{@w /,;ah+ %p g Kv\ n3!mC$Kvy> yJ \lq#JȞV6t\ )|nHzW1":xZ2fHDg;Rp ;dUpg^ RkBm].kf] %+}X 1Vc܋M3i&7T:l6,!h=<#knCX<{NO* /N^ s ~^{݋3ࠁ>N^ +c^0N=zC-E͌aʱAĺ%,Ec6AJ yZhnj3J &h bF V  +XͥIF\wƓJ h_Z4ÏػuBŶ,Zq6zvEZ(nMͅsÀ%X% GnIu]Tӎ&uGsՇyyXp`xyL0b*VcA2VAK_{]Qd{g[\d KEmM[1[+bbl3Q. Hf +p Bt.SH=p8cb2n"V/5GN daJ.b :}})eqA,X1 +3;Hо+·by\J4!ʧVvtVO,8nFiv5FVdv`̔ke9($4vϤ Ad/;~-.c]$ώ}2.c_hٶ69ٖ39=Jm/?`:B<Do^Ǿ}?2ʹ;|vu:vްIp9$xZTӴyD4@ ;<4L9oWR rwL +)-seJom.iÔ  , FÔ⺪Li-m+SWxZvLCLaJ|D$ yz9x~cz/=}|?-Ap8|$0 XbL@O<{.lR*WfV}yGTv8clP#@]lCRIx☎ŇeĆyfR#Ow3Fp`>C@%ʳ\/qvt^yF*kPr*Cp !h=D`fѲ\I'%'hSf^I{BhKGd\?Z]M}gW6A々Ab +3xհ/9":~Vvk GVZ?mVʬy7=}@'x@`üӭ=`35Ö+UB6(&H#$ aAco *NxX^%504oN2!y+XuvH  c? + zbf ?}YpC + pץc± xsTFNcL5%fY1S >2l+(sש`QU6t {˃au"+o- 0GezkKyՌ%7g(粁!#Kvs+aMr<._#; L-rf +dHoU%1AF vԑ@icy `9g#`1`PI[i a4)1]i $&UAph/W4 #T@`!Q影U̽c۫%1Q W q r֞'0zEe#̦aoa[Lǹb6{F8@ӆdJay|yѱEgT1&NgRyс!u|pMC5r0:E_= F.zFxSªq틹D'_qEZF[ +noM-5qqL\>l~(ƅןYa9-[d2h3K\1W{ p .hkAi l)G_,,F.ۃ,?+V.<"#,$\6 IT q/hEԊrVzǘ{ Ek,:ye3ҍ8/[}j`fT@lqB!yG [ꙕ RA#wk).)b[a~{^$cFZ%X=ܻ‡f,Ɨ/lxo߇V(شq. +7D[%z1;_lb /+躄μʊT`Sk:J>y7ܜM hE虜vσ5ejxcQdsE)jZ\[sǐ8ω 6uBy'JѿºA>c#l;wRt) +澯Sd{)S E#cݜ0&x*: "]t|,!ܪƯ$QJgW괆r^6GwJei:2IF1eZS A'X\ N NtWz<4]_4|BEPEn-E"]Z_4Hs >BV0W0S{ 9Cn&#{ǎgG0ϕ–Nt`M5cTװo3n5\a]BeX*1xk{qt+1iVR}>N[ &5VɅdmBHȔ E4`+Bj_a[ E%tnAi'$w2)SlH\V2ëFYdD t( pMpzQnSy̙ڣҏ{:rPO]ukz!H=!Vs"=^嫺"0߭RG:OJ?!ǔVMWvT┄V nATV}snZ̉f&tq eXPgKY0in,l#B"VcjL'NWɴF)h2 Y+[ X]U +wn9V=|s" ZOA< (R@vȯ;JO9H)gvm99s3B]ɳ,&t;[lT~߆\|Y.tn[&/|˱ H)` QM4< xT$CrTю*k#* +eO$aF3(#BVQ(4L:=Ө=E?TtTUUK13m + +p H]QkDQ*kOڧ*(58{tQlU ݺ@Cҭ^c׸k϶Ɓ"앥pc(z,Em"ݚ@5`R j=UߍUa).#NSh^Va ߇XY/ [& Z ö!\SJ9 9(^v7A9013cQ)f,a WP@!>N ! 0bΞ~ . /<%5,𦠓ZK03aéo gvxgp3) WqY)V]jeuaãV?n/|[wk򾍝N8w30LL\8Sȩz!*(+ +p+V/\]%}:Rgʤ;Nt;'߸z=y&3tr|xlrxz{=ky<)|JΩ)atP+KC|~2 lؑց!1P_](хH¦`o^X(>,!:<]X?鷞RF"ԯmOq86\7@DuQ<$'řx$7ӊQ@P&(^W*u2~Qܲ +5T7u BF|g469P U z;Cqa^t݊bJW9B(IC4gbMeb,h}EHehvPbET|l a)tF.݅zX.z[P\QY} +ƶC卪Py*1jycSFUbQ*ol+1TިJ 76nJӯ8SVbQ*nT%r 7#UƶëUFXPub U7nT1UƶC卵#k1F7Qިb 7Cm1UQqfe_.vLӻ <.yY_z/TMg1Qan!"v(@d 6+w:ڸ@Ϛ PWdBYq)wX! /4@}gP) b4H |]0@H<~ PMsy,= +i69CC92{.sv$  dke_<#rtt3{qy}ZKSSpaW%UG v%x] E*Qĭ +J +0̪") )*HJ0SbhfjRx-B +`QzgwfϾ}ԧª]Ǽ=Q>xU??Uu +;Ȉ %NKi#~"FtEbDOWĈ?C?Cz&l#?-O 2B-d!iAF4@Fs{aO"Z({Mh$^f{Ʈ; '{KCh";>EǁF]c d5uŀ(b8o3{odMl!qݸqyr9E0Cp*pBd ]&rOb}cvGRD)!:L=dd3n*BwQ@K2~}u'T\<>!PaICxNc;&bpQLY4u5&1a$ +o6IDQPyjNԘ8AYiv- |~sF!u~(b.K8ը@?"2u"=KtԾS&"KEM[2鍝U/VdV ]erA X07;13re1! /A+_j"Ra7z{k>>\:lwW1wVB#b8`H{?uZ7&Ѝ@35{Z*)ulQR(oWߪzfGkJS%{͊/%@8+[̶F;gfK/zs&_qS6iS]1 m.}mTrF#.SN./_kOr =_3|>sӐ_' ݭUJcҎO]sU_h*_o:/g$^mx[f;;J| +^s7pm$b4ӳ"~z"*Oq]'õUERV(< LӋbUA36f$-wv5KoYa#J*DHU{5*`x:{7 gA&˘]j̫ύ&*W~eЄ7J&ձY׶tuzzƭղ9)V*.N@>8]Xjh%ss*+w+,9O#66s?UuRikQ}7 ]_4:K4>,-[ӜǬ^ 35FkTZ}je2,#5xJ cJa?4%y?{֞zNoQfBڑ˷J"r|i1|*TdB>M0D>c҆g3M6}RM~Ll"4SsN>.mmv55P)NJbw"sOEXCvI2ui5"L +Kimk:ɱdn^;V?%Z`ӑ -%7z^3y]7'!#S_uZF>1]^~ybZ-5U$mΖob('~xmNg!vTJmF.ySwz#aPM<ʶHʤ^*-+R-T.=2U(Ԗo\Ӯr]cefU2kG8t?~xaUeL%"j3Y2x,g!5J~n`G_3κ?`S@ UZyJ,dpo T\kk˾Cq7;Z +ϛ$Κbv+a63qŽ=sz<Ƹ/WRZ`\)VB}1hn^ƈt b`KrޜƘnZs5sMoy;^w<^[]R{BFzz>v1nnxdns&4GyʘJOk>εy Z0cb@R+?unAӤzy'o_Cbdc^fL>qoa3czߘ蜏U@Y8 +9VZZSk,=h;՗'u:U&boˣuEJO]/:+"MHU൱bk,Zڧ}疨Yގ7?ZM}M t|ÉaO&j}7H4sEI co{k45q~BwhR0CR)ռ~&}ǚP8i(f[K5ֶZbsɎ]l0ݬ /x;c#)5{myMm6+H܏S<(ӹoH@[{~֮1F`SҺ(jj'Y\k!$IwIF;6=Fd|XZ귦9//6'DdR1gKzt!SAEFk<qa1"7dDnrg/߃%Ze1^K3%fALsȠjN-}3PDis@neS^sfqNg GD!뜫3] ԟ\2ȗzMs]M Xc@] 3 ffƢ鈷7cXPc}܅fJV3QQHP6Hi*"/Z.,8D4F\h܍V"LF$*AƪaV>Ԍ|gzc\"y(t}_Zw[47~ ̔hnTm$bdM|}6 g`~~ +@ʈxo:qGwyy8tEI44PHh;3%&(2?q Wmkrhŏa'jHPIn:8{o󨣅2UÞI0}ce:0Q~ocRe_Z}KDpR*RToDӷE7g¢o G~z_9WnT3RHaO/?Nf4eRv?kۭ"I=s +haXOd:WUjɉqq*/_^uL6臵{`?E|A'|tsj,K{=0_[uZ94"BL1U(ɛR!ܒèG0`|+ۼ<͝+_ZqKTM"o[盈F[(Br\ sAPx +rJ?]n> c6爤 N!왏1>`|X0[󽊫7/?зrޑ|PooN r'Q}9gœi-G^EE9Qp{N8Gq^P~y&8Hi"bǬo6AU2kU@!t'Y$ .Uo^&\TǬh |f_˔qhͷl=)nN/y}>xᔚ" ҭ +Y3h6PVq8Ƿז:_ +FkLϺ2^%k6]4H޻Hѫy$-&/.EDnE8tnTzҬLFkYiAE5N_2U}miy,ł}_ʳVV_}{֯j,yuWGFg|oPa)^%!zkR $9|=~&ueD;0m֮d) j~ sT&^%1C$b}~I r7t,&jw V{}< NSǭ_IMLxяXAxT|ԏ.ikjDT(J 9,J(/5iFD]} |?Nh4h4/*-D3ۅv{k#rƤ״77i.W^URmw*qp]O {?K}u&ޛq[voc ! +b.L^2QZ՚fs٪_Oc>nFd7& qx8l<GvJ:}c|T ז#2?n1K7m-kaz;~c?\__?o_~_3yhj hB?~շO~?`σW~_ۿc_Mq_|_Ͽ/o߿?~?M~8w]93__绳KnwZ^ɟo?Opß~M7/~/W?[o$<jYl-Xm^f]ܩ͟*o_O9'C~~/S?@h{D9A?[FyMe_K-Eh,IP?<_úiA/t_zL!Er*8ҨΤF5DdBn;FqV!q* 6# +X+xMeɾԯӪXpnQڡJ]B4լvA -H.c|}jqy#lf-;mgc3MXx^oYfQ[ҨÃyhF/̮6,QuۇE +5\ jlYDo; nc#LBχe;qO)ݣ"EMao{ m$y) .T% v&V +hZ*ER0zT+"H,4ɣ,$`͏?a*pEJwf&\V⧆Y"JL&a%ۈ< }`J*U77)e]Jt\Yث+YN.찘 +Vb,'YQh"1xMj{+ r*y3ݻz39==ة1 +Lx%'(U=aQkS<皡LS.*"lK.>*J%ʹh)U`Qe1`U :!?O־6vP( :䵝ڌ)&;SYPG WoL?2Aƈ)!65 lB3)NЛUE]=DLoҙn}GF|:?2.VzpIأvYV]"Ysƪt0UyT#NUʎb2ܧ'Mz5naFw8^㮫!CM/aIaAn]e\'ܰ#sߑ:LDVH_78Ҕ; o~v@N2O;29c7*UClTm?SO"#T!j%x듯#a-+9-ݴTWv6Ꙉ8Gҋ|3 VT녤0OX`0\sɓuT[iOTiLcN@ĻI{[P)bΎP2 %w,c* V^] iNwt)/Eg5!׬BLet? ,B|<*T۪:lg;7 IҧȞ{q ~HerdX5PqGw-s ujy+ ,P$ &'# ?vȎrp(,v&mvrmvj7k%Hx8Xpn_WuM2//KbI-$@9tH@NùXj/𤋮@Y6v +&e/(F vk158z2ս&kŠH޵32vο0-8 kڦ<&a-s, to$P\Gx[&ghtyj)6 U׿\VIlp[L8iqV5.u5+/MX|C`lx@PzI}M|:]NvՇ!\䰲Pki}Zynq] _$Yʻ-ͥ$w]nJͪ/MJmcmNPDѷ[@ OtgҖ@ƁXY՜:w'H0#(aw7䣯ٽފpYX%jnʻVĀGܵ ;!2YZtQ~:C$rNc5I6 Zyi V愢ԅK\RYF20;d QUU5GnuV2p 0X#m\t, Vkprwk:o^oAu6埻ŷ+ҦN_#_ZΉ$|Al)"ܺy3^XQj:.zG4foSWER}뫵Ncؖ` ޤ@xb,/S7q"@}W@N5ؘ…LmӅ1NŰ&I7(J6+X^׃fU[Jy|b5ڴq]B`Jc?'-~S\m:{(@\Zvq?Z&oEU~m E%׹Ud ;|V'`VH,RuOr yCgy1feTVXFq-튑Ccȗ+fG站ZiŌIטbU3TgOz˒Ia<6>I,{?,c)sSZ "?t7:qdQ NDy t;G&nߪBbC#?K[ڞ(_SLDb"icr\FU$(-~7er䱬{y3%0# awA oOm{٭jqX$^2nZf&$po{jϘ,ex0ئF#L.VG"?bXgJ MdLe֝kq jh#qR/r]ױ[lia]DUJH"65◻٬>xxBS. {t-."O-̊hh;YQUfzHW8^u/mXrE{xEU"遴GwG3oIiԔգGn\QX 7!V3l#ryHUd9]AXwUt}'2zJ +sM,447YVg(*`Ia݃a |G:.G\묙k4qjbA{w#wJ˼jMJUlkшQ'gzYD^~0U.嗌X`9̇bkab YR bWu{hDjRV$lيi>@fG>jq~&1殷5Bm]c1Ω]&dJ 'jr?/ eQ1OO#-XnUwSuO9õW[F(eS;|`Yfi+RδU%xayoꨗ7vb+$ zZMY2<@|ۄhȌ-uh]X#bguB2Uܾ/#N41]jRPkim }$=fϸ!׾↲},Wݠ&1ӝ*~N)L} "ȑɧճ ݜi 7e$rY?S+Y@Dpn,pV̴{r.ZĎ|]22KdW[1+w[H >_MfHX5ϰgMn pW!;a;I}}4i46wjthqrȚ[z} .yKB`Y[C&,Rԃ!i_TlE#Iʓ%+VE%?p + (:Y,B2{<0.bX]U4fSck9fqq@mǩE24t'V#6dԗda  ީXD +'j0zõ86d+ +qk  +Hs3Bюvx +j?x6e+H25 `9ZpVgDF6Ob>9J\/7HD4\19MfW!Mh  DOyXW!~>-#kv +*=h,ܻ.nڵkD+4=U +Nk?9gh pJpy[,dDN1g"[率m>Ǥj}dt >cA NjJ|*^LP]4Wnx{4Zf<r)1:meu_%yA߳гy+3/C< TM͌Y6PRAXaLi WШ[IQ+Aa9SݶijfYSߝ*ڵg&Οj`AVpDLO; a2vZ5FRgkͨ ZH\VzAn <-Z̪6ڳ-40?Sje4_A|cSat9Ҝ,tmIImy3|y6 &|ȘkKlv'; E51}XI(U=%ok PCW=Ɨ0@ZYw_ĮT@# Wf + *!g$an]?WpVZժjGT{zABB Dă_.At1u5⹒ +Wu3rUtܨLXy㨞\]mcUiW>u+ie+y +f5Cರz(YTSmޘtyL=z^ǔK=S޹!Q>pZ/UfYbu۷)!JС4+Tkds1.][`3= Ƽ}>IVq|;4wXMTĕXeImfddS;Q k$#!D\nKB$)#(g%ɐ--(8qÐoxiU +A攝%r ZBWuͺ,9!(*S65,(MxٶJ!5Z7.۔ca[q"%vޞt%灳GΜn2Ux"dUNYņB(=2g(=(W˽Yu7Jrk4ӏ'ԡj;7 D])}h@bfěDx}b,#1Ԛ 9ApC+ht߷zڑ&`Mޖ*^ o%MWX JTw4")p/&3Kaޏc[w% XFI'RV QvNxr/T-`H)6ꍥ]>p!˿^AE.BrEY VWG_,tX!oNhe54 jDqzH ҜpZ6mKGtU>WnTECZn;ݷ\Y]!~EJP#3M*5x`602g/(_VSL"@$â?U ?[4M"e?U'>(t˖H=^L6 +`1= ,{4.cVMu+S,vg򓟹UvB0,g}杍5:̯^ZG(K( +&4eq{ͺjtu`5P@?A}FA 3Mz仇Fku(_W%f''Ci/Dd`DyiZ<đݪ;uTY5g.k^k& ,31Nu*-&.e_)1Ǽi6Se4yYE+ޣ2ț2F&/+׃t\p,$I>-UgS=l D;P5 ?1DSVu]6maYՃx6SR]q%I)LfX{Fܼ.]z i\w *x-QH3k/%*IRzϷ,+J=`r'ӤHg>^ +gD Tj1+춑Eʚf~WoЗS3NX8&*xcܧҨ< +'BNS%ǷM`29DT̗Z9{;)ƨT@saB@XLhuH3vVZ[*K05!6nˑɠ՛\(ϳ-[1p- dFXѴ7 Pi!U %9ytbYGL I$*mfLËl8˞}zyGI}JMKlf.S[Db_2{'5\Mxn1SslmQ'}z U۰!]Ut0(3P0%g +FwF+G\BԷy5}pZn~G=Aݷ=e24=U$CIq }žc㯲+L(s4F}dMQ=Qۼ8ZiQ-'az"(6˫gp[ƾ Rք(= oʾ4XE\?L#;{/,&]FD?3Vr`UI_E {v^]e=efTHGU鶵hL_^0?+pl# f+p4rwK +hδj4*ti=#hM6ޞWGM:OW13fªR-igs)7˪ź[:,E=tH]-I[ b[}{)掓2jm +}*珿ضBP׽27Ӄ!Pc&Uvi.,r-kJ-14WϥI[l%ʇ<5n19nT.3ê`˫j/Ngz4Qgj@hAp򏢽%5> 4KvkX*3ĈiQ2v2 SnFX)}"^~4K#Sud2BBF"WBl +/e1zP#~|PPǶ2a emjyf9?@Z%{GRoW5Uy'o-'(ݕdž<~\0/C4kXƪnHk!Pє̈́"jt;N bYOݜ*Vv׊ d f&J9o}TM\[`v a_Y["S5j/>,m4c79'Iu_f\-6YT9hמ~uY$*jH^Ua!Mq :m*A -day-[fPr#*w=.,~kƁa3nqA|gQia m&ʨ.'ʗ([6kܕ,jӉW w7zD@ʢYEfܡxx'fT5%_Q> Fq1֤fV#rdZOiKkԊAeaɈLWUi d-'r-mfFE;"Cl4o#2$.wha 0,ET|%^<,˴S&Ty 1 OK,# 4#ʐ Jb\e6_bi*,M˽6PaQUx߲hܿ-j:(nr=ԇN=M]?L?&N1a+@E=0 a,T;5[+ɂS3_*lBբCH,I&Re^k4s"U;Hn8Aa%P 2bU[ t{AR ϒf`c֡r/_?DYw;lt8&T*L8MUhw]sXUF}!.Y T5SLZ<5%i&\سZSFmJno&xJQg1Ͱeyj!툦I;a'OdI#6};'Y!S)\6w)pn7J5qѣP}AF-j Ԗ|I*K]0Mi)դoUTE 2m^4Շa?/Z|TC.>hr&z+aWA*뜄zTAϑ@1ܨ#eɃn޲j'-`$I^.-I,4YhlN-V@zM*`~AI|ڭWx5l/: 4:KXWGWQ'!k2Y:ENZ1#Nŭx  ĶBBMK67S-!BX*RBLL  1r[e{i^L𕥆j2i~[i%j1.\-bk#+T` ${oR&PSHVx@> ~ 🅝o{ؓ*~yt D0]$]Sfl"Aq@R]ItF$: DA)$&LIkm)_Iݯ$كDR0HtBCs%a9>Htı$: N}HtU]K A!s$: (]%Mx6DӾՓDޭ踰J{mw%PAt}R@tX>0W +"1 +DWMD7W : AtZ<Adl,:bECCq-NE'Ca)72TJd-(:Yf(:E|@u5 +KviF=|kAEၢXPt +5?PtM ETA9sMB(FɌc,(ۍYJ#Pt2(;6yPPt2Ht2DYHt0$LDPHtњIth=ItRItLD׉=HtZ$:68D5HtšD/g%W]s!$0($]It3  $:D'LA{Da&Dטg]Cgj&ѵ~| 5 +6NB3Dyf +8&'G!5&] +.IU];O$&D($%}"a$:,D a.$: D#$&aDZItv's!a$SD's!ԙDD3. D 5-_]ۓD^HtL"$0V%5J$FC!ݛItRHtIt-sD_$\HtX*Jdy0W[Ht>rvØf]*nDg_0, $:E/ DGr")t9PItl$y&@\ItX*8X!a$:Y +N>Itno$:c% K! sx1 +'B#SIte1xQM3 Ncx*0W,DS$: Iy~&a@*+$29HtF#tDDG<'I)s&Ta'f] \Z]kQqRr]Hte& sZ&DǷ>ItcDD'˓D's! +N?I#_Itx'nL$j$,̝#Dר*$7]'$"IZHte& sQBc@cE$:6!D7,D7Ac:$:OiJ#UItA>舯U~ $:t+NDg*M3.-DV'ѩi"Ip~Y9tblwH[!^8tL8t]3`ʡŪ.sR8t):%F +(:N*1t̕0t6:MC#c,Oc1t=H'a+: C'C'댡aax`g +f9a451tCj1?1tZf ]W󄡓ၡ:ci MW }  ' m0tX:NÎk{ɣ.:*] +P oбo*:jtT+/N<Ccx+N悡w,lͮ~[9tTmhCGH@/&1е'=ʡSXp}r@T]Kvp6:E +Ka:Y&}҃Cǥpxr'UB3ΡʡT:bC1sȇ|5CG(r:[aC_?9t\L)U8t|3N¡kZ*r:,8t\k5i=9tω_qҞ&68t,:` »wi¡#R]8tM;7̡kZ8t:R7Cġ#;)5q$ ɡSq5N:¡O:o&¡xr8p蘪 +NkqUC'ÃCB'8tvO] 0zp"׃CΡӼ;s ΡcjS-7y) :sqO FБQ.:r&gғCǥ]޷'9c\0tg ]kC'㌡Ak*[0tX ,: uO'Ukb[1t*{#i?cT 1Z' wta&Cפ>a0qx1t:8]`i}`Ԡh猡#2c):"5O 1ko0tI<0t/7a踿Cה~)Z qڰSkĩf ];b+:s1t-}vޟ0tլWWiQIV1t2 ];7 ,O 抡k:,0tCc}` 'k)]0tX>`=*K|5w& ɧ퉡SYQGP1t'PMi QCׅ1t"a-: ??P註:ʼn +a.rLBRt' N+;QU +]0B2BcT +%v]o:NNw +]DRzQ8R:\#V(tJIZ)tf)tAPT +WIF@SEj: +Щ%sЩPh|P +iP訲{R贝)t-{BC\P4 :BSȓB'LP(t]ҧ:u +r߅B'˃BGOAQ_(tJb>(t(tt)t>P$Y(tCr)t?)td+(A38LS`(t/:5 +ILPtBfЩ;a@ +]N4BGN +]Wp@*О)t]LSA:ZU*: +Q)tX|uof +{ЩIBR|a)t*:Y:eg +f +T:~{f +Y'.I*k@3BG1+NO +jP ۖ #s=Cpg (8Ağ:U#M:]  @wHБ!t]SIkZ!ts +NSb=?~Bʅ'N B:B'B= t  Z t2:;BO!t +B׷;!t}* cq(:& M(:] +7: : : O3NAzgA( : + +nؚd70m%6kNS pRtL3k* :p3dt2 : O ېtwAafЍg]ZA}a!¯DaIN. 5tFh{F y:hr$ +NVA'#[όb@ :t5 +Q xnA'A=#A:X>t2{Nh#Z{ rZo&VN9A'ÌyA錠S{AH㌠Ȣ (x"P(::=t:f7:33N3ק (lt<{ d.~t#|@Щ۾ 贡-A]Aб:6t]:3*^J 1Gg]WRfFЩqFЙၠ@A'KAa> qVZyFбͯ2x s Ҋ?tR(:f00NE3o_tYt]Wだ#YtD "AM]A)'@:#0T:Elg 3Ύx VAފ{Ο?RNR:ksE5\3 A'әAO >`B5u&A."HW]KfAЩȦ d):+y d.:Y +N@QSt<3krAG;NGA'AGA'=SߌZ扠KI rFUݰdv];B5rMSAǍ:"IAz'N悠eFak +XꌠA8׌ _AXy $g"&ˌ̎SmAQAjcA KA s c@1 *mFE KAЙyFQQtMAע"t|"$9!$Yt}"0W1O][EЩc ^O:&S}YAMA7GUAKt*N'3N@5 :䊠,3nAtMԃVe=3EAGA Stґ-::mB ":79t+δ:ntXV:ӊt:؂ØtI}@ЙyFЙeFЙ偠Ů:Y&~"!t*b{+Vt+KEiccAbuAG hZ/:;RtRtftڂhARAVthh?tX NR3'댠mf牠Zt +A'댠y3N@um}'݇A'A%k:ɥ#:a AtRti)]bAIAGOA6M :bGbF8t}] +AqFA'AgWt}> Ɣ!5Qti)ξ t]U): + +N AGDsE)[ti):N:եtX ÌAgN{ x3/"0#:g]Q{ lt*tAtLqOٌc(:Agz dt +AE '{FЙuBЩtF)p@QQtt]o:):#D,:>a9ZNUBCPt:U:}߃@LPt2<tN:}LzB#\tt t0 t=rX#$Щl&/ڇw6 a ti ]WLcƘ t*5{B3;.ALcW$е: +NtBS@GwW!V+::@G7L+.A I!e@ީ@ڰ螑?!Ĝ{KO:# \ +,. lEM3]oGyv]ǹ尮l9o>rpn[_r/yEi2R,-hUIP@3P.kyE$$N +kLMoº vߗ-fEC3whAxq9HnDk"0OgM8]j6DŽSNk XLto8dEeW8qd{a|킒' %$}KR3'8%NFƔ]2{8yDv!˵g"N̥7D8*fE"Nr^V?#}K6q* NF&ɢ?qX^x#a~=cⰴm;!NBUfB_J29nWAú-˝804³'ygZM的8u^qwq7|?GI&7M:!N$,%3 ai.I(pp<#pS5^DLtMd4*, G$Z> -ƕֹp1Zd4߅ +FϊGaog xeLĨ#pă QD6un n؂;.{'L#9p4/ !eNCk]3.ckjv)VpەF[F_d!Kzb S6M8nF`w]!^]!MLRߴ.J8}7. ~[% h$aX,&@&|骤&1%JHBn..Dh +~I7 $]*4o,h +l├>ykE}4w<_p FP qf5f[$zM.3M[5f{$OB~od`7}bpD WrZ07󗼤 ѵMIA佖mߨz]Zo] Z&6әZ5 +mǂB~KkߤB` V]+ ׺vȎm}O[ +mX 59ԍU=qXמ7ihvojr !]Z~ê~04ٜASxaIdU7~&F~WU֯jf}n 5ɖkCF/|v7ۨ- ` 1P7*ǎ'G82[Uoi {L7չgԕɺJff:@G!Ig B$aQo +7 Bo:PIä +>8n *B63M yn2o0߆oMPT_Jt +: îȔߤ[[of]f3lvM g$ni(xmuInw$़Ig_ PcHk r~@0ܰVMda:MNG+87rpVJa" ܔp6Q?[lNh\}|zʄW{8:mft[ZF'ޤ}vos+8p K s91L63 pmRMsq-opۈ)xQ;tN6!Vr[ |uRmiurX;&e.ydq,En[ q{#[ܦ &Y55rn4'1r#BnY@I]G۰4ͅݦ4mX{& p2(D6-`r `k ل/DT@ޟ F4t!FCnì[t R$Aɼ`)rGEnSBo۬\k6"FIDMy]$ )Y{lo6"mUpt7[~I!a0Sd;mRi? ܦ)9tkdQ0ߺnS7!'n#ڍ 7q˃_o6Z#'MLuUY%"mM[%!9 SbXCn8m#6̪#Il+>6YM *l,sl,GVm2X.miF6Uh n&qgl۠͟iémyL?22 Qm S;gpOضfGb0܋&5#C|3.B=&͎:ߊjX}Px@k j]G1+X6SڶJK` =8mUKrRכQm*;;6n>atэmñى KdzbR* 9Sծ#9;u^oȶcw_6mT-65 YaGLK[7XYK6d:Fj}P^_g7J۱WC}@Iц\8t:MWo6@H9ۢHI\|5gcklI] K.lB:N|Uv >MЦ}hbɢrBhS[kfV6$3ymS.mA Mз#߄hSQTGik+:#$| +a'XL/mhC4*"S t69-xv8ݽ5l7"܏mlUE)r\ 5 ,mFB(+U}daq$o6l*֖H]-Vv n T#"xj,9qAU?hj +Z0ea-m$ղ=5VR:Qc54D#PC' LE*jȁ#U4*=SZxZ׎pKv]0 FY"Zo8MQ庮Q,L`.ih}-=ij:FKrӴ,Lqi&c Z!Kϰ4esZ| %&I/LKSv9AKS)iin4q6hib)a]hiJ+4^bs6VZZ55j*,MfD&Kcs"`i*=ᄸmNƲ)4 XjZ,4U +4,; +X+,M0U,Mmba8if3tmFBF=ٸN1~h;YFh!4 yfp(KAH-4% -M:ͫfn뙴45ZyKPҸ /TZZ:1m4Ҩyi͍ +`51uWdIci3MY`)qBQaF4Tl֊͋&>I` 5#؟\T V׭"TnDH=ik fڪWFl8Dkxf0Ӏ29ȴkscgPLuטּ4=FyYi?OJS@s@Z@<̪ 4N?sZZưTeT?`@@숳UV>f0(UM#m2*S14ce +*AFҘ T-l4*Lt{xL:+M$1àJJUmJRAL0I,"`iYW@Кb*VdfVZNbb ÌVgIX~bI*+4[.! Hڪb I@ʧ]IS2D&4Ϩmr]K@ZgLb>'M͙k +1M ΣF c + +|N?REemlhIC.(iVUH~x{b0lDS[iRjI'E}Cє_m)@Ğ:78T:l4ZZNh4OXdSt0qg ++ +^bU;QP0v:e +Mr 1*BD8ΥUADfͤbH}{e! NٵZʲB hFn۝] A [ (uQ +/h5\9g2G$gRgg=N5NnL?➘hz_>zIL>"T+Z|vu,3 tK w LqnuD2fxF8 82Ɂ;h4;#ˌ_W{(`bsYf7AfK9fS !ސ+1w8z̯$icS1//mԉe# J,fKI/awhun{޳afD^ 3j">rZlrǝ\`,`fr _~h`f=kdkP: j6vk 091=f8 /o :ɉ0#|{vYB`pH9i6`#!<fIQ3G4NvH3 48tvn ]̤ؖ/fKI3{pH3Hf{靹/c eR  #nd28howƗI8ig2jbaբy +u˴eH2 + w% M_j82X>؝(f*_>>{G,e/+Lf%d>=׼R]SD/j˴ \2O2|4taf=1&l + `T'Ts2Jv"FMN1كb. b&0(fLV2AѼ1 y-8m5N9,KY@̦ fS >)f,[3z Ղ3m fxbFL%AL&.- fzjyC$`3Y\3MA11ڢw^1٦0 -f`l2TO3fXbq0O,YfS&"Ōp 6~^ayJ@sY1‘fF0fE_u*ÌӀ 3ꄲ;kL0ӷ0)T1ֿw}s~%pM6a5wu\먻[c̴D.!0O ̬I^HG)*.!t#̈Mjp2ʜdؕf +[3QÊWl +aTgQM`/uma&qAy0Cյ +d-g)J3lda3 vRaV#l2 P~ fjaMB0D9:l{G3mX;,U=ʤkU`C+g0`61H߾3j\fti( +3y &2kZ2uapgi2n e||L2biuSߙZ6ՠiв,SRu1B>t/A,u sCo!$Cvc*2aLpY?S^Qd|vjzU +"!п2{cA2vPzێ_ֱ/=kIq]0lVەl4cue0;Ħ.8j I\2k*PaT M0P)(b[w:s.6:LYv̊厥4b&#H3So|[ܞu_PRK#zib3ሃ&.Բ6;|ZZŇSX>7 j^_䣪͚`U/?XizT h Ǔ+ktxK \C[ͨqx Ƅzsz-'$J ^%q`sN +"ꭑ`iM-c,^jV<; &O;u66Ճ5\ +i4rLbޤ%wzTӧۘy2DzJi`5zTWxQѺZ@1j@v֬$tOrDp-i×*N QEe7@2ݗRPDCԉEO7NϥZ:Nyrhne;rlXM^կ?TߪAG<)!xPOxiQtšz95vO.&үtUJub[9p+aտ1 wK[崧߷y׻vfld4(^Qͻ~i&ܜUn$#9uU%,ŦԧiYx.C +ϺVv7>%X:ʗ|jkѺ-kcUXQHfյl3b ~8 RQhҜ Ě^y@O{yas]$P0rX0XjLiKD.[&_kׁ>1y)3չj6y_îsyTqe5J]v -xWܪK aCNI=]{t+U"7PQbDRW:x7(ۮИ-ұ)ZTĭ] +vDv[#Rʽ6ymcavn= 3I48J +p_F2ȉ]j|]#un8Cs>&JB`5V"$]Іd3n)V +O&7s4w3^7Qpd. e Ej=)u[ea؆" NCXFңAIeC\0a QJK:NBP{ؐmeÉp3&B>墱 Z}p!=-7>6TRgw ϢD +NM:C9^ {5nM2rf)CfүBHˆ~S{=0IfM&`~_%$*Q$OkPSUġVmʝŔM#X(v*t~ڂo`$)oo<7w_=V}P2}ڏ чퟚ'mj]oP#۳ +ׁ"Gcuo Yk3&Ӳ &ʒGL/3T1 _v*p)mc@h_*B w툷ݭc*kpٙ6U?k>3f_j1;wBfS.N T9viYagNYS{]M+(]$oYAAXTa)jM.fT1Sdrn̩8Q׼QZ̬O鐳 +CJvCaB>=zlC&H8ۙO% KVC ܙ҈UfE{W`H]7Uj(xo]-w,[ۀo3- :5'=Պ0-G\6keKA0pI;Sz(=$HM*nLj JY.:ף ZZH9mWPʹR>l\!Uo64%nl'Or&ϯ*Im{ 1E5SlpM[x2$"L~٩Xcj +5xiN3.PR8Fw67:+V5*AvViCD)}:G5mEM7ĒUZ]M6>sP(=jsΏByv*f7i幇}qn8wPbžCw:$F 161ѴS2ZFqBJhNgX(5PqUCoj0Hae3]݉^]LVYJ8 +`Yo}a2@T) +endstream endobj 24 0 obj <>stream +&hVBQJ~c|v_6 =}ѿ?<465j'm*~eyxX,lo7NܒYޯU&":⬎8[?REv@jȖP(37!نQw_@q(U7om%XY]08V؞;bb<<\ +WiƑ|b[v$b߷f f,rJ쥱rd>ذ,j=!2oْjbƎ-BL!uPRrlTPVU>]]J:YJ7%bzC^k دq)VJ{R5X,տ-%IZ~l!0AD``` c('s'BefvH06w7!$ $&sPk=^tǧAW.\2R lZ@XS.K5C؊HoMqgscx[_O^~KN4n_hG<)s=$Gio*SW̧t=ѣd-B̓V}3'˯ǫďNCiaXy'fn䨺l0SRR t~t$vF<{ϊʏn{ +J4OLƖ"uLT/P@qJbR7u~5<f=pъS$VwٖLo@sRlAS'hN-DR(VFSk 0!puUZs} mc +*Cyzu4 䰏7*"N;n%$n.uM*N +R)^%n[D,IQ JZg&`OX ګni*[h'B^ʗs{}AU6tz>w!f(: P/S)/KJA5@, hѱHV\o&=#L]2:,vO uPu17̮VVXQM!_JB(\SBXjbDRNiJFXmo\g{kƘ?Am NC\ ,sB8Poش f'V|9)QJ'f}9-J9\4^Kwxҗl^PY`,%: //kS?w'L%gZA> vpN'7og(ЍS \nUHŗ q1 :J~J Ҷ(UMly wyҗ~g8ܒɚ1]5|ĺP#3DI}U)j; +vOmJjH h:#TV+`VqtWÏidgK]bj=.|(jiXPmMm0JN"<}:ieW2NL^2bcĶӪY\oۜK#׼͕joS+K-eBV5VQD fŶF\*6n*;B`zDi`~2뽁:8ݮ*D`^TE3NzfˬV&̸N)Bƪm[8^*{7Z_HEqj;5jO;u$* tBVG=bx.@Гu +Yc`ZaO&E5neg&$=*+b~ +Y+c(ۥ`$IR AVygHaz"g) ZOT9JaP8U7U%N/QHe }5lILN Ӯ i|̭wf Z&z+ tCyRoQ;fXfu+fwa /B k4n>_Qn*mFӄeCW #ͬac#w{oVMtԠPa c:J{YX` +`3e6^If)qf?K!+eu3LH̓”˳Nz~'~O64i2&3wV _7/f]d=-#["j$=>=އo`A +VCynM$< `CČ1m~{|X5#RK3BtR)m.FI*eeTRzC0ͮFv\n1g.2!犆c)ָ!e: R^i;c#st]Y7a0Vd\T-fZYޱl>`ICUQmu[zͺ!4y-^ bRoR&UVâi=zXD3)݌s[LYZF~I;POҢ!+p5FH,DSچ`A=\!"?{g BB+ؖK?Q)=mY@*A:InJXV*T٤,@c(|eT40q|yZsҲY [߳B%뗬^ +DS,x|ŔGmb_X&o#h")K6-䠲KLˏu*fS="0BFurCHAuNX|̻-O)xUAB "R k\Wώ/ [W#dSF_ֵID_S]Qw5U3iC +B +Qp%[\Hm k7=V|S ȧd:*=nѻ.noG4yO1%+huc4cu2jWZf +XnPhT@ȥ~z/CT@-(~YzTtݻ\d ͧ +EbU 0A\=g +@.JR +=%1l}{r,4i;0JDѢǺi[W-~iװ$i-~LGEU,PxȔXB ۤOoQڀ顥UGZB*sja 9`ŎIk{@0f)AQ&o|_Ŭ6w ְM2vE}z/Vk"]>)0_*ݱ{I=q}6iu:48cwMn @~hׇuyA>i)Z-Ɖ}_(KjdOB~'d!0;ua=y.`a깳aH?b{EgѠTj 6c'pcC${"`O@doC"^rŶ ngȒ Jņ9#(넢vnS=7W˭]XJ-K8C,YBv-L'gLߠ[ގ׬ڦ,B(h+5qCgb"L⟞,z=el(7DfBՄzX09m OJ5*L#ga:5 r֊/vpL婹xӕ [=43|[WUܞ?DMkY"#@vFkJFLqN)?RYIbQjU`dٳi @6+ Iz~RY4BFFTXZH)Y .KhPکoy'vϰЭԪ@iןrthE?B~(_i΁؆5/RCD@CR D'D6 `?R[fOճ76/ i :!k76ɐ2Vjs;=")H!XA2l^({7sӁ3>l<8P=VOc[x|.aL*rjyݒx+ + +T7qzWoß 883ƈ5V׸˼Na<9E3jܶQ{A= %TÅanz&g& 5m91*6ڭ^jexOۺڪt2Ú6e/kY(@]q"vV'i@uç|5Qޙfm|N'PgZ!^uz<a__L@FߓxKaӚ:mOIdtM&V́Tv/@?lC)umic,1JEU7z:p3,H*psbJJQݱOe>/U@4uMY~5Aw mgԴW4LR n̶NQ{L4ai& fgZZ ͑g5WpUSc4lA3ڼo㢭 *CvWД)cڔq%Gj;8z*[NrL﹣۱mKaPySkta묋N h^yPVCwp4~`CZ eǽ hHx;F(s0wM0`$>^Lf1yK`sL˭Ϊц'M>S-e4Bٵ%[$;uZ2.^>l"T؇۷[jmƶXpN-Bm}]Te QD+n_ޅO_3:dK_6`" "}z*Ÿ;} ũF`!$Q4y94L !&5b$z ͵W5\ lo0QM$*hm˳΄)ݛ; (cYl Bk*G/r;+Ea EW@@DSaBɕz3ؐ/p"!vY.m)jQPI?>61UM_hGO-_)!_8;60@uρ칥x1Sʋpq}Ŧ[,Te*[ߥPlj/,!2]-BBY{Vr/nCTZ0~tڊ!?ٵ/ghP_maiЅ:y2 1RDM'dBe͂O])햇=C&pTHw}юrmw[{Q)Tʹ 7N(J$>=7!eGӂ"}8UW>a>QLț3qoCųPjnʩԍt-^f + c_YS=ɲxxͅ\z5;DN<'>2*U\Yo6Sh=K6)ˊXC ٢wd-7h{BtTΔlCB.{;e`+mjTޣLYְVfV:$0bǮN` *aúC3+F%m'QmrTVm/Q߭Hf0U[=Vsora}څ̣r&b_LP5@01fj]}"vVT,P~1ߡ~_`q0j~))K`D*#t F jM`D`DFc|F|`D +oQ#+y.KJ#0h#${%g0"˄:> FDN`D70"k#ְ`DͥజyX+5g0RorӁAhv0"F,md."*"$.\Də(%s+q%."kEܔ"g.&\w"LT7%ݙ)FMF,r6шE1Ј;!)EFD(%}"#) ꝌE2b-|ȈX#ɈȉhQȈyM^[XȈܵDF`'#$~[O2=;އQ/N&#IɈKtU)ɈػɈd!|Qe'#JAFɈR2*7Q pɈ[ϼ4dDəȁ(MFȈfԵ&#VЏ;RAF$ȈG3s~%c2Ɉ(Ƌ(]$#V#;MFCZAFe.U&#*4E#$#HdMɈK2bH2:Ɉ26adĥdM52"?k'#B|IdDvndDN}%g2b #RȈ&2RqɈZ #ȈUHDF\J"#nUɈȈnH475G #*"Ɉ4'2"Vo2"YDFdNdD{?Ȉ3QJɿɈR3%QdJ&f'#jdT #*˛Ɉ*dDd #JdD7y##rb"#o2뙌@&#*pw2"~ȞMF$ȈɈ(o2"NFDHdD苌ߟɈ #*xɈʤ #l eɈAFԁ;ɈpQ$ȈK2"@}9兘Ɉ*dĥ$2⒃HFFT2J&#QȈɈȉȈm_dDə(% #ȈPQh);lɑ +`uȈ?Ȉz2 |"#nNF\r$2"+7QCYdDF\rIH%қAx"#6\v2B}JdD)(i"#JdD;曌Hl&#R+e􃌈x"#jdĥ$2&;c;?|F8Q`DNL`D> FԴ3q) Fl70">/0"e#bB?F"#L`D2q)yhrM`V/0"% ؎FlRXv0"n`Jk b#I`D-2Q`D`D$/j#nF\r`D3`DH3s#.%`D=X Fh `D$o0"O#`D|2QWHWm#F\J#.4`D`DzjQ +آ5[_`DL`D|`DFx?Ƚ.."(RxߛG*s \DQEE"ET )slEs%""\D9(J"ZElNVQEEt1c7t NEW%,.,E XDB (o,E?au~`TXD- (j,:k3K" +"*NֆE]Ed +"JXD}E4['EDIXD-L"k$*bEETo"R䓨 %o* ;a6Q#2R"/*DEls + 읊(%SQTDDEDITD)o*FLETD+zQ5g*"3W"6 ^TD3ة"RS3TD-{2Q S߷}S%Tt.DED&TDͱȇYhdŝ&*"\7Q˶LEԾ*Q`MTD9kM*"UKXȉ8W1cUYԛX4DŽET0ccJXD~`OXe=,"E$tXDbj X'=MQJ"N&,"ʆEOza1=ܱf HE=amXDEMXDo,bȳcLEtv,BMHEÖt',"X7Q_&c p%,"o,"EDHXDXDݰvv,XD}׌ET!+"ο?cG"R&"𖰈 H=""¡(0a=E4sX#H*[XD +(v,"xO"R%Lc,EX',"^ElQ"L3(XD^M,洌ETEfmرR|cXD3̎EnXDÏETE$RcUBycͺE$\cXEIi"*蛱:3cHxE$v"paXD;u"`3k|E%,"+a+PQbcT,"w۰ h\+6,,"„ETN1cQXDZw"bnu[TD_TDj1Ѹ;Z5QQ,TD)VꝨԫ'*"DErkTD hT־2 oTD ?I&*"{"2MEDf( *~Τ"JaTk(IE4EET 'TDX*$*"Y;Q ^IN*b"H*S+;Q*5'TDOѦQh_PkO*K?TClTDJZME$$!T:AAEH"R2^/*b +KՃ"""'*"KDEDySY'*(Qu"R.T ȉ(%Q%0{"JAEԊ&Sd*B?TDv*"/*6*"^.MEd[ĩ*WAElv*";q (5A%lPDQY E$:rE pE E\EDyATPDc3ђ_PD*9Q"R"V;E"b`7E4 Ez7A3Q7Qj"Cә &(P6A"E6A h/("HE" EԸ8'("q7MR"hPĶ v("Q"PDgPD(!A%$("EDyAPD2hHX"*Wj"N#"*g"*퐡F~ACc$((" HV"PDGPDPDN}CPD1MzS"*l4%(K?PZPD} ElE$"*AHA"kd(?c"PDZPDۡR2Q(HZ"$w(v("9/(~{"ߡJ? EwE4E$ Ag(" o(RGw_p4rޙ?ʬ'&"71IӉx2Q$&LDJv&"@DZQD[HVb"aؙ(Eb"j嘙?Lk4Je&"qD|~@HśHEb"R_3LFW}YLD=Hӛ_#1Qюy1Dg1)ILD?A2QFf"QKDTNf"jn;DF'!@""'$"JB"a/$؞ ّhCHM{K$"ֆnHD ؏ ( (b"XQ$bsG"#6D\BB"nrjۑ;HD d|ʔh$T:䜈(7 "t"6""*AD΢=$"J9j;Q(\DD I""ҝ&""'"LD|_&"{٧$" DD&7ܶv""J""rꛈ(9&""a7;QaLDT'd""DDkMDDNDDDD`MD[l'"PdDDEQw&7&~UR~ND]`&"j "#'"1?ȉ(% "k~&"nHDDjWQDv/"!3q)^7E""2jIg""e;фqKDvFS"""'""J""JADd󙈈27NDD2qS%Q4u_DD,NND\B""ns<݉`~DD+߉D QDD;2(NDl_DDӉ1Iμ;DDHx'""DD;EDZJDxM?Ze"DZ/""<O""R&"FDDD_DD+f؈Ti$"b4""NDTB&"IvMDDy%/"";;Q%&DDrnDD6"բDDšDD8 +DDBq9ae8|:%""vo"UDDB≈DD\r≈{$"BVH ؛(;Q"D&"JDD)?v"eWv"=0/"-2Q$7em2NDD "4Xs&"Rqʓzɚ$"68LD4y'"o'"b&"?k4L""uzo""sDD4΋')LDDyk뙈HF""*Xh۟H]\""nND\QX1~*;DDDyMމ(h?EDds\q) "VB;o""%{'"B{$""MDd3*Dĥ!ID"" NDZ+潵g<IDDd"z~MމDDS^DD3e#"74ND&xy{DDMDlXDD)𛈈f""&^N|]NDD o7DDMމ8$""6o""QZ""2(3DD (9yCDDqNDQr&"ZHDD7DDDDDDDDLDd(o":0omEDԔ$"RqADԚ%1xqgIDD31鋈8 "*n̍DDԲ݈Z_DD(o"@&"Z'"j&"ҧyZq) "ڟXDDo""m߉ "BLDD‰DD4y'"RXG{ LDD)&"⊳3DDDDԵDĥDĩN"$w""|7睈HND\B""Ny))""&""3ED4FDDHDDN|ϤDD4ы/1؉SDDw""HHMD.ݝE""j/&"bfư4ADԁHpnR("*zKI@Mv "eI _}9H@D)""@D>+gM\"s% @Mv b*H\"*DD~;Ei"N%@Dm6W" h "b@DZdQy"ң"j=L5 ^"βDTB6S b=ǣz8ہ<@9NZËL¦R-V-3TzuҢ*&@>x"`C @rD}Y6ZΠvtCyߖ>f 5F@FW(}q [֚/?de-!fg" u k"Ӑ]5 +DdU Q3Z{ %aljI,CƵPC +eurgOA-ЏY ¢tLg ܩ".aQxV>BEl$;taIBDC‚{ᰞ!9!Y,Vڰsɶ39)/4u?Y=f ~rm2CX,18?{q*CXgDX0@˾jqPC?uO_Bs_05fȸԲCϺc\׽Z}j8s!Z8,YA` +=ZjY@AC5U,X J)uĂe-B<@N6( Dh-5U#UBSxI,4e^ΠxAU} hģJ "Xj6:%%[ ,$t 4j]W_Ahנ&y_AWi6&_I|ArRZyGC'`>٬L^Q`PXp%cߓ=kr|,֢~/ l-&6&6v;_5=!늰|$/NÇƱl_<@dz/\r֦@5}f̶yÝ@h^=5j0l3QG+(VG u[0NbSA" @_"n6Bf<2aP7_6Mվ);Gl[t vYqɄA=c<ہrH^q7e' .9)^_Ee7hK>= +~N_A0Fe 0hLg T7Z 2 mrFY|A)ρ9漮?fT Qj V$7ݴuܰ;t[qEQCcA+RN & r#^AN'w 6A {R'DQLN!A Z+&`юM`YU\r )EKRё(ف\ɻ,,%KXp,A~R)K7YRhNeK,Rc }%<%ۢ;X7[  8Ob zz%&Kp)%` ߸Bj^X&bl`ׁ軈m@}1Z0!rRLp,bu~K |3rOZVAdR&r;4`Ej&kiپ .%0A"M̈́BL&^ Rp/Uuy5Re;HOiuj8pJ8(ɂis*DK49^GPkprT +Gp)#?3ǡ2F!&Q0Eb ܲ<4 QO7ABk x]6\@?(}{\] +=Q%;P~-r yfp܋B6`ɜ|@T||"ˀjQbe|NP, X%^@۶_ {tISea*Cl v\@Cy+\_@ +( c< в#Gmn;v^ +SːJLB ? +FQ`Ÿ3!pl*w"A,@ W9 oV 㶁VX><ٿPJ@~Ĵ֟/-ma\lfɣ i'?(#|x?T mY`JYt@/~/:BK %AJ4j1ဤTJp@ 3PۧRFp@%)f8de&dHpW +B_&(t@*ǹVt@҅T$:P,W \t+!#؀y  hɌbj9m1q>NQ{|%\ e,_$@9]'=_Hʦ/ l2HZF,~)) + +`j% +`B߱S + YeP z. +B$_t?N_~B,migB :t1wU[NRIf>*v=}Tٽ?D/ǜ짘[-Y9Ө&%~]d10Qu~[VۏDg^lXb)EL9NK++lF V$hWZS{/ :)LP?Pw}mij- ['ԒқS5:ğǦA*7>10? +mMzj氥Qx|*0~@1OY^N׹%2C{w$Fְ.wS74eAS)\y\"T+~*Z,jIEX;} t߈/}{DUM 6Vщ7p5`l]7CH bkcvXl&b@k?*S$q ϊ'\_ɤvA@UjcbI'P}Z_*)0I}9-E7? a>^^y]>eݎ:iG&|v GW qfm\bsg#{x'"iw\>dهazݿ|9jb)vaIGmϫ3=+8L>46P[0lܿ|` G]L>-|t\/<+ŧ˲^pS?W,# n + }BI>AP +(޾R,!RzϡU0<,kZ9#DL$J'sFFs{v߈|,X|ZD>)|0V5W4XLj|@xOmMGy15M*r :LSG▓p" +D+H[]D>@q‡'=bk |IgbQGH5s@ +QP>U(P>;N( +hH+12KI+|(HBU=G)wW@J94n@%W\H> IHBԿө' pKL$: L$<W{!t"=TY4+JRL>H՝We1L ɗN\H>d82O9$$_1;|%|zi"T:|t|4uu$ VLuF3#40X_V 4y #TXgsUB򱷩T:D Dsx|Fmŋ5>LJL=|R>[|R#GBѕ6 ΅C_QjAp/&B#MNL> ;ψg[L>ⴶ|*ꛛ \}K4/pZfw'|(m18-bbC +|0uޙ䃡a^\ВO00ǩ`wLB.m3OŖ4䫬|g(UBabQLmз@ɧeU;9yQ>x`f;Ϻl9gOJH>6$]DWɇr;o1H(%tG? ;O?*$ʧl- 3P9=0V *CC'3{lR[SPr2 QЧ]?| +@>؊ ~@>f|zЩw">dނȧ&) 4$"F`(|(zD>;UMXb'IpPP|vf"5f _x\6!3mY' ^3|h&8 |[M?6:im$mŹzȇL^Pi>k<ׇ1%$Z.*}n=xDlHv"ߦ%N"iejV"lD>l D>Tȇ2|YDlxV+C XlDTiaM㳐$X뛐x|.r3M)a`L8[2Fa{X'79Pv/jI8> _8>=UǧIVyb8dPZ͜uy|Y{zz4x|?y<>x<[]q@GFw[<>NU -$- 1-բf#yyōܶ"22O>&=  }f<>:'2 YDTw)?Di|)Bsp ^]IrAHt[le0?ϳh|z౹4>F}JƧw`|SH,zy^ Ԃa<N(>mH +򰍔YV+J :~a^68|ȔEb_?qn~-\K#Cak;;2/9x/8|W,98|]_؟СH|X"3ĝ^#-!6g^c,_(;'OZ!\e.Ӛo*ţ ΁S%Fr,P|)j Y_,>=*0V/_0>BƄ<ƇҝG9/)lп?w<8.W{FoYF;7tv9|k}2N>™(|%kBh3 +Fw_,> |y(+|pDb=e`{.}?Gz P +s&"4yOűB0syI-p&qݗDŽMSܨ{OȽ@܏mwKf<|k|`jϵ S wT;J6({ZlCP({KsG06^\̋ T?[Y=Ү׻=R?zwzw3'SE"N3YkWHc'1'XvLMcԐ@BPD̶CsHq)ImHma3d6fsqn7Z +<:^0z㕞g;fb1z&k=zx=d8D7Yw5%&CtS_ӱ# -ٔzr=)y2?<a;= )+y;y=pv󖰃jܼNj6Z5O@bN͓G͓r;1Pg!c}u:79xyM!< ,ey\rHT0}=ج*PyeL ӿILPVG"FͦaKg>G;&Oa'20y݈<"I^'/)s^3Q%w%/`lQ;f2AӵX}yL7l? bW jzPd$Go;F +8Q~v}b*ێױWkxM7d^ճ9^ +ۢt vlONiȧJ6z (6PԛP + +=!5B +Y/C;Rk{L?G+1|5n;T(ezeY9.p{2UqҤH-ޯaR!dwF[7|qe=۴>%c̡a4t0c':A%\}Wuk4vO N&/t[h3zY7>~/9R(9R4@Je|O*۔?[g ?]隹R])d˪@? Kuq+ے +@*q՘"&ޝjjN YK]64!u"^(VpiC +30 +-RZ5gV/ץu+fc!۠˲ˊO|V rY>q}T̀z%~%[ԙx5<5VuDŽLh!07Uy> A[(uQUұ]\6"/.L+jReu!?~Vmʚ]V(v*ݾx`[`|[ zSGaC}-tkiہĮ|6EQiC6&k;MB)s$~Tzx:P){UyiCHt)Oӹ%ka8 Le^ߓ|pm.&C ij̻*f(<7wGK!!eA$@ohҗPc瓾^?sr4E +l>{hξ?UEm?Ne]{lr?s ,hlKS0T@][P \ۖ)=7W!1/F6?'osïr2݅RFYa@eᣱKL/YkIr@zIʩ|D.BgLy^kw܎MnzcM^ +LS3ro%iTyZŜiǏ/5{ +V87<$`V5t-Q3'^YhӼe+EVPj]Q-Ymw l ]S.Q֍9U͐/31T؛*B&Nrr<زVa ETPun 텬Mf5mS0emV]%hgY0~YC4*wiswH ET#Y1Py:l{l;M8bf0U{ 1E[l ,$b~1e9]`.WLp4>x) %T2]S&O"JxXKbxSX2DDEAE`v5s}:vܠTr/KՇ\,k˚NS֥%(Da0[ɊKqݝՂvJ7τXDIxjG*ؙ*—Շ/ -V7EvQu n"X]޷h*td OS> e(EM t>mBTT2? Qy+겮5>*Na#P͇_ј\\htDZe'կaSpZ4ӾF!)͕ O?= XG[s.DJJ8FPkP r}8@i8ziRJ̡[_]$?يwAAFF(ug]=^pQGKEQS.>kyx{L϶@Q0>Kr|,zs|fqK`-?P ON ;ߢa#`ϊn}nxx٪ފ+nHnأ8ʨ(tQ!V7eu~`WB,\kkz՝eU[e4*_07ӣqY*6#ۛRș$yJ4b'(sDp{>#\0jbL5ۨ;Z/]( PI/P&M1`ۊ%qJRd4٭O)웕E^$ܧ<2iOdba;KL@Dl3zι|O`#G+51'c'0\'YP"Gy&$I-u_=+WzٮpW.sCxNkǽu*4+T册Vă(Ft}!y\2-}Ix 8W'5lxM9R& +P~ɐu՚ paMN|`t/O +qѤw@OE[j\!5gԱ2٭vb$4v9xj&P' p/B;k.s_NdspWjIgxB (OL4RX֡gAb3;y:fE%ԾٙV5+" +C1g0h6vͼHknAz0"%<{w˿BַaM>ԇZRne_䒗#괄R@!` Tvsao5{pHrIbQR8@ OCK3M^D^;&Fxݣ,RxHVRrVgJQ~eC: ~PhMY{V(l48XL/UH6J_5Ӳ/fC^&˗2˼xi#}C0lr-^;nJ4 ,jO +Ќ|Ҽ3ـ0e铺xK:lD!Z awlZ5ڬ+^ +U@vTÊQDz;Nse*`'uWZ -f̈́jޘݠˑudKt}3sjg3 xh7iW:7dp j4ɛ9Tm,eOeTNDNvC8v/@oJ3B ̓|ƠX^ZIX}'pAB%L4nhQH֪>^̛&&ch19Ͻ|hNIan& f1c(\;AtOۢH%]|dTmgaVX/wb_R\Kv?4{Z ayveلuHՔ)&X +=)?EyZD24*-.ˍ;DCdq 3QGCh/ AH@3, 2Ov.L$ڞV~]s, A8-$[K'blA^ɧv%ŒNrK+Jd*+ [Bs_'idQJKiL.fDAޒ& Mnղ*9UY dEG幅m5^Ax(1 ^RyiOiI{+oŎX$ ?=qÐV2 iaRbVaHAdC shqKۇ fy&UPD.5N8J5?<cXDoϤ(;܈?; )Նf)핺υ. dK.7[E'5YMwwN wL;nnv+Y&>lh\`$X-SdL >Wi:mYƵ':$,}WaE6%Y;#B>0Z mBJӅ( `M1=Ԫb`ܙQR"3b6y,5ڌ>].#,'A,T +cP<]N25>$!qC +!Jm%t"WZYQۊK_ H-+ЅHXFc7˥u"4XO ݋ Klp I8# <}v1e3C4p #~gʨtf*2dk TCNfQGO_|`BMؔRɘ|_d +!UHAf贅wVRw+&ɋ(\[_~TIDX 40*CJ/Vg5KsjV|(oQ˂MYnd3R(K-e6Ʉ +)-N QuVJ15ZEZ՝R" +^#) Y7#;jLr(hA&!}]H<'OQJ I&4_.2AhTCľ-dB-oQsEx`J׾Z(~YN?`RG|jDgby /'k& +% XUnpdK,Taq96j +eg y66Yp{1ftm13ɄxBZ Rra{Y j`` 5$Fuo dBIԦ*yxbM2&y^,b82oP_EL(ud,Հ" +B(V]xpEPN݄)i+:_7WЄ=qx2_)ZhZCPTyu[+Ы (ly +JSR$JM*Hjv:2v*|e50 +zƳ&.T0.UT/\gr Cpw'aNSRR"WZdQeJ 9a<ͻ=:)NSY׽1|cz2. +ArJcUCkf \2>t0Y j% +mUmGY2\"iE }YMLMGҒ5Zf)luo/Ws Rdu INU5P}3K>Q8!YuW29|=OP9S\_,v(ŠRL>dț,YDb*b FH|B82\*/Rwr}֓O(7i'L䪭ӃO\AaA+Y+Uq0TY,GEa=$P'DnݜKfiKx<ԯCxT(TMPOߜ4Tbs@" {Wmw5^ +2 g4@A%;|4 I ZɔS'nJ%EEjXGЫt{$R +X5B0P6% +eI@w[ջךvnu԰B%+鑏zyQ(I|m},B--mtnض&tK{]ܭ)@FL +.lrHLJ:3AN# +pN!Ϻlo(u>a: pw-oYZ хmuURZ"o)//+"̿Gs3 +)(ԧ?|Ȼ;H7CR: V[oCCrzϔN )WT};b͸Yل⛶Եpxd+4g F!jh YIT^" U9_,tT:Ѡ¶𓙀Bͅ"zB|ے`iBv7&{Ѻ4]wYcUϥЊPas0 -_?6O}vvxomnkRj&zkòuk*m@cX|EpR(p,B<rYyͳcY"rˎ`FF. z|+ny[ 4XJu oOdmRpF$\~^(W4}(׮ZjZUg 9:bLkr.]=*- =QXaX'7V8ME]Kg*jTnƏYCm!J77,Q .x4KU4d77jxr_K%/WOkyz}@P8Bܡdkuom/&k!͚SXnPۺxzD-4/Lru6TDSRҮwd9B>TnK'C_\ +CWnh՜J C=w~R%g)?W闖C+cȗ=+CSgTk o{>+k@T귗cQLt4"j"L]P~3< {䜾4J? jke8U} Z7nyǓ2(Wid +  G}(5lYPHA +IڮO-~NOS3 BW4_,[惼-Mq-D"Lm) `iQ!Xcj Dj>VWq bVOQ!zxWRHu .r?uGѵRdYB/ Idžʙ!!2E.TV7wԾ+L!eR5I 4wufU +C@(W|]K1C&v[ah׺Xb$%a Iby$b175!rQZ>e}qZiw3!b) ciQ*TڂAŒ"5I9RxɽQoQ=Z.½02 zO +,S|H>l VG85 PriUoʡ qʺx!f]gZmd_6,B8zyE=2`/M({pJ"EQu',fK[Q9{J|͵Nud& EABNrsXcIR1X2xZp5@D~ ]V0 FB Fe0"$FJ#.uXm=g0!}̐XDlB|\وE̅#le#"lDF,jOrQIH4F, XhĂzE# +XKtO +B_Ј"?Q +se  ![mhFlzhDFld?ЈMY> (%|@# +ш^ohMFls$4baЈhDԄFDYш-)f4FшR>JW +kE#>ԛ* hDȆ pf4Fl*+]6V4b%t!(xF#jh0PF#J@#$4bU/Q*āFш(O4bUbF +&4bUX}FЈSIhEhaL 2:<ш2\ЈЈ\֊F {%g4"J;4"?}%g4b+KhQTF\8@#(+ +ЈUVbB#N%шUFFT;hĪ{ X~Bm XUeЈD XFЈm>%g4biFlt'G#JhDFDy+X @J 'QQF#*9*<ш3Z SF4_D#ÄFdO4^FCЈ|4"e /Y?шx+FD^ш AhDFd4PqF"TF4؊Flb&4hxwB#@#NhDݒFJB#yЈ-/g4bSuB#6oq* 8@#HURShĶ74"vhDFDIhĶOhDi-|@#2 |B#K@# +ЈF_шCBg4NIdKohĩ$4QrFшZ,hgF#N9ЈSF#qKF#2%4zG#C*d4"4d4mF(yF#jFdLhDd%4⢬h)qݫl>OdD%mXȈtzM]Ɉ0H2d2TqAFl2"ԃsYɈDQF2"DFT2"KDF,)+)[?vAFl)dJBF8_Ɉ. * *e>ɈhJF4AFɈ($#VAHQJ"#Jx_X"#v|"#hdD +IFɈdD~)DFQ~dD2ZɈdhX򉌨&_uVȈ3QJ&#VjKdDɉ(!IFtG\ɈȈUޞ'_Ȉ2*DFDNdD~XY--dė5ɈCHdġ2d*7ǃXɈfV2bȈ!f\ɈUՓXȈv W2⢬d)Ft'9d2dz72"J"#<Ɉ3QɈʂDFCPI8DFr+QdDy3l"#g(JF+ȈSId)<2@FɈR2p(9Q>ɈodDLFJ"#y$2b=OdD&DFO*8ef2dD^DFחɈ1 #JdDDFO2"r"#VV2dD^&#VE)q(8 #x##(a&#ÞȈU'Qr&#ѫ # $#j4 $2b=6퍌8DF\d'#ʍɈ1H>q<Ȉ(O2"r"#DFRdD&2Q,AF\FFDV\ȈU` D&#*Q2h0p`&2P2qAFחȈ{`D hRW*`Fw0"NF$t0zI\!e0"N`D,`D[`D7'!?WѲ0^`Dæ`D'0"0"N."y+~pA$."Wzri;b.".EDI\D 2{2QWG{d"J>}"bH`@'XDd"@ ,";;aQ< (,E "+QHց?a%ZkEd}cw-/4N\D%d.\ĺ\D%d.b%Om"V֞\D2F^"jQXլ\DGETC\:EEqR2E( "Q,qqpEȖ\Də\D'FE.\DQQ"V`+ypQ\ +EԸضpɮE'x\+9.QsN"*?Q\D0sew}""2bYEp"b-c(XD)d,Ef,:VE=*KX‚L,"5kO,bQE,d=Xu7,bUM"V[NXDdC:7L +36;ҟ"Jfk`My`)^"VEX2Qu^ +/J,>`UL(KѪW,ny"jXD푗o`k4XDKC,XĪ#a+XDWH2aX" q,lXJ!cE2C9X#'.cE +f,XJSHD"hEDNXD) (Et\Q,baˊE2>`ƗxX"*WE/aڐcET*cg$WEl8lW,";*DEP*"I{*Q@E0pQ*LEN&*"ʃ؈/TD3~~"ʙc+'Xi"6TVQ:Ty"꧙D|P"TD>mިTIEDNTD)(vfAEl[y"@E$6Q9DElTDj`W*"ez'QB"j(TD~"HJTPfhr3'y"JHTD O*"56Hd>QQTDTd*2꓊hHX"6Xl*"Rqt*"RO*"["bTDt?^F%Z @ۃHu@"RhɕhOTD$*"ߔ L +DEl{$$*"?MTĆ#r"6"*%SVJE$"$*TD Qrc|"ITDxT 'ъV*"DEOԓ(y"R(*"hHm΃kOTD}8@񃊨=e*Q^ŕ>S|R1uBiBJ@y  Eԧ +3Q("S+Q([QZ|PF +ET:A( EZ-C E(CXBFPD tQ("n'EPD'QV@*E( h<1Ad(P Ed"jEldPD HX ExϋGb"\ۓ(LDUe&"Dd {2gXcCV$DJ-`?`6hP25'&-3`"&&"Jb"z2q&&(QDf"#|a".Dr0է03hVں2G柛zHD\yO$b"iE"2Q?%!(9!&$"ekO$">΄D,V$Q> ՗%#)CLHDHDDDIHDVHDʄD$D"HD=D|>ԯCD(W$"&$HDDq"%|@" BɊDTkHD,ńDԨZ|@""'$DHcDd-g$"Dl@V$^HDDT>dF".ʊDr AhHD$/sE"@".#DԸ( (gB"HD>ozE"=!2Zّ:hF"VyG"$!qH)$$";ȃz QHD E$b}"NHDy? qL'$"KDŽD$8@"HD h!@"8^+Ѷx 3OHD39~sB/ XDT$D C+Q$"D HDKfXJH +jD>#u]ġDDIHDK.z %!9쥄DsHĩ$$+Q)N+Q$"YU fv d'~ HcB"*q h;qD$(!zh٧+QfYF"N%!HDH@"Vy+"I{"eE"JD!2QhE"JDġ"i<ʁHDݒD\{6@"epDj:!͙"HD##@"HD->2q* hDTHF"@"*?#kT $" WHD:.HD&$"eO$DlD"3D{"5f$"yq 8D\d⵫D1? 9(!#QHDW$"JB"څ>~+QrF"N%!ّWƊD@0ުy, hMW$(HD}0 HDb4!TScÐX=#]hmV$:f$b@"Z8([6! +X|@""MY<3eA"H~E"JHDJHD3~O$DߑLHĤXV~D"ZDDB*#d$⢬HDW$mF"D$;*![oHDQD4\OHD@"JNHD &O$"-QČDT$DR> &$""uHX(O$0o"Dl +,HD 38Dr HD:hLDTP""!DDHe"|?8[U%"O5nq6"TLCqu2a[[XQ(Dw$D=_}rꕳa/exy'E+/|# jY 8PE(oF?yMg>LH""jd/;Pӵ/C|J5zCג =4=g(^P}_H U/ԉ;ODv^_J\.{Ef> v(k8m{"BC55hF9ڏ 9l'0N!:PNFF@ + +7趰 560YA1/bHپ@ ~'*ۏ`XC +2]q fc N/O,x5;覼 ;E=8\“1 c9'&W98O*kYE +x +,,rfa홐RDXGr,,}Ld&PkWߐed"w`$,,jF2 I,,X| QX(u7b9&PJB)/~#dk ] ,|>ϯ +@mJvO`! `8 %&Pʶe _oe\;jo_2PdN;d',TK:'A'Ԙqd +)V8j1rׄ7V86HU(籟T䣫Tne3|7ͰtBNw h<0s4?lG SXS4<#~KBLQq M(PC[@豕7B!rrs*!ܖ['uC, ¢WZ3@(ۚ@MD(Sk",8A^[bj B3kt@a! +ikB[",TyÉSP's+\rNRjZ  \DH3+zuy{ "DIG`WVWPZ(̤{,x"T8$!x慥R?jzf`?ȘA"UDm)Wgcn+(B]?k"FeYt( E8@kpaaɺ' mݐnv} @Gy#jMrM!ĺ W?1V!l;bk N%=nfBgl-$Vl8v>nn"R ,B)LEѿ_ͦZT+TeCMS/J[dw‹~8;jd*v{V,©$P#%p@=ەYy^"fE`Q˖PEn^G&к8DHۦ5W0kΫ pK9-$B)vD6yf<+Hbu+sM"j_ pQVDX zRH _VrOX Ehr='_;0Pv؊"ԴeS5;(©$EXYßuiI"ZлJc2&@1DPz(B ۭ)0ELP,*46rF0CCEX _/P EXk4P"`X",o(BŊ1Xp 47vOca&:ym J!A!fs>J{B |AQ*$EF6PgkeRu6fOABr}*jWZAYz2{pkո&yPO{AMG=&vF%] A`ٺM 7w Ua`7XTv8 gA)M,mx~H ܠͫAdr  +`!J! r4nP +,LAd<䧧j71mnPA}np 78 f"'1,rxOb*[/2SV{g+&X0AN`lȝʤ.JrP%A +u+ueRA)ۖ!uڎIDa1uP{it0BνR}AN%QA;ƹ0`/|C:Xۺ|>ߓhs"9a;k[cS6`QMq aAO0R^lAW ;(ن\WA~zvh$_`u/m$vPHD3pPI.Da6`4 h$Ag#"y xIuqP$ 6?-[{#"=Rk8(弃J8:;B +:'%"ۀ0@2pP, +\53Y IcQ_ q +֠"a Ad ƃ h`FTW~{]]U 4s0Suʠ\kAȈA}0m;'`8ܒJ|Aܪ jGOA$i}.xtx*q),d)X8ӄ*%LPONxkNi:a*p !$A +DDuA9751@C )HPtg<vwV Xe7$>ax-,%X59kYIdJBb(D R!.jB 0X*8?`%}7J F WEG fc$F훃%W A[ J~Q}M n] J~z-3sA\s}GP|#LAXh `M +2#b>MqE1ŌL꣺A)#(p`QDA%Yg Q} +i88>,j(Bw=&GP#%AF>) 6z8E9:Z0c;(Q-+FP +)e!%#FJA5rA۳[?DA yyM`1ePEPU";7(Rq/Q(J݌8#_rQӫ2Hne>`u fL⯏XoX +EPO{_G A%]]A d@~ʾI@MH~H,mc:ȁ(}OpY$"j(Q€_ Tl7f~Nd >ȵ-:|L*cYjnq^U7^v ,@: Ԛ1/?~Kv/PO4C<? Gg3WO9~?#!HM_Sj(hl?5 ٽm]b>ꈽ3دdp^@D[=ߨ~RP?XL?u/×qMZWܝPh~Smk} ON0o +OvnA~0~zqb8ڛ9F3ÏRs0~^q|'A\"7A+~ Z}i^p>{>KO>"AoeJi7ܔcJdex2CiPOAOarkXeYi]GځҼf{ҕ3YoĀI!W*}^7k>: v_}rv+b'OB-O1YK|3(Bu +M[>'zd>'}41{2'}H |_zYtI&q +</}Rǭċ>&x_!} +]jmĽ$xɏqNx˱xYD}SKx_\~+b1ާG.WxZ 'x_ܯ OBx_рC+N>]X?瓽RQ3} K?>d Ib̾ WV|>}# Fvq;5+-L>Un[U xOcާ:  +QC4}z.[N5s+Mr&%r2 '>}R#GQrOmJ#~WIrTp2_O|G@}桿I:9O!<G_OAﳦ>mI>>Y8 zѤF3A`JGR}U%湠q¸c?'F S뇱6|XA7}$z_悚8OQKI>~QWp wk>}]}:3iW>}ļyOJVYTbFBT rx+YG=8ޗ@AS=D𢡄~<$gYw2Ggequ*M~cVxd*5x]]uxdI#NwYM!}0O>]|ku>}&>k I?C? (}: 7z(> ~e$'~bfZ ~g,#ն!"~z) ?} 4H ?YfO9Q` ?% ?[~ʔ:@)SW 2OqjWhФjbɌ2`if`)HiPBi`q ybVɥk_]/#͡:oHs>MG!eƧ~ge`\ kTr1>= vmszLA8}RȨ> ~{9@iȶ$aI4b:ƕFjaFɞ@)Ug0}#SjH9FO +ً݇L^P'k ppyHJGg,HVvT%n`eAx*V͊ Gr:X>Tqew1a)X'2,W:?}R4}etzSU>q(XQoVrߔܧ p0}pܷ( 9}\X}z$Op9PVp'5$p'OoUaU@>8#@s#ą27UA>9Yb%rT>J1iL4}lOP*0$rܚh )-Z%r<>* +r_x#!zMr?hmN>ŇP;:E p#SVuqlYf{>ѯˣȮͬ>d OJ }w&m O +}E>+JN,p|I+늟4op~)3&ff;8}fL>P>VХ]ۇ_G)I'O zܾBW*_ۧ Px}SX}C h ˖+Og 4>!>Lb[J>d؇+"}RfUʄlh>ZgW b  bTR";OYOJ^ &Ɔԙ}SH̾Ev P-;O?%K`@pr۴ʴ7"`]>OgL mcc6}Dek!G1$ρBu^2> @<v.DX'G5 rs ܧ5cv8} >K( fY'oL8Cކ3K(vI#owO"QTQԧ(P p:~?addpp#O[&{g]<#96ox4kR<|֞Ĉ붥r"B=6 + ,`W(_hS! ]O+R<9y|2Cx|S}ES4ZƧFZ,>%dw>@|w >o> +"G'|[YowBùG )|Oy +'kP+zt[6S[1ԽwY '^9 5<po* gb9SGOճ%ޞvW5 +&m.W w4{P/c]_ISbD=ma;uYת'){7V| BBM`OXj_O`ۯDC ד<l=oh=z[BMձztfY M-UPs3'] SaՓSw[J*5z,NY.&H~ʁ+i&@!&Գ~N8SO4 ;Q@TzCV@ʋvδglGo5.‰z*߈z&mL9CFΎJD=fC!$1@oB+'{o@=XAP zFG+PO qGg"AK +rbASv8QO'g,@=rPO(+P@=YcP-wpꑯԮ+W.|UgdsslA9ro4ꅃӓrZG鱍q<={5<=ٔxzQ&OOJ'o*xz*jO[61hX_pNO8=zNon8$WGw MȝOTHYWL>xc7imcfPh#!@)opoe\wioKDm$vm !Q- םz#̩]$=<Կ_z?q"~oǿsyۿ/go~:oo}7k^ۻ_yP~쇿χ_hK.כWr_^q?7eoƾ?~^6ۗ??zY +/_l_~ui}~*U, ](?IoK%@zjW<-Ax_%S_qOU_=Þx{n(.k|?w㊩8p#[7<}Я1n|`[n5p~Z[ 'tϷ +{}z!x]?C? J&KqTܿVz2ǝz:z/nŢFEz + n.RH~юR7-\oDZg!zj.}K=XrC̓fz釵W&Z4\_H^o:%\%+?\'8/J2je)P[q89">vb/4a௽MoOV+j{6nAT]%0P +΋J0p۷NAFrem``d"Fn˅^7n^t>o)}B|ֆһe]o\q䷼؉Ӳ]Qe5'K3ZsśȷG*`#/5NC9M aq—Q d#a7 +l5!6#3aO>_~ دe }g,srMV~|;z8MR]ރR1V]9^\^B9.sj龱R?؃xyVt۽S/99v(Ϳ59q Lh|$8oo-eףqLSh|pzȝlMmhY_ |[}.[gǾa/q 2U]V}/Xƫ{AZn'7_x6 c˟?އYRt՝SֵN㛾{5rRw:,!Z}_χ~ؗ!X==yۡb /Ї>,ۡBSχ$pC??3|詿.FG=1OR~?_ᄏ8>_ #oojvmG1~[ ߒnU 1)xM ,^JT7V%`Gk UK_|e~/anw(XlOoϷqnRmЯs O J+"qϯq2Q}c2EIRɓ- >8"Uy1YJc;ȵѺ?/g7?tum啮WLxp\T9ɥPXE]];o^] _ĵ ',Lg{ŻέxJy;7G~C`q"j;YBV.xt/~'u9}zՏ!7ܻ)+eղ~@[oX>{}{WCROW7j졎D<2z8xo7㈊wArSo5<;m.S]HQ10;1Q6>h沙|+%Y|1xzoʵ|g1tۛlBƔrЎtsιtmj%{ۭ43`S[{Ȕ|~]{Nw/f~z>A=qm ڔv3>!c&.})m7jA݋1Ï~$ƠqH[i|wКVaw*j%'TOD?zt7ݽڶ+i툷8ӥG̳ͧ~s/[&;H-,}=_;ڳ/m=m܀KB5]ƣUl~b9%C^׷S[LJZ-RW'p߿%qybaxN?dGzxn>nh7\kǶnɇtYne/ںL1++n ZmP[6u}ӏ#~[oo]Jw}y_lxhdzgb5usp+%bD={H.֦KX|6.mOG\&Lsu|d`qVtsZicE-[r׵uxYD5B[{n|^.Z=9vfBW2{eq;o;niwSZ]gPRMWc/^Rh1Y#i%}X3 :bV=eVcR@{=bV}-c};˽߮+-7B5q~KmuV+i5bqsCN>aFv˨ODbRՇSc&&whlO~{s^=<6amLb9P]LӬX9181"i&R8TFh^܈K^h/;Pm!fCnnéIS_m3G>R㑪Ю!~«I[rfB-bGM3%L×&3[j]g7/օshvX +b"s3rdk 7 1uL*%p;̙ 'Nu¯ưRb `v +VSqȪ}ǎo$eێa{oeG,= 87Xamَxo/͉-Ze-__Ҳ;>q{X4AaS{s^t ?w:D{p>=&u\Fcpܻ/8nm_1+#z!^6!ئ˂jW|:XlGK\Vvx? &5i뢱twSeZ.|}}8:=M"b>˷ۛM6ݧno67'ߧoOo{Qdռe =#({~Z,P}g?sctĔ3`mbvp[SY,>fWoco:.Z|L>xܷ >Mzy]AfcۇWkCDV4qs}Y-Nnƿscǯevqd~ λ^.aߊ3^>ey+sIw|1FAUvƋgLi:6Л2vw36~8f2Lf6FC467צ6)nz>`#X$c9ėj{ǧ^:<ܹ[YSw-P?N{1ӻ}]@v90E,ѣwKh+fM!?_c%vmB]N;uGhGlk3'wV7쏡b6=m\JDV_Xڟ_?, žՈ02(jbdxO;ys*>{a?ݽx F.Tð:oͨIOa܏nnC?K[ u졍=d .kJsY8axkp#o#iQ߾mӷX .z(MzMcn-\kcqXWXG9Vu>hMXI8`ڋ!>{e#*r,S!AwW/\tweo3im9}NYpqcm6x;,t$ST 1ch>ןgy_>mv*ҒI2WEᏡNJVsX )5zdA,F&3ڱٺY~d[VÖ0[^z۬,C]m͙-[O{s$gۇHY}8M[X̮5]:ilq#6\w]ncPa,{ZKĞg_ӝ〖\P3VxM +T*dc8'ۦF +C4{eoS;..Y;gc ; Ջo䠉^o!{B;̇._nP,Qu| ;VbJ;,ξsvv7xWF"z8uv11_iX&Ӗ73ƏwDiϨUODr1#"vWqWu$(֦~ܛnkg[(Dz^ ȻҢ}߸ZSVF3Pmicm#0p]${3#_v?Sq>Bs,Rbead1[}trq Xcgn!;.Ő "hmz=׬f]\"7抋xp>F~11٧zϹGlp&-}*ƥ1 ϣ }iq45{{#}K&.!b>_MGp)w@ͷ?=j7~w*z@&Z2{%gWH:,hb1Sj50{8#4Yb%{갯Mds u(mi7`,%Ӹo6;ȣF }lOhce]'|;&Fqw${+]w8wV%X?)f[Wu\q'V{Nc H"(/e"mXoٹ6v c_BcÏZ=uZ+1 vBNϵ[p]҆cc؅W6]_0~1j0IOvНɶe_7lA0Stp[rs7Mc1*ue-=K-հ?Leǵ1dt#ⴢ?a,t+O^gA͂c@刘bhzLC5)ɒi˰ d^GeqQx@vx}*u;e^2bK _꽍ekL#j5E7vq,.^k}m sa.= w63N=.,#ܢ%Dk۠DUwmo<%ߒ751I%^ވ޷5Gr;B/OtZ=i(]rXW= +pŋ3䗙gM[j6gX=*.D^LQdA`RNӱNkkBRQxLjUD%U*84OTqm=LD +>+ƒ7qfy>YAt$v|.y DRН|;_N^y^?pԵD)i!r>K[ Ÿȩ$"mY7I5k 8U8s, +Uh4EgOx3Gj+t&"g2Bt/A +lǨ$#Rklml+O:,-rIUf"fQ3^#ѴЮ5)fQqcW4e\[T"2(/HMiCXt՝n_]-\򬄎lm&.o#2$hTz 5;(0Wמ(]W3qPE_áb$mE+QC(P[uuZakC[j*2N?Hu^v2$=v6w5ΎN1ND||F!$z>Δv!+5 :i]#yyLPRmڀiVVTA]l4F6j68%[]SmLASȷꭡgB;5KuAY7q! +}"*JrUbqUz +q#_cUwi+WqZAe{;#iEjGbjmա +쨦&m(ըlc ՚#A^ױ1Ɔ)p\c^܀g"&G-]6j&5n R@$L55U_qOz  6}law h=Q}ZA(}CK\<#)Fk'm.A-'tűhp Vt\S)c1PO +Pu:ל/б1zYkӓ 90rhRN޼BS4ԃ=H0P@R`lL6Hl96]UB-k:Lcm!΀ZpDN=Ij5!P?4 % JrIlxf勲d C/D;;qspA-eAݼBN`ւhrQބ3ʡj(P]%.E3IbnP#J1*s$Z2=ГL +UbXkyCy$s*%-ΘC֣xw*'w&^x^7`yGP 6xG˧I`]JZ*=]^%&(9ję+=gN5G5N D՝\SB 6s4l-AF uSu;&nmS-XUB ¦Xh&tKMMIԇY;+Qcj;Aj[BL3kfXAt0.؎Ȩ^_oIHzvЂ&Q00, +Ȫдk28q5eE9զՊ39xPY"A{{0lWnLMըeC9j.T0CD+n-phF)E=}űF9XK5Y[ƆBH&)Z(y[t`d +=ߖĆa|<,LVAđIJl߀bqy4 |qn3G X0 {m/;۰G +]赺wã㕉I +ݖe>f#2s5칦4@SkxhZ"]l^Aꈌr%R|VΩJT^̙~[L|u] W4l:7`Wج){'sWj%EָRuhBBZ?I1ù ŠԩGU9q3#trA5'Ů0HA cb5;S!"i5rTʴ% ?*^2 +z7T̉҃SI.T@Uո4!Z['fBd!Yjx.M4d9 u Ye35Ʈ s6ȉQN1tA3Ȥ e+SH D)?39XFM)[)DyX#}i*< ȟJ[Š&47ХsSQG'*(ki4k?mph& ΐz23,DO-J'6|U"j#n:*2_|&V;(H5T&YQVR\AƇe)zd_ D_elV[$A/iVM*zz!Z,+}YFUB7J +  + 9߶<謮nҀn߱&-LCE9|Fظ՚ڧ~P[ԫ +dg5E;Q5Sȸ : yIn1Urud55Y y@SВIky1V̍(nc]2aƍB!rMf9uHWX%]+:-`_\.sW|2&/(`=ڬvH<\!աf  ZǀFPqPUPk jU'1IP-P~0gm5ɈyacM*uS^AkF2dJ߹U_A݉CУ-JLŸ/#G̡ؗ0#{a xhIi@*D"ٳ*t);~Ϻ;7X KzXg࣬5-rcӓ]uߍQnaw|e[KhAJ3lʩe|cI+jo̰k"uk+V8N– p-h(geE]d+6܊Igx_Z Dah_e0Mn#\E_+қ7@M"L 濤3wbUB⟙SM3Zid-Ф,7y0q,QDB$hMLeqI~NRcE',2Tn"ItPє4/K-EEGȚNmzA^]z:kձEjs!llજBJ~G0:kWYe bz+Tu4Bg뾲窎[fp@,JjRғ*2?]WRȵh[LE0v ]&jNEzd }ӻ f@1$}8˥6tIeZmF6ӢZA 9ԊJ~IlWj޼4]BെUcM\vk[=PZ}l92MK.q(QccSb@dDFfMPڬmhBzjMs +MH7Ee@ +kBkfz8a3qW/1Wp%&;6膚AR-O']+*=yB F/'X;ubwY3'}8ZWK*H~k6ꊜ,D>NVjnhƟ5hڵ㾰kHg ٬8ekQڍX!JE}ЬYu@{η I}vڙaj@IJjRYڔknXД2[ܖB`K8Tͤ;MDeePMԸ{͍D&c%RW f m+ >UkwXZJϵ4ԙjejIV9UǝR0 +O4 Ƕz})|vZO +kHZYu(: (#4Y87kOWMSTZE.ufbwU| 1:2c]+fJQYZ4mE+亀+2vg^OÌݥ ]ZH#@,jH+\>h!J,)DWpdQMb:_oYӱ1WgD}BKЌrfZ4yC-\iŤӪԛ"Yq&mA[`^bÍ\_۷o^Z/ο? +S2_`}#˯)pp՟؊8Tk1x lpsq'3:,ǤеԮkQ2V9ĨR~6l [KP +G=Y| +˕_k{zҗ :'PT;5\?/|cCLi%pJGQl/rSp x$6먘W ѥHmiESٴBpW=i8COn#Nb GVڷY}#u66ۓyt -%Mmizzlki><~cǷm<솺 k#˖AT<ư2 k..3c|,PĵOX|˙OMw|xIaFRi⻺ =Rc$wls3 +Hu`ԉOc'*KD +07ѱY<Ӆ +~IJr$|"XR +@F*yRV}{7@[V"(G?dmF^8vHⱹ2J9W叇߼;_?=?s5]#ݏߟa~닳B}wo.^޽Ӥy׻0߾[lwݽy{?+byÝ1?f^,78zh[cڀE\~܉óQ&`~|yם,7ow{ޖ؀gmkvq^g[##;u8?q8i9.xs橚v:]_ӽuN:[N7ӵN7ڮYR{qק/o~xJC,,l7w/?;wqJDֺs_oQ*?}{q7^9;̍ /xhl$<2mp\ Db,$Gy{˳ |ӷŀ ~x}i9E~h/Ó;,򟤀4Xo+|skx7oN2Mf(a1mlodPwΟn.N6r͗OXeGa/ؕ`SW6ߎyzfzld{~umq#dz0;Nhae x o.w0}6{]4ٱUs]ּ68a~<G,o//.O7;uw׌ /7(r~&(vKܞx1o[;ͷІz2gI{#{Iʹ~Heio{olٝc>JXb.> .@ڱ3{['(H *{],"^DlmHV:~}z}}~FN9=x757 6k6.|yzv~u~}|]֏vwi&?>~n` [;6wp!aQ]87[v85[XnuwXh;#46?xlfWa /ܣ{h3o/4?//!>Yw׶5!)qvlka}}AU3~x[=|yqwnolk:no6xzk츾{{^p(`wil¶xyq}~~7uolH:D)4yK!6XͶmK7>stream +;]:{إ [zOe.K?as.=]CۙC~]zy`Ξ.vi:viBhڄgwkDMٗd/ຢ#O3zCZ.ϠV'7>U{bq/X\bq/#{[({eN9^(P{/{Uq/Pk{O >x',ןQ;MƷLw~Oa89y + {e[3O8_o}%QUfr5ξD|%캯j4=?o?k!^\<uQ4YXMb́&.HbڞNM[ٍnw8dJtW.^oڟingjn\})_G=[rXpqCnYMF䷨?{Q-JۋWwU{(otK>Hxg.;GGsG}4kGgcGq?M>hOR<l## 'lMS{y77E`-^[x~yy]y?{[;?޾*־5hãaAN^e=Cp9'{s^MN½kq\{޵>R~'.n.>=}Ѕq[\-|~YDZ{ekGb^{q|'熾egŜbB?OD Rdٳq1czYQoi2U͊^(yno64xz{ZƼ Ti_}m:}d_}m{Nby{ˢw#u_iU+9Xo~P㼁7.v~}OU] n`@.xt9>ClS[{tFloӽ}Ow>]_#ۧx@>}m춁8@{uo Խ`+.<]u ԝ0P巷W:=4O>hHB]߬\_ە$g#sY2 +'Yg_W8AYZ삠-SIߺ~N}7Nt^o{INLw޶F>(Wg_naN(7jsAN^7|N/jߑ7bp!_kB[_MmOZlgPN6 +hgu{=2]Md`Rƿ7盘}7}]W +ږ~g_ʦ + +#rOg~gq&?~iG F?ә0Sk.?sy>#yswJ{[r}lk="[I"aaa:Ftvx0ߪ_sYok/oRtDŽ >_c>n)<=Dgp?9_<-])sy嶳^3Vlh=p+6'n0׿~Yo-?\eBqu~ǫon.ɉr~M9pG_G׿_Sh?뿇卯/= WJ:iV_]I^>}Qh0c<R.M K Gɸx1%ǡl(OhX~Xsd`13ctpÌG1!PQC&ʐSppriո#7D5d|0nt!ke&RS9GޕPrrє^uhL)b#iMi +B efAC0 &BLeˀ}t3 + n(-B搦| (N8Z2a(ZKC ,#u|*̔2Xt4xSVh Ђ/uh4nY_yL>J0 +LXH'DmyϤ<@ \X>2h-51 e]eqQS}!R3npCW|C*Ser# XK4g\ai +Ce_Xt,LJ6#g/!|pl={f\x֘ÅPb tzan?$xEK;Ōqf|Yxe(|}Ff*T&2KSriCY%eWpJXhcy47 eU9SfzP "g⏄*hIǔ1Tu98*~ (,c(Zq=MF=VlD-r,CÆX6E*la]Cr7P,Ʉ"$mKǏ1Ag0"N=),δ"ub6e"o-d3Z>]e,{bX)[{MfHB^"=60qdiH1B1@ +V(mfe1:aT694Ž ?̽9aeaHzӜBP{14ռ2=#vd*9Ķ屔0RKt2h Mit0)] lU3''N27.{t +D,: X^n\dsٻO:<1c,O \We(7# +dMvx̧,zZXR?ˎxܼdVw{ +َԁaQ@ ~ +̖ T((tpIy9"[f O2E'8*Uك.$AFc{ȋ0 @BiqWJ+[h̥P;ʷ 1Ɯ_ 9A}8ȖFd-a,EMtv/ª0 k@Rӧ(N&iU=|A- -;2oTLH8z$%94#BXc2),0$ꯋXT'&5Ŭq ]@%V$ N=$ +K?uffQLLRtEPKEц0$Gpa,}plYcY+/n,'7M.i)``ҋr6&FXl!eiI\"8I +#Tw0γ5AHFn.|&Yf@h6j|&eǬ`y?1E0?^iaF0n,lg̯Ɇ ##t\&0U[E)ovVٹ֗.kł.Bk `TI*4r|lXַFs$~|ÜZ1e瑒UF#_ms񔏐`7A:!-=Dud#d 8C 58>5ѫQ1!&2) ȢqQN0tSA~j6.S,;%;c<7VTlAºl3D%y=^`QdlOc,o1M<  +?(rb9AhnU^WpM]WL>idEv<jbϕqPa#0i?Nxn#P|ĵ|M g.bC>#b{Y2w/x0`̲lKם+dw6 K;r]xWE"xrNPȂ$HhLse5i} F'`kMB7>;U_'%%9޳̋OV{.s6N=o 7#r&RP&|A'Qe˱#Fbf>XeG^摧52,->b3.z7 'ظd "dstaI K(j-vfQR@eHs6a;Z-"9zR;!ech8Ix1t.RM#kA):q\E M /980&ASEa "V~$#wQdxF`o;"ɓ8h/6)N^25".D{gA1,~Fi AMנbuS#0%G'y8qoK$R88C9)'Gz-2B7̆ +3%\!ڨ,f0YN3\gc3ʚ)ȑ^`@tAYEI%ݗtd~!Y,z^D|A" ƂH\Ds ؟hpFs.AUoyN3Úr蔓p +ZؔWb,GhC"+&Yp~8#s3QUB`TEҢ1`C.ІX0 <~&qI0~_i5G KnYuc$X6WcwZDy|[&g`_Wh3 +ŒJba$S%Q5-Pm=[kF8R[5c'nb ɍ#)\L7Ў{86Ks8 +4(gQ?̩ZSn;O0ޙI"uEֈ;,fK\;k1  3<r0&x@?6o/-7$0#zj2&=N-6+\#fx`9nxo Pv,1^!hIUs]L M'o`FӀn< 'Eg4Nx;[}OAF؉ q{ +i #6m 3]2ROC!A@(ak)',H%rL( "cH#dW|jLa/g/@8. oi$YCyMXh3c( ȱ}")D00vJq1"/zX3ÕO1,Abm"wHK ☏UtN%K` + / 2Hlx.S$MR͹^f%f4@ޱ#EH9| Zv`p3s22>"x pE$ޯ" (*_UI8r(8Ҽ,'$t]. u/l}1 ifI43`4[{OCuDl\@ !Fb+{"%+sCł{렪s gadyfN"&OK?Q]d?V!3r[*%E?s @ țBc'% 3vY¿ʪ\ 2X#?@**JtޱrdGu}YXtL|t@xmM )Q#4eu{A'33;zbp [}~@Io/PH"`re 6>E0 %Q1RNY<N~S0 -xCAI .Z؀㤅&|k΃U9@cXd!Mk;@id)ߙcy]4_f 1XÊ8>2 ^ +y9bn k˨2; IBDNQ˶. #Bbp;"z9"l+P' M'/>(?ITb&1kq/O;a_ivQ8 R01 $ ;9iGNb&"`?`cN:1ER -ɕ `֗E 0<&2$q7a5 Z5B`K#i쀅Jcx5tӳ8^GJ Rұ4vܦ,KzYZho!aBJQRYX2Xu]Iasff3l|F6Jq"DY^㞵kQ $;]rJAI%7sh$%>Uv48*TĉvN p {<"QNGGNV}yHnA$OS4rڼV:R{Q-`Eu2=qYbt(rX˃͐. =%Ɋq7l4JJ2Rɢϒ/,l OОdH߬HQ9՘r 6KI$$>-sz'oU>Qx K9ȢĈsJh7bqz}Rs۵K9V]b8V2sTJМp>giv;a/.l;n (Lc&4/J]~Nq +װ u8b>b4 +'=ss7&_'+>+14yLk'sj.F ‣]l/+'+be͠r3Pk8 02{hfʔFַ`ɪH w8ٸ:[=El*utBbwy>\Qa)k9ɪ\A+v|X_hAb}>W?rUCU3+o>TVW**˷Wקw/=|^3P^3 tZWEeEb, y/B:{@Hd83t]hV~743'<݁4W tgPj3Nl_&ySr28ߥlHqu> +M@L D㗨 jΦӁA5}ۑdLF\Gߐaqsϕ 33\xlxj#U*&p_2.Շ߶TZV2:7#H[e5~La`f-?LK5gnr`Z|?i픘M{86Vbf47:K“_?\E_FS] =qmȶŖ{mU=EqېJ,u7NSGq3`5?3CDI@^L̹ƒxGO]8\Rbh5_?pʋ/~Lk^m4_߼,?ݝ^nۋr/֋n_NZB9;gw\e 2Pܖ&ؓNI+m9g[Ց\Ȝvpq}t$օCh Rjo:m& y9rnKR)X/BZo)0Q0h@PY!4xN!GY!RA9;?x@~NrTD\@2N* Rؙ>y6pȶL*!z@(S|6T +gRRبD%.}XB!PP&pÍ^ 'E G塑 KǨ]DgQ%7RBMy@yv׵kBoQ,QA@n*>QXw\l`0I"t$DAi[2pJz8.{j{X9gWr(ٜq"oVɏ Ov)=+[OON|}뗟ޝ͋W7??xSl͑^ +Ap̌b\2##%IޔQm\yD%y+H!O!) HT̛Pt\$d@,⦥ZfriơED@һ$$] ZawțT(Rʰ[SdwŔQހ:;~)*&0RE!oeLPlԭg]Q[l$R Hzp?&q l4H2"o +ĭkNwe;HZy!̄:<$rroGV>ygk ,%*s-CxǗEK]%Y*(uT3\r\:Jz='J8LGHj&3 y\,,A;oh) _2qPOŒKNKjH*9 q.1Ձ}wpp#nE*YшjДEUWD*#5N-K!4~L|=2Qd,c6ZDYu#_$c@Ad&r.^4&ri<(qS;vF;Za X.Cъ2K|+3XۈPA|&b3d֤4!E1sr6JvgҔM`kFN >F7+Y,(q-5bUޱ7*#_ hv"cK",J+=1CaAe3?ᗗgW(5ul0v7焟w] }_.Cxswob|E/`gyķeԱ0Ȁluvǫ~d}Pwm:[nhi_ߝg}Ҿ;oisδy~~M[߾M3~~i͛ny&:'4-m0N鶢1?ixDöMi=ڳgm*$P$*IaY]vϥ>kV4a>$/Q|f/h >EF+ߵP?j'*[V@ E'JEgIԨZ!5Q४$}3A*pcQ(0UJ谕SaqopT19 Lz7UlH"E&^UM=U֫^kGAĒ(D}0$~" !% DE8| 9MC!Ta"!))dzmQ ч*AGϤ?wQ?(㫐]q簢k't3}5PV@/&ܰFw+5/@K<(Wm .AI$טZ%|[ +cT|DEEJ`O'N6AQ7Th LH$Rdc*Dͣn<ظ!HWRe4}&j%-"BDr ʐLU\σt^N4(S +Q +:m35,. +O|z-8j +Vxe$ +"xUI! 013<ʫNKQa/LIp{B +Jk#zc13JG9 HSyG9*m +tp6+L*6w.ٳ +7U;*\L|z2w+m`x9_I[PDR#j=PHACHvVrz3dyđzh1#Fx8'sq"Cor U;n@cK&j*`iA^@A: +8TjCgAXƎTe] -KHV4#ʽJt5W1&R;3ET`jSHz4J:sHLNde7Q]6&\#UNr.m3/]1tcP$=4FAz']VVlm95Y}"XIuF/Ug +H+Y@xNViu%*_L"/ $ G_$}=MN ̎B7uۙԓS匣҃>;~t;Lzw/͗ ;^ߞHt.7W&<&Jg۴WMg8w ]bSUX1S*1Tŗ2?bvUk`:6CǷ d :2ec#]2jԨjk:5f H["~!=_\IR3bL^$"%lzӨΪ@,:I%,"؉%Dc=#YS!Eg W"f s8u^IgU .W5 02ŎA,&c,*$*HXx#SӨu4%A~XQ.JWRqˬiVh鹠&WJ#|(CL'3ӓ&V!tzp2Hnu<]n N"SRzHq~Ii&_42GOԿC?$,1QI^kh5nYZ UeATu3(IHzz!;aS]ݵڑ*_J[U1zR'uT꫆)NNJYtA% UJoz&R3iQ%DI<SOj8r҂Jh*PR[q=e5Fj1%riy4D1%:]LT?1%$1%i%|\}A%*" ( +>Wc#!0wVeA̞*)aa%4_K.$ ~jTI"{ I(^I|BL lm9Hs#qPԂJ\J^x"ȟHӘ;QbJ^к4OU[Im<{Bjnbk1%kLBϳ܂bJUcJ9ass{!5ʃjKRi"*+ZLK5u R TmuD@bJB=*JɃ͉c&Hu:PvxRj!iP#uAJ5$T +la+=@ >>"I_=quD 0ڜS{lzඨܬXI腅3 >W^8Wm4az5Om.2SY%$~2pu +`sZ%MAȫz,Q#/o A[SqY :~غs*LjʤTV:_S1Oj_Τ;1 RyUc/SdFUC%H!ke *[+zb]A_* M >O8t5` pJ_U}Qa_x;ǖQ!/I>0iī8@ 7LGIvJ I5](Q43$ѝ2Aso9y]׾JO0(:R=m25\b>]sIJ]lsԣE`dT(ATvLOR#k2 _tu0Xaɼ]9w`t=^ Ʀ!LB0!#:Eߔm7a1\:RvKۢfd[;־|irLLy⹊NwԹL#MZwFO1@nNN6Xu簗u3SSץTWROmw$vx*>'$]k85Hۻa0Z^Sҥ^#tQ /W.PH,\4H[{%5u}4`WO^}RSiʺCt[ye0xp2ZWqY6$ȧns[I贍X6fYYvᜊ)Da`NB'R2JUs) ҈ZrɃ@ۭJmAn$Qgz&a zӇu% j2pM4T2RԠ1]T-g5Y"ك:"ݎCa2qi. +.Na7|uvWlWJIԪ pH{߼<(zZ b:,كYX5Ǯ |u^.wKFaD[]gN熒ߩ+ԔFS?d-尛l4r;ׁOTPm9{%H=voSOjXO.H;Hüqevtq\0irO^D1=̻ug`MP$=˫$LOnu%|N;"9Q>Pͅ2,.F](!uArg7F!󂘡;"j>ӏԍ5dݷn;uHS k*طzrMÜ8ԭLV.orq'Lwy#‡QZm>.1T6@قv`M`+Xe:Mf ?QkΆK@*6'8.m65/R%/IN)ȗwɉ>6+p^6ʹMĉ[;t+Rcs oL}n3ͣ̈́ +묅LڢX9ڠqgtjF[Y.Z9=\^>Y: +Rp^mr|nIEM3ME)š4P8آ玻zRZE}[{pJ˄)pEԉ=NeRu]"M|vx~؇SaNņNņNņU888VTڽ)NņU888VTlTlTȶ;TlK~V p*6,p*6q*0%{7p*6,p*6,p*6©L2s +aSaSaSaNņNņNņU888VT&2NņNņU888WTTT_S~S~SQ=88;~ p*,. +p*/p*/p*JT&2N"888WT_T_T,q*/p*x +,U888WT_T[T[Szɻ5R|l+ib+rFMlrMm5 ;mXꤚDtlrx69Qg69&'&7ɱզ6fS&_P + _&X69F<ɧSSg6y7jODmn&VXmr%6=&'Q珲1;.KX& M4&dOmr,&WfjObnًm)'A:&Q6yeŹM^ϻfjwՓ6y7M>]{s[^6;VxA]JLlr0]펾\h~E<mg_ርWqR( 28ǩ'NOɇL⸕@M=Zڑ' =DMѣ9Շ*WT{\ DtZTN$}0iQArj)b\ok(Ǹj-qL! cqZ3fq[=7Bj8QU5ǫUsA=NW3;Fj݃zJT{<'<-,A [P9QdoJ&֩\/e5)b`I՛$SMqI<ӽ%w+uq .qx[Qt .CsbGq?jSܡuU$4Oͬ.9#ڦ|Z_mktY.wV:uqR3+%}z$a/t T.jtJUuBT075@\ESUqxNsTz8v8uЍOD`Tgb9e0\Ҹ<ڭ/Հ1 +ZPM\6S\LNWt!QK5Y<5 H/М&ܜB(4nqI_r]]OĊ0H|YJx"3&M*duMlM>RI{]IB{]8t-=M/b,H¸J?ͅX֬Kj9IpAI`4}&0&hV\M $\%zŅzsғ}jSc~~)Z3*8MXz;C-}y][;׋kgᴷ4H+M5NBWzA.`"%bxi7׿]7GE`ٓwOg +ġS1)ÑIE [d<+Q/p.l(^ARcbRL'>Z")(G,(0BQIB2s™YUXTvŰYT|~G-H,yGa=3v LO>jbheӚ;/.j$KZ=0C s|ЁhU)JH)#:8-qH=Vn$U  a8͍MMyQ@4l 課D;iĠtfZpa +px_`8P( 9$dVTtҳ+!LxPy" ~=}C ~6vФ!DBI2VODDfՇaJui<.0% Ym)LH֌S"]7ԍO&bYEݦy}%ሚaNXW_[u81]^;Hds@χ\[sYx'8$fp<\)Ʒ~xutH|/ы^yK'kLj1کRc)P* -*eȵ{D) /5bNIkQ5=vr$t òѤ5Ry/u스OCʔ\|bC"gf{:gsJV,I~kY5qSv7C.EqD8/ +-2+Gv^ Q~}ɓWH4ΰY%ω)|X5Ȉx'nCNK0EـNX;Ң4m˭1 ^ECEz!,_^"WdX3d~R)ӨaEgjTx}ץ-<{ʔg wU[$/oZy6H˿T(׈iA'?E<>NXUVk6 HiHt +M"-"jEri֧;iAOm̾-pW=f `q_EG32H_"J IA4pH3pyz DK;m4%q.q4>hh+gǚ+/^.qN[yzĎK9[q'p=;rnyݮO͂NE(!+\"Bu:0,trft.A寀54/pB ;N0;N_DDɩ>{43 wwJ I#6excjKe5]kcV3_#r_ /'#\5NK|#q^c^O{5^ؿU4e3:R%K2fBe7H|~+2:~[ 7z0\* 7iY$VRJrvq&o$և h*Zjd|` F~nv]S#lvC~ `YɼI "[fg@_)(CvO9n)} ~%_Ϩ [ e4D.Z(-"Hjt U aɢBSĽ庿a҆0iD2͈`Dp~AVƩCiRB(z'񦱮7/ K/h H8YX%L8<)YDͪid(pjŮ<G·G׶hB@ + +84c 8 NLw?,Jmiv3gtI0.$<<ĆgQ&bp>Wlh VM j!%8}Zx >\C+@J9F2q%|ZJVIP x`%E㬉pk yh8CЗ=ʧBH +: 15( ,84<[>߸"x<;w˫ aV$+;9k"btf@q6#qA8 |/kI8+ZcԻy .jsn?.O|NK!B7s9B2pDOx g x@ 08c8B0Z!u-S8h{/WS7@u4(%!a dQWWPGe/I/LPԸ-hpy-9 y /#W2S7rdx5OW\ )%ab2Ǩ{ăcԇ6`!^qxpNpA5%G )9D I' @q}&N  +EDhӢAj;B/"%By vZlp @0KoVBK|=aq%t@xtRjXr\q)KB V 8::LbkQCX #SqZ,2i+”C IdTwtTC!H"gW$TDW] +4[p%x݌V S77!"vEg=M 5M $2$q&B Óux p +nCQƙ$=K DS|teLE8"0 @Ii%r$z;|LeKJC RcWrY"ʀp/V ݨtF9Upd9"` +YrZ7z\%o[S8—%,a.cf!Z%@CPߙjJ0i]LAоIa)xiE<V"jA )b"}4x)eFM#.cDI!$((i"\\ ݭkApdӫãBaWqD+Ȩ } h,cc0P'P]*#)Jj0:y8NxU`5Σ֠>AПҫC^y!Kd)[{%܅U#CB{# pqAKNC": +Xu# KľP$SPIxvpIVTMr|o^Ʉ3(-F%@k5Eq2:٤4ETD!CB016KR&TD^:h0.<d585-q°īB21P@Kj9YmN"|fhU#F@|[qD"n hI*k!8.x5AG pEe\F| 5߃G<xTҊNVY\tԉO >"H +I )Q3Ép-T<62Nac*=ibd51ƝK$N.k,V Ute" A + M,KssroxDs4KL8>EzCp(@FȐDʟVyR3r#ib(]0P!q5hZP-Q,KGF_d*2D1]^ԟt F{I,OVǹ%1b ;>F"fՌ$ ^h,dD9sjIgh"k8h[ʑpĺLA'5:,9aȩ58L*k. +@p< Fuyi_&?D*\'d nVD5:=q%Y ZÕ RD,8ȩ!Q"'肋 LTQN) Dk 2I(ƍ +&vwTI"FN3l f$4"7'&F܅?A-ꊅD["EJ(Υ!x¾ ?; NuE緬j J$ 01i8` $1?`E񚶇 Z +`ųazL_x ͊ij"&GBƮenH +y0h- EQuWSw}5p0ڬzl[Űڌ\,Wy`w^T`$!tq8,9<ݬrؕ^dDG-Oƛb!3Xΐۍ54X.`;T2Z 7lnCn@#]֠?r  T#`i5(i +U@[}]Hn, .CTA Z1N@1e6[ FŘp< +icxM.7/@W@Æ `1 ѿnBҊA0CDz{;wfGR !X(-d#c'4&#14X871IAF#|5L^](LxՒqy4?G"+0+Bc׃26,`Riϩ_߿ Q}"@@GdC·*UAxdƼG`BSg_4xw_&[Fq>ᷥ?zXodц8 gR|f $U;=~) ~8?|6 `wxaY(2ZvjUhU/h1JՅ5৮킼 0[#2{-@kI +L 4W;, jS.Ln2+;ʻMK雝[CUP4Դ]hH#45D&i ;7ƖXc@n]~#?n7n~Vd(].}>~ +Pnᝧbʺy&yKs%+{%΍k>zj$8i, <㹂TR %y ~i ^i, +пpiʮ  ce//̷T'2:`GsBY?%bNޗh$ Yd "F~L)~qHwI.m8j7nO_(ReK!l < LLam|?i|9U1QaFkw47`҆?bX&4?:P`}_BmNUBr?Z^Ovˁ6%G5.{%_JG"AKuߍ. +5AZYS!vnPlvsp> >0\ s#'U)xo&wZE(AWiZ]իo]7 +g%NŤN,mIns^X_j)ڐ7iqjߓE_6Qp*3.\Wv|0mal]D~po㸴IlRo<%(L)}\4m෯- ) . ׅ(t.+.2DՕ1ALĈƯ~УD%U %%A臃wC S"ho6?|]G7`b7TkfWɯ.@2rI!3o j5A*ߚl?(Luf-^u7J auƍ ېtrC jmvke70_Tmb v7">sESD o!gop~Xp^BS|]]xRpzy ?J(x_zP 3~h@ψ|z0z%guŞd"O_c3^+$sgT0]sꆺ% x=f(O'P.ז`2#`xX j +:w֭>iOcV"Ξ"]]9P+#i`/Eu7u nPD Z :ȝ Is"h(H>oEcQ$/4>7JՇt"A"3X.Kk XmFl7@姗9-Ar)Fଟ2| )"@IzRM Hȷ*|bߛ w ɼ7~o25$dW; A:1Z74w+H'!#\QSyk6&ORMxV>xOreH#QB2vvW?]xI Bp`rmt1μ!4E>fwߣ.qVW'Hvo0y|Dboh~fمx]{[L *:&nGx3:8iV@]hIg7cۯn><N<"g3R/:l +>ÿdw6zyb@a.Ç;m©_/pJ%-),^/,z~o]nF eIj&R?^2M~d|ewD~H; )zzEwH:/~($ӜI2૟ +]/NnRi\4f +2ċׯdN'w3V&n/MuFT9FJ߇4w1r' FÃ1U[ɗpNMvTKE.VukNC6S -}&%Zb _}얋'd+^ԼT-*\`wn1T6I*} Z`pт,oc2f?Ai0+"FZoP[dOo;KE:Z-﷛5`9hKi =j!šݨo1Ӝu4mPɰX#s<q1|Ya~ Z hٰ~:.hm;o褍~C㚏Q{y Hf`_b/NY}PZ?Oac<Z`%]Cσ}\Vw^ʯCdveq09*3L*g'HN*apJi9^/=XObo'77?~`C܋.7zr$jބ0k@t0R@=UC4ǮpТ2Zk(%ڔ$Z ѯXuap"w:W~A(aE~=5Xo\}:hxrEagI@k:a.fpH;t,f,LK%heDAR)ENoNn; X#2`(a|vC$aloi09QUĢb8 }R۬_е9X$e 41ÆvMQ\rS5h=s唔e|p@tf'/$w)DV @ .֪?6MNaU-4_nxBHn|fכ;>=gKD@ƃ57<]Os=OQI$`ugh]-[$EW$L~i['*;,~&㈗؃ı;C>6삈7֭&Qm~Vv[!׆{\yAtJ! ,;S45E \vIE$f›AWj"Y}Lʯ%eY~Id8M0ȫ@ z$_]|?,_=U}c4j0++™сtDcCw0~k\:Pɝ5Va-TS8`s*O)]=a!G ^P- +6wM_>_,ɗa"m~q v Ί/.+7U7gm1 H *s6z7C)r`r ~1DWgn^!>m)+hoVGwZ!`œab=tbg+~bҥh{Lă>'+ +:W*m+y7O%Uv}0R)M5Qރq/!#$;]m!46 3w7> hf}Af_w5^>_9FoVkWۏ:2VZoe>" +CB61$V8`uRv1ܹW + Htv`hBz2C &nF + <{ðy 9Al|!p U=>D 12@NŹÑ^N} +'3ݏѵ5hɰwfl9~a9T&ne 6 3Ok?e O(|:xG 8E qʮۃI3n 9>~/Xچ-=OϹA?πHx|.W#'~['k>O("&锲oMl{S<ٻs?{L[wFL"%=&哑mdػӕV h|x+0-n}i;_,_v׷k-+wU3ag@bt9 r.w 7GC?~ 1>~@QOJ0}3H+ 듻Z0T. 5ehm{Tv' +ɂz-!va~~ HV}p 7$M·*R:)q E Myq7#|j5u?ߵ*˼|zSVLy鐉74v_xU/bH/\3mJDB +4j4`6r> J*9UhyZ;sUc4aqk2mIjI;%üG2== + et,h96l?6~v/v_ +)HˡKSkyg-ujlvL/`a`| +V!pL;Xei-BhhWh +YdXLQ_ĿѪ۩3(r#0Y"I|AqیPrZFkK;+^B:|4ۘ2F1:YZmꋶǶ\4Jsxۭ6 8Y_.o[ͷtݯn= v_CPtkP٣GyҬ5Y#^C3ɜ_P1ї%sDzz+3/hkLZy禭OKfuЮ?ޤcww<vדhT/\"Zv4_ST)g)]ȱs$sLIqop=x?L}^ʜ 4Q7F/Hzs, |dMY*J W&R"'n1ќJ63[jے/eoo-jt%ZU󰨶&ukMMmy'Zv5m)o"8Hmٔv#?tDwݙoYn~GoޟUJA^H ueXj#fWQ74Tx/rJN'wqI/٩\N%dKs7ϋ+o{'v?M*7@1 >З^'F6.)g1GdY7ʣhv96ܴ/J+l3QYIVj'JZ0ۤ+#bgY(f㷇1&g9M!Ec6v&ƅC^>>t) D4gl֊% V*·LuyRQV;޷=OΒqLͪ؃(֭Umr]1ֵaϽzӠOV+7(cwwNa#ƉX1Yd#IrM=Bf9s95^Un?[(yxpwV(NnnqO/Gg Mձ |â'xLl +󎙏nr_ve(`boSxkmemr:iκDđzKcv\Uwwp{LggwCu j4qXcB.Śtexޮwu-m({e3t[.y{uĎ-M eDk2ƟŬf7rq-ʳͭu*!tln h +;DJvx:Hw3w?.26՝q:G}r>/*Uԣdb -pCw +K;| +}u#Ok':wHL$;68jv߬ +F_l8 +[߼ PR{XZdr>٦Sk^XfT0wP7!IɅ`;,ݮ'&+7vћtĩ&ظh DJΒKWS9cp=;iAlw漫f&8J**BeӺ8v]ݖqMjr; Y5 WLs4RyNzp`“K>ƶ{n2ux}g('I~' /<. 4u4 řsmv0 l 2^Zکr("𥷮MF;k]-=ɻuǗ$ڴ\LLM:J" %c+XN[yoIz֩}VI06Ph@k Ju~(V37c%%"L2<=¹{B^ +$u9d& Iܡ/T"|x䥧 `0FǗHPysӈ閹a\^y 3a=q.斓UI~t>eFDo#۸VJn7o%z͋5$E|quDՂmXXbP7IZ>v8n0cQ~L +N<,1Bfrg٤%\f*ER ̾}$nfy.rzØ䗌#pF3-߾Ofv2~/IMv?ӯԺleǵ S)ng +MWL(H`m&ܭ29&;?suR6lϲRTG\ НݱUq:H9Sa0^; \[[MZ~6|yvRELqt+g`0=h;ɭQ3{f]poJ.͸Oh we/'.$Mzit)ӲgMm6鹻Ky^q\dxtR}O`YXbtՓ){f?Xe'{\sLde3f#mߤr[ZY[L~xJ[yr!c?dtڑgRi1YsgCxfEsVrumTIltkTZ]6!ge ݔLٺ6X=i=aIRl9cd!mTg̀iClBӽ so`ԓYޝ_z_W!=-iGTvͥ,P,޿ +dc3sqG恹P)֚w;0wnLM!;і*['[LQ:]\g '3};ϗq֋V&*2iB=x4Qhjdf@M۩nax_xo6Emۓl:Y-}9Pj#U+)$ҾK|?qeYS\s[gTc,)֌R]zdV x +=/c ntW6fQGo[LdD$V3RT6W\ M*r9itn |`y2t>[zjޝ-KWϗ)ËTѦ1cox&Owh$eM>JY 纙tdnnR߹2es,u[VCBs-xS-goUNl̈́rϻ(ע⣣aj=ro^1_n|I2}aKTɲB:zS+ OWb7oǥy{a+<;|>_7}0ݶr촖f?KMH` .qcqx?iTdўt5I7a•ܡSzފםF$Aj`Yɂ#*V,V9uS׭ٶoME!˞c'؏/nޟl6}3̽ij@,*[A. +mkl7'7F*vGISpRAC*,hPmmb4L53DTi*hgV^_)(*%M-Qwij=fh0[4W|lTw+O앪!$5NS{SslmiƷ܍t)v_ԝ7}o wU{7#~>-tP@DuG6gҥ9SXh$V`%ev_L_zM`-&gOeE(<(|~9Ofy9d. ѝ5H*̀Sxj? +콩mM.sNKNWx)5|4N匽CcKQ7Cb&HyW#kO^֏V'Z6oݷVx畄D#UVI$o\ObhiYLr=v|_0}[=:[_8Mf:U:`!4Rϱ i5D&vSYl7ZTra}qF̡g;yM[/כSָo Sbm*E&\3QQRvJ.p)l&S\8]sJ<TOwC@,:)o} A3(aʟ +}έZ`V.QDYڑ}h=|`$=olΘTO175Qb&yID) cc[jtFn<1^47B٥9G_"# ]s~t vȧ$vBf-u Yb"l~IQG)!gc*D@v`'ԍ=юs]% 7y +If5 ڈFƒIuĩhk'k2ulMߒy*dߌe)Ƒ{˝UUS\Ǜ:8His'IS+3ymrf>)>LJݞijsS{HC&sX"L:, S1%ȥ1l9qٛk4k[FvcSe'&r%J%S,cIQYn"% S/hN&};xX4rPY.5m<Ԟ1&X8Ov0Q>P4R6[N-ܠMOw{i֎buvk=&2foA'~Bwo)tUbOiΤh6e,WEdk5G!~ jFՋHeZ5ZTCs f=޴(ɨx`΍/;S7S`">WܐṤã5@5ZpK<*MGcTt[3/C'pp^XҋM_`$r/=N jD;B@PY[Rfh_Ddj$toClʅe06`U,HFcau^iZ#L>2Pjl'@,"; >{r+> V$y@~iPO̟|ci7 >"ƛԤ!|u> 8ҥW˯Io氠()F 18s3:A\ȋ)H[)<dc(FbE2뽱)XV !brWl,XA)fSgZ0iniRzON'mqƒ,.N7`ˏ':ɤbg s}I]x?;XfQug.\!+X^`Q#=}Fs: 2JV] R< l4VAx9U j-0N:YYֲxFcb{,j,= 3XZ~܈PpKK.Hml@r3 Ki0 DѼAж}EZ=CbÚX+^mTk4Ɓ)M< ziGUF#ɚ/|oXo!OnKh7|a8-?4f- 폭g2OfX/pop02$^<$꫆'IXEêV>Dx!!s,n~}jw)8!. iqnn޺ٿ9׿3 ɿ~$>p͂V7ZB^֚ڽ 2fiz\m@\-}>^J>_1 uƨ ;&ƻT/Wnြ 6P{a-\C{v}){PܿvT̡r;vSK^:K O< 5%;q *lt&$Yg^@\#:Ğ,9I#!?C+/ 4pO{s |7Y6Z4ڗ/PqUa5*ssK@CTk@(1؝@Ļ{ M2uqЙ+XG?eS|5465ǦiLLb0ZEC$!> >HpG8ͨPh&4h2/6׎FΙM2"o+.QAj(}<;Y[b/:`o}<:R +TXrmӇ-rڭ}"uG̼b.ËvǺR§s:4*5k1i^J\)y E+G!*TvkK.9 '$Փet+  }T.Cnww=waLȟDj5gсerK4eeSg<2wOLȃ}mvŞjf񰞓\$<߬!U7&=1}GQŠ=e iJڑ(qGOHΔ\~ xf]oK/o6zsbtǫ$PWȤ\|4ܔ/KH=L^,IC$fƁKw2ٸOqS(NY5`BDN-?[ؤQ+Mfv2BAmlo\*R; @]\0L)=\]NyǶOTaxGZ4Js)ɚf>8&%l|CYZ%H@ش'߶^M+ku݇hl? k5!9-NWccnG_sF"F +/\Nۢ3Yq[}-z`C}}#^[6.(} ؉{ozi4̍rmlء)IO8%vdsO&BWltl(#t5X<3Z#x{YnGMjυ<\n< oZxz[ hj2 "ţ:ݱS ,j4녒ѹnNNCu@eY>n|0q OBGw\Ec'7v(O'#(6c3ׯ'q C^Ym.GdW{X^~}䜈BUڏ!Hw5u +4ջjD0j4d/#5!R29&LwQ%q;?@ї$h,Tu!8)(e`Q+wbJ] +v#vȕUc>xUR+{JksWwW(Q'V/B@֔gEo?_zwÃm6 TMp^lGp:=]h7\V;DѬ`|}?oa񣴱f*Qy]Y@8m0esqrj6~Ž>7:b٭cRi +cd[-mNʿYmY6k9GBnY`o|+h@M`_Ào`%⥳W$j-w5a%Sgu(c~ |}EW;/X)dN}m;()=/2\ XG)vV- 0iٖSFxn2Q(Z/HP">;I4y2lgu 50ᡍRgQV¨Yҷ~#qU:TILl\#BecmW"P)UtŘmV,|"z}&WtMvF0D.VB^=tP`K"'izdnFdu-6qT@ +>͓2/]5҇@֊،qRz`K;LRp_d[4HxjǩjK;CBg1me쌐jykTHjfh/XB7W(E͉|t]W8azhwO;UЁ\.H0-%[2TZ=Û틄ʇص'l]qϸ3:-FCQJFfA'.hj]vZbﳕqW7oS[bKzQO 'a-4!oN}~?\w&6w}fFT[}pԮzoVVy`!n[LNA\Sl\a}TR:|WLe*vopesbvVS(G&]ܬ.xNAlCItUmچk.jwۆΈ;ڣ|EӜyj[:ɒQd:nzi۴19U=Q:9yQW q[CjŠ]u0wf&%ŬgW.u :$2;Bf(3u__f&\L+K\:;2o~PGoL1==+aŎ4|#̝GKRg%bnt?}$-RK݂j싑]&J^\jۛt7t.xEO @kgL)<[]fj`$rn& [g&=bgK`Ld_-hj%בWh' vݖ綣Neߴ lTcZmpuF3ژ2N4ٖ5?a>mn!cDh=63bYVN O hIq/cg].&6I)ң" іԽF[ ?6G?%ۙXŒKp+Q +ey<+aJ])G=2g5m͵ Xhea:8&6mGC-- A{n˭f7NCmώٯ[6q +}SԂnIukVѨwP5F#h7ck~xn#J1XR3Mac_ͬ$k\9-ٳn]y>L` c/V4!#zRdACU^SŹȼڢgޯޑC)mLy_jػf# ;AsG.;>[$}!jE#bͶ~Sż~[Ŋ5e 3.56+EP3%Z&ql:fzK gZZߓ_X.?)+KtȒ**RTnZqRr,# 2g)l6817Um\Uqpz#0 Թػ\HU-GS]lʇkaB"77.|Hs3 ^KEqԧ"u ̺aZ{ rz)N[`z$;cɢ^Ǡlf8zk1iY@ܘ/VQn%9j'qLk+Ovu{!Y*bOi"?7ޤ@s1-NyiGКď8Fٟ }X20bW(P^06錆HOHnw-2LRԺRXGgqX+ mZw"E57ԙCr. +vR[c/Ik&Tt;-V6S@u<ɻtxUdRidח@+t~o2Zhgy->m< ~Mys$gL}?uH2ױ]\9[FyHNጜdk*ȕԴهְ~ӣ4߿912 @ +lRQfM* lT=Op[$܋Tyÿe7AA2zZkWvnnyr UE͸.:A-"bE3C*9_U{ +DzMёI{VD 29AB+aZ^ax#|\o6&cXQ$zKOmUS}'v{0].uY]CR~ o׸K6]`֍DnXcΕ1݉sy]̖zտs#¥gnjuIIއJؚYo'2+(`c}Ϛ54g~4"Chu1VrHX2# ⇭&=2sByϛO{*ZʆkvPJgTO#P^qsY#8axdZwErd.ןқf=ᖦuUK3,μXmh{FzYn{KyNˋr)".7̸1]<$M]|+^8/: x]DR+ӞA 8ŠbK72(tlGz1k3IaS |ǣs)6zm`\`-ަQ P];kԐs7, ^(hc/}[ťN OnoJX5;bϗ6EOu;KUQ2Sx;~v?όň姃- +Tk{tE/9o9kfN|27V0;i|GÆy*Ky!YJFH ^p 3+G9ʲ(r$ ]vyȾg,Vf3b5+˒^p`JȽG槾9dz%5 s%  d eJTOr!ye"?rFw0t}iَsbBm2ɮ)"g-IHHx(կXE +EPcONz`(-JWQ֫[y%)νEV'i=3OKOLn 3oHE)ys#FG36^,},̇gn}f6>']G\ pGx+Vߋb|dMW"&#TNW~"\i/N7yyMg|+WBɢH֕i$I#nH)6Q/:8},2 H[{4}뇊\ zRܧmlo}Gs AcxpP'IuXg^ؓ#Ƭ T;X8F+;z棩)yfwVKO +a> m;;т׿CFjP.ș+tHB?+ yv)bcU1R? .Ikj"aD@ĤXW,$ZgZ_EӋ2#t*2y/ˑ:r KAhOjqyyR)DMLfialG^Qn,<;Cr[詎*]~~a)=b/Kt4Ր҇2(+vJ⍧ӿ$catQ^:cl+!c 1d=WI3+TE˪_E_ӳ{,@XWR \l߼?{J.fyj9Ah:0Fz<j[ fF"ZI pH-3'xqϑ(vۚ To[ jzz +yec[_L*3xjסCk,cs^Ñ_l؋2ڝit(,jM|,W_0՛^@m~y1E[aT}QfӁZ8=rsTX#1aL"T_3.yU@jSZE}gU5vPͭmmaz^ɂdh;} mcw R-ͰSllpRaͩM#ZFkAly::ywKuO tV&w!!T~,Ir\vS#СUH=?Ɓ'G7P{C+w ]倚L0u,we~1'WϪȀFD6uUϯ:=z :MU\~3:|v$U3aF56VL}d>w09?|Q̉7O'+U<gӸjmٮ1-Oѧ/mfno0Vx\X3I㬇O/ި|!NM{|. 2|ܤǀħ}EҼI{ҨzJJ[MT#̈,= +*)31xp+~q=?h`ym;~elէ?`;]A[ns/xZ\~M$p!ڑOVRЃj]`fnL!tVFRh#WR:rV #%[ۯo;4P\ ^@GJx:wJY? <]#<^ +>8.@?ꋗڴhgp;@u7/ 1a垱mVm?c;֩]wq[VaO)HOiY$:G0TK/膥ҏqYu7F@$@9v/52FԴ+VhXȳʎQ,4 )ޡr;[4}7$;f} (;$kS rsk6SQ<&fϚIY +0~]l࿿Kj| e9CB'79Ol +Tګp&|O:o 1C?ەRr+ o$b3*!Ɠj)k{mp f.fg՞h-k> +5,KF,~=>S 4=gtJ|#ɨ&>ZMRi]*g'.k;t;#b`] *DMz*/wY"pW#,ݕ9wYh<ă~pMbZFIUC}rO4$L[ LJnT#sK wnp ]ހ8xuV֠3FYO><ڈrv9П[EouT[F:_f}w|haPKe^LZK*K70,i?b l>3ܴ27pi{+ Hާϙbb6w{,o16vEV+/eF 95ChP-X(آFjMq%cIU@!Y(I换HŌٮ-qG*X-kKyv?In{PQːh؃>Fn,ނ%i^ +1=䓝Rp\ZB kѮhS +hReC6Gخ˛_нBHoYZtI,g"yQ^e Pj!9F]ʁ׮̟`/Vr/wzCNӫee4 'L^ExN\8?y.Vn2<3Vq,w4uZ@,jCn,mi;Uȣe@-g83 3JҍGbV9ɦhO`7}:WjӦ Vsv:ޙ X9Ƈ|(wiثOvu򺷸0ϒ#'a?I:k;{VkiP|BsQw wGO|KqTR` }@笄s&Ľ6-=L|53eNQh +/R&|GE<hq15]|hj#vrݓާ)}:e񌡋DgvsxR$wguN1S'7̼imOzn]o"'oncҡ?f;^/=KZ&R&l3l&"A=x8\ӨhYP]͚hud +Rq'2્TfԝKRp2 *qTQZ 5T`@AO2QǓuqپtW٬|9շ`NlfB'{/C, +s%W:2`S}y?zŝ=egqؤy*6qu[;Yl0`l909w9g-J%n;}p1^)e*WVBP{c`7Eאh+y$?{+JoX{+^˲ nUG(){lMПy`tע>C׌YꁪDT:,HJ!X6ԖKͻEqmHiGՕM:lFюSV)ř*gh#e^ȵhhD<3kn@{lqRt\ˆ;j{16Pl{j +^Ug0EcApJ:Sw'yhrtd,U|L7@[RNq[f%LﻣPُ^Oc +riZVyeNcKucqO`T;oUS>ZK5 `vg!k@ +f LQ̐Tt0T@[2c?Hޕw|OLQnl@jKQ3H#|ЋBCyo^DQguH=(? AW'ԜXfzNeTGӒYr^v߭MuSs%u"?30dwdۄ0kmVӢ_,xMqT̈́]hh+-҉`xE{c%({l+i62t4b)ZAwq0%ri3磦vUպC5`O+nn'߲iTrwaM,s` ^̃X̵y4]^F tޣܺM=ayxCmj^ڛ>N}l% >.Ri6Y!D̲ylcL{?r=Hlx^d ]d0F*ސr]d 'IE R&G%mR+}^Md鑛5L#qu>:ZpՋ:1g%/Uҕ%|Ӊo~bi|vv;+Q1DoV1Ű\ruޤu-? 18xG],Ev;ɊE>h[Q囿0 %Tw_crEHWyUfA_qF +˻\C5Y.,z)7s/?`ѦI˽uśC&y$-ݔ~1B$?n3oPw_2nշb$6”~8mxqhuo15r]_ާ u Xz~1#1pI8ց86M°cwrSG'יb+oh\ɪϯ%Ď~BHF9x]d\U`2(zi+Y_./ZŸ%+ ACo4`POUfEvY&uzh\~At]By%H]7Xsx.\ïhP#45,>Qg0Gvw!oi֑/}лqLVI+11HhIr/c{:F' nyqCTn6MFsiIaY{܌$F}u| "s3F-n+:[֓_QP&f|T [e}RF_b:^:ɴ=* +5Dm8,Cݴ##!׭j'"o,a()ܭZb߀N$12?"Ӭjl@(4NRKr6u-IN,vn9E=K zY?zDvd7]wHP(cJ^pyJ  Ba~-A;em, Iy)w|!"NjyRvW=C;prcP0z<˥6^O v>6)4e%8ĎY^*YdDI'rBPkc"7]+7RާMQ%`k91}: QOOu1Ueke2ң{8 +&J_ԫr`Nq9{}}~=A@{]{>Ee>?8u{V4WH{;׳~.~,ޫc?`uGMTK- &I>z㔯_yh=ڟ18h^R +m`UF[b>!\X b]퓤f3|uV_uZˀC,^ +T-dk}QJ3;%]A/-,yCҭCbyaJ)rТzh[RD=2{INx5lc =xwXՂѣ`:Ղ= +>Ҏ6}2w>cp{E6*?uҳh^GQcyk%K&Մ!%]5S'!U|G$22=OJCI(ͩq*Ys6)ϝ>>rV5xiq7~b]Ү9[gF )2$6muhe$,K!j^Fyi!3hfG\Xnh݌/g^p(L ڛ: vؼDKfX֓$(^l׷P`YwAyS8 Ҁf.ȥܰWVt8/[h9~lqr{]Ӣ'?⾀0%6gO4B~(A]W)쵪X-bh\. |}'= +4<\jĔbaRsۗ) o%Ǖ ^r$y>;fAqZ՜Xjxer{v7>^k{ʣ_9HddH}.6lE漫Sb +R|H#yȨ;ee4/ݕfy"WUe}ܦ`z TUٖDk-Y,̋!4H!zuemGzIeE;67qezcxu/R=5+Q;}W:HV#$b`RFd?=ZˑIf`B=I,.<ʣiPf?|ŋ/ g-op$qSf.8AdN3e +<>tǭD<]dfp9B~TPK& 'Fgi\oσP\2D?W̔yL#ޥuƱ%-r9~3_ic}- {x \u9P<~NqGRu #3V=T o9t(./6By<^Y }P˗"'Q5ɱ +b 78Iڏ^ݶyZ rBܛ7(7-@epX\@*'teBYZAAC=е-MfBv&7:ղɔ-+AԎ?ExK<_sXNEvj?ͦ|Wv +ꢀwWcdQʒN6.'$QX -]Qelѝ [(.]Te[bPg2C[_å6@f7>9z(3*PC(G %o]{yd22#O:_7}E{%(?1S\•h]İP.8QQ.uYl7,4(a~o'"%V:ݓۯT/Eikt Z,?kmVNӥ%Ǹ3< $)7n{<6Ax0~ ?e' }g<򮖷hv?7!k(>Pb!jw`(樀RL\H%t7t[Z :!#݉ +b~V:t~~x1-}kiEbM :|Y֩7SbU-z>~NNB$JKa t15iZČg>1`˩9VZGgҪZy[BЯx${liz.F Ӵ;< +&}kځݶ^|e8\-؇+\O+;MbD"{ e'W)ǰS*(ʸuv X$za4(9b)TKUOԡ@jX[lK6k:Yx_Z,h&, vswJгjN2<*l 8ڤ)Ztt&۵F$ +xB~ +|!)1ggt)rϣcGiVIʪ#fEy,X`vh$Q ujRsmN@!^{ˁ8ݝdzP_껒T951ġ@ofeZdXfv"ju0HѢP12~%ƹ 8hMe,KE ɢg C?>ûFjQ6\ )%6f/G}Q/ЁĝuK+bH@w5}rskKU8QP|Q[ЧѺIA__ +*F|P!e1GQv0ޞ(`\=')E[u*7x\8*VjֽrGT5Br`͂uAJ'@t7$df굙`\ݑ`d~ep*|"\r -NA8T$eUT +woR$%FfeLd2W>R:PNE"[~HN{HnՖzl|G=i5zbb*Kqwj?-7.%FGL?^-s+5y1_bQCZp|&̍}Onװ Ho}:9p _BXjf, f‹j]&f,WVü:_K䪸[b׵sm۠`m"u b ɗG98=g]I4&!J8 %==98],weHƫZlդBY4OmU]Z-&۷',>4x-zIn]GP*}1t +b +ͳ>T<)i + ƂGi26#D;״;Ӓ / ZT miĥGo< miV[׮s\4{#Fs%,@%*/1ھWld㡫%o >ݹk&K9Jiɸhyc1bC[y+ߑZ'{QUNeX]>@8BU ʲ!Oə r(H>^=J-R4}./_kh.-];p۩U\WmL۟%JE$ZZhvg7b/@'xjR-);ƪnR2W(3f}WNOBrRy=}N#u@\.or ]'2d{(؏1N]ԍtRU1\nd3R.=ɴԢY]u ˈ~mayR_l~@ ֟ʣ|CpzZxF4#{VYK%{-{ G"zeҪqٵx8A{us׶UP/?z?lh:Q׃ph(':!\v_JYR=*eǓs$54).<:Aj>iQ4*K~0`ǧo_!Gf 80y .\b{ܱpjZ3&_=apb<"mWs>\& |wsJ?NW_Dz?4I|C^KFO6*n/H`B ϓNGpLݮbL $f&j*vR/ V$q7έs,{gX()JR~k$1e1an礖7Z=eڛ˛9f˼l'>86:Za$m71{`:ܒV:g¸FՏr=Xzr XF1ތ Y5OJc|, +Sn. 㓼+27p{ {c~ϼZ}ucKgX7r*K ACՍI|qVrdcf!x އĀp348l?)wp;d||9x{k-2|" GYBnfDK ?jECbҤPUS3K!FUKcPC\τ=WIEmzjc#~|A_l . |%kﴞ.sKrȿk{z[NvGA}GW1JY ,0 .PTtNA,f;آ$k*gkYx#fVi#d6]6_|mhGn#Lю\zg /MJk4a{#?ÚV%Þ*nD x eb/TǞե 4e#1_br5b + bϨƓG<씰QC@]Gcn;»?Bwj^2u|=BZޙׅR\sδ@ZV6H{hl^I.^Iu}^ח3#>ILKG9*jBC +={N!"e5s6]q[\}rk1VRJK:;Bgw6IٷZHu7B> +ۡ.炱,BAsvvExr1{o'E Yztc!~.~ƭeUEzZD]D Kc=KAϒ$f2mvƳ!ZZ[ **v[5x[*&7>\yqʟ3س+xE I]KLHձKec; +endstream endobj 26 0 obj <>stream +xV>2f.ŏ>+'ɧia^=Udy]+\@uI:NeٚZbu>wy6O4И7Ru66&'u1`A6~A" h⓪NA_7eOtaڵU5a6}O旎;瞲:33O"u* +0kk0U"+/{r0?xkkgvzSS!ۍ&a=_osMF4 i×N4mH i-Y(ܟ%Unj5@-Kv k2 3_ "ܿs">i"62r92G,4aUV5gd|3"\F8am~!>mZAA\꥝_ͭ:CcdUT4>?=*Ы7CYia2c1[R&LHI9̵)쥷E x9g)CL z\#;*^= /Z0Ei,$0m@d c,H]\__ګ::5I~ ܏N>ہV}v>t MH [|@vϴ}!U C1]~BʚΉ]#5Yf̭;EW6J]OgD[ۻo֐E*#Beת߼U &v2*tx^7kCS4v.7%9hhDdEj†?q9T\"x9hDGs{n0YX3Y@99R-I#[w!zQ)*,m?Ha.0+7k({F$%ofOF( c}lL㻵Rv7E߸z,kYʹ<֌ʫ VѺN>0z,_:NYqlsVyuo 7_OuI`ChYW9QrZWhϛ#iʘ^D}֥tj~W+;L>uԋRT_NiUx+#Slq,2.ֽs A/Ҫ2̎ MĠ;1yݴӖ"v,fފ3xTOnG؍Ɂ9_.n_n >f%zΦ[V_ory"6(w2K_. J#?>b}`P5'b:Yvж`o뀏R^[\Y? ^oo+Q-8{_/~C{!h|׍x'~p/0GNMtě]YMv>Ay\#mF\ts8tm O,y-6lzag|3]}~̹0PD ;dz@ł* tfL\[0|8u}`'BYFjO:>`5, +h ryՔybv7Xpą{2k_ c|׊E7EnUqiLpoZӴ=M({cܮͷ~K]c^@uf5ث?K][2> ^vf A:_[~!хSS\+`CH^ q3 -UFBJ$ҝfuJߡlK»[JIQde/dFD1G}5%b&Y2ؽ5(׾a6UU۝彭֎,x&I/18I}.WD,|AmP])k/õ*5AݜYF1M!GN_;yAStu}]T)].#h*Pޥ74n-1wFn8N`Wygǒq[i,^r25-$"݈=.3> uO3_:w1$4۟.űLU.h\cO=mi +7AD}i]) {=%f#4_*o}(oD_!o)\XmM-u_v P)b+v2&SW>+`I2'(T̡ko T\bp[.AA <jV]ܒf-QGS*| <[+:QM:y YW0#[Okjmyp /Chv{w`u;gtEԃeU8 7X# M v3z=b,ڴ-V +jB8 p-K0h2r~I S[2cat%g8S%r+tN:LzWۚ@P: ?xq4Y8}cOP*}IFy$q,U0yǪs̙llߪ|6»ÿ;J':ˤy+\)RsN /Ud+b%I$hRZPJ 3ҠdFɽֱ,ހk@,k$>Z4tiI`ci4rt]/ȮU 6S*ֲM`+~fdM\p<J.Wq/dT4qvadM\Ejc0jקEGy/<?ܗ x.,T#y쳅|c+,j|wb+ 5N0zX>ljqH& yyp魏#.Nf`> cZuMց.B5HPAÓVs莈 9@Ffr97Y|z0Oג@1DoD;k^+fX +7gʌ +9l*-\573ar)v&-GddӡCͭ$roHR&i rџ{y.G½/œ?j;]ANOtx'eU%W+J~+ÁJhh =1a&57,N:ϭ76r#җ*J/:.u{A +_67k6f. ff@YޖZ5`QSgo\; ؊#:)@02nb; ;RTF]㕙i~S&Tޢ{if]LWnJWᕯ~\ڍS|’*1-=TwXn Ҁua>=/mJA|l뜡cC8F㝦nF,`uN77]Ty‹\_Px&䱛f'y6M\+UPdRFKMFgi2 Ƽ|c.JxYxTo Y=i݃mkѦo*n0.Na|o*m_YWFR}aVev~CadshQq*PeQ= 8Bnuf> +X9?EX<$<tQKm_mXn}!Yǟ gN<A[kmUm DAr9)sz1\[?3ԢSU{bD0,H?d{f_v!#-X3KRaѧF-oW0Nu$4=wW¿|vmET34;]Zw?N?m >?~=; C[Dz_iF Mxk=Ll|>A\+v3,jkfIfk!=j< 0)I.żcE7ܹ~W]DuoPp@U3E[`W]E#RֿͧUYٶ??tZULCGYKy?9hATr/eiPҭ7+ Oc5s2bb\c +=]E#~ JʓI%3-#Yr,^ +1Cnm:4:}=(Z{b(1nMSX_?M18e]@g`~1y.@ge|gh陜=RL{Gi|‰zad2O6F"d'uVoD8ܰIvy:꒎]v>5<*KU[EMϭqڱ"KJuY/s7,p qcsFYX1]¿o5beP뗰hc=˘/Rc)aK@or>"Ghg}]K=)nGJ^S8a$?Q֖g -5bˆXF}+5Ω!c!r%$SXX 0j/ `mx7Lգ09]֪Q^vC >V3wzw: yDlvx8CWw5u*.KUQ}Y@ĴQ0N%F3mWkK3֊ MO% +ӈ:v@5{Hi +m4irKĦm|TZ%j@ﲪ-[dY`p/gc+2PG񼛯Ҝ{-;uP>eEz壖Jϊƌ^NLG2:w` \jǕ'zVk~skFt + +CWkN$ugƑ`Z}5s$51pƖ'C<ɰGӢdcq|n6({Rt4@Y!'z i\}.`ӆ{l%S|b缲eQ7Od\O+*Z6^,5ZjX,fp/P4KUx0[cXU-Iy¯!2&Oc6SPX39T4rzcl}vnBXR_≣aE6 |S35_vtvq]x{ua287em)^jV:n˄飴lwMӫAQ@i+OV'u~BnlャMFq ^dz Xqz +!,.&nuz hx-n1˜ EN /b|նDhËL.="A +?M_{"bs| +1g6N6vY]GcO[Þ| +%n]"+3u-)N`9}Csw +Ac/<#P:n*U?5wQX4Fk.c%_gs} 6&n0L>+.w'N.~u;D?heHZ/=.λӽk"/I$FNRw2 pP.P `0O}`Ccs(vM +'sy +tLZN>^?(s雌gFNg~*HMJi,~oT<: `%F:T}Vn[XcTf51Y6Ĵs+O8!bp'i G`H +1eta?nJ.ԏ/"URJM6XvL_jNϴ]^uc=9`5gg$E*ƕ?~w2hIǦfU}"Y9Ah@W/HƓbl*nېķBz c/Hв3٠rhWF-ģps8)q<'C;5W>FuV\9=t1wO*҇"a]҉SԭRˊi7/Gk{'?uz>C PhAg%HkDmRg7'7ҢjϢ +պՊckA#̑Q6ؤ!Jj?aLp:̘7Is52Yl, s @$E}'1.iS|On%t]w9\"|}Z\bU.NXcYq(:^kyG])❿1 +P!+eijX>7粇kd 1]jʠe\8^rBhuHן/>˞j@\#V; ͤ?5PM]^C iV+h+B#Lv ~F1ç-@ +FTLj~Іӵi[( /J aܢ}|rv4)YRHv/Ό}Zê)р$y 1`[/QXpr?g9ن/yrfR~2V48}{Pr7D+'SXv{~-Y}jgέzx/ɍN$=o/;=&+e:S_ R \?ߖe]SDFIM{+;HRyiGuKQf8pNmPocЏMG]^&r׏;xm WW + 2F?&@V=9_ +khپVtuzXo-TU̫P|QϚja:V~u` X_uҺ֬yP+kd'3J%._vO1pSY _:R{ilKfؒVghU6bYAnX6z; +[R*oxx*Vʚ#-{=`kt)Jc8^A9")|f5B/9N U;,MCxhÂ)g1%h,~peׁԐ$rV2;ПX'lt36T;cK:D] 0*YK{F%z8nFN+EZ}Q6Vޱ)>9ѣ_bpoer]xҭPbG׉CF{@ Zyd9,*҃vg0߉JtG qfr0&l8Z(l +SNpeeZ~<׽Z-PJ[FzŻL>?X[`՝<'-{ijۛR6#ugbJzꁎՀΥw{GF;tdvYVӞռ"jO]|Q-$.Gov((C#IJ~EE]z +FiPh6$ݛ4"70)4؜[֬†%/ +[vͪ#7G ]='Zi}蟺汊HЭr5y63nvWuf $2[6 +!ol+܈ +9 A9S49GӪ4oJ +J< ^#}JP465Vݵs7k/JW`|f|%6x^~ 3\M,FILpnQiyѭ0Du_T lhO~X8&:b֠0?vޒ,ceKD胾Xzz xZ[jBPQ8%ܪS @7s;Zuy.]z[q|xl8$[u!߆ oU<V^"E^s[޴CK6hwbf_ s5/v82 Z"et|Qܻz)h`-' 3?=FwcX)tS=iW6Kx&/k^mdAoܩ/y:Ш(PU 7.yE@-7*aR+CVxZ$SlAx4œoJmB wՎ -Fj[GC3t;;ht)e!gzC=32B 7_c1ʮM":P;ʻ1q5gC9Zf2"ْ9AYkpRyuh$hϞ.i_[dQ>MAwFbT}n 4B鍠җ2EA} _uF}ߣƼ+=W7G|{i=ۃan:f<#b!0bzsNƻQe8BQ_ <-exT²zMN&um;IgAR>jz;Z 'Ʊ ævpR}iٸϦ)ac{5ƬEG^-w]qk qZV v\uKI M-j\r͐JF%3ư6珉KN4N@j=|/Htw9˴nJGG7Ͷ _D3o~xN{]<k7dn,筯/:MٻY#4'Ra{٦SKC9L +/<.¥_|uR:Xlԋo-ZRRzAM…z'e γ 5E~nplaruBd&pP)أa_;&v F=k maw>jNy}wМb3"Q NN+7?VɮmǂԦѤG&EXeddQqb/lTOO\ +/SRGe|LdJqmc*UƵJPkpx):ҟK7MZ1;Vf[rrT.|w+2ʓ^ŁGiС oaF 6ҿ':G->̆[@F/RȺNw>w:FWe|$yӔ)YOgK,0[\ǽW^A/^6ٱ +Iwݮ~)<\}儰YtrȜ>N4e_WҖGy_ӧxk}Q{)y׍:IکX<ť9I5 +S.٠WJuEGeUwm<ʏJV[zle˅fV' [y ݘLt0`t l;&uNQqJv m :[=>퐳ØCږÁ0 `Dj$ZnZ][:0Ǒ\ kwK~0>ő`A^ED«tRٻFK)ǻ狺__Zºo4ÁjLE^<.%BbQ6 +9Pipfwpv_K|\_pt%l@B#zqrxe$X0z^4G'fZnXڅIT\S4gzg>[4}. Ģ}΀NW=d\=?W:J~:L{*|tI{* v:g} =7Č/-.-v>'ׯh[}+6:֗-,0BГ0*,ezh@vGzsf 1?4=~6n-}cWyM'WģE'(cgp@1<:Z:+}n dsfS-:e6t-y\PAK54nv|G=8ܗ} +V%F.+]'2y.uGQlbͷ(0>Wߩwú7.%;CӜ Ϭ!U$!~d3+ED LJm6UϦ{q6HvWYPk ]MAptm4w@eh/ 6"[Lc-fe:Fǣ4LSfUk6\;oZhݧj#V]_PZ-/Qz),_LM+TDDKtv6d_elxbk. 7 th\U<{.7)1ܽo*s߄}r߷XAI]T^.NކmO37+⅙ʌMvt 8 ۬٩srԍ5A1KͲEmNFjj.dm6dOkeP~ۊV!oy ߼hVms|4L3b%ln2϶Fqgi8wG8G7|ϰ z{6>:w +b҃5cZܜWs4 ~qJCIx1=\8DՅ1(⩇҃ƞΓ-N{n8e6<#l21Y[5dPUa37 ao"z_Ա ]GaLQ1iGI=ŋOp}ÇbZс[}:zU]lYt@9N&j[4ГW}>.[X +;bm4I2wkKL11_C"&66Ur`fq؃v7*WL~gWU~鬘SJ-5[cơnN1Xyb0ҼZZcÝd%pO=n`a1Lڲ ]-=zVaNOCI\oމ0מdm(Mgl>_rku2}f7grjL3hU7dsmQ֬r +b7Y›J Ʒ1ǭE  +!a,6/ Q3sr]ъi׼}6qOK#,_+vÒJhkv䔚 ˾1SH!(x jj~ Vͭ߂ZyVlBiyK_s m8yiN+YBK2k6ɓlB#;O>ВǸtY%-sӒoڸq/6 E[:h٫幃@Qtv8prȹ"[mls6a::hQU0lAe{1b!TLu)s*i +N&,gA^V0%Q6zous!N{Ye2AGqS8t|(gcOf.ۦ]q^c]ݗy~oLmw1nHJimySJ` +pٟ^typх-?˵FVz[;u)%W"[˧.OcHG4:ˑ7#9 ¬3qQgΓ'h^ͨ6.& / ciKgxuV5U/!a+tQ#[[nOJw|EzMLz]* vxk̇6ʼћ1kHAT3 +zf N|r\)p3,]]*SN~W]q:HqX5jF#w=G >s4c` +&Ľ?$N6`:P@iw,?.|>auD`87]>=޵+VggުW:upNpپN~,V/k!Y=l~Q-pNs%,p@(Y~ 9iY#C{iTk "\tV*VzۄnDJXZj.=GHcg^bfeZҰ2-& &py`5ȤD^8Yߋ}pRn@F[Eg}taQ2ޕh(j'0FG\×QJpA ;ED'vcfUK+Xw'Ϯs>P5…d} `6ppl f\?lL>;|X~,>{[s(oHg}荄>ݒYnŗ~ + +M/U7Q:C4㧓N:8l¶l74њu|DdeN0L.7cبEIsV&m=?f`3Ac}\}4'e~ԨV*Sv61oa|O- +4Tlj 0Ǯ߽ۚClrcG'|p{2devjm?дA4@|ImQmؤ2WvH8 yg sZPMX9mKլm/v0Eøp35$;C=.%|{`.5,k{ Ԧ~PSiMHկD;mzA8n ئ?YV4=.xg"Vд*0>ǍAf5,g]1:sb6t ~4ze3L[Ӹch^v̓ +143ӧõ'8(U[/,D7:dVOik`sJk,9w_¨tm2-">{cx1 G\MwF5csMHz +r{?Kj8`j R +owJȆNcڳnj8ՆFǫ~_wt[:/w9uт57M1mξmy4=Avl4xUINA涱_6|Q_s_o 7tR{ V{f;h~(tK[nMӻ_JBqiGZۖۧOrWOudpyoWO% , _+elgUkC[c|a=KGP/P[e2!Y*lZ~.?HscV]ꐗg鼃eDJ-{=&.A7) dI~h?QLe#yܰ{̵ڱS^_q|3f{/=/g\]A +cr,cOEc$45}:phاzAQ^]]ڜQsCϷ C&WuN@Q0ܹcci6|EͲodt#ЁNO\j,,O ?l߄w]qZIŞ{{i笍l$͔>^=+NyaUܳ\zyU +w7⻕X>k m"5X<nJ禭p>VZ*uc9"޾p*\ܭנ8Soy R߲"l*WmO礦ʸ&t eBiPCҹ-щiIQRRߌWN~=V ՟ͅTIUfawMe|]o:1.UF2m +dp.vԚ69ȱ{hB+.8qx;EJBlqe>_b{/NxTn½"!ᝯmCgW5Dzj cҞ㻄AHnG] 0{k &u\w=ԇ4^:[eX,nhUAаF1pFsh*Lk_7M<ϓ#|UC*cvz9CLR _nGyhA`a&-7t70K~GK9S޼1nPVeUkۤ?Գ8Uk?]*:uSXʝb#)8`F:d_$yu^iGcsdN7\8Yrd1\n {l%Ms }oZ1I`nD1:9/ -'!Ac펎-KEŴm⩑5?9ё0IɔnSBC&8< V;]1SGL`3)XlIDpc[Eb)1#P1xݱ]RQ0'm?NG~ct֊4]e*d%|e =סnS_E"?,_skq[] +5 a]t,7hS5?M#41Yfa MdPOnI .Ҫl~֪wݘ`b`f}q['b()qYe31l ٍ~"nR:;OMRj؅p7 oTMx4+s ZOבvX\l(ϋ~$#GaZTIL޼#$O(iGڱm [IS?>$8i[7tgO~EO{qb| NGOoӚ@jAe!ey/ ! \1[jEQcxݯ`?|ieݓ ʠs)v7F+`}ҽt/F] ="jAm7#n  +|6@o7A>gP_*2b%K :&₮wXFE)=bCrtPF[=na$k쁶,2hqy㠬˶+^Wr텮o̼x`y;/7iTo%[[7mǕ5AqrŮv xۜRy#p|Mz`\+xKL]j,àM$ S]AMᖞ_-Ì ۂTl9fӫR4KĒ+5 P:[{RaTCgkgM~v t4XhRjzN[]ыrґkة^dd2cN%cmB4~Y_d]= hG} eUB: Y?Պ!gLf~E+b#!tq)@cczrPcaME}ncvRiՑ̈́}erA?!bOn9.-kuDw9#Zs굾lTʕsњ5^ ݺFg=֞:u-;j6^\ vE +0¼ls_[Iԯ7X^y띓nN-˝y“0yg\>٭mY/F]^m +_f1Wp5[n_,3طC0w{hlսԁ&? yh,WqPX,gBOEe÷NLIALt}I5#Tw^ m #! 6UŦ`gJk+}Ըj<[aP>܆VL^ٞj[.[3XoO~f564'_zReիYf~w)4wi @(ex@L ǀ:1TyA>gXGȡT?1z|)3^=9|Q CY&}{Uba粚g^d^׍ +'Շ՜0Kƾ,S/x4n6?E.C^ғ_mjD+ 'f_$[Wq%}4s/h ?(]`Oh-D[Dܨջ}2RieT:a8O n'&=n Eض r-d$|NkU5>Bs%ۢd̼%u;{5 j֟:[ +0a G]XvK?XJvYsL(ƒ|z.S%p.A1wqyHf36Vi\R1q~BʳXn +bSgZqr:*/X ^vmk>H[K5}K +O: EH#oG,kٓ¢DͿ4#|F}YKҫd}3&[yB*̣!GPWqК.>uRCjMa嬨g%Qqъcn?-zVk,#8MdNkjՍcmrS;rzكbIбSa{/h]Z'ImkBNnٚ&Ipݯ@{w0d wɆ@fy^TJ<-tq[{4xY{_ _*^S}̍O7mjuZ]sةs<$$o&Tm.R}3B&42S|.##y3:o5za͛ymZ}Qt4GX{$yd9ᶲ {l/ Om>v2xzWl{EQ +"b4//c^-L"+Fad^xYem.؊HYCnʾ?xeyP<6B/9϶+~/XTM3:x49x)Oh;rjB_`#NQo|Ool%YѼ)]_;3^8G}nz]2hcOhgOv}YDA༷d^)`TxB_՟;ۆͶ>ŧ,бa*ϩ93nꏸ˰$bf}Ó؇{q\0AKN Y<]e[qk&u7a"̣?kR讁Y2,Yܰ҆Qe"]a$ݦ/jNlڮ:q+8;aO'lR!$Sg^`Җj9Sbėppp.- +b Q?'6aP&ōwGPnBz1{?ctTÁ5(ZTϼ09iޯoef#nrpG˾ڡRz.M5V)/1`h vǍ6vpߜeW=iYI,)bmqû> aQAFlo3KSէf_ۡ6v{q`j‰~ȿ\syh 4`4^$N!~2y8S`֘Ej#VXh5N-cB˦s֤Z\Ai2]%͵J7y_G(]<f\k߁Of-muM4} h@4BasgWS5a|5ΦM l ؠLD5;ONԴwiұhj|gIM3>%T{ul^鷍[M_?ϞT*-qq]ĕây6.L$uW`ryR ruCdyY+ø\RwF60/kP~zx+f '_gc /ݳQw"7>=Cv}5UZX^ 600UgO{Dj 3A(@0𜙄.{] LEU\\Fy sK#?d:FAuέ/.N[ܜ+@aydk@JF:r{z2Y4$$ nA{J]T$^˕qU)Snll|ūVo^}E0x%Y慖dgMFBQOF<"34^uԼki9XI[+B!%>h;rwbR8|9YpB - X77šbH^EbL5%u~Vb[js~謼:N]ʖްvKWD[1tdpKLv_ްj]U45"bԃ͛G#w!ƼKD7gYzls=*]F<7 e07 iijT:W"u!c0i|7 X]l ZiuU܅t ~(e^)™]54k~d:c{񹅿2SIƳ$wZ Mʢcez' v,DP*svT7 U"㱟f# fvut 5YvSNcRpoץ^zj[U^uG5gmQ79=oR+r[M0YK:N'P{ tU0]-;Lҭ۾5^~XFC?WI,n{p+_2#ϓ(X?eR y] =K <.L/USZ:c#[Z;ތE7 ~TUE?:~tkހة{s'Vڭ]!66^JYKm6~AT@ɇD}xFp=E/}" ]{]ͶѨdeiXe;[;a`?|P}XeL.3/Wkc}ц߸I/*j)1 %|UK lt"i@SB@mO@T {ut /4[=7ҿ"g)}/8C7*P$0Qr +K<[yN3:oƮIZd׎ۛV|C&NJ:Dbr0z^;kEJԶ3/Oܸ5T0r5G.S|V.l'D~}<}|@WW :GkcG}5ˉ87&Hs +qqnw[Rs୻O2MOtnݻ\Ǚ0XW+uIGb=V4| b'q-_3Йvñ8ըMӱlgF~YUi<m5^y<s8L@ joFFqW\՘u~[Ғ?Snb\7eV&:a\-xo 9\l J=FUߠ+fuR\L;z2VW+f/ti>f2Kʋ6KqEsr1϶%T_{Rڮ07'%rǪO | Ƨ0*s[9VSp,D*F3~_i!z?X1'\L[ h_J}_vT[V`P]<ٱIrgp0 W od#rAilAQhƪ3|& +b3!jӀv} +wYRHG io +<@7U~m P 'aфf9rצ,ŒWW)kg ._V4("QAdSWZpgאǴes70 S7. w]-;Qok`H,|[<nZ IO5pv.e;Y׹ˇ;uˌ9h%*070-9 }w{R[yZfb RCxg5]#2Kh5"+5+*g`}#&չ\*TBZdZ +jX&@yJX٧C}0o[ۜ;—, +eFJ:ʦee_V5(-(&3V42B4ϠBhZ}$Y7-{~J0~2a &_(O28NZZcB`Ղwf)JGLYli#.kY$}QlNnީvX,lxy1 8+^k-;J$. MvS]vcjghEDğ}0t=: +?)0;RSL +K͋]S xJLXXGD7qt[,&mvkB7{ =n})AE=`~2NP=Ud.SCR)PJ{I޳VPﵦ]=L|6v(x+arM|2cdjYT4mWc8o;D/{D >68sl,Մ(Cڊߎl$~|{su+igk_.{V(z;fqG+ HhuvH[\҄~37c"gh5u>gqn$gZmkƐT6mwׄ7#uqz2\4Pmlq{:մ>ݔ +ң$1dQ;ScTڣ_9QvFQ'٣A,؞DK +} +.#ި^g\t@UWjw4EMEUGi;܋$ԥD{jZ7hl Q2ht:ZiEë)h٢`04msa9RS|-9zQO9k(&p}STAI>HR.^Fa>_ 5_QbᄹmR҇[lKq?G(O/UkC /NhxnBjIUrG@EB,\ˎ!R;$S漺!#LT hTTfjBϟU8X7v/ w1 ~҂vogjiZ4~E_?yޘ@ؿgn?0JZgcUh4߮%s[s8VqMPfjT =*n=u3fEՉIY?EJFu\0ތ;,sѬhm# [0M@IdiY 7?[IĮ01 zHDbT{ {DK Qr8fxDQKAB9/` 9kϘ{&$6.d +~9>.(b'퇼s˽ +V,B%/`fyFVZmD>mF*1@mѴ___':?UM+N.(,յիX>pvj(t{԰^[TDe-kbW'M,c]mXw{7?I% ¬ȈzB`GOg#Cdx=\ꆗL bu]l5lgiw0z8 r"~FC.q2ݙ.B^>֓Oc)+iׄvͨ{_L0sV={r0}._`-X *ҷa>q-!_d b_;\w2-z3%%7v熯6{&ȢdeI ws h݊tg?.q|5҆˭s +zRWIj4X e۫}kI\~&qfն+n|4c\(u2#}=^-4P- VV ۥȢMgCT4W8QJDQ_!PϤ}~>1ͤZqtxС XJ1PTQ5.̻ܙ\ \zjl]࣡XM`7R5znSE> ,"3N04 rR Śq~dWj%:zG 6=n~8#\EZh²LIֶe dݻ}jTom蟜.2qQ'Hyރs_gd^u6&iΦ{5tkMzfM&7K9x`s⛹!3ɶ=FBqUgx@WJ2ً8_gDw?B'|ehA~ۚzqn2Fl >x+K[I/Xjp}/Yݡ"l|VZU/5w:/7!;5f8 +|-=Os@dnZ~e`iy, + +a/zeۙT݁b5V3.]Ҏa1l64mjQuB%`AOh\uJx@]i$NaRߜif(56XnVoS P"cs+^OW{Bf g)o;ULe,VܵƟ YKb﷨}F0ۦnۇC:L Ȟ)J[NHMÕh^;v_a|Squ. ++sRVH$a^)zw}MbP}H]"/蒿X8;+C2l2>*alk„!^=ff4C3A8Vq"АZ +JN/i%dzS\dk,'mSzer^M/*CU#4/Eob@yJ*{lHpehh>}1_U44lYs+&vS~qwpʼnWF=WCMy{^%U7DدM]F njH'n3 P_a%*XxXVRcDĻSxtFWe +*,H7U"pZ(f״nNKtѻ<鱴Tq? [3n*[/-V=a4YDH+%CS&bd H7m#rԢmkW?mg;y\&϶W^SCa≞˼zI֭IPO~X4 B +zHo8w'23U5w֣/|V7g+cB]wG^7}C܍M1zZ +%(xްGC;v&^,K TN=C-UTZNz}d+G"6~8F+;G &W-ӄ,dn=c$>%}u+Xmm+na\$[u 7n-IiهWf5eYPn0dtR7`d9<4<2=ibkk4$ovՉ}pPya#I?ܪ R⒔>-v\]ѯ3E9"REu ;*7ҠV'qQFg ΃jEcW*Z(UškcoKm (Al2>=n/ۚ]S.:9 H-VbHd{3iPQ(Dx2s>NPs^w}/\dfYMkGmiRgBEk}h7dIᑭͦ ʺa¿7}'.ѫƃ-^4A +&kK~0G 0^{,?Ta0*ɓrV64zRNF-9*u?xo+1eH6G/UwE &^{yzsbCA]$=!2"uy`%{du}=ZXcVjkK5{rMCЪ*/5.D-)M_@]K4)|~vK\[uc@;q+j c;/S:Es5@1ׇwvڽ(ja~:Rw<K٬yS? bI[- ?N"P<UַM[dGwby AN=z>P нܞׅyr5ܓƀ`v_8l#` T8Ѵ#R_Bɇwh}yHsRJEQwhXTC5s|[JgV#[-T:Rx+{Jx%pRH tuq/"7-h-['-{IU/4{lȊ]˨ ;V׻d|z[FO'-_7V`8%ӹWrZ{ҍo*Bk[0SSGB̦4ih留s 35ȑ^λߓ^Z[3ZVZllEW P5#*բ") ((Ʊ y{{Ŝ+muq.Ԟa4+DxP-*\yyx=%LT;?~~ijVcWLǰWΤ pl|ޥ]שب?&qd`nm9XpnUnvvGS_FՌV4QE8`KI&=.֛9;[5 +??gRZXgUخ6? w>;XiTRQWYW€mZo&^!K5-H67?I +Ή<']f?6#YC>es.|%̼ ̡fƱoo8mq4>n`LmNӞòhic;w +`!{V\A{޶M /ݒTyȫQcq`FI1C-} ͹|]&EqP`ʺj. +K]4:k.Ek3u/r"?{\f\{h:?Х:%oǙO`*ap[G)yB3@^y 33b83{y] 1hGi1``kW8m,]Dm/e}Q'_j3Or1gč1a9DJ%padٱߠUYzUu7fB?VcM[ނ}v='HR!5/erff&vY=6̐$ Teř)ԣ-1%{\W/U;^~~FB8xxb{PIpn0/5ZGXknHb?7_ +*q)m\lxF;3tѹ78$pjCCr<shClE07{]y5`ng~AYe>tj駐NI=GQ+=c75x!{F8 <=]dFq}{G?U-fߣ*#/+EJE$$_UR;LvCz*Ap~PBK,Gz=wL7b$)IDe=w|Zx[ǩN)XQ%:4aWS; v Jɠ +m>ϫaS"5sµ?.4tg/+VYtb ضCIjbe37뽎J)橹on-O{Z.<"0l ^Vjttl3'}o{:1Reǵ]ž(h,jd@ ju\>X.҃l7L!䃿H0w"zN}tt$*}e9~yb=wvWc!$1{@_jf b 7 61|@% eNiV^Kb{+z:Vrgկ׫ ?Zk0ů2iV(^Ouv`GF&a8c_n/#pdxacŘ#A^uԳ2 Tz;ےմl:/i{XG~L/ T@=m%ھua nFQO arm6xl,j%~ +<8[^KE\Ep=ʨM#j?ѦLb9z3[Sڣxڝ+E_Nd'3~Ը,DIJӐ i4u1X; 9zUVu7$kcd(Vc]sKmܼc +ʟn;"ECG_ul(o; 0݉ɇk y?|Gܚفy`ͧ]mAkC"zmyUQ_t*m|.ʐo;Sy FuHC'r_^Gߚ@Fs1Y{k[__}^Q˛$x׹k w,zg\2:l +J,6 s:ZiJ╕ۭT譁&|J5Ȼ- +u#KklGc fuVN[&nGΣtȰ7$`"e,T~tYeI>փ;ցmo?شI^TqYEtf$O,;ƹ7U>BR 9"G.6#_w\ϵ^0u!&|(:wXؔU?oj86C|:amUipڬ= 4~qت6PoD6ȍ*I۶Sytxy*ns@]EѱXw1d3n" +cD/c㒞xX8mj_2+8V,LjxKa^?f4&oV|n}QX,mc1"37-K&qjrY2 Hw`kmmm+ 8ET yWNPڳ3r 2 h[H-#xk %G7[flXC.*?>hWg x~ +w6n +-Z>GsBx(*W< + i+rFkM=C ~_gl}oeBVݝc osvcy?FFǯ%LOi=v:JڊwjXLBУxSU0f2mrtN;3m*Wq̻?l^0}(ڜuq-q0pNoZd9v5yެglbffv;[.C2CUVG7n`R"`G8WA\0<68n _Q]*'{WY:yA|;!ڳ$X}lFpg-vPf7vڶҴܡ[^f7c8Gvd%,>u~4/hr|@;'*hp Vcw+o52}/m6nX\Rf VHn3j|'=szRVqzjsV>\r040/ڪwW'礃|&Y!r8Aw؁ʗU}}|B =XO$" YpڼަS}Sb;y)UQ>hR{ɸ?pKЦ?QOGbC+gm0A80ZIn_:c2[%]x3xOy)H0QF_ o\4ْN z1;wrۦ:n-r^޸Jwdaqݹi)]Sy$@u25uz-Q-mS# M7dS Py~o*TW'fyl") Z޽NSy Y[gNjop32uE~'yDv%Mә0[ܤ&ًcsoX4N/f_;$%wOԠxV-!u/Cyu7eC4D9c6WXqp!7][ ~ z ڳL3to 䜐A)]%5+H&_%{9pS"EqO:YΟo>۹&Z2(y uzHj<wnVݤ6fМ2/E:oNY#WRH0bФ^LnDŽ#ҞWA;J5"EW~Mϩʻ= zk˔:LF8ղ9i2S{LP+NKJ>Ԙb oLV̆MwwͧPn&YOyvƨrXYј&Ԗy^-kxDnz_9iwaYlx븠d]*%-Bӷǽq#!G&aJŁbsc_uΆK]u77? {=TNis(2i{Ryc3Wz8.m9Rc*oEahjzozE;)\m3eV +[KZN{L悻S,u݋.yh_zGh՛e!opT4Țف-1NY}2[ٝaRM +Ѡ +D>G&dUyU ?3}Z b͹g*4i|󻳇 +7m]HV={ Om-{3q̣s_A&3xlZ[0@vwSRS&ޟvQh^p2I3hT/StDPn3gh@In;${h#I_lQ\sKP~/6.YX =Ȟc9N2YR F\v^,cTZ;~լ*WWP@(GH{*ïnSz׼5sx;%OK&⺉ #Ә+g:Ec*Գ1goN~ˠ=uzY$cpHk\j;\²Tw,M|ni}F l~U L)/2~1o`0V7*EWh}9](*{%͟cƮ>-WLP0ITJ7ṶK|x,, [tAį8vJxktnr<OI`aD@Pm !Tu^vt|9\"2Sv^;h: ErxCJUg)yiL_Ǡ#=|8.7u@اu<"!l%EpUm>v[;Ϗ>r;WI5ޯ֣qNOPY=72!Vɰ-ӵ9ԃIVo[y7G#!\Vjdu-wna&FZbu$cWPksA "WgSOL62MZZbWɴkn̪&SxWJ*h(}Zꝭhk\vI)mZ7n$FCԳ ֗ kOv/^rG\^oءnhL A h`^98DK&5sŃZ݊N٫cf XQِiD/W0n#h@aq +)Ɯq`,J +`n~/ U6D)_ܦ̰q ʧs%_@dTfêţILG9p"jᛞQ&'XҳnE`uT 7ʔ j~]Ư630YEx}~otky% 3X7V5%3e.MFY^چHg:~ k/*R몑5{Gnp6i,b!R4{Z}pX:.' z.Q5Mdy|]m-V_:vt:4d<E桷us^&򖚈<β?eΐ0rlBu<ϖj~bCIjhߗRlfkɌc~3)yE_Vwy} +hѱM>&m-m 4o_n6-Yʹ'U-}8 6+}U@*U"bѾتSyAQS1/ %_Yrnd'4?USTLhPyMNj\W 7d5}4_ά}[t䘓V}͓7'ipH"3_h@ɂ jb~~?75*7CɅZ+٪1deʮj 14Az5L\GUUtV S9w~BkV;w tmgםi[ݦ2zPrM9^$埓> P7ј4'5-ǎ1JJK]m{Vܓe5Z2t8i6ngbmJhْU+s8:8c:_<_6IZ+ao^m 95=P]c0'K;˺y"kn67&8_kgN[#-}s>gO\T씍y8J#sD'J)K+䡜Z5>VᲤSChM.7(z␫>m۽]R yeZT7_ُiL酸MBz<@cZZ0X4=fKZX>n&鿞BL>yQ~Z& +Dvqۖg|j`qj$EK[Hr?{q-wSm\ _;s^l/Gi/fFD}JJ-\ "ln#u!6 1^xz"aNu(x_Է2nuw,X<ʳxHl5kxC?—7kڶTJ$#,Xn洧Ѿ7E{owxP㕵Q^k?kK~AT7Z4Y44,wG'mCs۞6ҩ0냼﷨~uMH"O 뾃]ٵf;QD0*_ +bwC{f,nʯJ +5-Ա]Kt%ݴeM8xW)vAھEUI-)}V\?N[in` +m`N:lEUPCv0Bvhqd,v%/Un}mLCwݴH+б5oOBH)M{OK10fG3fdsc%4$=n& +گ]e?/}'ZlT7 +ݱw"g•w٩pM'˦`N;j;O% ЀIfsi62WaRKF1Zzuj[B('LOڀnI;E7k(`--$rmN /ݚ?pkRg%fi\%=oA2+$.o +%]9޺\>F !s_彔}Ɖ}=M#vC,gM]KFk"* )qӮqJP0+iyqi4ZE]qyMAN_>e:9LH>0R~kt}&jED!"TĈ4>kR1hw-QOO7,IJ>{G.#.lUjA4N:bFX&q}4$rAWX?3=qdAWaZWݎ9U{u5!,I]3˅jL+W/[  +ǟ&~-̷C/OaWFͩpVGMy"Axs5x=&G'<5ח!8BCRTrOl}TIxgAkStpZ7z1\u +oI>pr(7D# #{SP} ?_rmZҺϋAotoF,*I zcֲ~oT@):2*~&TYzB&ȩ\:w'"m̧g[]-*v=4uq zU1A^* J\;Bvo]nb~k tr'׌jd0b} ΎXTRU%RPQ +Zw3Pc][Xlc͖ )%ѳ~֪苖fӵxH-sle_hue#œfrNT#?X;3yŸ%ph$qce׆L>{J 47_$%&1ObuNŘŞ`ױ}B=C.BrLױg>.h#}Cıt$sŹ5)J~rDp;Mcrt3UG@=*QHk-8cW:ҞI@(lOg.J3#@͡eӆxxPqtH-bʓ2wMyZ t(Ss2sٞ.L4 kDi.%{$H;;0~2EdnR]rTb̽vSaw:ʘ-޲j0MyU)$$j\-= hm(Qd{/pr|.5eKwX{C3,1 ܂1 Z"+^ʠ@b!XnPP q4k+sc#1尺#1tK?cBjnl➂_FbX̰ڵY C~go:hϜsSp?r3f6h|9f:dר߫  +%fb d#5fqT{n4OdmG ˶jY{N#|79<#$gIyo_*4ߵ{W͓b(f3JQtwh=iT8ԙ~6 @;Ni7ZcEz_5 +0=vEbNlA{Q=nD7xjq;dNdNh>=Zb(𷑿i+%;5.c-m&`D5w+d hq ҝxhI|\ePၦDDbF׭,\r ^p5\h03p>_.:M +qXŰg*R!O q^4ܣv͡^_;o̳IJiK&sه(7=Z3} a*x>\oOۆ̦VylV^Q :eG2ԣ>r:[6,?}<4"^}'=ۆ>\J]u4,~fxtTۉT78u<zO9:UQ9Sqf6HPrFkc¸"ml~pԹ"I>5&KQyd(^A.P`8)o2$#!dj;TYD]Zk1r& ѩWѤɫe +5ltZ1~Jf[CWEEp[VCXQОy>J;>Ҹ(`~k3՛}b&,|V>AUּ1S^W-8]3,ba80F<]E0ZjtzמMkCq/Èד(}9X˙TlFP-.R4U Pىʢ[in_+V8@irG 7%[<)CpWb=m0 sX?oU^Է˖OTc ױ>cyJڜrsspݵ֩vkڸ!M8Qn7wxTy4{`FJJJknk%r.e4 аnvً:ba.@vܰ-@UJ}(⮀<;g>Tf3 0i@|ڏaX;sgz!B~9xK|CO)tZ5K!eF FktVΉU3Q!{FSr- ^ :g[ +Aמ)H,Pϑ-m҆Fk4?|Ͷ.o/UE e$@FLe}H ֻt(ި.dȘ,8|;HI7X9t]R_*J3lq6ꍠ3x>r9ڠ(֨u!fF_8DNYޖh`RY 2Xʪ'$RԟM_;y} 7'lL2b Fph-[f,) cwR"Jgx0?8$x[mjfs-^QZe$a%f$9e;(KII MerX,"R/>PhBT\k'e>C(xJ7̸וbr63PS޴xwV$e< Sx-^T=|6Ji?]< +w|i|3^BٙOYwÙ1\,}}>}td_: .Ak&bEΟ_Udf*ծ̭?uk+ sU[IGuxGԻN9@Te@oCϘ'T]$ ?lMC:EݓɄ3c@"HA\W pf0EJ5{<[Bf dj +&45{,ڏMhtr" m^N\FوMS34j`)J!r{-ǠwWs,b"?gk_n"=OmÕn8Ž Ƴ5nU l%e9άG%\kHIZLkp?Px:c (."Pfh>ydLK +s/44 ,\ҸUT|yMT'n<7qhʄtԨq<`뎈‹WuVnȇwЖyɳsiُl-UQ[}0 itf+ `g\ &dZ@ s+v޴ƣM]&M' p~mZExNn]`^bv )Ug&A5-V;4k\kkfYrJMlP$jg̗"I(Zo)5AFxTQ2#޽js|bzJs3h:Cx]wn%Si%ԧ-N#l ~ dˌosH^ x<+2}OX%TGzNMv| +æէpƭt+kbE+5Ꮃsv"ăѵ& K" >UƅFieǏ5 +3BD). "uS~|aN8_GAJ:'軓[B},.yϢ2~) c.(\xf0.eھ ֓pʐk3\P޹E4mo %^)S*SbEA͆[al^[Ӆ=]ջ`89FPs}|YL| hZnyNA4;f9v}(6p}&+i5 ;|:'NqXsuʝd< :;3tQTYM[67RN΄4'I%+Z 4$ִpl}_\|}@ϫ)4yb4A IƐÈZll +7v]{]`6zŵ3MN2WAbWmf lkuW;0tzI#D> #Քkф$lXxIW(38j'S+F2J>l{.ҥ}2 + +v8Dψ܄J0B +u*8I  yc%05VuŐ{D\X?I|W3v-?*NȌqlc?-f }+aͤ * ȫgQ$L G.~Aw̥gvV9Me5fp]`lp 3Amz`M&/Y*;!Z9+FPzlV,Wܑ?5mRH_QT!86Eh5'g83\V5PJug +X5Wl* mXo7n6{<t}_f-ݣ 118};'h\թq.|dl@ɸ +Q^;mh ̙lt.>՚͸%@A7F64殯l2uo>9m? +ٺ&VGi@uaQMF4GT^z_/i]a M3ī’b5FYm_ e?{d_s'ów]Vh G7JYwjmLqW,)4 j'YfX@:$].2Bn4L9uf}d +667B̮dޠkuKeh;C>"?{<9jc.Ӵz.,I^6k`tgÐ%n̔,W#W ryX҃Ol9*cyn=!3߬}[YQzwMR6XڸK@YŬNT8_c +iܹ0:^GNgY(e @{Ǫ {y3ruc>EvA]~Om樰{ލ0mnR}dɯ٪ЂhdPm@h-z5kĠLM7[vջxVx +x( jOB[Aq֍v_wm);btWx21.ko ιtҢ<6Dn<}uC +b<+)5cۇ49y HuY&#lq*dbMQͯ ֓k/4a0ܻvog5˾p$#Ѹ>sIدJԽ%YB.VK 9V[8 A\Q<, +ͽ֌dF%g{آM1N)8qK|}.l&jE16"^7PhD}F͆b:$Cjc߄랁*D\&?p*m5{G3vfi/pXY"av㗨xfz-Wu:tnܣx~9,3̫M*{܋'0(SfT3-҈Y2k.'Ͱcs>&c܄ncckć?cQKesU6~u6{]as#QD+T:vhVz\x 2i؞dHʩ‰_֪|HA^bٲ;w|MZ_P޾6/}-n>=%vqnӃo NJ`Hf(rtk߮&;7Ŵ;Fk~gD 6͉nk&YIJ-lɄh5  +Bb 9wM%/DO*P$AU_꬏oGM<*`F1;6UF;is Krf~y ًҗs} L Rpy8hew5fVDBf4\w{1y@).6}+{*L8!7w`*v՜I-̾k}'G׾7La3i懩~?ڷRI3X֛//$Ek&E4/4ikz"MCI3X7?"Ҥ_iL a&b7X?3^-o?``z[;ΕeWl7ݯ͊@MS^Y6W<GCZ7$Tf~ ~>׺.= xs=_^^b/c8WXMWPX,~T3-M?ǻs!k"s!6ՈoyW:ѴgەbwI@-k; gBZZ7!j6k0<^E( ΀{tJWųnCu֪ۙwS +K@:;c BBC!ޝT;Twh{|$z4[cy[t/{uLs,Wmh_`UِvF½s~(Ys<0Z<'O۹fuG[Žyŭ1 + ?ϻb ;1P,hq&x +o3/ѳUl/͜eOWvh=?#SwR&c}. Ðgb@\sv&D٭o,ˋqi^L6Tޛ*e:p!C{!].9Exv?U5"1I9➑6q.߁=^".7iAsP٬neW#$QEIx.0oto-wvIů{bO M  +f9NlGܚZW>yoe|5d?Rǎ]t_k3ې66[6㵱S[ϕ4 tH<~!m's. A5 +U[2XT$aF[>WaAE eM]f3>srHg*|+nxkY;<]VtHI\%6tO{2sG"Gbt~۸=>Y$1+/dn?ҲrYy"90_av+^ +TLXu8rYN[φ=$n˹XzY=F4e>g8 hvqxr_;[+6ٍ3Vˏɫ`F +EHusyNʜҵ :QkxxbOs{:s=Yư wcO9"^oa=2wc4SISTB  y)zLO~5l7OXg{VvLZ}fsw˯I7oQnum#+(eTnt] G5weHvG ++e?{ioνge7qP6th֑Lv;bmJ;R +JX>Tρ)^z&ﯞ%7N~43JJ?8<hy|5{9t,\i$Cj+ ?S-$TM,wNsv>P;&ɧ{֘\I2r8>Nd#hxaHPCOTݚꐵ1)gkb55V[7w`EƧG4Y}l{gQL.G Qj'h EVio]Nܼ(>bqe% r [_tј/PRytfbLe Fρ/*Z&_& +=;B\LkKMe&Ʒ!FTu+|nRmIC\MHt1>!s9U ?|'@NDL@uܚn/3JV+ބ֞R,C')-jjIibr-x|U}.o 1tNԞ?r]vV0\J{Uܢ7a^14I +" R3'A @&$d z%x́6|Eg5m*5e|쇼,`tEEs\x0/DA*ߞKȾZ [VOvb44MvƞHIac]i~ +4g-`_Wiŀz*%썞c9 >{i ka"[a9);#>6vCsPs1?ƜHY<0YiPam+T]1vv@KE7'޽eg.(\#ݰ˜|9pء,]kygI֛P8P +9\T|4lcTX0P=[hY[7V-B+ =HkÇDq3 [Sݓ;bKӺ5+q]unHi{_p 67PbY r_ < <  <[h7LMj{K3MZL+ZUɔ_ig̯ &"M)Vߨ6+qBurBJA^Ǿ >XM *5m1mÁ O7UV';jg{!toݍk:v_/q;&<'3ĵݞl+QAuc=a+v gdutUzi9?٣Eb؇Ƞ갸Ҫ?TDSB|=:~OhXVMDnPn|{Al./R~8m*"ڬ\qSQ?|b\։Q4-gGsӞCOݱXGn[pZsP|^k..;%H`}͎9I Lx~oLoUtvO70hilqOwzB6$g3GZV;Մt MѵPqm\y'T}|Xs6j3uÆ^KgV,=PЋ,dzntjU=y|O? , 1߯pʷj=K7| 7w]s횢gnùiӞMWZstLipVpeQ~AR珿nQ[+샟|t LKA|kt#Td5YYЯ$)E>f +m̮KDnt8ظߗ!jAi);ί,BƵQ+^W΁N{&]#!db3p}aKv0Tq'@ (\p"m፹a'[70mQ͖AZD>q3a\>a O[SP <NH .c 4ՄMKPɍaδ4 -rhs49$[bvUd6?s+}o@҆A S!ڎ$d.P'?1,m\X qbΚE8fTnѲ%Yu?"J*54x֩9hJu zB"! ,'㵫*V$^i=bIGszn; ;>/)y11q<#El| n]w1\[h[Nr:˄.Y4l#)oGyKKgld}H?cN2Y6*6` w;x%JG­HgidSa_1 L=X&wscabE4s_gp+68aY |_\6ѳgv'yXՍX{.(骅Zdl5j.Q֢; s'bɄ.`f<@},ɕߚn{6B[ 55e܆(yCW%b 1QH F_z6\ͰprƗ0E/~YnG!U]L#cMe2ɑ$!\dչybwa~'$zfR):>Z^OKT`łjnW1&QV- e"p +h qXlG*el}'|Q; K tŭi9?fwTW>mޱ1L#5gE`bY wGdd wM;!@ѵj;~GLB4]?[}.^ٳV(wU! mb(‚}}X>»4[Ҷ4STnB'cM^:(oY$nd%lWڶ99 @#*-N^\bQUc0j8<{rەux}Jg!t\k2TJ$h6a5ߠB'bLeg?-Z'nV 2]Veuy|D _DAטhkUx|}ddK4_d +4Wvľ%>I|>=DBSS;XOކ!_[ (Fui@W! 5[E|^)UvNe.|"|׭|;a9E~Ay)7R331}q"/ 7(gר.$.+ăSպrگVg$W?E(hlLfwL۳K/YB +\ԈIR7G4ۙȏIZ/Ԃ:2ʉkm]7̹ZYfM}Gi3a<X1]Q !%,/׸TTӵ^5}3Wym1cNnRȮݠ'LR .& 2{78uG̛ꑀU>8xm[3Duo?%} 8Ylݐu09ghihxN"̈ˣ4'9ܝZj= +tb֍ܧ]ܢ6o{?O%g3G[7mJCa ˇ>@y u>>Gbԯ)yR'BStO!oa ""c~T#l&JpAAecsy}-;z)9Z;tmjwUB򆾌dfe$,lRl˹`U + с^/?%+op&_-78ߢ~J7Li[ O[3 ߶V7ԇj +s1sn-ǜ3qfmz=I?SNPUyKzV T,Pcce+q:ݱ--邕Ϫ&5{gp:Ӯ`4fc$0}kTlʌʉO*t> 5_v6>i%w̄sEn-)+{=@эhl+f>7g&&J\G^ ilMהihV &'a)YZߏF:6oJ=t9p=۟_9wl٧l^L!f͡2tbS8+CGWvG$Omdx^Kev{BFMgT|./y%[jINHz}' IKhSf7R~^~Uz7I\'H9Yudo*x]G2<VKoDlwhiО]ZwXG)GP{J @b?. //>XԪ^=F l&sN*#~B +2A``OI .SDѭYvi~ڛ<621Tsjho?/|>J}IJ0ka#mgs䵄NF׃1'|M"yڼMqJ.qqA6WˎP$:R'3L&i +p-vs~^bs]OC6Mmspn.h.r! M~gs([~jft%g t&2W(ٮyT{dj"AH߾$[qm2n{,VO&\̔B N7k+w&&8ۛ2E +%w~@f+Pi|e)@IK$͢ᡎ,c~T|D~p+FL9 +bIp)Ɣc}q_Ou5)L}#qʨ*$ב%&ټ7$`H,h`$6 xPPc>~EwBJE~Z|qةVκ fW7qur}}mXEٍK.HH9%oQϣ~3[op~9S7wqƏ5M=U1l +endstream endobj 27 0 obj <>stream +S*Պ{1斊rM~!6l¹ř[kWXȗ7T/ʧ|AdX֑TLKO `obbY\ş^&F%s_<3Qqgfֵhuz 43/m6,lYY bbZ{%KK8A=ĨsL|bE. Yx}'+ž;{(~oz5 \tQb}ʐϋVo(q\&_Qe,WdKDV.<Qvם)s[3K +iy쬌cxncbdzx7/g]sM]n8@%9w*u:p5Ԥ:1f 3[Ifek_>&YM3=ѩ{{U\Ih8!IȟK~$ڭqm*x7U B8 ;w9ljY?Sx}+1e"YlrzfU>zy + R|͞Wă~QlWj uPuPzp*=qySۿgPX!wwgs o=IؒuLlQnZ.'Tߎ$Tj}2IR _R#Oɞ{7؝zv3-Fm1~dC*S=E;WGGK7.X6LiI~PcIƨ}(nd#Q#1vSB>tAnO$bLNc;Lw9i1צQ-42"NH%e龼q?)__] u@ɞaEA{.f²WwqsB.\=/贮33ǶzOhy,MO]Jbn.2~J@%cN.n} +TZM0几J%Ɂe^oL bp՛@7CW'X +\M%FKCq9 B& PvVu }f֯Ġ:u|>^'kM{* 48tUsґ*ί3.f7pi{_냘)3wiZfZӃQqh]iu xXS<UK0%Xl~8'~)ϫP1*M:'EP߻q3PojPs89Fsdr|.θb{2T9S/VIFLhΤbu?W{I\?(Ojgz]LA](h'w'(nS׼ {QVRy#KP:‰_@0@F)w̦bSrz?'ҁv]q%]R6HMZ"{A3zI۔Y6GBjg;_%|L0Ov'"ޫPdGT#"W(ԷfkI1$ վkB,AA n>;*C!@fk0 Kǭzo27A_|]+0tc, g]/ň5 V ZG|+akoC.DQZu&]#;&a:Q>n݈q, +m~OX&Ѳ@=3C21qPjTzr!QVF-yX̮K}֬\/tV)-عO2n2g*&t_drU"W;=0TovmZ6vR,nePiS#&>?x hS_|nө9cx$Z̆b[`tiP}ޗ$!)ĵiᖣ[IC~o6%7[jXYX$=mš5xrߝŚ-Kp`P&\FY6fч+W|] +/޳,V*S+e}xDc0Y0n6kK.34C1;׊߭5~ߏ|͑Q7ӽuѾ[ /)֐L*F*ry$X$bvn&[z!'A1#^L1scȎKn3rwhAIM?$qGrKsz( 4@ǔ /W"+F%r\dؚ=;DM&L`g4*y" qlg$`0@GjHTxTm\)IMyW Ĕ4ܰ˼1%bMGY÷WZ<$XoC_j,nI[{n1c|N9! 9`pPrvϾڽ>Շ}w[kӊSvWȾ?@M Vw + x Vf՜COGʁV6}=܉-&:曜8pݯd]/@}sݽ:ub1޺Y|q&  dqoQ?_~3L.n+>u&nEy{< (-?; \:89pgܯrWݬxjež+{ymc:ggF +2R?6[T^(GOw +Exr4c6pO;fE:ݙc +)޾k)n +}Z;O$yu@ d}jA֕`t{\z6tWi˓m֝kl6YfVn߄nk #;82dbf]V/t,lW4_ *D<[2Jm?7IY5>&zY߄Igs\ptf=K6-;3t˫wWTus:l&$2ɂ+>ʾz]>$#~FquU)zW5߄&]w~{ͼa_z<#n@[IB{\ % yq"1%$TS.\M>=l|^TҪwҶ~KqcG0bJߒ9M&%W@ C^(c3e*An = ΅\Y=fU_eJZ`g tƿ'!({kMPUX+:jz$/F%=J $Ӌ #=󎀒W'{v'2z؈ELv;M<0H_=wxk4B-|˛y+AYoblJFdwtCƨ"ץTڭE;xq .ggh(>AowؗZ|SZq_sٸ$#N6&g]uAsO00*Sīaߛ=_oIv洼;}©\[/&:b:_kjN$j2uĔ$[y(aWy9>|U+(e˖jҷH +cTMUly[Wa1 x5gYs>Z>L$pN6 +Ԇe${r[B<ҏxq61*d_F S/khy9{`$9=f!uW[Z՚o7Y$!yE< d)pFjCBeb0y-S^LbYߕOn3~g%ڈQm>nv4?˦erk>3~DS|Hf)Uj\YTWI\lCiI#G x=Y&=&_þӌ9DՒcl'Ljz 2s=Z37u֥?#[ϙ2:5׾!12Y^fmZ-pt1&3fl?$q/+&cZy4Е!:buۗ'Yo5olͫ]B%93v]KpI b'tc}~[<[_'p9xg@}oz! 2>5ޘ9sZXh\Z>(ne'%n)Rɴ6pw1)&4>P3t RU _\=^mE lT=]o7_hXn(NDIMjX"LIX"%)oJRY\G:I~ *z)c~US\+~)òD_uۻN>{HQdi/ JN[1k9cjC+$LPwI/DPBZhlڽT +azĜ%m8{V1 :@^^Q ̾ l + ?ŵ9𨔤f@̥Sf;Y{b>%HrTJ9 .':~B"sb Yn%!'Z=n"/н#h ?4r w"?kkj7S*lU*PGfziͦqc}>!Wڅesg~Kz#3RCbħG<%122 4$!aнNc/2[I.dWp9i-享jƋ5>VedƨbJ9GK"s |a|zxCP>ȧ(' aszxp\Ǘ}}ԟhbA#xw,QuWeͱ'Ǻk.R)0_U7yiP`'?YT +1Ɛ`hx >|Egez5M"{5_Womm2o0q*؏z޼9dY22Q=1`DBx;0?(9jOA6s뱽}(Bx5ٷ:g͖fĎg"8ݸϿҾz91|q#5ȘIetԺwMZٸn}N&Xnƾãe Z+t[{9w8Ovx|#(Kg*3p<@i:O C4 k *:}XodohO /;ND[,'+kG^! ğoQۯ7LWPcQ +@$]fP?o9Sn,=|=ݫwy7soHRieҊQݚ`ҪxSWKDy1@ێWzak:k|c=yKa;ѥ:a-~u'V>f}4rǎ9vAј||~m0ax#.Wy"Gd|4+ӟYr8s)A"|T|;9M߿[r.>ASï_l%G+*)ŵ9{J\bhǕ ^_Ɯ'wf;>ĥ㘙LYq@ŶN`i\!hȇ~]!_GnGXbT<Cǘj&>gfύ[*ҔZ{uVvc.Me>tvU7 0&@Yr C=KR*1u9w_Y{_Dz)| +!șGlvvُF֖UH0bgψ15Ft`a jFii9C/ǟK2i༿mkk&)[$ +TˍclC+\+G스\ҹtAO^2#V?Oة٠̮Wǜ-j%Z)lPj;׸L}ǵ᪱aI뾵p j~^,"zS.Z|5WkDwK ]X5'[Ѯ,2LoHLY~o̖b]1զ'_o'o +$P3'Y/\lGpC^R{{I3NBUYG})l.FgV FŐ$UQ?nǦ +*~8Iƈ S(Eus\.I,A~JhglܾUZї|̶iqw01Qi(!pB%DSD;+PNeO\Gfuu<|gq9:vۍ]&'_ኹs/iףR$BS8Q8.<:4%IʴXߑ[@t ?9k) G:7~d3ܫH%ݠɯOqYs.ٲ$IzKd_nBqP{w1w[\WUd%&M+Р sor7m Sk65]y\Z/޹<\h=,Ulk8XGlѾ#qdt*IIV*rT߅P>TƎP3\Mu*vRvDSVaq`؎Ƀܻ+ˈQ") biOs|` B}GT?z#PˀAm=}]{kǫ9G3Sk}Z_ݺ%ypR42s[|w+{ƞ(e14-vv0';gfcxFOts|cďT6Q{zյC#EhPYw90[${v|WnxUwDΒ8aLeu_:r6kWi0v[N}8\o PsXj09~7ÇFG8Pq;ny&Kg[zvD]e~zz:P뤽TO9f'iSkGB&x8&t|C,bԃ}gas3UL9wOhfǀR;%%*Lcuڊٹ04e6Dc;5=,j1PIqCRi $*h§A%@\HwoU\ߝ^]̮S4֋i@^>Cm5yWP"\Mc.ryadRkmw_;gy8mRxYc1 "Pbo}607H8]x p>wꮊkVyށ[ug6b+rVqmqs1rpG+5Ym,7_q1kwh-W;(>>٫L/4'쎃=mQ5'qa$ 0]s{wa:Ft\3Toj̓: ~9quƎud*TXh-~?6܈z;Auv/'TB_k*DZ/?|N᧰Z mZ@[@'Q$A@$Cdcrx˭;%>YvQڦp}luBQwVP/lT|Ԁ4.0*YIXf%_Nn~$Z{6k-9?ƃv0h{쬟F(Qr31f 5=p@"M#[䆇`=̵[ڀbƠX!F)mgP\]7*$暃o\vΡxwpu+;99?H.l1i6G}m eXƩA q7swUsivz1}ao-ՙlEo8h¨ǫ\#6 +}^bKvؓJ;$] )]ϦM͞t2M$r+,n τU8!yԘ|Cqb@^ Gь8F2gr֗}k{7]jtW|ۧmӵ-=(Nw V,7wl>#U%y.j&|' rG ;y770rޤj=klPosN7h;Rio\n᭚xnfoA6F>@_$~̏Al@u@)rEP^2JM@i@)= +x^̳r"{`"ֽ&H+Jc6$>|:ay>Aٶ g2[op&&:ER1lsW1%*TrsYZ-˯O瞕^C-vBA:xت铇o\8^ln9elfVpS/D{\Z JTaVPpJ2i@r%]9Ru_\<G6oW(J=tGJ7lIBTy!GJWo{zX7, #J_'-fN%0@נdtcTw^PUEKYB4غ=1>D?Ghv7s|2n.Oyof]j 3FuwA"0En~qKC ..PePǸ̓\kj>rQ=! Gp "t< ayozqQltl$ Հbko%  +iʕ@*FuŏQpW-F=NZ9/xn>Gn=Z53%`>{o?Esl&uBOy?zRasU_4,;1ꦄj2J +ъaGR~_ OFo䡗5űKeskm^*i/σ|ğNeJ\ZRl؜vbԣ&nj,xlz'pK%ۿ#oRjjӴĴw eXo\: #>Hv{D$2:kfTNaqf4P$>9r*|fM)q5δw +[aΝoͧ[*J)} +zi|И;31T7v\geΖ#JdsuՅWcid}}<T)P>Zq٧[qlq9cBedmAFM^V8#?f#ndF.K__:ߐ/TP,b΃C%g2Ɯ5'c{-UmUPAT@[D =/]S5v\,;s2#b=mzƁZ-\%3Xh>X yN)5[M5 +bDC(Qo$!|7~YY3(q? _O>reTHRm7 7u,).o^;V )ϕ٭oN|y3|ӈ:Q&[Q: +8_y YȽTGx&FaAOu{ߝ1;{.AoF\WiJ;Rƫ92%# [(dbPp-H;)#x%kl؀ZD0Ŕy7y_?B]_sJ3T dAiḃGۺi1+j7=]<,5oJ$q"R}Gx6^߷ٽx{o|5pJ5UK_JS($#+j?8:' E7e ѷyyf$U$OV-D~q&A"fI?"#3*!o_7z-lU|IҢ_7+$i是FmkHia0spgYU/,E*4Kjos. HP%@9y\*[Zx*,ъ4a{{!1+zX*cg;eŒ[lVONe+/_'gWw4$Oݯ@EX9).F'vׅ[ '7ap]k FL2JQD$na|#t|Ҁm++FG=з;˪Lg-:ۗ|PXE@$r{3l:rkQyۓu<3fIsOMgOY=Џ#,dF;Y>Q؇1ۡ: [tb7~-MPd(ebmQ~R۩oַ*v!FC.Y|@>^J8 eR R]׹[v}c.N̴m޺+S1LILz䔘tOv"R ?Pϗ^7gD[=5VDB_3~ߦz"9Q*^cx2}Xk$lOoB dB +@^ zqWq눟8 ek+a:eZ9kMO.!S?%h\: @LڝIto:uQ\L[Ï*2L{D{gfFŹ3:hԶ j؇ +)co7[K/Q:.~ٸ.}֧c:RSze Bt*+OaNSZ#8&$*+k~W#y3Z2R3VV3F˹DGmz(W8-^Az6. [Z'rk+Z*5fj-ޯ줺z-LnMBVz8F, ~{{<7o.b;sִ)WƤ4Sds­sPV]ʒT +_"Jޠ[mLk??&[q\|dg[^NU໬]yd;3ڶPȷ#jA5ʇl>m!$|VY"W4s v+hZ/ʗ=8qP(_\ٌ%S r޽%GGw r*r~vΫfjHpɗGIASGۆN[XX,eq6țQ[:7诔  +~" 0XVj*2-@> ;LULs]!ƱutvnX=ݧn`0+J[P9A>6PgAj:@ PtHWbyz;;]`hQe}6cl[eü3`AV~ƠEIT0x_څRyidBa~E9PlF) :N3f$l6tgs삌v|<k +6Pg:6 5fuP%Z|x/xUb\5G˿zux6}`7H3.)?HB/@]n KXL.)-\u=!l;,R3%%:k>25-]᝗L5oQ;gmZSKF ?6,Qoo, Ta"Ib>ӳА́l'}DP;OνI.kMw"k[Ϧ?J;ٹPO-.Qgg,Ax.IBu9@CO9@,bOv7#Y}6ntKT.uaEAr? 'Syoy.0D>3q^n[#HR{F Pp#@*:ڠYwŠ"5p֯f5=~yt#p*t.ZD#ReT7y3]^KO]6{8t\3V[c=:)2 /$V\/js23B%a h~ٖۖ IH7/ɮ(yX(lA<·xi3{s莫C\gi[u` tɼ#$ܘnbݺ<<&3^UvZц°(O/ml%ٿ#k"%6&_qc+yy <+s +H#+W|W슛W^_Kfɯ뵔y3uަMOC^I4  (ղ7/P8fmՋW^ _C=:5Y8YnH#:WGvNPfrb^JkOъXOt +nl,=S"($(UeH7>R{ݓj˝̦ИuTҠAzP^|{z_iqs̎xpӋcFZFz0:$D343= tup vI>i]v'2J4w}?.O\oRgu IEϺb[Xo중ձ4y;rP!圗#Lr7?` JH!0)ŷ]|xq2 Q׼ݳ<6}`0^qdn.R`&|?M%MJ QbBv f?Lz{`aza +_j[8B @a* e3#=7!v+혾b{:?;/hs1sƆW0",veB ߉_IDypx/h? 06JUc5tӯ݌B:^_8m\r|(L +UK +Q1Ml=.wQ;Ž/չGgR8H8eA ߠ4QkW/s6>&{*gu\yohi,ECȱ喧ĩuܣtáq|Yi!M4ny2sw#7Ԫg)UkVd`|7@2 +.ֽ%3};T&r-tL8t`t:̯U#$vW˚cr*IUF-uvpYnfg^/1kfi[LB{W @[PDWIܵU#١{zI燝[jlvNo>_ʴ$lcBNx빳a%S7S}X6tiXt2h9>˭xi 20zmݶ2DYiՙ~%-M]uqy4EcgrW~|Y=98ذAګTعF ^p澑#k~q (M6,v`4H8P9P&@f ).@' 1(V,4ډwy +BhI_7_=zYt1`iJٿҸ~<^A_sE2@vLX (UrPtŻKcr-L3:+ܭG{Yx~0QV:Z(^,9]Bubj\K"]e*]^5%>`Jr6xa6sǽ'ˏO.2nmMRN-:,);owt-\g/ .d> W +H5dv9ؖ/`"|)M$[qp^Wqq^dBNc=~}nJsםDaS;zȶnԭ\6?~ VUmX+  !ȗ$aZ+LznyЪWӢ:n=~6jtp?xdֻ޻ +yġ'湶CM;V5V69(/GFWgZC3٬Ty(&ݭIIF$=9|n7n^l&]( [f7Zm96 u9\ki,zZ]Y+18,Gajȧl̪eԞVs'TO U@8Lh'+FAzZ-,nԌYrf.,J~K'?'0HPυR%oMdpaw/ćӵ>ݏ۶aųePnWgp1ѫZ:PGPk菓f)ˉ*nzh*6]zys\Ed %5 K$4UzT7={vs~mc'pކGp?g5 &1_\>KkA.XmPSmjIVKEh oK#:$4|oPe?0+z9i8}Æ5Ns^LL{0I/:J +Fj"TeRUr<''uCqkYEπ"qa_ޖL Tp%nWe6ӶfٮDօnj>Cp`6 יZT}m}.:9J}jQHC0 :O%AnBRy^ܽ܅]Ժ\C;ZX%z6Zy[1?^>+;ѹ1f(=ZrnHi6qqJ'%2䆩﯀ 풶 +Zj&|ٹ6N.sNG"mWE6n͆t(8?pRI3XGg( /p<%{t Y31sNr+[8F27Vrݍ6{ǟn2̇$vI^U; +_R,ca/%Q^J& +J- +/h'.ǰL}qӽGUlE3Z}Յy.f9N~G)2<%zmuJ <&dd,W*n%Aʟ_=+(TR6xmG ^eHw&dGڨoBoW6JC\CCiPHH ? 'W@̺ȏV޾.+Nrdqwbw{z]yKWh3s! ^ѣe Ax_+UOȨ]rĖb][ܷU8 LkqZT֛SstXRL"PHݫs|\iP;l6.ƤJmkref:šo6*d yRޔܫo]qI;蹝"?)5Z|*##scM/YOe'pVN|x0\Ir[Y@6wfG&^.SG䍭j+&!xyInֱLl!5̏ω5m` iZb]NWk ~XrDKc8g [(5(jrmF>,:&]6\>|{|Ű+l[eۺWb%m%3{CHa|Β꞉<̑a߂|k[dUd6TAi؂8M2ڧ^S%!; wv{8~kN6 ~DF,M=)kDu Áw$?M屎Q_cRe$rMJ FjT2)nMjH=i+/oC,蠌 qq~=eC^AjӉ1δ r,_Y +ChC߼GG f~?fKv(LRk!zu5|Il/Z`TFyi(:qɜ(.^Xtɤ\ ?8uCըFF#K^F{eӭ #ѴyT֋ƄlzrB_ +_V񒸅-ᡝ֞,^֗J\Z*ZŁKgk+SGyz،¯0D?- 6^hf;`լs.ӭ|pPNaiM(ܔeijeTr䓿lbL?7pPE<(+@N|A.) &@p P$ Y 'l|@Nkrem7ݿ]cj dEq}8tf!*( +^{^}*|?H ":$^(uZ^&4xC@j9Dq]v@P^Li {lhq쬜8 ;/ bԝ%<_0oWKD(4?ȍ:AG7NzR<$ 0;P@@i ֖#dsʟPg@{,eڹYbܼ5-g6/ۚ9lZWnTR4װ 7pW S-.NJ~V֫΄Ӑ|G>lwMH`nᖹ;{jw;{b # Io`W½!YG;ZDȺ]J|8dL:dh.8Cv-9I +4vsԹ|.slFf:/57חv+RCrɗB{=y#e+{)~ɹDL/ON,oܨ6_u{PuK  !#o+S3ׇ"YV}ci+j\~Q啸4#5o9Z1˃chZ:Xt?|fe_v /YI zWJ|@j[H'XR= 4ۅh'CXd[ȶ,iTe0fVYRk6GcnqYOk* D+~G(5֓# iP0m-_|3_xo]=͘:ږk.vkȝהA;4K qοM3Ɂg )6PW1Lc^( +cy +ڏ ) ꜹPm @=HX25$b2q:ƭV`B{ +&x ++D].3Bom;mG0.G5wqNw --L33L_|z[ &in^}N-[oU|Yv?\nr7Se>DWb+@ +Wd>ad3T"SWȽ +7j}VW9Su8{IzRozԂ7~>ErW]eʋ`"I(@E7P4?nPx֤~j%1\JmcI{’fd&qUSsRy-o4IᅧzJZUmBsfm<ח tsG$b:EeV:gъپd^_L GDCϔLj4;8IڔGGe`ljuRi{n$sA{-vT>d~<\?g[; s_+ț-Sn6Pg&v̇t{󕮢'1_G _SvfϋaY-+}c/oX}y9e;i ^>w|^rH9q+Q-LZ=m?h` .+dh|YVԔܹD/;<,Eqbѳ_=O|.;=IK`ofqsɪ&SK"+6x(wy_mv)΀ۘ)?[Lh7O>ʹV3Ț_uV G5mX.3 B6=bCr;SZjކiҵŧfqspI.G&r_{:7,+nz^:hFݰ%!z1 5ߜ NIiQȔk0-TGr]V|e45ߩUSk7x&BfҢӐ[Svz)Fi"驉 bWas_&cL}p U݁9`C%5&'Y.=4mhrVoVҧb|S˵9rjpe&Y +"BAkͩjkaUpJ@3g^9Vl+6eXX X:qNa8+>!|w44G3ym?Йvɷ)Hc|eȺcPhpXcj%jiڕ~. $Qx'x]_ Ιը|Ol5NEaٴ1ahW`5.Ӯ~MnW5*K 2a?jX{t Tͨx^Fq—b); {ٸ}5Gl<njm+dQyTHA~aGՠVlJ^/#*ᯯCxYgRa%ӰL-KķG$bio+J4C_};SzJ}c_/RN߇V”_p : ICRFj"N}|m`[=bH|N Q"~OpȥcX,G aA9BC6l. ;ؽAE@>P4@6s J sn5-B(ĕh̕m[eBs/Oq5NK:?@*=|BxsSW^ +b"(%eMZ<}AĦ f=fo (pBy_?^e PeΈɿ K 5,Plt ݠ7Y@v?Jgre3dR`+ڈpHj݈?+sJ +@[ GH=t9mAܘ&~xBAd1ٵbnp x%!Ub]Es +K~~i~\ٿ5Ugam@t#Pl!rj=,؃RW2: i. rq>Q3:ƆK-fHQlq}oz깘/*xLf-?ע*$Q 5(5@ſ.6@!FnRyk-OtXDB*Ta|K5?K𥧎eǛC2;oj1礼yոq= \Oac `}& q<^6gxy㓽ڛ;Elϲg:LE Zbll6&I^q;_f'?y ?Hz|;} ߽.@狒uǠiXۚmVx?Q6ڼK[K'q>+dNfsC,sQ)#V)MU:31m#)">?gʶZC_Z=:Nj1aqavZO~@CGl]SW Do\܃:^$IIj5 VHF|ofkP[Sfz{ja8 ][dDpփۏMN i'ٱ> 3is[RI~q5#DuQ>q(.߀񸍜w1|u{cԅLNkq5}f+dDΧjؓ`):]q{KKKKdqY={.S jÁ̏abOcx~ߵ +sMjK%K 9>"&s}] \gؑ5QmE?ED2v ?8Br2DK~5(UFg8]Ow# rR].>x7Uejhh0;qٱb=RX:z&^v$H*'MG ȗ GF j7/ *'oONc͚.+/[[dГ{]z홂^Jxi5"q.RrיׇSdSoFn9?uB!!KY'&8ۺtP89w|&nV.ZZv<Ƨ5e::r>IaLVD sH&h^n)$xBY,豝(}B~PM+s?0c3SQZ~<@*V8yU\ZD?w@ rْ8]oڳ2C77737?Op; ^/|AeKnEyMi`~OgLxK t>sy, oH},yU 6:c3ِ~`s}ѽ}-JAݮIU;8Oo0%Y|=clѝwX_?o|(mׂ<7 VRTW̷B&DRzx|zVFSirϷ.̀#LJ ܅Avĭؐuz$M Pmyv|+)w6wXQw9U͏]wjN- s6`\ZȨ9Z9kG ÍӣD|9]X!b{CѵoC(qN'I<\{qvwxOpw/ƶ[7\4vv[7QOON'[ᕖNыpf/ك\Xc{'J\-ӾKMF3TGzn6^e~lw]iuA1MQ)Bp +N㚻%yS|/WVg ҞZQhܛG3FgQ:̛A+(C/DnP[īpݒפֿ_nm>txwxvp̈́?q{`js~A\Fg:Aa- lu4z*~aWBk3'*o8[\:coLϣ2ļ/]f9]e +;WҼ\^uZk9k}.xvU4iѺzv-xd/lu;2kȑLv񸮃 Z n+}016J?tN߭-^$GqS>v-\[Fg5Gm -nذ"ܠʬ9_pv,t58843Yn 3…ɫLPOf5kU{|Nw/TnW\g˜Qfc/24٭Wvtgq Z?cUǏCZ2%R 1$ʹ)MP'̀ef =9 dp}6q: +^ۍ3ۙ!yfmu+͒T g)7մtNISRKrAr.~`b4 wy3܇B3ˌ3u-PXW lTpDx{_7H*MOAL6r6R⭚v-<6o'h۽4Av6mg9A< +$mAgQc6}ZuK"l:W|M; 3![;DM+XUY5[y)wrcJзaBF-2"$8De_kh!26]1Cxs|xܧ;XITRMg/?`grYlE#{ae}/Vnٿe[wsـ*ׯWE_G5C>iY>G}nt~צ~zE`~HݥfBߕ*}>>֣EB>d4ՅU}_O8ze/5mNm5mo pM{ QD&:B"q<0Ow|v_)RuKyOmO<ּrs`q*}~v%In坚Ck3Z.nWEtsInxf^_H&RfRXJ"=ՋŚqow%SeZGjy4bKv۟n7nnkÉm9Uqt{#HS=]e>|rp*/$o69QUmzfA^pA<=f,Mvoskpژ#;[<om`NˑΧ;$.:W +e5ߋ#|vm@ٰ0]Eo%( 3]7nw>7=^\ۆ1t>dM~h +mE\k'dU'23z'=hSꙃӆ->$ܿK>K&ETe}P:'yޫv(%npB@>5R%ڷ#9}&,ՠ|w[=2Kq*YlYq{2ҳGJѐmTsZq5+Z4l7srm +)i$9-igr9ŁJX:nUkz's㟈^Iw?9Fi v̰jסE"2yMOtr V / +5`*r5)0;itߋ0HM޴eSߙ}r·^EPN-~ڮyu=ozM\®J'|V&1 LS#\_Æ!DÕg|W1#v+Bf%H/$}Nt lxطtќ!y"snvrXmqk\qrHڵ4`$QJ{${;D|\6a10ߒ0rVi`Geٛ]VĞڶ/Ku>@zfbF }B*~#o*ى"Ӻbg[/.Q΍1eadēs/hX畛&=k$(Z^@^Gg.8lZnyީ|=`z@ۊpEwٹҎ *0~ '*Uo?bOp$ 5Ω#r>\=d .'x[\ !VR'S +)R?{QE]ڴzP0Mukji3y)VJ_&/QutڔqjcU#?TfGsGpUGO or=>8qmTvPYeUոJݪSCy)|Ev +ǭ]!d_C,6;\E^߶ k.r!4Zm( :04Ƚ_;Bh7(^apW.t;oϻSъb>e/%ء_D{>h3jOڽԘ awpY* +'Ov*'o*2U:%H{tTr1)sDo +&9|G3{PfBԎb=rpCգ^BgZ7˥W&ywOFx8^+F֬C!JR`wQ˩eMg~h,l.Ql^Fɝᮻk+SZɓ4̕.bLbv2lMNfŃLm|4GVlnfǽ(w'^Y +mfTgɂ'i8jtfvHΧw.4" !_+B,ӧ[S̨[(gQ.tƃǛjsLbK9gF2%xg갴M:-uJNª=b+s{vG%1Ԏq5_j0uOӑ]]q%e|qƇk8 6k|֑[㱠PviVd;V[0an>+/x&'GЫ.*,_z^>9Q=e\~KjЙ^F 6StC>_֊*#dj\ [W/X[ Fp7&RmgxK%[pk{mXQsy66{[n +de;uLt@P4 +]Q@E5 Kd7ddGOZ,% ۗ A܁& =%[阖yh T#2v~*v)/H&."`%u@ @yP<>dI +Ln5d\`%$8,c&ؽJtixƍ%*d\A@;Otiy>8h%w9cЭ@F R9޾Ӓwt~#{Qzy{}պ3Oi6g9k>`pQ-S%.t;ltq9$IҬz"U:@9KKOvwmLAӗ8QEiS:U=[Ux0Fu\̽; L iKٍI-spH_rG&SȖ]!`16N5:Mv7͗nuU ;`~s[vd;e^}u⟊RΓQ}RF\i<)YCsm+/$2Hӏ;*Xf4k۸p5//Ç(!z>ĉTʳ'<k3=.j}ʣNa:]s+.y2Z}k{ThPh4Qs 䚼{;\}Ezp$K7A`/λTVӵ̩364?ݧCn%I`5l ME_Otn `ble/l뮻|wcuSg]Y:pVnW&rMp>XkiUD'iC|z{]l͂cZ6њw]W9 +xD 9P58r#Uzgٵz~<4mak en`!m~e L%`Jk3`QS:3a)SfbR*-/Փ b ䷒]k9:f c_}_ZmCn +UZ D[ +Zy!2 {VHi=gFOtryp ZE^J +YŦo74N3&~&es~k8D^d$3s7G{wޖz-*0kݺ*j> ò+ ܑNs6eEu;*63!ҦxXJ8Ho3-G=iZiirٶ_M>y> +:ooKA6mxj^4ʭP-b)f>x{Weu͙Y;榕&L&V8TPZ@Ab~/M}*IS_ޮlUwWo:w\?#oP%׺`Yꏻoub3MO|ur隴rr7E?Hk?gW,٫¿G%M/#Ssw=(I[J4Ipj[6{'z;XNW1=`tro,7G_H,g݌QheäQRh'DtC޿Kvi 3ku\q3v ۔PyhYF&.;Wަ 3oSe &͎_w+&*~WYXgPOX՝QIE +'0sR#1~!Kp's'qЀOy<\A[|i ;\o1}h|cP ?3íZYzc6|k5|yN_Aj?@%֜;yٮpu - +͚j4φ4H:C2ߧt7,v2FKm"v6^ώ-UvGVޘ + NF.ԁ6CRrs>)wOdvX WH0i15׌R{htZ6ѨwF)"Y ]#ʨU@jGjEKPd.vbPԵ-wiyf_k3˜{Y| ;yv^ЗF=ږ&@<=PHr֚Ҩ 3dJ3d7N0&x2dBȎyuJ%= mwC& [V v}g"YRQ:߀AFH݀O~4\ #* nHqV%89uE#:z +~x%o `P&ˁߟk + vdIphPH +XdB}h&: skAc ϟj슷{@ ӨX/)WW_Y-asTKUZg}uxeo8܈f ? g3^/ ];29L|n/l<`_Gw>QP/y2xWྪדPj @:N~3CN|o6 ^8dG]ΖSdjLU7^zgtpF_ĚNgRGRs:N/PtcW7;o?jXC~NoG}_mMMu-kC%}̶ "KyBe5٬0ҞU=>;5ԍ"*[fն4XgV(z))J)@@=0ȯ%Iv*6Y{ߣSs3H(mGԂrBuddq|rؖNyr4朔z#ͭ52,4*ƔjѲћ;c;IME0%l M%쎢fU/It떥J~@{r=/~ݎAA׽Yuڱp!ozcfIѿtV:w|*7™04D̲pnm?6Fh&gu벅/E'K}M++ܨ, _R;Нv9ګSBҗ$nG޽ ]v}t&Eʻ bZe+64Nk3ZZ%`)jA?2t1_>(7uq4"MlW-E҄˴-|vJBݏzݭ`6CLMى}Ӻ,ᢌ>AtVo.r$/|^I۾X}U#KKR˹x.ehj_QJut6u_AIm^Z^l_ؙk73$tj{MŜ=鳽5c.$edT=̹bÛh#܆3Ì9-t|ҰݗA9hx4e+_x'a|󓻲?U~owMKU뛽xSw:cbu5J-2ކ<dS2p0GrfV@#r+p{@yE*2Y!AK f)AܳNݏ}qt0aYCPAfC< [,gH(bsC-7JwEݞխxERfoK=JyqPtܠs/&TJVl0gDm?I٢K*ϑȳHML=y=ݮz۱{ =J=)%h*\7ݲprW_ލIF*'Ĥ>= E>X|FxSHssSZK"NܪUYy7u?yRo^y]*ώ;+`=wq:u^^ +JFbMZ<Xlt- ݓCucƑ Ȑ?Jt~6%oNPՍw%_L}֋ܼ&,:aqL{*m~QoN0{f rzYin՝#g65O3 U.RgS7KCrB#!GZ!%6fe- þn{tθ6b<ZʷO&Xk)֪dj6CtTl1ru6eSϤ6Ǎ*/3W &|C{% *߂CMiL9ItKlQJorڤ:ݲCuj.;S\&5c_M<_5yaJi&F'ֳNp.ߣeD4&\Z}'&N,NrR 35bq89kc݃᥋5f8oJ lW4 NjuhXY|3t܊.\T;S _g_Xz7NTE? 8O( +L΀ߐUW: c"XcL~pe ,FwnN#λpi?,fι' \8\b`&ɽi۴MT4.M ningq~V^x4V0VY\Xړ<@xCY9v5_5f:>8%Ԭu!cN>Ymv%7OU(ƵCmH7if_YB6JhZUѮrm+)GzWeMNBʍig1h.bA&WVmͦDh .z0OCkϭ(WUo<- 1bVT=g9tPLOa\*c + ÖK1شs'svYI{ƀnbbfnegT_"֐*TWǝЬXBTJQx*ϐ^?xz";aZk ^-ᅒ"rQЏsTsXs`~_X緥'O$SEH-7xu 4nӮ=Nh Y6Rz^e0%߭/ +N·GN3t87퀹k#L|8Y*ËsJpC7.,K_şZg;&v`_&_f_f~K9%wY+L[)AdB_5YȊ,3[ukq^Xfex L@_I&<$W +ۨ/h6O%wf( N +@m'gaңSfl*Zn^xsZ. F?/Opdߔe4~c~ߤa>InaINp2iLr9Nr:Y@ FYP%,ڄg6ą}-G{OKWUbiAN[P%q=^̌v /I8=/ݥHV9cB秤GIڙ'RLr{Lr+U_,޶.{9oxFK洈 +ғ{'Ƹ!]F9D~7yK;A +_-PIY&y$%y~ޯkatO7+>;W{'8| +Q8rT𖛋@AеѦ;_iAWOv.a= >>uaK1?Q*$ ҫek$ Sqyvھ]Ry51N!@h?OջU;YnN@M.r)5](g3|hw >tj4pe^*$Zl?C;ދJ|DŽusz%^d}O}_< zv(/m/OMǟ n6֜ jZ`/{ZFgޯ@\k:HZvMl%ĆY=.&N_vuU4#u5KV6c)+"JPH y}Q?ifOZZ uvt`]iiàI$IQF۾$EG$kw#7j^*ߎ [<%Wڎ#xHsS8~{$C\Qu`6V+k.z-˷ހ;( %*>3+be?$E`MOwoRğ8-oNW%uc1XhTdsnUc+utصIwZ KP,l%g(*t.|&(nL/nţ)A~鹹ytX]).svk38wɩͧqNkpEz#ju#1=rJPVrm}g(w1O?xjW9_k}̧eFRmto6!Їo׫=9PuwfrgZ71t>}3nܕQ7C\4iEMӘ7эkiln\[VvW//M$}u2a1]*0GWI?ð~-t;oݾiŌfAe񦴤[O~JU$TW( G?7d~&s֏~jXkhzdݓ^I4(=+a̧}%O0JRj=>>.A< doW4G핋;ԡs쯘gɕzW f=Z=t]% +Hi~ dVKSOY!)Moå:.}YI.ƤzJxb8XXodz+| +^] 9= -^eO < vul8eL;/3is~9mvЩ{O̱V<؝?%7W,wr#Sbh~1fٱQcK(-fLi"hhvQQN*S0@d\d\Y(_)݄_5oͱz-i(Q8jé1!L~PvZUeή(d^Y!v9M{z"Jɽ%'׭)11c"cPD"lвsXZǦ3Y\2z[Tk^vCcr소/{Ztt~4D{|]fuy+B Σ0xm0!n"J:2})X^ѿA/hc^XvgS۹Sg/*T{e|Pݶsm;_ 7{ Q7ۮ/JO{mTGcy2,\.8ˡU)P\{A+rvGaHkt[ּJg.j:ltL/vk\D~FKAd؜Ukݼ1{ǡ Ve݄YM ΨwCokMv}O-{J4J}vg"MgVq_ﬗA-Z@jk} UC?U +!̊]P{uQbj{9t\j{&z VP'O錫`)Vۊq*c*~SkXHSP"]qxE84͹XﮩB5*mmg948Eet3m~ pNXWAn|ZUe45J`4+^Ѳ6MuɅ5fA9[xYHѺ>LS]6A +K@Gr˪&TBQYNzmSho*Be>%WK)ðpu$z $?H)0³)g qߔM+CGLL[o>)#:܉oP?OL??xAKyz)8名 JA)\K`R۔!tkz+7ף{8,c?%&`q9nNţ['Z r6ϵyJY>ROʧnz +ISNsX_٘Ͳpmh, 8+Zyr ɿt!/ 謒/2]gUuhJ +F@&\_&_bfkb>60ӵ7uDw/:@n7cՍl= lDVdmhU jISZ$Q#.$7\O`(@nx~9ΓJjy GoR\9 #u/PmjiB^gsZeLi`P!:'y0L|7Ʌ>Tnk.B f&Ia|;<VQ#jn4}A9]tk1C<#F 1F{h ,tvS?Oؔ<G2~G20wӬRTb[]32) sIKБ Q!watx~ oȓM\ੴƏ#A/IH/r7QګWxZ56Vo+{D=})Uf]+A{[ƨ"R\ Pӻ>~ '~1m=7+rE4`oWeJfwϸBp门xvd}8cI^꼩v4{z3پZa^L4PŖgM銠Ye@Gi\K(,U:e4굗1L +s kwNp;Kkw6՜SAz|r-2" +kwP+ĵ=ʮn{aΨگŸ.<5̼ŸYdρ}z*;]k{{RFnRYg+=`EQ0⾙*ʱ +/MAw'۫-[c4C3- +STO3sZ8ٵR+WwSe6f%=1oA cfn4o +ٛ5=Vu:%X ׵?hz, !A5933ח9n)v'!L;=fxxBt5鑜ojc)mJ*/Une!Z&Xj |J7\ +z3[0?@|c浩ެ6qIQs$tc'j?p)s$>0qGka͉%ڎf?.i8,.RlkH {/`xmgկ`1..#7R. ~ݺ6B%fL |+\XiNӍ\ˮГ!&5*cJ( Uo8ب=X}o+ h;M?XZlY,l|c"ûHc˭^e$J>S|ivyXf+f6yZERۉԇ?61)"ŗpLeT[[xs|BTn5s%|Έ<=YYnv~0z=̦ЧSɯ_P:G)`I +.!w̲0n!˹!(!Cjgc+kue}*[/Ե:R3gL=1y!DJ˜V,Mp6:uW6~ٍQ>:`{9D* a.A?Bfs fPg=4o?غG-pwb{OV]^p`=c׶Ã˔\Jdqxl+!-s_B6/HG("oJ{~GZ34s{APm~*q{%q8vq赓kk-T}]!mMk_+MGsO ~B/+aag ]r@} &.yshKǁTŽ_zz>ġ^7uDÖݑfԑbב9IN};[W^,ERDFD3T5#pa*1bPuDZVU]Zٝ~v<6{}qC:6m@[{:xȪlerw7ю@ːeasi8Qc]qIG~0~G^rtN;xi(ڟn tvn>Eo`&= /8f`c!j2BW5IW7]XڶV Z[/WHX]tbÊz~t%##>ayPdjXe:;[/ֹPmqnf4{Cjzo6dhfY_!T4sRTc"4ņtp\Ģ%!s ì  &V J 8E/ԄvWӝ`J` Qeko^CL^aUzmWmU4P 8QXl,e?9_@] u;ocrNRV P|0,0Eᮝrx8*P_/>> n#>W^vc%Nn\8Yq2[ORB.N搒)9N0 A)|ġɸpTNl нϑmTfDL2ǟ?_ICU'ik܉@َ?)lG!O*7OiHK| +雇ߗ8 :i"S` A#r7Ok侼zC/FⰏ?ak/ev=NU{[ky܎?O=S$5C7io"~\PV/E3Unڊ<lɣ#9Z{9{4 /KNxUdU6>S؋28{zEK6Zj 7t} +xQ-xz1߿ ju3?que߲S2WNQi]$餡4TS4\{Nryb +؏##Qc8#҃L:XQ0~quƆ9}~$qVruUMfdzꑎ&;|u{CS_$7I#n)R0ry^}9E;Ir~ކK# gn0ܝjzp8neݚۯ̓ \CDNܡRK ֮u6vH$v`$ +$?=Go!^ dVK^<)u3߁ǧ\{gtuuipr!PQ(מW<֪[7l@l Ӝ@Wƕl}}~Iw_I,YIޖ.Iu I {>qF╦Eb{{D'.坒Ҩ@ܶtْFVkQLR]v nokD5D7ǭUK eXX<箮+-aWWAI:$lLm觧cABpJ#vT@av} +Gs{)R'@d ѾXcjR|6ғ;J%ݏ6|w[q'ZbH\LCcSٛ\C9=\N̩ƺ&~69SWw7]S/LQ%]5jAݲ e.GM%VRtET| +Ɍ2᭸Ǐ4ROYgֻw>)O ߥ#Vc).pc㣋=\B:ѬZXov9oX m/mN#6$am׶J'9!p\)MIr׻j\V:*v0/luj(7ԬΪ`:ޭ\z/w)ȕ uS:Q"GacN\pSι.T斏jV~`;*y]>Ypiba")_㝂•!(ZO틭afh~ #ޮ mha +Cg-e[#Wc18 +ya}۔&x烘_ih~ *q^Yv8>;zZ)_5YNKP< yׇךּ44s;vW0LYf RPgN9-)1BFv{!~کՅ nsrf"EQ/kv%rUFnb> PYȒ[YS&4&S[ԙ/!f;![BFDŧvT ޾>fٔFAюgjຖԚj«H.9OfnQtyq^1)eVs0n[ޔ{&> PCQ%w?uX'7{A +BH#m;Ⱥ7 + T&C-(÷<]*%f8_ٍS^-gWj]WC=L{HbK28g]*a4Y*v{S*&cK62kSrgͧқ딻{ڀBg%cD^|`Y#-V\@Hhj9}oDiZH0Nl2;/XkױaJrП\ +ٽr,ϵY>&gfVnNߕ|(FXs k􋅁c"K4` څuln*e筍O>;uC<8odOu_z?HF#aA`\I䊼 IWtqC*Z?oOzN7^Yi qG`meX>\9`U&-Z[OY R-X1YS`:i Ģg?#T?>T޽{ja7A2KSAFSvfsp^V/5ok1ZƌfSFK7mmEpS`wejx*Mϭ\X(_>R=7e}+4znEѧNi^ꞙP| 1oo}~g)4r>Z:OnaJlU`9{~Ir |4:B}IV'f8ViJvzz bHHdz%1ՏO>t.ϓ/lKlָ;{9FC ̝wWr >9c vA傞 n[LL>ksk< ikJ!6 O<$$7:Ivfe" ^N>m{l&@UDkok{خckA /5b\7N0MScFJ.#A-6/?1M$7IεWl݃I_]uIrLd*5g[evn:@!5g4QK#:L5G.ǝgUF_ ̉sP0a,{?k1(0kRTkxdt~S<˙Z)tۏ&q_jdO7Zuv|yBru 9JۋHT'])Μ:μ^`+V0px)}DŽzLܰ\^ EĆ{k8dzUF +ց!#y2MNM]L&"SMǧY7r*_r/ry0,ڨ6.Ap$t)z]nN\|0E5Og߫A^—l̋mo|L㻾pZM 5w1R]q}ݙuXoN>gm%O+c5W{6vY{mDkwP/T>aPkOj +̑ ׊UPUR&JQ<䵷?Ң%6J6Mt3RqT5x^\S:&4Ig3/׽a1++c̻69TNPe3E^ny^ffwM͎W9noLOj+@K0uI_F^Cvc(uiX>!sHt~>VcP=$Θ nL^Q̉XF3~%%sÂ#ʕ|s؞r~ OnPb %78Gk2U<%^J-dvRMo\:~[h +@ + ,ק|yC  /rq6-SgLWdU~ng.|_pU7B1Bt蓚\xUC>PpOnԿc36"g!9jj<<0;v7>/_$ͯLKOۑ[Ń}X{z/ZV"̷rDMˇCA;DjWS͇+sltBg9z7\\zXEuOGYqiLpP!Af(ߋFu:4c?\k2auyź33Uk5?{ E"k&ׅyH.bd] d+Kd{^b4O{?ĝ|6 x+<ō2A 2!KJ㓭*\w~JdF5T[H|fjw"8mvXCdڊ;uj Ȑt$"=௒v ?`ӨL`wB0& p¦*/ͪ0׏Oboآ,s7mu]m+9 נ3YrYϮÔӝ[XDs%GSHӈghW0jΰYbŜ@ebTFK"h"ט"!Zc +!ZBT؝ER<db xc]N%3[LC΍rmPjR#%DAґ'۷ +ܹERWT YIQuWPޓ. }/фv™`rE{Θ͈BH`ܞ)K-/&&i:v&DDd# xׇ-6$`?wi[m➐mb_~?hNʯv+N +js_Rf38R +2li6|x%}ZQș ~VF~2vVx[lO4g]),AcoE6h,o, ~.{~Su+k ^񔂌܃&i_ 3t#Gc4ߴGWkrn[Dj\6|mlbQF5*&^)3 nI Vi?&!oj/˳v[9uТlklbskx?nݶ,1۠mux]pXI*W= ji>*ʵ*<ךLk~)z[bU-J%%fɓM@Дն+#DӕևkikOcPS~Zoh4nW/J=>gl_H@PNqRe EŐb ޽]E>oA Jv( ǷTŮuɐY~/`\CuhªDlIoZ56?AEP=^ښdo M\?9 +\ME2,* 3{;HE[|p[-[i+;i`x?zӺŬV.OQ404 !Mnz4]T#,!K+t[#'8{DO|4_x:D2† Fbc$eMc"aO|ZĘS +9W(!S}]6G%N=`1ٞ'qk2'6<$rz [7hD]IP(](9@u{FTH?4|S{%'SS` $ʅ6uO+%Xv0ʡa.HuyFv.[0,Աe-ŊЃ8U`ZE +0J>U񋗦CN_HS ҔջQr&c{Enyv2T +ѷqq=?tV3oGدt_A>K71{._͏][R-<7hq\ nnԬ4}C[ԍYft\FqSzqe$=Aڇ2]9=[\7Ai~5_weh.=8躄]%Nq3I e?}ٹ~taiDDžN)+`t3v;Ks/i:˜{+DĵI7֙av1*dm tav lg-k=J+ƝFhg Uu7m/JtЉ*x2Tt*B5ՍU =Z3sW {ƯckU~7m!읻?dEt?at#?ggm~Sg_VP >Ga {{l`NAŧVHT6ׇemp4\S'^ b@hCqZQ5M|EfbѬ~Xε +$g2W䴌z#eNx:&Zܤe1rH +04"vkQU;z%je& >3cyBl-)Lq~gh FZC%Glg^"\|A8+쫏-#-VssȠk~|-ϒ]e9lLx#jrl̞33_@ʍJ܉-?Zcm쏬SvG)2q!jVn]Y:\4AfQ`Wz[נ>br2d]0𣏕C`%3_AmtLȡƀҰpvFa3o 1Wq[fn~tN}Wǹ`8:EJP|s_^ܿdCs*P+#j.t0vrc1QMݝA+ك)t 2`1ll뎮ONA}q& Uzaq =1n[x'jOT5͆l3TzZHztPZJt]Ƒ}}g1wk1o#G 9ܠ ai=/v<,&A!Ok? V;k}iIpv=v1LZ3%nj uEwTg2R<nhܻSc,83E c"By¶YN\^j3zl_C0L > eu!-Ο! f%:9<`m_Ъ"EeJ=eS< 1Zi'&QAdkdL_Z9l.~k;{UKOثkЂ{1Ի>QwAR]rC +EK ԧtѽ +}wG)_sp!pj: ZPZyߥe\pYt7 .s܋` `I+//FXwS OH,߄UsoOg*AkKo'6+U:Mf<¬VP/[쌶$_))ݮ߉GY; ǚ9ýb7Jo]T4j 7AcN +ciά쁩r:m,4n(Xnn0H'gQ_G ;Cm[]{[C_^}݃-RVkNd%7^ClpBǥ؅~1Z{[<ܖ:X“j&HA6`<Mt7~#n15<\,9(@S-ֺ۶ѕM暶\\ [ OQƳڛ +h7DiYKwלLkܚ!鬖+j7) g mvW|FNQ%W\nFo||_K'z=ދ+E>sݙ]F>Fz[t]AV.h ]WPjquڋq+MxM0X\Ly\z3U= m*0AS>} (z tk7fR)(4HOIH>AqO}F舊W0p(YdUnTTAA][- ,UYK]̏复x} NjG +m:U)RLb+E An:6WP",,h\=14 s:TfMirA +o2=Ō +dv/7?n1^\ck#6sZCKNg.VZVY *K[sˁe&}( JİF E /]bawQ2NԄb l`T2Ot'R!>o ; ;0x#&{&4Ѕ:h߮˜QJT +{,VVjQfݝY(hs~|w ͮsU #_E0@l>MG-n \=&J6y mKج:|Z,VȷX'mfKeAL 6^٤]2FV+^DD{Da,)]*)-e\3*#w+ຖ <6[0R\.??>@   sfq sr QFid o@5 +QFbaxM }3N Cv'GK|_~.0)'aN>@4Sw_)NI@v C]\T{g'-zz @qЖ}!Rx"v,/@ӗWIӔSi N ҔWK|>Mj6z_O.fG xG6fUTA|uO&nT.Y^{tpʃEh#}Y9%SHSueYQ9㷗jV} ^q#|('dj]08Epfg8[p"#IT)Rq +7#wU oxFG]OW>T;ʚfsQΒ7\g$4O@J*]@)(Cb2jBE8mcQp f䴵JiZXg1WZ m(^w}#fdWQYeй*YQBuާ(\-<ޟUt=sŃxV+l]T'! e1^wᬉSc#iEۥT% +e~푋캊xIeLK9}'o@If] ~ͮdb87XZ33zjW@eY_d[>Uvߥafjfd=gE7\vm;O #>ri_PUпK27/dnp#Ҭ=0ߞpu>B3; Sq&7TބO]5f4Eh4ʝš;O 4vqYu4oi;GL{s%r!k67 7;Uxzy)Z ֓1>Lh Yx،?E6/cf$zc|*<Vqf뇟(bGQC%{984ǒZ,ڵ5vd<o%.͒ݞzCLñ(fhytp$|Cjq + |]XNX,yRy+a>.:/pҥ0_{Xgx?ND4goBiJ#>&G67yp5AӸPyyx߸eRޮx՟(/('7l1Sk \niΝrw}JߑۜESG0<7#y k +082`? w0 ۆ=s9/Šf=5vͳ|e,b5O=<:oqY`n](erE:wУ*^!wF˹>f|qxM;*|PIϪ[ Vρ1g{վ@vDpz]\#\i?W_a|LV|q|ݱ4]8|-:%"yT暳 Z,0 +pm:|X(dmdLhx48Q?Uj#hYJ)U|sYIBVs;yגǨV6^p6z.4oXYN=W؂-ò_ L$`ڬ$ZA5kud}EMcy߭Ydܤ$R{=œnēLEAo"f]x[ssC! }﬽2?tfRꭻݸyZ?>`}_Srǜ&j8M8cvt.ìܕ:EOKg!"Q𻅏N K~^>2>_H\w;Ir~Gyo͹q/':|pDfx͡6;hWRE*yyKr'~}Q:1y8F-5ww}'<[޾963F3.7Pn+˙_x@,ܨ1)84Gwo4, +ivseAݖ[]uٝʦ\* 7Nj5OLpښYXpyZgՊdRqE  +.4oy)>~aYpeԙ:FvF( #u=_>2 ٧#ҐYQ|*%{q~gkZ/zY+B&M<FS_6ltMl \UZ3U]SԡJPmz*G\ -㏪:I`>鹬w:Ȕ[Vz5ưV([1-z6ɿتf[ +} cf-L8^rKJBj?Kҡ-8c?c 'ߗ1f}xo>[!>Ƽ +q¶oH{LeGH΂wPu([i uCure˕h>`Qa@7fNٱ:!yrOTǩco +f1v>Pahyz6uB7k/sϼ!aiCA}$/66GlB.6ԦE7]ꜻr3D믐إ%At=>D~u [s +QTJko;,Uh.ݸpkIK]"]>iz9;26YiZ7K7{]vms Je Ow~ O4'Tjcd"v6\O$dW jH'lڗp\m{(//ܾǷfgǪ;}3h~-P1Wy6Q|\6[6o t?B2Fy[s3fZe#R&IC[MhN7dW ~[rvU,}?c?-*@AY녊By=Йex\y{s-f .?~w$5"Tc2#ye;ۦPd&*8.Qf޸gqs1K'+<;8'^x/3.w!/G^ 4'}v/?wF )qKv"…2AZ(hs^c7nep@ta(# $錐8(Z@K @-voԧ (S31@R@шPTg&Pj{ٌx1v&&yCa]zkZ\bP @o'%꼞aYF.q1:$׶&ץ7*w o5r BTqJӏF"5UKY7r My%ED|)"=;T +endstream endobj 28 0 obj <>stream +l|~A>/ Z@@ nylTIJOC +  # +oݞe@6%omء*vlVR\Us! 'u݌/Hts P즦7SRht{4ZK}HӔ>%\34?BOj NŚ|N[#?h]w\ +n1Z{c~j5k=~.\h'M=unv +DlwK*Aߢ[^.dv;̊q~qr9w]I&[ ;kk.NR=kgpų +OD07ǦG<Vla+Ewsޏ}erg{8?җDgESwј43+Ϗhqwhn=^[Cz&JzV$0I5kV1 %v`<~V*njm[17^#jQut>ؚםZi7"zu}~*IȂ~ Q+GZu[+7lj1:(n<+Ds\ /ǬbOq̅J(]#hQemgycELIV4ɮ:nuЛQ. Bܶf-A㼻&ipEh9b|f?,",u\+*s07@:۫4kmWɥ?&۹N\/wR "}[[k6 w +$|@h myM"neزRs+Ejɞ7;?M=i?.,ш'N&xɍ_ܬ:fSxc`h(#R +u( °ܬ/A]G4G|ڗ3)ɤB]&nw[(Zǰ[]B,+wi,NS|g>'èfߥ=׸?hvFIt}+ve0rgMd%%CK<7 naW(T l~\l&ˬ}ws|tsOe$Bp9JN% +*b<>Qw~7j]b89px'"eIq0?>1ᶶ=MxǨ '~O3P'L|0pTA졏~H+-pixn'g6cqa26 13;(ɇΧC/Gi=nҗ՞nb>X[%7 Y mSD+cl?;N3cýƞc."[ā:xbSU^bֶ5#kAE9{:f?:tfcF GWM z<Z.Hv2E\rq9 +9Dlk =z9,ӵ{PfR̓%%${x ;{8Fq -ٹe qkS$[4FkE;kHDh|k@a~$7=+RY[ 'fZѺ ݹtL{S-T^0lyw naGi{E6ɣXnJӡrWLSN#A-. 2;\,(XF:#]ړw:gb);=iM<@B' ѯx~&D~jF_?lכyEa^=4.Y):Btjܴ3~ϏLBLHw #Ȑ9V>sxשaY5liRr_"R>3]zBDKڪ˝v+}iJ%7TAoJ<6O2:K`lW ڵK+HH(Y1a љ{ϳczP]uuuv.H=?11n ]DYvUl844c-j鸆yl-F-vUhVAgTf/E+]P+MVeaO ԁdXxh[ސ[@)g/ +g1,`z8R ѠUj4u"PB)U?Ki1$'XQ`˟ss̫gİijH5~Q>q].# xFS6N޳rl7}R#"AJGbyS!Ɛx.V n\kigv>l臂UE C9nצ1|HZE79Kԝ:B NHH-iB8oM$oB-IE<g\l6e=eO`RffRzZah/([hT}]gzNY;S~4NLLSC*D͇|T5cH93V|R =o6l$3=xwblr(JlEuîF5 j u9">GWϼ~~f+"y7+frJɭeO0S`l(nq@E;[|QZC[=[\*ߡ-ou8Az x%`rx9AنV C =pts@o]iJ1=3@y@7F鹦Kљ /߂Vy*tp~^,ӂNẈۓJ#|=LB4Cn8`&qQDv6,L-RP! ؂]!c"@.67sGKΡ5s$RgMj0iT7!vK?3j-*PwOrW,)8plH1NMUZ pMp"}p#f 07)&?Exe"lJmR?U /LDeա:xXf/U0*?G}L; F!()& K ԑOA;5Ctfzwk8k@]8=dViO)u1I|lthPCxڵp = O 2dDE1]D_$! UH òx@z:@zˇymP4|UϴUVخU(ׄ[d{os.5?w_Dw~3)(q*3(Aq[ +1򙋁z@~ >Pm +瞢Ju!_i$z.JQݧ8?oBl*Wwro߼[~z5HF_I^13y.x=]#{QH:%_!QC:E'ՙaVyFy0wͻu/2H|R0:y.7XO)q1Н{Hcfn:Yt7*tXCzq[*+ "޿ۺׇ-u!3Iv0{|R&T{ѩ ITMI>!Kn#]%ئݣʗVYd{ ͖*h\M7F~8stwܰ 9ɸCwѽGHáOhAT^ ~ڑ' ri{B;Oױ9Y,juun>*੟ I-PѩJ7O s w$]p(Cr[)\:3t^J=xt{䯺dy֖%z-pѵ_ņ=۫k,f-.EE&w&mp!(Ay}kR a׽=xHحc7ƮþuM"[GݒfSs_GA,!w{w\~p^8 iu4&㎯r07f +o> uvչ>{t֗[saTu}*![Or[Toᠩ7ƔI 0b^8MH0n'o~2 9,{2.rLG~C=ےQ=R푠2nѪ묎c{m)!i׷L3ݾSߍtC0! ]Vkl˭aU3Ώa@MhUb~<<_@2? Ny%,p]6;ܫGۈǥ>0ZC}ZmFc=|{.U6+RK{q"lt2*c=HJM{gu +tawB 3Y~1 ++ڻO.r2Qv;xKm:F&d~J[*|ՉS黳Oˍ'okedGFLj;i'kn]T6*<˝UpݶE4? _<vt[8>V:4}NfKbzY#jQfOYoxt3[g7J\c_Jrp]7PCvfltd!ViUA!IvK9|;BrF)jX?NvV*dno[ DYt=LzJ~Utr(_s ޱ=Ni,mFy1q6kn/%,UCKO$JDiv>4nUH"įMKt6h,oF&/plEoE6eA\M֬r͓үLqy;0aRۏeYtث>-:tj%|"~geQeAG,Gg;.[69aXZǽZL"z%ް"LsMmwuU umMz6_<|dhcC+O 2/u:=;jU*+N+Lu'on,W#3TngW:oέԲ[e'g`I-I-}1We8\6*FRuC;+NNOm\1H6`lڤ*i)ūUѩUcD'bZ|,Ԛ\39^#[WG[ÍK)/mICQr/!Nϛ(3' ';i[ָι,s뛞@oZ*ZF'Q&^1D7@0^Gj}#_F#laaAjnX*-yN޼^j5c6+%'5nPӎ'ɩK~rԦpW/QЅ/OH~ȧw{~%l +σLPݎ2W~z$7]d4tufd(a"cN#Ţqș d7ӻUɫ-&, i6e/≠UX.q8fv̺?luiwWm.pNx|CJGJOџ)0?zp +z"P Zp],?r\~>`7(%wwHE}1FFQxYİrcYٞi;bՕFKtK&#GҸO <-bqsZPEFCF iPaTh۪=WUw5%/Ԓs8E[P jwUv9nF)DmI0}>j¾so|L\G͋ L[ڀW4I%̽"78-p.SEh1c"(W QІ&CNgW=dXCtuݨh@$s,uU71r"1-M{+%ۏ\R GDZ]r{dI@Z!ŒR8f]PnhhtNKyt\@aPw[7@Ettjx3vpY5,6|U%ʐ\fcKLJb.3#W1  Я%")`D + =*)6` 0n +1UB(R l 2^Tbsi>8.VuVWLYr,SZa/#Cц|g`Na-(GՌ خlv2 +Bޚr lbr5`.|y>UyJ#bdXF. ~3JQkB^eUɬathe$7̐[L +㛊l-xJmZw__(82O_o@)spvRi `ء{s'Wl3?jrͅ:YO?_7P |^+lvao]9yJ*4D# 6rHMLw#gK=F̳^#=l[7%~bq{9ݥr> f6Iztc$ uID8n"1]oGJFdBGJ_?%V?nKúo+iW,_WO98ݔ ʓZ!gE'/FM qw(;5(0wC%ǃH]iطtWT'\VU%'_L:~p/u۫9~7eIM`\6{toXّ[PСA$@7Lo*}siEnOަztkZ_u=ݑvW')Zq}>vü/Ž/]9IIԠ>3΍;H:O3:B>ts6s5I7ֈ95 +Nv6Д}wZªvyF4_>ysv=6'ao}gosNm+ wU~RW.̸wس.ȥ6QlUZ8elf ^=20ԗ#SFz/dW"GV%9=7hԮ8e~X.[`]nmoaf`֮8тͅ2vV?u2 :S9/Kն<]e۫/42pyg.T'? ,] PfQLL=_-}{4̔u1W>?>˾U)wXӴQK5aiXqx(-|$6=-TF[NÙGǮ^t" ufmŸZ-M=;e1, jczѴhթ5R)?T8"ƦX#@6.߆i, m)hl]Kl%s=S8^vwӤw3`}|~D]ySEe:.F*,ŲpPfBRA"{SB1yWSS)lR{vu/6ڌ.73.U3qvvlKw,Cl]H7::C^5,8 R7XljJb[2y`8RS,O|B77=60GS~+Ea7PEdFξ|7>k}$'-:/N^ŅqJXڷ>5i{KYܒ62XYez;r7wXo fq#F,&ZPjK +{C ^jVZ<}*}[7ev,WZyVXq)Z#Dq[LjNxxS9[(:uᡝB?̅;z#'xxqMnR.q(pq+ ` ׮y:5Guɹ֫ѡqFUPmka%!{uKV}Ȋ]fdP4o#Sഌs$\.sGSXvv;g L=MKemw-sav< oS*W+0O\EXI-Ax<7AV浪pcr`p9xPMFlY3k3$BtINN'tрknǠTh{r38dSflBf Q&m2O +ZV %9ONkk$*-. :M&0NKcU{J,(}&(9y8`ֳa|dxLF KhZäqJKv |J扸ۯ 2Mٴ7ByB=,"$zY_񪃮Τq.}$'+a̹6fmI׸:3մĄWJT)q+DfW\o0U耓X] b g P+WFVVnGQԫ.[݈(㜺8MT؟DiU5g2:kb{p+_Ww}G텫 `ȣ(e ^,4 tj-Uh>9QYhۯQDlSsTmZ?Jb"4^6k/jA)Yh֒)y6F;l$ s5@#ZZ|.Gv#hW +G)4mV8i|=ͭ[:Yso= {pZjV5@rHp?pscʊj3sB^:c?GY, +')0䔏udK Eg˯s ҒK^#P9Lg_>͢Er +E>')I.Oe^EA(-)']=9le Kè7-ЬMsʍps- +&A[AP/ֳgW#̬:SI8{ W +[+|F)29Q(dN7יHۊbl:B)@OsS-ptzÇ?tG6>e}w3Qqh.KPUn(Ak{BvrT^ cEkI >Y$sy<5XTZ֌|6 `y~aK[+6%|6xtHSD xlxyʗi\ R$r`)zG؈C;pxj?]WC;u xq>v"Q$ V5 z;_c+)nU 0v֠HMjkUqds.ÓAS>Tۦ_#?oa?oUC rK *GP^E JlJș'db/, W)>SᏞ~L/=oxF1Csw 77c'!ōOOq@S|ճ^4OClO!7;Fx8f[C")odA̧%;wȏoXf?\>1r,-Ӱx?kϹc@ƒy9ҖM3co?]4ZI%L: +oK>iӏY޼sO_bF= j혭G{;/y5poNna広Vw_L-{So-uI!;؅[/'5\vzGw+y2_;IA[2*7WwI (OQ^ׇ=o3$zt>OcQpY'UO+Zs{ֱI-m17ygnӍ~BrѩE"fq1c𣐅t%P?yw)R0?^?+7}x>^nawm\խ1ARΩ:~}yÚIYF[rD!T3'{&R B|ns}+¥YɄ.\{]-vnScun查A+Tjfm⦚+!h.#k|ڡҚd_s{9j4 {bˡ ƞ{zְs]f|Ysocf-)y?ɨi,׈LmaܞZ˜2(kɞ>{m]VKרǛ D YrJd) a+kMmݻܒTa5>( N#{6iԊX| =e2jJyCoOwI/*}1WƤ\I(p_Ƿxne&*r#1Fȫ.ma#H\GsV~V|m݀[kYvavZavкF@5/nW6T5ⷞkһ)7oVE>js-7BDŽ챓wSu<]J}nfca4:hL>1r9&?@g,-^kG&_[)?fn+/GO׊??n%3 tlK+% V=ܣ]$]FUXc;;h{OLK窖݉6YM51E`wnA,.Ƽ)~wQ\y߻ +(x ֎Wks>4fM`)Fq;YX u1hjcS' PB՛IU5T3NoH/"ĘֻIYܙ +ui[dUxvw+p2<+Dln.tz1S6ʢN䚩CO{bc+"/2d6njatav1_Sl%ŠviNmb#qJd2hba s_"5Mwdհ2_Pnyu; r%p[A +ґ;Mo~9{jV(:1`/JA~,1虆ck ;p{<1 XAr4Om+}5'"~d.;|˂3ذ0m}\ND%}Dq-,u(L'{K["8&bSX|$4Ėex2FO{GrQ9'reH,sCggCaŸ,l!Fb@"[2nFRsVadžX93 +_V>F"d|^rE?W\/cK#:ؑp_|_xmyAYf:Z6,Oq`zEoǔ3?Lペ@Ԭ8zEHw_JJvnW}xwUf2ܾ`:<(}UŢ4dòwZ%j\5zѭ."zz"{BP ש\z=#Jy4+,mV bM޼4т>s*r.1ohƙZzbQJ:ב*mUP R[bCp:ESE)/e돎;PN.D9R5=[YڳvkR%,ҖE="Ķ.ZȂ!ܾSZ]XgkS)@(WYJ2צ5S'KUf12`ݻ~;8>qrT1K{zO/['{ HsEV[.Ttuǒ|E r !G=j.qM(n]gWR͸|A `oNѢzZ=[I ```ɺHh}٥Y+xqw dN?BzGȰ 4AFʶCPwn2O1">)FE@ >o|-4 +y BK1q_-(E|G*6Uf)r6?zyۮltY.LJ?F=ӡs/A . i$S:R  "Y> =ni @ 8 jKQ$kvO-V!()^m4Bbo[F%yNG"&`_~ƀ"yPb(c<:tj,jwuiȘHzv@% u^ǥVCӐgn7̓1Aku#L}Pe/.[4E[ hvL!g@o*r'E + {,fYzY'\ +0k2~O`zJo7qYI{X$ks:"@L?GC?uhql6Ye2 X,3 q%&G#!H7ɤ_ܴܬ :`J2m+$\dz~Ѳ_"df.qȩn=ev?ٮ'µ[k樭mjs4۵ϞW,\] 2o2lc?8VRx+!{ܲ©<kir=}mdsvY<;`Y e %:7 +!^"dFqo厓XBv&<}=j6?2(6&4hnG +ȸrs}7=sMR7iFW@ +(jO>rBy5mݴh-]!{4l?xBN!mre߻y- 'P/IbMѪ< %Րοģj}h;vq ҷ(W+,s-(*M;O޲HƦmcѩrN]JMثn[jɨ|m7(Q듍+Kkw쩼i6}'ۆ+.~W=u9FkjbYTnp^BFY1W3eVXٮg=cUE.^i?6!yYa1khwݬاc!Vu&9kXz=;d2H%|qr;rji٘Ԭz7K4pjn[3L.bs,<^C>P iWo.T"bfsQGi.wwkbj1d^Pެ ݕfݽ37sCZH2>ʛ]SP4jW,jPB}2%:Tl#s*,l 3ll +!igH^|;윬FeM)۵cap~U\Vfw7$F?^'-AѩT(jEЬjpGNsP6~bJ'FI7X+{&gx{tS/\9hY۫S*L6etyZ{IyLba +oWfP T,˫tPuhK}icQJS=G(-)n]UBٲ77dAG 6Ryŋ b/=f{lH1daFeĬtUyxVӉqR)m5{м}cZ1zu@y~kvyRٲ^q"E!{JFtJ/[xbO,D) ]'-lʿ4~<8n=DlbQnO]?cș_̮JȞ۶_,ɴ Tto4:c|gk~R ԚIh$/]":pAa8`Ak *?>|qRcq3BI~r#Sf:b™ˍ~s*ׄrB T-lxX|z"whO-7HC>-J}|Qਖ਼*~.|q9|}D.[X5يҙ781u'ܼcprwdjn>ŁbֳwY7TMSOV;KmYd_Z3%_Btl,_VG -~R|fKnkvуlY$eXX0x3y&tþS 4XG4-5j$(mI߹H3-FgH| /Yi:,k}Y|`hI{mڻ#%e.ʳe9")k +0ګˣ!ݣ7PljQ횿8<:I|gҤ?$)<G#Tl=Bak%_xd(\e\'+P̾JXTрQ*5֣xeʝ6S९T 0yLQv0H(q`x 0HUfnT TKl%FlX*TZ`}/̞MJv`;2rmbCN)< +QmέsKpR̋V pTq=N G%* ?9r6R_N|XfsG8!5W6Z?͆3TzBQ):; T DyBK)]@ *"pv u9)[ӗz9;.$0sͰ"^VsTmdÐCyu94Sę! FoiH2rj)U@*#@FC] ȑd>рZߘ8$ rX_SnV q-ύwl6w3XSm̴U(v6)c@5_s@5z q|C +b7+tBhblw4+Ź!T|x=8lIӌ[Z{d)X@ ÿ:tNO瀞ڋ/v?1<OGjN[C$` X, +6)`1G,ĶRcGI~_D8_Y:r|orƛBC`^uk@w&ƻ`8@8Kڛ3!V|x%{QMpt_F`}yoG閛273Zߚ~'<qLпJ?n*@O< 1+S_@$ )NSRz<ŊwFٯV-i=Jo[|1%"f7\V,^V_jliReF_;)mJ`8p!2|ܺ3غ~ mdMCBM G }Fxed|02ζ&ey g߸oNǙPqï!Um{-{ubx,oIRW7o }/l8 +F XZ<@kd}@/=db͖n׵/+bLgsL- tߤwo^|1hsfcӣa>TB/ = έώ:Y@ځZm%Li֭U轢lҽQrƦU4d㞴{2SSϽ^^J_2%~:3xpڋAMwRx| (R- nMx1euXݰ4^åVzܞ>s2X;||Vo^:(ݹ_ϭ8a1k[b-?]ƝƟ=?6KWTOv– &X<Y XqzP2ч)n-RlMxB6a ɖV V~֓rԸ6'ӂl6r+f&W\$Œa>o-GʧFcaF]-`PKΨ&*&6qBEVOoHZhKmf`7lɉIoˌk3:@)`-hg$Ewo]nݳjwrAh7En9:O{#WkkKy]J{!,5! *Q`vENָt!eFekEV|u +"}鳨g@;X?޸^ HN^JӺ.yS-ٱXGf6%<ܑLnbZ.>z#Xγ~zTѲ#+nnۥ6Ļfw9M&m9m{g6SiKLGunj jac +}Mn U*%_bR<\0QMQO0(>RLr? kgasVka[gTjö1bPX^iQuJTմSl+FelƪuX"vo}~pQXip,A>Z3G|`^gp o*C[^{4af jCT:W6N-t` iYYUP(ʦ|f2ukұ%Ĥ}A/%sQ}6Bncizq-rfE,d1yo1`/{S-:hםu/b/xڼp*t3䪲7tQ]L>wCͻ- YWPZtJ}%͹i6r|s-Y1`VFaPc::C׫&qO]"U)5^=7L_EEVpܧ:?V&& +W.;-9;aV]zT0hp%I`4%P8TsSPؒg),vGv^wdCUKwj] =iѺT5c]TŲr$͛L×/zѤd2t~N3Ō7y^sK#hU(JQ},c^itVo&H! nȡB7:r=-V1XqShdM# +FWdYpdb +oo 5j;jqшcRAʭ}.ʍO.y]"Sg:#LJIZ ?CKcyI 3wAGg{'d%ac 2,ʥ@X4ϯnwd_ +Y-\A4bޤJN?zWL +"3(R~AR,fqpM>Yd%ts[:8zkG_ &=.OU4pGO)6gZ%#" |rG)rvlf#9σd.jqJqQqPܻQHs(ꍛ??|sWLQnsf=;qn^b.Ÿ6 +7LeOJ>iwp\:V:]<M[n#+Gf6NI&5Yr09pWX#w>+~)Oau +IV+}Qd 컙DYe,#yg,qgfٍ~k|Y+t8jOvͮ$ŦyU1fs5oTpwѹ:YiЧXPnjZH;Ex= +)J Dy(}n +/EПA]4|x3ۅX: b;^ T¾~@)U6/)t;Š"NSc3O] +δ trPԍyZ]wYiW_|+[v.I%f$k.F qpHfƜ(`HCBNY.,B\qefVe`u"kc'ŃؠcvRk sL`F>IQY}.rLGop3ӳQ=pϰԜjS +4CRpE}<] pVhM})&E<V >#gxfxE~T!B,)sJ xxκh9FlXZKw5!k%(+Bn5H<"b&K@ܶ@f?.dBNƀg.x(@@$[Jp:~,(jCn 5Q$.f:,Z6434I_hV)23_^ZH=@2UeR\` +/Āg@_`0LHk()vU`01-H+`c+ܢc?apO(–ƼЁ!VۓlȍAc?-.F04+Wi7~[;G[7eXRۀk5 f +4),JYRv_Og~1{iVYz[Q_HQ}[opQY{U 6]B07)>Y ,f2jc%B7_d!|B~a -\euq[ +3lFw=?lI@:V@zV@Γ{;reSaO_xM}XV9?Ht*aY'y~\~0>b=8>iR[*v~\\Yݼlo%2Ov?\? աzn2ri\Tzsw[N*-5՚vA> V/Mjr +n z&Z۹E̅?46SԾPφam&e㒍 +BiMbďƻ}ٴ!VORmE1<0z +,Sg#323EfEbk]fhkofXQtXOS~҈ 400I<=n(T`dNݱ>?3w|.gW.ؽzt;\٫q&jޝ,~.ٓQͱ-+f< 20F3ch}v2}|};Q#u鳧t3p˜;A֑_ػ˹g6~*|0QhXs-l0KK˔X'E%<\Z]>o= Ago@|}Oӑ>RNn3*^.Н&s#]N]V˾lrM~VowR~el|xf̎gMMG筰QmsPO%|=nXJ,=5m- ZW j{T& @}GϿ'Ϛ_WLT- FTsh/{+œ}JasӉ۩yZX{CI{y+AMx-U,s=*%*Wm-Gu,$͖"h6mq%cc]i˝&W&duA~OD8"ٽWS48j mTJYZ jvƋ}{镾 +͹[{ ΓRK|z m]0L0"\Te\TmKP99ZK[l}Z y=7˫&=0K0ʬj0Ȟ0K"vH>?n0m'{)qWE@NuRj%*&Fa FAcp|MNgtCS6#Sy}NvqB{PpWRe#}6ؙ, +=4:,42TaP'3=Lh:@$)*} N邂X iEhek%vjt< 2i 8fFT1.0§wim2S ,JdUgrK)^@ΜVrNION\.W ױXdO'E,!@}1hǒ8u`=]._+--C>?MC, +A9PR@/ CTܴ)>=YGbAT4zӗi@g%@_k4ǢZt 5H74w+k S0hL3 `?: -mn5]6AkxFMR .gc=+غD_IW>W/Oo xUJ9t`r x:D[7fѨm:3@؝8 r ͫ"@3o@kxS+kIt|.J'jm|tոV"VG h G%_+Y+9GL,tyy\RQyEfncT1 og'7W ~k%5LCK_WJ_/q^rY(%LV~M @*W Г#ř+n9aqNse>|뭾s@22͒k_Ox`'`cC}&.ǔSL k)v6)-!wGLu$/ OM*^Tgۤ9MߟKܙ|[n&()ݕ@ȸ:E~!:g?J߶*y9wF >TLS =%&nRiЁ{{W%86S:~8wؽ5sԽPfӓGmK!G,p9ji7ch-l'j@e^ŧ' ^Hg @Vn y υNl?Wm|6چ=J2Q yH:snN"djgnhm&dy2kǷOh,ouC? ZjY<ˏ>3ilS)Ѱ!TYΏomDX  iPZ#(l vv,+TrtV7G> +G?cF?.Y ~nT^SuщV\w3dۯ0Kc"o,=[v62?n:>7W#u6p/靁ګvL}ֳob별V̆+NǕD%2KÇH4n>b{qu#t}fPZawkA'ţд7-Cvi~q%Wv=%YKF|koZB֣s~;:fW:TL2UL.()f~:< &`{ }um%h_R^ګ:(Ꙫa'La|S _@۶\Qɸb/[Iv8omzFdT8SS3wȑ}:/SWeg _imfNu5iɭWN9ՇeNSWlMraoO)`*'vɬ5+⸨`^4oAsՃm2?]y+ہ;-'4O.t{gE9R_b)!ml:,7;1l7*UqPJa}ԟUjxV wpLSbXY_њYuMq$5=f.:$?[SvOwxdmݮvVTcnx_szPm]̚6fRNG^_~\8Sf,{I g"o%逑ҳ(p)יخ]c!^M({DW+=UutZzڴ=Ni-KhF?8*hlʛ}"wyL0/}6.xf#"tA ƧV7W +2'nOn\V!q-X3EW,..oY|< Mt^].P+?r +Py;yr;3}⩛D6KDVͻ/3iȫiō+w<([f%6'xUf<tZ` +TIq2*h.վ&3^WMShOlݘDZY9y(!$:5Uu[_s00'L(s^m1h"B/'&`oPJZӬnʒ6jh[TwS̥wSɬSs9ke{MV#$vR} ˋ5m4_<Gg#վ(]G%X+P+5=љ_oWgs l+yB6 쫫UP/7/`zl2ke 5'(e_to9/#ק/b bGƮ& ?/3&,6ڷ[Vi~~ǎc7*i/rCr#:LT~E =-DFpFe"X^2&׏5m.%6X}Z쨤YKmY@3u4co`rNWƥsm@纇K?'86YxS^꥜XstLa ,[ b).{yCEѰKrXs db#2^57lqN-cT 5g._]#wWdngty|sS|k~ɭAzN~PDiBڛ^xcdW̌6>}-(1d:b4d2ԺR%eԥݹ w왬VѪXЉ.VkB;!N+A8j"-2؉*Dbq2Lek)|@IKPp ک'N}*$;b> +(U'h{ :9H;6Q?3=BNb)*ކMo#1%kmo=c+u3O?V+IхbL*>t5SKS`P|InoxafOD/K8t8d<q*#5$~q_u9 su>39}魏U祒b +U,&KkSٖ6ꚲd/g/*h[MWzY8Z3@FrdedzA3zdGd^>PmJJU7q~[HOIOt>D}ԮZQBRZJ:5NׁCmn0P.Yh)w<"Mǚ@}ĶVꛝD֦b;2 !]HYY#h6LX4c/X'1iϙpӯ 60\p[$Y(#0FIh0:`# t%K^0c&4j2bg_ZXHo<+9<4` ,oYAff`s +2 +Āe([ց _cgJD*&,ddLvJ/Ny`; ;eh3xO'EN~ +5c5Vp{9en1m+ f9M>^˻oD:Ɇ +Pǻ騐beT@- +B舔B'qx~/ƾV~i=zۨt3@*QllB "{ITpcdj4%'2"[T;X5Ɨt|ǭo~<q-@|{L. 9+ezj R{x[Ty`YwCxF=?q_Yo&l\euB7{Ю1 =@fT%BzJ;tHRÛ0?9:q8\wBu依`L*E0i f#< Eʉ3ʂG`ATo7'cO`ItX|rZ/gmoD/)?]::d_~Q!n}U&ZױrjMp҂SnC:m +=ܶ%N= DqN~Pob7rѧo)N>ԃ/iۯUn.\XR-|ZLܴSНL:z3[q7Q5Pt;u.( 1Y9FUkqߜhǦ *yl4Sy8Xp 3(|Z6m78v>bC" oCi?Ų9-u*=nu^vVQ|Qj_^X?׭8b(GM}>G:Z0l>wsnZ}F~ӓKt`ČjŻ۫PaP~N>4˲vG|f}nc{+>QJ'yAl0^wb'Ϊ89E75dkmDYި!AoT2VQȢUrr^uͶ- F3>'9@cnV犳*ȾZmիU$r\=h]Un%!RLk'b9i8Ir` >v:vuѰa8ԡYVPwCd`fGxZV-+j=2Gϭl%yfCO$G?&#ݾw`MWJp\*>zqdE [ +mR,U]^>ǫo`kmY:< +vkGĭI ,v'VqH{`:)5%& opF3 HkuUS4WhjŅKG5j m^ R쎎;;\89C\&ѮNY15Y̤H⣝geԸHЊ~Vݼucxiⶍ/}K;jէ +JSCL`6W|.玽N]aOm}]ŪʈGvcs-ީʝ$4"mB:rʙ򉈆svzjS?Y_cwu܉=U8r!?/ېhL*+qQ*sĒ[bW] 6B /ln\io9sDb)gʉR%($WX0YCϵ1mGjy' +Y({8(,SM*~8ޝj P\‰9B}'%fV,rwkzᴆ3;l⥰{I:}ޓI5,G)&M(jud}~2UL)F˘:O/L=O*:q?W7bMd©(y\KU&y~{#s=pg,13XM +V4.NKf\&tZzUhU]PBEMP\Db׾ƞE mQ }31 dz$nDg +:[:?Xsl}^f6߽NeTΨM;[ [jQ+?ۤ@ *!+ψC$S"i)$ 0eW=1Wv q*W#m߂&^V\l,$ahbǠ9@gײG#!Pԅ(.Q!<on {'a=N%JШ~c xy|LǽMUo]/`JTuIt䞴}dӺ^U9rq~b-*1glҮ,hEmQ * 7R˼I^l!3z넳.e pΏ9-+biu{źHKn::u3x!sq褾 ѓ_O>޽FQ=pmZr8)CfEpQ'!?(R\(w WB +[ߓ ͞Ik^=Aw͠ C^'턼VB3b4݆%l1} +L J߲ 7㖙QoP9ŬSMfD=3_r#%DLBPFKM4BxV Hj^!Hd&\ >(fw2L6zrYLm1Z]`ZY-C_7{̼.И|ghⱹ#L pPUm @u$P7CCyUrsP/joʽTsTUdØKڇa,6?d\ebeAJ5K$6'"ߧ;u*8]>t>΋аxCSfZCzŁ!0rKr^`1`L( +0OJm ~ƫx(60Z(-muKt *x䊞1"V;`r\${tb|m~P4܂"W$i% GJPSR.A\ZΤw6pO߀ 8#U`7MmIY=I[דɵ6NtoYnhdއHXY6'*"=D:^EKq5WE4Z rhulKͺX'ң~e^5;diM&qDZKn5ӷ:T<4b=lէW -]G~)2έ֟RO8xsm;M+DMΪuj-eyֈZ~::D>_]&@1{Ӌ=\sRG9[moT3C݆[;Jq*'^=tߔlxTqTicJoY#z?w꾭_fЯWؘJ P.\/{Uq9n/նՋVN'zhܿxTmW3WiH) J>_uxhbA$Zd1qhJknx ~k4~txS~p璚ZXjfAQ_,B/'ҷ-Y֪D&'gl;_cnFtǔ"k4hDRկwn0 [wÂ֯.jp4Q9P-U^([LǷbG[vǹNNӪ`0Vö]r>o_B"_1˿};OUs_ +UGuT-fi[/~ +;Gos2ԤDJtm.1$nIDO3L8gїsJV6cٍzM-* bqp@ܼRNM%b$g_EшAuW5s)fݢ}G6hmm'&Y%ń{%N'iSm}0\̅vdϋ̊o361w\7:q&WC7`<&wy)o2q&UZQәB->'NgEeE5b98 L0}Oh̷ɛYNeB#pK4嵣k,ef +ң'7e,ido=Ϟi5HF(Y'ax]4pETpΰ˩"J&Pbj!sUzOi.y;cn J{tһ4~Tf$:!9ZYmzO* Q쿑xB4Q7$24}vX|0ÓE|G{o}>ZEۣa6Iz1FZUm)qYh=Wf߯'3Sz4ӄwŒ[o\#jÀ7ob3,Z0yl0sʣLkqaD/Z 5wbq>{wC,ͦ{r&ANk"Cw̎c%|k3&}?lSZ4>m? "ܝ>GOc: ;;{G 94S +XcҡIgrM%Ob:_ʡUc*urvT.i[nm3Vro=>]9؍F?Lk5C^b3bWl<(V(*`[sn62ӇpOIdU%h*')o{t.S 퓼u gI-:L3E^gwf 8_g(M<_\N[' pr` +s1G${)Sm( /3'JGre?v]ZҮϨ5]v@qO#-Nu­WPx nQ%K ߒ{fˀOsCn8Idרp3R~97P'vv}h]q>!?bC\+()cS w{]@^(m?QᢇˉJCLZ@ |}m+@ +Mf'є*F'caqыvuM$'X΢yw2õSm`Du@Lp wrT<%( u$5U' q;=пz>dAKRKB HH7u | +PB e΄V3P$cEQ ?bn}rtVb''b%M'VEօ6#Y˕vRҶ?|دXt7S^m25~soɛZPf(稔 9w +4{@c4> CPu߀P *2˱E#VrzynA#T h iQz]\|1;ty6`ȺLlS䋥P.02 `8zQv>N OϩJ$Zo+2g'] X`ћ mĀv^E ւp0ݷ>ʹl} Z$liЛzL'9v{J= E/#lIˡt@[^ŬJQ1d'0}6|?37$ UiQ6 * H +7X*Q9]*94q)Gt +UC|sġ#&?)c/ꂘ8~Yo|AUGqA,m& /"Ԣ[IҡR=sOt;X$=Oik|!ܷRsp{%-捨K>,ӇV܈i*CaouUW#q}T~1ʍ"8yf +Mc'F'=oMTqh)(O %§AߨaX]u9Mdn(ytH 5wf +gYDZ~q_9ȣ÷$S> QHw +O}aJPZ]-;㱉jݭQ527ht2 cML\&5&,7p/}`Zf@Z~/{Bi]Pz4}m?m~|/5 e5-4_mLsI8[uwߗW)p3?uߢȋjϨǭgWܭޡ7W˩펪C`5>ݘX.TwdNl*3>0ej[ǘո:sxէI9ݒ(QylqTaQ@R5͢"wjtV}e=TԸϣ+ȝԘȀ3[d݈f]6!{kJpĈ ܌O2ž3PO*9ӅP& r]dIH]kaC;XQ<ǜ@ۈxQXbZh(9l-{lb_n3dhљJڦqСU'E_J'ތ,YN$˗}bw" DuXB^OLjw^wq\ΑF(*.'+\Nftq0dھ"^.SQġEV|O9u0y #Ag>AZ:E;ur#7diSllj{jRU3&oIud'S{.Ik TNǐPn:cs%).jTI#̧U*(wu0i1ݦ*ڠ +됛z? +Yp/u!/oR0M(3N^v(^UWOfИi!kb ;42=,|1i +X Zo0īX[;-؀dUM-pɾ+ŶU?yW .a-Lg8'L4 |dQ$jO ݿM=4i*j +({%qF17~KsYDiFOhѣlCN:TkxL/A^-$0md| 䊟hm`/]?\(?On;X<d@GR phGC6TӧK*-;V.Q}jǶAriuBԭBvۣXƺ z}LcJJI//By*`D1mD n-}iHDixѦvHh91*k"TAJoF :OѸ5u`c'w XӘ܅rRƮDI _?-{Ljn\X'D-ڨT]~F'\sްqtNI爛W3 Ŀ(%"Pѹп|XomtvPZGͶh^Vfw =1Ўi`)` D[1F)Ubһr :bB@I_H.>֬󉕙D^nw[+'TLH~WEOq- Ч@Vۡ\'rC`[\)vQrHB,fѠ +d:G\ay Ma(|;rTd. +odN'/g\[&svJp'W^$DG%?wPXygLR P}JT]@%%(K\(eqyX'&Zl@RO?0G}[ND5PCyX@_R(n諾z=)@5it(dS11%Qg ᑥ/*^6h_^[~~S߸B'UE Ϊln[Mͼ=`cmXId)hs9|<0aȼ;~ +YDv;'w])ηP>^/܇wF͆>p +\.Q=sAyJD9ĻyU?"e#?Y63ŬK!Ս >8>Al ("7@Dks Av,Q;xT +3\2T|C Ag@ߊrfXoPP +U o3j:e%,* .,+4;^}Xx1?X<!ըS8bQ82Nᯓh3a[{܈Fp?iޫ߃(аt%50Q)TGL(0'{ý?qIƱ~7s̡؆~ ++ fsB 0&ns F^BoXG{6*tmۿŜs9#(9#A@D/{g_N6LZB*z]~ǮFrl\F<\_|!IKb;t7<7"<ּvP@P{Z} Ef|:vtK'-6Ryt,|+mш^4r׺k%74'& _Շ`ϸ+6]|J8xwN~w@3ߋh{$ݯ4Ѥf>t8{ TcZ1Wq`zZ5AS>"ZZ/YG-Z2^XN d]_@߶YZ!fgdONZXpvɥy.{ ]Iot?#%8,x9E/Qf|=GoM"-H86x?q!RbfZfY0cBrZݪ5(ق(OlRS66:Iov>\c[ ^ѯ@[ ո 'k/֩.tܟ:Xf00 ;_ M})d&M2x ՘dFc~[hCʤ:*޺<ʥW3R{ nqaTwϪ>#4hkl"B? h3|Gu_.DrɢГvD[.TlorL){/aHi_"aL~eel=`/VŢ3s3ie^bUܨ[$6*)V$ H9)T@BxA22}ۃ\QcP&fKm`E6HKsf?"B>|&tyAd)^nJA,>L]Up:31~X@_wb ^,H_>O\!_^!% ~LMEq3&cM0 '+ d2$mݢi3CS9v~fIp_rf~AIps{S9A3?q6Rxlp'h7'hH4{y6#? +)hワ9ϧrc!@HOQ)n߰ 'xe9)WERLqUI&)¦zd9G4#uB5lCۘ^ +6! >2\Od6Yi`T6ZL 5>yoF /}:Nn0__0漏}Iek Dă)mDȱ[B2bx6[ިV8ZNl.iҗn;MҚb.l=m(V^)f_9H6&Zx BVSNfX/~ &rZǕV:m EԈ !w_OW$UA$x~&eO4jMa 鸫]Hn<Ӊ$kʰaA?xe!M=Oh濿YMU⚤rU -6"u=:)ǰ~9^N:IEiW.9z*nQt>VCOVcQZJ1$9qdE(xrLv{@nt +elGOClR.1gߚ3i¬Vh5$$\)^ W]P yr:#\/;Z*,n95gZbT؊NYw(1;eCtI@"GwL|>lf5툍 [58w{oY*ۚ[nC/-J T:ruGDv咪Jp9dhhȿ9Qį~@~p6B'*8LϧC +Sw6g{ Q*~2p8g{/ +) l +JHg{gz/?iڛȇyQ'/_ԙ+@]MQC&wF> l +(0BEԲ.5 +B:]>cC߿ݸT7 SUYѕcm#x P'5jK$(EOɈ0 O~ܬj%9`t_toN}4O^{TQzmr39\ƄvדK'Ԟyp}1-w0B]ɳ3qx~T_= +dݻ5S[]A_ JU@H OxyIGX5 "l.݊2߆[)QqA-{Ž='@eޒlZ5E]GyaK9_ZA3g7A۱DmayQ9<2(\Dhȧ}荥S&WRN^_KN8O|t +zjIvWLPOPnR0z<' C\rħ~? +ȍgզCT\ij@[c2|1J3 ++=rk^|ٝVW\RnaCnxwmf@*lchW.DRTz]mI>tT]!8̓r1ogbovfz=VLiyU+۰7yKs5pEyo^*ou#u^'b\1vƌTE/fD=^-NUnP>@ /v9(3s衂h>ɿHWL_ȨFXtԸ*çwU9Y;i<̔zɡy1l!RhZp\ժ@x1qmOٽ)7`rsewf˴wѸ 4]+IHKፅkMiWJ<+4Z}cgrH1ILnٷʻ; m&VL<.{4j +?,SQPTvm4q<ވDnaG~7n9ۄ~-4j=p>gd(D.uyf]H?$rw.l.]DwJvlVbIXUQafӨ_BbX|,aC}=)Z;5nn^z-?ltmkFF`{"JǴͮTldb{%$Zk_ wR#Qpg:W[3^]^VuWڲg /Bh.|[aa9>2ZֶWLt m_<Ox7G;h BSBKxs98ݸ YE:_E'*8LWQ?_F'L?ow +X~OHLl~ +7;hb +|*0l)L?0,3]'8{( X jņQM"U T&vU˿…N$%&+h#6]k=%-ЄHXITuB6ǘZlR8q B*4*lOݮ<]>vʺ܄Q.\Vή1e= +}J`?*B@WԮ P.A*׻G}NDW.޿FB$TE;\Oj8!T Q\ǣԒ/v`2qƥ]lg>o7JgԈ #9:8T_:Xܴ4 9WN.8-yw3=,j:ug9άK;m+/DTj'Kv΅J PN zTrTf.@׋FR:dZMp?_hZI-AHPwI\BҀ 9 NviFJۀNo/q9h\ҸT/xxIvS#QírZUxU1^0.in؜%h$r<>[fB<@+v_G}Ar:9?[7,\TAnru֋b,cs!==hc3r+VVx|A/aIW0QA>~m=_+yrӚo{S-2@ӨtU;|J˻u+R5O +#X +r'흌H qy'z۞=V.:||Ku<^,G\S6y'` 3'qG---~Όàj֑VjyYɭډS̘|Ƨ4w?i!{kڧO)ls>%e%+rc>| F@&nYt +t]EBu$M` J3B5n}ػN\[9m:Ӿ'vJ[v:۟kIoO{`Nwp*@ϭ6iqpZuق-B3! j6D,2fT|g\f2O{o8~O++[.Cay>o1tUm8n|/$vbԦr=u>җP%9p tbhVה@a8خ-7`(JX=l) J3VU 9^| !xSj,`;fB("1I 7o!G|A#oAkSb 7nqrӸɟ])%6TP3qO=>Yŀ+ö!a!;vY/ŝ$ZHp$_ +Ox G;X@a~˧ Zj+P_O+&XT?HtbfL[ ȣ잏Lw7Io`3{6~VFj^p:T' h_G> ETpp:V<`W{;6Ʒrmgzr _=S bB,Sv~Z0{E ҧ4#JsKBzi Uq4۫#clp6 wiA+uNMƌ.sз&zDdwp.jQrzɾ~Ermr%? K +|z_[3uu-{e҆\Ҟ3EjHop֖@kpʶН.BwP<<y8~)$8/l +JHA3q6ߜ?oN8lxDҤ^|eٺZ yY;+ތEl7[xdq=Ug7rqx<~β]' .AHg;,GӀs[zpUF)k-cJMUģ1t|sll'j9|λ|4*8lZ2P;_3҅s ˹@%ی.(ermC;hs~?`…:օˍɍǍĝMg}\B{' n6XX tVkZ{ZSSO1<m'u{c r arivc$SF 0sh*,WzT+LU*z?voh!2|~4Zx؍\~ry{ie29"'u=Ŷul1Z? P"Q|EOZW[ig4awͅ%{a@vi̪ߋRp?o=/E.O +@:;ިF/sM-{T,T`ioސW;7 8aM֋.3S10ϫii+*});(9U +r54P ^Rڛr!Sh#OOxŌi; wO;gk9\?Ð)ˇ^EyˊJ)ހ2a4F#%o b 7|Z/>HI7eS䷾U8ʾQe=Y#*Ģ^$ /oF8]ɬ/"aAq. [7[ G+@b+4عLُ zYnbOD2f)8UR%+rC|bwQ92ѝT>*JG/*V;UWDa C%{O 8'\$c5F8RńG͆Na3…mX?)rVZ?oC]Л)~ +IE6ȟHô`i>=,!SZ[#-PS]ٛUT36U]B2{|cM&zGD5g(1;^wۼU-o;XGheԮͯٻZO7Ù~\evGW]:/dkxSR ּ]&w`}vܲ''i;<͟xZTp:-K^Fp vLPf";t;{94(ǒܗ <{ !CUǘL$Pˑ3Tf)]Sgjߺ1~F:L[ 찧XP4L#Մtw[+/u_CcoҌ$%ygz9pV v)c)c Q3h>2Iljw]!ſTbMm-v$/K'bo; z¸;F!U,x 0b'ZNH?;_كG}tGK6Utr賿Ht+EWqsgBy\u.No{~;/ŝt߿;X߈7ktwz'Dx^a(b҄Ȟ6Vn {nTSΙ11 $6S,'JMGJ'E+6ȧ6dk; "V,sEW2>-367/q*\=mLDpcXçq9sR:ڦ 6ڸOL (m;4tLo.ÿJ.WU f9n]MnI\UQy;);uGs;?4ꨃfsĚgaiYa"w ߽-ϣHcbjwA)矺|\U)K=S:LTMX.%^_G :nhDaDx@B9c_D'To3Q?3?oN+hߜg{g(or!,On/Ar3 +BjEpn3T=S)zFuŦ5Ħx}!~^!%6Kv==UkJyeJ;r-]$<:F;()PpKlX5 R tQy T)o?{} +\u(N|He4QxBxV I^(i[_HEKtʎM<,CJ'`eQyW~ K| _l ֝f!kP3+r ҎxC-jm{^0 ߏ"a<cY6]xjoN^GP]3^+qg/ʮP c~dl*[ ~Pay!TҼW5-Odd%T +rDWVc.nM|ь蹗]I׵DTah ڽS%^a^:!wTL/El%e T[en#̃;i;dqu5ĎwyTVPTcNHǀ9$N~v"c#Z;Wq+jJY5OU VG_P}IJDUcV{kꫥEkT#7)>^W4ar}lEvK?޿o{GX{gV=Ů AH'y}N ݞeZшů9=AW]ݵ+iL, }V_#^ۅu򮤢 ۫Bv6BVFBY!QG-|(c +SBoZ~Y%+"_ +5SFQZb”t=ra'NzwW1z4a]/_w]!w'ґ?/BZc/)̅%zD?Kvt$={Xډgw%L"b%X v8鞶ocp<(σEPxF\~{mVlreEcőj:);>swIw%FLN$p$h"8M= ([u!z4 +s/W\T`\EtN+~d- WLV׉×jQ8l&aT6"0UU>/ 8Q D-#=iYKsȐ1g{2YR9fИuvMl/{X߈$nVhfyS@Uɥ26bUao&p+7A8R~" +_f8Noa]'_ 9 _1~3Z? ly$,_6a1a%-#ڳNA鐉-Wjΐ#sv&T0A 1m1dᨃu[u&ttK:GZvr!Imlư s1ǩa3_?y7Bj'BUlOd=ڶ;voqM fFk-uMjHU.4ĺ/[p'Uih@VEj9ܼf(__d.٦&T2Bz]통rՋUXx h6ޔIJ2oSzX׎9LEH !,PQ*[Hm3v'ye%E,Yq=k;l,@x>ciտO$Nfr8IYXEy>J[z!> 1=-@VF`c4Guu50t:QIV>q#9UF[JH5KQ4 SquI=,facEѺ+L;z`;E&ѱ#G%,ΪհH%Naq; kC< _tqŜ4mnC%8iJ|3*{,#~ېjȕRҔˏ-Erz7GrdcDJO<=opB?WQ? oQ? _E'hRkujZ5K]:0CG-C-el LVgyIrLɡzjUr ru%||q[/m|F<B6W.M + ۽{ $|Jbphy}|'v.eXT"`qIs_ ћKEŻuβ+jUoSSAR$OבZaX!/fÓԥ*hHe (-;zNV%7&կBG3urrH<]ol<1ESBzޘSz\ y8Ւj}mI6uQ_{ oH^UƧ7q;ARM\>~`{Q_TS *&e vhZ{Tq^dw?P$_E*x +KMY)ܕ<:.AFa>곇LC@NX*Ԫ [ JsO^:Y%OWu39ic\ YeWa&x]U;o˸Q` +毑酂gYw9 R::{s)6򷖮̲3uW0$7WCW!C +ꕳb]4r7/j //KFKLHo KM- .%'1!:;*NI,ı.P(7Z -H|gRrgx6m4D7T|E<â?*ou= Kɢxѫ?Z"vd&]7cec*& eD;}:vR|.NwI%5#2eY:+nIw킶|JMN +%&}[:96[4^g5 OGA臼Ze[3oL \Bc#(,NܖYG'aiBiaKBOG빬&2pG]WFX9)jE|9{ۡ`$= ɮ3WK[guf|&Oi N!H,,fGNh~H)lھFu<ĔwbfwE$ =Itagt3mcZO/&ĭ֛ZU0m1$,.'enE: ،v89Fqebvm <+'$fujm2 /'|Z#gvi%$qKʿi9%1@f}'s2}xAw5#q_{ C r71tQ__|XgQ:rwWOIX/"tU{%oͤSxgQs< +*oJMC; }idwߎ'1EGFz&t#>]JtA=jufKdbJ+<}Jr6˵  njg)*S|PAK# H'v9,m'/[xubkՖ jK6쩵8lܗ99fw}0Q{6!YX^T:a;f,Lk 9FlnϒӤHaB;'f+6H{Z\\/Nldļ3R3W+;za:*TU'J)1L!,?~0Da\TZ.]$VGY|t;h^gSMr+̈́Wny9φݘ +-ڞ&kg2$=j)sctvӑw]*Z &mPi3mc2&kO՝gma 3mFCtqTأө?A̅B #3298 }yVFu7YXvN:1֣Ҹ>w8^NbZh!C-"ئ+0Ϲ,3` WqoLG6b/}14wq-d+}-~w8{c} lǚDq)d@ o%ؿ0{fAr4Ly*:Bo'scV#{Ibu^/vb~=N餛.9;smk~0vO ? v@bV-G*1ޕ گ/vǣlh'sqmf52 ڵZt*6^8l" h_GcR?a5X?7)'46"+/#F@p<#}tdr>j3mQ Y˚)&h6qSiQ'*8WQ? elH9){a psX(*a^_R['Sw%nb(Ύ[0 ѭytZd44Dm:-P,ICU*uWw/w%~@B4 (,\3,40o@Qg/ 2[ZT9ufS-FV>Mo)RVVSVtrUʻ! ymXe4 + ^-{`4 +Kn,[r{G$h)WR<`=,~EYnۗEfnO=NOVyi@y$nUuٚT-ywɻ:־M&+e%-oK%, ϰaA(aQm,.rF{yP )=Y` I1:]F&ySF\F\xar|283@Ma{wP4H|PG$@]ܾ>Od݅h4lt=hׇ(Ev}IK(*0blj<3Y)T/+gX/9&.nZF/x!<e'yÒJzGDfLo2QBxrfu_i$,<4McQ<K}v2amawEEŵ}+f4LbT OlntQfAl\*XTO#lo2LDߔ'b-ݸGrWl;~ov߆-pn;hJ$~aMk}1Y9aPHs6]Gk=ZbETިarX!I;mUm[?b(*XP +b` flvϟ kED|'j㣗ިxWw.0l\^Xǃ,<}c\2`]z\ێuviSjz<,觺 +i.SլnYRi9U0Cs]C0Q2;s _*S7«t˞vFؙlz;:cR/}Y_Kݫ#dn+9e*lM)^+D7=#ÐFR8D=gǝ9[ǿ {JU;gǡh͋OZ.JLv-_YS>DAaa jJe3( +CQ  x>SDԭ9?nGKfeNH|{bު?u-*VǵTK_M|\ <_uINߗ P&)sPg%5zim7mz?u~ιpwwwZRI3vm G3؝4m|>j vPôd>IJ +"@Ks>朌I+)-{Sׁ&fzUS4;33O;8XaVmat3ѴDRmG^JZPj'U#PwwL͊J>}]+m#鬒moՙiEm/% 8.EcCywۚ^q澴ݜqk.ך8[t>1O{x~c>}PE693sM?wWt?ZVT4XTzYQg<7>ߥ9*_k봙ۙ^z=5/P|bqz\.$YjE6*W98Z~g[ZԟOU(z\SnCd>W:q^^rr[ִ֬yS>g%d5;/(I|T Z4u4JjϡZ־~*EMVrGM;wgej 1!7,|R +Z[ƨ2kV% xfkx,x-1i+̠uZGigdV%߃@:G؜G("|>Еi(e4؇?l3gV5-a6`;363Mo~v^|~ ]VJJ6 +l.~em{ӗcҀeΡQfgF ;iE.>ur1S Dvwog &OfIMuGv㱸NZ #&xr'.ZXq;OOZz)d>MĤ^s kSu[j %2;UQt`st)m&;3A +P8D4V~8/@Я[uzԻ$&wBitGyc%"H_P%9ctX/&i+篋J_S+l dcLwFyk;gk^1.Wsެ:SYc; sDm%m}Qf.ʴlF{#/Ҩ4(d0/z12GA}E/4_P}6aw[0m]`[K+Li"L[<9?͒9y%I=K$ۏWQzor+=(׻ټ^Уק&٣3oغc;O#3y z" J@ܵwa4^P,h^JK\[-z\QTkBp莱]213!K [{^6y"^b)BX#hJz5!Qzz-=s[zLV=HB?6L +7iqԨ='E=-iMkih㝶cíw +vrcT}L~/_e&SQ , +0L` 5܍1WBœMp 7:As`qS6zХ/PǧOS.~[yZR7Z qRCgR:UoL _l0O6 KdvT>{^wYsy ]}hW ת}\ZWyzq0#[ɝPeJ=`:k|*i`XHY\@CMA7B]$]%^“q}QR?ܼKݩO0p\|> lUb+0>rJ]>3߭*Ѱ/oIfۦ;f5г•4OE9V%ˬ˞[}=ٗU/ฎ{/򸋊oFc@)a K7P*j$%P2R] V6x51SrU6AyOʬ]kS5[=/_v;ܟ`σ?g;ۿy5ٶw}y(dJJO~P*<&@__ U㋌<.2e:WsvzK}sm0Tt/˟ý*]lڽ[ySoFBYօv34@, wiULDjUԹ}WFJSN zŵ)}ȝL8"#ޓuێ'{,$zܲlYM؇*QFJd+z%P5g,I'kh섋v@R=|э:}¤˭~_ӆuvYs?⧴_; 1,*GmPlEP^(02t5"tG;eɲGGi!m󰙤>wӗd;ګfyެ*4d4~Paʠ+Pʶ~\M!~Fr\ͿSdlsDӒK` u]mh~%f,]?MooZ S]A7$|ҍ_u1=[޴y+[nҲFY^Ƣ\ZZ>Ϥ]H,d JCKIRN:0 RZ\˨Dth][7n-qxQOiMn=/)O$.N +endstream endobj 29 0 obj <>stream +J,;~dKcOkh}ҤvS?usM)R},@MN\!pP݉_#b\Sn| k򣕖y:蚚r( \'55@3<'UxPjoYMI*+@lOw5Υ}+bҍr݋ql7KԗRO-5 ͎JqOk (Y"C~?Nm>3m ( 9 ӷ.NR0jGk"tKtVD8.D5Ũ}%%K?l'aHpL dn|*ӛaxos&=Ov'hoٛ3[:|+.\Y)Qx-NM[ĒX(g+<%@|^sxv[U^rRXvU0S-wJMg +ګ* jm$'& ܟ}͔GZ37L^%sJ3莭0-2٨[T[0f .*?ߓKዾ@ /<яeߋE>Fv}g%OLo;؜請+54Vs-&ck܄ S[m"3*jTuFV9~TS\L0(_\ vm"χ:FanC<*zcuZg'MB^T3 7dw{kts%21~g`H3}|=҅ pX?Bw{|=n}tc6;[xfCҗ1=NjqXN<]7v-N2Ӣ4?ژ_]s?:*4ufiUε-}U,9P|gsEi .4Džw9VI_ `(w@*͠jyvV[ +qz[ }] +ޫ}!c~uv>>M&i8`7"sc&0^v6+ߍ4] o*1=jZRwfͼΪD%N m!T*o:8EESki}~s*&Y6i xo?+ +޺As@ᱣw,C؞_@MSjc-YDfOچb^SJܵ}=kָ'N1Z>$n@m~{Eznt{u6lW-M-ZL͠&M餻M\I]w"6{MWOEj0m-?%6ӝgA4z{Mcs}ro qR "^\*qNha 6jxo:s;A +oGaH~WI,/v˾Gޔd G zq͟[s1m]kDhf)s gDnxF҄mR ~7BK=y.:<6'oՐǓJ@_|gq] +~3е$Žvw\͜4DI/UȌO6cTQL <B> +5i~5@aX >8zB _?Ϫ- K>Q㡍FlF=^ҿwlV@KZFkGYS},j{ZïkI[*7t&~_jDBh;h"Ĭl2_>ƹ+Xhڭݦ]#`j{JDX3VCHo\?|fS,z @!sv7D'~dٙq/QjB$ݨ&{FVe~'CBp<ݺ +:yaNyb@ C_9l5gYzUEtc`jD6FTfe"`3,|M>qvzj'׾{Mq?@](5zPs_V=RO{g׳qrŬz﵉ț +egM LgpͻYǾn8Mojfo5:?A+ig6ef}Ton7Aۛ̍ 8x`:iIV,L5҃븵poW}НcøP'=eEĖ6 P槠TmX?z8͊\?02!~F1307+Ow6Lh* P-T*.wRa/^6tM<v*ց}|J^[:%=u0%qu{kb-={j*5Ýا>R:S%˫UvWq+GW= ݑWGbYеuP9`TgK@)AAocڵnDd/VX`o5hr>Q)(W }]-8߯. ^hs˝49Ev0+@= +0SWA鲎(@/iވ wI[-0S-G'mm!>qA+Iԋ:nϏI6:Gu~e,MoUVB%r5"q9Z{+$ޞ%Žu,@]Any- }Z77\KOyk d3ͦ][d\]iŐ[IW|{_t>@ǟfJx ʳ3D$ O2&˻"v.\]гq'f ){RvM?kަ8(zfYxKM233-5&ƟRC mWP3xЇ:>#m5ԛcRqw{׼(qz1Yn ^略'$"߼:nʞYe/Eb `sR6YY^,_ʩ{x|kĞK (/r,S$hfX3Og#tE1]>@T \)ѥ'@P V:00$Մ :ZQٺOngcaޮ^ص:d.rnȊ* +cL[6s gBܢ o_R 0&8;"@S2 +}xu'0W5uҾW iapCfb蜦bhY+|C~0;$UXeՠ^%4(]}h3Kk={%6s7ɴ/-)!jj8"mf1,nq4b$,5_`^  ʟ*YS׹rf5>Drnyr㝣 vHKn +7u֡d'gy!`SP3D7և܆&4~R.x pM~|?fXi2+Os߳IvG!< r-׻rsByqY;OOp6?}q؇l*xP/M(U*Ϡb x]óQ鋕WN)8BroTr ?w +\{ M;H7#zB4Faʴ혭/IuzOG7=>_`<۳t/A%us^ڶvw؇q;~lxͺi}ir&c6Di޼GGC>wAc4?ϓїZ/gM3{gK7YK]ޯ0rKK*0c-ARܜfqlf>#i gլ&iS8Pr -;mNeØ8t,68L?8~9z;3qkEj0Ը:39K;'<_-QHJPS(~?vi|V2^ּ9N5aFf*qbkT4 +[1Gd`j%7ORg?ĺC9ü~ PjMO*^ 9YΓvZu_2qڪ΢gySq꽱~^OpԨfJb*lɰ4S8v}׬<֩mf鳑cU< Qkz>b\o9}]]Am?YRRAܣԫn&x[~;)6[v:k4\%BOi#, +d<5r5p zU'|^ +t6!Fyhie~ޞ3n ZwIV Pݵi.gF 88Nikzj'ҩiq,f Mzu(x9X))=O3%\[-|Y)53hq`: m;ྭ;deZMG^ֆ⮓%X~3ިt^izo z8yt2.vf*vQvg dJnqPsp*FtzL}{i7xkBtRx͊jDr&f;5;Lk:$0h +Ee"9 'OFZċ~5o7P!R\)jNyJQA~ \~zkumf/ iU4Shr4HP8XhtkInO>UCz0r&ǏiZBg٧ O#?Xie닰c5>䈣b#Ae0ozsLuQQShSu}4&iS$YG$8c3sbUV,\yx%~ =UNCsGXhH\7~}kuwlݞWf\*5;PB!r^+Yq]A/~1+.Pѽѻ\ӥ)$MMiI{ +ǖAřbQ,+IaP MYԱlUx#La/s_fzᡜM axra q9(=(?gX֠PP=^xޓr{#bRX5 }n*,vLNO]/ +k9R@6%Jŏa>A1!{܀v kgޓyv5RJn} ܓjTnΣ5k$YvWAOO5JIkP8-a xC_M (CI>PeP8$^yͅGU.:M=Fq$.-!Ɯ6 @sSW^jWIuw@aԉz_y؟23RO?YU׆TS{Pln^#*gy-gh4cyNb/Ѣmf5M/%ca/~ P x(V^D3(%썟mu\4^CO )ԁz7K}_U|mYX>/;qm>0on?<=ƥ̐t|Z9k[R5Z^/j @,@ϕ@  ͤ:Ϝv[Ucր+z4ev|+ۡQ5@gY9XWf[> +1HZ Sఁ)(VJTX9lZCaKyNo/J=SA!Ω=@kdZs+0nh͂uV+m%7͚L PgBl +0u3ןAA. 8]x$VXPS32q8KlD_D;2!D)gw] +gvYgIq$YlYmXйX.@AI d o">6τX]F{)>3ͼ0;o?${͔7 Y~jDYJ5~3=ⵅ9렔P,o\.@9$yȠ_^~Gy{tbml86R4|}]C=kB, /KXGgtŻcH3+eSg' *(70YơSYgZzȊ2bp4 Ξޢ[2|]ZmNi&1;䏚 ~7.u(s%DّE#UkϖTEMv isW.@L; rΊTQg:he Ns=R5Ro NՎ]ob;kO7 +nYmA{M!hU5)—ή} Xԅ;=Y )</Unz,sDCDYGȦTK]{޿pu5]|47ZZ67lpMw@b7m:L@yЮn jDF SQHfu`W*6-]W0-tإzٷ慾L!FiZ[3jΜj>3|$bv_%?u}`ytE;omt!Q)^(y9,ufJǮy hSc9S)*8~hљ#MVVM6-ԛxU~ 6&;u@u}#=2PdQdNy_ ƪjq /P~$Pd2"7Ӈzh.]6ȍ295RiR9keeR!EpGPf7Ęt1ڿ׃Fqlsh +vŮϏ2=t[qz+zrm' ޲K;9J|}iФ*Ӽ+į%+lBn-tmz*WtLHJ94ҚJcVp<Q!Oc_EK]ťBP;6I;RYufGPWv5qTӾvO4S_W.ڇ^t綈X)]VMԳWEx +νK y_ zv983栜ȁWf+ij@?85_ {fvthO[5Y36t}UkD[ST#bt; ןt_YZ;e_"uf(1Lco7R{TMjQ]0okK3*]9m* 籪Dc'YxVs_65kG+NnISp*Niv$uF9ؓKvZ_`/ԉy*vڡ?\W*=KlYZHi+m7M2&ͦhV~I5_[De+{/T0޺54={7̺V5GYTֹJndnrM-m nΫW.$[6S3'dp2Z5?iR>(}՟i6}/UU,aלR$=5>KƔoc:w?DmP2cDl"ᬡR+T5N̬+"UGv|/_i>+ŧNE߾# BMy,oG,G +Aaҽc8{t=aTlTAf.ZőMӮIllr-`J*#NyS),t{3lny-8Va P(?s +,G6@nك̀Bb->Z/$ 6c Řrr;9AN|A[-\#A&_9d,C)XO\Y؜}>2#~^@_^xᯌ' @+ )g _jPo.kߠ\V j\2z٘Jm +qZE+n߶.dw +^72WwGPhp^ >*(Uu+PJb[K(vSmOw(: > 1BG +؎^܎Rv*|` + ̐ww&HKb s:UPh"ۇ@P r$:Ŋ (6>񰲽/emf*Bt+(7Yoc>:A0׊.gb]ғgB}xBn k)z/Ea46_E2g4m88-Y%ǢGUsg?ՙl@myEkUHO UkPlw +3 9][ *6t M>ѻW)=/Qѥ"L}?6 v/_L;w<(F:(9`cm}8O~y#]k3!rΟwi<qytnL{y +^la}Tw*_Pz9P/{BЗ'k٧>x^ 죷}hf5HXMZ?]BtI(R iH9-{Xm{ ;| ;H-|{3߬3m9`Io¯փL{N4w0>ڤ2eퟧU(|<(؈5^f$zld˲A +ү0{֊ǘu_icA+|[|My*eԼVd 5ˁi%mhN2:d9 T?|S J[fȠ$ΠPI{qko'M{xkܐK%ujtCϲrow Gh:Vj`ޢ2 +ṁM.㾬;#b:WuoY)6RU?)TO[/P"&,1oNF[.޳≀=nA>s:\!噠nui=>Fb\LJZ謥9nd.Q.eeeq(NO1!(۠<[GiJӵUoW圪OKEn56u뱊-Lo]sף趌{^A{s:\ʸd G+Ig˞)APRM0="LwcoPzC>cy! XK_V$Gǹkf;9&ǬoWLԍ.Ί> "hgLsYXs$U#NT doO2R#C~PS;UlnX31#_z>^)87Ur{[SPqOXeSIK&=qgن!uK rUU߅9rcܪ{I-mYm2ɵNy{A+͂TDłba̵͜/=y$R%.[)Xíj 12EՃd=%K\Ad3ls([,xA|_Y#rʭMo,VGʩ|[7tMj~#^Kh=4$eAtZۍ?iSzF3=T! +:C)ׯi[JW/ ul:ᢂ*e[AQDiMkC[`xt +viDxF֫:Eɮr0q6kO=2cߒ8?i2}اuy5:󳯼tlॼN}?N`3Zj5wKcF=  2c=MfC(g۪Z9Be-06wJkJg*z ŝgvx7#VŎ5}}xx _^X(MZȝg|r^ yGKqX۟7=npζCLRݶGlK.W톞>M'ۺ5Y;F4T :G$ Zc14' }<77=Y~u(\g}'K=ZI^^-=VX9rWWéUZY]ժP}JU RUId3AzJnޕ"V \b}:0kVbc%It̵*ϖ+\Y;L=JNLiQ'.)\Gbk#CUnU)܄$.Su/sm,Vݪ8d|dfvÚFOtomבFSk7xHrk|fWҒPŦE"EY^/$*UIUAb _ԭ9{Y}in6$NSz GT׉ش&Й==N]SӚZ*O|nfYW#f,*L)THv=w,TΉ N1r&ugX<mk42 61dvun\.$"Ce߭]pЫ܊ʺ2AĩRW[`kr'b!Nw J4:v]~VCq.RNżLju[Uv^,QZuZ7}.NъYgvQ+Qe7̕NPӨœX)uHR9Ts"\~V3cw j}u^vdž*-=cC(օ]Ԡ.%EKTϽ^;*ԟֵ–ɜ69>5ಢFVJ/ͮ"(7fs_˔>i[{Rc8cҮ$f\F^X ޻?T fԘOgw^_&~U6st'.(9g${}L ,GtZLREaQ`JVxAFbɘtA"ϴ_ȧp03e2po@vGiI\T22GF Z4x9=+<e`OP؋qpGԞܶߐ,ؓ9J*,V?dE@" zl͠ \mqPDb=O-^yPʁW CLTz[9ѣr۹}G\C(Qr>я4@U )cGp~!T`}]Y6bv_1,Au +12nJ4rml%\ !^Pġ`U /.72t@VK@ "b9@:ǰ=|EaS +>*V(Ө.OÝjYGdZ@KJcqjm"o  Lڇ5x%ҏz) s*];>lE4mU7.vOEFa+Puި. ie37@ +skPPnv(Q 9ޔ~Baa9 lJK?݄I!ɛ,VMxط_43td~_ 듁ph"K+[ZM,il@cO~ʦ[[tG_a٭QEsöu M|GZGroDC}PC(Lr߈q79" /I=+|  +D,DMEZ>w.ɦ +Dsnz7<>m|'hUQ\rDmBI,M&`zWU=/7I^Wy}98}W7gnX^ +}+Fâvg{z gg+|-)o~ku 0mRNri rz8ordž*l.q|fJ㋪}v>B϶aNϯⰚ'K"GAmtI0M Bu(΃VT^xwCMnO,6r1>%۫N= K^Y%oK.Oi(\i*zԙܔv [NFa黊r-9|qUѥ #h|CKIBhn"~cfl uEdfE, +[ֲZj:Vh㳔`?J@{(54 U{ ]T9s|UW?WgwGTA؍h'[[DUK7tiB3f?+;ܴZ̥FMOZ=9!>sS:{.w? nr>¬p\z;?/bViޖ7mCEWӈJ1hapy /dX_$ Fm9\{U>hyOZW->r{tigPmtɭX}He/z5>qSʌ>oG[gbqLK2HWqoڟے^eEK%DDqD|lpB6uX 7:bq~wκLT*|rVޟ+-ZlEk?f-O˝?-Zzk[ĤE0f$`QV{́8܎3[dINgA9V}\O2GR,>;y5'-jb\}Ljv?Pe@v^(_sj78|F)v݊N }ַr>ތ.ұxP;zfLSdVy>e~kw?ʼ8\D)f?PwJ HugH#@XVпng_ +_21Z6Ҕpˡ7}H'_Vae"o7&ͥodqK/Eˑ,F +j)\N?X +{ߴXeqfλŪE0%u|xc/OkuN{m +[Դ&IQDCSzj?^`R6[޶ qSe+{#`[鰂V(ݦ/\{MJh`%wuSmQW&}*Vo0T+E{&- KLkWR,T)]5˱jZXp z&Nt#j&㏀CS})ߡ{}*z6j棯ͦ=q `f2k<7=~6WOM}KF{\ۭV)Za/ɽVTTGf^"-~QZVz⚡ sɸ֌Nns]vf6fmfؠY* ڵmFk)r$SiQ9ƉUZlI):6/y[p@.#&ٔ=\\'$v?|lk^zsE,-*@妚owٜcOˀ̯"FRQ k-#w5O]+b +ꪼd(9>U1|D'(qcLߎ#~kȒkyT|mY S?y{I+qgqm +UY%jV29p,s\ZeQg\GϕV EU΃6G jyMLSx+˚T|nCo}̤[VW)P.xØ3*G2_品ƹRUt+r.;^!Sg,[#Ev)]6eV@q4;JW0}wvI嫍<*{RSeΥT^$WWOs,4zOĚ*l4X|;j8e|֯3_*p+ xS(@i&Z[SB 0;a}` B`~"I[zpiG]ëѵ$=/^ + %?Nסt 2@| Ă-@@4'?= ƒ5crW +m`Q2?xz>GL^u'ߌƩz .l9[`|:F&j?:P<̟RWU0 ѯ? %@Fb>~-x:?p=|%~ޔ̿ݵ<[W%zsGU+M6 (CCܚC@z:?*(@(*YZ8[LX"wH{w+ 嫷z |D&wfj`jɔ[Y|v766Wݱn] @=:8v(Vt/+kPRP~{!JzXvػ׻ym7z"Žp/\ҏT2)2> 6K풌:u {2B׫ ȗz乀` m@Z>ofM!*;{79J(y~>Ī~5ΛNgGn36VvG2S +rf/lhg7b9$r~~\Ԓ։ih+l<,>ƿuLPt86=ZOٸ@OhEwOjd_r&l>9A5@}(l +^.W~)ζũr܎y*u}Cnb=ol[(%6<5lbP]=>Sto{daI_%v'J }tmU8:."gρ@76:ϹT:ty|R)֑$+ne/-dmHnڨC]elΓlrk]œ#④R W˚ +qS-f5-`_&1݋rkvEv&n=+|Fj(:J9e~柇z~o8w\)_ݦUnN%watV;Qݘ]7LP-3GRWF<[ޓ՜c5أFR5-Z\T,ӷm3X77 +74ߟLr[[m9G3ͪMZlF|^tt{id2Ro>TZpgD^䄤XH\X$L?g):FA| \LFLv쌳/#;e]Oà^_nxzz)t~ܳ#bSTiDTsBGl,34ɥؘNBk}[ ~{|= +Ĥו6vYm^.?srU`}6J6lR.|\hlm0UҒSiڙSoA㎫S9+ܭ[T9|H~å%˜_eNfX6"ShY']m#jzew$bz +uQyvrT:TFRRqe&tdukq|˥ >&YwqĔQ3C߆jA {!e+[Ε@W3Nu)< Wz?qfW\="Wz Ne%u7*lWDnK~ 90pW. R+fx +̮ aPznW-)߷ qsF]HSx $?Lm2]9R㲰Ru=O|ՋN,-o6yfwReЅ=)>{lw 9= Au\:qlZL?6&V[f*ks)mq#֭pnPz&7fE_țv%%ͣN*\:X3mINEnz߹1q'k|*fdE Gj\JHWHM6VDr`- PSw.VK=mN@s4@ JP-,+[dA31)?!Χd8M]ZoO #c k%r.DQwt04(jM3P<׃g@\O+pI|C6NUi +u -Lc`k`X :c`B px2@brB~' :Hw}ConP !ߔnͺ +vb*[ +40@.!08] 2zb&fi9lɸc5gsp]VPRu Pj4>vQɛ3c5O' Eطu}~l0"*՞&f>&^zM}q[X7TYxW8m'-Bҋ侑o#w?!^_<[7LkXoe)>}{vgTwhbgס{yz0'?14P]҂ &4i9oX<^{=31w? S/D%6Un{z#vtg.ހ<> +<8!qQ 07oXRp~\{g2wZC.X PN魪d hr8VqUuL~2Mq]A wiC{/'ϟeMB^,㲩_7AvC3]Zfo"-sq}rYy}_p^.~ez>ntD7XsY?_eÝ>ym`鲜؋0~.:`qSտmj'`8&?9ٞpeT 2nځ73{{JHˏh9퇈膥p3ȼʗxg``3_s\̀ǧq=qǞo7fKǹZ|>ا=W{l=k--ܩWٕ3奻<.{7m_}%zeӇME@y(վr:\[|w_K J͹db^nhp;,6TJ9л`g3#iט\ٲ>ۗ.W+xvɎY%˳R{$Y ՚֐nbh{I6)쌾 F nA\Lf5M]Zȯ,OHq:50dm{ͯWOv-q󱷕O[;>Z1_ZՔNޒvMvqm+}5"]_rjn +&5P>kU\f5k~UkNݒvӊ[ᕛ`[xd0s[h'JmZ-v#31Nj 7Qa bFLf}NtWΕ6-ɭ5e1"oj0^m ܲ&ͭf;{1i70ϝJf$wUfh;  Ol[rWMƏܡ۟ytB#Kvʫ̮b*oJdOy^7Tj/bֆɼ4 57^)_K \b?hpWCJ߅~lP^%4 ]fj~GWi23A׋}GkMTL|m lT+Ñ,MKV$O#n1HZ'`t6 +wbg`_faQyXܻ^̱kS:n/$ֺMjc =̧^>h KY - r3V_Ljerf+~mYLhtT/7ѽXWۉT<qG}YoKMRY/SE] &7[<&q]3Zp]n3)y2LuŒg~F\ܢxlM)y~06ngp1ɢ;Z_,E0G]kic`Gz;VE.WjZpStmWNg\̍BevGל;zV6iR0 X~N{JW4ɹlnҫN +ڬ']Ys$8Oino߰Tw0= 1ijk/E Gj]K'<g.|@8n5*9x3cW)l }(z\\<p,r0N392߇,e/6ɬ`=-wnۈ9re\ +uSiFU*w7U^nZ~?[9Rc9=eh){f10JVZ-oьc#o m{iiC#e0Dr!5Ԅ;RRț۵E^ JNj96l eb:(j9O`RФSj R)dOI,'O'*NCi*{ZZ9"-Dƕ+?=tXPu+ܳ$f̨sXڦŔg`w&R xI}'ˆNdŠHM琚$iHŏI`)?JTJ Wh6X%>!Fjne!J}R-i=7Kϛ0.\ [a*#5 pԄ%QU7q ,@u?~nC^*@6@}V>N YqmVRo!;aV(ݼ0ILwǛ oܞhԩ균TCR1$  %HIMXw!jcs5<`wX9uvy_$IBjO(do5 Q3R^kThJ"OuXu K QC@Ƨ5@&ѸAOjL61{2@t̷`woܽҙٛ7yϥ6ߔW aj;oC jaPEV*c8C_oV% 14!ws +tul'񙝥r4wZlexV@ o ;yp*U <p\8*c^qN@J +b^yQ+:3 1QIߪ>lmsoJLX7/9 nfHKjm]]seۍs o.I'<ϜGœ5'zTPi76(Ay#p~8v9@%\Ώk/==@lyzӅAutey3'-zxpS|{oWkYhDvQPQB}żcuFټ1hs #`5X҃К{znx^]E? ,87~22TG!l)je= 5ѐvگf)YZďqIލ=>C`4Ȭ +XVIK-^ST?u:>c'{< WG鶴{36CZ-?ʟ4@M&UAu*~9ͫzF?:=P8.]G +C/gyw|ݕlmmFNYiKL?$ɶb%0dwʲI,c6ֳ +\ٹzg1re62ݟrhi]M^ȇE؊^p X״6Mtd70Co$<[ 2Y%CK zq~#P+ˣS3ݽfȷA iZ;nmW^yּxU(qmVY.աh<+-fHzXJL&ݤXZ [#I'K؛/8XJsZn;^iG"W7g#Ό][8띆o4}><;.\c +lI Yk{}jwIϼ3\:VTn%9;m?'򣝭!u?P*McLO|;hkFۘ뚱R󸠂0+YUYMPF^fdzI(=vmbn׎d)xd5ߥtkb5WXs3#eյH[U!PW~V N[ct&+^~"w7/ 1CZAnRY2%vG^q@Ԝ%Q.Zby7e}҃\c~Gb8Uggv)3Aֱ?i#-Kl:$lh> 8񳚌3?$LVWc>@;7! wξLs*P-G=k?'] ,ǞU{}6ܗLUʈ&q<`q(ljE>㔱$@IQV)I/N4TP rmBlحdXiŕyF+Όn_-WG\缦fʪW$ ;cpaʗˉqbqAqb;'r>[9a9?$KdRwn]9CAo6YPW>c+ikΟ]۴K|B}~'kJ,m +0qG sϷF|&R6z<۬:c nF:kl|:TpB쓵v|qPfBj_(~]?3EݳdN$'#)6 <|WzM1O o#YӃ3F1A`R}NF=Mρ r[/N#F̻DCw5eM4ѧ(8%]ivJjȝNlm@7H F儃I.ԃ]m h-UdKr{]G{d~lzb*E7GX[2?E?B"lO\j3h}V+ va1tR:7Rl!ʹr̐-#0T?;5r-ٛەx6ՃVxqye8zhD6݃qr/tt +K1NH6>7^,>B#IٻʨdW݋ҚWSqRSQmLy9 &8og,j/S +lzX^yR!.g3S"Ƨ5'M昑Ԏ y1cqc T"cE!بf̪s=Q\fT5 m^$;_{M` C=-0G T)ȳJyđs1|J=?}P.=zʎM}Ovd}?|x;0dsZANNZZӃ(O7j]@J°^+\biZbdG7 ;-s-58@F(HQX͜0qfK"jeޢS}&Ehp/d6by!&(WA]e ,i{BeRiuvo&םmwoW:ǒ `.DK?.'^l}vl̮}hzgϣ5-N)}L$+cc}$5Am4Zk8XIxz~ZmjZkժ6vWU*Ry箎V4ЫênK +Ɇ[N3| ^^¶pilZа=ܦcfv|5Po pmvԫOu'Zȷ[\Tp}1ZS#;=aaٴXQi6DG I3J(/!muHj,lҞSr:9oWE!ǫ`M,Dgaq.?k q"~~.:|>3AUa?)C9ouW?#Q a9JO"ojb].I\*W&jܤD0 ak`Y8O m~PsNO@O6Wllھ†e /e6;~E+z d8VUJ55= +Հ^wKD,Ú!@tt +-l 24A1剥ikM`f럩 D @|B3r5Vv9CbaX#g +R@ʣJ:|\3)I!:Z,'w?B)}I9d4}YPHCq¯U'rU]7 + z*\r^ +J9ϵRO!)aʓ?,E4O+┸>4n>,^0`_xlmI̖@v`ޠ$W 8wA= ,Zl|%N[? ::K)vK KR7N)f~#eΩ '1U*LbЋR6GcJ?/ p4]斆eY *%9uIrԒLr0}ݵLs${'QI 1\z @G)T:RW~MJ~(R\P&ǧQ/"]Om/>3ᅤ%!ݑ4 L6O@284N' 0X'9}Lr'Pkpk( x $l+})rK[ҫQ./«Y{>\(Xj܍+;lN/6/}N^InI,F.X0kfjXi'F&SL皖unq]#0E9xQs+jcؒn# :WW.p;-ы7# w =蘭7t),:Q))R<)ܟق$fAL}'#R.06˃l `]Vܽ/q}}lU+_5^IÝY؋3ufTo26ֿ4J/F׫&5*fjkS!0ϑ|ߞR٧{pC?Ͽާ3)zd<1-槼Ïٯ΋~?-rf +Zo#ĎNm4p{媂q95=n˧xkp[V2̂ⷄH'aƼ}f4f5M/g*ߏȴZot{p+΋|7Kv޸>n,ZhY W"֥7%P6˒B1Dwœǵ٤iwvsZT4K=2YٝnkbpM{h1֭ˀAsE|ouݯCuƋuľLeḵ^HUsWl3gW~Ԩɀq%qH8$꧗9hک>3YxrBpF[kF|- y2V«5W\24'?՛ItHgd`u +&Ǐc⋇3Y/>v7Bi *ś!jg}Mb3:5/tMzbԼ:+!gxNd%#x?u,~SAwi" 8R&;)Hvì JzJrj?ݥqhԕ`qKnT3*R dTa<ߨb GVF R$F)#p_#œGo1#Jc] 2<@acE7X{]E4D-:_ +6WCI: wnƝ~ָ;]FXr9J6=y8pLa^T>U!<.+3h;p߭koHo)}l{sC> +"i wnY֋}f>0+_BH-%FA$&z#bLT8 *y?ٕ`[6%f k.s_TYAҪ<}D 0>ƈyk֧&u>ʉ2RGYǣ{m|Bܧ݆[.w|`=^wڔ!3w:jޮ4Sy&{pf.m1|CDr7}nIn0ЊӐJ:(ZSNu;KvZ'Vl22FRyf >ȋԇ2h_L}(BmNƆS5" 0'aWzꛧPvB›?l䲺[A^{t˯PϚ±=;Ǐ_&B 6G;P&:&vzLhGyhO \kJVNv g8P{S,W>f䟳o&Gmr +:~W/ +NE1MY.uÇcRbPcMF%H}"H3yi6OPQuZkd햫ޡR:w~q؊Oe9ʗ0()-1P"X"gr) ͡=%L882T6KZa{_njêc|%DYgYmKEp, gq;F$dK0;ow9`NPV +J/ҳ g aV 5uhgL[dv([?D<:.iҖݨH\AoJ߽jݢ&î+p))i) %sWS> Zs#ρRk  7Nޚ] eT 7c=8ю+"(]FC?%"jPڄKQԁD"$[89̇|@LN) J6KDOuҟ 4XI ?du8ZГpޯ*NX(AHPrl۾]CPU1o)>%8N.)*w|LI>iF6JRKf!?_z_~lD$Ҳ +'λ'st' j).ŻɰNRSbd:Lٝ℮F)rJ~?~65]&Ywy4K>4Fd"Nng!NHƉG2~6XS8 +A?E8ybz'!qZЍ?64ϚWȍw;7Noz񎿹y[Rn\3>RI ?l2H_*xʑ?\YN͟<4_e7Tԍ +};ov3^ٲz; Vn~b:c)i=[rq+eݏd2_$KܳPT$l"\vSsE_$'3LR$"xKdlNK`5@[n!&|ZBN:3[n`ޜz_={f /_nw{%8\;S5rsJFmE0 ̓~/^Sf, l;h쮜F3=>UGpl.!A GGǀ'ȿI-R k-ZcuT$"~3x>1dH/Nz~q{Ix@hvbsPyI@'39gd'#vjvVJ͑% kM|@$xFişun e)C8) + k_+?)se俯#[]`[V<'\ڋa5ۥ]s44v-gq!2`C\Chm?u^*+(`r$o7Ua4AE86P`Jx|c[j|70M-%fJW vO^Oېfim:jLep^ T[|@g8²}hڑ~Ic. Xy$n|a\^jͭq +LNEU^.m|͐hk,oVβoV[fV![~e{UrQ;Z8cl#/ [.,%T;toIܺ'?nZk>Gέ=jcy@lKU-w׻\q͙b}:5x ]˃X54V8 } ̝|;4΄$7*wz_]OC% Dtr/ /øWR]DdR1l}an㠧|"׹^O7^nT<)L}i [Uqo*|Fgyދrrʁ9)pIeY?Oxx?pGOKũsٮ;X9NV0JYN?]ؙVf1j e @Ѓ:K5w;CPmO` &# oFE ߿;_wƼ:Bvlk jb㵎MkU%;c*'ԃ5l.$SטM k:.ԥȲ-i4*\Oz)OFosvC&ƭiU] c^K݇W,yO"ç3&JfS N)s/Gweqkv!{Nߌ$#J%Kfez]w ՎtJxc]\ ( i}g ސ1ѓ<91oϱ9eak..ϢSZ#+Up|љVzIF4n=)GуǨٮ;/,g.ۼq/}Q4؋1X̏D͚UAVXU†pW(#eyсž[VyLU58DFq-?{ ݟc϶_D?܎?䳷qI0otj^ +|bc|g65ɮГ+Ei Sev@|q<% H_3O;u+_*/ZxIxUޔJ}U(KpZ\TLڎܗG6b7;8xM*!ϪW-lE@KrU@ +wpwnXә%W3 uMAvڏ}3(&e렵\%M}QVDv R +(N_4y ƒTmǙ 02/}{l{{asg~tJwڏ}ݠ-MNjf2ֻ5D _3tuk>ܭI,kyڔV^#Zڬ{ZrQldm`܁Q /HO3nu]hY,iw7vSѭ79bcܮP~ЧVw>EZz^jCd< =kvƱec> $"w;4|X'݁Yӫ/tkZ%wJc* f7a0s$կ7vk`mRi@UUXQ&'0Ys_OR=]XVOUsO?ZJeқ)/o,!{Gj(6[bGe+&uǵ+ݽ .EߴdZKd ⷷw_}](R~-̠ \fCrr伲nȫJOVYP׉~vQUoWhI6zm?@x{T} ͸p$ ¾O\z+ p.sGIJCz0 > + +~Z4ooTA)ɜޜ+zn:w <"6l֜[3d?Ųƃ( Ϩ z Ֆ@nR;缴~| +NOR  ^'ҧV'nuŠ)HYOJפo79 1;8:dWqH!׹ۗf +3 n)ʅ*L't+tnf"+[K)Tw{}.1P䔧OVi)⏖?ğ')7[ISJƥ&N[5 S>8fSR-Cx\R8f;=图& 4f'v2'3'ǁnzX)VU%,.)4T)XnSrʶ2ѕ5}_l}'Z7 }y0r/ߕz75 PL_e7cS8Ӱ|+NY,>NxHy7e[N?XB$8Xny0>?di KQSMGzKwǟmh+2@/!٦|N{L?)JZLlFWhJ`?}yy`N9=Q\{h!_ @X)+'}*S'S`=˟{){cĹFP,}KU4 +WF_=syҏ]]=›ҹS^tt]?Y`֫p 7qi*1c[_F?&qNy$=#ncOw4/B~T(Vs@q~Ӆ S.YĔjm,}]v/F҇Pw(!ywi7{]Ym] F /_ϔ}Q{]Nj۸Qyb{yqn5p*u軛 +VaM{S5a@gk*:}``ݫfy 1 P;Z/;Gi%Af$ܨ[P.uz ?*%f su`CƕFUq蛼S5+|-/mӞIK5 y[SWeOY:+3_-eSc`DZ/}$x Ю$Smn/U߀r.+zkdBi`RFjt*^n,BT,*kxyy,ؚUt*xwZ|5Gh~Z.1vws.isy`Q|whE:iLzkl~{hU_|MUW)CYf>(j3,6#϶A$0V'˗cOFe2 $OmY۫kO ڒ[sN)Iۀ"zVY2Ŭ=N` uݑ @ +cs3ӝo;e*9 Wf |IA8J{-gxY#+/I +AͷFH}%짣؎ i]A5.H2ÙfQ_KaglNFꔕƤ%iQb#1IQPR(#¸r8cqe5ce\;/IC)r|56#F !eJ a43L +FG W/${xUg0%6;lϚg3\؉\Y򳚗$~ ;>x!2n¨ Mx0Zc6z +v ,M:jdքtswݚ=4oZw U 9^cypjΓ^MFC?IuVD{b/qIe/e|NJ!>_Zhjγ! d)78įywS񳹷j"zRx Y}s}sYZj)jwTa4\;NB^{4& #ѧ#s"+C!vY$](iйy)x,&Aۃ 澽vcm5SX2[}%rhl8?Ѷ48^ bs0kppv! +_ף/ร\I>L5?O7}P8=Ƒfmu:>{#%-q{u ڿ:t|Z Xm蚬E*~ F a{)J?Hw17< +Jf +)&BC@xB F!V?)Fv*Y6cTTV̴͵ϝb}k 3؊GԵ%22ZIz{ + )vΛi85j}4Hkkx {cj@)Tϝ-Xe:rB6^SN+hyx,?LX\&X i[o3%oN;2vz6ȘalJ׮]roE1]}9}DyAQtm(j_պLU +z- .R(p;8U]G术΃bEL\*usr rs{$E624F?!*W2ed YV@t|4*-Tmea>fm-0sOƄ +0 ,@fX ,&yTGĘIJgq_0%p[twV&yIoKypigSF +fDL|ek^/kYɷM  | K@R y+KoPe(xIAq@%juG^q2nִ ӳLI[aE{|=O2cXTT~+ @"@a@ M f;Jz-M{{H7R-ioʽ 1jw֢vk4|XU[f/Z zN|LU-&8.4aOT>)@Z7%ѻnxQ`Q;Q(0gdܲk$nENpNf mWZ# "<zɛ$o1'abd:;;Q7ԥX -Lo\ L`>Jei?Y&bY~%6jyL'6.W^Y|!AѧL켭ܲǶK&\2Q,.;1U%8&ԅ{ tO :?D^~}QO\+Q}Y{=D%ч::{~ ޣXPsQ:6:tND10l(ΔǑ7gP/9qjlADخ1[c//ggO S8og{s*paYᰯFc}ɪPmG%~=;gPMښS< ܥ(az8~s7薻ls(;xRi/ęmZ+Ol7: j&^??1k|̓lD, YSz{2527g졣p3>S[uۀ i:J; +k'mLVTI_+,_܈*/}ދzjbjQ4 όԙّ0s`}0Z=퀡 ̬[fz\C>b5hkm/NK[WIڎӪV +S2,  P.]s؋Cz<Ƈz?θeT,ƍ}!ce- QG0y;dujoSMΊeZCRCn+=H8;nB+=67e5fhԜDC1̉W XPd˾)T֘؋\OiZTni%9*Ck.5JޕlJfHR?.E<hH]ND!~VYLk6|fZ1~3^he*UѓQUg! 0g,D}!P@xF&Cx|h&_GfhZMwӮ9/{xvK&=2QBgV5Q`I4td)[҅n?21w=}z59Z +5+d__wц 4'~O98g=F HfF=I1mCvr lu1V)'bQ?d" 6l#wה,Hgn* j +399a8%bM쮯V>?  sCö^.~h +6}]UOwo"_\miz |qqwWbiՊ +$I,NbGK{DU3U9xm{g}=!l?l~t8@Z7h˧JWwnCZ*cCZ@ἜOǛIu*/u_؄EU}[ +!u蜥(ʞW[ iϰw 8(؏lجo^:݉<.RH֨CRMH-/ɖ=)-eĒ=L1 OόBfJl~B½͎DfX=Tl-)e0Q/] OƪvI\uz=;LYR 8ABwg?H _أhqI8 +^λ/+f8ޥyu#g?ang%N *;tL(UlHê_ K[(aS+2%S :ft"A~TI# (\ԁ_FϜLS;0~uݽp^jqd{g:b$BҲS9"#p4\{3T@W>}Tތa-QG[hb{T~{V⼬M-8ߡ`VTdy7K*d/< +3OkxtaDVM<^*C%dboa4@{.6gaw[ ltsm&j~vVKS]-)U`Cmzz1@L?O1KmPp\ɜu峣 +h 3N]0IW|y6~!ˇj+c iwx֟,܌Zx[ r5SO35ok+Fc Ev*,x ȹPeÃilvsŭQn!f zT +eQm~hrL1ϿB&6*O.0zzjQ[H+GrOΩ+~7C> +H1{TX/pvK@M&rh󫾮U߬W ^6,jqqW#\L$$g6k將%-(wKu Y[gj.{vJU{\Iu$ΐN~`źxH^L ڕ+%ڥK.).K.r%.o4I10pӭt@N +Rf6*+ +3[ȿo4h]n+e ITH3}Vx8/dezȵG}cv{_8d=HgA2`2F)f2AXmF'Y5M`.cC3`0?'`S[-2 +Ưzx070v59VwSԼ9Y/a `r3tB8XxoJ +||ҾkZ_ 5=Az5QWyUVjb.:]>B;51;`d俚FpY~nH?|:K^}ȴQBjd:t0ĭNdy5HZX j9Zr2_<X8@VzyFt;alNƺq Pu~Y!q~i$8$\Rq _@  Bd%[~%E0?Q9W2Fbޓq&;"y|3b~&'N.|( Ph/R z߫4~39H? {QJb/K,OBM|eg-B*o-|mE,'Qi/,(bTCC>m-H5Er&A+M>gO'wrz4?gwwmDDqѕq!'&ynuN 4CrI\aJcerq+b9QkZ5^9[=k,*i$cm,'^gBON~* pb]U^ԿĂc:[es^?o1:>VnE]zzPxj|8V؜7=Z"zW0⟗0%.Ť~jWAfׇ7&(vvWKwUar;3= n:[\oKvEMׄ3uvF eQI-77$JZĘ7&oIoz2v Pit֭]g<s!JBItkv837\W!;fB-|ň`U^ Q 9ڋ(ȉQb彺3{T:T2ggOݶ^=.֞wS7:S0&|W /rp\*QҿPݴ/TIMF%%/ )1W5֟F]Շrq4+a结oqokVVXW@WYrEX,(3tR8V&YסM޲$CĀMu/@Bz-ZIsS8u ~2辩ӕCtmX1[+o1%cY̔]^As +KdofNJBd= P|/{ev[??ԇvvʎ 10}1`]*F"΄4| + +}uq ys,ȗUӘyĹ7iصg5#L,Q٨WaЂi2'xw$_|%xZ~cPj᫩1ѵrZ]0<88|X>(wG1ګ̗ǗWO9!)l\^CLi@h)Ӝ8'b)eEIAR}މ/Msӑ l_IFeoq==Ft_n~%s2RW9]%Ii!.# gmCg(u*] ͬ?} Ͱ% +Փ{݈x߸[D48{qQu&f7n Vqk;3?4dn̶A/Kr}ZM*PÇRǐ&͂'&Գ O2-WA!&GzfszFL!R)nb'46mtIGw鉍1oQ3m7*EB2o۝Ş1B[_J;typ7Xufȟɲ^G>tNn&x)pCԶp \/NΣrVy,g4 iXX=a$QbČ3/la,K~3مt{*3[f~m̈Nur%E*K6ם C tC_ ri;Ӂ朗zm\O9P݊8< A~ݎΒcҝxY$Yt*S\-VrCۮQ+-[v@CF5bI = q`W߿:4m3 2X\|N܄=f4a]|}ZNΙgw7ˋR25yJ:5R]EyT}O k.NDxRӶ^.ol1TF%|3ȰX,CS;9ZQ{HO'.`ݫ8 BA-z3'~1RN<1"0~42mjzaqMthk +CؔS]#Tr #' { (<}zoۢx{@+YZZ: +:\O^`awYr.(Y] Uf_jcgWy%xenvO'P}n\.60bɅ +|ⷿݮbpȼpT0RؘnG80No54NfoY@dh.d<^}Tlj5ʵN8fI *JT9nq/#a.tG:9t!p̱ڜʹww+:^UZWTf +e4GbL:P%(,_*iNf@q8/|6bz_ZEj#_GZ1{_WVwȊ$A9?x'Z"5 =xj=CK{^\8B)Ůl&y~8yȗp)[G{('P'We|-p~ ^32e]Vufw1ݭV[`M8A_SɌr1-. E":/vڶiaX(F'R+%o0|\& [> y d}ȩVL" .^ ~@>uЌ $?T-+x;uql +9.-?62]V)Tts6VG'X ^F%3H<l`ؖzخ%xUV4haKccl-ɖP1ku=5ʝ۪b6~q2Ri(/,oI 1k6zX@dĎ[>  gH:q/ &56YQIrP#/?qx^ ?ϖ}*n@w  Dh>b3@ U5&5$@q- @-DN}bPoL2I:NtN1:8xRϜmA6k֚_{0E[";@^b.ʠ;k Wn͆2ve;nM߉%q0(V^jmtҗE,El)ߔ-o j28 @?F^G `͖(KMEhJL#*M%F0+;Cg"JLT,ډuYBSz5^!_,zM*+;*yB}#=VmQwga#D1H1䪓 ˷~UWA'n4#/_yu6O'wς +; +]ܷ`{99c6gg;OE\><$a~E6{vqj/Do4#E쒋bG;$Eo?־ +zǓkpjM[kfn?"vqJ/IoLKJȈܳ7=d6Wݡ?H}͒%TmOfn9)fN57'?ۗjYCjDM!g֟ۜE1;s/p`ч0/7?\8Xyk=7Y/+-=K dLO97V}\.G>Ch;3Լisq{Wzr>L 66u>-KF 2heEy|9u{P"}Qۃ{:'i0* JS`7y/';x qZ:quY%qVu ~$bߛ rxxXED/Ur&J s0Fn5E7d>yfS6g^yc뀞Yv4{X$ +k(*C7ĀZ" H>;Ixwt/X0On(GWl1_Uk)#/ЫjNWQ|k~ѱV-KW>r[ C+cқhyq )+lE_ +/;w/Sj{M.rRѕJx9 +],F) +?*a):LI9SͤRQTG, qRuH'EnSZ,lvSXuMMtfv]h~צ[^OQt4efaqș[1ATdfB'u~b3ēRumvvWcNqs<0ln%KbrWՓ.<\iqJuUVÖ̜WӘ[9~ڢˋHmÞ|y.{?}q +f S"4 +-g]>ۜ):W}:Huc]*d؃--Ù/}RAKzaGs&zgftNIM +J +$Ț[rbi.R*9s~awvqHtB[8VgY +M)W݋ +p򢔞Q.4Kg.ݱЈxYީu*}3<" +}jgt|Rmbu*,M7,t([Vf~;yf<wM䖷*_Llg|zaI&Zk>⼜~dpwN8nOѺ&nf3ȭ ;*;l;3bN(.m8`-y .!{&w6ZYfk/L.X:vs]] 2|uXޗuOX3M;^g +\<:D 1Dh{*W;h*о ~7)RRR#ҹ' @7Pc؂B|ۤ'wW5+X/Nq Y@.@@@@kUPzbL5w_Hhl?H7W f_ k qؔO8͋3_8|s9|u4_^RXh@D2@#YQИ c(ZS܏2 >HN&H$ʧ %~3 *;ao+w12Խ_C%\7grzH>//bI6-m~o`40\iw0p#j>vy~;Ǫ=Iʈ EdI1`/(+Zbj\R{WAo('JkR"WVO ҏ8ec)mے5{l|Motj+2 +ZΑl*g8Sxu%Ư&0'ځ4|}8yeų0<> >C +嫙5.vL +iS֨)GX!Az?N/im[YwsnlwNZ;<:4]N7, ^UۙOԮ=6s dc.zw Yeg{PKXOީ_Cwvx|psکtdMx|s\DRvry g3?{ޛHj^FlOfyY]hzr6HU`ek92#{fF&nD(Sx}JW!tue\:F<jG&WQxatatgɅSH2a(kN9}me`T~;zL눨#:kjz6UZ" H ("0UgϹ_^D0j(Bc+OmAsv"=G/-HS39\<*fM0IWb߇\Ş]A7[;7c:'Yf?2Mz͎[U&6,>WW,F,oWP|tWp\ϖ|H + c8EZ- 3~AQq[w<=3"v+mgU!逼DG5rYzѢ~ :sP.N"kO_=9Up}K.6yz  Ȓ\ֹעF[ B?N[vML.޼RKbjDsun/; +8w [+lmbk^;yԚf!QgT]*.U,Ȝ83JYu"\1s)Lgh,2D #S)ew,uɻ_k JQ+qvhAԈR& +ui$@\@ BZ< v%8Bڰӧo@ڴo;EY UB&j`jԱ﫹eXy;B^8V.S<β_d zX(+\Z\u}(5KFP6+WmU$cbjAveK5a%j: +ݜ5YHkbI}\.Mv>p;1BBZ MfܙYx敳c@[n>ׯndF)Ƥ+ң#V+M{?uMW:Y#լ'KevZWȥJ~oiftcċ ݢųgҎ{=?RŒP$תYFkG|VS08tETeNIͻn_^YX#4ro&;(ymi>moIn#qaـU[)Lr,li̴PY}eycMJ' }ށm3],gӒCݵJ[;C(sguI#KV+7p!={ΊW>3ܧNHv9|؜Yr܍EfhII4j =R-" m?;=0roZμ.amXf[i:8EfݢP}v2ץqð=4cfdz5Id6N/@c٢R@lgxٰ/o ]>F$cb&ai5sFi•cDWSJގ±r8yv4 ɭSC>t/_]vyrJcʚgʓWort62|Wc7Sxl{x[<5gИ m+}Ǟ ~Wk떣͚8./%5ejA|<C']>wvˆq.ĭRυ6m=KnsU i.6X|[af|_p]+zqdjծK.J#$9!ĝᥱ1%j)7jXZI?"·6,(A b!Mk9}ḙ /[%Bw$![~\[ فG޴P9UJg)l֢ B^)9P5j :ّ\8m_u!h4{1{Ivu?e SA؁A%k&ӽZGZ;c_RSmZ! jنxy\In[\YʥIXP7 +NOr9j~0oBԇ +2.2)zY3S_6aM )ρdͬ&tՎ4=Vݵ^t5;0zF$YıOqC-`Xb!Z7ȡ5)J6v7GH}~{'ZnZ 8@=$~mZٸbm=\mŃ.!f$oU<Y*J3˕XehvPw_}J `)}Pg:`|07=~Cёϟ 0 Sȍ _ݽ⚹W VfB #ۧ*'ZGNZWKފG$ XV2``Tr۫3vK/ÅGpBˉw9ap +:jZQORkRri'ބ5M Q>LU N.,QCslh~c"[1  &O4B 3œM@8e EL8 㢬nvIAcŐ ;E)~CB=CW)9T?_ſͧjn88_ !HB #%Ex d4?oCyVRq cvN37i?п +_5[_@ {/](l{ٕ@L"f,XH㡜Ŀ{"_!K;c/ݲe qGy[[%wm+'~Nj:yR?}7+G*{o~â7d`pk@e\ zȩVͿkZu6)%g]g~wNeًsYp΍zpWr7#j ku4揂^);\ ,\vNxBrkܹ63zyx%ՋpGAwܓռMp:éeI 3!5DGvݽQ(_n8׈2+?G3<SNvs\63ZNzZ:7z1M6ss +Wzo㥾]m,0Kh&eu0vŁpqq,N`~^g_?N[x {} Kn郥isaERYL(s c1dog +bwP80΄?w (qdBuofrj[/aI6r<;ѷj]ΰC<-&ԟ ZFK;3NB#dpI>N1pW_ߖsT(0ɞո^a]L̰׻M'tILNmYv1}lG)n v1v*>3=|ౚրvl-irBߋF޾oԍҸUXn?cthΥ;%:}δԖyĆ^qPf2M?Qۍ ZY4u8oȃbe]2Oذ'ZBq9[Ja'MwN]zCٙ@kcKjeCR7ծ:렽52 8_1Zr\]qO~4~+7Rk'E^oY4}#[o8hٴ߅wdk.2oKޚZ_Bλf*mpq&ѡtuꕓ8WEa_JuI{\^ň?۝l፜ MnjrJwʍl.YGwA\M];BحLJDWJUX?mڈVl_Z5+ύ]|s1D_!x.6O^#󽘜rOxd9$XX`nlEV|JXrsR1K4 ǙƵ<ww=qfX'MfVʮxIG8#nqnq{V27@*,AepBO?_7zv`]TB5r4}CiЏ_僿1j8,ր,|~m={Ţ*yM68jնfOP%HAR;~ ܉s`G|a\n\)JϟmMucI䮼>c]>Fq#+74B1f?d99_4vY+R9/w(^A 0i{sx.9p!wKfXT%Jm+%A/2do&cy(N.{Dk-3S\fەMds_;vYs6i>>p^ 5N}~'fOrMB =H kDJɣt+ GG,?(j<qxQB4m\AHƮ_hϯ 2~|wAK8 +mXjWaIͷ6p*|k^ +j(ՊzbWw6䦂9,\d?As-y*ݰ=#FnOwO"9Xni\nxZTj 4~Ge.k78xa_LV֪lb(/A Vҽmy/6)LiE>^)ƆɈ% @-S2'@3d._uu3[&Aw9ѠP.(Os%(2(5 TʝJP ʕ_6+Zk9MG8{,!j6:K98[P 9ua_d2yq_~*T/772,<" ?X~0BPRTv=4kof<`w?4|.Lzdw;i~7 ++L@)2V:,u<,wdUr1{{N;  s\l ;&SsŒZkU~jҕ܌)_Y=oX;E7<sxft/Nە[?lf\vj+b|-}U\ `(7:{3EK=(N͌<.?1"[ vqށ#8^^]c͌F~hKI vsa{w;SӉc9̔v籛{?،ˏB$>ޓ'nFv a#O>~9ry]`tF*^j~L߭3d&6$ď|*&{;UjÀXCvz=tqeAM*k8g$ۛŠEl,/|7Oպ޵s6l3̄kk6domÓ_a X^DAD-G$Of&-9Kۭ:hv=b uPl9wW}J:VŬ4LG.xޫAndgV=)8saxr@8HFn?tezHZƭĭ}|" uqr\[?^Du^KJw+k|L3Қͧin.kZzIWҢb}}!<%3nyp;]so{ږL +?/\Z9jPjN/ɢY7U v <ܦ擾auͲRk?8¶ϓ3;\pUջd/gRaL ON+yVE{蝝7msYv=\u¥U\ڴ~fP{[}-)Vƚ%2^d3gq-G1?G6 AvU.qȶy__~9v.y T}RtT].f6qln? ī{zc2W:N6 #7[qP59g|١QC|{a3SuI.8r~M[){_QuФ(31 y +xvjКXUXڊ U7qM_ R\ ܘ9dhuբ(OLΦi0 [5(5G7hx8f?W;64sVkU{gU{xr35]iS9sy{o=]ַ8]}-:UOe/rb@1JRN6.vnЧݲ-Au͒+=1:%'o1ikѠؗQ9o]JmZ#=<ڃ.WIAͩY[VAU1Id$ЮҒ$y 0˴etyFߏiLY%dƚ嚷;iaT BIz N=G[S2O}oЮxPԩ2t7J>3:˳+SndIr(Л+z(O0/%ɮ=lһxPz4?9Gqnh-eؒ{oMK @&KZTHhw|mіK$օ\lK}GqtbQ`0@Ϻ5l#[v͛0ܭ6k~[?\3vKej[?|oZ502NABu?ϓ7l1MZu([T]q"SBw7x0\MNW!; &ɪ[gUY[|vigip4q`:]XAhOݷ~SGMy;ZJd)E JlNgHVp>m }{y>Z>pRv9aiHVTNvu+:JNX>&+#I=hd08f'CL> dOLlO'ߙB LNb+ +*XKP5^nj\l׮#e8*2ᓓXmP:Sجsc=qӳ26LAaH6DWiڅ2׫eʭ4~H ;barʨ(r"e\AKrكHi'KV{#3Y>OGD)C#L-g*֔U*]ҫC̿We?feZI a !7GG \sk'և#fGq7mZ%3?JO/>|⯞a߫Sؓ.-UjvO\H˓'"Ip':o<|Z:[RFu*8Ơ}ĠTàaⷆb+Hyu-k`MfqjI-y_iq=q\2n%)-;9ѝ;xtqK/fMo-uhiXe\6DSV\^,.^DqY~,fH!1rr(1uz~<̭RiTzquŰ mߴDž4;j#I0cQgZ3Pwq Bi&Mn#}~Whi +|yvP:kýlNg_'wP=E/|YWVuR][oN5W$yG67&ַ]\Q=s! 8{#=E+aNI4MyH^v +s4܁t[ĸX:rk(ϺU)9 eڌLndkG&qQtwVZh1 &:^1AȦhB-gL֌K:x<-k"vΤ->stream +P^%P>?Π|A@IlPf'҄ۀk@ E( ^]n<([TZg +KC W#7nP\\@O*g@ +Pл {O΋oP4; I@]C@m ٩:jȯJQdWfܯr[ls4_Neo_1C24S00J]Lmbiu ^'_'`50p=Zٽ>cZ!7IV>.u):hAt̶J$CiXQ[ע Y Noj8IէD&%P#Ws3r2L\b +3bfr_sҔ>5I _*@Wp_-!Et0H 8+D~o wwܞ?YQ%8?06}3vyOOiN Fl?zZwkְ'[3 ٷPgIʒrUd Mĺ3GilڟP!ގlzo +A_\8_]g8gsK˵O'*Zwʏ{̅.Hc؟½d a,#b6|$Ԫ=*(SB1wDZ*pcDFjaCEbsw$.q-ſS05jmXTߴ ZhNF?Ci#0oe3*? 5?|kw B*,u7f{s@zk(C"}XWcKυJ2M9Y5~ۻznRP\ 6\{R`g@L+Ar==V'(ٛ`8\9ΫA#aOB[VgkJsͼDy cƟ7mzE}kzsNrk wb":|qz-}d-Cjl4Zz/O>{a+֎g%lxr3m޻/;G4,d%CU3U G۞}FP 3w"߾݇UUS5jUE*Q\4XѪV~M'F{Os[oCКoDų1McmN.dK:rH2jRӬmOd2[MojMSsYMƆc De_}~o +T}t(jYjhzʸ/~1Lc>q>#%A{\ϙ+ ![ܬj6|js9d5;9 k[CVI!&?׃CݘK] 4:*pj#eyE˚4󇯤}]}o"49헛ޚk?6.VcV^7բm7I Oʡ$*m&1]CLkD꠻nL+b O/(/-͟šdKY ծV!fsxe0T!_s/mP9`fRZW퉱0ublWe尻 :_ -0MhuLDU]u5ErǚJ/r*7LWҢJNņ2"N~-((x|"䏃۳@ 9A|p=6 LqGq{cM>ltrV5m֔qCr:UXj8;"Qf¾0< +T'Alt4v9a]8aLLNT~7Ϙa#ۦG#_OL*l4osP͒R5e/[!#<'93&a<-zXY {ϳ_}h`LDq=sfG`N_g74`ydtN&(zY5ULg%W>=ZmKVo3[q3(_2Z~.0"cY}J}Pո$<"Kj,Y':Y/5r%ݴSm4NsRT/WLl|SOR8 +ZwyrʌхU#`3\X((BWQ.TORD;#٩KpKxHu}ω$fT#ׁ@?7;^WJ ͦ葽鱑VC:ٮ +"=6g&Le.dtUЅlZ͝$MT Z!c-yPT= +So7v +k +K}vU-튂ҟOhRjdaFSY)pS^DLnRAk@ahJ6Ś$wϓrkne2e*>+Cƥ8 4_XXqĎPcg *XV? +25HØ_wM+VG +meʣsIBGf찅[Df Ayo`!Ȑ<{cxRzRz%&%AݷˁNfxYqzފEƐґ3#%C\w-#dAr-u/1mA37[F^G(lyv1ƲrPn>1oȲ]Rӏ::ՑZ+Z]qSFV,"uNQUhJQT*\ׅvuk*k> JAr"YŜs!sϵ׵?m( F}!VNKW; "aVb$ D(W%;^l:5db'q B]QQjb#E&?@)k"Gq˜5b;1\>t7 ?zi8Jڼki#ߎZHÃ_=*k}qQܘWF?|Y;쮐2mGGNm#3` CE'ȷ'`l L%ב|0B0dyxa"^׽^2ESraP:m{DڛE=ͺ4k `x7DEi'p{kW(pkFSȭߖw{ns~samLIrҕۿɷ Hb]ǂz?p7HibFM\Ix;~<%x@{G*K kkrR.[j^*ϔs>p̍)P/o?^3q&D $Y C&d%ŧ>zZ*5ּauwي~ oxxzA_!5&\!ƧzC +U#3-ŋLalt۝}­HM2?] D3:J; uT'/݄Y6R]OsY}9 lO,`c+=9z[uDoʰ;CMn⍍"5{(k Zf<ۻ]Ng}t"UniF x㖝y[cYY+GD744꾻¹+`ls>%؟|zxho?cM^E?s34lSM?Aﴟ&nysKx's%Lo6Q.2lC/~7Ub q?q+hxl7ڈat}hsxB-V Y?*y%߯bݡ oBܜbyV_a<\>(vEt gAܫ^ 8H\[KmL>^&U{Ulk*>c+ı+W:PIt;J)0m"aAx{^+.e՜fYCxf: +ڒ`Tn]/иx! +b:ZUB>lr>wTj6#+|+`7}\˒d7 N:gxS-ɎK_ُ%8GZ<2Fg3#XZ4b:fA$++NKn.I3R2O{ 08[tGU_045:mjۦM4-:uB;K/]/Н.yn!>gJZ`ZhHTjaI!3@/% . 3A +h'%~4M{ߚ65;8}) ݲNmo 2qלe^y,P2ȕY"<Yޮ`Nu˨522s+ݳ;Q=n ~}XS] k~\Xg dM\rPuVOCV-u=@:9# 7G*eT?3jfT(3߶g#koM/$| @}-r%yȩz7r46j̔2ǻhOngFe&JR}iyh}IaᄑN-x Xwtg\'/p7/.*W2z&.n3wW ͜,Lc\#z6Q\LK/2-*yOX-j٘*}yJ+,Dr1\ɂɽ8$G2b;lDG!ͺ x@se>ٰvv*ef0/z&+Fv%pW7RwF]pRaG & $]cU/ٮؓF00+nhP>˃)Ԗ'[z)Г 28C3wh}\֊w8}=Q꺼OC,KqZfhoV||(E MK%a;v#gT/<"s{abW) 0+0(P]Lq𢀳%NG&PhީVzYܚ|zwBY,RgYHJ>7zeR۳DrOԷob]դK0 x:C?;C6 SENT&^chV71aphcRJ|_ @42H,S~åL9Xb,>P]`I1~0Kn$Ѽs`٨P?8SNa|vtWJDxϋy¡\ȁfW$U|ѰEj|Q`r D_pޡu`|ٛ%G i!Dzn +u=Jz6住RK95Q}_(+.k({YVi@͗n1{3Jc %Wk>/ΥrE*zbϼ솷 RЊ>#ݬɸQ*K|Nv"6ml "%/^x>h6^vzv8,~p& +[jI#Zzp_>f|9ZC}M>"U~8S[ݼKuZP}J^F3:lɞ]w{MPDjyPpDޕYLe J҉@7 +4++?zF?9vTxy%\iz徤i3Dˑ1ɣCKn ǯGLoko?YJf1>‰fh빌ҡ=_cT0$H&i=9>*gx1+]R(w4ЧQA{uO0s})Ds0ns"RgL#w͂B:FRZ(íg26́\5H^qV_AZ:Z.t/`[$zYPmeShμ:>S53z|uJVšS&̫OṞvv#2"pfc.aӯsy4mJ#>J^fj:S(\&9E?UT੩ Jgv|'fL=4]+!pcC{M +>ŏ%l(#e#`Y~ONehW!:hfMr,LT&bijHXS?*O?uG]2,a } +$IeQ $x4zHaVL=D`7O.ge@r_cwJbEfFܢ(K$6Uđ S{Q4Dl&R c#cT'%apt2ӈ/$ڰUl#Ӻ,jpe~;. ʱ@APD{(>cg +li (gVP$ (b*y.9"lx3ӚeU~_fQ~wM=)a!V%nF26ܧ.46`~)^[k%b4Z @{г{ +u!2>OT>QkNs9]}hRY>lH젗JhŲv<;X؆;lkv%<}e a^a&xOFl'YВ7Noqܻ >m'{˨Q8Ӌe TH~Z|˞G?@w=Z#hklq[ +q*觳Uɨa8uOQے ݸdqB䉄4H +< ~;dGu!@BIHa)kxw ӌu\ߵi߂w<PW񥈏!ݸfRG~_'vTL$6wpȳVVl0eЀ sJ|$6&S~IRM7[X:?ٷSNMssvmJmRy™)Hr'qʲW=DIJT_kj ^n? _q⒝AP>O(>Z}"JV1 eʜ?,M8aSzNj{[{yz饸 egϠ;tGWo@ԿZM]\O47hUٝ}$V7uŭgffڙNP"QxU>xT;! >=[PVѳw%\7?Ob %쒀5AM(~7/՞}4˝Nө}n&z}Dg!B?V[}F\Ӎ?Vكug9 Ė/noOʎ6}uC\xcnVM۠6) =ZW^ryo<#mM'r鴃5gF7睕\wUs߮SpnwZVj1ּWaB3i6C5[hM@9׬!{$e) Rs~&wȼQCktML{[46AZ܈[;#4"=j?è]aM'ÚNbU#·*m˧U. m<8U +-/m|Ze_B_y.2}]욡;6WRwmb/x^ʪ*#W/p?)TtAIQ1 +pyxa~Gs-*[taR4Ι#d?R,WRc;AZ2l1gIի]wXIqR֔h){宥@u!@[ +T $|"Vv`&Ob.˧M~\OtY|Coͯ&U7=7 e_C.ZٛuoiKp\{Qsr+H7xF4 af6rEui2/gb12)$۸7*݉=jڛwlPʵ0kTjNjSÜ|о|4{S^ O %iv0_VK%TT*]?BGgGr̕NH,Lv$WQJɓLy=Knъ\89˛5>XnNh@~JG\+aA +l oZ]>'sf q**U `!DM;%<Dx.p" q.UҀv(,4gܽZ}/}qptzħ:u5p*Iԧv;(t]n,̗tL +6-I՞"#!X[§MeeMĢ|H4'V*qZ );[+4M}g$yەlj섭0C]>:XWnyiKI[>\Į|r~#SE~ԩrrӅ$6g*Z0IH).o\aL- x2MQNFD֓fsW?nҌ[7f^1Z^uphjԋ +۟ʲб Q[30u~]&#n+=w 첧ْ^0Մa*G{ѣ9ӡZԊD8O*&JV5E^O!D^TZPr*6CvlVU8&̋=/ 9i=͖Gst$>`KSXO-pbz;CRɔȐij\YxCC|?U#E+PuWiJ&>x1v}aȍtbrhBhMfWbYgIaL]>4_cy"ͩqDWv<RF0\g,b XFETʰI9! iΟYD(H^vH39dX,ԱX/h%>_N +?_d =g T+Ӓ{Ė˞nJ*Z!m̾_dZaҲPN.q=Xbc=G:]KgL?wޏTGQsc*EKugq|!YSL 1>]Q:.M䬊6z劈د90u_ʶ}OG2O }Z<۾ []tPSHǒ@7wYܤBYA:BuԭBޡk.WId̛wR^YKF+oZ@󏞎.O+mt4|"_Y؄҆KM`7;S\,ndKd-SYr $>a9Fto~)o:<ڄjL3\[uAs2l!Vg) .7#Up#p\Lwbc9hX8U- W_uk%983.LW'iC],wYi%=8o_TF?5*>|l-.M]*}a +9 +,CD*0Q, L"'Ps 6B9ـ` ,H 8Bzi*gۈ9E%I rH(+"/{۲ D @V xO$R5i_ÄCW1  d)2lNi@> σ`mfLȥmٽK@0[{4m9j>L?mbktrR"7TTmUMu,'@s %mr@ ĢHhhzS{lA5P%.L+jԌAvw3>cLW(/Sqsxl!HS놿.? %v)΀c/\K,c Ӏy&`^0'=ը5MkO՚bF2ȓx䉊ag,s WCxkdph*=,clAK<lSK`UXbt<#$Qq<вFns3a,eQQ* +Z.we'.w:o%p߼&a7 ~+6Ȁ"A5z!D瑠j@i RYFaW0xZ~9t&~=?>DL'7(@ .@~q9G@ѷP/ 2B̜ ?0<y )YG%.~Cf&$jd\^I(B0^ 6a ++ePួ͉5uê/Z: fB,;[,D{"zh?Z5l`o ew鋆f33h4;rc]ĪL&9&A_'i~ʤ6~;>V|YӃ# 2#tl(0Ӊrlc? mΏ%qgtpŔx{P(΢Hi{hY)Au2MҦu.kmWyk7d &0~\O?͠4qh?G3|.z&l~ >]'5;X !/]I784F]a+?- +fhʒ~zK|Sx́/+}}6z6ZTo(DI:BޖZPX2l:ISygT4 :ևέ&lT״PRT¢B\k_?:uO,w Ԅ>zMs\Wo[>\ވmnAMdzu^,[UoUYtV6r_tC{=q^:G$] }"Ջjً3:~/LI^ 2e?TW K +ԇfPCfI[UoZ\Oh9\eJz&)EbbâFo+ ` +bU}uZjo :mĬM:BR6,}Vt15\ezI|fbhdB/ʧsw[Zd罝yvS-cZ]߆k9_U_90Flrd +9'ÌfT3|GJN`t<}uʬ%FGܭLlTrGivŵPpkəW_:`w`t:Dj1wi\/rJ8k؆5kX3 Jva-tRiNkj=js|sͼVte}t|i1 +BCV]f:g/?*y*y_iZ&bY_GąT^2 =w-ʵFjYtҕ*?x1re*\2#97r˕L/Ifc${l┕MT*|ԍ{:ۑ=2iNVK##*fz!Zs)!aCȗϹK}Râ3)?Q|c9m/T2fiIbFPKW**%sݕ2SoC1K9yC= CrpvY2\I33o1d&3vb| :'ҩ|mف:B,i[k#y-ħMKUEnO&iMUk ܱ.4?䭚5&'o9. ,F !KCWtkR? KX&'qp8yUSƮ~Nc + }kղ:HBE"Q7Y0trΫV2n]w=lvK2#x5sG5'O^)ʂV/Bc{ +q!mG>HVԙ +6^t9X3o9Oty4y_h~T\ܴ3O![gq#|53̩bU,IDoz|1kO/l0=7Ut%(G| ;0S--ޣD.WseMar&^Fde3}/)OkDH(D"% =#XZ#?@oNAf㑃RB3H`~:?si*;<})G%I0h4ɇ 2>ϡgtK5nD %Yͼ,ZH Ƞ𵝥`&cKk{9PqܦlN\YPE()}RXKi>>@9@!o0| g̔#/峴0a^Ml>)|)aҽGr#B> ~Sel)b6$[ n[sFK `Z`u)<' +"sFHa-ܫS:%3/m<^ Xtv3K);s +9#YOG  jYg-rA@(Ųmlـl?ci gXmmM Ȗ{U\X(tC@\/@\ +  3Do$mv"20^#r%ZV˸ c՜!7 d@: i$HFV(6 ǭR¡7: (*ם*H5߱ہU @uZ, Z;(7ʄc|P44zF\$ܗjrAm"6oNC䦲mC2p4jۀ.tǀK+`'`:9 eBL6=&c>`0RLzr^I֌`80H>6ֹ\7\C[p>'̷,M3rfNpkp\f77+77_kJp"bL"&4V q9ٺۓCvqCqb7q5vCxf1)G oqp'\c9roAy~Wu|Ľoez26Y8 MsM$1&o2\2+= N_ ܗ% u mrmj<\ 13"(J(lFo8_f)a MHYRdO2#cN +)뻘a훃siڿ2Hzs1:`4 2fM'޵=jO6H+dօŦ(׮?רn/Cy.CV7Vu"Z , +LǝOdo(_wsew.bQf48/r6m@;,6I-SQwq#e+/#u mӟ9C-Mjkz0X|3B6h5T5R:qR5~+B|2$|_Ny}4mDrnk>+dM̻ u&bM بӣZZ[lnRaڨü>dқ6.[jRS^ 7U_e8E(ʔty|UdH=iv%ToQj,o#n`׉/,S9$x "VFu'yg9XMf7H$:ŒC\+Z5S(PUAU^P yjcx/ecB\H,ɟI: |]O5VOgnE},q)/[ءkU-bn:~H]4+cܡԾa|"+6679MPQhMŶFʯbi6]u߇=wk6lg=EY7lg;^7re Ige_©Fb2(jncA~C(a$#?k0vIRr3[ZV֤$lkSop wn/+={,)f.κ~ԗ8"R3:\LtY $):QznGE3hi9]2:}$H>F7w~֫;9]Z:1c;~NE;]ݢvlR$C.!@.ahBe&ւ^SNne/a˟UfلCnYTˉ~ptiBu Ey%\>+=3MU*1NɘAO9=.l'elB_k59A=!ݲUkFn!w)smgֻZѢٷ)Q*+ZCv7w/Ne)B{HRQ}Z\2(.nS՛04#:<{T' B$e=!2HER^5 JHK]E#@; >y 4ڐxI$-ON3>:7+?y5]6xY/_0ogidS$0\0L0<_cm[, m ȏPьEr +* .bLB@ bt4:L$=ƤU}f V5fdLg3 Og@7k 'eTb]՘ \@-PLȴhFRA$/ Oio=~}Ԣ%,ALMaaUXXbs q)@6q+C"F4<@W讬z۰}[dC%8v+!0eȏvL#h d-`/}>q!Ato(r~S_P:>6^;)0=& ocˏ CMZwj꾷6UX%nxsr\j='Z=Z7<$FߡFSaM3 n_^λvڕ܆/ ʶMo5$d lHɲf8٘N\J}{hj!6ͪk0aXMƮ!ٵ:mMs$тSlïyn8ٿXV^ffٹ+]5&Hbdwpt%ގҳm7f2Y\ kg.LOY +_!kFqʴNqjIH0 2&P{GHybx.o!+P ӤJul1P^ NK$H(?K_? y\sU˰Waۻyy >$I\t `/ψZڨi˛Q_esXa⾊o^X˩qSK24G"HTQP@/_'ثsJk1{mr%^L_ӌDSjϔF7M&uJ}mGߤ&qJ_0ʞU|[X*1ҖՁ0o2\$LojŢp%| +@|Dpe;32*7Lwl-uʭizP_A%t{n@Bb29Wj¾Ŀm/:g8(8JGŧ-7g<_޸36xrHk77 1|ͦC-kPS0!"v7(iߺ^kK(8sl*65#^MW/NVƋ3u#loW,Z6[wpHz.!|w8IJ\=v!.T>`({3s!Âcs_mTN߉ \ay¤uvS#b +7,# DR!"Y P3r1K>3H'J2x_hT Iяi1ڬ^--;3igPJLf4xdy yM8Z}FyJ (g}@d4 I-ɱ֏_i@4YQܔQH 1@aSmҩM;oa˹G!scdI_FW0y?cxuDbJ M84!y@{z$, +Z=Ȫdd6'2D0 E$YDc4yP " 2#r%!z`ˏHzO@zר5Nр›yI9VK.Z)ZBRtU^FKNҺ'yt +(\bSɸD;KG.CŔAFմ F ߨTB +4hM]-9.L#Gɋ1ʈ34@N/5huMmIݕ$4ZFV#hf%B煀p3bQ9=[VC} + (sJ;M}.Kf' \K-f-1k*,"D<,ˎ&n47Fro4c+!\9)!3l`֟ݗko=WeN_m߀MI< 4!ρ2B(mj}gWVzylLgaO+%5%V}'bC'_ϟ8aI_o2Xk֚n@\wD2^GnD@& ?y Ă"~ ܘrSm! +geI +/EnL~ TpտN1|O"5VP+mRph,PWrHLjŽLgϣ4PFL$u$9sܿ%$I MkG"k/Mh@{\\-W5 +Њ>hTchEm$E9i8Hj[%|+! MWoػEo`~v<02009 Btc[`]H\ߐdv#=v_OJ2㣱dZP<Yng;R%egb)Bo`3i{[Yᇭjraz ?&7F1MςGvnomP_ HIN>g{s}чb4.ߞ38Q;vm엢oqJߛ2ʚ Φ4WBy RMnl{/?_8Ŏ2p=5M +KJjDMo&/:H3+}/ssm,H۟W!r:=ϋɭz،"kgp}(>yy~W;Ԛ^=43RtuFuzNu$ Co$5YlǏjB'fɎ-4&6>!84{r\J~醣mǭ r7`6SWj )Tո*}DtccK^Nbzk%SƛNWg)H<'E;G;I=#ZZ.HՊj6UOI=WGRJ~/‡½h<v-Xy%ݧ+sU|$i`GC^xַ[uRZ9=$5ܰR83%/ҩ!K¢ +1h(/8iGR4`LT'r-#Íaih@`k!]*$ +ߡ5@'rK%c:.c窲&܍BU#kϜGqFgnfJkf +S$7'BQ?R{i{i6|E7۵{ga1bޭf4~LW|zLt҆ -鴞cn!s +L6`S&ɎWWSC y{Zv6|v +;= h6]@Ywz[Ь&P9x5fHBs]br2]1֤dgZ4o a0NI2K7d (hXܼdWoTZ aYH/KAs';j0C\>DvL|Hv:ۍ$Lm:Teb57];1LѨ\|4V52`ʠFrx"mkIYّe{kiw52:#""@Wv `%P(bs"P*] jJW.;fI^.敷sIgep/ޮrx8dq{ʎ~G3iq11of4{7O v js5*6 #Ş܀u݅ͺmHei|ƛٓ18ՑM6sh]< O=^*>IKټww{t&CX[(ǰ@k9OAsYN8l[YA/b2=rcKqߦmw hQޫCٝi:ID¡ZʟS?U"HK[U$.u(Иvk%s=ˉzef۫*ŧvHkfmnKj]<]d֗,-\bDa1ьI +)D7Z5zEGAW\ ŇXlBNk%6٫v(C,oy:ښuTʼ69?"Kt꟒P=Om^5}LZWh=8qOmYu\1CKvI-Y:&8'skLbeAJKo WJk: +.G:%QZ' +f +Qe| aQ}UC,CwXsntdsØpE{VjNMЄ{Gc#w>A^GCo8\XӘ }Te['=xf o=(@Q'E@NV ow6yܮM]2"+OiTz7=a - +j:QCx=Q_m0a4ErmJPyW${m$"icO(=ՆxJ@ʂ1 y&3ȰBZX$J&b8҂4+-ybȹ\H˖bmE!*7'cJPdkW}[5rH?")#>@jZ vP);"929@9 PȫWʞ?I~M[ sXHh9%1{Q3[e1{g\eW%mO3RWjrp?{%/E +mD27]<@2@'=TX{3=Z*&'F_lԐ1De?,;rY)DDxͽαn>C;h +J-`t$b IERQ"fM"/>f:b¡-0 !״hCr3L'X$"\ng|NI! wzNJ,w:ȮڅXa-D; V iA4ܤ._H$9&pJG2|C4:g+*U;|w"d{?ʄ1 2gfŃ$:=^ *kT͞VZE ,bh.7Z77W_O7:^H8"i~At]n A&:&?M<֦o$>s9'fG,/(gY fy)Q!@|m^؉v\~/@_@( D2N"84<@U_Nq>DVDuD7Hڮ*ug²'Lu*ǼrcմEzr3 ǡ/@:XI9v!G8#_yH>i@@.gGF nmU$kw'dF9{Gum6Jz5ǫ3=m;I6_V*<Iq/pQ$!)0S{c:At7i HN$|*X,*)l?&cp`EQ;FS]OjFZHmҴ.%ehy'84~ 2g J8lyf9x-+!dY.;%zb2U_NS$#-Mw e7*BˉySE7RI-4yy{6ikT>)N`CNI5F Sgڙjϼܙ5EJ& 5[DNFf2[dW#2'pgV;yF\;GfwD{ +DU\Ĩs7/a8V"Ɲ&ڒT[퐎QT~kbay+UN٢o Wf:'I[!Tޑk`ͪ bL}J.sޱQԂA<>~Gxņ'~ +/zUFR`<; Vs'Hg:/ +u`XXA!!63`ΝA: `2it|QFz`osԌ'ИJG2窝vp;1 +3֨4Jߑ.8lI8R +j '[)PpPd +vny~c̹s=`ڧ=QQS 3 |JQsT`fEv A%r#)xN5! siP$ 2Ys7@j m a2Wə,4M 2gvOP9ƄV6ꮱN8xz=DbSE$ +P ""yɵ P(| +@ag%:Sdl&Xg<'9wQnw) i|*Sd>\0Fs Ρ^#D @" I1 ]qn$5@1 q#*6TS^j6^f{q&ȼNrsG])$,?l/=Ą?@6GzsTaڅRkՔ|t )5*1=`UDLt`;-[hD#Ґ6k4ZlV,G$s{5D*kd5k1^2# + +QY`e?r#p[B"iDWdK<OuSଔ8*i8:?Ht +QK]/2'߽%ּoן!B_e;6t'Q9RQJ\Ώ|ȜTldE"Jpc ff  Bi@2 x [ўE[+4,2%V'/3 ]!p'%ayTdVږ?*~Ũ{-$@l @v +v$uf HA8&ʗd?$2IeӔD]ЌX- ?jA'x8ty~QP2Z lF^=R5>U,ΉX^hI/"5if$X$1w7x\/_C?'fuQs.6"&VGof"RRx#p7I'tuwJd'MN6[o8 _ O߽{*?7& ;!Yos *^G.smni{EEk +E (*"* +( +$~ꭱ,vq"s:ovN.Rf=7&)D^IP)M' [W.ISs&Ju~-i;9(H?BԔ jo%!JD50e<74n;s,ߎɅhBߤ\) yC#0rmQ޿I#8%Fm$7(Tzu>ThNP|HC\y3 X28m!aoO9"}Qcsh(uo$'7JE'q5yk* +'`(8T7$K*Mq.Eqe&.{Qxv +_ S7Q\_6SH)&pf*8W'Jhs!Fa C|S>VvX5츓煹x= S `7t2cվr*nvk2Zn6= z39 P)(}zG"Md P|'o,lVBQB8V/F=6V+lӈŨ^pSK)YR9v酴 M<՜7̌% Dꠚnvy#q7 +>!DBzݤ DR z/ +åHR?~,ؔ)) ېgih;5 x72"[{Ó6R!"׭1r̆'@ڎDH/+n (BI"/ +JŹ5x[.<(\+ gz7}*7gEUub nuXg賹Glr)ɨg`gxDn$QH6Dm%f`s`8l=.}ȼ aiQ.&SJD QPxCJl[h͖|8ܭj͘Uv_S$%j7@A6 N +r,hkbh6bfncϑ6"`wPh ̲5kOԦ[м5UWRoS4UM+R-5Ŀ>]7r5{Q~9ZXވedS\d=H4hd'*WFBiJ6Tyߪus[~_:pմ*`ul]ռQsʏ$3|zV+8^vD*Q~w$ j-k# :"!D^k}-]gyԸˣ& m.:Vr64U#B1?iF&tABN7]}Sn9urʡa_'kt'(aݑ!#֥:~D#6}(R m !3+ Auyy|Tʩ"&S9#1J9[Wȝ2jnHf`xFX:l %tRSm{1$f$ܽWHpwSB{<8r JEe~w Hq۠ifq2=aa1Xo{ t&0OT@hd=E)Z*t6w0ͮņLSz7WZ+?2"n)>n84 +9=GSGԵ :—d9xg*W2[-Y-2{L$Vg+nFZyFC>T*)&磠xD= U%=9.ᴆ +9zSxh--rhbi19<+ 9<F9ߏ5g]'qBtmUOuJ"PJU?33dd>cvLs9(w?'Ҍe g*6=%hy %d^HzQdD4ӞiXk,)Y+MjFvU<,sO1JO^6ar%^1{ٞ2$Kkv EcZbd3 H=DzŮ횂΃"[LsӉ>Jm}yڞIW0/iܯer,lo=Bۢp=)+8Yh)1fE&Aeb(I x;f<B&:'ӨkVb,Z oTj?:D:t$AgWULSFIR1%M%f{d՘ G1E8=Gn@$IJ5AWZ3,Z _f@{L쪎5|2kӛ>2IO>1M1H{#.}!81&D (\8؃N#DZg"zPs3=`!xDO 2H_:$\$0FBJ.&4T@{ K'hϤ<K8kP{Jt>~5[[ %<'Q~@` %J1 +JQJ̸gEtKsd>NWQV$xRghJKvU9BiB0U!>GG1s۞Xn0P½=$Cๅu΂9XxXlC[FB!h'B6A +gR? P.Vř1$d [L!#HL<^FU1"p6Yr%!!Ma!Su !W)T5ڄKÁ%I|Sn8 n^()z%(ɾPQ2i/dkNr3/Z4,[`JI|R*: +$_b4h㓸_[~ԼpRJI(]p(n=( gPm#uQPJ@ATD0rޞ#ʒ^pbyWC-'{EbGdtHi+2d-)*htR MA 2e-pW6 Ji(zlQCH!Qvfi)Vl$7(X㺏1f!uH\b/ewxʼ{*Tx:ZZ?!H(C(Pp([G2Mȑ$re4};^u=DQh^?iС(qs%װ"#6$Vb +WE \m2^n7 @4iwcyzg2#Y?/d:?tVdQ!U7'7R3@"@5uTR(:%gB䤉@d@ĽhBtnƣo,yRJ@; H DL^hH,#s|g79an$ +TSF0 +1v t]ʽ6s(gi>\BmRb$#:tڇ"1'2IDr_h7=2B|x{&sPmbZ^4Cn*׸PCfoNm˹5lZlϸ$nT|w:y"Ihnuݿ,>Y:/[Lg=@R}]ǞA>+DEjѝ8 Mua\m zRIvbrͮk -yhczb7 YluWMeύ +]|K ,ޱ"zN6Qk Sn mh;_ѢETn" q),2#*iy"BΩǗ2CKO7Q׹}]Q׀%<ņ!]>7`=NNߩeVΣNt30tv:+ ]K&_2tm%Co ݶlh`LBl94h .&mvza0KPMEpo=w M#{W;c. ]6U+r0s bB, jx +NïŵSl(^*BMMS-|5s϶݆ /w2|V[nC`φ Gl: '/ ~5jP=:Ѓ2gn] Oآ.TiP^ uP9KxYѶ g.x~4=m2c)ъ6SYD3դ`ϥP̷o>ǹOTdfP}Xi} \ΞYZt{[ͪtʋ6ߙ,L\G+nx~4N cny}0/[jDRvbJK۵\,dzUd6+޼Ý#%|whn~%^{Z[MGQ^jfv-c5!Re%2Ltgד ^ݗkn$bz P;ƻ/=UcלOG&5_y2=MvEunN]e \Y2Y^n5`{^;Reܮwz%ѳm[_ROt;`汯(7|kwM@oҚnlxM} ^.ERtS +NM Tοp: =б-h$ⵂj"BUȳʽl@f^.p]Lxְzg2\=K->p,NGwC@@.a=z>1/<~1^8m\X5&}jfYaAXS$r%76 P@~@1q !Pݏs텣1yy5CZ%zPÇOK4z.<5`V$c!Ϳd0},3RGkTΥ8=Yu{yҌqޅ;/Ϝ %;en_2g5c[7B@*k-kCk!tJf TMzv6/ż4יiyRw@(u|?>2=i(jL`5'9"ɾ\R]m.LΈ:ڎBQF0/CfI(3 *t@HR%M63mWUU{տn^ٳ[z-;chc{-u=_ +R_+&M){5>[b#QM{M>ޏxFMzjlTv.eitc#̻q}3wlv7YzΑ{r:'QpfFbʢ H5&r񱈏[kN Gplж,eqVViEs֩g__ûtO_PW}'>QtI7i#@.?muvKy>Ĕ~{mol(Yz^ +s|ɧ0gIu58qUT ] E=zuGm-VV|h +X=窂>f1:ijvKjc| P/iPtnZ>WixɝK@U9x̒w5J߼?U;-PNrx['}b|z*-N Fy6rQr^pZjדh60~t۸ +b@$4@pf O7UxOfrj(|8'H e^QѼdz3stn-z]}B+_Z>"'JeGSyZz;fm 3H6eD9ˌGs:nC+^a2`5 F dC{3S5'IK[׬|1׵ -W2a\FO,դڎX.sUnUkͪTU vS +Ԥ/0Y "/=۾A9 2 a{51oz^iUc}TMy6{ëar{D c4ͭJg⾷3~w u_<_ޏx;?g&&aom#g6_1)({_sޏx!"+Q,Dh9X=W|( o,l\KR1:݉c Wno7l\jusTF*7o/nk@nj@G +S{U~>Wq YIΞ{u֌IѷK~H5詫`IV_h bx4\q?r-[^O7Ӣsq8׎zzkf8e#տeI6)E]^+O׳ ?{ yiƣ޺J{B]9O \yۺpWV|LSiBے]_Y6b} .غEv&>w]oIWN\N޴7z؍sk[3.ɏ5s ߋGcw7W<4_gBx: +VPPzuZh\i:8Yi7w-(_d Lf:ez[eYf#2xv$äx.x$AC aToq[kUrm[qyHӮnf\ݵ2\ڒ_; Q*cF47; ܭ}'&z +P]!ЗJ0.;殷aswϭm]uG Y$&,s xbl4Dhn_6Rc `jn6EYi{ml.ªs;"mw5Uuﱛicׅ.FǥR /4 cGŝv2z5ܭ9%5u}(IK,Sjdl)9Fzgi<|/Q_8 !5A8~G۽]H޹m&XS9yz,f:T'EՕmʖ{KƯ'NfςޮXO}=Km }0PX^>z8Op;qxcvg˵0DfȖ53bs;dFҥPKuosۛ5mwO&vFsKyF'Лzk\}';* Yw^)!r)%,3A$LS2T;]@J;IŇ/hw:5avWo^H&`\by!zUYuڬօ:RW k + E >OMVӮu˔1CNfhΰR=RX"H5X!in^'}Wwqw$t Kwq|> +&( /-O`Mc}9m[:%$F,V $5Yr44~~Nxww&| Iwcӟ.L%S{~XN|9|,f_rNgv}oVhhP5` Ofb:)>zl==w NSb_h_ H%9h;z2Kv{xVs42s0/LC_{߹wu3v&cgN?~zc~ڄ1OU09Ŵ\g_эTӊW]or{|\:eC,yGXݞ:&pt8>l @Hg6/ b w?5k1gEiNrt),oQٵg!/,)4z&m][@}S^o 'ow3kfJe\ThlY/``tw̞Yl^쌨A%4#m89o\fUonҔ7.mlRzѐxԇtFmn֝9޷sӚUƏ'PSjL6L #bFB$oCUf~W_w3QJP]`g&r0(|,6N2מfz\չ='ձ)ʡ+Nm-xt7Mp?HG>~Bu7| e34گR~I&G6gYG<&G}FGo.wa[Գ.y3pBe4@:jGN, 7&-tJ[0ɣ3 =>XIym&4Lc-wߴ'ܫ*ѿ"I_g>Q[sϕAЀ (Ύ^2Ozmc|yZy-+=W{xdލANfӨmT=^YslOBf,&". ) g)]+ڗy*i&lvm/X=)XvE]3bsA9kрd`U?EUq'!%]FY(tُkcm%Vci\7rMce4x"F5ܵT:80pRژAq@K@X_Q mUT馵)n'ucf딣khܥ2$o]͛uVI})g9)8}N>ה`p32=չN9ޘFAҦڭLep쿬84椤:j^%_OT.I[@^g(YB[Ӝ9=lĠme(fNb+IXԕapK9W!,~BI5*Sj +{' 2 _E>llhˇieVa`ym֫i,Ku[u?SR"8,~l㠩>I0t … +( +3%~NJj'mcR+VT+y#ZX,OY8`;UxFL_PRڵU4? *u* +=*Vڽr$ĝ%oPeܮ +b[kNgn]Ά KHՎ|&u:eOBMwc 0)eh Br|OT%J J9<\JY+gbT-sZsHX-hpe3=y&; kkT|17`&!A1}}L&LN+y*)B>^*I`~5Sג]-;=ƸfHenWJC.w-/=ĔtWU &rc'!.F\ t2 Q^e/b?7y)#SݾZG(TX{Ie?x$C˜N7m6$?TWth kvy`PӃ>qXe7)||vd:\1Yg +8#>ֲ̰ :<QRD:ggεi` ފfl\{b8uj +uk4vKR"!%KT̍x֒qM&A]|At;YmBLh.VӷszM5u&UCYͰbkIyN3/ 1(cOfU埽u.{)6J%['=k>0`)M/vȭhhT>9x_&r2+;F`vL_k潋lV>g6N-''~|;,XяM -OXAN{a+YnN'9ңL`Q̋oX=[_;uSԡÞ9{ ~݃օsB}apk&N4"',еJ5̣Mؠ;elCv캛Jzl;6:[m>䴮mS^k39ZXw߾N'a槇ݢO;vcx *^;ɴc +{Iv[N"VZYUZ@SRS41Ibm"ڬUb棘+ +Vf>,^BP ox˵yIek]c\ +quFwbGv@A*_ޯ8O)4E,|#_V![)gSȥKq΁e;6e{i||TԚ bSz*)˷A}^ +\/wLBe7c6 k>Wĥ6 5AvSotQOz-7^m85#-eʔkWnspuκA(tV'`1l0.Ak=N%2fmaYO_6 ru%r8zzTؚˮ$FфMMYi}~1tEq(=\ T>OP<2Ϋo'?}+!s@͌k*r8 Xnb4gmN9Qjں/TJ8ժ$( A9GJozok K^bߵ^b~F)8CA> zNe}mI6н=2`[?vqMn;癙\ b{WLJw|}xIVo}\1u?qOֳcEWxK6: M?8ـ8hONL޻WB& +:9``R)f1Б(GˉY,e֠<}FONIqTJ`aw}6P+moQ[l@^(0#39d=Yc/cΧ̳^~%_/}^عћlRF,Ĕ^vK;ބ0qN'ˡDm ,93zr=pcL[vfƟ2K{36S7gqf7O^mZsx<N.=:!y[2w95^|xx"+=NJ-l vwIۦ"{3ݛ1V T?¬{i>zJ u|J4`+7D.dlAF#Bd$dJ2O=|DQٲD~΂do%Nݿ`rF fj\;3z35ء*Z`bAӼ"O{*?~>;"4!Sl (>Ŷ!jal{Ѳ-VT; ,G(stIY +; $.9TJz 2\'{[Jj~޺%Tm.}q?5݄ݛ(mװԬdg0\y@7m NV7RThGkVd` Ug6Tm~oť [~N)rj~ķz>q%t76(_qׄ.n+vYCsK$i=:.Jgzܦ| W3^HYtJ9җ_$QWJ7WQoFgY(x;sxIeDs[q79)VFZ+oZFY]ЅaC9Q䅥|͉|^yujMg*'ISBƽ͛2?MZéagV`1z;j+a?@q|؂y_.]4gϮi×v]qIɲ 737t(+ 5@ґ--ARWւ6kl]q۞'{6-=`l^c0b4H|x>L kJZkl/zK=݌ w%NOr6|C{mz?tWz+uNq*^cUJ׻ 5*%#0lO֨=̥0 '>y6[??KS +FK{ ss31ޕ8LƫAu=*mv|ю%ZEO80'O82iQTP4\V'Q׮c% A*(%f«xskyJXdۃI*$Vk-EJW[ϱ>. bW?ހL<wgP~mAR#7O$li, x=:SG&TiWsXrŭ4-Cn܇I$knnSp 򩦻sSR/ _B|T{='_y6(wVQЕ4'lnH wZ䮽r`g3eѵ.T4C"AuD_ ( ?g= [ߎg +I?VF OQNO. &ʷ5=۰E ]]=mi663Ej~%L}_888>^ ^R +{Ioώc=@)Z=iлR>>XJٚ4]~7vn;ٝR_PjOڒCp #A̴*TMbnc6 Q\^_4@ܣѐR?{ٻ]3pﮨGEL=E~N$BDWGFckYh_q ~LֻQ,Ą7]- Ϭһ#W$hJ$HwNRFѺ̈[KU}IM%H6,uE!T_ɞO{-Gpr:I{OWչ[->߯nɏ^Ju8˵;*d>7$4*o_wwW>z#eOk)ֵ6CiJw@E?pVrD7A|S^k  6"&A8\44SYRO^Zs˜-ݞvS7"/Q Q QWn9Cz@c"gw ++`zTXӉφE$p@jcc7E侓oέwhYCuݩι;Ƹ6:Rn/頶^=}= `RQcr>S'ay'~u\4#ZS:ayδs3:MVN-Q}jy&v(EԵܥ|ٛ,_i<-`Su_zf-Ȳk3uC/ f5 װe5x~/lɺO)tX7z=NPY8Xy].}.hXK Y`1v^iG#POk@^gQpMl lyi6EL>VP Ia=xjRjsB^$\yՑ jf:Siwί<`K^ENΫ]^7l7Σ;8gRK<3=1lvyyt"u%ES%ezc$ +mUy!.zφ39vGx@ );:^}ԋݤ9uf*q)խLYl]3&jfB2?8;|RBߏ/uڲyr4g~1% +eq6. + Uۛsfhlq N9A߳8@Լ,5RR#>w;Zwt=tf{EWחW-Nܷ;x.tٞMؖ;1+(#U'|!tVtc(zY`DH3aE)Ne?Dc[ & +9.%?$6_. cbfώ)߮]3y:&ǮP\]G_ʊ)w!kK:XpwXRQN,y 3<[s0 +%5jNsJ#zזٚVΦ#7\˧L9U~Z^.*8se݀9G$}O/'S..zEbG?]FHG{葟?P=[9<[5,ݡj_i-)f.r|67k9R==qK-ݝQiMZ,_SKʵ_$ΧWQXPJt`7`gG&iHY\(P,mX:=ȹx ٛ:u= N8tq哽 {# zr].PK'Q'z%7$ɜbqƒБ.{:)c:ZƮaKI;EYpNGDlOΘ_jݘj?yfoX9=RE垍{U<< r@RS wLzUxǴMVkumZ^r0c?枙"Bso  Iiĝ\o;E7͙6]_Vk62K=@aLZW'!(sO8iYMsSer/"=ggH=Eq@!g'л{]R]cdŖR{;1.` S'O.+[é+M%b֙aZŽHz0KBA(C2#d¦"&]QEehSdPхPpd>kakQTL IZՙlP\q9361(xeB +̨ vzQ!^+(r'U2uG.}b qQ{n]fF%,EJSlZ"֖|SzSOu"$G"{gQKM?>0?FiyREx +!e@{< ΁ltmDEkȿ*$3Yn[C[]Lhj1s0'iz{kh}> j [DO8nƀu{gNξlr +oǢGr +ϓ!;׶s8fA5m~Xn &?#I\A^$B kN6Mo.pO_~K޶L8=4%Y#B_<Ƕ{u-fOio!a_ބ'jQ#؀LH O?M`( -ª_tOerY;$lS(+ߑ[9kwop?G_޺ֿ$gəokoQ:km[)=iClx6xF!O"dr{/P`|%) u~b9Of^4Qmi"qǺsodIہDgmno|Q[Jq<ғY>LT;TLYCڴ>lp_:Ek&3GSFkv[>D=PS? vO7WvD\M=fkkx5ܚPܔ.}qʪy5LYJ97T0]?B9baEVE(Lj;SRE7{<[w42^/v48)W~v-jjA2gӹr{J,3SQ(_KgѶR(D KPl5:HM-ȫ+4vfu=,CZۋn7\.ŎMysξ +gxMc#\>K=L=-Ls*y. 9w_'[Pc,fa3fc-Q V^nNJXitv<76y19/]9UsHDEQx}Q:ⲕk@`m >W`{j{匇з]IN7-wj-hXOOe>kn:Pa}V#.Y8ټ6}+w5kr6~%qJO~GusU†#;9t.\urW&z>rJtϓEsx7e+},i%?%KpɘlOp\67nP³:(>pf"Su _@A)yhDs\Glniڔg&׵tgLNR@RAoo ˪r{ ^sIjPkgZ)S[xӓ*) QЉ%U / /;~X)5qxVM̈́215L^JPSެT{{,{DH<ټ ΖawwKǾNo0/74& zknjߡ{sL}=He^yi6h+nKQri+E_ +g3=8$,>` + +]vbjW􆢚f^t]t?ʦS)Yq?~K#Dr4W^Cx`FL7;dSJeSNĚl,h;M=QہK]"AϜ)OSjkTfmI]@qTY7si*C[Zҏb-ovsfߧ-K&2!U??Azݰ k%pŌflԘ8֏f/ڞaSJXWǗU8=hԸES.Tk&RMxU۝}]vv:lob^Y;0.%z,=/~ Hl.7ijs杯tuMaY 陼Ƴ2eJhMWÑmʃZ ZHn{Zp 6Yw]=׳v ''8j mo}n.Y y}-zvYqި_h0{H׫ᴻ\f6T O^#2ռ7;!P[@&T/CO_7rzZ}uhJ&,rJEuHF+eEyXz'\讨g~ɠoL]W;VaehͯU~tG;#$wNibf"=H\2K~Kt=֐;B5+F٨&Yk^Ua%,xURgZ %!ߔ꟞!T_EeJj K~UOkJg.hú)}jz-В0=*:N%e|YJ{^S!DA ~ wi\A{dK4./({V@PJ*Y\i"d? g\  #jq%6e ŵ_Wn4|D@7/_3v=uw$ Rz=JM4,Q t-\d!oĀ\DX ]yZqtCZKu>O rz#@o V&cXe@!С N.@4.ye0M RC3Q1z%@^sߨc^U۝;;m N6uOZnim87a 6aJVe y6)RdRZvc +ke\,׿X_DnP`e0>lCA]|y> +vPvP&bv^z7}+)c:ՍzR揶D vwY_{y[i |kW<1n :+t R]'hXʯk fꏅ̙bM;^ +桥bu {ku'&N"(9FK +TJqE4~GJ%oVQ0w|{Kܭ8@tҗϏWhkncW B&GIx+?nbl⁥AT} Q +)9fcOG6 5MFzQ|96hD/p?$OUR98|Hٿ3j,z4k:XKJu`ğƇbq@d_s+ONH\׼0T4~+cYzX濜uCOϬFcTM:O +}0ﻖ̡$:AT+ N={:6J.;>t牵 Kt$.u5wUϾqti`/C8}RMۓ詣Lv|3QX*)+vq| *NGhIˊ}Iʳ׷QڟNd\)r*>o)'_?vA=]JM.3늈tVmhcv4]k,|63-GM;ecdJlW:3Snps|כ@y_,,bʹ\U}s,:M!Nkބzvլ@"srxa)_}]-Vi* 4jh#Pg*N$Gs_zkyA{F\xVLMYFqխr OH4kO˵RCFE-Wn~%b VSľ؂<U]y[10<{Ȑvza-{"\MzM˧I;h lwjϻKgtpɇ[%EsӨ +r&'5)s8_]PAUM%K\4ZNOo~ΟQ IxXu3C,8={@D>6|XsZŦ(IDy~|/2 +R~߬@*=ZشB/>Ek.7j[S 1+¢l3)K+GoNnK37ˤmYowAw_lyX=l`߯v1jCySG@y_49{R7GDjKW1aPP#>qlhKxm:<)3\}6ݺтl2n0/@(ۨV}|$e"8ک[[0|2"uB \ij3[\Ҹl? Ӓw +L6)Pnw^xi)\ tZ f]y7=)qO[n / ;%2Z Wf;uÓ]Zj^RmK+f֟(:d;`i!_% O3ۣ=+mL/oN}kvs0Yv!͓ OQO}%|Cg;uNRŃWimKwkь'ÃtާC޳鶦1NR;b!]n x~<[ٴdk6w[9ՅGM$:^3A/]4 $ +I־>Nz5z}"]y$1Tn y-2c㦻RRIr6rꛇ҇>s{E"]Q,vaIu>uIe'~m4=H S(+Sy4}ubHc7Zkp{eܬKz1l'"ͯj uHL8VآQiwY6ZPx ώ.ʝi~줖P}]87,~u(|, vLCUzȑEf!8g%V,IwhsJdou{Xj Ziޗt2Մժګ{dz#?SՕi՞ҋq"Q?g1 +-ĕ>_>jI1a}NZL]!}E0RJ:VXRJ[uԯŜu\rXSz]-d1ΟZc_ۅ[ Ύ?Uu8JU>(qVN*嬫KƆ)P:\$>Zd>.JqQ+)S}'3W4@=k2akޕ$ߨDqmŎ: +GeK,ڕPՊB:R(%ޝ|5E|H q B|~ryc +dO#ȍw64@] udB$p@ɂm 1Jc9T܃G8 {-8:.]T ۣ M#Z_W Og/o1+ ';HIf=2*li`.Ƚ=6An9ȑ+7y h$A֓ {o~=eky{b40ZrH0*vYPeůs? 5.x_\~Hw1M8ۂW{};`> F wTz A +9l^VdR4*J`Ws_ uo^V@d}=ZKzw9-(1@PTr1'(d-$6.߶ٸ{xj^V䒕Id,y("_KKe&Vgq]8t|9m bd[Z!@OЩ +ZyX,8 99#9CXe'[J( g7_ qq0*2eV+s Ko+d5Ef@|9@:lnA;2t.\!F(I5yL +ԽzIb1SM$iiL%r6ԼM!KO) ݪ ;uL* rr |ǬnkO1ɨwe~Юre\xZܯOOgpۿ[ӰUgY[,{neqm+* H"(*(b/q~j\E]9 L2K +,yQ%=n&s W*{*scûpÒFqtvpkcG"׽s d +ۋgy~ +cT@YA.Gk㿑4$K`*=KXE}=Y%5'KZn=u[X֤9n=Ͷfjˋ[j')up eSZ4gV݈꿐$_Ʃj$R}Rov4IJQhHRϤN4|D@ݾЦ핲}i ܒr䍼fky¬ٜ}\sdo/hi +ӟ٨bN}7ƻ7?/9⸸Vͽkv)q6c3k^- +'0yo=AHg +VY}̨ǠRl޹I7:$R+ >51s7޵vr;(ݵ.;b\l:h jyzF9 R|1fHNQ2349VDnJõs$n@&R͂ ZGSUw􈺗i|=:ؗ=K"-R:!G97j0O}IE|ѯI"[vwcCo骔 ^7h\9r\U`dM eh߸-[u'8?ÿ"I + +a"/E%wŝ;92c8^ݫ]yYZl"b*߰6qt)9: UQKT +N+E)ja mNFҒj X~2b- ?}"A=(/|徒 +Mm5;44hVAgl`[en2vDقYRz-g>NV6 մʠk//aqRsZvH&v>0,o +_4z#͌v0RX ʶťURNͷ +Q9:XMoZrByˀ +<šl HKcP+-j(ꭴTNOv8-E֍ۺucW] LY0OŌ +$I"Aޣ:T fB{Kcv ;]v^ +l 7}I]*roJ;p<zzlWY=X,O7o>ӪT?<wǒu WCL>\l1(}kSw/oOq%iWYNTdϑ('p7]fR嫵\O[^iF4jq.<lm[` \:=ԈjjrnfjvutzaΜv +}l瘤MVo)4EGܮI'_yJ|0>-wLv#z9x,iUy:T7)붨67n4P +endstream endobj 6 0 obj [5 0 R] endobj 31 0 obj <> endobj xref +0 32 +0000000000 65535 f +0000000016 00000 n +0000000144 00000 n +0000041640 00000 n +0000000000 00000 f +0000043022 00000 n +0001083508 00000 n +0000041691 00000 n +0000042047 00000 n +0000433190 00000 n +0000043321 00000 n +0000043208 00000 n +0000042300 00000 n +0000042460 00000 n +0000042508 00000 n +0000043092 00000 n +0000043123 00000 n +0000043356 00000 n +0000433263 00000 n +0000433638 00000 n +0000434634 00000 n +0000436876 00000 n +0000502465 00000 n +0000558796 00000 n +0000624385 00000 n +0000689974 00000 n +0000755563 00000 n +0000821152 00000 n +0000886741 00000 n +0000952330 00000 n +0001017919 00000 n +0001083531 00000 n +trailer +<]>> +startxref +1083712 +%%EOF diff --git a/Windows/MassiveKnob/Resources/IconStyle.xaml b/Windows/MassiveKnob/Resources/IconStyle.xaml new file mode 100644 index 0000000..e9a607f --- /dev/null +++ b/Windows/MassiveKnob/Resources/IconStyle.xaml @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/Windows/MassiveKnob/Resources/Logging.xaml b/Windows/MassiveKnob/Resources/Logging.xaml new file mode 100644 index 0000000..ead1df1 --- /dev/null +++ b/Windows/MassiveKnob/Resources/Logging.xaml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob/Resources/MainIcon.ico b/Windows/MassiveKnob/Resources/MainIcon.ico new file mode 100644 index 0000000..208d78d Binary files /dev/null and b/Windows/MassiveKnob/Resources/MainIcon.ico differ diff --git a/Windows/MassiveKnob/Resources/NotifyIcon.ico b/Windows/MassiveKnob/Resources/NotifyIcon.ico new file mode 100644 index 0000000..9acaca5 Binary files /dev/null and b/Windows/MassiveKnob/Resources/NotifyIcon.ico differ diff --git a/Windows/MassiveKnob/Resources/Startup.xaml b/Windows/MassiveKnob/Resources/Startup.xaml new file mode 100644 index 0000000..927367b --- /dev/null +++ b/Windows/MassiveKnob/Resources/Startup.xaml @@ -0,0 +1,15 @@ + + + + + + + + + + diff --git a/Windows/MassiveKnob/Settings/ILoggingSwitch.cs b/Windows/MassiveKnob/Settings/ILoggingSwitch.cs new file mode 100644 index 0000000..0e8b482 --- /dev/null +++ b/Windows/MassiveKnob/Settings/ILoggingSwitch.cs @@ -0,0 +1,9 @@ +using Serilog.Events; + +namespace MassiveKnob.Settings +{ + public interface ILoggingSwitch + { + void SetLogging(bool enabled, LogEventLevel minimumLevel); + } +} diff --git a/Windows/MassiveKnob/Settings/LoggingSwitch.cs b/Windows/MassiveKnob/Settings/LoggingSwitch.cs new file mode 100644 index 0000000..25bc220 --- /dev/null +++ b/Windows/MassiveKnob/Settings/LoggingSwitch.cs @@ -0,0 +1,25 @@ +using Serilog.Core; +using Serilog.Events; + +namespace MassiveKnob.Settings +{ + public class LoggingSwitch : LoggingLevelSwitch, ILoggingSwitch + { + private bool enabled; + private LogEventLevel minimumLevel; + + + public bool IsIncluded(LogEvent logEvent) + { + return enabled && logEvent.Level >= minimumLevel; + } + + + // ReSharper disable ParameterHidesMember + public void SetLogging(bool enabled, LogEventLevel minimumLevel) + { + this.enabled = enabled; + this.minimumLevel = minimumLevel; + } + } +} diff --git a/Windows/MassiveKnob/Settings/MassiveKnobSettings.cs b/Windows/MassiveKnob/Settings/MassiveKnobSettings.cs new file mode 100644 index 0000000..b56c4f1 --- /dev/null +++ b/Windows/MassiveKnob/Settings/MassiveKnobSettings.cs @@ -0,0 +1,154 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Newtonsoft.Json.Linq; +using Serilog.Events; + +namespace MassiveKnob.Settings +{ + public enum SettingsMenuItem + { + None, + Device, + AnalogInputs, + DigitalInputs, + AnalogOutputs, + DigitalOutputs, + Logging, + Startup + } + + + + public class MassiveKnobSettings + { + public DeviceSettings Device { get; set; } + public List AnalogInput { get; set; } + public List DigitalInput { get; set; } + public List AnalogOutput { get; set; } + public List DigitalOutput { get; set; } + + private UISettings ui; + public UISettings UI + { + get => ui ?? (ui = new UISettings()); + set => ui = value ?? new UISettings(); + } + + private LogSettings log; + public LogSettings Log + { + get => log ?? (log = new LogSettings()); + set => log = value ?? new LogSettings(); + } + + + public void Verify() + { + if (AnalogInput == null) AnalogInput = new List(); + if (DigitalInput == null) DigitalInput = new List(); + if (AnalogOutput == null) AnalogOutput = new List(); + if (DigitalOutput == null) DigitalOutput = new List(); + } + + + public MassiveKnobSettings Clone() + { + return new MassiveKnobSettings + { + Device = Device?.Clone(), + AnalogInput = AnalogInput.Select(a => a?.Clone()).ToList(), + DigitalInput = DigitalInput.Select(a => a?.Clone()).ToList(), + AnalogOutput = AnalogOutput.Select(a => a?.Clone()).ToList(), + DigitalOutput = DigitalOutput.Select(a => a?.Clone()).ToList(), + UI = UI.Clone(), + Log = Log.Clone() + }; + } + + + public class DeviceSettings + { + public Guid? DeviceId { get; set; } + public JObject Settings { get; set; } + + public DeviceSettings Clone() + { + return new DeviceSettings + { + DeviceId = DeviceId, + + // This is safe, as the JObject itself is never manipulated, only replaced + Settings = Settings + }; + } + } + + + public class ActionSettings + { + public Guid ActionId { get; set; } + public JObject Settings { get; set; } + public DigitalToAnalogSettings DigitalToAnalog { get; set; } + + public ActionSettings Clone() + { + return new ActionSettings + { + ActionId = ActionId, + + // This is safe, as the JObject itself is never manipulated, only replaced + Settings = Settings, + + DigitalToAnalog = DigitalToAnalog?.Clone() + }; + } + } + + + public class DigitalToAnalogSettings + { + public byte OffValue { get; set; } + public byte OnValue { get; set; } = 100; + + public DigitalToAnalogSettings Clone() + { + return new DigitalToAnalogSettings + { + OffValue = OffValue, + OnValue = OnValue + }; + } + } + + + public class UISettings + { + public SettingsMenuItem ActiveMenuItem { get; set; } = SettingsMenuItem.None; + + public UISettings Clone() + { + return new UISettings + { + ActiveMenuItem = ActiveMenuItem + }; + } + } + + + public class LogSettings + { + public bool Enabled { get; set; } = true; + public LogEventLevel Level { get; set; } = LogEventLevel.Information; + + public LogSettings Clone() + { + return new LogSettings + { + Enabled = Enabled, + Level = Level + }; + } + } + } +} diff --git a/Windows/MassiveKnob/Settings/MassiveKnobSettingsJsonSerializer.cs b/Windows/MassiveKnob/Settings/MassiveKnobSettingsJsonSerializer.cs new file mode 100644 index 0000000..88ec34c --- /dev/null +++ b/Windows/MassiveKnob/Settings/MassiveKnobSettingsJsonSerializer.cs @@ -0,0 +1,80 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + +namespace MassiveKnob.Settings +{ + public static class MassiveKnobSettingsJsonSerializer + { + private static readonly JsonSerializerSettings DefaultSettings = new JsonSerializerSettings + { + Formatting = Formatting.Indented, + Converters = new List + { + new StringEnumConverter() + } + }; + + + public static string GetDefaultFilename() + { + var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"MassiveKnob"); + Directory.CreateDirectory(path); + + return Path.Combine(path, "Settings.json"); + } + + + public static Task Serialize(MassiveKnobSettings settings) + { + return Serialize(settings, GetDefaultFilename()); + } + + public static async Task Serialize(MassiveKnobSettings settings, string filename) + { + var json = JsonConvert.SerializeObject(settings, DefaultSettings); + + using (var stream = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.Read, 4096, true)) + using (var streamWriter = new StreamWriter(stream, Encoding.UTF8)) + { + await streamWriter.WriteAsync(json); + await streamWriter.FlushAsync(); + } + } + + + public static MassiveKnobSettings Deserialize() + { + return Deserialize(GetDefaultFilename()); + } + + public static MassiveKnobSettings Deserialize(string filename) + { + MassiveKnobSettings settings = null; + + if (File.Exists(filename)) + { + string json; + + using (var stream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, 4096, true)) + using (var streamReader = new StreamReader(stream, Encoding.UTF8)) + { + json = streamReader.ReadToEnd(); + } + + if (!string.IsNullOrEmpty(json)) + settings = JsonConvert.DeserializeObject(json, DefaultSettings); + } + + if (settings == null) + settings = new MassiveKnobSettings(); + + settings.Verify(); + return settings; + } + } +} diff --git a/Windows/MassiveKnob/Strings.Designer.cs b/Windows/MassiveKnob/Strings.Designer.cs new file mode 100644 index 0000000..b34191f --- /dev/null +++ b/Windows/MassiveKnob/Strings.Designer.cs @@ -0,0 +1,342 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace MassiveKnob { + using System; + + + ///

+ /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Strings() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MassiveKnob.Strings", typeof(Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Not configured. + /// + public static string ActionNotConfigured { + get { + return ResourceManager.GetString("ActionNotConfigured", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Connected. + /// + public static string DeviceStatusConnected { + get { + return ResourceManager.GetString("DeviceStatusConnected", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Connecting.... + /// + public static string DeviceStatusConnecting { + get { + return ResourceManager.GetString("DeviceStatusConnecting", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disconnected. + /// + public static string DeviceStatusDisconnected { + get { + return ResourceManager.GetString("DeviceStatusDisconnected", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You are assigning a digital action to an analog output. Please specify how you want to represent the on and off values.. + /// + public static string DigitalToAnalogDescription { + get { + return ResourceManager.GetString("DigitalToAnalogDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Off. + /// + public static string DigitalToAnalogOff { + get { + return ResourceManager.GetString("DigitalToAnalogOff", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to On. + /// + public static string DigitalToAnalogOn { + get { + return ResourceManager.GetString("DigitalToAnalogOn", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Input #{0}. + /// + public static string InputHeader { + get { + return ResourceManager.GetString("InputHeader", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enabled. + /// + public static string LoggingEnabled { + get { + return ResourceManager.GetString("LoggingEnabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Logging level. + /// + public static string LoggingLevel { + get { + return ResourceManager.GetString("LoggingLevel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error. + /// + public static string LoggingLevelError { + get { + return ResourceManager.GetString("LoggingLevelError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Only serious errors are logged.. + /// + public static string LoggingLevelErrorDescription { + get { + return ResourceManager.GetString("LoggingLevelErrorDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Information. + /// + public static string LoggingLevelInformation { + get { + return ResourceManager.GetString("LoggingLevelInformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Information, warnings and errors are logged. This is the recommended level.. + /// + public static string LoggingLevelInformationDescription { + get { + return ResourceManager.GetString("LoggingLevelInformationDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Verbose. + /// + public static string LoggingLevelVerbose { + get { + return ResourceManager.GetString("LoggingLevelVerbose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to I like big logs and I can not lie!. + /// + public static string LoggingLevelVerboseDescription { + get { + return ResourceManager.GetString("LoggingLevelVerboseDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Warning. + /// + public static string LoggingLevelWarning { + get { + return ResourceManager.GetString("LoggingLevelWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Warnings and errors are logged. This includes issues with loading plugins.. + /// + public static string LoggingLevelWarningDescription { + get { + return ResourceManager.GetString("LoggingLevelWarningDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Logs are saved to {0}. + /// + public static string LoggingOutputPath { + get { + return ResourceManager.GetString("LoggingOutputPath", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Device. + /// + public static string MenuGroupDevice { + get { + return ResourceManager.GetString("MenuGroupDevice", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Settings. + /// + public static string MenuGroupSettings { + get { + return ResourceManager.GetString("MenuGroupSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Analog inputs. + /// + public static string MenuItemAnalogInputs { + get { + return ResourceManager.GetString("MenuItemAnalogInputs", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Analog outputs. + /// + public static string MenuItemAnalogOutputs { + get { + return ResourceManager.GetString("MenuItemAnalogOutputs", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Device. + /// + public static string MenuItemDevice { + get { + return ResourceManager.GetString("MenuItemDevice", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Digital inputs. + /// + public static string MenuItemDigitalInputs { + get { + return ResourceManager.GetString("MenuItemDigitalInputs", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Digital outputs. + /// + public static string MenuItemDigitalOutputs { + get { + return ResourceManager.GetString("MenuItemDigitalOutputs", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Logging. + /// + public static string MenuItemLogging { + get { + return ResourceManager.GetString("MenuItemLogging", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Startup. + /// + public static string MenuItemStartup { + get { + return ResourceManager.GetString("MenuItemStartup", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Output #{0}. + /// + public static string OutputHeader { + get { + return ResourceManager.GetString("OutputHeader", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Run MassiveKnob at startup. + /// + public static string RunAtStartup { + get { + return ResourceManager.GetString("RunAtStartup", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Massive Knob - Settings. + /// + public static string SettingsWindowTitle { + get { + return ResourceManager.GetString("SettingsWindowTitle", resourceCulture); + } + } + } +} diff --git a/Windows/MassiveKnob/Strings.resx b/Windows/MassiveKnob/Strings.resx new file mode 100644 index 0000000..58fdfc1 --- /dev/null +++ b/Windows/MassiveKnob/Strings.resx @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Not configured + + + Connected + + + Connecting... + + + Disconnected + + + You are assigning a digital action to an analog output. Please specify how you want to represent the on and off values. + + + Off + + + On + + + Input #{0} + + + Enabled + + + Logging level + + + Error + + + Only serious errors are logged. + + + Information + + + Information, warnings and errors are logged. This is the recommended level. + + + Verbose + + + I like big logs and I can not lie! + + + Warning + + + Warnings and errors are logged. This includes issues with loading plugins. + + + Logs are saved to {0} + + + Device + + + Settings + + + Analog inputs + + + Analog outputs + + + Device + + + Digital inputs + + + Digital outputs + + + Logging + + + Startup + + + Output #{0} + + + Run MassiveKnob at startup + + + Massive Knob - Settings + + \ No newline at end of file diff --git a/Windows/MassiveKnob/Style.xaml b/Windows/MassiveKnob/Style.xaml new file mode 100644 index 0000000..37a8685 --- /dev/null +++ b/Windows/MassiveKnob/Style.xaml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob/UserControls/KnobDeviceControl.Designer.cs b/Windows/MassiveKnob/UserControls/KnobDeviceControl.Designer.cs new file mode 100644 index 0000000..f04ed05 --- /dev/null +++ b/Windows/MassiveKnob/UserControls/KnobDeviceControl.Designer.cs @@ -0,0 +1,90 @@ + +namespace MassiveKnob.UserControls +{ + partial class KnobDeviceControl + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.DeviceCombobox = new System.Windows.Forms.ComboBox(); + this.KnobIndexLabel = new System.Windows.Forms.Label(); + this.DeviceLabel = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // DeviceCombobox + // + this.DeviceCombobox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.DeviceCombobox.DropDownHeight = 300; + this.DeviceCombobox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.DeviceCombobox.FormattingEnabled = true; + this.DeviceCombobox.IntegralHeight = false; + this.DeviceCombobox.ItemHeight = 13; + this.DeviceCombobox.Location = new System.Drawing.Point(59, 24); + this.DeviceCombobox.Name = "DeviceCombobox"; + this.DeviceCombobox.Size = new System.Drawing.Size(286, 21); + this.DeviceCombobox.TabIndex = 0; + this.DeviceCombobox.SelectedIndexChanged += new System.EventHandler(this.DeviceCombobox_SelectedIndexChanged); + // + // KnobIndexLabel + // + this.KnobIndexLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.KnobIndexLabel.Location = new System.Drawing.Point(3, 8); + this.KnobIndexLabel.Name = "KnobIndexLabel"; + this.KnobIndexLabel.Size = new System.Drawing.Size(342, 13); + this.KnobIndexLabel.TabIndex = 1; + this.KnobIndexLabel.Text = "Knob X"; + // + // DeviceLabel + // + this.DeviceLabel.AutoSize = true; + this.DeviceLabel.Location = new System.Drawing.Point(3, 27); + this.DeviceLabel.Name = "DeviceLabel"; + this.DeviceLabel.Size = new System.Drawing.Size(41, 13); + this.DeviceLabel.TabIndex = 2; + this.DeviceLabel.Text = "Device"; + // + // KnobDeviceControl + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.DeviceLabel); + this.Controls.Add(this.KnobIndexLabel); + this.Controls.Add(this.DeviceCombobox); + this.Name = "KnobDeviceControl"; + this.Size = new System.Drawing.Size(351, 56); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ComboBox DeviceCombobox; + private System.Windows.Forms.Label KnobIndexLabel; + private System.Windows.Forms.Label DeviceLabel; + } +} diff --git a/Windows/MassiveKnob/UserControls/KnobDeviceControl.cs b/Windows/MassiveKnob/UserControls/KnobDeviceControl.cs new file mode 100644 index 0000000..569b714 --- /dev/null +++ b/Windows/MassiveKnob/UserControls/KnobDeviceControl.cs @@ -0,0 +1,128 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; +using MassiveKnob.Hardware; + +namespace MassiveKnob.UserControls +{ + public partial class KnobDeviceControl : UserControl + { + private int knobIndex; + private Guid? deviceId; + + public event KnobDeviceChangedEventHandler OnDeviceChanged; + + + public KnobDeviceControl() + { + InitializeComponent(); + + DeviceCombobox.DisplayMember = @"DisplayName"; + } + + + public void SetKnobIndex(int index) + { + knobIndex = index; + KnobIndexLabel.Text = string.Format(Strings.KnobIndex, index + 1); + } + + + public void SetDeviceId(Guid? value) + { + deviceId = value; + + if (DeviceCombobox.Items.Count > 0) + DeviceCombobox.SelectedItem = value.HasValue ? new DeviceItem(value.Value) : null; + } + + + public void SetDevices(IEnumerable devices) + { + DeviceCombobox.BeginUpdate(); + try + { + DeviceCombobox.Items.Clear(); + + if (devices == null) + return; + + var sortedDevices = devices.OrderBy(d => d.DisplayName); + + foreach (var device in sortedDevices) + { + var itemIndex = DeviceCombobox.Items.Add( + new DeviceItem(device.Id) + { + DisplayName = device.DisplayName + }); + + if (deviceId.HasValue && deviceId.Value == device.Id) + DeviceCombobox.SelectedIndex = itemIndex; + } + } + finally + { + DeviceCombobox.EndUpdate(); + } + } + + + private void DeviceCombobox_SelectedIndexChanged(object sender, EventArgs e) + { + OnDeviceChanged?.Invoke(this, new KnobDeviceChangedEventArgs + { + KnobIndex = knobIndex, + DeviceId = ((DeviceItem)DeviceCombobox.SelectedItem)?.DeviceId + }); + } + + + private class DeviceItem : IEquatable + { + // ReSharper disable UnusedAutoPropertyAccessor.Local - used by ComboBox + public Guid DeviceId { get; } + public string DisplayName { get; set; } + // ReSharper restore UnusedAutoPropertyAccessor.Local + + + public DeviceItem(Guid deviceId) + { + DeviceId = deviceId; + } + + + public bool Equals(DeviceItem other) + { + if (other == null) return false; + + return ReferenceEquals(this, other) || DeviceId.Equals(other.DeviceId); + } + + + public override bool Equals(object obj) + { + if (obj == null) return false; + if (ReferenceEquals(this, obj)) return true; + + return obj is DeviceItem deviceItem && Equals(deviceItem); + } + + + public override int GetHashCode() + { + return DeviceId.GetHashCode(); + } + } + } + + + public class KnobDeviceChangedEventArgs : EventArgs + { + public int KnobIndex { get; set; } + public Guid? DeviceId { get; set; } + } + + public delegate void KnobDeviceChangedEventHandler(object sender, KnobDeviceChangedEventArgs e); +} diff --git a/Windows/MassiveKnob/View/InputOutputView.xaml b/Windows/MassiveKnob/View/InputOutputView.xaml new file mode 100644 index 0000000..99fc97f --- /dev/null +++ b/Windows/MassiveKnob/View/InputOutputView.xaml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob/View/InputOutputView.xaml.cs b/Windows/MassiveKnob/View/InputOutputView.xaml.cs new file mode 100644 index 0000000..5d4d6a5 --- /dev/null +++ b/Windows/MassiveKnob/View/InputOutputView.xaml.cs @@ -0,0 +1,13 @@ +namespace MassiveKnob.View +{ + /// + /// Interaction logic for InputOutputView.xaml + /// + public partial class InputOutputView + { + public InputOutputView() + { + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob/View/Settings/AnalogInputsView.xaml b/Windows/MassiveKnob/View/Settings/AnalogInputsView.xaml new file mode 100644 index 0000000..c2a890e --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/AnalogInputsView.xaml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob/View/Settings/AnalogInputsView.xaml.cs b/Windows/MassiveKnob/View/Settings/AnalogInputsView.xaml.cs new file mode 100644 index 0000000..4b0a7e4 --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/AnalogInputsView.xaml.cs @@ -0,0 +1,13 @@ +namespace MassiveKnob.View.Settings +{ + /// + /// Interaction logic for AnalogInputsView.xaml + /// + public partial class AnalogInputsView + { + public AnalogInputsView() + { + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob/View/Settings/AnalogOutputsView.xaml b/Windows/MassiveKnob/View/Settings/AnalogOutputsView.xaml new file mode 100644 index 0000000..19e8585 --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/AnalogOutputsView.xaml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob/View/Settings/AnalogOutputsView.xaml.cs b/Windows/MassiveKnob/View/Settings/AnalogOutputsView.xaml.cs new file mode 100644 index 0000000..b0b0d57 --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/AnalogOutputsView.xaml.cs @@ -0,0 +1,13 @@ +namespace MassiveKnob.View.Settings +{ + /// + /// Interaction logic for AnalogOutputsView.xaml + /// + public partial class AnalogOutputsView + { + public AnalogOutputsView() + { + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob/View/Settings/DeviceView.xaml b/Windows/MassiveKnob/View/Settings/DeviceView.xaml new file mode 100644 index 0000000..334a619 --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/DeviceView.xaml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob/View/Settings/DeviceView.xaml.cs b/Windows/MassiveKnob/View/Settings/DeviceView.xaml.cs new file mode 100644 index 0000000..5cfec2b --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/DeviceView.xaml.cs @@ -0,0 +1,13 @@ +namespace MassiveKnob.View.Settings +{ + /// + /// Interaction logic for DeviceView.xaml + /// + public partial class DeviceView + { + public DeviceView() + { + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob/View/Settings/DigitalInputsView.xaml b/Windows/MassiveKnob/View/Settings/DigitalInputsView.xaml new file mode 100644 index 0000000..652fc93 --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/DigitalInputsView.xaml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob/View/Settings/DigitalInputsView.xaml.cs b/Windows/MassiveKnob/View/Settings/DigitalInputsView.xaml.cs new file mode 100644 index 0000000..189a997 --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/DigitalInputsView.xaml.cs @@ -0,0 +1,13 @@ +namespace MassiveKnob.View.Settings +{ + /// + /// Interaction logic for DigitalInputsView.xaml + /// + public partial class DigitalInputsView + { + public DigitalInputsView() + { + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob/View/Settings/DigitalOutputsView.xaml b/Windows/MassiveKnob/View/Settings/DigitalOutputsView.xaml new file mode 100644 index 0000000..87d67d9 --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/DigitalOutputsView.xaml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Windows/MassiveKnob/View/Settings/DigitalOutputsView.xaml.cs b/Windows/MassiveKnob/View/Settings/DigitalOutputsView.xaml.cs new file mode 100644 index 0000000..61f2a1c --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/DigitalOutputsView.xaml.cs @@ -0,0 +1,13 @@ +namespace MassiveKnob.View.Settings +{ + /// + /// Interaction logic for DigitalOutputsView.xaml + /// + public partial class DigitalOutputsView + { + public DigitalOutputsView() + { + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob/View/Settings/LoggingView.xaml b/Windows/MassiveKnob/View/Settings/LoggingView.xaml new file mode 100644 index 0000000..5a53d07 --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/LoggingView.xaml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob/View/Settings/LoggingView.xaml.cs b/Windows/MassiveKnob/View/Settings/LoggingView.xaml.cs new file mode 100644 index 0000000..7fe2838 --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/LoggingView.xaml.cs @@ -0,0 +1,13 @@ +namespace MassiveKnob.View.Settings +{ + /// + /// Interaction logic for LoggingView.xaml + /// + public partial class LoggingView + { + public LoggingView() + { + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob/View/Settings/StartupView.xaml b/Windows/MassiveKnob/View/Settings/StartupView.xaml new file mode 100644 index 0000000..f9ce4c2 --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/StartupView.xaml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob/View/Settings/StartupView.xaml.cs b/Windows/MassiveKnob/View/Settings/StartupView.xaml.cs new file mode 100644 index 0000000..b8ee75e --- /dev/null +++ b/Windows/MassiveKnob/View/Settings/StartupView.xaml.cs @@ -0,0 +1,13 @@ +namespace MassiveKnob.View.Settings +{ + /// + /// Interaction logic for StartupView.xaml + /// + public partial class StartupView + { + public StartupView() + { + InitializeComponent(); + } + } +} diff --git a/Windows/MassiveKnob/View/SettingsWindow.xaml b/Windows/MassiveKnob/View/SettingsWindow.xaml new file mode 100644 index 0000000..ddc16e1 --- /dev/null +++ b/Windows/MassiveKnob/View/SettingsWindow.xaml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Windows/MassiveKnob/View/SettingsWindow.xaml.cs b/Windows/MassiveKnob/View/SettingsWindow.xaml.cs new file mode 100644 index 0000000..66257fd --- /dev/null +++ b/Windows/MassiveKnob/View/SettingsWindow.xaml.cs @@ -0,0 +1,22 @@ +using MassiveKnob.ViewModel; + +namespace MassiveKnob.View +{ + /// + /// Interaction logic for SettingsWindow.xaml + /// + public partial class SettingsWindow + { + // ReSharper disable once SuggestBaseTypeForParameter - for clarity + public SettingsWindow(SettingsViewModel settingsViewModel) + { + DataContext = settingsViewModel; + InitializeComponent(); + + Closed += (sender, args) => + { + settingsViewModel.Dispose(); + }; + } + } +} diff --git a/Windows/MassiveKnob/ViewModel/ActionViewModel.cs b/Windows/MassiveKnob/ViewModel/ActionViewModel.cs new file mode 100644 index 0000000..e443ecb --- /dev/null +++ b/Windows/MassiveKnob/ViewModel/ActionViewModel.cs @@ -0,0 +1,29 @@ +using System.Windows; +using MassiveKnob.Plugin; + +namespace MassiveKnob.ViewModel +{ + public class ActionViewModel + { + // ReSharper disable UnusedMember.Global - used by WPF Binding + public string Name => RepresentsNull ? Strings.ActionNotConfigured : Action.Name; + public string Description => RepresentsNull ? null : Action.Description; + + public Visibility DescriptionVisibility => string.IsNullOrEmpty(Description) ? Visibility.Collapsed : Visibility.Visible; + // ReSharper restore UnusedMember.Global + + public IMassiveKnobActionPlugin Plugin { get; } + public IMassiveKnobAction Action { get; } + + public bool RepresentsNull => Action == null; + + + + public ActionViewModel(IMassiveKnobActionPlugin plugin, IMassiveKnobAction action) + { + Plugin = plugin; + Action = action; + } + } + +} diff --git a/Windows/MassiveKnob/ViewModel/DeviceViewModel.cs b/Windows/MassiveKnob/ViewModel/DeviceViewModel.cs new file mode 100644 index 0000000..d6769ea --- /dev/null +++ b/Windows/MassiveKnob/ViewModel/DeviceViewModel.cs @@ -0,0 +1,25 @@ +using System.Windows; +using MassiveKnob.Plugin; + +namespace MassiveKnob.ViewModel +{ + public class DeviceViewModel + { + // ReSharper disable UnusedMember.Global - used by WPF Binding + public string Name => Device.Name; + public string Description => Device.Description; + + public Visibility DescriptionVisibility => string.IsNullOrEmpty(Description) ? Visibility.Collapsed : Visibility.Visible; + // ReSharper restore UnusedMember.Global + + public IMassiveKnobDevicePlugin Plugin { get; } + public IMassiveKnobDevice Device { get; } + + + public DeviceViewModel(IMassiveKnobDevicePlugin plugin, IMassiveKnobDevice device) + { + Plugin = plugin; + Device = device; + } + } +} diff --git a/Windows/MassiveKnob/ViewModel/InputOutputViewModel.cs b/Windows/MassiveKnob/ViewModel/InputOutputViewModel.cs new file mode 100644 index 0000000..77c3d11 --- /dev/null +++ b/Windows/MassiveKnob/ViewModel/InputOutputViewModel.cs @@ -0,0 +1,219 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Reactive.Linq; +using System.Reactive.Subjects; +using System.Runtime.CompilerServices; +using System.Windows; +using System.Windows.Controls; +using MassiveKnob.Core; +using MassiveKnob.Plugin; + +namespace MassiveKnob.ViewModel +{ + public class InputOutputViewModel : IDisposable, INotifyPropertyChanged + { + private readonly IMassiveKnobOrchestrator orchestrator; + private readonly MassiveKnobActionType actionType; + private readonly int index; + + private ActionViewModel selectedAction; + private UserControl actionSettingsControl; + + + // ReSharper disable UnusedMember.Global - used by WPF Binding + public string DisplayName => string.Format( + actionType == MassiveKnobActionType.OutputAnalog || actionType == MassiveKnobActionType.OutputDigital + ? Strings.OutputHeader + : Strings.InputHeader, + index + 1); + + public IList Actions { get; } + + + public ActionViewModel SelectedAction + { + get => selectedAction; + set + { + if (value == selectedAction) + return; + + selectedAction = value == null || value.RepresentsNull ? Actions.Single(a => a.RepresentsNull) : value; + var actionInfo = orchestrator.SetAction(actionType, index, selectedAction?.Action); + + OnPropertyChanged(); + OnDependantPropertyChanged(nameof(DigitalToAnalogVisibility)); + + ActionSettingsControl = actionInfo?.Instance.CreateSettingsControl(); + } + } + + public UserControl ActionSettingsControl + { + get => actionSettingsControl; + set + { + if (value == actionSettingsControl) + return; + + if (actionSettingsControl is IDisposable disposable) + disposable.Dispose(); + + actionSettingsControl = value; + OnPropertyChanged(); + } + } + + public Visibility DigitalToAnalogVisibility + { + get + { + // Design-time support + if (orchestrator == null) + return Visibility.Visible; + + if (actionType != MassiveKnobActionType.OutputAnalog) + return Visibility.Collapsed; + + if (SelectedAction == null || SelectedAction.RepresentsNull) + return Visibility.Collapsed; + + return SelectedAction.Action.ActionType == MassiveKnobActionType.OutputDigital + ? Visibility.Visible + : Visibility.Collapsed; + } + } + + + private readonly Subject throttledDigitalToAnalogChanged = new Subject(); + private readonly IDisposable digitalToAnalogChangedSubscription; + + private byte digitalToAnalogOn; + + public byte DigitalToAnalogOn + { + get => digitalToAnalogOn; + set + { + if (actionType != MassiveKnobActionType.OutputAnalog || value == digitalToAnalogOn) + return; + + digitalToAnalogOn = value; + OnPropertyChanged(); + throttledDigitalToAnalogChanged.OnNext(true); + } + } + + + private byte digitalToAnalogOff; + + public byte DigitalToAnalogOff + { + get => digitalToAnalogOff; + set + { + if (actionType != MassiveKnobActionType.OutputAnalog || value == digitalToAnalogOff) + return; + + digitalToAnalogOff = value; + OnPropertyChanged(); + throttledDigitalToAnalogChanged.OnNext(true); + } + } + // ReSharper restore UnusedMember.Global + + + public InputOutputViewModel(SettingsViewModel settingsViewModel, IMassiveKnobOrchestrator orchestrator, + MassiveKnobActionType actionType, int index) + { + this.orchestrator = orchestrator; + this.actionType = actionType; + this.index = index; + + + // For design-time support + if (orchestrator == null) + { + DigitalToAnalogOn = 100; + return; + } + + + bool AllowAction(ActionViewModel actionViewModel) + { + if (actionViewModel.RepresentsNull) + return true; + + if (actionViewModel.Action.ActionType == actionType) + return true; + + // Allow digital actions to be assigned to analog outputs, extra conversion settings will be shown + return actionType == MassiveKnobActionType.OutputAnalog && + actionViewModel.Action.ActionType == MassiveKnobActionType.OutputDigital; + } + + + Actions = settingsViewModel.Actions.Where(AllowAction).ToList(); + + var actionInfo = orchestrator.GetAction(actionType, index); + + selectedAction = actionInfo != null + ? Actions.SingleOrDefault(a => !a.RepresentsNull && a.Action.ActionId == actionInfo.Info.ActionId) + : Actions.Single(a => a.RepresentsNull); + + actionSettingsControl = actionInfo?.Instance.CreateSettingsControl(); + + + if (actionType != MassiveKnobActionType.OutputAnalog) + return; + + var digitalToAnalogSettings = orchestrator.GetDigitalToAnalogSettings(index); + digitalToAnalogOn = digitalToAnalogSettings.OnValue; + digitalToAnalogOff = digitalToAnalogSettings.OffValue; + + digitalToAnalogChangedSubscription = throttledDigitalToAnalogChanged + .Throttle(TimeSpan.FromMilliseconds(250)) + .Subscribe(b => + { + orchestrator.UpdateDigitalToAnalogSettings(index, settings => + { + settings.OnValue = digitalToAnalogOn; + settings.OffValue = digitalToAnalogOff; + }); + }); + } + + + public void Dispose() + { + if (ActionSettingsControl is IDisposable disposable) + disposable.Dispose(); + + digitalToAnalogChangedSubscription?.Dispose(); + throttledDigitalToAnalogChanged.Dispose(); + } + + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + protected virtual void OnDependantPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + } + + + public class InputOutputViewModelDesignTime : InputOutputViewModel + { + public InputOutputViewModelDesignTime() : base(null, null, MassiveKnobActionType.OutputAnalog, 0) + { + } + } +} \ No newline at end of file diff --git a/Windows/MassiveKnob/ViewModel/LoggingLevelViewModel.cs b/Windows/MassiveKnob/ViewModel/LoggingLevelViewModel.cs new file mode 100644 index 0000000..f0f8959 --- /dev/null +++ b/Windows/MassiveKnob/ViewModel/LoggingLevelViewModel.cs @@ -0,0 +1,20 @@ +using Serilog.Events; + +namespace MassiveKnob.ViewModel +{ + public class LoggingLevelViewModel + { + public LogEventLevel Level { get; } + public string Name { get; } + public string Description { get; } + + + public LoggingLevelViewModel(LogEventLevel level, string name, string description) + { + Level = level; + Name = name; + Description = description; + } + } + +} diff --git a/Windows/MassiveKnob/ViewModel/MenuItemProperties.cs b/Windows/MassiveKnob/ViewModel/MenuItemProperties.cs new file mode 100644 index 0000000..e53e18b --- /dev/null +++ b/Windows/MassiveKnob/ViewModel/MenuItemProperties.cs @@ -0,0 +1,21 @@ +using System.Windows; +using System.Windows.Controls; + +namespace MassiveKnob.ViewModel +{ + public static class MenuItemProperties + { + public static string GetText(DependencyObject obj) { return (string) obj.GetValue(TextProperty); } + public static void SetText(DependencyObject obj, string value) { obj.SetValue(TextProperty, value); } + + public static readonly DependencyProperty TextProperty = + DependencyProperty.RegisterAttached("Text", typeof(string), typeof(MenuItemProperties), new FrameworkPropertyMetadata("Menu item")); + + + public static Viewbox GetIcon(DependencyObject obj) { return (Viewbox)obj.GetValue(IconProperty); } + public static void SetIcon(DependencyObject obj, Viewbox value) { obj.SetValue(IconProperty, value); } + + public static readonly DependencyProperty IconProperty = + DependencyProperty.RegisterAttached("Icon", typeof(Viewbox), typeof(MenuItemProperties), new FrameworkPropertyMetadata(null)); + } +} diff --git a/Windows/MassiveKnob/ViewModel/SettingsViewModel.cs b/Windows/MassiveKnob/ViewModel/SettingsViewModel.cs new file mode 100644 index 0000000..11e1928 --- /dev/null +++ b/Windows/MassiveKnob/ViewModel/SettingsViewModel.cs @@ -0,0 +1,486 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Media; +using MassiveKnob.Core; +using MassiveKnob.Plugin; +using MassiveKnob.Settings; +using MassiveKnob.View.Settings; +using Microsoft.Win32; +using Serilog.Events; + +namespace MassiveKnob.ViewModel +{ + // TODO (code quality) split ViewModel for individual views, create viewmodel using container + // TODO (nice to have) installed plugins list + public class SettingsViewModel : IDisposable, INotifyPropertyChanged + { + private readonly Dictionary menuItemControls = new Dictionary + { + { SettingsMenuItem.Device, typeof(DeviceView) }, + { SettingsMenuItem.AnalogInputs, typeof(AnalogInputsView) }, + { SettingsMenuItem.DigitalInputs, typeof(DigitalInputsView) }, + { SettingsMenuItem.AnalogOutputs, typeof(AnalogOutputsView) }, + { SettingsMenuItem.DigitalOutputs, typeof(DigitalOutputsView) }, + { SettingsMenuItem.Logging, typeof(LoggingView) }, + { SettingsMenuItem.Startup, typeof(StartupView) } + }; + + + + private readonly IMassiveKnobOrchestrator orchestrator; + private readonly ILoggingSwitch loggingSwitch; + private DeviceViewModel selectedDevice; + private UserControl selectedView; + private SettingsMenuItem selectedMenuItem; + private UserControl settingsControl; + + private DeviceSpecs? specs; + private IEnumerable analogInputs; + private IEnumerable digitalInputs; + private IEnumerable analogOutputs; + private IEnumerable digitalOutputs; + + private readonly IDisposable activeDeviceSubscription; + private readonly IDisposable deviceStatusSubscription; + + // ReSharper disable UnusedMember.Global - used by WPF Binding + public SettingsMenuItem SelectedMenuItem + { + get => selectedMenuItem; + set + { + if (value == selectedMenuItem) + return; + + selectedMenuItem = value; + OnPropertyChanged(); + + if (menuItemControls.TryGetValue(selectedMenuItem, out var viewType)) + SelectedView = (UserControl) Activator.CreateInstance(viewType); + + orchestrator?.UpdateSettings(settings => + { + settings.UI.ActiveMenuItem = selectedMenuItem; + }); + } + } + + public UserControl SelectedView + { + get => selectedView; + set + { + if (value == selectedView) + return; + + selectedView = value; + OnPropertyChanged(); + } + } + + + + public IList Devices { get; } + public IList Actions { get; } + + + public DeviceViewModel SelectedDevice + { + get => selectedDevice; + set + { + if (value == selectedDevice) + return; + + selectedDevice = value; + var deviceInfo = orchestrator?.SetActiveDevice(value?.Device); + + OnPropertyChanged(); + + SettingsControl = deviceInfo?.Instance.CreateSettingsControl(); + } + } + + public UserControl SettingsControl + { + get => settingsControl; + set + { + if (value == settingsControl) + return; + + if (settingsControl is IDisposable disposable) + disposable.Dispose(); + + settingsControl = value; + OnPropertyChanged(); + } + } + + public DeviceSpecs? Specs + { + get => specs; + set + { + specs = value; + OnPropertyChanged(); + OnDependantPropertyChanged("AnalogInputVisibility"); + OnDependantPropertyChanged("DigitalInputVisibility"); + OnDependantPropertyChanged("AnalogOutputVisibility"); + OnDependantPropertyChanged("DigitalOutputVisibility"); + + DisposeInputOutputViewModels(AnalogInputs); + DisposeInputOutputViewModels(DigitalInputs); + DisposeInputOutputViewModels(AnalogOutputs); + DisposeInputOutputViewModels(DigitalOutputs); + + AnalogInputs = Enumerable + .Range(0, specs?.AnalogInputCount ?? 0) + .Select(i => new InputOutputViewModel(this, orchestrator, MassiveKnobActionType.InputAnalog, i)) + .ToList(); + + DigitalInputs = Enumerable + .Range(0, specs?.DigitalInputCount ?? 0) + .Select(i => new InputOutputViewModel(this, orchestrator, MassiveKnobActionType.InputDigital, i)) + .ToList(); + + AnalogOutputs = Enumerable + .Range(0, specs?.AnalogOutputCount ?? 0) + .Select(i => new InputOutputViewModel(this, orchestrator, MassiveKnobActionType.OutputAnalog, i)) + .ToList(); + + DigitalOutputs = Enumerable + .Range(0, specs?.DigitalOutputCount ?? 0) + .Select(i => new InputOutputViewModel(this, orchestrator, MassiveKnobActionType.OutputDigital, i)) + .ToList(); + } + } + + + public Visibility AnalogInputVisibility => specs.HasValue && specs.Value.AnalogInputCount > 0 + ? Visibility.Visible + : Visibility.Collapsed; + + public IEnumerable AnalogInputs + { + get => analogInputs; + set + { + analogInputs = value; + OnPropertyChanged(); + } + } + + public Visibility DigitalInputVisibility => specs.HasValue && specs.Value.DigitalInputCount > 0 + ? Visibility.Visible + : Visibility.Collapsed; + + public IEnumerable DigitalInputs + { + get => digitalInputs; + set + { + digitalInputs = value; + OnPropertyChanged(); + } + } + + public Visibility AnalogOutputVisibility => specs.HasValue && specs.Value.AnalogOutputCount > 0 + ? Visibility.Visible + : Visibility.Collapsed; + + public IEnumerable AnalogOutputs + { + get => analogOutputs; + set + { + analogOutputs = value; + OnPropertyChanged(); + } + } + + public Visibility DigitalOutputVisibility => specs.HasValue && specs.Value.DigitalOutputCount > 0 + ? Visibility.Visible + : Visibility.Collapsed; + + public IEnumerable DigitalOutputs + { + get => digitalOutputs; + set + { + digitalOutputs = value; + OnPropertyChanged(); + } + } + + + public IList LoggingLevels { get; } + + private LoggingLevelViewModel selectedLoggingLevel; + + public LoggingLevelViewModel SelectedLoggingLevel + { + get => selectedLoggingLevel; + set + { + if (value == selectedLoggingLevel) + return; + + selectedLoggingLevel = value; + OnPropertyChanged(); + + ApplyLoggingSettings(); + } + } + + + private bool loggingEnabled; + + public bool LoggingEnabled + { + get => loggingEnabled; + set + { + if (value == loggingEnabled) + return; + + loggingEnabled = value; + OnPropertyChanged(); + + ApplyLoggingSettings(); + } + } + + + // TODO (code quality) do not hardcode path here + public string LoggingOutputPath { get; } = string.Format(Strings.LoggingOutputPath, + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"MassiveKnob", + @"Logs")); + + + private bool runAtStartup; + public bool RunAtStartup + { + get => runAtStartup; + set + { + if (value == runAtStartup) + return; + + runAtStartup = value; + OnPropertyChanged(); + + ApplyRunAtStartup(); + } + } + + + public string ConnectionStatusText + { + get + { + if (orchestrator == null) + return "Design-time"; + + switch (orchestrator.DeviceStatus) + { + case MassiveKnobDeviceStatus.Disconnected: + return Strings.DeviceStatusDisconnected; + + case MassiveKnobDeviceStatus.Connecting: + return Strings.DeviceStatusConnecting; + + case MassiveKnobDeviceStatus.Connected: + return Strings.DeviceStatusConnected; + + default: + return null; + } + } + } + + public Brush ConnectionStatusColor + { + get + { + if (orchestrator == null) + return Brushes.Fuchsia; + + switch (orchestrator.DeviceStatus) + { + case MassiveKnobDeviceStatus.Disconnected: + return Brushes.DarkRed; + + case MassiveKnobDeviceStatus.Connecting: + return Brushes.Orange; + + case MassiveKnobDeviceStatus.Connected: + return Brushes.ForestGreen; + + default: + return null; + } + } + } + // ReSharper restore UnusedMember.Global + + + public SettingsViewModel(IPluginManager pluginManager, IMassiveKnobOrchestrator orchestrator, ILoggingSwitch loggingSwitch) + { + this.orchestrator = orchestrator; + this.loggingSwitch = loggingSwitch; + + // For design-time support + if (orchestrator == null) + return; + + var activeMenuItem = orchestrator.GetSettings().UI.ActiveMenuItem; + if (activeMenuItem == SettingsMenuItem.None) + activeMenuItem = SettingsMenuItem.Device; + + SelectedMenuItem = activeMenuItem; + + activeDeviceSubscription = orchestrator.ActiveDeviceSubject.Subscribe(info => + { + Application.Current?.Dispatcher.Invoke(() => + { + Specs = info.Specs; + }); + }); + deviceStatusSubscription = orchestrator.DeviceStatusSubject.Subscribe(status => + { + OnDependantPropertyChanged(nameof(ConnectionStatusColor)); + OnDependantPropertyChanged(nameof(ConnectionStatusText)); + }); + + + Devices = pluginManager.GetDevicePlugins() + .SelectMany(dp => dp.Devices.Select(d => new DeviceViewModel(dp, d))) + .OrderBy(d => d.Name.ToLower()) + .ToList(); + + var allActions = new List + { + new ActionViewModel(null, null) + }; + + allActions.AddRange( + pluginManager.GetActionPlugins() + .SelectMany(ap => ap.Actions.Select(a => new ActionViewModel(ap, a))) + .OrderBy(a => a.Name.ToLower())); + + Actions = allActions; + + if (orchestrator.ActiveDevice != null) + { + selectedDevice = Devices.Single(d => d.Device.DeviceId == orchestrator.ActiveDevice.Info.DeviceId); + SettingsControl = orchestrator.ActiveDevice.Instance.CreateSettingsControl(); + Specs = orchestrator.ActiveDevice.Specs; + } + + + var logSettings = orchestrator.GetSettings().Log; + LoggingLevels = new List + { + new LoggingLevelViewModel(LogEventLevel.Error, Strings.LoggingLevelError, Strings.LoggingLevelErrorDescription), + new LoggingLevelViewModel(LogEventLevel.Warning, Strings.LoggingLevelWarning, Strings.LoggingLevelWarningDescription), + new LoggingLevelViewModel(LogEventLevel.Information, Strings.LoggingLevelInformation, Strings.LoggingLevelInformationDescription), + new LoggingLevelViewModel(LogEventLevel.Verbose, Strings.LoggingLevelVerbose, Strings.LoggingLevelVerboseDescription) + }; + + selectedLoggingLevel = LoggingLevels.SingleOrDefault(l => l.Level == logSettings.Level) + ?? LoggingLevels.Single(l => l.Level == LogEventLevel.Information); + loggingEnabled = logSettings.Enabled; + + + var runKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", false); + runAtStartup = runKey?.GetValue("MassiveKnob") != null; + } + + + public void Dispose() + { + if (SettingsControl is IDisposable disposable) + disposable.Dispose(); + + DisposeInputOutputViewModels(AnalogInputs); + DisposeInputOutputViewModels(DigitalInputs); + DisposeInputOutputViewModels(AnalogOutputs); + DisposeInputOutputViewModels(DigitalOutputs); + + activeDeviceSubscription?.Dispose(); + deviceStatusSubscription?.Dispose(); + } + + + private void ApplyLoggingSettings() + { + orchestrator?.UpdateSettings(settings => + { + settings.Log.Enabled = LoggingEnabled; + settings.Log.Level = SelectedLoggingLevel.Level; + }); + + loggingSwitch?.SetLogging(LoggingEnabled, selectedLoggingLevel.Level); + } + + + private void ApplyRunAtStartup() + { + var runKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); + Debug.Assert(runKey != null, nameof(runKey) + " != null"); + + if (RunAtStartup) + { + var entryAssembly = Assembly.GetEntryAssembly(); + Debug.Assert(entryAssembly != null, nameof(entryAssembly) + " != null"); + + runKey.SetValue("MassiveKnob", new Uri(entryAssembly.CodeBase).LocalPath); + } + else + { + runKey.DeleteValue("MassiveKnob", false); + } + } + + + private static void DisposeInputOutputViewModels(IEnumerable viewModels) + { + if (viewModels == null) + return; + + foreach (var viewModel in viewModels) + viewModel.Dispose(); + } + + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + protected virtual void OnDependantPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + } + + + public class SettingsViewModelDesignTime : SettingsViewModel + { + public SettingsViewModelDesignTime() : base(null, null, null) + { + Specs = new DeviceSpecs(2, 2, 2, 2); + } + } +} diff --git a/Windows/Setup/MassiveKnobSetup.iss b/Windows/Setup/MassiveKnobSetup.iss new file mode 100644 index 0000000..ded0de0 --- /dev/null +++ b/Windows/Setup/MassiveKnobSetup.iss @@ -0,0 +1,201 @@ +#define AppName "Massive Knob" +#define AppVersion GetEnv("BUILD_VERSION") +#define AppPublisher "Mark van Renswoude" +#define AppURL "https://github.com/MvRens/MassiveKnob" +#define AppExeName "MassiveKnob.exe" +#define BasePath ".." + +#if AppVersion == "" + #define AppVersion "IDE build" +#endif + + +[Setup] +AppId={{6D668D73-54E5-4FE1-8028-24FE993627B8} +AppName={#AppName} +AppVersion={#AppVersion} +AppPublisher={#AppPublisher} +AppPublisherURL={#AppURL} +AppSupportURL={#AppURL} +AppUpdatesURL={#AppURL} +DefaultDirName={pf}\{#AppName} +DisableProgramGroupPage=yes +OutputDir={#BasePath}\Release +OutputBaseFilename=MassiveKnobSetup-{#AppVersion} +Compression=lzma +SolidCompression=yes +ArchitecturesInstallIn64BitMode=x64 + +[Types] +Name: "full"; Description: "Full installation" +Name: "custom"; Description: "Custom installation"; Flags: iscustom + +[Components] +Name: main; Description: "Massive Knob application"; Types: full custom; Flags: fixed +Name: essentialplugins; Description: "Essential plugins"; Types: full custom +Name: essentialplugins\serialdevice; Description: "Serial device"; Types: full custom +Name: essentialplugins\coreaudio; Description: "Windows Core Audio actions"; Types: full custom +Name: optionalplugins; Description: "Optional plugins"; Types: full custom +Name: optionalplugins\emulatordevice; Description: "Emulator device"; Types: full custom +Name: optionalplugins\voicemeeter; Description: "VoiceMeeter actions"; Types: full custom + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked +Name: "runatstartup"; Description: "{cm:AutoStartProgram,{#AppName}}"; GroupDescription: "{cm:AutoStartProgramGroupDescription}"; Flags: unchecked + +[Files] +; Main application +Source: {#BasePath}\MassiveKnob\bin\Release\{#AppExeName}; DestDir: "{app}"; Flags: ignoreversion; Components: main +Source: {#BasePath}\MassiveKnob\bin\Release\{#AppExeName}.config; DestDir: "{app}"; Flags: ignoreversion; Components: main +Source: {#BasePath}\MassiveKnob\bin\Release\*.dll; DestDir: "{app}"; Flags: ignoreversion; Components: main + +; Serial device plugin +Source: {#BasePath}\MassiveKnob.Plugin.SerialDevice\bin\Release\MassiveKnobPlugin.json; DestDir: "{app}\Plugins\SerialDevice"; Flags: ignoreversion; Components: essentialplugins\serialdevice +Source: {#BasePath}\MassiveKnob.Plugin.SerialDevice\bin\Release\*.dll; DestDir: "{app}\Plugins\SerialDevice"; Flags: ignoreversion; Components: essentialplugins\serialdevice + +; Core Audio plugin +Source: {#BasePath}\MassiveKnob.Plugin.CoreAudio\bin\Release\MassiveKnobPlugin.json; DestDir: "{app}\Plugins\CoreAudio"; Flags: ignoreversion; Components: essentialplugins\coreaudio +Source: {#BasePath}\MassiveKnob.Plugin.CoreAudio\bin\Release\*.dll; DestDir: "{app}\Plugins\CoreAudio"; Flags: ignoreversion; Components: essentialplugins\coreaudio + +; Emulator device plugin +Source: {#BasePath}\MassiveKnob.Plugin.EmulatorDevice\bin\Release\MassiveKnobPlugin.json; DestDir: "{app}\Plugins\EmulatorDevice"; Flags: ignoreversion; Components: optionalplugins\emulatordevice +Source: {#BasePath}\MassiveKnob.Plugin.EmulatorDevice\bin\Release\*.dll; DestDir: "{app}\Plugins\EmulatorDevice"; Flags: ignoreversion; Components: optionalplugins\emulatordevice + +; VoiceMeeter plugin +Source: {#BasePath}\MassiveKnob.Plugin.VoiceMeeter\bin\Release\MassiveKnobPlugin.json; DestDir: "{app}\Plugins\VoiceMeeter"; Flags: ignoreversion; Components: optionalplugins\voicemeeter +Source: {#BasePath}\MassiveKnob.Plugin.VoiceMeeter\bin\Release\*.dll; DestDir: "{app}\Plugins\VoiceMeeter"; Flags: ignoreversion; Components: optionalplugins\voicemeeter + +[Dirs] +Name: "{localappdata}\MassiveKnob" +Name: "{localappdata}\MassiveKnob\Logs" +Name: "{localappdata}\MassiveKnob\Plugins" + +[Icons] +Name: "{commonprograms}\{#AppName}"; Filename: "{app}\{#AppExeName}" +Name: "{commondesktop}\{#AppName}"; Filename: "{app}\{#AppExeName}"; Tasks: desktopicon + +[Registry] +Root: HKCU; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "MassiveKnob"; ValueData: "{app}\{#AppExeName}.exe"; Tasks: runatstartup; + +[Run] +Filename: "{app}\{#AppExeName}"; Description: "{cm:LaunchProgram,{#AppName}}"; Flags: nowait postinstall skipifsilent + +[Code] +// .NET version detection credit goes to: +// https://www.kynosarges.org/DotNetVersion.html + +function IsDotNetDetected(version: string; service: cardinal): boolean; +// Indicates whether the specified version and service pack of the .NET Framework is installed. +// +// version -- Specify one of these strings for the required .NET Framework version: +// 'v1.1' .NET Framework 1.1 +// 'v2.0' .NET Framework 2.0 +// 'v3.0' .NET Framework 3.0 +// 'v3.5' .NET Framework 3.5 +// 'v4\Client' .NET Framework 4.0 Client Profile +// 'v4\Full' .NET Framework 4.0 Full Installation +// 'v4.5' .NET Framework 4.5 +// 'v4.5.1' .NET Framework 4.5.1 +// 'v4.5.2' .NET Framework 4.5.2 +// 'v4.6' .NET Framework 4.6 +// 'v4.6.1' .NET Framework 4.6.1 +// 'v4.6.2' .NET Framework 4.6.2 +// 'v4.7' .NET Framework 4.7 +// 'v4.7.1' .NET Framework 4.7.1 +// 'v4.7.2' .NET Framework 4.7.2 +// 'v4.8' .NET Framework 4.8 +// +// service -- Specify any non-negative integer for the required service pack level: +// 0 No service packs required +// 1, 2, etc. Service pack 1, 2, etc. required +var + key, versionKey: string; + install, release, serviceCount, versionRelease: cardinal; + success: boolean; +begin + versionKey := version; + versionRelease := 0; + + // .NET 1.1 and 2.0 embed release number in version key + if version = 'v1.1' then begin + versionKey := 'v1.1.4322'; + end else if version = 'v2.0' then begin + versionKey := 'v2.0.50727'; + end + + // .NET 4.5 and newer install as update to .NET 4.0 Full + else if Pos('v4.', version) = 1 then begin + versionKey := 'v4\Full'; + case version of + 'v4.5': versionRelease := 378389; + 'v4.5.1': versionRelease := 378675; // 378758 on Windows 8 and older + 'v4.5.2': versionRelease := 379893; + 'v4.6': versionRelease := 393295; // 393297 on Windows 8.1 and older + 'v4.6.1': versionRelease := 394254; // 394271 before Win10 November Update + 'v4.6.2': versionRelease := 394802; // 394806 before Win10 Anniversary Update + 'v4.7': versionRelease := 460798; // 460805 before Win10 Creators Update + 'v4.7.1': versionRelease := 461308; // 461310 before Win10 Fall Creators Update + 'v4.7.2': versionRelease := 461808; // 461814 before Win10 April 2018 Update + 'v4.8': versionRelease := 528040; // 528049 before Win10 May 2019 Update + end; + end; + + // installation key group for all .NET versions + key := 'SOFTWARE\Microsoft\NET Framework Setup\NDP\' + versionKey; + + // .NET 3.0 uses value InstallSuccess in subkey Setup + if Pos('v3.0', version) = 1 then begin + success := RegQueryDWordValue(HKLM, key + '\Setup', 'InstallSuccess', install); + end else begin + success := RegQueryDWordValue(HKLM, key, 'Install', install); + end; + + // .NET 4.0 and newer use value Servicing instead of SP + if Pos('v4', version) = 1 then begin + success := success and RegQueryDWordValue(HKLM, key, 'Servicing', serviceCount); + end else begin + success := success and RegQueryDWordValue(HKLM, key, 'SP', serviceCount); + end; + + // .NET 4.5 and newer use additional value Release + if versionRelease > 0 then begin + success := success and RegQueryDWordValue(HKLM, key, 'Release', release); + success := success and (release >= versionRelease); + end; + + result := success and (install = 1) and (serviceCount >= service); +end; + + +function InitializeSetup(): Boolean; +var + response: Integer; + errorCode: Integer; + +begin + if not IsDotNetDetected('v4.7.2', 0) then + begin + response := SuppressibleMsgBox('Massive Knob requires Microsoft .NET Framework 4.7.2, which does not appear to be installed.' + + 'Do you want to open the .NET download page?'#13#10#13#10 + + 'Click No to continue, although Massive Knob may not run properly afterwards, or Cancel to abort the setup.', + mbInformation, + MB_YESNOCANCEL, + IDNO); + + case response of + IDYES: + begin + ShellExecAsOriginalUser('open', 'https://dotnet.microsoft.com/download/dotnet-framework/net472', '', '', + SW_SHOWNORMAL, ewNoWait, errorCode); + Result := False; + end; + + IDNO: + Result := True; + + IDCANCEL: + Result := False; + end; + end else + Result := True; +end; \ No newline at end of file diff --git a/Windows/VoicemeeterRemote b/Windows/VoicemeeterRemote new file mode 160000 index 0000000..e0e17e5 --- /dev/null +++ b/Windows/VoicemeeterRemote @@ -0,0 +1 @@ +Subproject commit e0e17e56feca7987a567a324132f785f1548a33f diff --git a/Windows/min.NET b/Windows/min.NET new file mode 160000 index 0000000..35b664d --- /dev/null +++ b/Windows/min.NET @@ -0,0 +1 @@ +Subproject commit 35b664d1fe5a03cfc112683e07dbf307dfe3d164