From bd5085cded408ad2517ad68f0faa962465d07fb0 Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Sun, 8 Jun 2025 18:31:06 +0100 Subject: [PATCH] Updated dependencies, improved UI elements, and refactored components for better performance. Added new features including audit logs and enhanced loading states. Removed unused print jobs component. --- package-lock.json | 3169 +++++++++++++++++ package.json | 5 + public/index.html | 4 +- src/App.css | 18 +- src/App.jsx | 31 +- src/assets/icons/auditlogicon.afdesign | Bin 0 -> 41829 bytes src/assets/icons/auditlogicon.min.svg | 1 + src/assets/icons/auditlogicon.svg | 9 + src/assets/icons/inventoryicon.afdesign | Bin 50678 -> 65273 bytes src/assets/icons/materialicon.afdesign | Bin 57060 -> 66358 bytes src/assets/icons/materialicon.min.svg | 2 +- src/assets/icons/materialicon.svg | 17 +- src/assets/icons/notetypeicon.afdesign | Bin 0 -> 50211 bytes src/assets/icons/notetypeicon.min.svg | 1 + src/assets/icons/notetypeicon.svg | 18 + src/assets/icons/settingsicon.afdesign | Bin 0 -> 63852 bytes src/assets/icons/settingsicon.min.svg | 1 + src/assets/icons/settingsicon.svg | 7 + src/assets/icons/stockeventicon.afdesign | Bin 55589 -> 49124 bytes .../logos/farmcontrollogosmall.afdesign | Bin 0 -> 28925 bytes src/assets/logos/farmcontrollogosmall.svg | 18 + src/components/App/AppError.jsx | 2 +- src/components/App/AppLoading.jsx | 65 +- .../Dashboard/Inventory/FilamentStocks.jsx | 294 +- .../FilamentStocks/FilamentStockInfo.jsx | 278 +- .../FilamentStocks/LoadFilamentStock.jsx | 23 +- .../FilamentStocks/UnloadFilamentStock.jsx | 22 +- .../Dashboard/Inventory/PartStocks.jsx | 82 +- .../Dashboard/Inventory/StockAudits.jsx | 84 +- .../Inventory/StockAudits/StockAuditInfo.jsx | 2 +- .../Dashboard/Inventory/StockEvents.jsx | 269 +- .../Dashboard/Management/AuditLogs.jsx | 333 ++ .../Dashboard/Management/Filaments.jsx | 4 +- .../Management/Filaments/FilamentInfo.jsx | 585 +-- .../Management/Filaments/NewFilament.jsx | 22 +- .../Dashboard/Management/Materials.jsx | 2 +- .../Dashboard/Management/NoteTypes.jsx | 321 ++ .../Management/NoteTypes/NewNoteType.jsx | 259 ++ .../Management/NoteTypes/NoteTypeInfo.jsx | 402 +++ src/components/Dashboard/Management/Parts.jsx | 168 +- .../Dashboard/Management/Parts/PartInfo.jsx | 543 +-- .../Dashboard/Management/Products.jsx | 153 +- .../Management/Products/NewProduct.jsx | 23 +- .../Management/Products/ProductInfo.jsx | 526 +-- .../Dashboard/Management/Settings.jsx | 121 +- .../Dashboard/Management/Vendors.jsx | 147 +- .../Management/Vendors/NewVendor.jsx | 22 +- .../Management/Vendors/VendorInfo.jsx | 390 +- .../Dashboard/Production/GCodeFiles.jsx | 170 +- .../Production/GCodeFiles/GCodeFileInfo.jsx | 498 +-- .../Production/GCodeFiles/NewGCodeFile.jsx | 22 +- .../Production/{PrintJobs.jsx => Jobs.jsx} | 237 +- .../Dashboard/Production/Jobs/JobInfo.jsx | 398 +++ .../NewPrintJob.jsx => Jobs/NewJob.jsx} | 92 +- .../Production/PrintJobs/PrintJobInfo.jsx | 236 -- .../Dashboard/Production/Printers.jsx | 162 +- .../Production/Printers/ControlPrinter.jsx | 74 +- .../Production/Printers/PrinterInfo.jsx | 605 ++-- .../Production/ProductionOverview.jsx | 572 +-- .../Dashboard/common/AuditLogTable.jsx | 214 ++ .../Dashboard/common/DashboardBreadcrumb.jsx | 9 +- .../Dashboard/common/DashboardLayout.css | 6 +- .../Dashboard/common/DashboardNavigation.jsx | 30 +- .../Dashboard/common/DashboardNotes.jsx | 177 + .../Dashboard/common/DashboardTable.jsx | 318 ++ .../Dashboard/common/GCodeFileSelect.jsx | 10 +- src/components/Dashboard/common/IdText.jsx | 74 +- .../Dashboard/common/InventorySidebar.jsx | 18 +- src/components/Dashboard/common/JobState.jsx | 2 +- .../Dashboard/common/ManagementSidebar.jsx | 35 +- .../Dashboard/common/MarkdownDisplay.jsx | 89 + .../Dashboard/common/PartsTable.jsx | 2 +- .../Dashboard/common/PrinterJobsTree.jsx | 120 +- .../Dashboard/common/PrinterMiscPanel.jsx | 230 ++ .../Dashboard/common/PrinterPositionPanel.jsx | 108 +- .../Dashboard/common/PrinterSelect.jsx | 33 +- .../Dashboard/common/ProductionSidebar.jsx | 22 +- .../Dashboard/common/RichTextEditor.jsx | 67 + .../Dashboard/common/SubJobsTree.jsx | 64 +- .../Dashboard/context/AuthContext.js | 5 +- .../Dashboard/hooks/useTableData.js | 176 + .../Dashboard/hooks/useTableScroll.js | 121 + src/components/Icons/AuditLogIcon.jsx | 7 + src/components/Icons/NoteTypeIcon.jsx | 7 + src/components/Icons/SettingsIcon.jsx | 7 + src/components/Logos/FarmControlLogoSmall.jsx | 9 + src/components/PrivateRoute.jsx | 32 +- src/config.js | 4 +- src/index.css | 10 - 89 files changed, 9428 insertions(+), 4087 deletions(-) create mode 100644 src/assets/icons/auditlogicon.afdesign create mode 100644 src/assets/icons/auditlogicon.min.svg create mode 100644 src/assets/icons/auditlogicon.svg create mode 100644 src/assets/icons/notetypeicon.afdesign create mode 100644 src/assets/icons/notetypeicon.min.svg create mode 100644 src/assets/icons/notetypeicon.svg create mode 100644 src/assets/icons/settingsicon.afdesign create mode 100644 src/assets/icons/settingsicon.min.svg create mode 100644 src/assets/icons/settingsicon.svg create mode 100644 src/assets/logos/farmcontrollogosmall.afdesign create mode 100644 src/assets/logos/farmcontrollogosmall.svg create mode 100644 src/components/Dashboard/Management/AuditLogs.jsx create mode 100644 src/components/Dashboard/Management/NoteTypes.jsx create mode 100644 src/components/Dashboard/Management/NoteTypes/NewNoteType.jsx create mode 100644 src/components/Dashboard/Management/NoteTypes/NoteTypeInfo.jsx rename src/components/Dashboard/Production/{PrintJobs.jsx => Jobs.jsx} (60%) create mode 100644 src/components/Dashboard/Production/Jobs/JobInfo.jsx rename src/components/Dashboard/Production/{PrintJobs/NewPrintJob.jsx => Jobs/NewJob.jsx} (68%) delete mode 100644 src/components/Dashboard/Production/PrintJobs/PrintJobInfo.jsx create mode 100644 src/components/Dashboard/common/AuditLogTable.jsx create mode 100644 src/components/Dashboard/common/DashboardNotes.jsx create mode 100644 src/components/Dashboard/common/DashboardTable.jsx create mode 100644 src/components/Dashboard/common/MarkdownDisplay.jsx create mode 100644 src/components/Dashboard/common/PrinterMiscPanel.jsx create mode 100644 src/components/Dashboard/common/RichTextEditor.jsx create mode 100644 src/components/Dashboard/hooks/useTableData.js create mode 100644 src/components/Dashboard/hooks/useTableScroll.js create mode 100644 src/components/Icons/AuditLogIcon.jsx create mode 100644 src/components/Icons/NoteTypeIcon.jsx create mode 100644 src/components/Icons/SettingsIcon.jsx create mode 100644 src/components/Logos/FarmControlLogoSmall.jsx diff --git a/package-lock.json b/package-lock.json index 84a3c85..4bfaf39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,8 @@ "name": "farmcontrol-ui", "version": "0.1.0", "dependencies": { + "@ant-design/charts": "^2.3.0", + "@ant-design/pro-components": "^2.8.7", "@babel/plugin-transform-private-property-in-object": "^7.27.1", "@simplewebauthn/browser": "^13.1.0", "@tsparticles/react": "^3.0.0", @@ -32,9 +34,12 @@ "react": "^18.3.1", "react-country-flag": "^3.1.0", "react-dom": "^18.3.1", + "react-markdown": "^10.1.0", + "react-responsive": "^10.0.1", "react-router-dom": "*", "react-scripts": "*", "react-stl-viewer": "^2.5.0", + "remark-gfm": "^4.0.1", "socket.io-client": "*", "standard": "^17.1.2", "styled-components": "*", @@ -89,6 +94,34 @@ "node": ">=6.0.0" } }, + "node_modules/@ant-design/charts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ant-design/charts/-/charts-2.3.0.tgz", + "integrity": "sha512-uX/Re6C7t+JleAYKyWu2jv08gAxq2QcZVeGjfgNCV3VC/ODBmqRvu8H0m3Lrla2aHKjCyksirTZI7y2BOKfA1w==", + "license": "MIT", + "dependencies": { + "@ant-design/graphs": "^2.1.0", + "@ant-design/plots": "^2.4.0", + "lodash": "^4.17.21" + }, + "peerDependencies": { + "react": ">=16.8.4", + "react-dom": ">=16.8.4" + } + }, + "node_modules/@ant-design/charts-util": { + "version": "0.0.1-alpha.7", + "resolved": "https://registry.npmjs.org/@ant-design/charts-util/-/charts-util-0.0.1-alpha.7.tgz", + "integrity": "sha512-Yh0o6EdO6SvdSnStFZMbnUzjyymkVzV+TQ9ymVW9hlVgO/fUkUII3JYSdV+UVcFnYwUF0YiDKuSTLCZNAzg2bQ==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + }, + "peerDependencies": { + "react": ">=16.8.4", + "react-dom": ">=16.8.4" + } + }, "node_modules/@ant-design/colors": { "version": "7.2.1", "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.2.1.tgz", @@ -144,6 +177,24 @@ "node": ">=8.x" } }, + "node_modules/@ant-design/graphs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@ant-design/graphs/-/graphs-2.1.0.tgz", + "integrity": "sha512-JavZyJVDRyO5wjReqz3CRYhml5MMpOe+fT4ucebdkfOfWYTlOG+W9vxtNSITJmCGHUVphQkQo9r1CPkZysDT0g==", + "license": "MIT", + "dependencies": { + "@ant-design/charts-util": "0.0.1-alpha.7", + "@antv/g6": "^5.0.44", + "@antv/g6-extension-react": "^0.2.0", + "@antv/graphin": "^3.0.4", + "lodash": "^4.17.21", + "styled-components": "^6.1.15" + }, + "peerDependencies": { + "react": ">=16.8.4", + "react-dom": ">=16.8.4" + } + }, "node_modules/@ant-design/icons": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.6.1.tgz", @@ -170,6 +221,329 @@ "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==", "license": "MIT" }, + "node_modules/@ant-design/plots": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@ant-design/plots/-/plots-2.4.0.tgz", + "integrity": "sha512-5JxX6gDp9VyQizkQsCBKjGqlHpgKhfV6XTRNqKnrJMYet0FBNO0srDsa/rmQoZZLxMRvE8eZhCXnM7DhRUWUdA==", + "license": "MIT", + "dependencies": { + "@ant-design/charts-util": "0.0.1", + "@antv/event-emitter": "^0.1.3", + "@antv/g": "^6.1.7", + "@antv/g2": "^5.2.7", + "@antv/g2-extension-plot": "^0.2.1", + "lodash": "^4.17.21" + }, + "peerDependencies": { + "react": ">=16.8.4", + "react-dom": ">=16.8.4" + } + }, + "node_modules/@ant-design/plots/node_modules/@ant-design/charts-util": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@ant-design/charts-util/-/charts-util-0.0.1.tgz", + "integrity": "sha512-zz9aCD8z90gzLm3XK17jyFdVtmpLrFApvexzIl5n9+TrxvIgrmOIqemlvx6QvzkmmXcOA6VIEJGzqQBSBAq55A==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + }, + "peerDependencies": { + "react": ">=16.8.4", + "react-dom": ">=16.8.4" + } + }, + "node_modules/@ant-design/pro-card": { + "version": "2.9.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-card/-/pro-card-2.9.7.tgz", + "integrity": "sha512-uDDYowmYH1ldRfG8Mb4QOwcEEz6ptRBQDLO1tkVADCRkdOMwz82xlZneR4uVuFyKcuNmgHzarYNncozBKhFuaA==", + "license": "MIT", + "dependencies": { + "@ant-design/cssinjs": "^1.21.1", + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-provider": "2.15.4", + "@ant-design/pro-utils": "2.17.0", + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.4.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-components": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-components/-/pro-components-2.8.7.tgz", + "integrity": "sha512-QhibkPsUJryEjI1QmwUn+XCngGHidu0ekvricL6TIEvPgP+AUAca29XutN5+Mmn8Xfja1ca9HFTHTgFoV74Z7Q==", + "license": "MIT", + "dependencies": { + "@ant-design/pro-card": "2.9.7", + "@ant-design/pro-descriptions": "2.6.7", + "@ant-design/pro-field": "3.0.4", + "@ant-design/pro-form": "2.31.7", + "@ant-design/pro-layout": "7.22.4", + "@ant-design/pro-list": "2.6.7", + "@ant-design/pro-provider": "2.15.4", + "@ant-design/pro-skeleton": "2.2.1", + "@ant-design/pro-table": "3.19.0", + "@ant-design/pro-utils": "2.17.0", + "@babel/runtime": "^7.16.3" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-descriptions": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-descriptions/-/pro-descriptions-2.6.7.tgz", + "integrity": "sha512-fgn2d0kDWUODGDWKpgziZuuqPlmIoKxQFJY9Yg4nbaRp8GDDKZeSSqgvW+OxjpYM8dxq31fiz1dZlZnOPoYKpg==", + "license": "MIT", + "dependencies": { + "@ant-design/pro-field": "3.0.4", + "@ant-design/pro-form": "2.31.7", + "@ant-design/pro-provider": "2.15.4", + "@ant-design/pro-skeleton": "2.2.1", + "@ant-design/pro-utils": "2.17.0", + "@babel/runtime": "^7.18.0", + "rc-resize-observer": "^0.2.3", + "rc-util": "^5.0.6" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-descriptions/node_modules/rc-resize-observer": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-0.2.6.tgz", + "integrity": "sha512-YX6nYnd6fk7zbuvT6oSDMKiZjyngjHoy+fz+vL3Tez38d/G5iGdaDJa2yE7345G6sc4Mm1IGRUIwclvltddhmA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-util": "^5.0.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@ant-design/pro-field": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@ant-design/pro-field/-/pro-field-3.0.4.tgz", + "integrity": "sha512-nJSng/6/pPZFdiFeTtZcBQLNrHg9tIeiKFR1+zzbnQbI3qBOFP9aBZS/+LwkQZcI2G71vrRgz2x5OhHb7AX0wQ==", + "license": "MIT", + "dependencies": { + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-provider": "2.15.4", + "@ant-design/pro-utils": "2.17.0", + "@babel/runtime": "^7.18.0", + "@chenshuai2144/sketch-color": "^1.0.8", + "classnames": "^2.3.2", + "dayjs": "^1.11.10", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "rc-util": "^5.4.0", + "swr": "^2.0.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-form": { + "version": "2.31.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-form/-/pro-form-2.31.7.tgz", + "integrity": "sha512-0TCtIC/ynbLPoes8sLBFwFbi0tkeNmSU6the2EcyKIKDLfWHDbfkLM1OSFrzv3QD+H8OgFWMkTSOjhMOKSsOBg==", + "license": "MIT", + "dependencies": { + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-field": "3.0.4", + "@ant-design/pro-provider": "2.15.4", + "@ant-design/pro-utils": "2.17.0", + "@babel/runtime": "^7.18.0", + "@chenshuai2144/sketch-color": "^1.0.7", + "@umijs/use-params": "^1.0.9", + "classnames": "^2.3.2", + "dayjs": "^1.11.10", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "rc-field-form": ">=1.22.0", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-layout": { + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@ant-design/pro-layout/-/pro-layout-7.22.4.tgz", + "integrity": "sha512-X2WO4L2itXemX4zhS+0NG+8kXQD5SX9sG+zjx/15BmIO3FvsUGqOHgoCg0vhd424EiyPj7WtdMZJ39G1xdgDwA==", + "license": "MIT", + "dependencies": { + "@ant-design/cssinjs": "^1.21.1", + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-provider": "2.15.4", + "@ant-design/pro-utils": "2.17.0", + "@babel/runtime": "^7.18.0", + "@umijs/route-utils": "^4.0.0", + "@umijs/use-params": "^1.0.9", + "classnames": "^2.3.2", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "path-to-regexp": "8.2.0", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.0.6", + "swr": "^2.0.0", + "warning": "^4.0.3" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-layout/node_modules/path-to-regexp": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/@ant-design/pro-list": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/@ant-design/pro-list/-/pro-list-2.6.7.tgz", + "integrity": "sha512-6k/En7pioMgepho/1HMf2DAnkSTZiat1lDg2ggCok2lhSgqXzir7x22ewJQRgPvEiVb6/qqaFQNd7a8dnrFj1w==", + "license": "MIT", + "dependencies": { + "@ant-design/cssinjs": "^1.21.1", + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-card": "2.9.7", + "@ant-design/pro-field": "3.0.4", + "@ant-design/pro-table": "3.19.0", + "@ant-design/pro-utils": "2.17.0", + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "dayjs": "^1.11.10", + "rc-resize-observer": "^1.0.0", + "rc-util": "^4.19.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-list/node_modules/rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "license": "MIT", + "dependencies": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "node_modules/@ant-design/pro-provider": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/@ant-design/pro-provider/-/pro-provider-2.15.4.tgz", + "integrity": "sha512-DBX0JNUNOYXAucVqd/zTdqtXckCDqr2Lo85KIku2YzWdhptDPDZRTNqL04JShjGejDl8fzwQ8yREHgVUfzn6Gg==", + "license": "MIT", + "dependencies": { + "@ant-design/cssinjs": "^1.21.1", + "@babel/runtime": "^7.18.0", + "@ctrl/tinycolor": "^3.4.0", + "dayjs": "^1.11.10", + "rc-util": "^5.0.1", + "swr": "^2.0.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-skeleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ant-design/pro-skeleton/-/pro-skeleton-2.2.1.tgz", + "integrity": "sha512-3M2jNOZQZWEDR8pheY00OkHREfb0rquvFZLCa6DypGmiksiuuYuR9Y4iA82ZF+mva2FmpHekdwbje/GpbxqBeg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-table": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/@ant-design/pro-table/-/pro-table-3.19.0.tgz", + "integrity": "sha512-nL25734d5q5oqtmG7Apn2TNJUnJE8m9dkopXMQdoNZnv8qeRQLBH+i5cZT1yh7FIO8z6QLXleg+KnR/cI7VRRw==", + "license": "MIT", + "dependencies": { + "@ant-design/cssinjs": "^1.21.1", + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-card": "2.9.7", + "@ant-design/pro-field": "3.0.4", + "@ant-design/pro-form": "2.31.7", + "@ant-design/pro-provider": "2.15.4", + "@ant-design/pro-utils": "2.17.0", + "@babel/runtime": "^7.18.0", + "@dnd-kit/core": "^6.0.8", + "@dnd-kit/modifiers": "^6.0.1", + "@dnd-kit/sortable": "^7.0.2", + "@dnd-kit/utilities": "^3.2.1", + "classnames": "^2.3.2", + "dayjs": "^1.11.10", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.0.1" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "rc-field-form": ">=1.22.0", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, + "node_modules/@ant-design/pro-utils": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@ant-design/pro-utils/-/pro-utils-2.17.0.tgz", + "integrity": "sha512-hHKUISjMEoS+E5ltJWyvNTrlEA3IimZNxtDrEhorRIbgVYAlmEN5Mj/ESSofzDM3+UlxiI5+A/Y6IHkByTfDEA==", + "license": "MIT", + "dependencies": { + "@ant-design/icons": "^5.0.0", + "@ant-design/pro-provider": "2.15.4", + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "dayjs": "^1.11.10", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "rc-util": "^5.0.6", + "safe-stable-stringify": "^2.4.3", + "swr": "^2.0.0" + }, + "peerDependencies": { + "antd": "^4.24.15 || ^5.11.2", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" + } + }, "node_modules/@ant-design/react-slick": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.1.2.tgz", @@ -186,6 +560,488 @@ "react": ">=16.9.0" } }, + "node_modules/@antv/algorithm": { + "version": "0.1.26", + "resolved": "https://registry.npmjs.org/@antv/algorithm/-/algorithm-0.1.26.tgz", + "integrity": "sha512-DVhcFSQ8YQnMNW34Mk8BSsfc61iC1sAnmcfYoXTAshYHuU50p/6b7x3QYaGctDNKWGvi1ub7mPcSY0bK+aN0qg==", + "license": "MIT", + "dependencies": { + "@antv/util": "^2.0.13", + "tslib": "^2.0.0" + } + }, + "node_modules/@antv/algorithm/node_modules/@antv/util": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.17.tgz", + "integrity": "sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==", + "license": "ISC", + "dependencies": { + "csstype": "^3.0.8", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/component": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@antv/component/-/component-2.1.3.tgz", + "integrity": "sha512-TDePMyrx6rvOeUizcKwrNfSb4vL/hcIsIY01dTD1nXKpR3eDf/q558wN4zGH2NmgX/4TOes7UgSH4iCrpB0eMg==", + "license": "MIT", + "dependencies": { + "@antv/g": "^6.1.11", + "@antv/scale": "^0.4.16", + "@antv/util": "^3.3.10", + "svg-path-parser": "^1.1.0" + } + }, + "node_modules/@antv/coord": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/@antv/coord/-/coord-0.4.7.tgz", + "integrity": "sha512-UTbrMLhwJUkKzqJx5KFnSRpU3BqrdLORJbwUbHK2zHSCT3q3bjcFA//ZYLVfIlwqFDXp/hzfMyRtp0c77A9ZVA==", + "license": "MIT", + "dependencies": { + "@antv/scale": "^0.4.12", + "@antv/util": "^2.0.13", + "gl-matrix": "^3.4.3" + } + }, + "node_modules/@antv/coord/node_modules/@antv/util": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.17.tgz", + "integrity": "sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==", + "license": "ISC", + "dependencies": { + "csstype": "^3.0.8", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/event-emitter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@antv/event-emitter/-/event-emitter-0.1.3.tgz", + "integrity": "sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg==", + "license": "MIT" + }, + "node_modules/@antv/expr": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@antv/expr/-/expr-1.0.2.tgz", + "integrity": "sha512-vrfdmPHkTuiS5voVutKl2l06w1ihBh9A8SFdQPEE+2KMVpkymzGOF1eWpfkbGZ7tiFE15GodVdhhHomD/hdIwg==", + "license": "MIT" + }, + "node_modules/@antv/g": { + "version": "6.1.25", + "resolved": "https://registry.npmjs.org/@antv/g/-/g-6.1.25.tgz", + "integrity": "sha512-qkXztWRVYQDl/x3tlA9Oww5DwaBCDDYXq6Wai9jfO8TZeIV3T8Dbw5eG/M115doyHX2vIVRkrE6+xiFe5weIHQ==", + "license": "MIT", + "dependencies": { + "@antv/g-camera-api": "2.0.38", + "@antv/g-dom-mutation-observer-api": "2.0.35", + "@antv/g-lite": "2.2.19", + "@antv/g-web-animations-api": "2.1.25", + "@babel/runtime": "^7.25.6" + } + }, + "node_modules/@antv/g-camera-api": { + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/@antv/g-camera-api/-/g-camera-api-2.0.38.tgz", + "integrity": "sha512-BgFkUMcTO06Oz37Z+hVqxATwdWFE5DfBgMKlFaMwKKF/8n+7eNhlif1KBfcf2rEfGijS0FD0ZGKCr9uJ06+GIg==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@antv/util": "^3.3.5", + "@babel/runtime": "^7.25.6", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-canvas": { + "version": "2.0.44", + "resolved": "https://registry.npmjs.org/@antv/g-canvas/-/g-canvas-2.0.44.tgz", + "integrity": "sha512-nsV+CErhptyAKQg+5g8RlW6N2oGTn53uUaNu/q6F41gyZm7oL1nHwxI12mbBCGMUlI0JVHsmEIOw5tJ3frkUFg==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@antv/g-plugin-canvas-path-generator": "2.1.19", + "@antv/g-plugin-canvas-picker": "2.1.23", + "@antv/g-plugin-canvas-renderer": "2.2.23", + "@antv/g-plugin-dom-interaction": "2.1.24", + "@antv/g-plugin-html-renderer": "2.1.24", + "@antv/g-plugin-image-loader": "2.1.23", + "@antv/util": "^3.3.5", + "@babel/runtime": "^7.25.6", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-dom-mutation-observer-api": { + "version": "2.0.35", + "resolved": "https://registry.npmjs.org/@antv/g-dom-mutation-observer-api/-/g-dom-mutation-observer-api-2.0.35.tgz", + "integrity": "sha512-bAl3ViXDHvLEbGvGZwZBg4gpoNjUTwVQ3XTmRAkymkFGkUy+KV0ZwFdqEegP25TQGPl85er/hB6MCu6Yt58AJA==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@babel/runtime": "^7.25.6" + } + }, + "node_modules/@antv/g-lite": { + "version": "2.2.19", + "resolved": "https://registry.npmjs.org/@antv/g-lite/-/g-lite-2.2.19.tgz", + "integrity": "sha512-QfxZsbLGTSGL18NgSOAVQURXC3xMXbmmS125EF7/vCzW2Lw2nF5I8k0KW4N09ty+/FtVpSESJX652g2phIvd5g==", + "license": "MIT", + "dependencies": { + "@antv/g-math": "3.0.1", + "@antv/util": "^3.3.5", + "@antv/vendor": "^1.0.3", + "@babel/runtime": "^7.25.6", + "eventemitter3": "^5.0.1", + "gl-matrix": "^3.4.3", + "rbush": "^3.0.1", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-lite/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, + "node_modules/@antv/g-math": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@antv/g-math/-/g-math-3.0.1.tgz", + "integrity": "sha512-FvkDBNRpj+HsLINunrL2PW0OlG368MlpHuihbxleuajGim5kra8tgISwCLmAf8Yz2b1CgZ9PvpohqiLzHS7HLg==", + "license": "MIT", + "dependencies": { + "@antv/util": "^3.3.5", + "@babel/runtime": "^7.25.6", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-canvas-path-generator": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-path-generator/-/g-plugin-canvas-path-generator-2.1.19.tgz", + "integrity": "sha512-+tc97NLvVYEFQnrLffmyxPpVXwUuTPbXBGy3aUTBYKd3YXhFBIKJYpQR39jsX2skgUvLh/67ZtA9QeUt6U41oQ==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@antv/g-math": "3.0.1", + "@antv/util": "^3.3.5", + "@babel/runtime": "^7.25.6", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-canvas-picker": { + "version": "2.1.23", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-picker/-/g-plugin-canvas-picker-2.1.23.tgz", + "integrity": "sha512-ADA8Newb+w3wCVWLGWP9EqOb2HjAEOj992L2ywC6Wz3uPNp72dLK2YtKfqm6dApEh8htQ9u0QrnS1tGA3kgrcA==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@antv/g-math": "3.0.1", + "@antv/g-plugin-canvas-path-generator": "2.1.19", + "@antv/g-plugin-canvas-renderer": "2.2.23", + "@antv/util": "^3.3.5", + "@babel/runtime": "^7.25.6", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-canvas-renderer": { + "version": "2.2.23", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-renderer/-/g-plugin-canvas-renderer-2.2.23.tgz", + "integrity": "sha512-v/XDy0vSy4RvMUdI6fwB2UpdmbnJIf7ixBe9dFJMfH4Ue3I6EDRBRgFRGFIwcTo4EhTlUG1woX1mo4Nwc91Adw==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@antv/g-math": "3.0.1", + "@antv/g-plugin-canvas-path-generator": "2.1.19", + "@antv/g-plugin-image-loader": "2.1.23", + "@antv/util": "^3.3.5", + "@babel/runtime": "^7.25.6", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-dom-interaction": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-dom-interaction/-/g-plugin-dom-interaction-2.1.24.tgz", + "integrity": "sha512-1IrsUp2k+4oi2brVNstgxoisdwcdwqSNdEYJBDtVP1Bv5KZabKSs9lxlkxVR0DTb8BJtWBi80gmKQFIJ8znofQ==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@babel/runtime": "^7.25.6", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-dragndrop": { + "version": "2.0.35", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-dragndrop/-/g-plugin-dragndrop-2.0.35.tgz", + "integrity": "sha512-1ZG+j91uEQAiFN0UqRkYCx3G8WWlKYoCXgTTx6m4YFJESJiab5M1C4OAi7zXclt1maOR154x3L/j3sRmBHFA+A==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@antv/util": "^3.3.5", + "@babel/runtime": "^7.25.6", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-html-renderer": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-html-renderer/-/g-plugin-html-renderer-2.1.24.tgz", + "integrity": "sha512-UPEitSu5F42kRgqy8Cr34aC6O4+0cCnC+avv0ZMXUFOf7AMhMnjQLlHHo+GDfM/0r6m//0ZCsqHpv8vB0A+sUA==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@antv/util": "^3.3.5", + "@babel/runtime": "^7.25.6", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-image-loader": { + "version": "2.1.23", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-image-loader/-/g-plugin-image-loader-2.1.23.tgz", + "integrity": "sha512-LHTESl8BE6GO2EdaTehrCj2V82y4lQ13lFOvImQOI1JzZ/9PJ/vrStMzN1bg/CCqmJn07eVHlqxW9QJAQOOCzA==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@antv/util": "^3.3.5", + "@babel/runtime": "^7.25.6", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-svg-picker": { + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-svg-picker/-/g-plugin-svg-picker-2.0.38.tgz", + "integrity": "sha512-9XuT3VRFtUrdhMYmib7uB/sjXG9orQ7yGzIwYp+mCI734mnmJApOrB+J3UcSt3s+1PAIcABQkHT1MRxFII2w7w==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@antv/g-plugin-svg-renderer": "2.2.20", + "@babel/runtime": "^7.25.6", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-svg-renderer": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-svg-renderer/-/g-plugin-svg-renderer-2.2.20.tgz", + "integrity": "sha512-HjLyQMcMm/kRVhwkmdEkWGGZAHUhIuyztOzO0dzWucfGqXsusNZvKHpiWUMl3DBm6ID6qziYCRw5IIpqlsh3Jw==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@antv/util": "^3.3.5", + "@babel/runtime": "^7.25.6", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-svg": { + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/@antv/g-svg/-/g-svg-2.0.38.tgz", + "integrity": "sha512-S11RB+4Yh3nel+wHChcbB4TlaJFyKl4gP9sUUgUzwgWiAFNxiHU4fM3+sb3f4AQyToIZZd1sqH0TscQ3psX5Yg==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@antv/g-plugin-dom-interaction": "2.1.24", + "@antv/g-plugin-svg-picker": "2.0.38", + "@antv/g-plugin-svg-renderer": "2.2.20", + "@antv/util": "^3.3.5", + "@babel/runtime": "^7.25.6", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-web-animations-api": { + "version": "2.1.25", + "resolved": "https://registry.npmjs.org/@antv/g-web-animations-api/-/g-web-animations-api-2.1.25.tgz", + "integrity": "sha512-xljNU+mDsdaDr+DwP77te2ZkNLcLiwuwppwXuRRpv/wVxUue726c/QbfYj/wMwJoBcOEtl/5hjAks/+gdvr3ag==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.2.19", + "@antv/util": "^3.3.5", + "@babel/runtime": "^7.25.6", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g2": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@antv/g2/-/g2-5.3.3.tgz", + "integrity": "sha512-K+Pf1ZRslGn2IHQzA+2NrukeaNqrpOZB76zytkmt5bhGOhZgSWSfc9ubxi0OAlrBY+Yc6DfYcLiHziuASYoG5w==", + "license": "MIT", + "dependencies": { + "@antv/component": "^2.1.2", + "@antv/coord": "^0.4.7", + "@antv/event-emitter": "^0.1.3", + "@antv/expr": "^1.0.2", + "@antv/g": "^6.1.23", + "@antv/g-canvas": "^2.0.42", + "@antv/g-plugin-dragndrop": "^2.0.34", + "@antv/scale": "^0.4.16", + "@antv/util": "^3.3.10", + "@antv/vendor": "^1.0.8", + "flru": "^1.0.2", + "pdfast": "^0.2.0" + } + }, + "node_modules/@antv/g2-extension-plot": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@antv/g2-extension-plot/-/g2-extension-plot-0.2.2.tgz", + "integrity": "sha512-KJXCXO7as+h0hDqirGXf1omrNuYzQmY3VmBmp7lIvkepbQ7sz3pPwy895r1FWETGF3vTk5UeFcAF5yzzBHWgbw==", + "dependencies": { + "@antv/g2": "^5.1.8", + "@antv/util": "^3.3.5", + "@antv/vendor": "^1.0.10" + } + }, + "node_modules/@antv/g6": { + "version": "5.0.48", + "resolved": "https://registry.npmjs.org/@antv/g6/-/g6-5.0.48.tgz", + "integrity": "sha512-ngACp0NTJE1Dg03myB6Tqj0iVALiwEl83sul+xFqwASxjmw9dv3UeGa6tFGDp+4QvzXSh5GM8SlbTMTlfgEMnQ==", + "license": "MIT", + "dependencies": { + "@antv/algorithm": "^0.1.26", + "@antv/component": "^2.1.3", + "@antv/event-emitter": "^0.1.3", + "@antv/g": "^6.1.24", + "@antv/g-canvas": "^2.0.43", + "@antv/g-plugin-dragndrop": "^2.0.35", + "@antv/graphlib": "^2.0.4", + "@antv/hierarchy": "^0.6.14", + "@antv/layout": "1.2.14-beta.9", + "@antv/util": "^3.3.10", + "bubblesets-js": "^2.3.4" + } + }, + "node_modules/@antv/g6-extension-react": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@antv/g6-extension-react/-/g6-extension-react-0.2.3.tgz", + "integrity": "sha512-CUEeMSqC6B1oZN3Sfq8hN3rWRCt4JhEF32Sqa/RXv7sRnJzLU9o98XqN2DjFgsQ8CpKN/MkRiR73/9zkJBGOMg==", + "license": "MIT", + "dependencies": { + "@antv/g": "^6.1.24", + "@antv/g-svg": "^2.0.38" + }, + "peerDependencies": { + "@antv/g6": "^5.0.47", + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/@antv/graphin": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@antv/graphin/-/graphin-3.0.5.tgz", + "integrity": "sha512-V/j8R8Ty44wUqxVIYLdpPuIO8WWCTIVq1eBJg5YRunL5t5o5qAFpC/qkQxslbBMWyKdIH0oWBnvHA74riGi7cw==", + "license": "MIT", + "dependencies": { + "@antv/g6": "^5.0.28" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.1.0", + "react-dom": "^18.0.0 || ^19.1.0" + } + }, + "node_modules/@antv/graphlib": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@antv/graphlib/-/graphlib-2.0.4.tgz", + "integrity": "sha512-zc/5oQlsdk42Z0ib1mGklwzhJ5vczLFiPa1v7DgJkTbgJ2YxRh9xdarf86zI49sKVJmgbweRpJs7Nu5bIiwv4w==", + "license": "MIT", + "dependencies": { + "@antv/event-emitter": "^0.1.3" + } + }, + "node_modules/@antv/hierarchy": { + "version": "0.6.14", + "resolved": "https://registry.npmjs.org/@antv/hierarchy/-/hierarchy-0.6.14.tgz", + "integrity": "sha512-V3uknf7bhynOqQDw2sg+9r9DwZ9pc6k/EcqyTFdfXB1+ydr7urisP0MipIuimucvQKN+Qkd+d6w601r1UIroqQ==", + "license": "MIT" + }, + "node_modules/@antv/layout": { + "version": "1.2.14-beta.9", + "resolved": "https://registry.npmjs.org/@antv/layout/-/layout-1.2.14-beta.9.tgz", + "integrity": "sha512-wPlwBFMtq2lWZFc89/7Lzb8fjHnyKVZZ9zBb2h+zZIP0YWmVmHRE8+dqCiPKOyOGUXEdDtn813f1g107dCHZlg==", + "license": "MIT", + "dependencies": { + "@antv/event-emitter": "^0.1.3", + "@antv/graphlib": "^2.0.0", + "@antv/util": "^3.3.2", + "@naoak/workerize-transferable": "^0.1.0", + "comlink": "^4.4.1", + "d3-force": "^3.0.0", + "d3-force-3d": "^3.0.5", + "d3-octree": "^1.0.2", + "d3-quadtree": "^3.0.1", + "dagre": "^0.8.5", + "ml-matrix": "^6.10.4", + "tslib": "^2.5.0" + } + }, + "node_modules/@antv/scale": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/@antv/scale/-/scale-0.4.16.tgz", + "integrity": "sha512-5wg/zB5kXHxpTV5OYwJD3ja6R8yTiqIOkjOhmpEJiowkzRlbEC/BOyMvNUq5fqFIHnMCE9woO7+c3zxEQCKPjw==", + "license": "MIT", + "dependencies": { + "@antv/util": "^3.3.7", + "color-string": "^1.5.5", + "fecha": "^4.2.1" + } + }, + "node_modules/@antv/util": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-3.3.10.tgz", + "integrity": "sha512-basGML3DFA3O87INnzvDStjzS+n0JLEhRnRsDzP9keiXz8gT1z/fTdmJAZFOzMMWxy+HKbi7NbSt0+8vz/OsBQ==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "gl-matrix": "^3.3.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@antv/vendor": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@antv/vendor/-/vendor-1.0.11.tgz", + "integrity": "sha512-LmhPEQ+aapk3barntaiIxJ5VHno/Tyab2JnfdcPzp5xONh/8VSfed4bo/9xKo5HcUAEydko38vYLfj6lJliLiw==", + "license": "MIT AND ISC", + "dependencies": { + "@types/d3-array": "^3.2.1", + "@types/d3-color": "^3.1.3", + "@types/d3-dispatch": "^3.0.6", + "@types/d3-dsv": "^3.0.7", + "@types/d3-ease": "^3.0.2", + "@types/d3-fetch": "^3.0.7", + "@types/d3-force": "^3.0.10", + "@types/d3-format": "^3.0.4", + "@types/d3-geo": "^3.1.0", + "@types/d3-hierarchy": "^3.1.7", + "@types/d3-interpolate": "^3.0.4", + "@types/d3-path": "^3.1.0", + "@types/d3-quadtree": "^3.0.6", + "@types/d3-random": "^3.0.3", + "@types/d3-scale": "^4.0.9", + "@types/d3-scale-chromatic": "^3.1.0", + "@types/d3-shape": "^3.1.7", + "@types/d3-time": "^3.0.4", + "@types/d3-timer": "^3.0.2", + "d3-array": "^3.2.4", + "d3-color": "^3.1.0", + "d3-dispatch": "^3.0.1", + "d3-dsv": "^3.0.1", + "d3-ease": "^3.0.1", + "d3-fetch": "^3.0.1", + "d3-force": "^3.0.0", + "d3-force-3d": "^3.0.5", + "d3-format": "^3.1.0", + "d3-geo": "^3.1.1", + "d3-geo-projection": "^4.0.0", + "d3-hierarchy": "^3.1.2", + "d3-interpolate": "^3.0.1", + "d3-path": "^3.1.0", + "d3-quadtree": "^3.0.1", + "d3-random": "^3.0.1", + "d3-regression": "^1.3.10", + "d3-scale": "^4.0.2", + "d3-scale-chromatic": "^3.1.0", + "d3-shape": "^3.2.0", + "d3-time": "^3.1.0", + "d3-timer": "^3.0.1" + } + }, "node_modules/@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", @@ -2158,6 +3014,19 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "license": "MIT" }, + "node_modules/@chenshuai2144/sketch-color": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@chenshuai2144/sketch-color/-/sketch-color-1.0.9.tgz", + "integrity": "sha512-obzSy26cb7Pm7OprWyVpgMpIlrZpZ0B7vbrU0RMbvRg0YAI890S5Xy02Aj1Nhl4+KTbi1lVYHt6HQP8Hm9s+1w==", + "license": "MIT", + "dependencies": { + "reactcss": "^1.2.3", + "tinycolor2": "^1.4.2" + }, + "peerDependencies": { + "react": ">=16.12.0" + } + }, "node_modules/@chevrotain/cst-dts-gen": { "version": "10.5.0", "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.5.0.tgz", @@ -2477,6 +3346,15 @@ "postcss-selector-parser": "^6.0.10" } }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/@discoveryjs/json-ext": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", @@ -2487,6 +3365,73 @@ "node": ">=14.17.0" } }, + "node_modules/@dnd-kit/accessibility": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.1.tgz", + "integrity": "sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/core": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.3.1.tgz", + "integrity": "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==", + "license": "MIT", + "dependencies": { + "@dnd-kit/accessibility": "^3.1.1", + "@dnd-kit/utilities": "^3.2.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/modifiers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@dnd-kit/modifiers/-/modifiers-6.0.1.tgz", + "integrity": "sha512-rbxcsg3HhzlcMHVHWDuh9LCjpOVAgqbV78wLGI8tziXY3+qcMQ61qVXIvNKQFuhj75dSfD+o+PYZQ/NUk2A23A==", + "license": "MIT", + "dependencies": { + "@dnd-kit/utilities": "^3.2.1", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@dnd-kit/core": "^6.0.6", + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/sortable": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@dnd-kit/sortable/-/sortable-7.0.2.tgz", + "integrity": "sha512-wDkBHHf9iCi1veM834Gbk1429bd4lHX4RpAwT0y2cHLf246GAvU2sVw/oxWNpPKQNQRQaeGXhAVgrOl1IT+iyA==", + "license": "MIT", + "dependencies": { + "@dnd-kit/utilities": "^3.2.0", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@dnd-kit/core": "^6.0.7", + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/utilities": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@dnd-kit/utilities/-/utilities-3.2.2.tgz", + "integrity": "sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, "node_modules/@emotion/babel-plugin": { "version": "11.13.5", "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", @@ -3343,6 +4288,15 @@ "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", "license": "MIT" }, + "node_modules/@naoak/workerize-transferable": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@naoak/workerize-transferable/-/workerize-transferable-0.1.0.tgz", + "integrity": "sha512-fDLfuP71IPNP5+zSfxFb52OHgtjZvauRJWbVnpzQ7G7BjcbLjTny0OW1d3ZO806XKpLWNKmeeW3MhE0sy8iwYQ==", + "license": "MIT", + "peerDependencies": { + "workerize-loader": "*" + } + }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -4928,6 +5882,144 @@ "@types/node": "*" } }, + "node_modules/@types/d3-array": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==", + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz", + "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==", + "license": "MIT" + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "license": "MIT", + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", + "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", + "license": "MIT" + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", + "license": "MIT" + }, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "license": "MIT" + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", + "license": "MIT" + }, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", + "license": "MIT" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", + "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, "node_modules/@types/eslint": { "version": "8.56.12", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", @@ -4954,6 +6046,15 @@ "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", "license": "MIT" }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/@types/express": { "version": "4.17.22", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.22.tgz", @@ -4990,6 +6091,12 @@ "@types/send": "*" } }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT" + }, "node_modules/@types/graceful-fs": { "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", @@ -4999,6 +6106,15 @@ "@types/node": "*" } }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -5056,12 +6172,27 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "license": "MIT" }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", "license": "MIT" }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, "node_modules/@types/node": { "version": "22.15.29", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.29.tgz", @@ -5212,6 +6343,12 @@ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", "license": "MIT" }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, "node_modules/@types/webxr": { "version": "0.5.22", "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.22.tgz", @@ -5638,6 +6775,21 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@umijs/route-utils": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@umijs/route-utils/-/route-utils-4.0.1.tgz", + "integrity": "sha512-+1ixf1BTOLuH+ORb4x8vYMPeIt38n9q0fJDwhv9nSxrV46mxbLF0nmELIo9CKQB2gHfuC4+hww6xejJ6VYnBHQ==", + "license": "MIT" + }, + "node_modules/@umijs/use-params": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@umijs/use-params/-/use-params-1.0.9.tgz", + "integrity": "sha512-QlN0RJSBVQBwLRNxbxjQ5qzqYIGn+K7USppMoIOVlf7fxXHsnQZ2bEsa6Pm74bt6DVQxpUE8HqvdStn6Y9FV1w==", + "license": "MIT", + "peerDependencies": { + "react": "*" + } + }, "node_modules/@ungap/structured-clone": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", @@ -5943,6 +7095,15 @@ "node": ">=0.4.0" } }, + "node_modules/add-dom-event-listener": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", + "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", + "license": "MIT", + "dependencies": { + "object-assign": "4.x" + } + }, "node_modules/address": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", @@ -6796,6 +7957,16 @@ "babel-plugin-transform-react-remove-prop-types": "^0.4.24" } }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -7147,6 +8318,12 @@ "node-int64": "^0.4.0" } }, + "node_modules/bubblesets-js": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/bubblesets-js/-/bubblesets-js-2.3.4.tgz", + "integrity": "sha512-DyMjHmpkS2+xcFNtyN00apJYL3ESdp9fTrkDr5+9Qg/GPqFmcWgGsK1akZnttE1XFxJ/VMy4DNNGMGYtmFp1Sg==", + "license": "MIT" + }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -7358,6 +8535,16 @@ "node": ">=4" } }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -7399,6 +8586,46 @@ "node": ">=10" } }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/check-types": { "version": "11.2.3", "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", @@ -7688,6 +8915,16 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", @@ -7712,6 +8949,22 @@ "node": ">= 0.8" } }, + "node_modules/comlink": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/comlink/-/comlink-4.4.2.tgz", + "integrity": "sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g==", + "license": "Apache-2.0" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", @@ -8049,6 +9302,12 @@ "node": ">=10" } }, + "node_modules/css-mediaquery": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", + "integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==", + "license": "BSD" + }, "node_modules/css-minimizer-webpack-plugin": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", @@ -8340,6 +9599,322 @@ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "license": "MIT" }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-binarytree": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d3-binarytree/-/d3-binarytree-1.0.2.tgz", + "integrity": "sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw==", + "license": "MIT" + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "license": "ISC", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "license": "ISC", + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force-3d": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/d3-force-3d/-/d3-force-3d-3.0.6.tgz", + "integrity": "sha512-4tsKHUPLOVkyfEffZo1v6sFHvGFwAIIjt/W8IThbp08DYAsXZck+2pSHEG5W1+gQgEvFLdZkYvmJAbRM2EzMnA==", + "license": "MIT", + "dependencies": { + "d3-binarytree": "1", + "d3-dispatch": "1 - 3", + "d3-octree": "1", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo-projection": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/d3-geo-projection/-/d3-geo-projection-4.0.0.tgz", + "integrity": "sha512-p0bK60CEzph1iqmnxut7d/1kyTmm3UWtPlwdkM31AU+LW+BXazd5zJdoCn7VFxNCHXRngPHRnsNn5uGjLRGndg==", + "license": "ISC", + "dependencies": { + "commander": "7", + "d3-array": "1 - 3", + "d3-geo": "1.12.0 - 3" + }, + "bin": { + "geo2svg": "bin/geo2svg.js", + "geograticule": "bin/geograticule.js", + "geoproject": "bin/geoproject.js", + "geoquantize": "bin/geoquantize.js", + "geostitch": "bin/geostitch.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo-projection/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-octree": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-octree/-/d3-octree-1.1.0.tgz", + "integrity": "sha512-F8gPlqpP+HwRPMO/8uOu5wjH110+6q4cgJvgJT6vlpy3BEaDIKlTZrgHKZSp/i1InRpVfh4puY/kvL6MxK930A==", + "license": "MIT" + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-regression": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/d3-regression/-/d3-regression-1.3.10.tgz", + "integrity": "sha512-PF8GWEL70cHHWpx2jUQXc68r1pyPHIA+St16muk/XRokETzlegj5LriNKg7o4LR0TySug4nHYPJNNRz/W+/Niw==", + "license": "BSD-3-Clause" + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/dagre": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz", + "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", + "license": "MIT", + "dependencies": { + "graphlib": "^2.1.8", + "lodash": "^4.17.15" + } + }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -8449,6 +10024,19 @@ "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", "license": "MIT" }, + "node_modules/decode-named-character-reference": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz", + "integrity": "sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -8553,6 +10141,15 @@ "node": ">= 0.8" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -8610,6 +10207,19 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -10135,6 +11745,16 @@ "node": ">=4.0" } }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/estree-walker": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", @@ -10290,6 +11910,12 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -10399,6 +12025,12 @@ "bser": "2.1.1" } }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "license": "MIT" + }, "node_modules/fflate": { "version": "0.6.10", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz", @@ -10608,6 +12240,15 @@ "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "license": "ISC" }, + "node_modules/flru": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flru/-/flru-1.0.2.tgz", + "integrity": "sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/follow-redirects": { "version": "1.15.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", @@ -11032,6 +12673,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gl-matrix": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", + "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==", + "license": "MIT" + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -11178,6 +12825,15 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "license": "MIT" }, + "node_modules/graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + } + }, "node_modules/gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", @@ -11315,6 +12971,46 @@ "node": ">= 0.4" } }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -11445,6 +13141,16 @@ "node": ">=12" } }, + "node_modules/html-url-attributes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", + "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/html-webpack-plugin": { "version": "5.6.3", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", @@ -11598,6 +13304,12 @@ "node": ">=10.17.0" } }, + "node_modules/hyphenate-style-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.1.0.tgz", + "integrity": "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==", + "license": "BSD-3-Clause" + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -11756,6 +13468,12 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "license": "ISC" }, + "node_modules/inline-style-parser": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", + "license": "MIT" + }, "node_modules/internal-slot": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", @@ -11770,6 +13488,15 @@ "node": ">= 0.4" } }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/interpret": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", @@ -11789,6 +13516,36 @@ "node": ">= 10" } }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-any-array": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.1.tgz", + "integrity": "sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==", + "license": "MIT" + }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -11934,6 +13691,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", @@ -12021,6 +13788,16 @@ "node": ">=0.10.0" } }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", @@ -14195,6 +15972,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "license": "MIT" }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -14336,6 +16119,16 @@ "node": ">=0.8.0" } }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -14399,6 +16192,25 @@ "tmpl": "1.0.5" } }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/matchmediaquery": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/matchmediaquery/-/matchmediaquery-0.4.2.tgz", + "integrity": "sha512-wrZpoT50ehYOudhDjt/YvUJc6eUzcdFPdmbizfgvswCKNHD1/OBOHYJpHie+HXpu6bSkEGieFMYk6VuutaiRfA==", + "license": "MIT", + "dependencies": { + "css-mediaquery": "^0.1.2" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -14408,6 +16220,288 @@ "node": ">= 0.4" } }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", @@ -14469,6 +16563,569 @@ "node": ">= 0.6" } }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", @@ -14592,6 +17249,45 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/ml-array-max": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/ml-array-max/-/ml-array-max-1.2.4.tgz", + "integrity": "sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ==", + "license": "MIT", + "dependencies": { + "is-any-array": "^2.0.0" + } + }, + "node_modules/ml-array-min": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/ml-array-min/-/ml-array-min-1.2.3.tgz", + "integrity": "sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q==", + "license": "MIT", + "dependencies": { + "is-any-array": "^2.0.0" + } + }, + "node_modules/ml-array-rescale": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ml-array-rescale/-/ml-array-rescale-1.3.7.tgz", + "integrity": "sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ==", + "license": "MIT", + "dependencies": { + "is-any-array": "^2.0.0", + "ml-array-max": "^1.2.4", + "ml-array-min": "^1.2.3" + } + }, + "node_modules/ml-matrix": { + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/ml-matrix/-/ml-matrix-6.12.1.tgz", + "integrity": "sha512-TJ+8eOFdp+INvzR4zAuwBQJznDUfktMtOB6g/hUcGh3rcyjxbz4Te57Pgri8Q9bhSQ7Zys4IYOGhFdnlgeB6Lw==", + "license": "MIT", + "dependencies": { + "is-any-array": "^2.0.1", + "ml-array-rescale": "^1.3.7" + } + }, "node_modules/mmd-parser": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.0.4.tgz", @@ -15116,6 +17812,31 @@ "node": ">=6" } }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -15236,6 +17957,12 @@ "node": ">=8" } }, + "node_modules/pdfast": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/pdfast/-/pdfast-0.2.0.tgz", + "integrity": "sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA==", + "license": "MIT" + }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -17017,6 +19744,16 @@ "react-is": "^16.13.1" } }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -17118,6 +19855,12 @@ ], "license": "MIT" }, + "node_modules/quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==", + "license": "ISC" + }, "node_modules/raf": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", @@ -17172,6 +19915,15 @@ "node": ">=0.10.0" } }, + "node_modules/rbush": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", + "license": "MIT", + "dependencies": { + "quickselect": "^2.0.0" + } + }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -17920,6 +20672,39 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "license": "MIT" + }, + "node_modules/react-markdown": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-10.1.0.tgz", + "integrity": "sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=18", + "react": ">=18" + } + }, "node_modules/react-reconciler": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.27.0.tgz", @@ -17954,6 +20739,24 @@ "node": ">=0.10.0" } }, + "node_modules/react-responsive": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/react-responsive/-/react-responsive-10.0.1.tgz", + "integrity": "sha512-OM5/cRvbtUWEX8le8RCT8scA8y2OPtb0Q/IViEyCEM5FBN8lRrkUOZnu87I88A6njxDldvxG+rLBxWiA7/UM9g==", + "license": "MIT", + "dependencies": { + "hyphenate-style-name": "^1.0.0", + "matchmediaquery": "^0.4.2", + "prop-types": "^15.6.1", + "shallow-equal": "^3.1.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, "node_modules/react-router": { "version": "7.6.1", "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.6.1.tgz", @@ -18174,6 +20977,15 @@ } } }, + "node_modules/reactcss": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", + "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", + "license": "MIT", + "dependencies": { + "lodash": "^4.0.1" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -18414,6 +21226,72 @@ "node": ">= 0.10" } }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/renderkid": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", @@ -18707,6 +21585,12 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause" + }, "node_modules/safe-array-concat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", @@ -18779,6 +21663,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -19359,6 +22252,12 @@ "node": ">=8" } }, + "node_modules/shallow-equal": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-3.1.0.tgz", + "integrity": "sha512-pfVOw8QZIXpMbhBWvzBISicvToTiM5WBF1EeAUZDDSb5Dt29yl4AYbyywbJFSEsRUMr7gJaxqCdr4L3tQf9wVg==", + "license": "MIT" + }, "node_modules/shallowequal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", @@ -19476,6 +22375,21 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "license": "ISC" }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" + }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -19635,6 +22549,16 @@ "deprecated": "Please use @jridgewell/sourcemap-codec instead", "license": "MIT" }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", @@ -20129,6 +23053,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -20223,6 +23161,24 @@ "webpack": "^5.0.0" } }, + "node_modules/style-to-js": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.16.tgz", + "integrity": "sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.8" + } + }, + "node_modules/style-to-object": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", + "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.4" + } + }, "node_modules/styled-components": { "version": "6.1.18", "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.18.tgz", @@ -20446,6 +23402,12 @@ "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", "license": "MIT" }, + "node_modules/svg-path-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/svg-path-parser/-/svg-path-parser-1.1.0.tgz", + "integrity": "sha512-jGCUqcQyXpfe38R7RFfhrMyfXcBmpMNJI/B+4CE9/Unkh98UporAc461GTthv+TVDuZXsBx7/WiwJb1Oh4tt4A==", + "license": "MIT" + }, "node_modules/svgo": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", @@ -20568,6 +23530,19 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/swr": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.3.tgz", + "integrity": "sha512-dshNvs3ExOqtZ6kJBaAsabhPdHyeY4P2cKwRCniDVifBMoG/SVI7tfLWqPXriVspf2Rg4tPzXJTnwaihIeFw2A==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.3", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -20857,6 +23832,12 @@ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", "license": "MIT" }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", + "license": "MIT" + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -20926,6 +23907,26 @@ "node": ">=8" } }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", @@ -21259,6 +24260,37 @@ "node": ">=4" } }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -21271,6 +24303,74 @@ "node": ">=8" } }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -21374,6 +24474,15 @@ "react": ">= 16.x" } }, + "node_modules/use-sync-external-store": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz", + "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -21467,6 +24576,34 @@ "node": ">=0.10.48" } }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/virtualizedtableforantd4": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/virtualizedtableforantd4/-/virtualizedtableforantd4-1.3.1.tgz", @@ -21547,6 +24684,15 @@ "makeerror": "1.0.12" } }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/watchpack": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", @@ -22443,6 +25589,19 @@ "workbox-core": "6.6.0" } }, + "node_modules/workerize-loader": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/workerize-loader/-/workerize-loader-2.0.2.tgz", + "integrity": "sha512-HoZ6XY4sHWxA2w0WpzgBwUiR3dv1oo7bS+oCwIpb6n54MclQ/7KXdXsVIChTCygyuHtVuGBO1+i3HzTt699UJQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "loader-utils": "^2.0.0" + }, + "peerDependencies": { + "webpack": "*" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -22632,6 +25791,16 @@ "optional": true } } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } } } } diff --git a/package.json b/package.json index 50d5efe..e1b964e 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,8 @@ "version": "0.1.0", "private": true, "dependencies": { + "@ant-design/charts": "^2.3.0", + "@ant-design/pro-components": "^2.8.7", "@babel/plugin-transform-private-property-in-object": "^7.27.1", "@simplewebauthn/browser": "^13.1.0", "@tsparticles/react": "^3.0.0", @@ -27,9 +29,12 @@ "react": "^18.3.1", "react-country-flag": "^3.1.0", "react-dom": "^18.3.1", + "react-markdown": "^10.1.0", + "react-responsive": "^10.0.1", "react-router-dom": "*", "react-scripts": "*", "react-stl-viewer": "^2.5.0", + "remark-gfm": "^4.0.1", "socket.io-client": "*", "standard": "^17.1.2", "styled-components": "*", diff --git a/public/index.html b/public/index.html index aa069f2..362c43f 100644 --- a/public/index.html +++ b/public/index.html @@ -1,4 +1,4 @@ - + @@ -24,7 +24,7 @@ work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> - React App + Farm Control diff --git a/src/App.css b/src/App.css index ca5c511..af348a5 100644 --- a/src/App.css +++ b/src/App.css @@ -1,6 +1,18 @@ -body, -.ant-typography { - font-family: 'SF Pro'; +:root { + --unit-100vh: 100vh; +} +@supports (height: 100dvh) { + :root { + --unit-100vh: 100dvh; + } +} + +.ant-menu-overflow-item-rest::after { + border-bottom: none !important; +} + +.ant-menu-overflow-item > div:hover { + background-color: transparent !important; } .App { diff --git a/src/App.jsx b/src/App.jsx index 46e1028..63f8563 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -13,8 +13,8 @@ import Printers from './components/Dashboard/Production/Printers' import ControlPrinter from './components/Dashboard/Production/Printers/ControlPrinter.jsx' import PrinterInfo from './components/Dashboard/Production/Printers/PrinterInfo.jsx' -import PrintJobs from './components/Dashboard/Production/PrintJobs.jsx' -import PrintJobInfo from './components/Dashboard/Production/PrintJobs/PrintJobInfo.jsx' +import Jobs from './components/Dashboard/Production/Jobs.jsx' +import JobInfo from './components/Dashboard/Production/Jobs/JobInfo.jsx' import Filaments from './components/Dashboard/Management/Filaments' import FilamentInfo from './components/Dashboard/Management/Filaments/FilamentInfo.jsx' @@ -48,12 +48,17 @@ import { SocketProvider } from './components/Dashboard/context/SocketContext.js' import { AuthProvider } from './components/Dashboard/context/AuthContext.js' import { SpotlightProvider } from './components/Dashboard/context/SpotlightContext.js' import StockEvents from './components/Dashboard/Inventory/StockEvents.jsx' + import Settings from './components/Dashboard/Management/Settings' +import AuditLogs from './components/Dashboard/Management/AuditLogs.jsx' + import { ThemeProvider, useThemeContext } from './components/Dashboard/context/ThemeContext' import AppError from './components/App/AppError' +import NoteTypes from './components/Dashboard/Management/NoteTypes.jsx' +import NoteTypeInfo from './components/Dashboard/Management/NoteTypes/NoteTypeInfo.jsx' const AppContent = () => { const { themeConfig } = useThemeContext() @@ -97,14 +102,8 @@ const AppContent = () => { path='production/printers/info' element={} /> - } - /> - } - /> + } /> + } /> } @@ -168,7 +167,19 @@ const AppContent = () => { path='management/materials' element={} /> + } + /> + } + /> } /> + } + /> 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 literal 0 HcmV?d00001 diff --git a/src/assets/icons/auditlogicon.min.svg b/src/assets/icons/auditlogicon.min.svg new file mode 100644 index 0000000..d604a2a --- /dev/null +++ b/src/assets/icons/auditlogicon.min.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/auditlogicon.svg b/src/assets/icons/auditlogicon.svg new file mode 100644 index 0000000..b2ef6c7 --- /dev/null +++ b/src/assets/icons/auditlogicon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/icons/inventoryicon.afdesign b/src/assets/icons/inventoryicon.afdesign index eaed37e393c8596e129c1d565df37aa1551e8451..d34bf8bfd70f23d876f917e8304aea58efe1964c 100644 GIT binary patch literal 65273 zcmb@sRahLs(g3xCROCuzNS>od3Sv zw_D%NbnQ$}SC@8IcLSg*(&zvbfUB1$m`=&nmVp}ZA4vOOxk&Zj|NnQFJ(afqhay)V=*>O?%J8s|rBkZR?rn|+!zfx`)wtwy zz=J{PG3V9pi_nWq2$`yUH%)GwKu~03K8d$+(E&Udm4E}m0-oE|_rk|&7=$*Oj3CD& zPsDKK0EcYq<_>UC#C=Pw3kD>S(;z6oOISanC#n@BTgZ_JZ{aLu(Xd+*Z&0&-VjRZ# zX@iWhV~s&g#Swc(U4v4pjfWnAV|NktroB?Wd&3;JfaJY-9I-idG8Kw_7z!=R-2$E= zwY+L#A(8eDfC%Fv3SD4>I+dJ!dmq;W-Y<~Y{QDeA!pZ<0HT3{yd=#C#9V$hMKJIYR zGTHC#2z2VQEdb_L3ccV%_#hJCloN}-h+jzxDR;%p4IG2qL0mzDw3EObn=*vGuwvGz zNX$#WjaTqHe3z$FByN7^_D3g?}2;<4Lecx(gB{UZec zbslo)D5ii6?IM6#Z8$uesC{H2R>H*)wtbkn8YcUL>Q?MB*~?rMoH8+o00+BUz>}#l-m5K#8>@jVq3_pjIPK%w2d@jS-FVW2noEZjYCM1rf!W2 zSk~Zi4|w`5wTxVR10Z!v-L$=q zgyHMHS$BssPjRh)^$;(Gh9nlqFcR-to!WRF-!|)swZkn zY|~0CX(LMo5%Cs^r(*ag%RW`GZ@4+;iJ@L~q2VXZtrabT4S$bdc7&plgNT1$gD1P8 zg;~jC;N?oFSv^tU4b(H5c@iqx4fdoQhbU;&y?$wg){k6@J(+#7 zKuhCEZPTrO)mVYmG;_otZz^uPbz4&>d4;Cs{w3%!GjJ+@+H5NRtJ-H0u~br|X(nUh zYG)XYmS54guAL^hqqYRe1ltQxJX=?bXz=7>+I80Eb88=~I4jiT=rW?k=S2UE0B=ab z>h-a&B|n+1Q5_Ug=AW7IsFv?t9Ka33lNzyw%cEr4MPCvy5@aARf+OoRp`tJ_!pI(Dy!Q#Jj*3vain7$Z^ED9-axO{ezEj zI5|xkAdRV5*1Wu&lr}s&@7RPL7VGsF8FQg5rWWYaUepNFNa^b`@|&_aON**xv^bqQ zeWv5GGBzw9yXxzPQ)3_QEQl8XTVg*^m$&YZ2`tlrGUnRGH+J_}8LuS%SpZ(na4>Y_;#j1#?k@>U@j27#*aZIrXtIVk$qV z7FxXNqhDq;L8RB;xKw0Y_g=+CK0iW#qTar+9y^LdH{v>TRok95?l;dKx#!*T$Uc9@ zpY}^FIeFB;aj0R|8gb-XNs1J6s8Mw+kr7%XP?u-L`o8X3U5LoDxN04u#iNC0_~cXT z{-y5bv$+r-`zw0sYjS3{+2UV?U@J-6r&m$apQ?*Jo=QLASP7_=T)%n~*oX=m#qD{E zAFXRTp!stIX|Mip;m1CslZ(W=`t2|01DQlSvqo-NZnB!IOE~&G1 z&7xbQk+IZF1zPfI#>^25wEfOG(*h@Gg(qIt)+ zRdc>_%=CRKfQXcmgnQN{^Bu{lI2zR#h`|KtHl9sy!Rk|4u@q&xafj#rIIcMcCaTaF z4JJYCx74`gQ0_OM&j4;;omZP}CNgzc+s-6gn%1jBL@ttXC)OSZY7au(nfMjzWgv^c zYnf~}dA@0ds!yG1mr)_QF{H-0N-&(1qfO9s5|^M8 zsxA(pnKXFDazFsdt)RHc#$qr2*DP&YdG3uMwvy&Ms+NCu_Oq97wfQVR(+;ak?r3Ii ze~q=2?Ys()dg&5epHP1sF`lfMZ!LyoRCSn4a; zrKm$}zAN5PwXv0~{Jjn_khAzJ`Qg=XvhFzL9-Uw#3gV$(bn)gUpl{!R4*J14U}^Mx zQMkZt)?qE?lrv1TqW&4(faG1zqbcFsxJSLzQ@SQegVG%GCDb7A#_m=f3medF5FTI0n<;KUm#B?@|x3Byh<-Qu*Te`|g6v+B2Xx>i2W-EWKUF@$c**<=joem+l z$~Cg;Hfyrac*bsK{hj+9D}{(2V$a1oC`8BNrJvJT0cC4_^Gx(cYdKUUrxOU{m%WeO z?+*rIYL_>^HDO5O)~6ETkX?si)FE=6#N&|>TmCdJt>IA&TnbuY-d(%B&tn!Z2EQxdgORiYnhe0C^frX-EG^t#E@*4??6!r3z+A!sWeogfKG4-hiB*OGuFG!D;-Sk7VdSo$nqX#+|U0c1R{fP%g0zA4Vo1e{6cD`fbpk z#IjTZ#BP!idV7ytiRm252*->J->@X6a*+>^;tN%$gjGL8@#-%CYG@S3h zNSLG)DVbyEe`OxVpKy8mKvipzpo9P4E-i7rbyCE%y2yhddkFPlnbUtHLiOe3@HI8| z7k%59%mV&`F3^eK0gM-H-$VE(HB_OYtWV+qCZOmMS}3`ibOJ=ZiW>s}fFi4#^^=qM zM_}9CJOGB9;3g|0DV^n;73+%e!=@sBQlGs|L{KVEF_ewx;-N#O#1q)kDolSs>A>5KB4(S^c( znYKUJH%AKPLB53t49qIyVJ49nc1!E6{8#!6(rfOP-&JO?IL3BD8*PvjtN+XK8}2J4 zB}OF`6azbIJQm1i*MCKG8cyFy#37LzrV#O8gMssB@#pQ1xW}7XzE71#ocZv9PN4Pc zU6O^kTPU&XT+G6&*$Pz*h8FX4*H*Y(*r|6o0(>|MtpzO-jkP%frltf=(TTTfSS{T;iOp?^UY zTFgNd|0tL~h(H8?$0Qxar^y-HPfmu@k116qMX0QyCmRx)hO>o1yA=-bE~})CeoKgM z4`%`dGSg31hBZ^8U~nlo$J6j_E8=J>Hd>+*5fPm#k_^Olg_<=iJwn$)jqFkaTit5d z#zHNGXvs8Z!1dh$AMoE=zX-lx`kXlVi)GncPu4Erx}Jo6)H@SmCojr7@*KRay$DTx zW!GE(+h^<}N`LP67M%r(+!&guKZ|`l_sR2}hi2JN`*)YX49W{WxT}8ZVo%BI(9w!YfiGc+XFZMg2Mno&!Vl@ilUN5f*l5jN>?S)>aIr*u7TB}bl<$70YYjAlQoRB>`%f6etS>adhUf^oX#4oAn+NSp$< zcRnW)@5}Q%;#*Bce=hh{s|sTDO!oQHeyBq|Q|djLkY~7~$$0t2Q$E*(fU{FK3;c}?Q_srw5duX=NVky)^DJ5|4HEx&q z8C#EB;c}vB&EwWFxEiF_u!M$e>>;1HlVzAfZddy7D&oK6Owh+Z;rU^$nXRfwnOM~> z-hhGu22iOJfoT2GK-jy~&D&IX{Nx!hmvAd0mv2>b+Sz>_25!GlY}q*?x;k}jXQqIRZsk@Y3#6rj7HO0puGQA?q09C zpn6z?TU@6uW`ixh;|IYomW0$!*oVei@GrZkXj!d=!-wL0#|&8JaI1Y4GO_*9V5R&F_$_{DX6syq%AogY6o8#>m zhF&g{AK!Ua-Ou7sn`WJ-Bx`B1Y&ucadei;;>x&UR=8!5*Q{_*39fW6Y*06Np$y9{3 zR~eQS$j^13HI@h!P^HiN-td%HDyWB0>5SGsVh0;rPOD4@I?L-;%-3z6-#)a<5uaz} zjV*=JvL+rrzOwi$*S8NM2$LO8-;jCObx2M_3Y^7eN}HL8yl;m5w`-VQIc7lEn_XZM ztlJ@fPD72S*RG{Jm|YvJhy2+-JHJARy!Hcc{%mUcz^BeteL1$y-ESym zdzX>mkSVEZkXteN@!)=Z5mWIEDjiQqwrAV8HKn=S2+mvUql>KZ#p6`r{E!Cibz7d6 zSYN41mor5YM-%(8NLt#GtD$cD%47@>i*_XfDg&G8aH zUo|H*C}O1b#;l%$3^px2cH9r0g0N=Vo+%=#5UY@9kU_zTqjCMV?Rkk%Po^Ve642tJ zJO8m`HA`JZW;K6%agJ72ePw;7io>_ue;CJPd27>K6Q=|0&h%QPcT89$Wp!X{FioE0nk!$fWX$F1*w~9HGlQ{8T8$%$1+%=d&x@?^;1H<=OTCD71p$Gt z5h$ZkXKq4HXHI8CpRHs)?u)%(Ow+{}b_b~sf3|8s=LjuCr?fUoMhQ(3js7Dh|2t*J zlF70%BqhvLQu=nULt7Q6pV3TXg<1|Hm5$q#qM0LoYe| z?feIIaeIk^qpqsLUnE~uISfH#j)ZnCjNS4{P|-Q&;QDTnv!8@4jsP0m>sDw#yDr&4&$&P9=D=w2@IYA;+UIpOKUKG(EzUA|u0qRj{nnH%N&hM~R{My5 z{G;|lH2^_VB=z`G*E%yDUBdApLc8#Ou&Vl1zLC>MCwO0l0rG*`H&Tui5O4zoafB5` zGwVM{VPn@)BPOx4$Tcy0n}-s#)_#n#R1aR2_B0=3^iBRS*&HcQhQEiTh?z`6%`IhW zt{zO&G#P;y$kzl6h(;b8hBN>>h9N=B$)F1`bwqv9EFacyczjaR-$qVnCHWNs@+iEl>dMX;oN2u?VzUwZfx z(o2{{7{&(h4*KE#`|#_BmC#IB8A@{(N?ghgqSlIoN*^iqL(G7*$iTa@vNC#dZC8Q; zoB*w_dwBO*%?w!&l4XOPp=c~b>=pf8j*a&LzWQV$lvM!gL zyJR>$nf*1EQG8w=&2e6rv>)>(3VFu=8Uy}d*CBhR-XW@?euLk2nN-ul&-&UTVpRFv z*uUh??k!&l#GzbZ0aB|*<``<;N^q<0gz{mHYB8WBq%Fq1(j>(K>$U;iWG;Km8$%<_ zfw)8f;|IB;fxsd2qj4L~_n4ACTGG1epOoiYZ)XVcgvE5+nU-!cR zaiLXl>VLQ(y5Xm1B6DbX(m$99jKnV*>xD`CS#JP-4cD)r@Lm*F1FCvA)1>TjJQs*H z=UVZQ6=*N4HS(N~7`+Rffrt)XYbSMY8qBsso=@5ACxeadk~tPmXtnS&o-|AIE1;lv z{3=kJv%CyndM$j0vN6^Lq=mAZhGV&KWw+JRRF_rRao0@pA>7+tY6aNR%f=q@w0S=z zN3jk%zq+b&+!_O)RRr+E$|@6j4MxN-Qo|f=xDO9tKc1?q7&@h2?gFWTGlQ9q0*RaF zSJq|6V~1nP=ScyfN%uqDp&t)Zs(sc&ztUEb_LKCSEbUSZNpfoXd?= z`WVwt>tLC*!2FqVA7jw^5}u>chZo6i17+DhC4BZiNt+v`1+Wz+<+)%KzrhvfuEm&1 zx$OS^#8!{H{p0J9y<_^%-Vy^kg{u(xmWt=3v#gzt5U33{JLC0q62a6&cby;??VDmp z?K-IVGxm_x&eBgdz9YGSK3JTASabnXQ&X)go>*SFc(n4rzhLEVUK_ZH@C1dPu%Si9 zRW>to4-spQFj=CY05GLo5P=xfD0|di)5Ros)Zx^*%G`-5*&YBA0017g4TAIUR|NOA z!bM>R*+H7vV^I5!sEcpRJv&flQ&4GE80VnKn9MSsbXQeYa0|e7%@(S)0RM@*gR)gc zv#|4*npBMkRH&aQo6$&$UFH`ORRz+=DJSABtnWW_)ItDWB1X}vPuTNHMA2GQ-?Fy; z@Z#($xp3ZVC_JG5;QU;fh);u9LjEprkl#UTWFJg`l~bw;EL^>$^*vu)#>^WQh46%l zy=w6LHO+A;*_&1oa8Sj|r?G|0&IIohd#Ppx@iIAPgv=T&tj{tG-XRRVzv!kR6LZT$ zoF>EWLs68-7BJEF|6p#0|GKL_K+{Ocb9;1Qi@*GpdpXx>(w}#7a#TgVhQrbB0E0g1 z_GkOCc&C5D6MlA$px81I{_D@p6A|OpEV(+3Qhe9^~{v|;|klQz$^b$bX`=5^G z=IzHe#0+qI+{(ZM%+;-cT{ia(A*yUgRd$j;TIP|^IsG$w&v)20+cKky{TqMYrT?xm zG+z%i=1wTU(brKD0(=8Ip2i&m#{oj)T)DL(W_CLGBLOkrOE?%6Vys;BMNjGiId%JD zLaWZzs@{`f^qOlKGupc$dnR^HT3LUS)vBE#|4qMp13@5G5q$7cVoljh?gga*w^2gE zo#WmPb`P}iZD;~=5;I)gD2@)3AH@tcCT)bnL}>l+{{Iyc$v#(L`S#M@vkxDs2-h@>7_HL zqT@#XncaFto8N+4t@q}|@A$-yJIwZo{KM<4Q^(0o4Qq+AhpHOHBP;|!irSqyun5;wM&^S))2y(xV1+CblM1DPW zd`Iw+lJSQW>QG`Ns;+?O4wG|B6ujym8t^8C$q{jD?1!4EgA)qQ=+-Cm%HsoZt1aE`JDoLby90Qb6( zoN7u8*X;0)OQ6-8YsT0kulCA7!fdNiDJIeO4@abnRqE*Ju>4Fp=G$*l&wf!$o^JJY z4uB8-xXvbyZ+cAYd8o7eYREsg<7s72vQ9E>l72ry#OkR2>Gz(6Darz+E*GOd$~G%h z%X3V&4$z_KNiiG|LQmE@C2ju%)Tx*xqMO20dKD2i}vKY-Jh-nf(?gXjT3y zBUGE;py}rkjo1J!`l;aSf1;tze2+&Ss-<$?GV-^uTtxCDyT+0+UdZr^6f%Q3g zRG|6=qF?D|QLpSouZ%C79}Dqbq6aBU2*PA6@?+UT%$Y8N+kqF|0f~n{m>7z{Ld5An zFjFm2N|0GJln4V9#`$?!3=xWagBD&I6VT$i#DKlRAc6ma^{Et?)$`n zk313^0T!Sf)|+QI5XABFdCQ4zyFn}r? ze-sreFp3P0?jMUVs0f3)unZOXm@*Ma5bwh=5qynjUVg!i;dnf%EbIA}*Y(S+5I$zm zG)YV^b<1g{F!Fx!J}LcUM;i)EHiQ~zQpJtIa%}HG(_fC33X-&jb-RpiNhTyo>$L$* zMFqU3T)LDcm+d5d`*}%p46>VjV5awY%KykDjZ(~9;{)slgfgtk$la|sBAnZs0SVE6 z$+sJ1pmQnFQLfIflE`DiG9450)Fi&Ie>CSACH zTKX0J1FG{dpZf)P;ltZIc1fDw-=~^rNBn^>kLzgj3!-0#-JV3}+2Z$5GIF=sAQq;V z$KE93Owy&~$V?Uv0<^*~O_)x(H|AZE==&x=g?=pVzb}nJGDMRSFoyGIH#`l|158I+ z-MnfW2>%drE=uB8De43fqEW^E`;MmhcW`2+yHy+&VlfL`HNcq87ivcXn8Ld7?+fj7 zfrMlt>JBI;A$0(gmyi9lC9pT`7NR9~1PcInH}vygFFhauhj+^p(zsvyTOv~PN@~29zqk(+z5`)d_d^iWO+zQNP#1yGXe z4;&znfqI<7y@bvQfor;fu)FisXcsI0TUg|<%qt}Zy0s4`%$PC$)0N_;5Hvydol*>l zlQ1;Sf&(h=K7Av^30JH9HhwE>|1or!pL!JWViwS#UZY%;1z(W%_Q8vHdTv=95I8;H zHViXXrf%RrRm;i&6Qcz501%WB{xyye_Pu#W1cHpqPf;Q1htQ49hC@@vu$}1ZD>L@1FS97e{ER_Axl|Z)&pKpx2Qhv7Jfc7dFTT6 z&x|5GrMo8~tbdgS%yoSE-Sd@#YnB1Y!6ITG-;4+&fr# zCF*p}8N!Jhyn)6{r{YV^Bp|c~X=@GEsyZDd_4(V9)b3^Cu2+MBq28!&eo?4_xhRiIHV-u>hI{)>eq^?XlK5Ae`S`is-sJ+-_7^m82>10C&hZPQ#oWaWqWNE^IRw)E^cDJ*WfbHUW{5L3i%%8$5S9mizrNY<`{C$5UBR1H6*Nyh zfa{y-Hpz$>5YtOI_aQ83qrePiML}-R%xS^tqoLoS8AIeaAi6sXy03xQ8{!)P5NSsa zJ5dij|QdmE`Uwk}8a-WQYp4aI`9R2mfQi4GdQrvGVyA4EGRIFnW(1 z7#$V?T}wP9HoV^;9<90g(=Y$V<@ z$@Ot-A9a^qWsN|4%~x8eMFP9FE3;F2&59chVM5VoX?FCcG`cUg2`a4+)g$hF@nJ%i z61`?lscj6hkLf1~EXKrO4-Ce168devk~d05=+GX%yE;vm&I8t`fEg(pE<2IPn3dyt z;kXsy)mV(c)mZMM{VrwixkB4IdpDK@vNjXz+|OtzNTmE6=}axkRCG&Y8f044_y8Zh z_)n*rDLPm4pI*g;9RGRnU*Q)Gj=s$5a^x^o$e?Sne3aT8y2(9;&EVz<@^8e$Q~l9W zTRdy#NQM{m8d+vQG(#z9_wb-zMuKHw_plmAZip2j6WQEgG!8}hUN*Wf6McykPH?P) z1wr}Eg65zcDrC?RHWXSo*yFxYWZUaz=qs<72c#dy3LOu z^f%cKw{f{2Gv+>TurMFlXcZndrO=IpMKP5TZT8T*sq{?0~`Ck`~!LTk=#R>sBAG?4>`HwHg zg`z*el?p?WM82jg6viYs1mYuq3e!BWx6Y@`^%Z3$wb>phla9oYwXq%_PZ}5n!5pk0ka*(z8i4Qk3<;>*GcpbZYuB`!dAmj3vd5 zD!PXjPk_U}WV6q0dD!HpKxQ-n7qs@|7nsxPhM~Woe!Hl4Jy#$ z^Ng<~R(Cj%Zsdsf_Jc=HE^H;V0eNGgD6YZZL~cFG5YA3~05SD}(|x=ctk6H*-iaS$ za$M)|(ayQ)i8rkDHNY9bkY2P`G#UcmIGD_-qE#P6oqmZPJH)Ts`=gsl-Y+|G^r1tS z{7hI4ZJg;4saaaOvCSorv->Yi&=Ij>)hbO3GsNrJ#D?cU&9Ai!$- z91XzLs&@b9zDEA+P+MwsQ6pNC-LDQfN;l&+_XW54wJ|1#uNCno6H52=SQz|G69ujC zAG?K!ZQbiTnnV&x!3Hdw3?ms&eCb7>!V}NLCiXWOw~>bjB{czI68kQj8Gzt|07!Lg zYT1`IXfP}?g>!tmKpvrdlW#{4eH~eO)*kF_^n!W&gJOG^_zs{FD76h`eDduH=^k!Z zE~Mlw*`#TNf;3*B4%dP+g`0X71nW-kUUwmfXlbbrFaGFTn@6%5%3O;x+7nR0KnA{@ zH>W4JoNVMU1KfyEZM=RF61sXJ?}*<7g`N9CDAq^F+7J#NNfF+&zT>p|`)&I6$iXfI zVaOX;(qbJ=U=Di>KA9cSr2Z~RzqVv95(n3nr&zNWg z4Fq=cMoqKd##JW6!n;IxOlv*&Bu)`<3p399Nc`^Eh{+iQ6Ok#pjb>NIxl3S6aa{oC zSrc>$6gDYi67R0DO@)c}k`PO%QxIRPq(|?MwHG0J_4{FVJYmjVUaIS^ZeOBfD>Tz< z`ZDukIdkaSfK>xU(a?FFC)zkXc!lMkfDn~SJmI8>LRqs4Iewyx9?m(zGtC>KKh?f_ zz^_L*icvoS*GvX{@7VP8&I~L=Il{G1W9pI8O7}?7aj@2t=vCMCGshg&WH6h3-B5j~ z;p+R|o*1@_xn+)oo&mu8?A}}JQb0tQ2(!nA=s-ZX_c_Uv;j4j@DGR{x@|;|DK+?wK zDyTMNy8$iC@Hy$oYr3a1uizU&)TC%KGax0J3Z!}EIT?a2p0_<1%AVL&STx zCh(TwMMG*n;@-2xI_cUN6yCLE+ygkqv}Xp8E`K3nM4JL1nOQ07mtG|Ol!P zIZPu`i#ukruS3LMJlZuo0|i;rl%m>J~W&)pLJe2fQ%E2AofbcRrI)te(Evp%oi- zS`X@9&a>=|$jT2T+$eFDDD6wc{h0PUwsIPNb_!~gkYO2!7J>{dT*R@@CqgR+kW*I( znAtrjFo&=shAm01LpEo>Tsyp%92Yfokp%c-!jJl^T%{sU#3miICj z`YU)K{vb2Zif11mHtnNkLfqn-V>uWSJDlGd1u}8G=%B_{KUV?!BP3V=O9Y#FEPJIM zTca`+pF^idN5gO*XM*PJ2F*f|qi52@z5oUBAl3c9OW03Kr$3p}4L%FoqbMG}X^IKh zIZ+bERX?gnpGVPoC@h_NrH0bwnjJr0(#l}W!3IYRFj~LGpdgd@;oF7gJ=*Q_fL9H4 zGuJEJDmP3rQQQpAeSf*nh#ShdyGT^rFZq8Ol%tnXFRt3EE018KN`2_^a^+%Z=VQU) z(fUFzLy>FfA+~?+ml<{jT*s*wt031u?kAgtp>O>tj2~Jg-l{w(P*NA17OSeh(x3?-D<|x$F(tWxN{fO-AyBah81zn#vO}Y(msX6Dyms{j1was)ba!2F3+cO=-AcXLcUd>o`3YOEw zt7RPY3>UOemJoJ^Ev#MP?}Pf2QnB?ZtU>=}6+{ViClp#w*__3HQarX2lO)qfkfaTm zQaU%H{jIDUKK39v<{>$E`)PSwIjm4}<@swa@X;@JWeXP<<46|Z2=X-LI)CB+6z1=? z7)g*30Ev@`o{feIk3@vNlaC4up$sD4m7jKaR4C7-;+npg{UOQC_Ni{L5CM#RR_hQ9 zlE8)8I3>@CnMwN%;Jqy4P0kPK;Xy|xFu6RyhGN?{|M-@$eQOajj|Skn6k2*hHFF6c z>}bYEnQTY=;AKyKm{+s)Az$GKp{Uus932+Qj2o^I z1Hm=4eo!F8uV^Sm;4(D+#pM&t*FnZ2f-oPt2`yL5PRdeRF}ouKXrVx_RVAR+@v*@} zt;2onXQg+`ZH)N)_mQS6&^D5KKQqtJ7pkEc=fX1CF+FmFV3L1 zKlmBLYoo^Upd{`Gm@~cP^94i~dmgXT80DjdOPq&%DrPXR94<8ft*_KTH^gW>zf8=M ztzm-70=HU3OB$UITf@@?EPc>@|B5mc!y(b06BwwQSpmX4U-FCaK@FviYl82QuYSCj zD0z9U@@*i1uU8h=abM1x3KP`>6V$KsMyVRZpr=w{nOe?P69P{eGzo zpo&}6nw_-NnIv*8pVX%9rroS}{lp(+ZYE%G3jpkP0@qZeK5w|sX4H9Q9r_)49hCCP zr0(SSjXO55-vKSVSEEeq*I^l1)$Crv!ZZ;{kr{asv0S)uVzeg@k9^1teFGtVr%%0 zFJ?6IXgFo-imO$_6MKy;ieZGl#S#{A8cHVRHrYEaFg)S)2JUrKTstUfOf8xYzIjLi zFSi~(I&~SHZ+wxHoZ7wrbeSCWDo~{A_io6#QflJ3+HatPRC11}RODUanj5tUY>I_> zygw>NhqkVwNZk9jiv~2rIoG)zAaL#^&W2MCIK?uE!y~f&8W3=zBgtqnZdD0eacBrw zWWT#16&%KJd{wyAeg}<@>gz1kfdeDm_IBJ#0{`YNJ5?ZN@#*F>JFfYKV^)>W${2PH zE)(OVt!Ikd(`i!n^$FN|_C}>eldxFBab=b+8G=j|M_cs$oy#!^Ke~s*SQU(AbD24x zsxA&NG)?EsZ@XGl4pF^~7X!@stuy-LQ?VPJkeM#zyC}l}Vm_O=yyvE6ka9x#{p;GW zNC~zo(0LKh@=c`sD5IY7?B|!i9?(P;xeA0zpN2uRu}qd1x7h#`oq{n43Y2Rf(yzttd#~34eK4yL2TRcGsXl`wgyqlU7 z6N^TKtxl}dG(*HgzUVw_Zz(vu7whYv-6!FHy_AvA;O{GU_5T&d0?-)Bt=uUL0`T1j zstIqd0lX^1bg%(bS`USm`W|yb=Fak`RdvqNr}t>YXp?rs5*oy%S6rp!m0rHM5g*=N|5gHr)OWn7g^8r6 zQ`zJwEZJz^>3!&wro%J835cfAHvePAkf!l)LjFmyQA9DKT;-W8=3N$FnpAW-{>oA% z!o}#xUY~jfD|YZ@o=r~9dWp5g5_W8qWRQg1M%ti^23kMQmO}_Ba8_i~`pPLwLejKk z%5zDcv|Rd3R19J363T?$FAFf8Fw2>3+wQ@dyZt$vFrzUQCyYAHIah~x)`e5vSmiE; z4v86gOdZ%Px4@)U3l2t0^g9|&FJLYUmTc|7U!JBo03p=eHc_VoFSujbf(n8X>yx|^ zwC;@`6wU$zLTC!{DV7^Q1|!k_jSjNtrV_RKQRmyLA=p-R)4xU#G+9McG+tXMiEv&{ zhxgtP3L$@7^VrY%!B9S<7EIKG6*9fqa9-|2`>XH9=iXkgOFL0YTczmYBg|Z$v+=Gp zUQ9k@%6y8+y4Jy5C)!OFs3`A`e!=fN`7w2fyWXZFgFnGqSQ;PcIJq!iUh!1-EjFSJ zZaNa(8&M14oU7HabPew2m}_b3c7df;{@#xsVObkbbV5pGBsr|MAdL=VDD4L9IOdT# zc*ixAr@2xm0*uC%O25DPD8?3g0g&xT{W5d!*n72!NwU^^^`& zXtgKj`F%`tv&IyZd#_2>C|Bo@?_FhG6>DyAzvD96?eyf=bD**GAx)yR6MLgyX-Eur z)5--+3W-IzQ=(*6MLTU+G&!&i7yH-4tCy+bb|g%rcPSl79a0rhk|2OYVw7ZEC=q0B z54KN*J0yyFqx0 z0Fna)qywcYpM&E*<93KvxjS?+H1sWLyAL#QOe@A_cyeLa1(4ei`d9ogo-i|6sk@oB z|67Zgf>+-6t^?HhMVNC06sGtf`l0_&LL5891^wUF$XDbx^0t*24m?9>&IObxraqM6 zp=w_}roOWvznshi;3(|_rl}=MGh{NTop0zegtAYBswK3fhkc`=(|sFVV3^srGyu�~wY?kd$9$@o51|VPA+9TtjD+V|(qk;lcF%XVjk3wo7!su5EYm ztOiPw7V`-^7QNxef0up0a(Nou;cUHXl~$IswCvJhPaQNp>EpusF7$Xh*Q?T0xQTSX zca*Z6X8_l!yAb#(vG$|78(UM2k4)Y`;ua1FaRrY`ulxO*0gx z=nX!HjUSL5+Gh@qXRd1C7Atrwb3H2Y>3fS;mQ?s47)$H_x;17{hKrq}B^BQOLFJ^- z>m;mq54|60A53;QIdt;i<{;6cNnzV~j`$0y{-swpp^JnxfaQ|pyBDx<9#WmyU%bQ4 z42$mhga8?%)x7Irx-)+y)3|Tj8h~v!?{o+lj@PB6k%xoXCfENL=^)0RfPkAkq zu>I@$9o2`EU_T3P9fcw;?3|x__d3yi-{S7PWei_gUP`AU4fALFW(=3Vv6epRkIm-d zg356{KealdwEwJ|bu!8R$KmXQi|*|>`lCIfq#?xgyLuf|@u7xHsO4q3UAmS;Ygwe( z-Mjtb5PV;O9?B38H{{=T$5@He|EmZ%j@XL@g0LLvtk`V;_MIy$!wAY za!%X0hkP={HK(DOCaDjO2%5@8$YSLxs4L+PZJ_BtQD$Hffyn47NZl*<3N9NA&s6qY zVlp98$9#bMUD73^{&bxU)l1+v30AfB;A{SWXgceMCcpQMZ=+;@NFyLfiF7C_oeC%* zqhTl^F{L|4gERsH(!A*|>29P2Cf(h+QQLQ)AHILVp6xm3KIgvf>w1kvdUB(CCkXj` zI0-+LKA{%r*@|~cb9+dt`yp~M!%$_F(a}2l)XPH9Khp|!@o34{sjG6pelSEPgf1tv zKW!b6ii~&)z$-A799&1|HDkb9G*`0=hAgH!2aeBH`8(^zlMj;|gM z02%(MC5*FNENPp>vL1Zax>s0iz7-nbU?pORFaI0gt(tH7R!X0Hm2ydV!*%s4Pks10 z>Bs0neQ+(gwLb@D=b+m$4rXpj1z0h@5+B`&b-KxWL9^fA(f{viJVm;^so1SbP346w z{Ie>gbjO$Nez*N%VgO=eP89`fj*&p_?prd`H76u-jy3IV%6)s@C%HG9lE*-~9Qu-1 z6CrxSpLJmyM@**7$`Y&$!wF9cs4pWyR_(X?bXSD}CQSc2yD$c}SXA{Z>stJ2kpS82 z;UYnIB>+IvwL0^O>ve4+FGq<0dYmM62LfPmLeLRPr{aImOE;7$mlrt($#kdi?68)= ziYrsk>Eb>of-qP=- z&)=lmWx?QHEs~dVA)FLwo`S8>UzdaAW9=_IKH#vcJ(DcDs*VNAZZ9KfGq0;+logNH z%qtHI6%I_TZWh&4Hbu0{4gTh&_vZ0f^Tw78m~T?Y)oy5rX8DFnZ@0TBA`NapkS}BL z*sYSdluN-N`DHd%XgbMbH@LX_E}IckhY_;*IGT0cq{R*DqGEi=z@ z#FNd+iw8!9$dnR%{O7zl=lOb&9nkMhUlr44d7!T?>BR^6r^08^3{Ay0!=A#XD`Dgh zySJFo&)!h`kf&Rhm7fEe$+IIv4z2mb+({}xT()-kP9FL1s8R;5C1cgrhg$K; z2tp57N;*q~wS_jiA_;(PW^3M&>#MW<(q4dYYcrduB)a_OGn4ECtq>ndiPbaQ>h)^s zHI1T)2{~$hZMT2aKg%8M1>IWqZfGvQBkGBT3Z=pf{|f2^ncmiqy#2@~1T_C+`V=$Q zsN~-!UUN$(+i~U@I@I;e%_z{xfN`tZtIdO{ElKnhFqe^eUM3jIz|qaYb+XcL7e!)2uq7WGpG5sNMtNm|l{@|x&zEykW@4Z&iMX&k3prAbV7K>J zbYWoxP~|&TstpctiOCf2SP|0Z`hlN=+K)~)+X7slQZfbl>Hy%zgyE8a{dEk^ z26elaWRHH8M!eIk@-(oY8Bp)km@<8ZIT?MfChFwr1oRt-o1oTd{Cn3I-6`6{&cAr* zUCfde&yxp|mt6jo;+WfQ`fIG{6v-lg`wYP*mJF~gy-SZqsrdZ|I@Q5v`q4{mfWCZU z^DLkq>@QVP_9SjOEPn;2dgTPawF z5~n@Dgf8B8bUOem$mZ79SJLZtHt>5IrOoen@npv}1eWV^l`7cew+PbB4S^T$zaYT+ zY#y%~-^`6`OfIvDV^|r%<=U}&cjljb{O_9-`lqi3uM1eC4#X6X>|QbC9GQgAli-}q z|6@1ItmeGOYV#$bhADOjL3e{Ry~9`bQPs#fAWR2fNH4wg6&fBE(H)|#5HT22Uq<+e)^_q^PpjLdR})Q$(;CM-1O5A-(Zv6?b<@>i>sQtX56c_a zUq(X|2KSUd%HSbN&D1>Q`$mXwE?%9Y#XL72FJ80Z4kfwFWD9ly+HYaTzuY6YQTCTm zIMXkTHeP4yn0o3|pfueV&2Nj`Wi}nICruTMfiK%smZD+*4p|y1nqLY_kGQTz?G+vE zrze*V_qri=m%qW8!bc8zyz>#X;RM6CT zoqZwA)t1qQfSQ$q;R9DXf29<7?&r#5pWWpqO7rhhT-llifhL?bnokk$l|niOu1$d1 zr-fUU1^~md{z%*=rD<~XvC@QtJllOl@~P=xvoR4-Ds*!f=Z54kdlotRzUT)V zJ(l;A*KLYX3F)A@3g0IH^mtPcV(J$=MsD3p6-{#HorDj}1$7i;WyU*V!$9D_)||k2 z@0bNV-O%#rgD@8W+qBq= zym4yU!tetyR?cV+ueC~b<7UjOwGL_;p|~H7uVZD%(T1%Y~6VWBAI z66rsDl||@pG97<9ZkDa4#CB?A=MTPp)obU^t8)bY_F`2Bg}v-~DdxaO&h?bUvCm}= zRpjRWZ>xJ{A^Ogd#QPVKKgO4jVw$y|jxT;|9L88r9fJaR2h=A30)Cec7+s?&I{mY? zLG7Ox;R;MDAwJV>buYvMlr|zi@SU#<5#!v~Z9JQQIG%Z+eHJUAuHmc{gXFI@tDIQU z=AtWsh^4CT3>Xft{>H_h7+2u6DOZ%fHX8pZ=%1s#T=b}DN|CzRNILBR>ha9@ljFmU z;k54|bz4G#@*@QPjjHG_Y@@XBy~!MeQpaHSs#@e!bWdCjEMxvQytOwa&L>3r{RF-6 z!+bio%gX$lG96&}TevaXBBk&^7Pu4B;#n~h-oKFp`y0pFSf4|+Q|FaTj;V2sWF{M^ z1+&bSF)<0c!JOmD>FYmAD>SUxi~}uir`iaJMF}uaHI?l^TrXxa!K9_04Mxgqqry`R z%Sn0C6g&rRn0MZyXiYnoRAQ|W8S`^j^5H(8;n4wF$3v{yl`TES1u6~;gU(#rch99N&Q|8lQ8*|Nt&Zh`)=k&I^sQ$F-1t=p9LnBd| zwdZSb?Ok~!+>G>%SDE!F)sv(GxE~z|nq9)OZod9qxwfB>6ja#`;Lr-WG3>!7$7vI4Wz{c9eEE|FiP<4;X*aSQ2(Lpp@+b{_d#UX-?EMWNrK zU|~XjKfif{SW4eaRhVFXGxGyMBpf{ZR#v|T47XKaI1s%PqmYhs%iQVV5m-$#iBrI7 zn`#qXJAdQnRcOXrl*$~VglV!ghAJL(Xv~flslchcSx2Do%nhnl518}|KojKX;Xv0v zrWg0Df3n#9mTV)8+tos8M$hEMhj+0B7t^na!gLB`t#BXP{1jTeYeBa_x=ZGJs zMQ;?>Ifux|gk|-uWoEMH<#*y#Z)vp4LfGC$^XYJ1V$TnT+Z_E|Q1*|}5DaJYd#>RN z4C$pOn(aa9>fs9iP1hG*u&l*R=~ZPi#&kCXMET)x)EXVJQbvj>{U;(uPt& zhDF>IXtb2ea#;x5`$i7cBps8B=Esu4x(XFq8SwD9COV#Y+(*P5na!LAr@^?7xqz7N zR!RS6cNWnLLlO6^IJyP%!;Ze~jxL9wQ<5G+6DSlS`aQPh*hNr~KrczSoOv}mKp%Yj zF~+N+m#LuDk#*v=d|*~nK}h+pXB}@UIS>iUR#F`URq=78y2Fx5%kddR#X(Eg>gxOn_izO@P zPo*35!q~Y0$2BgbfO0A>K-2?<34kH(xAB9j_i%q^_H4D#6yRRaqrdSW@n^q%=$_Eo z?eh^z_P6Nr?G0Up;x&XW(z%~Riv%@;$Lz`6CpVO{VSy*(#;d}el@ycf-*%-Cc2OON z9zke2@r(2e&4m&nX!AUF6A#W(Q=N^x$p^iWfabhP!_Mw|jdWhlCK9ZiXP-*MYx)Iz zPM)T6TJw+j@NV_a@u)0BMx^^A6(GX{N_M;um9vaSw8!75UeyxLUw4@u0+3TtVo^DwOaB> zX}FiOpCtS8O#9s5Ap8@F?vBca@b?B9QQU456fzm%@ zbXINT#?rXlg`YDgvQ}|n3wHKtERT5d^$e}dMsnJ6!*rwHi^Z9(j3%qp?PLS%`4N?O zzGX}mGu@Jf{^goePno=pA-wd4_a$2}1B)-;8xIo4J(mDXsbQSnb~Y2I^i<3oeqWY< za7QVq8(b@i7+yGzUR>7ZRM?RG*)`S+ImYwNctUa$r;y+Fk!8FjR1X0_vXEaA8|RLT z{FQiFxcllqyNR%WyS(~T$!|dxB}^R8OdiHi9DlRE1L$wnb(#&kadnut@N`~Va_mnO ze)D8iGu=RINn`A94vTF68Lp+Z8Ex5F?n|Yp{&X5soJPX4%FpC5erhS++JoCcMqUPV zISGWR?^l7MHSk+o>zx-UCdHji{yi;$0 z!RzD_fJL{=@LAzPRvMQHWbEAZ`~QS1{>AwEo%~b8hAA!B|7dEbdxiVfbL)4#kv^}x z#iq>}9mqMj!`<{kJ#ggQw0rSaQ26L!D+7O8t}w1-lIGkDUF>WW?t}3|Yxlugw`tCy zyR`1w$rX{BlUQOiy7DTW}lJ1beH z2e$;E$X0D)&r<>LQ0gd4$O1p`^q(YmBwyqUXybj#3YLi{^sjWFrg~!541uV8iaB*B zvM&D&7$e~LDJ}}{HvPj3iv zReWTECeS*c5O#A`^mwSm1EAJwaEL1CHg$f$MChZODbC&6)yUDE|CXpZ0d_Zkhmqv% z{>&BIKMDO^VMlqV1Ws#Ao+i1HHaY+og>=^YrF@d!Un2=?b{^w6h?Gi0^zh6i9f)_0 ziIByz@y?w~os|OJK5Ig#%e)PSb9ZCKvZ^*kXetW}!EgDHv53hO|GF@1>XG&8-d{@O zpAwIeOuLDJFUJOlkV?x|5rT>|Z=ton7y-Q7c>`Irde>8-yjr!%;ag07y~xjbI(kAh zC0xPARm*rEz29qAPj4J;8@IjejC+K%7{7SKFyy$WNh8SXpO7VHH7=<8Nxb8DLN9kZ zM>U{e!%MnlmUrT+h1B`t)e}qN-Nn4~lKR&!FJoCt^19qsWli0Kid|sMD$)(8C0AaY zhudw}&$IB~WCe!?J-3Y5+XvjP$imD|CF=yk(LXa(r)aY|qdy-#v^W6)>;gYg$wXtV zU#o4)dx77lN+m1q(x!8T<@`%^kDO*J2kLGZwBL6O$8*ZIwm&6WHu*>S1xAMMJiYai zD`S(;(j1VwB~E0b^~Pmct5i*$B{}tO;CH^vJ2O+s?nr+9Xz_gOQ~k`>D$8TRQ17~m z$b8mw&=Yl6+|X_e|1vJY6I>S;XFgW`6b&oUhXo^bhVTo=O?}zUih^F z1d(`xhv`?O %D-17kzf*+s1ptouJVo9O$Yj{eqPZkNCULF(qu2NZnf7P9R)?PHs zVm`~|a4+1joA^p3{ruQ0?RFa+!1xT7^7lT5pSE9ZT<|w>l4jpFv}E;FOo{vew_dYZ z!EjpMY~MjVS&~ukzhYl&l8Y3FJ{>AG4RcrV|8iso*0q_rA%* zh)!1OX5IAfUh{V#m(n@`CdOZS+#e%xY|Nk3E4C58@)mfBv#bD_k7eO1kU!D8l=_L^ z;ntja(=te<2~$n-1p8lKqeAufMkzlrwW>@ac}BuQy%W)wh1dAi}3 zR*LTgjqf3O)O$i?keuw3x6+A6axj(-a=VASi&Pbjtw~#yP78KbpgvLak4OSazVVt6 zhQA1c&GOyn{r;VL_pQXo_A~KP;v!BqGe8e~DXod}KBKo(S0RZ&Nw`L9qh!pDpV~*L z!l9LeII?)1y#80gr)i3T();or0iV;h3BBa$PU3&y)n3Tc?@#Hi`3HMoBIM&!!>ma( z4gMQ1CjUj~&yIG2a#0HtxIY6quy=0c9COWtvS}rC#{g>sm z*>p?*m5U4f4uzB7+Xs0AVkS+D*oVeQfMr@J9ECNFr+q6bjE0-&LYC~OLd`KWVI~Ox zRt>n}6&WEm%NeQEN@>yU9|Kx#dVq%a3~5k-JftA9yXKX&sPG)Oli?zn_TH*j`LFVm zhAL)jlJ!h_`u7l{;*y=3s0(**cUga*Na=$uf>3oB5_Kc>kyMrt-Oz*N%m^bR$W{Uw zpEJZ{U!*v{Ex#3K1U&y>X|m{J3?}%bih_+gash4`CvT<%lt7RJtmm2(sOb4G@|Q8U zoXgVd>!_;Up1MI#q>bK?v%+>-N{=< zFQ&yed07Ukop*7B7@8=fHyZJPXKGpFotoA-Ju9!nZ~!+QO5KP`n^&uyb+Q3~`Jc!_gT{7dkQ-vD# zxKQ^crQ(As?h^WvQTy_n@~3XO250I&CDEz5e?x_B?+vnc#+K$qEkZ5(wX`){6BC*T z#eb`jXY*M|*^->q=ik<6>k=-t)6fnC&wNwurX{kU$UjU4#H;Zwe4-I2)B7I2o5va4 zK>M>nXR46e*Q~3MC`!T9^iZA7;8+Kfy>7nP%Q{4p5}gbPmIcJ$Lr+!|i_C zxugqd+02!J*ZD86&{D6T%sld_bEbksriF7WY?`dqTV^;2&4}B#9hU$0DR|PN+)-@H z`pmb?rm9&Qe)Y8mn=jxWjC|zy4b|MJoW+?X4VD-vPK{1JMOnap?uc~wY`jE3|J&hBfsyvFKjO?rs2lxS9J%+~}Q6K(< z5gGC)cJCOYoU1*V6L~al@gJ^ov$d3MUjx+$J*4ivI2VwQd>_FP&ZI0g;|W7ct3-sC)$Gn`8ZnwU6XsqCtd1kiyT4*atu0l{FydTaO@exYxZuVgmG z^Gw#!eJ9nZkBC~Kd83u`Qwc>u3od{x(?#Ja!t(>s@OaaZlSeJpmODVf(u)Kss4Xwv z8VV@aJTb^}?X@`gOoJvK643Y+4u14ZC>;2ry%~ZdH+OhO zaj+J1*d{;>LSIli`?ph4STk0#LoSQsh-hN2rCibmV^@FE_L$%8_(D7KZ;=_bXG@)F zCly>qB*-T=sv`$x{S7%Dq6pFGM1)>{3I`KPWgF2`q9KFFljXm(FAeB$PnPD9Kfkf8 zvuFus`~f-~{=Le;rYBAj2Q^}cQ#h+Ol-i8&K4`CA;13n<0#9`zm|M3zC#JuuLNcUf z09mYQ?eq9$00vt3ap;n9|4R2b@>Qv;aZV*uc5=rU{ijAko23WgZ1(5Vctt8nG6e@EHZ8SM03w@uKUe|xH?LEx$x6Tb0Y1icRt6r!h9&u~@XDlx-i=QO^ z{^QerSl-<+i~smXN`Qv=kQg8guu_)9fJdyIQz2OQ=XCg^=!8I@mR< zCjF+!Dqet#Hl!xoump{ipE(iC3<91W7{hU+xcT{gW)<`ev``wCjXHLRupa)su8E2_-AwP z%dsSi=!ie-*n+Z@GH37kP~P*}f42)B6GJXKRid_*zmua+R9<)xt_Vo-B=&V?5bp>x zv$!`ek00Lgki>_n;{9bUxU)uumVxJT#vQMo-x|BH%0}aG0r$x!4l10_2+eVD!gp4t zT0ybl+BM=Ub&53=2K&XA4-H%Z1VgyGYj z_@C^5`&o0eJm^_q3))II=~#md>c3QGt>58xjr0DpGJiyu`wY48Gs2DyU+ih%#gW@) zRP8O(RuVZ_YvMfrsOae{R#* z{<`=$k7p^kQ~0qO@OdttEckD*$R_CH7%$7cz}!vE$p=z-h3;(rD&cJ_8$Ns9*-4ABwEwb zh1_c&!)}}SqEvw%GPz=0v1A)dL%OLmmAaKJ1_6HNvGR}8abRi|j*xsZ_f+mS|v)dFe6M8YYueU}Tr4XyVV)HW_B+D;b08s4qcLaBmgMpSwfcmOY zy7C_l-6o&-p1aga_lX&0vooZSKG58nan6@16NcQ6SZxy3o_bl|L!=~RPr7I4Nj_}< zeW4Za9yY^zBKTE4mreFTvYe$6f9pdC{?2}+q#JoQJ#86o5fz=(`|G%z;$*Lk4+3Rs za$WroAyle1MK(!))Os@k*;&6#H*aQr^}D6gSb)kpUul~B`Phj%dG+n_e5@m1v9=4) zKmQZ&C)Y68D*K($KZlf}@f2xi164YWJML0pVXZzhu52JZ3Z?P%Y&SEOeEa5`?Fqmn z4E6-AxUB>~)br>3&U6BHd+%QWbjB@nFN3 zFJ@DG3$N*JMS*|08Y1=M=e6i;wRJub=!_v&OnVZxf|I4N>|`>qzOz_C33%S_IalCp z-Hnk7m*I!!Uf6*cJgv> zJcF_x%dIA{n~=qRPeaWwZcAJ>k)LU~k_0(+Q}li`>cDYv)R2UE==kqaB^r#yJurp>#Og6HR%eD=P@{D ze9cUyIoPcBiv>D~A%lu!U1q!|e->_8fCr#|{w0iN4ymi+Ae*Xab6SNH}71%HhHWQ{iwJpTx&BWKZ8=f?ds z*a~odrxL;t4>}F}Osp5u@nc9V)jr6%zRVcK?W|u*_>y6m=+qDOqStxZsD3PQWaxeT za3;;_6r|~mOU`pH%5;tSFF!Tq|EWCa?!*^?R`)96uTE64z*TDO#P*TxSblpYGxbfC_#N7?I@!GU2#SmQ1V$ zUZ6O~=cI*euI(qkWiN-O`~naLHdoPx7LmAlYf9sZ^1C(WIpke!{i+s;#44jnyF(sjZ4BXWzAs=I46an2A7#u!>`9v_u`|yiHYPV&pA93D@+Gh9-#iX5TFAo zK>RU8(`bWc-o_||aqdcU{7FI{y}e{?%8kSa!N*#bmK)-^AA91)b66Ozm{M++Ceh+l zAO})yOCWA|aQDYxzilse7`}@GMNWpaEGd^P>Y;y@0g5Fy!yp&zCDqe4_Gg zM4|Pcpu7mpQ~FVfWTkvn*O*!-=w|!O_xQQiNJ{MxyPC{(Wa~{#yxH(YhiK3-+Vots z-_mrm&FF$pp>CP=v*=Yi=4A0=*7>`7Ts?Z*nfuPjC6iN&&*fEKEEpc<%D1%$11r|! zxAwy`vqYqgDy^=Kgfk!p7_Bew3Q~CRTOI>>$fC}yrAsq${(2UX&6)w71s$AadK}Kr zB_`(cyi=&xNkWNc#-+afQQy$1HrMQ@TiKqe^c7Ku zVf}NOG#anrk{mjvMVw**h-}qWsSf+w(&HsO<`iROmcrvL?GFy z=!znf0L0LBNtB(Xn@0ZW2Tnlqb*_F}^F!VSe^ey8XnpTKqQL_whGb=Z z{{5S`<=p{)yxF|MVWZenXk0E1Iso^kz2HvB!iEyoS1$+whJRn07%dO_kwG71_P#r7HPB(Ll0Lx* z{dJ>kHpR$Bi)a+PAQ5qMncs#ZP1K37sQ@ugB3k?F;e+f`E3zD2@K0*+a4>a;%BAn# zHlixnT`y8nU6Si*(PBP&dC%7W)vaO)jn3ltPPA|GEsg9`?|APG*D@d4jHDu-|C<>)S6n@BNrh#_8#Froj||GI)vUhJg({MDc56E59Gy{Wh*jueqbV%&k; zK#30Dpy+>B(DtOK&oiCNlR&Rvzw-g7f>IO}J}NpKdCnPO^9@qkfZP)yJY+&~90DRT z{#lQm^WsSz*IaQ@S_sqY;5msepOZ%}ijB#l8@z3w30&5^G!SUsQMs1vP83o$XZaM+s`q`+$!Cp&|k}pQasG-A5gia}Vp^*I=9{FirgF zA6?NQ#X-gvl<0P5>zO7~r;71n?#Hx->1i?f!!y{`qMEG=_X5Ck`uaw7PRt=+^L4Vf zaQ_PG`jO)9RCu%`RZh2qi6>D`Dv-11F8o+&T8D7cJR^%O`@;-<%Bz|?S?q638ji$5SQd$D1|LeXOT;B; zdT5M(G-8atgg#)vd-nO^vqg0{x}jJ^ZCoW$iCsB2+)T8RBx%vAPE$0TzftEKT5`K3tXiLa;I( zZBNN(&H2axoWTX)W$c6T+!y`Gvhvx@ET-;&8X@H^4{i)%G{Te8XRVu%tRbUJIN$Ih zghg73n`hCn-RhALkSdT?fksm?a2*EEaUHoVu_C6y->iqhn<)c)gsd!Bbj|OWgMMXE zKLPc3XGJFR$;N)8UM8)dW&s&+U;9KY-)+1%W=TkDsWt)wV&@xQO4veOU$gvC%ldn8 zs;j69|DTY!J5V;q5T%9s!4UZt^;cEzAY;J#;S0hP&oXgK zz*SmBe6ZqfZdJ>43oRkD7HqL2zt^b1%Q5z^8Zst5*_rVH`Dt3)?$UdAlUA= z=MSbeI&aFJ5nM?r;#60fZ^w@qX`JdRw3Ycbe9fcoB*ik#t)I0k0X-D??(O4S^skI} zeq=KJadr;*E`tsf+3=wU%l=V~zNYl$!(xF3$eM(RI(Eb5(5)#yGp!KbaDJ z$5%u|T+Uygc`2;U+S(^}y!%Txa`ivKw`Mw#PC1%T)bK>%rFs_d|a9uyouc7<3AtC~yC#nfG zGF;Q{7QW+I^1;U8VXl0|s^zk=%vQKHO)9ZSm5jY*dC-Xd9@!)>DqG>|!h=31f+ zpYoP*$1WaFOGi8pX?5C`D>QX^uUPCO0YRx8pBF=_4^PO}DwD|KrDAYz z)7Ls!on1@im3ObQ1>VT(^|{wdTZFfeN2zM8)mMC2#ZKwcY|=B2mdvasi5-)OSlj#Bez+b^ zy5S#Q%jaGrZLBOJ%9~SB?lr?w1^-*C-4S8{(ZQw2fnAYkn2RoN*tH%qkquo5R>w%I zK|m~P*~$1j)FBwwP{FA(J-|T|rY6tpgPq{w>7`$j&_~tI1u~O2dR4CrR6}@JC+fGW zF93^2Sh>%Ojm2Fi44D`^Kc+0TebX>_u#*YWlklm#j*V*Fc0|v*&cfozUgYsGwq^0+ zK2SxIteNCTTB|XAWcGm z5^Z~fLUN6SjWz7jHJ{TN+{`(SS+(?S$*Y>uXB;3M<)86-Uk$c>vH0qn*-&9NGdBzORK~rl2V;F3~Bl)vfcatIq~dAA<0vxPLu=ALB?{?-NdQq zP4mA0`+*m8+16qi;2mVJQAwGeD*Ps}e@OH23~T2}m100vR|mIf*V{LlEdLgBODjj4 zFI3Z=xWnl`KoX{DoY!0jE1qV>;(EKGXU8*ZF7r-kLjcpadh2^s680u8BV(ys6!ACu zxSX|vc^gJ!M&o-I&P!{Pp4W?sEN9_@Rvh3n8+Iv^jnqI)cxF#_AidM_Z5#T2u}Q*e ztlZ6?6T9p&}d2O!)kgV$*Ae(g5Lk&JW z|3yl-|3=01%__)ur+pW#xT(7HscH=F#ULpuIN+33vrhVj2@6-aau7}ZVU_qswmf-$ zk0SIlo^7Yhv%$n5 zomXCZ!H4LUt7VpMB?ay_%kGeiQ1cJ8ooc9N(Ejm;La^6zQMlkeO*yx3beLr>NR#eE z2G{GvGaAFtFnWTRwnZAOmczuNBufRbDu$5&!Tt@e8|M^fBMZpHooRQ?PheOAU??%R zl~`l?Mh!{#kZO8o!CJ~rnn<(yYBf-r{GKfSSlIJ6^{SE?-h?Zgc{i^uZ%V1K?5-&2 zrngxPICb^vFhRj|H6iAm2gDXSk4@&XN?xt@oZb)$$c}x-Gz6=w#HRDt zPV(iAgmG!jG)cRNyv92Xn{b9{G_me$bXk#G&<7MOa*e(Y_Q)fLoG}0`O(o69b+yQm@sF!+GZVb%sg;+-quE9Rr%v|o&34gIo-1u03&`2F6p$}bk_ zu@OeMMvyGYIi9aXni0BT_r)DQ@lvE0N{|Y%G?^Uo#t&MI>oms4;7R&GH~Tyt$W9Z zSx=v5aXoom*xw03cI%pe*wvL458HIHd)k8@f@&d`4Yg&vU&4E;LtS2FwX zw7=Uw`V9L*itZjAf9$!9 zd=3V_j1TT!F%MNWi|iMMpU^g!7DKGl=mnt0F!^4P9y`_oJ8)n`haqW(jCKfol_}Fr zD-9Dm%AV^IN$r%b+H!SKH1^%8IQI}hg(?$t2y(m*CGw}ELN^e5*E3<)fwaZ2 zEYVlHGq|6VZ4k3z?%a#Z;GBa4pl|acg;xNgL=4}vWB2|QnXlbJi)0>uCM5}f@!^Qy zdkSrLfdPABDRKTTb6gdf6@t3sQKOI|a{acH$03-+IQxfD1%MWD$7!`#%?6C@sMH57 z+Uz|N$2H!zVK!U2Mr>YLN@s42(TZ>Q$}~7;G@yiiA>&wz%mD3mzMrfqwf2&AozuJL zt+MJY(>y?`uN6S6iV@*XlfmZyZPtQ&V4L0==qOYn%_@D1-f9?FRfUIEM){nI3vn>X z-2DRI6{T0~>{<2nfS`pPPFIN7myDGc;TE4sBAn``h--E8;dadEU->kOJd$)BOv@E0(&Qa`?Qdj*pL=w>n>iwN}VZWAV=1 zaq*OSUN~BBX=zW$Zd=^25Cu1!EfTS(eS}y}p8W&@9A1)COukD0pJ7F2d)+J@=zjTj z@m0St?(2$?%dT*?P2GSWk#!9?C(me*?T;{TS6eKT@`p#?l{+_lb&;M)Zn)Af_eXkA z&Eg#Udu?8%3FeMBx$iOj-GfhFXcvbY&|By*LJR=6ZKCT`M^P{cxN}FrWI$y%!mo}c zz!;^SGVT~_`vAb++i7=`FVaNb(!7-{4E3${d?t!VgXRTkK~y?nt=_|NVK~>o<7ewl zhI(@;+7<&Vc~lKqd7oYu%Jw|T$1S75GRV-GUs5$o6u*F)**AB%2n{A#d@HT};Zhyi ziJ&U_T?@@pMaB0noC{m!bQsOHmp zb{k4k3;WP4+5$4rgA|PS*ca{%kPJPkxGnQJPArxF$grGH$aFOvp7^s{BAdE8OM7p} zyi!m=2PEcvQfhhfIdHey`;o?$c$U5GX}#YjQJg%$@d%7ddlq9c?7?R60D0{~>TahH4n~L)`5;mwPD%F1Fc$Is?T|M~dgX>ns7Xdc?#1ij zimA5VQu30(y9H@}RgTPgncu%-v1`Le(b1FF^uV=Tc$V~X81$E@l1$?`O6e#siLWvA zeSb)L;pthkvJNdjmaH*V3uxJxt zM$xgMlRO>v3OOGY&KsUow}o3lO<`2MJ=&K9;8?fT=AgogK8FS%7n008qusO@{~amI zaI49Ra>s6P|BzPebJlH>-oe%cL70c@my?~dJNd8?wG@Nk+kZWwFq1;2=x~ky=5V1F zZ^Z>v2WOv{m1>bu0XP^Xo(j^F&7n-#y0K4z6HQYLTD72Pu;9G62i(gVE1h#EEQB}XeL>b4Qx4O$+mJM&-bq_jV_UF*OdZ#uP~p|y@Ko6!GHvFP)<^STKGwl>Y; znH)kD2Mx;YZZMq_I^IbPz7A7bIBtKsYYAqnCQlo7&8aVPFVEa52-Sf49IdVYxz*)zM|7`sKL;A#Vu>R|+s)c0# zM8ZcJQ;7a1wXgUW*Pq^u0@!tw#krcekuCVX`DAYrrO@9n8vpEyB_^C&`Mc9;-oWH3 ztt%mhRx7Fbf6WZ=hT36xNcFK8 zsL)h8Cc>3YA-q+(r3cL8RgI^ng4?0HVqFe-UrE%{d&Us2W2Gr3B_VSEsdUWl=W|~U zZl{Hg=T5go!G|t5MKDsgws~HgH=Jf`Oh*tM#UyG?4(>zGnX~VxybM+33GziKBZ~@T1_xGAl%6pRG zDdcQqL*wH{HWrjn0}tgtyXV+>IO4sVF+Gb$r;%LOGfwMqS}!Z9g;3<+ipD^3TUM5p zaBwyk)wYC%@c+*$K;;GB;A=|0SE^5@WKICShVCg!`a9j&bitP!sJDngQxe`VI* z^+4L}Mg^3wbtTm$ zr&eG0?TI7owV0V})=X+ghb=(|3$J|wgcRjVvt~M4e?NHp6&f0(C2S@KBfp;>#)RJw z$k{0*m--iBBfE)2V*6Awh3}$UqF8@AsTBkIv82+AuOrN^%^xu=D(e$F1QS@H;eDU) zZ^Vr-f`^UV-9AqArG#=NL@`eiK!6`TuEGeYzt21G=DNooZCunOR(;yct5(``;o&^6 zIe}>qLg^O1jI%0#*#?FaL6Oqd?Y@ayWR|`b3Q{zwpsHl=tI2SA%VAu1wQnU8ku;%> zeQ*^G%moiTxidD=Std*M1j2k3D99g-*w);M2vbXRQ5Tgy$)Tgzcl~=cQmBs~?@ ztk%dbK%?a|MRfbpCKfMpacXCSdlQ`Q#miF4zu{1JCEbqql$jr#q4cnI66DO!Mv)(< z#J60;hy~oFhGfmuj@z!bswV`!aLr9QvA5KzK$jvqpZ{CuIp3YMiXtJbd+jk4*=gTx>^{rJ#Q zdgV(j`NaTB&sG4i-Mrj8mSTph|0@Bls?yFqF!=v7$96Mirahu$4bSh;utqDUfT(Pm z^1`B@t?s#-6Z;NY%&9#62M4?*-yEa-mg^*hl!tS?n2b>^fhUN)xb3&sMyxFPUkozx z>`g1WS73PeiZtJ6V)7w;j9a_Prl>Ym;6HmsQRrN59TubZa|XV1!|wIjsa9P1Js-Tf zC2hRYQ#)K9u%CSOq|@jfJhkd-T(>lf~2d;s7%^*&)6uQ^=(lf4g=gNTLeU-A>Xf6ILrP0Zi0u z1f29iJuaP*v>toKKh=Nsidp3okL3Qq1<_O%$ikua# zjt)bkxs%kpWj_-Si$|fe?MC-2-#qF&B3DHLf12Bw2zPQ&46{4A1B?GjjsM!wPFjZM z0VHvEzP?QI#g1`2xK=p(RYUwglom))Exx(@UcuGoOr-RAoq=Kp)@daFWs@*H`$Q_+ zCyqb-Af`wZp`gL|$Ve<$l+MhH$+WOSgQKE~Su63&X7vsyk?T)~qxsa8 z%nIRr7tR;~x5#q@!bz~#TUiQyjB-T%kaR|iDZeDB{Sr7ffzL_!**7ePQl0g-N` zOOOs>7Zg;KQYncAk(QLsMI@zLY8MffUV4dT_jljV`~JTB_uYGE&YU@C=9y>Cvxx8` z$%1D0cX;RThm-|zG~N7i8R#U>W<KIyM25gJn^OE_huO>p)Eg~|8X(;;8Vwe0eP!?{>0^Qp{29Hl zQG;aD=EonzP-z)e&MTv9i~A5!Z6D3&sG{R~5r`jnD&o=W7j3^C0Tq<|CRqDuLSX)BLVvARaZu7EqvTQgUB3j$QE??)#6Eacfl=||j%K@x;bMY>kx9UI)78=+ z(EjUgPEs6O`H7y;k7c3wm>auyyzXBA>fjyAI?G-)q@ z=riI&y_(k)w!bRqs{|aExz%{Qq=qeO7%w6uJ;!&>yJVY0BikjdaLAE2VPrm5prp$c zuUi8=D-`ORkr~Ansvz_Np3R=Fe=Y>E7Xy#iRpL%;E^b=Q>bg|BC0-SDkQW`50pBr4 zrD$A_=<0H@&0~RX*&b62w{Lp$Zo<<=u}|M$gu^oPcb)q088H_bUm3xSe&R)EGb}D^ zhv<#p&>yuVJW)Rvl~35XRMSEpYUG<|!o)wN!yG|l1VKB5?~phw>GMi_C!5%$JY4$C zba;-#f)#UbpHSq1#h>4Y`HttH_f4vm-TOaJF^u3>{oY5nH%SH2C6wxg05%5;vSeuM zbD1^-N3E%bqxm{!OWNY6Dr0Dpz)tyT?<2026F;%~`xfTG9U>PB*qr?Pb=M)~mh^Pk zy^HVek&oTbqAD{UPwy?Na6Jq;5G6edY>-eU+qDrAj4Do16UECulBmY7*9tKFy;LL$ zSC7Ac(yZA*XLN_5mW)>fF1ZDjxIySQAwSbZgC>jl*i*L+F-YYcKPQmwG8{f9cqTfs z#J$m|!o~s;@mbB3NQZr$v4evYUnD!>jmu>YOBQKG?^SBzR*1EwRnK*@D@%2nV;RDN z%9HP+hTXy;5vJ6lbms~TcBtH{(7_G#1*X=HweodUM2_ud%dpNY=L8j4_xEyc?Pw7> z`TO)He_IzZ4U>99k9Bi`DHYVb{6cIg<*)X0U;?DHqY)VnCabv3RpRPbI}Q?j6R3&t zEMCVd&hYR=-r-c5LFwA!l_YVcg!qWXvxPE@40~dddfs&v>bzbNWDozBs%*811l|(y zoEsqKimx#KGELvkb=DjJecvtH{nK*@Yr8hyU<)Xxk{G0^|26bnVqWl@kjU9~mm zPIYD$7Wa7g`I>ytU&wBOI7svF6@6|D)bw+80w~Evvk*NTaaK~`5?{x#f!D>ZP-!R@`1sy?BK20R~C&wk%2ctZxBt% zbCM}$W@{!KzU)0=Jl<+5qI-SZrMWRxZ8`EgxcZ>zJ_E+=S2UuLphBiL1Q!l#zJ82| zW@6iT1e{s<31pQ_k5F}f6GzJKEZn>3#buQUC0?}Fa)~~oN+ZPtxONC`3+*y497V*u zx&+3r7i9CA<>)^_AE>R3x731@+4BNBn;x7{Ja@#*;l03OuocmMKxSh8Gvn;>Gmylm zTjMUgBBx6yP9EWPq1-=+=%2=2Z~rzFnu5R%D=nkm9o1N!oJZY1A?@_|RxvK4aa4Ct zsN?tSlwLB+gHgnRgHf&@s2>_*_$e_YE`lEVYqOMI&3@C>oN~edD^Z7+)tltKESWX( zyDMRhrE3u&pV|2lNG>Qsy?jsYN8h8+A%nNhkBdlr;&_S;le1-?*<6`u{_-QsZ$*|* z=irx?2-KFiiv5KRy#K>?8m_*y)o%k{9u$rxJcWkob#-q2-nrHN!D6&l(a7|b zXaIlb+<8s&$rLrN+>tzV_4>qHLJHNcf+p;XRXB%t-?**F3zc(+l>^tf$i}WnsU@yS z7S~BObYme)(+ITt_&8=*jsGM>PyEYkfVtc-Z{;8H1a0nF?rg~cOu#P$O_oKe2#N5e z^n>z`7Un+%nZ>9hj_Y6g_4w$a@J^DV@ z%vv90UyhG6X^W7vT3>M4#TDzCn{RR+AU3N_1-K2#ECR^qrHiN=b{MSQ*-DtqPLVL- zUxflSp1XW8xD^Nz+(1Qp@y#*cdZQ4*cXRLgm^;i@C8EoRZ@Ozxi(kyO-uga2HN=r$ zjR6w8W!tASf4xv1FwaY_6$YLOHE+)7PB`)1gKa0!5;E)(~u@k6fEBe z4^n36^T`@*M#ptc@KqK_086N81wav0H;yznV*<;Jt5SQ%!LsdI_DYX>bWDDq#09<> zY5p^K<%^!9KRp~~nm`A}u;JooT@PeUHc&#L_)*ucCd(-4uz?QG%R$Q`ky}iQ_@i*n;a^+bf9Yfc0bi-oT(kHp(d;FDr?Xs({W{CvmKMaEE8_)L(9y7wEH@r4`(;))V0tasETbgR|LH(jtdvy2=UCARQ1EF4pZ&Jn~LG z??ufuUP(V!4vSAPhV&X9S?~ZsAePv7>-Ko^hab;!aWCy(X`eR7&;We3_A_xZ)K@Yc z=BLqQ4yuFmiO~t3UJ+BDi{hXGQZ5CRm7*t^Id5y-7W;eqb(YM8j*wy3 zk5;60xkG;Ze%X!p13yTz^WW3n0WZ6G%@}A!!s9tRPZy^q&o$# zh*C>Db+=w!`uT%MA99UXJex6O&gO|Jw=_4nr*(;8dI1U*xd==W7aYJiB}!LvF}^U2 zksZ8$8wS#|C5Kqw#BW?dJ6Puke+@arGIbFxso}y9y->q_TV1L*l{DUJj_V!|!=EWy zr_>|jZjo0e?_h9z2Vft_t!>)~wp&$}gt9Y|$H^U{6C9--cYDGW4gw?MnM_Q^53tF7O&^fpjxWQnJw>r5V zWjk^^;`rJw9g+=ma?0Vmq#uHlH=rkElFAN(?6Y4RppJ z8l98d56PDmplgMohJ(Eu`koVBe;KaWn8n_+%%Vs`w1^KSz`>d)vrwjbSPISCVo`vJ zV19{P1h_8wA(a;&IZui{J$tOQAR3T>!M)Mlb`}V-zMJ8<)1F_+-r#bR_s`IS(O=zE zPe0^Tp)o)bH?L}bFXU%1;MTjV+DMPG- z&n&vH8v9uDme&sV1Ofk4T!EZ`7xgK2Nn5!OZ1x^sf}=WHA-_)^%6Fo;r19#}m?2J= za^jXk+=a)ys^4!WYHtYcZEqMRTXj%sEd150WpL>gdQFPg-nqq-rme!~LLwmavY{v_ zeZ=4+pvLl}hgsy3Fut~lU7E@wT774fib&Kd1n|*%kdwDIIkjWM^8zf!Wd8L;7qALV zAe8cLszt!C$Zl&2zL0u6??r@2pzW=i%Z&@+7uo?@%D>d2iMPA+`||t*xj!=HNQfc6Dduep>o_oQS>ew92>Bb(Ubw!^X4W63;Ll)jwAQ)i? zf~r1I=9TYjo264BObMBj8|+Erx!(Resaw?1jlG|MEYv-tB*W--XR2GzM-sM7&gjB> zlm2SRk`%OI!a#)=1lOw@U`GGOc$?1l-KEB^;oOw=kC7H3KifxX!Z}$;awxg^${~%E zImQ-;(yhSgks&1fQ5`-;JPuG=1ce&W0#-b&AoT6g1H*Ioy49_ZMM78jdT zSacczGVv;fTp*-M^d#ZFoNBgm61{T=Eaoow3UlYpFTAq={9#IHSzyOQyFy zulw>$9j4VxlNFfZr)$!Vu?z+fkouUGN(M%NI%1!P;354?!arYY4_`bV9+9Bn_9FTR zd$2Pkx(a)R?~X$E=67S>69(`orA~ac4LM9)JNkyzr&o&xsKe+$2vPIWdvYh==$)PjeZmDyJKWP?{3Jwc(!M`6TJC?OHW2=)c4Tyvnu3+qpZ_Jr%~F z?w1_$lujWu#-Owg@Z0>pM*|N15_m6Ps8_q=x#g}XsjY*%qY>D%pj~{xYcWS?q0~sp z6++bWFpI$p)2EM*RlW>5>72koOp#H+Pyk;1;xOVC&u(g~Db>!8F^O938g#AF7iA(; zf}h+YR)oB|d^2J9k|S1W#uAL>?83YrA8kk(;g4etx-DR3lb_8wf1{wJ__*||=zhI- z#kN1%E4@d;;pbf+@e2y#j}g?k`&u3mY`w~K#4vEu7%+pv^QzWqP3Xvm73?P(B@O<+ zK}lzYZ?3~lj-=xjHp4(UNNQ7(OW60P%*vScc4SXQkT8T46zh?fag2J)DkU50LI;xC z5B?;tK#y2r2gY!5=+hwrM<=$GRkJUfeF9{m=pXLIDI`jVzpyJM|g6XNV7%CtGdnkx6LSl&pbs`@Sz zN#-Sh6MqI_mwFE@5N>?U69b z#CvxCt2qT28K|q!gj@D)9yBnq`D>S}K9^eBF4g+{*qr|)uaXd}T|0Eq=*2xJZNVs} zFu#HNJu3tb2B=4hAh&3$&*LEAf_#|(e_WysRh$JUmE?8M}zVKxa)8Fl{M+z~e%!+1LwVkf~ z0BJe@eu=c{z#K|sx9-gRHMmETbrpSdbhIZO%DbTw^K&BX(5oHhaDR64k4^KB56YJT z(Az+@)E_+>eXtEk1DTJ&GW+(kuwmx9!l{FggUb%I(L@)C?ZV1i9r~bi{PS$WtM8}9 zzzC@iIeOFCig%S_7f;n0IA70vKsmn;tHwat-d!jBvoQFlSMv8-ZyWvdUOF^elU!5k zS|d>CJG6YQNv_#bJ3PkbM7yi01v2d7Q1yQun9~r6#$Iaeg2gRvfHkbzPA$IzyLh3~ zW=?$xJvK*45qKfTa(4o3*52G&*ssOxzIx`d*?s*)X zu!n0wK!jb*>Xi$sBxDH0um5S;%#9+z(d3K~l-3X^cmPk@6})1g0%jP5#32w|#f?V3 zf`abxkBDsD>o;E#h+RYWVn5K0_?0byC>yXn^MhF{WrvQBVb`7@Tlk~HNa&%6Skh@S_`y+ zIF0zI3&rJGO&_=I1}OPI9v-c}B)i)m5o#2p8Vywegtv%lh1Xwb4m0E=MlfXGLGV{%if}(~^+{xs%Z-sOa$lWoYj3D%5e?yOU%Z`*Y%MD4#rh(E%yd zLCHe#U+XI(uO0e76ar8qmTN{p%_poJ@;$^$(LY92;PEdqgx!5=#E%Y^MLUy&z#LUa^=~I;RCAH3Lv)Ul|ufImtZo;B`U*Nw72SDAa z`N8s|Q%g>`c;Cr=26zk*;hi0Ztn@>7fP3Koy$sZDGx)N=&Y)(5cFFi*t8#qAJ%mrm-uCc1^o!J+vE>`;!g!pj658hA)B6b)gd1}I*}^YpEA+-$V|9l+ z?4QbYVxxs;9KX(Akjc~&uVj@XvPiH1NI0Yoe%BVp9Y$LDX!jpg%6}T*_(n89?%ci% zW^#BQ+cp8}z{yTS{f^qTc|Z-})syf1mBK)MhMzFt$#3+pH&e6Si%RE&OTXX56C=UJ z)3sI-7D#umkRh3r5WJB6Q)a#fB|qIf-4f)L;)E1AZG(| z`T&F#geenlG5jm^46N3lPd|#XDzNoR!)euxFh`%|d+fc0fYm8*sT$#I+|4o3) zi|hKY3-BSiTo&gRo3J_K(y!H(EV1t>mBGrwGJ_8B}061|)X$Z$kUR zgEIE+C<>q{92nr&2=ucTAa(wKVVAT25UMFSA@sL)OI!n3T*J_6lp-AF*nv=>2pIVj z1o|Kj_4XCz|L$Gf5W-T!lLdYX+7&}t0xdBUsq`m_8^#1B};Gr}z` zVpLl*SLxY>y7wuO98~&agtO6>5ntBqTmCyK=qVrPLpjnnK@#~7L|H^1#5LeNjOGh9 ztbZ1F+*U&%Y6;?rKP1RNaMrH$qV``8WarE*>Ty^lfO#X{o&u>I3MktWS;F<&tBK%J zk14bZoZM9Z8uT?eBcUg7hZ7E#v;rPpoQsm9AH;(f>)R#2(Sa`mc|HH+#ihFo1ktJS zr$lM8U5?IA?Oq~4((W{PsSP?}NrdI;pD%-q{C_i%kC_hxT#op5pSVDZzJP#mHqfmD znB#3Ap!p90JaIeA!*ot(>eahM8mb3F3I{_(Vze~o16yR`ZbYTWVNr{voSmhVf7zsN zwPc;BZmV}~skehaWlrP{;1B+kxr}r#3P3Pg%^8TW^&Vb^wX_dkRZE6c?gcTy&xzI~ zJ{0IwxnGnwuLc4OkTviZY*X3cOorXgmoq*4^*D(V*E+*M*H(YWLKFXN?_lafd-=Jk z*Q2FE7~;^;xAaTKjE( zodgNys09Iv;4hou{-IwM;w3#`dC^egy+XD{BXp24NVUqI4y^`I^N4b=Hvzsf%|m<>G)(v$DgPf)U{^ zfM-MFg!mkuFtsB9FwVvQUkh&GHfhy_FKVTLhs4quRSLN==N%=|-A5XKiG>se?WPwV zPQZS+5;bVdyu7^S(;Q*Qi;?~{Vs6zGF+XOKVB?+%*$p#3$7!-|4FC;2#Nnf35ejMG zFYqv2tB3VJW2*Mj0?`p$KqX^kKd{@%`A%lwHa!vwwyu=<2@5=)>c7{!@uZ%t_%+Tj zbVVpHx|yvfkRkm6&e&o(mG8vH`HC!np?%e&S(C^?_un7Zxw}GqJGj_z^)tB2lLWf< z)YFCfJ-gM}gg62NT^VfQ1bX?uwpjRNwX^Qv^p}S_x*|SY5Y5b1?;M?# z{l*@vDgs8Q=jC@CdqIc8nh~KC=*a(uZ2YbwAor*I!gQ7ZdO_)hIk^u)0ATZ(+OLphCKl5I zrj%POaP6G`K0#x()f0mfy6|Fw2eGEomK?YDM6tm6FT$ssFTf=kV^EF@zzP4)n>o@> z5xVD}XX@ifcTF7j?XFUBy&C|0+)x#>w@J}b>d%yR-v0OKZO|8309Hb=7~F(yiANp? z1YGfj>~IlQBk=Y#H}K%zT_ca${D?3LboLrO^5XFV*}2V?(!AxyJOTOdUOcRAfjU=q zRCT+vqwM!^&SwbUcDWss)3Az;D|YR~QWXyUO=Ue6qP_(cq2U^`o7hb80ll3aU!k!8 znTbhRJ>r?_*jZaMv+wVnLuU0vbQx91EIndAH>V|*F+LXSyVBeEnjWBnnVfxJs$Xp9 zfYZd8p3PBO(Cp8<*)Ml%7{%j0 zBiwOx!IPigpkcdJyR-RXB9>0tEdd}d3oFHkBylMLHd`3=m*`>DHxW-^{ ziuE&60H)4}MR)h7!-?ku!2M;v-rF2-Zwr>QVb&Y?y{FJ2!0ZHL@=Fn?PXZc&?g4yV zt37Yor)cbgv)lvYbGz9Wke?5W$WP8~8MDK4I91cy3EH`J3&ue?;8r`hJd+rrE$bN3 zYI~Rk9-a!A8SW9pSb!k%hV2R$fd17EP&3MV{>X_E3?Q7Z`%l^@(k7pEn#85DvhBUU z=UpQu7NO4yoBmuIaY3^stx9IJLsg)#0;7|~)m-^&eeTaF9&p4$~)w?XjUuO_zp z0-2B;G57=c>j5CqzwtKd?gNJi3Z{#7dSvz}2YkUGWcC#IKZ||`CTcK-bv8W&(z*hHmq|HIh z+=spDIGkjBIfuo=eb?6H86{#LMWNW}TDQ2^9GEDPxGnQ7gqstsrO4z12R@@(7EV%C zZN|qRbYKsUo?sCI$>AOsx-a*J#NJs>f|=m2_dDoFmCL{iV6-(~^6ZYl(DPe0?um|E zg)Va(k)RtO`Q`ejR)5HH-Ru^r&3}rW!fuAm=|$^OV`UGs>nVP(`PEQ6i}3e|(4}8a zy=R8O5gjjoAC`LkU3jYo?Nf$&3cYzIIfw|%SynUCp|Fds&8SeJkh(Y#j-ex#9m7Zi z{FPm1kok#&VO~@C?*yXFGOZe;nU#k`jvJmM{d4qC(Zm^v%dEffj8yPii0~%9!U129 zd=2df_UN~9Rar}jZQ?pCdg=JBp~>|4ge>--a?51 zVD_VRVRZqlFvOzV=xxIc-I-7n3w)|!v_P(n5B6cqDnrhGL}hD$kkv(~k_G}l%+R|f zap_#lKDKKjCb9rir`ty6%cxk`_4D6dkhORur1CGV8sWlhMoTTUOwuEbUM+|O^hHV~ zK<-%}KrmyVnW?!^`3`=jbvQ@%JA!l4*5oGJ$ZV^F$_ zofrZt$r7pGom*|B3INwG9`5JOB&1&ClNzuP<4K=Bqg0#S*&a-XxIPD-$;uH_NJmDi zxD0x`1pp<0Sig9O3$5-D0gtPzStko7V$N!Bq&2?15D(_kK9VDtTCkKz(}hCt?;RW= zV~|SHzeNZZcnWDEKSsj|NPB$B_L2o&LWahrk5eeq3@iZ;S@8K^UzCWd?F09V*1^=? z6EPwT!IvkK?q+nWY%%Snu>g$cH}d*qffk~VvFql#7k{?bW*B8u zCqs`LzunGy&HzoNSL4O7D3S3WBwZlFH`-;sJ;GK;%4FA{m@{;Ins31H2TFk9*SuPX zC~bLa<`|lNE>>)?KFp8Qw@@(Lp{<;+kd_D`DAK=g3;@>1j5d9Tmo9zX!^N#W=*=#9 z5|eUc!GwB^DNwryo|2?Hdi#S9lYkuPoiMwkf;$hwOhpL&|)SKas?Vn2wr?cjFjTCdiow0cUa|9Xe>S-;RG(NhM-kB z;1drjFI^^wFS@qtz_RPT8emU}CbdnriV%M5Gg#Omlr$v~QuH3CNYOI{NYJe-S~}sy zYnpN_9gz-_FO?Ma=-l9~P^XhVN0=v*UPJ+Q@-Np&(KukqrN;W681#axpbM)+`Sse* z+o>9XDZILX6=w*F1t`9Kbgt3t1X!usQ{?Dg48a?l0gEJP7F;11_-860C!iiy#<1I? zS@8IHRz|k))T?Ucea}&Ah{`=&FD*QdnBJ{-|0;QFZz4i)#{)lp<qe7<~{5N-vj z-^2uR-MYVbgKPW=#T03qqKCA|hiT0;+#Heoe+PJIA3q1~8&(y<@&}JUoA8f`gY;0w zy2*y106xN97g{a*k-vf=C(yJ14wJV_6DR|=DGpJ^_R zN_K~5!l(CGcThO#M(p{RR*D;J<7$gdd%PR5f>r5eF`W-8ETZK4*dM^>E)7 zZaMsWFSR>~s6_V_B}2%jWOnl745o#QV4^T^0eA@w9NV$o28KEy^NJIUIN{qK!R3wp z(-_ZZKSZl`OlWS?3tYES2Es0~XgEzXc>bPPznn$o&z40n z$exWkC;sp%!G}!V6FWW_K5O)5b&T+y#MF1$3kkrt1gzDW02QJrqyd`7d*kNi*73CK zon@$(EQvd0{>nkSpD{1cx5lHC0)hLn%j|U(Hn@i!2LydecsH@oIGZMLijOfSfwpdr}Qn)rtKC}TPJZq(|>C%jizif6Gz4Yd>CkRLqme^2MD2a zd)J_d|25!Q_`~vOOl(v$yF< za7)%kf4RNluo~-KIPNvC;9~76y^pg>bc3iv@~y7(n#8-v{8}i+eI4{AHeJDWh9Rv*5->Lo8mrwn=EwU3wdv5p51x zv{E_420wFM7*6hem;%h?F9$Y;Q&1a=LlfqH*zprX#dcrVFB2bW#73l^D>nlrw7@ip z{6rM=_A;2COUTsJ?_dsg08v`MWT1p*BcB4S&BIsBxX{#x^HM9Esd;a;b?GGL=&w;N z@w7S9<7BA5YWUMrkINS^8^P4QV(?GtPG8qOGiBsSDr8!-@fxeIZ$!p_2Ee82Yqi&1 z>Ff!W#=4IvVI&xy2nMhi*G&+*4YJ6w~-T#mz zlQTqJLwi`o>$bT2Te#QhUf+wOO;z_y)?ehZ)ntYNnnr7POnaWdF z)tQcz4TYzO+fi2HuST~S=oER%Bb(_X^7gDA*Zyu?7}hpDTqZGvycVvKXmN3gGO>TCe97u;$x_}B7(JM4F-3WTPihX)*nTrm>`@RQwp18L`<-b1C)_X5waZ4EI z(n=1v3AY0!H_I_+{PFmS(l(a-t@80U*$G~HP~VzV2{1bUWzt^02jfkXCbgqPYbs-D zhHRX)h(hF_zSaogLaZs3mbm ztY?cQ>#!sXTUFHix@{Wf{zBj7pYP^5Vn3p_1(DsTp%F)Q;nAWb~SNNN@-g5GapcVigC@@R_qBRX&HVHsYv3u z|AF}@y;V{_Rew?>?{c#(cw zHU8@O-^!e<;O34U{`Vvpb%$$o{TKUqOjw}kWj`n2s|6`S0h%<;>ck?UD||&&UF=rhomD|xwKyd|&UagGAC|itOWrz} z)?%3qqzMI=C2yc8%T_5O>ccfpeupD_u8V)^Wylh{N_535Z6J4An2mjc{0FuH<^jNf z`^{H{!rUR5`3X;&f!dDLC}9ocu>dPfpIwGf?iVqsb8k&YBZR+M;C^@Um-n&aqgj#h zKgB+p>DioTBZWa$LH|hT((QWcMOTB7@6V-#e00QNw!bwNd%SCeEc|l^n_!B73I4zx zHgR``@_y4$5{J$@nf%JI$#(f+eL7=#b+aEUQHoT#u;Y-fr%dK%?%&Vj-qRJ~rINp0 zP^FREG{)vp^lG(fZ&p-2P3GaI;dFrc&RL z0zQn<@i)2Tzw48iy!V$xMvSKAaaMrxz1PTJN0|Jlxk@aCOXKI_vNs{VPNU(@05h}1 zJ2Oqvm<5zWcQObjwH;VJWQ*CKMwiwX8GBG87PRSJ z+Pkfql*QV;)R@zbq@ch{TXR%7(ui(U)?MTDp*g>}X$XiI8_=s!(9TH#wtHt={$_sy zUbz1C{$O5Zt?Sw&Mc@Nn$Si*`__;5O0j{roYR2qz)tQL>Fwze+Jd((ZrlE`17bXdn zKkDnCkMg6t7#~Z!w}NTvu%%BqR@#z^mAVfdv;_`$##$P=wPg!o$z#cSZOQdbrH|X8KM=ZxH9e<+dM$T$6LYO;ma^2w(bJ zWasU`jx4_(WYWu!XP(q+Ja?^At$%e@jaLECJ9?hP@WGQ^R=f|ASQqv>h&7mo-<4lU zz9*UD?Z^bZ!E$SZNwA{eWJJ&2s4vB;+OHF?cfFtV)HqXrS!Rl`-KF;>sCz^0QSoQmw;Ps2{PEDCNf7K*%dXH7_ zw{y^Vt(s%kEa&6a`2u3NdWosb;&NbdZ;Bi9`+J?-I$|q zIAh}Hrvk*CxzmgoxF+Ul2u{b1Sm7t6em)&9CubK@xYI*u{HSCsVR6K<1Np^Ee zZi9Hq_1#aTyM-pB?FxVxL^R1!MR1?;E6ee?~ zdhg2+ZY-KB2HQ6fuy3PmRN{!y-Ni4oj;8l!l9D_k8cA}YclboKEIAUi>kN(8iTNo& zi42Ba55O&G5YZA0JLahc zl4)VdlM454*a>$wK7hD`r>hbU#pV)Zp zo><@PTYK~Is`wX;X)VOHIxzP^a_+!HJw+e}{_aCpf#KzJimFl(FD=4DnDbu*%`rP` zSufO9`Y4#`t7MTpkj+3C1w%W2Q~_`>!fB`E*}Ah|=r0Jqz6E(m&P=3{O4$NV3Wk>2 z0<#ZeSB860pXUpGA^IUPZEFQ)*^LI58Oh5^?t76V{B(+(9Rmg~VTJevSH2BCasuL? zU+h?r*u@^qj6&<>X7TuxJ>1bY)>&*Yf3*)#Ud7HCJO@htcUbt82RtZYLc#}tT|$FC z82{6#B_hy!ywbo}aCIpyI$6$1D*Q`n-v{W8xfrP|X=6ls=ZVT+`FZj^9Sw6d-LW;b zTU@Gz6YZkwh#flm!r>S3pr!s8p;S#6)-*3F%jQQqnP1 zjAv>AM>LA;$!$leqLh?^*B(l>qAa!(^w#`R&dLn(iQ^Bl!C*~Orr^BC0>4+#zt+`M zkX06Sy~*x6-nulStz^1}_p?T|EJI{w%cJ-E_trlZs(|@XR{$%!bNxPVZr&|D`X^UB ze3=vj{Q$#M`=P69lN9nURCd(wUno;bNT2AGZW7fsKyjcbQ&z|CmJULw@8m-XjdsHf zblVZmr!HCTyg8iGqyf}3(R@!pn??$sVdkZ%rSv)=iE^7`x0AS8!Nmpt4|DZ;S&J+1 zszWL@@QgF<(P@4a{PK7%6RQQR+7Ef2V%+++3^z`-rmpVbsF*TO7i42(4sX;2ZlZ^* zNoGJ-bgju+a%X}0xeF(8yP3!9(WI{q-=##q>yB4370xWBS-GBw)9y-2KOnd!-zYxv zH3T!2Jfx-Z_Js)D-y5tqKcGE(TYlcm1CA$j9U>_m*6*k$9SNyosQ%EyTyB5*3{mzj z=JB!i%(ow9WN<_K9lmvp7A8fb-gQI!;63WUs9Y5QU0)Kj16Xg z6DMFb4Q}3CvsXweVH)el7W`~MXQ0Q0RS8%hnRg3-8kPMl^r3U1;P${9op~e!Qhw7M za7oaAbp`z5&mA(Z`FvmjItAbl&!q=ZQiRma3x<+>f0Sz)*_$UGkq*Z{%&*0oNbKv= zLG)SIf#A)zuYO(D?Zl#8QM+Ah8LN%@{J$Y~+I<*L%iG7yX@8Ou*J}P=1>&H2Pu)E6 zB9u8&geUKOZd3Io@s6WBi35Nmm0j%2+~ZWhLJ!G~(@wS@I3qq#0)ftx?p208Ee99w z)cU`FZn)uF4KCT|1?b#?G_z(7?gs64x$k}CKYXl{jEUbb@iy`kpV4wXd200`GL3CL z_uzB@U~eWfV1Y#h=94w>3v!>{G=G{T7YA*pArh|#+>?h&k=oU^d-1D94D;`1|G+_I zcEF0R%LG?VV)8YgF?x8M-iIR_kMFD4(R!Cj(_Zl-WqkI~dxICn0u(YUm$uF= zeo+ne+?>2-HKjbh{_U9IZLz{1D~*(Q?C=T5(%&IN^S1I?u-7;1WC#PZ;Zr#$F3ZDf z2o8W_T%uh#4(2}Y$bvR=bpqrC5uOxwOcFQ9+r?5``K65#Fr3ee&`*S33G*Flp=MP_Tx*08ksXzlkoADGE z*uId+VIo8LZKJ4tBj*qEW2Qfjb3l-$7U2$SVdr-1?-S|pi$|qWkU6+b&+@|~pNz7X z!m45GMPCp~_(!Y=ZE>wby;6D_ZN^6W$a-UEWc=qp7nnDk36Uv#sT)OzJJP4uSt566 zWC*G@P+O;%F{<9>g51w+>i~bMraLb9+@|*%rKMNG^90lBSM|Tk9F~Wd+AYWPe&H7x zvd`04%Glw;&Hl7T{7Au0$PD@KW4<`STeV)UvU#tF~EPK8{>KH^0 zDY6fd4Q5P`PH*}(M(vr%^Q&U#R>>qOcJjw>Q%Kb!ei_}gb65X8UE3{+4B0B&a&zt* zlW@{q%e+s?{r1~{=P1?jg;-pBy=K&lXY_P7cZ!+zp2+SgNCW=;^^*jp?xJc95JGI6 z04({DF3AwI-@^cfeV45FP3Xq(*X?sccK1>!#^q%N;n%|Tp1lW)=c7EnZ$2&gh^)v9 z%52wXQm{Zd`*@~dq%!h3r+{`Pyd{Yd)M{H|}NtDQ)$U-TF72K}uUrDEv zbVy>%Sqmx%r3XMeyPE~V`$d5#OMxaSAD$MFa(e|5c84p51C4TBm8T)hX3jwR`m4eEYFKdW>D}DU!tu zFSQNpD?*fqOqhTypgqMY-l4AVQKa%a9qpgpnIFNG@Kr(@g{m_JJf7$GLh_j#cn;3N z+Sk19n#Zd%4(UA-C}`?Djx(V`|79X=V%T}A>-g@8YTIM4H48rP9GbXj&9S9kD!~Ld zs+mC1_3OI|S9wntEKAHz%}uN`N?sm(KVa5#yILAw8+-O~pmTp9H#2VoH|(1zs8Uh3 zXCI#FJRKH!i_MyCUICWZqO~8E?cu5X@nlnqPTI(ytYlNMzM0eI$SOtDcblFqr0!hd z<%1vF6By;7nuvO7FJJZh*9A=n;*nM?z!1-{FsToh(a}sx$6AMzP8a8$IWMt^8&|3c zYKr79TCNM)nL5UTS8>uk`_X{qvg4S*6JX z`W`6jA>lU`RyyeSA{N)3o77=Xh?hBDecd|U;Q694;*l>TejBKn1we|-Zq-cSD2Q=B zv}c8dP0JAwHD^odB%vI9sqY+hj%FN_!a>Y%)F3~1$P;M3=UUbee%qjQg8z@nc{nc{1v-w z#I$^CUr({{+NT0o-uu;k`PBH5m>vsp@{i29?4|f6R1ynt%^`oOzHoUU`y3yhvOl+L z=IWS!Q3@WfwvH9N6pzd6w@$#ARypn3gY4F)W>}D6l`^d8E^hNz;Y*Tve zWUKrWR=gGbO=ra~RzFQ<&uwuIaNNyx6mH^pqyaa)+o5M=^{1O&DRC*gbCul@Wfqd3 z1kzd-Z7aA;hp^#osOyx);OSN^r_Dwx3y=b&_++QX4;XzI#fJP^4wo!>kF{cld*VPo zmu$(~p5gRw_m;6-`#R%>9r3YNH2V?mXu-E{C=RY?0jgNG*V#2n0$UvQhIrB9%4CUO zf|;2rZtWw9q=WBL}18W(#1S|X5{$ER1 z9njSGw?_yff`XvZNJ=YRG6cy{(hW+tq#!X+5v4mMMvV?>kr;|JGHSHcfKdXYWATpf z@4f%;?woth`Q-CF=cF@h7}6-40TItxsw&^``hB}={Ps}I%sQFl$6u^_b|Fi{0OwF< z$?*HX3(-=%`O)vwPnj;h{+NtX=SHzr$#?S!TeJw9t| z^zAUTZ=pP4Z}tW#lxM6 z&-u^6dyS4T)ta|Qz{xPA~oDioD;%JZL$HK1&$f58#fF+UVo^SB2eBbHqqot`E zi2Saq|1uK(33zPMnjRrvIa+X5ZKIk=6)_ z*}*f$+Um}?P=PMv+-WoeqBDWB1(d~pM7HtK^TXQkV4cwdf9I_sd7wn9M<$2F1D<*5 zi)R@=xS(po2*u>ka%@-&&Z4GcZ%qI8u<*yJHvz+(ZGg_+owjisCWL&N&|s@VtXNx+ z)sgJXDMQqYb?H;uF4iR0cZ~9)pBYY`G&vW}LnV2Kq!?4mzk7*NTOBs+swh~~*PuJ{mVLCvHT-2b)t)lHfkj7`wT+bBL)H%Ct_HGvluW7v zLTzwJI_>CVJm^nIW~;_yhOd)|9%1P7@iNM%|T4*6XB!ALE~Mg5lq`^Q3WR zys;9YFd(99kd5DCSjY2hC7euQaqjfh3aFX>3r>>Hc|?I+;}q=b;~Gfa!x0lIRxa|1 zMMV0be!$%jU$&w;vb4HGCq`8_zdU*H_%(kchh6en-N!HWM)tuZMs&-O(m1b$hgZTWRe)NaNq}SsV&=Tt1Yj~#wfAB8 zd<|z(-5&;anIOuy3}VDXE$2bccQD!TU-#D&9tHpuYVeLfA-gA#iE|U87qS50q!=JU z$pN!3t~F^ynN$R3suf|}A)g^CJ0=mH+PC8kKd}jhlyY(XW=h}>@B^3=I#~Km$8WaD z)@<3TqQte9eT!B#4>p?a-Yx2|Qw?IkqK<|EfyC=d=Ek?|6FT;jpjK`42_Ff#Oz;wN zX)+!sB5o~I#|Sf&`!*d&0197XXZO^gTIps#&}>iq_XyoLr86&c^bh&n+l`_CUz@&M zk~g*opDyX)xh~F+G^rv4s8W_f2S6_T!Gk}^gOO`bo?MfsQ7dy&aV2g zTd*KL?ex!? zbfRT+cACwX_hU4+a`ru_IubprdBiHv5N=P#K9pK2DaA~i6}sm2(gC1wjZUx-a0)N( z;-l_*n#6Tlaf5)CdPZ^pSo<=85(ou`oLafK25CVeLyvD5AQODrJe{QL z>c=V|uxFGDqtDT*LfS}@_^Gd3{=G4UfEaNQHv7)6odREgWYRSjt?PCdzWS^(D0pN? z%0u5sX;@GZ4v;4f`bA{}P}nk%;2B)?St|cGcy3^q+Y1Q^H&FC1DmJlpx%s40pQczV z`L%g`FHnr{IJxrpXhBD@lG3&qRbBUe@@ZnzNNi&Du`?3xP7ku<>KS2q&TS5BgC*ql zif;%;G^&SB(i6%VYYhiahxm+IK+Ub5R|;?%AtanV&Ps3#@SP-T-cI;j*%0PNc9*c_ z0EWC_8QHNC&T2sW%Ld6@K_eGS&Z>8DrLM6dKiMZc0Mv)pY@5V^nj~!FC8CTYk|3qp z%QH`KgmSA{;tQ$ZWvPg$a;M_GS8K{*|aHZdBF~^Pv4dri-E}t05 zMDPF`Vhx3ga0cVGdw^jQ+~@XiOI>Wq593R#>>+BDg3&-l)2&U?oQlM|2{IOAIqz!* zdDAO9zCPqJcqx~kZ1^Wzcg}_^y!V5^)`eVyz&|*nC=yS}p3r;Ygi4W3rwi2h$u#Kk3;~Y>-Q`d@_N$qR$D;_(L zgt5uc27D~JnaLcGF4`fLCNbN`HB9Fq%<-DDyQj=2DcNtk^2k@c_|>Wt?-wKVTbwm! zFXwo(e>kh-D?gOGppnC|PAhSpcyWSnNs~OE39oG!K@~aC{yB~Q#h=5s33yne4`AW& zEc=rdAkDnN&$sF#g-FTafr8uJFP9bq)i)_sg9^&<4tIZ$Jh^ko@ya8q+j zZ8jdRJ~KXRK;tuvx4_Xj0tle4wBn<0Rq!x#nIZZ5s>K#SPkg)0mgyaZE$bVlH*@$0 z&01HmsZ7E}DmT5)R~;$S#TQ5o?j6*P|4z7(V8#fM(gEnCiKXo_L3`>;;uX0~k#qsF zH?CfX_b?VYZWGTB@S|o$#^FPchHs8ud@Ul? z`zye(btS_TiqA8;za?l5cPCPdc{`pPL6pO`8B$V~=@7=U75pa1#s^Sgq>*4nwtS*u zMK^s}eM^H{Q8pPr#O_aS%X&^O9TTeiQ4)uEuc-5?i41CzC3=D{aRkKS`NC-wsD4tq zhjvPP%f9znlB5Ej32i8KlE&5Z2DmV%?eA<52<6GdaEYmDU1)~~3|YX-XQL~*oag5; zS!SK(0*)8+Xr?q?zq=2Q5LCX9p=B+9`ZB3kH2XO(#|}2@(J*pzM!Y|b8iYW4L177u z>6cJiw`O{_wnoQB(eB%}>cqo7$t>Y=E)CW*-hpdWIVnVK#G=pMl@zE+WRxGOq%v-@(5jm=0rjB(}-+& zqA9TieDL5BY&t<8a*B?A2rkD{aa&O{pO8tP0?Xw94XX-^!Pb`X?g9}}ZgHHGu7`ET z06Eg{FrgkqMJOwi5nU5yPV|X=m+vy2|GJ|32O`k;I*5vI+c$+YEA8yz3$8(JnKvw@RH~=+47JJTPA$XaR9iT(ivuCK zHT{ytwOm2DXAyw2K3t5vjx;O$QonY39u|(SnZl9FKWrDiw`kOk%{o@3~sE z(i$dv1XY{8zZQ)}57$qH-I{jj^XyLz)2vLnnJWlp!hziy{=nVA))u}p#0K&SY;&>a zK)3c6$GlWJis_`D=)Au~(oYR@03VVJO5!x`Yak(?z=P-e$;5Jz1CpHG;*uuG2_W(KUqDop* zZ>F?MW5Eb7c?XPz$47*>5WQK97nDwBV3g?lsHs`fSeSsAa+JG8+cI6t3IQl-5dS&u zRhSewqjmqnuk$d+Bnb%qP{A|gZj!Eb=qsngR2@8V#@iFhkMv3dPUAc~~?d3;8+$aqDeE6vWKkaJf zA|JD_#ZxxlG`^>tM}imTse5K9(gkbi(K0vtEFZ6xCcKj8<-l9fV^&`>L>zo^v~74H@ix`W@6*vzEnDDC zuC57X0R(*D*!;x)QvU<({l4Jc7SfOMG$#5DrS`|rpI=sFkgXxr=1y0o#!|*A4+pKi zs+YvRd~M^{0do;;+=`G-w|^0g_zi7*=P1eNPmFmcUk;m)_Fb3Mc9bjI??QwQ_)UobKZ7Dh4z3Dh!9a9e7~!wLA*=dwH1+K z#vNmhsBaA|`ok>@bJ0t;`}+BwU(NOgyfA-^uM73%<9B{Ux=#98t+=%xAE(z!$4rec z8@X*o=%4+q8tS(^deC7Q6X?O&mZCJ5d{A5JnoK`xx;nnKH}XuRiEq>%iTB6Kc0zJX z4Se9)DBu+q0rBNXFF0DsovKTDerGcN^8EE`6y?64tCix+n=9p)O}pcDD4-hCnc ztsI6#o;6i!Hb=a&MR4gKgiWrs( z1q`>=$7<(x|GbKKPbiXG>+Mu_2jP3t@`sD4XTPiNJdm;bxc?X!<%T1qq0Vn;wU#~7 z)KKj>hCuGVD9Ti<&=$~KhR6{sWpX9Zd-E?*;16epY2!+Bgi0bPwR!Glxma#x`Z{Vu zJHS;(kzQ#0rcp1XjQI&|NPstBd|=sI!_F=vEBwKnpLlvIQU7FnV~}tqHNB%u@}yCd zi*YZ^2@wCG{0d?vyw_gm33LbnPiJn~Fo1=TphEW%6<;Ufz(3f@ja3D@s|%1F65rDM z3picTV7}h;mnFP3#+XzfjuXrXv3w>Hhc{eg}G`y5enXVR&fM( z|4GXX_<*Wd6)@a-T{AaD>*ZpFZ@VesFVETzJjAt((i1WQjMz5HrxWJFe9>SRMg2~8 z%Xb)<)(}(~;nmZ>)Qi`pdI{#faI@Az^fX535Qog!ruLz7_?uTWHk#s8o1l{=6YfhA z!Z)OoU#B_}o9}#2r`DnC^s;vLx6UL&yM|Pky-%v5f``tLRxZKu;F{-s>^Jn~wJMJ4 z&d<#BFXvI4!l(Zh&Sm|b02BsGjaxUrX>r7{0OWK)kHPXL2MTDfD|6+4OVj{~E8y<~ zU+Y78FYhj0;dl}kxn%}KE7abFBh`sPge5L6BTC%NdJSJvW88#7YL zc~^32R`0BrH3{U;D~oKQ@Yx$(XG3Rfgs=pDhar-;M8Af>ys#G!G;^xh z))g1FtnEa^_aX^+A=?b(@}Eo(r?5Na)(y`qSYnu~zwBBfC4LEcZyT41c{sZ4PPUJ4 z$kaAR^%{P3jQ>E73k=1MC*IJozLmSk&vA@u=URfje|oAD?O1W!aG1Qh(bs`n651*hjZ1h#B7|(+&lQE;U4@ z+25aT%q*<@>^d-0bGemqo5^4bn#EA=nn3DL%wHXzUhvAXhwp_h*BZ~c7nhePVsA;N zsC12bIBrmbT_pS+5to{5({NQk)EG6OKO@B8>{wSUi@03)xl__JAIR`w$Ba;T`ZR&h znA48)bvbDI)fGN(QC*{4vyHL_M`I1Sr^y`-WGTLJ)(L5+tD05FQEc9{XL{A7-ebs1 zl;E}{6%?b_3}UhuJ@?hG9MSkimiR(ij!clv&&35VuZ#jkg#xG?gF&I%wQ)QZqYquXZMBu)0C00u5oPrF$s2rNm$ zofA%OG*NHC&S}b;jfZFDU}B-tw$<>ny1LuzsB-$mn65Sb?pS`Ydaaex3VHOxO9uSp zu2<73R-l)SQ4OziGJif{cI4GuES$dmj?fU<<7WcX;$~2A_wX#7A;s{8uhTV6{8#fp zUWyPW*d|s8X`_NOMA&Hy0xQR9OgRqET`(5*Fpn(iJY+?$iG%aQKPhepVmJ{CG7V2H zQN*|?z#xk*T|)nHSu}<)6Eopt)1#yBp(Fh|g_b`utX`y{@xZtnp|E|}b;aM}N=3JZ#7U6q`*udxW6pCwWnUIa4mh`eh9BgCTny&P*c!w=8;;%< zv%YVfeYS#6>D_tip1rWCp1Fw%ZK3Nh2kIjG`*(B6?zgY{gJjP-B}>2aJ6>fQZXH2H zD_eEPxxnP59$pe%uzCHs5#}=HTFd&g4%g(R{T&!A>tSn+a;1GU*TLeetJ)@9^>IcK z?d3(yzg%OvA_6O3s8P6N_c=W21ZIC>?Ye2DjfAZ6PkHF76#VJ)KthDZoZnxbX1?MoN_zO2FGtDj>Nk_fzXxAuhB z^DN=j}jR=&?U8GR#mEtzQi+|HEy5 zA^qT2MNXnYmtg>ub{cJ)%^l@-W?7SAjvEFT{)+%rqCx*;!T#7lNX*sDsNCw?xup<* zDt1l#9~D93K$`C1-#iy~h)mjc>amRVe&mzkXlzA+?!1M_=JQgHtbNd)os(lX%}b+s z)LN3#^Q==hif}_A^>~F&H~+AIQpb1zfTiJD7XavD%DL=`mFIQevvGTpEClUuh3^a7 zmJH5vPdS&fEKkc4IH|iOb=9Pw$G>o=Z{96d?(1_msNMr+TpZ4!%j`p24ZWb`^~Iak z6-A!bz*(xEz9n(TbJQ;dowIC_w8QOS6<(qMW@4G3hdFu{xugd6O3k#6cij1DjmM^F zZ>LhdLsaS{vlQv%Wy{6!s=jIieH`eI-kKbiep0x8fu&D~lgB~d#~aX!q$nqry9*nD zILwpB%rA+`NzFp{7RqFSn`Dpf4W5U+#<$mJ+ymrP3HvYxuq%$iER%9S-h$Uhi3%Dj?we?=hb zkD3nmnaMEXU0WA{ud{oXqGQu5Yecm`givkSDeH4ck~q$Ctd@}dTuq##1}h0`X)10$ z2AkyhE&u!6r0FR3W2Lhr#XWUKu&N198q{u0ql-I@fTAPHsu(cIA{&$=w3f+W^cP3x zD1|*p$S2W5%P%^M{lmYsVMc2(adLKwLRjOE z1b0m9=LAkXkiY>av`6AK)?@b(M1(XjK9sX4Wa<*C-3^f?)@m}I2UYVh%M!2MZyzl& z_*SeCkPOI;cdGqiwqXg3@F@T`GF;#%179Cslyx>}g!5P>CvNqaR%lUbxbKP{piQi9 zgEFfG67Rk%jkxf#!)i)=8QQYao#E3=Is7?LsouA&H335~XYv!B|9}=k2qfa|vp}W< z0a}rk0S`0%i;*%{d?!%LC*X3)AAD!%;>QRTn z)eMwitnfuG4U!dT>I#oh9H0|x6W#ax0;FpU1;*De3FxM2bkM+GQ;u;O0wwWqNiFW` z0_g01;M*R3mM3}$5=?q%bieDYaNo-93eUF%OU4zYk=T|h(Cb%=y>!re`{;a;=|3~V zZ}*L|ivB>k@(ZGObR;}&ra}X$)lH@T>%M_YZ8ZMb2I=qEn?p1TK%j)RP~6zBG&0@- zl~udYPM_b>Nd%b(cdSC}`Qd_L3JsMCR4(xYcoBI<0p-E2W@WxU z8XWbWgPW(8%7b5DNS2zxoS$G2>_eHqt3CMCx4!j8>qJa!>omwB(V)tG59~o|rN3%% zG<&f&i9WQzK%na$3?$%=s7enGtE^+R2lYc`Ge9wiw^<*6+2k_H8Ag-4n&w_ts>zE9 z58s}xYpcDdCu1qZLe3T}ocyAoIGtoUFN~JERq$kdpg`4su~oO;2TDSaIQX%2g41Q3 z!4B;5w(f5-6zCA|nlhFY_Ot~mOe|YEie)v@H>AhVpv5Y(y_a+phXCW>dB&2qOjXy` zjMil4?)#$@;-oZE%yz2G=`=QnBlARK^g_>|44=2{*Ew?65LMvU8*YPc6g=_<1 zTo*Eb_Gv9#J(v*`gs7x%To0-zP-Mw~-(^<6lUu~yYrs%u{AIbWY;kBd)-WDq+$^4R zk8!0!TQ4y5WR_vY@po^m7QyQx_!FGaoroaQuOxc8Y_gULXM$iuH`_JW4}|Cjo{vnM z#@CP)o?Okz6rg!u!h0c=C*C~@p1$RaASx@`YQ$yw9$>9q38{NSn+aTU-ogNGId6)^ zKcB>vj1n9zccDXja!~e5CwgoPq1dIGIq1Ql!p0Gowcoe-H3`PMchu_^N-fwrd{(Uq zsJ{IoFDmEmEQcur-cn96P?sqJGhE*1%h|xE)#vm#XK2|t35-xO^(Ql&rIlrEWA@!U zGCj(inYKAOp5F`}J(oLy4e56TfrV)N$_$u?D9@i9I>ju3jhMhGfqz$}958Jpqv)!n zUYJqJP$M|{hBg!@b_nl8ZU<5`KsV0**bOOMXudHa!o?bK@r^{Ofl5 z(YcLVNSMWo#@3fRK28e`b)pByO!0NwYrrJ6S7W zrK1C4PUR&&#cL~aWD-Xa6EFQ&c0>5Ki=gV7omsNC?Qt$QEyNBimHuKg(YTw^(%U20 zMS7a=_!!hJLFiw@t7{#ay?!8n>vTmuWJ97YJkn({v1O!5<6~yB$sdPB3&j9wjr%q` zFe5Xy5}a6m76CDPeSld-t*rP;9W?X0E0dZ&s%!nKo6fD;%jiKdr{o}!Nn}X4^L&B} zM(i-Tmj>TFAO&OMcB?!BA;C~YP}8fnDZNkm=+dq)uQ=NbyY*Nee0gVdOJ*G58`Q ziscwdIXP+R4CcZ=N7mOTgEq+?#A{OdK_>ejlouGI6Ww2u%K#?x1~ujX38%jTuK=4k*RPe8q57K(c{x@ z#;1K(A<8^9e0sHaP2I7?&@B;(9I!;QUu@++rZ}n&ayLAi9RzOmJD9cTMYFD<4ils$ z9enHLyp9TddXatSz$n{Fl)l!9=6a0foSf>6JSDYQ#^$lVE;-Hq;zO*PQfTQW5}(~7 z__GG)j}r%zH^15WwuIq=ZB!N4w_mPwMu6bc%uKAhMB5`H>Yx zkz{j6irmw|Q19)fp|c+_hy-?f(VY1Q;mpt}5`aNkHp@XS1cq_bnTm2~x{w7km-IS& z#qO_A0vq!&?eTME8D(?r(S7k^zVfGgzRRh;5&;r8dDyV<_k}Jkiiy=FiN5>8Glf%_i@&|JB>D<`P6x3HSj9by%n!xXABk|@7@pO z9|N*1aGgI@MoPlG>P|W-!sE{;h{~phO{?x*8=6vLrWOJ^Lw}G-loKrSR|9GIuT=R! z)lPJ!a}c0~!i_&ce`P<{$+rAtvV&}7TpGm3|8RqX3qM-EQLkMmktDO<;yPzI@zd;7|E;+`6$Ws z-QNeTra!`OC&5A$MhG=4pq#)sMSg)x+ymFz;;iZKeJZ=C*Ou++{Q67Dx#8`349qjj zN9_h{Q5O3R&;-~$F@X4`n#oz)o$FPdR3zb!W9YDS?w0}!D805%bs4LOOB8y=Wo1-t zZ{X}rE?@AS^uQAkd@9#Slc=erI>S=*Uznlc zv{o9{?kj`?xbSWXM$|yIs2ipl^XB`*>lmv%qTHELK=&7lQJl2@#aWqav5u8*Pfa=+ zb)-?#2DcxeNPj6ILCkz{m08;)%0sZ+J;Pk0-C(aYVejaO&X2Im5`EgEWr+MN^>-;#H1N0k{H)j&WehsP5IJEB6w!Ln!e4lpY3(-mCEXKnzOXa zQB^v(5FY)d^(dCyk6D1h88eN!HZIrzasD2N1y9~^j^^K_tD6cS_agc@{_ zPe8oaG3fKZ_2#2_lVg2s&yl*&jh3kTjsz~_)8kSdJYS>v#L{PgPY5Y`WbGbgX6MU$n!n(DIP`s-2oC^doF!V>O2JLvN~=3idQ zq2Z@))zsNrvXY3yDonf?$BNUwEV@aQu_nsEuouqj{jJII-C%|Oe8GBE4)Lo$&Re1c zc;XKZ7C`OWq~4|3R1;Swyulklu?s=7tS}2JiL>nLo5O*-15;(6{5U7j4GTtBvQyc#+e^KozmZ%dbU!WrV9a^kIGVF~39n75BsJwSa< zpSozgwriY5 zw8bw)V}y27dLfh-To2am<6x5nqlk*Jx}7?i=k8qP<1b%QD`sV-@>XkSgRA`yh584O z@;|>YVI#tjfoO0VdI?$@G`KweXa$v=_RIm3lKs=JDMh)jy64DLwwVFXbufGG>km9V zv03)VVJ*h+;iT77mkp?|FM$U5 zDl3y-$idoBzhHt_#$(BZY}M{hzevBOqf3=?58mqhXmbR7juy{M0&2t%$Pn)LioJ(r zs(VyS`2)USwuZ;fEk=0>JqoZYewNDj7OE^Q?kIngE)GToG{CuFfG&40%VU8%cwR3I zbdj(ZLy~?!75zMm^o(Ec^H`Wr>k8be$--zaq+YhEJ4NvBU4| zd2g|SPDDEdpK8Y$D6VIU37~ER7;xgpLP=0f*DSjX+8K@OR2$BMp!)L#`jxA64zuXm z6jH(YrHak*-Qr72)dvPTiUPqap^QC~Sa4~b`dwaa&>u~t#%X6|mywHpx}jxdb>l-} zaqAl*oZq5noS%_04MYu!h!Dm08US3T1BQ*a?3kpGbcqb*(XrVbSg;E_E_7;x7_@-$ znMMTa6IMa3@8P`XvAC&>v*JbAtb!?`VPE{kzSBJm`uUKNB#8gXR^Xd26NFS7G{hS0 z4|G(ldJ1M+lUYOB?;Xux&5RfxWi6%gbX&xM6Fg|XMfdsIY4rK18=lRkqB|x=`I0q1 zvwEHkt!Q;Q#ev?o>OzNk6Rtg;{B4)XI75b_(ReD?X1=6qcNxoO7qs^fpY8Vd8;(zy zW!eJV$-8z)6CZRrhc5NIt0fZ@UQz}5$MfMu@Rdl(8=j_eUeLZu;n?_Y_FOv!lcXzA z1i0EegNhAoAhc=c!-f}W;>xr92)nM8ZGHzjH%b$_WaQyhey6P|($3u~)u(*Wc6+Z< z8jz@oYRdo*Z_ut!=x)u}Roj}iCcq-b|A_+VcJ~rxPp>G7UKLcpQSjUz^ z4H8eL_y-qxH7XD*PaH4??_}U?4i;OFn`G|=de+~5;-ABEM@=R6BtLm6lu*){PH54% zY>ve@2$1+)Z@q3k21|v$cmBy2k4KWb^=nv7cB*-Wr@nhhc%D?wrCHM@2v7rd3P&_e zU(b{xF4bBa!pmmpo>OA`7zAK!pnDZ336)9u6w zZgv}8xKCPi>$s*5eurd5Ik{k<|Lr}}>Qip7hCf0Qq$TQMUQMFbY~nR$vgWObd`x-= zdUo$j37JZ`=^YnNPmE>A2{Dj8zgsrK9rv7;(f4T%vllnE=I6Pu(Tn%{M&<4PAHb%K zIe>tH%uzK7pd3*EsSn=VgJg+6#mJ$-=|8Dnd1?df9=)}*?UadI{Zd(cYnXoP8A69}nPQ+U9ezkXgH zDIUZ<`KJF=;f^X6@(oT4U@`G|#xJb36DW7>IpSLrxulShpKt^v8r`q+e#DvDWv5^l zEom(cL$@;D!fIos?0Z|JcLnW=(M~}hwxd`B0GnFtVZuc#0r6Ka|hEI&pz6F z8c?aa4*lHKC5Nm<&x8H{ByE`=FmxOS0pC{Ft#CZ8rEQp%G?jYG#NK0&tgWkm-LFx- z#%=rE96fjPk}(+`3au%8OVeEp${UiS(u|Cv1DSIWI?Jo5i_Wo%GEinDFkg%7;93T55}kfGeP%WrJ`!Xk*XjZY z`n98D-XWvs6K|fzX&~X|3KQ_^8(yL+e^wr6xy)(Jmh`@h(E#!W3XbG_n~#`H*`M2e zS5}CTVw}7A_fyu$9R>nMrd?zU!%RXyQ0uxr^c2yH;tmq%n^XmAd^Dm6@0%I>Pun>@ z#^Y1W`^Qsv)w>mX^p-Z5)&KPv*M|-L(`OE^I@sh53wpVnt+Z6`3K{KxJqRD=U#^gW?1%y5Jspls8r zTQ>kqjsK_l@4jitg$4I#6ozTxy6m`_NgnlD(8)M|@Zp;M>{mUDjs;Mc@5|C6ja~4DfogiLKw87ORZ{^RRbdR%HP4+-xBJoPcCbc} zqK%I)r6}zau!DJArSi@V`xVdSPfShT{pQ^^#{bo!MUnQVjoa6ppc+}RM?&2cPu>=$ zQB-X2`-OK_<}TuCKU9S!3uf#FD)9ZcIkpN{nGAIz8n*yzI0ND$Q^sYvYK~JcMtyA7 zc)$>QoB~^0Rib9B`;xtxBcGBI<_|Vk;2E~U_ao=Ly04)}DA$>P5%|S_uX1@c|67I- zyIouv0K@=5bWQ^gAG-I(I`zkw>ue_SOQ_<7fSYT8W$)YRs>|9qHo$Z>J zkCq_}*uXkVJ2=&;Syf7Vs^RoV<-NI2=ig1Xhu7ae@GC)TVLleDaAw#5kQ9`Zww6e$ z2-)+u+?5MEM`#*XyX6m2U@gLDBo<@i>&~$e@a%Wg|ql(3f^x$|s zWC3_vOBZ&U=1Cs8`~RiretrvgcB2S_EBxUDdo5KB23z~$ZzvX>tJF7dKi8B#@)i(# zuErke*I!eszt23)xO0NSp&klTea`?+T;%q^Y_CUCRAl$|n~o=WxGb?H!xIw@d!_=G z@R%7{%2D$XnG+Iyk5NeWCk2&|%#QxZ{E8bP(wPj)$zxnc-hN1!-v3^J49kBCMZ*!y z6X)P5Q?X?Zf|8q_^ylu8pD|yaqqtN;DyBLuJrX_w<3ohm2*PIs4Ry*F|C6B)AeSI@ z#x(3{6aO`diwmK>slm~%XT=fN5VmAV`}In)*~nhE=9ghD4v}8n6I^2lL}2)z;o~E( zgH*!PRzyovA%4hm!8-=0R&-lqBzZ6wTh%%e&bIVQj(ZmL2;w?3Y7z~WJl)b8T~U`= z^29udz4lDkpN@{^wPaV)c~fsw@YF%a+MD>dGvKzcgtv@p2%I|%ReKT^jT$9Vf6h96 zAn+8z_lO|pt&lgBNqe*v-}URi5GOwV@2esaDq^MRe{>rAab#(V{A8WecU^2;4OlZE zEBcDi$D1`DG<)FdpQn7<9ZyUa0IsKAJ4i6~YyE45?rX9C?`+K)lR8^~1?Tp=Now^+ z0?oKP)tbcj@4qwK#p`#N>JAZQ>L0f8otBEz%Ie(y-;ZWQ%C;a^k{HP<9n_TsrY(qc zujfqjgHdoko5gUc1jf1?38w>d&(0g1>;Av?ytE)cZ@5s95E5@y`I&$lQc`XNTi_Wl``MfW!T&b_qE8mkCxCII2lP|Am;=zP)d6e%ak~&Sqy$=8T=04FI7bhYJ7z+`ZoGu&BAep`t-{kP!91>v!t^_W$oJ zs`t|AUmN9rht7KsZ&YNPMcLVnqm}Oop!zfppegRq(FbJDiDAhSbnaSDI7CeDMmw4)RqCbn zH~w&oSiZt|v8ph%l|W767DzFQGTFI%U>T$3Dg>3!1o8q6Uy?vf?_1o{2nUvCT5>pJ zgRdEr0*MY*(ehs{!@>d5Lg9XNOF#^V+yK@pW7JxB(K`qc)@BKAKA;i;!1Rol>88h{ z1?^G2sDp4{rzj6!YQECJd4sW8;bwgQpDu|H3ll%24VGM2Q}`Hs|{kC$Wm?Zto@B& zy!{kT)m_`i684S!)ojfBuwW^+5I^fybXLoCLYqb=3tioQ*+-nOwjDB2W4I~lyXSEX zq@FTqYKIrTA?!DZyrMssh&+blOOK7LZ+GWzm3oDzulr?BF^XRq>A>Zv4%zNa>ggV` zoW4H^s8(oT|Bwl5C@vqX^k(0cj?dbMM+pe+ZwyCSQ-5H}?EHJfB<#OV7FQbapdHF` zCyt&`{Dafe`&~t!-e@p(k6IUts5hav62=ox6iMO6FGsF&W}6FH?hgIPXsHA+ntJy>ihG^Zxv)N4ujwg{jcy(> zHb1*rx(4UE%u_Xdd}xUNHVobPoo>0sf_3{|F`1$K^MnfFGf7oxRf)ctAH)*!`q;C; zQWdNW>C_)q5uhj(rH6+2pX{~FyGvjP1JP2DQRH%RrHS6C_xqbGtSyf>#jE zSQkFkCu-+XT!U#Gv;BzPugC4)@>U2?SMglS$E=>Qr)SOwN8lB(4BP(4k?8z<`V_T4 z26qU(CW;@QX1G<3zMGgTFWfaVEB5v=%P`9YzrEbJZVNt`i9IYdbLXk# zHBI&VF;2PD>5nFN!n=0WoCee%vuq?9;`GxbT8ZXPVuNe)3QaKx3Uvw75Js~D-;g$$ zH-AA0eW9F8aDNupKA1AM!(Xr9TAt4$W|Vt>1IX&iNn^~bcRfP%syS}z zq9wMBjjDQXkvhCz6+y@>5f~eyQkyb*cjuU9yMJ^UZqP*f^jO23B`dSS7b}|DTa!g{ z975AzQv7?RQgIUK!Gb+c@^+wT+B2{?mfKwyhBdggx%&v>yl5fb+uhxrT_kFf>(ON& zHHAyZ3$?_-jh#LYUv3n4=;a?%`t*9rf0VEiTO+S1H_EJdChF}8Ka0`^yl0DJtlNJ{=6s2wrc7(4@H*qG|@iW$E$<=WK&Qx`6#Y%B>rH}LETn5XDBG3FhtQ}uwDH^ zq}lYX+O%N0^PR${T6M*WSKK^S{O?B?AXD+5V&TuSg08=qm`W?NTj!lOpkcGTyVYr& zuuj+1BCj=|H7ql$meeN_sn=wuGs7-d#)Zy(wpZqk6#A?#oL#AdiYQGM(bKh$Kpm3X z^~oq?=24JUl21kl%?Oq{sQyUKWaU$iJ=)_`X zb4>C7VO4-}8#xQire|1lkfD(Ge}Y`ihAPZ|$vA}c=se@)<>8ey3q!-6X48lYEEENIUo zN+N5^G*ts|I9=cHkzf+jG5vNP^OU#eaS*0XB+6wfWM-jjV60~ouQ$@1Few)27hu~{ z(LdL@77Gji&P6fM6iGM*3I9(0h0|5O_4PKhvseie)V)wQw$SMT-2!yB0l*DG8u0SO z^p|YN!#kE$1>?WwA22YS%M9-)uTdKG3PnN3A>+_de}2^p27XYgac*B*6h)B~>-?#; zXCO+tqnBm!@mAZRj^;;iNqh#}98^-K8!~0oEC)S7Ona9}avMLhB_%lA4SB9sC>L4u z(@FhP@3b08E^B`&^H8R=fs1!a1Qft*njT}cmPvjkv)|&vz2d>1JAEw!5!s5bcUQaI zn06@FwG?(8<6+5eT~YG-xfDWOyj0!vD5RLHGyHy(+iDeBYoKgrsx-e`r&eCQnr+YV ziS|0!ww=v}?e0b0H&#Tp(e@o55?`&;+F#d!J9~t}A81i+x#SApIOdl-!oHax{v7v* zXRkir@_kDz*Z9MmRkSphxyLmEmy54$IU$5Ne5%s8$@Z*{eQ?*gy42u6qj~l2ck&rl zq%2~a1SeEkzf%Y6>es*i15F2$6(Wu;TiJhz#KBactm&&CH`60S{TunhEa$Lp>b%)M zEkJ)E3C`wW*%D4h)6wV9u@^$WCL0E_Mbu;(;%dbLBSdO=f8+|cJWx)Xe%zDkt5E+O z6moi_-V{e84{Il@sbyLhHFSN6TdA{h{&;FKI)PG2sWtLTB2vPp0IWn_Qe{HH{fY$h z@~$T({=@F&4=i0%hoz8yGqt~j-!g0s=bL8Y;5k~9M^@xqb%?~;7I-7K;Ipo0&Q2dM z6=}@I&ZRW-2tk0xX%UQg?KJrIONHDS!q1obG#2Ni^AG$al*;S1n z64JAGbacdw)1@@pgzQEVzu;HX5Qne*HI7}z7ds0>Z~Xh2OzD#z>cr;q->5~PHqc)2 zant{mq<{kjs;@^3w}E)eYipE-?-VKqK#X0=^|uXxcYg09nBu>lMa@P4qNuk4C#P-3 zXs;4t$a6jYWl&_2-;%1eo@krtutu(Jyxoi?`>>JSp^8|ChcuHA+)RST4`CZ7+&TAm zh9-5?$S|UotTtrAc>H{0(Tv0Y!^b`G4+vFQYy`0~opsxWcBEqL^gpLPkSR{FM8rMF z%i7F##ZLZm@RLc{SqSiiCEb6MrJr!a9W;-fB6&0W=<*6YnLUm z^gihuyrwU$>3+$3K6CXiZZX5L)%O!cZEeCDP5lC^NW*fTjEbh64SNt?%)zltmdG-+ zYIgLIuo;p6(`@X^sWaUW*iazXI4zTQ=|C`n>LBR6;kyA9(R3gUS7#Zmm$$#c$68=k z0m3N3s2Lfin5f@lHbd?5rr{$JB}z*n=Jw;a2sxjoE+V zHJnPtmXEDKH(j`6gNTmv?csA})iIaij4@U_j^BuwFD-HFo*(AX2fuVmsv0$~gxLIK zD@D*hu<(en#Mf$V@Ua*UfUrhCQT(aQg+ago$?fh%An{3ddw1k>|_{$*(erq8?q>Was6y*k8N*mJ#<6NHYD zem+7c7Rl$QFq^OUuqJD&u)O#Te2psocDsJPLxbufyZ#iaFgz0-JaeYSrx&7)gC}Mp zf447@d0{Ee^Z0;bKm?v7^gIGtbR14geEsaeG)8GX}nq%rIb>RMFlh z0*{4nH@>Ygg7__R(?iF9h@u$5u0&Z#OcvjVN<^GZW-&|k>eJ4@O%OZ(fNUb=bMCOr zzDm4*I|62(ZeKBxvCfH4ggD zPdS!m!QjPfs&?EJtE#*UzXd<;QR$$E_}P5N=rxu59pqD}-$c4+IgICAt_?qa>3ZjypqkLy22Okx z>QJr0Y281I^T((nq5uy^a+};-paFr#?J8Qc z1|9ldD4Tw4?ACNBlZdYH>kph}1zI~L>_41c8wJ~F<1Nof=8{-fd01 zooSr>OZZ!Eb z5$WeVu;_>4)ao8T+Qu^cD0Ge3dXw(FC!LQ3`q{gIyT`RcyBnE&)&$tBo6?bVl=tq? zQ`yca&tZiByA_Wb;d*#zV;!-DPua0mW^IQ2Jc6)|e9UBR>!+}i^nsk1&?}y1th>JO zX9s=zxkWyY4!eEmn7X3*w10TJ@IPo{A-#X0Y-rffgx`Z4zCrzgyr|u)LH!46?OZPTpx@NGP|FtnBvbyas@U^QHuEP! z)ns@1GjQC~DR!h=shI+!Ix3=UaU(XL|4py-k13t!H-7pGharsSpt@3b%};#@Dm+tS zn=^$VIU-(wEH1>lpOCAu2!%m!YLI|X*A1WS4|EWlf;HQk;Z+e+hP4vOANqK)u(chg zI9a?Dxr zMvIWIse7%MFg#RJIYPPG4#iLT_0iz-thi}gEV0iDsDFlN7%?K zyPf|2{X4eEen=U;E&V|*^a1)e90g$^Is3;de3c31!3l>08z1YZU!Nm3H9^cYgq#&5 zyz=SEIJP-s*NZuH6E4&>5-#i^i%?H%Wo2j-K7!|~GT!oiL6BjM8{cC)I{E-LzMOb$ zVPzodo)REsSr=|HCfU~;9vB&jov<>~E)}*f?5ogLmzI<=&CwZX^9+saaX~90zG+@F z|G0hLWCYBzLgQK&sBNc&P@x%PAA=V!+Ri;0a}~EVtYn>f4?bnFB&=k8dh=!@Ci zV2Zy>a6V_&b9bG;S*sH*p7JMIr1#q&%I$l<=IMUoxcT{;efSt}RJcRGB8RG-?L74z zqIe>pnY(yvgr|68*VaQ~t4PEyRoP;lqmB*VS@OEQqEx2MLe6>vCf4NM<7{ zrfr#s?$x7j4MWleGW2oI!7J@g+Jf4w+$Eyl{{w{+E&G){Z_0F>=acIgSQA^>?>*d* zd-JX|61Bp=<1LW_zy6qslzDdRh>D0@2>(d<4#MLg8QLCn)JO-AV)2G_7R z3xTVAUb=VVC}uN8OVNOR#2AHHrTEVTtqVkbTNY5Z@2I5;VY(S1QkWUNSh2lrHISs` z$eD?yeKUl%r@YjX=$W7THnR3~G{3zfCtx=gwhPVj-yMC3WbUxyBC~K0eon%P*R?S+ zOoEIT687FAl8;qvA0pj=VOy0cx|}6+w%@4)QJDo<;hdaEKA)$1Oc3F*wCB!4#=(QYJ<2$o@1BKFjI%`r&1 zm>YpHw0Y`(j_0Fq(-m%~_cBoj7!2=d~yrx=e``>nSV6xfiSrojlSXUQTx{ z_Pjn9sIhR;`8vY(${`DV*7Gb*_tT*o1v|6ZxujkxlN^~aqwIuQeGI7FO6*iU<-1r6 zQ3dg~?BmNfsF@_@fns(Ihi<4%3XNjnl%o{Ku^*TXm0MJ!iZLJZ-hG4+$#E&v!Ur8F z(HFRkh22CeXbJ&A7EeLj!k^#yv!d6B%W2?ZzFUE-JL?&5@dp()qCm3TtCVF2mp=SP z3-e3l<1qR2L%WB`e{N;luAP(`p-M7KhLs0ySqO-I?KbXmkZjKy<~H_R-MG@sI+#Nq z&!dXyqUI+yqfG5AxNOd(sj^7lNUQK-?D~CtxOh_ISp_OV)2n)I>l-rP>d@ z->tmstxjpv=$>%C%l|SYDJqohXWYX`5y-WeelJ2}p zI-$0WMp7>2hx;z#xIDV}Cr*VKe5oKb?&7~aT)=dPYT}rvzv%vMstm<%{U(!o75=bm z-znsTo;3RHrJk@DIB@mLZ@@fP-&ZJW;(uSLE;o)+r=^QOc?*)nR2%kWNUP+2wuobNYcjm3fU3Vqx^$)^Z!V@f{ObPc2yIPt z|KU}_fO@q5oxITPTY(3H()>Vz&wDMcnCq1$v z)Ro%U!Ay;;tGt;KJ+K3DYU4*i*UbW|A755{DpWu7p*Z`IbBUVlc#4@l$r ze3+79--@h=mV#$TZ8de(q>~^2wBrQB*lwZZ`2O~w=Q#k8(P#k?thH@{2m)4OzIUiLE$sCFg#gDOl?A#dWm?i|E9o@Uy$2rgH@q^3)%-A04oFK9vM{pI1jDxmbp)X{+CjrV7oi(f09E^nKla6s(T>Re0JH zi;LBU3j^?$oW#{}4W*zwxic>kkl;Plq^ z-=o$w0Kl{VJ*|&y17mfxRPb?VaFAp8YO0EQ|5tp%`sWC){ATZw7i>>eQ!fC3;M>0g zn9fB&`_D(HDasl6<^Jh$^;-Gf#+{jRow0Ya4qMGaATHV8?EhJNYtHv${t2+J#N33# z>JW?e{bvjgq(w7K*09c(mk}%M|Ci6rx6xicBqm=4SE=@O@Y=-_BNhRc<3lfm5o3%}fg$2JgVJ*OEVk^ni+z8Fj--smbSC{9qKka+%>Eix3hGxTTia6B2<#C)OC0n6L=YVvo`LA9i?5@8P|O;A@0r{szf?J>W5y3d*mA zbG1-+(SNv60pFPQCqiS0_XC7&1~f5-?_u;sSYaBAg`1^Vp^}9liF>a zgu(qqu5!cGAs|B82r$tfI^BP>D>@0896&^9eYZmSYL=k!QV)CcY~cjEa-u>WtuKHQ zYW6!s3%6jW!|w@eb2Kr#q3FOhRee+-cBNP)WntW9 zpl#uEJe1>a(n&kU0*{p5@@qT~u(=0qzzI;Yw*GFtm$qhd%2ixxQi%wyKamKz#_J6E z@guj=JojAQ1MoJgg##&+&qLxpfI2rs)gj7|L0d?T1Y}-@=b>Wz5!i#GupUZ!_nJq< zAd-b#O|H@IKOBg3eCR@vCG6vYOae}f!eLifuSF7JRMF&;YB~*N5}3<-zJ_`XJYW!j z@F22>;dDBhr!x7>%ZlIrnSqBwSt**_S!fIj5t?0#%Z-07P5v(ILxg6|h+Im%rbM?2 zHa~x@7YMdt9KhOb`Vo{IWfLJYvUqsIjW}#~y9l)Kyzn)C8}@s=@OlDzbF{rNz4Is05ZWgU|2?C2cuw3;w+Rf!Q;&No_YgKq{VeMi|EP zkL|-}RK1B_vwMO0jWCMtUiWl>kpo1c1*LB^3WT%u7W^e+$8ewkdVzEgdW_}6w(q3geB;XmNfPCSzIvN{wF1-uY zr>LBrv{YW6Q;uVGu2c&_g2Bj4iT2>euSGV zE>4_GQ@FQrzZfM^t=RF!jBF%A(EB$Xql2i=(6#-K-2<%10H7*_Zu{(nS6ETQ2|OBc%7a|qOE zM8^2kYDvcdQWn62+Z(sno)|KI8fm0zQ;pA`q+bUywLS0$-rv&(3@cE=HBok9`b)PF z`9@+`VfaY1CT5_CJ!%xoaCB=v8u?Q`?KwEC!@oUc^@e>YV7fSi?2 zX7*Aj{t_d9n$tFKT|X6x1p?XbQD)i-8n6#=DzRV@&?9Yu!XUe5uwjK% zeoa>|O*X*K6;`_ggZZz8Ov%-7PYBdXPUQm)NYZ3NU!&B?2^Ljr6oDw#@nU00i0JT< zERK$=Hb_Jn(zse3GuF#@4b+YeY0aS;WZ_qVe>7+zzAIKl#r9Y!p^BKT^XQoIXrWVV_q?z+d9kh1{U!HgvREOSS37 ztTH1)J0A+!Ewq9YZ+JY%Y&~B5u{&H2v(`n5=}&SVQHi9wheF1weTjf>xmQ~?C*TIy z0=s0LE1opQNrodF(kv7ZEHl{}pG;p6c=akagbYUWVQPL*<~Wc}7b9#4>5TYQG&`m` zs$8q`@{Rulj~y;a%Ze!0aitqFN?ucmgaiNVx)_>BI79qmV-- zel4);bAkC^EXFOFk4{g{8~zo?4sE>zbuefa)xyP6_EN(D+W`1RCj@}wdyH~`pWeNi zIp~@4PC^eMy_?8;%>O;J3ZasGz(C-)-Cv zgyWZmm;fpmn%@pP`N;(JW?4ivqXB*_Xr>SgVg2bJJMfPxgSY}rw3l5S&b}BnnB9J+ zGJn+CEy0m(v^t>E(E?uMymObN+#w#U1~xESI{*vBy>J#2JlE)A1c|sYkov(UOAc83 zlg|8?V8<`yn*PVPZV6d6r!;XLD;40Pj2LFi&r8Zq*rOe7L`b75a#8o=GOioWEsO#1zRbmuB-V>}an{e^PqM2BuTb^}UFunq9xK;jQV4ho z`w6UL9Aq$nAoihGeGdp5Vn)u?^{edlLi%;x2$y%*BjMFvV8DqyV#3m@*ogNrfB=|- zQ&#r0?=$IKomh|%T76fZPygJ1`^K{HM%X}wjpxD@Sj>SYBu@sh{#;3Q|9aCk!B=VD zD`9>6rvHZebm5z{_U=pjtan=2A~n`uWE|M9QcMEU+TYO( zCcCIZ=1~pXrTH#@ExP}x3slW~5AH&l3XqNlB>XU@L-F3LIa|2<-l6=r@8uO+L=tJZ zy}SX20roVz;+zjgzZTLu+;X%;e002c`6+4P#8^?vva6w?r#5Mj96&arAU~(6qUObc z7pu^XDZ7H|li0L3Def1kHPtSL*8S9Yi6v?ConCFLA)gXj&H?P7K%!eDH&`^H<&Esn zyI!|78Bn_0bC?Q;J)3?$wV zH|HVvcv=xbiOElWg?}w{e<3{)ELt@~PhK#6L+ht_ z`l?bAZ(N6`bg6m;pVY{v#V|wYg{%;Uxg1b=)_{>Z71X_WH|x38 z0P72olNM>|l#hnzfJGZ?VY7MwEq+#F7i@3_s6mHI5fY<9Mur-9(%V1<4vKs}h82#MfZuD#my@a9+MN!TLw5 zxD3GIE8+jERi7cL{qK$RVp5Mtw*_BgZGvuU=j>iX*eW&b%17ht*#WOTLto3s0;b#_ z!=Kh^2td^N{aOb>rg0>Ic(uS><*b1X1u<5VYSoDRDJku!w(ba>s@S{iOZ(XTdh30p zGIXP-lgI+)2>U1j;3BS_Uo7O1c}BG#qDJr;QRN#zCCaAz_UVU{F-U>2B_J4o)`G$? z>sMoZK`KMRM#%sag#8$?H&kD9AuXStJrWx2+)}JyiWa`PMufiU zr#t6-*&Wy9#Sg3|Auv8zebQPl2{-7iqY_FT-Y1}RvV^YD@E!1ccovjogt*zR#DRGI zszK4ghI0}^Kq!RS&-lk%KIudE&b%^gpKeE==03sc+c;Mkvr~0w?V7`O`{{uo^VsC#mj? zz?R71n)ENv{SP1SBbi21Q?Y?RGM{&rua;bsuJu%6Mbu9j6Sa^54F6V_aD^}t<7CI6 zc;-&wkExj-YoYYY0a){0M^Nz>q5F7ZK%(e2Uw8aGjqKZU?-@(AMzW(;B}VVKB1ff2 znT4DToHjB*p2p1qxeHIL{b*sphub`jj--A9qc2Kw|08_b1Z-& zP|V0LJ|*YVeCQW}q=m~alug=Tu2GFtc!t*YFA})h)7b6p3-90^pP<3TxL*sCR5-Sj zWAyJUEwv3F2DxAd!mvy*&0H|XyepN1PkNedVBIgIzO~#VQbu*j38i#J)G!;hWm4eSna2J z4ef<`D6Q!zz(MQWtE-N#s;X6xSsA=UbZfn#y&?zk0Cx! zU?q=ht_rYHS(m-jH9&#+@Tq8Fw9Yu-mD85dc$5LQQv#=kFDC^*xeo|vAPzCOd2 z;<%wo)#M}>=;1qhuL>~}ARxff1!R02yFg}XGtgTTk9u782eU)=_>Ix6oy&ssPrS@- z>)N_IvjX0Rq(9!^5AO4I%Dv1xVUp#->aNL)qMOYrzB$I|c^_by+fJjD*C5@scVaoV zdNq|heCoepaC?;9t0V(8D+|*%WS@Nh?1VVxOh#4_XhL7UTHu0jknrJatk#@!`{8YC zdc)_?=?gOwv(fi0jb;>S^EQFcWKt337_@&Y&HpA#0{YIRC90Cw9knxO#pkmN=DLkS zv1a4W^^g%0EFwVbwo`ridNuU$fIh5Z&N0A2wJeQ(j1C{Uo}*{G65~_*<@|=>$63oO zvllNvKh8)3aFW0hS=#Bzd+!2+8}x|0r;bm3o}!BZeprBmI+H!Fvtbp94bVEa)O+{# zF|3Nl2=Qul2=vX@ag7gL1i*q4LtnL!XydHzv4=jJpW}T13_II0OrF#pzo)eoPZw?ct997zBvkYW1h%^cz`%0|9SQ2Nm8m*|ig zFAW{i%W~85KCbapj{BcXd0h$>B`H{ap;(EvOzVQqsaUHyaiY+mY`z(z>K(o?4=*#B zn^LTCp&P)csow!HY?5{c9$m&YH1Ow^WJedrrlz04diJ_!i6&F_D?q%v1XGrzk9F!K zLzgOegv}*w(tNaghtk4!VJw;TQlir+lM(bCal_3{y57y>Vo@ zx^?C*_(bM$W-S5ZSH}Ay>Ha~aO2aLUH%9GXp9tjEeX%~ccc>`FpA z>JDid&_I{vOkjd(WEONQ2h2gvJ+f>AgXHTn1zS`=C)GHEQ2iv0ufF{mF(~{pEzJ*7 z(+x_a0SQ`DUXRYOLv+u$jmZPi7^7#GMQ$khSFrJ*mYrwmkW(kz;NVkipZ8luShuel zPujIOlRi^%>70mXbyiFspqm=9o3P_)Y6 zwZmI3bf{P1A)H+&KCzgxe`Q3HoN)0oaXD&vA&s8gEANsf>E;qdsp^l0bxq;YOO!=Z zqm`Nu-5xXL`po8PU5=zEqlsf(hVmruKBUX}C{?rZqOZd}1d7|rTO(GT z@zim)pb0hxcwc_p+#o>iRm>ps-NU6lzf*23bcW_fBNk;xYD{uNOd4=A5oVrjve?i{ z{#TJWSzO-H`HA;cVxVYimd3Qrvnzb^LEQ2OCm{$uYz)}8JN_VxrN2)|fT~WDD zDedvCE=Hc6ejQA2Ga#%&hO{`UTn=5wDiyELaH`xz`lA#>taV z?X%oITFJv90lFwj|Sn+n(*A}SHX}l2;Q5Hf78O}cyrN26* zhp2D5F69?=rSDiqWZmw+a$Gu_zz!rO5&K*pekV z6)lf1utU!mFBSnkefGIQ>f%`|W=@M6R*6SuX^(=0?XboH&&6^Nz zAtIon!+3AL%2aFf(Z+>?g>RHsW7#+%A-#dCpquN}Epc1}r`61 z%WNYc9ZuFHukIROFt4;q&4p<2xS+|a`Py#bYMo>g6)8Z-YZSk{&XXRH5~+2~4r-_U zm^oetY71`3@T1|o5Auz*ky$J_eItG7E_?eP2^x4=50Bk0b2SYOe_lQYapo-X@{>nR zAL5P=6)G)n+vv#6&?LI0Nr`R|d0GZtJ4v-8TutFsaVvay3))BDk2c?Fja_!S>M9jV zq+lv8g!TS?s0X8Z$H{&~`;m&KFWBX%2=oKjlAdXS4;89(DySYzW=1k)#P4gAXs@Oc z;`1q5SFNVj%+0RNjC^8w=?~BKdD6`mJbJ20WOsa~l*>%~V;OVS{A$e1)ftK~CFj1Mw2G!*h^updb1^~Nfds;cgoZz|v3}>%aXX2N-{a#rrH&j0qs%zQ{DzV14258)e`k(?9&H zul9GPmJ1!te-xa6*$;7KS`3Tvmlk1|W*7DYi(z5N|~R&Tx2Q2_A;N}|2v zjqbe2;J2ZVeE=M{i+#~?A52eRg7Zj!7`)?Z9AP+J7XcL#5cHqA{6rQ#PwXWSgK`Gf zp_x#>6*4lyMj()0Z=hfv+VxaJk~emNq-CRi>l#)tEOGbv8mPlnvG>;)ceakpGKoHX ze0r<|>1`YQ8#3t`rYYct4FGZ%$Dxg%biwzD zKN~^Wn=bOJ<;!3<2VHgn4a6^0bB~HTk$*HJM&EoY%8^g!d7#cKM0^o&=a2t#=l^4% zVYQg}-tH{FQMt1^{jVa26j)w6xwvQkH}w>M{G0q#iMbb@yJ&7nReI{=pt*Y;woN*_ z_P_Y|tg@8w>c!s@4V}m1&+6`!S&9t@suRBCDjuNcp`06}6xg;<)Y6Oy7$+Ib$t_! zQkYZHPl8d&pgu_+s}%;)k|#OFlk(JzR9i zs#E9M?=^|(itbeJ5!UH>sqTq_2aEN!sJX8*4lA8=m3o>7GtdXlUth;hm|s2{Os0_% zzoGgIJM$v^b?09r;ppry(aATHih)P1IT!vuEFTsTxb1s|AMID)GM*l`g|v0=iQFKp zz{H}Q?&tkZJYR9V$q&J!x1>AqA@m|u+N2K?$6Z_lpR8}DzLtrmPJ?f9@fw)V+6Y7;est(?_L0P=Eu$0hb-jnZacQ3;?s^r^wLG(EwN(fgll$DYF|>GN0q> znlX9%VYzx$tY+PGt~Ek^TccI0XAs4^S5{T*zjO4es=+aJdUU+YrnBIpXTr>fS~I z*H~dBtE0K?7(^F{X3ucW=rD#jkvKVQ-73S%^s^y*H=fQn?>C(MwO{*Ho;k)0|1L0B zh=k$}R=JvO-`BsVgA|<^@2I6)@>Ezj-aQCiK9JFezCe05s?{m3tw}ZWxeJ8GutAEI z(*6$3Y1*09GKQQc8^$>C+_hm&vbh+!22G@lic;FPC4)RN!9rh*6!61*@j-@2Y>Qj6 z`w23W*2Mg6qRKIEA9|i~)TuFt%K69(jMvMq*NLqW(BV7t3@{ml=M!t6fVY4Vo{9S2 zQJvrDuTxTUtAZb}5YRA_;9YBTD-0gE>hR;HQmiI&=k=vw)-0j78ibq0e$t1{Yi1Fe zq24s2aMT$#UMLC7UcJ*u?1s_fJVw~)!CG@&i=Qu{S?ykmYi9~$#*_ZefPh%bT}|!a z6HI+LI3Nuz=+9k^_gJ0{v#{-4!tC$VZm}Ey5lOs4UhXKs3IB&DL~IetW_JCHBWHYT z$)e8^{S~5ZY#hM8Tbdd(XX~#_{_M~ja|ErzskXzpQ(g-q$6T&|ztZ+B`7%Q(FziI! zFsxu?@_<~L68=XR>tVIJV=8wVrwH(rzXaN2$ue>c8Z^1RL^vCU2DpUS`md*&ZcdRy zGHBb)7U{SRt6m$q&8;w>Bd74k7Mbm6{2|et{t6?`%es@Sx(si82(@|Q*s>$#8du^#@@zM2MU+R<#Ln{9lvrD9`B=H2cZ-ytsoVqcWwgN`3_A-MkvWn&lVXE-( zGlyOaoBPXr{TxkCGoj&g{mW+@>aTdiZO-ONPN~`|3OT2T!MvjOvCcx?StgmJ5;H&tIJr)eU1Tr9p4AI;4y78j{6%O@Q~^ARwSA&; zgyv1J*G-S9?F4f;DQ~fd$!eu@v72n=avyrUje9`A$KwU60Hs`4d2-0htDKF?Z-qIt zFJu`lAva-Bj@@PoJ#hvZoR6o|&qF&ybq%8oT)$QI#db7c%BS1nQ=V;9@^|QIM&8mZ zY$2>wuGtNqa57bN{JBC|%o(C90dCvd3j`i>XJ`z;!9oIQ*qV_GdJ)j#_eC8dB}^szu;1l3ff_5ZS@Mo|x^!HjxTR^o@8#0wrF;H;+ zYxDRF1k_eVT^_J{P`-s1V?;MZbK$|dPF*$h;zL7tYR=|1bWP!7rB!*fH4DA$!k>~0 z8YXeY1pBqQ+30)lCG)G7*`KG)=+2}#W?6EzHN=K27k}msdEHH)TJ01JBcOy!SWfYA z>-mMKYykh% zfKTXd5lI1L^GwS2IB6!0jeBvurK*z`5|+DS4SgOpu22kUm-(*hh0RLcB7f|l4xhYO z+tr%BWb_Ogp7JWBWh}6nvq#Hpc;2`6C7+le-VWYEwN_KS102+f*x=9i1#y5}Mf_eG zWOjeQ)AqixxJ02BFgjfQXmX7|trd~`!hmSb>6dyMo0NI$Un$njhn5qzKh>i>6%x&C zH|WD`5qQAcp6Yv7I`qU>K%I~eooTc82-ILns9A3OhX32f{2GiSiY2{GqlDp0)8WDF zHIDqorC=EMl8HQ{30Jn5B{|JhBjZYRB8o(|I_u*}ZW;F{-xOMR__@#inYH zR#okl2(hd7tWjHRPmOBr+NxHFsJ){UrFM;K5vs&0F=M3i-p}uS-#-AyIp@BvbFSwS!5<>jj=Bfcrd+a)k>**SA`Mayf z3VOo*G*N;puDNB zu~=xp9@#RUj*OJ7q425aNwNQ?-(_%mSVfWj$iz)zV)OhJ_Y~jq(5d4TFVLz z2p+GoB(yX+ewE1jybm%%o6^IaGbqcrG%QL@hzZrBZ)r&zlI3g3cDlHA)EH=Xu5pz6S ziN3RJAHxo-AAx~{Uziu#qs#|{>_b~^FX-t7f^fXN_9aALx6$7cP@#lykZQT%d|)1m zRs1>e#=?TF8xu&f@H^iEX#+gLK*ml8)0pa6<^N;ztL4tuqRN_Q@t{g7$voQzx29Sg z%{FO9G0+{Wd8tmt^Mwv)89OkyrcJ%~N0zEHLyJO&QiVT>wn>7-aI-U_- zFhh$3#;#k%Fe;KqxB<3~Z$(mTW8rsa;Mep&31_7Ig?NphZ{2B2@INwF}CMtH+Ay_CKfx`7%XIDlj}27p5GQV23J}s^W!J8x*9LZ zyamU|gqOFO5G4L*l?%?gQO-f36lru+A)s#ig@!^rqGh}U({=rgK-<4L%fCkrPDv_Mz>-5OpU7* zpG3?ZAL)8$GxYgT&? zyg$Bc6Gvh`vvPonZ{UrSo@z%_f=IY(VtMXlWnR#$p?|~)73`o<@!ES~)%%ezuBR8m zEgB;3h*-B(8Y>wZw+?ukmWXW23r{6Vs95wMBarm*II4YKz6W zM~~yQwM`Ji*DZFeqKX~+m0wqt6eSF7JM^~)`HGaJXyIQ}vWJal%pGgr{g#z&ir#MH zQ8%4?AM0&JGhF&2`i0t+;|y>B*TZN!&PhdEs`W}x&Ch&UgBpubWpeb`3|RueR>)j5 zncBh<8>oV&j0As+PzcaHgn)L}=Sqc+KYsqwkfhd&I>F)jPMoW^-7M;!Q+^w`345)j ziQmx=K_vxn0-SA^y=gx00Ab|BU^#gJr^D==dRdn>0_vsn7Vp_H$%VJoX%3x&2r)0WMvH`u*?yaskJ`l%CZ;vEy-AZ+{Nn zlGi$?p$b+3`hGpm-c1$U~Y zA06+)?kJ)63SKFPS`;^F>Px*>qVjq9sSy#ji%TZj4R93&=+qaa7kT zgLW?uQ+mYm1v?sn`m8USN;o;m%nOPBY;@8yOucx^#A0E+RjYz#g75hq75$YDdJJV|M&2Wlc$o<*ts~p|D zO4uihe%4>hG9)*sR9wHBSQV*b9v`*`3&7rXKQ8z@C}}eDbb~)!0F2Ht9t*ka>DCmf z+NbIHCX^y`YL>^e9xcF4hetiq8K0;4OFux{O=7B5SwwbmcGuVALD;+a$$zxD=l*4N zRWJlGGV*X|bH8N#-GzvDuKUafC`bkj2&DxR+*eN73YPy%ni33ONy^_~GEUXMa~0nI zpz_~$Z^j_VWZ?l^HMZ(%*lGLl0Y+kHzRkLv zC}!LS324CE$qnqKl!i=3mS}D9{k>9EG}OLr=hwKN*Wh+u%sTOda$c~W^%C+0dRpXQ zbvfXkzuK+9Q3PiKON(r&2E`ywai!@hh6nF*gA|-8>tD42!KHBeMaw6`9ktZ6J>E=? zKfM0cvxQ||=zR`{lJR{3f3|tu)`cycT!hx7U0JlqgYg4z^)5R@Gvqdv@i}6(7`;-| z=3e7>)9|5~4%e+QK66G0*x+;T+)uN&qMG~XPd!#Wl{Co=)n@ZBTxi@n>**zdei1Pd z#tm1svd6scPeT)v&BonxnHlHec>9Jh8;{@|S zio00YZXKM&RcHlFnwjO^1x08UO;>n%bDRhi%wXLs6JoPm9p@)xYyV#5pBR-H4I=vC z87qgiqe8|;UHO}f&sf?O+LO4sLk+zq5^@lu1 zuB7SWMql%m@|>(u+%oiGEvkCG{))0hq@Qlr$n$iV;gG_4SYqhW#lMG{q7;656wk}C z54!&8D7yRi<3Ld&sNru#PVM@81|vdHvUPf3Mvuno`H!p?$4zp|i)>Xm1wzkWmxkj@ z;@m@I>70H`8m;X0`k8S3J`S`z(Q183vDM^h>kMA}8RRMSyUIHwhe?FMPGn?MO zxx6F=aNmXb+w%=XrA|_Si`Ez_zd4gZj;JhRlgH|Kc5aqhKV~6lXX5C7l2c8gj{f#4 z0>y)rIR56OD#T4s4mVUc;O4m8s;!Mx6APgu>ktf^HjZm9QR_q__DHiX->=_(iNQsv z)#H#eM^`JYi{Bvg`WAjt&0MM7{*vz3m8Ra|9&%yNC@8=E9=XT5JHsa>J6CDdBv0jE zXh@3`oHB8Egw@Jyt74f~H4+wjtjSI_9e;;WLI2BZ3PRpL--_nWO-}(a8sd_HI!F!+ zv1u}_Olp7j$5&cF0$LS9%10)2X)yUxk@62lk zU4^$%qm~*%OR1%-m)oL9*wktGk1uzFcxMHp4sb_>)obG_l?R|2k(<-96_uS#eo>)1 z(@NXJDtK`tda{tHD6?HH9nh!C{52PcgyGfZc#vG`2J=I&JsU|gy>L#orgPy_@<1a2 z9=LcDaMUcFBKWzuE=OK3JpnqJN#EU5!Zix}`0}H@*Tqc4E0|_Ybm5@#h07koJXE_f z;l7$0&kWyTK&|`xXN)ye*!Ih=Ka$uM9SSJ5FOyz0dOPpnv9M|JIuoqy`*xbBb6ne9 zu=K}&gF(q;vYcYs@{jlj=Vy0{`d0HFSaUty4Jo~_eMdSvWpoH!fHq`7zT!lfNMS=0 zcVw3w7Q+gqIGxUO(I3=)?%M}I=Y-HR5R2EmaZ5Ob(LT;;O+7${SCsE=LxY1;XRTfd z=Y3XdnxYn3U!KKy(0!wKVS&0cy1d>8MhIoC4)Jds;u&ufaF;ip1LIY&sdT>=3X4Q2 zI#p{Otp|TZ?lSZp^z3c0-OjG-rpYO#Q1|@0{a5?+P-shaKeu2j=VwgS!URft>MvO? zo)$@df&m3#0s|ffyUyG_>hiNJ_SO{1+R2R&F^q+NJCa<)j0Iz0r=gskmURo}>kr7~ z#aa1jm7u;eXbSvj@vefGnHI;T7!x@DO2m-y-b%^HWNN$!m@0iC=c7&L!HYdl#+OOc zX$G+98Bi&qh*zVK9@#I_j-zF8yp~xc!w{#oxt2Yp6A`I!4+Kkw27@|pEz1lv&2u0R zt)$i>{B&@rDrSyI{J;xi?Rx^T0ZYllN}q4@@^2ERhN{NP6YNoXb(!3Pmk#VWcPL zW(;V)8Eqd>^*IB=0!t%g1giBTEgPG$?CN4iva57~zzx5`Z-wqF`z9t8s50}vDUefU z?t19?TLn=yUMw3o*zN9V>@@}qKkDveKKL<5R%H108Cix>#~>3ojKu%+04gbW1k7S#2@)DLerLfo~|T?9G4n6O#b{K>V{v zMoZt<-!-K!9)9ZWI`=8WCCr8k{lH@Xv#@9XNUZ)qn=E}dPcqjzC_eAC?N7dykHN5C zGwt|Lz4EC-{#+kzCs|@7Y=L2`aQz3y*P4Wg8C@GHr7jn$EFtKeNg9(%w>FA0_aGk z>8Zd3?a>}LeXzIs=Y3IR#g6M1C)~X>puq28=I=^=5ZP0wO0NYw9$aQIjFA9eSmx-$9$F#;Zj2*ByLV~ezws- z*S>&Vg=~k28zub!I!cwSm4%bEWV2f$mI!3a?Rly;0l-0GWVijJ{>iLH+#GFu)`f&# zDCqv@fT)P>3)LBuZoKrk2z4Y(_=nk2W~Awv()Tk_{8D#1Xpw&TdY{><-n z)FX=2J?^AM`eG?Xi9WgqT1}hx9R7*JhU9fB6&Bf+?&%D%_M)z((<4uWG0GsnAAGc2 zwdbmp=r5KhnaEi66vunFj@LI70`+OF76ZXXVmM}7h=B52!fI`(i~Yy9Xx%@ij#;$9EKL3^!Z;#B0abOwJg{R!K-1P6oLLBq z%%pxbch?+~Fw_+h2x-&oK=C*c5Zvv?(mv>Gzkmi;`zy<-ex$#hrE9*SC_IBO4dH5sjHch5dDnvKlx}_f z(8)e5Y@u?$nD@^|4_^Vs7B|{88as=OcB4$zqfEv zu}s4D=4eD}n?qv1U)@nU_euK3CKCQ42{@Max@4}bU@W8mFoeHOs&_nBP->h?(uh}w zD<8?jTaRmr80qghM_+=qMy7b1B$(A@=kF0jsEbj@MHioqH)7`G4+IB#v8cCBx8?&G zLSMj}ra06>s|^%`c>Sf^&1twHpe@$v=e?*knLNaczMA+!{(x}M*M@qCpgNGCuS{Tg zVTs-oiyB$iw$2INCt-g|XqcAeXA^jAGr>>nXL&>y7oOh}y24>^)0Z|O{R=@C8PB9p zVIZZEH4CiQ!Xid)Qbug?7~4oo#jt8^<&y0}k8C2feF~0Hm+eei+*vfDkE4s=I6#5& zzg&old>~*S3e`1Q8Rc09vvD$6^NN0@I9F(-+CbPnO(NDcJy_cv-D#YLmvc;%%?p&~)Ax5zH{~1nxZtN5e(R#R%BN)yVA+ zls|HQ@$(f(V5(axLTHio5|-i*;~hOboWXrGn`##M>ne0!A1$cPQBGsLQHTkRb1lgYiPDsILRey#Nv&Os!Zr@rivg$ml6m0OBX@BS2=pf=hr z_(#-w5GUyow=-V}iA7wm{q%F$q8BKZ_pvrog|nIj?JkoE9PQFMHHGgXun9LO)YLsnVGrlVFA!d`A8t+KnAdDBJI3TrtxF;!S5QW^r4csIC}DOai( zF<2)QQ_DEM5s^7wuy*CI0RdOW4>T!rpl4;=fz_*w1CGd$-NLNld#=`VtVY4cRuRE% z+aCDY1rE@7n2n-5ZR78csPvOvXT@DGi6$VWkzUY1Jpg-lEUND_0-jO%<}0nLVONM47_<`Xij=@^n3(YvTndM8O47Z8HFsia)yo>(c{hL?0+qB!U z;MXMl4bbXyt}^@6MGJXd*!=NZ8k{l~tg9wX1(#jf*{K_6>3N_4(mesm&;DgXC%o*< z;9_vVa@fzI_VDQPZ1aNBRQ;Cqe^2fhA?!yPE4MJ= zlqaP?QOo-U&9{c$Co(#ikx+!=;i0UqkEQjZf4Cka*-DN4R8K{z$;dEqj%%ag$Xjx3 z0jnW)N;WUR71#31-_h`-+Xd%9D4%P5oQHt@4nQ0FH8te<#ZKmE@7cnIvNEFt3X|UUNGVn%CESXXf{Bn`|4y)UXt95zT=Q7f-ih*~phiV35PcKEzaj0Hf6$kO7 zYJR?M)iEmUybuFLLC>*0$=ARsC@M-~~*Jl*!&SKPFawh&`SQJseNywOkxDrUdBOR57Z zfUmlB_iBNquDQeRjl<)qTPz1zKgCZoHPpx3UMcNGiwt&{ys;E_VFWkFi-2ar4yK^8 zBV&@#M@+(P-fV=H5XV%Wx^eS=Nx2$KkxrTykNs{HJ5V4o=^sEEbLCn4F3z83jV?iJ zEE9Xd14gHzeo4zjBSHIm&Vq6CdCH-i#l1DRu06B)*Y|1=A0M|+TH$*kQ40!xHnSCs z4F}hy|BC55H{qe-+r@k*HR?hAZ%ku`_r>2)St>xcsQm${pqa$m1_L+8xA3ZWpJHyaO!$72&&DV_kdFIagY;6i2KDS7zwPSq03cXgw&ezn#uF`aWEB`7!r-f zCC~-6@VsMIU%~nAoAJsGIv@GB!dUYYGVXPvM$Q!8n)6iygybB~bHW!suNg?maQFjerlQj_<{ZD5&y?(L=Y-sz4;# zWk9dT)Upar3F7^GSKP-oI62B<7wFrG} zjTslVzfT=vw$O#9s6%im7dn`0uj<7fy+>Q}nquAE^6e`LXZtcg?x;dR`F@)CK9gSc zi`Y;w^qOS`=|?t&`bPZJEs04i{eu|y%J#F)Vnc?~Cd`^fkyLZ?k!%+gnrD-_!N*aJQ4l>b6rA=<)(*!JFNGJ{nl$b&-AmT0>u%8}2VRLqBzi zw6_)5>Agbrl6k_f_=^|}>l;`yxuY9Jz&BY#kc5bK0z9g}wUrK;c2&PAbVhmsa!rqI z4<*|kdmIv7;xltxG8EDNpz(7vq+~`pPk=0UW2ooL(iX3gM)La<3{!r*vk<^}moctH8%uDl`r=jy1-VttpLE-P& zX(oiUHBZT^$|t10C7Scl(E$_oOPr+jW&a`MNzG8n*2ixj>I8dKK$sKNJ!?VI-h>E9 zOmKdVibk!aOmyGsovP)a+4Z7X0z8HvR6$qdnH+M{yoU5ch`FbHmb~NjV`PONWEX@C zRtt~m=+Dt8=7AM7&e~FTeKjqzjwN42>Et6Wp;v9za0MEXiA#5>Bt=DLhFQeGrEg+8 zZH5tRKa5uPZZbK~LUpmvSUlc(2fqg@oe74LqSpS+sz}ut_u2iHw8zz6;l`lm!3+k= zWYUio8g=h{+!xKyMox4sBjygZ`>IX%r(v6Pk=`$dZyUXsY2n_Tro7g9g9j1($> zTjwcW6=MmlL+@Yj^I^iXeZ6{o{otMWTAMF_yYI+vi?X}OCxL1iiXEEeWg1^Mf#@GK zOO#bPxITHiqBhL)m#Od-@3QFEtb_-R&u5?gp6m7l1uZ;|$^E0Be{(^zS}J&P8TD8d zk-T&#ZqS?i!4+_b{RhWbDr#sU?&6c>kF5r$&Uv;kL7kuL*z#Y-mJ%?c$d`~K6^9cu z12F7$+kY`zaC+a#;*QhQI)G^7Smj(qy@A1a-VigIb5er8=O+Y^mOg9I$egJJ*ZqRN zh~n_Lf{aMYw7n3e{QYr_+B})p(TPB-wF?^kj8*T@+q~|;h3)Phcw_V=j(q!E(KUjL zdRqM56w~!w^iutu3T3yQD;1n;=uWMhW&Z8CLhr}nec-LlcQQfYR&3o5AiE$Hp?91r z_7ST6HwlsUtagG=?^6}Ws*2(-qCXy#57O7*OpjHI_igIA-UUaQ)Kmz0&x7^59cb&nHhN1wyCR4Q4knRhyJ=UKYu=7Lb`Mfmc zO_$@)W&FMIw()E2*>a0liCwDY-B?-XncmvjAw~D|Yk$I5sS1`cTc-*+lehy=zF`>A z%6M^m_L8Dej1WFj(N7!R53I@h)%G1!Rx3ggo>Emvos`3}Ax7in#l@Y)>bCQa^L_oB zMTe)!?_>1b(2A~IgPA@_(se2ekU0_<;-<4t$6!5ov@1!DdGzFvPI;ha$g$947A047 zalWjwa&FZB9gj{hFn<=B)P1YC3}jUjcyUpDQS>Sz1e?7+fGm)o`#VP?Ibt~x9FVNy z5J3-U4JR1udDL%Mu65OLzW3tyOArD5kdL3kZ8e`tqjn;OPC<;If>x!)nn+ z1x#udYq4PC7Kf2{LfVOs=Yqp`rw$X4xTJMSiAThb5^vXD%y0)Neo2@qoRLArV2k66 z>PG-bl3Y@2=oM}7vXt+KjjnQqIo`53?;W{0F>TuYLswWGOyF;1$=dr`HN(#)&);Hi z*gUGtQj1envDVvqZjncKjw0!~Pn`wYJo#P^#doS&(E?YfEG&`BsNZ}pL2mZocH3n| z4o?>~;lIB07uzD#lDL??5BX@AcLi+oyv}=uCRS?Vy~-5a)I?f z6{JHeO{AGv9Ji67x~FJw3iv=yH_E2tgl*Yw$~05uGI}?{)q*`$oYZ8H+pCp6X=Mc6 z{cacP6S1ujN>?fA-fw}KXluxHE>yX7k7U_(w^E%|*ODtXL?#G(-@<&ZpE>kTK6fpM z&|s;Nz67~E6D)zW`7=kdrSFr$fVDBy_kS|u6$MZs74=d2j7+rbD;=RtD~EiJ)4YX) zTB`tT;-Qv5aZ}{Hbsx^Kn9UAII+y1+cv_g2Xxit^q&BjAO6p1}dPe*W0Rv_cI`a;D z#P7J}CKg?Uzz+}F%DE?*L%V`m;-p~JV}^3b)hu7;sLjxd6}Yp_ozCG$#3eh8$6)T# zGLYmo9m|g)S&&dP+!2DloDk~Y4tH2|`jrI7b*PKUKUli~kMA{mXSb$!v`zaXr`=Ep zAVh5Ghq`UxY#j6+Ru8(Vh`NS1TKyC+hDbyrUj~rzug!dm#yKP~>u>dvcvPqTb_F1$ zDl4Zy-v3Q|r6ttbsL>7ijC;G=rVC>+VRQcB@lEtOY_!g{_mR+a-+rR~qcOn{>Q~6s z7p8ZQ-kcwS15PmQCYE_xn$Obp?UiaeY`sc0%NOdGr(<5mg;)nEz?&XqZLHrdXN|GE z8C7;Q{Jr4s@RTjYrM*^xOvLnOdpab};Xm4t9Rmc!6Z8JcIY(b7NGuRFTqK@22Mf!z z`fWwf^-DpqF8^qwLmppok-4>|G8a@YprA}vZ`&?-dQUqROM~_1Z{B}w0C7htBek;c zoH8o{TI!#O?Y?&>%GbSL=d{%${F_OMO{<;eR72 zej-A%yuBqWhjN3W<-3wAwx(xL4h4Rfk=|c;E@nRSjb=_bJr=#up=B%dCm(F{%-qq8 zQsZkMMl6UI#m8XH3+v-mWz)|;Zf@$nd!z!Rg7DK}n-v_s=_Jf>8#rc7=0UGv-ok8~`#0Ev?e!yWKJj(pVr`!zyc=jS;(!tGAll#03a^^OJQc?! zj3itP3`UcW$4}$z7djQs<1KFxUjJr8|-jr5M*RRZp+jqm; z`@5J>m)Tuj;PVXaveJbo~!t8ODdOK`uAr_s@)}lXUM*ZG`urgyVm1}WWZe>qy$;nlbu?4Gj08+ zw}>KHY7ezo(QT&c1EI3w_E?q)bnz(Um6me>w1M%`xq1Vk#OvYT87NYpm- zZ_OYxVD)RUAEpE`ESk5sRRxp=Od{xH`)~G)8UiZ9$rFGygsxh1Tlc+6oxt4>{S7`ZAJu#cc&6I~ihN*6HSwb-&^L8EGL! z)fviLC+<6Xej@#7Nob9^@}5TZ`7_KdyBkUqY8_V-h*1N{$K56%zwp*Ia%7=e&s=}| zamlMj6dz^Z!dp9)X@^aiB6Mn@ea_hUbSqS>T+Q*26nB-(3>=4A>h#b6{>`70 z!{B0?$ho(~JB1a+UfN*v!DPW<&`~UXqffEO|D4tIq=q8=%87Ki_@u6DJS4 zmv%kD26XG55^Fn{*45vr4=JU*HU8LS;bKTp#xc7P>9)GB|0Okof12p9sB#{=a`<~$ zCR7u{Ze{;ny}Td&B6++_R>Crrb6i%SRI&awmgfkx(fvE|y#2AI*qPD*zS;CK_`3=O z6GgW!L)#O7sZP?DM_u^y>w=|F~4D%yJa%kU! zc4*qUZFj;4<`)7+5ArONhom)vBLFzQu5#mGSQfjODr+t*>Bc zJy}sU){@0%Ie-Y2n_?aI$kdI{)XzhqC*uTEY|C=nRhT2D>uwJJg5XD2QTjGi4 zbFF#O?_Jk=rXCo=C`c;Bp!MoK$ zA6b_}mUy$fFqm^;z@;i^h$n5s4VG_`2+wpYDiFiD>)JUb( zU(;HW@PKN{p}RtD{I%&nMTGAofR|To`PoEVufFbAZ`5;DI0&H7IUm)wCTiIh1%EA2 zb*_wruhDMwT}NE5y)safY<}(^rV%J0vVtLI;IvkdHM8qlz0}C#r3?b*5+~Keb_s#l zis2nhaB3T?XN3Z#fN}q!+2UXH*1P|iz(a$YgB+_`1FBc~0tCQ?IERgsinZ~bp!%In zqNu(GQGfAk{ui(gxUQm83i|q+gF$2uWKyFeyEzo@U)l9}S(?uiBxXC_Eq!=blp#ABMy7=yb+xiv$ z5O?oMAH;COax}!E2*Bfv`akiCu2OU_j#y7Bq0(+>-1< zq76P;G3&b*>M;rpAFKu*$zH&2kl~Gf&-o=s!f82Q-vfP(ZCU?)mnOMwSLGxy>1Ic+ zK$q+5)GFUkf*y73$~-p4+i|>=C$_~jYpg0WRla%EG$rp9Jslr+xE~p1L<$2Q_=`k{ zr3jq#6tXPg+o^$J*-(DDn^a~uoMzS%A={XbQH;>q+l9{|VdI#5?(M5%(bRw)@Sr$X z)$)h0-?yDWzy>C{pK!koZSv6Z?$M_`+mQDhd&V=e1`XM=VedWvtw5A0YLqsVG*ueC zDiZ;3cWNDV%G2Mqm4TLVNSx2t{ znsjsyOL^Iug|zP2L6u>g&P2k!l|eMXf%I#P6A`Eg$~8EVA_gbkw+p|v(f3Ko)tP%o z8Rh6vLx(tVJ2Sm0{}vet2w#lL>pv7&yrE;06dn2Kj#60(N35}irk*-nF= z^T8G?+CQ17x2+kLja;Y7_Qy3pETi(_hlm~CXn(AF_wa=($^?baK2Vt1PY-Y5&yLnP zZBYg>{COc+NbY*^n{PV!kDu~mRV@Gz^_7zAt|a?Fp{sSjt>J`cao~pB&x@J1W>~<9 zdI-}!_9m#8>(IkaLmmo3Y5KbjcPA5g3@0QGd)M=$9wEUhDdMsu77QRgoX-FfDovys zJcc$L{UT~5>}0Q+)%0&GRih3G0UR%AKBYsFnaoc$dxpiwLmbO5%nA*qs?M5r+%#%g zRV-s(M082yW(-QJzE<-z0u$=kQ+1xhtbZ;{4)4y%&O>hgePyuG5KrEF_GT25xjBBE z`pUuQ4gd}MUd(~f3b-wuRr%3vF}5)=a!q5dQkN>AVJ-&)$cJz}i;y`ZdWUf}sfEWP zbWVs)V$QnBoN^R|>F4l3#NKEJ?3abbF^UxYs%UW2d!pk4`+b5Blyclse~MQPj6}E| zUQt1W=x7oW3jCCd*|r*wj`MqqN`&>d4o$kR{sor&+QWu%SgW7IamuUT565^TVq9Nh4aa=oj3@({ z?Sumdr0Ro*y0#4$u&SEc7qu?I?*8FbM6Dts`&(u|{rj~TJRLu^Wd|H3IA^y`2@ssRrKNVQ-E0|U;Ic%0|X(#2-SqZ71gFFTg>Gi$CeJopZvjX zL@w*{O;Gpv+|kQQ0+Dec6ax?Vq3kC3iGC~e$T%-Bv#-QHh4bCCV&N+t*P5D$(Q0$n zBBY@C@s}nusbg4K*=75)Vkj$wS;F-h#@5#7GqB#Rl~kw!qQ&d-URyLXf{^{PcGp7% z5>N>kh*AP55oyctN*1bkK8mpxBa5IrPN*x3zj0C{UyYs#jm}gOI`S@{(M77dFrQAS zHzcWuGeS0_e_WT8Wj0JR-HRQ@yeRWQB^!!`uI&&BlMkM&8ee_Q4ooyJf8KiNooiDO z6zuYaGZ9XM?njQXwvyrk)8?g!0Vtia)C<>TZ^gHMC+y4X2Fy>Jt~IRHIk~i?Ek)Y5 zuCom&Q*=Z^Kxjhz>yB4*qUlFlAP&+Pf9oBH?R%I3TyOmx#o%qX?Xf*S$6zyT32QxCdd$?Hjy~=TP?uk-NwS}3 z-tuW%CyuUNH!Oh};N8{7&(5zoR4<_;xJV(F=3!3U7twM6oz|$No(FZhM(LI`(~(x? zo-S@DIJuv*mq8&N2>!Txe$VLoVfUw2lSjH&-zSh}DKMf?;0g zhcm|u_FwL9VwwhHiJJ0MD|>}E;9;^ytC;H)Q>@)?z{4So4d+c6m@=y?pUeP!U?TvN z(zt>G0dg_3GJnssTP>MXFKs$&AF=fK#>Vzy;JQ~a05}q1xYt{xZC3~??@RBwzmh)w zjcw;>p=hwIt2Xy^qYWNcCkkad%eq6jfw~G$4!5F2f4XCoa?vt2-|5T-Fu9xmV@T5R zwET|$bLSB$kn2)z1JHRz>t{v=i{?|%ZczVDGg?z{VOWgA!mk;@~8HJr2=e?$4N>^<74mnYVLR05!o;!>P|u$83XFic5Ed|?P)W2)SUE}+X=bqjdj z`umzjqO+=y?^P&W0>ou_e;Hkhk0O<;VnG}P{_6Z$y(;>Zyh-;mM{878ho;S)*smth*v-1*;4c{)HYoIq; z>d3qhHPmQP^a?mUyfur(Y$zR4nbD!%#d0U`{R}ec#b%+?KF*F?n&9_`DcB8f>Jg!9 zOa(15S&GmPa(sYwI`Ug^2xroQEe)<@U7E~3mINxjS0RlLfF3-IvjqZ%&8fFHEuyO| zHhYZJL%tOV77I=U6#)eXipU5DOxo}f3H*m4l&9_ zAU8O{aC&}+J(|nhR%g~%YR{73aSH^aC3qa#a<4yu7X4A7J<8Y4DEx$3W$Nm|WJJ18 z!+0Ph{Oc_0F7fWmL{)}wJivPmBrJfYxCAuJjXAfnxwq&z6aNGD_H4h0-E*&BRv6%; zsQHI*S6Vqu+dynAQKPtwUG$+kxNqBR+s5KlIqZNoypXz@#y`w9{E0|g>OL~?OlD-_ zm#g`(3Uzs0$J_zjF=CtNq|WmJ&FbY+?%b>TXG1hfK%HW_ba??Bma1(^MvP;^xjvBg406K~7i! z1uaX*Fc|AUY~+j@;a;`xO2D?*V{9rnNF;88?VhyDJ+VJ4rV9_ZZc1HKz{1%k{uQLH z%%V_#i0R@umDAgBxL85W?5uA2AvkytQx!xkAYzGb`VdN=j1FgPA@$Vl91PinieX=8 zJyO@)x$fCKkg-qwzv1652Ha1;tw7d4Lo>G#4i$Q}eoG(-pYAm?_ByQO z$W{eSj~LSF(9khQ4XxVIe^9Yk{j7K`+(y6dK6B)le&8{-xP>4>?C!>EsECQJ>8_H{ zONz(L`A$28P|TOJ#I-GA-KQKfJ`B~f4O-__0tmY zT0oGuOI0zw?K-98>=td9zc>7&>smijea~Rc*_6Ber!DnHTCsLg=A%BGQopus<~54d zb=`=XG?Au49L8HXx~Q@f#Qq(Cz>N@FZp;@C&R+nKlkrEk?jy)_Y3x6zlK=ZJ#!S}B zg2b4j*p6O#a4ha{D1I%<6U}5uiQ3Lz$G+9}5$3I-hlY>h8pPAPX0EYtJ0G-2U&u8b zWPbob=P%vRB6&D9?pXqvH(cW`93&rM7cN|4qZ`0arS$N>eMFcY{llP2xmvV)0P?)!u!fwSusDXS*2XY6YI83f0Ca@z~i>-PAfRo)*`5%C|Q z?XCeaY=m*4a`S=X>P^A+n-`0(NMdq6PG}`t6`&>YCtkMi1~-KJ-WZ-~DQ|Yq{FWR= zNtVCh(c*D!jK!s4zuj$tz>Df_+q^>;eWcatr(eL_=G@+R??}l@R|%OTLTB~m z&fC2Be%K_`c1@Qptw-K}Ihabf{`6JAZUEg`qEq(L2eV)SJPX^UGWd-+GD2JhmXCQ@ z2S9wTu3uUFqAfB)Y#Txmh^?MUzn}QgqRsaG( zgmPlLD@I<~Tvo)Y0`H$B{g;1U8!>|?|fc8 zDsmB2@f~vsR7L;9{kCGefJlJZjGF3i@kjnY=K2%O%MM{mFJ}eHTzXdUx5Ru`ct2I6e=H4(*27 zP6{6E=kNaA>p#0az}Y=_)PfTIe{_6C_QsuCUv5jjh6BiHu8q8T7gOFsk*GI_%j^xg zU~;V>E%MnntH?6@#6$JXuubr3V)qBbp|A}OALdUo@zGt+cB&yPN8D6N>i1ntNx^S=RrM2%iCv2Kum%z(XK#m z(?`buzhK!&J;|ow)Ag3)^N7DncqI0r_1!OiYxF*eRxl<$U6$UC$GSZbnplXh&dooh z^N@(trA2ZoLpwQh7#=Dluj&1NUogHFl17&tO)Sk2L_P<;;8fA>sSK_<6&@-G|o<@X1)^$#oqC*V=V9r%iF7D zSEzQx*gD)|zpx(@gMPp0SA0x@0R?r#uI7K_U4V~(iMrk1^xsOt++&rLpZ}-5_x^`# z{o+UWjL~~Ui7pO;XgNgh!HFI{M2|#?PV|}46D3ke9KjF~j4+%KqRohegeW0OBn(kT zH|k)<%-ufUd;f#`dfi{Hmmj>$p8Y)gdDdEct@W(;dZT`>%SYXU#H_&jMKYdC(lgML zSJ!CnW$!OaQZoJhj)K0H!~-jp1AML-}KzW6#U<05b&*{T{iZQ^8tmM z+Wj4LSi>F^PJeT|W|VlE7O>vrrxtO`yV}9Q7}JAUUEpr^!lZ$TH=f?% z&z_8i-~m~8cu#ur)qHO@R~~XxqV2OEE=IAL))3GaV^?p=r|ZH-Ng3=Z%B2Tneadvg zwjb3_bePZ7{!3Ai*Jpx)+c7uQU@hJX#f^4>ebmSlp|)$?h!H97c%O0(DV|ZuFaZx> z$-DaLW>dFyLAA5m&iDD?cz1})3ty0!hXo`)@XchUuQRSPssEa$2y&sg6fip(|D@MM zE*%Po#R}ui#(gG(PFfW9Kwp#l$nfk~9oENIHzp%@PU0?mqJhi`*4OgxLZI#<=k!a7lC6eSe#v>2K zXxIQU9n1;bU`G6@q72$ZeLQAP8WWqKpng3esIT-h-ZWbIWZ3jLSwabdoy3GQS3i|4 z8O)nFjcKwt>Z+#>y*ypH@i3uy_GYJ?_W^5)8ffu_;5KeE=t`FC zG6Fr95q?~^Sr^Rx2i=*g>wmVZjOGrN zu5^)mcZA|&XwGb%Qm%@HMO5*#!zQMbmhy8{gY84O0fBc8Pt7M?kan32CfW@phchLk z>M(fLIsq+Rfm!d+vHKmC(AQURzk$Jmu#4qP;0?fI4W^V$u)-|~RT(-YQ6?33et+`* z&}7S%!m0aNrGF#w&9!037uW5clsj%;(*;}l6Y3BoIBNmOxRnwEo^y&%i7HZbg^6ji zo0#)0oC3S_w|;55aU%>-JJ$2tGYp;M!~{8*qh4CXvAiE9a(Ao}b3maMfgKR*C4k|- z!L5Laftq1RyjpD#<^A>}sxmBRzSa$dJd`3#mDoJLr*kVhAu56&oE|;Feh;G501dCV z@mIRarMJI_K_VGSRldm(Bfh%O{%^XcU*#7$BDyhP?I-<^O3pTUhc&}5l|puF(gnoI zK>z@XPtzE{kN9oTgmAPLL7G<~|C|}iG1#Zp?QkvT1SI>~KATR1uB%k4%nH3*?I!Vp zmN(w#d`F-1vdtYsyP36^tt*UWERYd8B6wEh3D7vT(s4h@;A@TE*zeVU`|^fj^J1{= zoc}#khvPpo^O9Y5A$ zd)d;kKFa)`IA&}m;ZCOdSE3%fi>P<;-uXpS++FE+2c2>fjVM+I#s-o z8`SXbkn%*xbe!$q8!xsX)mO-bh*LwZw`Y7(_c>*_Un%=NE4PXO?$4a}9}@=T0PMYM zM~vOy{?F%1$rWbE-;kHFzHLqqPV!7oz`rz% z&IA?wOY%(S{{Mgcf3qH5%o;yQ^umI#fO{D{nx(3da zkZXgJxf>2rRy5sUK6N_hbwC1d)xGWOe(pVrQ3#~X;er_|n_a6$C?D1U9rdOMrC2Oy zaap^*Fe)oN>#sL3L#_^)AHUi{XiK6UN*z~wFNVFZ+D>ZTv+Av%d$z@fI}W_{wpSkM z3BY}-nZT=ISjMgHx>Hi(0rhtQ@~1qEYzI7W)~s(2kFP z_aU}KWO)uU^(p$lpmkI#&&KcGfwLO$q%)#Gaj-;!(?A|pCW=hjz((eKx_MhW0+Cs$ zw|hV}SyuE+*hxLoWF^vEQo5%+iKg_;7#^IHbP2Feq4H0whrdvd1k34pQ?o!zYDgrz zJcT%YZAcox`%mPwp6WfdpV)Ak}$Nff6z*!@&Ln(e0y9^uWa%i>7 zabOb^98cR3Ee|C2Tal5I+4hkJm%BTs?1OXB>F_BjJ{tb8T;e_FLhY`{u;JMZc7Y=+ zazI5y9V|UpMDvm}~C)8+@V>@2oNG6`TX4 z^=4<)JQ5t$p?AG&anfljhRI+?s_tbg28Od)QM0wiiCrlLbYA7zIEo^juMt5pyo7e@ z(wY1%e*lco)w1B0)Fu7d76fk;;osDk{cH5#3uS%mCkt~1$f`!Jo&(nZru$>n> zTP`m)X9hGE5_E>SaP>UX?(h$gb|xt=yeM*wp>6%P7&B57+WI^w!SL>JEtCt)y}`il zPHz!XUXh$QcI5DiE-*P|!{pVEEJ>wIvyg`%L?Ly?&94^#B^ArHSV$P>oc4*vkMm-< zw=!qnEiKcu_n`KTtT}K1x`1nXv%G`EM*riIx&zK{J#@B9z&BZD;%NOmeF+iUJ3<$h zG1v;+(c}gd@DLVC`vvv_V1<0EWD&oP3>s;RTbznv51drL(QMmHwHa9gR&FmIn)^q32w!j$owJ1D8uO4FtIs-BkHx?Z4$>P0HNF;Vv>doz`uBFM|sk@-? zYlpK3mi(eff=cAMA}xg1cXxkw1=`h*M}c)5TYk0{^u3DZKieOiSu3FV=pgoyUQOOl z%GxZJj#!n`Pgf?I>JEYpR?p%7H$6s9174^td!VN#un(dE7xSI>KcZ-Fc3^X#f+fk7T6DSkCpyZ$28@i{1?Jc~&lz<1#7qZ)!eC}RLoM2<${4*H z#n<&nNkAGJXe6!+P;_*+gL0v1jYWjqvGr=aIZobAu#gMNl% zC*^R8zk}nwI#5ZLK&`yXgj1`!8^x3M^Wbu2ZIf(Yg8oqrbL9>h9m)Fvni%Gj_%t#J zg_-fo4@?F{m%VB$n7#KnNjZG`?~_G6F~lo-mVX-V%M#2#bjdp;-23d-(@DM%e5^L0 zg9JgYv2+M8fgbOlzj-p$9dzjxAf58;w#}|eysy>gm}j;tqHXfJ`PmRJPzh{bg)Ez- zzi&u8bHTDrf4` zN-#h@sP+==zASSS9M7os2B-4t>!gZZQcJHw?{hFH|LOLb7pRk-;*}e&l>_!&?IB*7 zQ|9*votURyFd8WQ5?e{1ly7^vGJ&1_f+{R!YcKo@4ICxpkZYF^$srN=SN1^lqRx2& znu+)Y?;w?bwz)*^YBq(XRYKT{&c5w~;-*!Pld79kK`no^o8(KD>7L^U`b&_q4ZEJ` z=j1&-5Yi#Z98a&fz?dqa{sCznfoBNsssFQVt{lv-3hzzyW8Hdr*_J@*jcCHK0 z67$BGw*|q7g-pAdkpaA4g|<6yjM3SS<4~_&y4Y(1XW(cM!8Ta;$LH}jEqzP<2sXFF zjnl6+Bo)TAj27z46xn&Sol|Xp$P4Q>EUyGc)-ab6ONL0SZKp#wDIIFcSkC)hL7d1o znmeR$7l@T5U7n$xNfXTCL}SHuXTv-fqkR3^aapnl^OU22K^{vyY{=Foh4mQAdo!c0 z9le9xNdtRuAFf?i8<|72km_cvLh-irAyUG>B-{yJh;_FGyBii&Xr8Q6MyPAvZD)-T6o_!)0A;0aZ`f_1tfFNlI_Sgje1*4wr19o<;R zDL-|C^wAZ#ug<|}?Mbr4E$Zg+-F&zBlgH?o zddY#@s;gB!Ck-vjv#++LjS|)=iJ-O*# z+l#MBjbZK4bz;9>({ujBi%VFP!u9H-c05tz-G|ZB4#PbCL)rp2(3RILkd$r;2qZ7J zcFzH~e769N@z8@_v8lTA#3zI9!Pl{X7I0S}h(14Pn6EwPq`^&%c?}>Ep64K>1Qz3= z!ZHGquzu9i-L-8HRLv#Kfi}{c{C&5-Q7wNPA2_`LHMHOW8Wd#=HaR)V&Bv)(63{tW zq|A?t!Q+W)Q_(P_t#Qq{Zt#x1b`_N~l@rSV(9Ba-!=gr2rFa0V#sO*irI_2?%K0(b zHL0H;J2j8|fx)_|#<{@-fs0-*Jw(j+d_Ayg*2;B4BPS3)jk@ngbO(@q2Fc(Adzb-Y zc&%|=5bz4DMm93wvH=_A&gA_c-;}%*#M%VMonT1T9hu%JWCYdC)a?7RN{ zR=G6Bgsua4s`!+WMx`}aH0huCsBz*;E$R3OIxq;=^PUy|C!5VJ1EKH;X9qixe_snB z;#*wbN5jrh(h_hA0#WW>)ess z305daE?8))lgLw3(SQ47P@cc`s6mk|#|{dJlINWci!FSqp55ys0+6GOC-k-^KwAw} zW?~M|$fqYF=ZzV1q;3X;9{Nv{utlmaG#y?QdvU z>JyQMUb+=0mkK(-Qnw)?rwZYv8m6F>Up3=|T~kXa#U;+SIe#r;ygv~k4XL=uFA(B& zU%caE?AZHjiYvEUS@K>-^{iR@g(5|tEvEQ zQ=<^u81WzX3(#%V(Ts|JePXxmkPru6>+`3YQR?BC7jB-uqRR*ne?Gwybe-8jZFOC`eg> zz;O;q1=^O8r=HozG2eJyoRRhD!}znbEsfXtSu>BC5z zN>v&xHNpGxJ-!ZGN-9Ntk&`F~T}XaW5G|}9I=p^D`L^1UabNoMHuhI`V?r))X)rJ0 zVxJw@>NF$u*`fE%S3tdJP&6R$s(gp`p!?F!`Dqr~7{qqLM(G1TBkm`3*6U-<0kbNdCzS)rC*YpiLF@ZZM!KBW^ zIi^^cK{^~w#8w@UDsKHhwE)l%Wu=Q7@4rvGiU6m!GXsf6?lWtS)Idst{HXs821iJv ziLW$_=0ufuGijwtFU9<#Inw}>{xzYwT?YqTn zp}H0*w&E8`6a@0JM(0`rfsjT^$qkmEC;+*{xks0w)Lki4pit)dV7B9OSnZ0ug`8s@ zVfLI-5@*h1;x$kSBmb}uzqt<9Ijev~>4}chOA8q^4BjnB6qfnu`7`Y8#G9}VhsBum zCq16I7MEklzUQMis}Ff{pF2%UW0i$dOEqpIrUkJO!HCtg2qF_r}e)O-%@(n!|hW4v(zQOS))J{Ck&a;=5Q7(~-)5D1k z?eyniN=Vbye0!S$d(O?Ea*ymb0)>js#Z+0k|EQ8#={CYlf2zvz`tRTA7)yJ|wD)-W zSXd6gBqJld_WU=yvwvAOUz&^2VgB%|fd%Bm4+ESI6MlyXz^Z3aAG1^S&q z{8pOvg^i_mtSKa9{SACfY=6wc=H6bf{|&N+%nR(==;VN);{t79dG>Q&kxX%rQ1ti- zq1YRt`@6biN*=6&QU*z6dObV4p6_703m5J$*!X@aJ`T04-ApiA0*Kr5KF$jmJDj4x zVx;1EeujAxZmcVdA;9oXD9VqkLt1VDW4zRX$tr(jP`TV^53h9(m0J4c#tx#G$e?by z;jVTGPxrT|#r`3kzk3mohhW3J;&%zq-4RZ9eW8WlK1E|Y!mTY$i_KL^czc00mB05% zY4h6$K6;9x@Q{}Kr;h@Je7x4;o?T%|m=R|(jVp!C1Yk27yGy)ff#YX|}lLg_U zW3fI`FPx;p3LL{8YQ;>v8jj___=P19>yraqp2}ra3Gi3pv zzN{G=&XA&3w&Yd&BsAC8a&KQxQF)i7N$vJJQc_u_%5yh)913`KJuevEPDnu!-BfP} z6D(3~%#h`Xs=rBZ&XLhmW{d``#tsLZg@OvyxA)V1&~r@!(>^XXpF2kP>hqgc{P!CS z+;cv;$QN)wcWhJ(yf3M$LZgU0dU2w$lPwt*3bK1MvP?xck~e1Nucff?z{i| z{j_MIenl@$u)@pKA|TsGaP9nvxKmV7X^#Gl8m7_k-8ipKOri=i9sKcn6$yA+*{mfEIjYL^?gAW(6Ki%!R zMyTrpaJAiiWU-!=pInV}>w-QnI5Q@DBkFFfsn7%8a`j08!9Nxlx_mAji@sC+;xPJz z2`6fp+o^ZQ%^NY(jlFIk^*P`<#aMyOn8y})=YBJ0& z=sJ#|4YTMP%;s_zzazojM9bw3KXOGaq2nZH4OFesk`04aP4_bmOwwA*W%19;ErVO< z2e008&o*X#A-6D`n}c`5Xt8xudu*tVfjPU=D3xJCLI^4{@JVdN75&ZHAu}5vy_f!9 z+Qj^$Ci|lG2bcqRj(Av~nue;YqSZMMIrWFrSDw{)9 z9Nl+??pCw654j~$OAjxU4X(y8BD3Jr?^^SOL`-9J(t4v`!UiY-FO#sSDt$U=_s}32cNQJbBh3%Is^vl^lUq&7IQh)F4@fO0( z62%hrn67r)109G1562$tSDX^_L&qz)oU5@bST#=`v~KOWy&EPYXl5I~Mfq+qeg-=e zY(J!W)|Z%Ld>=%FFxwg%^%yBRwMRc0+cNje|1{o!%BVRa&m7gRc^rsNW;nGOsgGpI zb`O8yzk+#t;wV_2VP3#OpM!srVe2+@{b~x}a`nG9(VrJ@nIwMs6`Fqh^XcSLk7L{9 z7^@&S&ZO)2X^biqH zsWVKHmMKs$%fxTFH_?9ySPP5uBPN7Fnf$b?4W7o_`SH1SfzNkmSUsmoT8-lR;zs2? zpN&-gbm!xQT$Wtz+Joi>8^Xqys-A3y&eo9&SH{V%Lax2|$=9e8MA@6&aCoX#G_KDT zwlSEZ18rD671iMwhXB*+X?Bisf{*#O9F0T>0@L@=GH#C53H9GQCz}-$%?|XM_imch z{P;}1ofoPSwf*XHV1cCW#~%5pv{*Yrsh+YTy0IGm>pk zQuFlwn%2R5AiVUybw4ZU-m@;V(WZvs1I_%4o11ZNksL9A4hwe&U)w1&;=$ zJM#N)pQ+pal;Nx(3uA+V`bR460`R9>^ld8tv6lUJ@kqz`9YH|-UyE-hhPSR=%gpeP z^O;}Yi`)#T;0SD`D`OKG-AN2~_X%07ZT?zoM|Snm(-lN~WIfJr>@l_sa`4fGJ6Zvi z#{pSGL9BmZXMojrL$#)}lfjv!S*sMA zRzKYCMQOrwwZh)5D>&T0y@x;S$T(HA!9;u;FL02|xYPVK3!4$~Ji#0V3-&jxdGpNw z(<;zlkLQ2s>GSUK@Hy6Mx!%pquF>f7^<2gae7oU^1;?DnKLZ`qG|cHed{$wY91TFJ z=bYc;*+@s`#I!c1>q~}8Dw8b?z3jO{IT@M>SE*Ftk|J|sg9S8;Aj1aF#M;eSp^UWu7Kx z%4kr*a8j7!kBI2s4hUUm2?wYgN*`{jF%DWSiTVoca1ZF*v19IRD>2bRDbM6Qk9gXy zSJ`p<9VLB!`!wyt`4!1GPx}irm~Ju@T$aba473ld$x+Zu?H*`Y6%C%5G!q!t=v2zI zGo>}}tSEqZ>hcIQiOYhR&`_#A^QdFt*NU>9!wV+10WXq6w|L z+Eu?o;P{7govu*3O0K?#3z2PNe*xhxRCjeo5E8Z^#^_b~fDYs*(~s}Ht^(=9MC#&uQEqd5SvJx$OjxaoB>_?`kgM1k^WJz&7!i(;KX7M^6%KTRm4 z!J4gmr5i2H*uV26ivEYP48{z-3e-PU1Cz4%nMu>~5L~H2;^SuSP^*)`V^-!GL z{6&Q)qgcHOa&&>Cl+!@sf4T~|1g{=#mX z+ocW2eR$i8Le&V;b!B?6UE{Q^8d^#mha9D7zM!!TSpUcO)hRtq;l7~_zHw4uXZ9fK zkJ_6=YN&v4vK5Cx?E~9&-}mJtdTmo-Bq`H5+gVk{4&tU-CB-=R_jE7nqXsVO*=BIE zR*?6@<;AEfnacwO9=@)ZYfK6^T;5=erOj*@d8syTdBr(!Aq@dHE{FT&sd)a7 zYb`&9tLMMf9ND@%%U;J{{_I7_(0S^Okd~~^{%N09lP+uQE2e5)jJonF8gn_<{E|hV z)U+@ap^^(Y4c2 zum71Y;!!D0D)8Si{U=({ebC&#ptR)|t1y3-w1UyZA#H9d&OtC*sK#EzgIqqvZ&nte zb3nb-hLx+i*QtNugvPixqQ9CrT{67=Q*`czQKwUSl0wafxgwdte$|76u$N$h2)uR3 z6%L%FW*+AE4Cflv&W|6_z}0+PUw21F=1@=P;>Z|7?XllBdgU`b>f9y8Pt>J4bAR37 z;9ncCDX|5cChMc=*HvwOEB?*Z@cxC#KUn#ka`ycRc>mPxA#z zzqXA(ewZO4O#?_uFn!5hEY`m#j$iAw=Eb`h!dGyqa>)z!#mW0?W=9@TJ1Y$`js+hNg?Q zye|;H?*B|IrT-KqeGW3^`w6nbDG1S!D;?WM3ewC$5X!&x#?8!yfg^)WGW3Qih-_0! zhp-G<{eK_jxPCn4u4kz#zCO2hPfR)2XoGcM?}k>1mSbH)==A|?|N6R@NVXkg!o9=S zy`I|_>J~BR{aW((?E$%z&*kQD^h!$}X{B3|!vJCHyPel8JEXgIQD5K0oi7heN^~a& ztUQMri7nz2#<=FljyG?s3sT;8JnlDfm=duf=qqnu`|{_qsVGw=a%+HLof{C@a(Ob0 zkgbRYQTrJDq;Oy1*9AodH0jDVtYGZqQuTvva6h?bp9VOG@&MfBj!KzYP}fs~&$BNs%; z)siC-K$D4*2y*yy>n(xT|2dJ~Uu_ROXj`E#h1&Y*Mg!FY!}G87^fy#$-p1Q#qp)ky z-+u{mzBdp?Qp@6e9lOTXGkXu1dKl2@_WHNs**6BWu@<@dvT4-#L{DAhwli5=W87x1 z9^Tm(^=zqFGmxKa^uf2Cz2Yge1)EkL-0&|E;66bzcbJvDQWgQv8YF3Ceejs%z?@8$ zlX%WP^NmJ0&Y2PBL|<-)BRI*f)$zm!bR#lX6~0KRJY)Q(UXb->;^Z_(`G`4Za>BIZ zwIp$N>NeN&G)rsc$r_Tq|9Z?Gt>qP~P2s4@v34!bMgsg%Y3UsKMuA@N=mPhp5|pp< z;SfHC5m#YfjPg3BdT6_{ajEs!f!L|HUw%%O>rlZ~CGSpganKan`0LFQ996zE zk}r6nMe2`DN8c8Aef~i3NSdXKG+-|sK8_)7I~C;{?ajz}CZraLe$jbb8ZYZUFdWV9 zeUC#gSFD9u8&{<5~Q&B#)s8|jOJDKkFk<=#GK=2#W8 zz1k)~qcamm_8_$&XbIda)w?_^rk?_RN12qA`MK>}UyNcLdfcU49`;|qDJds|M2yu? zUJ}}y<9Gtn+Em(I26Rp7R$pB`(cS#>?$6z_0EyD0@#=R&uh0EE`uv+?tmo&%CS8o_ z^ZnDe7ZeuILF-?aRrd>!oP?G_)S4Qv$-=hd>91>~6gp#Y3J~>B1@kev=n%^`+10P8 zUaVB(+RTIo{A*CqrFJbpOq_iT-IrVM1rZ9@Dw1!jX{*7Cvp#ndhLm%GR=PRVcQ^PQ z(G$YDbMW(j2b{A!qY<(4__apu7uHK|dr8nAvRdPWFy>J8!@7jj$k6%Po&%X%$bP(Y z814aG1GbtCT?OdK%?0}8cO6*$Ru384-n?6)5|(qk{BB~ft1WJqk#6!bVe!sKEc%c`&*6Fbn|1-iRbHXO^(|vBF zdn54tBJle0ZdbJi_1@QY5-&kzDy<%17p|0oG*&I>{v*XJgd2i6rb z0)y+Si1vCm1DByc>>IlBNU#!sci;Qk%DFM8FK^dqRfQRU&Wd^EHhqNi@vVTIEINLHV{ZA!v%y z@||l0`xDdeJBhVm7qbUbg?t}3PyU`;4>Crv=2Y2GHv^AmAR0Zpr_CALu{^HAaIgBt z`2|t?X^(Z+=8e;g?s+G(F@g%Qd*T5dS5w)Cc(1nZ8a-qdJ~sVbrUpiZH>)Ni6XE7P z*W9x%9P4)q*bKA%TpPY5R>}?KzZsZ28H=|FQ`5IPZkpAv5Ev)pm(?a=YOS+K3)%N| z;hFEvJ!^F_k;gNu94Y(~90m8r6@Yw%-q%kQ{|* zmQr1P=bDw~lgkd6J=g8dSN8&8xPVg1OF4RwYp{{O!X{P%g+7!WjJ#gm$KEk~VK+w2 zfOqdU@EIFQ1J76hyyz*qxKhE3=vb4Kn~lZu?I3uid`o-BKgvpQxb%s~yXg!nrc zOQnl#YKj!l0UetJ@c7EGA1``03!omyW3#wIj-_F?v$K9 z&rP3uB`k@U^!h*jBQQK=l55?WBqTS6<-U9t^Lekh%R@=|D!g2=OTHldnSK8SxAWwL zTat1;%yHkc;8b@l7} zIQi`sw%ehpkHB`2kU3;EqqPA0-(niF*0HC*w3W{s5RQ@BkI0$-gvq+&VNzdZ6n*KI zG2nvbu}#i+T(u(ix?R?+EBlXr(yaXz#0gcsv$v=rpTU>KfYk%*tGrL+U69X6KwSS+ z#j@98L{&NI_B<0fcIxegW2B1Q+&D!{UW~! z)B)khl{gY-5*^($KoC{NOizaAP7@JHrTDTtoDL%7lsPMIM)BC-qc>mMAVx3CC^!e> zIl>;c(QA#-RO>>GUsa(t@0x#WQ8CLPa4LkE+n!^X`CODgfN>r=rFJy--O>aG)4P%y_nOiY zRh#hr-)q4b?Qjxm5CfEEP3B5+ZNNbJXhHJttwxF|-^&nNiVJ=eks7c*wfCoSor$<( z!)A>%Wq|u$c6Ey!G$4W<<4`DKoLHbA&2GR$ME!H|WP)W6W%jj9uYPO{xb?HpQic(N zi`bkDP5T@96UrAYS;mpfS#aHNzMQ{O3d#kH8R>~w+Bi~9v-eNX=UptO*~2RQrj-z?*! z1X{9RB{qSaly|5RPwfumI$K>0^`EOja<4xYqa%829>mBwmw5V&aF-cPKkMMwI}M>A zE|TJvKiUKJi+zDqw1|=jV8yu-K!ZezA{>{td-Wd~5VyX(5$K?Ig-YFq>6BY7jXAy3 zI{M9-Ldyycyn#>9!u;+ z0KoF~`ZYs`Oe{t`*7BQtwOQ|&lJMj#R=&MnFR`;c&&$+X- zT?6kDJn~ppJu=iZGIjb0@BM?NS^)M|GE5}d=1Po=xRKHNM`;PM@f8wOr0wm|)&j0cghFjT zOU77;ZvzLIq7&I`(nf(9Xjo!mQy|PG(KUMALQs5#0~B4gkMwD9@7H^)*S8^iVN}_` z0|ULTL{YQ^kRx)EZ_1QY0|=IAK-*3HDACooFngr9;F<%Kb8~jM_@s}&ch2T;whFn# zj{4=r3-NU<$NxzD5QV}!KmId0`b?jOsij9hwrvn?Dk4=EatiIO5E=ADcM%PELS*RV zOA2B{;ST@{>IrSP(>9Rb5wmq(L*TfWiCkE{E|a8P{qDzlBWm6F>oR}2FuHOB3Ji{n z1_6neSAwGV6F&WJXc1tHKZxUcD|+@Me?qU0+Z6Hz==#W!%zL(r5qhKtn%V|^WeV-x|2VM32|E^G9|<*SQr3W27Gz{)F+;Zp7`QZqhG|WyWIWc-RUU`rZ4g{6 zW0M=7&wc8Z4cr7Kxxx3&StQ1A5p?L%_v=)_-WJf~M`dqA;KXD7(SeiUYC~qX)U_M@n zt|`G}9mo11iji|=px#cYw@M`IOaz9gQRT!on!2<9XmSK^qg9O@Ibc5fycW3;zaiD1 z;$1u7RlCixl)!y8DEKW6jsJ}*cM*&wjlZ(-CzR6IQp>TI>syAM2Sw;211LL2QqTrb|mfO$RbvN5{!Y%^chG#E{&=LE}b;i~^ zxJ(~-M)wK=-ZiT;e8Jk|3RTC-&U8vPxcfo>k&-4bTe3aPfNGbA6GC6MuyF0^(le%m zdZgzwc4x~vS&xJ~{yGwkcl)DEp_#KrO?!=p2z*}fX#6xkse=gm?W4RejNfP!qHG`j zPTHBKcBP1ek)ybmf2p${*Kc3dxoJ+^uOYcyqHtvVT;pJk$(-{G35JPnE(asM{&`YR z_Hy5`!g5uDDd4}@sf~&_J{AR!dA#UADenHk9M-ILMITMEo6t_{l@-c}Bst#HO1Ix~6+eV7$zDh1za8n^wuOSK@X#1P8NgAYiq zfRwwR=k^LdihI6nW}?ncJa~TVowhCK)fm^(Jg^pK@2FsQ(rzz%hcks86guIHay`Qz zs(^h>bszO=_M}>F?gP3NrfO&j9|v@-DGfX9?)&w~d6nC7EhvDvp7>SM|2w%6ZEue?TkgH#55MR$^ZA&uUO7UfAC6|W}TeQ3gd*OYRMdrim)_U%OWXG9w z^KY5OAd0EOS2tEl{M6kiR?t!a0_xQ#I=Tfinqo797$U~30zI9E8>AAZ( z=Zz*yoL9Z5)`Q-3ry3Ak$7mP&iLI|E?{Rp8q~|y*?gIs0*GdV8fq+|ZN6Ra&aG^o^ z7@fMQn0UMy8wXBbAV)-KnD_&I{$m9Jb$8vH+TK;ACY1Csa&u_OnGtD9m7jLNx?LWF zz3?xrp>n3^pY3g-j}X{ehi|`+b2nk1q?z7eS5D5A$Q?N+`=?;LM~#iLw*8A{ZB~mM zqCNLyolN+4e5?m9=5a})blotBadkes$x&pJb!ov}r^!O={ z-9uJG(RDI?pjoBeu)XBl8nzPJr{Z4cuZN@DBbOd7?|{CBIFrW(&_>Pqg-M>UrY4V5 zND9lnH14sF8iJ-*MYMVzp9@owc*ElGPjx|7SYI+5jdY%P1S8H<65x%aB=txkc({*kv3^ib1?YwISuYBC{dl3zTfHWO+hC= za{i6~75n)3y+Xou(jF6%_2d(XdlUjSj*D{P>IF%#+{T+0$=2&hpW7nrk8J2+OCjJz)j$syBD64ULB3dWH4c$xEXz2V47{G9Lo#jG`Su)J!mAnVhIYV+Dv81p^dA zBDLBYpBBjEuWrQ0KkKc!KVHC{{+tK+AxxD?VCOs?`|3q9ULw7-KxH1i_$wZ)Jytoh zB4ndn{eV=K<-uB~Pn-fdb?V}y>oWHq0iXvO>x#*uX<%IUGs9`LkgrQ%d7idnW zIOzqf70k;`q72M2@XPmtqLBsKBBog})h%3p6=ps{sef-Q$%3JETpuS1Sj1C#)rN0E z;p0SXEo(2hM!c^w?^hT$gjPqLXjTm&DoMixv|_T>@9QId2ET~p)y_)3sR)iAM|3xK zSyLRr*DTitLxC43M$a=sfI>qr*lL30q(^QHzcB@dp%;!PK)5WJ>jtmlf38Iz4=dx{ z;!K$Xh~ayAAcpRO>l3I~{pt4nsW=k{Ocu(Pa++GpsFnZf1tpP7_|nc#qY5uXQN9YRx{#-Y)zE*GKmGXZ9@fibn diff --git a/src/assets/icons/materialicon.afdesign b/src/assets/icons/materialicon.afdesign index 533c24fcec00cd8cd9e5fd841b75e57575cadf7f..f1967127adf826be72be90545433d4b9a412d697 100644 GIT binary patch literal 66358 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 _eJjfIJU_c4 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 \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/icons/materialicon.svg b/src/assets/icons/materialicon.svg index b875109..6816f53 100644 --- a/src/assets/icons/materialicon.svg +++ b/src/assets/icons/materialicon.svg @@ -1,12 +1,9 @@ - - - - - - - - - - + + + + + + + diff --git a/src/assets/icons/notetypeicon.afdesign b/src/assets/icons/notetypeicon.afdesign new file mode 100644 index 0000000000000000000000000000000000000000..ce3c6f63549f9a2f31ff2665ddc594d7891533f2 GIT binary patch literal 50211 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%0A#VDsm&Jbxn2B;sov$3M* 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 C2{Rc0 literal 0 HcmV?d00001 diff --git a/src/assets/icons/notetypeicon.min.svg b/src/assets/icons/notetypeicon.min.svg new file mode 100644 index 0000000..20acc9a --- /dev/null +++ b/src/assets/icons/notetypeicon.min.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/notetypeicon.svg b/src/assets/icons/notetypeicon.svg new file mode 100644 index 0000000..cac3e53 --- /dev/null +++ b/src/assets/icons/notetypeicon.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/assets/icons/settingsicon.afdesign b/src/assets/icons/settingsicon.afdesign new file mode 100644 index 0000000000000000000000000000000000000000..30c96252e1270f4d5a41769f04213130ad2ab86f GIT binary patch literal 63852 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%0A4iw((=P zuJ@aEPxIe4>mRqlV=G~2CQvD?E5)0#IzGI=Vx^p`gw{T#q37Ki(J%eT6Ki0!(4IW8 zcj#5tBe|N92?m^Y{IH+<&9cbC6(#jl)PgrzWhZiW()rkM#o59G=V-eaWFYFG00@Ik z=gue%*OeY%zU5w5swOX;m(BM*rw#$oFrq5C4yRWYr-_X>_r%Hea>#p4K1Y?*13X++ z+=T=2NOpCOiF{Ei-?JF>ZAuE+X3$%FZ-vQVrx0Xku1H)YbmW-hCM?tg7lv|ZJkmC9 zu9crlgFhxpRf}DjqJNG*nr}kfsu7^I*2oN#eFwmrqQ?0_O}PMI9ZgXM5)Uv9VDbwF zS~EmBv*G}B?6h%R1=ZcHO%Zj^Unc&E7LadB0@UJ5whEcIt3HR2n`z;fLKz!{Nn;G1w z@A(?Z9=2=Cn1|8{I1uZNMSM%54J$3k1}G7q>1*zvZJ+S38fYla1)|>y!Z;|meb9N; zW?%BAS_3s>-tQ5`5UGL(*v?#e6jsnf_jN_KGa``T&rdh@?uEI+m;Q2UP6Eu_X#r2A zd;c&6r!f^?CT!8T&fPKAjFSXn9f?TV0A69c_Pj;ybNdtU^U(+vvej8;fCQw5ZEU^a zA&OLcj33PBmVPkE0kUHvmp;L4%P7zeM;KcMBj>*M+22xF^MbBV0udj|~eO6fRdLnm2+J5*E_B!VG1^b|dCz>&hsbYm58xmw~O+ zEI5^%Y<)sZlg-4R`~i$ofe?MwS$bxcNq6J?qGJM|Ya6qR`nAhKmP1ksRHGmeU&^c^ zOp5D_za9VVfDGe?9z=w36cOAI0LHJuEG3yZy?lyd@Lvuu9vfItIt?}3gy%}aRh18i zWeb(}4$Sl^%5M#MTt#HVK0cn5qJjdG&LNtUi4?S0A&kZawo zNFF_XZd^0ej-t5fe;Co|2vM}GdvdHkSo;-+E35RE#{pZfA?+lUji#jnI$qFDTAIN- zVVhC7)ja;tJ!qT%$w&4RdCYQ3&491QxnGs*f3q2M8+ER7br#TY0xXjmsIIUecM^yx zUvm!kM`}k);_;vP@?VsP+mSE6XJ5e{d;ba9g_FIxa2tHch1HqjQd_>tr>YH0KMmTZ zhc;8J`tj3{TCqTqF08c99BVLHhw>GmLB~`3Z<<^tPMe36kUd+jIB!CM;>{QB{J{y| z4c%KAeZe>VD8GJ2w?eWR0JbveHP;q(tN*Ww#}h)I&*W}bTZEf?L&FAo zq{}->Fr?y3Pt}m^Wzl@Dk`yRaB#gd<<{+ui*tn1E9 z_f$~n@}b2u^k~ML<2j6#)P?5)q7x;UkoD9zIlteNybJ5oJ|SP8J4tEV+Q9w1$gqS! zJ?bD&F+H)t)%ry5@fCbzM$_yew~Y4TQU>smso38~XR>^F0#(OEgVz-k##6mm3x(yQ z95Xf6t~zATO?hB8HKA~#H#)#iqBqTSF4LwGROe}L?FqBCZ})azn3kcKQ8+GVWMAubU4nnG^;DpNH{A8VtOqOqJ6p5EHrjK z|5fqnrY%q6x=H|ML9rciR&D}+cP=5E0QCU^{x(_nUKThr;6YiJy$cD$Lq{;Whh)ZH;Ot}GXw27I=p z^mT5EtXI#Yn~sA9npF$}urN*)hPf`AO=2EmoC9h@D=FciHUmha2`5l62G7}Q?m!w9 zD=7j69&ZiE6Vx}@89NXCLO?$UY3V*C0#{?uM$X>m+{BE7u->F6JV&+WsL-BDWB~r8 zOX+;80gM6K*tso$vf^RwttE#=oFHmX<`tk5#~CWX4T?WK#q(W0g%=_M=W{mM*?59f z80hSEeKQ*g3_9Oo(w?^fHvmmVT*`sm5i1o1DW6pA8YwbYP4RlsnW7V6xv^#IiU-Nt zvR#gzVIz0WjeMcgj>9UBTqAq0 z?39s_>&nc^o>@hi8QH|WDzZgUWXoO&;hHTZ+-r}lD0{Dqd)@nce}0e0_YZKLd%VtT zJ%>D9sQhEi{ej4YtkVUnBWsfB5YqK@!fLwzUa}}+D0bM z$y&tpOMZ=}rV#pG0W%O@IY#D3gL9)2IWQI~y%@wqx` zyaEw{xNMN04kcw5ew);P$DTQ3pS{RRjpF=NK9!2T2+~EAp4SLq5KQmtFEo~k{hSms z!~9nxCaS4;TUAgOM5e2#lG}7ScfWT2Nv$2Y`?E!xmuZgnOEM`_L+GW(-=#9f)5pnZo`)csxYkP-a;8Zd*)DZNv#-D3IVPU&Q$)nOtKtbC%PWqM*3`KLH zcKpFZGn}h{cVukWprGK260~EiX94S41xd>~H%ikbkWB zDRTR#riKtj_&x8$zLtWYgxN>X(2>|u`NlA(}a{G&g`0Vqz>T$woK%PvO< zOW}9p)Xp~4Yp;)9&Uvv?jd(u`uz+<-6!2K!R!g}g4*`>ZB*tGuhp9^!oU6-=B>Kh8 z+Q`=dBEYaun4-INxewuI9(B+lc$Tk;#I+5Q==n9<<3i=jzoKY-M}xQI_&kgB z>}dmR_?15+xY`dTqH2ecpAWs{4|{bRd-4M|SkQ@*8gdGyIh2A-*TF118TpTddNlOc zOM&=a`br}h6^#M_`eMA`ttvp8akv+rhrFU|>GJIhiKQDcVMDR0sw`V}QsaHmj2Swak9cJE@LEv+>9DbI;TXa5@fentQ@P8YQX+8A zKmch|b&-6L4?ynDz>cU<>2dcOBbnS+O*u_dki;Yw-nZ8&#cY3Wkk1xKz9GclG(4bt z9Of)qVS5@fKE(tvdH(ld)IzbtncP3jA%6ESZsqQAqFG>QZLXr{0@mr6B;6|j-TR1l zvd!$4`99Cca_Jb9-mVKohpOldV&&7DGdJBTdEhWf&x zzeORYN$>q_Jpp!TIWOuYYL9sRZ=fez~=Zy%S<7)$v^g!Z}o+c*;B@`-Q+^P7!T&&p+Cpszu-IqZO2a;}Ng;dCP6C z&B@uQQhen6MH1H?_m?=*4TaesWvd%YZuo1fR|t`}6^XqIhf;vsxnacc&)6Ok*9^X7 z+iFM;+UPOW&2co*hpP3HBeRAB51$1lU%NeXaIwGp!BNd&`miZHJ?hdbcbT`-wki{3 zBTXW7Fm2N23~uKup16e-3)gqHkaXTrfmC`dK~1~J*j`nKe0AGLDUowCCXYMUkfTh% zl{)ZAi3w%w9&lm%4?z@l;TD>#<9b|=ItkZNu3!`5n^hs0e4EP zOj#w|U%xwAlJ+Mx)F8A(yKHq$m05M^ayf;cQ2mwb%sZQVV* zas6t~wqUn37;qNJT6`sje6_Q!Gr0CBHUfAuNo8UtiTPreHgJ_Q_E5<q@N3QVZW@{h8ied7{vfTW{&X{=@ajOl>T zFy6)bCLYYCl-;Cx2gwrZ`j(fP@hIP-48MWP}&R z0No%IKrciGY>9wC5$^*S#MOpHz(x{+9q&w>7E^WM&aNfi^01{Rys3zqZv8~+OJ*y< zttEf}7>MzkP##BYu6F$mnT=p5xvqSpr5=}@a-MgmmWOj#E`IhyIFZTTn&qT}n*&iI zX>9=YQs}Pvwmd7WBQGm8^>13l+m?#ny$OAc9v}V0$drJQ<^$w~C(`T7S(-8(p4gm`E!3 zi>qRzVeq)@`_H%Nna15q`XErc7qPU^G**ttqm?d%O|6IlO5Ayn=} z2-fAFl=pMDVWC5FQs`fV-P(dqMQw^^Y9!Au%ok;NxZ~IN+oI?Gk*T-_zPVx!Cw*bL z2j|%s45kKmC&u4tI4IR6WKQpk^bGdfY!Fn{e(SJ!NSl+$FYqt+HX8e9b;y%kiq%UP zcxME>n@tpaym+Vt0DY}K}J)6ruLqGfO0BeDc39baNb6M_j z`bE*Di3oga`9Uh|bj*u_JD6~IOXtI|q-J=wll(~+OYQm;Zl7p%z!yWSAcCb`AMbTtaWDS>p&8w>;DL=7d|ZSNKyqcUKPYGIY}$srDk=YwmL1W^7qvPpv5aff3317 z_1Z!4rVP`?D*#KjsL?)Y2p!&iBB-R$o}Uq@S(ctNs~ylLVrp0kZ4 zG8n{et8jDYD?4>li)Z54&bd$LfrrHJXRWQA0 zbunA=tK#L7F9c30Fl?<>VpSt7b35_z$hWt@GK;$HYpr17Y} zrQvy||89?ylOzO$d-H0X4sa3!DRJ=Y9s8@KTg_gCYVX?Ht@T}QNXKWWr@qx`fGaPM zdsz?$I9TcfpKQkJ3z=W^LL1}}E9d5G%i~=j;bDRWK)3`ZKj&FPyCI8m0~ZPhxh8D* z^#IBE*8SCnVNy*!8tmE?)Bfx~lPb~o-uQZvLUgUWriB?&Vu5x?kp=GJL}nrwIY>!1 zpTx5s<&VVYs<0{$du_s0AST94)@LOWdA0(47=C|P#!I|oF$B8{G|nUDMK`X@p1z)X zwde^h-B?>RNQdrHQI*Ozq||W!o=`w=_>kEuP62GXd9ddN7RS4e;1Ih956zJzXQ*LX z(deWy| ziTQ3&7p~p7Wg|$LdVsK35A`Hhr-N$-Y_Vli7xy44)z>Y_jvXuak@cIs{E)1D96O>T zBClT;`f40MxyzvtGOfF+neT*g_)s>FI3|E^dKrPerlBf=r@sj2zdUG|adl0FAz!rD z9XQ2r^>SJ{vVid;AA5xn)py!FEuxE7CG(0 zH?)DY(r5c*=x~Yx1uzs*9Sc`_O!E`D_>%`yD!!LmvR|COs1;DrdiTi4xofpQT~btS zSMn&C1V`T&wkk~0dczpjo}RCn(#wfsq{eoBufKqyEmcX0rLYR6>y>{MC%%Qmeaz?b z>a=R^V!e#7$1C?X`k;$5s0{Q8E<#Mtp>umKnG}1>`-cv>`;-%U07~`pqUV9(8A5a{ znRk1O<=;t!qhDr9u#{#i=6g}b_o%`!`f9PB$V){>QlCWw^|%*aDlgt;D3UMg!~dxw zh?y^OY-g5D$4a;u)T8^~uT~kbs6h3Zi4D0C_55`OYvf8JK7@1-C;G0S57&N@$EfHy z2~`_54T4v0-^V}7pG-AB&X*#m3bfp9Uq!b_JZ2A$-6=xtDhD-n_tBR-49`&V(qmtZ zr+fdJx48wu&N|81ZYGdQRJm)fi+|YfQAPIP#kmvvw>t}VXL7i9^vg_FFII6A@LtP1 zr;xL#Csh&Y(WM)a;dvC^!b7OiE8yID6f zIl1PRb^5_cuzaSuSSVw!lk#Qek>zApivNO;p#JuIuDc&1eUke#yef_*-X^c)cUNT*#G0wQKdwXA;`IHk}E6yV=a!R4{ zoTMbBk(kZ-+Xx)U3mMwy3ga#3+K>7JHRajO`?<`UBEob>6hbpkw()N4w5#AOw%JVun78WO5ogw3QtrWB6yciRsw0c=PEW z7t(|DbA!5EbQt4gvV+L3f5juWUv3p^vD_sO{?Z;2MI;QxiR3{#@-4FdI!!70QR4Pm zdb}s8Cz~3T2r&>qiTrR=Vvy&F^C6LL-UO9RemacP+4dtNNo$@pX^=t=+M0eSXlU?`Lqk{wH4iaj+rwLd3xOktYiRk@TF3TLTurCB{$?jA3K2f z{OaH?-`^@T8TRGg67{*Jz~e)X@=dFJ7K|RC2Idx3w_N{lvUY$bf8V5#*C}nib;3Mu zY$YukW94OV#iJH-m)Fvus0ee1Dw~n)^Sz`)+4_$r@+)ieLzQP9+ffLaV;MR&>8#n! zRyVzzLTToq3`Xfomq)*E; zho9SkUFpSZCQR$#2Ibzdf?XQ6cW!vD)Rd@*t@ICiHuRv@HbUKJs==&kCoO*GdA{}c zMfd}ym%98nZ$=rhk=LGdX|*l6@|i!=`&9FH1kVOG96Q#3#S2Y~6A^-OY4uJINI%t> z^M44P3#f&kzT7|kF#Bl1&2Tmtn!O+Tc8$^bP`%yIX(hE`GnZ~<0 zPO=&aXV(>N9KJY8*9VgK$0FkZzh@^Fzc%{w>3#RTOr54^gPWRxy}WI6fhH z8By)tn}6w9rq=XSi*}%o?4ze3IOhX@VSO&mUSZeET({)b4#y6@bZU$~^_96q{=FhX zbI`oQlihi4vEg8bS-s0uKAA*z0999|Jh-A(_Zt&%4CFlEvm2dVS%x1<_&&I6BLs=N z`tJtJLl0JUWf$>K2Ef)H!G&M_i;75~$I6i2^E6yRY)cxf%dspoz-3AcnLygmwC=jY zv@$~?RYNv|sl@#s2RA0jKFa_8#0J)8sz@al4Zt9_O3!$3O>zu`?2s7z&_Q=}4uj54 zTQz2FwZew)O}BWKl_?vJlYIv0Q;ZZZi3{he`cc4H?Qu8Yce=FfI|^eLP?PW zQo91$WJOx!6Y{8e=-navrW;K%zwjrMPhq?lPX{oBLyKx!;=qvtt@*y{rsi~Or`ul# zsSdT{&c;$@DOqq#{>ZTRB{Zs~=g(7fI;2TJkdCy~*C~aJo?Yx5)0m=$GD~%^x}_9N z2G$5B)AKh%&b{^F&XsbOR6#p#pHREs^+s=m%pqgE1L-*zk>+~+j_+?~tTP-^Nn^sj$M=WP#FsI0h|TRsK# zXFr(yV}t);&Wsd~&dCNJtO}vY)i)!#xlC4O47CLRoWMD`dR16hg&y)w zEmhvg=^@FX$N)@HbK;wq!NL3X?AYa2&Sk3*#e7dWoQNcBvkeYNTP-qJ|>(YIG~F?!dr%2|5iN-wgn&lXgH->(XlU)}$5;%)x)(47|k`W&&l0E-ILbdQ`fy{IYM02^n z|5;5%rg`M3k)1L>rb6AiKEwz$(c*ZhNzTtiW(B>@cqEV!{C-B4tUxJPG?0yhLm0`* zfuy4bZ`VSKC97wh*$&!W^G<>M`Z$5L#5bHv5O7?pNB~4%a6VNeZiSXGbjzLBmbPjD z%^(Zt=QAWIGsC@mD_{-&e3EvlzZtAM!XqFY_!KUCx#JNzza+6yh3O+$vjY#8oUlG8 zx4%`q@A!B_Zt>E^hLg;@S~B#dZt8A1yC34sg5&MePHSwO(GFGR<>gAO`k?-&HvSQ$ zoMF!@djk4SmX^P2YOU>s&R`X$cI1?7^D1E4R8y`7;E-LEdn`3~esD2Z6IA5eO?nj2 zJZp>&v0KuTdaWBNHm0WaG=9W>yPLipn#dcPlO*mQ#P6;@lAQOxyy^08+cVnY_yi__ zBVV;qygc0GP_e5}1gO^kAz`WB21VQ~(zmtC-D5lWa!CL9Sln0r7z%z_ZZoA(s_;?SY!2F+;A{o1ywb=n~)auZ|eEj zK%IhZtU3ISG(~j}=_#&t-gflM2Pn&eEU1$!TADJEsq}qs_!ik1dcW;c*ZXWhwOHXi z`^E_~$fPMmxi@3SWm>?*5bM*zc?Soy>yA$Mt)PPcA(fXpV33DcPr?~To(VlD`cW~*<3*Fm(TQ*Di9}Da%F6S`wk<+KVmz#|oIZ;v^c#$$Akc+P&U%NeG=TW4L_n620G)(-~hPfpSNqU8$a#6M9F{+j5v1T|4A)UXQ*HuvbgJY@t^EULLw!(kF1-Aq~w%F-cFm+e4v)CR^ICZ zs@IN~UISVn*#NjULb$L>1WQv40;r)>2Z<$j<#A5bD67Bbk5NmnavR?Gl!rBPEAe3^ z%+_}%CE~UQ&O57i-htmeF?z_-lK@goMmp_QCNoG^E{vkRGaO}!PQly1cd}msH{U+$ zpnxu##Ogu|+KfB~a>-G($4>4BW|WNcUr!hg`CfhKJ@esfJEgL)}eei%vn)wVsP0J4b1*j_>-~5(066YEF zRobo@q4$NuE|P4{CaFQ&F<~%h=D*7okUgKV0Q$l#;9%Ln;N7U46Jjh}2~A<~q0-F8 zOa)vdKc_5xzzV8x>O(k-%xE=ps1rc31^z$o-$In zITlOz5ED3$=LA&FpNk!4op0IU6cXO-r(FcB=%L^UyLl=k-7g{+wEgR`w9G}5#!kbQW zdyGQsOTV058b7Y~(oDvg#oitnb@bZ>*IW=@=={ZDXWa8T*EjtKsA}fEyb(0!Knx{v z%soKxu3A5@`xj;K14AFr7T8eSK0JuAM_Qia?;_v#f>@|f<&|>nXFJ0!k?ai*#2s0p zu%}MOdtpLz(ZqpYzGlDn80p@_H6=ZtYBhU0TM3tgSrEELdm*2Re0~j5fJ^HtZo_+o z9aJPCu(44cLkMd;a+gz*=yB;C6R=1g*F8b4{^n9yYk@G(?|c@3{^ddNz3$)^N5im> zrtuTJA%y+pFn8^pCHa3hBCDm3tUXxxFU23dWd!#%h7>qpjUMSV%uW)30oYuyzlDA_ z1jbG!sj+rgVZg2;q5g@}8RC98v_M#$Ldld0m33LY3Qd7dYWe?)%_Io*6P2cglusFl zoV}kRE1(#W|86h|QV{L}s#<8<;<_nW2=D}4s0^E*mc8HH+YM~0p$IEQ#X^)&@AB4o zfgl%1%~Gc83R|i1w+c}A&L<1)4ktNofUT<5F~=>Unqyj2zKSG9 zz9^`!aGrNJ)Z0}6)iuljOq{0%6Mn6n8gU|>+sJ`FzU;QRu~WoO)X+Nwt-~vUyC5SW zV4*LL7m&VREyx=rmW~>~fDo zm60Cuq6S@lk@G*Bpm3Hbp!pY7yxyHXS(yRl8_ry&I5)(-%AH;KrMS#b?VKVxUA5Xx z)C!UDkqKxIQ=HUDgD-3mu#>V{7k{vm1l4c{f7LhVah%9-uvVzuSEBIif6^5`G->xQ zHOR4Xo@5<33XLSHisx`b_#0KORBhHT>u5h~Z2cPK`NPX1#eCYU@ehR;XZgDul281f zJa@hn>MdW@w)4;i7F0vN%bdr>>Tiyx<*f*_F>@HvNuLU{Zzc6{j zG~9YX%YCfEOdy-cWdi;+7a-@{rw(HrX#RWyY>{HZ%UKzr7bKQm?TY*x3r>>6NOc3i zg248Jm`Zp2#4{d5;6CqW5Z{oy2X(&=ykIT^_q{%%Dh=SM4=OFniuT9NzNmY>OQkcW zv{*LAbxxpH)I}f#Lw}kH(p&9IEpbU5ohkk0DXlkGLV6j1h1=3ImeT0Vi>>LQ>7l)y}jFN0zaKK%PGrKC8Lg^HC<~lHFacxT}@bTJeWmtT{e7$=N z3wXP2@(gI1mz>0z-O}jS#=9~{fIGp7x|^~wfciJc)udY($;G%>Y%XX5rU>{?V#o$L zs&1N5=`2$fc)M1c=kc`c!7IMUbuP-&FiILbZcfA9KU40&hmTf@{> zGE`dCLKDaV_vB7aL~fE0T{n*%RDHQl>YQdYnq;1g(7TMSbmaJE4prv?u*p9r7`o;C z=+s>a#VfZgcJSGgvh}Q@2$nQ-#CTnXqf=2Eo3<;r1%Kaya;skGgH!vmzb2a`HvtqZ zPSe=j3xuq(exjqqz%MJpi=ycBve$VeklV8tO*WSyle#MA2C@IS>kk-lXci4Gl0tqc zU|G@FnrGu=K;W$?kMvq4RaqG7ZqH<$`%ZT9eAx%{;c#|zOl9-Szvme_UPhq~+Yu54 zDZL3Ei{Ju3z>^>ZQ@`q*O9Rpmdh!Lky^k^5QKm|Hm;a*^{iEE;P2gGQ%8tHW{0pLP z)IF8~4Z^PDTD7ge7uUAq*6t2vUlfF+67IXU9*YEZZ78-^+&Wh1L3;mw3Ak$U3jr?K zv2=|Uf)QeaCJ5g^$2864u18G%|Bx?(Yq80wu|%5eO4#cGph1?CNQ;;q>w+QHkrK0%*hI^886_Fe`NyIfiZcJ+#xP-uDJ**(WJ+`QuB$5h~N zfB9*1!qe!2wu`WOzM;s~6SV;T_xa%CA6-xkv?c{$Fo{|sK%^GWfTTmkCURr&8LHN% zALH>N5Y?qCSI&n`CokAxJ+%{~-n+omVd=U;#bTK~KR*je{i5c9bQ!tyQsOhbSW;q6 zl)`VIX~3X6Kzg}y>DtAtodK$@3gySG&#N(kcdKw3Jf1weKNR+L)s2P-Zj~X}c9K5u zADi-J+q=d-in%S7(9FdLX3{8_pO5=@OvR4bMP3Gwq+9VSp{`P`pzUk;%cvYDC#S2s z_{=3l_+v3zby~=_IpDsvD;vyJa}q?xMuUFyG$3ieqp@q^XQXN%Wce2H>@L!7OOzRJ zr0iRMS6j1jc7NA5P!7nvj*wvmsiTEFhP3wW1uU=p7R&GFqMvI^@+ugjANqa1&!8+^Ma))}4wTN%%xPAO83at zwfj~4fSm(k0z>&8w}E@YaDcbk68Z|1PN*sA`5%nsjOMp32)H;V^l4GL3PZ;*CrPz< zDb7WfhakEo3h)iH6OoWpuMk4q&3_wqL(>Fht=BsOwGZRWHtEBRsMW_hi|*B%SVt@j zv(_)+>r=FAM6S~_LJD-ix=Uw$M!1gSPJ8I#!KyBNt%jVx+lso|q*CAG!I-DFL{Wl$ zxr?=>xh9>3m6Kx^hNgWvdymytJ^t0IMVSJmn_!>r9w+1p*C6~ueejQSxZS>W;F0HZ zyNm5Hyi%dYBDnIQZ~t--{L5U1TaI0x`xjj7lSF3DuHdus2jg!SpNiuaok2#UU&v$E zHMpW3CNgH#e@4vOO7fvJgz?*?LxWh-pT8|1AZnDV)y3L*?XO^>xz!#U3zUJQ0N89M z@}}78FJwXWp*g^-_VfPyst)%u#mE|R>%@DOh0Y+6RSbf?ei^R{e_>$9@1Ac`LzjFD zSL~N2jycOMvSZm%F5($J6q$Yg{Js~ty0w4W7dJ^uBbU`Kqm-n59bQzSprpBaR+W`Q zq6RR(t~lPR`!)Gl;)kQNP2P3BbRoKqOzVHG>DsBydFlRU(C*3h-5ggrYZ=@>Y_gO5 z^Cg-KG^;Sn`<(Ai(Q)K!1i$CCq7U_G$w6fk%X>+@SEJU7=!1@*?_|en*%omN7Nlt= zh~K_d;|y-3%2ecL?pAT>KiRjH5Ox~K=?eS!X-HjImfHfywo9R@a;}2JY*Q{1_2Sgi z`bmp}%~HK~l1emExA>HpaP#PEJ(s1b>q>N4eeMG!CD@R;8l6aPsl>pnrU=zLEDFK8tt)vS~2NvkEQ}RT|Z+NDa`PWn^_d3R$o&)cFZl zO2UwE6MynlG&U{li)99u!2e3p<5Wd)4nKOjKX`Yk4)q!(0Q-}^LNy8aX@l;8l8_C- z)IWuijpAjR|LP55O05=8Ls->On7hNd;}9-j6P&RP~8ktc=XoZp}Q)GbD-m zn}_qgSWYAxRX~)~AdC~8MaEmSygIU}g2NXX>!pNi9pBQuXS>+}pgp2(jiR^QqSP!B z7u}VvLgJ=wrkWDuDsA&RPW0?kO{*7{iMH(gf@CvqfOWrLtOHR@;R9RMF-E zT;is!(9Q02Q4@{!m5J(A^+>MRo%cPcj)A6H`ngfv2PCq`-nV9IPp|Z#!YTQ%HOI)9 zn`7(K8YRjP`iVO|^V$i#=i`y4MY3a2jx(R_aOOW#qIf%kF%u@GKTOa6)l;c|-wPXp zaF;B%+99e;Ec=&bjCN)OWCaSC$&4wF9A;PU{FAsbB-Qoy{iC(39NE+#k2Tb1L}eHw zkUrQRJYvQaQ$ZI0NnJM8>c=L-dW22t7f^h)9|%?7@I^?S3Be zM*0ee7+tI3@T9|HjUzuPYa{gOaz%Oi2e!)z8+xHU(bc8u6%WPZp8ECPNxmHnk7QxB%1iDCSNJmZHww!#yx|#5xTYs_m6))VG8)m5eH&*kW?iDCDDPHo3 zjoS9z^>DS`Sgx=r-pQvPbMy*Fn&PPNJcT;0#npKNJlDJ2on>u)x%d$e_dPO(ALl<8 zGfFlKcw}2jxQTIMT6G40zf^T6pYa7$v=p;f?6&cS0b~D~g6PyeD1J&j@b)=vI-~b6 zRT2{dSn!(3iJTmfQJn|Ybt$ns7VY@QlSOndPYIuu=&6htS3*{fK})rXAPsOoq^yVP z>eRx|+59x2+r`q@Cx-^-#iR-@^OkTQbm}xoT$Lks%L}Tr-PTqZhY#^GlEHQSFWkxU z2e57;(Z@=kjdFV(nC{TU0BexF6tpFsdg-hs3?+%TUHEf1C42}Cn_Ld&(2`kZ8$k|{|Dulr&tGqBX#fIf{oo3DEz%VT{Sf@=TVeUKBZ{LzVO-!cn&^6Hdfeva4HU&QK57!OY>WSme89uB++ z&SI|Fz=tU`eG3dz?nT#$C9YO~Ft?bBKHU>Jrsa6+Ff03zv!~ zyTSnzHYQ&|TJ3x3Bq2bu0-NwI;YSRhA1nK$Zc|y*F{CC%1hAz?yl*?ZIP|{%Y-r?8 z3-rm&4R6bU@C=AAM6*Y^avfA)A`9BS1Rr5J6?%J98ZZ}Lm;0KnxJ-ECj>5$qw&z6<(rd?cmqR%gWa&OyPp)DUo$yhzYzO)+kWH7i=-7otgJ8Mg|4PuX}YSZ)2slF}0k|8YnYIo=hXFJI$3qyl59d+C)N zn69QP$7{j72iXoSWVmh?LiYRMP3zYjVg4$?O7iaBE7F#e6pBg}BtQd}GHNAc&>AVg6`0(;?cKaPC-tJBBH zd;5q9vhMxARSVLCqMnNKkLngiHH|#0c!yc54vI8QsUL_?N=!}kFeI0W95ig#*oJ|1 zoA%tkC`+s9Nw&2`ak`49;u_bfSrqa^Pw=;{AGbH3Ti6z7o(~>`7AuWd75sf8X#Uu4 z#rlu{>K8uP!C3IOMO_t%7Pel)q7Gs3El{hP0GZkU9J89A9Ky+Z6xy!0q*dk(RXPEoL7m+!3y5Vc-A4K6#mUs}Lc zs{Q&BvR~MC9+W=uzP==y_B$`=G$=v`U=`2r2|&Q%|HGSm=i%cBkV9*io)CmOd>uh{ z2W7iCKUX*KYB&QS>McF{iA77;SuFY8eHNL{1_c=EH!N3ix=!{+-bqt=k9tM>bvd&} z^cqMUN{THy?W|)J@A^Tu_>6MyR<8agVtB=x6fwE;s_x@a;_1d*T}H~V+dK_uK2;)5 z=K-J|(^4-r1Lp4*$pO32FPHC`9GeOZ*CTwi_KrPn6-kYx1#snSG z?L}`d2!mmN);M&C~8F<(D-a|oJ~o1;DQ7QcyL86#UH zdsD<%_pd`cHcw#=|J#}KVhZcc9m>Gd4qW^2FJ1-`U1Euf_#Zd61;S zfTCz)XaQHn+Feg%QO&2)8&-4Cl1$r!aPew7Q&s@PLdcXLQ|XB*kyjpQ%E4SO4mBrzn_xc1^X*8>|@bQ^g>Kzk!!@f(4n02=*(Z!ZIZqixZ- z7pE=fd58D2Gf>PR^b?jZ-8*IM?HhfA6o~D?&oj$CgS(9z$;a_- zoabE3P(N!vL|iyvu}z}B*obn)vsFDU7iWj zV9CydJrktv@Gr-hKMlqX|5v{ zmHOYWfwoYr0sE1{wQ0VGzp`1H-&s9hdi~%{QE}yg?vWy7e}!BfQ^pT)Cd8#|`0q)) zu@7sbQi`|)Y7!*)|5aw@r{nUZEVgN`FA7c81Y1qE}Np9?u@{B9S#gv7=btT43+?BPn>mRKKG+v6PKIOpD^_4&DDVqDbZI-AR=WXH2` zCrlUH_R%Yj7hi8KVjO!Dt$8jIYNy`EUNsmET4GDh#aK%m zuAI`0yx-ki)au@xY`gvngD~LZE`}_wet?+pr0zJf#se>@0EZ0QI&R2BgKWb;b-m_VKdCNnvu7xT11%08!hx~DDi5c7f*`1~ zNM7R~HHgDGH0k^FX$n2Tc{%txv>w{nUA$h)7=aek=^QD=f*YfbsSboFOFB@>6Q;sH zDx+Y?o(8ZmZuIN84E09o3`a;noLS>(JX+76EO(V$KtVn0qsb2WJ?lWdIp%|-VY5GC z8oT$$V0Wn*srhXm#N7?~{5NF)b@505aJDN37w6Et2#X>&it>-$?Fy{hy>D zjF_A`)jB*`%&f{5uO>odxVfP4>rej~LpTr(GzqW{=n=JL zVIrR*(S8kkDi^5vtTm(ct{zHFbe?jK`%cKPs;&WG&y^mZ-n4r;40(O8LHc$R>|Esl zSbJoZtx;{sjk^kLTpHyWU$f&e0PfOhURwlBl)g#~o~0yoT=oE3K8;|QbL&{ZF&=@% z*vHEQy;|$jRhLj8?E@gNbt8jUeU8ACjgFn|Fbp3Ab%XkL@rG*=v5&6p9es#U25p_~ z8--<>B(tsS6h=~SLj}tzyOR-BAJ_k$(_PGLdFhPhqjmx&Iv7WPYTTk}G+a+ho97oZOJ)84siCtDC!0{Hb3U5x&=X>oQyE389< zpbTmLpS^CSmseRYN+~S?y@mN_yHXUM`9ZfH)wq25@hrkkhY`3C<)%`*bDSLHca5Ti z#qTe#G{@H340hL5JPPAZY0{XL7!Lh(9kAv>FFQ5npJf+bb3^iQq?Y?7OQb4i8A8x! z4TIsGg|^!ywwf>2@Rw{y@%mfWICf&6YK25Ce$N=>gB=9O=&Fv(jhz`Ml0*Fcg{{$U zRci{WT>|b@qlz?Ncg~HE=-OuJeN|G<9P=c~>)=|Jl`YmoZ})WT zXZMl4&UML8;`lNqVDRlkyGO`bTfrz?%j*bGE!+(I)1T&;(|0-r0q#)Jx@&v7iYoNIZWNC6u2I!wi0rDO#6fhr0=p$ zyA3fGCnNT5La(3a8z$WlRCS1lar`ywJbrgropI+mDFvBXesXT53cQeW$V;V$XjR3E zQ-jKV_oJp8iO=^zoczIp8vCWnun z6Ur_KfHDgDRE*auPs0c=eg;#FvwrX@=5p*;O3aCxBMwQ+d>I>b2F}9ZAl7lo{KRxT z%+FdGec^H1RrG%}oo84RT^p?@A@trm2+~0j1?hxdrB~?!N)s$WIwa^zZz4scC4lrQ zRXU0SqCij(M5>ffq;~?z8NYK*u8V(=nPK+cv*&r%x)(RzmbTaQ)AD0Ka1%ucH7!Wv zMhbV+u;1YJt|Sac;y}C%Otv6D8aV7Q&+qzlwkK!yPhOKAS>($c{`Ubc)cBd_8_^G{ z(j}9>+PI8AJ_C%t=|5iDNqo_zc?hm6pdf#IqNhmcG|^(Wi0$(qekyospjKj_ULx$p zUA3Tq0>=NYF#!Ci_Wd9zsFxDl>g5ptz(?tK&m6GbdJ7U9nR?s!x{q&g_xACs-4bHi zCwq4fRK;25mkMdH-1X*PR$-$2l?RA9lGF$8zJWR|@l&1@nK`rk{Nd}rTwF{IhT6yn zj&PCs%jPdDQVPX8P#JP%c4?o#A-_Tm@!*a07VLe6hYJF=Eu#s$8MW)1Ox_DHTmfai z*u_k0Nek(z(BfRV1;v8y97&*BCdEqua3#O+4C<7YWqbN3?0&+2i6&mooe)YyF9$_P zy#m&Th~T7Oo!b4zJVhLq1q{suka{mZw#0baLD7=QJ#{$|)jB7)&be>Lgc<5O=a#YQ zPCgowPS58=*1#9tA5k6;YZcoDb}bk3Z$Wl5*}3_j4?HTpO>lR+n3L^S@Ytm{2AZBg zr8x1HdfJ-BnLPuCQ~asPNtiB-aJbayx14n@{K-tD^`*4xD3T^-kjgh5F^Apdv6ZP- z{aE?Ded5^zFFHB$Op4-xmtBv}^C}O%+w9uh%t?b{d_5Z&<{2RGb#fEz1S!pnvw!q4 z`ENGdCe4G1y?LUsQKgL{m=@(0RuL+aksb@pAv3e1w@wHSeE|Jh2R;+!QFWfc_GT}2 zKbo9#oACxq`B+fnK2iXRL#%?(inW>V0YHt zl3{_)Hj|^zGUbHMf9svHciF6Tb0zp(#LCEiICsrc>gNx6qkr7MMd&U}^?dx$JKF9! z^^>Dts>LC5-TC!QsE2CM(l;-PLdI-sHYPAeAsf-(b1?lbUz)gxYo2`lypm)|&K(6} z-x;*;@fVQ%_@?Eb8{(p`rXuCiG%C#Kx(q5TC7DC-K!gEj-O0qd3kv7W%Bqa*ldMCy zt*j>>0I%~}xPE=I@LP?>7;7~gZ^7wudw4JP&nt%*Cb9N|kV|<`n$lO7OZj9{HGQE6L8w?X% z44jb#n_UOK;m2T(K#F=rcW<`u%v(a?-Rm?@HhcrCzr3!*&=4#Vj;$*uFA`TGAit?>d|iV z3Kac?!MGXvIYko;0`%&48`R<(o#NttVO%Lyj9|^h(DfG#jhdL=WXx6O!QQGb=tZ zO*!B^WX2LblBxw#cVT(Ic8udeR$RnHgs(N6$UWS*j1Q(_rwit3w@E9O{qP{VyfopR zt^i<)|4IWNZHx?}iqH}bu3^SdCzPvwB$quov5z#x4_d*l93)6UupG~5AsOcOEcw4= z+K;o`10w&gvx19AepppgxrZ)hQHD4E&gyD7G!y`LE+ems=JToApJTtg7V5Pn5~s{5 zQ9X}7UrgzNZKL*5RKnCabBTAPQb_Remx^NTz|I@5se*fot$+E>XS?qoF`$@%{_~?r$HwW=S`HS)H9b=mc4d%)THj>HE(J}-~(x)qAKay-hir^JJF`&@ga9P65c)FLy6bZ zL+qCPBaPJ833C|9&Ri|+3Yc7_JmE_ZRBjQk4j27@W%z3@ejl-lqZ@H05$f+K|Ahm;b z->|ZR)~k33UD*iB^R2~lAZa(R2_)Ozf)t^ngOkZ!w^RPoB-87&PDwQ@Ef-bvBj0c= zLF{rU>O%p#7hd5VAV#KMkxD$75%M5Y0#~3cdH%SVGdf#w6!f~uRa1W}N!sbcPg-Rr z(#4CB=ca=qd=|P)KI{yAm0-Ww#e6c6hxuWPVL2D753~Xt?yi?!8@tS>s@pTOW?Xo> zC`Vb;CGq}aw`O`;kxMNwxUc zwzpULvMTxmMWBZSMbUrvK!U+`zruTG)Jqk}<(SukxyJL}w)Fl^q7Gd+`ngHU?{mb1h1gW{ z`5pmQ54qj{Lm~XhRXi}`M=qo&{0GXc82ei6vySgaN^&2#m>?D;W;!U=MBS|nR--;U z$U>fsO%P*c?li3xt=3lR+T2EMB1pigWcZqGh?*cVdq-tOul||oUFuM1?F90{#Vsfp zlcP{huKtY8%ELGAv#J!r8!+@nS%bf7X9YETC;Qid@^P&aPz$j$ObVsmWk79L%C`ax zQ$031V2sBCTA94E-j$j6{zr`T^(VX34B|*C(cQ9DSrk?*!%}tBeLR} z;{jD`zY&h3X~t-~@whDQEF*oA&JUd>m68&=#eqW!B?8m2ctJ13GLcz&ZJ-kA5SE1o zT@Hk}2FL}WauNOg6wkNUE{rQINv6+*r(|(W2nevda_LTlAMG`OFjWi|=U$U}> z{Y#7zcJpe?muz}Ai7O{X#%%j!kgY#Bd6U;Up70od@0&9NVyi{|f&5@wkmSE_{r9hl zDThhfTID&`F+L(|gwdmzfI4><8M-n5m+h>FGaXyBX{i7A+Z$Qcc7pv6Ta{b!@ZaTL z+pHVYi_-~luESlw3rguz)9Tuk9N)$kZ0XG@Jm7`Ly_XunpRfYl&w2x8xz)W!U@xKEn064K`B@x&z z^Chd#7IF!5GWn&83DqXDAOW4Z-4B-2ml~(vb?HKHd>Zk`(hXWSHZp$(r>qeJB$RT& z;S4k%jFOcLpq_}O;q^&w3<&+bY)k-JUqomDRV^~$RjP-u1}1K!9FItp%&W~|gQJHi z1zjineDL35NVWqE1lIV|Gg6x2nW6z3#g<8Zz)!pRo`nAgMcgY zWnu2Mw%GgNLCPpVd+H1sxCIG&GmCE;+H(>Frti5_E0z-eSlz3F;^~GL!gPaDA3vh+ zI0+6}c``r$#o6|g7$;FOLlpp>Bau4<;??t*A;e^a%INchzY42C4NJ7BR0DjI@?7D1tf3~3Vo&EF`uF;u&R2{;1oKw!-(B^y zQhsJ15HhMlLnn)QLlf|MH}XW8AFI+y9?;_uFmvJ=$)^fawaGB2f_&?m4_yW|lb^2U z5CT(McGlZc#UDBBT($Sm;kLC1GWgm6l+wMkVqDl;d}}t^ygL%|6#V=fAXZ(Xpo8`?zyM^pM~L8&Ga? z>nVS-BIkKMum%>aqV4P;KW@m;Wk2r_8JSY*a$hK;<-bG&VE_?aSX6rK^%4epHx-tI zA-l1fJb00RcoY*Qw@ zoRpdvqEt|t$9aY(^S(YYdLogIcS!RF6d1pCecWdNU&FH_uNJ82>w*SO79MGy_f^b{ zUC?a}^QZ~Ap?-9FeW~lPIMjm;och7R9)(3lzP4Y^)ZjmSC)Z+fIiBuMPM017+Q)Yd zDqMa`!Z3q>GGHJff0Yuld#ij8sqMbz{r7U_?s=VU=dtewt)kZalxYaE1r-OQVMK|8 zQA{Y1ikrV1ab&uLOpUzj!$q{NjB|-9$EL2@cI-_eOnTWha`)$SV3{ju+|Tld5Wcb# z+7Q`;%?;YR;>~IPU!s@IJ9iXqDXugOx0}Ip$b08^s}D`-XhJ~@_V0eyCHkk~^}dna zJ90nSgVm8YPw*h}*2Wgn2R=JDjI-)_>%+h@)ov1D$VCgdPy=f`(ql2u7CKtAws<6H zw(gd&dhz7pT4(vaUNI8aT1{);m;r*ENuA`gYhN~<-xm6oY?`;DUjr#kl9tf`Dsl$? zqo&Ic#&MZmD1}n|Q+KF#`r3+V;UkaShJE9ufcLM_@hv++K)M4BUy`*6ibVza$PuL1 zOdBja>?Woh2Z`gOyquAtfb6O%dqZfN3B{QA8gLY#>j-?Ppm8LtzLjfDva9rd zAr;}D^&070H$af`*7)Hj_YGbwJ|I_KK_v$Hmg(J0V_l@t4VSafV` z*XT@6=sKf;j7a(KD5@bp&Y_oSpWof)RNN+|~N+kP@p< z%&6CY$2bCNs*fpWC4A8<;Uk)ozc`Wyk+O>; z0w(!Tcbj$d?Jlk#7JQM1k)bu9vP<$pG9IGZQg?4|&{swdWa;vWiI(Wl8XCat5}rVu zqF0%eLbRdR|Kb=G-)n|723Wq9Sx5b9{&tF&5U7%5NF$4&pOC##+9{kL#RT+Z)et7A z7pR`NB`ENU${YdZdpMz0NouZqM0Jk|3U{{o>5^|Y!N+m$z)_V15dwripLkb!uSblf z`89=a^y9@%xpUnK0~eb^@vom#^-(=)R_87mbZZ{>#rx454WoA}4*B|-fKi0C)=+Nq ze{?2H7(+kjRI8FsgUL1S#fXtxR|`1z3)`XQc@F$HZ!t_UqGe_`yd*Lx)Wu=F_$7hL zitW@eAbbVQiJVZbZZkoRP@A`p^V(lET_O&EUU=dW&Qz!EAa=G$;I=;SPPh29F=jJx1t3oX_5tO z8`Jh|m)@-^LAC`;MgMb?s;e+rBI0TzUe4ziV+~mdQbn3~V(G#YqDS}}5d{E`{P6)I9=IYvoP57AG2 z5~ON>b`Yjo{OCgZU9A%2ZVtaSaT|i!Bl?~k4BCBLgv9krH7d@WZYm(tPU1%_UeZlBr}ZC4?u)Yl-7X=6PNdAKkM?EBgT zyirzDPC3i}KL21xP81CF5rgeYFk(#Z{5^zYS#B*3^}B0W8rQpWdKD5o!uRR+*x#SBy^!=qMZ}|nxub(o#1!5j@PjIMB!9+6gJ4}1wu zCt#*{HYPoWe69WY&DAg;g~ruAPg-{MNKuQn%EaX51-97?F{HEk_LB!ZKPjjn{9}RV z(q4#7@cAtCH$C91r*owiH(L;QyH{4#pA#=~F)eHPwVkWIQNvr+=$bBAUGd9F4*8~& z*|p}fyBkN`pI9%0Yip77U^C|fpHX-w<2TPH_xQ`iEoD?s&=xh9VDF`lKJYWei|~Ci zZILLI%!jJZ@Mj|%+~2t*qLl)=aXhEI*JLiia$9F;Hm?4OJ7c`O%l6^qa;-76bA3Ip?&-P3@A zM(J{q1v;mt(aoJPf6pxslyiYa;(71X4W|bS&FIh{@eUyFHL}2$@yhTK?jU#iR9WV@ zEww=SHWRAOtKbWL0RA`ILWFwqJ2e+!09i!2V%BHQ1U%5}l@SjvOBqy~2XPcc%y0R5 zZ6F|Xg~Tcuc}{P_GJ-j3C#F!9atOZHl^>~*;XV5JzHF6j%ka}J=9ZgrAbAcig0*(5 z+QUVd@2}uMteU#*f0aYQ@`S_VwaWP*mW%kO$q7v2gN{*i(h;ny{c}HBWjzXoUq*yg^HXiGiqamgaqAu7+JN*L6YAP9Qb{_bm>f07v!P)1=}ifc^5x5kY^Nc# zeZg%+^$;ABU!*$_F;H2W8##bBu@_VT+X?S|6$dpd%O>u)2O^)Rl%Vo!)Bq=WkFGDp z2$nTttheTpbFU-)Qn%j)vGXR?G`b5(bmzRJ*#IFW{VujdS#=dr$nK$89l&-UUGCZn zJN{x}p7ot771nD2xNH(OxVTd`t|~ApEH^$~+Tmh80>UA?E&x%Zc%R zajA~402}7hP6tyFSwrkAf5P-D+KC;5Du){oSBeE=K7bb{(T%~zl5`E;FyZJv|6yH9 zS6`R|jWp?s4g!2+o6MN8wKrNB(6IA=3Z}oYTm?munqao-A9();{~Fg#F3wj>7`c`_ ztITf|~+KWHn9l9;6VJ};5lGcBV{H8fw<>^2VD6=mE2gOaCDPV2x&SkOSu#nt4b zFwpx;(A5HeY|}y7L`{;+5i|r2_Llk-4}lBcAmc7_^Xr6cm5Yi_bzdzH^ehQz5&XD2 zKgH1d#?e+F&Og9{Qk^8ItQ|0Q|8O0f;KOh#*WPFiL8jW=t73&7MYP_G17mpl(R)wW zr*$I6wSd@|o-zWQjihLAGE<2*l{?b8SWwm1xhU&ooqZZ>zJ4nmD8Kg;Vfzg4qjnW| zSk1y-!?b??P$od%1A3QNlFvmLa>_3&DHTEHKn)4@vWQ2=R&YQut2nJgg)w zmIW-c>%PT$=$!e>oD=)@cb*Lxf^a)3^OK%?>f~A_T->6Fe8Dgh%{-m; z#|ymg?GZ=#ZBNHD&_QT$U+UEEtg5 zgz95cr16UrTEE&BZsP|H9$Qm6sKOH*4l$PB|GQDPiW_7Im#Z_`R+fwwfia{IMu=E` zSjWeU1;^EUt)5Mn%W7T$HM)Pk)_D8^rR@0E8_EsG{^zNk;@W)T5j6<=alJPZ)kosr z32#`Tf8eDK7PPJH`Cwyma%rPjh%jii$GX&en)mvT$DM7;tuC^5|KXaMN3^NIF)!FC z{=B_ptpT<;+n7QqVb-Fq4`R$tzo5g0#F86g0lpUpg$m7CyU9MydIBghmW8%iqY4jw z`d8eKLCxQBcT=0+eS_P=cb$cPqBU#f;(+?wW4a348LDSKF= zbUTAr8S>aW=^%re?LbVy?(T=^o$)x8`kcKJUGvZby)P*IGN4U~Qu%q_sYmNl^p{}y zQFwelaNI&-=d`SUKFA&%n?U>hIiUc1ys0T#K+o?^))fC(-WY@D+l5&SrCu5!W^Vn( z1-J2`24$2eNr@6ISQiS`-lSF8PPr2)Df9VVL;WO$=bH2DsuHB*+Rsl|)pvVaz0b1$ zzZQVT?;=wsAT@dHR*8&tY9=Dp;0*%BgaX<42|BM00aeQ`D^jz~&wO$L6>?$m89kQI zPohVdmE?lTC4sT)zOey!9icHSy4FCjsW;Tq4W5w%=WQvcJyOj%yK4c=KpsP}eQK~? zeiw{2khe%OtQnAeTZUonrs3tT;yt?9Q18eW4F*X=g!brN`|d||56vtV!eB4UpVoF4 z{f8 z2p6wpC|~{{ymHSaSG$b!xAPVz*WCoq=I$c(qmWHjPQGrM|Pz_jpfnWS>ABpeMyyQZA8z)jE4wo<|LvOxM3 zN`MsbQoUC5yHkf)6t)jdhOhLR?&o;_olp5ryMb5#aaw0wv?R3JdHA?jIe-VAuUOsb2onD;k~{@bLX; z=lUvH-`*tnRdFaBRw`Qcx8=8E5_OfyfXC!N|0-`%Uei8_+b zD|lP1{8c7O$S{&S;q&!3G-6iCe>Cf0sG*GOkL`bt%*Wej*Ba>Dl?;$c*1S5WA8lN0 z$Tu;4enIk#Tted3gbKh#EQda%KGD5)QQWUW_2Y@({wK$XZMNh>BDr6~JX~x5Pb_Dg zaG(U{n_8(?xfk53w48-HJYQj9<6?j^Gf1aottV1jF#zKEr0%#dCbu!4A9SUWj_ z%a3VKR;=Z%{SrQ2l^(4s?TA(c6HsY89YZueIN+c{;UHf7n1SiY!Z-SJE;B)-VYZxO zBNpm#v};Wpsrj3fR|R@aQcj$q>mp9+d*tT^&W1Fab2g7aejdafYk+$N=#w zAnoXOWx@T37q`RTI!M=5jHkv~fm-M~nELNapT4qdve2hXb-F}F1vTrKz}2LF-gXaJ z!Ln{V?kyF7w*c1fLfwePw7IBBv`fb0ei9&UrwPxM-li$glpjJi;F@iS;5 zGWnguiqgMky|nXUGigM5KHswSu)EdWo1ZELzi>3iQ*>@gib`!>;xRyZ{>r*dzE_Bk z{(%bdYYcs$uKdJkC&-UEUA`j5@svlN`steyEuiG{!}Y|xRbcnsT!wlpGlmOkWBh&( zZTY(Q(~b8En}P-}`261f5po^Qy%Z~gJsgH$h1_RRf4@h1*1#|=x)Pucyr+fpbzpw@ zS2N8@V$ePhpo-L1rW_0(e9&q7{-yzZ-{{Ydk7uLBs<5hx@kg;QGrp*X0OU8ywP)=m zxdDFET-bc{bl0mhpf2vD7I*wJt#Y4kQx@=rO#(;#<9%FIkPB^i%+~`sC*t6N?X!0o zAOJ6tq+BirDDveMK36m!H+j3gQWcAIP-y?O^I}mfC_!`-VphB%Bb4QGX5#kRD=6dp z;R5YNVP-25{p; zav`HJb}wSqNFY2)8#AN-TOTM^>2j4i3u6dIG91zY(1gMzU4&2gZi?0BekbXjiFA&>r`M zBKHemjXg9b(o=Ai(s6KSbNDM;t*~@Uld0lpbIk9%wI@s*p|t^gUtG#w_8t;t+N6j6 zShpz;-65U!ZDGrJs?p>iD2&`6K=nz`j!$wwzgJ(=hR|Bp$io8%Fs^xGz_J|h$&U5eEk3ZIbg8Hw6())qSf%D1 z;^I+U34gFpe|X7{j_LQ>fpc9La-L@*X#93zc#{b!8;;&Dw?(xITn~9T7IJ7$Xg8!m zd8-n+RN`YPAIZ8|-7QMa`x(PTX-0~g+##(wISmQ&aJ$lKFQRC6_ptbaAB@T>G2n^O ze{NlJW4{3ufrh|`jwiEwm;h03-~S{4bNO!(EI{{2#W*-CX5WX!bb5Z>+!-G+f=e14 z7~b*iOFs`F_h&sEa zIic@T|IC!=@_|+|?z^nna$FKUB0lO~7o3wnf@KU){tX{AbfOWt^LXKQ%Bnhjrd^v1 zraTTD?kK_SlF#U)u#3Ke) z)$6J_ZMV1p?fcIotw^s74cp%V_y0p*9D(BOugvEL&r8^P@ig*(nirXBMVZfoHGe1R zvxj1atI-Wk4>L$^ut3egaGm~ngAdb~d1hLQpy8rD&*v%qtKFER3-61N;#Y-LdqE_x z`iY|p@0>ACj_axwtvfM95rwi3CyXmVHDeA?9v1JVlXQ%)69+=`m?XY*T<~$)@Rlrh zSu7RA>1RAOD`J$RsT4jNtBBiYPDy$96riAm>^d@w8_JxDK~iz%cU(rrBX(~2{Mw&O zL|qGth$;h>JW;hCc89CiC-!cx*2!bJHiLN!v;$MS_js0e!2N_?oxV(ZK6ugJBVXQHkW-Tq;>GuHQJIgV zmdD336TRmDnu`%yF#mN^d!YHn!B1XTEj^ksh>2GaumsVD{ueuv#Vkl^T2aP=!kzw^ zWclYfpZ>0l*ai+#6vrk>x!?j7B-zEP$Nm=K8xVenwyTmdU5BYWu4u^zjChI)=OD(D__x`#FwI7?Sp!;q%(%p4$x(2nREx?{{jA z9UDAN=k%!6?fsXi?Vv5a%%L@7bYTztgSa_0$&JPMbeCV3S%s8g1$i3+OqaYhmt9)F zCFBf6CZc6GL?L;RQM}yOabca7o7Kht)lLUi$P%V4tov@K2V37F$K`>c5ZdaqslxjN zQ_7g#qGW`Mx4cr85OGa0|Ao21T>1V5i=D*(u&#Kza&~q`lIs#BuwMK33sg=b`b$K} zL7YG+AF2{m;y-L@ik|H>jC(3JL-EdqR8qxp|Hm}qx~{Xx+7i-lY`J#O{x!1C;{BnXWuo-73jN8NYTC(55%rucmsdn~#nvo+fMsZH zT{R?Wk8^nWzDci{@g3r+Q@xT1wgFwH!by3>u)4`VY^m}e4MJF!%D(M{vo?+S(YJS z=+bUj8Jbie$y))fj3M(W*?CwK;JUkg3T^KA;-EpcC0 zB>ob7X9dM59P23R-P*H;e%I;9pt-3RyxN}H)~Iy)RsSKex=^+&LogGd)!PboYC_lFESgfoPM?HDM&i zDKAp6z*Yqr+r9BPav67g_E7HZ2l_WINOrGoy!J@`{O+v%G`ruM_CYc!QP?ColZ+F; zT49y`y1l~dBaQj=`nr!_klQrhACzfigl-O6sdqgw|Zcm`DA>^GlL zJ@`R2@&tRhr#k%<&T9f>U9lcz6eicmwQ5VtPYn+NEv;I)u-T*>*v*>BOw$iuuI+aXVbzvQ%^AN%`s^@I}s^51-YRM?`1C>HgD z)OmQ)Z5~v=1k-=-XLGrqKkvtvK^GJO#FwJF&!+(|SZsl(jI;c;fY%rC6-$t4yY}^> zM2)$GF0-Uze9bP*pC7s~`#mNFPx$6bC=T5!qBpUVYmaKaZeB*7bU526SxfGTQJS$* zNk=^xFfpzt-RP3M{Q~56StQGjHZP~XAqoLJd_-jI`ct5Zpt50I!#OT{v9Y)LaVz4x zd=N<pE+i8!ItfTEyhO6=DPen3KT279tj&U*-k<&;(-x#7C(8gV_}6dazrv z=UF#@xT9w64S)=VSG_)8{kQxF>GDf>UKtO6{uf1gKTRz}8oQIo%LvTM8R74n>Htk| zhuq(WHdgKhK{3kiPh?Dz=v~4M3(^TGL40rb_zmfj3Y3K?cVBAvM!X_sJXVS_7Q8_l zZc;H8sc{F$fR#UA84$MuYyqn-p*J>12UJ@zPWIo+yCAn63>tKx>SPX;#et*?_WkU# zFjV>%R+RVx6PQoZe!ub+DvY!JO8T8;s0uF_E;5KPq3i5gH~TfOcK-!9?^?4iX)}TL z6LfNTX)H5fom()*gz~Do&jeU!1<$@ONTD4rHXn64nb^gOP9D;G<@0eNK}vTX(g75H z+4k=XNr78Oq8=4$z^04_0?aBoC!fJF9mw`rpmW>hR+S|ro6TOA<9_3&pz8Pq?&SlG z*xS(a^iuVb7jLHF-ko1i|922kj*G6WPzX zc`kMDM9T8ia|%J$Ub|F47X$$Cy(9TJ15|wf8N0-)f{F9M$y%6e1#pM@ny|+@D+pVe z_PvR->Ak+Vqa1S+&%C5LQ6?JjMZ|qmjugf1+_r}v3Vym38QTK0t%5plT{bx8ZnkgJ z0|B_DRWM2wJi@iE@85gunJ}TYp?ON=>YI+4N1;qtdRzng9ZA*Qhib+qqC!)>c`0V=dgDc~ zwJ-io`~mk}lVj8YeFC{3*}!BQy-F>kONA)e_~nS*P zmkXnBIy6a-NbH%+?AZro>xD?IM8M5Bd(-9uX^xy_ZfhD4%n@|7xiU?uF1x7U{j8W@ zvt}Tw3Qnmmn8xwER;JtXO7cUHcwMH? zLdUB`88=R5EgVpMr5o<|xuze?5~iE;nH-j5MtObIVP2+6euvWq-@xma_>C@$vNzr_ zX8yO1oq|*Ln#vXs;T^@RkjMMCmgLj)g$&JJtVJBYxq<5^GP^-<9EWnIq4XE6Ni(RT zxRHJyER2cPwfP_lKB15SP$eRZj|k8D(3a!pBv06$U4!lV1s(n+S^-S)pVS_cs;eTE z82vBW$_CYZzfBneyehL|`pNLg$N!!oF~PPwXUw3ewK-`6G(glu5?_E^Y^E!$sEVL; zu-pejQKG($gBAmkJ)Wls5vF)QEwCX@sJ>#cGWFWCx&`ZXH>(7+1whJt7Cu5fs1IFn zeo6A=0`3DW8=&URx4(498|3Q?&Cyr`D!L;g>h1ozFjW71dUn}k%=m{e9TyPAkUNiA zNv;J>pJe_E6luqJ%QqG3!Y9}K%aoe;Cbu2CcA zi#|-w{>V^IqBZ{bM4ZUzmrtbSBCDdw^AOnR>aL8>)fdu@juoKv(<~JjenZt9_ymbQ1^iKdO0y+o z2fk~-6)WTLFQ=>=xM6ASe#Vc@I@J+EeY0kLAufLo`J>CDqz{&%vGzzX;xn@r98O+h zj6jfy6~t8vZ1V*T_gI^TQap0Hw-4-NP_w!og1Do%7Ml03kIn@sgHv=gS(Ex1I4S*4*f zrXLMM{c1_uo18)lrs*e~;?WdYQV*G)q8lhdLo)G5@M`6L zxb}3*2{aqL)5}CRc{WP`8AR)2^v$u+jzjNDHDU2rpj;v6w5-88lnCA=iT6~GuaCNb z;ls9GlQK*Imj!Qcz~&re$S)U9Y~R2w9p>- zojYM4*6SxVaWB+VJ8qk z^Z`ur0fISQn;aH0eqU}FYp+)45^1aw`h9aliFur-rOX98a9ah@3#KTmio0#4`e{Mxn+yVT<&(w?tG zc7~KQf&a-*;_7eSn)lC1Iy05$Qd}eZcYT9E)y`>5R#hUwl#EPG-Vrk}D zUroR#fi}2g+U)D~F@Z@-nLbTrw;aqsCWkojuv+>pu=3H5+L7(mz#@dc^~`wBVg}Sd#r;PnrZpph$%Vl z>2x(mfO{%D{i2-0{6G(%tO)&gy+<)xh`g{Q>iInGxyv ze&y+($~m@)lFZ6bLm_c{;wr55njyt_ixe2L^Hm7Y{&Fh44xQ+XQ=DV5>}7s({qNe+ zcRsL0`?&!PC&jgkD%2X|$~y!DXxcod1CkX*171m{ob^eD=imhkF^S4DQe~qyn@~+tKZM92jgLQ zK8~zDmp$&o`a9nF7=IiTm*QD2jV*Bf67q3M`2MtQh{?N^%?6nENE9`bnVR{lx;8Y=ZiDQey($Z%af)q| z>h@*%B2=D$pwmf-kI2haoO4KfnnBf@bRz?JFVt6uOOw4l!0jQG!REttF4=@n-ds5F zT(hy7`90Qpd{}*ds7aPEwA&iMo0U|kea{+DC{xgf84lP6a6elQeCO=*7vVeNJ2qwa z>N_Zd@i9OpcD8^+SWEuI!U|O=fohxMvFv39uJ=xQ`NYCWPAwD)if3bI^uPitbCWDT zDj3Xj7A|gzlYA!xIZe9$Ccv$C?|F-LYYg>FZ&*d$NL7t1Xdx8-n@*u1-|>_IEZGW5 zRebs+>@WA!){8m*dLT|#J%g!u^j7OAMZhB}xb$bwQLI#XJBJ?5#Y_}1|7*icCim{E zB<1^APw%gzIqb~h3W$P4gbs`Cwfje}nJ#BI7tY87aIg4J1b~v7LAj9T@z`bgb43w+ zwG$#wIc+h~ify>=y(YKKUg)_n=XYxbFYx*z53~~l{6473jbQzv&q#Y+yp-LXigFzT zQh#>ravinxe=pLx3vN8-2ClMuy*@U20WZ_8;_DEJ@K%e8VR94>R_~F;^3zX5y=Dt` zRh#sxEob~>aoNp%W*^U=Y~}~D0=_}a1h;)MN3O+C`mf}{8m+E#Fg|Y^<`s20=b`Pv zZ9Kl9?(Knu>u9ytVz=28M4=47*qul^Tl*Yqhc*5!0PXC0(iTnn|EH~Qk7x3K!&x;A8bpv|vF-jI(Z&M}b54iP2?Xksanhu^92k)})?y6p(}cZjWDD#YHo zpB^qa*$~6|egIyzH6UI5SOAhy@+DWi{A;)5T~%?Q;6rJ}p!2{Qv=zE4vy2utFd_*S zKej-F3^D<$+s4`=_RvI8ycK+D;wU?0`cc^5eFv&k-U}}j0oDc3F3x-B&e&R>68hTS z<(Sg$n2XSj?E;m*8OO)UhFw0da*nSyYjfT1uvwNsV#XE<)}2lC3(}0ClX^Deht-}8 zToEdGeu!Dp5IP=cvZLD$)=^96klSaan)>gp$i@ZNtYO@K<$At8u3Z3%z-K<~CCx{t zY^b$bgy^9f2Crro(;7ZJ4s9rdkU+pF%2obFJkw=wAqHOA^^q&-yKg6>cr9y>MW!Be zZEB^&n!{IbGdt~7DWncroT+QxQe`CVVthrxfUq67uJDh(4m ziVDodqKb`NJgmDB9es~*bX^%_g(_FnUPucSX}jmL<9ML1b`GFz%8N4MyLg1GjINU9 zxEqMCK)yoXKYWVdAtai@!fT%&;Yi7SS;dWRMZMCnBNz~hG@7}Rt$e$vtwwPX;mZR& zWL~MYqtPb`zrD`>;VnHGhB_at`{9xI#mFEs8j;^3^#;;q9(6cquJRV4!`(P+x#S0u z{4oSNwH!IMniu`$mppI(_q818s;)sJ-k!6U?~6VR=s9LRE*h&Rl?k4-m%keW&w(1M zQ+He|BC8B8mG7J3-)Nk4?7hR$sWev_1vgb5OMwv{b2@B%y;oPfEFW`5tV1E=r%R?E z`-l%18t$_3_jRO-MI7b93zbub#;FmBs=!2Z)BEuLlcbrUm+C3!Y7e2Yfk!Dp?A9b5 zac2oOGOGBb%T-;xk&imQj{_<)mmh>BBZ_rG2Ez&@4#&o`zK(~3`x|Kbv$Xj3=wb@-t9tZ(F zcAY)h1xyWPw;`CI03Du>ELZziRE4N8alTh~-BNnm`{hurtXtGVzqrQ`Vrog5Q9( z|AqZ{7ji~M*(DX>VP}0^N@T2C%ul`;u14_}zqoei=cTf<5L2(^Y0j&b~j} zQngYFB-to+?0&HH&6R{*p-rECePxz|4AJvf0;Nw|COp_g)adfhlvaWjn7j)fbomOL z{pIV!{;!*{wH zwD3-1(&76SqFI(ywKZ*v-*g%GjnOdF|CX0r3j1=l z;=2H7>Q{E)l_C4h$}fd11*3H5RgdVYO=d69wXm(A`+cdeA>G<9Q}s8izL!kwykCL% z-1X@m=1{aL>@0BY!3F#D+FrbW( z``Hc`r+QJhdSNR!rNyM}kfB|DxH3)LaQDp5*^ZyF6|I7J68VbrU0l#&&Nh3EgIEa2 z;GuT9FRro=P27fSC5#7Vntt-gZ$GMPznGb@<8$K0IBGnFv8qIy0$;pxL`C#^M`b9} zV*bUWw&y@#hm(E*Kj9ONcnES?hl?az?F62sO;=IZ0yU0q9=0;acrJ>E);K8vPY)r(DM6A#Pc(hfZL{0Z^ADSDUxSP7}OQI-u!1`g_tgez!vN5O&v%&+&*jE z?pOFXk#wQaMYFuG@XgeX%vA-1&l$fiMq3{pL{>xDFCJDh(?$8gO>n#oH1|ziBteHGt!gMq*&|-3K z*52I9i~-YBaQD$}Ie~cJluJ$6VOHs(oVaYxS1VjS!BXSI!s$YuS!VS-yxI}95|kB> zr=JMP!pNE6@0wNBDW2x5nK+x>kCjE97f2}_+0A4qjBe3Syn3x5$6lQrHJuhN{`hB9 z5_Ci>RVW%OG*ff8q%{-N=_{FF1o$6X0xNnKFhPhfTpx2RwZlyV;RdA{SQ3Lh%0%!D zh8tkFz9m5?nKm$jU}8|7ME#okCV}|q;PTnqS-%g~^a-DI_qT@AhF5k9#Pp1bVS|GH zAf=AuVo`N};KDvYxGJ!k7ky9d?&6lj&t2if&U2~PRSYo|P>oikI>vCaLLaGRYhdtV zd#hE>ME#UfMFbIk&XTwqprWXiHUh>)Xc3cM!Uu2IdS-MUH;O2E6q%rq<5>UR4`4PfTx=j8g|<~VUV6NnBj5; zN8A_0dp=e@u>M5a&qBCI;xfBBri(HdIdNb%^_#{5|4!)LQs-b{i2G4;0-0rsBjdm_ zo@2XcwKa@?a`h3P!;C{{O=l&bY|FPFk}-yI1JrJhdmhSDfn@9h3P!#8OBR2Q?$QoT zJpN{ibbOC#$JYI!A*NVM2P(rx!W@gb&v#wx#uO*AVi-m_IT*>`Lu(!xJ{a1&x}%l! z1>>f=%|11TO_m1 zJ7I1+2p#sMrN(%m-$=Dc8lnz&>sqqKNIi|Kn8m^me%#fj(^c@U<6GnAsyd5R>i|U# ztOELNZ!W~!Pk9#aps`QQm{q_Dci!^v-$f{%3Vm}UHoBb2Bd7pHsYT}(;`8hl(87}pAJGtT2 z&Vt8}UiZ%AU36HYSizOA{#TBxrSC%>mNl;2n7V<61u}=~oZUi)`$cK^nO1S|&`2Z1 zHjSj88f>xh>iVpVU>$W*UfiG_un0MLzxEWAA|Yjx{6kP3yq2{DACYR0&?`Ix?BT2% z!pynLNA!3Xu1_Ee|7w==7$;=CAoD#Kqc)17!yDhxdS^4i%7?4x%FZ3e$NJI7@NL;F zrJMaK<*#01pyfaI;09X+4{m3@1=Wo=)5)I^V1OA=_4-5)$e3i@B?`Gd0>*|`(ll^&;iId?jA6OmG_ca{`B7Mj4p#) z!D8hwl##f4dBU!Wo*Pf);bSpBqfTiS*y|5SO>N|FImm4W)?$qO)?nqv+I##C3VO+~ zM4p@z=DaCyx|O4NRR5wWa=FM^fIgVlc`Eh*MV5(5{@W%`uDX=9RdnF@8tb8JDH7)W zqX5veI@8S&Jj=#E1(+e*TUSAMAK0)2ZmUCrzdz{v{N~9onH_ zeEdd{*H7Yy=`l@S8Az(ku1UasC*mrVvQ$*OWhHjGR#YIh&!I27r_+B{_>U7{uoaCa z=g1|e9t4VZ45K=mE{Zfa?q+q_2sL${t6T(xmX}XG;*cZf!b)8-ZtBGB3i*zk!dAJ^ zYaCxN%M8;3E!*B5B{cly4N%_Nw*yQB$1X(?7ZP^A6pyP2C+*a#*Z1`%ttVgs@T2Sg z&kTxoKE-V{=cII*f8O1kACEwXwVzig_M=?nM6JS}nrmKJ60HTj95D*4e54N28{A1vPtMi4*e$Gg_>zI!6Q zGB*F~5PneS3oVuIs%v3y4|c??>b#-tzUitTan{vHK}gL8?#dn8!cvC^;f@-=08+QT znBEJ3>Gh*O_O&p3*S)~J;4Jy<#({|oZ>#mdC>bBpZQk9JYaXy?ufT$;u=qjD=Fu5U zF0yHgwg}cCFE1@ySi^oM>I{0_sCRL9niYN3#Qmkp1|WHxcRB$VJLHf$dvBavO2cxv z+8*KCxa(xK&x_{5nlwJN)DoVok$oW#>vA4(F-;qriii=IteT-rA#+VgHh;=7X5~0> zGqM4lY{KV-PzZ$ImW$5YkzN{KK~7uyuy%0#mq6KW=w&w9RIv0Te(>v4cb=Wp_-x=j zq{E3IAe(mJ{E3&b=C!cwB%X%U8M(>1_g>c5=2|i|Ahu#8Rl9~PD}>gK0|_)d50Q=- zxfXCiG|}R9SAjiHs}d}5z3k{G%u=PxdLgwQ)>lc@f`srTMH=d_gZqXe!jQip`VDtxF#kF^`_5LZ_6D-1IWH zmtVQih4+*|9fL-`334D0iUfxMRA~}Utj+q;ikIvJ-)df|P0a4ITTpwuxfyrA(+3sIg8`daf5XPytzJkG@M|%Anaj{1$1B!wqAc3WI#0pcS{R# zzm4&@3@epw9!Dw6(G9=aO9nSBRS0#!+l{F|X&D_$JHpZQLknBORovU7-22mgKjN#0BS}&s8Zd@2la2ES~-(cxwdR?~r0LCe;~`6o!2~>8mV7W<@OzUMH{YxBzAMk__ z#v^jUkfMci`($rVdbxu_;3?@ojgk!$tz zgj6|V!~d1>CZBDIoD#w?zqd%D!d=#1KPQtkDvYxzZZ+Iocf$JkOUQbb~g`rFX(Hv$G-7!YG0J4iri9? z+oEDE`E>r3vR>qmj79dFE-V#3czp};g~Q{G^A%Ul18%^I|1jj1-&YoJxp)-{taHti z)fFQ=Yakoc;B;)7olU@kn&M&qlp&D}#v_fSdC$9_40eB5yHSZ#!ZcDnBcQ|gt`;aF zHDw;OIkg-7?O(*s4ryMr&zbw?ERnp0j%VOZ@?R3pz?LV59l_Nbaef zBtf|^olXSF8K3vHcw_Wu?oX5*L3L z?Ny#*oIih}J5o|p70QxEx&s{}%lTH99qA#5YDTw09$~|%EJ5!h<$|bht2RcK32*7u zlb39|FYp21%XD=D7H;)N&N|%z9)^RL)QVff19xB|FZM_uxxLNuENk0mrG+YF3!aBq zjo)wtiz*f}7zWN_U!7mv+V(5O_p++0R_>JJTATEKxPSm6V6X3=K>eX>FIpLV9!EM- z?3S+|-pP{1YLxBmvEF_-{`6W;aLnopjre^0U`c*}HrKZC)M^NCPt6#|B(Br1%FU;i zUgH)Z)N}Bj=kM9c_cBqvBnB}Ke~j)@%aPmO;UpE|dxS2j0)~Hv)yv=J{V-juH;94+ zistAQ%$J2SqXzxTLvBniZLAN->PvGK@BPRYRnK)1>Oc3u#ws#@l9`1ZG&NA0B(&tL zF;}Zfxgx^4Pp>9!eB&DsYxtcHP8YmFf5Bzh8%{x;f?i@_K?dv&0&SzbB#aV$GstnAK3JwqnXABiK^QnsOwvzAAxrzV7_M z(vI24?D(6@bxWyozmk^NNe;f}K^h6i=$IE3ep>}dsu6|$T>_;``5&LL8ifWgyp4N( z$ez!mtyEnQKAT`R>Dq4jnzSoW53A|LuHzA0u4CW9{@(=*Bs-hHs=<&|5rPeP6>>cU z=xi;m4mHwlC7ybr_nR~jX|THjLTm18fJo|R_?iK7^TsHaT+zO>^>m4S_aCxVHtI6R z46=gRoF2 zC1!VG#Ab6vc zHLiU|hAL0T$lme)>8sGj6SoHy!Qq^a@;1<>56cIXavZ^jb+UnlXrpa=pd+K)Sidep8X2;6g$RUDQz4DtPE<|340W-si#No z_dx59umiL;z&a=aL(+CAEhjBgSD(LHP{wfw>$~@|{+enmCwiRFk#YH5EpIrFV=!Z7 zK+Mo3*7g7TaPxTOkyBq+I?auGf8S>u=r@Iqk<^i-2Dgbd}jvyh&WR6{K^oHHRKvjCe>QIy z7m70*d$H^LPG5_6WUekZ_8BO$50}D#NE8j2UXisi5=x7%;RgXeE@BkTI=}>G?)OBn zCjVokybY*atwyCw$j-)~=aZ>S4XT%b$F{NCu@;yW&qcW%rmUVD)rr@f1%mysFp9Yf zBu?&lW(i5T;LQIV^qq?-YtF@6%>rpY`H3J+;@5uR+O=?2sVyNz!UN2Ke*|pp? zTmgSD7T_QqE;3V&fA&1N`CERvn%RY5Y@24W3t_4*oDCKO2?;;yYUmU*Ql(M=c`Kmz)USJ-Q|uYoa{z1eE}P_1RSB!!AbCL*~jn+{vcPPQMqxDrEIS`C&(X<$~ud=LvBN6fh zoA^#}cc6AavGltgFp$UZ1T6vS&HRu!Ayn=eu_T4!Z!!lQ1k-HuHR!DU7jy5jJdM>O zBDpCF(MxOx?t zn&eEFRPZx1=IId*5n}S^1*+r$VxTyz0JWOrrKBeBqL4GRr7z;opi37(LQ3%oOrKdC zXkdR{%1aWr0T1rk?kHHtAfG=Hr|{H00v(9~%y{>bSCQK?!Ipx5UJFirI3)Y0v9}_E zb8c+2V%kY%E#de(({@))z(uB<3Y;lbVW`*q`d^>y?Q_!05|j5^i0mL20+a`tcN*q6 zjVx?)Mjh;Ujaa@ldf$UrW=y~O-OPj}wng1vmo2(B(unzJ&PWX0FA6T~AI-pMI(*t| zPWIRGY2ROl_ETJ(4YhH(i5FCDH$$epm3desnk(Hh7_doDZz6jK)vPb@E8Xna zd^gTl#Hf;25N;<@`6))x&GgONWNo?}pB<1ToPeEHHy1x|V&{A`6Rzw7Fk|=Q7Vh$9 zZOKH74p+o%4qh%H$1V-iYr4pMC#V3^Xa767=B{vON-*Ejpe zii!57Osa^EnQCva`^%_t{60nG&MvASu~Y*jI$~lsHsm>G$(0v*z0Q}Mu!}uv3%!|G z<1W0Rnk*Y_w7Y0LEcf)PdHB8iPj#&W-bEqTcS~pLRGiXjf{9IVyxJ<$FLX{^uxN*T zwS?gUc!fS3YF~AXFA9V|v!5%2fyR~Jd}Pmp8$WPU8sZ%Jw@`22Et}jH5Uql)R;*Zk7gZp8ZOtYG%mfi)&1$&%wR@P@Zb z4(Th0y48iAQLGsPtCF>Ezv|^+r=nauveUkfD#aY+Bjn`3C`@OZ;i9;C`qH@*uajvc zS)?rAUw)FB#bVF_R&U0)&haxL;uwuOyg^5n(GljhStUJb8t)Dv$)STgp80r9ns@cn z!S3YlLj@jH1W$NM+&vMSd{TloSj2q1O8s|Z!Ate^vWl&;z(4TMty+OPth%)FkP{qU zi44CA(1%VlhprkG%Yql2*FJH3oQVp{$c1>Z|EBDC&DjeHP?K0g3isv_ta^U4_~@6b zR|8!(8J|wO2zHruogSwkEwMn$ADkB9TTF+`LaG3pJ4<n%6{%6|f2#*~Vecj*3s$A3fY-2RyaOfAUm-a?-#^^mTknL({E04U9QzSM|+W zo|bFo>HX{$Klj@6>eZcr%?-68AL29(6}r1wuE+UEA?1go9>M;~oTV{wARPNw&+C`Z zP_m(>WmU^j9GTGfvPZ|?6y34sxURq!7+3~GBL*mmOs+X`>gOV(X}Yf1oXywmpUP?w zcGNa}vgL6+7jRw=$W&Njg?LL2cVngP07ou=#`NKAbgGH#!-zMB^1pXZQ(VMFcHlW3 zfA1wTOyE=&NkyLg)d}%@>8#lYL3tUZ;So!DP$x-VPA6}PUaSuyFZQvyzcLWlY2S%` zyIF>b5%ML-sZMwM@fY5@A9fsew6nN5W=gaKvIrrcKAst}F+Ig3mwy!>vT~pudPUn7 zLFZc32&LX)&Ke(Ox2gq-g~@Wn!QHk&lFPJ9Ni3UzY_i`(eRFCuY7rtnzeW7>#mA_> zk($HFyI+ny8q(@UMd;#VpIgg2LW4o%Do>5^{=VBf9WE`_62MpXZt6S&p2yhPUxKNJ z2HrxB)Hgl>^(UOyk6vfvCDZRmUIImm;t~C3q76a`Eu_y8j~+O@vHdj0qOh|!-(gl1 zTk=44`$s#`LX(=uPm6_FWWy*1&XU5>f`xKd)ka>fjECQZ=gzd>tP+`?+KBlnw5vBp;}-H;UDOnWuhGX*`$JyAMX-tI=`>VT#5}(;Sa= zq`|n!R#QHgh)j*E2C$fe7=@a0Y7UZE{l~8*WsLC&KQgJLDUNuiAhtpanWZA&#sZ@q ziC;csTtX(GUpB*TU7#7YOiy-Epb?qqX^Q6|&dE5he&Gzytwp61+$NtK(4Pf_bh-AY z!CLx0oLP2{UV0}3b&mP9cZ%B`_sMu7-cVA<*+@?X0M|_uXt@2Ll&kz8&K5$7ZwUABT%FCeuB9}bfc?W@p;Vkq@&+O-IJH1T1#(<4aIXwK;5ce+)F%Hm z`^}T*`B%K}5v`3{`mzfEE1S*YnEbFC43(#V)LBfBncs1khz#2=7wF1*8<14cmjk_t zKGtLbH4h&}a6c$L{k3sq2vlz{2I+ex-PKIGhYG>+H=Gymyav!>*oSzgmsh*oP%qWa33*k03u3a%!5@~ zZgi5|AE{96^_ms`?<{@GVEVmK{mwHDy6(VM%=N9-7*eW(K(29t=?z>ns& zIax*V2jpm^w;Sm6L%>9P8BJyZiSJ`~O;MIw4_QrfU!7*vQI5HA++BA?ylv>WKr!O4ne>Z}hZc|;QQ(4hpb+Yit82NH znfI%E^Ol;BFs=RToJ7aPZ4qNW@ZC3riqxh#cq)jURDpO1x#`>zwl;+&wCOC5S^xek> zf}r3}zaFltm^+!UZXeqvHX78!u~0{5blJ&wNfsQR3|m4;MaUiGEgX&7_Ro;0^3hyX zU)`pK(!r}nc)l%)OxZ3OyI@moW{z*7e(*V(`_a_83#M`9r^WGW?Cpur$wZbkvbUb17DfOo9%N^uIYf; zN}1ohQ71BqmTY$Gm|>?4&T+7m6HQA6|5urfL2!b5Ok6_w=-w4HV^8JjMlVB~_n&M({NXBw zuU-Mu|H&5G;qXgS0w}1j+FxV~F~8{r-H_+W!kgv0rKmOtKeiD={W1^N!MDCC(X;nB zR8V@l&sM@Y9lwvsQUy&GSgx=xlZ0+_tpa$h9D_IU91iqb&urC^g%S&Kd?FH*~bQ_{lYm6T>HrB;s`mwtz zKxX|ZIxu2RIyzU_Ui@Xg+A(wMy@b3fFmcRyLi7kO{Hp7}#+2;E^d*4n^?1vK42Rpf zDDXKeh#eqy$#U-C&~XjOWmAM~hX0j??dy9KbG{wqGrt<5p$d7PqhUC0r>u|sBM$wj zLa>5@PyDdDrsxKt^d6ghpl;gZU$O6}3_nCg>@jF5dd5UP+zkRn`lm+bA>nucSG`Dv*3V!A!T`&FA@bq%_`f!hSj!v{%l%ph%RH>L^7g` zY@szUy}j8m#aEgt5ZfD~o>1GMhrJwV{Tkk4+`Q$?3&Aw8VdW#=Jb%{0C{k@OR0Z&r z%U0#so&P3ewmY9gu9zatLzk2P>WI5SZl)=i7D-E0n{5tm#&A=le(ITn#DTN_jdN85 zh^?=JAn*1veXBM_3}L_%D%=PJ;=0Av0M6VWMa-2_z+YW{ceDqD#jQ&jFnSF82I^b~jcdxWLuH;-`nLomGXT8b#~uk=W=n>? zSIpztG5JJjp}ZM7Te?v)uGyBpcgf`YM>B9F|Gs{|{F!alnl^m6=hY>^2baf+F3x!kJ`&X=;tx;#8uc#$drj|F zVv04l?SuR7O)!d%v>OO}02AFaL^M+AmGOV$#x1BlSYz)`;zr5uepsP81@^;&Y`>W- zh)t=y>sfn8b9Z1jb#bI*iJ(M2h$v0%qGDAP|M%?1ZpyJdEYTQJPIU^xt_3jI@ct+} zXqNC{I>NdRU|Y;C56^PakHN~l!GhO;N)=`5|J#@40-fnV+-}BOm%V8G?!eLQGI$vQ)GPt-E(p;(Q&k2B?mzjWOZifS5*h z(A~X*vD>$AiK}Y?WPsgyau=LrP?c?HN$vkOdBNofFl}APg6a8E_D&7Kvl#8~$TG4$ zX4G%9Tdn2SY(th2n~8xh4d^`e8yqfgA~qf}x#{%7IG`JAb@ktSZ6!76133fqtaurT z42`|V1RfJ>dl?Z%y&*l9#<8?ZRiI|ooK(Qb_F*2h|Mic18$@MZ9>CV!M75} zzu*^s=tVz4jM6(zG|U;2TaOb)3MD1pZ`i=4m2x_ao!@SsRe^%bud==RHPt|S^(uZ= zZosQzd4G+~vf4+HR0TVo8l9Ro1to}U9oHKVJYqAah~ss9QL-yGvf;<}botp0RuDBd zP=d=HB<%yy6P9;Q8-}-9l`9v$0WnHdat(ZGrksNWkh-z7Bn< zya;FQ`C~gcNZ~Wf<7ZzBQe`J^Puw_uCc#CBlZSS8XRp<;#_Bn z=@$^EFDt?Y)wH!=axl}BRe!yn-v zU5IZ6o$@n4n%*tYeAsTd9F=T~MHLA&{&`XOdsi-$2&i!{`pt8V^zWfQs5oLa^$BMM zjIcl<1H0q~MZFo_9NRzt3{=kysRO0nB*XevYLf)D6*H^wRa*F!>LWp+Mx{G&0mT#8qXv_r zrFD^F2e!Q9x3I?;5j6N~mUt!@*Z$XB;Ku<{?_<*~bQ#>AgJ?RNV$!Q%2pi%tAKWT& z34zY3DE5n&d;TntFhN?taf%LXvHv}JeB_6F)vc5n<0ulw%Ik z!TrRg$M~R<^H8}m-Nc26vJ`A1W1{}Bjc!-;TJJIs-#)nAKE!bZd3shL-Shwd=K`9; ad%A?Gb^77(H88#m*qwH?YOuJR`hNiFbNc`Q literal 0 HcmV?d00001 diff --git a/src/assets/icons/settingsicon.min.svg b/src/assets/icons/settingsicon.min.svg new file mode 100644 index 0000000..d4ba9f0 --- /dev/null +++ b/src/assets/icons/settingsicon.min.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/settingsicon.svg b/src/assets/icons/settingsicon.svg new file mode 100644 index 0000000..219aba6 --- /dev/null +++ b/src/assets/icons/settingsicon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/icons/stockeventicon.afdesign b/src/assets/icons/stockeventicon.afdesign index 76fb4242fc72c10b89e380c153216ea04d8d88b3..ecb86a983126d7a081e191ac40e68fd1e24e12b1 100644 GIT binary patch literal 49124 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

D!CsosR{iUJaW9>?Rtx*crVVjwNKr^wO+P6 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 literal 55589 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 U0?F3sEd)L`R*sf0&3&%^4?{908UO$Q diff --git a/src/assets/logos/farmcontrollogosmall.afdesign b/src/assets/logos/farmcontrollogosmall.afdesign new file mode 100644 index 0000000000000000000000000000000000000000..c71ef802c402f6a95a74d23378f8da1bd1ac5bcf GIT binary patch literal 28925 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 A^Z)<= literal 0 HcmV?d00001 diff --git a/src/assets/logos/farmcontrollogosmall.svg b/src/assets/logos/farmcontrollogosmall.svg new file mode 100644 index 0000000..1dc52ec --- /dev/null +++ b/src/assets/logos/farmcontrollogosmall.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/components/App/AppError.jsx b/src/components/App/AppError.jsx index 0fbf09c..39d5c17 100644 --- a/src/components/App/AppError.jsx +++ b/src/components/App/AppError.jsx @@ -32,7 +32,7 @@ const AppError = ({ > - + { + const [isVisible, setIsVisible] = useState(false) + + useEffect(() => { + const timer = setTimeout(() => { + setIsVisible(true) + }, 1000) + + return () => clearTimeout(timer) + }, []) + return ( - <> - - +
- - - - - - } - showIcon - /> - - + + + + + + + + } + showIcon + /> + +
+ ) } diff --git a/src/components/Dashboard/Inventory/FilamentStocks.jsx b/src/components/Dashboard/Inventory/FilamentStocks.jsx index 68baf6e..276bd16 100644 --- a/src/components/Dashboard/Inventory/FilamentStocks.jsx +++ b/src/components/Dashboard/Inventory/FilamentStocks.jsx @@ -1,24 +1,19 @@ // src/filamentStocks.js -import React, { useEffect, useState, useContext, useCallback } from 'react' +import React, { useState, useContext, useRef } from 'react' import { useNavigate } from 'react-router-dom' -import axios from 'axios' import { - Table, Button, Flex, Space, Modal, - message, Dropdown, Typography, - Popover, + message, Checkbox, - Input, - Spin + Popover, + Input } from 'antd' -import { createStyles } from 'antd-style' -import { LoadingOutlined } from '@ant-design/icons' import { AuthContext } from '../context/AuthContext' import { SocketContext } from '../context/SocketContext' @@ -34,49 +29,20 @@ import TimeDisplay from '../common/TimeDisplay' import XMarkIcon from '../../Icons/XMarkIcon' import CheckIcon from '../../Icons/CheckIcon' import useColumnVisibility from '../hooks/useColumnVisibility' +import DashboardTable from '../common/DashboardTable' import config from '../../../config' const { Text } = Typography -const useStyle = createStyles(({ css, token }) => { - const { antCls } = token - return { - customTable: css` - ${antCls}-table { - ${antCls}-table-container { - ${antCls}-table-body, - ${antCls}-table-content { - scrollbar-width: thin; - scrollbar-color: #eaeaea transparent; - scrollbar-gutter: stable; - } - } - } - ` - } -}) - const FilamentStocks = () => { const [messageApi, contextHolder] = message.useMessage() const navigate = useNavigate() - const { styles } = useStyle() const { socket } = useContext(SocketContext) - - const [filamentStocksData, setFilamentStocksData] = useState([]) - const [page, setPage] = useState(1) - const [hasMore, setHasMore] = useState(true) - const [loading, setLoading] = useState(true) - const [lazyLoading, setLazyLoading] = useState(false) - - const [filters, setFilters] = useState({}) - const [sorter, setSorter] = useState({ - field: 'createdAt', - order: 'descend' - }) + const [initialized, setInitialized] = useState(false) + const tableRef = useRef() const [newFilamentStockOpen, setNewFilamentStockOpen] = useState(false) - const [initialized, setInitialized] = useState(false) const { authenticated } = useContext(AuthContext) @@ -116,135 +82,6 @@ const FilamentStocks = () => { ) } - const fetchFilamentStocksData = useCallback( - async (pageNum = 1, append = false) => { - try { - const response = await axios.get( - `${config.backendUrl}/filamentstocks`, - { - params: { - page: pageNum, - limit: 25, - ...filters, - sort: sorter.field, - order: sorter.order - }, - headers: { - Accept: 'application/json' - }, - withCredentials: true - } - ) - - const newData = response.data - setHasMore(newData.length === 25) - - if (append) { - setFilamentStocksData((prev) => [...prev, ...newData]) - } else { - setFilamentStocksData(newData) - } - - setLoading(false) - setLazyLoading(false) - } catch (err) { - messageApi.error('Error fetching filament stocks:', err) - setLoading(false) - setLazyLoading(false) - } - }, - [messageApi, filters, sorter] - ) - - useEffect(() => { - if (authenticated) { - fetchFilamentStocksData() - } - }, [authenticated, fetchFilamentStocksData]) - - useEffect(() => { - if (socket && !initialized) { - setInitialized(true) - socket.on('notify_filamentstock_update', (updateData) => { - console.log('Received filament stock update:', updateData) - setFilamentStocksData((prevData) => { - return prevData.map((stock) => { - if (stock._id === updateData._id) { - return { - ...stock, - ...updateData - } - } - return stock - }) - }) - }) - } - - return () => { - if (socket && initialized) { - console.log('Deregistering filament stock update listener') - socket.off('notify_filamentstock_update') - } - } - }, [socket, initialized]) - - const getFilamentStockActionItems = (id) => { - return { - items: [ - { - label: 'Info', - key: 'info', - icon: - } - ], - onClick: ({ key }) => { - if (key === 'info') { - navigate( - `/dashboard/inventory/filamentstocks/info?filamentStockId=${id}` - ) - } - } - } - } - - const handleScroll = useCallback( - (e) => { - const { target } = e - const scrollHeight = target.scrollHeight - const scrollTop = target.scrollTop - const clientHeight = target.clientHeight - - if ( - scrollHeight - scrollTop - clientHeight < 100 && - !lazyLoading && - hasMore - ) { - setLazyLoading(true) - const nextPage = page + 1 - setPage(nextPage) - fetchFilamentStocksData(nextPage, true) - } - }, - [page, lazyLoading, hasMore, fetchFilamentStocksData] - ) - - const handleTableChange = (pagination, filters, sorter) => { - const newFilters = {} - Object.entries(filters).forEach(([key, value]) => { - if (value && value.length > 0) { - newFilters[key] = value[0] - } - }) - setPage(1) - setFilters(newFilters) - setSorter({ - field: sorter.field, - order: sorter.order - }) - fetchFilamentStocksData(1) - } - // Column definitions const columns = [ { @@ -281,7 +118,7 @@ const FilamentStocks = () => { title: 'ID', dataIndex: '_id', key: 'id', - width: 165, + width: 180, render: (text) => ( ) @@ -366,6 +203,72 @@ const FilamentStocks = () => { } ] + const [columnVisibility, updateColumnVisibility] = useColumnVisibility( + 'FilamentStocks', + columns + ) + + React.useEffect(() => { + if (socket && !initialized) { + setInitialized(true) + socket.on('notify_filamentstock_update', (updateData) => { + console.log('Received filament stock update:', updateData) + if (tableRef.current) { + tableRef.current.updateData(updateData._id, updateData) + } + }) + } + + return () => { + if (socket && initialized) { + console.log('Deregistering filament stock update listener') + socket.off('notify_filamentstock_update') + } + } + }, [socket, initialized]) + + const getFilamentStockActionItems = (id) => { + return { + items: [ + { + label: 'Info', + key: 'info', + icon: + } + ], + onClick: ({ key }) => { + if (key === 'info') { + navigate( + `/dashboard/inventory/filamentstocks/info?filamentStockId=${id}` + ) + } + } + } + } + + const actionItems = { + items: [ + { + label: 'New Filament Stock', + key: 'newFilamentStock', + icon: + }, + { type: 'divider' }, + { + label: 'Reload List', + key: 'reloadList', + icon: + } + ], + onClick: ({ key }) => { + if (key === 'reloadList') { + tableRef.current?.reload() + } else if (key === 'newFilamentStock') { + setNewFilamentStockOpen(true) + } + } + } + const getViewDropdownItems = () => { const columnItems = columns .filter((col) => col.key && col.title !== '') @@ -390,39 +293,10 @@ const FilamentStocks = () => { ) } - const [columnVisibility, updateColumnVisibility] = useColumnVisibility( - 'FilamentStocks', - columns - ) - const visibleColumns = columns.filter( (col) => !col.key || columnVisibility[col.key] ) - const actionItems = { - items: [ - { - label: 'New Filament Stock', - key: 'newFilamentStock', - icon: - }, - { type: 'divider' }, - { - label: 'Reload List', - key: 'reloadList', - icon: - } - ], - onClick: ({ key }) => { - if (key === 'reloadList') { - setPage(1) - fetchFilamentStocksData(1) - } else if (key === 'newFilamentStock') { - setNewFilamentStockOpen(true) - } - } - } - return ( <> @@ -440,19 +314,13 @@ const FilamentStocks = () => { - {lazyLoading && } />} - }} - scroll={{ y: 'calc(100vh - 270px)' }} - onScroll={handleScroll} - onChange={handleTableChange} - showSorterTooltip={false} + url={`${config.backendUrl}/filamentstocks`} + authenticated={authenticated} /> { onCancel={() => { setNewFilamentStockOpen(false) }} - destroyOnClose + destroyOnHidden={true} > { setNewFilamentStockOpen(false) messageApi.success('New filament stock created successfully.') - fetchFilamentStocksData() + tableRef.current?.reload() }} reset={newFilamentStockOpen} /> diff --git a/src/components/Dashboard/Inventory/FilamentStocks/FilamentStockInfo.jsx b/src/components/Dashboard/Inventory/FilamentStocks/FilamentStockInfo.jsx index 9fd4349..9971d81 100644 --- a/src/components/Dashboard/Inventory/FilamentStocks/FilamentStockInfo.jsx +++ b/src/components/Dashboard/Inventory/FilamentStocks/FilamentStockInfo.jsx @@ -10,7 +10,8 @@ import { Typography, Form, Badge, - Collapse + Collapse, + Flex } from 'antd' import { LoadingOutlined, CaretRightOutlined } from '@ant-design/icons' import IdText from '../../common/IdText' @@ -132,155 +133,158 @@ const FilamentStockInfo = () => { return (
{contextHolder} - updateCollapseState('info', keys.length > 0)} - expandIcon={({ isActive }) => ( - - )} - className='no-h-padding-collapse no-t-padding-collapse' - > - - Filament Stock Information - - } - key='1' + + updateCollapseState('info', keys.length > 0)} + expandIcon={({ isActive }) => ( + + )} + className='no-h-padding-collapse no-t-padding-collapse' > -
+ Filament Stock Information + + } + key='1' > - - {/* Read-only fields */} - - {filamentStockData.id ? ( - - ) : ( - 'n/a' - )} - - - - - - - - - - - - - - - {filamentStockData.filament ? ( - - - - - ) : ( - 'n/a' - )} - - - - {filamentStockData.filament ? ( - + {/* Read-only fields */} + + {filamentStockData.id ? ( + + ) : ( + 'n/a' + )} + + + - ) : ( - 'n/a' - )} - - - {filamentStockData.currentGrossWeight ? ( - - - {filamentStockData.currentNetWeight.toFixed(2) + 'g'} - - - {filamentStockData.currentGrossWeight.toFixed(2) + 'g'} - - - ) : ( - 'n/a' - )} - - - {filamentStockData.startingGrossWeight ? ( - + + + + + + + + + + + + {filamentStockData.filament ? ( + + + + + ) : ( + 'n/a' + )} + + + + {filamentStockData.filament ? ( + + ) : ( + 'n/a' + )} + + + {filamentStockData.currentGrossWeight ? ( - {filamentStockData.startingNetWeight.toFixed(2) + 'g'} + {filamentStockData.currentNetWeight.toFixed(2) + 'g'} - {filamentStockData.startingGrossWeight.toFixed(2) + 'g'} + {filamentStockData.currentGrossWeight.toFixed(2) + 'g'} - - ) : ( - 'n/a' - )} - - - -
-
+ ) : ( + 'n/a' + )} + + + {filamentStockData.startingGrossWeight ? ( + + + + {filamentStockData.startingNetWeight.toFixed(2) + 'g'} + + + {filamentStockData.startingGrossWeight.toFixed(2) + + 'g'} + + + + ) : ( + 'n/a' + )} + + + + + - updateCollapseState('events', keys.length > 0)} - expandIcon={({ isActive }) => ( - - )} - className='no-h-padding-collapse' - > - - Filament Stock Events - - } - key='2' + updateCollapseState('events', keys.length > 0)} + expandIcon={({ isActive }) => ( + + )} + className='no-h-padding-collapse' > - - - + + Filament Stock Events + + } + key='2' + > + + + +
) } diff --git a/src/components/Dashboard/Inventory/FilamentStocks/LoadFilamentStock.jsx b/src/components/Dashboard/Inventory/FilamentStocks/LoadFilamentStock.jsx index 6c878a7..cb3598d 100644 --- a/src/components/Dashboard/Inventory/FilamentStocks/LoadFilamentStock.jsx +++ b/src/components/Dashboard/Inventory/FilamentStocks/LoadFilamentStock.jsx @@ -9,6 +9,7 @@ import { Descriptions, Alert } from 'antd' +import { useMediaQuery } from 'react-responsive' import PropTypes from 'prop-types' import { SocketContext } from '../../context/SocketContext' @@ -28,6 +29,8 @@ const LoadFilamentStock = ({ printer = null, filamentStockLoaded = false }) => { + const isMobile = useMediaQuery({ maxWidth: 768 }) + LoadFilamentStock.propTypes = { onOk: PropTypes.func.isRequired, reset: PropTypes.bool.isRequired, @@ -266,16 +269,18 @@ const LoadFilamentStock = ({ return ( -
- -
+ {!isMobile && ( +
+ +
+ )} - + {!isMobile && } diff --git a/src/components/Dashboard/Inventory/FilamentStocks/UnloadFilamentStock.jsx b/src/components/Dashboard/Inventory/FilamentStocks/UnloadFilamentStock.jsx index db06633..215880f 100644 --- a/src/components/Dashboard/Inventory/FilamentStocks/UnloadFilamentStock.jsx +++ b/src/components/Dashboard/Inventory/FilamentStocks/UnloadFilamentStock.jsx @@ -1,5 +1,6 @@ import React, { useState, useContext, useEffect } from 'react' import { Form, Button, Typography, Flex, Steps, Divider, Alert } from 'antd' +import { useMediaQuery } from 'react-responsive' import PropTypes from 'prop-types' import { SocketContext } from '../../context/SocketContext' @@ -18,6 +19,7 @@ const UnloadFilamentStock = ({ onOk, reset, printer = null }) => { } const { socket } = useContext(SocketContext) + const isMobile = useMediaQuery({ maxWidth: 768 }) const initialUnloadFilamentStockForm = { printer: printer @@ -194,16 +196,18 @@ const UnloadFilamentStock = ({ onOk, reset, printer = null }) => { return ( <Flex gap={'middle'}> - <div style={{ minWidth: '160px' }}> - <Steps - current={currentStep} - items={steps} - direction='vertical' - style={{ width: 'fit-content' }} - /> - </div> + {!isMobile && ( + <div style={{ minWidth: '160px' }}> + <Steps + current={currentStep} + items={steps} + direction='vertical' + style={{ width: 'fit-content' }} + /> + </div> + )} - <Divider type={'vertical'} style={{ height: 'unset' }} /> + {!isMobile && <Divider type={'vertical'} style={{ height: 'unset' }} />} <Flex vertical={'true'} style={{ flexGrow: 1 }} gap='middle'> <Title level={2} style={{ marginTop: 0, marginBottom: 4 }}> diff --git a/src/components/Dashboard/Inventory/PartStocks.jsx b/src/components/Dashboard/Inventory/PartStocks.jsx index 49086e9..ec7f42c 100644 --- a/src/components/Dashboard/Inventory/PartStocks.jsx +++ b/src/components/Dashboard/Inventory/PartStocks.jsx @@ -1,20 +1,8 @@ // src/partStocks.js -import React, { useEffect, useState, useContext, useCallback } from 'react' +import React, { useState, useContext, useRef } from 'react' import { useNavigate } from 'react-router-dom' -import axios from 'axios' -import { - Table, - Button, - Flex, - Space, - Modal, - message, - Dropdown, - Typography -} from 'antd' -import { createStyles } from 'antd-style' -import { LoadingOutlined } from '@ant-design/icons' +import { Button, Flex, Space, Modal, message, Dropdown, Typography } from 'antd' import { AuthContext } from '../context/AuthContext' @@ -26,64 +14,21 @@ import PlusIcon from '../../Icons/PlusIcon' import ReloadIcon from '../../Icons/ReloadIcon' import PartStockState from '../common/PartStockState' import TimeDisplay from '../common/TimeDisplay' +import DashboardTable from '../common/DashboardTable' import config from '../../../config' const { Text } = Typography -const useStyle = createStyles(({ css, token }) => { - const { antCls } = token - return { - customTable: css` - ${antCls}-table { - ${antCls}-table-container { - ${antCls}-table-body, - ${antCls}-table-content { - scrollbar-width: thin; - scrollbar-color: #eaeaea transparent; - scrollbar-gutter: stable; - } - } - } - ` - } -}) - const PartStocks = () => { const [messageApi, contextHolder] = message.useMessage() const navigate = useNavigate() - const { styles } = useStyle() - - const [partStocksData, setPartStocksData] = useState([]) + const tableRef = useRef() const [newPartStockOpen, setNewPartStockOpen] = useState(false) - const [loading, setLoading] = useState(true) - const { authenticated } = useContext(AuthContext) - const fetchPartStocksData = useCallback(async () => { - try { - const response = await axios.get(`${config.backendUrl}/partstocks`, { - headers: { - Accept: 'application/json' - }, - withCredentials: true // Important for including cookies - }) - setPartStocksData(response.data) - setLoading(false) - } catch (err) { - messageApi.info(err) - } - }, [messageApi]) - - useEffect(() => { - // Fetch initial data - if (authenticated) { - fetchPartStocksData() - } - }, [authenticated, fetchPartStocksData]) - const getPartStockActionItems = (id) => { return { items: [ @@ -123,7 +68,7 @@ const PartStocks = () => { title: 'ID', dataIndex: '_id', key: 'id', - width: 165, + width: 180, render: (text) => <IdText id={text} type={'partstock'} longId={false} /> }, { @@ -213,7 +158,7 @@ const PartStocks = () => { ], onClick: ({ key }) => { if (key === 'reloadList') { - fetchPartStocksData() + tableRef.current?.reload() } else if (key === 'newPartStock') { setNewPartStockOpen(true) } @@ -229,14 +174,11 @@ const PartStocks = () => { <Button>Actions</Button> </Dropdown> </Space> - <Table - dataSource={partStocksData} - className={styles.customTable} + <DashboardTable + ref={tableRef} columns={columns} - pagination={false} - rowKey='_id' - loading={{ spinning: loading, indicator: <LoadingOutlined spin /> }} - scroll={{ y: 'calc(100vh - 270px)' }} + url={`${config.backendUrl}/partstocks`} + authenticated={authenticated} /> </Flex> <Modal @@ -247,13 +189,13 @@ const PartStocks = () => { onCancel={() => { setNewPartStockOpen(false) }} - destroyOnClose + destroyOnHidden={true} > <NewPartStock onOk={() => { setNewPartStockOpen(false) messageApi.success('New part stock created successfully.') - fetchPartStocksData() + tableRef.current?.reload() }} reset={newPartStockOpen} /> diff --git a/src/components/Dashboard/Inventory/StockAudits.jsx b/src/components/Dashboard/Inventory/StockAudits.jsx index 7ccc85c..2febd96 100644 --- a/src/components/Dashboard/Inventory/StockAudits.jsx +++ b/src/components/Dashboard/Inventory/StockAudits.jsx @@ -1,10 +1,6 @@ -import React, { useEffect, useState, useContext, useCallback } from 'react' +import React, { useState, useContext, useRef } from 'react' import { useNavigate } from 'react-router-dom' -import axios from 'axios' - -import { Table, Button, Flex, Space, message, Dropdown, Typography } from 'antd' -import { createStyles } from 'antd-style' -import { LoadingOutlined } from '@ant-design/icons' +import { Button, Flex, Space, message, Dropdown, Typography } from 'antd' import { AuthContext } from '../context/AuthContext' import { SocketContext } from '../context/SocketContext' @@ -15,78 +11,29 @@ import InfoCircleIcon from '../../Icons/InfoCircleIcon' import PlusIcon from '../../Icons/PlusIcon' import ReloadIcon from '../../Icons/ReloadIcon' import TimeDisplay from '../common/TimeDisplay' +import DashboardTable from '../common/DashboardTable' import config from '../../../config' const { Text } = Typography -const useStyle = createStyles(({ css, token }) => { - const { antCls } = token - return { - customTable: css` - ${antCls}-table { - ${antCls}-table-container { - ${antCls}-table-body, - ${antCls}-table-content { - scrollbar-width: thin; - scrollbar-color: #eaeaea transparent; - scrollbar-gutter: stable; - } - } - } - ` - } -}) - const StockAudits = () => { const [messageApi, contextHolder] = message.useMessage() const navigate = useNavigate() - const { styles } = useStyle() const { socket } = useContext(SocketContext) - - const [stockAuditsData, setStockAuditsData] = useState([]) - const [loading, setLoading] = useState(true) const [initialized, setInitialized] = useState(false) + const tableRef = useRef() const { authenticated } = useContext(AuthContext) - const fetchStockAuditsData = useCallback(async () => { - try { - const response = await axios.get(`${config.backendUrl}/stockaudits`, { - headers: { - Accept: 'application/json' - }, - withCredentials: true - }) - setStockAuditsData(response.data) - setLoading(false) - } catch (err) { - messageApi.info(err) - } - }, [messageApi]) - - useEffect(() => { - if (authenticated) { - fetchStockAuditsData() - } - }, [authenticated, fetchStockAuditsData]) - - useEffect(() => { + React.useEffect(() => { if (socket && !initialized) { setInitialized(true) socket.on('notify_stockaudit_update', (updateData) => { console.log('Received stock audit update:', updateData) - setStockAuditsData((prevData) => { - return prevData.map((audit) => { - if (audit._id === updateData._id) { - return { - ...audit, - ...updateData - } - } - return audit - }) - }) + if (tableRef.current) { + tableRef.current.updateData(updateData._id, updateData) + } }) } @@ -128,7 +75,7 @@ const StockAudits = () => { title: 'ID', dataIndex: '_id', key: 'id', - width: 165, + width: 180, render: (text) => <IdText id={text} type={'stockaudit'} longId={false} /> }, { @@ -203,7 +150,7 @@ const StockAudits = () => { ], onClick: ({ key }) => { if (key === 'reloadList') { - fetchStockAuditsData() + tableRef.current?.reload() } else if (key === 'newStockAudit') { // TODO: Implement new stock audit creation messageApi.info('New stock audit creation not implemented yet') @@ -220,14 +167,11 @@ const StockAudits = () => { <Button>Actions</Button> </Dropdown> </Space> - <Table - dataSource={stockAuditsData} - className={styles.customTable} + <DashboardTable + ref={tableRef} columns={columns} - pagination={false} - rowKey='_id' - loading={{ spinning: loading, indicator: <LoadingOutlined spin /> }} - scroll={{ y: 'calc(100vh - 270px)' }} + url={`${config.backendUrl}/stockaudits`} + authenticated={authenticated} /> </Flex> </> diff --git a/src/components/Dashboard/Inventory/StockAudits/StockAuditInfo.jsx b/src/components/Dashboard/Inventory/StockAudits/StockAuditInfo.jsx index 12abd6d..eada020 100644 --- a/src/components/Dashboard/Inventory/StockAudits/StockAuditInfo.jsx +++ b/src/components/Dashboard/Inventory/StockAudits/StockAuditInfo.jsx @@ -103,7 +103,7 @@ const StockAuditInfo = () => { title: 'Item ID', dataIndex: '_id', key: 'id', - width: 165, + width: 180, render: (text) => ( <IdText id={text} type={'stockaudititem'} longId={false} /> ) diff --git a/src/components/Dashboard/Inventory/StockEvents.jsx b/src/components/Dashboard/Inventory/StockEvents.jsx index 8b762a7..36605d7 100644 --- a/src/components/Dashboard/Inventory/StockEvents.jsx +++ b/src/components/Dashboard/Inventory/StockEvents.jsx @@ -1,21 +1,15 @@ -import React, { useEffect, useState, useContext, useCallback } from 'react' -import axios from 'axios' - +import React, { useState, useContext, useRef } from 'react' import { Button, Flex, Space, - message, - Spin, Popover, Checkbox, Dropdown, - Table, Typography, Input } from 'antd' -import { createStyles } from 'antd-style' -import { LoadingOutlined, AuditOutlined } from '@ant-design/icons' +import { AuditOutlined } from '@ant-design/icons' import { AuthContext } from '../context/AuthContext' import { SocketContext } from '../context/SocketContext' @@ -28,63 +22,24 @@ import PlayCircleIcon from '../../Icons/PlayCircleIcon' import XMarkIcon from '../../Icons/XMarkIcon' import CheckIcon from '../../Icons/CheckIcon' import useColumnVisibility from '../hooks/useColumnVisibility' +import DashboardTable from '../common/DashboardTable' import config from '../../../config' const { Text } = Typography -const useStyle = createStyles(({ css, token }) => { - const { antCls } = token - return { - customTable: css` - ${antCls}-table { - ${antCls}-table-container { - ${antCls}-table-body, - ${antCls}-table-content { - scrollbar-width: thin; - scrollbar-color: #eaeaea transparent; - scrollbar-gutter: stable; - } - } - } - ` - } -}) - const StockEvents = () => { - const [messageApi, contextHolder] = message.useMessage() - const { styles } = useStyle() const { socket } = useContext(SocketContext) const [initialized, setInitialized] = useState(false) - - // Helper function to convert text to camelCase - const toCamelCase = (text) => { - return text - .toLowerCase() - .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { - return index === 0 ? word.toLowerCase() : word.toUpperCase() - }) - .replace(/\s+/g, '') - } - - const [stockEventsData, setStockEventsData] = useState([]) - const [page, setPage] = useState(1) - const [hasMore, setHasMore] = useState(true) - const [loading, setLoading] = useState(true) - const [lazyLoading, setLazyLoading] = useState(false) - - const [filters, setFilters] = useState({}) - const [sorter, setSorter] = useState({ - field: 'createdAt', - order: 'descend' - }) + const tableRef = useRef() // Column definitions for visibility const columns = [ { title: '', key: 'icon', - width: 50, + width: 40, + fixed: 'left', render: (record) => { switch (record.type.toLowerCase()) { case 'subjob': @@ -103,6 +58,7 @@ const StockEvents = () => { dataIndex: 'type', key: 'type', width: 200, + fixed: 'left', sorter: true, filterDropdown: ({ setSelectedKeys, @@ -118,6 +74,15 @@ const StockEvents = () => { propertyName: 'type' }) }, + { + title: 'ID', + key: 'id', + dataIndex: '_id', + width: 170, + render: (id) => { + return <IdText id={id} longId={false} type={'stockevent'} /> + } + }, { title: <PlusMinusIcon />, dataIndex: 'value', @@ -134,26 +99,17 @@ const StockEvents = () => { } }, { - title: 'Linked ID', - key: 'linkedId', - width: 100, + title: 'Stock ID', + key: 'stockId', + width: 170, render: (record) => { - if (record.subJob?.number) { + if (record.filamentStock?._id) { return ( <IdText - id={record.subJob.number.toString().padStart(6, '0')} + id={record.filamentStock._id} longId={false} - type={'subjob'} - /> - ) - } - if (record.stockAudit) { - return ( - <IdText - id={record.stockAudit._id} - longId={false} - type={'stockaudit'} showHyperlink={true} + type={'filamentstock'} /> ) } @@ -161,21 +117,41 @@ const StockEvents = () => { } }, { - title: 'Job ID', - key: 'jobId', - width: 100, + title: 'Linked IDs', + key: 'linkedIds', + width: 170 * 2, render: (record) => { - if (record.subJob) { - return ( - <IdText - id={record.job} - longId={false} - type={'job'} - showHyperlink={true} - /> - ) + const ids = ( + <Space size={'middle'}> + {record.job ? ( + <IdText + id={record.job} + longId={false} + showHyperlink={true} + type={'job'} + /> + ) : null} + {record.subJob?.number ? ( + <IdText + id={record.subJob.number.toString().padStart(6, '0')} + longId={false} + type={'subjob'} + /> + ) : null} + {record.stockAudit ? ( + <IdText + id={record.stockAudit._id} + longId={false} + type={'stockaudit'} + showHyperlink={true} + /> + ) : null} + </Space> + ) + if (!record.stockAudit && !record.job && !record.subJob) { + return 'n/a' } - return 'n/a' + return ids } }, { @@ -252,79 +228,15 @@ const StockEvents = () => { const { authenticated } = useContext(AuthContext) - const fetchStockEventsData = useCallback( - async (pageNum = 1, append = false) => { - try { - const response = await axios.get(`${config.backendUrl}/stockevents`, { - params: { - page: pageNum, - limit: 25, - type: filters.type, - ...filters, - sort: sorter.field, - order: sorter.order - }, - headers: { - Accept: 'application/json' - }, - withCredentials: true - }) - - const newData = response.data - setHasMore(newData.length === 25) - - if (append) { - setStockEventsData((prev) => [...prev, ...newData]) - } else { - setStockEventsData(newData) - } - - setLoading(false) - setLazyLoading(false) - } catch (error) { - if (error.response) { - messageApi.error( - 'Error fetching stock events:', - error.response.status - ) - } else { - messageApi.error( - 'An unexpected error occurred. Please try again later.' - ) - } - setLoading(false) - setLazyLoading(false) - } - }, - [messageApi, filters, sorter] - ) - - useEffect(() => { - if (authenticated) { - fetchStockEventsData() - } - }, [authenticated, fetchStockEventsData]) - - useEffect(() => { + React.useEffect(() => { // Add WebSocket event listener for real-time updates if (socket && !initialized) { setInitialized(true) socket.on('notify_stockevent_update', (updateData) => { console.log('Received stock event update:', updateData) - setStockEventsData((prevData) => { - return prevData.map((stockEvent) => { - if (stockEvent?._id) { - if (stockEvent._id === updateData._id) { - return { - ...stockEvent, - ...updateData - } - } else { - return stockEvent - } - } - }) - }) + if (tableRef.current) { + tableRef.current.updateData(updateData._id, updateData) + } }) } @@ -336,27 +248,6 @@ const StockEvents = () => { } }, [socket, initialized]) - const handleScroll = useCallback( - (e) => { - const { target } = e - const scrollHeight = target.scrollHeight - const scrollTop = target.scrollTop - const clientHeight = target.clientHeight - - if ( - scrollHeight - scrollTop - clientHeight < 100 && - !lazyLoading && - hasMore - ) { - setLazyLoading(true) - const nextPage = page + 1 - setPage(nextPage) - fetchStockEventsData(nextPage, true) - } - }, - [page, lazyLoading, hasMore, fetchStockEventsData] - ) - const actionItems = { items: [ { @@ -367,34 +258,11 @@ const StockEvents = () => { ], onClick: ({ key }) => { if (key === 'reloadList') { - setPage(1) - fetchStockEventsData(1) + tableRef.current?.reload() } } } - const handleTableChange = (pagination, filters, sorter) => { - const newFilters = {} - Object.entries(filters).forEach(([key, value]) => { - if (value && value.length > 0) { - // Convert type filter to camelCase - if (key === 'type') { - newFilters[key] = toCamelCase(value[0]) - } else { - newFilters[key] = value[0] - } - } - }) - setPage(1) - setFilters(newFilters) - setSorter({ - field: sorter.field, - order: sorter.order - }) - // Trigger a new fetch with the updated filters - fetchStockEventsData(1) - } - const getViewDropdownItems = () => { const columnItems = columns .filter((col) => col.key && col.title !== '') @@ -426,7 +294,6 @@ const StockEvents = () => { return ( <> <Flex vertical={'true'} gap='large'> - {contextHolder} <Flex justify={'space-between'}> <Space size='small'> <Dropdown menu={actionItems}> @@ -440,19 +307,13 @@ const StockEvents = () => { <Button>View</Button> </Popover> </Space> - {lazyLoading && <Spin indicator={<LoadingOutlined />} />} </Flex> - <Table - dataSource={stockEventsData} + + <DashboardTable + ref={tableRef} columns={visibleColumns} - className={styles.customTable} - pagination={false} - scroll={{ y: 'calc(100vh - 270px)' }} - rowKey='_id' - loading={{ spinning: loading, indicator: <LoadingOutlined spin /> }} - onScroll={handleScroll} - onChange={handleTableChange} - showSorterTooltip={false} + url={`${config.backendUrl}/stockevents`} + authenticated={authenticated} /> </Flex> </> diff --git a/src/components/Dashboard/Management/AuditLogs.jsx b/src/components/Dashboard/Management/AuditLogs.jsx new file mode 100644 index 0000000..b3a0bd3 --- /dev/null +++ b/src/components/Dashboard/Management/AuditLogs.jsx @@ -0,0 +1,333 @@ +import React, { useContext, useRef } from 'react' +import { + Button, + Flex, + Space, + Typography, + Popover, + Checkbox, + Dropdown, + Tag, + Descriptions, + Input, + Badge +} from 'antd' + +import { AuthContext } from '../context/AuthContext' +import IdText from '../common/IdText' +import ReloadIcon from '../../Icons/ReloadIcon' +import useColumnVisibility from '../hooks/useColumnVisibility' +import TimeDisplay from '../common/TimeDisplay' +import DashboardTable from '../common/DashboardTable' + +import config from '../../../config' +import AuditLogIcon from '../../Icons/AuditLogIcon' +import XMarkIcon from '../../Icons/XMarkIcon' +import CheckIcon from '../../Icons/CheckIcon' + +const { Text } = Typography + +const formatPropertyName = (name) => { + return name + .replace(/([A-Z])/g, ' $1') + .replace(/^./, (str) => str.toUpperCase()) +} + +const isObjectId = (value) => { + return typeof value === 'string' && /^[0-9a-fA-F]{24}$/.test(value) +} + +const formatValue = (value, propertyName) => { + if (value === null || value === undefined || value === '') { + return <Text type='secondary'>n/a</Text> + } + + // Handle colors specifically + if (propertyName === 'color' && value) { + return <Badge color={value} text={value} /> + } + + if (propertyName === 'state' && typeof value === 'object' && value.type) { + return ( + <Text>{value.type.charAt(0).toUpperCase() + value.type.slice(1)}</Text> + ) + } + + // Check if the value is a timestamp (ISO date string) + if ( + typeof value === 'string' && + /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(value) + ) { + return <TimeDisplay dateTime={value} /> + } + + if (typeof value === 'boolean') { + return ( + <Tag color={value ? 'success' : 'error'} style={{ margin: 0 }}> + {value ? 'Yes' : 'No'} + </Tag> + ) + } + + if (isObjectId(value)) { + return ( + <IdText + id={value} + type={propertyName.toLowerCase().replaceAll('current', '')} + longId={false} + showHyperlink={true} + /> + ) + } + + if (typeof value === 'object') { + return <Text>{JSON.stringify(value)}</Text> + } + + return <Text>{value}</Text> +} + +const AuditLogs = () => { + const tableRef = useRef() + + // Column definitions + const columns = [ + { + title: '', + dataIndex: '', + key: '', + width: 40, + fixed: 'left', + render: () => <AuditLogIcon /> + }, + { + title: 'ID', + dataIndex: '_id', + key: 'id', + fixed: 'left', + width: 180, + render: (text) => <IdText id={text} type={'auditlog'} longId={false} />, + filterDropdown: ({ + setSelectedKeys, + selectedKeys, + confirm, + clearFilters + }) => + getFilterDropdown({ + setSelectedKeys, + selectedKeys, + confirm, + clearFilters, + propertyName: 'ID' + }), + onFilter: (value, record) => + record._id.toLowerCase().includes(value.toLowerCase()), + sorter: true + }, + { + title: 'Owner Name', + dataIndex: ['owner', 'name'], + key: 'name', + width: 200, + fixed: 'left', + filterDropdown: ({ + setSelectedKeys, + selectedKeys, + confirm, + clearFilters + }) => + getFilterDropdown({ + setSelectedKeys, + selectedKeys, + confirm, + clearFilters, + propertyName: 'name' + }), + onFilter: (value, record) => + record.owner?.name?.toLowerCase().includes(value.toLowerCase()), + sorter: true + }, + { + title: 'Owner', + key: 'owner', + width: 180, + render: (record) => ( + <IdText + id={record.owner._id} + type={record.ownerModel.toLowerCase()} + longId={false} + showHyperlink={true} + /> + ) + }, + { + title: 'Target', + key: 'target', + width: 180, + render: (record) => ( + <IdText + id={record.target} + type={record.targetModel.toLowerCase()} + longId={false} + showHyperlink={true} + /> + ) + }, + { + title: 'Properties', + dataIndex: 'type', + key: 'type', + width: 550, + render: (_, record) => { + const oldValue = record.oldValue || {} + const newValue = record.newValue || {} + + return ( + <Descriptions size='small' column={1}> + {Object.keys(newValue).map((key) => ( + <Descriptions.Item key={key} label={formatPropertyName(key)}> + <Space> + {formatValue(oldValue[key], key)} + <Text type='secondary'>→</Text> + {formatValue(newValue[key], key)} + </Space> + </Descriptions.Item> + ))} + </Descriptions> + ) + } + }, + { + title: 'Timestamp', + dataIndex: 'createdAt', + key: 'createdAt', + width: 180, + fixed: 'right', + render: (createdAt) => { + if (createdAt) { + return <TimeDisplay dateTime={createdAt} /> + } else { + return 'n/a' + } + }, + sorter: true, + defaultSortOrder: 'descend' + } + ] + + const getFilterDropdown = ({ + setSelectedKeys, + selectedKeys, + confirm, + clearFilters, + propertyName + }) => { + return ( + <div style={{ padding: 8 }}> + <Space.Compact> + <Input + placeholder={'Search ' + propertyName} + value={selectedKeys[0]} + onChange={(e) => + setSelectedKeys(e.target.value ? [e.target.value] : []) + } + onPressEnter={() => confirm()} + style={{ width: 200, display: 'block' }} + /> + <Button + onClick={() => { + clearFilters() + confirm() + }} + icon={<XMarkIcon />} + /> + <Button + type='primary' + onClick={() => confirm()} + icon={<CheckIcon />} + /> + </Space.Compact> + </div> + ) + } + + const [columnVisibility, updateColumnVisibility] = useColumnVisibility( + 'AuditLogs', + columns + ) + + const { authenticated } = useContext(AuthContext) + + const actionItems = { + items: [ + { + label: 'Reload List', + key: 'reloadList', + icon: <ReloadIcon /> + } + ], + onClick: ({ key }) => { + if (key === 'reloadList') { + tableRef.current?.reload() + } + } + } + + const getViewDropdownItems = () => { + const columnItems = columns + .filter((col) => col.key && col.title !== '') + .map((col) => ( + <Checkbox + checked={columnVisibility[col.key]} + key={col.key} + onChange={(e) => { + updateColumnVisibility(col.key, e.target.checked) + }} + > + {col.title} + </Checkbox> + )) + + return ( + <Flex vertical> + <Flex vertical gap='middle' style={{ margin: '4px 8px' }}> + {columnItems} + </Flex> + </Flex> + ) + } + + const visibleColumns = columns.filter( + (col) => !col.key || columnVisibility[col.key] + ) + + return ( + <> + <Flex vertical={'true'} gap='large'> + <Flex justify={'space-between'}> + <Space size='small'> + <Dropdown menu={actionItems}> + <Button>Actions</Button> + </Dropdown> + <Popover + content={getViewDropdownItems()} + placement='bottomLeft' + arrow={false} + > + <Button>View</Button> + </Popover> + </Space> + </Flex> + + <DashboardTable + ref={tableRef} + columns={visibleColumns} + url={`${config.backendUrl}/auditlogs`} + authenticated={authenticated} + /> + </Flex> + </> + ) +} + +export default AuditLogs diff --git a/src/components/Dashboard/Management/Filaments.jsx b/src/components/Dashboard/Management/Filaments.jsx index 03dec51..05f7a97 100644 --- a/src/components/Dashboard/Management/Filaments.jsx +++ b/src/components/Dashboard/Management/Filaments.jsx @@ -282,7 +282,7 @@ const Filaments = () => { title: 'ID', dataIndex: '_id', key: 'id', - width: 165, + width: 180, render: (text) => <IdText id={text} type={'filament'} longId={false} />, filterDropdown: ({ setSelectedKeys, @@ -493,7 +493,7 @@ const Filaments = () => { onCancel={() => { setNewFilamentOpen(false) }} - destroyOnClose + destroyOnHidden={true} > <NewFilament onOk={() => { diff --git a/src/components/Dashboard/Management/Filaments/FilamentInfo.jsx b/src/components/Dashboard/Management/Filaments/FilamentInfo.jsx index ee3c092..9980bf5 100644 --- a/src/components/Dashboard/Management/Filaments/FilamentInfo.jsx +++ b/src/components/Dashboard/Management/Filaments/FilamentInfo.jsx @@ -34,7 +34,7 @@ import useCollapseState from '../../hooks/useCollapseState' import config from '../../../../config.js' -const { Title, Link } = Typography +const { Title, Link, Text } = Typography const FilamentInfo = () => { const [filamentData, setFilamentData] = useState(null) @@ -211,296 +211,333 @@ const FilamentInfo = () => { return ( <div style={{ height: '100%', minHeight: 0, overflowY: 'auto' }}> {contextHolder} - <Collapse - ghost - collapsible='icon' - activeKey={collapseState.info ? ['1'] : []} - onChange={(keys) => updateCollapseState('info', keys.length > 0)} - expandIcon={({ isActive }) => ( - <CaretRightOutlined - rotate={isActive ? 90 : 0} - style={{ paddingTop: '9px' }} - /> - )} - className='no-h-padding-collapse no-t-padding-collapse' - > - <Collapse.Panel - header={ - <Flex - align='center' - justify='space-between' - style={{ width: '100%' }} - > - <Title level={5} style={{ margin: 0 }}> - Filament Information - - - + + {currentStep < steps.length - 1 ? ( + + ) : ( + + )} + +
+ + ) +} + +NewNoteType.propTypes = { + onOk: PropTypes.func.isRequired, + reset: PropTypes.bool +} + +export default NewNoteType diff --git a/src/components/Dashboard/Management/NoteTypes/NoteTypeInfo.jsx b/src/components/Dashboard/Management/NoteTypes/NoteTypeInfo.jsx new file mode 100644 index 0000000..1b7b8e0 --- /dev/null +++ b/src/components/Dashboard/Management/NoteTypes/NoteTypeInfo.jsx @@ -0,0 +1,402 @@ +import React, { useState, useEffect } from 'react' +import { useLocation } from 'react-router-dom' +import axios from 'axios' +import { + Descriptions, + Spin, + Space, + Button, + message, + Typography, + Flex, + Form, + Input, + Collapse, + Switch, + ColorPicker, + Checkbox, + Tag, + Dropdown, + Popover, + Badge +} from 'antd' +import { LoadingOutlined, CaretRightOutlined } from '@ant-design/icons' +import IdText from '../../common/IdText' +import TimeDisplay from '../../common/TimeDisplay' +import ReloadIcon from '../../../Icons/ReloadIcon' +import EditIcon from '../../../Icons/EditIcon.jsx' +import XMarkIcon from '../../../Icons/XMarkIcon.jsx' +import CheckIcon from '../../../Icons/CheckIcon.jsx' +import useCollapseState from '../../hooks/useCollapseState' +import AuditLogTable from '../../common/AuditLogTable' + +import config from '../../../../config.js' + +const { Title } = Typography + +const NoteTypeInfo = () => { + const [noteTypeData, setNoteTypeData] = useState(null) + const [loading, setLoading] = useState(true) + const [error, setError] = useState(null) + const location = useLocation() + const [messageApi, contextHolder] = message.useMessage() + const noteTypeId = new URLSearchParams(location.search).get('noteTypeId') + const [isEditing, setIsEditing] = useState(false) + const [form] = Form.useForm() + const [colorEnabled, setColorEnabled] = useState(false) + const [collapseState, updateCollapseState] = useCollapseState( + 'NoteTypeInfo', + { + info: true, + auditLogs: true + } + ) + + useEffect(() => { + if (noteTypeId) { + fetchNoteTypeDetails() + } + }, [noteTypeId]) + + useEffect(() => { + if (noteTypeData) { + form.setFieldsValue({ + name: noteTypeData.name || '', + color: noteTypeData.color || '#000000', + active: noteTypeData.active ?? true + }) + setColorEnabled(!!noteTypeData.color) + } + }, [noteTypeData, form]) + + const fetchNoteTypeDetails = async () => { + try { + setLoading(true) + const response = await axios.get( + `${config.backendUrl}/noteTypes/${noteTypeId}`, + { + headers: { + Accept: 'application/json' + }, + withCredentials: true + } + ) + setNoteTypeData(response.data) + setError(null) + } catch (err) { + setError('Failed to fetch note type details') + messageApi.error('Failed to fetch note type details') + } finally { + setLoading(false) + } + } + + const startEditing = () => { + updateCollapseState('info', true) + setIsEditing(true) + } + + const cancelEditing = () => { + form.setFieldsValue({ + name: noteTypeData?.name || '', + color: noteTypeData?.color || '#000000', + active: noteTypeData?.active ?? true + }) + setIsEditing(false) + } + + const updateInfo = async () => { + try { + const values = await form.validateFields() + setLoading(true) + + await axios.put(`${config.backendUrl}/noteTypes/${noteTypeId}`, values, { + headers: { + 'Content-Type': 'application/json' + }, + withCredentials: true + }) + + setNoteTypeData({ ...noteTypeData, ...values }) + setIsEditing(false) + messageApi.success('Note type information updated successfully') + } catch (err) { + if (err.errorFields) { + return + } + console.error('Failed to update note type information:', err) + messageApi.error('Failed to update note type information') + } finally { + fetchNoteTypeDetails() + setLoading(false) + } + } + + const getViewDropdownItems = () => { + const sections = [ + { key: 'info', label: 'Note Type Information' }, + { key: 'auditLogs', label: 'Audit Logs' } + ] + + return ( + + + {sections.map((section) => ( + { + updateCollapseState(section.key, e.target.checked) + }} + > + {section.label} + + ))} + + + ) + } + + const actionItems = { + items: [ + { + label: 'Reload Note Type', + key: 'reload', + icon: + } + ], + onClick: ({ key }) => { + if (key === 'reload') { + fetchNoteTypeDetails() + } + } + } + + return ( + <> + + + + + + + + + + + {isEditing ? ( + <> + + + ) : ( +
+ {contextHolder} + + updateCollapseState('info', keys.length > 0)} + expandIcon={({ isActive }) => ( + + )} + className='no-h-padding-collapse no-t-padding-collapse' + > + + + Note Type Information + + + } + key='1' + > + }> +
+ + + + + + + + + + {isEditing ? ( + + + + ) : ( + noteTypeData?.name + )} + + + + + + + {isEditing ? ( + + { + if (color != null) { + return '#' + color.toHex() + } + return null + }} + > + + + { + setColorEnabled(e.target.checked) + if (!e.target.checked) { + form.setFieldValue('color', null) + } else if (e.target.checked) { + form.setFieldValue('color', '#000000') + } + }} + /> + + ) : noteTypeData?.color ? ( + + ) : ( + 'No color set' + )} + + + + {isEditing ? ( + + + + ) : noteTypeData?.active ? ( + Yes + ) : ( + No + )} + + + +
+ + + + + updateCollapseState('auditLogs', keys.length > 0) + } + expandIcon={({ isActive }) => ( + + )} + className='no-h-padding-collapse' + > + + Audit Logs + + } + key='2' + > + + + + +
+ )} + + ) +} + +export default NoteTypeInfo diff --git a/src/components/Dashboard/Management/Parts.jsx b/src/components/Dashboard/Management/Parts.jsx index bbeb03a..d923595 100644 --- a/src/components/Dashboard/Management/Parts.jsx +++ b/src/components/Dashboard/Management/Parts.jsx @@ -1,28 +1,24 @@ // src/gcodefiles.js -import React, { useEffect, useState, useContext, useCallback } from 'react' +import React, { useState, useContext, useRef } from 'react' import { useNavigate } from 'react-router-dom' -import axios from 'axios' - import { - Table, Button, Flex, Space, Modal, Dropdown, - message, Typography, - Spin, Checkbox, Popover, - Input + Input, + message } from 'antd' -import { createStyles } from 'antd-style' -import { LoadingOutlined, DownloadOutlined } from '@ant-design/icons' +import { DownloadOutlined } from '@ant-design/icons' import { AuthContext } from '../context/AuthContext' import IdText from '../common/IdText' +import DashboardTable from '../common/DashboardTable' import NewProduct from './Products/NewProduct' import PartIcon from '../../Icons/PartIcon' import InfoCircleIcon from '../../Icons/InfoCircleIcon' @@ -37,35 +33,12 @@ import config from '../../../config' const { Text } = Typography -const useStyle = createStyles(({ css, token }) => { - const { antCls } = token - return { - customTable: css` - ${antCls}-table { - ${antCls}-table-container { - ${antCls}-table-body, - ${antCls}-table-content { - scrollbar-width: thin; - scrollbar-color: #eaeaea transparent; - scrollbar-gutter: stable; - } - } - } - ` - } -}) - const Parts = () => { const [messageApi, contextHolder] = message.useMessage() const navigate = useNavigate() - const { styles } = useStyle() - - const [partsData, setPartsData] = useState([]) - const [page, setPage] = useState(1) - const [hasMore, setHasMore] = useState(true) - const [loading, setLoading] = useState(true) - const [lazyLoading, setLazyLoading] = useState(false) const [newProductOpen, setNewProductOpen] = useState(false) + const tableRef = useRef() + const { authenticated } = useContext(AuthContext) // Column definitions const columns = [ @@ -104,7 +77,7 @@ const Parts = () => { title: 'ID', dataIndex: '_id', key: 'id', - width: 165, + width: 180, render: (text) => }, { @@ -131,7 +104,7 @@ const Parts = () => { { title: 'Product ID', key: 'productId', - width: 165, + width: 180, render: (record) => ( { return 'n/a' } }, - sorter: true, - defaultSortOrder: 'descend' + sorter: true }, { title: 'Updated At', @@ -168,8 +140,7 @@ const Parts = () => { return 'n/a' } }, - sorter: true, - defaultSortOrder: 'descend' + sorter: true }, { title: 'Actions', @@ -196,89 +167,11 @@ const Parts = () => { } ] - const [filters, setFilters] = useState({}) - const [sorter, setSorter] = useState({}) const [columnVisibility, updateColumnVisibility] = useColumnVisibility( 'Parts', columns ) - const { authenticated } = useContext(AuthContext) - - const fetchPartsData = useCallback( - async (pageNum = 1, append = false) => { - try { - const response = await axios.get(`${config.backendUrl}/parts`, { - params: { - page: pageNum, - limit: 25, - ...filters, - sort: sorter.field, - order: sorter.order - }, - headers: { - Accept: 'application/json' - }, - withCredentials: true - }) - - const newData = response.data - setHasMore(newData.length === 25) - - if (append) { - setPartsData((prev) => [...prev, ...newData]) - } else { - setPartsData(newData) - } - - setLoading(false) - setLazyLoading(false) - } catch (error) { - if (error.response) { - messageApi.error( - 'Error updating printer details:', - error.response.status - ) - } else { - messageApi.error( - 'An unexpected error occurred. Please try again later.' - ) - } - setLoading(false) - setLazyLoading(false) - } - }, - [messageApi, filters, sorter] - ) - - useEffect(() => { - if (authenticated) { - fetchPartsData() - } - }, [authenticated, fetchPartsData]) - - const handleScroll = useCallback( - (e) => { - const { target } = e - const scrollHeight = target.scrollHeight - const scrollTop = target.scrollTop - const clientHeight = target.clientHeight - - // If we're near the bottom (within 100px) and not currently loading - if ( - scrollHeight - scrollTop - clientHeight < 100 && - !lazyLoading && - hasMore - ) { - setLazyLoading(true) - const nextPage = page + 1 - setPage(nextPage) - fetchPartsData(nextPage, true) - } - }, - [page, lazyLoading, hasMore, fetchPartsData] - ) - const getPartActionItems = (id) => { return { items: [ @@ -353,29 +246,13 @@ const Parts = () => { ], onClick: ({ key }) => { if (key === 'reloadList') { - setPage(1) - fetchPartsData(1) + tableRef.current?.reload() } else if (key === 'newProduct') { setNewProductOpen(true) } } } - const handleTableChange = (pagination, filters, sorter) => { - const newFilters = {} - Object.entries(filters).forEach(([key, value]) => { - if (value && value.length > 0) { - newFilters[key] = value[0] - } - }) - setPage(1) - setFilters(newFilters) - setSorter({ - field: sorter.field, - order: sorter.order - }) - } - const getViewDropdownItems = () => { const columnItems = columns .filter((col) => col.key && col.title !== '') @@ -421,19 +298,12 @@ const Parts = () => { - {lazyLoading && } />}
-
}} - onScroll={handleScroll} - onChange={handleTableChange} - showSorterTooltip={false} + url={`${config.backendUrl}/parts`} + authenticated={authenticated} /> { onCancel={() => { setNewProductOpen(false) }} - destroyOnClose + destroyOnHidden={true} > { setNewProductOpen(false) - setPage(1) - fetchPartsData(1) + messageApi.success('Product created successfully!') + tableRef.current?.reload() }} reset={newProductOpen} /> diff --git a/src/components/Dashboard/Management/Parts/PartInfo.jsx b/src/components/Dashboard/Management/Parts/PartInfo.jsx index 400fb84..c4aff16 100644 --- a/src/components/Dashboard/Management/Parts/PartInfo.jsx +++ b/src/components/Dashboard/Management/Parts/PartInfo.jsx @@ -208,7 +208,7 @@ const PartInfo = () => { console.error('Failed to update part information:', err) messageApi.error('Failed to update part information') } finally { - fetchPartDetails() + await fetchPartDetails() setLoading(false) } } @@ -238,282 +238,287 @@ const PartInfo = () => { return (
{contextHolder} - updateCollapseState('info', keys.length > 0)} - expandIcon={({ isActive }) => ( - - )} - className='no-h-padding-collapse no-t-padding-collapse' - > - - - Part Information - - - {isEditing ? ( - <> -
) } diff --git a/src/components/Dashboard/Management/Products.jsx b/src/components/Dashboard/Management/Products.jsx index 750a453..170f79e 100644 --- a/src/components/Dashboard/Management/Products.jsx +++ b/src/components/Dashboard/Management/Products.jsx @@ -1,29 +1,25 @@ // src/gcodefiles.js -import React, { useEffect, useState, useContext, useCallback } from 'react' +import React, { useState, useContext, useRef } from 'react' import { useNavigate } from 'react-router-dom' -import axios from 'axios' import { - Table, Button, Flex, Space, Modal, Dropdown, message, - Spin, Tag, Checkbox, Popover, Input } from 'antd' -import { createStyles } from 'antd-style' -import { LoadingOutlined, DownloadOutlined } from '@ant-design/icons' +import { DownloadOutlined } from '@ant-design/icons' import { AuthContext } from '../context/AuthContext' - import IdText from '../common/IdText' import TimeDisplay from '../common/TimeDisplay' +import DashboardTable from '../common/DashboardTable' import NewProduct from './Products/NewProduct' import ProductIcon from '../../Icons/ProductIcon' import InfoCircleIcon from '../../Icons/InfoCircleIcon' @@ -31,120 +27,17 @@ import PlusIcon from '../../Icons/PlusIcon' import ReloadIcon from '../../Icons/ReloadIcon' import XMarkIcon from '../../Icons/XMarkIcon' import CheckIcon from '../../Icons/CheckIcon' - import useColumnVisibility from '../hooks/useColumnVisibility' import config from '../../../config' -const useStyle = createStyles(({ css, token }) => { - const { antCls } = token - return { - customTable: css` - ${antCls}-table { - ${antCls}-table-container { - ${antCls}-table-body, - ${antCls}-table-content { - scrollbar-width: thin; - scrollbar-color: #eaeaea transparent; - scrollbar-gutter: stable; - } - } - } - ` - } -}) - const Products = () => { const [messageApi, contextHolder] = message.useMessage() const navigate = useNavigate() - const { styles } = useStyle() - - const [productsData, setProductsData] = useState([]) - const [page, setPage] = useState(1) - const [hasMore, setHasMore] = useState(true) - const [lazyLoading, setLazyLoading] = useState(false) - const [filters, setFilters] = useState({}) - const [sorter, setSorter] = useState({}) - const [newProductOpen, setNewProductOpen] = useState(false) - - const [loading, setLoading] = useState(true) - + const tableRef = useRef() const { authenticated } = useContext(AuthContext) - const fetchProductsData = useCallback( - async (pageNum = 1, append = false) => { - try { - const response = await axios.get(`${config.backendUrl}/products`, { - params: { - page: pageNum, - limit: 25, - ...filters, - sort: sorter.field, - order: sorter.order - }, - headers: { - Accept: 'application/json' - }, - withCredentials: true - }) - - const newData = response.data - setHasMore(newData.length === 25) - - if (append) { - setProductsData((prev) => [...prev, ...newData]) - } else { - setProductsData(newData) - } - - setLoading(false) - setLazyLoading(false) - } catch (error) { - if (error.response) { - messageApi.error( - 'Error updating printer details:', - error.response.status - ) - } else { - messageApi.error( - 'An unexpected error occurred. Please try again later.' - ) - } - setLoading(false) - setLazyLoading(false) - } - }, - [messageApi, filters, sorter] - ) - - useEffect(() => { - if (authenticated) { - fetchProductsData() - } - }, [authenticated, fetchProductsData]) - - const handleScroll = useCallback( - (e) => { - const { target } = e - const scrollHeight = target.scrollHeight - const scrollTop = target.scrollTop - const clientHeight = target.clientHeight - - if ( - scrollHeight - scrollTop - clientHeight < 100 && - !lazyLoading && - hasMore - ) { - setLazyLoading(true) - const nextPage = page + 1 - setPage(nextPage) - fetchProductsData(nextPage, true) - } - }, - [page, lazyLoading, hasMore, fetchProductsData] - ) - const getProductActionItems = (id) => { return { items: [ @@ -205,7 +98,7 @@ const Products = () => { dataIndex: '_id', key: 'id', fixed: 'left', - width: 165, + width: 180, render: (text) => , filterDropdown: ({ setSelectedKeys, @@ -360,7 +253,7 @@ const Products = () => { ], onClick: ({ key }) => { if (key === 'reloadList') { - fetchProductsData() + tableRef.current?.reload() } else if (key === 'newProduct') { setNewProductOpen(true) } @@ -427,21 +320,6 @@ const Products = () => { ) } - const handleTableChange = (pagination, filters, sorter) => { - const newFilters = {} - Object.entries(filters).forEach(([key, value]) => { - if (value && value.length > 0) { - newFilters[key] = value[0] - } - }) - setPage(1) - setFilters(newFilters) - setSorter({ - field: sorter.field, - order: sorter.order - }) - } - const visibleColumns = columns.filter( (col) => !col.key || columnVisibility[col.key] ) @@ -463,19 +341,12 @@ const Products = () => { - {lazyLoading && } />} -
}} - onScroll={handleScroll} - onChange={handleTableChange} - showSorterTooltip={false} + url={`${config.backendUrl}/products`} + authenticated={authenticated} /> { onCancel={() => { setNewProductOpen(false) }} - destroyOnClose + destroyOnHidden={true} > { setNewProductOpen(false) messageApi.success('Product created successfully!') - fetchProductsData() + tableRef.current?.reload() }} reset={newProductOpen} /> diff --git a/src/components/Dashboard/Management/Products/NewProduct.jsx b/src/components/Dashboard/Management/Products/NewProduct.jsx index e289bc4..fd92cb2 100644 --- a/src/components/Dashboard/Management/Products/NewProduct.jsx +++ b/src/components/Dashboard/Management/Products/NewProduct.jsx @@ -1,6 +1,7 @@ import PropTypes from 'prop-types' import React, { useState, useContext, useEffect, useRef } from 'react' import axios from 'axios' +import { useMediaQuery } from 'react-responsive' import { Input, Button, @@ -65,6 +66,8 @@ const NewProduct = ({ onOk, reset }) => { const { token, authenticated } = useContext(AuthContext) + const isMobile = useMediaQuery({ maxWidth: 768 }) + useEffect(() => { newProductForm .validateFields({ @@ -393,16 +396,18 @@ const NewProduct = ({ onOk, reset }) => { {contextHolder} -
- -
+ {!isMobile && ( +
+ +
+ )} - + {!isMobile && } diff --git a/src/components/Dashboard/Management/Products/ProductInfo.jsx b/src/components/Dashboard/Management/Products/ProductInfo.jsx index af6ebca..955ec6e 100644 --- a/src/components/Dashboard/Management/Products/ProductInfo.jsx +++ b/src/components/Dashboard/Management/Products/ProductInfo.jsx @@ -72,6 +72,7 @@ const ProductInfo = () => { useEffect(() => { async function fetchData() { + console.log('hello') await fetchProductDetails() } if (productId) { @@ -114,7 +115,6 @@ const ProductInfo = () => { console.log(err) messageApi.error('Failed to fetch product details') } finally { - fetchProductDetails() setFetchLoading(false) } } @@ -164,6 +164,7 @@ const ProductInfo = () => { console.error('Failed to update product information:', err) messageApi.error('Failed to update product information') } finally { + await fetchProductDetails() setLoading(false) } } @@ -193,285 +194,290 @@ const ProductInfo = () => { return ( <div style={{ height: '100%', minHeight: 0, overflowY: 'auto' }}> {contextHolder} - <Collapse - ghost - collapsible='icon' - activeKey={collapseState.info ? ['1'] : []} - onChange={(keys) => updateCollapseState('info', keys.length > 0)} - expandIcon={({ isActive }) => ( - <CaretRightOutlined - rotate={isActive ? 90 : 0} - style={{ paddingTop: '9px' }} - /> - )} - className='no-h-padding-collapse no-t-padding-collapse' - > - <Collapse.Panel - header={ - <Flex - align='center' - justify='space-between' - style={{ width: '100%' }} - > - <Title level={5} style={{ margin: 0 }}> - Product Information - - - {isEditing ? ( - <> - - {lazyLoading && } />} -
}} - onScroll={handleScroll} - onChange={handleTableChange} - showSorterTooltip={false} + url={`${config.backendUrl}/vendors`} + authenticated={authenticated} /> setNewVendorOpen(false)} footer={null} - destroyOnClose + destroyOnHidden={true} width={700} > { setNewVendorOpen(false) messageApi.success('New vendor created successfully.') - fetchVendorsData() + tableRef.current?.reload() }} reset={!newVendorOpen} /> diff --git a/src/components/Dashboard/Management/Vendors/NewVendor.jsx b/src/components/Dashboard/Management/Vendors/NewVendor.jsx index 9cecadc..8d7d5cb 100644 --- a/src/components/Dashboard/Management/Vendors/NewVendor.jsx +++ b/src/components/Dashboard/Management/Vendors/NewVendor.jsx @@ -1,6 +1,7 @@ import PropTypes from 'prop-types' import React, { useState } from 'react' import axios from 'axios' +import { useMediaQuery } from 'react-responsive' import { Form, Input, @@ -37,6 +38,7 @@ const NewVendor = ({ onOk, reset }) => { const [newVendorForm] = Form.useForm() const [newVendorFormValues, setNewVendorFormValues] = useState(initialNewVendorForm) + const isMobile = useMediaQuery({ maxWidth: 768 }) const newVendorFormUpdateValues = Form.useWatch([], newVendorForm) @@ -181,16 +183,18 @@ const NewVendor = ({ onOk, reset }) => { {contextHolder} -
- -
+ {!isMobile && ( +
+ +
+ )} - + {!isMobile && } diff --git a/src/components/Dashboard/Management/Vendors/VendorInfo.jsx b/src/components/Dashboard/Management/Vendors/VendorInfo.jsx index c91dced..83a9cd4 100644 --- a/src/components/Dashboard/Management/Vendors/VendorInfo.jsx +++ b/src/components/Dashboard/Management/Vendors/VendorInfo.jsx @@ -156,202 +156,216 @@ const VendorInfo = () => { return ( <div style={{ height: '100%', minHeight: 0, overflowY: 'auto' }}> {contextHolder} - <Collapse - ghost - collapsible='icon' - activeKey={collapseState.info ? ['1'] : []} - onChange={(keys) => updateCollapseState('info', keys.length > 0)} - expandIcon={({ isActive }) => ( - <CaretRightOutlined - rotate={isActive ? 90 : 0} - style={{ paddingTop: '9px' }} - /> - )} - className='no-h-padding-collapse no-t-padding-collapse' - > - <Collapse.Panel - header={ - <Flex - align='center' - justify='space-between' - style={{ width: '100%' }} - > - <Title level={5} style={{ margin: 0 }}> - Vendor Information - - - {isEditing ? ( - <> - - {lazyLoading && } />} -
}} - onChange={handleTableChange} - onScroll={handleScroll} - showSorterTooltip={false} + url={`${config.backendUrl}/gcodefiles`} + authenticated={authenticated} /> { onCancel={() => { setNewGCodeFileOpen(false) }} - destroyOnClose + destroyOnHidden={true} > { setNewGCodeFileOpen(false) messageApi.success('Finished uploading GCode file!') - fetchGCodeFilesData() + tableRef.current?.reload() }} reset={newGCodeFileOpen} /> diff --git a/src/components/Dashboard/Production/GCodeFiles/GCodeFileInfo.jsx b/src/components/Dashboard/Production/GCodeFiles/GCodeFileInfo.jsx index 0e7dc80..342cd87 100644 --- a/src/components/Dashboard/Production/GCodeFiles/GCodeFileInfo.jsx +++ b/src/components/Dashboard/Production/GCodeFiles/GCodeFileInfo.jsx @@ -155,255 +155,263 @@ const GCodeFileInfo = () => { return (
{contextHolder} - updateCollapseState('info', keys.length > 0)} - expandIcon={({ isActive }) => ( - - )} - className='no-h-padding-collapse no-t-padding-collapse' - > - - - GCode File Information - - - {isEditing ? ( - <> -
) } diff --git a/src/components/Dashboard/Production/GCodeFiles/NewGCodeFile.jsx b/src/components/Dashboard/Production/GCodeFiles/NewGCodeFile.jsx index 5936a08..3ef9fc3 100644 --- a/src/components/Dashboard/Production/GCodeFiles/NewGCodeFile.jsx +++ b/src/components/Dashboard/Production/GCodeFiles/NewGCodeFile.jsx @@ -1,6 +1,7 @@ import PropTypes from 'prop-types' import React, { useState, useContext, useEffect } from 'react' import axios from 'axios' +import { useMediaQuery } from 'react-responsive' import { capitalizeFirstLetter, timeStringToMinutes @@ -48,6 +49,7 @@ const initialNewGCodeFileForm = { const NewGCodeFile = ({ onOk, reset }) => { const [messageApi] = message.useMessage() + const isMobile = useMediaQuery({ maxWidth: 768 }) const [newGCodeFileLoading, setNewGCodeFileLoading] = useState(false) const [gcodeParsing, setGcodeParsing] = useState(false) @@ -470,16 +472,18 @@ const NewGCodeFile = ({ onOk, reset }) => { return ( -
- -
+ {!isMobile && ( +
+ +
+ )} - + {!isMobile && } diff --git a/src/components/Dashboard/Production/PrintJobs.jsx b/src/components/Dashboard/Production/Jobs.jsx similarity index 60% rename from src/components/Dashboard/Production/PrintJobs.jsx rename to src/components/Dashboard/Production/Jobs.jsx index dc3eb59..4de127f 100644 --- a/src/components/Dashboard/Production/PrintJobs.jsx +++ b/src/components/Dashboard/Production/Jobs.jsx @@ -1,10 +1,8 @@ -// src/PrintJobs.js +// src/Jobs.js -import React, { useEffect, useState, useCallback, useContext } from 'react' +import React, { useState, useContext, useRef } from 'react' import { useNavigate } from 'react-router-dom' -import axios from 'axios' import { - Table, Button, Flex, Space, @@ -15,71 +13,42 @@ import { Input, Typography, Checkbox, - Popover, - Spin + Popover } from 'antd' -import { createStyles } from 'antd-style' -import { LoadingOutlined } from '@ant-design/icons' import { AuthContext } from '../context/AuthContext.js' -import { SocketContext } from '../context/SocketContext' -import NewPrintJob from './PrintJobs/NewPrintJob' -import JobState from '../common/JobState' -import SubJobCounter from '../common/SubJobCounter' -import TimeDisplay from '../common/TimeDisplay' -import IdText from '../common/IdText' -import useColumnVisibility from '../hooks/useColumnVisibility' -import JobIcon from '../../Icons/JobIcon' -import InfoCircleIcon from '../../Icons/InfoCircleIcon' -import PlusIcon from '../../Icons/PlusIcon' -import ReloadIcon from '../../Icons/ReloadIcon' +import { SocketContext } from '../context/SocketContext.js' +import NewJob from './Jobs/NewJob.jsx' +import JobState from '../common/JobState.jsx' +import SubJobCounter from '../common/SubJobCounter.jsx' +import TimeDisplay from '../common/TimeDisplay.jsx' +import IdText from '../common/IdText.jsx' +import useColumnVisibility from '../hooks/useColumnVisibility.js' +import JobIcon from '../../Icons/JobIcon.jsx' +import InfoCircleIcon from '../../Icons/InfoCircleIcon.jsx' +import PlusIcon from '../../Icons/PlusIcon.jsx' +import ReloadIcon from '../../Icons/ReloadIcon.jsx' import EditIcon from '../../Icons/EditIcon.jsx' import XMarkIcon from '../../Icons/XMarkIcon.jsx' import CheckIcon from '../../Icons/CheckIcon.jsx' import PlayCircleIcon from '../../Icons/PlayCircleIcon.jsx' - -import config from '../../../config.js' import CheckCircleIcon from '../../Icons/CheckCircleIcon.jsx' import PauseCircleIcon from '../../Icons/PauseCircleIcon.jsx' import XMarkCircleIcon from '../../Icons/XMarkCircleIcon.jsx' import QuestionCircleIcon from '../../Icons/QuestionCircleIcon.jsx' +import DashboardTable from '../common/DashboardTable' + +import config from '../../../config.js' const { Text } = Typography -const useStyle = createStyles(({ css, token }) => { - const { antCls } = token - return { - customTable: css` - ${antCls}-table { - ${antCls}-table-container { - ${antCls}-table-body, - ${antCls}-table-content { - scrollbar-width: thin; - scrollbar-color: #eaeaea transparent; - scrollbar-gutter: stable; - } - } - } - ` - } -}) - -const PrintJobs = () => { - const { styles } = useStyle() +const Jobs = () => { const [messageApi, contextHolder] = message.useMessage() const [notificationApi, notificationContextHolder] = notification.useNotification() const navigate = useNavigate() - const [printJobsData, setPrintJobsData] = useState([]) - const [page, setPage] = useState(1) - const [hasMore, setHasMore] = useState(true) - const [lazyLoading, setLazyLoading] = useState(false) - - const [filters, setFilters] = useState({}) - const [sorter, setSorter] = useState({}) - - const [newPrintJobOpen, setNewPrintJobOpen] = useState(false) - const [loading, setLoading] = useState(true) + const [newJobOpen, setNewJobOpen] = useState(false) + const tableRef = useRef() const getFilterDropdown = ({ setSelectedKeys, @@ -154,7 +123,7 @@ const PrintJobs = () => { title: 'ID', dataIndex: 'id', key: 'id', - width: 165, + width: 180, render: (text) => <IdText id={text} type={'job'} longId={false} />, filterDropdown: ({ setSelectedKeys, @@ -266,19 +235,17 @@ const PrintJobs = () => { {record.state.type === 'draft' ? ( <Button icon={<PlayCircleIcon />} - onClick={() => handleDeployPrintJob(record.id)} + onClick={() => handleDeployJob(record.id)} /> ) : ( <Button icon={<InfoCircleIcon />} onClick={() => - navigate( - `/dashboard/production/printjobs/info?printJobId=${record.id}` - ) + navigate(`/dashboard/production/jobs/info?jobId=${record.id}`) } /> )} - <Dropdown menu={getPrintJobActionItems(record.id)}> + <Dropdown menu={getJobActionItems(record.id)}> <Button>Actions</Button> </Dropdown> </Space> @@ -291,14 +258,14 @@ const PrintJobs = () => { const { socket } = useContext(SocketContext) const [columnVisibility, updateColumnVisibility] = useColumnVisibility( - 'PrintJobs', + 'Jobs', columns ) - const handleDeployPrintJob = (printJobId) => { + const handleDeployJob = (jobId) => { if (socket) { - messageApi.info(`Print job ${printJobId} deployment initiated`) - socket.emit('server.job_queue.deploy', { printJobId }, (response) => { + messageApi.info(`Print job ${jobId} deployment initiated`) + socket.emit('server.job_queue.deploy', { jobId }, (response) => { if (response == false) { notificationApi.error({ message: 'Print job deployment failed', @@ -311,110 +278,13 @@ const PrintJobs = () => { }) } }) - navigate(`/dashboard/production/printjobs/info?printJobId=${printJobId}`) + navigate(`/dashboard/production/jobs/info?jobId=${jobId}`) } else { messageApi.error('Socket connection not available') } } - const fetchPrintJobsData = useCallback( - async (pageNum = 1, append = false) => { - if (!authenticated) { - return - } - try { - const params = { - page: pageNum, - limit: 25, - ...filters, - sort: sorter.field, - order: sorter.order - } - - const response = await axios.get(`${config.backendUrl}/printjobs`, { - params, - headers: { - Accept: 'application/json' - }, - withCredentials: true - }) - - const newData = response.data - setHasMore(newData.length === 25) - - if (append) { - setPrintJobsData((prev) => [...prev, ...newData]) - } else { - setPrintJobsData(newData) - } - - setLoading(false) - setLazyLoading(false) - } catch (error) { - setLoading(false) - setLazyLoading(false) - if (error.response) { - messageApi.error( - 'Error fetching print jobs data:', - error.response.status - ) - } else { - messageApi.error( - 'An unexpected error occurred. Please try again later.' - ) - } - } - }, - [authenticated, messageApi, filters, sorter] - ) - - const handleScroll = useCallback( - (e) => { - const { target } = e - const scrollHeight = target.scrollHeight - const scrollTop = target.scrollTop - const clientHeight = target.clientHeight - - // If we're near the bottom (within 100px) and not currently loading - if ( - scrollHeight - scrollTop - clientHeight < 100 && - !lazyLoading && - hasMore - ) { - setLazyLoading(true) - const nextPage = page + 1 - setPage(nextPage) - fetchPrintJobsData(nextPage, true) - } - }, - [page, lazyLoading, hasMore, fetchPrintJobsData] - ) - - useEffect(() => { - // Fetch initial data - if (authenticated) { - fetchPrintJobsData() - } - }, [authenticated, fetchPrintJobsData]) - - const handleTableChange = (pagination, filters, sorter) => { - const newFilters = {} - Object.entries(filters).forEach(([key, value]) => { - if (value && value.length > 0) { - newFilters[key] = value[0] - } - }) - - setFilters(newFilters) - setSorter({ - field: sorter.field, - order: sorter.order - }) - setPage(1) - fetchPrintJobsData(1) - } - - const getPrintJobActionItems = (printJobId) => { + const getJobActionItems = (jobId) => { return { items: [ { @@ -430,11 +300,9 @@ const PrintJobs = () => { ], onClick: ({ key }) => { if (key === 'edit') { - showNewPrintJobModal(printJobId) + showNewJobModal(jobId) } else if (key === 'info') { - navigate( - `/dashboard/production/printjobs/info?printJobId=${printJobId}` - ) + navigate(`/dashboard/production/jobs/info?jobId=${jobId}`) } } } @@ -444,7 +312,7 @@ const PrintJobs = () => { items: [ { label: 'New Print Job', - key: 'newPrintJob', + key: 'newJob', icon: <PlusIcon /> }, { type: 'divider' }, @@ -455,16 +323,16 @@ const PrintJobs = () => { } ], onClick: ({ key }) => { - if (key === 'newPrintJob') { - showNewPrintJobModal() + if (key === 'newJob') { + showNewJobModal() } else if (key === 'reloadList') { - fetchPrintJobsData() + tableRef.current?.reload() } } } - const showNewPrintJobModal = () => { - setNewPrintJobOpen(true) + const showNewJobModal = () => { + setNewJobOpen(true) } const getViewDropdownItems = () => { @@ -511,41 +379,34 @@ const PrintJobs = () => { > <Button>View</Button> </Popover> - {lazyLoading && <Spin indicator={<LoadingOutlined />} />} </Space> - <Table - className={styles.customTable} - dataSource={printJobsData} + <DashboardTable + ref={tableRef} columns={visibleColumns} - rowKey='id' - pagination={false} - loading={{ spinning: loading, indicator: <LoadingOutlined spin /> }} - scroll={{ y: 'calc(100vh - 270px)' }} - onChange={handleTableChange} - onScroll={handleScroll} - showSorterTooltip={false} + url={`${config.backendUrl}/jobs`} + authenticated={authenticated} /> </Flex> <Modal - open={newPrintJobOpen} + open={newJobOpen} footer={null} width={700} onCancel={() => { - setNewPrintJobOpen(false) + setNewJobOpen(false) }} > - <NewPrintJob + <NewJob onOk={() => { - setNewPrintJobOpen(false) + setNewJobOpen(false) messageApi.success('New print job created successfully.') - fetchPrintJobsData() + tableRef.current?.reload() }} - reset={newPrintJobOpen} + reset={newJobOpen} /> </Modal> </> ) } -export default PrintJobs +export default Jobs diff --git a/src/components/Dashboard/Production/Jobs/JobInfo.jsx b/src/components/Dashboard/Production/Jobs/JobInfo.jsx new file mode 100644 index 0000000..4f1170a --- /dev/null +++ b/src/components/Dashboard/Production/Jobs/JobInfo.jsx @@ -0,0 +1,398 @@ +import React, { useState, useEffect, useContext } from 'react' +import { useLocation } from 'react-router-dom' +import axios from 'axios' +import { + Descriptions, + Spin, + Space, + Button, + message, + Progress, + Typography, + Collapse, + Flex, + Dropdown, + Popover, + Checkbox, + Card +} from 'antd' +import { LoadingOutlined, CaretRightOutlined } from '@ant-design/icons' +import TimeDisplay from '../../common/TimeDisplay' +import JobState from '../../common/JobState' +import IdText from '../../common/IdText' +import SubJobsTree from '../../common/SubJobsTree' +import { SocketContext } from '../../context/SocketContext' +import GCodeFileIcon from '../../../Icons/GCodeFileIcon' +import ReloadIcon from '../../../Icons/ReloadIcon' +import useCollapseState from '../../hooks/useCollapseState' +import config from '../../../../config' +import AuditLogTable from '../../common/AuditLogTable' +import DashboardNotes from '../../common/DashboardNotes' + +const { Title, Text } = Typography + +const JobInfo = () => { + const [jobData, setJobData] = useState(null) + const [loading, setLoading] = useState(true) + const [error, setError] = useState(null) + const location = useLocation() + const [messageApi] = message.useMessage() + const jobId = new URLSearchParams(location.search).get('jobId') + const { socket } = useContext(SocketContext) + const [collapseState, updateCollapseState] = useCollapseState('JobInfo', { + info: true, + subJobs: true, + notes: true, + auditLogs: true + }) + + useEffect(() => { + if (jobId) { + fetchJobDetails() + } + }, [jobId]) + + useEffect(() => { + if (socket && jobId) { + socket.on('notify_job_update', (updateData) => { + if (updateData._id === jobId) { + setJobData((prevData) => { + if (!prevData) return prevData + return { + ...prevData, + state: updateData.state, + ...updateData + } + }) + } + }) + } + + return () => { + if (socket) { + socket.off('notify_job_update') + } + } + }, [socket, jobId]) + + const fetchJobDetails = async () => { + try { + setLoading(true) + const response = await axios.get(`${config.backendUrl}/jobs/${jobId}`, { + headers: { + Accept: 'application/json' + }, + withCredentials: true // Important for including cookies + }) + setJobData(response.data) + setError(null) + } catch (err) { + setError('Failed to fetch print job details') + messageApi.error('Failed to fetch print job details') + } finally { + setLoading(false) + } + } + + const getViewDropdownItems = () => { + const sections = [ + { key: 'info', label: 'Job Information' }, + { key: 'subJobs', label: 'Sub Jobs' }, + { key: 'notes', label: 'Notes' }, + { key: 'auditLogs', label: 'Audit Logs' } + ] + + return ( + <Flex vertical> + <Flex vertical gap='middle' style={{ margin: '4px 8px' }}> + {sections.map((section) => ( + <Checkbox + checked={collapseState[section.key]} + key={section.key} + onChange={(e) => { + updateCollapseState(section.key, e.target.checked) + }} + > + {section.label} + </Checkbox> + ))} + </Flex> + </Flex> + ) + } + + const actionItems = { + items: [ + { + label: 'Reload Job', + key: 'reload', + icon: <ReloadIcon /> + } + ], + onClick: ({ key }) => { + if (key === 'edit') { + // TODO: Implement edit functionality + messageApi.info('Edit functionality coming soon') + } else if (key === 'reload') { + fetchJobDetails() + } + } + } + + return ( + <> + <Flex + gap='large' + vertical='true' + style={{ height: '100%', minHeight: 0 }} + > + <Flex justify={'space-between'}> + <Space size='small'> + <Dropdown menu={actionItems}> + <Button>Actions</Button> + </Dropdown> + <Popover + content={getViewDropdownItems()} + placement='bottomLeft' + arrow={false} + > + <Button>View</Button> + </Popover> + </Space> + </Flex> + + {error ? ( + <Space + direction='vertical' + style={{ width: '100%', textAlign: 'center' }} + > + <p>{error || 'Print job not found'}</p> + <Button icon={<ReloadIcon />} onClick={fetchJobDetails}> + Retry + </Button> + </Space> + ) : ( + <div style={{ height: '100%', overflow: 'auto' }}> + <Flex vertical style={{ flexGrow: 1 }} gap={'large'}> + <Collapse + ghost + collapsible='icon' + activeKey={collapseState.info ? ['info'] : []} + onChange={(keys) => + updateCollapseState('info', keys.length > 0) + } + expandIcon={({ isActive }) => ( + <CaretRightOutlined + rotate={isActive ? 90 : 0} + style={{ paddingTop: '2px' }} + /> + )} + className='no-h-padding-collapse no-t-padding-collapse' + > + <Collapse.Panel + header={ + <Title level={5} style={{ margin: 0 }}> + Job Information + + } + key='info' + > + }> + + + {jobData?._id ? ( + + ) : ( + n/a + )} + + + {jobData?.state ? ( + + ) : ( + n/a + )} + + + {jobData?.gcodeFile ? ( + + + + {jobData.gcodeFile.name || 'Not specified'} + + + ) : ( + n/a + )} + + + {jobData?.gcodeFile?._id ? ( + + ) : ( + n/a + )} + + + {jobData?.quantity ? ( + {jobData.quantity} + ) : ( + n/a + )} + + + {jobData?.createdAt ? ( + + ) : ( + n/a + )} + + + {jobData?.startedAt ? ( + + ) : ( + n/a + )} + + {jobData?.state?.type === 'printing' && ( + + + + )} + + {jobData?.printers ? ( + + {jobData.printers.length} printers assigned + + ) : ( + n/a + )} + + + + + + + + updateCollapseState('subJobs', keys.length > 0) + } + expandIcon={({ isActive }) => ( + + )} + className='no-h-padding-collapse' + > + + Sub Job Information + + } + key='2' + > + + + + + + updateCollapseState('notes', keys.length > 0) + } + expandIcon={({ isActive }) => ( + + )} + className='no-h-padding-collapse' + > + + Notes + + } + key='notes' + > + + + + + + + + updateCollapseState('auditLogs', keys.length > 0) + } + expandIcon={({ isActive }) => ( + + )} + className='no-h-padding-collapse' + > + + Audit Logs + + } + key='auditLogs' + > + + + + + + )} +
+ + ) +} + +export default JobInfo diff --git a/src/components/Dashboard/Production/PrintJobs/NewPrintJob.jsx b/src/components/Dashboard/Production/Jobs/NewJob.jsx similarity index 68% rename from src/components/Dashboard/Production/PrintJobs/NewPrintJob.jsx rename to src/components/Dashboard/Production/Jobs/NewJob.jsx index 406a213..bcd13f6 100644 --- a/src/components/Dashboard/Production/PrintJobs/NewPrintJob.jsx +++ b/src/components/Dashboard/Production/Jobs/NewJob.jsx @@ -1,5 +1,6 @@ import React, { useState } from 'react' import axios from 'axios' +import { useMediaQuery } from 'react-responsive' import { Form, Button, @@ -20,70 +21,66 @@ import config from '../../../../config' const { Title } = Typography -const initialNewPrintJobForm = { +const initialNewJobForm = { gcodeFile: null, quantity: 1 } -const NewPrintJob = ({ onOk, reset }) => { - NewPrintJob.propTypes = { +const NewJob = ({ onOk, reset }) => { + NewJob.propTypes = { onOk: PropTypes.func.isRequired, reset: PropTypes.bool.isRequired } const [messageApi, contextHolder] = message.useMessage() - const [newPrintJobLoading, setNewPrintJobLoading] = useState(false) + const [newJobLoading, setNewJobLoading] = useState(false) const [currentStep, setCurrentStep] = useState(0) const [nextEnabled, setNextEnabled] = useState(false) - const [newPrintJobForm] = Form.useForm() - const [newPrintJobFormValues, setNewPrintJobFormValues] = useState( - initialNewPrintJobForm - ) + const [newJobForm] = Form.useForm() + const [newJobFormValues, setNewJobFormValues] = useState(initialNewJobForm) - const newPrintJobFormUpdateValues = Form.useWatch([], newPrintJobForm) + const newJobFormUpdateValues = Form.useWatch([], newJobForm) + + const isMobile = useMediaQuery({ maxWidth: 768 }) React.useEffect(() => { - newPrintJobForm + newJobForm .validateFields({ validateOnly: true }) .then(() => setNextEnabled(true)) .catch(() => setNextEnabled(false)) - }, [newPrintJobForm, newPrintJobFormUpdateValues]) + }, [newJobForm, newJobFormUpdateValues]) const summaryItems = [ { key: 'quantity', label: 'Quantity', - children: newPrintJobFormValues.quantity + children: newJobFormValues.quantity } ] React.useEffect(() => { if (reset) { - newPrintJobForm.resetFields() + newJobForm.resetFields() } - }, [reset, newPrintJobForm]) + }, [reset, newJobForm]) - const handleNewPrintJob = async () => { - setNewPrintJobLoading(true) + const handleNewJob = async () => { + setNewJobLoading(true) try { - await axios.post( - `${config.backendUrl}/printjobs`, - newPrintJobFormValues, - { - headers: { - Accept: 'application/json' - }, - withCredentials: true // Important for including cookies - } - ) + await axios.post(`${config.backendUrl}/jobs`, newJobFormValues, { + headers: { + Accept: 'application/json' + }, + withCredentials: true // Important for including cookies + }) onOk() } catch (error) { messageApi.error('Error creating new print job: ' + error.message) } finally { - setNewPrintJobLoading(false) + setNewJobLoading(false) } } @@ -108,7 +105,6 @@ const NewPrintJob = ({ onOk, reset }) => { { } ]} > - + { return ( {contextHolder} -
- -
+ {!isMobile && ( +
+ +
+ )} - + {!isMobile && } - New PrintJob + New Job
- setNewPrintJobFormValues((prevValues) => ({ + setNewJobFormValues((prevValues) => ({ ...prevValues, ...changedValues })) } - initialValues={initialNewPrintJobForm} + initialValues={initialNewJobForm} >
{steps[currentStep].content}
@@ -204,11 +202,7 @@ const NewPrintJob = ({ onOk, reset }) => { )} {currentStep === steps.length - 1 && ( - )} @@ -219,4 +213,4 @@ const NewPrintJob = ({ onOk, reset }) => { ) } -export default NewPrintJob +export default NewJob diff --git a/src/components/Dashboard/Production/PrintJobs/PrintJobInfo.jsx b/src/components/Dashboard/Production/PrintJobs/PrintJobInfo.jsx deleted file mode 100644 index 81b09dc..0000000 --- a/src/components/Dashboard/Production/PrintJobs/PrintJobInfo.jsx +++ /dev/null @@ -1,236 +0,0 @@ -import React, { useState, useEffect, useContext } from 'react' -import { useLocation } from 'react-router-dom' -import axios from 'axios' -import { - Descriptions, - Spin, - Space, - Button, - message, - Progress, - Typography, - Collapse -} from 'antd' -import { LoadingOutlined, CaretRightOutlined } from '@ant-design/icons' -import TimeDisplay from '../../common/TimeDisplay' -import JobState from '../../common/JobState' -import IdText from '../../common/IdText' -import SubJobsTree from '../../common/SubJobsTree' -import { SocketContext } from '../../context/SocketContext' -import GCodeFileIcon from '../../../Icons/GCodeFileIcon' -import ReloadIcon from '../../../Icons/ReloadIcon' -import useCollapseState from '../../hooks/useCollapseState' -import config from '../../../../config' - -const { Title } = Typography - -const PrintJobInfo = () => { - const [printJobData, setPrintJobData] = useState(null) - const [loading, setLoading] = useState(true) - const [error, setError] = useState(null) - const location = useLocation() - const [messageApi] = message.useMessage() - const printJobId = new URLSearchParams(location.search).get('printJobId') - const { socket } = useContext(SocketContext) - const [collapseState, updateCollapseState] = useCollapseState( - 'PrintJobInfo', - { - info: true, - subJobs: true - } - ) - - useEffect(() => { - if (printJobId) { - fetchPrintJobDetails() - } - }, [printJobId]) - - useEffect(() => { - if (socket && printJobId) { - socket.on('notify_job_update', (updateData) => { - if (updateData._id === printJobId) { - setPrintJobData((prevData) => { - if (!prevData) return prevData - return { - ...prevData, - state: updateData.state, - ...updateData - } - }) - } - }) - } - - return () => { - if (socket) { - socket.off('notify_job_update') - } - } - }, [socket, printJobId]) - - const fetchPrintJobDetails = async () => { - try { - setLoading(true) - const response = await axios.get( - `${config.backendUrl}/printjobs/${printJobId}`, - { - headers: { - Accept: 'application/json' - }, - withCredentials: true // Important for including cookies - } - ) - setPrintJobData(response.data) - setError(null) - } catch (err) { - setError('Failed to fetch print job details') - messageApi.error('Failed to fetch print job details') - } finally { - setLoading(false) - } - } - - if (loading) { - return ( -
- } /> -
- ) - } - - if (error || !printJobData) { - return ( - -

{error || 'Print job not found'}

- -
- ) - } - - return ( -
- updateCollapseState('info', keys.length > 0)} - expandIcon={({ isActive }) => ( - - )} - className='no-h-padding-collapse no-t-padding-collapse' - > - - Print Job Information - - } - key='1' - > - - - - - - - - - - - {printJobData.gcodeFile?.name || 'Not specified'} - - - - - - - {printJobData.quantity || 1} - - - - - - {printJobData.startedAt ? ( - - ) : ( - 'n/a' - )} - - {printJobData.state.type === 'printing' && ( - - - - )} - - {printJobData.printers?.length > 0 ? ( - {printJobData.printers.length} printers assigned - ) : ( - 'Any available printer' - )} - - - - - - updateCollapseState('subJobs', keys.length > 0)} - expandIcon={({ isActive }) => ( - - )} - className='no-h-padding-collapse' - > - - Sub Job Information - - } - key='2' - > - - - -
- ) -} - -export default PrintJobInfo diff --git a/src/components/Dashboard/Production/Printers.jsx b/src/components/Dashboard/Production/Printers.jsx index 698bf8c..0e6285e 100644 --- a/src/components/Dashboard/Production/Printers.jsx +++ b/src/components/Dashboard/Production/Printers.jsx @@ -1,10 +1,8 @@ // src/Printers.js -import React, { useEffect, useState, useContext, useCallback } from 'react' +import React, { useState, useContext, useRef } from 'react' import { useNavigate } from 'react-router-dom' -import axios from 'axios' import { - Table, Button, message, Dropdown, @@ -14,11 +12,8 @@ import { Tag, Modal, Popover, - Checkbox, - Spin + Checkbox } from 'antd' -import { createStyles } from 'antd-style' -import { LoadingOutlined } from '@ant-design/icons' import { AuthContext } from '../context/AuthContext' import PrinterState from '../common/PrinterState' @@ -31,36 +26,16 @@ import PlusIcon from '../../Icons/PlusIcon' import ReloadIcon from '../../Icons/ReloadIcon' import XMarkIcon from '../../Icons/XMarkIcon' import CheckIcon from '../../Icons/CheckIcon' +import DashboardTable from '../common/DashboardTable' import config from '../../../config' -const useStyle = createStyles(({ css, token }) => { - const { antCls } = token - return { - customTable: css` - ${antCls}-table { - ${antCls}-table-container { - ${antCls}-table-body, - ${antCls}-table-content { - scrollbar-width: thin; - scrollbar-color: #eaeaea transparent; - scrollbar-gutter: stable; - } - } - } - ` - } -}) - const Printers = () => { - const { styles } = useStyle() - const [printerData, setPrinterData] = useState([]) - const [page, setPage] = useState(1) - const [hasMore, setHasMore] = useState(true) - const [loading, setLoading] = useState(true) - const [lazyLoading, setLazyLoading] = useState(false) - const [filters, setFilters] = useState({}) - const [sorter, setSorter] = useState({}) + const [messageApi, contextHolder] = message.useMessage() + const { authenticated } = useContext(AuthContext) + const [newPrinterOpen, setNewPrinterOpen] = useState(false) + const navigate = useNavigate() + const tableRef = useRef() // Column definitions const columns = [ @@ -98,7 +73,7 @@ const Printers = () => { title: 'ID', dataIndex: 'id', key: 'id', - width: 165, + width: 180, render: (text) => }, { @@ -186,11 +161,6 @@ const Printers = () => { }, {}) ) - const [messageApi] = message.useMessage() - const { authenticated } = useContext(AuthContext) - const [newPrinterOpen, setNewPrinterOpen] = useState(false) - const navigate = useNavigate() - const getFilterDropdown = ({ setSelectedKeys, selectedKeys, @@ -227,91 +197,6 @@ const Printers = () => { ) } - const fetchPrintersData = useCallback( - async (pageNum = 1, append = false) => { - try { - const params = { - page: pageNum, - limit: 25, - ...filters, - sort: sorter.field, - order: sorter.order - } - - const response = await axios.get(`${config.backendUrl}/printers`, { - params, - headers: { - Accept: 'application/json' - }, - withCredentials: true - }) - - const newData = response.data - setHasMore(newData.length === 25) // If we get less than 25 items, we've reached the end - - if (append) { - setPrinterData((prev) => [...prev, ...newData]) - } else { - setPrinterData(newData) - } - - setLoading(false) - setLazyLoading(false) - } catch (error) { - if (error.response) { - messageApi.error( - 'Error fetching printer data:', - error.response.status - ) - } else { - messageApi.error( - 'An unexpected error occurred. Please try again later.' - ) - } - setLoading(false) - setLazyLoading(false) - } - }, - [messageApi, filters, sorter] - ) - - const handleScroll = useCallback( - (e) => { - const { target } = e - const scrollHeight = target.scrollHeight - const scrollTop = target.scrollTop - const clientHeight = target.clientHeight - - // If we're near the bottom (within 100px) and not currently loading - if ( - scrollHeight - scrollTop - clientHeight < 100 && - !lazyLoading && - hasMore - ) { - setLazyLoading(true) - const nextPage = page + 1 - setPage(nextPage) - fetchPrintersData(nextPage, true) - } - }, - [page, lazyLoading, hasMore, fetchPrintersData] - ) - - const handleTableChange = (pagination, filters, sorter) => { - const newFilters = {} - Object.entries(filters).forEach(([key, value]) => { - if (value && value.length > 0) { - newFilters[key] = value[0] // Take the first filter value - } - }) - - setFilters(newFilters) - setSorter({ - field: sorter.field, - order: sorter.order - }) - } - const getPrinterActionItems = (printerId) => { return { items: [ @@ -343,7 +228,7 @@ const Printers = () => { const getViewDropdownItems = () => { const columnItems = columns - .filter((col) => col.key && col.title !== '') // Filter out empty title columns and ensure key exists + .filter((col) => col.key && col.title !== '') .map((col) => ( { ], onClick: ({ key }) => { if (key === 'reloadList') { - fetchPrintersData() + tableRef.current?.reload() } else if (key === 'newPrinter') { setNewPrinterOpen(true) } } } - useEffect(() => { - if (authenticated) { - fetchPrintersData() - } - }, [fetchPrintersData, authenticated]) - return ( <> + {contextHolder} @@ -415,21 +295,15 @@ const Printers = () => { > - {lazyLoading && } />} -
}} - scroll={{ y: 'calc(100vh - 270px)' }} - onChange={handleTableChange} - onScroll={handleScroll} - showSorterTooltip={false} + url={`${config.backendUrl}/printers`} + authenticated={authenticated} /> + { onOk={() => { setNewPrinterOpen(false) messageApi.success('New printer added successfully.') - fetchPrintersData() + tableRef.current?.reload() }} reset={newPrinterOpen} /> diff --git a/src/components/Dashboard/Production/Printers/ControlPrinter.jsx b/src/components/Dashboard/Production/Printers/ControlPrinter.jsx index a8bd5e4..e6cf365 100644 --- a/src/components/Dashboard/Production/Printers/ControlPrinter.jsx +++ b/src/components/Dashboard/Production/Printers/ControlPrinter.jsx @@ -1,6 +1,7 @@ import React, { useState, useContext, useCallback, useEffect } from 'react' import axios from 'axios' import { useLocation } from 'react-router-dom' +import { useMediaQuery } from 'react-responsive' import { Button, message, @@ -26,6 +27,7 @@ import { SocketContext } from '../../context/SocketContext' import PrinterTemperaturePanel from '../../common/PrinterTemperaturePanel' import PrinterPositionPanel from '../../common/PrinterPositionPanel' import PrinterMovementPanel from '../../common/PrinterMovementPanel' +import PrinterMiscPanel from '../../common/PrinterMiscPanel' import PrinterState from '../../common/PrinterState' import { AuthContext } from '../../context/AuthContext' import PrinterSubJobsTree from '../../common/PrinterJobsTree' @@ -47,6 +49,7 @@ import PlayCircleIcon from '../../../Icons/PlayCircleIcon' import XMarkCircleIcon from '../../../Icons/XMarkCircleIcon' import PauseCircleIcon from '../../../Icons/PauseCircleIcon' import ExclamationOctagonIcon from '../../../Icons/ExclamationOctagonIcon' +import TimeDisplay from '../../common/TimeDisplay' const { Text, Title } = Typography @@ -59,6 +62,7 @@ const ControlPrinter = () => { const [messageApi] = message.useMessage() const query = useQuery() const printerId = query.get('printerId') + const isMobile = useMediaQuery({ maxWidth: 768 }) const [printerData, setPrinterData] = useState(null) const [initialized, setInitialized] = useState(false) @@ -390,6 +394,17 @@ const ControlPrinter = () => { > Sub Jobs + { + setComponentVisibility((prev) => ({ + ...prev, + misc: e.target.checked + })) + }} + > + Misc Panel + ) @@ -471,8 +486,8 @@ const ControlPrinter = () => {
{printerData ? ( - - + + {printerData?.alerts?.some( (alert) => alert.type === 'klippyError' @@ -540,14 +555,16 @@ const ControlPrinter = () => { - { + {printerData.currentJob?.gcodeFile?.name ? ( - {printerData.currentJob?.gcodeFile?.name || 'n/a'} + {printerData.currentJob?.gcodeFile?.name} - } + ) : ( + 'n/a' + )} {printerData.currentJob?.gcodeFile ? ( @@ -601,7 +618,14 @@ const ControlPrinter = () => { /> - {printerData.name} + {printerData.currentSubJob?.startedAt ? ( + + ) : ( + 'n/a' + )} )} @@ -740,18 +764,24 @@ const ControlPrinter = () => { {printerData.currentFilamentStock?.currentNetWeight ? ( - - - {printerData.currentFilamentStock.currentNetWeight.toFixed( - 2 - ) + 'g'} - - - {printerData.currentFilamentStock.currentGrossWeight.toFixed( - 2 - ) + 'g'} - - +
+ + + {printerData.currentFilamentStock.currentNetWeight.toFixed( + 2 + ) + 'g'} + + + {printerData.currentFilamentStock.currentGrossWeight.toFixed( + 2 + ) + 'g'} + + +
) : ( 'n/a' )} @@ -793,7 +823,7 @@ const ControlPrinter = () => {
- + {componentVisibility.temperature && ( { > )} + + {componentVisibility.misc && ( + + + + )} ) : ( diff --git a/src/components/Dashboard/Production/Printers/PrinterInfo.jsx b/src/components/Dashboard/Production/Printers/PrinterInfo.jsx index 3e00038..1bf2296 100644 --- a/src/components/Dashboard/Production/Printers/PrinterInfo.jsx +++ b/src/components/Dashboard/Production/Printers/PrinterInfo.jsx @@ -31,6 +31,7 @@ import CheckIcon from '../../../Icons/CheckIcon.jsx' import useCollapseState from '../../hooks/useCollapseState' import config from '../../../../config.js' +import AuditLogTable from '../../common/AuditLogTable.jsx' const { Title } = Typography @@ -46,7 +47,8 @@ const PrinterInfo = () => { const [form] = Form.useForm() const [collapseState, updateCollapseState] = useCollapseState('PrinterInfo', { info: true, - jobs: true + jobs: true, + auditLogs: true }) useEffect(() => { @@ -199,311 +201,348 @@ const PrinterInfo = () => { return (
{contextHolder} - updateCollapseState('info', keys.length > 0)} - expandIcon={({ isActive }) => ( - - )} - className='no-h-padding-collapse no-t-padding-collapse' - > - - - Printer Information - - - {isEditing ? ( - <> -
) } diff --git a/src/components/Dashboard/Production/ProductionOverview.jsx b/src/components/Dashboard/Production/ProductionOverview.jsx index 0ff4870..8cd9f91 100644 --- a/src/components/Dashboard/Production/ProductionOverview.jsx +++ b/src/components/Dashboard/Production/ProductionOverview.jsx @@ -9,17 +9,16 @@ import { message, Button, Collapse, - Segmented + Segmented, + Card } from 'antd' import { LoadingOutlined, CaretRightOutlined } from '@ant-design/icons' +import { Line } from '@ant-design/charts' import axios from 'axios' import PrinterIcon from '../../Icons/PrinterIcon' import JobIcon from '../../Icons/JobIcon' import ReloadIcon from '../../Icons/ReloadIcon' -import PauseIcon from '../../Icons/PauseIcon' -import XMarkIcon from '../../Icons/XMarkIcon' import useCollapseState from '../hooks/useCollapseState' -import CheckIcon from '../../Icons/CheckIcon' import config from '../../../config' @@ -29,6 +28,7 @@ const ProductionOverview = () => { const [messageApi, contextHolder] = message.useMessage() const [error, setError] = useState(null) const [fetchPrinterStatsLoading, setFetchPrinterStatsLoading] = useState(true) + const [chartData, setChartData] = useState([]) const [collapseState, updateCollapseState] = useCollapseState( 'ProductionOverview', { @@ -46,9 +46,9 @@ const ProductionOverview = () => { const [stats, setStats] = useState({ totalPrinters: 0, activePrinters: 0, - totalPrintJobs: 0, - activePrintJobs: 0, - completedPrintJobs: 0, + totalJobs: 0, + activeJobs: 0, + completedJobs: 0, printerStatus: { idle: 0, printing: 0, @@ -59,7 +59,8 @@ const ProductionOverview = () => { const fetchAllStats = useCallback(async () => { await fetchPrinterStats() - await fetchPrintJobStats() + await fetchJobstats() + await fetchChartData() console.log(stats) }, []) @@ -84,17 +85,17 @@ const ProductionOverview = () => { } } - const fetchPrintJobStats = async () => { + const fetchJobstats = async () => { try { setFetchPrinterStatsLoading(true) - const response = await axios.get(`${config.backendUrl}/printjobs/stats`, { + const response = await axios.get(`${config.backendUrl}/jobs/stats`, { headers: { Accept: 'application/json' }, withCredentials: true }) - const printJobStats = response.data - setStats((prev) => ({ ...prev, printJobs: printJobStats })) + const jobstats = response.data + setStats((prev) => ({ ...prev, jobs: jobstats })) setError(null) } catch (err) { setError('Failed to fetch printer details') @@ -104,6 +105,20 @@ const ProductionOverview = () => { } } + const fetchChartData = async () => { + try { + const response = await axios.get(`${config.backendUrl}/stats/history`, { + headers: { + Accept: 'application/json' + }, + withCredentials: true + }) + setChartData(response.data) + } catch (err) { + console.error('Failed to fetch chart data:', err) + } + } + useEffect(() => { fetchAllStats() }, [fetchAllStats]) @@ -131,287 +146,298 @@ const ProductionOverview = () => { } return ( - +
{contextHolder} - updateCollapseState('overview', keys.length > 0)} - expandIcon={({ isActive }) => ( - - )} - className='no-h-padding-collapse no-t-padding-collapse' - > - - Status Overview - - } - key='1' + + updateCollapseState('overview', keys.length > 0)} + expandIcon={({ isActive }) => ( + + )} + className='no-h-padding-collapse no-t-padding-collapse' > - + Status Overview + + } + key='1' > - - Ready - - - - {(stats.printers.standby || 0) + - (stats.printers.complete || 0)} - + + + Ready + + + + {(stats.printers.standby || 0) + + (stats.printers.complete || 0)} + + - - } - /> - - Printing - - - - {stats.printers.printing || 0} - + } + /> + + Printing + + + + {stats.printers.printing || 0} + + - - } - /> - - Queued - - - - {stats.printJobs.queued || 0} - + } + /> + + Queued + + + + {stats.jobs.queued || 0} + + - - } - /> - - Printing - - - - {stats.printJobs.printing || 0} - + } + /> + + Printing + + + + {stats.jobs.printing || 0} + + - - } - /> - - Failed - - - - {(stats.printJobs.failed || 0) + - (stats.printJobs.cancelled || 0)} - + } + /> + + Failed + + + + {(stats.jobs.failed || 0) + (stats.jobs.cancelled || 0)} + + - - } - /> - - Complete - - - - {stats.printJobs.complete || 0} - + } + /> + + Complete + + + + {stats.jobs.complete || 0} + + - - } - /> - - - + } + /> + + + - - - - updateCollapseState('printerStats', keys.length > 0) - } - expandIcon={({ isActive }) => ( - - )} - className='no-h-padding-collapse' - > - - - Printer Statistics - - - setTimeRanges((prev) => ({ - ...prev, - printerStats: value - })) - } - size='small' - /> - + + + + updateCollapseState('printerStats', keys.length > 0) } - key='2' + expandIcon={({ isActive }) => ( + + )} + className='no-h-padding-collapse' > - - - - - {'Completed'} - - } + - {stats.totalPrinters} - - - - {'Error'} - - } - > - {stats.activePrinters} - - - - {'Paused'} - - } - > - {stats.activePrinters} - - - - - - - - - updateCollapseState('jobStats', keys.length > 0) - } - expandIcon={({ isActive }) => ( - - )} - className='no-h-padding-collapse' - > - - - Job Statistics - - - setTimeRanges((prev) => ({ ...prev, jobStats: value })) - } - size='small' - /> + + Production Statistics + + + setTimeRanges((prev) => ({ + ...prev, + printerStats: value + })) + } + size='small' + /> + + } + key='2' + > + + + + + + + {stats.totalPrinters} + + + {stats.activePrinters} + + + {stats.activePrinters} + + + + + + + + updateCollapseState('jobStats', keys.length > 0) } - key='3' + expandIcon={({ isActive }) => ( + + )} + className='no-h-padding-collapse' > - - - - - {'Completed'} - - } + - {stats.totalPrintJobs} - - - - {'Failed'} - - } + + Job Statistics + + + setTimeRanges((prev) => ({ ...prev, jobStats: value })) + } + size='small' + /> + + } + key='3' + > + + - {stats.activePrintJobs} - - - - {'Queued'} - - } - > - {stats.completedPrintJobs} - - - - - + + + + + {stats.totalJobs} + + + {stats.activeJobs} + + + {stats.completedJobs} + + + + + + - +
) } diff --git a/src/components/Dashboard/common/AuditLogTable.jsx b/src/components/Dashboard/common/AuditLogTable.jsx new file mode 100644 index 0000000..e77a32e --- /dev/null +++ b/src/components/Dashboard/common/AuditLogTable.jsx @@ -0,0 +1,214 @@ +import React, { forwardRef, useState } from 'react' +import { Typography, Space, Descriptions, Badge, Tag, Table } from 'antd' +import PropTypes from 'prop-types' +import IdText from './IdText' +import { AuditOutlined, LoadingOutlined } from '@ant-design/icons' +import TimeDisplay from '../common/TimeDisplay' + +const { Text } = Typography + +const formatPropertyName = (name) => { + return name + .replace(/([A-Z])/g, ' $1') + .replace(/^./, (str) => str.toUpperCase()) +} + +const isObjectId = (value) => { + return typeof value === 'string' && /^[0-9a-fA-F]{24}$/.test(value) +} + +const formatValue = (value, propertyName) => { + if (value === null || value === undefined || value === '') { + return n/a + } + + // Handle colors specifically + if (propertyName === 'color') { + return + } + + if (propertyName === 'state' && typeof value === 'object' && value.type) { + return ( + {value.type.charAt(0).toUpperCase() + value.type.slice(1)} + ) + } + + // Check if the value is a timestamp (ISO date string) + if ( + typeof value === 'string' && + /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(value) + ) { + return + } + + if (typeof value === 'boolean' || value === true || value === false) { + return ( + + {value ? 'Yes' : 'No'} + + ) + } + + if (isObjectId(value)) { + return ( + + ) + } + + if (typeof value === 'object') { + return {JSON.stringify(value)} + } + + return {value} +} + +const AuditLogTable = forwardRef( + ({ items, loading, showTargetColumn, showOwnerColumn }, ref) => { + const [sortedInfo, setSortedInfo] = useState({ + columnKey: 'createdAt', + order: 'descend' + }) + + const handleChange = (pagination, filters, sorter) => { + setSortedInfo(sorter) + } + + const columns = [ + { + title: '', + key: 'icon', + width: 50, + render: () => + }, + { + title: 'ID', + dataIndex: '_id', + key: 'id', + width: 180, + render: (text) => , + sorter: (a, b) => a._id.localeCompare(b._id) + } + ] + + if (showOwnerColumn) { + columns.push( + { + title: 'Owner Name', + dataIndex: ['owner', 'name'], + key: 'name', + width: 200, + sorter: (a, b) => + (a.owner?.name || '').localeCompare(b.owner?.name || '') + }, + { + title: 'Owner', + key: 'owner', + width: 180, + render: (record) => ( + + ) + } + ) + } + + if (showTargetColumn) { + columns.push({ + title: 'Target', + key: 'target', + width: 180, + render: (record) => ( + + ) + }) + } + + columns.push({ + title: 'Properties', + dataIndex: 'type', + key: 'type', + width: 550, + render: (_, record) => { + const oldValue = record.oldValue || {} + const newValue = record.newValue || {} + + return ( + + {Object.keys(newValue).map((key) => ( + + + {formatValue(oldValue[key], key)} + → + {formatValue(newValue[key], key)} + + + ))} + + ) + } + }) + + columns.push({ + title: 'Timestamp', + dataIndex: 'createdAt', + key: 'createdAt', + width: 180, + defaultSortOrder: 'descend', + sorter: (a, b) => new Date(a.createdAt) - new Date(b.createdAt), + render: (createdAt) => { + if (createdAt) { + return + } else { + return 'n/a' + } + } + }) + + return ( +
}} + pagination={false} + scroll={{ x: 'max-content' }} + onChange={handleChange} + sortDirections={['ascend', 'descend']} + sortOrder={ + sortedInfo.columnKey === 'createdAt' ? sortedInfo.order : null + } + /> + ) + } +) + +AuditLogTable.displayName = 'AuditLogTable' + +AuditLogTable.propTypes = { + items: PropTypes.arrayOf(PropTypes.object).isRequired, + loading: PropTypes.bool, + showTargetColumn: PropTypes.bool, + showOwnerColumn: PropTypes.bool +} + +AuditLogTable.defaultProps = { + loading: false, + showTargetColumn: true, + showOwnerColumn: true +} + +export default AuditLogTable diff --git a/src/components/Dashboard/common/DashboardBreadcrumb.jsx b/src/components/Dashboard/common/DashboardBreadcrumb.jsx index 11c2a51..175e036 100644 --- a/src/components/Dashboard/common/DashboardBreadcrumb.jsx +++ b/src/components/Dashboard/common/DashboardBreadcrumb.jsx @@ -13,8 +13,8 @@ const breadcrumbNameMap = { '/dashboard/production/printers': 'Printers', '/dashboard/production/printers/control': 'Control', '/dashboard/production/printers/info': 'Info', - '/dashboard/production/printjobs': 'Print Jobs', - '/dashboard/production/printjobs/info': 'Info', + '/dashboard/production/jobs': 'Print Jobs', + '/dashboard/production/jobs/info': 'Info', '/dashboard/production/gcodefiles': 'G Code Files', '/dashboard/production/gcodefiles/info': 'Info', '/dashboard/management/filaments': 'Filaments', @@ -27,7 +27,10 @@ const breadcrumbNameMap = { '/dashboard/management/vendors/info': 'Info', '/dashboard/management/materials': 'Materials', '/dashboard/management/materials/info': 'Info', + '/dashboard/management/notetypes': 'Note Types', + '/dashboard/management/notetypes/info': 'Info', '/dashboard/management/settings': 'Settings', + '/dashboard/management/auditlogs': 'Audit Logs', '/dashboard/inventory/filamentstocks': 'Filament Stocks', '/dashboard/inventory/filamentstocks/info': 'Info', '/dashboard/inventory/partstocks': 'Part Stocks', @@ -70,7 +73,7 @@ const DashboardBreadcrumb = () => { }) return ( - + + + +