From 6503adc5b9adfdddac6509aae1cb3bb378cd012f Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Mon, 18 Nov 2019 11:32:08 -0700 Subject: [PATCH 1/9] Correctly assign new config to lib's config --- libraries/PDM/src/PDM.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/PDM/src/PDM.cpp b/libraries/PDM/src/PDM.cpp index 451ea62..3047197 100644 --- a/libraries/PDM/src/PDM.cpp +++ b/libraries/PDM/src/PDM.cpp @@ -197,7 +197,9 @@ uint32_t AP3_PDM::getDecimationRate() //Send a given configuration struct to PDM bool AP3_PDM::updateConfig(am_hal_pdm_config_t newConfiguration) { - ap3_err_t retval = (ap3_err_t)am_hal_pdm_configure(_PDMhandle, &newConfiguration); + _PDMconfig = newConfiguration; + ap3_err_t retval = (ap3_err_t)am_hal_pdm_configure(_PDMhandle, &_PDMconfig); + if (retval != AP3_OK) { return false; From af25d9460c6c5bf976811cc020b4631a4dc1f73b Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Tue, 19 Nov 2019 16:47:16 -0700 Subject: [PATCH 2/9] Change the way we get data to match the new PDM.cpp changes. Change to 115200bps. --- .../Example1_MicrophoneOutput.ino | 82 +++++++++++-------- .../Example2_ConfigureMic.ino | 80 ++++++++++-------- .../Example3_FullConfigure.ino | 82 +++++++++++-------- 3 files changed, 143 insertions(+), 101 deletions(-) diff --git a/libraries/PDM/examples/Example1_MicrophoneOutput/Example1_MicrophoneOutput.ino b/libraries/PDM/examples/Example1_MicrophoneOutput/Example1_MicrophoneOutput.ino index 4a5c73a..b443496 100644 --- a/libraries/PDM/examples/Example1_MicrophoneOutput/Example1_MicrophoneOutput.ino +++ b/libraries/PDM/examples/Example1_MicrophoneOutput/Example1_MicrophoneOutput.ino @@ -21,7 +21,7 @@ uint32_t sampleFreq; #define PRINT_FFT_DATA 0 #include //Include PDM library included with the Aruino_Apollo3 core -AP3_PDM myPDM; //Create instance of PDM class +AP3_PDM myPDM; //Create instance of PDM class //Math library needed for FFT #define ARM_MATH_CM4 @@ -29,39 +29,31 @@ AP3_PDM myPDM; //Create instance of PDM class void setup() { - Serial.begin(9600); + Serial.begin(115200); Serial.println("SparkFun PDM Example"); - if (myPDM.begin() == false) // Turn on PDM with default settings + if (myPDM.begin() == false) // Turn on PDM with default settings, start interrupts { Serial.println("PDM Init failed. Are you sure these pins are PDM capable?"); - while (1); + while (1) + ; } Serial.println("PDM Initialized"); printPDMConfig(); - - myPDM.getData(pdmDataBuffer, pdmDataBufferSize); //This clears the current PDM FIFO and starts DMA } void loop() { - noInterrupts(); - if (myPDM.available()) { - printLoudest(); - - while (PRINT_PDM_DATA || PRINT_FFT_DATA); - - // Start converting the next set of PCM samples. myPDM.getData(pdmDataBuffer, pdmDataBufferSize); + + printLoudest(); } // Go to Deep Sleep until the PDM ISR or other ISR wakes us. am_hal_sysctrl_sleep(AM_HAL_SYSCTRL_SLEEP_DEEP); - - interrupts(); } //***************************************************************************** @@ -73,7 +65,7 @@ void printLoudest(void) { float fMaxValue; uint32_t ui32MaxIndex; - int16_t *pi16PDMData = (int16_t *) pdmDataBuffer; + int16_t *pi16PDMData = (int16_t *)pdmDataBuffer; uint32_t ui32LoudestFrequency; // @@ -146,27 +138,49 @@ void printPDMConfig(void) // switch (myPDM.getClockDivider()) { - case AM_HAL_PDM_MCLKDIV_4: MClkDiv = 4; break; - case AM_HAL_PDM_MCLKDIV_3: MClkDiv = 3; break; - case AM_HAL_PDM_MCLKDIV_2: MClkDiv = 2; break; - case AM_HAL_PDM_MCLKDIV_1: MClkDiv = 1; break; - - default: - MClkDiv = 0; + case AM_HAL_PDM_MCLKDIV_4: + MClkDiv = 4; + break; + case AM_HAL_PDM_MCLKDIV_3: + MClkDiv = 3; + break; + case AM_HAL_PDM_MCLKDIV_2: + MClkDiv = 2; + break; + case AM_HAL_PDM_MCLKDIV_1: + MClkDiv = 1; + break; + + default: + MClkDiv = 0; } switch (myPDM.getClockSpeed()) { - case AM_HAL_PDM_CLK_12MHZ: PDMClk = 12000000; break; - case AM_HAL_PDM_CLK_6MHZ: PDMClk = 6000000; break; - case AM_HAL_PDM_CLK_3MHZ: PDMClk = 3000000; break; - case AM_HAL_PDM_CLK_1_5MHZ: PDMClk = 1500000; break; - case AM_HAL_PDM_CLK_750KHZ: PDMClk = 750000; break; - case AM_HAL_PDM_CLK_375KHZ: PDMClk = 375000; break; - case AM_HAL_PDM_CLK_187KHZ: PDMClk = 187000; break; - - default: - PDMClk = 0; + case AM_HAL_PDM_CLK_12MHZ: + PDMClk = 12000000; + break; + case AM_HAL_PDM_CLK_6MHZ: + PDMClk = 6000000; + break; + case AM_HAL_PDM_CLK_3MHZ: + PDMClk = 3000000; + break; + case AM_HAL_PDM_CLK_1_5MHZ: + PDMClk = 1500000; + break; + case AM_HAL_PDM_CLK_750KHZ: + PDMClk = 750000; + break; + case AM_HAL_PDM_CLK_375KHZ: + PDMClk = 375000; + break; + case AM_HAL_PDM_CLK_187KHZ: + PDMClk = 187000; + break; + + default: + PDMClk = 0; } // @@ -175,7 +189,7 @@ void printPDMConfig(void) // sampleFreq = (PDMClk / (MClkDiv * 2 * myPDM.getDecimationRate())); - frequencyUnits = (float) sampleFreq / (float) pdmDataBufferSize; + frequencyUnits = (float)sampleFreq / (float)pdmDataBufferSize; Serial.printf("Settings:\n"); Serial.printf("PDM Clock (Hz): %12d\n", PDMClk); diff --git a/libraries/PDM/examples/Example2_ConfigureMic/Example2_ConfigureMic.ino b/libraries/PDM/examples/Example2_ConfigureMic/Example2_ConfigureMic.ino index a896db8..0cc671c 100644 --- a/libraries/PDM/examples/Example2_ConfigureMic/Example2_ConfigureMic.ino +++ b/libraries/PDM/examples/Example2_ConfigureMic/Example2_ConfigureMic.ino @@ -20,7 +20,7 @@ uint32_t sampleFreq; #define PRINT_FFT_DATA 0 #include //Include PDM library included with the Aruino_Apollo3 core -AP3_PDM myPDM; //Create instance of PDM class +AP3_PDM myPDM; //Create instance of PDM class //Math library needed for FFT #define ARM_MATH_CM4 @@ -28,7 +28,7 @@ AP3_PDM myPDM; //Create instance of PDM class void setup() { - Serial.begin(9600); + Serial.begin(115200); Serial.println("SparkFun PDM Example"); // The variant files for Artemis carrier boards have Mic data and clock pins defined @@ -37,7 +37,8 @@ void setup() if (myPDM.begin(22, 23) == false) //Data, clock on Artemis Nano - These are the pin names from variant file, not pad names { Serial.println("PDM Init failed. Are you sure these pins are PDM capable?"); - while (1); + while (1) + ; } Serial.println("PDM Initialized"); @@ -52,28 +53,19 @@ void setup() //The equivalent getGain(), getClockSpeed(), etc are available printPDMConfig(); - - myPDM.getData(pdmDataBuffer, pdmDataBufferSize); //This clears the current PDM FIFO and starts DMA } void loop() { - noInterrupts(); - if (myPDM.available()) { - printLoudest(); - - while (PRINT_PDM_DATA || PRINT_FFT_DATA); - - // Start converting the next set of PCM samples. myPDM.getData(pdmDataBuffer, pdmDataBufferSize); + + printLoudest(); } // Go to Deep Sleep until the PDM ISR or other ISR wakes us. am_hal_sysctrl_sleep(AM_HAL_SYSCTRL_SLEEP_DEEP); - - interrupts(); } //***************************************************************************** @@ -85,7 +77,7 @@ void printLoudest(void) { float fMaxValue; uint32_t ui32MaxIndex; - int16_t *pi16PDMData = (int16_t *) pdmDataBuffer; + int16_t *pi16PDMData = (int16_t *)pdmDataBuffer; uint32_t ui32LoudestFrequency; // @@ -158,27 +150,49 @@ void printPDMConfig(void) // switch (myPDM.getClockDivider()) { - case AM_HAL_PDM_MCLKDIV_4: MClkDiv = 4; break; - case AM_HAL_PDM_MCLKDIV_3: MClkDiv = 3; break; - case AM_HAL_PDM_MCLKDIV_2: MClkDiv = 2; break; - case AM_HAL_PDM_MCLKDIV_1: MClkDiv = 1; break; - - default: - MClkDiv = 0; + case AM_HAL_PDM_MCLKDIV_4: + MClkDiv = 4; + break; + case AM_HAL_PDM_MCLKDIV_3: + MClkDiv = 3; + break; + case AM_HAL_PDM_MCLKDIV_2: + MClkDiv = 2; + break; + case AM_HAL_PDM_MCLKDIV_1: + MClkDiv = 1; + break; + + default: + MClkDiv = 0; } switch (myPDM.getClockSpeed()) { - case AM_HAL_PDM_CLK_12MHZ: PDMClk = 12000000; break; - case AM_HAL_PDM_CLK_6MHZ: PDMClk = 6000000; break; - case AM_HAL_PDM_CLK_3MHZ: PDMClk = 3000000; break; - case AM_HAL_PDM_CLK_1_5MHZ: PDMClk = 1500000; break; - case AM_HAL_PDM_CLK_750KHZ: PDMClk = 750000; break; - case AM_HAL_PDM_CLK_375KHZ: PDMClk = 375000; break; - case AM_HAL_PDM_CLK_187KHZ: PDMClk = 187000; break; - - default: - PDMClk = 0; + case AM_HAL_PDM_CLK_12MHZ: + PDMClk = 12000000; + break; + case AM_HAL_PDM_CLK_6MHZ: + PDMClk = 6000000; + break; + case AM_HAL_PDM_CLK_3MHZ: + PDMClk = 3000000; + break; + case AM_HAL_PDM_CLK_1_5MHZ: + PDMClk = 1500000; + break; + case AM_HAL_PDM_CLK_750KHZ: + PDMClk = 750000; + break; + case AM_HAL_PDM_CLK_375KHZ: + PDMClk = 375000; + break; + case AM_HAL_PDM_CLK_187KHZ: + PDMClk = 187000; + break; + + default: + PDMClk = 0; } // @@ -187,7 +201,7 @@ void printPDMConfig(void) // sampleFreq = (PDMClk / (MClkDiv * 2 * myPDM.getDecimationRate())); - frequencyUnits = (float) sampleFreq / (float) pdmDataBufferSize; + frequencyUnits = (float)sampleFreq / (float)pdmDataBufferSize; Serial.printf("Settings:\n"); Serial.printf("PDM Clock (Hz): %12d\n", PDMClk); diff --git a/libraries/PDM/examples/Example3_FullConfigure/Example3_FullConfigure.ino b/libraries/PDM/examples/Example3_FullConfigure/Example3_FullConfigure.ino index 12fe99e..8fae4b1 100644 --- a/libraries/PDM/examples/Example3_FullConfigure/Example3_FullConfigure.ino +++ b/libraries/PDM/examples/Example3_FullConfigure/Example3_FullConfigure.ino @@ -22,7 +22,7 @@ uint32_t sampleFreq; #define PRINT_FFT_DATA 0 #include //Include PDM library included with the Aruino_Apollo3 core -AP3_PDM myPDM; //Create instance of PDM class +AP3_PDM myPDM; //Create instance of PDM class //Math library needed for FFT #define ARM_MATH_CM4 @@ -50,42 +50,34 @@ const am_hal_pdm_config_t newConfig = { void setup() { - Serial.begin(9600); + Serial.begin(115200); Serial.println("SparkFun PDM Example"); // Turn on the PDM with default settings if (myPDM.begin() == false) //Use Data, clock defines from variant file { Serial.println("PDM Init failed. Are you sure these pins are PDM capable?"); - while (1); + while (1) + ; } Serial.println("PDM Initialized"); myPDM.updateConfig(newConfig); //Send config struct - + printPDMConfig(); - - myPDM.getData(pdmDataBuffer, pdmDataBufferSize); //This clears the current PDM FIFO and starts DMA } void loop() { - noInterrupts(); - if (myPDM.available()) { - printLoudest(); - - while (PRINT_PDM_DATA || PRINT_FFT_DATA); - - // Start converting the next set of PCM samples. myPDM.getData(pdmDataBuffer, pdmDataBufferSize); + + printLoudest(); } // Go to Deep Sleep until the PDM ISR or other ISR wakes us. am_hal_sysctrl_sleep(AM_HAL_SYSCTRL_SLEEP_DEEP); - - interrupts(); } //***************************************************************************** @@ -97,7 +89,7 @@ void printLoudest(void) { float fMaxValue; uint32_t ui32MaxIndex; - int16_t *pi16PDMData = (int16_t *) pdmDataBuffer; + int16_t *pi16PDMData = (int16_t *)pdmDataBuffer; uint32_t ui32LoudestFrequency; // @@ -170,27 +162,49 @@ void printPDMConfig(void) // switch (myPDM.getClockDivider()) { - case AM_HAL_PDM_MCLKDIV_4: MClkDiv = 4; break; - case AM_HAL_PDM_MCLKDIV_3: MClkDiv = 3; break; - case AM_HAL_PDM_MCLKDIV_2: MClkDiv = 2; break; - case AM_HAL_PDM_MCLKDIV_1: MClkDiv = 1; break; - - default: - MClkDiv = 0; + case AM_HAL_PDM_MCLKDIV_4: + MClkDiv = 4; + break; + case AM_HAL_PDM_MCLKDIV_3: + MClkDiv = 3; + break; + case AM_HAL_PDM_MCLKDIV_2: + MClkDiv = 2; + break; + case AM_HAL_PDM_MCLKDIV_1: + MClkDiv = 1; + break; + + default: + MClkDiv = 0; } switch (myPDM.getClockSpeed()) { - case AM_HAL_PDM_CLK_12MHZ: PDMClk = 12000000; break; - case AM_HAL_PDM_CLK_6MHZ: PDMClk = 6000000; break; - case AM_HAL_PDM_CLK_3MHZ: PDMClk = 3000000; break; - case AM_HAL_PDM_CLK_1_5MHZ: PDMClk = 1500000; break; - case AM_HAL_PDM_CLK_750KHZ: PDMClk = 750000; break; - case AM_HAL_PDM_CLK_375KHZ: PDMClk = 375000; break; - case AM_HAL_PDM_CLK_187KHZ: PDMClk = 187000; break; - - default: - PDMClk = 0; + case AM_HAL_PDM_CLK_12MHZ: + PDMClk = 12000000; + break; + case AM_HAL_PDM_CLK_6MHZ: + PDMClk = 6000000; + break; + case AM_HAL_PDM_CLK_3MHZ: + PDMClk = 3000000; + break; + case AM_HAL_PDM_CLK_1_5MHZ: + PDMClk = 1500000; + break; + case AM_HAL_PDM_CLK_750KHZ: + PDMClk = 750000; + break; + case AM_HAL_PDM_CLK_375KHZ: + PDMClk = 375000; + break; + case AM_HAL_PDM_CLK_187KHZ: + PDMClk = 187000; + break; + + default: + PDMClk = 0; } // @@ -199,7 +213,7 @@ void printPDMConfig(void) // sampleFreq = (PDMClk / (MClkDiv * 2 * myPDM.getDecimationRate())); - frequencyUnits = (float) sampleFreq / (float) pdmDataBufferSize; + frequencyUnits = (float)sampleFreq / (float)pdmDataBufferSize; Serial.printf("Settings:\n"); Serial.printf("PDM Clock (Hz): %12d\n", PDMClk); From 2547fcf84767c82b4d69fc01b3a2e6abb593fd8e Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Tue, 19 Nov 2019 16:48:05 -0700 Subject: [PATCH 3/9] Big change to how PDM getData works. Interim fix: move sTransfer to global. Create internal buffer. --- libraries/PDM/src/PDM.cpp | 53 ++++++++++++++++++++++++++------------- libraries/PDM/src/PDM.h | 2 +- 2 files changed, 36 insertions(+), 19 deletions(-) diff --git a/libraries/PDM/src/PDM.cpp b/libraries/PDM/src/PDM.cpp index 3047197..fb1f25f 100644 --- a/libraries/PDM/src/PDM.cpp +++ b/libraries/PDM/src/PDM.cpp @@ -22,6 +22,11 @@ SOFTWARE. #include "PDM.h" AP3_PDM *ap3_pdm_handle = 0; +am_hal_pdm_transfer_t sTransfer; + +//Temp +#define internalPDMDataBufferSize 4096 //Default is array of 4096 * 32bit +uint32_t internalPDMDataBuffer[internalPDMDataBufferSize]; bool AP3_PDM::begin(ap3_gpio_pin_t pinPDMData, ap3_gpio_pin_t pinPDMClock) { @@ -106,12 +111,22 @@ ap3_err_t AP3_PDM::_begin(void) // completion). // am_hal_pdm_interrupt_enable(_PDMhandle, (AM_HAL_PDM_INT_DERR | AM_HAL_PDM_INT_DCMP | AM_HAL_PDM_INT_UNDFL | AM_HAL_PDM_INT_OVF)); - am_hal_interrupt_master_enable(); + //am_hal_interrupt_master_enable(); NVIC_EnableIRQ(PDM_IRQn); // Register the class into the local list ap3_pdm_handle = this; + // Configure DMA and set target address of internal buffer. + sTransfer.ui32TargetAddr = (uint32_t)internalPDMDataBuffer; + sTransfer.ui32TotalCount = internalPDMDataBufferSize * 2; + + // Start the data transfer. + am_hal_pdm_enable(_PDMhandle); + am_util_delay_ms(100); + am_hal_pdm_fifo_flush(_PDMhandle); + am_hal_pdm_dma_start(_PDMhandle, &sTransfer); + return retval; } @@ -255,24 +270,21 @@ ap3_err_t ap3_pdm_pad_funcsel(ap3_pdm_pad_type_e type, ap3_gpio_pad_t pad, uint8 // Start a transaction to get some number of bytes from the PDM interface. // //***************************************************************************** -void AP3_PDM::getData(uint32_t *PDMDataBuffer, uint32_t bufferSize) +void AP3_PDM::getData(uint32_t *externalBuffer, uint32_t bufferSize) { - // - // Configure DMA and target address. - // - am_hal_pdm_transfer_t sTransfer; - sTransfer.ui32TargetAddr = (uint32_t)PDMDataBuffer; - sTransfer.ui32TotalCount = bufferSize * 2; //PDM_FFT_BYTES; - - // - // Start the data transfer. - // - am_hal_pdm_enable(_PDMhandle); - am_util_delay_ms(100); - am_hal_pdm_fifo_flush(_PDMhandle); - am_hal_pdm_dma_start(_PDMhandle, &sTransfer); + if (_PDMdataReady) + { + noInterrupts(); + //Move data from internal buffer to external caller + for (int x = 0; x < bufferSize; x++) + externalBuffer[x] = internalPDMDataBuffer[x]; //Not clear, PDMDataBuffer is bufferSize * 2, do we need just the one left byte vs one right byte? + interrupts(); + } _PDMdataReady = false; + + //Start next conversion + am_hal_pdm_dma_start(_PDMhandle, &sTransfer); } inline void AP3_PDM::pdm_isr(void) @@ -295,8 +307,13 @@ inline void AP3_PDM::pdm_isr(void) // if (ui32Status & AM_HAL_PDM_INT_DCMP) { - am_hal_pdm_disable(_PDMhandle); - _PDMdataReady = true; + if (_PDMdataReady == true) + Serial.println("Buffer overrun!"); + else + { + //New data has been loaded into internalPDMDataBuffer + _PDMdataReady = true; + } } } diff --git a/libraries/PDM/src/PDM.h b/libraries/PDM/src/PDM.h index 586bbe6..86a4032 100644 --- a/libraries/PDM/src/PDM.h +++ b/libraries/PDM/src/PDM.h @@ -114,7 +114,7 @@ class AP3_PDM bool updateConfig(am_hal_pdm_config_t newConfiguration); - void getData(uint32_t *PDMDataBuffer, uint32_t bufferSize); + void getData(uint32_t *externalBuffer, uint32_t bufferSize); void pdm_isr(void); From ccdd79fd4470b004629e271925dd45dbe4ca634e Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Tue, 19 Nov 2019 16:59:29 -0700 Subject: [PATCH 4/9] Restructure how getData is called/obtained. Previously it was a bit bad: sTransfer was locally declared and used which is bad. It's now global. getData now expects the caller to provide buffer and transfers the PDM data to caller. This simplifies how the example sketches look an act. --- libraries/PDM/src/PDM.cpp | 31 +++++++++++++++---------------- libraries/PDM/src/PDM.h | 2 +- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/libraries/PDM/src/PDM.cpp b/libraries/PDM/src/PDM.cpp index fb1f25f..381e3ea 100644 --- a/libraries/PDM/src/PDM.cpp +++ b/libraries/PDM/src/PDM.cpp @@ -24,7 +24,6 @@ SOFTWARE. AP3_PDM *ap3_pdm_handle = 0; am_hal_pdm_transfer_t sTransfer; -//Temp #define internalPDMDataBufferSize 4096 //Default is array of 4096 * 32bit uint32_t internalPDMDataBuffer[internalPDMDataBufferSize]; @@ -215,6 +214,8 @@ bool AP3_PDM::updateConfig(am_hal_pdm_config_t newConfiguration) _PDMconfig = newConfiguration; ap3_err_t retval = (ap3_err_t)am_hal_pdm_configure(_PDMhandle, &_PDMconfig); + am_hal_pdm_enable(_PDMhandle); //Reenable after changes + if (retval != AP3_OK) { return false; @@ -267,18 +268,23 @@ ap3_err_t ap3_pdm_pad_funcsel(ap3_pdm_pad_type_e type, ap3_gpio_pad_t pad, uint8 //***************************************************************************** // -// Start a transaction to get some number of bytes from the PDM interface. +// Read PDM data from internal buffer +// Returns number of bytes read. // //***************************************************************************** -void AP3_PDM::getData(uint32_t *externalBuffer, uint32_t bufferSize) +uint32_t AP3_PDM::getData(uint32_t *externalBuffer, uint32_t bufferSize) { if (_PDMdataReady) { + if (bufferSize > internalPDMDataBufferSize) + bufferSize = internalPDMDataBufferSize; + noInterrupts(); //Move data from internal buffer to external caller for (int x = 0; x < bufferSize; x++) - externalBuffer[x] = internalPDMDataBuffer[x]; //Not clear, PDMDataBuffer is bufferSize * 2, do we need just the one left byte vs one right byte? + externalBuffer[x] = internalPDMDataBuffer[x]; + interrupts(); } _PDMdataReady = false; @@ -297,23 +303,16 @@ inline void AP3_PDM::pdm_isr(void) am_hal_pdm_interrupt_status_get(_PDMhandle, &ui32Status, true); am_hal_pdm_interrupt_clear(_PDMhandle, ui32Status); - // - // Once our DMA transaction completes, we will disable the PDM and send a - // flag back down to the main routine. Disabling the PDM is only necessary - // because this example only implemented a single buffer for storing FFT - // data. More complex programs could use a system of multiple buffers to - // allow the CPU to run the FFT in one buffer while the DMA pulls PCM data - // into another buffer. - // if (ui32Status & AM_HAL_PDM_INT_DCMP) { if (_PDMdataReady == true) - Serial.println("Buffer overrun!"); - else { - //New data has been loaded into internalPDMDataBuffer - _PDMdataReady = true; + //If flag has not previously been cleared, we're overrun + //Serial.println("Buffer overrun!"); } + + //New data has been loaded into internalPDMDataBuffer + _PDMdataReady = true; } } diff --git a/libraries/PDM/src/PDM.h b/libraries/PDM/src/PDM.h index 86a4032..6a650c8 100644 --- a/libraries/PDM/src/PDM.h +++ b/libraries/PDM/src/PDM.h @@ -114,7 +114,7 @@ class AP3_PDM bool updateConfig(am_hal_pdm_config_t newConfiguration); - void getData(uint32_t *externalBuffer, uint32_t bufferSize); + uint32_t getData(uint32_t *externalBuffer, uint32_t bufferSize); void pdm_isr(void); From d1172d89045c97195c13abdcac4e31a21246b905 Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Wed, 20 Nov 2019 14:21:47 -0700 Subject: [PATCH 5/9] Add PDM to WAV file example --- .../Example4_RecordToWav/ConvertToWav.py | 132 +++++++++++++++ .../Example4_RecordToWav/ConvertToWav3.py | 130 +++++++++++++++ .../Example4_RecordToWav/CorruptOutput.wav | Bin 0 -> 640058 bytes .../Example4_RecordToWav.ino | 156 ++++++++++++++++++ .../Example4_RecordToWav/ExampleOutput.wav | Bin 0 -> 640058 bytes .../examples/Example4_RecordToWav/readme.md | 11 ++ 6 files changed, 429 insertions(+) create mode 100644 libraries/PDM/examples/Example4_RecordToWav/ConvertToWav.py create mode 100644 libraries/PDM/examples/Example4_RecordToWav/ConvertToWav3.py create mode 100644 libraries/PDM/examples/Example4_RecordToWav/CorruptOutput.wav create mode 100644 libraries/PDM/examples/Example4_RecordToWav/Example4_RecordToWav.ino create mode 100644 libraries/PDM/examples/Example4_RecordToWav/ExampleOutput.wav create mode 100644 libraries/PDM/examples/Example4_RecordToWav/readme.md diff --git a/libraries/PDM/examples/Example4_RecordToWav/ConvertToWav.py b/libraries/PDM/examples/Example4_RecordToWav/ConvertToWav.py new file mode 100644 index 0000000..37e9335 --- /dev/null +++ b/libraries/PDM/examples/Example4_RecordToWav/ConvertToWav.py @@ -0,0 +1,132 @@ +#!/usr/bin/python +from __future__ import division + +""" +Author: Justice Amoh +Date: 11/01/2019 +Description: Python script to stream audio from Artemis Apollo3 PDM microphone +""" +import sys +import serial +import numpy as np +import matplotlib.pyplot as plt + +from serial.tools import list_ports +from time import sleep +from scipy.io import wavfile +from datetime import datetime + + +# Controls +do_plot = True +do_save = True +wavname = 'recording_%s.wav'%(datetime.now().strftime("%m%d_%H%M")) +runtime = 50#100 # runtime in frames, sec/10 + +# Find Artemis Serial Port +ports = list_ports.comports() +try: + sPort = [p[0] for p in ports if 'cu.wchusbserial' in p[0]][0] +except Exception as e: + print 'Cannot find serial port!' + sys.exit(3) + +# Serial Config +ser = serial.Serial(sPort,115200) +ser.reset_input_buffer() +ser.reset_output_buffer() + + +# Audio Format & Datatype +dtype = np.int16 # Data type to read data +typelen = np.dtype(dtype).itemsize # Length of data type +maxval = 32768. # 2**15 # For 16bit signed + +# Plot Parameters +delay = .00001 # Use 1us pauses - as in matlab +fsamp = 16000 # Sampling rate +nframes = 10 # No. of frames to read at a time +buflen = fsamp//10 # Buffer length +bufsize = buflen*typelen # Resulting number of bytes to read +window = fsamp*10 # window of signal to plot at a time in samples + + +# Variables +x = [0]*window +t = np.arange(window)/fsamp # [x/fsamp for x in range(10)] + +#--------------- +# Plot & Figures +#--------------- +plt.ion() +plt.show() + + +# Configure Figure +with plt.style.context(('dark_background')): + fig,axs = plt.subplots(1,1,figsize=(7,2.5)) + + lw, = axs.plot(t,x,'r') + axs.set_xlim(0,window/fsamp) + axs.grid(which='major', alpha=0.2) + axs.set_ylim(-1,1) + axs.set_xlabel('Time (s)') + axs.set_ylabel('Amplitude') + axs.set_title('Streaming Audio') + plt.tight_layout() + plt.pause(0.001) + + + +# Start Transmission +ser.write('START') # Send Start command +sleep(1) + +for i in range(runtime): + buf = ser.read(bufsize) # Read audio data + buf = np.frombuffer(buf,dtype=dtype) # Convert to int16 + buf = buf/maxval # convert to float + x.extend(buf) # Append to waveform array + + # Update Plot lines + lw.set_ydata(x[-window:]) + + plt.pause(0.001) + sleep(delay) + + +# Stop Streaming +ser.write('STOP') +sleep(0.5) +ser.reset_input_buffer() +ser.reset_output_buffer() +ser.close() + +# Remove initial zeros +x = x[window:] + + +# Helper Functions +def plotAll(): + t = np.arange(len(x))/fsamp + with plt.style.context(('dark_background')): + fig,axs = plt.subplots(1,1,figsize=(7,2.5)) + lw, = axs.plot(t,x,'r') + axs.grid(which='major', alpha=0.2) + axs.set_xlim(0,t[-1]) + plt.tight_layout() + return + +# Plot All +if do_plot: + plt.close(fig) + plotAll() + +# Save Recorded Audio +if do_save: + wavfile.write(wavname,fsamp,np.array(x)) + print "Recording saved to file: %s"%wavname + + + + diff --git a/libraries/PDM/examples/Example4_RecordToWav/ConvertToWav3.py b/libraries/PDM/examples/Example4_RecordToWav/ConvertToWav3.py new file mode 100644 index 0000000..d6d7fab --- /dev/null +++ b/libraries/PDM/examples/Example4_RecordToWav/ConvertToWav3.py @@ -0,0 +1,130 @@ +#!/usr/bin/python + + +""" +Author: Justice Amoh +Date: 11/01/2019 +Description: Python script to stream audio from Artemis Apollo3 PDM microphone +""" +import sys +import serial +import numpy as np +import matplotlib.pyplot as plt + +from serial.tools import list_ports +from time import sleep +from scipy.io import wavfile +from datetime import datetime + + +# Controls +do_plot = True +do_save = True +wavname = 'recording_%s.wav' % (datetime.now().strftime("%m%d_%H%M")) +runtime = 50 # 100 # runtime in frames, sec/10 + +# Auto port assignment for Mac/Linux machines +# try: +# sPort = [p[0] for p in ports if 'cu.wchusbserial' in p[0]][0] +# except Exception as e: +# print('Cannot find serial port!') +# sys.exit(3) + +# Manual port assignment for windows machines +sPort = "COM4" + +# Serial Config +ser = serial.Serial(sPort, 500000) +ser.reset_input_buffer() +ser.reset_output_buffer() + + +# Audio Format & Datatype +dtype = np.int16 # Data type to read data +typelen = np.dtype(dtype).itemsize # Length of data type +maxval = 32768. # 2**15 # For 16bit signed + +# Plot Parameters +delay = .00001 # Use 1us pauses - as in matlab +fsamp = 16000 # Sampling rate +nframes = 10 # No. of frames to read at a time +buflen = fsamp//10 # Buffer length +bufsize = buflen*typelen # Resulting number of bytes to read +window = fsamp*10 # window of signal to plot at a time in samples + + +# Variables +x = [0]*window +t = np.arange(window)/fsamp # [x/fsamp for x in range(10)] + +# --------------- +# Plot & Figures +# --------------- +plt.ion() +plt.show() + + +# Configure Figure +with plt.style.context(('dark_background')): + fig, axs = plt.subplots(1, 1, figsize=(7, 2.5)) + + lw, = axs.plot(t, x, 'r') + axs.set_xlim(0, window/fsamp) + axs.grid(which='major', alpha=0.2) + axs.set_ylim(-1, 1) + axs.set_xlabel('Time (s)') + axs.set_ylabel('Amplitude') + axs.set_title('Streaming Audio') + plt.tight_layout() + plt.pause(0.001) + + +# Start Transmission +ser.write('START'.encode()) # Send Start command +sleep(1) + +for i in range(runtime): + buf = ser.read(bufsize) # Read audio data + buf = np.frombuffer(buf, dtype=dtype) # Convert to int16 + buf = buf/maxval # convert to float + x.extend(buf) # Append to waveform array + + # Update Plot lines + lw.set_ydata(x[-window:]) + + plt.pause(0.001) + sleep(delay) + + +# Stop Streaming +ser.write('STOP'.encode()) +sleep(0.5) +ser.reset_input_buffer() +ser.reset_output_buffer() +ser.close() + +# Remove initial zeros +x = x[window:] + + +# Helper Functions +def plotAll(): + t = np.arange(len(x))/fsamp + with plt.style.context(('dark_background')): + fig, axs = plt.subplots(1, 1, figsize=(7, 2.5)) + lw, = axs.plot(t, x, 'r') + axs.grid(which='major', alpha=0.2) + axs.set_xlim(0, t[-1]) + plt.tight_layout() + return + + +# Plot All +if do_plot: + plt.close(fig) + plotAll() + +# Save Recorded Audio +if do_save: + wavfile.write(wavname, fsamp, np.array(x)) + print("Recording saved to file: %s" % wavname) diff --git a/libraries/PDM/examples/Example4_RecordToWav/CorruptOutput.wav b/libraries/PDM/examples/Example4_RecordToWav/CorruptOutput.wav new file mode 100644 index 0000000000000000000000000000000000000000..99e4a03a302ba88774f4af2135a327366bd16743 GIT binary patch literal 640058 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 literal 0 HcmV?d00001 diff --git a/libraries/PDM/examples/Example4_RecordToWav/Example4_RecordToWav.ino b/libraries/PDM/examples/Example4_RecordToWav/Example4_RecordToWav.ino new file mode 100644 index 0000000..49f56a8 --- /dev/null +++ b/libraries/PDM/examples/Example4_RecordToWav/Example4_RecordToWav.ino @@ -0,0 +1,156 @@ +/* Author: @justiceamoh and Nathan Seidle + Created: November 19th, 2019 + License: MIT. See SparkFun Arduino Apollo3 Project for more information + + This example demonstrates how to read audio data and output + it to a WAV file. This sketch outputs raw serial; an accompanying + python script visualizes and converts the raw data to a WAV file. + + Note: Wave files are 1024kbps which is higher than most audio players + can handle. Use VLC to play the output files. + + Note: Audio samples are generated fast enough that we need to output + serial at 500kbps. +*/ + +#include "am_bsp.h" + +// ---------------- +// Global Variables +// ---------------- +#define BUFFSIZE 512 +uint32_t PDMDataBuffer[BUFFSIZE]; +int16_t *pi16Buffer = (int16_t *)PDMDataBuffer; + +//Rather than a cicular buffer we record to one buffer while the other is printed to serial +volatile int16_t outBuffer1[BUFFSIZE]; +volatile int16_t outBuffer2[BUFFSIZE]; +volatile int buff1New = false; +volatile int buff2New = false; + +am_hal_pdm_transfer_t sTransfer; + +// ----------------- +// PDM Configuration +// ----------------- +void *PDMHandle = NULL; +am_hal_pdm_config_t newConfig = { + .eClkDivider = AM_HAL_PDM_MCLKDIV_1, + .eLeftGain = AM_HAL_PDM_GAIN_0DB, + .eRightGain = AM_HAL_PDM_GAIN_P90DB, //Found empirically + .ui32DecimationRate = 48, // OSR = 1500/16 = 96 = 2*SINCRATE --> SINC_RATE = 48 + .bHighPassEnable = 0, + .ui32HighPassCutoff = 0xB, + .ePDMClkSpeed = AM_HAL_PDM_CLK_1_5MHZ, + .bInvertI2SBCLK = 0, + .ePDMClkSource = AM_HAL_PDM_INTERNAL_CLK, + .bPDMSampleDelay = 0, + .bDataPacking = 1, + .ePCMChannels = AM_HAL_PDM_CHANNEL_RIGHT, + .ui32GainChangeDelay = 1, + .bI2SEnable = 0, + .bSoftMute = 0, + .bLRSwap = 0, +}; + +// ----------------- +// PDM Configuration +// ----------------- +void initPDM(void) +{ + // Initialize, power-up and configure PDM + am_hal_pdm_initialize(0, &PDMHandle); + am_hal_pdm_power_control(PDMHandle, AM_HAL_PDM_POWER_ON, false); + am_hal_pdm_configure(PDMHandle, &newConfig); + am_hal_pdm_enable(PDMHandle); + + // Configure PDM pins + am_hal_gpio_pinconfig(AM_BSP_PDM_DATA, g_AM_BSP_PDM_DATA); + am_hal_gpio_pinconfig(AM_BSP_PDM_CLOCK, g_AM_BSP_PDM_CLOCK); + + // Configure PDM interrupts - set to trigger on DMA completion + am_hal_pdm_interrupt_enable(PDMHandle, (AM_HAL_PDM_INT_DERR | AM_HAL_PDM_INT_DCMP | AM_HAL_PDM_INT_UNDFL | AM_HAL_PDM_INT_OVF)); + // Configure DMA and target address. + sTransfer.ui32TargetAddr = (uint32_t)PDMDataBuffer; + sTransfer.ui32TotalCount = BUFFSIZE * 2; + + // Start the data transfer. + am_hal_pdm_enable(PDMHandle); + am_util_delay_ms(100); + + am_hal_pdm_fifo_flush(PDMHandle); + am_hal_pdm_dma_start(PDMHandle, &sTransfer); + + // Enable PDM interrupt + NVIC_EnableIRQ(PDM_IRQn); +} + +// ----------------------------- +// PDM Interrupt Service Routine +// ----------------------------- +extern "C" void am_pdm_isr(void) +{ + uint32_t ui32Status; + + // Read the interrupt status. + am_hal_pdm_interrupt_status_get(PDMHandle, &ui32Status, true); + am_hal_pdm_interrupt_clear(PDMHandle, ui32Status); + + // Once DMA transaction completes, move to Queue & Start next conversion + if (ui32Status & AM_HAL_PDM_INT_DCMP) + { + + //Store in the first available buffer + if (buff1New == false) + { + for (int i = 0; i < BUFFSIZE; i++) + { + outBuffer1[i] = pi16Buffer[i]; + } + buff1New = true; + } + else if (buff2New == false) + { + for (int i = 0; i < BUFFSIZE; i++) + { + outBuffer2[i] = pi16Buffer[i]; + } + buff2New = true; + } + else + { + //Used for debugging + Serial.println("\n\rOver flow!"); + } + + // Start next conversion + am_hal_pdm_dma_start(PDMHandle, &sTransfer); + } +} + +void setup() +{ + Serial.begin(500000); + delay(10); + initPDM(); //Setup and begin PDM interrupts +} + +void loop() +{ + processFrame(); +} + +void processFrame() +{ + //Print any new data to serial port + if (buff1New == true) + { + Serial.write((uint8_t *)outBuffer1, sizeof(outBuffer1)); + buff1New = false; + } + if (buff2New == true) + { + Serial.write((uint8_t *)outBuffer2, sizeof(outBuffer2)); + buff2New = false; + } +} diff --git a/libraries/PDM/examples/Example4_RecordToWav/ExampleOutput.wav b/libraries/PDM/examples/Example4_RecordToWav/ExampleOutput.wav new file mode 100644 index 0000000000000000000000000000000000000000..478f0d4ec94600061db09fab7da1d1e07fdce45e GIT binary patch literal 640058 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%0AAc}c=mqui`ib@ z9qgR9>&wk{eBt-byYxGB887%9FX)MJ;Kh0}I(;?w?|OUq*?%Vx{_!VXJm5|AW!LrO zr9QR&HQaO%F1%&=8=vUj%iul_Zgm4M#((?YQCW}l9RnR1|F@pY=jz`N@*K|-@8F@^ z)i?Sg4~+Bahj?38=*2f%K7ONj zqXX^pI$ycl&eu~-+`Vzc`^@QcIt+ib%RcgCl`d+!xrI zAL{=VKPF$>Pg_Up`oTr+Pgmi6o&9jBhq3MZkA6S$JxGhtKpYe5gLh&z--hFRXDHr}4x4ai0Iv&34_WebJY*f4R?j{7g44W`F&Rzj>~@ z$1e9LTV7hvYdz=h@TKEZ51-9-{r7d?=D$OJF1H&lJn8x_UUa?muX0~JrUP^#apzy_ zj_p721<&yx?yKDY$%d!@zFfX%YoFi#?u+1_eAKtLkH)X&;SX|uaXsK~-vlRK+~qpB z)gQcmoa3KtczoXh&;EWnI9I%$Z93U`ExqRV^5r7W!5ci~N7nwMHC|QbS?~@&i+44j zz2A=Szr$u5{$J+$j9b6dK1BaOKg1c|;Z<+=)p@Qv&A5Zt{Q0=Pv;_Bx7x3Cner9}o z{ZVg{pXTN5SLsP~xcL_R-TprPSc4xw@;u+q7B_!J|EhcHi~OB<^>+%&5BY;1`iuCt zx^n10@V#}eOZ@Q}PQ2Eqh>vmO$Fq5!_nZe^-gN}t zpXL1YEA*Ov=&S4RzX)#e4WF0j_7c41!`qy19P$zF(;UZ->)_!(Jcjp8jE!O=709sC&Bq-o~N(0&eHe#`Vcnp_dT_BG`jqtuJF&*$tWyd!mFO(NA@=_ z`5E6Yav%J7G58PbW6i_xrS){LQ~l2Vdj2&i1ZPvt6Fz z&FhRS`X=A-SG=s-R5$2_en;Hl!*hOg-m$(M^Z9Xb2A{gd!qIh*o8XUym)^A=@;g4m zg(q$JVd6AMRhi$hJB{m-+ql)#i8l8N76%eqHaj^YEqLfpvU0 zAKs^WA2trY zf&(u8<4?zp3$O4y$NRhE`sbIy32*w#1@5os_-g;{2jlAc0lrly_=bG=N_usGnHhAZE$@=fJEbp`5xbQwYBfq&GJ=n<#*MVZ)Uswbo{-J?eFT+XYa$+-}2b|`uBtD`kS$j zz8%|qyvz2{{})ycQp@y^fJU*-JQW37M4&(_cA@EW~a!}D(Ez4)W>zWC*1 z>R{sD_nXZ}c{z61k=eFBve(V)!Q1a?^f}ij8xPb)w%?`G@x-J5{=(_pPru_miN4Zz zu*;X*dAr|(qvxd_`duFWY#u%veEl6gaXrs|yg3^@?OXLP@|Km4pX7Rc<9B+JeocRG z9brv=h9A~#c`Y`#u`uDK>erWoQeuoU7ICcAC#@RZ3^asDtXFO%a<#xtZzGQs;er39q zKm2i_V<_0OFo*9 z=|5Ya`S0!EZa+acf?NITdo_Gw*TK_y1YV?X?C(S3H6B=pGoGK!eej2V(3$r6@`rxu zBX4FL{rivPUB_jd@)6Hp-Z^6@f)A+mne0ehC)W>;$+kOs@J5Ti7;PLmV#c5n{ z8P~_bi8rV5*Nd^`bMT~3sJ^vtnEtf=N3YAc@%q7f27bN{4t}Q#^dtDI8_stQ=w?>ZLFv-oxVwf`Rc^f!Kozx`(W z<=b3$6N^vRvyBhsGd;ULnarWP>PO~L`sV6d@R~n%|0lT*{YZb_^-sK}6K^(LyH4wq z4|+&H_+7u*eh07l*Zhjjc-r567Mz!{t*;xNou72%;Kz=Kju_YQs^2fFAAPR4(-Hh+ z`A;6=1%JxBX9t|0WIJ)L?&&|@ZO7@u{vI~tQ&+k^aCI_#fCn$-8=m6}y*56UpPvTb z_-mh^ejQxz$1eBT4&L_rAL4IcZ{An^r=#M@;y0dT9IY>Sp7Hd%I=UzR!`EFG#Qi4Y zQ%{D!c)ja(?$iFr{rUO0E&l4Ve65b1d>E&TZ1Z>cSia)3{IVVV<|VZ+W?Xccezcyz z#lP@B4UQ*sefwDBd_4PGZ!c#%{gHn+to372x8q;ewZDkYln;NE=i{ySA@T|j^l#$+ z^IYdR|MPdo)Au9ezr7FoJmbIc@JwU8m1%fB9hkk$mH4R-f7aSl*>h^gMOL_;Oz7 zQRf*Cp3pab|8d60zv0pHHu&`y;dSx(H zeD3;-hV>BRk{UzmE!! z=tukHo0F-tsSoXYlXuHkbG-co-l`{fAus8R{&?z|I)V@TcE+VYTJAE=+s*Fy6F>ex zuE$pIb;@=sj&c}Bl1@wase&*}EF!9&N)pY@m37Be3Z{rB=^4&PZi+>-_^TgfyRoA;l zAG{ZCf44?osw?TA=pX**lRDpfaWah5AMrmPT;w?ap2i>i{K>XmJjti(ul0C!oFC~z z=Sg^w{KiwZze6V8uY-&K=>WdMeIC4*W4qq-i)>GPJC9m!vp;;*ZyeWU`LjG0@9UHC zCqDdSwp-`KJ^L5>K;K+FjU(N5>a_u6~KDeg+OaghM@y?Z4~f zJbdBzvklkM^``KIpWvVuc-cA^T`@1xXS2;aI@NrMpX`@^@X0^8#b+J7=1J;v{g?dd zy4v^?&%3T+9P;%$&*4Y)N?o`M-utm#=f-RJu5w;*@>748JNdreZsUM!|BmF-ZGYdB z!YK~=q3^=C_Ph8=Z}F23)7_l6IxZjiT|B}Ad0+f95AA$p#osT#XFSPQ_vw0}=NFwak`_S_Ff#0Y8b=`_S^t(6yh=0m!akf77ZN~S_*sd$T&$jhX{N~@A;8btJ*Y#cY z>npyR?d6LP&etFH`=0t6Zu)U^GJG+P;OX}j@I^;jALZR#y)5V3^Y`DWnLKJg3?IA7 zOYxX-_InY1DqW`|t>gTpE*pnB7=Jb{^l{C2uY>nzo7F#d{i68r_(Pn|@A?W|ZvD8- zbJW=bzOECflkuN%w;ud_@TFet?-B4JanF3&`~CerW%>(x*1D;lnpcXaK8;SP+jN=! zMpxwPg1>m>evik`>H=L}Za*9sU0yS;15e5eedX`}ulQGgK}S3v&g-0a92b4GAD^xU zZ~Ng-W*dHfG(Qq|`rG)Q=eg@#@4VX6+5ceuFz4fa`@YlM@9A8pf8h`Hwz#dQ+|2oK z%cJUn`yTzLuTTfX*Zw!b!;kz2|5={PpToml57c4&W$6MvP&ZO1>koM4zdU2rz2K}4 zsArDjiE%v1xbRke{%jl1UgtjSi}rerFVAQEc+qtUdF8oq=r7>&KJwk*X`azByoUFD zp4WBZ(KWb=yLE2H)4m;_s;~S3*U^vaTx|V|AI8Uu3%NiUw|`Nw>FyY25fTjx(lJ{IUc?xTLZ7~H{u7yG)^Pd*&i106p4?{@BAerCJ#A@P=P z*TLgH`Xx9|b3A<3*VMnM6J2*r+Ek zCfmywC!=Gm_?vgA>+}I{KMpRujGlFVal0Mo@6IFiNybeNe*bE4^!?>+w$(BEs&Dx9 z9Pc{HUCwtMyz(o4q6ZK7@T*sU^h4K)!v{Rx*8_8(_G{tg%75_jcX09lVmx#WPC9&* zah%4g7yKOEs=iJh?z;B#Z5%s4a((&vx4ADp!cTp{5f2`*&c_S&0&D8_!5ewf}{A6a~__SMPoH+J#;1Rkh=@SVnFpb zejnJr>?+UYSI>d_b&jhSN59&pZ?1bh&lg8}U%j~9j{B~oJZax{(2wX~|IVWQ4u8Nc zkLZX#_%7oR2jense7+joaLT9fw0YS4q7TWl_G|ICanp;|<@4b2+{-GJ1o%ds1ce73eck3{J)2;Zkc=_{LaJ`7Vh+Vhm_1`V` zeRJn$czm><za`2e{&`EVvU!l(SyZHD~-81i4M&I`N z#gBsb`B?t!d@g$2`8s~eC;ElI@=$$ajsN1q=Y@}Z-+-^5Z|CVR+fSJP>C=k$2Pfk< z&pYOud@?UG4m$0)I6Te$!duVLch&FuHFf%DGrqwG9I7KeSP0p{;CJ+-2KUh#Jt`*RqL;D$pg42-|=(*J?gKv=dS*4w|#{^ z0>8rtdENH~^Z*a?{Pqps(|0cX?K<(IYvG5#)9Cxe>BGD~G@kYgNByJU?H}kAKSdAp z$II98@3*nmQPN+m(T&ct;ZFSee0@*q?iwDK*L3am=KucvadC=Y{G-2Iz6`F|#$Uhr zF30KIPiA|$ip7WcmoBJJozKg&&tLuViq)S5|AOBi+EuXEo^8anFkA4_`@$!@Wrw4Sxw&N^bJvkWoWIe>4UiQ8@<3wI-pJjpZ6vQ{Ze;3AChNuxOx`e z;zRL@n|wO@nLqJXUePUnzKCD&aQwF8d%GQfzyo-z3-TzC21CF_%mxbu7Zo#nTKQy(`)?GOK@v!h4&`)K)Q!?VJ1 ztiSwx#8th%$#{|<`b_m0w+JGxEhp2Z(@BF_yUsuP(n7f1dcrRxsXE#$5FcyZE+Jiqw# z?f4?^;%EIY+ut>LJn``Fu2moCn|%9f{J84RvY&3?y>(BH#9L%)8!jic*;aH`W?pHfHY9Nhc~7hbSOUZ|f(OP_;BpHr(Y z%d_hbaX-*C&kYVbywZ*1IySuOIK7Krn7@Uu57+&M=UtEFM|o9z@=8AAfjr0OwF(U-VgBz6`$8 z!B-u{UpQwTy3Zf<58;76xc!6sAN<(&UN?Cz|H0+_#y#gL9P%rE>USm67wC88nRz|C z=N-TE_vMVg_{9%D;5_s{>)qfhKlI1Oa}oT{=l&0L?A^A1UFcZ0=~w%;`1yhE{yfj8 zv*J!?^=bAyPu(-V)8JGu%y-0n{Oh~l=3VMp`-9HsogeY!~O>#4qs0-`;EaE;2*W_lWRKpV{|_>)_qr-@eU#^gFpP-DuzQgN)-UHvDY=gWq^7Kh`bc=D_3X{)~OHu(AX$!xbz zQ#bUH@`*mgmdEmruKh6h`T1<_|GjmC|Jc!!=H~+M>)hw%Sba~|O`aW|tKXu3w>gd{ zciG0Dm)Q>92k(t0-Vb%{7q7N>way%HmIwTL@aGyGUaYIW4-WgCf7G)lIqx#h$6xiB zzWyY~uMalo<7?Mla(?TG?@`Y3Jbo7MH`y=W@B!Y}hvWJa`S(1y688g7%Y)88;$QKh zU*FLKIwh{b)BNF2xQvHC)w$EbMJJnA6YsrW;NRp^`?u(=K25!7|A3$R*znGH`u!4o zSMlRT?0M`OiwA?Jeasvesw#3U)~Px?mzSoF{>#|#seku*zddhXpG^GM_p@I=x!!Ht zt;6_BzpbbB{rydzmwZzfI*-Exe$~I@58ai2?DUt`Pj(#$-mIhf{$aPnkFK}CU;c`t zyc1{jfbOcx>ahKAtHWm*zxl?S5B#^k|NK?H{AYywS4b&7c(y3r}h0X{e>gE)#ubYjvuaLU!P1rB=3GUc#{A7 z?--1K@ucf1(TknW&jxS(`zH5?10TdU&o7_(J9YZ{n_Mps>H6dBr(46@M~}YUp8sh5 zX0zpObh__1`}bu}a-ZaL^Dg5^-?#o*o`38sI}f?aea4%A_`V?9#u**PNAslW?C^l@ z?RgnJwjSK~qW9bQ`o8%)am3@xJYW7_&H0}HeR|m6SsQI{YcsI|1 zzweKd-_~{H*Q4-r{l|Ik`fZ+1&&1_A`=93ilV^J#;qN!waeA=#LD4hgsUEoR_1w4h zF7g@IJ2Iun6vB&!R+w2eiMcnnZ>Qela_449gz6dVy{mHhysJH5vZMe(N=5cU*JlE?d zzl*=DL$OPAqwCb}BR^lvec)a0wr&4TL;Hy}_|@h1m(honz0LKhhx&@|GN0&t2tVQb z>B-~|KAnDmYmqYNT``x3z&69i|TK@-6-#k>i_6Rf9F+S+G_$Ncm>_}`7aj(_1=ewE|m&+3zn`(nfA@65_u z^EQ2a^6$|)eTKTYuWM%>(z=J2=0)Zq^v&^`!P)#2AAFXd#``>Y^Spk~k^YT;<=KPv zljv99LnrR~gXW!lp%=mRV7||v_%08g4NmKT{372x-}-dt5odFqde*v+U!Jp$-xk|! z@R;w>Vf}miHhOoN`?z2HQ=Fd+p2Pb3USFo4*x%3KbK+zC##7xe-@sE=y-XfI_;(uN zJPU4p#q>8j9~0N(`&aWIxNNIu<{$0D_?2$LEuUTl2fdA6^xsjzTl?4e^JcSqzZ+ff zK29A_fAAB|^5t~y$G^qxdGr}x{Dc>N<9uQ~b6eEo*slM)pX>0u>sB+~ zKh)Ye-aNZLnfeQ-{8twqmI9e&MgqGw!zI-fuj*9{sA-$1h*!ysyTlujqG* z^0(jl$b0?8S0~#z*88zb@asRT$8>GYdD92&x;y^s_bBZCBN|D zD$l!#y&lUy;YZ(JWL;9d^?QK3o=rcr;8**=o0H+~n^^rpw(-DxX}QaJ>LERsZx@3z z^=kE9$vXYb-jChRdHM(WDNdblh&R5y$n#HQ#h)&ycdiS*HTAmly?42uPK$r|(tQ8% z;544hL;Ak9Jmm*CHOeq-|{AYR9C0YRWH`?!TI{;`Xl+(?~eI{-s11``1L&2 zw)k9Rf8s*d+E?H|e;7}npK;9i%f)@oTvV&7vJ$KedSj?F&=z@m!9Fj{qpW* zaOo#M^s|0~zjs~u`F7o|7xXXJw_eb>)05GQ#|ImIbiVp!-26a)%p3J*;_bbaey9Df z@%%L743DkfXMMi9?Rn;-<@@Pe-|yFq>uL7?UB*S<_&vvqXZ+Ol>-FpH`s&-7`rG-( z-P~XOY5s~Qe!;`yt$L@Acp02W9$aPrli-=YcIRofm$CczmGX7;#5}6M7tsEFopIEk z>K8x3qtC?WxW39t4=F$8vPI!(F^8Lpf9(~Wg zUOl?!`-8rRp*QqJ-t$*^ka(+Stq1b*EaSL|wg2+4U%cSPlf+s6x4#(uZC|ENTfc!n zy1M=uzT$CkG~NeZ_`a&&1<|qiQ@s1TBDb4=kM*M8S5;@jA3Cdld+=Qvf6y`Ur3ZK- z-}E1;i_25~-f->x?b~ceXU#8Ke|pXYYv+xv8 zIu7SeJn*LPwdh@SO<(oqWOPAY!wcK`B*XQ+k^guh{;})bjBAB+`p?!m^L&2o zyih%(N9qB*wjHNq#^F5p&ol1HzxIvhN#SqbgI@nOxPLtszr&BckCV^m+j&dhkK!f2 zMK{WGxa1u@Qzw2j_iMeKzQH=S_sjdb?@xkr&fDLQjsG9uHUHB$(&v6pLO+sk<*m4@ z$EU$LJWzk-`|juPBRb|iS9N8A&+Usq5?;k$T@tnu+^sM-v2iGz0ZSyy) z-#354r=t$b!+HLmZ>bZ@{ou9kQ$6_c;5M(a4$QCp4v?;TE*$)3zwJYwsc-Jv{NQKf zJMg;mCw@=9iht{I;*F1ucXZ13k(ce;j1MpPQ~aYB`YZlA;M?n8_=?}P;eGpIH(ir4dQ@?8GX=kO!lHIKuKBQ4cl^4%3*NkM_TE{4RKL%-I?tm= zoqxauXX*sK=(^wAld0QyLZ9*E@!*U;SZCe!_*cOTH-4yh!~6CT^yUFhJjM$;#gFoj z|HLELb)I+RKYomU^?SOmSAG2B@^Ha(xHFywFJ6v+{5|FJ#kTGJ zT)!t@zsz~j1$_iPZr%CeoTuOGd(o?t@$VYT-}uea2RMz(IG(xBJcq8T8(m-fEXNOc zst3ti`PRC3k^Ac#_zget22OR^`E>C#_jx=x>Ytx(+v@RNKW4x9(>dQ^TA%B8qs4pl zqy9|(1W)ygKaY88eCj&f@-F?2dMoboiZ$<~4{ZBP_dno!koWv+Jp2nMd*Fk4Sa}e> zwl3?}@gsFzd|Y4u;vKx6iw8%3;4xhC_2R&T@G}0iuF`b}^Q7cue@CMI+OxSIzpMBC zE)5UapPo$q=_gp@qg&!5U+MP|e{@)#Ykl*56+3!T{>s+}x&{aTvGDLe9-PLXM_g~V z{qo1WeqZ-{pW|P}9_w7<0$=rlF2DsZzlrnt$@rQ795)W}U|n~$;o+y^?m7v726xxj z?moD#>s5GB{e>3~_>q3S4Q}&f_CEXZogbd&xp=^zUvK;UJDXh}%>1t3UCOie?SGZ$ z=x@b4xZ1zNW4$$Yf!F!Bxu5Zg%XM)7WN@ZG*mam*yv}*iz2@DE+5bS-K0BGX=eh0A z-eo_$Uu8SvaGpN1e=khe&*ph_qV*XcrY`UA?*v48^Mkj~*XIQ1qi=H_ z`uR_o9(U()45OPdb|~<`WJtno=ilId$@`7Y^YJ-4Xui?D!t?m~I?tug_=*qWf0gsjUX8v^-@;F=yZwH{I!gT7zGC=` zH~NqMdw%Lh=bw1`HqVb;qr*$;NZ*IkH^VIC`)%e%hkqDSgO{Mq^j zw|)Xn=ZTAX30->}yw|ax2k*PF>wUKGKD6uYw(ULCzAh1ctWMA|`gMOYdhvej8r%8| zCqCe_dW_eDcjxs1=Yx6?eV_-$C%@=`yyB;09}&Mk=pS6quXHW`weI0NOMdO&ZTx2Z zYdgoy`}=!U5BeVZ&tLQ)<5>CgF8;h5{s z{xViv`Rh&ag|F3%;9lSsAAJZvzkD@%hri)N{e0x_=tuhq^Sah$ddk22O0VFBhjpHO zb-nT8Z|W=mwqC@~t;@F=*YrXAI>7WF`@HGnIZvJLI)&$^e$eCU2EVfM6rb^ef74Ga zhYSok>fkwj92~@U++Kh_jicuFnul`_!+*-Tqn;i#t-_!_7TCg(&O1KzRu&G z=laXBc%h%@ddlDCxzA(yS$%kvPj>*+$j^N3%>*?X4ti@{(2rtj(ZmhW=hIE;@TA924PeCroum-n%$YxcL_ne)5u z+WIE15BcTa#Vdd1TX5n9opWBlXH+jf3r>0E`>$UIZ|utI=kK=Td!2YW+ns0V&l3NY z-{cv8^D7?Pk0<>5{ABt&|4m&w>hN+KTy%pz%=SKCzMAvuXZJt)8SeW$|Et*Gt@E9KZY98TJ?Z-w^Q!U{Uj9^H`8oW6k6qxzUwm=h#mOizUQ8b&?(mBLaeJT7r@psd zz#ISYU;A@9_Un1Rb(4iI(_Q?3cECCM^!@t#e*C`3H@u(=>6@%i^}VM&^L)CiKBSN6 zIz;pVf4a^CFMUwI=z;nR=U0Pwy^o!Iq-*^?+x(*IY5W6k;#=On8^5&=;$QlPANad& z&#&&6$AhQ(w$QJmU(*NEhpt2X&EV+YE#d|L@@v+m>fhki_bhboY3_G6c>VnwTnj(a zv*2HTne*ixyopom9K4!epU*9Ir#D~7gv(Y8_w12M_zgBEOqU>M*~kSMc(8 zaQ8b-)KN#)fyF!p~3UNuCRjx(si4 zP``?Y`0(rV;H3|6@grS$KY06|;N5I5!|VNb3^V=*I*i9`;#_?2tJC!0Jmb9#&hV~( z2O+OU2dWP%Uhpg3#oyGs>e&zSoTGo?2)^Q_TlAV=pXEM}W3Phy)6F*D*5IWV@MgdH zX?0NlSl(Xd{+^pWhwoVLY#;4n9Qx_g!7ERyzmrF;%k9_Y)yKIm<5kz%Kj0~UiFfi$ z-}^w%zMOHYCl9_acs$Rgzrkgm)Ava9_{dl5TAlxhH=Ok7I3Id9xR&%0eP0y3%NIGG zI@7c-K(;>54%bD~dOM?Lg4 zhmT*` z_;(ctxbf>Uct^*q)70Pct2}wToxlGbkNzQiZ{Gc7{34#73(tLyt{tmYIz^T7UU660y3*xQ(>-Pl5d{dVvfA@apZxd(! zNqsA>;N^F=^~^ZWavwbS+4!&X;rO%ozMSLBUF_{<_jSJKv;9C9^eySTTd(k!4k!LS z&fogatCL~w;}4#@&ohIseI)$!i$9a6)~h>T^PJ$sQ}t`je0cdLIBcg*l;7@y4|E~^ zO`YA}6UCqHbAO)kjS%3jx(D!ce(t+rczM&R> z=~wj4xLW7v3;&LP+V3v%K6X7?^-SN8KHvKx^Z4@kfFIuF>xn~ooV;6%Blx@ir%t>K zAE!?BJD8OY(1pL>&co}yPtW!BFaGjx__^{kf4&cI@BvSbIG^UcBX8;1?ciFX$Lu=$ zi_`D=@GE^NkJV54L!aP%7aYOa@f>xHK3wGdCmTNBF<2+xb&Wo}{a_rezw*>~;pKsK zNO{k1!MXk>&;NGpgYTrAk5B91RPXy9059U-m7fRio^SY@dQ;y1MR2@~jjpx6(mDOt zZO+pVz0S5gqYIa>HU{^*Gk#PT!dKtHv~D>l^8vim z>J#)ebT_|y(%)I^e*L99obmg8;iWu&mglNdnK!nM9P!c@cu!vq55ha^Bl>ai?|Wms zpl5?~=P~`gnERH;KL}2E>RmtE<`7a1qM80WJ*cjBoIJg67#FMpNsy@|aUYklQ`?&2Z8sT(X@v8}`W zE&u3@`WD`qZ|cw5N64=a`C$FBzwhL|5I*>O_2RfY*`B!G$Et5%&GvHWgBQ5vDZInu z&M(V@@S(W*m+o3GNgh}~?K%|w#7FUkLtP7geM9+zNA9y`T+d%k{zZ?D>rwo@zTM6< zt_R;m;cwS_@mC!P?$%v=RhRiW<7j`zzwi!^{oRLpEdOn@`}@qv)BgL*^()?rKRk*5 zqu<6)|Ma1~{#~|XAAOT;Jm+Wq!zZuC&%x34GTR^eU%#=a59(TR(*wBKUk{G!Z$GsC zyP_PY8;g8>9{gvq!7bmdrX;qTGHkI#-I3B&n>>0@-|$o&yow($w&(g?Rr#~Ow}J!i;4S{q z3H4?F{`bY)S0C*CTl;uA`f+gZBc1qF_KW{@w%56D;$|Ie&!?HE@9!(33v_P53w7=` z_j?%|y=nb`?=sIeO|M0V1pE@aD&6B#0cJwnm$-59QO4v(zsz~k@Q?eD+8LpSAH{MWw1@zeO@MQ~&tN!=9p%+L0D z&Br-koYOCKz5L0^#OE}YZmGMr#aVsT58y4H^4sHiE`8~D^zs?5>9^^`K3}I3Z-YN| z&UhQ&Pl6jC;Z1(?qjf0jBkTKIr|!PXHvQ$7@ptuV8T|d-w#>b_nkV<~)HAO3Y1S{w5BVMctiE%BM?DK4^q2kJ zT6(O$J=^>yztmy>j?SY;zuS&Ky8frJkN!E^zuoNq`z*iCwz`qLv<}hltWyV8{*68? z!K*LB=jty#6F<25cjE2eUwd@@k00QCv|8OyWC@(&n=hBht+mYX2 zv(Z7$CppG`|A_c%iZ7l;o+#S1;>B{~c#P#6QpX(dDJ_)CMd7S5jAO2pe>;CG)CpmA8oqFLtYWbV`rGG!}-|O|K zgHwOg_`vr%&ruKVXZrzv?{c0xEFRa{fB9(Nm-yHD z{jNklJdJ;ckNf)GVSc&B&kJ4nRj&KtSh$;S;)o9{J;FzRPM^?x%l`719^k{wyLMgr zYQv#UtnJgj&i>RfdK{j2JrzIt_uc7NssrMV2dQ7`#G;PTFMNXc!#WIK`-kP9Hk`Ko zJ8`wkj8EMtZu6x6UfzL+<>P^;tzY^w`AS!=$8XWu)`bW2c6oRoKWBUS<+i=!{XE-q z-~I1!j=aEEdO;uH=U;e_Jf1u%-bMcseyni5%lPQV%s=*Z%EV3nRVUP8JkUob{}y=7 zljOmRlc^8Jdlr8rf7Gw&!v62e%0qViyX$at!#ouqI`5Tl@cw#mJo;ViZ^yRJp(FC| z`5YhcfB5gSSKI&9w_4|0@Id_EZs+MQTIZ}cz*$|R|7>*5cm8y^^PjJSi_XD~C-epW zi^DjcWE>xl{YZUL*RtPyRvo5u@K^6HbAR#GCs^0fKd3J(oNMr01yAxM>r?fgIP*VT z#q;liga16|MfUTD{Vbm77t~+Z$umTF`u~G-^ttQ0UB3=r;n(l>J0p1Hk9Z#X2AUv&b|3s-#Tt+E)Zw3R$Gr#p1J>F8PJI&R+mjgw zoNu$un)lF$vmB3}9_yI*ms!{OzV|=+xUO5%ht4bbB{<|$`GF7OkH^L(9#3c7sWxF;&hGWAJa zZNIzxCb)h*7Eb-T`h3hk^P}po`W5}{I!$oG+jSE47k}ZVYj8i`aJ9ekem?8h{rjNe zl!xJW&huVusm|e{x}|P}4{Q8w{iYV5jdz{6Eb8w~{5bhzKCGYJ*RLlpn^$;Cr^^G+ z5l_5;mz7_1!}!!O{(KgH1}8tZzol<)XB^$HKcf%B|LPiD=sMX=`~n}nicT~S=>|Q4 z`)RI!5xk?Ld%ci9iSshJ`T0Sgt8Vje^;aE>|LDRRUUnX2JnEqOa21@72dBC#KiY@Q zJZ@jFdGo=zx<1-`QWwO}bNNZUyoEUj0ns(RHxs zWaFux(xtECpKr%L`fcntW4oS5hvoliuDf{kN94P1iTlKR|2>l7!H)MQ+jY%*eNWe) z)z$E?{(}Fj;QKxu2%ozy0{6>2cj~5f&ozC5_Y?d4Ts^>Jb@zvJAAIV(Og&4y&1+UV z3pan_1)V#aahZ>)yXjZ<_fu2P*3^eb%eNbz{rKoZ^S}AzIdqCW`WY^kPRRfB`0+aS z;Lohb@aLoJZ?^Ml*V$fIx}0_fjao|E`_Pi);|`EonHe|I5|)LC(lPItXdT@^?E z3@-j#!iz=R@m8NmpHBy;^$OpUC(ru+F@4PLH#pf(=RUs2YTV^V@~Ux__wp3ifwgBLekpXB)USaEJ&C0^>P=kOQ*vEr|ux&AWG@w}=3-aG8;8pA*J zVfSzFiUS^gFV0U-X8iE-TWsqCyz1~8KTMtKdc8V|pXuj(45z+gu-h^nEqGnmFoH_kLPF-M{*yU-s{V^eu^hb^j)~ z#5w)FejlFee+-`BT!QcVn_N%F_&N7o9_Kp!;KaAM>*wHIm+y{T#SJOxQe1Ecy z3r_Px?-!~Mc>Q9|U(9Fuah|u&XM<~D)iLihGYho9^A{Qf&L;+5}t_U{1`*YXy=+220f z`)TvPey4Yw7bM<|zx>fh-vlSWZmj;pf1VHC_NkNCyMF3VqF2#@;#0@Or|)Cvw|-Us zcN-k6y5#)$FMd;Zs+%hutbAeZPrjv2w4Pbld@%plX9SnL=1+Y}d23uxGM;DgV|ckH zp6l1!e(x2lM|5bNcuc)Wrz0UoU$MnbdM$13W@z$rWvn~Ji{dj!3;j!Mc=lSSQ z`}^g$+j;x?TJoxSKI81~iuF4$ar{+q(DT$ExYumA4$vueSbkm3eU`_;eZAQ|kK}#y zXpN4pAM&<*ZGC!``{G~l!t*Hg{+dc}c z@80JA;`*Cx$B)N()Z)DGxxYJwuUEnOIyjT}%dfH>i=XT52j?#z1!r~s-<^!2d=d+H z^r!PBeO2n~s?MrQsSiu}n)}JGsi)SVtWWEo)Pv>`oo`<%UT<<=`Y6Bf5I%8+4=*3* zdOG^#)%O4N6V}7JPW8zghe!YEyO+KX`gHC~XZVK>S%>cY8E$cwKjN?kC!N=iB;Mky z4(X$7hp+p3pLx^yjHmTT9tB6^oqW+REs6ia@A5l*>hDgx-R`fBcio>ZT}Pj;zs-62 zJb4zribvLb*OdXVBYnId(Qp7Q!nN7`#di? z*?MG~ZvOq8r(bQJ%cHBg|3^RC>|X!Xb^6ZU&w0i9^SNGr)t~&5xbv4h>ij5ry0GdO zzN-6pdl9^!#m@7KyZJSFwAWjHopCPu`L37cIr`!?erx_m-;JYv^VP|CGWAkl*8Wpo z1A?q|8T~oAE`e-$#ZUE(`V?L7JQUf@=SlA4n;?-!+vx#IF{S7={Ndb zbxppt5BceKUVmreL4Ah{9{fAx5q+v|!E2o2Ew8Tf+(Z3ryr+J)?+Bmwe(BFo{y)O* zZaI$Z$P#tv$-p;LJOb_-cavsHvxb>y)({8H#^J#bStV2z)J>__6h+n4RF_IWJu_!s zf@eB?eJhQTLz^2q_m2JJzI?g+j>tgf_(|SWZ{$buEpG78b@}Ti>%5FUzd1^ugZ128 z|H5zdbAR9XKC9>a3y=77iM|WH5-;)-o-W4UN6%gKJZ$uRAHC(#$xo-};(wa!;j8-J z&-d`M`BHrRcyYw}@aK^|*NJa>e?Qk3xbinYC$3jQU-y-?zcf*3H!G z-e2%Hy^>d5U-;oJ`tBc&_Q`j-|L%Dx=ixpVUpIAgoqE;J|8xH9=MKGJ`bGA0K9di_ z$HomD@#Bzr^3nZKU%WfrXZ~>Pubz2s|Lj@xU4F{E?>?E|`|N)1lyjZ)lKTw#z0aB8 zOiy|J=3?TK-zUHLyskK{qwiTgUlUiwG5JYcc~7bOI%hbKYH#JM=r!6c?uYQH&qdx0 zK8rm6A#Hj7Uytom{G|R=uYbxu@-%+(_lI2P_jhSKcRo+sxg+a)ub}5ldco_{ymY1? z9`A~yz8ih|JU03rBAq*z>wozjZ^Zk=(dqm+`V`Lt ze^1@S-+o@>KC{ocor}aVKK?0sMdIhW<)?GYea2rt95r>n<-EC0e3Y+g_j%mUf}i{4 zzMmoAIR^)q_5JL(;wzavzQXV8==CykPd-fCPaK`cy*%_T;}S38x_;iojq|yB!{5ta zvhPnLoiqD65xwrRUwF8DcWj@Y7v}ty^KgC!N#i zN8k0Q*!5o{;kwO3sdtT&|8{Z2mp)7MCh@ZI^XnPETt>b+?&lm^zsJv>8=t+0*?cLU zavpGQ>E{J-Rabt9zGU#Oe)zJEUOoTLd8>KcIjwvg9-Q7|px5}J@zdvV$s^6@(PI%O z?kD9@aVGyf4}SaLcZmGmQJ(TSo;s(64>?Dko+rG`{HKxXr2FSS=j1=d(JsUd}1YecHQ+WjSOygTC;&lUSQm3%C}sLRfYr1~zt&AWAc zZ~Q4fnvdf5#*6c$`f{dU_HP}LZ{VpdkF!U<+(*yn!OwZTC0m`hs8b zW~AqX&g%<2`Tb_2@8soe{_(jvJ$s+Ks5=us=X(BK*8eIpdam?LygRqc2vZ*c#5axZRU&Xtk?68yvg74kvx-lhHIZw-bKI5Ss$-@|Fx~(Q@7oJ z7gzNhuB-f+dfB{*r|KPj{}?@T&Rpap`oGV0xV}hR9BuM><3}8QceKwr!}CKtKd(dl z{&x1M-xKHRJHMBo<~bL=IPTkXVe)zT*7}mX__N{1;(ojD6S3F&pVNze;s|cq@~HFW zZE(CEJ?;OquhW*_|Ml4JbD8on{&oM|e7TKp{!P7s-&tOwpZWB=9DU@Gyx+rrJ>Rwt zjlO+O08h{P{SKD%OyfA`v)A^qhm{FT?&==UnP4SxNccTF6vzu(|UPv?u>%KBReZF@aJ?B24eqH6oPxE}=(_jA>{pmgDzQy}*J+E)i zMg0C_^dzJIlKjLUecvR0|Jmfd({rHFv!9>1FJJ#W`sF#MdXFckbNeqxkN*9Qco0{S z3#ndi`FWpp_K|Q+p7wqzzpwI9?la(BT;Cq`Z$2unzsmaJUwx;a`lL-y<8LMB^n|cbb=2!aDGj+oI5zSMt zgM&OEFK%&4oH)12$Hnbc@QD1`7t{XPV(^`3$cg&&L8#rZS>%Oc*^Vitj#|D-e*2LqBmUmo77Klc=mbq zRn|MQ`+xs)nYMoM;2a>H$!$OV%!B)Gv##~+yFMKMR~|XP;0?ZrGws97+s0eZ`|{A+ z+21*t^u2A3Gq}T>ez&s^9M8^E^x5!%AMj0l_Pny?vG|w2A{XbVNcF1u%yspG-S`jh z;Oc%e=k3#d=$qK-Tu8<)pC^<*{Qt$^+s_B+LI0cw)(;t{AK&E}{Mknj`Qh7RyXS?? zdFynpo^k#BsDGz~C$Yczvzqm}?sZ-4t_6_dqoDZCLPkecde*BdDF3(iY z`ZapV5A>1e;JZC%;0r%IZtQy=J?Jw$KD|%m{QEBBa-PU@S?`sf&S}5M`th@T(ffuE zxsKP)8P4f%a-E*|1$TV8jy~|)>OcCP-Ves_f62U@Kh&EuUfVzM*mI9OB5$xKQeIi` zAFt?tmHiKq;mPv;*mnLs-S^@%z42r>^ZR+ZedH5y#tu9uUtSE7)hq4&th=oX>apin z&Sm<=0sg|%`KWm>=N{`AZ(Q%6`FXd|Q+vPZ-?rJM|1#s(jnr>H*Uht^e&a~}r2hTG z@qch^emG3Odf0Q@?ewd2J@>F<7roV^@Cg3qY1_B*ezWh*r~C0o>%V>Mk6(E86n(T0 zX&Wa`(fc;nZzAzed~dItPmlE>$c`+Ztlx22pI`OcmwxmWFOQk`O(grAYh0(V^`aLZ ziv#BtZShik&3}>o*t<`g-rDeSzG4Uc)dBjy$vX7cuRfbcTGu{sW#9f`_-*e<++R2L@cSwKEUyZlB>6iDr&rSMYM5axj zGZ{SC-Fhuv;7IZ>Ja*aVWu$Wtec9B^ue=j+~G6-lXn;6G2==4 zUya`KJRZQQc?aI?)ZWThvz|Ow{o!^Wedu*aTb!!5&N+DlreKqYqmk7S) zS9pc5m6tOQ-emQL(?0uaXI}ZjKJq5x#mjE?flKkdnSSxp{@e896W-vJ^U~9dbN}6Z z3Mcslp3Z0PH=bwy?~d~HJnF}3FMo{OoXhc~_9q|p+{B-c7lVNO#oyZB<$CaRzw(ja zb8cJkewXp|4j$sa_jA8J>V5iNRQranc+%&+^j&A3{O7q@zyC0Psh{G%zGnp2{j4Le z^!aS-LH7B(i^1nQGW+9U@ilMFxNTeiKG*Ry>-D*j>&DyHdT_qYI=hX$dN}IaJinVZ zUZ40k{c!I2mfzuxpYj*|touCs$>;J*`sK^+E595r2G_et@$i_oeVu#0Nx$plw%l(){cFQBy({H@%&5zg7Gd$3*4)l2wJGS*|Ygg7|m;Kw`&wlL3d;7J2lNUN4 zPb1k$vakEHkN)?uR~?Z5bKfhzn)e=Oe4j6?i>Vjz@%&4>c4eRKxuk9S&@X;)USkLQ zD{_uUi{K|&oAZ*J#Nx| zt$)_-cy$48kssxmoDa)~-OShS=MsnMZ$1r9#gQKJc=+D;$LT9?y@|f@`^P+Y>icE# zn)?m*U1uKsgKO*6KG)Mc{Tcr;dVFccl3G+NPb^GzTN1> zum6<(+sNQje%U8{s($c@pE@4j*gyIBw14sjzLaP7kKXmmucBA_@t|?KMcH_$4BQCyn%ypv7>w$eEPnB{kUe|T$lHopMxX5 zH~;N2FZ%SHFE74)IBKLWHGbrq$GP4-f#>Fh@9K}ZRfpXlbpC&dKIW&MmPe^;o-e@H zxunk_ZbmP>aUa$=4R7sB){l7l_tA%6_Gyc^;N9<+&bqAw=G|r9e)Q`1(6~;@=ka@g zPY++jYt9>u?~G?}{Tn-~k9F)5Jj>7E*83)Q-bDY~$Sd|l?jDX7G%qGkSARScZ{ld% zAAHK|#AW%i@f*MPyp-$tz3je+gLimCZgD9Oe#ySE3(tD~h@Qq5@9f_=N!&FKbG_@Z zKe$()_)}iP@2zxbCP-6wg;JlC5C%?rNufBb0Qu9xxZcb}if&-M}L)idkYUOWnZ zpW|=i@MY|L8b4H@%;*2=1DD{=?tZ^U^es>KSzo>thxF7w%>HNVsE66F>n4Alc$|IW z*N)qzUtC?LtuDezK6d>n}%XTd>XIeOZ_Ikt)tHUBKy)K=ac$n!;|tz z9t}?2hyK9@k4W?D-^@Sj&wTuAo~I{2K9BzFBVAY5f_wFZWBRL)@z%AU@psvee~jlR z=l#cw!}mkl#@(lluddq<|Ne8vRiB5WWzIp3tN3$^bM0NTPV$wy()@HY>z?7gn|}FL z-tM}&-z{I@e?Rkj{@P`K^+}w;BlWN6NVvSt{^IZd$vXP2=l&%3;q+}DKV%*GT0O`* zpUZ=uKlHqIH|sb*;jO&nIX?eb*L_UK2Ormsw~q5(>tOV>uRPi367fUlWqtGc+kUNo zaNxIf?5n-{!;i+vw*NoHFX3UwWxdv^__6CJ&eiYoXg7M`b9w20Am_C5U%YSiPkU>B z^T|GX^uRcyqSH=A9W`E?Cd!|@gbk| z+>W2@vR}^;+5aZ;E|PxQ=Ft;A*%zOB4mF?s^j8O6S5NiR(|GY@9eO@SPxIJAU;3>N z$C-_P`p2)u&wlo|j`1XYT&IV5!K3$+@W0&X!Hz@hpg$g&XJ6yV*d_iNzvj_1`MJD< z<39W1ueSB+;X3`y-;F)xxpDlN>%H%{-kN#pkn=$L<(bB5a1-zBmB++A{^7rK3n_1i z8|xXrt(&KO8l2$5etzLUxWmEoB|OJRyxC{n{ov94cIgj~)ZQ0xHqow|HX_iFZAC|f9=Fic)^qXu}|ITyx7P8#UuOTk9qv= zJm%cN-|X;wR()zb<^ISyiy!z!y}~p6RDaHRc0V}ao$>Uoo$){YUGI812h-a)&;Oho z*~c#LZLpvIt{YE(b{1zmf4T89K0BYgkBPsmD^APX;Gw_g#@Dlc{fxKa5kEJtrQbfS z*Wow6!?AW*SN!Z}U)TA&d=NKqVD~0ow(}cbHy1O~e(^Iq&-N2P#wQ;68xHtaKkc$l z)-TU8pMK_%ozHLZhD#(KHqPO&4u17-_22Zv!FBb8q`x*P?|HvN9WIpY;;=)sKJigUgZ##O?qw#zbeubaiC-!dR#{BlM{@d}jC)XPX&u6~4F;AO+@zHgD#XGoH5B8IA2;bE^_E=xP{mU!!_M@+PBt7Uy z(yMU{XSm;9472bdJnA_Ue}bF+$nFzA6=&=7Bm40u`?a3a!*%21Uw-KMZrktk4*TXh z{ko4hBJr4=`sp3JJ3o5E8xI;k*4fJ7%CDWj`;>p|?0Rs>zIf~YxbI7THS1W{I{Z&h z{cs_T!$Xpv`#BT5@JPHm&#IgBj(xQUuJAE`AN_-qeR~eDulZS*o?SojytSvi6p!@3 znSJ5VIN4nc6K*5vNpJnz`oM1E*IA!EeSYJ5?C8Gii(btq?5EdRoJ3Fihqw69_1SNK zIBep(``(TIop1fd$y{%I&?|Q1UDtC?c)6MPeA@ib_3UT8ea2mWD&dO{+W1b&uVn3t zKF%eslg)?s7h^dbwdooCT7UU7=cn2Q|J~Tp^*46e-#G!EB)e)yaO!&Yzx@<1IIAyk zJI$N%^&5Lhaj@}6`R#h_sonTd-UZJszk>@sPk4@A@?fuf&%*k{z-~OcaHh%9pZ9C3*`&eIp{NMTd#VfzCpWWAEPxGYyOp13%=N&EMD;0;<&#^ z+>bt6{x$yKx^BitFZoz~f{XP?l}TOR~o0c(J%cSPcQKy-tdRM)^*)H{aZeY zAMtUB-NuO@avlA8p0IBCUpw%2KjUi$y<#7nnzzi`WgqXYup|5Qb5r;C^oXCz^XIb; z{xrX_JL}c|;wJm|{Bn6Q{Ba%bx9O+%)<1AGPuv-29{Yk9o)=H^NcQHvAaPQ=>AOb1 z;NZE&wr=2O<34$z&)L-do554u^?BR<^w-aK({>&H^z^xlbsE1}-{&#-AwOx0yEA;? z$$ohpUbmxH>zV8Ew|K2S{L9~@c(Bh^*7fle4I-~D387H59yJU9op#uXmpH{8j?#b_k{?gke)&>#P+SNz65aHu}(tOEz* z=-oP>I@x@aHooC|ud^fmk>5%BHczl0FP=8`u4%g-`|-PZ=sx3aBI#j${4y?n*v56= z$Mv4fb{-yEf4d*QT|ONB*0^wfA?bl{R~hf~73;G*{_1--_z-`TPxN^{>%pnKcsc#f z6Z}zL1eeD9UB*9Uz3{&{ZS)fd&OvzE`p5pPQ~$+2{=mz=7vTE+=z-5ZcPE>#Z$BMJ z5A*1W@AwI?zE=XzZ({!zpR~cXct0$hhKz5Bpr#79WS$EADb$ zIMc^Gc7;Fi>3HXaud{CQXY1u-^a!8W(>%)0@@{0GXGPEQ@-uo_m+W|U=RH+8@@MfB z|77@#XVphM!XxAQ_mAt~AkUtyzs2Wy@Cjdwn|^U0p3;AthwJ~uGe6N^96LAQxBTqy zT%05D6#vz?u9vze4&Y7}e|F%}ZS18dUhD?9+5utqb@7C-EdccG>R^&YQOJ zq;ck7j$Zgu{~WT8@3Ej~##cXf(*qv%yPEYI5AZR5ztuPTWM227Z*XdSy8nn?@_4V) zW6eJ7vcG=g=(F{Y?;r6VoprY3-~_jCvakI}amc^?@|f}by$&9&pYXn(emw7ejeKJq zee4&U%EJw=;*J#O^#eWORs2RD<6B4R16T9l=X^oG*ws9c{9Rtc%Xoa-2M>8R^XLO7 z@!NBq{rPn_>-0H-JP^I)iRy#T?80~N(+6+oLw0TJpn6T;=Hrcj@Tl-PtH0$XVHUR_z=D1^`5hg zi~ssw-tFw)xPo*1RetEteD=}1c;cz|rQpk6xWRir`{RRk*?X3c@qHV=@aW*h2i)n+4)&R^zkbfSN}a}2_;&xB*{6EOfBsHeyxN~+ zU*ipq@fV)K!}-8^^e!K6gHPs*KX#Q5$s5)$&kmWtk5oVWow5FP>}7xBh=17eGVAcK z{;i&g)9Qy8``M@GIP1qg`=8mj;gRc~)stSyNAe-wbbs{JJzBhToevlGmCC_&-vVtsK$7QYSNz2A1X~u;vYU0AXXLrZjAQqH z#x;I7{qhi5KZ={^Pp{%D{` zZ1`0?*Wi=!_F=dB+B`1LiobR2=z92yKO6h2zx)ixgS1O+DU#FkFeO@5G*v(G+YrC#L`}DaEJ>c+q_ET4@4?W4OBMyykT!q*2 zN!NiNzT)40_H7=AXZTZoz%Tr1oUsEgnMW`2is$%<$E|yKb3gicE?@pxH`no{exV=9 z&gd(yt>-?6p5>i<6kKX2{O_XQVPyH?`Gx(-!^JQa{_*qn`{|l*5_j@Z@i!k%B!BVy z?dVl|@X)z}pR5O`@Tz%Y7rn(1T(qsj|Hdb7y3SSBF+TgKKm17I2|vL>KE$WuV*USH zzEZcdfBniH`dg2^!IK`v6(4T~@9MvwHa)j~#cTKPJs0p__;H#S{IZYnjrTRzGvB_A zXZa|4(X)Ao{lTy6!XtJ%zqj6QaN)1URrKlj=wIBUkN9goOFhu;csz^$>{or^K<otCxPu@mPIH^a$3qD;3uf)kN^VQ|xQ+?r?e)k1_XJ&cKe0fv8(#BJH#Pes@ z>9M^p;0JczWS{84AN8AahxM!Xr}O0ft>mZj*1q(EfBaNF(UX40o4`LAYRDwf?k;?F3<9U{q~>Qk0<2?f73_Y-DY0$ApOdd-CQq@_JhCm zvVZG<>+8&~9=nT)*x<@Jzvg#Am*mH_-@{A)d@nP;;sx3Bv^?`B`oba4Wm;eTo&mh> zGJfMHxc6LRJ#ozs;l1<2nO?@-1&6VFQJ=cL@B8#z1|JVIPaVqpgML?Rv0wS|<&5w1 z*QeMQJ&kYOnBT=Z{a)|<-o&%@ug7(KKk`!i9-~jzYdnTe9rrH#;=zlw!w2V*z6a%c z^oLLD`TgvxuIBe;7rY8SYkzNc>{_hf-yM^;65n0#P1X;ei|5&bI? zwdIR=!3V!bmhXAyXL&|k<#VF?-TAM1DEs(b#{RBkKKEaL82x))-GTe>kM^(YACA)R z>-iluze{(DPw{5H_>qrepYtz!oP+xNBHsnq577_a*Xd8*?e7@A9sT5k+Aq$$xA6PS z|3l>Wk>bp`!an1d)9*OOALYl!Z{?MJ{H}&P@qF~;C;8!L|2+N9CH;KIywn4D;e&Xo zKH?=Tq0$kBQgykH$r^PyQFT>c$rtmwLDC(~dvkRlP4C zj?7ap_|-Y9_YJRSoOo`2aSq_0!>8kV-oo$f*YBtGUQgnGiGM10(O+J|_uJWrKf=p( z`R>@i=66E-yOg~z3h(fu{LFfdNBhBXH~Tqn^c(?y`D7ox!awJ<;*fRV?0VzlDf$m@ z*5&)O=XXvQ&w2bl`SSMD{nQ)J75tu(-E{>zy_tQ)!B)cG@3i_o z*6?3_Uht>!D38I9fAO3j^xsB*c|sh>6Zm63{_u-nCc7A@J{(l|Wc*ZOI zu@31v-X<z+K*w$6D8{XWnJjr)Th9)LDKJ|Mb_EU#)jFc);=OetFG);{0jG^8@?Jr@O3o zJ+e4&@!8FFdA0TF@nST?m*C`FZy)&tUgE7hcV3ZSzMcI%r!K!9r{8?`SijG~-bF9? z;Riox!s>~#L*$#I?C&efgW{Bb$TNH5r`F;7S+{-CYbH_L2A~?u-kL-T!6Q&HCc2aRq<8WViUr zdhD}qpX-P#_*uug^tG=3-RM<+#6NIqoxr2ySLcpJy~{e~!SKAi`PuJgpZ@)E>TCTc zp1+uJ;;8tuPo9$>@&E0`_{F*AkTxEzvo756SNygP{bt7TfA3q^DG#{s%Xs&{%lqT} z)BVBQSqnnHUr~>qvOoT?55MSb zU)RMAf5AWc%5%+w!JnSu7Qfh0`>nV2`xa+B#BaFLPdqJAS}3`b-{Q<-I&F?|u6E-RS4OJKFXA;YE+)7{2vf5Ia_Od^p;9s=MFB?hViChpdNpXZ7Va zeqcX4_vsH$)N}DyoKx>}pS8+6(bwl?i+Evo@9*qyUwV{x(PJGu@!b6syWpt4Zk}hK zo^R*A!#wL)SKZw9H%`ReCXVFO?*GN;3oq;Tb6~v2H}>NfKE0TA;D#sNZ~WiqvCBNq zKYdP-=RNXQ{eK9q>aI9^lYa4O9KVqAy!g=1ZySI0etK)Se60Rl#opaWc@vI}tGiFf z@n7u|m)4J6p2xPn$+!Gqyt;s&wJZ3@L$61V`u*#)#pA1Ki^rbF>;r%Gls?-005>?P z2lz-I^)UGmesC*~g0DDmy*!5>X|9PAGt{KaQ>;MKdCcUJGzIexIO^`8%p&R_CL zpX)r$_2#AE&%VZ;_0=17)^kcyzk0+Dd}lx0;r(LtXuSVw>|OAQAJq?dSub%T|Hy0j zufKK6JUoS)emt>1JJ=b2EZSRp#rak2;D^{*-s3y|mQH$slTVX`_H4dJkax@c>SDSaNS>wCc&+Il=r>}F7dzTGQ|fU5-0LB9&gVT z>?HZGd1;M4>+EYC{v?Y(JLDtrhj(}b5AE=m9?ds+@Toj~&iK3F0r&f9pXnt|U&bDJ z0AJ{B9A41#D(i~Jm(!LX=`H?>-(~jO`t>gJ$&KHv18=;?2mQsJ-td0RzT#Q?kbd^z zed?xo>+_Sr9o~JftfYp zi`jv{w>Zm->N1Hh;y3HcXJ>gPc*`@*>v&JHcQ<&$7oPB~+{Rh>$sffZuJFdAZC!I6 z4tU6a{1SWm++psw2(&5kMV>1Yv(TK&NsQP-pZ5o#3y#~r*Z6}|C;r# zf^%f?;sAdrHt~U>TmGRLJKYG7uKRm$iw->XoIFM)XLVXCXaAbFJ zyq^8-+y4FZ^TSrQ4vBmF!Q(3Wi68#ZuZ_3xY>Hd3pm$v&3d5FIFWF7X#AM(3>s|UULW&d#WbK_5*;Ai}RYvQ8*%zW`y zzZnmA>++v<;kuQ^!#j4VXSuIE@%|4-J9^IV^ELdx8#|j11he(b?3 z_Q3V|>?0oFjvqaLzR0-X3BUS*U*Slu(I%hx;c+U=TVSU#R7qcS!_1h=s^*+a(bLA=TzYX5}Fz2Dudn1Rr4yT^S z@YnwIv_E}}qc=O?!(P1Nm++PU>!0`o?|T1deR|*p94^O><{kaJ;Aj8O@I+j6zVY^9 zxAv`dgJ0~yBX%_o_$hdcQ{&HYm-plybyvP|-o!69J1uSd#b{Kp=Cv%l-*!ON_(AK88J zoc(Yo>2WvnoGbeLz;jLcM!tWFzOO#rx9_RqyT9}Ka4|gluOrt#r0u-V5AuO{y~_IV zp(lOF4If(f`I+D4xzE)d{(e6D;uXJ&bLTMiogex+Hv3~=?{hrYqL2KO{X94G`FYPf zACCI?JJZv9ZST|nHu?si<{#%T@%Q%P=m(#-RWCT<3n?GK<97CO-YgF3heLV3pZ%6~ z=HW3ZPm}6|_~|;CkN5JP{mg6J?;i2o{1%LQFnq1yy9e!d*;zR!Fed6%pbZ!{EPx^`*=eGE-c|#o1`#$@_ zkzX&00A zBd_s8<;xjYKL35zi9LAf?>(RWd#?Y_kiZA4m4RU3|sU zFOSz3yz2L-%BS+1yfwJ_9)Qzxl6)?@zMu8{T~za>IP~|>KU^Gn+V2JUG3}p5F5gGK zi^L;w68@+o_$yxVUEIiv9skY45wGaGuK#V?eXoZd-yZuH`S2s&(d*x$U;M&9hd-y^ zbv#U7$vL3+-+g~{^zwZqOZg^G*xxzva`eMHxHo>Y9$e0NCl84qcEwMJzlS+b@|gs{9EUJ*+o5QKIhlnaeVpM&(X!%@O%-M{aoNM^O_&z zpWj{_dA2wg;U7C6b3OZZ-8ZwI`x5w8AO0{O4%U^I_-W#%-xt!qmkPh^i=VZ_I@Wcc zBkp(6f2>>lxqQZ~9^MI3zC~{zuy44L+l%xPG?&?YQo<<-d%$gqu)Ov?~!oEzsKXe zQ~if)-Ulqd;d(dw6j%9_o_M;y7!OW9_I$4A3iZP}t#8i#|83^4AF>WUUTQx~zKg!= z4{0Y(`Gq zE%DKM`8wmjiiAJhUp*Z8B9G#ScyVs8{^|z4Ij}sN#!q>EE7eW;tUMM6hv=id zOZ#T@Dvldm>C-&V9)8eXXC32v|IN<~jT#r4c zzmNEB*2{ew{n^+13i5{->Y);E(6>jCyd`=trOAAO37y-Hx8}2LJFE zoLw*9;9@^|!HwSVc3pmcw>JBlU;k6)+i#b)b?qZx z$~Wq9fB8q zN&eF|-uhRW$B)|NW%PbE65h=_kGcLj@?|7@$=mdAaAWsp{lY)%%x`|lI`#W~)+eJc z-Z-yUx*mP`i$2Xma1p2Soi-fBgEombuH!v?tyeoQrsrzxp^tbi&-S^#9k-i)(K}9hI`z8<{w493Q5io$znn?K;^o#qZ_xZ{t)v(y!yy*PEGF{Qlu$>V-UEe{B-3zs~r_Naswv7Y}%6 zJv_rJ>$;A2{1Kewnbzs}1HbU2c#1Fk!PmO>5ohcn>194Y;OF(=SKPzn>UlTU)gjLj z`rL1$e|e*h?`J+zuxz5^)#N$czBZb=a=q( zIXJS1{&;eRzvm0vb57#fI^E~*Hg^0XZTvoL+TvqxUL+jj=kgqn!}p%c9v_bW>-kT9?!Gxe~F&vv5$W22%dc}!gcz<>w4D3>pl!}u_n*;+eb#qAgEPC?b(3}Ft>7oWfBg1hG>$!u3wGdvHht|+A8|qMvu^ON zUGyU1NnU0i{@7PP{#YOG!C8K39{OVJmoLRXUa1fIld zsqW@Il7)V7&$`7;o~j)Dt6%a9{`+2w=D}ApzWGdC1P6Js=Q;8F7<)cM=J#qA`hS=H zyf1S0{YCF`ogZS?N9#U5{D)t?zwYmq{H~ebA1VLw-u;(6+wZ~MXFq(%`-`jh=7RUL zzsxxPSSD`PpT|!NULB75Ej?Eqvi`Tz-*_3j`g>oVkMw*q`1kYXt{2`d^IqZlb2zKd zv(Nf-_}V}3`F@1I`v3J&ul1w9FEB6psrfg2^S-*gQhReQW3J)8BDo$J6w?52{{xK6d(Dt)=(r>2KZ}e)T!Ccqwmwb#crqeUB?~k^HlM zgrEF#d(`XX5B7x*AMxhY4Y@`W~x1FTe1c`lqg!FY@AdvE!ej2j0G& ze)B)#>xb#b%hXHXbJD!s`+|9|@no0vXC3iazAlNkyzkrJzgzaledVP^zV{wo>IXg^ zF8)3C+(gbfX#F`}43GHh#HXB>@;OfZB|j{G82iOb&T)ND1W%T$?0d*~_2@DE>-6)J z^_utQ`ucPA=~d?KHtXG{KlT)Naq#9i-h0)HyzhNY@mSu4XW~J<6|crSH#Dx~OLjkv zUVYE>GJ3mT%k^dAef>FJL@vpfy)WFy&Yxx-{_lI^^ZxxJ4&+mHm_25nBl^1kW8d)V z^m~}z+fV+gUw;vNGTyncd4BGbT8GM?-4U1ajhzdB&-JBs(7E6~`#m4o@7al7@bUX= zOU5nc-DN(z@sYpa6dpEC`Tzc?_bE^5Ph2%l;hFPj-}5?T|H<=9@2l+leAe%I_f5v{ zA|E5=iMtsu-q|I^({Q2 zM|trgcE?`&w@%#zhxkD~svY<%zt9ig_gO!D@b{JdeQ^gE^ca}MY_(bM-Q_kNqd-p>Bb6L^*U-Z+AP zc-!%7^kGNd&x8wJItTQ;hezRG^6<$X`t7nl-s8{X=&kO!5AENb&voa9eqVm?OQLW2 zvzzts=HtI)Uw90Tz3=G#Nc8A=GWg(U-!~5*JXdI5oBrm(^1{B!*R7wM_2pU5!PJrB zKm1$xq4ut^51u)z6JixR~ZkN#!KR{f|u`!%mShvC87jDt(!y?DzLA7*{^ zCb;&!J-=xjsw;342j6F1c_993Ucwvw&KsAbr*lBhc~cjPe|a$H zvqfGio~iH425-3Xr*o;i>AF1Ie1AQ9IhWLq?4SATNB+-vd8>Zh;4J@HH|I~!qw4R( zh2IzI_kFb<$|Fy~9q$u&J!fuk>A7x~dGSZ{TJp^LcI>~){! zcbK}*^VzTV#gEM!>?QFm^O`5|KYXWO<8{Li^@pB#;rU2-cDi4+@5I;1|ITG=aNCXi z2!DFzd=1a)^)%z-5~C z|1kZ|RpmLJh!gfYzpn{1bcZM<3^2cD9~eT}KLl=tdz{dPU` zdX9CUCExK2KEOTtxxavC`TH1s=<)Tm@qt} z7+yQK!5uH)TYlJ&Ua2GEsBsf~KoqI-;ZN=^Z)x} zyK(Pa&Ay)Z#2fn_qYwS?KK8Y)u_y6!(l_(rk?ZB(tI@OLtrL5UYkb6Rdb6MZ#GN*N z8rO5EI?g_EtbG@~cafKo`$*T-iJSD})tYwn?f(Bc{npz(9C_aRVSKQTwsR$ZsPpPD zJrn2n*m#Z}_#y9-@(#Ssmsj-TF^S*K&EiJYf@j>#-W&AAv(4XD=xejlihtaR~ zD0RO$yp0~>Q~V@v^!d&A8TVsk*6DLX^*VYs-{GNkuQUJt;Wz`I)N?#w2i~`iUC%sm zTHf9i zj!PczeFnSWpp94JVjca&lRO8{?)T<6uD_Sn@7Ial{L*;bUks92zxntk{mDa(gZJsj zJ2>AQ_wDzJsWW}Pk>_ll!}R)7=575Dzp=M|6*uY>UIy3Zo$#%7*}TLD94a$jyZPWY z_L{#NeVa#KNB>_(K1P1I>CbifMxN}s0IxT3(C=@5ycj>Rd#647;4QrxkI_e-hbKPL zhuzxF)y+rYefdG(L-fE~d41c~k2mtCIv2lG@29b=Jo(+R?fmY2nUfrTd%oj&=IL{; zFJ?XQ+4~Ol=tJ!IE>hcbCwj9(d<2*N-SW4yPwUP%)8-faERKmg_={(fzU6Un(qI0F z!)+Xg*Udxs(MSGzHEsKs_u^{37~WlGUgEO(^xd(aA5NbqewB5zf6tlm`}%&?UDc<& z=eYcke$w@fUz~f`8~wd+ zlYLuh9)7(Wdl&hClV|wNbCdE&zKbkBb>yY}5l`=l zog_ZJp6k8;3;&%LYDak3ICznL@Q%Dq|9zxik9@Jj(l-D?i{z{DXgFzfYH6Z)g8}-t_F* zPsjGN!@rMQ|JO!NzrUmCdl&La`7eJzUQGPM?Pc2hLJxTykDcG)4u@H7StcK!o=bi> z>goNgbrrXX}?knK; zZ29wXzh~><-p|(-`bPSD19jE8+5K(L`EU$w?thwh=#TFiw|KrR&iP3kT^;poyrw>_ z$&>VdcKF-a^K5wXZ28Nv&93Hm=LvPH=d* z>Fd$UISgK&Tfi5uD}zVz7Ju;iP3-Y`0e(a}$1m)IxAEfqD(fV^oCABF_dHX6|1$R6 zMc#~b&h335+{LAH6-j@5)^9vJ@oAlX`1farY4<$#yR_Z!MNi{<-hm^3K3xni)IIyD z&v1fk@^|?Wo-E&I9r_Pm^4od-_%8bXdSv4VZtNG=`x)o{kCe~*IlOZ&e{cQoI{fL& z?(CDg?s?)V9#aofhx+#}J)g=;a3#M8KK5Z3d*S>hIuI;4IX{pEp2hux_p!M zByl{Qg&%UjT>mQH(&BHx6&AF<7Z{dEU&w<1{9@0Zx z7T4Jq&&jU$tJud+=F|K6X8wz`Uq{}JlppxNxL(e6&tHsdzP`^ow~<-D`5N!=ou1Bz z>fsL;M<%Xh;&s8d$-lne{n`5O$Nef>Z&C+)fAe2v-QI6JrcL4n{rDYEo-&^NI_>Rs zd}8m_!_gjbm^$LV(fydb(!Z1SJfeBpdg6AU{rNS1^c=xC3s2Oe#)J9RJ!<*C|H*pR z@p($(&AG|n5uNm&{NDHI`uVPS#KV2?pl{~6Z^9?~HvjMoeC6>E!2y5p#kk?&3Fn+o zmYrFiqB`7QLcx*MooZ$+N!%m%oi%(>^=bzB<}-;`{KXzi+Z8ueP5Z*eGI=%fEd z^c6>VGy0zX{&w({4||STChzz?i~hZ$de-{R&-kLPuI{6U{7D~j&2|2}emIUS9(a=b z7|%f}CtvoQwSE6W{%QTQZ}^=1r#_ci-yiq)T)lRyi@iS)7hB#ZkCspJ&^Es1!TZ@S zct3mg-;eEQ&;GxW>;H%hkCyL_?bfZ<&)exQZa34e-QfwnR{A)nv7z&%}33fzlwh9ZS3gh8sU@n5`BB_rYGE<&wkDSb8bJK*YHRF zKg@V_r+)_kS9-~R@(&zeMSpdOH109iN9Q^IalUZh{Zr=WIiGyczd!$%<9@y0?(e!y-Z_1~7=MWC z#^Ghwzlwwl33q;jC*0w|FV|Vey8EMkecs~va-Y-vF4xD7MZUu8-k;boUN%q2XY9oXbujql^WNSU_WYLnSUjj6H=~z4BTxP8tJwV%2?zBtdCk0j zUci35g*QFM@k!iYX5U>Tz3_?OwtQzdK84?BpHF-> z`ri2KJulW%^{9zsVT#g;h`*6eq z^YKT&^|s^H33l>F@GNg%eu`gtZe8o}NA$!yd93dn&GS{?Z_~eHZd_Q8Jvnzc@6`|R zb}o@`#EG`L&%dt2H}>W}@AN$5`}ps_j$GBrd=)d1<{EWV5g5GX4B2=c6U} zM?J^VYvQgvsvf~n9l>u>J(CaXhr{?2|BAbKW5-s)kz_ZX$y0c+&OY*^bIaLtPwSZv zuiKgL+`hg$wzubY{#wNS7LPu^+DV)2%%Q$x8(bI9iexBsHuIEIRZ;s>Oc^d!w%qPbm zeQ&`z2LH+{d53@T1J1kX%TE4x-F$u!x8h7ZYnylb89SU06W@KWA?=()dR}Bt^E5r| zcN6`?cjw0DN&1TyyrDPy?*`xHZKS+I&$RozLp>JHyRo-*n4a__#ewII;nDI_?C`#n zx=8<V0JqfSw;Nj`64t^t~K;YHKfi z;qAQ658_GuM$hKSi5L7nom1Z(?T~lmW#jt0yXs&4As*pM$|vlQXXyJTcDv7hH|;+6 zU?2a!I_h^8zs}W-`{3=I+VeF$$X)i^N5W6tm2dt$*Ps0*@~4q2eJ?Zr*AGWO_C12! zKfCY6pT?WKAwRHh^v56m>3PEQzdm;ekE##-*~8Au(Xa7~C;SqBEZ@eSt^epNZn7Tx z+-LVZB#u+hU027>&KXbH*ZGxX2YtnZesNDA?ae9m^N*X;W8c>VOf zS@C!EfulSlKGxV%zNRhy6R%x||M+W89sQgf5Bl6CaqGO3&*M(d>BV($l9%Pxv-^kJ z=(pL|=NaXnx{KfP75lgPKOXUO-*d|MslQA3)$?rff_V zGdO2GpJP^!@1pNKH; zBrjNZ>yO)6&vVMwaePwmzM66JmCr%&M?5z_t3SVuKJuct7AJTkKWVdLi^DGKT}SUP zBIU_%(~jQs>+_yBGrw`Bp2~-C6u0`FH{6%~lyxF|-^O0^)ur$le)S)F`A7WFBfNw+ z|A_zABm8+6z1%mZ-R}#>i>^Q8eQ!^{pOQY}N1MKvnHT=h$9doL;^v8)jF+$X4@XAB zqw?kS^IPr150d_*b)Rqcu`k}sYx>32i|BJd(&uo^um2bR*UtFMd8K}~pZ&?LUi#UE z?`!NLgP*)3KiaqYm`|EdMqlfQ$Re$5rs$#jdO`FZaBkxD|KKVXd>@%zX3UN5ZS^=NTV6;neHVgFi@h zhF_Xz@np}Q$l8~7uV?@8T-=_?|_tz+;7Np>Upor zqlv@DW%9pqc!?*CKRmgLUT}{8%adHEU-dU{%PY99S(kr<3;$QT{&L3CyZdeQIQ zVi=Ck+x#I8*ef2QKR*?h&2{*l`6Kr54|}?f{qRoRR+k>5_aX8wQeJ$%>A&AxXBWG} zC%BRLMbeXGfA4EI_Lm1)zioQbi&U@GN#`EY`O+x`Dj{NsG&-19E|>~ud3AGqCq#=rLEXXEgNefUD(HS3w@{)4^d zcm0Q>Ma^&WO7eN%Kc46No_C(^r;-Q7OL;;sdTZZAKla0o3G zD}RX(^;aA>|J=>G>Wz3I#ZB!@zUzH7`$+b0?YNHqv4eg+H@F^sT6eyldCmKeS?6}7 zJV{S_%L6C9FNVo*<)7GN{MmZZi@sg&GV6(tee}ACjGaC2up@N~-t4z;>*&UhXK}yf zlYFb6o%EES@#HFc2FKn92H&20+z;kFgh%+t4)|A3`|N@feS$Z8`OCUJe?5(UeJ&O~ zoEPm2zms2P9)FU?+lT)2-j3sM*ZbU7ev#K6W1skizq}*g>X)bXvCn<%n~lBf#~b$N zJVZbC7kBYzfBAhY`2~NU&;Ib0ANi-xE7;E-ehpvw6>jwGc>xdY7yk9!5&J&pr`l;9 zk{x)5-{SBPe7}l>cb+%nf9+46#S8Y7XZEfA7o)*-r2Ge`L;Br^Y$w|s{$T(|OW@W7)!FHt|=MDMp7>A8+NZ=CbSQ^t#nyR>g2>3#ih#I631{;f|p za~-eF>JDB%->feV_y;e76My&pz3>9>s!#A~-3*@cx^c}9_T_he-sWfHNcixpwmh?a z-t1h-FYxC#yb|ZT&)^)Mdwx^9UT6HxNO6o;+Kq?H4gU0CKfCzj>eF@W-@nf~;z(Ry z&iLZY?Su z{)Mk|I4KU@Ul@m1@U<>|_rc@#Q(WMK@5K*4VxPLIZk+Od))P-~*Umc4ce#J*`!Vk> zh6(ZwyS8z~KKQ{sJm}wVq@MPBFQcFODDSxs6UTT1XMCWK z`;g6ftGMH{_>82-NBhC)P4wdLc~0K%U0FZGzSu3#^?QV#G9Rzt{VM%%jy>Xsq&HsR zd(W4T*`M8M=#+RoCl0&2cEphJn?y(HeSke&qtru|Ktbw*Y97?IQI+AX+0mxYovAM9r2U(i$8tk zpV+n6c z^Nh#O;iJE^@cX2v=N}th6=!~<7kjt*Kh1tVe}mt%pQiut=Un$Wt@@S^X( zZ|$*f@D>N*&B?CGd#Asz{chIx`MEsO-{Fx@=_MZc`*HMN@E_0BY4H#o7UwtodYk$3 z$93Ab(Mz08p7Q%4eb1$JjGw}5d070*i*R%f5&z<;^(1z+4kr#)eD}PM-j~sL>RI2< z?Du;O&L>`dHRI_+Pw^n%ssr?IeS-hy^V#K3gJ1vN@Wr(IeOT|0`>yMcBlGu-+wb%2 z`z*arP?uk4e%3MH-@SF+x5sg(_q=!0F0bfCic`G7BiF^(&Ba8Vco*m5#rRj*Kk=RS z1^ay#%TLGa&(=SWOxybzeeT)1@XPGGi@ZM0JMr;d+Uhy^#q>Mp_nap#KiYi% za_np#6)zu-{ipW`e>dZ{ajZUje@$NP-$T(4f8Z;x>^J+XSK|4@#n}5UQk=${P@*RSy|Ut9Mwdfbn6pDX|2NuP7k zi+`=7-~EUCa=d`skJ0Ndk>5wko6hOtSbLpuOZ04>6DRbz%DDKk@sxJYcboeeJQs)Z zs`n%NyS`6ZUtVXoe)`^J9DdQ$xVO2^kNdQTUCR=`l;6oG^wNKJF2a)+S#Rqn>jy{Y z{hsq&C%5bIi|fhTI@vZF8;CmP1fUg z_0K-RwdbO5W9KFw)PwTums!_-w`r?O(c5`R{U|SPXCLdaOPjs+#RvJvdhVCSt9-wR zfANO5YxLaD{?_lg<<0chkIs?bq(3|`ulm4|-@nTELuBfD_0ImzaqK0Fleom!&%{CV zF~44341d@ye>@+3@Tc{NeN$iiyYK41aqQjV-ury*#eD*}RiH zV7xf$IawUme>0yQc+Wm~$UoMrz3hQEyY#~WFYtlnmvv)j@|yh8^Jens|IOa!d;8d5 z+!Wu7VZ>+lZ$7z=e$Pk3VVj@ePQumr<{x&`j}$lj6Q0V8eIAP^TfFfJ{;u;6iEs4C zKCLg|k^4yT!Cv|_A6f^#?0_@-Nc!`O{`djz?k`%0|7Gy+x#a7#zZzLy+)SI^XEJ`o z>)IXOwSK@s+>u$o_-xkO`oH^MN6)O=I_f+z=S$Cb+{d2ogWts7*iBD%;9GgZAN+86 zF?{Er4bK|?chNI>hCl3Azrf!)fgggS_2`8+@R47(>$e@e*#}4Kh^yu!ygI~Ad>04! zCJ(9y``F8`pV_y06kp+}E&kM@)G^N&&ZK&*-qBb5T0e0C$E~ct`Pn>@-SD9=ei#QA zZP(3*tNN`?@2B9-9{0KAW3IFBW!k$)@u9xueBAthcsP2@d9(4ioBrZpUH;&I{q|dD zp1fu~ymYQ?{okB}MQH_6|Z(N~_i8@tMH`SdCMk0a$>bqZhmoB)nnX)Mq{N2U)k=^U82QPdn@8b`Cun(ShA9(UVeu=X~_LX-?c@baC zw;nlKFH7u`-|&dvDl@M6&pKPZzKmYbDPR9rj*j{MEzJ zQhA(TYUlM_7dPx}-u*?^5x?y6{KMxb?&lvfUR_|nI9YQ&dKLHJyX8gmOZY~w&-FVm zlI$(t@5WyBzI?x(ez-Kg`I+DNhn?(WSK`t019^s>eNMXz4mYze{opSi*xR_c%sdjV zq<;En2S59;|Fik;arAQCISH;khvP9E_R-J&?1W?cXZ?Pjf=_r1-z~3<69@KRXT8Sf zZrc2L;!E^X7m`omLb9`;FW@uzWSvNHxIOQ{L%xY0#ABadh%fe7pS|*f_D%Mcx5FcR z!K3m9uKZ*@IOF#r>)KzNAK9Z#>fb+nl5gq{ap8Oc|Hm2c+|&4=FFg7Co9G88_TU$M zlh?#wpCdfYe*GSUw`t?Si)lArea^9F-{34h$>z`Ot4&%DuZqh?Uw->6Z{dtj@qhD8 z@a*Ty>{WN;2R!Nb%;$6KzOUjvE<9jY@~8RifkMk!R#ZQXI=8`>Z?qoz9u>(;r@lJNc-;&m=!s58tk4{?`9} z&y0R=M&D-UCRyIq%|q<2C2s-v6k-{2~7NfBeJ$&z}AH;XgEg_UzwB z9)3E?e!k^=(E9Lg^z*#Ne*CtZ`F)Ro9{ihp<@>hQ*t>i;>n`$H*2(jR)9240j_aS^ zD~kQq&wP@8>H<9`&-T5tb>nw-7gs#;-Ua{g=c}>1_la-Pmd_Ih&hzE1`Qmk*dB%xv zd6Hhm_vzxuyym69PW##aNWb@woRjhWyW>8-Z>+yVx&Gyo{-yQdaP05*VBulw=Qo-6 z!^m~k@B38!z5#xT^xjdwUu4Tyyp`8T@h0y1$9uGRl{o9~r{9eoiJ#MRWxV=*>`dN~ zzr}OkqY3W){`%y##^o2YPVr$keeg#d;phHhER**J*VFrh$)o&&C;fXX>)20R-o`HW zM?d)#&&o@B%1?h8z1AP2--k$XI=u3IS^fU?MO-~*f9J8}wJop3d*6fnx8pp&@6q~H z{KyO;`TM>Me%;SLmRTk)PIYwb^|?i#SGdo|r}E-5 z>&Z(mk9w)c_}RZ7sK5U)^YAcvx!(sM?}?}9$93U%_WpAH^zDp;gE}kT-4FITFx=u- z;~FR7kvzZRlRS#2$uFDy>30|Xok@SEtN6(eq;v62@cH^^&&l4m!GWF0+r6KKXX?=! zxzLxCPam_7eZ|{`mwo@!dd}-tnIHVr`Tjmh^yQE8{x0+An>}G zTIXJ5T@sFXPv68Ze&BWM(|^u7@HwO{aMVlr?5l_473VEHmv^1JdS3c#*7Lo7Z_`#! zze#)Y@~O`AzkS2s{{H*$<@|T4{&3XKIph?N$)~+fXQ%zeB|gyadGxzFuDkR+99$bm zzsfj#!9R7we)zy&yIHsS^j+G&i+mILG*bTWIqEX~{1pFqE`m4p&leZtS$t%t_?D0G zD!4U|Sf74#-_!5Ob6;pb?c%nMzWN&{@YqK`I5{VLmwxd~@7q}qE_u%5+$lewem8D- z*56ftPxZsYe?6|dE`J=kzK@K5T91*7w_vWtJzcYediHS5Km z)<@6R#mnPS@A}96V)+C2%dD64hP;zJR~+%+9JkDW9hv*)h28phxqkg{#G~ghe8R79 zHrLrTd{f6y=Pi04W}bW}U-rKEhwT3@63*=3XWz*?Cmy{||Cb}x*XF_d>Bsw?&u%|i zujg{lIm)AqbN^aC%HPR9)|bC4gQxmqot`)4Ieu|Y68GxjF8V$l%e{n_9AoBly(S?)#;_Z8w%zPE0l#~w1Dz3hKX|5n18zWdp) zda{R|cm?M-n|0Y?z3W*I51b$5Z+XQzym59r^J@3R=jrckk~i?b`d&vL{=HB8CX#>Q zn>eEvp2AfdpU*^fWjzug~h&IfO!5B%^qylXy4dmC51Zhw9k=iBx9ahHAL7x*== zg|Fq4@$AAM{37u|TmHu{elU*RctwBv#cqC(-<@Y`KYyA>&)e9^5Ab#UD%at=e>gH? z%Y&`|>CYx0(<-6}`vp&4-OX|nZo7hbcJh+Sf_ZxZp zDK4MGM;wcjZC!Aktli;TdH8zvYuu;Kt2^=o9<=U?1AZ0X)`#yQ>pw=$ImG?E=L4tb z&Tlv4rhPgeZT%Ddw>Xu*m$M!m`hEd_e@;3d(Hk!D8$9vV{_rZE)_ICuWca17$j9|%)5U$;@5LAe}t#%r27r$+x~vNyas>v@{9avKW*``oBhSp8GoW5 z{P7At#l^aCwLg8}#Sd_QKKnPm#m~#>=WluUY(KoR-&XD~#?sg+&)|8bc(VVi=(W*< zA9~(^yZnz2?1alY>#>7f-T!f}_r5N102kx!kC$Zifd`)6#C|wj%|7x4e#uAHJHr`Y zVn?sr2j87@+-JaHM~~UxdBb}eeZKhhr`Orr=Qz2a>GQO=SvTjZ_Pg?5y7XHv8xE!aj%iBKylfFQzR&^?b@t{Kxn#*0tmi>Le<+`7-x%&K7feeBoX`hlJOycDi*x1aptJYbyt`5)hs@9<5W^jwQi;@b1Y9cw#EUpA@5A%PW#aaXch-|P@!x**(T2A? za65XO)tfE<694q0SM}M&E_#skA&tYc@EXqIL47ap#7%HfcNabjh^CO zyojIO;8A~U;=a#0w(B(hv%Yoj(<15Vr;V5V zfj`fqNBrF9Y3}1v|KuNf^xQ4quoLg)TYA|SKkUEG{?@I1{9+vZtYbfR*+)OU%)gv{ z>fi8Ceu49u+(o~uk@hon69bTRqHIQZ<+zl}$67(c+D{_2Z(Xnw>8ILohz zqsCkO+Hc?N4ZZm7Ci{;+yl3S-7VW+tg)iduBVObC_ZNeQ&n@4k?Kv!dz)hZ_ z-}licJp71Pa5RrU;S(H4IMGiW;s+T!#qRe?=ZcPdp~tZB7c-DHy{jm~IKb)lH4eque0Ic-^0EG}pA*K9?Z+NwU-`Q6 ze}6IjlXpD_iicC~H8hIzWbE>A9Id6S3KrCJZe4T*YL!B zd@S$jk2i344uA6_f5XMPyXd$0r{};oV8@`HKS$A6w5*xfpO3@#rczm5#Q zt@FN1o)dqK-}qC#uulDMpZPrd_urXV@{ag&Uh@FE;knuk&#T!VU-61Qt>5f?pZWWd z?BjoWbf56V{no=3|LtNtp#KP-jX!nwyE&IXs$b55@0+{@kNceCd~vzWzRhQ+oRfZM z6Zb!!ulwHLOaJq2)(0o{Ha_KyrvADp*EpX|HlgXY)xgI><5zwwDb`B!~m zH%TA!FN1sXpE}<64e4|E1>c%)99blti`)-UnsyyE-?z4)Wgb;s=Y6bXm$zH#w!xz9iBSo{KiafuJ*8^6Mvv@brc z_OtullON@``hoxWRUgN0V{r%{{u2kW7r)B?{pj@uXMSe)l6Q(TKH?`F z@a@CwU%vnHe?5jf{qUpphTq`e9D0hktKfVax#E7G>u`^L&A;kE*3$z%Wb>l@z+MvW z{2#s4arRc;MKAowSbUZb;%R>|JCn|f-s)TXou}Eq&)fXqIg9)z^Ku_9{L;JxZ}vH# zjJ@y@Pk7({BYnW`$Mdrmp#3hW%f@&p6K?erM6=dwywt zg1fj9mvEpLeuYQgSJZ#}Wj}bq@pACDuDFF4#qHbpiQkUPc>MihH++A}yyubn3x7ZP zt3O|yH97vzkzf65vxa+ zp7v+`%}>$icO!Rx=jwZO54pZS@3V7m`I5ZQI8I;F-#O;JO}{TJzujhEc%QO={NDJ` zC!I21eUwkPSr;7ea@XgP>?`j44q2bq=TFb2mpNzn?0uE@DldH3??-<;$Fn|1$gk{B zXW$V0cYe@2%XYr}t6jwO;z(8@=g?FC>4w4_@L~ z92>Jc__B-K9kX8C4xVt{@_Wi{_lL8ew{3nu(BJ8ncX0if{qXlGV|ixF82{Lz{{EQz zB>NA!KKWcc(P!HxAH47{`9$89A8IfDM*6*-?>%pSob%+3&F@+1Id!4mr}O+r`ny5u zZgJWk&q&LQ<$-!N@lrcH$FzUbFUc2pYy2rV!54q;a$P>*m+x}@K630*Kl=Nn-TWT% ztKFX-|4o0t+ue4*JCFPCEVR!N&wg)8;)iqboW$2}qYpdOr4Knzz0L1g{JRw--uAul z;M(66>jzqwllSyBYrg8|(82qw@MFg=_Ra^ky$AU9 z^Ms$Xul$Oq_)N+p@&YODfCyX@Kh_VM5R`-1=QzrVx5hu!a^&!0!` zB9Hi?&tTWxdEfRY@)legFYjlbK7^j(Y2SC5k3Z!Zf6DKqd>}u;8E^F+o>#@)PqFVg zl0Av%>i6-iw|rea`}bzNzf;dAzr1{I_+9Ky{&^EW@>Y1h{p;wn{l6o>`j?SAd3W;t zOFYG|+vHP!cSW5oubbCq{!4%Q4`=<%>+b{oes4=2_$vP2{(1B{hQB+0xIFJuyZNzk zG1+CeTk;4$iz|7c^4r-LzwxTS=Yk6e5|B?Cs6dC{fu7Z;v$%ZJn1j+f_xr;N#8XB?i; zQ=fz{u2&vrUHdD3z$5uW9toe|l;@N+ANO~%JNm%J|S_@#Yk@aMbu)i`Omtem(lV`MyS;>pUmnRrk{;@~3(MPkDgflMnj5qi(QI-(h|DA@BKqMCIh| z9sKy8zxzFI^-MoQ>Id*t{yGGg>qvPc|6a~9d16cdxs&JK2S>al!%w{QcSZW|uO!d+ zJ;KA{5BvOLuD5=FjD9~y(#Q8h*ms-#f|qj|r|i7VKGA3G+x~+mq*oC=auj3pE^m#uk7x7ojmt@j^63d#2NdtzWQXWucQ~d>%Z{2 z?}OqZkk$Tf{;?Q%xKDzy;_w?mY_$7}Q7kT?> z^i}7`=BLC}`!T%3=ftt|@P;1ABhAy|mE>o{2U+&`%d41h? zpZlbI#h=%?ze@XUxo^I6@smFCq4U+<)8jc3+5g$|_3yH;=R@`M-OT?#(x3VKS6?A7 zHU8MoE_^5HA3xitb^iP4k?$qRbGwXp;xYc=e|=*8$&bZt>?m&@GQN*Aj^yVzbsaAF zd>?(;MXn|N;g{h#s2F*0?qpZ}yj zH_zU^!lmz<^1SE$L;o&SaflzAZ{>yWXFs@z+v6XjkMr>@`nTWar|gGsJG}mG_7|6* z;jSL;=YIL+{!`9}hy3Zq>KJaK?rVq&Zecpx-d+-2X zpJ%`71Ha@ieXY9N{wjWX^Et>(^j1IAfyQ(0ALd+rPWmr=>H85pB*jzu$@UrgiRioi z#qZ`EJSkuK1z(~E``O!nkDC92Q~M6~S)Vv+oF@+OyYHovS9Yi1fQQL*>L7jOarFpZ z{L#9!&wl!t__6opt?x2VUZIb?PapX{JP=Q0`}uiK*zYBj=ivuDt4HFg{1s1$qaB`n zh@P3>{v2P$_382K$>Q{I9_u6f-evo3=4Jlp=h?r1pXlR^8&8Lf@kBhtPp#iK**Ec| zo_K!QUFE*|m-FG$`Trs3$sa#uj3@jXJk*QwBzWK-o)mZagMYJ6pTqSX$s-#*JnuY3 zA9-Zaqj4!-*t^srdRNlpZ?gaUNczYh^f6|K^TN0CGWlM9)$ia*>o)%8xfFhV&+T0N zypDe1fw=7V6H-r_uZE9(Zg9PIDE8~8^egHSp7{Ia{d|x==#zbX-^BaX-Fyzw_j&58 zICf6^x7)`v&41JHvkx!iuf(r@t@0Q>ZeH8b z{ts_R`^%5-XB|D+>v^~D&D2%rslW8I|J~@*c*=N}c-42xL(P9Tv4h?6;eD>>c}8E@ zzso9rK4cy#zvHp-*ULHUeD?9Pbz9c$U+c4DKRxl{^6|_od~W_XkDYLH-8qSK@m9Wu zZ{=&o&1>)G+~x&&X=L96?mo^u`_mI|?JsZTxz*=w{roTYx6kS-8T(t`kI`%Lj_;lH z`&jzWeqNvY)%X}Y-}Fo3wR#3Oe|NS#j6V7k_Ie(7y>WB6m`W%<^gDOK?LPLLM#?K) zpLOzqxN0B1&pz2t{MB#jNb+mn<9MH#eBbAr=;yrF!RRAD;X(SF z_80PO`iuHeA5-)3ar?cKKyq@>n{X7LP+Q+^N z4)k!|VX;4P)H+X(hnZJ@sk`yFJdgL{sJMuG{*a&KQ~AL8k#C+C!VBj)hZGm^UE{ob zs)mJpYhwi;j6fT13ikjb&DP5m#6OIN$OwU+wEi57J0Rd z4`V0)_qi3`@V5_{xa{*kT<`;5^#kFH_eMK<2It1lY4qVI{Aiw{|A(2^ddWYRvF{=B zQzU(yi!VRsKK=2I#OL(U@E14Ld#S_b@oV+RS8<$iKR2Z(zryGC@ytj4se07Bp7Zfs zopOHj%3bU|M&j!!MrN}D(6lg(9coweS+rq;`QyU<2UuaeUrEjZ~A_OU+_v?Y_IogU4D*! zzmD`gl|D=Ub-w3_K0iNQoccpvXM4-V?GxH#lId>B1imsR_Ne1s?b z!hhlT z`y4&{emeCreb4q6=6}rk{j3u&$XhT<`ZT z{+xN=MV>~F?)%Mo{MGiSv+VbPKlA70>wa(6^~Te0X1~V0b^D9qng2dzEN|bzn}eT7rf*dxZOt&`famLp6}<{!KwLf^n3X|jW{^W`r3~d_+qRs zx_&$B%C9YYsgv>!nY>Rw{dwy)yV&VG{LoK4=Nx`;oqxoQJcC#4NW98#>gF51noke= z=!fV@ALomso9GEI=LUE2i63iR%e#1jKX34Y8-3|TZ~9(EpYTk7&ktnZm*S5)_3(I( z1o8hyA8}G1RUV?Hohj#cjBj?KkzpkNb$pNemUj*W2Eb3^r=5` zZr>YvUzohn{+%81Z|j4+#Xsz(xBK`)4{=|-2A}rX@D8u!|2KYtKVGn3|9~gX!PkB8 zVOR2XrZk~y~&6_uKzj1PyvA(>0i~Z@b@`Szk zLcc9~<{bR*^L*l?&+qqhKK;z+A9|71+y1w)C%C&``{@%L_}e^rrFDc~#e*?>T{pfA ze#`#q3%|=-{7&}z!W(#0-@}|Eo*OU4eeSm|(Jy)xkL!zJP89$OQ-6xBmJU||zzkKRC9?N&)8-DRy&&MY+_t{&VV;5f3{+sAQ zpY?ot9WzhYi_=t-LYkp1c7KHSI!hvwCN*5`ix=6d`q zZ}k0xa}JMZ26jLCuydRHjfaOB>mysI)8EEV+h2IE^D+7zXPrDu&+Vu4b)OTwd@iBi z%X29{_+EFuPvLjTyV`Xb{n8&eub)qDul134@LpcR!#*!RWgUOo2Trc%{QiAc_1!$U z^K0h!{P>IB@`(HLfU$f z+`pXjYCk<5qDTA+H~ldD^uzA6M;)a%edX1DUg7!ZIr?}Hz`x-`KktPvKZ|en$KT?s z`Pw@6!{d~5@!8mYb)0|cMdJU};3aOv0onXyU;5aWpV&jf<0*RbFMI7{yk%Z+b3VV| zT|f8n+@=oVbL_F6UBwf>NH|;%4*cCXX&gj9_OYKG@Mkal=|#dn=ka&XyB$5~-|OtU zd3~S0=GR|vVJCf7KU~g!?K}DT5PNf8{qSMt>zn1*=D~f|vDbO@fD`@jhkhiS;mc3= zIe*^k`u=FYztMind%bTn-*fOOxA`2uqc8i))9_v% zUh{1EzQ35r<9|G&xAW;mfA{g%Jbc`;ulvqf^~#vu@WXf4)irpt*Y)xxantYd{2V>< zd(Qrj(F~H4v_>#En_ZjjzTECC&{i*fMr|`uGeuwA&tk2H6 z_1y9bzL^iN*4xwUBX01$aprt}zX=|AC2q1moL|nL{X6D=`)zX{UhEK8?CbLh`wz>$ z>O%5>eHsThGhg1UKGxmNeLQOZ%{latH|X2_*#n=$#q4a1@9clbefgb)xBMD>o%crX zccb_ExefdKepO#WIw$*gUv?a$A0FZ#z1g>Ap0V}T$p`9-eO)&{JdlUlAI3iQ6u;Q_ zrR(sjf8bB@3xB|yJ@~!OXXk!!7f<4+W@)9$w}gc*qxc>|EC?kKx5B zGW8c;c>V?_dO80v>zfZ;pM1EheSdi|cdlo?bNZYIZ}`I7^?laE-F0}uJLeV;eMRiV zi}L=MeeDO|!|2(*DgN^P;hpboc&=Fe<8z+i{N}j=PVCvD2fsv?7u9d{;+OV8*4tP7 ziZgh+?t3r#e%Hk@KPUbhCu>~hzP!iZ<=^dVeVa$DyPEs!_4XBa!G&IMSnZAf@d`f1 z?FYgS`P%*Jzv!jjnOD8w3GZ#}z%Tn3H+Jy1b#S-e_3YDl+OvPI<8|{Oo~7UD@5SbO zLEc05_Ymc;@5}H%p2*+9f!%(;v-=o*#2q^hx&A(SK8=K{ef0bADZk+&{^()<*vW4B zsqdMrr$=~YK0cOb_+uSjIgf>|37)s+V>4S@?ygWc9NS9^nNZi!(UT!#?Z% z_KkQ*igV||fq#wNe>Z+r$M~^&Z*!kskYc zp$}QS_!VDnMxW*_{0Ps=pYe;ocezWR>EDI&cP{H!c{ls_eEUcC_ZuHC2H{hrdX)YG z-#^Qzm%;HkQhpFO{4IVw&#cn-T;qrBFMiDVpCa)xcC^3C=S805-uxcc_ott-kM{`n zC)IoYfX`v7 z{hI&sz1IG{Id!D@6rbq*oPFu3P@DBeK`! zkKymG{^AGczKb3?M;_9z_kBm|AA8@}W8YKulkZ}`{odGbo%|_Z@n7;pelPG+mr_^d zjn)nO@h5+M2@n1XzdaZ9dkoY6@6?;(NKenJ?A>Dj{rIJNsSElMdh$c?$2WMb_@^&Y zkNbB|*LC`VmwqF9sXO>}c&#UW@vM2seDM*#t~lY3JW)QfGv}G-9P`T$?*sVf5dHU& z{P{5Yw+@_U%>Kr`yeBW&FLe};_+MV4XYF7=ejTIF`$)XtXYl~{kC`X`&<8*8^_#H+ zF7)sog_Nhulk}bV(EKRQ;dh(;gC9TidoA=4m+SXN<*($c_Nn@GdF(m%!ka(g7yR*^ z-{g1p$$!S4e~tT`k7xX?9`gtPxNm;qxW7MO$2K_0d+momov*+Aj{1k0=eb24E&lK# z<$L-W`*$jS7u?iOev_x3b6)Cx>*ao~%g^PF=Mn3S)&Im3KQ!*~W{W=Z@`6jx7YFhM z9^pItv%Ycle)N`S^S;6JsNW~Qp8Fe0bU=1*UESIvrhkBe(?+Yk_Y73H+<(Gc+>ANddUOr)8!#~2ftjWZ~Rk#1UI~f zC%(v2wP!!)yUxDWBRomm?cn`JkKlNp{UYV7@@JoUB>eAYo%$fJG%neDWqs!34?iSM z;8}men?3wt3}5lhUhCu^aTVO)+Pd^wA93*VJ%IFQ%|GFhyb1sEfL_Pgt=^t8Uisnv zQ|{CIYVc}b1jq2NzpK5^I`JtFC4W^tcF**IV)e#rayj%O?W&c~bkv0I!vr~Qq-|5r1w`G4xKxajv{n!mDd z@zJk47mla+pI+h=KJVsSe%CMedy?#gd;FrGgkSY~h#l-op7FlD{9mq%=jJhb?xVjk zo{;c=&OCmjH-1F#zVG?XSBSL^2k^3LgEG8@0Bhx~y@?z_JF$$dD;m!$ZT4@lP!u`B$+e|X40 z&4bQ6M1Rux_=ETC^c)~Rse|g9xDB72yYddM^>6(7h9B}w-V-AT|Aes*&p6y=lxA^q#u3p(%60Y ziy!#nKOUX3FP<46a{XrPsvnLS-;bmxKH!JzcvF7yKRxkc)!%*6I(o4~UQVA_|EvG< zA^yid^b;TaQ~7kZ&-10vx%&5y#5=p&=imiN-&Oz1izu@}^ zFQ3Qydj@02%ij<9diLWN`l}=S+~>03g@?8CDtg_IEN;PDos^&L=Nx&69`Gbr9_gc+ zKjFFLDRq3oX(vytemAC%&slu_zz%&T{oe5A6g+~jeXB1Xf=bZ1epM7Hoe)K)*G4trfF6-#0Za!tcy5O9(&U(Hf;bI^0 zaTt5~0q^*?b&Kp{dl~Me&USYtDeP^fARLX*e7oB=63Gm*=k?E$ABmN`;dL%m-^p$6EEhoYvq&p zWH!P`+f=k;QapezWuw&!Baj-{?`ZieDUS;etz~I@b9zl zx6wC#>-!#htoaY#+r{9`@BHPy>%mD~eZw#N1aHsZ{ITNKei;7Izj=)RW|Oj=L`F{p5?vk_ET^dkKvoT+JB!F z|M_A1%$N5bcp83L-~QoY?8Z<2(BHvLe^I-{8@ot)z#ne>a*SQ#^Lox-KKX}li{e?J?zrLCI{hs#3>6_;` z`-nSuiq}35{6qG8KFgPS@F~}m|JmPof;&miceAc_@9ARfHt*}XZ$EL@eesl^CO`Jy zU4;|>u(SN&Z@eR&k2mI#`02S_zaTz8#txF-@$8iQ`g(aF@wRh*>PSD=c^*8xZbeUXac|%s%BWJdzjdm-Jio!K3Dz#6|Bv%)az$UuJ)C5&zTs zO+Cb;_`SRk-~7ZL`-`Wm=poPRBjLB=?f$ptb@<=!IhI$>yS*4oj*FBwhkmd^cVHNeGan^o|^Xt&rdm*J?vzc@selS7qT~Tpe~dTU6*sdpjZ22 zc&L-X(Z216j*H&>bQ8NDA`^e&vHXZ0;>-S?cgw4(BX9bBeMRxSp7XlDd~%4M^wXcY zemm>vS3fRsT0QSx+okTS4=Z2Xe}nH;^x8+lTVBL}dWsAF4zBcSo=jb<9oEMmod<{H zA`?aU&&n|Tq@97q)jQ|OGx$LNhukOiDR8yUeB;Dz-&Z}4e)6aHX`khDIHf--F7D$YUU^!t$ObFO{lnbltLL*n~W^iMz2xMk-x&q{mg?8y}CafVlTVe2h4N(i~iA<9_%&WIgLx_M>dX~d$<_S z@;`p^2fvf%$(Q(Uo&6@i?CN*%k$gh`+RGnH-cLX3z4NYdpLm8pp4AWA;NE!8xc1|@ z_{KZ&!A|qwbs4PkG@k`^Y=4+c){4JTcEYc*B1`_SQc7vd_HhnWtXC zjX%2Hd9`=e6;J+Wr~LnM>}uVWPmgnbm*>7W_vI%zo#s5e)>qM!)ZgO~>3aPU{rWzW z-od%?LQi-dqBnadpS(Qx|5fh8>o9sdU*BAu@8>=}y{C$u{T{>aw=<9Z{k$u2(m4N{ zoF5*xuT#I^iC65{XB{5lA3oEQz3S74=>IO#{o{<~x9S0B_;~JLaW+0hFLldx`)s)% zzv-_&4Tk@cDNqG^zhu|yE;E{RuS?m+H`p1>m zdB3U85fA-+;TwFM6CBuy7i9g)-YTax0H^q$H&&5wzr;_X~`;xpdx z$6fSFT(zEAw}<=8bG|;1J$UYYG5zEvye2)Ltg`hW_E_J3liuQ+U3ejnx(^4}6L+3Z z%ZKEf+VQK{oA=taJAD8LO-mP}wz5L34d4S#Q zJ&Yds4{!OrbuRud{`SXrYp*5^Miff^gnPGpX|qb_=X4e zt^V<;(UJv77!YK6t4<@;AR)*XJGlI>k1(={~>kSMcZe@|Zp5;SqlG zWAZ1y&=-#Q+I;VOX~DgHuK0{T>N0=Zx1U?%hjqsErQcQjeLTyT{^ohE;|u-Eo5W?m z2lGSb$6orW1Af1{^M05<_zQRb;wSag^YJ12rVpl{^YE0v8jtU@ZtU#$VdM>epGn-; z&%uYknn$+TuX&KZ^p_W(E`}NE89Uh>e|Dey%;%rjE5E>B-r<+>gny%V_jT?*`@`S$ z>XZB8f}|Jey8ZCX{r%(FZu}It@a3oG4|-qEy5@n@U+eH`2XA%O`QlhV?>fEMeHA<9 zk()WUd|}^Z=H1PGc$YWfQ+c5dI`5G6aK_{GKm9wlYad4cyR0wHqldgvKFHT(^y>Y@ zOL>z#={~&iywB(Gf}=6q;ly6=HQC9paNr;LGWg5y&SxLI@yC0RoqxCS+ri_F-{?he z=aTRw`3K(kvD)iCd->`8=t1A=!|pA9Jj8z=GT(DdaA?19IrsG)_+NiL%>DL5^rx5g zIS;P#qQ1!f{NFqieR|$~^mcub_GumxpYq=6Vmy9aq@IYxY3#om1+K9cOy*QZ}=-i)8|zcPH|H}S)-^~08P zuLi&3kvt2h=2d*XocZM={ezSIhnHO+p41=5*{3)skHWcef?u(>`~GG0cRsvg&zpUs zH-EFYc-UvP5ARZM^keNWa^1dU>lc6X>qGR`2aw`Hp48vCF5k$T@)aHhfBdZ;aN=+C zg10!qA3SOPxEVjev(K}4v4gzN_%bqn=zI2KuCvz|zL$?@58^GUAJE6)zvn=b-S}Sq z)b5-QH+<$7k{#k({^5tG?8A?EcZmKAzHq}gapgL^*(c97Zup(v`mg2?chcXq z-_aMHVn_Dlm-hSo0KYAIhqrI+H4mSxhlln27rpTwpUaDf=$CrXc^~Gw{z85f|9DsZ z=;hpP)|YSeh4(6>r}O&$HMlmP(39Tx(Ldw9SNI|Nr@o0_JZgTHN9Dh(S;s!{WZb?R z-iHeok37tJJcnD)$FJavN5wVgcN`v+H@;tq=ck-g-v=)?Z%wOpqUem9?c&-VS;Ren5WOz*^}Jj7q^ zM{*wi(5KJ4^oA#X<2@-(;NiOY?z4YCdcN2loNneip1>Ra^eq1Stdk$?PY?Yw$&TBs z!#Dc!+d7Y5@g(~54_xUdPF!#Pxf}ajuOFO$ieCAgq2DL*oGZ`kkHv#{XE*!cA3y6K z^<~XR_;eio@T~diey+2(esd0r=s`dBuK1gG6&&DwJ?G0S^lO|(Z*hV@{K0PP z%csNa+dTN!IhX#ceuv!OBJst1by@!-Z}Hb<*3Em#m+xKv?(yFkw(b59Ip5Fe_h!9^ zF7EuDzo*^b*XjqHcglI<&;3uiuAcn;`P|)SpKq~epLy{^@eW_)m40t7`?P*uo%enD zeqrwSy$HNk{eI55__ZJX+GpbtJDxM2zWfC5yIGIV?Ps3O*I)E|o_XScYB@b^GWaT=}K>FM6q8@_Oxc z-}6fHRo5rZynm6`Y9Bscj~;z4=a>7~iGP=i-Rxk0_=i{3L;n^%n{V#tT;tBSul<6L z&k21`V&{Hv{0#r6==m`F<3saG&h2vqKFV*&U(Gie%X{$D|LA-0r+MQr=hrSg#`lNl zsqY$pZJ*^A{@G{VAu{pLpX$Ez^Z91;y?Q`TeYADWf0v^#p6QdTKRw}v-}*Ii>AJCX z>|mFD;z#;9ACGF+Y4l@vuZLIq&Bk^7Z(gq-gQN5DTwg%0dD=YduCh<`#}9e8ahiUB zAIh7r#~ytdd*M*OI7j@2r|Ula*}Nw|BrlZzTl9`z`UG)kAJ=`qvE$?Dtv~I)i9_f2 zy}0~<|MKXk=phc^{haHh`FKQsWBDa^!m;|M4{#m6cm)4G55n6y^2)c-3x8bqd_qrl zgctJGPFzf!w@$b2?z2BBey$(SmKJCGn|Haa6UXmnUH7+6{Lz1{x4+4L>X>t^GY-Fs z8$X60c+~uHKl;d@&A;pnF0D`S<`3txBlEkDxID}`#mn{JQho4;Uf~h`ievm&pSy4T zTYT|6diA>V@gJ`E4Of0pzt~CAH+h48@?Q0F|HI&5UhO`_zgy&Gr0e$?^Cw=@&vo|F zpC9*+XHCUb{mGB|!T9@%|J$)mwFWzu0e|*j2uZ zv*0Zs_POf);D9&!3HsMx{E8oNr1#BhJYVd4y}y0&x8vw7|G7^u^W;Tic=7{j9(#=S z3)YGM#;16O|2oF6@*#c*FN#-ir>A~FeWg#w_rWRt;2$_NE|O>ARK5Al4y{^NV~I1FCSr$2s>cu6n$(mv(MA^OSF^raVGxW3PP>(=X+tG%Od z&x@bv*Lo?=mbeuk?Bq|lcYXHl`z3nWm%b0t4Aw9%v{c$_J=f(u_TWk5CGjdxu+RN3=Ba(~#GB+3>slY^vmbrnQa+ap$FOGQNJoezf>(9~O^M?DU zT>lv9eX4crF%PbAgj?c3e!*k@VUKtwJ3qLaFYlOF9v#O1_NnY8@mO9Vy=O2!#$Nsn zZ}A)M^izMlk2Mef+1vQsXMgzMHJO@&~=HgUh!gom)He{sV6Ee)Fby`RTm=tL@Kcxotnse#Pa#UJNt(@7T`#-5+Ou z{+-nR9gxQT4_PNZAI|f4?CtOU*thZ!AK@S$;N!wW__3dV#Ygim{P5;}^lCpW{@_D@ z_{%G#{Z{=GulPqlvhng^&Tm{^&6xhZzFiC=`005Ge*4(*pE6IpMvwN<&vU=;&H43X z)(sy0T|7MB;J2Kc-*dcK_xYH8;VSfJ{JkU zKZ~Ok?|EO_-`&)H^)q_z@?N)bi8uLvML$RX6x{A3;pcq_`$_uXKj}VP;H-~`-^>5I z!L9xIA?II4ihuj=bNzbOHP6oX3;OS|7mqFT=?j1QIWKz2&*D^{=(_qMKINC@ZTqBN zw65KczMc0zdL1Lhb^PA*f=_v9{$~B`OE3DUkNSYfm(PKsUvb}OzeR6#gB_l)oY(j2 zr|4mQ^lp4#y}n<)!q4*IVdnXqv-KTd4WzMP}as9o{5d5yc^SUVE0;;DI9-cui*qQ{yy!-oxP0 zI5W>a^xMz8_SwI9y{_M1^Y>}~OYAvD(vLr$b6uWwUijPmcARq>Z|U#wPQ2h%^F7>7 zIY<77$Ia|pztKy+)^{DU9xe+{+Am(uet0Y&RUf$XJN?9;^XW^%{~>y8bB=uU=6TC} z_~Mgu+4Uj&!JULpcp*NUzumu$z2w7;#dUFEC+S?gP!H%uPqRq z`9u7+Pf>U1Om96i*>eBS@^caHQUUoZRFC;F>{o`dlQulaAa^NV?k z9r$z~yVfy0&ELnq=&R1C`|^wLH6$AYWOoP5O|_Tex4jr(^&@dD5A z4*pNs{}laiN46f|m$ms$7S>-GFePxY$tBL5{0*S<-f?0e-r)r|9NngZ{({t z@$>!6YhU+m#*072Ve{|l;;dKe?N1s1e&kO5{UKv{#5m7CyVTw8gD?D?c%?sH)Q<2C zzRmY{Iai#?D~nv?nw{%8;bouq>i^(ZoawvBH~Jl;pFAzj;6lp7PnjRwcjk*rxZ#g6 zo*BCz{fgt=vy@+56u!{|}Ms z)_%sj(dQ*TJ+CJ|8eg8n;l}RhUB3U~aqNCKQryzZxb^)q^Wl|q<;}iVTY0U&B*lY% z0}r0Z&h5v@_5Be4<8}1WZ!|vdX8q2-c%lyNV+TBrGgc2)$n5^Mk(|DgVU|^|$Nf3%J#vbDn(L_`8|w&HM7|)y3q|+;9F=AD^SYe0a+K^6tWS z^|JX_eX#C+*4H26??dzuzx)*Y;U@nW%O9lc=IJl{y9oA>?2_NOCob60 zJO>Z?KwRI>IylmUUVV-g-@zT9Jjb%Df2T>DXPx?U_`$Vt_>lFd$frntzs$Ju@vLwCW*+^-v-r54`K>$R zH~em$^!~;Aea^jI*2@E_|J%p&eSN@7f1SD~ABY2apKSc&4gT^MT=2wm!pG<*5Ay5S zSN#3mDD}1V#(C`AVkbU*Gvmg0#_C(^!iujrQTKzlx8d zU;A{tr#F4^MZe_!efA6g>CrqP&wdk}>?h8%K6TA=J^sJQAJ6A(yPqN_PIhpp{&2)Y zl0WG2arBY@Jm>9leaBz?adkfT<=-)K{c`r%UC#aD`IouQPPnf6Wu17IZ}m^*Ilq0O z{-~$L0S`%hBk5%<4vgWYj)}{=u~U3B?##3982j<&lrg*xvyZrvH`$?H@NaPl&*Tky zz^^hmHGcF@$2nJg^qlv(&c2%&)2Dfk-%0#pSNvH&;L(@*NO)~I|6L?~G8Wg>gI~py zbMTBl`|Nl7df)EncgnXH<3aXp8He{hm)-pB91^eYv;G))ilnde4v*)Z_(?u*zQXtD zU%mZ%#?G^!F+`QVDbM5k z{peHs`E5OKjbnDMytthG@LS%hojJGqJZt&4ER2Y#U^3GeN-UGQD&Q}>78 zdd{*Rd+4{y=B@DCd6luR&*#5d?0=ZC`Q4Ab>WutH>cjXYJi_~22l6Lg1|R$>|M8rD`Xc%7crg(v?wofQe4TU5`8h|P=2vm&{MLc& z)4nI`-;CeQ{`wWt{-o>WrTw$sb^6h(&m*_7m%PkaURvT%eDk|{w(j5OUwjbva9z(^ z&S4+?Nas7R=U)$A;;8oF58m-Vztam(-8X*=9*G0z@@L};f7yj!c(qFLcgp_i4t?-F z=N6Bv*LK#Q>J5A81Mk%j&T-#5{x`;h;t+kW;1UTxa$VnjM*s3dzwUX5tX?y}d{b}l z=Q{qwp>fV$evsGTeq8hp&iJIx@OPiT*$t=dwI1}r4|T({@?+=IOjGvd>Gj} z2Zx)vUOn-f#A^~i@Qi=6553!8Jk0*$t2pC3zteZc>2lGJfB1RjBmJ_j`7wI@Z}S?v z*lU01if{Aq;^W0ImBgF)4KDnPcl~}I`{_xBxBM=j;hXFF%Y1I^eUj(SUEi;!&h>rf z_k-`si}uCgsdMRV-1?0N_;xq@RSA!_U+3X-@UEU$a~_=F z|7Kr#hkw}^pAh&tDfNBoA>@tv(7o@_dTe*B0g3ruRlfqkCEPcx$gbTDfi`T zeh3fp-of_^$es5Q@&P?tU*ImEI%n~NzE(di|F@5@UVWlJyy?3i-0+r!du8mZzJD3} z?Q@xN;-c>*_4(h;Ir{SQk3K#h@cjnTb@?#yD{sgL{{C8j*YW$&$LBRWJU@&c?CSTL z;g$P+e*8XqC(etnxFs($FY#yp&KFn5(W{>i;Fr%yKF$5UN5ezxo)2Lum5gh_uWW&u6@F7?4{?H@%DOt_roXo;4t&v@X6;XKji*%%M@vP=FyMlW?k9Y5u|`_>(DorF8-`eo+rAJ2Hun?LB+>zP+R z$qV%4XJhBx9{(}x)eUvwI@eQ&-t4D8Wbb|E>(k^TWB2jk-Q#%& zbpRgxg{ST7*iFKR9=Eff`qIy5!Z&rqbBfQCzWUSX{nbB3|35}PN8UZ2Pw4mN|M5KD zHgS2H`}U`Q`)l^{*Jbuie44MGR`2k={RqD#p49W5yeiK0XQ!OQkKqM9Nq#Nw;%|D1 zceompy&jzKx!>awSM-7_9^TM%a4a7lGJZc&+|alA&w98XvM&12ul*NXgMa(^KuK_ zQ_eMZZtz~8ci%jJ4F7$9P+zcvv$|Y-J?GFLUya$vkNh|Ksf+#l1?sT=guayvf7DHS z@dy8OpZmqHhZ)O9r1kc#|H3c(evz+udpmyI$)nrr^V^5<7rC6%_`S=1>IGco1J~i4 zJp3k3!V7T@H+fn-!lOKu=f8;_p0|9D>tn8y@`8228?HV7!{7oB&!=SlmpTCVz7K?p z{u?gF;sq{O(bJf}%qQzN^G8qqmj~!se#Rd8V8vA)?LM&!?ylF)zs~u$k?hsC$YXnY zM#@)rkLL`x;$6MN6X({htaDwxYTp4L_!+}jUQIq$ci4qr-ESK`&2t{S;JC`_mvhPs z{RFgOmQfc{bN~Pr(uH$I-7m#asQX=aKX!<*hompY@F=e%o>m|B-Md`CVLj z5Abu=``w7T;d_VTll|f$`V`NvV;}ubGZwF3#2F8N5j{?ka2Nk@WX~b<*h^mK`W9&n zFXyqte%s@jaro7|nd=?fZ$I-_{^48aXMN-IFzet^nd{A`!E=qL_K$b7kMEV&54X9V zI`Em_@KJvIbaA%V^I5+a%-{H(c{_L|PWnD;c)acY%jM%KH`jBHyxY2+_a(g^J-r{{ulk$b@Zyi->;1(= z^T9*zC!cz6fggPjemV2nKd~e0@Hag4yVmxN{d+dyW%m&mH?x1Ai^V0J;fbHIufI2f zbMP$h_p>j1)DQNz&zL;u?>N2aAHEmo@UXm(KF-6xexLEji>WBdYdbs_7Z15FAB?|V z`d51Wc($YZmG|DKCI9IIn;+D(_({E|FIoHW*gAT79;f$*=q+F3aq5fw0q5oqae)8u zvp#ssXY9dCyzk!y@_qH6q7QuOcS+APe!Kqu^Sc?_kG|!l^?1e3m6zfmyzcK=#*h8| zkG`S&PCeY@Ik@0E+y|e&@6Es0Qhut};ql9J$?%4~FP~S2C+rqKeSXh-vMqIa_jB;m zf3P=kARkpe1?S|e_C=Y`pZ%Ts$L#Mtg0b&E!QZ)_(}G{?2mkQ*mVNO|oWa??c%C}w zJwfXe|E%wi?01`UN9`MY&zwB0p7$UBGVD_`E^{Nc?@{fJ)j zM*9YN27alp>URB}xDl6lNN@F`{Gp%tl>g*Kab@27*ntOlm%8WkxZTIIef|zA3K{Th7T`!li%VW z{Lp9hbB!(MNA$)&@xeduMi2T`{`!1f zoqFNF`2Rv)!ZW$p8Oyl z^sT$o#b^?~^xsROKR;!C>qGRPKIY)mIyv1*yFT*GN?e+9ucm_{--af83pW(eY z!sA2ilAqW^x=!+kdc?k`v8#1p-XFa@Z|i50FI%UrKLwZghyLuW9rRx%{DYhIZ{j}p z%fHLm&o1N3(Z@dWsIm7E;@9V4{oX1(((hCc`HK{Xr|5BvG?rh)13PatFk^(|rC3|BI*j^rROF zXMF+*U-?j;mxo;EAN#X&8~v+C?VaoL2fox#i5qd<{y_ev@0zclf+s()kAxSV&|7}D zuX+3up10nx(|mf7;?6q1e_Q<&d>Uu;f;)Rsui7{0d)$YE_4MQSeQ@EI+ri)a*v6+k zlX!HUU&M3YpTG?d==m|{;R$=-17CRTM<4r_FZ8YcGf$pb^{1!%_+{VL2YwYV{KcPe z)gP=pImSLX-(_rH{lRhc?fZr4<6pif@Z0nKmp(y0j34x!>J@v$MeTtjdr0*Q?kkQr z(U0Gqdq3BU?}yAgMdF9+u~U8}`#m9_e&*W; z`m#?SCcmf8Xgyl(gG1s4?tTA*FC?7#<7&>YpTcu>gkR;q>K}XE$7}r|UNmnwkKdDb zoC7a$@TPtpFJ>kD#V0?Ak3;4e?=yDpVqf+CZg9x=9AEhUn_T~gNd6(?4}9ToIPphu zxQRaW#2<2-bKrn~@NixJAnQN-v%BZazWl;(_HW&mpXF<~8|xe76Mk@x^WEn!*TXmd zu1r1E_tY|MYquzL$UU4E^+Do@al& zI3wS`d*%BM>KHxY7XRRh{6g=>UGk`T_*40A^ybg@#i!9{=Y0A;=Q`fNAOFew%p>`Y zzr_W=ZkZn*G_UR-&$zUn#UAm%Zt>oDg%dmI={%Ai`$b>%fZp5aAwTqdd^o+<(>y$o zU&KrKO%Hsg4;&Mx{ai`^$R2j$7kiEI`fl`t*V@zxZW4pSQDr-}C4<^gDr>ceAeb^C9QJMc*sW>-X^r zzqhOlKj2i}K19DY?(jW&H161i2e;YZdHnS;*MA!soIEFO@RJ|q9sBU>htaQ}pHE-% zrcd{NzJD(??{E6vGI5OWtyl1p2M%-IS_hjC)Pvwt{w(oQzu`mjY2!S2?9>6zXX|_D z``|Zmqd$B3d#?ZWtgnAxY1{sA9)Gp_<6KW1?C9BgWncW}4|=Je;!eFa#zXty!_E2J z{<}f)p*Sz^7QFNkjT8Nk`V9Bvuf88Lex7qZ*R1)D{rFF>#=E|VJ>rSoc>KGIndx^! z#<{P)_q{f}!mED&>>uNwpCgy?Zt_(B9XR#A^_zaF7xL1MKE79^zT@F#^pBtP6MerH z9Qmp5kJYK4v;Gewzxvb2?Vlt6Dfj(-P`r{C;QZa=zy05qxW(76HoX1sbKmz`cJPre z6VLjHzK7yJaSbPapvTwIQ(cD7O|H8y4iXo>SIf`4HE&&=_4YZ5_s9MI!uI>~egA&i zSKFUvyc@Y~|Lr{9HgP?9Y_~oKG#@`)45FtkuwyzrA?mGU(;~9US2k3v=&+tR^+3lmx<*cjzi+yYT={)w?H+_J*!jJyFhSphq zWpJ(@!Bf1~uH)#}KKFLU@^j_gay{ebXZ8Bid7kfEynL<|JUvhLd%WS@mi)5&pBHDG zx5%S>BOiU5`)|JI{*-eQciX?5$6xLKHP`hsEia=k?b4-pI@M zB2IJP^G)+<_}9N5Az%LfV&ZwtoBC1tYG&^DAZ2w44bwmC0{g916etTZO$*;TQ zo#bWt>*e>&smJ2?v-nZ}{5@cH{BE)5Ib;1R9^dAA@@M;j`?G$HH_w6XC-5ye_dV8P z*QOu*G5h@x8J_D4KdT$^Cdp3YMp;?7x5Ro+u!M5;ZgnQ z14q0_UTNIo2Yli`{Kaqfw;y^Rebo*5SRRot51Drr`4B13$lvDM7tZ`|9bU_;c>NEL z|8~ds`h72G92l}ZS>gUgyzv3c4+Yf));W7VQlGQ^6uaV|evYMI;|IJ-9@+Q>FU7&)=hl_PujkOlr~UC0 z4?jdN`C|O0zkBgh@(|v&Pp7}UL4R?x)Kz)4&!_DA6n{px@016`58e$Q)S;K}v4wAa zK01zl@=Nu`hs!y4_dYm$H&R@QBl);}={ED;gMr`D4tXHgB=f<2Y>m5zF)cy z5A*O%KI6x$?0*yKK0cZ!ewR3GJeY4E(mJ@(*Ez;`xJ8e{;~97PuaZB)C;d+IgmdAB zH&5ADpRC`K51(`2d^p2LTwTA`3xDxi9^-d%`DXa8l!>7Vos@{jkJwL5to-|Lr^AFKZK!528u>o9usoUb#Eq{kb%>TO;0 zr-3`!DK8dRc;jdGDIc7R7xD;R=x<1Nc@F*?yjTd&Wc=PwC=z|CJVIO;G-oaTP(-uKJ+ zm#^2evvJ{E`id`d)o;6)On9ArgKzVT{)K+(Q}pDA_G$cd|9ZdPzsvQ7XYzUT_*L}! z-%0+#r)~Df15*C>Jk|F>(?57`+0QHce(IaWj_57_ljRxysxODv_QDHq`}rkY$$5_N z`;WXwebMvRvv2KKd1D{fV@Kbk2d`GY#qaHNVh`TE*ggB`lk~CXS+7pj57Wo6 z%X?Ap-FEFu=^1G~|CTr6ce@x5ko$~R>3;GJ|JYw%;jdnQAA7CC>)@xasa|+2K1q27 zfA6EG_?L$wQAA7`Q-;?|@=RYm-Ib-!e9Z(m% zXa1OZ>Y4h*K6&ag^P)c3@4Maf-k6a-H8uaY1i!V1N5qf1Ul=m-sB-<-uQ!zT%tx?eCorU%bHwyuk-N zJLUXiB)#x8c;Yj>`MZ7pug>~yyPqR}I!mA1_TT>#=j|_UXI|@{Ixe3cbN~HFan{dy z*~@St~iSPDlcRBZAWUu3C@a+3eaglsc|A>cN?|X&m z5B&Yyet&1@y}tJd>VEVn-f(iA44?4yjo$EX+yzJcNPn2VrTtAm&v^CM#@8L9>E{Dlkj$5Ts&kyJeyPg|G!6Z*7Jog$v1cchkUQM zp9jl7?ADhwpR&Vw?{YpnRz2?*d$-XGFU6HS#_HXyv5g?*Y^a^*`L4RPEUQtcbVt&+@EKxf9U%V z@ga`?GV4~q?Q@-fQ*q&Wg>x0yR)+KoJedwhQ(--E>aH{bhfU1QJ0Nq^tsoc34z z4!7u2p5Z+^_#yVdRX*ciIFs$$p2x2Ky^^Pl>3ct8IO~h~17C_Wz3`nB2mElnn2Lc< z@*^3%^(E}69$&xKv;FeNT*vd|S9zxwp@4|7kf-zoNd|81 z*|VSd#e2W(&p+}bo^Q)M`q*E+qc5CuUh`0J6fcd_r_rnP!XLcHKlMiZHcvPg-uwYy z`m#se5EmrB!2xc!(T`rqbM)xdow4&sJiiwAb#x37Mn_ywQx22Z|^-sI9B z>)Yw6PLa)%aO7wB($jqsFW9$5|J%qlF5#Gb-u?#u@(Vw(&voC;uA3Lk} z`_WIlk@BSdTd(z{?20t6pPxIQ|MA52@GW?~{Jtaq-b=m*^76fi)XO*TqrM;ewjX2X zDH2cBBleR|nK%0T{qwGIp9zR7t zxP@Q!f5yd|-SB2VJL%y%T;$O;uh@tE^kTm;JjwXAdIl%_!4r9gY(Ht=o7ec3?+fnm zm;XMqXPfnni@Zna=M?%SQhmOhbXnugMB1Ct)mw{!87q7 zZ>zKNk~|LY`Z@O0KZmi;efBhtZ=>&ik>WsnnRl6a_#7U+sVDHgo%5UbQ;+=nT9uwx zlF#v}agsbN9?Gvp5BF>5zl*;51a`suI``QXyzC=x^e=bR+G3(TjxV`-}0s>v#}eHjc~} zNBgYfhy9!{FIHdu%-w7KibvM*54@V^>>qu^JAc^6y5?Q_vX8#>3_q){{!G8}!|2=h z4dNhmyZj06ZiQ_0RKpS zy3g2s>+~o17yhnz^gW2Y{ha;O$ES>sk$8g7hg_$R`}9^T419S`uVcG3@S?4qyha9i_Ic*C#F6XHbNY{6x{4ln!ChlI;*)|H zkG=d$HXpIaIqWnJf8`PQ;yWD6cY3XPj(ycHb~p#mPPvW`cx#N$>H+_g(U)HGgLs8U zAJ5?}Pw)$#;GuP{+YcZ2qxTzJ_=$|&@Zq1;e~nY;-v&45!|^6~sf($b{8Zen zC+WZNO265WvAc0(f9K+nyq^BD-%Hhx@ndi;PM+8B zsUVZX!$JGw6%N%-?$^lcuG zUG~w}uG0DJY@M(_zO#oNr1&8D?P~1n`-anu=~q0(n{~(Fz89+KR;RZzt4KlUHS!a zY~QQQqc7>cJn*IK&atmCT=|9G@L1)3?2(`GsNX}Pk9CKc-}ef~jKfoT8840P&!6H# zo;0t1U=JKgb(l0ScF;?{sU64QjW7HL=d0il`=S;qu7gY zJ;(kzzc}2FKK-47e3k3sncqqMYrn?@&z#>l_PNlfv8$iM`J8M0zT{QxKa5`0U*F+# zvFFUgU;Mk9b>-{rjMX8yH1EOBx%?*Io@RaD(`PK+^x@T$AA$$`R-B3tfASBWu!lbT z*y}zSf3`lE$DZg>{l9ySkNi>Ic75ihZr0!GarP;1d>-%=yv#dh9NaqpSGjJT_owlf zxD>Z!*IV~}_6cwKxA?N>{l$1j9)a&6>zyCo7f=29HfBC&UgUfU53NFMZfr)J#TowH!o5=2ba#r1HAD0$WK}4?`;3$ zjQjT$@Gm&^{mRFz`}wu(_gkKGoxg(D8+{JTyw%_IHSg~6Y$5-U@a}W+Df`N|>YDtt z<-T~K@29!m=X#$jk=`R&$3FYQpC8S;&3XJB|A+%T>F?;BU;9~=VR>R5A{{O zy&HRyci;TZkDcm+{(%0*{k{_XZfD>6EB3dq)c<@O{mLKfw^=Vwbe+#9Kh3&b*7x7v zJLS55%6|BaZ}DUG<|p%RvrqDsd?z0@51EfAm!r3N{hmmk8|5`Tso$NG`lQc?-@1-p z@UHt@M(^NF@7A5C(N8^7m)3LewEopUvvc|bzsvPKJKuxc;q{x}5eN7DKIG-^I{Y@c zJw)C`ei&JO-sSrHk*zPe9y?!n{Oi~I;8XnWy_{V+vzvR{6o^#;{ zAM+c3;#J;$x;RH_pC{Dchq*3{ckz4koV?)q<74K_gTYIDmZ$$Q^Y)S3GS0f{{a3kv zY2IU08rl9-o>iCR^F!7xc-#L?UAE6%*5Q@&=_`-fe~UhUmv!=?`TQ<^jx#?z>hHb# zdCIb`{$BR!eEvMrM3eWu&?qyLv9ZzQ1T{KmSkm$CLIcIltGFzdWDgL+ds@ zrf=!r9qZpw^F7}5&+>%*`@4^)*x@-m`?a3r9Qax9e*3NHyUufN^C$c7=3MsUTk|wO zA2TobI+q^&SzN@o_<%lt#Xjpkt6!cc);t;h)eq6Xak-Cw!?W@b-`DtZJ-F&;`L}UE zuT%ENLvgX?I(y}nPr1&Xr;OEGytJPB>XPq%g|GURCvifQHPTp@EI2TS?XTE%m zC(V<`od0zsf7*wB>?aSIPr}Q({pjsner-L&|F35revt$hxZ_Rm`g|Jw{dSbFL_ozmY-Vh`Ex&d^Wz)6 zx4F-+&D*iJ^Sw7=m-iv;zFhF}+%CVF?{gdRxB3H~^baohhR=9Jil@H!$n&T7`r@ZN zb-wcwcX$d9=kVt20gCo6b&r`1FeU7{Um)2GKh$ne9 zajg%qzdF!93V+pC{#p1Y596JDL5h<#{yT>E!`M~c#s2d6Hn@_(m4D>P|BtXc+>I?~Pz2JK$V@#Q7LKmy!6T-pG6R@dBRio6jC`OCG~he49V_ z*;oCt51vHU@4L)rw|L;6`{HZNzSZ7+^zn=T#{77AJlzqeo)Z%<@ooKvFW%rCKljlW z{?OO{Xr20I{mMK1|4sD4JCa>+muIAX<#%}#yNbKKW{0@J?_Ku4ABpGvy({M^ae?o3 z<|hwp&uy;fKK{_#=iMbfeSYwHp67z#({<(V+x^u;c)+Q31dqgFoAvUG{ctx{hw-OU z{cyhjcJ%dqu;-xfbDhjQ`}91I?|AmLd<;MEqVF5(w3@K4doc&-?}J%;y}W|SbXV|SNQ2Vz8kZ{yt}t?u78P(KGgd5d@+{8`BTQuL+nx)!nfja z%>0+g-$cSA^NXuM{Go-x#l&H~MJurF!Bg|9Wn(-N9*F z?*}eLuu8S|6Q#bW7`c__f-|G3GeJJng;L-Tt%kp~?{r649iC_35ZsK7* zzVh!d{`a}#_;y^r{bg|BH(W_LJY;?PG5^G|b%9;p*T9vY>(K+h)&cXJx5=m2cN+y9(8e1q>x_JyxHif8xHAOCtTWv_bnA$l$&uV!8O_MGucWX{X{f=h9R z>&?uEW6yEU+o=!M*T3V%XkZ_|7W>4dc=AhJ;KaW}^d?R{r^XKc@=N^GD`WX)zR!1z z%`4vW5%1(Zdk=#Xe%QZt^Zne1lf1x};`=o7&VJX^_3((D>U^dA$-FP>mO9|QlQEp( zy1m7>^#C8jD}KPS((}#t@q^u|yUus~Z5_Cs`EVzz_ipa1`>k(yg&$9`pP%@1%yoUn zJpB_MuG6Q!@jv;1x8lfNb)#{87r(4iCl-J4v*#f35FdW-;|GbC?A&tSb?c3{u?LRq z{{M|b@W*fdtF!d<{U99m9raB-R(vmGxBPNn|Kz{1cv^QDzt~ayALhC^l{fH(3q6TX z^XZ#e-+T@Zcv*ew0iLAK^}hYYhoAD3Km6k_xyE-NyTYUTi&yYi_}09$&iu^7i`RaA z!K0Cvv#)t@CEGtzC)RO!mU>vb7hKJ=kNgnd;tDU%4R|N7jY)Zqhqv($Kg9tr=qL3v z@kkuli5L9(TAh?foxj9^za)IykMIKT?&62MQRmp}x_Q=-uHz+Kj2C~|!w>b~wT}-^ z*x&1ybG`i9-p(^$9W8&ba9tn#&Bu@8`fl{IkG;)3b zR=nMp@9`Ust^1c3<7w{Wm3jPZ|BpRAZ$8IPb?Y|cV`R=r&P_d^+|PYu`t1idI5vLb zA`WEg5B_(3>Wnz^&zPTQeDU|__KW`FhNpN8Z#+I+%u4bmWApc4xo;kQ@@ZWsKS=e% z{_G>&C+W8zJ>=!Yr|%=!q0Tw)$opgb!9#Ye`tj{P^UYHq?Q=K#i@*F5*S@FVkA3;I zMZf#v_-@hrVaDobdA7~ z{DXVqTE6dtN2GkPud)6}HqWw7Ue$m8;W@kEl68IGiwB8E^*mh+GI)e<`loof4_|S< zP8|KdBAgG=3x8uc(Q6#s)Tic!b=jxqQP*Qfd9@#V&g$J^uG8Q7{9@1T%!9Xlz~42l z#Sy;y_)V`dc{BRyEB|v{J~sdO8UNYUxZaIE{?@PHqAyy-7=yswZ~& zJ|BIxKkpShSM+-N7XJ7A7aZ`PJ;uc=adI7Q_LoQeZk$p_T-P_@#~%L4Q+oTpB=+|` z!_(WiR`2(TkN2;~%!~c-Rgb#QZ!+)WNdB>hf92zr`N{9s>lc%e^aS7HopX@*yyji> z;!PETm`2E;Xf8>#M5Ajcb(_f!*T|bSUFY5U*_me+g z)H`*5sY_ox_uAimpF`*i*U_sE+eaR|&MtPVtIt_a+K+waxqg@V^z&c+ah<*HZ&?>U z;8XKr$*;!4`pd^eU}WQCA5xsyyUqN*$KnrM#PcckW&ZzM{~fK^S3U4dexJR!jJ@hb z*TExA zZN0wo!v3}2zT-c9H{S~k57qz1IeNVZji1|>PtkW58UD3z+y7zq^L+Z{S@)+%al)72s-M8G{)NYVFRxEe z{%zY&Cp%yN-N@;a{tmK#mnrUfUVr`j%lzGA-zVTLiJ$WFbNu)@QeVN(oU{6OdFs>t zWM}{V*7)FNs@wL*T#wAZ3%;%Yex|?A>i2i`#pjDt9LuZ3 z!|(TR|2p?~@;3dxd{(FKPj>9&L%t`v?f!A>+kGCn;nhE6Jb3rtV|NZ|Jr9q1zJV{E zC-2HT=Y-6wAN~$fyxNz??(TOxW9K_{aXlB}r}L-tQF-<4=;`@2dW+lT+;9DdFT42h za4`tW5B!lg;wTTv=x3*MVEst{Q>T2dSO4gHxO|SqKj+B$B_GuJL+oXTJYm1<=JQWH zod?`c{bE<^z+v!HADnB;AAjd558?e+v5%ed`YzYu>$?7=Kl6iq)~UDViRV-F@@tR#V>r!RXRshy+ewI4r^ z{??ac#*xp`xIAAB!`RIa_8)Vf|Kh*RKI()0mwL#~*WVlX_N{&EI=mBC`tjR+ z^{IS+ik+)J?8Un^55xg(&XMmIJD)NpfB*Kr=YRfquJJyo-vjd8L(ejXAAi4yi+p=G z`}RHU@j`|8-^-hsPjAl?!<%i(d1A{sO}~XN{7F14pHes7Kg%2Vvw!84x)?t7+#v6* zS7)x`PvXfJK(_Y z!&`sg-n^JPu!B3h)HTl)c-i&);1?dTlb?83yV*zbLp@Oc@Q~f9r>%G5h%XOghkOw) z_VTNKgvWipN}hTS?YZmwxBl_F?-B6eF!O33`&az8i^(gzA;sM|ywN}EPxdLl;(yQI zaKZoooc-XKICnn$-QQ>a-6GA)Ii$aLqMlgKZ}UGqp8REhdB9KWotIy-?{g&l&M$c{bqn~~DbslqHe&I1m4?N5>PW*bVaDU7G@+fg_eNCThUaBjZ zuaC8kvKOz^6W95HFX9c4Wxw*p{p63lQs2FoQ};c$w0|X^)Sco0zr?ZcbJ*+s%BSGu zoQogopnRl{y*dBX4&Sqz=O^ciUF*Tq<7p+o&ZIcu-G1h`kBV#J)VjdFef%&_9;kof zgEw33xgDv_;e-6b|L%v6*R$^I`d#!LBYzv2b41U%nb$t{aas3W#)+@K!LIU>J#Zj{ zWBaT8go8NBlf&$%zPEqU2jBQ@p1#yRbss&M*ZtuxKAx`@+4q<~T#SV;k;h2(-(<`_ z{<$81;0-r;s{`d>>MFll*S72ve~LRl;IFRXoBQlezV&CCgz8m~#3B5kr|aTpd40wINbBJe`>kj9dLCmxDX(7pZuGMgu1j5X-srl8 zZ^a|=?0)fU_1C!P;_@f<@LxRfP27Ax$o1F@|Gt064}NWrQxESVA0p!qJj>Uoxvvk@ zul-zij>6x@{rTdwPk(1ozOhF?@IJ)zr}u2~O5CqU-%k9)J8@^Pexz=Z>=S=>dtbYg zFYvU#yn4z0t9|S%hd!UCkJL_liEO;-wcl0r-$h=Ho#NDWa0`F?_gF78zt6|hmtOyU=TEtx zKIOcR|Lr3Su04;i^K$gS9Y1CBFQVzs>XDljkI#XY6|3%Xwg3N1wV^yu}kw;Y_mAb1q!1!&~e5L9*95 zik=dN|^+nL`wmi6qUr~cdT zE_jKTc;drt?vwBgPxP18k$vXlar|kW`WQPsN9FUv?NhEFN7ha}5NG)ePtS4Q2k4vb ziwCJL@Q>g8yPEys)p`^DG|&Ib#V}?)SFGoYm&_yC&mTNthdjd1;Ov~QKFS~Xw?4p~ zlm~E6(zSK@}4PLD~_k&;gmb}Hg>cbOy4zXK2 zjv2@PuERU)_n9Z(t#ht2PkhY_58H2U$L_xG5T_5h{_E`X5XtV~Qv05B-~Q`-_L9|; zb*V$*fX{ehEIx3SPpyOUPhC>~!vFH==h=7r^T>Wr>tAyHbL`T;=%N4cctT1(dT+=s z@0Xg--_QJ>N9Oa9*16qJr~BLXOXQE4|2(qiD0xjDFHUyIm;SpD{D-qTkoh}&dq3-U z;-yZg+w1x3A$B=WjUUaY{to?oZuwd#j)#o$3!XJ5K>|ALcUW)70?9=@D z!)d&2zBe~=*Y81wPyEXJC+C%I2M6mvjeh-1o#{DRUgMp7XYcjJSh_{V-tzDz`qw;9 z-}Zh?-?2{pa=vIDf6hK|#2g1JHQsr@19v>= zdm8)Wk1>h=>Ww-Rf4Ah*PJNa~e;hyieNNZ)8~ShK7k)g<7~fk*Q%CfFaWK|*I)58I z9T&&3YX|S=jM-)EzBu5~W#&h}{wB}Q&U5#ful|$AxBL1$8J@;F`AE;|*Zt$kGyHU3 z?(^sK+=oy5Kfmzt5PPm7vrp%<+dA>XYxwNn?gyX7D{*8`@w(2w>@iN>s%P|d9ede@ zr|@F8_-B9hM89C4>pr(>{s%{S*Z%Zw{H4cw{4IX`;UD=vev@!D*3bDvTAw({YdFb^ z`nB?8>c&p}Ugg*H6nAka*{vR{f5z-3`M3HbPVe60%0Ijz&+_go`3VPcX%w34 zQoQ?o|1x&zOU?u3!^7M!{`hwLzrSuC{HxbF&AII<`yL~|iOhB9Cb-nU>zU_%{qf%8 zZtlaS&lTb$e(E9VzIfuP`SLFO?DI=_2(R{8emdXrE4ZEI{pHv#u4nqgA9z?#o;`oa z&sE|zo`)asTJ`sQf=}_k*Xf5399_?Re6N4Op>e&sm`q_8{N*M>!lim0zZfm`PZ_m5%v7h>)-jnR$KYPWoc#Iw52k+ub4@sYV z`Z(+L34WAce;pj{D=x=eH)i)!uFEg}*)Nm*2Ay)z<%~+e|%K0 z@fGg9o_))s6&H3!FMDdoUtNp`>%5!z!5?|_VXot0`;_Mzbw2aI>i2#2#Yg;r2f1b5 ze)gr$^R4(a5BNi`ec-$3f%6%Dx7pWv`QdXBpObi>?cD5n%sl-G57jmL#p^KswND*0 zeu&gx636nV>tpX#B!A&Zny*f*cDODc@`{`)&MnU%crp zZ~roW@(ZrdxekAETlrvJ^1uBuemGaxj+?Qoy!%Rivv*xroYafN6Ha*SyksBx^fTk0 zC&Y#SYu&>?_{LxLqvxUT-s0ZBqxvRz(l7q0JM^%h-Q{uWLG$a|=<{69Uh$!S%RGEN zjD5{>@zc&`4E-WQACocCYGE$vs{nNkrnfGe_ z{O_miVBEmD5|Hu}OJ|1P39=_l%R``N>?PM+M(_4bF)vtQqzIuGJW@t$?f z*KNjlBLCF=eyfLH3QJj2_b2U1u2J$yV- zC-}R@FY##o#s_|p@vrlepFTHSzwZIR+Q$xgyX3n*s$b!OxWgYWilcav^o9?8Z##Lh zW7kz+sA8$LB}*Ym47i)Z*n!jE6suXRTJ#fhKr(8ox6c6#BZ11ZQ4@LcH#5c_i=MB zWrsXuU;Dnls|n7vWBRmyxcT19E`J|SU-J@A!zZ6#_xlzvgHNwJpXQuv-`3T;;9I>J zryc|+yzlb^ocX8!w$G=Y+HcYG`nyLz$KE*??DV&@=TCfC@e9waYhGm@Ui7>W{?u-M zE`8(d??BTh`Dq_<4*u$b-#O@Wg?``PGtwXNOCH<~9_&-U)_z}p%MbZ1p7B5LyM0fP z+{x?abNW~RJz4gA9DDdFo_Hy**xNctpYJnzo~fOQJKQ7b>F?FiqtEa+{D;eGpZEND z+WvEMF_i>Pc;D->>p3#dHTYFts_SryJ?$s^?4!=9v-~IdbD8<(mG8N}jXnAYKI6w1 zefh`C5AHkH_p_cKt#|q_eAoV`ud_FH*kAnn+!wrDKjVWwLC^cx6^WO4*7$iIhl@U_ zFY5pLl6YQ6|NY4JMgCg%bTPbWU(NU`aw8v4^VF5{YPBo8?encZN#7xQZbp_jYy9z3 zoJjMc2VU(%!Bal9e^|$#;L?1ae$+bO_$7bUuN{8zJ2*Q(;HmxPY5l~jV{pa)hrvU? z==-V9x&C(})!*`79Ocu;%un6cm(&S%t@bv**@v(AAH3UNgBO2&kFw93c#2o46OGf| z*vT&ZZ$H;}(x=$nc(%U8-@M=2eabj>Oy9Cz{@RyRPnsu_6}w&Xm7n4Xzn&+=ai9Hj z4p{NxfAa?q^a**5ufeVJ<+pg_b9h)ketj_>n7_}MUvqx*_f_6szV=7!@jUt3dY5yR z_cWeY>aY7xg9p6&{HHFgbt`$_VwJQ&KxtJJ@H4r%DXfB@Hq2}7k&EB57EE+4;OZ*cdi@r51#zy zulT+joZ62*&baTd!WTF+PM5I{-iPRUzv#Q2vHnX>`M2748@-1}c&&CClb#EXvtOSV zzt1>zt$wnTeb+Nj{N$~==eoF(t{0cpAN&tr?caKneq_Jaarj=2U2wB+c_p99!;3*| zANf9#9j=qs8HbnhnSbJE|Hf~#-{WatepuJ}o~Pj>&c^H%cYYb0kKf1a>wbBd>({&h}g?zvLmF@3TKU?YGt=I0qLzDbDt154~5xb3YQ^%~Si>*FK3` z<6@rvx%OSx;ZMTDde`scx9j#_aj>3#xWbXX^*;UZpa<^uai4_SD!15sc#9`Kk?>Xb z<@H+k@K_#*Ctj2Ep6R(CJJcU}Pv4q1>QbL4KW2TTb@pZdYA65LwMu?i$F7cVv+u*( z{hQzMi#_EZeq7Hw_NiZ$mvf(;%@4fJ{a(id`tcF3@J0Ob0$k9f3B+6Nx{Wt}meFS0xqC-<$>Uoz$|JMh4Bo%e0)bD8;P zc5fGB`8Ia1aW6jm%)57c_2>gUnM-uTgT?F`_(i%;@-z7Iul}5^OB~`K96BGb?k`63F%lndGbY)|9{jYPG@m`ex%*mQf3gq# z>@v>!<{SR2YfoA4Jmb2)`;hz21>X0X&u{C z-S8-$*$>w07Q&0`lSp5Cj)4!`fv&(ED_;D@iqtH}eZ@NS$NJa* zUPjM8a-APu(hJYxftPUjP4w`~eRY>VB!5Z!tK;Sw*WU44eAL0d*S0VG;Y-?&Ui-qA zbRB+Ivo9QqGrP>UKgoal(Qj;>>&EPa!+r4O7yT=*Twmu~CtmdPZy#LmB2(8|7jhlm z>Xdvd9_;7eDp!Bl2`3VdoFAMso`ZvP2Kkih$4I!)hv%2MFB2{w-{jGm9}7PGmlyq< zhP|Zy#e?7Cz%Frs6Z~8^W^ySJ{ri#P+UFQ{knA+JfAPGS z|6>pP+3k98ho|#P?R&S_bu(jp<6rY0zV#^JZ?SH==`}9G0 zyWc$G*F*fvSY4^!_tB?M>yznQ^cA<@V{HG9@3P;A=zWgN`KW*IY`^e=J>_}U_xaEF zJbaHR{#e)Z(C=rz#!Ft1`p2h>;SYW4mGN!tp1!?p|8yE}{@uZRKhp2^Y=4pO3mpG7 zdjAyp9Ele>r|AE+bNqe%{^ifJ-)>}o|0BHh?|lC1SO4QQ?^nnFXXf|c-5h&&!Dsst z{Q5g>e~exK7U_F{ml^*yQavn>A5XY>Zg<|2&-l{sAMj_2MY+!Y??>_wIMhe)h$S_jBFvA&FWk zI8MBG>P+&t--~4T7w3ESg`a)?2tM%I{v5mXs~;c#SG@cl-cH?Uyu$P18vM37$JZX; zE6wkJ^>^v|JI#3RISRirhF`yrB;SIA??3aKUVd)={o0T5Z?bo{lUM00{XT@gr_OwH z!eQsVl+UU4g?}KJ8oiUc+w96L#tg$**7ikFoz(sT2KPp1Nb-*sZ?d zljkxLUU;UD)E_v>htzxZI`jMY3_IU@f-9-7rtXSQ{Wi~j@P~`~OV8x@ms!9468S^)T|J&GR&Uxb;l~g4#+bj}BN$Jg z-L^lS^!{r1uP5nuHh0Yr`^yt}Jd8d6;oHdL$ew@X&*5T_hVM@^_I^X%>%aeU7(K=L zJJet6#BO%6Z%eMsk|;3lMm$5_L^?lFsTpfo~>~6fA=c0$d_HP}2iv4)?_Zj~-Qr-@pXMcCXuHuD< z@W^>De`nXfPv3qz`S;qt%*%TidC-4v9Y5J64)Gg~txx!f-`@9;cpe_5@4Wt9#?ND4 z{(j5*rrmm;DqmAC`rhm5w7&linD2%393*elU2$kUgMav>fArk;Jo?o`@r47~eE41L z!K>qp+lSQe&)F9b#2?>-H$Io=;j{hNt3ErACeQqx(6$ZE{k>ezKfWKmOZ=Qq+Rv_I zr~F%R^1Q{q;*J-1s=naUO>j#5;M@BDF8k^u#;M=t<8S$)ewgpPXn%YZf4CpU9(mik zt^Udj{^-a2JjP!7_{k1=nmlO!q~DfTAA-v_k)9ipuj1`}wRrXKF4<|n)P3h9xLLmw zU%Z3g7Jv3*2Y#h)Zo6Mj*SFn2$Ih3`3vbJJ=L$I7&piI>2hMf%?{6-~193~9^qlyT z`{Kb5cJm)^#hridhfjS^A3uVZ-y`Vf5$X;+THim#9`#-P;mR&{!Xx>F$KumG!e8@^ z>3beL+mG@bmfsCg_j|tFemu>8?Ju9RK73OTJooMLcfC6}2d~Cge4O*x$M3`FZ(c9{ zrq1{85Bpq|I*KQrSIQUX68+M-ME!NnznlFVC%o|<<)@2b0;xXp3;(Z2Py4TaqCN!| z^|yWaA7)+uesRtV>T>&B>y5svzTgvkf?v9cf2{{kS(i8!|2)6vIljLu(tdH9 zb=KQAdgM9&IfwCI-_tkx?};W3ea>IwcwGEUeCm(Bqh6#>z`xJq;lJmioTGN-+ixFF z{BFO2Z}gq<8P4{{JMrR|bFsYnIsSZ(lt=V!V+Y*4NASB4&NJ}sdHma1Ck|im_?Ow| z_;14o#y{)^PKndY244(>1n-FANH{?xR-x- zxeh0M#}9n}Vdi<>+tGVG?f?2-@j2t~N5aiH6_1L=4Z>Rg-M-_MPzgz#s-@f=GFTxY=p?BVE ztHb=ud$-@@oHo8{G4J^!mIscFTu8kHf+Fi!5*PgnfCB-gu<`IzMds zu=;u%zut`>Jx8dQ_?$W~A99}X`-a<&{ZoH^uC{Aky3RiMbj(=3vQs?Zyu_*T2*2v5 zd8B@F$UgEx{eOtRsrUTWr{%5w(CeuW;@$HT9$zkgvg0M!osYt|=CwK{uhljFxNe{E zqrBh#c=E^Rp0C$`nCq=iPp5G|=ka_gFWS%KEBW)-?|!8?@l#&!XCFAh)B8K`9rAqo zTAzN2z0Or*f1iisSKq@rX9QpGJz8f{kJ#Ji)zsnUgSw2D_=-33Ks`-;(brOEUZ3CO zPtK{%SH&ZG+lT&g@a^v^s<*+HU+it4*4N?S+;}(m3LoXgX#t;Yacz^?d95mU&NheqQ=HexzS`U$39ZAAIs$?zyw) zru*2Z&dO8yqJQv9JV-daJK3|NAAWe9=d#!LVyQ>YNqsN4_|^RRH2Uf5^MpKPKYR7% zU*g}I=b6{M=l50SKg@pkuFmTNea@Ubc&(?C_dA~h=*Q&`yzQs1{51ROS3Z{``|sze z`<|OV$6kFyobd88eoS3ge|(?e)oyv={DD{U_xm?``nxjDgW~-K@0Wg7-phA>^Me$} z*scE*zpJrB9cjOKIbDC{m--XG+W*3@)Te$AL;pGRBfL5O`^72qxBou!_^%ms)t^h9_Rh-}u?z^N#(yoO5^l zmUr^vA^PDaZ(P62{e9&1<0<}l(){Ot&WX>)ueczMwZqFa;g?{dwojg6ubMevdGjDejziv);?wrfTyL<`{`kw9Y;uqeCle%Oq zzIb#y`}945`iST3RDbgRQoq-sAXwaGxLK zSM7#B{@^=5)OAw*5ij|!-bVJkbsaz1|9<>v|6B7!zDD9r>*?P_-(}<)2mB}b1Lx1P z&huT*ug*{WRNrp14}9KdEdRI1Q;gK9?T6F&HBa)K-RGsB=l=FN>wZ5HPrvs0ZtcaR zKVJ+teje%E(SC@3FPV223Af9~)B5B|>+9|xPuE}TtNQe(T>m9<^564e^R4F+`vz~H zXK&tjBri7p$Y*xPulhqDKHbIs$%j67_BlF!q(8i#|K@#X&);xYuPSdxfBQE+k-xnd z{PjP)k=OD^ewcsAI`}6a)Jf+aeHZ`xImYm&&mZcq^LfYmV(OUs*Z0n`dy}{D|A*M; z`2z0ghiCQcF7pSCUC+0v^F2pBKmM;7?R%bEH+)L}ThCM8&w3sgFVExsJnues93$m@ z;=t~+=O}qDF4reJ@#7U|_Q{8gy=U0o#zkJJ!}RQm$8q*?9v1iJKfbK^%csPn|DM2Y z{8pEmC%MkQoA@_%XZ`-i<~@k`kbT};_~d-<{bt|Ggikw?y?7O#;or`E`Lo!oZ}t7b zAL7U4bI;?k6VLkh2JGx}#Jk{vFX}tqz@OCbCs>9Cr=JzzjJS&JHCrw zd7kKdIp=frE@OD$(OEvM^@?5mVXt$Sx+O2*@)W%A(R}*(hhO10`_$!}Q(ixZnYz$8 z!9l$I{dwOH{4#cQyw)pyT;1j8b?i^wm2c%k`iVMo_P%ZUdh^%$Qr%{6^<8Ga50Q9g z%r17~m2(Qe89#Zt}dtZv90a)gSuY_u=uR$^D+!?WgYJ&!_mwAO7J- z@z1=gNIb(UbV&^xJ(;r^*bn2}> z)_Uvxa{I*R)B4x%?>J9-PZIs=9)2}%;CLUu)X$rYx5(r%ywpE9wGPUM!^y7x`#z~l zJ@>YM$Nro{+;<*$J!c+A-|9!ti{gRz{EFRu{^A$D^Y2~s-;czD^56Mt?9lICKlk8= zbKvlA$6ivsRS)2ImhaoxA&=^(KJfWskd`0nlzxI|_{!hA(aVm$zj~VM^0)V2PS;=a z2(O$=(jUtw`=!qGdGC+0*ZEgHV7K}u&s`_^#eeyBwb=c;u{V9sd9d%z`yN7GJY;=j zpQk>>-k(PHc~D)__xK?W#_Z$|e(LXdnmFS@pFh}_cfe3z?jvLO`g~VjegF8s_}lj>yU#P;{cw_fkD`x~aB7_Rp|9Z) z{=kweebrC=a8BW$I9>&35)S+| zzRbLb;QE`$ZzEIJ;HuuJf6eQ|%om4V-$xI>)xFfy_4A(Qk$NCs_(!szKgWwfM*QHz zKlWXZJztGi?9{*XGyd1!+w6x2_KSYcN9CdXX7_qN5AJ=QzKNapC#moC`$zdZrq}Nw z&3T~Dxp^PC>v=!=#mB!JyMq_}!sniA@NJ8~`$&1g-$U%Z8|m|;)~mnIb?2DB%h+{e zc|ks9UZl9-p>gYmJ{Jb0f$uQ=uuDL?z(djeA%(a!`OX#=)H;ka9Hxlb2mQqdsoXm_vLT#<^MkW z*w1xwzL_}Kue^qg`@~~^F)JTpk2qxC+Ob?O&fm^Db%ULFX1%<@AAj#v z{w;W^BUz`<_k96RRQs>TFZTBRg!lw6>#H}sV-IDj-#*V8urMa{n%gs);ze6UB}3$$oSp& zPW-AIz3@vtc;!KOE?)AR-K`tnjh@{Fm3o^Dg@xBjM`2VayNq zTL(w@sh78pr#tq;WBIt^#{QlQ;RBb|K4a&E?_O_SRl@>tpPz zo`;!VJ=qVB%LDOEJosjAAA+C5L?k^XEFgrhF-~W{BTO_>1iT`&qzj*Iw-1D7% z#C1Ja-9|tA_#^)8+Gk$$!>je-nEUn-C%j?5>!kAsXDuR2}5+g$fKr1aTc&UO4z2kB*B?TFpoKXJy}`WK$j=e|6Y zm#wGoF2DiLW@&L$39&`ri!>)qflP@={$P<4^w%>}uB6jziWbKYINx*Tbjcpk5>n z{XNR8$BSM+&VJ&9|MfHc?dQ4i&%Ayg1&;hRR-gEx&fUlUeI$I28I$Ib^ppA`iFA^z6MYGlEwEwM{mv#uD6fk&wtH4 z@2BMVY6rX7$sT=$6u-N{?`&TMn*ZV;&imLS{>~%zW!H1&(PLjYvnTbs{Q@6I_^Rt4 z#%^_j{o>#JWN-M!)Ytp$ClA#z{@aH?uCp`z!cV*@j)$>F{N2Yp z_VxV09(9Ue@xOZ6a~b=$*{5|C&dCe)slQtVZ}`1Lk3J0_c$g1A{$I_$%|mwEUtd*^ z-Ny&}^OHZM{fsXcKfQ;*OYyNky{kXs$}jViSMs-c&JOnSBla|p@#xHs;PjWlx%*`- z?(AVNzs;u?{^p6F{q^hkqwe8p^T@vD-;JGksZQw|u9s)_hbIZ2r}#&@&#$Z5kAC@H z-1oU3Km7e|KmX77u<*M)+-Kk0Ncf54Vf4bIc?Add(PNx-@YE;SO`kpnzh1w7>yQ4> z?=c*6|J_J_b^T(ucoeVgVmx@5^?e@yK4UWHE_KNB=-KBK(ZdgMVps7_9@L-2rJqxO z$o}bL_4hf~pGK~A+t|MJ!@qG;Pxcq%KM4>1-esTr?3?ov{o-b~~hj;1VA8c`xzly2I$}IaB_0eeAl5 z%zQj;eNg|cR~N`b)*GuQxAaE3uKpRD2anp5b$GF5eD!$ZN9*4)*V*YjV$8m*)4$uV z`K4}{zwYO}#n07Fb&)-!dGy)me*9STK^?-Mp3n71c-_Qr`*?2kd5Q6T=D{2O`V71I z#edh$bDbaC*bmRZSbcd6eJmCZ86+=(W$~=*8!rAI*cyK6=8B z)~ok#*Y|v2zI}p2{ih#Z{Di0T7+m3XJNv0S?C$&R_~U-}qlbhS{_|5D_Sq-tk>@J73_ZIH@OO za6aoV@LuwR-TWZyhd!CUx%R2mAL~f>`ANzL-&b&6f|vM`?)$xm>W{yD-c~>5dH5wB z-ao*b9{beZ=>3|%;zROlmF~CiU53}k;hFau;%>kC^N{%@e#@)mqx>tc@dIB-`E)h= zTi1Hkyve@dd3i|BG56IEap2Z)$!Xxph{h22p zo7dt3S2)0H|9JYp&Sxio)JN;+BgKP$>)bcKjbHS`d41l7pLzC$vpld4esD@1@EnB) zai5`B57dzo*UiikI#*KgcX4e*bK19Yo^)EF`$}f3Bim&stvG+c3y1W=B!}%d& z`6Mpv%KrRQAJ^xqGk@$ypZJo_HR4E$FFS)5T+7P^pFSskH+Z%0C7z8Nzvw6FTjL`x z?BbXC(ZBKxUab@A$K}{pyu_RT^xn@r^-Dd2gZ=XU?0EeZGV2s{-n76F4z5ChwHzY>+mVQsSEA9_zrJlaou0M z&5x|7mt;S`)G0U^Hy(FmA3qzncXOSd;&VIK8>fuFT90C<{hKF;>>EC{?x`E{UOwVu zcuHU2Gu>Wb@>{vjKJn9eQoXI7zs~wYu;G{q6_%)|tE6uYK`- z#`h!Ddc;g*j!0Qhe6Y<|g`h4&?WBw-Jh~Ys`T?iPhq;e;#Uba6_F-`)`4`^wJOdx+7JL~yYOmj=*!^+* z*!pv*qudx6c{NQ#_I%*K>at|GghM`+d>84|1Ma&o8Z8 z>c{QLpZ-pM^?p0o%dhz7`!Vu|zj)m`AYbGGo*d(cJbIaN>$SX+ch=$8W!9^6cNwd{ zH;W{h<9E&$Q)TeJ|9sHW7aCVN*eEH+t(a$T? z=^tX>&m;T$eV;Rq?C<70XTCo7F5}qUyio@ak0%_<1ejDy#XfBfY?zvSKa z_?9p7h`pC{zxBj>>zC8@^ZKtI>)TJWUOeDty!M0joM3*hzZ-q6Tfe>-PuR;Z@-p|u z!S&(qYybXy((89S`+YNfYMjO8A$r9VPm&kjJGWoSD|r+N2j>K1eG~8ceqB93p6u__|EQDJ_uRJ6esI*M z$>CjpPlmqYt&TZI!99M7XYszC{m%F#t|b1X&ZzI=1b=)c-RFOCgsXf>KYhurv5sBvb&hc^ z!c+I@v7W#7fdfC*`*1%jIEODiXR)7TCw*{y3QpqAF48*VE%V>c{*8O^#n--tFFr-|RUg{gj<&^&|MYuO3_fwR+t7@cc0L^m*&MjMFFEpC0DAx~9(e zJdkq)JI?(2CVHI{vhQkV?azMQKltDSDgMp@&KqZXkFnpr_ZbI=;&PkocaiHD4q2z( zw0>V*Oa@1PzaQb8?mWUC`{M@NRrg0Fe2OrAB*Gj4q3?``yKk@6{i)vo`T`{F9U)%y>N zJ@_Ink^F66I%FL?*u}pU@8Hq(Uz^81cCnMx7mV$Dj6J0L^sqPhsKfj!zScXx7~6-x z^gm@^?;E_|az0}(J@=XKx^o~s?{lBMq;;!Z>|h^U>9H^UBt6z`kEgsZkL^c4d->%) zJV^UmcNKs3qrc~_L$0s$*~1U>jGaH6W1gaiKX`XL`^jT*R%g%p-m@TY$5XCHnQr{Jp}^u47zp8If7 z2YMdR=e<`r#-I2tE+l?+zo(hs^T@Xu)5ngF(Hp<@9sQ1U-Fd|Oft3&9ZykOZ(?g1P z>#@8Mcf1Y%i*MpIu_XH00dH{=NBffOEFM>b`+B`~ zj~ygCNcL=_r~W68;M;zGjQ#49e1i94&#S(yvmgJHSNIFZ)>V4dNzZr2_tDD^@m?kW z@gV*-Ug`%K|HZfVxDP+}9R@#f;D>Sd+2Anq;j0eVub)fN&maC8t0(+p*DB$2m;KGR z-gR-+kDfDMpM?KIuCs^!W3E4aWu5u<-yTm9S^10)#clP+{`wPrm)Vz$e){0tc+v~c zujvtYe%jZ1yxNaH_LH~G1MA^!zhyoC^tqnD@WTs!rjPPZ{ph~-$-L&XbI?<8qd)w| zPdsjYO8+R1{K6mh-3}go4!xUk_lGxQ`6KYn+e z`|n1te$_sFoa^{oyKgQ=WBghDhbx|_|LwEs+u~Wgw)hwP&;Fj#Ip*o@y!yi~ennr; zN%(-*@1y4-GV#;DNj%59;^a9ypJU*UI#>T=Z*k4}0`K}e;Qrl$&liL5w~_K7xD+?< zoy>d5d_3asG1m`~>0|N3=Y9Qm68(Eb#g$&a1ONBYBcJwp90c=Zdem)?fLq4#Mpwe&P*@KlizR8)+O~seAHC z9Lp!4!!CZ}$yxrri(mUly#Cva;R+x4!z1`szxNO7MdFIb>~B8ZWFI`(GS0cVpKpHm zIQ+VxyR^KswD1y?vVE|<{**Wi9O4=(tn-^-)KXZ5SUvxT4X2al{j#13(ez3i9g z&cDSAKjn`x-ox{1^s6KMBgLWlwaxtO-{-b`pR3<1E63_N2?-8-rzWAGY@?3nxMgE=TKYQ6B zPIzP=`Xl?Ef#2q-C-Q`S*MrAuhv($#V~0GZ?=tI?2mL-%aN=+I$1ZqZ2Y(W;)ydK0 z`xLL=pSYiW&8y=|F@DkTG{_N*Z&u>3WyqsgzwdSvU+lLRw%#S_%`QlvTy{$Sb?(qW-Js()- zz3)Tz*&^|2Kl>Jcc)>6E26yMe;*59VW&TtA`8M*Kk>Xg~!iRqEGdRHg?0bhV7sJ%2 zNcI+wT(A8Z$F8;Ru!n?u>yUly`y73EddwIOo<=Xajf=kd>aJi#0F%JuZm_SNV36Z_#OzNyd7+y0%P{yWk9uugpB z4PNjYFUr68+d7qeC{H~v@K-$5qvP9nw0^0JaQHMh?wqsb?;+Q3Mi0Lm7j+O%)OUE2 z^jwV|c+^k)A?aZc{o)yWTCY>r+Be|gyhsnf*@fro4*u(3hq2drRy>|OIhKi<#! zz87H^eEE}o;M;m7&*{fwJWYK2{FCeQUENmK8-MXoUsikW$L{J4?}{&+@aO4bEW(~J|aoENmxb*Ke{_ptdbC7p4#!pfmQy1)8{_02i zn0m_otJrmjWS98IK6#CA#(gfh9Q)LZzJKxF;wAS#jAVcLw4du)r*6G|9+dSfzHn=O z`s<5{w>%>Gbrn03m+V~ih@10B>*I26(VzK^H`euBAnv!Z5AN^d_ji%ck=X~%wdZ>7 z+YcV3>v$nv_)&Z1V|c$_7oVO3)G7IOycnF}D!;Z||JqnxQb&#DyY<1P{>0waEB262 z+4nZ`@OZLMKQ2%A?nj2-;tw}`YW{~e>Q&=>Gy62o_@*w3bLQCxKU%j2&D}0}u*RDo z&1-n!l{nZh_KIWu=sxiu9whtqqZMC$!o2I~5pVj#Q-1XPZ5{g$Ss#1(+4{}Snal>WL(b&tRHXAk>UKk>@CE&FYcCy(W6c@h8dsC{|W4`0{mPd&vG^#`73 ze8U6l_hT2nS+9@dMe}0ur`Pd{|MtOe`z3z#^Siw3yxwD1lx6I>5@w0#Y!e7$9c-M92r=QpV^sUzI!~tF_pL>0&kIpg9(awAIbLo$*i*Us^ zcE*4D_*I^77sDXDIR;nH&p9u^-+FSj*BIV-)jDvW{Yd}wjPg+OLezz{`*iEvV z{=?{Fr}L1!ZTy@E)d!!Cka!)w^OJw#!tS%@P<2dvNbz3mrJr8=z{7R2=V*HI%D!+B zf4G~kPkP?eNAU>0?4(z{c3vRy8PD*@n7-An@T_(7HgU#d`yH3-?z8tP_t|4UyY-9k z4nK>dxR9%zuG?21hoiAL@E7j!vw7<}e2rJU*iX8DIXuS)Jgk2Blk5?HxWS8r8{A3w zeixki3lH`OU;I@+@Ywb8{bu}dz4d~ha3|S+A3NaUK0nv%^ufcJfBfOUxZDQk*vanV zOwY=fE$a@8+-DpKA92)2+E4FhzWQJJKG#2vJnP4~UOf+){~xat9@CW zO#RenTW{|d`<`OwbELX^%se;;m-ZWe=01DzU0r9Nx-U-fC9SI-@wt9$NBwjjfZJkc z`HKICi>Wksk$6htultwTH}Q}seICMN`RVK`mA`+8-T!!!JN>%v0m2vO z!v5ab@8Sns(vP+ub6wpE-gtm#)x%zSx8w<)_uT#M*x5YGI{B>6w7&(X=J8kdu?|o1 zca>-SQ`ev3xA^f3pY+4zX&lc-eEXefbHu=uxlLS$U;yR}cG0_L20m zKl#lb^|X0n{+2kf=l1dBY5U1t#<|Wed0n~m4fTXS{avIVPWt52&foRJq55Nwy4Ux- zA7fAIk^SqJc)=y}ybn+>*{8nrIof(SaZwLzZ|ax0kmAk$>cxM2!>jj+r?K z>7&g{_B>sT-|r*W{ES_ACcffffAz_{@(*toUWxCSpKyma|K-8u_|tWlv0L7$@B8Jt zdCkAvPaNe5|M0H+z)2t12id!gU3kpD^2T_9-XgDNUH66C?OT1~E594xchQ5dcqV?~S@kErK1bT&0sPqYJo~p#ew?xW`}>~! z!h3aMKl9u7!c%=j{^~!q?-+mJPygic>-TMaKVY7Z`n&{pdew{eeRcWUu@A4+k+bLJ zH9m00A9x+2FL<}!iRWefTGv_Md80=j^F#bymxsoy-_A??IrH;A_CCC|8(!*C>uKt! zxY@sT$~i;+$`AhXFLj=M?C$3R=5GrQ@QuBA+2_us&w8$IT(fWSi2wYnzVO2J&QDy~ zU7T`Gv0uLzoc`DGH^Djc#S@O=Y`^w1d?oQV_RGh{LH*ueKz!tN_Rl)|_jyy@kiV&m z^)vZjfBt^-^<4FL86UIH(sz3!B?Dnj(Ws=Su{h}96>W%sDGH;uG`O*HZ&L>aRX?bT1pY^<93^()m z*S|}`o6oTapV^o5Rq^;gGY^jVDBkMP_4rjg-_KaR>3RD$*Y}ZGXC8aiXa49z{8C?A z=fz>WmW@(*rsz(f2Hf8#^!bKSb&-oAbxJIT9@ z-$g!*EI*P@?f1!-j@^&{aBcprSB{z`oM8qYq=K7D_uPT|)o@k^YZvp#WBSH3(42YpE&;a_;i z&ieW7tm|{0bIU{Y$tQj#j_OHy;(q*tk8}GO?_N%Ry#5{AjQcygwNF1{$7SrgiBw0u z_we^@e%CtvoPW+AyH8pF9Eo@KyU%qv$WQy}V{kU_n02nxN6J%UJYV;BpB>imo7^5x z5r%W?x4a+^Gq3geCgWW1d*ht*`uU&tBHza^`JB2S&iz~q|6VemUyB`h!yf$uuUv1Q z!kfO>tv`CN>A3^nx*pDWgs=Qa{=>277IA-yKXAYU(tUOwGv9SQTjR+dc}gZe?CE=g z_zibB!A)Ilf0wV3*0nF=**^AOKAtQnZiieq?=E9}himL=pV^O|@{xYL$nU9dKSkd$ zGVyTEP|v@>@zc!f^MgD%&VKrf_3UZC^Zc3mY5o~5&nJD`Zaz;Z`}ekuhdfUm-QnlQ z*z+inaZcUo`w;I(()Sx@d4(7Jo%4Xd``OvI`@w@B>J$IiqaO1! z^+vp^55M7P{yzAGZ{i1!{yXRDVd@GVn&0!OI((S;z>&VbU%L?qBgJZ|R%7 zd_9jpk3I1C;#~J>>~S92!C}F_@#Bx@TKGN3FZkjec{%&5C;GCwpx*LdoQ==^zAyfm z*Z3y>uD7l{&Hl#aop^=saK%UUtm{5R51G2okLJnkvfo4eKaOOd`ljz~&R6o>y7*iD z`1W)$%!mJ$@!~H(>X-VJ{s({jX#bE8_p$%?k*QPqLZ4fY*iDEoAr_{dXn)u$V;o8WR88NO8?Jxkuz zkL#?{FP_G4eOBF+2cB#2YNvmU->>~5IQ07o>N|c}mwr@x@gF{8|Lecwf*$iNba@&49`P1h=_?`Xk2fpuvN9>2ceCof$!w)=ies`UJ;bac#{MG-Svflor=Usfm7r5qp)aS|Xqes2G$~d^fL;c2|t`|?ZT5n(1)k|?;pY{A9 z&7<$;@f2tEt@zN(Z+x<^_563=_Xqwo{%*g-Z+MuWxVLVwS6t|Om-VTS`j|S>e7GGy z@YOv0*wN1p_J5ak-;Tu3)+e9$;1hf=W7mhQ3yx>`3$K0VA0ovO9_kK1j-yvy<}bhW zL-kQz~!wQd8++YAAmRf`ImD`{q&qR`d+_Z@+t8Mj{K>e*Rf;HQLo=){oUJj z{T@9&stVyTy|} z^P8`DzaM<+=RWqkAG`3VGCZ_@KTp5O`tVBr$Pe~7pL*`weYP%g>Vfmi&idLJyXfh; z=hNc}c{uw%O7WcYmd{msj(}I=qVC;}K7TjT_X**9=Zimi7e8XB_{iJ#8T0f7`2t7x zFQe}e|5Eq*x%AUqSC{xBKE~qL=irA~S6taI@5y8Ke_G_)FZf}d`y~DR+ehCvcC;U@ zdc;HDP*3tcs_!ZPZS-yb8kxGayU#w!$1n2V=NIak{=~k-dBs&e!B^csi?8~ikF!7V zQt!p3_30({sx$BiPWaq>`mdR9KmL*8A%6TdF3%oM`O|ZVxYJ{u>-ha~*1@6nUCniM z$#wa>%CkQBee?z|c~qHm2|fCsv3=pxd<_pe?=F7(ekdG2U!3sh`Svj5UHa>P$n!|! z_g``!KjrQH=x_bd_ZI(RzrNS!XFO}2l~3UV9;s96U;D5)lj@8+#6G z?W5K$_M2aO;D%4XM8AAu?|0cR`PARX7B{?vcj{BmPt)IC|2@&Mf7^aI>Fv2l{`mZ& z?;-hf96S6Ski3Rt-v_9dt6liNA3enxzPA^{JoEVPI^N;OUF>;|^d7)DH*w+*DPHnw z_i0%VKmI=DKE2r&Z=7e!Yx5H~=Qa5UFB0zSde_aHUK~!>_zw z)VKP*DtPNJm+?RT$UFR6#@qHe^K(9RpWX5-d2D`pD8E||^qFJ)d5Ux$KiT_|`=3Vk zeY^1wx&FsU?}0s6+9!TDU+IUh{;eP1W#5~}6YgvLdY;-c?=n)|Rln_j$o*~fwZ2%l z&wX`-J@BEA-RzS`))}({p4NNc5`6l+=bS|Ue(cn*`yR}D9Q&vb>Q($Jf8UKB`HJ`I zj(jUW?9YEZSNG)MarBj9(;fszv+J;oKk1>1$z1%fM@L4 z&pPLdHUIF9z4EMf;Z5v^D?iLvSKwcJ#0!u36MfB-@_X#o)Rw);TY!yX>exaLGR6?)8@l z=);Gzx-(h1+lhDPmtX4ibL{#!vb%WLef`UMV#S%BZPs;vb&VbByY>17yxix%eXmAu>+#L9PwaKS`KR7ZUDqF8 zpTj4=`@0Ct7eDUa`lCAn8dSG%xuNcX+|^GJ5#;HF+4k@Vq=a z&h^&!=ZwGdo~t;gKJl~miZ>~)q`11z5BEv_lEJ0<5&kxRug7k2U>DrQh5wborSXnl zefCVczpPV_oVU(o_=*qgX+MAmeBf|(fdOyjHvYC=nV0M3z3cLoq~Cs|>krvi9aq1d z*Ia+fJatgrTl?AN*jqf|n7E0DxUKVCuV4It8y>BaU-E{3q`J=T=lJsy`DtX&p+78R z=Lu5(gr9n5Ke!mPcgucoiNxO(kMf3p@DK;~7>ir{>E|lH%f6)d2j;o%+`~V9kn&VK z;A+fHlHcNT89U_p{_({3#v4BNF`wVE!@OSh+XX$(P!Lq zcAh`Q&AG*Xu6qyTeVV$_dVCyvtyj0rQxEO$y7NuX19{I^y?L%N?@UkZw{OoIS;r2a zi`1Xk%g^F=SmK#_u-;$muzJovdeu*HG|#y9<$R=1z=yq+^6omkQLkK&{qph5&hVBU zWZws@JX&~8AHLd$o}SO}J^K3GB+uMeU&z~wVf5GT)bdmUb}r}cQ@fqfgl#0?Jo ztsT+VePS2?;8q!4(${?siMRfv52)iWxv!7w58kiubKknVjPb~IymR09GV}2*e$-F% zKR%w2{K78!NEVxb7cE+;@rP4!24tDuuflOmwEJyt97xv@ukQ5ZS3#+7}w!I zKN-9I`yBl|=OK2o!#?^gyn;)=p9g1hiyr&&hkp3Fj~~YStmg;4!J+)R9>4J$|Kz2y z`lW7@y?!%#UiD^we)@g{``Aw&Gv63){7QV-*}RJVtt;8D{G=zmYM&CH`>|VImLHj~ zU)tCCqo2p_XT83rzI31O=6>sYK8NU7eBRGI`}BUU+qZt_x^sazq%Zb8xjLvWdtci6 zNl(rdt{1=H<9hcG&Un)Af#GRz;Sc-F$E)HL{@@k6&2QgNAM3ok#4o(A-R!`p_ZM@8 z#5X*U&+^o|cUiZO%s#d2cJ>z^=RkG6xPLqIYM=90*24*p@X@&Mov%g@p0(~I9?nJO z&k`qnie2I&zWiX1`OabDQa|FC^_~AQb{`dYf-n3GPy2Td_DQ{J9Q5n^(W8#GFS0ZBz5dug`r0q? z;9>O1&*uBxTrY1HyjoYB&}CX z-yzq7Yk82m(C6r^S0B|secpBPZ+>6KE_uLid9}}dyu^R&F2}ysZ+c>P`D6aw%x^u) zdUZ|x);D`Di+}oGuSXw0tgs?d&h!=E(==i}sZ*cE6i-?aS>mB%QU1klRi`zo(SnTiUjtPxfxxe~aBYzxF&u-y!$^cBJ~--~WPl__lq%n9L8a@_xkc zOzg@F{>}Tm*MC1Nb~Fw-uNLp;0OQU(mM4P&+RWh#lHNVNT1X2jos-N{rwmG6hC_D`={vD_wfKvTcGvBz_9@~FR$q(5AZ-sRl=`u98XY4UBSKIZ%M z>eB1?B^N(iFWGe&yYL-8;b;FY*8Rz&UHfPHN_k}cP4r%qo@vG|K2k^V3&D)kCS++8)xsC zE(aI+yTfOaeZP-g&ym|A<%{da>O}Tw9;y$iU*2zsPvd(W`|zLCKg%cf-pqXGlg|H; z>-QsD$IK6o<~P2%FAw2p-1mw4zdCe#G5_cMd^P*>FZH;2)jpNFCjZ1!e%rV4Qg`49 z@6-kLU?(2ev8(y<)~?Qv-{PV_)UL#>IN6uq^4IT8!r}J+W$X@jBTJI(K!=`;{bqX~ zf&avR8$bup1crb(DT<(SiDXnatBTW;-JL2`*OY2{S{iAwz`n%RYQoNU2zm@r^CvCc zue-U~v18_bZ`=sZdiEo6Qb(NIdOpbh(((B696jQi{^FH=rv7yO_@D)H(_;5?^j-zPij#^+~?h&-g9AJ$JJY-f*xUUTWJ9J8$feKlHOJ_dmXu zwC(;Ob~_J$KDAx%@18nu;H&&^eV+Ytr#`f<;w2u5=Ne~zievZzKXFj^w0rK`E~d^V z4(9c|nDYS~?33L$#1T&}2bcQuo9I{9@#W);%l+)@xhLmUJZe3kSANIcMOZ2M`aJfqVZRFwUgajOe>+5;xk8{2E+Yf0U zBcC(>(;|Z_{&ru%7w2bqsJG5pk?P-;-_`5ytg9FN$ojbt^t;8|_Lq}gy^q}fd)j{< zd)-gjui#9|yYegbtGxZ2i(!(w7QdUHU$V|SIKl^Sx(@%;1#Raxbp?;%s;nqwdi+&a@JgQaTrcjzRs?jS%==@_wU(1 z*K3#hB@dr7?idLdxUxq(d5RaL{h|16v#$LJZoO_@cJNERf{XR(OWvtNJqH;FNBM4@ z&*PtS#_mh}wZ3)Xnz~y&eLpGd^QZfQJPuFQq1|^`2Vd7X;@{oi)qMG{r*_ZLeGVp% zlTYyPelEVAC;gQ5e~k3|=Gw6jF1>H|xo@7U)}NIp$s5mC@Z5P2|K*44<;A!0`#7?A z%ICxM_j7k~y^BA1BH!`jF?zF)cb^Q->Q?jc5Pk9uj`(0-%s%LQ_N|-z$i5{X)J^-E z_SyZS^&esfK8J_)ZFu5e*Z&-U$((!!$aQSfpO)7dJz8alE2Os^$QMg z6SoiX^HZd{@e=!fJF>XSEBhO~*ztTZ8G-M?vFFu^`|Ix_{dCg5?dG|;^Ka|P&b}Wz z;No)(`COc?#@^n)vU8E@M9(YV$8Pq=?&`l8z2S51+lIUGZ`bNuHeLQR2i-=M#9WZTfpZq^|ETmbj%Izl*2+&-j~+6MsCz6aFPG z@@VnT^S{P@3x55bxA4P+sdUitUK>AK(Re7z4)S5r?~$783uw~K$f zFIkWO_J4UJpVf_*jOX`z?eMzyvFhIM;@9KIUjIY-A4ZC^IEr)Ql{hEe_}TmDWf z1c& z^Y2e>pBMD^8O2du>%MrK`H^SWFSG78_9*{7_t-2cM(o~%dByuU*PCBUoOj}= z{^5sx!F?jX@#gkoJknNg@Pj`2CT_{^`1x87XaDWzUuU?l_OQ$PaJ~v2!L9o)oYb$_ z0ax)ZPVzGNbsw-Fk=FSp>t-GKDo@q%)|PPmU)X(m-JI@~{uU`Mo?%44f z_tazcrqA{4YwTa@Iy`#ci?_jxKk}`7WVgB%ej49%NcJi9Ww(Bw`h9T0C%j9YYn^ny zia+>bJ@%1s+`gRR{kEeZ}{VWM183~^W+I0sMo=v z_dW6pKKP&Y@R;9?qdM(*gnY?;ggT`D;DP6(p7-T^=l8mH>bP}VSFOV@cH)zI;9NrT z{~>s8k?N-UM6Wt{S6pJ@R%};H7*QS>q`Exfo@V|K8W_|I3gMRDt^Xe_0 z{OWxkT-YHF>|w8Q^k2t5c7}K2R{hoU)}Pkl_}e;h^VZ(#QD4|04*Z6Laq1Jkhy(xN zXI%3k>+|n6c7Gb#ecZk-ACDRLnE8j1ja%wFzwHZ^882_UU#MT~UF(g0xNH{_`QTVw z7yb5A>$T3_$Nu==^E;g3s2;#q8=l6q=i}&YJ#+pEZpHQMjMGm(r$6T#b!N?1eie6d zWjA}(U3eZZ1~)u14xi*la8x(!*FD#z4%^f{*XA- z&;NKayts}06uI*ItMp$*ic|84y=R|Wf64gu`P6FX{nN>g#zWr7*YFh{<@Xl-8P|RK zPovNKJ?!f|d6Br|gS;=Fej5FKpB}%g8@qcS9zMQXAMgl{``E9oPQ|V@5BppPo}{>` zAD`p@%KPxAINWFbW2F05pX+>1zj!V7otZ0EikkM?6v zKy1V3qdVco31w5Slp4aCl(PLfy_4AqJfjUmVb8yeC{0$FQ zem9T!@BHrhoA}`snSAMc$m-SO;NHL6fQR-4I6a3C>E}oHL*tJ#PMtBX5}&VU9RFKy z|2Fo>4|vBeBRu4VdM_T=(Wf3Hp6X|1>WX~nI(M0$ zION>-`W*ewPyb?RpO@RuD(xfTck_U~@j#V$Nj$5ID-&PrV2-a3-{ zQhTfmH~8Yn`{A+NV{@3p@sXxJuKJ^Fh`aQMO^YX{% zAovkI>YupK)4b%jym9_ZK9>*SfBl>D$LseoQ;(ciYbSi+>fDm&Fzhm~=c?!6Z$3V1 z^V9xB$_wL@hqcG&CErIs{(Ve4eyhW+bCry`X79H z9!*`azc!w~S?st+@6u*h;;tTwQ_n5*v0MJa;qvKprRTuMX*WOS zeHZUVy?(y`>(~LeL)yPT&41m$Uq)Z^CHX3T@M|2|%TDnWf9tGvUuS)BQh)F*JX3${ zgYfG5)_rfC@J~IK|E)jwd5 z+TZ$jxPvD=&h&^2-m!yU@H&iN>h4)R`aajc9a-MRkM3jNovv@2I;tv_(XOcc?K7FItTuj*zr^3kCE~WFYqDxRvzs$etQbiBa2V) z@cDGl{o#pzel;J&2|u-?Pkm{A!a1_|t1tW@^^2Q0y1wx%@))V^;FtXb&+f*5abTai zQUA;*_t78wyYGBG`tS!&#J_pMkB1p=zV+pQ_pM)Ny~NFZM)ip|yE2YnWaEri@H3BH zw__K+_It_dI$ZHiUgPZ+d-tQq`sKOx79R2!e#Pa}=+RHY!MvW=`1c$;_;odUnh%Fu zzmJSRzDKZ=Z~PYj=n<#>o*!KBwRy1E!T;dn{*}Z(ys2N-$Ge{Yi(&m-Up=a-C^|8V7}dK}sN=-bSLL-N7CUU@%u$|rf!{S6M| zZ{Hi~_Z!@YI9DIv>f?WLzKLBQXB-|{PyK7%!VkFB|Cx^`_Dg*2dE0v8i#PD2kKDi2 zE5G1VnQ`)1f1YEzFYSBPxex2#DaI3V=(+82)`vs$`gk#w6)&{$f?xWb6aJKW?sx5X z=Bd|*_?`TdFYLez_R62~nx61pJnGk7^yeH_zxJ{3DpG#4Pn%!sJ|nKKlh4sd&o=AV zkB`$X?~(`Q-DBp%RUNY)f8!6{!3`hEd--^X-puRg9)FBI@@Vce`g~s9(zx9l_AN0N#{@;#&&O_bTkJDcq5*Pa5y2^Fk@?{%+{D!0X z=le>=hj--zT$4ZiE>6L_>xwIWB%byUbqkJgr5A3+b*U#EpLMI(^UzPh@phzjYF}`% z@2ZFV>A2gAVFsSzZ{pH*#WV4xM_jtk-HbiO{W1FGul4pbj-RzBcs4G_%vXQex8k02 zCwuxivAmSmm(dq|`gzW(Up^6=xPQBVkzwzunST~aWcTXq$;aPrsoPPUS@nJuG z)?tS_!9F~_9DUuV_+{KPyCPE;3={vTpD`yZEf_$=-{UnL&$w*9p~c7Zjl5`Q1nH9B<(gy^ZgRuluU6XZ@Z7kN>(~ z>Rj_I@vU9nyIAw@VtaAuimeS8++UrY0H`#;4V{v{sjuDr26KAGRV6c2jVbCvdU z)`O4xV&|?Eck{&SE;uEB__OjG57^)R{Hx3lU&=!~Xgp%4b;ZqfQXIF@TfVuzMbFh- zm*@7K?o-b7_N(NRI@)-{nO)*bx{hz~gQ!4*C}2T{lAhj;f$ z`A(|$A7cM~Wa?e@=RDo}6K(a)IflF)J?w=i|M^}1smu7UE*wWs*UkQq=WxLpm)6d__ zvA?{wo_W@V1Hb8m3w`vPN00ibPLR$C$JlFq>+Huqc}X^I{I!1k5$F1~+NHj!v+Q6O zd+^XX;AOFs-q4(8de&T)41JAKr-1zOe zHr!pe&fVzkbFa_Q<9smn;q`a0;mS`u_%M3pWzQ3-59(C=)z{>`eEQk*MR8!C_rkr0 zCvI@Jeq?_aLmZNaJx`c-8@sdrz*U`RxBI=;`{-+(iyrfv@BCy3+%JRkKJt2LUyfak zZ`#d^ZLX_}eGcsTUL?D7KK1)Q{e6nY1CL33Vprn8KlQc#4^MXD*u10<-m$xWz~e6d z%TM!GeDDo^q;c?G>hJ6RnsxXkE+5|F$uB%;Jn4?__bn|KvA+>wo;L|Nr4) zkQ2YFw|+X;7SHFoZa*kb#qBYEzytor=)E4<=UwXidjE<);+gY}b$|Zd#n`QmKctP% zEAQwFKJ_Q(FMigaJkRd=Tm4gK!%KC)pC|J-_KI8I1AtTb)cs07JNdys_IU5$yZGyS z3Gfg{`Gdc%M~~lo>+i(qe~DggcHKRl@W%hviFG~pT2I|zM{w!y4tyTHJs0OZE6>Hd zb&FqH>^NL62r{1xn z>)(uh;@ZC->KrD%{K2oOE8gF5{_5}bz`N%N@w<#Y53{a%+Hvyf`;2>uM}jK3e*I(B^9 z-}JYd-yWx~|>dpX|Eo*UG==(QE%y|HKF1%Omwv-ta#>ajwE+pD){o`<^u3 zd>!2E$DXG;N2Pw2f5(hhZ^S8hH}2z?y!8IuPCf1O1^bHp-$#G&7LVR97@xf9?>POG zc|S(Nr+NRBNRI6JNqyuO{o3ki{F6VeKiO~jWgmh+`|+?m-eM+kAK#ub#^*_pjNX@WTF!H|!XR>xuwUaB)^&q?_6CI0ben|0_nzwcYZZ>{5alKIXxt$T^1JYrw# zXY4i}Uv~fHWRLeOUw@A)`wl(qwZFBViX$oSS9up4ZWbwz;#cp7#r-&V@waspujp+Z znDMQnzs-C+4o>_c@uYcxZ|e9<^y-gZ`BXgA9eHklAoatCALYlz)LC}k%)0Wt=M8nq z{e^mS$owrbe#4{n)qWg5njhNFv#!4vRw-Y|Z)Y66_*~wJFS(!buk|N(I=?)p4KH=% zCH>^bwDD=t&yJq6Z!=yVnP=a4c$)efzts`-7XQVYzh}6?FT9nH9hZK5E)L=k2Y!;y z`}S9L!g&732Yxyi;0ZnYFXK169;eMdyyLh0hi~J2HS^lOev7Al4Q}dC&m}os>|#&j z#=n&Z{E!F1!+zBFP~j&()G2uicWt~f4vz5;AMm5{KDa$Z-bN<>jBCBopMA{v8DHQJ zZ*ge-J6sH6c+GBjk!!#D<2oLFjy^c?TOE-n!J)i0j=!JAZ}BGiqrKLno(HoJ7YBR{ zPUfrE<=Zj#uRKvl#FO9ppJyK4^!W;2$rFC6GYenEXU&tI+vG#?tbg}1`|s|*2Di_V zUyZ~Y=bP3M^>_9szl+iPGCb>k%71l&KX^}yzwz7HQQqBMjOXx{hw6*@#_cmc{3vhW zy4rI$>-Bl&pH6M(lh{CbxZ<2VYy7OUkDj%Dq|MLjF^^pjnV-CB9;U6n;WHkwv*+RX*YgPeSPy^n zt3&cm9)1&C@qwLqb2IkJqxuC;^(J|+y~787dM?zzpE&dS98cZhf8&+)%9Azz{Npbk z@lX4`ar)I2^%fqaaqxvV{%yfCd{8IfllaoSwC;hPNdC$P{>T&cKpPI`(TmsrA$pC+ zhv)Re?ImsXSbf(v&idM)mw8{(who-(8a}HReZI2#arbnZ*>jA2FVcMZEN`^o?LNc! z-dD2+UgDsh!biV&1Xq0R{fKemU_Sk^yZg%L@lT$x6MxhL`JwH)y6b$`bIosqTX@Ou z^6nw=xs8llAIi=NuWe|FUG;3wYj2_Bsvp3B?D<8Hy9fAobX)q_X3nFk-Zv2#Cu zSx+9~6FgkkZarWJp0J0sE<4!8AM>7L=P^=T>DQ)j#?)?gZo++;M{dGuW=Q>$I-{Gv+Jwh&bx4+2afRv@7eWw{tn*8 zAL38^c*TGEoqzF2ol%E+pRtc#{J5R@{OZ1CUFSgOE^$0Y4?pFf^P6}iuC+Hfs+-~? z4{B$4q8=3Qk8kZQUU$<^4?NX>pY!#5N#dej1c&mAKdEQ!5B{}BT*DhU)~@&=4)VF< z{(W$KSR|bBN?ZI${1>mo;86Sc5&zf$|MDdB;9Yfwf=C}BCeReJQ z;YIz3ea%z2lxM*&eB%e4t>5{#84n-+Jq&)HSMjI$bwAhn)z6un2S4O`^xz@CodeF! z-^mN>6hHYAiO$C4{{MZ98b)fkXJ@U@DH9q*)=R)v;-?~q{1V?_mPCn$i z=ZyFTM|i{^d4cC^eJF1dmtId^;vGNKp^meD=Kstu{p=P`{869p;twev{J>xR{Dk8^ z^YH^d`aR#EpM7`=XZFO8?(2BN4)*hhJ=V9bykWO>*r%VL*5}vSPw(;R#B{uC98%ZH z&zp?fk5nhb5g*jW=6~w7y4uh2qsM%|`@7?R_@b`%{_f+f-*XB)gLCsUd|m52{x-js z`rUKGVOb}B$XoT&{v%J}Xx)y#9ev)5!TY`^`@7&8|LjxtQFv?D|Hqlv=UWfc7LV26 z#`o^+IR2Q&ALon4lbzNHFW4te;ws;Z>&o-Bji>s<6Fh8u@t4H+jE5im#RcxgFL9}T z+r?D=g`f35yu!=w)7NkDtbYCkr`E^lhjZT_H(q^^=jw#(+pO2;DMsm%_4v6mhE`I2?%#aB37KAkKq57=XUc3Gb+j~2fkN1yoN zjrVTUDS2TZYyXFt-*_gE=qVqp&ptTt6At{?$Isuy-Yqh`t6uns8=R~|UvT4R^Wb*Y zX5kDsl#sgL$C z`1U7k9PP1ho7B$<9B(9*XH4;_TgfBu7k(QC*$yWn{nl->zR)i z_@u7ljq{j1T_t=wZ}Ag;jZ5+#4_zn4Njw%Fp8x%n$MMg2de~Wh#b4_-{;{XL5?6V9 z7rf;&{Piav;ZQ&ERbHEi7hCjRj{WAdPrK)M>!~mHAAHGrKkL7Z-u=k>7k|aKyht9v zzx>bq#y9iJSN`ztA$~<)^9HW$H;-Sb3-SXm;XpQS=E)Bdu6Pa~`@QSh_pz7#_C@=y z@#4=9dgZ_I@MoXva0z~AaScCP7oKAmKfX=-xY#Q`Ij@y}!BalK55D58KC8#>Tg1P- z;TIg7i#{)Qxvy5=-~h+uOYb}QN6I@qF|YA`I{mM_+Gl;^#qn~+HUHs8u5l4h`n36L z9{V!TkPkb`N<#WCi$Qq%13b&XLZoISUu^yyRpM{dhL7Nf5jvG zYP`fV`>lEOI}hMf*AE|?zwwVBy+1exk6iy5-Vf=Ak2s5y>+%yHTtAH8>R$biUHVDq z1o#)ch30qP4s@T9y6Zg6hCvKL;?SMqHedwPGKd|%grC!ULY^ABI* zfBWJ0Y1V1AJVs6GEV>)O}UVf%;o z&|Wf*9ylM;e~g{s3;f_K&du-eLBIUxm%31Yqqm<+W&djaeVg^ekKzzM7AO2xm-q)S zeBoE{>hoiM_)@k8FK=&bq#jNwPP7_`b5gw~*iSc>P|Z zJW2eU=lmt<-Lh`$ecG!%zK891An=9%f66@k;r}81SCQ7gOdIa<%(&~PQ+&$%_#?jX zR1aIv&A*!Y#aFzN2j!u7?Pq-d&ItS2nf2LI9+>a^3lHmkj-M;fjDr`uc>#scE_igNVj>XF#(vJ`L1h-FPhx)}H^^INq z90o7o@Kxsj{Yk$5J)4UY-hs;m@$Y0Oh+791}ll@G6!iU4fWN7r_ zbN3hL2Kg<|o-+@=;Zx(BxN5ualqZeVD$Qo}N48neo=arv*p+pvSojk9X`4 zZxXNRx1M?l4^n-+jUR{cLmbuZu6vd1;lug;L-dGO;@J86;SOi`xSqJ;IUMk(_0xRu zyBzz<>$L5+KgaLwzmJ{$JKg+;o97+yWUups{R5Bo@jJM{E%yPh&(mk$>+c?PKR>>m zFK>E2cpks#ZN7`2`QrLH`t)C?o%pGX>QV7DZ+mM`>)iF&(K_^Z)9!Wo6<+ro17G;u z%{=jxw`YFuV@Kng_T$WVe#R4Zr@XYUmMA$o7VlTBfjM+yEDGOPhp)8 zu`fKSzHR#PtUQ6oA$F#2xc~RLh z*X)0e{q(@qIJhN`#mBx|dwv}~!3&SnQBqxo1AmKyJP&UhKl#XxjBA`yr_SOepJSIe zSoh3+<1fWE63?w4`>fZx8$0ObFFxXb`;Sj2gth5|7aa8$C-#uZ6XSbsx6k9b`&Z{$ z=RN#*h`;#oDQ(hvcx61Egva>deyH_F9O10J&pL@KKhAjGxD0O1$7ANxlX$OjhGXlG zdHB9XPyApp4e@*K_*ebo(?siDVaiS6<6gJaoPL`0qxa z{^l7R@B!ZV^Utx1-Pb2Q+t2ufCx_AhbM6!SI|SmLJYm0c1>VaC&xze1il;d8(>Tvj zTNl0>JLvrx|M520o4@=PpUasqf8kzU#t-$}^}Hw1`+2y-yX);o|5_K+M}Cs<>iqKQ zt)G3~u=vq)mpIAW*nuzBKWk6CckS2C{Nj#Bxh}qN5Rabo@j{-MFQ4VxvK~C~qV>Rj zNN?f@zvBIv_$D9l$Mx>#UuWDmk@Gy)IlaHvz`w3@JLAibn`t{2zyWXIj@Njv-MDX~ zr*TNWt>dfTx*xMXzmL<#@B01Q^yj+uD<86c;?e&5^k==s_vT`lc9-k1SNzP^W;Z;= z#dGt1uEd{Dqqpb#Kc@W>8GpJj<-8{@@~d%J`K%7(<#sXt$S*v@*TlWJrrq-^Jc0xM z*6-lhc*_g>4M`7aA7alTcFOnXw2zVUD)EAU&ky{e-~Oh5;X&)7buY8dL!|ZH7m(~` z7yGRP|Ci{oU#i#ExqLdsMLf$tuye~z8z!-E~xw@z^LJ4HM5Jx5vR znGc7<|w)y3fDKb$r~?7JuiVL;7EyPJTIm)t}_K zdfB{4JX+@-XTEyY`bEF^4|=;DyYR)njYskeFI->wBM*Xi@bX+_+kP0kio4HaznXqL zDSzxA-@L`c{&05A;ZJyHpK5;lJW4+0{E)v_uq)0VVrTTocewjI2fKefjoWtf9BJEq zpZ5IjR?j8Q13eGQ|I``R`yLIPk7Ea1`g!49?927?VD&#d%5#v{&qd-Feq_Jy?_l*l zQNH8FPZzTSey2_s-^Cxe$s6am+B-bmw)}qe?yqn06BqA0pWVl>Z z=aIdx?(kRr6sJh%{{9}9Izo;=_)hNFD{ke@aqQUr`Cpg4uV$C}8b7zcX5J5xOMLoV zcvjoQ0L?y`{6;de?NY?-*XP{etVni z;(VO8ItaJMO&qq1*+0yS-?blZ_DAv5&p-AbX5HTJY|~zGa$Z=^gZ+FUd@!%?J-x)Q zoV)O|>*d_F^4K}Tc=ZG>)+ujpW}UX-l>XwQ|Kp7Jd6YPHzH@-_w-?hBefCrHz9_8R-|N)B*UGe-Gn#?ff|H`u8Di@>9m!@5s~%apNy3zU8I;=rqywK-e`CPsBhKG&cL)Nk0)%ace<*je=#e-13q|&pKy52 z_{&A!XZ@VV@zFl1{&t_YUho&^=H2z^Yn=~&)m!ym9kE{f_cOowkaqJFKlv$s+OF%5 zfAWW4)~#L1BYZ6n#8G_tAHLJm&n4U+;}^c*p}0IJ4%)#@-mkKG5j)!szWjqDzSIwO zm6YFj122Bw$G&4EzrQ`j=kFO@DN}4t?^syS#arnRjxZXsE_JH-=7dC_>dzx9J2^+4Pr+0i`QMvweyeAL04;KB}d5kAf-?C!kL+jAp6JxsrN z^to5+RPACvKH#f-`$Oy^o#WxgjxFP~*$b!r*i-zhH++5No%fO^zCCBjgY`KFJo~wy z{DUXSPxZ+9pJF$j*tf#R;^#aNT*bHhC*0JB!}zPN+pl`g!~e(AIDaSX_5M2NkUqDA zzy0?)cJCuoPt}92BOa^dFFu8z#dp0fp3cR$<6qD5!KMDj9(f5zZS|u5!Q&`p~ zljkJb6`7-^^xyC!kw9exV{^6~B!UulDK6O{#G%sA2_v|{3J#g*0?lSfpA3m*d zgGci=dfjiqsreARjfeM&qj;P>Ux+=e2gyHvdJfV1tltIi#G|-pU+q5oIpe;L-#K?S zZhxQt;Mjd}e=!-m@-5?9*YW5s1PhN{_{lSO*j4y79ThHt23|_nsW9G{n zc_j||pEFMVa(!99eyw?VllhlVr^wdNtMteJo_~{1cq|U`spnyS(1U08BXvQ%*lnL; z=ZZIclLzv&zb6TgPq814;zX};$Bc9TO|rvzNPNQ!yzb|jFVRE4^-23PKgHAfa1uxR zl-1?`e~UeM&wk_C#m~q-H{v(D@Clyk07-B7BClFM`3nbn_-Fkuu^T_wk5711 z|DH}3yzW2K#>?`V{rJvr=iKkIuFt>tBi>h|x6fDL5`VkS!;CxQ2mEur^*sBp{HdPk z?S6DQdW$Ffo?|yW`H3(3*?Sy4;$#2px_5KE`EEbS{hs}~`z^j%7rtct<%e?~e~af9 zyMlM?6@De()gAMD{>uJWKg@fKKhJOVo3H-T%RcyYAOAM<>6`ZJ->3e5uG?2u{P=HQ zvrg-!`0Ovn^8M)Ze2JanWxsO%aDJ-)@F(d{{Oeb6Eso9${0u*P-=F#T-8ji>d47l= zAI1;<*Y5BF4kUi{eB=C+_&RUeKS}W;=_BFS>)~1T-H)BEBM-43zva0 zUM+Sf4)TRu{pfj%y>P-icEe3SKeYM5F7xPHuNwz{ZTuizH~%vJhcD&XkG#fvc}@0u)`x@j)pvHQPsY9SZR~Da9ByO(W28Lh2Z?{`p?-Qu`uMFr zJV!r%;h#LDf8m9A@rU2=(UxcG`Pp+acC6=i>x&outdhU#8+-MWuEQyD?tbt*aVYOn zH`KN6XJ5Y^C$7ya>pTQkc#0pK#l!f0#wQHhu_wFSoA-peT-B;wb$|Vu$TVB)5+7;!#||Ge7>lj_PHd#R>^*M8l{o5mUSl7;%0Ilg{nz94I&Q9;udZ6hy6`kkyLl?U z;_e(Puhg-Z;Ew0&6MOf$PTwJI(Rv(vdp?bS>?tqI4S12^_~zN*bG_K>Lu-G3f}tNIBqc#BKyh3{%NKZ}$6 zGJmPd;y_>RS?ke5;=J$|j^f6izBhb~U-+iJ!Vez$*^6K5zkY4F;A!kF|KUl`<=77& zemfU5|BMUH{Txj^pW{#Rrtb~ww=RG88Gk$LcO7=6AK&pD5Am*k;RU_$OI-Qa`fB_d zzpQJW#+^RA6(_ueH=Kg|x}V|&d-!30!?(WgAdg7vv){Vn&rbCW?(22)f=~JRw}}fJ z<%c$D9d_MiUhSH=id*9({+=VO{)AsW|2>Z$IJM5O1O5l=&-jkxXX=~%sQQmHUcA{W zPU_vdkJ^94x1U?^?=X5h|Le5lkGg>0#|!LKg_pJg#Y!!I{aPRe~drt=gU6# z-RHXX;G&+=Tl>b3=E;X?7k_pJr`~tG$N%sKPm2$`f}8I}cc1+(c7Kk1j>KO$vKyaY zGESYjeL7hz-&zl^r{6wRy!pY;*jJwN+kGS)#alf2r(b)EeTP}!b5T5R-qDMn>>}yY z_B@RL;;R2WJMLn~w~^|N=dv&9cmJgRWM1>*Hy49g{OW#kGxK|YARmtz&rfj_-@9Dr zAKt@*fAooG;@vuvI-k1w`h6Ck13!#?t&i~YeM|TqVh`Le(`FBem&V}{J4w8RSL`eg z;2FNH`wrf^Uu?d{ANxV`6EE4#KK6#^-9Op&IQXcC;tJpQKF2PvGk@Jr)dSML(fuX+ zI{%uV$Kd|yWY?DORrGgV&9@J-qxgLsf7FB4BYX?5egB%@#us9xmS033l{8@=LD!p0+$UKfLUFq^V2truzP4^pxLATVAD}!3j@W59GbNgn#xI zb@ev-*{PrX?hig^oPAr}fD`^D&iv~BdztyhUp<}h#3OmseT3cYA=zVnb&p-_=C8K- zd4I0^^>geZ=_5Taaa|i8o?Ce@&whTr_?!4Q&hGEn8GqQ-_x;$t4PNR__jU192jIMA zeftmos_U_*eCMC@mvvL$%LzQ@cPyk2qqdhB%W z>p4W6)Q9AqI!4wn`2s)lk69OgwDAQ`)XD5W_}9;8j0=8U_j>GCms?-`{ULUc?9_%A z+4#lo#E-w~P4|^${l;-0yWkd{Iu~@`(Em8&Tc4btx7dMyv8VhykA) z?LP7RG<7ojEIiqZm-t%yZSaF)AlrZBL0!x->eth@K{{&>1X@9{f9l)bNxBE z)$g>Idf4ARfVc7dqyMYS|5GIX*thvf-ew%TE}!1kiMwgz%^HX9C+sEZv(9z&q>kZR z>k0dV|C!#y%x~Pci&@D$>+uIJa5COFIKqY9_A&8c|8dq=-{8@GB7A5au`WBDAMwHZ z_?Yv)-$m=W&3?Ad$9Ltmh9rb{-*(!$Wqs{_>6; zp9XLDpYp8d1?MsTKg{^%--=s!=X-eawe^l)^x+lhI^4r&`zJn>&o^TazF4pOll>@u zs*lbeWchU%ea@%+R6oUu9oFsh3D31&g6ngn{n_=;>9_CxHf{6L<~M&FAZJ#cFr@Eq^S#E1RePh&5Cx{sRoaqO*s@Zsl*YjCR{ z;prMTbya*_FV6V#IO`kNdULp#3dS#Xh->Dz?*2OC;iK-USLy=ZA2WWv{*r#z)sNWO zIGA^n@z#@1)=}q-%YKC4c+k8sUcRd@w^?U8>#~y{`{*@Z z8xQbJJjivuwcmAdqMx+S*oXKf4kSCxV;{NtZ$0a;c+dwId^YYfcsO@#PpAL&eADsM zkH7L)eNu<)ANbevwEK1V(hEnD9XGSyS)Pd#zu*zO*{5EyujdBi;l&PkTxH$+$lJ&d zBU`7B(}qLy`7-10-b!_qKic-m)=xM*W`68YcZ_#mY#&nB>Fs^h_2^MAiUT_z-mW8l zts8KO9j=!j!NvNXgE=P||86|Q`>V0TeD~GeM?I$ypR5ayp2y@7UjHt7{}h>hh`r_) zm-yM|6)%~`zQjG(U+=%212T@?^us|M#fcsL9ffaaJ^0}-efm3oweLChlFl`e=HmlC z>WBM!?qPp%`fxFklRxAk{di2OQ?ASJzVdr)|cP-ONRIS@4D<- z>jQmv(aSCp4(m8}nzzqa(tXdeyI&==mIJ|0JC!tV<6mkDN2yr<%`BdYt3nf0cDtJhbtY z|JLJ|{J42KF-ZK&OL6)%*L#2cIPH#GcvYU@<@JnjoxGd2`YO+z3-E|ND^I&mMUQuP9*Z95 zFVB}-udZgj*3)g;;_v*h`!04lKm1+VIR{k#^V|95cW}pRxXY*2uEz5|`od3kmq+V$ zdFnaC*Rk`PNcLqOe9zVkAByM7E4&T<>O6goJKl(I@WnIp>W_62zt$IV#~*qxFW&Og z^~(jf;9{LV$Gge=_{*;HVO=NV=;^+tzOvK)pw8ky9Kt)e%g-}?^s>WzbyfZ62RvMF zp2W{}9DNVDZasQQdbRf%Z$4@MZLYIhKYZXp54k;^EH4h$CF#`;|KLdCAzbxqS3iH) zuP)({>(=?O*k>HOwBgK8Jiv=%@Og+dpB<$2gA4oBk>=Uu*rndA{=&n&`p;hWuuq)e z!A|nM>-wEDwE3?M7wc=|iGJ->!Uqqw;D|@?C*f;-eprXp4-fvEkI$EbH(bS~@i16K)>|w9AdGzx`Km6DOzqJiV_2VkM3jfQmyXm)2s)u;j{+rA{jKn{6 zw&$kp?R9vb$>^cqde*mJ)y~`4xybkQuJNS5lHU)}`)QGnX@86~{zKZaqxR{iZ@q4Q z^f{k8FI3v^kBdF*V~=&%seS(o_U`Ap_!Z~Gqxdg8X}@v!U>r&R)vV)OV7+s`Tnt0E zcO?FXSJfB&wLkXsJp3LW;s7U7{P0VA9k0E_7Z2G->aTCgJbeVv!KbNlT1+VsGO-P-2EY@$@!t{(bt5r~ke6+2cAs zXu}b%R0 zl-E~p*YEj^zpISj{anNKhtcCXN3X+)KO{WJ#qan0!G|;dwprhG5)6QofMyjbE>e4|)04KYpz^@%xt~JnHurzxd5herVrjocgj#b&Egd z^E-I6@0Fk9AAjUk`MB~ctgrr@>7nmt^wDE{+wbsu ztqd(yi1 zS;zYN&10{&^^7CUC-t+7G@mq18%}T&5ArhhlKL0^i-Wl1zy8Ks9mxE%e%CLbPX9B% z{5nj3+xux-uj^;NHa%q5{RO|QQ~lu|z2q6Mm-UTXC3{GENaNX2c{6^?>+Vzc>Azd# z?X=aSck}-pJlR9Ct1`IMzU!>F>Ra&RH$B><_1>-T_=vyzi(!zq_>v31&f>cG!4C2a zx5QzsldYHG>wEsu%TI0N-;=*IzHyK*>{$Fe^T&An3UB&+0>8+I@Ql>I@(mwIyjb$2 zc`1H}#8cf=myhXxj8w-zq^5BDCL`&Ii-^+dn*%7-m+BKZ#&5^iuL^&7X3zRN}8 zefTXJw_fEsoyyK6i4w3@6;8td=PJW zsLej@^}05GY)_~EojtF=jos}0B|nU}K7XvYO5@a*RjTv)jbEj8_^WNbEq-X54|j1~ z=NS(ta*0d%VSV~nNk4nG!5z==4iD8EZP&XVeeAT}ZTuzI{gdCW^PhBm)h7=8TxIcD z@LurZFFw~F>sg8{?1f>M``nWO4{FN+;@@Q7cD-c zUmb>T^BLa~ht_5G-Ol{={L%N*y!V#p-1ykvO%X5rfPdn(Q}5U-4&i^#{nznhKeG1Y z1zhjux^q$9gZFoPx7`n?>)YG{?6Ki)`x|GR$& zw(-ZOtE>~8Tzhn;o(UBWFq`qe*QoZ|4S|2eXJQn!xNzq>l=->Luky_;9O#D~A(HJ-Je{qdy7 z-`(7{f136-@p$Fi#B0~@*Cy`0kM{kz)UA!gEA`2~qdr{5AAEaETYR<6yUlg;9#8iA zd+_x`9pB08yq~L{!@v6szQXrY*0J7X$8L8y>(y`bo-;mqwo@0rpMLS(i6cDdmtTK4 z>EH7GX8F?JGlIYU=I7)ayzytJUj3By|0y#2$Bv)&cl?Gk+z&Hv$4|KEzdhND-}cX4 zem|vuzg`})yMIS$%{Sk7fTK2h;q@VQvGa4#S@4$5Z$@SFkht5&YQm>etu}zwTG^^m(rP zou=%w+xEk$zjBxJMe6BJemfUCZ*^acUj8{Zcb^b{d8d6F|K%nA;iGYPv6~;qX^VgT zO@HH}o_w46zHj1Oqu)ONIOF(NT-m+w125sgfAy;K`Dydv>B$4`3jh5g3sx6aMj!5{dRr|K~YFT9I1UtI9reR%!Eo75B68^-T2l z1%LR9Pqj08@Cz@#O27Hvq^*C&i+&Q`Uoy{m!1=;@`&_p!-04}{);0g?>BKm7R{Y^A zpWxkdz+Kj*=diTlW86coTVH+UC!Ew_*GYNAPyQJXU;6Nr|KcXUw%Eh&>$FMslg5Ql z@FC#_M|{FN<6O6Yz}L9)bB(KWE*#m(pTtp|tk?W99uD#n4%Rcy^~2K}ew^tOfAh^_ z*UijVUr6~65AE(JznghI7uqjg(*I3l>YQ_k`d}S6+b_D#ZS1;>ypMc%r>#zs>o|J! zKSqzb{MEGWkIpgtUH7p*-(n~EVf5fl;u1nu4WB1wk#UDJEKmA-`8$VpH9hYzW*X#7?f3MvqejPBt2axezz?i;vOk}=99H!^;7;|#~xBYssE61a9aI=Q|uLgc4?PC z?8l$**LCyY(zx+swTE4!kVCfd^@SA>rh@w)v!f(xH;#S$eu&-nxmCKp%Dcti_xxP#*`7`jJL7lbIM?xpG@jJoeQ{j} zZsdCXJv{hD!b|+@%NS{N-2Y z|AKzw;H0jS;zyqG4WBNJ(r6eH`DGpdd)-m5sBaL^4NOhHu}}ub)Nn+f8jc^IOYuvA% zP7z&suf6i3^(1g^(Uw^IpDeL&$kYpeJK0ci?p?uJeU46gBKEeOuHS_JSjdSuy zJo@>l=i_)zAG`IZ?sk2+!BhJ&ezH$qAI2_uP<+B4_SP!OUa|Lb?CtaSWBgj5i<`I2c)Yg{z51E?aIx-|es%6JdYX61Gy33Xzmsp` zs$ZV6r*-)@`h%Z&{d+J=y!+l3yTb!^{D1#f?8on$wCNECGPv@m_(ZRIg%9OhagP4v zD?R0ncpozkkMNp(SGg|U>IOUcD^B$AEAfUyd71vU)ivwHPjMl|jqH4RXnppxmtWSw zCvD^9Cq3q`(meLUot{;~hlG!D`r&GQdW|=({ZA(g;8A&<{zVqY^n2dl{nP&FbInhq zN1n)o@^PQ*>hf*Y4ey+r)K~N6qk6<{JZ&EGlPun|&Ka-5o6d*Zb}=(kC)g#AwB-{! z&h+#5K7KE9olj4B%8uAsztgrJ`HFMw#}^VW@q6v(Km4q(AD`eFeE31a$>&7+`Nt3E za`CSH_z?a4Yu&v3*YOk=@0;}fxA3hzO53=8e)Twd^_yQm4s*SqufuW0bG zYrp%_UjH!q)J=HdrFF^|_Op}JPr~InetUl$PjdfMJb##R+mDfH?>=X~`y9Nud^*K{ zwfC%E!tHj(_gwKZZSPzA`?7hT{Plj&d#a>)&LQ{F`xyB#GPsHl-u0Y|Kk`WX_F^)b z-6Vhaqo3dOYdg2_^WFXC_a{C5{!HIT|F6^E_jJ8~c${_dsdXjxw7$vDn~Z;mgi9nI zc7OSlaqu+GKJ+}-yHBz!@xW(z)E@ZZWANU-zZjg|$KR!$xbbtvliki8%^Uv4etx;X zt>g#$@#+upFW2FF#^;;Zd5EmtXh9rb>g|FLJB!2h zjKfFqAdPFC3P0BI+VrbKJ-1Etb~|?6#XdY+c@+MNOYN=fltAXa5dP&TICw@_yyPKIv_)el6m^I*@yq~f!}c4o=!|DZ*HTHJ@UeO z>cQuXlMmKquXX8@mmf0kAyS^{H;xpS%cql__^zIv)$iks6L0%;{bQH><)3pL|M(?7 z_E+}8?`GC({d!58d`{arKlNIDEYEIZH+h$~d`{VCl=XNobuX1oSUfpCTf7@nX;$S@4 z@y0E2f}8l_tNN^tl#kc3SH8>JZ_Xm-Dlls-AwXT|vAJ$L2*v*gnw-26?t{Z>m=RSV0i)0_k z&R>%3eoyif|5quWjI$oR*+;Tp+(>x24oCCoBdudy{o+lJ`6NHh(>7n5gs1Byeb%{3 zTrL->pP#EV-Z=J?^pkKQ*~eb?z1MFZ{UrVTTIa)ijkk44^Q^~fx=hm0N8Kl6(p^k`?kbBul8d7}H#Vf<~J z_GydPhiNx%@MYgB*$XFeq$hIS2i5VF=iP@dFNRrHk^9I)BtC1C#&1uj`Sg?W={;#2 z`&MaQ_np;FcHG8JQr^o)!;V&GjxA-mV!544TtZ`bq1ugMB0%Nd7p-9AmHhfv?m4c9HsxbDv5Ny>MEk z>&C<1^OjXUXMO$bG>;zZ@Q+;AGk)zC?^TaB99Ic%QXJ&{D#hzEel5IM>(I)FUcY*J z!=v)!Dtbxlt4HK&uYUGzt9@&G*2hm$zBYfaXWaVSp>^y-u19wN%DlF3W}G&C^mM&_ z#w`+#@MEt!Na`nzuYPu|e%&p8^6U1k-Rvjr+m-a(ztv~_zt!LO;y@4lNd46x{P<6< zxU9Gur@y!zf&=^#&$IR4i}TW7dlx}Y<|OInXT+Dl!bhkx|r$=Y7~&4WkJ4eTJT|4VJ-R=K|z%MX#-{L?1&uX?u3 zUvOYQdFID^`d0nc*KeNw_oQ*`+urixy*P*;yU8AIF>gV?sKgyG*)Bogu_k-*7A0oB)OTX(k=_mEC(){RK>vr#R z9!Fn4r~H`qDvcx8>)H>Qe;;`}vi`){>^$a{wxl`v*(4?AAXbk zyNiF~5!~OihyANG{yq8bzGl74v4dWE>L-5iGjZwXAmT>ylY|Gk_>W(WbL={+r}9C) zSmkyxBlKUTy^lOZUPsE;+q75dI%z)r?D@CK?ddeK`vX1f)FxMdw4BYck@jc( zkLkC+uJSI|N$VJ=f0gWGzx+Q$pSZwfdpiA3T$``(F+bz_KIFRYY8TvAJJ`2gr|-S% z>{$I+koe~-}-yT<6PGd7x`3~aoX>VQ!gr02jqXx7xs(CvCnh)o;U8(e>al8 zt{Z#K{M|0bb8#odSA5`3!h4nGuhKfjIqQlCY2K=rJ+9N2II4gA zW8Zsic93v^*HRDF?cS%a{Npcu`-x-U6VG`5)P8o}#op_gr;hjc`sn>I*Zcji#oo^Q zo45Md-|ySOg^Yd8e{r@SFL@(g_Q~@2aqROsfzQ#pALDua5Kod`ZF$NsZT{c|T$>-U zn|<_F250Lu9!o#H?6+?7I{p~P9_LBzu6r1K&ejcIjJFKk>-(sQ>+MMMYuDZM_xlXtllAz!%2)jt!?-O{J_MKgDG%UqGwYVO;gz_T59M?8 z<9%@JIQzTn>=B=LWa~n3fKT>*|Dk+&act$2e_x zSpOmR(__4I4@oacpYhuCvPXQ`P4e5k+rxI(u9ypf-^XPfKq^6c{Me7sbjtV^$R3;W2{bD!HEM{nO- z@LuDRfBdMu`` zFo4vLSK9c$j-wyHuc9w`%$~}d@e3Z}0^i1;-s+29JSVM-xA<N&1qbng7kP$D))kl7As#0lQor2f@k*Z1)s4&rN`cGiXGT6f^x_y!McQE zU#08pIU6 zW*$BC@`HW+-#?uq`Ci_%-rvo*_wr5r$~*q@)Bfr`4exKf#1G%A(0)!o+#k}W7cVc< zFVC)@PX4U-XDER zJJLRNRu>*J&iuP+*WdUhzq*gYll}OOH+U+J;v&9yEk5z9xIc~^t!KX1_QzBIcJ_VB z>EGr1mi>DZt&hj}nYyp;G%ozWclNy}`OAKIh?9C3{P5+>zt|-%Wb1ZtXk24|^(=A2 z<6h7B#xs0TM{Cz@@FD3Xvwzr!Dp&qwKK*!FobegXc;WL!bx6LePwEya|J4UP6EE?+ zj9>ha56+i4PxklCy`TC#^X#|I)s0K^$^Yhsy3Q~4RGnJtalglx@4@x&_812T_}pC# zv-pQ+hp|_j8-MYUPvKkra2-Bt{?ogU{z!3^N9ta2kO!Bsm)xgK>R;tH>shCM;n&UE z>(*DNdVdP9W7ZW95`XY%#akTl^$pX^6PG{)7!kk zEA^B8>}5aRke_3(Jd$7hrbpejjyx4dJWD>wZ*gI-`lD@}_>>>we;fPYD_*30=C?LG z#ba&P{@}SEiLWF(n=kU<_U$~p>UqU}jUVz8uFvrc-r}U~`a{O8_Fm8Wc+q|A_tW3M zU-aeFe%%k}?_jnm$OdsJxm)foDa|LU!G&1 zywP4HJkIW`QxEXX`juCsU%hVJ6K8gn2l|)&Q$1>4ZWogoF>JM zJ4}Dqfis@rlRS^KfAn_(jSPn@gDJ9&`vK+ji8TYjA7KfJ_umCc96 zE<7=w-K#$H#Yg=k^{a>EZPqit>kS^|fAEp_BtQGRPWA=7dyalm9PrV2ejR3AdD}V` zKK1*w`F)Vx_owmOMt+y}m(kPn{okd194Suy9E%<5ad^`_`0nDw59hD`oj>PDbq;>= zBD|>|-^32~j9;&R?^OPLHRIIX@-2GRBlSu=)SFeh-n`mI|2n_>Eq;;w!b5qv^6GYQ z+QEag-->hAm+#_HzfynC_D{T32jusctSe4r{{B|uXuN%xJ%`}^I5NNQ(tUE}+3wG$ zasDpy>)#j2m4{{-}1W^{tkEf#%_5euf<^>`|lR{koLz&?fYrN zUml;u|8OxCQvAf%x``vciQl?^%V%}IZT8;2wTHg)^)hy_M>~FZU3r)M@%OBEQxC-J z_3z%!`R6tN5pFhNY`(xtNeg1j;vVXhpB^%%1$j zdXsv9uRRZ~yvA?qCa=pQ{NbNC$xr^1;;GKx$3Av%gM;%}&kN4oo->iD|LiXw_$AN3 z&pQ7Q>GyhmO8du=jW2uQ_4ss(T<#;w_x_#I{N3;k-@ecIoc~+Dev|cHvR>@k{#)9A z&Gq~p=w1Gf@6L7gjbHHIKaG9zbk=n~e9enBKi&T(?s(Pss^@qlPI!DX>*8nmYabS; z$%RZxt^M}# z<`?~0uekg;>!}MnZTt~0cumxHyEXsu=O0gYY`edV+(>mR<7&UU`Z)I6CyMWfv9Et$ zUR(ZM<@#mj@89Zy!z$GQ_euC&yzsJe(fe`QtwX7U&YR8eA5Y`9Ewbl=?=xTBaxRGd zy)S#X7{rrz{rm3fk^WB^cN-~A;kEkG`x$&uKS}pD&#{k`kMbkZ`A9wQx%n77{%)jm z&F;JO+h52(rC%Ku=im{Xw=MUN@Z1)@?X=#?2rEL|J(5TY`;tY>%JoIKLrOkCf@FE%P06h$4+%gUH>lqsasp5^YiAqeO*12 zC$Zz-sk8B;dHlo4PW$H0?FT;7hLmK9U}Jv9{gUtbBdQ z{F}%<`E>FaAA4Vrcy!-;nQ^Y;ZR@ggZ_byy_-S8pj;yrb*&q4IANrj8u41P=5+8Nv zG1otiv~RS2UtLUO>Eplt%Ur*U430h5I6v6Of66%L8U5mlU*crFvG+AU=%Xx|@f@%J{&byPug@V=j&Z*_0xCLKz$+>wwZ*`yKAO1dOJ@rXF`lnO>uXg`q_!c1IZ6KuhM+|$BW6om2cKd{8Mkv;?TPL# ze$jV%vUg`6v;S=izrw3uZQ+-5ef-@0yW{9_j_&tK*v~$3kk8ue5(o3}k-cztUHtIs z!`PAi*?zt8XH$P8xA1AbAL)7aH^G-3aQvKpbrUbxsZNTI`Nq+s&cXvu>R51XT-fV= z%6T{K#^bBOp`VlBulkN3>v;&Twwd4aBEQ)EUHm7r|Lo|s9(}((>Fei-J-5dGp5rGj z%?sx$&mDGIZ?hh0UH;hD@CvT%%D9cboJ)FMS@(B&q#g&~em?KMB(mr4zZ)FYr^W-% z@t?#4_OsXcmG`cTYw+kk0~c{K|7z@N{rxWS`SV*@KK(v^WS?uDg)4j6uZ})k%s$}X z>*z_I_MHD8GEThM{U!bM(|3Q;^Lnlt{{QOuKTiF>`qlr8{O1|B`)eeA&Hlf0uI>Fc zp37f$-=608T&7+-U(}Dkxp=$p;SE334Rz~no^Sn}^vBrymq`1DbKrQcT=$XT7kqs_amc)k@A-e&YsIe@b(CM=lP}ak^0*$JRqy$EH}(~`cmtPx+a7tM z=NspoH^(K;)g5tN|KXRo!58O%F9Ub$(@Wav?{_)oIk(U+_I94~{JZvL?@>=zu2&y^ zcKze9SDz!NpFio>=PdGu{QYs@FK%^2o;IEy_%``zwx@Hh=WuxMzL%dozv^?=@1oCf zNPfnL-goVT`w%Iw!H;+J;}3cHedgicoQLSS3>?)X^$qXcZ^1X)!94b8+~XHJr*1f} ztdft(=3{x_bMWJ(cw!Iw@t?S~FZ^``gz#_7x}E zo8X%3n)db$+&7P>mBc~$CcemTGA?n2pZv>z?t4h~;BWrNhwgiq_2pabcj-?)a?WVJ z%lPIA@h(1cK4{#?1LSe6FRxUu-RQ3$*-sqc3qP^{cFeobGv~$TC+$f;b`l4(WasiN z{9|W!Z=U9VJc1w3>7if#qR%qf0qJTs2I z)*-D=UlNXO_A^e~IQ`aheeR$4*Cvf8tpi7RfG5rW$)k8(|HH>#hv-4ZA6;kM_j~?y ze(&`(`04$TIOzSSI_ZA?)3lHCvHrAsU*r6eI`E77`X%eQ&Yz3^fr~xFq57fT^||Dz zBTMdwR^sxPW7gw8_I^n}dwoClo9{ci{!_+pBjXo!O8vYz*WPDc_0Rp-!{|59xv}lk zclD6Iy$}7vX}cRf zKl>r;{&#h3kN39fc`hE^ zKc4)G|LR}!%k8+X-Sf$D^k3BZabL1xkFy&DSP_!?Jp+~Avi z*%?mj*(dAa6}?IIM7!rCdXntI-=uhehrj8|?(n&;e;4~2AHT_O@|F8x=Tp2WpRXTJ zD~JnH{?eu=**pLT2`@jx%?_^5JkjPS^XRu7IGrcNXY+CLuKSqk`yumUpX#0U=+k_+ ze{GMBkDZJo*{AV>Kk(zXHvi!pp3-v}`)>zkZK7Xf^Vvh}6#ePl zdGODE)PKJoNa#npjt_9cO`qW5kLte*uK3Y&%Y66L?@IB$e_!(5n5SPn@LTio?SvaX zc1(Q{H1?2a+A=eKXcEpTB0m^xU532mOx4Ifnn>B5$*P?A!Ije|}aU zv}=FZcp#pQ$Hjy9ulCE#E<} z++T>Z#*62I-h+J(KF>Yygnr^j+|W1k`kpE8Kl}Zrcw>J&+DHG%4*V+*uy^a+GUmw# z_(V_VG3)gFB5n`S^J65v*nz*;!FBV*%Qo|`1|Ih1Klt#mINj%wPh)=X3-X+s|9|19 zAI5&me@-&}eV-}r@$B2Ie;5+3@-E|w`!?eeSH_iJpHJ7lm+f~M#p`_fv>q81{`<7~ zVUu?J+4>h=s1q0d69@96^{%pB;@02$tX>}fiNoJHtlWn*U(jE?)BoLR-b&qsXZ9z% z;al|(r<>R7;I;MGt^CF-^(c7U2lhSe_ha3*pQrZpy@mG>eJ_;n5LVuc`@7s9*JJ1W z{m$x3+W60J+p!<~&0on!>{7lRgKyLU-}UtG5|>dAm;PPA;90*DVYk*tc*Li871#2O zI){gzTZwadOy2$+eew7vxCeeb>hB6I7|`KC{OqKAG^)`!IML9$vfg&e9AleH|9tLCotyPB zp8uNvvY!6p7w66w;nnKr;Qham!M{q}^!F;wcdpq*uh^-1jD7cyCl43*$glnVl-1YM z_4D6{k9^yFRekV)-JY_q^9H*{HZEK@p1;IB{p9i6tm`~D$MbRMBTm#Y`n65}+cDn# zySQup5VzvwIs21vyMCYR+sIAiRV4iUa{c(){^I#}qrcAwzDb)rWM1sRukwdFt=)5c z;-Yz$edS^PgKz9}{yVTgp7wPvI{%&S=inRs>3zR??C;5zFJpfHu6OXO-zlo6{kw4X z#S@bKZtGT|t1o!Cg?^8HuUF5ISAMxEd;eYWW@6uD8 z;J-YEhu6W4PxvDql9$T&iRbdJ`-ltN(>ktqz33&ciJS5(@wVSAtXZe{dzE9ze z`&EB`AGtUujdA^b1b(tl>jU1Xb9gN8&`UhPk6*4Ezlj~d^{0$`i4-^V-HiD?&poB>yhN(s^6AYO*Srut z8t;d3oxlJ7zt@Aw$uoUU@Fo3``dk0Rw|L-Bd4eDD(YSrql?TKTnY_?C5IZ9$vb?f=V<4MD|-;H+fn|>X;IRCJ( zxP~A9)rpB${eC)nt-fYmdb3ORho|qg@hbNh@_~9>yN74u-19G@sV!Y8iU32ys3_uxzIKH{Z$c$NC!bK%Rdf4{F%e{M&=b(_EN8;zz``Z2eMe65r~_=)u480@>%A$xFRI zoX_*Kzp|hFSv|fTIOHeiCiS>DF^+27@HZmgf=iQA!1>r4Dq`{X)1((mlQ;M+wmV?F#K#iezN zJ3P5KhtPxka$0w3{QPOOQ%C!q1V7_h-)pjG<0p9WUp^BT?x)0yIwBt|nSXu4(ceFq zpVRg`j^t5(Hs9r*YPp&RQ$<< z;-+zQH|){6#J}I9Khk)-!Vhs@+*f0sxTII}p7YpB)cbhrQ>1{5ocwJZ_z<^lu|K8tJmr3mRQHX8-+1<> zw>ZNa{Um+F9XnV@zwypx%h0p&Jg);6f3x2)c4A+8!*3oOVuFYhwnyo#V>;jMdDmP<3`uD{DxGl*j4wKKqj&(!L+E`pbjnO?lbAef}-K;5+`| zJ^$c;cvD_XeqwjB`iVp9*$?mW-2V82C$7UQ-`GEXgNxnq6P}AUeq|lwS`WXAo%x?# zBl)}M`|I`aA3f+d$GD=Eu(JQtMaFc|HF<4}8AQX}xzY{FLkJHTg09^b4Qf z$=~mC{ScWt=YGj^-u`iHnindLQ5WsoclIUA*k0@K=s9KW5Pvmq&v|@$&eU=4Pw*$a5nuEu zFX5i+EBlBa`GeiBgFk%gbCu`lr=E=X=yx=IFQlH(EB0}J-E&v!U7wr$c|9WO$07T? zQM}iG8MhsHWF*^`sIi4$@30*q4i7tx{tl%uND4?6FBw5&u>qe z&u-#qio?bSe8JoJNxwYO@zGPiyw>~zhu`)6Ie2`J=670*+vfTva^jgf#$MX3v+BVv z^Y0)3*`tm$pY{F9@pSzkLx$`+?9R?}JhP|k$LyzHeB+rq|B`Xu-{BqqHeU`rwKKoW z{G0NfcxgU`8$L3)yg%tVB>2St;<-2Z!@%FX@j3b&BKdFFz0cqJo=3chANg#~Z}AKL zom=|cB786Y@M-n8f#dL($iEKR-viTB9xB0s;rzWg}a z&1d6!f2XPEj5%)KuTMBu{EvT2`blxIOTT=EKh9ZWwbd$hs`+==`TQMP^rKg$_o+V& zefnON-wvn#mG>*+zWn=j@ZleQ=?Uk}G|qT(o9pz4QNPXn5C?Z-ob!%&D1Nxv5ijU*3@&m0L)w2H za`|i8sh=zLRNa5cb?ewCykp3qXa<}Fz_{^;LjjJ$h}d-?54aHk&f?;Jn9U)g7U5`K9W9`|SBfImJ>dY`QQ zkN<@C<(2w>82E}SiTpbH-Jh)F3vt0e^b!wva6IAa-}~^3 zdZO-?_x!sX^IR7v_|yDupD91qKfjJ%&Lwl4iywS5j{n5XcEW>i_Qx-h|FjeL7w1yk-RH3CJHFwgbC3G~{+jR>&tcdD&-$IG_`Mz18wc#cUZnnQ?1h*3u#9zjUceV| zg=Y_$k5}@WbG167?wCiv{n+QCK92KdpX)$Vo~KChJMRyN>+s_ZyKDzO z=coQ%D?1ve%}(rc2#&i+8n=w~@vrshe)M1X{gD3HP2BYRHgO*N_dLxH@}Y6`m)AF0 zKRoiBt~inpj{_<|K9!#Pqd(8GV?%ivB?aLnG)PCx*esQY~^tl|nAA?7H(H}41 zx_YgD&zZj;{mo;^$MQ5>>>!VoH~*IX*@MKNCD+B@O>n4}v)vzZ{dP$E(!Y7qdb1S& zaEKr6=GC#jb;-t^{QB*B>>#e#-8y(quL-w!=2!W&?Zg8;@xFSp<1RQze#Jj=E-vw& z-o~?sb@3u`ho8lFH|zxW%v(H#d*+9J>*3Wb@$AA6!B_k21|D&Nhqc#iA9^ma--aE> zI@Y~d$2@i;@oPKgv)6@Pa-BU~X9s!4eL30d;SqcEyh^|FFZwL6^?|E)p6?gJyZSYD ztsU`19N;~^i3@d;eb_B{=-<4>e)Q=0=y4sp%A0V;9{kjLb;vyV?wGdxPr|D`%je9K zN9jo~^+SDvQ`}5A@mYQ04}5E$VP|p5-tdZR{cw@|LK+9R^-25i!zOz3!)@B6b@+MC zEA};?T^=4!c@v+-YtLQ$50`b|xBo2poBy24_}x0zHQ&0fTZf%V>$q;6xz4a7$&Q<$ zx4hT5zl%NI<@#<&eD2>N!AHW)-}E8vzl`<7n|&Mq>iWkquJ`pHM!S3sK6$4+&HDQB z*nS;{S9k(H9hc<<0t%L-(JVJ{g@AD?fdWR;la1;2=6xIvXA^& z`^1m(b?*zEqvrd<*uC@NjGcR~`@6~8mKm1`Qc;FW=Gmpim`PW}{N^EUYDu^VmtX0N{2<9B-Ck##bkz3j)2)~kK^-MrwCXW=;eEBM|;KD?In z?{nJk#&!MtS^e>kq)+%D&%@FCV)v`B>)H7`moKM%=l3eDtL)P6KiCz2pVtG4=Vj^u zd*SPT(qEm%i&5_{aj5g*&4pd?k6kunpYqARWc=UwiGS!>e= z8~)+13!YiW`r;d&L+q$O`pAp@PEwvB(>SOfFeNTUfX!&}= z)$iIC-`{*3c-gmnewTIUe1bo>xo({Na+ChMNciL@^T;NpGnhtV%Cd*9A4p9eng7niTWOY#qYOg!iJ=CSSAukG;9xV{Il zKfga`-{4u{2R?}VtFgZLac-Ay?Av_7Ki2t@eSR2n`SXy6pCkX0{=W_B`^*0Ogva!6 z9*4b0-t6~n%MYji^Y7f^Ve%_KG*9od9-goZf72WP#OFiye~Of+$m8gjhkmi{AF|&| zWZwJHufJ=-PV^NQSDE*Ite@Xq^!s1^9?o}h{T}Xf#s^pHn)SWU#sd=Xmh5}TI`a0= zw|TqYb^bo%*e6nbul>ch_?4gV<&b^1S#Q*{eh=XLh2>AD>*wEb9N(Svcdjn#27kx{ zzViwHR(^+4JQQd489e*d>Tjp^uYUFahFp<<&A6{8xuSRDAHV21+xu$F%k!M->w7`p z1N-+vV~3UdWcv1bw>VGSRX=Tf#D~}R_8nr+4Za^)4gKW({+^`!czUaI%|G&j_*!D8 zyXcKy&!_g8Ute-P=Nb8?&;97hZ{p2;iuk$Ce&XnN*(dt2?<#*!viQz4{;Zwl_jg(E zHgZ2?6TXw|Fx%yB?W8wk_Q`w3{!VH0-uV8&_m``lC!?o2(EPl~`s_jmzx+<( zm3r>H)Oe;Ry~Hp3&&tgjs$Jx}C&A@#fcpVz~0^pr<~ukj!sS>L%s|83UcpV+B>co_J5{z!bN z(-%CH_kJ4d`aS2>U(^0M`^|ZfKg8+C^S;CC_ZU6r(VPAFkv>as^M|v$-_7?sQ{S6@jUIUOF72zae);iT_B*D3KjgfRbK>e{J^ZR}@>BfM=h@$9-H~7V z9cuH||9riU@160d-)FGfHsf!{y7DU?T;y4};FJ$Z{A8b9)<2B(eJ|+yrpSI@=l%!| z`KI@^{5N>g->-r57kS}J_GMS+BIk40#XX#OGwgikq4P%aC3`mxcG1uIWt>@`dLF<%j%DANfzbCSIJA#bx;?4`rNlBiwV|b^nNIU#0(H%r8&yEVA}VoYR}6ck9D;tXDfG ze(SHnKj(-3T?_l-U-LG;&2hmV_6x79Q#;;7&s`)Q$bawBKj!y5<$U4X(eqsLVD;T( z{_=S8Q~TfYkNhic=D7cw^?n?(dDQ(M|82&8<>T#Wi+}Gyo%?!U^5rzn@6(<020wkw zI)~Tm*PeIl!AJEFF8K`4_8G^{&IRTjbKUvFIQj9A>((2)u2#|0eWSe9^V4-3zP zeD9o&zx=8WG@mEF`W)iN^@s$|q40e__G|o)I@-TOV?X&?{_goS_AlR3zjI%CuD_qM zPxy%M@(|g2GM#%Hr|ixT_{)Fy(Q_M#r{afSN&GbLda}pB;l5qoJJ+G1@A=;|i2rKO zk6DjhwaM6{_bdMv-0BNlc$s|JJR;ucZ{AhbSt54>2YHjHG9oVG3Jf3)p*LdE%#b3t5`?Q1;F=i*&FHcyAY_7k_QU;G&U zS&zM&Kj6nF`T7`Ke;BenlvmVq@ug0gAARI8&m-iyo*VCm-fcg`4)V>!JN~10&-3)S z3GPF1yC42b`teabna4l!2mQZfo!oz~jFUe`T$P7;kFuE_XNcp7CH`NFJp9Z%Lb9pVRg{gv3jE#yD}xZ}RLe>(C?mJLieF>LGtVJ)V#@&ce^OlV_TD5`Xn$ z@<*Q+ybK(DZV=wC_zzy^7x{;z$6au#V>v&`i_4Fv>&xoTL*{YJT4*SATJs z`0VpGd=f8k!i|6Ye6=2)hFg0(_V2lElX2;nzglk(W4!Z4`FB71YyVL%&hbaj=)>RD z2VN3y=t(d5=%KwC`?r4JEj@2u;}-w&GCca#*~;(~pGfm&DQ@MP*7@+1z2$f3NPp+n ze+P#h_)%P54SjkaBmU%@*hAhf4t4zHH2?e@=otHa7*gFZpP!u{#cA`&)B41(>XW=6 zZ?5Et;~3X`t}btA4aAxh{Y5clE+A_TLBR%&X+* zJ~uNSPiJ0hTPOZfUwa;Bmt2PrPw|dE{8E1>-m2&R@#H7_;6Fb0@AQ8ddV1cy{5kEf z(cig)Kb=S17kNJPl6jvqPknHnmbY$mefN06Cw^wBj*;?E^HX@tK7Kc*@sxAb3LbF- zmwx9C`mzVT=K7~Dh}X?)ec&yx?sJ{~{Cpk#Z-=DE1+U~c(th|fvi)imf7^fdyYqkf zwhykmNbAF=AO1te@#m8EyT{jlob!tI6qog*`-11Oj{M2r7w1oU-(=tDU0%y0@ID16 z-ae;I%0HW|2d{W?-k79%38%PgUHsixPaYM2t%LY5OZJ7I{rO`X{G|EfQys-mer6YK zcAWE;e!RMhT_%3v6ItGx7kl%zEED1@9NhHhkSwW>`PwY5;ydvCp@|D zRv-HOcJR`33-=-C`h(Yr19-}d=v6&)UhVz=q_@0J4|>AYb+d2Qan9_&JF$E{`K{jp zt-hrF`n}FspWxz`%DedgHZtuQCwn));2WN9U(av+i>t%9-Z(m@o$K^w-#NdPf7k25 zKs*;W+Wd|WOU4Hu-qDX<yylb3 zu+_?!q&?fky7HZTehePxm!}DzI<5}5 z{vqS!VftBrmiHNNU;B~z*+D=1z)9+dhcu6U`1AVl^nc~WP18J&d;xKP>}a^O|^iNdJBC?%Pc+lK7AxdftO$mNQQHN&BTvHlMk^3!d5Uv5PnrSDnw_@K|SV%Zv8YhMOG^!Qr_N z=^VoT*13-T?j{*OH;;Z8*IReTbC$k8@tmZ27H{w+`;;G>;Dm?1u`j>XPFG`pabzF$ z2+o}EdLHQe8P7cqW1Z$T_G6Fi&rjvelKtb);xccEK4i`y8M4o*)FphT&oSelBh`Q7cIlV5-anrHFL8B_qnGrHqu8H5 z@bZ7}vy6{l+0pa-ez)(r6rAiUKgtvO)qz9s)AReZKSw@A-bN-b!P~#TQg6(|3;w%( z9CpFK!)VWO)N}bmu7}_CbK?5qd`UlkoSxfxp4aCm>Z1G}yOk%No6PoHf{Q+hliu%m zUM!x-KSclJgW`|f7tdq-4xN43kstZb^B>P|zN`lWy_XV4i9dO*`F-TSbN&o2anv|h zC*#Myr{KrrO?k0=nCN3OP|=m_a^lhKGIiPd~ULix}ohlJ6hkq$tUWI^IGfD zP1Y43cr~vRe!Bm~XZ9x9l~k9+yLs#@4w^4#9P%u^uOCnTx31?h@{8vV)`z$4)C)NJ z94C4=F6b{G>|!T&$5-Rv=I7-#&gg&6lYcy2@87p9U&eUnCi<~Y&P|=aykvahuDtvo z>k%LFl=z32KJ=j1HuJ{pf4q?$>sz<>eV2XZgTzzqn|yDcJg!}R5>I%EFO4g_#^ZV4 zr{EZMgI)SvD;~gY{r2CF`Qib8<@@5^jd9K|WY@dRI*Bv$oa38cGR`@)yu`=ESNX_) z>Ye<}Z^57M5vzBf+pr(Wuc<5b$9$f0u8Lp9t-8cc)#Lf3|M|UC>NvY!=!1uNM<4vd z&*OR^eu|VA$={}*UCi5@@T}Os^~Zku%#-)FV|?uqp3%2|ex|zI-16vj-|-J0jO#sz9jASQw{ey8 zjQhOaKdFmfGGBeO9=+7z_<P{=#n0S&uxX9lOh0;!&RWcjT?}c z*^mDwyQ^!y>nX3YZv8=T`v$-9;z%Co_XBV{zkiPY>V|d2(~|4_fp6@o9UidTg&v@&AZJ$`sKUoFI*U_n*_&Zydbr3*VQFcYcI7`0US)jc@+rA9hH7QqSum2v=7dlM|%E; z&pBGXdp?c#dkE*hd&_ltlut9R?5l3t4}Z+Zch~z|ft^Wp1ztGeeu|w*_XFx!{82w8 z{?rFNs&sv_TXCmfT;d;D{_xW>@QD-oh%6uYk<2{n_I@8Pk&!n3_X_g@5cV_J4kuF_Z!=c7nj>Huee+n z54Rcb{)1${8K1U!yUgd8&Df8g@&;KP@t=Nv=ymwuIAkCDJ70X4e&-Ht*|f{}h+SGwX97 z+}k1XwLA^q_1BJYz{Q{Mf>Xb?>*m23KV0ND`X93%yUaYpt9d`;@c1d~h#zu}7kJ?$ zH<>T*O!)CpU6H@ot^T&oRo2tCUhFNuSQpQ%hu7ur?c)hqpJzRccI)fMw2v8=@z$CB z4Zr>Iw)^9keY0PAw$DD{mvc~`hr=PRtYe-wzG`Q^*7MAVxBQ&(Wn9lC-@Ud^*PHj# zPTW@y=Md)%bu-WT?K7{-uV;;J9`kr@*Gc{6Ym>$; z!85n@lW@sfZ)IUr5!bQ@1o{z)P76O^XL8E!Urd5ocV9zgu}k1e(^HLkA9MVZ%ONs_F*^p;N_Q1 z>^Ac{@qo{7#bx`i9$&?=IF*k{d0xBYc4L0ye4F-L{nxo3*?fCD`rE!sn^Z6E(?3h~ z<{{T-={o7Ub?m<%^XXGNZAL%4Hh+oN*j@f03pIO?MWS4ib>%WrrW5?jBzEeLw&DYzu9~^Mu1IeHKOX{bm`B~TgvwiuUA1~^` zemy*Y7kMA~ev+<}x4Hf1!Nm{wDL^ z$RqMiaa_HDFa2Eb2`^WwcvpQTm;?Z$EES7rW Wxq^7)m)wUhtFOVG@xMHozy2?bo!Q_3 literal 0 HcmV?d00001 diff --git a/libraries/PDM/examples/Example4_RecordToWav/readme.md b/libraries/PDM/examples/Example4_RecordToWav/readme.md new file mode 100644 index 0000000..aac4467 --- /dev/null +++ b/libraries/PDM/examples/Example4_RecordToWav/readme.md @@ -0,0 +1,11 @@ +Author: @justiceamoh and Nathan Seidle +Created: November 19th, 2019 +License: MIT. See SparkFun Arduino Apollo3 Project for more information + +This example demonstrates how to read audio data and output it to a WAV file. A sketch reads PDM data and outputs raw serial, and the ConverToWav python script (python versions 2 and 3 are both available) visualizes and coverts the serial data to a WAV file. + +Gotchas: + +* You will need to modify the python script to match the COM port used on your computer. For Windows based machines find the +* You will need to use VLC to play the WAV clips. The bitrate is 1024kbps which is higher than most audio players can handle. +* Audio samples are generated fast enough that we need to output serial at 500kbps. \ No newline at end of file From 504ffc6c3292d83a2c2d7b35eb5d815728f8d95b Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Wed, 20 Nov 2019 16:54:38 -0700 Subject: [PATCH 6/9] Interim stash: Implementing circular buffer --- libraries/PDM/src/PDM.cpp | 56 ++++++++++++++++++++++----------------- libraries/PDM/src/PDM.h | 15 +++++++++-- 2 files changed, 44 insertions(+), 27 deletions(-) diff --git a/libraries/PDM/src/PDM.cpp b/libraries/PDM/src/PDM.cpp index 381e3ea..e44218b 100644 --- a/libraries/PDM/src/PDM.cpp +++ b/libraries/PDM/src/PDM.cpp @@ -24,9 +24,6 @@ SOFTWARE. AP3_PDM *ap3_pdm_handle = 0; am_hal_pdm_transfer_t sTransfer; -#define internalPDMDataBufferSize 4096 //Default is array of 4096 * 32bit -uint32_t internalPDMDataBuffer[internalPDMDataBufferSize]; - bool AP3_PDM::begin(ap3_gpio_pin_t pinPDMData, ap3_gpio_pin_t pinPDMClock) { _PDMhandle = NULL; @@ -43,7 +40,16 @@ bool AP3_PDM::begin(ap3_gpio_pin_t pinPDMData, ap3_gpio_pin_t pinPDMClock) bool AP3_PDM::available(void) { - return (_PDMdataReady); + if (_head != _tail) + return (true); + return (false); +} + +bool AP3_PDM::isOverrun(void) +{ + if (_overrun == true) + return (true); + return (false); } ap3_err_t AP3_PDM::_begin(void) @@ -274,45 +280,45 @@ ap3_err_t ap3_pdm_pad_funcsel(ap3_pdm_pad_type_e type, ap3_gpio_pad_t pad, uint8 //***************************************************************************** uint32_t AP3_PDM::getData(uint32_t *externalBuffer, uint32_t bufferSize) { - if (_PDMdataReady) - { - if (bufferSize > internalPDMDataBufferSize) - bufferSize = internalPDMDataBufferSize; - - noInterrupts(); + if (bufferSize > circularBufferSize) + bufferSize = circularBufferSize; - //Move data from internal buffer to external caller - for (int x = 0; x < bufferSize; x++) - externalBuffer[x] = internalPDMDataBuffer[x]; + noInterrupts(); - interrupts(); - } - _PDMdataReady = false; + //Move data from internal buffer to external caller + for (int x = 0; x < bufferSize; x++) + externalBuffer[x] = _pdmCircularBuffer[x]; - //Start next conversion - am_hal_pdm_dma_start(_PDMhandle, &sTransfer); + interrupts(); +} } inline void AP3_PDM::pdm_isr(void) { uint32_t ui32Status; - // // Read the interrupt status. - // am_hal_pdm_interrupt_status_get(_PDMhandle, &ui32Status, true); am_hal_pdm_interrupt_clear(_PDMhandle, ui32Status); if (ui32Status & AM_HAL_PDM_INT_DCMP) { - if (_PDMdataReady == true) + //Move current DMA to circular buffer + for (int x = 0; x < pdmDataBufferSize; x++) + { + _pdmCircularBuffer[head++] = _pdmDataBuffer[x]; + if (_head++ == circularBufferSize) + _head = 0; + } + + if (_head == _tail) { - //If flag has not previously been cleared, we're overrun - //Serial.println("Buffer overrun!"); + Serial.println("Buffer overrun!"); + _overrun = true; } - //New data has been loaded into internalPDMDataBuffer - _PDMdataReady = true; + //Start next conversion + am_hal_pdm_dma_start(_PDMhandle, &sTransfer); } } diff --git a/libraries/PDM/src/PDM.h b/libraries/PDM/src/PDM.h index 6a650c8..19c482c 100644 --- a/libraries/PDM/src/PDM.h +++ b/libraries/PDM/src/PDM.h @@ -96,7 +96,8 @@ class AP3_PDM { public: bool begin(ap3_gpio_pin_t pinPDMData = MIC_DATA, ap3_gpio_pin_t pinPDMClock = MIC_CLOCK); - bool available(void); //Goes true once an interrupt has occured + bool available(void); //Goes true if circular buffer is not empty + bool isOverrun(void); //Goes true if head crosses tail bool setClockSpeed(am_hal_pdm_clkspd_e clockSpeed); am_hal_pdm_clkspd_e getClockSpeed(); @@ -126,7 +127,17 @@ class AP3_PDM ap3_err_t _begin(void); - volatile bool _PDMdataReady = false; + //volatile bool _PDMdataReady = false; + + volatile bool _head = 0; + volatile bool _tail = 0; + volatile bool _overrun = false; + + const int pdmDataBufferSize = 512; //Default is array of 4096 * 32bit + volatile uint32_t _pdmDataBuffer[pdmDataBufferSize]; //This has been filled previous to ISR being called + + const int circularBufferSize = 4096; + volatile uint32_t _pdmCircularBuffer[circularBufferSize]; //This is filled by ISR and read by getData }; #endif //_PDM_H_ \ No newline at end of file From 44f9ef191a3f77e8f3521a9f9a4d07a412cfe87e Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Thu, 21 Nov 2019 11:32:41 -0700 Subject: [PATCH 7/9] Interim commit for circular buffer implementation --- libraries/PDM/src/PDM.cpp | 12 ++++++++---- libraries/PDM/src/PDM.h | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/libraries/PDM/src/PDM.cpp b/libraries/PDM/src/PDM.cpp index e44218b..fc271e3 100644 --- a/libraries/PDM/src/PDM.cpp +++ b/libraries/PDM/src/PDM.cpp @@ -123,8 +123,8 @@ ap3_err_t AP3_PDM::_begin(void) ap3_pdm_handle = this; // Configure DMA and set target address of internal buffer. - sTransfer.ui32TargetAddr = (uint32_t)internalPDMDataBuffer; - sTransfer.ui32TotalCount = internalPDMDataBufferSize * 2; + sTransfer.ui32TargetAddr = (uint32_t)_pdmDataBuffer; + sTransfer.ui32TotalCount = pdmDataBufferSize * 2; // Start the data transfer. am_hal_pdm_enable(_PDMhandle); @@ -287,10 +287,14 @@ uint32_t AP3_PDM::getData(uint32_t *externalBuffer, uint32_t bufferSize) //Move data from internal buffer to external caller for (int x = 0; x < bufferSize; x++) - externalBuffer[x] = _pdmCircularBuffer[x]; + { + externalBuffer[x] = _pdmCircularBuffer[tail]; + if (tail++ == circularBufferSize) + } interrupts(); -} + + return (bufferSize) } inline void AP3_PDM::pdm_isr(void) diff --git a/libraries/PDM/src/PDM.h b/libraries/PDM/src/PDM.h index 19c482c..5a0d8fb 100644 --- a/libraries/PDM/src/PDM.h +++ b/libraries/PDM/src/PDM.h @@ -133,10 +133,10 @@ class AP3_PDM volatile bool _tail = 0; volatile bool _overrun = false; - const int pdmDataBufferSize = 512; //Default is array of 4096 * 32bit +#define pdmDataBufferSize 512 //Default is array of 4096 * 32bit volatile uint32_t _pdmDataBuffer[pdmDataBufferSize]; //This has been filled previous to ISR being called - const int circularBufferSize = 4096; +#define circularBufferSize 4096 volatile uint32_t _pdmCircularBuffer[circularBufferSize]; //This is filled by ISR and read by getData }; From 7e9d235535c5324965943fc7db9dd2f60e6d2772 Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Thu, 21 Nov 2019 15:27:28 -0700 Subject: [PATCH 8/9] Dual buffer method working --- .../examples/Example4_RecordToWav/readme.md | 2 +- libraries/PDM/src/PDM.cpp | 115 ++++++++++++++---- libraries/PDM/src/PDM.h | 24 ++-- 3 files changed, 109 insertions(+), 32 deletions(-) diff --git a/libraries/PDM/examples/Example4_RecordToWav/readme.md b/libraries/PDM/examples/Example4_RecordToWav/readme.md index aac4467..de29276 100644 --- a/libraries/PDM/examples/Example4_RecordToWav/readme.md +++ b/libraries/PDM/examples/Example4_RecordToWav/readme.md @@ -7,5 +7,5 @@ This example demonstrates how to read audio data and output it to a WAV file. A Gotchas: * You will need to modify the python script to match the COM port used on your computer. For Windows based machines find the -* You will need to use VLC to play the WAV clips. The bitrate is 1024kbps which is higher than most audio players can handle. +* You may need to use VLC to play the WAV clips. The bitrate is 256kbps which is higher than some audio players can handle. * Audio samples are generated fast enough that we need to output serial at 500kbps. \ No newline at end of file diff --git a/libraries/PDM/src/PDM.cpp b/libraries/PDM/src/PDM.cpp index fc271e3..f9d147d 100644 --- a/libraries/PDM/src/PDM.cpp +++ b/libraries/PDM/src/PDM.cpp @@ -22,7 +22,15 @@ SOFTWARE. #include "PDM.h" AP3_PDM *ap3_pdm_handle = 0; -am_hal_pdm_transfer_t sTransfer; + +// AP3_PDM::AP3_PDM(uint16_t *userBuffer, uint32_t bufferSize) +// { +// _userBuffer = userBuffer; +// _userBufferSize = bufferSize; + +// _readHead = 0; +// _writeHead = 0; +// } bool AP3_PDM::begin(ap3_gpio_pin_t pinPDMData, ap3_gpio_pin_t pinPDMClock) { @@ -40,7 +48,8 @@ bool AP3_PDM::begin(ap3_gpio_pin_t pinPDMData, ap3_gpio_pin_t pinPDMClock) bool AP3_PDM::available(void) { - if (_head != _tail) + // if (_readHead != _writeHead) + if (buff1New || buff2New) return (true); return (false); } @@ -48,7 +57,10 @@ bool AP3_PDM::available(void) bool AP3_PDM::isOverrun(void) { if (_overrun == true) + { + _overrun = false; return (true); + } return (false); } @@ -124,7 +136,7 @@ ap3_err_t AP3_PDM::_begin(void) // Configure DMA and set target address of internal buffer. sTransfer.ui32TargetAddr = (uint32_t)_pdmDataBuffer; - sTransfer.ui32TotalCount = pdmDataBufferSize * 2; + sTransfer.ui32TotalCount = _pdmBufferSize * 2; // Start the data transfer. am_hal_pdm_enable(_PDMhandle); @@ -278,23 +290,36 @@ ap3_err_t ap3_pdm_pad_funcsel(ap3_pdm_pad_type_e type, ap3_gpio_pad_t pad, uint8 // Returns number of bytes read. // //***************************************************************************** -uint32_t AP3_PDM::getData(uint32_t *externalBuffer, uint32_t bufferSize) +uint32_t AP3_PDM::getData(uint16_t *externalBuffer, uint32_t externalBufferSize) { - if (bufferSize > circularBufferSize) - bufferSize = circularBufferSize; + if (externalBufferSize > _pdmBufferSize) + externalBufferSize = _pdmBufferSize; - noInterrupts(); - - //Move data from internal buffer to external caller - for (int x = 0; x < bufferSize; x++) + //Move data from internal buffers to external caller + if (buff1New == true) { - externalBuffer[x] = _pdmCircularBuffer[tail]; - if (tail++ == circularBufferSize) + for (int x = 0; x < externalBufferSize; x++) + { + externalBuffer[x] = outBuffer1[x]; + } + buff1New = false; } - - interrupts(); - - return (bufferSize) + else if (buff2New == true) + { + for (int x = 0; x < externalBufferSize; x++) + { + externalBuffer[x] = outBuffer2[x]; + } + buff2New = false; + } + // for (int x = 0; x < externalBufferSize; x++) + // { + // externalBuffer[x] = _userBuffer[_readHead]; + // _readHead++; //Advance the read head + // _readHead %= _userBufferSize; //Wrap if necessary + // } + + return (externalBufferSize); } inline void AP3_PDM::pdm_isr(void) @@ -307,18 +332,60 @@ inline void AP3_PDM::pdm_isr(void) if (ui32Status & AM_HAL_PDM_INT_DCMP) { - //Move current DMA to circular buffer - for (int x = 0; x < pdmDataBufferSize; x++) + uint32_t tempReadAmt = _pdmBufferSize; + + // if (_writeHead + _pdmBufferSize > _userBufferSize) + // { + // //Goes past the end of our buffer, adjust the amout to read so we hit end of buffer + // tempReadAmt = _userBufferSize - _writeHead; //16384 - 16000 = 384 + // } + + // int i; + // for (i = 0; i < tempReadAmt; i++) + // { + // _userBuffer[_writeHead + i] = _pdmDataBuffer[i]; + // } + + // _writeHead += tempReadAmt; //Advance the head + // _writeHead %= _userBufferSize; //Wrap the head + + // if (tempReadAmt < _pdmBufferSize) + // { + // //Finish the read where i had left off + // for (; i < _pdmBufferSize; i++) + // { + // _userBuffer[i - tempReadAmt] = _pdmDataBuffer[i]; + // } + + // _writeHead += _pdmBufferSize - tempReadAmt; + // } + //Check for overflow + //if (_writeHead + pdmBufferSize + + //Store in the first available buffer + if (buff1New == false) { - _pdmCircularBuffer[head++] = _pdmDataBuffer[x]; - if (_head++ == circularBufferSize) - _head = 0; + for (int i = 0; i < _pdmBufferSize; i++) + { + outBuffer1[i] = pi16Buffer[i]; + } + buff1New = true; } - - if (_head == _tail) + else if (buff2New == false) + { + for (int i = 0; i < _pdmBufferSize; i++) + { + outBuffer2[i] = pi16Buffer[i]; + } + buff2New = true; + } + else { - Serial.println("Buffer overrun!"); _overrun = true; + //Used for debugging + Serial.println("\n\rOver flow!"); + while (1) + ; } //Start next conversion diff --git a/libraries/PDM/src/PDM.h b/libraries/PDM/src/PDM.h index 5a0d8fb..fe9d0d8 100644 --- a/libraries/PDM/src/PDM.h +++ b/libraries/PDM/src/PDM.h @@ -95,6 +95,8 @@ const am_hal_pdm_config_t ap3_pdm_config_default = { class AP3_PDM { public: + //AP3_PDM(uint16_t *userBuffer, uint32_t bufferSize); + bool begin(ap3_gpio_pin_t pinPDMData = MIC_DATA, ap3_gpio_pin_t pinPDMClock = MIC_CLOCK); bool available(void); //Goes true if circular buffer is not empty bool isOverrun(void); //Goes true if head crosses tail @@ -115,7 +117,7 @@ class AP3_PDM bool updateConfig(am_hal_pdm_config_t newConfiguration); - uint32_t getData(uint32_t *externalBuffer, uint32_t bufferSize); + uint32_t getData(uint16_t *externalBuffer, uint32_t bufferSize); void pdm_isr(void); @@ -129,15 +131,23 @@ class AP3_PDM //volatile bool _PDMdataReady = false; - volatile bool _head = 0; - volatile bool _tail = 0; + am_hal_pdm_transfer_t sTransfer; + + // uint32_t _userBufferSize = 0; + // uint16_t *_userBuffer; + + // volatile uint32_t _writeHead = 0; + // volatile uint32_t _readHead = 0; volatile bool _overrun = false; -#define pdmDataBufferSize 512 //Default is array of 4096 * 32bit - volatile uint32_t _pdmDataBuffer[pdmDataBufferSize]; //This has been filled previous to ISR being called +#define _pdmBufferSize 4096 //Default is array of 4096 * 32bit + volatile uint32_t _pdmDataBuffer[_pdmBufferSize]; + int16_t *pi16Buffer = (int16_t *)_pdmDataBuffer; -#define circularBufferSize 4096 - volatile uint32_t _pdmCircularBuffer[circularBufferSize]; //This is filled by ISR and read by getData + volatile int16_t outBuffer1[_pdmBufferSize]; + volatile int16_t outBuffer2[_pdmBufferSize]; + volatile int buff1New = false; + volatile int buff2New = false; }; #endif //_PDM_H_ \ No newline at end of file From 1402f851ab243521ab8c9bca329390a2aac8b43d Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Thu, 21 Nov 2019 15:52:28 -0700 Subject: [PATCH 9/9] Updating examples to match new lib --- .../Example1_MicrophoneOutput.ino | 2 +- .../Example2_ConfigureMic.ino | 2 +- .../Example3_FullConfigure.ino | 2 +- .../Example4_RecordToWav.ino | 134 ++++-------------- 4 files changed, 27 insertions(+), 113 deletions(-) diff --git a/libraries/PDM/examples/Example1_MicrophoneOutput/Example1_MicrophoneOutput.ino b/libraries/PDM/examples/Example1_MicrophoneOutput/Example1_MicrophoneOutput.ino index b443496..5b39656 100644 --- a/libraries/PDM/examples/Example1_MicrophoneOutput/Example1_MicrophoneOutput.ino +++ b/libraries/PDM/examples/Example1_MicrophoneOutput/Example1_MicrophoneOutput.ino @@ -8,7 +8,7 @@ //Global variables needed for PDM library #define pdmDataBufferSize 4096 //Default is array of 4096 * 32bit -uint32_t pdmDataBuffer[pdmDataBufferSize]; +uint16_t pdmDataBuffer[pdmDataBufferSize]; //Global variables needed for the FFT in this sketch float g_fPDMTimeDomain[pdmDataBufferSize * 2]; diff --git a/libraries/PDM/examples/Example2_ConfigureMic/Example2_ConfigureMic.ino b/libraries/PDM/examples/Example2_ConfigureMic/Example2_ConfigureMic.ino index 0cc671c..4c91ca5 100644 --- a/libraries/PDM/examples/Example2_ConfigureMic/Example2_ConfigureMic.ino +++ b/libraries/PDM/examples/Example2_ConfigureMic/Example2_ConfigureMic.ino @@ -7,7 +7,7 @@ //Global variables needed for PDM library #define pdmDataBufferSize 4096 //Default is array of 4096 * 32bit -uint32_t pdmDataBuffer[pdmDataBufferSize]; +uint16_t pdmDataBuffer[pdmDataBufferSize]; //Global variables needed for the FFT in this sketch float g_fPDMTimeDomain[pdmDataBufferSize * 2]; diff --git a/libraries/PDM/examples/Example3_FullConfigure/Example3_FullConfigure.ino b/libraries/PDM/examples/Example3_FullConfigure/Example3_FullConfigure.ino index 8fae4b1..53fa8ef 100644 --- a/libraries/PDM/examples/Example3_FullConfigure/Example3_FullConfigure.ino +++ b/libraries/PDM/examples/Example3_FullConfigure/Example3_FullConfigure.ino @@ -9,7 +9,7 @@ //Global variables needed for PDM library #define pdmDataBufferSize 4096 //Default is array of 4096 * 32bit -uint32_t pdmDataBuffer[pdmDataBufferSize]; +uint16_t pdmDataBuffer[pdmDataBufferSize]; //Global variables needed for the FFT in this sketch float g_fPDMTimeDomain[pdmDataBufferSize * 2]; diff --git a/libraries/PDM/examples/Example4_RecordToWav/Example4_RecordToWav.ino b/libraries/PDM/examples/Example4_RecordToWav/Example4_RecordToWav.ino index 49f56a8..09085fe 100644 --- a/libraries/PDM/examples/Example4_RecordToWav/Example4_RecordToWav.ino +++ b/libraries/PDM/examples/Example4_RecordToWav/Example4_RecordToWav.ino @@ -4,31 +4,22 @@ This example demonstrates how to read audio data and output it to a WAV file. This sketch outputs raw serial; an accompanying - python script visualizes and converts the raw data to a WAV file. - - Note: Wave files are 1024kbps which is higher than most audio players - can handle. Use VLC to play the output files. + python script visualizes and coverts the raw data to a WAV file. Note: Audio samples are generated fast enough that we need to output serial at 500kbps. -*/ - -#include "am_bsp.h" -// ---------------- -// Global Variables -// ---------------- -#define BUFFSIZE 512 -uint32_t PDMDataBuffer[BUFFSIZE]; -int16_t *pi16Buffer = (int16_t *)PDMDataBuffer; + The PDM hardware is setup to take a sample every 64us (15.625kHz sample rate) + The PDM library uses DMA to transfer 4096 bytes every 262ms and stores the + data between two internal buffers. So check available() often and call getData + to prevent buffer overruns. +*/ -//Rather than a cicular buffer we record to one buffer while the other is printed to serial -volatile int16_t outBuffer1[BUFFSIZE]; -volatile int16_t outBuffer2[BUFFSIZE]; -volatile int buff1New = false; -volatile int buff2New = false; +#include //Include PDM library included with the Aruino_Apollo3 core +AP3_PDM myPDM; //Create instance of PDM class with our buffer -am_hal_pdm_transfer_t sTransfer; +#define pdmDataSize 4096 //Library requires array be 4096 +uint16_t pdmData[pdmDataSize]; // ----------------- // PDM Configuration @@ -53,104 +44,27 @@ am_hal_pdm_config_t newConfig = { .bLRSwap = 0, }; -// ----------------- -// PDM Configuration -// ----------------- -void initPDM(void) -{ - // Initialize, power-up and configure PDM - am_hal_pdm_initialize(0, &PDMHandle); - am_hal_pdm_power_control(PDMHandle, AM_HAL_PDM_POWER_ON, false); - am_hal_pdm_configure(PDMHandle, &newConfig); - am_hal_pdm_enable(PDMHandle); - - // Configure PDM pins - am_hal_gpio_pinconfig(AM_BSP_PDM_DATA, g_AM_BSP_PDM_DATA); - am_hal_gpio_pinconfig(AM_BSP_PDM_CLOCK, g_AM_BSP_PDM_CLOCK); - - // Configure PDM interrupts - set to trigger on DMA completion - am_hal_pdm_interrupt_enable(PDMHandle, (AM_HAL_PDM_INT_DERR | AM_HAL_PDM_INT_DCMP | AM_HAL_PDM_INT_UNDFL | AM_HAL_PDM_INT_OVF)); - // Configure DMA and target address. - sTransfer.ui32TargetAddr = (uint32_t)PDMDataBuffer; - sTransfer.ui32TotalCount = BUFFSIZE * 2; - - // Start the data transfer. - am_hal_pdm_enable(PDMHandle); - am_util_delay_ms(100); - - am_hal_pdm_fifo_flush(PDMHandle); - am_hal_pdm_dma_start(PDMHandle, &sTransfer); - - // Enable PDM interrupt - NVIC_EnableIRQ(PDM_IRQn); -} - -// ----------------------------- -// PDM Interrupt Service Routine -// ----------------------------- -extern "C" void am_pdm_isr(void) -{ - uint32_t ui32Status; - - // Read the interrupt status. - am_hal_pdm_interrupt_status_get(PDMHandle, &ui32Status, true); - am_hal_pdm_interrupt_clear(PDMHandle, ui32Status); - - // Once DMA transaction completes, move to Queue & Start next conversion - if (ui32Status & AM_HAL_PDM_INT_DCMP) - { - - //Store in the first available buffer - if (buff1New == false) - { - for (int i = 0; i < BUFFSIZE; i++) - { - outBuffer1[i] = pi16Buffer[i]; - } - buff1New = true; - } - else if (buff2New == false) - { - for (int i = 0; i < BUFFSIZE; i++) - { - outBuffer2[i] = pi16Buffer[i]; - } - buff2New = true; - } - else - { - //Used for debugging - Serial.println("\n\rOver flow!"); - } - - // Start next conversion - am_hal_pdm_dma_start(PDMHandle, &sTransfer); - } -} - void setup() { Serial.begin(500000); delay(10); - initPDM(); //Setup and begin PDM interrupts -} -void loop() -{ - processFrame(); + if (myPDM.begin() == false) // Turn on PDM with default settings, start interrupts + { + Serial.println("PDM Init failed. Are you sure these pins are PDM capable?"); + while (1) + ; + } + myPDM.updateConfig(newConfig); //Send config struct } -void processFrame() +void loop() { - //Print any new data to serial port - if (buff1New == true) + if (myPDM.available()) { - Serial.write((uint8_t *)outBuffer1, sizeof(outBuffer1)); - buff1New = false; - } - if (buff2New == true) - { - Serial.write((uint8_t *)outBuffer2, sizeof(outBuffer2)); - buff2New = false; + myPDM.getData(pdmData, pdmDataSize); + + //Print data to serial port + Serial.write((uint8_t *)pdmData, sizeof(pdmData)); } -} +} \ No newline at end of file