From f68ae2ed0e16228673ecf858c0c450ebc1d0a845 Mon Sep 17 00:00:00 2001 From: BongHoe Koo <42884297+gellston@users.noreply.github.com> Date: Sun, 30 Jan 2022 18:58:59 +0900 Subject: [PATCH] =?UTF-8?q?FastROI=201.2=EC=97=85=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ConsoleApplication3.cpp | 42 ++ .../ConsoleApplication3.vcxproj | 155 ++++++ .../ConsoleApplication3.vcxproj.filters | 22 + .../ConsoleApplication3.vcxproj.user | 4 + FastROI/FastROI.sln | 13 + FastROI/fastROI/blobInfo.h | 63 +++ FastROI/fastROI/fastBlob.cpp | 469 ++++++++++++++++++ FastROI/fastROI/fastBlob.h | 40 ++ FastROI/fastROI/fastROI.vcxproj | 3 + FastROI/fastROI/fastROI.vcxproj.filters | 9 + FastROI/fastROI/macro.h | 5 + FastROI/lib/Debug/blobInfo.h | 63 +++ FastROI/lib/Debug/fastBlob.h | 40 ++ FastROI/lib/Debug/fastROI.dll | Bin 322560 -> 423936 bytes FastROI/lib/Debug/fastROI.lib | Bin 3736 -> 6766 bytes FastROI/lib/Debug/macro.h | 5 + FastROI/lib/Release/blobInfo.h | 63 +++ FastROI/lib/Release/fastBlob.h | 40 ++ FastROI/lib/Release/fastROI.dll | Bin 45568 -> 60416 bytes FastROI/lib/Release/fastROI.lib | Bin 3736 -> 6766 bytes FastROI/lib/Release/macro.h | 5 + README.md | 64 ++- 22 files changed, 1104 insertions(+), 1 deletion(-) create mode 100644 FastROI/ConsoleApplication3/ConsoleApplication3.cpp create mode 100644 FastROI/ConsoleApplication3/ConsoleApplication3.vcxproj create mode 100644 FastROI/ConsoleApplication3/ConsoleApplication3.vcxproj.filters create mode 100644 FastROI/ConsoleApplication3/ConsoleApplication3.vcxproj.user create mode 100644 FastROI/fastROI/blobInfo.h create mode 100644 FastROI/fastROI/fastBlob.cpp create mode 100644 FastROI/fastROI/fastBlob.h create mode 100644 FastROI/lib/Debug/blobInfo.h create mode 100644 FastROI/lib/Debug/fastBlob.h create mode 100644 FastROI/lib/Release/blobInfo.h create mode 100644 FastROI/lib/Release/fastBlob.h diff --git a/FastROI/ConsoleApplication3/ConsoleApplication3.cpp b/FastROI/ConsoleApplication3/ConsoleApplication3.cpp new file mode 100644 index 0000000..dd4a204 --- /dev/null +++ b/FastROI/ConsoleApplication3/ConsoleApplication3.cpp @@ -0,0 +1,42 @@ +#include +#include +#include +#include +#include + +int main() +{ + cv::namedWindow("binary", cv::WINDOW_NORMAL); + cv::namedWindow("result_image", cv::WINDOW_NORMAL); + cv::resizeWindow("binary", cv::Size(600, 1200)); + cv::resizeWindow("result_image", cv::Size(600, 1200)); + cv::VideoCapture cap("d://test_video.mp4"); + system("pause"); + while (cap.isOpened()) { + cv::Mat current_frame; + if (cap.read(current_frame) == false) + return 0; + cv::Mat gray_image; + cv::cvtColor(current_frame, gray_image, cv::COLOR_BGR2GRAY); + cv::Mat binary; + cv::threshold(gray_image, binary, 250, 255, cv::THRESH_BINARY + cv::THRESH_OTSU); + std::chrono::steady_clock::time_point begin = std::chrono::steady_clock::now(); + //Blob Detection + //Blob Detection + fast::fastBlob blobDetector; + blobDetector.compute(binary.data, binary.cols, binary.rows); + auto blobs = blobDetector.blobInfo(); + //Blob Detection + //Blob Detection + + for (auto& info : blobs) { + cv::rectangle(current_frame, cv::Rect(info.rectX(), info.rectY(), info.rectWidth(), info.rectHeight()), cv::Scalar(0, 255, 0), 5); + } + std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now(); + std::cout << "Time difference = " << std::chrono::duration_cast(end - begin).count() << "[ms]" << std::endl; + + cv::imshow("binary", binary); + cv::imshow("result_image", current_frame); + cv::waitKey(11); + } +} \ No newline at end of file diff --git a/FastROI/ConsoleApplication3/ConsoleApplication3.vcxproj b/FastROI/ConsoleApplication3/ConsoleApplication3.vcxproj new file mode 100644 index 0000000..4f2d2bf --- /dev/null +++ b/FastROI/ConsoleApplication3/ConsoleApplication3.vcxproj @@ -0,0 +1,155 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {cacac41a-1e58-4a16-b5ff-01ec8a9373d3} + ConsoleApplication3 + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + false + + + true + + + false + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + stdcpp17 + $(SolutionDir)fastROI\;%(AdditionalIncludeDirectories) + + + Console + true + $(OutDir);%(AdditionalLibraryDirectories) + fastROI.lib;%(AdditionalDependencies) + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + stdcpp17 + $(SolutionDir)fastROI\ + + + Console + true + true + true + $(OutDir);%(AdditionalLibraryDirectories) + fastROI.lib;%(AdditionalDependencies) + + + + + + + + + \ No newline at end of file diff --git a/FastROI/ConsoleApplication3/ConsoleApplication3.vcxproj.filters b/FastROI/ConsoleApplication3/ConsoleApplication3.vcxproj.filters new file mode 100644 index 0000000..80713e8 --- /dev/null +++ b/FastROI/ConsoleApplication3/ConsoleApplication3.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + 소스 파일 + + + \ No newline at end of file diff --git a/FastROI/ConsoleApplication3/ConsoleApplication3.vcxproj.user b/FastROI/ConsoleApplication3/ConsoleApplication3.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/FastROI/ConsoleApplication3/ConsoleApplication3.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/FastROI/FastROI.sln b/FastROI/FastROI.sln index 5a25851..7d2e610 100644 --- a/FastROI/FastROI.sln +++ b/FastROI/FastROI.sln @@ -15,6 +15,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ConsoleApplication2", "Cons {8F4B183C-08FD-43B7-ADD3-98F7D7635DA0} = {8F4B183C-08FD-43B7-ADD3-98F7D7635DA0} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ConsoleApplication3", "ConsoleApplication3\ConsoleApplication3.vcxproj", "{CACAC41A-1E58-4A16-B5FF-01EC8A9373D3}" + ProjectSection(ProjectDependencies) = postProject + {8F4B183C-08FD-43B7-ADD3-98F7D7635DA0} = {8F4B183C-08FD-43B7-ADD3-98F7D7635DA0} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -47,6 +52,14 @@ Global {5E63E966-9B2E-4BB0-90D8-8B3E9BB9FDB9}.Release|x64.Build.0 = Release|x64 {5E63E966-9B2E-4BB0-90D8-8B3E9BB9FDB9}.Release|x86.ActiveCfg = Release|Win32 {5E63E966-9B2E-4BB0-90D8-8B3E9BB9FDB9}.Release|x86.Build.0 = Release|Win32 + {CACAC41A-1E58-4A16-B5FF-01EC8A9373D3}.Debug|x64.ActiveCfg = Debug|x64 + {CACAC41A-1E58-4A16-B5FF-01EC8A9373D3}.Debug|x64.Build.0 = Debug|x64 + {CACAC41A-1E58-4A16-B5FF-01EC8A9373D3}.Debug|x86.ActiveCfg = Debug|Win32 + {CACAC41A-1E58-4A16-B5FF-01EC8A9373D3}.Debug|x86.Build.0 = Debug|Win32 + {CACAC41A-1E58-4A16-B5FF-01EC8A9373D3}.Release|x64.ActiveCfg = Release|x64 + {CACAC41A-1E58-4A16-B5FF-01EC8A9373D3}.Release|x64.Build.0 = Release|x64 + {CACAC41A-1E58-4A16-B5FF-01EC8A9373D3}.Release|x86.ActiveCfg = Release|Win32 + {CACAC41A-1E58-4A16-B5FF-01EC8A9373D3}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/FastROI/fastROI/blobInfo.h b/FastROI/fastROI/blobInfo.h new file mode 100644 index 0000000..4031efc --- /dev/null +++ b/FastROI/fastROI/blobInfo.h @@ -0,0 +1,63 @@ +#pragma once + +#ifndef HV_BLOB_INFO +#define HV_BLOB_INFO + +#include + + + +namespace fast { + struct blobInfo { + private: + + int _id; + int _rect_x; + int _rect_y; + int _rect_width; + int _rect_height; + + double _centeriod_x; + double _centeriod_y; + + std::vector _blob_points; + + public : + + blobInfo(int id, int rect_x, int rect_y, int rect_width, int rect_height, double centeroid_x, double centeroid_y) { + this->_id = id; + this->_rect_x = rect_x; + this->_rect_y = rect_y; + this->_rect_width = rect_width; + this->_rect_height = rect_height; + + this->_centeriod_x = centeroid_x; + this->_centeriod_y = centeroid_y; + } + + int id() { + return _id; + } + int rectX() { + return _rect_x; + } + int rectY() { + return _rect_y; + } + int rectWidth() { + return _rect_width; + } + int rectHeight() { + return _rect_height; + } + + void setBlobPoints(std::vector& points) { + this->_blob_points = points; + } + }; +} + + + + +#endif \ No newline at end of file diff --git a/FastROI/fastROI/fastBlob.cpp b/FastROI/fastROI/fastBlob.cpp new file mode 100644 index 0000000..6cac947 --- /dev/null +++ b/FastROI/fastROI/fastBlob.cpp @@ -0,0 +1,469 @@ + + +#include "fastBlob.h" + + + +#include +#include + +namespace fast { + enum border_type { + HOLE_BORDER = 1, + OUTER_BORDER = 2 + }; + + struct border { + int seq_num; + border_type border_type; + }; + + struct node { + int parent; + int first_child; + int next_sibling; + fast::border border; + inline node(int p, int fc, int ns) { + parent = p; + first_child = fc; + next_sibling = ns; + } + inline void reset() { + parent = -1; + first_child = -1; + next_sibling = -1; + } + }; + + struct blobPoint { + int row; + int col; + + inline blobPoint() { + + } + + inline blobPoint(int r, int c) { + row = r; + col = c; + } + + inline void setPoint(int r, int c) { + row = r; + col = c; + } + + inline bool samePoint(blobPoint p) { + return row == p.row && col == p.col; + } + }; + + +} + + +namespace fast { + class impl_fastBlob { + private: + + std::vector _blobInfo; + + public: + impl_fastBlob() { + + } + + ~impl_fastBlob() { + + } + + std::vector blobInfo() { + return _blobInfo; + } + + void compute(unsigned char * buffer, int width, int height) { + try { + int rows = height; + int cols = width; + + std::vector> labelTable; + labelTable.resize(rows); + for (int row = 0; row < rows; row++) { + labelTable[row].resize(cols); + } + for (int row = 0; row < rows; row++) { + for (int col = 0; col < cols; col++) { + if (buffer[cols * row + col] > 0) + labelTable[row][col] = 1; + else + labelTable[row][col] = 0; + } + } + + std::vector> contours; + fast::border NBD, LNBD; + + LNBD.border_type = fast::border_type::HOLE_BORDER; + NBD.border_type = fast::border_type::HOLE_BORDER; + NBD.seq_num = 1; + + + + std::vector hierarchy; + fast::node temp_node(-1, -1, -1); + temp_node.border = NBD; + hierarchy.push_back(temp_node); + + + fast::blobPoint p2; + bool border_start_found; + for (int r = 0; r < rows; r++) { + LNBD.seq_num = 1; + LNBD.border_type = fast::border_type::HOLE_BORDER; + for (int c = 0; c < cols; c++) { + border_start_found = false; + + //Phase1 + if ((labelTable[r][c] == 1 && c - 1 < 0) || (labelTable[r][c] == 1 && labelTable[r][c - 1] == 0)) { + NBD.border_type = fast::border_type::OUTER_BORDER; + NBD.seq_num += 1; + p2.setPoint(r, c - 1); + border_start_found = true; + } + else if (c + 1 < cols && (labelTable[r][c] >= 1 && labelTable[r][c + 1] == 0)) { + NBD.border_type = fast::border_type::HOLE_BORDER; + NBD.seq_num += 1; + if (labelTable[r][c] > 1) { + LNBD.seq_num = labelTable[r][c]; + LNBD.border_type = hierarchy[LNBD.seq_num - 1].border.border_type; + } + p2.setPoint(r, c + 1); + border_start_found = true; + } + + if (border_start_found) { + //Phase2 + temp_node.reset(); + if (NBD.border_type == LNBD.border_type) { + temp_node.parent = hierarchy[LNBD.seq_num - 1].parent; + temp_node.next_sibling = hierarchy[temp_node.parent - 1].first_child; + hierarchy[temp_node.parent - 1].first_child = NBD.seq_num; + temp_node.border = NBD; + hierarchy.push_back(temp_node); + } + else { + if (hierarchy[LNBD.seq_num - 1].first_child != -1) { + temp_node.next_sibling = hierarchy[LNBD.seq_num - 1].first_child; + } + + temp_node.parent = LNBD.seq_num; + hierarchy[LNBD.seq_num - 1].first_child = NBD.seq_num; + temp_node.border = NBD; + hierarchy.push_back(temp_node); + } + + //Phase2 + followBorder(labelTable, r, c, p2, NBD, contours); + } + + //Phase 4 + if (abs(labelTable[r][c]) > 1) { + LNBD.seq_num = abs(labelTable[r][c]); + LNBD.border_type = hierarchy[LNBD.seq_num - 1].border.border_type; + } + } + + } + + + // + int id = 1; + this->_blobInfo.clear(); + for (auto& contour : contours) { + + int min_x = 99999; + int min_y = 99999; + int max_x = 0; + int max_y = 0; + double count = (double)contour.size(); + double centeroid_x = 0; + double centeroid_y = 0; + std::vector features; + for (auto& point : contour) { + + if (min_x > point.col) + min_x = point.col; + else if (max_x <= point.col) + max_x = point.col; + + if (min_y > point.row) + min_y = point.row; + else if (max_y <= point.row) + max_y = point.row; + + centeroid_x += ((double)point.col / count); + centeroid_y += ((double)point.row / count); + fast::calPoint calPoint; + calPoint.x = point.col; + calPoint.y = point.row; + features.push_back(calPoint); + } + int width = max_x - min_x; + int height = max_y - min_y; + + + + fast::blobInfo info(id, min_x, min_y, width, height, centeroid_x, centeroid_y); + info.setBlobPoints(features); + _blobInfo.push_back(info); + } + } + catch (std::exception e) { + HVERROR(error, e.what()); + + } + } + + + //step around a pixel CCW + inline void stepCCW(fast::blobPoint& current, fast::blobPoint pivot) { + if (current.col > pivot.col) + current.setPoint(pivot.row - 1, pivot.col); + else if (current.col < pivot.col) + current.setPoint(pivot.row + 1, pivot.col); + else if (current.row > pivot.row) + current.setPoint(pivot.row, pivot.col + 1); + else if (current.row < pivot.row) + current.setPoint(pivot.row, pivot.col - 1); + } + + //step around a pixel CW + inline void stepCW(fast::blobPoint& current, fast::blobPoint pivot) { + if (current.col > pivot.col) + current.setPoint(pivot.row + 1, pivot.col); + else if (current.col < pivot.col) + current.setPoint(pivot.row - 1, pivot.col); + else if (current.row > pivot.row) + current.setPoint(pivot.row, pivot.col - 1); + else if (current.row < pivot.row) + current.setPoint(pivot.row, pivot.col + 1); + } + + //step around a pixel CCW in the 8-connect neighborhood. + inline void stepCCW8(fast::blobPoint& current, fast::blobPoint pivot) { + if (current.row == pivot.row && current.col > pivot.col) + current.setPoint(pivot.row - 1, pivot.col + 1); + else if (current.col > pivot.col && current.row < pivot.row) + current.setPoint(pivot.row - 1, pivot.col); + else if (current.row < pivot.row && current.col == pivot.col) + current.setPoint(pivot.row - 1, pivot.col - 1); + else if (current.row < pivot.row && current.col < pivot.col) + current.setPoint(pivot.row, pivot.col - 1); + else if (current.row == pivot.row && current.col < pivot.col) + current.setPoint(pivot.row + 1, pivot.col - 1); + else if (current.row > pivot.row && current.col < pivot.col) + current.setPoint(pivot.row + 1, pivot.col); + else if (current.row > pivot.row && current.col == pivot.col) + current.setPoint(pivot.row + 1, pivot.col + 1); + else if (current.row > pivot.row && current.col > pivot.col) + current.setPoint(pivot.row, pivot.col + 1); + } + + //step around a pixel CW in the 8-connect neighborhood. + inline void stepCW8(fast::blobPoint& current, fast::blobPoint pivot) { + if (current.row == pivot.row && current.col > pivot.col) + current.setPoint(pivot.row + 1, pivot.col + 1); + else if (current.col > pivot.col && current.row < pivot.row) + current.setPoint(pivot.row, pivot.col + 1); + else if (current.row < pivot.row && current.col == pivot.col) + current.setPoint(pivot.row - 1, pivot.col + 1); + else if (current.row < pivot.row && current.col < pivot.col) + current.setPoint(pivot.row - 1, pivot.col); + else if (current.row == pivot.row && current.col < pivot.col) + current.setPoint(pivot.row - 1, pivot.col - 1); + else if (current.row > pivot.row && current.col < pivot.col) + current.setPoint(pivot.row, pivot.col - 1); + else if (current.row > pivot.row && current.col == pivot.col) + current.setPoint(pivot.row + 1, pivot.col - 1); + else if (current.row > pivot.row && current.col > pivot.col) + current.setPoint(pivot.row + 1, pivot.col); + } + + //checks if a given pixel is out of bounds of the image + inline bool pixelOutOfBounds(fast::blobPoint p, int numrows, int numcols) { + return (p.col >= numcols || p.row >= numrows || p.col < 0 || p.row < 0); + } + + //marks a pixel as examined after passing through + inline void markExamined(fast::blobPoint mark, fast::blobPoint center, bool checked[4]) { + //p3.row, p3.col + 1 + int loc = -1; + // 3 + // 2 x 0 + // 1 + if (mark.col > center.col) + loc = 0; + else if (mark.col < center.col) + loc = 2; + else if (mark.row > center.row) + loc = 1; + else if (mark.row < center.row) + loc = 3; + + if (loc == -1) + throw std::exception("Error: markExamined Failed"); + + checked[loc] = true; + return; + } + + //marks a pixel as examined after passing through in the 8-connected case + inline void markExamined8(fast::blobPoint mark, fast::blobPoint center, bool checked[8]) { + //p3.row, p3.col + 1 + int loc = -1; + // 5 6 7 + // 4 x 0 + // 3 2 1 + if (mark.row == center.row && mark.col > center.col) + loc = 0; + else if (mark.col > center.col && mark.row < center.row) + loc = 7; + else if (mark.row < center.row && mark.col == center.col) + loc = 6; + else if (mark.row < center.row && mark.col < center.col) + loc = 5; + else if (mark.row == center.row && mark.col < center.col) + loc = 4; + else if (mark.row > center.row && mark.col < center.col) + loc = 3; + else if (mark.row > center.row && mark.col == center.col) + loc = 2; + else if (mark.row > center.row && mark.col > center.col) + loc = 1; + + if (loc == -1) + throw std::exception("Error: markExamined Failed"); + + checked[loc] = true; + return; + } + + //checks if given pixel has already been examined + inline bool isExamined(bool checked[4]) { + //p3.row, p3.col + 1 + return checked[0]; + } + + inline bool isExamined8(bool checked[8]) { + //p3.row, p3.col + 1 + return checked[0]; + } + + + //follows a border from start to finish given a starting point + inline void followBorder(std::vector>& image, int row, int col, fast::blobPoint p2, fast::border NBD, std::vector>& contours) { + int numrows = (int)image.size(); + int numcols = (int)image[0].size(); + fast::blobPoint current(p2.row, p2.col); + fast::blobPoint start(row, col); + std::vector point_storage; + + //(3.1) + //Starting from (i2, j2), look around clockwise the pixels in the neighborhood of (i, j) and find a nonzero pixel. + //Let (i1, j1) be the first found nonzero pixel. If no nonzero pixel is found, assign -NBD to fij and go to (4). + do { + stepCW(current, start); + if (current.samePoint(p2)) { + image[start.row][start.col] = -NBD.seq_num; + point_storage.push_back(start); + contours.push_back(point_storage); + return; + } + } while (pixelOutOfBounds(current, numrows, numcols) || image[current.row][current.col] == 0); + fast::blobPoint p1 = current; + + //(3.2) + //(i2, j2) <- (i1, j1) and (i3, j3) <- (i, j). + + fast::blobPoint p3 = start; + fast::blobPoint p4; + p2 = p1; + bool checked[4]; + // bool checked[8]; + while (true) { + //(3.3) + //Starting from the next element of the pixel(i2, j2) in the counterclockwise order, examine counterclockwise the pixels in the + //neighborhood of the current pixel(i3, j3) to find a nonzero pixel and let the first one be(i4, j4). + current = p2; + + for (int i = 0; i < 4; i++) + checked[i] = false; + + do { + markExamined(current, p3, checked); + stepCCW(current, p3); + } while (pixelOutOfBounds(current, numrows, numcols) || image[current.row][current.col] == 0); + p4 = current; + + //Change the value fi3, j3 of the pixel(i3, j3) as follows : + // If the pixel(i3, j3 + 1) is a 0 - pixel examined in the substep(3.3) then fi3, j3 <- - NBD. + // If the pixel(i3, j3 + 1) is not a 0 - pixel examined in the substep(3.3) and fi3, j3 = 1, then fi3, j3 NBD. + // Otherwise, do not change fi3, j3. + + if ((p3.col + 1 >= numcols || image[p3.row][p3.col + 1] == 0) && isExamined(checked)) { + image[p3.row][p3.col] = -NBD.seq_num; + } + else if (p3.col + 1 < numcols && image[p3.row][p3.col] == 1) { + image[p3.row][p3.col] = NBD.seq_num; + } + + point_storage.push_back(p3); + //printImage(image, image.size(), image[0].size()); + //(3.5) + //If(i4, j4) = (i, j) and (i3, j3) = (i1, j1) (coming back to the starting point), then go to(4); + //otherwise, (i2, j2) <- (i3, j3), (i3, j3) <- (i4, j4), and go back to(3.3). + if (p4.samePoint(start) && p3.samePoint(p1)) { + contours.push_back(point_storage); + return; + } + + p2 = p3; + p3 = p4; + } + } + }; +} + + +fast::fastBlob::fastBlob() : impl(new impl_fastBlob()) { + +} + +fast::fastBlob::~fastBlob() { + +} + +std::vector fast::fastBlob::blobInfo() { + + return this->impl->blobInfo(); +} + +void fast::fastBlob::compute(unsigned char * buffer ,int width, int height) { + this->impl->compute(buffer, width, height); +} + + +std::vector fast::fastBlob::rectFilter(int minWidth, int maxWidth, int minHeight, int maxHeight) { + + auto blobInfo = this->impl->blobInfo(); + + std::vector result; + + for (auto& info : blobInfo) { + if (info.rectWidth() > minWidth && info.rectWidth() < maxWidth && info.rectHeight() > minHeight && info.rectHeight() < maxHeight) + result.push_back(info); + } + + return result; + +} \ No newline at end of file diff --git a/FastROI/fastROI/fastBlob.h b/FastROI/fastROI/fastBlob.h new file mode 100644 index 0000000..74e41d1 --- /dev/null +++ b/FastROI/fastROI/fastBlob.h @@ -0,0 +1,40 @@ +#pragma once + +#ifndef FAST_BLOB +#define FAST_BLOB + +#include +#include + +#include "macro.h" +#include "calPoint.h" +#include "blobInfo.h" + +namespace fast { + + class impl_fastBlob; + + class FAST_API_EXPORT fastBlob { + + private: + std::shared_ptr impl; + + public: + + fastBlob(); + ~fastBlob(); + + void compute(unsigned char * buffer, int width, int height); + std::vector blobInfo(); + std::vector rectFilter(int minWidth, int maxWidth, int minHeight, int maxHeight); + + + + + }; +} + + + + +#endif \ No newline at end of file diff --git a/FastROI/fastROI/fastROI.vcxproj b/FastROI/fastROI/fastROI.vcxproj index a26a3b0..7a38feb 100644 --- a/FastROI/fastROI/fastROI.vcxproj +++ b/FastROI/fastROI/fastROI.vcxproj @@ -142,11 +142,14 @@ + + + diff --git a/FastROI/fastROI/fastROI.vcxproj.filters b/FastROI/fastROI/fastROI.vcxproj.filters index 0b09c96..33a42fc 100644 --- a/FastROI/fastROI/fastROI.vcxproj.filters +++ b/FastROI/fastROI/fastROI.vcxproj.filters @@ -24,6 +24,9 @@ 소스 파일 + + 소스 파일 + @@ -38,5 +41,11 @@ 헤더 파일 + + 헤더 파일 + + + 헤더 파일 + \ No newline at end of file diff --git a/FastROI/fastROI/macro.h b/FastROI/fastROI/macro.h index 4f139c8..71cad25 100644 --- a/FastROI/fastROI/macro.h +++ b/FastROI/fastROI/macro.h @@ -6,6 +6,11 @@ #ifndef FAST_MACRO #define FAST_MACRO +#pragma warning(disable : 4251) +#pragma warning(disable : 4275) +#pragma warning(disable : 4996) + + #if FAST_API #define FAST_API_EXPORT __declspec(dllexport) diff --git a/FastROI/lib/Debug/blobInfo.h b/FastROI/lib/Debug/blobInfo.h new file mode 100644 index 0000000..4031efc --- /dev/null +++ b/FastROI/lib/Debug/blobInfo.h @@ -0,0 +1,63 @@ +#pragma once + +#ifndef HV_BLOB_INFO +#define HV_BLOB_INFO + +#include + + + +namespace fast { + struct blobInfo { + private: + + int _id; + int _rect_x; + int _rect_y; + int _rect_width; + int _rect_height; + + double _centeriod_x; + double _centeriod_y; + + std::vector _blob_points; + + public : + + blobInfo(int id, int rect_x, int rect_y, int rect_width, int rect_height, double centeroid_x, double centeroid_y) { + this->_id = id; + this->_rect_x = rect_x; + this->_rect_y = rect_y; + this->_rect_width = rect_width; + this->_rect_height = rect_height; + + this->_centeriod_x = centeroid_x; + this->_centeriod_y = centeroid_y; + } + + int id() { + return _id; + } + int rectX() { + return _rect_x; + } + int rectY() { + return _rect_y; + } + int rectWidth() { + return _rect_width; + } + int rectHeight() { + return _rect_height; + } + + void setBlobPoints(std::vector& points) { + this->_blob_points = points; + } + }; +} + + + + +#endif \ No newline at end of file diff --git a/FastROI/lib/Debug/fastBlob.h b/FastROI/lib/Debug/fastBlob.h new file mode 100644 index 0000000..74e41d1 --- /dev/null +++ b/FastROI/lib/Debug/fastBlob.h @@ -0,0 +1,40 @@ +#pragma once + +#ifndef FAST_BLOB +#define FAST_BLOB + +#include +#include + +#include "macro.h" +#include "calPoint.h" +#include "blobInfo.h" + +namespace fast { + + class impl_fastBlob; + + class FAST_API_EXPORT fastBlob { + + private: + std::shared_ptr impl; + + public: + + fastBlob(); + ~fastBlob(); + + void compute(unsigned char * buffer, int width, int height); + std::vector blobInfo(); + std::vector rectFilter(int minWidth, int maxWidth, int minHeight, int maxHeight); + + + + + }; +} + + + + +#endif \ No newline at end of file diff --git a/FastROI/lib/Debug/fastROI.dll b/FastROI/lib/Debug/fastROI.dll index 04a7007f85e9b6018454e4c02cd7dc65d4868e9d..52c7c6efb41bbc49db2691ea0d9600b763f44db1 100644 GIT binary patch literal 423936 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%0D|P9ml0$G-MDJOJR{N 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�AZLM`1#%Y1 zSs-VDoCR_g$XOs~ft&?$7WhAEfxvklbqiR35BH|QpMhk&NLlB5R0C*UTBM@zAHmWk z+_!UqN1X%akv}KllRc{SZtfX^?*n1vR=DSdl=D!L^260&HF+cOqhJXy z(oDcJF7l`WF=V)4ibuu2iw^L4AVj@k_(4!Z-d6aZU>^1QF7~JwLF6asc8Nz#0t%hO z@G%u0wUu&0@G8*rdz25~$j$WYX=5wgv(lqB5$}ip0{T*pHI;h7O7suI4}vMu7C66( z|6#d{GT}Qw1UU|W1QyapU$sYF0LDE?UihCNj{eqkkGc|A_Z6ua{OAmiT1y&L<56F~ z6#F12;d3sd9LWp+4Gfw`nROm@=S*~^U8UYeGt9|6eCAr?_7@xAp7Cvpf7R)KId}m!;6E% z@ZZ3CWZ$PMgsos;mD^E_(ZkI@Gne+B)D9DxtJ54Q-i^KKM@n?s2V0t)Z`jaQ_AP47Lry z$6ZHW@lSa4LUhI_Bk&(@z-P!CxsiHq@~G|NGdFwGPowlB_6gqVQ9r&N-AEr?>`@Qg ziG8qP;4bV6Likb?ejkiO_AT+Kda#hbj>3NdUFk31cRcDcuvFsVzkoQh?{4D3T8W3B z0ZS<-0q1|0^6@brJQ|D>yTR9hBsP!2&w#k3hx3=>=h)K+j|M^P7KE<>Ysnjhp8;ZMhenK@0sGfqTWUg~;&gW%NDz2OpqpFqVFa!owcKcdMAmUjrX=OA5Ar=uw-+_uvp% zL0^aA7)a7DabZwK-=$#dM;?`+@BDBGY^C4Ba11E=E)FNb0PLB9tsfI6-Vc|@>C5G` z3ts*c`klEh1yA@XZKS<%xbRVIg$^Nj-ecI1b|v7gk7H-r6nf@Ax@me;Mt4iZSvF%0W)Rt*wl4%2dB(&H=5W1N`9A=!y!aemDer&7+NQ478#{9R5VY^r`Q8=6tY-e&jKAY5|DT?{T=#3p@jj zGy(Vt5JXPG7yb$#lko_D3`&W&UZe~VMb9|gcRjvAUkBioV2i9x@TgzYN2CeCuK%kGdN8&?g3e0u*U{36HuS43fIwqhDs8l(7%L0EUx31rK_K zISo4p;CWy;Hi^RPfe$$eAGv{kr|$yrhhRHn#J|y_-T{lz-+GnjV1qce^}Xg%&w;hf zQR=sh7qFaqQ}BRI_zkuVz>7g0YhN7pzK-9@nk5W2VYeu}8LUQs^*iQBP)zzT90Mb0 zV;oL`d8A3f)*GZl_QN5t7M;UzOv3m~98LlyJ_%cIGA@w)a0qmz-Y^^kD`;07PJ*@K zGqCl0bVE-+90DuJ8-`emdi+$i27$D`tNw5h!q+siRSR*7o90I+t zRTz$e0pic_QE$<|_<0b19w_GX6l}ds9@6-Q!B%`D49CDGvywyMprJ6aK>dPka#m z1xPT5B;j+m;)l`}_>W){ZB&0{?+VrsAB8^yE$C*w&t4bI!zOX~@W0{floNn|2^QT# zUGRk|(j!OUyuY(PEu>xWcR(F-D?IWalz%7n!mooB$m#=+`Zid6HRZ#-w~-e)06z@2 z+|GOgf9;>lH8;^l_yw@`R_cYV4?QZtyyu5QppGBkZX`XN1aC^a;A^+zOV~3Gdp|}WY;M8JKOr4;`97tMU=4CBT>dZmWdZ5o zoBz$&L{7jLenx%B5!joTuQsAj7#{1%SFOkqc)$F7wG`P8ukz-rmFQ^|zTcYqwVA8iJ2R@$v zT@D}z;iX_6>ErN$`{%3R<4=9 zxaPoowV6JR!P`MA{o>nr)H9`vG|C_KF{x?YL?@T*`4woSoL9!me-j0`_{ z82yWnrQjzI$JXNW@RJsG;WH`t$s_XBLVP9#KiMx|t-xne@RR-NYw;Pl_W;tvr0-2GVohhFxv@YP@u?TW$w z0B<7u{P}7s2-Efm{0bN$Hi1VC#V*)31U~|H(B1@m$8p$#vF0nwS7U$|IRrlmTCPJM z_~hf!`3~aYC&41@kc5|=fc+&6eBX(TJJKZJ+lG^uGzs{WuVF*#3c(F0<*RM9u@$a4 znQ?*LV({1z^fl!~;L=klU+RL3Po;dy3BX&xHf(F1hCM(jwp9WA1tjp3B>az&%uAFR z7?rOs8BIBq8Hb-PCl6)%#*puH^rXx%eDfL9!F-;Cw~xhElo>cPUrqixzCoEW`1!NQ zLweu1e02lpi~ezV^x4c0QV#q$XvO9UxNLmBT8)1O;fKL`ECpK=XbZ9* z4uKWSdto>R)*#2>B-nu+Qm{3V{*pN#4gtTcUvLbRBgf$+*d*&6Y)xVgLH5HnU1b~RuA0TX%DfSS=g(%`(cV`0`*WBFq+j5TE%-L=_07fC zz;@;h|K&2LVhj8~1aAZbkkveV2`I`B!t+6?ln-wN5n1ox0au_CX##LF7(tpSycR5$ zxeo4jCH;l(S@5|af&L-*R1{}}u-=u3Yk z;qDRg-cNdX0_ckUL-1{&oIZ-duYjKPQ4;R{ZQ3q<3Qqv5h!4THfz{G?@GBrd-zDMh zS2O=CBt1LcsMt1^H!Eb?aavXgvYa$rH{v-r110m{ag*^-CJN73QJQa+PH64B$Op)^8 ze%G;9(iZ_Z4w_jP5^(84#uRb@Zn&PYAnP5RcLP2z{RJ1_NFL&Y@be(X9wP-$T7(_2 zNf=%M)=FM@|C^|n{Z=)C*O=8(!W9Yey|>$TjBk0!B+II1z!f% zpmPKs6lMHM+u`4UMWO>-uoN3!Ph0NAHuvGvVng@_FoHgf!S8@c#H(1oIvYf=Z3zB8 z@KI(fe8BzK8GBmrrC+$o8=uDJq-ll!3D%R>_e{RJb1mbPH0oJw0AjyD zehwMLpF)0~{Q&TjHvq2!<;Y36VjVUiO$7c7tob>%eIZ{x1=bRuf^Ys6c__0LzT`#h zfE2sgY+ znaD|a!f)}PHP{Uv_&Vz*I!EDWz&a@(&i@@_6WIsf1ZqeVhm*i3`oq>6=!|ZDI3zOV zhv66~MUKN=f6w|(U19jSKQPaW9sY7($!K@GC?4(A*|6=`B{?{|^WIRHNa0;Ea8eYfDR zl<$Y%0X<1${h4_JY!my#&w`$hkskKF$66re!$GhD{X=jRl#)IMC%_~rANKu)`AXUj z2SGy8!%+|+J|=NskfeuwTk%zNw%{O0Qf3H_f~~YY1|RrWY>4cK?*oeTt?<$BGd5Ra zANXak_EGHfH}+j1jvR$sK`CuXz$%5$<1;>ZCRj?|D17GMkx3JQ_xlIFhwO(}eSqCo zq1!h0c%UzG0zT-U_&M$J!&icFq9^=5=!tH=4;k+uPC34hkUMc}e${foIm%K0~Q^JmzU_$b^8LbNLZ z^CmyljO>F0U=ub8!V$1l>;ta@14xsEd*yl6aAZGR0~V4d0^Sx?4`h?*lyk6xeJ_r{Vke~PfydCr<-e2fdb3q8ZMd8;$DRxW28;j77^uA)R z+6Fe$F8_XBRSA|$`SAUqm~!IqTcDY8QgA<>Z#RN+{P0w;5Iw{2GN9;-IQ%+T^Apm; zhwV@K$bR?|kU$Q@4}k5+arhq~DE-KDMJIr5_)i#q0K_Rj4u1-YMdt&&>LRcLox||M zAW7a<_+y~xYhQ_1T?|GLABKMhl9ZW%y$5>LTFSKGH+%CO(?_sRU$1%wRFOUb=O0R4 zl<$LQgKfk|;Sa%Li9gJ%&IJ+C0bUK(OJ2Cw;q<%o9XtzcLXN_J150IGSkwbnzDU2r zAA;Zu=yQZug~1f!qwoR!yj)+R95@Eve1$f`dHreEZ%Gf|4Wi_2g+~tXs=8mH5Bwll z^Ct1IcOd2dh4gR)RQ-;z0RQ$#ud>!t{!v~vqtvTfskasGb2N2Hz3>fS@&?kwJ-+Hy zE#&pX-v^PGXfJ%|F8{2YD|4Ei&A!Uqk-<{POCE*nOlk|qLQc^o#8H1OIo zd=Fdsj`yllftNCa@RcC-7IubT266JH;GrjY)jaYB;afq1ym9#NU;t@+Ct^!5mbOIU zF2fmL(suY75W$`?_*F0&`=sE3Ut_$JHvm5lRuG?rt4_jh#7E(7Co_)zhcxgVpqw;u zIDZ5-#O4-!@F|RI>=uI8fjZX*>MYao7zz2jPc6>+i8Ge8}0vQ;r|L4s0Yo2H!ZI zzDG{LW6nW`wUi0J3(AQ11*spzXjd417j%7w_;ZN|izFVNHi0mG5rgMXWL$5iUig+t zlu6qY@X+(H1#%F60hG}%Dfra$$%7n%*MK)klZ1y|!1y9Q2rmX}@rO8^H<|uIPYb>W z45v?9;fimd+q2XK7hFW&F{Ui|29O|q9R2{*P>yd3a{`D+d*Ppg)z~KipLj8Tg&c%e zgCMp|!beUgexXc1{B2N2ni#wR45FMQ+#|&NNxTKG1DlamrB|H} z%8^6xGOz-<74AC~J;@t@?*S=n(h7T~VIwIAKDG)ysW$=_Pp4k|Ck&rF1D(XL;FD`; z<9o>P$+g(<4P^KM5F98ddftfK!aC3 z3j*kwg3k<7CbkN}FM|a3Pr;SnWDMd<5x8$7@qfg&@K(^wII@~xu!i_3ycvXuSIxA2 z7VRS5H=8+l4s(m7Z($71#s8TTg78U~lZUx90>?oW@vU$QB#2kvqD>%#@tbq=7HJ0sUU4jd1CW_|GQFfj0q*^lA~~ z9t{5zeh8P{#2icB5d1T+ne+)*-HaZhk1$AzKJXH-O7gEtC&00b9u%hx^`!ZQr9`;DulnYiAa140SCk`jUV(Lo4)?Mf%>pmO;lgS%~&-)JYtJndac{e_W9D|SiE`7t;55lj3 z#gwU*des83Npyz4dJlDA{~(-yFMc5Uz;A;!=;^zUH5YhE?~k#5-H(mXGYW49eMxUE z^Qy~0Pv(aR{31{?ufpRVKxg_Q48I6gKTBKS6P8miau9wNgkK~cu6_`|L5{-reGmVZ z^zhdoVlUB({|E!?8QKVc0OHT1=L)a-8YmV2f#-p(jD;xdeVG0gyTMn1DfmDP{u|hY z5BR=MUeJP`L3l1$gwI6bC%`)56Y$62P2zn&AU&8&-XJ^|_>rUV6Ci@!67a_$Mqb}a z(t}mx4Z?H5d~}GyPXI+9CE$-i9ew2cA?d+7d@l&k1&ffQ@Dm_TUnJmc|^} ze+-(%-{6nI0BPe-NCSpT8{zxFLiB8fcYvgfi$|D)!44UN@Iv56w;22aD5Fo4aO+PQ zSNH%oDyY$5GiyxZlXGYV9gy8Q4|&=olhF9S=^Ee^j5HsQBP z`0F*)EA4{62j*j+R(M7&VhXW6sWP{xA3W9^5A=6c-l89Q|3(gZ4g9O zjRoovumzt89l@BO5kU$Z-w6n8(BkDq=4%W z=!4Ed_<9g!zKy}J13!M1f=j=R-lPw}bHPgN5QSTTpYjv%omb;0^hE;BzXts&(+7_R zJ}Do*29%>i6n+M5q09taJRg51jRj8z3z5Tc46J9r6o->wKIv1ib!`FnyI}`71Qw%b z7>8 zFo3xt33pqF?T{^a5_pq73d766So)|H-Uha!kMH^dbtPDV-^SpQ8%QH#4SpJwA*bMZ zHx{Vvk_PU!i1g^@hnInIw6_&L^d@XbngF~G^rYStJm+S7m^Q}X*TGhNI0YYl3;nc( z^zipUM0@}~DoR@@GXU2Eg-s&xD$tj)mVmvt5~h3$o&+q~6^0)G%kh&q{5B{TKY`D^ z4gIlI7=9VdXU<8%7u}BS&^ZGC7Sti9;BAYs?X&1`2Xh@5i`)ut6Ue^nPRa(w=o5mY zAdC;hVCyb)Mz;X`3$TT@C*j^ph(`xMTnjeR_6WQRET-)V*!vy&PR0m)G1y4nF#I6s zi5*(uk42^&-`xf3d|=7^39ko(-bR1;_ZFxR@53gH zi%^WVgU!h5er&LU{zDFapZR|!V+uL&L&n8gY}<-$f5rUvB7MrZZiTN|kIyqMTH$SA z9c}mh8vB4U`XvM}2CJoC;LTt%{i0q%M-ZZ%2z=OYm;-575dJaP!5o-?ha?!M?-CDx zA1tE$R``&Y(Vuesa2;4Ha}K-;Y^2Nte84Nji#_3sLAlryz8CbB@da-Mt@NGRfb9je zB?vDB^JLC}H-Wz5OK|B%{DJfVcrI8%KStpcSSsgOUd0zc&7X;fQ=p3V(f1njKNu(b z2lz^mk~HvBU>)mS0{+Qw@jb?S3VwML_Ii)JuhXVCXgl_azFD9S|2;m({1b$Oe<)A^ zDF;5{kH~Km4`2H(dGOEJp9|DC|AGxklY+0?%J{-Qarh%J9NG8R0yQ0M#a0pcHBg7G zQt;95vreH;0G&;1wZ`{`UqKlP@sB%)yNjS2CR@Y@MqibL*(E;@pG^a z+4muNK|<2N?z@$Qj|8n-i)=myc@uK_d!yu?Qa=IP$SeFy(3Ldl?{G?g$5Z+{pyd5f zHK2<0!ZX12mLrEgE>QP@ZOCzW1K5h3g!_KNSU~o}mx8W;B`@6aDf0z# zD?DQd;~F^zKLsr06nxCT=xgKv+$=zj!VUjMH{>|{dr&9o;a;CHW|95yjbMbNkvN`i zJqS4j&j#hl5%{-Y3UUfA%qvvmkbUqIU=p(O6sqwcf*giF0^5GSO5t633Pz?a($bNVd7>68!uaGcu6n+j2 z`WyCy2k>sCGUW94F3J0sTDqVE>4onA>!qCi3)Qi_%cuo8{T)W~exu?8h^HLkeqbqb z7*6o6vJoQl-lbdQ-Al+ZxVjs*qMSI~vwNXRBKzUtG~t_G8k!|=1ND z_QPX9xul1`1H8y_cvUa-MpnFs=|-@QdgJgP!4BjUd~BaW)s-{>_~&3X@k#iYukbD^ za<0*rA1LIq75Y-@!a&-(lzj7E3wsJ7AH-^DeC;!BUBbe+O1cyu~X7!5WE& zCxf-fA@~Zg895676l_IKz#oEb$m)nfRSMoj4!}PE8zl{VU_aXackB#TgRaOicnj!> ztoj$KTCjukQTTbV9yta7XaKe)O%k3ouu%0yj=-zIAmjx64k$xT!39TRe`E`;2Ia_6 z_!Tft(!j%x!Z(nE@XAu^LiQb9sGd58afBQmglz|7TjW-F!BG4JIWnwJ9ee`*Ch1Sa z$G|p;pNjtg^$*$we-9KR#~T^fpeBa?u(t_6NA|&GAaobDg6lvSIRZZfCM_i|{990k zoP>*-Dd&6Sg---6$N_i;81xW2!*_uZ$T9d+5c@86m{q901x73(9{vpVMZCJ4{s&#r!4FRY%aKFyB2Y7*yzsMN z&@JSJ{|T&xiSX3`Y*YGr(BnFnrUMj44SE7hQ$_ zOM18rY^PlTxC#_sOM3V&kbHvn!q0;gasoak!kGOTy1_pHlh+UrAM@=()%qmya5L!n zb99E61N9U-!y7@E_$2JTn!Y2i4=w{<mMO6+~XR?KC%S| z!B*rDd^^~I9D_H2u0JI`++#jt8QFp-fM zlkonFunV#Up9QLrL-2K=RqO*l2@=TiYUz(aSISX0VOtP?4%@;PfEDaxLvR$V`6c#& zH-PoXN!WKYK89?;6Tw#G5PUn>A?e`_pzG75hkM+D-HSkYn%$Fiz6L zJ)+n|(!&!$our3v2lFI7ya6nd^l*<`nL{K!JQ1vv^ziLqjiiS+fc26d?r|IXOL}-B z*edDa+rbV=4?hojar~8lKLVx5>h?m_2drdYXTkCw&n?KpL6AZY!7D%+`=3@g2?nq? zkoP?fUQAucxlhglISb@0kh4I}0yzuhEReH6&H^1Ru;@PL-H#vML&G%}4OY763!!??Nnn!6qLGxjnKh*mF zLGyE(S8HCTd4c9e&6j8nXda-sqrJZDaM|5Xzl_)1OY{GhUbpG;mug<6`6bPtXzu=9 zN3UU;$7-Igd4c9Db^2vGyhigv9sj@8j*jJS{$H+d_EN_lRhlPj9;bPf<`tUDG!N2z zq~?P)U#t{nvDUszJ5ye;TrsX;+GVxP&RYiU z_b=OToqbSVvE2DL-c)?2=d_B+&I>Ek-x7J@NM2Jss$AY!d-lZhM+b+N`OEFMJdaQ_ zt7lFN&sFLak!Ci`u2!dt)KuNfB}P?I!CNLP+TK&iOB5w-zfSR0)lJQf4Rd+BXvOH3 zmPs{@4Rgl0FSit%R7mvcjg>R2$5z%?)m1l^aRFRnE1JU9(`u*JPOGSKeo(xJ+7w?= z-{7dBzQXU*W;Hfe^E$^i%~W4gEc(_rSGP2)f&3~hX?p`>h1R&DuC|Gm4&nFN(;AyA z&ZurayP;}UT{SO3t{#uR7pP-9{pPgc0yWhAWn4pL)wtTJjg^ga$Fy9a&L2JDyz!IH zJbO%=ozr6~hB~&NoyWT%XIIwMR#k*6#WcKhncJxIE2lOo{{LlkV{`e`8563*4UNre zuy@78EQ}gy^42KP-m$vS2l}W<5;t{0sG=J z^%b+5!i~JodOANo?Wt(0uBn)AzeBo0-X#7Qnl#i;ubnZgvAUw3_o_C`;q9t3X7gAN zr{-F0aCzHL)%CM$8yo6p(!Kw$z3T~Wm?t+MCrOu$`5jJ=2vXWoG1z2?6&uhY)&;4yBBw8EG_sBwt$QQrMP41-b00Om5pl zVM;IUrA(oR{$?Z@+3B_{Y(l$?z|y?$z4!h3eZOyPK70J|N2QlmH0o57)Vr#1uZFmP zdF`%DkB~kp-<{1Iw(6DSJXP{10&36-&g`B~O*j1(z97p2NFk}@H}lcm_gYfrKDIze zOh~6!Z?7Z(Np&nIKL@tQ!hPBlR58IIz*uS4By}dJuDoASW>~dgBROcan%3B#mv5=H zlF(EUe`&_Yza_HWM&o{~xij;5yROQptvH!^N0QZ+P`h1!U#eG;;g#F18J-Jb#ib8(1axjl-E+W5Jx~a?t4S9zOiLZMyRgxsEE$BdH zQ=xhjK7C9|wT3b)XR?)p`&2H;k}83A`*fNH@`t5eDxA>I$v<4W3HnVFe`Rv3Ufpj> z^-^+NEBQw52CbnmuB;&&Nz~gXDMubH--4s_(b98w1WDa#$oo?Ls78Ny?- zeygTR-#b<5LF0~8r6p02$+w=HUmi3r=1G*;*jEK4xS5<=e}`0;f7GJ#=^m928}hMG zuYe_p9XEq-FCah54xrC1B^pk_`{M(g2E3&tx2oidd?$B9Qj+4BrfGIZD&aPuke@Cf zzQ2pA;gLw9CKh&aZvA$0q%a|sC5W3_$r;AvD81fE?=hdwkpU{n3PS#|G9zi~JR!f% zB`aqp$=lnvez3j!`fF(cJiTv6<)PMz8Evlu-4BZ_#}d7 z7?&?5v?l>KTbm(}A@HRlaQ3BI%Zz0R{Er~;m%_EP+=4Gx$A5q6^89Dt{LkYBRoUhL z9RfMRz-N4&U3NW3aPkCM|2OjImkHr9*ZgCie7H!Y%L=m541tX|wc}dhgvtu~gqy`z zUs*2}XuZ;?qFuCEynV29ohud;70qa&hOXjf@sujXH^2MUuWTfp)#H1$(*hLKmCa&H zuD_vFM0zYJ*N>%&+)x^a>UDHP-w>4JS596n7SPO*4$&EZXVDr|6$%@w+)~t}|1;C} z;(yWh`itp4>{QU!M4Rn&Hikr|@3mlsR`+D-1ihdms$5JiPH(3jQG~rqPiU=BOWrq& zf^xHd(zs9MVxc8%RgxCrX7Ny{DYRHvyU??-_IN8BYnOc5Si1-g+c(zcxM7g7Fhd|i z;4%W|cs2r(^wWHf=L7CuV3yW^9)GQJ)=%1A7n+SX;DhJF?lK zIJAe+kaa}Ib|Qy$Mb~yCm-U*S?zKJJ(_uM3;z#;uGRlwnu@2iX`Vi0W;3IGFh7QYl zSkpU`PQJ@`_3osb@9{moH|gcgJySF_Q#YHIZnZ7j()*Kse!vg(!DNuPdHB(^HQRtU z=k^18Vn4J)=Mg+9_^iL~bN*X?G>*qOq$Z6uZ!iXHaIji7L_;&gF4xm~K`-ucuo56j z&eE(0R%k_5Y=wPhP#&}g;efHrcH0hZW_aed5ndGif4N85p~&~*t2_4k2UAWwk@{L^?4w>2V^xw)wFe3vTb7+3@5{I7$TN( zim8EI&b8)!2JvxzFrFZjX@sz_O8$xW*f{I7J9a1N1VA$EM%@^AGCj>?EY{*I-YQ!n zq73_q{s_FuJB-6RoWnb1lTO%)Ix+aiblENk7M8nWR|6NJw6IEENOb#nTVEwF z;bYE}04(A9T0iK=7a1gbtN48~j-96Um;=)<24+d~6&ay}$KUL`E%+J=FeJ4e-( z%_f+~SOw%}-7=8rbFhmvSIO70jxkx2GsTn{_@}Sw&v$3YY}8@8d#I4GheZ$b=~_H& dZ4``k<1GWS?3E#qA&?=EA&?=EA@Iy1@GlJ#l>z_& literal 322560 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
    _Es9}_cWwu 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 z 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®)J~cH^{D-r1V|dV{C3g)@ zotZbg*DNDoy_SF7t5maeHqJACor`I=c(=1fRWIT)Q2gqd zR8{6Pdmm;qTKZ!06Pft2H?3M{fuBWmL%pMiuXm`eDp?vG;1|oj6&8a$bdA@o%I=B& zy0Y4H?cYBID?2eMSm`jgM}4W8>pehr$wfU?%`YVkb3=J3{uW;Y{vM}h{!isE)A{+% zf`br!zw#}xHNKadIu(vPyR2f_2ipcVb;<#SyZq(0X^(AB zRsd$8g&(IYA#{6!1t_mfFK2;zRCq4{mlDeVRORxG{0!;{v|fT9ohXvV%eG-Pz7;y7i{EOFZYdu>PIawXo9_T;)3tm}Ss~cf@17q}UboS~2U!R0 zTbrv0M}L!-WaHDLaA2HCme?Af_xPbwSkCR9RwT7J_4i?ywPN4ZQQrx~))d+2w~=S8 z&UMzkhKDKTOR)|62#Q&_5DV^9ND1DSg%aTL+UgbBK{AX=KUny)!==~S+ zj|q4BW8_z3l9hTlnn=j)kk3)zehgg8^MKK`XaX9qR!s?)P%Z-)Pw++?C3JjOnBC}h zORaYE*>1GeuB~fCpdkTF!)vUDOW5#*@6uX~S>y&962LU1tYGe%v0vS&b4|o?kIAto z?*}F)_~#>M@WVP7ih$BlCNUpL#zSo#J!o!Q2lFZGXr;8f6AtD}{1ek;Mz*@(T1@IM zv{Xqh?q0VG%Ut5|YSKT9W({$(>4H;1HU$Hbj1{;Puq)x^l2+H5Sq5L!n84j7$}Q2SM|7i?w&W2e&pxzfHO=+uqTDb)Esl{4?4+4z>VCr2`7Z zT4dYE%29bM7Se_-UHkRxLt=_>lEpWLAS0aQY6WQvG{Q;h3F#YRc^Yl&t_$@T;Usxs z+9I6f<+*~>rY*urmJ-sZts;%K!^5;iI7yT0F$*U-HcVTDlZ*|}R+&cI?bn9n7U3jo zV6oXb$=wRlmRp3A%+g*EPrPC~Nuzd>K6r525YnZcteeT+iV<70 z@|sYO5l-@Icsz`7l7|(fOcQJio&!-ILYy0+A1s`XMML5a7Iga_X zHKftje04}}5l-^6@OapmnYK9!(w19xKpFh>5b!3}TLy5abU@olp5VgF7ieReK)=`$5@>{zoE{#;Bb?*_ z1!)U3!bwID(x?ol5l(V3A${6rrqR}aRfx6-C)p!R zTZEJRM~zN4Z4plLEFpc`W~I?~YM8bNC%Gv+9!5AxLzuP*Cpid^8Jwg`JIP(};4~*O z>y&w@GA7N35+a?X&sw$c^JM`*+ex}Cz}?aTZ6~>nvq>$`{8l(^nn*wWMo8TeZgOyV z7>{t1dj>nBf_~ebNDKXSvt{EKdito#hzL zE{#aL!XmwUMo6R)&hp}wA;<`4`GtbCMH=BOa|vmv>j_hr7p5-4S-upeF2Y#~!_-AM z%ilPz8S2)Csk`{nkVGP!<@WFh8R0BfC`em&5zbO)Q@1`$UC$*U>LQ%wlkgZ6;VkPE zq)lCfv;0hZLz=Tp*3MFbIFsfqjoMi@!O4ve;GSu49I&0`Ld^6GAa2A40c~fgvH%ZC z2eh4~h_g(i@ZPXUTbe>5jc}GFSA-xVoaF`uX^S+%S*8%uQ0IlI`_tD#eMUITs4#UA z&eE$!E1S9qXL*E>hC1HGPn#rGg{g~hmdnB;WQ4OE7p5-4SxRi`c)vZ3xA@cE=a2<8DAzKY?KOm$p zH{PNV2u<6rVcN9+X*@n{r-W(K{-+^*+RDPTY5&uZt%kObwfXzEX!N#eDSSwh+F#VG z_~<%)w{pGYx;#SSod);Cr;4jb#$t6icII|;?L%X69o`b{#+bqHeUC{jMRzrw7ywb% zvB3hl#|P;Z5Hur5>Aoo}bA6B^^n#m`LP{n-|;txvEttOxpzv z2(-wXrB=vH-Gn|0E(Aew8K!Dc?ht+d`1? zZBVX+(5uLwPa!-B)ER_ORL-tl0lC8m2?(Lu0=dQq$tVPRv@r72^bA6v7fbD8RT~rn zJy&XPlG>CIgtkNAPH94r@?BK9Ed(jgLAesbOhx_@3ZWCIGYDa^1=8Vz1cb2G0=d!$ z$tVPd4q;>&!g0tF7%rrCk*W;}fgwU_=SXcz2txh=h!kl;kn*vr+!lhAe+s|t+x^c2 z1ATA4!oix~{!28C)FU+$YNVEwJ~mb*0CD%GLewVZ91|MNXCodiVnUx3lB9o9h&hb! zs+Cj?by8>vTG(Sd^Qp5S%@=UI=vd1_#)sxc$;S$G{vwsHF!?FSn{ze|DD?i!7=c4q zK!6iALJX0IszF-$cwefSkkx0Ar*^ zk8Dp^fMi^#H%DA1TYx2G-%Uu79!e>C5GX}%htNqyoU8{+Hr9|-N(xd4CFEXVNUAFZ zDU=fO!wc06FrN6sX9GTGJarJ@%$C*bP_GdIPaOmRZCNd|0D0;l0BFlvApZzi{g!4c_u*_=@#b@YGh0@VU_>yo;?3s(pe-xc0_4r- z0H7_ai!4A|YNTCtof(oqgk8NS4jqs{gsfJFAtPjU7a+s3;yuU!XSS@qje*0+iuWJ` zfVQkIumE`vG5~1Hs?q|?9ZXiYHe@TS?(;*C5wiMW7&1auR{=6CE8dCqI0JLQ_+5%)?i?pkzGeQ!Gu&YJqg&-qj^^GuOgse^kWLQ?b6A|Fd zmervci;Z2CrUTlt+SUT(ornNNTUNc8kQ$8ngURaX(?b%7kku9Eh9DzkRTqYgkkzh$ z49kie(E-kES#4u+#*OFzpe?JvU^;3Vktpe?J1EIOl*T`;Y-ZTUPTez>$N=>W$N~mDSGR zE4y*xEjBHvlp{Bx; z@;9xRi@Q^?4>;5kPpX#k5kCKcNQzp8!nCDKq;|E`CWtw;u9yYW2PPskTNuJt zqbesVvxOn$4$Av(c^7N8Gx_hS=LR5IJX9E;ci$08ZH8esUm2&&?4 z+unprWCSM(Zij%oZV&rCgi~L6n#ChxJiN1=bg9->%wTQBr&%Pao@QY(?*4jb=|@Ot zPn4rfEyq$#SO!W2F_vS}YL;pxRc4KfH{PV4SBRyaS8&jx6Z$nvH|A4o)V1Pt9Wz-- zH(2`>I$_6RlkZabwI;t*4-)Qo!D!;(wXR3Uc$u}Zz*1R4HJr83o z*1QGi5NlrH5U*4txL)&~1&U3J0<6`&M>virm1xb=D7qc%O}o9VcI9k$gVoM|8bvoG zfN9ugk?63YOdNEFZC(0l6y1;jrXgiz97A~9Yf`G9fS8J`0(R*Q)Tbb%uYaMyFlW~E zQBS5c0fVh+=2M#f`($A1PIxHfpO_gldetvUf7Q=i-2E_4W)e+=QezPAXZ#3w>|Pw2 zhFOmyge|s*O!$en9kJcQUtJSq!E;g zSfo2VMlC+p3Y2>Egm!J9+zz3RR(_Hi_NB2NYG}bJNFk4qr3%upYHO(5RA=)BvC$*1GyT#s~vQjKkIWM71!mWf`IK(opU=bph{ck`y$jDRdPEn0BGy{GfYMe zATbVC=NE+ITZGOp$CwK1$U^6}3Nj0we?dWJq4NzKuYijeXnT5{xQ;=EceBgv^b^fA)%tGhC2;+><`CJ8=h0f0aWLW3ClMzs*t@Gm$YK_i$ zV;}%%>wFgrkQj%n^V#9}7NPU@x@>iRzJkm`=Z7oEEOfqI80Xr|3%J*6h0ZK={-}bq z>5S01t01$``7}VLbe%JsV@@O}zp`u_HBdxv==CeP|vBxlj;SR_;a z4l@Db?(Ud57-QigK42`iRlS9|lmQ%cTVRC+NQ?oiTFR{ny)DqH)1}xJn2a=*vZbuB0Five%OVeTLO_PC zN`3jkwkcI27WLGo)K2-ua31WGuPrh=pIyo~!q`yGjs#fP{F^EyegiD! zzeTw^HMUf7Tu!0fg#Og+1$ODnwbueU-v=Q93PsU)((5`z@nyfBg!m|`Es))O5XE+y zTxre1{j_5<$dwi>wRNhNy`YXU` zreU&xO?Xm|O?aWe?O+X1%PXN?1V*#9EiFzs0w{5Gp4^*#>P%Tn6( zOIc)sH;|%VfpR;fdx~`9(E=&OCL{+SrGG;H4v;E*?u$2N8hW`08lYD&YsQvA9R`rQ zssTWou>}?&&woWS_SRw9GPY;djJtQTW}VT@ac0YICvM=e0AHj=R& zvu5lBkc-7y78=_vBV*jn3eamaHqxS(`(pt>o3Xzl<{Js{WK|?%M^4CAV_z3<&xWz% z0U0($?#=}0wHZ6eqL=$U0YICvd<&4q9m&`Qhi1#ztrE7fVeC>sh8g1)M1WqKv8fn0 zjUu?I5dgFqJHP_unWad^<{y$RV~+h)z! zs~8wljA4kB-qjf&NhT9QxOrHOnZAE)v{zv3G5p9Zg9$aukd(gyV=nHFNIT;rXw9f* z3+_@(e~m>9I!@MDfT3|Rwqt7K{oz3(xC#~p$4P;*#>us6M3v&;IH@5;aU3Uq3dl@? zJ!7`%@B8-tJn%>QN~(xEoStbQm)*SOlBcd$)k=VqB2L~GJQz5z`0ZhX?*iaqsatqjSyYZ=lau$5Nf2zP?L7!DX zRNi_N80O4u8(S_1p%*uAK6)xpNxsc?J{s7XVm_s*we;NX#CjC+Pt1xLJs+2(KObi< z?p~qRC4$F46*3=q>|Rp#083v=gnBOfHpFBDTI9fsb^@T@)oIk}Qg~Md(!djAk;XHb z3l3eR0}0K|K)D^#DUI)3H4YPp2~IRbKuVDXIYB|Hp4CnfO%#w)WI=ALAQim|lEw>2 zDY776g@LIs_803A1;cKnh@Qo?%!r6nr{Rj|Kpkr>#v?>@r1-0nhZbgph>8?s79#q) z__UIT#u*`^Cjc215jl?((a$i!Ga}*&W4Iz3rIrg~Sc6;9&WfEZtmthu7-k`&6$&y7 zE4m$!VG(hb7Ac~67)^|bxKSU{%a zW;o|+JW@paA@&+TE~P>@-Os7^sg zq7zgU%|b+{fynGcw4Z{^LPP`Qf-?&dy$HyZh*AMc-Hj9Oao`!V2%NRWR18x$X8L9X zp7-d)U@mJxCe&I`QvOC`i?FU^*s67UXpbQqdcjj!BUPIT?^) zC8#x|tpa}ON-N;I)~fP8I0ROeu@bYYT&tFh1(@M_yYFLGm5afgT6M+_0GoKt1?xAB zGxcjlfG)uxM`FX0l5;bM6V_V5LCOlq)N(#1wfjhIf^F5^AfkQ|_6kgFB8Adl7YY>> z6^aUnpx5|Rq^N9E^-Zil!>`XsB`3r}$B)V~P{|pd)V4}(ic0DF;4~_wzb~M$@4|Qd zdn)CShFCZg%EBe(-&0{O?tTw<1>i%nz#3|?>Y#;fyuwg-nLyURe!S{Z1i@fpC}chX1Lv;EpXMW*rzF+55L zVPU_F#~u*%zrdJpqCPTa8`ttz1k&P^N}M!pZR~7D30l6XxRXUaFB) znc*-uAx{Jb_H7+N2lPi=61{lr`)PU~HceS*1~TY4kvmj8=psvB}O7=nfY=o{8Qu#BE?%vV$xOU)OT< z!h>gifmCcz73zd(-SdSjEO4H}F0wwXSg@}ph=$bcvdA>XL|gzMuX_ZiTcm1*D!fh0)b4?C zqyG?)F3A5hR*)}%y0}0MG-07o)4wx`RJA(FB|AhWS{P#h(0^4(Ua>t=^7{6el)M(f zzaXy)R0A!czy))VF{zSHuU4H(ZN^UT+zF${Ie4d9{EV)5@tVU1AkfKKspP^`vXedF zo((Si6N6+%jSiCXM{VZf?kTVW<0`oSjk0&+MR`5!Z6h-FfY1cGS((Gil08$EoX!U- zD^UqW62>g#8-NTVkRrE(s3C${?-mTMfRqMW<+Bu|!jXc!1dxUr&fEhX60ND^ggQ{E zFa@Ytn3P!DQI2u(-T0ZJFiMMG7=@D+Q1d~%IvzHF z)=O!KNx7gs+Kx$dqKLTEwLyK$)PRhUD$@-`X1W0u>4tYUyV5%QBkXC5JEQEAf|59=%ci;ofi$HNCfw5krQ>Ti;{YM(evt_R{1Xf(gXM$azusma*kh%`D5bh08TB>D5Q zOdAaA3D=$2h>IT?m{Fuk%8v}p&6y6Y3kiS#hzlKGqC!cjbhti4RVAz7%)Dr4?gSXz zUe$C+Te|(77_R!bbznOSVU4QcEDh2_$1L3uyusTEp?r8co(9M4!*&va%_PiIiVt3w z6Z4Mb95d;5(f1}i=bg7BviKM@vge<>!vBu-*2Go`Y?Z)P32c?XRtapCz*Y%tmB3aB zY?Z)P32c?XRtapCz*Y%tmB3aBY?Z)P32c?XRtapCz*Y%tmB3aBY?Z)P32c?X|JxF% z$Kx@j^|%jS;aFp241zyz$Qd+7?<%k8u-iThh zNE*@&JZC`pKu)z~lTjm5L5+j7hyv+qq=iSME0Gq)kgh;l$VR#xX(1NrQXB^(DPUFg z-JulaHj>tVkTdt*N~Hf+9w&&j&xLYS_p-85$DLhPy6iKEt&^_&-Y=Zw&1IdeP3E6+ z)(9M$SOrZr33%c9Kf{vOP(Q9q81IF5B;CbyH`4Np&+drb~5h1)%s6B{V5dvXMh5Ify<czHx;9D9j+On^fyvQ?188?X27A ztm_@L*Tj6#pqk=&VaXZzqXxs+X!u})e`w64Zj7AbO1<_2=avOzZFtHnWni|Rm&Jb0Yyhb@*` zEk507`Vb$)Nme%Gvr0Gp6LyFbR3te$6(0*3y$;8*y{F%0F?a2 z4L4Dpp~-HUo1Bx@r0;&5K@!m)2su#nAgz-Zb&htt5-rU+ppia2F{C^wKJQX+X6u(< z4-$#0M+KOSyLAAPes&ZlamtCE@D(6RzY9^%KhZBUO23lw^~+q`B|^xZnUsEeE!nqX zlv3}^=^~%->jpAuH4!@((z{qE0f$EE%y>W5`jOFJ2Oh| zlJe!w+?;6~U64r0yxNlBXpDJE=G8<3?0~q4ce7glRs)eN5p5$f3oHL+b zDZtmf*h)QuhnWq*@gRZ@OHE=^d}<-jyG{Jm4-%LzaH^1pNP)<}BcOHV{om<3W3xr} z5=17<2_fpS0FtB!Fe9gxC=)pq`=*%|kC)hdGo$#HlrJgf=9~zFQNTH&Xwr_PFKblAl-Xs!G`}=PKW;A zUab5tw^Z+`6>k`JBz&MGo zh%vn{(rQA+`6;W_{FIf}{Pa40a?>roX}Qc#XFSdM>Ak<={8XHUlgkBY;qVEwk!o_8 zi^*j!#)?Xm%hZ$!{sERrMi$j`pmo~Rbdc5#rp8Sg;e6G(H8-7)8bKeQH-VK5XYDd= zl)-EX2~po4lw`8bLF{HS?&bpCkKIiSnna*x5KZQVYCQn;?(W~jr{LL4JwC}&G-yQw zZ&u$X|MhDgp_>5><_V1$R-f!qZCGd8)LL!0*z&5aHZpJ2jnuMHbriQ6m9x=yfku4o zn(B#_rl*%Vcj!(yDB>Uajn7+)oQQ|TYJMmXpn5)lAR$)7-6i;sU@K5~S3I86fj#vA z!uu)EE-NDJjMXt2rsoxMs+fZAQqbhun`J@gWQ5+JpbLP)JIR91jJs46<(3nAHw)Uv z4N6IncQmBdsVMCN`SbEwYF^!O;;U4ZJB#>|Q=81x`676WX_J%QX2X)i&EmYy_ewd?SDArS*s2oS?3dio~wUvXwk>L~!T^blzzCqd6L|844f zS)Kz&OhCv$pE8kQLeD*z(h(0q1G%`{4;f0(;6z6C0etEyV$k4+4FG#HU=a)(Nb9g6 z2$eV2ya|@D3`G(Dq-$nW*OKzp$K0H1$VZByI^?}q#QT-%mca?a@{!qHlOU{X>c30K z=6q*R(fF+NZGbo(HQ#w~7Unx|iP^c;lqlvqMX#Yx_ud9%x6XI|7fvsRBq_CF%k4`} zI4ZCy_3&y;Bi@AN!cclqPG5tX8TE%ybEd6e8}pgOoK%<@Nno(tfK<+WCgSW6oeYKl zqaNTNAA!Fi8~hRb*#&ee6klQ?i|Zb(R)9S65Q7Ifx8m_?eeRZn;~N9+IX&d z2FBC=hQv*h6SRWJ^??FmDwISoJp=wA?!xD8BWlScwefyyz!|&vvN8h_40syuJS{Na-;H z#s47E_PPSBR#;GUHerZIODIVF9`ua+6w&-=@ zS9e|fc*h6KhZb3y|BAM?A(aw!wL-1bFE_a4K99LqBR8sg#Sl7_rKo#d^IqPBr&9g9 zX{tGQ-i3BNysgZMIq!??qFwG2;UU)^g^WQP%4cWZwtobGdoLB5wOtwc4Z>gb3h>v+ z35L%NZ{TIc->2)c=kIuSF&KaQy*PaSGTDc%#Iv6Ulh^lV$0XdnLKI{4(@XLH2I7y@ zWvGd$^mrQlU@RX&fMKfCs8+5+^1qz?%WA4a@upUEmvh-e*G~qDZ+$_E%j>zsPfkU( zOWXA-2tFKoQ}IYFU%S@(U7+esS$WC)$4N$cYUcJ2v;DnxdpKei(Q(b1$oS8wZKh{m zCHfN-dU~CD4qeSNpl|_Ac4!wBg)dU_q4N&zqT%ss;cw8{OMemhhTCV-uS1d`NzNp% zW9vn1t!-D`H#a%;-WmpX&|S@T$&O07s7X`rnt*MKg~)*wJwyp}eASDW(Wpq~? z`QDS5MWRLz-x?Ncd>#1=EaRZ}Jq6o~G=!m=bT9{2yKwRHe=n?(?P0N+Nxx!W+Eebp zjcf1mSGci=JFVwHugdH=mXH8bK&9aYTlc8pT`LphxBDxGPtYc@ z#TTVWPVEdRWoZjl7fV@swMgDKTbx7jxBuhd@8p+6h>`r=+#}>i^H)Q!_+P`H+{e=K z@>+Zm#hbBS_*=jmV4^<RFbd)`Xz=WJCqTqV0X-OLe}Q^ai;!le|otS{lCHqt~nhg{Y$jNW~B-2 z^o@SJ^-`ajk^ttz2tO*I3yj#M%7YJat7M1eMcxO`3m?OApiKNY)SwPRy^n&Q?Svn< z8s*+tPHwsRD;o*k`^uh#WS<)$*yokv0o{|uF4S(VIw9u0wHml|B+>XDAU<}uon#n>F6cks z>f)8PnYwslm2@FU{Vs&&Y`XZI#v$WnL&@*WhataD;MO7el`uwzL^536|7 z1?RD(I(y~+LGrufA;|A>_^Zfo==qNXP??3AIm+iZ|53RAXYFpV`OmK*ss%E$Nc4)z zp>>HmTR8t=oHX$*hn{$D8c2r&YAXs@5GEz6~@pTF%Ks}59Ybx&bkM>s3U(*T7b_`CfpY8r@+5dFuAFGP( zy~b1*{rHBXAqE2N@xGEG1~pn9*>-R7Z(Gp|OUXZ?lW2&C)q5#tzEB!HKKsn3f&Sut zoH;bbvbK4SHZ_znrTDe`o5ucHq`$U}IXFISRtQds7;uK(_689{_Ga(5+Wo!%0Q$>k z^z~T~S?bkd515S@rZdyOi1;3sp;fy!wjzfTh1g(be8&;rbTw2{^4=B8No$Yy&8{K1 z&W!Kf`+=|6!Z%*Vm>%zqp`@4@-{Zu$N`^vX0wTXv>|#*9Gvk{V_a$YkO!p!)tBEF6^d`-j0S516% zHohKj`WEo}pI-vs`_F%TW)#wo|=NZ6U1BiFlW&%9i0FE$#c-L$uz|m?9!>m2lKPokz z#UI)1IO`8MX^G7Ca`G?0`gE=)j6OKXWeQ7~+i%DA$*?zj+zQ?C}X7WFs z?Gsk}Bqlna4L{x%6W`%!`0gJ*zE!yK?7b;-1nvKz@4VsTyN>ueEPPqW%M1nF)jg8! zr=mT!R`cKCt?noUnf)!7?TfAc+qz~&q6kFj%=mtd8|mIE1`uukypIz_QWp586JJXJ zUrBcOBJY>k)7?+*0s5VQUJsahu)|`IlN+xNlgb)yb7EXwYgUNYbEc{9*=NO>Vlyjx zW{{q5J{?6*@nae2dFEH2FFnS*ptr(Tegb+vkSVraD9c817bF6Ssl7n6(aMFichxcw zqgJss%P2U25gLN!APpH3y?4mtLbK{>c(+#~# z%3o{(zjHST?0`kddU6-omD-O$RH>q!snv5o7n**>pF8~uzgXR5X?GA4vJ_`#dOrIx z=*bs)xZVs9wB$E_zd?dd{yYduo9|Y_c+A$#Y!WpSz3Z30D*7=_yJz_DIAmFU%2vN&3F=T|+Xq(O7%PJn`6lJX1aOk82O z8zY+T%=+7n^wtTz*dOs}y5WJ8>e9%4iLR*koqTftk}CY1$c>oqwcG`IJDvmyWfe@U?+?j8@TpO75T#^pzl!Z2COt;K z)mtww3+OyGa+Ri! zT#N$gHj}dE(0MTb^(r>|$Ft8bq0de}zn$z#7JhTL5ixw)WbC*GhNa}_XOnpaRr#Y) zdc#2=G8YN&%OI@nm=AXyf!DF@g2LyK^3M3>rhx^>yvEEmgph;gIW319!{K>^{GXy4 z1!}Isf*+~^iD?3HD+>CLR;^<#6a3bNGYHv^4RhVP@It>pwJtnU7i4xQTR6i=r_Dd4 zOMU<5(}m!918t@4Npcpu5qrAon1P<3@dm%}Jp4gDb3EY54zGn>8!y_j{qw_#Z(IOh zmg}j^^sT)O_+I2lsOgK;O{%>u+RNC!1MSuP%G?`+wZce(^Q!4f(M$S72T6FRRz*s5d!8<*Ha&niqO81 z;@6HCdBm3=z*p)0_`imY@BR+pdsu~6MPD_SC{)y7!3{KKrtduBoBsLX`{%8|S1kC{ zl7IZq!7GM@$A_AOW~Of`@vUN8y@k;Dvn*ssm1M>@mH1i&UuwT;&!K1|zD(n@@jUJv z#fW)V!5lacT#Z1VjfNuE-?lj|x&@s)@*u_0p@O(t4jn~b9`@9O?5zpDRLt&lA9h;9 zPN(Uo7Pxmq>+@cuHlW@2?!k3%Gfe4Y7NU_^ivIlj!2Kqu_a6ZEpK}I_GXaU21~2$t z*rCF}jPbl{&u?Y&vR_?MmTkvM+X^%?4LE}m+Nmu^3&@!f4*K&eH+cVksTrq;U$Jk}=j4~=6Wmv>_=6!5|;z6YT#MWpVo zt2}Y~{WomdFmNLk4YxV>Rs!c{S}0l9NZ9+gCZs+Wdm{#7e+B z?$k=homAk>yBG7VM|c?di?vCYRZ!JhA-SVRE-u;gCP2IWO=yN6noTmz@M=1@gH%cJ z5vI6#x6Eh?5j6Yv8nma?9K2k4WynDX;1SyUenIP$Hx2O-+UL*()VLT#oqzU!`xn_V z>c5C`QnMoJe>9|F>AzB>n15)Y(ZBM_!YjT@{X-r`J-OXb58B2|!HD#Nob-a2Uw}8L zv<{*E5mf*3jU|_K#c*R3A|>7JIi|NQ>K?CL%d-0-zx$G4_oQxItZN{?eB%y)84-*5 zkfj2tjpDv?7{#skiBX6sVHBM|5u@N_^S{?9YNOugsFbXpKTNpL^fNHywkH|x^JddI z)MCIqXVHst@BT$_jxS`cyXsEiu!kIOhSg`ZR|ZSVUdw>fvR4UD$^4r}8GCgEyznBJ^Bgmk7+cc8OpiEg3kKhK~rC!t;GDQUDCyp=j;-JdE73EK^=X#V{PGK3D!iZ5{8GqM4*J2ud+)7 z^96Q^U_Lcaf=u5rff8~$K2SnVcTpu;KIC*{prjNf?}JRA_ZWtOzQ3hP+A3qsanzwO8Og8SprW?WeI#FvRXL=9-qoWG5tK#scTD-Elg#p=LFt~5`Uy_3Z_wf zV-qEf@s;q&ZL11eENDeCgT*Bn2?UIpc4G&ADRD?CvG}FTpj1td_S_32;kWOWkx+s( zM#B5mI58P;90~9JAUF0Xeyj0&1;4lPoAF_8Yz}_k#qY=X{Tjakl#ju66@GuhuMfXZ z@GIPy8`~4VL-0Euzp40r4ZmygOXBxK{2st>IestTH|C?<*cb6T9KRFsJCk|fIUK(e z@jDa087P~B-*@r*F@C?sZxw!j!mkg%Pw*@J82#dR2!7T0or>Ri_#y92-b z@OuQmSXEBdh^pKw{N?dqKL6own~_xoxNKWhH42yQSj4~4h1sE`~Y%a&M>h#I05nUA5uMXfnDz@ldF0AdWzn_=8n0%a``Ve^8VZTmxN6mkkG& z#~)apbP21Igpp)>Vl0G>Nnv~94J6v0aXblIf6puZFa zRE1x_(VL1g1y+X8ARY`qr>wM=Ptp2YOEpuco_#@(@EIq!SmXMAtHTKryym!-G8*{j~b_yJa= zmKT)oAzpC6XF0KnvJ0{V?Yk4TyFpd>gFocVg+DC*5zg|oJy{CqSUj;#YOvjK0g7>- zrTDe&c$NzVZ+(Y?EZ+S>o&U4SzhvsyAfL>CY*P+iZIUmK>y_*Xdf&VQ&Ds+S(KnPS zm-fVB$#uwuxQ_!<=**QC3l>O6tp@Q`s-tF;pC);{S;2K1*u%NE2z=guNSG>`cbDJ; z=Hr2E0obE3QtUb2O+QrZjZjz}uTb@J>;=M}<85*U>&K&X{%z!w`LBFR_O=!F=Cku{ zhGx(4rjZEHCM_QPt|0!gL42#~=*33e(LBjdbpYSP9&Y%)z>j-R*ps4rm2M_E-bFx0 z_9_*7Z;AHY`M7wC;RjS;sdS{u%2i)yN?)p|SQYJHL5)CBGJnG-WVKLO-AF=qy&Z%M zs!4^hg*1VBX|zI#_1D`9^+MQBZWe~}EFu<2Q3tEhuyQPV`xfooEk5X7X(&baE1juc zE(PKRH3$#jye9rYf(lj}ZMyLG@lUVYh#&-LNci&rjXs zr&ju@H~dr{f)oF0aNxWGUEsBqi6@ay>VDk<6prsnE^n6(lZiYut-(GJigTs776k!l zReX;WhoD!cLo3`Dr9-RYdFjv!_Zyj^$xB~nmc*+LYBP6mPv#C*rb9;%uc(}t4jn9v{pm{olH*c^Io2e`@&}Fo%cWdySiW2DP z-T0aLCnH3>8$U1qG+aFwzQI>_Fp%MGiFn(S?j;|+;OwhZ03a4XQJ_&25yhz(k>Y3M zzk%h3!KBW1rjT{c9|YOsa8=T?0#|PYkQpqX=P?M)XXVPlu(W6_bBN_p_@BX|XbB+N zFAb3q?<|V;V2l>ni#1i}%R-vj>w(+VfUV_t)_S{Z7^60{PS+t~`fOCL(Q zWnhg4^KN|qE<>x)fOOLKt)S4*l5UoCYcsbrEK1`O!i`n8_he{nsY@Df8*Z$6UK!aq z(D~|bhA3B^UzD*u%~)(jI=?yGSam)xvT>mE`fz*I`5PJAW8r6Y9uGHGozoxFwN=x} z#(~a%p9pf^o%jQ}!(adQNl9bAC)c(oS(7*CN;ua3ViLv(aCePW^-1N8VmjBP;gv?D zEZoS@BkjJN)~@dwyiMI0?ndSu#_yHC(;li%ONYvp{4%ER=tCI%MPV}u2tXU*Bb@}w|pK50vF;raCe6zeUJ0t9RZ&L)7q8$TyeF4r-Ma$P=O zmpi)LVL5GpBR?9t3h=z1csXLjm_$>0y)=mX_4840rU>}SO^RXX_+{AobNHpFeBL(hy z_HhgQaNUBPDAA9cFDE^gX1 zuxe9LY}KYQiE5xmT3^Q`N^!T&NU8y8ZxMumhRuNUzJ%e!V%c{9&5|+v3Y|Cgm1*_W z!ePR}MX_8i1@1!jv6y{;&SK!K0-t3fAaU&Dzm(I?M><{0 zU5aH@m62r)A%q_fk0;BDi`Ep&U7BTeg_cL^I4Bu5E za4bEoyD>NkifE|%Pla-6+mY5b5Xu*#AI||FU|7;;z<3v=94f!%nz6gWXaTDWhac`*D>(!gx4cgcqYmS%$=m(i?>OjZ$h2 zR7Rxb+kwT&3g{1H_bn*c5-A(X=&3~(1H6o$I&bP{rPa5J1QYXd(W9pnxEtBWROLbC zUkHn|RDr3gj3PAk!A-CqC5r8xpEXf!D#QN86KZ5xb!T zBN0>HS2&N;c-wR2Eql_Sn_%clH&>4?;+%P^WFza_ouVP0B*;$I>E|tY++I4+51~!H z5TclY`GtB?suYZ{IyQSJq+-}Jj?L!hE~Zb!jXU)@>D^I?(f1aXxP|p6@k19M;1d|~ zS#h=i*F@nh{e}p51Jan_b@8GfZ^I2f0^&1O>Z0GR%jYQw=A9?YiY(taFt{92&s$I{ z`jAQCG@NSmTG)%$1K+ea_=6j|o6PujB))MLzGU?lJ^%LWM&Nr|K$5G&jTxOVwI!3aC`4n`i^oM`vsKp-p94v0`MKGOUycJ zUrE`o9R+IH|8(geCorwoZx->frt?!B;`N)gDbnCQo7sKD^Jp)eOa8HDRQ#vE0Q0Hl zj4!}^l}0s$SETs0t#%swYw`OFy#I0miZi_ba^#GmJA=_??(h9`&|f|fr{ayMGM|gz zK{?2bZxQi5d|e73N3KEfr2MJAtRVD_sN;xly5N(M(7QtXwa3dHO2nDzd-rVME4J{B zm$9J7o4~Tc2+fS|apGHr^`-aB5Cmmze?8kL&^}H6iJ{1e(C41ScesTQUUK-QL$D?) z$V}ggvw-hSEQ}3($pWu{=m!(kAo#8#zK$TiPG*ORubTMkY@5i_IuKY6qIPaBWzpt>u&E@jt)SlJ-$UpWKqdog_&X8T2Kzj(;@ zCjK>9Q;9k@ozA97w-M#uj3%Vzy3W9%&9aS`6g74_bx^#jL8Io3(Ezc zpmz9;x7(fZPdn>2I_r9Y&`~D@bT1dMNByDc{?UNu*L6n#tO;p+GrF#6&JO4SIYrf? z=@^>U*Ar_JM+$Z60+=>L=AiG*d9uw|bnu#rPquuQifV# zil1UE#Rt=SbDRlJ!vOJB6W~yvBxWI0ffDuUbXKtzc8esc<|AhrzOL`bEQv;kW4L*u zeFg5fT0$J%^0Ew~lWz<6uuMJ;Eh!p!l|aPZQ%J;}AU*&gF1_+O2S4mE= z355TuLBTd1rrH0rfo+%1l?%&`Pnx9Ex8Io*OsXtE*Oy7xGr%;Ty#|=K6bQAHQ#-C4 zC1%pAg^i$??DQ>29h<-7KpX*lSbWbFqr;x~OJ4&h9^FT?Ee{dFfbrj)OU0*h3R>@C zB)$T#x|i{|yRJa2WIKtyG!X_%_0hhcQwmje1#`X(uyP-)Tz#y%+<@J|DP~n&`J9~) zX;I1urV!kUNZbEhKTek1TY%n&Bg*LgDT|#qCWDVvRAt8SS$@(K6ByS z2D_qr5uqzDreM?ENa}w2dwPbZYQTf0zHi8Vt9yHp9ge`#>?>M+5P>m=yHADuejqNO zKK7>G5QaP6@)1-p5EGsPGo;_2M>$9hZmL2=<_)B>nRPHH1Zw+AY6qF(q){BqM$%s{ zry?#ZYvj`(jm!21f!1*1ur`^0&>AzGbmI0KqHPK8?DG#haSxsXrhkmE^jMJ;AWlDV zfoLlxjXO5737^kccWw#@({2S+q<{*9j7gQ=FD;-Z@6>aM$>n(vNKa_RM+6mYleY}> z68K0Z^4{xchp4oWH0YudR<|c+;eZT`MqS)q-aouVbi^^I(}FLUrcfyOg>rE{!dLn5 z>xDP8h{8Xby?|sfa!vv@%6Ki#t6*)Tj66J3&01u z?OQFxDUAFS-7!3T9{<+2tztKC6&|?aI8ugIJS_!^&Lop*d|tinGl^T#Ag6z%N)UteWbi40Ej|;Cu|;(`q+QWTf2E8VYvI2J(uvq;OCmQB4#x@_gFWI<3lY$Tst z3@S&8hozhqXQPj7l=B(QZ)oNC1VT9#$|FQ85z1khHp*eR_0Clh$VVf5W>k)V1eJ3O z8*Amr0I)gAk?!|F1b}i9y|kSwakA$9klbUwV+55tSf)7@G^mV@VNsQ&qh!#IF+ zCpaPDU;nOXDSnGHZ>%ztKgsx=G8cF8?rxf3Ch$%bGK5AL6>{D-V$%vM-V``~IqYT@ zG2mT5xcI%30oWeP{N5##Vi8qwcW(mdV3P*EUiB^#!O0c&K3|lku$taGfdR3U$l(VK z#OHQwl(q=Y(xSVztb&v|NXSHmUO_;4TM7=UNZT$%iG?(K9DoC`w{ruO+?`mDO8$vZ zsRuM>na`GFQkp_l+&zJKl8H><<zwUKxp5zWF?N8$ES0|{w4 z6TGrV`aCYcHe;5fGe+E`;Nle50 z9>B4iz60d!jVrEmKJ>yvE}ew?DwX6;T8vw03;P5Sz_S0x$oCQ~K7Fn_EP?)_ni(D@zo9`_*v&dNjUO2rLQ^$)h6bs~R z-#ZS*jN#&j-C_Dt;Baz`0^SS$$}woJ?ge+zz1-rjvBWLxI+pi>|A{BYCUlv7E@?dl zb1AqOR$_WL1Cs(Stz>yd_Y$btUqv5WcU5xTg%g6hd?(dfme`mcIYP56%9fDUTc&8_ z{l5Tu)^cBi>uy2s7&Lcteo|HE%$WwTCO|2$CI!}Hz&`kjfHloI5>%j6_SuBK?*IX~ zNHn1f(7_9q;{|9abZqC-abJHc0!v-Nd+{4<%Ss)05`si=ZYh@Kdq9lu#jjwgn&!~g zkCupV?|k6a9JR~r8a;vc6%IM?D{T&*6u*pGf!|9e!kI^bYF#hJxN6*Bkt zeQfM_4~xLmn=jiaEpty;6`jGNE$Gh^87b9|V}EthU!qrd!uw!bPZfz#h|wBK(Qo5> z@yoy`=7YJN!B>$DzM<~Fv=Z|oTA{&A1*pFHesKL#QhctC)BB-U@hSRgi8{0v9>!h{ zM=v~j&{Co{OLsy?G<@%Rc8~IWSX=)-rgS$3mUcD6aywQE*Y0{;yrWMMQb=U9AoZA4 zE%$B>EeI}!O~-R|jXWap?0Y|-h$(vV=(36JHF*=;zcP9f-iF?`vLF*So?keptjKA< ztgPg8pe~*8ij#cTN%mEJ;fB+lc1$UfpTzg9j$M3le9w8%4x`)Y1}}$&@1tystrg11p@i?xLgin7z_T0-=*Uhcj<^^~uW8 z^Dt28^+-;xO@4?$ zz2Ky2qYpi9?(8Z>^bRLYt38xNA2;{tN_M2Et~@C@<@fHG5=m@3 z_xjzKXfC3BDr(6&g0C$IHwS?f-sarZ$#8VhyKU5iVFAe*|yqXfA0x=HeAV(i|Ts{`Srz zVpaJK$hPDxAQe7OHustKW5u9=6#A`(X-+9~L`B|lCz+rW;fz3>Ha-DW14G2jWUQ@s zqXZ7*8c8=WOZjqd1n$UzcSavjN;$%zFYzJ#ZfoiAedf-R>p0?}-o zB;Lu4BDhg)Srd$}h$n$i)8ypV6tJe6HPRt`Py|(-TNYPuEXLTROS-%~DV)(&#Al1? zuzCvy8xVxTKZGJ@LXVRa8qgs_Q|lyAQbR`B+H%e|9ib10G&F&~O6+^)3CHy)0TokN zTwm7U-6QsfvSbWwLp)gZ!x`IpFNQM~B3BAAqo%BXJCzy13?g+|ta;CRplBk-Mq-4@ z>dPj3y(erM08Dv*0c^9Jwh4f8n3A)(>{{{isKQGgf=L!R%a<2j{NeI}ftH*V&hpho zec!6vG!T}OvUl{0^Ie5^VW$D#vaoyiUn-@HmO8l&<1iXjDyxdCO+?YwY)(N?Rl&$% zV@dT(G~S8y;nm(R;elc(Eu)rUlLVh(V|%yIfhfEfoB>CEBN1toz~?-+7+d3LSAr3J zp!m|Uc#oS~_}&C&4rE5uCF5z!4yf4=Tn-fPm{y}n*no$cFu55=Nr0!)f#TP9R4B?( zd{C4%Hkhz_p!jyd zkbf58+K%}uE-@pBOG(8r>>wp)lM=PLg_|BB&nL3SwqyQ*OspC2ye#~y6j$uP;>;Q| z@vz)`#3;8Ls)B+J$8_5J7mO;ZsgRIre>K`C^WS(7gmks%{~1@2PO@+vlI;clw_ff5 zO~G%y6hAQ!^5wSWKbd}`l%I7DrZrgki+-4S99&}e70z9s?fK=EBgA;q8`A?lcOP#?pL zESY~AQp&wzrDv+sBsGV;);DX~HY@?v%2U`tfTg#gBVodVO-Y zalAP?>8Ka3+Ueq&xv$4IOmY{+a8Iu0nOv5(Y^YD7EvBRp+RCELA<{MnHQw7nxDryM zRP@MF4#Ab>G#BwQqWMT(a+{Couj4QSQE*Lh2`K8XVtAU21;sP4lAQj0Ua*~x27 zwe|1fbs^v)8u!P&9GE{-`D%qUsC@*8MJBMma1i7Vg#uKNA333`ZwK_{y^q=2eDn_* z_R48HrjcLVY}WC2ChEHLPeKt2W8O{2n${!w8@$mNFuY$^<6jcQ!kX^?u>}5a-38D+ z5En4Z8PQ+iJ*im1xIChNZ-AZgBLS=aA;2a}2Yp}-TkbKEpvACS8X*rPc@w(&FZFiB z#FU~gr=?63y=xVGhOZd6@IA{&S^~|pX%Mhoe##nj@NNpv+qsu&XaK4=;pFk zq@DIV%QgUhVq0IC;_}!wBmw1+u;~X&Le#!}kV1s1P2oF8*K#+Akky1-D->atgW1e>(j`6A z&5uj^9B2(vEcL#P5v^W>*Qj?s|H(-{=f&ipj$+73-Yf!gCam#hU{G}CuA~HO&cizh zvY1Br_OiK&wvY3!8ShMc8iLCC=_dnq$y?`E#I}h|O5VJ@U8ybZz^kK%Afg+%WKVshL_M8-aWh9(ct&D2+_64-%d>ak)}2hCN;6`U%B)5 zblO(sI_`}*PTRk7S}>Yn8p93AQf{UKmmo$jC%JjEj(;Za;8@Kwc_X=oD6cuc=G>Zd zHg|&++dc6|ig1r~-t#RV@bt_;Pe5qZr%gRWxIZ2I&wXp@_7r^nH-F+A!~&GmO?Z3a zG_NlC{-oqbwaM3=vsrfjJ;<*8bLeRtDq^wUA7C%`(Q;Ny+Yds(9jL*i-+Ar8$!lAGB=iBoOo} zQG!O>4-}sT+j}?m_U{@o z!nD3qS|_@sJ(0CybnsEcYhTqZ>oq4DoqNo05j8Zr$$}2ED$>gKi7rwOCY}Niwy_n< z@!H={Og_VfWpzz*%|P*7+$80KFb6j#ltSsEv=6%I5mgd2X+W^l^JuH*pZhs)ZV%zh z!>Pu2j2X}B3D0Bj%U?Es$FElp6j$e9#VkG-a1}u>_gAdYdCp?rQ&i}@h6Tx&7&ous zU7gdtYcbJ8&^*!#n)l;)uoX0CFc=1c=1~LWA6R z^8V{!@;0Tcu|E0xddzGfZ9FXTBHJP66?n~bBrMpg6J3mcj>Hb$otYeWmLu*}3{I}h zKV{PyJ;S>YPO+UK2J9^(>a^80g4=@#ZoXoXzt7IMeUx`i+?lo3^X31Qa~BZC(tb>=`JoU^PaL z5E9E#48F=`czYr+{0DfjKp!c4K+o+5F&qhkz4v9R#Fa4qR8ZktrVtG`B6NH2a6n2^w#8?*Ns4wEJNJG7XA4Wuh+m6q)u$q^0x(>W z>=Aj50vldFM*tLJ2Acm4`GUN#!y)pT%X~8bWnS9zPyR7wbO`<{8I4Cu$>?yMGHg>u z2citlggx)E_y|(rXBh9i4-d;kXqF87>o?7qv4gkpy#d$(8LQTekwy;_HDQc~P@)+# zhOh(xU@S*5b|nH~cYXu@E5^Qx6dA+%(1~4Lr1r~NxQF4OREoF1dKCJ@6a_;+rH5%t zd;XzlXNzEeZ6*WlF)=-Ry-s0td?~29St5u^S6s?d#X$uqxFR6gC zAn5YaC>5)s`G03pzzxmDM%sDwnH%3@g_kVhosoF9b ztRh|G@BWKjwPLASv1*u~QZ-#6UA0Q@suk;2l&US0s#PKFRX_hW97YADzb7}$WczGy za=$ELdX1MU`>k`uDZ`>vP(s1tvhdkbrC`s^R!dG;k|ak$Ib-e!^LLjrX7l2EF1+}T zj1xbEagTOeNKDpVb6XZ(Qfv(5$=?$P*w7;hoJ1ECpApDwm@d&R;gRCw#dSR3X>%FT5sa`}B+L5V zjn=ms-7(zx3gn0IQfGeV-b!){PkVD&Aqp-`-YCPV+=WLQ-5fN4?rNhf1~v>T<8Np2 zm>(P^@s`xvQVsepmL=9NXbiOZu>G!C?dUbwW}&uko-V&(X!2ghp;yNyCo=WOE;;%P zO+Gm7?_K>@QSx&aVCTusrm$ohz$Ci7;*`|KCeN7eL2OVIb#(aCR~sCCFrKHL9{Y3%tY)J-1mu>x@Bf7{!K?#>=d z0lwt$S)@M~`S#AdG{S`BbcPk1A3+n{aMFN=H6AMRFOyYt<(S*Ew=-kOVyw;g^7FXt zH9PW}0mbLL><}L#yEB`J!r)8o?RC=ta|Fs+b=G=Lr4$0H?*DKr2 z5U^O1QZacvXWCvfFr%@oIfyJsCjWwk^q9~y<}nb<5-^;Xk0qK-=gpCU09TNicc4vS zm*yMH@;(`4%tayYON_Z4$w>6SI#N~$qi*_t*!~Os40;=u<^>%Ycu*s0$vR48%oVNB z=oq<=6iR-G{%eO0=6UsGTPeqWv}1Ni3hu6VSK}#Sj!5zjyIV0|$t`FZ6JH&sJqb%F ziL_pwDR(VoD`eBCS6R3xZ?{K-o-74+mI5aW)5)Mir&iF>Z!Y?6)z<{#xiThqHI5ej z!pX<6ibSEzf^LZjDMTf>&NWqK(pKL?BH_# zjc*rkVyBb>y2jU#RaSzza`{0^M0zc}&X@DV7n_Aw>Y6fUH!f?+CJA97Q~cj^g_dVS?+46AOv%jbuOCoDoWkx~+>B%{ zxtaot(alO(;??LVXK8HpEb{1fIF)N@SEM6YA?Nn2=JYgEaLsn{h|z0h@I2nR_|x6F z;F=x24V+VYwPr7L23!#IYA2~bJ^wcrw<5=%@H&;cCS`-9PyNk=&-fyv2Tx*aBS@{U zo?BMGI?))@^}VJkH_*u9QsSE|EBh-G;Tlv9*sR-nmdhF3YoGBhVyGs!%)mu{W)_~jaQobfDIE1>Jcg1iN~W>>B&ontm9 zJ&h-m#v_!UVzFN5AEIR#yVxR5HLD}8`+CyIle_<COaw*uoWY8woks%X#7T0!bhwTZl<-l@lC;?E}#`o%sEBNE2jHhz^qk%jBO#T-p->?OaChxIxy-BYga-Ss)c zE+2D>2VQBHZ(95~d2dc1r*Wy^A)j_TWHjUbn3!JsnUQ=k#&}$0q8VnLtZ-CC;d%R*kx#qR7OeXXYnM`t! zV^1brPrdnD>P=UlJr_@9%mZ@ih2cFIYatac{IrDv_w{8GBr zTWGP~&+g*0$@ZD4j-g3u*D^flrY>n?fzrQ(#!kJ`6oG_yiyjcy*dZZ z|0w6W`=Qt`IqVn`_SBq7?wY+!3VJ&7CCkiN97=nYob}6DyhyG>2JlY&eN*<;Ddoxi zBJokHc++uroPhqD&e=a1IP1CkiDOQ{-dQq459t~|HlGptntO9NQ}?pmA(CgWtigOl z-;Z+S|Hl+9e>>xCU->`e@0<@q{?)H7W6_O&tyqs#`^lOxG0o?Exs~P|b1hSX+MT@~ z#+SUFFx44zt&GWZ^{v=%nz+W(=Sca8u1uVuOX;l>GaLo@sXoie%8NplTpB>Sj` z$H?;*iq&Isi+!^3imvhPCiBOg;%&v)yLgN%M9MC5PPp|NZtEp~@GW|AA2la=u?TIs zE>8?2H-{&@5B}<1Vma=nxzBV>>^bA=Ht$%_+^=k4qUPa^T>a$6rNx`J<>@!DUHw{2 zw?y`}pEHenZIqVNHXA!i+l=uv85=9r(+@us>2nwLoLky+jsbV|3%WhV=+_wOi?LBt zNIUzn<-M_sXI(mKH@ChOS(&F<990Xv;l+?zrY)?wHRV zOQIHT_!J&nd`^Hi9rJ~3V)hg*jI2;qZ0izQTBDZJG=!Fws@2j#=wWcn%hhRu(K(z4 z%NMC7f|U_fBv?I9%@mByQ6a&G8FqZrLbXt>+*q{mD(M-K+{u(XjSu@*%$>mm{qWoqQ<3jH#yt9MDA2b-V{(eg!Tn0x6G9_o}w)Gm`hV1HSj)56mi%zm?Y z(=A+Wv~Gv?ZxQ@dW7@&98XmCfhIZXsc-H>9=Q)g7 z|1?e1b#Kw!Q%g7Umvqw>o^k3$1jbx@k2KwX9+XvD_SwW}-M>rZ?(EZGd4U-YHC0Y9 zE)E0aA%|}|m0VB4;!TSl(T{(ycgwgVqdS}6i=LB!Oi*0RSr}k#*ZAA`Q*kj3FWp1V zBA#@5bK%CuJBnL)xPW=|tDHWk@XNEX$T23x!cB{KHa7ci7Hvq9bYcFwrrOA1V@>3c zViAwMQ7nHDtV=el+l18h;l#MK&WdO}XI1 zXWiR4x@A%AS&yt8nziWev;I=Y-!UOit4cv%(gijCr+$H6%YqUy*kdT!vcGHmr=DTn z*%bICthNVD(L@xVZ`IBA9il~+ZVk*K6Hp7U$DNle+G-^U+^bE)b%@rhp<>#nYtK5j z?(&vPOMZ%ms^!769$z!6W#?IE@2(rtweze8>fUI%^xjQ{{H??80F_-u348Jx##Q0Q zK;EL3`)n&nV^arX_T~hVy2jr-QL0`vX2BcWe|}o#%-v!Y)V>q0yV|6@iIgH(o1wW` z=f2jCd&;gutZRIO9r1`Av8-!+84-moyY&ch^)Bh3<{`MtKlYA3KzxYf$v-=JcnNF$ z2>o_8{;ZeFEFAO*kA=WFfS`V`VRrlM`^VfOgRfP%kv3fxDCEmJg&QLy^;6sOoKQvChmA!eWPID_Axs73%nvz3-^xLxNOzF+d*ti#vaa`drIAIIslm+5e^ zKAx$Mr|9En^s!POKdFy%^l^F~q)XqWqK9k$E8ONZ_BSLpC^eY{8?!}|Ew z$3@R_eO#%Jl}|{_NA+=`KAx+OA$^>pkK^=lh&~?Fxn9x7XZ7)6eQejqAL`>4ef*j} zcJlK5uKZ8xaJ4>Ou8$FYoTra-^zlS}%+<%?`uLX4`#XJ1=;LGhxJw^z*T=0K+k7tP z!0iU(<=(nGO>e&Ue(c-l$r(u*3uG*iu|UQG84F}Akg-6<0vQWrEReB4#sV1&WGs-e zK*jwNy# zd6d^HO(rg5fs6$*7RXp2V}XnXG8V{KAY*}y1u_=MSRiA8j0OI$TEKq)lf1x%4|nT# zhh1UuMR5LhpAV`h-qP<^aetEAGySGT#mR&D_i1Jj>r8X#y+@3G((Czn&Qocp*Yo`!Y%2|3-%Xpe{8j1cFK<{0Ca>SqSD9Y@ z-`G>qS0;DcE}x=I|LJp*uh>IGn(5~zS01ALkjLVwe|?rEhomi^^&+G6G54FPehmf5 zQe(ufbe0;P?cZ`K>#I$c^!zjMVZDMn!H8Wku-IPmcp3T?cKZ$6r`vCCuQ{YwdR~L7 z(^n?9-j{BBQ~yl~>2I6U??0WA{%?Ex7U7|f$d~lR*X+zm{v9*-?n5+V_iupw$p(8A zOmVRR((Cdjd5j_5g%Ri{zqZFgkGun=ztY3x{iN6STYZT3KE-x{bnBmd>(K0#yn@ws z@3t98|JM((zOScmPvbAa%wob4GNO)#kbO_Kk= z4?q7_$zO8#`Stqqgu~CjSJsdD?T2qaUfh%1dHCzs4U+%r!_U80@>kq_*!nNyok7X` z!_U88^1pP~VV9pPZ?V1g@bhn${Ldc#_2V+R{>wl7@(bkp?WLa`cK!ED{;Tbgc98yO z*3Z#m*5@*R?6F&Iu=!fj%X?Xq|KX87toIc7mhqU|7g@=CX2Vvwkm`PAUF!L4*ZJ-< z$=g`^r{?OJk#wq%{#NoLUa`IaQY~uZf;kdySu{t#fm2?~$XB3aS9P&Tw;vYXkBHn*w>CX;olv(HysdBc{a4SGFSzPgb*9w9NiE+;$BL{N`F8W7VswDCK6xz* z^3I_vwKopivp`nX@_zmW7N}YlSp5j=5t|8REReB4#sV1&WGs-eK*j|fs6$*7BChFFAOxxZf)k5u|UQG84F}Akg>o!X@Qap zYpNQGN*hW|Aq8L%ivQ*C<{@Y9YD+VJ$->&QD_s@LBg_*F%KGb(l^;qoe}Co2)6DNu zT?f1CpJx8NB{OHbWfZ}P4C`-4SpPKhmlRf4*Ory6E^V^4koM1k;%Vl$bM+j%>z`)+ zl0~KUS5}mF3vkM}-a5kirI$XGYFDq|6Ky4HD(V`l%1WzCn%3z$ne+{HRjX=iYFAefD0A{ig5K%t8%paM zO6n@=8><`Sd^7j(Eim+V+a67H4&g1sALMa!;g#WY4WBgi-@t-KU+=Z5mdtBhxzeSy`0jY9S!Fll z`iJ~;^0cOzKX1wGlro(0UHOiz{9u~-`NW0 z@3;PG=1)=HUH>%mGry;Z=&pa(5!OG={QcHH&HO3KyX&83e(Ha^$S8@_)ykAuazSHh zT{)k9G=f8cR6Fb^J_ib#_^lF_IKz|G_Q78Hh<;E0N-nBcTM}!KC5ZlQ;3)OCvQzD1 zpB?<@^v_V5`Fodt(3BrfGkvnpF)lBy|6(YSxriS4o;xjjQ?cxSYtB3v2V6f97&l3ajc$S6k;-Raew6 zUsP3AS6g4ZvcbBns=l$b+FH`kSYB1Td{$`ItmX4-SFdhl18d##%jPd%T3cI9`XvNs z&Y3Yg#Q)Pnr!KFmDXVTQuUOu+x?**0oqbjAl-3vLt25Pd6;XAnR;}V#s#YsYov*4? zwW?6{oLfY=OrNhO%}Uk4`OAo_SB<2uhFd~hqbet^mh`h!2%1G`KKyF_HL4oUHK=vO zT}JG3wUjfpUi)~sSXrTgccuWzV`S)7x-7Wp~xb)`73i`V-nNFkQw z+5~evDP$xT3zSt}51GF?UzDzt5PwfTF7lQxDrnKXbm1)(aTfql1+Q}@z(|%tv*&;Ur}zwYO87* zD(bvl;GJv#rpAVnt*DSVU2uB&a3F{Xx{a~-v! zw7$X#_w3%1PR28Kh07!pKYM?-TDFSy4l(0XNe`zKvsGP%$YRivBu>`)s@3HscIKW) zktgvY#KiXAKbBK&eafpyQB&5fQh)o_-FkFyP^T(nm(zVx_aR+B(Wg7QM^#spBr|sC z(d<|qt5kSguXWKVu7x?5YvK>`=Y_)O7{1u>ok!dGa^Yn?z2ERnY+y?I?S|jZpH~VW zH~d_~w;Ddd;#|%*8$NFMnBfod=b>^wYWOC@7aKn5?AIH9tKlufR~kO(qz~Bgl;LIn zUap@GjJ4~tmkUzilZM}H`2B{jG<>_^i{KHdwi{lqFAAVGC%xgf8eYx`#SKp|^UGKu zV}XnXG8XthV1d#VWwNEz{gbg?=Evsu^_pk9Qw$vNnbWOl=I^h3HR;I852l&Fzw(>Y z%-`D@-Stm1zf=AN6*Y}4`Yz;3qgrGZHa1kU{ZUm`xTr|;i;Al1S5!1`AyVQlb34pP zsNgu;UKp_%_4m89r`!*ng>?bKkAwZPIVB`+GqvwV&_D8aYts33mKe!g~MP@a6E* z#}bAo_@4e@pEINa{oNl3P4>1=(8N3T$uYcRAJr@0d(}wwb!7|K5pFEyDJ!W%d3{3) ze`Q5ojf|L%-$tjT+G{U)EGTT^Hxm|r3K>2u=OC+BKBE3l{7TCj*c30Uj#ZZG`mEq- zzAM?Gbt)(Jm5*RoFKvV%+X6kx28?yd>bas$xaViP!B=C_6T!x9>cZlvl8O-YCx#Dy7fQ z>;HU7NuGW(voum#E^`Xo6#5s5kwaf68=6t*1VKcvs1>QCbRP*>$^(<(%Qaq$wQd4H*YEXW~ z__z4~(gM3*Y`}koUubyoPvMIVUu^gy!xtDnYVK&7d-(mS_2Pon-W{K~H2T9Jy(gXTj{SWtdZ{9o*`Y?^Jipy8JqKH;;^ zM-1O;_=Sd#8ot=@A;T9LUgjR6RM_wYGrzad0z-|g=(}WJ@vrjLA!sHv3!1H*HMhhk zX?z(!cTBhaOZ>-zzs>N)=6svs3k<)_@HvLxYWO61Mcx*}JN^|nJf||hx6uNQf3?3$ z_T@f%RRgPIR=zqQ{x(0v^+-iUbwzo}>N4i_`ONX%JahegA&H*@oeG@>@f7iV2KxD2 zP0ybhf@Z2Zdh=c~ z9UXL9W2gSgbnI%UovH0C;l=p6lcyA0tbocOcf4*Rm;NHlkt63EUb;=CWsfhFv+VJz z*zo0sPo7|(j~c$x@XMX_hF@m*0>dwL@*i*Kj~ITh;TIZytKo|czrpZDhL6Gr(erG> zhYUa0@XGLW4Bv5_ojzpvxZzJRe9Z89h7TLwGJMeRlMJ7jWXsDne4F9N8NS)@LBmH3 zKhp4);d2Zhd!H>YVEC}%mEnVie`}`Q9*K!|`h$iK8otvxKfyl#n&I0FpEP{b@Gm;~ z4WBUl-dwwVo;7?NUhKW!@FBx@7+!9!%lUnV@8CfM;rBZE4Zq9qF~heTK5Y0Mh7THk zyW!i9vE|)n_*TQW89r+GZH5mSeyiaV{IQbgv&Hb6;bs1e8@|c#HyeJL;Wrz8uHkPq zd=OsbwHiJ#&gQQ(e4F7n7{1x?>kZ#|w4MGc!?zp0$?&a)Z!mn+@G--O3}0>d#8_Ki zrQzEQU+&~LeALNr_~nLA9%b8Onc>^vrG85d-)i`X;g#Ww4c|dxNnd36xZ%Twj~V`K z!-ow&*YH8Z&oO*rj4dx@_%_3zV)$mm7Z^Tb_&mca!&`>$7;Vd&Wcaw@a}6Ie{5Zph z4IeaoC(qBIq8e%VcEjfwz6oCZDPZ_zhF6B4YxuW9cK^*a{6WKaa&t=LA258o;X4iA zYWUX-A2oc^@FBy$Xn48VCGrx6?=a8vJZt#4^L&rtTY0`m(svj>YWRJI4;g;1;g#Wc z8NP#!HOb#@_-4cJaPk{|yOZDWw>kMSp5$*c{04Zj=QhJf&H1f{4;g-o;U%%;j~hP5 zf=&3%h7TM5M#BdU-)i^-&mT$p>kQv!_zi|{HvD?SM-1O=cxCvj4Bx?qfXHhyeBAI2 zPJYA33~w2}+VJ}WcKs_2zuoZVhTm-XsNv=BnZ;hq4IhD*@|PLjGW=4*ce39p=Oc!1 zH~d1ww;I0K@KM7T89rqAu;G>A&o+FAxqhB&__*Qc7(QnBJi~_#KhE&`(M{@8VEFBZ z&oz7lJeNc&X!xau&oTTQ!z;tXW_}q9WGs-eK*j$0pJsmN??5S1|H2&Qd8Cds^Xp8mLwEht%-_5GxyaJ( zUvh-?Pc#3a{ykSPnyS}k^tGT)Q=a&**e_vtsgJg2n);CZJ@M1;MU_vj=(oo8sJvty zZ?;^0QoXghRL)v;6%CF2#XB!Zt+5(wcvb2uVazKEXIQ-OG{$RDt+iDRmDYj_FIaF< z$)duA3oo8uQn+yOg2JMYfEQkH(So9LLcF8XT8YpV`~|XvD|sE}>eBKGOA9Tx>_19| z(@NFW&FE2TfROz@!VC19{VI9S-wNJ8x`wwi#?+O(gVBCBX+3Z0lQ*Ht8&k{m`$(miPMgeUIq^&dYloYdFVWTqD(fXKEdB%e&txC~sixdE4m>JpvA( zaIaGZNUlraBE@yo!Go??4l+%X$0jncXQ$h$%o1dGBi@wP{c%t9+g7WOWYz zLhzP4k$)ENo?ODaS4D>Cb`l{Aw5?D}O)M=(-V0kt{p@!d%6lsst`@OUFxoYHRC9jcnpTSP3@|+euuyel71QUQ0`yOM6;)q~niH{Mp3V;d*?z$6w3HC+{lmozIDve0JE* zmtr&*^X}PizU~8Jt9f{&^dWis@x_cp>Do@JQA%&A#Nso0SxNf0c=Te=vv!~F$?LY1 zMb6Z`?z1k_r39}+R;*k(eQi~J zg;iSzUtZhbWVRZK#I1H$YqVeGj&bdGapWD&DVc;Z@R$9Brl$4%mOk#mO`S5-Mj4>P&`)NVO(d<%Y4{CIJE?s7wnWW%1aJ=9*PkbdsON7BwKJz z__KChk=ANqGr)DT@|)`K|UmdFQ*w z65`$TpK9zcBg4h4Qm!y|JJj*DKuu=cTud9unxzm6&nLVZo7*$-Qcz~W$@KXmyg!$*)>kvh3@%~ddN?i7Q;)$Vy6fS1lFZvZv%MoVHFgRs!y3j3d(9@} zk+b%d)#+M2uE+}19$92nEWKqFF*0tYj(^U0RY&Sl{QT`-*&W)rlx}JnTV?#L>t}|a zNloou>Q3p{(_S%&Pgtz`y?*cB_*O`3N_)y$e1U0Y`2vNr@|G*>!GGn*klEGoD|e0U zb57rP`m>Y6%SQG&$D_SUfA{Q_I={;G=LPtMTycp@L`=T(@MIx!gHU?puigV&1*> z>}jtHE32Kc=7G(c)jXpLn-^`mwUfSXx)X9-`jq;X{F|V-4%f zhL20kyXQ}f@p9RZYdVD9qV%dpzSTFKS>0(xx#l_7wT_aNkCVn3d3vXr(!Jv+UM%}_ zvR~J8{VdnjawkaEQR@i1uci-WKhDmVdVS{B)j9ue=~-UdP-<1xTQ%%Eo4b`R?|3(_ zM`U)9mg#$KEW7>bj<2$ol2*09J7(Xhll9uAdT*t{%<2W~FgjNQGrDJd@fjH*@*$Dq zNIID-9B2IMiL2;y4S#m8b>g{trC3Nw_Eo>^JBnsf#(BC7TT@&9nJF@+!Iea#?9zRq2ZAiup?%0Us{CvVs?X_etTLmpjzUnK?t~vYb7I zwOZ3F3Cnjz<-U2(y>q!QFS|j`mqq3Jx`Fc&FIR9fa>*U(m@AL$UCY-Nmvg34_aC|Q zTS8nZ*OnDJBst|;U!=_77~|g||E{s03kj~bvGQ6QTMc#?%=x?>?=uAmx@n2LV4az& zwvi8g%FV7d#-!FsI>$-eDy!!%SzTRYj5}uCcPN(jN_vtEVk;_Svg5W{xqiSxJ`HL| zRq>74Du%aDx+J7mW4oN{MsClov=%IhXmw<;03~(parOS}IBG8!_Fv$}7sMnYZlyCzsL)oWx&cc0zAOg8YH}JwT)2|<#Sqe-^1)7BmD1`{^!?EK%G$%;ls)*OY5vM z>l~|~$~w^sHJyL{$!CokKA*>ER*5;a+*%%|sj6}GT8Ck)tL>=}!FFktRvUap#mZV1eB2wh zE!^$#DFRZ;G2O0&W<+RePfN+Al=Hpm#f`Mv>I!RqWd;3qL0w&KT}sNuj7Ku3*>~0C zxfj{Jx1UK_z<4BUHn~0;rG_&fT}s+gJ@;0?+0U}bcbDbcp>lm8E3d_TU3oqzPYubA zc_};Q@_a>lKU<&a$netWe5A>qr##go8cb!bm-{T!p?u2f`*Z9dAGfY4U0va%aN-wn z-=F8ZE^STmkvCj7M?xBXh*j-+qu|OiurGVi@^xiYAvtjjbcwzTL za8^y@>J@Z<>6lI@a)h60ne+|}muFsGvBL|?%TcZVOnRo1M(}N_k6WY;=hyQu27R)e zgOK@WQWo~~DC~0R6UnlT_B_{Qu+3nH!JIGJ=N-lDdO8EQX$Qu3=lpy#$~t4L9$sZ= zm669ivN{1 z^fP%bQ0}gm^W5GX!i#w3F2Y^sd8~!z=rvi9e)>)F$amEjGd^5I&%Kb83rw1#J}WY( z1RDoi4@y5@rAHXq&0E*KDwLIB|EofU-sO6IFRM+jb>ZTQRTsx9YCcr4Zb8$BQ3d{z z#)`Uim+@_+3Oh$jYcJgXoUl5#GBll^?J@7BxL z=Vh$4zgxeA@w4Zv_4c>tWktD!+|DXdtUB;7qDN@wIhi8l*QI3WX(2nhcN;p1`-_hh z%@aFemMYc-6{kvir-WCkUnv#d4;4eF+?1_O$>s%;{G4;VUQ~^P8aUU$xw+zO@4zpp zY(MTJI&Q~X2K$_UhxF-F&L9y%qhH8i*kGhTy$6w(Ii0aU#sV1&WGs-eK#B!g?fEe0 z1~Xrpb>Ff-1@t=5P8&+e^6$*Jmj_AT5Y_zEY!!h9`$@jdu5?>nVaY49oL?6|35Ow( z@AY%*v7Nj*U&~he`$_B0FKaW4w9aoX;oiE)Ig#m<;nqjW@%lMw-g-lQJT%bd`j?>?JatGTiz| zIbJ^}t(=Qw4N-eZ$DX-Y(v&#KmvE))bcH3M$Z~#eJw$%yH?Rd3FDY7b$xF$y-EA{3 z_@;H>-l~G1bc(&_pSk=3_DC96EI*&Cdj9&U8=Fp>v%IKcMdPaFEA2BgV&yAzA^9AI z#J{KLn9Lz#fx#`%_Ft*@%X;&JOUR_iSm58+0vm5h?LWQwe_zXFYVKtL-_hCmM^7E? zJ5CLa4T;z(e7V{Axl@lOZe(o4Kyk-q=N~sUmvl$Pf=;?I+4*Cp4ks=v=6B*ee^omPY zp0VRpw;jFZotiuQXx|6iZRMS=Z<~6h^NRD**`%B7wzEk$*`>>bb8P=|(n&iXw3}Hu zKH#KxpYv=BFWtQ2JoNCCm#&|ArSpn2x}^A?m+idzh*v!Zh;!_z`-@5E6_=vR0P<4$ zzeleys0PnUian3j*T7@ z8Q-B)&DVYEy8p>m$MY@0Fm<;e`4xPX$X`JdM+bKW)Qkv+%UdPX!Qp$s`y`ITKUyW! z!Qub;gS!LjvB7vu>m!9*60prrhCux1GL*@ z*Zeo3(4G@dH*w<0MdCnLiIo6`xVYC8-Cj@UOBBgFXT#|V~+ z%+byNMBnuC8?QJoKlJi1ue?VR=T(MR+j*7Yk3Utf2mjIBoRx6998vFrDHr+&U87=zDj>-O{c1TTdAquc(8e(te`KB6($ zW6kC%&-m{-t~u&Z*XJqYrH4=ZymT??@?AcBMEXt2&Yv{(Sgt{Wu`$jy$U^(Nav*w5BI7@zyI>Ue*Y}y+1~SRZ+?J!O&hFUrv8Jb zGwtK77i12ZVB$Vx+Dz6XZ&DGZ<_3P0t%gF!Kq`MFnI@0*#bQ34**k#Vz+dKWKQ)VCMo9{}Wqf4ayOx;u3!7I+_ zma^{k(3klmWuHju`N1FSdR`2q)YEI-Y{KXsvUUI8fpwqe(!Gw1AGCG<6v3-S&S(qW(W1{7^~FyyDmF=PugXB$(*;nTjqxdUIO_?cOsLa6KDF2*!HmN z)vJ$bSsryw*CwPp_2}87ebd}~v1!hO@4vHq9-K|^JSZ@_Q~Hl}=<}edgV(r_66c|t zS6#i@-X*>m-k|J?r8nFWvfiFLC62MyB{BgdG1`=YzE z)%T85Dom%gAo&$6B6276{?Q!|%l`W#?Au2;%xLBCy$%TlJJ`36aG235hYmReALS5{ zL#rG*wCGjV#>q=&MOe<;iP#n362WaYgcIB`*S!R_xa4HQf~ab@1bDHE-U$4{Iz zapFYo15A|r0Kti)oqGXN=zD(uf9${5{R}U^_3%f}zUFlg+-q;g$Q$h1#<^BGz>vM6Si0Yb)p64A;3zz0Sl>Joagv^iy2voo5=Hb8}tiwmY)CZKT(9DeES4 zos_Z$@QO3*!IZpSai-ispY!l4!;HUE-D?1^b~Sd|Xx8hxkC}8IaIaU*{aojoLZ>tO zrL@;M_I+Bfdq78-@$fja{~*_{Lw3ovPQe&pJmeo8X9Qyn|FC~z-}SqfJ-qzQE1g%} z|A}$#HR(~NZJhfZVu#W9X*(PX90&PF$80DIy2{{(m6 z^NKqXd0u(F`hr)wBZ>34E^++X@keQ&U+vNU{9E94hRI6EPY4oJ9S9@)Tzh&j#tOVj)~e&`@HRb?qvh7vDer+<(k1O&dg&e_hCKu zBAn;aPB+&ta=&2l1KH}^_8!y62(E$xqr-byuEsdXKI0<4|FXbk>D({ylK;aV`9CGN zN6Sy((=&pHEZ-ShQ|5IqTYAJDW#XLiTl(4uAJlzq3Gfk!eT#j%uPyUe_L)15>NRIe z{x913zXIH(^GEIcEBw3qg?EC>in5~ z+Gbw>HbLAgx5uYu|FXVy_9`b`eN4KPdDO(E__>L5uN|Fv&zWyU@6#RYL&ek=Un3LNNbvvhP%SI@UOol{5W8bRv#SG$f`9ocFO6c`sYY@GI3Yy8f6hE%t0x@$#aGp7&eyk5GPxasceDwB7*doON)K9Dkwc=TJZwb&Jp zYM-hH)D>3ybun@7=i{7tAY~l!7<--T@TsoxnEhIPzqHWAN#7m& z7z2gfci%^FGQ>Q_Fu|I!VyOQTS>*TWvtD-cYBMjNHhEL#rvcjRu&xdMiDjg$t={f> zq$$tYhj-dq_G+9zI(FtV$Br@%_@5BJj1C3tYdDW<3&(%l&#V*IIHmqL->IoSRWYUP zINwVypIV9Fi9^MM3u*~|3JQ!4KEYTM<{)drYe)JUhXn2%$z}t;KK|8vT%BV3?Fp`O zJ;xU>A57DRo^ywhms0ML$n)wCUUBKqcYW_~diBk8b@s^X_|}h&?Zvk?i~C5sdFbw} z4^B7N;4;Rn`FZy>!ep#<;PCwCg@bVe2 zIIl5ffOKBtbBZ6O-{FQ+&@p9%sX@BQg--}&; z*A&%W`hn3YrLTM0(JP&o?|SV|dDYQNp4W4I>FVMo&s#tJcdaR7s>$n)bH)+R z=lDF*JAF1~jPsfU&6tvs&TH)Vs<)As@+^??y_EYwM!yvQHhELhdHJn(xqbhR*emam z#Ch4p)Wd6insOaIK)EUDjJy{9l=Z{gV1pDNGV;=h)9c!)?(6j<(dA!hPu^>cFmWmKSg-Yy zUbA?`nYK*XH}Dv**jrEedw5xwkA9*1S*>FU9tZhHN9{G)eSUvPmnrLs6|TRnGy6Zi z)>2w_N}PwT%nN$|!Pz60HDo$}FML?z#u507*Bb4#U+Xp6dB6gQwX3sN|3aU&tJ9ZK z`d9kC-)FvX^l|T_@3!@M1b9;G)4?_#dp0run!fsY*}}^Yk070+qvHdz-oN5SZL@k{ z9poP!w(qU4@GtGFqgnfS%~vVy|2FHL?p)$kzYo5o>$e2>2*h*H@2*cgZR_)E;AO3k zvi12_@`=yjP=0Gx~Y;f446?W3qEU zRmQ{azcn}GdP;vVW2*Ca9_~3IWlik0F7xO&&R)%I*Ivz(WVZUEy&pV{;OS6cw35A= zkZZ4IWqS8=JjzVhhF<;cCn&?7;=REA5YH7m{mo-M@$v^_mz1@=$2{e!qp8bb-D?=2 zJyQ0uyxQDrTr_iV8tVl;-=_G6SDOs;sbMR)?j6mVU>-PTh#IprM~#^?RE?Q6A}W41 zIoq$Y8-}Rx`2qDYXwoav7Q{on<9tK2)X;gn=SZ(0NHa2^Mji;LY-Dzl_s`IBC%?!o zAEx7ux*(vc-SICDR}wb~+Tg@fo>!d6Ovz8W-evg$J{8~^e=>(a1LqeoWs>iJOLp%# zokwgVc?BI?9qm&`-vZA9CU>5}&w-Td8|71@Bu>(Lp~#YW2YDDWNAfyl2s*qg9ir_t zW3hp>6=}ZK>eFRjvN)igfMT-4ZhpQYel=v4KXR1FUty>9bMD0@0To;tP^~8IGw`Rv zf7>IkBf~eAdqv35IL{#bFp2+Mj~?GZ&W)D_R0pyI<)>vV_D8z&y6Z+NEgsLuo(s#7)=f07h!xK3jL)y_cBK<__+B#ZtlRlU& z@3ZI}-jUNjB&ws-R(@qNB(+ZRQ)6rH1*&DgIPY|Fm4Maz!|Z%#zz`7ToOq?-7kvj=MT#mDJW z4|n&)DAyPAn=rwzhWc7``mobK$D{iV{*cHB>r_VXDK=xeq8_Wv=?r8nkg-6<0vQYZ zlPvH#_Wa}*eA8YpxQmtdk%x$11~q$}m$dS3efc@>kIyAM=|7y2U7u1xK)w+mKX<9J!Io~#Lr~CeY_f047(3hV(-L#wgrdwll>GaUwPyVg_)a|~_wyc6b_qB`U8^|W2 zSLTX7-pw=M8x)E@zT9g@q=S+_hl{ibP3 zJ@j$wv6WBQ-CfQ4(+OjN_$M|Fu5SagR^-FRoVih{R6ouugivw30fi=?r@OQC0pkAXvf;#2$h z@JI~26^anw4vzaN68ss*w}?nNKZ%LWHB>|3IBv$t&@9`BYrw zgAYTKklzVrx1$3xBjDXo;%#G4Rb@Ji|+UqxbRLHFV$> z>;RVU<~yuEBMg@B@u??xfqfh--|JILe@Yni-;ZvTYk`%}v$rE3+zBaJe+N~P#(LPN z?t&H)-w9s-h)*TavmLy=gSwEW6)bxcTT#b2_{QVtNx1b1pV|fGpnn29_et7U+7$dL zv{d53vwn{L5)Xa_+DbSMJ`M#bHvt~~6z_teTnk(RT}8Q3@GDT5a2&jAKYt&=hbn`= zz-OMuf5axwV9#Ho2VwOqzW4f^PwmBS!GuqJ|9PJ(AZ)$hQ#bsYrwaIJNhetG68?vs zJHV{p@SHL_1i|@`!ha&*HP8m)TftGkrHx1*0;AB4_)-jvL$_huHZTE=M2Ak$O8Qhg zbqRq{=r(K>1LG1#pEfW7jU(I%E`9}lNZ$sIe9cEcAU(MIb)RZLzV$oo@q3@zf!z|| zTb(|YC;s^d-huc>>`eL&u>B2eh@R?zPyHC$BK{0of5MljR|t$kJIEUYu&hKDA$Dg4NKC=+F$F_IK(fwgtC9 z+tHyN9QO~(!nPrBJ+v2@aqs}NOvZ#R`aX2kcPJNZg|3q{UBmIX$j z5IRS}R%kupIM@N*i2V~_(C1gzp^pVdgrr_zs}Q=y!49aC_yidA`&F~Z2P4o9mcTepM~$!3eYqJ)_`L&;jv({uXI1w3Rx>!44=->H-G&+o)~GvA_s) zo9G6%LPe4u>=2&5mH;>N_X9hK?*PvkN_Y$D!AGEH@rO>ZgujJ(3!iKTe-CXTZ*Z7j zt%Gj+E;7N%!~Lp_5Bx>IJE5BiC&1DXesv1=Zw3DX@2zyf~^72ircc+P147K=1daKaeE+b9?O1(ZMz23PBk!v3V`1ow`mE`-(5 zezg(WPPh%6!`~llMSdJS`55vLj)2!g`|$ZV_$z26<#vKIj`gca(igz5LOF!nz%jYh zi@6{Kei{lBZUuh{wG!?Gi}?G8O2Sd_8EEe}&}X7wJqB$i9DE<;L$?ub1OE=q<@3(L zNq+SSC`h;!+yTAyE!qpTj>BHGT^Ni(bI`LHybszcz6$0akIwi*7`z_plyMCF2NaYs z=LEm1fwt48t>8)vUqwzFymB)2!nSen$|?Bj_X&enPQ^ZAH}HPQx|OoPVR^JQb+o_> zp{u06;CG>CsaHGrGL%PMRK8!G3auwT0?s~>FlEKSsVCt}_<01}2Q|xh3(hRSuP7@5 zei>>b+y?qj<|#56|G_$FDdo0;FF;!etM~iWVkkg32HpcLM27@;>nZpQ@z!*|x)jwC(LW~K-N5O}nDDBb-cFm-{2}fr6)j?=8=|i*q zYCqIW`rsVw4ds2C^q~JVzj}f+5wP-f+L$zL;NH3T0BM3}_|+GoYN;=nfS!=DK4~31}Dnu@kh;LJz_rFbaj~FEKC9MR{OUDq5&~C1mEtqtO^_wy75FQtm~ba}{8DUAI0TkK%L&K8 zA3`DY>;T7JO5MdDz&hw``fn@v7<844+u*Fr$SY$q*beQ&{}bTc52Fv^2>97$v>)LP z@TiaACt?RM_oIvn*e42p1qHB zUoC*bgrnfyP=LG%iEF@@&_4>^23ZeaL-71Y+H?=T0k%UO_mdv{_!{iK5Bs~T#g|DBc0l|0Qy1{0Ptjk{p&7j6 zD(Xcz_-Wb^ib%QO)6hQ3?F7p{gTIlt8T>1BfHc-;8E2sOCx{0>)XdoNJYjI|)!3Z8 zF~QH_ljslyzXfe4z8yUE8hrAX#Dm{~t|M%h&BTM1jT=gp4a+S z1r&aqvcUD9r@V);C;0Feun8|Y2yVc~H`0zjM?QEx)P(#v_%KvXH~~)nB7R2RFnBf8 ziTpVDJXAzp)#6u$&}MXqg6+@_>XHCIdL46+)E#^rI)Dv3!Te3w4f}+_Mra#(Tfw2% z(=P~zz}uj9!U?eSOZeV%qyb-owv(5Iv04HZ`~n+-E5D3yW4AUi_XgUUa2UMx>!d-? z_M7Qn|BwDIwgo$(Eh6W?{OU{4b`)Gmmwu}kNedp zp{B>M3HWDd4tay$@T*l&6X9m?DX5rmC-}@Q^e@8JH(4J-Tkb(7c={IlEIt_pw?N~l zS37w6t@y@H;=wJDl6de(-$GB?q7!`Lf9R9=LvX8KJqK-}j@JLuUeMX18#v+H$fsSx z;Puc!!foKl@8Hj*34x!3I*5;hFG6#XskYIlpnd2W17C->(Wb%g`qlTphi>;$*7sQ# zL6guw20jfH5wF_(YCiNVz7z$&0UeO~f>}RcOvAS=@C#5UHi?5dKcv57=MeY_C!X87<>a7N4u!I7(<}53AcjxLe<#313dF?#vH;?a6~(G$N$6NbN3)q(%ER0`hE1lhw%Rda=O#SaiKByjH%p^VthM^+jBVcg{;|A^63bsR) z$m{^sqxc*$gJ2kHBX0z3h9;4>6>Nvz!pAy5^%y$eM|v;}T}Qh_z-H(a#`9LN9jc}- z9TN9A^YU)efR{dj-%@TIy!A=uJId_@Px(3P2jatmkVSkexDVQeJ_&HrQ`iT6LSQu% zq%O_i4(KiP=>SLW$KTM$0+&N!^ofDnpl0-G2S@w@A7K8nz$Emnq<@+)bQS5XXXt;> zUgD!*D^y8*96ShZMNaTp{2jWHa1{JI6lGir{gS>0mH&n`zw)b}K#51FBiQsD{__-a zz=8yM2}i&upl!d#51*%Pq4t;XA8_~!v?*yUFaq5s`hcy_Qqc!YLIp39_t&&9bT;Ki z!L87C%54X8UL+4;3#^0^q;CfILW*z#EO-gOC2ttq0KG^!4kn=}{Yd==n?vy=?E>zH z3g~N{;3>Z)FX1rwA{2X&x+fXypb+6Wn1q7#JM}VpLY3$f1-C-m(V-pegbutwnpemN zq#?#^h$O4cbTEcJS8M2{Zp%zw@h~ zK^Fep39k7)>wM}M2T$xo&dan5_;YBX===xf6lf`V%4|GZYa!fbTnqO?Ocj@bl18!f|l? zU$8I!9|nI69VDCpfB#qJ2*$(k-~8(9P~dL-2TVXWGEa4a^WUQH??z8>BXl$V9|!kA zQNjsu>EHb-E^{mR2-JZObb{yo13O@!D7X=Njk?Fd`yoY|1URe<-$Q>3yby{I9|bo; z`)KPpct5m-Z~`2rveW@d4_*k3BOC=cLIvcFgZD!RMLsypm!%re!2&OY61001+z6eG z@5RCUAw@U=4)bTJJlf6zFNCfVe*-r{`zR|8-VfzamjpO0D@#p!iS*!w(01A@3T}jw zv|}8+AG(fm6X37_>G3xUybvm<-J{?}C_&yh*aaoU-?B*qZKkX!xDnb$S#j|9&|BmU z4#`prp{1fHcpVgDEfELzLtD_f6P&>NmbTKSAuyQ3J4{%=MZm8>%a~u z${o<0`_LJ@fp@Tk7*E>4x)E87m&gbIdp+^Ad*YTX^}8*km-XSTS?cfK#r`t>v}G~> z(nh3-Z_iRsKsV#Jo!}XFqKC{E;7!nhz32d*@RKaHo^r!r9n_3I&EO9qi@CBL{3Fzc z@2Q_=saeo2^O;b>Bt3z_a$zHoLJK_^F4;OSm2U z(Zl$Vlnc&&Bul*}<$~LwcG{=|tmz<))EDf6)}xR0XqNg6v>AQk;9sC|&!gL8S!xy3 z%=ps`?tm7`m<9$OM>oo~z>h-<@r@YxU1%SAwu5g$TbS#EPh_ccpHL-?sI?p2{bGNa&Ep!Fgj zd>q=24hit+{pgGi7Pt%w;#VE zVq6M=rO-CQF>nhMp^e(X1JDli3H}lpP?R=`f)7KJ=u@5G<-a10^fhqobJUq|7~BU{ zOB%2=L3(s+2LA}PW2@lvS!y-39sh3yb6=qSutON!1I6wmFL?5=DHol?;5ujy?bQmt z2^|n0cri<@g*GFz6}$^-!2TUz;3aG&<0rTjDxh95a0_&!*cp5S$|a5Z4ZaO+7e4{N z0aY{Rw1bm>OM4LxgWrLQs8i_bO2w6b`TD}LOfK7{3v)MbQR$? zFaf=YO*+BYtLRMKTfs4};Y-v#1Xe)})V&$J6Dp?e9bn*f{Diy~xD?t(-DBW)pHKH4P$ZiAk<4?BQ0Qv+%j^@@XCQ0&*(Brl*o z1Fe6Fc<`@~LVhqmpjJWE$ZrOBKyzix0RtxnR57|);K!l4GUkBag|^F>1O5(bmHvAY z`a*NCc?8@5ZIdwp+z)lK#_j|Q3P>-$1U5lCXs=fAerP1^m;l2k^KL!*T@-AGo|Sko z{C;FfUjwg)+GYI!J`9y7Ndu0ah8{AugT7M&>NWa%7@Rykpq9N%UNA32-D%SVSUZz? zqJJEW&kCs9q%80gvk7CLIQZmQ*g@8`=LFQw^ROXl!r_2=3fg=hbuSF43!rU;qu}jO z6kBzGC(a9~gp5((I;ahOTEY9FN$8URPoGcSnY$z4Jns!B%J~dbWX2 zLt$igf>Rd+R3+gE7>7o_Lc4&!gvJqezl%}c(|98E7V(19pmDDvA9UVFDfj~@L>j@J zP_f7Xop(;U-xKM6kEFa~vJ#4uUT`(Eov>gtw2!dh8&HC9w3v4ZLLqc$10RP92q(Zv z7vgV(L*NxqG2v#g>4Vgra67o_Lje^b90%`$mJ#j*r!C~&n1sV%1GJ5BD_FY-+Y)XA ze+g}o^kD8q_&?zg*a9_38gS0V_!Z$OxCXk4a5MN6bR*$Ta7YAyARGkmgsvm3E(xfM zpzVZX;Gdz;YxpGZmi#F1iEJmn4V=$=9$%9*;H|vpv6wXKvVi(96eb)4zYfhM+y?#z zYLGM^#y6m=2#3I>(0amA@YB$Bgj>PgQ2FcF6U^fsjn#zR?{Ad%I5vF*9Y`IAd;LA`0VO5QdSJPgEBj7X8T#2v2=1?`^F!)*M zD#EScs9O33;Sl(#|KHxZz_xXrcl_ZjFX0IQDCEl2?+)q?s-(>p|LD zW9$#{*)hd>!@mTVzeH^Dcb#k(um2tE1pn&8?PB~ZJac6Eud>EaP})zmi!l_(o`Mgf z6!y$_+r_h}>lx~V7m*!%4PLuMtiDPA;ce(1Y!5tv`oBRvZ~={ApM@WNo@@VwIKZ!> z{%7&SkG{ZXEp} zQ!tN0721M7L7ub36Ly@ZOo{lwUSuzDEj)#s*fVem^7V~{_z!ZYC|u7x+Fi`eq`Ibw7-$K*aa(nL^ zP=B4dfFn}a@`$$6DE&HphUZWLdkMacMqj1fmw3(~K|S*5h||dNbIQYW=tjOf$z#5L ziDvkJdAZ&DwJ)>&|BbnWx1%%Iqwvefw#v2e+sJ_}k2UxmdXw*gay$EOwDt@736G&w z*-!XolzEwJ;j?HITOQHyOEk>2Yw+4v@pG*_Uh6hg<-3+VW$OX7f-Mi*`ZlUzufpG< zeXr5(5BOY0{n+vdg9$Wsk=Vi~&<)=sw(v!C-FdEs;x*RN67hj<)QjzbQ^!Wi83_(2b^Kd3XxV$ntO*Wn_8S_OGlZSsuF4k}MBTp;cKPE~5*wJZ$?Rag*ht z8wtLfdEhD3g*^k8ksW&#w*83yV|PI}>Xqf;Dddsm;W8SPAx%wZ$^*sol~Cn zIDwwTmitnF1zqGjgWPvo?lo=avsH2lIk4rP(YBxPEX9`lDSOa8d{)Z6h5uRFJpWri ztq8Ot(277S0<8$NBG8IJD*}I91cqbHJ(YhLY4U<%Hr`A>rZ}Z&DTWliinl6$O7UZg zZ>##>RD4NsQSl!YA65)0KBxNOQt3}Benj!DXtRGmQ+!3SsyMIsnBqyrdlm0d^eDO% zyA&I${XZ_M@84Cs?rn~Hw_-zYrr)m?4b{$rijONUD!!rkTg8tbZ}!KbIH>qVl|Qc1 zCl#Mm45|G0YaH9_J^wzp=Lt9CaEsz+6+fkTQgN4JyW%@49&an&tNd@M^gSw_RD4vi zr1+d-R;}O16i+H96~l^as@~VtbwkSURNSR_oyu=09##JBas9te*T*lde-Cqd*1uDD zCocKUF+Tg)PT>q)@_ip)1K-RR-y-Aj26hUUcB$N1`3&1Q>}1=(TF=d9oLbM#Z3{ys zThGmRkIQ>`ThGn+iqO@`kB9>YoW9{$;J9uzxAMMgps%lYeM|p5d3&$S^Zt$ahieY_ zyv+^Cx9$Rdcc0fYaBIIj4&aW%N8O&i`<(r|zYxevK75R+xEzrr8XOv{K(3jQYEol1>_jM#~Rjm^ttJbcnUX!s-AkUts> zYsNkyI;GcV#cR0HqE*t7EFY-K|QS9Nq>)tJy+y4$8b#S-N+e^`Gdpy znBg}j2U5qxQTL%Eca9vqV_-ARTRpzL&DbY*u;+NvAJ&7uxL=0G(hMPPY7fLrad-Q; zf6Ns8>qAqI3VyrgHmv@!i9=dEW?15M`?#TLLe$zL>qlh>aci6Jgx@qZGR3U$aim6= zt?5Ie%Lv06{zGmRIW%fmbhvRzG9pe}P&Xw!e!Yrw6WkgTM zVa*yyuE+R7`yq`RU8UM~9`ozgV9YqIM<>GCUyt2OUj|a*Md7CFmbPAu74(Q4Rr4m< zxDmv8>GK$|KwmIuXeLp5qV1sBuZ<-pCN#r?OE&mG`ysz>YFnNRo$Yrd!j^vPq@|6- zj_ECMCgm{Y5TEH7*;peRF7Y)+tr9U~ zkf_nujnUU-9fvJHU5X#%uz_PD*nU?+GbTNnF&;A_{%C-4F?V$5Ggr39(%I1_YnWu+ zM@ICB)@RCxl(fW+JNk7~-W<(krk+J^9s{QM(v}r-c$m9ph=nLD*}^a<^9;ztB7_LE z;g0vo(<#Knx;?o5jCom>Q$vy^g!qpR71s663-O&DvZQKK+&*yV&Vk|2eRll@xH=z& zty)?U_ik%ZTf3~L|{rk)FpMUIsPH$G!GX4Z3z#g6S8cki^dG<3){o;zx%uW=D}z(c3d;M?FqdvAYXm$ z?;iJuO|9F$XS1H3J-@$|o;{cKsb|mT;JCbJ&qmxxv{qp&0<8#K9)UIfh6#^zu3Bsq zU8Pj1T56PB3wo3rO!xuKjl=gOz@)qErGnjf04&Nt>=3#oQ@|M!2TFF-S()v_+x_p*CER|Qwwep2>y|PwmRA{iPLwIF>*J}>tQn~3| zI#GwCz6%@GYP))woFjm0#h z;a6dTU(pDWv1J??SH?c;njK-?R zqO&x_NJ6C$qnIwI%LPWUQg*Dzt3yngjn$w}8w-_p>iqpk(u~4iQSBkY_opsh(vXvYqmx@%XG|kKxSa~bV zf1UN$S+9OjpL9ab|im_*y@$2(%*5ia;v@tqA;yMc}^y?V#yU diff --git a/FastROI/lib/Debug/fastROI.lib b/FastROI/lib/Debug/fastROI.lib index 18da0b0b6b1b607960a96c46cb1951b8fc1d6cd6..e1d73f74d5b6fd58bc5d675b9d223bbf1f96ff67 100644 GIT binary patch literal 6766 zcmdrQOKclO^w~+8;?OEh`bngMOcb@WQj^%R^Fb9m8{*1V(v5MQ61Z$Pc1$g~*q z#07E5i3=yBo_gVc=nWy@R^ZeF5>ka|K}7-;i337vBvk07ytg~!9jCj^x=k&`BfXv9 z+j*aPZ{C}E>9kQTTzoY$8f`46VvT*#8{>`GR3hOtFGK*~2*CbLfCEPX`f>mVPja}5 zHNxS$9EPw)7}#*2{~7?np~D=mV2yC3c+|HV-YnHtz zV{fXmxkxrzFe+KIyejY-ZFI||Y@-c`JFp&$bK^%#(KO8!x(y_;Jq(Y`UAPxoI<0G4 zTz8jC(tNy4*5mCy47i*70gfI3$n^o7JP2?V;VwqeA%u+qfNT92X%7KhK`3E#)&}h$ z4bMR*bU_4qpd0qU^RO58K?uU0;~jpn(miW@jy8-P{=qWfG1kP%)RJHrEQYtknb*Qt z+#ZM06QrjiNPFg@u75oi&CSrZO-uvj0-RXz0MCDDMSjRh1x#uyFo5JBM4ID_c*FxGt-x2g0< zLLG*89$u3stjbmaOQ@xf9X(j5f#T8!943j1T~(3e@VwZ5) z9#vt$R|mYnKfy`tYbX&(+(4ERPm0$OvXn4<_4&UyzqXkp76H60rRYr6zmlbli$SuK zPeg~;WGTbAIrS*@ zkN^7n)-j|W!lT9i>L8Pq+JSt~i|S_!$NwOzVVkPo8=XW6q;?>xll9k9SJS^{qu-DV zci2<|C14WS=Jh@4vD?-c`h!X2p_6zBp4UAUAF**aUJ9!_^TzFO-$6dQh>upJi%%uN zq&UVUzxn9X?`}}&-a`@u%0gupq;?>CipPcXxc2nH=IQ?^rgswuwBRm(S(9|qw79x-TqoWUKpXsHh9j?c+g8m1&EQ&?| delta 200 zcmaE7GDCKPg^s0xnF0hPa4|42umjON1_sU(3=CZV7#MgWAegs;fq}PT@>v1D$pM^4 zHY>1pFqv8!B6P9>wax?TJ;BMq@DFHC1P=p41uxh*1{MZZ21W)ZFwH#KpYzn@_pApe zyK-AiR%bmtS%H;(vl!no*2#5}BHU;5DlS|A8pXiC0#tZ(a+QP)SX}DI#JeDIMxb~d T*HNCd#Nv`5e^0%XoE!!KNq{cE diff --git a/FastROI/lib/Debug/macro.h b/FastROI/lib/Debug/macro.h index 4f139c8..71cad25 100644 --- a/FastROI/lib/Debug/macro.h +++ b/FastROI/lib/Debug/macro.h @@ -6,6 +6,11 @@ #ifndef FAST_MACRO #define FAST_MACRO +#pragma warning(disable : 4251) +#pragma warning(disable : 4275) +#pragma warning(disable : 4996) + + #if FAST_API #define FAST_API_EXPORT __declspec(dllexport) diff --git a/FastROI/lib/Release/blobInfo.h b/FastROI/lib/Release/blobInfo.h new file mode 100644 index 0000000..4031efc --- /dev/null +++ b/FastROI/lib/Release/blobInfo.h @@ -0,0 +1,63 @@ +#pragma once + +#ifndef HV_BLOB_INFO +#define HV_BLOB_INFO + +#include + + + +namespace fast { + struct blobInfo { + private: + + int _id; + int _rect_x; + int _rect_y; + int _rect_width; + int _rect_height; + + double _centeriod_x; + double _centeriod_y; + + std::vector _blob_points; + + public : + + blobInfo(int id, int rect_x, int rect_y, int rect_width, int rect_height, double centeroid_x, double centeroid_y) { + this->_id = id; + this->_rect_x = rect_x; + this->_rect_y = rect_y; + this->_rect_width = rect_width; + this->_rect_height = rect_height; + + this->_centeriod_x = centeroid_x; + this->_centeriod_y = centeroid_y; + } + + int id() { + return _id; + } + int rectX() { + return _rect_x; + } + int rectY() { + return _rect_y; + } + int rectWidth() { + return _rect_width; + } + int rectHeight() { + return _rect_height; + } + + void setBlobPoints(std::vector& points) { + this->_blob_points = points; + } + }; +} + + + + +#endif \ No newline at end of file diff --git a/FastROI/lib/Release/fastBlob.h b/FastROI/lib/Release/fastBlob.h new file mode 100644 index 0000000..74e41d1 --- /dev/null +++ b/FastROI/lib/Release/fastBlob.h @@ -0,0 +1,40 @@ +#pragma once + +#ifndef FAST_BLOB +#define FAST_BLOB + +#include +#include + +#include "macro.h" +#include "calPoint.h" +#include "blobInfo.h" + +namespace fast { + + class impl_fastBlob; + + class FAST_API_EXPORT fastBlob { + + private: + std::shared_ptr impl; + + public: + + fastBlob(); + ~fastBlob(); + + void compute(unsigned char * buffer, int width, int height); + std::vector blobInfo(); + std::vector rectFilter(int minWidth, int maxWidth, int minHeight, int maxHeight); + + + + + }; +} + + + + +#endif \ No newline at end of file diff --git a/FastROI/lib/Release/fastROI.dll b/FastROI/lib/Release/fastROI.dll index 9501f6c3b2d2e54d04714485a97ba5f5c6532c91..741f3a3ea551f04a2a7df06dec27d89e74b22a69 100644 GIT binary patch literal 60416 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 delta 18768 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 diff --git a/FastROI/lib/Release/fastROI.lib b/FastROI/lib/Release/fastROI.lib index 18da0b0b6b1b607960a96c46cb1951b8fc1d6cd6..1594236e1e7d9a7e31cc4f5d5cbd9309b95f790a 100644 GIT binary patch literal 6766 zcmdrQOKcNI^w~)WI0c1-PmpNkMp21Yl z?Yz&tH}B27e$1%k&mWHrMeEDaSbbmghIu14o=7;&a}fa853p+uVD~|Qo-9D$sssD( z0oc%wHNu`79FAa(u=hHLeOM#(-gIDp5tl?bpb_YL`ebG;_}+q*PT=Pb&kL z5yh;q`30OyFBMHbk26NOY~~HGNmjKAj5*(FEbJ^YSGsUfZz4e@Z(g{#Y%O{Tb|#Zj zQ!-nDaFse0ybN8Psp+X1q!cCQvFXfZ!gpR#hBx@rZ(h-LW7#tEWusaxEtRae=l19` zuEhlZK~WMOT&XGb^l*%+sY$Bbb%P=MNV9$5{XnoS8(!D8!HIP;pBuuwAA;;#H$=_yYQy>kjT zggz53K++=qZzM?wo_z4tn~}G1Qh{<-j=Ke7Hkagoxv{jkSNh)n$ShE{!9uxg2jPuw zx`~Mqe&;XgC4;==O#1E+WwRBT)m9bPl&o*XO{49ggZizy7! z@EyYMe4q_$2E(^F-Y6f&7!B|kLEzCigXpa=);$=huxB>03%mKULUN4LXVL@_YXwH zgn~eb%m8e5&x;XTIEN0$Ne~YH1T~zbJ3`}8`tU-l15EH9Rbjwa2fS}@=0ib55;u^g z#FOH6ge)ZtUw-!A4`12L5sLs`mQrx0YG27xM#Lal%EzL^YqFG=VgW(+^;KlT_u-{s zt&NY?`PYj1>rZ!)fV0WoT6>0nC558MKgqx3!hi|?N{Dg7`%!dwO?aEG-JqJ?w3BNz z$rT%=H#&0C!s=g%Fa9`cOWD40b}wxuH0%w@@%7X{`uqORZy@y$9xeV?2brwY4&;Mg zR6m_N^e0gb+f@DDel{hD03&88YC0h7o!uJ19A-L^j0AB`ao z?ZiXyyzYhgh>f`MQdr%IcYpcj67tbOd^96nd?5+O#4#@U&4-_Sdz(V{Hj*Gv7AmtK zwFB8xJT9EawWq6V#~xBl?<5Xr!4`j6lXTLszr{u-YB59D*uNj#{$~aCvz_$Qyo^~E Zqv12sYoGguh91#A?+|jdcp@$<=n1c-ibenc delta 200 zcmaE7GDCKPg^s0xnF0hPa4|42umjON1_sU(3=CZV7#MgWAegs;fq}PT@>v1D$pM^4 zHY>1pFqv8!B6P9>wax?TJ;BMq@DFHC1P=p41uxh*1{MZZ21W)ZFwH#KpYzn@_pApe zyK-AiR%bmtS%H;(vl!no*2#5}BHU;5DlS|A8pXiC0#tZ(a+QP)SX}DI#JeDIMxb~d T*HNCd#Nv`5e^0%XoE!!KNq{cE diff --git a/FastROI/lib/Release/macro.h b/FastROI/lib/Release/macro.h index 4f139c8..71cad25 100644 --- a/FastROI/lib/Release/macro.h +++ b/FastROI/lib/Release/macro.h @@ -6,6 +6,11 @@ #ifndef FAST_MACRO #define FAST_MACRO +#pragma warning(disable : 4251) +#pragma warning(disable : 4275) +#pragma warning(disable : 4996) + + #if FAST_API #define FAST_API_EXPORT __declspec(dllexport) diff --git a/README.md b/README.md index 4c3e9fc..2fa51f1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ -Fast ROI v1.1 +Fast ROI v1.2 ======================= The FAST ROI library is useful for quickly extracting the coordinates of a rotating rectangular ROI and donut ROI +also it support blob detection; Development Environment ======================= @@ -29,6 +30,11 @@ Performance |------|---| |fast::fastDonut ***(800 radius)***|3560 fps| |fast::fastDonut ***(1500 radius)***|666 fps| +### fastBlob + +|Name|fps| +|------|---| +|fast::fastBlob ***(video 1920x1080)***|15~20ms elapse time| How to use? ======================= @@ -112,3 +118,59 @@ for (auto vertical_line : vertical_lines) { +### fastBlob + +```cpp +#include +#include +#include +#include +#include + +int main() +{ + cv::namedWindow("binary", cv::WINDOW_NORMAL); + cv::namedWindow("result_image", cv::WINDOW_NORMAL); + cv::resizeWindow("binary", cv::Size(600, 1200)); + cv::resizeWindow("result_image", cv::Size(600, 1200)); + cv::VideoCapture cap("d://test_video.mp4"); + system("pause"); + while (cap.isOpened()){ + cv::Mat current_frame; + if(cap.read(current_frame) == false) + return 0; + cv::Mat gray_image; + cv::cvtColor(current_frame, gray_image, cv::COLOR_BGR2GRAY); + cv::Mat binary; + cv::threshold(gray_image, binary, 250, 255, cv::THRESH_BINARY + cv::THRESH_OTSU); + std::chrono::steady_clock::time_point begin = std::chrono::steady_clock::now(); + //Blob Detection + //Blob Detection + fast::fastBlob blobDetector; + blobDetector.compute(binary.data, binary.cols, binary.rows); + auto blobs = blobDetector.blobInfo(); + //Blob Detection + //Blob Detection + + for (auto& info : blobs) { + cv::rectangle(current_frame, cv::Rect(info.rectX(), info.rectY(), info.rectWidth(), info.rectHeight()), cv::Scalar(0, 255, 0), 5) ; + } + std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now(); + std::cout << "Time difference = " << std::chrono::duration_cast(end - begin).count() << "[ms]" << std::endl; + + cv::imshow("binary", binary); + cv::imshow("result_image", current_frame); + cv::waitKey(11); + } +} +``` + +#### DEMO +
    + + + +
    + + +