From ac68a53eb5e35e240a3534ffcd3e17849d939f90 Mon Sep 17 00:00:00 2001 From: coffeier <834986610@qq.com> Date: Mon, 16 Sep 2019 09:07:16 -0400 Subject: [PATCH 01/12] first version --- Project2-Character-Recognition/src/main.cpp | 267 ++++++++++-------- Project2-Stream-Compaction/src/main.cpp | 64 ++++- .../stream_compaction/CMakeLists.txt | 4 +- .../stream_compaction/common.cu | 69 +++-- .../stream_compaction/cpu.cu | 43 ++- .../stream_compaction/efficient.cu | 247 +++++++++++++--- .../stream_compaction/naive.cu | 77 ++++- .../stream_compaction/radix.cu | 145 ++++++++++ .../stream_compaction/radix.h | 12 + .../stream_compaction/thrust.cu | 26 +- 10 files changed, 750 insertions(+), 204 deletions(-) create mode 100644 Project2-Stream-Compaction/stream_compaction/radix.cu create mode 100644 Project2-Stream-Compaction/stream_compaction/radix.h diff --git a/Project2-Character-Recognition/src/main.cpp b/Project2-Character-Recognition/src/main.cpp index 11dd534..7ea00e8 100644 --- a/Project2-Character-Recognition/src/main.cpp +++ b/Project2-Character-Recognition/src/main.cpp @@ -9,6 +9,10 @@ #include #include #include +//#include <../Project2-Stream-Compaction/stream_compaction/cpu.h> +//#include <../Project2-Stream-Compaction/stream_compaction/naive.h> +//#include <../Project2-Stream-Compaction/stream_compaction/efficient.h> +//#include <../Project2-Stream-Compaction/stream_compaction/thrust.h> #include "testing_helpers.hpp" const int SIZE = 1 << 8; // feel free to change the size of array @@ -17,6 +21,19 @@ int *a = new int[SIZE]; int *b = new int[SIZE]; int *c = new int[SIZE]; +//size of the three buffer +const int SIZE_INPUT = 4; +const int SIZE_HiD = 2; +const int SIZE_OUTPUT = 1; +const int SIZE_WEI = SIZE_INPUT * SIZE_HiD + SIZE_HiD * SIZE_OUTPUT; + +//create three buffers +int *input = new int[SIZE_INPUT]; +int *hidden = new int[SIZE_HiD]; +int *output = new int[SIZE_OUTPUT]; +//weights buffer +float *weights = new float[SIZE_WEI]; + int main(int argc, char* argv[]) { // Scan tests @@ -24,129 +41,129 @@ int main(int argc, char* argv[]) { printf("****************\n"); printf("** SCAN TESTS **\n"); printf("****************\n"); - - genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case - a[SIZE - 1] = 0; - printArray(SIZE, a, true); - - // initialize b using StreamCompaction::CPU::scan you implement - // We use b for further comparison. Make sure your StreamCompaction::CPU::scan is correct. - // At first all cases passed because b && c are all zeroes. - zeroArray(SIZE, b); - printDesc("cpu scan, power-of-two"); - StreamCompaction::CPU::scan(SIZE, b, a); - printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); - printArray(SIZE, b, true); - - zeroArray(SIZE, c); - printDesc("cpu scan, non-power-of-two"); - StreamCompaction::CPU::scan(NPOT, c, a); - printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); - printArray(NPOT, b, true); - printCmpResult(NPOT, b, c); - - zeroArray(SIZE, c); - printDesc("naive scan, power-of-two"); - StreamCompaction::Naive::scan(SIZE, c, a); - printElapsedTime(StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(SIZE, c, true); - printCmpResult(SIZE, b, c); - - /* For bug-finding only: Array of 1s to help find bugs in stream compaction or scan - onesArray(SIZE, c); - printDesc("1s array for finding bugs"); - StreamCompaction::Naive::scan(SIZE, c, a); - printArray(SIZE, c, true); */ - - zeroArray(SIZE, c); - printDesc("naive scan, non-power-of-two"); - StreamCompaction::Naive::scan(NPOT, c, a); - printElapsedTime(StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(SIZE, c, true); - printCmpResult(NPOT, b, c); - - zeroArray(SIZE, c); - printDesc("work-efficient scan, power-of-two"); - StreamCompaction::Efficient::scan(SIZE, c, a); - printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(SIZE, c, true); - printCmpResult(SIZE, b, c); - - zeroArray(SIZE, c); - printDesc("work-efficient scan, non-power-of-two"); - StreamCompaction::Efficient::scan(NPOT, c, a); - printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(NPOT, c, true); - printCmpResult(NPOT, b, c); - - zeroArray(SIZE, c); - printDesc("thrust scan, power-of-two"); - StreamCompaction::Thrust::scan(SIZE, c, a); - printElapsedTime(StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(SIZE, c, true); - printCmpResult(SIZE, b, c); - - zeroArray(SIZE, c); - printDesc("thrust scan, non-power-of-two"); - StreamCompaction::Thrust::scan(NPOT, c, a); - printElapsedTime(StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(NPOT, c, true); - printCmpResult(NPOT, b, c); - - printf("\n"); - printf("*****************************\n"); - printf("** STREAM COMPACTION TESTS **\n"); - printf("*****************************\n"); - - // Compaction tests - - genArray(SIZE - 1, a, 4); // Leave a 0 at the end to test that edge case - a[SIZE - 1] = 0; - printArray(SIZE, a, true); - - int count, expectedCount, expectedNPOT; - - // initialize b using StreamCompaction::CPU::compactWithoutScan you implement - // We use b for further comparison. Make sure your StreamCompaction::CPU::compactWithoutScan is correct. - zeroArray(SIZE, b); - printDesc("cpu compact without scan, power-of-two"); - count = StreamCompaction::CPU::compactWithoutScan(SIZE, b, a); - printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); - expectedCount = count; - printArray(count, b, true); - printCmpLenResult(count, expectedCount, b, b); - - zeroArray(SIZE, c); - printDesc("cpu compact without scan, non-power-of-two"); - count = StreamCompaction::CPU::compactWithoutScan(NPOT, c, a); - printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); - expectedNPOT = count; - printArray(count, c, true); - printCmpLenResult(count, expectedNPOT, b, c); - - zeroArray(SIZE, c); - printDesc("cpu compact with scan"); - count = StreamCompaction::CPU::compactWithScan(SIZE, c, a); - printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); - printArray(count, c, true); - printCmpLenResult(count, expectedCount, b, c); - - zeroArray(SIZE, c); - printDesc("work-efficient compact, power-of-two"); - count = StreamCompaction::Efficient::compact(SIZE, c, a); - printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(count, c, true); - printCmpLenResult(count, expectedCount, b, c); - - zeroArray(SIZE, c); - printDesc("work-efficient compact, non-power-of-two"); - count = StreamCompaction::Efficient::compact(NPOT, c, a); - printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(count, c, true); - printCmpLenResult(count, expectedNPOT, b, c); - - system("pause"); // stop Win32 console from closing on exit - delete[] a; - delete[] b; - delete[] c; + + genArray(SIZE_INPUT, input, 5); // Leave a 0 at the end to test that edge case + printArray(SIZE_INPUT, input, true); + + zeroArray(SIZE_HiD, hidden); + zeroArray(SIZE_OUTPUT, output); + printDesc("initial hidden"); + printArray(SIZE_HiD, hidden, true); + printDesc("initial output"); + printArray(SIZE_OUTPUT, output, true); + // StreamCompaction::CPU::scan(SIZE, b, a); + // printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); + // printArray(SIZE, b, true); + + // zeroArray(SIZE, c); + // printDesc("cpu scan, non-power-of-two"); + // StreamCompaction::CPU::scan(NPOT, c, a); + // printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); + // printArray(NPOT, b, true); + // printCmpResult(NPOT, b, c); + + // zeroArray(SIZE, c); + // printDesc("naive scan, power-of-two"); + // StreamCompaction::Naive::scan(SIZE, c, a); + // printElapsedTime(StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + // //printArray(SIZE, c, true); + // printCmpResult(SIZE, b, c); + + ///* For bug-finding only: Array of 1s to help find bugs in stream compaction or scan + //onesArray(SIZE, c); + //printDesc("1s array for finding bugs"); + //StreamCompaction::Naive::scan(SIZE, c, a); + //printArray(SIZE, c, true); */ + + // zeroArray(SIZE, c); + // printDesc("naive scan, non-power-of-two"); + // StreamCompaction::Naive::scan(NPOT, c, a); + // printElapsedTime(StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + // //printArray(SIZE, c, true); + // printCmpResult(NPOT, b, c); + + // zeroArray(SIZE, c); + // printDesc("work-efficient scan, power-of-two"); + // StreamCompaction::Efficient::scan(SIZE, c, a); + // printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + // //printArray(SIZE, c, true); + // printCmpResult(SIZE, b, c); + + // zeroArray(SIZE, c); + // printDesc("work-efficient scan, non-power-of-two"); + // StreamCompaction::Efficient::scan(NPOT, c, a); + // printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + // //printArray(NPOT, c, true); + // printCmpResult(NPOT, b, c); + + // zeroArray(SIZE, c); + // printDesc("thrust scan, power-of-two"); + // StreamCompaction::Thrust::scan(SIZE, c, a); + // printElapsedTime(StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + // //printArray(SIZE, c, true); + // printCmpResult(SIZE, b, c); + + // zeroArray(SIZE, c); + // printDesc("thrust scan, non-power-of-two"); + // StreamCompaction::Thrust::scan(NPOT, c, a); + // printElapsedTime(StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + // //printArray(NPOT, c, true); + // printCmpResult(NPOT, b, c); + + // printf("\n"); + // printf("*****************************\n"); + // printf("** STREAM COMPACTION TESTS **\n"); + // printf("*****************************\n"); + + // // Compaction tests + + // genArray(SIZE - 1, a, 4); // Leave a 0 at the end to test that edge case + // a[SIZE - 1] = 0; + // printArray(SIZE, a, true); + + // int count, expectedCount, expectedNPOT; + + // // initialize b using StreamCompaction::CPU::compactWithoutScan you implement + // // We use b for further comparison. Make sure your StreamCompaction::CPU::compactWithoutScan is correct. + // zeroArray(SIZE, b); + // printDesc("cpu compact without scan, power-of-two"); + // count = StreamCompaction::CPU::compactWithoutScan(SIZE, b, a); + // printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); + // expectedCount = count; + // printArray(count, b, true); + // printCmpLenResult(count, expectedCount, b, b); + + // zeroArray(SIZE, c); + // printDesc("cpu compact without scan, non-power-of-two"); + // count = StreamCompaction::CPU::compactWithoutScan(NPOT, c, a); + // printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); + // expectedNPOT = count; + // printArray(count, c, true); + // printCmpLenResult(count, expectedNPOT, b, c); + + // zeroArray(SIZE, c); + // printDesc("cpu compact with scan"); + // count = StreamCompaction::CPU::compactWithScan(SIZE, c, a); + // printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); + // printArray(count, c, true); + // printCmpLenResult(count, expectedCount, b, c); + + // zeroArray(SIZE, c); + // printDesc("work-efficient compact, power-of-two"); + // count = StreamCompaction::Efficient::compact(SIZE, c, a); + // printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + // //printArray(count, c, true); + // printCmpLenResult(count, expectedCount, b, c); + + // zeroArray(SIZE, c); + // printDesc("work-efficient compact, non-power-of-two"); + // count = StreamCompaction::Efficient::compact(NPOT, c, a); + // printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + // //printArray(count, c, true); + // printCmpLenResult(count, expectedNPOT, b, c); + + // system("pause"); // stop Win32 console from closing on exit + //delete[] a; + //delete[] b; + //delete[] c; } diff --git a/Project2-Stream-Compaction/src/main.cpp b/Project2-Stream-Compaction/src/main.cpp index d016553..9659348 100644 --- a/Project2-Stream-Compaction/src/main.cpp +++ b/Project2-Stream-Compaction/src/main.cpp @@ -11,13 +11,21 @@ #include #include #include +#include #include "testing_helpers.hpp" + +//0001-> 10000000 const int SIZE = 1 << 8; // feel free to change the size of array const int NPOT = SIZE - 3; // Non-Power-Of-Two +const int Sort_Size = 20; +//three int array int *a = new int[SIZE]; int *b = new int[SIZE]; int *c = new int[SIZE]; +//test radix +int *ra = new int[Sort_Size]; +int *raout = new int[Sort_Size]; int main(int argc, char* argv[]) { // Scan tests @@ -27,22 +35,41 @@ int main(int argc, char* argv[]) { printf("** SCAN TESTS **\n"); printf("****************\n"); + //size-1 -> generate number, a->array pointer, 50->max value of each number genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case - a[SIZE - 1] = 0; + a[SIZE - 1] = 0;//the last one is 0 printArray(SIZE, a, true); + //std::cout << "16: "<< ilog2ceil(16) << std::endl; + //std::cout << "13: "<< ilog2ceil(13) << std::endl; + //std::cout << "14: " << ilog2ceil(14) << std::endl; + //int aa = (5 >> 0) & 1; + //int aa2 = (5 >> 1) & 1; + //int aa3 = (5 >> 2) & 1; + //int aa4 = (5 >> 3) & 1; + //std::cout << "5<<0: " << aa << std::endl; + //std::cout << "5<<1: " << aa2 << std::endl; + //std::cout << "5<<2: "<< aa3 << std::endl; + //std::cout << "5<<3: " << aa4 << std::endl; + std::cout << "SIZE: " << SIZE << ", NPOT:" << NPOT << std::endl; // initialize b using StreamCompaction::CPU::scan you implement // We use b for further comparison. Make sure your StreamCompaction::CPU::scan is correct. // At first all cases passed because b && c are all zeroes. - zeroArray(SIZE, b); + zeroArray(SIZE, b);//initial as zero printDesc("cpu scan, power-of-two"); + //scan StreamCompaction::CPU::scan(SIZE, b, a); + //print the execute time printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); + //print array b printArray(SIZE, b, true); + //zero initial array c zeroArray(SIZE, c); printDesc("cpu scan, non-power-of-two"); + //NPOT = SIZE - 3 StreamCompaction::CPU::scan(NPOT, c, a); + //print execute time printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); printArray(NPOT, b, true); printCmpResult(NPOT, b, c); @@ -51,7 +78,7 @@ int main(int argc, char* argv[]) { printDesc("naive scan, power-of-two"); StreamCompaction::Naive::scan(SIZE, c, a); printElapsedTime(StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(SIZE, c, true); + printArray(SIZE, c, true); printCmpResult(SIZE, b, c); /* For bug-finding only: Array of 1s to help find bugs in stream compaction or scan @@ -64,35 +91,35 @@ int main(int argc, char* argv[]) { printDesc("naive scan, non-power-of-two"); StreamCompaction::Naive::scan(NPOT, c, a); printElapsedTime(StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(SIZE, c, true); + printArray(SIZE, c, true); printCmpResult(NPOT, b, c); zeroArray(SIZE, c); printDesc("work-efficient scan, power-of-two"); StreamCompaction::Efficient::scan(SIZE, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(SIZE, c, true); + printArray(SIZE, c, true); printCmpResult(SIZE, b, c); zeroArray(SIZE, c); printDesc("work-efficient scan, non-power-of-two"); StreamCompaction::Efficient::scan(NPOT, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(NPOT, c, true); + printArray(NPOT, c, true); printCmpResult(NPOT, b, c); zeroArray(SIZE, c); printDesc("thrust scan, power-of-two"); StreamCompaction::Thrust::scan(SIZE, c, a); printElapsedTime(StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(SIZE, c, true); + printArray(SIZE, c, true); printCmpResult(SIZE, b, c); zeroArray(SIZE, c); printDesc("thrust scan, non-power-of-two"); StreamCompaction::Thrust::scan(NPOT, c, a); printElapsedTime(StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(NPOT, c, true); + printArray(NPOT, c, true); printCmpResult(NPOT, b, c); printf("\n"); @@ -147,8 +174,27 @@ int main(int argc, char* argv[]) { //printArray(count, c, true); printCmpLenResult(count, expectedNPOT, b, c); - system("pause"); // stop Win32 console from closing on exit + //test radix sort + //ra[0] = 4;//100 + //ra[1] = 7;//111 + //ra[2] = 2;//010 + //ra[3] = 6;//110 + //ra[4] = 3;//011 + //ra[5] = 5;//101 + //ra[6] = 1;//001 + //ra[7] = 0;//000 + //ra[8] = 7;//111 + //ra[9] = 1;//001 + genArray(Sort_Size, ra, 64); + zeroArray(Sort_Size, raout); + StreamCompaction::Radix::radix_sort(Sort_Size, 6, raout, ra); + printArray(Sort_Size, ra, true); + printArray(Sort_Size, raout, true); + + system("pause"); // stop Win32 console from closing on exit delete[] a; delete[] b; delete[] c; + delete[] ra; + delete[] raout; } diff --git a/Project2-Stream-Compaction/stream_compaction/CMakeLists.txt b/Project2-Stream-Compaction/stream_compaction/CMakeLists.txt index cdbef77..f75b9dd 100644 --- a/Project2-Stream-Compaction/stream_compaction/CMakeLists.txt +++ b/Project2-Stream-Compaction/stream_compaction/CMakeLists.txt @@ -9,9 +9,11 @@ set(SOURCE_FILES "efficient.cu" "thrust.h" "thrust.cu" + "radix.h" + "radix.cu" ) cuda_add_library(stream_compaction ${SOURCE_FILES} - OPTIONS -arch=sm_20 + OPTIONS -arch=sm_60 ) diff --git a/Project2-Stream-Compaction/stream_compaction/common.cu b/Project2-Stream-Compaction/stream_compaction/common.cu index 2ed6d63..5a6fc01 100644 --- a/Project2-Stream-Compaction/stream_compaction/common.cu +++ b/Project2-Stream-Compaction/stream_compaction/common.cu @@ -1,39 +1,52 @@ #include "common.h" void checkCUDAErrorFn(const char *msg, const char *file, int line) { - cudaError_t err = cudaGetLastError(); - if (cudaSuccess == err) { - return; - } + cudaError_t err = cudaGetLastError(); + if (cudaSuccess == err) { + return; + } - fprintf(stderr, "CUDA error"); - if (file) { - fprintf(stderr, " (%s:%d)", file, line); - } - fprintf(stderr, ": %s: %s\n", msg, cudaGetErrorString(err)); - exit(EXIT_FAILURE); + fprintf(stderr, "CUDA error"); + if (file) { + fprintf(stderr, " (%s:%d)", file, line); + } + fprintf(stderr, ": %s: %s\n", msg, cudaGetErrorString(err)); + exit(EXIT_FAILURE); } namespace StreamCompaction { - namespace Common { + namespace Common { + /** + * Maps an array to an array of 0s and 1s for stream compaction. Elements + * which map to 0 will be removed, and elements which map to 1 will be kept. + */ + __global__ void kernMapToBoolean(int n, int *bools, const int *idata) { + // TODO + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index < n) { + if (idata[index] == 0) { + bools[index] = 0; + } else { + bools[index] = 1; + } + } + } - /** - * Maps an array to an array of 0s and 1s for stream compaction. Elements - * which map to 0 will be removed, and elements which map to 1 will be kept. - */ - __global__ void kernMapToBoolean(int n, int *bools, const int *idata) { - // TODO - } + /** + * Performs scatter on an array. That is, for each element in idata, + * if bools[idx] == 1, it copies idata[idx] to odata[indices[idx]]. + */ + __global__ void kernScatter(int n, int *odata, + const int *idata, const int *bools, const int *indices) { + // TODO + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index < n) { + if (bools[index] == 1) { + odata[indices[index]] = idata[index]; + } + } + } - /** - * Performs scatter on an array. That is, for each element in idata, - * if bools[idx] == 1, it copies idata[idx] to odata[indices[idx]]. - */ - __global__ void kernScatter(int n, int *odata, - const int *idata, const int *bools, const int *indices) { - // TODO - } - - } + } } diff --git a/Project2-Stream-Compaction/stream_compaction/cpu.cu b/Project2-Stream-Compaction/stream_compaction/cpu.cu index a2d3e6c..1322b2d 100644 --- a/Project2-Stream-Compaction/stream_compaction/cpu.cu +++ b/Project2-Stream-Compaction/stream_compaction/cpu.cu @@ -12,14 +12,24 @@ namespace StreamCompaction { return timer; } + void my_scan(int n, int *odata, const int *idata) { + odata[0] = 0; + for (int i = 1; i < n; i++) { + odata[i] = odata[i - 1] + idata[i - 1]; + } + } + /** * CPU scan (prefix sum). * For performance analysis, this is supposed to be a simple for loop. * (Optional) For better understanding before starting moving to GPU, you can simulate your GPU scan in this function first. */ + //compute an exclusive prefix sum void scan(int n, int *odata, const int *idata) { + //odata is b, idata is a timer().startCpuTimer(); // TODO + my_scan(n, odata, idata); timer().endCpuTimer(); } @@ -28,11 +38,19 @@ namespace StreamCompaction { * * @returns the number of elements remaining after compaction. */ + //remove 0 int compactWithoutScan(int n, int *odata, const int *idata) { timer().startCpuTimer(); // TODO + int index = 0; + for (int i = 0; i < n; i++) { + if (idata[i] != 0) { + odata[index] = idata[i]; + index++; + } + } timer().endCpuTimer(); - return -1; + return index; } /** @@ -43,8 +61,29 @@ namespace StreamCompaction { int compactWithScan(int n, int *odata, const int *idata) { timer().startCpuTimer(); // TODO + //map + int* map_data = new int[n]; + for (int i = 0; i < n; i++) { + if (idata[i] == 0) { + map_data[i] = 0; + } else { + map_data[i] = 1; + } + } + //scan + int* scan_out = new int[n]; + //the last index of each number is the non-zero index + my_scan(n, scan_out, map_data); + //scatter + int count = 0; + for (int i = 0; i < n; i++) { + if (map_data[i] == 1) { + odata[scan_out[i]] = idata[i]; + count++; + } + } timer().endCpuTimer(); - return -1; + return count; } } } diff --git a/Project2-Stream-Compaction/stream_compaction/efficient.cu b/Project2-Stream-Compaction/stream_compaction/efficient.cu index 2db346e..7ccf8e1 100644 --- a/Project2-Stream-Compaction/stream_compaction/efficient.cu +++ b/Project2-Stream-Compaction/stream_compaction/efficient.cu @@ -1,40 +1,219 @@ -#include +#include #include #include "common.h" #include "efficient.h" namespace StreamCompaction { - namespace Efficient { - using StreamCompaction::Common::PerformanceTimer; - PerformanceTimer& timer() - { - static PerformanceTimer timer; - return timer; - } - - /** - * Performs prefix-sum (aka scan) on idata, storing the result into odata. - */ - void scan(int n, int *odata, const int *idata) { - timer().startGpuTimer(); - // TODO - timer().endGpuTimer(); - } - - /** - * Performs stream compaction on idata, storing the result into odata. - * All zeroes are discarded. - * - * @param n The number of elements in idata. - * @param odata The array into which to store elements. - * @param idata The array of elements to compact. - * @returns The number of elements remaining after compaction. - */ - int compact(int n, int *odata, const int *idata) { - timer().startGpuTimer(); - // TODO - timer().endGpuTimer(); - return -1; - } - } + namespace Efficient { + using StreamCompaction::Common::PerformanceTimer; + PerformanceTimer& timer() + { + static PerformanceTimer timer; + return timer; + } + + // TODO: __global__ + __global__ void kernUpSweep(int n, int d, int *data) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + int offset = (int)(powf(2.0, 1.0*(d + 1))) - 1;//2^(d+1) - 1 + int offset2 = (int)(powf(2.0, 1.0*d)) - 1;//2^d-1 + if (index % (offset + 1) == 0) { + data[index + offset] += data[index + offset2]; + } + } + + __global__ void kernDownSweep(int n, int d, int *data) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + //do the naive scan + int offset = (int)(powf(2.0, 1.0 * (d + 1))) - 1;//2^(d+1) - 1 + int offset2 = (int)(powf(2.0, 1.0 * d)) - 1;//2^d-1 + if (index % (offset + 1) == 0) { + int t = data[index + offset2]; + data[index + offset2] = data[index + offset]; + data[index + offset] += t; + } + } + + //judge is pow of 2? + //https://stackoverflow.com/questions/600293/how-to-check-if-a-number-is-a-power-of-2 + bool IsPowerOfTwo(int number) { + if (number == 0) + return false; + for (int power = 1; power > 0; power = power << 1) { + // This for loop used shifting for powers of 2, meaning + // that the value will become 0 after the last shift + // (from binary 1000...0000 to 0000...0000) then, the 'for' + // loop will break out. + if (power == number) + return true; + if (power > number) + return false; + } + return false; + } + + __global__ void reviseElemnt(int index, int * data, int value) { + data[index] = value; + } + + __global__ void Init(int n, int *data) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + data[index] = 0; + } + + + void my_scan(dim3 fullBlocksPerGrid, int pow2n, int d, int *dev_data) { + //up + for (int i = 0; i <= d; i++) { + kernUpSweep << > > (pow2n, i, dev_data); + } + reviseElemnt << > > (pow2n - 1, dev_data, 0); + //down + for (int i = d; i >= 0; i--) { + kernDownSweep << > > (pow2n, i, dev_data); + } + } + + bool time = true; + /** + * Performs prefix-sum (aka scan) on idata, storing the result into odata. + */ + void scan(int n, int *odata, const int *idata) { + //TODO + int *dev_data; + bool is_pow2 = IsPowerOfTwo(n); + int d = ilog2ceil(n) - 1;//log2 n + int pow2n = n; + if (!is_pow2) { + pow2n = static_cast(pow(2.0, 1.0 * (d + 1))); + } + dim3 fullBlocksPerGrid((pow2n + blockSize - 1) / blockSize); + + //malloc memory + cudaMalloc((void**)&dev_data, pow2n * sizeof(int)); + checkCUDAError("cudaMalloc dev_idata failed!"); + Init << > > (pow2n, dev_data); + //mempy + cudaMemcpy(dev_data, idata, sizeof(int) * n, cudaMemcpyHostToDevice);//host to device + checkCUDAError("cudaMemcpy dev_idata failed!"); + + //start time + if (time) { + timer().startGpuTimer(); + } + + //my_scan(fullBlocksPerGrid, pow2n, d, dev_data); + //up + //before change each block has 128,1,1 threads (128) + //each grid has (pow2n + blockSize - 1) / blockSize block (2) + for (int i = 0; i <= d; i++) { + //int new_block = static_cast(powf(2.0f, 1.0 * (ilog2ceil(n) - i - 1))); + //dim3 new_blockpergrid(new_block); + kernUpSweep << > > (pow2n, i, dev_data); + //kernUpSweep << > > (new_block, i, dev_data); + } + reviseElemnt << > > (pow2n - 1, dev_data, 0); + //down + for (int i = d; i >= 0; i--) { + //int new_block = static_cast(powf(2.0f, 1.0 * (ilog2ceil(n) - i - 1))); + //dim3 new_blockpergrid(new_block); + kernDownSweep << > > (pow2n, i, dev_data); + //kernDownSweep << > > (new_block, i, dev_data); + } + + if (time) { + timer().endGpuTimer(); + } + //end gpu time + + cudaMemcpy(odata, dev_data, sizeof(int) * n, cudaMemcpyDeviceToHost);//get the result + checkCUDAError("get odata failed!"); + + //free + cudaFree(dev_data); + } + + /** + * Performs stream compaction on idata, storing the result into odata. + * All zeroes are discarded. + * + * @param n The number of elements in idata. + * @param odata The array into which to store elements. + * @param idata The array of elements to compact. + * @returns The number of elements remaining after compaction. + */ + int compact(int n, int *odata, const int *idata) { + int *map_data; + int *scan_out; + int *dev_idata; + int *dev_odata; + + bool is_pow2 = IsPowerOfTwo(n); + int d = ilog2ceil(n) - 1;//log2 n + int pow2n = n; + if (!is_pow2) { + pow2n = static_cast(pow(2.0, 1.0 * (d + 1))); + } + dim3 fullBlocksPerGrid((pow2n + blockSize - 1) / blockSize); + + //malloc memory + cudaMalloc((void**)&map_data, pow2n * sizeof(int)); + checkCUDAError("cudaMalloc map_data failed!"); + Init << > > (pow2n, map_data); + cudaMalloc((void**)&scan_out, pow2n * sizeof(int)); + checkCUDAError("cudaMalloc scan_out failed!"); + Init << > > (pow2n, scan_out); + cudaMalloc((void**)&dev_idata, pow2n * sizeof(int)); + checkCUDAError("cudaMalloc dev_idata failed!"); + Init << > > (pow2n, dev_idata); + cudaMalloc((void**)&dev_odata, pow2n * sizeof(int)); + checkCUDAError("cudaMalloc dev_idata failed!"); + Init << > > (pow2n, dev_odata); + + //mempy + cudaMemcpy(dev_idata, idata, sizeof(int) * pow2n, cudaMemcpyHostToDevice);//host to device + checkCUDAError("cudaMemcpy dev_idata failed!"); + //cudaMemcpy(dev_odata, odata, sizeof(int) * pow2n, cudaMemcpyHostToDevice);//host to device + //checkCUDAError("cudaMemcpy dev_odata failed!"); + + timer().startGpuTimer(); + //to bool + StreamCompaction::Common::kernMapToBoolean << > > (pow2n, map_data, dev_idata); + //scan + time = false; + scan(pow2n, scan_out, map_data); + //scatter here is n,not pow2n + StreamCompaction::Common::kernScatter << > > (n, dev_odata, + dev_idata, map_data, scan_out); + // TODO + timer().endGpuTimer(); + + cudaMemcpy(odata, dev_odata, sizeof(int) * n, cudaMemcpyDeviceToHost);//get the result + checkCUDAError("get odata failed!"); + + int count = -1; + for (int i = 0; i < n; i++) { + if (odata[i] == 0) { + count = i; + break; + } + } + + cudaFree(dev_idata); + cudaFree(dev_odata); + cudaFree(map_data); + cudaFree(scan_out); + + return count; + } + } } diff --git a/Project2-Stream-Compaction/stream_compaction/naive.cu b/Project2-Stream-Compaction/stream_compaction/naive.cu index 4308876..ec454be 100644 --- a/Project2-Stream-Compaction/stream_compaction/naive.cu +++ b/Project2-Stream-Compaction/stream_compaction/naive.cu @@ -6,20 +6,89 @@ namespace StreamCompaction { namespace Naive { using StreamCompaction::Common::PerformanceTimer; - PerformanceTimer& timer() - { + PerformanceTimer& timer() { static PerformanceTimer timer; return timer; } + //initial + /*__global__ void kernInitialArray(int N, int * arr) { + int index = (blockIdx.x * blockDim.x) + threadIdx.x;//threadindex + if (index >= N) { + return; + } + arr[index] = -1; + }*/ + // TODO: __global__ + __global__ void kernNaiveScan(int n, int d, int *odata, int* idata) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + //do the naive scan + int start = powf(2.0, 1.0*(d - 1));//2^(d-1) + if (index >= start) { + odata[index] = idata[index - start] + idata[index]; + } else { + odata[index] = idata[index]; + } + } + + __global__ void kernInclu2Exclu(int n, int *inclu, int* exclu) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + if (index == 0) { + exclu[index] = 0; + } else { + exclu[index] = inclu[index - 1]; + } + } /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ - void scan(int n, int *odata, const int *idata) { - timer().startGpuTimer(); + void scan(int n, int *odata, const int *idata) { + int *dev_idata; + int *dev_odata; + + //malloc memory + cudaMalloc((void**)&dev_idata, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_idata failed!"); + cudaMalloc((void**)&dev_odata, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_odata failed!"); + + //mempy + cudaMemcpy(dev_idata, idata, sizeof(int) * n, cudaMemcpyHostToDevice);//host to device + checkCUDAError("cudaMemcpy dev_idata failed!"); + cudaMemcpy(dev_odata, odata, sizeof(int) * n, cudaMemcpyHostToDevice);//host to device + checkCUDAError("cudaMemcpy dev_odata failed!"); + + int d = ilog2ceil(n);//log2 n + int* temp; + dim3 fullBlocksPerGrid((n + blockSize - 1) / blockSize); + + //start time + timer().startGpuTimer(); + for (int i = 1; i <= d; i++) { + kernNaiveScan << > > (n, i, dev_odata, dev_idata); + temp = dev_idata; + dev_idata = dev_odata; + dev_odata = temp; + } + //from inclusive to exclusive + kernInclu2Exclu << > > (n, dev_idata, dev_odata); // TODO timer().endGpuTimer(); + //end gpu time + + cudaMemcpy(odata, dev_odata, sizeof(int) * n, cudaMemcpyDeviceToHost);//get the result + checkCUDAError("get odata failed!"); + + //free + cudaFree(dev_idata); + cudaFree(dev_odata); } } } diff --git a/Project2-Stream-Compaction/stream_compaction/radix.cu b/Project2-Stream-Compaction/stream_compaction/radix.cu new file mode 100644 index 0000000..f2a72d4 --- /dev/null +++ b/Project2-Stream-Compaction/stream_compaction/radix.cu @@ -0,0 +1,145 @@ +#include +#include +#include +#include "common.h" +#include "radix.h" + +namespace StreamCompaction { + namespace Radix { + using StreamCompaction::Common::PerformanceTimer; + PerformanceTimer& timer() { + static PerformanceTimer timer; + return timer; + } + + __global__ void Init(int n, int *data, int value) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + data[index] = 0; + } + + //generate b_array + __global__ void kernGetBandEArray(int n, int bit, const int* idata, int *b_arr, int* e_arr) { + int index = (blockIdx.x * blockDim.x) + threadIdx.x;//threadindex + if (index >= n) { + return; + } + if ((idata[index]>>bit) & 1) { + b_arr[index] = 1; + e_arr[index] = 0; + } else { + b_arr[index] = 0; + e_arr[index] = 1; + } + } + + __global__ void kernGetTArray(int n, const int *f_arr, int total, int* t_arr) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + t_arr[index] = index - f_arr[index] + total; + } + + __global__ void kernGetDArray(int n, const int *b_arr, const int *t_arr, const int *f_arr, int* d_arr) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + //if b is 1 -> t + d_arr[index] = b_arr[index] ? t_arr[index] : f_arr[index]; + } + + __global__ void kernRearrange(int n, int *d_arr, int *data) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + data[d_arr[index]] = data[index]; + } + + /** + * Performs prefix-sum (aka scan) on idata, storing the result into odata. + */ + void radix_sort(int n, int bits_num, int *odata, const int *idata) { + int* dev_data; + int* b_array; + int* e_array; + int* f_array; + int *t_array; + int *d_array; + + dim3 fullBlocksPerGrid((n + blockSize - 1) / blockSize); + + //malloc memory initial b and e with -1 and f with 0(for kern) + cudaMalloc((void**)&dev_data, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_data failed!"); + cudaMalloc((void**)&b_array, n * sizeof(int)); + checkCUDAError("cudaMalloc b_array failed!"); + Init << < fullBlocksPerGrid, blockSize >> > (n, b_array, -1); + cudaMalloc((void**)&e_array, n * sizeof(int)); + checkCUDAError("cudaMalloc e_array failed!"); + Init << < fullBlocksPerGrid, blockSize >> > (n, e_array, -1); + cudaMalloc((void**)&f_array, n * sizeof(int)); + checkCUDAError("cudaMalloc f_array failed!"); + Init<< < fullBlocksPerGrid, blockSize >> >(n, f_array, 0); + cudaMalloc((void**)&t_array, n * sizeof(int)); + checkCUDAError("cudaMalloc t_array failed!"); + Init << < fullBlocksPerGrid, blockSize >> > (n, t_array, -1); + cudaMalloc((void**)&d_array, n * sizeof(int)); + checkCUDAError("cudaMalloc d_array failed!"); + Init << < fullBlocksPerGrid, blockSize >> > (n, d_array, -1); + cudaDeviceSynchronize(); + + //mempy + cudaMemcpy(dev_data, idata, sizeof(int) * n, cudaMemcpyHostToDevice); + checkCUDAError("cudaMemcpy dev_data failed!"); + + //start time + timer().startGpuTimer(); + //execute sort bits_num times + int totalFlases = 0; + for (int i = 0; i < bits_num; i++) { + //generate b and e arr + kernGetBandEArray << > >(n, i, dev_data, b_array, e_array); + //generate f arr + StreamCompaction::Efficient::scan(n, f_array, e_array); + int *temp = new int[n]; + cudaMemcpy(temp, f_array, sizeof(int) * n, cudaMemcpyDeviceToHost); + /*std::cout << "f_array" << std::endl; + for (int i = 0; i < n; i++) { + std::cout << temp[i] << std::endl; + }*/ + int *temp2 = new int[n]; + cudaMemcpy(temp2, e_array, sizeof(int) * n, cudaMemcpyDeviceToHost); + /*std::cout << "e_array" << std::endl; + for (int i = 0; i < n; i++) { + std::cout << temp2[i] << std::endl; + }*/ + totalFlases = temp[n - 1] + temp2[n - 1]; + //std::cout <<"total: "<< totalFlases << std::endl; + //get t arr + kernGetTArray << > >(n, f_array, totalFlases, t_array); + //get d array + kernGetDArray << > >(n, b_array, t_array, f_array, d_array); + //scatter + kernRearrange << > >(n, d_array, dev_data); + } + timer().endGpuTimer(); + //end gpu time + + cudaMemcpy(odata, dev_data, sizeof(int) * n, cudaMemcpyDeviceToHost);//get the result + checkCUDAError("get odata failed!\n"); + + //free + cudaFree(dev_data); + cudaFree(b_array); + cudaFree(e_array); + cudaFree(f_array); + cudaFree(t_array); + cudaFree(d_array); + } + } +} diff --git a/Project2-Stream-Compaction/stream_compaction/radix.h b/Project2-Stream-Compaction/stream_compaction/radix.h new file mode 100644 index 0000000..c297d18 --- /dev/null +++ b/Project2-Stream-Compaction/stream_compaction/radix.h @@ -0,0 +1,12 @@ +#pragma once + +#include "common.h" +#include + +namespace StreamCompaction { + namespace Radix { + StreamCompaction::Common::PerformanceTimer& timer(); + + void radix_sort(int n, int bits_num, int *odata, const int *idata); + } +} diff --git a/Project2-Stream-Compaction/stream_compaction/thrust.cu b/Project2-Stream-Compaction/stream_compaction/thrust.cu index 1def45e..9efb3a4 100644 --- a/Project2-Stream-Compaction/stream_compaction/thrust.cu +++ b/Project2-Stream-Compaction/stream_compaction/thrust.cu @@ -17,12 +17,36 @@ namespace StreamCompaction { /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ + //https://thrust.github.io/doc/group__prefixsums_ga7be5451c96d8f649c8c43208fcebb8c3.html void scan(int n, int *odata, const int *idata) { + int *dev_idata; + int *dev_odata; + //malloc memory + cudaMalloc((void**)&dev_idata, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_idata failed!"); + cudaMalloc((void**)&dev_odata, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_odata failed!"); + //mempy + cudaMemcpy(dev_idata, idata, sizeof(int) * n, cudaMemcpyHostToDevice);//host to device + checkCUDAError("cudaMemcpy dev_idata failed!"); + cudaMemcpy(dev_odata, odata, sizeof(int) * n, cudaMemcpyHostToDevice);//host to device + checkCUDAError("cudaMemcpy dev_odata failed!"); + + thrust::device_ptr dev_in(dev_idata); + thrust::device_ptr dev_out(dev_odata); + timer().startGpuTimer(); // TODO use `thrust::exclusive_scan` // example: for device_vectors dv_in and dv_out: - // thrust::exclusive_scan(dv_in.begin(), dv_in.end(), dv_out.begin()); + //thrust::exclusive_scan(dv_in.begin(), dv_in.end(), dv_out.begin()); + thrust::exclusive_scan(dev_in, dev_in + n, dev_out); timer().endGpuTimer(); + + cudaMemcpy(odata, dev_odata, sizeof(int) * n, cudaMemcpyDeviceToHost);//get the result + checkCUDAError("get odata failed!"); + + cudaFree(dev_idata); + cudaFree(dev_odata); } } } From 52043907d31f0d6620d1f29c3c18c9b631c437f7 Mon Sep 17 00:00:00 2001 From: coffeier <834986610@qq.com> Date: Tue, 17 Sep 2019 21:19:35 -0400 Subject: [PATCH 02/12] a simple neuro network --- .../character_recognition/CMakeLists.txt | 2 +- .../character_recognition/mlp.cu | 615 +++++++++++++++++- .../character_recognition/mlp.h | 11 +- Project2-Character-Recognition/src/main.cpp | 253 ++++--- 4 files changed, 715 insertions(+), 166 deletions(-) diff --git a/Project2-Character-Recognition/character_recognition/CMakeLists.txt b/Project2-Character-Recognition/character_recognition/CMakeLists.txt index 7446175..9e487b9 100644 --- a/Project2-Character-Recognition/character_recognition/CMakeLists.txt +++ b/Project2-Character-Recognition/character_recognition/CMakeLists.txt @@ -7,5 +7,5 @@ set(SOURCE_FILES cuda_add_library(character_recognition ${SOURCE_FILES} - OPTIONS -arch=sm_20 + OPTIONS -arch=sm_60 ) diff --git a/Project2-Character-Recognition/character_recognition/mlp.cu b/Project2-Character-Recognition/character_recognition/mlp.cu index 5a3ed7f..3d12c85 100644 --- a/Project2-Character-Recognition/character_recognition/mlp.cu +++ b/Project2-Character-Recognition/character_recognition/mlp.cu @@ -1,27 +1,602 @@ +#include +#include #include #include +#include +#include #include "common.h" #include "mlp.h" namespace CharacterRecognition { - using Common::PerformanceTimer; - PerformanceTimer& timer() - { - static PerformanceTimer timer; - return timer; - } - - // TODO: __global__ - - /** - * Example of use case (follow how you did it in stream compaction) - */ - /*void scan(int n, int *odata, const int *idata) { - timer().startGpuTimer(); - // TODO - timer().endGpuTimer(); - } - */ - - // TODO: implement required elements for MLP sections 1 and 2 here + + using Common::PerformanceTimer; + PerformanceTimer& timer() + { + static PerformanceTimer timer; + return timer; + } + + //TODO: implement required elements for MLP sections 1 and 2 here + #define blockSize 128 + + //neural number + int input_count;//size of input + int SIZE_INPUT;// the size of input layer + int SIZE_HiD;// the size of hidden layer + int SIZE_OUTPUT;//the size of output class + + //data pointer + float *dev_input; + float *dev_hid; + float *dev_output; + //weights + float *weights_inandhid;// the input->hidden layer weights + float *weights_hidandoutput;// the hidden->output layer weights + float *dev_real; + float *hid_sig; + float *out_soft; + //gradient + float *wgrad_i2h; + float *wgrad_h2o; + + //learning rate + float lr; + //loss + float loss_threshold; + + //function variable + float exp_sum; + + bool flag = false; + + //init an array + __global__ void Init(int n, float *data, float value) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + data[index] = value; + } + + void printM(const float *M, + int row, int col) { + for (int i = 0; i < row; ++i) { + for (int j = 0; j < col; ++j) { + printf("%f ", M[j * row + i]); + } + printf("\n"); + } + printf("\n"); + } + + void Write_Weights2File(std::string filename, + const float *M, int row, int col) { + //std::cout << "print weights" << std::endl; + std::ofstream file(filename); + if (file.is_open()) { + for (int i = 0; i < row; i++) { + for (int j = 0; j < col; j++) { + //std::cout<= n) { + return; + } + odata[index] = 1.0 / (1.0 + expf(-idata[index])); + } + + /////////////////////////////softmax//////////////////////////////////// + //e^x + __global__ void kernExp(int n, const float *idata, float* odata) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + odata[index] = expf(idata[index]); + } + + float Get_sum(int n, float *arr) { + float sum = 0.0; + for (int i = 0; i < n; i++) { + sum += arr[i]; + } + return sum; + } + + //normalize + __global__ void kernNormalize(int n, float arr_sum, + const float *arr_exp, float *odata) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + odata[index] = arr_exp[index] / arr_sum; + } + + void softmax(int n, float* idata, float* odata) { + dim3 fullBlocksPerGrid((n + blockSize - 1) / blockSize); + //get exp for the whole input + float* arr_exp; + cudaMalloc((void**)&arr_exp, sizeof(float) * n); + checkCUDAError("cudaMalloc arr_exp failed!"); + Init << > > (n, arr_exp, 0.0); + kernExp<< > > (n, idata, arr_exp); + + //get sum + float* exp = new float[n]; + cudaMemcpy(exp, arr_exp, sizeof(float) * n, cudaMemcpyDeviceToHost);//get + /*std::cout << "exp: " << std::endl; + printM(exp, n, 1);*/ + exp_sum = Get_sum(n, exp); + + //normalize + kernNormalize<< > > (n, exp_sum, arr_exp, odata); + + cudaFree(arr_exp); + free(exp); + } + + //finally get the judgemenet + //return max_index + 1 so it is from 1 - n not from 0 to n-1 + int GetfinalJudge(int n, float* after_softmax) { + int max_index = -1; + float max_prob = 0.0; + for (int i = 0; i < n; i++) { + if (max_prob < after_softmax[i]) { + max_prob = after_softmax[i]; + max_index = i; + } + } + return max_index + 1; + } + + /////////////////////////////loss function//////////////////////////////////// + __global__ void kernmse_loss(int n, const float* real, + const float* predict, float* each) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + each[index] = 0.5 * (real[index] - predict[index]) * (real[index] - predict[index]); + } + + __global__ void kerncross_entropy(int n, const float* real, + const float* predict, float* each) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + each[index] = -1.0 *(real[index] * logf(predict[index])); + } + + //loss + float compute_loss(const float* real, const float *pred, int ind) { + //std::cout << "hi! compute loss!" << std::endl; + float *each_cros; + cudaMalloc((void**)&each_cros, sizeof(float) * SIZE_OUTPUT); + checkCUDAError("cudaMalloc each_cros failed!"); + + float *real_each; + cudaMalloc((void**)&real_each, sizeof(float) * SIZE_OUTPUT); + checkCUDAError("cudaMalloc real_each failed!"); + cudaMemcpy(real_each, real + (ind * SIZE_OUTPUT), sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToDevice); + + dim3 fullBlocksPerGrid((SIZE_OUTPUT + blockSize - 1) / blockSize); + //kernmse_loss << > > (SIZE_OUTPUT, real_each, pred, each_cros); + kerncross_entropy << > >(SIZE_OUTPUT, real_each, pred, each_cros); + + //sum + float *each_cros_host = new float[SIZE_OUTPUT]; + cudaMemcpy(each_cros_host, each_cros, sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToHost);//host to device + //std::cout << "each loss:" << std::endl; + //printM(each_cros_host, 1, SIZE_OUTPUT); + + float loss = Get_sum(SIZE_OUTPUT, each_cros_host); + + cudaFree(each_cros); + free(each_cros_host); + return loss; + } + + /////////////////////////////gradient//////////////////////////////////// + __global__ void kernAdjW(int n, float *M) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + M[index] = 2.0 * M[index] - 1.0; + } + + //(SIZE_OUTPUT, out_soft, dev_odata, error1) + __global__ void kernSub(int n, float* A, float* B, float* C) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + C[index] = A[index] - B[index]; + } + + __global__ void kernAdd(int n, float* A, float* B, float* C) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + C[index] = A[index] + B[index]; + } + + //sigfun is the sig result + __global__ void kernSig_partial_deriv(int n, float* sigfun, float* odata) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + odata[index] *= (sigfun[index] * (1.0 - sigfun[index])); + } + + __global__ void kernMse_deri(int n, const float *input, float *real, float *odata) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + odata[index] *= (input - real); + } + + __global__ void kernUp_Wei(int n, float *wei, float* gradient, float learning_rate) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + wei[index] = wei[index] - learning_rate * gradient[index]; + } + + //for simple one data meg + void forwardpass(int instance_index, float* idata, + cublasHandle_t &handle) { + float* data; + cudaMalloc((void**)&data, SIZE_INPUT * sizeof(float)); + checkCUDAError("cudaMalloc data failed!"); + cudaMemcpy(data, idata + (instance_index * SIZE_INPUT), sizeof(float) * SIZE_INPUT, cudaMemcpyDeviceToDevice); + + float* host_data = new float[SIZE_INPUT]; + cudaMemcpy(host_data, data, sizeof(float) * SIZE_INPUT, cudaMemcpyDeviceToHost); + + //compute hidden layer + GetLayerOutput(SIZE_INPUT,//size_of_current_layer + SIZE_HiD,//size_of_next_layer + data,//idata + weights_inandhid,//weights + dev_hid,//hidden + handle); + + //Compute sigmoid if hidden layer + dim3 fullBlocksPerGrid((SIZE_HiD + blockSize - 1) / blockSize); + kernSigmoid<< > > (SIZE_HiD, dev_hid, hid_sig); + + //Compute output layer + GetLayerOutput(SIZE_HiD,//size_of_current_layer + SIZE_OUTPUT,//size_of_next_layer + hid_sig,//hidden_sig + weights_hidandoutput,//weights + dev_output,//output layer + handle); + + //Compute softmax of output layer + softmax(SIZE_OUTPUT, dev_output, out_soft); + } + + //Computes the gradient for the current pass. + void compute_grad(int instance_number, + const float* input, const float* real, + cublasHandle_t &handle) { + + float* dev_idata; + float* dev_odata; + cudaMalloc((void**)&dev_idata, sizeof(float) * SIZE_INPUT); + checkCUDAError("cudaMalloc dev_idata failed!"); + cudaMalloc((void**)&dev_odata, sizeof(float) * SIZE_OUTPUT); + checkCUDAError("cudaMalloc dev_odata failed!"); + + cudaMemcpy(dev_idata, input + (instance_number * SIZE_INPUT), sizeof(float) * SIZE_INPUT, cudaMemcpyDeviceToDevice); + cudaMemcpy(dev_odata, real + (instance_number * SIZE_OUTPUT), sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToDevice); + + //Compute gradient weights between hidden and output layer + float* error1; + cudaMalloc((void**)&error1, SIZE_OUTPUT * sizeof(float)); + checkCUDAError("cudaMalloc error1 failed!"); + float* error2;// input and hidden layer + cudaMalloc((void**)&error2, SIZE_HiD * sizeof(float)); + checkCUDAError("cudaMalloc error2 failed!"); + + //the error between predict and real + dim3 fullBlocksPerGrid((SIZE_OUTPUT + blockSize - 1) / blockSize); + //softmax and entrpy_cross derivative + kernSub<< > > (SIZE_OUTPUT, out_soft, dev_odata, error1); + + Mul(hid_sig,//A(hid_size*1) m*k + error1,//B (1 * out_size) k*n + wgrad_h2o,//C (SIZE_HiD * SIZE_OUTPUT) m*n + SIZE_HiD,//m + SIZE_OUTPUT,//n + 1,//k + handle); + + Mul(weights_hidandoutput,//(size_output*size_hid) + error1,//(size_out*1) + error2,//(hid_size*1) + SIZE_HiD,//m + 1,//n + SIZE_OUTPUT,//k + handle); + + //sigmoid derivative + dim3 fullBlocksPerGrid2((SIZE_HiD + blockSize - 1) / blockSize); + kernSig_partial_deriv<< > >(SIZE_HiD, hid_sig, error2); + + Mul(dev_idata,//(size_input*1) + error2,//(1*hid_size) + wgrad_i2h,//size_input*size_hid + SIZE_INPUT,//m + SIZE_HiD,//n + 1,//k + handle); + + /*//debug + float *t1 = new float[SIZE_HiD*SIZE_INPUT]; + cudaMemcpy(t1, wgrad_i2h, sizeof(float) * SIZE_HiD*SIZE_INPUT, cudaMemcpyDeviceToHost); + printf("grad weight hid input: \n"); + //printM(t1, SIZE_INPUT, SIZE_HiD); + + //yes + float *t2 = new float[SIZE_HiD*SIZE_OUTPUT]; + cudaMemcpy(t2, wgrad_h2o, sizeof(float) * SIZE_HiD*SIZE_OUTPUT, cudaMemcpyDeviceToHost); + printf("grad weight hid output: \n"); + //printM(t2, SIZE_OUTPUT, SIZE_HiD); + */ + + cudaFree(error1); + cudaFree(error2); + cudaFree(dev_idata); + cudaFree(dev_odata); + } + + //cublas is col based! + //ref: https://blog.csdn.net/zcy0xy/article/details/84555053#cuBLAS_12 + void build_network(int data_count, int num_feature, int num_class, + int hid_size, float ler, float loss_thre) { + + input_count = data_count; + SIZE_INPUT = num_feature; + SIZE_HiD = hid_size; + SIZE_OUTPUT = num_class; + lr = ler; + loss_threshold = loss_thre; + + //malloc memory for layer weights + cudaMalloc((void**)&weights_inandhid, (SIZE_INPUT * SIZE_HiD) * sizeof(float)); + checkCUDAError("cudaMalloc weights_inandhid failed!"); + cudaMalloc((void**)&weights_hidandoutput, (SIZE_HiD * SIZE_OUTPUT) * sizeof(float)); + checkCUDAError("cudaMalloc weights_hidandoutput failed!"); + + //initialize weight with random number + ref: https://blog.csdn.net/wesley_2013/article/details/12175391 + curandGenerator_t gen; + curandCreateGenerator(&gen, CURAND_RNG_PSEUDO_MRG32K3A);//set the random algorithm + curandSetPseudoRandomGeneratorSeed(gen, rand());//initial random number + //set weights + curandGenerateUniform(gen, weights_inandhid, SIZE_INPUT * SIZE_HiD); + curandGenerateUniform(gen, weights_hidandoutput, SIZE_HiD * SIZE_OUTPUT); + + //FROM 0-1 to -1-1 + dim3 fullBlocksPerGrid((SIZE_INPUT * SIZE_HiD + blockSize - 1) / blockSize); + kernAdjW << > > (SIZE_INPUT * SIZE_HiD, weights_inandhid); + dim3 fullBlocksPerGrid2((SIZE_HiD * SIZE_OUTPUT + blockSize - 1) / blockSize); + kernAdjW << > > (SIZE_HiD * SIZE_OUTPUT, weights_hidandoutput); + + /*//debug + float * wih = new float[SIZE_INPUT * SIZE_HiD]; + float * who = new float[SIZE_OUTPUT * SIZE_HiD]; + cudaMemcpy(wih, weights_inandhid, sizeof(float) * (SIZE_INPUT * SIZE_HiD), cudaMemcpyDeviceToHost); + cudaMemcpy(who, weights_hidandoutput , sizeof(float) * (SIZE_OUTPUT * SIZE_HiD), cudaMemcpyDeviceToHost); + */ + + //hidden layer and output layer on device + cudaMalloc((void**)&dev_hid, SIZE_HiD * sizeof(float)); + checkCUDAError("cudaMalloc dev_hid failed!"); + cudaMalloc((void**)&dev_output, SIZE_OUTPUT * sizeof(float)); + checkCUDAError("cudaMalloc dev_output failed!"); + + //weights grads dev memory + cudaMalloc((void**)&wgrad_i2h, (SIZE_INPUT * SIZE_HiD) * sizeof(float)); + checkCUDAError("cudaMalloc wgrad_i2h failed!"); + cudaMalloc((void**)&wgrad_h2o, (SIZE_HiD * SIZE_OUTPUT) * sizeof(float)); + checkCUDAError("cudaMalloc wgrad_h2o failed!"); + + //mid-calculation data memory + cudaMalloc((void**)&hid_sig, SIZE_HiD * sizeof(float)); + checkCUDAError("cudaMalloc hid_sig failed!"); + cudaMalloc((void**)&out_soft, SIZE_OUTPUT * sizeof(float)); + checkCUDAError("cudaMalloc out_soft failed!"); + std::cout << "successfully build the network!" << std::endl; + } + + void train(float* input, float* real, int train_time) { + float epi_loss = 0.0; + + //cuBlas handle + cublasHandle_t handle; + cublasCreate(&handle); + + //malloc memory for input and real + cudaMalloc((void**)&dev_input, (input_count * SIZE_INPUT) * sizeof(float)); + checkCUDAError("cudaMalloc dev_input failed!"); + cudaMalloc((void**)&dev_real, (input_count * SIZE_OUTPUT) * sizeof(float)); + checkCUDAError("cudaMalloc dev_real failed!"); + cudaMemcpy(dev_input, input, sizeof(float) * (input_count * SIZE_INPUT), cudaMemcpyHostToDevice); + cudaMemcpy(dev_real, real, sizeof(float) * (input_count * SIZE_OUTPUT), cudaMemcpyHostToDevice); + + for (int i = 0; i < train_time; i++) { + //for each data + epi_loss = 0.0; + for (int j = 0; j < input_count; j++) { + //Forward_Pass + forwardpass(j, dev_input, handle); + + ////////back propa////////////////// + //get Loss + epi_loss += compute_loss(dev_real, out_soft, j); + //Compute grads + compute_grad(j, dev_input, dev_real, handle); + + //update weights + dim3 fullBlocksPerGrid(((SIZE_INPUT * SIZE_HiD) + blockSize - 1) / blockSize); + kernUp_Wei<< > > (SIZE_INPUT * SIZE_HiD, weights_inandhid, wgrad_i2h, lr); + dim3 fullBlocksPerGrid2(((SIZE_HiD * SIZE_OUTPUT) + blockSize - 1) / blockSize); + kernUp_Wei<< > >(SIZE_HiD * SIZE_OUTPUT, weights_hidandoutput, wgrad_h2o, lr); + + } + std::cout << "epoch " << i << " loss : " << epi_loss / (1.0 * input_count) << std::endl; + if (epi_loss / (1.0 * input_count) < loss_threshold && !flag) { + flag = true; + } + } + if (flag) { + float * wih = new float[SIZE_INPUT * SIZE_HiD]; + float * who = new float[SIZE_OUTPUT * SIZE_HiD]; + cudaMemcpy(wih, weights_inandhid, sizeof(float) * (SIZE_INPUT * SIZE_HiD), cudaMemcpyDeviceToHost); + cudaMemcpy(who, weights_hidandoutput, sizeof(float) * (SIZE_OUTPUT * SIZE_HiD), cudaMemcpyDeviceToHost); + + Write_Weights2File("input_hid_w.txt", wih, input_count, SIZE_HiD); + Write_Weights2File("hid_out_w.txt", who, SIZE_HiD, SIZE_OUTPUT); + + delete(wih); + delete(who); + } + // Destroy the handle + cublasDestroy(handle); + } + + //test + void test(float* test_input, int test_times, int type) { + int t = type == 1 ? test_times : input_count; + if (test_times <= 0 || !flag) { + std::cout << "error!" << std::endl; + return; + } + + //dev memory for test data + float* test_in; + cudaMalloc((void**)&test_in, (input_count * SIZE_INPUT) * sizeof(float)); + checkCUDAError("cudaMalloc test_in failed!"); + cudaMemcpy(test_in, test_input, sizeof(float) * (input_count * SIZE_INPUT), cudaMemcpyHostToDevice); + + //CUBLAS handle + cublasHandle_t handle; + cublasCreate(&handle); + + int correct_time = 0; + float *re = new float[SIZE_OUTPUT]; + + if (type == 1) { + //test specific times + while (test_times) { + int ind = (10000 * (int)rand()) % input_count; + forwardpass(ind, test_in, handle); + std::cout << "pic: " << ind + 1 << " pred: "; + cudaMemcpy(re, out_soft, sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToHost); + int result = GetfinalJudge(SIZE_OUTPUT, re); + if (result == ind + 1) { + correct_time++; + } + std::cout << " " << result << std::endl; + test_times--; + } + } + else if (type ==2) { + for (int i = 0; i < input_count; i++) { + forwardpass(i, test_in, handle); + std::cout << "pic: " << i + 1 << " pred: "; + cudaMemcpy(re, out_soft, sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToHost); + int result = GetfinalJudge(SIZE_OUTPUT, re); + if (result == i + 1) { + correct_time++; + } + std::cout << " " << result << std::endl; + } + } + std::cout << "test time: " << t + << " ,correct probability: " + << ((1.0 * correct_time) / t) * 100.0 <<"%"< #include #include -//#include <../Project2-Stream-Compaction/stream_compaction/cpu.h> -//#include <../Project2-Stream-Compaction/stream_compaction/naive.h> -//#include <../Project2-Stream-Compaction/stream_compaction/efficient.h> -//#include <../Project2-Stream-Compaction/stream_compaction/thrust.h> #include "testing_helpers.hpp" +#include +#include +#include +#include +#include const int SIZE = 1 << 8; // feel free to change the size of array const int NPOT = SIZE - 3; // Non-Power-Of-Two -int *a = new int[SIZE]; -int *b = new int[SIZE]; -int *c = new int[SIZE]; +//int *a = new int[SIZE]; +//int *b = new int[SIZE]; +//int *c = new int[SIZE]; //size of the three buffer -const int SIZE_INPUT = 4; -const int SIZE_HiD = 2; -const int SIZE_OUTPUT = 1; -const int SIZE_WEI = SIZE_INPUT * SIZE_HiD + SIZE_HiD * SIZE_OUTPUT; +const int input_count = 2; +const int size_INPUT = 4; +const int size_HiD = 2; +const int size_OUTPUT = 2; +const int size_WEI1 = size_INPUT * size_HiD; +const int size_WEI2 = size_HiD * size_OUTPUT; //create three buffers -int *input = new int[SIZE_INPUT]; -int *hidden = new int[SIZE_HiD]; -int *output = new int[SIZE_OUTPUT]; +float *input_ = new float[input_count * size_INPUT]; +float *hidden_ = new float[size_HiD]; +float *output_ = new float[size_OUTPUT]; +float *real_ = new float[input_count * size_OUTPUT]; + //weights buffer -float *weights = new float[SIZE_WEI]; +float *w1= new float[size_WEI1]; +float *w2 = new float[size_WEI2]; + +///real number read +const int character_num = 52; +const int feature_num = 10201; +const int class_num = 52; -int main(int argc, char* argv[]) { - // Scan tests +int main(int argc, char* argv[]) { printf("\n"); printf("****************\n"); - printf("** SCAN TESTS **\n"); + printf("** Recognize TESTS **\n"); printf("****************\n"); - - genArray(SIZE_INPUT, input, 5); // Leave a 0 at the end to test that edge case - printArray(SIZE_INPUT, input, true); - - zeroArray(SIZE_HiD, hidden); - zeroArray(SIZE_OUTPUT, output); - printDesc("initial hidden"); - printArray(SIZE_HiD, hidden, true); - printDesc("initial output"); - printArray(SIZE_OUTPUT, output, true); - // StreamCompaction::CPU::scan(SIZE, b, a); - // printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); - // printArray(SIZE, b, true); - - // zeroArray(SIZE, c); - // printDesc("cpu scan, non-power-of-two"); - // StreamCompaction::CPU::scan(NPOT, c, a); - // printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); - // printArray(NPOT, b, true); - // printCmpResult(NPOT, b, c); - - // zeroArray(SIZE, c); - // printDesc("naive scan, power-of-two"); - // StreamCompaction::Naive::scan(SIZE, c, a); - // printElapsedTime(StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - // //printArray(SIZE, c, true); - // printCmpResult(SIZE, b, c); - - ///* For bug-finding only: Array of 1s to help find bugs in stream compaction or scan - //onesArray(SIZE, c); - //printDesc("1s array for finding bugs"); - //StreamCompaction::Naive::scan(SIZE, c, a); - //printArray(SIZE, c, true); */ - - // zeroArray(SIZE, c); - // printDesc("naive scan, non-power-of-two"); - // StreamCompaction::Naive::scan(NPOT, c, a); - // printElapsedTime(StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - // //printArray(SIZE, c, true); - // printCmpResult(NPOT, b, c); - - // zeroArray(SIZE, c); - // printDesc("work-efficient scan, power-of-two"); - // StreamCompaction::Efficient::scan(SIZE, c, a); - // printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - // //printArray(SIZE, c, true); - // printCmpResult(SIZE, b, c); - - // zeroArray(SIZE, c); - // printDesc("work-efficient scan, non-power-of-two"); - // StreamCompaction::Efficient::scan(NPOT, c, a); - // printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - // //printArray(NPOT, c, true); - // printCmpResult(NPOT, b, c); - // zeroArray(SIZE, c); - // printDesc("thrust scan, power-of-two"); - // StreamCompaction::Thrust::scan(SIZE, c, a); - // printElapsedTime(StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - // //printArray(SIZE, c, true); - // printCmpResult(SIZE, b, c); - - // zeroArray(SIZE, c); - // printDesc("thrust scan, non-power-of-two"); - // StreamCompaction::Thrust::scan(NPOT, c, a); - // printElapsedTime(StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - // //printArray(NPOT, c, true); - // printCmpResult(NPOT, b, c); - - // printf("\n"); - // printf("*****************************\n"); - // printf("** STREAM COMPACTION TESTS **\n"); - // printf("*****************************\n"); - - // // Compaction tests - - // genArray(SIZE - 1, a, 4); // Leave a 0 at the end to test that edge case - // a[SIZE - 1] = 0; - // printArray(SIZE, a, true); - - // int count, expectedCount, expectedNPOT; - - // // initialize b using StreamCompaction::CPU::compactWithoutScan you implement - // // We use b for further comparison. Make sure your StreamCompaction::CPU::compactWithoutScan is correct. - // zeroArray(SIZE, b); - // printDesc("cpu compact without scan, power-of-two"); - // count = StreamCompaction::CPU::compactWithoutScan(SIZE, b, a); - // printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); - // expectedCount = count; - // printArray(count, b, true); - // printCmpLenResult(count, expectedCount, b, b); - - // zeroArray(SIZE, c); - // printDesc("cpu compact without scan, non-power-of-two"); - // count = StreamCompaction::CPU::compactWithoutScan(NPOT, c, a); - // printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); - // expectedNPOT = count; - // printArray(count, c, true); - // printCmpLenResult(count, expectedNPOT, b, c); - - // zeroArray(SIZE, c); - // printDesc("cpu compact with scan"); - // count = StreamCompaction::CPU::compactWithScan(SIZE, c, a); - // printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); - // printArray(count, c, true); - // printCmpLenResult(count, expectedCount, b, c); - - // zeroArray(SIZE, c); - // printDesc("work-efficient compact, power-of-two"); - // count = StreamCompaction::Efficient::compact(SIZE, c, a); - // printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - // //printArray(count, c, true); - // printCmpLenResult(count, expectedCount, b, c); - - // zeroArray(SIZE, c); - // printDesc("work-efficient compact, non-power-of-two"); - // count = StreamCompaction::Efficient::compact(NPOT, c, a); - // printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - // //printArray(count, c, true); - // printCmpLenResult(count, expectedNPOT, b, c); - - // system("pause"); // stop Win32 console from closing on exit - //delete[] a; - //delete[] b; - //delete[] c; + /////////////////simple test/////////////////////////// + //printDesc("input"); + //genArrayf(size_INPUT * input_count, input_, 9); // Leave a 0 at the end to test that edge case + zeroArrayf(size_INPUT * input_count, input_); + input_[0] = 6.0; + input_[1] = 1.0; + input_[2] = 2.0; + input_[3] = 5.0; + input_[4] = 4.0; + input_[5] = 0.0; + input_[6] = 3.0; + input_[7] = 0.0; + //printArrayf(size_INPUT * input_count, input_, true); + //printDesc("real"); + zeroArrayf(input_count * size_OUTPUT, real_); + real_[1] = 1.0; + real_[3] = 1.0; + //printArrayf(input_count * size_OUTPUT, real_, true); + + zeroArrayf(size_HiD, hidden_); + zeroArrayf(size_OUTPUT, output_); + //printDesc("initial hidden"); + //printArrayf(size_HiD, hidden_, true); + //printDesc("initial output"); + //printArrayf(size_OUTPUT, output_, true); + + //CharacterRecognition::build_network(2, 4, 2, 2, 0.1, 0.5); + //CharacterRecognition::train(input_, real_, 10); + + /////////////////test with image/////////////////////////// + //load the img data info + float *input = new float [character_num * feature_num]; + float *real = new float[character_num * class_num](); + + std::string filename; + std::string pre; + std::string path = "D:\\study\\2019fall\\cis565\\Project2-Number-Algorithms\\Project2-Character-Recognition\\data-set\\"; + //std::string p; + //read character_num times + int real_ind = 0; + int input_ind = 0; + for (int i = 1; i <= character_num; i++) { + //set the whole path name + if (i >= 10) { + pre = std::to_string(i); + } else { + pre = std::to_string(0) + std::to_string(i); + } + filename = pre + "info.txt"; + std::ifstream f(path + filename, std::ios::in); + std::string line; + if (!f) {//false open + std::cout << "error opening source file." << std::endl; + return 0; + } + + //class index + std::getline(f, line); + int cl = std::stoi(line); + //std::cout << "class: " << cl << std::endl; + real[real_ind * class_num + cl - 1] = 1.0; + //std::cout << "ind: " << real_ind * class_num + cl - 1 << std::endl; + real_ind++; + + //10201 + std::getline(f, line); + + int index = 0; + while (index < feature_num) { + std::string x; + f >> x; + input[input_ind++] = std::stof(x); + index++; + //std::cout << "data: " << x << std::endl; + } + f.close(); + } + + CharacterRecognition::build_network(52, 10201, 52, 25, 0.1, 0.5); + CharacterRecognition::train(input, real, 40); + CharacterRecognition::test(input, 30, 2); } From 8bdb9501d702d01f056c3b296f1e16067ee52688 Mon Sep 17 00:00:00 2001 From: coffeier <834986610@qq.com> Date: Wed, 18 Sep 2019 19:02:19 -0400 Subject: [PATCH 03/12] extra codes and readme --- Project2-Stream-Compaction/README.md | 152 +++++++++++++++++- Project2-Stream-Compaction/img/after.png | Bin 0 -> 16556 bytes Project2-Stream-Compaction/img/arraysize.png | Bin 0 -> 82394 bytes Project2-Stream-Compaction/img/before.png | Bin 0 -> 16669 bytes Project2-Stream-Compaction/img/blocksize.png | Bin 0 -> 89496 bytes Project2-Stream-Compaction/img/radix.png | Bin 0 -> 7272 bytes Project2-Stream-Compaction/img/scan.png | Bin 0 -> 26482 bytes Project2-Stream-Compaction/img/up.png | Bin 0 -> 23056 bytes .../stream_compaction/efficient.cu | 41 ++++- README.md | 44 ++++- 10 files changed, 217 insertions(+), 20 deletions(-) create mode 100644 Project2-Stream-Compaction/img/after.png create mode 100644 Project2-Stream-Compaction/img/arraysize.png create mode 100644 Project2-Stream-Compaction/img/before.png create mode 100644 Project2-Stream-Compaction/img/blocksize.png create mode 100644 Project2-Stream-Compaction/img/radix.png create mode 100644 Project2-Stream-Compaction/img/scan.png create mode 100644 Project2-Stream-Compaction/img/up.png diff --git a/Project2-Stream-Compaction/README.md b/Project2-Stream-Compaction/README.md index 0e38ddb..ea38600 100644 --- a/Project2-Stream-Compaction/README.md +++ b/Project2-Stream-Compaction/README.md @@ -3,12 +3,152 @@ CUDA Stream Compaction **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 2** -* (TODO) YOUR NAME HERE - * (TODO) [LinkedIn](), [personal website](), [twitter](), etc. -* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) +* Yan Dong + - [LinkedIn](https://www.linkedin.com/in/yan-dong-572b1113b/) + - [personal website](coffeier.com) + - [github](https://github.com/coffeiersama) +* Tested on: Windows 10, i7-8750 @ 2.22GHz (12CPUs) 16GB, GTX 1060 14202MB (OMEN 15-dc0xxx) -### (TODO: Your README) -Include analysis, etc. (Remember, this is public, so don't put -anything here that you don't want to share with the world.) +[Result](#features) - [Rules](#rules) - [Runtime Analysis](#analysis) - [Extra](#extra) + + + +## Features + +##### CPU: + +-Scan + +-Stream Compaction + +##### GPU: + +-Naive Scan + +-Work-Efficient Scan + +-Work-Efficient Stream Compaction + +-Thrust Scan + +###### Extra: + +-Why is CPU faster than Work-efficient? + +-Radix Sort algorithm + + + +``` +**************** +** SCAN TESTS ** +**************** + [ 25 15 21 13 27 28 36 12 46 44 46 45 42 ... 17 0 ] +SIZE: 128, NPOT:125 +==== cpu scan, power-of-two ==== + elapsed time: 0.0016ms (std::chrono Measured) +==== cpu scan, non-power-of-two ==== + elapsed time: 0.0009ms (std::chrono Measured) + passed +==== naive scan, power-of-two ==== + elapsed time: 0.106496ms (CUDA Measured) + passed +==== naive scan, non-power-of-two ==== + elapsed time: 0.11264ms (CUDA Measured) + passed +==== work-efficient scan, power-of-two ==== + elapsed time: 0.077824ms (CUDA Measured) + passed +==== work-efficient scan, non-power-of-two ==== + elapsed time: 0.095232ms (CUDA Measured) + passed +==== thrust scan, power-of-two ==== + elapsed time: 11.607ms (CUDA Measured) + passed +==== thrust scan, non-power-of-two ==== + elapsed time: 1.11616ms (CUDA Measured) + passed + +***************************** +** STREAM COMPACTION TESTS ** +***************************** + [ 0 0 1 3 2 1 2 1 3 0 0 1 1 ... 3 0 ] +==== cpu compact without scan, power-of-two ==== + elapsed time: 0.0012ms (std::chrono Measured) + passed +==== cpu compact without scan, non-power-of-two ==== + elapsed time: 0.001ms (std::chrono Measured) + passed +==== cpu compact with scan ==== + elapsed time: 0.0075ms (std::chrono Measured) + passed +==== work-efficient compact, power-of-two ==== + elapsed time: 0.18944ms (CUDA Measured) + passed +==== work-efficient compact, non-power-of-two ==== + elapsed time: 0.287744ms (CUDA Measured) + passed +==== radix sort ==== + [ 20 60 29 31 26 25 58 45 63 56 44 37 45 ... 40 10 ] + [ 10 12 20 25 26 29 31 36 37 40 44 45 45 ... 62 63 ] +``` + + + +## Rules + +Scan: sum the variable together + +Stream Compaction: reduce the operation count + +## Analysis + +![](img/blocksize.png) + + + +![](img/arraysize.png) + +## Questions + +##### Can you find the performance bottlenecks? Is it memory I/O? Computation? Is it different for each implementation? + + + + + +## Extra + +##### Why is My GPU Approach So Slow? + +this is because when I first implement the work efficient approach, not every thread is used. + +Here is the up sweep method in the algorithm, + +when d=0, we need to deal with the whole array, + +when d=1, we just need to deal with the half data of the array. + +So, to solve this, change the index of data to be worked by GPU, make it jump. + +![](img/up.png) + +Here is a comparison for before and after changing: + +###### Before + +![](img/before.png) + +###### after + +![](img/after.png) + + + +##### Radix sort + +just follow the slides from the course. + +![](img/radix.png) \ No newline at end of file diff --git a/Project2-Stream-Compaction/img/after.png b/Project2-Stream-Compaction/img/after.png new file mode 100644 index 0000000000000000000000000000000000000000..d8b2c83eb092ccc477afaf09cbe7bf474a39ba42 GIT binary patch literal 16556 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 literal 0 HcmV?d00001 diff --git a/Project2-Stream-Compaction/img/arraysize.png b/Project2-Stream-Compaction/img/arraysize.png new file mode 100644 index 0000000000000000000000000000000000000000..174f6ed62cdc4e5969095034389efc8a992a0f9c GIT binary patch literal 82394 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 literal 0 HcmV?d00001 diff --git a/Project2-Stream-Compaction/img/before.png b/Project2-Stream-Compaction/img/before.png new file mode 100644 index 0000000000000000000000000000000000000000..648035b67889179876f988befe9949f85bc08382 GIT binary patch literal 16669 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 literal 0 HcmV?d00001 diff --git a/Project2-Stream-Compaction/img/blocksize.png b/Project2-Stream-Compaction/img/blocksize.png new file mode 100644 index 0000000000000000000000000000000000000000..59341f39957268e3a2078925b7f73bb0d037c406 GIT binary patch literal 89496 zcmeFZc|4Te|35z6cX!-(N?MhzQj#T9jHMwh6h>JhWKY@Mwq(XoDM}38)<{Gn`;c`o zMp;JL$1)gW%Gky*lb9Kd;d@Q=es_O<-|zpwKR)O2DA!!qIj?h_*Lf|^*Xx{fJ-cqK zzvHh%e}O=t9apbhG6jJIdO@JAj|8^?cecD~7vul&H`TuYD()1g0YA3h)rIPUK&7$U zR~`QVe*gLR6)S%b=m?nqZ_AmR888rN9d-4RuK9htSstR>))H|7HkzN7cgG!;zm&b6 z>0ZMKfV$)}q^jDiX#`3Y8KM|?#I?R*hiNz|O0UHE=( zYGNU8W#44a5O=nWGt52LwZ^Cz2zvp%Fuy!#6YSlxaha)?vUB4Kr1~*n^D0*)=l6}v z^D)X2n>XDb^T*FG*QJdFHm)8Va@5?o0`>hb$qimM-1Hi)(&$_ zV2Lgcm0ag@T6yjVAETSubEJZXI<50c{SiCFh7Gqg+@Bq;peqXd*#=J}(!P8MpR??4 zs|lo^A_dK-OH$@Qpyx)wTs7Dsd?qUUO{tGpGLjj z(_`b)mZW&WD9N@Qa|>;H@w8G>^;%P)Y_UFuy-SBF)ITS4>`1W$^wFa679si2jADDU zu^mK75D z8wkrE<;SD9K0~%p$|omew)xBiUc9Rz7gUC^v~kgHR&^gt`@)JkZ1=P@#ZTC=smq}8 z6rSaC>%*t4XB2@MuBO5DrlZe13>oL1e%D&~erSqWHjfp-`y@mz7?7xkG*bAz`OAS* zFTX1n-Wamc^%22Cce|+7TN+kHr#kSCazV}tu$W0ZvF6oh%16P`++3IH_GZ(Xq~H># z(~oH-XD?g?$nVZkLfdVbDB1UBrG!{c2>Qok+yP*yU1#1B_84b5>%Zi2j$|q&TibuBT9OcOe0% zp43M0GNK7<`?r?38c-bdus7{c9t3sw6z7vhQc!P7v&w4$>>B&K)^eb zGm@vi)}scO;4D>DcP7Fr^|h!)PPleb{b#7~*QIMnWr?Iq-NQV%Nr+U3;WXILfcSO^ zaeA%De4gCn6Yy#Y@s@UL;NxP?INMen9W0W8swFq8HvO&+IB8{)R4BmcBi_RyS@6O%{ z9z|S)ct^`U5klulU#a9wtb zs!!0n$d_pY!2pF?8E9wqBl!ouqEo6TIf&i;;}6FO%+JLy!avPvQD~rstUWouH*8Jt z-ufZe04zuz&&m+3!Je(FwQFkAPwC8kOlvrM5NIkn+g4QY$rZfOJ2L>}(DNrC^uJB2 zC^%{g_8zpL-3c-}(i4CTh&W+%*PJR;4AN8W^e|o3{>R2Lo_Y0$;&ujUf=Z?Vo20x2 z<8TD_*f?DDk%srvCN;gM1K61Pb?VeSGkfIkC^1KsF8CC}&;M-Ds64Ex#Ut6!(?)2Y zm5yF1q=$Zd%_}v$nXu!dRo$n38OJB_v)+-uubWEUVB%S}_?j87qTZI&_KG2Mj>Zk< zG8ti9w0KsS%*E8UsMc}Sn^lh>ZDwmn?%}(%rs&6zUg8CvTw<)-s=}JrpvP?m3bwve z^R5-+Obj=*5Ak}U-fZmdyiXgV__Eg1%0aTRlU7!Y(M;_zZD-D1W}hsDgl$sIT05vk zoEc2IYHRPj-VDcAK!`2;R`aP>JueoPtx4>gQwUWv5_`^SR+VSF@M;EzGJ3pa=Cw@9 zW7I9?M=^+@;PuWm@gP!6SArI@tq0k1gpD^?WehTFU9H)qYV=i1VDprOd7Y291hrbv zxHrgz!!%&AMMynvY0#={I3zu)t8C;BuSVrhGUYjjeSqs?O7sQY4B!j#gB2-Wy7ecW zCF(X)w_1aJVEHk<=FG5YycENiDpOS)x(|HJdD*ckbgo`Sf@F(3D3NhQ+mHiKl1qwB zyVjcvNc}4?W(Kd!p34M}IpKmR-OpXI4jBR;K zBh>1bBy&#>Z@81xwdb80!vPt3m&HW!Pf5I#X2*zjxP(SnWGFndMH15a4yvi*K%%;PwPI)jw4m4A9YQKJ6={2g#W~Si=d# zMe+K^ttIhA^=q!r!&4?H68;$;eV@~*RMTPo#CdSJmrzIwIA^K5q;$R)&O0 z2!N9KuHiR>ucOC&ZYK&Y;DfMZ5qjvfz4JcQ8XDMWDX!LS0MV;h>60Sn(CFFrHqm<* zvdk;y{n~w7vGZ)n;v#8~RcvqS8Zour7Y zu_fU{D~W98;gyQ;#1*n{H=9^46A1Z>S}haEw-D?pq*tFZsf<9mOm?z~aEm9aw%!|0 zqKB-r_RvpxIj+EQuFrfU-#dg!95WO`7945_;- zbMCFZD)}81Mls&uZxp$sNwZ%mfG(T9J$$-6iaS|B zyD-jT{Q>ZtueG_(uSf)+txrZyhcng*7%9>yvrLH?DBbyF<$d@oDVB>~o^BW37ooKC z{rZ*%qd%;sNdEX*TuhYCok$GkZ1hOSBSutMY?^d>RGKJCOclE}-G!|;E4?)$J{y{` zw2t~4Z3ewiPuS5zh@v3rbVK};e z-JR>c>8(Z5azRGa)EDseB~DGKSIt#u8?>7cbgB0Q+her?IczVk0@aCmM7JrvUD??m#a&zOtj z7+%vHGTFm^d{kcBjAp%yDX~6^7{zPTj#pN|CCK|ofa$8tHsi59R!Nz#q7$RFp-_o& zPNodL9B@s;Cbu|R8Cq*vp-Ea(0wN@Pd+%-+Dv#b4IIQapA6vqQiUwq;^2nu&R#{^y zfy}DTAQNvbL)ARGiL4jg)5B~Y<41S@E|H>DX#%ahYhC~RLR~$vvI*DUMYkh9T;kY8 zSji+5!%Go7B*o7T?8lV}9k_-@43|4`xzD;@+NkCGL!vx%@8X)Y6(quQ2koIGNzgYL z0KytwLF?Sf9?NMuww@Woni>V?Q{Z^1NtW0)toP{v+$lM2?qRS9Rd}6|)(fZb-Af*}j2CNaeCn^lsfTu!UVYk?PAbk-pK{7z z?an9&;605>iwbX*AgWvNkcOW29PU)HVkuJnM2&n^$9&ley~d-v>%F)Wj##C{d6|Xi zwUy&4SOaCeCxY5$Ft(6&#C z_Bgv1ZKVpV9g&zDN^J7>H8LdP@5kC@$d8_2>m!!!+Q#eksfZabrL`~wWInX?8jOeB zvp$M_ZQQKJ*3z42qIjCqftjH@o7Q9LH*n0lB~R4CiAqE_vwfsAx~tD)d8ul}SNsy~ zmguEoi6#}aPgt=;KvS20MpfBJrW0jqV2=*H|Be%GVr}&4gcBuz__kR8O@KJe3vL|p zdL-2Kz0yU-px%xeNU6m9YfNAO+Y8M;*U8N4rq|7~YE37> zn1CA`L)Ffs>v@N@bgj@rs=#>!%1&M=J_g{zfqrJ~;o=i0j@K|7^Z?8UR2RmCS4UzV zGNRJNcxx$=dbFHd=JA~8X~yYd%Gk9fq}Zq~DrCuu8WIzhtrbw~n4LhLKOxA;Ob5VhbkDkd)T{s!%?Pn(E9X+8yuU) z{+vk>ctZ?y?e)gGMa?~2Z9B2KvQNRiFSIhUw=H+JBP?4gg=!?`m&bSlSec~GC%Qs} zok{c{JYh=o*kd6K^MkHby=bKGt$2gEdK&BkZE$DJYqynCa=f*JUf$hokt|5Sup6$@ zBn+Lqq;MS7r7^8`iW4Xu6eAWeloNqXO746jgFjbnj|n^r$pAe#&PPU>gdK6P7%g)p z^46I^>9@z$24mAsLD%m4$Z5m9;R56n0C&^fci(Ti+fgLVrk#~V3^*daKFQLR$k*w8 znfUTPnHrBicF!?E<~ehME%f6Hq$xLbeECMrOSMk5UUS+~OGjf4jQoJfIq2^t?d@kw z@EdKiJ%#D&D@Qa#7gjX0Qb(>cE!;Wb40ed4)0C@&Ac@N-om@5Vw7Ee`J|785kL zi7?}BLgPw~oM7wXGIJNxyYn0=S_#9py&fTMI5yXldR_B?z_P6zQ7tWmsCGm1z_uQ= zgu)aPiJ_>Zu8zLcx|3Z_&C$ckG}8?z)W+2{Tg}RF&#rRBfkbv&Cb!bYGfcc7bnYl8 zwDguSje{Aq54Ynaacf?1(_MB`XsCrO%I|3?#PH&Z6ka39>*aX;9}j|M_(9Bbou|}@ z3q0YWTg~)sm`^>|7`(Aqn%lmNs(P#mN(>wbFwg|*9T72@G_q#%>C0OiTG`GT^fr~x zD~4cX*0vqEi+Rw1eA<-alds{jkiBQxW7?HxpbI&E;2qhi;<3JMbK$v;-sX{nV38?5 zCCr2jqF9Lt9hper8bP~yOus05YAM>bWpBfLpwO-N(3hPp-zw+ddH`+>1Q-{|TMgfI-AM~Uc+*<96_6ey zg|&UI1r;Ffq|<^+lv~3ta?hLB-4R7OYqeq^P|9UgqcvN35Vi&psHUbh6+l=o9rt9l#89m_st zu!wYFXOYJ)j95YVws{SV*UQ`IO^0K{N6cS8zDgE9h3K?%yub)KG%>jIXjOWnT|v%e z#u-(}ls`CKAF>}s?>Q`tPDqMLz1^+#lu)Uv@y@>uuOd3hL7E=czLN3}myxl^@uI=c zx+l=DpDY(;A9+Jy`nQQZ8n1u1O+(7x%fHV9u7vV;+=aTQJj=R2NRcok^_Vk)5(jnK z-Vj-SDN)Yd<1h=$;dkMM{;BoP4REz;f96NNfOo-cX;%BWo|m1D!QOh1;OU-0KQx<))8IF4~bI;Op zvgQ7`hAoyxxkO-(oO^0g9M~(zd6^1W*{KzEq%K2CB|n3pw&Odf^KD{f(I<`cAMCKu zj9u}%MytI?fJ{2o`Z2X;p8k&c+iegr{K94`_rvI61Fymif=bN7-@88y0z5I8a~Nc{ zIEDo&c5#@GBY9vb_p1YfzRVKG*l8(=GO`*xzq#AsD-l9T;-v0?V= zX!!^+=IWZ{eo`7qC%iapMA+rYh$i(e==>SLfZsd}y0cq8)vVri4g(2H13cEGF4zs${MrV+5o6i9lmQRTSvDuU%V95#Z=LX(QjENGn@!1h4YlqJ|8w;ew|n z1EG(RNrJsbt~fO0P7RdkxvgX9fA=ZBan;H8oT?`2x*>Q8!^XXoGk#ozhGd-}imKe{ z{=KBF1b>gO7#WUzk)hjOz$xl2@qz@cq=lLnTAlM{zO8={O~M%&BcYqcq`j@GvdV?;pvlv{$uBfO+hU3=PMOi_Wx7ig2;-j1S^O;@C4q>m(vP^{Tj2q^d5rJhcc)*+uHn70FrKbtm@?S*j_Fv7 zL7mTPsdj7lZvt*{Ks}mS=}BweKzt$u_w;Wo>3WRXyM0vgxzj{%E<})`sBMN=zIr1>7zFCzryxFG5=^f>Ign=u{wD$(eAd{v z%r!x*f~-0n6XP4k*pLvtKXqsHtkz}0mGn&sDY?6Q-&E(Z1aD(xS%*-5fOrdQ$Z*al z&d#iK2TE*-73Hy5LOS;>ty*3Y5RY>7%6pT>tq~e1wF3{KKP1G)jkIFhRWp$!HIW); zLs2FYC)5uZcx8QBE0C9nziJ-uFRg9nts`s$z4Rr~M!)!IoYMKcZ}TOm zGzDFAt4;H?&xdO6OxFrl;F{L~xe1t3ml+ENBUq_DEpG zE=*F?V;f7nZofKm2{%)v*eE9vU)`cm^U$&$aWCMY^18*vAy|oA*|@Tk+MHyeLSy~e;C1Cj`1s`JK4t9c}H_=-vxM5 z#l5o1UtjI>3nBj2PzNl#H6%o({f7EmGxW9Digd^;u(}_Nb@(7^8}DM+NJcH76W50; zeaW-ivkSvsf!8-g0_r^(V+!@DRyCs!_*S zFYlK?itZ4~D^`wEpU#XVF!g#EV?pnHqY!7F(OcAU@G)4L$GiD5nJraGGd)Jy^PdVEa~`S~PIM7uas?p?s1H)g&U!QKr`m8_aP<|XYzM?KX zYTYupld9|~c9PtbcHFm7fpajc1wk##01N~HI_e0dc#AWz#lGp*fL`<-{b4o%y`T=C zKt0H(V01b?hN=NqO1V3ev}qw6i_zhWni4l?ntiv|`(vmn(T0!1Fun| z&Dynm9v;q~F(K#ahUc18`fso#A<4^He&0XPd|q;WFPCR~=BGlS5H;d>FsHs0A_0|R zOZHa-n1cD*G1i|3;L`!R0s?`vef zA8qsHyNx`E(1uk!-Pu+4j{)(83?v`#NSFf$Njy6gImjlgWCLn&SPwG*E#ObR5xq?> z#v>!4^Q)CMCz8jX^;kd2NxmW&O!dA^EWQY3+mnwCXhak4T~ZA$@zWR%3t4XpJj2m8 z5qZl#^Z6c$_&q;u8O7h);AJkh74=o?@ zI1%hD9dzb+=s@{Y6M!Wnux=Kn)|9idULj0;l4f(_n?W#%pBMm`#zoOEr4RN_TY2sji&B5V|GzA zd}9jN>m{~?%+}tYGk7u$tOWpiFhF8j1Ew%NhnYo~zTM^v{e<;FWF)hF``%Xh_5qGT z9p9DunbjT3KK*(5roFv+hy}=Df}d>oJhApAR_+t_o@pZ^(fjRL8m~_Un0!Z{)I`Ag z?l2$?Fk77VWEbKBsQ#kVb2}R=UpOYGsbO=XZ!!dapLuw`FB4k>f7WGU?_<989yMvZ z&Nc+vm)w*t!*`3R=6`|kJ!<~KH-)~Zt8a?^r@)g{A@R-@$u{=5xswQ_V+7vI$&|<% z(bOM$*VyXSs4Oh67{pcj!r-MK;g3^Nb-#%7lSeD1o~hG<}Uf#KM3D6j6$f60^=875sc~Lgo(nUm|UT z6VrzRGVNRW%vUnfWcbRd!_P80QVFHcQUk7ad!y3&vn#)jsNU}Tss?`sELU^H##2>4 zS9n`bXq&}Tt^V4gPgX*y>9hv_uwXIYF`9gx-Z=>@DX_ zf0f~Jd^qfsIfE#pKh*gH(yV+^JTt3Sm;iv8nX%g1#a#|KfA>LWEicMt409m&s=b*X z(@OIIRed7#8qyj`@ruBBkF!1Ey@0f#SD-i^wdgQ?Yz-*@O6A+Fz4GLg80Gx80n)As zX}u!l6W&V+-aA!ypbfxI+pwi7v(U1CHek&PS>4?!ft5Vm#0S25Kt{j&towksC#yz9 zLPv@i_iA3-cTTS2CE?=LZ6hcc|JYD{ulcSRk@Nj+BC=6-%A6L2)~&y*uTj~%Xlo8z z`a8kHps>t-It|`sH|0e0>B1g!7wD1)Yp-NvK|p~U`zdXKa~!$)G8a&>(?qy2gn-fepO z(Lx|`oX$2y^UYo~K~F|xtvG=YGnBh@E_<{()*t8JTTNU}t9@}$wLNaZSIB@^=exLD z?%?D$Z`pL|vVo+U3FO^g4^uZ>Q>f$}O7tPZCa1*4VFNF0>S-$UBpb?MlGzHxDTOLY zM0YaxU`OGA61jr!nXHZc+L+R3w>H_Fk~qXY5- zBHW|(;g(~yx5bHXy|JN|2giM)O^{x+vcjey6I$I<_Z6iY=YaRBb(t@(Auz z7G4x`8l>yJI>T}qyUT0RZik4fFa(Yo62FAvL7)_1B^wlN#fj-#Vpe0i7bgva4&OlQ z!lV~#-l(*8r0pWz!VO)wta+x=y5rd{rpaG~>}|GPvfvKC|HPX~8+liqXugJ#uFzU6 z$|>r?5&Nd7xx%Ao6KkIh=2bI<${?ju{&dBY60x~5kYbqa#cfvC6vRjnSFLGT^0d@= zgsF1n*vHfT1@F5Uo~mp!Jgx-6-fj-F3Hm-{mg9rpEJ&cPSjcq78SuW^`Aa{qWW zez}(%3PU6jSnp_ohuxH^jH__85T(jgE+{9Oou9@Yo*T|uis9^I!Qor2MixN z8QA$CNB*L0OsE#;kAc!-WrS&_UixwWEHci4iqpo%DYlQAfa;XFGu;S+JwM;!0# zqXbg;>j#q=!jw+vqfm(67zIwg6vYyP?RmFX`7*2Kh?q`nSS%-BDcP*%PsxlbV&#BO z$dtQ=cPilM_%2DU6t!h>4|}Yh)8-roZ*hkBzQ!;2VCyILlCEp| zXzg2<1kb|Ae?RXML!Y$u7@NW-cpK<7V<^nQ#hQpFHm7DSAV6skNsK;Qack8kF9r|a zd6ezuy}YD=;YlzLl2kkVC^n5iK1BDn`79-rdt}%M&8(LJ$8FmD9Wcmt%tWNd9SH!^ z)gB^Lnw$#yt=bD&T6JyFsg2(lJUD)=T#3ayq-%*2h;~Xdcz81;DO6A68l6PS3*}b71<>!MG+9IjfV}mOi(1gsn^dC1 z=$1X(YDmGwPU}M7v66ZazP;ExbtTWMsSEC9sE}4Gv&iM<1Kq0|^P1*QA{a}-jHUkA ze!p8_KjL&K_t0-56_((&vOX^6-!SR+`bwL~{_WZg(`gxRBJ1wa3r1yAp%s+;Mh~G8nEo z19sBfrz553hUm>K_oCLRoc_E*4Fp)F0-$H48bSUW&HU8~Od7r?32rNv>WNoxVmZcn z+<522t>tegV%5GGqUU(La}uL-&y3=T6-A#aPFIDP*XiFK9AR)eu$5-vqk}?NU^Bqf zTxi#Xw={H|4fR}C_M`kk-iHT!X9clM`VQ+F;l5>`8c4J00$`m@yxKoD+5=jJBP*$% z*Kkxj-2SF8j^-q`6AvUVPE$4UuqXEEQC{dOYVML1n(kDWlWh8B&py&#t|A*6GLS21 z7P$rvY8eJj4eGdMn0Ku36L6 zqYJW%&Mu3&isLIOs%{uy*$|DZ$eJM$n5#3KxXa!zZ!!ny{|6;{+<Jtbd`K1qUa_J1h8~1Iec((g(K92`-8UfBj zpB_;Y%XGEOYfJ#JT_^Pq$0ddK;m?yLNRop?bz_rVeZ*tVd|1?MeVj=+3leF@;{cGM`WMsghuWlkHxO! zyfOcz49<0~rN*v?f>E_Vc6rCd*h0TgPJn=W>1!DC$v-!*@$`%eai1!K4ArWuuw9sd` z=ukW1-HaBsom{fI(S6O&!I~Qp1)*@B8f^o(=f`XY3i<_p*DUTW=}Ur%1BF~LLYg0rt|e2tsvdVe}3 zU*t@EBCAJt4Pq>sFm||;n)#iq(?RJ`Q5nr#ycz(xb`!~++?EwOQ!E3%n>f8BRH{U0 z4!MEnL#dlN(M)oiCJpe0i5v{)%Qc z;Aue0e9HzDg=|>tSg!A)Yccwa0RU$~jXzs_elnVE{D;}0Nd%!0`8%lL+^-MVhhr!F z>8d`bK_DT1LR^a9%79vTKtBwFU|5L0_=TYIm< z9uhonH(#Ib^>ohN3D|<4jEKk>c1SlZ-<2is@*Ckw#0~$457wb zhcV}I&jvdg69PpOOCcLo8$5UAD3wgdyxyJ&?_XijNrtgRK+TlsF{8F^`*QGW8`VI9 z9~b}F_cah=gxsYWIx4a*@imwi*pr5Mweo}ls68~9f3yWC{CYQ-e~cDb-opyOg|_SL zRI%iys(PHV2@;x@WD>E64UGY`3iD_0f$rah&;5PU6FFSsc#&)Wd7#K9Xy`O`I^B+f z6#O9VApD=o$AQY%5z}n`_}5Vi9~T%d+y4B*r9GyJ^bxCcH#7|dDm>=6@>`VSu$H60 zP?>ga=V@p%9R)|Sz5hkXNGN;s&(!SHMP=sB>TDT)7Wqfvw|R|K;E>klKJNOml|Lk?MENeR00s3dpk`FEQ$}ztMKs8eZ?Go1MxCjY#w+lkS8oBenzz;GvIZQm)mNjqokKPI~l& zP%jZ}A4bDw-Em6^+9U^@irAj3m5byXd_aOKJ%{{;P6Ovu+}GP~E8IF0#cCr zNQu*kL1oCtZ-e!^AJ>*#*?*!6)66`phgaEa<8D8^2XgVzKR<uCZZUi4=OU83u-cXz4u{_=Gfg>N?pW-RPCBGt+7;bjA`^D5=khM(SkYZKEs^s6yTYhNDlS8q zptTRu&$^xgE0W%n(uSL}tJk&9qlstM-(x|&`GE-=q5%>e$|Ij7a}1Zi)!FGRPp~f- z6%3dFP>5d~Zo`XP1*T9=`5G5C?trqRG`g8#Hri*q`Wx3Xv4?-9bhX!xrc$M8R`g%u z!$TK4U?_bFOchr7*Qt#hH^CaOxa9v;oSALEl!C&8Wc!eF}YA1&!+`aJ2gB&cO zYQ2&D$f$OpXY=(kOSiu>gMDL8TwE}fs6hce6bF`XzNf3_djE1mojGZA$S%&RThnRt z{@LAFf)q?&`>ax;9qkM%u<2+0w{GY~{WUuKQG3*Y$)?^oI2`CgEq>E!jhsYjmXunF5IS~YUJ&p9COB`=AmeJ0^rkj8oVQyu)>c;P zzsS5o`$%JdZ2xDV=Vw2MNuw`?I}9td`hkP*wP9Ns1ECU|7J9J`P;@o{@FTjKo)C#RD@_9;Bk&KEp4PucEagF#M z@WMAp1nkIR)z+E~Zr^l(p_CE^L~if*q|`(B2NH*NRojXDrQZ#?Dl$wAXXN@mo9ikH zi{m`?YEvYloz^$_ety6si2qhz2w+JOS$^Qo{tD#L-cyejb09_8?^cfe#=3cT@j(~% zZeO+MNVQ7sT5f2>j$W$&Mz7}woSB^fKVkR0;JSBi&}C0|_(96Er-C_uGgJzLA9t}D zAQ28y??mrm?Q?Z@&Ii{J4`x(x*Ewdwn?Bv)m_DOJU=l@;N1Q509_uX}y;y6>q}>u` z3+CXD5XB&sMexqWT;FNQPVE7EiU9v8>Cny zsNAjBMfZC(>|GH03@j?>0rT^g6^Iki7oa^26It z)2;R6-EK%(Lq1OG1_;NG-p1HD2`<0#ji8a~Goga#HxW)ll=_-0AUA-x`lA9by|fUK z4f^e?45Xd@)gKF9R*#W4igl#c5__>7KLL})B|s5twF!1{!QGl!Mg@%X>XRp>%n|pO zQX)f40sIrh$%&O*CjT6lLakY?Sq(G!`N)_!36Ci*v1iL~yKNpEH8xIN~h0yc8_7FiMuL zH~W8}F6Tn~b3BKd`xMHj$jK+eobk!on!bP=W<}X;XRRMALnco%6{-LYV_&1VCvc{Z zKVsddFaq&$%>NrMYb1WnSTj}wbb3CL5^o!uTJN48`1qyXf@DsRkMp8&tV8W>Qvero zia6IZP@^==^9R2IKmf5FDvqEfu8qV~x{3{<_Nx7wAC0m_U)O1UkvMKdDR(pD+PC-& zX4YyoFscyoLcJG-mPfH`R~cyEHruWL1O4^=%^I!@OWe_J82J6o`l(t;)%1RIy6l;v zn%_rd8e@Hi-cP)Dk-n9Y;P{Bamsl7NfcV2YifI8Ub`*Q4mR~E)!mB= zPCu;nLM|{Q3zgO26JI2b1u$|WyL#FXrV)SEP(M6i07qq}Z)oRFi0_yB(fq+l*6eVI zgIzv;lnh8;zvgG70@(Dq+(7z(t+mW=%U7*w%Gj&1ynh(4znheuZP(i9)LGdGy+~xZ zDz(?SOSt6RfaD^-wsJM@fBWLncBw@BYU5)XOXIVC9*a(_B5Ky%)aPiP&`{9cXl&;C zi=_`9&?FcY%#o_>_kZ6>*bYwth3*AfL!sXxGu-R ze#+}rWE%>pN(qYupuvv6t8iw{}YXrmDKyBOb*hJJ55X?u1tVR|(%cmxU}xU+$@s z6vTIpQMS$5k^?#yS4PI5?tLXST-`^yk=e1=v1Mq@j54!%D@VC zwK9mW@wCMHIBR{$4N4BWXXg^vzEFDQ5xNz~&B}gXZF_M)|5FkCGC2~@ zYy+Itu>WPa?*1DE`!;Ta+DoailYk4nj9xq=01(f$R^05@0ZB{j-1Xm|#_3DJe6Nqd zB@k$LN!!a>t&4tEHJ;nFm6F!~y}2`e7~9u-?m+64oSj(PdBcLsKl^+GykN%K)Z8Ec z37y-s&j_Tl3}Q9cT;Yzpexm&a*RFkh=yR=HO|2JV57*`O13A1OWwHstq>yhx3xI|oM@V*}qkZlNH=p^B4OQ?vh{e`o58o>8 z|M_)@$@7Z_l%L@3q-(|IOh3>lVV>dF*MVEYb?+BgY~N%+itoR*P;@lE|H5V;cShC< ze#{@X410LI!urpR`wc?9^67uNR_xyR`QRXXEMo$g2;O)yY5N7M0@P;n_T1-FNgwBL zx!UFbE=JmZ@z*DUE&hOD9K9b4l3a1E*#DE#S-=J*7keoQVJob+|LjfkzS*yst=p!c z`DYKAUd(pBXoLmAb*It&KLO^Q_BS@)0s4yu@7`Dx{2ZwY6pqpfx&hY}H7e-;Ng+;} z!xy5TI4a^px%DQ?8iayp$;;h!=3T%G35I)Ai2r=cH{Bn#}RNx*PQ-GKif3?BGazL|GA&@%8sT`W+A^}(ty2M zTA}iMy`732-v04#>mtF8_6||$!|4P-oP|65_n~849JUrEZQXdJ+?B8?kTt4vq7L?ucrTD6qk|&VBx^k9`;A& zR11%v?{fi$DtlzDxGBvJp8-kWO~;b9H%|X@^IWYOpKfVT)q%(Jt`%|{bRV4bV_Y$? zp}gkP9UlegN)}mciofz@;MM*rx89V4hJ@mSKZ-qAltFnEti@Iug;Ag8rJHO&-|Mj9yr5-vs$L9sfr#5p7@aWRpr^$%aq@X54VgIio8D zi9a7?3N}lNcRk^w-Sj^_DmK;g!M?t7%az#mdZ33}1*rd2{zW8HURfCa?DqNUwSAd4P%Z*I6hlr`QA zZ|2^sJW}cL3i!mx{h_Job!5gycO}08j5DaP7JCkSo<`A)HPfH`Xu_^S{NX|lH0}Mv zwQ3-$;JpvLHU`z<>dXkb|Kzv(tMb0Mo!AtaaL3XNG!hW>)r(TuND>ca=VxJ_-^F`d|%;8CHuzvD;h^V0t<^*Q}U@=cIvP`5-z zX}$Jl%--;q2D_J!h5(5sy!?IciDPiNwdC_0?Er4EZSC;7>He?5oYUc3zwv++qTmdj zq}-WVtNj)+h5d=l<;Op9_|fegCJQj-85V8MJx$7U>AN%{tfb8EzRYQ35g_{TD&KA7 zf5i+Xzae!}0pE(U)RceQzjE`KN;K@m`QpenUO;4*N&MO3%vyLoC*=(GOmxUkw^0bf z5?+cF4d9RdJDaMNB3b3Tm0XGt$qX9U^8p6_Ik?kW6!8FqypOjl4ettXQd`QyAMIbP>tt`S|hMxRb z$lRIELl|ppl!^LwzXBI6u*xF z|89`?DcO$ZZk?ZJ;c@%LrE7D>55!dsQtA<0HX9dBQP$-Ea&X8iL)rG#HpB0u!sIvx%r-y2=pj0pe)cPNF`FBCkpKW6 zvD5?fRxBWPE)~|&&yT@8f_@v6Prp;H}nRudGH4Ei~UR_ zy1!6JWpr0xjh($wU}0OfOuBSr2~_vS#Ev&xy++)j4$`&>;@aR ze#;h>G4gTO7~QDsaKu(Uop6!)BL@>;2zN}`S!4lxzUOe=o}>EB-{w@3VOJp`_P9_4 z*M3wERuU8u9vj>bFRJ2ypNL-?gh*k58v(S@8;iEvBA0y@jpM}kZMpwT$`{i^N7MTO z_@9ZK*;mIoy7}#^6qCk91D*S3K(CTTNuRRZHSzaxlCy6lb2xwHNhdHDouqOk?|*s7 zPL25axvZ22|3>7ZIr;^G?{kl~BVSX=TLJ;xA$7Zz4NDm%K+PnuvXmrqX&?~rT^g#a;_C5ZaUd$SCSSV z@c~=J?RMpu{rCQPbim~G0@TlH4qTld+Q)ebkj7doZsKBxD;t>^AcL3CDdDCh)LYPR zz3H4H76)tjq+i>T0Ma%E6`Qn#bOF*g3z~oa{Q8T2*43_R{X^G=YI#V7KLL7L!I%rRs`09`6csVy3}U?C`Az)qunYtW8DW^ z{)M$0fG2hv)gNpDQ2Zm;|Ng8i#aW>jbK|d79f%krxMMe}fqozKzs$#n@k|dT!LoP# zk2VLpqW(W{4BT2#bfZnCFksY_i!6jTes(wh7iZgrWnz`vb1dZf-=zb}^w(c-c6+gf z;pTnWr*^bo!Az~S;wCiD%;aY=*L~r-DPBbbn_a~Dehn}X#!3TVZl+riFb9Bz8!khm5O%~K#QhvR?-EiLr_||XA`qqk@3p$xlbU<#owc2L?qz`F)uq+9S1Oyjl zLEq^AL63wMLYuexWDl+KgdNl#b2n^-$DF%rIZ|DauT#BzfVL2HF1bFG@|>3Ag??N6 z8m7p*&Fm>(X!sQHZEz@H?PD|B`ljzMNmXTg>!Qs!NDW?|ep&8CDU}mlC)jqqi}e~# z4CM~L)60(yxqEk|2?{6Fkk~igaARWY{$VUFd(hrM^m~!X#^!Ihw6X)kHVv1=YmRSV z3VS}9nlvnUvSF*v+bxPxI5V{JKn|UzrK5fQ53%)&d-0DEA3nN`G*nCscFZMX$M0;x(JzlNW zXA!w+cLg#w8TSPln?aJkU%`4d9ajMUBa4n*c<6fx-M?P83oOuga^SQHwiehF-cjp^ zgYfJ)bhlPg1N7Dbq+?)P?8P`$}8DLv9C#2C#_jxl?V;UhZuC;{dtZ3`5x`T2|L0!((tR$~n40zwgvpJ|TIFIeLnW zc|a2@Rnu#@M-8x1ya`;ykWc52vizl!s7e!{N58+fEj0wZ=X>wC0%2PZI7ENlLPjMW98!A zPYYpgm6~pWqs6;}WuK8^DjxoRe%jGK`WjgsPn!o(8?+|R$;l$Ng#RN=gOKD z4Wdmp!VWh!DB($?RTEzKE-BB>95Oqk1Uub0i^L9}6JLVD!Qb+TSS8R^y=xG>3u*Vwpu)sv>~CV$>x=TY1*A+DS;F6su| zp5Pw~9X(RS?aB;cn`TKy57^$|p@ahE@Tm522UWbOxlH?hJqjLvcLsG(pt5JHxzhuc z4F|5?X3s_hiM?o(#V)cWe*jqE2j^|yPNtl1GTx+V+W4mb8fQ(HrPi#jm1>LPkcZja z5raF+PaH4g|L{3ql!jez6FN@sUtW7SnQnIQbNeDAepf<-e5ulxBd5f-$m<=%+Y+$y zRZ8RS)P`RQ2{k$yL;>eKNW>-YD@k~_o_+Ra87U=x&Q;lK#$YCV+Y_sZXAZv~Ep767K-r8pHaBf+{4%P8K%TzC*4q|gc1_9h z3Hj8R()Z>sW3w>_ugYvs54{oI>I1=hKq?|piha6w!|&hYZawnsZjgHJs=L20*9gY_ zzG9w;?vHqX!P)1Bq1G?P)AE&Kj^IYeA0i3dG%HUP@P{y=7@6f${GueON4Q40FoF~Y zH#*yvk7yX9mtFZi7+0a3rS`gRIAv-!Ex65vz&qAO-alQCYq~J$RHhTr^X*=tf^(Zc)2rLKD49M{ATsx40_a`O*5mj zC5P5p!5jXv8izMLAzvHQ^A~PC{cF?$1!1$3Bcua>-ma)-STt2_UwWTwcx3zC4vkj2 zxv8_yk9$|oi-%`+L>eA!RNO!w@(xS&ZS$C}1O8&3*&5LPP2<%=g*_wciHbv6>zY8b z`ydfDgzeb~of107Huv0Bi83x+<>IEY_8;I*3`@yU!%F4dKaq{kSe&V3gkiWU8r48> zlaK@+dOIDJ`GY#JDHk=i=Y@3h$l=aKhTeI8EhRw8LYTYo zf36E-J}%>QQ5l9l!YPu;mSknW0n@^!5!GlAsV5HLz=bPoR%b$EGINs$fhQksyGOu2ZB{c=}?zOD1rTRq7dM|NLK|FLKsodnz})AU{V*I$V^@%w%<&{EbUBYoXsZFEW&J55F?waMQ?9 zU%?gkK!p?&l|7HI?bC|3(+H+ZKIczt4g?khh0o+-qO57cSt;vuE0_PW=3Loouu%UW z3ste<9eFtX*%Umegu*ok9s{HIHH26HP`$*fz|AbF6DPw!ETI;*&prGCF?7V=VBMhy zmjdbfRv^gd-dcdN7ARVyLz(SeXY<1^#ek*$o!yAyzZot6u2N^bd<=32@D1Z2GQif? zw;Gq|LDl+BQthwxlt;-2&&h@jJ1HJUz>Vo0Zv^4y)sY8x6{0kP@y&h?W-9f;ei=$X z)|(W6ZFj6T4mh<(AUookk|J71RU53yk9c}LL2Lhn1*!i-cxy!APw%9p+d>J=bok}p zgQ1YwnH%R}vxOb~0&MZ;*ziX?!ZK9Cn#7HkCMPPpfBRt<+HVzcnupk6sl(UzE~doY zk6S)6920(YD}2-4xK*B4_gH|deD_bIk!qC}V#~+`N2LVN8EYkJfU&dvJ_nwwVosDh{uXJaP z{9;?`1QTX9V}{7~Yr!=cD8IA7n<=7%d3=(9ovq3fF~RbxP^zeMPH_BYMc z>!r_tBP>2R2J+*Dh{!x5Miv>+9w1$ijxr464zQlC_wFz;O%7GcHk`h!hOFJG^onef zl^4!NW~Gj^yUZ`Go2&Y-0N_M?DU+T~Ulb`Yu^6saKwnz%fXL2(IYYC|YYkYR75*>a z8`z-QiBiRcNn|}F5GY{+fk1Iw*zK;-UoBe&Yxrs7?8^xJ@3CkcrBex})JUo6L2SgA zC!v3E=epB2na23g+TfR|^uF7bZw0?|}{J@FQAGryqb{!{0 zlLfM_rOa)0i+A|^_#Gm^D;Dn z);l!up8LFo|Fh*s=4<<8_x?;USqZuw$5U60KxNu$T+oX-4SQZT@EhKAvohwTE-F0P zj*Nf=6!+a(KI_YrSAhqvrtU`H{9DklER5hjnB`myus#o7B;p5t(`tBQ;r#CT(^Hkn zEl6;qC2LzZ5Ieo5p#QbNbVEYKX9WiY90MTeY3y&LF-7X+a5yRYZ+$sy=LU}|(KkHj z9SD4CC~VszLlHqz^Pc1VTpLkPOOgnWfg9z5TdyF)FPjCmzE&gr3= zE7y^AXNStc)dV7u+%mtO;(0shMJ-M*pJfq}E2F22tU)lZ;ocRtdAa|G(Hk#>o_ge` zM&|YtIQTr64PNIjnJvXk;7J~b-_iWmhe8iY_E|nF%uilAZ6~!#{FDL7So^{FQ#i6M z=x;H`7pKVwDFGd&#vi&~DW20@oVH(-wUbV|z{b#92e)lNTl zWNFwVg5QZ0nqg7_1OW7JULLhQQcK4! znZ`NOq<7h5Tcm2upykgQaau1QevKqrwK>E1KA90m{)>pV9h30xWw3VQP>F2xd7tXh z;S3gm9cdzIBHHE!4Dy3T6Kb}3I*T(b9xE*@8@0er2yXH)dulGq$deygb4oUnW}AbR zC7BkC%BCYja}nkJBD# z{34&qY8Hp)iZK=XNPci#(eF9-U;kG)Vi#|Bvb;UL?-$}j&BhG-82193k~&pllJf5- zDEGWoVY=UM&X4Dtw_6Zt2^aIj(Ep?TJ)(8vopXX{hHsl=J5>8McR%W#K62p|jd48x zVvbX_U0Y#(cZ$BL#y0oLt3wyw`;hL-)#}5-2%q;16rM}z%{+Ebw@NHI@)OnjF7H^1 zeKKv&hiRjPA)3|_eWgB6|07z*_i;gfcb~pQLlwSlCZXrh zyDiAnxM??4PS<%F|5)qWC?&u1KwA#u1o`U@%5C|R8pj@>;vitQ+AG(#E*K4W_j zX$H3!oLWd+Ei!$ke}X{jd3TVbI9AhRYTZx^)r%)?N#f|QmVcZ?m_3qyV|XYwb{(?b zx?bB1xYWL~_Dq&C@`L6XxRdR7p#8fCA5C2SdU80B_lUy;-zrGj^UHhDwmm+{?sy%n z>$EzJT6$M)~U~ z?&~tSmF&om_@Izt7!3(@pr!@O<@^r0X1%EBXoPL`P83*by|!`m{6T|#Vi?@ieqEFF z&B>a#?_W8${(N`E>ljG*Ij#mV<-VXG9{#);+WFmj;{ET|Q|dYI9(H6k$`{UBtz_e(WOY_nfb1CK~Y)CxE-3 zVg_JcK!JNT}{#-ke3+dp0PL6yjyz2tG~Q`$Hn*0hl6+(@bj5G^!Omb2QBbR zbG&+VUa{DF%LK6@(!t-GK$}-bPZ|Cs9hC%mEgkXe`w{J+f=>Z6fV+a*hQx(2`;}=0 zvq=_F^A5{|T-)qYQ;uzbKdF56M_bx_Rq$dB{sg&Ld~M?+gtV1Vw|(oM$Mf&?Ac*=I zq|qf0p3yslZ6#P2g{uia1lYsQ>q(q_sORF<>nFK^Ryt!|%nkVL-tPAFZ$krHZd`*# z&wrtHy(w;=VZDhWQC#pYwa56Y3%w&piQeNPS4B9gW!*Bm?d^$-Xa~d&b8~A|Zn(#i z&?)BZCT=<>k{?_Rir3(2iB2wrOFKMITZ8WM1RIW0PN++7NA#w&vm@St)zh(VCJ|!g z&RLGcYvUslrcF#8F2qRo9Eh_!e)9C;|6=7;A^EIVieG_v8&u7{b%%})vZe`Xyxwzz+xTQ^?f)$i?d-9&oRuNC~yiBD}+TtGR4%rrBTZ2=xApAu%;4CTg;> z^HWV-y3Jtiezh8@CW}vyI-1N01-0AXojRU>b`PpVyh2mp3%vt z{084R9C_7vz?rg&I`;!(XwSUA)d6VZKqYkO0W&ohQPU2w^y zbTpIKtZBGs<@YpHMnZsdVge?ptJCZ|Ui7q5el19Po=q%XkqtngS|WV`b-pJnm#`ko za2lW|1C{$(1CQ#+G(oCQjW|T_Yb4NCDg|8*lkO>S+O-7dot#E39@(hjA^UbCcx+E3 z^IRr(+*k(Ed;+@D$_S2}O!08AkbXGLnraspdUb1VMMVrS!2x5ggPka(yR4M2`ep$x z(YG8YQIyjO>kpuuIm^v4mDlM5LhcKM_?g<`nz%^9@Cf7#oy`>LU0w$N?5Q zF+ZqM%6SWz85{RPCy};;+1=*97qCr-wf=Kf9NH#~!yB(!+HeWLWz_#6T#C?_vHsLz ze-)(lMj}H7!bJ9DMcotjP{g)rVDVz=A8Y$#tas(!EkSzC48B19m3X%G(XT~_PuJ00IcI;UOR0rtQ6V~H$lP_`YW$%m?CvH zshNB~Z)i$=4Xpzclp8SkZuadXvk!dLAJxZ@yE%Htl_3dQ)Q*E?1JLCpqWbDQ(-^1D zB)uCG22(4XI>F@q9PhlgpgOy~nWm-tV8S{pYKod5+puD&_SZ)N|8=hp7MO+8q`!#2 z6Q0=l)*UDCgs*!Dm;nBa%ZZ{7{+BYmxH*xEf(6c1&|XH;-b#=~R*GsTfNjWWCn!GE zbWM0<{DBdX%ryHT1ApMF!U1_PF)X)(u==A%`0k9M2&@4tLjJoRYT`demwzH_4eDC{R zu3>ul>9K#&*1A`V^!=rc*Vugb@u7_}$5bukSEe<+7Qp--(9)8(L&+%St>6+w19oj- zF1c@A^t0Wu=_GLRyEgD3KS02n^hnFTx|s#N-F%U_`Xm0Geg`=%Q^$vHsTTWLKkVpBQCM}H9 z@)I56TGL-~_woGIotA>@N=vDst^`6$;B>6n&|AqVFhK%PqftKQ3}c9pVTlxA*#O*v zpuH@~W#yj#al*UJik8nIqV}uN%XX+q7zMk}BNy{MKE;;!-uIiXDezW?88p9aOUdkGnJ_?rW>(@Gd|1 z5NO{VoBO!RRDcr|M6??M5*6ZV-+J+0JG2JD@jDsDIEpep=ui7)!Zo%I4OhuC14=J5 zYo~))3t^}#a4owyMX{6ZU{M8Hv1F8}oNhy|1JTMp=5!dgeDe`hES11e$4(1_XL)Zz zt>w;m=7r`3({+Gk$+gMP`!~;X&OS@9+lfjjhelttf=!R-BVpWh0w5d;6ry?AGU1w? z1(|#<z$lh^yOr};(wgX;2V+0v1z>%z%;G^1O zR0sT((j(H_8WXA9zAt4?=vsL4tL_wt6>nS0P66?mT58B(OKzoM|KzWA3md2_a2gB4 zL_J@9mmSGCYA|)3SMs1LewpZ=alQB6nJtL3)pd=k!&Q)VF??~9pMxsNK52QAUTbUM z$j{#9bK}S0$VXW_ukVd2m93!eWKOQP(!h_4NzH zHy(swpi3!T2bQ$zmt{`3M*%x8J38#hYku(Jfo8Z&6s_Yp+zErbtfqwl`bKBxo?wg`h@K7vSjKrSdpJ>1H z))&2-k${W%SQxX|Y-=CX;>3LvP*ar}Bpu}1YOnmR%m_FyACvNyc^?9)cG7#?Hza3w z_d)v=(IGbbFg+d(Z`jQ|n03ra-cRZHVO+Z+&D-T%!gs*)R7^uWt#{r^Io&lQsc!-Q z&=vI!a$5XTC)u_5a%ZknO<~-Fk^VCAQ(+2o@k2*aVTr-bp3$`K@hj#h%jeyIKj&>h zoFHFaSO7_f(j(OM(SxB@5_AcZr|i!UwL?P^y&%92(>x;Hg!8BtgF*pI!V{b~ub zviJA8o`o(+jCrbOsgN@uy>oSkS&z0Yc^RNs42Csv8j~;%LK!Bp{JiLf;69Ax7 zgS@?W#x`gkI`mF8%j!_CnGQFd9HIeVb=S|*Rr#XZRlpssGE<%^nEm>gLdx5`9u<2Q z7h?uLV-zh5vF1LqvXFje2M;e4PHW27e=rWq2C7_dfYz@);XL^u%~t89)io*Tf%DV` z3L#xvjScq!@j*B{8C^HHQM~h}AeoLtPkL1Hb9RU0ghQG}57aZfvCT7GCA&rrB!-V~ zi#5P;HDZk^8K_eGjEMHp;Z&6j&DbnFpDP0V6im{T#!VwcJMEuwXxoiulQ8_qq@{aN zsPM~wZ-v69f{2gHp5uLbAR#w$o;`oF{`#ei5UvlHA8{Fcw6E_}R4-6AC0|gAg0id2 z)CQeAfFr07DNZk6?!0>YzEUlO@D>>QtzD`1UOXzsur;07c#(HymmvTA!(wgbQmxk{b3+!r!RP#gf@`DzLJ=JUAh9F z%*8(qTG8^~l_}}|95=Z$N6Maj4W;$*A4=_|vYq^<4WD|ET^IZL3ts;6l0i-C`FN4*Oebyq>Y9FP)3-n$} z02sEnUnvzF!L=wpy8iwz=hydN6cTDL1a$2HJqf}g@7p(j+LT zpWA#hB4tkfNci0f_;l1WrZItGNEcJ@WYW#hy<}zrlojAI1$i9ORgjc}xPzS2QN@-M z$#R~}(w=(V{({_-<#UbqYl3@n)uYSXwb1*lUWp*h#Q~YFM)*Uy{Wp6RX`0Co zX{C^et(=|AMJ^v46c@6J6)i>=ngSn;{syyeytOef-P=Z{a?vaS)e!G@=z;16Sl=O? z>C3e?`-IaF@AFl#5MASL)G2%ET%|p1_$o zF%QUd^gbMT5Ug8Bd`#Ys7Lze|h4rJV4<&M0R^nEYS8OWXpHc4uR8$iI zZPSYkD|1<9@Kh`=4*r1bUFF)b`esNo54J5v!ST?fcDfEwo`2wV6*^U7 z0kx~^2Eh^Q;^E8Atxe2aljitVBRygGX%=(xHE+YiN2r^E@i$vuU~l7;YRTqONcI8g zdftoonZJH6ax(iet6(U5>6;XI!h4)^3EvTKoFI(1q8%mMP%xBU5Nh*_*L7r};G0t7 z6b_HPxEH>#{m8Dnaoa{jhSqykvHUh+TfkzYE6^^83^)YyQC1PXz?=(;i2lfBaw_q_ zoUIntzfSHxYlPJ}#F3u>4YHSHKzZwV;V`E~F;Qb{TC;`WO~&}Fnk7NUhr@lk!OQ(N zLFvO0l`TYX?_!qXWfYbi)OC%@)eWA1=~y;q6dR~Ln%w;6VVssmc7iwj27jM?wUU%9 z+yskmT!BzBVVYC49Zpa-Xs&DAwPN;Ei{H+Ren(~8xXkDv40nsUc@L1y1c(4f#fkj7 z$dD^hbr-fk8yqLQ;m#`g;OsN9c(1C{)C>J&n6^wV=IMq5XXVSOgCKiq9v|BB{*MT~ z)^J`sZo~dq1WvM%_!4{u@sdizRol^72Z?V2C>`;lSY!e~AJ_4Sre0S2yOmPEDzVX(w((CK)fvd(00g|8*MtM9Cydpy|E_z{d#o;P_G0ae%~p~-!r`inn8a3G zL?4>jyv%u-yRRyjQqoUJtH~MSovU4@L>)! znP7yrnv6CVkEk4(flu#6TUZ4!6^*jUL2FOKgJ!I7ER_mW5B$l5Q%C4awWeLG^=c)r z&BA{n78eTJIHEaV?r`Eb({$NA6b86J*m%4WA{Q&OYCx z`oPGY{c909-LKD5-GRiiL{a0+ecd^Ti6F^{$Ua@)9IXni3Z076oS@jixmF=>GZ4ivZQEwkr1!v>1{Ev5!MDP{ol8B8n*{eKK+1zQ0?Ep< zisrorG7r!O`Y#2+3HoyC%Mi!*q(L**?9#`ZCBR+9RHA`^)^}k_F(WrHbD}r5x1zVX z*YS*vo=JnW!TNpVgU$`_{mojH-bc1_;IJ@AyyidP(BhO5~z}&$WhHH5k44h zGIs#n-}=E$EwzizldsctI^t_hk1D?e>6&pznknN~TvbzExgdhKmd!KAi@cIw?19hU zebF$wc>kLOQV3VQgR16@wd8auC>(evlXL-|mQFU%n7{HsdqdXR6Qw{qn8%h*oC9{w z?FajhihfO0mW#O)wAk^ZkEvVa%|8|C<+-`6y;az$mJKCjlGETd?c27i1<8{KJE*;4 zGxXEu+9@TABetH&VSzSm%$R+@bns2V5IFN5RQPifm`1nM7oPy@?cco%S(B+NjyR;TG@eTZ%LS zkew`{9JaEVK8Wfop!HXA{kwNVKms3%;mAdAjQDc!WehhipcV)ShHWLs_lIZltHHl# zIDzYc8Sk419Rs^ma-Bp_f7gx6KnTNZ0VBYmR-BT003PN}RQ<+XW$RtCslkPOtw&Fr zTSoC&TRILhc!wD{RdW&O)+f*#-beB#68`*sWZ5%C8ft+_4UE2*~aouFAFIEhJPmgY-_p6%xC59aRE%bA_?q z&IsPml#HGRd-;Vo?eE;1O6J8dTc#P4FKoj_Ns)bDA{d208VUG}7r+_C%$k&&=7=%B zBcQ(J$o`Lpx(}Uw#-r}h#xr!0=zN4(c!@*@q#d<)XC{HBzX%;<}I$xmnH1oUb2dVjDJ z19(%%Hk@jMeps9X^;E~eK8AlCQ1O%r9?_WfynIlvNbi9=j{r>9(!-_WpdJLk47d(* z&)$PZeE`d>A0y1;oygBX#o zfZPEn zbOz5;z-P#WZ3NjzkmK48Ud9B;d4>XYSx|mRZhMmJ2J-|ENn=aJPjhHYymYwq^pH48 z97N`sD?D=p`*=L6NDo@;}3i3N!`KE}xzB2k}tlBzTIHvOX8k2W_i*wcPxq zzG2l++s3SfOa+kUfXg~vb#Sl1n=b-gUA~7Nh%NR1nvmoP2-Y)TKQDq}d+(5-^)c^h znB3vWq@bT)43X9K13WX0k(Ulsbos&2_BGtyykhA!r?v$&<+M!i^Ct=BOvP9?^`{@#s0~)M?-)oETTh6n8h#utL{}vURhMS38dWl0-#H_ z$=-s9*e(H00OwasJuU7n?yc)>?{)Wl?`q_+@;h@L>CAtI@g8Uc$QaB#ErGspFBmu! z@J6-kOU->lC;=GJ@D}KJbqhcR2LU9Cfipw?)CuY3i2E1ekR|JXWEHo z=@ihR21R$9$<_>vU-#={lRX66n$T%q*?AMtO-<}C?geu%l2_^_g}43=4~i$Nj#kM< z=4dg_r2uo}AeNy8q08jz z%O-$TgYqh`LLhWv_u(P*87+CTWsPndAP4RE*8n0>_;32TVq&EP7@(G#a53`j4Z>zy zkjVl}060OK$qtY;mj2V}et$+S*|?}QOcWB=o#9;W>i|9k0_1%T^~hr#n&!)SV3^E> z%IzSx%00|82OqDQ4F>2>XDX>bV_k_;bvLcrFk0rLKxI4Gu%g#%O^vX;S^p-gMezl3 zK^q@o#aUgd1A4HCy}b^Jg&^_KLo7n^Bi$ci0H_8q#H2*m*=L3~0Qy)rW-<>>*&Mc= z1#|!GhtX?E=J(H-f8e%nU{?ty?fsqn5nwn}HYgsCg(3OQOYKS!q_hRt1msDmP=gQ< zdSoVKnA2&#oNp_73h;6cF(?-G?)0t9MK$ zY(Ro9^AQ%tzVubTK}^8*G-B?>{rW7ZP83cEr?>BK3|*&b?qoK;p`{0Rg*hC5IV}z$ z=XnY=v>XMI@fjq^tsZH1>ywMzK6wjUrx`7ZqvX0&APUg<72el|qc%Rm4+t(9=*({c zV8rT=Sdc+M06m1-!jY*#H;Pgd?gK6CjaX=7cY_+u%WV{V45}$3kv-Ku_hsGhC!mjF`jzSGEj5B#9q$?i+ zZ4*$-(#Z=;=|kdD7a-K3_emdZ|KWK-%;KHA&OSGoBeWLGTm{8}dk#R!(7i+NW!^k% zFysJy)9B7;48s654=6me-uQQ^xv9K;q_1lz%S8FFghCAq+@mlWT8~`U5>0d8sLtQk z_(e2C?5HWcoJSd@64s0ZDRUh}-|-f4N^&DcM^3>tS2V8Jpl4^n+lPC+Vr1D*4P{_~>Oh?}T-N?w zxZypT_cp=3Ipq+#SkIOm>gCUN2HHLPjWikPB!q` zuXi*cD^L}N{Z>|sGS_d?`W3J;k7aTt*XI!!P06=6mJUbNyh8Rix_=V&=DM+Q5Md;_#e|^_Jbe-U_)d=Kx=A3n-?wfOB1Tysne;@k_9s34VGhe8K!tBvLLQt0 zf{2eNyVALVtpJUz8eaxjw7(k%s|x#paKh$AfF*;O~Rwzbe@?mrp%?4T?;~ z1*;SRn6@1X^>) zq!Ahcmee110iyjj5@p`M#;B|Ve6ot#)+0aN?N|=X_URB~hk~5vBIrHCLbLHapOv>? z+;kEQ&^-|Q7B^G7B<{wTc!kRI`B#?I-Lx!Fc_nTjQV{(?`=TXv%G8N1nV&$0aTbUa ztd=AsQ2VS7yhEJ+dkA!CLFbB|PDrb*+sf}KK-&a_w0fw4!}G~lB9U7W2<}I~uwgl{ zLgAQqrf~OGI`^7^EUMKK2x7EG#&J*<1uFik4wJ02`}9sk?limFxuwQ581AIQW*hg{ z6dg*2H#Dq}d(Z;BZw^N`<>?$bNdtLbXE}oqng^*40m1Cb339XtBB&XANPe-~=wZy_ z_bYg7GD-Yt_nBzPgdn#8FDdtjc=wTaO|yl|=elPfj5k^s9gu)gApmeWbdR&OQe5+2*zjU@}U-tkVNb z;sbs$u|(Ai-P%EuM5Iow*)$*wVs?5PdZfW+iP)#1QS*|^JwDRQ{n9FICff}JIWd0G ztD2>SP2Z21-oi=^z@VbpqMA;`(9EbW`>a6GkFh@td|?8*aq&oyA8bZ8=$C%mlPchj+GHdnDn!2yO((;oPm4WyRt=CL81 zTB}9DHpF^QOl_GUg%=+pvy|>QkM9@YX&G=CPuyvVmngI5DUyNUQDx~aw@N9Fnk4&9 z>Fh^I+(pE7VYyfdKd#j4E>ImC9EH@R|75w>Oh9*qcwo(Epgw#Cq(4y`pJhgjvu4lN>*6i?3w*BU`n+?#9yY2~6G48n`Xi^dI@PCc^+$o3Ya0r|{Q~f*mhrFb zCv0&})TPYA@GIIYTAz0JwP~Eq2Av)*K^wiqV0gL@I$S`E6ck)|O-9KE`qJ>Fb~=&{ zRKZOFK58C&3>(x%vZ=&K1qI(ET29#QZu~LO!LaburSO~NR*%$d3vE}<6Xz;XSXyW{ zVTgZ1l!l+SiNrjXW!jaV6=yD9MzbFya+n+$rk^yH#%gkr8mYaTMdhyOkqrc2Yakts zt6QLS7UG5EK29ib(d6kb2pOy^Fe+k{+uT=rz{a4UwBiXa#1SSKbT@ZS04A) z>#^POe8WkB^tzQuW-7c!)7(n*O zeu@&x>|v&jdO&N{tw*c8;2qK$7EnV#AJu>waG*o7i+2I@YUoQ-O`q6Noj_B`^`)6X z!-4;r8Fc+NOFcG>BR!$FZ&BMga{je*GkUB^x${Q3Y*%EdWoIt@wJ!4MF*DugLL} zKH%V}XSa2v)tZ_m#6+DMS|-T0WR9(-S~8-ivxNcSJFWoX#?qvZ zUKV#c;Fs9I;g9jG!8Nuyr8V#qK(uaH z*kVgf5_Vp7PqU##gqQ&BOIM(I4RbhHTHn5;et8C}C*1?ggzPf@bl(>+{1iLru99q3 zRGNO6s-|lAQ-M>FbI9c?5CqDxCcm}(mK#QL`nrvI)5pAaev!@lh?ii{Y!uNn((=s7 z03w(UvkS@1r@vx^ktPeeE^`sGxFv-QK{V%)javL%)DrV$8KABnz%n07+)p6VrF z^h^G{p~7}h)3~n8QA$2?ZSyi;`Fy2UAQ}K7^k(;>x*{K4ZJ90p$xm!NmTBj;Yr_yEl>sm-$t$@pay4S8ceD0_TcDye*lw(Ux z`L}u*U?kXWL}?fO_>z9vj{pRzizyx_t-58@98U8V)MJ~)Z>3#|%L4psj3K$LiD2;; z5V}`p=|UCmrDS)O6&nbYp!YJTYwSw+W{9@yv838@CRA1<(K}&3|3P^vG8?|tnr41N z4s{>c)j`R_}RLVti0-Mh*!J9W-k zTs+YWVGPvSlYX7|+VG%uM^ycu5iw`grH7+?0Rb}=N@3-KCaMad!8{<@zw^apfa!F* znJ-6l4;dQv)i%WupJ*y_XbQ8&qswmog$L zKr?#C5P=hw6(@bUIuC^Wa%SO|)t;Ris>G=Sgmyt2&}F=s=m;pDd)~7)i36l*F{}2b z+pu1QeFxOw(kysginEV6>b^y}>9#!%?a=2;B;a!n;m;0V8YCh#{QaT|;0s)o0yTa_G`=JKF=6 ztoDoR`cKcaehT%IyTp2Mdv5WUu95-0gGXFVZ9un5i`7A4D}g~k`WCbt-32!Fm$$MB zh(^1@0bNk7HQm3VuoK99(~ZPOlU@PsAP3TkY^z=MdI+{|t)0?-!Q^FkIthG9qL;w8 zs5#cOYk3HN2K#06_tN*TYpyMJP3(vq^v9*KliIu@hvEv;xPgi0VO;lxUzxqqfTysoYGI21VUAprMyi| zU?c?#J^=Y^)Z`-Rkxvch`K^bL4_%IAWWBG5FdAI=6?Z72sT@ z-ZyFl6Q!7J95DM>GE;JN@16aT@J;=#XVs)rgdE`fICht~L$;1&gM@&M{ZnY&jL6~q zoNsE$Mlj>HfF?_uBsaeR@nEN=O<>V9<|CLE8uL`pxio7Qr054PXYjc>G%aLLWR;k1 zUA>~uD{eP_qtai1gdE<3?8@4SG)&${I`ZD0Y`MZwV+%S|#Us_+Rt5>OWk{5OQ;B@`Cc2*O~OJ;}e#T zR+L0(l)d{}%Drb=cq$9jGO{VjnzHjf(TIz_dp`M<`5RjYem|4wb!79ypRLcf9(5l6 zc)j(~HkUUkM>}-k#+$D6{d~UZg=fO{uuBi8wmP2w@YlxN?c@i}sb2oO?0V%CV=j$! z`PXjt%(|!Cv6Xgc^khtU@QNXe73+et4op>%3S7Ri9-hXX#sR!QR97yI_oNq`cF3DI z4rv!=5W~=+QVy1+j2`dH2chYVnruPga|=mK9cx5Hy+gfiE|-Cv+TzHX@s;1L@Vf%= zW_8lS6}rUR!!Xq1wZ59L0O8j>a|4G9_T}=N-&oVRX;&v!as;% zAnB^GQ4_Zz4EXXTztX^A%<-tUNofIfRm!(3SALH#h}Wrmr(Ej+YFXmsrm#WKgcgpS zdPDxKPcb{407v$(p>g3rI5avwHhn`_Qq4yKLtpJYAgW9{wtVIo984AL#r*tsoBy%# zzh<_ppZJjMJ|iW_Cf$!FMtm4Js0yryOYoLW#kI7MxQWE*nL@m@>-t;)*4>@NN|eMb z&b+_QNKrtazAdMHE6E+5KN!Kx80)mwxw5W0sc6nze=zE%0O0!1EaTQcRe*;-SFS|~ z27|_W-*}HbG^Cx81q0w`Jf2R6r@{*Jus)J|^}EkPtGg(N`Tp@SAB%M1>NR|4&%O8l zBiKx?FbD7o`Y_&y^xGysh1s}sXWe`MA6M@l&vgI)kLxHGrE+!2MbyLH=QNiXv%XHcX|dSuAUFm6Q?)X9&IIOJth} zsom1R{>&R&<)3T4a{O5iOTz+?Wbt{MBcA2;olPHXu)V@M)?Ego1Z;EDQZ38sI%YpO zIWWicQt;x|z_3%Y!TlVd!8|pl<`e4-!cKHSxaYzSt+vT&`$FucGf13NUdDTLlKeA< z4zntoVRq`iU4MT2`x~pPfaG`d>bBt3$aDkzycBZ=UXN4q(;*GBZzC4my`_?KAihfz zNQ}+}`ljk}z3k$#(t_Z7Sl)^XzEz=e)BCuOoWX+6)eQ69x!b1o*%SBuS;7F|Qwlq>&^ zzvi{wguXUtSvzI*wj=b`NK6$(9sVDbR{Ai*JW2Yw;$e^uZT*YwPP`R-{OpK8z*pV2 z@ekDPnctEMFbqfNpQ5@gOmkX31vGK1|FEjU8I%1ZMPWT}*9L zW?yP8BTEMRE_z#`R)ZjU?whe62Ss1KejKH(7574e^cdxNtvug3NW3UNW{c}^;ACz1 zFQjR1LER7S%uK7xU2?JR=#TX8)9r3Zo;E*6-OnE5;0g^pw!e1wA$%{jYCChhy*4ps z%0}e+{C`@YQCMb9ywegH0T$R1&1N!t*0Mv#vsXOtWgscT#=eSlzwlj#0k=s{NyCte!Y zEapC?(yxgJi**LV@qd+5`y?wFf%oUK9Z`wXZ;3wxkid*-{qVIrD^2loz7YPATfm%U zBDPHYWdUV%FLQ>D)KL}8436WWFz2Qweb`W@w$mZR_zD(q9DLt@7`%7v(l$PkUq)m> zSyi&(B^Mt6T*8U#h@^7gE0xX+3`s zk1K%wZFW8>ItWBA>loN64S32yfS!>kvQ`x zul<>%Mtk$9`_f`c+Xkk@s8?`4+~h3~VTtC?ZX6N29Vf{$2VI0U)GI=h*u9}x&4|@l z_MP#z47ks8tqQA){EFwQ zb<4^l8WfS!xw3NV=#svY=?$7arn|>^;%7)4Di{Zhb$M6&=utwkXwXwDY>26X3v7s}WZLMw zdz^*i&7TJgsgE@~EZkk#mH&mLi=e?=l80EaYhgd_OqX`4oRjeW@Iy|r}5YT7v@;7g{&cs+w|tc@pcDUgTzbn<2M^X0iyCsbD|(uKjzxx0pM%<37X0JZ7!J7 z0`pKzZTPq7A?}9k#(i66zIZ|dsGT%-wBSm<)9ji2p*iTZ;U(Vj52{~jJl#va?XqEm zqu?O;jM_3o-wam3uIje5n6sb7Qxp(dd~Aqc_QxyW9p$hOsw1&wehkMjFGK&EheByxWVzz>Mo@ejilkQqZND3eL*@6lo|8BXXa`RwJcHnt%f^1CmJf0}>x}MQ zJ{+$JwhS8~-;Rn0}Djll2e|wAOi!9HN7j#7T=x8&nRW_BSALeUmP>2HKaCd@F zsO8J?=@AT6P2jfS-NCEo(^3vvLOmJdD0<79ag_J*)kQpyG;6HOv0q^DdRHhfc zc&LKIp*4A{*@CXs>O-=@c6`0^{>0r~E{$he6*J9=o3Q;L{&@BYoMOq{fQZ)ZS|^>#Ct&C0%;mk+Wbmtu{9dIkSkN<)N?WeWzOM4_`L;fiU)j&v& zRY*tH1(to|J}{3xa9$!AeS7JSNFX*}_TGZNM-3(f^kF{X z1_zaIVV3>T3lQojy5cf=_MMpxeHx2&xHFm)M*03$ZwdXd9ym~2AuwW);oB*);j}?u zkbc@Bj<{B}AP6!NW0mUQRg7sTO074?@REXZ;fcm zSHBq&4^YmT){V#0DtHZf^)cO$n!q1tM}ZuMEfv;TR6}<|nuF`w??zAdycJuS)O@I= zi`<0Q9mD@T?`C}gZ`XJ;6q_);9YtUBS#);%sb-}1H+TJB^PK3)e&ajo@HgIY#azTs zd&*hU50mCJ`yBbb2tgdI7q=v`?kwhs*+MR^Y%aw4)S@D!BN6zidR`6Rl5JrIS?=V{ z8EZ`;oAQsBV1l2EpUnJwsh@$fC*(?Ih8cBxc0i~>#|?k{ORRgT^ttY{J<3Z<-}c*} z=@mIZXZHhkL0k+hVytCBLx7I;?a1VR7)=CnKzI)iGCOa`S9u4swo~9UL&7TdY%l(8 z{q12?n!TJtQr>6Zee1_MLsgntvL6c<$Qf{aP>j`iyAX~yzAV*|#c0Sv_jCIDdQVM` z|8kJ+G&|nIsQg}Pym%l%cL5lNK+>=OTKL)&^jC9U;ZKD(Oqr!(OXow`Z^dSfH)KtZ}9EL&J{94L0_S(4AH1>RFf_^?m%C*us}6@Q2%%(jh5KfX92!|xQP0obBQHkb{> zewAQ-fcI)X-%y1k&2PyiTJo) z!v-?ma;0r0?j{aGww?x13q$aiF zfBWDsZCIEr@_R5H{3f)NRDha#CVe5*GuF7)6Rc(5KMfME$gg)0oXa#D2u1+T zr2L7{8k|Ph1?~zW^QT6D%TQ5%<>Y}ob6*Xmm|mD-wux-4xVQyA$iQXU7Xw#YP+lYb z0k_LJ;kOaTM02V;;+>CW*aL24Y`$n=D?8N2|2&+;;S&szD!?~}0PK}+JR^TiwEHd; zxeOL0v(K53PU3jI;HIOp2-v{zQ8c(7r zVxTAA7Gi`=P5#kbx4|T2+_~`jWnNPKB(?;ctq>#9C1zL80>DxZ4hPFr|fOgayybk%Gc~|(yX}ck5f_J*02Pt{b z1Iz;M(9OED_kW2#<0e8DB7IEjN>d>LKClF^)bp;#2Id%-64vc*4{~ll<1<*x-J0|o z5)>0x3PTIV798XEd;~C@U;TYKtG>4nng(gyAU#{NPT8*pA}6&%$eyX=TVtg&h}AWOTn(l&0?4gk zs){aQ+Sj`$dJHB8fN%RPB4x8}el@v8;{x?f_Lr;5G%G&t>OKH1?G_$@mK(%{_k17D zJjXqiLlko_$B9=O z)k@bki!KKnu;B5t(okw`Mv^zUzOm)cy9VJw*w*he7|lCk<=5?MQHPuLXxR=FWQ>>m zAM*5RE;n)_ej$<+;wf#LCOR+&HX1{hM-N7ZC)@rGYpem3aGS*vlE0?dwYJV`h&lC9 zA)wJpYMH*oXhAC&Rm2seI*xNeFtc?!3m2|z)fz6DK2}2*u0v4_3UW|PG*1n1om!FU zjr++Da%4yFJEuSeML(Tk{R=^$`VVq-L|+DF5=~63d?rr&RKR$$<)@iyg+^u002jZD z?j$@x0`(u7CMEqd%*F*g1z0wO<&)Vh&$hBPaSmP@77Bc_aTvm@l04=n%!=&jbkt~z z3_bc77o`|$UND>uSIM~|bbh_ND3?O5)!d{x@9TXsL7Fs^}30gCa*0fZU!x zjEOBg!vH3?n`gxQ1ALu^U`8g2>CW=7vO*}Mk$^8%ZVd8a&uQ8FGBU%wK;-LWagx62 zI#_i!aXHQgeu3)k45vPT1yHm3!ykzCnWto7vL~`)S)0xD22AOHhqeh6W@0zvYoW%A zmZ&)OOrfWE+?MV?P6)VrArzRRG>4za48 z8)OyUo%%87`I1OAne6TXlWY43z_B)_r@;HTh-`R2HztO!y+E#DSbs#MU?SByJI&W9 z+}J(KC_nhYIVbJ!?XHgqRmc7J>Bn1N*3N2KaOUSm*&yhidepB|v8b*ORXXaNs9%qn z?OI_=;$cI$;yu6?h8U1RxrV&XsWOQKin}zBf6~PLfoe~v=(`JBBZv6EY2k>ZO7h=L zLNtJgYxx}<7k4bC{?IFwd8HCwi7@<8b1eIVik@01QC%cSsp@x5^D@>>I`md3a{k=L zUBdW3fdgIP?vr|{j}HnV%yJ&$lfZtQy*N1aasF2VHrFSy3>4uiR2>6nL82_b^|hQzTGF;N z@4N{V^S-}M0sJTL>D6bEWe4C&<1d&VdlB*n|D2WFv#hNqQzie_eO(z@KraGCUoEYD zjc*Ix(Q{PQ&F}h(v%65yUh)-{h|@@x=qdZh9oDJEfIA>Z>Bo+9SDzw{efFw>2eq!q z7R9y9=9Qn+7&$nnHAx(37@L-M>h7W`196iW6I!!LAE61GqMNz-3&8x9P$K`>-MkIa ztltD$2!D3*92qwxR+TeDHQf zf92iLL~rE83T^<=vyvOoP<-ZCPg-Wdh5y^0&r3*Bdc@Sn(+z?-+)2q-KI_A!*O0e~ zfl{KNhiPUBYJFvdOl$cy($r@bf_&4iSmW8?^v9Y)O4*SgL7Jm0h>RLJ4D9pwl+51@ z(zoxd)5KCqIqA9Ue-6h;hsn}O*A|DUU;Tqg264Rv9H@1LnHyFAMW*FoCf_n0P8S5U ztZwFZ4%ci7ucjU~(cG_Q23}ihs8q~3h*NmGllbQQ!kT`SgWS{61D{F7KSsU zh3%T)rw{wMB-nO&G$y$=%qG$XoSWZ2OB?eD(xjA#C#l5Bx7xUOEZRQErtxu?t;n|C z&OA4)@OdEcNaWF?n$gnsQjxPq(x9l+!^`hm)B5zp)O$dN8 zxD~$d7+(-Pd=>J_?$M)Nf2FeqO+j)Rn9zaq|&2b;h#a4pfPD7#4$!g zmGW}$zS3HWx?<57nUcrdXp5>d=&m~UKh;q@uj!)wMNak1K2WU+Zu}!X*71R(uIO9L37n#OlL&s! z!e@*5g7|Q=)1-iA!(V+NN-;ktw$ZK0Sbp5--{G~hjd#;Wi=T7}XKhj=nx*ggIaf<8 zA_(UbAN*x=KZxKgjpBmsyk=}#>!{lm|; zl1?oB8E=Yt(_iPr(7d}iz`HcuSJPW(Aq8H3i-3ts_*d|gQTOp*|aIzvj2P&?( z@m?!PH1>U6>*t}t8Q?oJcN>OBZV~5`mAW5vk~Jn+Uv(Ql@tr}blV{zxIJ;=)*gW;H z;0seq0H|AI_BVHYzCUJ!Uke|49>RWg+B!8zMX6=suu9rPgf;Y=fePe^Ki1f_w}TuT z-*$(G9hABlpCfIt%hQHRI#qKolgU*liiBWW((s#YM-L&Ik+hRK=K7lsoF&Fc26{7p z+u6JhlaG9%=RmZad2CLcc$$?QnepV+O-9Lk3TkGGk$xu`&dZdRr{pH3VkCS)1izgdOdizuXit!mr5FxE`X;8^cU zf{A3nmewR}N+`7`{qSlC#fo89_rv{=dX0`CKefy|k(BcGR)ouy#BPwy$(@6X&PyK2 z{EgZtGQ31dUaY@i(w#uLuF zh2_WRJ1zi??afSpjf8i2b-^PNQ){~W3eIBlA0S;Hx3sS`>T(7?_e%_hPaeqbe(QUs9&e+ zm{M`VC+;nAUlBRCySwOD5ufaZeoW9eC7Z5lT)ywhs(HQkteBMt@HhSMOdWujRUh?9A8mVhjdZXRR0BpW_ zRN$x1YXWE?3SF?|C|__w=cXoF*W~XIGnAj>sp&hQ%ps}C^$REE1O3ZO2;TjlMYo0c z@hWmL6(QS&fC{T^wg2s72Z^!luNHE{@bzHs>`h8xq_ypi&8%=}YR%z%4lew3%cGg0 z`ef2^3lI?VRv-Id)O2gyl`rxC z`Ds#~MblsilpVD{&w~AJ*%rB@-NJVe%3*Wal`GRpo%WE7@tE+|&VTLN&-pP-&NDuE zV=#n}*AKHIgWf+JYQ%z|Vj_T95iygVdCBhF=S`@g&P?l(w}r&XY_G|Hj@NyXePP>m zB&eC83yWoA44wa@B2UVfVDtVmlPX-P$<7n@hYyAK0P3Xield7> zf+i|&{hFpH%+!6O6Sh7%#OJ0k*~V@AL0Y-gXerDvtXqixq9A5qtqoyaqpzk9x4yC{ z%j}0}o3;&H)mxI2d1v{Na%E6m$AqEIgUBbHHToxqLv0VAOdJ3Kh3e@W(ylv?@`RufHa8)ZI^Rd|n1+{UUdHW$iyj1lAs20Q_w0p@@!W znSTv7c=f_B1cI!3x`YB+Vs+pidA%aPHrk+Re930VF3~rn?mgb|o%Iu2R#u&Pw@i7~ zn=6A|pUtMjS~*l~C|31>3SO!5Ii11SLryWM*|C}aPkl4K8h?mSG~)$Y4!>FJ>fueg zw7R3HZ0eIN zY*k)qGBLP%B)0|;U{$(u3pU)hyg2>#>mz4!vr!w!rWeIi<$=7eahJl}VrFQD&IUvS^`K1AOh%R%ss!Gz7^ zP%oZn0)FHrF}R>GiV<4yabtDXrM<137yC}oF zi)71rHPKhBM}M9x(1sEUCX^YYD!t$jMr6B)+&!EP8CxT1bVnV(v@JjH?IRiSizxk+ zb>E(*()=ED#tWd^gXr&}Wy7^>>^jsf;2)X)an(^rgbmznBMqc|hmEK~j}CM@E}j8V zRLn74Rkz%M{Ic8l0Qr@@^e$-QTF=yoO9w4DG2FBqVR_JHZb{C%4P984gHa{|QPyNf zTk-m%b`*vf5^tBBecVr%c%6K{~OjnRfRFmXT}?mE7@pr4Re0f*?SYHSCrq2 zIJDKpxuO1U{R`c{=r{pSn9Ks%(+my|+st}%^GJJ{Ae&uBJ1Ntl3bV)S+EH1JPEbeT zF#YDUzYSl3;!J}F@9izn*N}9SiNa&I|NHFN`Y%HZL`h6{Jt)7IJ4Kv$Hku%EZod^Y zE(~Xc6DsTk|F{mc96j!^!}EF8Xn~0fyP)Y@b{#Yad$T*Zulc_Zr;M)e%Dw37NCo*} zb1ra?vG!p~Ast4U8wu_J@3pp-4>rQNMy4>REC;v1Wv*Utv=1gkaWrrYT`%@J4Aq~G=8+{DCi-Y25& zA>sGF1SfupLkQ+w!tx0nS~I!XsZ{po+f%H^;FZyfOVDs&gG2T?~{iPz8GbRF2egr6*dj?znFi! zlkQSxN5{hK5s1q^?0R9_oY%g?8s2aG3(bsJHLQ9E}U9UAho1yvFhfn{BeJMIq3Hp z8y*1l)jzi0iwy5M5%t12xaM?nmaWY_d}2;yce@kzJZHZZc|dy$R&vOX`|Up3`> zFW;aT87Hbl;)n|Mt;wJ0f33gI4z&wG?PLggkq!}AW?Ac?ODTo=rf7!Zn{MD}t-oi-NzxrU>rB8;Nt>MK%>o&`e zb|JymlAt#p7maO~JB3*dTs2q^Tc9bgbd~(wgRW8Qc@VGgOd=6+PyR@Kdq?9oDt^9; zpE3%#zP2*tZ2nM>Er&_X+|s=|c!H<*AlvEX^z*w_7X9P)@6O)u(d&e!oY3!+DAyFN zBX=2$?=Wkf!-adcJgw7-v4=!6I47smGIhJ^oIn(MkO8hq%_8!=Rc)*;0%%GT`oaT0 ziNVk(RTnNTyrFLcul&?J^q;4%_~t)!?AnXjzqj15j?M3P|J>{U#gEP0;a6>U_zPm!ur=@6wjlhtfzo(iB(8#bW&PK;G+w({LmX6ho{`_B`2J+`QCa;CqCTkCum&WyIdM}H0iWrYOciASE zkPV!x53&r|aZj>x@=>y(cy9cL@*2ZI&Aq?h5;4`WzSBiE%(27SVD9Es_N$wRQ$)90 z|M{gS&eXldy_J@5%LtA)*0XX*c-T+!NwKY)e%0}ph2fL+OwM1=Mzrs(He2dUna+?p zG%qRN9nqG_{BHDi3;7(q8S6jVmVpJ`J!=p z`|sE3q$QUUPH>*Vzi?OMK;bWpIw#%sf32fJb2MfkBynEBucABq!O4h{>FOABmr2kw z{J!vKk*};HML8x1frkchrRiC?j@@73!_Y-|=$tSZ>+97!Wq$(0xZ>Ii>bcAfL*d`D zKs7#-zlD!DedqZQn-mZ{(BAL+5cGa>#DB_gu5V%Z@FOj#AH~sh(vS3DKnfQ2WtOF- z*g#JvLRA?NqI+JchHI2k_9KQm+#%v;Gp!<1l^5~r8-Hh^M4ee;uDC(6U@kk(tJf@6ZzVq4y*_MdECqog@z`hU{p6sX@%lku97KJ3C$8}gwI&(kvq#2f#bk~TTU!Sk=#xyi(ax;{@ zCiFgK8a?|-&~wHs4FG(&0c$iphWC53K^HeUQ%;qs=kI1z}Rr zLtY-{<1#HqKR3lD)jRM*mEpf;Bq`p~W=N(_)vZ-cM~n&a`6diCNd1h}N$hqd{*^cg zZiUQlm`frU^s6%jiUz)w*HjF?OuGr{t*DORvDF@n9oR+K0^2a=mH7Un!9VYSj;J&) zvCa08mH}g8%g=7%UKhCWQew%@>3w8^{W%X;@4@3|^x5Pct2FMqe09f;E%L{X^1N_O z#^3(CA7Y~#eSXl}wTOE3+=Jv89Zs*;j~DAQ*MA=W)?agFvc0&uR5l_JJHFObsC@}l zy*z+|;|`l-o!H8OfC}TtoTf}AMy~f+8H#;X^49A2fFpM@ilT`RxiNRjL_=S@Qp)Q3sj%B1udf&w!T*-6<6_?Ph|hP!(D$`Y(U zzA*uFsZh6eHMuN3(Y|(eHXMlhZv`a-qxYlwHfycLu?3{W^mDyRa=c8#ERZYa#D6m>kFK zBu)j|lTiusMHH}fL*MHvMl^Z3*qSc#0j+qr`fhA+Ett{pV({~Kv^VBRl5V)+KhK#2 z_-H%Z>%j4YOU1?Un2plt9GSFcL~+KiBz|Eu304Yde~z`d~6(pe4MSThDZ|t3XS5&&YcKEJe8Nrp&aA;S4L5Yc9{Y^DLy&oyp zEuowdmNNOwP3jA1Nv>CIgIWH*N+M=V0$%!Hf2R|=1LyU98B>*ge%h+r=;;pitNJLq z`Xo^%I9HP6g@8lnez=hN>_>7HCqnT(p4RH9ig1XTWd#moX0RG$>hE&JfZB{ACtw)E z_WJlzsc}z@YTv5}|7`eoxs=aJh4VnR&zVEeE~Hc2buJ|3$cH!>o=7)v{;*9*OZgOn z7r3ih*4sPCycRlGiwv}BDJe2~;%Og(*?oz3_0hz#&mxqKl0U?yv zs$II%zNr;W6v4=XdtcX12p{2K@Y%@=7p z4@>i&nJ*$s)$_~xYjDohiaYZo+F1Eu2wz5Ef3?BA&iXK2mU^aEfh{twEQ^_mRu#t+ z8s<^7s=$S5!I%=ekB!4 zc%_K!-TCQtAAK2HL7;H)?_9z8>d8x(nXwzz5ORy*tp_gY7o;ay$I0D{yGy|d_Eh!| z_;vYCxBJ;_TCEa?9&5yVn=;gagu-w|5xWSY_$v6dT73yEjzijnNRZ#N@^6e&SFbMf zSMx=27rYLtex8HDXH-*xeDJP_1|J0hk>->40Z}J!{7ZdQ=br_-Z*{)XUB`D-uM=w^ z7h6%v<2Lo7a%dKcESBM`3|~1(ezuqJ-QHg3J=T__bM%$^>@)^GqG?cAzkA7*!|I0# zNzmKnV&U8AGdcs^a0;l8r01cOwd^m`FlODzwY>0f-*42_HsI-^EBuF3Uc>kc=rJ0q zwv_VE*~7mUc^;;LQ6rB^nrFKET)bmmitY7_PR#YzWTCyCIU&x%j0gZ!mc|8neT(2^ zqtZ16>pPo(bltsEUE>CVjogXzYk)ua3|>|=-}Gn9p9!nF4X%cSi$2*2SqXX{?8mS| zd&`KJc0YzEcuOYL_jZho$fLQS6sKeYL)AYv+whmw^z^c!*-^I4SQU+)Ti{QxW{}^J zb!&XtSK~Au0)9|6#)Ji$HZ0gkHOERsw@5)>gnX%wVZCqX-ZJWnBGFXTL~gvV)Bzl& zQQA%OPaUm(>d`(Hutka4U5;}W(&_LR*zu=DqHEBI2{Y-^4@0jz`#RDqx+JXm&r-q_ zlqw9FNn34&$nh$DCBL3O4&D%8*S5%uYwvSCRc`-h?06Ztys>8gRq zCx9YLBvi9SOg-KVmw^$_qae z!|n{li9kSy)Ih*OZDi);SjA#b>E5BYPv0z`F#4?g^4Oq6z71SY!2zLQm>n9Zs>_eY zU2*L}%RBfMNT^cIZa*V=cH?MC^;3JBO*@fL91blfQchFvA+ICc-7kbPIvFT6jM{H1 zZ)UgYdZ$BJ`}Dy|IbLA_Hfu zoA8u+ahf{679S-PZ!O`4_hEp)$1cHso+x$sjG9g(3I}S~dPN$a=YOa79KfN$*-{oB zj~29=(?A!AW{j-wTtEYY&V_)I>9iVx9wU2pFSM@q6|1g{C1ttj=klX9bHi`Pz12^o2`MjsjG5AanyxQ(nmSGM`O(re4xXvQPlIK z=!CON1%y(0sbH#sj}0*uI7$^^B(}X77rbJE9<18n1=HUy zCOAaarWXO?jst?=$&GeLyomlYRl+Rypqe5bk4d;mt;H}x%%boRaq z3p+_YL%BemQ|3ocKNah*(7m}pQq>4V{M3l~rhJoy+%)|Gng*b^)od3)dW&j5L6S<# ziU-I_34`pk!zH({$(P~K_%fmtv+ylE@3;5j<8+6A;5-0zBlpMrdTfs2Z@J{q_^Nn1 z&F4J#DN_$^en%zaP=r|zyA%E{vxVMMUtP{UMW;8U#i6w?-pP)Zy%h+&k-OaV1AX8h zIJMNsTJ>qP>SsLlStj^_`%UfVfF7kFoCQ`Vkwfz(8el6L9FlhFLTkiC6+RErhFK~o zf`K-5mo8o%V7NAQaCaJW3kfX-7(#A9*s>pgFrCi;z@dD}KQz94h&PVh4Z2;L2Cf*= zSVJ&|bbT|GUxVqL(11H=K04OjaD%H27!)3RuRT2(dMIKkdpV7?YdgfUx_ac?n`lY# zgF`Ju(qj8qWeN5h>3?9w3w?0LN6F`3U_9gL!Hz?T>% zv!b|VqM1^P;+0p{olA$_PM6^ zP<6-tBmVqId65U0ZK`3L(BTE*X+Rdh)j7$&FKFMl`iuPDpt4Zu3@Q<)e(%bxD=8^E z%)a`3s4<0AJ+w9@IVP_2)cRQ1{LcsMabssc=8)QaFfh`Gja}liJ`}q>{ahRr8CRbI zc-|gbu!IXuqV_diygT(1M1@vyL3g2Nx_1)O8;(&_v1M`;ft`iKEsM{Td&nOY2 zC^2SdE%D&H{I}6=vQqd*t~Tx2G8i2GL1{?SjaSJdM4wm|%{ldzS<&2kg25siLO&eq z0l4k4Y41B-8qH^qma!p3AN;bgT{0#BmsQThGseIN(#G*)=@215pSkw|X zRU&&-F-8{MdjSYtbNA|(AL)~vu&lB^6uC)nk+_CO*NWD+ zvVl{!R6>sYGJ3Al9V>hW!^#r{ zQ=f9I=qyE!czi2f{7rhBXmA1%onNb_$tkt<6!r9}E7Ak{eI-Dxpi%R(2=|OR+!=OR&vV-FyC|XewF~y}53>y@01qy-+ zjaEsLQaNiBXVD`Cl=+V6G32!R%CvdRja|EiUpZK+$7(m2`U?AzjpC``bGG`Wi6*~m zHkIE-i)DT^Zhyl^Rmn0f%f^eV<{z%MYPQgH{cYlhPChHQa@odljeqjjcS(%Z754ZO zy*ULyiMmvXI#zshZ&6KxXwb7#8N^`S$n$KgvJ)Q*|8lH_cmvy3P8DjUw+%8M2NQnQ z8ZCI99>qk}KH}%~d_obZp}m9Q>nD5>BUlFK#q0I23k#jJ7~bR4G1Fh=;G!tAKPkKE zOtF{TrNj*2(u352JHZP#Rpi-fage8#M>bQ9OzoGb>&VIVke&quEHKezp_x6Qq@2;D z^@0U=X?m?ErGD|F?k)dU=R8t9(>Iz)0thz9`EYp4P=gn)81}o!b=YZ7((#{ZBdIy_ z)vA!An^(1YN%S8iLm30hV7-*NU69iEh?IBut@@4sUSK#@Y}mFxT+_}$@{WxkD|6x8 zf_7&nP5UAu$@Hx!kbdEqDU^p3(kAJ^`xBL)S?CaF z0RcHr0p3WrhX+ylvD1`l)dk@*Gg%kR$_6LHTiL+woI^Sb;5KFePHZV`+i?@&VEO_J zs2O|K?+;n^3ji$EW*_{BP}*E!yC%G+=rw1_UTz9(8gHo~bh;<{3&hD#Xk~4eDrg-b zQIvxg+{v&FMy1iV=24qgaae-dV_0ugwmq5XSMOf^s28ooJQtVlz2P(eaPq;Oz4KWQ zs38uZ`hv~5fV>S@S%S2(^egn}ToVTcw~X$Fqp>XMEK!am&KF`P6ZC6<)n&EnIVB(P z4RIn}Sg(Goea}K(9qn-$)5kL>Dokmt4dx4Hfbb(}<5HYOOUqL3t_*aOJ!JO$x5&hKmIUI`JsTKS57GQ=kqsMHV(J^RMuA1zG zoq$lQYKe@Tq-eE102a^dx4Sj0cn3D5!WY8KWcTz_x7MoKBgPUOsR>fG7df{t&{6O; zVqDDWquc>QeC?Ji1P6ESmiYOHD`$JV&Icr8IBKJdZtKqZk$_IO>Fm z+iLx^QAjijttkrNKEF;curret$thJPbzIow>T2AWgaQOekspt%tyhc@nJ0P39ES>x z*xGu>#j;FvvUBQQnt5)267CmB^986en8<6Mzf#A?V?ZL5KQpeXgzXo(D2)pTB}O#= z0sUo`Z>!0_YXxLE$9#mOH3B#w4bX+oI*Z?W?W#ubfYYYgY%O&1XsBOihFCx^jodxXU7L90H*8b;+9`?JRoAkoVLMGeb;6)1w>}MP&2ZD z2v(Ze)QU0sjJ!bu`pGwx{qaWc5$riQyJh$a6WQlL8#lfJ%btiaEuK59Qnm$)<7uV;7$p7{d+fE_$ISs&p#k;sz%;0#G68-Nr{S>7{16J+ObgWw zwCIJ||04B?YUQOqRs+|V;pN}c)srb#9|5X73W>pkfAVV8{tglSWuoz|Fx3|}TWqMG zR?Bj#X$V=Wb#Z&x*xK2*a@;GkpW%B0v3X|e0k157NO;9B)On=7Ke`#sm+8qYwT!oe zR<85HBwvgyrmC)Ob>+8&{$MR}4@V$ZG;XtdkM;Y{+n!f9G)O(eWWENXxky*KE3*+T z6##}*{vvXY&X+U6S6o#?YIBm`9%+QwhNVOtd5c&i}U?RJ;}4-gX-Iq5T9E=|43bFLK+>4 z7$dTFHk&E)1cO!mgzhq@`UXQVP2Ax^FQ~w3-yGMaV_Ov?2>zW57GxWHFDxeJD)TNd zuMqp}4^^og>v;@_G|LAi_@>>E!%M=JgkmkVcH9D-huW2S$MY9yU%ff1l0}vji25|_ zFVp(TW~?yTd^1c#FfoRN=gMT~>w%K<%& z;+y;u)c974jGktwuQCKhd3*)1wg#dJ#LG+rBGe!w9YDrCy<*JhW1aZ$e|!glpk)9XLs#E)Sa_7Pd(p;xm8;M| zl~d>}|BiaemxVt7U7((3w|a?Ml5rYNs!lD$Ri$EK<+q>{oKrdK@zV{Wt@%#3;A&xe z6$H%Ac1KKKTN`^!Gau!DB<<4Vkqm?wv0r|kOf zA-URs(-P=>G1WpVc0*w=@)Hxgc ztE_qI26oS!T>KLNJKHtc0Wyv1vC`;5zt($oM_|7En8YM^{Pb8@{LoY~ z|8EE^XjQYJ^%R~%I+~uj4cLJjjO(lBZE$$?%6nP5!Q1u%rfb(==XNbW-?)CygDSzj z(}{4V8P0JDI&QS1d2nW@=A1}^C_kZU#643L<-`PS^7Zr*A@s=k;Kbi1h8`J+FFNIK=j zIql%qvHBbL6c~=HTX}c+Z;f%s4!(H#_r2@)yO+Nq**-IECT&cP-FqmMv0_>E(4C)t z3y}R|*tXUBpqXrl(qQF|gg>!`fLZ3{8)BxPs{XzN=-A5WYtPa)!^mTiDli*P**O4~ zeNepV*;3mSy^0t?u4>bqj;H-{R2%`^WG>16h_nRoad*BK7a_}f8q4Tm1! z?m0oBj-ZtjK>C>y>%+7`(FQNy`TQ?hj-oc!Q~=zUDwQ>J-f}`zXACgCk<9i1R&wX?c`tJ1tPp|#HKkj zc!E`vzj{S}8K}hY_ckdLF&pjpzI-PDCbf=yOPQ@NbsOY1uAQ1jy*EJau`pUQ4-(N$ zgjGw<_d~(M8>F#|59cfK|R- z73^PJ9fefsv9Wl&#go zs{=eF6!3P9RfbDxSyO``zghl?(Oh@7!PL`G%q*ZGC~g7=mf)to)rZRR8(jopYm%%{ zc}7cH1huV_pyUy#gyk@y89ce-d<0}#NCJ4o+eb`PRmaBGfhl^!i&TGnGTcoGobRu; z@V`K&%a5k~MhGM#YsBzEr+^vuK&W_nmC0LcmXu$t1% z0+0+x!JQV$QIhhGVbfp6s;259W}nPz#xR&dI1Ft8K-6Dtc2Q~}Z$bSY*TI-qRwu+D zNUzeV590c6ovy#|M`Hl9vm)U{!S;e5%PpcI)_wg33ReBFJyUr<|G-|oyI+fFUx_T~ z97|Ndsfu0v+8?hCFE&kT%-HTox$lokW70*Z=rF^EZd^#(R2|=2qtH7Ea?cS}!xU)K zxz1l_@y#K$bYZ~>Xnl2&<3|f7H>8Cllj=m#556KVlo3E|ydoi0#GsTC9Olq6eeB?w zYWMk;Q8?m7+U$@0D6;L%^v=7(&G#!#kD4;Xg%x5XRHp&TkHS4@NETf)2hxnPruJY< z(|`8g)_zl|=a2MY^^J^*1og0kB>APN0rP|gT2@5=%A zK(!uD`wSDg^-svLhF!uMPGQ4=x!yYY7^QA7+11jp=T7b}&x&6>9KJ25Gzpb91*$Jg zSKJyvj?3#MMs(S4pjJNt+67~2hEJo{rSNq#RV{>7eC+g z&l^!e2n92z6NPd)!lLye(j5?;2h;TSqKXMI_x|Z8{2$H10T9v5@Vam*4n&=II-BGe zHY2MaIQ=M?{sGkHnE&S!X)Xm^qx}^FGf5>2wz6C&|ygkQ)#0qwtmQ1Vu zTKkTCqN5yZT00PYv3sq{cVfp}EX^ zb}#I&KbSQ=%}_Dy-tkCVo?11)0C!v^(eU;^dOBBa>K=bM3d9HMx+T8@ndU;9o#?Mv ze*e9$BROsV7;{M7u#`U2r;;tq-50if{}s+Z2=VX2`Mb#cN-ww#Q9p!iMKYomsKZG^_isz4Y@i;ToPMf; zGFIfc-QO?IM126bjTGs%l=#a!_oojiRF{2E?uDglVkoOL~Z~T!z5@jwJZ@;e*hfgAN&+ZwD}pcN1ssJG5uIRavIS`zs9TO-7NX_<|H6Q|Ktd@$Yq_Cu$1-R zh)lEX&6c;yiWuLfPGHnRXze?Hsj`agIjXNvo2J)~#p!SxcsVHA;XS7tiA6wSCmj8? z%Z2jl*7z&KO_BA}YNZih>nO7ZL~x4?z|s7%4YcCG7d6*??oe9I>I7gc#Vc;h0O51B zH3uFtbGpJGWQrv!U5jdSNTc@HZ0Zg;c=}Nzycgs>egIPvmReKNf2zE1h&R&;nwR#e zm>Dgurt`Hhe1Cq)27Jj>tUK4q_rZ5YfKstI1~_KI1{O&{!7LqCD@Lx6W4R2f2Zt^j zwlw_6EIsd4$iE!6^u6`}tnx%wEp*_dG03ulRh|9v4 zmgx&G9RD>f=ij>K2VDo6R3ZLz8*U93C_gYi%F4+wJ3}*!_&hDR_*_XT())kYn29&k zhdC#g=Dyy1#S)2JAslitbM6wUK80RCPDRT^6<%t{W3K zfpk7SXwr!i9ybq2xGZ$0>XT5#=Om(k65VGjm}VdV-KaQC`=u0ZB)fke%C3I3xp$wL zlYjD2!k!uEg((-7^Bh1Ob69Dwca!5U8DcJl8+g@b9t<8m>N_n)Qya0pCJ5F;#Og3hnyfy;Yq%h7Tz*RW?R3a6fqqSctoxer~6p z9RKw|w{=o2V+@Xdk*rHP7EU=BP0Cj`Cr^0NaZ>s#DeVO5^1DUDa zGG^+<>`Y~o(n^63lG@|lU|SJM`=5RU(9ilbL(krV#9LZCwXFXcDX5u-rsp>J3Z#ix zt!YQH|4)6$u>`Iri#9Nx4KW*vFl>24I>Ydy1GF*Q_Rh-_NCIP#Esaw3`stZAvw%nT zVx6c&%1#aLK$W*ZwM8iX+zs932;J=2r)i^NZ(I{TqOID0Y9AXQ5jXUlsg{QX-vgZ$ z3_$WUDAY+Y{+jxtF;tSbshdgoWjP}@0XOlHr~LX4dn7`xL@@7$&<+!I2XN4>1gWZD zoq*iEZuUrDKC&%e#jpcseAnyguAQhYztp>_@MpvHxgT1>(a>PYS#IjwwqF{0)!Ag# zl6I6>vV`^N3$?(l`bh~QP^>2^)_?isd^%qP?|Q7}kn~gjJyrt0znSLj%n?Fd{hN0N z6jr`i0kA>-`YmTm_kZfen{R(Qj&JV%r;}#$O6Z3q0erKD9g4Xiw*%CtS1u>c@5r&t z`QJT8F_Nf@zw(;-ERgqs=narE{WU}%MKA^%{%0;0sx9yiN_bU_>E}W!sgj%il zi(nx(6|Vu5`-KUdq|W^7D>i#={E&apB(`Y9tp=DMsr-~54)}?Gj1VXo^^5hNBTngR zwl$1*um4u@ZzO)OJyLS*nDrw#$)43h{=5iO9c5+8clgqnRLK)v``YTA0g=#?xcl-t?ZNTs7KG8&Pq<5I}R>a7PcF*zb5eCINSewbg@^6 zaWyemTQLDjyMw=;kw@hUYrXve7+gGHtwbRjn^9f;F{5@bl|`X*v2yfS@BMY6onB#{ zr0(}xPnb}g4v5duY#o=;WvP30{cj6C4UHN?Wjg#fwihQFwrg#A8c6o3kCKqRxpGO{ zlL?}Fqgadn|GK2qJw zGi5jZi$38oMDCkoi+$%N>qXmr^-Yoy{Y52}I2UH){H)K>?)Q!N?v#AQlRC?JGAAWF zOKqQ5Wf=o6Q(OI0)zvNe@a9ADc&%b&YP7yP^k%=27L|Ccbt{oahSpn*Y1XB= zwlkxDy!FN8ZMx+&7_E2uyqgbXbH=*{cnHN~H#0m5ImRUBLzp z%`Ex#@T-+D>38jLW2ZM!=@~Pxq6dS5`a=Uw406}TeJyt)`duCPoK<%W-RruCNjY{g zmPZ}9MsZCVC~7Cpd`U@0dVA}~SzqVrNdAS_@h45q%P|h4jr!D66xyv&som~nEsb`<8^7kYAq z)}sOQ8(h9;#pGmm1f&*icF`*olo;^PdccM1XX#i7M$@$4)*@gJ|0Dow4hbA8f$DZ9A!<95ZJ(dR$1mlK z&c2wJMj(*Hb8xqws3*2WO$z>W)?vG5QbS8%A?Na?Re&6*YaRK$DpLPgIuX( zS@fu~dm@UeQX?@6cUV`;c-7HhiDw6h8H~$L}}GW za$E5Cm(a_!;NVc^3-j2BD#niHPovxYpksNN#M`B&*gT1X>

c+=coq}Z$+ic)l;_NSY%jxJfyFO=xHtxwFOC>29-Y>O`JfEtu zl}v3h2=!*|cykWcUX*~}=J%Yjj80qpvhX*A6GGmwA*q@HH}P_ma;l%G2j!5|mYR`F zJ&$BYhO|b{;umsWh#$C_XMGU=#I;1VxAU6OU4xdAGoOfonw%4}MeW7Z>HsJszaL*W z5#5?RTYK-iLu`Ft8VjEQcr3vaPf}TYk4mnksaxTOK4DsG6q6I?j%Rsx0qEN*J*aW;wkSLhWKj8 z5et@mjH$~rDEotsL)Evn?ddpE;gEfPXz7zr6mL+9VrZ&31aWa>g-jUCP*03E)=$3D z@x;7Y$oPJ!$x7`aFA3z#h7AS}9-?+sw%!toX~uVxfxc4}4(2?x8fMI*yAjChd?*#m z^qXxUy{#{(mSJ`jx_|7Q8lq_LH?PNZ_{|R^^G$ty3tG6s;|*;4CB%58l~bm4@Wv*Y zIAD+*b;q8%ElrH5wjY*GV%*-O7(Zh$5nj?i`7X86vJj%n+MZ+Szi*%+9Qt1GyeZm? z+GL4dOE;*!V6IGU9@gdQ9Px7rKj(=rBts*|iKoht6YFKNX|0NzlA}y#hY*+{Q*dOu8wyeN zew_{2N3!)A7{9udcCFcBht6xFr16CY7vXHgx^d}*JrkDo7B(?zvNv>z@=fPtFON0* zeUr{-tjUNA(YjPIgdprz%U>AvARFHZiDJ}nUWG1YSTyv}at!ao)9kYpdx9M+Og>by z=ud>)mj=cX(*>4DufGJ7%Gi19v=raGny1&BbeC?(F>m6-arBMQo`%{ZnimCqeo_b= zCVg7_Zz0o7c;2XPh1Rp`oKh)3k5*ie8M0xG#GfNT1@*%@lRn!6T;uir)Ivvmdt%^D#5$LjcA2Q@n3b+d1bkPi+Z*%>i(Tw6rJ95k zeahx^P7U4^=&QArv%ITdOj0)x_5g^$=AvL-!ip39vwqQ(>&eN;tlA~}QP|Zc(Z0jP zz{EfuIKrcEOtT!;LxT4jSPbri>fSF6Q}usYz)_j4WTyO0(e}uOo*@3YEswM9gVk`cY z3kEm#My}9h5P53ATTXpkOYP5+#Yu*1cW-^tSZz^)%i<^Fu^L5fb93~dp_g4d_ms*; z%Qr$vv-g|}8SLzmuFiM1WPe-=u-QG2_E+O&7f0zlyN|uJf%9U?XA}DEJIe$Mm36@K z!D3sDM-!Rp;DHN(ADYS;iTlQ*g6K_ym}4j`h`lcivF~^wD+U48NS>WWvRzF zC53!XG8aiU-FDZinuO#!1>7%z#7fUd^UteQM3j;t;{vV}u54!KQ~yb=Y3qo}TEOAIbxmS9Zsf+s z`5M303(+?x!vmmNR}GbWDw&xTY0(&9_M2*w^py;uB^b@R$|2h{{g1(q~e~f}$X+QtlE~1=}h!()lNj<2C3iRW*Y0B`Y&XV5iYz_&>%DAm#oeatSMBLAd9*Yci{X)pYze-K>Y=I zM)5AolgCypm6Zg<9cfFmWjoS*3i%r%RZ2Ik^Sne1B=gVa6xv!`^uJ%!XzSMX(#qv| zUDV_uPSJRtBv?|+uIdwDJfSBCUSG*E^BQ0p!P`GDK$8az6BaTG6lt59DCza3@O2m-cb5{ zkEhGmjRe!mt_@4S{rnBIUb@Q3f$ZO+tKKdYNGO34BSZzl_LC~iuXReTl%>F`FX)8tmIU#efBRWo6FXKVwIx#2nU0r=s_e(H*s7s2z^KK2t)~f35ns zu>)D^t73=|AFtE4LEl5V$|${h!FSknT{4);fFAE-;AzNY#)QFbd3x{=o>LOqk=1mB z&vUjx;DD#Cj|mAfjAUg|jRn-+v5g|Tb08#`_jRHcb?g9~Faf;`817u&Y+Qx)z`_fn z%8zyF_PO4@-WNgbSV>O^fadfVbS8l*ERLwON)ajTM2om2KBx{JwDs ziA#G-Ho8Sz*N9A;unbV!9Os3vGNp#%7D_&p7^BEi1@$RsHPhX3FAI@r&6umzJjUBs zR`$O;|HgW`M_c&5XXfj@L(`M%KCdccos9IFJAvtQN zJT{E$Zx1Ob777bi$YPPEM+G>1FNKDvp$1H4wXE6aT}me6=^&Jfrb4Rs1Z=*)PHWTk8Q$>OiIF8ARU+^CxmD z;$^lBJ$NZxD>?h08Sss-^KNIG z%l^@UdWnbZe<0lB-6?Y&M=xMd`bl^DUNkuJkQUglUXDuNM#xexl#sGg8*W4jYbu@n z$wPAv5#Ld0JW)-O|FGOo>Is9uEvcsXwcg|hs(Fe?W|EoB`FI|KL02MJ8M2y#2X*HU zuUcL8SjG}E$y8`bx;@qEF|e>S4}hG&1bj!z2fae&Z0%ehe5A!!hfo~`Da zyUt_epocMf<0Q=Bp`g*A&$rWwV6+aZ8#~l5VD@gasAyRDyG{1lT}{l6IjgQ%cA#F{ zWk;3GWt*aP_FJMY7E^Agr*aAeMf#fgklcU_@@ye;Xil;7Z6RP*hpt_{o}xE@-i`YGY#fH zofA`{{GZl9UT)LXInlPlh|Fx%(Nw;d{`?>N_;UKU+x1DKheA_as4h7B-6g8ML|61} zeuw|s^c~pB`jp>$NbP@GEEAT8l5V5(!=x0&=q@Rh^$anjmz>flF(gQ3lLjXJz)EUZ zp=x0EJAM)jP3o7!Qtd(|%ZX%+Otp{A)qwPLE%gFoZ>vJSRqG`XP^gB9g1jQvECWTR zGJm9QFa6a`EQl>C_Ph7Cp6qYJr>@I=B&(`f{mOW(>d_GSQ?D-$hL+~zH}SfBuJZ<) z0&PnIpu1kyayubL%vXHmn=&4Cq9uwm(wZNp{z!nY%%A0hAeBu(6Lw`X!#Ap5ZVFC> z9iUneR69qoOnGxy>oQLV&b^g@D8DES!F|A75uDL1@!x)OBC0fcAxeso&w0?Br8zNN z0=dtS; zKCdL;nF`^1_L7)Md7KkGkLn-13}U2-D(#5Qjss@sA&)MtDsko)gs!{eao8F}qBJ72 zwagXkqUl?2OGcul`X@KGOXIf+BPKUOJq9N0;Dsrpq=OeEl@^b66^XjQL?06)3Ov30 z?t4rMZ*edPb)+7oQi?cu^TfEE={am=D&DZk+ZZONG-iAL_^ zZ>=Plcu4nl2j0kbP`I}@ms9KD{d}*!IqJ8Mfz3L)il+L>mFC&yLyzl{2A{)n+RJ%; ze)|PkEV_PDBD5aM48^mBv0k{ROp9-%w2ebaw8|Iz29BRYbkEa~M7)-oXUu>$2(v1V zJ6p-Onq93}KCfBbzofky>1{U+p1fRSxy&1Rs&;$ebMzz6na%GvY);DcM4jBKOg%+y zv%*KUzMnZUN6d@hS9ULU_1m^H=E%Z8!Z7Gtb?CQ9=38WL{DHYM@Il zs;Yk?svBA#iI#cA^*B)?K|KrLy=f>4@O`jt| z{POvaAREqt18QRhs*j)Hwyk0k_YRe<9^`{_OeU)04ag=Ep6R37OPX4iRzNH{t<_wa z9ulC-D=5mf9X*f1k6By+Ipxa>S90RGx@`Zlh9c?`wK8_EZkM;Hr{wCjwFIc)m_TJA zC!zAsI^w8clz@nz9S8=HHs)0C>T4BS<-t*=pufViWRVf1m)8J3Ge8AdcD?DEX`CEY zwojR5L8A7YihFoHBG+C6SP)woKI3i|~+Mn(+a*(XG@KmxHUfSUvbfPd|~r3dnCBQCxm zpL_6k$$pf>xR_xj!-i+DiBk7d_Aspnvd>$I^okJ4XfZ6vhf(o2i$j;RlvCI-X%XEt&JZhTATdehEa$85H(2(5pQhC{*z z>++rSsjbd-o;C?M1UY!(g(A!{v$4Ga!&o4NVQ#7l2R!6k4k;gGFfWc(kx+(SHhmJ&wza%uKB3^(n^qGy*Ar# zzjqpS*GYvZ*sSZo@TD`#-)*?X`zXFaijT6r4%6OOS={7Dw=JGuHVJ`?Nm2(cq^VmH zXX6TtToXMvu{h4c;i3mec(V)WjsMJ`h`G6Zw-7R%% zy_FKHHMe|d>(%OZADPS542d#2{`(~J4sHA#d_jPHt2z2NGn`v2L7R0 z_r^-T^=p{mClq-p8_8pOW|%r+ z_W2FVFpRv^-@Q}wR9~MYeDys++OAKr-b92Um*P!@DuR=t*>uEUPO-Vgl%S_QJUvmH4mf(Ei0Z2#P$&#pMV+ZPdHQlfaf!@G$jfTSwAF-(SB3D$G~b&bT+ zWaGCXREIsOyqa0trkSkt!cbaX;N`Fc6>U+Cs-cc&ZkCz-@2*69v{o_naI@?l*xjy= zb;l#&RLP#Ju4V&r?3bT;f;A##_N&67Y%Ob>UsqYKM9&qN%asQW3x08p=W+OL-dIN* z_4x05-}^`L^?XBVDDKLvv}SOEfbYvwBZQ{9yqsyEI8af0dM(bk zp*>VwtvEILwIxgeiobPB-1J5HJoHj^%*o62zt!5On6(^GHmEOTl(OtY$J!oFOt1Bp z>C%!K?p{~i{`M;rQ^nZUD<-;wrm6bIeIC~C+nC6BIAedAbW&7mfY&s?l6g8k@+i_0 zS&Vmlgba0bwI{u0pg-^w#jsc`TY;O&=21rtmHIpveUMGI^!dd+Qm=Uac|vJXE@Mh5 z{}}vA1io*^b|a^Zt>@htk-7rg0?WA;g?4x_$>3dqQBTplc_)x7BLiP`5SFtlbW(HR zmJLdumKyTUMFsHn(q@GO@OmL}L8-R?R_2>&JfbUyW=YH>kl6~QpRNg(wKHV3DSQJb z)y2;Y_qK)cjCs2xFS~SNQ*K>eBHfKH4pv^6oD+V0ztjx%4bLh*`g>d?5+?O+#{{1032jc-T1tmm$V zmAHJi5!9G^KPxMe7(IWjkz#sg3_ok2%15VZl;u-T7jP8s>;0aRBZVwJ{$!$SL>+(i zuueXMX>Q(?<9-6e^?Z)1-|c}O@=LFxNxU;`4CRUVrHhF)FA2Fh{J2ZkHhjr?p|kkSWW#vApH$b5 z+mAPQT}3>xbu!~#sr^XL36*p}jr5RG`Cpc6_*Rs>ecAIN*^eID@kbPkt@b-V7%S06 zWKE@*uH_3SfoQg=e(l2AccdpLw4*Gr{~BSiGF#=J8Ayv*7W&%dBMYjda~9wuy+H!U z)?yrLKCYy_uG){fSU`n(b;-cbd)oO@tWL7r9@~}jKH5`w!359QkaaM2h0O|~eYR!~ zTUsQ%?Z>jbM84ED4tg`R{$uSX!@Q*x{EL9WhdjoHC4;6tS(1)N+uyH9EQi6q%~=N^ z^CSDjY|0-SbBFY{6{*fJLq_S_FGxU~meJqjuo&VBy#7vlSfRYWC;Su2kipOGnSo68 zW4Q{LHt$h7fK2KAeu@wpMW~K6i9l!iQe zN1XkO64eyUmcv-7Z@BnykFG7VFp}jMp>o4eRiqK@wGVE6BLCr{%V#Ts%61m!YSh(= zjRwHY98)-jJtqiJ_#??ic5SSe6Jk>$Gj_qZLXLe3Hi#y&B^#+r+#+^Ce&|Zv`iqG7 zabDiuFbpnnVKFUht2XTXWlf*-E*qpzBhz$dM_hrEYXaV`QPOTZ^p-yLqLxxHICrX#igu5}U<{{nh}@o<6QY%#Uf@)n#>i-2D4-xh?Lan^ z-0JM?3R)Oe11iIqEf>A{ysKjOc4bd~(mA%f7%lEjc&t8NuGFL1Af3D1nB(9mXgtr~ zYiZ|!&tICY!O3MvnAUan=v(rcvaIq)9q4}~9Pf5Mkc=Ig@pJoJ1dikU% zOd($D`7Cv2jtpJ40JrD){#XRo_N2;(3J#j-=`87YmYMUY%m=Z-X$)7BhZ6iJM6n0Z zYoebjXdY@9=PZfn)(|G*efOAVMI(+h^auV^4o$I+oVU-ASZe8FcpC= zaza1*Q1_nw_-bhjlJ@vAU5$)zYD~rB7W7k~;Ieij%?U=v5}Gh+axK)36*5>}>@5<0 zZPk&*r$inU<8C)FlfL`7?q1^`TR0Wc;xZ|-T0V#SpfUAxj!{}I58@Z97&~Lfcp8cN zd6DvBCiT<3X=95Qsh%6v=DB#eCshnK@n&~rDKbgJ%yQfFnP)JcXNVp1W_*7}_Hv_= z*by9SR?F9}UmQ&2n07h29UFuzY-zGigw+(*ZGC*j2*2DYwKIq5*Pn=}HO&hJdM))_ zKy7{r%vm3%%@5Kk5?wqDWYfDg^d+>%mR??H`PQxY26Gv=4bmD@|m1dbw5QS=>ZkI})saNY^tgu))%(oA3R3t!bt!*$wcuNeh( zUCy3QvGvBzXi6gPP&A**DWvDuPLLaX|ITa4D>1$ypuK|~#bqz2IG~5MH522o?zqBP zg?v*y)s{@<9EQPO&Ck1U?Pk`huxFoXsY&+FVB5_Rg#MR~7&~Nrep8F*Ob8e~Bfs&8 zbJ`+QL z$1)%Ec{Y_smJyle<((U`BwV(?`s;?%j1tzcZ`yrxyL;N0kA8CP#1R~cJ4JwJAtm^O z_7+}p^m9JvpU44bu~^%~7{Rg2f&Le6T4t3>X0bcppu@G6>RF#J-;JPOFO8mPW#;?F z$-FXOBci6eYQasjMi&VdL>s2^!g>ie z6E1N9ZO6ZS=L&HwE2lqKvueY5h4>lZHAyI1m6D9nMJpkzZc8u1wh(?g89{*3t+}Oj z7BSm|lr_3U3Aq{)@Wx;^mA`dorthJ3BF+J;mQ*&S;bRImi(-@5d|S@NlsBKR!kX3d zOzH~m%rZ6^TBoufMK=CAOxNzpYAFj6G_v;H!Iou&5|Pt#Lmmiyocq4t5nLkqSj$ez znj2nNzN4yp7tAfQ2j-K&&8* zjuD`^Rgcw-`nZm;M~|3k^1Twvh4s0!rb4PVcy$jRz8q#EBdgfiQpqWb*1P+mE?x0` zdjQMLoa!2IH1Yw0OC}%F_5p%GYsu~r5ZbWNEBr-ETtN%lkDb%L43&n_1(mQ$IhRA4 zoWlpHu=;%XA>7@S>!nc>-9nj?GX$#m%5JRcjd4v?Eg%{;uom9T=ZX9xWsaCGn+c>E z*>Kwbd*h^4gRS8RkU|sci1|j=k+nHnpHNTZN?r!bH6f`P@!vG5w-QOIt-VyZ z7nXC9rRKBe%t&)s<9)C&5<6}*RzQ%=tbQ%mQ%+@__DHQ6|H{%F+#Nx*~^z3(5Ug>S{NR95}KjcFHXNI@> z&MiaLo{+Fxz9GID=BXH)*j?7jJGWkuIK~VBR|o0IS+6B8p?QA!E-(MiqF*PJuqd)N znQ!73&=;#ha*9UQ+rzjn&+*|Nj#C4~u~@Wf_Xm{MB1ANvl!S<*$XipHa^#}@zKs~h z)UHqOL@*L$=%G?!%RgBWQ)O6UZl_OLfrmQ9*_`e|=21KL~p&^{RcXtP5^tjo)#qBUkXJY~=IOj_$9`t=9-4A(mAUbb51+EQ>>K`k({^K#ri z3T*e4ro;VED&!Ic+lubcgR4}q@m=QxHyw`dr)5DsqawVholt=|ku`-ppHIDVT}&BA zg4TspP;R-}6IvwF}+}v@90)`1>3LwdFT{7-5%^G*T`- zQQIwDKhMov`{c)nbDl=?zk0pDX_OEMJA({P(=H8}0|UR+MIW%9 zaRNb%#E_xkMF1~1|HG+MF!o-HWt?N%Kkq!pkHi!AxqM4n3L)QVAwE&Sq$>XHy-{V{ zQ>)ncf}^O8E%ePJ#yP?IwGmBBxWg!drS_72vhMxtGp-Wd!SKVW#@r<|gmlRGBVfiv z=SiKESWE9U5VIpLV9y$2PtjU4 zvSr;vm^tymcm_MSTmqzvsbQmI)wLmgyPOyC z$?HDq7c7bBG_Tdau7=LaZgp)T?8yRg;CXhKu*k^y)X&aFD0Q>d+7jVAM0T&%&J;aa z&m`^>fXlvZS5_;-%!P~}zOx)ufmJ-XOXw25Vc=J_lE{BCU4B(){}(pkS9RC_fhm?( zIH~4&Geg&C`gcFxkC2cJ>@$5i{9@nldfPV3UY|I1X<7c_Mf<1DVxjLYT_}=kF;2 z%ZuI|OjR#!F^vABnE6z*+fQ^0A%hFs|F8ej9RK~bWazia`bKtrqoUCY&nRr=dW{xj z`8y`eHAMsXDwJm7O$+s00gWrb!WQn!&)r{aT5E8e8@968q$R2;rKtqKz|x(T$DEem zg^sL~pKBI4eU_ddWI|?R=GY-zG+p2XdPwzu#AD`&^d;iz<3@sRBSFk=v+ujZhfm6i z4FC1EHX?UmU&{#n3KF!>wcn)HB}a)Qp81|DF*{&faW;x*wA5m> z1W?Y=DWmtgEi9W5NK7}#=jdvSGtl(fZEGw&d^|6R0H%V*v1 zQqsxMABCTD6kk4~WHk3Q!h22mgRw;MD3av<49jESl-%nh(Mg`;3 z;MAM_K2f0_xpY+rm9vCtyGogTHoR?i?6tzS=CSXHo;Vr}ri8ggp84`@<^e`BAqVcu?X!O69C&A!3Sp>xMSp#}t-wZis{9f9nBp*acj zozqLG2}630X0LBnxhZ)QQ|nmyZcIN&;x_{bx{bZrIkA6?Z)T$kWz<lxMK9-Ohd9`3^8WXiNIG5C?)Yp3P@`2P9m-pe_Zf#)GU z-p48ZzG-I= zXPXk5oY8sgxnxfxsewR8N+? zkzHqMEy6;ke;LlyJzv!=+c!~&cG|wIwRAQ3A}=A&aa)abL{QAN_RJIOYc>QI*G$-- zU4$}^Nc=W9iotL$rPVd&j_yxfJE1BkC66oc*sIKoyC?4Z8=b=Wa4gLSt!>&9JIQzo z_hFvw#XdcJfkE%C&){ql@GW@q%N0o<(wtR4L+VDw((Ucqb^0BzB8}h#JEWXDD zSEc8BI~}zfZmcC%eCUsFN-3E7jQ_mKR1xvw!ACns_Zx2yR-a4}+pCIMuwK(M5w`}F zAjRsjd~j!YL-nK5xas{pThvLp>7QNZ7~AyM>w7f5#}wbv#azP{IqHo#i~Gh59&}*s zqdR%zFLcBi+|jidNeQ+}Oe|8xsC?8^EDVqg+h5e?W7Pkxs&z~3oh>zlIQzB5mZ}y0 zjC;>SRZQNU(id=NcGZjNAGYX%1Ryp(`yQV)^~`=?=a+KoBjJ`mq}r`MobNLuzx~i_ z?Gc>h+E(V7#I=x8g`G>yS*SIV-=2NfJdplO^zhE~VWe`X=({XSXoM){VHh#>Ho__? zN-`cEyyjk8mSH2=ZQ)PS-z11?u7Hb1IG#p1-u0us%P>`V$Cqk56u;$Oc;aKKew)ID zu$#7MKu>>zEC6Sz`l!YAWqUxnch6jh(Wz^K1nGOJcakOUM2x!Cy&n$RIlV2*aToUz z7}nd?(^qPre`#LtyEUCVb!2>pGH&~$}6-B)G7rT@7nqePgLqo zU6a+bzI7Yz4Sk+ia5H+Qp{o6B9x=WQvm=G$*p5Chrt zX+z?>i-B5~yqu0+KUpD1E?F_TR_Ha_4HI?x^m(GOwgIcXYMr_Dy6 z4WoWvyk=iLt=sh);mvu{c`cn|f7%GM#`?V5U`VHRuw$=ZhW8nMRrw)E*!h$arSQZ* zO0`YhVq)J5y3DWy{kD~`JPFP3sP0(z4Qsk`#rELAhLm^> zGzG2oER8#4TdI%Fcp5TPC8?~Ws*1`8ES_2K7$lSHV`+JFK#nl2-ZpoTX$g`4)O`+} z*E8oKVZBs(%OIN*|1?9-J>7UFyKnV@Ff5#r|?2W=XcL8ro4qaw92RD=@llaxb|4 z`y>ZWPa@wk1BH4z0QHLu;O^AGK?iM+Bn>_$;8&wLr#UX(+hU}584t+)%#W6=v8*Lr z5Nle(V^d%Rkcc%EEt#NL6%SYK zEYxaQQd{FN*EesG3pjl;4Pka^%G`nkCvClJK+B7Yq4yWBdNzu65Qok*_dkgn8m`hP z`f$3>gKNv1rGM7ygY3L(7`DIkvA>3(*wV?DIAeiz8WM zYk;&M8|myu;Ti!dnL>(C$QB_T$DT~>J_6B(%gkg)DUe3xL%RI#+nBWXy}1{xlj^hJ z?N<(c$G`(2q=Ccx8e|Uz?J!i zwWFzpNOb|W)7<+|4|)I$UsSl;Id~*=;YdM8^2$JqkcESIQ1R=I_z3>29Abk-g|nz> z+8NTnonB_S!57_FaA5;N$ZF+J%)G#WEci61M1l66J(WJ_#HT$giBzv#6k)VCmaoJ!U^>e+hcV$ z>q1*`!VzE#PMBaCZ zkKk^{F>YVA9}Kfq;99*l3>NF`x|zOupWXlIdBhqN6S)tYZCao(lLwNlnnwdS3JDSV zvFRwqlxLkj&qC{uIRTW-URazsqMF=X^k(?R%t&~7?1O*8()ND6bxV|2oKPP0(Q;*& zU{5bM;jO!RsVyy0-OtQ&c@eZ(LA+OBCOwpU^2K0Ei;oewtmxw7S132q>Dz;~t)F!g z4rG~rRJ>`ASAu^gDmSQxP4|=E#~>_>KI4u}3)?Bp!nstKKmVg*?5)i?S@F8w+?<$z+f-z<%)S;OZ6vT#n%4m<0i~cjBs9R zL{Gvz$?x|_i0&rQ0!E5A%VVo7u}iwZd#)QjNivk_l<9@)??Vv zykj*@C)BL*>%(BzjBsnB`J2FE2y>uMwHogi9J~O{t+=wW+zn`vs%lNW0xtwy;_x^~ z$(E=)xn~nlLosh;x|7N}?F(u*Es2$O#5Nw|cB%vHqatKI2q^&0ZxdD6j!j+kz2A~6 z*N$sJjhd-E0(xq zQ**esbDN&h)W$=t(L-7BMhA3E`8EQtNWg#ehbN|?53GZGxv2FT6VF?~x~}09lo#tm z3Mu2ik3$|3t-Ejfj*Wfel&LgcnU1l2WVn9vp40@WO+tYQSbdNj#05)LlqPEFwF8iE z0ynq19^Q|6q%pDh+G6$go&TI@R>L^D(tZ#f;vQ$o%41~ggZYAzi5G8es`qLfQ95Ps zH)tV@at7^kz;Jd(DQnVS%vW!RPH&!^rkh0%goZ=mye~QV7tpC z6T0(%4OcuK)gFmADb>)#4VMZoQ?)>XH)`NYAHSMf@uHzke3b)CgRfE}zMkL4KTIo# zbo7hzdiV_G)v;4s#ExA6q8aoIPK2`?4+lr4!!IoI$Z5h))3FJMD^NM=s}IpU;foQ3 zYiLGWD^+szyLMrd9bRvfi;s-vD@v&FN1csKbT6HuJC5+(pT8hqfNB`5nH*I+Pm8QK zT000H>#kf-T14ZC;@1&;qboLW&$hAQ6lm;xvBZ!Nn97K0J1#eROy~s<(*Bvo*mx-q z24}jrWZi!-k}A#5#0`#n`I+iNnqiYV;ei)He9}3m7In2Fkk5UKDgHbDwuUgLas8JH zAaMFPARg!dTiBRgKnD6PW_6$-G+)ouWhz@ql*kpbU`KW2i#s$VO*Bd0t}H7y{8@t-+|mfgFwgnSnBoTJ*#h#U~XAv{p~LQ z=~IG0{`51wwU)IUHeUV1*$^DMy85B^{iTSh*n)y!5YCmfy?>?JrtKTyAcog9FHT2< z5OR}w?@~r!oi|?RtUxmym*zxz_LLu*q7H`2$CugK?zFeThc|n=hy;kwFjRGRu`!vP zzC3euVFNqYxL{$0<~sxW_<@$ zJUWsVkM;%`GOhgC|B&)SjL-A}=sPE4)2>GTtVD2cYj#<7o!b72zU!#|-Z)X-7dH^W zV(WpbEsXVe)cQBqQKq6&#^|DBH660yw~i?0>xHLN52f_&MJ~5;^P&p<-E^a%*`Cie z(SUwfdl2WX_&C#+{CU)`aTcbfJk@SmnX$JF;d`+49Mn$LmdTtw+huLqqusoRAXPz1 zt)QS0&x968<&5b(2mG!4Xv?r*Cb&O-+OdK^{`!}1zS3p=_%J8kq*MpfI6MxGltzgA z<`C2>Y5|CG-iqq{`~Dvg9M$Aw*+kr~q#-7)3o+~Ry-I7JRd{Oo`LNQ}>Jl0GTgl0lJ7N)PvXy347Y`=xWCPHVdf z!yXt^ee5?hVAiC%nf(CrVat*np2Yi8m#Ek;STB~SE4an9Inw4t0D8MxQ}%=<=yFT> z%Mgw6JE>hnEU|%A<7VN}i`%_N{~19R02C=m>o&WLf%K%XkFvf;Y4> zbLaLplt-y<@7{LQ*m&yicuYn5Kh&O2b@zv)h(s zTMDYo&U{yG+o7(d9qU>zUf5ZwbO_JXS4bhQuUND`EFH;btkdiz4eREy-;(sca(rMk zT$EI(b13d%diTSDH7*W_Wsq72T19?Y3_^a@J&U)eV@9{g4ZL4oW$z4OYh}-9eFFAq zT7W8Dyp9YOApgZU|CEY*sz>vW8ay0M8Rc9vk8wxM zOWp_;^O#voI0PtUx86KDfvb^3jhG;g+Eg17j-=k9&Ma2(UdU|U@DXr(g@836OB!P5 ze#p~KOp?lpo-7GegW4D#&L0m3k zbOojruX(76Jnz))S@CcE?4L+gt@Ahj6TVSctCYNm+IAgDSGm0Q;U0fDD#g=HdU@%X z)M#XHHhc~_nfm=Oa#<6X#XB9`o}_wE$1O6Dse^o_KJ8%RGhwrA%uJ&*W^-%6h+zeJ#l#& zcA)+Fmez%x1O)l5M*`>*1O;VytK-xQ0RaiMV*SSx0{W42J()ZmvyRip7= z#x(s4U`&%Bw$q7hn=Qd ze78>(Nr^e-v4Wn>q>Z1%uQsq{?_KsCV23FTBc=PF_BcHt$FQZPAh`RSuW+PGw~X;j z6x*T4TtX1t0^36h5`Q7N38k)?a9qiT^Tp+(s4aC5Ab+T}@1c~(Xg>dF()$xYyBiUY z(~7P4ymY_6@A1S!irbFA6C{SBxWxp?X6i2>cj;=b&5Y&WIY*2jCKaIO-Fr^mUa4N^ zyl8pAG`kYLRP;(gf8IF`=Df!)&Y27HiySDZSOKWiX?JPJU2aJpbA!vL$sSj`$<>qB zS-6w*q&%}-A$>Wp?)W3AnOlqbkS$ZbrcozV&<|ed(`jQxGv1Ar(0d$Pvy$y5%ssFn z&*SQkGws+V6}58O26Roft^G4qk#d=JbsRubxN?-oxoG-uzhKjo^Ug6wDOj%GhT1@Ub$KGtND(DL)QR>OL zMZTCOO^pxZk2dYlJ}a_Un~e>tD0pku-nUFjEay1KZE#+Ck%uJ3*pb93i~WS?Jzh>^ zN;ik&5bu}whC3-}N`1T0WcM?)pNFa8%;+ek`jl6-d;c(tiEUYZDdXS5VL_%vGtU9T ztx`uoViI9%dWzb%r6`pk*G|Y%qQ#Jp(qA7Ov|d2>|CX3PAYw2ZCnHj)`#DD1ALHT` zPmxkb{|c~0_`8lXNPF4y?(th+Clij!m2chFN;r#O;sO5N^CAq4o*sS`A;m}gOsh+q zAWNSDTkUGAi7$L*kqVu)m3*0UqioKJcBia10csSR0>YF%>%3d{wW5=Mtlrt|i~t`O z90xHO>AcyCHX?@TMA<(@2+c@4SAxHfI`A93VCi_Jm9*J~KVq-GQ#ab!_7s7+%(K?t zl{4fKU1WCiOJ7b!^oH&)^rkdM~t@$df^&dDe@j*$iBScF*s!a81?;1NJb&a5u*z*`7cEivqH(W#iI zw?wgCkKwz$vB)arKCORK=4z+mZ+RRV5dM50S69KSSklRs&_qkgJ-2-mRX&C4Omx=L zpK@f}eFMTR9oPZV)M;LoW!=Be9hk>U5eE%3H>JI?LJa8_s1h4BfRC3r$jz2uexI;( zyQAw~M2}v8>~W=T?tyNxllAEMD^8LsvFz zz!?_L;AY4-*xB&!qAYa3)~De z2z%cn)?pa((#A2I@F3p<2e;wILhPIlu<~nnN)IP;7ac=?$|%yuk2c#$CO!Du4N=WM zqq~ibULybP9E&M{)8UEP+1#XZP6n^Nk2#vp_?0ZRV~-TD6`B_~`EY{NvHrhL>Jr+J z)zrgN*0jF0I7H%&TrwO9T{FVxi-bLa`-~i<@!; zFFd>?v2AW6!?;Q7iFpO)S%-4Kc$DT9?WqU0=>2s1S7Kk@&fi(zCaw70`=r%Gs>ys3 z%44*_QP*uQ+sH6#J=Et+hU^Y;kZl)(LTdC?zP0l6u}gg)^{RP4;nDr)LDs%t*Y8`a zVTG^%ujyy%0v_v<{#wjhiMpgKTEeGDFgOVxg$M&`+=o^Y##+9A>X19Ztr5Fcc{hRG z6ys=E8)w)}O;hh+O%w9gv78VW%7L=*jshlK-xZcih>qwN!*)ySPrh+$_Huy(Fw}OU zSXgqQ{`9zAe9yP}KkHz!p$R^9EZ2KpF|jyiQ{?)d$boGlb-KD(s?Vp`+CAT+zx7pr z5;k`b*%(jFk7n8WIFUa%O0R1DkZ6I(&ENVMmK0wXWMgsa1D!~1b66ZvQeeA!J?o$s z(F9e&ueXaTW#!lG4+gRne$+i^-_{Gk}Ow2j1vQWlxrJ;nK8TDY^Q?{ zwx~_V*vm8;FPxdGDo-0;-Cvb=J2HGJfc!Hi5rs61k{i=?>es(N@o7R1b*yIJ3$WPn znq|;~D6V4cA6bI9oQ%MK(yg+7cK$B+kv!Xd;vWUI-6!)Oc%k+G+D&6b(x{|H_KYZ+ zX7<~I;Myj=vY@YPrvnztepIcy>EfKZp-t(Y!BNAI+A9UZ#GKPd7V$eqQz~jO_?z6| zx9+Q(`}qmX-!|VIoLc*gHhl{!fm9x<3yvyFll{XXSHRe4Ni$tRY&ziHqJF$E zNa7(#ws`(sCBlmguX+N#*LFVYqI{bcoyj9V2HXOWKnf}Qlccf$^?Icm4V#M}OxIrzQ@6%XH$9hB zM7z@AjTQRi$L2GYlqO0U&tG3^?`vIn|1^7NHciI#g-VtA@s8WA+zYO6w3| z)~_?Ob?9aC%K|U*m%byLMhzvSFxzJiQ-e-OKQi6%W&z6Ulj{mJo7f@hIdLTee&6=F zJh-3}vFLcCAzdH3SF|;0&0INLGOkC#nRrdGGw5-BF(1PYT)ngyL(1CRg*~V@ye;I9 zXrBxnrN3~=D*vEzfYYt^w2j)PNLl>3Nmn?fR+n9p7xvn=WODju|FnRA z-jldI@q3yU<}> z0q>z-Cb8bm#>d08-f5xmUWmZ8SWg#UlaTFE1=JS!3*(DHX{`mMrGj91Y3P+Ht+k_? zx%lBk6p;V}3xr^Co{*)D5ub=0W@l?q2d%pf&%C!+cIKw*PX3t;^$W{D-CdrtvG-F< zyT#VI!Nb~?0MhGM6dpqBLi|x6!;n&yUDT~I@Wo<1g}P9m(0E~$n%NlI-=@w}oBv_D zt0?=AN&l0rLb3z045G%-@N!<4i8;L?ZU3KSih6%lg>g}O!4vchC$7%GJv`Mng%L=v zZvI?8=UW-n{DXFbn}n)hX*)4X#v@O9g_SSL`ipT?kRQysqc5|Ykg_%6q+D=8TE+)9 zP}!SH$=jj&9{F;(`w`iB=A#?GgVjAhZJ+#WufgOVXM5_bLD(nOj$=iiM@&E0)b5w7 zUk`s4vBdPZUwqK6@1(W&oXwZyt2uF%fOlrMEIDCrkCVCw91e=6mWft3K4r0rK4?%A zFN%K3y7ua}8hk+S(sh{M^t2HzcvG({#gAss!;-fDtv%iu1eR&p1#NRPsZ7aX(hKY8 zG#@EHym#yqHo!n*Jg9^9^EiR&u=wG8{Rz2}tk9o`5k1vT>;cfEnj2#-Nu2eg&_6U6 z8zK2{w%>7A&#@qX`q)Kg#(@g_sM;nsh#dp~X2Dxq6jH)d^K$jHy>ahDaU0EUh;1!? z#9hpdZl$)@I#J-fg|Z)UBm?e?Z?eU9xfAJ_LACEtY?M{S3kKP9;zREGM??*Tngn^(1#h} zb%;*yWt2&*nj%EsiT-`T$J1r3wBW|b0jzgz+YGn;*FZGG>Gt!XXB{VY_aw+Ay3>H?&cIrt*rZ%CUUgbS74sKt*`r*u8i@1;QcV~$YkE0RV z?+yg8_=r-qi z)^f{(E?U!wYb8g-GxWo6JM&6~Q6)poSYQo^>VX_-{fY)i(bl;F8VzDDgv}kC6@1 zBkVQTOTk{V{?}g)&qV!~Uozt-YqnT$BhT#boi@5%SgHdxICrNt>y$eEd$ego;J5?w z&1mAp_MG0M=jqtn_YR#e9T@#!MD4yD@$Qo#y8E_!HPL+7Q73!MygAv&MDdyW35A}Z24YNS0u5OHop!94omkTGEoVQZ?nJGc#u5tZJ{IH|-&Ps-Fn`m@=jm20Y9ggc27Kfe3P6qaeJb29@|@Ko zysl7Jg?{QTNMVdS!7lJ>{nh;qUY?Cw{u2iyOD~kKZ(;e%y%N*7X6H`-I@{n<3PuRw z_Vq)!c95g)G?w>J@tn7T)8FZ%Kd6mvymA?RCHy_|Are-t^&Pz9SMsxA%2x-wsB0-( zd>tO3A0#6gZJ&=Tk?w$M&>jq48QFY7o6GQL&0^YmIG(o@>&nhy7qL2A_RJ!N(K~qq z?)m7zjrmu=E4IbN%PwAX-wSBb*V2K+m8Ce`FuUB{{`!#GsTc`{ zVDMKjpz`C{8-PVVKq`ScfRf$bOBH=ubIacU9yq;==5DnZ*LKi7rI1e;gzktbYut}k z@jM>F(OHI^NEvIznvw)zFw+NA?@S$5xXv^64oDsx&_ zSV1j7)R8QQC~}GZQi2Hc2$EsAIDWIBKmSmZd}z4!IW&HXzy6bOAhir4uo!r*WQo5u zsyl(#HAIwiX9J?W;NGR<)~Vec|_J*2%4UdKk$t36LjUxK(4!^cG-`$b*24_F6K2MDelI+fNnU3Q2a`m z>-vdaCdgM)lB>9@#LZkTF>!$=uk)bV)h|UOwx@$5L$IO4aLP^E4bt5@7an%Bq=jB{ z4Gz-v(y@4^=THQ{qF%BU+@kJ{n2$6@l*Tzjun=RGw#8fck<_tqg_O}iFCS&sw)#R| ze4E!bbN|v*3s~g9*X5^u5i*Z-Z;zYBrxhY+H@mBb*)lSq{jv=ZTiMN!O!csT#P#JFbdcHDX$&tO=P1#~3ZlPG13cM&Ig> zh2K7hf7LE*yo^7-wNq|jz(ewMkIeb3snE7L=`XG*9{qvZE;BN#Tp@lrCZ{l{giM9@ zB-HHumjvt34SFyz{cXWObgtV`84xQYLr6m0=&XQ`nrG9-6S{O-I^<;jd5%yB(usn-L|Cv?2ty2jN4Ou4B)x63f*DO)iZO6~Dm>UNEn5dbJ) z?TN~6X_+Wf`GP)cm`x*q;F&UtJ7pg1pAV#W49RiMsQzNVR{4OIiIAj&V38+!bghIkFl7YT(O-R>a85s)|$;$T%mL?hO zU?9{#KfAgT9^EN(cUV(dw>OTy*oGn~YKQ?u!GdTY0U}L`C>?1c1Q_WMiUc8abPxha2-2$=K$=J} zAWZ~k#*hSogx(?2f>K3HD52Z~I`_W!k9)u8`M&QwPm;4v&e`j?*Z!@t*NHVTy2W<{ zbcBb8hfnvmwkZ$K0UB_QKEw-r7j-NM06+WuOmAuO5b5AAfN;Q7!%%~VhlD@6dH-L4 zeE7lbdwx7T5{kQ@eeza>U>+XPEnRI5^FX_W(Ye&JI-y6Mhd(9q)h8Z~6+9fIB+WZs zbLT!pDCGuziE1}TS5@$`(6=zntl8nNE-`@-caM}f-qSzM;&dW^{c(1)Kw}pa56`3g zPVvh~i(0LnV7`hw%)T-_$-+YQ%@%jLqUp@+OY1Q3-fcH7xh0;U*J@bSZZ#lS%it## ziVGb9TOHl65A6Q`={U$Ksz4)6Ve#|+J^4ByPa4Z~Q z6CyaP7{_LxZ|jZo@hcxUUlZmEQDpx;2!F=&-s5TIjd3^fe{NV*KQgRCO(^$!o`s*e39E4xbA&L>{?4dN{f%9dFBRoNV3h zrc^7Jjp1^_gN?d-CXApfKK}Cdm?gT5?_EpjC8e_2Ra<>#1m+#8wdrzOp+=3T-jxXY z9T`|lL(f#M-BMjmcW!`edpSnfGnCGRheur9nmzM7Xk}81oTg6tVfd7t%_W^@ShgSL z4LOMK3aY}neBFr&pYC$Az8>7<=~S-xo*v4Z=@Z$O2+b6|RT)$>X3}-m?n8_6OBU}i z2X&&oJhdp5wHa8cQAA>)-|n$O+!jXr1^ghr!nthuVG+W4IHUm4Un(fJxI;j%`ZEY{{98X^q%o)N!H7|ZMz#ClD$QoL$4Sb+=j72}?OZo;hq#!NyO zt)Z8)EW17Rou;xlsXWSYc!5xV?wPo6_u0gwAg6sXytHNtV|7@%oI=kc@Mby+&n@x} zR_d|?n7K-v!1roQm7tFAS=k}f3d~jF%azEV)K2ddKYF8V-^9j3vd$$wxeqE#Z`1m1 zZc2M2Bz;RQ8T%($BjQw~@d@K&?S${;Ft32@Yn@{nHJp$m-0{s2 zHKz4Ndq%K~TcR%M)vy(D58&;Se3d*0k;~Rbup3hZiML@k6UM?6(y~7$vTfUBo0uCB z@GC~WcYF->71dI>bue*#9o0X8F4AyOOrO`G z4@%iy;9|lDEBt5ZYI7je`-pblOy~}Tz%{ejTNYEDNEsd+Z;YEAu76D-WtJ_FVULoD z)iGr9x7)8cc@V=us=6Ssf8N??z2(xy~l3!sAdU!8{3$uC-WG%&A z_pGe9f~6ss1e5Lc1X)$NIn*w^dPK3Vw0fCmWIcs)>W!!qWnA(3rL7+^2dxc&F6WJ@ z?`{qKkncwMzSWVb{Krc@7=g36odvpXne6fQ>FknhK>-Tsl^9Fur`X=3R6Y}VnP+AU zg)dtvq)?P>d=YY^Ev}0qRrV{iX^;fSDSBOpzUYeFP(Qe9nMWf(0}{`TPPZRCTNvgKkkHQpPl2BTZMnExy#fA#cav8pF5OQ2Ak)k6}lD2YzQ1&Neyt zyd>*oaJ*JOz9I}lor7;<`uPpRyulWubYJ*}LTSc8C{?bxyREEwBoMbViuZe^cDmat z1%wBJF+F@M1k4JNU3dJ_HnhWn%@?BAezy5Dg4>w8XC2PPUX1l;>5J#!oMtqeo zA<3~9_!lR$;ufrsWWRLNfzY~m$DZ17(L>O?YC@y0xe3kXw;P|f4XrrdMXS6~5U-!Y z!(IEf8PU#BgPRqqiUD`gqWi)bbm>*lvN(bD zbn6RAzPf7)PY4@`D@GsUt2`7FoBH{FbK=v85t-^fsa9Vk$19<`K_Mc!3+!gCOwxX? zJsS{S-ijf#H5}v=<)cQZq_@6?@Vwvz=S!w6+q6EinYWyiLH9^WI#?iNKiYYJrvA3o zq^kP-ht`SFO=lI;kvD{vC=mP-FNl5K9QRSzh^=sdglSiiwcfoJg3XzIs-r?HUU!HH zp6^+o=GJ+;oot^8j*lHx32|ue5Py1upHI$=rztt;Qd%nV8vkUa*!$Ec^9O`OoiXAUkm@1UoX8a*A51q`ei1p1u&Y%Lb5S+d7DW1a%f@*mo|!*`uDGgyYx%*QU^T{RRvQpY|=Y;{|!|*h7M@^MBRAb$~ z7Nv-sOfmF_N>!a@e%rIvGxNbvMuTaA>7AhkBtCk}y3>|Dg3Nv9BZr z3^1_#s?8gY>3LQ+__ew%rqGg(a8fP`SXqeO8q9?!@DB1q^W=tJaKUN`M~JbVo8up= z%oQ(9V8UOo^(B>|gyIZoq&3eW2Mv`mqW2B-u3GBQO3jOh9ldr}Iqb@pjR6Km+jel` zv;0H^;-s+{^0|p=aZUUFBPyFs#h$R zws4E|^f{Xq1&hdTt}|)FUQxDFv^=X2qU$u7TXtM=K96GBTUqBBcH6@`f?XHqk7sCNVIpJF?)4Jb`uCFwoWV}jM_5;!@pM&P~TV3^g+B0-+$Z|$= zP4zW1iEw5?WApnH=>QsQ$79*@dHNnzMk+21qJqQBS^-%C!Ew9px;krS2R9m*U9U4L z(_|gG?B`HWZRe>5Q2Z>UKt5X^SeXlCa4XK(@0>J%DxL_iuk5N$NuxQyg_HBf5$?So zzZgMLUWWu`y2_!^H+Jb@a@tFY2&1*-XC95)oSiZkqKSk!l2$hs92(#CDpd0|u&inn zp*~xu%qF1v5)c~$8IP5OA;puY-Zx*W-OPiklP7bYFc0Ju*4ud^6lln~RtSJYst4TK zuA=y{KExA`!o_u_HfkBMrzLyrUXnwtf9bDgY@4ew6`D0+U0!ku7@O^}K1cyTu3et! zJ$Ds#T3CDM^UV5-c=3pMa)fJB*4n85>=5FtAESeoo@A2tK#@PMf z&7wO1Zn zZunMu)dmJoSh*khab8P2LW+Z`&?(e$TuRgo^Yxd46tcR7Na|Z$4AuG~$L=!TX8X&u zFbSwTALqoyw9kB%fS^Ri=w7KDN3+2f>&NxdF@mOpubHZ8Ys@eSi0gva4Rni`F&%$F z(ed%*xLJWik+0xo_BG6EmVRoCSsqj=$t<$X*%lnz*tGT)cd(sQ`C5HTg;i%6N1cZe z$c&Iri~1m^V}i-&#|<}<7~@*!(j%$#C}~{&N-|i$t}681`;4U7QODS@E64CF9JIFV z`sCvJu@G6lGXlO_+Wpx0&U$761#arUt1;};Rp+**&{>mt7>B=fp?7tSTrd@CeTh>{ zRrCKK4KW_8Hi(q@1x6ErK3KRQ{gr<-Q!}$WdTWt15UaR2oXlvs0#TdaKZKS6(xLJU zc1d}{_|UGR1E`94Mm=9OpeSG_OW(qSODvx6E$KmyD!(wX53Qp})`WW4tHdF+R+rurV!xq8s_@0gN^_f1rvT$c2)83~maU$fh{Z&o$le1-IsObg6zm zhPOvwDL+{@@{KBjTZe`_fjG;Zo-H#%e)Zx8qdglAYa%|xBR9#UAoYkTi%sR9i) ztM7@e&#=vOEKSCysAQeV3iU9bZ&Oikz|crdYh+1E=q3AZF(&AA3*3Rc{XHF3o|A1% z;fl&EP-Xi^g`s&GBKx3uLbj*2Ywd{AN$&D4SL06DFt?9Abw2xWdL`j8N=WbVoE2I5 zTJ~6Mz`}az1t`R5-EsOdDIHA{yM>&g-Z5w=Ai&M?|FT|QJ25kE6yG0dYY!vd5$Z>z zNiIS{x?kRbb_^&_ncEX7l6|3F1W4eZc|HZ^ znS~V)#s|N%dw=`fR>~tGrFo`_jBT>X5hS&;KK2V2`Z%D0`D=2L&?G5Sy@-^7tKnLi zGWM|e7*MSepr40)tDe#RYHnT+1m|hgXh(Xc1U9lI1Zu_w4nwESR?FkKH>@X+B`He`;mMt^xmN zp;O#OtNTYA;zskxuQpnd^U!}QX@52-0tNp+72KjPUqXhq;qUB3-@34aew5T-yB}U| zOt0{Ed+EUrvUW@K`r~IegkeO4e|gZ_71FC|lQ}*3Tdw=!X3HRFT)B z_t#w2Mb%8|3y-&K-=$e>jgh3(-Tv^=H(LFx4x3wROj|Q)#MKz8jRoHK^Tu*DWAfU{ z+ohpA-<)Akf6UDo(hF<*BC8B|WyVa!@_VjtV^37OKy_d!njr_-3UoUaK^gKh^>rrB z)Ty6`B>AYk=>t#X`*Uc{;cjHfsFjfsSb+xTl$jNeJr#QG=i zZ^8~)W<-t-`8i_#yV?R@4$VD$bH6L_ay&)bx`KMV!`

kMG1mlLmyuaM|?&dI${c@r~ZG_k=0tc=`)a+z?FEswt69B z`Z8F)e}od!FNO&tNCRPj>Kkl|FvD9E3~vDXAu3$Cz(%Y)+fT61n5j%FkQXO$%%xncMp$E#~r-98as4NF9u$oUSYb#^)>{A z8HTV3V0@qv|0&>XpdHZbwd;H1jsA_g_0)vdXh#eSAqLuk`3Gjzq-^AQC}XJ@96CA) z?$oB6J{N{;UghSxAt*W_Tk9j(eYvsWcsn4_X96TN_v+}jbQWF|Q$-8gsyLOx%Eb{6 z;cu1yA#xkFd??OFEObpryl8$$1xLt_+8k_#(mG6-LX;@)E6@Tb!fTWUsti4hQx!n3 z-udIM$|3yms6PC?q#cBdi|9}=kEMJ?0xrFQ(5nDD?CnzyxJ|FFp0o>CmNtI}!Fr-GsX}gxw!7q>1@N$bn?p>x&c^V0a zwG@3c6Au&uwk+%w9vH3OiG&t$Gvn;*{ZOBfJXDnK$knSZS7EsMaT28R=NdX)aCVmfEO-G3o+K&E za z26=7zjMlnC1I1D)Z`&TTYga>BxrB|QZ`a7rl-3RB+I~WN9w34W;gAJx0c}JezGy33 zg&fybgaQnJeZ5ZrJ=YC4OZu8I+Z6%HZq!3NTwaRv#_^oysQ9av>NeJ=vPW0WYZQK* zqt7tFHy9O}nD#cZ*b`sLx6{tH&HfszK(gV}WRT+AK?`2V@JAs?2*OAlU-2&zfC7pV*vAfV+v#i#4{x>LY8J%_JEQ~IwdF=4RjP`sZR4Ne9z|UD;3wh%m7U$9-v~k*fjZzKy zK{^h!KeROl^+NRJ{C{=v^FT;K<~J(Ga3yfc;NYqJ|ER<~KF`)sf7 zV}*oz{siR^WZJI;WV@Wg|?im5N5j2GzPDqf!OUHmKn@;hBShoV<u>(iETa(ttB`B_^~{spfT8qSU(h1&i9P zx3C&POKLHls|vst_}w{2Ad8(g3`jL~W-Slc@vZWU57UV=zBg`|gw9CCaU)nbfiLtFun_Z(K$0h?RU#d#QCuwSvAkQWl41})0E zI{-?`#H{Zh%#v-~xd6H}7Did5W=83#R-3vaxn29H+XoDiPL%b3?A^zlAj1Jih3mLO)h zL1u6viX^%q?=oQWyniQt&>SHU{F`AAMRJr)9NM=JuBtr;XVLA+<2uiN-6%b>hcKK9 zMtbbeCzDT({oucQfiBH!kmx&%-vgQ+5%+Qb#>@mt?l!|FxwbCOx!gm;#rBV&UW+B= zY9v~QY@wvqGMDx`5x=R#NREV5u+~|WE(XBNnhZ|dM*M`&Pj)HC^-gQnY%LtnL@1{{KheUr%86^Ix z7I*P#3`++NwX;maHG797cVY;~%R!DJ_k3tJbKx7ib8V1QSZI4-ICLzuRlaV~YbbT& zH-QryMb|bKQU*CsHXBSHfBAYT*95p*hsBAu*=EZ6{;t!fPxosQl%Es77K<59vd&w| zBZF+f#k>;mqaEk*-S!Cs#l|_|WA(2SLSI1SzzN6fM)G8>u$79|OEev~<~ltKAsuTS zR_8}OMv`hikr4gkjgR>Y;`MmTMStWJx;nd4mNx2ww$z%GsWFsEzuBIuK2$TDP=oX< zA#AL3pc&{iNcr71S^zgF*l4;Q2+HO*QE*nJ+S8v5}FPUlmRB*GLO3)M0?5T z))%O+e#Y@G5{706TrsbcjdCGZ$2c(RO!hVOu}(-c4P*73(LN_z7BNh3!p-P5QXlF8 zouxCvDZd~7y)X*sz5<}G0!coiZ~A6ntUv{K&neQfhb>U8bo}9r9q+UctN*< z!hQ6+sw(!%X>M8zXqouhCr^4b12M@pzSSPF<4!>xbeV$M3DdbI^jFgl_#m~p(HP-S zOEn2?-y`U3>;+NDr@OpsOpn(?%3sBSB;z5B0Q3qs$hNvYmwgOP&FKBu?4i@SnRC(i zf*#i7>!kyNTQ!=6x~>HZ2(+mWk5%WQfjlU*aRSmrpIyok&{mZB+TI}Gs@0Ao++XE&{ESf~)V{J~4b}#T@ zCgt*?$@6TWRP!qzx1voC7^5?|$~6#Qwq@E$BqYnnac-fJA!y6X3#Fku`1mY<--P7C*;v z4bW(tr`fGm8(12Io?urszss5qyGwvd1e(6E`aS~|cY(aM(HcmgegPKc1!~GzEOaLiZ-NmWKMn|=-+=i66#-guz(9P|#@xpPp#0(J$53mBC%BtqXXWl@UR4*w2HixATh zj7f=Cc5r(k)P~rDGJ`hIbzeb90W%qw1vVleNdV*wtFO@wfDRK#svqFx%wP#`c*B2C z0Ns-Oo98WrZ$^!Ny&qBr3FhSH+lo!g&;zwC@T3obYe~oFd4LZCTDA?>zC4)>&Q2bI zG+JK>)J(Tk(R$jWBs2w26E{};WkSI0@9xX$ls z=uKF`uLETxV8_EJxCPkHK`-)@+6DjS8LU;gf#G6PSL%Y`H=M`0e~jgB5o9cNUwv;O zK9l?RS{(yQn3+Di7xAN2-4@_v9{r??uIc+3zykxNNxp>M4toTooU-YMz9M+D@i0n& zc@eZILi#&Y1Y&J8at->|0fE%XEFi$1j>$+jDh?i=A&r7%BLOLML2HfBWw99Zsrbe@ zgUhx7#=v{&oHmEYi21f zQ!#60IXXn!)B`QMX^&U+cwc}m-8Ol}yUKWP&BR*o>QF$vPcD!#0HkYYctDCVW+EZ! z38aAY!y5q&3XovbNr4|vx8)7MB!y>a$9@<=5mLAq?DK`P$A$Z{+Ogo!k-N^&Y67Ct zx5(+*U+Xlw2ls<8V`AQ>T^!29)!^6IxDENFuuEhA?X-}uGqb9(3uUH0Pp0Wz|S(!mb^1uPm zYZ-Tj(s-)8yJ>)7@^T&MU}3Av{D47v6>X9@>Y6~A3bZ6Dbh^%+%FuMXhQZ0&0(LYQ zU?z~gl4F`lm$n}_#5Nno0&pYzbOyh*TD70GF4`|n(r48I4Q`(08xT}}Tl}9!cVPu+h@P?* zXRw!gQJ08DcH;W;Ab@RZ-4_}g1q1`p@9HW-X&O)bxymmPBpjgp0&fNKp9b1qvKht@ z^VY;@GNCW)vMkAX8q>@&`M4=g3AH2Wm<>DKncEL zY|aHLa8=van1p~RI4uGNy0B(b$U4+S_RymsnK9~T07uW~YiZY3DEOGBi9oe&K&yd- z^gfVj_t*+Tt-13^u-~}3>?8Z3>oyJFso}VmU)1ncm0FTVLXQ_L13kx6&KLXx_dv4} zro#IP_Y!}ZGC7}pRs(8JXqN*{=LgL)_pwf?6#CUVgjU`b;d4oX`07lTMKNvP%tjU- za7Q5VC`e4+9we%ZLs;1GfN|)#uzH?X%8JJwF|>-ymT&Gd9d~Y7;CVx<_t^#Cx)N#5 zF3h(NY4`LzdU{tY9eq4vO_P8w@7Y=gqa`Z+rP=*#`3`6bV1YbP@zo5m=R6*(W!D)0 z7<5N;W8!SBlQcki-P}6_lHLbVYLxqHKi~2dOGg4YSOVG(DFGL8^R%CAL09B_>HTUs zKcGDCd%@54d7+gmE^Ne<1(AXV_<^=>Eml%R;iL1j+@&&-BJNu14GF)pMbO}rW zY^o_-5Cqpi%M;}4&LA37tn{Z$E@m5PBy>Hv_E$FXQWjcv*mzfZ^UBhR;P%ffyNa#}o-th>RZ?cvJ{ zeb5V~1_1+wT9DFlk$zg~ujs!;u=Bd~54l}HYGJF3rf(Pef&VW=uAh7>xDF8}1E`?~ zpv0=_yKEsUG;Y{29>L`x66|xCt&xz9Ed)^LJUi(DWw)O$+BMBAWGj%I>>D1kH1|w1 zMFN9r+h!A~VB|~cR0U`G5#zm~{(j6eL;6;6 zM6i?KX}x!AH}THn=p_SzW}!g5YQtLDa(u3T|f@0fGMg2`Xm2?J2* zi!;R(5psMWjZL&=G8q9Bke^$bv!r*cbUXM_U7;gKK-DNJousmF4X9}5UcJA0A_Z@p z2_V-A_6^ghW$S=RDG`W28K!{bg%Z2^LAfdswE~SbMQf zPh&yXtBvYDo`*gN*j!SuGplNWe?Yq9Kv_bxC^AR;800tp%aR%7D%w4G{4cYBC~FTi zk4K>+Nx)YcC}^E~QR*0AwmrbGT$?Vd+RC|@Wc7~s#l9jTu&1UTbs8aN-eq~w<9AU= zR1nhPDbi0~5}C$!qTUL^wa*16iUCt*Kd-@SDjyYnZkt!I|2)<>f9&|0;cieOiQ z0TQTb!%BVa;^J|_q2+f%EYmQixmG-8AM7feXACtH+;E}(@PvNna9_*ZG&Ar-=kWl` zdl=I<*+SFKj)75xoxVa(r|}=FRCP%ylj_}rCdbKLvh#P5R=ao&LqD9n4N#B)*O^sb zv<~kd3>O)4HuX#CPjm8{6aq+N!I*MuDCrF&Yh%9^lC5Lck+Pu-g^%}Hs~|mWa=fnk zBsi7?@YX!yn& zHoUugqMn2zJ$rUd1`dN1MYxv+5n`mUQZUk>`gmL4hxag9P^a4llkEp5LNp9K2Bmt} z|6!~0={^ph5{j9Xa-)*M)`AqtRq9|Y`@9ACYRm{{4`7v*lYW;64sfHwL(RS&4u;a` z06*7*>L#|D_lm32(Cl8-1whC@IPg3WO;b#@GA~H8LW22S4zLWzm}X?3gcn@#@C5j3 z>_9J}3DjMM<`PijdC~O%RC8AVTPSy^z!T_^&|G=Xe+YUq0159p zy&wWoM+RJ#eD&HtYBkF%6glM=uw#mL-k)qh!-@COT}MAZ-MkvZ(q;}w z;Ly+;&v?~o-cA(;hte{j;|rWXL2P|&CVf7iaNMrmxe|D;0L-NhQtI7kf%1T@_%C}u98f`ij zqWV^cy;^az*LEVYS6tbx{@4BoKkfoA0EgX!AYj;sP9W{@Ynv@&M3-sedd)PVwty_Oscm6PzN zMN^{GL-z`FlVh|^P})OGEk#IJOd^1h9X{K|!!)m~p(^{U+8;3eCw^{*<}X8EM^H0; zJ;A(eq}3mA${RA(ZJ#ot*8mA+2%I5CyGi1mt+A*%0giB?p4vC)JH@jT{_W7DO+EX2 zBMA2Ry@x?I&#Q%MG`XB@_-tT%?cQju^+!seO%3A5CRjO4Iu3I@9BRXuMjz5l6Qe=x z?PEahw*P|AVAFmo_|73s06xI=ke5KYJ4x^Xt?k1aMb&e7pxo>gL5<}>UfTo9d9{1} z+PQYtn$$N}fH(jYjIp**XBF6`@;vgb|40&mptjb%Hd^&Lz^~~TME z`!jPt-OtTk0Av_tJ2%M`JAbc@+`bs9I+w=EW_;@32zD<{E4f8E*Z;{k(J3_BVq_W* z(vk|UaX%eqxZq$jL|OxFtd_tRg*C_WFmbIf8akRLue}xe=I8X`2Z~Ox??N4#P^YR1 zvGSGi7V>q72}aX?FUQ$jyRa;1@!psMr-}S9LI`}#V8Q5OQT>mhj1Jh|(T2PbgG!T% zpn``PgMcV>_7ev>iV$2`5X!xA>pyTo;p0tQ;0Xz@K_a7eLnYonKN4si6r zkq_l^hNQ&F{UE-Ovvowuc85qoO{8i+JtePxRON)0_JP)oA%Bm);DYd=oz7$+*9*cg zPA~|_rP=|Q1eJj7KuGFX`f%?@ba=%}g-#LviS5jH%8<2AevOUh>0;L#VuT|OAA!wfz4;tTjle(tag89~4^30R1SErw$WW1^`HKz0ZOAmhdyd8 zj2hYlgAG5sM)*W`5&&swaQ(3Y*$9xW9;j`SFV>G0%C3KX+BQl!F-?*e?>GUr^6?{p zU9?Kg9t_b4{N}|20j{p%tuLR?=OOLbj|~*riP9z$tS8wYc1bO*9QHkSLvT8%+{5B z>B9%1!chB<^(PTe;X49YLgk8vc_k6$3WlUOsQKPFKpPyhNQ+z-$w5t-^Q!+~KI1jV zS75q;&~tBa=-o8FXDGLHuIOIi4#17&U4L{RZ`^stvKS)UxHTJQzJ2@F=KJ7q4+Rh@ zpfWCW-N?BXB@m|WJy9wb-Bp`@NfsMXG_9LFlm-qL{_p1u)Zi<$u4H)|LgWR*zHyN+ zsH;Cma_*T|5De5V-ReC(K>vLzIQ(m>=J)@3!+zmL9#Q33uczD+Alp08mynELF!%pC zm?ZPY$|2{YprU;u4ejk#47fp2lbH+JZjH!PK-9VjbUdLiUk#}-fNNyzT2zvG=r41i zQGt)kFHTgyW@LdhGfUbmS3%|)PdTb0*32-uE1V9_Bmy<;6md=8pM`tgpI>w@=N@m= zcU6n0=mIgJN^wvSu&T=L>%z?d;+%_LQT%J%{h+S52AkxCAOH0dG?r~<2#QA9vClUH zfnk$)Aof%_#O*vlJ*P|FSoz7N;Qi?^Zv@?J995q5%R-dgmq(p54EzS;$$yUH%Se_9 z7;GX=L{Z^B$M|wzcQ=@#D?p33xU@bnm#%IOgt>w@>;FIgtNuhr2pGX}P^!m1Te-h| z_khjIr!zIOHN>XChbrRq{^6cY>;;1nvcx1|fby@7+!igV14l1^HgdMMKAbHy5`29R z@$1`etFld(16xXjzGlKez2hCj>t<$>wbGzr^cuLw2@n}(F^ zX%*cJ6|gJNSahu(2`7D&aYi#njnoqw#m!u@@0QQ{H!fDob?zJ$c}g@m8X!B^rTsL^ z1!x>u9;Zjplb`bVk|5O>_oq5M%;-;R>piR^Lj`kJ7M{}PKy`ZoUVBUzobKZM<44~) z36_=lz(cJf;6h59tBxtxps`+f1DW)H7ibvDH7phq^{Y^UPMZcA7N@HY|5qoD;)bo# zJkU5@wuCe^yPl0+zB}PxYy>|StG9sTlxZ7Ub;>dTNAe@qLjK2l;`x3qK$wsrbY2#8 zovAnex#+Gk;whW|6K10IzqkJH4E*m5{68=Q4;((+->w8i7a+ka>yXv)M(8M&k5nM! zMr;>Td$7zu?X3}V5g;0-!shC(8!?U&cn{8)egQ;Us^3)PWo`}l!JmFXd|o(f9$Efl z^EKiCg83^Gy=W0->GI=%;miXhA3`1idi5At`9JS^ju+~7zV6HD9R~{J3h_`+?F6d04zEQX zL}KXWVWoD}6}PUC;?pmIKwW*fvNo@ACr9MK3G+K^RnX~zo74h`6ms<^?g;1Mj<_GV z<3rHHyEY8wtXq1P*bmR%91g{!*_H_X?Axd_8d`(%93>H;l|ESitHH2kzVa*S*WxBMR5m;XrL0 zkjp5OpgY^4DCE+A-STUa7rtU;?)KXNhPuq=_k|sc@WOw7cupPa^7*JT<2IS;vS4yn zy=GG?{hxTx3-px=Ef z_LDfsdtA)=+fAe)rl|1O-$2}~X@sb&EafYpc3gLB@2Vz(=> z;n_li3qD}tvQ2p6;*=sDswi_w_!|`_fOrb)^raAFVn}yS#6bezzduG@I*MkXxlIt6 zw0aZp!}zrz7-4>xW#Z$r%y2QP9FpW?@MoQ9L}OC`MGv}O)dFPviZVkjy}tT{_77#y z|6%Ds^$K_00n%8t*|Y@M4$M!iaUWfxSM>vHXpni_!ylIV{M2N1#X-#9O4Z;%bw~Q$ zM5nN9R#$*CX>o2&6Hp$Fe?rq&)*$GA0V*jZp-(c-atxER<+>OA8n>z+wIL-$P5PPH z33Mwj#e4B;8=#aX+|1b0og^~!6G!lW{-1wqYHZw9cnB=gh$TpuxviO@k`?k0WArn; zkDrBbL+^O*D@dHFx%vUb#bk5CRXZV(0?KpivOnoZ%72iI@ zuI*=y9!Sef-S$tpJ$2soDZ=yX^qD`b;&<8}_it{vZIrdw$mEuWkh73c>4%$Fc310{ zR7DYWs8O`MLhHT7hka>_f-L&Z2u>0Sp>4?O!Vo=#CA^$9##-Ydbl4r) zN28nIAN$aH5iD15H18RXw!D zWdJ!s(5=3Ez4hOT6`w3!M=lS3wA=@2EmMs@#iJ z(VTU+t;IEQm)G{pOFSFECVMSCk#KQak2!M_r~b~q=+bjOkLl(Y=f-{yRe3^)Csce= zwij{1HPB#Y{-&+}K3OAHP@#mu**8Jw(JfQK?#y`)V; z`pU+0W*PZkDaChYs1(jx$dP1$I|+IAdz{TUD{8Z@&jj+z!mT_Xq3TceF1<_(wB2$i zJjMiL|wA{{jk9B<3Vqma9MZRb` zqQ^SlEmt^1S@?)xWn^ynn)IlFW*a-kONo zrv^i5OHEvDtd!|*NV%qoKOpLFdcxjd7VQORdv3A*ZlUx@!p~pK|zx^_?Bnw9Y1H`f~*eSeNR1J&H-_h3@g3Q9zJ8Qapy|c>cA>{`yOgFE?Zd`PG zQ21Cqvf&My{VXk-eEjaIL?xp}raGoOfSC%j{(hS0Ph0BC1uQ$bP_4%c_x% zwjZpiwR*C4p|)~2@&RP8x|21n$Xq1#P5vGSBb-xR_qfy6$H61sOLjsdgj_dEJ*SWP zxw9(?P0uB)yK!6nt~O>WQ(7(btx`id&(60n3&~DBjh}SuVEDJC+GY)6Y=e2_T~U}; zjBXBHU9e@UM91ghgcm=GxU25^ZPECW1Kv|lD9PDA%rOq_nI6~qQVZ_3CSG_^ZJ$)H z^x^^Dw;eb%S+)a)P&iKYLODed`MY6c?7-VB`~@$q51+Hha$6%{^gqSp-g5DJf`?q} zzdEALJg~81JIMn*N{=wlr&T2iri&l-FZYT)alE_yjq1;)sc)&!b9-RaJ1`&kfEZJ8 zrU30r7$Eol705-0kUJYcBT!N3e2tC(d>LT=9yPYO7qCnXX@S5HK|?6HH2h~2Uby^ zPrid=3aM$@$6#i;ZeJ}myVDyy$MR$YNtM}Gf-Gz9+g+m$h*FrrS4z-S>DR%(C=67#7q2;@l|A zr&3C_O)`LuK<4e5fs;6wytHOmiP@O~B5pdNd8&5HnOa(Lz)(cd&mv0TQz-%G4J6My zh8gX=DU#p);aYQRh8K)nE%BB5p|lW3aklMJVa7Td(P`nBF!4KP&ij&Z@*m!lk<$K& zD)Su0r_ zPM|f*%iIl|P+H`1533?SXK$BI&7-q^LyrchOguvLthCXK`>g-ueYS=R76QF($W*2# z*XZP(reUgh`08piOuEkMo$xIgwD2o}_^_OF94mH=zvZ(j&6z zY`yfmejkpS?|x&o6tU>Ya0F$2t)P6?%J4)uDn@Llzdf<$IQo=%Ql_6|Y0t^Hu`Mgd z+2VuB!XdjVdVHMp21W}aY6JHs@2(GFR9ufeveUoF>j5!mc0ks7r=*BSZaAXp}&533yp94NWd$=BIixlrur*Tr(|ZEdriBVJ-<>jgOR5&6_7>PxuU zOQh8=RXxe(7aPbvt=cm#qhN6U-5t>2dIw5ll6_c^k&`HELFZ=%tJGDN#nlxmp7LyJ z;(|pHX9_0$AP(-LHVGrji;ZsV;g?3%H&KGfoAUFqcrS6ja= zK@K91n7*^FBl*3ajwJXmcYc}MLT^icac-cbsyzm`7~>-xoQ|>=IlTqzgPltD-a4O? z0eviS5!774OHbElba#WGcN}e!1j7CHjQx0N7uTa@xG#2bo}V{i7Q&8PC2a(%c!^%! z#`Zasz(&VvJ$Na_cRGyqMn{kpBl6TLcCe77Tdm%yn1ULhOFRzhRf6FY*UN-Zq%zA! zzZSk=7;0 zX!qSC1 z!kzQT<&gmqAFk9c%xOZwY36n^7OWlcrF;uR9=SEUYK_L2Uli}k9{wh!z6YO(u-l`3 z5$zyGqU^aY-r`iLefl1uPjZRrBd>&XJP>R%`IMnS<1H;SWc)J)Y1EE?Ul)HaCi1@L zp3&3B5g2`F>aY(zYFci|H+26JwWSqTZ^o1X@j}ubbFDA*)VJP!6sK}Gq?dl5pBe`f2Er!Xh2-@U(-fC0}My9qBkJbTx>daLQzYuDXcSc20Lky+Hh z;Lz_PJokM4Nu>21xR+984wbma?u}$4O`Ht#cul;e9vH)Zj4>B+E4MvQ#N|3g@%b4` z#=XR`BL@`Vv0`-PJ4YJsMFaQzoz|wyeaO)^`+TzSa+Ktg2eAA~*@>%EwN7}CZ&_$< zK*3^%QDbj(>s=kvWSs@iKxyH(6JA+|j*TUM_V3n+;;&+R0+2_)u5gJOKH4AAjlKQm znBx(SaZ)nj9KLtf-DM<0|6?XD9JTL2S(MbDRquvNk0|X4+K;l|6HI_>-Z?UBXOn%* zp(@W#ggcRi&~sPW?*BOfMAB0jkx=I6pqf3{nb|q1EL?vqCFsbHA7P`Se zZgLoM>CBA*BK97^l1O6;3sUM3tV^xmFX8`9nW>_gT91enM@mVkAA`AI_Ih7JTafYy z8k~ddr!OZ^aTL#q6^=jY**bm)w3T9h0mxwAJk2%b-SBu)Y_PR{i37}dCtOB3+KSKL zpz;;XttUe`_ZsQDbzK%WPd9EYwRXI$YBruworB<{Is_TyWV>Av9ZJ&ldZbe4Vlj|Y zYT=yC{`IVL*GU}BelQ-nu{z7%U$r$eVL zJxogSxA4y+Z9HFV{PMe#G-cqzP>w@?23E2Q*IwFa;UxEd*L-j1MR5^Zr+f|3Zggpy zWZRuqCZa_`CL?eQ=4SVfw#0&OXO6)Cuq;X{WuWbcP>m;@mf(CN*P^2?7~={jis!2#H;(Of@%O!f}Hp+(J1% z(GkF+((BFwT?&O|&d!F>I~paNC$U4=0r1XdI_Cer@8A4; zn7iTs-uk~Y@c+#W_}BT>a)y#Tf~i)D!|Tj)+mJPiWGGvX-Xjn){~*2ARtDs}1a!DU zD`FsIf;CdkTJE#01z9fP+JD`D3ld=BFmqOhBzI~YJEv@MmvuWA3p`Fy4UyBFIQUWlXO;B|lf8y_oWo_e@OL#WBc{_SZR4$}KDJs4`@+ia_%dDG zFTYH?$>Cpas32t0CuMcV*qGTiwk_v`SaMm=5%mxzHi<#Hd|#_2b?BlV+}>)E7E^_A zj9+UnRw&{~1g~gqe!1$~H$3ITUWQSo7}Vgzc9-es2dDML!pgty3zE{kKe?C4)s=S% zo^#3JFieA2(PomK7?wNHw8W1oU4w|FNQp=~uJ!7m(W+|FO2~aJ`c2RF>-zVN1%@C= zSDO2k24cL6-@+}mvBUQ`o4Hlro;nKhRn3m4#$?&A-&lMw^2f{fy<$Y$0vG1xouXNd z2Gt*2^Wiux9eQqh_>n{^T3ZuYrJ-JPFqnxGWO8F>`!|w_x^OG)T+D2Hs|mgEQWT5G zzU8ZaNAc%`of_1SLI^a}TzJKJ8YTnNnz?lUWZ*_ZazT;2ZhMtLEX96VtPO9tjD4QY zL8lF~#6*V0xU^-_-F<@V$s))k&6GijHVvJ{sr9^uz-3OSwx#&oW(4?loiBP<>D=^( z=JJ2NvlaSddl*8@;41U;(&dj!w__s!-bFO+ znp1z0#1K*CI|_{#%4znA$uYsm-U94Z$mtK3 z+gqakMx02k3p@Wip`>T0bW<|-iwgR%&va2#gV$`O9(yhtP{pX8V_uN)iX#*O@Pyd-a%(PLWspo*XIe!xc|-EOzy$GgUK$=xw($vp`3E~^ zyKwN?$0Sj)jlnzI_1O2a(x-~DJmz+NTe|MT)hlq3$q4Z%1*fHOO8g>yR!>wX1W8to zuHE&Kbc(C;v04r2Xxv^Y;@*ahqi_lIz%(mLy0%4mZ-Seo=XEbU9Wk?g4&*e!Fo8uq zJpDqm6E)nr?I8M<WAKWE_Hfq8SvTe@l_b>APmVZ%4Jt2uj4;>GYU4t?H6eJ#Y6 z$UHHR5DD$hWs%99VSOE>d3k4&i%xOh+E21fgm> z`<6w&EuiUr@2Xt2b#g;36uFbP61mFlhKWTjPD3KO-UaJy%jN-fI;S$LukzSrmV%DP z&gEsiNAyg3xKvbXgmxLG|D||Xv@Y06U!0N3TA&}#Vdn71QeU0^v$8sOQfXXdaxZKo z!=mA$Ovah%!&~SYiOu}43U2s0q*-o|DfU!ak*iC=dIt2%&>VP5CGNnNIo*fx`PHh% z3K(eO#j(4ZmxO$J=Pv7X#3fs)-o8LLcH$J2jUNcsVKTLYjniM_6K)i?$RBMinJjB3 zB8Txg>EUq9j89?Pn-C{2yiVDTyVlFg1xnxZGdSip$znz6jdD@D{c8bYcFz>}SGj_0 z`wZW*=AHw#6s@gwFFE~0!6$(MtIM_<6V3B4^*>3C_l3-kkNbtP#>b;KR*W6_ayM8Z z^vdOpb$Ts+ZNejp`c1Z$A*!ety6CYUAnr0}8rs`Lx1!Q=C>h)E%6n)>LyKCD!nEUF zX#XC0In77YgMVjXNm@scDt zt`O1UvBAu4-Vys)yudqCt9pHSHO(;L*TJ&&!S{EJ#3kF}x0%F=4U6V2)vdT5F5mG- z-`2ih>+&pmqh*@Z>DMt7iD}AIztV&eO#eg(1F<-fB zq7QxxM=0V_EYDW4tkB$mq3D7metmHtTvWGpJ4Ste15D*)MxceXql${L&h8A#!J$9C z?(0T0sB*D=S#yJ5zSbrlbzEAdrbkH8>r)89gI;6Sv;YU4u;}rZa`v#fHv<1!8-jtc_h6na7$`+jbuzjm-WhoU2$)9ciL`R|L*Un`!B*>R&^3y z1rA-rCA*;{o#woDzVLFo=%-lA&P$gSRa2I#5?=O5QeK`6*2!fWAX<9)7q&T2OU$+> zWkgePOZ`TO8q4gR%&sE8U@>iUDp5Zy^E^ptk!k;_7G+-`O|u3gtWW*5(M^921{Nyv#;hx!4ex0wPY3CFQxio*{6&Cto1~f_TpOW5?2a%sAD?O zV}wGke@G!cbeNe~MM#dd9}e6ok@Q(DvsZgVr|do(`j*=T{KM&789#`rxlBi*U~l$ zp_aq1t2}S?i|$o7>aMkE?@p(CfuDX(*}iTN*889(qyI)Q&F5|YtYHzlCC0HD?tXCl z7tTRv*P;uzAQ<u=@uP@l-S%d@4|1&^R zlT#bUBNX;T^TDv{DZY>W5#dto@cP~}>luO2FSS0xipUMz$(WShHIW=a0LREVXs&8y zI$X3?*otUrvlg4srtW$WKYstzMxT)v<d4Oa)Xf`nhoR^qhoWdj#7^( zz0~Mk>k4I0E>Ct0XK3J_vddeN+1M)~!;tF9uwa^6iZ;0siE6e?|3)QyIrO_v zbWC!sBNIgeCRVq!uf}b#P>P{Ig40kjbk>%A`^EX|bJy2rYFE2C$ zK=Bvp)#UP28JA#oObFFgQdqscYR)qK^nXnafngFYa>DQ(l|=TMz?Nsz`=r>MTE8n* zkku=<3(doWy~FwIY?iisr`3Pl%l$Yy^=etl|JmY~(`oLnUctqQ439 zOCBv`%~iBtW>p2vd`t1f%(5KTIyB#H8QEJVpmB1?;OIfPc%xz0U7dzQ^sN$jTt zyS^W%p*-|M-+iDJM=yyiAZk_Szf^uRCiVy^kKSWJWzCC_&jmIM|6^G6OX&F`Pl*8Q z+AzJQNu~6Tb#()E*?Vi&{_Wddaa@bz2^*r?9oma4CF>QH@%@MjzPgOt8{Q85=6ug& zZ0KE*yWaaEw!Q_6iPI4$EEODd(rN=ZT3C^Nk)k!WPqhsmyA}yNi!Jj@NGsFZC%K<( z3)Y&n4;6LONvlUkv)_Hg+Ety?PwMnw+Qu?bOI$0bMxut70<&AKtrg7|WDOv;YUj?s z%=WN_gXcpVKa9GhA|%X)vxD|fx8L1JeXC_<=u3CQDr#!(&bL+TrR)epz2g#Nly1Jy+YV+n!?v+) zfO9)Gr)j*u#-*VngxZ>cE#ZjT<^Pkz*d1nR?nfj z55){AUP0+8TyZK$qjndkQsor2P|HN;X6!PtjjY1CaHD-ZQbH^sVsUrfWG+)@dXkkH zJ%erN6Ko_%+E~ryAn6#1sW$W5c|`^rHk_q3JT6EwU2GRjhYGeG8tl`Hk=N2sb#jvW zkIZ5+xTduhC;AGlijz9jZn}v2R4zqeLA165ff|(R8jNGSd+h&J<_b2yFJo9ZdKbCE zIfj*4^peOC0Z_z+Jvr7)&)!Lv1bJf7X}*u+cK`l>E%@`U9x^@PyuIX!_B~_!)M$JQ z1+fu18GIf5tXK!yHqS3A_JswkfU;X88q|~y;yUg6T z_jC=Tw90!Vnd<14A$W=40gt^05JEm^M5vNxDIjP z=`puydQ(DRL z_V)i?eSywFfAt4W_y4qarEy87Yagekj;9(=HZy6dbaESCD=SiSgKC-xmmFI(H|$I* zjaZgOsR-CIopDka(KJ$_Ny}UrCENi!OCFX#7uKVRN& z{C*E|-_Nz(*LD5>*DYZD_H!voMWpM)c8m8f`tFX}z zv&@1vVmp_!s5VqDxUj!|g?Ga(d21;Y8W%7w64j%8Ef;~V!4~w5SJtS`bbIxtABs`$ zMSo`N`u9gR{IN9xaxvJt?-oM1izj8a%!-b&-8lIUW^%Sf%9Pwdj*^e7uI!=e$ScT( z+ztXKGWF*1VgAGwO33wO*E%8p%aOht!;-1womWMLlWKQnZN7U&iq|TWym(gruH`SM zafT*FhK7mcm5B!Q&9@hSy-;sp&!Kwiv~xL7&+%#FrPW|{*=^`fLz}|D0cBRH*;g83 z0}t+2@vN#g-_ZJN&?fox;CY+0kk5CGUl*zu5O|nOW-4~4>%JF~fhM#uTg61*cvMp# zY82vK^@p%+Go|shC8f2Vt!FUmWS+04V#yR>f!egg7Yks3O_78dw z+V5`^@3Vp@_#1hXjR%nRIg=-@e%duFt&6!CXTV2cH%Qqe#?D4`LbMBMT8edT8g;v+ zA+{2b8c}bRYVL*axdYQWO#@VV!I-$uk-*0e@YDK#4+PnPY8!4{j&qx-8YIMRbsq)a zn(1Y*L>4b%XX}S(&>QH)TtT6_J_a6VP<7+l@<9omdGNa}n6VN9pIX!;GewOA!mF^s z2jw}zk%UvaLX}wsYUXwUc@7fqZ>^%sYNA!DvWby)jv{zd1!N~Q{6);u>TMdxhuYrfJmj%j z+sk4_%iL_F1+hPhC-EJ|*j>Y<7;|v7bomJ{hj0Oz*_O-L5YZ zekM%89ciVMhbcgH|9;tW;-z2?a>GqjsIznO*f2&j?Ly@sNj&VG{;x)-`&IVc3)F+Y zhZ*rV_t_ivN_f$Y(PB;VfqtjXQfDrhb+Hojym&y7-S=_(2!8UST*5tpQ6+LWjODAv-{GW>v7J^p7n7aW|Uj@}-&Q3Nvu)9?UU|Fpc;kp;kU zehV!HW5~Rd|A>agTp-k=|)senff zB5JM2Q3pOrSKc~utcG45m3zddgiE~-1A1(Z=#&gp-ZHDURHtWXpa*on{!65ch7tH4 z-r}%cR1M7b_vy5(ww;E~dqYLe`y~uPOhC7IEXOorljJ6ls-KK+n*+mh%dUmH1QB8NZV#zn+YX1s1UH`$YpKON1?s>}w$Y$4ewSWAeto;a>xnhzh2X}? zhI1qrnBponKM`N%JBoJT>ic%5fl2rSy2ORHow%tq8BbbD_~aZhJz8(T~&*ZFVAFkGf3UL`YdZ5 z)l)W#8M*BMU(WlgNU{`j#6Lm0DbHTlXNhP?8ZY}%kbVL>IeiOQDHH8j*Ai7;bZ6zz zkhKwLl((63nJ%n9ktvw$4M(=IrGA6G@^f2<^_; z9sqGyPS>`fFyo&x*6FhvpuIWPWp6$slt^cjaWUlczLoqRZ5{tEm%G3@i)pcPUrkv& zxi4&NTd{ZgxCu^mf9Y%n^M*xsFLdpbt)?pNN5=>GiqEuieQeicQB^Y$2JRdoEfEG8yCZ(;y-oZla6=SUNf3AhL8 zJ%N9C%Hwu>X|B0>+2NdS^}GapWg#lphE|fpE(fPrzQWRK=9%QCFh?#e*NQ|P6Y22F z*KQ`l#p@SU@N-S^CYwCrg6ODm%+9;wb9hUO^Hc*FXuTjUnUPs-A>U-6cMt5y2`9{@ zGUn2$r?URQ+X=|sr5!U@T6+&Yr`BBNqnqzM9ck1&UIL`|gqp~2PCp3~2*u2lXvd%0 zY({xXQp;X15hr2KSsNPoz&BaI>0lX=d<8M@_`0BM=8NVcOoL?; z5F+XtavU}@EGpa_8MXSY(l{XtenyLn@b?qtCo-IG!_B+#c8%l$KZ>6>0cT7u_7cT$ zMl@GlbE69b!Xe(GmT_ji#<~m5WIxX)x=5jl<3^h)W|hMLvavaTHeh_JejGVssZOh* z)3n}F#TDz4-W7nlo!=H?FrM<4&5)SElx3sIr$OzswYcT*Tf!gvvN+VX@&7@*n(LFz zA%0;=QnM{3khpll=ZFrX?Ct*`P7*B(4Zc%a_fiK`f111htNBN)%Zgr7tbsk2h^WW* zQBqj>HiC#h3@_nCdO=8XGhvgR3z}hM7!8b+GMhh_%mh?Zqq>iD*zWZtcRawd1(MYO z0jw!dWS`aUFhp_+$-7@X-Wh5DBz4FikJ2Q$FWT*kn_^ANvx^ZuZgC1+-)c_$;iN~! zi>@dySaJrlj5^;VNrmds$xtGdn_tCuTzfa^F_UMLZIEP?A$JS`a{4J0%qXGdz3K~m zACBl6_D;7<4ImE)LmPysSI!kB4*#&sA~_gj9y0t3-iSDF77Za(B{FIu{s&O4h?XfP zJIM>2Mu>0t%>Ac#sLC*$571LNY)`Ao*i;WQbl#tQoP3Qanm%YRP0_@E&m^ni`cR{r zUqt*h@9sJY!%N4>B?FWWxRGGm9w?(9@a45nAQRbs{nP)0?*DBGy!T-1#}(`hd89af zS<}cdC?~+ir8hBYbN~eg18p4t<=-s`OEYv3AK}nXB(|)Dk7LL=@)Qf47;iA^EKtak6s4u z5g=^eWBVECQnk|qxMS90Yh-**c~iyw#ObqR`b{Pt5wPC-S3Fe(|RK=p1^$W1sXf9>wWUKK!UEz{(0UKQWoKF`RmM=g>2n?_d@z7$vl{0CK$$2_Uf#h zVBnyhk)rL%wT-H|9DgKV|0sMl%=Z)MXkawPhMAwCQQp5pXX_FYW<4q=atBFn`ntA) zt7g9IDA@IgyOr+0QOFcAYS`g8zV`Us%8C~+b;J9`uk-FO6+Tt4wCBzM41LYo}Z$ly82@VYhb}zs4CzD3f$|PeKgtu_xw}0Kh-@7K+ z;=y~51G=lrA(k6!)I6T364GFY_yW|9jtoFjgZ?@a-VO1rjPvRBUe=a6+vlA`5@B&k zpRc|PoVI5akQ})D{U=X~OVB_)y^I?>5#F3ll(C+eSE;`7m?{$7jWP2U8Datp4dZ=?cQ2C&l6=bJ9c zF9)7eTK!g<@U>6e0|2xGhmgqu;zz5mG!>An@mg44oKrI;j##@$9p)DBv%gHJ_m*;; zvQWTen=^MOCe(OV10ce6b6yW9+9R|Q>Un+x3RUG+Yn7Mw%KO8vwV;yui!QryMRc#8 zzWqFK_P)2T%;NJ3=7KMK={6QXvgTVIx$-(m#(YJ$Y-No5=`xO=d!s8?lBz1&)M&Z7 z+%^IS^K;lvH&@dV{xeeUQ%buXx1mA5Ey*ik834p15WlAB<-TkNHG)hkRcF8PfIylA*^{4lDZViWMrZ*t}jK zRJm8=f-p6nFh0J}1*AQvuX708$s&vf1Zs)~HU4B8?tuW&60vr@)1_*7T@HHVWE+y?J`3^}31t z9WarHcIRv8IjW}$q!;5%km$B~lP0z!0+E^FdMpxEv;WSF-52xp4Ik1Fu(SGmPcmk^ z=UE++2rwgbFxWO4Mdv)JaZ}Icn9GzvvCEpNh?(;AipN}{L`mkKl-5)Z@bS~D$N4h0|^XqS2zKDr0`AR`}Q?9`U z(L5ur1x43tN-HkU(B2RMbutxnw20OpSHnqGGQuyGb^>6cFaNBFHN zeUDiahdLW|t+-OR<6`^{7RquQHIfD3?~tleZ8LhbqIX~1O=1h)28+{uyS#$FjPYHlM}JHdwCZiGpT zRpn0rR#ZhWOe$7OjUOh1@tR=hu%`E{Q4Aaw6XhdDEkPO6wz5jlm;A#vax%%_X`Je{ zFp}taB=iq(%N=O@7{oxQ!rMLl7a4ST5xZ%#`HDslJo+0mpu4l(d4m}gE` z1=ps5cQa#m;jKrmRC-giENaP4Ah z2QRzvE1ZKg@%;**9-cRxSXz1KUC1TQW-02Pu6=V}$I=&Bm1C_d6Jou}>?mE66X{7* zm(2#&YXk2t@w^XVZ7$5w0WwQ3P-Iy?ql82YO8khdjfr5lSdKn*s_SUkwWL>xvi`gc zIze+;bxejz@GJgI;zJHl#1cIP$t#1ATGYy!=Pu|k1P|A0|8sYEeEe?Mw|t}b0C3und9 zyog=+{c?#kcWmp|dgJPmV*807O$cO417^ops-n+Eh!fwlX^j5tZs6aLY|gY6t4#OG zWn5F9o)1x~PA>-=f9L2c8e$6m15d2te>1vetVQ~;nj!8l)T(eCB`y2X7*Y6wT*6Q@`cqU(rP?(xzx zSH1I$fMT69;EtEehhX|gZUX|sc|*0+ahROL3g4 z_D1kt5Zz(=H%7((1^ES+EEJHRP9kR*9m<#L{cEyKc~M534zAaa?H?6(V8W= zF2@Gz=@Du&by;)EHy*yn9M`g}MA@A|xW65rJ@vy$Z8qMQv@y4e@j4AO?`l5x&eQj7 zgXN<&D^^W-kvl{w4I;b^!+ab_f2O`km4qT?1Oh6to_PP6E}sZM62T#In2N!e8TAPJ`6=ay-n5$uRg&-s8c4yD(wWSaqF zw1CKdt|VwB1E9DO`f*i_L`Qj=5QEZepHb_*NSg?PV!%_c$6z+iiUbd{Rrh5P$%a7i zkbr_ancn$PulJ0Au1hDkxG~Jc> z0{Rd7w~Ny#vrB)nuPXVeK8xee{4TYIa)D)Km2zJHM~cxWxQ%ik?J@_=SMiUC($jmM z2%Uc}p1GH9nXK8=#I6y>s;Cjtf%{j2eEE1dCK}~I@%7&;sGp>CFYrE9=pSk0raHfC zqv6Jd{1X^}N=0DTt{}0Q>%t8kwoWoHrVi|Qi#8KLjt{SXF~IAIwEQS-KjOQPyL(>$ z;f?im)HBsqgF|^`9TApKH>bcyKYqWM3oX@bf!kHEr_E=XLMclBRJ8MeCnc_Rh9kJ< zT@}+zCU+=CJW^(xx9{(*Q8StB((VO(EvgtngoEirYrC8FJX;n!TafZbTm&S;1pT&b z7i)c=!*FXAd4ff)sk3hXGk^N}Zm#>$W{=3Lr!3f{yS1o$m40u>dLuIZ?&t<)>9c5A zl)qS;pUW@_sX_y0Fevc!k5Z20X%fM&9!&=!U`NULHqo)hd{q_G!gfESAqhiavavzI zTlqEwO;R|1?kGHYwzTee56~B9#qoR6ta7f#_s%9R<}xOlYDKBJi(9X|uN6?2rhfo( zIi%o<(>vi)Sp*sD5^1KX9=$h=bsXL0RrDD29hsyF!h zucfwDm5|%SO*yR_6VM-FKULMC39_F$m%~p+crfuI3k{uzY*i)Y1G|t&&~rC9nrN zopv$MBn*uH&NFj;yTHNon{1o83&fMVz#h^bG|$NVGyMn7$5*`k+U^?+B8=*-7uy4c z0WehsI3Dn%P50>FGKEws9y_RKEra0eL{AV1jEsLM*jNRxBG}LkCA00)bs``L)byQ0 zXrTj|{mT>5PwXU9DP7L_DC*y%2kTF(th>NpmMkdzHkbz5))s2Yabqw2v9o(5qtIP3 zYPyNwq1H7kITN*>?E&BUkIM|!{tEQp?k@b-HqcyHXaxUj(Asho@9J)n1>&nSCu>h! Gy8FM_{ozgk literal 0 HcmV?d00001 diff --git a/Project2-Stream-Compaction/img/blocksize.png b/Project2-Stream-Compaction/img/blocksize.png index 59341f39957268e3a2078925b7f73bb0d037c406..635397c1bd4ea277b752005afaa78baa1a480aa5 100644 GIT binary patch literal 71968 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%0AnVLof^J&*Q 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 dev_in(dev_idata); - thrust::device_ptr dev_out(dev_odata); - + thrust::host_vector temp(idata, idata + n); + thrust::device_vector dev_in(temp); + thrust::device_vector dev_out(n); + cudaDeviceSynchronize(); timer().startGpuTimer(); // TODO use `thrust::exclusive_scan` // example: for device_vectors dv_in and dv_out: //thrust::exclusive_scan(dv_in.begin(), dv_in.end(), dv_out.begin()); - thrust::exclusive_scan(dev_in, dev_in + n, dev_out); + thrust::exclusive_scan(dev_in.begin(), dev_in.end(), dev_out.begin()); timer().endGpuTimer(); - cudaMemcpy(odata, dev_odata, sizeof(int) * n, cudaMemcpyDeviceToHost);//get the result + cudaMemcpy(odata, thrust::raw_pointer_cast(&dev_out[0]), sizeof(int) * n, cudaMemcpyDeviceToHost);//get the result checkCUDAError("get odata failed!"); - - cudaFree(dev_idata); - cudaFree(dev_odata); } } } From f932777d62174244ac3b9966db37377770c533c6 Mon Sep 17 00:00:00 2001 From: coffeier <834986610@qq.com> Date: Wed, 18 Sep 2019 22:50:16 -0400 Subject: [PATCH 05/12] readme 2 --- Project2-Stream-Compaction/README.md | 34 ++++++++++++++-------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/Project2-Stream-Compaction/README.md b/Project2-Stream-Compaction/README.md index a81f873..dcdf628 100644 --- a/Project2-Stream-Compaction/README.md +++ b/Project2-Stream-Compaction/README.md @@ -45,54 +45,54 @@ CUDA Stream Compaction **************** ** SCAN TESTS ** **************** - [ 25 15 21 13 27 28 36 12 46 44 46 45 42 ... 17 0 ] -SIZE: 128, NPOT:125 + [ 4 39 13 14 6 31 41 35 29 20 8 20 16 ... 19 0 ] +SIZE: 512, NPOT:509 ==== cpu scan, power-of-two ==== - elapsed time: 0.0016ms (std::chrono Measured) + elapsed time: 0.0009ms (std::chrono Measured) ==== cpu scan, non-power-of-two ==== elapsed time: 0.0009ms (std::chrono Measured) passed ==== naive scan, power-of-two ==== - elapsed time: 0.106496ms (CUDA Measured) + elapsed time: 0.044032ms (CUDA Measured) passed ==== naive scan, non-power-of-two ==== - elapsed time: 0.11264ms (CUDA Measured) + elapsed time: 0.043008ms (CUDA Measured) passed ==== work-efficient scan, power-of-two ==== - elapsed time: 0.077824ms (CUDA Measured) + elapsed time: 0.083968ms (CUDA Measured) passed ==== work-efficient scan, non-power-of-two ==== - elapsed time: 0.095232ms (CUDA Measured) + elapsed time: 0.08192ms (CUDA Measured) passed ==== thrust scan, power-of-two ==== - elapsed time: 11.607ms (CUDA Measured) + elapsed time: 0.091136ms (CUDA Measured) passed ==== thrust scan, non-power-of-two ==== - elapsed time: 1.11616ms (CUDA Measured) + elapsed time: 0.06512ms (CUDA Measured) passed ***************************** ** STREAM COMPACTION TESTS ** ***************************** - [ 0 0 1 3 2 1 2 1 3 0 0 1 1 ... 3 0 ] + [ 2 3 1 1 0 2 0 2 0 0 2 0 3 ... 2 0 ] ==== cpu compact without scan, power-of-two ==== - elapsed time: 0.0012ms (std::chrono Measured) + elapsed time: 0.0019ms (std::chrono Measured) passed ==== cpu compact without scan, non-power-of-two ==== - elapsed time: 0.001ms (std::chrono Measured) + elapsed time: 0.0013ms (std::chrono Measured) passed ==== cpu compact with scan ==== - elapsed time: 0.0075ms (std::chrono Measured) + elapsed time: 0.0054ms (std::chrono Measured) passed ==== work-efficient compact, power-of-two ==== - elapsed time: 0.18944ms (CUDA Measured) + elapsed time: 0.146432ms (CUDA Measured) passed ==== work-efficient compact, non-power-of-two ==== - elapsed time: 0.287744ms (CUDA Measured) + elapsed time: 0.137216ms (CUDA Measured) passed ==== radix sort ==== - [ 20 60 29 31 26 25 58 45 63 56 44 37 45 ... 40 10 ] - [ 10 12 20 25 26 29 31 36 37 40 44 45 45 ... 62 63 ] + [ 62 63 17 9 8 6 12 46 28 0 58 16 47 ... 62 41 ] + [ 0 6 8 8 9 12 16 17 17 28 32 32 41 ... 62 63 ] ``` From 16cc84a75cfcc257a4519d7b5436ff5793dc33d9 Mon Sep 17 00:00:00 2001 From: coffeier <834986610@qq.com> Date: Wed, 18 Sep 2019 23:12:31 -0400 Subject: [PATCH 06/12] readme 3 --- Project2-Character-Recognition/README.md | 194 ++++++++++++++++++++- Project2-Character-Recognition/img/epi.png | Bin 0 -> 55472 bytes Project2-Character-Recognition/img/eq1.png | Bin 0 -> 2890 bytes Project2-Character-Recognition/img/eq2.png | Bin 0 -> 9449 bytes 4 files changed, 188 insertions(+), 6 deletions(-) create mode 100644 Project2-Character-Recognition/img/epi.png create mode 100644 Project2-Character-Recognition/img/eq1.png create mode 100644 Project2-Character-Recognition/img/eq2.png diff --git a/Project2-Character-Recognition/README.md b/Project2-Character-Recognition/README.md index 4503fac..efd4d37 100644 --- a/Project2-Character-Recognition/README.md +++ b/Project2-Character-Recognition/README.md @@ -3,12 +3,194 @@ CUDA Character Recognition **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 2** -* (TODO) YOUR NAME HERE - * (TODO) [LinkedIn](), [personal website](), [twitter](), etc. -* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) +* Yan Dong + - [LinkedIn](https://www.linkedin.com/in/yan-dong-572b1113b/) + - [personal website](coffeier.com) + - [github](https://github.com/coffeiersama) +* Tested on: Windows 10, i7-8750 @ 2.22GHz (12CPUs) 16GB, GTX 1060 14202MB (OMEN 15-dc0xxx) -### (TODO: Your README) -Include analysis, etc. (Remember, this is public, so don't put -anything here that you don't want to share with the world.) +[Result](#result) - [Rules](#rules) - [Runtime Analysis](#analysis) - [Extra](#extra) + + + +## Rules + +##### I build a simple neuro network, it has: + +- Input layer-the image data come in here, now is 10201 neuro based on the provide data. +- one hidden layer-the number of the neuro can be changed. We calculate the intermediate quantity with weights and then do a sigmoid function, then be the input of the next layer. +- Output layer, the neuro count is 52 based on there are 52 classes at present. + +##### Loss function: + +​ There are 2 loss calculation, the first one is MSE, which means just calculate the difference between the prediction and the real label and then square it and multiplied by 0.5. + +![](img/eq1.png) + +​ The second one is entropy_cross method, here is the equation: yi and yi' is the prediction and the ground truth. + +![](img/eq2.png) + +##### Forward Pass + +- input data into input layer + +- Multiply neuro data in this layer with weights(full connected) + +- get hidden layer data + +- Multiply neuro data in this layer with weights(full connected) + +- sigmoid and softmax + +- get output + + + +##### Back Propagation + +- calculate the error between ground truth and output +- softmax derivative, pass backward +- multiply with weights, pass backward and get the hidden-output gradient +- multiply with weights, get the input-hidden gradient +- update the weights + + + +## Analysis + +![](img/epi.png) + +As shown in the graph, when we increase the hidden layer size, the less count of episode we need to train to the expected value. + + + +## Result + +###### There are separate training and testing part + +you can set the loss threshold you want, + +for instance, 0.5, and you input the training time you want. + +Then we get training, if the final loss is less than the threshold, + +we can go into the test part. + +###### There are two test way, + +the first is randomly pick a picture to recognize, do it several times, + +another is just follow the order(maybe forward or backward, here I use forward) + +to make 52 tests. + +I print each recognize test result. + +``` +**************** +** Recognize TESTS ** +**************** +successfully build the network! +epoch 0 loss : 5.83244 +epoch 1 loss : 4.90023 +epoch 2 loss : 4.26333 +epoch 3 loss : 3.7257 +epoch 4 loss : 3.25222 +epoch 5 loss : 2.82764 +epoch 6 loss : 2.44545 +epoch 7 loss : 2.10429 +epoch 8 loss : 1.80387 +epoch 9 loss : 1.54303 +epoch 10 loss : 1.31975 +epoch 11 loss : 1.13122 +epoch 12 loss : 0.973897 +epoch 13 loss : 0.843676 +epoch 14 loss : 0.73633 +epoch 15 loss : 0.647869 +epoch 16 loss : 0.574772 +epoch 17 loss : 0.514071 +epoch 18 loss : 0.463332 +epoch 19 loss : 0.420601 +epoch 20 loss : 0.384323 +epoch 21 loss : 0.353275 +epoch 22 loss : 0.326494 +epoch 23 loss : 0.30322 +epoch 24 loss : 0.282853 +epoch 25 loss : 0.264912 +epoch 26 loss : 0.249011 +epoch 27 loss : 0.23484 +epoch 28 loss : 0.222143 +epoch 29 loss : 0.210712 +epoch 30 loss : 0.200374 +epoch 31 loss : 0.190984 +epoch 32 loss : 0.182422 +epoch 33 loss : 0.174586 +epoch 34 loss : 0.167391 +epoch 35 loss : 0.160762 +epoch 36 loss : 0.154637 +epoch 37 loss : 0.148961 +epoch 38 loss : 0.143687 +epoch 39 loss : 0.138776 +pic: 1 pred: 1 +pic: 2 pred: 2 +pic: 3 pred: 3 +pic: 4 pred: 4 +pic: 5 pred: 5 +pic: 6 pred: 6 +pic: 7 pred: 7 +pic: 8 pred: 8 +pic: 9 pred: 9 +pic: 10 pred: 10 +pic: 11 pred: 11 +pic: 12 pred: 12 +pic: 13 pred: 13 +pic: 14 pred: 14 +pic: 15 pred: 15 +pic: 16 pred: 16 +pic: 17 pred: 17 +pic: 18 pred: 18 +pic: 19 pred: 19 +pic: 20 pred: 20 +pic: 21 pred: 21 +pic: 22 pred: 22 +pic: 23 pred: 23 +pic: 24 pred: 24 +pic: 25 pred: 25 +pic: 26 pred: 26 +pic: 27 pred: 27 +pic: 28 pred: 28 +pic: 29 pred: 29 +pic: 30 pred: 30 +pic: 31 pred: 31 +pic: 32 pred: 32 +pic: 33 pred: 33 +pic: 34 pred: 34 +pic: 35 pred: 35 +pic: 36 pred: 36 +pic: 37 pred: 37 +pic: 38 pred: 38 +pic: 39 pred: 39 +pic: 40 pred: 40 +pic: 41 pred: 41 +pic: 42 pred: 42 +pic: 43 pred: 43 +pic: 44 pred: 44 +pic: 45 pred: 45 +pic: 46 pred: 46 +pic: 47 pred: 47 +pic: 48 pred: 48 +pic: 49 pred: 49 +pic: 50 pred: 50 +pic: 51 pred: 51 +pic: 52 pred: 52 +test time: 52 ,correct probability: 100% +``` + + + +## Extra + +I use the cublas to do the network calculation as a matrix multiply. \ No newline at end of file diff --git a/Project2-Character-Recognition/img/epi.png b/Project2-Character-Recognition/img/epi.png new file mode 100644 index 0000000000000000000000000000000000000000..8ea39ee72279b83c1a4016b21445f5806010b1f1 GIT binary patch literal 55472 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

Ys?nH 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℘&r9QYOPrFQH}G-2`{YElP@5RUj)Vdq01=oZ6g;s)=4Qz zn*5U4_ntLqzfBbXWNv7%GNNG%F(Rqp))GB+J>!|`WZxsVrqI_(xtR7#oI$-j`jRiY zBKUWQU*5A9|f1@YoSuad6jMr!uI+8~R~JiF>P<`+>RG`k$2Ek2_z#e*D0$ zQ?;obb@HRq%0?YJ^tVA?avfTcCeQocH*Gfr-_1=*J0jaiq_AKMdeZUFKIJG13ZbphH1@zI`4~_ z)ccj>A?0gqSLXpHqxQYKYR_^`x7msM1d^BPay=x%uM} zUN2HdhAJ1c-lgL*Kt11<=s2a^k9GW~zDgc}(|2*k$s)Bh(Hov$tQ^H+ROqf9KeM@- ziIOw-V?Dx4B!89iYA(8&oK5|H{i};Z#jmyjKWrO&KHXCgm6R6zY|5gmWNZ!TN^J>J z8(k5wIU(@{v-0qRhjxwocF7JXy3u>{W~?v8%Wo$~A-b%lmv-}`Zq(ZteR;?9YO%28 zWIR(#mViCT@4+?gT9pDH!q zkNy-9>(T3rd7USx7+CPh=sIU*;ZmyGwBGy41}lS@9?N~Z#O&zF>lu$h75et+Hxjeu z1}uSN`8{)=6{D6-ecv@d@Nt@_-sm(l95%7MbSp;lMt`LJ!9y>ZziPDk47|Kp5Ov+H z^T6ZI@-E})Vq$ZS!TSn6H?+du2u+iEm3OS-*X_!^CG@_tPAReV&JM=pB;XCYfCC)V=q6K?E-i0m6B`I zy+~`Y;^F?v<8+pcu2HV(2(&gb-kFxYW~q+e^awb~gTdv@9# z;3rA#PuOXvUi(1h_V3e6hh~${4EzO<#Cjq za+7LbDa>Di#%bW?4m+rcN>CH8ZgmYvuljmFJQ%-Aw*z?<^l8A|lg4S(6MvnGr-r@P zK`aL3y6vJTtWQ3Cm2Se@^2*J0hsVv{O-_&X&jHsU@Gsf%1Ty%QE~uJSPBki;|A^^QX~=K3IFjc@4bmFxJ#plb8v3jX4-g zjnL3R1oVclKUuPiflOJSYz$sVJ@F*QEaFB5pCs}HWoa`bed_*hoJ+{<@1C*EnQB^#fZ?A!9s>zUB&l@ovMejj$tuXFrJ zrGca5$lR6j2CJSkBVqXgG!1(v8P9W(S(1zXF)I6{=wl|Ww&ZJ$hGQ>}@Z$_`PKVMP zMpJC}-y$)rBqhaoJPnT%S zjw%!8hF*Ag?41dTb-hXcQoT=Mm%$6Qlf#BZGmpMH(?;fgkMlk^`!yBWB>!TdMM|vS zas)>!O?A#Xk~Z>L^nGoSXUi{HK{yL7)DhLHb}+e;vwE@i{Tk`Qtx+bAq~a zhaG20C9{{~Ym}=#y`(Wbstg9Ym!ww5*yrL;cM{*v$;+zC?=l`GpEPL1YD@($91%6o zecv>_bZ|6TV(#s76sDEve^HZVi%Na}FMw0^c!$e8;JU z$TGQT1oYUy=zL@z*eV$^a_{Q$=Ar{RvL`(7(?9*?G!zNUcnz4*2tB)TN+BaHTCxVy zfeb+H2(%2RfAJ4dOgpLgG5x)!@ztw~dux8ith+)pkyfQ$`#NT?nD{Gkryb`h&)>nSXMmaUR4v8L_sA`W0E-j;` zSewqU?Y;Awrb`aKWSYFtBbaIO3|VqDMNbdJ_Qed}$JrVUHy0W`8TvIw`G*%}e;I*c zE_m<5EHDjP{v;eJSJM^_NNrE?=|Ivgow0lJ+SJFjGr+F!S!A~T4ZJ=rA)x$}&PVh^ zT<9%^zh}#bx!dEecu>^V zICCLLaLFvuP@F~LY2=XdW(pCZhK}N9;$~|0ZUqebcW$t=UwS6BiwXns>$8{>; z7KJO1!Y%ryR_jp{pp+hE@$zfCwKJ(6(8+D4PB%+5Kuv5D@ks`pSpBs?Ji2)bj)rOtARMbwg3kB zvSYD?09oXo4hVUeTzDH`8oNJPG36^RS8Vz&jeg_(!*F{=?JaoA!pWk+pdeQ}ou@zd zHW!`CQSy-*6yC@S=5?yj=x6Y11HBoT4ws3Xjp71Op7M|B=uZ`Msn4>}zu^NOgKPS_ceJdrc1$-bUCWEDyA-kx@y#tP#>8i$vh^(O%sH5PZ+-or%l)<~xivsX_3Q@kl67wj3ZU?C zn!LQ#tS`DyM{6Lu@kPC0oC&QUEtcTADwKy@e=LYv>ph=nd>|4=2uIx518~+S>&c2a z11X-{tZI%#OT!;nY~_EmXw|vXP(y%6?=aaq6fM+`o*h}ydF4*EaqKQ1-FAR^_Mk33 zEdYkafXt?UsUDlZWrEswMSB3zXt8@*c*+hordQdJ66=0M$PuTi?3uS>K8~M%_*fLO z(wd*F%&8ZA3VGfA5o4xL5+ZO-aRg<>#K#2w|#%knFx>gfWbx%?%pA5G& zMmA_m6B}gIeIQM$*YkPWd@5A zPRGAJkLeeFe%q?05jZxqi!>9vb}H5qW?v0m&%!OI-!#gfT)o>D(vymDnt$T{hLfrR zq%;8;ST3d@E3G45W%0s+38LNm?Ut+WSG$CRIFFqS9YlJ*-@H>Rs!}16eibLVjlf>< z3;lZGBOKg2zsmlffjx7qrUAE?bcUoG@;k1~WDDF=(1T*_IB1{A*9=S((hIUC;hooh z58rXVUts?=#iL4^L%)4X)+*YC{4ynkPVJuMyQ3*r5q?Vf|L<(g^?Q`5`dUQ0H|unm z8+i$B0OY>$igx{m&yo?>)JpADz{1wfwHJdw#}4FuQ;4WCS}qJoiv|hB<`b@*^kUOnq+$)~+_F1yV7dv%BKWkS;20y}eW=El3 zycZtK>vGd3I4jC@(oa(IM$`Gbtz+7`S=&kGR&I&o*`P&eZ;n3KC~mWwVE`0>F&+i| zea@^Dl{Q6%Ecy~xa>~qM(B>@R=@$JNYnCb1S8YZBj{;gx+kHGJG``vVagB=wdhTL( zY7ogwXJ`MoK>nP+EWH%G(#P_BxKo1!q}NxcCHwO5g3(J+*X|31w4XjSwA%4;!WJpr5xdLiu-$o$bmRV@5u_sj zG|<#mKGV-zu1K@R2yJ&~R1eADt^rNpD}@oA{_7(4v^hQD2ZND{<6}C^r7I2(J*Xj> z^Wer@*N(p#3HJbVr4^E+TKw=G+4iz=q>hFG>SLbdx0=ka+0kz@I8k4MlsSq!`Lfo5 zt`1|7dUQlKatwd!eGkAQa**ph3u9}dxevHAw+O^Nu3UQd-i zLv$kF^9*sZ@*-d5Kh_%4<= zOXjh6%l^Uizwof;8&rSxyv0uO5>U;03Kg*O0&jhHf^l2aBnnm)_TVqYj29=`&47k@ zmL)6+pYo2?@f2c%6LRD|d9Mlu-wHOBC$5&RKQ&p@LI#i*F>DbPx{-e(0Y1e-!dLbu zXI)`Dlf;fsewM`JZ;~i|lBk-w2=WrlYMWfsZsGKZLDE$1>#G^#%PBzIGO_o60Es9+ zq#szSy|nQ3bj4SpuPakr;OzaYpbH2f84#ZRQkDOxY-j3}z@0o7hJy&wqj1N+bPBT6 zt95u{utY(A(Dgu>a0sc;CfGBKkKcYN_!eE0He_wvgIkEl8<#a-#guR`m=*QoCQw^~iKW3ps(E(cf8_b7yjta8qN?}4Px z7&i=rce+`f34eo9qCE1Uu+Yz|lyF2nE+n8se6blSKQ4DwY4XLQ%Rfg{6zsLY2>F5E);ngZPz%Y8TCvrxh$6c zd&(HXQ8rS&2s_XrwIKA%je2DIot0~}#53F-g1;)0Pm3jjER8X!-EpzSN_@a8OaIZK z@7R{brMFUfFZ8lHyQ<87YhpF>@n%UNk`^_7&Y^;pv#Ej~%=0~#k+=Nz3Pd$&$n<%h z3$~+C(_(~60rfhDRrwp6t_L`8!q!qi1!AQtBM zmc4@-EUdDGt64KK$beqhKb%hr93g&8--Na&;xL_d;Dk57=qIHZsl>ZoeZDqW&$T46 zz=FQa-t}e`s;v>zG|$>&iZ2WUzo-XqFM1Q|tfp_P=&{b@%Th_~(rz_lWl@LiH}oEU zQlqWf@M02NcC87gpE8N*Y;(axuiuZeYZts&2hv>?*;9f$NH}x(_(*z4hJP96dFvG4 zsY&uvy(VeI@;3$$3SIsxqTllt{DxtQhLS$vs;r75c_$0TO$nKfLdNDj^Dy4(k7*P8 zIa+WA#1Fmj<`D!jDf$&D`gM@vieVmkYILe;JC&lj4i>acl*_)9Q@MJtQTKuntK5f) z2{~m3x&FhCq#6`IB6zAiRi!wG#Y)J)V|E1@!TG=&*> zepJkh*!sqSb@SQ*!BE>Imidc{?p#C{A;~e{h3Sgm?9jw3~o8aIS;2X z%+Jf#v(OUo(_lfHUs+taJ_6_89*miW&)E!=Cn~aL*SqT!1f3Y+9y!sq8-lN{ZPu7= z^|(nL!YBPlPJ~Bjk@Gt5`mbGz;QS(Mz3qB5#_Mg*^B(0NyvbVA9esrhCYLM3Gf#Q{ z8eO>0Y>n>edzl!@JID9{r>$nAdkanPa`kHZBzq^)qUlzc7zg$;E78n}3fIcuy)Kn~ zILUhL3?0mZcOL=AQ6g5)f)?2NQ|g`t|GGHYY93S}EAKG@#zAnX6gTV5lle4(S*Ae;43}vB z3uP}C@=Z(q`$`u43;>lN-}>2+PgNnZehtw^la9SquA*#kALWo~*$ZD5VdAhWV2wF+l_9 z?we)JldV-b8OE80#RrD|p}~CsN5Q#>vE-b}-ngpr7^*tp0=bpaRB)ZA*vMjQumkYG zBXvy$AIG-rm5~vd0Pj-b9vg8DVq{&H329CVhOl{|v=h$95+k;aJ3=AO5brb?n9p1i z3kqh2gCJmN*jW40!(cyRE)2^oPQ*Sg05l!OhUbV?_HT#QszJ5Z9*r(ZHdL7eJl}Dz z&5BA0o}0Qs+)l_Q`7H81*HU@WpK>Od39OU$=gISmNO-PzIvw@UwQHYP5Wz{b*&+=n z!9{i%R|>)Q5DPlHfaKXk~rvigxfP%?9q5XM79KcB6~K>2BhdQ9BvzA zt{|k`S!ck7-X7F6IBG1+UKYROZ|7iX&RDh$0fL5j?*of29)fe^Vb8DkF+}>uUJPihf+0pe@c2dj;fMgrPS=vXaaboaycy z3R-9xu1HMH0U!!ddNf9Z{Z6^LV^mk#BIpl~IX#xC`gAcqnx70Athp4Ng(0|!SI%Gs zH0QmZcrx5vtR;Cr21HmxQK*Wz0})__u=P%P+Qwc@hT@Y#%^Fd$Z(6s_ z67T!6$spl+O04|w7BtM0`>I@EK+q#$X%LczM$NyEhJP8b1M|5_)p9NSc6cDu*oD6> z!P3^EgCU@Gzv$7Jl07#am0u&rv}@j_pAH}u9h9gJ2f^iED6n)h{2KH>c6t>3q>I%-uukh9{OZrnM>4lQ9*UYLo^_6bl zay^_co$`rtP{3wZ`sK%A_M-P6s|y$i=e5rSg~HI?Z#wp2*$0SM1jJua>Mu$}k$q;q zo{Kb$hOXRARjlwGltYw$z~G;XC6{pV3Bkq!Nd&=8BAP@ioN3=-B6dTMq9iJD?%glS z#f;=$W<_}4Gnh4RG)0c%CT{Nrz0y5hR~xuviX6tGYvtSAkx-~jO&h_6T;h0;1$I=+*i46q)jJ?{SjOd((8 z$v6|(?%cR)*a+HvLt_`~8-G&KP!4wTw8&+xgempWusW&~=S}_P0ecjI8D*fuW~5Pb zh_lvxFF!S7J&x57sN9-hFbrhE&S0Y1+$2!an@5`BSZxc#k$C9#=swuzrC=Bolqpt1 zJHGtQUx4l$Obh``@9In6w7fU#YWG7?&$}He{s>w7gZJ6&rhApzM5JkbHW?CYJM}Z& zL{w8^fBVSxVtj#5X|z(biCiI&nvuT}9c*ZPK{h@$C628p{p5eXj>_&joi==UXua-1 zlnUI>nrY-c`HfOW)1+_3LH{zMDD9BIwyZaE;Y4cV{LhvST?$cQ-BV(;^Io4t1gzKs zA&}&bt|SMQQJFVeL-s}A)CW~+k+6xnS}e0#9}fGRU^7$qXBLSV5gNRM@0B4a(W`ZpmV6*mVvkb2`>Z;t zDLPv?}F{#jCKURw^SOL=*50Pgbu_EJ~*McvVR$VZM3XN$1r=3QXgg ze*KVNSM_v>IaoKWA&%Q$=`^|EyU%j!P@yK+GHjT&YBC-8>k=uj9?$3070t-C7zxlf zc&i>pVCtZ?We-n1ZrfrB`d~09^|KY3csxU36;hlk4#NqIO}=XMP}`{rt9`~LL>??IAV)$1sWV7Z!jP%ffH7vo!#X5XkUV$KZ=N7Mt_UmP#_-HGVmcC0 zlkOri^l(6;`rbp#hvMJcKc?gO2jyPZ+A1h?kIcmn^b?XY$9wuyMu~&4Cy3HUO0~ZZ z>t*7E>be#&H#%XWvTu0x*KtbLJC?@V9qsBuvq_LTs>ZIH=pDxv2DF#`&NmxPh*nMU zoM6=Ci2i11lreulYrlZHREneJuS9q8MeQ)CR6cx@?3T>D9=xI>Ifvk2V&-87q9G>| zKKcTPmIV^ITT;sMwqYHvT?z!r7g>&Cv{UXFF7oBNN}+<1$z^orS?#S54P|lGCv*FJ z$bmf~N7T72KJDcCC!c)a`Di^7phpKV`PR$p`k{WbP!Ky=ql~uhgRjR&d*au#9&DU_ zxO81)Gj1#GRIEJAO?_jEU5#Lc{OB2y9VK`6j+j&{+Nj4WObSWb_8!b0*<55$)>S%m zM}yqk+^_`7?tsHXi^S7z@c|&ez7u#G7P2b5kEHL|b$B9FpvaAQ0cw}~)9Z%;xy$xh z`UV36O~ej?^TuOid2bs0L+Hi^!zWpxywR2JE9FoAvNq65{K6}}k%8=GS0n*xK*sp!e+)Hi^Kx?47_x4gq!+`Du^zqap_EoBgh4 zD^cA!1G;h`(R{4}zxzQ%Za|sO2xl}F(FyEA;)A8@I6c62ylWJrcreGD18)T_m=e(y zUi*v8Yyj}DOH`4vn2xwkWbc+2G=^@0MXGpZo*L^snXpNHuUcQ_rxr@WTYqsud8&7q z%6ThIOvcGRZYIaf&|V;xz)XlA#MK6e=7huFleFw}g(e0SN?D!Nv!l#IGk=H)X4k|_Gq?TtrkpE}w0GnBW`PFrDq12M% z)K|&dQ7mo?%Oo7mtVD)E1=jj=49chda{h3%-7^=h!*ZhvKsfs@6<{r)Xm3K7SYXD#<=Zk@3>c&TXaLf$sn?_wuT&!Ae{UH-y>HgOS z0#@^9G(lJ0n;Qj3T2Ev5ETGwU6_h?>ZFG+518bdSRWa|3qNEhClw<3^STXnAEdUYa z8`a`R(3A>ipkA(BJG~+9PP{G9c4NmQzhQyTNbSr@ggV;je$n!GS(210EMKBzPVw_3 z1;NG=8S$fm^~CPi z%#mhC@$5=7myH#GTGMmYJ8aMXb!uSwC{g)vQibHA)`me@Jg;3}i2z%B*x-zQ7)7Vt zo+(@?RZt#EvNr&K$QsS?$+t$T2Xa8lfd|IqTGR!*uEN0Ied%vWN)r zQPurI^TYex<>=2g*569F)slAI4|nC|xOZ{4_?zF!y#%sAJ`3fy>xNmU(bb6D9_PV( zofj*ThD~)mH3a$~ZSBJ)m=|#a-v80O(;;gg?nECHrGXfD*>SVj;WtkW!zx;HVadfM zvh>%*&|a*+Li8)d*k;&v)-0oC`Q!&p(Y3pA+xc07iu%SaBiGmTHCAYJ&&%f_KSj?I zpENnc+6Ao(qsS+Sv#)c?eX&=D+J5r$isfy7-e%5lO|)lB2UPShI8!la+T;?sLoO)eCso!8y0aV9@a%s%t^lRJe3>wj2NN*OL>URS@NWz*J8X$zJrCF8-dau09^e6 z1wI2PFpI%J%Kr?{D;`o&k$*hYpkjG6+5witow@H^CZ5*SV)TQK01lAtR^rn#1=j#S0QHH5 z)`%n4yiPqGx9&b$p3X^A7xmnC0s$A=i)GQ6A8C4b+t&{hulHH4X}{-vL5L@}QndJ%Wu%|EOMAWyf&t z#z-P`#wA9OzVu`lv75x|h_atM#)6-QYexkEqFj*Il*g^Tuyyt=&VOb{PBO=0%pQD-qtYOHL05s3hQo5?9^< zxPNK6V7ciuG3q{+X3SlL^|@k=a{PHv+3BuN+NFj|2BOwH zyu;PTrgX(hixrjQ*KHi>H%zu{;oOJ-2X)aa^Z8c)XU&Wmm!guPHidjU-{-)=O)&m)!D8v>TWCd^Q)_qCpsBP)QDkeG3$JJA zTQ=ikg-7CZ?C1BTu@zI35 zP^Z1h!z_@VatUTWZu;M9m7|LHLtoR>YEQvk5|{!s$%r)+j?23kwjsDK(gsqltdR5# zf1S122O`@MciifbIghm3+@ol+P4$>cYA!~ygZJ6%X1wk>O^te6j`(pN0c-b8nGexz zcjldLgB*50kqo__H+;xs&kI>1zQfl`P?yO)>3q>)_bCBXw zc4A7NZqiK6?le8xijTv$x}kSnYoZy!_YlO1Kpi^S-%=5NCbyjP1i&aSvqI)Z0p@6E zk|#qyg&Hkhu()*O?I+7n=E90h$NLl{6cUd;fjbLr_FsaHz^MBWsu;HE`H;0#b?0Y^ zH)be^`_rO}JZR;y0x%-X(^|56WT@Uv)Xp;bzTJBsma|4|P{0(sG^^;1IJ#NlE@Mxm zaguuSq>L8N{J0>z7gaOtEwN`>f-2Lt_nl&BG}fK;SSjIf(K1>gVxVUB`9?0L7S$!e z9Ay9n_7`nJnh5?(%<~rF0)i(c#juapZZ`Y02SHq;Zl%K8xsPnm3fL3j7=bLxE&fS7 z%&h}nzpx3o3+YQWYM6C`FXSruEI)kyp(Fu5oSR*~^Zsbd5ug!D-ywMxk{>Sv#Tb_ySgDq!yAURBh<~!e$6dhPtDEJ_}r~huBia% zJsK|{sOPEN%N+=1gC1}U^v+11OdbtQ{9H2DQUFxclsC>-s80&!8|T|pd!bfG-`jLZ zw-%cJEaMRYO8#50!1Af~`#10IHY~dEo?8<6D1qp?wwCl8Jx6LmO84hZ%DcZ;#&r=-+>isS}p7FV#4(>!bEcp;Zr)#Z&E|f!C>WNxBr_bN{ z{QDWhqPNQ~g413}KXmYumOFs9PA=jt1_0GzQgH@Wt}ZH<+jF|G@>@NiU;a8x>M`cFKhrF00cBzjy)L`&)M z2R)4r%!BFsA9C*Cjoh<=p`n~j+ZLi=DDR|Arkflvv!n-`u5yO_NJUi>qGFRsQ?kK; z#BCgJBds%!o0(*0LH{R2qtLx0ni2VZN3hua_$b{yqeP3`r39B`cf=fgT^i22ra}PY zDIziw{xj|0wY6rinwg9_zlI&!{=U1#opEz(k2&x|T2Bo*duoWq)07D3gs`yK*R}7V z>Hjsw4r6D{0^QpqQS||!%pDDg#5H|L+35uCO-Ttt((*j3H7us!*#4&uK6BOkl$nQd zcpR>qNkt!o54T0`@1X=7->kIL==}@v+eGzLy&8`dqm7mCdvb|gY2l+rFUCAFbDDXC`SP_kL;{i>=lHJt zDs?}64S8`^-Q0pMc;^;wSbnl*u0QQ`9YvoxUAzlr+9szC=0kyp22ZU{Es@u%iC#k| zCV?d9xzbCV_$rh1^AVDGu#QjKO762w+0dr&181tb3_EwT6Us(XLI#t{d?@ zkszdh6}~VwsveO@e_v3LnACpK>4>_i?V83;N=V%C4aBE>_{V-M6wAgo9;XQEHIgcB zsuJFAz0?sejh5Wdaf-In(Zl?U`43^;Xf8f9b8c{|c~%ib@>OH_8zi$A^gtw$MR2fh zkbdUKxMy*HcwgaIZ6;G8AVx~8obnlJ1X0v+@qLrMRP+M+?bX)0_uRAE-;A2hER{{# znem*!S=py*!jlt{dGrcH`-1~hOlmz{As3hziCMkE~+G3wcTEMeRU;E zI_RJ}P`%my+pZ&S%^H_%89kiy!CMA(cK>Fy^q%1eZ?w)trmvxCN7m&FH&~?!^0zB> zZ)TPCa)^-^K}N_Z8hS?m9@RQ+cY2Z0F{Z3anYylaDciHAe`NC8fqJhXxBW8s(>i89b<8$4Jp0JD=N0>z%&KKHlrQd{TwR4oKh zUbLcM`_0nWEQUw0SEH1;8qq+b6dX@YalLSKrcJ*2?XGvOm$U-8c{z^!GrAnr0PE2n z;4Rk&Mw8i56zLO_zvGTR5$zKU82R* zH(Z$>7IvrZR`ajbD~H|Arp64zdb1Z1#a>P^t}{6ZW48NuP)q~iX^xsUzXPvEZ1bzu zn%6+_?pv-jOXAN#Tpp$_TwpOmL(b%@T24l~+qQM=$nE zp^d(X_iA|ASboN_{)@fV@Xz+#-N7Ha(7(P&DRR`gQdS8;1P9#gRA1ZQ4v1GU8n$H? z*DYtN%(FAZUr>VL=w}};V9{poYng*~;!T5H9?xx)9r5jF1Or?=0`ip`{P@^iBQ4_V ziM|HTE5d)+2Y;vrWj|w&D9B1j45HhdJu|}67_{^YO`C2iXyD|zk#8Rc5`3pU#RdW^ zs2=ptv_W~gd!;<<;e;tKgFn}@<>pc_bqW}GKC3bXxs`Bq*8;V(A1kb*+ifj!%e?Xj zo+1O(6a6_TQqNYUPXQ? z9u_LR6jgf+OX?L@P>#Cg%Jj{G!J)0mdw?$wF$##fiQVl zLM*8faj^?&+>kQtY@6=uy~q_82Q)4LJ1hLy=%(EPAy3&f7MO#68-b}z(txXl(Ycnz zZ4H65+ZemJTQ#fCFmTAoC7rr!IJ^Aby1MZU4aiQA>!ozg6)VCAEPra$yWZ_$=~>&j zVbuM=GJ^U@w@zgT`hKB`eE7)7YkM6%GY>$#NqcJM$#%Eaax30>;(J3_)4z0$dA}ba z=2ly2oq=077W7+VsQFKQ9MR;i-qBg7&Kyj2l0{lx!Dae~o$f0Ynidun&y^wYk0V+> zD2zefnfz?1;N@wvxvsB@`Up{&f|^W>5ezjB)$A!U;7!*CM${8-ovZmvj<_7}ou*{i zsx$W>$GGDsq2Tt}Hy@uHQ9RfcIYVoy=%x zv$-NpVD{z?f8}WdLfmwbV_dk(+9U=e16Twxp3#XeeoqK;<@s}uDPAgwbgHn?q8qc& zE=z%);B#slHA^42+|4RkczeucI&n0b+yyrGZ@uHbT><|XtPmFMmUagTN-c1X?_x#V z{Ib_9%bU~$kve-t%NaEtPS#=6cOAel*-lpdLQ5f=+>@1g6vz^xP)6ti=DRTiGml%E zm?pmLfNJ*!tnF&QCPbpw{*-8E_zfFh;mA%R6c=wT*|sPO4aY{@r2HdW+#4(u#FdnI zR8kEh#mY!}u?RiR*wkU_T||B!O(Q`vzLdcd>pRw(0TN$<2}f;}lvw*DV<&S73Os3r zU{1U%btiUj_4<1TF-*qfg&l*-Ok}aAuPyM8JAhPHK7vTeQ^zHUNzYv*Ast>;XeBT&G+NhX(-XonKh++Dy^_=`<|#T(9bHnrt|;t elx~c+y~F(zQsC)Bb9zGm3$U@UH?J|h_2}Ps&2;zx literal 0 HcmV?d00001 diff --git a/Project2-Character-Recognition/img/eq2.png b/Project2-Character-Recognition/img/eq2.png new file mode 100644 index 0000000000000000000000000000000000000000..2409477b5e4adeaad47e9a6ab09136b959f5cf54 GIT binary patch literal 9449 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 Rc8L$b*uea5g`P{ye*tgg5}g15 literal 0 HcmV?d00001 From 0dc61827cbd161830502b02cef0e6aa1e340f235 Mon Sep 17 00:00:00 2001 From: coffeier <834986610@qq.com> Date: Wed, 18 Sep 2019 23:15:26 -0400 Subject: [PATCH 07/12] weights --- Project2-Character-Recognition/hid_out_w.txt | 25 +++++++++ .../input_hid_w.txt | 53 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 Project2-Character-Recognition/hid_out_w.txt create mode 100644 Project2-Character-Recognition/input_hid_w.txt diff --git a/Project2-Character-Recognition/hid_out_w.txt b/Project2-Character-Recognition/hid_out_w.txt new file mode 100644 index 0000000..f415834 --- /dev/null +++ b/Project2-Character-Recognition/hid_out_w.txt @@ -0,0 +1,25 @@ +0.29451 -0.435097 -0.585486 2.11342 -0.392652 0.186835 0.162754 0.403842 -0.0806076 1.80997 -0.905296 -0.322723 -0.601053 1.18543 0.229689 0.583769 0.0670121 -0.325607 -0.347061 -0.290325 -0.551759 -0.585138 -0.586835 0.711462 0.0135424 0.0780356 -0.938877 -0.421816 -0.278796 -0.703108 -0.50931 -1.11288 -0.0481748 0.300262 -0.784069 0.753415 0.396709 -0.332285 -0.228926 -0.256273 -0.194732 -0.753241 0.0995787 1.58972 -0.990666 -0.0140221 -0.415825 1.6434 1.50603 1.97106 0.0276378 -0.639799 +-0.213165 0.421657 -0.138217 1.23259 0.461238 -0.205997 0.213159 0.303983 -0.965584 0.168417 -0.509231 1.18642 -0.437274 1.7671 -0.753888 -0.320403 -0.0979614 0.119216 0.739964 -0.669452 -0.961166 0.0619697 0.133472 -0.638928 -0.935986 -0.059078 -1.10847 -0.4074 -0.852919 0.372626 -1.00291 0.678094 -0.516678 0.570887 0.205791 1.11327 -1.08914 1.29768 1.17523 -0.723096 -0.0941954 0.124456 0.196102 0.0643309 0.328557 0.0404158 1.89996 -0.145085 0.231199 0.31506 0.438671 0.442274 +1.07913 0.0743581 -0.462595 -0.990382 1.15425 -0.229805 -1.21913 -0.342996 -1.26313 -0.285098 -1.31393 1.06496 0.191175 0.256261 -1.18209 1.06213 -0.475579 -0.394601 -0.899963 -0.479416 0.0677363 0.834295 1.63491 -0.747539 0.860293 -0.529691 -0.108032 -0.0836923 0.461671 0.56414 0.196239 -0.167353 -0.615122 0.148807 0.152861 -0.34132 0.056369 1.45723 -0.684265 0.0762661 0.792114 1.16189 1.45754 -0.188783 -0.650672 -0.217166 -1.15054 -0.0433124 0.322781 0.337733 0.539607 -0.161182 +-1.40076 1.12502 -0.969809 -0.373178 -0.803651 1.24721 -0.330142 -1.1367 0.186529 -0.770568 -0.423989 -1.08687 -0.468014 -1.17954 -0.161503 0.833769 0.798625 0.0489926 -1.07293 0.945241 1.2868 -0.340574 -0.845284 -0.390045 0.553393 -0.91396 0.994309 -0.765059 -0.226574 0.321396 -0.952827 -0.00477712 -0.967609 -0.368021 0.87912 0.616292 1.57929 -0.728144 1.4013 -0.22562 -0.248204 0.347561 0.0740322 -0.391817 -1.12601 1.44342 1.15853 0.933214 0.605356 -0.182307 -0.566102 0.716688 +-0.0350349 -0.928915 0.0175354 -0.980479 -0.753281 -0.584979 -0.235664 0.0521397 -0.859456 -0.0755728 -0.813116 -0.683933 -1.21224 0.0386294 -0.277261 0.632587 1.14674 0.948391 -0.270966 -0.890896 0.790637 0.971929 -0.585058 -0.170487 0.714866 -0.428455 0.885471 0.0207451 -0.312878 -0.552794 -0.126212 0.922482 -0.691675 0.708875 0.984582 1.12845 -1.26206 -0.149199 -0.593778 0.724934 0.90782 0.0349696 -0.127147 0.490107 0.380464 -0.484554 -0.0998256 0.475704 -0.415316 0.373625 0.322898 1.42113 +0.695211 -0.149149 0.965554 0.379566 0.264172 0.745678 0.579864 0.413336 -0.322225 0.588068 -0.0757539 -0.586247 -0.146529 -0.704881 0.566705 -1.30622 1.04584 -1.23437 1.0738 0.585838 0.501724 0.729652 -1.31366 -1.73743 -1.4755 -1.26356 0.787037 -1.09577 0.984398 -0.545426 -0.162021 -0.473739 0.953205 0.606477 -0.43861 -1.32034 0.185602 -0.144099 0.750759 -0.654322 0.326066 0.499789 1.44527 0.240112 0.715035 0.763042 0.183189 -1.50034 0.653686 0.0104582 -1.21378 0.965676 +-0.685996 -0.651483 -1.05557 0.407174 -1.22577 0.366098 -0.395385 -1.29259 -0.960387 0.341325 0.776629 -0.656284 -0.417534 -1.15328 -0.188162 1.13075 0.54502 1.40119 -0.827696 -0.591806 0.248512 0.505993 1.08721 1.09469 -1.28169 -0.327892 0.0182214 -0.976317 0.939887 -1.06712 1.37528 0.747421 0.63332 -1.15303 -0.450049 0.168935 -0.418876 -0.59708 0.401593 0.506597 0.553412 -0.0286503 0.259326 -1.05651 -0.868733 -0.996118 -0.520162 0.249165 -0.0194128 0.967665 -0.876096 -0.315031 +-0.884281 0.776825 -0.0686684 -0.10858 0.404821 -0.784125 0.011065 -1.08571 -0.678831 0.196565 1.17585 -0.366034 0.267562 0.106757 0.967818 -0.958142 0.533746 -0.799019 1.23816 0.738888 -0.400174 -0.161328 -0.536213 0.392799 -0.649473 0.416614 -0.264423 0.392731 -1.0784 0.738391 -0.858962 -0.0839211 -0.132845 -0.00979847 1.34935 1.63852 0.638695 -1.00605 1.29015 1.15563 -0.983463 -0.54543 -0.810463 -0.470475 -1.36093 1.33065 0.218207 -0.237392 -0.547637 0.293879 -0.110275 0.43099 +-0.924337 0.655007 -1.47579 0.478897 -0.272729 1.1146 0.759748 -1.34789 0.982697 -1.41719 -1.05318 1.05607 0.542403 -0.269016 -1.2289 0.618554 -0.00832141 0.2573 0.245668 0.380477 0.570197 0.385505 0.556844 0.0214327 -1.33099 0.337729 -1.60551 0.46773 0.550296 0.774753 0.0419883 -1.43382 0.95215 0.101809 -0.678695 -0.716643 0.543504 0.607451 0.858323 0.318042 -0.393903 -0.680624 -0.142666 -0.0367496 -0.91302 -1.42492 0.370195 -0.202598 0.535927 0.102123 0.87294 1.16098 +0.71109 -1.16267 1.16387 0.464426 -0.101168 1.38333 0.988723 0.910633 1.09957 0.790745 1.08259 0.30878 0.191628 1.48429 -1.14159 0.607356 -0.601688 -0.457902 0.936049 -1.14503 -0.873696 -0.491195 -0.97481 -0.585913 -0.564812 -1.70864 -0.719954 1.38325 1.31945 1.23338 -1.33308 1.17779 -1.0746 0.267207 -0.896233 -0.314204 0.536163 -0.260908 -0.443571 -0.776849 -0.615946 -0.0875837 -0.626001 0.128988 -0.510283 0.538623 -0.140031 -0.487799 -1.206 1.26023 -0.836838 -0.174957 +-0.0159583 -0.554108 -1.00089 -0.24234 1.10866 -0.795081 1.53728 0.943334 -1.02905 0.309063 0.0268236 -0.511166 0.831202 0.140488 -0.454913 -0.231738 -0.415469 1.40654 -0.524821 -0.133363 1.22243 -1.47591 0.561386 -0.851701 0.302247 -0.969312 -0.270788 -0.984972 0.390613 -0.545012 0.739465 0.665869 1.12178 -0.957192 -0.85782 0.30503 0.390882 0.629166 1.23095 1.34746 0.259721 1.37151 0.245741 0.83234 1.42711 0.547817 -0.798499 -0.922349 -1.06595 -0.894178 1.26676 0.610563 +0.1675 -0.563675 1.29057 -0.289968 1.20455 -0.471947 -0.865962 -0.250471 1.5353 0.22896 -1.17181 -1.06629 1.11554 -0.0766227 0.111997 -0.776727 -0.962588 1.05882 0.00509949 0.583927 -0.568768 0.466551 -0.0580937 -0.797289 -0.382499 -0.690725 0.410141 -0.545434 -0.519888 -0.715794 0.225257 1.70767 -0.628473 0.756321 -0.0107868 -1.05874 -1.03816 -1.01549 0.594414 -0.22068 0.487819 -0.104925 -0.519148 0.853449 -0.165595 -1.03138 1.24996 1.01547 1.24847 -0.834457 1.16176 -0.504422 +0.716361 0.0700269 -0.570294 0.783163 -1.10209 0.264594 -1.1336 0.743759 0.832235 0.876864 0.21862 0.551778 -1.46908 -0.131688 -1.03312 0.164697 0.474699 -1.20382 0.299676 0.688255 0.689297 -0.178173 0.476928 0.976139 1.17639 0.0262772 0.792254 0.180292 -1.4375 -0.927538 -0.566877 -0.982735 1.1185 -1.16178 -1.10506 0.226828 0.934476 -1.24123 -0.705437 -0.899701 0.487377 -1.35017 1.0461 -0.382314 -0.864332 -0.558506 0.00838594 -0.991959 0.706753 0.665023 0.809266 -1.55715 +-1.40551 -0.417117 -0.013 0.077838 0.730688 0.673288 -1.24105 0.447386 -0.144648 -0.821339 0.157852 0.439744 0.369823 0.383937 -0.201754 -0.012288 0.780191 1.01423 0.873674 1.20377 -0.777819 0.427524 0.28398 0.925649 -0.310545 0.240699 0.876687 -1.26063 -0.325244 1.27274 0.19729 -1.19567 -1.18687 -0.85281 -0.053213 0.117924 -1.31194 0.343471 -1.18672 0.467246 1.7128 -0.983386 -1.13042 1.18184 -1.25551 -0.42306 -0.427298 0.749168 -0.28059 0.281642 -0.694903 -0.222824 +-0.598591 0.822093 -1.25032 -0.875711 0.520949 -0.793229 1.18758 -0.369461 -0.0127338 -0.560747 0.539263 0.257154 0.27888 -0.0825568 0.852039 0.232866 0.440438 -0.378332 0.656851 1.05967 -1.16586 -1.10597 -0.881673 0.853027 0.957047 0.291303 -0.918031 0.354686 -0.598139 0.0147794 1.40297 0.379543 -0.127202 1.04961 -1.4476 -1.06018 0.28668 0.895301 -0.71472 0.0478485 1.37645 -1.03011 0.427315 -0.193764 1.24949 -0.432289 -0.567705 0.482442 -0.623365 -1.02192 -0.802499 -0.353789 +-0.0491603 -1.82128 1.08498 0.679567 -0.973928 -1.05803 0.314734 0.906591 0.204206 -0.66395 0.307383 -1.7602 0.0795372 -1.25419 1.15236 0.280503 -0.247753 0.466512 0.68999 -0.0691435 -0.771696 -0.316796 0.800363 0.698589 0.538966 -0.016899 0.287845 0.348061 0.866683 -0.0251087 -0.0630856 -0.54655 0.19943 1.16332 -0.278769 0.406851 -0.420093 -0.206772 -0.151451 0.948157 -1.43865 0.573489 -1.17248 0.101 0.374222 0.195381 0.358069 -0.433896 0.498112 0.511261 -1.58584 -1.45827 +0.0231081 0.595089 1.11196 -0.189116 0.349486 -0.105623 -0.235119 -0.73164 0.470907 0.290571 0.854769 0.287085 0.59691 0.795134 0.239294 -1.64299 -0.0975536 0.0586043 -1.51426 -0.247496 0.378959 0.209136 1.08545 0.927518 0.109562 0.959405 0.163349 -1.06916 -0.788158 -1.04875 0.920949 0.851285 -0.767247 1.01537 -0.400141 -1.1908 -0.117827 -1.34558 -0.863665 0.999258 -1.41712 1.21436 -1.32643 0.313795 0.396155 0.54129 0.7869 -0.916468 0.671449 -0.196267 -0.197521 -1.27238 +0.850957 0.30812 -0.0829649 -0.0483991 0.228223 -0.670504 -0.098042 -0.932607 0.43993 -0.381196 0.447945 0.726889 -0.217291 -0.242501 0.103011 0.932602 0.29992 -0.132239 -0.41593 0.113875 0.0487252 -0.467437 -0.325686 0.479561 0.0338719 -0.305358 0.511878 0.478447 0.833054 -0.360977 -0.460933 0.276825 0.231447 -1.71089 -0.497162 0.059896 0.130965 0.0664659 -0.310532 -0.502204 -1.07156 -0.601345 -0.175668 -0.414229 -0.506793 -0.476298 0.293695 0.516251 -1.0936 -0.927461 1.08087 0.805068 +1.07124 -0.741413 0.883863 -0.229893 1.06989 -0.188237 0.17842 0.238984 0.298448 -1.37671 -0.785058 1.30999 1.11309 -0.160048 -0.899954 -0.739763 -1.14898 0.229157 0.25889 -1.195 -0.422784 0.827332 -0.98184 -0.497282 0.751617 0.851052 0.697569 0.106153 -1.32471 -0.37182 0.177117 0.177245 -1.08397 1.00086 0.130366 -0.114817 -0.421387 0.218223 -0.821985 0.173342 1.35035 -1.33415 -0.705626 -0.0142975 0.581109 -0.378751 1.06961 0.0283819 0.995848 1.38182 0.0247649 -0.345845 +1.11307 0.80242 -1.34112 0.234482 -1.61926 -0.0979021 -1.21615 1.02459 -1.20557 0.665714 -0.383876 -0.00809963 1.42684 0.858919 -0.267721 0.251381 -1.10644 -0.540579 -0.790976 -0.285183 0.55201 -1.39357 -1.32714 -1.28009 0.465189 1.41355 0.848218 1.10843 0.602338 0.560005 1.08591 0.336866 1.20857 0.685375 1.37877 0.636274 0.888443 0.867822 -1.06764 -0.2483 -0.895826 -0.567381 -1.44541 -1.25243 0.275466 1.14229 -0.805663 0.350166 -1.14731 0.213879 -1.26018 0.10007 +-0.976967 0.0351076 -0.176011 0.238311 0.251076 0.816201 -1.08086 0.971586 -0.721313 1.32761 -0.648624 -0.349771 -0.459281 -0.282859 1.72185 0.345002 -0.231086 -0.714348 -0.449467 -0.201789 0.0164356 -0.734322 0.178983 0.192123 0.995547 -0.654331 -0.554646 -0.245755 -0.189461 0.738691 0.720443 0.542568 -0.389211 -0.262263 1.58777 -0.155924 1.16948 -0.730615 -0.44205 -0.862527 0.60484 0.469911 1.1857 1.39041 1.44647 -0.310174 0.373634 -0.0758999 1.28584 -0.419142 -0.441103 0.440551 +-0.755702 0.499029 -0.338068 -0.48455 -0.698731 -0.174335 0.426116 -0.316964 -0.294103 -0.481109 -0.560564 -0.5311 -0.602031 0.563242 -0.480201 -0.627319 0.0645848 -0.214602 -0.350051 -1.91533 0.57671 0.0178644 0.755524 -0.0599938 -0.501426 0.269376 -0.351683 0.673376 -0.375094 0.186845 -0.278852 -0.183904 0.0425069 -0.233436 0.812019 0.0702625 -0.965793 0.37504 -0.108949 -2.03536 -0.326581 0.719141 0.522266 -0.425531 0.591411 1.17916 0.0122099 0.130707 0.0825948 -0.346249 -0.167625 0.288622 +0.0895034 -0.487552 0.249662 -0.431912 -0.330131 -0.306152 0.886456 0.607595 0.610502 1.09064 1.01733 0.480097 0.217418 -0.312296 0.272422 -0.813556 -0.488501 -0.446102 0.645456 -0.44372 -0.686488 0.762202 -0.0949142 -1.00683 -0.430218 1.47472 -0.461202 -0.304624 -0.374726 0.88428 0.843938 -1.3205 0.0515976 -0.15242 0.714611 -0.38514 -0.591027 -0.976015 0.406904 -0.876874 0.0550551 -0.212715 0.438441 -0.0960418 0.153012 -0.346421 -0.448915 0.72321 -0.454293 -0.15757 -0.607012 -1.31695 +0.454334 0.377923 0.165884 0.706319 0.748977 0.744489 -0.0889526 -0.0245744 0.31914 -0.00298467 0.135193 -0.451374 -0.156367 -1.27671 1.20855 -0.627874 -0.420813 -0.405182 -0.0493464 1.3658 -1.46034 0.911746 -1.15491 -0.675364 0.167173 0.316687 -1.31124 1.18794 -0.642811 -1.33091 -1.21475 0.631375 -0.705716 -0.832662 -0.197445 0.746793 -0.980156 0.325972 -0.130212 1.16222 -0.719995 0.624846 0.398638 0.845189 0.0753604 -1.38409 -1.31722 0.432948 -0.766921 -0.960425 1.27198 0.744931 + diff --git a/Project2-Character-Recognition/input_hid_w.txt b/Project2-Character-Recognition/input_hid_w.txt new file mode 100644 index 0000000..2709175 --- /dev/null +++ b/Project2-Character-Recognition/input_hid_w.txt @@ -0,0 +1,53 @@ +-0.5555 -0.52768 -0.0630369 0.973843 0.695499 0.0503175 0.659901 -0.453903 0.148849 -0.825282 0.761814 0.223129 -0.534589 -0.755595 0.0274895 -0.674924 -0.979328 -0.0724995 0.0624142 0.583496 0.756053 0.993953 -0.745123 0.248258 +0.671619 -0.916772 0.00467575 -0.00792134 0.615687 -0.29876 0.523726 0.964567 0.0762572 0.92174 0.606627 0.794047 0.540835 -0.845099 -0.474254 0.0679946 0.992761 -0.329864 -0.191108 -0.768588 0.781585 -0.903238 -0.0490134 -0.652115 +0.793939 -0.864402 0.673466 -0.453382 -0.106918 -0.0640095 -0.923453 0.440157 0.51514 -0.033702 -0.390384 0.157632 -0.9282 0.00163734 0.454568 0.442521 -0.0216578 -0.627653 0.89836 0.803623 -0.977185 0.652039 -0.169971 0.0482441 +0.122545 -0.616293 0.170112 -0.845009 0.880404 -0.96859 0.769148 -0.464954 0.386879 -0.359254 -0.89285 0.59805 -0.584641 -0.42141 -0.657194 -0.181137 0.695559 -0.414945 -0.983384 0.965578 0.400473 -0.137397 -0.540553 0.285491 +0.293954 -0.582963 0.109354 0.0620784 0.731926 0.967349 0.826106 0.60468 -0.994507 -0.922442 -0.178321 0.78011 -0.649838 -0.91854 -0.69214 0.0531853 -0.031935 -0.156015 -0.48426 -0.614013 0.872099 -0.264579 0.621982 0.922115 +-0.598051 -0.0823568 0.890652 0.0837533 0.196772 -0.102436 0.0130262 -0.200961 -0.0321433 0.593794 0.274011 -0.224082 0.688557 0.120398 0.0469794 -0.427774 0.0607226 -0.171424 -0.6866 -0.0336972 -0.484648 0.0438639 -0.814904 0.28909 +0.0355321 -0.101123 0.401669 0.530574 0.348205 0.661931 -0.833829 -0.646286 -0.0019151 -0.706252 0.20436 -0.49592 0.0368049 0.356519 -0.0827079 0.0702157 -0.35397 0.976748 0.752387 -0.33936 0.711099 -0.542174 0.601845 0.286795 +-0.978952 0.885496 -0.54828 -0.997901 -0.3147 -0.718796 0.0193797 -0.678103 0.471666 0.416684 0.801137 -0.938392 -0.487574 -0.604847 -0.388337 -0.398295 -0.87199 -0.516849 0.861687 -0.557997 0.548658 0.0198796 0.258155 0.453576 +-0.85626 0.680265 -0.707601 0.0478959 -0.511746 0.238608 0.145991 -0.994167 -0.81099 0.196579 -0.919748 0.893742 0.11938 0.404978 0.1711 0.956976 -0.744058 0.673223 0.871307 0.140369 -0.655791 0.130366 -0.461749 -0.358724 +0.97054 -0.476199 -0.580746 -0.45115 0.400503 -0.530029 0.352454 0.786928 -0.164934 0.490672 0.734457 0.468873 -0.445057 0.131027 -0.156457 -0.827257 -0.186187 -0.824661 -0.301378 0.0264277 0.194392 -0.323447 -0.915515 0.066294 +0.925847 0.296991 -0.245848 0.359212 -0.603158 -0.702539 -0.131244 0.124782 -0.355855 -0.876804 0.797568 0.280146 0.330565 0.205896 0.487288 -0.682948 0.0534059 -0.687544 0.584013 0.194481 0.258519 0.902275 -0.928634 0.207863 +0.878576 0.566201 -0.668169 0.364112 -0.273378 0.667649 -0.0714133 0.280254 -0.451078 -0.933793 -0.20078 0.607438 -0.566217 -0.506394 0.449277 -0.952784 -0.340174 0.517707 0.426085 0.496671 0.0325271 -0.111466 -0.658498 0.790769 +0.147246 -0.954811 -0.571859 0.968867 0.2465 -0.48934 -0.238826 0.120279 0.0448561 -0.19004 -0.469529 0.587174 -0.81027 -0.433105 -0.907405 0.946632 0.947259 -0.977589 -0.224312 0.796268 0.117285 0.117392 0.977149 -0.154005 +-0.127308 -0.466006 0.498404 0.786716 0.501212 0.025398 -0.855806 -0.830642 -0.89997 0.514473 -0.957111 -0.50487 -0.100711 0.754689 0.866331 -0.740767 0.281626 0.713027 -0.396019 -0.978078 0.924909 0.172641 0.659924 0.988271 +-0.0480892 -0.262592 0.646185 -0.830066 -0.456369 -0.51869 -0.507873 0.161911 -0.936702 0.943161 -0.18004 0.594854 0.51482 0.379497 0.624696 -0.102404 0.537824 -0.873409 0.448597 -0.218106 -0.435702 -0.737984 0.662539 -0.0149791 +0.104005 -0.537407 -0.975345 0.174569 0.526431 0.827075 0.968143 -0.0774499 -0.295282 -0.210457 -0.492659 -0.804943 0.3318 -0.540617 -0.412969 0.53523 0.521279 0.284964 -0.985563 0.429424 0.156637 0.135755 0.376979 -0.790342 +0.27688 0.120075 0.234007 -0.823301 0.143369 -0.388757 -0.450554 -0.619722 -0.757277 -0.175796 0.767232 0.138283 0.780712 -0.649365 0.273313 0.849019 -0.269056 0.216815 -0.253813 -0.281443 -0.11902 -0.206838 -0.579878 -0.705264 +0.688889 0.830906 0.993566 -0.801192 0.305878 0.445794 0.0834321 -0.0982576 -0.00787741 0.0213885 0.972073 -0.911027 0.0271214 0.633368 0.640284 0.447972 0.336867 -0.873511 0.507212 0.45285 0.325379 -0.35051 -0.335395 0.562327 +0.772191 -0.086458 0.575296 0.463959 0.661673 -0.0755599 0.316437 0.754155 -0.428832 -0.175107 -0.20822 -0.740061 -0.270031 0.708173 0.0674257 -0.166898 -0.260211 -0.978411 0.520459 0.16997 -0.796961 -0.70043 0.0203489 0.799347 +0.677113 0.441159 -0.104798 0.202062 -0.918476 -0.732334 -0.879266 0.85747 0.814499 -0.864753 -0.0847909 0.207776 0.905664 0.941291 0.212432 -0.856759 0.15521 -0.413177 -0.494948 0.680509 0.69954 0.523226 0.224711 -0.771282 +-0.98538 0.722714 0.311592 -0.298767 -0.825541 0.181599 -0.305038 -0.586577 0.0091033 -0.519639 0.777173 -0.469777 0.301011 0.0612264 -0.945485 -0.57641 0.281388 0.262096 -0.375763 -0.856022 -0.568265 -0.931932 -0.299868 -0.642054 +-0.66169 0.211981 -0.888998 0.909869 0.167492 0.909612 -0.402065 0.907366 0.430119 0.658651 -0.722798 0.290739 0.664424 0.117855 0.229407 -0.209626 0.407759 -0.579313 0.150747 -0.434808 0.64946 0.749631 -0.410736 -0.994386 +-0.742158 -0.378806 0.811475 -0.100921 0.946816 0.997832 0.497991 -0.0548304 -0.827313 0.883909 0.248482 -0.549973 0.548699 0.590544 -0.300296 -0.290366 -0.903002 0.0580134 -0.870023 -0.406338 -0.665861 -0.634917 0.905519 -0.685613 +-0.121803 0.309614 -0.439202 0.628071 -0.0926778 -0.851379 0.305925 -0.943568 -0.27987 -0.208549 0.389786 -0.182272 -0.369135 -0.401559 0.543022 0.820157 -0.552891 0.70806 -0.505505 0.0363481 0.917294 0.180776 0.797243 -0.155519 +0.987591 -0.804621 -0.0451149 0.707513 -0.0852496 -0.403647 0.143769 0.217077 -0.807544 -0.526058 -0.825002 -0.287532 -0.0639296 -0.277821 -0.424433 0.704086 -0.455906 0.0836881 -0.904561 -0.0130253 -0.824808 0.960451 -0.854613 0.877063 +0.410899 -0.489194 0.197309 -0.239281 0.252786 -0.436606 -0.693697 0.302158 0.345469 -0.121982 -0.985025 -0.469999 -0.159397 -0.958697 -0.503597 -0.0570772 -0.643512 0.124497 -0.636889 0.833751 0.601808 0.127274 -0.635305 0.116188 +-0.344765 -0.54068 0.729006 0.256254 0.236452 0.276822 -0.331982 -0.549467 0.480215 0.0429096 -0.761029 -0.69605 -0.806518 0.762865 -0.724619 0.733771 -0.824438 -0.421741 0.832296 -0.714854 -0.183035 -0.929906 -0.267105 0.765464 +-0.989181 0.34012 -0.570541 -0.472543 0.0433332 0.228234 0.958638 0.93003 -0.622679 0.585782 0.996397 -0.0381906 -0.296187 0.918238 -0.655685 -0.657119 -0.748519 0.806815 -0.356717 -0.358066 -0.758106 0.671639 -0.167651 -0.922895 +0.651236 0.114973 0.455217 0.2533 -0.207057 0.973506 0.190944 -0.537898 0.490617 0.356847 0.628667 0.809938 0.785344 -0.795463 -0.104889 -0.335007 -0.952431 -0.256157 0.391796 -0.859644 0.185413 0.249087 -0.161793 0.456374 +0.823237 0.0660907 0.670911 -0.0196943 0.953384 0.622643 -0.651758 -0.46649 0.601208 -0.203061 -0.198042 -0.370193 0.0637649 0.723206 0.362898 0.522055 0.961876 -0.874302 -0.554425 -0.720571 0.374732 -0.292425 0.982238 0.180286 +-0.67042 0.938033 0.825911 0.329615 0.907242 -0.477585 -0.187197 -0.635437 -0.401585 0.37307 0.902302 -0.75401 0.779322 -0.135702 -0.360799 0.541107 0.970163 -0.087038 0.61325 -0.489054 0.29052 0.118601 0.933494 0.879498 +0.947803 0.804047 -0.420756 -0.142121 0.371581 -0.324479 0.913367 -0.820375 -0.253509 0.575611 0.386751 0.546458 0.864873 0.572499 -0.458831 0.580633 0.551177 0.770051 -0.0184301 -0.223443 0.718767 -0.00961798 0.775308 0.708749 +-0.55879 -0.787786 -0.712572 0.685214 0.136325 -0.502881 -0.86881 0.239054 -0.900514 0.426322 -0.189277 -0.461075 -0.0850652 -0.729662 -0.427768 0.570583 0.789148 -0.773304 0.269972 -0.876668 0.428302 0.51795 0.404572 -0.545283 +-0.78576 -0.830897 -0.85279 -0.434623 0.377523 -0.917308 -0.053388 0.476263 -0.288325 0.486763 -0.886821 0.87186 -0.541315 -0.0512428 -0.965794 -0.625601 0.0429806 -0.555798 0.813266 0.790522 -0.381911 0.411129 -0.128471 0.136918 +-0.302129 0.214935 -0.153924 -0.837429 0.209801 -0.0938269 -0.879782 -0.286335 -0.442722 0.563151 0.116801 -0.241968 -0.484324 -0.238175 -0.407557 -0.332613 0.183202 0.944856 0.117631 0.0916106 0.0671428 0.220972 0.996019 0.0508119 +-0.485788 -0.169601 0.951256 -0.55033 0.808006 -0.039263 -0.63525 -0.790641 0.236432 0.432869 0.662646 0.0164456 -0.119231 -0.296113 -0.37043 0.300351 0.857671 -0.103119 0.613973 -0.915533 0.239586 -0.310138 0.208331 0.287848 +0.809375 -0.486575 -0.977637 0.207954 0.0486223 -0.960812 -0.533625 -0.0852435 0.961812 -0.246218 -0.367779 -0.321312 -0.473957 0.670971 -0.652866 -0.265764 -0.615993 -0.752535 0.834631 -0.535882 0.712523 0.661345 0.257741 -0.134337 +0.42038 -0.607873 -0.134162 -0.0545924 0.731644 -0.648882 0.884794 -0.536509 -0.655662 0.141923 0.613988 -0.946254 -0.622849 -0.71063 -0.417225 -0.881053 0.920436 -0.415262 0.487881 -0.471068 0.573575 -0.0222703 0.0378631 0.463969 +0.597617 -0.426952 0.27604 0.694134 -0.0222594 -0.54334 -0.184852 0.168388 0.0644971 -0.915204 0.294415 0.351135 -0.802236 -0.591315 -0.843938 -0.473297 -0.815802 -0.549953 -0.779155 0.585538 -0.724672 -0.00848234 0.528475 0.723863 +0.671246 -0.213055 -0.554059 -0.429014 0.150415 0.176389 0.907427 -0.922137 -0.793755 0.112513 0.366839 0.315655 -0.0460263 -0.489416 -0.233318 -0.0283238 -0.438808 -0.722203 -0.533916 0.87792 -0.372736 -0.0819163 -0.543831 0.127992 +0.805906 -0.216765 -0.365329 -0.344837 -0.415764 -0.222698 0.612261 -0.586827 0.600607 -0.00678074 0.456364 0.70747 -0.591998 -0.388413 -0.912355 -0.962378 -0.945276 -0.900912 0.481427 -0.771683 -0.206429 0.945997 0.692605 0.586974 +-0.937592 0.658721 0.337391 0.211286 0.229456 -0.745827 0.765702 0.351002 0.403541 -0.674389 0.133345 0.382925 0.142445 0.659041 -0.367358 -0.305363 -0.350487 -0.391122 -0.064006 0.28299 -0.672911 0.449927 -0.536104 0.150244 +-0.705449 0.179201 0.160426 0.618516 -0.825119 0.160273 0.492719 0.626372 0.642252 0.164823 0.549518 -0.993585 -0.234676 0.32792 0.665873 0.370315 -0.499061 -0.747001 0.167461 -0.580055 -0.563815 -0.0298521 0.0686789 -0.992054 +-0.537645 0.972134 -0.925409 -0.321733 0.326599 0.639723 0.0726297 -0.0259796 -0.669437 -0.529171 0.587522 -0.470374 -0.809908 0.988399 -0.192096 -0.867874 0.702148 0.210057 0.531216 0.672936 -0.964391 -0.493888 0.283944 0.0349585 +-0.289575 -0.869923 -0.528285 -0.501663 0.249759 0.339078 0.59757 -0.0828879 -0.332396 -0.951164 0.909761 0.454542 -0.759561 0.187368 -0.357086 -0.385487 0.111955 0.634815 -0.824721 0.882836 -0.501703 -0.84331 0.40743 -0.37105 +-0.705518 -0.547189 -0.854123 0.593536 0.281589 -0.118777 -0.813579 -0.241564 -0.174456 -0.907265 0.643905 -0.634554 -0.947222 0.804095 0.617487 -0.957668 -0.521206 0.184549 0.703334 0.387218 -0.719965 0.0334226 0.304629 0.830347 +0.914403 0.109022 0.267851 0.609395 -0.171172 0.786141 -0.830408 0.174771 0.6504 0.818175 0.015236 -0.483101 0.142805 -0.971931 -0.328937 0.772187 0.177555 0.310042 -0.0572684 0.403904 -0.0910475 -0.961225 -0.732882 0.577534 +0.830431 0.399068 0.616561 -0.681859 -0.265086 0.126643 -0.987372 0.691217 0.556301 -0.776344 -0.928538 0.609496 -0.0425682 0.945654 0.499128 0.152159 0.0695773 -0.464052 0.183 0.600996 -0.122054 -0.978298 0.914596 -0.883019 +0.0545274 -0.608602 -0.704501 -0.479449 -0.501449 0.186015 0.585085 0.826786 0.835944 0.729328 0.63452 0.0806251 0.537923 0.345217 0.469575 -0.0819347 -0.506166 0.713567 -0.441562 -0.685674 -0.0966243 -0.104525 0.45513 -0.760667 +-0.40962 -0.0355434 -0.823678 -0.584909 -0.397404 0.708305 0.2351 0.0950936 0.424637 0.981689 -0.283576 -0.860711 0.664715 -0.980088 0.444003 0.837854 0.198099 -0.721795 0.876467 0.870037 0.571302 0.35162 0.414114 -0.666017 +-0.41262 -0.704546 -0.817469 0.332227 0.0148846 -0.32744 -0.392716 0.364203 -0.0443745 -0.576235 -0.0732942 0.997281 0.459054 0.119127 0.39287 -0.859538 0.444805 -0.71638 0.833636 0.334389 -0.0388563 -0.392498 -0.12598 -0.986657 +-0.489354 0.266518 -0.789123 0.155223 0.430465 -0.141941 -0.887008 -0.663229 0.609728 -0.33042 -0.0632234 -0.618584 -0.164212 -0.321316 0.954138 0.0237305 -0.196465 -0.704081 -0.229122 0.202069 0.748914 0.236695 0.884353 -0.708488 + From 4621ef874c7fbd9f6d9aad2aea40de7e3f190648 Mon Sep 17 00:00:00 2001 From: coffeier <834986610@qq.com> Date: Wed, 18 Sep 2019 23:24:30 -0400 Subject: [PATCH 08/12] add print file --- Project2-Character-Recognition/README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Project2-Character-Recognition/README.md b/Project2-Character-Recognition/README.md index efd4d37..ea1b9fc 100644 --- a/Project2-Character-Recognition/README.md +++ b/Project2-Character-Recognition/README.md @@ -41,9 +41,11 @@ CUDA Character Recognition - get hidden layer data +- sigmoid + - Multiply neuro data in this layer with weights(full connected) -- sigmoid and softmax +- softmax - get output @@ -54,6 +56,7 @@ CUDA Character Recognition - calculate the error between ground truth and output - softmax derivative, pass backward - multiply with weights, pass backward and get the hidden-output gradient +- sigmoid derivative - multiply with weights, get the input-hidden gradient - update the weights @@ -89,6 +92,8 @@ to make 52 tests. I print each recognize test result. +###### I print the weights in the folder, see hid_out_w.txt and input_hid_w,txt + ``` **************** ** Recognize TESTS ** From 610c70b8dd27d0d89c8fd226809f3327980c74d7 Mon Sep 17 00:00:00 2001 From: coffeier <834986610@qq.com> Date: Wed, 18 Sep 2019 23:54:07 -0400 Subject: [PATCH 09/12] fix format problem --- Project2-Character-Recognition/README.md | 17 +- .../character_recognition/mlp.cu | 1115 +++++++++-------- 2 files changed, 582 insertions(+), 550 deletions(-) diff --git a/Project2-Character-Recognition/README.md b/Project2-Character-Recognition/README.md index ea1b9fc..b82dc43 100644 --- a/Project2-Character-Recognition/README.md +++ b/Project2-Character-Recognition/README.md @@ -45,6 +45,8 @@ CUDA Character Recognition - Multiply neuro data in this layer with weights(full connected) +- sigmoid + - softmax - get output @@ -55,6 +57,7 @@ CUDA Character Recognition - calculate the error between ground truth and output - softmax derivative, pass backward +- sigmoid derivative - multiply with weights, pass backward and get the hidden-output gradient - sigmoid derivative - multiply with weights, get the input-hidden gradient @@ -68,8 +71,6 @@ CUDA Character Recognition As shown in the graph, when we increase the hidden layer size, the less count of episode we need to train to the expected value. - - ## Result ###### There are separate training and testing part @@ -198,4 +199,14 @@ test time: 52 ,correct probability: 100% ## Extra -I use the cublas to do the network calculation as a matrix multiply. \ No newline at end of file +I use the cublas to do the forward pass and the back propagation calculation as a matrix multiply. + +The input of the txt data can be a matrix of *1 x 10201* + +and the input_hid_weight is *10201 x hid_layer_size* + +the hid layer data is *1 x hid_layer_size* + +the hid_output_weight is *hid_layer_size x output_layer_size* + +the output is *1 x output_layer_size* \ No newline at end of file diff --git a/Project2-Character-Recognition/character_recognition/mlp.cu b/Project2-Character-Recognition/character_recognition/mlp.cu index 3d12c85..a1bedf3 100644 --- a/Project2-Character-Recognition/character_recognition/mlp.cu +++ b/Project2-Character-Recognition/character_recognition/mlp.cu @@ -9,594 +9,615 @@ namespace CharacterRecognition { - using Common::PerformanceTimer; - PerformanceTimer& timer() - { - static PerformanceTimer timer; - return timer; + using Common::PerformanceTimer; + PerformanceTimer& timer() + { + static PerformanceTimer timer; + return timer; + } + + //TODO: implement required elements for MLP sections 1 and 2 here +#define blockSize 128 + +//neural number + int input_count;//size of input + int SIZE_INPUT;// the size of input layer + int SIZE_HiD;// the size of hidden layer + int SIZE_OUTPUT;//the size of output class + + //data pointer + float *dev_input; + float *dev_hid; + float *dev_output; + //weights + float *weights_inandhid;// the input->hidden layer weights + float *weights_hidandoutput;// the hidden->output layer weights + float *dev_real; + float *hid_sig; + float *out_sig; + float *out_soft; + //gradient + float *wgrad_i2h; + float *wgrad_h2o; + + //learning rate + float lr; + //loss + float loss_threshold; + + //function variable + float exp_sum; + + bool flag = false; + + //init an array + __global__ void Init(int n, float *data, float value) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; } - - //TODO: implement required elements for MLP sections 1 and 2 here - #define blockSize 128 - - //neural number - int input_count;//size of input - int SIZE_INPUT;// the size of input layer - int SIZE_HiD;// the size of hidden layer - int SIZE_OUTPUT;//the size of output class - - //data pointer - float *dev_input; - float *dev_hid; - float *dev_output; - //weights - float *weights_inandhid;// the input->hidden layer weights - float *weights_hidandoutput;// the hidden->output layer weights - float *dev_real; - float *hid_sig; - float *out_soft; - //gradient - float *wgrad_i2h; - float *wgrad_h2o; - - //learning rate - float lr; - //loss - float loss_threshold; - - //function variable - float exp_sum; - - bool flag = false; - - //init an array - __global__ void Init(int n, float *data, float value) { - int index = threadIdx.x + (blockIdx.x * blockDim.x); - if (index >= n) { - return; - } - data[index] = value; - } - - void printM(const float *M, - int row, int col) { - for (int i = 0; i < row; ++i) { - for (int j = 0; j < col; ++j) { - printf("%f ", M[j * row + i]); - } - printf("\n"); + data[index] = value; + } + + void printM(const float *M, + int row, int col) { + for (int i = 0; i < row; ++i) { + for (int j = 0; j < col; ++j) { + printf("%f ", M[j * row + i]); } printf("\n"); } - - void Write_Weights2File(std::string filename, - const float *M, int row, int col) { - //std::cout << "print weights" << std::endl; - std::ofstream file(filename); - if (file.is_open()) { - for (int i = 0; i < row; i++) { - for (int j = 0; j < col; j++) { - //std::cout<= n) { + return; } - - //forward - void GetLayerOutput(int size_of_current_layer, - int size_of_next_layer, - const float *idata, - const float *weights, - float *odata, - cublasHandle_t &handle) { - const float alpha = 1; - const float beta = 0; - - int lda = 1, ldc = 1, ldb = size_of_current_layer; - cublasSgemm(handle, - CUBLAS_OP_N, CUBLAS_OP_N, - 1, //A's row count - size_of_next_layer, // B's col count - size_of_current_layer,//a's col count,b's row count - &alpha, - idata, //Ma - lda, //lda - weights, //Mb - ldb,//ldb - &beta, - odata, //MC - ldc);//ldc + odata[index] = 1.0 / (1.0 + expf(-idata[index])); + } + + /////////////////////////////softmax//////////////////////////////////// + //e^x + __global__ void kernExp(int n, const float *idata, float* odata) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; } + odata[index] = expf(idata[index]); + } - /////////////////////////////sigmoid(act fun)//////////////////////////////////// - //f(x) = 1/(1 + e^-x). - __global__ void kernSigmoid(int n, const float *idata, float *odata) { - int index = threadIdx.x + (blockIdx.x * blockDim.x); - if (index >= n) { - return; - } - odata[index] = 1.0 / (1.0 + expf(-idata[index])); + float Get_sum(int n, float *arr) { + float sum = 0.0; + for (int i = 0; i < n; i++) { + sum += arr[i]; } - - /////////////////////////////softmax//////////////////////////////////// - //e^x - __global__ void kernExp(int n, const float *idata, float* odata) { - int index = threadIdx.x + (blockIdx.x * blockDim.x); - if (index >= n) { - return; - } - odata[index] = expf(idata[index]); - } - - float Get_sum(int n, float *arr) { - float sum = 0.0; - for (int i = 0; i < n; i++) { - sum += arr[i]; - } - return sum; + return sum; + } + + //normalize + __global__ void kernNormalize(int n, float arr_sum, + const float *arr_exp, float *odata) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; } + odata[index] = arr_exp[index] / arr_sum; + } + + void softmax(int n, float* idata, float* odata) { + dim3 fullBlocksPerGrid((n + blockSize - 1) / blockSize); + //get exp for the whole input + float* arr_exp; + cudaMalloc((void**)&arr_exp, sizeof(float) * n); + checkCUDAError("cudaMalloc arr_exp failed!"); + Init << > > (n, arr_exp, 0.0); + kernExp << > > (n, idata, arr_exp); + + //get sum + float* exp = new float[n]; + cudaMemcpy(exp, arr_exp, sizeof(float) * n, cudaMemcpyDeviceToHost);//get + /*std::cout << "exp: " << std::endl; + printM(exp, n, 1);*/ + exp_sum = Get_sum(n, exp); //normalize - __global__ void kernNormalize(int n, float arr_sum, - const float *arr_exp, float *odata) { - int index = threadIdx.x + (blockIdx.x * blockDim.x); - if (index >= n) { - return; + kernNormalize << > > (n, exp_sum, arr_exp, odata); + + cudaFree(arr_exp); + free(exp); + } + + //finally get the judgemenet + //return max_index + 1 so it is from 1 - n not from 0 to n-1 + int GetfinalJudge(int n, float* after_softmax) { + int max_index = -1; + float max_prob = 0.0; + for (int i = 0; i < n; i++) { + if (max_prob < after_softmax[i]) { + max_prob = after_softmax[i]; + max_index = i; } - odata[index] = arr_exp[index] / arr_sum; } - - void softmax(int n, float* idata, float* odata) { - dim3 fullBlocksPerGrid((n + blockSize - 1) / blockSize); - //get exp for the whole input - float* arr_exp; - cudaMalloc((void**)&arr_exp, sizeof(float) * n); - checkCUDAError("cudaMalloc arr_exp failed!"); - Init << > > (n, arr_exp, 0.0); - kernExp<< > > (n, idata, arr_exp); - - //get sum - float* exp = new float[n]; - cudaMemcpy(exp, arr_exp, sizeof(float) * n, cudaMemcpyDeviceToHost);//get - /*std::cout << "exp: " << std::endl; - printM(exp, n, 1);*/ - exp_sum = Get_sum(n, exp); - - //normalize - kernNormalize<< > > (n, exp_sum, arr_exp, odata); - - cudaFree(arr_exp); - free(exp); + return max_index + 1; + } + + /////////////////////////////loss function//////////////////////////////////// + __global__ void kernmse_loss(int n, const float* real, + const float* predict, float* each) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; } - - //finally get the judgemenet - //return max_index + 1 so it is from 1 - n not from 0 to n-1 - int GetfinalJudge(int n, float* after_softmax) { - int max_index = -1; - float max_prob = 0.0; - for (int i = 0; i < n; i++) { - if (max_prob < after_softmax[i]) { - max_prob = after_softmax[i]; - max_index = i; - } - } - return max_index + 1; + each[index] = 0.5 * (real[index] - predict[index]) * (real[index] - predict[index]); + } + + __global__ void kerncross_entropy(int n, const float* real, + const float* predict, float* each) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; } - - /////////////////////////////loss function//////////////////////////////////// - __global__ void kernmse_loss(int n, const float* real, - const float* predict, float* each) { - int index = threadIdx.x + (blockIdx.x * blockDim.x); - if (index >= n) { - return; - } - each[index] = 0.5 * (real[index] - predict[index]) * (real[index] - predict[index]); + each[index] = -1.0 *(real[index] * logf(predict[index])); + } + + //loss + float compute_loss(const float* real, const float *pred, int ind) { + //std::cout << "hi! compute loss!" << std::endl; + float *each_cros; + cudaMalloc((void**)&each_cros, sizeof(float) * SIZE_OUTPUT); + checkCUDAError("cudaMalloc each_cros failed!"); + + float *real_each; + cudaMalloc((void**)&real_each, sizeof(float) * SIZE_OUTPUT); + checkCUDAError("cudaMalloc real_each failed!"); + cudaMemcpy(real_each, real + (ind * SIZE_OUTPUT), sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToDevice); + + dim3 fullBlocksPerGrid((SIZE_OUTPUT + blockSize - 1) / blockSize); + //kernmse_loss << > > (SIZE_OUTPUT, real_each, pred, each_cros); + kerncross_entropy << > > (SIZE_OUTPUT, real_each, pred, each_cros); + + //sum + float *each_cros_host = new float[SIZE_OUTPUT]; + cudaMemcpy(each_cros_host, each_cros, sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToHost);//host to device + //std::cout << "each loss:" << std::endl; + //printM(each_cros_host, 1, SIZE_OUTPUT); + + float loss = Get_sum(SIZE_OUTPUT, each_cros_host); + + cudaFree(each_cros); + free(each_cros_host); + return loss; + } + + /////////////////////////////gradient//////////////////////////////////// + __global__ void kernAdjW(int n, float *M) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; } - - __global__ void kerncross_entropy(int n, const float* real, - const float* predict, float* each) { - int index = threadIdx.x + (blockIdx.x * blockDim.x); - if (index >= n) { - return; - } - each[index] = -1.0 *(real[index] * logf(predict[index])); + M[index] = 2.0 * M[index] - 1.0; + } + + //(SIZE_OUTPUT, out_soft, dev_odata, error1) + __global__ void kernSub(int n, float* A, float* B, float* C) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; } + C[index] = A[index] - B[index]; + } - //loss - float compute_loss(const float* real, const float *pred, int ind) { - //std::cout << "hi! compute loss!" << std::endl; - float *each_cros; - cudaMalloc((void**)&each_cros, sizeof(float) * SIZE_OUTPUT); - checkCUDAError("cudaMalloc each_cros failed!"); - - float *real_each; - cudaMalloc((void**)&real_each, sizeof(float) * SIZE_OUTPUT); - checkCUDAError("cudaMalloc real_each failed!"); - cudaMemcpy(real_each, real + (ind * SIZE_OUTPUT), sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToDevice); - - dim3 fullBlocksPerGrid((SIZE_OUTPUT + blockSize - 1) / blockSize); - //kernmse_loss << > > (SIZE_OUTPUT, real_each, pred, each_cros); - kerncross_entropy << > >(SIZE_OUTPUT, real_each, pred, each_cros); - - //sum - float *each_cros_host = new float[SIZE_OUTPUT]; - cudaMemcpy(each_cros_host, each_cros, sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToHost);//host to device - //std::cout << "each loss:" << std::endl; - //printM(each_cros_host, 1, SIZE_OUTPUT); - - float loss = Get_sum(SIZE_OUTPUT, each_cros_host); - - cudaFree(each_cros); - free(each_cros_host); - return loss; + __global__ void kernAdd(int n, float* A, float* B, float* C) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; } - - /////////////////////////////gradient//////////////////////////////////// - __global__ void kernAdjW(int n, float *M) { - int index = threadIdx.x + (blockIdx.x * blockDim.x); - if (index >= n) { - return; - } - M[index] = 2.0 * M[index] - 1.0; + C[index] = A[index] + B[index]; + } + + //sigfun is the sig result + __global__ void kernSig_partial_deriv(int n, float* sigfun, float* odata) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; } + odata[index] *= (sigfun[index] * (1.0 - sigfun[index])); + } - //(SIZE_OUTPUT, out_soft, dev_odata, error1) - __global__ void kernSub(int n, float* A, float* B, float* C) { - int index = threadIdx.x + (blockIdx.x * blockDim.x); - if (index >= n) { - return; - } - C[index] = A[index] - B[index]; + __global__ void kernMse_deri(int n, const float *input, float *real, float *odata) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; } + odata[index] *= (input - real); + } - __global__ void kernAdd(int n, float* A, float* B, float* C) { - int index = threadIdx.x + (blockIdx.x * blockDim.x); - if (index >= n) { - return; - } - C[index] = A[index] + B[index]; - } - - //sigfun is the sig result - __global__ void kernSig_partial_deriv(int n, float* sigfun, float* odata) { - int index = threadIdx.x + (blockIdx.x * blockDim.x); - if (index >= n) { - return; - } - odata[index] *= (sigfun[index] * (1.0 - sigfun[index])); + __global__ void kernUp_Wei(int n, float *wei, float* gradient, float learning_rate) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; } + wei[index] = wei[index] - learning_rate * gradient[index]; + } + + //for simple one data meg + void forwardpass(int instance_index, float* idata, + cublasHandle_t &handle) { + float* data; + cudaMalloc((void**)&data, SIZE_INPUT * sizeof(float)); + checkCUDAError("cudaMalloc data failed!"); + cudaMemcpy(data, idata + (instance_index * SIZE_INPUT), sizeof(float) * SIZE_INPUT, cudaMemcpyDeviceToDevice); + + float* host_data = new float[SIZE_INPUT]; + cudaMemcpy(host_data, data, sizeof(float) * SIZE_INPUT, cudaMemcpyDeviceToHost); + + //compute hidden layer + GetLayerOutput(SIZE_INPUT,//size_of_current_layer + SIZE_HiD,//size_of_next_layer + data,//idata + weights_inandhid,//weights + dev_hid,//hidden + handle); + + //Compute sigmoid if hidden layer + dim3 fullBlocksPerGrid((SIZE_HiD + blockSize - 1) / blockSize); + kernSigmoid << > > (SIZE_HiD, dev_hid, hid_sig); + + //Compute output layer + GetLayerOutput(SIZE_HiD,//size_of_current_layer + SIZE_OUTPUT,//size_of_next_layer + hid_sig,//hidden_sig + weights_hidandoutput,//weights + dev_output,//output layer + handle); + + dim3 fullBlocksPerGrid2((SIZE_OUTPUT + blockSize - 1) / blockSize); + kernSigmoid << > > (SIZE_OUTPUT, dev_output, out_sig); + + //Compute softmax of output layer + softmax(SIZE_OUTPUT, dev_output, out_soft); + } + + //Computes the gradient for the current pass. + void compute_grad(int instance_number, + const float* input, const float* real, + cublasHandle_t &handle) { + + float* dev_idata; + float* dev_odata; + cudaMalloc((void**)&dev_idata, sizeof(float) * SIZE_INPUT); + checkCUDAError("cudaMalloc dev_idata failed!"); + cudaMalloc((void**)&dev_odata, sizeof(float) * SIZE_OUTPUT); + checkCUDAError("cudaMalloc dev_odata failed!"); + + cudaMemcpy(dev_idata, input + (instance_number * SIZE_INPUT), sizeof(float) * SIZE_INPUT, cudaMemcpyDeviceToDevice); + cudaMemcpy(dev_odata, real + (instance_number * SIZE_OUTPUT), sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToDevice); + + //Compute gradient weights between hidden and output layer + float* error1; + cudaMalloc((void**)&error1, SIZE_OUTPUT * sizeof(float)); + checkCUDAError("cudaMalloc error1 failed!"); + float* error2;// input and hidden layer + cudaMalloc((void**)&error2, SIZE_HiD * sizeof(float)); + checkCUDAError("cudaMalloc error2 failed!"); + + //the error between predict and real + dim3 fullBlocksPerGrid((SIZE_OUTPUT + blockSize - 1) / blockSize); + //softmax and entrpy_cross derivative + kernSub << > > (SIZE_OUTPUT, out_soft, dev_odata, error1); + + //sigmoid derivative + //dim3 fullBlocksPerGrid3((SIZE_OUTPUT + blockSize - 1) / blockSize); + kernSig_partial_deriv << > > (SIZE_OUTPUT, out_sig, error1); + + Mul(hid_sig,//A(hid_size*1) m*k + error1,//B (1 * out_size) k*n + wgrad_h2o,//C (SIZE_HiD * SIZE_OUTPUT) m*n + SIZE_HiD,//m + SIZE_OUTPUT,//n + 1,//k + handle); + + Mul(weights_hidandoutput,//(size_output*size_hid) + error1,//(size_out*1) + error2,//(hid_size*1) + SIZE_HiD,//m + 1,//n + SIZE_OUTPUT,//k + handle); + + //sigmoid derivative + dim3 fullBlocksPerGrid2((SIZE_HiD + blockSize - 1) / blockSize); + kernSig_partial_deriv << > > (SIZE_HiD, hid_sig, error2); + + Mul(dev_idata,//(size_input*1) + error2,//(1*hid_size) + wgrad_i2h,//size_input*size_hid + SIZE_INPUT,//m + SIZE_HiD,//n + 1,//k + handle); + + /*//debug + float *t1 = new float[SIZE_HiD*SIZE_INPUT]; + cudaMemcpy(t1, wgrad_i2h, sizeof(float) * SIZE_HiD*SIZE_INPUT, cudaMemcpyDeviceToHost); + printf("grad weight hid input: \n"); + //printM(t1, SIZE_INPUT, SIZE_HiD); + + //yes + float *t2 = new float[SIZE_HiD*SIZE_OUTPUT]; + cudaMemcpy(t2, wgrad_h2o, sizeof(float) * SIZE_HiD*SIZE_OUTPUT, cudaMemcpyDeviceToHost); + printf("grad weight hid output: \n"); + //printM(t2, SIZE_OUTPUT, SIZE_HiD); + */ + + cudaFree(error1); + cudaFree(error2); + cudaFree(dev_idata); + cudaFree(dev_odata); + } + + //cublas is col based! + //ref: https://blog.csdn.net/zcy0xy/article/details/84555053#cuBLAS_12 + void build_network(int data_count, int num_feature, int num_class, + int hid_size, float ler, float loss_thre) { + + input_count = data_count; + SIZE_INPUT = num_feature; + SIZE_HiD = hid_size; + SIZE_OUTPUT = num_class; + lr = ler; + loss_threshold = loss_thre; + + //malloc memory for layer weights + cudaMalloc((void**)&weights_inandhid, (SIZE_INPUT * SIZE_HiD) * sizeof(float)); + checkCUDAError("cudaMalloc weights_inandhid failed!"); + cudaMalloc((void**)&weights_hidandoutput, (SIZE_HiD * SIZE_OUTPUT) * sizeof(float)); + checkCUDAError("cudaMalloc weights_hidandoutput failed!"); + + //initialize weight with random number + //ref: https://blog.csdn.net/wesley_2013/article/details/12175391 + curandGenerator_t gen; + curandCreateGenerator(&gen, CURAND_RNG_PSEUDO_MRG32K3A);//set the random algorithm + curandSetPseudoRandomGeneratorSeed(gen, rand());//initial random number + //set weights + curandGenerateUniform(gen, weights_inandhid, SIZE_INPUT * SIZE_HiD); + curandGenerateUniform(gen, weights_hidandoutput, SIZE_HiD * SIZE_OUTPUT); + + //FROM 0-1 to -1-1 + dim3 fullBlocksPerGrid((SIZE_INPUT * SIZE_HiD + blockSize - 1) / blockSize); + kernAdjW << > > (SIZE_INPUT * SIZE_HiD, weights_inandhid); + dim3 fullBlocksPerGrid2((SIZE_HiD * SIZE_OUTPUT + blockSize - 1) / blockSize); + kernAdjW << > > (SIZE_HiD * SIZE_OUTPUT, weights_hidandoutput); + + /*//debug + float * wih = new float[SIZE_INPUT * SIZE_HiD]; + float * who = new float[SIZE_OUTPUT * SIZE_HiD]; + cudaMemcpy(wih, weights_inandhid, sizeof(float) * (SIZE_INPUT * SIZE_HiD), cudaMemcpyDeviceToHost); + cudaMemcpy(who, weights_hidandoutput , sizeof(float) * (SIZE_OUTPUT * SIZE_HiD), cudaMemcpyDeviceToHost); + */ + + //hidden layer and output layer on device + cudaMalloc((void**)&dev_hid, SIZE_HiD * sizeof(float)); + checkCUDAError("cudaMalloc dev_hid failed!"); + cudaMalloc((void**)&dev_output, SIZE_OUTPUT * sizeof(float)); + checkCUDAError("cudaMalloc dev_output failed!"); + + //weights grads dev memory + cudaMalloc((void**)&wgrad_i2h, (SIZE_INPUT * SIZE_HiD) * sizeof(float)); + checkCUDAError("cudaMalloc wgrad_i2h failed!"); + cudaMalloc((void**)&wgrad_h2o, (SIZE_HiD * SIZE_OUTPUT) * sizeof(float)); + checkCUDAError("cudaMalloc wgrad_h2o failed!"); + + //mid-calculation data memory + cudaMalloc((void**)&hid_sig, SIZE_HiD * sizeof(float)); + checkCUDAError("cudaMalloc hid_sig failed!"); + cudaMalloc((void**)&out_sig, SIZE_OUTPUT * sizeof(float)); + checkCUDAError("cudaMalloc out_sig failed!"); + cudaMalloc((void**)&out_soft, SIZE_OUTPUT * sizeof(float)); + checkCUDAError("cudaMalloc out_soft failed!"); + std::cout << "successfully build the network!" << std::endl; + } + + void train(float* input, float* real, int train_time) { + float epi_loss = 0.0; + + //cuBlas handle + cublasHandle_t handle; + cublasCreate(&handle); + + //malloc memory for input and real + cudaMalloc((void**)&dev_input, (input_count * SIZE_INPUT) * sizeof(float)); + checkCUDAError("cudaMalloc dev_input failed!"); + cudaMalloc((void**)&dev_real, (input_count * SIZE_OUTPUT) * sizeof(float)); + checkCUDAError("cudaMalloc dev_real failed!"); + cudaMemcpy(dev_input, input, sizeof(float) * (input_count * SIZE_INPUT), cudaMemcpyHostToDevice); + cudaMemcpy(dev_real, real, sizeof(float) * (input_count * SIZE_OUTPUT), cudaMemcpyHostToDevice); + + for (int i = 0; i < train_time; i++) { + //for each data + epi_loss = 0.0; + for (int j = 0; j < input_count; j++) { + //Forward_Pass + forwardpass(j, dev_input, handle); + + ////////back propa////////////////// + //get Loss + epi_loss += compute_loss(dev_real, out_soft, j); + //Compute grads + compute_grad(j, dev_input, dev_real, handle); + + //update weights + dim3 fullBlocksPerGrid(((SIZE_INPUT * SIZE_HiD) + blockSize - 1) / blockSize); + kernUp_Wei << > > (SIZE_INPUT * SIZE_HiD, weights_inandhid, wgrad_i2h, lr); + dim3 fullBlocksPerGrid2(((SIZE_HiD * SIZE_OUTPUT) + blockSize - 1) / blockSize); + kernUp_Wei << > > (SIZE_HiD * SIZE_OUTPUT, weights_hidandoutput, wgrad_h2o, lr); - __global__ void kernMse_deri(int n, const float *input, float *real, float *odata) { - int index = threadIdx.x + (blockIdx.x * blockDim.x); - if (index >= n) { - return; } - odata[index] *= (input - real); - } - - __global__ void kernUp_Wei(int n, float *wei, float* gradient, float learning_rate) { - int index = threadIdx.x + (blockIdx.x * blockDim.x); - if (index >= n) { - return; + std::cout << "epoch " << i << " loss : " << epi_loss / (1.0 * input_count) << std::endl; + if (epi_loss / (1.0 * input_count) < loss_threshold && !flag) { + flag = true; + break; } - wei[index] = wei[index] - learning_rate * gradient[index]; } - - //for simple one data meg - void forwardpass(int instance_index, float* idata, - cublasHandle_t &handle) { - float* data; - cudaMalloc((void**)&data, SIZE_INPUT * sizeof(float)); - checkCUDAError("cudaMalloc data failed!"); - cudaMemcpy(data, idata + (instance_index * SIZE_INPUT), sizeof(float) * SIZE_INPUT, cudaMemcpyDeviceToDevice); - - float* host_data = new float[SIZE_INPUT]; - cudaMemcpy(host_data, data, sizeof(float) * SIZE_INPUT, cudaMemcpyDeviceToHost); - - //compute hidden layer - GetLayerOutput(SIZE_INPUT,//size_of_current_layer - SIZE_HiD,//size_of_next_layer - data,//idata - weights_inandhid,//weights - dev_hid,//hidden - handle); - - //Compute sigmoid if hidden layer - dim3 fullBlocksPerGrid((SIZE_HiD + blockSize - 1) / blockSize); - kernSigmoid<< > > (SIZE_HiD, dev_hid, hid_sig); - - //Compute output layer - GetLayerOutput(SIZE_HiD,//size_of_current_layer - SIZE_OUTPUT,//size_of_next_layer - hid_sig,//hidden_sig - weights_hidandoutput,//weights - dev_output,//output layer - handle); - - //Compute softmax of output layer - softmax(SIZE_OUTPUT, dev_output, out_soft); - } - - //Computes the gradient for the current pass. - void compute_grad(int instance_number, - const float* input, const float* real, - cublasHandle_t &handle) { - - float* dev_idata; - float* dev_odata; - cudaMalloc((void**)&dev_idata, sizeof(float) * SIZE_INPUT); - checkCUDAError("cudaMalloc dev_idata failed!"); - cudaMalloc((void**)&dev_odata, sizeof(float) * SIZE_OUTPUT); - checkCUDAError("cudaMalloc dev_odata failed!"); - - cudaMemcpy(dev_idata, input + (instance_number * SIZE_INPUT), sizeof(float) * SIZE_INPUT, cudaMemcpyDeviceToDevice); - cudaMemcpy(dev_odata, real + (instance_number * SIZE_OUTPUT), sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToDevice); - - //Compute gradient weights between hidden and output layer - float* error1; - cudaMalloc((void**)&error1, SIZE_OUTPUT * sizeof(float)); - checkCUDAError("cudaMalloc error1 failed!"); - float* error2;// input and hidden layer - cudaMalloc((void**)&error2, SIZE_HiD * sizeof(float)); - checkCUDAError("cudaMalloc error2 failed!"); - - //the error between predict and real - dim3 fullBlocksPerGrid((SIZE_OUTPUT + blockSize - 1) / blockSize); - //softmax and entrpy_cross derivative - kernSub<< > > (SIZE_OUTPUT, out_soft, dev_odata, error1); - - Mul(hid_sig,//A(hid_size*1) m*k - error1,//B (1 * out_size) k*n - wgrad_h2o,//C (SIZE_HiD * SIZE_OUTPUT) m*n - SIZE_HiD,//m - SIZE_OUTPUT,//n - 1,//k - handle); - - Mul(weights_hidandoutput,//(size_output*size_hid) - error1,//(size_out*1) - error2,//(hid_size*1) - SIZE_HiD,//m - 1,//n - SIZE_OUTPUT,//k - handle); - - //sigmoid derivative - dim3 fullBlocksPerGrid2((SIZE_HiD + blockSize - 1) / blockSize); - kernSig_partial_deriv<< > >(SIZE_HiD, hid_sig, error2); - - Mul(dev_idata,//(size_input*1) - error2,//(1*hid_size) - wgrad_i2h,//size_input*size_hid - SIZE_INPUT,//m - SIZE_HiD,//n - 1,//k - handle); - - /*//debug - float *t1 = new float[SIZE_HiD*SIZE_INPUT]; - cudaMemcpy(t1, wgrad_i2h, sizeof(float) * SIZE_HiD*SIZE_INPUT, cudaMemcpyDeviceToHost); - printf("grad weight hid input: \n"); - //printM(t1, SIZE_INPUT, SIZE_HiD); - - //yes - float *t2 = new float[SIZE_HiD*SIZE_OUTPUT]; - cudaMemcpy(t2, wgrad_h2o, sizeof(float) * SIZE_HiD*SIZE_OUTPUT, cudaMemcpyDeviceToHost); - printf("grad weight hid output: \n"); - //printM(t2, SIZE_OUTPUT, SIZE_HiD); - */ - - cudaFree(error1); - cudaFree(error2); - cudaFree(dev_idata); - cudaFree(dev_odata); - } - - //cublas is col based! - //ref: https://blog.csdn.net/zcy0xy/article/details/84555053#cuBLAS_12 - void build_network(int data_count, int num_feature, int num_class, - int hid_size, float ler, float loss_thre) { - - input_count = data_count; - SIZE_INPUT = num_feature; - SIZE_HiD = hid_size; - SIZE_OUTPUT = num_class; - lr = ler; - loss_threshold = loss_thre; - - //malloc memory for layer weights - cudaMalloc((void**)&weights_inandhid, (SIZE_INPUT * SIZE_HiD) * sizeof(float)); - checkCUDAError("cudaMalloc weights_inandhid failed!"); - cudaMalloc((void**)&weights_hidandoutput, (SIZE_HiD * SIZE_OUTPUT) * sizeof(float)); - checkCUDAError("cudaMalloc weights_hidandoutput failed!"); - - //initialize weight with random number - ref: https://blog.csdn.net/wesley_2013/article/details/12175391 - curandGenerator_t gen; - curandCreateGenerator(&gen, CURAND_RNG_PSEUDO_MRG32K3A);//set the random algorithm - curandSetPseudoRandomGeneratorSeed(gen, rand());//initial random number - //set weights - curandGenerateUniform(gen, weights_inandhid, SIZE_INPUT * SIZE_HiD); - curandGenerateUniform(gen, weights_hidandoutput, SIZE_HiD * SIZE_OUTPUT); - - //FROM 0-1 to -1-1 - dim3 fullBlocksPerGrid((SIZE_INPUT * SIZE_HiD + blockSize - 1) / blockSize); - kernAdjW << > > (SIZE_INPUT * SIZE_HiD, weights_inandhid); - dim3 fullBlocksPerGrid2((SIZE_HiD * SIZE_OUTPUT + blockSize - 1) / blockSize); - kernAdjW << > > (SIZE_HiD * SIZE_OUTPUT, weights_hidandoutput); - - /*//debug + if (flag) { float * wih = new float[SIZE_INPUT * SIZE_HiD]; float * who = new float[SIZE_OUTPUT * SIZE_HiD]; cudaMemcpy(wih, weights_inandhid, sizeof(float) * (SIZE_INPUT * SIZE_HiD), cudaMemcpyDeviceToHost); - cudaMemcpy(who, weights_hidandoutput , sizeof(float) * (SIZE_OUTPUT * SIZE_HiD), cudaMemcpyDeviceToHost); - */ - - //hidden layer and output layer on device - cudaMalloc((void**)&dev_hid, SIZE_HiD * sizeof(float)); - checkCUDAError("cudaMalloc dev_hid failed!"); - cudaMalloc((void**)&dev_output, SIZE_OUTPUT * sizeof(float)); - checkCUDAError("cudaMalloc dev_output failed!"); - - //weights grads dev memory - cudaMalloc((void**)&wgrad_i2h, (SIZE_INPUT * SIZE_HiD) * sizeof(float)); - checkCUDAError("cudaMalloc wgrad_i2h failed!"); - cudaMalloc((void**)&wgrad_h2o, (SIZE_HiD * SIZE_OUTPUT) * sizeof(float)); - checkCUDAError("cudaMalloc wgrad_h2o failed!"); - - //mid-calculation data memory - cudaMalloc((void**)&hid_sig, SIZE_HiD * sizeof(float)); - checkCUDAError("cudaMalloc hid_sig failed!"); - cudaMalloc((void**)&out_soft, SIZE_OUTPUT * sizeof(float)); - checkCUDAError("cudaMalloc out_soft failed!"); - std::cout << "successfully build the network!" << std::endl; - } - - void train(float* input, float* real, int train_time) { - float epi_loss = 0.0; - - //cuBlas handle - cublasHandle_t handle; - cublasCreate(&handle); - - //malloc memory for input and real - cudaMalloc((void**)&dev_input, (input_count * SIZE_INPUT) * sizeof(float)); - checkCUDAError("cudaMalloc dev_input failed!"); - cudaMalloc((void**)&dev_real, (input_count * SIZE_OUTPUT) * sizeof(float)); - checkCUDAError("cudaMalloc dev_real failed!"); - cudaMemcpy(dev_input, input, sizeof(float) * (input_count * SIZE_INPUT), cudaMemcpyHostToDevice); - cudaMemcpy(dev_real, real, sizeof(float) * (input_count * SIZE_OUTPUT), cudaMemcpyHostToDevice); - - for (int i = 0; i < train_time; i++) { - //for each data - epi_loss = 0.0; - for (int j = 0; j < input_count; j++) { - //Forward_Pass - forwardpass(j, dev_input, handle); - - ////////back propa////////////////// - //get Loss - epi_loss += compute_loss(dev_real, out_soft, j); - //Compute grads - compute_grad(j, dev_input, dev_real, handle); - - //update weights - dim3 fullBlocksPerGrid(((SIZE_INPUT * SIZE_HiD) + blockSize - 1) / blockSize); - kernUp_Wei<< > > (SIZE_INPUT * SIZE_HiD, weights_inandhid, wgrad_i2h, lr); - dim3 fullBlocksPerGrid2(((SIZE_HiD * SIZE_OUTPUT) + blockSize - 1) / blockSize); - kernUp_Wei<< > >(SIZE_HiD * SIZE_OUTPUT, weights_hidandoutput, wgrad_h2o, lr); - - } - std::cout << "epoch " << i << " loss : " << epi_loss / (1.0 * input_count) << std::endl; - if (epi_loss / (1.0 * input_count) < loss_threshold && !flag) { - flag = true; - } - } - if (flag) { - float * wih = new float[SIZE_INPUT * SIZE_HiD]; - float * who = new float[SIZE_OUTPUT * SIZE_HiD]; - cudaMemcpy(wih, weights_inandhid, sizeof(float) * (SIZE_INPUT * SIZE_HiD), cudaMemcpyDeviceToHost); - cudaMemcpy(who, weights_hidandoutput, sizeof(float) * (SIZE_OUTPUT * SIZE_HiD), cudaMemcpyDeviceToHost); + cudaMemcpy(who, weights_hidandoutput, sizeof(float) * (SIZE_OUTPUT * SIZE_HiD), cudaMemcpyDeviceToHost); - Write_Weights2File("input_hid_w.txt", wih, input_count, SIZE_HiD); - Write_Weights2File("hid_out_w.txt", who, SIZE_HiD, SIZE_OUTPUT); + Write_Weights2File("input_hid_w.txt", wih, input_count, SIZE_HiD); + Write_Weights2File("hid_out_w.txt", who, SIZE_HiD, SIZE_OUTPUT); - delete(wih); - delete(who); - } - // Destroy the handle - cublasDestroy(handle); + delete(wih); + delete(who); } - //test - void test(float* test_input, int test_times, int type) { - int t = type == 1 ? test_times : input_count; - if (test_times <= 0 || !flag) { - std::cout << "error!" << std::endl; - return; - } - - //dev memory for test data - float* test_in; - cudaMalloc((void**)&test_in, (input_count * SIZE_INPUT) * sizeof(float)); - checkCUDAError("cudaMalloc test_in failed!"); - cudaMemcpy(test_in, test_input, sizeof(float) * (input_count * SIZE_INPUT), cudaMemcpyHostToDevice); - - //CUBLAS handle - cublasHandle_t handle; - cublasCreate(&handle); - - int correct_time = 0; - float *re = new float[SIZE_OUTPUT]; - - if (type == 1) { - //test specific times - while (test_times) { - int ind = (10000 * (int)rand()) % input_count; - forwardpass(ind, test_in, handle); - std::cout << "pic: " << ind + 1 << " pred: "; - cudaMemcpy(re, out_soft, sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToHost); - int result = GetfinalJudge(SIZE_OUTPUT, re); - if (result == ind + 1) { - correct_time++; - } - std::cout << " " << result << std::endl; - test_times--; + // Destroy the handle + cublasDestroy(handle); + } + + //test + void test(float* test_input, int test_times, int type) { + int t = type == 1 ? test_times : input_count; + //if (test_times <= 0 || !flag) { + // std::cout << "error!" << std::endl; + // return; + //} + + //dev memory for test data + float* test_in; + cudaMalloc((void**)&test_in, (input_count * SIZE_INPUT) * sizeof(float)); + checkCUDAError("cudaMalloc test_in failed!"); + cudaMemcpy(test_in, test_input, sizeof(float) * (input_count * SIZE_INPUT), cudaMemcpyHostToDevice); + + //CUBLAS handle + cublasHandle_t handle; + cublasCreate(&handle); + + int correct_time = 0; + float *re = new float[SIZE_OUTPUT]; + + if (type == 1) { + //test specific times + while (test_times) { + int ind = (10000 * (int)rand()) % input_count; + forwardpass(ind, test_in, handle); + std::cout << "pic: " << ind + 1 << " pred: "; + cudaMemcpy(re, out_soft, sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToHost); + int result = GetfinalJudge(SIZE_OUTPUT, re); + if (result == ind + 1) { + correct_time++; } - } - else if (type ==2) { - for (int i = 0; i < input_count; i++) { - forwardpass(i, test_in, handle); - std::cout << "pic: " << i + 1 << " pred: "; - cudaMemcpy(re, out_soft, sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToHost); - int result = GetfinalJudge(SIZE_OUTPUT, re); - if (result == i + 1) { - correct_time++; - } - std::cout << " " << result << std::endl; + std::cout << " " << result << std::endl; + test_times--; + } + } + else if (type == 2) { + for (int i = 0; i < input_count; i++) { + forwardpass(i, test_in, handle); + std::cout << "pic: " << i + 1 << " pred: "; + cudaMemcpy(re, out_soft, sizeof(float) * SIZE_OUTPUT, cudaMemcpyDeviceToHost); + int result = GetfinalJudge(SIZE_OUTPUT, re); + if (result == i + 1) { + correct_time++; } + std::cout << " " << result << std::endl; } - std::cout << "test time: " << t - << " ,correct probability: " - << ((1.0 * correct_time) / t) * 100.0 <<"%"< Date: Thu, 19 Sep 2019 00:20:37 -0400 Subject: [PATCH 10/12] readme 4 --- Project2-Character-Recognition/README.md | 6 +++++- Project2-Character-Recognition/img/acc.png | Bin 0 -> 53778 bytes 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 Project2-Character-Recognition/img/acc.png diff --git a/Project2-Character-Recognition/README.md b/Project2-Character-Recognition/README.md index b82dc43..a787510 100644 --- a/Project2-Character-Recognition/README.md +++ b/Project2-Character-Recognition/README.md @@ -69,7 +69,11 @@ CUDA Character Recognition ![](img/epi.png) -As shown in the graph, when we increase the hidden layer size, the less count of episode we need to train to the expected value. +As shown in the graph, when we increase the hidden layer size, sometimes the episode goes down, sometimes increase, there is no obvious stable tendency for my network. + +![](img/acc.png) + +after training more times, the accuracy increase. ## Result diff --git a/Project2-Character-Recognition/img/acc.png b/Project2-Character-Recognition/img/acc.png new file mode 100644 index 0000000000000000000000000000000000000000..9831107522acf798965d80e8280eba970d270375 GIT binary patch literal 53778 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 Date: Thu, 19 Sep 2019 00:21:22 -0400 Subject: [PATCH 11/12] change pic --- Project2-Character-Recognition/img/epi.png | Bin 55472 -> 54220 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Project2-Character-Recognition/img/epi.png b/Project2-Character-Recognition/img/epi.png index 8ea39ee72279b83c1a4016b21445f5806010b1f1..09faa121230d5494a2f151f8b88b30e91d1b9154 100644 GIT binary patch literal 54220 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

Ys?nH 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℘&r9QYOPrFQH}G-2`{YElP@5RUj)Vdq01=oZ6g;s)=4Qz zn*5U4_ntLqzfBbXWNv7%GNNG%F(Rqp))GB+J>!|`WZxsVrqI_(xtR7#oI$-j`jRiY zBKUWQU*5A9|f1@YoSuad6jMr!uI+8~R~JiF>P<`+>RG`k$2Ek2_z#e*D0$ zQ?;obb@HRq%0?YJ^tVA?avfTcCeQocH*Gfr-_1=*J0jaiq_AKMdeZUFKIJG13ZbphH1@zI`4~_ z)ccj>A?0gqSLXpHqxQYKYR_^`x7msM1d^BPay=x%uM} zUN2HdhAJ1c-lgL*Kt11<=s2a^k9GW~zDgc}(|2*k$s)Bh(Hov$tQ^H+ROqf9KeM@- ziIOw-V?Dx4B!89iYA(8&oK5|H{i};Z#jmyjKWrO&KHXCgm6R6zY|5gmWNZ!TN^J>J z8(k5wIU(@{v-0qRhjxwocF7JXy3u>{W~?v8%Wo$~A-b%lmv-}`Zq(ZteR;?9YO%28 zWIR(#mViCT@4+?gT9pDH!q zkNy-9>(T3rd7USx7+CPh=sIU*;ZmyGwBGy41}lS@9?N~Z#O&zF>lu$h75et+Hxjeu z1}uSN`8{)=6{D6-ecv@d@Nt@_-sm(l95%7MbSp;lMt`LJ!9y>ZziPDk47|Kp5Ov+H z^T6ZI@-E})Vq$ZS!TSn6H?+du2u+iEm3OS-*X_!^CG@_tPAReV&JM=pB;XCYfCC)V=q6K?E-i0m6B`I zy+~`Y;^F?v<8+pcu2HV(2(&gb-kFxYW~q+e^awb~gTdv@9# z;3rA#PuOXvUi(1h_V3e6hh~${4EzO<#Cjq za+7LbDa>Di#%bW?4m+rcN>CH8ZgmYvuljmFJQ%-Aw*z?<^l8A|lg4S(6MvnGr-r@P zK`aL3y6vJTtWQ3Cm2Se@^2*J0hsVv{O-_&X&jHsU@Gsf%1Ty%QE~uJSPBki;|A^^QX~=K3IFjc@4bmFxJ#plb8v3jX4-g zjnL3R1oVclKUuPiflOJSYz$sVJ@F*QEaFB5pCs}HWoa`bed_*hoJ+{<@1C*EnQB^#fZ?A!9s>zUB&l@ovMejj$tuXFrJ zrGca5$lR6j2CJSkBVqXgG!1(v8P9W(S(1zXF)I6{=wl|Ww&ZJ$hGQ>}@Z$_`PKVMP zMpJC}-y$)rBqhaoJPnT%S zjw%!8hF*Ag?41dTb-hXcQoT=Mm%$6Qlf#BZGmpMH(?;fgkMlk^`!yBWB>!TdMM|vS zas)>!O?A#Xk~Z>L^nGoSXUi{HK{yL7)DhLHb}+e;vwE@i{Tk`Qtx+bAq~a zhaG20C9{{~Ym}=#y`(Wbstg9Ym!ww5*yrL;cM{*v$;+zC?=l`GpEPL1YD@($91%6o zecv>_bZ|6TV(#s76sDEve^HZVi%Na}FMw0^c!$e8;JU z$TGQT1oYUy=zL@z*eV$^a_{Q$=Ar{RvL`(7(?9*?G!zNUcnz4*2tB)TN+BaHTCxVy zfeb+H2(%2RfAJ4dOgpLgG5x)!@ztw~dux8ith+)pkyfQ$`#NT?nD{Gkryb`h&)>nSXMmaUR4v8L_sA`W0E-j;` zSewqU?Y;Awrb`aKWSYFtBbaIO3|VqDMNbdJ_Qed}$JrVUHy0W`8TvIw`G*%}e;I*c zE_m<5EHDjP{v;eJSJM^_NNrE?=|Ivgow0lJ+SJFjGr+F!S!A~T4ZJ=rA)x$}&PVh^ zT<9%^zh}#bx!dEecu>^V zICCLLaLFvuP@F~LY2=XdW(pCZhK}N9;$~|0ZUqebcW$t=UwS6BiwXns>$8{>; z7KJO1!Y%ryR_jp{pp+hE@$zfCwKJ(6(8+D4PB%+5Kuv5D@ks`pSpBs?Ji2)bj)rOtARMbwg3kB zvSYD?09oXo4hVUeTzDH`8oNJPG36^RS8Vz&jeg_(!*F{=?JaoA!pWk+pdeQ}ou@zd zHW!`CQSy-*6yC@S=5?yj=x6Y11HBoT4ws3Xjp71Op7M|B=uZ`Msn4>}zu^NOgKPS_ceJdrc1$-bUCWEDyA-kx@y#tP#>8i$vh^(O%sH5PZ+-or%l)<~xivsX_3Q@kl67wj3ZU?C zn!LQ#tS`DyM{6Lu@kPC0oC&QUEtcTADwKy@e=LYv>ph=nd>|4=2uIx518~+S>&c2a z11X-{tZI%#OT!;nY~_EmXw|vXP(y%6?=aaq6fM+`o*h}ydF4*EaqKQ1-FAR^_Mk33 zEdYkafXt?UsUDlZWrEswMSB3zXt8@*c*+hordQdJ66=0M$PuTi?3uS>K8~M%_*fLO z(wd*F%&8ZA3VGfA5o4xL5+ZO-aRg<>#K#2w|#%knFx>gfWbx%?%pA5G& zMmA_m6B}gIeIQM$*YkPWd@5A zPRGAJkLeeFe%q?05jZxqi!>9vb}H5qW?v0m&%!OI-!#gfT)o>D(vymDnt$T{hLfrR zq%;8;ST3d@E3G45W%0s+38LNm?Ut+WSG$CRIFFqS9YlJ*-@H>Rs!}16eibLVjlf>< z3;lZGBOKg2zsmlffjx7qrUAE?bcUoG@;k1~WDDF=(1T*_IB1{A*9=S((hIUC;hooh z58rXVUts?=#iL4^L%)4X)+*YC{4ynkPVJuMyQ3*r5q?Vf|L<(g^?Q`5`dUQ0H|unm z8+i$B0OY>$igx{m&yo?>)JpADz{1wfwHJdw#}4FuQ;4WCS}qJoiv|hB<`b@*^kUOnq+$)~+_F1yV7dv%BKWkS;20y}eW=El3 zycZtK>vGd3I4jC@(oa(IM$`Gbtz+7`S=&kGR&I&o*`P&eZ;n3KC~mWwVE`0>F&+i| zea@^Dl{Q6%Ecy~xa>~qM(B>@R=@$JNYnCb1S8YZBj{;gx+kHGJG``vVagB=wdhTL( zY7ogwXJ`MoK>nP+EWH%G(#P_BxKo1!q}NxcCHwO5g3(J+*X|31w4XjSwA%4;!WJpr5xdLiu-$o$bmRV@5u_sj zG|<#mKGV-zu1K@R2yJ&~R1eADt^rNpD}@oA{_7(4v^hQD2ZND{<6}C^r7I2(J*Xj> z^Wer@*N(p#3HJbVr4^E+TKw=G+4iz=q>hFG>SLbdx0=ka+0kz@I8k4MlsSq!`Lfo5 zt`1|7dUQlKatwd!eGkAQa**ph3u9}dxevHAw+O^Nu3UQd-i zLv$kF^9*sZ@*-d5Kh_%4<= zOXjh6%l^Uizwof;8&rSxyv0uO5>U;03Kg*O0&jhHf^l2aBnnm)_TVqYj29=`&47k@ zmL)6+pYo2?@f2c%6LRD|d9Mlu-wHOBC$5&RKQ&p@LI#i*F>DbPx{-e(0Y1e-!dLbu zXI)`Dlf;fsewM`JZ;~i|lBk-w2=WrlYMWfsZsGKZLDE$1>#G^#%PBzIGO_o60Es9+ zq#szSy|nQ3bj4SpuPakr;OzaYpbH2f84#ZRQkDOxY-j3}z@0o7hJy&wqj1N+bPBT6 zt95u{utY(A(Dgu>a0sc;CfGBKkKcYN_!eE0He_wvgIkEl8<#a-#guR`m=*QoCQw^~iKW3ps(E(cf8_b7yjta8qN?}4Px z7&i=rce+`f34eo9qCE1Uu+Yz|lyF2nE+n8se6blSKQ4DwY4XLQ%Rfg{6zsLY2>F5E);ngZPz%Y8TCvrxh$6c zd&(HXQ8rS&2s_XrwIKA%je2DIot0~}#53F-g1;)0Pm3jjER8X!-EpzSN_@a8OaIZK z@7R{brMFUfFZ8lHyQ<87YhpF>@n%UNk`^_7&Y^;pv#Ej~%=0~#k+=Nz3Pd$&$n<%h z3$~+C(_(~60rfhDRrwp6t_L`8!q!qi1!AQtBM zmc4@-EUdDGt64KK$beqhKb%hr93g&8--Na&;xL_d;Dk57=qIHZsl>ZoeZDqW&$T46 zz=FQa-t}e`s;v>zG|$>&iZ2WUzo-XqFM1Q|tfp_P=&{b@%Th_~(rz_lWl@LiH}oEU zQlqWf@M02NcC87gpE8N*Y;(axuiuZeYZts&2hv>?*;9f$NH}x(_(*z4hJP96dFvG4 zsY&uvy(VeI@;3$$3SIsxqTllt{DxtQhLS$vs;r75c_$0TO$nKfLdNDj^Dy4(k7*P8 zIa+WA#1Fmj<`D!jDf$&D`gM@vieVmkYILe;JC&lj4i>acl*_)9Q@MJtQTKuntK5f) z2{~m3x&FhCq#6`IB6zAiRi!wG#Y)J)V|E1@!TG=&*> zepJkh*!sqSb@SQ*!BE>Imidc{?p#C{A;~e{h3Sgm?9jw3~o8aIS;2X z%+Jf#v(OUo(_lfHUs+taJ_6_89*miW&)E!=Cn~aL*SqT!1f3Y+9y!sq8-lN{ZPu7= z^|(nL!YBPlPJ~Bjk@Gt5`mbGz;QS(Mz3qB5#_Mg*^B(0NyvbVA9esrhCYLM3Gf#Q{ z8eO>0Y>n>edzl!@JID9{r>$nAdkanPa`kHZBzq^)qUlzc7zg$;E78n}3fIcuy)Kn~ zILUhL3?0mZcOL=AQ6g5)f)?2NQ|g`t|GGHYY93S}EAKG@#zAnX6gTV5lle4(S*Ae;43}vB z3uP}C@=Z(q`$`u43;>lN-}>2+PgNnZehtw^la9SquA*#kALWo~*$ZD5VdAhWV2wF+l_9 z?we)JldV-b8OE80#RrD|p}~CsN5Q#>vE-b}-ngpr7^*tp0=bpaRB)ZA*vMjQumkYG zBXvy$AIG-rm5~vd0Pj-b9vg8DVq{&H329CVhOl{|v=h$95+k;aJ3=AO5brb?n9p1i z3kqh2gCJmN*jW40!(cyRE)2^oPQ*Sg05l!OhUbV?_HT#QszJ5Z9*r(ZHdL7eJl}Dz z&5BA0o}0Qs+)l_Q`7H81*HU@WpK>Od39OU$=gISmNO-PzIvw@UwQHYP5Wz{b*&+=n z!9{i%R|>)Q5DPlHfaKXk~rvigxfP%?9q5XM79KcB6~K>2BhdQ9BvzA zt{|k`S!ck7-X7F6IBG1+UKYROZ|7iX&RDh$0fL5j?*of29)fe^Vb8DkF+}>uUJPihf+0pe@c2dj;fMgrPS=vXaaboaycy z3R-9xu1HMH0U!!ddNf9Z{Z6^LV^mk#BIpl~IX#xC`gAcqnx70Athp4Ng(0|!SI%Gs zH0QmZcrx5vtR;Cr21HmxQK*Wz0})__u=P%P+Qwc@hT@Y#%^Fd$Z(6s_ z67T!6$spl+O04|w7BtM0`>I@EK+q#$X%LczM$NyEhJP8b1M|5_)p9NSc6cDu*oD6> z!P3^EgCU@Gzv$7Jl07#am0u&rv}@j_pAH}u9h9gJ2f^iED6n)h{2KH>c6t>3q>I%-uukh9{OZrnM>4lQ9*UYLo^_6bl zay^_co$`rtP{3wZ`sK%A_M-P6s|y$i=e5rSg~HI?Z#wp2*$0SM1jJua>Mu$}k$q;q zo{Kb$hOXRARjlwGltYw$z~G;XC6{pV3Bkq!Nd&=8BAP@ioN3=-B6dTMq9iJD?%glS z#f;=$W<_}4Gnh4RG)0c%CT{Nrz0y5hR~xuviX6tGYvtSAkx-~jO&h_6T;h0;1$I=+*i46q)jJ?{SjOd((8 z$v6|(?%cR)*a+HvLt_`~8-G&KP!4wTw8&+xgempWusW&~=S}_P0ecjI8D*fuW~5Pb zh_lvxFF!S7J&x57sN9-hFbrhE&S0Y1+$2!an@5`BSZxc#k$C9#=swuzrC=Bolqpt1 zJHGtQUx4l$Obh``@9In6w7fU#YWG7?&$}He{s>w7gZJ6&rhApzM5JkbHW?CYJM}Z& zL{w8^fBVSxVtj#5X|z(biCiI&nvuT}9c*ZPK{h@$C628p{p5eXj>_&joi==UXua-1 zlnUI>nrY-c`HfOW)1+_3LH{zMDD9BIwyZaE;Y4cV{LhvST?$cQ-BV(;^Io4t1gzKs zA&}&bt|SMQQJFVeL-s}A)CW~+k+6xnS}e0#9}fGRU^7$qXBLSV5gNRM@0B4a(W`ZpmV6*mVvkb2`>Z;t zDLPv?}F{#jCKURw^SOL=*50Pgbu_EJ~*McvVR$VZM3XN$1r=3QXgg ze*KVNSM_v>IaoKWA&%Q$=`^|EyU%j!P@yK+GHjT&YBC-8>k=uj9?$3070t-C7zxlf zc&i>pVCtZ?We-n1ZrfrB`d~09^|KY3csxU36;hlk4#NqIO}=XMP}`{rt9`~LL>??IAV)$1sWV7Z!jP%ffH7vo!#X5XkUV$KZ=N7Mt_UmP#_-HGVmcC0 zlkOri^l(6;`rbp#hvMJcKc?gO2jyPZ+A1h?kIcmn^b?XY$9wuyMu~&4Cy3HUO0~ZZ z>t*7E>be#&H#%XWvTu0x*KtbLJC?@V9qsBuvq_LTs>ZIH=pDxv2DF#`&NmxPh*nMU zoM6=Ci2i11lreulYrlZHREneJuS9q8MeQ)CR6cx@?3T>D9=xI>Ifvk2V&-87q9G>| zKKcTPmIV^ITT;sMwqYHvT?z!r7g>&Cv{UXFF7oBNN}+<1$z^orS?#S54P|lGCv*FJ z$bmf~N7T72KJDcCC!c)a`Di^7phpKV`PR$p`k{WbP!Ky=ql~uhgRjR&d*au#9&DU_ zxO81)Gj1#GRIEJAO?_jEU5#Lc{OB2y9VK`6j+j&{+Nj4WObSWb_8!b0*<55$)>S%m zM}yqk+^_`7?tsHXi^S7z@c|&ez7u#G7P2b5kEHL|b$B9FpvaAQ0cw}~)9Z%;xy$xh z`UV36O~ej?^TuOid2bs0L+Hi^!zWpxywR2JE9FoAvNq65{K6}}k%8=GS0n*xK*sp!e+)Hi^Kx?47_x4gq!+`Du^zqap_EoBgh4 zD^cA!1G;h`(R{4}zxzQ%Za|sO2xl}F(FyEA;)A8@I6c62ylWJrcreGD18)T_m=e(y zUi*v8Yyj}DOH`4vn2xwkWbc+2G=^@0MXGpZo*L^snXpNHuUcQ_rxr@WTYqsud8&7q z%6ThIOvcGRZYIaf&|V;xz)XlA#MK6e=7huFleFw}g(e0SN?D!Nv!l#IGk=H)X4k|_Gq?TtrkpE}w0GnBW`PFrDq12M% z)K|&dQ7mo?%Oo7mtVD)E1=jj=49chda{h3%-7^=h!*ZhvKsfs@6<{r)Xm3K7SYXD#<=Zk@3>c&TXaLf$sn?_wuT&!Ae{UH-y>HgOS z0#@^9G(lJ0n;Qj3T2Ev5ETGwU6_h?>ZFG+518bdSRWa|3qNEhClw<3^STXnAEdUYa z8`a`R(3A>ipkA(BJG~+9PP{G9c4NmQzhQyTNbSr@ggV;je$n!GS(210EMKBzPVw_3 z1;NG=8S$fm^~CPi z%#mhC@$5=7myH#GTGMmYJ8aMXb!uSwC{g)vQibHA)`me@Jg;3}i2z%B*x-zQ7)7Vt zo+(@?RZt#EvNr&K$QsS?$+t$T2Xa8lfd|IqTGR!*uEN0Ied%vWN)r zQPurI^TYex<>=2g*569F)slAI4|nC|xOZ{4_?zF!y#%sAJ`3fy>xNmU(bb6D9_PV( zofj*ThD~)mH3a$~ZSBJ)m=|#a-v80O(;;gg?nECHrGXfD*>SVj;WtkW!zx;HVadfM zvh>%*&|a*+Li8)d*k;&v)-0oC`Q!&p(Y3pA+xc07iu%SaBiGmTHCAYJ&&%f_KSj?I zpENnc+6Ao(qsS+Sv#)c?eX&=D+J5r$isfy7-e%5lO|)lB2UPShI8!la+T;?sLoO)eCso!8y0aV9@a%s%t^lRJe3>wj2NN*OL>URS@NWz*J8X$zJrCF8-dau09^e6 z1wI2PFpI%J%Kr?{D;`o&k$*hYpkjG6+5witow@H^CZ5*SV)TQK01lAtR^rn#1=j#S0QHH5 z)`%n4yiPqGx9&b$p3X^A7xmnC0s$A=i)GQ6A8C4b+t&{hulHH4X}{-vL5L@}QndJ%Wu%|EOMAWyf&t z#z-P`#wA9OzVu`lv75x|h_atM#)6-QYexkEqFj*Il*g^Tuyyt=&VOb{PBO=0%pQD-qtYOHL05s3hQo5?9^< zxPNK6V7ciuG3q{+X3SlL^|@k=a{PHv+3BuN+NFj|2BOwH zyu;PTrgX(hixrjQ*KHi>H%zu{;oOJ-2X)aa^Z8c)XU&Wmm!guPHidjU-{-)=O)&m)!D8v>TWCd^Q)_qCpsBP)QDkeG3$JJA zTQ=ikg-7CZ?C1BTu@zI35 zP^Z1h!z_@VatUTWZu;M9m7|LHLtoR>YEQvk5|{!s$%r)+j?23kwjsDK(gsqltdR5# zf1S122O`@MciifbIghm3+@ol+P4$>cYA!~ygZJ6%X1wk>O^te6j`(pN0c-b8nGexz zcjldLgB*50kqo__H+;xs&kI>1zQfl`P?yO)>3q>)_bCBXw zc4A7NZqiK6?le8xijTv$x}kSnYoZy!_YlO1Kpi^S-%=5NCbyjP1i&aSvqI)Z0p@6E zk|#qyg&Hkhu()*O?I+7n=E90h$NLl{6cUd;fjbLr_FsaHz^MBWsu;HE`H;0#b?0Y^ zH)be^`_rO}JZR;y0x%-X(^|56WT@Uv)Xp;bzTJBsma|4|P{0(sG^^;1IJ#NlE@Mxm zaguuSq>L8N{J0>z7gaOtEwN`>f-2Lt_nl&BG}fK;SSjIf(K1>gVxVUB`9?0L7S$!e z9Ay9n_7`nJnh5?(%<~rF0)i(c#juapZZ`Y02SHq;Zl%K8xsPnm3fL3j7=bLxE&fS7 z%&h}nzpx3o3+YQWYM6C`FXSruEI)kyp(Fu5oSR*~^Zsbd5ug!D-ywMxk{>Sv#Tb_ySgDq!yAURBh<~!e$6dhPtDEJ_}r~huBia% zJsK|{sOPEN%N+=1gC1}U^v+11OdbtQ{9H2DQUFxclsC>-s80&!8|T|pd!bfG-`jLZ zw-%cJEaMRYO8#50!1Af~`#10IHY~dEo?8<6D1qp?wwCl8Jx6LmO84hZ%DcZ;#&r=-+>isS}p7FV#4(>!bEcp;Zr)#Z&E|f!C>WNxBr_bN{ z{QDWhqPNQ~g413}KXmYumOFs9PA=j Date: Thu, 19 Sep 2019 00:25:00 -0400 Subject: [PATCH 12/12] pic --- Project2-Character-Recognition/README.md | 2 +- Project2-Character-Recognition/img/epi2.png | Bin 0 -> 54220 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 Project2-Character-Recognition/img/epi2.png diff --git a/Project2-Character-Recognition/README.md b/Project2-Character-Recognition/README.md index a787510..f70e60a 100644 --- a/Project2-Character-Recognition/README.md +++ b/Project2-Character-Recognition/README.md @@ -67,7 +67,7 @@ CUDA Character Recognition ## Analysis -![](img/epi.png) +![](img/epi2.png) As shown in the graph, when we increase the hidden layer size, sometimes the episode goes down, sometimes increase, there is no obvious stable tendency for my network. diff --git a/Project2-Character-Recognition/img/epi2.png b/Project2-Character-Recognition/img/epi2.png new file mode 100644 index 0000000000000000000000000000000000000000..09faa121230d5494a2f151f8b88b30e91d1b9154 GIT binary patch literal 54220 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

@}8afqp zA!wxCsN^Ep)Il7rKeeLmxG-F+YrI6;!u5N8vf+Ns{xeGgQuQ|1e(qbYr5`3IEM_T- z?F&>2B6*Y~kFZP+Ep>>jweZnW#v{Jd#w%02#U~CImZli zdxaqDPR>8;-ZXhiZALu-cD27u2xbGA{yrDG)L_yb{VM6^%TEKR0yKmCz2tBLS1z9G z85o$8W@Wg)3QH#q@fBnU)RQOE5iwqk4VN6Mk_F(zV@DTAQ%HO5Dp%KqDVRD3+^jXP zi{U?rfr!I$Gv^RX#b(->sQv&gUUHXx_N?EoV;0EP-4E%+prIOysBbh%qR z#Kv1&U#12|+Z;eia{_H`xx|BTlJ{A)DItM~6&Kc~5)7CYfiz`j|Avy>x~UY0^%V5P zcN1Gm=NWW5y9|M_Bx@Z>Jz7nSG(2oK(wZ7EmeCf%DyNc2iwEP$bnGR`uMc0|FN$Qb)wAgui?f>A9SpF_K{wQvoJCF?J(mB?k}H zezSK!WWf#$g*?i5LLe$CLfk*}&DQ!46ovZL-K$U2Stxti(*BpU$1lemv(^t=+!oR}_% zxcV$MHZ1X;_d`ALIG>5RX-}<^GlW&#UmqKc3*j_04lAL4Yhgr6XA(qua7OT*9fY z3j4LSdN(lzS16P^yPV+;lSO-k14?=}CPIpxj8+_Rl-vRi+(D%yYLDW)fXAM}pU1(m zN~N$Ta#>=4`*-Y8{F<)W?eb3^iCCM6QYPYI)a{a}^7Gsq=^wyf?{U@MuOf`x&jiO( zv)k}9c2&EMq%5)?7*Wa+A%s~1YMxS>y@x_2cs{PGu;Q@k>z{Q6uX+&bZd>dmk^wauGc3D59Ryqwu zHkh1WCT||PDG4zq%m5|EBi_N9o+FF4<8QdbF|-V@)eNd?I8&Cxq8>{R^n^0wxLyh8?NAkMZ1A3+v_;+R8#$dH zyEVQZ5<3loc3%$}QB~LMjKNwOQ~(=_ea{}r>w!RSiRG=!JbsoI{aW4D%%1f1zg%>^ z)wN_fsg~VJC6w-R?2&kSDx~F*jh!y{|=#E zux-?apxCnZYo(vU%vDr|LfqULJw`e|!7&|In}fua{}j=gbWi-`Q2@_M4aC_o2-# z*d3gu`kmR~JYvSqZqfP2!uukwa$xx^wrMH4#!D$>{0@v(19WTOQs!(g@@ literal 0 HcmV?d00001 diff --git a/Project2-Stream-Compaction/img/scan.png b/Project2-Stream-Compaction/img/scan.png new file mode 100644 index 0000000000000000000000000000000000000000..92697b787030f71bdcb6e02f5138fee7cfb33c58 GIT binary patch literal 26482 zcmeFZc{tSj|36Hn(4x?3MP$gHND-!mFk{KsiWnzJ_N--@QR-AwmSK=>vWzukk78Ps zhBOS55Q?$PAPj>UGu*FHopV0-@BaR->%Oo1_q%?7e9v{&8Jc;&p0DTfcs*aw$MZQ+ z=gf_^3hx!>8JfP@WTeTQ)Z|5 z_{w89bN&9{7S>DE{Z<>-N zAIDd!=W6^g$jrDr^YG;bjfuY`1;5;WdHc_jpg)e7ddf|{e|Y`!-N}cu8}?`^$G9ZM z44INmBTvL_$uQwFI&Oac68;{o?d;RPygsjcaD2d4+;HH-S*Od=n=ceB=rd8ii!^$G zFU5hG88$(hme-@NG&%%*Y9QH-buDLx7XNVKiOa|LjL#Uo_QH8b9B1vtE13f8*M9ZjCUw)=i$C~@B5N;{*I}gAUYy?`3p51&dnWjQ@PkZ`uzLFX9PVU)sMa$w zjQ0$SiI(YJ*uT@TbgE7<`eI*zwRm04SivEGZ;~b7Gm@;)+m!>EwKDRG9L6oA{!DAL zCfsCPWH4DRr5Acq55jVN!=W zSUqU8rSAqIZB^%ZS%Tx_&@!dCxxr-5N%87N_efek* z5whGzU3iqpj=n@F@kdE75Fjbn9kk6OI5@0W_xyO%)5*GEPGcU zs!!J1oMjj{W8dRqY6EriOmanMzOGoNMkCE=$B*C;1pmIXo{E`|8c_F*@UV$uTta$5Cmlq@VM4jM$e@? zk;Q>tqcx8{TkC3Acx~&$<_+1Uo>MwMcot${ZZ%tMrejeQQAm|B&qeZCxnXj$x(r;! z*m+HIj#+ATI#Sw}SO&bdA2w&+I9d}$PUQ5;D%CcXJ-}|XVMB=) zPNPCZi(@_7=f+wwW3RN#-j!)R#@Rpl&>)Hb6_{tDq7)k*5`JWE7GTjDR3>U3w6C~5 z{F6{Jb)V{%^6^9@%csJBM=9sxAp!j8BbCuO4%Ia?j#H)N_(Z|cqc=}si6Zw-ypN$l zR=ZiKLF_npDcfW7mOyuC$>U^Lrt%_ivI%`Fp?J=ggb*V}XX$*)S>j)U?jGo#n!VGQ%cX`77+TFJIm&(=v5|5YMpwJ1*>%Wp*QMwr?B5EJQ!IW&>c3X7a}PXR zJh6Ax+pzkMjC_$Ox1>7%z8zL4eWQd&sH%g8Zz0>2)q@LNWRckBKP-{`|Mi%n|iRDpjA~@A_NG`8cwy1HYY5nz31%+P(m7VwnQ= zAXqswLt%OAy@0%8Na&LS{W`CYksLVt7)3 zsrcbtPZKy)yi1{i0FyQg@q-L=>U=wIz}JUm7zOkhTovX4iI>@Ii_Fi+P`A8Lkz>;D zk+Rd6+W7X>x`!C0`FJrKA;RY$(qW3K0BZyA*1I{zH4@S0@qc65-*Remz=s6w0AO zE>FiX#^`z_v+#M}A2*cn3hZigI?|q@SouDc^+f%u-C+d2xQ#XqhkRYeY24-31m{!< zA6N`c%=>27oqJ_p)PgvtMS*$6!48%CuW%^A+6`5z9x#?-7QT|MHM{dOu)U3Bq5V~@ zO-8Ay$h6!QJVYK!dp=jxb=;=Uar))76AaHMP7A zorX*oh0Lgh>wd6S) z^WW=Y#IWY!?l*h8>NiOnz)^-gf2Z2e&C)bkW4%#vy|Lifxq+7_sAgZLUb09fpYK0= zAgeJOgy}LYmhg3=BQ?^^ar7C+f@zB9{kk}vY*?DEdA5&t3Jm zuv#>cVc$H-cNR?j{3_KHUK7ajtx9kSK<->b*u1!mQb?Bda7gn@uh5py= z!B=u%J9@w9&QV7GPm zz;$otQfI6b=Z_6&*7;pv6-f@G@)P*XHd(0NpO=s#Ys-`?Tw9uvLO-vc*Gsmog$9N( zIh#pRoZy~s$+0!B#7U|f2%M^rjeM@stUZEa%kQ>(@#4e#*4xgA*}$O5&gP=G(gX+7#)zq?<(iMCF4{x`A=#aqt`iKB5aRT0T+xM&u`a8i`|Nppx0c3hUI;pO4(Of z&$Ql?Km1OEL%-du!FT^2RernN0!pxk7h@LRo;2SZ3>qzE(;u%m4h=W?KL37~eruED z@g;YSrI9(fa=!+LG0fb;cS)KhbT=x)xpgy|H7<7i(1ogIic-`?QKMMN5_6nBYR2l= zOzT+k`69Qak^C|@zU}LY7SbtSglg)6neT4crns-FIjT7Qnh@A;)-4)Y_pKWAjNba2 zf5vgd??&~nMKqK)+{8Q?Rd*YyFSD)_5^@)bmeE~*b0v=B#V;4Uc7I~W>ziL(#VIX~ z96WN^F%m2$PuAd@Im4(lO!boZX{quArjw{6SB|~ zH-9gtxF>yLxM{Z4sPI)_Y3BE290F+bm@ztdgV>9;`xv+V?ZMH7<9-~5rOx4uG~ULl z-1wgD!Qdp`HvL!wDO{bN`F=vU*TKUX3Ef8tx~{V@6euTnWDnou8HNVp@2%^ZUrcS`ZK}C+eP20Vnf}P>!e(Bn~FqyamnL4R_Yr3A95xue<)dqAXPG)<4?m8g8;VU4VE~4h;BS zJjMJq@B|Gx5?_)ak#xuTr)b4ep*QYG%9q|V8P5`R0V;W@epsTCr-_G|{K`TYoY0$J znvx1jU&^{JwYPt`DR#d$LT|Q7Y!md+dhkfwwe|JZpBDz}|MheIGW4Mf*5m@Jr3rQS z@$jWhnDe)g==Y<0(5yW#-1q|SQQd|PmoM|~)f5rz)}rupu6GpWze1KqToiB7 z&hz}sYIcirX&mR{hF{LZ8GpSa^yVE&*{n^lNns8{9seqD3(xWjAsY`H8KbZKZTTtMmh`$I}0U5^Dv}tQ3Fe`pvveBJpQA1_A@>9u-aTY2~SV7l|)Vm`FPP zOWmy&?Blc7xhpTC*WB)-!r}hAJY}0_@|*6!-~|5msYK=8;U){*qg942*k<#qs$AaN zV!+#gO$2_~gy(t%jMud*3l0(o)7N*3^7Nq{w(+olG5U`!zuXu-|4mTu0(MdH{nHyr!=W{MA}w(Gj#E=p zC0JdDbs&--xOL;6>rW&I5k9?D-+0*E811a`%et(d`Qx*m(=Tdzmst&Lp)de(ZJ|Lu zuE{nez3%DgKJnLTP)FSt^!LRx6MQl1H)*FB>-T|JRqs-Bq}*8OaT8fcf$m3g&sC%V zuo}6;fRU#q*>BEVASBs4-A1CdLKZTnS)V+n4VSQQz}gbV=qF-eZ8kfo+wrx+&yZIlj%r|DABXb5fU3^2NTCdtgvqDB?|#fjrDl0%zDl!tp{6Pl4kMm0#DFl zQC_CrLheVR&bd3&v9hcBOHm?D-?|$X2g05;R{*)SNluK-YK03cI_QyayVvhNCJX%r z+_hPUpuf@+i~P20L}d9|c#x4DG1cjDpc=)-ZfY>ikNP2={@1Qg$>ORzfhmcVcAPGy znPUEbt=!A0D285q_vPMj@d*-PCfrdpWv*pjLp~yJVS;y9hpFu1Fgo8=HXQqw{2J_e zE7-FJkhp${8L;|&%!BZp{&sd`#4}>0nod0^Uwp!1@IpVk$Dz2EGwM*3Bc*2_Rxpjg zAQh!K-_s&e{<^<&&4z;v-$r~WyDnd3;k?#<7rsts3^6tmSEq!zxZE%wjV-mOjl-Z- zWHTiR2ij-s3I$dig_=f|&R1almv>pq)-8mA^m1=G5&^QD2efvWnh(bZ9xdCA-tj#d zd4iz~p7TyK!DWkc3#h+b-A-8T*ymO}ZsL)K=5kh9w<&retF=Adu(ceOAfwlphkQX! zj4gK*S&47obX zd)^>u%nkjdet{6-9Ynhx?$Dn+pRxKbi#~eY$)=yV3{C8pM|31uyAw>C2T)9b%#j*} zECm*`49XHIk_zveC?+r$SKn*nWVs(_gUS)HS_-wkxm`x$_hGLfhC=b;mjwDa=H@olC;K*KGGQ0jYk)8 zo{St4bFnmxDS)$~V>p_--uPp1btpZ=iFkvJRc@cs3w`QFl5XSb13=l79<5Yb08Lw= zkQ4w`IdW5baqHR2Y*YO6wu-_jfh)+WFgw!BLW4oQlD!UHgMMuqFy)U zndsFP&#u|4y zmEyFvW^|6YrE1bvX?0f3NFQifm+hM7(gI)R2GqWsb7HB-stm+YU3z0Q=Y`{X@5>%} zQY|||l*j2VnVpE$XO9c47`HiRQ1efabmvS#l{eXIzETai>Ub<>-`6v)318|di}ROv zmy1@Kdq6P=bdQN8+P&iQG+FFaz%l~dnDshY-zLYQta^kXT<$orV+`KP%^Z-ldJ zrYdS%=lQCW$T?e|w7^fb+NF2i4|TU|JG$D}lsvk?^(3S@Fb>8}R=TfzR>#JatImDS z3pgFhp{>?=*TcLGM0d6;s+W_->)0;K{o!+MOcE?TaXUVaGyk@fFP`&o3)j;BcG!J# zv3^?QI$JXmT%UG1*?d42%Ee|H=S1E~&!Z-@PBFv|I+%^phyEJ&wz}jZgo*6?IpK*x;s1)5E?wmcN0@5`=xNhHb9rngg)fSwee*f1{PEbSx%1+q6gt_#HA&~coH z;=fkhSsbLKp4v5O@Z9}H7NRe{py47EV!-G`3hRD6QOcQYpt$c*|FU<>%|@&?u{XwGYJ{yIjlr!PnT9#pB!XS`CK;peDs3Htt9(t7;fg|Z zCsH|q{XX}*f@R~Uv7i?Bf!h4C6Re{Lb${a$6<50AC8Lty2`lpsb!^FMoPItWL#G#$ znnRM}j>2gOGL_yGB{nA6_$2t{_@7(bik;c4*PEntzg${94q-(}2Wxr>{nW%{bWADV zQ6#)f7{BP6Xs>7Uw=Ra0OBrAM@Waojpr{K&7kay2-L7sOpNXCK%pmWidf(VXOFs1d z!rnw*Vdc&#*dw!QiKyOIW+y1M=^M&IbtJ6@WiD;479+Ob)G`Zx+SP{18nx;}WG6^5 zDK9$+g+V4aA<%^~V!$*;KP)wHBzK`IV`b13t!z1KEa@Fdb<6$f!k0H022{Xs&o7C! z*L&yW)*Q49t3$)?Q}Z2ZM0ITGQle9Qa+lptyg@`DXvaIVo7ySur3jp5LCHlaNOjw9 z3(`=TX`>8H!AHUaX}@fa0yQJ6L2C1Y$nIQPwcI^vvR2J zwVpxnxi6RTeA0{5w68TC|MIZXAYyFpz7Dv+c{!#SPhnzNU1>pzN4HrO;tqA$mc}Ar zW$Z&jE#6`!#smWel2=S};Qk9oN?6DMbo~+}orgpo?Cb#Oi9IksPkfoNv&A~(At_Ytxn5A(F)(lHt*(_)wT3c9tFTx*G1)t z3u@jbBOnEN#v~XUYelDsmnB9aGTnW;_xr9?DRiH`^V@OdQD>K5qFgq>8?B}TAS}tk zN5*$IRQ+*rtmW-fuM(9HQmLHtr?WQXZdK~=Y(#n@7dMBPl=%mlq$^v>{HLRCC!annT3@rsid`3-j#zc z^yY2an|r?JLUeU}Qftt=0RrZk>iG%-hS-_Ot6xNast+&rGFK@7@scs@hF4la)Juhb zwD&e~qi~y2jAd#9(%m@@l$hf)y*tb1Z}fh)kpdOPax+qDg_2uppMROr)sMU)rg#P? zcWSFbMCVHU{MM^Bm#*OQ&C*I+wwR&GXkA!eZx?#s!iwIqM;HdTo0oyLOF@o3zjsJw zYfshb`gxmIT7az)1N-XR4eHEpeGH`ry48_uB;HyoB>#%y@*RtgPdih%GOXDss+&eI zCBOKyqXZ~AH}}pKl#o;hLJzQnPDdnu{U({MY8Oa$KCSc#)U$B|u0X5XeL8aUH$;Dh}jv57NZidu?#4 zc4}UIUs0#B;Wrx zwc|PScA@02flR-G(IGn>NqA`s9H{ecnWGak9-wC5j53x3FHGCnB!1}1i zE&1L`eg2YT7tSvl90yT7*oB)Kl=oA=D+?XiB>6?psEwKrsQ-h8Yr8I*r^m|e&6v@Q zKZ>hI965~roesEPN`e-W)9$8~VePduDv+3%%J~6o5b=6q-cYjc2NwS3n|137=WitP zvH-gx&2P$F*_Y`+F1)U1jL9QI35%rTFsl=d21vr)PqaGqzKglWNUI3iiX*;8h6if( zhq$^J{T!4NYGJ;56q^aL2e1x0ZTj z!PY-jCFf>(x)p#}UCVcZX5l7U&E1V4_ZXmR&d-)Pf=c{3hdOU+g662Tr zB@kg@>WfQ4upeQ8Ah6zGgsaPf$?^mRX&B+Mb)P0~%P~z>hg(J1lliiNSjeT&k{$v` zvvN>ri|-9&p)w6c73QIXbw-y&%+Pl*`@^ahbuJ9yR}=mX`@3j! zhM+#eD?j`X7oxchRl$Vlv7*>=RljH$`VPB2%rs#;WPdMmx-Nu5yl;%&!gQH>JYR{? zpBO~j?Zx2Yvw5Z?8M4FU*Z7A2hl|Pk-R*CV|Mw;8U)R(BJ-5nAH5{sFo5v21gcxl3 z4sh)M&+e$N5dC2j-O2|e@T4eu6jxpoEZ+{VFxb{@xz`(5+^S4yZc!6sB?UMr{YY)NQ(w%j) zuwD$G&7_YT#oFE*Ko!)_iXF3+T6rsCXQ6kjao@}Ld}zmyd16@{ofZ5rB`t#6wiLvN zW?kJ}wL4)K`JGx!`P}vo%da(V_Ja%lhe{IE0W}$`Z<`Do&%KHljYSQY-&Q#wKv16o3@FTuwU4-u05AMW_QbR{Ge4>^WnhpwU|Clav|+kn zvUU9(q<;3g68u9V0^P>keK2nE_S(X3n{x3GwN-qw9bi|cWLg{Qk6b5YTils|C66Ma z0XqQOU>_ivfaj+6sh>SCy@|vZyqQRfu`ImPV(hcr->0gm(&2ecI$*w-8gFzCHwco7Eq^tK!t=tY?SW!vf669 zlQu91;m6E#V@{kXG$q^%n(e&A7^+9zF_$qlY1B^k3JK( z288hbnv7S{&_fo{3A|tV)@SSY)D%wYn}5H*1NOvrL-mn@eKGmxe^i^jpX}akamPiK zX9Sn6Rqu7=n(5u=W7XG%K!0xT%1v{$ju8Dau)K~5{j$(54K2cZv`iw>wqEnDeAxHo zScMJtE_)NKW<8agci(y`rMv!%3Mgcs8QHG*;9SU^7Flc6tO_Bl#lym?%gPU5mnrZz z1%Gjfx1!bNs$f02{L${xf3Ik6Z=b!>rr)@D=b8TVn|D=iCgg?7cYL;`T25YhRJi$fBsu=jPEx68XA5dVLH}Rr%8_it;;!*~@C6j-7wfbDxX94;rfv zoRs@*&nq8k)`dfg_m;kj;fe=V9@lmwE8Or9x5m&bo+D0H*}2F7-5pwRzubbgJ=Sfs z$G@ju1ydC05CPEyJG=ca`BY1UnJ? zStBYyTO1FU4=ES3k!NE5v5xb>HZo?7v0FYngcTqFCw1kGh+rg#aQ=dSQx%a&++R?aA9h4Sl zw(uCwlfI1$W5{AS+-K?0K6*kn4E}?AJFK{pl&SY+9pW=9sEyfuP3Gg1Z!n7m7-0#4 zKkm!UI`-XeBZrZ&FQIICw%aCO|2iE2B2mI6VorYL3e!_$rT6t8?E)An9?GnjE~uj3 zf});;_D#PmQB?_fyJ_%T!`$ZSr*QbUO9(po=ga%+*@ zAea8xzYGF|_A+gxM}*oir>>(;1f1U-{IG#7k92fg_|d9^b$+7{+D8E_ZHjJJR?%Ld zxlr;~maGz+UE8B(nx@lVmBoB0ThbVMj@Lk@(g8^!D|lnh@w#i8Hlgbqc? zr@Ym{y=snrK ze)!O}=kz9;lg z72wA>lKXU!^th4t?(#0geh@CQhaHDf_74G0gl`h`;O>UFyGQwGeJ-M3gu`Xb?|`!l zf1I`p`Kb=LOt^tS9(+%NCED*Hpw)p|OrA8iDPB8=;(mp}Vd;W^Q9Nj&he#f}2#!bk z&T(z*5Fm09w`doeFDrmUgYSvBEcCGU{2hp%yNSg`vWX?~T!ETmx`(?7O-vfi;)RDt zgb%0bQ8m&^jkoy9{a~u)TVnd_U=X`#Y#iSj%GsOOI4MQV==MS0NHrT>rj3d@5}J@ zT3g8U7EPQ7zr2N1!9p_aicf6US1Vq{L+n+$ioTcb8Rp5S3HK}Iyu#)v@HXbM)wG$1 zz`Tt;1zgr2_sqj}_~`}(V%g>obxzR@>K>3Wn>oNZE*vd4C}P1Hv|64=rw&lCl=>shnq!e_Co=Q zGM|#3h6L0}D-hLrtIjN~?;TTRI5geE+MRgO0(gm0tj1@TM?tG+!J}xM`Na(l4b>Po zD*-}y;_ifi1^Bgx{2!$N1jH1`o<=^+SNqZ#O*g~6EYx9rAkt}s8*JwX!ByEy?Yksf zGWpB`w08_8$6f@XAZUfW-?Nida$st_Bj-Yy>Wj$=dfiw}MC=(MK-YJra0Vh~8Xn9% z0OSj3s^pvh)-#4H(O)ow;KZWZ4jEDS8V^l|H^QFob(CD&l$3F{*)ECW8R+1zq z)umvpqusBvE=1={hj&~j6o|V?^cwM})^JN!xwRGOw(6G~37jo^5(bxj?S^L!TN%8i z^ubbFaxd8XFQM)gJ3zxcnJjrI632P?;?q}~P20%(VhQEFVYGMhZ(jVUpKzXFiPE|e z>+W4q_*8BoRjki!#??O&H(Gg&toQwHHn^C#`6VKIi8IG-70CzvA>$fyNWVTM)!hkj z22XLOyMW@Ht8|JEoKh+T;c1QumPvGCb(UQWoN*3hdeUAe#U~AYP*Zx>A&jPXXCZa1 zryN5E%EG1_7N7j(3JCG~7-B<2J^6LY#R{GkJ0q!^o*XE`+qp+c>ZN6FAOY6PsgX=K zFlOB*sja)W8SdwgZlJm$5mVep4fGH32PvD?CKnz^G=t=kc0>-j{Jwjrn;$%BnAa(@ z`Ou9I8G@cAk@tKFLwyPn##iSiW(KuQzr{H(Ub-CA>=e`-bz)o11|W#mBcdJGx2&iP z{VD`_<@?sl2~sb-bg%#2LVtie4y#LeLPI_cyk_W<#!JtAL3-X@nm9)cT!xv{wbh7& z%zR*P;TjvaDN3Ez`LLOqOwzaE673pe&dH-jiU*G$_kVw8@?*In{T8T$`wj@F7682p zGACBtiW;srFgPaD{Sn2zVS^%eVe%_x)r+31jlC~^Y$|TBSRt@baK(1D9itc0kkA<} zWx%(jhB)PbaACsh$5Q9eT=I2WpxMUW<#r43>4@sy8vg0O{@GZwF9a;RCpM&zxk48IQ{z zwG}X*(1}KlFDBM<~kmmS-GhE zd#{4OTMe#E1MvY7D!^k!uS{Qv19h%%w|GrUKRbZ_mnb57%N1P6=wndhFVkNt!;&G7A(-x1V1+ccAZ70@0sY73EL?HOG5rdDJNz| zCv;&o9XIBMRPfJqsNQA5UGe7zVq@^05%X_C9C65DbeZ~tUgCq(Y3Mx6Js4scTq%vYJdRJ$o$O=&#mvy`Y+4mvKANpJ#=eg+>n$`A zC6eBGoT$l-l0aso2kX$;U0SM4dmqA~688OEGzk>rV9oc}5xdqG!VeQ3Y5P#l$}+=R zn4LCfI3BPS$A#X_eUBX&8kfzx*BN%=^2EQ9Ms|13#>w5+_D;p!{V`}$94vER_{z?6 z4(%mM+a$fDs-=%60P4|aTsXBC8^|=ZyLm^~EFpUodz9zlT@g>eev3J$^WF1JhcM23 zgZ(?0-R1dZF#KT8++oN?2cWiK&HdfCyDBv=XaLbMNZ~isM=?q!&4@Xw9b5R^6J&OQ z8$(7S%xqOw;z1oMNAnL*7tg(gU%`F4z>uj$7I}a4E9M?79JBzmqu~-IF-C7HEp(@P zcS&zlHrk?2zgJv6KOgOhJkdDs+ndyD`wi!r^T5{I00E2x^@c&MbTSja;+>w(`HZhP zR(l+bEO1`nkxbA&nB)3o)u^ptSb-YbOBs~8hdBtpsjSWbR=B^iz2~)_b?UXQnp~km zR%rcDeneWCkq5;{{2hlZ>y1`;5(h23w}bzbT?zX^HhLNq8>?uS%f5BK>|6yM>i~}| zyEHbx7gwgGw0c|FyUfBNXL{`_X7LeI*Y`%Wp%C7lF%DBwCS0^Xx5~W$X{Mn447D@8 zclF?Cz0C>Bu4#pCqcl)%rPWM~J`2p8W8*xkBV?J&L}sVl3o`Zv1{)*ahHUG`XDwg1 zi9=exe%g<`bPLsO0GbLmLNq)or;5@_*;ii#2_g0YJB^FPO8{0?DKgERO%p1+e4xey z8hr_EB5c|zmNI6rhc_`|qSN8s`r;(PK%GRM)sj887Ze%s#m;*JXxLL0hY2OxKGnX! znSca&S?Hs#QO`k@^Rs!=4aaIRLvE%&DzGC?TaT&5)V1l&>|VA0Z8TN#*No+cM7eJh z`qS;)7gwtzHtcx)6jn5kR@N>zFt*#P<@f2{-NgNZFEH^5-kk>1Bco})jo%t~RaYu} zsl9BlswiE4Pi;J)3UyZwb~@2HWfP{ib9&M#O_Uf5x$h0}uIblV?FCSntABEhm3?KE z&{pqFhIjGiN{YCL=!>ZnId^pBTa3*pW!A!f{3J?$bbfHef6044Y1i$HP7CI*E$bir1ku~#Kyv}epnY^!N_U4)VYAc#9ch%LNpFottmcaHW^TsAbKREN|ojA zGbq=9R9ld&V`!|SLofSW6S35JJtntXK%i~k6>nzQ9os1*OF}oG1F71UXFZD0_=<$| zmVKW~QqS^Stf^A-{Gd%;n)^p|(AJn5?dFn&N4aRVIyAe$;;@3RrfRi?PT7SMI|BNP zGJqZuCvsw6287z@QTErufFGi27B;@ zY=}aKiN&=EThoI)Odh%rs;qFIY$GUOx^Th-s@7jt`np4F>^Y?o$PDSWkYWnSO?jN} z6!Db*x23L|TZru^zP}o3XxVHxw|m}$Vh#eQg{fgp8~fBSke9WbX1i>3STm*C*u zG(_CnE#i@J%Vv4AvV39?Ft*K8eLdezF+4z}=hm@l|{SLm^>^w)IQS4$XnEcRIA z#9Z&>jV6b5B}TTB0bN_%2sRVO+f4K0@D40abIIB{&Phlyqg zFYW&Z2jFsLvUH@%=%H)1@>^5yCKZ?Vg5%f%>_;(!wEVU5c;IRtNEq6WrBusiKhT0~ zJd=Q{y4;pirQ+#gg{g_U66SqAqR$u|NNIyjeTEeBlEV%u$O#@pT5fs3d6i_=t`+5J zlgF}8{2LMs7#gPTHxCEmeG}GkMGbY~x4XVhp=;YEx{3U=I4BcM{EC$ z48_R35jFkwC;OdZ|H)!d)W@CJ19?#v0lIm1d-2i$5LW>pCICPr&r-%`|6#i z2Aw~bvI7BCl|~)YT^Oh@Dj{jk(w2KtL9&Wil@8#w#Rxf(n;Lwo->DjUy2>qv{)1sW zfeRxnnwRT>DQ-VH7PQZ0NFmsg(ZL8_j|D|+hSQ}_2alFm){?9FV4^sq1-?LFv z_IOU<{u&99q{H;3mIhUPb9bCT6J-T}f_!(Zk&9V)u1(sGd7&!}#K`_(%!|RxR~b16 zkWtNf+`iqZoEwri;*vINCE$#y_t^JM!#9AN3iDPR=$WFpR%___EjWIk$hKLw6rWR) zCq*4WSTTzWtCTOxH1qIuudKJd^k>f+#~)0=lHM5E`G(-Fqj>MO|IoGf@J^ydSY2-Q zv3#oA$EesUk7Mh64|@{tvh5BG{$)mNZKoQYXONS^zfiVAHqdq!XAv#f8*0rKDYvc;{`f({dxx&Rg7j~d1I9Bt^+;;-Gn;t zY;geiqmKow_FjkGO)YEH*p~oVw-NCD3|VMj>M#Io1OW%Ug9;{9LDF%t)`OQ7kFduN zlF~B=Dxa(RnfIl^d-}eJNx4&kHw-v`78RJ@DeywHW6RP(3{JDKU90|0qTDe+TJ~XT zM#Dh=h9Jbr<87}6G#`^w6|r1PGu)80^dYwE_8|~^g(4{+uZ=5t2urne1OeXtJ#CF9pxzO;aOPNHeY87{{yb)h^1Ut7@ z`j|znyE1wtCQI`gc?phe4XOB7UY;jN&?5Fewqhi(r9(yoxu0q%>bcbSF>2gmT&IiI zhZM)^9VQ^V;#Mi>Wop(SBK$p6hqm++iUA6I+j=EvI)?otl+yf6?TeSwBS6I(%oVlh zj7YkHaZABvQHmMD{}LB8GbAkqcF3t6$c61|i;ZeA}KDnq2z(MAO{An5`I=$w5PZ19MoH3Da<`|P@UH2q> zAGjuEfL~$3uXdol5rbU+-}o39kIGYRX`^`$+mO|@0za1aM&+WBb?Dwibg3#?eNSD4 z9mrc=iG8%cHu%z?jJ-G{j^*qQjqUwZT54=d&r>?AosE&oBIPwsR>If>v>VYpikc4} z!bVfwHgrWi1eU_s+6EqhuiqeW-aczj1!AP5h;%5L?Ya`UgGl-doih2Q1uKmu7l9m) z6h9#kW0*_!6qV=B7TVAnm9iusy(=qlZk*p=>!F5Wb4S?jR*A@ouIq&K-*-I6%ecY^ zpWA3)_FMUAf|s|{(JOXSh6n;-?S_Hebu=OQt5#aqS74Uqvxnb1|M7k^FDy5Juna)7 z8-UpoFo*Nsb%dXjGXGx`!3OQ#^qYTVsj^$_2!7Y75AS_>?DF8htgkE!9JY}=A^Kky zXuyoOVuFOwe^udm4Q5iY#F#swnBKfnC)$)!e-(MLWd1I8We)39gYa2Cur`zj>NOHK z{s5)5>^Ef{yw3PvUtwYFKSeU*d$xCC)9UHXYqa&+R2y%AF0Ao}#o7Q}5Gb_TCO3|e z=@rPvr#kG897-Q_Zh>9BX=VNvomY2Vyr8%=vWXO4#lo+G)Yqjs#zx*EQ+G+I{-)d7 z#1a3bBnHQqiCXEQe=mbxT%)1aXdxdq)r?{zUs|-SVfkFp$fnY#JZh@wI%nWSk%%5A ziw>v~iWNyO=-Jp2FuHJKbUk4~x}9S5&mJ!$ySlfwQm#=cot@imU|CI zATyQx>Y0_bpCRV=2CqMFOg;rU;me)k{fuJ|TUZWNty`0Ig?z$h|SDLqs}rHoPKaAkfiY8Ck|qd zqYy!`3T%39WRC9z7|Y@>xNHJBq4+0)7y}Em?#+Edfu+xfHIz;zISqlr-pt2)ESvht znY;UZ3M6lQyLB7)WHZmUztnu;xV`sh#RgkkwQvdLY6(o~Dn+r{wz%4(gyLCp$@6F! z@msQ#?%bcQ_ePUT3-D-KbQ%kPq}~iI@i#f&E}%Qd8=Twhya;&DKl+oOyn^v3{jfXt z3ctKd{3Z>(QOS>t+9up3{!C>Lhv!g<)D$EPU7si+dX@EBV{OuqFIa>q^4wA=2Igmt z$szAo@&o(Hyonc;#4^T-=M|?q5-O6w2pxF4Eie!D0gE|wz41AZ;4F#wJZ*C&e~O*d zp~4?&_0Qw(WKZjNwDsAeK3~r+Xfhd$&rW+;4J(;8?rR6?U8at8DYCvwb1v_B0^2?MgCGn$)}8zfx|Tt1~L^3$DeCAyvh_DUW0@t<3&Yzu% zmjY>Y?^T74^8CdTr4!bX?ymPTkLdhc1t%@$#g(w%3-%jX)FMJ+GJ{|jJX zqAh0oM=*kUv;PcZ{WI5jGZy=OIQBTW$$)2_MS&@h1xBtX|bz9v!!% zo!m?cKi~7`4;l(4m%r3>CNe~7X$|1{{zBU{AHHk+08)!8ZE-;wwYE7y0kyzH)%M3C zJel^zU)rWkF6?z#@O*mfk4)C?IWZBTzg2(J9IW=k>KypX;hCs>Kk3P|Nx7)Jo>t0{ z`u^pk)oTLp$-qd0L4$dHr5r2FW!FGhCM>aI$KPJTce^9uDUe;>p-|K4R8i&){MvC~ zpuC)!h))KU+%jzep6srEiaDK~EO5%X-ea`3jL(N*JKSG1x(5EE!;|XPrMc7kmQe{H znul_y&w^LE)21EMPn%5oRO=q9_Lf05fM*%m-3){n+ugaV-w^9OunEmeK&1G-2my~5 zZm^{@r&zpKjXpDA=n)R z4*u$YU~qVPJz?!=;Cl!_sXqVAslp$#Ksf>>^_vV%J&n8o;3n?H<%WAj={KCybWo8_U7WDDUj%b3Oue+>#8o;A*DW&D&eX{0Zz_!4_Db z>f`R03r8tuV)gGJw}DeLlC`=NvD)0bSqW%rnS4YCh-inQx;yOY{|W{`d3grk;mtg} z3N6u{cz?ab0KhHegndWtv`Ghy;FI3nvih}0{OWf*N!__}qMD-$@b1y%Z*&^UiX-|J zG*a-bX(~lexCrR?Kr0Bba0S82BRT?r1yu-8@T2d$szOn_js zAc-(#tg~W=^&9QvBRafpAOHt^58eT289A=lY8hhA)>BX%ET1;9ykHSEZ4yOYS)MNY z@pA4{fKK4}xu8Dp+Kgq^((LdihXofOw26=Gclh=~b{3m&i!6zTuRQAIXc)9IV&~&7vz*BHi(I*BrmM|Qm ztcd$wQqc7b)ckmdSKO~5;Mz1qvHCIuG;LZPf1fx$?l)q4*3DuXC<+4GfsE`EaIAy1 z?rk35^$G**!YB9!C^Am*FeTYA4`N<7ZL%l2*Xmk6`dvMCR6VKt;cKALw8sqfD;D>y z_hjfb_0owVs&YY@>1F~;LF_Y zVNily!{jcc?chP_(gwhuMJksZhOTm|B-LJ;5jJF&xRo}ilztjlj4R!UM@A|U0x8CJ zv4J~H>=Ja5RZlO&&<#rwD8H#%OriFYz~NoI@8=7C=;Pn5*su;>QsK#TDqga0>n>`v zU94{LJ$54>oZJnzPh823QY@;Gs$kU*Fk*bWWb9NGG8B>KW7@0{qkbmJ{0IEni|~#L z$OAd=)ms+f&Y!`BMTobV_-sDwMTdeW_x{D)+*3&={8QhhbS`eX!0Xp?y7A{ri?`92 z?<0H1ii%6$XvCC1IuB5$X&!#9~79Uplxx7qn2@4E<1w_}yvZR+=2 zc6_pLu}Ew&*Ia%!m82fQ)Va3>1_GNZ?105w5GWc4O z@7ZR#WX@H}Wud>n=}%jccTKY5%?D3xRT^2RO!HPkkzi%#!4%@3yh~LrxKzc5@-9^a z^#*6LbeWMN-5cc|r{=eEg)1aoZbqynm9$M{| zNktT72!p7|tTqBFQxXFLu~8u65fy?&NVNjbEV~c?> z2nmWU7zhxMFee1g+6ms%UAL<5pZn+By8KG*+6il|z1O$Cy}svtH)hVn&s&nQJOb+y z)Wm|tiV$naXx%H-_9jdtx8(-_v4IQgVDbivs$7S4^g**-~IXJkD`J)FNeun6L zU<&Z7NfRVk2Dxv*_yb4r%$Ewc69gfJuG6iG;)0=(~(NE8i>P-0bhH1O9xWOy^zWCvF zOWqOUKu1?J_bXD=X%~H70FVJsFFZ1Wp$ufEIg*L*yIQ*Ens^0WWqwO}VW;`ao`)J8 z;4BXb$1c`!Mui|gzvV6pZZ}j-WS^9EUurb<;nm7H50ig#e@OFDIL4-TDWk~{OW z!sXve%@Cz>y@Kk?>gwn(G+UWw2N8CB+dXRCnonSNwbNBK$oRdp*T(z#oO-h>lX2uu zC+U$b{4m<8SkGud2C>nGL1&WQUidL}04;EY1S^&B0V7m#Sdh5SyNxNxK;Vk$eM=ac zl@5r_VDopCOkK@Zq3LU&ga_3ZO+rN7>-B}zOhPe`bc27`avZB>yK%#yTeR{{VBaNl zFpfFc+xrB@ADW)um3_up1Vcm@+V7fiIt)m_iGSk(Z!PFs3&YauUkfsVe8RFg2}f{W zM1h{o+s}(fpH&R(DbkKFq1j3mKpfhW3m;#Xg=ZBs@~irWT4D0oGbSdP;%N#e5mNkM zJw;I+le7aiJIY3rEpY+dz?h_?Q@+a+Y^N>QWuOy>NFcdw%|IE6rUnO-+HZEpVpJF? z2T{#JG)-#Yg(X=xsRGS)=dao-RbC?|&_&lhk}0pJ5X8$~g#7zJq=B<`&!eAPTI`%C zdooX1OR{R5rb}E0=(TR8piB^?3wzc>1N5fuM*p!)#zZ4y$wuT0JI=7~j}7~9 zEBrS#FLX^`C~{_y?4}vqt_8N6WD4}BYV9ZkfVdQ%+gUi9Z}=sH#@xU0S$(`Ckd%34 zK1wq(b9oJvd+u*4!s`oKdaErrH&vR^{dF5AUXmAs!;(9eq#9R@MR+oMi4%eF4^8m% z*!z!~{>;eH#pBmM9=pq#nveJ+Opg7R`%F1lhn}-oM)^VM2F0Hg{gGCxY*v_B%P`>oNfooQAgKFJp zfBZ<5w%0XKU1-zNfwYf@w0Zi53JO;6`-le{y5giWPBChAq9Md7ltdQ%&H(EH43za| zFcijph*TIfIMf)*b!1)U*h%jgqKB4C+@jfpP26;E5h}<;xhi8cpqTS2AiAInVczk+ zgjT|*`~A2an7$oWNQ%KAYTBdh z!?Jmn8f11`lq)2^f9w4T_YG$GVBN(_Enl;7CiUN~l+%$kT$f*uP}^h}c(MjZ>x@u^ z^#^!LTRByx-ke#j^cp#0EFF#n_L&A$fr`_Nl1%2!kEKm!aGf}_+l%n|TZOh%;XC)y zSEaz@vW6K(?7Se0OudKvJ)-+hWd`RI!0bS^y_d@~-1C*jOoq4I=P(5Wshm4{I`^u? z$95N2JGiV`(0`j*2pE>Cj2O&Q9Cf&1_`>qEtxi>bnda!@zcMVlj5;W4Q}!M)qHIbo z1>j%yLUZM5XHb;Uev>_>mcW@{|K6??e>n3mow|szhhe+uwPsp-Wb$is2mbzwt~QG{ zw0(-`r0}YzSZW4?zh%Y##R67s5<=u&-Kis-VP{Nt73(xJbm2 zQ085jZmVRb)+RW*=Nj$iG0k6)aa3*%GqZVkB3EJaE z5hOrHgq%?VjK_IW2$p}tm0ByvQWKu7^(_n{lEsn;kr!4uN zP3~xP-w>sRiW)M6^>Pd-%BvJ;*vFjer~Ud>O3=O8?j?FVdqDgaRXsrhbw2DRMu2Iy zxGF~(w!Y zou&JDu=_5lU_a;U>7s(i;#UXxJe?z5(hXiN2PPiF=EGALeFS9jB2=MYna6vczzuXz z_N_Ppo4}Miu@YjAN0Y{sPdZ>r<18tfw`%=O5Fj^HesE>u^A3T|o1>vXTVILSC$d@e zZ?~f)9}=yK3`3JW_EFP!MIl~L*|I>1ritb)D&_(Prl=}QYXE!@9&tiP{ z5z}uTB!Rjbh|u zj3tO~B+I)(@tqA2$^slTJ{o()MciH5Bn|eS!B!|C^=dGK^rC@7gc1Y8+~MbWWzyzD z_4?_P9JE#5`(TDP;H-d}9m}oVCe{WK)w**-_86dOu^4Z$I(`m*a$Szs4Mw#=JbMKYYMf+)AK;nG=mq> z{UA1|u^SY9J5S5ZZ`hL=;#ia=kvzShz3j=#Z0RjD{)A%#M+C(Sf>JlG#O7r+X0B&A zmq~2sw!W;S#3UAtwJNs&lN3!_+w9!%=Q(|8SlJ2X_Gh#=eotlJ*53FW0mnN^(|g02 zLKL+*4Ck_i+v9OPl1UQc% zV`<)y$YymH_HCzd_flrnsq?^xLzaN@Pc-j+vp`upih*j`l_7fgex&GBos0ke4}LB0 z3MT_SNR;s*3SgVu_Kl)8k7;J`RQ_lNJjjbiWn$xtdcddj42=q(->CF`e1CDni*dSl zg&jVdJ4@f7L?NKD`8sE z6Lm-Oj7|7zq!pHhd21$w>jZ2xG{b-1BMCObF5|`eD;;=1o>tF?>=B_SaNwZ@8EVNM z>GLE)FwqRJPN=(o&XZ6NM>+_}YiBr4Ue@e2_To{z54$^d;wV`ww;72$DdrEM&yr?C zmaQ7L-oZ%Rj~B z0{%nB=^4{UeWeTcz9bAf(-hnEzr1MxIAiXb{9Zp#gw3O-;X!B3*ZCK6N;(PDtL1l%y{Xk<$h8 wPwA)s)VGU3o0Z`2|Kf{N{!2$wE+K|angJ!4Jq!rxd{Gq-cm|M3IZv8d*#sN0{H*s=a2NA zAdp+a_&;a(^-|p-5dCZgSt;mCBTOC10OO$k9MJhE9Ve+ks?aANhE4g{<(4!th#kl?tbixyiz3mFyO)l-@=)`hYr8|WyIQrb zgNf&WoDj$YH5K{k2fF{uKU9RbNgg&x{^fs7`cnFtD^DMF2(qQm$X~hzZcJZ)kSg*$ zS8vK2V{6R5wd-@ddvf1O_VWw+zzYW*Ci0EKtcp|fsXmjq2{evQ8vixTdx0kYhS&P9 z>K$8h_m~>5wxN$OXoTNI5=4pTEc=le!fP4Dw_#FH{gT((u6K!n zfx+n$;;~J3>7^fHRRmt@i=)a$N?JW80yMu8eg%Qol7xelkR*YAWKRBWEfe zzK-uDBRr&%Kl3aeL%7DU5LE%JyxcUthvdidatcK=l?KDCi)X;MY3Pww^V-8JnP+95 zvC7L~OI~Zg+cZMXkR;uN^xf6j*n)un9;p&!+o!sA*!W>WwxcX=Y=HGd(-V0KIDLo)pJRv zir}~%+`wcvLOgY!eV5W_KOVcOw(8__K>4=%BK?7Kx+HotcMP|Pi`r#yO7)yse>SEj zc_32$+I_2(*;2osA*7=@H%oVnDn`R2J>rG3B02vCJADP^&GEMiGrG}^GkOd7u}cpW z6O3)x1;A&#sC=1cUEb+0(#p-5Li-9}VQsl}>dp6?#DG3{TEHtnEQZ^hmAi6 z`_=$v3YEtMh&J)EYIn4hyc{rk4$S!8SflN|Y5KIc^6lm&c60B%qMo1L$~L6jm{5&Z zqEDd~%DW6zsHWU7)D@R7Q_cMN_r~kFbw5Fy+sKUQJI&I~xOmx!LEW}PO@s7rxcC7k zBNQbt(%0OM_*F^!6EsjRQ8i~ldG8>nG(5h6HnRT{7Nq^Kym=~L%DLq)Ect3A@J{%Q z+t6n6*>Df=MkxG-(QD8q_%K8>;^q~)UDF#PI>xMQV6;%JmZvgo=X^Y6?6oYA%5>1=aCDH7 zVu;u_zF4JJ1m#Vt7zAmLWeQ#JWmnhTS> zbska07_n-9xmrOfx~gTh>2*BhHIFQ8DGD}wCXLOBmSDaB( z>!?(0(cnm%q+w<6$GQl|xZG_0-4nM^ou~tL(VRw_Z*rHqzL{fhLE;U!kwD!!ao9kR26ssK75B z4@zUt^_3WRFjqn?CYNRIe$*JP^MIQuau}H}io^QPpX7`EyE0S9y`FR)E2tR~s!8tb zEqzve)+#OHLaYZ7H_G#~E&Uu!7_+5{X<)oFMH~Hj%ZSoKE;S}{3L8YQ%X*je8E+q> zaSc)Hea4W{^5oU5D6XI>;p_6V&-3K0U#M3Q<(2WfS zA|yKIMxz}{Rag`E8DUO9o#|L@*Ob-f{{cSB+9(uhp)Wm_rJfIb-O8LmhLjvAY^(SB z8|K8SUFeTjZuyagbevs)vOm|n=2+yBvA1zx){FO@g1LS*63))t73{&MAm2j-mQh=BdwLYow>l0D(2Hbae1!J z;6!owfHz?dX6F5N6s>6W=QPEqMK2_SrfRLKpaMFCO+rTel7)D!Uc^Rhl5QSt# zRTXLUe$~Uoi}3b4ZgvWHS6-SnW}9oL=pXZyxI2~;W}sz5+#z2z#OW~$HB1o^&)WKO4!bQ(kbJk zY#*7iEY07OHE$3PTjvaI%y^teR!EG7=UUIt`Xc9=IMfg-x(61#?Za8P_NAM~*)0nF5y7bz|cPO=Q<;nLy)ABDk4)$OT{{T?y5lrb; z=Iv3Mn4Sy|YSKER3LnF~@Ej|2rF>(m%5{q;0(vFVe&#UUSfUKmun^_1Uv`vfegsiO zCTa9y>%YCvw_t8-8Q8;?OZ-%vHtTAYE>{L;AhJ`SMvDK}Zb2}lAu}HLS=Cd-! z+4lN@#UP3i>{!-NInEisjER?_im~|Y!d9d5DVj|u5GD5PX{xk#)t#MejQ!s9bJ{$C z{SRcyW32@}3Y1}rdaed86YK4(JLHj-@5`CEx4a3n@ww&x=O`D^(i`qb_TQ6}m%)B0 z#w9`5iWVLAi0^Kq+&X37vQQ(8qEE@@BXDK7#(SwA$de83?a%tbqWm`~LfI%_rncN$ z;sPF1v{wyRXSyTz&|2{tyrU~hZnbQlQMae(lCF7y{2dzQ6=zOG&aV(^Q7e5Fl^f5| z0*hZwH3A8PU+ySbWvfKRLrLVy_7+?@2)}+2@z=0sYUiiu_t30m>MXX>X|zyt-Yp5O z`tsCb%b`o`wTi?YFyn0~2r8wT#CeV`1C$<$QQAn=c~|b1KR2?~Tq!p0%cms|^|M%l z7PM9A58E1Y6s8_USmUQ*F9X~H+^Zpd1S)<-j_HRmQ~ezE2fe%^;6fq!MuK`od22Jl zaj1p1f2F~e7!+oTma@ohdlH|((#^CdF9&OUCVb=FW!5AT25Jg^sODg$NY8wdeh9Bg zQ(AaimDgBRjWBY*Q%-t$UPyUYjhmm%;z6NloU=ursFw#(<_!vYMk689kKbl{MBUPN zBB(|H(qhVW7`N*0Zh|aP4YEYK0+uztGD=P8IfrqgpGE@r@u*s8d7CZtuw6?fU%!nN z{b`}%R#BN2UK`qdTcxd@rXC@t1gg%gk)3*HYrQ17EvAY=GR)XOuGOaksS?yLOP;G@ zZgo}3?~T0ey9ATHl$V@*BBwpbb}k$heXhohJ{Mf-XYq4^;SqG{hQCF z+J@+>O5`Yu-ZdTvT7K$T{YbZ#G%F9ExgV&W2lbaxx)ym{n_RfI00+%Beq-LNZMiLJ zc9UO5#c^Bxa+)M2ymeraL1@3fQfZuv8`iQ#d5hv#rX9D!6umebvL4~5Fr%TAkt$|x!$Ga^fC9x7poyQ|+y@trofYC?QBJNe59s>R z@JXI&BRt4LCVwb)K^&bGy|y&l-S$X3?k#8Jjzh=}%m#WWX27XAXcq+2YWxCQ`COv6 zKi3-8c3Vd9?T8mf3~mm!qp(g%FKquStj*SFGx7FUHSz6%pDCGB-0`{}=}}Dtv9v<| zXtnHr%v?*Y!mNgcO6w;RmWMyVF3g<3tQQl!U0-QnlKD*juDpm!C`v6D1s3auR{etg z{NahP%XO(By9>dX-wsqlQ&iTqEt4t}{{&BATiG4+X^q(9n=x+uOh@M!C=I1`81eJ& z*pFNeM1!`zwx8KpPKeuBSZi)B5!TzK;u1frijQ!r6cssRL8MNrm_X(f+NIUlf2qAg zdG(d~Kk{~Hg>uwwkdQPEx$tp1>IBVlyE40tfR!!WC>2U9$4{P%0UE7$CN6hyU2He( zKCv}@o(~l3I=1|I0KVj99TTQlsPNv-Fr<>Cj+@in%FNLE7=$*He4~ZdQU~EkWx5N8 z^cv>@-5ku6NyhIuCyR%TH_ki3tpx^MaiW+oOXE7(!}Ygwe@dq&uT6@GE`uobqj~A@ z`yBkl`M6#oLD(tI-~<+GcvvJ!y0hpwsl0KpaFkFp@54`&&fNTbPY$$=^UYnGxp4+A z*eSBp1zY)oS@NJTbz%=T4@8SJerx11_#^9)1(c%5v{$I_U6|s^SEJC53f!0N>+TLG zm^SD^TQsE=X$0#lJJ_0Keb!J2?nGtrv7W_mrF`f|H!t3GSrICml3Xbbji~><-;I}E z>hM~0O`(u6cw^Itk&uD?URT{gXDuA3!w~BDt4<@=WeQeFW&YT4G< zMV5Le{3--d-aeGpp=BR+TjgXwbRzq}&iy z_b@(o_v&3!uLyU5mNWcWet)~$l6Wdlt}UMUSSURuhaUH z{B`#^%GGR6cLf1pLa2cCtpqO(6mWSeFqg5^pM-&t^^R;eWm&Z~lbqyyJqPL!x7|SbcBUe1`MA6f1Z5!UnQ~re>N#|=f4%3B-|S=xv8>xPI7zdr$;;V|0tc6 zw2+~6RBGUXOT=0t58jR+i|ij4CDn^m8xG?MJ#1cGs*8ujrtT{D(FX7CeCqi8(H1xT z3zGX=3DQ3G^BPsyek}8v!ew^>T%zeD+@ht5h+O>R3}Kp)@8!`yV$$ z)W^cNi%4U_+Ds0*NsCfh${j2O<$e>!=n4%yZ@qBNLlQacWw!QkJl4=)JOFM;CB#Bn zRBMquR%w|e_WY->0n*!ReeK%U+^_HQ%%NLlVIhpAjN;(Y2WXM!zkEG@I+0WxFdzmE zkJj5KYO0c#RlUbrR~OKtD7xdE>4`<82cmW%C6ur%Bek7LZf#BS6Vhrqzo3|{N$LQ8 zX`$9;g()+m^aC~d3F8i@poww3!QRWcSix|@>@#dFew4th9<!{rIQiZawm4DmJS7C>WcB#3kK9-CG_i8%JrA`tkK@ zAYVj#G%(bC0~MEJ!}UqZ`d=5S>?aVH_)G_>YgDF^{s^;}dk zcDzVJ&yjPrB0SP4@B+THldB}YnQb|aJD&F5Etd3%!^XVDg<#iran&A+;oL3{>yB99 z-;-3ITTVLWU~4?QyXy9jgljQAH51|o9hu);=N2g?4zJi_hKI+4g+DAvtm~%UTd6ZX z-ZtiLdccHRL82cndf2Sw@P24=r0I`oen|xiJu&jLqn4@S9WU6w%{IksDZa#4N74rl z+R)yOnEhq()d+ETwe4zc6K*S6665^~?%hLIwSN!ZG1y!khudi%x0U!svunG1l<3jz zxAubMaPZvf72^ZxPepnY&yR^3=VQh^mhwIlcjm-zl^N|;EhlY>3%d62bs<;UoA46w zKcpg0qA0&xDO*{=rs&96r+nqaJ6c{lo2f27zgifot1#|KwOc7l6Uf?abd68_Y-(+$ zH;!f3aM&x(V{k~fMrjrC!w|XYUWMx)o5)m?ps{1lCcY2Jnz9BBwg*6duxu9KeF(;aAxLQZrAdw*XM0`jV~jap|C%Us&G+b6S3IJ>fy=#$MB)rZbxpnex-3# zNpa0u&8kO8>Na9>*cBx)pvtgafIKLWB7NG2O~)PFrbSwFSWb)L3QJR(Jo(sY&Vd=g z;id)DPN#7wFJ7OO-T4~62xv9#zH~*c=D2bVSz~ZCL$P~seBchB^yqft_GxdQ2=$q6 z45&YDT7w^(jQOxk_6wnOu>L5T$kp04i7G(y$wZ2*`wZbn%<9oo1qG;m=SWawGL-_= zrrJ^h^-K-W5BMv$<$1e}3 z{_Jw^)?bYzF`k+{2(CiBUBSH>^Lct~r?$XPMeb|=^AV`HTYcL!_Nb4itJ(ZpEOhk! zl{G|9@X7aK-%MNSb6xji`>t3(eR2|oK_WO*`152lJ~}F zbuRo-{cBtLXapS=PF8j&@q!4}%d(af?U(^p0*}{AyoZ+EjmLP!&Px2z(pMuRfw=Rf z)f^Zy@p5n2o6ZQU99e!QcQt;NL}rz1{ReAZTb+P&5VoqE5mM@UeeKRGgt9+Lp7V>l{YEl#iQ4KC0_lJzUBL5 z_Znwd6Id4j$MM^XWb)hw3?$uqsos^AB9e*6RB-^Y9Xsb2g#RT{Q_GVUvlhD+=N8Wv z|B;n99l^>W9U;o09ap~geEXv*hisg2tJQ)dhhc1Xdzqc9Y#gjLZGn%=u#0gzqrDc= zL@0kDjTR5)vJA<6wE(OLD8@g3TgPgvg3xl)#VrQS<`y(yYEzn~F(e^tT@fCFv z@qq>s&?e}XjjJrl!-17I^s%`?OlKd6{{b0~I;-FH zx%2=WSUAOT&pCnqbZU}L&nI5!!A9jb7P7!P{EUgby(@1l)CHn4wwWM3;(z2{xYp@v zrSfJd(27FVR<7Ja*7jj}pe!8Kmv{phC_H#55%K`}2VW1KImdByMl2NTBRpbPGqNqi z7m6PvYGW-PI#+Q{xZsg@1;hrV;Y{Y)9-^Dp;Be5W&r_fE``5uk`?rCmHst{p=igen z%KjT&kft+#e8tuSAXE+@B<^OY_7sn&mSX0z<;xg%&00LH=bp%Q96IO|xIWohuVR^K|f!28CDoDEX-QX!+>)82D}p ziQRU}P^vc5aaM@yxB_`V{oCGO7kXxOfwZ%F_`mcY|0r%;LD(q~$i=-_bmXF@G@QHu zQK$UV_^;mY&YbE#&8c;G|9p1=cDq$eQEqDjL@w_!EW7j8XMKG%1p>kRkz$Kt;fdkh@Vl|yBMb30{}Xi!WJQ-pzc`hRZKbO;uCyR*hsgU@S}rhrNqf1rqc*X+ zbHApU&hzM}9XG`H=y#&=C4Wd~|55ZsMi~?8UhhG0L;_2>;j=Se?_H)_GbQ`VCOvnq z@SYs=UbL86uQbs)DsD50uOTwbBoLWE8lBF}x8jQuxP|#^k6C6F(P_H`dM_4c z&OB{VZ^-Y3kfjlOb&$I|_>u>y(nA8T3Kr6U;{q4JshB#y|0Xvw%T$ksj#r1g*A4A4 z<*CnYn|*e-oK%t|X(pLt9y@P9dK?}P^9<&s9uQTzPPH57D&%We;=&BD$rFEjc~(py zBbZ=9KqD6b&j)KPqJyBGb5iB^NGIh6XL=w+tTvAps!Q$+rsSitcD*r`zv?x|aLYD* zI$D|}65aPVm8%@k^`mOrFXs|0$KB?W;VfJ>nPGLp1jThbs44hpjnn)}OgT#ms2HxK z$7hGo%3pxEKh&6!rZZ(r#)fi}X}O?8+gYYFh$pl7Bh$UKST(L+^gZgW4z#XpC{aly zFHOu6okddSYruBj_GTsLWZm?%`B}8)xZX(FZIl<}ps8#=S0^FsNK0;u)+Gc9rAI8} zHmCw0r`=| z5nso*gN3a6le#077}=&EJ(8aXc@$tu?DkOSgt&UY1X6xZVYKI_T`12{_Op6B-a4WM z8A8r#N>FfSANsNv+FAh{gqKzbqEwNgMF|?THrxalpGI=sYH)Vq=D}e&tuRGN!i$F7 zEWb(Gr;V&3PjXG|*j+ko3~aTes~A2Kcmr^Fsi3SBL%w~KOuF4s zZS~1WPBHT~DNl)b)K$MCzjfZsjNNv4dx*a69j)m#gILs%WhXydXuZ#)(A-)>aOmid z|Hc&Ihy?N;MeADHqkH4>Y$_5LAx#Pz52c&E3>IfX2J@Jhp{Uh0TVN~{u>?k^I?^XE zu2XR!;r*w3&{8YfgsXKWYw4q;=%-dM>Lrz?eAK|%L$fmOSxo*fm5{I`2k9+CGgS`N z9YY>AjKXHpnXgYzRV>h7=g1l*@66Y;ERxGXT!~0XAgfv{?3>|-JpDi>c-MKn>its8 zAh%%?4JtEsxq<9;+J(9>%n0Uqo$C|C#whc>$w>=v{>Twc0}8Vxy{k;cDP~(M~Dgk-O!<# zOUJ8LR53d}9{5c79?;b=LH3j@C7qQR=LFdW99d#H31m7emmz(+KG>N$zjMom&TvK9 zVGK8)Cr4zf`}c4}Z#WSS9=acX!zFT%2W_^19;tAG?UrbU(hOPrT11c9 zfJ(HOT@o88gT#3?wh60&0t9uw+mBUSG<9Yl{XbCO;md*8l3KGB3nPRG{G~v&T&D2; z@xZ4Xziv5rHJj~ZVdy7VetcDDd{_wT)0(dCe*{)rO6Kj(+C!<5F(H@(8XVxoLU>d| z4z7!?F6XZ?$=PT$Bm!>=Wp@?&!e}2i-wqk!*gL7tG$5ndW69(h=lZw}nEf=Y)e_NH zAp}aN0lj}kaX#T1x}&_#%QA)ubMEUs)}@Cab!Og*C&Sy4Z!e5)#P)qnB{!P7gJr7h zCp^9?oO8j!hELWY^F~?x(ba`!_(#Dj9IpR$$M@KXHsfleG&r`F0@9-x>6vQ^>hUCLmH1ki292Yhd zdw(Gx8i0aVYXKY6&VD7Qe75+%vl8KAAD4k2pIVJdh`|0$2oQ-yL%Ha*E0_({{1$~o|blxbQ>0?`Dl&`x%%hEEZd^TjBqNaMPY ztr-T(BrD%^?1`oPryF@=zzQY@6cj|SxD9nHck>1AC=|)c-Gm%GoTdrXxcqFHeW@#l zijNqj=C{R1;RmYwS}8^GAA4pkS;Indo&3%;b}Q5VQ+jaxGxyE82ghlF+N1!u+vKHX ztWEc$v<|~54vAeVuiF>|Hdt`ptsS?Wc#DQ zqB_j{1gaK2H#Aw*P=q@&{TowzL;k|k^1DSQYwn>2SR@jr+0Yd~P!>9Y5-Wk*uGKUb zO_Xwf@zTu*{1)peU-%r%6~ExYOo&O+2jL{$>|yFPEt`J8h})2r6z^Rm z4cO`A@YVM3xaezk|F~j)g4f|5(|D`eRtVZV02{G(NWA-l6qjT~0J(rv zpU^4W%fnjD5K#zNjOBG*{Tv`l&~qJRB&$Y0wfhUj^=nJt({AoIO^*YH_TW0*7bA~@P_^3W zx03Y>Ki^6mSar#teZW29^AtJu*)~*cI+lMNEJka}CY^?^3$A3*syV9N-}M)J`Rgy2 zt7$S|zPc8`wT6JB>+l?b<_DAe>zvGpc1iD=vHg**sk-_4gAZa$!f!~;9BeZNL*zO8xG?OapH1lZ{L z2DEsNAM_Nhz9unJFO=#vf06{ZcLfYKyt47{g^nx-&BL;HOnAw4TYSfH3AI;bZkyir zyPbKv;f6G`F|+}?3_U&%1oprSEE^~DWt-GN+*#y@$eLtx-E{Zl-zi5M{bihUnK&-o zLUw?{_1WM3aX||zC8{fO4f9R%%@IG8DqzUT-&=gG z>RRP?pFp1wr`wjAL!E_q$v3;C6YtSphQQS8`m!HC*3A&j*>=je70OIHyF~TX5$s0_ zsSr1%EvYKJWi4;IJmfMY=5?r3FrfGRB~@kG93i9marO9%t?nMp3yANv#Kmer%1q>t zz}Qv=a>a<3y8IC5Ot|n8fDPZLvn~EDVJ*=uA6l|n3J3HZB57QHK_I*f#RiY>z<01+ z66KRKIT!8OQYOl;;(Y-~7amP#5q}@7is58-`>kigNm+r!^pK@b^R42I%B^{8_bcK> zdflVOBwes3whv=30Hfo#^zyI4Bb@%juU}G=bG}<6b^ZmpCT*+e%qIuGI^a&KaEvbX zdDyqj#ELg8;6=XrUY_vQsv;8z#!R?JWjb8f=j+ zQJwHuSFaxLB)RWpOn8@(#K{c2BBp;@(Tj-e;ZIyyT$AwyF@WFOia(6IzgLBR;?r=z zQH5S16n*JCC z|N04UeoFj(Sv8+w^W1s#i=*^yrr`-6!^(fO<9IKD{@pHJt=nqp#&3C@-wZ`B=p@Nh z<1Dxqex34Cf+OYGa_W-e6XFo zCBoKc>Fz&}q(0zJMEL(U3{h|54PftXfnFCBFoR`s*z8VHO`6}ug^N33Ie?TKO}7-V z?i^Q7?Hyno;635}-aN3Ra0%3~q`~YYiJlW_IvxM1TW(a_m*xq)X<81%XjYo<=w);#qC^Us^Gr3FnhP4$p!#gW|p*`QuWi=0V zSmWsstIpt|6e}XaWtBdeQ>payofl()ND6Hrl+<*F7>x>rTd#orY37O&JWinX03RfH zz_SM^x47&Y>&D-3Spi=5?(Hp`%n}1mOU!g(bWaH$>R6=sexl64C;Q)?38ObWNNcZF zMXYB{edYq8qI6f!;qy)K(A3k;C&#}*9!Bgkx%6W&p+HM_zF5^LS)79bAkqff;LO(u zdc7NJLj@p1a%yisjkI=p=Y2meznUB(*p!qb-vsd1nStSCr-AcLvnMeU&)M24mru&}p-AhR+@oFq z6-|8woeGFf@sq~yY@uOE<&vWT66BnQgTtwGeU9K6bxOOsPeoF7;^dH(9D)Ka$2;+4hi^)n4|WZf5fwo!3D zhZ|D|Fke3BUp>NyG&vPa-bAK#m;HYOLtqM!V2z~F-N@-fnPrtNe{*qb>NJq97S1Ko zfkE6!C#3ZR?KZnQ2Y7OStB@vyC0T)k`hW;9O!uXcgP%iF31=WK>3%`xQbc~x-zkM{ zbbF5rKFeUFUntybZV3FeYq@GscUb_WafGazZxu}rbAwjHUl&ewrG>D)NnT1--C7Dh z+LSFxUhqj?@DG+AW4gidwg+t*_ImdEfrlBnpk4MQoOlxpeucvTVN-V)^-{G&>>-cd zVS~}fMxX?V6Gz^4w5w5X_=_2=I>B1bAG?*ADr1#S@3qpZKeTl*e;JY%74)H}RmMKo}oHP*05FIyfi}&A9Lkxv~RRHE)2%i3sfg_V>0h!DUX*7CWO5=hZ#`1`@8v9 zj5WV7ptyCwdwjpOPd`h}_JlP{^-1H%+E0~qjMJmk3+;F2(Wvf^YymqetX>2hZ$J2$ zCO=(w%HtrSa!MliBIY1zl-z>n6)065+3tq$BXOU;ykDXsr;gt6HfMb(gKc_*5n$Z@ zxe4BDamMaol5o(smMLyc$?!?Hpl2CEZ6hA0KT)}yGy2UqpzLwpw2K0j)sL|f%bh9zs1dTWh6 z7S}R5z&wIk>I?vSidaJM+7P_=FA)NCR(xBBhu51K0X7@0rXN$HsgW|hHAKR zClAlW-HOxbRgOg^3ul`18}ae;asO+awp(FsOYb)wU^V_4`Y^|tc*nL4_O1F>u5a&6 zz)@Cdpr1m5F>81T*Y4-aCZ5b^erB}(%~u0CiM3B&rQl%;sXz@NqVucA(2H|P4k>k- z40u~!2DSu8(e=eokj}$apb~Mjz!th>KP+!U8~d;g2~*5`R>K^1e@l=JG4lxhtwUkr z+b5sAcy0sbHREEaj@7ri9&;7MN~`h5bXY-sXs3Xc7>=vbLLT5Rq{>=uC{lc?>UVe8L z;d!CT;YbI48-rBA?p%(8qg&KN7FJ$r)Uc0hH}H8U-Tw-C@y+kKg{N>fXYJOMFn#)d zE8)|9vg00fcDR`+M`}Jn^pS6`ap*fuV343GhJ#uG4Xw;);QcaXMK-6xoy0!ZU#xy< zQYACSj%H;yTrBQ#Fllq3uQFWgU*?%j?$*hzCEDA6-)u^t*|wEC#WRx(diHxl{&(Z2s!c(J6Jg zL7^Qw={T2|(u9l0*aLY+3yQ{1)RCfB25_~RCQy_Nm|hes)&D-hdG9P5%;k$+FVO25 zKZWvSBRJzeh~!A615d1kbcEU@D3=nv*>SfzCes}IbYJrbrUj079g(h$Jz2`fCE=+| zelnWFpidVjX{dBfcypiqXXIi55jc^<`OmQt97s|Ua6BC7t8Wo8x{_>T@H>dx4i#b0 z!yVL0wQ3}>ZrZaKvtFmVD+GDVE2v`3eK&Wew_a>hO zyFr;1i*9$3*TheJy56kDZ6bH`HmkY}B26x1QZ-L;H%r4Lli|6sc3$2)JXL6acK+?` zyHv3wk6G&XZi1?1EZ+1>=*n&_>nKwdf>hTzWEa1tf5K%}fj5=$I)FAe+$p#ERn$H7 z+Kp%k_rE=o-Isfb|JEi~SsB`C5^Vxl9Wd>Iq=ahY3e9CF|EVqp%LYh44L?@n!^6vY z7*4TeMIh`+VnXHT2Uh_yW-wQh8a+#U$xENa@s<_DmE zKN-yLvq)GlNyk~~-_OrQH3>ubXc1TQ@$@E5nr+g?gZlqKZw{lGE+iI}RtmP83iGIQ z9Cnx3^0fbZ@(ClngkK0)7q}%?i+WH;3so(J#Yj+|=BaY+nm}uLJ$Ph4HRgk@X4~mB zw6SUVeu;)WfwVI>%Tpp61yfuB$pY0(>?)`?A2(=Tz-P}NAW@V)LNai?EuD`8K}vbL0#xbv**~QF1MsYy$`MB3 z?V^EE`CJ$^vCk*_IFHe*G6_&{tW5rZqxO|=*733+Ka)s!2#e3fMrnQym?Q}v88-q6 zhxM}1B(cpSn@YEvW3QYpICI|msVy)A_x#_s2K;ZhXq|hHQzJX4?oYAU+nn+NoPSM2 z5JSjw?L^%(91^T>vdn5*=SaOaWz%8&gs~47*4{&BM%qXZJnoY2S8Vtn(YJ09krpK_ zh%t*=XXq+#sWB760GC>DDFG>c|ERHf0+i9mPL37f$<0jfO_r*i1BEkN&P!v=YemLu z#5eEpj9p2SaB*B&7^YY8mbwGB1yO$849;NFUN453_(;C*vgJVMCF^~{HkPS*#oj!( za4D=Uq4BFdPpYy64ZY)qLrWGc62#q+@gvhpZWaO&{g)#kif2sL5^jx@+q7b2ZRo;l@G-%=VCH|IMcP2ieBh`QiThIB5_UZ?v`Bk!^RBDMSg9$>+G^?Oh^<=K|oZZoh&r zT9&A41eGkV;8M|Rs`uA_JUt_^l$$v|SqDzFL2fD}-!wS(T5jdGIuDF~TP8!y%i6H* z;f}Z2&JtN?M$6T9GFzbl;63`VwnwF`E7NG_FSU!Wk}OK-Bf1nP0aNVMeIr2#h7uS% z_w&Ni+(`H2UfH)VeD95~y$1WP-m9$!lIugak$C<&)RR3EHo0!O#&QI7=K#MoaS8MY zj`h6qIA~YvHcIYJ5%(C6pc5lj82)KLR*C897K5*TfL-QcWNL2VeuLk_f<1Ndlw&bC zE7c%=xYbamTX3rx5(|DGL3V_!QgjdS6&*(54@o|wkUqyN%)XS5-kZ))cKG2%>7?R9 z%x6rchbIQxo&!K2qKdixQ_W;q^D=InfRHCzAptav20Kf8Gi5V%GpLy!N*d4p$(#SQ zdY_u}sbT~gs;c$i3_xx$Qm6~be-ME6cZARnzDXBMkFl!Q$$iIXx4o;G)n03x_P z>LzUw3@{8l`{gm1*k^`q@By^qY4=fVAI8jFM=e7Kz;FLGcZ=+#bH~%p3EF{vwt{$> zxBlt@=Mg{YEk_?%Ty^;i@TzAr`}hR{>dc2@Wx7cho)Okwz3_6JL#(-_@h_kp zpfRIcoWwiu3LuOiO!4gqaPLevsnyvFFTZTv0u9%t@lv=szQv~%bL79JfFxh<>vxPh zk@&vEK{Swf4=+UucFAcKgtrby?Ap}7!%D8Jw7FWe~ z*5d0>45x;14ii^PQv-ffmBcw$nLa!gCCGhl0i5|QYF@=_xi~DVz zTka`eL5_tV+<(QS?i)@O2%TZiIKr15%c+ z4W^F(4v9#>3@e+XJEv=_QO;z3=@c%lZ*mGtYL5|9H-ZaXpHxK8Ulw?E_WsSlcwnaI zcr!&CBRtjjvuoWKSB+$TTc2s`{;Mdo>t}o^D)zTX-_-F65a30!|C&b2`^a6Qt>;ww zNUDjHO;AbVupb@`IvHTxAuz>sMi+_4Wwdde=U(J93OTiS2DVe2-T1uytw?UZ`1W|* zX>;SIcc8fszPXuajB%1gd7f^!to7N`;5@(Jb{16V1gh3Cv>v-B7Q!~i0}CxNoY+$d zxIpuJ@>|S@I#Ih*7nDD^a?EwSH`_?IgHJn?lWXD>gwK7bOe5YK<6eOzu%22|<~Bdq zJM+f_*CwPjfWMC;Ha&2sLwwT%8ZTYM50O%nIi{bwdF14NtQ^gBYT01f3%UVtmQ#!Z z?hIgb7LU<|1Tj7&-!~aICPmUyVFqNih7u7&WIOLtn0w9>{&Lidxp@Z}dk&uq4pE@w zXMjh8kb<(+%lMpj`6(aYx@EPrIjn zyayj`=3?)<7QX0qR%N8zI%*8zQjxP>>w7av+I#lZq5By}4sjqAXY6pszIGS4)M-Y2 zZJ++~`!+LK6?CA8T$hgUxqC|~l+#2bJ3R4JGYR1Qr-c#n){x1kH1&Ag(MCFNhB~vfGzR!(B^r8053qjiY%R) zh~CjoVn)}arNpMC)K$+Le^k1qL+v?=>^QMwAq0^KLph@ZZ>-Ch|*(wR=A{z7f7f={@`he7g`0eFKAK9p(-) zckWEh>oy)?igLM_mB-Q%*|!IFsA9mIMx$~>wEo~Lv4WNosY_4E^%dvTNUC43n`_)M zdU37f-W%PU1=qNP;~Rrt;xAV7FOa|=ntZ7lH!iM+_`PhD`ZA>#@KWIihw2Y@{KYzb zf#+^)tqa_TShl{LrK>| zz@^pp^32uXY%>WtM)2tA7^Q^kk#F=rywSy9noZz0+c+3ES=oMz_k%q``%Ro|$CT_B z{1we-1OdP0m7t~(d@3Foqfq+G-DeccQ{>?K7`=X$>V{IQXNcmdcwh`u@+rpaW%sU^ z;IHg3%CGPA6z8;{zs39itO*XeLfUpPwyPcdA1_vwn=~ZW?oA2qcJTj=(E|QoylvE1 z?-kU{QLe&8#A!5ESyU5FYy2i=V;N=JTJp|y^#i>}$a@Cvx||PJFj0?XLUbR^C+|wH zIEMvRDio#vP;O3cv`8seu|h}p&1XGB=?H6bYI*NBTT-SkCSQ|4@aY^-5i(WuwXZGTJ_N{riZlR~2X6)qh z_rirTOfxS$Ruo}6PE#>8D#Y4gLScP<{dg~KSE(pkjuHNagNv=D-sCbYRY@i|F5&6y zJISv*o2p}b*qI*nDMr>3=b@og@xNadG7oZxMp2uEwf)VP*{A(v&YERC(oFMky2R7d zHT_oO|JZ7;e}=1WKE7b42}_alSFiZNs$7!h?CSE~Q|rvr@4;HBfhR@vOMS%nyQi1_ z+G$rjZ`u6mZFBC&S}tRpD47r+J8RFvBS3?E9N$HrTX^hr&qlqoFRL8vrp!nTd6a6b z89OIr=5ml#u}|Zn`KE5&BBjp@x21+TF?)I*b-BIbF=&8Ev)gN3g{M@^@AO9CaV}4# z6WQ){yY5+)`f+0waIq3M@W6@J>bqy0TyrVlQK;(wCoAsvKMOz@n3TQ+xHjy6k?>#X zTWV8-#HPl4Ddyh+>+h)|$sN;y``GQomM%Q%&8%SkI(NE6Qpll0D~_DZJG0<) zsPp^sr65mCt9IU9BMQ#C#iF9KbptSve{$62Z&)3X|z;gA*U@ zjreE!X{Y|-DQ#lwA?L10OtrXKIK7%JVPc!m`pQq~!EIrO!3B|hc%b3pNAoo=HJmu- z^D2J!w`oOUuYgBsv;h+W2hfev(sh>E2U)!m@`vYKN?!&{sB)1tC2v-SP0ioD?)t8X2>ZXXmkn}PM@Qb%Ok4OJ zm^C0pAlT+4wj=KkfDR+k0UkzD1U&oTY>IK2RLrH5@+(&zOnLWJbCR95=;dvnPO|kq z^)A+F1D;i7s=wXGO6}yvm7wECy84Swnd`(J@qr}WQ+__BrJS)yLGR|;dKh#{$h>J+ zUk9CYvVpio8W{gi&tEDn(9S?wC20O zqo>lMPXm9Z%=Oz;QY!sM@ksW(HP5v7w^<~!gUjiiU0wDcCWaK8PT&65>Fxe`h^RP{ zDXHcvm9^*8rq;bYUCXw5qIYCS(NS#`;5i^a)s}XbYVK>3SU=&9 zW8jOwAyQ6z{v@woS2Rm(>wI7)K0Wa$*J7j4xfNG#E?c{7f3noF+*0NJ@5)VQE5XX= z=UTvd0`J^#-{Z4pp0wTI12fxJ_wo`C=kDt^kus%c+V1%;RXoBC+{gQhT_;Rp>dH4o z7IRfN_TCRY158Mpa?Dass4s^lq>tP=8E&rEb#MPJiAqci5j$2P`liU& zPex~&>}=2>6lF=Py0@|bONXN=_Y9ApZ2tKvyZ+qiM^120M~1xl$vnxb?Dd?IZzs;F zlwQ2JTu00Dai|#Zw2M0TrT^Qvy>xQ!4EL~7E47*Bd9iTj?#uE;dwe9O{<_qu5&d7K zv~UfdYFyXZJv(05zE&@u-y-R?r$#s1%oWK76OK>$nDB0djD4bZt z-}gmw<&14p-RpdS(~0$3zPJ6I&%J*oeSgB0kI(l#p1$O~*U>F&-?avEt_F@KUbuUe zleIQZYgz8o$@Pa^k1t4i@qKnI&ynTeAb&b_|GahGvqHmQ2~ynE^>yfkUR<{D=;=>uRzF_923jeDYNSo3Ta@#`{1GhgiG~5I3r5R;l1j4+BcmDIMSv!~B^LiBw3Lj5b KKbLh*2~7Z@>AT= n) { + return; + } + int i = (index + 1) * time - 1; + int j = i - time / 2; + data[i] += data[j]; + } __global__ void kernDownSweep(int n, int d, int *data) { int index = threadIdx.x + (blockIdx.x * blockDim.x); @@ -40,6 +50,19 @@ namespace StreamCompaction { } } + __global__ void kernDownSweep2(int n, int time, int* data) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + int i = (index + 1) * time - 1; + int j = i - time / 2; + int t = data[i - time / 2]; + data[j] = data[i]; + data[i] += t; + } + + //judge is pow of 2? //https://stackoverflow.com/questions/600293/how-to-check-if-a-number-is-a-power-of-2 bool IsPowerOfTwo(int number) { @@ -116,18 +139,20 @@ namespace StreamCompaction { //before change each block has 128,1,1 threads (128) //each grid has (pow2n + blockSize - 1) / blockSize block (2) for (int i = 0; i <= d; i++) { - //int new_block = static_cast(powf(2.0f, 1.0 * (ilog2ceil(n) - i - 1))); - //dim3 new_blockpergrid(new_block); - kernUpSweep << > > (pow2n, i, dev_data); - //kernUpSweep << > > (new_block, i, dev_data); + int new_block = static_cast(powf(2.0f, 1.0 * (ilog2ceil(n) - i - 1))); + dim3 new_blockpergrid((new_block + blockSize - 1) / blockSize); + //kernUpSweep << > > (pow2n, i, dev_data); + int off = powf(2.0, i + 1); + kernUpSweep2 << > > (new_block, off, dev_data); } reviseElemnt << > > (pow2n - 1, dev_data, 0); //down for (int i = d; i >= 0; i--) { - //int new_block = static_cast(powf(2.0f, 1.0 * (ilog2ceil(n) - i - 1))); - //dim3 new_blockpergrid(new_block); - kernDownSweep << > > (pow2n, i, dev_data); - //kernDownSweep << > > (new_block, i, dev_data); + int new_block = static_cast(powf(2.0f, 1.0 * (ilog2ceil(n) - i - 1))); + dim3 new_blockpergrid((new_block + blockSize - 1) / blockSize); + int off = powf(2.0, i + 1); + //kernDownSweep << > > (pow2n, i, dev_data); + kernDownSweep2 << > > (new_block, off, dev_data); } if (time) { diff --git a/README.md b/README.md index 3a0b2fe..05f1ff1 100644 --- a/README.md +++ b/README.md @@ -3,14 +3,46 @@ CUDA Number Algorithms **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 2** -* (TODO) YOUR NAME HERE - * (TODO) [LinkedIn](), [personal website](), [twitter](), etc. -* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) +* Yan Dong + - [LinkedIn](https://www.linkedin.com/in/yan-dong-572b1113b/) + - [personal website](coffeier.com) + - [github](https://github.com/coffeiersama) +* Tested on: Windows 10, i7-8750 @ 2.22GHz (12CPUs) 16GB, GTX 1060 14202MB (OMEN 15-dc0xxx) -### (TODO: Your README) + + +### Homework2 Link to the readmes of the other two subprojects. -Add anything else you think is relevant up to this point. -(Remember, this is public, so don't put anything here that you don't want to share with the world.) +[stream compaction](https://github.com/coffeiersama/Project2-Number-Algorithms/tree/master/Project2-Stream-Compaction) + +[character recognization](https://github.com/coffeiersama/Project2-Number-Algorithms/tree/master/Project2-Character-Recognition) + + + +### Some useful knowledge review + +##### shared_memory + +on-board memory(global memory, high latency) + +on-chip memory(shared memory, low latency) + +shared memory is faster than global memory about 20-30 times + +one block has a part of shared memory. + +###### Definition: + +extern "___shared___" int tile[];//do not know the shared memory size + +[Reference](https://www.cnblogs.com/1024incn/p/4605502.html) + + + +##### resolve the external symbol problem: + +the program can find the h file, but can not find the dll file. +so use link! \ No newline at end of file From 521c347a3fd9800a1b77efa32344fd965bc776d6 Mon Sep 17 00:00:00 2001 From: coffeier <834986610@qq.com> Date: Wed, 18 Sep 2019 22:43:04 -0400 Subject: [PATCH 04/12] update readme --- Project2-Stream-Compaction/README.md | 41 +++++++++++++++--- Project2-Stream-Compaction/img/arraysize.png | Bin 82394 -> 123008 bytes .../img/beforeandafter.png | Bin 0 -> 89879 bytes Project2-Stream-Compaction/img/blocksize.png | Bin 89496 -> 71968 bytes .../stream_compaction/thrust.cu | 27 +++--------- 5 files changed, 40 insertions(+), 28 deletions(-) create mode 100644 Project2-Stream-Compaction/img/beforeandafter.png diff --git a/Project2-Stream-Compaction/README.md b/Project2-Stream-Compaction/README.md index ea38600..a81f873 100644 --- a/Project2-Stream-Compaction/README.md +++ b/Project2-Stream-Compaction/README.md @@ -11,7 +11,7 @@ CUDA Stream Compaction -[Result](#features) - [Rules](#rules) - [Runtime Analysis](#analysis) - [Extra](#extra) +[Result](#features) - [Runtime Analysis](#analysis) - [Extra](#extra) @@ -97,27 +97,41 @@ SIZE: 128, NPOT:125 -## Rules +## Analysis -Scan: sum the variable together +![](img/blocksize.png) -Stream Compaction: reduce the operation count +As we increase the block size, there is no obvious change in the time cost. So I think just change change the block size cannot improve the performance. Some other time consuming things a lot of time(such as read and write global memory). -## Analysis +![](img/arraysize.png) -![](img/blocksize.png) +As we increase the array size, most of the line increase as well. As for CPU, the 2 lines are so near, and pot and npot do not affect so clearly. And in the Graph, the CPU is the fastest method. +For GPU, first is the thrust. As you can see the thrust lines are most written lines. I have tried the same parameters for running several times, and find different thrust output. This really makes me confused. Anyway their time consuming are unstable. +For Naive, the npot line is always lower than the pot one. Although it is not so obvious difference. I think this is because we deal with less number in the npot case. Finally, for the work efficient method. I the npot line sometimes higher than the pot one. I think this is cased by the operation and more memory access in dealing with npot to pot when we meet the npot array. -![](img/arraysize.png) + + +![](img/beforeandafter.png) + +Here is a graph I show the effect of making the extra1. After remove the lazy thread, we have a stable time saving result! ## Questions +##### Guess at what might be happening inside the Thrust implementation + +The thrust result always vibrate between numbers, but as in my testing, the speed of it is between Naive and Work Efficient method. I think maybe they allocate less memory and use shared memory to save same latency. + ##### Can you find the performance bottlenecks? Is it memory I/O? Computation? Is it different for each implementation? +I think is yes. +For the CPU, I think the computation is the main bottlenecks, since you need to do a for loop. And that is the improvement for GPU. +For GPU Naive Scan, in the slides, we know that although the numbers of add is o(nlog2(n)), the whole complexity is o(log2(n)), which is smaller than the o(n). But in my test... the CPU is always faster than the GPU. So I think is the problem of memory I/O. And in this homework, I do not use the shared memory, so there will be some latency in interact with global memory. There can be other time consuming things, such as bank conflict and SM resource problem, happens, Work Efficient also suffer from these and take more memory operations than Naive, I think that's why it is time costing than Naive. +As for thrust, I am not sure...maybe memory I/O? ## Extra @@ -151,4 +165,17 @@ Here is a comparison for before and after changing: just follow the slides from the course. +How to call: + +``` +genArray(Sort_Size, ra, 64); +zeroArray(Sort_Size, raout); +StreamCompaction::Radix::radix_sort(Sort_Size, 6, raout, ra); +printDesc("radix sort"); +printArray(Sort_Size, ra, true); +printArray(Sort_Size, raout, true); +``` + +Result: + ![](img/radix.png) \ No newline at end of file diff --git a/Project2-Stream-Compaction/img/arraysize.png b/Project2-Stream-Compaction/img/arraysize.png index 174f6ed62cdc4e5969095034389efc8a992a0f9c..e59861b166b23d2ae442521405d59ba2c0484abf 100644 GIT binary patch literal 123008 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 z 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 AUjP6A literal 82394 zcmeFZcT|&E_dm)Mb;dd>2uf2?1d%2p9mE1kQ@{XHf})5BgrS5M0?s(16k(9wl`5e` zY6uX*C;5}npr@|%k1F85@BFNcFA9|tC8mHsesnW5 zHxv@8h}*S#XB+VM&%a*1*}m!L`eVH-n%vYkNww0<%s95nroK zKOj`w$=e^>Gi)eh)5#iO^}%G+t3K4C`X21?>aYC@S$yXI=^X4rl%tbgyR|xDpjm!GD9MlPLp$(FnHjrVY z?w{LEZP2y4gAM2--Nq|B>$v*LbY0~(T^c()d*jS^0L5U_v#kAr|LH!MxE@%L+9e7ywAvE%utt5rqQq2rwg^Imzn9a-wiQB-x&#FPz> zWt!u2A4pG1Vn#V^^P6irHvzt>kilcIyZk9_lSHHZ)+ZGdS}Q@rCb{mYvwHe#HJ`t# z^sx9Tv)<^^5_39FY6E$sBOWzR%KOgf(h%|7-)RO8s9IZu%gwV3d1U{pG3=0N_i$(P z5*bCls+Lhtg&eC5pUHre^}<9&*PmaVHg8n!U4l+11&|~1@&ubQHgCDbJt{8n zbh`nU8QYG_3P$`UCh8bma_cmi`WEh=$h@FD8cGRn`r4>qs37$N@Yk+{EZ&V19CTQ9 z)1xUlIeKqUFO$7)^3c zPAI(t8UIfIN1^7IAeZ{AYJ1Uj>Y@E!7oXpjl6KWG9NK#>Njz90hyH4sGp|o_Kh0g1 z{!ZwTp&XykB4@}1G$xs`c$m3xeaPZQ?GNS?MraIeR7Yc4FKoNH83S($aK;Pd%)_$$ zN5rpFr(?? z2Xs#XlSF}!DpAMykNZ&=k!-&uC>g>Jb8LhdlL&DeS8O`15VK@V}%GR2uJYv?AYvEM4 z8(rZy+x|WmO`qJ;^N;eKwlw#(PqjT3dA? zGI&C11};0rEEJA*t@Q{?~1^fH`|VQ4hueG(yrOU0fDDg=;E` zAKVe)vtO;&JONpiWJjvswFcRC6&=Yu*M-ESknECznC51_4XwUpx+uEADKkTRR~<11 z^^D<&u}ROCcA=7Ky@STuT*3f?roVwYr$yuB*36`O!-661A+etGD`Sh*-3@By+%GD{ zY^1^LU33mSZ@nvSgSz0ST`1k^cCT?gNZPmatHzu*BG~!qNupsEqX#?Nil8iO#0Tx$ z-tQ%@5sYRGi2)3$T$M5sW=Vv)9CB)#YsrxVJyfDn26R{12Pl919g^Wyc9Jz>j=3&PDKb5iP^lEw6 zddK`yed!gHIm;UK?iKIsdM^n!tTL`vIwQ+Boc4m3Yp8@}_H^SlN_xD)OGEZ;S1j?H zT~nDP7f(x&!p_85u|lP$0vgq+2I+-UJniTW10kW?2R79iRew~yEBZWe27!0ps56g> z60}nc+8al6AK=rWcCZ&dhp3PzZo__*mjezOTqX4a&ZE%KxzDgg<=$eFCuc zVuvF4!E)@2(*xL)v7l7?KmgXyHGe9Ah&)uiv&^uw)sSfZj>3Yw`cN6Ou9DMc^P$q6 zQVY?i%~R4cYNx_-$Z-z6d+U{37H~&gKS{ZVgzhyBEgv6{;RahTY7KPr2FqdM8f#Xj zjKQw=Ysjyz4gs(f6xZv|K3p7R7P%Vw3)Zjs=te}D71#S^J^SxB<3xHqtjz&NlQ>}> zJ9{k*P@b+Mo63Vyx>}6C=b%x%T;*LY_>*e}j87%?(ZmFs8byc5T}&of{lG?p!_Ok&y*C}N5G4ZEqWgA5Q&fuw%-KQ#yC!#P zz1(luj*I&J^ayz{@Gf>PhuZObSktovhaygk_GRqH;YsR19t-yxv6f{J*HSsgW%BGA zuR~;!P3U1`2eN81$v&Xem^C}Lc>a@?Q~p$aD{Z2%OnXNQ;s`#jrRfGYjKC?@ZX0ho zU!skv8Nm!72101saa`D8KT{#YNj> zjgGqXKPgR>4gAhPDScAuPeM0pQbcs0Unklc64r9I-sxrZVtM^Do#|+f(!_k@yJE5ha!)Rwxft57uGkE~t`!7vXnNKLDhD_>HLB@Qy*m-(%hvS)|YW}+Eo zyPAQ&ZD(Y%!bv7wGH&*@9?uqMGxagJJpUFSX@X!k*LLZc1|;A@<(Z_c*4CU~|R zfRNZRIks6TF7?nB-c5D1rttu-Tr<3t_el#$J%=SpcTQ0PebENVqCCrfeF@p%CbV`$ z{qx^r7NhX)Ysg-|P~KVlNam-@FasizWrMVMI(R56oMwU{QIulGP{DnYZICv@nIGm> z><@E->mrG3T2>e-2+s?HthIoN(~}d(t!3TK^=nOj`tii&HqKNiwZeSNt`jGnMSq&A z&xw<5bM8Vix|liVGNl1k}>byp#A5w zIsd_yKck|J-<@q=9h>#-#S}RV+1L*IuQ!rI2#vm?>oR~SIwhXP2Dd!H6pp&sv*7BA zmscP)=A#!`Cm>!aFv8V_r3O@V&Kxu_9mx+0KXWMVj+QcBHqL*&5K3 z0ArzuCH192i9fu%33og%FM6@x%@C2^NVoiDoM;+f$T)zCdNn8=GQ?uCixrNhH?BjI zsjwb8kAgUiE-1DO5H>cCqY+)Nq+2-DNMnl1C1AxN-5FA|a~fD~!_@g`ZmHjJ&_3Q! zc*IGJMSQ)LGSLm|p6>bhw0W&hrpHQBhBLyYVIXUluRZUQgvMItSP4-X{=~B%L7TWL+N(WD$rO)=-6!IHvkQP_r6=!#&}(c$)|*D_Z2P4Q8g`%I9cZ~ zls0#v@`GN_e;(?g!2IRsyWE`sFv1Rt% zX=r%<6mQV|2$73jtEEk7e8QHt*BP)c^`G~uRKhlVx1haK6T{>!=YD)M9{XN))*W(< z;+P_TS6-#{|!%xMwb??fp z;piYqEc|uH%K}9Ia^n>J&Ou1$11sO_@95tPHJ<@<7}h1zE|z%FTEFdS;r&;J!gl*X zAu`Gt!Z2*~#^XjBMD(q30qR$Y$tzvZn_eWCOmuzm=~L6S{hCUD2XuJFh3)FObELX7 zy^uL#VU5i_$6cP3*rD3QrsP432j#} zBrkD0R>)4h+tBp=Y3zaHXG^0~aUEsX@h2}d)ZHG|qFr@5c0=8~v|AI?_QoXIaD1R7 zh23$^3s6;U0%6hp20Y9o#F2xrDCwCcY@nuAp~mC;2}W5vqKebokynM6`Ov5;D4wx4E;22<)@e zgbeyoQP%Xh$umnObOtCV*6Hof9j9%UY@9B~PL1X+znQ3Qdjs7#3P4EhqUQkik8nq# z-yId*xP+%ypN6m*h12leCC^IE&XA-FCqkX!m`7J<@bALB{W>?L@dNt3YKBgn23F6% zfx?k)6^#f0WzCit$zl!^*kXduC1r&7-o;Go0ooj99y{b{NM$_u z?5^c}`PvXxsse{d;=QoSCv{hT+f>A>H9Mvmo?!!r&TvL-k?+sx-z~b*7!kB@dY#&5 z(o6r-7Dt+68&1R)*>MZo4Ext2!Y(aXb=Pu?3&I>Rkd(hziw^cr+< z+Euvw<>7Ho8{Bu>#e1ndGwZyO@RC|v4TwyNwpz^Z9`-x4EU=3Y>zxYW4Hm%OP{bs2 zE*iycq^(sw45N;ZjLG)yc{qqRFza2`k9z5NtuO6P=wUexT45WkKa7H=tfos;Jr4U) zgc_G1P|c@zvy=O=%11AUAkE*6v}XCTVfEAy5wccOyA^!o;R{)YO^pFuhvi3qS@>kJ zuEvB*Tx6Oha6N?S>>D*<70C4T!cCFP`^Pt=N`MksyJER$&-*m{q|s2Ros(|qbg!iT zhGrMCuo%TuDJ4N`Hq?Xn-Y>nB5N{t}w?v)QrgMsAU3*?n43tdipDiQ9?P-h~i|O@Q z3HB>`MUdijXN`oAxTk9?msmA1r_E!Z%T=Y9TLa;>BdzQT-`$vX6ZcQA-P~dBf9`ND5Ie=&+M*Bip7?mKOBTwjr@P8w zNB?ZV1JrcQ`K)lqOs1=_wc~A=)i|b;X^n%fN*WM@zI-s^Q73J_dy=S4$>+n4Q77F%t1xORUZsm!xW4X8_IaNmO@(B|nB_Ost z&5j#pwHUTAUl5ae9VYeeMMmHmKQR{_TilMd!l`PgYs(spMZQWw8kjLQ9RiTL0Ug5ceQ%V^A`B-Dx}q!j^4Ts8#wr*j%2 z`YTUTQR5lNORKwfJZI$sgkvMq^_&$fCo0F>9)?So;`Y`%6)ocSLeRxzt>OZjpM4T) z8Ln2$4Fbe-9NH<@GrQcB(gUP{dS57MAbanI+tDe>04G`3=Rz1pgPa$d8*vW(Wo^ds zP|jc9G;jLm8rkjRIVTLt`1_kkrOA%zYoYR$&hR$p)kfl*Zu*=QeUj9TzgD>B_npw~ z^vx_91aA0HOjOokd)kJIa)%9WAZ!6~3_X3Ee5Sbmv-lMJkM5U7xD6YT@wKSvHXonb zYk&3o|ABzzJhYd6ZUyWGmf}t=?_GgD1za}9&&pI_A!WHzZK5}fyf*h^dT+SJ!*kyC zW#JVk*ziB8m8853s^M0c+K;pRXFnUaSbnJ zMzTVV9}wm`pqI=7_gKbsggB9I*w0L{WnUi;LxbGS1CYXJo%}!9`gJRYt2ooEd*o@ zaJ6q{IRHR&og7J!jlewzU?i}`&f+8eQe=aszK_wA z(2!dgl(MD&h~6>VUo@!ty|P@ac(Gb3JGj4n#gJ2kS_>ao4;K<@KCzi41qJcXUDvWU zQC4x-O@SoRrV7pbx3#y|DT_@S>8VSKKu7g=tbtiv?sP^2u)oU+A=R*(}32@Vw z`mvQ$Sl2;%A)ry#i`wb2=}gia=WsECZre!{9O^C3;jh$;`v-ECk7?jxZJsQNPyTB~ zS6GhfrSTsi^pC0G3G=~& z-SI)_9hQ(saj1n(5eM@q3gyXH+1}@Xc>uU&HYQ+|LI$*XmYZo)064Il<{Hy}UXlC&Bn^(QD^0Y+&46AY6u$ z%BJf)kr5O6V-a&#YOWQpVD4w#$?P7})%&XJYtsW_LotnSBFBC^zbSD;pu`y}jX!tE z?>ceQE8}XysIMIg_D=t+ex`y=Ml6M4%z6t;I38%f>oX-}vC_QIhwp)7+X@NIN9om> zsAcu|EjdfRrBCDPTs*H~-aA(N(0~Qt3To_7SYethgibW%P6R-l?H|tTe=`LsYF+Fw zdg$@BQit+KFl5?sOjDKpxQ$3Jb!5Y^n-1yS$3QyDZ^ok(K|K2MT>F#v7LU8aQ$<}% zpdJR>v47gC+ZVon_Qw6d6|??lc}vT0vTuoZMn<6&NCN$I+&6Z7z!l1pA4q_hf_UxDpMLfh{j2F>_xe07W|XNM9H2hnwrnLIQ%4dg z=RoCIs{@n=u5-V{Xm6YUTtis5!Pwc@1&McRG*kN&o8#bUA z2#sV~!n*>{A=?!xd4ms}KB5(_`ij1ju^e7JU2Dj?=y5MmwA8QD(>L>`q)fs{iZ3~z z#O|o}B2iZQm?>j7YoyO9if-2`ngGm0B+9a?Vl9M<9+T(`xqON0ahSvKPMZM4FW{>z zz`wirZ~Pln%IfVqIY~;>G$vGzsrlMD>w4s(K1vQeqXeuSdbNe1HYRT3h|pNtpi)_Q zr+*;;e}{?Kwofs<&cF&Z!Gl>V?QadYi1p`nNsWg>Yr^-kW6c$&KnNU@umyp)V^xOS zLFHPQ29>MrsObE~ege5pPW$RB@rm}AqM8U1!bMii4)+tH8z8+FA%EP2@fJg%Y01pt7YOsYDj<$2_pDd8!I5yR zPDKdY12rAJzd|x2dB4x@YEefxj|OOB!?o;L2WPt|(uir~!SD?7_6j1^-{PQq$c!zs zZLI^0102-nt7$EWA;$Ty#{Es_quv^D$|#kiH3NsY;FfaHwCO2x`YqdP;}yVlcUKc* zc(gy5^yf>nbL)%sG)(xXN;Px+DxO}BZPMqp(7ymgw3*C3{Y_DQ?^FUoTpYgBoE9hW z4mB-L+EBY9%Utr`6KYehJ0`|N2Qb;*Z_7$RL%RgNWVr2an)%J=zebZ@AnZ?zo2CT8;wTks%xdI8$v>le88IwAd9b-!C+a;%5^&*Zb$qkfUcXL@IC-5?eExa42lr(KbE|;}v2Q=kWtfF>h$1gec z`kv50o=Dy=b5bWIgGaV;*?53r;k?6f%ub0#{TB#i#a>)`#FmWxg2wt$kDFuIDnxfC zYLXN^Scna-?!i*W@FdAy@U}ic#)__G&E8$1oKwXQlo1`KIO~KJz?Pn$q+RY`;Q%KG zjU5V#(=L)ex0Z=We?8om-o#ydUH`)csu$zwrd!tgintM|6g74{YF2ZvOogO9#%gwz zObG>qZOL;c)7H&M^>{-@z28-Zxsev1K@&{((pBX)b3C1GmqPJhlO2iHPFQgSk_M11 zvop;dbte9oyuqU^f5$HGPOtk(2WD>aDeR!ANJeAf9rPu1!Bv>l+6kpnPVUrC7*5Q} zMNd{P98XWW<_%`|07(28%=R#KOa1Ik`&UC$yO>h!Vzn7kj#?yOXu>{uglOIO?Y$1> z3nobmsUN)1LDDYSWtWSOuo-5nPV{PKBu!)4jB%x3^oR7ASf=gFL9A;l1BlMODDoP! zc9Tb49Mt9GOAgE$&s@i{yN)sjn4L$>S(jBk;m&42)op!oK8-rNtQ$+E_&?6iNLm0B zTt?>qXBera`r)Xkk4|sd%_B8~_o-14g^}C>QZ&KmHy^RQ{bRWv=#y9aAM(a&al#Vy?XU{S|8b-4^nk zvj#b95)I6@>nvTh_WJ(kF|lj#1EY>QG2y#vdb-^L0LD_>R$sciP&O-pCj3g^qyAtY zd8M8OUqfsL@%Pe{U0k1I73}YC;$81G4iKZ?R>0QUKPZf}!Jb$or79`a?e(otgm#`V zQk|%V0=c2SmNdf7{knqzh(t>XC%L*8 zYp&}LRFSy1?Kcl&E`7SCzIFqtu(sYHHvmAnL0UvHyHN~{5TjFIzOz2m^U{EUJ=eZY zGMCte3ta~4BD}fY;Ot1a__&{ee>TQGaxpVMsBCUU2LtbIS*Og>JwTC%^3FXjOz~1- zeM=|3tf>3@h$v;Tm6`3|o4H>tUnc&K(&G^szjzbbw<&<9|?e z=a0%G1fv|&};v9tT z&k4ijW;VQa>Mg0Z^U?%Wb(1lDn(?QhkPY9?=$y9MHp?E1lAwLsw3MJ(05pC)n=x!a z(}~L)3~vqIi#q+RXbPyDcQZ8ij;>AV1{#mjs{+=gl6*i&+O-q#5&*~+j(&lz8jRY# zvaLX_#h3lWaH7fc&^ATjzR)>9tpS55pDcb-!gUh3;1F{$My#7@>k|mv9I|rH9TKcF$uN7pxO?Wa>#Ff5PEYKh$Dd~3hl~0-DBUjBKOGq?M6)5mx+estGSp>HeR zzaY$lV5V3as?&qd0wRvFVn1TTv3I`*7Rcf+5YbZhCGW)Sne&KiX4356?mYX%z^j6+o&#Z8}Q`(!LFAy=JNaq+FY9YTF%I8_7sqB6r{yCkKq1KTz! z+T1oU|B)1bTfoPc#+zILJ_&t|-+VFnF$AnLY_|V>^#5-sfZV1XJb!Pv*2@97Vt2{D z>b`mXT&p;(Yh{tqTWFrq16;{lCXH1EvnM?UPOT$Wck>11_JADOHkC=n6xDc;pw@3} zT{Ew6*VlMej9(@U_>VM~TGpbEs;2ANJ|MY{wLYKd%M&RGfh})I;O#^5WZP$y_Bk=E zl!15ThSWp|okn=DWchI8z=fE4XAF#*vEcx?kTu33>2A-sMbB?HTdORF^vASwNKLMt$@3ai_()h2 z?icCHU8i<(214_KyuYdI{j5r4D_kF;*TF43?>$1{R>NKVksjIDvrgX*L)(=XBc87! zePu{rLnH8mE_asZygo_i+e1M4ORa0W>)aK{o zq12uJt_}YheD-X2`sOlXh9jrTWgaIof%~J%;k_AHEH-;G&r@{&zgoPZnmc%g6CsFC zlG{S80nXLm9}e@P)XjYeZqaSH_45`xz)N~=jxoo9vo`N!C3AXovN0oQ&cwcSKo(Q{ zz$?%|ONDlDL|)=bS+4m@z-82tOc)>p6W0;Iodv_*&h}9LQ;)6z0xHCm>61BiJ^M_! zwW86VnCn%W?7;!WA*wq2$cee#zy)fsJ#sJdbp9?^&Re-OBWCYx(M#!Mjw|=<0crm5 zZF@i;9?5l(quF(Op}L(o6E`iq&sgichPQ~!X9rA19KD|O0VBV)4;4`OF2~&W78#6} zYaeslyn2^Ek*k~iVPrWFo;R#x+)NT-n{Qcekaf<6A;^Fb%>KV$Re4GqX_apoZBSsg zMed(goo~cRpiP9?=CGe>w`#?=q~)cjbA0Y)TD5zxgHe5(8fonOJaFMxVWYCaQnw1X zX2W?WH!HY_-3r1}e*52x*8iWJfQrMR?)-%rMR_LTy2(DALVJrppnR!F9?CehM_XWjEV+( z1+OXWyB;R*{MzkKwzr1E2&-7}=umj%7N%W1;@C*1m&Q zGrtKIJ1C6#jmFIm1<0$Tu8OlKcHdr&!u`S@z5RRkvKjE2&ebwtslx>5PyBwBW1`t6 z?xaQFgigmbX%rL?e76I`+24kD=%<1d1bAzynpsqw0w5;X%$ncp%)5p-O~Ou}igG%$9c(N`TD7^M{4*1}s>Eyile>Ep{i^{?os(0-Qsm z62QTU3U125cm8r5ldUC(H=4jb$xU`kE1im%x-pYx*27_vdt0B2_YT*1^gh=ZS-L+^ z=73pcQyT(P!nKY7=EwnRaR!ZCuF%IRg~MPJr5Ho^mMy#Jg|o@20zgvITwuM$ zyi2nto6JjILgQZR`t5nCmj&p4*8^4>TIOqCkDVSF&Q(*zu z?gT?2pau1oG_V0Kgsr^tbxGAHNOfplxkH6sB|V=eK7Zt`OyG%J3CSlnY8yAVrTjPz z6ficYwcFd9O~pI6gTlI2n|LTTMeWg)^-MvGY0N`!*?VG78Rso4+KrGuu2Q|g=$h{KW_4Hj3MY;?V(=fXg z1$CV;?x2)cXzw5Drrz1&#v{urY@=n?i zqEMkjMcdiES>4dMPt)e`ulK{{w-h8`| zU3@IM8?+f;Oab*;i_%N>5d-j4;Eoss*NMU+bug0~6<9uxJ=&@&dcBt*`wX3DKJOk?Aq23p#+y``_aVf!|gJ_!XAX_&0`0!J?3Uc&>VF#zKhNpRX8F&9fx<|6)$<;S4 z50*K>aSZsLORU?6{zcBM55b(Gz`_FQwJeYv5_jF8l6}Da#We+vOKSnnjx|v`rP|Yo z9G0WCo!rUgxEhB9MIicGXqK9f)(N)DSu8kC4|Zt!yY>a=E~p$9R!#*6*u~HR|c}*($zp$=GE7r6+Az#-g|jYAI5YIzh@^y9$TJevL)%vIlgX-y?7`69uP#W zwa0)-a3W-P)%ojhG`{yE^W?uimG4;RkZHydKH@wg*X4i=M=dq{BrC@cz&-8>Z#F#^EbcR}l2q9F+1;)sx~3 zig~FAo%cCdU?ll{aB=UT7V_SbHlM=fwbZO{rpq zcAbqTRI2v|@RbeojPp3xrixWLhQkCBff{&)Y_hCxTL40|yTf)+`qgE*5kAeSs@jS_>kp!s^byvPnpyxHNVd(jQqGpQy1|VN^Ys_BkgvK>trt0rfn{0V>xbj!s z0w)rE*CI-HWh62A5J1_C0_UOZEB7hMyygtuBHUCvN3M3vTgNzsbaE1+fzoejUlse5 zouQv%7gj3p!D?TdcYxd_vJ_86B)u9eNlUEz5W=`c&${BjdM1qI-xt_b0w;4*o5)v} zQh^c%<*mN$i?(iGOzNzx33tF_x^WLO#wE_Jxy|?aeg2}UmZxUhQ>Nf)4aJ#aHnA?< z0<`kr^Sp;V6X^!R1OTH|2Nh<1S1Lgm5dfo)&AoWQhB4-Qm=i5;Duofiw>80bK@@Ee z4+16t2@sU#i8Y)+z57692w zj4QYTx`qE`(BISxBLq(W&9nf7g1`}v2H2D{D!@uYHn=u}KLKBIfUxQjmvr#mw6%mF zfNVx__#o8S063izYad}g4MHUYqiKm!p~fI*M*^W)du=L4uL{O&%CH&Wi9*+H0K%b! zEf7^|LYKn+8;ACnX$qk8BZ!;3YJo8=1N3N&l|&_7z@ynON=*2(R8u+ZBw&Rm28)1xSd@%FW9=-JvP`Ca z6W>(55L*-5Lmh{OsKUkqjeV0Vv3wa6@8X7z$lqk6^0ua_5?LPr1F$^x6zDIEk`Wji zyZy1~& zjz0Y$=%pKB|Bw7lbu~W5CxcdFngyJL?LYn1wyaKo2Cdb2pkJC`x%GUh!Y+Beg>vwG z^t`W6^%Mg%7(~hZ%wI0`RvTzj>l^&+*+y+i6=8zq z)||wmbvSscowU=Zwnx0uMDgGAC~beYW1JhBzH<@PQbqmk)#=zXTNHp+=qmy+jeuI2hLqKL5yUBVb0$T*7cP)h(cn8qdy7w zQ8@A?4m6>SzRp^zDxQS>0`{8K^csNnU2EYBuqolFJb})n+M7m$0Xjgt2?e(PeA#z< zvz)N8K&e$~{-ra`um9;!Iuu(}%~%1CLV9Dg|I^>iS4E7)`6Q|&?G04{MPg={i1h<`0&EUEAw2-0X)zuLO8CqGQwe7FB34~W>RIy+991oCM-8;jHiNo@JG zLHZ@sr?0}Q?deIQGJ3LQ${i&>=)HXF~LdAiWszLIu8Lwz@P@brSw*f?? zX!NIh1Mra}VK7+vs(FnZX)9!^l;KlXGV-s$Pz(b;PVoBdPykoXYaw^CeBzY6odYOg zd?<4pqSK(UGu5;HZ!RDFPt9#oA2o7$NL!Db_4k1IJC&^`Sfm| zEB#dE5jA&0{QEN*t(8dTa1E&obJ|CIS<#_3(fUL3e?~4n=g_+K=N$m~Em+&o*HMn| zPrs%RYj%I=TryM3r*lc{gA^vt+xh-IuvX#xA@;v!pJ>}Rl9C*-P6eZtCp*Gb!4)!r z6)f)G5*}m{7LU5}>at&rV2SZdLuau5Q!oCN4ZrGqYvsKG@z8YAP_UD|E>7cLlM@-t z0=V#3bFbm*sdV=?d6+bB54Z;M zLX5%4mc|#H(hJdURv~{&g8Gf11;e#(PYWB%Rh8r3#D0$}R`(ca)S`k}m7Lh?bT-*| zxr-m%K8i$4JA?k9QE)zze|?U&&rLclLmWIDT{ z-G`h%kDT~AUI zDzx;;Kg$4f>g9J^g8oO+T;^lmFX(h{N`(Go?>+yJRr9VAq-1)iA%CB@WpRHO0H!o$ zOe5vs54|W&t6M+kmco?Lc}L@NYEo#HiN^BZQt7rLY-Tu+(yyPmh_6bG+mK}R1@o3* z4E|CoRZ7`c-Mh)4SCI+}ziL0 z7BN1fV4nCDsCt9|w|s*vLSin^z=}%>RULUBVVX$y*|ltEL7%^?Z}}#0WJF+02)F(R zZYy;1=@TUUE-iMsfpRnHt$1qteZznHtG-23t4pHj*oYnXjeN$pCb3)4-+)_J)M&fF zQAdpSIV}V6rk@6Y2deTlL-+vx(Qi&+iUqjYE&!4Te~w5z)Saj%bpM*qj{>*)gAVX5 zN`ONLGXVR4%Ua?u{-HHrfQBD0$RdH^j4o##aCe79j8z4!_*0JP2e2VG)gT;zsi{{8 z@dBT_z~qNHEsFHt(rhH&^Pj)q4CaNK_iTDIAY0yv2IT5K#OIuV1f?~@AaxY`PcOTeau9>^l58{h4XK+VgUKosWgn(hx)^Has9c1^6BEW8w8xs8j zD(-rB6;<=RKq`16e(-a;Z(M|p1qtnsgRk~&0epre=yFEbM}Vk1O3;c z@&x@~r#mj10J#JJTDx|Wt?T_!ncuy6A#4oXcmUhS{y8xDtE3zX#GH2SQ8E(z{@3s? z#fbpc1S5$JP#R5cN=)#FE|l@(oJw|mB2mxEVt46fLcAahycx3W04}!~=#<|4)_+ei z``XlBft%qTlHNb{NTf`2Sa1rZVz06l`WOdfzWgSF{??0m=2qTT1*QNYqeHA_)C~zi zY}l+0xH3Uf*ojo+{{;Y|%_g=I0#Dbh4qdVWQQ#aXCjBoprv9Tn|+AhG@BmVp_2TidBc65jkF96YJblC3z50i2U$UbkkNf`Yqc)q8{#e_GK z0G!VOOh)+KCg4=lh28ikBy^OYCEd)nH$Sw_{mO)P^v` zpC)8ed^d*(u2%t69qc|tRSBplz4%{wfj7eB0LnS{yQAt&M{P-MF+|2OIae)$A!Z-)OBC^5*7llEqR?l0l$wCF((llgM>^7Q`0%$A{+fK9y1ryQ)Cd=kE80D<8Kv2CEjeTVzBX&>?p~4k-G!Rb7{Q4vd>oVBOt%L+0l~ZcsqL?AGu8PN z-hKkqnZ9YvM<<_wEz0lBnQfI)KI@cQ?D%-YXL4)ogwbmtngN~bBPn4wf$rHI8%<-( z@e5QzwK^B#qN)V4TKWr*20~{+PQYUKM@OIS0<{qN{6rZro%IsVK+O9wV|2G*t70bZ!t~>3sV5p zAGLk}hY!lS1F3m;03^8sfNQE%+&fea_}wUn^=07NMJHb3`M~_$;K%=`BF@6sA%|~n z>8rEP`8x+Vv$UK6v~!MPj?O{Xh4%@kI_00<1wxSL(Q|g)vYl}*`Wi?~%PN2OA+`VQ zzQk_$7~P@dKA4677!-3(+UARt%z$6#Ytw`Yu0w6x3V$;TGey#14q;PMZ>tavKkKwj zLOq};fJlFis@gdwd@=-a%t-^Kqw&3d)RN(qzocA4Fu?>`jk1oFM*Y^6jTi!u;{eO2 zfQQ&8h`NLxD-h4bmV2l9FxuJ|j<^y%cVp@9nA zJB%}Asu3T5q^8!1gq8z^C5o@q?H|FXd!Uzr(CXEydteqOht`BdEN6Uj0Pc^dcaGr0 z!#D4b@C}VjRgi4K4j8Cl!C#%^ox;j8zia+g#O-kFEA|jW)gD(&JkXHhzC#tf+v1xS zgzm*=&pr8F>@Y1G;E^INN`I0c9e*68n1iZV!~*gMVojrG-f8Z(O1+NqoDFRa#Y_b7 z>o*!!0>m^lgac8`^;O{KyP6*eyQL2ukZH;5d)~tA&l7?HktZXt_q=a?)iYLsiuAqV zFnH`k=c@Z3<`K@PqSzewblF;RsaC*D>c4<}%(1pOy(A_5rEmZ;h};@p4(#>wYp7%& zj896qra;u}RoF?Ba~T^LQ{Aa;+ZWJT4`(DBKWHoKJf#&CGSI;xa&<=VvZH!L3olD?0!QywU6p z*$R#j2{xH<*;6LtKoP~!x-P&}cwBX7y@PM>z{$eM z#luNNx0m~@YBg{L2z2gDEEiLgxip)1rg?1d_OT$RykGyb$aDD4A?I~yEs#J=dc2{l zqrCrCT3YpJms*&ml!koEn0IbstV0vmVWqV)B$&mMGvyK|&WWJ$$YIM;XSYxKsEKMu zs8gOq1s^AL{mFM6KscB7&2i+}W(K#StNOf7!W5(mmNZR9>gjLWR-RwvF`yWj({e8> z_YaseUhJfS88%n1>7~lUiY#(UvA{YcOX9V_!25|Z04igQeI^g%Ilrr$jL0<^2RF=X zS5WN2+=g^_X2~!z9^(7g-{61xg|K!ait}+fbm><8bAH69a{QkHKi~ua)B@PuIXR;K zn5axgUXYY+G5Kcc^%za*fLGKWt&4g_gMr{r?|BqPjw0<`M&?4ubOWMSC0Gzl)|=K5 zhUptblOK}X+Z63UR`;{tXveQZd+(*@XPmOLM~1^DYJr- z(whzdL%PrEfZ$0gw5@+iNcN@XE>#Pkl7;`SC^dWl?*0MyowB-PrCY0d$SJgt%NH7B z11i?B^fBW(zP~K>RlNulrAa4^-u_^A)#s24CHGgDaz;izxt;B(m6M>rLztImb}Qnq zd2d@mGaMGf@QxI@}<@VXAs!tsUFiJGw*9g@Ku$XMAg|zX!Ul_w71Hrr% zqy3Tw(KL0*MM?I<`7X{<1Cdi}g76_62ID_B_~DkvigA|fNQMDxdSCDN`?@n# zO0{pcb0De;gel}*$~pnzTG6rzq%N2qNvoqqhisY2E{>NcN@yo1ey|V!i6&oTCY_(V z!E!)jrnJ30=j->mQme{&blh)dIC@bCCaTVZ*k@x&K=!B{_Hys=igSM`^7#>uZ7 zv%!&}nz$%~Zm!D8!-dr7o5a)?2--LgOW*21?oj|txNCA@hR^0TYLq00;7IhozSDKz ze<9Q&O!^gq6ZK+_ATME!)7FIQj+t_Z;P9Q!)yYb>UDK@|NQ;$t!CJ@{%;XU0d)B~ z^ZQoF-n`p-ZWWO87|@<3K@biFCy3es+olm?Ty-N_4-e}q`zYQk0Ch**iwPGG=PbHE zrp41U53k7|hhxQR5Ew{-fqvN3JI#EAKL$_=WPon4;H<6im;Jfda{wc>#`8l8%DTF8 zt8^E0RjgNyNRzwRCwiiw1eWxG(d&Q$M=s7O}M`d^u^Q@2PFK5JD}m7OrZ1W5Cgb+xrd#ua8_ML|m=9^8OkG9c^$7o)6CyRhnS4f6V_-j=hQMR z1d>y;Kddu26yZ=5zC;OC5>Xzib=@;x-&q5U$v|0SENg%w(nFknd|=|)WFi*jeK+kxKKSre|+5Z-x`@G`!_>>hjJNw)<*no z)tcV<-Kp}#JDvb)?owza1G(3M*{xATMcf|~mLA>CPS}%tdBLYy)Y6%!5H?*WGvLqX zwgllvpMYox`9iq5Mu}#O-qr;hD@NJ+%+bopPQlDFhi05RU^yYbkT@+GChtA> zEUj*AailSV{^NBd=?rNyY|Yb_D41tMl)^RAY1c1h2~$1WgUN?Yj5JwI|0I|%$2l~b zZ)o2ZexU8B0Pw39$UKy)B|D_?Hx7R-Ngj&I#~GHVU`l+6E&x7r^2P+MUVWcCR9cZ; zNFbtv)OkPs@vln>kW{HOOkA3sX>tl)Am&rwA$D}-&AIRpBwn<&qgKhZq2&aif1d`5 zzB>aTiuGDNG@rFX#pEOcfPO6FpP2p+Z;oX6(-ezMe9;mmFrA0uF5|R~nH$PHidhxj zZ0n`vI;9tHZA%`N@ef15I!Kte>G0$u&8<{liCZ~se1E=Ck6ITeNph)aGq|*~<%Iuc z;MuOZpn6|gW!PjBNZ@#_*PS|5t%F4yC7sd&-~#+)51ey zXM!(u*#M4--o+nn(94lx`3uiHY*DE}n`3t4?&KUXt~LA@8@fmFO2rtE#AtstLFb%N zTu5*P@{}?MKkBdb&>RRu`t2Cg7raJ<7dXW&!E*fwPrPbA1&C|5DBP@&aH^qGUkH*| z9!a&@=XUuu11W!acepj>VHAsd;$6gC^jY+9ZRj@pv^ISK1%WnRLJNGFlLD)JHffQj zdn{$3VOCt6(ow8IgpFtZ6t5POgO26H4T7FuHbsjw`Soh9hOnJ>o;NW+gpeY3g-r+} z4<__gPZw-xA4Q0JdwYF(i@>wBmL+zY#(99XP|DnAy8Jgwt~pXFibys@_r+{)cJdy( zq{YYXi_Rs}iz|>2a6|=E29fdU`>>Lmcd)~pvj}&I*EHH zq9v;iwVhA>3u;5}oNnKCr8#Wm$@wNP%wyjcLGRP#-+u{KA@f5;^#+6_h3pxqj?uJaVY#DjvW0JJ ze63Vni!g0yH4zyoGF{tMMIvvg3<8PP+RUKc00%!7CtYPQm}SiF5AHK`xJ|26DvaNd zWa(bfsa*>+gF>RH7eU+|Hy+`5FlPRwXxQ{@`@U(u9erFJiC9aiWPAg(I4KwVC=W^e2QoG*>HSx zL>tOZ7k^$k2Ig)iTQj9ko`R{HNVaNS@Bgi&U3?4e$O)Kru6=!svG)zk54tT&$HjFe zCiep>jdMcW5y8QGwe1q4n+{R7EC4)F+u3dXd~S2l&#KQlUA-o2Lym!q{hKJHQsR>U z)MGIC#~gE{3N?tg`rxfTHAmujJRXbP!s*LnO>haEWL&X&hHJzD)nlJK)eH}75>u0(E-8p;IPj&*^n`rnj|C}!lM=(+Y`a{Z;*@_fHzKun^5{I!V^ zo#JlLw`O#Cd`x8yQ?^d#>ZOUIm)x+ivemvV(`842D>6-{zlw|y^I6dfnJ|dV^Q!}I zI%K*`8NFhZI=p8fGX}EM7vBkvUL3q0Jyxno?Iguod4qjK zY6>)-5Y2V*yBG4i>o0|$KmWa*c&?0$PoivrK24K%13X!VYONpdGeH|bD8CBr>)K<{ z6rHel$u@FNHEF>M3S@gEtu9zm#~ff7I57$>@QsakHtewao!v;!3O!?g)W1~EwOBv@ zld@CA+d2^w%`r;e4HBcfqDM$*1vjx>th(>VNAuxMe>Pi=$I^qkx0!x5>qg2Z3ZAF( zyKt}qqgRgE^)#zn4Q!-!iS4jNU-0DFvz)9Q*0FEL~VBnx-Lx+AuW1zz$Rb6o8G{4FGK)K`hGKiJ9$lhf@7Bs zH7oI?%<9?XSiJ5*(%{z|r=-;LITSJij$$6r>f|b4=+z8O5~M6fCM8>&(YYYh21+oc z&QRy)hr^%nb+PoW?wDAZ0W1oA`s_NbG{=W(2GQp}egvA@fI_b*h?}mPF zpC%pS*p|fZI9RgP*mv*nJ+!*IdN3gS$Z@~-ZDCxy0H|Pc+*4xwvVW5W)Z#@ZKEvGX z%dLBLZ1ZBozj4p{-!4xw{1CqPcIf8$0ZOUcG+&kVPsVctpdt>*IXw?r6VIDX$ZmVE zJiI$C(_{g7?PKT$-gW*US+l!d%X#yAwGBJGjN77)h`vj;M{p(yn+?@XYG}d_xti+fUie?N8<7dgeXijX-z*TZ5A!rWK~E?<9C;ktcty#bXJdR=-Rg? zg$RAX7K&w$7xb0dc^iLK;SteLtnHrDX|6NvZCK5$^91K!K0OI zIR;&7y;<5ems|D#lfbsyXEfpaE}7tpY}E<8(=z%FUmfygc&sXMYyB34fGo!ar267J z=WmYHcZQ91TBq5CJAva~F=K-oRIq)Tg_B4qqEbcn3Mr3q>)e6OLC!$kubwIz-$w!i z0LsaMr_kVlDtd05n_7MAJ`WXsvoGu&UYY+63f(}~;Yun=)<+%P57rI9z;c*a9>rP~ z4THB>suirWvo8v|$VRT&344d0SC9Ah74|d>#-0izodklX$Z>om@X!3RHezsCK-GYh z56D;O41;o8_!!S$ygIxgNPXFT#uDFCZlh~g;Flmf(X{o|CWofkui7 zILnK1cTTmRxqW6UZP#U!YUH-NlcHi_#AP_UF<(U}8%$D&N|g!X2l&$ijPhr^*9FmF z-v^RExHIa6c10*@PgAt0`-9`ZurRd!(nO18*yz*U-Z>h#z(h;MdbJJr(=|=dM~CYC^tI+Scud7F6ymS*?MM>=skvwpVq1ect90z6y!TeqgkHl4mXz1U^AkR(XV z;kbl>gu@9|+en$b1P{-VD`Wck@4z7pfxC40UcCy}j33Y+=0=}Ql?FWpsqGtbI-^5h z?0(a`N!K>sbRwctd-Pt?o5j&Oy%L+a8lP{0eR=e@(hgMhlpx#2qx%>uKlO1uQ={^4 zE==cKtzUI^b`PWIM?rl%;@>76*0HL!{U_>VUS8fnf0-k-ByO_6NENLEENUf4Q{5iL zKNSSlooe@#uSfNmmKvus2NLxzh+=bH8>olFfPb(+6-{4tFXh(g&< zBnu~?OgxU{5Lj)gn?SfS_VwNCc?!O|fnM-oIY}T0?1+M0bWd8B`WLJ2?BQq4zYYr6 z?I?`GA=dAabqW?`944RYemIC`I5^oN4QgI}4u*)IPgo)i-Ep$CW~ z@=6$NJ-ko0`-Oot^SyPUfO*$ypCq<=$sZq#ocZfYH(w9VRK3F7Z}+vl0Mu+lHp($^ zzN_;o&pWe8cvp{lqh&)mdRbEhC6_@@K{oFQk4(A}Mvo zCkfv~E|)+(m14OlB`;mpsgYHA0T%z^+`HNUNAVDzm}}In_A59IU7P&c$oqm1xN1hX zA(+c1yk;|oAg&Dz1-s7~zM~f`)%iV3;V~(Hn@4uG$6;MObws2<^_6a5G4i!a)`yX{ z6k`eEv(3!fO)R`3QB^uYA>%uaVSmMFqj$Hsmc1UW3!;``>r;;1UZYIhy3(9KvMgvXpd7W!p%#sjL_wGm zq*yGy6I0p3A=-G~0*{rXLSMkf{kZ#ai0)l*(qNIGZ+{X*ogqHcEKfvc<1Q()`PGe9 z{3!_9nZpeA{0jaPMuIm8!AN!z|3V^T#ffn?gOa*QZ-5}2ECSoYB}WLl2F9(c#nX=u zdfz*mXjwU2yz{oK=bSBO2Kq$63|& zW$EYIs0;d{({2$~TJFR`V7a$@}Hl zPR%d9kAe&=vAl>e(UzI(=7{@78ibti=H#TZk$^L`J-3-1AO{!Q#DzCWx^ri)&1TuK zkE&_tIOm(djq^W?_9*rZI=uO1HBbqx!5%^KgfZ=0VA)$-;vC*Qv0NuG(fnmuyG&uD zs0lxbWd39Iq0nTu-|v~@W)+!X`tjd7AxeYR5uLIwM3b-pZ~+fP8<_?C_x*L`vN^r; zpz8o6C?erdV2!@+EnoMSIbjh27u@2J@i;h949hcgI{U&$`wC;lhwCzY>D(}z#gMd^Sl?2 zE1dl3yEM@rMl3aZ>6QLifJ#6(l(}A4>9SgLSdr6og+5EBo}w->)XJPMNG89;*Y zU+GbtLpLL#%4DAuFB)PuL4|3&$-Kl4+2Hf-8{D*^&BQ^+`pzi*gY^pHG34ij6Nufk zZ+45JK6?Lv9s857!Au>4{Fw`OR0lmwe2ntHpo+Lbs|0A0gY2PbE{>1=6LSI}0c|CS z3@C;W#=+S6pPRPct_9svDFpP5^*q6L(zc0xJYsX`)vnD!qd+iu+Wc@A!X)(3Gukox zW0#b*@oGVYs6IzPG>4`nUc@QqfL`#CN%DIBb!}dNcDvk$W?x7|f5?rNPctHo_5?w- z4Ad}XSCNE8%SDmDK7X<~=pAbaB@vE45WEp5-#_L&Hp5YV{<@03em4jZ0iiB(n)N4L zhM+}Q{J{#mjZcuBl?#|iYrVRR?QLBIbX>tbfhi||+ zQI`4$*gApsqO^5V_olJ+Ti06g&0_aO#}}}#rVCihi+mr@)DdM%2oo63u2i-GPy-Dm z;Vxfr_n`ma*Dn6e@(E31R6347vI@uDvuiOp+CLK;CtWNCpEl8S51c^#K zbvtO_zcVoC>Z!a8Zey+l>dCa@#n*iI4m3qEyURbKpDd11(LIJ;%DTcoTTOF} zoc8{C3B8G@LhE-fJKASMx&mY|y=}I}>D_lj$-1C+?6IsP`&kT)%*q`$$qg~n{y$OH zN4JlIi+KmRL$jh>OW3en;u^6aidh))VmI9E27?tAIEdG5t%^u5-82%sKoJ(x*wgx_KZy<&%2z zm)xHMZYaPaNy3@ww0e0Fa2V(dyiObPK>E!I zG4qAW7GneWPB)E0eGWEZwgBu33;jMK)g+Av2zMWkLVP~6M9~tp3yJi6y49CM3E$j}6SQpP>3Lxhb`!Xd$+>e%>|EPJP89>Ph(Ie&W5 zX8XNexP9YAdmNfoaMZb4t3;=45GoG-o0Bqb=-!Rj5rdB02W6iKwPe#xoMnhNls-Ec z$M$*G5{H0RMoAi8d4K4v&yJ;rlHE?~%zF=?J}TIg>fMEORb?#G6)-yvJyso(oSK68UkURW{SB*1 zyIp7N)~y2&tZ4ug<{Ge)b!?|fc3*RE;l85`l$U9gUr%YM;0dMY4+`sx1_~&s?+9Fu z9Ot_U9VZ%Gj&ub~=eBskFA-44)a;xnyJK0XBAoAhzBav`?Uu7igYv)V$mTFgIt%PX zu;D7T0(HuI0|pa7rLr(PX7518ec@?rl0U7fF@fD0JCWz7=<8)I=A-ROeNo+5XXqfTUta;16_b z{YC)S2*CIdRwM+h6I0H$1nZn^>isXwPWQQ254HsPt5W%%S?Sc@=Vc^3Ky?gYmy*sm zDOu3hKm)nlGy=n$P5@fXwb&|~4FDHJs}Y3+PPs?~N<|%`*PFx}UoPLALodqgP|o8h*@2OhB6h=p8c6*q+KxCfs1yU)=sbP?pRh z-J1lrU%t>B{~l2@DNbHMU>HN3R~b)BBJ}%Ss~*R>%?UE@Du+@d%qh~)?d%XfSI2^w+v_snv)Wm9ac+HJZ}<0nj4y67m_->9=x9H zpt14sac(Luzt}e6X|c-aa_(oy;QGfoA?D@e3CC1;b8Aklj`i(uIs1P|D$S1JcyBMS zqrg1n^!L(J+o|KEY2s&?e_&h0g3!s0-JG}}3?sqn@hIKXuIO3a3Np^tlb8r(u*bGG z_q-rw^DIDN(D7N4K5)(j*;=JIIKTeOq}GQ7Y$Z!T&>PSr$uB^)X$UmR@0vM`XzqA< zq|wF0|G{icqm;~+ywT9eFNrtA(PS&QMR*iUhE#m#eH1tNOFwb7CxFrNG2n-DgI>+{ z7S**Utf@+O?$jZ1YhvwlHF7F$OWBC7ZQ_A203snUIUdO|XH5kJ1zr9>vDLc|?bWn0 zXB4N$9QqoW9PeVkEVNUW&Re(8dKd}s<*!BKTlPG-19zLc6J5) zl8|8t75vvOcvwM$Eq{Rf5Am70H8=%{Hc%YL0yytla`2RK*cH#d)(_xy(`0I%2pNiO z5|lpsHfPoUr=%C}rL^&8>Gf;v%ngRROHLrmM!%rFj4i#h=Ceczhh zqo-8qP9~dU&y-p?WGhw+qF7KP0jTiYcyK}@#N|@%fz1>B2Y1X%mW!C=-7B+TD=GNU z_2t7@SDc)c;yF=Gv)P1$O{O$%LA9Dhgh=DD)3SdCpC~S=^xjNg`cwjrn#vPX%xfYSsL^3K(OU8J$+=1ytm{Ai`+ z@<_|AwPdN9Pzm9dkS1>Z9alqT;@K6}v8I7Kz0v|5iYo=`X2xi80oR;HALW$fA!PQ# zLucbZ6hVui88R*=9JO_mjl<;~T=QAFx>|mg-SiOW@ju$nBsSM$F4I~QqSmDStJ|W) zYNNnifg}nQV8g%a>kPNak%uzXl@+18uLAV$l?0@)0(f38q;r3I3Sda|`{%#$J4C|+ zjC?G#*L0H^Ogu`_1MAt^`)H3P$&w&$M>l|Ez@sVXU{y@)(WW4W!^5?`64K09lvW1O znj&n@?0(5rwQ_wl1-zmjztodQf7J~s*O0n9AWBDQm)kjkhUpH_F-bl*nQ7oI%3n{~ zD1Imr&mxpnnRkS@ubW#5(93B5yg+b3<+_8ENJXtqGS6=c=ZUShMJHkQ?YUQ~2WtNB! zBmzcv4-wi%!il&bAi?kmW8p4t6I?fLJO4|)QaxQf3d1Cu(8RJzm=}tj)VyB;Z@v2K zzP@)<1khv2JWi3&V8z+}ADY{if@Bi{|HL0;Rb29t8`TXK z7trvaw7i(e$fq`q*(aoSSb-K8|5}vaFb>($eFp8QhD&o50 zEo2Cx+@@642}wJlReeh$e4osHq!Fmj-y>Q~rc}r%rB1-MksGrARgI6IPO^+!Hb%{| z0YWB30N@k}iHjKdDe)*rE(7(cI@Ozmm2{APWr8is@4%35Z^hcYAL5vP)Lwu*0HvwN zXQF!lAp~v@VeabCCS|I4{)BL4HuD+dZvFt2B-x`4d%&n-Aaw}VlQ$Q0Mv}Qx>Hg@7 zsuA zeI=Tsd*4&Re?Vi-ncM5W@M0C=}ZS zy|YBLs5W_GKX#QMtW=ZFppVhS9dH1#e)@)&k$_zlDuj5$xD(KN$2hi_;fL$k_HZW%6ELqOyi-}Ak0lA#T;-UA!ws~kS4{C0{T23wHil7pk<}_ zo=S6wIVbOA27DrW)|@mS-yAKDIO%- zY8t$$NjUbjlQ%$bVl7Mgkcx!*5QP1;(^4uN4b-p!FU({zB_0OKE|no#XB=vw{W-D|D!Cjc0Cut{U66WZGpQ6sV)H@>x)370(c*MUWo5WX zZC}!kVm+9)f$!YASF@VX4b&5 zHf}a0PH`4Wl|dv?&~Oi(hGMe*EJ$0+G>=4V?r`4$-46x!Zf=MpyU5mnsv&A5 zbWGYFy$X|Rj4}j;N?7n6@zU3DtD7b|ZJJ-N`#EAOHaukLaYEfC%vhHyW-Q7?UHHX@xj zR86A~F`MosY)&0(q6u@smYlh^C;Tw_Jx}2;YT!2odd|)YLHj1jiy`CNFhafXY+a7# zAz+ZQp8($u*=e-qv~~DCjSVUSs%e#NIMBia7upt*cb5 zCKNTLgXZQv+z zC6nZgRIJkO=ZB+cKay>EqZ;?4;4OPgKt%(9C7JyZ9;N1R&#K4`-x$-Htt!&bO|@-e zlx+dg0YrqQC5>cz4DuGvX2Xwyfh?aQz!GSpQ42x|DGBUDw0Np^QcS@9@{#<5CMuxm zYYNbtccn>m!^H3bGQ4$Jg^~Cjat`z=UN(W$2HZcPV3&lBaxab&|7Oi4D18`K(Fc`2 z4B+>K$=wuIkWB*|zffJ12BC|%_YnN(AQh}u(uJGi&-M+dwr-jWMoG6(Uy^=m-iPu`)KzP0e0mG7v{>*bA`{fLy%qQR$lNz4_e1%|R=yVc?EV6N1wd^4H*f z{3ES)IpBg>LQyz)QkSnacy(pJAC{h&PCvzISl@0+w z)=+sA7(D#cRo02((V$nr(T3YQ9>-<@nK; ziCd%id2knDGDAc8i4t}T71ZAnKs|LEsRN_4xg;7Gpxhrj0*y!rTxzL7jl$c|bXAn9 z;$D0U+%9DNO~tY~b3kch0xp=*6G?BRMJ5XUuvI#u94GDX;7?HGrxRB-*6E`(A-l4OkL3gjx+d=umz8*rdoodf{F;gq!_5e^i4 zHx`%LM%XV|MJFZ3vm@eSPW)86qdSyAwjVtFK8_dbXA^njgQqI=9l z&IY@)*d&=r>H)+1qA7H#pX`<5aI7D-)OU5HLJN+H74oh)s;;8b zq?{xl7xT-!?F%-@CKU$W`#l-;Fc}Vz5H4HgT=ead;b${^j_ewL9wIHm77&%{HgXGJ z+Ygp3P#mZO?L6|Q@#CphUnmKB=;S+{gqiGTPo5lSf4;7+%<2_rne34@ASfZ%E>k5g zWl*ggsvJ>tatnkE8WbO3Q2H%EE1X8}HRTt}2@0oXu1xU*1dzG~042+Xim+G|y$@ZH*{ zfZ^g5EWJ9`qe4MinGu;M6uP8nMdV#M1182GvQ8+vZYbOs)wGmsOJc%dsAzlEp}#PIBl_Q zgV9)8_0hb4W$enB{Mp1C@%^qt-~E2*yF=fVe*DqLZQDQj$1cBVm#X;9(r{Uy^{15^ zS|0XQX|Aj$4T)=Rr5&tvEqRzMm}Isn6tL&-hsDQKocVD>$0`!C(e{|E{YOscD_pK) z6tV#W3)V7z4Mp{5h3Z)-KyD>zi(I;TU;P^Q&(TfiVSBf zj5g4uu&p%sdh2Ma-t^ph^u|s-xm6(?dEa(LLNwYKw;3{E zQ`txR{M_871CDtiO^0QRoEI46an9sR++W>ykobxy} zs<#t7t~_FKq}J={gD&V6?|xqa=aZxOZ1Kd+xPQg*b^E!D~VzR2(u^kZq>XIbV!eK`(A z%m=)C_geM3rtKZOn3oc+PTgNQr5G3mV-p!WtoPS6PN!*^`Tycvu)myZqS;eyZLX8d z@Aq?=)KenBFF$js>@FK*BIZln=V|d*5`3aK=@AlN7)GySe22;8!5{K6rT&YnT^!B4 z-dENsH41z=>wWqcD;w%Qc>dtJR3#M{6MRgP!BO7jE7bHfZt2Cz)`apH+DA9ahCF3X zdbnsYH=mSbf2Mi(p;$()BcH7O-o$lcrsH4 z#gtjd;Hl-=*Rb@GVf4c%C-WjVOnhizRM9%oF#9`_L(f{}_0vBS>ROR#hGilv3~;*@ zt|e!c0reyTP;|MRPfTs=iSzJ-*4?d-zG)TEkOs!_&`>f(bTP-7ZJN#Ra z;xmAY0_;~i7uUliK6<%aUkjBT4dePd3w^b2=7 zWauZ`$7RWOo1nC8Vngvk>qY=;g}?a2Yju^K>9dEWpyCW&bE0<&iC^PsE4+CBp5DK5 z4vH(e&ZvFn7OcI}BDcu0TZt>*IN$5k*~#inzsGnkxLKEcd>wuV#)~@zBBsnxzH-w% zChHF82yoihfo7LW*@M?+-47NbKi+qX< z%j*8YaXK?Uyj5P{Fq1quNi3aF3H4X@GW1vQ8cAQP<9F=MJV6Q()C}makP`0`!KOl; z`^hJcGt(%{LIz0Z7X14jAli#|Dhy-ciqw}MpLwS@d>p3C9;+Nj>f;vr%yvpAtJ;aa z*iXo%9f!S(je%BHV1K45Lh<_Jq?P%%! zS_wk)<>yOr9Z_Yt%!D%HHpIm0=t$f|=NIZA?hcp9zss`czqPVo?p%H`t~NbbWYS&` zH#A7Pk%+dcZD?{5eCcBu{$dYUl$Ed;5vlv zj%v(CdFBHn)lo*q*V*8uzdMZR_%kaKlbxNL zmel^riaO+WYg;i_eW8*hI9i;zkb7ygt~O|)QdoHkYiK-Z(;cFFS$1vgcvA$;8mJke zV+}?X&IKo+98niU$pXH>lf>=oRxVF$`ZBbM{(9QF(umddn%$a=78q2+Eeh>)y;lmC3LI2NKwp&){w-&kiEA9`wPyIXbbQv$z?~$mF%&liMCIU& z7~|&!leK%_OIW5xB+^4bo}`p)n+ZXZgjbY%Mkw1~1t#*-AW-sT7bm#F4XXp(8#PIK z>%M*4tfw{dkUTcuPs@Dhr)%fLaQfa!KF_tSyumrg3BP2l^;2SX8;+p$ z?~ST+ng5NC3Ca=YY8YnypLIIoH^ZgKxeB+OVK-gN9}4}5J3&f0eilYxytm1vb$=Z# zKGb#(ZUC+00PUvLSlmKkQ04DC`_hkrEI&V3Ri4eY_Sd<}4w=~gW$0T*m|M4Ce&Arb z(CK?emZ!p2r10%330?`C-#fR^9}BOiRH^1Y8#fDdZL}Z7Y2%PNV!W=`*OrsK&~bF< zgc*t-V-_@s_y05Vf*bTW3zPjux=E+_Zqn@`;#yJStWyz!RY@-GwP_t|d;9goAZx3# zNcv>V>W8U;cdR1-&X`9`w+$3>ngllM?1q~yl?zy!v$X#1KWa*v36reFM~)23$dlLuF=DnV>M~+L5ZS@k|aaiIk!>SJHTO4A4T9kP_GWypDurr2|iQpcogM*u$ z@(lNWrDM3S8+mJ)-q{J{iRrTDh6k2dcnQu2qFw@km4JJxsZe8k=g+I!$&oj z<6!yzy#jFd9Iy86qlUKdnTE`6NsZhu^FeZP!cRZh55MiAIr{yI2g5ww)etJU`rG5u zzhMw$C*eOZ$iy)E-jhRl0_$jAWgiYZX|cez5_Ryvf@0X!(yeowtPk2bR%vdT*WT^; zf_Z6G#|p|f6U{&FaVb3cN4`0nvf&iSH{i}Grlvj-?OT@8-VvSi2(oIu>!Nc;V=c$> zINH_P%2t4nO#~HLC~u0O+fh1XapT&QOyYsrO!39m7sm z8j)nmnc|9B5a4x5F(7>^_N{60JNY0k&xb}(19P!k0Cizx*o7g7KSmb8gkh z8^7Iskg=3*@$_^e;@b^@$gRw`_-adQ7x}r{YQOyHUA<<62pioNbvg{g+!~gS3<^)( zz6X(pu=6t>BnjRWnN7<_&F0ya^r^AVwwy84*Xn3-y%+kGZl@eAErE(0^LaITvzkup z4+1-0*@$FdVtMkPpD(kEcmcy>Me1nXNLJ)I>h1QxL_OtUgcd1Yux1e)bWPO@w-fVb;%xktWcWN|4d%+ z;(+p71O9x1_4`AH5oscW10DB2-A=!IX1o8O`T`whS7%=nf5A8D{|EY%Cr^^tasG-q zSgM_dJZ2FkcC3w>pQuglGp~&iJ*rKh-*`z&`LZ>1vT={A$tvOt(1;Ci-=Vj8TN)a* zlKP%re*5qafPxSrvXv~>l?x}*iMX4uuXL3UHRo$-UF<79voA5k!}oP;P_Mw59cp~4 zYqCP`dV*W{*n?KiJm;+@H!hn*p6A^5=+@YCWP9BoKIWt7i=x6zvt(9B{QTRmBA8Cw zr<+q3=!jA;U0ULmVCm|l=5(KpZkiI#)3_yGW?c1Jp4e^6*4G2}9NLHFkvIvq1E~Su z*3zNa73YPVqkNpVEgUHRf08-{H;)vqQ zp(F1<*4UWsR2^et_T-f2(=!J(PIrSLfh#!eDf>GPc+IfC4A6vqe4gddB-8kf|lA8i^Asws7pZ_*zL*kw246x*4Vp&oBy^)R)@5e$yq0F`pin zDjd%Pz-#X%wE^*x1H{U9;EY#y;+D=91eNZch(lrSag2W0zay%up1t?8hWY)mruj?O z)rl*Vf!j}$#~UMZ(X3?IsfNnp6GSm`g+X~cR#;g0=g}#NMlBjUG6TJ77){S5aBe1T z3*LF`+hMx{Fo#K*v+Wg0i5aT_ee=Ju5??aC&u|}L^NcEIjq5>~Ek|epPK8Qe%WUgi7E1lkky#ye zK7H9!*L+v5uLtP78uF*o^>#zT3rN+#pA9sDMp?(hqh9M{$rxM`X{d!#?| zLrHhtS1|{pto)a8nws<4fn6y(&t`eD-}?h6E~d((ax2sUZ8$v!>|YFWy|7Xx9m~W*41{bUbvEP5oMV&3DY_y=%oCly>BBa;vgTB`s9a*C0uT z#;o0r%AwXBL9w`Whzp@u@b3nYokDP$Tfu7eLe1h8F!XxI4jBvOrx^=A^i5PQP8!eO z_cwR`n>16%d&`KlTWE-@{5L06zHcl9n@-eGo!Fxd+8rADhtoA@x8q#UW*6;6hgu^k zu#T7BL>(nWQea3P$~6M5BPdjE&IId16$YtC9n7C>GT&%me-?yR&anOF{#HVy+D0(I zXYkclgMFY6G#QAzLa-@PqH^W(!Bpk9+dXkVt2~SyKGNz@-eaq{8rB@ecfBy&UED|0XHh6DhsCou1YGse)w99c zoOuh-<0P31f3p&I%a-NjfPmo{v)Y9&-S&n~`S%B;(v;<)SFntjIMmJ|jOg;?rWJB6 zU5^BZ7QYw{OO^`Df`=v|xS32R(zQBA;b~NW>CNJIn`%FJrh#hpbP+#2*j3?0NQ|la z+5|$UhU|R9Gbi?OKhlz(74G2U4T~Ru&sWh@h7LvmfE~N&DeFj=v4pxgx_xC*Hmm%;Ul=j)e3wUrQankV>1< zjv*nKcXy9^&%D1)!ZS=Jz)}R$PHpZ)WpWY^hddq=! z4d$>LLbg2ww3ZgP*L|s;;vRnjmPG?vNB)N+=9 z$C(hbzC<$naw@Kw>;quFs!3t7$1Vzf{>u zj%i*mo@{>htmLDTkq8e^hR@`=h!W4ApDb}MIrt+Gz_$W&_mS;)>ux+8A}A%6YaOF` zvF)){YrdO+YzxtaP)YX-PkBrRQk?p7x;5Lm*vjlc=mX1u@yeDs-rfk(s}6B@_;R^!1F3X;Jutz}U$waI*@r;krKji37RpRT`r z<|dHx&1;!*T<6_XSnBMs&faP)>Y}jOYB=dJ_t<)V;g9)H+GLEkqQ5aOZK--Q|Djq zm+fd|mo2l6(BHJ^NKY@8#77l-t)67X=;fb$tsZ+76?rZaTH6Bze!x82f!o~As3jcfZ?kd84Bz`I{wSErAd)p@M@GOij4 zeZ|Jr-}XBGtJH)F`m+i^tJCQuT}R#3bSsN_jW5*AHfFPD3D~6l4H@#EL*qYi0v6iF z=o1MP2i}-LHFm@Lu7X#Lm{E-3O)ION{*jJBhTcBsRk8CKnXy-zN97N2i)p644 zo6wJ)HM3(!rMD^1$n)D_nmC%2xwK!F$7vwnACrGyDjsz)lV@d{iAu2@dAl7loz+W|j3Npx0-wnW798Q04TZ~DAjRCLmsK<Q^cLfZxz zjc9U)gMmz_3NA}mA{Mg|9aCmN0GdfXDrp5|rO7_LXNL6WmPq838!6Vk$qrCTOWjMI z9pjPU4_tQ8yWBAtQFt9ZGR}^F@qE>UZWFgF(`(OVtj%(x=-{HaAS0gZ6wk{SxI0g_sN*vSn(V@<>LWtOYekCtZT%i3(Nv1-&5#WzN zdGy_;q-$E`W!D*ZUmxmYFTf()n|yskgJu={G;rq;Wr$0j;jsO)4d4$zwrKEeO710? z_?-+#uT0fnZ|9w(z+nw{E#{?S&B-ixYFthlFTzQf=Kvx~E*^7qD(e&K*llsNxAI81 z{*m~Xz-EEDnqTUyFQqNDTG)|_ugNNVBu7VtiqIMKbl5f*bw#C>wSttDm!P1$97t%q z$Zpf!oVN(2y)6c(+aN*9ZU4IH>KG0bd0z&CVx}83d1ey?I(u<;-$0^CXX$Fge&0kR zNFZ$SM^eAaho20mY+I=Y&j9K%@5536D0q+3mwGfhT}cndjrZLsUx>Ewl{}77GbyYg zFdhfz+{G1JCs-A3s7ViK32MI^MroHIWQLRQ7?(wO?5Q1Rx#*6&pDIFjBrl<}G-hR% z5tk=%TerSG0gvrl9XYaF0?v@~@4B@c5(2vspRAi7Zcc&n=Vx_*FroLbVTWC zfPe@AL3OhGw($hSjAAQiJSkyOOXOH9tAM5TTFQPkl(68>4Ddmj%@2KRWiP8e!Lz_X zLkJ3(4JT>tUZiBc)&yW6NWXkJecCuIvRPnA38@Uhif4aIuLwaL47_|{F3g&-3T8B? zKTN%fI5*54X$gyM#iM*$Tew3bgvEF9as8G7lz&n>OFd!QDSk41#DzZec9$qcLUEDM z?F*;#ELm~F%3-qvsoheV01#R2cMqrRBOO_H$!Eb2I-*SLb>EM=EypWNl57k8T6aUb z2*kFv-7T_r_v$#tnf)*ax`09aZmh%yPdo@D;>KsC$=+OHPRKZ(F=rs`{O$TC|ISC7 z{HX?%j(HZP?N;!n>D+vHDzmb6hnt=7gzbKIdm}3~VOaxXYy}U8i=I!vj68KCTt1(@ zqUka$pSfiR{f9kuyCNjTFPc5xbmBaUKi5A3TCv4R0uXx=b~X@xG;gS0Jra6m|G@_1 z)&rBMm4#Z~TZO@70z)H!W1uh=P{fwyG0*FIjP@l2p1UxbgTtDP1_8!ItiAq_TRl4v zJnL1by<~o#-FEt*xT(K&l?4f8S(xn`9odo-5TwxDLK^Vm0zmg1-nP6w>ayp&g zF+9y516EV(Ro7y0Vzuc1WADwwn!MKb(P+1|6)Vy*s326RG72atbFeC+q9B4Y69o|w z5FyM{w3dn@AS#m#Q4tVDC?N9?LQ(~AR2~!{>=UJiMyWj8I*LD6q=Q@W! zD%A|{`>wT~@xJe8^u!v6X2oLs?_c}YV-@1lZLZPY_u2e`<@Q#3Gy5GfMH+RC7N{|O z_SVl@z8>TK@aiNbogn$4yO>UmVe~!@a5% zX0PU^YwhZ3=Y&_yv9z2ae|pPicccDI6k^7p)|TqC}`-Q zW9?muz3=6W*V7e-R1EO%uZlmi`Ga<8Sn5n_Mil;mcg+3{^CqK+=Nn@!%_zL0WC=4$ zjSqcKckv;$OP4Pz#nWt(n4gNWEt5bdMF+LYm96qrUKXq@ab2Amsl=vXhGF!W+DdlU z+p&EXd=(U;oDNEF;5@eCopF0#&gi{~V+EuaZ9-1osq5*nOw!}jYM5$oG2w_h?O$%; zT}_QzuTOagv!D381jl4y1>uBKj-k$(aJSz1Y+jz`z7W$)qQ!W?*(@z0)=o*UuLYEd zh0|pG(kEW1%|Tk}Zm)pQ!#oTh1>I=C#N{r(*fFAi*PB3AAaG}9nSS5vx~S%9p~$Xf@(HZYR@ zm3s{+Ir-^b)i2hrG`jUg>&wt`(((-W`!8p^lXLhdDVyf>U;;>vx*<^5a@2t*8Iq$( zt`qbH>q1}uwl1?yKdN2PBCEcho_*Z7ai;krw@W60ch)ECH>r47%~^W5?NZ7%tt<8nFO}>YWKwyR zwH*Ije8~-NO4}!47E{CZ(A!TUm`C}=)9rAl=aO3Yu6)+>4xZ>jRmB{ z+ihUqSTCHgfejJPgAL6v+CE*aO+wY)T1m~dEy-L-L;gh4DcccU4KRc=UHH<39_=THH(lgMby4f{5)EyamaX-s@CB?0Lp2BAJpseQPCdU* z9533^7U+GD;dKRJ7)Ya$`z@^(8h8u@bhto|)cG<{K~TG}={E0tSfUY=(jnN%`*i}dr; z^1^1$!ilr$NY$}Wk`msoYpL{ez;wTj(l0O^%1TM0DA)egCG(uBR2}@qpx-(5x9CFb zk`sZnp|0y+;MYt5@a~J%VPv9rQ;_ls$hti$(%UwF@%){X48|zD=|hzGO-bO z`2^m#z=n5R3TeyfV>9s}dzne1WEjUL@WNjvZ>l}jT|og}!L`>+=sSB~Y7Ed zT1eM5HpO!8N41`J)4mzrv!svZMh7l1WSSD_%-iwZ#Hde2j?vkUHZKpz{L#$lB^eG4 zGkRTfs{&C2e13aTWd~)4orSve;2vgKuX( z`OSKqJRQdm$>o0nGhJCDX)#@+I8BEMhr{7z#Rr` z-|L`vVJOM{S1Spc&YYh(O-IaMoCcz7yTxdzcN9-69t(7JOUW~!Wap*BfAjOeFhzAg zIe6v|V^-a*ta85oCNifzkT6Y(T5w#+2=sa_;Y|6B6ywn9bvw=L&aH)>*rorxc>mh*;z9sM7j^Y@TWIpot*ei`OFT zxENib)EHZ%il90Ovw&JpGsQOtRa7qCw8&fJj4uw#nT*KDgzan8pE=#n9u>MFyAYcq zE{xUK9X>M|HS_WJ#Np;+Y7H9qUF-2`ZIQPua4`~&54WmyB#CKUtobp&YHy|GhTBKI z0h4xCsjUfNw_*Ykyv+=~JAJ2GvqPtzFnaN~uXGoiuwRhGn{X@9+I#ubhGik%f_B*` z*@-$q_-XxM6?RkZ_U$(Z!?Bx4?Bkl-Jq%QJKUwOWUW@rQqo>*s?svAooaWqF=<1wm zYgihV98Q)Pes_|npn^7M70*HdeL{FQ)c1qdv#Cq)dd>uqv{g>pM#?bA!?d4QA2kz| zovy4xK73*EVwVQch0*yLXY?+#agRzR&81|yCu$ooNs;&2{0Z%vuNmGRGyH8J%i5&< ziq+>GIuJYZkye=zwD7xj*tsi*+4GSaH^PviXm<*pAl!|-93_DpJsL<+L#zz@~8Dr zaYJ$TZ2fFc+#)x?X-tS9o#ME3VltSM0oQuEqhp!WltbaUXsRt84gGU8VC2Rb+#TVb zaAi|3o_Xq^&VDDV21@8J^=|g|u^RjCJIo{Jm&OQBd`huoCFq0g_OmJ4BJ`urL!i(MWDYhy#l&%fISF(zhjylHm>co>I4D zo0YVqq}9rB^kQcQdn7xSe5b$+D`SRzX)Up}CCI;D?Ra+uISuL~x*W+&#eu#oyy5<3 zTvAKemeKy-__7_UJpSQUNtsydWf|H1yfgKEl*5x!XH+|=#Iveoh%_)8e|~Aa7oP6M z?_KSl04xMK_Ia13L%8TSrQsES{+zH>#H@&IK(I)0-mLo!q(Y_2-K4qCU3Fd76&;lD zn*F@_IG33bV_bBfG*NoNwSZ^oy;WZJhQ>&GxNO!P63jDOdP3*#I%~Fa&?B57?7Yy* zSKUNn4QUIauKc}`8vI1r1m2N)z}HoAmdA!eTLW4$I;bIwb-q*bJrDD?W464vjSYpX z+@bH7xkuEW}y`DBSMfZ&Qz<_13X4m<#uL){S5oV zOto=Bqak+b@|~dJ%)rH*TM-SZksI?ybr~A+{hNi-`B!oShm;Gzk~`Dy#5O<_xV0Tm z$Sk`P|2lrBOpNus9bDP~U2cC^#)|LMO~*YBdKh(;Vrekh81++-TU<#E4+%=O|8M0B zh>Du`hCxo;G@L^E5uq;Ax8U&zTa@bNUPH)&d$!2*QQ39Q#z6q|o!=uh%OXD_}69ZUz1-i_qCTVv@`o+DzJ2N7!{PI55b=a`}UNcqc<^3AJ zC7B03#|(9sagE7VhL-j{Ew#t`e5bs)^9|j_q!0qchei79F^{Z@rQ_CM?so4bf(f+@ z-7dpl=~C!=GWuP2aF=G7uiN3v2F*E-@c(kR(kZ5mbzPzacln^AqDP`mMJa0|rh060 zW?`gF&;59xhhK8|XbidW^@L%txsFP-3p5_p5%#qT_8V*~D2DCfONgoTE@|`kHOoF|A?%E}T-@d_Y z!9p&t9N&phjkj{NRt?+0?5(I4sdDX`S9q3gqn-we6{jAno2@tuHEb|)d*~Mce-^ui zPsPOXDyM<`B7DBm0R9xv@*L{iGVzT**%uD!)<3x5t?zzsXQjtFnH)-)30c zG56G6K!#Za7StIf`#1~k+mY*w{zT700Xm+_@KS|xgN5wV$%9Larqy%DHCO8)nX}t` zpc+!9oh@cUg8Nokv>M?+>of*|@tL32Na0|#jO&~sl z%18*}y9F|%^RKm%G|t!ko}}SwnrmNPsHsbU8nWy+dzS|XM48M~iJK)cQ5lj=^|wlS zSgiG2gTOx|H1Iux#=k!Cv073s?k@IPY@LU*7}n(rJghgTCgNl|;)Kh-5)G zQ`{-*viR2UX7e#431!ipuEo!)PyL!asP`#oC40C%jv$Ud5~iFk8RjX#B>)sBp0SQG z0T(TAmVO6yoI$?c8Ir?2FwnBjDfmx$N;FZ+%MtJ#x(FK76q6kE`()tAG4gszY;1ZwmPLP5pK^ExdS9wV0nJFaWpx~t8p{by9&77Q#@uat)8 z+tczEFO`4ZtrVWQ!0NrJ`rwP_x}^}|#8!6J4+Zy3dK*UPP;K10o?q8v&KD;^vTnE$zN6J)+i zpB_`d+1m8bbQvMUJ0EqFoY?Uq?)*dbk|fWxS>D^Jw8gQ^Q6{d|UaCPvs2S>)}U$|14 z!UhQwSLwQpW%MNUPb}FRHq(x~CE>MQ#OzMF z4k!dXE}I@~o|#%NE-K!2WA~e!1I)KjYB!mPrdNyziK|3{QoopZ_YH&cE1`KZq~N*n zu3%Pqp1!6^RIiFhQCa(1t*Cx`d4s3{mB6AeyOpkGF5Ht)8I2GMT64(p?Oh4Y(TE>{ zt{-yz0+G`j%Zbjtm;?0V7PU-A3Hij6ky(t4k&klJJAnND{N%TzhYydp(ukqE97!Cq z^U`i=bauGE1!8I-EZ2I!pU1Ce=wldmGuW3qL+1*o5V#!Gf|M{r!?oL%3-%vAfbv zeme%E`yu%7516aJ_KAK)NMOx%+&DdKi1{&1OFXJ-qpI#I(uEw|?WN{LL>)VroN+v6 zo_}uo8^19?AW-5%J%Sz|GH9mSnNq1PS5|z7@H=D;T1$xB^9Y$5$Vp(Pd#CB)^@|K^ljYp@d(3p&mc+`^)i0>a-7$W0?I_FT6Z)^ zDEZ#4diHq!U_{J4iC;w>a!;i|o3`u=`hUXu^)kF8icG^2Egk<2 z=FlfF+|?73=1+y_URKo4%)c!D(U#kv%!S`v5L<+oiAVhM^NYf!9eBJ{}m;H!o~lHl2YLz5fup~+^uZacA^f!|BoE0 znbe7=GN~dngKx$}I(7EyQjQT;v|8n|qFQi_YM`w^$O?gE57VehqeB1CfxP?SkOWJB z`LjR%(s&wEd#V$Kw@ z!I`m|*7vX3Oe~l`xP$lciBQDiOAUYcYh(RNms+vmy@4#`q9Mq7fUG4%Ro~>CuzG~s zrgK@(*o&?(E!CcuQGxdjFxN3ix}WhCuNfZGLhj_~94DR!*ad5Lx_noFsbbAY7Rz=3 zuA3EmScMxuj2sO|ijGes2VoaDdT*&lJX4<^mbu#@QToPlqSFAQ{_#Q9HEP8xSnCIp z;2i;*5w+pV1%m_Vak}t&te?_>iBpw)$a>je`5?>f0X;6*E4`GeP{G^ zMB&}~1bbI~iX_>u3BNL9e-mxY$!5P1{K}%eF_v^HV`*ylYyCVbHFvHmt)V#UI_`r}RyRN&4%YVoVb8_d|}>rx(f z%w^te7yYWmy&_f4G|BWUHnFJna@17Gy5+twb5t}o8APRb)hH-Gq~j}dMig2P1+CEl~GS)Fyj!&Dm z&)17`n0UHimJnK2Wg47kMx1!htjMUk5|)P}PJ9Hi`sjttGJ<8mzgh47enD|W zJs4PVkB(2+{0sAr2suv_*m7vDkBrp6Pq|5fCrnU^F<`Z`M8CG~+8C+$xk#Pd@W&cl;wbLZw!QUq9+s7q-T?<$nRqvuUhh>?Tu`3BxMq~N2jx48$s!Ka4$EXk^ zH*5?tKjhed7cy+mJnj>4rsLhgS!*z}5haSB&8j)4gElN?^Het>LF2*yy@}C+u~kdSY**LKZy9g!+h!mv$QC0r8t@Ni;z?HN z{#DPo@q?{goRV1vv714EwFJktav?FhkLr zuD*^tCsY0Gcj?M2+YiEeov7Y=8>b$IxgTZ(1lkAnn;Cxd6AjZ8Fl>2;{>iw zERTD;i=1Z2hj{lvdTh;I_b2pcA5^9s2Lj71X)fhjmzQEr&n#HQDs&n7=v`8-Cuq+c z+>ze;^DD7oos>g%JJKaG;aB&7#MZAT?6#(B{92oNcj68`c%*!K5kahA?23{~*7^{i zfkk`6@UfQo%(+p#L(sR8sk-{vo5_rUz8(mW8u8C(#$*aig9#Ug@*iY(krn5(a9az& zq*^X>^qO-P$Ts`ohPEWxk}qMdMWuQwM!&;Ctpg&=*c$GWwZTVeOR)*r*9g-O;jd%{ z?1G$vVH!+FXPynqg`pKRc0KUIP)MdokZW3+H^XmzeA+|g;l<4^uI0G`y30D zC1=KQbPn>t634qr{4-(e#m+-qN6*Y$qY+OJwkx!MM8ZPU$dMZ`OW=S z(oGbwY=MLFIA<>RJIo(90mpmXf=DEyWNBl*;%Awq@d(Aw0lDKnqF-%fYr;O?2y|{L zNGg~==XQHMgg$*+GTT#4EZ)c{>!{b$jDz}oUhjsP@4f65>ib&0M%cxqs@0cHE`JW) zk?zj>rdpn|jl8c3KQ)8WlO9<$rL6UMpY}z2z3|Q_Mw!K#V8W+`WGt7kq=D5?v~|)Y-@avf5-4%p*9swh$42@ zED23KHK7B>3Y_zt8r(`#O~o?Uv9o{BS!+Ba0y}0$GqP`2pGU7X1z?j|&XU`YeioJF}$hR+H@KX}aTC;edhA zW$26>61(j)u#j9tNw7E_`zG-TV3JYt;J*%YgYs#FiA!1=J{$}FSq9qfQBhxZBtR{D z3CxyPjpf6&Jiv>_yJl5)@1_qAypcC?Kj2!P>_UH&UoDxD#f)T{eYCZ;s(7X!|2Q$V zh4gYWdF%JEN+o;s`KsF#>)EnE>~9g6uT~n0evkOkzf3=YJCIisPuk~x*3B|Jrh^>y zeMg#}Rgm}>t?c>3QmG;Z6ETtPR;au!0x5XeF9~_~yJ_^J{7`8q+~VwN&g~$M*jHj* z5vu1=lP$RxbMCY9$u%Tk86r$UR&0!*O^X^G;9|z0jTD(7%r#0)3dU=yh3lG zzwUM=#~&xF{EBax1os|^sP~2`98>NWj%Q|PqfzFIjs4uIGM}xEW;@bJ%#wrLxl%RJ zVZA{wEG`lOFgWgO6#Rkr+4bLS7-%Oqw!|x&Of=IgShGb?fnk~{n;EC?ylQHmE|(j% z!I`0Lf|V*@Er6e=Yc2)F)$zU`%b8=>LHLSUGMd=B4YN_j)1sE3zFY%=9>Tz#|K30p zZAHMwsh(Uz1*V5~;IOaTONPp69GrFi@(X7D`$DYT9!{&cM77v5mMtaF5$_O1dup99 zY%ks*ERH?12G+@K8Qe^280L|orj}L{jOKBMaX@8bKkx*>1&oi(R{44+lEJbKWg(GX{JvkKkQkVcEWtK$O%>znuYCPxxS5Urdg<)N zuk1eG2p;nIgdP17O~pIvxFcg=RCGxvKHSbceJn6xSZA!}pwyO0pHcsq&yE1lZ%fh2 z*DS0=;cT+5-(?l+KObrC<%9BU6xiUiaMhN1jIhu%^);@tgEhM#6OE@}$ck-I$1mKn z{@N-C!sfE!g1tyJRi;Z2pJnh~-Uq=M^=Gfr8GGK3R@~Onbs2pd2Mk54`a}|Uj9ot8 z>+TG&xdOzOv|6a z*E_RD6P?-~>_ZsK8LQY_H5HT(f57D$8nX1&oRYpa)+AN)PUZFogvTL(r$Cd_-6Caoir55TN+pDca z5AO{slP4zH%ZI(eC8!;E3uT2~Zk58&?DdwPU=Su`NWr__p4tl^TQ>guMX%W8_OVW5 znV0>~nWHJ^jUo)yeT$_&IzHraZ;Rv>BNVaf{b6k!yXvHAu#3@D@Y0e!7Dj0{@GZe+d26m)8AmL#>Eq3J=Gup89#NT$jbQB zrbCCI+Vs){(g3sa0*L-mqxtbo+d)oqwi7Bl9V=Zq)DNUr)L3k!$k>`&e`~UU|6q|a z+}jN7v7*6Sh;EF`25NjDK&;}xnm=v;O}QRam5#fx0o36P12Zy(Y@=EjuT!h6&#eY) zh)U#e;;w|)JLAGFSb%_2wu_|X-?5%+X6X(Ytz%zpuEQysT_;oJ%ApY+` ztSex#XT0iIyqdf=oa!eN^+79KHH*p`2wa@svj^b6!ysInoJ@URTfX2Fb`ku3HVZ2+I{A6Jppr3t=%;*x7e(kle+2v&ReS0$=F!mrg za7=W+CX-|@eZ6`nU-oS1tE!8E=AZPX?zuP9gBj%|p{6tGz(ARu-rb~Z2B85)Gi%P{ z{^LjfqCqh}%%fA^EvEX{XpIKn0+!sR0IE(zXgF!SDcj@b^%u}=9aH>FH?W6vH(d?6 z-#t*h)JFv1JCb3CkPuKA6wxDg7Wk&wM`0;XW%h*`>ud7|l3qCxsw!r#<_`Ml`)}9X z+MZ25%Nxf0kq@?^@t(7o;^q1YLys7oc<5;6EsHWO>82||c(qbp2G zMWuiJM+4zTlnScY$|;5rguGR(YplnNh~N z-T(NDKrklgPP2|~OHS+&`TsX9{LzQ^iAgpEBaE2{oj?4l~Drrb2~G2lSv=4fI- zNhZ(H@B`3=!Iah8l5Mw6`fOV)k=4ug&bR9G+*a-2`kWG(pXG70CSV@u_Rt3GSaEFF@=eEv1q0oy2@vB6&w!VmH27YXx;27_B`w8q*Pp*ToL~Fc`##w zb$J>d^N}3493s6tc9bl#0?VTQ_Eq}W-lPwC_tU+WKD_W>;*`vNSpKbWd&Q843DVF3 zoP6kcl-fwZG2e~Eejp_!Z}a;AB~Jl_{9cguXuhlXEwn z=JG}gCf+q)(slWL#{sYA|6;UK2a(ZA&VeC#HV=8}(k;bx`1Y?*Z*h;L+YXm!{cW+- z_(y|0Irh$2%0u!#I(ffUx;k7ukpIZnwzgfSIFeb_jAD_udpdk-Ly5j_#fDa{sjpQPI^ zw95A!nIvuoRC1&rF*b0dRL*hvl=l!AV8amX`U#RKN|f>U$>vxqv<~&f>033D=ANos zl^o&&v`G=Lr!)xs4M|Sc5KTLcN_3d5ApqjyW`pQgD}!Riyfm)=-zT`LjJ9H3HFwFQ zzgu*@S!y2F1@o>Crf=HV;`EI@=?Zf&-ns!W0M5YaJ>;`tv1D}JH$nC!Xm5S24hdic zJ(9GIF_yA(lwLJS^MzC;!G0NEmU;=^kGggH4DVH>aEayWV^6mwCv9zeFqL>D=DQym zntB2CmG0t=A?&86!DCuYJRJ9=RM}kY1`{Y&q(aL}(ohn0fTbnzCjCB?k(mJDHf5D3 z>qB@;opUoQu3C+6CH6NNXq48EuuB>qWO_AmKlC}b(*m5DIs$I$d%km&;vZ5X0U@&O4N(nh=*I+WYC~zT;6dhK|ca!2aH*JW5d);oxSz$vh z6QD7fa5zAFA_6LptzxmcQA}(#mghaZw8g;lkiMq-A$>ioBWx42Uz_y&=Y zN0}}V^usIwuLnJ*gt-q^s3ZC2`3bL94YIz)!wuNPyDiT1h|CK;{tZM8#g396qMRtb z^3K#2!kss*{Jjsw2`U{`^X?HY?5oFkT=@hpVdNbvzhN-mP|?5;sXc`9{!$S5_Ofbm zPm#yB8ZOJ3=CAg&z9ZB8UO4v+Z!N(0Ru?QYWEuuT__CYsNJ(4Nl7PE3g4*~`t_u z_@s3sxe(Acy-6;YF19|@Ixg3-)xJqbYqQXr8lL%uRgh#pUKTV9>Bb;EozN{d^R58VAe)7{ymx)>fQbbh(dKzu$ zfz)H7ghX4iMz-(kU$It3e=#9YHW7#b4Fn7tUdp=0Pm$MZjNRoK z-KkO1LJj6$-$U#8N?rtK1F5> zBJjGkx-bRks|A+N>8}=HXjn7|Q;A};Psfj}&)}?#dHYZ-fF=?9#HF3s_=&>58A-uf zT5AhOz2Z%}Ca#!u7S0O+FfZEMXJN4m|K7K54>Xj~&qlKS<(IA#8!tjYBSEuyL~)0& zpSseQ_=oMMj&}jjZbb4i5j*G3nZS|(?Cc3FS@eRwBvKAJ9~YLxZg0|R6qdgdZRa|9 z=O!*hYgfMhX2gn{W2UV-%>;Zrbu(rq6EvkQH+oTPs$c!Fgz(*R@7YhtPfpvU#{eld zA*P$nL8C-cVI~O6(uNQzj>!%D-~Lw!jc7x!Px$y3(j{MeBA|CSx%x z3@88!KwMA(a0BH+z$_pt0HeJrRt9Iit2JWu)na)`Fg5@vtBM9h-_LDBkr^hkgVlym zW|r--moAvq65NRqNqmOJGzQ@ZL_FQpacMwdVb!vO(1Ssx>!0q*1(Lf9^Ff}GT`H;L zb78C~?9iua0eOH%rmosdRN#LfW17=*`(w`U9Tr(kjxSz)#PQ2MX1)-ZOUTQYTugUqk1NVtOb z2|_P*z2(^ps~9g6b?{j%m2T672H>_QHrdF6{mArzM8>{w^vzh55KHz()yJRJbhX1C zv3`dtA?C)J2^+&34t{ZINM~{kr@J2#YX8z^E#c*Rg=w#81LhFQ^sl6aQNmOZKsYJ9 zH2?~3u~o~-CVSU$|IgqUxz<4FJD~=M_t$zxOVPKrnfE3v#`b(h6e>_~Mwkp#K05)^ zuK(0d=wMG4krQGP@ec@j`RQ_e_LFs&M_V(b|$NDzwkTO!NZhrkE}xA%LId>a$Z5jl9Jhfz&KCs&cRBREJafv#a2k1XcX1 z+Mm@l-wJJF)gh7YYqwjKWVVj_XolD&r#1hkZI|P%A4Kl?ne>B9<8#fC^2qBIGNIFYogZ6tzxr*$L5<0Uq$t@5=?vv_eze z+5-aX44gzaTh@mcR!vWgqK;cs3;d@Flw!#a*qa=C8vbGT7dk$byl?wk#diE6Dh6;|g^ZKQ}?uh@t~<_nRpIVB#< zTm^Dhji+d6K;gO9zqJ^=&P06}1orWhm`)+Ek|D7Hz;r-3xPQdd_$6P9DoN70l3HRg zomQ#bxO+gdsAu~fEq_q>`K!5hbIBd z_D&f==>#$9wMK`toVT0rx&*}Nt0@(_-){&tu&C48TWCQ2*GpdS5eu>{`yFmmy7qPy zJ0q}c=2`=a1^J*s(SOa!62{VYGME3ZFUcoP-a@2nq*@dm^6)rS^4fJec>K({s-nsE zxoUhGGj-g6veGd}ifVCU=p!-RmwLnrGQHvZa_O)<6QV^mU3c#Nj@IED8ZBeq32$w7 zx#rkgLT0J55*=C0e;gY3tE0zViS4Nc;)s9oZW)<@@0x!M1Ft9%?MvQA!EfV0H_Ni7 z&^z672+--Y%5;R~&tnlas^B zwMb0u(a+W*yLD)VW#~@@nGzh)g^$iI=={J#sQj=(eS>h*`>0&;&J3>mUyo`FKqbke zGrjARCTyxZ7FI(X%-T>2wb{~t9#W>y%kcYhA^wUB82E2<+Zsx=pBbOJtGlrhyF~U zod9W;IM>G;>RbS8l0`BK0DDK;3WS3IcN1|I^RT4 zeR4eY=WvFIB(E^^@vn|o?@9IRCiv%UO>$2Ag8sIGsd1L>u+H47$FQK%MHit$`O(if zsG5^1i#*1;%@w&U&`tUFcl%a7%4|oS*57O^`{l}K3JG~gv!JV&UH)wtP;lM5=)JQ# zAM~m}&t8uNNZ3E3gGCCYMML+v94msZQ)_^%KlLZ?#SbjOR7v&U?ay+)gL0H?wlo^R z3^H3qnje;dVCDoEPXyc*pp9)*(gfJalXF;TURW168M!@Q7^nrKMdlTkh6GL0bjSPM4@ri*htoPm zB>B((#|HKaQ$>haR0dttIf+FZLw)rd-%r6*@B)}|@Ug_x4k3}nciUP%95={TR#S?~ zoEXI?lFwrkIjJ;DCc+Dy6m|*Xy-r|R(x9hIIR$H1io>PP8wkxwrL8o28CT6eM(*+# z!hGna9zqVcf0FpFq98w7+tnWmL#5 z=!fTL3P2V!38J{1!H~QE%gRW@VAa^HtgMzI?8f&NN%Y=9ni0&`{psqTQ~5CJ@@ zg2SUfp*<7``ugBKiAcSpO?XZA`~xAjoKQ=Hhd7OCkgG29rI~sN&LGvC*Ab(7OB-Lt zGC>`{M7m44>oco-BFQQZf=5!rjeK4d45aoAW+DB2cW8e9Jh zobX(A!tz6(^EK1#u{v%vRaK(6{A_^vE#+_Ibv(lzKi`$m8)bU`J96RvncDIbue z>No)6ugl$7J<0@z0Vm*V$Ct>3?BW`Ak7wK&^j+#nf=75jYxMmHY9*!V1tetsf`f`m zTbiC0&>1g2U${a;xa)t|jtwjSu^rfLb14&!uoFGX>+CBMjYwyC%O68s>hts zL*A$MuAjhMtV7*;Xo6%G1|W$8pRpELqwZ|8Sk$dc0ILq7_Yz2#2Eh|lO|4-FBe>ZN zFlewpmC2!6@5O25J&0s#6p#R713-ZA*--)AVYuO^Mh!VfjcvFSBJQfOAD5~DORdI# zIW~#f-&8D{ICg)R7+i`U ztGqR5P-3^OC<1$c0R!M6Kkc$ko_gZ-I0`|-X^If}(ch2brOw~Q{!MVqo|U0hJ6G%e zRD}roUT#VY5EmqMR12?~3Dddsj1~NQLJW^=gRwQ;t|&okvWgdCul&^FGS*=}Ru|f> z)q?oIF91B&hJSU{d`PiNGHB}17^w){7%tLE!-`5K^vhIQ4QyqS=87)$evR!coU@H6pCxQl zY-7vDR(&2B&1-pqRtYm(BRISjPgP{>w;E0tB<{vM=6*NU{x@E-2cBpW#raH{3MMas$4Za0jm;|jg{DplIU31DNiM~V! zaflk@^XO64K0*lyMt!3~>v~*;QkxcO_GW?SQnnMhEw+9znIDF9aEt_uA6=thxjAv# zdRMRr!X*z(02B|W&`EF#zg^?P`P^2PO;ix0b*FE4P->%}tf;U|$_LI}COl3PqM{fL z=`m#1aX(HH9;+wTn2FQ!`4{0>;DgH5sjTf0I_UG>GYVUbF^^>6a=a?Q*eS5$!&JS|%vBWl~XA+@&wX{y;pNgiL?!&w^*LQK*H*Gx3`-SScr_ ztJP>krSntR4GV>eI4`Tv(&)`(B(T742%x=F=0CR#FGU(+r|lhY&j!GGZ?{SiVh0>a z6k-FGD1vjV7z`P38{)r5SGeU4dPvuP{nci$`b03T20rz@s~3E#S|G1->PVQC1a$(( zz3-n<)0cIWjF`Vux0xFG;m^u`7u~7?2MKoM2YE5Xvc?=p6ns|rV-E_LUTDkx9o)I*6|$J&<|j1r_`9M zwgtq%&Omt`8`v)qL9H__%1AK`b6`dAB^4Ws3#_ zb{H8h)wvZOaPpgYD{UI(CSBaY?X1> z8efLp>s_;WC4E`BAtEJmB?`_ruN1fp%@u@C3p)*@ zGMjo6Nn(;X-s!5jVY*4f0xgmE6_z)wQ63)TO-GIuJTwV$SJ}PXC+dO`C|j*Ux2+9#~ej2@Ci~14OBxqhZ3)MDiNSPpZxp2Ks3SHv4Yl1b~ zW*k69dH_{rn!xx@o))D+66tsby#iDc1z&KymGRSU|G3u)9FnDKU0>JP$Wj-;Y(&kp z(Ue=q0`2^%7OKsC_gu`T1RSU_L!sHdBb`p5kYa438X$W5XPC{@KEkjm@ zr|s{xylWlCkxqq@cq#DuQmmClC@$pj;-Jp+u$dK}=3k$`Q4V>oQ!e}of`fhAaq7j+ z{JHR%v>eqMGnr@H1i__ZDg?Xnd8+Qr6_7dOJJ^3GoCw<+E+%A(05?erYmXQXX*vnt z^UeJ}395`o`KeH1uSHPf>ifSCx6ibpvg(s%9lAJI0$zWHSam8izq~4J zrg~~zs3G9U%nz&gGO@biIay%^uAR8XxN^P&QkKdbUY>oy57KO3p?B&tDJDAey`<=j z{1vjdQzt1FDT4{51bB^f0Zl)v*s6iiZm2Z&WH^NXJ1k81A3|U^9O8`y-vTAvryhbG z250VD#nmAXur|N0&MSb|T)MkDAOL>d_W#tE&YO5ZjSGdm2tPF3isP|3ced<#GRs*f zBo2iG=4_AiN0?qBP92ug1+LygF@ADsUlrU9GWY+0Se0N(WKV-KeB2cublkSG(UY^UCX%1{S%Wk#Me;W_=! zD}L%fz?M>U%-pRfWDH?R?(D;QJQuk%Nbyjl1B!_DZ$PKZpnk z_ngw4(TNBP$7aWo5R7cV>f)c#SEST~v>9{;!0IQnJuN7`wNl7*jKLPBiHC^1)MPGs~&?Y}7U&mRU!@PYTbpIb?^ z0^J*llW-CnH~!vqYIpVn=G5|}+CQY>1y?bPQ{4wEzbY9X277nvN=idOz!@qzGkBxt zWoA)!#@I6S-S7XmEB6HeV5(Yz@trN^91lw2?|G`3_}_yAe)zrVT~=v!)?cUjiyB&T zx#kzGW5Llg+57(?!R6-yB;pv77k0LPkH*j?n;Z8fQvut|6#eT9qj%}e|1p~5MVEzA>MhJQR^;>-#!k@pR)e$nb#zSo^65l=2|Hvc@A3qkeU`Tfs|D!cV+*PuiA+p4HjqUWQL|lH9Kk+ht5$}KN_>q7v5}?M{+dq3*{{UU|pFX zT+l1>mBat*1verJ(;VX_URfp59bPu1k8#gfIeeJj&k-b-$m<^XWSaj>wS!HX*aIa{ zf0q!ebq1^Ntv&GABfH6`8i?5XCbPi^mTmXf<$)1)o_?PsIm|0H8vmjAn_>2_}M|EF&eVKBkD_y?c(r26lnDd?A#G!t}n z(croIB7*!rg@aG9#Oi$&`^RJt^tvuWIl9M>8L`;jJP#azLC0_v`iJ&(bxW}5XO#Z0_TD@!$@Kppt( z<0`p;7`F%pKdQ=sdfq=@USa}}9+H0zBkxpY-wo_?{4W!8XyiD)bLs;y#38Wg2&45Z zd$YF>^K;oR_)G2qa4fw42ebd5QefkKz`L^oAq+O!;)W*@7)<~m4zZ1ZZemOF%PMADz0J@69v=Biqt(%{s zMCTc)pVcwggpw#K)QtlQ*#yjVGtSQgx$dg;3*1CZtzfO}a0)cc13kUqk;li`WF~1S z%dZ!W+6EyUR26Nyx9RdKp+uq{wr*KtUK%XM(cqG_lBF*~;~iQ+O>kR*fLtLRQ)g$_ zSqf0U|X#6F*kG3YIPJntp`GsGhj5fuvrnifQ@B>3FP1fbboUA+rF`0g~|TY z@y;Barp0=<)(whHkHA7fAjV84_h-qnrU0tRiz73miIPzIe)+bR{nOd)5q*01E7yg2 z{7}`EID6CcmVJ}3-xz&CWM74+ZJWuZ=7(zFMYxj+b)EzJAWiX07K6Hu9>5Kli~j0y zQ|WrRUBr_FI$#S z?#Z7$&Gmf#*cz6xJte!4=g7Bk-x!nUDb8N|Z7UMD7gK8ec0ytqpm?5)np@LC63h0= zWrr)Ys)|X}X2d|A+t+8SV#HYr>R_Wji55qWZbJl~`f!0q)jyWoPG*bVq+4;I738UVJRn&%L>jwts5)T*Gx^)DcSwN8NAm1 z)XF{vx>c5$zSshfz6C+diRLALKKg-1&!&!`a~j*`i~2dUC~${qDZF^$O#ddyvUQ)i z@!QNtSV~#ilQZCz6!^fKLCm#qiqzyPuNrwz{?@s)bV;-YHm^pWoc7y^wqA+M*XC<; z>(mq#?}Tp8Jmq24>dp^NrXPsRA=y_=I6Ds-eslv-w5J>XR14$vbN*`NHPC4sNEe>` zD_i}D zTX?Z=&InRhL(f^X;qW62DSgGtQfnFw>xaOvO4_0z%f06^h-?!J?D4ZdOcEp2?KzJ% z9}|uI3IZ0M67{fCSHsBRMP4TjmPLxG5&96mSW`_$@V)mR^cR^bCc|5`!!468Pa4N$ zUanOcS)E3fBG8dZ%GFGitU7UEWbNuz6wd{K<%lZb2vxq9$V7lvnm>CrcfL*i%#Bv> z^^xTLHePwaMPX-pizxb6)#;?i_?#!soRxzSpo(^*l+0Eve-SZ5L-MDj2bz+NWm9n& z64tKPZM+Mm!b)U+nq91dstoOJIfXFMc^Kat1~s)aU${qtj`98+s1N%;46SkiyS3h7B#Ycdf#VdP*3TKCQ7b6CsitLaA)l1nMnT3A^9tmHQjeG z9#$H$Ex3)Thzm>JzW2Keo;$=GM()taKD7U7X8qgb9|H7r%QQ37=7*DOW~o<&(yNk1 z1>??2F-PPxkjv}fjTB#j$NI0ktOZm+Ma}DiKeeOqqY*V3ze=UOOW&R2@J}FYoF&-P zh+>XzoXXayHMREf}U^~e&>*|bOV{{9j_4n*R z=T0EnogwoXq_WJgSnx~NlToJ;BKY_jRsH@7M-DWMjmf5%FGnRCmR;QkFq$lwXyqX! z$!9P>hVy5Ai+O)D%ixX4IFaR5RmrN=wr`TpcEXh34$RbeHIcgBEKOi?qcl|8Lft6L(V`6@ax#GNs=Z_?TH|D5(y-cln+bo5*xX~U_ zv2hu-Ak!FK23-##au_q>g|Ani#wPSYFafb3yS*^cHbi-!f~O z8`pZE_Y;}I@*3fNXVrbVs@?sB-u@ijVZ+`~I%4z*Pu@ryESuzRK=0+&(8h&cQ7m~q zA(4b`lM~015KniGD%CqND$9>q$3(*9VqXL|SE}pYeUch%oaQJFCu!WTJg?F!Km&a{ zG4kcEDw|-g5C@`lV{v?LF!T5+ocBP!lq_d;s?pmw|8b?tO=!wy0_swyq3d{&(>y*W zzGFe9sw%avto%2J4iQ0@;o?7=zvDQVP#n5AA|_e*^6LBAe;>lSD=$k*?sogy)3c9l zmMP6MBb&W_z;he&@VrR^^~rzb9Nb%0VvD4l~4 z#fv{I@W!r|)iB7uGh{93rq=}7+i8*oFy^$}bp$wyDrqn){HKAK`k=6nr*T+07WG8C zGrAS6sMpHiI>0*4W~8QoA682FoD8Ec)QmSMBvqQf*kiuY8!#Vtf;{_cod#!i!&3g{ z7>7olFMkW-H~@>hJ%iaSWh`t>uwC}uM`&+Xl1(rI%+Axk(~BZ$^q=WTw* zuxYJCs9nm@q5=KQmp>FFzE@o#ic-#u~s=XUy&@%l;p1dyiN@8hm zMj(c%iidFqJ^)imv;T91AzKGB=U`~x^Zk4#N~ze(R(2#qFqgtHyC6jB0k-(?Ue!Ky z+1^w5jbh7$tddhp%$Wi*4 zV(axw({A6%Ay58YyqJ#IaDB(Rb#iCVBQ`HIuM+?hpnjErhPRwhUiV&Y&f%vTQb37q zwZiKbX)oFwXmy-Y z+R@Ml7Y_u}>Ojm+ID;^DWzqc>3*3rXyz}1<#IZMBomg2?ZH*eb57-Pv?2%?yjwZVD zTRK_$uC)emG+`_*WWdF?~jq zDf~ee!zTkLbWOXRo8uCA>TgZcwm%;|hFfmqIZUVvI>ry`1{TACe5F6awo<|lz#3KA z6;~eBpqZt{h#cU=eX{*vbRyrir8ij;{)6Z#LZ@xVg83OKWo8@WYK$!BQtL+UjHl&@ z8yCs~#m3Hbbs_)JRhqZB15*7m49g5S5^kk%i8 z`AyXKm)pB@Eo(S4;5MCohzhHmNI)~L10@B3B44m)*q2Hu8>RZCu$Cw4*cxkI{6J{+ zP^sjr6?r`QQzCPI^f-~p$i*T-v^qwNQx4bjq^?<(pYsT7XjmClDW+hTibbJX|VD>ut zk3pExw*g&{IBN!&|QZ_6F!}7o@4=b%$u6)R)b08 z4+@Z1qzXQVJ@WaCnKM?6fNOy*_Eq;r2&h`o{BT=i$4NjlbEJKY!o@TqG-Ym~3PkJd z0Ad@n@FN^u9f``8GF2=FRqO4X6(gp$teIf6Cwul7*=z|@BKu7aJ51nL0Ve$DXA{ox zq@w*H$jT6G8!t~PHM@>JzM)1z%r#s7(3`W8tBRLIRAVE5Fum8t8zORSLL~b2UFYa( z@xwmA`8<4IK-r3dW`A9c9jKk$(xUEdM*F{pDcYQHYd6Nm=5X6E&yN619RhG@A9tkF zedF;~B;cqV6Lwk(DLRR-x={c!?~K$*`6v}g_W`gcf6M?l6u&=fx)`>qfj6d>{!vH# zKvb&;j+73SwOlukDp$jF+VmCZqfojn1T#JQmsB5-=hXZrr)c^xQeX%Wfw;rk{Zf24XGA>o3*w+~m8m zAQyyHQkP)ogZ!wJ%*!*vwLcN*PwPBu5F$&R5cn#3tof_!w*ah9AG-u#>8ZwKVT6N+|J|x%qRqK(P%QSjL9Q%cWiVlv{L%>Py;YVHcO6w{*WvL zoJXNW8okQfcCt=hg@%^-AngF$L3{?%?$R^-wWKl=sVj#@6z&|dIiT5+HurmL%w$V8 zl{@nj8d=vz>>-Lmsx-4=%Tx{xro3!(z4fu1JP{*@QFQvpZr{W*E6Ut#PRivLX@N^) zm_~LISS7dodG^*Iqa{djC}iVyfE{Hzqf}l~wye!hr6FpDTPr2YI5hc1DX8r7m2$Ui z;4Gp}T`J{Tgh~gebgTv)mdj44uFWqD%LE#(x4pu2*B#Zk?mfjEzq`Q*B)353t%C&Z z<3D_723nSUF$sb`4iVjPM(?{9VH1A7y?!ky7<=~&o$gwrKJv*|6n>OK{w}LM0g7o@ zb8q}+s=ug7M&h{%GAl}YI)e2ss(1}WBY&{OA`shNM*dC^KwqOSk0V>}ll8hZhok`1 zrq%hz2Vl0(1YIh(a;wqtL}Wpf}v94SgdF_nQ^ObQvArFOJ{2pEb=F&`e>@H^Pu=bET^$&eZ(MhgCk19a9yXRpj0{ z3T=`A;gp8Oy`H`MOo@aYq;HKZzVZ504x~FNWy?_&Hc7HaPz*c4{H&djy-+swjGn%$ z6kb42+y1tytgPeN-nV?fRqS}DinF9B#yEj*Q!3O3k3cYjJKeZ%FUgzLhLbrSkz#>aW2+W>*+a3`t=PONcKo|#AxuE-4zaqld4z6 zFhL8GXQD)JU;W3UTAHZoXxdx}`8(ihfrY4GxkeFZ3-SDe)R?DV9ElYjo19{=xEf)D zDos}%PBNs(tD27aldt=6G~CJJ)V*Bv-0KL{H}Ms2!f+yJCtH!b z^8LY;f`yjH#BaJ?~0tRjrQ;Yci^5pwdU9)K5pot}rq$}}#88*!i(Yjt^{DHpN z#0(PJr>tX^f?!Cvs3!P?1g6o@6SlwotIW$`$G-+=3NT|2K zElmC#7dAJa_5;59*HK=77#Xx9WIg?NPRuRgq-@3&&xZrS@dEnor0f)3vu1xppE|%_ zIuflGyF4L0CQbUa_}d)sjK%#;#_HGnrPR{pgNDw=;mUri(a?hh6;4FRht5%=?oVck=j+JDeMC=P9^SC$A z;z+nS#GW~HO}+X82d7ZYI5l1(Yd*AEQG}d@Bs)d-xGVtdd~z`HpUg|G__%XQ6UB2T zJ<=UL zUxjX^M|)Uq&Evzt{0la=P1dH$@~_!^iGI*v1?Q*J9cFiwh+PYG6Wa!2MbB!4(L-Sk zw5cwGHxtnZ+h+$5W~;*d`eVkPC~`h|DLvu1$X2o}qN{_S4E3e$8dj=yVv40msgzH( zwiGi};%53GVKiUU#l4RnAB*uc{ppw0^RpAw8T!8KSEbw=zQzeY>zi9F?)-dK`;8&a z!a>N_ZzmU8kV|j<^#9S;oByd6{|^QJUqFF(Mv+k8erEoH=6BZHtE;^_fq&*!Zu!^8 zAI^S#{#`)Srmy|C{PBGE?18U#{dH_d?#E|eoBmd`cW=Wtv1gL@uUb?7*MU7D-@@%G zvkrXNEq}RT3lLkNy5&jb$&RfH8E0rO`=t@5F9tytdF(&M-e;ThfWZM@ex7!o|94q*$^ZV*7gw=kmZDVcsKi^N-0!2@FUr9i zrtletUbucZM?Y+f7z5*!U_4HnpiEv|l=v7IE&o}v8I&jgc$PWm$eimidwKKNEzy2~ z?*~F!-Iq6OfU5Y8k+r5#4SHAMi}M(7ES?#D=Ti$_*CN6HQ{?<;Qy6z+rSnLJrQ-Jn zJvc)QHoWxCc)tpoYFLwt3^6)hE-<95Wa{}$z241bQS5IJYq+QR-u#7GTjQ)bbLvNa zXIf9Il;M!bKw3}qu1_N@U-Ard&m)Q$8K}7AQ*BN2IH~`7$;XW9N6-R~BCzv++mC>G zz&>Vy@QtkLAOin#eJIp^nD&Qy+sTg;+R$A1`R}n!40@;c1@|SFHCtSc)kQbs**L>I z&muWab5@l#*dpnsi-r2p{0mEFezw&P+b^eeYQVNDS{hd8R9?@BkjB{bp7->6(52?5 z=H$tLUgnKjIQ6No{8J4XD~Ao_O@pEkC+D73;7(?^Hk5pmlFFp6wCZwJEtNaz`FMdS!t(g8gt+&Cn>G1rj_~7E*35HXjgih*GS^l5q)JnCik1LHc?yD z)MCp&3xA7K{=8W0jIioNH6Ntr&wHVNO_%m_(Z&$0$w@4-H_nK?>CGz7L7*W^hB$|B zyv#pS?R`5v%gseybS_U%@*yvLpjS%{u9^3cKA0;bTYLKji|(bXziBE%1nS14`D)*V zi>Sgn(&%Q22t-$_FT1No1V_q~LH#hnfw>dCrv=hodWKSndI>`)K-Cgbj@xJsz&k*^ zO^0lSBG?iV|4{mFGAFxzbTaD4okb5IrxAPRo<$+%el>j#HvNNTGpD>Ex!LIdGDmoA zT9BVEotwBPbozc_p|(t;&|hvqkcG{h(Yz%?s>3%9#9qz!*K!!2EGX|FBA++r3cot` zVs$?^H(AK@(k~Nc_R;&}tj4EDJvrQoedv6V#w|J`^!0hqe-Vn3T(bv@YPih{=zAtX z1v^I!$yJYR_gnYceHLq(>DY|w?9+I=*}nE5&$(Tc$!f_j5;Fe9%bH_x(OCWSu0u9Y zZ^u8*R;KL1`>_zQxuqe6C;rTdQTVw{S3X3qULO6V6xJs3dWPB2iZ9M0Xselroiz#3 zq-}w+0r5wSq#ck8SPfzio*sRjcCIZs*v>^%W{4^;?BY6hx2y3eoLo+?Afm#n9zl;= z_hQaBSliT!?g(Yi&;DDv#TT?D*R&tgl$R!izBrrOnZN=piCp?CPy6!2o0m(|577Mw zA7FprB3}oHmJ1m?Jf`Q^-2>K@oIjj`9geo=#zff4f(HF>6;^$qPf|weX3|K?Ck09$ z2rIP*6NK!jBZ(X}q?r_3+19bYEVSc;eeGa-{`=?X*(9=MZfn*{@cbEhXSXWOfWxqICEq) z$yQX!f7^|A%|$2iuD$0I8`cgkFe{Mr&AaMP&~ig^59h2~IYMi-y}9^v!8BAozZJK^ zA@AwJy#)Ht{2@I4f)1SL6fGaVfI)@1lL$U3_aeJ@X7kQ^+D5}qth!bksYsQ2evGn{ z6{C{8=Nn6I6y79-$s{`x5Cpi5ikJ}}l{uk(>hPYuakg6KcAN+duiXX4ny2bwamTZ( zP-o6n2M?bDyio zFM78X^_5c!MbCLldz3u^`l4zp-`CygW;^$V)0qscp`d9 zt=qZi`jmEze9zr6DZCgfD*lQ6aMa<6W^-OWMw<|Y2M6&8uZ7wgNUhaDo_4a=gf_(f z{e#e#@Ab={vNk)jmTVTU$~?^xar<&kY|_~7VmmjwktN>yPF|yTcYmyzCGg?{=R133 zBf;}cyz!#G5ZYrQxkotv+)mYA>V0WdaAMo+yZR;{#YnPTIH#qbG;43les_UH#YG%n zgB2Vl<50VE&H~~ar~IMbf3oyd-&cwXC#1buwsW4I(7ChcSbvmdW8Scfui{WK_J?Bq z8;3p_tkD!>R!fw8sQMRMA%$t|uWMydV=;GAlSZ9$FF;^_(*X^pt3Jr%iZ5nn^x9DR zsswbx_pjZKgI1O+tft7K?&{Op^M=g_U-x>y-m00fk5fBg2Hgm%Vw!lYbtXRpYW(AM z->0(3u8sNJ!S;J((ol6c5T%n%P|?~4i-%uK70IgvM8 zg-x*haT(fd!7yE-=xPZD&sTpo(?f_uy36;@Ia~!p3Oc!Zmz#~2BL=PArc+@4@CpGO zdh*VNr&e^T=?8((wIO^cEQe-FB}DeZWUvNu1l9c)vHI3uecn-g%49dJLB5#Y_KhG9 zTO)guX!o->bxf4mbToon)k)GONSYhil($_8z8@2?{c9a;`)I}SUK@OU|5sbr$NmlEom{kud6qX+ouwxlwzyz=>8=fPq4n>sHjsb)oMOeK}Ji)%ge6Dg3`(*ulh2? z(T%2+4Ytu8-=hlU=~mSpOp5*(=}m^MoE<~I*w%kc^2oNIq~NT5zG(;9A{1NzY> zRp7pk!>Nu^l*gO(jX|(Kh~1|^rnaia{E~(gTzdn(`9kj*8oji#V5p2J_jz+OnrYk8 zQU5ZAE{$on{p|PAcU0G>T)nri+Wf$#%Q-8CwY-VpVi**sg)u)C`$M%lBUi(Ib(?O9?|aFEFr@Bdz{{#7g`MpFXfs0bFrnSTrBWgz z`5f5urmfiEThrIP=Z(+B$^xryu<`~|Bd=5}a&co*c)dC9{Zuhd#rD>-pbKs<9f2Eo zKCnSp9m4RW(x_qT*-V^G6bDAlF2o)K)pW45Fun$j z)}>_;>WR=wFj-&4&X#2)O0i@h^F!IRYm~_ED zVK-|KEvTvJ;U2F?J~H=M6_Yk+g*EYyDoEA5ePSO zRH&OEg5I59;J2c+HJo8PmG|?_k$ngRRGXoJSAMEuiY$kTkkR&}vomre3X5g>nnK*% zU!zNV)*bER&&OEO`e}vDm4>}PUK_m?p6Pt>!jP^Xb^{AFR*KTJ-Ox|3FMS`M&8aq(*w5k#PqS)}DKJgyV>etF>EIEPH##$#x!+(M3hi z_*l++-&N=*d{VVTP~-fIn`dWRbLa2O?<7F@6j4rWAzijm3yqImbH^fKFz2L`D#1`? z%NCa_N93AlcYE#r$9Dg?l(>r*CP=X3pi4S3CUiO6E(Vixx^n zY2MB{tqbN}bWqQPTKZ;}GnP7(AEpf7{brM0qx-qtYqQJr<$7InK0ZqcN93X;>4>pI z*-vt8(|QXX<;EZNGtqJ*$H%$s>kVW}oCb{B{z0S)&E%*&`68lYx6;e&&C)3m z0bM;*Sbg>GDyhs@Rx~24n7H=xC~Sx!w+NkxmAAC?8-imeo4NIas-c7}kFu}xb#YBg zZ7%M9ShnU<@j81{3t`_=#`gM3|05DzC?T@iWV*sXrZz6pUz7~b%sAGvRK8qr$aWa^ zKJB2>Zw+i>B76{49^&qCf1R011y;l>Vsl-P`}HRYG6}?&--^!Aslx5#$>Uzm4*18e zeFpUhCw(x07ixty?r;6%>!020gny08`a=43vjNa02|VXTY6l}m=bmoIFg+*H%nixy!<^?+@LB#a#$BTBBzCUJ#s8fjr+ z#-=IgR9tlDvr(n{(zxlus)}k~Qbc;nE8B2PM9*u*GfW4~J1{uY~Rq z5eT2?n{=*P?b!yNOmj&{TBAx1&&O7G<9zw|Eaa74Ka#N)0w)P5fo>8mpo=^u_^kqOe{AcgRjWi(mAxWRjYUH}d?OieqqL zx!-7R`Zsf7SXWl;Q%9HQ`4`YOHk_Za^l0{ZWL%3Ty$iGeiXG~EfXw6}k(tP3R|b3r zwT&qA^VFP4QBb5YpZ4Lic0aRIT|tcdp5GlaQ;3bQ{p9;@>G3>97*J#iB z?6l~SD$Kxcs77D;@XCos%g*g&Kg&UsShsFvu-aXBikpvx^f{c1BITb+-x{P;hY3Wd zKL=Njm`i_@B&pJ)pcsA>=wf5Itv)5}rK#a|Y+E!xUIvvl~Az&H(9 ztNl7D#Y2kGzwfES_b9thJ1_hag*=JdL8+AFl$q#Wf_c%tZ~}d0I6bJSF9$c#+vGyt z>PxD1lkOtG9??W^%0sR3*{t`|6lD2!91*4kbsGD;i>BA-WR(=y(V48*BUg=%E&4aR zqOnv_j$(Wv)Y<)U4z`gJ9uc+MTM1{6nsP@|hAM)2#ur`x$5+kxl(z4qZU1aJX$II% z$@{WOEm9OWwv|OS*VKgSsEE^;ctD%-Ej$3F2p+OT6$Y#g2EQ1NCanH=2>UL~&#>u% zbdK=1y%hGnos*zo^6L8-YnA3^*rZO#-&)Ug1)uy&soK(DSZ5Y(x}v7(U_{3oL;0QR zj(gf-dwJ#>+hFGzI#*8{6u4TmrSll z*k$*O?opMz?Z`9e!p5swS%e#=E|s=f1umxN@50YdEIm;A(31y2kzLWKo(l}$;MS_s!9F@at-L)ayoprzs zW8RTPJ*@kJhH~vw*5Sk;cTJM}jY-{KV#nU}* zHbmQll{#)Hs<1Du`7S<)r#zy=?O|#wJM!os>SrB|bMxQuXkP+vva-doyM*IM%NTe& zqW%DJk@Zm9@?EhP%Ss~b{~>gA2Vgep*}j|JVd@(CFV)*0PreHk8h2{Vp7=3d4Cg0D@%0-?-F(RugSoW)w8Q&QvT-3b+9bRflAE`J#A@^(Npu)38N>pVFK73Ks;=Gfw12E1|dQgrQ zVjCz+_2xU-ja{M+bf_DL8}H^xO={zqGF11Zp9d%hauaC3kUs#tzQy9g`gcIdJx<`v z7Y?x5LT~zc%i`9>5f^>#`DrV^&oWQe^8iQav&;{yjQ@Qr4MEz59Ev8_&UYTmuHv^_ z5aus!^#Mp$$CpOT;i$~sPhjKo|BJK-52cCYFnzSNt-g}qqxgb1v(SsgB3)F$O^kJS zzUuWzE4iuH*SZ(1{x3=!r^QgL-#PIU-S^lXR(=+PB8T|j5h5MiY^0;0^94TrWP50CaL_bgh*!Dr#GEgK$rnriZHOF}M#F z#6<=c_*lXKmpen#<_}$X6MWr_@nPrexD#$+N`o_M@a(rC3Npq$iW3)4{@*$BecJsU zHNTR@mHA^#R2coJNH;Vv5Nzy81zZGsgAO-7H3eN1u^j+c?n{EHUjlqT$SopNlG`Xh zD4NLc^k^-Fr#N=tp47$86#o|}$r$~vmZ;sfBhhwi{*C{DJuWNcs<2aL%bd0N?%sF9 z9Dqr)--rmw(|P4L>0P(i^Bo>*TQ&9pm_C<4vGRhiJgwY+kU8!js6jqRt?v7ZFWs_G zfzRZ?Vk!_%XJkgDr~Rnt#QDd1g?pLH@aslf)h^7@&n?P@xct|0@M?q89IZZ zuEGzMoaiXY^CaRO=Oy9QI#Lf^v?C^GY=qA_{;+HW?OhPtu~Ci8y6NOt&;$)1jh+5@xs#WF^3 zSd)sb1W0`|?08d$bU}uG^gz*)mHsyfchcKlLDc2NRVYgtj%)bm&jx+YKJZMKkK*|rFiS(UuEhJ z{K48r8d^E6;zK?Y zg+*zqPmvXHa;;nJjIF><1t&K_eNr${m_TZk0;?u!%14oJ>7mcQl0P^DR zv5oHyDTcw+%^{;s1|d_eRH|$<&|1AwzVK%WpCkx_FoU%~C5$DlV6gJF(ExrWkc&_N zcpWJgekkenPGNj@Q4v*y_eE@9>o2x?*EgdptJ0a3pX0l=RX6jW$0TjDbJPhg{C!UO zwjR-D{xY<}HjE*{TyCi$rI0t0-AZl}&TY}1w%zOyMb4}-cW{L3d4RnRN6BugCnZk& zkUlcznhm~zV_7MF=`m8WIPB1)PK?F&_OunsWI5W4z29Kcm^BD3FFquXOT%x?o?DDb z`*bK4`e2ituGqS<=NNN(K~lS+q&JwJ?OrqgSYxasRbfF;#YmW81IcS$1jz8%&L@ z|C^@r)i*vDUJz+|$P^L?35dm7g~qT;QrjqhMgK><;piuN^5EM9a%4*b1hA^npNlXK z#+N;RVw{4$2jkDokOc#Xi3TTUw^y=Go*gv-HL=uX|8+-`op3=sueqgz3zf$+@ z?+JBRx3cKx+J%?wvu~AXAG*{7O_}K2dk-$kej)o{{)JsdU|c%r6mLdL&D)3H=JU(9 zZB0<7I$P_QovLQ_0>4W4BB&MJpy~ye|pW#Nag5WJbmP$|KBro0vVvKdW9D9ulA--a$Uig2PV~W zgbDA*QTL|b41k7k_}gduZ~Rc)*GgMC1|}(kKTSr(uLh%S>go#uWw7k{X>jC7O#8?n z*8PmaUPhL&LIOJeZuBZ1mwhU^z@9U0ci>Y>_ee3Es^sBwWT<+vvB2}(DYuy^U1F2a z58vr;Gt4-S^BKq)zppwIp@6`{BHRsy^$*Ezxr?+E(H%TDypXI(yg<%nOI!0%V6wGl zMh=ADx$|ix728g|*_t=fwUqt;}rGq4_pAbPko_%EPa| z1#U=(+V|0N$K-BJn|8D@7=%BXMW41dqzB{h-#my*;gb)rj^ZC2o)#P$Djs+lQ@qnd z*eak8J6g@n_qkhG2eSBa#nAj^#CT+;_HtTgpG+X|^|k7op;KX~7K;Tzr@G?NuMP6;`jmSPV6tE^{nGA(`ma} zJah~PS&w31#oSs%1f2>vlWrEpW*Ggh$aHLk^pW>Wr9wGc|EjDEuTDIfFCV-R3pvEt zlg9&I6AzvF34fk>Qa1i6d(a}qzT@A#O3AEy&Chm$=UR;*Wqp+0HP*EDA`v_hdwa$< zdk&$TFGeBccSRQ#2+1|vw|JfmEFtuTEZz>2QJQ#6&!P4Nwn>~frgEoaed zS0jCLZ0No*wyb7ueh|CKRLy$+4=3gKxQGRhjy&}U;|8q)+D5zdgdOoYvJEKhljR*? zLXX)T_95vrnn;E6gF`8@B2+S;bEH_ETvRs}1pAz`Q>x;D&`bBZ!((VAW1SnuRHOb7 zclj2hr?9rs$=T9bXBJG&UD~jgS1inqUhZd|WcKsFsGB1LaXyyd4k69`mv6OM$|F{w z-MwhccTL}em-pN%u!3e~kRC%#oNliB!>&c`i+CDxbHuRJb|io0%3}J?L?{2Ox#M%c zCni3YyykV}#BYZkXLFr*y+(8o?s+4MD1Az6q&k5T0ro+%fMgI z?h!FX1F}0Kyo+Q~XF~5VarUG$x8#mO2g_E5BPRe{y1g7rcfYUI2b9Cv(-cu?4}=h{ z!!(t(LfvgY4yg>S--GoOH6a}|24qd$e^$rV(+@#yfc*J1$n$X9_$TV*LY!ham`d+z zWev4$^7~u)z}n$GC5yx@>~!%#2d)2NB%@^Yj_gPRhYDa;E!a?Q3S@qI2Z) z7`n5&evA&dJ-cZRdN~Jse+LCoMGgXiPq0J#Oo27 z+5=uJ8>k;9vfs=Xz7&Qux5`7{1LC^YEStu$E$vi}uGRv>Rpoo9Tqq0>G(}gG9TB@= zP@Qkon-`u=+%4=>gM(<+M8KA2ht)kAgLLdV17yi&I)JvEkkZ|qOw_+vibS*Em38g* z*ACnC^sY@0$Sf>OsXV>uYv;Gw-#%X4rrQ(fHQkkP{#|$0S!UWOpqvR?nB?v#JnKAO zwrimk;h?)Oj~1b4?{FoO5lta7VAZ3N4tk^%zQfWT?A#!jKFXsaV4f9)uFTCcuV3y( zZSKzD={CrOn>%n(ZSfkdFK?HRe;BhI_Y8b5;ew1js*@-Ij;Sdd;f!>Bz_Sz{EcYuX@~vr2TNx!MlHDl#N*I zGPR%XU!fSh5e_8L^l_L7LunnMzW@U{!lZB3l_XceTMkll@eZaF&Fs138PEcDBA8@_ zW6e_ybgDII%WYugGxMU!(YoQ8wCq@eV*@!<5d+n*_FHFuA1zrWyd}g%*>%gS7eLsA z*ZCJ>k9+X&z4vcucS>|hMPot?3RAqz?ak?%;sq;2qB>xEdxJa<8D%O$NJ;UEw8Oh&YGt%`SjE_0=sgFZt12?<0n<5@vUyEw;DB@oD za-Z2JGpR$=_c@yl@>xk(F;!9HmW1n?k$7PxmS2aPo4ceoYvf$4`rjK=;&+&$p2PC2AU`>pG;Cs2i7 zZnn#K=Ej)K@|nFe1B2>#^9V>srTWfOS_)(3l6Tm&q&3#k7}RcZ_m}p(9rygN#hKPY zbY`3JJfJz{=b!Mv4SuOio6!9?JS_hG+_OL7zg_s;uBTrayr6Lz58TT)rWN9Rv<|1J z$%b{=>zBN1p=gz$lpr_}b4!$KD{@Eh%+vS7*^U?pI!2h2p eFsD=+O@6D0SlnaIJo#B44j(*zfb`qhKmHe3j$5t( diff --git a/Project2-Stream-Compaction/img/beforeandafter.png b/Project2-Stream-Compaction/img/beforeandafter.png new file mode 100644 index 0000000000000000000000000000000000000000..48c7e8e10e151930c1f203b17f42811ad6295eca GIT binary patch literal 89879 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